@ionic/core 7.6.7-dev.11706551842.118ce6e0 → 7.6.7-dev.11706564121.13426d8f

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 (525) hide show
  1. package/components/action-sheet.js +1 -1
  2. package/components/alert.js +2 -2
  3. package/components/backdrop.js +12 -0
  4. package/components/button.js +2 -2
  5. package/components/checkbox.js +2 -2
  6. package/components/data.js +1 -1
  7. package/components/gesture-controller.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-badge.js +2 -2
  10. package/components/ion-content.js +4 -3
  11. package/components/ion-datetime.js +64 -40
  12. package/components/ion-fab-button.js +2 -2
  13. package/components/ion-input.js +2 -2
  14. package/components/ion-item-option.js +2 -2
  15. package/components/ion-loading.js +1 -1
  16. package/components/ion-menu-button.js +1 -1
  17. package/components/ion-menu.js +15 -21
  18. package/components/ion-modal.js +1 -3
  19. package/components/ion-nav.js +3 -7
  20. package/components/ion-picker-column-internal.d.ts +11 -0
  21. package/components/ion-picker-column-internal.js +9 -0
  22. package/components/ion-picker-column.js +2 -2
  23. package/components/{ion-picker-legacy.d.ts → ion-picker-internal.d.ts} +4 -4
  24. package/components/ion-picker-internal.js +9 -0
  25. package/components/ion-picker.js +309 -1
  26. package/components/ion-progress-bar.js +2 -2
  27. package/components/ion-range.js +2 -2
  28. package/components/ion-refresher-content.js +1 -1
  29. package/components/ion-refresher.js +1 -1
  30. package/components/ion-router-link.js +1 -1
  31. package/components/ion-searchbar.js +1 -1
  32. package/components/ion-segment-button.js +1 -1
  33. package/components/ion-select.js +2 -2
  34. package/components/ion-split-pane.js +15 -26
  35. package/components/ion-tab-bar.js +2 -2
  36. package/components/ion-textarea.js +2 -2
  37. package/components/ion-toast.js +2 -2
  38. package/components/ion-toggle.js +2 -2
  39. package/components/item.js +8 -2
  40. package/components/label.js +1 -1
  41. package/components/overlays.js +9 -12
  42. package/components/picker-column-internal.js +390 -0
  43. package/components/picker-column.js +322 -351
  44. package/components/{picker.js → picker-internal.js} +22 -29
  45. package/components/radio.js +2 -2
  46. package/components/select-popover.js +1 -1
  47. package/css/core.css +34 -101
  48. package/css/core.css.map +1 -1
  49. package/css/global.bundle.css +1 -1
  50. package/css/ionic.bundle.css +1 -1
  51. package/css/ionic.bundle.css.map +1 -1
  52. package/css/typography.css +1 -1
  53. package/dist/cjs/{button-active-d432e262.js → button-active-85665616.js} +1 -1
  54. package/dist/cjs/{data-e2bf21de.js → data-a5109f09.js} +1 -1
  55. package/dist/cjs/{gesture-controller-9436f482.js → gesture-controller-c40c045a.js} +0 -1
  56. package/dist/cjs/{index-ee07ed59.js → index-d1b59ffa.js} +1 -1
  57. package/dist/cjs/index.cjs.js +3 -3
  58. package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -5
  59. package/dist/cjs/ion-alert.cjs.entry.js +6 -6
  60. package/dist/cjs/ion-app_8.cjs.entry.js +5 -4
  61. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  62. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  63. package/dist/cjs/ion-backdrop.cjs.entry.js +12 -0
  64. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  65. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
  66. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  67. package/dist/cjs/ion-datetime_3.cjs.entry.js +57 -37
  68. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-input.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-item-option_3.cjs.entry.js +3 -3
  71. package/dist/cjs/ion-item_8.cjs.entry.js +8 -3
  72. package/dist/cjs/ion-loading.cjs.entry.js +2 -3
  73. package/dist/cjs/ion-menu_3.cjs.entry.js +20 -25
  74. package/dist/cjs/ion-modal.cjs.entry.js +3 -5
  75. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -6
  76. package/dist/cjs/{ion-picker-column.cjs.entry.js → ion-picker-column-internal.cjs.entry.js} +87 -104
  77. package/dist/cjs/{ion-picker.cjs.entry.js → ion-picker-internal.cjs.entry.js} +19 -26
  78. package/dist/cjs/ion-popover.cjs.entry.js +1 -2
  79. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  80. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  81. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  82. package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -5
  83. package/dist/cjs/ion-reorder_2.cjs.entry.js +1 -1
  84. package/dist/cjs/ion-route_4.cjs.entry.js +1 -1
  85. package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
  86. package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
  87. package/dist/cjs/ion-select_3.cjs.entry.js +4 -5
  88. package/dist/cjs/ion-split-pane.cjs.entry.js +14 -24
  89. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  90. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  91. package/dist/cjs/ion-toast.cjs.entry.js +5 -5
  92. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  93. package/dist/cjs/ionic.cjs.js +1 -1
  94. package/dist/cjs/loader.cjs.js +1 -1
  95. package/dist/cjs/{overlays-3afa911d.js → overlays-41579463.js} +8 -12
  96. package/dist/cjs/{swipe-back-b8f2330b.js → swipe-back-2a858bbd.js} +2 -2
  97. package/dist/collection/collection-manifest.json +6 -7
  98. package/dist/collection/components/action-sheet/action-sheet.ios.css +3 -3
  99. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +14 -23
  100. package/dist/collection/components/alert/alert.ios.css +6 -6
  101. package/dist/collection/components/alert/alert.md.css +6 -6
  102. package/dist/collection/components/alert/test/a11y/alert.e2e.js +9 -22
  103. package/dist/collection/components/back-button/back-button.ios.css +1 -1
  104. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +0 -21
  105. package/dist/collection/components/backdrop/backdrop.js +12 -0
  106. package/dist/collection/components/badge/badge.ios.css +1 -1
  107. package/dist/collection/components/badge/badge.md.css +1 -1
  108. package/dist/collection/components/badge/test/a11y/badge.e2e.js +0 -18
  109. package/dist/collection/components/button/button.ios.css +11 -11
  110. package/dist/collection/components/button/button.md.css +9 -9
  111. package/dist/collection/components/button/test/a11y/button.e2e.js +0 -48
  112. package/dist/collection/components/button/test/basic/button.e2e.js +1 -1
  113. package/dist/collection/components/button/test/wrap/button.e2e.js +24 -12
  114. package/dist/collection/components/checkbox/checkbox.ios.css +2 -2
  115. package/dist/collection/components/checkbox/checkbox.md.css +2 -2
  116. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +2 -11
  117. package/dist/collection/components/content/content.css +4 -0
  118. package/dist/collection/components/content/content.js +3 -2
  119. package/dist/collection/components/datetime/datetime.ios.css +40 -93
  120. package/dist/collection/components/datetime/datetime.js +36 -24
  121. package/dist/collection/components/datetime/datetime.md.css +38 -96
  122. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +4 -4
  123. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +9 -6
  124. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +12 -22
  125. package/dist/collection/components/datetime/test/datetime.e2e.js +3 -3
  126. package/dist/collection/components/datetime/test/disable-dates/datetime.e2e.js +1 -1
  127. package/dist/collection/components/datetime/test/disabled/datetime.e2e.js +4 -4
  128. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  129. package/dist/collection/components/datetime/test/display/datetime.e2e.js +9 -9
  130. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +5 -5
  131. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +17 -17
  132. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +2 -2
  133. package/dist/collection/components/datetime/test/multiple/datetime.e2e.js +2 -2
  134. package/dist/collection/components/datetime/test/position/datetime.e2e.js +1 -1
  135. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +73 -75
  136. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +4 -4
  137. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +8 -8
  138. package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +4 -4
  139. package/dist/collection/components/datetime/test/time-label/datetime.e2e.js +2 -2
  140. package/dist/collection/components/datetime/test/values/datetime.e2e.js +16 -19
  141. package/dist/collection/components/datetime/utils/data.js +1 -1
  142. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +14 -14
  143. package/dist/collection/components/datetime-button/test/disabled/datetime-button.e2e.js +2 -2
  144. package/dist/collection/components/datetime-button/test/multiple/datetime-button.e2e.js +6 -6
  145. package/dist/collection/components/fab-button/fab-button.ios.css +13 -13
  146. package/dist/collection/components/fab-button/fab-button.md.css +4 -4
  147. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +0 -50
  148. package/dist/collection/components/header/test/condense/header.e2e.js +2 -2
  149. package/dist/collection/components/input/input.ios.css +3 -3
  150. package/dist/collection/components/input/input.md.css +3 -3
  151. package/dist/collection/components/input/test/a11y/input.e2e.js +3 -41
  152. package/dist/collection/components/item/item.ios.css +5 -42
  153. package/dist/collection/components/item/item.js +7 -0
  154. package/dist/collection/components/item/item.md.css +6 -43
  155. package/dist/collection/components/item/test/item.spec.js +20 -0
  156. package/dist/collection/components/item-option/item-option.ios.css +2 -2
  157. package/dist/collection/components/item-option/item-option.md.css +1 -1
  158. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +0 -28
  159. package/dist/collection/components/label/label.md.css +1 -1
  160. package/dist/collection/components/label/test/a11y/label.e2e.js +0 -20
  161. package/dist/collection/components/loading/loading.md.css +1 -1
  162. package/dist/collection/components/loading/test/a11y/loading.e2e.js +5 -21
  163. package/dist/collection/components/menu/menu.ios.css +3 -64
  164. package/dist/collection/components/menu/menu.js +13 -19
  165. package/dist/collection/components/menu/menu.md.css +3 -64
  166. package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
  167. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +0 -14
  168. package/dist/collection/components/modal/modal.js +1 -3
  169. package/dist/collection/components/modal/test/standalone/modal.e2e.js +1 -1
  170. package/dist/collection/components/nav/nav.js +2 -22
  171. package/dist/collection/components/nav/test/nav-controller.spec.js +36 -36
  172. package/dist/collection/components/note/test/a11y/note.e2e.js +6 -6
  173. package/dist/collection/components/picker/picker.ios.css +211 -112
  174. package/dist/collection/components/picker/picker.js +738 -488
  175. package/dist/collection/components/picker/picker.md.css +198 -108
  176. package/dist/collection/components/picker/test/basic/picker.e2e.js +13 -99
  177. package/dist/collection/components/{picker-legacy → picker}/test/is-open/picker.e2e.js +4 -4
  178. package/dist/collection/components/{picker-legacy → picker}/test/picker-id.spec.js +5 -5
  179. package/dist/collection/components/{picker-legacy → picker}/test/trigger/picker.e2e.js +1 -1
  180. package/dist/collection/components/picker-column/picker-column.js +335 -499
  181. package/dist/collection/components/{picker-legacy-column → picker-column}/picker-column.md.css +1 -1
  182. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-aria.spec.js +3 -3
  183. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-dynamic.spec.js +2 -2
  184. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column.spec.js +2 -2
  185. package/dist/collection/components/{picker-legacy-column → picker-column}/test/standalone/picker-column.e2e.js +3 -3
  186. package/dist/collection/components/{picker-column-option/picker-column-option.md.css → picker-column-internal/picker-column-internal.ios.css} +53 -6
  187. package/dist/collection/components/picker-column-internal/picker-column-internal.js +566 -0
  188. package/dist/collection/components/{picker-column/picker-column.css → picker-column-internal/picker-column-internal.md.css} +83 -96
  189. package/dist/collection/components/{picker-column/test/basic/picker-column.e2e.js → picker-column-internal/test/basic/picker-column-internal.e2e.js} +8 -8
  190. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +162 -0
  191. package/dist/collection/components/{picker-legacy/picker.md.css → picker-internal/picker-internal.ios.css} +100 -192
  192. package/dist/collection/components/picker-internal/picker-internal.js +560 -0
  193. package/dist/collection/components/{picker-legacy/picker.ios.css → picker-internal/picker-internal.md.css} +98 -207
  194. package/dist/collection/components/{picker/test/a11y/picker.e2e.js → picker-internal/test/a11y/picker-internal.e2e.js} +2 -2
  195. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +118 -0
  196. package/dist/collection/components/{picker/test/keyboard-entry/picker.e2e.js → picker-internal/test/keyboard-entry/picker-internal.e2e.js} +42 -79
  197. package/dist/collection/components/progress-bar/progress-bar.ios.css +2 -2
  198. package/dist/collection/components/progress-bar/progress-bar.md.css +2 -2
  199. package/dist/collection/components/radio/radio.ios.css +2 -2
  200. package/dist/collection/components/radio/radio.md.css +2 -2
  201. package/dist/collection/components/radio/test/a11y/radio.e2e.js +81 -114
  202. package/dist/collection/components/range/range.ios.css +1 -1
  203. package/dist/collection/components/range/range.md.css +3 -3
  204. package/dist/collection/components/range/test/a11y/range.e2e.js +8 -18
  205. package/dist/collection/components/refresher/refresher.md.css +2 -2
  206. package/dist/collection/components/refresher/test/test.utils.js +1 -1
  207. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  208. package/dist/collection/components/ripple-effect/test/basic/ripple-effect.e2e.js +2 -2
  209. package/dist/collection/components/router-link/router-link.css +1 -1
  210. package/dist/collection/components/searchbar/searchbar.ios.css +1 -1
  211. package/dist/collection/components/segment/test/a11y/segment.e2e.js +0 -23
  212. package/dist/collection/components/segment-button/segment-button.md.css +2 -2
  213. package/dist/collection/components/select/select.ios.css +3 -3
  214. package/dist/collection/components/select/select.md.css +3 -3
  215. package/dist/collection/components/select/test/a11y/select.e2e.js +4 -68
  216. package/dist/collection/components/select-popover/select-popover.md.css +4 -4
  217. package/dist/collection/components/split-pane/split-pane.ios.css +54 -2
  218. package/dist/collection/components/split-pane/split-pane.js +12 -46
  219. package/dist/collection/components/split-pane/split-pane.md.css +54 -2
  220. package/dist/collection/components/tab-bar/tab-bar.ios.css +1 -1
  221. package/dist/collection/components/tab-bar/tab-bar.md.css +1 -1
  222. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +3 -41
  223. package/dist/collection/components/textarea/textarea.ios.css +3 -3
  224. package/dist/collection/components/textarea/textarea.md.css +3 -3
  225. package/dist/collection/components/toast/test/a11y/toast.e2e.js +24 -56
  226. package/dist/collection/components/toast/toast.ios.css +1 -1
  227. package/dist/collection/components/toast/toast.md.css +2 -2
  228. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +2 -8
  229. package/dist/collection/components/toggle/toggle.ios.css +2 -2
  230. package/dist/collection/components/toggle/toggle.md.css +2 -2
  231. package/dist/collection/css/test/a11y/typography.e2e.js +0 -18
  232. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  233. package/dist/collection/utils/overlays.js +8 -11
  234. package/dist/collection/utils/test/playwright/generator.js +0 -1
  235. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  236. package/dist/docs.json +41 -500
  237. package/dist/esm/{button-active-3bcbd115.js → button-active-b62776db.js} +1 -1
  238. package/dist/esm/{data-6a31d701.js → data-775093f5.js} +1 -1
  239. package/dist/esm/{gesture-controller-314a54f6.js → gesture-controller-1bf57181.js} +1 -1
  240. package/dist/esm/{index-39782642.js → index-2cf77112.js} +2 -2
  241. package/dist/esm/index.js +3 -3
  242. package/dist/esm/ion-action-sheet.entry.js +5 -5
  243. package/dist/esm/ion-alert.entry.js +6 -6
  244. package/dist/esm/ion-app_8.entry.js +5 -4
  245. package/dist/esm/ion-avatar_3.entry.js +2 -2
  246. package/dist/esm/ion-back-button.entry.js +1 -1
  247. package/dist/esm/ion-backdrop.entry.js +12 -0
  248. package/dist/esm/ion-button_2.entry.js +2 -2
  249. package/dist/esm/ion-checkbox.entry.js +2 -2
  250. package/dist/esm/ion-datetime-button.entry.js +1 -1
  251. package/dist/esm/ion-datetime_3.entry.js +56 -36
  252. package/dist/esm/ion-fab_3.entry.js +2 -2
  253. package/dist/esm/ion-input.entry.js +2 -2
  254. package/dist/esm/ion-item-option_3.entry.js +3 -3
  255. package/dist/esm/ion-item_8.entry.js +8 -3
  256. package/dist/esm/ion-loading.entry.js +2 -3
  257. package/dist/esm/ion-menu_3.entry.js +20 -25
  258. package/dist/esm/ion-modal.entry.js +3 -5
  259. package/dist/esm/ion-nav_2.entry.js +3 -6
  260. package/dist/esm/{ion-picker-column.entry.js → ion-picker-column-internal.entry.js} +87 -104
  261. package/dist/esm/{ion-picker.entry.js → ion-picker-internal.entry.js} +19 -26
  262. package/dist/esm/ion-popover.entry.js +1 -2
  263. package/dist/esm/ion-progress-bar.entry.js +2 -2
  264. package/dist/esm/ion-radio_2.entry.js +2 -2
  265. package/dist/esm/ion-range.entry.js +3 -3
  266. package/dist/esm/ion-refresher_2.entry.js +5 -5
  267. package/dist/esm/ion-reorder_2.entry.js +1 -1
  268. package/dist/esm/ion-route_4.entry.js +1 -1
  269. package/dist/esm/ion-searchbar.entry.js +1 -1
  270. package/dist/esm/ion-segment_2.entry.js +2 -2
  271. package/dist/esm/ion-select_3.entry.js +4 -5
  272. package/dist/esm/ion-split-pane.entry.js +14 -24
  273. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  274. package/dist/esm/ion-textarea.entry.js +2 -2
  275. package/dist/esm/ion-toast.entry.js +5 -5
  276. package/dist/esm/ion-toggle.entry.js +3 -3
  277. package/dist/esm/ionic.js +1 -1
  278. package/dist/esm/loader.js +1 -1
  279. package/dist/esm/{overlays-8b24f0d5.js → overlays-f27ccf93.js} +9 -12
  280. package/dist/esm/{swipe-back-a8ca7f93.js → swipe-back-a6f386fc.js} +2 -2
  281. package/dist/esm-es5/{button-active-3bcbd115.js → button-active-b62776db.js} +1 -1
  282. package/dist/esm-es5/{gesture-controller-314a54f6.js → gesture-controller-1bf57181.js} +1 -1
  283. package/dist/esm-es5/{index-39782642.js → index-2cf77112.js} +1 -1
  284. package/dist/esm-es5/index.js +1 -1
  285. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  286. package/dist/esm-es5/ion-alert.entry.js +1 -1
  287. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  288. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  289. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  290. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  291. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  292. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  293. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  294. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  295. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  296. package/dist/esm-es5/ion-input.entry.js +1 -1
  297. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  298. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  299. package/dist/esm-es5/ion-loading.entry.js +1 -1
  300. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  301. package/dist/esm-es5/ion-modal.entry.js +1 -1
  302. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  303. package/dist/esm-es5/ion-picker-column-internal.entry.js +4 -0
  304. package/dist/esm-es5/ion-picker-internal.entry.js +4 -0
  305. package/dist/esm-es5/ion-popover.entry.js +1 -1
  306. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  307. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  308. package/dist/esm-es5/ion-range.entry.js +1 -1
  309. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  310. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  311. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  312. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  313. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  314. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  315. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  316. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  317. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  318. package/dist/esm-es5/ion-toast.entry.js +1 -1
  319. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  320. package/dist/esm-es5/ionic.js +1 -1
  321. package/dist/esm-es5/loader.js +1 -1
  322. package/dist/esm-es5/overlays-f27ccf93.js +4 -0
  323. package/dist/esm-es5/swipe-back-a6f386fc.js +4 -0
  324. package/dist/html.html-data.json +1 -152
  325. package/dist/ionic/index.esm.js +1 -1
  326. package/dist/ionic/ionic.esm.js +1 -1
  327. package/dist/ionic/{p-9cd05453.entry.js → p-0d2b6901.entry.js} +1 -1
  328. package/dist/ionic/p-0fb73844.system.entry.js +4 -0
  329. package/dist/ionic/{p-ae8747aa.entry.js → p-1052ef2b.entry.js} +1 -1
  330. package/dist/ionic/{p-7a1ef06a.system.entry.js → p-10c34f0a.system.entry.js} +1 -1
  331. package/dist/ionic/{p-fc58a772.system.entry.js → p-1a0bf247.system.entry.js} +1 -1
  332. package/dist/ionic/p-1a5f0313.system.js +1 -1
  333. package/dist/ionic/{p-8aaade76.entry.js → p-1f7fc88d.entry.js} +1 -1
  334. package/dist/ionic/p-217f6812.entry.js +4 -0
  335. package/dist/ionic/{p-0055506a.entry.js → p-249633a4.entry.js} +1 -1
  336. package/dist/ionic/{p-3e1e14d9.system.js → p-31b2326e.system.js} +1 -1
  337. package/dist/ionic/p-357969b4.system.entry.js +4 -0
  338. package/dist/ionic/p-35ce400e.system.js +4 -0
  339. package/dist/ionic/{p-943caced.system.entry.js → p-35e1a80f.system.entry.js} +1 -1
  340. package/dist/ionic/{p-3f3ae637.system.entry.js → p-3b83e483.system.entry.js} +2 -2
  341. package/dist/ionic/p-3d4c2a93.entry.js +4 -0
  342. package/dist/ionic/p-3de38800.system.entry.js +4 -0
  343. package/dist/ionic/{p-14311a1d.system.entry.js → p-41040a92.system.entry.js} +1 -1
  344. package/dist/ionic/{p-eeb87a49.entry.js → p-41aa2662.entry.js} +1 -1
  345. package/dist/ionic/{p-a72be676.entry.js → p-436bd99a.entry.js} +1 -1
  346. package/dist/ionic/{p-cb304e5f.system.entry.js → p-4b639e59.system.entry.js} +1 -1
  347. package/dist/ionic/{p-bad61026.system.entry.js → p-525b6ac4.system.entry.js} +1 -1
  348. package/dist/ionic/p-531ef1b9.system.entry.js +4 -0
  349. package/dist/ionic/{p-42d5f6ae.entry.js → p-54c92c77.entry.js} +1 -1
  350. package/dist/ionic/{p-870453fd.entry.js → p-5628d04e.entry.js} +1 -1
  351. package/dist/ionic/p-5aecd304.system.entry.js +4 -0
  352. package/dist/ionic/{p-cb0cfc39.system.entry.js → p-5c2da581.system.entry.js} +1 -1
  353. package/dist/ionic/p-61bf9f6f.system.entry.js +4 -0
  354. package/dist/ionic/{p-c7bdd72f.entry.js → p-688a36c7.entry.js} +1 -1
  355. package/dist/ionic/p-6899d5af.entry.js +4 -0
  356. package/dist/ionic/p-6a6477b2.js +4 -0
  357. package/dist/ionic/p-6acc4fa4.system.entry.js +4 -0
  358. package/dist/ionic/{p-9a9deb33.system.entry.js → p-6b9eee40.system.entry.js} +1 -1
  359. package/dist/ionic/p-6cf4d5ae.js +4 -0
  360. package/dist/ionic/p-6e165986.system.entry.js +4 -0
  361. package/dist/ionic/p-6f7d79aa.entry.js +4 -0
  362. package/dist/ionic/p-719ad110.system.entry.js +4 -0
  363. package/dist/ionic/p-73547cf9.entry.js +4 -0
  364. package/dist/ionic/{p-7acc89e0.entry.js → p-73b8935e.entry.js} +1 -1
  365. package/dist/ionic/{p-d545e325.entry.js → p-7510e462.entry.js} +1 -1
  366. package/dist/ionic/{p-9928b546.entry.js → p-7bae84aa.entry.js} +1 -1
  367. package/dist/ionic/{p-28525772.entry.js → p-8084e9cb.entry.js} +1 -1
  368. package/dist/ionic/p-80ddd0c1.entry.js +4 -0
  369. package/dist/ionic/p-817121f2.entry.js +4 -0
  370. package/dist/ionic/p-87e10168.system.entry.js +4 -0
  371. package/dist/ionic/p-89c28901.system.entry.js +4 -0
  372. package/dist/ionic/p-91703a40.system.entry.js +4 -0
  373. package/dist/ionic/p-91de41db.entry.js +4 -0
  374. package/dist/ionic/{p-2fda36b6.system.entry.js → p-928e945d.system.entry.js} +1 -1
  375. package/dist/ionic/p-9cf50392.system.entry.js +4 -0
  376. package/dist/ionic/p-a2d75455.entry.js +4 -0
  377. package/dist/ionic/p-a706cf11.system.entry.js +4 -0
  378. package/dist/ionic/p-aca77953.entry.js +4 -0
  379. package/dist/ionic/{p-df75bd2c.system.js → p-afeae67e.system.js} +1 -1
  380. package/dist/ionic/{p-7a2c6bb5.entry.js → p-b09c8228.entry.js} +1 -1
  381. package/dist/ionic/p-b3e0920e.system.js +4 -0
  382. package/dist/ionic/{p-34f05cec.entry.js → p-b43cf55f.entry.js} +1 -1
  383. package/dist/ionic/{p-efa1c7f0.entry.js → p-b6f6f00e.entry.js} +1 -1
  384. package/dist/ionic/p-b73e8975.entry.js +4 -0
  385. package/dist/ionic/p-ba4890eb.system.entry.js +4 -0
  386. package/dist/ionic/{p-9b97df10.js → p-bb3615f7.js} +1 -1
  387. package/dist/ionic/{p-1d1ce54e.entry.js → p-bd54680b.entry.js} +1 -1
  388. package/dist/ionic/p-beeceaf5.system.entry.js +4 -0
  389. package/dist/ionic/{p-0a0a84ce.system.entry.js → p-c1c57873.system.entry.js} +1 -1
  390. package/dist/ionic/p-c4177035.entry.js +4 -0
  391. package/dist/ionic/p-c48a9ef3.system.entry.js +4 -0
  392. package/dist/ionic/{p-20d469d0.system.js → p-c7c8429a.system.js} +1 -1
  393. package/dist/ionic/p-cb301b9a.entry.js +4 -0
  394. package/dist/ionic/{p-8a1d33e3.system.entry.js → p-cdce5ba3.system.entry.js} +1 -1
  395. package/dist/ionic/{p-114ea79c.system.js → p-d2707f9d.system.js} +1 -1
  396. package/dist/ionic/{p-41dcd6c0.system.entry.js → p-d6beb1c9.system.entry.js} +1 -1
  397. package/dist/ionic/{p-9cbfb298.system.entry.js → p-db798370.system.entry.js} +1 -1
  398. package/dist/ionic/{p-ee1214e0.system.entry.js → p-dc1d883c.system.entry.js} +1 -1
  399. package/dist/ionic/{p-c9028fdc.entry.js → p-df62accd.entry.js} +1 -1
  400. package/dist/ionic/{p-67b167bc.entry.js → p-e814f9c0.entry.js} +1 -1
  401. package/dist/ionic/{p-a068b1c7.system.entry.js → p-e878fba0.system.entry.js} +2 -2
  402. package/dist/ionic/{p-75017f39.system.entry.js → p-eb210b21.system.entry.js} +1 -1
  403. package/dist/ionic/p-eb80ca40.entry.js +4 -0
  404. package/dist/ionic/{p-f2ed3039.system.entry.js → p-edc69ab8.system.entry.js} +1 -1
  405. package/dist/ionic/{p-598bd8e2.entry.js → p-f4d77b5f.entry.js} +1 -1
  406. package/dist/ionic/{p-8ededb41.js → p-f5d2dc9b.js} +1 -1
  407. package/dist/ionic/{p-adba40e6.entry.js → p-f865bc9a.entry.js} +1 -1
  408. package/dist/ionic/p-fd1a0431.js +4 -0
  409. package/dist/types/components/backdrop/backdrop.d.ts +3 -0
  410. package/dist/types/components/datetime/datetime.d.ts +1 -0
  411. package/dist/types/components/datetime/utils/data.d.ts +7 -11
  412. package/dist/types/components/item/item.d.ts +1 -0
  413. package/dist/types/components/menu/menu.d.ts +2 -12
  414. package/dist/types/components/nav/nav.d.ts +1 -4
  415. package/dist/types/components/picker/picker.d.ts +129 -75
  416. package/dist/types/components/picker-column/picker-column.d.ts +39 -99
  417. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +5 -0
  418. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +102 -0
  419. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +8 -0
  420. package/dist/types/components/picker-internal/picker-internal.d.ts +102 -0
  421. package/dist/types/components/split-pane/split-pane.d.ts +2 -14
  422. package/dist/types/components.d.ts +122 -159
  423. package/dist/types/interface.d.ts +1 -1
  424. package/dist/types/utils/config.d.ts +2 -2
  425. package/dist/types/utils/gesture/gesture-controller.d.ts +0 -1
  426. package/dist/types/utils/overlays.d.ts +2 -5
  427. package/hydrate/index.js +1332 -1442
  428. package/package.json +2 -2
  429. package/components/ion-picker-column-option.d.ts +0 -11
  430. package/components/ion-picker-column-option.js +0 -9
  431. package/components/ion-picker-legacy-column.d.ts +0 -11
  432. package/components/ion-picker-legacy-column.js +0 -9
  433. package/components/ion-picker-legacy.js +0 -309
  434. package/components/picker-column-option.js +0 -122
  435. package/components/picker-column2.js +0 -379
  436. package/css/themes/dark.always.css +0 -122
  437. package/css/themes/dark.always.css.map +0 -1
  438. package/css/themes/dark.class.css +0 -122
  439. package/css/themes/dark.class.css.map +0 -1
  440. package/css/themes/dark.css +0 -3
  441. package/css/themes/dark.css.map +0 -1
  442. package/css/themes/dark.system.css +0 -124
  443. package/css/themes/dark.system.css.map +0 -1
  444. package/dist/cjs/ion-picker-column-option.cjs.entry.js +0 -104
  445. package/dist/collection/components/picker/test/custom/picker.e2e.js +0 -85
  446. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +0 -91
  447. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +0 -39
  448. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -87
  449. package/dist/collection/components/picker-column-option/picker-column-option.js +0 -173
  450. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +0 -18
  451. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +0 -37
  452. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +0 -29
  453. package/dist/collection/components/picker-legacy/picker.js +0 -811
  454. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +0 -25
  455. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -419
  456. package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +0 -24
  457. package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +0 -25
  458. package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +0 -23
  459. package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +0 -32
  460. package/dist/collection/components/split-pane/test/wrapped-menu/split-pane.e2e.js +0 -41
  461. package/dist/collection/themes/test/colors/theme.e2e.js +0 -114
  462. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +0 -65
  463. package/dist/esm/ion-picker-column-option.entry.js +0 -100
  464. package/dist/esm-es5/ion-picker-column-option.entry.js +0 -4
  465. package/dist/esm-es5/ion-picker-column.entry.js +0 -4
  466. package/dist/esm-es5/ion-picker.entry.js +0 -4
  467. package/dist/esm-es5/overlays-8b24f0d5.js +0 -4
  468. package/dist/esm-es5/swipe-back-a8ca7f93.js +0 -4
  469. package/dist/ionic/p-0708a9c1.system.js +0 -4
  470. package/dist/ionic/p-09890dd9.entry.js +0 -4
  471. package/dist/ionic/p-0d3c5eaa.system.entry.js +0 -4
  472. package/dist/ionic/p-10607f89.entry.js +0 -4
  473. package/dist/ionic/p-26976bfc.system.entry.js +0 -4
  474. package/dist/ionic/p-2c02fb1c.system.entry.js +0 -4
  475. package/dist/ionic/p-3065cecc.entry.js +0 -4
  476. package/dist/ionic/p-381ca6f8.system.entry.js +0 -4
  477. package/dist/ionic/p-4a13a07c.system.entry.js +0 -4
  478. package/dist/ionic/p-4b94c354.entry.js +0 -4
  479. package/dist/ionic/p-51abefb7.system.js +0 -4
  480. package/dist/ionic/p-5d22095a.entry.js +0 -4
  481. package/dist/ionic/p-67c1996d.entry.js +0 -4
  482. package/dist/ionic/p-6d42a37b.entry.js +0 -4
  483. package/dist/ionic/p-6db68be9.system.entry.js +0 -4
  484. package/dist/ionic/p-71f30cfc.system.entry.js +0 -4
  485. package/dist/ionic/p-7a343dca.system.entry.js +0 -4
  486. package/dist/ionic/p-7a3e1f37.system.entry.js +0 -4
  487. package/dist/ionic/p-7ae141f1.entry.js +0 -4
  488. package/dist/ionic/p-7e8ef0bb.system.entry.js +0 -4
  489. package/dist/ionic/p-94265b3d.entry.js +0 -4
  490. package/dist/ionic/p-95d8071f.entry.js +0 -4
  491. package/dist/ionic/p-9c9eb63f.system.entry.js +0 -4
  492. package/dist/ionic/p-a01d6784.system.entry.js +0 -4
  493. package/dist/ionic/p-a11e45fe.system.entry.js +0 -4
  494. package/dist/ionic/p-a259fa5f.system.entry.js +0 -4
  495. package/dist/ionic/p-a60a1ce5.js +0 -4
  496. package/dist/ionic/p-acbb36a1.entry.js +0 -4
  497. package/dist/ionic/p-c33d312f.js +0 -4
  498. package/dist/ionic/p-c9b8f9e5.system.entry.js +0 -4
  499. package/dist/ionic/p-d6674fed.entry.js +0 -4
  500. package/dist/ionic/p-dfd21411.system.entry.js +0 -4
  501. package/dist/ionic/p-e22bf111.js +0 -4
  502. package/dist/ionic/p-e652d9e4.entry.js +0 -4
  503. package/dist/ionic/p-ea4b254e.entry.js +0 -4
  504. package/dist/ionic/p-ea9a8424.system.entry.js +0 -4
  505. package/dist/ionic/p-eaa4e76f.system.entry.js +0 -4
  506. package/dist/ionic/p-fdc3ff96.entry.js +0 -4
  507. package/dist/types/components/picker/picker-interfaces.d.ts +0 -8
  508. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +0 -4
  509. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -66
  510. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  511. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  512. /package/dist/collection/components/{picker-legacy → picker}/animations/ios.enter.js +0 -0
  513. /package/dist/collection/components/{picker-legacy → picker}/animations/ios.leave.js +0 -0
  514. /package/dist/collection/components/picker/{picker-interfaces.js → picker-interface.js} +0 -0
  515. /package/dist/collection/components/{picker-legacy-column → picker-column}/picker-column.ios.css +0 -0
  516. /package/dist/collection/components/{picker-legacy-column → picker-column}/test/test.utils.js +0 -0
  517. /package/dist/collection/components/{picker-column/picker-column-interfaces.js → picker-column-internal/picker-column-internal-interfaces.js} +0 -0
  518. /package/dist/collection/components/{picker-legacy/picker-interface.js → picker-internal/picker-internal-interfaces.js} +0 -0
  519. /package/dist/esm-es5/{data-6a31d701.js → data-775093f5.js} +0 -0
  520. /package/dist/ionic/{p-a64accf5.js → p-18cae04f.js} +0 -0
  521. /package/dist/ionic/{p-7ff4359e.system.js → p-87bb3735.system.js} +0 -0
  522. /package/dist/types/components/{picker-legacy → picker}/animations/ios.enter.d.ts +0 -0
  523. /package/dist/types/components/{picker-legacy → picker}/animations/ios.leave.d.ts +0 -0
  524. /package/dist/types/components/{picker-legacy → picker}/picker-interface.d.ts +0 -0
  525. /package/dist/types/components/{picker-legacy-column → picker-column}/test/test.utils.d.ts +0 -0
