@ionic/core 7.5.8-dev.11701791090.18ebbea8 → 7.5.8-dev.11701806358.1ca1b519

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 (308) hide show
  1. package/components/backdrop.js +0 -12
  2. package/components/data.js +1 -1
  3. package/components/gesture-controller.js +1 -1
  4. package/components/ion-content.js +1 -1
  5. package/components/ion-datetime.js +40 -64
  6. package/components/ion-input.js +2 -21
  7. package/components/ion-picker-column-option.d.ts +11 -0
  8. package/components/ion-picker-column-option.js +9 -0
  9. package/components/ion-picker-column.js +2 -2
  10. package/components/ion-picker-legacy-column.d.ts +11 -0
  11. package/components/ion-picker-legacy-column.js +9 -0
  12. package/components/{ion-picker-internal.d.ts → ion-picker-legacy.d.ts} +4 -4
  13. package/components/ion-picker-legacy.js +309 -0
  14. package/components/ion-picker.js +1 -309
  15. package/components/ion-textarea.js +2 -25
  16. package/components/overlays.js +11 -4
  17. package/components/picker-column-option.js +122 -0
  18. package/components/picker-column.js +363 -317
  19. package/components/picker-column2.js +379 -0
  20. package/components/{picker-internal.js → picker.js} +16 -16
  21. package/dist/cjs/{button-active-417ccdcb.js → button-active-9d7e0640.js} +1 -1
  22. package/dist/cjs/{data-36b9094e.js → data-e7526b58.js} +1 -1
  23. package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
  24. package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
  25. package/dist/cjs/index.cjs.js +3 -3
  26. package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
  27. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  28. package/dist/cjs/ion-app_8.cjs.entry.js +2 -2
  29. package/dist/cjs/ion-backdrop.cjs.entry.js +0 -12
  30. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  31. package/dist/cjs/ion-datetime_3.cjs.entry.js +36 -56
  32. package/dist/cjs/ion-input.cjs.entry.js +2 -21
  33. package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
  34. package/dist/cjs/ion-loading.cjs.entry.js +2 -1
  35. package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
  36. package/dist/cjs/ion-modal.cjs.entry.js +3 -3
  37. package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
  38. package/dist/cjs/ion-picker-column-option.cjs.entry.js +104 -0
  39. package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +105 -72
  40. package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +13 -13
  41. package/dist/cjs/ion-popover.cjs.entry.js +2 -1
  42. package/dist/cjs/ion-range.cjs.entry.js +1 -1
  43. package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
  44. package/dist/cjs/ion-reorder_2.cjs.entry.js +1 -1
  45. package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
  46. package/dist/cjs/ion-select_3.cjs.entry.js +2 -1
  47. package/dist/cjs/ion-textarea.cjs.entry.js +2 -25
  48. package/dist/cjs/ion-toast.cjs.entry.js +2 -1
  49. package/dist/cjs/ion-toggle.cjs.entry.js +1 -1
  50. package/dist/cjs/ionic.cjs.js +1 -1
  51. package/dist/cjs/loader.cjs.js +1 -1
  52. package/dist/cjs/{overlays-5c379703.js → overlays-e8e05b0e.js} +11 -4
  53. package/dist/cjs/{swipe-back-2a858bbd.js → swipe-back-b8f2330b.js} +2 -2
  54. package/dist/collection/collection-manifest.json +7 -6
  55. package/dist/collection/components/backdrop/backdrop.js +0 -12
  56. package/dist/collection/components/content/content.css +0 -4
  57. package/dist/collection/components/datetime/datetime.ios.css +83 -37
  58. package/dist/collection/components/datetime/datetime.js +24 -36
  59. package/dist/collection/components/datetime/datetime.md.css +88 -37
  60. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  61. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
  62. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +10 -0
  63. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  64. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  65. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  66. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  67. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  68. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +43 -41
  69. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  70. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  71. package/dist/collection/components/datetime/test/values/datetime.e2e.js +15 -12
  72. package/dist/collection/components/datetime/utils/data.js +1 -1
  73. package/dist/collection/components/input/input.js +2 -21
  74. package/dist/collection/components/input/test/clear-on-edit/input.e2e.js +9 -21
  75. package/dist/collection/components/picker/picker.ios.css +100 -205
  76. package/dist/collection/components/picker/picker.js +461 -743
  77. package/dist/collection/components/picker/picker.md.css +98 -194
  78. package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
  79. package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
  80. package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +23 -22
  81. package/dist/collection/components/picker-column/picker-column.ios.css +120 -160
  82. package/dist/collection/components/picker-column/picker-column.js +514 -329
  83. package/dist/collection/components/picker-column/picker-column.md.css +134 -107
  84. package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
  85. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +113 -0
  86. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
  87. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
  88. package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
  89. package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
  90. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
  91. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
  92. package/dist/collection/components/picker-legacy/picker.ios.css +367 -0
  93. package/dist/collection/components/picker-legacy/picker.js +817 -0
  94. package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.md.css} +192 -100
  95. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
  96. package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
  97. package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
  98. package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
  99. package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy-column/picker-column.ios.css} +98 -101
  100. package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
  101. package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-legacy-column/picker-column.md.css} +113 -63
  102. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
  103. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
  104. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
  105. package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
  106. package/dist/collection/components/textarea/test/clear-on-edit/textarea.e2e.js +0 -28
  107. package/dist/collection/components/textarea/textarea.js +2 -25
  108. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  109. package/dist/collection/utils/overlays.js +11 -4
  110. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
  111. package/dist/docs.json +493 -40
  112. package/dist/esm/{button-active-3fdf3e4f.js → button-active-ed9d848c.js} +1 -1
  113. package/dist/esm/{data-f5c75b4e.js → data-4b9508c9.js} +1 -1
  114. package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  115. package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
  116. package/dist/esm/index.js +3 -3
  117. package/dist/esm/ion-action-sheet.entry.js +4 -4
  118. package/dist/esm/ion-alert.entry.js +4 -4
  119. package/dist/esm/ion-app_8.entry.js +2 -2
  120. package/dist/esm/ion-backdrop.entry.js +0 -12
  121. package/dist/esm/ion-datetime-button.entry.js +1 -1
  122. package/dist/esm/ion-datetime_3.entry.js +35 -55
  123. package/dist/esm/ion-input.entry.js +2 -21
  124. package/dist/esm/ion-item-option_3.entry.js +1 -1
  125. package/dist/esm/ion-loading.entry.js +2 -1
  126. package/dist/esm/ion-menu_3.entry.js +3 -3
  127. package/dist/esm/ion-modal.entry.js +3 -3
  128. package/dist/esm/ion-nav_2.entry.js +1 -1
  129. package/dist/esm/ion-picker-column-option.entry.js +100 -0
  130. package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +105 -72
  131. package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +13 -13
  132. package/dist/esm/ion-popover.entry.js +2 -1
  133. package/dist/esm/ion-range.entry.js +1 -1
  134. package/dist/esm/ion-refresher_2.entry.js +3 -3
  135. package/dist/esm/ion-reorder_2.entry.js +1 -1
  136. package/dist/esm/ion-segment_2.entry.js +1 -1
  137. package/dist/esm/ion-select_3.entry.js +2 -1
  138. package/dist/esm/ion-textarea.entry.js +2 -25
  139. package/dist/esm/ion-toast.entry.js +2 -1
  140. package/dist/esm/ion-toggle.entry.js +1 -1
  141. package/dist/esm/ionic.js +1 -1
  142. package/dist/esm/loader.js +1 -1
  143. package/dist/esm/{overlays-abf58489.js → overlays-fbc5cab5.js} +11 -4
  144. package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-a8ca7f93.js} +2 -2
  145. package/dist/esm-es5/{button-active-3fdf3e4f.js → button-active-ed9d848c.js} +1 -1
  146. package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  147. package/dist/esm-es5/{index-2cf77112.js → index-39782642.js} +1 -1
  148. package/dist/esm-es5/index.js +1 -1
  149. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  150. package/dist/esm-es5/ion-alert.entry.js +1 -1
  151. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  152. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  153. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  154. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  155. package/dist/esm-es5/ion-input.entry.js +1 -1
  156. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  157. package/dist/esm-es5/ion-loading.entry.js +1 -1
  158. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  159. package/dist/esm-es5/ion-modal.entry.js +1 -1
  160. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  161. package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
  162. package/dist/esm-es5/ion-picker-column.entry.js +4 -0
  163. package/dist/esm-es5/ion-picker.entry.js +4 -0
  164. package/dist/esm-es5/ion-popover.entry.js +1 -1
  165. package/dist/esm-es5/ion-range.entry.js +1 -1
  166. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  167. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  168. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  169. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  170. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  171. package/dist/esm-es5/ion-toast.entry.js +1 -1
  172. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  173. package/dist/esm-es5/ionic.js +1 -1
  174. package/dist/esm-es5/loader.js +1 -1
  175. package/dist/esm-es5/overlays-fbc5cab5.js +4 -0
  176. package/dist/esm-es5/swipe-back-a8ca7f93.js +4 -0
  177. package/dist/html.html-data.json +152 -1
  178. package/dist/ionic/index.esm.js +1 -1
  179. package/dist/ionic/ionic.esm.js +1 -1
  180. package/dist/ionic/{p-b0dc1cf9.system.js → p-1d624e03.system.js} +1 -1
  181. package/dist/ionic/{p-d40a974a.entry.js → p-1fc72959.entry.js} +1 -1
  182. package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
  183. package/dist/ionic/{p-0519cd21.entry.js → p-21c3515a.entry.js} +1 -1
  184. package/dist/ionic/{p-6470b136.entry.js → p-22e5af95.entry.js} +1 -1
  185. package/dist/ionic/p-232d1f22.entry.js +4 -0
  186. package/dist/ionic/p-23672c82.system.entry.js +4 -0
  187. package/dist/ionic/p-26798a7b.system.entry.js +4 -0
  188. package/dist/ionic/p-27bcbbc7.system.entry.js +4 -0
  189. package/dist/ionic/{p-765a08a7.system.entry.js → p-32303650.system.entry.js} +1 -1
  190. package/dist/ionic/p-3ba01a9c.system.entry.js +4 -0
  191. package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
  192. package/dist/ionic/{p-667df818.system.entry.js → p-3fd26bd6.system.entry.js} +1 -1
  193. package/dist/ionic/{p-864c4046.entry.js → p-42ba3902.entry.js} +1 -1
  194. package/dist/ionic/{p-88fde0e0.entry.js → p-4911a5d6.entry.js} +1 -1
  195. package/dist/ionic/{p-a6f9dd7b.entry.js → p-4a081ea9.entry.js} +1 -1
  196. package/dist/ionic/{p-7b8d0af2.system.entry.js → p-4a36430f.system.entry.js} +1 -1
  197. package/dist/ionic/p-51abefb7.system.js +4 -0
  198. package/dist/ionic/{p-0b1bc636.entry.js → p-535d2a67.entry.js} +1 -1
  199. package/dist/ionic/{p-af5cfad2.system.js → p-54dfc9b5.system.js} +1 -1
  200. package/dist/ionic/p-563c41f0.system.entry.js +4 -0
  201. package/dist/ionic/{p-b04e4d62.entry.js → p-5d42b6b4.entry.js} +1 -1
  202. package/dist/ionic/{p-50880712.entry.js → p-6b7c55cd.entry.js} +1 -1
  203. package/dist/ionic/{p-a1987850.entry.js → p-6d72fb44.entry.js} +1 -1
  204. package/dist/ionic/{p-e6d68e02.system.entry.js → p-6fd64e7c.system.entry.js} +1 -1
  205. package/dist/ionic/p-73190c5f.entry.js +4 -0
  206. package/dist/ionic/p-73aa7604.entry.js +4 -0
  207. package/dist/ionic/{p-17f893be.js → p-76d3765d.js} +1 -1
  208. package/dist/ionic/{p-94389114.system.entry.js → p-77965464.system.entry.js} +1 -1
  209. package/dist/ionic/{p-98b14ece.entry.js → p-7b725280.entry.js} +1 -1
  210. package/dist/ionic/p-8017aad2.system.entry.js +4 -0
  211. package/dist/ionic/p-846ee227.entry.js +4 -0
  212. package/dist/ionic/p-8c97cdc0.entry.js +4 -0
  213. package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
  214. package/dist/ionic/p-8fa6583d.system.js +4 -0
  215. package/dist/ionic/p-9282b16f.entry.js +4 -0
  216. package/dist/ionic/{p-d7be6b7e.system.entry.js → p-96dbbac1.system.entry.js} +1 -1
  217. package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
  218. package/dist/ionic/p-9ba90516.system.entry.js +4 -0
  219. package/dist/ionic/{p-a0126dd5.system.entry.js → p-9c229210.system.entry.js} +2 -2
  220. package/dist/ionic/{p-7faba551.system.entry.js → p-a225bf0f.system.entry.js} +1 -1
  221. package/dist/ionic/p-a60a1ce5.js +4 -0
  222. package/dist/ionic/p-a8baa23e.entry.js +4 -0
  223. package/dist/ionic/{p-ad019ef0.entry.js → p-a9a80f5b.entry.js} +1 -1
  224. package/dist/ionic/p-afcf4620.entry.js +4 -0
  225. package/dist/ionic/{p-ddb30596.entry.js → p-b133e9b4.entry.js} +1 -1
  226. package/dist/ionic/{p-08f196ce.system.entry.js → p-b4d31b30.system.entry.js} +1 -1
  227. package/dist/ionic/{p-e553006f.system.entry.js → p-c18de88a.system.entry.js} +1 -1
  228. package/dist/ionic/p-c2910c78.entry.js +4 -0
  229. package/dist/ionic/p-c8f0a036.entry.js +4 -0
  230. package/dist/ionic/p-ca8938f4.js +4 -0
  231. package/dist/ionic/p-ca9d1792.system.entry.js +4 -0
  232. package/dist/ionic/{p-c3d09cf2.system.entry.js → p-cde52378.system.entry.js} +1 -1
  233. package/dist/ionic/p-da15f571.system.entry.js +4 -0
  234. package/dist/ionic/p-e3584231.system.js +1 -1
  235. package/dist/ionic/{p-6577aea9.system.entry.js → p-e8e86f69.system.entry.js} +1 -1
  236. package/dist/ionic/{p-9eec42cc.system.entry.js → p-f910cc73.system.entry.js} +1 -1
  237. package/dist/ionic/{p-3b686a65.system.entry.js → p-fbf3a689.system.entry.js} +1 -1
  238. package/dist/ionic/p-fe4dde76.entry.js +4 -0
  239. package/dist/ionic/p-ffd5dba4.system.entry.js +4 -0
  240. package/dist/types/components/backdrop/backdrop.d.ts +0 -3
  241. package/dist/types/components/datetime/datetime.d.ts +0 -1
  242. package/dist/types/components/datetime/utils/data.d.ts +2 -2
  243. package/dist/types/components/menu/menu.d.ts +1 -1
  244. package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
  245. package/dist/types/components/picker/picker.d.ts +74 -131
  246. package/dist/types/components/picker-column/picker-column.d.ts +105 -39
  247. package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
  248. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  249. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  250. package/dist/types/components.d.ts +163 -122
  251. package/dist/types/interface.d.ts +1 -1
  252. package/dist/types/utils/config.d.ts +2 -2
  253. package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
  254. package/dist/types/utils/overlays.d.ts +5 -2
  255. package/hydrate/index.js +1367 -1296
  256. package/package.json +1 -1
  257. package/components/ion-picker-column-internal.d.ts +0 -11
  258. package/components/ion-picker-column-internal.js +0 -9
  259. package/components/ion-picker-internal.js +0 -9
  260. package/components/picker-column-internal.js +0 -390
  261. package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -565
  262. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
  263. package/dist/collection/components/picker-internal/picker-internal.js +0 -544
  264. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
  265. package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
  266. package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
  267. package/dist/esm-es5/overlays-abf58489.js +0 -4
  268. package/dist/esm-es5/swipe-back-a6f386fc.js +0 -4
  269. package/dist/ionic/p-18b6bd23.system.entry.js +0 -4
  270. package/dist/ionic/p-1d17219f.entry.js +0 -4
  271. package/dist/ionic/p-25b32c3d.entry.js +0 -4
  272. package/dist/ionic/p-2ba0657d.system.entry.js +0 -4
  273. package/dist/ionic/p-35ce400e.system.js +0 -4
  274. package/dist/ionic/p-3de71759.entry.js +0 -4
  275. package/dist/ionic/p-3e960213.system.entry.js +0 -4
  276. package/dist/ionic/p-61d7d7fb.js +0 -4
  277. package/dist/ionic/p-67da080d.entry.js +0 -4
  278. package/dist/ionic/p-6a6477b2.js +0 -4
  279. package/dist/ionic/p-73637557.system.entry.js +0 -4
  280. package/dist/ionic/p-73ea8f82.system.entry.js +0 -4
  281. package/dist/ionic/p-80fa068e.entry.js +0 -4
  282. package/dist/ionic/p-82045bc1.entry.js +0 -4
  283. package/dist/ionic/p-908475e7.system.entry.js +0 -4
  284. package/dist/ionic/p-9c3b6849.entry.js +0 -4
  285. package/dist/ionic/p-b4bad293.system.entry.js +0 -4
  286. package/dist/ionic/p-c3289ef2.entry.js +0 -4
  287. package/dist/ionic/p-cce9f61a.system.entry.js +0 -4
  288. package/dist/ionic/p-d1cb29a8.system.entry.js +0 -4
  289. package/dist/ionic/p-e94c392d.entry.js +0 -4
  290. package/dist/ionic/p-f2c21dae.system.js +0 -4
  291. package/dist/ionic/p-f51666d3.entry.js +0 -4
  292. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
  293. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
  294. package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
  295. /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
  296. /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
  297. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
  298. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
  299. /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
  300. /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
  301. /package/dist/esm-es5/{data-f5c75b4e.js → data-4b9508c9.js} +0 -0
  302. /package/dist/ionic/{p-2aea8b1e.js → p-368f5215.js} +0 -0
  303. /package/dist/ionic/{p-82e3d633.system.js → p-f58981c2.system.js} +0 -0
  304. /package/dist/types/components/{picker-column-internal/picker-column-internal-interfaces.d.ts → picker-column/picker-column-interfaces.d.ts} +0 -0
  305. /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
  306. /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
  307. /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
  308. /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
