@ionic/core 7.6.2-dev.11702924017.193c825c → 7.6.2-dev.11702926577.1a448647

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 (313) hide show
  1. package/components/action-sheet.js +4 -4
  2. package/components/backdrop.js +12 -0
  3. package/components/button-active.js +1 -1
  4. package/components/button.js +2 -2
  5. package/components/data.js +1 -1
  6. package/components/gesture-controller.js +1 -1
  7. package/components/ion-content.js +1 -1
  8. package/components/ion-datetime.js +64 -40
  9. package/components/ion-picker-column-internal.d.ts +11 -0
  10. package/components/ion-picker-column-internal.js +9 -0
  11. package/components/ion-picker-column.js +2 -2
  12. package/components/{ion-picker-legacy.d.ts → ion-picker-internal.d.ts} +4 -4
  13. package/components/ion-picker-internal.js +9 -0
  14. package/components/ion-picker.js +309 -1
  15. package/components/overlays.js +4 -11
  16. package/components/picker-column-internal.js +390 -0
  17. package/components/picker-column.js +322 -351
  18. package/components/{picker.js → picker-internal.js} +22 -29
  19. package/dist/cjs/{button-active-466dfc8a.js → button-active-962fe442.js} +2 -2
  20. package/dist/cjs/{data-e2bf21de.js → data-a5109f09.js} +1 -1
  21. package/dist/cjs/{gesture-controller-9436f482.js → gesture-controller-c40c045a.js} +0 -1
  22. package/dist/cjs/{index-ee07ed59.js → index-d1b59ffa.js} +1 -1
  23. package/dist/cjs/index.cjs.js +3 -3
  24. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  25. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  26. package/dist/cjs/ion-app_8.cjs.entry.js +2 -2
  27. package/dist/cjs/ion-backdrop.cjs.entry.js +12 -0
  28. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  29. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  30. package/dist/cjs/ion-datetime_3.cjs.entry.js +56 -36
  31. package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
  32. package/dist/cjs/ion-loading.cjs.entry.js +1 -2
  33. package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
  34. package/dist/cjs/ion-modal.cjs.entry.js +3 -3
  35. package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
  36. package/dist/cjs/{ion-picker-column.cjs.entry.js → ion-picker-column-internal.cjs.entry.js} +87 -104
  37. package/dist/cjs/{ion-picker.cjs.entry.js → ion-picker-internal.cjs.entry.js} +19 -26
  38. package/dist/cjs/ion-popover.cjs.entry.js +1 -2
  39. package/dist/cjs/ion-range.cjs.entry.js +1 -1
  40. package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
  41. package/dist/cjs/ion-reorder_2.cjs.entry.js +1 -1
  42. package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
  43. package/dist/cjs/ion-select_3.cjs.entry.js +1 -2
  44. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  45. package/dist/cjs/ion-toggle.cjs.entry.js +1 -1
  46. package/dist/cjs/ionic.cjs.js +1 -1
  47. package/dist/cjs/loader.cjs.js +1 -1
  48. package/dist/cjs/{overlays-7773cbe1.js → overlays-e77cc023.js} +4 -11
  49. package/dist/cjs/{swipe-back-b8f2330b.js → swipe-back-2a858bbd.js} +2 -2
  50. package/dist/collection/collection-manifest.json +6 -7
  51. package/dist/collection/components/action-sheet/action-sheet.ios.css +2 -9
  52. package/dist/collection/components/action-sheet/action-sheet.js +2 -2
  53. package/dist/collection/components/action-sheet/action-sheet.md.css +2 -9
  54. package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +0 -20
  55. package/dist/collection/components/backdrop/backdrop.js +12 -0
  56. package/dist/collection/components/button/button.ios.css +1 -1
  57. package/dist/collection/components/button/button.md.css +1 -1
  58. package/dist/collection/components/button/test/wrap/button.e2e.js +24 -12
  59. package/dist/collection/components/content/content.css +4 -0
  60. package/dist/collection/components/datetime/datetime.ios.css +38 -91
  61. package/dist/collection/components/datetime/datetime.js +36 -24
  62. package/dist/collection/components/datetime/datetime.md.css +38 -96
  63. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  64. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +9 -6
  65. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +0 -10
  66. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  67. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  68. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  69. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  70. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  71. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +41 -43
  72. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  73. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  74. package/dist/collection/components/datetime/test/values/datetime.e2e.js +12 -15
  75. package/dist/collection/components/datetime/utils/data.js +1 -1
  76. package/dist/collection/components/picker/picker.ios.css +211 -112
  77. package/dist/collection/components/picker/picker.js +744 -472
  78. package/dist/collection/components/picker/picker.md.css +198 -108
  79. package/dist/collection/components/picker/test/basic/picker.e2e.js +13 -99
  80. package/dist/collection/components/{picker-legacy → picker}/test/is-open/picker.e2e.js +4 -4
  81. package/dist/collection/components/{picker-legacy → picker}/test/picker-id.spec.js +5 -5
  82. package/dist/collection/components/{picker-legacy → picker}/test/trigger/picker.e2e.js +1 -1
  83. package/dist/collection/components/picker-column/picker-column.js +335 -497
  84. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-aria.spec.js +3 -3
  85. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-dynamic.spec.js +2 -2
  86. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column.spec.js +2 -2
  87. package/dist/collection/components/{picker-legacy-column → picker-column}/test/standalone/picker-column.e2e.js +3 -3
  88. package/dist/collection/components/{picker-column-option/picker-column-option.md.css → picker-column-internal/picker-column-internal.ios.css} +53 -6
  89. package/dist/collection/components/picker-column-internal/picker-column-internal.js +565 -0
  90. package/dist/collection/components/{picker-column/picker-column.css → picker-column-internal/picker-column-internal.md.css} +83 -96
  91. package/dist/collection/components/{picker-column/test/basic/picker-column.e2e.js → picker-column-internal/test/basic/picker-column-internal.e2e.js} +8 -8
  92. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +162 -0
  93. package/dist/collection/components/{picker-legacy/picker.md.css → picker-internal/picker-internal.ios.css} +100 -192
  94. package/dist/collection/components/picker-internal/picker-internal.js +544 -0
  95. package/dist/collection/components/{picker-legacy/picker.ios.css → picker-internal/picker-internal.md.css} +98 -207
  96. package/dist/collection/components/{picker/test/a11y/picker.e2e.js → picker-internal/test/a11y/picker-internal.e2e.js} +2 -2
  97. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +118 -0
  98. package/dist/collection/components/{picker/test/keyboard-entry/picker.e2e.js → picker-internal/test/keyboard-entry/picker-internal.e2e.js} +32 -63
  99. package/dist/collection/utils/gesture/button-active.js +1 -1
  100. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  101. package/dist/collection/utils/overlays.js +4 -11
  102. package/dist/docs.json +42 -484
  103. package/dist/esm/{button-active-2758ff14.js → button-active-308d3edd.js} +2 -2
  104. package/dist/esm/{data-6a31d701.js → data-775093f5.js} +1 -1
  105. package/dist/esm/{gesture-controller-314a54f6.js → gesture-controller-1bf57181.js} +1 -1
  106. package/dist/esm/{index-39782642.js → index-2cf77112.js} +2 -2
  107. package/dist/esm/index.js +3 -3
  108. package/dist/esm/ion-action-sheet.entry.js +8 -8
  109. package/dist/esm/ion-alert.entry.js +4 -4
  110. package/dist/esm/ion-app_8.entry.js +2 -2
  111. package/dist/esm/ion-backdrop.entry.js +12 -0
  112. package/dist/esm/ion-button_2.entry.js +2 -2
  113. package/dist/esm/ion-datetime-button.entry.js +1 -1
  114. package/dist/esm/ion-datetime_3.entry.js +55 -35
  115. package/dist/esm/ion-item-option_3.entry.js +1 -1
  116. package/dist/esm/ion-loading.entry.js +1 -2
  117. package/dist/esm/ion-menu_3.entry.js +3 -3
  118. package/dist/esm/ion-modal.entry.js +3 -3
  119. package/dist/esm/ion-nav_2.entry.js +1 -1
  120. package/dist/esm/{ion-picker-column.entry.js → ion-picker-column-internal.entry.js} +87 -104
  121. package/dist/esm/{ion-picker.entry.js → ion-picker-internal.entry.js} +19 -26
  122. package/dist/esm/ion-popover.entry.js +1 -2
  123. package/dist/esm/ion-range.entry.js +1 -1
  124. package/dist/esm/ion-refresher_2.entry.js +3 -3
  125. package/dist/esm/ion-reorder_2.entry.js +1 -1
  126. package/dist/esm/ion-segment_2.entry.js +1 -1
  127. package/dist/esm/ion-select_3.entry.js +1 -2
  128. package/dist/esm/ion-toast.entry.js +3 -3
  129. package/dist/esm/ion-toggle.entry.js +1 -1
  130. package/dist/esm/ionic.js +1 -1
  131. package/dist/esm/loader.js +1 -1
  132. package/dist/esm/{overlays-94dac1cb.js → overlays-b33f6bca.js} +4 -11
  133. package/dist/esm/{swipe-back-a8ca7f93.js → swipe-back-a6f386fc.js} +2 -2
  134. package/dist/esm-es5/button-active-308d3edd.js +4 -0
  135. package/dist/esm-es5/{gesture-controller-314a54f6.js → gesture-controller-1bf57181.js} +1 -1
  136. package/dist/esm-es5/{index-39782642.js → index-2cf77112.js} +1 -1
  137. package/dist/esm-es5/index.js +1 -1
  138. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  139. package/dist/esm-es5/ion-alert.entry.js +1 -1
  140. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  141. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  142. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  143. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  144. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  145. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  146. package/dist/esm-es5/ion-loading.entry.js +1 -1
  147. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  148. package/dist/esm-es5/ion-modal.entry.js +1 -1
  149. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  150. package/dist/esm-es5/ion-picker-column-internal.entry.js +4 -0
  151. package/dist/esm-es5/ion-picker-internal.entry.js +4 -0
  152. package/dist/esm-es5/ion-popover.entry.js +1 -1
  153. package/dist/esm-es5/ion-range.entry.js +1 -1
  154. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  155. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  156. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  157. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  158. package/dist/esm-es5/ion-toast.entry.js +1 -1
  159. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  160. package/dist/esm-es5/ionic.js +1 -1
  161. package/dist/esm-es5/loader.js +1 -1
  162. package/dist/esm-es5/overlays-b33f6bca.js +4 -0
  163. package/dist/esm-es5/swipe-back-a6f386fc.js +4 -0
  164. package/dist/html.html-data.json +1 -152
  165. package/dist/ionic/index.esm.js +1 -1
  166. package/dist/ionic/ionic.esm.js +1 -1
  167. package/dist/ionic/p-0235067a.js +4 -0
  168. package/dist/ionic/{p-f6cae0b2.system.entry.js → p-06abe918.system.entry.js} +1 -1
  169. package/dist/ionic/{p-5ff211d0.system.entry.js → p-10ec9af7.system.entry.js} +1 -1
  170. package/dist/ionic/{p-10339dcc.entry.js → p-11786dc7.entry.js} +1 -1
  171. package/dist/ionic/{p-1b14f0f8.entry.js → p-11a3973f.entry.js} +1 -1
  172. package/dist/ionic/p-12a62500.entry.js +4 -0
  173. package/dist/ionic/p-19d9ceb8.system.js +1 -1
  174. package/dist/ionic/{p-642ac927.entry.js → p-1b27ac67.entry.js} +1 -1
  175. package/dist/ionic/p-1c249831.entry.js +4 -0
  176. package/dist/ionic/{p-e2737fef.system.entry.js → p-22827063.system.entry.js} +1 -1
  177. package/dist/ionic/{p-d2634efe.system.entry.js → p-28740823.system.entry.js} +1 -1
  178. package/dist/ionic/{p-c01803db.entry.js → p-2894d5f6.entry.js} +1 -1
  179. package/dist/ionic/{p-b2b5d761.entry.js → p-2a583966.entry.js} +1 -1
  180. package/dist/ionic/{p-beed2450.system.entry.js → p-2df97906.system.entry.js} +1 -1
  181. package/dist/ionic/{p-3e1e14d9.system.js → p-31b2326e.system.js} +1 -1
  182. package/dist/ionic/p-35ce400e.system.js +4 -0
  183. package/dist/ionic/p-3671f1b9.system.js +4 -0
  184. package/dist/ionic/{p-bb3fd397.entry.js → p-3e8d5e53.entry.js} +1 -1
  185. package/dist/ionic/p-47bb15a1.entry.js +4 -0
  186. package/dist/ionic/p-4d145435.entry.js +4 -0
  187. package/dist/ionic/p-507ddbfe.system.entry.js +4 -0
  188. package/dist/ionic/p-648ad047.system.entry.js +4 -0
  189. package/dist/ionic/p-6a6477b2.js +4 -0
  190. package/dist/ionic/p-6ab03751.js +4 -0
  191. package/dist/ionic/{p-25312768.system.entry.js → p-6b0ce9b4.system.entry.js} +1 -1
  192. package/dist/ionic/p-6c277fa2.system.entry.js +4 -0
  193. package/dist/ionic/p-6fba0ce1.system.entry.js +4 -0
  194. package/dist/ionic/{p-3af5faf8.system.entry.js → p-745e3339.system.entry.js} +1 -1
  195. package/dist/ionic/{p-ba5d9e27.entry.js → p-767f1a92.entry.js} +1 -1
  196. package/dist/ionic/p-7dc892f8.entry.js +4 -0
  197. package/dist/ionic/p-85f48531.entry.js +4 -0
  198. package/dist/ionic/p-8f301ac5.system.entry.js +4 -0
  199. package/dist/ionic/p-932f2259.system.entry.js +4 -0
  200. package/dist/ionic/{p-0e908476.system.entry.js → p-96d4814f.system.entry.js} +1 -1
  201. package/dist/ionic/{p-964dcdb2.system.entry.js → p-9fda6824.system.entry.js} +1 -1
  202. package/dist/ionic/{p-bec6ae40.entry.js → p-a3ca2e64.entry.js} +1 -1
  203. package/dist/ionic/{p-4793c14c.system.entry.js → p-a42ef163.system.entry.js} +1 -1
  204. package/dist/ionic/{p-6e4c7340.system.entry.js → p-a821750c.system.entry.js} +1 -1
  205. package/dist/ionic/{p-ed8402d6.entry.js → p-aee39e06.entry.js} +1 -1
  206. package/dist/ionic/{p-1ab2642a.system.js → p-afa9f205.system.js} +1 -1
  207. package/dist/ionic/p-b1f29949.system.entry.js +4 -0
  208. package/dist/ionic/p-b7a2ffc9.system.entry.js +4 -0
  209. package/dist/ionic/{p-92bfb607.entry.js → p-b964aba3.entry.js} +1 -1
  210. package/dist/ionic/{p-9b97df10.js → p-bb3615f7.js} +1 -1
  211. package/dist/ionic/{p-3dc1b0f9.entry.js → p-c1701827.entry.js} +1 -1
  212. package/dist/ionic/{p-20755eb0.entry.js → p-c5acfeb1.entry.js} +1 -1
  213. package/dist/ionic/{p-20d469d0.system.js → p-c7c8429a.system.js} +1 -1
  214. package/dist/ionic/p-cd1b920b.entry.js +4 -0
  215. package/dist/ionic/p-da5e2652.entry.js +4 -0
  216. package/dist/ionic/{p-3b434dee.system.entry.js → p-dc71e4ef.system.entry.js} +1 -1
  217. package/dist/ionic/{p-db05ecb6.system.entry.js → p-ddd48faf.system.entry.js} +1 -1
  218. package/dist/ionic/p-ec652bc0.system.entry.js +4 -0
  219. package/dist/ionic/{p-13d4dfe7.entry.js → p-f2bfd3d7.entry.js} +1 -1
  220. package/dist/ionic/{p-8ededb41.js → p-f5d2dc9b.js} +1 -1
  221. package/dist/ionic/p-f6e9c227.system.js +4 -0
  222. package/dist/ionic/p-f894e0ad.entry.js +4 -0
  223. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +0 -1
  224. package/dist/types/components/backdrop/backdrop.d.ts +3 -0
  225. package/dist/types/components/datetime/datetime.d.ts +1 -0
  226. package/dist/types/components/datetime/utils/data.d.ts +7 -11
  227. package/dist/types/components/menu/menu.d.ts +1 -1
  228. package/dist/types/components/picker/picker.d.ts +129 -75
  229. package/dist/types/components/picker-column/picker-column.d.ts +39 -99
  230. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +5 -0
  231. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +102 -0
  232. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +8 -0
  233. package/dist/types/components/picker-internal/picker-internal.d.ts +102 -0
  234. package/dist/types/components.d.ts +122 -154
  235. package/dist/types/interface.d.ts +1 -1
  236. package/dist/types/utils/config.d.ts +2 -2
  237. package/dist/types/utils/gesture/gesture-controller.d.ts +0 -1
  238. package/dist/types/utils/overlays.d.ts +2 -5
  239. package/hydrate/index.js +1199 -1300
  240. package/package.json +2 -2
  241. package/components/ion-picker-column-option.d.ts +0 -11
  242. package/components/ion-picker-column-option.js +0 -9
  243. package/components/ion-picker-legacy-column.d.ts +0 -11
  244. package/components/ion-picker-legacy-column.js +0 -9
  245. package/components/ion-picker-legacy.js +0 -309
  246. package/components/picker-column-option.js +0 -122
  247. package/components/picker-column2.js +0 -379
  248. package/dist/cjs/ion-picker-column-option.cjs.entry.js +0 -104
  249. package/dist/collection/components/picker/test/custom/picker.e2e.js +0 -85
  250. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +0 -91
  251. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +0 -39
  252. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -87
  253. package/dist/collection/components/picker-column-option/picker-column-option.js +0 -173
  254. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +0 -18
  255. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +0 -37
  256. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +0 -29
  257. package/dist/collection/components/picker-legacy/picker.js +0 -817
  258. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +0 -25
  259. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -419
  260. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +0 -65
  261. package/dist/esm/ion-picker-column-option.entry.js +0 -100
  262. package/dist/esm-es5/button-active-2758ff14.js +0 -4
  263. package/dist/esm-es5/ion-picker-column-option.entry.js +0 -4
  264. package/dist/esm-es5/ion-picker-column.entry.js +0 -4
  265. package/dist/esm-es5/ion-picker.entry.js +0 -4
  266. package/dist/esm-es5/overlays-94dac1cb.js +0 -4
  267. package/dist/esm-es5/swipe-back-a8ca7f93.js +0 -4
  268. package/dist/ionic/p-26ff1180.entry.js +0 -4
  269. package/dist/ionic/p-2f449cdf.system.entry.js +0 -4
  270. package/dist/ionic/p-3717e641.system.entry.js +0 -4
  271. package/dist/ionic/p-51abefb7.system.js +0 -4
  272. package/dist/ionic/p-71483cbb.entry.js +0 -4
  273. package/dist/ionic/p-73fbf18d.entry.js +0 -4
  274. package/dist/ionic/p-75a3e35b.entry.js +0 -4
  275. package/dist/ionic/p-77d78f68.system.entry.js +0 -4
  276. package/dist/ionic/p-7c0d778d.system.js +0 -4
  277. package/dist/ionic/p-80ad9792.system.js +0 -4
  278. package/dist/ionic/p-85a67421.system.entry.js +0 -4
  279. package/dist/ionic/p-8ad6d643.entry.js +0 -4
  280. package/dist/ionic/p-9164a09d.entry.js +0 -4
  281. package/dist/ionic/p-a1bd098f.system.entry.js +0 -4
  282. package/dist/ionic/p-a41eaff2.system.entry.js +0 -4
  283. package/dist/ionic/p-a60a1ce5.js +0 -4
  284. package/dist/ionic/p-c001b24f.entry.js +0 -4
  285. package/dist/ionic/p-c19bf524.entry.js +0 -4
  286. package/dist/ionic/p-c6176849.system.entry.js +0 -4
  287. package/dist/ionic/p-cf350317.entry.js +0 -4
  288. package/dist/ionic/p-d3525765.js +0 -4
  289. package/dist/ionic/p-dc63dccb.system.entry.js +0 -4
  290. package/dist/ionic/p-f0717d98.js +0 -4
  291. package/dist/ionic/p-f0dea903.system.entry.js +0 -4
  292. package/dist/ionic/p-f60807dd.system.entry.js +0 -4
  293. package/dist/ionic/p-f8c5008f.entry.js +0 -4
  294. package/dist/types/components/picker/picker-interfaces.d.ts +0 -8
  295. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +0 -4
  296. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -66
  297. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  298. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  299. /package/dist/collection/components/{picker-legacy → picker}/animations/ios.enter.js +0 -0
  300. /package/dist/collection/components/{picker-legacy → picker}/animations/ios.leave.js +0 -0
  301. /package/dist/collection/components/picker/{picker-interfaces.js → picker-interface.js} +0 -0
  302. /package/dist/collection/components/{picker-legacy-column → picker-column}/picker-column.ios.css +0 -0
  303. /package/dist/collection/components/{picker-legacy-column → picker-column}/picker-column.md.css +0 -0
  304. /package/dist/collection/components/{picker-legacy-column → picker-column}/test/test.utils.js +0 -0
  305. /package/dist/collection/components/{picker-column/picker-column-interfaces.js → picker-column-internal/picker-column-internal-interfaces.js} +0 -0
  306. /package/dist/collection/components/{picker-legacy/picker-interface.js → picker-internal/picker-internal-interfaces.js} +0 -0
  307. /package/dist/esm-es5/{data-6a31d701.js → data-775093f5.js} +0 -0
  308. /package/dist/ionic/{p-a64accf5.js → p-18cae04f.js} +0 -0
  309. /package/dist/ionic/{p-7ff4359e.system.js → p-87bb3735.system.js} +0 -0
  310. /package/dist/types/components/{picker-legacy → picker}/animations/ios.enter.d.ts +0 -0
  311. /package/dist/types/components/{picker-legacy → picker}/animations/ios.leave.d.ts +0 -0
  312. /package/dist/types/components/{picker-legacy → picker}/picker-interface.d.ts +0 -0
  313. /package/dist/types/components/{picker-legacy-column → picker-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-internal: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-internal: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-internal:only-child) {
194
+ text-align: center;
182
195
  }