@@ -9,7 +9,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
9
9
  await page.setContent(`
10
10
  <ion-datetime locale="en-US" presentation="date" day-values="1,2,3"></ion-datetime>
11
11
  `, config);
12
- await page.waitForSelector('.datetime-ready');
12
+ await page.locator('.datetime-ready').waitFor();
13
13
  const items = page.locator('.calendar-day:not([disabled])');
14
14
  /**
15
15
  * Datetime calendar grid renders 3 months by default,
@@ -22,28 +22,28 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
22
22
  await page.setContent(`
23
23
  <ion-datetime locale="en-US" presentation="month-year" month-values="5,6,10"></ion-datetime>
24
24
  `, config);
25
- const items = page.locator('.month-column ion-picker-column-option');
25
+ const items = page.locator('.month-column .picker-item:not(.picker-item-empty)');
26
26
  await expect(items).toHaveText(['May', 'June', 'October']);
27
27
  });
28
28
  test('should render correct years', async ({ page }) => {
29
29
  await page.setContent(`
30
30
  <ion-datetime locale="en-US" presentation="month-year" year-values="2022,2021,2020"></ion-datetime>
31
31
  `, config);
32
- const items = page.locator('.year-column ion-picker-column-option');
32
+ const items = page.locator('.year-column .picker-item:not(.picker-item-empty)');
33
33
  await expect(items).toHaveText(['2022', '2021', '2020']);
34
34
  });
35
35
  test('should render correct hours', async ({ page }) => {
36
36
  await page.setContent(`
37
37
  <ion-datetime locale="en-US" presentation="time" hour-values="1,2,3"></ion-datetime>
38
38
  `, config);
39
- const items = page.locator('ion-picker-column:first-of-type ion-picker-column-option');
39
+ const items = page.locator('ion-picker-column-internal:first-of-type .picker-item:not(.picker-item-empty)');
40
40
  await expect(items).toHaveText(['1', '2', '3']);
41
41
  });
42
42
  test('should render correct minutes', async ({ page }) => {
43
43
  await page.setContent(`
44
44
  <ion-datetime locale="en-US" presentation="time" minute-values="1,2,3"></ion-datetime>
45
45
  `, config);
46
- const items = page.locator('ion-picker-column:nth-of-type(2) ion-picker-column-option');
46
+ const items = page.locator('ion-picker-column-internal:nth-of-type(2) .picker-item:not(.picker-item-empty)');
47
47
  await expect(items).toHaveText(['01', '02', '03']);
48
48
  });
49
49
  test('should adjust default parts for allowed hour and minute values', async ({ page }) => {
@@ -68,23 +68,20 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
68
68
  }
69
69
  </script>
70
70
  `, config);
71
- await page.waitForSelector('.datetime-ready');
72
- const minuteColumn = page.locator('ion-picker-column').nth(1);
73
- const minuteItems = minuteColumn.locator('ion-picker-column-option');
71
+ await page.locator('.datetime-ready').waitFor();
72
+ const minuteItems = page.locator('ion-picker-column-internal:nth-of-type(2) .picker-item:not(.picker-item-empty)');
74
73
  await expect(minuteItems).toHaveText(['00', '15', '30', '45']);
75
- await expect(minuteColumn).toHaveJSProperty('value', 15);
76
- const hourColumn = page.locator('ion-picker-column').nth(0);
77
- const hourItems = hourColumn.locator('ion-picker-column-option');
74
+ await expect(minuteItems.nth(1)).toHaveClass(/picker-item-active/);
75
+ const hourItems = page.locator('ion-picker-column-internal:nth-of-type(1) .picker-item:not(.picker-item-empty)');
78
76
  await expect(hourItems).toHaveText(['2']);
79
- await expect(hourColumn).toHaveJSProperty('value', 2);
77
+ await expect(hourItems.nth(0)).toHaveClass(/picker-item-active/);
80
78
  /**
81
79
  * Since the allowed hour is 2AM, the time period
82
80
  * should switch from PM to AM.
83
81
  */
