@ionic/core 7.6.7-dev.11706551842.118ce6e0 → 7.6.7-dev.11706565090.179aa5a7

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 (692) hide show
  1. package/components/action-sheet.js +5 -3
  2. package/components/alert.js +6 -4
  3. package/components/backdrop.js +16 -2
  4. package/components/button.js +6 -4
  5. package/components/buttons.js +4 -2
  6. package/components/checkbox.js +6 -4
  7. package/components/data.js +2 -2
  8. package/components/gesture-controller.js +1 -1
  9. package/components/icon.js +2 -1
  10. package/components/ion-accordion-group.js +4 -2
  11. package/components/ion-accordion.js +5 -5
  12. package/components/ion-app.js +2 -1
  13. package/components/ion-avatar.js +4 -2
  14. package/components/ion-back-button.js +5 -3
  15. package/components/ion-badge.js +6 -4
  16. package/components/ion-breadcrumb.js +4 -2
  17. package/components/ion-breadcrumbs.js +4 -2
  18. package/components/ion-card-content.js +4 -2
  19. package/components/ion-card-header.js +4 -2
  20. package/components/ion-card-subtitle.js +4 -2
  21. package/components/ion-card-title.js +4 -2
  22. package/components/ion-card.js +4 -2
  23. package/components/ion-chip.js +4 -2
  24. package/components/ion-col.js +2 -1
  25. package/components/ion-content.js +6 -4
  26. package/components/ion-datetime-button.js +5 -3
  27. package/components/ion-datetime.js +69 -43
  28. package/components/ion-fab-button.js +6 -4
  29. package/components/ion-fab-list.js +2 -1
  30. package/components/ion-fab.js +2 -1
  31. package/components/ion-footer.js +4 -2
  32. package/components/ion-grid.js +2 -1
  33. package/components/ion-header.js +4 -2
  34. package/components/ion-img.js +2 -1
  35. package/components/ion-infinite-scroll-content.js +4 -2
  36. package/components/ion-infinite-scroll.js +2 -1
  37. package/components/ion-input.js +6 -4
  38. package/components/ion-item-divider.js +4 -2
  39. package/components/ion-item-group.js +4 -2
  40. package/components/ion-item-option.js +6 -4
  41. package/components/ion-item-options.js +4 -2
  42. package/components/ion-item-sliding.js +2 -1
  43. package/components/ion-loading.js +5 -3
  44. package/components/ion-menu-button.js +5 -3
  45. package/components/ion-menu-toggle.js +2 -1
  46. package/components/ion-menu.js +19 -23
  47. package/components/ion-modal.js +4 -2
  48. package/components/ion-nav.js +5 -8
  49. package/components/ion-picker-column-internal.d.ts +11 -0
  50. package/components/ion-picker-column-internal.js +9 -0
  51. package/components/ion-picker-column.js +2 -2
  52. package/components/{ion-picker-legacy.d.ts → ion-picker-internal.d.ts} +4 -4
  53. package/components/ion-picker-internal.js +9 -0
  54. package/components/ion-picker.js +311 -1
  55. package/components/ion-progress-bar.js +6 -4
  56. package/components/ion-range.js +6 -4
  57. package/components/ion-refresher-content.js +1 -1
  58. package/components/ion-refresher.js +5 -3
  59. package/components/ion-reorder-group.js +2 -1
  60. package/components/ion-reorder.js +4 -2
  61. package/components/ion-router-link.js +3 -2
  62. package/components/ion-router-outlet.js +2 -1
  63. package/components/ion-row.js +2 -1
  64. package/components/ion-searchbar.js +5 -3
  65. package/components/ion-segment-button.js +5 -3
  66. package/components/ion-segment.js +4 -2
  67. package/components/ion-select-option.js +2 -1
  68. package/components/ion-select.js +6 -4
  69. package/components/ion-skeleton-text.js +2 -1
  70. package/components/ion-split-pane.js +19 -28
  71. package/components/ion-tab-bar.js +6 -4
  72. package/components/ion-tab-button.js +4 -2
  73. package/components/ion-tab.js +2 -1
  74. package/components/ion-tabs.js +2 -1
  75. package/components/ion-text.js +2 -1
  76. package/components/ion-textarea.js +6 -4
  77. package/components/ion-thumbnail.js +2 -1
  78. package/components/ion-title.js +4 -2
  79. package/components/ion-toast.js +6 -4
  80. package/components/ion-toggle.js +6 -4
  81. package/components/ion-toolbar.js +4 -2
  82. package/components/item.js +6 -4
  83. package/components/label.js +5 -3
  84. package/components/list-header.js +4 -2
  85. package/components/list.js +4 -2
  86. package/components/note.js +4 -2
  87. package/components/overlays.js +4 -11
  88. package/components/picker-column-internal.js +392 -0
  89. package/components/picker-column.js +324 -351
  90. package/components/{picker.js → picker-internal.js} +24 -29
  91. package/components/popover.js +4 -2
  92. package/components/radio.js +6 -4
  93. package/components/ripple-effect.js +2 -1
  94. package/components/select-popover.js +5 -3
  95. package/components/spinner.js +2 -1
  96. package/css/core.css +34 -101
  97. package/css/core.css.map +1 -1
  98. package/css/global.bundle.css +1 -1
  99. package/css/ionic.bundle.css +1 -1
  100. package/css/ionic.bundle.css.map +1 -1
  101. package/css/typography.css +1 -1
  102. package/dist/cjs/{app-globals-07127773.js → app-globals-b23ca531.js} +1 -1
  103. package/dist/cjs/{button-active-d432e262.js → button-active-856446eb.js} +2 -2
  104. package/dist/cjs/{data-e2bf21de.js → data-a5109f09.js} +1 -1
  105. package/dist/cjs/{gesture-controller-9436f482.js → gesture-controller-c40c045a.js} +0 -1
  106. package/dist/cjs/{index-71f41461.js → index-120d18ce.js} +20 -1
  107. package/dist/cjs/{index-96a721a7.js → index-6fc13528.js} +1 -1
  108. package/dist/cjs/{index-ee07ed59.js → index-d1b59ffa.js} +1 -1
  109. package/dist/cjs/{index-6bb6b651.js → index-e4ab4fe7.js} +3 -3
  110. package/dist/cjs/index.cjs.js +9 -9
  111. package/dist/cjs/ion-accordion_2.cjs.entry.js +11 -9
  112. package/dist/cjs/ion-action-sheet.cjs.entry.js +11 -9
  113. package/dist/cjs/ion-alert.cjs.entry.js +12 -10
  114. package/dist/cjs/ion-app_8.cjs.entry.js +35 -21
  115. package/dist/cjs/ion-avatar_3.cjs.entry.js +14 -9
  116. package/dist/cjs/ion-back-button.cjs.entry.js +7 -5
  117. package/dist/cjs/ion-backdrop.cjs.entry.js +18 -4
  118. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +10 -6
  119. package/dist/cjs/ion-button_2.cjs.entry.js +10 -7
  120. package/dist/cjs/ion-card_5.cjs.entry.js +22 -12
  121. package/dist/cjs/ion-checkbox.cjs.entry.js +8 -6
  122. package/dist/cjs/ion-chip.cjs.entry.js +6 -4
  123. package/dist/cjs/ion-col_3.cjs.entry.js +8 -5
  124. package/dist/cjs/ion-datetime-button.cjs.entry.js +7 -5
  125. package/dist/cjs/ion-datetime_3.cjs.entry.js +71 -45
  126. package/dist/cjs/ion-fab_3.cjs.entry.js +12 -8
  127. package/dist/cjs/ion-img.cjs.entry.js +4 -3
  128. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +8 -5
  129. package/dist/cjs/ion-input.cjs.entry.js +8 -6
  130. package/dist/cjs/ion-item-option_3.cjs.entry.js +15 -10
  131. package/dist/cjs/ion-item_8.cjs.entry.js +35 -20
  132. package/dist/cjs/ion-loading.cjs.entry.js +8 -7
  133. package/dist/cjs/ion-menu_3.cjs.entry.js +32 -32
  134. package/dist/cjs/ion-modal.cjs.entry.js +10 -8
  135. package/dist/cjs/ion-nav_2.cjs.entry.js +8 -10
  136. package/dist/cjs/{ion-picker-column.cjs.entry.js → ion-picker-column-internal.cjs.entry.js} +91 -106
  137. package/dist/cjs/{ion-picker.cjs.entry.js → ion-picker-internal.cjs.entry.js} +22 -27
  138. package/dist/cjs/ion-popover.cjs.entry.js +8 -7
  139. package/dist/cjs/ion-progress-bar.cjs.entry.js +8 -6
  140. package/dist/cjs/ion-radio_2.cjs.entry.js +8 -6
  141. package/dist/cjs/ion-range.cjs.entry.js +9 -7
  142. package/dist/cjs/ion-refresher_2.cjs.entry.js +11 -9
  143. package/dist/cjs/ion-reorder_2.cjs.entry.js +9 -6
  144. package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -3
  145. package/dist/cjs/ion-route_4.cjs.entry.js +5 -4
  146. package/dist/cjs/ion-searchbar.cjs.entry.js +7 -5
  147. package/dist/cjs/ion-segment_2.cjs.entry.js +12 -8
  148. package/dist/cjs/ion-select_3.cjs.entry.js +16 -12
  149. package/dist/cjs/ion-spinner.cjs.entry.js +4 -3
  150. package/dist/cjs/ion-split-pane.cjs.entry.js +20 -28
  151. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +12 -8
  152. package/dist/cjs/ion-tab_2.cjs.entry.js +5 -3
  153. package/dist/cjs/ion-text.cjs.entry.js +4 -3
  154. package/dist/cjs/ion-textarea.cjs.entry.js +8 -6
  155. package/dist/cjs/ion-toast.cjs.entry.js +11 -9
  156. package/dist/cjs/ion-toggle.cjs.entry.js +9 -7
  157. package/dist/cjs/{ionic-global-c70c3fb5.js → ionic-global-e309fc8f.js} +1 -1
  158. package/dist/cjs/ionic.cjs.js +5 -5
  159. package/dist/cjs/{ios.transition-9624a175.js → ios.transition-bcf03726.js} +2 -2
  160. package/dist/cjs/loader.cjs.js +4 -4
  161. package/dist/cjs/{md.transition-786baf9a.js → md.transition-2ea7c4e2.js} +2 -2
  162. package/dist/cjs/{overlays-3afa911d.js → overlays-64ba8dd4.js} +5 -12
  163. package/dist/cjs/{status-tap-66296dcb.js → status-tap-bf82416b.js} +1 -1
  164. package/dist/cjs/{swipe-back-b8f2330b.js → swipe-back-2a858bbd.js} +2 -2
  165. package/dist/collection/collection-manifest.json +7 -8
  166. package/dist/collection/components/accordion/accordion.js +1 -3
  167. package/dist/collection/components/accordion/test/accordion.e2e.js +39 -0
  168. package/dist/collection/components/action-sheet/action-sheet.ios.css +3 -3
  169. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +14 -23
  170. package/dist/collection/components/alert/alert.ios.css +6 -6
  171. package/dist/collection/components/alert/alert.md.css +6 -6
  172. package/dist/collection/components/alert/test/a11y/alert.e2e.js +9 -22
  173. package/dist/collection/components/back-button/back-button.ios.css +1 -1
  174. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +0 -21
  175. package/dist/collection/components/backdrop/backdrop.js +12 -0
  176. package/dist/collection/components/badge/badge.ios.css +1 -1
  177. package/dist/collection/components/badge/badge.md.css +1 -1
  178. package/dist/collection/components/badge/test/a11y/badge.e2e.js +0 -18
  179. package/dist/collection/components/button/button.ios.css +11 -11
  180. package/dist/collection/components/button/button.md.css +9 -9
  181. package/dist/collection/components/button/test/a11y/button.e2e.js +0 -48
  182. package/dist/collection/components/button/test/wrap/button.e2e.js +24 -12
  183. package/dist/collection/components/checkbox/checkbox.ios.css +2 -2
  184. package/dist/collection/components/checkbox/checkbox.md.css +2 -2
  185. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +2 -11
  186. package/dist/collection/components/content/content.css +4 -0
  187. package/dist/collection/components/content/content.js +3 -2
  188. package/dist/collection/components/datetime/datetime.ios.css +40 -93
  189. package/dist/collection/components/datetime/datetime.js +36 -24
  190. package/dist/collection/components/datetime/datetime.md.css +38 -96
  191. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  192. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +9 -6
  193. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +0 -10
  194. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  195. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  196. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  197. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  198. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  199. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +41 -43
  200. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  201. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  202. package/dist/collection/components/datetime/test/values/datetime.e2e.js +12 -15
  203. package/dist/collection/components/datetime/utils/data.js +1 -1
  204. package/dist/collection/components/fab-button/fab-button.ios.css +13 -13
  205. package/dist/collection/components/fab-button/fab-button.md.css +4 -4
  206. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +0 -50
  207. package/dist/collection/components/input/input.ios.css +3 -3
  208. package/dist/collection/components/input/input.md.css +3 -3
  209. package/dist/collection/components/input/test/a11y/input.e2e.js +3 -41
  210. package/dist/collection/components/item/item.ios.css +3 -3
  211. package/dist/collection/components/item/item.md.css +4 -4
  212. package/dist/collection/components/item-option/item-option.ios.css +2 -2
  213. package/dist/collection/components/item-option/item-option.md.css +1 -1
  214. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +0 -28
  215. package/dist/collection/components/label/label.md.css +1 -1
  216. package/dist/collection/components/label/test/a11y/label.e2e.js +0 -20
  217. package/dist/collection/components/loading/loading.md.css +1 -1
  218. package/dist/collection/components/loading/test/a11y/loading.e2e.js +5 -21
  219. package/dist/collection/components/menu/menu.ios.css +3 -64
  220. package/dist/collection/components/menu/menu.js +13 -19
  221. package/dist/collection/components/menu/menu.md.css +3 -64
  222. package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
  223. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +0 -14
  224. package/dist/collection/components/nav/nav.js +2 -22
  225. package/dist/collection/components/nav/test/nav-controller.spec.js +36 -36
  226. package/dist/collection/components/picker/picker.ios.css +211 -112
  227. package/dist/collection/components/picker/picker.js +738 -488
  228. package/dist/collection/components/picker/picker.md.css +198 -108
  229. package/dist/collection/components/picker/test/basic/picker.e2e.js +13 -99
  230. package/dist/collection/components/{picker-legacy → picker}/test/is-open/picker.e2e.js +4 -4
  231. package/dist/collection/components/{picker-legacy → picker}/test/picker-id.spec.js +5 -5
  232. package/dist/collection/components/{picker-legacy → picker}/test/trigger/picker.e2e.js +1 -1
  233. package/dist/collection/components/picker-column/picker-column.js +335 -499
  234. package/dist/collection/components/{picker-legacy-column → picker-column}/picker-column.md.css +1 -1
  235. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-aria.spec.js +3 -3
  236. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-dynamic.spec.js +2 -2
  237. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column.spec.js +2 -2
  238. package/dist/collection/components/{picker-legacy-column → picker-column}/test/standalone/picker-column.e2e.js +3 -3
  239. package/dist/collection/components/{picker-column-option/picker-column-option.md.css → picker-column-internal/picker-column-internal.ios.css} +53 -6
  240. package/dist/collection/components/picker-column-internal/picker-column-internal.js +566 -0
  241. package/dist/collection/components/{picker-column/picker-column.css → picker-column-internal/picker-column-internal.md.css} +83 -96
  242. package/dist/collection/components/{picker-column/test/basic/picker-column.e2e.js → picker-column-internal/test/basic/picker-column-internal.e2e.js} +8 -8
  243. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +162 -0
  244. package/dist/collection/components/{picker-legacy/picker.md.css → picker-internal/picker-internal.ios.css} +100 -192
  245. package/dist/collection/components/picker-internal/picker-internal.js +560 -0
  246. package/dist/collection/components/{picker-legacy/picker.ios.css → picker-internal/picker-internal.md.css} +98 -207
  247. package/dist/collection/components/{picker/test/a11y/picker.e2e.js → picker-internal/test/a11y/picker-internal.e2e.js} +2 -2
  248. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +118 -0
  249. package/dist/collection/components/{picker/test/keyboard-entry/picker.e2e.js → picker-internal/test/keyboard-entry/picker-internal.e2e.js} +42 -79
  250. package/dist/collection/components/progress-bar/progress-bar.ios.css +2 -2
  251. package/dist/collection/components/progress-bar/progress-bar.md.css +2 -2
  252. package/dist/collection/components/radio/radio.ios.css +2 -2
  253. package/dist/collection/components/radio/radio.md.css +2 -2
  254. package/dist/collection/components/radio/test/a11y/radio.e2e.js +81 -114
  255. package/dist/collection/components/range/range.ios.css +1 -1
  256. package/dist/collection/components/range/range.md.css +3 -3
  257. package/dist/collection/components/range/test/a11y/range.e2e.js +8 -18
  258. package/dist/collection/components/refresher/refresher.md.css +2 -2
  259. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  260. package/dist/collection/components/router-link/router-link.css +1 -1
  261. package/dist/collection/components/searchbar/searchbar.ios.css +1 -1
  262. package/dist/collection/components/segment/test/a11y/segment.e2e.js +0 -23
  263. package/dist/collection/components/segment-button/segment-button.md.css +2 -2
  264. package/dist/collection/components/select/select.ios.css +3 -3
  265. package/dist/collection/components/select/select.md.css +3 -3
  266. package/dist/collection/components/select/test/a11y/select.e2e.js +4 -68
  267. package/dist/collection/components/select-popover/select-popover.md.css +4 -4
  268. package/dist/collection/components/split-pane/split-pane.ios.css +54 -2
  269. package/dist/collection/components/split-pane/split-pane.js +12 -46
  270. package/dist/collection/components/split-pane/split-pane.md.css +54 -2
  271. package/dist/collection/components/tab-bar/tab-bar.ios.css +1 -1
  272. package/dist/collection/components/tab-bar/tab-bar.md.css +1 -1
  273. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +3 -41
  274. package/dist/collection/components/textarea/textarea.ios.css +3 -3
  275. package/dist/collection/components/textarea/textarea.md.css +3 -3
  276. package/dist/collection/components/toast/test/a11y/toast.e2e.js +24 -56
  277. package/dist/collection/components/toast/toast.ios.css +1 -1
  278. package/dist/collection/components/toast/toast.md.css +2 -2
  279. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +2 -8
  280. package/dist/collection/components/toggle/toggle.ios.css +2 -2
  281. package/dist/collection/components/toggle/toggle.md.css +2 -2
  282. package/dist/collection/css/test/a11y/typography.e2e.js +0 -18
  283. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  284. package/dist/collection/utils/overlays.js +4 -11
  285. package/dist/collection/utils/test/playwright/generator.js +0 -1
  286. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  287. package/dist/docs.json +42 -501
  288. package/dist/esm/{app-globals-52c78291.js → app-globals-547b455b.js} +1 -1
  289. package/dist/esm/{button-active-3bcbd115.js → button-active-0627c019.js} +2 -2
  290. package/dist/esm/{data-6a31d701.js → data-0f3ab200.js} +2 -2
  291. package/dist/esm/{gesture-controller-314a54f6.js → gesture-controller-1bf57181.js} +1 -1
  292. package/dist/esm/{index-a97c95a7.js → index-1e84fb76.js} +3 -3
  293. package/dist/esm/{index-39782642.js → index-2cf77112.js} +2 -2
  294. package/dist/esm/{index-27668d5b.js → index-6c30dbf0.js} +20 -1
  295. package/dist/esm/{index-01cb9192.js → index-cee7c658.js} +1 -1
  296. package/dist/esm/index.js +9 -9
  297. package/dist/esm/ion-accordion_2.entry.js +11 -9
  298. package/dist/esm/ion-action-sheet.entry.js +11 -9
  299. package/dist/esm/ion-alert.entry.js +12 -10
  300. package/dist/esm/ion-app_8.entry.js +35 -21
  301. package/dist/esm/ion-avatar_3.entry.js +14 -9
  302. package/dist/esm/ion-back-button.entry.js +7 -5
  303. package/dist/esm/ion-backdrop.entry.js +18 -4
  304. package/dist/esm/ion-breadcrumb_2.entry.js +10 -6
  305. package/dist/esm/ion-button_2.entry.js +10 -7
  306. package/dist/esm/ion-card_5.entry.js +22 -12
  307. package/dist/esm/ion-checkbox.entry.js +8 -6
  308. package/dist/esm/ion-chip.entry.js +6 -4
  309. package/dist/esm/ion-col_3.entry.js +8 -5
  310. package/dist/esm/ion-datetime-button.entry.js +7 -5
  311. package/dist/esm/ion-datetime_3.entry.js +70 -44
  312. package/dist/esm/ion-fab_3.entry.js +12 -8
  313. package/dist/esm/ion-img.entry.js +4 -3
  314. package/dist/esm/ion-infinite-scroll_2.entry.js +8 -5
  315. package/dist/esm/ion-input.entry.js +8 -6
  316. package/dist/esm/ion-item-option_3.entry.js +15 -10
  317. package/dist/esm/ion-item_8.entry.js +35 -20
  318. package/dist/esm/ion-loading.entry.js +8 -7
  319. package/dist/esm/ion-menu_3.entry.js +33 -33
  320. package/dist/esm/ion-modal.entry.js +10 -8
  321. package/dist/esm/ion-nav_2.entry.js +8 -10
  322. package/dist/esm/{ion-picker-column.entry.js → ion-picker-column-internal.entry.js} +91 -106
  323. package/dist/esm/{ion-picker.entry.js → ion-picker-internal.entry.js} +22 -27
  324. package/dist/esm/ion-popover.entry.js +8 -7
  325. package/dist/esm/ion-progress-bar.entry.js +8 -6
  326. package/dist/esm/ion-radio_2.entry.js +8 -6
  327. package/dist/esm/ion-range.entry.js +9 -7
  328. package/dist/esm/ion-refresher_2.entry.js +11 -9
  329. package/dist/esm/ion-reorder_2.entry.js +9 -6
  330. package/dist/esm/ion-ripple-effect.entry.js +4 -3
  331. package/dist/esm/ion-route_4.entry.js +5 -4
  332. package/dist/esm/ion-searchbar.entry.js +7 -5
  333. package/dist/esm/ion-segment_2.entry.js +12 -8
  334. package/dist/esm/ion-select_3.entry.js +16 -12
  335. package/dist/esm/ion-spinner.entry.js +4 -3
  336. package/dist/esm/ion-split-pane.entry.js +20 -28
  337. package/dist/esm/ion-tab-bar_2.entry.js +12 -8
  338. package/dist/esm/ion-tab_2.entry.js +5 -3
  339. package/dist/esm/ion-text.entry.js +4 -3
  340. package/dist/esm/ion-textarea.entry.js +8 -6
  341. package/dist/esm/ion-toast.entry.js +11 -9
  342. package/dist/esm/ion-toggle.entry.js +9 -7
  343. package/dist/esm/{ionic-global-8fa0f940.js → ionic-global-4d15b810.js} +1 -1
  344. package/dist/esm/ionic.js +6 -6
  345. package/dist/esm/{ios.transition-62fd50ab.js → ios.transition-15b1aac0.js} +2 -2
  346. package/dist/esm/loader.js +5 -5
  347. package/dist/esm/{md.transition-7e56966a.js → md.transition-3387e6c4.js} +2 -2
  348. package/dist/esm/{overlays-8b24f0d5.js → overlays-b4da1327.js} +5 -12
  349. package/dist/esm/{status-tap-129c01cf.js → status-tap-e1ec6b14.js} +1 -1
  350. package/dist/esm/{swipe-back-a8ca7f93.js → swipe-back-a6f386fc.js} +2 -2
  351. package/dist/esm-es5/app-globals-547b455b.js +4 -0
  352. package/dist/esm-es5/{button-active-3bcbd115.js → button-active-0627c019.js} +1 -1
  353. package/dist/esm-es5/{data-6a31d701.js → data-0f3ab200.js} +1 -1
  354. package/dist/esm-es5/{gesture-controller-314a54f6.js → gesture-controller-1bf57181.js} +1 -1
  355. package/dist/esm-es5/{index-a97c95a7.js → index-1e84fb76.js} +1 -1
  356. package/dist/esm-es5/{index-39782642.js → index-2cf77112.js} +1 -1
  357. package/dist/esm-es5/{index-27668d5b.js → index-6c30dbf0.js} +2 -2
  358. package/dist/esm-es5/{index-01cb9192.js → index-cee7c658.js} +1 -1
  359. package/dist/esm-es5/index.js +1 -1
  360. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  361. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  362. package/dist/esm-es5/ion-alert.entry.js +1 -1
  363. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  364. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  365. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  366. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  367. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  368. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  369. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  370. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  371. package/dist/esm-es5/ion-chip.entry.js +1 -1
  372. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  373. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  374. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  375. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  376. package/dist/esm-es5/ion-img.entry.js +1 -1
  377. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  378. package/dist/esm-es5/ion-input.entry.js +1 -1
  379. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  380. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  381. package/dist/esm-es5/ion-loading.entry.js +1 -1
  382. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  383. package/dist/esm-es5/ion-modal.entry.js +1 -1
  384. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  385. package/dist/esm-es5/ion-picker-column-internal.entry.js +4 -0
  386. package/dist/esm-es5/ion-picker-internal.entry.js +4 -0
  387. package/dist/esm-es5/ion-popover.entry.js +1 -1
  388. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  389. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  390. package/dist/esm-es5/ion-range.entry.js +1 -1
  391. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  392. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  393. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  394. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  395. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  396. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  397. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  398. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  399. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  400. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  401. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  402. package/dist/esm-es5/ion-text.entry.js +1 -1
  403. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  404. package/dist/esm-es5/ion-toast.entry.js +1 -1
  405. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  406. package/dist/esm-es5/{ionic-global-8fa0f940.js → ionic-global-4d15b810.js} +1 -1
  407. package/dist/esm-es5/ionic.js +1 -1
  408. package/dist/esm-es5/{ios.transition-62fd50ab.js → ios.transition-15b1aac0.js} +1 -1
  409. package/dist/esm-es5/loader.js +1 -1
  410. package/dist/esm-es5/{md.transition-7e56966a.js → md.transition-3387e6c4.js} +1 -1
  411. package/dist/esm-es5/overlays-b4da1327.js +4 -0
  412. package/dist/esm-es5/{status-tap-129c01cf.js → status-tap-e1ec6b14.js} +1 -1
  413. package/dist/esm-es5/swipe-back-a6f386fc.js +4 -0
  414. package/dist/html.html-data.json +1 -152
  415. package/dist/ionic/index.esm.js +1 -1
  416. package/dist/ionic/ionic.esm.js +1 -1
  417. package/dist/ionic/ionic.js +1 -1
  418. package/dist/ionic/p-0236b334.entry.js +4 -0
  419. package/dist/ionic/{p-f4e37ba7.entry.js → p-029ef86c.entry.js} +1 -1
  420. package/dist/ionic/{p-eeb87a49.entry.js → p-04518b48.entry.js} +1 -1
  421. package/dist/ionic/p-05df95aa.system.entry.js +4 -0
  422. package/dist/ionic/p-05ead3ca.system.entry.js +4 -0
  423. package/dist/ionic/{p-adba40e6.entry.js → p-06016862.entry.js} +1 -1
  424. package/dist/ionic/p-075c7419.system.entry.js +4 -0
  425. package/dist/ionic/p-0c1112b2.js +4 -0
  426. package/dist/ionic/p-0c992d55.system.entry.js +4 -0
  427. package/dist/ionic/{p-efa1c7f0.entry.js → p-0db338e2.entry.js} +1 -1
  428. package/dist/ionic/p-0f7cd043.entry.js +4 -0
  429. package/dist/ionic/{p-4b94c354.entry.js → p-12de3013.entry.js} +1 -1
  430. package/dist/ionic/{p-114ea79c.system.js → p-137c5c9a.system.js} +1 -1
  431. package/dist/ionic/p-19d4464a.system.entry.js +4 -0
  432. package/dist/ionic/{p-25221a73.js → p-1bd17597.js} +1 -1
  433. package/dist/ionic/{p-53ec4f1c.system.js → p-1dfc11b3.system.js} +1 -1
  434. package/dist/ionic/{p-5a85d71d.entry.js → p-1e7e821a.entry.js} +1 -1
  435. package/dist/ionic/p-202189cf.system.entry.js +4 -0
  436. package/dist/ionic/{p-770f5b43.system.js → p-21714ff4.system.js} +1 -1
  437. package/dist/ionic/p-23900475.system.entry.js +4 -0
  438. package/dist/ionic/p-2c68dba7.system.entry.js +4 -0
  439. package/dist/ionic/{p-3e1e14d9.system.js → p-31b2326e.system.js} +1 -1
  440. package/dist/ionic/{p-a72be676.entry.js → p-326f025b.entry.js} +1 -1
  441. package/dist/ionic/p-32c41ed0.entry.js +4 -0
  442. package/dist/ionic/p-35cd3533.system.entry.js +4 -0
  443. package/dist/ionic/p-35ce400e.system.js +4 -0
  444. package/dist/ionic/{p-ae8747aa.entry.js → p-3b4fd605.entry.js} +1 -1
  445. package/dist/ionic/p-42099bcf.system.entry.js +4 -0
  446. package/dist/ionic/p-430c5c03.entry.js +4 -0
  447. package/dist/ionic/p-44bb5883.entry.js +4 -0
  448. package/dist/ionic/p-45fd74c5.system.entry.js +4 -0
  449. package/dist/ionic/{p-ef3a6b51.system.js → p-461f925c.system.js} +1 -1
  450. package/dist/ionic/p-4626380e.js +4 -0
  451. package/dist/ionic/p-487e1c56.system.entry.js +4 -0
  452. package/dist/ionic/p-4a5f68a8.entry.js +4 -0
  453. package/dist/ionic/{p-23ce95e8.js → p-4cab0235.js} +1 -1
  454. package/dist/ionic/p-4e45ff2e.entry.js +4 -0
  455. package/dist/ionic/{p-01438d78.entry.js → p-4f3237e7.entry.js} +1 -1
  456. package/dist/ionic/p-51fba806.system.entry.js +4 -0
  457. package/dist/ionic/p-531bc946.system.entry.js +4 -0
  458. package/dist/ionic/p-54a8b0f1.system.entry.js +4 -0
  459. package/dist/ionic/{p-0a0a84ce.system.entry.js → p-55d9a577.system.entry.js} +1 -1
  460. package/dist/ionic/p-55f1ccb5.system.entry.js +4 -0
  461. package/dist/ionic/{p-127ff448.entry.js → p-59d8465c.entry.js} +1 -1
  462. package/dist/ionic/p-59f2fc8f.system.entry.js +4 -0
  463. package/dist/ionic/{p-df75bd2c.system.js → p-5a18700d.system.js} +1 -1
  464. package/dist/ionic/p-5a814c30.js +4 -0
  465. package/dist/ionic/p-5b48ec17.system.entry.js +4 -0
  466. package/dist/ionic/p-5bc25ef0.js +4 -0
  467. package/dist/ionic/p-5d890dd9.system.entry.js +4 -0
  468. package/dist/ionic/{p-02e530f5.system.js → p-5f23b1f3.system.js} +1 -1
  469. package/dist/ionic/{p-28525772.entry.js → p-662cd95c.entry.js} +1 -1
  470. package/dist/ionic/{p-bf595ef8.system.entry.js → p-6808c4e5.system.entry.js} +1 -1
  471. package/dist/ionic/{p-d6129c6e.js → p-68a9652f.js} +1 -1
  472. package/dist/ionic/p-692bab4f.system.entry.js +4 -0
  473. package/dist/ionic/p-69331d05.system.entry.js +4 -0
  474. package/dist/ionic/p-6a6477b2.js +4 -0
  475. package/dist/ionic/p-6a7591d5.entry.js +4 -0
  476. package/dist/ionic/p-6afcb018.system.entry.js +4 -0
  477. package/dist/ionic/{p-3c33dc30.system.js → p-6d5fe9cb.system.js} +1 -1
  478. package/dist/ionic/{p-67b167bc.entry.js → p-6d69767b.entry.js} +1 -1
  479. package/dist/ionic/{p-7acc89e0.entry.js → p-6e806eb6.entry.js} +1 -1
  480. package/dist/ionic/{p-7a2c6bb5.entry.js → p-6f738da0.entry.js} +1 -1
  481. package/dist/ionic/p-7209e0fd.entry.js +4 -0
  482. package/dist/ionic/{p-d51674c5.system.js → p-725b4e67.system.js} +1 -1
  483. package/dist/ionic/{p-7ff4359e.system.js → p-7330c044.system.js} +1 -1
  484. package/dist/ionic/p-73765f29.js +4 -0
  485. package/dist/ionic/{p-1d1ce54e.entry.js → p-7722bf7f.entry.js} +1 -1
  486. package/dist/ionic/{p-efcc4b66.entry.js → p-81a1aff5.entry.js} +1 -1
  487. package/dist/ionic/{p-34f05cec.entry.js → p-826de7b3.entry.js} +1 -1
  488. package/dist/ionic/{p-c7bdd72f.entry.js → p-867288b7.entry.js} +1 -1
  489. package/dist/ionic/{p-85e04029.entry.js → p-8890227b.entry.js} +1 -1
  490. package/dist/ionic/p-88f5e520.system.js +4 -0
  491. package/dist/ionic/p-8d0a9949.system.entry.js +4 -0
  492. package/dist/ionic/p-8ebb1da7.entry.js +4 -0
  493. package/dist/ionic/p-91ac3fd2.entry.js +4 -0
  494. package/dist/ionic/p-91bf60cf.system.entry.js +4 -0
  495. package/dist/ionic/{p-42d5f6ae.entry.js → p-92576069.entry.js} +1 -1
  496. package/dist/ionic/{p-a11e45fe.system.entry.js → p-92eccc3f.system.entry.js} +1 -1
  497. package/dist/ionic/{p-03e00f90.js → p-9489c13e.js} +1 -1
  498. package/dist/ionic/p-954c5835.system.entry.js +4 -0
  499. package/dist/ionic/{p-4a4bbcc5.system.js → p-9629eea0.system.js} +2 -2
  500. package/dist/ionic/{p-32b8e50d.system.js → p-976b4e01.system.js} +1 -1
  501. package/dist/ionic/p-98a61e5c.system.entry.js +4 -0
  502. package/dist/ionic/{p-f4bf2448.entry.js → p-9f60867f.entry.js} +1 -1
  503. package/dist/ionic/p-a19270b1.system.entry.js +4 -0
  504. package/dist/ionic/p-a4e226c6.system.entry.js +4 -0
  505. package/dist/ionic/p-a6c16c4d.system.entry.js +4 -0
  506. package/dist/ionic/p-a7ac0274.system.entry.js +4 -0
  507. package/dist/ionic/{p-ae638cb5.system.js → p-a87bf12b.system.js} +1 -1
  508. package/dist/ionic/p-a897afb0.system.entry.js +4 -0
  509. package/dist/ionic/{p-0bd51c34.system.js → p-abe101da.system.js} +1 -1
  510. package/dist/ionic/p-b06ac4a5.system.js +4 -0
  511. package/dist/ionic/p-b2da6333.system.entry.js +4 -0
  512. package/dist/ionic/p-b469b68f.system.entry.js +4 -0
  513. package/dist/ionic/p-b4a11180.system.entry.js +4 -0
  514. package/dist/ionic/p-b5d01f8a.system.js +5 -0
  515. package/dist/ionic/{p-13387c28.entry.js → p-b741cc8b.entry.js} +1 -1
  516. package/dist/ionic/{p-9b97df10.js → p-bb3615f7.js} +1 -1
  517. package/dist/ionic/p-bcca5b29.system.entry.js +4 -0
  518. package/dist/ionic/p-bd003be4.entry.js +4 -0
  519. package/dist/ionic/{p-9cd05453.entry.js → p-c4120c66.entry.js} +1 -1
  520. package/dist/ionic/{p-bb41c476.system.entry.js → p-c6d76aa1.system.entry.js} +1 -1
  521. package/dist/ionic/{p-20d469d0.system.js → p-c7c8429a.system.js} +1 -1
  522. package/dist/ionic/p-c918ba65.system.entry.js +4 -0
  523. package/dist/ionic/p-c995da88.system.js +4 -0
  524. package/dist/ionic/{p-6d42a37b.entry.js → p-c99cd2f9.entry.js} +1 -1
  525. package/dist/ionic/{p-598bd8e2.entry.js → p-cb595f3e.entry.js} +1 -1
  526. package/dist/ionic/p-cb9ca32e.system.entry.js +4 -0
  527. package/dist/ionic/{p-fd41bd8a.js → p-cbffad8e.js} +1 -1
  528. package/dist/ionic/p-d64aa364.system.entry.js +4 -0
  529. package/dist/ionic/p-d663ad5a.system.entry.js +4 -0
  530. package/dist/ionic/{p-c9219299.entry.js → p-d86b272c.entry.js} +1 -1
  531. package/dist/ionic/{p-cb304e5f.system.entry.js → p-d9b83045.system.entry.js} +1 -1
  532. package/dist/ionic/{p-870453fd.entry.js → p-dd4721d8.entry.js} +1 -1
  533. package/dist/ionic/p-defe1fb9.entry.js +4 -0
  534. package/dist/ionic/{p-0055506a.entry.js → p-df5f5d91.entry.js} +1 -1
  535. package/dist/ionic/{p-9928b546.entry.js → p-dfba8693.entry.js} +1 -1
  536. package/dist/ionic/p-e077e369.entry.js +4 -0
  537. package/dist/ionic/p-e36a267c.system.entry.js +4 -0
  538. package/dist/ionic/{p-c9028fdc.entry.js → p-e482cef1.entry.js} +1 -1
  539. package/dist/ionic/{p-8ededb41.js → p-f5d2dc9b.js} +1 -1
  540. package/dist/ionic/p-f695e427.system.entry.js +4 -0
  541. package/dist/ionic/{p-a64accf5.js → p-f7dce541.js} +1 -1
  542. package/dist/ionic/p-fab9fc33.entry.js +4 -0
  543. package/dist/ionic/{p-d545e325.entry.js → p-fc0dd9b6.entry.js} +1 -1
  544. package/dist/ionic/p-fe212d55.system.js +4 -0
  545. package/dist/types/components/backdrop/backdrop.d.ts +3 -0
  546. package/dist/types/components/datetime/datetime.d.ts +1 -0
  547. package/dist/types/components/datetime/utils/data.d.ts +7 -11
  548. package/dist/types/components/menu/menu.d.ts +2 -12
  549. package/dist/types/components/nav/nav.d.ts +1 -4
  550. package/dist/types/components/picker/picker.d.ts +129 -75
  551. package/dist/types/components/picker-column/picker-column.d.ts +39 -99
  552. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +5 -0
  553. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +102 -0
  554. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +8 -0
  555. package/dist/types/components/picker-internal/picker-internal.d.ts +102 -0
  556. package/dist/types/components/split-pane/split-pane.d.ts +2 -14
  557. package/dist/types/components.d.ts +122 -159
  558. package/dist/types/interface.d.ts +1 -1
  559. package/dist/types/utils/config.d.ts +2 -2
  560. package/dist/types/utils/gesture/gesture-controller.d.ts +0 -1
  561. package/dist/types/utils/overlays.d.ts +2 -5
  562. package/hydrate/index.js +1561 -1531
  563. package/package.json +2 -2
  564. package/components/ion-picker-column-option.d.ts +0 -11
  565. package/components/ion-picker-column-option.js +0 -9
  566. package/components/ion-picker-legacy-column.d.ts +0 -11
  567. package/components/ion-picker-legacy-column.js +0 -9
  568. package/components/ion-picker-legacy.js +0 -309
  569. package/components/picker-column-option.js +0 -122
  570. package/components/picker-column2.js +0 -379
  571. package/css/themes/dark.always.css +0 -122
  572. package/css/themes/dark.always.css.map +0 -1
  573. package/css/themes/dark.class.css +0 -122
  574. package/css/themes/dark.class.css.map +0 -1
  575. package/css/themes/dark.css +0 -3
  576. package/css/themes/dark.css.map +0 -1
  577. package/css/themes/dark.system.css +0 -124
  578. package/css/themes/dark.system.css.map +0 -1
  579. package/dist/cjs/ion-picker-column-option.cjs.entry.js +0 -104
  580. package/dist/collection/components/accordion/test/disabled/accordion.e2e.js +0 -94
  581. package/dist/collection/components/accordion/test/readonly/accordion.e2e.js +0 -94
  582. package/dist/collection/components/picker/test/custom/picker.e2e.js +0 -85
  583. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +0 -91
  584. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +0 -39
  585. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -87
  586. package/dist/collection/components/picker-column-option/picker-column-option.js +0 -173
  587. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +0 -18
  588. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +0 -37
  589. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +0 -29
  590. package/dist/collection/components/picker-legacy/picker.js +0 -811
  591. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +0 -25
  592. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -419
  593. package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +0 -24
  594. package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +0 -25
  595. package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +0 -23
  596. package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +0 -32
  597. package/dist/collection/components/split-pane/test/wrapped-menu/split-pane.e2e.js +0 -41
  598. package/dist/collection/themes/test/colors/theme.e2e.js +0 -114
  599. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +0 -65
  600. package/dist/esm/ion-picker-column-option.entry.js +0 -100
  601. package/dist/esm-es5/app-globals-52c78291.js +0 -4
  602. package/dist/esm-es5/ion-picker-column-option.entry.js +0 -4
  603. package/dist/esm-es5/ion-picker-column.entry.js +0 -4
  604. package/dist/esm-es5/ion-picker.entry.js +0 -4
  605. package/dist/esm-es5/overlays-8b24f0d5.js +0 -4
  606. package/dist/esm-es5/swipe-back-a8ca7f93.js +0 -4
  607. package/dist/ionic/p-005e0ad0.js +0 -4
  608. package/dist/ionic/p-0708a9c1.system.js +0 -4
  609. package/dist/ionic/p-09890dd9.entry.js +0 -4
  610. package/dist/ionic/p-0d3c5eaa.system.entry.js +0 -4
  611. package/dist/ionic/p-10607f89.entry.js +0 -4
  612. package/dist/ionic/p-14311a1d.system.entry.js +0 -4
  613. package/dist/ionic/p-1a5f0313.system.js +0 -4
  614. package/dist/ionic/p-1cca10d6.system.js +0 -4
  615. package/dist/ionic/p-26976bfc.system.entry.js +0 -4
  616. package/dist/ionic/p-2c02fb1c.system.entry.js +0 -4
  617. package/dist/ionic/p-2fda36b6.system.entry.js +0 -4
  618. package/dist/ionic/p-3065cecc.entry.js +0 -4
  619. package/dist/ionic/p-381ca6f8.system.entry.js +0 -4
  620. package/dist/ionic/p-3f3ae637.system.entry.js +0 -4
  621. package/dist/ionic/p-41dcd6c0.system.entry.js +0 -4
  622. package/dist/ionic/p-4a13a07c.system.entry.js +0 -4
  623. package/dist/ionic/p-51abefb7.system.js +0 -4
  624. package/dist/ionic/p-5d22095a.entry.js +0 -4
  625. package/dist/ionic/p-677cb2f7.js +0 -4
  626. package/dist/ionic/p-67c1996d.entry.js +0 -4
  627. package/dist/ionic/p-67c3a2a8.system.js +0 -5
  628. package/dist/ionic/p-6ba863b1.system.entry.js +0 -4
  629. package/dist/ionic/p-6db68be9.system.entry.js +0 -4
  630. package/dist/ionic/p-71f30cfc.system.entry.js +0 -4
  631. package/dist/ionic/p-75017f39.system.entry.js +0 -4
  632. package/dist/ionic/p-7751def0.system.entry.js +0 -4
  633. package/dist/ionic/p-7a1ef06a.system.entry.js +0 -4
  634. package/dist/ionic/p-7a343dca.system.entry.js +0 -4
  635. package/dist/ionic/p-7a3e1f37.system.entry.js +0 -4
  636. package/dist/ionic/p-7ae141f1.entry.js +0 -4
  637. package/dist/ionic/p-7e8ef0bb.system.entry.js +0 -4
  638. package/dist/ionic/p-88d99112.system.entry.js +0 -4
  639. package/dist/ionic/p-8a1d33e3.system.entry.js +0 -4
  640. package/dist/ionic/p-8aaade76.entry.js +0 -4
  641. package/dist/ionic/p-94265b3d.entry.js +0 -4
  642. package/dist/ionic/p-943caced.system.entry.js +0 -4
  643. package/dist/ionic/p-95d8071f.entry.js +0 -4
  644. package/dist/ionic/p-9a9deb33.system.entry.js +0 -4
  645. package/dist/ionic/p-9c9eb63f.system.entry.js +0 -4
  646. package/dist/ionic/p-9cbfb298.system.entry.js +0 -4
  647. package/dist/ionic/p-a01d6784.system.entry.js +0 -4
  648. package/dist/ionic/p-a068b1c7.system.entry.js +0 -4
  649. package/dist/ionic/p-a259fa5f.system.entry.js +0 -4
  650. package/dist/ionic/p-a60a1ce5.js +0 -4
  651. package/dist/ionic/p-acbb36a1.entry.js +0 -4
  652. package/dist/ionic/p-bad61026.system.entry.js +0 -4
  653. package/dist/ionic/p-bc59962f.system.entry.js +0 -4
  654. package/dist/ionic/p-c16d9f2c.system.entry.js +0 -4
  655. package/dist/ionic/p-c33d312f.js +0 -4
  656. package/dist/ionic/p-c9b8f9e5.system.entry.js +0 -4
  657. package/dist/ionic/p-cb0cfc39.system.entry.js +0 -4
  658. package/dist/ionic/p-cd6bb7f5.system.entry.js +0 -4
  659. package/dist/ionic/p-d6674fed.entry.js +0 -4
  660. package/dist/ionic/p-ddbb2d5b.system.js +0 -4
  661. package/dist/ionic/p-df812ebe.system.entry.js +0 -4
  662. package/dist/ionic/p-dfd21411.system.entry.js +0 -4
  663. package/dist/ionic/p-e22bf111.js +0 -4
  664. package/dist/ionic/p-e652d9e4.entry.js +0 -4
  665. package/dist/ionic/p-e87564bc.entry.js +0 -4
  666. package/dist/ionic/p-ea4b254e.entry.js +0 -4
  667. package/dist/ionic/p-ea9a8424.system.entry.js +0 -4
  668. package/dist/ionic/p-eaa4e76f.system.entry.js +0 -4
  669. package/dist/ionic/p-eba17ff5.system.entry.js +0 -4
  670. package/dist/ionic/p-ee1214e0.system.entry.js +0 -4
  671. package/dist/ionic/p-f06858a6.entry.js +0 -4
  672. package/dist/ionic/p-f08d8865.js +0 -4
  673. package/dist/ionic/p-f2ed3039.system.entry.js +0 -4
  674. package/dist/ionic/p-f3478ed6.system.entry.js +0 -4
  675. package/dist/ionic/p-fc58a772.system.entry.js +0 -4
  676. package/dist/ionic/p-fdc3ff96.entry.js +0 -4
  677. package/dist/types/components/picker/picker-interfaces.d.ts +0 -8
  678. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +0 -4
  679. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -66
  680. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  681. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  682. /package/dist/collection/components/{picker-legacy → picker}/animations/ios.enter.js +0 -0
  683. /package/dist/collection/components/{picker-legacy → picker}/animations/ios.leave.js +0 -0
  684. /package/dist/collection/components/picker/{picker-interfaces.js → picker-interface.js} +0 -0
  685. /package/dist/collection/components/{picker-legacy-column → picker-column}/picker-column.ios.css +0 -0
  686. /package/dist/collection/components/{picker-legacy-column → picker-column}/test/test.utils.js +0 -0
  687. /package/dist/collection/components/{picker-column/picker-column-interfaces.js → picker-column-internal/picker-column-internal-interfaces.js} +0 -0
  688. /package/dist/collection/components/{picker-legacy/picker-interface.js → picker-internal/picker-internal-interfaces.js} +0 -0
  689. /package/dist/types/components/{picker-legacy → picker}/animations/ios.enter.d.ts +0 -0
  690. /package/dist/types/components/{picker-legacy → picker}/animations/ios.leave.d.ts +0 -0
  691. /package/dist/types/components/{picker-legacy → picker}/picker-interface.d.ts +0 -0
  692. /package/dist/types/components/{picker-legacy-column → picker-column}/test/test.utils.d.ts +0 -0
