@ionic/core 7.6.7-dev.11706551494.19e19037 → 7.6.7-dev.11706551842.118ce6e0

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 (521) hide show
  1. package/components/action-sheet.js +1 -1
  2. package/components/alert.js +2 -2
  3. package/components/backdrop.js +0 -12
  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 +3 -4
  11. package/components/ion-datetime.js +40 -64
  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 +21 -15
  18. package/components/ion-nav.js +7 -3
  19. package/components/ion-picker-column-option.d.ts +11 -0
  20. package/components/ion-picker-column-option.js +9 -0
  21. package/components/ion-picker-column.js +2 -2
  22. package/components/ion-picker-legacy-column.d.ts +11 -0
  23. package/components/ion-picker-legacy-column.js +9 -0
  24. package/components/{ion-picker-internal.d.ts → ion-picker-legacy.d.ts} +4 -4
  25. package/components/ion-picker-legacy.js +309 -0
  26. package/components/ion-picker.js +1 -309
  27. package/components/ion-progress-bar.js +2 -2
  28. package/components/ion-range.js +2 -2
  29. package/components/ion-refresher-content.js +1 -1
  30. package/components/ion-refresher.js +1 -1
  31. package/components/ion-router-link.js +1 -1
  32. package/components/ion-searchbar.js +1 -1
  33. package/components/ion-segment-button.js +1 -1
  34. package/components/ion-select.js +2 -2
  35. package/components/ion-split-pane.js +26 -15
  36. package/components/ion-tab-bar.js +2 -2
  37. package/components/ion-textarea.js +2 -2
  38. package/components/ion-toast.js +2 -2
  39. package/components/ion-toggle.js +2 -2
  40. package/components/item.js +2 -8
  41. package/components/label.js +1 -1
  42. package/components/overlays.js +11 -4
  43. package/components/picker-column-option.js +122 -0
  44. package/components/picker-column.js +351 -322
  45. package/components/picker-column2.js +379 -0
  46. package/components/{picker-internal.js → picker.js} +29 -22
  47. package/components/radio.js +2 -2
  48. package/components/select-popover.js +1 -1
  49. package/css/core.css +101 -34
  50. package/css/core.css.map +1 -1
  51. package/css/global.bundle.css +1 -1
  52. package/css/ionic.bundle.css +1 -1
  53. package/css/ionic.bundle.css.map +1 -1
  54. package/css/themes/dark.always.css +122 -0
  55. package/css/themes/dark.always.css.map +1 -0
  56. package/css/themes/dark.class.css +122 -0
  57. package/css/themes/dark.class.css.map +1 -0
  58. package/css/themes/dark.css +3 -0
  59. package/css/themes/dark.css.map +1 -0
  60. package/css/themes/dark.system.css +124 -0
  61. package/css/themes/dark.system.css.map +1 -0
  62. package/css/typography.css +1 -1
  63. package/dist/cjs/{button-active-85665616.js → button-active-d432e262.js} +1 -1
  64. package/dist/cjs/{data-a5109f09.js → data-e2bf21de.js} +1 -1
  65. package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
  66. package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
  67. package/dist/cjs/index.cjs.js +3 -3
  68. package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -5
  69. package/dist/cjs/ion-alert.cjs.entry.js +6 -6
  70. package/dist/cjs/ion-app_8.cjs.entry.js +4 -5
  71. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  72. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  73. package/dist/cjs/ion-backdrop.cjs.entry.js +0 -12
  74. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  75. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
  76. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  77. package/dist/cjs/ion-datetime_3.cjs.entry.js +37 -57
  78. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  79. package/dist/cjs/ion-input.cjs.entry.js +2 -2
  80. package/dist/cjs/ion-item-option_3.cjs.entry.js +3 -3
  81. package/dist/cjs/ion-item_8.cjs.entry.js +3 -8
  82. package/dist/cjs/ion-loading.cjs.entry.js +3 -2
  83. package/dist/cjs/ion-menu_3.cjs.entry.js +25 -20
  84. package/dist/cjs/ion-modal.cjs.entry.js +3 -3
  85. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -3
  86. package/dist/cjs/ion-picker-column-option.cjs.entry.js +104 -0
  87. package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +104 -87
  88. package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +26 -19
  89. package/dist/cjs/ion-popover.cjs.entry.js +2 -1
  90. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  91. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  92. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  93. package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -5
  94. package/dist/cjs/ion-reorder_2.cjs.entry.js +1 -1
  95. package/dist/cjs/ion-route_4.cjs.entry.js +1 -1
  96. package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
  97. package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
  98. package/dist/cjs/ion-select_3.cjs.entry.js +5 -4
  99. package/dist/cjs/ion-split-pane.cjs.entry.js +24 -14
  100. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  101. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  102. package/dist/cjs/ion-toast.cjs.entry.js +5 -5
  103. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  104. package/dist/cjs/ionic.cjs.js +1 -1
  105. package/dist/cjs/loader.cjs.js +1 -1
  106. package/dist/cjs/{overlays-8285b485.js → overlays-3afa911d.js} +11 -4
  107. package/dist/cjs/{swipe-back-2a858bbd.js → swipe-back-b8f2330b.js} +2 -2
  108. package/dist/collection/collection-manifest.json +7 -6
  109. package/dist/collection/components/action-sheet/action-sheet.ios.css +3 -3
  110. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +23 -14
  111. package/dist/collection/components/alert/alert.ios.css +6 -6
  112. package/dist/collection/components/alert/alert.md.css +6 -6
  113. package/dist/collection/components/alert/test/a11y/alert.e2e.js +22 -9
  114. package/dist/collection/components/back-button/back-button.ios.css +1 -1
  115. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +21 -0
  116. package/dist/collection/components/backdrop/backdrop.js +0 -12
  117. package/dist/collection/components/badge/badge.ios.css +1 -1
  118. package/dist/collection/components/badge/badge.md.css +1 -1
  119. package/dist/collection/components/badge/test/a11y/badge.e2e.js +18 -0
  120. package/dist/collection/components/button/button.ios.css +11 -11
  121. package/dist/collection/components/button/button.md.css +9 -9
  122. package/dist/collection/components/button/test/a11y/button.e2e.js +48 -0
  123. package/dist/collection/components/button/test/basic/button.e2e.js +1 -1
  124. package/dist/collection/components/button/test/wrap/button.e2e.js +12 -24
  125. package/dist/collection/components/checkbox/checkbox.ios.css +2 -2
  126. package/dist/collection/components/checkbox/checkbox.md.css +2 -2
  127. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +11 -2
  128. package/dist/collection/components/content/content.css +0 -4
  129. package/dist/collection/components/content/content.js +2 -3
  130. package/dist/collection/components/datetime/datetime.ios.css +93 -40
  131. package/dist/collection/components/datetime/datetime.js +24 -36
  132. package/dist/collection/components/datetime/datetime.md.css +96 -38
  133. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +4 -4
  134. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
  135. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +22 -12
  136. package/dist/collection/components/datetime/test/datetime.e2e.js +3 -3
  137. package/dist/collection/components/datetime/test/disable-dates/datetime.e2e.js +1 -1
  138. package/dist/collection/components/datetime/test/disabled/datetime.e2e.js +4 -4
  139. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  140. package/dist/collection/components/datetime/test/display/datetime.e2e.js +9 -9
  141. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +5 -5
  142. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +17 -17
  143. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +2 -2
  144. package/dist/collection/components/datetime/test/multiple/datetime.e2e.js +2 -2
  145. package/dist/collection/components/datetime/test/position/datetime.e2e.js +1 -1
  146. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +75 -73
  147. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +4 -4
  148. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +8 -8
  149. package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +4 -4
  150. package/dist/collection/components/datetime/test/time-label/datetime.e2e.js +2 -2
  151. package/dist/collection/components/datetime/test/values/datetime.e2e.js +19 -16
  152. package/dist/collection/components/datetime/utils/data.js +1 -1
  153. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +14 -14
  154. package/dist/collection/components/datetime-button/test/disabled/datetime-button.e2e.js +2 -2
  155. package/dist/collection/components/datetime-button/test/multiple/datetime-button.e2e.js +6 -6
  156. package/dist/collection/components/fab-button/fab-button.ios.css +13 -13
  157. package/dist/collection/components/fab-button/fab-button.md.css +4 -4
  158. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +50 -0
  159. package/dist/collection/components/header/test/condense/header.e2e.js +2 -2
  160. package/dist/collection/components/input/input.ios.css +3 -3
  161. package/dist/collection/components/input/input.md.css +3 -3
  162. package/dist/collection/components/input/test/a11y/input.e2e.js +41 -3
  163. package/dist/collection/components/item/item.ios.css +42 -5
  164. package/dist/collection/components/item/item.js +0 -7
  165. package/dist/collection/components/item/item.md.css +43 -6
  166. package/dist/collection/components/item-option/item-option.ios.css +2 -2
  167. package/dist/collection/components/item-option/item-option.md.css +1 -1
  168. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +28 -0
  169. package/dist/collection/components/label/label.md.css +1 -1
  170. package/dist/collection/components/label/test/a11y/label.e2e.js +20 -0
  171. package/dist/collection/components/loading/loading.md.css +1 -1
  172. package/dist/collection/components/loading/test/a11y/loading.e2e.js +21 -5
  173. package/dist/collection/components/menu/menu.ios.css +64 -3
  174. package/dist/collection/components/menu/menu.js +19 -13
  175. package/dist/collection/components/menu/menu.md.css +64 -3
  176. package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
  177. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +14 -0
  178. package/dist/collection/components/modal/test/standalone/modal.e2e.js +1 -1
  179. package/dist/collection/components/nav/nav.js +22 -2
  180. package/dist/collection/components/nav/test/nav-controller.spec.js +36 -36
  181. package/dist/collection/components/note/test/a11y/note.e2e.js +6 -6
  182. package/dist/collection/components/picker/picker.ios.css +112 -211
  183. package/dist/collection/components/picker/picker.js +488 -738
  184. package/dist/collection/components/picker/picker.md.css +108 -198
  185. package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
  186. package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
  187. package/dist/collection/components/picker/test/custom/picker.e2e.js +85 -0
  188. package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +79 -42
  189. package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-column/picker-column.css} +96 -83
  190. package/dist/collection/components/picker-column/picker-column.js +499 -335
  191. package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
  192. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +91 -0
  193. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
  194. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
  195. package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
  196. package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
  197. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
  198. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
  199. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +29 -0
  200. package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy/picker.ios.css} +207 -98
  201. package/dist/collection/components/picker-legacy/picker.js +811 -0
  202. package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.md.css} +192 -100
  203. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
  204. package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
  205. package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
  206. package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
  207. package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
  208. package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.md.css +1 -1
  209. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
  210. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
  211. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
  212. package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
  213. package/dist/collection/components/progress-bar/progress-bar.ios.css +2 -2
  214. package/dist/collection/components/progress-bar/progress-bar.md.css +2 -2
  215. package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +24 -0
  216. package/dist/collection/components/radio/radio.ios.css +2 -2
  217. package/dist/collection/components/radio/radio.md.css +2 -2
  218. package/dist/collection/components/radio/test/a11y/radio.e2e.js +114 -81
  219. package/dist/collection/components/range/range.ios.css +1 -1
  220. package/dist/collection/components/range/range.md.css +3 -3
  221. package/dist/collection/components/range/test/a11y/range.e2e.js +18 -8
  222. package/dist/collection/components/refresher/refresher.md.css +2 -2
  223. package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +25 -0
  224. package/dist/collection/components/refresher/test/test.utils.js +1 -1
  225. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  226. package/dist/collection/components/ripple-effect/test/basic/ripple-effect.e2e.js +2 -2
  227. package/dist/collection/components/router-link/router-link.css +1 -1
  228. package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +23 -0
  229. package/dist/collection/components/searchbar/searchbar.ios.css +1 -1
  230. package/dist/collection/components/segment/test/a11y/segment.e2e.js +23 -0
  231. package/dist/collection/components/segment-button/segment-button.md.css +2 -2
  232. package/dist/collection/components/select/select.ios.css +3 -3
  233. package/dist/collection/components/select/select.md.css +3 -3
  234. package/dist/collection/components/select/test/a11y/select.e2e.js +68 -4
  235. package/dist/collection/components/select-popover/select-popover.md.css +4 -4
  236. package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +32 -0
  237. package/dist/collection/components/split-pane/split-pane.ios.css +2 -54
  238. package/dist/collection/components/split-pane/split-pane.js +46 -12
  239. package/dist/collection/components/split-pane/split-pane.md.css +2 -54
  240. package/dist/collection/components/split-pane/test/wrapped-menu/split-pane.e2e.js +41 -0
  241. package/dist/collection/components/tab-bar/tab-bar.ios.css +1 -1
  242. package/dist/collection/components/tab-bar/tab-bar.md.css +1 -1
  243. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +41 -3
  244. package/dist/collection/components/textarea/textarea.ios.css +3 -3
  245. package/dist/collection/components/textarea/textarea.md.css +3 -3
  246. package/dist/collection/components/toast/test/a11y/toast.e2e.js +56 -24
  247. package/dist/collection/components/toast/toast.ios.css +1 -1
  248. package/dist/collection/components/toast/toast.md.css +2 -2
  249. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +8 -2
  250. package/dist/collection/components/toggle/toggle.ios.css +2 -2
  251. package/dist/collection/components/toggle/toggle.md.css +2 -2
  252. package/dist/collection/css/test/a11y/typography.e2e.js +18 -0
  253. package/dist/collection/themes/test/colors/theme.e2e.js +114 -0
  254. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  255. package/dist/collection/utils/overlays.js +11 -4
  256. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
  257. package/dist/collection/utils/test/playwright/generator.js +1 -0
  258. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  259. package/dist/docs.json +500 -41
  260. package/dist/esm/{button-active-b62776db.js → button-active-3bcbd115.js} +1 -1
  261. package/dist/esm/{data-775093f5.js → data-6a31d701.js} +1 -1
  262. package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  263. package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
  264. package/dist/esm/index.js +3 -3
  265. package/dist/esm/ion-action-sheet.entry.js +5 -5
  266. package/dist/esm/ion-alert.entry.js +6 -6
  267. package/dist/esm/ion-app_8.entry.js +4 -5
  268. package/dist/esm/ion-avatar_3.entry.js +2 -2
  269. package/dist/esm/ion-back-button.entry.js +1 -1
  270. package/dist/esm/ion-backdrop.entry.js +0 -12
  271. package/dist/esm/ion-button_2.entry.js +2 -2
  272. package/dist/esm/ion-checkbox.entry.js +2 -2
  273. package/dist/esm/ion-datetime-button.entry.js +1 -1
  274. package/dist/esm/ion-datetime_3.entry.js +36 -56
  275. package/dist/esm/ion-fab_3.entry.js +2 -2
  276. package/dist/esm/ion-input.entry.js +2 -2
  277. package/dist/esm/ion-item-option_3.entry.js +3 -3
  278. package/dist/esm/ion-item_8.entry.js +3 -8
  279. package/dist/esm/ion-loading.entry.js +3 -2
  280. package/dist/esm/ion-menu_3.entry.js +25 -20
  281. package/dist/esm/ion-modal.entry.js +3 -3
  282. package/dist/esm/ion-nav_2.entry.js +6 -3
  283. package/dist/esm/ion-picker-column-option.entry.js +100 -0
  284. package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +104 -87
  285. package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +26 -19
  286. package/dist/esm/ion-popover.entry.js +2 -1
  287. package/dist/esm/ion-progress-bar.entry.js +2 -2
  288. package/dist/esm/ion-radio_2.entry.js +2 -2
  289. package/dist/esm/ion-range.entry.js +3 -3
  290. package/dist/esm/ion-refresher_2.entry.js +5 -5
  291. package/dist/esm/ion-reorder_2.entry.js +1 -1
  292. package/dist/esm/ion-route_4.entry.js +1 -1
  293. package/dist/esm/ion-searchbar.entry.js +1 -1
  294. package/dist/esm/ion-segment_2.entry.js +2 -2
  295. package/dist/esm/ion-select_3.entry.js +5 -4
  296. package/dist/esm/ion-split-pane.entry.js +24 -14
  297. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  298. package/dist/esm/ion-textarea.entry.js +2 -2
  299. package/dist/esm/ion-toast.entry.js +5 -5
  300. package/dist/esm/ion-toggle.entry.js +3 -3
  301. package/dist/esm/ionic.js +1 -1
  302. package/dist/esm/loader.js +1 -1
  303. package/dist/esm/{overlays-bb824d56.js → overlays-8b24f0d5.js} +11 -4
  304. package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-a8ca7f93.js} +2 -2
  305. package/dist/esm-es5/{button-active-b62776db.js → button-active-3bcbd115.js} +1 -1
  306. package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  307. package/dist/esm-es5/{index-2cf77112.js → index-39782642.js} +1 -1
  308. package/dist/esm-es5/index.js +1 -1
  309. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  310. package/dist/esm-es5/ion-alert.entry.js +1 -1
  311. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  312. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  313. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  314. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  315. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  316. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  317. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  318. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  319. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  320. package/dist/esm-es5/ion-input.entry.js +1 -1
  321. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  322. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  323. package/dist/esm-es5/ion-loading.entry.js +1 -1
  324. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  325. package/dist/esm-es5/ion-modal.entry.js +1 -1
  326. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  327. package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
  328. package/dist/esm-es5/ion-picker-column.entry.js +4 -0
  329. package/dist/esm-es5/ion-picker.entry.js +4 -0
  330. package/dist/esm-es5/ion-popover.entry.js +1 -1
  331. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  332. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  333. package/dist/esm-es5/ion-range.entry.js +1 -1
  334. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  335. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  336. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  337. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  338. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  339. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  340. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  341. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  342. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  343. package/dist/esm-es5/ion-toast.entry.js +1 -1
  344. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  345. package/dist/esm-es5/ionic.js +1 -1
  346. package/dist/esm-es5/loader.js +1 -1
  347. package/dist/esm-es5/overlays-8b24f0d5.js +4 -0
  348. package/dist/esm-es5/swipe-back-a8ca7f93.js +4 -0
  349. package/dist/html.html-data.json +152 -1
  350. package/dist/ionic/index.esm.js +1 -1
  351. package/dist/ionic/ionic.esm.js +1 -1
  352. package/dist/ionic/{p-249633a4.entry.js → p-0055506a.entry.js} +1 -1
  353. package/dist/ionic/p-0708a9c1.system.js +4 -0
  354. package/dist/ionic/p-09890dd9.entry.js +4 -0
  355. package/dist/ionic/{p-c1c57873.system.entry.js → p-0a0a84ce.system.entry.js} +1 -1
  356. package/dist/ionic/p-0d3c5eaa.system.entry.js +4 -0
  357. package/dist/ionic/p-10607f89.entry.js +4 -0
  358. package/dist/ionic/{p-d2707f9d.system.js → p-114ea79c.system.js} +1 -1
  359. package/dist/ionic/{p-41040a92.system.entry.js → p-14311a1d.system.entry.js} +1 -1
  360. package/dist/ionic/p-1a5f0313.system.js +1 -1
  361. package/dist/ionic/{p-c3bfe92d.entry.js → p-1d1ce54e.entry.js} +1 -1
  362. package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
  363. package/dist/ionic/p-26976bfc.system.entry.js +4 -0
  364. package/dist/ionic/{p-8084e9cb.entry.js → p-28525772.entry.js} +1 -1
  365. package/dist/ionic/p-2c02fb1c.system.entry.js +4 -0
  366. package/dist/ionic/{p-928e945d.system.entry.js → p-2fda36b6.system.entry.js} +1 -1
  367. package/dist/ionic/p-3065cecc.entry.js +4 -0
  368. package/dist/ionic/{p-b43cf55f.entry.js → p-34f05cec.entry.js} +1 -1
  369. package/dist/ionic/p-381ca6f8.system.entry.js +4 -0
  370. package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
  371. package/dist/ionic/{p-3b83e483.system.entry.js → p-3f3ae637.system.entry.js} +2 -2
  372. package/dist/ionic/{p-d6beb1c9.system.entry.js → p-41dcd6c0.system.entry.js} +1 -1
  373. package/dist/ionic/{p-54c92c77.entry.js → p-42d5f6ae.entry.js} +1 -1
  374. package/dist/ionic/p-4a13a07c.system.entry.js +4 -0
  375. package/dist/ionic/{p-bc6d16ca.entry.js → p-4b94c354.entry.js} +1 -1
  376. package/dist/ionic/p-51abefb7.system.js +4 -0
  377. package/dist/ionic/{p-e150f8fc.entry.js → p-598bd8e2.entry.js} +1 -1
  378. package/dist/ionic/p-5d22095a.entry.js +4 -0
  379. package/dist/ionic/{p-e814f9c0.entry.js → p-67b167bc.entry.js} +1 -1
  380. package/dist/ionic/p-67c1996d.entry.js +4 -0
  381. package/dist/ionic/p-6d42a37b.entry.js +4 -0
  382. package/dist/ionic/p-6db68be9.system.entry.js +4 -0
  383. package/dist/ionic/p-71f30cfc.system.entry.js +4 -0
  384. package/dist/ionic/{p-eb210b21.system.entry.js → p-75017f39.system.entry.js} +1 -1
  385. package/dist/ionic/{p-10c34f0a.system.entry.js → p-7a1ef06a.system.entry.js} +1 -1
  386. package/dist/ionic/{p-b09c8228.entry.js → p-7a2c6bb5.entry.js} +1 -1
  387. package/dist/ionic/p-7a343dca.system.entry.js +4 -0
  388. package/dist/ionic/p-7a3e1f37.system.entry.js +4 -0
  389. package/dist/ionic/{p-4dc3bc8b.entry.js → p-7acc89e0.entry.js} +1 -1
  390. package/dist/ionic/p-7ae141f1.entry.js +4 -0
  391. package/dist/ionic/p-7e8ef0bb.system.entry.js +4 -0
  392. package/dist/ionic/{p-5628d04e.entry.js → p-870453fd.entry.js} +1 -1
  393. package/dist/ionic/{p-cdce5ba3.system.entry.js → p-8a1d33e3.system.entry.js} +1 -1
  394. package/dist/ionic/{p-1f7fc88d.entry.js → p-8aaade76.entry.js} +1 -1
  395. package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
  396. package/dist/ionic/p-94265b3d.entry.js +4 -0
  397. package/dist/ionic/{p-35e1a80f.system.entry.js → p-943caced.system.entry.js} +1 -1
  398. package/dist/ionic/p-95d8071f.entry.js +4 -0
  399. package/dist/ionic/{p-7bae84aa.entry.js → p-9928b546.entry.js} +1 -1
  400. package/dist/ionic/{p-6b9eee40.system.entry.js → p-9a9deb33.system.entry.js} +1 -1
  401. package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
  402. package/dist/ionic/p-9c9eb63f.system.entry.js +4 -0
  403. package/dist/ionic/{p-db798370.system.entry.js → p-9cbfb298.system.entry.js} +1 -1
  404. package/dist/ionic/{p-0d2b6901.entry.js → p-9cd05453.entry.js} +1 -1
  405. package/dist/ionic/p-a01d6784.system.entry.js +4 -0
  406. package/dist/ionic/{p-c10cc51e.system.entry.js → p-a068b1c7.system.entry.js} +2 -2
  407. package/dist/ionic/{p-2c3842e8.system.entry.js → p-a11e45fe.system.entry.js} +1 -1
  408. package/dist/ionic/p-a259fa5f.system.entry.js +4 -0
  409. package/dist/ionic/p-a60a1ce5.js +4 -0
  410. package/dist/ionic/{p-436bd99a.entry.js → p-a72be676.entry.js} +1 -1
  411. package/dist/ionic/p-acbb36a1.entry.js +4 -0
  412. package/dist/ionic/{p-f865bc9a.entry.js → p-adba40e6.entry.js} +1 -1
  413. package/dist/ionic/{p-1052ef2b.entry.js → p-ae8747aa.entry.js} +1 -1
  414. package/dist/ionic/{p-525b6ac4.system.entry.js → p-bad61026.system.entry.js} +1 -1
  415. package/dist/ionic/p-c33d312f.js +4 -0
  416. package/dist/ionic/{p-688a36c7.entry.js → p-c7bdd72f.entry.js} +1 -1
  417. package/dist/ionic/{p-df62accd.entry.js → p-c9028fdc.entry.js} +1 -1
  418. package/dist/ionic/p-c9b8f9e5.system.entry.js +4 -0
  419. package/dist/ionic/{p-5c2da581.system.entry.js → p-cb0cfc39.system.entry.js} +1 -1
  420. package/dist/ionic/{p-49c52149.system.entry.js → p-cb304e5f.system.entry.js} +1 -1
  421. package/dist/ionic/{p-7510e462.entry.js → p-d545e325.entry.js} +1 -1
  422. package/dist/ionic/p-d6674fed.entry.js +4 -0
  423. package/dist/ionic/{p-8f1ebb7d.system.js → p-df75bd2c.system.js} +1 -1
  424. package/dist/ionic/p-dfd21411.system.entry.js +4 -0
  425. package/dist/ionic/p-e22bf111.js +4 -0
  426. package/dist/ionic/p-e652d9e4.entry.js +4 -0
  427. package/dist/ionic/p-ea4b254e.entry.js +4 -0
  428. package/dist/ionic/p-ea9a8424.system.entry.js +4 -0
  429. package/dist/ionic/p-eaa4e76f.system.entry.js +4 -0
  430. package/dist/ionic/{p-dc1d883c.system.entry.js → p-ee1214e0.system.entry.js} +1 -1
  431. package/dist/ionic/{p-41aa2662.entry.js → p-eeb87a49.entry.js} +1 -1
  432. package/dist/ionic/{p-b6f6f00e.entry.js → p-efa1c7f0.entry.js} +1 -1
  433. package/dist/ionic/{p-3dbaaa5b.system.entry.js → p-f2ed3039.system.entry.js} +1 -1
  434. package/dist/ionic/{p-1a0bf247.system.entry.js → p-fc58a772.system.entry.js} +1 -1
  435. package/dist/ionic/p-fdc3ff96.entry.js +4 -0
  436. package/dist/types/components/backdrop/backdrop.d.ts +0 -3
  437. package/dist/types/components/datetime/datetime.d.ts +0 -1
  438. package/dist/types/components/datetime/utils/data.d.ts +11 -7
  439. package/dist/types/components/item/item.d.ts +0 -1
  440. package/dist/types/components/menu/menu.d.ts +12 -2
  441. package/dist/types/components/nav/nav.d.ts +4 -1
  442. package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
  443. package/dist/types/components/picker/picker.d.ts +75 -129
  444. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +4 -0
  445. package/dist/types/components/picker-column/picker-column.d.ts +99 -39
  446. package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
  447. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  448. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  449. package/dist/types/components/split-pane/split-pane.d.ts +14 -2
  450. package/dist/types/components.d.ts +159 -122
  451. package/dist/types/interface.d.ts +1 -1
  452. package/dist/types/utils/config.d.ts +2 -2
  453. package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
  454. package/dist/types/utils/overlays.d.ts +5 -2
  455. package/hydrate/index.js +1462 -1350
  456. package/package.json +2 -2
  457. package/components/ion-picker-column-internal.d.ts +0 -11
  458. package/components/ion-picker-column-internal.js +0 -9
  459. package/components/ion-picker-internal.js +0 -9
  460. package/components/picker-column-internal.js +0 -390
  461. package/dist/collection/components/item/test/item.spec.js +0 -20
  462. package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -566
  463. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
  464. package/dist/collection/components/picker-internal/picker-internal.js +0 -560
  465. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
  466. package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
  467. package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
  468. package/dist/esm-es5/overlays-bb824d56.js +0 -4
  469. package/dist/esm-es5/swipe-back-a6f386fc.js +0 -4
  470. package/dist/ionic/p-024e2739.entry.js +0 -4
  471. package/dist/ionic/p-06128c8c.entry.js +0 -4
  472. package/dist/ionic/p-06f72943.system.entry.js +0 -4
  473. package/dist/ionic/p-35ce400e.system.js +0 -4
  474. package/dist/ionic/p-3de38800.system.entry.js +0 -4
  475. package/dist/ionic/p-5aecd304.system.entry.js +0 -4
  476. package/dist/ionic/p-5f698182.entry.js +0 -4
  477. package/dist/ionic/p-61bf9f6f.system.entry.js +0 -4
  478. package/dist/ionic/p-6899d5af.entry.js +0 -4
  479. package/dist/ionic/p-6a6477b2.js +0 -4
  480. package/dist/ionic/p-6e165986.system.entry.js +0 -4
  481. package/dist/ionic/p-719ad110.system.entry.js +0 -4
  482. package/dist/ionic/p-73547cf9.entry.js +0 -4
  483. package/dist/ionic/p-7a02dd61.system.entry.js +0 -4
  484. package/dist/ionic/p-7ffe791a.system.js +0 -4
  485. package/dist/ionic/p-80ddd0c1.entry.js +0 -4
  486. package/dist/ionic/p-87e10168.system.entry.js +0 -4
  487. package/dist/ionic/p-89c28901.system.entry.js +0 -4
  488. package/dist/ionic/p-8bad1486.system.entry.js +0 -4
  489. package/dist/ionic/p-90000ff6.js +0 -4
  490. package/dist/ionic/p-9cf0846d.system.entry.js +0 -4
  491. package/dist/ionic/p-a0953474.entry.js +0 -4
  492. package/dist/ionic/p-a2d75455.entry.js +0 -4
  493. package/dist/ionic/p-a706cf11.system.entry.js +0 -4
  494. package/dist/ionic/p-aca77953.entry.js +0 -4
  495. package/dist/ionic/p-afafbba0.entry.js +0 -4
  496. package/dist/ionic/p-ba4890eb.system.entry.js +0 -4
  497. package/dist/ionic/p-beeceaf5.system.entry.js +0 -4
  498. package/dist/ionic/p-c4177035.entry.js +0 -4
  499. package/dist/ionic/p-c48a9ef3.system.entry.js +0 -4
  500. package/dist/ionic/p-cb301b9a.entry.js +0 -4
  501. package/dist/ionic/p-eb80ca40.entry.js +0 -4
  502. package/dist/ionic/p-f48a49ae.system.entry.js +0 -4
  503. package/dist/ionic/p-fd1a0431.js +0 -4
  504. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +0 -5
  505. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
  506. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
  507. package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
  508. /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
  509. /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
  510. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
  511. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
  512. /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
  513. /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.ios.css +0 -0
  514. /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
  515. /package/dist/esm-es5/{data-775093f5.js → data-6a31d701.js} +0 -0
  516. /package/dist/ionic/{p-87bb3735.system.js → p-7ff4359e.system.js} +0 -0
  517. /package/dist/ionic/{p-18cae04f.js → p-a64accf5.js} +0 -0
  518. /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
  519. /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
  520. /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
  521. /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