84
- const ampmColumn = page.locator('ion-picker-column').nth(2);
85
- const ampmItems = ampmColumn.locator('ion-picker-column-option');
82
+ const ampmItems = page.locator('ion-picker-column-internal:nth-of-type(3) .picker-item:not(.picker-item-empty)');
86
83
  await expect(ampmItems).toHaveText(['AM', 'PM']);
87
- await expect(ampmColumn).toHaveJSProperty('value', 'am');
84
+ await expect(ampmItems.nth(0)).toHaveClass(/picker-item-active/);
88
85
  });
89
86
  test('should adjust default parts month for allowed month values', async ({ page }) => {
90
87
  /**
@@ -108,10 +105,10 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
108
105
  }
109
106
  </script>
110
107
  `, config);
111
- await page.waitForSelector('.datetime-ready');
112
- const monthItems = page.locator('.month-column ion-picker-column-option');
108
+ await page.locator('.datetime-ready').waitFor();
109
+ const monthItems = page.locator('.month-column .picker-item:not(.picker-item-empty)');
113
110
  await expect(monthItems).toHaveText(['January']);
114
- await expect(monthItems.nth(0)).toHaveClass(/option-active/);
111
+ await expect(monthItems.nth(0)).toHaveClass(/picker-item-active/);
115
112
  });
116
113
  test('today date highlight should persist even if disallowed from dayValues', async ({ page }) => {
117
114
  /**
@@ -135,7 +132,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
135
132
  }
136
133
  </script>
137
134
  `, config);
138
- await page.waitForSelector('.datetime-ready');
135
+ await page.locator('.datetime-ready').waitFor();
139
136
  const todayButton = page.locator('.calendar-day[data-day="10"][data-month="10"][data-year="2022"]');
140
137
  await expect(todayButton).toHaveClass(/calendar-day-today/);
141
138
  });
@@ -323,7 +323,7 @@ export const getMonthColumnData = (locale, refParts, minParts, maxParts, monthVa
323
323
  * @param minParts The minimum bound on the date that can be returned
324
324
  * @param maxParts The maximum bound on the date that can be returned
325
325
  * @param dayValues The allowed date values
326
- * @returns Date data to be used in ion-picker-column
326
+ * @returns Date data to be used in ion-picker-column-internal
327
327
  */
328
328
  export const getDayColumnData = (locale, refParts, minParts, maxParts, dayValues, formatOptions = {
329
329
  day: 'numeric',
@@ -14,7 +14,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
14
14
  <ion-datetime-button datetime="datetime"></ion-datetime-button>
15
15
  <ion-datetime id="datetime" presentation="date-time"></ion-datetime>
16
16
  `, config);
17
- await page.waitForSelector('.datetime-ready');
17
+ await page.locator('.datetime-ready').waitFor();
18
18
  });
19
19
  test('should switch to a date-only view when the date button is clicked', async ({ page }) => {
20
20
  const datetime = page.locator('ion-datetime');
@@ -37,7 +37,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
37
37
  <ion-datetime-button locale="en-US" datetime="datetime"></ion-datetime-button>
38
38
  <ion-datetime id="datetime" value="2022-01-01T06:30:00" presentation="date-time"></ion-datetime>
39
39
  `, config);
40
- await page.waitForSelector('.datetime-ready');
40
+ await page.locator('.datetime-ready').waitFor();
41
41
  await expect(page.locator('#date-button')).toContainText('Jan 1, 2022');
42
42
  await expect(page.locator('#time-button')).toContainText('6:30 AM');
43
43
  });
@@ -46,7 +46,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
46
46
  <ion-datetime-button locale="en-US" datetime="datetime"></ion-datetime-button>
47
47
  <ion-datetime id="datetime" value="2022-01-01T06:30:00" presentation="month-year"></ion-datetime>
48
48
  `, config);
49
- await page.waitForSelector('.datetime-ready');
49
+ await page.locator('.datetime-ready').waitFor();
50
50
  await expect(page.locator('#date-button')).toContainText('January 2022');
51
51
  await expect(page.locator('#time-button')).toBeHidden();
52
52
  });
@@ -55,7 +55,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
55
55
  <ion-datetime-button locale="en-US" datetime="datetime"></ion-datetime-button>
56
56
  <ion-datetime id="datetime" value="2022-01-01T06:30:00" presentation="year"></ion-datetime>
57
57
  `, config);
