voyager-ionic-core 7.7.2 → 8.0.0-beta.1

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 (944) hide show
  1. package/components/action-sheet.js +4 -4
  2. package/components/alert.js +2 -2
  3. package/components/backdrop.js +1 -13
  4. package/components/button-active.js +1 -1
  5. package/components/button.js +2 -2
  6. package/components/checkbox.js +8 -80
  7. package/components/data.js +1 -1
  8. package/components/gesture-controller.js +1 -1
  9. package/components/helpers.js +2 -2
  10. package/components/index9.js +1 -1
  11. package/components/input-shims.js +8 -1
  12. package/components/ion-accordion-group.js +1 -1
  13. package/components/ion-back-button.js +1 -1
  14. package/components/ion-badge.js +2 -2
  15. package/components/ion-breadcrumb.js +2 -2
  16. package/components/ion-card-subtitle.js +2 -2
  17. package/components/ion-card-title.js +1 -1
  18. package/components/ion-card.js +2 -2
  19. package/components/ion-chip.js +2 -2
  20. package/components/ion-col.js +2 -2
  21. package/components/ion-content.js +5 -6
  22. package/components/ion-datetime-button.js +5 -5
  23. package/components/ion-datetime.js +41 -105
  24. package/components/ion-fab-button.js +4 -4
  25. package/components/ion-fab-list.js +3 -3
  26. package/components/ion-fab.js +2 -2
  27. package/components/ion-footer.js +3 -3
  28. package/components/ion-grid.js +2 -2
  29. package/components/ion-header.js +3 -3
  30. package/components/ion-img.js +1 -1
  31. package/components/ion-infinite-scroll-content.js +4 -4
  32. package/components/ion-infinite-scroll.js +1 -1
  33. package/components/ion-input.js +7 -93
  34. package/components/ion-item-divider.js +4 -4
  35. package/components/ion-item-group.js +1 -1
  36. package/components/ion-item-option.js +4 -4
  37. package/components/ion-item-options.js +4 -4
  38. package/components/ion-item-sliding.js +2 -2
  39. package/components/ion-loading.js +4 -4
  40. package/components/ion-menu-button.js +3 -3
  41. package/components/ion-menu-toggle.js +2 -2
  42. package/components/ion-menu.js +28 -43
  43. package/components/ion-modal.js +43 -28
  44. package/components/ion-nav-link.js +1 -1
  45. package/components/ion-nav.js +9 -5
  46. package/components/ion-picker-column-option.d.ts +11 -0
  47. package/components/ion-picker-column-option.js +9 -0
  48. package/components/ion-picker-column.js +2 -2
  49. package/components/ion-picker-legacy-column.d.ts +11 -0
  50. package/components/ion-picker-legacy-column.js +9 -0
  51. package/components/{ion-picker-internal.d.ts → ion-picker-legacy.d.ts} +4 -4
  52. package/components/ion-picker-legacy.js +321 -0
  53. package/components/ion-picker.js +1 -315
  54. package/components/ion-progress-bar.js +7 -4
  55. package/components/ion-range.js +34 -88
  56. package/components/ion-refresher-content.js +1 -1
  57. package/components/ion-refresher.js +4 -4
  58. package/components/ion-reorder-group.js +1 -1
  59. package/components/ion-reorder.js +1 -1
  60. package/components/ion-router-link.js +3 -3
  61. package/components/ion-router-outlet.js +2 -2
  62. package/components/ion-router.js +1 -1
  63. package/components/ion-row.js +1 -1
  64. package/components/ion-searchbar.js +7 -7
  65. package/components/ion-segment-button.js +5 -5
  66. package/components/ion-segment.js +2 -2
  67. package/components/ion-select-option.js +1 -1
  68. package/components/ion-select.js +67 -161
  69. package/components/ion-skeleton-text.js +2 -2
  70. package/components/ion-split-pane.js +28 -17
  71. package/components/ion-tab-bar.js +4 -4
  72. package/components/ion-tab-button.js +4 -4
  73. package/components/ion-tab.js +2 -2
  74. package/components/ion-tabs.js +1 -1
  75. package/components/ion-text.js +2 -2
  76. package/components/ion-textarea.js +7 -70
  77. package/components/ion-thumbnail.js +1 -1
  78. package/components/ion-title.js +3 -3
  79. package/components/ion-toast.js +12 -6
  80. package/components/ion-toggle.js +7 -64
  81. package/components/ion-toolbar.js +4 -4
  82. package/components/item.js +22 -7
  83. package/components/label.js +3 -3
  84. package/components/list-header.js +4 -4
  85. package/components/list.js +2 -2
  86. package/components/note.js +4 -4
  87. package/components/overlays.js +138 -42
  88. package/components/picker-column-option.js +124 -0
  89. package/components/picker-column.js +367 -324
  90. package/components/picker-column2.js +381 -0
  91. package/components/{picker-internal.js → picker.js} +33 -26
  92. package/components/popover.js +6 -6
  93. package/components/radio-group.js +1 -1
  94. package/components/radio.js +8 -81
  95. package/components/refresher.utils.js +1 -1
  96. package/components/ripple-effect.js +1 -1
  97. package/components/select-popover.js +2 -2
  98. package/components/spinner.js +1 -1
  99. package/components/swipe-back.js +1 -1
  100. package/css/core.css +90 -27
  101. package/css/core.css.map +1 -1
  102. package/css/display.css.map +1 -1
  103. package/css/float-elements.css.map +1 -1
  104. package/css/global.bundle.css +1 -1
  105. package/css/global.bundle.css.map +1 -1
  106. package/css/ionic-swiper.css.map +1 -1
  107. package/css/ionic.bundle.css +1 -1
  108. package/css/ionic.bundle.css.map +1 -1
  109. package/css/padding.css.map +1 -1
  110. package/css/structure.css.map +1 -1
  111. package/css/text-alignment.css.map +1 -1
  112. package/css/text-transformation.css.map +1 -1
  113. package/css/themes/dark.always.css +160 -0
  114. package/css/themes/dark.always.css.map +1 -0
  115. package/css/themes/dark.class.css +160 -0
  116. package/css/themes/dark.class.css.map +1 -0
  117. package/css/themes/dark.css +3 -0
  118. package/css/themes/dark.css.map +1 -0
  119. package/css/themes/dark.system.css +162 -0
  120. package/css/themes/dark.system.css.map +1 -0
  121. package/css/themes/high-contrast-dark.always.css +180 -0
  122. package/css/themes/high-contrast-dark.always.css.map +1 -0
  123. package/css/themes/high-contrast-dark.class.css +180 -0
  124. package/css/themes/high-contrast-dark.class.css.map +1 -0
  125. package/css/themes/high-contrast-dark.css +3 -0
  126. package/css/themes/high-contrast-dark.css.map +1 -0
  127. package/css/themes/high-contrast-dark.system.css +182 -0
  128. package/css/themes/high-contrast-dark.system.css.map +1 -0
  129. package/css/themes/high-contrast.always.css +101 -0
  130. package/css/themes/high-contrast.always.css.map +1 -0
  131. package/css/themes/high-contrast.class.css +101 -0
  132. package/css/themes/high-contrast.class.css.map +1 -0
  133. package/css/themes/high-contrast.css +3 -0
  134. package/css/themes/high-contrast.css.map +1 -0
  135. package/css/themes/high-contrast.system.css +103 -0
  136. package/css/themes/high-contrast.system.css.map +1 -0
  137. package/css/typography.css +1 -1
  138. package/css/typography.css.map +1 -1
  139. package/css/utils.bundle.css.map +1 -1
  140. package/dist/cjs/{animation-fdab9de5.js → animation-4ad55058.js} +1 -1
  141. package/dist/cjs/{app-globals-92ad1b3d.js → app-globals-4d26cb5a.js} +1 -1
  142. package/dist/cjs/{button-active-2d6520ec.js → button-active-e447f58b.js} +3 -3
  143. package/dist/cjs/{data-a5109f09.js → data-e2bf21de.js} +1 -1
  144. package/dist/cjs/{framework-delegate-a3e6d060.js → framework-delegate-53817ef1.js} +1 -1
  145. package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
  146. package/dist/cjs/{hardware-back-button-2696acaf.js → hardware-back-button-4cb049f1.js} +2 -2
  147. package/dist/cjs/{helpers-2e1028fa.js → helpers-b71ca811.js} +2 -3
  148. package/dist/cjs/{index-53d162b2.js → index-347883f6.js} +1 -1
  149. package/dist/cjs/{index-10da82ce.js → index-7574e3d2.js} +1 -1
  150. package/dist/cjs/{index-c3580a90.js → index-92bb95d6.js} +4 -4
  151. package/dist/cjs/{index-a43f7a0f.js → index-bbc5b1f7.js} +4 -4
  152. package/dist/cjs/{index-0ffe376d.js → index-ea266398.js} +2 -2
  153. package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
  154. package/dist/cjs/index.cjs.js +13 -13
  155. package/dist/cjs/{input-shims-6f804705.js → input-shims-679d87bc.js} +10 -3
  156. package/dist/cjs/{input.utils-d693d18a.js → input.utils-5175aea1.js} +1 -1
  157. package/dist/cjs/ion-accordion_2.cjs.entry.js +4 -4
  158. package/dist/cjs/ion-action-sheet.cjs.entry.js +14 -14
  159. package/dist/cjs/ion-alert.cjs.entry.js +12 -12
  160. package/dist/cjs/ion-app_8.cjs.entry.js +28 -29
  161. package/dist/cjs/ion-avatar_3.cjs.entry.js +5 -5
  162. package/dist/cjs/ion-back-button.cjs.entry.js +4 -4
  163. package/dist/cjs/ion-backdrop.cjs.entry.js +3 -15
  164. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +5 -5
  165. package/dist/cjs/ion-button_2.cjs.entry.js +5 -5
  166. package/dist/cjs/ion-card_5.cjs.entry.js +8 -8
  167. package/dist/cjs/ion-checkbox.cjs.entry.js +9 -77
  168. package/dist/cjs/ion-chip.cjs.entry.js +4 -4
  169. package/dist/cjs/ion-col_3.cjs.entry.js +7 -7
  170. package/dist/cjs/ion-datetime-button.cjs.entry.js +9 -9
  171. package/dist/cjs/ion-datetime_3.cjs.entry.js +56 -110
  172. package/dist/cjs/ion-fab_3.cjs.entry.js +12 -12
  173. package/dist/cjs/ion-img.cjs.entry.js +4 -4
  174. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +9 -9
  175. package/dist/cjs/ion-input.cjs.entry.js +12 -92
  176. package/dist/cjs/ion-item-option_3.cjs.entry.js +13 -13
  177. package/dist/cjs/ion-item_8.cjs.entry.js +45 -30
  178. package/dist/cjs/ion-loading.cjs.entry.js +12 -11
  179. package/dist/cjs/ion-menu_3.cjs.entry.js +40 -56
  180. package/dist/cjs/ion-modal.cjs.entry.js +53 -38
  181. package/dist/cjs/ion-nav_2.cjs.entry.js +13 -10
  182. package/dist/cjs/ion-picker-column-option.cjs.entry.js +106 -0
  183. package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +124 -93
  184. package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +32 -25
  185. package/dist/cjs/ion-popover.cjs.entry.js +13 -12
  186. package/dist/cjs/ion-progress-bar.cjs.entry.js +9 -6
  187. package/dist/cjs/ion-radio_2.cjs.entry.js +10 -79
  188. package/dist/cjs/ion-range.cjs.entry.js +37 -90
  189. package/dist/cjs/ion-refresher_2.cjs.entry.js +12 -12
  190. package/dist/cjs/ion-reorder_2.cjs.entry.js +7 -7
  191. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  192. package/dist/cjs/ion-route_4.cjs.entry.js +6 -6
  193. package/dist/cjs/ion-searchbar.cjs.entry.js +9 -9
  194. package/dist/cjs/ion-segment_2.cjs.entry.js +11 -11
  195. package/dist/cjs/ion-select_3.cjs.entry.js +80 -171
  196. package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
  197. package/dist/cjs/ion-split-pane.cjs.entry.js +28 -18
  198. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +11 -11
  199. package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
  200. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  201. package/dist/cjs/ion-textarea.cjs.entry.js +11 -71
  202. package/dist/cjs/ion-toast.cjs.entry.js +20 -14
  203. package/dist/cjs/ion-toggle.cjs.entry.js +10 -66
  204. package/dist/cjs/{ionic-global-59a10130.js → ionic-global-59aa7eb7.js} +1 -1
  205. package/dist/cjs/ionic.cjs.js +5 -5
  206. package/dist/cjs/{ios.transition-c3b11cc3.js → ios.transition-997fe325.js} +4 -4
  207. package/dist/cjs/loader.cjs.js +4 -4
  208. package/dist/cjs/{md.transition-82a8c649.js → md.transition-2b76c2c6.js} +4 -4
  209. package/dist/cjs/{notch-controller-db0127c4.js → notch-controller-8e0ae870.js} +1 -1
  210. package/dist/cjs/{overlays-fb7ca451.js → overlays-3d02b54f.js} +141 -44
  211. package/dist/cjs/{status-tap-692f6d32.js → status-tap-3761c2d4.js} +3 -3
  212. package/dist/cjs/{swipe-back-7a848bb8.js → swipe-back-5b71fc62.js} +3 -3
  213. package/dist/collection/collection-manifest.json +8 -7
  214. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -26
  215. package/dist/collection/components/action-sheet/action-sheet.ios.css +16 -9
  216. package/dist/collection/components/action-sheet/action-sheet.js +2 -2
  217. package/dist/collection/components/action-sheet/action-sheet.md.css +10 -3
  218. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +23 -14
  219. package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +19 -0
  220. package/dist/collection/components/action-sheet/test/basic/action-sheet.spec.js +22 -0
  221. package/dist/collection/components/alert/alert.ios.css +33 -80
  222. package/dist/collection/components/alert/alert.md.css +25 -121
  223. package/dist/collection/components/alert/test/a11y/alert.e2e.js +22 -9
  224. package/dist/collection/components/back-button/back-button.ios.css +1 -1
  225. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +21 -0
  226. package/dist/collection/components/backdrop/backdrop.js +1 -13
  227. package/dist/collection/components/badge/badge.ios.css +1 -1
  228. package/dist/collection/components/badge/badge.md.css +1 -1
  229. package/dist/collection/components/badge/test/a11y/badge.e2e.js +18 -0
  230. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +9 -9
  231. package/dist/collection/components/breadcrumb/breadcrumb.md.css +9 -9
  232. package/dist/collection/components/button/button.ios.css +11 -11
  233. package/dist/collection/components/button/button.md.css +9 -9
  234. package/dist/collection/components/button/test/a11y/button.e2e.js +48 -0
  235. package/dist/collection/components/button/test/wrap/button.e2e.js +12 -24
  236. package/dist/collection/components/card/card.ios.css +1 -1
  237. package/dist/collection/components/card/card.md.css +1 -1
  238. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +1 -1
  239. package/dist/collection/components/card-subtitle/card-subtitle.md.css +1 -1
  240. package/dist/collection/components/card-title/card-title.md.css +1 -1
  241. package/dist/collection/components/checkbox/checkbox.ios.css +10 -88
  242. package/dist/collection/components/checkbox/checkbox.js +5 -118
  243. package/dist/collection/components/checkbox/checkbox.md.css +7 -85
  244. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +11 -2
  245. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +10 -0
  246. package/dist/collection/components/chip/chip.js +2 -2
  247. package/dist/collection/components/col/col.js +2 -2
  248. package/dist/collection/components/content/content.css +0 -4
  249. package/dist/collection/components/content/content.js +3 -4
  250. package/dist/collection/components/datetime/datetime.ios.css +105 -117
  251. package/dist/collection/components/datetime/datetime.js +25 -77
  252. package/dist/collection/components/datetime/datetime.md.css +106 -114
  253. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  254. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
  255. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +13 -1
  256. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  257. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  258. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  259. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  260. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  261. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +43 -41
  262. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  263. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  264. package/dist/collection/components/datetime/test/values/datetime.e2e.js +15 -12
  265. package/dist/collection/components/datetime/utils/data.js +1 -1
  266. package/dist/collection/components/datetime-button/datetime-button.ios.css +107 -0
  267. package/dist/collection/components/datetime-button/datetime-button.js +5 -5
  268. package/dist/collection/components/datetime-button/{datetime-button.css → datetime-button.md.css} +10 -7
  269. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +12 -0
  270. package/dist/collection/components/fab/fab.js +2 -2
  271. package/dist/collection/components/fab-button/fab-button.ios.css +7 -7
  272. package/dist/collection/components/fab-button/fab-button.js +2 -2
  273. package/dist/collection/components/fab-button/fab-button.md.css +1 -1
  274. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +50 -0
  275. package/dist/collection/components/fab-list/fab-list.css +4 -42
  276. package/dist/collection/components/fab-list/fab-list.js +2 -2
  277. package/dist/collection/components/footer/footer.js +2 -2
  278. package/dist/collection/components/grid/grid.js +2 -2
  279. package/dist/collection/components/header/header.js +2 -2
  280. package/dist/collection/components/img/img.js +1 -1
  281. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  282. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +3 -3
  283. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  284. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +3 -3
  285. package/dist/collection/components/input/input.ios.css +11 -104
  286. package/dist/collection/components/input/input.js +6 -144
  287. package/dist/collection/components/input/input.md.css +35 -216
  288. package/dist/collection/components/input/test/a11y/input.e2e.js +41 -3
  289. package/dist/collection/components/input/test/item/input.e2e.js +21 -0
  290. package/dist/collection/components/item/item.ios.css +7 -31
  291. package/dist/collection/components/item/item.js +20 -5
  292. package/dist/collection/components/item/item.md.css +29 -112
  293. package/dist/collection/components/item/test/a11y/item.e2e.js +0 -40
  294. package/dist/collection/components/item-divider/item-divider.ios.css +3 -3
  295. package/dist/collection/components/item-divider/item-divider.js +2 -2
  296. package/dist/collection/components/item-divider/item-divider.md.css +7 -17
  297. package/dist/collection/components/item-group/item-group.js +1 -1
  298. package/dist/collection/components/item-option/item-option.ios.css +2 -2
  299. package/dist/collection/components/item-option/item-option.js +2 -2
  300. package/dist/collection/components/item-option/item-option.md.css +1 -1
  301. package/dist/collection/components/item-options/item-options.ios.css +1 -1
  302. package/dist/collection/components/item-options/item-options.js +1 -1
  303. package/dist/collection/components/item-options/item-options.md.css +1 -1
  304. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  305. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +28 -0
  306. package/dist/collection/components/label/label.ios.css +1 -5
  307. package/dist/collection/components/label/label.js +1 -1
  308. package/dist/collection/components/label/label.md.css +2 -6
  309. package/dist/collection/components/label/test/a11y/label.e2e.js +20 -0
  310. package/dist/collection/components/label/test/item/item.e2e.js +24 -0
  311. package/dist/collection/components/list/list.js +1 -1
  312. package/dist/collection/components/list/list.md.css +2 -26
  313. package/dist/collection/components/list-header/list-header.ios.css +2 -2
  314. package/dist/collection/components/list-header/list-header.js +2 -2
  315. package/dist/collection/components/list-header/list-header.md.css +1 -1
  316. package/dist/collection/components/loading/loading.ios.css +2 -2
  317. package/dist/collection/components/loading/loading.js +2 -2
  318. package/dist/collection/components/loading/loading.md.css +3 -3
  319. package/dist/collection/components/loading/test/a11y/loading.e2e.js +21 -5
  320. package/dist/collection/components/menu/menu.ios.css +72 -53
  321. package/dist/collection/components/menu/menu.js +25 -39
  322. package/dist/collection/components/menu/menu.md.css +72 -53
  323. package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
  324. package/dist/collection/components/menu-button/menu-button.js +2 -2
  325. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +14 -0
  326. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  327. package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -1
  328. package/dist/collection/components/modal/modal.ios.css +9 -38
  329. package/dist/collection/components/modal/modal.js +37 -5
  330. package/dist/collection/components/modal/modal.md.css +1 -1
  331. package/dist/collection/components/modal/test/modal-attributes.spec.js +32 -0
  332. package/dist/collection/components/modal/utils.js +2 -8
  333. package/dist/collection/components/nav/nav.js +23 -3
  334. package/dist/collection/components/nav/test/nav-controller.spec.js +36 -36
  335. package/dist/collection/components/nav-link/nav-link.js +1 -1
  336. package/dist/collection/components/note/note.ios.css +1 -1
  337. package/dist/collection/components/note/note.js +2 -2
  338. package/dist/collection/components/note/note.md.css +1 -1
  339. package/dist/collection/components/picker/picker.ios.css +97 -234
  340. package/dist/collection/components/picker/picker.js +488 -742
  341. package/dist/collection/components/picker/picker.md.css +98 -226
  342. package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
  343. package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
  344. package/dist/collection/components/picker/test/custom/picker.e2e.js +85 -0
  345. package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +79 -42
  346. package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-column/picker-column.css} +96 -83
  347. package/dist/collection/components/picker-column/picker-column.js +514 -335
  348. package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
  349. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +91 -0
  350. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
  351. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
  352. package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
  353. package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
  354. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
  355. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
  356. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +29 -0
  357. package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.ios.css} +155 -117
  358. package/dist/collection/components/picker-legacy/picker.js +821 -0
  359. package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy/picker.md.css} +144 -115
  360. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
  361. package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
  362. package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
  363. package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
  364. package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.ios.css +2 -26
  365. package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
  366. package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.md.css +3 -27
  367. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
  368. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
  369. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
  370. package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
  371. package/dist/collection/components/popover/popover.ios.css +3 -27
  372. package/dist/collection/components/popover/popover.js +5 -4
  373. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -11
  374. package/dist/collection/components/progress-bar/progress-bar.js +4 -1
  375. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -10
  376. package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +24 -0
  377. package/dist/collection/components/radio/radio.ios.css +10 -101
  378. package/dist/collection/components/radio/radio.js +5 -119
  379. package/dist/collection/components/radio/radio.md.css +8 -105
  380. package/dist/collection/components/radio/test/a11y/radio.e2e.js +114 -81
  381. package/dist/collection/components/radio-group/radio-group.js +1 -1
  382. package/dist/collection/components/range/range.ios.css +12 -90
  383. package/dist/collection/components/range/range.js +30 -123
  384. package/dist/collection/components/range/range.md.css +22 -152
  385. package/dist/collection/components/range/test/a11y/range.e2e.js +20 -10
  386. package/dist/collection/components/range/test/range-events.e2e.js +1 -1
  387. package/dist/collection/components/range/test/range.spec.js +0 -12
  388. package/dist/collection/components/refresher/refresher.ios.css +4 -27
  389. package/dist/collection/components/refresher/refresher.js +1 -1
  390. package/dist/collection/components/refresher/refresher.md.css +7 -30
  391. package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +26 -0
  392. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  393. package/dist/collection/components/reorder/reorder.js +1 -1
  394. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  395. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  396. package/dist/collection/components/router-link/router-link.css +1 -1
  397. package/dist/collection/components/router-link/router-link.js +2 -2
  398. package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +23 -0
  399. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  400. package/dist/collection/components/row/row.js +1 -1
  401. package/dist/collection/components/searchbar/searchbar.ios.css +11 -59
  402. package/dist/collection/components/searchbar/searchbar.js +4 -4
  403. package/dist/collection/components/searchbar/searchbar.md.css +10 -82
  404. package/dist/collection/components/segment/segment.js +2 -2
  405. package/dist/collection/components/segment/test/a11y/segment.e2e.js +23 -0
  406. package/dist/collection/components/segment-button/segment-button.ios.css +3 -3
  407. package/dist/collection/components/segment-button/segment-button.js +3 -3
  408. package/dist/collection/components/segment-button/segment-button.md.css +2 -2
  409. package/dist/collection/components/select/select.ios.css +10 -81
  410. package/dist/collection/components/select/select.js +66 -175
  411. package/dist/collection/components/select/select.md.css +38 -169
  412. package/dist/collection/components/select/test/a11y/select.e2e.js +68 -4
  413. package/dist/collection/components/select-option/select-option.js +1 -1
  414. package/dist/collection/components/select-popover/select-popover.js +1 -1
  415. package/dist/collection/components/select-popover/select-popover.md.css +4 -4
  416. package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +32 -0
  417. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  418. package/dist/collection/components/spinner/spinner.js +1 -1
  419. package/dist/collection/components/split-pane/split-pane.ios.css +3 -55
  420. package/dist/collection/components/split-pane/split-pane.js +48 -14
  421. package/dist/collection/components/split-pane/split-pane.md.css +3 -55
  422. package/dist/collection/components/split-pane/test/wrapped-menu/split-pane.e2e.js +41 -0
  423. package/dist/collection/components/tab/tab.js +2 -2
  424. package/dist/collection/components/tab-bar/tab-bar.ios.css +4 -4
  425. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  426. package/dist/collection/components/tab-bar/tab-bar.md.css +3 -3
  427. package/dist/collection/components/tab-button/tab-button.ios.css +16 -94
  428. package/dist/collection/components/tab-button/tab-button.js +2 -2
  429. package/dist/collection/components/tab-button/tab-button.md.css +10 -93
  430. package/dist/collection/components/tabs/tabs.js +1 -1
  431. package/dist/collection/components/text/text.js +2 -2
  432. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +41 -3
  433. package/dist/collection/components/textarea/test/item/textarea.e2e.js +21 -0
  434. package/dist/collection/components/textarea/textarea.ios.css +13 -103
  435. package/dist/collection/components/textarea/textarea.js +5 -84
  436. package/dist/collection/components/textarea/textarea.md.css +37 -226
  437. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  438. package/dist/collection/components/title/title.ios.css +2 -21
  439. package/dist/collection/components/title/title.js +2 -2
  440. package/dist/collection/components/toast/test/a11y/toast.e2e.js +89 -24
  441. package/dist/collection/components/toast/toast.ios.css +8 -55
  442. package/dist/collection/components/toast/toast.js +9 -3
  443. package/dist/collection/components/toast/toast.md.css +10 -57
  444. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +8 -2
  445. package/dist/collection/components/toggle/toggle.ios.css +11 -90
  446. package/dist/collection/components/toggle/toggle.js +5 -101
  447. package/dist/collection/components/toggle/toggle.md.css +6 -91
  448. package/dist/collection/components/toolbar/toolbar.ios.css +2 -2
  449. package/dist/collection/components/toolbar/toolbar.js +2 -2
  450. package/dist/collection/components/toolbar/toolbar.md.css +1 -1
  451. package/dist/collection/css/test/a11y/typography.e2e.js +18 -0
  452. package/dist/collection/themes/test/colors/theme.e2e.js +170 -0
  453. package/dist/collection/utils/focus-trap.js +78 -0
  454. package/dist/collection/utils/gesture/button-active.js +1 -1
  455. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  456. package/dist/collection/utils/helpers.js +1 -1
  457. package/dist/collection/utils/input-shims/input-shims.js +8 -1
  458. package/dist/collection/utils/native/status-bar.js +0 -11
  459. package/dist/collection/utils/overlays.js +63 -41
  460. package/dist/collection/utils/test/aria.spec.js +2 -1
  461. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
  462. package/dist/collection/utils/test/overlays/overlays.e2e.js +89 -0
  463. package/dist/collection/utils/test/playwright/generator.js +1 -0
  464. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  465. package/dist/docs.json +569 -331
  466. package/dist/esm/{animation-60dbdd13.js → animation-a4acf150.js} +1 -1
  467. package/dist/esm/{app-globals-5cf6195b.js → app-globals-cfb6787b.js} +1 -1
  468. package/dist/esm/{button-active-47ac8092.js → button-active-454e5c57.js} +3 -3
  469. package/dist/esm/{data-0f3ab200.js → data-691286f1.js} +1 -1
  470. package/dist/esm/{framework-delegate-fed7fe7c.js → framework-delegate-1eb3236c.js} +1 -1
  471. package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  472. package/dist/esm/{hardware-back-button-b410a047.js → hardware-back-button-3a14f99e.js} +2 -2
  473. package/dist/esm/{helpers-c0b9ca37.js → helpers-ae74b3c9.js} +2 -2
  474. package/dist/esm/{index-47b2066d.js → index-03086279.js} +4 -4
  475. package/dist/esm/{index-d64f34ea.js → index-1f563746.js} +1 -1
  476. package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
  477. package/dist/esm/{index-0b4beb69.js → index-5847f4a9.js} +4 -4
  478. package/dist/esm/{index-eb12ef92.js → index-66871a1d.js} +1 -1
  479. package/dist/esm/{index-4c30cddd.js → index-9b6d6df3.js} +2 -2
  480. package/dist/esm/index.js +13 -13
  481. package/dist/esm/{input-shims-b90ca55f.js → input-shims-56c1f603.js} +10 -3
  482. package/dist/esm/{input.utils-6e9b0046.js → input.utils-482fc893.js} +1 -1
  483. package/dist/esm/ion-accordion_2.entry.js +4 -4
  484. package/dist/esm/ion-action-sheet.entry.js +14 -14
  485. package/dist/esm/ion-alert.entry.js +12 -12
  486. package/dist/esm/ion-app_8.entry.js +28 -29
  487. package/dist/esm/ion-avatar_3.entry.js +5 -5
  488. package/dist/esm/ion-back-button.entry.js +4 -4
  489. package/dist/esm/ion-backdrop.entry.js +3 -15
  490. package/dist/esm/ion-breadcrumb_2.entry.js +5 -5
  491. package/dist/esm/ion-button_2.entry.js +5 -5
  492. package/dist/esm/ion-card_5.entry.js +8 -8
  493. package/dist/esm/ion-checkbox.entry.js +9 -77
  494. package/dist/esm/ion-chip.entry.js +4 -4
  495. package/dist/esm/ion-col_3.entry.js +7 -7
  496. package/dist/esm/ion-datetime-button.entry.js +9 -9
  497. package/dist/esm/ion-datetime_3.entry.js +55 -109
  498. package/dist/esm/ion-fab_3.entry.js +12 -12
  499. package/dist/esm/ion-img.entry.js +4 -4
  500. package/dist/esm/ion-infinite-scroll_2.entry.js +9 -9
  501. package/dist/esm/ion-input.entry.js +12 -92
  502. package/dist/esm/ion-item-option_3.entry.js +13 -13
  503. package/dist/esm/ion-item_8.entry.js +45 -30
  504. package/dist/esm/ion-loading.entry.js +12 -11
  505. package/dist/esm/ion-menu_3.entry.js +41 -57
  506. package/dist/esm/ion-modal.entry.js +53 -38
  507. package/dist/esm/ion-nav_2.entry.js +13 -10
  508. package/dist/esm/ion-picker-column-option.entry.js +102 -0
  509. package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +124 -93
  510. package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +32 -25
  511. package/dist/esm/ion-popover.entry.js +13 -12
  512. package/dist/esm/ion-progress-bar.entry.js +9 -6
  513. package/dist/esm/ion-radio_2.entry.js +10 -79
  514. package/dist/esm/ion-range.entry.js +38 -91
  515. package/dist/esm/ion-refresher_2.entry.js +12 -12
  516. package/dist/esm/ion-reorder_2.entry.js +7 -7
  517. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  518. package/dist/esm/ion-route_4.entry.js +6 -6
  519. package/dist/esm/ion-searchbar.entry.js +9 -9
  520. package/dist/esm/ion-segment_2.entry.js +11 -11
  521. package/dist/esm/ion-select_3.entry.js +78 -169
  522. package/dist/esm/ion-spinner.entry.js +3 -3
  523. package/dist/esm/ion-split-pane.entry.js +28 -18
  524. package/dist/esm/ion-tab-bar_2.entry.js +11 -11
  525. package/dist/esm/ion-tab_2.entry.js +6 -6
  526. package/dist/esm/ion-text.entry.js +4 -4
  527. package/dist/esm/ion-textarea.entry.js +12 -72
  528. package/dist/esm/ion-toast.entry.js +21 -15
  529. package/dist/esm/ion-toggle.entry.js +10 -66
  530. package/dist/esm/{ionic-global-ad9a1810.js → ionic-global-c976d684.js} +1 -1
  531. package/dist/esm/ionic.js +6 -6
  532. package/dist/esm/{ios.transition-b76c7020.js → ios.transition-a097dbf5.js} +4 -4
  533. package/dist/esm/loader.js +5 -5
  534. package/dist/esm/{md.transition-564937a7.js → md.transition-b4170ef7.js} +4 -4
  535. package/dist/esm/{notch-controller-15d281a4.js → notch-controller-18bf9f76.js} +1 -1
  536. package/dist/esm/{overlays-04a9a43f.js → overlays-4ba3b255.js} +141 -45
  537. package/dist/esm/{status-tap-5a95077d.js → status-tap-7a12f017.js} +3 -3
  538. package/dist/esm/{swipe-back-fa0ec5cd.js → swipe-back-ae14449a.js} +3 -3
  539. package/dist/esm-es5/{animation-60dbdd13.js → animation-a4acf150.js} +1 -1
  540. package/dist/esm-es5/app-globals-cfb6787b.js +4 -0
  541. package/dist/esm-es5/button-active-454e5c57.js +4 -0
  542. package/dist/esm-es5/{framework-delegate-fed7fe7c.js → framework-delegate-1eb3236c.js} +1 -1
  543. package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  544. package/dist/esm-es5/{hardware-back-button-b410a047.js → hardware-back-button-3a14f99e.js} +1 -1
  545. package/dist/esm-es5/helpers-ae74b3c9.js +4 -0
  546. package/dist/esm-es5/{index-47b2066d.js → index-03086279.js} +1 -1
  547. package/dist/esm-es5/index-1f563746.js +4 -0
  548. package/dist/esm-es5/{index-2cf77112.js → index-39782642.js} +1 -1
  549. package/dist/esm-es5/{index-0b4beb69.js → index-5847f4a9.js} +1 -1
  550. package/dist/esm-es5/{index-eb12ef92.js → index-66871a1d.js} +1 -1
  551. package/dist/esm-es5/{index-4c30cddd.js → index-9b6d6df3.js} +1 -1
  552. package/dist/esm-es5/index.js +1 -1
  553. package/dist/esm-es5/{input-shims-b90ca55f.js → input-shims-56c1f603.js} +1 -1
  554. package/dist/esm-es5/{input.utils-6e9b0046.js → input.utils-482fc893.js} +1 -1
  555. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  556. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  557. package/dist/esm-es5/ion-alert.entry.js +1 -1
  558. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  559. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  560. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  561. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  562. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  563. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  564. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  565. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  566. package/dist/esm-es5/ion-chip.entry.js +1 -1
  567. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  568. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  569. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  570. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  571. package/dist/esm-es5/ion-img.entry.js +1 -1
  572. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  573. package/dist/esm-es5/ion-input.entry.js +1 -1
  574. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  575. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  576. package/dist/esm-es5/ion-loading.entry.js +1 -1
  577. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  578. package/dist/esm-es5/ion-modal.entry.js +1 -1
  579. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  580. package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
  581. package/dist/esm-es5/ion-picker-column.entry.js +4 -0
  582. package/dist/esm-es5/ion-picker.entry.js +4 -0
  583. package/dist/esm-es5/ion-popover.entry.js +1 -1
  584. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  585. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  586. package/dist/esm-es5/ion-range.entry.js +1 -1
  587. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  588. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  589. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  590. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  591. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  592. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  593. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  594. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  595. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  596. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  597. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  598. package/dist/esm-es5/ion-text.entry.js +1 -1
  599. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  600. package/dist/esm-es5/ion-toast.entry.js +1 -1
  601. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  602. package/dist/esm-es5/{ionic-global-ad9a1810.js → ionic-global-c976d684.js} +1 -1
  603. package/dist/esm-es5/ionic.js +1 -1
  604. package/dist/esm-es5/{ios.transition-b76c7020.js → ios.transition-a097dbf5.js} +1 -1
  605. package/dist/esm-es5/loader.js +1 -1
  606. package/dist/esm-es5/md.transition-b4170ef7.js +4 -0
  607. package/dist/esm-es5/{notch-controller-15d281a4.js → notch-controller-18bf9f76.js} +1 -1
  608. package/dist/esm-es5/overlays-4ba3b255.js +4 -0
  609. package/dist/esm-es5/{status-tap-5a95077d.js → status-tap-7a12f017.js} +1 -1
  610. package/dist/esm-es5/{swipe-back-fa0ec5cd.js → swipe-back-ae14449a.js} +1 -1
  611. package/dist/html.html-data.json +152 -37
  612. package/dist/ionic/index.esm.js +1 -1
  613. package/dist/ionic/ionic.esm.js +1 -1
  614. package/dist/ionic/ionic.js +1 -1
  615. package/dist/ionic/p-03f63663.system.js +4 -0
  616. package/dist/ionic/p-060fdc03.entry.js +4 -0
  617. package/dist/ionic/{p-b8c685a7.system.js → p-069388dd.system.js} +1 -1
  618. package/dist/ionic/p-06fccad7.entry.js +4 -0
  619. package/dist/ionic/p-09872ec8.system.entry.js +4 -0
  620. package/dist/ionic/p-0ca35c1d.system.entry.js +4 -0
  621. package/dist/ionic/p-134d4936.system.js +4 -0
  622. package/dist/ionic/{p-a3f572a7.js → p-15708968.js} +1 -1
  623. package/dist/ionic/p-1600d68c.system.entry.js +4 -0
  624. package/dist/ionic/p-19e79fe8.entry.js +4 -0
  625. package/dist/ionic/{p-61ba2137.system.js → p-19f6ac6c.system.js} +1 -1
  626. package/dist/ionic/{p-70e34286.system.entry.js → p-1a5ed3fe.system.entry.js} +1 -1
  627. package/dist/ionic/p-1a68de09.entry.js +4 -0
  628. package/dist/ionic/p-1bca443b.system.entry.js +4 -0
  629. package/dist/ionic/p-1c436e95.system.entry.js +4 -0
  630. package/dist/ionic/{p-657ccdd6.entry.js → p-1ce172db.entry.js} +1 -1
  631. package/dist/ionic/p-1e0a18a1.system.entry.js +4 -0
  632. package/dist/ionic/{p-c80c7e90.system.js → p-1ea88de9.system.js} +1 -1
  633. package/dist/ionic/p-1ed99eba.system.entry.js +4 -0
  634. package/dist/ionic/{p-de55ec45.js → p-1fa738c4.js} +1 -1
  635. package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
  636. package/dist/ionic/p-22d2a891.js +4 -0
  637. package/dist/ionic/p-239262e4.system.entry.js +4 -0
  638. package/dist/ionic/p-25850474.entry.js +4 -0
  639. package/dist/ionic/{p-ceceac26.js → p-27594fc2.js} +1 -1
  640. package/dist/ionic/{p-f0194418.system.entry.js → p-2b3e0d99.system.entry.js} +1 -1
  641. package/dist/ionic/p-300b2cf1.entry.js +4 -0
  642. package/dist/ionic/{p-6525a8cd.system.js → p-30892e0c.system.js} +1 -1
  643. package/dist/ionic/p-32bd7ed7.entry.js +4 -0
  644. package/dist/ionic/{p-74deb358.system.js → p-3410a9cb.system.js} +1 -1
  645. package/dist/ionic/{p-717e2526.system.entry.js → p-3bac30bf.system.entry.js} +2 -2
  646. package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
  647. package/dist/ionic/p-41970e75.entry.js +4 -0
  648. package/dist/ionic/p-43322b14.js +4 -0
  649. package/dist/ionic/p-4523be60.entry.js +4 -0
  650. package/dist/ionic/p-454b36f7.system.entry.js +4 -0
  651. package/dist/ionic/p-466bdeae.entry.js +4 -0
  652. package/dist/ionic/p-4825e380.entry.js +4 -0
  653. package/dist/ionic/{p-6871553b.system.js → p-4a8f173c.system.js} +1 -1
  654. package/dist/ionic/p-4ad02639.entry.js +4 -0
  655. package/dist/ionic/p-4c2cac66.entry.js +4 -0
  656. package/dist/ionic/{p-eb07b88f.entry.js → p-5a055df4.entry.js} +1 -1
  657. package/dist/ionic/{p-5d7e32ce.js → p-5aa60929.js} +1 -1
  658. package/dist/ionic/p-5afb6e48.entry.js +4 -0
  659. package/dist/ionic/p-5c3991e3.system.entry.js +4 -0
  660. package/dist/ionic/p-602494c6.entry.js +4 -0
  661. package/dist/ionic/{p-ed7a529f.js → p-60efe117.js} +1 -1
  662. package/dist/ionic/p-62f15daf.system.entry.js +4 -0
  663. package/dist/ionic/{p-30cd5e7b.js → p-65d3f0e9.js} +1 -1
  664. package/dist/ionic/p-6657681b.system.entry.js +4 -0
  665. package/dist/ionic/p-6d95943d.system.js +4 -0
  666. package/dist/ionic/p-6e1fa025.js +4 -0
  667. package/dist/ionic/{p-c11bab7e.entry.js → p-6e5eeb35.entry.js} +1 -1
  668. package/dist/ionic/p-6ef5f4da.entry.js +4 -0
  669. package/dist/ionic/{p-c308f773.entry.js → p-6f6d56f1.entry.js} +1 -1
  670. package/dist/ionic/{p-123b4809.js → p-6fd26009.js} +1 -1
  671. package/dist/ionic/p-70218e28.system.entry.js +4 -0
  672. package/dist/ionic/p-72bc2484.system.entry.js +4 -0
  673. package/dist/ionic/p-7541ca9f.system.entry.js +4 -0
  674. package/dist/ionic/{p-31c495c2.js → p-760dbd5e.js} +1 -1
  675. package/dist/ionic/p-7665bbbc.system.entry.js +4 -0
  676. package/dist/ionic/{p-5c580e89.entry.js → p-77982637.entry.js} +1 -1
  677. package/dist/ionic/{p-64856c3c.system.entry.js → p-780ff3b5.system.entry.js} +1 -1
  678. package/dist/ionic/p-7a3fa32c.entry.js +4 -0
  679. package/dist/ionic/{p-88e9052d.entry.js → p-7b44b443.entry.js} +1 -1
  680. package/dist/ionic/p-7b795aee.system.entry.js +4 -0
  681. package/dist/ionic/p-7cc01684.js +4 -0
  682. package/dist/ionic/{p-3c6f02cf.system.js → p-816476b0.system.js} +1 -1
  683. package/dist/ionic/p-81869a97.system.entry.js +4 -0
  684. package/dist/ionic/p-82d459c1.js +4 -0
  685. package/dist/ionic/{p-a85d9047.system.entry.js → p-82f5375e.system.entry.js} +1 -1
  686. package/dist/ionic/p-842777af.js +4 -0
  687. package/dist/ionic/p-85464e28.system.entry.js +4 -0
  688. package/dist/ionic/{p-95d5a097.entry.js → p-85cb4733.entry.js} +1 -1
  689. package/dist/ionic/{p-8794fa00.system.entry.js → p-874510e9.system.entry.js} +1 -1
  690. package/dist/ionic/{p-37c33319.system.js → p-8a50f8d6.system.js} +1 -1
  691. package/dist/ionic/{p-b5839dc2.js → p-8ab308e9.js} +1 -1
  692. package/dist/ionic/{p-3481d54e.system.entry.js → p-8aeed464.system.entry.js} +1 -1
  693. package/dist/ionic/p-8ba5912c.entry.js +4 -0
  694. package/dist/ionic/{p-94be3ad7.js → p-8d4d902b.js} +1 -1
  695. package/dist/ionic/p-8d50220b.system.js +4 -0
  696. package/dist/ionic/{p-72fa96bf.system.js → p-8d602214.system.js} +1 -1
  697. package/dist/ionic/p-8e3ee444.system.entry.js +4 -0
  698. package/dist/ionic/{p-7173ba59.system.entry.js → p-8e83b7f1.system.entry.js} +2 -2
  699. package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
  700. package/dist/ionic/p-91a72ad6.system.entry.js +4 -0
  701. package/dist/ionic/p-9382ebab.entry.js +4 -0
  702. package/dist/ionic/p-942c19cb.entry.js +4 -0
  703. package/dist/ionic/{p-a5951821.system.js → p-95e14c7b.system.js} +1 -1
  704. package/dist/ionic/p-96391c0e.entry.js +4 -0
  705. package/dist/ionic/{p-275705e5.entry.js → p-97135baa.entry.js} +1 -1
  706. package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
  707. package/dist/ionic/{p-c2289cd1.js → p-9d6f351e.js} +1 -1
  708. package/dist/ionic/{p-fd8ced99.system.js → p-9e3b3f15.system.js} +1 -1
  709. package/dist/ionic/{p-9ec7208d.system.js → p-a06af32c.system.js} +1 -1
  710. package/dist/ionic/p-a375c9f6.system.entry.js +4 -0
  711. package/dist/ionic/p-a58ec401.js +4 -0
  712. package/dist/ionic/p-a5b7a286.entry.js +4 -0
  713. package/dist/ionic/{p-9393a49f.js → p-a6cc38d4.js} +1 -1
  714. package/dist/ionic/{p-2e14c533.system.js → p-a71dc777.system.js} +1 -1
  715. package/dist/ionic/{p-d4cadd34.system.js → p-a8cc0027.system.js} +1 -1
  716. package/dist/ionic/{p-afd6d696.system.entry.js → p-aaca8dd4.system.entry.js} +1 -1
  717. package/dist/ionic/p-ad2b216a.system.entry.js +4 -0
  718. package/dist/ionic/p-add93c7a.entry.js +4 -0
  719. package/dist/ionic/{p-3079950e.entry.js → p-afcd4f49.entry.js} +1 -1
  720. package/dist/ionic/p-b1a9e85a.system.entry.js +4 -0
  721. package/dist/ionic/p-b4bb9cd0.system.entry.js +4 -0
  722. package/dist/ionic/p-baa409f1.system.entry.js +4 -0
  723. package/dist/ionic/p-bcb58446.entry.js +4 -0
  724. package/dist/ionic/p-c2336a9e.system.entry.js +4 -0
  725. package/dist/ionic/p-c38c5dfc.system.js +4 -0
  726. package/dist/ionic/{p-337ac0f5.entry.js → p-c3a2e5cc.entry.js} +1 -1
  727. package/dist/ionic/{p-a3df16b9.system.entry.js → p-c5b77291.system.entry.js} +1 -1
  728. package/dist/ionic/{p-b253ad7f.js → p-c880c809.js} +1 -1
  729. package/dist/ionic/{p-c747f89b.system.entry.js → p-cb0e4100.system.entry.js} +2 -2
  730. package/dist/ionic/{p-e2bb92ed.system.js → p-cb944b1a.system.js} +1 -1
  731. package/dist/ionic/p-cbc3840e.entry.js +4 -0
  732. package/dist/ionic/p-cd366840.system.entry.js +4 -0
  733. package/dist/ionic/p-cf852615.system.entry.js +4 -0
  734. package/dist/ionic/{p-ea25b4c8.system.entry.js → p-d4d0538c.system.entry.js} +1 -1
  735. package/dist/ionic/{p-027f3674.entry.js → p-d504bc71.entry.js} +1 -1
  736. package/dist/ionic/{p-86813176.system.entry.js → p-da83d833.system.entry.js} +1 -1
  737. package/dist/ionic/p-dcfc297d.system.entry.js +4 -0
  738. package/dist/ionic/p-ddc4e717.entry.js +4 -0
  739. package/dist/ionic/p-ded27993.entry.js +4 -0
  740. package/dist/ionic/p-e15eda82.system.js +4 -0
  741. package/dist/ionic/{p-43a5edee.entry.js → p-e38b3c29.entry.js} +1 -1
  742. package/dist/ionic/p-e470466e.entry.js +4 -0
  743. package/dist/ionic/p-e64277c4.entry.js +4 -0
  744. package/dist/ionic/{p-abcedc15.system.entry.js → p-ebe0be94.system.entry.js} +1 -1
  745. package/dist/ionic/{p-89ca4c4b.system.js → p-eec92f77.system.js} +1 -1
  746. package/dist/ionic/{p-23c73017.entry.js → p-ef99a759.entry.js} +1 -1
  747. package/dist/ionic/{p-601e17b4.entry.js → p-f16bfd53.entry.js} +1 -1
  748. package/dist/ionic/{p-b6279412.entry.js → p-f3d6085c.entry.js} +1 -1
  749. package/dist/ionic/p-f6a6b7ef.system.entry.js +4 -0
  750. package/dist/ionic/p-f71082f7.entry.js +4 -0
  751. package/dist/ionic/p-f7ed6a44.system.entry.js +4 -0
  752. package/dist/ionic/p-fc5ddbf6.entry.js +4 -0
  753. package/dist/ionic/p-fd94dd20.system.entry.js +4 -0
  754. package/dist/ionic/p-feb66f6f.entry.js +4 -0
  755. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +8 -0
  756. package/dist/types/components/backdrop/backdrop.d.ts +0 -3
  757. package/dist/types/components/checkbox/checkbox.d.ts +1 -24
  758. package/dist/types/components/datetime/datetime.d.ts +0 -1
  759. package/dist/types/components/datetime/utils/data.d.ts +11 -7
  760. package/dist/types/components/input/input.d.ts +0 -26
  761. package/dist/types/components/menu/menu.d.ts +12 -4
  762. package/dist/types/components/modal/utils.d.ts +0 -4
  763. package/dist/types/components/nav/nav.d.ts +4 -1
  764. package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
  765. package/dist/types/components/picker/picker.d.ts +75 -133
  766. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +4 -0
  767. package/dist/types/components/picker-column/picker-column.d.ts +99 -39
  768. package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
  769. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  770. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  771. package/dist/types/components/radio/radio.d.ts +1 -24
  772. package/dist/types/components/range/range.d.ts +1 -21
  773. package/dist/types/components/select/select.d.ts +0 -15
  774. package/dist/types/components/split-pane/split-pane.d.ts +14 -2
  775. package/dist/types/components/textarea/textarea.d.ts +0 -17
  776. package/dist/types/components/toast/toast-interface.d.ts +0 -4
  777. package/dist/types/components/toggle/toggle.d.ts +1 -21
  778. package/dist/types/components.d.ts +160 -195
  779. package/dist/types/interface.d.ts +1 -1
  780. package/dist/types/utils/config.d.ts +2 -2
  781. package/dist/types/utils/focus-trap.d.ts +35 -0
  782. package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
  783. package/dist/types/utils/helpers.d.ts +1 -1
  784. package/dist/types/utils/native/status-bar.d.ts +0 -1
  785. package/dist/types/utils/overlays.d.ts +5 -3
  786. package/dist/types/utils/test/playwright/generator.d.ts +3 -1
  787. package/hydrate/index.js +2095 -2398
  788. package/package.json +1 -2
  789. package/components/form-controller.js +0 -64
  790. package/components/ion-picker-column-internal.d.ts +0 -11
  791. package/components/ion-picker-column-internal.js +0 -9
  792. package/components/ion-picker-internal.js +0 -9
  793. package/components/picker-column-internal.js +0 -392
  794. package/dist/cjs/form-controller-7b90d7b7.js +0 -66
  795. package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +0 -68
  796. package/dist/collection/components/checkbox/test/legacy/indeterminate/checkbox.e2e.js +0 -14
  797. package/dist/collection/components/input/test/item/input.spec.js +0 -24
  798. package/dist/collection/components/input/test/legacy/a11y/input.e2e.js +0 -28
  799. package/dist/collection/components/input/test/legacy/basic/input.e2e.js +0 -181
  800. package/dist/collection/components/input/test/legacy/clear-on-edit/input.e2e.js +0 -55
  801. package/dist/collection/components/input/test/legacy/input-events.e2e.js +0 -71
  802. package/dist/collection/components/input/test/legacy/masking/input.e2e.js +0 -26
  803. package/dist/collection/components/input/test/legacy/spec/input.e2e.js +0 -16
  804. package/dist/collection/components/item/test/counter/item.e2e.js +0 -49
  805. package/dist/collection/components/item/test/highlight/item.e2e.js +0 -14
  806. package/dist/collection/components/item/test/legacy/alignment/item.e2e.js +0 -14
  807. package/dist/collection/components/item/test/legacy/fill/item.e2e.js +0 -14
  808. package/dist/collection/components/item/test/legacy/form/item.e2e.js +0 -14
  809. package/dist/collection/components/modal/test/a11y/modal.spec.js +0 -22
  810. package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -566
  811. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
  812. package/dist/collection/components/picker-internal/picker-internal.js +0 -560
  813. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
  814. package/dist/collection/components/radio/test/legacy/a11y/radio.e2e.js +0 -53
  815. package/dist/collection/components/radio/test/legacy/basic/radio.e2e.js +0 -127
  816. package/dist/collection/components/radio-group/test/legacy/basic/radio-group.e2e.js +0 -122
  817. package/dist/collection/components/radio-group/test/legacy/form/radio-group.e2e.js +0 -30
  818. package/dist/collection/components/radio-group/test/legacy/search/radio-group.e2e.js +0 -38
  819. package/dist/collection/components/range/test/legacy/a11y/range.e2e.js +0 -49
  820. package/dist/collection/components/range/test/legacy/active-bar-start/range.e2e.js +0 -14
  821. package/dist/collection/components/range/test/legacy/basic/range.e2e.js +0 -75
  822. package/dist/collection/components/range/test/legacy/range-events.e2e.js +0 -90
  823. package/dist/collection/components/range/test/legacy/scroll-target/range.e2e.js +0 -32
  824. package/dist/collection/components/select/test/legacy/async/select.e2e.js +0 -19
  825. package/dist/collection/components/select/test/legacy/basic/select.e2e.js +0 -145
  826. package/dist/collection/components/select/test/legacy/compare-with/select.e2e.js +0 -67
  827. package/dist/collection/components/select/test/legacy/custom/custom.e2e.js +0 -13
  828. package/dist/collection/components/select/test/legacy/single-value/select.e2e.js +0 -16
  829. package/dist/collection/components/select/test/legacy/spec/select.e2e.js +0 -14
  830. package/dist/collection/components/select/test/legacy/standalone/select.e2e.js +0 -18
  831. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +0 -39
  832. package/dist/collection/components/textarea/test/legacy/a11y/textarea.e2e.js +0 -31
  833. package/dist/collection/components/textarea/test/legacy/autogrow/textarea.e2e.js +0 -58
  834. package/dist/collection/components/textarea/test/legacy/basic/textarea.e2e.js +0 -43
  835. package/dist/collection/components/textarea/test/legacy/clear-on-edit/textarea.e2e.js +0 -25
  836. package/dist/collection/components/toggle/test/legacy/basic/toggle.e2e.js +0 -83
  837. package/dist/collection/components/toggle/test/legacy/enable-on-off-labels/toggle.e2e.js +0 -37
  838. package/dist/collection/components/toggle/test/legacy/sizes/power-outline.svg +0 -1
  839. package/dist/collection/components/toggle/test/legacy/sizes/toggle.e2e.js +0 -14
  840. package/dist/esm/form-controller-014aa89f.js +0 -64
  841. package/dist/esm-es5/app-globals-5cf6195b.js +0 -4
  842. package/dist/esm-es5/button-active-47ac8092.js +0 -4
  843. package/dist/esm-es5/form-controller-014aa89f.js +0 -4
  844. package/dist/esm-es5/helpers-c0b9ca37.js +0 -4
  845. package/dist/esm-es5/index-d64f34ea.js +0 -4
  846. package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
  847. package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
  848. package/dist/esm-es5/md.transition-564937a7.js +0 -4
  849. package/dist/esm-es5/overlays-04a9a43f.js +0 -4
  850. package/dist/ionic/p-0457213c.entry.js +0 -4
  851. package/dist/ionic/p-05d560ec.entry.js +0 -4
  852. package/dist/ionic/p-0b34d3a7.system.js +0 -4
  853. package/dist/ionic/p-0e23c289.system.entry.js +0 -4
  854. package/dist/ionic/p-1131946f.system.entry.js +0 -4
  855. package/dist/ionic/p-1636923f.system.js +0 -4
  856. package/dist/ionic/p-16a61810.entry.js +0 -4
  857. package/dist/ionic/p-18beebdf.system.entry.js +0 -4
  858. package/dist/ionic/p-1924f2e0.system.entry.js +0 -4
  859. package/dist/ionic/p-1f16d040.entry.js +0 -4
  860. package/dist/ionic/p-1f19958f.system.entry.js +0 -4
  861. package/dist/ionic/p-21ca1f1c.js +0 -4
  862. package/dist/ionic/p-2327064c.entry.js +0 -4
  863. package/dist/ionic/p-2e1f014a.system.entry.js +0 -4
  864. package/dist/ionic/p-30d77a91.system.js +0 -4
  865. package/dist/ionic/p-3471a7c0.system.entry.js +0 -4
  866. package/dist/ionic/p-396083cc.entry.js +0 -4
  867. package/dist/ionic/p-3a7de59c.entry.js +0 -4
  868. package/dist/ionic/p-3d961d93.entry.js +0 -4
  869. package/dist/ionic/p-3e9ad72a.system.entry.js +0 -4
  870. package/dist/ionic/p-42a9f663.system.entry.js +0 -4
  871. package/dist/ionic/p-49543c9c.system.js +0 -4
  872. package/dist/ionic/p-49aba878.js +0 -4
  873. package/dist/ionic/p-4f777b5e.js +0 -4
  874. package/dist/ionic/p-4fda5c35.entry.js +0 -4
  875. package/dist/ionic/p-502780e4.entry.js +0 -4
  876. package/dist/ionic/p-508a4c87.entry.js +0 -4
  877. package/dist/ionic/p-5928fac9.system.entry.js +0 -4
  878. package/dist/ionic/p-5b40d967.entry.js +0 -4
  879. package/dist/ionic/p-5c2ae448.js +0 -4
  880. package/dist/ionic/p-5c6a04bd.entry.js +0 -4
  881. package/dist/ionic/p-5cb5f63d.system.entry.js +0 -4
  882. package/dist/ionic/p-5e23bea8.system.entry.js +0 -4
  883. package/dist/ionic/p-5f169eba.entry.js +0 -4
  884. package/dist/ionic/p-64761c90.entry.js +0 -4
  885. package/dist/ionic/p-6486e393.system.entry.js +0 -4
  886. package/dist/ionic/p-64db1331.entry.js +0 -4
  887. package/dist/ionic/p-667e3e2d.entry.js +0 -4
  888. package/dist/ionic/p-68ba8e77.system.entry.js +0 -4
  889. package/dist/ionic/p-7b1ed642.system.entry.js +0 -4
  890. package/dist/ionic/p-7ce40e7b.entry.js +0 -4
  891. package/dist/ionic/p-8e651c29.entry.js +0 -4
  892. package/dist/ionic/p-9056778e.system.entry.js +0 -4
  893. package/dist/ionic/p-91cb3f9a.entry.js +0 -4
  894. package/dist/ionic/p-9cd7ba27.system.js +0 -4
  895. package/dist/ionic/p-a022b684.system.entry.js +0 -4
  896. package/dist/ionic/p-a0b28c69.system.entry.js +0 -4
  897. package/dist/ionic/p-a6e465f5.entry.js +0 -4
  898. package/dist/ionic/p-a8a56449.entry.js +0 -4
  899. package/dist/ionic/p-aaaa615c.system.entry.js +0 -4
  900. package/dist/ionic/p-ae35294f.system.entry.js +0 -4
  901. package/dist/ionic/p-b0ff8075.entry.js +0 -4
  902. package/dist/ionic/p-b2595011.system.entry.js +0 -4
  903. package/dist/ionic/p-ba97a133.system.entry.js +0 -4
  904. package/dist/ionic/p-bd4787eb.entry.js +0 -4
  905. package/dist/ionic/p-bdca4784.js +0 -4
  906. package/dist/ionic/p-bf05cbc7.entry.js +0 -4
  907. package/dist/ionic/p-c1797ec5.system.entry.js +0 -4
  908. package/dist/ionic/p-c39cc96d.system.entry.js +0 -4
  909. package/dist/ionic/p-c858f685.js +0 -4
  910. package/dist/ionic/p-cb9e71e0.entry.js +0 -4
  911. package/dist/ionic/p-cd9a7017.system.entry.js +0 -4
  912. package/dist/ionic/p-cde3ac34.system.entry.js +0 -4
  913. package/dist/ionic/p-d39ab63d.entry.js +0 -4
  914. package/dist/ionic/p-db30f71b.entry.js +0 -4
  915. package/dist/ionic/p-dbcba5a2.js +0 -4
  916. package/dist/ionic/p-dcb5711d.entry.js +0 -4
  917. package/dist/ionic/p-df504a37.system.js +0 -4
  918. package/dist/ionic/p-e04b9647.system.entry.js +0 -4
  919. package/dist/ionic/p-e81bf09e.system.entry.js +0 -4
  920. package/dist/ionic/p-e9f9388e.system.js +0 -4
  921. package/dist/ionic/p-edcada2b.system.entry.js +0 -4
  922. package/dist/ionic/p-f460c7ae.entry.js +0 -4
  923. package/dist/ionic/p-f53d074d.system.entry.js +0 -4
  924. package/dist/ionic/p-f840d817.entry.js +0 -4
  925. package/dist/ionic/p-f8c96502.system.entry.js +0 -4
  926. package/dist/ionic/p-fb9f8495.system.entry.js +0 -4
  927. package/dist/ionic/p-fd2aa50c.js +0 -4
  928. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +0 -5
  929. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
  930. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
  931. package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
  932. /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
  933. /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
  934. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
  935. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
  936. /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
  937. /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
  938. /package/dist/esm-es5/{data-0f3ab200.js → data-691286f1.js} +0 -0
  939. /package/dist/ionic/{p-f7dce541.js → p-5289aade.js} +0 -0
  940. /package/dist/ionic/{p-7330c044.system.js → p-66e6860f.system.js} +0 -0
  941. /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
  942. /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
  943. /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
  944. /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
