@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
@@ -21,28 +21,28 @@ configs().forEach(({ title, screenshot, config }) => {
21
21
  await page.setContent(`
22
22
  <ion-datetime size="cover" presentation="date" prefer-wheel="true" value="2019-05-30" max="2022"></ion-datetime>
23
23
  `, config);
24
- await page.waitForSelector('.datetime-ready');
24
+ await page.locator('.datetime-ready').waitFor();
25
25
  await expect(page).toHaveScreenshot(screenshot(`datetime-wheel-date-diff`));
26
26
  });
27
27
  test('should not have visual regressions for date-time wheel', async ({ page }) => {
28
28
  await page.setContent(`
29
29
  <ion-datetime size="cover" presentation="date-time" prefer-wheel="true" value="2019-05-30T16:30:00" max="2022"></ion-datetime>
30
30
  `, config);
31
- await page.waitForSelector('.datetime-ready');
31
+ await page.locator('.datetime-ready').waitFor();
32
32
  await expect(page).toHaveScreenshot(screenshot(`datetime-wheel-date-time-diff`));
33
33
  });
34
34
  test('should not have visual regressions for time-date wheel', async ({ page }) => {
35
35
  await page.setContent(`
36
36
  <ion-datetime size="cover" presentation="time-date" prefer-wheel="true" value="2019-05-30T16:30:00" max="2022"></ion-datetime>
37
37
  `, config);
38
- await page.waitForSelector('.datetime-ready');
38
+ await page.locator('.datetime-ready').waitFor();
39
39
  await expect(page).toHaveScreenshot(screenshot(`datetime-wheel-time-date-diff`));
40
40
  });
41
41
  test('should render a condense header when specified', async ({ page }) => {
42
42
  await page.setContent(`
43
43
  <ion-datetime size="cover" presentation="time-date" prefer-wheel="true" value="2019-05-30T16:30:00" max="2022"><div slot="title">My Custom Title</div></ion-datetime>
44
44
  `, config);
45
- await page.waitForSelector('.datetime-ready');
45
+ await page.locator('.datetime-ready').waitFor();
46
46
  const datetime = page.locator('ion-datetime');
47
47
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-wheel-header-diff`));
48
48
  });
@@ -59,16 +59,16 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
59
59
  await page.setContent(`
60
60
  <ion-datetime presentation="date" prefer-wheel="true" min="2019-05-05" max="2023-10-01" value="2019-05-30"></ion-datetime>
61
61
  `, config);
62
- await page.waitForSelector('.datetime-ready');
63
- const dayValues = page.locator('ion-datetime .day-column ion-picker-column-option');
62
+ await page.locator('.datetime-ready').waitFor();
63
+ const dayValues = page.locator('ion-datetime .day-column .picker-item[data-value]');
64
64
  expect(await dayValues.count()).toEqual(27);
65
65
  });
66
66
  test('should respect the max bounds', async ({ page }) => {
67
67
  await page.setContent(`
68
68
  <ion-datetime presentation="date" prefer-wheel="true" min="2019-05-05" max="2023-10-01" value="2023-10-01"></ion-datetime>
69
69
  `, config);
70
- await page.waitForSelector('.datetime-ready');
71
- const dayValues = page.locator('ion-datetime .day-column ion-picker-column-option');
70
+ await page.locator('.datetime-ready').waitFor();
71
+ const dayValues = page.locator('ion-datetime .day-column .picker-item[data-value]');
72
72
  expect(await dayValues.count()).toEqual(1);
73
73
  });
74
74
  test('should respect isDateEnabled preference', async ({ page }) => {
@@ -85,10 +85,10 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
85
85
  }
86
86
  </script>
87
87
  `, config);
88
- await page.waitForSelector('.datetime-ready');
89
- const disabledMonths = page.locator('.month-column ion-picker-column-option.option-disabled');
90
- const disabledYears = page.locator('.year-column ion-picker-column-option.option-disabled');
91
- const disabledDays = page.locator('.day-column ion-picker-column-option.option-disabled');
88
+ await page.locator('.datetime-ready').waitFor();
89
+ const disabledMonths = page.locator('.month-column .picker-item[disabled]');
90
+ const disabledYears = page.locator('.year-column .picker-item[disabled]');
91
+ const disabledDays = page.locator('.day-column .picker-item[disabled]');
92
92
  expect(await disabledMonths.count()).toBe(0);
93
93
  expect(await disabledYears.count()).toBe(0);
94
94
  expect(await disabledDays.count()).toBe(15);
@@ -104,10 +104,10 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
104
104
  year-values="2022,2020,2019"
105
105
  ></ion-datetime>
106
106
  `, config);
107
- await page.waitForSelector('.datetime-ready');
108
- const monthValues = page.locator('.month-column ion-picker-column-option');
109
- const yearValues = page.locator('.year-column ion-picker-column-option');
110
- const dayValues = page.locator('.day-column ion-picker-column-option');
107
+ await page.locator('.datetime-ready').waitFor();
108
+ const monthValues = page.locator('.month-column .picker-item:not(.picker-item-empty)');
109
+ const yearValues = page.locator('.year-column .picker-item:not(.picker-item-empty)');
110
+ const dayValues = page.locator('.day-column .picker-item:not(.picker-item-empty)');
111
111
  expect(await monthValues.count()).toBe(2);
112
112
  expect(await yearValues.count()).toBe(3);
113
113
  expect(await dayValues.count()).toBe(5);
@@ -132,9 +132,9 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
132
132
  }
133
133
  </script>
134
134
  `, config);
