@ionic/core 7.7.2-dev.11707425083.192d8103 → 7.7.2-nightly.20240209

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 (774) hide show
  1. package/components/action-sheet.js +10 -6
  2. package/components/alert.js +8 -4
  3. package/components/backdrop.js +13 -1
  4. package/components/button-active.js +1 -1
  5. package/components/button.js +2 -2
  6. package/components/checkbox.js +2 -2
  7. package/components/data.js +1 -1
  8. package/components/gesture-controller.js +1 -1
  9. package/components/ion-back-button.js +1 -1
  10. package/components/ion-badge.js +2 -2
  11. package/components/ion-content.js +5 -4
  12. package/components/ion-datetime-button.js +5 -5
  13. package/components/ion-datetime.js +65 -41
  14. package/components/ion-fab-button.js +4 -4
  15. package/components/ion-fab-list.js +3 -3
  16. package/components/ion-fab.js +2 -2
  17. package/components/ion-footer.js +2 -2
  18. package/components/ion-grid.js +2 -2
  19. package/components/ion-header.js +2 -2
  20. package/components/ion-img.js +1 -1
  21. package/components/ion-infinite-scroll-content.js +2 -2
  22. package/components/ion-infinite-scroll.js +1 -1
  23. package/components/ion-input.js +8 -4
  24. package/components/ion-item-divider.js +2 -2
  25. package/components/ion-item-group.js +1 -1
  26. package/components/ion-item-option.js +4 -4
  27. package/components/ion-item-options.js +1 -1
  28. package/components/ion-item-sliding.js +1 -1
  29. package/components/ion-loading.js +7 -3
  30. package/components/ion-menu-button.js +3 -3
  31. package/components/ion-menu-toggle.js +2 -2
  32. package/components/ion-menu.js +17 -23
  33. package/components/ion-modal.js +8 -4
  34. package/components/ion-nav-link.js +1 -1
  35. package/components/ion-nav.js +4 -8
  36. package/components/ion-picker-column-internal.d.ts +11 -0
  37. package/components/ion-picker-column-internal.js +9 -0
  38. package/components/ion-picker-column.js +2 -2
  39. package/components/{ion-picker-legacy.d.ts → ion-picker-internal.d.ts} +4 -4
  40. package/components/ion-picker-internal.js +9 -0
  41. package/components/ion-picker.js +315 -1
  42. package/components/ion-progress-bar.js +3 -6
  43. package/components/ion-range.js +2 -2
  44. package/components/ion-refresher-content.js +1 -1
  45. package/components/ion-refresher.js +3 -3
  46. package/components/ion-reorder-group.js +1 -1
  47. package/components/ion-reorder.js +1 -1
  48. package/components/ion-router-link.js +3 -3
  49. package/components/ion-router-outlet.js +1 -1
  50. package/components/ion-row.js +1 -1
  51. package/components/ion-searchbar.js +6 -6
  52. package/components/ion-segment-button.js +4 -4
  53. package/components/ion-segment.js +2 -2
  54. package/components/ion-select-option.js +1 -1
  55. package/components/ion-select.js +2 -2
  56. package/components/ion-skeleton-text.js +2 -2
  57. package/components/ion-split-pane.js +17 -28
  58. package/components/ion-tab-bar.js +4 -4
  59. package/components/ion-tab-button.js +4 -4
  60. package/components/ion-tab.js +2 -2
  61. package/components/ion-tabs.js +1 -1
  62. package/components/ion-text.js +2 -2
  63. package/components/ion-textarea.js +70 -7
  64. package/components/ion-thumbnail.js +1 -1
  65. package/components/ion-title.js +3 -3
  66. package/components/ion-toast.js +10 -12
  67. package/components/ion-toggle.js +2 -2
  68. package/components/ion-toolbar.js +2 -2
  69. package/components/item.js +2 -2
  70. package/components/label.js +2 -2
  71. package/components/list-header.js +2 -2
  72. package/components/list.js +2 -2
  73. package/components/note.js +2 -2
  74. package/components/overlays.js +4 -11
  75. package/components/picker-column-internal.js +392 -0
  76. package/components/picker-column.js +324 -352
  77. package/components/{picker.js → picker-internal.js} +26 -33
  78. package/components/popover.js +7 -3
  79. package/components/radio-group.js +1 -1
  80. package/components/radio.js +2 -2
  81. package/components/ripple-effect.js +1 -1
  82. package/components/select-popover.js +2 -2
  83. package/components/spinner.js +1 -1
  84. package/css/core.css +35 -98
  85. package/css/core.css.map +1 -1
  86. package/css/display.css.map +1 -1
  87. package/css/float-elements.css.map +1 -1
  88. package/css/global.bundle.css +1 -1
  89. package/css/global.bundle.css.map +1 -1
  90. package/css/ionic-swiper.css.map +1 -1
  91. package/css/ionic.bundle.css +1 -1
  92. package/css/ionic.bundle.css.map +1 -1
  93. package/css/padding.css.map +1 -1
  94. package/css/structure.css.map +1 -1
  95. package/css/text-alignment.css.map +1 -1
  96. package/css/text-transformation.css.map +1 -1
  97. package/css/typography.css +1 -1
  98. package/css/typography.css.map +1 -1
  99. package/css/utils.bundle.css.map +1 -1
  100. package/dist/cjs/{app-globals-5a17c5e1.js → app-globals-92ad1b3d.js} +1 -1
  101. package/dist/cjs/{button-active-600ed3e2.js → button-active-2d6520ec.js} +3 -3
  102. package/dist/cjs/{data-e2bf21de.js → data-a5109f09.js} +1 -1
  103. package/dist/cjs/{gesture-controller-9436f482.js → gesture-controller-c40c045a.js} +0 -1
  104. package/dist/cjs/{hardware-back-button-d23873bb.js → hardware-back-button-2696acaf.js} +2 -2
  105. package/dist/cjs/{index-5a471146.js → index-0ffe376d.js} +25 -22
  106. package/dist/cjs/{index-8c679cbf.js → index-a43f7a0f.js} +2 -2
  107. package/dist/cjs/{index-84351d21.js → index-c3580a90.js} +3 -3
  108. package/dist/cjs/{index-ee07ed59.js → index-d1b59ffa.js} +1 -1
  109. package/dist/cjs/index.cjs.js +10 -10
  110. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  111. package/dist/cjs/ion-action-sheet.cjs.entry.js +17 -13
  112. package/dist/cjs/ion-alert.cjs.entry.js +15 -11
  113. package/dist/cjs/ion-app_8.cjs.entry.js +22 -21
  114. package/dist/cjs/ion-avatar_3.cjs.entry.js +5 -5
  115. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  116. package/dist/cjs/ion-backdrop.cjs.entry.js +15 -3
  117. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  118. package/dist/cjs/ion-button_2.cjs.entry.js +4 -4
  119. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  120. package/dist/cjs/ion-checkbox.cjs.entry.js +4 -4
  121. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  122. package/dist/cjs/ion-col_3.cjs.entry.js +5 -5
  123. package/dist/cjs/ion-datetime-button.cjs.entry.js +8 -8
  124. package/dist/cjs/ion-datetime_3.cjs.entry.js +77 -53
  125. package/dist/cjs/ion-fab_3.cjs.entry.js +11 -11
  126. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  127. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  128. package/dist/cjs/ion-input.cjs.entry.js +8 -6
  129. package/dist/cjs/ion-item-option_3.cjs.entry.js +9 -9
  130. package/dist/cjs/ion-item_8.cjs.entry.js +17 -17
  131. package/dist/cjs/ion-loading.cjs.entry.js +11 -8
  132. package/dist/cjs/ion-menu_3.cjs.entry.js +29 -34
  133. package/dist/cjs/ion-modal.cjs.entry.js +15 -11
  134. package/dist/cjs/ion-nav_2.cjs.entry.js +8 -11
  135. package/dist/cjs/{ion-picker-column.cjs.entry.js → ion-picker-column-internal.cjs.entry.js} +91 -107
  136. package/dist/cjs/{ion-picker.cjs.entry.js → ion-picker-internal.cjs.entry.js} +24 -31
  137. package/dist/cjs/ion-popover.cjs.entry.js +12 -9
  138. package/dist/cjs/ion-progress-bar.cjs.entry.js +5 -8
  139. package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
  140. package/dist/cjs/ion-range.cjs.entry.js +5 -5
  141. package/dist/cjs/ion-refresher_2.cjs.entry.js +9 -9
  142. package/dist/cjs/ion-reorder_2.cjs.entry.js +5 -5
  143. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  144. package/dist/cjs/ion-route_4.cjs.entry.js +5 -5
  145. package/dist/cjs/ion-searchbar.cjs.entry.js +8 -8
  146. package/dist/cjs/ion-segment_2.cjs.entry.js +9 -9
  147. package/dist/cjs/ion-select_3.cjs.entry.js +9 -10
  148. package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
  149. package/dist/cjs/ion-split-pane.cjs.entry.js +18 -28
  150. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +10 -10
  151. package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
  152. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  153. package/dist/cjs/ion-textarea.cjs.entry.js +69 -9
  154. package/dist/cjs/ion-toast.cjs.entry.js +15 -17
  155. package/dist/cjs/ion-toggle.cjs.entry.js +5 -5
  156. package/dist/cjs/{ionic-global-7358c23e.js → ionic-global-59a10130.js} +1 -1
  157. package/dist/cjs/ionic.cjs.js +5 -5
  158. package/dist/cjs/{ios.transition-8e40c54e.js → ios.transition-c3b11cc3.js} +2 -2
  159. package/dist/cjs/loader.cjs.js +4 -4
  160. package/dist/cjs/{md.transition-597a2479.js → md.transition-82a8c649.js} +2 -2
  161. package/dist/cjs/{overlays-8f32c4ca.js → overlays-c0b199e9.js} +6 -13
  162. package/dist/cjs/{status-tap-b0bfea34.js → status-tap-692f6d32.js} +1 -1
  163. package/dist/cjs/{swipe-back-f93021d8.js → swipe-back-8411f044.js} +2 -2
  164. package/dist/collection/collection-manifest.json +7 -8
  165. package/dist/collection/components/action-sheet/action-sheet.ios.css +5 -12
  166. package/dist/collection/components/action-sheet/action-sheet.js +10 -6
  167. package/dist/collection/components/action-sheet/action-sheet.md.css +2 -9
  168. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +14 -23
  169. package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +0 -19
  170. package/dist/collection/components/action-sheet/test/basic/action-sheet.spec.js +0 -22
  171. package/dist/collection/components/alert/alert.ios.css +74 -27
  172. package/dist/collection/components/alert/alert.js +8 -4
  173. package/dist/collection/components/alert/alert.md.css +110 -14
  174. package/dist/collection/components/alert/test/a11y/alert.e2e.js +9 -22
  175. package/dist/collection/components/back-button/back-button.ios.css +1 -1
  176. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +0 -21
  177. package/dist/collection/components/backdrop/backdrop.js +13 -1
  178. package/dist/collection/components/badge/badge.ios.css +1 -1
  179. package/dist/collection/components/badge/badge.md.css +1 -1
  180. package/dist/collection/components/badge/test/a11y/badge.e2e.js +0 -18
  181. package/dist/collection/components/button/button.ios.css +11 -11
  182. package/dist/collection/components/button/button.md.css +9 -9
  183. package/dist/collection/components/button/test/a11y/button.e2e.js +0 -48
  184. package/dist/collection/components/button/test/wrap/button.e2e.js +24 -12
  185. package/dist/collection/components/checkbox/checkbox.ios.css +26 -8
  186. package/dist/collection/components/checkbox/checkbox.md.css +24 -5
  187. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +2 -11
  188. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +0 -10
  189. package/dist/collection/components/content/content.css +4 -0
  190. package/dist/collection/components/content/content.js +4 -3
  191. package/dist/collection/components/datetime/datetime.ios.css +67 -99
  192. package/dist/collection/components/datetime/datetime.js +37 -25
  193. package/dist/collection/components/datetime/datetime.md.css +65 -101
  194. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  195. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +9 -6
  196. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +0 -10
  197. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  198. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  199. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  200. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  201. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  202. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +41 -43
  203. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  204. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  205. package/dist/collection/components/datetime/test/values/datetime.e2e.js +12 -15
  206. package/dist/collection/components/datetime/utils/data.js +1 -1
  207. package/dist/collection/components/datetime-button/{datetime-button.md.css → datetime-button.css} +6 -9
  208. package/dist/collection/components/datetime-button/datetime-button.js +5 -5
  209. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +0 -12
  210. package/dist/collection/components/fab/fab.js +2 -2
  211. package/dist/collection/components/fab-button/fab-button.ios.css +13 -13
  212. package/dist/collection/components/fab-button/fab-button.js +2 -2
  213. package/dist/collection/components/fab-button/fab-button.md.css +4 -4
  214. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +0 -50
  215. package/dist/collection/components/fab-list/fab-list.css +42 -4
  216. package/dist/collection/components/fab-list/fab-list.js +2 -2
  217. package/dist/collection/components/footer/footer.js +2 -2
  218. package/dist/collection/components/grid/grid.js +2 -2
  219. package/dist/collection/components/header/header.js +2 -2
  220. package/dist/collection/components/img/img.js +1 -1
  221. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  222. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  223. package/dist/collection/components/input/input.ios.css +29 -5
  224. package/dist/collection/components/input/input.js +41 -2
  225. package/dist/collection/components/input/input.md.css +76 -9
  226. package/dist/collection/components/input/test/a11y/input.e2e.js +3 -41
  227. package/dist/collection/components/item/item.ios.css +3 -3
  228. package/dist/collection/components/item/item.md.css +25 -6
  229. package/dist/collection/components/item-divider/item-divider.js +2 -2
  230. package/dist/collection/components/item-group/item-group.js +1 -1
  231. package/dist/collection/components/item-option/item-option.ios.css +2 -2
  232. package/dist/collection/components/item-option/item-option.js +2 -2
  233. package/dist/collection/components/item-option/item-option.md.css +1 -1
  234. package/dist/collection/components/item-options/item-options.js +1 -1
  235. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  236. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +0 -28
  237. package/dist/collection/components/label/label.js +1 -1
  238. package/dist/collection/components/label/label.md.css +1 -1
  239. package/dist/collection/components/label/test/a11y/label.e2e.js +0 -20
  240. package/dist/collection/components/list/list.js +1 -1
  241. package/dist/collection/components/list/list.md.css +26 -2
  242. package/dist/collection/components/list-header/list-header.js +2 -2
  243. package/dist/collection/components/loading/loading.js +8 -4
  244. package/dist/collection/components/loading/loading.md.css +1 -1
  245. package/dist/collection/components/loading/test/a11y/loading.e2e.js +5 -21
  246. package/dist/collection/components/menu/menu.ios.css +53 -72
  247. package/dist/collection/components/menu/menu.js +15 -21
  248. package/dist/collection/components/menu/menu.md.css +53 -72
  249. package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
  250. package/dist/collection/components/menu-button/menu-button.js +2 -2
  251. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +0 -14
  252. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  253. package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -1
  254. package/dist/collection/components/modal/modal.js +9 -5
  255. package/dist/collection/components/nav/nav.js +3 -23
  256. package/dist/collection/components/nav/test/nav-controller.spec.js +36 -36
  257. package/dist/collection/components/nav-link/nav-link.js +1 -1
  258. package/dist/collection/components/note/note.js +2 -2
  259. package/dist/collection/components/picker/picker.ios.css +234 -97
  260. package/dist/collection/components/picker/picker.js +742 -488
  261. package/dist/collection/components/picker/picker.md.css +226 -98
  262. package/dist/collection/components/picker/test/basic/picker.e2e.js +13 -99
  263. package/dist/collection/components/{picker-legacy → picker}/test/is-open/picker.e2e.js +4 -4
  264. package/dist/collection/components/{picker-legacy → picker}/test/picker-id.spec.js +5 -5
  265. package/dist/collection/components/{picker-legacy → picker}/test/trigger/picker.e2e.js +1 -1
  266. package/dist/collection/components/{picker-legacy-column → picker-column}/picker-column.ios.css +26 -2
  267. package/dist/collection/components/picker-column/picker-column.js +335 -499
  268. package/dist/collection/components/{picker-legacy-column → picker-column}/picker-column.md.css +27 -3
  269. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-aria.spec.js +3 -3
  270. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-dynamic.spec.js +2 -2
  271. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column.spec.js +2 -2
  272. package/dist/collection/components/{picker-legacy-column → picker-column}/test/standalone/picker-column.e2e.js +3 -3
  273. package/dist/collection/components/{picker-column-option/picker-column-option.md.css → picker-column-internal/picker-column-internal.ios.css} +53 -6
  274. package/dist/collection/components/picker-column-internal/picker-column-internal.js +566 -0
  275. package/dist/collection/components/{picker-column/picker-column.css → picker-column-internal/picker-column-internal.md.css} +83 -96
  276. package/dist/collection/components/{picker-column/test/basic/picker-column.e2e.js → picker-column-internal/test/basic/picker-column-internal.e2e.js} +8 -8
  277. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +162 -0
  278. package/dist/collection/components/{picker-legacy/picker.md.css → picker-internal/picker-internal.ios.css} +117 -142
  279. package/dist/collection/components/picker-internal/picker-internal.js +560 -0
  280. package/dist/collection/components/{picker-legacy/picker.ios.css → picker-internal/picker-internal.md.css} +115 -157
  281. package/dist/collection/components/{picker/test/a11y/picker.e2e.js → picker-internal/test/a11y/picker-internal.e2e.js} +2 -2
  282. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +118 -0
  283. package/dist/collection/components/{picker/test/keyboard-entry/picker.e2e.js → picker-internal/test/keyboard-entry/picker-internal.e2e.js} +42 -79
  284. package/dist/collection/components/popover/popover.ios.css +33 -2
  285. package/dist/collection/components/popover/popover.js +8 -4
  286. package/dist/collection/components/progress-bar/progress-bar.ios.css +11 -17
  287. package/dist/collection/components/progress-bar/progress-bar.js +1 -4
  288. package/dist/collection/components/progress-bar/progress-bar.md.css +10 -8
  289. package/dist/collection/components/radio/radio.ios.css +44 -7
  290. package/dist/collection/components/radio/radio.md.css +44 -7
  291. package/dist/collection/components/radio/test/a11y/radio.e2e.js +81 -114
  292. package/dist/collection/components/radio-group/radio-group.js +1 -1
  293. package/dist/collection/components/range/range.ios.css +79 -10
  294. package/dist/collection/components/range/range.md.css +133 -17
  295. package/dist/collection/components/range/test/a11y/range.e2e.js +8 -18
  296. package/dist/collection/components/refresher/refresher.ios.css +26 -3
  297. package/dist/collection/components/refresher/refresher.js +1 -1
  298. package/dist/collection/components/refresher/refresher.md.css +28 -5
  299. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  300. package/dist/collection/components/reorder/reorder.js +1 -1
  301. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  302. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  303. package/dist/collection/components/router-link/router-link.css +1 -1
  304. package/dist/collection/components/router-link/router-link.js +2 -2
  305. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  306. package/dist/collection/components/row/row.js +1 -1
  307. package/dist/collection/components/searchbar/searchbar.ios.css +56 -8
  308. package/dist/collection/components/searchbar/searchbar.js +4 -4
  309. package/dist/collection/components/searchbar/searchbar.md.css +78 -6
  310. package/dist/collection/components/segment/segment.js +2 -2
  311. package/dist/collection/components/segment/test/a11y/segment.e2e.js +0 -23
  312. package/dist/collection/components/segment-button/segment-button.js +3 -3
  313. package/dist/collection/components/segment-button/segment-button.md.css +2 -2
  314. package/dist/collection/components/select/select.ios.css +24 -6
  315. package/dist/collection/components/select/select.md.css +71 -10
  316. package/dist/collection/components/select/test/a11y/select.e2e.js +4 -68
  317. package/dist/collection/components/select-option/select-option.js +1 -1
  318. package/dist/collection/components/select-popover/select-popover.js +1 -1
  319. package/dist/collection/components/select-popover/select-popover.md.css +4 -4
  320. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  321. package/dist/collection/components/spinner/spinner.js +1 -1
  322. package/dist/collection/components/split-pane/split-pane.ios.css +54 -2
  323. package/dist/collection/components/split-pane/split-pane.js +14 -48
  324. package/dist/collection/components/split-pane/split-pane.md.css +54 -2
  325. package/dist/collection/components/tab/tab.js +2 -2
  326. package/dist/collection/components/tab-bar/tab-bar.ios.css +1 -1
  327. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  328. package/dist/collection/components/tab-bar/tab-bar.md.css +1 -1
  329. package/dist/collection/components/tab-button/tab-button.ios.css +94 -16
  330. package/dist/collection/components/tab-button/tab-button.js +2 -2
  331. package/dist/collection/components/tab-button/tab-button.md.css +93 -10
  332. package/dist/collection/components/tabs/tabs.js +1 -1
  333. package/dist/collection/components/text/text.js +2 -2
  334. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +3 -41
  335. package/dist/collection/components/textarea/test/legacy/a11y/textarea.e2e.js +31 -0
  336. package/dist/collection/components/textarea/test/legacy/autogrow/textarea.e2e.js +58 -0
  337. package/dist/collection/components/textarea/test/legacy/basic/textarea.e2e.js +43 -0
  338. package/dist/collection/components/textarea/test/legacy/clear-on-edit/textarea.e2e.js +25 -0
  339. package/dist/collection/components/textarea/textarea.ios.css +98 -9
  340. package/dist/collection/components/textarea/textarea.js +84 -5
  341. package/dist/collection/components/textarea/textarea.md.css +156 -13
  342. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  343. package/dist/collection/components/title/title.ios.css +21 -2
  344. package/dist/collection/components/title/title.js +2 -2
  345. package/dist/collection/components/toast/test/a11y/toast.e2e.js +24 -56
  346. package/dist/collection/components/toast/test/toast.spec.js +12 -0
  347. package/dist/collection/components/toast/toast.ios.css +53 -6
  348. package/dist/collection/components/toast/toast.js +9 -11
  349. package/dist/collection/components/toast/toast.md.css +54 -7
  350. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +2 -8
  351. package/dist/collection/components/toggle/toggle.ios.css +29 -11
  352. package/dist/collection/components/toggle/toggle.md.css +23 -5
  353. package/dist/collection/components/toolbar/toolbar.js +2 -2
  354. package/dist/collection/css/test/a11y/typography.e2e.js +0 -18
  355. package/dist/collection/utils/gesture/button-active.js +1 -1
  356. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  357. package/dist/collection/utils/overlays.js +4 -11
  358. package/dist/collection/utils/test/playwright/generator.js +0 -1
  359. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  360. package/dist/docs.json +176 -558
  361. package/dist/esm/{app-globals-47226a12.js → app-globals-5cf6195b.js} +1 -1
  362. package/dist/esm/{button-active-35dc239f.js → button-active-47ac8092.js} +3 -3
  363. package/dist/esm/{data-691286f1.js → data-0f3ab200.js} +1 -1
  364. package/dist/esm/{gesture-controller-314a54f6.js → gesture-controller-1bf57181.js} +1 -1
  365. package/dist/esm/{hardware-back-button-f42b9c80.js → hardware-back-button-b410a047.js} +2 -2
  366. package/dist/esm/{index-4b98143d.js → index-0b4beb69.js} +3 -3
  367. package/dist/esm/{index-39782642.js → index-2cf77112.js} +2 -2
  368. package/dist/esm/{index-48209844.js → index-47b2066d.js} +2 -2
  369. package/dist/esm/{index-73881b51.js → index-4c30cddd.js} +25 -22
  370. package/dist/esm/index.js +10 -10
  371. package/dist/esm/ion-accordion_2.entry.js +2 -2
  372. package/dist/esm/ion-action-sheet.entry.js +17 -13
  373. package/dist/esm/ion-alert.entry.js +15 -11
  374. package/dist/esm/ion-app_8.entry.js +22 -21
  375. package/dist/esm/ion-avatar_3.entry.js +5 -5
  376. package/dist/esm/ion-back-button.entry.js +3 -3
  377. package/dist/esm/ion-backdrop.entry.js +15 -3
  378. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  379. package/dist/esm/ion-button_2.entry.js +4 -4
  380. package/dist/esm/ion-card_5.entry.js +2 -2
  381. package/dist/esm/ion-checkbox.entry.js +4 -4
  382. package/dist/esm/ion-chip.entry.js +2 -2
  383. package/dist/esm/ion-col_3.entry.js +5 -5
  384. package/dist/esm/ion-datetime-button.entry.js +8 -8
  385. package/dist/esm/ion-datetime_3.entry.js +76 -52
  386. package/dist/esm/ion-fab_3.entry.js +11 -11
  387. package/dist/esm/ion-img.entry.js +3 -3
  388. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  389. package/dist/esm/ion-input.entry.js +8 -6
  390. package/dist/esm/ion-item-option_3.entry.js +9 -9
  391. package/dist/esm/ion-item_8.entry.js +17 -17
  392. package/dist/esm/ion-loading.entry.js +11 -8
  393. package/dist/esm/ion-menu_3.entry.js +30 -35
  394. package/dist/esm/ion-modal.entry.js +15 -11
  395. package/dist/esm/ion-nav_2.entry.js +8 -11
  396. package/dist/esm/{ion-picker-column.entry.js → ion-picker-column-internal.entry.js} +91 -107
  397. package/dist/esm/{ion-picker.entry.js → ion-picker-internal.entry.js} +24 -31
  398. package/dist/esm/ion-popover.entry.js +12 -9
  399. package/dist/esm/ion-progress-bar.entry.js +5 -8
  400. package/dist/esm/ion-radio_2.entry.js +5 -5
  401. package/dist/esm/ion-range.entry.js +5 -5
  402. package/dist/esm/ion-refresher_2.entry.js +9 -9
  403. package/dist/esm/ion-reorder_2.entry.js +5 -5
  404. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  405. package/dist/esm/ion-route_4.entry.js +5 -5
  406. package/dist/esm/ion-searchbar.entry.js +8 -8
  407. package/dist/esm/ion-segment_2.entry.js +9 -9
  408. package/dist/esm/ion-select_3.entry.js +9 -10
  409. package/dist/esm/ion-spinner.entry.js +3 -3
  410. package/dist/esm/ion-split-pane.entry.js +18 -28
  411. package/dist/esm/ion-tab-bar_2.entry.js +10 -10
  412. package/dist/esm/ion-tab_2.entry.js +4 -4
  413. package/dist/esm/ion-text.entry.js +4 -4
  414. package/dist/esm/ion-textarea.entry.js +70 -10
  415. package/dist/esm/ion-toast.entry.js +16 -18
  416. package/dist/esm/ion-toggle.entry.js +5 -5
  417. package/dist/esm/{ionic-global-778b7863.js → ionic-global-ad9a1810.js} +1 -1
  418. package/dist/esm/ionic.js +6 -6
  419. package/dist/esm/{ios.transition-7ff7381d.js → ios.transition-b76c7020.js} +2 -2
  420. package/dist/esm/loader.js +5 -5
  421. package/dist/esm/{md.transition-28a9a26b.js → md.transition-564937a7.js} +2 -2
  422. package/dist/esm/{overlays-2d8629c6.js → overlays-141e4a0f.js} +6 -13
  423. package/dist/esm/{status-tap-2b335fb7.js → status-tap-5a95077d.js} +1 -1
  424. package/dist/esm/{swipe-back-7f7620ca.js → swipe-back-c06602f2.js} +2 -2
  425. package/dist/esm-es5/app-globals-5cf6195b.js +4 -0
  426. package/dist/esm-es5/button-active-47ac8092.js +4 -0
  427. package/dist/esm-es5/{gesture-controller-314a54f6.js → gesture-controller-1bf57181.js} +1 -1
  428. package/dist/esm-es5/{hardware-back-button-f42b9c80.js → hardware-back-button-b410a047.js} +1 -1
  429. package/dist/esm-es5/{index-4b98143d.js → index-0b4beb69.js} +1 -1
  430. package/dist/esm-es5/{index-39782642.js → index-2cf77112.js} +1 -1
  431. package/dist/esm-es5/{index-48209844.js → index-47b2066d.js} +1 -1
  432. package/dist/esm-es5/{index-73881b51.js → index-4c30cddd.js} +1 -1
  433. package/dist/esm-es5/index.js +1 -1
  434. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  435. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  436. package/dist/esm-es5/ion-alert.entry.js +1 -1
  437. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  438. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  439. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  440. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  441. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  442. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  443. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  444. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  445. package/dist/esm-es5/ion-chip.entry.js +1 -1
  446. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  447. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  448. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  449. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  450. package/dist/esm-es5/ion-img.entry.js +1 -1
  451. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  452. package/dist/esm-es5/ion-input.entry.js +1 -1
  453. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  454. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  455. package/dist/esm-es5/ion-loading.entry.js +1 -1
  456. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  457. package/dist/esm-es5/ion-modal.entry.js +1 -1
  458. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  459. package/dist/esm-es5/ion-picker-column-internal.entry.js +4 -0
  460. package/dist/esm-es5/ion-picker-internal.entry.js +4 -0
  461. package/dist/esm-es5/ion-popover.entry.js +1 -1
  462. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  463. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  464. package/dist/esm-es5/ion-range.entry.js +1 -1
  465. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  466. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  467. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  468. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  469. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  470. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  471. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  472. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  473. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  474. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  475. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  476. package/dist/esm-es5/ion-text.entry.js +1 -1
  477. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  478. package/dist/esm-es5/ion-toast.entry.js +1 -1
  479. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  480. package/dist/esm-es5/{ionic-global-778b7863.js → ionic-global-ad9a1810.js} +1 -1
  481. package/dist/esm-es5/ionic.js +1 -1
  482. package/dist/esm-es5/{ios.transition-7ff7381d.js → ios.transition-b76c7020.js} +1 -1
  483. package/dist/esm-es5/loader.js +1 -1
  484. package/dist/esm-es5/md.transition-564937a7.js +4 -0
  485. package/dist/esm-es5/overlays-141e4a0f.js +4 -0
  486. package/dist/esm-es5/{status-tap-2b335fb7.js → status-tap-5a95077d.js} +1 -1
  487. package/dist/esm-es5/{swipe-back-7f7620ca.js → swipe-back-c06602f2.js} +1 -1
  488. package/dist/html.html-data.json +13 -152
  489. package/dist/ionic/index.esm.js +1 -1
  490. package/dist/ionic/ionic.esm.js +1 -1
  491. package/dist/ionic/ionic.js +1 -1
  492. package/dist/ionic/p-00feeece.entry.js +4 -0
  493. package/dist/ionic/{p-4853de94.entry.js → p-027f3674.entry.js} +1 -1
  494. package/dist/ionic/p-0457213c.entry.js +4 -0
  495. package/dist/ionic/p-08f50365.entry.js +4 -0
  496. package/dist/ionic/{p-a0da38e6.system.js → p-0c2363a9.system.js} +1 -1
  497. package/dist/ionic/p-1131946f.system.entry.js +4 -0
  498. package/dist/ionic/{p-8ddc00f7.js → p-123b4809.js} +1 -1
  499. package/dist/ionic/p-1636923f.system.js +4 -0
  500. package/dist/ionic/p-16a61810.entry.js +4 -0
  501. package/dist/ionic/p-1cc2ce69.system.entry.js +4 -0
  502. package/dist/ionic/p-1f16d040.entry.js +4 -0
  503. package/dist/ionic/p-1f19958f.system.entry.js +4 -0
  504. package/dist/ionic/p-21ca1f1c.js +4 -0
  505. package/dist/ionic/p-2327064c.entry.js +4 -0
  506. package/dist/ionic/{p-fd14f2b4.entry.js → p-23c73017.entry.js} +1 -1
  507. package/dist/ionic/p-275705e5.entry.js +4 -0
  508. package/dist/ionic/{p-c6fef62b.system.js → p-2e14c533.system.js} +1 -1
  509. package/dist/ionic/p-2f30744e.system.entry.js +4 -0
  510. package/dist/ionic/{p-55a4d7cf.entry.js → p-3079950e.entry.js} +1 -1
  511. package/dist/ionic/{p-b4d8fe47.js → p-30cd5e7b.js} +1 -1
  512. package/dist/ionic/p-31450f73.entry.js +4 -0
  513. package/dist/ionic/{p-3e1e14d9.system.js → p-31b2326e.system.js} +1 -1
  514. package/dist/ionic/{p-b8c4df21.entry.js → p-337ac0f5.entry.js} +1 -1
  515. package/dist/ionic/p-33c1d796.system.js +4 -0
  516. package/dist/ionic/{p-364fd2ae.system.entry.js → p-3481d54e.system.entry.js} +1 -1
  517. package/dist/ionic/p-34c60592.system.entry.js +4 -0
  518. package/dist/ionic/p-389a681c.entry.js +4 -0
  519. package/dist/ionic/p-396083cc.entry.js +4 -0
  520. package/dist/ionic/p-3a7de59c.entry.js +4 -0
  521. package/dist/ionic/p-3b2e1fad.system.entry.js +4 -0
  522. package/dist/ionic/p-3d961d93.entry.js +4 -0
  523. package/dist/ionic/p-3eb54fff.system.entry.js +4 -0
  524. package/dist/ionic/p-42a9f663.system.entry.js +4 -0
  525. package/dist/ionic/{p-6028d77a.entry.js → p-43a5edee.entry.js} +1 -1
  526. package/dist/ionic/{p-3eb2da31.js → p-49aba878.js} +1 -1
  527. package/dist/ionic/p-4edfddd3.entry.js +4 -0
  528. package/dist/ionic/p-4fda5c35.entry.js +4 -0
  529. package/dist/ionic/p-502780e4.entry.js +4 -0
  530. package/dist/ionic/p-508a4c87.entry.js +4 -0
  531. package/dist/ionic/p-5928fac9.system.entry.js +4 -0
  532. package/dist/ionic/p-59b06910.entry.js +4 -0
  533. package/dist/ionic/p-5c2ae448.js +4 -0
  534. package/dist/ionic/{p-a2ad515b.entry.js → p-5c580e89.entry.js} +1 -1
  535. package/dist/ionic/{p-a02b2d75.entry.js → p-5c6a04bd.entry.js} +1 -1
  536. package/dist/ionic/p-5cb5f63d.system.entry.js +4 -0
  537. package/dist/ionic/{p-1aa7c019.js → p-5d7e32ce.js} +1 -1
  538. package/dist/ionic/p-5e23bea8.system.entry.js +4 -0
  539. package/dist/ionic/{p-590ecff0.entry.js → p-601e17b4.entry.js} +1 -1
  540. package/dist/ionic/p-62ea79fb.system.js +4 -0
  541. package/dist/ionic/{p-12b75934.system.entry.js → p-64856c3c.system.entry.js} +1 -1
  542. package/dist/ionic/p-64db1331.entry.js +4 -0
  543. package/dist/ionic/{p-3f028207.system.js → p-6525a8cd.system.js} +1 -1
  544. package/dist/ionic/{p-e2f91d98.entry.js → p-657ccdd6.entry.js} +1 -1
  545. package/dist/ionic/p-68ba8e77.system.entry.js +4 -0
  546. package/dist/ionic/{p-2f66e177.system.entry.js → p-70e34286.system.entry.js} +1 -1
  547. package/dist/ionic/{p-8af445b5.system.entry.js → p-7173ba59.system.entry.js} +2 -2
  548. package/dist/ionic/{p-a074634d.system.entry.js → p-717e2526.system.entry.js} +2 -2
  549. package/dist/ionic/p-72e6fbe3.entry.js +4 -0
  550. package/dist/ionic/{p-76893257.system.js → p-72fa96bf.system.js} +1 -1
  551. package/dist/ionic/{p-25b08bc4.system.js → p-74deb358.system.js} +1 -1
  552. package/dist/ionic/p-776b144b.system.js +4 -0
  553. package/dist/ionic/p-77b5178b.system.entry.js +4 -0
  554. package/dist/ionic/p-7888a87b.js +4 -0
  555. package/dist/ionic/p-7b1ed642.system.entry.js +4 -0
  556. package/dist/ionic/p-7b260ba5.entry.js +4 -0
  557. package/dist/ionic/p-7ce40e7b.entry.js +4 -0
  558. package/dist/ionic/{p-58e3ae88.system.entry.js → p-86813176.system.entry.js} +1 -1
  559. package/dist/ionic/{p-dd79d499.system.entry.js → p-8794fa00.system.entry.js} +1 -1
  560. package/dist/ionic/{p-c9de921c.entry.js → p-88e9052d.entry.js} +1 -1
  561. package/dist/ionic/p-8964db8b.entry.js +4 -0
  562. package/dist/ionic/{p-b94882a9.system.js → p-89ca4c4b.system.js} +1 -1
  563. package/dist/ionic/p-8e651c29.entry.js +4 -0
  564. package/dist/ionic/p-8f872991.entry.js +4 -0
  565. package/dist/ionic/p-9056778e.system.entry.js +4 -0
  566. package/dist/ionic/{p-7f19f4cd.entry.js → p-95d5a097.entry.js} +1 -1
  567. package/dist/ionic/{p-95c44e02.system.js → p-9cd7ba27.system.js} +1 -1
  568. package/dist/ionic/{p-fd36799d.system.js → p-9ec7208d.system.js} +1 -1
  569. package/dist/ionic/p-a0b28c69.system.entry.js +4 -0
  570. package/dist/ionic/{p-ac955b58.system.entry.js → p-a3df16b9.system.entry.js} +1 -1
  571. package/dist/ionic/{p-62a3c609.system.js → p-a5951821.system.js} +1 -1
  572. package/dist/ionic/{p-fa667cfb.system.entry.js → p-a85d9047.system.entry.js} +1 -1
  573. package/dist/ionic/{p-445754d1.system.entry.js → p-abcedc15.system.entry.js} +1 -1
  574. package/dist/ionic/p-ae35294f.system.entry.js +4 -0
  575. package/dist/ionic/{p-156299c1.system.entry.js → p-afd6d696.system.entry.js} +1 -1
  576. package/dist/ionic/p-b0ff8075.entry.js +4 -0
  577. package/dist/ionic/p-b2189b67.system.entry.js +4 -0
  578. package/dist/ionic/p-b2595011.system.entry.js +4 -0
  579. package/dist/ionic/{p-5ee49d72.entry.js → p-b6279412.entry.js} +1 -1
  580. package/dist/ionic/{p-9b97df10.js → p-bb3615f7.js} +1 -1
  581. package/dist/ionic/p-bd314f1e.system.entry.js +4 -0
  582. package/dist/ionic/p-bdca4784.js +4 -0
  583. package/dist/ionic/p-bf05cbc7.entry.js +4 -0
  584. package/dist/ionic/{p-b1e1d6dd.entry.js → p-c11bab7e.entry.js} +1 -1
  585. package/dist/ionic/{p-43c2aeae.system.entry.js → p-c1797ec5.system.entry.js} +2 -2
  586. package/dist/ionic/{p-78aade1a.entry.js → p-c308f773.entry.js} +1 -1
  587. package/dist/ionic/p-c39cc96d.system.entry.js +4 -0
  588. package/dist/ionic/p-c65399ff.system.entry.js +4 -0
  589. package/dist/ionic/{p-78dfbc32.system.entry.js → p-c747f89b.system.entry.js} +2 -2
  590. package/dist/ionic/{p-20d469d0.system.js → p-c7c8429a.system.js} +1 -1
  591. package/dist/ionic/p-caedbb0e.entry.js +4 -0
  592. package/dist/ionic/p-cb9e71e0.entry.js +4 -0
  593. package/dist/ionic/{p-5f456b3c.system.entry.js → p-cd9a7017.system.entry.js} +1 -1
  594. package/dist/ionic/{p-0d25b742.js → p-cdc277a6.js} +1 -1
  595. package/dist/ionic/p-cde3ac34.system.entry.js +4 -0
  596. package/dist/ionic/{p-4b2d5b9c.js → p-ceceac26.js} +1 -1
  597. package/dist/ionic/p-dbd70d97.system.entry.js +4 -0
  598. package/dist/ionic/p-dcb5711d.entry.js +4 -0
  599. package/dist/ionic/{p-341b4519.js → p-de55ec45.js} +1 -1
  600. package/dist/ionic/{p-001010b6.system.js → p-df504a37.system.js} +1 -1
  601. package/dist/ionic/p-e02b2365.system.entry.js +4 -0
  602. package/dist/ionic/p-e04b9647.system.entry.js +4 -0
  603. package/dist/ionic/p-e7b4f81d.entry.js +4 -0
  604. package/dist/ionic/p-e81bf09e.system.entry.js +4 -0
  605. package/dist/ionic/{p-5898aad5.system.entry.js → p-ea25b4c8.system.entry.js} +1 -1
  606. package/dist/ionic/{p-8a671f16.entry.js → p-eb07b88f.entry.js} +1 -1
  607. package/dist/ionic/p-ed7a529f.js +5 -0
  608. package/dist/ionic/{p-2569497d.system.entry.js → p-f0194418.system.entry.js} +1 -1
  609. package/dist/ionic/p-f53d074d.system.entry.js +4 -0
  610. package/dist/ionic/{p-8ededb41.js → p-f5d2dc9b.js} +1 -1
  611. package/dist/ionic/p-f7981b54.system.entry.js +4 -0
  612. package/dist/ionic/p-f840d817.entry.js +4 -0
  613. package/dist/ionic/{p-0fd295ef.system.entry.js → p-fb9f8495.system.entry.js} +1 -1
  614. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +0 -8
  615. package/dist/types/components/action-sheet/action-sheet.d.ts +4 -0
  616. package/dist/types/components/alert/alert.d.ts +4 -0
  617. package/dist/types/components/backdrop/backdrop.d.ts +3 -0
  618. package/dist/types/components/datetime/datetime.d.ts +1 -0
  619. package/dist/types/components/datetime/utils/data.d.ts +7 -11
  620. package/dist/types/components/input/input.d.ts +6 -0
  621. package/dist/types/components/loading/loading.d.ts +4 -0
  622. package/dist/types/components/menu/menu.d.ts +2 -12
  623. package/dist/types/components/modal/modal.d.ts +4 -0
  624. package/dist/types/components/nav/nav.d.ts +1 -4
  625. package/dist/types/components/picker/picker.d.ts +133 -75
  626. package/dist/types/components/picker-column/picker-column.d.ts +39 -99
  627. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +5 -0
  628. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +102 -0
  629. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +8 -0
  630. package/dist/types/components/picker-internal/picker-internal.d.ts +102 -0
  631. package/dist/types/components/popover/popover.d.ts +4 -0
  632. package/dist/types/components/split-pane/split-pane.d.ts +2 -14
  633. package/dist/types/components/textarea/textarea.d.ts +17 -0
  634. package/dist/types/components/toast/toast-interface.d.ts +4 -0
  635. package/dist/types/components/toast/toast.d.ts +4 -0
  636. package/dist/types/components.d.ts +149 -166
  637. package/dist/types/interface.d.ts +1 -1
  638. package/dist/types/utils/config.d.ts +2 -2
  639. package/dist/types/utils/gesture/gesture-controller.d.ts +0 -1
  640. package/dist/types/utils/overlays.d.ts +2 -5
  641. package/hydrate/index.js +1547 -1504
  642. package/package.json +3 -3
  643. package/components/ion-picker-column-option.d.ts +0 -11
  644. package/components/ion-picker-column-option.js +0 -9
  645. package/components/ion-picker-legacy-column.d.ts +0 -11
  646. package/components/ion-picker-legacy-column.js +0 -9
  647. package/components/ion-picker-legacy.js +0 -311
  648. package/components/picker-column-option.js +0 -124
  649. package/components/picker-column2.js +0 -381
  650. package/css/themes/dark.always.css +0 -122
  651. package/css/themes/dark.always.css.map +0 -1
  652. package/css/themes/dark.class.css +0 -122
  653. package/css/themes/dark.class.css.map +0 -1
  654. package/css/themes/dark.css +0 -3
  655. package/css/themes/dark.css.map +0 -1
  656. package/css/themes/dark.system.css +0 -124
  657. package/css/themes/dark.system.css.map +0 -1
  658. package/dist/cjs/ion-picker-column-option.cjs.entry.js +0 -106
  659. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -107
  660. package/dist/collection/components/picker/test/custom/picker.e2e.js +0 -85
  661. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +0 -91
  662. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +0 -39
  663. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -87
  664. package/dist/collection/components/picker-column-option/picker-column-option.js +0 -173
  665. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +0 -18
  666. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +0 -37
  667. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +0 -29
  668. package/dist/collection/components/picker-legacy/picker.js +0 -811
  669. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +0 -25
  670. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -419
  671. package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +0 -24
  672. package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +0 -26
  673. package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +0 -23
  674. package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +0 -32
  675. package/dist/collection/components/split-pane/test/wrapped-menu/split-pane.e2e.js +0 -41
  676. package/dist/collection/themes/test/colors/theme.e2e.js +0 -114
  677. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +0 -65
  678. package/dist/esm/ion-picker-column-option.entry.js +0 -102
  679. package/dist/esm-es5/app-globals-47226a12.js +0 -4
  680. package/dist/esm-es5/button-active-35dc239f.js +0 -4
  681. package/dist/esm-es5/ion-picker-column-option.entry.js +0 -4
  682. package/dist/esm-es5/ion-picker-column.entry.js +0 -4
  683. package/dist/esm-es5/ion-picker.entry.js +0 -4
  684. package/dist/esm-es5/md.transition-28a9a26b.js +0 -4
  685. package/dist/esm-es5/overlays-2d8629c6.js +0 -4
  686. package/dist/ionic/p-04cca62a.system.entry.js +0 -4
  687. package/dist/ionic/p-0543054b.entry.js +0 -4
  688. package/dist/ionic/p-0729b5cd.entry.js +0 -4
  689. package/dist/ionic/p-08bb849b.entry.js +0 -4
  690. package/dist/ionic/p-09fffdb0.system.entry.js +0 -4
  691. package/dist/ionic/p-0b955124.system.js +0 -4
  692. package/dist/ionic/p-0c840add.entry.js +0 -4
  693. package/dist/ionic/p-0caf81c6.system.entry.js +0 -4
  694. package/dist/ionic/p-1029611c.entry.js +0 -4
  695. package/dist/ionic/p-11b295f4.entry.js +0 -4
  696. package/dist/ionic/p-13264eba.system.entry.js +0 -4
  697. package/dist/ionic/p-15639026.entry.js +0 -4
  698. package/dist/ionic/p-156e6059.system.entry.js +0 -4
  699. package/dist/ionic/p-178690c0.system.entry.js +0 -4
  700. package/dist/ionic/p-1831387a.system.entry.js +0 -4
  701. package/dist/ionic/p-19385313.entry.js +0 -4
  702. package/dist/ionic/p-24058a38.system.entry.js +0 -4
  703. package/dist/ionic/p-24ff2729.system.entry.js +0 -4
  704. package/dist/ionic/p-276804d2.entry.js +0 -4
  705. package/dist/ionic/p-2a515f11.system.entry.js +0 -4
  706. package/dist/ionic/p-2c8e5c80.entry.js +0 -4
  707. package/dist/ionic/p-315f773b.system.entry.js +0 -4
  708. package/dist/ionic/p-31d9a349.entry.js +0 -4
  709. package/dist/ionic/p-3c2c3769.system.entry.js +0 -4
  710. package/dist/ionic/p-3f155d29.entry.js +0 -4
  711. package/dist/ionic/p-3fa8e0f9.entry.js +0 -4
  712. package/dist/ionic/p-40314c02.entry.js +0 -4
  713. package/dist/ionic/p-49457fe6.entry.js +0 -4
  714. package/dist/ionic/p-499f2482.entry.js +0 -4
  715. package/dist/ionic/p-4fb92810.system.entry.js +0 -4
  716. package/dist/ionic/p-595c7065.entry.js +0 -4
  717. package/dist/ionic/p-595f9dfe.system.entry.js +0 -4
  718. package/dist/ionic/p-5e175db3.system.entry.js +0 -4
  719. package/dist/ionic/p-5ef79cfe.system.entry.js +0 -4
  720. package/dist/ionic/p-5f739516.system.js +0 -4
  721. package/dist/ionic/p-61c078b4.system.entry.js +0 -4
  722. package/dist/ionic/p-6c48dd91.system.js +0 -4
  723. package/dist/ionic/p-6ea89932.js +0 -4
  724. package/dist/ionic/p-7a89f3f3.system.entry.js +0 -4
  725. package/dist/ionic/p-7dfcdac4.system.entry.js +0 -4
  726. package/dist/ionic/p-7dfdf838.system.entry.js +0 -4
  727. package/dist/ionic/p-7efa91b5.entry.js +0 -4
  728. package/dist/ionic/p-854484fa.entry.js +0 -4
  729. package/dist/ionic/p-892757c2.system.entry.js +0 -4
  730. package/dist/ionic/p-8a0113a9.entry.js +0 -4
  731. package/dist/ionic/p-8bd7a47e.entry.js +0 -4
  732. package/dist/ionic/p-8e58d0a5.system.entry.js +0 -4
  733. package/dist/ionic/p-8f1ce253.js +0 -4
  734. package/dist/ionic/p-90fcbf72.js +0 -4
  735. package/dist/ionic/p-912ee727.entry.js +0 -4
  736. package/dist/ionic/p-938ccce5.entry.js +0 -4
  737. package/dist/ionic/p-951d75bb.entry.js +0 -4
  738. package/dist/ionic/p-ab08eda4.system.entry.js +0 -4
  739. package/dist/ionic/p-b17f058b.system.js +0 -4
  740. package/dist/ionic/p-b27577e5.system.entry.js +0 -4
  741. package/dist/ionic/p-bfcaea5f.entry.js +0 -4
  742. package/dist/ionic/p-c4045831.entry.js +0 -4
  743. package/dist/ionic/p-c4e9201d.entry.js +0 -4
  744. package/dist/ionic/p-c5c3710c.js +0 -4
  745. package/dist/ionic/p-c9f6626c.system.entry.js +0 -4
  746. package/dist/ionic/p-cd5cb2da.system.entry.js +0 -4
  747. package/dist/ionic/p-d8834a0d.entry.js +0 -4
  748. package/dist/ionic/p-db504106.entry.js +0 -4
  749. package/dist/ionic/p-e1054dac.system.entry.js +0 -4
  750. package/dist/ionic/p-e1271366.js +0 -5
  751. package/dist/ionic/p-e82bc15e.entry.js +0 -4
  752. package/dist/ionic/p-e9c2c532.entry.js +0 -4
  753. package/dist/ionic/p-ef065e0d.system.entry.js +0 -4
  754. package/dist/ionic/p-f7d618b7.entry.js +0 -4
  755. package/dist/ionic/p-fa203b3a.system.entry.js +0 -4
  756. package/dist/ionic/p-fe990e42.system.entry.js +0 -4
  757. package/dist/types/components/picker/picker-interfaces.d.ts +0 -8
  758. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +0 -4
  759. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -66
  760. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  761. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  762. /package/dist/collection/components/{picker-legacy → picker}/animations/ios.enter.js +0 -0
  763. /package/dist/collection/components/{picker-legacy → picker}/animations/ios.leave.js +0 -0
  764. /package/dist/collection/components/picker/{picker-interfaces.js → picker-interface.js} +0 -0
  765. /package/dist/collection/components/{picker-legacy-column → picker-column}/test/test.utils.js +0 -0
  766. /package/dist/collection/components/{picker-column/picker-column-interfaces.js → picker-column-internal/picker-column-internal-interfaces.js} +0 -0
  767. /package/dist/collection/components/{picker-legacy/picker-interface.js → picker-internal/picker-internal-interfaces.js} +0 -0
  768. /package/dist/esm-es5/{data-691286f1.js → data-0f3ab200.js} +0 -0
  769. /package/dist/ionic/{p-66e6860f.system.js → p-7330c044.system.js} +0 -0
  770. /package/dist/ionic/{p-5289aade.js → p-f7dce541.js} +0 -0
  771. /package/dist/types/components/{picker-legacy → picker}/animations/ios.enter.d.ts +0 -0
  772. /package/dist/types/components/{picker-legacy → picker}/animations/ios.leave.d.ts +0 -0
  773. /package/dist/types/components/{picker-legacy → picker}/picker-interface.d.ts +0 -0
  774. /package/dist/types/components/{picker-legacy-column → picker-column}/test/test.utils.d.ts +0 -0