@@ -81,8 +81,8 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
81
81
  const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent');
82
82
  await page.click('.time-body');
83
83
  await ionPopoverDidPresent.next();
84
- const hours = page.locator('ion-popover ion-picker-column-internal:nth-child(1) .picker-item:not(.picker-item-empty)');
85
- const minutes = page.locator('ion-popover ion-picker-column-internal:nth-child(2) .picker-item:not(.picker-item-empty)');
84
+ const hours = page.locator('ion-popover ion-picker-column:nth-child(1) ion-picker-column-option');
85
+ const minutes = page.locator('ion-popover ion-picker-column:nth-child(2) ion-picker-column-option');
86
86
  expect(await hours.count()).toBe(12);
87
87
  expect(await minutes.count()).toBe(60);
88
88
  });
@@ -159,7 +159,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
159
159
  value="2022-04-25T08:30:00"
160
160
  ></ion-datetime>
161
161
  `, config);
162
- const hourPickerItems = page.locator('ion-datetime ion-picker-column-internal:first-of-type .picker-item:not(.picker-item-empty)');
162
+ const hourPickerItems = page.locator('ion-datetime ion-picker-column:first-of-type ion-picker-column-option');
163
163
  await expect(hourPickerItems).toHaveText(['8', '9', '10', '11']);
164
164
  });
165
165
  test('should include 12PM when minimum is greater than 12', async ({ page }) => {
@@ -175,7 +175,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
175
175
  value="2022-07-29T12:00:00"
176
176
  ></ion-datetime>
177
177
  `, config);
