@ionic/core 7.5.8-dev.11701876182.1e71e7a0 → 7.5.8-dev.11702056888.11188f48

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 (553) hide show
  1. package/components/animation.js +11 -12
  2. package/components/backdrop.js +0 -12
  3. package/components/checkbox.js +3 -5
  4. package/components/data.js +1 -1
  5. package/components/gesture-controller.js +1 -1
  6. package/components/index4.js +12 -10
  7. package/components/index5.js +22 -0
  8. package/components/input-shims.js +7 -12
  9. package/components/input.utils.js +2 -3
  10. package/components/ion-content.js +1 -1
  11. package/components/ion-datetime.js +40 -64
  12. package/components/ion-infinite-scroll.js +3 -11
  13. package/components/ion-input.js +8 -31
  14. package/components/ion-modal.js +2 -2
  15. package/components/ion-picker-column-option.d.ts +11 -0
  16. package/components/ion-picker-column-option.js +9 -0
  17. package/components/ion-picker-column.js +2 -2
  18. package/components/ion-picker-legacy-column.d.ts +11 -0
  19. package/components/ion-picker-legacy-column.js +9 -0
  20. package/components/{ion-picker-internal.d.ts → ion-picker-legacy.d.ts} +4 -4
  21. package/components/ion-picker-legacy.js +309 -0
  22. package/components/ion-picker.js +1 -309
  23. package/components/ion-range.js +3 -5
  24. package/components/ion-select.js +29 -44
  25. package/components/ion-skeleton-text.js +1 -14
  26. package/components/ion-textarea.js +7 -30
  27. package/components/ion-toast.js +74 -419
  28. package/components/ion-toggle.js +3 -5
  29. package/components/item.js +2 -2
  30. package/components/label.js +2 -2
  31. package/components/overlays.js +12 -6
  32. package/components/picker-column-option.js +122 -0
  33. package/components/picker-column.js +351 -322
  34. package/components/picker-column2.js +379 -0
  35. package/components/{picker-internal.js → picker.js} +29 -22
  36. package/components/radio-group.js +0 -2
  37. package/components/radio.js +5 -45
  38. package/dist/cjs/{animation-9b401d39.js → animation-cc40e39c.js} +12 -13
  39. package/dist/cjs/{button-active-a5185907.js → button-active-9d7e0640.js} +2 -2
  40. package/dist/cjs/{capacitor-c04564bf.js → capacitor-46980811.js} +1 -1
  41. package/dist/cjs/{data-36b9094e.js → data-e7526b58.js} +1 -1
  42. package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
  43. package/dist/cjs/{haptic-b882e0bb.js → haptic-216df36c.js} +1 -1
  44. package/dist/cjs/index-306a7476.js +32 -0
  45. package/dist/cjs/{index-ce101dc9.js → index-5cbb20f9.js} +13 -11
  46. package/dist/cjs/{index-b4f986cd.js → index-8c1e77d6.js} +1 -1
  47. package/dist/cjs/{index-f8f13389.js → index-d4c2e02c.js} +2 -2
  48. package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
  49. package/dist/cjs/index.cjs.js +10 -10
  50. package/dist/cjs/{input-shims-a23bb0f4.js → input-shims-87102b6a.js} +10 -15
  51. package/dist/cjs/{input.utils-3d0166a2.js → input.utils-2a11c1fe.js} +3 -4
  52. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  53. package/dist/cjs/ion-alert.cjs.entry.js +8 -8
  54. package/dist/cjs/ion-app_8.cjs.entry.js +10 -10
  55. package/dist/cjs/ion-backdrop.cjs.entry.js +0 -12
  56. package/dist/cjs/ion-checkbox.cjs.entry.js +3 -5
  57. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  58. package/dist/cjs/ion-datetime_3.cjs.entry.js +40 -60
  59. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -11
  60. package/dist/cjs/ion-input.cjs.entry.js +11 -34
  61. package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
  62. package/dist/cjs/ion-item_8.cjs.entry.js +4 -17
  63. package/dist/cjs/ion-loading.cjs.entry.js +4 -3
  64. package/dist/cjs/ion-menu_3.cjs.entry.js +7 -7
  65. package/dist/cjs/ion-modal.cjs.entry.js +10 -10
  66. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  67. package/dist/cjs/ion-picker-column-option.cjs.entry.js +104 -0
  68. package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +106 -89
  69. package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +26 -19
  70. package/dist/cjs/ion-popover.cjs.entry.js +5 -4
  71. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -9
  72. package/dist/cjs/ion-range.cjs.entry.js +4 -6
  73. package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -7
  74. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  75. package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
  76. package/dist/cjs/ion-select_3.cjs.entry.js +36 -51
  77. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  78. package/dist/cjs/ion-textarea.cjs.entry.js +10 -33
  79. package/dist/cjs/ion-toast.cjs.entry.js +93 -434
  80. package/dist/cjs/ion-toggle.cjs.entry.js +7 -9
  81. package/dist/cjs/ionic.cjs.js +1 -1
  82. package/dist/cjs/{ios.transition-6787b799.js → ios.transition-a4ffb5a2.js} +3 -3
  83. package/dist/cjs/{keyboard-af1bb365.js → keyboard-7d621ee9.js} +3 -3
  84. package/dist/cjs/{keyboard-0272231f.js → keyboard-9390928c.js} +1 -1
  85. package/dist/cjs/{keyboard-controller-c05e747a.js → keyboard-controller-2158b478.js} +2 -2
  86. package/dist/cjs/loader.cjs.js +1 -1
  87. package/dist/cjs/{md.transition-e033d20a.js → md.transition-292abe1c.js} +3 -3
  88. package/dist/cjs/{notch-controller-9735e7ac.js → notch-controller-1dce508a.js} +1 -1
  89. package/dist/cjs/{overlays-27a6fb16.js → overlays-e8e05b0e.js} +12 -7
  90. package/dist/cjs/{swipe-back-2a858bbd.js → swipe-back-b8f2330b.js} +2 -2
  91. package/dist/collection/collection-manifest.json +7 -6
  92. package/dist/collection/components/backdrop/backdrop.js +0 -12
  93. package/dist/collection/components/checkbox/checkbox.ios.css +6 -0
  94. package/dist/collection/components/checkbox/checkbox.js +1 -4
  95. package/dist/collection/components/checkbox/checkbox.md.css +6 -0
  96. package/dist/collection/components/checkbox/test/checkbox.spec.js +0 -14
  97. package/dist/collection/components/content/content.css +0 -4
  98. package/dist/collection/components/datetime/datetime.ios.css +85 -38
  99. package/dist/collection/components/datetime/datetime.js +24 -36
  100. package/dist/collection/components/datetime/datetime.md.css +90 -38
  101. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  102. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
  103. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +10 -0
  104. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  105. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  106. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  107. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  108. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  109. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +43 -41
  110. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  111. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  112. package/dist/collection/components/datetime/test/values/datetime.e2e.js +15 -12
  113. package/dist/collection/components/datetime/utils/data.js +1 -1
  114. package/dist/collection/components/infinite-scroll/infinite-scroll.js +3 -11
  115. package/dist/collection/components/input/input.ios.css +3 -10
  116. package/dist/collection/components/input/input.js +6 -31
  117. package/dist/collection/components/input/input.md.css +12 -13
  118. package/dist/collection/components/item/item.ios.css +3 -41
  119. package/dist/collection/components/item/item.md.css +3 -41
  120. package/dist/collection/components/item/test/basic/item.e2e.js +1 -1
  121. package/dist/collection/components/item/test/disabled/item.e2e.js +1 -0
  122. package/dist/collection/components/item/test/text/item.e2e.js +14 -0
  123. package/dist/collection/components/label/label.ios.css +3 -14
  124. package/dist/collection/components/label/label.md.css +3 -14
  125. package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -2
  126. package/dist/collection/components/note/test/a11y/note.e2e.js +0 -43
  127. package/dist/collection/components/picker/picker.ios.css +113 -211
  128. package/dist/collection/components/picker/picker.js +468 -743
  129. package/dist/collection/components/picker/picker.md.css +109 -198
  130. package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
  131. package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
  132. package/dist/collection/components/picker/test/custom/picker.e2e.js +85 -0
  133. package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +63 -32
  134. package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-column/picker-column.css} +96 -83
  135. package/dist/collection/components/picker-column/picker-column.js +497 -335
  136. package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
  137. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +91 -0
  138. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
  139. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
  140. package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
  141. package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
  142. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
  143. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
  144. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +29 -0
  145. package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy/picker.ios.css} +207 -98
  146. package/dist/collection/components/picker-legacy/picker.js +817 -0
  147. package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.md.css} +192 -100
  148. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
  149. package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
  150. package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
  151. package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
  152. package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
  153. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
  154. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
  155. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
  156. package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
  157. package/dist/collection/components/radio/radio.ios.css +6 -0
  158. package/dist/collection/components/radio/radio.js +3 -7
  159. package/dist/collection/components/radio/radio.md.css +6 -0
  160. package/dist/collection/components/radio/test/radio.spec.js +0 -14
  161. package/dist/collection/components/radio-group/radio-group.js +0 -24
  162. package/dist/collection/components/range/range.ios.css +6 -0
  163. package/dist/collection/components/range/range.js +1 -4
  164. package/dist/collection/components/range/range.md.css +6 -0
  165. package/dist/collection/components/range/test/range.spec.js +0 -16
  166. package/dist/collection/components/select/select.ios.css +7 -60
  167. package/dist/collection/components/select/select.js +28 -45
  168. package/dist/collection/components/select/select.md.css +19 -63
  169. package/dist/collection/components/select/test/item/select.e2e.js +0 -15
  170. package/dist/collection/components/select/test/label/select.e2e.js +1 -1
  171. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +1 -1
  172. package/dist/collection/components/skeleton-text/skeleton-text.js +0 -39
  173. package/dist/collection/components/textarea/textarea.ios.css +5 -37
  174. package/dist/collection/components/textarea/textarea.js +5 -30
  175. package/dist/collection/components/textarea/textarea.md.css +14 -47
  176. package/dist/collection/components/toast/animations/ios.enter.js +1 -2
  177. package/dist/collection/components/toast/animations/md.enter.js +3 -4
  178. package/dist/collection/components/toast/animations/utils.js +14 -20
  179. package/dist/collection/components/toast/test/toast.spec.js +0 -80
  180. package/dist/collection/components/toast/toast.ios.css +10 -10
  181. package/dist/collection/components/toast/toast.js +1 -104
  182. package/dist/collection/components/toast/toast.md.css +0 -10
  183. package/dist/collection/components/toggle/test/toggle.spec.js +0 -12
  184. package/dist/collection/components/toggle/toggle.ios.css +6 -0
  185. package/dist/collection/components/toggle/toggle.js +1 -4
  186. package/dist/collection/components/toggle/toggle.md.css +6 -0
  187. package/dist/collection/utils/animation/animation.js +11 -12
  188. package/dist/collection/utils/animation/test/animation.spec.js +0 -16
  189. package/dist/collection/utils/browser/index.js +22 -0
  190. package/dist/collection/utils/forms/index.js +0 -1
  191. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  192. package/dist/collection/utils/input-shims/input-shims.js +6 -12
  193. package/dist/collection/utils/menu-controller/index.js +12 -10
  194. package/dist/collection/utils/overlays.js +11 -5
  195. package/dist/collection/utils/slot-mutation-controller.js +2 -3
  196. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
  197. package/dist/docs.json +573 -272
  198. package/dist/esm/{animation-dde8cc0d.js → animation-fb0e0f6f.js} +12 -13
  199. package/dist/esm/{button-active-c6ee4f50.js → button-active-ed9d848c.js} +2 -2
  200. package/dist/esm/{capacitor-59395cbd.js → capacitor-b0e5fe83.js} +1 -1
  201. package/dist/esm/{data-f5c75b4e.js → data-4b9508c9.js} +1 -1
  202. package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  203. package/dist/esm/{haptic-554688a5.js → haptic-152c4172.js} +1 -1
  204. package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
  205. package/dist/esm/index-7a14ecec.js +29 -0
  206. package/dist/esm/{index-0c12c22b.js → index-80492ed3.js} +13 -11
  207. package/dist/esm/{index-82eeb47f.js → index-ba9976bb.js} +1 -1
  208. package/dist/esm/{index-1932b201.js → index-d8817fb0.js} +2 -2
  209. package/dist/esm/index.js +10 -10
  210. package/dist/esm/{input-shims-6539ce13.js → input-shims-0a2e541d.js} +9 -14
  211. package/dist/esm/{input.utils-a5a2d164.js → input.utils-2846d430.js} +3 -4
  212. package/dist/esm/ion-action-sheet.entry.js +8 -8
  213. package/dist/esm/ion-alert.entry.js +8 -8
  214. package/dist/esm/ion-app_8.entry.js +10 -10
  215. package/dist/esm/ion-backdrop.entry.js +0 -12
  216. package/dist/esm/ion-checkbox.entry.js +3 -5
  217. package/dist/esm/ion-datetime-button.entry.js +1 -1
  218. package/dist/esm/ion-datetime_3.entry.js +39 -59
  219. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -11
  220. package/dist/esm/ion-input.entry.js +11 -34
  221. package/dist/esm/ion-item-option_3.entry.js +1 -1
  222. package/dist/esm/ion-item_8.entry.js +4 -17
  223. package/dist/esm/ion-loading.entry.js +4 -3
  224. package/dist/esm/ion-menu_3.entry.js +7 -7
  225. package/dist/esm/ion-modal.entry.js +10 -10
  226. package/dist/esm/ion-nav_2.entry.js +2 -2
  227. package/dist/esm/ion-picker-column-option.entry.js +100 -0
  228. package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +106 -89
  229. package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +26 -19
  230. package/dist/esm/ion-popover.entry.js +5 -4
  231. package/dist/esm/ion-radio_2.entry.js +4 -9
  232. package/dist/esm/ion-range.entry.js +4 -6
  233. package/dist/esm/ion-refresher_2.entry.js +7 -7
  234. package/dist/esm/ion-reorder_2.entry.js +4 -4
  235. package/dist/esm/ion-segment_2.entry.js +1 -1
  236. package/dist/esm/ion-select_3.entry.js +32 -47
  237. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  238. package/dist/esm/ion-textarea.entry.js +10 -33
  239. package/dist/esm/ion-toast.entry.js +76 -417
  240. package/dist/esm/ion-toggle.entry.js +7 -9
  241. package/dist/esm/ionic.js +1 -1
  242. package/dist/esm/{ios.transition-802a84a6.js → ios.transition-fd16bec1.js} +3 -3
  243. package/dist/esm/{keyboard-52278bd7.js → keyboard-c402e885.js} +3 -3
  244. package/dist/esm/{keyboard-controller-ec5c2bfa.js → keyboard-controller-5d90929a.js} +2 -2
  245. package/dist/esm/{keyboard-73175e24.js → keyboard-dbb05fb9.js} +1 -1
  246. package/dist/esm/loader.js +1 -1
  247. package/dist/esm/{md.transition-43c2874d.js → md.transition-94ac93e1.js} +3 -3
  248. package/dist/esm/{notch-controller-fea7f9c5.js → notch-controller-d09b6aca.js} +1 -1
  249. package/dist/esm/{overlays-32ef481d.js → overlays-fbc5cab5.js} +13 -7
  250. package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-a8ca7f93.js} +2 -2
  251. package/dist/esm-es5/{animation-dde8cc0d.js → animation-fb0e0f6f.js} +1 -1
  252. package/dist/esm-es5/{button-active-c6ee4f50.js → button-active-ed9d848c.js} +1 -1
  253. package/dist/esm-es5/{capacitor-59395cbd.js → capacitor-b0e5fe83.js} +1 -1
  254. package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  255. package/dist/esm-es5/{haptic-554688a5.js → haptic-152c4172.js} +1 -1
  256. package/dist/esm-es5/{index-2cf77112.js → index-39782642.js} +1 -1
  257. package/dist/esm-es5/index-80492ed3.js +4 -0
  258. package/dist/esm-es5/{index-82eeb47f.js → index-ba9976bb.js} +1 -1
  259. package/dist/esm-es5/{index-1932b201.js → index-d8817fb0.js} +1 -1
  260. package/dist/esm-es5/index.js +1 -1
  261. package/dist/esm-es5/input-shims-0a2e541d.js +4 -0
  262. package/dist/esm-es5/input.utils-2846d430.js +4 -0
  263. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  264. package/dist/esm-es5/ion-alert.entry.js +1 -1
  265. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  266. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  267. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  268. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  269. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  270. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  271. package/dist/esm-es5/ion-input.entry.js +1 -1
  272. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  273. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  274. package/dist/esm-es5/ion-loading.entry.js +1 -1
  275. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  276. package/dist/esm-es5/ion-modal.entry.js +1 -1
  277. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  278. package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
  279. package/dist/esm-es5/ion-picker-column.entry.js +4 -0
  280. package/dist/esm-es5/ion-picker.entry.js +4 -0
  281. package/dist/esm-es5/ion-popover.entry.js +1 -1
  282. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  283. package/dist/esm-es5/ion-range.entry.js +1 -1
  284. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  285. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  286. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  287. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  288. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  289. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  290. package/dist/esm-es5/ion-toast.entry.js +1 -1
  291. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  292. package/dist/esm-es5/ionic.js +1 -1
  293. package/dist/esm-es5/{ios.transition-802a84a6.js → ios.transition-fd16bec1.js} +1 -1
  294. package/dist/esm-es5/{keyboard-52278bd7.js → keyboard-c402e885.js} +1 -1
  295. package/dist/esm-es5/{keyboard-controller-ec5c2bfa.js → keyboard-controller-5d90929a.js} +1 -1
  296. package/dist/esm-es5/{keyboard-73175e24.js → keyboard-dbb05fb9.js} +1 -1
  297. package/dist/esm-es5/loader.js +1 -1
  298. package/dist/esm-es5/md.transition-94ac93e1.js +4 -0
  299. package/dist/esm-es5/{notch-controller-fea7f9c5.js → notch-controller-d09b6aca.js} +1 -1
  300. package/dist/esm-es5/overlays-fbc5cab5.js +4 -0
  301. package/dist/esm-es5/swipe-back-a8ca7f93.js +4 -0
  302. package/dist/html.html-data.json +153 -15
  303. package/dist/ionic/index.esm.js +1 -1
  304. package/dist/ionic/ionic.esm.js +1 -1
  305. package/dist/ionic/{p-8985cdb6.system.js → p-0e4f2e17.system.js} +1 -1
  306. package/dist/ionic/{p-33a37fad.system.js → p-1d624e03.system.js} +1 -1
  307. package/dist/ionic/{p-3dd98a73.entry.js → p-1fc72959.entry.js} +1 -1
  308. package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
  309. package/dist/ionic/{p-251666e2.entry.js → p-21c3515a.entry.js} +1 -1
  310. package/dist/ionic/p-22e5af95.entry.js +4 -0
  311. package/dist/ionic/p-232d1f22.entry.js +4 -0
  312. package/dist/ionic/p-23672c82.system.entry.js +4 -0
  313. package/dist/ionic/p-26798a7b.system.entry.js +4 -0
  314. package/dist/ionic/p-27bcbbc7.system.entry.js +4 -0
  315. package/dist/ionic/p-2ab4e925.system.entry.js +4 -0
  316. package/dist/ionic/p-2d5aeccc.js +4 -0
  317. package/dist/ionic/p-2d600c25.system.js +4 -0
  318. package/dist/ionic/{p-31fcb233.system.js → p-30029cc2.system.js} +1 -1
  319. package/dist/ionic/{p-cabad15b.system.js → p-304383f9.system.js} +1 -1
  320. package/dist/ionic/p-308e1341.js +4 -0
  321. package/dist/ionic/{p-cdbeaadc.js → p-31158892.js} +1 -1
  322. package/dist/ionic/p-32303650.system.entry.js +4 -0
  323. package/dist/ionic/{p-0bd51c34.system.js → p-32e19bee.system.js} +1 -1
  324. package/dist/ionic/p-34c39c48.entry.js +4 -0
  325. package/dist/ionic/p-36d194c5.entry.js +4 -0
  326. package/dist/ionic/p-3ba01a9c.system.entry.js +4 -0
  327. package/dist/ionic/p-3c58a71b.js +4 -0
  328. package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
  329. package/dist/ionic/{p-78aadecb.entry.js → p-3f6270b3.entry.js} +1 -1
  330. package/dist/ionic/p-3fd26bd6.system.entry.js +4 -0
  331. package/dist/ionic/p-3fe96156.system.js +4 -0
  332. package/dist/ionic/p-42ba3902.entry.js +4 -0
  333. package/dist/ionic/{p-6de472cb.js → p-4890093d.js} +1 -1
  334. package/dist/ionic/{p-88fde0e0.entry.js → p-4911a5d6.entry.js} +1 -1
  335. package/dist/ionic/p-4a081ea9.entry.js +4 -0
  336. package/dist/ionic/p-4a31c99f.entry.js +4 -0
  337. package/dist/ionic/p-4a36430f.system.entry.js +4 -0
  338. package/dist/ionic/{p-27281edd.js → p-4e8e09e1.js} +1 -1
  339. package/dist/ionic/p-51abefb7.system.js +4 -0
  340. package/dist/ionic/{p-4f3ae45a.entry.js → p-535d2a67.entry.js} +1 -1
  341. package/dist/ionic/{p-e24ce1e5.system.js → p-54dfc9b5.system.js} +1 -1
  342. package/dist/ionic/p-563c41f0.system.entry.js +4 -0
  343. package/dist/ionic/{p-5e745192.system.js → p-57477107.system.js} +1 -1
  344. package/dist/ionic/p-5a1aac13.system.entry.js +4 -0
  345. package/dist/ionic/p-5a68960f.entry.js +4 -0
  346. package/dist/ionic/{p-4d67d27a.entry.js → p-5d42b6b4.entry.js} +1 -1
  347. package/dist/ionic/{p-42f189f4.js → p-643a8fae.js} +1 -1
  348. package/dist/ionic/{p-a9978d08.entry.js → p-6b7c55cd.entry.js} +1 -1
  349. package/dist/ionic/p-6c37f051.js +4 -0
  350. package/dist/ionic/{p-a1987850.entry.js → p-6d72fb44.entry.js} +1 -1
  351. package/dist/ionic/{p-e6d68e02.system.entry.js → p-6fd64e7c.system.entry.js} +1 -1
  352. package/dist/ionic/p-73190c5f.entry.js +4 -0
  353. package/dist/ionic/p-73aa7604.entry.js +4 -0
  354. package/dist/ionic/{p-3a75d7fd.js → p-75445583.js} +1 -1
  355. package/dist/ionic/{p-f70970cf.js → p-76d3765d.js} +1 -1
  356. package/dist/ionic/{p-a0bb7b92.system.entry.js → p-77965464.system.entry.js} +1 -1
  357. package/dist/ionic/p-7b725280.entry.js +4 -0
  358. package/dist/ionic/p-8017aad2.system.entry.js +4 -0
  359. package/dist/ionic/p-83af3685.system.js +4 -0
  360. package/dist/ionic/p-846ee227.entry.js +4 -0
  361. package/dist/ionic/p-856c430d.js +4 -0
  362. package/dist/ionic/p-8a1ad27c.system.entry.js +4 -0
  363. package/dist/ionic/p-8ab2d8be.entry.js +4 -0
  364. package/dist/ionic/p-8c97cdc0.entry.js +4 -0
  365. package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
  366. package/dist/ionic/p-8fa6583d.system.js +4 -0
  367. package/dist/ionic/p-93000a81.system.entry.js +4 -0
  368. package/dist/ionic/{p-1cca10d6.system.js → p-95c26010.system.js} +1 -1
  369. package/dist/ionic/{p-8acae6b0.system.entry.js → p-96dbbac1.system.entry.js} +1 -1
  370. package/dist/ionic/{p-ddbb2d5b.system.js → p-98d82c73.system.js} +1 -1
  371. package/dist/ionic/p-990ffd0e.js +4 -0
  372. package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
  373. package/dist/ionic/{p-3137c025.system.entry.js → p-9c229210.system.entry.js} +2 -2
  374. package/dist/ionic/p-a225bf0f.system.entry.js +4 -0
  375. package/dist/ionic/p-a60a1ce5.js +4 -0
  376. package/dist/ionic/p-a8baa23e.entry.js +4 -0
  377. package/dist/ionic/p-a98dc0c1.entry.js +4 -0
  378. package/dist/ionic/{p-5eda1d7d.entry.js → p-a9a80f5b.entry.js} +1 -1
  379. package/dist/ionic/p-a9e3b5be.system.entry.js +4 -0
  380. package/dist/ionic/p-ab9456e9.system.entry.js +4 -0
  381. package/dist/ionic/p-afcf4620.entry.js +4 -0
  382. package/dist/ionic/{p-ddb30596.entry.js → p-b133e9b4.entry.js} +1 -1
  383. package/dist/ionic/{p-6de62649.system.entry.js → p-b4d31b30.system.entry.js} +1 -1
  384. package/dist/ionic/{p-46d400b4.system.entry.js → p-b752714f.system.entry.js} +1 -1
  385. package/dist/ionic/{p-fba0a6e7.system.entry.js → p-c18de88a.system.entry.js} +1 -1
  386. package/dist/ionic/p-c8f0a036.entry.js +4 -0
  387. package/dist/ionic/p-ca8938f4.js +4 -0
  388. package/dist/ionic/p-cde52378.system.entry.js +4 -0
  389. package/dist/ionic/p-d43f1f3d.system.js +4 -0
  390. package/dist/ionic/p-d662d908.js +4 -0
  391. package/dist/ionic/p-d9695ad9.system.js +4 -0
  392. package/dist/ionic/p-da15f571.system.entry.js +4 -0
  393. package/dist/ionic/p-e3584231.system.js +1 -1
  394. package/dist/ionic/p-e4d90573.js +4 -0
  395. package/dist/ionic/{p-6577aea9.system.entry.js → p-e8e86f69.system.entry.js} +1 -1
  396. package/dist/ionic/p-f54c72b0.system.js +4 -0
  397. package/dist/ionic/p-f7a36cd0.system.js +4 -0
  398. package/dist/ionic/{p-9eec42cc.system.entry.js → p-f910cc73.system.entry.js} +1 -1
  399. package/dist/ionic/p-f967631d.js +4 -0
  400. package/dist/ionic/{p-ada96dd0.system.entry.js → p-fbf3a689.system.entry.js} +1 -1
  401. package/dist/ionic/p-fe4dde76.entry.js +4 -0
  402. package/dist/ionic/p-ffd5dba4.system.entry.js +4 -0
  403. package/dist/types/components/backdrop/backdrop.d.ts +0 -3
  404. package/dist/types/components/checkbox/checkbox.d.ts +0 -1
  405. package/dist/types/components/datetime/datetime.d.ts +0 -1
  406. package/dist/types/components/datetime/utils/data.d.ts +11 -7
  407. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -7
  408. package/dist/types/components/input/input.d.ts +0 -2
  409. package/dist/types/components/menu/menu.d.ts +1 -1
  410. package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
  411. package/dist/types/components/picker/picker.d.ts +74 -131
  412. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +4 -0
  413. package/dist/types/components/picker-column/picker-column.d.ts +99 -39
  414. package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
  415. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  416. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  417. package/dist/types/components/radio/radio.d.ts +0 -1
  418. package/dist/types/components/radio-group/radio-group-interface.d.ts +0 -1
  419. package/dist/types/components/radio-group/radio-group.d.ts +1 -8
  420. package/dist/types/components/range/range.d.ts +0 -1
  421. package/dist/types/components/router/router.d.ts +1 -2
  422. package/dist/types/components/select/select.d.ts +1 -6
  423. package/dist/types/components/skeleton-text/skeleton-text.d.ts +1 -9
  424. package/dist/types/components/textarea/textarea.d.ts +0 -2
  425. package/dist/types/components/toast/animations/utils.d.ts +4 -15
  426. package/dist/types/components/toast/toast-interface.d.ts +0 -2
  427. package/dist/types/components/toast/toast.d.ts +1 -28
  428. package/dist/types/components/toggle/toggle.d.ts +0 -1
  429. package/dist/types/components.d.ts +161 -159
  430. package/dist/types/interface.d.ts +6 -2
  431. package/dist/types/utils/animation/animation-interface.d.ts +4 -4
  432. package/dist/types/utils/browser/index.d.ts +2 -11
  433. package/dist/types/utils/config.d.ts +2 -2
  434. package/dist/types/utils/forms/index.d.ts +0 -1
  435. package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
  436. package/dist/types/utils/hardware-back-button.d.ts +0 -4
  437. package/dist/types/utils/overlays.d.ts +5 -3
  438. package/dist/types/utils/slot-mutation-controller.d.ts +2 -2
  439. package/hydrate/index.js +1528 -1886
  440. package/package.json +1 -1
  441. package/components/ion-picker-column-internal.d.ts +0 -11
  442. package/components/ion-picker-column-internal.js +0 -9
  443. package/components/ion-picker-internal.js +0 -9
  444. package/components/picker-column-internal.js +0 -390
  445. package/dist/cjs/compare-with-utils-df1001d7.js +0 -44
  446. package/dist/cjs/index-c8d52405.js +0 -10
  447. package/dist/collection/components/infinite-scroll/test/small-dom-update/infinite-scroll.e2e.js +0 -31
  448. package/dist/collection/components/input/test/slot/input.e2e.js +0 -51
  449. package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -565
  450. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
  451. package/dist/collection/components/picker-internal/picker-internal.js +0 -544
  452. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
  453. package/dist/collection/components/radio-group/test/radio-group.spec.js +0 -69
  454. package/dist/collection/components/select/test/slot/select.e2e.js +0 -67
  455. package/dist/collection/components/textarea/test/slot/textarea.e2e.js +0 -51
  456. package/dist/collection/components/toast/gestures/swipe-to-dismiss.js +0 -267
  457. package/dist/collection/components/toast/test/swipe-gesture/toast.e2e.js +0 -84
  458. package/dist/collection/components/toast/test/toast-config.spec.js +0 -25
  459. package/dist/collection/utils/forms/compare-with-utils.js +0 -39
  460. package/dist/esm/compare-with-utils-a96ff2ea.js +0 -41
  461. package/dist/esm/index-a5d50daf.js +0 -7
  462. package/dist/esm-es5/compare-with-utils-a96ff2ea.js +0 -4
  463. package/dist/esm-es5/index-0c12c22b.js +0 -4
  464. package/dist/esm-es5/input-shims-6539ce13.js +0 -4
  465. package/dist/esm-es5/input.utils-a5a2d164.js +0 -4
  466. package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
  467. package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
  468. package/dist/esm-es5/md.transition-43c2874d.js +0 -4
  469. package/dist/esm-es5/overlays-32ef481d.js +0 -4
  470. package/dist/esm-es5/swipe-back-a6f386fc.js +0 -4
  471. package/dist/ionic/p-01d14eba.system.entry.js +0 -4
  472. package/dist/ionic/p-042e6f4b.entry.js +0 -4
  473. package/dist/ionic/p-05d83227.system.entry.js +0 -4
  474. package/dist/ionic/p-16756e94.system.entry.js +0 -4
  475. package/dist/ionic/p-1b19c04b.entry.js +0 -4
  476. package/dist/ionic/p-1e4371bd.js +0 -4
  477. package/dist/ionic/p-28249b10.system.entry.js +0 -4
  478. package/dist/ionic/p-28a2c2a2.entry.js +0 -4
  479. package/dist/ionic/p-29d03b3a.js +0 -4
  480. package/dist/ionic/p-2b7827c7.js +0 -4
  481. package/dist/ionic/p-2d3b9fa3.system.entry.js +0 -4
  482. package/dist/ionic/p-2d539df1.entry.js +0 -4
  483. package/dist/ionic/p-35ce400e.system.js +0 -4
  484. package/dist/ionic/p-36d187af.js +0 -4
  485. package/dist/ionic/p-376a6063.js +0 -4
  486. package/dist/ionic/p-38f2c6bb.system.js +0 -4
  487. package/dist/ionic/p-39c31982.system.entry.js +0 -4
  488. package/dist/ionic/p-3e6b47e8.system.entry.js +0 -4
  489. package/dist/ionic/p-3f5179b5.entry.js +0 -4
  490. package/dist/ionic/p-40f68333.system.js +0 -4
  491. package/dist/ionic/p-438e1b8a.entry.js +0 -4
  492. package/dist/ionic/p-47b6ba5b.js +0 -4
  493. package/dist/ionic/p-517a9885.system.entry.js +0 -4
  494. package/dist/ionic/p-53ec4f1c.system.js +0 -4
  495. package/dist/ionic/p-5e4eec2e.entry.js +0 -4
  496. package/dist/ionic/p-6a6477b2.js +0 -4
  497. package/dist/ionic/p-72f6ff89.js +0 -4
  498. package/dist/ionic/p-765f4dde.entry.js +0 -4
  499. package/dist/ionic/p-7d92bf15.system.entry.js +0 -4
  500. package/dist/ionic/p-7ee0f3f2.entry.js +0 -4
  501. package/dist/ionic/p-80fa068e.entry.js +0 -4
  502. package/dist/ionic/p-8314281e.system.js +0 -4
  503. package/dist/ionic/p-88d5fbd3.js +0 -4
  504. package/dist/ionic/p-8d69a624.entry.js +0 -4
  505. package/dist/ionic/p-8de17614.system.entry.js +0 -4
  506. package/dist/ionic/p-908475e7.system.entry.js +0 -4
  507. package/dist/ionic/p-91d33c4a.js +0 -4
  508. package/dist/ionic/p-979d4f5c.system.js +0 -4
  509. package/dist/ionic/p-9b7f0b0f.entry.js +0 -4
  510. package/dist/ionic/p-9e447eb1.system.js +0 -4
  511. package/dist/ionic/p-9f6ee2c0.system.entry.js +0 -4
  512. package/dist/ionic/p-a0d7bb5e.system.js +0 -4
  513. package/dist/ionic/p-a3277a67.entry.js +0 -4
  514. package/dist/ionic/p-afd6ca9d.entry.js +0 -4
  515. package/dist/ionic/p-b56d0866.system.entry.js +0 -4
  516. package/dist/ionic/p-b6f9d32a.entry.js +0 -4
  517. package/dist/ionic/p-c61cc894.js +0 -4
  518. package/dist/ionic/p-cce9f61a.system.entry.js +0 -4
  519. package/dist/ionic/p-d032f825.system.entry.js +0 -4
  520. package/dist/ionic/p-d51674c5.system.js +0 -4
  521. package/dist/ionic/p-de6f8b28.system.js +0 -4
  522. package/dist/ionic/p-de756e5c.js +0 -4
  523. package/dist/ionic/p-dee7c1d0.system.entry.js +0 -4
  524. package/dist/ionic/p-dfd9432a.entry.js +0 -4
  525. package/dist/ionic/p-e94c392d.entry.js +0 -4
  526. package/dist/ionic/p-f0445d82.system.entry.js +0 -4
  527. package/dist/ionic/p-f656e032.system.entry.js +0 -4
  528. package/dist/ionic/p-feae5133.entry.js +0 -4
  529. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +0 -5
  530. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
  531. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
  532. package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
  533. package/dist/types/components/toast/gestures/swipe-to-dismiss.d.ts +0 -9
  534. package/dist/types/jest.d.ts +0 -5
  535. package/dist/types/utils/forms/compare-with-utils.d.ts +0 -18
  536. /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
  537. /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
  538. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
  539. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
  540. /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
  541. /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.ios.css +0 -0
  542. /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.md.css +0 -0
  543. /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
  544. /package/dist/esm-es5/{data-f5c75b4e.js → data-4b9508c9.js} +0 -0
  545. /package/dist/esm-es5/{index-a5d50daf.js → index-7a14ecec.js} +0 -0
  546. /package/dist/ionic/{p-792919fd.system.js → p-0e94957a.system.js} +0 -0
  547. /package/dist/ionic/{p-2aea8b1e.js → p-368f5215.js} +0 -0
  548. /package/dist/ionic/{p-7b30edcc.js → p-b347cfd1.js} +0 -0
  549. /package/dist/ionic/{p-82e3d633.system.js → p-f58981c2.system.js} +0 -0
  550. /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
  551. /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
  552. /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
  553. /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