58
- await page.waitForSelector('.datetime-ready');
58
+ await page.locator('.datetime-ready').waitFor();
59
59
  await expect(page.locator('#date-button')).toContainText('2022');
60
60
  await expect(page.locator('#time-button')).toBeHidden();
61
61
  });
@@ -64,7 +64,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
64
64
  <ion-datetime-button locale="en-US" datetime="datetime"></ion-datetime-button>
65
65
  <ion-datetime id="datetime" value="2022-01-01T06:30:00" presentation="month"></ion-datetime>
66
66
  `, config);
67
- await page.waitForSelector('.datetime-ready');
67
+ await page.locator('.datetime-ready').waitFor();
68
68
  await expect(page.locator('#date-button')).toContainText('January');
69
69
  await expect(page.locator('#time-button')).toBeHidden();
70
70
  });
@@ -73,7 +73,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
73
73
  <ion-datetime-button locale="en-US" datetime="datetime"></ion-datetime-button>
74
74
  <ion-datetime id="datetime" value="2022-01-01T06:30:00" presentation="time"></ion-datetime>
75
75
  `, config);
76
- await page.waitForSelector('.datetime-ready');
76
+ await page.locator('.datetime-ready').waitFor();
77
77
  await expect(page.locator('#time-button')).toContainText('6:30 AM');