@@ -54,61 +54,61 @@
54
54
  * }
55
55
  */
56
56
  :host {
57
+ display: flex;
58
+ position: relative;
59
+ align-items: center;
60
+ justify-content: center;
61
+ width: 100%;
62
+ height: 200px;
57
63
  /**
58
- * @prop --background: Background of the picker
59
- * @prop --background-rgb: Background of the picker in rgb format
60
- *
61
- * @prop --border-radius: Border radius of the picker
62
- * @prop --border-color: Border color of the picker
63
- * @prop --border-width: Border width of the picker
64
- * @prop --border-style: Border style of the picker
65
- *
66
- * @prop --min-width: Minimum width of the picker
67
- * @prop --width: Width of the picker
68
- * @prop --max-width: Maximum width of the picker
69
- *
70
- * @prop --min-height: Minimum height of the picker
71
- * @prop --height: Height of the picker
72
- * @prop --max-height: Maximum height of the picker
73
- *
74
- * @prop --backdrop-opacity: Opacity of the backdrop
64
+ * Picker columns should display
65
+ * in the order in which developers
66
+ * added them and should ignore
67
+ * LTR vs RTL directions.
75
68
  */
76
- --border-radius: 0;
77
- --border-style: solid;
78
- --min-width: auto;
79
- --width: 100%;
80
- --max-width: 500px;
81
- --min-height: auto;
82
- --max-height: auto;
83
- -moz-osx-font-smoothing: grayscale;
84
- -webkit-font-smoothing: antialiased;
85
- top: 0;
86
- display: block;
69
+ direction: ltr;
70
+ /**
71
+ * This is required otherwise the
72
+ * highlight will appear behind
73
+ * the picker when used inline.
74
+ */
75
+ z-index: 0;
76
+ }
77
+
78
+ :host .picker-before,
79
+ :host .picker-after {
87
80
  position: absolute;
88
81
  width: 100%;
89
- height: 100%;
90
- outline: none;
91
- font-family: var(--ion-font-family, inherit);
92
- contain: strict;
93
- user-select: none;
94
- z-index: 1001;
82
+ /**
83
+ * The transform and z-index
84
+ * are needed for WebKit otherwise
85
+ * the fade will appear underneath the picker.
86
+ */
87
+ transform: translateZ(0);
88
+ z-index: 1;
89
+ pointer-events: none;
90
+ }
91
+
92
+ :host .picker-before {
93
+ top: 0;
94
+ height: 83px;
95
95
  }
