@ionic/core 8.7.13-dev.11765925297.1bb45463 → 8.7.13-dev.11766069240.1ab3dde2

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 (953) 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 +4 -57
  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 +19 -112
  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 -349
  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 +6 -96
  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/components/validity.js +1 -32
  116. package/css/core.css +1 -1
  117. package/css/core.css.map +1 -1
  118. package/css/display.css +1 -1
  119. package/css/display.css.map +1 -1
  120. package/css/flex-utils.css +1 -1
  121. package/css/flex-utils.css.map +1 -1
  122. package/css/float-elements.css.map +1 -1
  123. package/css/global.bundle.css.map +1 -1
  124. package/css/ionic-swiper.css +1 -1
  125. package/css/ionic-swiper.css.map +1 -1
  126. package/css/ionic.bundle.css +1 -1
  127. package/css/ionic.bundle.css.map +1 -1
  128. package/css/normalize.css.map +1 -1
  129. package/css/padding.css.map +1 -1
  130. package/css/palettes/dark.always.css.map +1 -1
  131. package/css/palettes/dark.class.css.map +1 -1
  132. package/css/palettes/dark.system.css.map +1 -1
  133. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  134. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  135. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  136. package/css/palettes/high-contrast.always.css.map +1 -1
  137. package/css/palettes/high-contrast.class.css.map +1 -1
  138. package/css/palettes/high-contrast.system.css.map +1 -1
  139. package/css/structure.css.map +1 -1
  140. package/css/text-alignment.css.map +1 -1
  141. package/css/text-transformation.css.map +1 -1
  142. package/css/typography.css.map +1 -1
  143. package/css/utils.bundle.css +1 -1
  144. package/css/utils.bundle.css.map +1 -1
  145. package/dist/cjs/{animation-BBT4oe7B.js → animation-Bt3H9L1C.js} +3 -3
  146. package/dist/cjs/{app-globals-DjZzKNoV.js → app-globals-Ciccnk9_.js} +1 -1
  147. package/dist/cjs/{button-active-DQ3Dd_Zw.js → button-active-CMc8cD90.js} +2 -2
  148. package/dist/cjs/{capacitor-G2rS2zAS.js → capacitor-DmA66EwP.js} +3 -3
  149. package/dist/cjs/{config-CPCkFfH2.js → config-C5fsO43a.js} +1 -1
  150. package/dist/cjs/{data-BpYscHnl.js → data-JwZKaIQB.js} +6 -6
  151. package/dist/{esm/focus-visible-vXpMhGrs.js → cjs/focus-visible-CCvKiLh3.js} +3 -23
  152. package/dist/cjs/{framework-delegate-C7fZ8bup.js → framework-delegate-DMJRBuDi.js} +2 -4
  153. package/dist/cjs/{haptic-CYXFB5MG.js → haptic-ClPPQ_PS.js} +1 -1
  154. package/dist/cjs/hardware-back-button-VCK4V3mG.js +121 -0
  155. package/dist/cjs/{helpers-DF1tCuxf.js → helpers-DrTqNghc.js} +4 -57
  156. package/dist/cjs/{index-BIUQBJ4M.js → index-094mMFB-.js} +4 -4
  157. package/dist/cjs/{index-h_4y8nIV.js → index-C534ULug.js} +8 -9
  158. package/dist/cjs/{index-C2sRwpb7.js → index-CO6eryBo.js} +2 -2
  159. package/dist/cjs/{index-DjlJwy91.js → index-D6Wc6v08.js} +4 -41
  160. package/dist/cjs/index-DkNv4J_i.js +10 -0
  161. package/dist/cjs/{index-BsTUIYWV.js → index-DrMUZJj6.js} +15 -15
  162. package/dist/cjs/index.cjs.js +13 -12
  163. package/dist/cjs/{input-shims-co__iqWN.js → input-shims-CW0KUFTQ.js} +17 -18
  164. package/dist/cjs/{input.utils-DyXMjrIY.js → input.utils-B_QROI2g.js} +5 -5
  165. package/dist/cjs/ion-accordion_2.cjs.entry.js +27 -56
  166. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -24
  167. package/dist/cjs/ion-alert.cjs.entry.js +22 -24
  168. package/dist/cjs/ion-app_8.cjs.entry.js +151 -250
  169. package/dist/cjs/ion-avatar_3.cjs.entry.js +12 -124
  170. package/dist/cjs/ion-back-button.cjs.entry.js +20 -29
  171. package/dist/cjs/ion-backdrop.cjs.entry.js +7 -10
  172. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +16 -52
  173. package/dist/cjs/ion-button_2.cjs.entry.js +12 -44
  174. package/dist/cjs/ion-card_5.cjs.entry.js +30 -54
  175. package/dist/cjs/ion-checkbox.cjs.entry.js +15 -33
  176. package/dist/cjs/ion-chip.cjs.entry.js +8 -49
  177. package/dist/cjs/ion-col_3.cjs.entry.js +57 -54
  178. package/dist/cjs/ion-datetime-button.cjs.entry.js +8 -12
  179. package/dist/cjs/ion-datetime_3.cjs.entry.js +39 -114
  180. package/dist/cjs/ion-fab_3.cjs.entry.js +26 -42
  181. package/dist/cjs/ion-img.cjs.entry.js +4 -8
  182. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +16 -91
  183. package/dist/cjs/ion-input-otp.cjs.entry.js +8 -12
  184. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +13 -51
  185. package/dist/cjs/ion-input.cjs.entry.js +32 -122
  186. package/dist/cjs/ion-item-option_3.cjs.entry.js +20 -49
  187. package/dist/cjs/ion-item_8.cjs.entry.js +47 -114
  188. package/dist/cjs/ion-loading.cjs.entry.js +17 -19
  189. package/dist/cjs/ion-menu_3.cjs.entry.js +27 -45
  190. package/dist/cjs/ion-modal.cjs.entry.js +69 -96
  191. package/dist/cjs/ion-nav_2.cjs.entry.js +11 -14
  192. package/dist/cjs/ion-picker-column-option.cjs.entry.js +7 -11
  193. package/dist/cjs/ion-picker-column.cjs.entry.js +13 -13
  194. package/dist/cjs/ion-picker.cjs.entry.js +6 -10
  195. package/dist/cjs/ion-popover.cjs.entry.js +17 -19
  196. package/dist/cjs/ion-progress-bar.cjs.entry.js +8 -26
  197. package/dist/cjs/ion-radio_2.cjs.entry.js +16 -26
  198. package/dist/cjs/ion-range.cjs.entry.js +11 -15
  199. package/dist/cjs/ion-refresher_2.cjs.entry.js +20 -38
  200. package/dist/cjs/ion-reorder_2.cjs.entry.js +13 -37
  201. package/dist/cjs/ion-ripple-effect.cjs.entry.js +7 -15
  202. package/dist/cjs/ion-route_4.cjs.entry.js +8 -9
  203. package/dist/cjs/ion-searchbar.cjs.entry.js +22 -135
  204. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  205. package/dist/cjs/ion-segment-view.cjs.entry.js +3 -6
  206. package/dist/cjs/ion-segment_2.cjs.entry.js +15 -22
  207. package/dist/cjs/ion-select-modal.cjs.entry.js +10 -16
  208. package/dist/cjs/ion-select_3.cjs.entry.js +40 -131
  209. package/dist/cjs/ion-spinner.cjs.entry.js +7 -29
  210. package/dist/cjs/ion-split-pane.cjs.entry.js +9 -12
  211. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +22 -76
  212. package/dist/cjs/ion-tab_2.cjs.entry.js +7 -8
  213. package/dist/cjs/ion-text.cjs.entry.js +6 -6
  214. package/dist/cjs/ion-textarea.cjs.entry.js +22 -117
  215. package/dist/cjs/ion-toast.cjs.entry.js +44 -67
  216. package/dist/cjs/ion-toggle.cjs.entry.js +23 -80
  217. package/dist/cjs/ionic-global-HMVqOFGO.js +151 -0
  218. package/dist/cjs/ionic.cjs.js +4 -4
  219. package/dist/cjs/{ios.transition-cjE5173V.js → ios.transition-BOt_uW73.js} +5 -7
  220. package/dist/cjs/{keyboard-BiIvvomq.js → keyboard-UuAS4D_9.js} +1 -1
  221. package/dist/cjs/{keyboard-controller-5GsVQphE.js → keyboard-controller-GXBiBRKS.js} +9 -11
  222. package/dist/cjs/{keyboard-Dxl3DPOc.js → keyboard-hHzlEQpk.js} +3 -4
  223. package/dist/cjs/loader.cjs.js +4 -4
  224. package/dist/cjs/{md.transition-ChCLDEkm.js → md.transition-Dt968VXB.js} +5 -6
  225. package/dist/cjs/{notch-controller-BGNMnptF.js → notch-controller-Bzqhjm4f.js} +4 -4
  226. package/dist/cjs/{overlays-DPjo0yW3.js → overlays--dagG4QM.js} +12 -102
  227. package/dist/cjs/{status-tap-BLw3gi_z.js → status-tap-g0sWWkXk.js} +3 -4
  228. package/dist/cjs/{swipe-back-BD2lWufH.js → swipe-back-BIayeNOD.js} +2 -3
  229. package/dist/cjs/validity-BpS37YFM.js +19 -0
  230. package/dist/collection/collection-manifest.json +0 -1
  231. package/dist/collection/components/accordion/accordion.ios.css +58 -73
  232. package/dist/collection/components/accordion/accordion.js +26 -36
  233. package/dist/collection/components/accordion/accordion.md.css +59 -67
  234. package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
  235. package/dist/collection/components/accordion-group/accordion-group.js +8 -44
  236. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
  237. package/dist/collection/components/action-sheet/action-sheet.ios.css +6 -18
  238. package/dist/collection/components/action-sheet/action-sheet.js +13 -17
  239. package/dist/collection/components/action-sheet/action-sheet.md.css +5 -17
  240. package/dist/collection/components/alert/alert.ios.css +1 -19
  241. package/dist/collection/components/alert/alert.js +13 -16
  242. package/dist/collection/components/alert/alert.md.css +1 -19
  243. package/dist/collection/components/app/app.js +78 -15
  244. package/dist/collection/components/avatar/avatar.ios.css +33 -7
  245. package/dist/collection/components/avatar/avatar.js +4 -120
  246. package/dist/collection/components/avatar/avatar.md.css +0 -51
  247. package/dist/collection/components/back-button/back-button.ios.css +48 -60
  248. package/dist/collection/components/back-button/back-button.js +19 -27
  249. package/dist/collection/components/back-button/back-button.md.css +48 -60
  250. package/dist/collection/components/backdrop/backdrop.ios.css +19 -56
  251. package/dist/collection/components/backdrop/backdrop.js +6 -12
  252. package/dist/collection/components/backdrop/backdrop.md.css +19 -56
  253. package/dist/collection/components/badge/badge.ios.css +12 -139
  254. package/dist/collection/components/badge/badge.js +9 -145
  255. package/dist/collection/components/badge/badge.md.css +12 -123
  256. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
  257. package/dist/collection/components/breadcrumb/breadcrumb.js +11 -43
  258. package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
  259. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
  260. package/dist/collection/components/breadcrumbs/breadcrumbs.js +9 -11
  261. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
  262. package/dist/collection/components/button/button.ios.css +46 -135
  263. package/dist/collection/components/button/button.js +17 -48
  264. package/dist/collection/components/button/button.md.css +50 -126
  265. package/dist/collection/components/buttons/buttons.ios.css +7 -59
  266. package/dist/collection/components/buttons/buttons.js +9 -15
  267. package/dist/collection/components/buttons/buttons.md.css +3 -55
  268. package/dist/collection/components/card/card.ios.css +14 -65
  269. package/dist/collection/components/card/card.js +10 -41
  270. package/dist/collection/components/card/card.md.css +14 -65
  271. package/dist/collection/components/card-content/card-content.ios.css +1 -16
  272. package/dist/collection/components/card-content/card-content.js +8 -11
  273. package/dist/collection/components/card-content/card-content.md.css +1 -16
  274. package/dist/collection/components/card-header/card-header.ios.css +15 -27
  275. package/dist/collection/components/card-header/card-header.js +10 -13
  276. package/dist/collection/components/card-header/card-header.md.css +15 -27
  277. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
  278. package/dist/collection/components/card-subtitle/card-subtitle.js +8 -11
  279. package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
  280. package/dist/collection/components/card-title/card-title.ios.css +0 -73
  281. package/dist/collection/components/card-title/card-title.js +8 -11
  282. package/dist/collection/components/card-title/card-title.md.css +0 -73
  283. package/dist/collection/components/checkbox/checkbox.ios.css +101 -161
  284. package/dist/collection/components/checkbox/checkbox.js +14 -70
  285. package/dist/collection/components/checkbox/checkbox.md.css +102 -162
  286. package/dist/collection/components/chip/chip.ios.css +14 -67
  287. package/dist/collection/components/chip/chip.js +8 -108
  288. package/dist/collection/components/chip/chip.md.css +14 -67
  289. package/dist/collection/components/col/col.css +4 -192
  290. package/dist/collection/components/col/col.js +61 -210
  291. package/dist/collection/components/content/content.css +2 -8
  292. package/dist/collection/components/content/content.js +11 -16
  293. package/dist/collection/components/datetime/datetime.ios.css +96 -258
  294. package/dist/collection/components/datetime/datetime.js +20 -98
  295. package/dist/collection/components/datetime/datetime.md.css +96 -258
  296. package/dist/collection/components/datetime/utils/data.js +5 -5
  297. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -6
  298. package/dist/collection/components/datetime-button/datetime-button.js +8 -11
  299. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -6
  300. package/dist/collection/components/fab/fab.css +1 -25
  301. package/dist/collection/components/fab/fab.js +5 -9
  302. package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
  303. package/dist/collection/components/fab-button/fab-button.js +21 -36
  304. package/dist/collection/components/fab-button/fab-button.md.css +8 -20
  305. package/dist/collection/components/fab-list/fab-list.css +0 -12
  306. package/dist/collection/components/fab-list/fab-list.js +5 -9
  307. package/dist/collection/components/footer/footer.ios.css +2 -14
  308. package/dist/collection/components/footer/footer.js +16 -21
  309. package/dist/collection/components/footer/footer.md.css +0 -12
  310. package/dist/collection/components/grid/grid.css +0 -12
  311. package/dist/collection/components/grid/grid.js +5 -9
  312. package/dist/collection/components/header/header.ios.css +10 -25
  313. package/dist/collection/components/header/header.js +19 -50
  314. package/dist/collection/components/header/header.md.css +8 -23
  315. package/dist/collection/components/header/header.utils.js +5 -5
  316. package/dist/collection/components/img/img.js +2 -8
  317. package/dist/collection/components/infinite-scroll/infinite-scroll.js +5 -100
  318. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
  319. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +10 -16
  320. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
  321. package/dist/collection/components/input/input.ios.css +140 -223
  322. package/dist/collection/components/input/input.js +38 -149
  323. package/dist/collection/components/input/input.md.css +212 -193
  324. package/dist/collection/components/input-otp/input-otp.ios.css +60 -102
  325. package/dist/collection/components/input-otp/input-otp.js +5 -7
  326. package/dist/collection/components/input-otp/input-otp.md.css +60 -102
  327. package/dist/collection/components/input-password-toggle/input-password-toggle.js +12 -48
  328. package/dist/collection/components/item/item.ios.css +69 -109
  329. package/dist/collection/components/item/item.js +20 -51
  330. package/dist/collection/components/item/item.md.css +68 -120
  331. package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
  332. package/dist/collection/components/item-divider/item-divider.js +8 -11
  333. package/dist/collection/components/item-divider/item-divider.md.css +0 -18
  334. package/dist/collection/components/item-group/item-group.ios.css +0 -12
  335. package/dist/collection/components/item-group/item-group.js +7 -13
  336. package/dist/collection/components/item-group/item-group.md.css +0 -12
  337. package/dist/collection/components/item-option/item-option.ios.css +29 -136
  338. package/dist/collection/components/item-option/item-option.js +9 -73
  339. package/dist/collection/components/item-option/item-option.md.css +29 -136
  340. package/dist/collection/components/item-options/item-options.ios.css +34 -77
  341. package/dist/collection/components/item-options/item-options.js +7 -13
  342. package/dist/collection/components/item-options/item-options.md.css +34 -77
  343. package/dist/collection/components/item-sliding/item-sliding.css +0 -6
  344. package/dist/collection/components/item-sliding/item-sliding.js +4 -8
  345. package/dist/collection/components/label/label.ios.css +0 -18
  346. package/dist/collection/components/label/label.js +8 -11
  347. package/dist/collection/components/label/label.md.css +0 -18
  348. package/dist/collection/components/list/list.ios.css +14 -54
  349. package/dist/collection/components/list/list.js +9 -48
  350. package/dist/collection/components/list/list.md.css +16 -56
  351. package/dist/collection/components/list-header/list-header.ios.css +38 -82
  352. package/dist/collection/components/list-header/list-header.js +8 -11
  353. package/dist/collection/components/list-header/list-header.md.css +38 -82
  354. package/dist/collection/components/loading/loading.ios.css +1 -13
  355. package/dist/collection/components/loading/loading.js +11 -14
  356. package/dist/collection/components/loading/loading.md.css +1 -13
  357. package/dist/collection/components/menu/menu.ios.css +3 -15
  358. package/dist/collection/components/menu/menu.js +7 -12
  359. package/dist/collection/components/menu/menu.md.css +3 -15
  360. package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
  361. package/dist/collection/components/menu-button/menu-button.js +10 -26
  362. package/dist/collection/components/menu-button/menu-button.md.css +15 -49
  363. package/dist/collection/components/menu-toggle/menu-toggle.js +5 -8
  364. package/dist/collection/components/modal/animations/sheet.js +2 -8
  365. package/dist/collection/components/modal/gestures/sheet.js +6 -10
  366. package/dist/collection/components/modal/modal.ios.css +70 -174
  367. package/dist/collection/components/modal/modal.js +11 -48
  368. package/dist/collection/components/modal/modal.md.css +70 -174
  369. package/dist/collection/components/nav/nav.css +1 -7
  370. package/dist/collection/components/nav/nav.js +5 -11
  371. package/dist/collection/components/nav-link/nav-link.js +1 -5
  372. package/dist/collection/components/note/note.ios.css +0 -12
  373. package/dist/collection/components/note/note.js +8 -11
  374. package/dist/collection/components/note/note.md.css +0 -12
  375. package/dist/collection/components/picker/picker.ios.css +3 -15
  376. package/dist/collection/components/picker/picker.js +5 -8
  377. package/dist/collection/components/picker/picker.md.css +3 -15
  378. package/dist/collection/components/picker-column/picker-column.css +2 -9
  379. package/dist/collection/components/picker-column/picker-column.js +7 -8
  380. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
  381. package/dist/collection/components/picker-column-option/picker-column-option.js +7 -13
  382. package/dist/collection/components/picker-column-option/picker-column-option.md.css +0 -6
  383. package/dist/collection/components/picker-legacy/picker.ios.css +1 -13
  384. package/dist/collection/components/picker-legacy/picker.js +6 -7
  385. package/dist/collection/components/picker-legacy/picker.md.css +1 -13
  386. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -12
  387. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  388. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -12
  389. package/dist/collection/components/popover/popover.ios.css +1 -13
  390. package/dist/collection/components/popover/popover.js +14 -17
  391. package/dist/collection/components/popover/popover.md.css +1 -13
  392. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
  393. package/dist/collection/components/progress-bar/progress-bar.js +7 -43
  394. package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
  395. package/dist/collection/components/radio/radio.ios.css +91 -134
  396. package/dist/collection/components/radio/radio.js +9 -12
  397. package/dist/collection/components/radio/radio.md.css +91 -134
  398. package/dist/collection/components/radio-group/radio-group.ios.css +23 -43
  399. package/dist/collection/components/radio-group/radio-group.js +6 -21
  400. package/dist/collection/components/radio-group/radio-group.md.css +23 -43
  401. package/dist/collection/components/range/range.ios.css +85 -128
  402. package/dist/collection/components/range/range.js +9 -12
  403. package/dist/collection/components/range/range.md.css +85 -128
  404. package/dist/collection/components/refresher/refresher.ios.css +1 -14
  405. package/dist/collection/components/refresher/refresher.js +8 -11
  406. package/dist/collection/components/refresher/refresher.md.css +2 -15
  407. package/dist/collection/components/refresher-content/refresher-content.js +7 -28
  408. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  409. package/dist/collection/components/reorder/reorder.js +6 -33
  410. package/dist/collection/components/reorder/reorder.md.css +0 -6
  411. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  412. package/dist/collection/components/reorder-group/reorder-group.js +4 -8
  413. package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
  414. package/dist/collection/components/ripple-effect/ripple-effect.js +6 -14
  415. package/dist/collection/components/route/route.js +0 -4
  416. package/dist/collection/components/router/router.js +0 -4
  417. package/dist/collection/components/router-link/router-link.css +2 -8
  418. package/dist/collection/components/router-link/router-link.js +5 -9
  419. package/dist/collection/components/router-outlet/router-outlet.css +1 -7
  420. package/dist/collection/components/router-outlet/router-outlet.js +3 -6
  421. package/dist/collection/components/row/row.css +0 -16
  422. package/dist/collection/components/row/row.js +2 -9
  423. package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
  424. package/dist/collection/components/searchbar/searchbar.js +34 -181
  425. package/dist/collection/components/searchbar/searchbar.md.css +18 -56
  426. package/dist/collection/components/segment/segment.ios.css +2 -45
  427. package/dist/collection/components/segment/segment.js +8 -11
  428. package/dist/collection/components/segment/segment.md.css +2 -45
  429. package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
  430. package/dist/collection/components/segment-button/segment-button.js +8 -11
  431. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  432. package/dist/collection/components/segment-content/segment-content.js +1 -1
  433. package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
  434. package/dist/collection/components/segment-view/segment-view.js +4 -6
  435. package/dist/collection/components/segment-view/segment-view.md.css +0 -6
  436. package/dist/collection/components/select/select.ios.css +176 -315
  437. package/dist/collection/components/select/select.js +53 -156
  438. package/dist/collection/components/select/select.md.css +178 -331
  439. package/dist/collection/components/select-modal/select-modal.ios.css +0 -18
  440. package/dist/collection/components/select-modal/select-modal.js +4 -11
  441. package/dist/collection/components/select-modal/select-modal.md.css +3 -7
  442. package/dist/collection/components/select-option/select-option.js +2 -9
  443. package/dist/collection/components/select-popover/select-popover.ios.css +0 -18
  444. package/dist/collection/components/select-popover/select-popover.js +4 -12
  445. package/dist/collection/components/select-popover/select-popover.md.css +0 -18
  446. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  447. package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
  448. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -77
  449. package/dist/collection/components/spinner/spinner.js +6 -47
  450. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  451. package/dist/collection/components/split-pane/split-pane.js +8 -14
  452. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  453. package/dist/collection/components/tab/tab.js +2 -6
  454. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -71
  455. package/dist/collection/components/tab-bar/tab-bar.js +11 -78
  456. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -71
  457. package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
  458. package/dist/collection/components/tab-button/tab-button.js +9 -54
  459. package/dist/collection/components/tab-button/tab-button.md.css +93 -137
  460. package/dist/collection/components/tabs/tabs.css +1 -7
  461. package/dist/collection/components/tabs/tabs.js +1 -4
  462. package/dist/collection/components/text/text.css +0 -6
  463. package/dist/collection/components/text/text.js +6 -7
  464. package/dist/collection/components/textarea/textarea.ios.css +142 -283
  465. package/dist/collection/components/textarea/textarea.js +24 -146
  466. package/dist/collection/components/textarea/textarea.md.css +143 -297
  467. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  468. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  469. package/dist/collection/components/title/title.ios.css +4 -32
  470. package/dist/collection/components/title/title.js +7 -13
  471. package/dist/collection/components/title/title.md.css +4 -32
  472. package/dist/collection/components/toast/animations/utils.js +1 -1
  473. package/dist/collection/components/toast/toast.ios.css +45 -84
  474. package/dist/collection/components/toast/toast.js +12 -75
  475. package/dist/collection/components/toast/toast.md.css +45 -84
  476. package/dist/collection/components/toggle/toggle.ios.css +131 -247
  477. package/dist/collection/components/toggle/toggle.js +18 -73
  478. package/dist/collection/components/toggle/toggle.md.css +131 -244
  479. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  480. package/dist/collection/components/toolbar/toolbar.js +13 -157
  481. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  482. package/dist/collection/global/ionic-global.js +13 -228
  483. package/dist/collection/utils/focus-trap.js +2 -13
  484. package/dist/collection/utils/focus-visible.js +0 -22
  485. package/dist/collection/utils/forms/validity.js +0 -31
  486. package/dist/collection/utils/framework-delegate.js +1 -3
  487. package/dist/collection/utils/helpers.js +3 -57
  488. package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
  489. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  490. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  491. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  492. package/dist/collection/utils/overlays.js +1 -82
  493. package/dist/collection/utils/test/playwright/generator.js +23 -48
  494. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
  495. package/dist/collection/utils/test/playwright/page/utils/set-content.js +3 -26
  496. package/dist/collection/utils/transition/ios.transition.js +0 -1
  497. package/dist/docs.json +377 -8263
  498. package/dist/esm/{animation-DR5OwIG7.js → animation-Dt8bGnA-.js} +2 -2
  499. package/dist/esm/{app-globals-tUwaabUU.js → app-globals-BDSf8fOA.js} +1 -1
  500. package/dist/esm/{button-active-CegK1Ga3.js → button-active-L570Swow.js} +2 -2
  501. package/dist/esm/{capacitor-Ap5mZl6I.js → capacitor-CFERIeaU.js} +1 -1
  502. package/dist/esm/{config-DK9FWNvn.js → config-mCdtaoPe.js} +1 -1
  503. package/dist/esm/{data-B5lRlGxI.js → data-DCORV9FH.js} +6 -6
  504. package/dist/{cjs/focus-visible-BIj-I3-C.js → esm/focus-visible-BmVRXR1y.js} +1 -27
  505. package/dist/esm/{framework-delegate-Dx6tn-_w.js → framework-delegate-BYawdMXj.js} +2 -4
  506. package/dist/esm/{haptic-hXtWLcs-.js → haptic-DzAMWJuk.js} +1 -1
  507. package/dist/esm/hardware-back-button-CPLxO-Ev.js +115 -0
  508. package/dist/esm/{helpers-6l6yFg3S.js → helpers-DEn3pfjm.js} +4 -57
  509. package/dist/esm/{index-CXCvNx5X.js → index-Bs3kT4bc.js} +2 -2
  510. package/dist/esm/{index-gD7P82jx.js → index-C8IsBmNU.js} +4 -41
  511. package/dist/esm/{index-CH4BJAR9.js → index-CvDIirVx.js} +11 -11
  512. package/dist/esm/{index-COG0_eom.js → index-DV3sJJW8.js} +1 -1
  513. package/dist/esm/index-ZjP4CjeZ.js +7 -0
  514. package/dist/esm/{index-CAS79tvr.js → index-ceb5RaMT.js} +3 -4
  515. package/dist/esm/{index-BVnPBHWX.js → index-r2D9DEro.js} +4 -4
  516. package/dist/esm/index.js +13 -12
  517. package/dist/esm/{input-shims-DFQmNfaZ.js → input-shims-DyOpfTg6.js} +6 -7
  518. package/dist/esm/{input.utils-85zOntcN.js → input.utils-DrvTa8gz.js} +3 -3
  519. package/dist/esm/ion-accordion_2.entry.js +28 -57
  520. package/dist/esm/ion-action-sheet.entry.js +21 -24
  521. package/dist/esm/ion-alert.entry.js +22 -24
  522. package/dist/esm/ion-app_8.entry.js +151 -250
  523. package/dist/esm/ion-avatar_3.entry.js +13 -125
  524. package/dist/esm/ion-back-button.entry.js +21 -30
  525. package/dist/esm/ion-backdrop.entry.js +7 -10
  526. package/dist/esm/ion-breadcrumb_2.entry.js +17 -53
  527. package/dist/esm/ion-button_2.entry.js +12 -44
  528. package/dist/esm/ion-card_5.entry.js +30 -54
  529. package/dist/esm/ion-checkbox.entry.js +15 -33
  530. package/dist/esm/ion-chip.entry.js +8 -49
  531. package/dist/esm/ion-col_3.entry.js +57 -54
  532. package/dist/esm/ion-datetime-button.entry.js +8 -12
  533. package/dist/esm/ion-datetime_3.entry.js +40 -115
  534. package/dist/esm/ion-fab_3.entry.js +27 -43
  535. package/dist/esm/ion-img.entry.js +4 -8
  536. package/dist/esm/ion-infinite-scroll_2.entry.js +16 -91
  537. package/dist/esm/ion-input-otp.entry.js +8 -12
  538. package/dist/esm/ion-input-password-toggle.entry.js +14 -52
  539. package/dist/esm/ion-input.entry.js +33 -123
  540. package/dist/esm/ion-item-option_3.entry.js +20 -49
  541. package/dist/esm/ion-item_8.entry.js +48 -115
  542. package/dist/esm/ion-loading.entry.js +17 -19
  543. package/dist/esm/ion-menu_3.entry.js +28 -46
  544. package/dist/esm/ion-modal.entry.js +30 -57
  545. package/dist/esm/ion-nav_2.entry.js +11 -14
  546. package/dist/esm/ion-picker-column-option.entry.js +7 -11
  547. package/dist/esm/ion-picker-column.entry.js +12 -12
  548. package/dist/esm/ion-picker.entry.js +6 -10
  549. package/dist/esm/ion-popover.entry.js +17 -19
  550. package/dist/esm/ion-progress-bar.entry.js +8 -26
  551. package/dist/esm/ion-radio_2.entry.js +16 -26
  552. package/dist/esm/ion-range.entry.js +11 -15
  553. package/dist/esm/ion-refresher_2.entry.js +21 -39
  554. package/dist/esm/ion-reorder_2.entry.js +14 -38
  555. package/dist/esm/ion-ripple-effect.entry.js +7 -15
  556. package/dist/esm/ion-route_4.entry.js +8 -9
  557. package/dist/esm/ion-searchbar.entry.js +24 -137
  558. package/dist/esm/ion-segment-content.entry.js +2 -2
  559. package/dist/esm/ion-segment-view.entry.js +3 -6
  560. package/dist/esm/ion-segment_2.entry.js +15 -22
  561. package/dist/esm/ion-select-modal.entry.js +11 -17
  562. package/dist/esm/ion-select_3.entry.js +41 -132
  563. package/dist/esm/ion-spinner.entry.js +7 -29
  564. package/dist/esm/ion-split-pane.entry.js +9 -12
  565. package/dist/esm/ion-tab-bar_2.entry.js +22 -76
  566. package/dist/esm/ion-tab_2.entry.js +7 -8
  567. package/dist/esm/ion-text.entry.js +6 -6
  568. package/dist/esm/ion-textarea.entry.js +22 -117
  569. package/dist/esm/ion-toast.entry.js +19 -42
  570. package/dist/esm/ion-toggle.entry.js +24 -81
  571. package/dist/esm/ionic-global-CDrldh-5.js +146 -0
  572. package/dist/esm/ionic.js +5 -5
  573. package/dist/esm/{ios.transition-mZDQgHke.js → ios.transition-BDzw0_Hm.js} +5 -7
  574. package/dist/esm/{keyboard-NoPSnHZy.js → keyboard-CUw4ekVy.js} +1 -1
  575. package/dist/esm/{keyboard-controller-D5zoL0pZ.js → keyboard-controller-BaaVITYt.js} +3 -5
  576. package/dist/esm/{keyboard-BBx8cd5K.js → keyboard-ywgs5efA.js} +3 -4
  577. package/dist/esm/loader.js +5 -5
  578. package/dist/esm/{md.transition-DOqTLNQU.js → md.transition-BzDYi3qq.js} +5 -6
  579. package/dist/esm/{notch-controller-C7UVCCo4.js → notch-controller-BwelN_JM.js} +2 -2
  580. package/dist/esm/{overlays-DvZf7QU-.js → overlays-DCabi1dI.js} +9 -99
  581. package/dist/esm/{status-tap-BAJGCN-1.js → status-tap-5DQ7Fc4V.js} +3 -4
  582. package/dist/esm/{swipe-back-bZ7qcCmT.js → swipe-back-BKw2CAHc.js} +2 -3
  583. package/dist/esm/validity-DJztqcrH.js +17 -0
  584. package/dist/html.html-data.json +214 -2520
  585. package/dist/ionic/index.esm.js +1 -1
  586. package/dist/ionic/ionic.esm.js +1 -1
  587. package/dist/ionic/p-020af078.entry.js +4 -0
  588. package/dist/ionic/p-074839fc.entry.js +4 -0
  589. package/dist/ionic/p-07753df3.entry.js +4 -0
  590. package/dist/ionic/p-0abeb0fc.entry.js +4 -0
  591. package/dist/ionic/p-0bf76d0f.entry.js +4 -0
  592. package/dist/ionic/p-0dfa5a37.entry.js +4 -0
  593. package/dist/ionic/p-11518b31.entry.js +4 -0
  594. package/dist/ionic/p-1647c46c.entry.js +4 -0
  595. package/dist/ionic/p-2a939845.entry.js +4 -0
  596. package/dist/ionic/p-316c0420.entry.js +4 -0
  597. package/dist/ionic/p-31f7095f.entry.js +4 -0
  598. package/dist/ionic/p-370e4237.entry.js +4 -0
  599. package/dist/ionic/p-3a6caca9.entry.js +4 -0
  600. package/dist/ionic/p-40c261a3.entry.js +4 -0
  601. package/dist/ionic/p-43ed1ef5.entry.js +4 -0
  602. package/dist/ionic/p-46d74291.entry.js +4 -0
  603. package/dist/ionic/p-49d06882.entry.js +4 -0
  604. package/dist/ionic/p-4b658a7c.entry.js +4 -0
  605. package/dist/ionic/p-4e41ea20.entry.js +4 -0
  606. package/dist/ionic/p-51a60e0f.entry.js +4 -0
  607. package/dist/ionic/p-576e0965.entry.js +4 -0
  608. package/dist/ionic/p-582824c5.entry.js +4 -0
  609. package/dist/ionic/p-6241ce47.entry.js +4 -0
  610. package/dist/ionic/p-639dd543.entry.js +4 -0
  611. package/dist/ionic/p-6444c606.entry.js +4 -0
  612. package/dist/ionic/p-675b1a31.entry.js +4 -0
  613. package/dist/ionic/p-6d070558.entry.js +4 -0
  614. package/dist/ionic/p-7268efa5.entry.js +4 -0
  615. package/dist/ionic/p-72c38b88.entry.js +4 -0
  616. package/dist/ionic/p-75ae4733.entry.js +4 -0
  617. package/dist/ionic/p-79bd78f9.entry.js +4 -0
  618. package/dist/ionic/p-86f53961.entry.js +4 -0
  619. package/dist/ionic/p-94de5cfa.entry.js +4 -0
  620. package/dist/ionic/p-9575b654.entry.js +4 -0
  621. package/dist/ionic/p-9eeaBrnk.js +4 -0
  622. package/dist/ionic/p-B0q1YL7N.js +4 -0
  623. package/dist/ionic/p-BFvmZNyx.js +4 -0
  624. package/dist/ionic/p-BKc55Xev.js +4 -0
  625. package/dist/ionic/p-BOVrCkpJ.js +4 -0
  626. package/dist/ionic/{p-BsbREiiN.js → p-BYEqWnSg.js} +1 -1
  627. package/dist/ionic/p-BmVRXR1y.js +4 -0
  628. package/dist/ionic/p-Bmgaetn_.js +4 -0
  629. package/dist/ionic/p-C6F4hat2.js +4 -0
  630. package/dist/ionic/p-C7hRNDhM.js +4 -0
  631. package/dist/ionic/p-C8IsBmNU.js +5 -0
  632. package/dist/ionic/p-CIGNaXM1.js +4 -0
  633. package/dist/ionic/{p-CH8-5k8b.js → p-CJxh_yLS.js} +1 -1
  634. package/dist/ionic/{p-qNBpc0Qq.js → p-CKvCXMs9.js} +1 -1
  635. package/dist/ionic/p-CTfR9YZG.js +4 -0
  636. package/dist/ionic/p-CtWGkNnJ.js +4 -0
  637. package/dist/ionic/{p-CYW7idR0.js → p-CwgG81ZD.js} +1 -1
  638. package/dist/ionic/p-D-eFFUkA.js +4 -0
  639. package/dist/ionic/{p-CDRncjej.js → p-D0dMcSkw.js} +1 -1
  640. package/dist/ionic/{p-DMo2WKG5.js → p-D13Eaw-8.js} +1 -1
  641. package/dist/ionic/p-DCv9sLH2.js +4 -0
  642. package/dist/ionic/p-DDb5r57F.js +4 -0
  643. package/dist/ionic/p-DJztqcrH.js +4 -0
  644. package/dist/ionic/p-DNcfiJwE.js +4 -0
  645. package/dist/ionic/p-DUt5fQmA.js +4 -0
  646. package/dist/ionic/{p-COG0_eom.js → p-DV3sJJW8.js} +1 -1
  647. package/dist/ionic/p-DZRJwG4S.js +4 -0
  648. package/dist/ionic/{p-Cv5jk_TK.js → p-DbQ5QkTP.js} +1 -1
  649. package/dist/ionic/{p-Bmh46Fz0.js → p-Dc45iWE4.js} +1 -1
  650. package/dist/ionic/p-QHYY4sjU.js +4 -0
  651. package/dist/ionic/p-ZjP4CjeZ.js +4 -0
  652. package/dist/ionic/p-a127bee2.entry.js +4 -0
  653. package/dist/ionic/p-a8ed848b.entry.js +4 -0
  654. package/dist/ionic/p-ac4eb91d.entry.js +4 -0
  655. package/dist/ionic/p-b0a7585c.entry.js +4 -0
  656. package/dist/ionic/p-b57c6d3e.entry.js +4 -0
  657. package/dist/ionic/p-c19f63d0.entry.js +4 -0
  658. package/dist/ionic/p-c85a2127.entry.js +4 -0
  659. package/dist/ionic/p-cc45bcbc.entry.js +4 -0
  660. package/dist/ionic/p-cebb0328.entry.js +4 -0
  661. package/dist/ionic/p-d0a2a1ab.entry.js +4 -0
  662. package/dist/ionic/p-d126e8d3.entry.js +4 -0
  663. package/dist/ionic/p-d1f54e28.entry.js +4 -0
  664. package/dist/ionic/p-d3014190.entry.js +4 -0
  665. package/dist/ionic/p-da7d04cc.entry.js +4 -0
  666. package/dist/ionic/p-dbbe606a.entry.js +4 -0
  667. package/dist/ionic/p-ea509e3c.entry.js +4 -0
  668. package/dist/ionic/p-ec654c42.entry.js +4 -0
  669. package/dist/ionic/p-f8f22cc0.entry.js +4 -0
  670. package/dist/types/components/accordion/accordion.d.ts +3 -5
  671. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
  672. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  673. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  674. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  675. package/dist/types/components/alert/alert.d.ts +2 -3
  676. package/dist/types/components/app/app.d.ts +2 -4
  677. package/dist/types/components/avatar/avatar.d.ts +0 -32
  678. package/dist/types/components/back-button/back-button.d.ts +1 -2
  679. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  680. package/dist/types/components/badge/badge.d.ts +1 -34
  681. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  682. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  683. package/dist/types/components/button/button.d.ts +6 -19
  684. package/dist/types/components/buttons/buttons.d.ts +1 -5
  685. package/dist/types/components/card/card.d.ts +1 -8
  686. package/dist/types/components/card-content/card-content.d.ts +1 -2
  687. package/dist/types/components/card-header/card-header.d.ts +2 -3
  688. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  689. package/dist/types/components/card-title/card-title.d.ts +1 -2
  690. package/dist/types/components/checkbox/checkbox.d.ts +4 -14
  691. package/dist/types/components/chip/chip.d.ts +1 -26
  692. package/dist/types/components/col/col.d.ts +5 -52
  693. package/dist/types/components/content/content.d.ts +0 -3
  694. package/dist/types/components/datetime/datetime.d.ts +1 -26
  695. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  696. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  697. package/dist/types/components/fab/fab.d.ts +0 -4
  698. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  699. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  700. package/dist/types/components/footer/footer.d.ts +3 -4
  701. package/dist/types/components/grid/grid.d.ts +0 -4
  702. package/dist/types/components/header/header.d.ts +3 -9
  703. package/dist/types/components/header/header.utils.d.ts +3 -3
  704. package/dist/types/components/img/img.d.ts +0 -3
  705. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -21
  706. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  707. package/dist/types/components/input/input.d.ts +5 -31
  708. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  709. package/dist/types/components/item/item.d.ts +4 -11
  710. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  711. package/dist/types/components/item-group/item-group.d.ts +0 -4
  712. package/dist/types/components/item-option/item-option.d.ts +1 -18
  713. package/dist/types/components/item-options/item-options.d.ts +0 -4
  714. package/dist/types/components/item-sliding/item-sliding.d.ts +0 -4
  715. package/dist/types/components/label/label.d.ts +1 -2
  716. package/dist/types/components/list/list.d.ts +1 -15
  717. package/dist/types/components/list-header/list-header.d.ts +1 -2
  718. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  719. package/dist/types/components/loading/loading.d.ts +2 -3
  720. package/dist/types/components/menu/menu.d.ts +0 -3
  721. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  722. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  723. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  724. package/dist/types/components/modal/modal-interface.d.ts +7 -4
  725. package/dist/types/components/modal/modal.d.ts +1 -11
  726. package/dist/types/components/nav/nav-interface.d.ts +1 -9
  727. package/dist/types/components/nav/nav.d.ts +1 -5
  728. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  729. package/dist/types/components/note/note.d.ts +1 -2
  730. package/dist/types/components/picker/picker.d.ts +1 -2
  731. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  732. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  733. package/dist/types/components/picker-legacy/picker.d.ts +1 -2
  734. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  735. package/dist/types/components/popover/popover.d.ts +5 -6
  736. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
  737. package/dist/types/components/radio/radio.d.ts +1 -2
  738. package/dist/types/components/radio-group/radio-group.d.ts +0 -8
  739. package/dist/types/components/range/range.d.ts +1 -2
  740. package/dist/types/components/refresher/refresher.d.ts +1 -2
  741. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  742. package/dist/types/components/reorder/reorder.d.ts +0 -9
  743. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  744. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  745. package/dist/types/components/route/route.d.ts +0 -4
  746. package/dist/types/components/router/router.d.ts +0 -4
  747. package/dist/types/components/router-link/router-link.d.ts +0 -4
  748. package/dist/types/components/router-outlet/router-outlet.d.ts +1 -4
  749. package/dist/types/components/row/row.d.ts +0 -4
  750. package/dist/types/components/searchbar/searchbar.d.ts +9 -51
  751. package/dist/types/components/segment/segment.d.ts +1 -2
  752. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  753. package/dist/types/components/select/select.d.ts +13 -41
  754. package/dist/types/components/select-modal/select-modal.d.ts +0 -1
  755. package/dist/types/components/select-option/select-option.d.ts +0 -4
  756. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  757. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  758. package/dist/types/components/spinner/spinner.d.ts +0 -15
  759. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  760. package/dist/types/components/tab/tab.d.ts +0 -4
  761. package/dist/types/components/tab-bar/tab-bar.d.ts +2 -22
  762. package/dist/types/components/tab-button/tab-button.d.ts +1 -12
  763. package/dist/types/components/tabs/tabs.d.ts +0 -3
  764. package/dist/types/components/text/text.d.ts +1 -2
  765. package/dist/types/components/textarea/textarea.d.ts +4 -42
  766. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  767. package/dist/types/components/title/title.d.ts +0 -4
  768. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  769. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  770. package/dist/types/components/toast/toast.d.ts +2 -19
  771. package/dist/types/components/toggle/toggle.d.ts +1 -15
  772. package/dist/types/components/toolbar/toolbar.d.ts +3 -20
  773. package/dist/types/components.d.ts +196 -1593
  774. package/dist/types/global/ionic-global.d.ts +2 -27
  775. package/dist/types/interface.d.ts +0 -3
  776. package/dist/types/utils/config.d.ts +2 -106
  777. package/dist/types/utils/focus-trap.d.ts +1 -1
  778. package/dist/types/utils/focus-visible.d.ts +0 -13
  779. package/dist/types/utils/forms/validity.d.ts +0 -7
  780. package/dist/types/utils/helpers.d.ts +0 -11
  781. package/dist/types/utils/overlays-interface.d.ts +1 -31
  782. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  783. package/hydrate/index.js +964 -3099
  784. package/hydrate/index.mjs +964 -3099
  785. package/package.json +4 -8
  786. package/components/caret-down.js +0 -6
  787. package/components/caret-left.js +0 -6
  788. package/components/caret-right.js +0 -6
  789. package/components/ion-divider.d.ts +0 -11
  790. package/components/ion-divider.js +0 -72
  791. package/components/list2.js +0 -6
  792. package/components/x.js +0 -6
  793. package/css/ionic/bundle.ionic.css +0 -1
  794. package/css/ionic/bundle.ionic.css.map +0 -1
  795. package/css/ionic/core.ionic.css +0 -1
  796. package/css/ionic/core.ionic.css.map +0 -1
  797. package/css/ionic/global.bundle.ionic.css +0 -1
  798. package/css/ionic/global.bundle.ionic.css.map +0 -1
  799. package/css/ionic/ionic-swiper.ionic.css +0 -1
  800. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  801. package/css/ionic/link.ionic.css +0 -1
  802. package/css/ionic/link.ionic.css.map +0 -1
  803. package/css/ionic/structure.ionic.css +0 -1
  804. package/css/ionic/structure.ionic.css.map +0 -1
  805. package/css/ionic/typography.ionic.css +0 -1
  806. package/css/ionic/typography.ionic.css.map +0 -1
  807. package/css/ionic/utils.bundle.ionic.css +0 -1
  808. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  809. package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
  810. package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
  811. package/dist/cjs/caret-right-CRCgv98E.js +0 -8
  812. package/dist/cjs/ion-divider.cjs.entry.js +0 -51
  813. package/dist/cjs/ionic-global-DlkD8-ZL.js +0 -491
  814. package/dist/cjs/list-a-7GSA6K.js +0 -8
  815. package/dist/cjs/validity-QmuwEptc.js +0 -51
  816. package/dist/cjs/x-BTF99yFH.js +0 -8
  817. package/dist/collection/components/accordion/accordion.ionic.css +0 -196
  818. package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -93
  819. package/dist/collection/components/avatar/avatar.ionic.css +0 -391
  820. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -109
  821. package/dist/collection/components/badge/badge.ionic.css +0 -275
  822. package/dist/collection/components/button/button.ionic.css +0 -636
  823. package/dist/collection/components/buttons/buttons.ionic.css +0 -97
  824. package/dist/collection/components/card/card.ionic.css +0 -144
  825. package/dist/collection/components/card-content/card-content.ionic.css +0 -92
  826. package/dist/collection/components/card-header/card-header.ionic.css +0 -85
  827. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -144
  828. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -539
  829. package/dist/collection/components/chip/chip.ionic.css +0 -215
  830. package/dist/collection/components/datetime/datetime.ionic.css +0 -711
  831. package/dist/collection/components/divider/divider.ionic.css +0 -148
  832. package/dist/collection/components/divider/divider.ios.css +0 -87
  833. package/dist/collection/components/divider/divider.js +0 -94
  834. package/dist/collection/components/divider/divider.md.css +0 -87
  835. package/dist/collection/components/header/header.ionic.css +0 -97
  836. package/dist/collection/components/input/input.ionic.css +0 -885
  837. package/dist/collection/components/input-otp/input-otp.ionic.css +0 -369
  838. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -78
  839. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
  840. package/dist/collection/components/item/item.ionic.css +0 -508
  841. package/dist/collection/components/item-option/item-option.ionic.css +0 -278
  842. package/dist/collection/components/item-options/item-options.ionic.css +0 -221
  843. package/dist/collection/components/list/list.ionic.css +0 -212
  844. package/dist/collection/components/list-header/list-header.ionic.css +0 -190
  845. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -236
  846. package/dist/collection/components/modal/modal.ionic.css +0 -247
  847. package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
  848. package/dist/collection/components/radio/radio.ionic.css +0 -422
  849. package/dist/collection/components/radio-group/radio-group.ionic.css +0 -119
  850. package/dist/collection/components/range/range.ionic.css +0 -563
  851. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -215
  852. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -626
  853. package/dist/collection/components/segment/segment.ionic.css +0 -115
  854. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -353
  855. package/dist/collection/components/select/select.ionic.css +0 -777
  856. package/dist/collection/components/select-modal/select-modal.ionic.css +0 -130
  857. package/dist/collection/components/spinner/spinner.native.css +0 -198
  858. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -201
  859. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -337
  860. package/dist/collection/components/textarea/textarea.ionic.css +0 -890
  861. package/dist/collection/components/title/title.ionic.css +0 -127
  862. package/dist/collection/components/toast/toast.ionic.css +0 -394
  863. package/dist/collection/components/toggle/toggle.ionic.css +0 -508
  864. package/dist/collection/components/toolbar/test/image.svg +0 -1
  865. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -241
  866. package/dist/esm/caret-down-D1t981Ih.js +0 -6
  867. package/dist/esm/caret-left-fIOYmaqA.js +0 -6
  868. package/dist/esm/caret-right-BYSs-jZz.js +0 -6
  869. package/dist/esm/ion-divider.entry.js +0 -49
  870. package/dist/esm/ionic-global-C2dfEr5R.js +0 -480
  871. package/dist/esm/list-Dhi5xtNS.js +0 -6
  872. package/dist/esm/validity-BjW8SOqw.js +0 -48
  873. package/dist/esm/x-BDqjX7Z_.js +0 -6
  874. package/dist/ionic/p-01ebb298.entry.js +0 -4
  875. package/dist/ionic/p-058204d8.entry.js +0 -4
  876. package/dist/ionic/p-074b3070.entry.js +0 -4
  877. package/dist/ionic/p-0ac03d31.entry.js +0 -4
  878. package/dist/ionic/p-1552f206.entry.js +0 -4
  879. package/dist/ionic/p-2eeb3efe.entry.js +0 -4
  880. package/dist/ionic/p-35214276.entry.js +0 -4
  881. package/dist/ionic/p-354515ed.entry.js +0 -4
  882. package/dist/ionic/p-3ec68103.entry.js +0 -4
  883. package/dist/ionic/p-427c1ad4.entry.js +0 -4
  884. package/dist/ionic/p-453a5dda.entry.js +0 -4
  885. package/dist/ionic/p-45551cea.entry.js +0 -4
  886. package/dist/ionic/p-484549da.entry.js +0 -4
  887. package/dist/ionic/p-505435ca.entry.js +0 -4
  888. package/dist/ionic/p-50c72200.entry.js +0 -4
  889. package/dist/ionic/p-5189dd57.entry.js +0 -4
  890. package/dist/ionic/p-52d0d65d.entry.js +0 -4
  891. package/dist/ionic/p-59279168.entry.js +0 -4
  892. package/dist/ionic/p-59482460.entry.js +0 -4
  893. package/dist/ionic/p-5cad7882.entry.js +0 -4
  894. package/dist/ionic/p-5d4f0f1d.entry.js +0 -4
  895. package/dist/ionic/p-5fcd7b49.entry.js +0 -4
  896. package/dist/ionic/p-6760dd1e.entry.js +0 -4
  897. package/dist/ionic/p-69465c18.entry.js +0 -4
  898. package/dist/ionic/p-6c4559a0.entry.js +0 -4
  899. package/dist/ionic/p-76734290.entry.js +0 -4
  900. package/dist/ionic/p-7d15135e.entry.js +0 -4
  901. package/dist/ionic/p-80d247b1.entry.js +0 -4
  902. package/dist/ionic/p-8396abe1.entry.js +0 -4
  903. package/dist/ionic/p-86a947c1.entry.js +0 -4
  904. package/dist/ionic/p-879ce6f2.entry.js +0 -4
  905. package/dist/ionic/p-8e97391b.entry.js +0 -4
  906. package/dist/ionic/p-984df948.entry.js +0 -4
  907. package/dist/ionic/p-9a00aac8.entry.js +0 -4
  908. package/dist/ionic/p-9b5b0e6d.entry.js +0 -4
  909. package/dist/ionic/p-B9cWjC5a.js +0 -4
  910. package/dist/ionic/p-BDhPZwpV.js +0 -4
  911. package/dist/ionic/p-BDqjX7Z_.js +0 -4
  912. package/dist/ionic/p-BI1KkP1o.js +0 -4
  913. package/dist/ionic/p-BYSs-jZz.js +0 -4
  914. package/dist/ionic/p-BYnmISwy.js +0 -4
  915. package/dist/ionic/p-BjW8SOqw.js +0 -4
  916. package/dist/ionic/p-CCy93Kdo.js +0 -4
  917. package/dist/ionic/p-CSbvB5z5.js +0 -4
  918. package/dist/ionic/p-CVI6Uwrk.js +0 -4
  919. package/dist/ionic/p-CZG8whz6.js +0 -4
  920. package/dist/ionic/p-Cq6IwwGB.js +0 -4
  921. package/dist/ionic/p-Ct1oJEVo.js +0 -4
  922. package/dist/ionic/p-CtS5hTli.js +0 -4
  923. package/dist/ionic/p-D1t981Ih.js +0 -4
  924. package/dist/ionic/p-D2EO-8IE.js +0 -4
  925. package/dist/ionic/p-DIzp9O64.js +0 -4
  926. package/dist/ionic/p-DUdm2h77.js +0 -4
  927. package/dist/ionic/p-Dhi5xtNS.js +0 -4
  928. package/dist/ionic/p-DkXYG789.js +0 -4
  929. package/dist/ionic/p-We-0jbXn.js +0 -4
  930. package/dist/ionic/p-a4282459.entry.js +0 -4
  931. package/dist/ionic/p-b9ec8be1.entry.js +0 -4
  932. package/dist/ionic/p-bf2ac6e0.entry.js +0 -4
  933. package/dist/ionic/p-c12298f5.entry.js +0 -4
  934. package/dist/ionic/p-c1562e8b.entry.js +0 -4
  935. package/dist/ionic/p-c7df4ca1.entry.js +0 -4
  936. package/dist/ionic/p-cb1f3e0c.entry.js +0 -4
  937. package/dist/ionic/p-d12a71be.entry.js +0 -4
  938. package/dist/ionic/p-d249f019.entry.js +0 -4
  939. package/dist/ionic/p-de2418c7.entry.js +0 -4
  940. package/dist/ionic/p-df036563.entry.js +0 -4
  941. package/dist/ionic/p-e174f8a8.entry.js +0 -4
  942. package/dist/ionic/p-e67abd5f.entry.js +0 -4
  943. package/dist/ionic/p-e937a89a.entry.js +0 -4
  944. package/dist/ionic/p-f01c1e73.entry.js +0 -4
  945. package/dist/ionic/p-f2ba465e.entry.js +0 -4
  946. package/dist/ionic/p-f5be9d83.entry.js +0 -4
  947. package/dist/ionic/p-fIOYmaqA.js +0 -4
  948. package/dist/ionic/p-fb3b3444.entry.js +0 -4
  949. package/dist/ionic/p-gD7P82jx.js +0 -5
  950. package/dist/ionic/p-hPTD29t1.js +0 -4
  951. package/dist/ionic/p-vXpMhGrs.js +0 -4
  952. package/dist/types/components/divider/divider.d.ts +0 -20
  953. /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