@@ -100,7 +100,7 @@
100
100
  font-family: var(--ion-font-family, inherit);
101
101
  text-align: center;
102
102
  text-decoration: none;
103
- white-space: normal;
103
+ white-space: nowrap;
104
104
  user-select: none;
105
105
  vertical-align: top;
106
106
  vertical-align: -webkit-baseline-middle;
@@ -114,20 +114,20 @@
114
114
  }
115
115
 
116
116
  :host(.button-solid) {
117
- --background: var(--ion-color-primary, #0054e9);
117
+ --background: var(--ion-color-primary, #3880ff);
118
118
  --color: var(--ion-color-primary-contrast, #fff);
119
119
  }
120
120
 
121
121
  :host(.button-outline) {
122
- --border-color: var(--ion-color-primary, #0054e9);
122
+ --border-color: var(--ion-color-primary, #3880ff);
123
123
  --background: transparent;
124
- --color: var(--ion-color-primary, #0054e9);
124
+ --color: var(--ion-color-primary, #3880ff);
125
125
  }
126
126
 
127
127
  :host(.button-clear) {
128
128
  --border-width: 0;
129
129
  --background: transparent;
130
- --color: var(--ion-color-primary, #0054e9);
130
+ --color: var(--ion-color-primary, #3880ff);
131
131
  }
132
132
 
133
133
  :host(.button-block) {
@@ -431,8 +431,8 @@ ion-ripple-effect {
431
431
  --border-style: solid;
432
432
  --box-shadow: none;
433
433
  --background-activated: transparent;
434
- --background-focused: var(--ion-color-primary, #0054e9);
435
- --background-hover: var(--ion-color-primary, #0054e9);
434
+ --background-focused: var(--ion-color-primary, #3880ff);
435
+ --background-hover: var(--ion-color-primary, #3880ff);
436
436
  --background-activated-opacity: 0;
437
437
  --background-focused-opacity: .12;
438
438
  --background-hover-opacity: .04;
@@ -444,8 +444,8 @@ ion-ripple-effect {
444
444
 
445
445
  :host(.button-clear) {
446
446
  --background-activated: transparent;
447
- --background-focused: var(--ion-color-primary, #0054e9);
448
- --background-hover: var(--ion-color-primary, #0054e9);
447
+ --background-focused: var(--ion-color-primary, #3880ff);
448
+ --background-hover: var(--ion-color-primary, #3880ff);
449
449
  --background-activated-opacity: 0;
450
450
  --background-focused-opacity: .12;
451
451
  --background-hover-opacity: .04;
@@ -1,56 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import AxeBuilder from "@axe-core/playwright";
5
4
  import { expect } from "@playwright/test";
6
5
  import { configs, test } from "../../../../utils/test/playwright/index";
7
- configs({ directions: ['ltr'], themes: ['light', 'dark'] }).forEach(({ title, config }) => {
8
- test.describe(title('button: a11y for ion-color()'), () => {
9
- test('should not have accessibility violations', async ({ page }) => {
10
- await page.setContent(`
11
- <ion-button>Default</ion-button>
12
- <ion-button fill="solid">Solid</ion-button>
13
- <ion-button fill="outline">Outline</ion-button>
14
- <ion-button fill="clear">Clear</ion-button>
15
- `, config);
16
- const results = await new AxeBuilder({ page }).analyze();
17
- expect(results.violations).toEqual([]);
18
- });
19
- test('focused state should not have accessibility violations', async ({ page }) => {
20
- await page.setContent(`
21
- <ion-button class="ion-focused" fill="solid">Solid</ion-button>
22
- <ion-button class="ion-focused" fill="outline">Outline</ion-button>
23
- <ion-button class="ion-focused" fill="clear">Clear</ion-button>
24
- `, config);
25
- const results = await new AxeBuilder({ page }).analyze();
26
- expect(results.violations).toEqual([]);
27
- });
28
- test('button in toolbar should not have accessibility violations', async ({ page }) => {
29
- await page.setContent(`
30
- <ion-toolbar>
31
- <ion-button fill="outline" class="ion-activated">Start</ion-button>
32
- </ion-toolbar>
33
- `, config);
34
- const results = await new AxeBuilder({ page }).analyze();
35
- expect(results.violations).toEqual([]);
36
- });
37
- });
38
- });
39
- /**
40
- * Only ios mode uses ion-color() for the activated button state
41
- */
42
- configs({ directions: ['ltr'], modes: ['ios'], themes: ['light', 'dark'] }).forEach(({ title, config }) => {
43
- test.describe(title('button: ios contrast'), () => {
44
- test('activated state should not have accessibility violations', async ({ page }) => {
45
- await page.setContent(`
46
- <ion-button class="ion-activated" fill="solid">Solid</ion-button>
47
- <ion-button class="ion-activated" fill="outline">Outline</ion-button>
48
- `, config);
49
- const results = await new AxeBuilder({ page }).analyze();
50
- expect(results.violations).toEqual([]);
51
- });
52
- });
53
- });
54
6
  configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
55
7
  test.describe(title('button: font scaling'), () => {
56
8
  test('should scale default button text on larger font sizes', async ({ page }) => {
@@ -6,29 +6,33 @@ import { configs, test } from "../../../../utils/test/playwright/index";
6
6
  configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
7
7
  test.describe(title('button: wrap'), () => {
8
8
  test('should render button with long text', async ({ page }) => {
9
+ // TODO(FW-4599): remove ion-text-wrap class
9
10
  await page.setContent(`
10
- <ion-button>This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
11
+ <ion-button class="ion-text-wrap">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
11
12
  `, config);
12
13
  const button = page.locator('ion-button');
13
14
  await expect(button).toHaveScreenshot(screenshot(`button-wrap`));
14
15
  });
15
16
  test('should render small button with long text', async ({ page }) => {
17
+ // TODO(FW-4599): remove ion-text-wrap class
16
18
  await page.setContent(`
17
- <ion-button size="small">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
19
+ <ion-button class="ion-text-wrap" size="small">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
18
20
  `, config);
19
21
  const button = page.locator('ion-button');
20
22
  await expect(button).toHaveScreenshot(screenshot(`button-wrap-small`));
21
23
  });
22
24
  test('should render large button with long text', async ({ page }) => {
25
+ // TODO(FW-4599): remove ion-text-wrap class
23
26
  await page.setContent(`
24
- <ion-button size="large">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
27
+ <ion-button class="ion-text-wrap" size="large">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
25
28
  `, config);
26
29
  const button = page.locator('ion-button');
27
30
  await expect(button).toHaveScreenshot(screenshot(`button-wrap-large`));
28
31
  });
29
32
  test('should render button with long text and icons', async ({ page }) => {
33
+ // TODO(FW-4599): remove ion-text-wrap class
30
34
  await page.setContent(`
31
- <ion-button>
35
+ <ion-button class="ion-text-wrap">
32
36
  <ion-icon slot="start" name="heart"></ion-icon>
33
37
  This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
34
38
  <ion-icon slot="end" name="star"></ion-icon>
@@ -38,15 +42,17 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
38
42
  await expect(button).toHaveScreenshot(screenshot(`button-wrap-icons`));
39
43
  });
40
44
  test('should render block button with long text', async ({ page }) => {
45
+ // TODO(FW-4599): remove ion-text-wrap class
41
46
  await page.setContent(`
42
- <ion-button expand="block">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
47
+ <ion-button class="ion-text-wrap" expand="block">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
43
48
  `, config);
44
49
  const button = page.locator('ion-button');
45
50
  await expect(button).toHaveScreenshot(screenshot(`button-wrap-block`));
46
51
  });
47
52
  test('should render block button with long text and icons', async ({ page }) => {
53
+ // TODO(FW-4599): remove ion-text-wrap class
48
54
  await page.setContent(`
49
- <ion-button expand="block">
55
+ <ion-button class="ion-text-wrap" expand="block">
50
56
  <ion-icon slot="start" name="heart"></ion-icon>
51
57
  This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
52
58
  <ion-icon slot="end" name="star"></ion-icon>
@@ -56,15 +62,17 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
56
62
  await expect(button).toHaveScreenshot(screenshot(`button-wrap-block-icons`));
57
63
  });
58
64
  test('should render full button with long text', async ({ page }) => {
65
+ // TODO(FW-4599): remove ion-text-wrap class
59
66
  await page.setContent(`
60
- <ion-button expand="full">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
67
+ <ion-button class="ion-text-wrap" expand="full">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
61
68
  `, config);
62
69
  const button = page.locator('ion-button');
63
70
  await expect(button).toHaveScreenshot(screenshot(`button-wrap-full`));
64
71
  });
65
72
  test('should render full button with long text and icons', async ({ page }) => {
73
+ // TODO(FW-4599): remove ion-text-wrap class
66
74
  await page.setContent(`
67
- <ion-button expand="full">
75
+ <ion-button class="ion-text-wrap" expand="full">
68
76
  <ion-icon slot="start" name="heart"></ion-icon>
69
77
  This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
70
78
  <ion-icon slot="end" name="star"></ion-icon>
@@ -74,9 +82,10 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
74
82
  await expect(button).toHaveScreenshot(screenshot(`button-wrap-full-icons`));
75
83
  });
76
84
  test('should render an item button with long text', async ({ page }) => {
85
+ // TODO(FW-4599): remove ion-text-wrap class
77
86
  await page.setContent(`
78
87
  <ion-item>
79
- <ion-button slot="end">
88
+ <ion-button class="ion-text-wrap" slot="end">
80
89
  This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
81
90
  </ion-button>
82
91
  </ion-item>
@@ -85,9 +94,10 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
85
94
  await expect(item).toHaveScreenshot(screenshot(`button-wrap-item-button`));
86
95
  });
87
96
  test('should render an item button with long text and icons', async ({ page }) => {
97
+ // TODO(FW-4599): remove ion-text-wrap class
88
98
  await page.setContent(`
89
99
  <ion-item>
90
- <ion-button slot="end">
100
+ <ion-button class="ion-text-wrap" slot="end">
91
101
  <ion-icon slot="start" name="heart"></ion-icon>
92
102
  This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
93
103
  <ion-icon slot="end" name="star"></ion-icon>
@@ -98,10 +108,11 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
98
108
  await expect(item).toHaveScreenshot(screenshot(`button-wrap-item-button-icons`));
99
109
  });
100
110
  test('should render a list header button with long text', async ({ page }) => {
111
+ // TODO(FW-4599): remove ion-text-wrap class
101
112
  await page.setContent(`
102
113
  <ion-list-header>
103
114
  <ion-label>List Header</ion-label>
104
- <ion-button>
115
+ <ion-button class="ion-text-wrap">
105
116
  This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
106
117
  </ion-button>
107
118
  </ion-list-header>
@@ -110,10 +121,11 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
110
121
  await expect(listHeader).toHaveScreenshot(screenshot(`button-wrap-list-header-button`));
111
122
  });
112
123
  test('should render a toolbar button with long text', async ({ page }) => {
124
+ // TODO(FW-4599): remove ion-text-wrap class
113
125
  await page.setContent(`
114
126
  <ion-toolbar>
115
127
  <ion-buttons slot="end">
116
- <ion-button>
128
+ <ion-button class="ion-text-wrap">
117
129
  This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
118
130
  </ion-button>
119
131
  </ion-buttons>
@@ -71,9 +71,10 @@
71
71
  * @prop --checkmark-color: Color of the checkbox checkmark when checked
72
72
  * @prop --checkmark-width: Stroke width of the checkbox checkmark
73
73
  */
74
- --checkbox-background-checked: var(--ion-color-primary, #0054e9);
75
- --border-color-checked: var(--ion-color-primary, #0054e9);
74
+ --checkbox-background-checked: var(--ion-color-primary, #3880ff);
75
+ --border-color-checked: var(--ion-color-primary, #3880ff);
76
76
  --checkmark-color: var(--ion-color-primary-contrast, #fff);
77
+ --checkmark-width: 1;
77
78
  --transition: none;
78
79
  display: inline-block;
79
80
  position: relative;
@@ -127,10 +128,28 @@
127
128
  align-items: center;
128
129
  opacity: 0;
129
130
  }
130
- :host(.legacy-checkbox) label {
131
- inset-inline-start: 0;
131
+ @supports (inset-inline-start: 0) {
132
+ :host(.legacy-checkbox) label {
133
+ inset-inline-start: 0;
134
+ }
135
+ }
136
+ @supports not (inset-inline-start: 0) {
137
+ :host(.legacy-checkbox) label {
138
+ left: 0;
139
+ }
140
+ :host-context([dir=rtl]):host(.legacy-checkbox) label, :host-context([dir=rtl]).legacy-checkbox label {
141
+ left: unset;
142
+ right: unset;
143
+ right: 0;
144
+ }
145
+ @supports selector(:dir(rtl)) {
146
+ :host(.legacy-checkbox:dir(rtl)) label {
147
+ left: unset;
148
+ right: unset;
149
+ right: 0;
150
+ }
151
+ }
132
152
  }
133
-
134
153
  :host(.legacy-checkbox) label::-moz-focus-inner {
135
154
  border: 0;
136
155
  }
@@ -485,12 +504,11 @@ input {
485
504
  */
486
505
  :host {
487
506
  --border-radius: 50%;
488
- --border-width: 0.125rem;
507
+ --border-width: 0.0625rem;
489
508
  --border-style: solid;
490
509
  --border-color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.23);
491
510
  --checkbox-background: var(--ion-item-background, var(--ion-background-color, #fff));
492
- --size: min(1.375rem, 55.836px);
493
- --checkmark-width: 1.5px;
511
+ --size: min(1.625rem, 65.988px);
494
512
  }
495
513
 
496
514
  :host(.checkbox-disabled) {
@@ -71,9 +71,10 @@
71
71
  * @prop --checkmark-color: Color of the checkbox checkmark when checked
72
72
  * @prop --checkmark-width: Stroke width of the checkbox checkmark
73
73
  */
74
- --checkbox-background-checked: var(--ion-color-primary, #0054e9);
75
- --border-color-checked: var(--ion-color-primary, #0054e9);
74
+ --checkbox-background-checked: var(--ion-color-primary, #3880ff);
75
+ --border-color-checked: var(--ion-color-primary, #3880ff);
76
76
  --checkmark-color: var(--ion-color-primary-contrast, #fff);
77
+ --checkmark-width: 1;
77
78
  --transition: none;
78
79
  display: inline-block;
79
80
  position: relative;
@@ -127,10 +128,28 @@
127
128
  align-items: center;
128
129
  opacity: 0;
129
130
  }
130
- :host(.legacy-checkbox) label {
131
- inset-inline-start: 0;
131
+ @supports (inset-inline-start: 0) {
132
+ :host(.legacy-checkbox) label {
133
+ inset-inline-start: 0;
134
+ }
135
+ }
136
+ @supports not (inset-inline-start: 0) {
137
+ :host(.legacy-checkbox) label {
138
+ left: 0;
139
+ }
140
+ :host-context([dir=rtl]):host(.legacy-checkbox) label, :host-context([dir=rtl]).legacy-checkbox label {
141
+ left: unset;
142
+ right: unset;
143
+ right: 0;
144
+ }
145
+ @supports selector(:dir(rtl)) {
146
+ :host(.legacy-checkbox:dir(rtl)) label {
147
+ left: unset;
148
+ right: unset;
149
+ right: 0;
150
+ }
151
+ }
132
152
  }
133
-
134
153
  :host(.legacy-checkbox) label::-moz-focus-inner {
135
154
  border: 0;
136
155
  }
@@ -4,19 +4,10 @@
4
4
  import AxeBuilder from "@axe-core/playwright";
5
5
  import { expect } from "@playwright/test";
6
6
  import { configs, test } from "../../../../utils/test/playwright/index";
7
- configs({ directions: ['ltr'], themes: ['light', 'dark'] }).forEach(({ title, config }) => {
7
+ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
8
8
  test.describe(title('checkbox: a11y'), () => {
9
9
  test('should not have accessibility violations', async ({ page }) => {
10
- await page.setContent(`
11
- <main>
12
- <ion-checkbox>Label</ion-checkbox>
13
- <ion-checkbox aria-label="my aria label"></ion-checkbox>
14
- <ion-checkbox checked="true">Checked</ion-checkbox>
15
- <ion-item>
16
- <ion-checkbox>Checkbox in item</ion-checkbox>
17
- </ion-item>
18
- </main>
19
- `, config);
10
+ await page.goto(`/src/components/checkbox/test/a11y`, config);
20
11
  const results = await new AxeBuilder({ page }).analyze();
21
12
  expect(results.violations).toEqual([]);
22
13
  });
@@ -5,16 +5,6 @@ import { expect } from "@playwright/test";
5
5
  import { configs, test } from "../../../../utils/test/playwright/index";
6
6
  configs().forEach(({ title, screenshot, config }) => {
7
7
  test.describe(title('checkbox: basic visual tests'), () => {
8
- test('should not have visual regressions', async ({ page }) => {
9
- await page.setContent(`
10
- <div id="checkboxes">
11
- <ion-checkbox>Unchecked</ion-checkbox>
12
- <ion-checkbox checked>Checked</ion-checkbox>
13
- </div>
14
- `, config);
15
- const checkboxes = page.locator('#checkboxes');
16
- await expect(checkboxes).toHaveScreenshot(screenshot(`checkbox-basic`));
17
- });
18
8
  test('should render custom checkmark-width correctly', async ({ page }) => {
19
9
  await page.setContent(`
20
10
  <ion-checkbox checked style="--checkmark-width: 7">Checkmark Width</ion-checkbox>
@@ -97,6 +97,10 @@
97
97
  color: var(--ion-color-contrast);
98
98
  }
99
99
 
100
+ :host(.outer-content) {
101
+ --background: var(--ion-color-step-50, #f2f2f2);
102
+ }
103
+
100
104
  #background-content {
101
105
  left: 0px;
102
106
  right: 0px;
@@ -334,8 +334,9 @@ export class Content {
334
334
  const mode = getIonMode(this);
335
335
  const forceOverscroll = this.shouldForceOverscroll();
336
336
  const transitionShadow = mode === 'ios';
337
+ const TagType = isMainContent ? 'main' : 'div';
337
338
  this.resize();
338
- return (h(Host, { key: 'c8df05bec11069ef219b64354b4ebfe8154735cc', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
339
+ return (h(Host, { key: '65d85e1f7f85876a76eec79addc4bd9f697a5d84', class: createColorClasses(this.color, {
339
340
  [mode]: true,
340
341
  'content-sizing': hostContext('ion-popover', this.el),
341
342
  overscroll: forceOverscroll,
@@ -343,12 +344,12 @@ export class Content {
343
344
  }), style: {
344
345
  '--offset-top': `${this.cTop}px`,
345
346
  '--offset-bottom': `${this.cBottom}px`,
346
- } }, h("div", { key: '8fa0969fbdf7f75c6a43c05892e3f98be4027e76', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), h("div", { key: '117503b489a2f07bc2a75e52f9d964c829bedd2c', class: {
347
+ } }, h("div", { key: 'e2ac474a62cbc864772c497469100436f41289ff', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), h(TagType, { key: '567a4bc2bcb13adfd987b088f95ac4b20b789f2c', class: {
347
348
  'inner-scroll': true,
348
349
  'scroll-x': scrollX,
349
350
  'scroll-y': scrollY,
350
351
  overscroll: (scrollX || scrollY) && forceOverscroll,
351
- }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '788b7798d8f53a577c18b3311dfaf4f6cb77e257' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, h("slot", { key: '55c6c5176938501df056e05cf976e0eafa4f2b5b', name: "fixed" })));
352
+ }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '13909f87dd9f49bf1664ad95038499da376b9480' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, h("slot", { key: '05b56c139e203cfd1e3dd08054e99328e97e9243', name: "fixed" })));
352
353
  }
353
354
  static get is() { return "ion-content"; }
354
355
  static get encapsulation() { return "shadow"; }
@@ -61,8 +61,6 @@
61
61
  *
62
62
  * @prop --wheel-highlight-background: The background of the highlight under the selected
63
63
  * item when using a wheel style layout, or in the month/year picker for grid style layouts.
64
- * @prop --wheel-highlight-border-radius: The border radius of the highlight under the selected
65
- * item when using a wheel style layout, or in the month/year picker for grid style layouts.
66
64
  * @prop --wheel-fade-background-rgb: The color of the gradient covering non-selected items
67
65
  * when using a wheel style layout, or in the month/year picker for grid style layouts. Must
68
66
  * be in RGB format, e.g. `255, 255, 255`.
@@ -73,6 +71,19 @@
73
71
  overflow: hidden;
74
72
  }
75
73
 
74
+ /**
75
+ * When using the wheel picker to switch
76
+ * between months, sometimes the allowed
77
+ * dates may be filtered. As a result, it
78
+ * is possible to get a layout shift as
79
+ * the picker column will shrink to fit the
80
+ * widest item in the column. Setting a minimum
81
+ * width avoids this layout shifting.
82
+ */
83
+ ion-picker-column-internal {
84
+ min-width: 26px;
85
+ }
86
+
76
87
  :host(.datetime-size-fixed) {
77
88
  width: auto;
78
89
  height: auto;
@@ -83,7 +94,7 @@
83
94
  }
84
95
 
85
96
  /**
86
- * This ensures that the picker is appropriately
97
+ * This ensures that the picker is apppropriately
87
98
  * sized and never truncates the text.
88
99
  */
89
100
  :host(.datetime-size-fixed.datetime-prefer-wheel) {
@@ -186,11 +197,33 @@
186
197
  visibility: hidden;
187
198
  pointer-events: none;
188
199
  }
189
- :host(.show-month-and-year) .calendar-next-prev,
190
- :host(.show-month-and-year) .calendar-days-of-week,
191
- :host(.show-month-and-year) .calendar-body,
192
- :host(.show-month-and-year) .datetime-time {
193
- inset-inline-start: -99999px;
200
+ @supports (inset-inline-start: 0) {
201
+ :host(.show-month-and-year) .calendar-next-prev,
202
+ :host(.show-month-and-year) .calendar-days-of-week,
203
+ :host(.show-month-and-year) .calendar-body,
204
+ :host(.show-month-and-year) .datetime-time {
205
+ inset-inline-start: -99999px;
206
+ }
207
+ }
208
+ @supports not (inset-inline-start: 0) {
209
+ :host(.show-month-and-year) .calendar-next-prev,
210
+ :host(.show-month-and-year) .calendar-days-of-week,
211
+ :host(.show-month-and-year) .calendar-body,
212
+ :host(.show-month-and-year) .datetime-time {
213
+ left: -99999px;
214
+ }
215
+ :host-context([dir=rtl]):host(.show-month-and-year) .calendar-next-prev, :host-context([dir=rtl]).show-month-and-year .calendar-next-prev, :host-context([dir=rtl]):host(.show-month-and-year) .calendar-days-of-week, :host-context([dir=rtl]).show-month-and-year .calendar-days-of-week, :host-context([dir=rtl]):host(.show-month-and-year) .calendar-body, :host-context([dir=rtl]).show-month-and-year .calendar-body, :host-context([dir=rtl]):host(.show-month-and-year) .datetime-time, :host-context([dir=rtl]).show-month-and-year .datetime-time {
216
+ left: unset;
217
+ right: unset;
218
+ right: -99999px;
219
+ }
220
+ @supports selector(:dir(rtl)) {
221
+ :host(.show-month-and-year:dir(rtl)) .calendar-next-prev, :host(.show-month-and-year:dir(rtl)) .calendar-days-of-week, :host(.show-month-and-year:dir(rtl)) .calendar-body, :host(.show-month-and-year:dir(rtl)) .datetime-time {
222
+ left: unset;
223
+ right: unset;
224
+ right: -99999px;
225
+ }
226
+ }
194
227
  }
195
228
  }
196
229
  /**
@@ -284,8 +317,24 @@
284
317
  justify-content: space-between;
285
318
  }
286
319
 
320
+ :host .calendar-action-buttons ion-item,
287
321
  :host .calendar-action-buttons ion-button {
288
- --background: transparent;
322
+ --background: translucent;
323
+ }
324
+
325
+ :host .calendar-action-buttons ion-item ion-label {
326
+ display: flex;
327
+ align-items: center;
328
+ width: auto;
329
+ }
330
+
331
+ :host .calendar-action-buttons ion-item ion-icon {
332
+ -webkit-padding-start: 4px;
333
+ padding-inline-start: 4px;
334
+ -webkit-padding-end: 0;
335
+ padding-inline-end: 0;
336
+ padding-top: 0;
337
+ padding-bottom: 0;
289
338
  }
290
339
 
291
340
  :host .calendar-days-of-week {
@@ -467,72 +516,8 @@
467
516
  position: static;
468
517
  }
469
518
 
470
- :host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
471
- color: var(--ion-color-base);
472
- }
473
-
474
- .calendar-month-year {
475
- min-width: 0;
476
- }
477
-
478
- .calendar-month-year-toggle {
479
- font-family: inherit;
480
- font-size: inherit;
481
- font-style: inherit;
482
- font-weight: inherit;
483
- letter-spacing: inherit;
484
- text-decoration: inherit;
485
- text-indent: inherit;
486
- text-overflow: inherit;
487
- text-transform: inherit;
488
- text-align: inherit;
489
- white-space: inherit;
490
- color: inherit;
491
- position: relative;
492
- border: 0;
493
- outline: none;
494
- background: transparent;
495
- cursor: pointer;
496
- z-index: 1;
497
- }
498
- .calendar-month-year-toggle::after {
499
- left: 0;
500
- right: 0;
501
- top: 0;
502
- bottom: 0;
503
- position: absolute;
504
- content: "";
505
- opacity: 0;
506
- transition: opacity 15ms linear, background-color 15ms linear;
507
- z-index: -1;
508
- }
509
- .calendar-month-year-toggle.ion-focused::after {
510
- background: currentColor;
511
- }
512
- .calendar-month-year-toggle:disabled {
513
- opacity: 0.3;
514
- pointer-events: none;
515
- }
516
-
517
- .calendar-month-year-toggle ion-icon {
518
- -webkit-padding-start: 4px;
519
- padding-inline-start: 4px;
520
- -webkit-padding-end: 0;
521
- padding-inline-end: 0;
522
- padding-top: 0;
523
- padding-bottom: 0;
524
- flex-shrink: 0;
525
- }
526
-
527
- .calendar-month-year-toggle #toggle-wrapper {
528
- display: inline-flex;
529
- align-items: center;
530
- }
531
-
532
- ion-picker {
533
- --highlight-background: var(--wheel-highlight-background);
534
- --highlight-border-radius: var(--wheel-highlight-border-radius);
535
- --fade-background-rgb: var(--wheel-fade-background-rgb);
519
+ :host(.show-month-and-year) .calendar-action-buttons ion-item {
520
+ --color: var(--ion-color-base);
536
521
  }
537
522
 
538
523
  /**
@@ -591,8 +576,8 @@ ion-picker {
591
576
  * }
592
577
  */
593
578
  :host {
594
- --background: var(--ion-color-light, #f6f8fc);
595
- --background-rgb: var(--ion-color-light-rgb, 246, 248, 252);
579
+ --background: var(--ion-color-light, #ffffff);
580
+ --background-rgb: var(--ion-color-light-rgb);
596
581
  --title-color: var(--ion-color-step-600, #666666);
597
582
  }
598
583
 
@@ -621,31 +606,15 @@ ion-picker {
621
606
  margin-top: 10px;
622
607
  }
623
608
 
624
- .calendar-month-year-toggle {
625
- -webkit-padding-start: 16px;
626
- padding-inline-start: 16px;
627
- -webkit-padding-end: 16px;
628
- padding-inline-end: 16px;
629
- padding-top: 0px;
630
- padding-bottom: 0px;
631
- min-height: 44px;
609
+ :host .calendar-action-buttons ion-item {
610
+ --padding-start: 16px;
611
+ --background-hover: transparent;
612
+ --background-activated: transparent;
632
613
  font-size: min(1rem, 25.6px);
633
614
  font-weight: 600;
634
615
  }
635
- .calendar-month-year-toggle.ion-focused::after {
636
- opacity: 0.15;
637
- }
638
-
639
- .calendar-month-year-toggle #toggle-wrapper {
640
- -webkit-margin-start: 0;
641
- margin-inline-start: 0;
642
- -webkit-margin-end: 8px;
643
- margin-inline-end: 8px;
644
- margin-top: 10px;
645
- margin-bottom: 10px;
646
- }
647
616
 
648
- :host .calendar-action-buttons .calendar-month-year-toggle ion-icon,
617
+ :host .calendar-action-buttons ion-item ion-icon,
649
618
  :host .calendar-action-buttons ion-buttons ion-button {
650
619
  color: var(--ion-color-base);
651
620
  }
@@ -815,7 +784,6 @@ ion-picker {
815
784
 
816
785
  .calendar-day.calendar-day-active {
817
786
  background: rgba(var(--ion-color-base-rgb), 0.2);
818
- font-size: min(1.375rem, 35.2px);
819
787
  }
820
788
 
821
789
  /**