@@ -82,7 +82,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
82
82
  }
83
83
  </script>
84
84
  `, config);
85
- await page.locator('.datetime-ready').waitFor();
85
+ await page.waitForSelector('.datetime-ready');
86
86
  const datetime = page.locator('ion-datetime');
87
87
  const ionChange = await page.spyOnEvent('ionChange');
88
88
  // Oct 1, 2022
@@ -188,7 +188,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
188
188
  await page.setContent(`
189
189
  <ion-datetime value="2022-05-03"></ion-datetime>
190
190
  `, config);
191
- await page.locator('.datetime-ready').waitFor();
191
+ await page.waitForSelector('.datetime-ready');
192
192
  const calendarBody = page.locator('ion-datetime .calendar-body');
193
193
  const calendarHeader = page.locator('ion-datetime .calendar-month-year');
194
194
  await expect(calendarHeader).toHaveText(/May 2022/);
@@ -200,7 +200,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
200
200
  await page.setContent(`
201
201
  <ion-datetime value="2022-05-03"></ion-datetime>
202
202
  `, config);
203
- await page.locator('.datetime-ready').waitFor();
203
+ await page.waitForSelector('.datetime-ready');
204
204
  const calendarBody = page.locator('ion-datetime .calendar-body');
205
205
  const calendarHeader = page.locator('ion-datetime .calendar-month-year');
206
206
  await expect(calendarHeader).toHaveText(/May 2022/);
@@ -213,7 +213,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
213
213
  await page.setContent(`
