@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
@@ -61,8 +61,6 @@
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.
66
64
  * @prop --wheel-fade-background-rgb: The color of the gradient covering non-selected items
67
65
  * when using a wheel style layout, or in the month/year picker for grid style layouts. Must
68
66
  * be in RGB format, e.g. `255, 255, 255`.
@@ -73,6 +71,19 @@
73
71
  overflow: hidden;
74
72
  }
75
73
 
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
+
76
87
  :host(.datetime-size-fixed) {
77
88
  width: auto;
78
89
  height: auto;
@@ -83,7 +94,7 @@
83
94
  }
84
95
 
85
96
  /**
86
- * This ensures that the picker is appropriately
97
+ * This ensures that the picker is apppropriately
87
98
  * sized and never truncates the text.
88
99
  */
89
100
  :host(.datetime-size-fixed.datetime-prefer-wheel) {
@@ -306,8 +317,24 @@
306
317
  justify-content: space-between;
307
318
  }
308
319
 
320
+ :host .calendar-action-buttons ion-item,
309
321
  :host .calendar-action-buttons ion-button {
310
- --background: transparent;
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;
311
338
  }
312
339
 
313
340
  :host .calendar-days-of-week {
@@ -489,72 +516,8 @@
489
516
  position: static;
490
517
  }
491
518
 
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);
519
+ :host(.show-month-and-year) .calendar-action-buttons ion-item {
520
+ --color: var(--ion-color-base);
558
521
  }
559
522
 
560
523
  /**
@@ -638,36 +601,15 @@ ion-picker {
638
601
  font-size: 2.125rem;
639
602
  }
640
603
 
641
- :host .calendar-action-buttons ion-button {
642
- --color: var(--ion-color-step-650, #595959);
643
- }
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;
604
+ :host .datetime-calendar .calendar-action-buttons ion-item {
605
+ --padding-start: 20px;
659
606
  }
660
607
 
661
- .calendar-month-year-toggle ion-ripple-effect {
662
- color: currentColor;
608
+ :host .calendar-action-buttons ion-item,
609
+ :host .calendar-action-buttons ion-button {
610
+ --color: var(--ion-color-step-650, #595959);
663
611
  }
664
612
 
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
- }
671
613
  :host .calendar-days-of-week {
672
614
  -webkit-padding-start: 10px;
673
615
  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-toggle');
41
+ const monthYearButton = page.locator('.calendar-month-year ion-item');
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,6 +2,7 @@
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";
5
6
  import { Datetime } from "../../datetime";
6
7
  describe('datetime', () => {
7
8
  beforeEach(() => {
@@ -17,23 +18,25 @@ describe('datetime', () => {
17
18
  let page;
18
19
  beforeEach(async () => {
19
20
  page = await newSpecPage({
20
- components: [Datetime],
21
+ components: [Datetime, Item],
21
22
  html: `<ion-datetime></ion-datetime>`,
22
23
  });
23
24
  });
24
25
  it('should have aria-label "Show year picker" when collapsed', async () => {
25
26
  const datetime = page.body.querySelector('ion-datetime');
26
- const monthYearToggleBtn = datetime.shadowRoot.querySelector('.calendar-month-year .calendar-month-year-toggle');
27
+ const item = datetime.shadowRoot.querySelector('.calendar-month-year ion-item');
28
+ const monthYearToggleBtn = item.shadowRoot.querySelector('button');
27
29
  const ariaLabel = monthYearToggleBtn.getAttribute('aria-label');
28
30
  expect(ariaLabel).toContain('Show year picker');
29
31
  });
30
32
  it('should have aria-label "Hide year picker" when expanded', async () => {
31
33
  const datetime = page.body.querySelector('ion-datetime');
32
- const monthYearToggleBtn = datetime.shadowRoot.querySelector('.calendar-month-year .calendar-month-year-toggle');
33
- monthYearToggleBtn.click();
34
+ const item = datetime.shadowRoot.querySelector('.calendar-month-year ion-item');
35
+ item.click();
34
36
  await page.waitForChanges();
35
- const monthYearToggleBtnAfter = datetime.shadowRoot.querySelector('.calendar-month-year .calendar-month-year-toggle');
36
- const ariaLabel = monthYearToggleBtnAfter.getAttribute('aria-label');
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');
37
40
  expect(ariaLabel).toContain('Hide year picker');
38
41
  });
39
42
  });
@@ -372,14 +372,4 @@ 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
- });
385
375
  });
@@ -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 ion-picker-column-option');
16
+ const monthColumnItems = page.locator('ion-datetime .month-column .picker-item:not(.picker-item-empty)');
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 ion-picker-column-option');
27
+ const monthColumnItems = page.locator('ion-datetime .month-column .picker-item:not(.picker-item-empty)');
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 { PickerColumn } from "../../../picker-column/picker-column";
8
- import { Picker } from "../../../picker/picker";
7
+ import { PickerColumnInternal } from "../../../picker-column-internal/picker-column-internal";
8
+ import { PickerInternal } from "../../../picker-internal/picker-internal";
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, PickerColumn, Picker],
22
+ components: [Datetime, PickerColumnInternal, PickerInternal],
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');
27
+ const columns = datetime.shadowRoot.querySelectorAll('ion-picker-column-internal');
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" max="2022" min="2022"></ion-datetime>
88
+ <ion-datetime prefer-wheel="true" locale="ar-EG" presentation="date" value="2022-01-01"></ion-datetime>
89
89
  `, config);
90
90
  await page.waitForSelector('.datetime-ready');
91
- const datetimeYear = page.locator('ion-datetime .year-column ion-picker-column-option').nth(0);
91
+ const datetimeYear = page.locator('ion-datetime .year-column .picker-item[data-value="2022"]');
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:nth-child(1) ion-picker-column-option');
85
- const minutes = page.locator('ion-popover ion-picker-column:nth-child(2) ion-picker-column-option');
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)');
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:first-of-type ion-picker-column-option');
162
+ const hourPickerItems = page.locator('ion-datetime ion-picker-column-internal:first-of-type .picker-item:not(.picker-item-empty)');
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:first-of-type ion-picker-column-option');
178
+ const hourPickerItems = page.locator('ion-datetime ion-picker-column-internal:first-of-type .picker-item:not(.picker-item-empty)');
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 ion-picker-column-option');
221
+ const monthColumnItems = page.locator('ion-datetime .month-column .picker-item:not(.picker-item-empty)');
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:nth-child(1) ion-picker-column-option');
261
+ const hours = page.locator('ion-popover ion-picker-column-internal:nth-child(1) .picker-item:not(.picker-item-empty)');
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 > .calendar-month-year-toggle');
19
+ const pickerButton = page.locator('#date-time .calendar-month-year > ion-item');
20
20
  await pickerButton.click();
21
21
  await page.waitForChanges();
22
22
  await expect(datetimeFooter).not.toBeVisible();