@@ -3,9 +3,10 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-c8d52405.js');
6
+ const index = require('./index-306a7476.js');
7
7
  const ionicGlobal = require('./ionic-global-f4a2093b.js');
8
8
  const frameworkDelegate = require('./framework-delegate-1c29b14a.js');
9
+ const gestureController = require('./gesture-controller-9436f482.js');
9
10
  const hardwareBackButton = require('./hardware-back-button-76833cac.js');
10
11
  const helpers = require('./helpers-76bb7efb.js');
11
12
  const index$1 = require('./index-5915f9b3.js');
@@ -30,7 +31,10 @@ const alertController = /*@__PURE__*/ createController('ion-alert');
30
31
  const actionSheetController = /*@__PURE__*/ createController('ion-action-sheet');
31
32
  const loadingController = /*@__PURE__*/ createController('ion-loading');
32
33
  const modalController = /*@__PURE__*/ createController('ion-modal');
33
- const pickerController = /*@__PURE__*/ createController('ion-picker');
34
+ /**
35
+ * @deprecated Use the inline ion-picker component instead.
36
+ */
37
+ const pickerController = /*@__PURE__*/ createController('ion-picker-legacy');
34
38
  const popoverController = /*@__PURE__*/ createController('ion-popover');
35
39
  const toastController = /*@__PURE__*/ createController('ion-toast');