214
214
  <ion-datetime value="2022-05-03"></ion-datetime>
215
215
  `, config);
216
- await page.locator('.datetime-ready').waitFor();
216
+ await page.waitForSelector('.datetime-ready');
217
217
  const calendarBody = page.locator('ion-datetime .calendar-body');
218
218
  const calendarHeader = page.locator('ion-datetime .calendar-month-year');
219
219
  await expect(calendarHeader).toHaveText(/May 2022/);
@@ -237,7 +237,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
237
237
  await page.setContent(`
238
238
  <ion-datetime></ion-datetime>
239
239
  `, config);
240
- await page.locator('.datetime-ready').waitFor();
240
+ await page.waitForSelector('.datetime-ready');
241
241
  const monthYearButton = page.locator('ion-datetime .calendar-month-year');
242
242
  const monthYearInterface = page.locator('ion-datetime .datetime-year');
243
243
  const datetime = page.locator('ion-datetime');
@@ -249,7 +249,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
249
249
  await expect(datetime).not.toHaveClass(/datetime-ready/);
250
250
  await datetime.evaluate((el) => el.style.removeProperty('display'));
251
251
  await expect(datetime).toBeVisible();
252
- await page.locator('.datetime-ready').waitFor();
252
+ await page.waitForSelector('.datetime-ready');
253
253
  // month/year interface should be reset
254
254
  await expect(monthYearInterface).toBeHidden();
255
255
  });
@@ -287,7 +287,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
287
287
  await page.setContent(`