183
196
 
184
197
  /**
@@ -236,132 +249,10 @@
236
249
  * }
237
250
  * }
238
251
  */
239
- :host {
240
- --background: var(--ion-background-color, #fff);
241
- --border-width: 1px 0 0;
242
- --border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));
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
- height: 44px;
251
- border-bottom: 0.55px solid var(--border-color);
252
- }
253
-
254
- .picker-toolbar-button {
255
- flex: 1;
256
- text-align: end;
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%);
257
254
  }
258
255
 
259
- .picker-toolbar-button:last-child .picker-button {
260
- font-weight: 600;
261
- }
262
-
263
- .picker-toolbar-button:first-child {
264
- font-weight: normal;
265
- text-align: start;
266
- }
267
-
268
- .picker-button,
269
- .picker-button.ion-activated {
270
- margin-left: 0;
271
- margin-right: 0;
272
- margin-top: 0;
273
- margin-bottom: 0;
274
- -webkit-padding-start: 1em;
275
- padding-inline-start: 1em;
276
- -webkit-padding-end: 1em;
277
- padding-inline-end: 1em;
278
- padding-top: 0;
279
- padding-bottom: 0;
280
- height: 44px;
281
- background: transparent;
282
- color: var(--ion-color-primary, #3880ff);
283
- font-size: 16px;
284
- }
285
-
286
- .picker-columns {
287
- height: 215px;
288
- perspective: 1000px;
289
- }
290
-
291
- .picker-above-highlight {
292
- top: 0;
293
- transform: translate3d(0, 0, 90px);
294
- display: block;
295
- position: absolute;
296
- width: 100%;
297
- height: 81px;
298
- border-bottom: 1px solid var(--border-color);
299
- background: linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);
300
- z-index: 10;
301
- }
302
- @supports (inset-inline-start: 0) {
303
- .picker-above-highlight {
304
- inset-inline-start: 0;
305
- }
306
- }
307
- @supports not (inset-inline-start: 0) {
308
- .picker-above-highlight {
309
- left: 0;
310
- }
311
- :host-context([dir=rtl]) .picker-above-highlight {
312
- left: unset;
313
- right: unset;
314
- right: 0;
315
- }
316
- [dir=rtl] .picker-above-highlight {
317
- left: unset;
318
- right: unset;
319
- right: 0;
320
- }
321
- @supports selector(:dir(rtl)) {
322
- .picker-above-highlight:dir(rtl) {
323
- left: unset;
324
- right: unset;
325
- right: 0;
326
- }
327
- }
328
- }
329
-
330
- .picker-below-highlight {
331
- top: 115px;
332
- transform: translate3d(0, 0, 90px);
333
- display: block;
334
- position: absolute;
335
- width: 100%;
336
- height: 119px;
337
- border-top: 1px solid var(--border-color);
338
- background: linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);
339
- z-index: 11;
340
- }
341
- @supports (inset-inline-start: 0) {
342
- .picker-below-highlight {
343
- inset-inline-start: 0;
344
- }
345
- }
346
- @supports not (inset-inline-start: 0) {
347
- .picker-below-highlight {
348
- left: 0;
349
- }
350
- :host-context([dir=rtl]) .picker-below-highlight {
351
- left: unset;
352
- right: unset;
353
- right: 0;
354
- }
355
- [dir=rtl] .picker-below-highlight {
356
- left: unset;
357
- right: unset;
358
- right: 0;
359
- }
360
- @supports selector(:dir(rtl)) {
361
- .picker-below-highlight:dir(rtl) {
362
- left: unset;
363
- right: unset;
364
- right: 0;
365
- }
366
- }
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%);
367
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: a11y'), () => {
8
+ test.describe(title('picker-internal: a11y'), () => {
9
9
  test('should not have accessibility violations', async ({ page }) => {
10
- await page.goto(`/src/components/picker/test/a11y`, config);
10
+ await page.goto(`/src/components/picker-internal/test/a11y`, config);
11
11
  const results = await new AxeBuilder({ page }).analyze();
12
12
  expect(results.violations).toEqual([]);
13
13
  });
@@ -0,0 +1,118 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { expect } from "@playwright/test";
5
+ import { configs, test } from "../../../../utils/test/playwright/index";
6
+ /**
7
+ * This behavior does not vary across directions.
8
+ */
9
+ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
10
+ test.describe(title('picker-internal: rendering'), () => {
11
+ test('inline pickers should not have visual regression', async ({ page }) => {
12
+ await page.goto(`/src/components/picker-internal/test/basic`, config);
13
+ const fullStack = page.locator('#inline button[data-value="full-stack"]');
14
+ const onion = page.locator('#inline button[data-value="onion"]');
15
+ await expect(fullStack).toHaveClass(/picker-item-active/);
16
+ await expect(onion).toHaveClass(/picker-item-active/);
17
+ await page.waitForChanges();
18
+ await expect(page.locator('#inline')).toHaveScreenshot(screenshot(`picker-internal-inline-diff`));
19
+ });
20
+ });
21
+ test.describe(title('picker-internal: overlay rendering'), () => {
22
+ test('popover: should not have visual regression', async ({ page }) => {
23
+ await page.goto(`/src/components/picker-internal/test/basic`, config);
24
+ const button = page.locator('#popover');
25
+ const didPresent = await page.spyOnEvent('ionPopoverDidPresent');
26
+ const pickerInternal = page.locator('ion-popover ion-picker-internal');
27
+ await button.click();
28
+ await didPresent.next();
29
+ await expect(pickerInternal).toBeVisible();
30
+ const popoverContent = page.locator('ion-popover .ion-delegate-host');
31
+ await expect(popoverContent).toHaveScreenshot(screenshot(`picker-internal-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 }) => {
43
+ await page.goto('/src/components/picker-internal/test/basic', config);
44
+ const button = page.locator('#modal');
45
+ const didPresent = await page.spyOnEvent('ionModalDidPresent');
46
+ const pickerInternal = page.locator('ion-modal ion-picker-internal');
47
+ await button.click();
48
+ await didPresent.next();
49
+ await expect(pickerInternal).toBeVisible();
50
+ const modalContent = page.locator('ion-modal .ion-delegate-host');
51
+ await expect(modalContent).toHaveScreenshot(screenshot(`picker-internal-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-internal: focus'), () => {
69
+ test.beforeEach(async ({ page }) => {
70
+ await page.setContent(`
71
+ <ion-picker-internal>
72
+ <ion-picker-column-internal value="full-stack" id="first"></ion-picker-column-internal>
73
+ <ion-picker-column-internal value="onion" id="second"></ion-picker-column-internal>
74
+ </ion-picker-internal>
75
+
76
+ <script>
77
+ const columns = document.querySelectorAll('ion-picker-column-internal');
78
+ columns[0].items = [
79
+ { text: 'Minified', value: 'minified' },
80
+ { text: 'Responsive', value: 'responsive' },
81
+ { text: 'Full Stack', value: 'full-stack' },
82
+ { text: 'Mobile First', value: 'mobile-first' },
83
+ { text: 'Serverless', value: 'serverless' },
84
+ ]
85
+
86
+ columns[1].items = [
87
+ { text: 'Tomato', value: 'tomato' },
88
+ { text: 'Avocado', value: 'avocado' },
89
+ { text: 'Onion', value: 'onion' },
90
+ { text: 'Potato', value: 'potato' },
91
+ { text: 'Artichoke', value: 'artichoke' },
92
+ ];
93
+ </script>
94
+ `, config);
95
+ });
96
+ test('tabbing should correctly move focus between columns', async ({ page }) => {
97
+ const firstColumn = page.locator('ion-picker-column-internal#first');
98
+ const secondColumn = page.locator('ion-picker-column-internal#second');
99
+ // Focus first column
100
+ await page.keyboard.press('Tab');
101
+ await expect(firstColumn).toBeFocused();
102
+ await page.waitForChanges();
103
+ // Focus second column
104
+ await page.keyboard.press('Tab');
105
+ await expect(secondColumn).toBeFocused();
106
+ });
107
+ test('tabbing should correctly move focus back', async ({ page }) => {
108
+ const firstColumn = page.locator('ion-picker-column-internal#first');
109
+ const secondColumn = page.locator('ion-picker-column-internal#second');
110
+ await secondColumn.focus();
111
+ await expect(secondColumn).toBeFocused();
112
+ await page.waitForChanges();
113
+ // Focus first column
114
+ await page.keyboard.press('Shift+Tab');
115
+ await expect(firstColumn).toBeFocused();
116
+ });
117
+ });
118
+ });
@@ -7,50 +7,43 @@ import { configs, test } from "../../../../utils/test/playwright/index";
7
7
  * This behavior does not vary across modes/directions.
8
8
  */
9
9
  configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
10
- test.describe(title('picker: keyboard entry'), () => {
10
+ test.describe(title('picker-internal: keyboard entry'), () => {
11
11
  test('should scroll to and update the value prop for a single column', async ({ page }) => {
12
12
  await page.setContent(`
13
- <ion-picker>
14
- <ion-picker-column></ion-picker-column>
15
- </ion-picker>
13
+ <ion-picker-internal>
14
+ <ion-picker-column-internal></ion-picker-column-internal>
15
+ </ion-picker-internal>
16
16
 
17
17
  <script>
18
- const column = document.querySelector('ion-picker-column');
19
- column.numericInput = true;
20
- const items = [
18
+ const column = document.querySelector('ion-picker-column-internal');
19
+ column.items = [
21
20
  { text: '01', value: 1 },
22
21
  { text: '02', value: 2 },
23
22
  { text: '03', value: 3 },
24
23
  { text: '04', value: 4 },
25
24
  { text: '05', value: 5 }
26
25
  ];
27
-
28
- items.forEach((item) => {
29
- const option = document.createElement('ion-picker-column-option');
30
- option.value = item.value;
31
- option.textContent = item.text;
32
-
33
- column.appendChild(option);
34
- });
26
+ column.value = 5;
27
+ column.numericInput = true;
35
28
  </script>
36
29
  `, config);
37
- const column = page.locator('ion-picker-column');
30
+ const column = page.locator('ion-picker-column-internal');
38
31
  const ionChange = await page.spyOnEvent('ionChange');
39
- await column.evaluate((el) => el.setFocus());
32
+ await column.focus();
40
33
  await page.keyboard.press('Digit2');
41
- await expect(ionChange).toHaveReceivedEventDetail({ value: 2 });
34
+ await expect(ionChange).toHaveReceivedEventDetail({ text: '02', value: 2 });
42
35
  await expect(column).toHaveJSProperty('value', 2);
43
36
  });
44
37
  test('should scroll to and update the value prop for multiple columns', async ({ page }) => {
45
38
  await page.setContent(`
46
- <ion-picker>
47
- <ion-picker-column id="first"></ion-picker-column>
48
- <ion-picker-column id="second"></ion-picker-column>
49
- </ion-picker>
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>
50
43
 
51
44
  <script>
52
- const firstColumn = document.querySelector('ion-picker-column#first');
53
- const firstItems = [
45
+ const firstColumn = document.querySelector('ion-picker-column-internal#first');
46
+ firstColumn.items = [
54
47
  { text: '01', value: 1 },
55
48
  { text: '02', value: 2 },
56
49
  { text: '03', value: 3 },
@@ -60,16 +53,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
60
53
  firstColumn.value = 5;
61
54
  firstColumn.numericInput = true;
62
55
 
63
- firstItems.forEach((item) => {
64
- const option = document.createElement('ion-picker-column-option');
65
- option.value = item.value;
66
- option.textContent = item.text;
67
-
68
- firstColumn.appendChild(option);
69
- });
70
-
71
- const secondColumn = document.querySelector('ion-picker-column#second');
72
- const secondItems = [
56
+ const secondColumn = document.querySelector('ion-picker-column-internal#second');
57
+ secondColumn.items = [
73
58
  { text: '20', value: 20 },
74
59
  { text: '21', value: 21 },
75
60
  { text: '22', value: 22 },
@@ -78,19 +63,11 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
78
63
  ];
79
64
  secondColumn.value = 22;
80
65
  secondColumn.numericInput = true;
81
-
82
- secondItems.forEach((item) => {
83
- const option = document.createElement('ion-picker-column-option');
84
- option.value = item.value;
85
- option.textContent = item.text;
86
-
87
- secondColumn.appendChild(option);
88
- });
89
66
  </script>
90
67
  `, config);
91
- const firstColumn = page.locator('ion-picker-column#first');
92
- const secondColumn = page.locator('ion-picker-column#second');
93
- const highlight = page.locator('ion-picker .picker-highlight');
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');
94
71
  const firstIonChange = await firstColumn.spyOnEvent('ionChange');
95
72
  const secondIonChange = await secondColumn.spyOnEvent('ionChange');
96
73
  const box = await highlight.boundingBox();
@@ -100,21 +77,21 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
100
77
  await expect(firstColumn).toHaveClass(/picker-column-active/);
101
78
  await expect(secondColumn).toHaveClass(/picker-column-active/);
102
79
  await page.keyboard.press('Digit2');
103
- await expect(firstIonChange).toHaveReceivedEventDetail({ value: 2 });
80
+ await expect(firstIonChange).toHaveReceivedEventDetail({ text: '02', value: 2 });
104
81
  await expect(firstColumn).toHaveJSProperty('value', 2);
105
82
  await page.keyboard.press('Digit2+Digit4');
106
- await expect(secondIonChange).toHaveReceivedEventDetail({ value: 24 });
83
+ await expect(secondIonChange).toHaveReceivedEventDetail({ text: '24', value: 24 });
107
84
  await expect(secondColumn).toHaveJSProperty('value', 24);
108
85
  });
109
86
  test('should select 00', async ({ page }) => {
110
87
  await page.setContent(`
111
- <ion-picker>
112
- <ion-picker-column></ion-picker-column>
113
- </ion-picker>
88
+ <ion-picker-internal>
89
+ <ion-picker-column-internal></ion-picker-column-internal>
90
+ </ion-picker-internal>
114
91
 
115
92
  <script>
116
- const column = document.querySelector('ion-picker-column');
117
- const items = [
93
+ const column = document.querySelector('ion-picker-column-internal');
94
+ column.items = [
118
95
  { text: '00', value: 12 },
119
96
  { text: '01', value: 1 },
120
97
  { text: '02', value: 2 },
@@ -124,21 +101,13 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
124
101
  ];
125
102
  column.value = 5;
126
103
  column.numericInput = true;
127
-
128
- items.forEach((item) => {
129
- const option = document.createElement('ion-picker-column-option');
130
- option.value = item.value;
131
- option.textContent = item.text;
132
-
133
- column.appendChild(option);
134
- });
135
104
  </script>
136
105
  `, config);
137
- const column = page.locator('ion-picker-column');
106
+ const column = page.locator('ion-picker-column-internal');
138
107
  const ionChange = await page.spyOnEvent('ionChange');
139
- await column.evaluate((el) => el.setFocus());
108
+ await column.focus();
140
109
  await page.keyboard.press('Digit0');
141
- await expect(ionChange).toHaveReceivedEventDetail({ value: 12 });
110
+ await expect(ionChange).toHaveReceivedEventDetail({ text: '00', value: 12 });
142
111
  await expect(column).toHaveJSProperty('value', 12);
143
112
  });
144
113
  });
@@ -12,7 +12,7 @@ export const createButtonActiveGesture = (el, isButton) => {
12
12
  return;
13
13
  }
14
14
  const target = document.elementFromPoint(x, y);
15
- if (!target || !isButton(target) || target.disabled) {
15
+ if (!target || !isButton(target)) {
16
16
  clearActiveButton();
17
17
  return;
18
18
  }
@@ -189,5 +189,5 @@ class BlockerDelegate {
189
189
  this.ctrl = undefined;
190
190
  }
191
191
  }
192
- export const BACKDROP_NO_SCROLL = 'backdrop-no-scroll';
192
+ const BACKDROP_NO_SCROLL = 'backdrop-no-scroll';
193
193
  export const GESTURE_CONTROLLER = new GestureController();