135
- await page.waitForSelector('.datetime-ready');
135
+ await page.locator('.datetime-ready').waitFor();
136
136
  const ionChange = await page.spyOnEvent('ionChange');
137
- const monthValues = page.locator('.month-column ion-picker-column-option');
137
+ const monthValues = page.locator('.month-column .picker-item:not(.picker-item-empty)');
138
138
  // Change month value
139
139
  await monthValues.nth(0).click();
140
140
  await ionChange.next();
@@ -159,9 +159,9 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
159
159
  }
160
160
  </script>
161
161
  `, config);
162
- await page.waitForSelector('.datetime-ready');
162
+ await page.locator('.datetime-ready').waitFor();
163
163
  const ionChange = await page.spyOnEvent('ionChange');
164
- const dayValues = page.locator('.day-column ion-picker-column-option');
164
+ const dayValues = page.locator('.day-column .picker-item:not(.picker-item-empty)');
165
165
  // Change day value
166
166
  await dayValues.nth(0).click();
167
167
  await ionChange.next();
@@ -173,9 +173,9 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
173
173
  prefer-wheel="true"
174
174
  ></ion-datetime>
175
175
  `, config);
176
- await page.waitForSelector('.datetime-ready');
176
+ await page.locator('.datetime-ready').waitFor();
177
177
  const ionChange = await page.spyOnEvent('ionChange');