288
288
  <ion-datetime value="2022-11-10" show-clear-button="true"></ion-datetime>
289
289
  `, config);
290
- await page.locator('.datetime-ready').waitFor();
290
+ await page.waitForSelector('.datetime-ready');
291
291
  const selectedDay = page.locator('ion-datetime .calendar-day-active');
292
292
  await expect(selectedDay).toHaveText('10');
293
293
  await page.click('ion-datetime #clear-button');
@@ -306,7 +306,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
306
306
  await page.setContent(`
307
307
  <ion-datetime presentation="date" value="2022-01-02"></ion-datetime>
308
308
  `, config);
309
- await page.locator('.datetime-ready').waitFor();
309
+ await page.waitForSelector('.datetime-ready');
310
310
  const ionChange = await page.spyOnEvent('ionChange');
311
311
  const calendarButtons = page.locator('.calendar-day:not([disabled])');
312
312
  await calendarButtons.nth(0).click();
@@ -317,7 +317,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
317
317
  await page.setContent(`
318
318
  <ion-datetime presentation="date" value="2022-01-02"></ion-datetime>
319
319
  `, config);
320
- await page.locator('.datetime-ready').waitFor();
320
+ await page.waitForSelector('.datetime-ready');
321
321
  const ionChange = await page.spyOnEvent('ionChange');
322
322
  const datetime = page.locator('ion-datetime');
323
323
  await datetime.evaluate((el) => (el.value = '2022-01-01'));
@@ -349,7 +349,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
349
349
  </script>
350
350
  `, config);
