@ionic/core 7.6.2-dev.11702914017.1ae72da5 → 7.6.2-dev.11702924017.193c825c

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 (315) hide show
  1. package/components/action-sheet.js +4 -4
  2. package/components/backdrop.js +0 -12
  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 +40 -64
  9. package/components/ion-picker-column-option.d.ts +11 -0
  10. package/components/ion-picker-column-option.js +9 -0
  11. package/components/ion-picker-column.js +2 -2
  12. package/components/ion-picker-legacy-column.d.ts +11 -0
  13. package/components/ion-picker-legacy-column.js +9 -0
  14. package/components/{ion-picker-internal.d.ts → ion-picker-legacy.d.ts} +4 -4
  15. package/components/ion-picker-legacy.js +309 -0
  16. package/components/ion-picker.js +1 -309
  17. package/components/overlays.js +11 -4
  18. package/components/picker-column-option.js +122 -0
  19. package/components/picker-column.js +351 -322
  20. package/components/picker-column2.js +379 -0
  21. package/components/{picker-internal.js → picker.js} +29 -22
  22. package/dist/cjs/{button-active-962fe442.js → button-active-466dfc8a.js} +2 -2
  23. package/dist/cjs/{data-a5109f09.js → data-e2bf21de.js} +1 -1
  24. package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
  25. package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
  26. package/dist/cjs/index.cjs.js +3 -3
  27. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  28. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  29. package/dist/cjs/ion-app_8.cjs.entry.js +2 -2
  30. package/dist/cjs/ion-backdrop.cjs.entry.js +0 -12
  31. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  32. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  33. package/dist/cjs/ion-datetime_3.cjs.entry.js +36 -56
  34. package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
  35. package/dist/cjs/ion-loading.cjs.entry.js +2 -1
  36. package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
  37. package/dist/cjs/ion-modal.cjs.entry.js +3 -3
  38. package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
  39. package/dist/cjs/ion-picker-column-option.cjs.entry.js +104 -0
  40. package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +104 -87
  41. package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +26 -19
  42. package/dist/cjs/ion-popover.cjs.entry.js +2 -1
  43. package/dist/cjs/ion-range.cjs.entry.js +1 -1
  44. package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
  45. package/dist/cjs/ion-reorder_2.cjs.entry.js +1 -1
  46. package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
  47. package/dist/cjs/ion-select_3.cjs.entry.js +2 -1
  48. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  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-e77cc023.js → overlays-7773cbe1.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/action-sheet/action-sheet.ios.css +9 -2
  56. package/dist/collection/components/action-sheet/action-sheet.js +2 -2
  57. package/dist/collection/components/action-sheet/action-sheet.md.css +9 -2
  58. package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +20 -0
  59. package/dist/collection/components/backdrop/backdrop.js +0 -12
  60. package/dist/collection/components/button/button.ios.css +1 -1
  61. package/dist/collection/components/button/button.md.css +1 -1
  62. package/dist/collection/components/button/test/wrap/button.e2e.js +12 -24
  63. package/dist/collection/components/content/content.css +0 -4
  64. package/dist/collection/components/datetime/datetime.ios.css +91 -38
  65. package/dist/collection/components/datetime/datetime.js +24 -36
  66. package/dist/collection/components/datetime/datetime.md.css +96 -38
  67. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  68. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
  69. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +10 -0
  70. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  71. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  72. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  73. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  74. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  75. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +43 -41
  76. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  77. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  78. package/dist/collection/components/datetime/test/values/datetime.e2e.js +15 -12
  79. package/dist/collection/components/datetime/utils/data.js +1 -1
  80. package/dist/collection/components/picker/picker.ios.css +112 -211
  81. package/dist/collection/components/picker/picker.js +472 -744
  82. package/dist/collection/components/picker/picker.md.css +108 -198
  83. package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
  84. package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
  85. package/dist/collection/components/picker/test/custom/picker.e2e.js +85 -0
  86. package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +63 -32
  87. package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-column/picker-column.css} +96 -83
  88. package/dist/collection/components/picker-column/picker-column.js +497 -335
  89. package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
  90. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +91 -0
  91. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
  92. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
  93. package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
  94. package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
  95. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
  96. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
  97. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +29 -0
  98. package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy/picker.ios.css} +207 -98
  99. package/dist/collection/components/picker-legacy/picker.js +817 -0
  100. package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.md.css} +192 -100
  101. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
  102. package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
  103. package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
  104. package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
  105. package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
  106. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
  107. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
  108. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
  109. package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
  110. package/dist/collection/components/refresher/refresher.js +0 -3
  111. package/dist/collection/utils/gesture/button-active.js +1 -1
  112. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  113. package/dist/collection/utils/overlays.js +11 -4
  114. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
  115. package/dist/docs.json +485 -69
  116. package/dist/esm/{button-active-308d3edd.js → button-active-2758ff14.js} +2 -2
  117. package/dist/esm/{data-775093f5.js → data-6a31d701.js} +1 -1
  118. package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  119. package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
  120. package/dist/esm/index.js +3 -3
  121. package/dist/esm/ion-action-sheet.entry.js +8 -8
  122. package/dist/esm/ion-alert.entry.js +4 -4
  123. package/dist/esm/ion-app_8.entry.js +2 -2
  124. package/dist/esm/ion-backdrop.entry.js +0 -12
  125. package/dist/esm/ion-button_2.entry.js +2 -2
  126. package/dist/esm/ion-datetime-button.entry.js +1 -1
  127. package/dist/esm/ion-datetime_3.entry.js +35 -55
  128. package/dist/esm/ion-item-option_3.entry.js +1 -1
  129. package/dist/esm/ion-loading.entry.js +2 -1
  130. package/dist/esm/ion-menu_3.entry.js +3 -3
  131. package/dist/esm/ion-modal.entry.js +3 -3
  132. package/dist/esm/ion-nav_2.entry.js +1 -1
  133. package/dist/esm/ion-picker-column-option.entry.js +100 -0
  134. package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +104 -87
  135. package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +26 -19
  136. package/dist/esm/ion-popover.entry.js +2 -1
  137. package/dist/esm/ion-range.entry.js +1 -1
  138. package/dist/esm/ion-refresher_2.entry.js +3 -3
  139. package/dist/esm/ion-reorder_2.entry.js +1 -1
  140. package/dist/esm/ion-segment_2.entry.js +1 -1
  141. package/dist/esm/ion-select_3.entry.js +2 -1
  142. package/dist/esm/ion-toast.entry.js +3 -3
  143. package/dist/esm/ion-toggle.entry.js +1 -1
  144. package/dist/esm/ionic.js +1 -1
  145. package/dist/esm/loader.js +1 -1
  146. package/dist/esm/{overlays-b33f6bca.js → overlays-94dac1cb.js} +11 -4
  147. package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-a8ca7f93.js} +2 -2
  148. package/dist/esm-es5/button-active-2758ff14.js +4 -0
  149. package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  150. package/dist/esm-es5/{index-2cf77112.js → index-39782642.js} +1 -1
  151. package/dist/esm-es5/index.js +1 -1
  152. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  153. package/dist/esm-es5/ion-alert.entry.js +1 -1
  154. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  155. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  156. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  157. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  158. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  159. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  160. package/dist/esm-es5/ion-loading.entry.js +1 -1
  161. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  162. package/dist/esm-es5/ion-modal.entry.js +1 -1
  163. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  164. package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
  165. package/dist/esm-es5/ion-picker-column.entry.js +4 -0
  166. package/dist/esm-es5/ion-picker.entry.js +4 -0
  167. package/dist/esm-es5/ion-popover.entry.js +1 -1
  168. package/dist/esm-es5/ion-range.entry.js +1 -1
  169. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  170. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  171. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  172. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  173. package/dist/esm-es5/ion-toast.entry.js +1 -1
  174. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  175. package/dist/esm-es5/ionic.js +1 -1
  176. package/dist/esm-es5/loader.js +1 -1
  177. package/dist/esm-es5/overlays-94dac1cb.js +4 -0
  178. package/dist/esm-es5/swipe-back-a8ca7f93.js +4 -0
  179. package/dist/html.html-data.json +152 -13
  180. package/dist/ionic/index.esm.js +1 -1
  181. package/dist/ionic/ionic.esm.js +1 -1
  182. package/dist/ionic/{p-96d4814f.system.entry.js → p-0e908476.system.entry.js} +1 -1
  183. package/dist/ionic/{p-11786dc7.entry.js → p-10339dcc.entry.js} +1 -1
  184. package/dist/ionic/{p-f2bfd3d7.entry.js → p-13d4dfe7.entry.js} +1 -1
  185. package/dist/ionic/p-19d9ceb8.system.js +1 -1
  186. package/dist/ionic/{p-afa9f205.system.js → p-1ab2642a.system.js} +1 -1
  187. package/dist/ionic/{p-11a3973f.entry.js → p-1b14f0f8.entry.js} +1 -1
  188. package/dist/ionic/{p-c5acfeb1.entry.js → p-20755eb0.entry.js} +1 -1
  189. package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
  190. package/dist/ionic/{p-6b0ce9b4.system.entry.js → p-25312768.system.entry.js} +1 -1
  191. package/dist/ionic/p-26ff1180.entry.js +4 -0
  192. package/dist/ionic/p-2f449cdf.system.entry.js +4 -0
  193. package/dist/ionic/p-3717e641.system.entry.js +4 -0
  194. package/dist/ionic/{p-745e3339.system.entry.js → p-3af5faf8.system.entry.js} +1 -1
  195. package/dist/ionic/{p-dc71e4ef.system.entry.js → p-3b434dee.system.entry.js} +1 -1
  196. package/dist/ionic/{p-c1701827.entry.js → p-3dc1b0f9.entry.js} +1 -1
  197. package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
  198. package/dist/ionic/{p-a42ef163.system.entry.js → p-4793c14c.system.entry.js} +1 -1
  199. package/dist/ionic/p-51abefb7.system.js +4 -0
  200. package/dist/ionic/{p-10ec9af7.system.entry.js → p-5ff211d0.system.entry.js} +1 -1
  201. package/dist/ionic/{p-1b27ac67.entry.js → p-642ac927.entry.js} +1 -1
  202. package/dist/ionic/{p-a821750c.system.entry.js → p-6e4c7340.system.entry.js} +1 -1
  203. package/dist/ionic/p-71483cbb.entry.js +4 -0
  204. package/dist/ionic/p-73fbf18d.entry.js +4 -0
  205. package/dist/ionic/p-75a3e35b.entry.js +4 -0
  206. package/dist/ionic/p-77d78f68.system.entry.js +4 -0
  207. package/dist/ionic/p-7c0d778d.system.js +4 -0
  208. package/dist/ionic/p-80ad9792.system.js +4 -0
  209. package/dist/ionic/p-85a67421.system.entry.js +4 -0
  210. package/dist/ionic/p-8ad6d643.entry.js +4 -0
  211. package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
  212. package/dist/ionic/p-9164a09d.entry.js +4 -0
  213. package/dist/ionic/{p-b964aba3.entry.js → p-92bfb607.entry.js} +1 -1
  214. package/dist/ionic/{p-9fda6824.system.entry.js → p-964dcdb2.system.entry.js} +1 -1
  215. package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
  216. package/dist/ionic/p-a1bd098f.system.entry.js +4 -0
  217. package/dist/ionic/p-a41eaff2.system.entry.js +4 -0
  218. package/dist/ionic/p-a60a1ce5.js +4 -0
  219. package/dist/ionic/{p-2a583966.entry.js → p-b2b5d761.entry.js} +1 -1
  220. package/dist/ionic/{p-767f1a92.entry.js → p-ba5d9e27.entry.js} +1 -1
  221. package/dist/ionic/{p-3e8d5e53.entry.js → p-bb3fd397.entry.js} +1 -1
  222. package/dist/ionic/{p-a3ca2e64.entry.js → p-bec6ae40.entry.js} +1 -1
  223. package/dist/ionic/{p-2df97906.system.entry.js → p-beed2450.system.entry.js} +1 -1
  224. package/dist/ionic/p-c001b24f.entry.js +4 -0
  225. package/dist/ionic/{p-2894d5f6.entry.js → p-c01803db.entry.js} +1 -1
  226. package/dist/ionic/p-c19bf524.entry.js +4 -0
  227. package/dist/ionic/p-c6176849.system.entry.js +4 -0
  228. package/dist/ionic/p-cf350317.entry.js +4 -0
  229. package/dist/ionic/{p-28740823.system.entry.js → p-d2634efe.system.entry.js} +1 -1
  230. package/dist/ionic/p-d3525765.js +4 -0
  231. package/dist/ionic/{p-ddd48faf.system.entry.js → p-db05ecb6.system.entry.js} +1 -1
  232. package/dist/ionic/p-dc63dccb.system.entry.js +4 -0
  233. package/dist/ionic/{p-22827063.system.entry.js → p-e2737fef.system.entry.js} +1 -1
  234. package/dist/ionic/{p-aee39e06.entry.js → p-ed8402d6.entry.js} +1 -1
  235. package/dist/ionic/p-f0717d98.js +4 -0
  236. package/dist/ionic/p-f0dea903.system.entry.js +4 -0
  237. package/dist/ionic/p-f60807dd.system.entry.js +4 -0
  238. package/dist/ionic/{p-06abe918.system.entry.js → p-f6cae0b2.system.entry.js} +1 -1
  239. package/dist/ionic/p-f8c5008f.entry.js +4 -0
  240. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +1 -0
  241. package/dist/types/components/backdrop/backdrop.d.ts +0 -3
  242. package/dist/types/components/datetime/datetime.d.ts +0 -1
  243. package/dist/types/components/datetime/utils/data.d.ts +11 -7
  244. package/dist/types/components/menu/menu.d.ts +1 -1
  245. package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
  246. package/dist/types/components/picker/picker.d.ts +75 -129
  247. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +4 -0
  248. package/dist/types/components/picker-column/picker-column.d.ts +99 -39
  249. package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
  250. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  251. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  252. package/dist/types/components/refresher/refresher.d.ts +0 -3
  253. package/dist/types/components.d.ts +154 -130
  254. package/dist/types/interface.d.ts +1 -1
  255. package/dist/types/utils/config.d.ts +2 -2
  256. package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
  257. package/dist/types/utils/overlays.d.ts +5 -2
  258. package/hydrate/index.js +1500 -1402
  259. package/package.json +1 -1
  260. package/components/ion-picker-column-internal.d.ts +0 -11
  261. package/components/ion-picker-column-internal.js +0 -9
  262. package/components/ion-picker-internal.js +0 -9
  263. package/components/picker-column-internal.js +0 -390
  264. package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -565
  265. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
  266. package/dist/collection/components/picker-internal/picker-internal.js +0 -544
  267. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
  268. package/dist/esm-es5/button-active-308d3edd.js +0 -4
  269. package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
  270. package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
  271. package/dist/esm-es5/overlays-b33f6bca.js +0 -4
  272. package/dist/esm-es5/swipe-back-a6f386fc.js +0 -4
  273. package/dist/ionic/p-0235067a.js +0 -4
  274. package/dist/ionic/p-12a62500.entry.js +0 -4
  275. package/dist/ionic/p-1c249831.entry.js +0 -4
  276. package/dist/ionic/p-35ce400e.system.js +0 -4
  277. package/dist/ionic/p-3671f1b9.system.js +0 -4
  278. package/dist/ionic/p-47bb15a1.entry.js +0 -4
  279. package/dist/ionic/p-4d145435.entry.js +0 -4
  280. package/dist/ionic/p-507ddbfe.system.entry.js +0 -4
  281. package/dist/ionic/p-648ad047.system.entry.js +0 -4
  282. package/dist/ionic/p-6a6477b2.js +0 -4
  283. package/dist/ionic/p-6ab03751.js +0 -4
  284. package/dist/ionic/p-6c277fa2.system.entry.js +0 -4
  285. package/dist/ionic/p-6fba0ce1.system.entry.js +0 -4
  286. package/dist/ionic/p-7dc892f8.entry.js +0 -4
  287. package/dist/ionic/p-85f48531.entry.js +0 -4
  288. package/dist/ionic/p-8f301ac5.system.entry.js +0 -4
  289. package/dist/ionic/p-932f2259.system.entry.js +0 -4
  290. package/dist/ionic/p-b1f29949.system.entry.js +0 -4
  291. package/dist/ionic/p-b7a2ffc9.system.entry.js +0 -4
  292. package/dist/ionic/p-cd1b920b.entry.js +0 -4
  293. package/dist/ionic/p-da5e2652.entry.js +0 -4
  294. package/dist/ionic/p-ec652bc0.system.entry.js +0 -4
  295. package/dist/ionic/p-f6e9c227.system.js +0 -4
  296. package/dist/ionic/p-f894e0ad.entry.js +0 -4
  297. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +0 -5
  298. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
  299. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
  300. package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
  301. /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
  302. /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
  303. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
  304. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
  305. /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
  306. /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.ios.css +0 -0
  307. /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.md.css +0 -0
  308. /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
  309. /package/dist/esm-es5/{data-775093f5.js → data-6a31d701.js} +0 -0
  310. /package/dist/ionic/{p-87bb3735.system.js → p-7ff4359e.system.js} +0 -0
  311. /package/dist/ionic/{p-18cae04f.js → p-a64accf5.js} +0 -0
  312. /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
  313. /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
  314. /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
  315. /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