96
96
  @supports (inset-inline-start: 0) {
97
- :host {
97
+ :host .picker-before {
98
98
  inset-inline-start: 0;
99
99
  }
100
100
  }
101
101
  @supports not (inset-inline-start: 0) {
102
- :host {
102
+ :host .picker-before {
103
103
  left: 0;
104
104
  }
105
- :host-context([dir=rtl]) {
105
+ :host-context([dir=rtl]) .picker-before {
106
106
  left: unset;
107
107
  right: unset;
108
108
  right: 0;
109
109
  }
110
110
  @supports selector(:dir(rtl)) {
111
- :host(:dir(rtl)) {
111
+ :host(:dir(rtl)) .picker-before {
112
112
  left: unset;
113
113
  right: unset;
114
114
  right: 0;
@@ -116,69 +116,82 @@
116
116
  }
117
117
  }
118
118
 
119
- :host(.overlay-hidden) {
120
- display: none;
119
+ :host .picker-after {
120
+ top: 116px;
121
+ height: 84px;
122
+ }
123
+ @supports (inset-inline-start: 0) {
124
+ :host .picker-after {
125
+ inset-inline-start: 0;
126
+ }
127
+ }
128
+ @supports not (inset-inline-start: 0) {
129
+ :host .picker-after {
130
+ left: 0;
131
+ }
132
+ :host-context([dir=rtl]) .picker-after {
133
+ left: unset;
134
+ right: unset;
135
+ right: 0;
136
+ }
137
+ @supports selector(:dir(rtl)) {
138
+ :host(:dir(rtl)) .picker-after {
139
+ left: unset;
140
+ right: unset;
141
+ right: 0;
142
+ }
143
+ }
121
144
  }
122
145
 
123
- .picker-wrapper {
124
- border-radius: var(--border-radius);
146
+ :host .picker-highlight {
147
+ border-radius: 8px;
125
148
  left: 0;
126
149
  right: 0;
150
+ top: 50%;
127
151
  bottom: 0;
128
152
  -webkit-margin-start: auto;
129
153
  margin-inline-start: auto;
130
154
  -webkit-margin-end: auto;
131
155
  margin-inline-end: auto;
132
- margin-top: auto;
133
- margin-bottom: auto;
134
- transform: translate3d(0, 100%, 0);
135
- display: flex;
156
+ margin-top: 0;
157
+ margin-bottom: 0;
136
158
  position: absolute;
137
- flex-direction: column;
138
- width: var(--width);
139
- min-width: var(--min-width);
140
- max-width: var(--max-width);
141
- height: var(--height);
142
- min-height: var(--min-height);
143
- max-height: var(--max-height);
144
- border-width: var(--border-width);
145
- border-style: var(--border-style);
146
- border-color: var(--border-color);
147
- background: var(--background);
148
- contain: strict;
149
- overflow: hidden;
150
- z-index: 10;
159
+ width: calc(100% - 16px);
160
+ height: 34px;
161
+ transform: translateY(-50%);
162
+ background: var(--wheel-highlight-background);
163
+ z-index: -1;
151
164
  }
152
165
 
153
- .picker-toolbar {
166
+ :host input {
167
+ position: absolute;
168
+ top: 0;
169
+ left: 0;
170
+ right: 0;
171
+ bottom: 0;
154
172
  width: 100%;
155
- background: transparent;
156
- contain: strict;
157
- z-index: 1;
158
- }
159
-
160
- .picker-button {
173
+ height: 100%;
174
+ margin: 0;
175
+ padding: 0;
161
176
  border: 0;
162
- font-family: inherit;
177
+ outline: 0;
178
+ clip: rect(0 0 0 0);
179
+ opacity: 0;
180
+ overflow: hidden;
181
+ -webkit-appearance: none;
182
+ -moz-appearance: none;
163
183
  }
164
184
 
165
- .picker-button:active, .picker-button:focus {
166
- outline: none;
185
+ :host ::slotted(ion-picker-column:first-of-type) {
186
+ text-align: start;
167
187
  }
168
188
 
169
- .picker-columns {
170
- display: flex;
171
- position: relative;
172
- justify-content: center;
173
- margin-bottom: var(--ion-safe-area-bottom, 0);
174
- contain: strict;
175
- overflow: hidden;
189
+ :host ::slotted(ion-picker-column:last-of-type) {
190
+ text-align: end;
176
191
  }
177
192
 
178
- .picker-above-highlight,
179
- .picker-below-highlight {
180
- display: none;
181
- pointer-events: none;
193
+ :host ::slotted(ion-picker-column:only-child) {
194
+ text-align: center;
182
195
  }
183
196
 
184
197
  /**
@@ -236,119 +249,10 @@
236
249
  * }
237
250
  * }
238
251
  */
239
- :host {
240
- --background: var(--ion-background-color, #fff);
241
- --border-width: 0.55px 0 0;
242
- --border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));
243
- --height: 260px;
244
- --backdrop-opacity: var(--ion-backdrop-opacity, 0.26);
245
- color: var(--ion-item-color, var(--ion-text-color, #000));
246
- }
247
-
248
- .picker-toolbar {
249
- display: flex;
250
- justify-content: flex-end;
251
- height: 44px;
252
+ :host .picker-before {
253
+ background: linear-gradient(to bottom, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%);
252
254
  }
253
255
 
254
- .picker-button,
255
- .picker-button.ion-activated {
256
- margin-left: 0;
257
- margin-right: 0;
258
- margin-top: 0;
259
- margin-bottom: 0;
260
- -webkit-padding-start: 1.1em;
261
- padding-inline-start: 1.1em;
262
- -webkit-padding-end: 1.1em;
263
- padding-inline-end: 1.1em;
264
- padding-top: 0;
265
- padding-bottom: 0;
266
- height: 44px;
267
- background: transparent;
268
- color: var(--ion-color-primary, #3880ff);
269
- font-size: 14px;
270
- font-weight: 500;
271
- text-transform: uppercase;
272
- box-shadow: none;
273
- }
274
-
275
- .picker-columns {
276
- height: 216px;
277
- perspective: 1800px;
278
- }
279
-
280
- .picker-above-highlight {
281
- top: 0;
282
- transform: translate3d(0, 0, 90px);
283
- position: absolute;
284
- width: 100%;
285
- height: 81px;
286
- border-bottom: 1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));
287
- background: linear-gradient(to bottom, var(--ion-background-color, #fff) 20%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);
288
- z-index: 10;
289
- }
290
- @supports (inset-inline-start: 0) {
291
- .picker-above-highlight {
292
- inset-inline-start: 0;
293
- }
294
- }
295
- @supports not (inset-inline-start: 0) {
296
- .picker-above-highlight {
297
- left: 0;
298
- }
299
- :host-context([dir=rtl]) .picker-above-highlight {
300
- left: unset;
301
- right: unset;
302
- right: 0;
303
- }
304
- [dir=rtl] .picker-above-highlight {
305
- left: unset;
306
- right: unset;
307
- right: 0;
308
- }
309
- @supports selector(:dir(rtl)) {
310
- .picker-above-highlight:dir(rtl) {
311
- left: unset;
312
- right: unset;
313
- right: 0;
314
- }
315
- }
316
- }
317
-
318
- .picker-below-highlight {
319
- top: 115px;
320
- transform: translate3d(0, 0, 90px);
321
- position: absolute;
322
- width: 100%;
323
- height: 119px;
324
- border-top: 1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));
325
- background: linear-gradient(to top, var(--ion-background-color, #fff) 30%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);
326
- z-index: 11;
327
- }
328
- @supports (inset-inline-start: 0) {
329
- .picker-below-highlight {
330
- inset-inline-start: 0;
331
- }
332
- }
333
- @supports not (inset-inline-start: 0) {
334
- .picker-below-highlight {
335
- left: 0;
336
- }
337
- :host-context([dir=rtl]) .picker-below-highlight {
338
- left: unset;
339
- right: unset;
340
- right: 0;
341
- }
342
- [dir=rtl] .picker-below-highlight {
343
- left: unset;
344
- right: unset;
345
- right: 0;
346
- }
347
- @supports selector(:dir(rtl)) {
348
- .picker-below-highlight:dir(rtl) {
349
- left: unset;
350
- right: unset;
351
- right: 0;
352
- }
353
- }
256
+ :host .picker-after {
257
+ background: linear-gradient(to top, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 30%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%);
354
258
  }
@@ -5,9 +5,9 @@ import AxeBuilder from "@axe-core/playwright";
5
5
  import { expect } from "@playwright/test";
6
6
  import { configs, test } from "../../../../utils/test/playwright/index";
7
7
  configs().forEach(({ title, config }) => {
8
- test.describe(title('picker-internal: a11y'), () => {
8
+ test.describe(title('picker: a11y'), () => {
9
9
  test('should not have accessibility violations', async ({ page }) => {
10
- await page.goto(`/src/components/picker-internal/test/a11y`, config);
10
+ await page.goto(`/src/components/picker/test/a11y`, config);
11
11
  const results = await new AxeBuilder({ page }).analyze();
12
12
  expect(results.violations).toEqual([]);
13
13
  });
@@ -3,23 +3,109 @@
3
3
  */
4
4
  import { expect } from "@playwright/test";
5
5
  import { configs, test } from "../../../../utils/test/playwright/index";
6
- configs().forEach(({ title, screenshot, config }) => {
7
- test.describe(title('picker: basic'), () => {
8
- test('should not have visual regressions', async ({ page }) => {
6
+ /**
7
+ * This behavior does not vary across directions.
8
+ */
9
+ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
10
+ test.describe(title('picker: rendering'), () => {
11
+ test('inline pickers should not have visual regression', async ({ page }) => {
12
+ await page.goto(`/src/components/picker/test/basic`, config);
13
+ const fullStack = page.locator('#inline ion-picker-column-option[data-test-value="full-stack"]');
14
+ const onion = page.locator('#inline ion-picker-column-option[data-test-value="onion"]');
15
+ await expect(fullStack).toHaveClass(/option-active/);
16
+ await expect(onion).toHaveClass(/option-active/);
17
+ await page.waitForChanges();
18
+ await expect(page.locator('#inline')).toHaveScreenshot(screenshot(`picker-inline-diff`));
19
+ });
20
+ });
21
+ test.describe(title('picker: overlay rendering'), () => {
22
+ test('popover: should not have visual regression', async ({ page }) => {
23
+ await page.goto(`/src/components/picker/test/basic`, config);
24
+ const button = page.locator('#popover');
25
+ const didPresent = await page.spyOnEvent('ionPopoverDidPresent');
26
+ const picker = page.locator('ion-popover ion-picker');
27
+ await button.click();
28
+ await didPresent.next();
29
+ await expect(picker).toBeVisible();
30
+ const popoverContent = page.locator('ion-popover .ion-delegate-host');
31
+ await expect(popoverContent).toHaveScreenshot(screenshot(`picker-popover-diff`), {
32
+ /**
33
+ * Animations must be enabled to capture the screenshot.
34
+ * By default, animations are disabled with toHaveScreenshot,
35
+ * and when capturing the screenshot will call animation.finish().
36
+ * This will cause the popover to close and the screenshot capture
37
+ * to be invalid.
38
+ */
39
+ animations: 'allow',
40
+ });
41
+ });
42
+ test('modal: should not have visual regression', async ({ page }) => {
9
43
  await page.goto('/src/components/picker/test/basic', config);
10
- const didPresent = await page.spyOnEvent('ionPickerDidPresent');
11
- const didDismiss = await page.spyOnEvent('ionPickerDidDismiss');
12
- await page.click('#basic');
44
+ const button = page.locator('#modal');
45
+ const didPresent = await page.spyOnEvent('ionModalDidPresent');
46
+ const picker = page.locator('ion-modal ion-picker');
47
+ await button.click();
13
48
  await didPresent.next();
49
+ await expect(picker).toBeVisible();
50
+ const modalContent = page.locator('ion-modal .ion-delegate-host');
51
+ await expect(modalContent).toHaveScreenshot(screenshot(`picker-modal-diff`), {
52
+ /**
53
+ * Animations must be enabled to capture the screenshot.
54
+ * By default, animations are disabled with toHaveScreenshot,
55
+ * and when capturing the screenshot will call animation.finish().
56
+ * This will cause the modal to close and the screenshot capture
57
+ * to be invalid.
58
+ */
59
+ animations: 'allow',
60
+ });
61
+ });
62
+ });
63
+ });
64
+ /**
65
+ * This behavior does not vary across modes/directions.
66
+ */
67
+ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
68
+ test.describe(title('picker: focus'), () => {
69
+ test.beforeEach(async ({ page }) => {
70
+ await page.setContent(`
71
+ <ion-picker>
72
+ <ion-picker-column value="full-stack" id="first">
73
+ <ion-picker-column-option value="minified">Minified</ion-picker-column-option>
74
+ <ion-picker-column-option value="responsive">Responsive</ion-picker-column-option>
75
+ <ion-picker-column-option value="full-stack">Full Stack</ion-picker-column-option>
76
+ <ion-picker-column-option value="mobile-first">Mobile First</ion-picker-column-option>
77
+ <ion-picker-column-option value="serverless">Serverless</ion-picker-column-option>
78
+ </ion-picker-column>
79
+ <ion-picker-column value="onion" id="second">
80
+ <ion-picker-column-option value="tomato">Tomato</ion-picker-column-option>
81
+ <ion-picker-column-option value="avocado">Avocado</ion-picker-column-option>
82
+ <ion-picker-column-option value="onion">Onion</ion-picker-column-option>
83
+ <ion-picker-column-option value="potato">Potato</ion-picker-column-option>
84
+ <ion-picker-column-option value="artichoke">Artichoke</ion-picker-column-option>
85
+ </ion-picker-column>
86
+ </ion-picker>
87
+ `, config);
88
+ });
89
+ test('tabbing should correctly move focus between columns', async ({ page }) => {
90
+ const firstColumn = page.locator('ion-picker-column#first');
91
+ const secondColumn = page.locator('ion-picker-column#second');
92
+ // Focus first column
93
+ await page.keyboard.press('Tab');
94
+ await expect(firstColumn).toBeFocused();
14
95
  await page.waitForChanges();
15
- await expect(page).toHaveScreenshot(screenshot(`picker-basic`));
16
- await page.click('.picker-opt:nth-child(2)');
17
- await page.click('ion-picker .save-btn');
18
- await didDismiss.next();
19
- await page.click('#basic');
20
- await didPresent.next();
96
+ // Focus second column
97
+ await page.keyboard.press('Tab');
98
+ await expect(secondColumn).toBeFocused();
99
+ });
100
+ test('tabbing should correctly move focus back', async ({ page }) => {
101
+ const firstColumn = page.locator('ion-picker-column#first');
102
+ const secondColumn = page.locator('ion-picker-column#second');
103
+ await secondColumn.evaluate((el) => el.setFocus());
104
+ await expect(secondColumn).toBeFocused();
21
105
  await page.waitForChanges();
22
- await expect(page).toHaveScreenshot(screenshot(`picker-value-selected`));
106
+ // Focus first column
107
+ await page.keyboard.press('Shift+Tab');
108
+ await expect(firstColumn).toBeFocused();
23
109
  });
24
110
  });
25
111
  });
@@ -6,16 +6,17 @@ import { configs, test } from "../../../../utils/test/playwright/index";
6
6
  /**
7
7
  * This behavior does not vary across modes/directions.
8
8
  */
9
+ // TODO FW-5580 fix this functionality
9
10
  configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
10
- test.describe(title('picker-internal: keyboard entry'), () => {
11
+ test.describe.skip(title('picker: keyboard entry'), () => {
11
12
  test('should scroll to and update the value prop for a single column', async ({ page }) => {
12
13
  await page.setContent(`
13
- <ion-picker-internal>
14
- <ion-picker-column-internal></ion-picker-column-internal>
15
- </ion-picker-internal>
14
+ <ion-picker>
15
+ <ion-picker-column></ion-picker-column>
16
+ </ion-picker>
16
17
 
17
18
  <script>
18
- const column = document.querySelector('ion-picker-column-internal');
19
+ const column = document.querySelector('ion-picker-column');
19
20
  column.items = [
20
21
  { text: '01', value: 1 },
21
22
  { text: '02', value: 2 },
@@ -27,22 +28,22 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
27
28
  column.numericInput = true;
28
29
  </script>
29
30
  `, config);
30
- const column = page.locator('ion-picker-column-internal');
31
+ const column = page.locator('ion-picker-column');
31
32
  const ionChange = await page.spyOnEvent('ionChange');
32
- await column.focus();
33
+ await column.evaluate((el) => el.setFocus());
33
34
  await page.keyboard.press('Digit2');
34
35
  await expect(ionChange).toHaveReceivedEventDetail({ text: '02', value: 2 });
35
36
  await expect(column).toHaveJSProperty('value', 2);
36
37
  });
37
38
  test('should scroll to and update the value prop for multiple columns', async ({ page }) => {
38
39
  await page.setContent(`
39
- <ion-picker-internal>
40
- <ion-picker-column-internal id="first"></ion-picker-column-internal>
41
- <ion-picker-column-internal id="second"></ion-picker-column-internal>
42
- </ion-picker-internal>
40
+ <ion-picker>
41
+ <ion-picker-column id="first"></ion-picker-column>
42
+ <ion-picker-column id="second"></ion-picker-column>
43
+ </ion-picker>
43
44
 
44
45
  <script>
45
- const firstColumn = document.querySelector('ion-picker-column-internal#first');
46
+ const firstColumn = document.querySelector('ion-picker-column#first');
46
47
  firstColumn.items = [
47
48
  { text: '01', value: 1 },
48
49
  { text: '02', value: 2 },
@@ -53,7 +54,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
53
54
  firstColumn.value = 5;
54
55
  firstColumn.numericInput = true;
55
56
 
56
- const secondColumn = document.querySelector('ion-picker-column-internal#second');
57
+ const secondColumn = document.querySelector('ion-picker-column#second');
57
58
  secondColumn.items = [
58
59
  { text: '20', value: 20 },
59
60
  { text: '21', value: 21 },
@@ -65,9 +66,9 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
65
66
  secondColumn.numericInput = true;
66
67
  </script>
67
68
  `, config);
68
- const firstColumn = page.locator('ion-picker-column-internal#first');
69
- const secondColumn = page.locator('ion-picker-column-internal#second');
70
- const highlight = page.locator('ion-picker-internal .picker-highlight');
69
+ const firstColumn = page.locator('ion-picker-column#first');
70
+ const secondColumn = page.locator('ion-picker-column#second');
71
+ const highlight = page.locator('ion-picker .picker-highlight');
71
72
  const firstIonChange = await firstColumn.spyOnEvent('ionChange');
72
73
  const secondIonChange = await secondColumn.spyOnEvent('ionChange');
73
74
  const box = await highlight.boundingBox();
@@ -85,12 +86,12 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
85
86
  });
86
87
  test('should select 00', async ({ page }) => {
87
88
  await page.setContent(`
88
- <ion-picker-internal>
89
- <ion-picker-column-internal></ion-picker-column-internal>
90
- </ion-picker-internal>
89
+ <ion-picker>
90
+ <ion-picker-column></ion-picker-column>
91
+ </ion-picker>
91
92
 
92
93
  <script>
93
- const column = document.querySelector('ion-picker-column-internal');
94
+ const column = document.querySelector('ion-picker-column');
94
95
  column.items = [
95
96
  { text: '00', value: 12 },
96
97
  { text: '01', value: 1 },
@@ -103,9 +104,9 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
103
104
  column.numericInput = true;
104
105
  </script>
105
106
  `, config);
106
- const column = page.locator('ion-picker-column-internal');
107
+ const column = page.locator('ion-picker-column');
107
108
  const ionChange = await page.spyOnEvent('ionChange');
108
- await column.focus();
109
+ await column.evaluate((el) => el.setFocus());
109
110
  await page.keyboard.press('Digit0');
110
111
  await expect(ionChange).toHaveReceivedEventDetail({ text: '00', value: 12 });
111
112
  await expect(column).toHaveJSProperty('value', 12);