351
351
  const datetime = page.locator('ion-datetime');
352
- await page.locator('.datetime-ready').waitFor();
352
+ await page.waitForSelector('.datetime-ready');
353
353
  await expect(datetime.locator('.calendar-day-today')).toHaveScreenshot(screenshot(`datetime-today-calendar-button`));
354
354
  });
355
355
  });
@@ -369,7 +369,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, co
369
369
  <ion-datetime value="2021-01-01"></ion-datetime>
370
370
  `, config);
371
371
  const datetime = page.locator('ion-datetime');
372
- await page.locator('.datetime-ready').waitFor();
372
+ await page.waitForSelector('.datetime-ready');
373
373
  await expect(datetime).toHaveScreenshot(screenshot(`date-highlight-start-of-month`));
374
374
  await datetime.evaluate((el) => (el.value = '2021-01-31'));
375
375
  await page.waitForChanges();
@@ -387,7 +387,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
387
387
  await page.setContent(`
388
388
  <ion-datetime value="2023-08-01"></ion-datetime>
389
389
  `, config);
390
- await page.locator('.datetime-ready').waitFor();
390
+ await page.waitForSelector('.datetime-ready');
391
391
  const datetime = page.locator('ion-datetime');
392
392
  const day = datetime.locator(`.calendar-day[data-day='1'][data-month='8']`);
393
393
  await day.focus();
@@ -401,4 +401,14 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
401
401
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-focus-calendar-day`));
402
402
  });