178
- const hourPickerItems = page.locator('ion-datetime ion-picker-column-internal:first-of-type .picker-item:not(.picker-item-empty)');
178
+ const hourPickerItems = page.locator('ion-datetime ion-picker-column:first-of-type ion-picker-column-option');
179
179
  await expect(hourPickerItems).toHaveText(['12', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11']);
180
180
  });
181
181
  test.describe('minmax value adjustment when out of bounds', () => {
@@ -218,7 +218,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
218
218
  ></ion-datetime>
219
219
  `, config);
220
220
  const datetime = page.locator('ion-datetime');
221
- const monthColumnItems = page.locator('ion-datetime .month-column .picker-item:not(.picker-item-empty)');
221
+ const monthColumnItems = page.locator('ion-datetime .month-column ion-picker-column-option');
222
222
  const ionChange = await page.spyOnEvent('ionChange');
223
223
  await page.locator('.datetime-ready').waitFor();
224
224
  await monthColumnItems.nth(0).click(); // switch to January
@@ -258,7 +258,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
258
258
  const timeButton = page.locator('ion-datetime .time-body');
259
259
  await timeButton.click();
260
260
  await ionPopoverDidPresent.next();
261
- const hours = page.locator('ion-popover ion-picker-column-internal:nth-child(1) .picker-item:not(.picker-item-empty)');
261
+ const hours = page.locator('ion-popover ion-picker-column:nth-child(1) ion-picker-column-option');
262
262
  await expect(await hours.count()).toBe(4);
263
263
  });
264
264
  });
@@ -16,7 +16,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
16
16
  test('should hide the footer when picker is open', async ({ page }) => {
17
17
  const datetimeFooter = page.locator('#date-time .datetime-footer');
18
18
  await expect(datetimeFooter).toBeVisible();
19
- const pickerButton = page.locator('#date-time .calendar-month-year > ion-item');
19
+ const pickerButton = page.locator('#date-time .calendar-month-year > .calendar-month-year-toggle');
20
20
  await pickerButton.click();
21
21
  await page.waitForChanges();
22
22
  await expect(datetimeFooter).not.toBeVisible();
@@ -60,7 +60,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
60
60
  <ion-datetime presentation="date" prefer-wheel="true" min="2019-05-05" max="2023-10-01" value="2019-05-30"></ion-datetime>
61
61
  `, config);
62
62
  await page.locator('.datetime-ready').waitFor();
63
- const dayValues = page.locator('ion-datetime .day-column .picker-item[data-value]');
63
+ const dayValues = page.locator('ion-datetime .day-column ion-picker-column-option');
64
64
  expect(await dayValues.count()).toEqual(27);
65
65
  });