@@ -7,43 +7,50 @@ 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-internal: keyboard entry'), () => {
10
+ test.describe(title('picker: 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-internal>
14
- <ion-picker-column-internal></ion-picker-column-internal>
15
- </ion-picker-internal>
13
+ <ion-picker>
14
+ <ion-picker-column></ion-picker-column>
15
+ </ion-picker>
16
16
 
17
17
  <script>
18
- const column = document.querySelector('ion-picker-column-internal');
19
- column.items = [
18
+ const column = document.querySelector('ion-picker-column');
19
+ column.numericInput = true;
20
+ const items = [
20
21
  { text: '01', value: 1 },
21
22
  { text: '02', value: 2 },
22
23
  { text: '03', value: 3 },
23
24
  { text: '04', value: 4 },
24
25
  { text: '05', value: 5 }
25
26
  ];
26
- column.value = 5;
27
- column.numericInput = true;
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
+ });
28
35
  </script>
29
36
  `, config);
30
- const column = page.locator('ion-picker-column-internal');
37
+ const column = page.locator('ion-picker-column');
31
38
  const ionChange = await page.spyOnEvent('ionChange');
32
- await column.focus();
39
+ await column.evaluate((el) => el.setFocus());
33
40
  await page.keyboard.press('Digit2');
34
- await expect(ionChange).toHaveReceivedEventDetail({ text: '02', value: 2 });
41
+ await expect(ionChange).toHaveReceivedEventDetail({ value: 2 });
35
42
  await expect(column).toHaveJSProperty('value', 2);
36
43
  });
37
44
  test('should scroll to and update the value prop for multiple columns', async ({ page }) => {
38
45
  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>
46
+ <ion-picker>
47
+ <ion-picker-column id="first"></ion-picker-column>
48
+ <ion-picker-column id="second"></ion-picker-column>
49
+ </ion-picker>
43
50
 
44
51
  <script>
45
- const firstColumn = document.querySelector('ion-picker-column-internal#first');
46
- firstColumn.items = [
52
+ const firstColumn = document.querySelector('ion-picker-column#first');
53
+ const firstItems = [
47
54
  { text: '01', value: 1 },
48
55
  { text: '02', value: 2 },
49
56
  { text: '03', value: 3 },
@@ -53,8 +60,16 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
53
60
  firstColumn.value = 5;
54
61
  firstColumn.numericInput = true;
55
62
 
56
- const secondColumn = document.querySelector('ion-picker-column-internal#second');
57
- secondColumn.items = [
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 = [
58
73
  { text: '20', value: 20 },
59
74
  { text: '21', value: 21 },
60
75
  { text: '22', value: 22 },
@@ -63,11 +78,19 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
63
78
  ];
64
79
  secondColumn.value = 22;
65
80
  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
+ });
66
89
  </script>
67
90
  `, 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');
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');
71
94
  const firstIonChange = await firstColumn.spyOnEvent('ionChange');
72
95
  const secondIonChange = await secondColumn.spyOnEvent('ionChange');
73
96
  const box = await highlight.boundingBox();
@@ -77,21 +100,21 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
77
100
  await expect(firstColumn).toHaveClass(/picker-column-active/);
78
101
  await expect(secondColumn).toHaveClass(/picker-column-active/);
79
102
  await page.keyboard.press('Digit2');
80
- await expect(firstIonChange).toHaveReceivedEventDetail({ text: '02', value: 2 });
103
+ await expect(firstIonChange).toHaveReceivedEventDetail({ value: 2 });
81
104
  await expect(firstColumn).toHaveJSProperty('value', 2);
82
105
  await page.keyboard.press('Digit2+Digit4');
83
- await expect(secondIonChange).toHaveReceivedEventDetail({ text: '24', value: 24 });
106
+ await expect(secondIonChange).toHaveReceivedEventDetail({ value: 24 });
84
107
  await expect(secondColumn).toHaveJSProperty('value', 24);
85
108
  });