403
403
  });
404
+ test.describe(title('datetime: calendar month toggle'), () => {
405
+ test('should have focus styles', async ({ page }) => {
406
+ await page.setContent('<ion-datetime value="2021-01-01"></ion-datetime>', config);
407
+ const datetime = page.locator('ion-datetime');
408
+ await page.waitForSelector('.datetime-ready');
409
+ const monthYearToggle = datetime.locator('.calendar-month-year-toggle');
410
+ monthYearToggle.evaluate((el) => el.classList.add('ion-focused'));
411
+ await expect(datetime).toHaveScreenshot(screenshot(`date-month-toggle-focused`));
412
+ });
413
+ });
404
414
  });
@@ -9,11 +9,11 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
9
9
  await page.setContent(`
10
10
  <ion-datetime locale="en-US" presentation="date" value="2022-01-31"></ion-datetime>
11
11
  `, config);
12
- await page.locator('.datetime-ready').waitFor();
12
+ await page.waitForSelector('.datetime-ready');
13
13
  });
14
14
  test('should switch the calendar header when moving to a month with a different number of days', async ({ page, }) => {
15
15
  const monthYearToggle = page.locator('ion-datetime .calendar-month-year');
16
- const monthColumnItems = page.locator('ion-datetime .month-column .picker-item:not(.picker-item-empty)');
16
+ const monthColumnItems = page.locator('ion-datetime .month-column ion-picker-column-option');
17
17
  await expect(monthYearToggle).toContainText('January 2022');
18
18
  await monthYearToggle.click();
19
19
  await page.waitForChanges();
@@ -24,7 +24,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
24
24
  });
25
25
  test('should adjust the selected day when moving to a month with a different number of days', async ({ page }) => {
26
26
  const monthYearToggle = page.locator('ion-datetime .calendar-month-year');
27
- const monthColumnItems = page.locator('ion-datetime .month-column .picker-item:not(.picker-item-empty)');
27
+ const monthColumnItems = page.locator('ion-datetime .month-column ion-picker-column-option');
28
28
  const datetime = page.locator('ion-datetime');
29
29
  const ionChange = await page.spyOnEvent('ionChange');
30
30
  await monthYearToggle.click();
@@ -99,7 +99,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
99
99
  test.describe('check example usages', () => {
100
100
  test.beforeEach(async ({ page }) => {
101
101
  await page.goto('/src/components/datetime/test/disable-dates', config);
102
- await page.locator('.datetime-ready').first().waitFor();
102
+ await page.waitForSelector('.datetime-ready');
103
103
  });
104
104
  test('should disable a specific date', async ({ page }) => {
105
105
  const disabledDay = queryAllDisabledDays(page, '#specificDate');
@@ -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" disabled></ion-datetime>
22
22
  `, config);
23
- await page.locator('.datetime-ready').waitFor();
23
+ await page.waitForSelector('.datetime-ready');
24
24
  const febFirstButton = page.locator(`.calendar-day[data-day='1'][data-month='2']`);
25
25
  await expect(febFirstButton).toBeDisabled();
26
26
  });
@@ -28,7 +28,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
28
28
  await page.setContent(`
29
29
  <ion-datetime value="2022-02-28" disabled></ion-datetime>
30
30
  `, config);
31
- await page.locator('.datetime-ready').waitFor();
31
+ await page.waitForSelector('.datetime-ready');
32
32
  const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
33
33
  await expect(calendarMonthYear.locator('button')).toBeDisabled();
34
34
  });
@@ -46,7 +46,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
46
46
 
47
47
  <ion-datetime value="2022-02-22T16:30:00" show-default-buttons="true" show-clear-button="true" disabled></ion-datetime>
48
48
  `, config);
49
- await page.locator('.datetime-ready').waitFor();
49
+ await page.waitForSelector('.datetime-ready');
50
50
  const clearButton = page.locator('#clear-button button');
51
51
  await expect(clearButton).toBeDisabled();
52
52
  });
@@ -54,7 +54,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
54
54
  await page.setContent(`
55
55
  <ion-datetime value="2022-02-28" disabled></ion-datetime>
56
56
  `, config);
57
- await page.locator('.datetime-ready').waitFor();
57
+ await page.waitForSelector('.datetime-ready');
58
58
  const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
59
59
  const calendarBody = page.locator('.calendar-body');
60
60
  await expect(calendarMonthYear).toHaveText('February 2022');
@@ -4,8 +4,8 @@
4
4
  import { h } from "@stencil/core";
5
5
  import { newSpecPage } from "@stencil/core/testing";
6
6
  import { Datetime } from "../../../datetime/datetime";
7
- import { PickerColumnInternal } from "../../../picker-column-internal/picker-column-internal";
8
- import { PickerInternal } from "../../../picker-internal/picker-internal";
7
+ import { PickerColumn } from "../../../picker-column/picker-column";
8
+ import { Picker } from "../../../picker/picker";
9
9
  describe('ion-datetime disabled', () => {
10
10
  beforeEach(() => {
11
11
  // IntersectionObserver isn't available in test environment
@@ -19,12 +19,12 @@ describe('ion-datetime disabled', () => {
19
19
  });
20
20
  it('picker should be disabled in prefer wheel mode', async () => {
21
21
  const page = await newSpecPage({
22
- components: [Datetime, PickerColumnInternal, PickerInternal],
22
+ components: [Datetime, PickerColumn, Picker],
23
23
  template: () => (h("ion-datetime", { id: "inline-datetime-wheel", disabled: true, "prefer-wheel": true, value: "2022-04-21T00:00:00" })),
24
24
  });
25
25
  await page.waitForChanges();
26
26
  const datetime = page.body.querySelector('ion-datetime');
27
- const columns = datetime.shadowRoot.querySelectorAll('ion-picker-column-internal');
27
+ const columns = datetime.shadowRoot.querySelectorAll('ion-picker-column');
28
28
  await expect(columns.length).toEqual(4);
29
29
  columns.forEach((column) => {
30
30
  expect(column.disabled).toBe(true);
@@ -14,7 +14,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
14
14
  await page.setContent(`
15
15
  <ion-datetime value="2022-02-22T16:30:00" presentation="date-time"></ion-datetime>
16
16
  `, config);
17
- await page.locator('.datetime-ready').waitFor();
17
+ await page.waitForSelector('.datetime-ready');
18
18
  const datetime = page.locator('ion-datetime');
19
19
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-date-time`));
20
20
  });
@@ -22,7 +22,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
22
22
  await page.setContent(`
23
23
  <ion-datetime value="2022-02-22T16:30:00" presentation="time-date"></ion-datetime>
24
24
  `, config);
25
- await page.locator('.datetime-ready').waitFor();
25
+ await page.waitForSelector('.datetime-ready');
26
26
  const datetime = page.locator('ion-datetime');
27
27
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-time-date`));
28
28
  });
@@ -30,7 +30,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
30
30
  await page.setContent(`
31
31
  <ion-datetime value="2022-02-22T16:30:00" presentation="time"></ion-datetime>
32
32
  `, config);
33
- await page.locator('.datetime-ready').waitFor();
33
+ await page.waitForSelector('.datetime-ready');
34
34
  const datetime = page.locator('ion-datetime');
35
35
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-time`));
36
36
  });
@@ -38,7 +38,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
38
38
  await page.setContent(`
39
39
  <ion-datetime value="2022-02-22T16:30:00" presentation="date"></ion-datetime>
40
40
  `, config);
41
- await page.locator('.datetime-ready').waitFor();
41
+ await page.waitForSelector('.datetime-ready');
42
42
  const datetime = page.locator('ion-datetime');
43
43
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-date`));
44
44
  });
@@ -56,7 +56,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
56
56
  await page.setContent(`
57
57
  <ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="date-time"></ion-datetime>
58
58
  `, config);
59
- await page.locator('.datetime-ready').waitFor();
59
+ await page.waitForSelector('.datetime-ready');
60
60
  const datetime = page.locator('ion-datetime');
61
61
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-cover-date-time`));
62
62
  });
@@ -64,7 +64,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
64
64
  await page.setContent(`
65
65
  <ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="time-date"></ion-datetime>
66
66
  `, config);
67
- await page.locator('.datetime-ready').waitFor();
67
+ await page.waitForSelector('.datetime-ready');
68
68
  const datetime = page.locator('ion-datetime');
69
69
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-cover-time-date`));
70
70
  });