78
78
  await expect(page.locator('#date-button')).toBeHidden();
79
79
  });
@@ -82,7 +82,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
82
82
  <ion-datetime-button locale="en-US" datetime="datetime"></ion-datetime-button>
83
83
  <ion-datetime id="datetime" value="2022-01-01T06:30:00" presentation="date"></ion-datetime>
84
84
  `, config);
85
- await page.waitForSelector('.datetime-ready');
85
+ await page.locator('.datetime-ready').waitFor();
86
86
  const datetime = page.locator('ion-datetime');
87
87
  const dateTarget = page.locator('#date-button');
88
88
  await expect(dateTarget).toContainText('Jan 1, 2022');
@@ -99,7 +99,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
99
99
  <ion-datetime-button locale="en-US" datetime="datetime"></ion-datetime-button>
100
100
  <ion-datetime id="datetime" value="2022-01" presentation="month-year"></ion-datetime>
101
101
  `, config);
102
- await page.waitForSelector('.datetime-ready');
102
+ await page.locator('.datetime-ready').waitFor();
103
103
  await expect(page.locator('#date-button')).toContainText('January 2022');
104
104
  await expect(page.locator('#time-button')).toBeHidden();
105
105
  });
@@ -112,7 +112,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
112
112
  <ion-datetime-button locale="en-US" datetime="datetime"></ion-datetime-button>