86
109
  test('should select 00', async ({ page }) => {
87
110
  await page.setContent(`
88
- <ion-picker-internal>
89
- <ion-picker-column-internal></ion-picker-column-internal>
90
- </ion-picker-internal>
111
+ <ion-picker>
112
+ <ion-picker-column></ion-picker-column>
113
+ </ion-picker>
91
114
 
92
115
  <script>
93
- const column = document.querySelector('ion-picker-column-internal');
94
- column.items = [
116
+ const column = document.querySelector('ion-picker-column');
117
+ const items = [
95
118
  { text: '00', value: 12 },
96
119
  { text: '01', value: 1 },
97
120
  { text: '02', value: 2 },
@@ -101,13 +124,21 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
101
124
  ];
102
125
  column.value = 5;
103
126
  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
+ });
104
135
  </script>
105
136
  `, config);
106
- const column = page.locator('ion-picker-column-internal');
137
+ const column = page.locator('ion-picker-column');
107
138
  const ionChange = await page.spyOnEvent('ionChange');
108
- await column.focus();
139
+ await column.evaluate((el) => el.setFocus());
109
140
  await page.keyboard.press('Digit0');
110
- await expect(ionChange).toHaveReceivedEventDetail({ text: '00', value: 12 });
141
+ await expect(ionChange).toHaveReceivedEventDetail({ value: 12 });
111
142
  await expect(column).toHaveJSProperty('value', 12);
112
143
  });