178
- const yearValues = page.locator('.year-column ion-picker-column-option');
178
+ const yearValues = page.locator('.year-column .picker-item:not(.picker-item-empty)');
179
179
  /**
180
180
  * Change year value
181
181
  * The 0th index is the current
@@ -188,13 +188,13 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
188
188
  await page.setContent(`
189
189
  <ion-datetime presentation="date" prefer-wheel="true" min="2019-05-05" max="2023-10-01" value="2019-05-30"></ion-datetime>
190
190
  `, config);
191
- await page.waitForSelector('.datetime-ready');
191
+ await page.locator('.datetime-ready').waitFor();
192
192
  const datetime = page.locator('ion-datetime');
193
193
  await datetime.evaluate((el) => (el.value = '2021-05-25T12:40:00.000Z'));
194
194
  await page.waitForChanges();
195
- const selectedMonth = datetime.locator('.month-column ion-picker-column-option.option-active');
196
- const selectedDay = datetime.locator('.day-column ion-picker-column-option.option-active');
197
- const selectedYear = datetime.locator('.year-column ion-picker-column-option.option-active');
195
+ const selectedMonth = datetime.locator('.month-column .picker-item-active');
196
+ const selectedDay = datetime.locator('.day-column .picker-item-active');
197
+ const selectedYear = datetime.locator('.year-column .picker-item-active');
198
198
  await expect(selectedMonth).toHaveText(/May/);
199
199
  await expect(selectedDay).toHaveText(/25/);
200
200
  await expect(selectedYear).toHaveText(/2021/);
@@ -212,9 +212,9 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
212
212
  value="2022-01-01"
213
213
  ></ion-datetime>
214
214
  `, config);
215
- await page.waitForSelector('.datetime-ready');
216
- const monthValues = page.locator('.month-column ion-picker-column-option');
217
- const dayValues = page.locator('.day-column ion-picker-column-option');
215
+ await page.locator('.datetime-ready').waitFor();
216
+ const monthValues = page.locator('.month-column .picker-item:not(.picker-item-empty)');
217
+ const dayValues = page.locator('.day-column .picker-item:not(.picker-item-empty)');
218
218
  await expect(monthValues).toHaveText(['1月', '2月', '3月']);
219
219
  await expect(dayValues).toHaveText(['1日', '2日', '3日']);
220
220
  });
@@ -227,8 +227,8 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
227
227
  value="2022-01-01"
228
228
  ></ion-datetime>
229
229
  `, config);
230
- await page.waitForSelector('.datetime-ready');
231
- const columns = page.locator('ion-picker-column');
230
+ await page.locator('.datetime-ready').waitFor();
231
+ const columns = page.locator('ion-picker-column-internal');
232
232
  await expect(columns.nth(0)).toHaveClass(/month-column/);
233
233
  await expect(columns.nth(1)).toHaveClass(/day-column/);
234
234
  await expect(columns.nth(2)).toHaveClass(/year-column/);
@@ -242,8 +242,8 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
242
242
  value="2022-01-01"
243
243
  ></ion-datetime>
244
244
  `, config);
245
- await page.waitForSelector('.datetime-ready');
246
- const columns = page.locator('ion-picker-column');
245
+ await page.locator('.datetime-ready').waitFor();
246
+ const columns = page.locator('ion-picker-column-internal');
247
247
  await expect(columns.nth(0)).toHaveClass(/day-column/);
248
248
  await expect(columns.nth(1)).toHaveClass(/month-column/);
249
249
  await expect(columns.nth(2)).toHaveClass(/year-column/);
@@ -255,16 +255,16 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
255
255
  await page.setContent(`
256
256
  <ion-datetime presentation="date-time" prefer-wheel="true" min="2019-05-05" value="2019-05-10T16:30:00"></ion-datetime>
257
257
  `, config);
258
- await page.waitForSelector('.datetime-ready');
259
- const dayValues = page.locator('ion-datetime .date-column ion-picker-column-option');
258
+ await page.locator('.datetime-ready').waitFor();
259
+ const dayValues = page.locator('ion-datetime .date-column .picker-item[data-value]');
260
260
  expect(await dayValues.count()).toEqual(57);
261
261
  });
262
262
  test('should respect the max bounds', async ({ page }) => {
263
263
  await page.setContent(`
264
264
  <ion-datetime presentation="date-time" prefer-wheel="true" max="2023-06-10" value="2023-06-05T16:30:00"></ion-datetime>
265
265
  `, config);
266
- await page.waitForSelector('.datetime-ready');
267
- const dayValues = page.locator('ion-datetime .date-column ion-picker-column-option');
266
+ await page.locator('.datetime-ready').waitFor();
267
+ const dayValues = page.locator('ion-datetime .date-column .picker-item[data-value]');
268
268
  expect(await dayValues.count()).toEqual(41);
269
269
  });
270
270
  test('should respect isDateEnabled preference', async ({ page }) => {
@@ -281,8 +281,8 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
281
281
  }
282
282
  </script>
283
283
  `, config);
284
- await page.waitForSelector('.datetime-ready');
285
- const disabledDates = page.locator('.date-column ion-picker-column-option.option-disabled');
284
+ await page.locator('.datetime-ready').waitFor();
285
+ const disabledDates = page.locator('.date-column .picker-item[disabled]');
286
286
  expect(await disabledDates.count()).toBe(44);
287
287
  });
288
288
  test('should respect month, day, and year preferences', async ({ page }) => {
@@ -296,8 +296,8 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
296
296
  year-values="2022,2020,2019"
297
297
  ></ion-datetime>
298
298
  `, config);
299
- await page.waitForSelector('.datetime-ready');
300
- const dateValues = page.locator('.date-column ion-picker-column-option');
299
+ await page.locator('.datetime-ready').waitFor();
300
+ const dateValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
301
301
  expect(await dateValues.count()).toBe(5);
302
302
  });
303
303
  test('should correctly localize the date data', async ({ page }) => {
@@ -311,8 +311,8 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
311
311
  value="2022-02-01"
312
312
  ></ion-datetime>
313
313
  `, config);
314
- await page.waitForSelector('.datetime-ready');
315
- const dateValues = page.locator('.date-column ion-picker-column-option');
314
+ await page.locator('.datetime-ready').waitFor();
315
+ const dateValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
316
316
  await expect(dateValues).toHaveText(['2月1日(火)', '2月2日(水)', '2月3日(木)']);
317
317
  });
318
318
  test('should respect min and max bounds even across years', async ({ page }) => {
@@ -325,18 +325,17 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
325
325
  max="2023-01-01"
326
326
  ></ion-datetime>
327
327
  `, config);
328
- await page.waitForSelector('.datetime-ready');
328
+ await page.locator('.datetime-ready').waitFor();
329
329
  const dateColumn = page.locator('.date-column');
330
- const dateColumnScrollEl = dateColumn.locator('.picker-opts');
331
- const dateValues = dateColumn.locator('ion-picker-column-option');
330
+ const dateValues = dateColumn.locator('.picker-item:not(.picker-item-empty)');
332
331
  expect(await dateValues.count()).toBe(90);
333
332
  /**
334
333
  * Select 1st item to change the dates rendered
335
334
  */