113
113
  <ion-datetime id="datetime" value="2022" presentation="year"></ion-datetime>
114
114
  `, config);
115
- await page.waitForSelector('.datetime-ready');
115
+ await page.locator('.datetime-ready').waitFor();
116
116
  await expect(page.locator('#date-button')).toContainText('2022');
117
117
  await expect(page.locator('#time-button')).toBeHidden();
118
118
  });
@@ -123,7 +123,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
123
123
  <ion-datetime-button datetime="datetime"></ion-datetime-button>
124
124
  <ion-datetime locale="es-ES" id="datetime" value="2022-01-01T06:30:00" presentation="date-time"></ion-datetime>
125
125
  `, config);
126
- await page.waitForSelector('.datetime-ready');
126
+ await page.locator('.datetime-ready').waitFor();
127
127
  /**
128
128
  * The entire text reads 1 ene 2022, but some browsers will add
129
129
  * a period after "ene". Just checking ene allows us to verify the
@@ -137,7 +137,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
137
137
  <ion-datetime-button datetime="datetime"></ion-datetime-button>
138
138
  <ion-datetime hour-cycle="h23" locale="en-US" id="datetime" value="2022-01-01T16:30:00" presentation="date-time"></ion-datetime>
139
139
  `, config);
140
- await page.waitForSelector('.datetime-ready');
140
+ await page.locator('.datetime-ready').waitFor();
141
141
  await expect(page.locator('#time-button')).toContainText('16:30');
142
142
  });
143
143
  test('should ignore the timezone when selecting a date', async ({ page }) => {
@@ -145,7 +145,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
145
145
  <ion-datetime-button datetime="datetime"></ion-datetime-button>
146
146
  <ion-datetime locale="en-US" id="datetime" value="2022-01-02T06:30:00" presentation="date-time"></ion-datetime>
147
147
  `, config);
148
- await page.waitForSelector('.datetime-ready');
148
+ await page.locator('.datetime-ready').waitFor();
149
149
  const timeTarget = page.locator('#time-button');
150
150
  await expect(timeTarget).toContainText('6:30');
151
151
  const firstOfMonth = page.locator('ion-datetime .calendar-day[data-month="1"][data-day="1"]');
@@ -160,7 +160,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
160
160
  <ion-datetime-button datetime="datetime"></ion-datetime-button>
161
161
  <ion-datetime locale="en-US" id="datetime" value="2022-01-01T06:30:00" presentation="date-time" prefer-wheel="true"></ion-datetime>
162
162
  `, config);
163
- await page.waitForSelector('.datetime-ready');
163
+ await page.locator('.datetime-ready').waitFor();
164
164
  await expect(page.locator('#date-button')).toContainText('Jan 1, 2022 6:30 AM');
165
165
  await expect(page.locator('#time-button')).not.toBeVisible();
166
166
  });
@@ -169,7 +169,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
169
169
  <ion-datetime-button datetime="datetime"></ion-datetime-button>
170
170
  <ion-datetime locale="en-US" id="datetime" value="2022-01-01T06:30:00" presentation="time-date" prefer-wheel="true"></ion-datetime>
171
171
  `, config);
172
- await page.waitForSelector('.datetime-ready');
172
+ await page.locator('.datetime-ready').waitFor();
173
173
  await expect(page.locator('#date-button')).toContainText('Jan 1, 2022 6:30 AM');
174
174
  await expect(page.locator('#time-button')).not.toBeVisible();
175
175
  });
@@ -10,7 +10,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, co
10
10
  <ion-datetime-button datetime="datetime" disabled="true"></ion-datetime-button>
11
11
  <ion-datetime id="datetime" presentation="date-time"></ion-datetime>
12
12
  `, config);
13
- await page.waitForSelector('.datetime-ready');
13
+ await page.locator('.datetime-ready').waitFor();
14
14
  await expect(page.locator('#date-button')).toBeDisabled();
15
15
  await expect(page.locator('#time-button')).toBeDisabled();
16
16
  });
@@ -19,7 +19,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, co
19
19
  <ion-datetime-button datetime="datetime" disabled="true"></ion-datetime-button>
20
20
  <ion-datetime id="datetime" presentation="date-time" value="2022-01-01T16:30:00"></ion-datetime>
21
21
  `, config);
22
- await page.waitForSelector('.datetime-ready');
22
+ await page.locator('.datetime-ready').waitFor();
23
23
  const datetimeButton = page.locator('ion-datetime-button');
24
24
  await expect(datetimeButton).toHaveScreenshot(screenshot(`datetime-button-disabled`));
25
25
  });
@@ -19,7 +19,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
19
19
  datetime.value = ['2022-06-01', '2022-06-02', '2022-06-03'];
20
20
  </script>
21
21
  `, config);
22
- await page.waitForSelector('.datetime-ready');
22
+ await page.locator('.datetime-ready').waitFor();
23
23
  await expect(page.locator('#date-button')).toContainText('3 days');
24
24
  });
25
25
  test('should render number of dates when 0 dates are selected', async ({ page }) => {
@@ -27,7 +27,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
27
27
  <ion-datetime-button datetime="datetime"></ion-datetime-button>
28
28
  <ion-datetime locale="en-US" id="datetime" presentation="date" multiple="true"></ion-datetime>
29
29
  `, config);
30
- await page.waitForSelector('.datetime-ready');
30
+ await page.locator('.datetime-ready').waitFor();
31
31
  await expect(page.locator('#date-button')).toHaveText('0 days');
32
32
  });
33
33
  test('should render date when only 1 day is selected', async ({ page }) => {
@@ -40,7 +40,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
40
40
  datetime.value = ['2022-06-01'];
41
41
  </script>
42
42
  `, config);
43
- await page.waitForSelector('.datetime-ready');
43
+ await page.locator('.datetime-ready').waitFor();
44
44
  await expect(page.locator('#date-button')).toHaveText('Jun 1, 2022');
45
45
  });
46
46
  test('should use customFormatter', async ({ page }) => {
@@ -56,7 +56,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
56
56
  datetime.value = ['2022-06-01', '2022-06-02', '2022-06-03'];
57
57
  </script>
58
58
  `, config);
59
- await page.waitForSelector('.datetime-ready');
59
+ await page.locator('.datetime-ready').waitFor();
60
60
  await expect(page.locator('#date-button')).toHaveText('Selected: 3');
61
61
  });
62
62
  test('should re-render when value is programmatically changed', async ({ page }) => {
@@ -69,7 +69,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
69
69
  datetime.value = ['2022-06-01', '2022-06-02'];
70
70
  </script>
71
71
  `, config);
72
- await page.waitForSelector('.datetime-ready');
72
+ await page.locator('.datetime-ready').waitFor();
73
73
  const datetime = page.locator('ion-datetime');
74
74
  const ionValueChange = await page.spyOnEvent('ionValueChange');
75
75
  const dateButton = page.locator('#date-button');
@@ -88,7 +88,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
88
88
  datetime.value = ['2022-06-01T16:30', '2022-06-02'];
89
89
  </script>
90
90
  `, config);
91
- await page.waitForSelector('.datetime-ready');
91
+ await page.locator('.datetime-ready').waitFor();
92
92
  await expect(page.locator('#date-button')).toHaveText('Jun 1, 2022');
93
93
  await expect(page.locator('#time-button')).toHaveText('4:30 PM');
94
94
  });
@@ -334,10 +334,10 @@ ion-ripple-effect {
334
334
  * }
335
335
  */