36
40
  /**
@@ -140,7 +144,7 @@ const focusLastDescendant = (ref, overlay) => {
140
144
  * Should NOT include: Toast
141
145
  */
142
146
  const trapKeyboardFocus = (ev, doc) => {
143
- const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover');
147
+ const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover');
144
148
  const target = ev.target;
145
149
  /**
146
150
  * If no active overlay, ignore this event.
@@ -325,7 +329,7 @@ const dismissOverlay = (doc, data, role, overlayTag, id) => {
325
329
  */
326
330
  const getOverlays = (doc, selector) => {
327
331
  if (selector === undefined) {
328
- selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover,ion-toast';
332
+ selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover,ion-toast';
329
333
  }
330
334
  return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
331
335
  };
@@ -391,6 +395,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
391
395
  return;
392
396
  }
393
397
  setRootAriaHidden(true);
398
+ document.body.classList.add(gestureController.BACKDROP_NO_SCROLL);
394
399
  overlay.presented = true;
395
400
  overlay.willPresent.emit();
396
401
  (_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
@@ -453,12 +458,14 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
453
458
  if (!overlay.presented) {
454
459
  return false;
455
460
  }
461
+ const lastOverlay = index.doc !== undefined && getPresentedOverlays(index.doc).length === 1;
456
462
  /**
457
463
  * If this is the last visible overlay then
458
464
  * we want to re-add the root to the accessibility tree.
459
465
  */
460
- if (index.doc !== undefined && getPresentedOverlays(index.doc).length === 1) {
466
+ if (lastOverlay) {
461
467
  setRootAriaHidden(false);
468
+ document.body.classList.remove(gestureController.BACKDROP_NO_SCROLL);
462
469
  }
463
470
  overlay.presented = false;
464
471
  try {
@@ -564,7 +571,6 @@ const safeCall = (handler, arg) => {
564
571
  };
565
572
  const BACKDROP = 'backdrop';
566
573
  const GESTURE = 'gesture';
567
- const OVERLAY_GESTURE_PRIORITY = 39;
568
574
  /**
569
575
  * Creates a delegate controller.
570
576
  *
@@ -694,7 +700,6 @@ const createTriggerController = () => {
694
700
 
695
701
  exports.BACKDROP = BACKDROP;
696
702
  exports.GESTURE = GESTURE;
697
- exports.OVERLAY_GESTURE_PRIORITY = OVERLAY_GESTURE_PRIORITY;
698
703
  exports.actionSheetController = actionSheetController;
699
704
  exports.activeAnimations = activeAnimations;
700
705
  exports.alertController = alertController;
@@ -5,8 +5,8 @@
5
5
 
6
6
  const helpers = require('./helpers-76bb7efb.js');
7
7
  const dir = require('./dir-94c21456.js');
8
- const index = require('./index-d1b59ffa.js');
9
- require('./gesture-controller-c40c045a.js');
8
+ const index = require('./index-ee07ed59.js');
9
+ require('./gesture-controller-9436f482.js');
10
10
 
11
11
  const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandler, onEndHandler) => {
12
12
  const win = el.ownerDocument.defaultView;
@@ -24,8 +24,8 @@
24
24
  "components/col/col.js",
25
25
  "components/content/content.js",
26
26
  "components/datetime/datetime.js",
27
- "components/picker-column-internal/picker-column-internal.js",
28
- "components/picker-internal/picker-internal.js",
27
+ "components/picker-column/picker-column.js",
28
+ "components/picker/picker.js",
29
29
  "components/datetime-button/datetime-button.js",
30
30
  "components/fab/fab.js",
31
31
  "components/fab-button/fab-button.js",
@@ -55,8 +55,9 @@
55
55
  "components/nav/nav.js",
56
56
  "components/nav-link/nav-link.js",
57
57
  "components/note/note.js",
58
- "components/picker/picker.js",
59
- "components/picker-column/picker-column.js",
58
+ "components/picker-column-option/picker-column-option.js",
59
+ "components/picker-legacy/picker.js",
60
+ "components/picker-legacy-column/picker-column.js",
60
61
  "components/popover/popover.js",
61
62
  "components/progress-bar/progress-bar.js",
62
63
  "components/range/range.js",
@@ -287,8 +288,8 @@
287
288
  {
288
289
  "components": [
289
290
  "ion-datetime",
290
- "ion-picker",
291
- "ion-picker-column"
291
+ "ion-picker-legacy",
292
+ "ion-picker-legacy-column"
292
293
  ]
293
294
  },
294
295
  {
@@ -2,25 +2,13 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { Host, h } from "@stencil/core";
5
- import { GESTURE_CONTROLLER } from "../../utils/gesture/index";
6
5
  import { getIonMode } from "../../global/ionic-global";
7
6
  export class Backdrop {
8
7
  constructor() {
9
- this.blocker = GESTURE_CONTROLLER.createBlocker({
10
- disableScroll: true,
11
- });
12
8
  this.visible = true;
13
9
  this.tappable = true;
14
10
  this.stopPropagation = true;
15
11
  }
16
- connectedCallback() {
17
- if (this.stopPropagation) {
18
- this.blocker.block();
19
- }
20
- }
21
- disconnectedCallback() {
22
- this.blocker.unblock();
23
- }
24
12
  onMouseDown(ev) {
25
13
  this.emitTap(ev);
26
14
  }
@@ -163,6 +163,12 @@
163
163
  }
164
164
 
165
165
  .label-text-wrapper {
166
+ /**
167
+ * This ensures that double tapping this text
168
+ * clicks the <label> and focuses the checkbox
169
+ * when a screen reader is enabled.
170
+ */
171
+ pointer-events: none;
166
172
  text-overflow: ellipsis;
167
173
  white-space: nowrap;
168
174
  overflow: hidden;
@@ -13,7 +13,6 @@ import { getIonMode } from "../../global/ionic-global";
13
13
  * @slot - The label text to associate with the checkbox. Use the "labelPlacement" property to control where the label is placed relative to the checkbox.
14
14
  *
15
15
  * @part container - The container for the checkbox mark.
16
- * @part label - The label text describing the checkbox.
17
16
  * @part mark - The checkmark used to indicate the checked state.
18
17
  */
19
18
  export class Checkbox {
@@ -81,8 +80,6 @@ export class Checkbox {
81
80
  emitStyle() {
82
81
  const style = {
83
82
  'interactive-disabled': this.disabled,
84
- // TODO(FW-3100): remove this
85
- legacy: !!this.legacy,
86
83
  };
87
84
  // TODO(FW-3100): remove this
88
85
  if (this.legacyFormController.hasLegacyControl()) {
@@ -118,7 +115,7 @@ export class Checkbox {
118
115
  }), onClick: this.onClick }, h("label", { class: "checkbox-wrapper" }, h("input", Object.assign({ type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), h("div", { class: {
119
116
  'label-text-wrapper': true,
120
117
  'label-text-wrapper-hidden': el.textContent === '',
121
- }, part: "label" }, h("slot", null)), h("div", { class: "native-wrapper" }, h("svg", { class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
118
+ } }, h("slot", null)), h("div", { class: "native-wrapper" }, h("svg", { class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
122
119
  }
123
120
  // TODO(FW-3100): remove this
124
121
  renderLegacyCheckbox() {
@@ -163,6 +163,12 @@
163
163
  }
164
164
 
165
165
  .label-text-wrapper {
166
+ /**
167
+ * This ensures that double tapping this text
168
+ * clicks the <label> and focuses the checkbox
169
+ * when a screen reader is enabled.
170
+ */
171
+ pointer-events: none;
166
172
  text-overflow: ellipsis;
167
173
  white-space: nowrap;
168
174
  overflow: hidden;
@@ -3,20 +3,6 @@
3
3
  */
4
4
  import { newSpecPage } from "@stencil/core/testing";
5
5
  import { Checkbox } from "../checkbox";
6
- describe('ion-checkbox: shadow parts', () => {
7
- it('should render the checkbox with shadow parts', async () => {
8
- const page = await newSpecPage({
9
- components: [Checkbox],
10
- html: `
11
- <ion-checkbox>Checkbox</ion-checkbox>
12
- `,
13
- });
14
- const checkbox = page.body.querySelector('ion-checkbox');
15
- expect(checkbox).toHaveShadowPart('container');
16
- expect(checkbox).toHaveShadowPart('label');
17
- expect(checkbox).toHaveShadowPart('mark');
18
- });
19
- });
20
6
  describe('ion-checkbox: disabled', () => {
21
7
  it('clicking disabled checkbox should not toggle checked state', async () => {
22
8
  const page = await newSpecPage({
@@ -97,10 +97,6 @@
97
97
  color: var(--ion-color-contrast);
98
98
  }
99
99
 
100
- :host(.outer-content) {
101
- --background: var(--ion-color-step-50, #f2f2f2);
102
- }
103
-
104
100
  #background-content {
105
101
  left: 0px;
106
102
  right: 0px;
@@ -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,66 @@ 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;
521
552
  }
522
553
 
523
554
  /**
@@ -606,15 +637,31 @@ ion-picker-column-internal {
606
637
  margin-top: 10px;
607
638
  }
608
639
 
609
- :host .calendar-action-buttons ion-item {
610
- --padding-start: 16px;
611
- --background-hover: transparent;
612
- --background-activated: transparent;
640
+ .calendar-month-year-toggle {
641
+ -webkit-padding-start: 16px;
642
+ padding-inline-start: 16px;
643
+ -webkit-padding-end: 16px;
644
+ padding-inline-end: 16px;
645
+ padding-top: 0px;
646
+ padding-bottom: 0px;
647
+ min-height: 44px;
613
648
  font-size: min(1rem, 25.6px);
614
649
  font-weight: 600;
615
650
  }
651
+ .calendar-month-year-toggle.ion-focused::after {
652
+ opacity: 0.15;
653
+ }
654
+
655
+ .calendar-month-year-toggle #toggle-wrapper {
656
+ -webkit-margin-start: 0;
657
+ margin-inline-start: 0;
658
+ -webkit-margin-end: 8px;
659
+ margin-inline-end: 8px;
660
+ margin-top: 10px;
661
+ margin-bottom: 10px;
662
+ }
616
663
 
617
- :host .calendar-action-buttons ion-item ion-icon,
664
+ :host .calendar-action-buttons .calendar-month-year-toggle ion-icon,
618
665
  :host .calendar-action-buttons ion-buttons ion-button {
619
666
  color: var(--ion-color-base);
620
667
  }
@@ -977,7 +977,7 @@ export class Datetime {
977
977
  const renderArray = forcePresentation === 'time-date'
978
978
  ? [this.renderTimePickerColumns(forcePresentation), this.renderDatePickerColumns(forcePresentation)]
979
979
  : [this.renderDatePickerColumns(forcePresentation), this.renderTimePickerColumns(forcePresentation)];
980
- return h("ion-picker-internal", null, renderArray);
980
+ return h("ion-picker", null, renderArray);
981
981
  }
982
982
  renderDatePickerColumns(forcePresentation) {
983
983
  return forcePresentation === 'date-time' || forcePresentation === 'time-date'
@@ -1036,7 +1036,7 @@ export class Datetime {
1036
1036
  const todayString = workingParts.day !== null
1037
1037
  ? `${workingParts.year}-${workingParts.month}-${workingParts.day}`
1038
1038
  : `${defaultParts.year}-${defaultParts.month}-${defaultParts.day}`;
1039
- return (h("ion-picker-column-internal", { class: "date-column", color: this.color, disabled: disabled, items: items, value: todayString, onIonChange: (ev) => {
1039
+ return (h("ion-picker-column", { class: "date-column", color: this.color, disabled: disabled, value: todayString, onIonChange: (ev) => {
1040
1040
  // TODO(FW-1823) Remove this when iOS 14 support is dropped.
1041
1041
  // Due to a Safari 14 issue we need to destroy
1042
1042
  // the scroll listener before we update state
@@ -1052,7 +1052,7 @@ export class Datetime {
1052
1052
  // the working parts have been updated.
1053
1053
  this.initializeCalendarListener();
1054
1054
  ev.stopPropagation();
1055
- } }));
1055
+ } }, items.map((item) => (h("ion-picker-column-option", { part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
1056
1056
  }
1057
1057
  renderIndividualDatePickerColumns(forcePresentation) {
1058
1058
  const { workingParts, isDateEnabled } = this;
@@ -1120,7 +1120,8 @@ export class Datetime {
1120
1120
  }
1121
1121
  const { disabled, workingParts } = this;
1122
1122
  const activePart = this.getActivePartsWithFallback();
1123
- return (h("ion-picker-column-internal", { class: "day-column", color: this.color, disabled: disabled, items: days, value: (_a = (workingParts.day !== null ? workingParts.day : this.defaultParts.day)) !== null && _a !== void 0 ? _a : undefined, onIonChange: (ev) => {
1123
+ const pickerColumnValue = (_a = (workingParts.day !== null ? workingParts.day : this.defaultParts.day)) !== null && _a !== void 0 ? _a : undefined;
1124
+ return (h("ion-picker-column", { class: "day-column", color: this.color, disabled: disabled, value: pickerColumnValue, onIonChange: (ev) => {
1124
1125
  // TODO(FW-1823) Remove this when iOS 14 support is dropped.
1125
1126
  // Due to a Safari 14 issue we need to destroy
1126
1127
  // the scroll listener before we update state
@@ -1134,7 +1135,7 @@ export class Datetime {
1134
1135
  // the working parts have been updated.
1135
1136
  this.initializeCalendarListener();
1136
1137
  ev.stopPropagation();
1137
- } }));
1138
+ } }, days.map((day) => (h("ion-picker-column-option", { part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
1138
1139
  }
1139
1140
  renderMonthPickerColumn(months) {
1140
1141
  if (months.length === 0) {
@@ -1142,7 +1143,7 @@ export class Datetime {
1142
1143
  }
1143
1144
  const { disabled, workingParts } = this;
1144
1145
  const activePart = this.getActivePartsWithFallback();
1145
- return (h("ion-picker-column-internal", { class: "month-column", color: this.color, disabled: disabled, items: months, value: workingParts.month, onIonChange: (ev) => {
1146
+ return (h("ion-picker-column", { class: "month-column", color: this.color, disabled: disabled, value: workingParts.month, onIonChange: (ev) => {
1146
1147
  // TODO(FW-1823) Remove this when iOS 14 support is dropped.
1147
1148
  // Due to a Safari 14 issue we need to destroy
1148
1149
  // the scroll listener before we update state
@@ -1156,7 +1157,7 @@ export class Datetime {
1156
1157
  // the working parts have been updated.
1157
1158
  this.initializeCalendarListener();
1158
1159
  ev.stopPropagation();
1159
- } }));
1160
+ } }, months.map((month) => (h("ion-picker-column-option", { part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
1160
1161
  }
1161
1162
  renderYearPickerColumn(years) {
1162
1163
  if (years.length === 0) {
@@ -1164,7 +1165,7 @@ export class Datetime {
1164
1165
  }
1165
1166
  const { disabled, workingParts } = this;
1166
1167
  const activePart = this.getActivePartsWithFallback();
1167
- return (h("ion-picker-column-internal", { class: "year-column", color: this.color, disabled: disabled, items: years, value: workingParts.year, onIonChange: (ev) => {
1168
+ return (h("ion-picker-column", { class: "year-column", color: this.color, disabled: disabled, value: workingParts.year, onIonChange: (ev) => {
1168
1169
  // TODO(FW-1823) Remove this when iOS 14 support is dropped.
1169
1170
  // Due to a Safari 14 issue we need to destroy
1170
1171
  // the scroll listener before we update state
@@ -1178,7 +1179,7 @@ export class Datetime {
1178
1179
  // the working parts have been updated.
1179
1180
  this.initializeCalendarListener();
1180
1181
  ev.stopPropagation();
1181
- } }));
1182
+ } }, years.map((year) => (h("ion-picker-column-option", { part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
1182
1183
  }
1183
1184
  renderTimePickerColumns(forcePresentation) {
1184
1185
  if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
@@ -1207,22 +1208,22 @@ export class Datetime {
1207
1208
  if (hoursData.length === 0)
1208
1209
  return [];
1209
1210
  const activePart = this.getActivePartsWithFallback();
1210
- return (h("ion-picker-column-internal", { color: this.color, disabled: disabled, value: activePart.hour, items: hoursData, numericInput: true, onIonChange: (ev) => {
1211
+ return (h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
1211
1212
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
1212
1213
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { hour: ev.detail.value }));
1213
1214
  ev.stopPropagation();
1214
- } }));
1215
+ } }, hoursData.map((hour) => (h("ion-picker-column-option", { part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
1215
1216
  }
1216
1217
  renderMinutePickerColumn(minutesData) {
1217
1218
  const { disabled, workingParts } = this;
1218
1219
  if (minutesData.length === 0)
1219
1220
  return [];
1220
1221
  const activePart = this.getActivePartsWithFallback();
1221
- return (h("ion-picker-column-internal", { color: this.color, disabled: disabled, value: activePart.minute, items: minutesData, numericInput: true, onIonChange: (ev) => {
1222
+ return (h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
1222
1223
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
1223
1224
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { minute: ev.detail.value }));
1224
1225
  ev.stopPropagation();
1225
- } }));
1226
+ } }, minutesData.map((minute) => (h("ion-picker-column-option", { part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
1226
1227
  }
1227
1228
  renderDayPeriodPickerColumn(dayPeriodData) {
1228
1229
  const { disabled, workingParts } = this;
@@ -1231,12 +1232,12 @@ export class Datetime {
1231
1232
  }
1232
1233
  const activePart = this.getActivePartsWithFallback();
1233
1234
  const isDayPeriodRTL = isLocaleDayPeriodRTL(this.locale);
1234
- return (h("ion-picker-column-internal", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, items: dayPeriodData, onIonChange: (ev) => {
1235
+ return (h("ion-picker-column", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
1235
1236
  const hour = calculateHourFromAMPM(workingParts, ev.detail.value);
1236
1237
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
1237
1238
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { ampm: ev.detail.value, hour }));
1238
1239
  ev.stopPropagation();
1239
- } }));
1240
+ } }, dayPeriodData.map((dayPeriod) => (h("ion-picker-column-option", { part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
1240
1241
  }
1241
1242
  renderWheelView(forcePresentation) {
1242
1243
  const { locale } = this;
@@ -1257,26 +1258,11 @@ export class Datetime {
1257
1258
  const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
1258
1259
  // don't use the inheritAttributes util because it removes dir from the host, and we still need that
1259
1260
  const hostDir = this.el.getAttribute('dir') || undefined;
1260
- return (h("div", { class: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("ion-item", { part: "month-year-button", ref: (el) => (this.monthYearToggleItemRef = el), button: true, "aria-label": "Show year picker", detail: false, lines: "none", disabled: disabled, onClick: () => {
1261
- var _a;
1262
- this.toggleMonthAndYearView();
1263
- /**
1264
- * TODO: FW-3547
1265
- *
1266
- * Currently there is not a way to set the aria-label on the inner button
1267
- * on the `ion-item` and have it be reactive to changes. This is a workaround
1268
- * until we either refactor `ion-item` to a button or Stencil adds a way to
1269
- * have reactive props for built-in properties, such as `aria-label`.
1270
- */
1271
- const { monthYearToggleItemRef } = this;
1272
- if (monthYearToggleItemRef) {
1273
- const btn = (_a = monthYearToggleItemRef.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-native');
1274
- if (btn) {
1275
- const monthYearAriaLabel = this.showMonthAndYear ? 'Hide year picker' : 'Show year picker';
1276
- btn.setAttribute('aria-label', monthYearAriaLabel);
1277
- }
1278
- }
1279
- } }, h("ion-label", null, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
1261
+ return (h("div", { class: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("button", { class: {
1262
+ 'calendar-month-year-toggle': true,
1263
+ 'ion-activatable': true,
1264
+ 'ion-focusable': true,
1265
+ }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), mode === 'md' && h("ion-ripple-effect", null))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
1280
1266
  return h("div", { class: "day-of-week" }, d);
1281
1267
  }))));
1282
1268
  }
@@ -1437,7 +1423,7 @@ export class Datetime {
1437
1423
  * This will correctly scroll the element position to the correct time value,
1438
1424
  * before the popover is fully presented.
1439
1425
  */
1440
- const cols = ev.target.querySelectorAll('ion-picker-column-internal');
1426
+ const cols = ev.target.querySelectorAll('ion-picker-column');
1441
1427
  // TODO (FW-615): Potentially remove this when intersection observers are fixed in picker column
1442
1428
  cols.forEach((col) => col.scrollActiveItemIntoView());
1443
1429
  }, style: {
@@ -2365,3 +2351,5 @@ export class Datetime {
2365
2351
  }
2366
2352
  }
2367
2353
  let datetimeIds = 0;
2354
+ const WHEEL_ITEM_PART = 'wheel-item';
2355
+ const WHEEL_ITEM_ACTIVE_PART = `active`;