336
- await expect(dateValues.nth(0)).toHaveJSProperty('value', '2022-1-1');
337
- await dateColumnScrollEl.evaluate((el) => (el.scrollTop = 0));
335
+ await expect(dateValues.nth(0)).toHaveAttribute('data-value', '2022-1-1');
336
+ await dateColumn.evaluate((el) => (el.scrollTop = 0));
338
337
  await page.waitForChanges();
339
- await expect(dateValues.nth(0)).toHaveJSProperty('value', '2021-12-1');
338
+ await expect(dateValues.nth(0)).toHaveAttribute('data-value', '2021-12-1');
340
339
  });
341
340
  test('should keep sliding window if default window is within min and max constraints', async ({ page }) => {
342
341
  await page.setContent(`
@@ -348,8 +347,8 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
348
347
  min="2010-01-01"
349
348
  ></ion-datetime>
350
349
  `, config);
351
- await page.waitForSelector('.datetime-ready');
352
- const dayValues = page.locator('.date-column ion-picker-column-option');
350
+ await page.locator('.datetime-ready').waitFor();
351
+ const dayValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
353
352
  expect(await dayValues.count()).toBe(92);
354
353
  });
355
354
  test('should narrow sliding window if default window is not within min and max constraints', async ({ page }) => {
@@ -362,8 +361,8 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
362
361
  min="2022-05-01"
363
362
  ></ion-datetime>
364
363
  `, config);
365
- await page.waitForSelector('.datetime-ready');
366
- const dayValues = page.locator('.date-column ion-picker-column-option');
364
+ await page.locator('.datetime-ready').waitFor();
365
+ const dayValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
367
366
  expect(await dayValues.count()).toBe(15);
368
367
  });
369
368
  test('selecting date should update value when no value is set', async ({ page }) => {
@@ -373,9 +372,9 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
373
372
  prefer-wheel="true"
374
373
  ></ion-datetime>
375
374
  `, config);
376
- await page.waitForSelector('.datetime-ready');
375
+ await page.locator('.datetime-ready').waitFor();
377
376
  const ionChange = await page.spyOnEvent('ionChange');
378
- const dayValues = page.locator('.date-column ion-picker-column-option');
377
+ const dayValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
379
378
  // Change day/month value
380
379
  await dayValues.nth(0).click();
381
380
  await ionChange.next();
@@ -386,16 +385,16 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
386
385
  await page.setContent(`
387
386
  <ion-datetime presentation="time-date" prefer-wheel="true" min="2019-05-05" value="2019-05-10T16:30:00"></ion-datetime>
388
387
  `, config);
389
- await page.waitForSelector('.datetime-ready');
390
- const dayValues = page.locator('ion-datetime .date-column ion-picker-column-option');
388
+ await page.locator('.datetime-ready').waitFor();
389
+ const dayValues = page.locator('ion-datetime .date-column .picker-item[data-value]');
391
390
  expect(await dayValues.count()).toEqual(57);
392
391
  });