66
66
  test('should respect the max bounds', async ({ page }) => {
@@ -68,7 +68,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
68
68
  <ion-datetime presentation="date" prefer-wheel="true" min="2019-05-05" max="2023-10-01" value="2023-10-01"></ion-datetime>
69
69
  `, config);
70
70
  await page.locator('.datetime-ready').waitFor();
71
- const dayValues = page.locator('ion-datetime .day-column .picker-item[data-value]');
71
+ const dayValues = page.locator('ion-datetime .day-column ion-picker-column-option');
72
72
  expect(await dayValues.count()).toEqual(1);
73
73
  });
74
74
  test('should respect isDateEnabled preference', async ({ page }) => {
@@ -86,9 +86,9 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
86
86
  </script>
87
87
  `, config);
88
88
  await page.locator('.datetime-ready').waitFor();
89
- const disabledMonths = page.locator('.month-column .picker-item[disabled]');
90
- const disabledYears = page.locator('.year-column .picker-item[disabled]');
91
- const disabledDays = page.locator('.day-column .picker-item[disabled]');
89
+ const disabledMonths = page.locator('.month-column ion-picker-column-option.option-disabled');
90
+ const disabledYears = page.locator('.year-column ion-picker-column-option.option-disabled');
91
+ const disabledDays = page.locator('.day-column ion-picker-column-option.option-disabled');
92
92
  expect(await disabledMonths.count()).toBe(0);
93
93
  expect(await disabledYears.count()).toBe(0);
94
94
  expect(await disabledDays.count()).toBe(15);
@@ -105,9 +105,9 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
105
105
  ></ion-datetime>
106
106
  `, config);
107
107
  await page.locator('.datetime-ready').waitFor();
108
- const monthValues = page.locator('.month-column .picker-item:not(.picker-item-empty)');
109
- const yearValues = page.locator('.year-column .picker-item:not(.picker-item-empty)');
110
- const dayValues = page.locator('.day-column .picker-item:not(.picker-item-empty)');
108
+ const monthValues = page.locator('.month-column ion-picker-column-option');
109
+ const yearValues = page.locator('.year-column ion-picker-column-option');
110
+ const dayValues = page.locator('.day-column ion-picker-column-option');
111
111
  expect(await monthValues.count()).toBe(2);
112
112
  expect(await yearValues.count()).toBe(3);
113
113
  expect(await dayValues.count()).toBe(5);
@@ -134,7 +134,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
134
134
  `, config);