@@ -72,7 +72,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
72
72
  await page.setContent(`
73
73
  <ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="time"></ion-datetime>
74
74
  `, config);
75
- await page.locator('.datetime-ready').waitFor();
75
+ await page.waitForSelector('.datetime-ready');
76
76
  const datetime = page.locator('ion-datetime');
77
77
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-cover-time`));
78
78
  });
@@ -80,7 +80,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
80
80
  await page.setContent(`
81
81
  <ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="date"></ion-datetime>
82
82
  `, config);
83
- await page.locator('.datetime-ready').waitFor();
83
+ await page.waitForSelector('.datetime-ready');
84
84
  const datetime = page.locator('ion-datetime');
85
85
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-cover-date`));
86
86
  });
@@ -96,7 +96,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
96
96
  test('month selection should work after changing presentation', async ({ page }) => {
97
97
  await page.goto('/src/components/datetime/test/display', config);
98
98
  const ionWorkingPartsDidChange = await page.spyOnEvent('ionWorkingPartsDidChange');
99
- await page.locator('.datetime-ready').waitFor();
99
+ await page.waitForSelector('.datetime-ready');
100
100
  const select = page.locator('select#presentation');
101
101
  await select.selectOption('date-time');
102
102
  await page.waitForChanges();
@@ -77,7 +77,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
77
77
  await page.setContent(`
78
78
  <ion-datetime locale="ar-EG" presentation="date" value="2022-01-01"></ion-datetime>
79
79
  `, config);
80
- await page.locator('.datetime-ready').waitFor();
80
+ await page.waitForSelector('.datetime-ready');
81
81
  const datetimeButtons = page.locator('ion-datetime .calendar-day:not([disabled])');
82
82
  await expect(datetimeButtons.nth(0)).toHaveText('١');
83
83
  await expect(datetimeButtons.nth(1)).toHaveText('٢');
@@ -85,10 +85,10 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
85
85
  });
86
86
  test('should correctly localize year column data', async ({ page }) => {
87
87
  await page.setContent(`
88
- <ion-datetime prefer-wheel="true" locale="ar-EG" presentation="date" value="2022-01-01"></ion-datetime>
88
+ <ion-datetime prefer-wheel="true" locale="ar-EG" presentation="date" value="2022-01-01" max="2022" min="2022"></ion-datetime>
89
89
  `, config);
90
- await page.locator('.datetime-ready').waitFor();
91
- const datetimeYear = page.locator('ion-datetime .year-column .picker-item[data-value="2022"]');
90
+ await page.waitForSelector('.datetime-ready');
91
+ const datetimeYear = page.locator('ion-datetime .year-column ion-picker-column-option').nth(0);
92
92
  await expect(datetimeYear).toHaveText('٢٠٢٢');
93
93
  });
94
94
  });
@@ -111,7 +111,7 @@ class DatetimeLocaleFixture {
111
111
  ></ion-datetime>
112
112
  `, config);
113
113
  this.datetime = this.page.locator('ion-datetime');
114
- await this.page.locator('.datetime-ready').waitFor();
114
+ await this.page.waitForSelector('.datetime-ready');
115
115
  }
116
116
  async expectLocalizedDatePicker(screenshot) {
117
117
  await this.expectLocalizedPicker(screenshot);
@@ -32,7 +32,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
32
32
  }
33
33
  </script>
34
34
  `, config);
35
- await page.locator('.datetime-ready').waitFor();
35
+ await page.waitForSelector('.datetime-ready');
36
36
  const prevButton = page.locator('ion-datetime .calendar-next-prev ion-button:nth-child(1)');
37
37
  const nextButton = page.locator('ion-datetime .calendar-next-prev ion-button:nth-child(2)');
38
38
  await expect(nextButton).toHaveJSProperty('disabled', false);
@@ -48,21 +48,21 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
48
48
  test('datetime: minmax months disabled', async ({ page }) => {
49
49
  await page.goto('/src/components/datetime/test/minmax', config);
50
50
  const calendarMonths = page.locator('ion-datetime#inside .calendar-month');
51
- await page.locator('.datetime-ready').first().waitFor();
51
+ await page.waitForSelector('.datetime-ready');
52
52
  await expect(calendarMonths.nth(0)).not.toHaveClass(/calendar-month-disabled/);
53
53
  await expect(calendarMonths.nth(1)).not.toHaveClass(/calendar-month-disabled/);
54
54
  await expect(calendarMonths.nth(2)).toHaveClass(/calendar-month-disabled/);
55
55
  });
56
56
  test('datetime: minmax navigation disabled', async ({ page }) => {
57
57
  await page.goto('/src/components/datetime/test/minmax', config);
58
- await page.locator('.datetime-ready').first().waitFor();
58
+ await page.waitForSelector('.datetime-ready');
59
59
  const navButtons = page.locator('ion-datetime#outside .calendar-next-prev ion-button');
60
60
  await expect(navButtons.nth(0)).toHaveAttribute('disabled', '');
61
61
  await expect(navButtons.nth(1)).toHaveAttribute('disabled', '');
62
62
  });
63
63
  test('datetime: min including day should not disable month', async ({ page }) => {
64
64
  await page.goto('/src/components/datetime/test/minmax', config);
65
- await page.locator('.datetime-ready').first().waitFor();
65
+ await page.waitForSelector('.datetime-ready');
66
66
  const calendarMonths = page.locator('ion-datetime#min-with-day .calendar-month');
67
67
  await expect(calendarMonths.nth(0)).toHaveClass(/calendar-month-disabled/);
68
68
  await expect(calendarMonths.nth(1)).not.toHaveClass(/calendar-month-disabled/);
@@ -77,12 +77,12 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
77
77
  await page.setContent(`
78
78
  <ion-datetime min="2022-04-22T04:10:00" max="2022-05-21T21:30:00"></ion-datetime>
79
79
  `, config);
80
- await page.locator('.datetime-ready').waitFor();
80
+ await page.waitForSelector('.datetime-ready');
81
81
  const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent');
82
82
  await page.click('.time-body');
83
83
  await ionPopoverDidPresent.next();
84
- const hours = page.locator('ion-popover ion-picker-column-internal:nth-child(1) .picker-item:not(.picker-item-empty)');
85
- const minutes = page.locator('ion-popover ion-picker-column-internal:nth-child(2) .picker-item:not(.picker-item-empty)');
84
+ const hours = page.locator('ion-popover ion-picker-column:nth-child(1) ion-picker-column-option');
85
+ const minutes = page.locator('ion-popover ion-picker-column:nth-child(2) ion-picker-column-option');
86
86
  expect(await hours.count()).toBe(12);
87
87
  expect(await minutes.count()).toBe(60);
88
88
  });