393
392
  test('should respect the max bounds', async ({ page }) => {
394
393
  await page.setContent(`
395
394
  <ion-datetime presentation="time-date" prefer-wheel="true" max="2023-06-10" value="2023-06-05T16:30:00"></ion-datetime>
396
395
  `, config);
397
- await page.waitForSelector('.datetime-ready');
398
- const dayValues = page.locator('ion-datetime .date-column ion-picker-column-option');
396
+ await page.locator('.datetime-ready').waitFor();
397
+ const dayValues = page.locator('ion-datetime .date-column .picker-item[data-value]');
399
398
  expect(await dayValues.count()).toEqual(41);
400
399
  });
401
400
  test('should respect isDateEnabled preference', async ({ page }) => {
@@ -412,8 +411,8 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
412
411
  }
413
412
  </script>
414
413
  `, config);
415
- await page.waitForSelector('.datetime-ready');
416
- const disabledDates = page.locator('.date-column ion-picker-column-option.option-disabled');
414
+ await page.locator('.datetime-ready').waitFor();
415
+ const disabledDates = page.locator('.date-column .picker-item[disabled]');
417
416
  expect(await disabledDates.count()).toBe(44);
418
417
  });
419
418
  test('should respect month, day, and year preferences', async ({ page }) => {
@@ -427,8 +426,8 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
427
426
  year-values="2022,2020,2019"
428
427
  ></ion-datetime>
429
428
  `, config);
430
- await page.waitForSelector('.datetime-ready');
431
- const dateValues = page.locator('.date-column ion-picker-column-option');
429
+ await page.locator('.datetime-ready').waitFor();
430
+ const dateValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
432
431
  expect(await dateValues.count()).toBe(5);
433
432
  });
434
433
  test('should correctly localize the date data', async ({ page }) => {
@@ -442,8 +441,8 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
442
441
  value="2022-02-01"
443
442
  ></ion-datetime>
444
443
  `, config);
445
- await page.waitForSelector('.datetime-ready');
446
- const dateValues = page.locator('.date-column ion-picker-column-option');
444
+ await page.locator('.datetime-ready').waitFor();
445
+ const dateValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
447
446
  await expect(dateValues).toHaveText(['2月1日(火)', '2月2日(水)', '2月3日(木)']);
448
447
  });
449
448
  test('should respect min and max bounds even across years', async ({ page }) => {
@@ -456,18 +455,17 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
456
455
  max="2023-01-01"
457
456
  ></ion-datetime>
458
457
  `, config);
459
- await page.waitForSelector('.datetime-ready');
458
+ await page.locator('.datetime-ready').waitFor();
460
459
  const dateColumn = page.locator('.date-column');
461
- const dateColumnScrollEl = dateColumn.locator('.picker-opts');
462
- const dateValues = dateColumn.locator('ion-picker-column-option');
460
+ const dateValues = dateColumn.locator('.picker-item:not(.picker-item-empty)');
463
461
  expect(await dateValues.count()).toBe(90);
464
462
  /**
465
463
  * Select 1st item to change the dates rendered
466
464
  */
467
- await expect(dateValues.nth(0)).toHaveJSProperty('value', '2022-1-1');
468
- await dateColumnScrollEl.evaluate((el) => (el.scrollTop = 0));
465
+ await expect(dateValues.nth(0)).toHaveAttribute('data-value', '2022-1-1');
466
+ await dateColumn.evaluate((el) => (el.scrollTop = 0));
469
467
  await page.waitForChanges();
470
- await expect(dateValues.nth(0)).toHaveJSProperty('value', '2021-12-1');
468
+ await expect(dateValues.nth(0)).toHaveAttribute('data-value', '2021-12-1');
471
469
  });
472
470
  test('should keep sliding window if default window is within min and max constraints', async ({ page }) => {
473
471
  await page.setContent(`
@@ -479,8 +477,8 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
479
477
  min="2010-01-01"
480
478
  ></ion-datetime>
481
479
  `, config);
482
- await page.waitForSelector('.datetime-ready');
483
- const dayValues = page.locator('.date-column ion-picker-column-option');
480
+ await page.locator('.datetime-ready').waitFor();
481
+ const dayValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
484
482
  expect(await dayValues.count()).toBe(92);
485
483
  });