135
135
  await page.locator('.datetime-ready').waitFor();
136
136
  const ionChange = await page.spyOnEvent('ionChange');
137
- const monthValues = page.locator('.month-column .picker-item:not(.picker-item-empty)');
137
+ const monthValues = page.locator('.month-column ion-picker-column-option');
138
138
  // Change month value
139
139
  await monthValues.nth(0).click();
140
140
  await ionChange.next();
@@ -161,7 +161,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
161
161
  `, config);
162
162
  await page.locator('.datetime-ready').waitFor();
163
163
  const ionChange = await page.spyOnEvent('ionChange');
164
- const dayValues = page.locator('.day-column .picker-item:not(.picker-item-empty)');
164
+ const dayValues = page.locator('.day-column ion-picker-column-option');
165
165
  // Change day value
166
166
  await dayValues.nth(0).click();
167
167
  await ionChange.next();
@@ -175,7 +175,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
175
175
  `, config);
176
176
  await page.locator('.datetime-ready').waitFor();
177
177
  const ionChange = await page.spyOnEvent('ionChange');
178
- const yearValues = page.locator('.year-column .picker-item:not(.picker-item-empty)');
178
+ const yearValues = page.locator('.year-column ion-picker-column-option');
179
179
  /**
180
180
  * Change year value
181
181
  * The 0th index is the current
@@ -192,9 +192,9 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
192
192
  const datetime = page.locator('ion-datetime');
193
193
  await datetime.evaluate((el) => (el.value = '2021-05-25T12:40:00.000Z'));
194
194
  await page.waitForChanges();
195
- const selectedMonth = datetime.locator('.month-column .picker-item-active');
196
- const selectedDay = datetime.locator('.day-column .picker-item-active');
197
- const selectedYear = datetime.locator('.year-column .picker-item-active');
195
+ const selectedMonth = datetime.locator('.month-column ion-picker-column-option.option-active');
196
+ const selectedDay = datetime.locator('.day-column ion-picker-column-option.option-active');
197
+ const selectedYear = datetime.locator('.year-column ion-picker-column-option.option-active');
198
198
  await expect(selectedMonth).toHaveText(/May/);
199
199
  await expect(selectedDay).toHaveText(/25/);
200
200
  await expect(selectedYear).toHaveText(/2021/);
@@ -213,8 +213,8 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
213
213
  ></ion-datetime>
214
214
  `, config);
215
215
  await page.locator('.datetime-ready').waitFor();
216
- const monthValues = page.locator('.month-column .picker-item:not(.picker-item-empty)');
217
- const dayValues = page.locator('.day-column .picker-item:not(.picker-item-empty)');
216
+ const monthValues = page.locator('.month-column ion-picker-column-option');
217
+ const dayValues = page.locator('.day-column ion-picker-column-option');
218
218
  await expect(monthValues).toHaveText(['1月', '2月', '3月']);
219
219
  await expect(dayValues).toHaveText(['1日', '2日', '3日']);
220
220
  });
@@ -228,7 +228,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
228
228
  ></ion-datetime>
229
229
  `, config);
230
230
  await page.locator('.datetime-ready').waitFor();
231
- const columns = page.locator('ion-picker-column-internal');
231
+ const columns = page.locator('ion-picker-column');
232
232
  await expect(columns.nth(0)).toHaveClass(/month-column/);
233
233
  await expect(columns.nth(1)).toHaveClass(/day-column/);
234
234
  await expect(columns.nth(2)).toHaveClass(/year-column/);
@@ -243,7 +243,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
243
243
  ></ion-datetime>
244
244
  `, config);
245
245
  await page.locator('.datetime-ready').waitFor();
246
- const columns = page.locator('ion-picker-column-internal');
246
+ const columns = page.locator('ion-picker-column');
247
247
  await expect(columns.nth(0)).toHaveClass(/day-column/);
248
248
  await expect(columns.nth(1)).toHaveClass(/month-column/);
249
249
  await expect(columns.nth(2)).toHaveClass(/year-column/);
@@ -256,7 +256,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
256
256
  <ion-datetime presentation="date-time" prefer-wheel="true" min="2019-05-05" value="2019-05-10T16:30:00"></ion-datetime>
257
257
  `, config);
258
258
  await page.locator('.datetime-ready').waitFor();
259
- const dayValues = page.locator('ion-datetime .date-column .picker-item[data-value]');
259
+ const dayValues = page.locator('ion-datetime .date-column ion-picker-column-option');
260
260
  expect(await dayValues.count()).toEqual(57);
261
261
  });
262
262
  test('should respect the max bounds', async ({ page }) => {
@@ -264,7 +264,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
264
264
  <ion-datetime presentation="date-time" prefer-wheel="true" max="2023-06-10" value="2023-06-05T16:30:00"></ion-datetime>
265
265
  `, config);
266
266
  await page.locator('.datetime-ready').waitFor();
267
- const dayValues = page.locator('ion-datetime .date-column .picker-item[data-value]');
267
+ const dayValues = page.locator('ion-datetime .date-column ion-picker-column-option');
268
268
  expect(await dayValues.count()).toEqual(41);
269
269
  });
270
270
  test('should respect isDateEnabled preference', async ({ page }) => {
@@ -282,7 +282,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
282
282
  </script>
283
283
  `, config);
284
284
  await page.locator('.datetime-ready').waitFor();
285
- const disabledDates = page.locator('.date-column .picker-item[disabled]');
285
+ const disabledDates = page.locator('.date-column ion-picker-column-option.option-disabled');
286
286
  expect(await disabledDates.count()).toBe(44);
287
287
  });
288
288
  test('should respect month, day, and year preferences', async ({ page }) => {
@@ -297,7 +297,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
297
297
  ></ion-datetime>
298
298
  `, config);
299
299
  await page.locator('.datetime-ready').waitFor();
300
- const dateValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
300
+ const dateValues = page.locator('.date-column ion-picker-column-option');
301
301
  expect(await dateValues.count()).toBe(5);
302
302
  });
303
303
  test('should correctly localize the date data', async ({ page }) => {
@@ -312,7 +312,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
312
312
  ></ion-datetime>
313
313
  `, config);
314
314
  await page.locator('.datetime-ready').waitFor();
315
- const dateValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
315
+ const dateValues = page.locator('.date-column ion-picker-column-option');
316
316
  await expect(dateValues).toHaveText(['2月1日(火)', '2月2日(水)', '2月3日(木)']);
317
317
  });
318
318
  test('should respect min and max bounds even across years', async ({ page }) => {
@@ -327,15 +327,16 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
327
327
  `, config);
328
328
  await page.locator('.datetime-ready').waitFor();
329
329
  const dateColumn = page.locator('.date-column');
330
- const dateValues = dateColumn.locator('.picker-item:not(.picker-item-empty)');
330
+ const dateColumnScrollEl = dateColumn.locator('.picker-opts');
331
+ const dateValues = dateColumn.locator('ion-picker-column-option');
331
332
  expect(await dateValues.count()).toBe(90);
332
333
  /**
333
334
  * Select 1st item to change the dates rendered
334
335
  */