336
336
  :host {
337
- --background: var(--ion-color-primary, #0054e9);
338
- --background-activated: var(--ion-color-primary-shade, #004acd);
339
- --background-focused: var(--ion-color-primary-shade, #004acd);
340
- --background-hover: var(--ion-color-primary-tint, #1a65eb);
337
+ --background: var(--ion-color-primary, #3880ff);
338
+ --background-activated: var(--ion-color-primary-shade, #3171e0);
339
+ --background-focused: var(--ion-color-primary-shade, #3171e0);
340
+ --background-hover: var(--ion-color-primary-tint, #4c8dff);
341
341
  --background-activated-opacity: 1;
342
342
  --background-focused-opacity: 1;
343
343
  --background-hover-opacity: 1;
@@ -358,10 +358,10 @@ ion-ripple-effect {
358
358
  }
359
359
 
360
360
  :host(.fab-button-in-list) {
361
- --background: var(--ion-color-light, #f6f8fc);
362
- --background-activated: var(--ion-color-light-shade, #d8dade);
361
+ --background: var(--ion-color-light, #f4f5f8);
362
+ --background-activated: var(--ion-color-light-shade, #d7d8da);
363
363
  --background-focused: var(--background-activated);
364
- --background-hover: var(--ion-color-light-tint, #f7f9fc);
364
+ --background-hover: var(--ion-color-light-tint, #f5f6f9);
365
365
  --color: var(--ion-color-light-contrast, #000);
366
366
  --color-activated: var(--ion-color-light-contrast, #000);
367
367
  --color-focused: var(--color-activated);
@@ -395,15 +395,15 @@ ion-ripple-effect {
395
395
  }
396
396
  @supports (backdrop-filter: blur(0)) {
397
397
  :host(.fab-button-translucent) {
398
- --background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.9);
399
- --background-hover: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.8);
400
- --background-focused: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.82);
398
+ --background: rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.9);
399
+ --background-hover: rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.8);
400
+ --background-focused: rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.82);
401
401
  --backdrop-filter: saturate(180%) blur(20px);
402
402
  }
403
403
  :host(.fab-button-translucent-in-list) {
404
- --background: rgba(var(--ion-color-light-rgb, 246, 248, 252), 0.9);
405
- --background-hover: rgba(var(--ion-color-light-rgb, 246, 248, 252), 0.8);
406
- --background-focused: rgba(var(--ion-color-light-rgb, 246, 248, 252), 0.82);
404
+ --background: rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.9);
405
+ --background-hover: rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.8);
406
+ --background-focused: rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.82);
407
407
  }
408
408
  }
409
409
  @supports (backdrop-filter: blur(0)) {
@@ -334,7 +334,7 @@ ion-ripple-effect {
334
334
  * }
335
335
  */
336
336
  :host {
337
- --background: var(--ion-color-primary, #0054e9);
337
+ --background: var(--ion-color-primary, #3880ff);
338
338
  --background-activated: transparent;
339
339
  --background-focused: currentColor;
340
340
  --background-hover: currentColor;
@@ -359,10 +359,10 @@ ion-ripple-effect {
359
359
  --color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);
360
360
  --color-activated: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);
361
361
  --color-focused: var(--color-activated);
362
- --background: var(--ion-color-light, #f6f8fc);
362
+ --background: var(--ion-color-light, #f4f5f8);
363
363
  --background-activated: transparent;
364
- --background-focused: var(--ion-color-light-shade, #d8dade);
365
- --background-hover: var(--ion-color-light-tint, #f7f9fc);
364
+ --background-focused: var(--ion-color-light-shade, #d7d8da);
365
+ --background-hover: var(--ion-color-light-tint, #f5f6f9);
366
366
  }
367
367
 
368
368
  :host(.fab-button-in-list) ::slotted(ion-icon) {
@@ -1,58 +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('fab-button: a11y'), () => {
9
- test('should not have accessibility violations', async ({ page }) => {
10
- await page.setContent(`
11
- <ion-fab-button>FAB</ion-fab-button>
12
- <ion-fab-button class="ion-activated">FAB</ion-fab-button>
13
- `, config);
14
- const results = await new AxeBuilder({ page }).analyze();
15
- expect(results.violations).toEqual([]);
16
- });
17
- });
18
- test.describe(title('fab-list: contrast'), () => {
19
- test('should not have accessibility violations', async ({ page }) => {
20
- await page.setContent(`
21
- <ion-fab activated="true">
22
- <ion-fab-button>
23
- Open
24
- </ion-fab-button>
25
- <ion-fab-list side="bottom">
26
- <ion-fab-button>Down</ion-fab-button>
27
- <ion-fab-button class="ion-activated">Down</ion-fab-button>
28
- <ion-fab-button class="ion-focused">Down</ion-fab-button>
29
- </ion-fab-list>
30
- </ion-fab>
31
- `, config);
32
- const results = await new AxeBuilder({ page }).analyze();
33
- expect(results.violations).toEqual([]);
34
- });
35
- });
36
- test.describe(title('fab: translucent contrast'), () => {
37
- test('should not have accessibility violations', async ({ page }) => {
38
- await page.setContent(`
39
- <ion-fab-button translucent="true">FAB</ion-fab-button>
40
- <ion-fab-button class="ion-focused" translucent="true">FAB</ion-fab-button>
41
- <ion-fab activated="true">
42
- <ion-fab-button>
43
- Open
44
- </ion-fab-button>
45
- <ion-fab-list side="bottom">
46
- <ion-fab-button translucent="true">Down</ion-fab-button>
47
- <ion-fab-button class="ion-focused" translucent="true">Down</ion-fab-button>
48
- </ion-fab-list>
49
- </ion-fab>
50
- `, config);
51
- const results = await new AxeBuilder({ page }).analyze();
52
- expect(results.violations).toEqual([]);
53
- });
54
- });
55
- });
56
6
  configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
57
7
  test.describe(title('fab-button: aria attributes'), () => {
58
8
  test('should inherit aria attributes to inner button', async ({ page }) => {
@@ -15,7 +15,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, screenshot, c
15
15
  await content.evaluate(async (el) => {
16
16
  await el.scrollToBottom();
17
17
  });
18
- await page.waitForSelector('#largeTitleHeader.header-collapse-condense-inactive');
18
+ await page.locator('#largeTitleHeader.header-collapse-condense-inactive').waitFor();
19
19
  await expect(smallTitleHeader).toHaveScreenshot(screenshot(`header-condense-large-title-collapsed-diff`));
20
20
  /**
21
21
  * Playwright can't do .not.toHaveAttribute() because a value is expected,
@@ -26,7 +26,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, screenshot, c
26
26
  await content.evaluate(async (el) => {
27
27
  await el.scrollToTop();
28
28
  });
29
- await page.waitForSelector('#smallTitleHeader.header-collapse-condense-inactive');
29
+ await page.locator('#smallTitleHeader.header-collapse-condense-inactive').waitFor();
30
30
  await expect(smallTitleHeader).toHaveAttribute('aria-hidden', 'true');
31
31
  });
32
32
  });
@@ -89,9 +89,9 @@
89
89
  --background: transparent;
90
90
  --color: initial;
91
91
  --border-style: solid;
92
- --highlight-color-focused: var(--ion-color-primary, #0054e9);
93
- --highlight-color-valid: var(--ion-color-success, #2dd55b);
94
- --highlight-color-invalid: var(--ion-color-danger, #c5000f);
92
+ --highlight-color-focused: var(--ion-color-primary, #3880ff);
93
+ --highlight-color-valid: var(--ion-color-success, #2dd36f);
94
+ --highlight-color-invalid: var(--ion-color-danger, #eb445a);
95
95
  /**
96
96
  * This is a private API that is used to switch
97
97
  * out the highlight color based on the state
@@ -89,9 +89,9 @@
89
89
  --background: transparent;
90
90
  --color: initial;
91
91
  --border-style: solid;
92
- --highlight-color-focused: var(--ion-color-primary, #0054e9);
93
- --highlight-color-valid: var(--ion-color-success, #2dd55b);
94
- --highlight-color-invalid: var(--ion-color-danger, #c5000f);
92
+ --highlight-color-focused: var(--ion-color-primary, #3880ff);
93
+ --highlight-color-valid: var(--ion-color-success, #2dd36f);
94
+ --highlight-color-invalid: var(--ion-color-danger, #eb445a);
95
95
  /**
96
96
  * This is a private API that is used to switch
97
97
  * out the highlight color based on the state
@@ -4,52 +4,14 @@
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({ directions: ['ltr'] }).forEach(({ title, config, screenshot }) => {
8
8
  test.describe(title('input: a11y'), () => {
9
- test('default layout should not have accessibility violations', async ({ page }) => {
10
- await page.setContent(`
11
- <main>
12
- <ion-input label="Label" placeholder="Placeholder"></ion-input>
13
- <ion-input placeholder="Placeholder">
14
- <div slot="label">Label"></div>
15
- </ion-input>
16
- <ion-input label="Label" value="My Text"></ion-input>
17
- <ion-input aria-label="Label"></ion-input>
18
- <ion-input label="Email" fill="solid" value="hi@ionic.io">
19
- <ion-icon slot="start" name="lock-closed" aria-hidden="true"></ion-icon>
20
- <ion-button slot="end" aria-label="button">
21
- <ion-icon slot="icon-only" name="lock-closed" aria-hidden="true"></ion-icon>
22
- </ion-button>
23
- </ion-input>
24
- </main>
25
- `, config);
26
- const results = await new AxeBuilder({ page }).analyze();
27
- expect(results.violations).toEqual([]);
28
- });
29
- test('focused state should not have accessibility violations', async ({ page }) => {
30
- /**
31
- * The primary color against the focus background
32
- * when using fill="solid" does not meet AA
33
- * contrast guidelines so it excluded from the test.
34
- * The contrast here is a significant improvement
35
- * over what Ionic has had in the past, so the team
36
- * has decided that this tradeoff is acceptable since
37
- * the scope of the problem is limited to the focus
38
- * state with the primary color when fill="solid".
39
- */
40
- await page.setContent(`
41
- <main>
42
- <ion-input class="has-focus" label="Label" value="My Text"></ion-input>
43
- <ion-input class="has-focus" label-placement="floating" label="Label" value="My Text"></ion-input>
44
- <ion-input class="has-focus" fill="outline" label-placement="floating" label="Label" value="My Text"></ion-input>
45
- </main>
46
- `, config);
9
+ test('should not have accessibility violations', async ({ page }) => {
10
+ await page.goto(`/src/components/input/test/a11y`, config);
47
11
  const results = await new AxeBuilder({ page }).analyze();
48
12
  expect(results.violations).toEqual([]);
49
13
  });
50
14
  });
51
- });
52
- configs({ directions: ['ltr'] }).forEach(({ title, config, screenshot }) => {
53
15
  test.describe(title('input: font scaling'), () => {
54
16
  test('should scale text on larger font sizes', async ({ page }) => {
55
17
  await page.setContent(`