486
484
  test('should narrow sliding window if default window is not within min and max constraints', async ({ page }) => {
@@ -493,8 +491,8 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
493
491
  min="2022-05-01"
494
492
  ></ion-datetime>
495
493
  `, config);
496
- await page.waitForSelector('.datetime-ready');
497
- const dayValues = page.locator('.date-column ion-picker-column-option');
494
+ await page.locator('.datetime-ready').waitFor();
495
+ const dayValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
498
496
  expect(await dayValues.count()).toBe(15);
499
497
  });
500
498
  });
@@ -85,7 +85,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
85
85
  await page.setContent(`
86
86
  <ion-datetime presentation="date"></ion-datetime>
87
87
  `, config);
88
- await page.waitForSelector('.datetime-ready');
88
+ await page.locator('.datetime-ready').waitFor();
89
89
  const datetime = page.locator('ion-datetime');
90
90
  const monthYearButton = page.locator('ion-datetime .calendar-month-year');
91
91
  await monthYearButton.click();
@@ -136,7 +136,7 @@ class DatetimePresentationFixture {
136
136
  await this.page.setContent(`
137
137
  <ion-datetime presentation="${presentation}" value="2010-03-10T13:00:00"></ion-datetime>
138
138
  `, config);
139
- await this.page.waitForSelector('.datetime-ready');
139
+ await this.page.locator('.datetime-ready').waitFor();
140
140
  this.datetime = this.page.locator('ion-datetime');
141
141
  }
142
142
  async screenshot(name, screenshotFn) {
@@ -151,7 +151,7 @@ class TimePickerFixture {
151
151
  await this.page.setContent(`
152
152
  <ion-datetime presentation="time" value="${value}"></ion-datetime>
153
153
  `, config);
154
- await this.page.waitForSelector('.datetime-ready');
154
+ await this.page.locator('.datetime-ready').waitFor();
155
155
  this.timePicker = this.page.locator('ion-datetime');
156
156
  }
157
157
  async setValue(value) {
@@ -161,7 +161,7 @@ class TimePickerFixture {
161
161
  await this.page.waitForChanges();
162
162
  }
163
163
  async expectTime(hour, minute, ampm) {
164
- const pickerColumns = this.timePicker.locator('ion-picker-column');
164
+ const pickerColumns = this.timePicker.locator('ion-picker-column-internal');
165
165
  await expect(pickerColumns.nth(0)).toHaveJSProperty('value', hour);
166
166
  await expect(pickerColumns.nth(1)).toHaveJSProperty('value', minute);
167
167
  await expect(pickerColumns.nth(2)).toHaveJSProperty('value', ampm);
@@ -20,7 +20,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
20
20
  await page.setContent(`
21
21
  <ion-datetime value="2022-02-28" readonly></ion-datetime>
22
22
  `, config);
23
- await page.waitForSelector('.datetime-ready');
23
+ await page.locator('.datetime-ready').waitFor();
24
24
  const febFirstButton = page.locator(`.calendar-day[data-day='1'][data-month='2']`);
25
25
  await expect(febFirstButton).toBeDisabled();
26
26
  });
@@ -29,12 +29,12 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
29
29
  <ion-datetime value="2022-02-22T16:30:00" readonly></ion-datetime>
30
30
  `, config);
31
31
  const ionChange = await page.spyOnEvent('ionChange');
32
- await page.waitForSelector('.datetime-ready');
32
+ await page.locator('.datetime-ready').waitFor();
33
33
  const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
34
34
  await expect(calendarMonthYear).toHaveText('February 2022');
35
35
  await calendarMonthYear.click();
36
36
  await page.waitForChanges();
37
- await page.locator('.month-column ion-picker-column-option').nth(2).click();
37
+ await page.locator('.month-column .picker-item[data-value="3"]').click();
38
38
  await page.waitForChanges();
39
39
  await expect(calendarMonthYear).toHaveText('March 2022');
40
40
  await expect(ionChange).not.toHaveReceivedEvent();
@@ -44,16 +44,16 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
44
44
  <ion-datetime value="2022-02-22T16:30:00" readonly></ion-datetime>
45
45
  `, config);
46
46
  const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab';
47
- await page.waitForSelector('.datetime-ready');
47
+ await page.locator('.datetime-ready').waitFor();
48
48
  const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
49
- const monthYearButton = page.locator('.calendar-month-year-toggle');
49
+ const monthYearButton = page.locator('.calendar-month-year ion-item');
50
50
  await expect(calendarMonthYear).toHaveText('February 2022');
51
51
  await page.keyboard.press(tabKey);
52
52
  await expect(monthYearButton).toBeFocused();
53
53
  await page.waitForChanges();
54
54
  await page.keyboard.press('Enter');
55
55
  await page.waitForChanges();
56
- const marchPickerItem = page.locator('.month-column ion-picker-column-option').nth(2);
56
+ const marchPickerItem = page.locator('.month-column .picker-item[data-value="3"]');
57
57
  await expect(marchPickerItem).toBeVisible();
58
58
  });
59
59
  test('should view next month via next button', async ({ page }) => {
@@ -75,7 +75,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
75
75
  `, config);