335
- await expect(dateValues.nth(0)).toHaveAttribute('data-value', '2022-1-1');
336
- await dateColumn.evaluate((el) => (el.scrollTop = 0));
336
+ await expect(dateValues.nth(0)).toHaveJSProperty('value', '2022-1-1');
337
+ await dateColumnScrollEl.evaluate((el) => (el.scrollTop = 0));
337
338
  await page.waitForChanges();
338
- await expect(dateValues.nth(0)).toHaveAttribute('data-value', '2021-12-1');
339
+ await expect(dateValues.nth(0)).toHaveJSProperty('value', '2021-12-1');
339
340
  });
340
341
  test('should keep sliding window if default window is within min and max constraints', async ({ page }) => {
341
342
  await page.setContent(`
@@ -348,7 +349,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
348
349
  ></ion-datetime>
349
350
  `, config);
350
351
  await page.locator('.datetime-ready').waitFor();
351
- const dayValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
352
+ const dayValues = page.locator('.date-column ion-picker-column-option');
352
353
  expect(await dayValues.count()).toBe(92);
353
354
  });
354
355
  test('should narrow sliding window if default window is not within min and max constraints', async ({ page }) => {
@@ -362,7 +363,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
362
363
  ></ion-datetime>
363
364
  `, config);
364
365
  await page.locator('.datetime-ready').waitFor();
365
- const dayValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
366
+ const dayValues = page.locator('.date-column ion-picker-column-option');
366
367
  expect(await dayValues.count()).toBe(15);
367
368
  });
368
369
  test('selecting date should update value when no value is set', async ({ page }) => {
@@ -374,7 +375,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
374
375
  `, config);
375
376
  await page.locator('.datetime-ready').waitFor();
376
377
  const ionChange = await page.spyOnEvent('ionChange');
377
- const dayValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
378
+ const dayValues = page.locator('.date-column ion-picker-column-option');
378
379
  // Change day/month value
379
380
  await dayValues.nth(0).click();
380
381
  await ionChange.next();
@@ -386,7 +387,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
386
387
  <ion-datetime presentation="time-date" prefer-wheel="true" min="2019-05-05" value="2019-05-10T16:30:00"></ion-datetime>
387
388
  `, config);
388
389
  await page.locator('.datetime-ready').waitFor();
389
- const dayValues = page.locator('ion-datetime .date-column .picker-item[data-value]');
390
+ const dayValues = page.locator('ion-datetime .date-column ion-picker-column-option');
390
391
  expect(await dayValues.count()).toEqual(57);
391
392
  });
392
393
  test('should respect the max bounds', async ({ page }) => {
@@ -394,7 +395,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
394
395
  <ion-datetime presentation="time-date" prefer-wheel="true" max="2023-06-10" value="2023-06-05T16:30:00"></ion-datetime>
395
396
  `, config);