113
144
  });
@@ -54,15 +54,48 @@
54
54
  * }
55
55
  */
56
56
  :host {
57
+ display: flex;
58
+ align-items: center;
59
+ justify-content: center;
60
+ max-width: 100%;
61
+ height: 200px;
62
+ font-size: 22px;
63
+ text-align: center;
64
+ }
65
+
66
+ .picker-opts {
67
+ /**
68
+ * This padding must be set here and not on the
69
+ * host to ensure that the focus highlight on the
70
+ * column is not overly narrow.
71
+ */
57
72
  -webkit-padding-start: 16px;
58
73
  padding-inline-start: 16px;
59
74
  -webkit-padding-end: 16px;
60
75
  padding-inline-end: 16px;
61
76
  padding-top: 0px;
62
77
  padding-bottom: 0px;
63
- height: 200px;
78
+ /**
79
+ * When using reactive data, such as in datetime's
80
+ * wheel picker, there may be layout shifts between
81
+ * individual columns in a picker as the columns
82
+ * shrink to fit the widest item in the column.
83
+ * Setting a minimum width avoids this layout shifting.
84
+ *
85
+ * Note that we need this min-width set on the same
86
+ * element as the vertical padding (i.e. not on the
87
+ * host).
88
+ */
89
+ min-width: 26px;
90
+ max-height: 200px;
64
91
  outline: none;
65
- font-size: 22px;
92
+ /**
93
+ * Added so that text-align can be set on the host
94
+ * from external components. For example, datetime
95
+ * changes the alignment of specific columns in its
96
+ * wheel pickers.
97
+ */
98
+ text-align: inherit;
66
99
  scroll-snap-type: y mandatory;
67
100
  /**
68
101
  * Need to explicitly set overflow-x: hidden
@@ -71,17 +104,9 @@
71
104
  overflow-x: hidden;
72
105
  overflow-y: scroll;
73
106
  scrollbar-width: none;
74
- text-align: center;
75
107
  }
76
108
 
77
- /**
78
- * Hide scrollbars on Chrome and Safari
79
- */
80
- :host::-webkit-scrollbar {
81
- display: none;
82
- }
83
-
84
- :host .picker-item {
109
+ .picker-item-empty {
85
110
  padding-left: 0;
86
111
  padding-right: 0;
87
112
  padding-top: 0;
@@ -103,94 +128,82 @@
103
128
  text-align: inherit;
104
129
  text-overflow: ellipsis;
105
130
  white-space: nowrap;
106
- cursor: pointer;
107
131
  overflow: hidden;
108
- scroll-snap-align: center;
109
132
  }
110
133
 
111
- :host .picker-item-empty,
112
- :host .picker-item[disabled] {
113
- cursor: default;
134
+ /**
135
+ * Hide scrollbars on Chrome and Safari
136
+ */
137
+ .picker-opts::-webkit-scrollbar {
138
+ display: none;
114
139
  }
115
140
 
116
- :host .picker-item-empty,
117
- :host(:not([disabled])) .picker-item[disabled] {
141
+ ::slotted(ion-picker-column-option) {
142
+ display: block;
143
+ scroll-snap-align: center;
144
+ }
145
+
146
+ .picker-item-empty,
147
+ :host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled) {
118
148
  scroll-snap-align: none;
119
149
  }
120
150
 
121
- :host([disabled]) {
122
- overflow-y: hidden;
151
+ ::slotted([slot=prefix]), ::slotted([slot=suffix]) {
152
+ max-width: 200px;
153
+ text-overflow: ellipsis;
154
+ white-space: nowrap;
155
+ overflow: hidden;
123
156
  }
124
157
 
125
- :host .picker-item[disabled] {
126
- opacity: 0.4;
158
+ ::slotted([slot=prefix]) {
159
+ /**
160
+ * This is added in addition to the column's own padding so that there is white
161
+ * space between the slot and the column's focus highlight.
162
+ */
163
+ -webkit-padding-start: 16px;
164
+ padding-inline-start: 16px;
165
+ -webkit-padding-end: 16px;
166
+ padding-inline-end: 16px;
167
+ padding-top: 0;
168
+ padding-bottom: 0;
169
+ justify-content: end;
127
170
  }
128
171
 
129
- :host(.picker-column-active) .picker-item.picker-item-active {
130
- color: var(--ion-color-base);
172
+ ::slotted([slot=suffix]) {
173
+ /**
174
+ * This is added in addition to the column's own padding so that there is white
175
+ * space between the slot and the column's focus highlight.
176
+ */
177
+ -webkit-padding-start: 16px;
178
+ padding-inline-start: 16px;
179
+ -webkit-padding-end: 16px;
180
+ padding-inline-end: 16px;
181
+ padding-top: 0;
182
+ padding-bottom: 0;
183
+ justify-content: start;
184
+ }
185
+
186
+ :host(.picker-column-disabled) .picker-opts {
187
+ overflow-y: hidden;
188
+ }
189
+
190
+ /**
191
+ * When the column is disabled, none of the options
192
+ * should be interactive. However, we do not disable
193
+ * the buttons because that would require overriding the
194
+ * app's preference for each option. In this case,
195
+ * the picker column interactive as a whole is
196
+ * disabled, not individual options.
197
+ */
198
+ :host(.picker-column-disabled) ::slotted(ion-picker-column-option) {
199
+ cursor: default;
200
+ opacity: 0.4;
201
+ pointer-events: none;
131
202
  }
132
203
 
133
204
  @media (any-hover: hover) {
134
- :host(:focus) {
205
+ :host(:focus) .picker-opts {
135
206
  outline: none;
136
207
  background: rgba(var(--ion-color-base-rgb), 0.2);
137
208
  }
138
- }
139
- /**
140
- * Convert a font size to a dynamic font size.
141
- * Fonts that participate in Dynamic Type should use
142
- * dynamic font sizes.
143
- * @param size - The initial font size including the unit (i.e. px or pt)
144
- * @param unit (optional) - The unit to convert to. Use this if you want to
145
- * convert to a unit other than $baselineUnit.
146
- */
147
- /**
148
- * Convert a font size to a dynamic font size but impose
149
- * a maximum font size.
150
- * @param size - The initial font size including the unit (i.e. px or pt)
151
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
152
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
153
- * convert to a unit other than $baselineUnit.
154
- */
155
- /**
156
- * Convert a font size to a dynamic font size but impose
157
- * a minimum font size.
158
- * @param size - The initial font size including the unit (i.e. px or pt)
159
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
160
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
161
- * convert to a unit other than $baselineUnit.
162
- */
163
- /**
164
- * Convert a font size to a dynamic font size but impose
165
- * maximum and minimum font sizes.
166
- * @param size - The initial font size including the unit (i.e. px or pt)
167
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
168
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
169
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
170
- * convert to a unit other than $baselineUnit.
171
- */
172
- /**
173
- * A heuristic that applies CSS to tablet
174
- * viewports.
175
- *
176
- * Usage:
177
- * @include tablet-viewport() {
178
- * :host {
179
- * background-color: green;
180
- * }
181
- * }
182
- */
183
- /**
184
- * A heuristic that applies CSS to mobile
185
- * viewports (i.e. phones, not tablets).
186
- *
187
- * Usage:
188
- * @include mobile-viewport() {
189
- * :host {
190
- * background-color: blue;
191
- * }
192
- * }
193
- */
194
- :host .picker-item-active {
195
- color: var(--ion-color-base);
196
209
  }