76
76
  const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab';
77
77
  const datetime = page.locator('ion-datetime');
78
- const monthYearButton = page.locator('.calendar-month-year-toggle');
78
+ const monthYearButton = page.locator('.calendar-month-year ion-item');
79
79
  const prevButton = page.locator('.calendar-next-prev ion-button:nth-child(1)');
80
80
  const nextButton = page.locator('.calendar-next-prev ion-button:nth-child(2)');
81
81
  const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
@@ -105,7 +105,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
105
105
 
106
106
  <ion-datetime value="2022-02-22T16:30:00" show-default-buttons="true" show-clear-button="true" readonly></ion-datetime>
107
107
  `, config);
108
- await page.waitForSelector('.datetime-ready');
108
+ await page.locator('.datetime-ready').waitFor();
109
109
  const clearButton = page.locator('#clear-button button');
110
110
  await expect(clearButton).toBeDisabled();
111
111
  });
@@ -7,7 +7,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
7
7
  test.describe(title('datetime: set-value'), () => {
8
8
  test('should update the active date when value is initially set', async ({ page }) => {
9
9
  await page.goto('/src/components/datetime/test/set-value', config);
10
- await page.waitForSelector('.datetime-ready');
10
+ await page.locator('.datetime-ready').waitFor();
11
11
  const datetime = page.locator('ion-datetime');
12
12
  await datetime.evaluate((el) => (el.value = '2021-11-25T12:40:00.000Z'));
13
13
  await page.waitForChanges();
@@ -16,7 +16,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
16
16
  });
17
17
  test('should update the active time when value is initially set', async ({ page }) => {
18
18
  await page.goto('/src/components/datetime/test/set-value', config);
19
- await page.waitForSelector('.datetime-ready');
19
+ await page.locator('.datetime-ready').waitFor();
20
20
  const datetime = page.locator('ion-datetime');
21
21
  await datetime.evaluate((el) => (el.value = '2021-11-25T12:40:00.000Z'));
22
22
  await page.waitForChanges();
@@ -27,7 +27,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
27
27
  await page.setContent(`
28
28
  <ion-datetime presentation="date" locale="en-US"></ion-datetime>
29
29
  `, config);
30
- await page.waitForSelector('.datetime-ready');
30
+ await page.locator('.datetime-ready').waitFor();
31
31
  const datetime = page.locator('ion-datetime');
32
32
  const activeDayButton = page.locator('.calendar-day-active');
33
33
  await datetime.evaluate((el) => (el.value = '2021-10-05'));
@@ -39,7 +39,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
39
39
  });
40
40
  test('should scroll to new month when value is initially set and then updated', async ({ page }) => {
41
41
  await page.goto('/src/components/datetime/test/set-value', config);
42
- await page.waitForSelector('.datetime-ready');
42
+ await page.locator('.datetime-ready').waitFor();
43
43
  const datetime = page.locator('ion-datetime');
44
44
  await datetime.evaluate((el) => (el.value = '2021-05-25T12:40:00.000Z'));
45
45
  await page.waitForChanges();
@@ -9,7 +9,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
9
9
  await page.setContent(`
10
10
  <ion-datetime></ion-datetime>
11
11
  `, config);
12
- await page.waitForSelector('.datetime-ready');
12
+ await page.locator('.datetime-ready').waitFor();
13
13
  const timeLabel = page.locator('ion-datetime .time-header');
14
14
  await expect(timeLabel).toHaveText('Time');
15
15
  });
@@ -17,7 +17,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
17
17
  await page.setContent(`
18
18
  <ion-datetime show-default-time-label="false"></ion-datetime>
19
19
  `, config);
20
- await page.waitForSelector('.datetime-ready');
20
+ await page.locator('.datetime-ready').waitFor();
21
21
  const timeLabel = page.locator('ion-datetime .time-header');
22
22
  await expect(timeLabel).toHaveText('');
23
23
  });