396
397
  await page.locator('.datetime-ready').waitFor();
397
- const dayValues = page.locator('ion-datetime .date-column .picker-item[data-value]');
398
+ const dayValues = page.locator('ion-datetime .date-column ion-picker-column-option');
398
399
  expect(await dayValues.count()).toEqual(41);
399
400
  });
400
401
  test('should respect isDateEnabled preference', async ({ page }) => {
@@ -412,7 +413,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
412
413
  </script>
413
414
  `, config);
414
415
  await page.locator('.datetime-ready').waitFor();
415
- const disabledDates = page.locator('.date-column .picker-item[disabled]');
416
+ const disabledDates = page.locator('.date-column ion-picker-column-option.option-disabled');
416
417
  expect(await disabledDates.count()).toBe(44);
417
418
  });
418
419
  test('should respect month, day, and year preferences', async ({ page }) => {
@@ -427,7 +428,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
427
428
  ></ion-datetime>
428
429
  `, config);
429
430
  await page.locator('.datetime-ready').waitFor();
430
- const dateValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
431
+ const dateValues = page.locator('.date-column ion-picker-column-option');
431
432
  expect(await dateValues.count()).toBe(5);
432
433
  });
433
434
  test('should correctly localize the date data', async ({ page }) => {
@@ -442,7 +443,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
442
443
  ></ion-datetime>
443
444
  `, config);
444
445
  await page.locator('.datetime-ready').waitFor();
445
- const dateValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
446
+ const dateValues = page.locator('.date-column ion-picker-column-option');
446
447
  await expect(dateValues).toHaveText(['2月1日(火)', '2月2日(水)', '2月3日(木)']);
447
448
  });
448
449
  test('should respect min and max bounds even across years', async ({ page }) => {
@@ -457,15 +458,16 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
457
458
  `, config);
458
459
  await page.locator('.datetime-ready').waitFor();
459
460
  const dateColumn = page.locator('.date-column');
460
- const dateValues = dateColumn.locator('.picker-item:not(.picker-item-empty)');
461
+ const dateColumnScrollEl = dateColumn.locator('.picker-opts');
462
+ const dateValues = dateColumn.locator('ion-picker-column-option');
461
463
  expect(await dateValues.count()).toBe(90);
462
464
  /**
463
465
  * Select 1st item to change the dates rendered
464
466
  */
465
- await expect(dateValues.nth(0)).toHaveAttribute('data-value', '2022-1-1');
466
- await dateColumn.evaluate((el) => (el.scrollTop = 0));
467
+ await expect(dateValues.nth(0)).toHaveJSProperty('value', '2022-1-1');
468
+ await dateColumnScrollEl.evaluate((el) => (el.scrollTop = 0));
467
469
  await page.waitForChanges();
468
- await expect(dateValues.nth(0)).toHaveAttribute('data-value', '2021-12-1');
470
+ await expect(dateValues.nth(0)).toHaveJSProperty('value', '2021-12-1');
469
471
  });
470
472
  test('should keep sliding window if default window is within min and max constraints', async ({ page }) => {
471
473
  await page.setContent(`
@@ -478,7 +480,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
478
480
  ></ion-datetime>
479
481
  `, config);
480
482
  await page.locator('.datetime-ready').waitFor();
481
- const dayValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
483
+ const dayValues = page.locator('.date-column ion-picker-column-option');
482
484
  expect(await dayValues.count()).toBe(92);
483
485
  });