@@ -90,7 +90,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
90
90
  test.describe('setting value outside bounds should show in-bounds month', () => {
91
91
  const testDisplayedMonth = async (page, content, expectedString = /June 2021/) => {
92
92
  await page.setContent(content, config);
93
- await page.locator('.datetime-ready').waitFor();
93
+ await page.waitForSelector('.datetime-ready');
94
94
  const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
95
95
  await expect(calendarMonthYear).toHaveText(expectedString);
96
96
  };
@@ -126,7 +126,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
126
126
  });
127
127
  </script>
128
128
  `, config);
129
- await page.locator('.datetime-ready').waitFor();
129
+ await page.waitForSelector('.datetime-ready');
130
130
  const datetimeMonthDidChange = await page.spyOnEvent('datetimeMonthDidChange');
131
131
  const eventButton = page.locator('button#bind');
132
132
  await eventButton.click();
@@ -159,7 +159,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
159
159
  value="2022-04-25T08:30:00"
160
160
  ></ion-datetime>
161
161
  `, config);
162
- const hourPickerItems = page.locator('ion-datetime ion-picker-column-internal:first-of-type .picker-item:not(.picker-item-empty)');
162
+ const hourPickerItems = page.locator('ion-datetime ion-picker-column:first-of-type ion-picker-column-option');
163
163
  await expect(hourPickerItems).toHaveText(['8', '9', '10', '11']);
164
164
  });
165
165
  test('should include 12PM when minimum is greater than 12', async ({ page }) => {
@@ -175,7 +175,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
175
175
  value="2022-07-29T12:00:00"
176
176
  ></ion-datetime>
177
177
  `, config);
178
- const hourPickerItems = page.locator('ion-datetime ion-picker-column-internal:first-of-type .picker-item:not(.picker-item-empty)');
178
+ const hourPickerItems = page.locator('ion-datetime ion-picker-column:first-of-type ion-picker-column-option');
179
179
  await expect(hourPickerItems).toHaveText(['12', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11']);
180
180
  });
181
181
  test.describe('minmax value adjustment when out of bounds', () => {
@@ -186,7 +186,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
186
186
  value="2022-10-11T06:00"
187
187
  ></ion-datetime>
188
188
  `, config);
189
- await page.locator('.datetime-ready').waitFor();
189
+ await page.waitForSelector('.datetime-ready');
190
190
  const datetime = page.locator('ion-datetime');
191
191
  const ionChange = await page.spyOnEvent('ionChange');
192
192
  const dayButton = page.locator('ion-datetime .calendar-day[data-day="10"][data-month="10"][data-year="2022"]');
@@ -201,7 +201,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
201
201
  value="2022-10-11T09:00"
202
202
  ></ion-datetime>
203
203
  `, config);
204
- await page.locator('.datetime-ready').waitFor();
204
+ await page.waitForSelector('.datetime-ready');
205
205
  const datetime = page.locator('ion-datetime');
206
206
  const ionChange = await page.spyOnEvent('ionChange');
207
207
  const dayButton = page.locator('ion-datetime .calendar-day[data-day="10"][data-month="10"][data-year="2022"]');
@@ -218,9 +218,9 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
218
218
  ></ion-datetime>
219
219
  `, config);
220
220
  const datetime = page.locator('ion-datetime');
221
- const monthColumnItems = page.locator('ion-datetime .month-column .picker-item:not(.picker-item-empty)');
221
+ const monthColumnItems = page.locator('ion-datetime .month-column ion-picker-column-option');
222
222
  const ionChange = await page.spyOnEvent('ionChange');
223
- await page.locator('.datetime-ready').waitFor();
223
+ await page.waitForSelector('.datetime-ready');
224
224
  await monthColumnItems.nth(0).click(); // switch to January
225
225
  await ionChange.next();
226
226
  await expect(datetime).toHaveJSProperty('value', '2022-01-15T00:00:00');
@@ -248,7 +248,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
248
248
  }
249
249
  </script>
250
250
  `, config);
251
- await page.locator('.datetime-ready').waitFor();
251
+ await page.waitForSelector('.datetime-ready');
252
252
  // Select Jan 10, 2022
253
253
  const maxDate = page.locator('ion-datetime .calendar-day[data-day="10"][data-month="1"][data-year="2022"]');
254
254
  await maxDate.click();
@@ -258,7 +258,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
258
258
  const timeButton = page.locator('ion-datetime .time-body');
259
259
  await timeButton.click();
260
260
  await ionPopoverDidPresent.next();
261
- const hours = page.locator('ion-popover ion-picker-column-internal:nth-child(1) .picker-item:not(.picker-item-empty)');
261
+ const hours = page.locator('ion-popover ion-picker-column:nth-child(1) ion-picker-column-option');
262
262
  await expect(await hours.count()).toBe(4);
263
263
  });
264
264
  });
@@ -11,12 +11,12 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
11
11
  test.describe(title('datetime: month-year picker'), () => {
12
12
  test.beforeEach(async ({ page }) => {
13
13
  await page.goto('/src/components/datetime/test/month-year-picker', config);
14
- await page.locator('.datetime-ready').first().waitFor();
14
+ await page.waitForSelector('.datetime-ready');
15
15
  });
16
16
  test('should hide the footer when picker is open', async ({ page }) => {
17
17
  const datetimeFooter = page.locator('#date-time .datetime-footer');
18
18
  await expect(datetimeFooter).toBeVisible();
19
- const pickerButton = page.locator('#date-time .calendar-month-year > ion-item');
19
+ const pickerButton = page.locator('#date-time .calendar-month-year > .calendar-month-year-toggle');
20
20
  await pickerButton.click();
21
21
  await page.waitForChanges();
22
22
  await expect(datetimeFooter).not.toBeVisible();
@@ -41,7 +41,7 @@ class DatetimeMultipleFixture {
41
41
  </script>
42
42
  `, config);
43
43
  this.datetime = this.page.locator('ion-datetime');
44
- await this.page.locator('.datetime-ready').waitFor();
44
+ await this.page.waitForSelector('.datetime-ready');
45
45
  return this.datetime;
46
46
  }
47
47
  async expectMultipleDatePicker(id, screenshot) {
@@ -233,7 +233,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
233
233
  }
234
234
  </script>
235
235
  `, config);
236
- await page.locator(`.datetime-ready`).waitFor();
236
+ await page.waitForSelector(`.datetime-ready`);
237
237
  const datetime = page.locator('ion-datetime');
238
238
  const header = datetime.locator('.datetime-selected-date');
239
239
  await expect(header).toHaveText('Mon, Oct 10');
@@ -11,7 +11,7 @@ configs().forEach(({ title, screenshot, config }) => {
11
11
  const openDateTimeBtn = page.locator('ion-button#open-datetime');
12
12
  await openDateTimeBtn.click();
13
13
  await ionPopoverDidPresent.next();
14
- await page.locator('.datetime-ready').waitFor();
14
+ await page.waitForSelector('.datetime-ready');
15
15
  await expect(page).toHaveScreenshot(screenshot(`datetime-position-base`));
16
16
  const timepickerBtn = page.locator('ion-datetime .time-body');
17
17
  await timepickerBtn.click();