@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
@@ -61,6 +61,8 @@
61
61
  *
62
62
  * @prop --wheel-highlight-background: The background of the highlight under the selected
63
63
  * item when using a wheel style layout, or in the month/year picker for grid style layouts.
64
+ * @prop --wheel-highlight-border-radius: The border radius of the highlight under the selected
65
+ * item when using a wheel style layout, or in the month/year picker for grid style layouts.
64
66
  * @prop --wheel-fade-background-rgb: The color of the gradient covering non-selected items
65
67
  * when using a wheel style layout, or in the month/year picker for grid style layouts. Must
66
68
  * be in RGB format, e.g. `255, 255, 255`.
@@ -71,19 +73,6 @@
71
73
  overflow: hidden;
72
74
  }
73
75
 
74
- /**
75
- * When using the wheel picker to switch
76
- * between months, sometimes the allowed
77
- * dates may be filtered. As a result, it
78
- * is possible to get a layout shift as
79
- * the picker column will shrink to fit the
80
- * widest item in the column. Setting a minimum
81
- * width avoids this layout shifting.
82
- */
83
- ion-picker-column-internal {
84
- min-width: 26px;
85
- }
86
-
87
76
  :host(.datetime-size-fixed) {
88
77
  width: auto;
89
78
  height: auto;
@@ -94,7 +83,7 @@ ion-picker-column-internal {
94
83
  }
95
84
 
96
85
  /**
97
- * This ensures that the picker is apppropriately
86
+ * This ensures that the picker is appropriately
98
87
  * sized and never truncates the text.
99
88
  */
100
89
  :host(.datetime-size-fixed.datetime-prefer-wheel) {
@@ -317,24 +306,8 @@ ion-picker-column-internal {
317
306
  justify-content: space-between;
318
307
  }
319
308
 
320
- :host .calendar-action-buttons ion-item,
321
309
  :host .calendar-action-buttons ion-button {
322
- --background: translucent;
323
- }
324
-
325
- :host .calendar-action-buttons ion-item ion-label {
326
- display: flex;
327
- align-items: center;
328
- width: auto;
329
- }
330
-
331
- :host .calendar-action-buttons ion-item ion-icon {
332
- -webkit-padding-start: 4px;
333
- padding-inline-start: 4px;
334
- -webkit-padding-end: 0;
335
- padding-inline-end: 0;
336
- padding-top: 0;
337
- padding-bottom: 0;
310
+ --background: transparent;
338
311
  }
339
312
 
340
313
  :host .calendar-days-of-week {
@@ -516,8 +489,72 @@ ion-picker-column-internal {
516
489
  position: static;
517
490
  }
518
491
 
519
- :host(.show-month-and-year) .calendar-action-buttons ion-item {
520
- --color: var(--ion-color-base);
492
+ :host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
493
+ color: var(--ion-color-base);
494
+ }
495
+
496
+ .calendar-month-year {
497
+ min-width: 0;
498
+ }
499
+
500
+ .calendar-month-year-toggle {
501
+ font-family: inherit;
502
+ font-size: inherit;
503
+ font-style: inherit;
504
+ font-weight: inherit;
505
+ letter-spacing: inherit;
506
+ text-decoration: inherit;
507
+ text-indent: inherit;
508
+ text-overflow: inherit;
509
+ text-transform: inherit;
510
+ text-align: inherit;
511
+ white-space: inherit;
512
+ color: inherit;
513
+ position: relative;
514
+ border: 0;
515
+ outline: none;
516
+ background: transparent;
517
+ cursor: pointer;
518
+ z-index: 1;
519
+ }
520
+ .calendar-month-year-toggle::after {
521
+ left: 0;
522
+ right: 0;
523
+ top: 0;
524
+ bottom: 0;
525
+ position: absolute;
526
+ content: "";
527
+ opacity: 0;
528
+ transition: opacity 15ms linear, background-color 15ms linear;
529
+ z-index: -1;
530
+ }
531
+ .calendar-month-year-toggle.ion-focused::after {
532
+ background: currentColor;
533
+ }
534
+ .calendar-month-year-toggle:disabled {
535
+ opacity: 0.3;
536
+ pointer-events: none;
537
+ }
538
+
539
+ .calendar-month-year-toggle ion-icon {
540
+ -webkit-padding-start: 4px;
541
+ padding-inline-start: 4px;
542
+ -webkit-padding-end: 0;
543
+ padding-inline-end: 0;
544
+ padding-top: 0;
545
+ padding-bottom: 0;
546
+ flex-shrink: 0;
547
+ }
548
+
549
+ .calendar-month-year-toggle #toggle-wrapper {
550
+ display: inline-flex;
551
+ align-items: center;
552
+ }
553
+
554
+ ion-picker {
555
+ --highlight-background: var(--wheel-highlight-background);
556
+ --highlight-border-radius: var(--wheel-highlight-border-radius);
557
+ --fade-background-rgb: var(--wheel-fade-background-rgb);
521
558
  }
522
559
 
523
560
  /**
@@ -601,15 +638,36 @@ ion-picker-column-internal {
601
638
  font-size: 2.125rem;
602
639
  }
603
640
 
604
- :host .datetime-calendar .calendar-action-buttons ion-item {
605
- --padding-start: 20px;
606
- }
607
-
608
- :host .calendar-action-buttons ion-item,
609
641
  :host .calendar-action-buttons ion-button {
610
642
  --color: var(--ion-color-step-650, #595959);
611
643
  }
612
644
 
645
+ .calendar-month-year-toggle {
646
+ -webkit-padding-start: 20px;
647
+ padding-inline-start: 20px;
648
+ -webkit-padding-end: 16px;
649
+ padding-inline-end: 16px;
650
+ padding-top: 12px;
651
+ padding-bottom: 12px;
652
+ min-height: 48px;
653
+ background: transparent;
654
+ color: var(--ion-color-step-650, #595959);
655
+ z-index: 1;
656
+ }
657
+ .calendar-month-year-toggle.ion-focused::after {
658
+ opacity: 0.04;
659
+ }
660
+
661
+ .calendar-month-year-toggle ion-ripple-effect {
662
+ color: currentColor;
663
+ }
664
+
665
+ @media (any-hover: hover) {
666
+ .calendar-month-year-toggle.ion-activatable:not(.ion-focused):hover::after {
667
+ background: currentColor;
668
+ opacity: 0.04;
669
+ }
670
+ }
613
671
  :host .calendar-days-of-week {
614
672
  -webkit-padding-start: 10px;
615
673
  padding-inline-start: 10px;
@@ -38,7 +38,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
38
38
  `, config);
39
39
  const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab';
40
40
  const datetime = page.locator('ion-datetime');
41
- const monthYearButton = page.locator('.calendar-month-year ion-item');
41
+ const monthYearButton = page.locator('.calendar-month-year-toggle');
42
42
  const prevButton = page.locator('.calendar-next-prev ion-button:nth-child(1)');
43
43
  const nextButton = page.locator('.calendar-next-prev ion-button:nth-child(2)');
44
44
  await page.keyboard.press(tabKey);
@@ -2,7 +2,6 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { newSpecPage } from "@stencil/core/testing";
5
- import { Item } from "../../../item/item";
6
5
  import { Datetime } from "../../datetime";
7
6
  describe('datetime', () => {
8
7
  beforeEach(() => {
@@ -18,25 +17,23 @@ describe('datetime', () => {
18
17
  let page;
19
18
  beforeEach(async () => {
20
19
  page = await newSpecPage({
21
- components: [Datetime, Item],
20
+ components: [Datetime],
22
21
  html: `<ion-datetime></ion-datetime>`,
23
22
  });
24
23
  });
25
24
  it('should have aria-label "Show year picker" when collapsed', async () => {
26
25
  const datetime = page.body.querySelector('ion-datetime');
27
- const item = datetime.shadowRoot.querySelector('.calendar-month-year ion-item');
28
- const monthYearToggleBtn = item.shadowRoot.querySelector('button');
26
+ const monthYearToggleBtn = datetime.shadowRoot.querySelector('.calendar-month-year .calendar-month-year-toggle');
29
27
  const ariaLabel = monthYearToggleBtn.getAttribute('aria-label');
30
28
  expect(ariaLabel).toContain('Show year picker');
31
29
  });
32
30
  it('should have aria-label "Hide year picker" when expanded', async () => {
33
31
  const datetime = page.body.querySelector('ion-datetime');
34
- const item = datetime.shadowRoot.querySelector('.calendar-month-year ion-item');
35
- item.click();
32
+ const monthYearToggleBtn = datetime.shadowRoot.querySelector('.calendar-month-year .calendar-month-year-toggle');
33
+ monthYearToggleBtn.click();
36
34
  await page.waitForChanges();
37
- const itemAfter = datetime.shadowRoot.querySelector('.calendar-month-year ion-item');
38
- const monthYearToggleBtn = itemAfter.shadowRoot.querySelector('button');
39
- const ariaLabel = monthYearToggleBtn.getAttribute('aria-label');
35
+ const monthYearToggleBtnAfter = datetime.shadowRoot.querySelector('.calendar-month-year .calendar-month-year-toggle');
36
+ const ariaLabel = monthYearToggleBtnAfter.getAttribute('aria-label');
40
37
  expect(ariaLabel).toContain('Hide year picker');
41
38
  });
42
39
  });
@@ -372,4 +372,14 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
372
372
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-focus-calendar-day`));
373
373
  });
374
374
  });
375
+ test.describe(title('datetime: calendar month toggle'), () => {
376
+ test('should have focus styles', async ({ page }) => {
377
+ await page.setContent('<ion-datetime value="2021-01-01"></ion-datetime>', config);
378
+ const datetime = page.locator('ion-datetime');
379
+ await page.waitForSelector('.datetime-ready');
380
+ const monthYearToggle = datetime.locator('.calendar-month-year-toggle');
381
+ monthYearToggle.evaluate((el) => el.classList.add('ion-focused'));
382
+ await expect(datetime).toHaveScreenshot(screenshot(`date-month-toggle-focused`));
383
+ });
384
+ });
375
385
  });
@@ -13,7 +13,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
13
13
  });
14
14
  test('should switch the calendar header when moving to a month with a different number of days', async ({ page, }) => {
15
15
  const monthYearToggle = page.locator('ion-datetime .calendar-month-year');
16
- const monthColumnItems = page.locator('ion-datetime .month-column .picker-item:not(.picker-item-empty)');
16
+ const monthColumnItems = page.locator('ion-datetime .month-column ion-picker-column-option');
17
17
  await expect(monthYearToggle).toContainText('January 2022');
18
18
  await monthYearToggle.click();
19
19
  await page.waitForChanges();
@@ -24,7 +24,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
24
24
  });
25
25
  test('should adjust the selected day when moving to a month with a different number of days', async ({ page }) => {
26
26
  const monthYearToggle = page.locator('ion-datetime .calendar-month-year');
27
- const monthColumnItems = page.locator('ion-datetime .month-column .picker-item:not(.picker-item-empty)');
27
+ const monthColumnItems = page.locator('ion-datetime .month-column ion-picker-column-option');
28
28
  const datetime = page.locator('ion-datetime');
29
29
  const ionChange = await page.spyOnEvent('ionChange');
30
30
  await monthYearToggle.click();
@@ -4,8 +4,8 @@
4
4
  import { h } from "@stencil/core";
5
5
  import { newSpecPage } from "@stencil/core/testing";
6
6
  import { Datetime } from "../../../datetime/datetime";
7
- import { PickerColumnInternal } from "../../../picker-column-internal/picker-column-internal";
8
- import { PickerInternal } from "../../../picker-internal/picker-internal";
7
+ import { PickerColumn } from "../../../picker-column/picker-column";
8
+ import { Picker } from "../../../picker/picker";
9
9
  describe('ion-datetime disabled', () => {
10
10
  beforeEach(() => {
11
11
  // IntersectionObserver isn't available in test environment
@@ -19,12 +19,12 @@ describe('ion-datetime disabled', () => {
19
19
  });
20
20
  it('picker should be disabled in prefer wheel mode', async () => {
21
21
  const page = await newSpecPage({
22
- components: [Datetime, PickerColumnInternal, PickerInternal],
22
+ components: [Datetime, PickerColumn, Picker],
23
23
  template: () => (h("ion-datetime", { id: "inline-datetime-wheel", disabled: true, "prefer-wheel": true, value: "2022-04-21T00:00:00" })),
24
24
  });
25
25
  await page.waitForChanges();
26
26
  const datetime = page.body.querySelector('ion-datetime');
27
- const columns = datetime.shadowRoot.querySelectorAll('ion-picker-column-internal');
27
+ const columns = datetime.shadowRoot.querySelectorAll('ion-picker-column');
28
28
  await expect(columns.length).toEqual(4);
29
29
  columns.forEach((column) => {
30
30
  expect(column.disabled).toBe(true);
@@ -85,10 +85,10 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
85
85
  });
86
86
  test('should correctly localize year column data', async ({ page }) => {
87
87
  await page.setContent(`
88
- <ion-datetime prefer-wheel="true" locale="ar-EG" presentation="date" value="2022-01-01"></ion-datetime>
88
+ <ion-datetime prefer-wheel="true" locale="ar-EG" presentation="date" value="2022-01-01" max="2022" min="2022"></ion-datetime>
89
89
  `, config);
90
90
  await page.waitForSelector('.datetime-ready');
91
- const datetimeYear = page.locator('ion-datetime .year-column .picker-item[data-value="2022"]');
91
+ const datetimeYear = page.locator('ion-datetime .year-column ion-picker-column-option').nth(0);
92
92
  await expect(datetimeYear).toHaveText('٢٠٢٢');
93
93
  });
94
94
  });
@@ -81,8 +81,8 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
81
81
  const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent');
82
82
  await page.click('.time-body');
83
83
  await ionPopoverDidPresent.next();
84
- const hours = page.locator('ion-popover ion-picker-column-internal:nth-child(1) .picker-item:not(.picker-item-empty)');
85
- const minutes = page.locator('ion-popover ion-picker-column-internal:nth-child(2) .picker-item:not(.picker-item-empty)');
84
+ const hours = page.locator('ion-popover ion-picker-column:nth-child(1) ion-picker-column-option');
85
+ const minutes = page.locator('ion-popover ion-picker-column:nth-child(2) ion-picker-column-option');
86
86
  expect(await hours.count()).toBe(12);
87
87
  expect(await minutes.count()).toBe(60);
88
88
  });
@@ -159,7 +159,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
159
159
  value="2022-04-25T08:30:00"
160
160
  ></ion-datetime>
161
161
  `, config);
162
- const hourPickerItems = page.locator('ion-datetime ion-picker-column-internal:first-of-type .picker-item:not(.picker-item-empty)');
162
+ const hourPickerItems = page.locator('ion-datetime ion-picker-column:first-of-type ion-picker-column-option');
163
163
  await expect(hourPickerItems).toHaveText(['8', '9', '10', '11']);
164
164
  });
165
165
  test('should include 12PM when minimum is greater than 12', async ({ page }) => {
@@ -175,7 +175,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
175
175
  value="2022-07-29T12:00:00"
176
176
  ></ion-datetime>
177
177
  `, config);
178
- const hourPickerItems = page.locator('ion-datetime ion-picker-column-internal:first-of-type .picker-item:not(.picker-item-empty)');
178
+ const hourPickerItems = page.locator('ion-datetime ion-picker-column:first-of-type ion-picker-column-option');
179
179
  await expect(hourPickerItems).toHaveText(['12', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11']);
180
180
  });
181
181
  test.describe('minmax value adjustment when out of bounds', () => {
@@ -218,7 +218,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
218
218
  ></ion-datetime>
219
219
  `, config);
220
220
  const datetime = page.locator('ion-datetime');
221
- const monthColumnItems = page.locator('ion-datetime .month-column .picker-item:not(.picker-item-empty)');
221
+ const monthColumnItems = page.locator('ion-datetime .month-column ion-picker-column-option');
222
222
  const ionChange = await page.spyOnEvent('ionChange');
223
223
  await page.waitForSelector('.datetime-ready');
224
224
  await monthColumnItems.nth(0).click(); // switch to January
@@ -258,7 +258,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
258
258
  const timeButton = page.locator('ion-datetime .time-body');
259
259
  await timeButton.click();
260
260
  await ionPopoverDidPresent.next();
261
- const hours = page.locator('ion-popover ion-picker-column-internal:nth-child(1) .picker-item:not(.picker-item-empty)');
261
+ const hours = page.locator('ion-popover ion-picker-column:nth-child(1) ion-picker-column-option');
262
262
  await expect(await hours.count()).toBe(4);
263
263
  });
264
264
  });
@@ -16,7 +16,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
16
16
  test('should hide the footer when picker is open', async ({ page }) => {
17
17
  const datetimeFooter = page.locator('#date-time .datetime-footer');
18
18
  await expect(datetimeFooter).toBeVisible();
19
- const pickerButton = page.locator('#date-time .calendar-month-year > ion-item');
19
+ const pickerButton = page.locator('#date-time .calendar-month-year > .calendar-month-year-toggle');
20
20
  await pickerButton.click();
21
21
  await page.waitForChanges();
22
22
  await expect(datetimeFooter).not.toBeVisible();