484
486
  test('should narrow sliding window if default window is not within min and max constraints', async ({ page }) => {
@@ -492,7 +494,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
492
494
  ></ion-datetime>
493
495
  `, config);
494
496
  await page.locator('.datetime-ready').waitFor();
495
- const dayValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
497
+ const dayValues = page.locator('.date-column ion-picker-column-option');
496
498
  expect(await dayValues.count()).toBe(15);
497
499
  });
498
500
  });
@@ -161,7 +161,7 @@ class TimePickerFixture {
161
161
  await this.page.waitForChanges();
162
162
  }
163
163
  async expectTime(hour, minute, ampm) {
164
- const pickerColumns = this.timePicker.locator('ion-picker-column-internal');
164
+ const pickerColumns = this.timePicker.locator('ion-picker-column');
165
165
  await expect(pickerColumns.nth(0)).toHaveJSProperty('value', hour);
166
166
  await expect(pickerColumns.nth(1)).toHaveJSProperty('value', minute);
167
167
  await expect(pickerColumns.nth(2)).toHaveJSProperty('value', ampm);
@@ -34,7 +34,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
34
34
  await expect(calendarMonthYear).toHaveText('February 2022');
35
35
  await calendarMonthYear.click();
36
36
  await page.waitForChanges();
37
- await page.locator('.month-column .picker-item[data-value="3"]').click();
37
+ await page.locator('.month-column ion-picker-column-option').nth(2).click();
38
38
  await page.waitForChanges();
39
39
  await expect(calendarMonthYear).toHaveText('March 2022');
40
40
  await expect(ionChange).not.toHaveReceivedEvent();
@@ -46,14 +46,14 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
46
46
  const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab';
47
47
  await page.locator('.datetime-ready').waitFor();
48
48
  const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
49
- const monthYearButton = page.locator('.calendar-month-year ion-item');
49
+ const monthYearButton = page.locator('.calendar-month-year-toggle');
50
50
  await expect(calendarMonthYear).toHaveText('February 2022');
51
51
  await page.keyboard.press(tabKey);
52
52
  await expect(monthYearButton).toBeFocused();
53
53
  await page.waitForChanges();
54
54
  await page.keyboard.press('Enter');
55
55
  await page.waitForChanges();
56
- const marchPickerItem = page.locator('.month-column .picker-item[data-value="3"]');
56
+ const marchPickerItem = page.locator('.month-column ion-picker-column-option').nth(2);
57
57
  await expect(marchPickerItem).toBeVisible();
58
58
  });
59
59
  test('should view next month via next button', async ({ page }) => {
@@ -75,7 +75,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
75
75
  `, config);
76
76
  const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab';
77
77
  const datetime = page.locator('ion-datetime');
78
- const monthYearButton = page.locator('.calendar-month-year ion-item');
78
+ const monthYearButton = page.locator('.calendar-month-year-toggle');
79
79
  const prevButton = page.locator('.calendar-next-prev ion-button:nth-child(1)');
80
80
  const nextButton = page.locator('.calendar-next-prev ion-button:nth-child(2)');
81
81
  const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
@@ -22,28 +22,28 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
22
22
  await page.setContent(`
23
23
  <ion-datetime locale="en-US" presentation="month-year" month-values="5,6,10"></ion-datetime>
24
24
  `, config);
25
- const items = page.locator('.month-column .picker-item:not(.picker-item-empty)');
25
+ const items = page.locator('.month-column ion-picker-column-option');
26
26
  await expect(items).toHaveText(['May', 'June', 'October']);
27
27
  });
28
28
  test('should render correct years', async ({ page }) => {
29
29
  await page.setContent(`
30
30
  <ion-datetime locale="en-US" presentation="month-year" year-values="2022,2021,2020"></ion-datetime>
31
31
  `, config);
32
- const items = page.locator('.year-column .picker-item:not(.picker-item-empty)');
32
+ const items = page.locator('.year-column ion-picker-column-option');
33
33
  await expect(items).toHaveText(['2022', '2021', '2020']);
34
34
  });
35
35
  test('should render correct hours', async ({ page }) => {
36
36
  await page.setContent(`
37
37
  <ion-datetime locale="en-US" presentation="time" hour-values="1,2,3"></ion-datetime>
38
38
  `, config);
39
- const items = page.locator('ion-picker-column-internal:first-of-type .picker-item:not(.picker-item-empty)');
39
+ const items = page.locator('ion-picker-column:first-of-type ion-picker-column-option');
40
40
  await expect(items).toHaveText(['1', '2', '3']);
41
41
  });
42
42
  test('should render correct minutes', async ({ page }) => {
43
43
  await page.setContent(`
44
44
  <ion-datetime locale="en-US" presentation="time" minute-values="1,2,3"></ion-datetime>
45
45
  `, config);
46
- const items = page.locator('ion-picker-column-internal:nth-of-type(2) .picker-item:not(.picker-item-empty)');
46
+ const items = page.locator('ion-picker-column:nth-of-type(2) ion-picker-column-option');
47
47
  await expect(items).toHaveText(['01', '02', '03']);
48
48
  });
49
49
  test('should adjust default parts for allowed hour and minute values', async ({ page }) => {
@@ -69,19 +69,22 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
69
69
  </script>
70
70
  `, config);
71
71
  await page.locator('.datetime-ready').waitFor();
72
- const minuteItems = page.locator('ion-picker-column-internal:nth-of-type(2) .picker-item:not(.picker-item-empty)');
72
+ const minuteColumn = page.locator('ion-picker-column').nth(1);
73
+ const minuteItems = minuteColumn.locator('ion-picker-column-option');
73
74
  await expect(minuteItems).toHaveText(['00', '15', '30', '45']);
74
- await expect(minuteItems.nth(1)).toHaveClass(/picker-item-active/);
75
- const hourItems = page.locator('ion-picker-column-internal:nth-of-type(1) .picker-item:not(.picker-item-empty)');
75
+ await expect(minuteColumn).toHaveJSProperty('value', 15);
76
+ const hourColumn = page.locator('ion-picker-column').nth(0);
77
+ const hourItems = hourColumn.locator('ion-picker-column-option');
76
78
  await expect(hourItems).toHaveText(['2']);
77
- await expect(hourItems.nth(0)).toHaveClass(/picker-item-active/);
79
+ await expect(hourColumn).toHaveJSProperty('value', 2);
78
80
  /**
79
81
  * Since the allowed hour is 2AM, the time period
80
82
  * should switch from PM to AM.
81
83
  */
82
- const ampmItems = page.locator('ion-picker-column-internal:nth-of-type(3) .picker-item:not(.picker-item-empty)');
84
+ const ampmColumn = page.locator('ion-picker-column').nth(2);
85
+ const ampmItems = ampmColumn.locator('ion-picker-column-option');
83
86
  await expect(ampmItems).toHaveText(['AM', 'PM']);
84
- await expect(ampmItems.nth(0)).toHaveClass(/picker-item-active/);
87
+ await expect(ampmColumn).toHaveJSProperty('value', 'am');
85
88
  });
86
89
  test('should adjust default parts month for allowed month values', async ({ page }) => {
87
90
  /**
@@ -106,9 +109,9 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
106
109
  </script>
107
110
  `, config);
108
111
  await page.locator('.datetime-ready').waitFor();
109
- const monthItems = page.locator('.month-column .picker-item:not(.picker-item-empty)');
112
+ const monthItems = page.locator('.month-column ion-picker-column-option');
110
113
  await expect(monthItems).toHaveText(['January']);
111
- await expect(monthItems.nth(0)).toHaveClass(/picker-item-active/);
114
+ await expect(monthItems.nth(0)).toHaveClass(/option-active/);
112
115
  });
113
116
  test('today date highlight should persist even if disallowed from dayValues', async ({ page }) => {
114
117
  /**
@@ -323,7 +323,7 @@ export const getMonthColumnData = (locale, refParts, minParts, maxParts, monthVa
323
323
  * @param minParts The minimum bound on the date that can be returned
324
324
  * @param maxParts The maximum bound on the date that can be returned
325
325
  * @param dayValues The allowed date values
326
- * @returns Date data to be used in ion-picker-column-internal
326
+ * @returns Date data to be used in ion-picker-column
327
327
  */
328
328
  export const getDayColumnData = (locale, refParts, minParts, maxParts, dayValues, formatOptions = {
329
329
  day: 'numeric',
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Convert a font size to a dynamic font size.
3
+ * Fonts that participate in Dynamic Type should use
4
+ * dynamic font sizes.
5
+ * @param size - The initial font size including the unit (i.e. px or pt)
6
+ * @param unit (optional) - The unit to convert to. Use this if you want to
7
+ * convert to a unit other than $baselineUnit.
8
+ */
9
+ /**
10
+ * Convert a font size to a dynamic font size but impose
11
+ * a maximum font size.
12
+ * @param size - The initial font size including the unit (i.e. px or pt)
13
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
+ * convert to a unit other than $baselineUnit.
16
+ */
17
+ /**
18
+ * Convert a font size to a dynamic font size but impose
19
+ * a minimum font size.
20
+ * @param size - The initial font size including the unit (i.e. px or pt)
21
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
+ * convert to a unit other than $baselineUnit.
24
+ */
25
+ /**
26
+ * Convert a font size to a dynamic font size but impose
27
+ * maximum and minimum font sizes.
28
+ * @param size - The initial font size including the unit (i.e. px or pt)
29
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
+ * convert to a unit other than $baselineUnit.
33
+ */
34
+ /**
35
+ * A heuristic that applies CSS to tablet
36
+ * viewports.
37
+ *
38
+ * Usage:
39
+ * @include tablet-viewport() {
40
+ * :host {
41
+ * background-color: green;
42
+ * }
43
+ * }
44
+ */
45
+ /**
46
+ * A heuristic that applies CSS to mobile
47
+ * viewports (i.e. phones, not tablets).
48
+ *
49
+ * Usage:
50
+ * @include mobile-viewport() {
51
+ * :host {
52
+ * background-color: blue;
53
+ * }
54
+ * }
55
+ */
56
+ :host {
57
+ display: flex;
58
+ flex-wrap: wrap;
59
+ align-items: center;
60
+ justify-content: center;
61
+ }
62
+
63
+ :host button {
64
+ border-radius: 8px;
65
+ -webkit-margin-start: 2px;
66
+ margin-inline-start: 2px;
67
+ -webkit-margin-end: 2px;
68
+ margin-inline-end: 2px;
69
+ margin-top: 0px;
70
+ margin-bottom: 0px;
71
+ position: relative;
72
+ transition: 150ms color ease-in-out;
73
+ border: none;
74
+ background: var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));
75
+ color: var(--ion-text-color, #000);
76
+ font-family: inherit;
77
+ font-size: 1rem;
78
+ cursor: pointer;
79
+ overflow: hidden;
80
+ appearance: none;
81
+ }
82
+
83
+ :host(.time-active) #time-button,
84
+ :host(.date-active) #date-button {
85
+ color: var(--ion-color-base);
86
+ }
87
+
88
+ :host(.datetime-button-disabled) {
89
+ pointer-events: none;
90
+ }
91
+
92
+ :host(.datetime-button-disabled) button {
93
+ opacity: 0.4;
94
+ }
95
+
96
+ :host button {
97
+ -webkit-padding-start: 13px;
98
+ padding-inline-start: 13px;
99
+ -webkit-padding-end: 13px;
100
+ padding-inline-end: 13px;
101
+ padding-top: 7px;
102
+ padding-bottom: 7px;
103
+ }
104
+
105
+ :host button.ion-activated {
106
+ color: var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));
107
+ }
@@ -336,7 +336,7 @@ export class DatetimeButton {
336
336
  render() {
337
337
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
338
338
  const mode = getIonMode(this);
339
- return (h(Host, { key: '36fe34d4225940611d74bdef5b954d54749d2dca', class: createColorClasses(color, {
339
+ return (h(Host, { key: 'cff9c4cbabf76a415b3785e9fa6cc682fddcec54', class: createColorClasses(color, {
340
340
  [mode]: true,
341
341
  [`${selectedButton}-active`]: datetimeActive,
342
342
  ['datetime-button-disabled']: disabled,
@@ -346,14 +346,14 @@ export class DatetimeButton {
346
346
  static get encapsulation() { return "shadow"; }
347
347
  static get originalStyleUrls() {
348
348
  return {
349
- "ios": ["datetime-button.scss"],
350
- "md": ["datetime-button.scss"]
349
+ "ios": ["datetime-button.ios.scss"],
350
+ "md": ["datetime-button.md.scss"]
351
351
  };
352
352
  }
353
353
  static get styleUrls() {
354
354
  return {
355
- "ios": ["datetime-button.css"],
356
- "md": ["datetime-button.css"]
355
+ "ios": ["datetime-button.ios.css"],
356
+ "md": ["datetime-button.md.css"]
357
357
  };
358
358
  }
359
359
  static get properties() {