@ionic/core 7.7.4-nightly.20240227 → 8.0.0-beta.0

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 (907) 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 +1 -1
  10. package/components/index9.js +1 -1
  11. package/components/ion-accordion-group.js +1 -1
  12. package/components/ion-back-button.js +1 -1
  13. package/components/ion-badge.js +2 -2
  14. package/components/ion-breadcrumb.js +2 -2
  15. package/components/ion-card-subtitle.js +2 -2
  16. package/components/ion-card-title.js +1 -1
  17. package/components/ion-card.js +2 -2
  18. package/components/ion-chip.js +2 -2
  19. package/components/ion-col.js +2 -2
  20. package/components/ion-content.js +5 -6
  21. package/components/ion-datetime-button.js +5 -5
  22. package/components/ion-datetime.js +41 -105
  23. package/components/ion-fab-button.js +4 -4
  24. package/components/ion-fab-list.js +3 -3
  25. package/components/ion-fab.js +2 -2
  26. package/components/ion-footer.js +3 -3
  27. package/components/ion-grid.js +2 -2
  28. package/components/ion-header.js +3 -3
  29. package/components/ion-img.js +1 -1
  30. package/components/ion-infinite-scroll-content.js +4 -4
  31. package/components/ion-infinite-scroll.js +1 -1
  32. package/components/ion-input.js +7 -93
  33. package/components/ion-item-divider.js +4 -4
  34. package/components/ion-item-group.js +1 -1
  35. package/components/ion-item-option.js +4 -4
  36. package/components/ion-item-options.js +4 -4
  37. package/components/ion-item-sliding.js +2 -2
  38. package/components/ion-loading.js +4 -4
  39. package/components/ion-menu-button.js +3 -3
  40. package/components/ion-menu-toggle.js +2 -2
  41. package/components/ion-menu.js +24 -18
  42. package/components/ion-modal.js +9 -26
  43. package/components/ion-nav-link.js +1 -1
  44. package/components/ion-nav.js +9 -5
  45. package/components/ion-picker-column-option.d.ts +11 -0
  46. package/components/ion-picker-column-option.js +9 -0
  47. package/components/ion-picker-column.js +2 -2
  48. package/components/ion-picker-legacy-column.d.ts +11 -0
  49. package/components/ion-picker-legacy-column.js +9 -0
  50. package/components/{ion-picker-internal.d.ts → ion-picker-legacy.d.ts} +4 -4
  51. package/components/ion-picker-legacy.js +321 -0
  52. package/components/ion-picker.js +1 -315
  53. package/components/ion-progress-bar.js +7 -4
  54. package/components/ion-range.js +34 -88
  55. package/components/ion-refresher-content.js +1 -1
  56. package/components/ion-refresher.js +4 -4
  57. package/components/ion-reorder-group.js +1 -1
  58. package/components/ion-reorder.js +1 -1
  59. package/components/ion-router-link.js +3 -3
  60. package/components/ion-router-outlet.js +2 -2
  61. package/components/ion-router.js +1 -1
  62. package/components/ion-row.js +1 -1
  63. package/components/ion-searchbar.js +7 -7
  64. package/components/ion-segment-button.js +5 -5
  65. package/components/ion-segment.js +2 -2
  66. package/components/ion-select-option.js +1 -1
  67. package/components/ion-select.js +65 -159
  68. package/components/ion-skeleton-text.js +2 -2
  69. package/components/ion-split-pane.js +28 -17
  70. package/components/ion-tab-bar.js +4 -4
  71. package/components/ion-tab-button.js +4 -4
  72. package/components/ion-tab.js +2 -2
  73. package/components/ion-tabs.js +1 -1
  74. package/components/ion-text.js +2 -2
  75. package/components/ion-textarea.js +7 -70
  76. package/components/ion-thumbnail.js +1 -1
  77. package/components/ion-title.js +3 -3
  78. package/components/ion-toast.js +12 -6
  79. package/components/ion-toggle.js +7 -64
  80. package/components/ion-toolbar.js +4 -4
  81. package/components/item.js +2 -2
  82. package/components/label.js +3 -3
  83. package/components/list-header.js +4 -4
  84. package/components/list.js +2 -2
  85. package/components/note.js +4 -4
  86. package/components/overlays.js +11 -4
  87. package/components/picker-column-option.js +124 -0
  88. package/components/picker-column.js +352 -324
  89. package/components/picker-column2.js +381 -0
  90. package/components/{picker-internal.js → picker.js} +33 -26
  91. package/components/popover.js +4 -4
  92. package/components/radio-group.js +1 -1
  93. package/components/radio.js +8 -81
  94. package/components/refresher.utils.js +1 -1
  95. package/components/ripple-effect.js +1 -1
  96. package/components/select-popover.js +2 -2
  97. package/components/spinner.js +1 -1
  98. package/components/swipe-back.js +1 -1
  99. package/css/core.css +90 -27
  100. package/css/core.css.map +1 -1
  101. package/css/display.css.map +1 -1
  102. package/css/float-elements.css.map +1 -1
  103. package/css/global.bundle.css +1 -1
  104. package/css/global.bundle.css.map +1 -1
  105. package/css/ionic-swiper.css.map +1 -1
  106. package/css/ionic.bundle.css +1 -1
  107. package/css/ionic.bundle.css.map +1 -1
  108. package/css/padding.css.map +1 -1
  109. package/css/structure.css.map +1 -1
  110. package/css/text-alignment.css.map +1 -1
  111. package/css/text-transformation.css.map +1 -1
  112. package/css/themes/dark.always.css +160 -0
  113. package/css/themes/dark.always.css.map +1 -0
  114. package/css/themes/dark.class.css +160 -0
  115. package/css/themes/dark.class.css.map +1 -0
  116. package/css/themes/dark.css +3 -0
  117. package/css/themes/dark.css.map +1 -0
  118. package/css/themes/dark.system.css +162 -0
  119. package/css/themes/dark.system.css.map +1 -0
  120. package/css/themes/high-contrast-dark.always.css +180 -0
  121. package/css/themes/high-contrast-dark.always.css.map +1 -0
  122. package/css/themes/high-contrast-dark.class.css +180 -0
  123. package/css/themes/high-contrast-dark.class.css.map +1 -0
  124. package/css/themes/high-contrast-dark.css +3 -0
  125. package/css/themes/high-contrast-dark.css.map +1 -0
  126. package/css/themes/high-contrast-dark.system.css +182 -0
  127. package/css/themes/high-contrast-dark.system.css.map +1 -0
  128. package/css/themes/high-contrast.always.css +101 -0
  129. package/css/themes/high-contrast.always.css.map +1 -0
  130. package/css/themes/high-contrast.class.css +101 -0
  131. package/css/themes/high-contrast.class.css.map +1 -0
  132. package/css/themes/high-contrast.css +3 -0
  133. package/css/themes/high-contrast.css.map +1 -0
  134. package/css/themes/high-contrast.system.css +103 -0
  135. package/css/themes/high-contrast.system.css.map +1 -0
  136. package/css/typography.css +1 -1
  137. package/css/typography.css.map +1 -1
  138. package/css/utils.bundle.css.map +1 -1
  139. package/dist/cjs/{animation-c2840aea.js → animation-4ad55058.js} +1 -1
  140. package/dist/cjs/{button-active-2d6520ec.js → button-active-8f6a8e77.js} +2 -2
  141. package/dist/cjs/{data-a5109f09.js → data-e2bf21de.js} +1 -1
  142. package/dist/cjs/{framework-delegate-e0e13baa.js → framework-delegate-53817ef1.js} +1 -1
  143. package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
  144. package/dist/cjs/{helpers-da4c0ed1.js → helpers-b71ca811.js} +0 -1
  145. package/dist/cjs/{index-4c96691f.js → index-16fc2c94.js} +2 -2
  146. package/dist/cjs/{index-bef98850.js → index-347883f6.js} +1 -1
  147. package/dist/cjs/{index-62290fec.js → index-7574e3d2.js} +1 -1
  148. package/dist/cjs/{index-9bfcb6e8.js → index-88b3bd6f.js} +3 -3
  149. package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
  150. package/dist/cjs/index.cjs.js +10 -10
  151. package/dist/cjs/{input-shims-a9a85bb9.js → input-shims-37843ce5.js} +2 -2
  152. package/dist/cjs/{input.utils-d7dca90f.js → input.utils-5175aea1.js} +1 -1
  153. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  154. package/dist/cjs/ion-action-sheet.cjs.entry.js +11 -11
  155. package/dist/cjs/ion-alert.cjs.entry.js +9 -9
  156. package/dist/cjs/ion-app_8.cjs.entry.js +24 -25
  157. package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
  158. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  159. package/dist/cjs/ion-backdrop.cjs.entry.js +1 -13
  160. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  161. package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
  162. package/dist/cjs/ion-card_5.cjs.entry.js +6 -6
  163. package/dist/cjs/ion-checkbox.cjs.entry.js +7 -75
  164. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  165. package/dist/cjs/ion-col_3.cjs.entry.js +5 -5
  166. package/dist/cjs/ion-datetime-button.cjs.entry.js +7 -7
  167. package/dist/cjs/ion-datetime_3.cjs.entry.js +53 -107
  168. package/dist/cjs/ion-fab_3.cjs.entry.js +10 -10
  169. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  170. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +7 -7
  171. package/dist/cjs/ion-input.cjs.entry.js +10 -90
  172. package/dist/cjs/ion-item-option_3.cjs.entry.js +11 -11
  173. package/dist/cjs/ion-item_8.cjs.entry.js +23 -23
  174. package/dist/cjs/ion-loading.cjs.entry.js +9 -8
  175. package/dist/cjs/ion-menu_3.cjs.entry.js +35 -30
  176. package/dist/cjs/ion-modal.cjs.entry.js +16 -33
  177. package/dist/cjs/ion-nav_2.cjs.entry.js +11 -8
  178. package/dist/cjs/ion-picker-column-option.cjs.entry.js +106 -0
  179. package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +106 -90
  180. package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +31 -24
  181. package/dist/cjs/ion-popover.cjs.entry.js +9 -8
  182. package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -4
  183. package/dist/cjs/ion-radio_2.cjs.entry.js +8 -77
  184. package/dist/cjs/ion-range.cjs.entry.js +35 -88
  185. package/dist/cjs/ion-refresher_2.cjs.entry.js +10 -10
  186. package/dist/cjs/ion-reorder_2.cjs.entry.js +5 -5
  187. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  188. package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
  189. package/dist/cjs/ion-searchbar.cjs.entry.js +7 -7
  190. package/dist/cjs/ion-segment_2.cjs.entry.js +9 -9
  191. package/dist/cjs/ion-select_3.cjs.entry.js +75 -166
  192. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  193. package/dist/cjs/ion-split-pane.cjs.entry.js +26 -16
  194. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +9 -9
  195. package/dist/cjs/ion-tab_2.cjs.entry.js +5 -5
  196. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  197. package/dist/cjs/ion-textarea.cjs.entry.js +9 -69
  198. package/dist/cjs/ion-toast.cjs.entry.js +17 -11
  199. package/dist/cjs/ion-toggle.cjs.entry.js +8 -64
  200. package/dist/cjs/ionic.cjs.js +1 -1
  201. package/dist/cjs/{ios.transition-96679580.js → ios.transition-b102ee38.js} +3 -3
  202. package/dist/cjs/loader.cjs.js +1 -1
  203. package/dist/cjs/{md.transition-d6c98822.js → md.transition-a5454240.js} +3 -3
  204. package/dist/cjs/{notch-controller-bfbcbb7a.js → notch-controller-8e0ae870.js} +1 -1
  205. package/dist/cjs/{overlays-db5d96f3.js → overlays-6b7d156b.js} +13 -6
  206. package/dist/cjs/{status-tap-7ad5f0fb.js → status-tap-b60dcbd8.js} +2 -2
  207. package/dist/cjs/{swipe-back-cf8aa1ec.js → swipe-back-72c5c8b7.js} +3 -3
  208. package/dist/collection/collection-manifest.json +7 -6
  209. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -26
  210. package/dist/collection/components/action-sheet/action-sheet.ios.css +16 -9
  211. package/dist/collection/components/action-sheet/action-sheet.js +2 -2
  212. package/dist/collection/components/action-sheet/action-sheet.md.css +10 -3
  213. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +23 -14
  214. package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +19 -0
  215. package/dist/collection/components/action-sheet/test/basic/action-sheet.spec.js +22 -0
  216. package/dist/collection/components/alert/alert.ios.css +33 -80
  217. package/dist/collection/components/alert/alert.md.css +25 -121
  218. package/dist/collection/components/alert/test/a11y/alert.e2e.js +22 -9
  219. package/dist/collection/components/back-button/back-button.ios.css +1 -1
  220. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +21 -0
  221. package/dist/collection/components/backdrop/backdrop.js +1 -13
  222. package/dist/collection/components/badge/badge.ios.css +1 -1
  223. package/dist/collection/components/badge/badge.md.css +1 -1
  224. package/dist/collection/components/badge/test/a11y/badge.e2e.js +18 -0
  225. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +9 -9
  226. package/dist/collection/components/breadcrumb/breadcrumb.md.css +9 -9
  227. package/dist/collection/components/button/button.ios.css +11 -11
  228. package/dist/collection/components/button/button.md.css +9 -9
  229. package/dist/collection/components/button/test/a11y/button.e2e.js +48 -0
  230. package/dist/collection/components/button/test/wrap/button.e2e.js +12 -24
  231. package/dist/collection/components/card/card.ios.css +1 -1
  232. package/dist/collection/components/card/card.md.css +1 -1
  233. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +1 -1
  234. package/dist/collection/components/card-subtitle/card-subtitle.md.css +1 -1
  235. package/dist/collection/components/card-title/card-title.md.css +1 -1
  236. package/dist/collection/components/checkbox/checkbox.ios.css +10 -88
  237. package/dist/collection/components/checkbox/checkbox.js +5 -118
  238. package/dist/collection/components/checkbox/checkbox.md.css +7 -85
  239. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +11 -2
  240. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +10 -0
  241. package/dist/collection/components/chip/chip.js +2 -2
  242. package/dist/collection/components/col/col.js +2 -2
  243. package/dist/collection/components/content/content.css +0 -4
  244. package/dist/collection/components/content/content.js +3 -4
  245. package/dist/collection/components/datetime/datetime.ios.css +105 -117
  246. package/dist/collection/components/datetime/datetime.js +25 -77
  247. package/dist/collection/components/datetime/datetime.md.css +106 -114
  248. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  249. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
  250. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +10 -0
  251. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  252. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  253. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  254. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  255. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  256. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +43 -41
  257. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  258. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  259. package/dist/collection/components/datetime/test/values/datetime.e2e.js +15 -12
  260. package/dist/collection/components/datetime/utils/data.js +1 -1
  261. package/dist/collection/components/datetime-button/datetime-button.ios.css +107 -0
  262. package/dist/collection/components/datetime-button/datetime-button.js +5 -5
  263. package/dist/collection/components/datetime-button/{datetime-button.css → datetime-button.md.css} +10 -7
  264. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +12 -0
  265. package/dist/collection/components/fab/fab.js +2 -2
  266. package/dist/collection/components/fab-button/fab-button.ios.css +7 -7
  267. package/dist/collection/components/fab-button/fab-button.js +2 -2
  268. package/dist/collection/components/fab-button/fab-button.md.css +1 -1
  269. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +50 -0
  270. package/dist/collection/components/fab-list/fab-list.css +4 -42
  271. package/dist/collection/components/fab-list/fab-list.js +2 -2
  272. package/dist/collection/components/footer/footer.js +2 -2
  273. package/dist/collection/components/grid/grid.js +2 -2
  274. package/dist/collection/components/header/header.js +2 -2
  275. package/dist/collection/components/img/img.js +1 -1
  276. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  277. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +3 -3
  278. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  279. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +3 -3
  280. package/dist/collection/components/input/input.ios.css +11 -104
  281. package/dist/collection/components/input/input.js +6 -144
  282. package/dist/collection/components/input/input.md.css +35 -216
  283. package/dist/collection/components/input/test/a11y/input.e2e.js +41 -3
  284. package/dist/collection/components/item/item.ios.css +6 -30
  285. package/dist/collection/components/item/item.md.css +24 -97
  286. package/dist/collection/components/item/test/a11y/item.e2e.js +0 -40
  287. package/dist/collection/components/item-divider/item-divider.ios.css +3 -3
  288. package/dist/collection/components/item-divider/item-divider.js +2 -2
  289. package/dist/collection/components/item-divider/item-divider.md.css +3 -3
  290. package/dist/collection/components/item-group/item-group.js +1 -1
  291. package/dist/collection/components/item-option/item-option.ios.css +2 -2
  292. package/dist/collection/components/item-option/item-option.js +2 -2
  293. package/dist/collection/components/item-option/item-option.md.css +1 -1
  294. package/dist/collection/components/item-options/item-options.ios.css +1 -1
  295. package/dist/collection/components/item-options/item-options.js +1 -1
  296. package/dist/collection/components/item-options/item-options.md.css +1 -1
  297. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  298. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +28 -0
  299. package/dist/collection/components/label/label.ios.css +1 -1
  300. package/dist/collection/components/label/label.js +1 -1
  301. package/dist/collection/components/label/label.md.css +2 -2
  302. package/dist/collection/components/label/test/a11y/label.e2e.js +20 -0
  303. package/dist/collection/components/list/list.js +1 -1
  304. package/dist/collection/components/list/list.md.css +2 -26
  305. package/dist/collection/components/list-header/list-header.ios.css +2 -2
  306. package/dist/collection/components/list-header/list-header.js +2 -2
  307. package/dist/collection/components/list-header/list-header.md.css +1 -1
  308. package/dist/collection/components/loading/loading.ios.css +2 -2
  309. package/dist/collection/components/loading/loading.js +2 -2
  310. package/dist/collection/components/loading/loading.md.css +3 -3
  311. package/dist/collection/components/loading/test/a11y/loading.e2e.js +21 -5
  312. package/dist/collection/components/menu/menu.ios.css +72 -53
  313. package/dist/collection/components/menu/menu.js +21 -15
  314. package/dist/collection/components/menu/menu.md.css +72 -53
  315. package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
  316. package/dist/collection/components/menu-button/menu-button.js +2 -2
  317. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +14 -0
  318. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  319. package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -1
  320. package/dist/collection/components/modal/modal.ios.css +9 -38
  321. package/dist/collection/components/modal/modal.js +3 -3
  322. package/dist/collection/components/modal/modal.md.css +1 -1
  323. package/dist/collection/components/modal/utils.js +2 -8
  324. package/dist/collection/components/nav/nav.js +23 -3
  325. package/dist/collection/components/nav/test/nav-controller.spec.js +36 -36
  326. package/dist/collection/components/nav-link/nav-link.js +1 -1
  327. package/dist/collection/components/note/note.ios.css +1 -1
  328. package/dist/collection/components/note/note.js +2 -2
  329. package/dist/collection/components/note/note.md.css +1 -1
  330. package/dist/collection/components/picker/picker.ios.css +97 -234
  331. package/dist/collection/components/picker/picker.js +488 -742
  332. package/dist/collection/components/picker/picker.md.css +98 -226
  333. package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
  334. package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
  335. package/dist/collection/components/picker/test/custom/picker.e2e.js +85 -0
  336. package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +79 -42
  337. package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-column/picker-column.css} +96 -83
  338. package/dist/collection/components/picker-column/picker-column.js +499 -335
  339. package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
  340. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +91 -0
  341. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
  342. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
  343. package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
  344. package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
  345. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
  346. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
  347. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +29 -0
  348. package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.ios.css} +155 -117
  349. package/dist/collection/components/picker-legacy/picker.js +821 -0
  350. package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy/picker.md.css} +144 -115
  351. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
  352. package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
  353. package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
  354. package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
  355. package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.ios.css +2 -26
  356. package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
  357. package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.md.css +3 -27
  358. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
  359. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
  360. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
  361. package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
  362. package/dist/collection/components/popover/popover.ios.css +3 -27
  363. package/dist/collection/components/popover/popover.js +2 -2
  364. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -11
  365. package/dist/collection/components/progress-bar/progress-bar.js +4 -1
  366. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -10
  367. package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +24 -0
  368. package/dist/collection/components/radio/radio.ios.css +10 -101
  369. package/dist/collection/components/radio/radio.js +5 -119
  370. package/dist/collection/components/radio/radio.md.css +8 -105
  371. package/dist/collection/components/radio/test/a11y/radio.e2e.js +114 -81
  372. package/dist/collection/components/radio-group/radio-group.js +1 -1
  373. package/dist/collection/components/range/range.ios.css +12 -90
  374. package/dist/collection/components/range/range.js +30 -123
  375. package/dist/collection/components/range/range.md.css +22 -152
  376. package/dist/collection/components/range/test/a11y/range.e2e.js +20 -10
  377. package/dist/collection/components/range/test/range-events.e2e.js +1 -1
  378. package/dist/collection/components/range/test/range.spec.js +0 -12
  379. package/dist/collection/components/refresher/refresher.ios.css +4 -27
  380. package/dist/collection/components/refresher/refresher.js +1 -1
  381. package/dist/collection/components/refresher/refresher.md.css +7 -30
  382. package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +26 -0
  383. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  384. package/dist/collection/components/reorder/reorder.js +1 -1
  385. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  386. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  387. package/dist/collection/components/router-link/router-link.css +1 -1
  388. package/dist/collection/components/router-link/router-link.js +2 -2
  389. package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +23 -0
  390. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  391. package/dist/collection/components/row/row.js +1 -1
  392. package/dist/collection/components/searchbar/searchbar.ios.css +11 -59
  393. package/dist/collection/components/searchbar/searchbar.js +4 -4
  394. package/dist/collection/components/searchbar/searchbar.md.css +10 -82
  395. package/dist/collection/components/segment/segment.js +2 -2
  396. package/dist/collection/components/segment/test/a11y/segment.e2e.js +23 -0
  397. package/dist/collection/components/segment-button/segment-button.ios.css +3 -3
  398. package/dist/collection/components/segment-button/segment-button.js +3 -3
  399. package/dist/collection/components/segment-button/segment-button.md.css +2 -2
  400. package/dist/collection/components/select/select.ios.css +10 -81
  401. package/dist/collection/components/select/select.js +64 -173
  402. package/dist/collection/components/select/select.md.css +38 -169
  403. package/dist/collection/components/select/test/a11y/select.e2e.js +68 -4
  404. package/dist/collection/components/select-option/select-option.js +1 -1
  405. package/dist/collection/components/select-popover/select-popover.js +1 -1
  406. package/dist/collection/components/select-popover/select-popover.md.css +4 -4
  407. package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +32 -0
  408. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  409. package/dist/collection/components/spinner/spinner.js +1 -1
  410. package/dist/collection/components/split-pane/split-pane.ios.css +3 -55
  411. package/dist/collection/components/split-pane/split-pane.js +48 -14
  412. package/dist/collection/components/split-pane/split-pane.md.css +3 -55
  413. package/dist/collection/components/split-pane/test/wrapped-menu/split-pane.e2e.js +41 -0
  414. package/dist/collection/components/tab/tab.js +2 -2
  415. package/dist/collection/components/tab-bar/tab-bar.ios.css +4 -4
  416. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  417. package/dist/collection/components/tab-bar/tab-bar.md.css +3 -3
  418. package/dist/collection/components/tab-button/tab-button.ios.css +16 -94
  419. package/dist/collection/components/tab-button/tab-button.js +2 -2
  420. package/dist/collection/components/tab-button/tab-button.md.css +10 -93
  421. package/dist/collection/components/tabs/tabs.js +1 -1
  422. package/dist/collection/components/text/text.js +2 -2
  423. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +41 -3
  424. package/dist/collection/components/textarea/textarea.ios.css +13 -103
  425. package/dist/collection/components/textarea/textarea.js +5 -84
  426. package/dist/collection/components/textarea/textarea.md.css +37 -226
  427. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  428. package/dist/collection/components/title/title.ios.css +2 -21
  429. package/dist/collection/components/title/title.js +2 -2
  430. package/dist/collection/components/toast/test/a11y/toast.e2e.js +89 -24
  431. package/dist/collection/components/toast/toast.ios.css +8 -55
  432. package/dist/collection/components/toast/toast.js +9 -3
  433. package/dist/collection/components/toast/toast.md.css +10 -57
  434. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +8 -2
  435. package/dist/collection/components/toggle/toggle.ios.css +11 -90
  436. package/dist/collection/components/toggle/toggle.js +5 -101
  437. package/dist/collection/components/toggle/toggle.md.css +6 -91
  438. package/dist/collection/components/toolbar/toolbar.ios.css +2 -2
  439. package/dist/collection/components/toolbar/toolbar.js +2 -2
  440. package/dist/collection/components/toolbar/toolbar.md.css +1 -1
  441. package/dist/collection/css/test/a11y/typography.e2e.js +18 -0
  442. package/dist/collection/themes/test/colors/theme.e2e.js +170 -0
  443. package/dist/collection/utils/gesture/button-active.js +1 -1
  444. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  445. package/dist/collection/utils/native/status-bar.js +0 -11
  446. package/dist/collection/utils/overlays.js +11 -4
  447. package/dist/collection/utils/test/aria.spec.js +2 -1
  448. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
  449. package/dist/collection/utils/test/playwright/generator.js +1 -0
  450. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  451. package/dist/docs.json +568 -330
  452. package/dist/esm/{animation-6a0c5338.js → animation-a4acf150.js} +1 -1
  453. package/dist/esm/{button-active-47ac8092.js → button-active-4407b98c.js} +2 -2
  454. package/dist/esm/{data-0f3ab200.js → data-691286f1.js} +1 -1
  455. package/dist/esm/{framework-delegate-ed4ba327.js → framework-delegate-1eb3236c.js} +1 -1
  456. package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  457. package/dist/esm/{helpers-be245865.js → helpers-ae74b3c9.js} +1 -1
  458. package/dist/esm/{index-348ed70a.js → index-1eff8599.js} +3 -3
  459. package/dist/esm/{index-020f5464.js → index-1f563746.js} +1 -1
  460. package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
  461. package/dist/esm/{index-f3946ac1.js → index-66871a1d.js} +1 -1
  462. package/dist/esm/{index-e1b622e3.js → index-8758824c.js} +2 -2
  463. package/dist/esm/index.js +10 -10
  464. package/dist/esm/{input-shims-5329bbe8.js → input-shims-91e6634c.js} +2 -2
  465. package/dist/esm/{input.utils-a445f677.js → input.utils-482fc893.js} +1 -1
  466. package/dist/esm/ion-accordion_2.entry.js +2 -2
  467. package/dist/esm/ion-action-sheet.entry.js +11 -11
  468. package/dist/esm/ion-alert.entry.js +9 -9
  469. package/dist/esm/ion-app_8.entry.js +24 -25
  470. package/dist/esm/ion-avatar_3.entry.js +3 -3
  471. package/dist/esm/ion-back-button.entry.js +2 -2
  472. package/dist/esm/ion-backdrop.entry.js +1 -13
  473. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  474. package/dist/esm/ion-button_2.entry.js +3 -3
  475. package/dist/esm/ion-card_5.entry.js +6 -6
  476. package/dist/esm/ion-checkbox.entry.js +7 -75
  477. package/dist/esm/ion-chip.entry.js +2 -2
  478. package/dist/esm/ion-col_3.entry.js +5 -5
  479. package/dist/esm/ion-datetime-button.entry.js +7 -7
  480. package/dist/esm/ion-datetime_3.entry.js +52 -106
  481. package/dist/esm/ion-fab_3.entry.js +10 -10
  482. package/dist/esm/ion-img.entry.js +2 -2
  483. package/dist/esm/ion-infinite-scroll_2.entry.js +7 -7
  484. package/dist/esm/ion-input.entry.js +10 -90
  485. package/dist/esm/ion-item-option_3.entry.js +11 -11
  486. package/dist/esm/ion-item_8.entry.js +23 -23
  487. package/dist/esm/ion-loading.entry.js +9 -8
  488. package/dist/esm/ion-menu_3.entry.js +35 -30
  489. package/dist/esm/ion-modal.entry.js +16 -33
  490. package/dist/esm/ion-nav_2.entry.js +11 -8
  491. package/dist/esm/ion-picker-column-option.entry.js +102 -0
  492. package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +106 -90
  493. package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +31 -24
  494. package/dist/esm/ion-popover.entry.js +9 -8
  495. package/dist/esm/ion-progress-bar.entry.js +7 -4
  496. package/dist/esm/ion-radio_2.entry.js +8 -77
  497. package/dist/esm/ion-range.entry.js +36 -89
  498. package/dist/esm/ion-refresher_2.entry.js +10 -10
  499. package/dist/esm/ion-reorder_2.entry.js +5 -5
  500. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  501. package/dist/esm/ion-route_4.entry.js +4 -4
  502. package/dist/esm/ion-searchbar.entry.js +7 -7
  503. package/dist/esm/ion-segment_2.entry.js +9 -9
  504. package/dist/esm/ion-select_3.entry.js +73 -164
  505. package/dist/esm/ion-spinner.entry.js +1 -1
  506. package/dist/esm/ion-split-pane.entry.js +26 -16
  507. package/dist/esm/ion-tab-bar_2.entry.js +9 -9
  508. package/dist/esm/ion-tab_2.entry.js +5 -5
  509. package/dist/esm/ion-text.entry.js +2 -2
  510. package/dist/esm/ion-textarea.entry.js +10 -70
  511. package/dist/esm/ion-toast.entry.js +18 -12
  512. package/dist/esm/ion-toggle.entry.js +8 -64
  513. package/dist/esm/ionic.js +1 -1
  514. package/dist/esm/{ios.transition-7459f819.js → ios.transition-189b73b7.js} +3 -3
  515. package/dist/esm/loader.js +1 -1
  516. package/dist/esm/{md.transition-b8224313.js → md.transition-c9761eef.js} +3 -3
  517. package/dist/esm/{notch-controller-6bd3e0f9.js → notch-controller-18bf9f76.js} +1 -1
  518. package/dist/esm/{overlays-19b26885.js → overlays-c69d2a07.js} +13 -6
  519. package/dist/esm/{status-tap-b41ece3c.js → status-tap-1d638ee6.js} +2 -2
  520. package/dist/esm/{swipe-back-37a22d34.js → swipe-back-348f1971.js} +3 -3
  521. package/dist/esm-es5/{animation-6a0c5338.js → animation-a4acf150.js} +1 -1
  522. package/dist/esm-es5/button-active-4407b98c.js +4 -0
  523. package/dist/esm-es5/{framework-delegate-ed4ba327.js → framework-delegate-1eb3236c.js} +1 -1
  524. package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  525. package/dist/esm-es5/{helpers-be245865.js → helpers-ae74b3c9.js} +1 -1
  526. package/dist/esm-es5/{index-348ed70a.js → index-1eff8599.js} +1 -1
  527. package/dist/esm-es5/{index-020f5464.js → index-1f563746.js} +1 -1
  528. package/dist/esm-es5/{index-2cf77112.js → index-39782642.js} +1 -1
  529. package/dist/esm-es5/{index-f3946ac1.js → index-66871a1d.js} +1 -1
  530. package/dist/esm-es5/{index-e1b622e3.js → index-8758824c.js} +1 -1
  531. package/dist/esm-es5/index.js +1 -1
  532. package/dist/esm-es5/{input-shims-5329bbe8.js → input-shims-91e6634c.js} +1 -1
  533. package/dist/esm-es5/{input.utils-a445f677.js → input.utils-482fc893.js} +1 -1
  534. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  535. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  536. package/dist/esm-es5/ion-alert.entry.js +1 -1
  537. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  538. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  539. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  540. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  541. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  542. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  543. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  544. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  545. package/dist/esm-es5/ion-chip.entry.js +1 -1
  546. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  547. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  548. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  549. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  550. package/dist/esm-es5/ion-img.entry.js +1 -1
  551. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  552. package/dist/esm-es5/ion-input.entry.js +1 -1
  553. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  554. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  555. package/dist/esm-es5/ion-loading.entry.js +1 -1
  556. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  557. package/dist/esm-es5/ion-modal.entry.js +1 -1
  558. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  559. package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
  560. package/dist/esm-es5/ion-picker-column.entry.js +4 -0
  561. package/dist/esm-es5/ion-picker.entry.js +4 -0
  562. package/dist/esm-es5/ion-popover.entry.js +1 -1
  563. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  564. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  565. package/dist/esm-es5/ion-range.entry.js +1 -1
  566. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  567. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  568. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  569. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  570. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  571. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  572. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  573. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  574. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  575. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  576. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  577. package/dist/esm-es5/ion-text.entry.js +1 -1
  578. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  579. package/dist/esm-es5/ion-toast.entry.js +1 -1
  580. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  581. package/dist/esm-es5/ionic.js +1 -1
  582. package/dist/esm-es5/{ios.transition-7459f819.js → ios.transition-189b73b7.js} +1 -1
  583. package/dist/esm-es5/loader.js +1 -1
  584. package/dist/esm-es5/{md.transition-b8224313.js → md.transition-c9761eef.js} +1 -1
  585. package/dist/esm-es5/{notch-controller-6bd3e0f9.js → notch-controller-18bf9f76.js} +1 -1
  586. package/dist/esm-es5/overlays-c69d2a07.js +4 -0
  587. package/dist/esm-es5/{status-tap-b41ece3c.js → status-tap-1d638ee6.js} +1 -1
  588. package/dist/esm-es5/swipe-back-348f1971.js +4 -0
  589. package/dist/html.html-data.json +152 -37
  590. package/dist/ionic/index.esm.js +1 -1
  591. package/dist/ionic/ionic.esm.js +1 -1
  592. package/dist/ionic/{p-6e23d039.entry.js → p-00a762c9.entry.js} +1 -1
  593. package/dist/ionic/p-0612cdcc.system.entry.js +4 -0
  594. package/dist/ionic/{p-1bc9b5f5.system.js → p-069388dd.system.js} +1 -1
  595. package/dist/ionic/{p-644d03d7.system.entry.js → p-0a8a78db.system.entry.js} +1 -1
  596. package/dist/ionic/p-0b34d3a7.system.js +1 -1
  597. package/dist/ionic/{p-86813176.system.entry.js → p-0dca0eee.system.entry.js} +1 -1
  598. package/dist/ionic/p-0dfbbdbe.entry.js +4 -0
  599. package/dist/ionic/p-0f25a7bb.system.js +4 -0
  600. package/dist/ionic/p-0f81df5e.entry.js +4 -0
  601. package/dist/ionic/p-11bb459e.system.entry.js +4 -0
  602. package/dist/ionic/{p-abcedc15.system.entry.js → p-12b55b00.system.entry.js} +1 -1
  603. package/dist/ionic/p-13e8ad2e.entry.js +4 -0
  604. package/dist/ionic/{p-779aede8.js → p-15708968.js} +1 -1
  605. package/dist/ionic/{p-2c86025e.system.js → p-16e06393.system.js} +1 -1
  606. package/dist/ionic/p-17082c91.system.js +4 -0
  607. package/dist/ionic/{p-cbcffe6e.system.js → p-174856b4.system.js} +1 -1
  608. package/dist/ionic/{p-9998cb62.system.entry.js → p-174b0d50.system.entry.js} +1 -1
  609. package/dist/ionic/{p-6afef6c1.system.js → p-19f6ac6c.system.js} +1 -1
  610. package/dist/ionic/p-1a4db355.system.entry.js +4 -0
  611. package/dist/ionic/{p-822730c4.entry.js → p-1d545773.entry.js} +1 -1
  612. package/dist/ionic/{p-bcd9cad8.system.js → p-1deadb7f.system.js} +1 -1
  613. package/dist/ionic/p-1df25966.entry.js +4 -0
  614. package/dist/ionic/p-1e07fdb2.system.entry.js +4 -0
  615. package/dist/ionic/p-1ea88de9.system.js +4 -0
  616. package/dist/ionic/p-1f79e54a.entry.js +4 -0
  617. package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
  618. package/dist/ionic/{p-7670acd8.entry.js → p-2b3544ad.entry.js} +1 -1
  619. package/dist/ionic/p-2c768965.entry.js +4 -0
  620. package/dist/ionic/{p-97ca0cb9.system.js → p-2d7624d4.system.js} +1 -1
  621. package/dist/ionic/p-2dcf2ec2.system.entry.js +4 -0
  622. package/dist/ionic/{p-125f8cdd.system.js → p-31e02742.system.js} +1 -1
  623. package/dist/ionic/p-3209217f.entry.js +4 -0
  624. package/dist/ionic/p-32fb7d95.entry.js +4 -0
  625. package/dist/ionic/p-34d0f143.system.entry.js +4 -0
  626. package/dist/ionic/p-3807cd45.system.entry.js +4 -0
  627. package/dist/ionic/p-385f66bc.entry.js +4 -0
  628. package/dist/ionic/p-3c47c5c8.system.entry.js +4 -0
  629. package/dist/ionic/p-3c51cf97.system.entry.js +4 -0
  630. package/dist/ionic/p-3d77b300.system.entry.js +4 -0
  631. package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
  632. package/dist/ionic/p-415ccddd.entry.js +4 -0
  633. package/dist/ionic/p-446f3909.system.entry.js +4 -0
  634. package/dist/ionic/{p-62b7320a.system.js → p-4a8f173c.system.js} +1 -1
  635. package/dist/ionic/p-4b3a4938.entry.js +4 -0
  636. package/dist/ionic/p-4bbc949f.system.entry.js +4 -0
  637. package/dist/ionic/p-4dfe0487.system.entry.js +4 -0
  638. package/dist/ionic/p-4e7abe76.js +4 -0
  639. package/dist/ionic/p-5133c4a3.system.entry.js +4 -0
  640. package/dist/ionic/p-5797981d.system.entry.js +4 -0
  641. package/dist/ionic/{p-337ac0f5.entry.js → p-5d530ae5.entry.js} +1 -1
  642. package/dist/ionic/p-5d64e680.entry.js +4 -0
  643. package/dist/ionic/p-5dbf7222.entry.js +4 -0
  644. package/dist/ionic/p-5e70f800.system.entry.js +4 -0
  645. package/dist/ionic/p-5eabaa80.js +4 -0
  646. package/dist/ionic/p-5f9fbad0.entry.js +4 -0
  647. package/dist/ionic/p-60a92a48.system.entry.js +4 -0
  648. package/dist/ionic/p-640fac4a.system.entry.js +4 -0
  649. package/dist/ionic/{p-84b85535.entry.js → p-6ad90d41.entry.js} +1 -1
  650. package/dist/ionic/p-6aeb0272.entry.js +4 -0
  651. package/dist/ionic/p-6d659d62.entry.js +4 -0
  652. package/dist/ionic/p-6dbea874.system.entry.js +4 -0
  653. package/dist/ionic/p-6e14d3ca.system.entry.js +4 -0
  654. package/dist/ionic/p-717c4b72.entry.js +4 -0
  655. package/dist/ionic/p-7292add8.entry.js +4 -0
  656. package/dist/ionic/p-75861cd3.entry.js +4 -0
  657. package/dist/ionic/{p-56ee6d9a.js → p-760dbd5e.js} +1 -1
  658. package/dist/ionic/{p-cb9812f7.entry.js → p-7e185a31.entry.js} +1 -1
  659. package/dist/ionic/{p-2c4bfe1c.entry.js → p-80704be1.entry.js} +1 -1
  660. package/dist/ionic/{p-ce1c0a0e.system.entry.js → p-892e2567.system.entry.js} +2 -2
  661. package/dist/ionic/{p-bd313b73.system.js → p-8a50f8d6.system.js} +1 -1
  662. package/dist/ionic/{p-1b3ffb2f.js → p-8ab308e9.js} +1 -1
  663. package/dist/ionic/p-8b8b900d.entry.js +4 -0
  664. package/dist/ionic/{p-2c118b1e.js → p-8d4d902b.js} +1 -1
  665. package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
  666. package/dist/ionic/{p-657ccdd6.entry.js → p-8fe3c4ef.entry.js} +1 -1
  667. package/dist/ionic/p-90b3e3b0.system.entry.js +4 -0
  668. package/dist/ionic/p-916a4e14.entry.js +4 -0
  669. package/dist/ionic/p-93e79b55.js +4 -0
  670. package/dist/ionic/p-94f85e19.system.entry.js +4 -0
  671. package/dist/ionic/p-96107183.js +4 -0
  672. package/dist/ionic/{p-a85d9047.system.entry.js → p-97248203.system.entry.js} +1 -1
  673. package/dist/ionic/{p-717e2526.system.entry.js → p-973c7550.system.entry.js} +2 -2
  674. package/dist/ionic/p-986a47ee.system.entry.js +4 -0
  675. package/dist/ionic/p-98e6b3b8.system.js +4 -0
  676. package/dist/ionic/{p-1a680496.entry.js → p-993da5df.entry.js} +1 -1
  677. package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
  678. package/dist/ionic/p-9c93fdcd.js +4 -0
  679. package/dist/ionic/{p-a1036ce7.js → p-9d6f351e.js} +1 -1
  680. package/dist/ionic/{p-d425b1de.entry.js → p-9d795c4b.entry.js} +1 -1
  681. package/dist/ionic/{p-5fc8d5ef.system.js → p-9e3b3f15.system.js} +1 -1
  682. package/dist/ionic/p-9ecc1e42.entry.js +4 -0
  683. package/dist/ionic/{p-88e9052d.entry.js → p-9f84474d.entry.js} +1 -1
  684. package/dist/ionic/{p-942a9358.js → p-a6cc38d4.js} +1 -1
  685. package/dist/ionic/{p-3079950e.entry.js → p-ab427719.entry.js} +1 -1
  686. package/dist/ionic/p-acf70e64.system.entry.js +4 -0
  687. package/dist/ionic/{p-91f4e611.system.entry.js → p-b2d58604.system.entry.js} +2 -2
  688. package/dist/ionic/p-b434ded7.system.entry.js +4 -0
  689. package/dist/ionic/p-bca27ea7.entry.js +4 -0
  690. package/dist/ionic/p-c68e75ea.system.js +4 -0
  691. package/dist/ionic/{p-a3df16b9.system.entry.js → p-c6dbc089.system.entry.js} +1 -1
  692. package/dist/ionic/{p-12a8643e.js → p-c880c809.js} +1 -1
  693. package/dist/ionic/{p-18918a24.system.entry.js → p-c8d61b6c.system.entry.js} +1 -1
  694. package/dist/ionic/p-c9e21694.system.entry.js +4 -0
  695. package/dist/ionic/{p-fe320051.system.js → p-cb944b1a.system.js} +1 -1
  696. package/dist/ionic/p-cd0ffc8c.entry.js +4 -0
  697. package/dist/ionic/p-cefbb7b7.entry.js +4 -0
  698. package/dist/ionic/p-d13689a6.entry.js +4 -0
  699. package/dist/ionic/p-d3f79a49.js +4 -0
  700. package/dist/ionic/p-d47a1a78.system.entry.js +4 -0
  701. package/dist/ionic/{p-baf8eeac.system.entry.js → p-d7c78a97.system.entry.js} +1 -1
  702. package/dist/ionic/p-d7dc29c5.entry.js +4 -0
  703. package/dist/ionic/{p-b727af6a.entry.js → p-d84c9fc4.entry.js} +1 -1
  704. package/dist/ionic/p-d8643420.system.entry.js +4 -0
  705. package/dist/ionic/p-d9b6b588.entry.js +4 -0
  706. package/dist/ionic/p-dd7c79ce.system.entry.js +4 -0
  707. package/dist/ionic/{p-ebc86ce9.system.entry.js → p-de0a7606.system.entry.js} +1 -1
  708. package/dist/ionic/{p-b6279412.entry.js → p-df6a1571.entry.js} +1 -1
  709. package/dist/ionic/{p-a6c0a380.js → p-e1819aee.js} +1 -1
  710. package/dist/ionic/p-e311af42.entry.js +4 -0
  711. package/dist/ionic/p-e46adaf1.system.entry.js +4 -0
  712. package/dist/ionic/p-e755046f.system.entry.js +4 -0
  713. package/dist/ionic/p-eb506d19.system.entry.js +4 -0
  714. package/dist/ionic/p-eb9803e9.system.js +4 -0
  715. package/dist/ionic/{p-288649db.system.entry.js → p-ec77b7ad.system.entry.js} +1 -1
  716. package/dist/ionic/p-ef636601.entry.js +4 -0
  717. package/dist/ionic/p-ef9736b9.entry.js +4 -0
  718. package/dist/ionic/{p-05253db9.js → p-f0a7e80b.js} +1 -1
  719. package/dist/ionic/p-f2473724.js +4 -0
  720. package/dist/ionic/p-f7c3d736.system.entry.js +4 -0
  721. package/dist/ionic/{p-e1c52dc6.entry.js → p-f7ccf8d9.entry.js} +1 -1
  722. package/dist/ionic/p-f7d802e1.entry.js +4 -0
  723. package/dist/ionic/{p-4b8a620f.system.entry.js → p-fd783a38.system.entry.js} +1 -1
  724. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +8 -0
  725. package/dist/types/components/backdrop/backdrop.d.ts +0 -3
  726. package/dist/types/components/checkbox/checkbox.d.ts +1 -24
  727. package/dist/types/components/datetime/datetime.d.ts +0 -1
  728. package/dist/types/components/datetime/utils/data.d.ts +11 -7
  729. package/dist/types/components/input/input.d.ts +0 -26
  730. package/dist/types/components/menu/menu.d.ts +12 -2
  731. package/dist/types/components/modal/utils.d.ts +0 -4
  732. package/dist/types/components/nav/nav.d.ts +4 -1
  733. package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
  734. package/dist/types/components/picker/picker.d.ts +75 -133
  735. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +4 -0
  736. package/dist/types/components/picker-column/picker-column.d.ts +99 -39
  737. package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
  738. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  739. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  740. package/dist/types/components/radio/radio.d.ts +1 -24
  741. package/dist/types/components/range/range.d.ts +1 -21
  742. package/dist/types/components/select/select.d.ts +0 -15
  743. package/dist/types/components/split-pane/split-pane.d.ts +14 -2
  744. package/dist/types/components/textarea/textarea.d.ts +0 -17
  745. package/dist/types/components/toast/toast-interface.d.ts +0 -4
  746. package/dist/types/components/toggle/toggle.d.ts +1 -21
  747. package/dist/types/components.d.ts +160 -195
  748. package/dist/types/interface.d.ts +1 -1
  749. package/dist/types/utils/config.d.ts +2 -2
  750. package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
  751. package/dist/types/utils/native/status-bar.d.ts +0 -1
  752. package/dist/types/utils/overlays.d.ts +5 -2
  753. package/dist/types/utils/test/playwright/generator.d.ts +3 -1
  754. package/hydrate/index.js +1908 -2367
  755. package/package.json +1 -1
  756. package/components/form-controller.js +0 -64
  757. package/components/ion-picker-column-internal.d.ts +0 -11
  758. package/components/ion-picker-column-internal.js +0 -9
  759. package/components/ion-picker-internal.js +0 -9
  760. package/components/picker-column-internal.js +0 -392
  761. package/dist/cjs/form-controller-c83330c0.js +0 -66
  762. package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +0 -68
  763. package/dist/collection/components/checkbox/test/legacy/indeterminate/checkbox.e2e.js +0 -14
  764. package/dist/collection/components/input/test/item/input.spec.js +0 -24
  765. package/dist/collection/components/input/test/legacy/a11y/input.e2e.js +0 -28
  766. package/dist/collection/components/input/test/legacy/basic/input.e2e.js +0 -181
  767. package/dist/collection/components/input/test/legacy/clear-on-edit/input.e2e.js +0 -55
  768. package/dist/collection/components/input/test/legacy/input-events.e2e.js +0 -71
  769. package/dist/collection/components/input/test/legacy/masking/input.e2e.js +0 -26
  770. package/dist/collection/components/input/test/legacy/spec/input.e2e.js +0 -16
  771. package/dist/collection/components/item/test/counter/item.e2e.js +0 -49
  772. package/dist/collection/components/item/test/highlight/item.e2e.js +0 -14
  773. package/dist/collection/components/item/test/legacy/alignment/item.e2e.js +0 -14
  774. package/dist/collection/components/item/test/legacy/fill/item.e2e.js +0 -14
  775. package/dist/collection/components/item/test/legacy/form/item.e2e.js +0 -14
  776. package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -566
  777. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
  778. package/dist/collection/components/picker-internal/picker-internal.js +0 -560
  779. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
  780. package/dist/collection/components/radio/test/legacy/a11y/radio.e2e.js +0 -53
  781. package/dist/collection/components/radio/test/legacy/basic/radio.e2e.js +0 -127
  782. package/dist/collection/components/radio-group/test/legacy/basic/radio-group.e2e.js +0 -122
  783. package/dist/collection/components/radio-group/test/legacy/form/radio-group.e2e.js +0 -30
  784. package/dist/collection/components/radio-group/test/legacy/search/radio-group.e2e.js +0 -38
  785. package/dist/collection/components/range/test/legacy/a11y/range.e2e.js +0 -49
  786. package/dist/collection/components/range/test/legacy/active-bar-start/range.e2e.js +0 -14
  787. package/dist/collection/components/range/test/legacy/basic/range.e2e.js +0 -75
  788. package/dist/collection/components/range/test/legacy/range-events.e2e.js +0 -90
  789. package/dist/collection/components/range/test/legacy/scroll-target/range.e2e.js +0 -32
  790. package/dist/collection/components/select/test/legacy/async/select.e2e.js +0 -19
  791. package/dist/collection/components/select/test/legacy/basic/select.e2e.js +0 -145
  792. package/dist/collection/components/select/test/legacy/compare-with/select.e2e.js +0 -67
  793. package/dist/collection/components/select/test/legacy/custom/custom.e2e.js +0 -13
  794. package/dist/collection/components/select/test/legacy/single-value/select.e2e.js +0 -16
  795. package/dist/collection/components/select/test/legacy/spec/select.e2e.js +0 -14
  796. package/dist/collection/components/select/test/legacy/standalone/select.e2e.js +0 -18
  797. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +0 -39
  798. package/dist/collection/components/textarea/test/legacy/a11y/textarea.e2e.js +0 -31
  799. package/dist/collection/components/textarea/test/legacy/autogrow/textarea.e2e.js +0 -58
  800. package/dist/collection/components/textarea/test/legacy/basic/textarea.e2e.js +0 -43
  801. package/dist/collection/components/textarea/test/legacy/clear-on-edit/textarea.e2e.js +0 -25
  802. package/dist/collection/components/toggle/test/legacy/basic/toggle.e2e.js +0 -83
  803. package/dist/collection/components/toggle/test/legacy/enable-on-off-labels/toggle.e2e.js +0 -37
  804. package/dist/collection/components/toggle/test/legacy/sizes/power-outline.svg +0 -1
  805. package/dist/collection/components/toggle/test/legacy/sizes/toggle.e2e.js +0 -14
  806. package/dist/esm/form-controller-21dd62b1.js +0 -64
  807. package/dist/esm-es5/button-active-47ac8092.js +0 -4
  808. package/dist/esm-es5/form-controller-21dd62b1.js +0 -4
  809. package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
  810. package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
  811. package/dist/esm-es5/overlays-19b26885.js +0 -4
  812. package/dist/esm-es5/swipe-back-37a22d34.js +0 -4
  813. package/dist/ionic/p-021f9d72.entry.js +0 -4
  814. package/dist/ionic/p-02542247.system.entry.js +0 -4
  815. package/dist/ionic/p-02ad4bbe.js +0 -4
  816. package/dist/ionic/p-079da3df.entry.js +0 -4
  817. package/dist/ionic/p-12527c4b.entry.js +0 -4
  818. package/dist/ionic/p-15a40a0b.system.entry.js +0 -4
  819. package/dist/ionic/p-1636923f.system.js +0 -4
  820. package/dist/ionic/p-16a61810.entry.js +0 -4
  821. package/dist/ionic/p-1846513c.js +0 -4
  822. package/dist/ionic/p-1c5fb08b.entry.js +0 -4
  823. package/dist/ionic/p-1f16d040.entry.js +0 -4
  824. package/dist/ionic/p-1f19958f.system.entry.js +0 -4
  825. package/dist/ionic/p-2178329b.entry.js +0 -4
  826. package/dist/ionic/p-257046d2.system.js +0 -4
  827. package/dist/ionic/p-262024fd.entry.js +0 -4
  828. package/dist/ionic/p-2765a571.system.entry.js +0 -4
  829. package/dist/ionic/p-2ea71956.system.entry.js +0 -4
  830. package/dist/ionic/p-2fd3c3dd.entry.js +0 -4
  831. package/dist/ionic/p-36be3332.js +0 -4
  832. package/dist/ionic/p-46bcc2f5.js +0 -4
  833. package/dist/ionic/p-4788693d.entry.js +0 -4
  834. package/dist/ionic/p-479f5926.system.entry.js +0 -4
  835. package/dist/ionic/p-482ea916.system.entry.js +0 -4
  836. package/dist/ionic/p-49f481cc.system.entry.js +0 -4
  837. package/dist/ionic/p-521b3971.entry.js +0 -4
  838. package/dist/ionic/p-5cb5f63d.system.entry.js +0 -4
  839. package/dist/ionic/p-5de920f4.system.entry.js +0 -4
  840. package/dist/ionic/p-6812d37d.js +0 -4
  841. package/dist/ionic/p-6f59cdbc.system.entry.js +0 -4
  842. package/dist/ionic/p-70fbf4e2.entry.js +0 -4
  843. package/dist/ionic/p-741a0f0d.system.entry.js +0 -4
  844. package/dist/ionic/p-74fa0a29.system.js +0 -4
  845. package/dist/ionic/p-76b8bcb8.system.entry.js +0 -4
  846. package/dist/ionic/p-79825c01.entry.js +0 -4
  847. package/dist/ionic/p-7a615a5a.entry.js +0 -4
  848. package/dist/ionic/p-7d09d61a.system.entry.js +0 -4
  849. package/dist/ionic/p-7e16220b.entry.js +0 -4
  850. package/dist/ionic/p-7e838f43.system.entry.js +0 -4
  851. package/dist/ionic/p-7f30ad48.entry.js +0 -4
  852. package/dist/ionic/p-7fc8301f.entry.js +0 -4
  853. package/dist/ionic/p-80aed9fb.system.entry.js +0 -4
  854. package/dist/ionic/p-839ea604.js +0 -4
  855. package/dist/ionic/p-8cc34120.entry.js +0 -4
  856. package/dist/ionic/p-8e651c29.entry.js +0 -4
  857. package/dist/ionic/p-8f5e3134.system.entry.js +0 -4
  858. package/dist/ionic/p-9056778e.system.entry.js +0 -4
  859. package/dist/ionic/p-98372d7a.system.entry.js +0 -4
  860. package/dist/ionic/p-98aa0553.entry.js +0 -4
  861. package/dist/ionic/p-9de75bac.system.entry.js +0 -4
  862. package/dist/ionic/p-a02ea777.entry.js +0 -4
  863. package/dist/ionic/p-a1222c24.entry.js +0 -4
  864. package/dist/ionic/p-a4aa6dd2.system.entry.js +0 -4
  865. package/dist/ionic/p-a6e8f678.system.entry.js +0 -4
  866. package/dist/ionic/p-a8459bfb.entry.js +0 -4
  867. package/dist/ionic/p-ae2b3a7a.system.entry.js +0 -4
  868. package/dist/ionic/p-ae828bd9.system.entry.js +0 -4
  869. package/dist/ionic/p-b0aa3806.system.entry.js +0 -4
  870. package/dist/ionic/p-b27bba38.system.entry.js +0 -4
  871. package/dist/ionic/p-b4d2f43c.system.js +0 -4
  872. package/dist/ionic/p-b58686e0.entry.js +0 -4
  873. package/dist/ionic/p-ba0fbecc.entry.js +0 -4
  874. package/dist/ionic/p-bdca4784.js +0 -4
  875. package/dist/ionic/p-c1a871ff.system.entry.js +0 -4
  876. package/dist/ionic/p-c7288e78.system.entry.js +0 -4
  877. package/dist/ionic/p-cb3065b8.entry.js +0 -4
  878. package/dist/ionic/p-cfb4d7e0.js +0 -4
  879. package/dist/ionic/p-d143fefa.system.entry.js +0 -4
  880. package/dist/ionic/p-d6c6541b.system.entry.js +0 -4
  881. package/dist/ionic/p-dff97cfa.entry.js +0 -4
  882. package/dist/ionic/p-e626800f.system.entry.js +0 -4
  883. package/dist/ionic/p-e94c1402.entry.js +0 -4
  884. package/dist/ionic/p-ebc1ca90.system.js +0 -4
  885. package/dist/ionic/p-ed4760ef.entry.js +0 -4
  886. package/dist/ionic/p-f02c41af.system.js +0 -4
  887. package/dist/ionic/p-f0e54781.system.entry.js +0 -4
  888. package/dist/ionic/p-f2224b01.entry.js +0 -4
  889. package/dist/ionic/p-fa8d3b01.entry.js +0 -4
  890. package/dist/ionic/p-fbd01db3.system.js +0 -4
  891. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +0 -5
  892. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
  893. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
  894. package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
  895. /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
  896. /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
  897. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
  898. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
  899. /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
  900. /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
  901. /package/dist/esm-es5/{data-0f3ab200.js → data-691286f1.js} +0 -0
  902. /package/dist/ionic/{p-f7dce541.js → p-5289aade.js} +0 -0
  903. /package/dist/ionic/{p-7330c044.system.js → p-66e6860f.system.js} +0 -0
  904. /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
  905. /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
  906. /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
  907. /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/core",