@@ -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,8 +71,8 @@
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
77
  --checkmark-width: 1;
78
78
  --transition: none;
@@ -71,8 +71,8 @@
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
77
  --checkmark-width: 1;
78
78
  --transition: none;
@@ -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
  });
@@ -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, { role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
339
+ return (h(Host, { class: createColorClasses(this.color, {
339
340
  [mode]: true,
340
341
  'content-sizing': hostContext('ion-popover', this.el),
341
342
  overscroll: forceOverscroll,
@@ -343,7 +344,7 @@ export class Content {
343
344
  }), style: {
344
345
  '--offset-top': `${this.cTop}px`,
345
346
  '--offset-bottom': `${this.cBottom}px`,
346
- } }, h("div", { ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), h("div", { class: {
347
+ } }, h("div", { ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), h(TagType, { class: {
347
348
  'inner-scroll': true,
348
349
  'scroll-x': scrollX,
349
350
  'scroll-y': scrollY,
@@ -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) {
@@ -306,8 +317,24 @@
306
317
  justify-content: space-between;
307
318
  }
308
319
 
320
+ :host .calendar-action-buttons ion-item,
309
321
  :host .calendar-action-buttons ion-button {
310
- --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;
311
338
  }
312
339
 
313
340
  :host .calendar-days-of-week {
@@ -489,72 +516,8 @@
489
516
  position: static;
490
517
  }
491
518
 
492
- :host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
493
- color: var(--ion-color-base);
494
- }
495
-
496
- .calendar-month-year {
497
- min-width: 0;
498
- }
499
-
500
- .calendar-month-year-toggle {
501
- font-family: inherit;
502
- font-size: inherit;
503
- font-style: inherit;
504
- font-weight: inherit;
505
- letter-spacing: inherit;
506
- text-decoration: inherit;
507
- text-indent: inherit;
508
- text-overflow: inherit;
509
- text-transform: inherit;
510
- text-align: inherit;
511
- white-space: inherit;
512
- color: inherit;
513
- position: relative;
514
- border: 0;
515
- outline: none;
516
- background: transparent;
517
- cursor: pointer;
518
- z-index: 1;
519
- }
520
- .calendar-month-year-toggle::after {
521
- left: 0;
522
- right: 0;
523
- top: 0;
524
- bottom: 0;
525
- position: absolute;
526
- content: "";
527
- opacity: 0;
528
- transition: opacity 15ms linear, background-color 15ms linear;
529
- z-index: -1;
530
- }
531
- .calendar-month-year-toggle.ion-focused::after {
532
- background: currentColor;
533
- }
534
- .calendar-month-year-toggle:disabled {
535
- opacity: 0.3;
536
- pointer-events: none;
537
- }
538
-
539
- .calendar-month-year-toggle ion-icon {
540
- -webkit-padding-start: 4px;
541
- padding-inline-start: 4px;
542
- -webkit-padding-end: 0;
543
- padding-inline-end: 0;
544
- padding-top: 0;
545
- padding-bottom: 0;
546
- flex-shrink: 0;
547
- }
548
-
549
- .calendar-month-year-toggle #toggle-wrapper {
550
- display: inline-flex;
551
- align-items: center;
552
- }
553
-
554
- ion-picker {
555
- --highlight-background: var(--wheel-highlight-background);
556
- --highlight-border-radius: var(--wheel-highlight-border-radius);
557
- --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);
558
521
  }
559
522
 
560
523
  /**
@@ -613,8 +576,8 @@ ion-picker {
613
576
  * }
614
577
  */
615
578
  :host {
616
- --background: var(--ion-color-light, #f6f8fc);
617
- --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);
618
581
  --title-color: var(--ion-color-step-600, #666666);
619
582
  }
620
583
 
@@ -643,31 +606,15 @@ ion-picker {
643
606
  margin-top: 10px;
644
607
  }
645
608
 
646
- .calendar-month-year-toggle {
647
- -webkit-padding-start: 16px;
648
- padding-inline-start: 16px;
649
- -webkit-padding-end: 16px;
650
- padding-inline-end: 16px;
651
- padding-top: 0px;
652
- padding-bottom: 0px;
653
- min-height: 44px;
609
+ :host .calendar-action-buttons ion-item {
610
+ --padding-start: 16px;
611
+ --background-hover: transparent;
612
+ --background-activated: transparent;
654
613
  font-size: min(1rem, 25.6px);
655
614
  font-weight: 600;
656
615
  }
657
- .calendar-month-year-toggle.ion-focused::after {
658
- opacity: 0.15;
659
- }
660
-
661
- .calendar-month-year-toggle #toggle-wrapper {
662
- -webkit-margin-start: 0;
663
- margin-inline-start: 0;
664
- -webkit-margin-end: 8px;
665
- margin-inline-end: 8px;
666
- margin-top: 10px;
667
- margin-bottom: 10px;
668
- }
669
616
 
670
- :host .calendar-action-buttons .calendar-month-year-toggle ion-icon,
617
+ :host .calendar-action-buttons ion-item ion-icon,
671
618
  :host .calendar-action-buttons ion-buttons ion-button {
672
619
  color: var(--ion-color-base);
673
620
  }
@@ -1015,7 +1015,7 @@ export class Datetime {
1015
1015
  const renderArray = forcePresentation === 'time-date'
1016
1016
  ? [this.renderTimePickerColumns(forcePresentation), this.renderDatePickerColumns(forcePresentation)]
1017
1017
  : [this.renderDatePickerColumns(forcePresentation), this.renderTimePickerColumns(forcePresentation)];
1018
- return h("ion-picker", null, renderArray);
1018
+ return h("ion-picker-internal", null, renderArray);
1019
1019
  }
1020
1020
  renderDatePickerColumns(forcePresentation) {
1021
1021
  return forcePresentation === 'date-time' || forcePresentation === 'time-date'
@@ -1074,7 +1074,7 @@ export class Datetime {
1074
1074
  const todayString = workingParts.day !== null
1075
1075
  ? `${workingParts.year}-${workingParts.month}-${workingParts.day}`
1076
1076
  : `${defaultParts.year}-${defaultParts.month}-${defaultParts.day}`;
1077
- return (h("ion-picker-column", { class: "date-column", color: this.color, disabled: disabled, value: todayString, onIonChange: (ev) => {
1077
+ return (h("ion-picker-column-internal", { class: "date-column", color: this.color, disabled: disabled, items: items, value: todayString, onIonChange: (ev) => {
1078
1078
  // TODO(FW-1823) Remove this when iOS 14 support is dropped.
1079
1079
  // Due to a Safari 14 issue we need to destroy
1080
1080
  // the scroll listener before we update state
@@ -1090,7 +1090,7 @@ export class Datetime {
1090
1090
  // the working parts have been updated.
1091
1091
  this.initializeCalendarListener();
1092
1092
  ev.stopPropagation();
1093
- } }, items.map((item) => (h("ion-picker-column-option", { part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
1093
+ } }));
1094
1094
  }
1095
1095
  renderIndividualDatePickerColumns(forcePresentation) {
1096
1096
  const { workingParts, isDateEnabled } = this;
@@ -1158,8 +1158,7 @@ export class Datetime {
1158
1158
  }
1159
1159
  const { disabled, workingParts } = this;
1160
1160
  const activePart = this.getActivePartsWithFallback();
1161
- const pickerColumnValue = (_a = (workingParts.day !== null ? workingParts.day : this.defaultParts.day)) !== null && _a !== void 0 ? _a : undefined;
1162
- return (h("ion-picker-column", { class: "day-column", color: this.color, disabled: disabled, value: pickerColumnValue, onIonChange: (ev) => {
1161
+ return (h("ion-picker-column-internal", { class: "day-column", color: this.color, disabled: disabled, items: days, value: (_a = (workingParts.day !== null ? workingParts.day : this.defaultParts.day)) !== null && _a !== void 0 ? _a : undefined, onIonChange: (ev) => {
1163
1162
  // TODO(FW-1823) Remove this when iOS 14 support is dropped.
1164
1163
  // Due to a Safari 14 issue we need to destroy
1165
1164
  // the scroll listener before we update state
@@ -1173,7 +1172,7 @@ export class Datetime {
1173
1172
  // the working parts have been updated.
1174
1173
  this.initializeCalendarListener();
1175
1174
  ev.stopPropagation();
1176
- } }, days.map((day) => (h("ion-picker-column-option", { part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
1175
+ } }));
1177
1176
  }
1178
1177
  renderMonthPickerColumn(months) {
1179
1178
  if (months.length === 0) {
@@ -1181,7 +1180,7 @@ export class Datetime {
1181
1180
  }
1182
1181
  const { disabled, workingParts } = this;
1183
1182
  const activePart = this.getActivePartsWithFallback();
1184
- return (h("ion-picker-column", { class: "month-column", color: this.color, disabled: disabled, value: workingParts.month, onIonChange: (ev) => {
1183
+ return (h("ion-picker-column-internal", { class: "month-column", color: this.color, disabled: disabled, items: months, value: workingParts.month, onIonChange: (ev) => {
1185
1184
  // TODO(FW-1823) Remove this when iOS 14 support is dropped.
1186
1185
  // Due to a Safari 14 issue we need to destroy
1187
1186
  // the scroll listener before we update state
@@ -1195,7 +1194,7 @@ export class Datetime {
1195
1194
  // the working parts have been updated.
1196
1195
  this.initializeCalendarListener();
1197
1196
  ev.stopPropagation();
1198
- } }, months.map((month) => (h("ion-picker-column-option", { part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
1197
+ } }));
1199
1198
  }
1200
1199
  renderYearPickerColumn(years) {
1201
1200
  if (years.length === 0) {
@@ -1203,7 +1202,7 @@ export class Datetime {
1203
1202
  }
1204
1203
  const { disabled, workingParts } = this;
1205
1204
  const activePart = this.getActivePartsWithFallback();
1206
- return (h("ion-picker-column", { class: "year-column", color: this.color, disabled: disabled, value: workingParts.year, onIonChange: (ev) => {
1205
+ return (h("ion-picker-column-internal", { class: "year-column", color: this.color, disabled: disabled, items: years, value: workingParts.year, onIonChange: (ev) => {
1207
1206
  // TODO(FW-1823) Remove this when iOS 14 support is dropped.
1208
1207
  // Due to a Safari 14 issue we need to destroy
1209
1208
  // the scroll listener before we update state
@@ -1217,7 +1216,7 @@ export class Datetime {
1217
1216
  // the working parts have been updated.
1218
1217
  this.initializeCalendarListener();
1219
1218
  ev.stopPropagation();
1220
- } }, years.map((year) => (h("ion-picker-column-option", { part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
1219
+ } }));
1221
1220
  }
1222
1221
  renderTimePickerColumns(forcePresentation) {
1223
1222
  if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
@@ -1246,22 +1245,22 @@ export class Datetime {
1246
1245
  if (hoursData.length === 0)
1247
1246
  return [];
1248
1247
  const activePart = this.getActivePartsWithFallback();
1249
- return (h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
1248
+ return (h("ion-picker-column-internal", { color: this.color, disabled: disabled, value: activePart.hour, items: hoursData, numericInput: true, onIonChange: (ev) => {
1250
1249
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
1251
1250
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { hour: ev.detail.value }));
1252
1251
  ev.stopPropagation();
1253
- } }, hoursData.map((hour) => (h("ion-picker-column-option", { part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
1252
+ } }));
1254
1253
  }
1255
1254
  renderMinutePickerColumn(minutesData) {
1256
1255
  const { disabled, workingParts } = this;
1257
1256
  if (minutesData.length === 0)
1258
1257
  return [];
1259
1258
  const activePart = this.getActivePartsWithFallback();
1260
- return (h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
1259
+ return (h("ion-picker-column-internal", { color: this.color, disabled: disabled, value: activePart.minute, items: minutesData, numericInput: true, onIonChange: (ev) => {
1261
1260
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
1262
1261
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { minute: ev.detail.value }));
1263
1262
  ev.stopPropagation();
1264
- } }, minutesData.map((minute) => (h("ion-picker-column-option", { part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
1263
+ } }));
1265
1264
  }
1266
1265
  renderDayPeriodPickerColumn(dayPeriodData) {
1267
1266
  const { disabled, workingParts } = this;
@@ -1270,12 +1269,12 @@ export class Datetime {
1270
1269
  }
1271
1270
  const activePart = this.getActivePartsWithFallback();
1272
1271
  const isDayPeriodRTL = isLocaleDayPeriodRTL(this.locale);
1273
- return (h("ion-picker-column", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
1272
+ return (h("ion-picker-column-internal", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, items: dayPeriodData, onIonChange: (ev) => {
1274
1273
  const hour = calculateHourFromAMPM(workingParts, ev.detail.value);
1275
1274
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
1276
1275
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { ampm: ev.detail.value, hour }));
1277
1276
  ev.stopPropagation();
1278
- } }, dayPeriodData.map((dayPeriod) => (h("ion-picker-column-option", { part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
1277
+ } }));
1279
1278
  }
1280
1279
  renderWheelView(forcePresentation) {
1281
1280
  const { locale } = this;
@@ -1296,11 +1295,26 @@ export class Datetime {
1296
1295
  const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
1297
1296
  // don't use the inheritAttributes util because it removes dir from the host, and we still need that
1298
1297
  const hostDir = this.el.getAttribute('dir') || undefined;
1299
- return (h("div", { class: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("button", { class: {
1300
- 'calendar-month-year-toggle': true,
1301
- 'ion-activatable': true,
1302
- 'ion-focusable': true,
1303
- }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), mode === 'md' && h("ion-ripple-effect", null))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
1298
+ return (h("div", { class: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("ion-item", { part: "month-year-button", ref: (el) => (this.monthYearToggleItemRef = el), button: true, "aria-label": "Show year picker", detail: false, lines: "none", disabled: disabled, onClick: () => {
1299
+ var _a;
1300
+ this.toggleMonthAndYearView();
1301
+ /**
1302
+ * TODO: FW-3547
1303
+ *
1304
+ * Currently there is not a way to set the aria-label on the inner button
1305
+ * on the `ion-item` and have it be reactive to changes. This is a workaround
1306
+ * until we either refactor `ion-item` to a button or Stencil adds a way to
1307
+ * have reactive props for built-in properties, such as `aria-label`.
1308
+ */
1309
+ const { monthYearToggleItemRef } = this;
1310
+ if (monthYearToggleItemRef) {
1311
+ const btn = (_a = monthYearToggleItemRef.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-native');
1312
+ if (btn) {
1313
+ const monthYearAriaLabel = this.showMonthAndYear ? 'Hide year picker' : 'Show year picker';
1314
+ btn.setAttribute('aria-label', monthYearAriaLabel);
1315
+ }
1316
+ }
1317
+ } }, h("ion-label", null, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
1304
1318
  return h("div", { class: "day-of-week" }, d);
1305
1319
  }))));
1306
1320
  }
@@ -1461,7 +1475,7 @@ export class Datetime {
1461
1475
  * This will correctly scroll the element position to the correct time value,
1462
1476
  * before the popover is fully presented.
1463
1477
  */
1464
- const cols = ev.target.querySelectorAll('ion-picker-column');
1478
+ const cols = ev.target.querySelectorAll('ion-picker-column-internal');
1465
1479
  // TODO (FW-615): Potentially remove this when intersection observers are fixed in picker column
1466
1480
  cols.forEach((col) => col.scrollActiveItemIntoView());
1467
1481
  }, style: {
@@ -2392,5 +2406,3 @@ export class Datetime {
2392
2406
  }
2393
2407
  }
2394
2408
  let datetimeIds = 0;
2395
- const WHEEL_ITEM_PART = 'wheel-item';
2396
- const WHEEL_ITEM_ACTIVE_PART = `active`;