3
- "version": "7.7.4-nightly.20240227",
3
+ "version": "8.0.0-beta.0",
4
4
  "description": "Base components for Ionic",
5
5
  "keywords": [
6
6
  "ionic",
@@ -1,64 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { k as findItemLabel } from './helpers.js';
5
-
6
- /**
7
- * Creates a controller that tracks whether a form control is using the legacy or modern syntax. This should be removed when the legacy form control syntax is removed.
8
- *
9
- * @internal
10
- * @prop el: The Ionic form component to reference
11
- */
12
- const createLegacyFormController = (el) => {
13
- const controlEl = el;
14
- let legacyControl;
15
- const hasLegacyControl = () => {
16
- if (legacyControl === undefined) {
17
- /**
18
- * Detect if developers are using the legacy form control syntax
19
- * so a deprecation warning is logged. This warning can be disabled
20
- * by either using the new `label` property or setting `aria-label`
21
- * on the control.
22
- * Alternatively, components that use a slot for the label
23
- * can check to see if the component has slotted text
24
- * in the light DOM.
25
- */
26
- const hasLabelProp = controlEl.label !== undefined || hasLabelSlot(controlEl);
27
- const hasAriaLabelAttribute = controlEl.hasAttribute('aria-label') ||
28
- // Shadow DOM form controls cannot use aria-labelledby
29
- (controlEl.hasAttribute('aria-labelledby') && controlEl.shadowRoot === null);
30
- const legacyItemLabel = findItemLabel(controlEl);
31
- /**
32
- * Developers can manually opt-out of the modern form markup
33
- * by setting `legacy="true"` on components.
34
- */
35
- legacyControl =
36
- controlEl.legacy === true || (!hasLabelProp && !hasAriaLabelAttribute && legacyItemLabel !== null);
37
- }
38
- return legacyControl;
39
- };
40
- return { hasLegacyControl };
41
- };
42
- const hasLabelSlot = (controlEl) => {
43
- /**
44
- * Components that have a named label slot
45
- * also have other slots, so we need to query for
46
- * anything that is explicitly passed to slot="label"
47
- */
48
- if (NAMED_LABEL_SLOT_COMPONENTS.includes(controlEl.tagName) && controlEl.querySelector('[slot="label"]') !== null) {
49
- return true;
50
- }
51
- /**
52
- * Components that have an unnamed slot for the label
53
- * have no other slots, so we can check the textContent
54
- * of the element.
55
- */
56
- if (UNNAMED_LABEL_SLOT_COMPONENTS.includes(controlEl.tagName) && controlEl.textContent !== '') {
57
- return true;
58
- }
59
- return false;
60
- };
61
- const NAMED_LABEL_SLOT_COMPONENTS = ['ION-INPUT', 'ION-TEXTAREA', 'ION-SELECT', 'ION-RANGE'];
62
- const UNNAMED_LABEL_SLOT_COMPONENTS = ['ION-TOGGLE', 'ION-CHECKBOX', 'ION-RADIO'];
63
-
64
- export { createLegacyFormController as c };
@@ -1,11 +0,0 @@
1
- import type { Components, JSX } from "../dist/types/components";
2
-
3
- interface IonPickerColumnInternal extends Components.IonPickerColumnInternal, HTMLElement {}
4
- export const IonPickerColumnInternal: {
5
- prototype: IonPickerColumnInternal;
6
- new (): IonPickerColumnInternal;
7
- };
8
- /**
9
- * Used to define this component and all nested components recursively.
10
- */
11
- export const defineCustomElement: () => void;
@@ -1,9 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { P as PickerColumnInternal, d as defineCustomElement$1 } from './picker-column-internal.js';
5
-
6
- const IonPickerColumnInternal = PickerColumnInternal;
7
- const defineCustomElement = defineCustomElement$1;
8
-
9
- export { IonPickerColumnInternal, defineCustomElement };
@@ -1,9 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { P as PickerInternal, d as defineCustomElement$1 } from './picker-internal.js';
5
-
6
- const IonPickerInternal = PickerInternal;
7
- const defineCustomElement = defineCustomElement$1;
8
-
9
- export { IonPickerInternal, defineCustomElement };
@@ -1,392 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
5
- import { r as raf, g as getElementRoot } from './helpers.js';
6
- import { a as hapticSelectionStart, b as hapticSelectionChanged, h as hapticSelectionEnd } from './haptic.js';
7
- import { a as isPlatform, b as getIonMode } from './ionic-global.js';
8
- import { c as createColorClasses } from './theme.js';
9
-
10
- const pickerColumnInternalIosCss = ":host{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;height:200px;outline:none;font-size:22px;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none;text-align:center}:host::-webkit-scrollbar{display:none}:host .picker-item{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden;scroll-snap-align:center}:host .picker-item-empty,:host .picker-item[disabled]{cursor:default}:host .picker-item-empty,:host(:not([disabled])) .picker-item[disabled]{scroll-snap-align:none}:host([disabled]){overflow-y:hidden}:host .picker-item[disabled]{opacity:0.4}:host(.picker-column-active) .picker-item.picker-item-active{color:var(--ion-color-base)}@media (any-hover: hover){:host(:focus){outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}";
11
- const IonPickerColumnInternalIosStyle0 = pickerColumnInternalIosCss;
12
-
13
- const pickerColumnInternalMdCss = ":host{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;height:200px;outline:none;font-size:22px;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none;text-align:center}:host::-webkit-scrollbar{display:none}:host .picker-item{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden;scroll-snap-align:center}:host .picker-item-empty,:host .picker-item[disabled]{cursor:default}:host .picker-item-empty,:host(:not([disabled])) .picker-item[disabled]{scroll-snap-align:none}:host([disabled]){overflow-y:hidden}:host .picker-item[disabled]{opacity:0.4}:host(.picker-column-active) .picker-item.picker-item-active{color:var(--ion-color-base)}@media (any-hover: hover){:host(:focus){outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}:host .picker-item-active{color:var(--ion-color-base)}";
14
- const IonPickerColumnInternalMdStyle0 = pickerColumnInternalMdCss;
15
-
16
- const PickerColumnInternal = /*@__PURE__*/ proxyCustomElement(class PickerColumnInternal extends HTMLElement {
17
- constructor() {
18
- super();
19
- this.__registerHost();
20
- this.__attachShadow();
21
- this.ionChange = createEvent(this, "ionChange", 7);
22
- this.isScrolling = false;
23
- this.isColumnVisible = false;
24
- this.canExitInputMode = true;
25
- this.centerPickerItemInView = (target, smooth = true, canExitInputMode = true) => {
26
- const { el, isColumnVisible } = this;
27
- if (isColumnVisible) {
28
- // (Vertical offset from parent) - (three empty picker rows) + (half the height of the target to ensure the scroll triggers)
29
- const top = target.offsetTop - 3 * target.clientHeight + target.clientHeight / 2;
30
- if (el.scrollTop !== top) {
31
- /**
32
- * Setting this flag prevents input
33
- * mode from exiting in the picker column's
34
- * scroll callback. This is useful when the user manually
35
- * taps an item or types on the keyboard as both
36
- * of these can cause a scroll to occur.
37
- */
38
- this.canExitInputMode = canExitInputMode;
39
- el.scroll({
40
- top,
41
- left: 0,
42
- behavior: smooth ? 'smooth' : undefined,
43
- });
44
- }
45
- }
46
- };
47
- this.setPickerItemActiveState = (item, isActive) => {
48
- if (isActive) {
49
- item.classList.add(PICKER_ITEM_ACTIVE_CLASS);
50
- item.part.add(PICKER_ITEM_ACTIVE_PART);
51
- }
52
- else {
53
- item.classList.remove(PICKER_ITEM_ACTIVE_CLASS);
54
- item.part.remove(PICKER_ITEM_ACTIVE_PART);
55
- }
56
- };
57
- /**
58
- * When ionInputModeChange is emitted, each column
59
- * needs to check if it is the one being made available
60
- * for text entry.
61
- */
62
- this.inputModeChange = (ev) => {
63
- if (!this.numericInput) {
64
- return;
65
- }
66
- const { useInputMode, inputModeColumn } = ev.detail;
67
- /**
68
- * If inputModeColumn is undefined then this means
69
- * all numericInput columns are being selected.
70
- */
71
- const isColumnActive = inputModeColumn === undefined || inputModeColumn === this.el;
72
- if (!useInputMode || !isColumnActive) {
73
- this.setInputModeActive(false);
74
- return;
75
- }
76
- this.setInputModeActive(true);
77
- };
78
- /**
79
- * Setting isActive will cause a re-render.
80
- * As a result, we do not want to cause the
81
- * re-render mid scroll as this will cause
82
- * the picker column to jump back to
83
- * whatever value was selected at the
84
- * start of the scroll interaction.
85
- */
86
- this.setInputModeActive = (state) => {
87
- if (this.isScrolling) {
88
- this.scrollEndCallback = () => {
89
- this.isActive = state;
90
- };
91
- return;
92
- }
93
- this.isActive = state;
94
- };
95
- /**
96
- * When the column scrolls, the component
97
- * needs to determine which item is centered
98
- * in the view and will emit an ionChange with
99
- * the item object.
100
- */
101
- this.initializeScrollListener = () => {
102
- /**
103
- * The haptics for the wheel picker are
104
- * an iOS-only feature. As a result, they should
105
- * be disabled on Android.
106
- */
107
- const enableHaptics = isPlatform('ios');
108
- const { el } = this;
109
- let timeout;
110
- let activeEl = this.activeItem;
111
- const scrollCallback = () => {
112
- raf(() => {
113
- if (timeout) {
114
- clearTimeout(timeout);
115
- timeout = undefined;
116
- }
117
- if (!this.isScrolling) {
118
- enableHaptics && hapticSelectionStart();
119
- this.isScrolling = true;
120
- }
121
- /**
122
- * Select item in the center of the column
123
- * which is the month/year that we want to select
124
- */
125
- const bbox = el.getBoundingClientRect();
126
- const centerX = bbox.x + bbox.width / 2;
127
- const centerY = bbox.y + bbox.height / 2;
128
- const activeElement = el.shadowRoot.elementFromPoint(centerX, centerY);
129
- if (activeEl !== null) {
130
- this.setPickerItemActiveState(activeEl, false);
131
- }
132
- if (activeElement === null || activeElement.disabled) {
133
- return;
134
- }
135
- /**
136
- * If we are selecting a new value,
137
- * we need to run haptics again.
138
- */
139
- if (activeElement !== activeEl) {
140
- enableHaptics && hapticSelectionChanged();
141
- if (this.canExitInputMode) {
142
- /**
143
- * The native iOS wheel picker
144
- * only dismisses the keyboard
145
- * once the selected item has changed
146
- * as a result of a swipe
147
- * from the user. If `canExitInputMode` is
148
- * `false` then this means that the
149
- * scroll is happening as a result of
150
- * the `value` property programmatically changing
151
- * either by an application or by the user via the keyboard.
152
- */
153
- this.exitInputMode();
154
- }
155
- }
156
- activeEl = activeElement;
157
- this.setPickerItemActiveState(activeElement, true);
158
- timeout = setTimeout(() => {
159
- this.isScrolling = false;
160
- enableHaptics && hapticSelectionEnd();
161
- /**
162
- * Certain tasks (such as those that
163
- * cause re-renders) should only be done
164
- * once scrolling has finished, otherwise
165
- * flickering may occur.
166
- */
167
- const { scrollEndCallback } = this;
168
- if (scrollEndCallback) {
169
- scrollEndCallback();
170
- this.scrollEndCallback = undefined;
171
- }
172
- /**
173
- * Reset this flag as the
174
- * next scroll interaction could
175
- * be a scroll from the user. In this
176
- * case, we should exit input mode.
177
- */
178
- this.canExitInputMode = true;
179
- const dataIndex = activeElement.getAttribute('data-index');
180
- /**
181
- * If no value it is
182
- * possible we hit one of the
183
- * empty padding columns.
184
- */
185
- if (dataIndex === null) {
186
- return;
187
- }
188
- const index = parseInt(dataIndex, 10);
189
- const selectedItem = this.items[index];
190
- if (selectedItem.value !== this.value) {
191
- this.setValue(selectedItem.value);
192
- }
193
- }, 250);
194
- });
195
- };
196
- /**
197
- * Wrap this in an raf so that the scroll callback
198
- * does not fire when component is initially shown.
199
- */
200
- raf(() => {
201
- el.addEventListener('scroll', scrollCallback);
202
- this.destroyScrollListener = () => {
203
- el.removeEventListener('scroll', scrollCallback);
204
- };
205
- });
206
- };
207
- /**
208
- * Tells the parent picker to
209
- * exit text entry mode. This is only called
210
- * when the selected item changes during scroll, so
211
- * we know that the user likely wants to scroll
212
- * instead of type.
213
- */
214
- this.exitInputMode = () => {
215
- const { parentEl } = this;
216
- if (parentEl == null)
217
- return;
218
- parentEl.exitInputMode();
219
- /**
220
- * setInputModeActive only takes
221
- * effect once scrolling stops to avoid
222
- * a component re-render while scrolling.
223
- * However, we want the visual active
224
- * indicator to go away immediately, so
225
- * we call classList.remove here.
226
- */
227
- this.el.classList.remove('picker-column-active');
228
- };
229
- this.isActive = false;
230
- this.disabled = false;
231
- this.items = [];
232
- this.value = undefined;
233
- this.color = 'primary';
234
- this.numericInput = false;
235
- }
236
- valueChange() {
237
- if (this.isColumnVisible) {
238
- /**
239
- * Only scroll the active item into view when the picker column
240
- * is actively visible to the user.
241
- */
242
- this.scrollActiveItemIntoView();
243
- }
244
- }
245
- /**
246
- * Only setup scroll listeners
247
- * when the picker is visible, otherwise
248
- * the container will have a scroll
249
- * height of 0px.
250
- */
251
- componentWillLoad() {
252
- const visibleCallback = (entries) => {
253
- const ev = entries[0];
254
- if (ev.isIntersecting) {
255
- const { activeItem, el } = this;
256
- this.isColumnVisible = true;
257
- /**
258
- * Because this initial call to scrollActiveItemIntoView has to fire before
259
- * the scroll listener is set up, we need to manage the active class manually.
260
- */
261
- const oldActive = getElementRoot(el).querySelector(`.${PICKER_ITEM_ACTIVE_CLASS}`);
262
- if (oldActive) {
263
- this.setPickerItemActiveState(oldActive, false);
264
- }
265
- this.scrollActiveItemIntoView();
266
- if (activeItem) {
267
- this.setPickerItemActiveState(activeItem, true);
268
- }
269
- this.initializeScrollListener();
270
- }
271
- else {
272
- this.isColumnVisible = false;
273
- if (this.destroyScrollListener) {
274
- this.destroyScrollListener();
275
- this.destroyScrollListener = undefined;
276
- }
277
- }
278
- };
279
- new IntersectionObserver(visibleCallback, { threshold: 0.001 }).observe(this.el);
280
- const parentEl = (this.parentEl = this.el.closest('ion-picker-internal'));
281
- if (parentEl !== null) {
282
- // TODO(FW-2832): type
283
- parentEl.addEventListener('ionInputModeChange', (ev) => this.inputModeChange(ev));
284
- }
285
- }
286
- componentDidRender() {
287
- var _a;
288
- const { activeItem, items, isColumnVisible, value } = this;
289
- if (isColumnVisible) {
290
- if (activeItem) {
291
- this.scrollActiveItemIntoView();
292
- }
293
- else if (((_a = items[0]) === null || _a === void 0 ? void 0 : _a.value) !== value) {
294
- /**
295
- * If the picker column does not have an active item and the current value
296
- * does not match the first item in the picker column, that means
297
- * the value is out of bounds. In this case, we assign the value to the
298
- * first item to match the scroll position of the column.
299
- *
300
- */
301
- this.setValue(items[0].value);
302
- }
303
- }
304
- }
305
- /** @internal */
306
- async scrollActiveItemIntoView() {
307
- const activeEl = this.activeItem;
308
- if (activeEl) {
309
- this.centerPickerItemInView(activeEl, false, false);
310
- }
311
- }
312
- /**
313
- * Sets the value prop and fires the ionChange event.
314
- * This is used when we need to fire ionChange from
315
- * user-generated events that cannot be caught with normal
316
- * input/change event listeners.
317
- * @internal
318
- */
319
- async setValue(value) {
320
- const { items } = this;
321
- this.value = value;
322
- const findItem = items.find((item) => item.value === value && item.disabled !== true);
323
- if (findItem) {
324
- this.ionChange.emit(findItem);
325
- }
326
- }
327
- get activeItem() {
328
- // If the whole picker column is disabled, the current value should appear active
329
- // If the current value item is specifically disabled, it should not appear active
330
- const selector = `.picker-item[data-value="${this.value}"]${this.disabled ? '' : ':not([disabled])'}`;
331
- return getElementRoot(this.el).querySelector(selector);
332
- }
333
- render() {
334
- const { items, color, disabled: pickerDisabled, isActive, numericInput } = this;
335
- const mode = getIonMode(this);
336
- /**
337
- * exportparts is needed so ion-datetime can expose the parts
338
- * from two layers of shadow nesting. If this causes problems,
339
- * the attribute can be moved to datetime.tsx and set on every
340
- * instance of ion-picker-column-internal there instead.
341
- */
342
- return (h(Host, { key: 'd0e3818aa4ab06aefd988d1b42ae754244727b8f', exportparts: `${PICKER_ITEM_PART}, ${PICKER_ITEM_ACTIVE_PART}`, disabled: pickerDisabled, tabindex: pickerDisabled ? null : 0, class: createColorClasses(color, {
343
- [mode]: true,
344
- ['picker-column-active']: isActive,
345
- ['picker-column-numeric-input']: numericInput,
346
- }) }, h("div", { key: 'ec3b16415db5f64e3fab37fda023560ebcdc9423', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '40c78c9a1277807572d73e23048c2730cab88f5a', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: 'c51fa817f6999356cf3568a46098e954936b45d5', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), items.map((item, index) => {
347
- const isItemDisabled = pickerDisabled || item.disabled || false;
348
- return (h("button", { tabindex: "-1", class: {
349
- 'picker-item': true,
350
- }, "data-value": item.value, "data-index": index, onClick: (ev) => {
351
- this.centerPickerItemInView(ev.target, true);
352
- }, disabled: isItemDisabled, part: PICKER_ITEM_PART }, item.text));
353
- }), h("div", { key: '80a7461dfe571f46466219b05007b021711aed32', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: 'fed82263295f58c51e2b753d0c06c7d71872b8a7', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: 'e805dff4122cc4e5fb4d7dcb96054fee8ad3bd07', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0")));
354
- }
355
- get el() { return this; }
356
- static get watchers() { return {
357
- "value": ["valueChange"]
358
- }; }
359
- static get style() { return {
360
- ios: IonPickerColumnInternalIosStyle0,
361
- md: IonPickerColumnInternalMdStyle0
362
- }; }
363
- }, [33, "ion-picker-column-internal", {
364
- "disabled": [4],
365
- "items": [16],
366
- "value": [1032],
367
- "color": [513],
368
- "numericInput": [4, "numeric-input"],
369
- "isActive": [32],
370
- "scrollActiveItemIntoView": [64],
371
- "setValue": [64]
372
- }, undefined, {
373
- "value": ["valueChange"]
374
- }]);
375
- const PICKER_ITEM_ACTIVE_CLASS = 'picker-item-active';
376
- const PICKER_ITEM_PART = 'wheel-item';
377
- const PICKER_ITEM_ACTIVE_PART = 'active';
378
- function defineCustomElement() {
379
- if (typeof customElements === "undefined") {
380
- return;
381
- }
382
- const components = ["ion-picker-column-internal"];
383
- components.forEach(tagName => { switch (tagName) {
384
- case "ion-picker-column-internal":
385
- if (!customElements.get(tagName)) {
386
- customElements.define(tagName, PickerColumnInternal);
387
- }
388
- break;
389
- } });
390
- }
391
-
392
- export { PickerColumnInternal as P, defineCustomElement as d };
@@ -1,66 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- 'use strict';
5
-
6
- const helpers = require('./helpers-da4c0ed1.js');
7
-
8
- /**
9
- * Creates a controller that tracks whether a form control is using the legacy or modern syntax. This should be removed when the legacy form control syntax is removed.
10
- *
11
- * @internal
12
- * @prop el: The Ionic form component to reference
13
- */
14
- const createLegacyFormController = (el) => {
15
- const controlEl = el;
16
- let legacyControl;
17
- const hasLegacyControl = () => {
18
- if (legacyControl === undefined) {
19
- /**
20
- * Detect if developers are using the legacy form control syntax
21
- * so a deprecation warning is logged. This warning can be disabled
22
- * by either using the new `label` property or setting `aria-label`
23
- * on the control.
24
- * Alternatively, components that use a slot for the label
25
- * can check to see if the component has slotted text
26
- * in the light DOM.
27
- */
28
- const hasLabelProp = controlEl.label !== undefined || hasLabelSlot(controlEl);
29
- const hasAriaLabelAttribute = controlEl.hasAttribute('aria-label') ||
30
- // Shadow DOM form controls cannot use aria-labelledby
31
- (controlEl.hasAttribute('aria-labelledby') && controlEl.shadowRoot === null);
32
- const legacyItemLabel = helpers.findItemLabel(controlEl);
33
- /**
34
- * Developers can manually opt-out of the modern form markup
35
- * by setting `legacy="true"` on components.
36
- */
37
- legacyControl =
38
- controlEl.legacy === true || (!hasLabelProp && !hasAriaLabelAttribute && legacyItemLabel !== null);
39
- }
40
- return legacyControl;
41
- };
42
- return { hasLegacyControl };
43
- };
44
- const hasLabelSlot = (controlEl) => {
45
- /**
46
- * Components that have a named label slot
47
- * also have other slots, so we need to query for
48
- * anything that is explicitly passed to slot="label"
49
- */
50
- if (NAMED_LABEL_SLOT_COMPONENTS.includes(controlEl.tagName) && controlEl.querySelector('[slot="label"]') !== null) {
51
- return true;
52
- }
53
- /**
54
- * Components that have an unnamed slot for the label
55
- * have no other slots, so we can check the textContent
56
- * of the element.
57
- */
58
- if (UNNAMED_LABEL_SLOT_COMPONENTS.includes(controlEl.tagName) && controlEl.textContent !== '') {
59
- return true;
60
- }
61
- return false;
62
- };
63
- const NAMED_LABEL_SLOT_COMPONENTS = ['ION-INPUT', 'ION-TEXTAREA', 'ION-SELECT', 'ION-RANGE'];
64
- const UNNAMED_LABEL_SLOT_COMPONENTS = ['ION-TOGGLE', 'ION-CHECKBOX', 'ION-RADIO'];
65
-
66
- exports.createLegacyFormController = createLegacyFormController;
@@ -1,68 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { expect } from "@playwright/test";
5
- import { configs, test } from "../../../../../utils/test/playwright/index";
6
- configs().forEach(({ title, screenshot, config }) => {
7
- test.describe(title('checkbox: basic (legacy)'), () => {
8
- test('should not have visual regressions', async ({ page }) => {
9
- await page.goto(`/src/components/checkbox/test/legacy/basic`, config);
10
- await page.setIonViewport();
11
- await expect(page).toHaveScreenshot(screenshot(`checkbox-legacy-basic`));
12
- });
13
- });
14
- });
15
- configs({ directions: ['ltr'] }).forEach(({ title, config }) => {
16
- test.describe(title('checkbox: ionChange'), () => {
17
- test('should fire ionChange when interacting with checkbox', async ({ page }) => {
18
- await page.setContent(`
19
- <ion-checkbox value="my-checkbox"></ion-checkbox>
20
- `, config);
21
- const ionChange = await page.spyOnEvent('ionChange');
22
- const checkbox = page.locator('ion-checkbox');
23
- await checkbox.click();
24
- await expect(ionChange).toHaveReceivedEventDetail({ value: 'my-checkbox', checked: true });
25
- await checkbox.click();
26
- await expect(ionChange).toHaveReceivedEventDetail({ value: 'my-checkbox', checked: false });
27
- });
28
- test('should fire ionChange when interacting with checkbox in item', async ({ page }) => {
29
- await page.setContent(`
30
- <ion-item>
31
- <ion-checkbox value="my-checkbox"></ion-checkbox>
32
- </ion-item>
33
- `, config);
34
- const ionChange = await page.spyOnEvent('ionChange');
35
- const item = page.locator('ion-item');
36
- await item.click();
37
- await expect(ionChange).toHaveReceivedEventDetail({ value: 'my-checkbox', checked: true });
38
- await item.click();
39
- await expect(ionChange).toHaveReceivedEventDetail({ value: 'my-checkbox', checked: false });
40
- });
41
- test('should not fire when programmatically setting a value', async ({ page }) => {
42
- await page.setContent(`
43
- <ion-checkbox value="my-checkbox"></ion-checkbox>
44
- `, config);
45
- const ionChange = await page.spyOnEvent('ionChange');
46
- const checkbox = page.locator('ion-checkbox');
47
- await checkbox.evaluate((el) => (el.checked = true));
48
- await expect(ionChange).not.toHaveReceivedEvent();
49
- });
50
- test('clicking padded space within item should click the checkbox', async ({ page }) => {
51
- await page.setContent(`
52
- <ion-item>
53
- <ion-checkbox legacy="true" value="my-checkbox"></ion-checkbox>
54
- </ion-item>
55
- `, config);
56
- const itemNative = page.locator('.item-native');
57
- const ionChange = await page.spyOnEvent('ionChange');
58
- // Clicks the padded space within the item
59
- await itemNative.click({
60
- position: {
61
- x: 5,
62
- y: 5,
63
- },
64
- });
65
- expect(ionChange).toHaveReceivedEvent();
66
- });
67
- });
68
- });
@@ -1,14 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { expect } from "@playwright/test";
5
- import { configs, test } from "../../../../../utils/test/playwright/index";
6
- configs().forEach(({ title, screenshot, config }) => {
7
- test.describe(title('checkbox: indeterminate (legacy)'), () => {
8
- test('should not have visual regressions', async ({ page }) => {
9
- await page.goto(`/src/components/checkbox/test/legacy/indeterminate`, config);
10
- const content = page.locator('#checkboxes');
11
- await expect(content).toHaveScreenshot(screenshot(`checkbox-legacy-indeterminate`));
12
- });
13
- });
14
- });