@ionic/core 7.7.4 → 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 (911) 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/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 +9 -26
  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 +65 -159
  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 +23 -9
  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 +90 -40
  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-c2840aea.js → animation-4ad55058.js} +1 -1
  141. package/dist/cjs/{button-active-fcf4bd60.js → button-active-e447f58b.js} +2 -2
  142. package/dist/cjs/{data-a5109f09.js → data-e2bf21de.js} +1 -1
  143. package/dist/cjs/{framework-delegate-e0e13baa.js → framework-delegate-53817ef1.js} +1 -1
  144. package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
  145. package/dist/cjs/{helpers-da4c0ed1.js → helpers-b71ca811.js} +0 -1
  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-905e8955.js → index-92bb95d6.js} +3 -3
  149. package/dist/cjs/{index-19f1b25e.js → index-bbc5b1f7.js} +2 -2
  150. package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
  151. package/dist/cjs/index.cjs.js +10 -10
  152. package/dist/cjs/{input-shims-a9a85bb9.js → input-shims-679d87bc.js} +10 -3
  153. package/dist/cjs/{input.utils-d7dca90f.js → input.utils-5175aea1.js} +1 -1
  154. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  155. package/dist/cjs/ion-action-sheet.cjs.entry.js +11 -11
  156. package/dist/cjs/ion-alert.cjs.entry.js +9 -9
  157. package/dist/cjs/ion-app_8.cjs.entry.js +24 -25
  158. package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
  159. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  160. package/dist/cjs/ion-backdrop.cjs.entry.js +1 -13
  161. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  162. package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
  163. package/dist/cjs/ion-card_5.cjs.entry.js +6 -6
  164. package/dist/cjs/ion-checkbox.cjs.entry.js +7 -75
  165. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  166. package/dist/cjs/ion-col_3.cjs.entry.js +5 -5
  167. package/dist/cjs/ion-datetime-button.cjs.entry.js +7 -7
  168. package/dist/cjs/ion-datetime_3.cjs.entry.js +53 -107
  169. package/dist/cjs/ion-fab_3.cjs.entry.js +10 -10
  170. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  171. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +7 -7
  172. package/dist/cjs/ion-input.cjs.entry.js +10 -90
  173. package/dist/cjs/ion-item-option_3.cjs.entry.js +11 -11
  174. package/dist/cjs/ion-item_8.cjs.entry.js +43 -29
  175. package/dist/cjs/ion-loading.cjs.entry.js +9 -8
  176. package/dist/cjs/ion-menu_3.cjs.entry.js +38 -54
  177. package/dist/cjs/ion-modal.cjs.entry.js +16 -33
  178. package/dist/cjs/ion-nav_2.cjs.entry.js +11 -8
  179. package/dist/cjs/ion-picker-column-option.cjs.entry.js +106 -0
  180. package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +122 -91
  181. package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +31 -24
  182. package/dist/cjs/ion-popover.cjs.entry.js +10 -9
  183. package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -4
  184. package/dist/cjs/ion-radio_2.cjs.entry.js +8 -77
  185. package/dist/cjs/ion-range.cjs.entry.js +35 -88
  186. package/dist/cjs/ion-refresher_2.cjs.entry.js +10 -10
  187. package/dist/cjs/ion-reorder_2.cjs.entry.js +5 -5
  188. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  189. package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
  190. package/dist/cjs/ion-searchbar.cjs.entry.js +7 -7
  191. package/dist/cjs/ion-segment_2.cjs.entry.js +9 -9
  192. package/dist/cjs/ion-select_3.cjs.entry.js +75 -166
  193. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  194. package/dist/cjs/ion-split-pane.cjs.entry.js +26 -16
  195. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +9 -9
  196. package/dist/cjs/ion-tab_2.cjs.entry.js +5 -5
  197. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  198. package/dist/cjs/ion-textarea.cjs.entry.js +9 -69
  199. package/dist/cjs/ion-toast.cjs.entry.js +17 -11
  200. package/dist/cjs/ion-toggle.cjs.entry.js +8 -64
  201. package/dist/cjs/ionic.cjs.js +1 -1
  202. package/dist/cjs/{ios.transition-b03f91d9.js → ios.transition-997fe325.js} +3 -3
  203. package/dist/cjs/loader.cjs.js +1 -1
  204. package/dist/cjs/{md.transition-27c337ce.js → md.transition-2b76c2c6.js} +3 -3
  205. package/dist/cjs/{notch-controller-bfbcbb7a.js → notch-controller-8e0ae870.js} +1 -1
  206. package/dist/cjs/{overlays-53b60f81.js → overlays-3d02b54f.js} +91 -40
  207. package/dist/cjs/{status-tap-dbe2342f.js → status-tap-3761c2d4.js} +2 -2
  208. package/dist/cjs/{swipe-back-cf8aa1ec.js → swipe-back-72c5c8b7.js} +3 -3
  209. package/dist/collection/collection-manifest.json +7 -6
  210. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -26
  211. package/dist/collection/components/action-sheet/action-sheet.ios.css +16 -9
  212. package/dist/collection/components/action-sheet/action-sheet.js +2 -2
  213. package/dist/collection/components/action-sheet/action-sheet.md.css +10 -3
  214. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +23 -14
  215. package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +19 -0
  216. package/dist/collection/components/action-sheet/test/basic/action-sheet.spec.js +22 -0
  217. package/dist/collection/components/alert/alert.ios.css +33 -80
  218. package/dist/collection/components/alert/alert.md.css +25 -121
  219. package/dist/collection/components/alert/test/a11y/alert.e2e.js +22 -9
  220. package/dist/collection/components/back-button/back-button.ios.css +1 -1
  221. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +21 -0
  222. package/dist/collection/components/backdrop/backdrop.js +1 -13
  223. package/dist/collection/components/badge/badge.ios.css +1 -1
  224. package/dist/collection/components/badge/badge.md.css +1 -1
  225. package/dist/collection/components/badge/test/a11y/badge.e2e.js +18 -0
  226. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +9 -9
  227. package/dist/collection/components/breadcrumb/breadcrumb.md.css +9 -9
  228. package/dist/collection/components/button/button.ios.css +11 -11
  229. package/dist/collection/components/button/button.md.css +9 -9
  230. package/dist/collection/components/button/test/a11y/button.e2e.js +48 -0
  231. package/dist/collection/components/button/test/wrap/button.e2e.js +12 -24
  232. package/dist/collection/components/card/card.ios.css +1 -1
  233. package/dist/collection/components/card/card.md.css +1 -1
  234. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +1 -1
  235. package/dist/collection/components/card-subtitle/card-subtitle.md.css +1 -1
  236. package/dist/collection/components/card-title/card-title.md.css +1 -1
  237. package/dist/collection/components/checkbox/checkbox.ios.css +10 -88
  238. package/dist/collection/components/checkbox/checkbox.js +5 -118
  239. package/dist/collection/components/checkbox/checkbox.md.css +7 -85
  240. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +11 -2
  241. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +10 -0
  242. package/dist/collection/components/chip/chip.js +2 -2
  243. package/dist/collection/components/col/col.js +2 -2
  244. package/dist/collection/components/content/content.css +0 -4
  245. package/dist/collection/components/content/content.js +3 -4
  246. package/dist/collection/components/datetime/datetime.ios.css +105 -117
  247. package/dist/collection/components/datetime/datetime.js +25 -77
  248. package/dist/collection/components/datetime/datetime.md.css +106 -114
  249. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  250. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
  251. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +10 -0
  252. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  253. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  254. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  255. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  256. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  257. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +43 -41
  258. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  259. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  260. package/dist/collection/components/datetime/test/values/datetime.e2e.js +15 -12
  261. package/dist/collection/components/datetime/utils/data.js +1 -1
  262. package/dist/collection/components/datetime-button/datetime-button.ios.css +107 -0
  263. package/dist/collection/components/datetime-button/datetime-button.js +5 -5
  264. package/dist/collection/components/datetime-button/{datetime-button.css → datetime-button.md.css} +10 -7
  265. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +12 -0
  266. package/dist/collection/components/fab/fab.js +2 -2
  267. package/dist/collection/components/fab-button/fab-button.ios.css +7 -7
  268. package/dist/collection/components/fab-button/fab-button.js +2 -2
  269. package/dist/collection/components/fab-button/fab-button.md.css +1 -1
  270. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +50 -0
  271. package/dist/collection/components/fab-list/fab-list.css +4 -42
  272. package/dist/collection/components/fab-list/fab-list.js +2 -2
  273. package/dist/collection/components/footer/footer.js +2 -2
  274. package/dist/collection/components/grid/grid.js +2 -2
  275. package/dist/collection/components/header/header.js +2 -2
  276. package/dist/collection/components/img/img.js +1 -1
  277. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  278. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +3 -3
  279. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  280. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +3 -3
  281. package/dist/collection/components/input/input.ios.css +11 -104
  282. package/dist/collection/components/input/input.js +6 -144
  283. package/dist/collection/components/input/input.md.css +35 -216
  284. package/dist/collection/components/input/test/a11y/input.e2e.js +41 -3
  285. package/dist/collection/components/input/test/item/input.e2e.js +21 -0
  286. package/dist/collection/components/item/item.ios.css +7 -31
  287. package/dist/collection/components/item/item.js +20 -6
  288. package/dist/collection/components/item/item.md.css +29 -112
  289. package/dist/collection/components/item/test/a11y/item.e2e.js +0 -40
  290. package/dist/collection/components/item-divider/item-divider.ios.css +3 -3
  291. package/dist/collection/components/item-divider/item-divider.js +2 -2
  292. package/dist/collection/components/item-divider/item-divider.md.css +7 -17
  293. package/dist/collection/components/item-group/item-group.js +1 -1
  294. package/dist/collection/components/item-option/item-option.ios.css +2 -2
  295. package/dist/collection/components/item-option/item-option.js +2 -2
  296. package/dist/collection/components/item-option/item-option.md.css +1 -1
  297. package/dist/collection/components/item-options/item-options.ios.css +1 -1
  298. package/dist/collection/components/item-options/item-options.js +1 -1
  299. package/dist/collection/components/item-options/item-options.md.css +1 -1
  300. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  301. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +28 -0
  302. package/dist/collection/components/label/label.ios.css +1 -1
  303. package/dist/collection/components/label/label.js +1 -1
  304. package/dist/collection/components/label/label.md.css +2 -2
  305. package/dist/collection/components/label/test/a11y/label.e2e.js +20 -0
  306. package/dist/collection/components/list/list.js +1 -1
  307. package/dist/collection/components/list/list.md.css +2 -26
  308. package/dist/collection/components/list-header/list-header.ios.css +2 -2
  309. package/dist/collection/components/list-header/list-header.js +2 -2
  310. package/dist/collection/components/list-header/list-header.md.css +1 -1
  311. package/dist/collection/components/loading/loading.ios.css +2 -2
  312. package/dist/collection/components/loading/loading.js +2 -2
  313. package/dist/collection/components/loading/loading.md.css +3 -3
  314. package/dist/collection/components/loading/test/a11y/loading.e2e.js +21 -5
  315. package/dist/collection/components/menu/menu.ios.css +72 -53
  316. package/dist/collection/components/menu/menu.js +25 -39
  317. package/dist/collection/components/menu/menu.md.css +72 -53
  318. package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
  319. package/dist/collection/components/menu-button/menu-button.js +2 -2
  320. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +14 -0
  321. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  322. package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -1
  323. package/dist/collection/components/modal/modal.ios.css +9 -38
  324. package/dist/collection/components/modal/modal.js +3 -3
  325. package/dist/collection/components/modal/modal.md.css +1 -1
  326. package/dist/collection/components/modal/utils.js +2 -8
  327. package/dist/collection/components/nav/nav.js +23 -3
  328. package/dist/collection/components/nav/test/nav-controller.spec.js +36 -36
  329. package/dist/collection/components/nav-link/nav-link.js +1 -1
  330. package/dist/collection/components/note/note.ios.css +1 -1
  331. package/dist/collection/components/note/note.js +2 -2
  332. package/dist/collection/components/note/note.md.css +1 -1
  333. package/dist/collection/components/picker/picker.ios.css +97 -234
  334. package/dist/collection/components/picker/picker.js +488 -742
  335. package/dist/collection/components/picker/picker.md.css +98 -226
  336. package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
  337. package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
  338. package/dist/collection/components/picker/test/custom/picker.e2e.js +85 -0
  339. package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +79 -42
  340. package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-column/picker-column.css} +96 -83
  341. package/dist/collection/components/picker-column/picker-column.js +514 -335
  342. package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
  343. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +91 -0
  344. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
  345. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
  346. package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
  347. package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
  348. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
  349. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
  350. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +29 -0
  351. package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.ios.css} +155 -117
  352. package/dist/collection/components/picker-legacy/picker.js +821 -0
  353. package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy/picker.md.css} +144 -115
  354. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
  355. package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
  356. package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
  357. package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
  358. package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.ios.css +2 -26
  359. package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
  360. package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.md.css +3 -27
  361. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
  362. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
  363. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
  364. package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
  365. package/dist/collection/components/popover/popover.ios.css +3 -27
  366. package/dist/collection/components/popover/popover.js +5 -4
  367. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -11
  368. package/dist/collection/components/progress-bar/progress-bar.js +4 -1
  369. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -10
  370. package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +24 -0
  371. package/dist/collection/components/radio/radio.ios.css +10 -101
  372. package/dist/collection/components/radio/radio.js +5 -119
  373. package/dist/collection/components/radio/radio.md.css +8 -105
  374. package/dist/collection/components/radio/test/a11y/radio.e2e.js +114 -81
  375. package/dist/collection/components/radio-group/radio-group.js +1 -1
  376. package/dist/collection/components/range/range.ios.css +12 -90
  377. package/dist/collection/components/range/range.js +30 -123
  378. package/dist/collection/components/range/range.md.css +22 -152
  379. package/dist/collection/components/range/test/a11y/range.e2e.js +20 -10
  380. package/dist/collection/components/range/test/range-events.e2e.js +1 -1
  381. package/dist/collection/components/range/test/range.spec.js +0 -12
  382. package/dist/collection/components/refresher/refresher.ios.css +4 -27
  383. package/dist/collection/components/refresher/refresher.js +1 -1
  384. package/dist/collection/components/refresher/refresher.md.css +7 -30
  385. package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +26 -0
  386. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  387. package/dist/collection/components/reorder/reorder.js +1 -1
  388. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  389. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  390. package/dist/collection/components/router-link/router-link.css +1 -1
  391. package/dist/collection/components/router-link/router-link.js +2 -2
  392. package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +23 -0
  393. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  394. package/dist/collection/components/row/row.js +1 -1
  395. package/dist/collection/components/searchbar/searchbar.ios.css +11 -59
  396. package/dist/collection/components/searchbar/searchbar.js +4 -4
  397. package/dist/collection/components/searchbar/searchbar.md.css +10 -82
  398. package/dist/collection/components/segment/segment.js +2 -2
  399. package/dist/collection/components/segment/test/a11y/segment.e2e.js +23 -0
  400. package/dist/collection/components/segment-button/segment-button.ios.css +3 -3
  401. package/dist/collection/components/segment-button/segment-button.js +3 -3
  402. package/dist/collection/components/segment-button/segment-button.md.css +2 -2
  403. package/dist/collection/components/select/select.ios.css +10 -81
  404. package/dist/collection/components/select/select.js +64 -173
  405. package/dist/collection/components/select/select.md.css +38 -169
  406. package/dist/collection/components/select/test/a11y/select.e2e.js +68 -4
  407. package/dist/collection/components/select-option/select-option.js +1 -1
  408. package/dist/collection/components/select-popover/select-popover.js +1 -1
  409. package/dist/collection/components/select-popover/select-popover.md.css +4 -4
  410. package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +32 -0
  411. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  412. package/dist/collection/components/spinner/spinner.js +1 -1
  413. package/dist/collection/components/split-pane/split-pane.ios.css +3 -55
  414. package/dist/collection/components/split-pane/split-pane.js +48 -14
  415. package/dist/collection/components/split-pane/split-pane.md.css +3 -55
  416. package/dist/collection/components/split-pane/test/wrapped-menu/split-pane.e2e.js +41 -0
  417. package/dist/collection/components/tab/tab.js +2 -2
  418. package/dist/collection/components/tab-bar/tab-bar.ios.css +4 -4
  419. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  420. package/dist/collection/components/tab-bar/tab-bar.md.css +3 -3
  421. package/dist/collection/components/tab-button/tab-button.ios.css +16 -94
  422. package/dist/collection/components/tab-button/tab-button.js +2 -2
  423. package/dist/collection/components/tab-button/tab-button.md.css +10 -93
  424. package/dist/collection/components/tabs/tabs.js +1 -1
  425. package/dist/collection/components/text/text.js +2 -2
  426. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +41 -3
  427. package/dist/collection/components/textarea/test/item/textarea.e2e.js +21 -0
  428. package/dist/collection/components/textarea/textarea.ios.css +13 -103
  429. package/dist/collection/components/textarea/textarea.js +5 -84
  430. package/dist/collection/components/textarea/textarea.md.css +37 -226
  431. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  432. package/dist/collection/components/title/title.ios.css +2 -21
  433. package/dist/collection/components/title/title.js +2 -2
  434. package/dist/collection/components/toast/test/a11y/toast.e2e.js +89 -24
  435. package/dist/collection/components/toast/toast.ios.css +8 -55
  436. package/dist/collection/components/toast/toast.js +9 -3
  437. package/dist/collection/components/toast/toast.md.css +10 -57
  438. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +8 -2
  439. package/dist/collection/components/toggle/toggle.ios.css +11 -90
  440. package/dist/collection/components/toggle/toggle.js +5 -101
  441. package/dist/collection/components/toggle/toggle.md.css +6 -91
  442. package/dist/collection/components/toolbar/toolbar.ios.css +2 -2
  443. package/dist/collection/components/toolbar/toolbar.js +2 -2
  444. package/dist/collection/components/toolbar/toolbar.md.css +1 -1
  445. package/dist/collection/css/test/a11y/typography.e2e.js +18 -0
  446. package/dist/collection/themes/test/colors/theme.e2e.js +170 -0
  447. package/dist/collection/utils/focus-trap.js +78 -0
  448. package/dist/collection/utils/gesture/button-active.js +1 -1
  449. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  450. package/dist/collection/utils/input-shims/input-shims.js +8 -1
  451. package/dist/collection/utils/native/status-bar.js +0 -11
  452. package/dist/collection/utils/overlays.js +14 -38
  453. package/dist/collection/utils/test/aria.spec.js +2 -1
  454. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
  455. package/dist/collection/utils/test/playwright/generator.js +1 -0
  456. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  457. package/dist/docs.json +568 -330
  458. package/dist/esm/{animation-6a0c5338.js → animation-a4acf150.js} +1 -1
  459. package/dist/esm/{button-active-01502123.js → button-active-454e5c57.js} +2 -2
  460. package/dist/esm/{data-0f3ab200.js → data-691286f1.js} +1 -1
  461. package/dist/esm/{framework-delegate-ed4ba327.js → framework-delegate-1eb3236c.js} +1 -1
  462. package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  463. package/dist/esm/{helpers-be245865.js → helpers-ae74b3c9.js} +1 -1
  464. package/dist/esm/{index-9c9d8b49.js → index-03086279.js} +2 -2
  465. package/dist/esm/{index-020f5464.js → index-1f563746.js} +1 -1
  466. package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
  467. package/dist/esm/{index-c43cf47f.js → index-5847f4a9.js} +3 -3
  468. package/dist/esm/{index-f3946ac1.js → index-66871a1d.js} +1 -1
  469. package/dist/esm/index.js +10 -10
  470. package/dist/esm/{input-shims-5329bbe8.js → input-shims-56c1f603.js} +10 -3
  471. package/dist/esm/{input.utils-a445f677.js → input.utils-482fc893.js} +1 -1
  472. package/dist/esm/ion-accordion_2.entry.js +2 -2
  473. package/dist/esm/ion-action-sheet.entry.js +11 -11
  474. package/dist/esm/ion-alert.entry.js +9 -9
  475. package/dist/esm/ion-app_8.entry.js +24 -25
  476. package/dist/esm/ion-avatar_3.entry.js +3 -3
  477. package/dist/esm/ion-back-button.entry.js +2 -2
  478. package/dist/esm/ion-backdrop.entry.js +1 -13
  479. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  480. package/dist/esm/ion-button_2.entry.js +3 -3
  481. package/dist/esm/ion-card_5.entry.js +6 -6
  482. package/dist/esm/ion-checkbox.entry.js +7 -75
  483. package/dist/esm/ion-chip.entry.js +2 -2
  484. package/dist/esm/ion-col_3.entry.js +5 -5
  485. package/dist/esm/ion-datetime-button.entry.js +7 -7
  486. package/dist/esm/ion-datetime_3.entry.js +52 -106
  487. package/dist/esm/ion-fab_3.entry.js +10 -10
  488. package/dist/esm/ion-img.entry.js +2 -2
  489. package/dist/esm/ion-infinite-scroll_2.entry.js +7 -7
  490. package/dist/esm/ion-input.entry.js +10 -90
  491. package/dist/esm/ion-item-option_3.entry.js +11 -11
  492. package/dist/esm/ion-item_8.entry.js +43 -29
  493. package/dist/esm/ion-loading.entry.js +9 -8
  494. package/dist/esm/ion-menu_3.entry.js +38 -54
  495. package/dist/esm/ion-modal.entry.js +16 -33
  496. package/dist/esm/ion-nav_2.entry.js +11 -8
  497. package/dist/esm/ion-picker-column-option.entry.js +102 -0
  498. package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +122 -91
  499. package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +31 -24
  500. package/dist/esm/ion-popover.entry.js +10 -9
  501. package/dist/esm/ion-progress-bar.entry.js +7 -4
  502. package/dist/esm/ion-radio_2.entry.js +8 -77
  503. package/dist/esm/ion-range.entry.js +36 -89
  504. package/dist/esm/ion-refresher_2.entry.js +10 -10
  505. package/dist/esm/ion-reorder_2.entry.js +5 -5
  506. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  507. package/dist/esm/ion-route_4.entry.js +4 -4
  508. package/dist/esm/ion-searchbar.entry.js +7 -7
  509. package/dist/esm/ion-segment_2.entry.js +9 -9
  510. package/dist/esm/ion-select_3.entry.js +73 -164
  511. package/dist/esm/ion-spinner.entry.js +1 -1
  512. package/dist/esm/ion-split-pane.entry.js +26 -16
  513. package/dist/esm/ion-tab-bar_2.entry.js +9 -9
  514. package/dist/esm/ion-tab_2.entry.js +5 -5
  515. package/dist/esm/ion-text.entry.js +2 -2
  516. package/dist/esm/ion-textarea.entry.js +10 -70
  517. package/dist/esm/ion-toast.entry.js +18 -12
  518. package/dist/esm/ion-toggle.entry.js +8 -64
  519. package/dist/esm/ionic.js +1 -1
  520. package/dist/esm/{ios.transition-da7d9344.js → ios.transition-a097dbf5.js} +3 -3
  521. package/dist/esm/loader.js +1 -1
  522. package/dist/esm/{md.transition-bdaf610c.js → md.transition-b4170ef7.js} +3 -3
  523. package/dist/esm/{notch-controller-6bd3e0f9.js → notch-controller-18bf9f76.js} +1 -1
  524. package/dist/esm/{overlays-9d04d779.js → overlays-4ba3b255.js} +91 -41
  525. package/dist/esm/{status-tap-cba549d9.js → status-tap-7a12f017.js} +2 -2
  526. package/dist/esm/{swipe-back-37a22d34.js → swipe-back-348f1971.js} +3 -3
  527. package/dist/esm-es5/{animation-6a0c5338.js → animation-a4acf150.js} +1 -1
  528. package/dist/esm-es5/button-active-454e5c57.js +4 -0
  529. package/dist/esm-es5/{framework-delegate-ed4ba327.js → framework-delegate-1eb3236c.js} +1 -1
  530. package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  531. package/dist/esm-es5/{helpers-be245865.js → helpers-ae74b3c9.js} +1 -1
  532. package/dist/esm-es5/{index-9c9d8b49.js → index-03086279.js} +1 -1
  533. package/dist/esm-es5/{index-020f5464.js → index-1f563746.js} +1 -1
  534. package/dist/esm-es5/{index-2cf77112.js → index-39782642.js} +1 -1
  535. package/dist/esm-es5/{index-c43cf47f.js → index-5847f4a9.js} +1 -1
  536. package/dist/esm-es5/{index-f3946ac1.js → index-66871a1d.js} +1 -1
  537. package/dist/esm-es5/index.js +1 -1
  538. package/dist/esm-es5/{input-shims-5329bbe8.js → input-shims-56c1f603.js} +1 -1
  539. package/dist/esm-es5/{input.utils-a445f677.js → input.utils-482fc893.js} +1 -1
  540. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  541. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  542. package/dist/esm-es5/ion-alert.entry.js +1 -1
  543. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  544. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  545. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  546. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  547. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  548. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  549. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  550. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  551. package/dist/esm-es5/ion-chip.entry.js +1 -1
  552. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  553. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  554. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  555. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  556. package/dist/esm-es5/ion-img.entry.js +1 -1
  557. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  558. package/dist/esm-es5/ion-input.entry.js +1 -1
  559. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  560. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  561. package/dist/esm-es5/ion-loading.entry.js +1 -1
  562. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  563. package/dist/esm-es5/ion-modal.entry.js +1 -1
  564. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  565. package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
  566. package/dist/esm-es5/ion-picker-column.entry.js +4 -0
  567. package/dist/esm-es5/ion-picker.entry.js +4 -0
  568. package/dist/esm-es5/ion-popover.entry.js +1 -1
  569. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  570. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  571. package/dist/esm-es5/ion-range.entry.js +1 -1
  572. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  573. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  574. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  575. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  576. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  577. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  578. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  579. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  580. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  581. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  582. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  583. package/dist/esm-es5/ion-text.entry.js +1 -1
  584. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  585. package/dist/esm-es5/ion-toast.entry.js +1 -1
  586. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  587. package/dist/esm-es5/ionic.js +1 -1
  588. package/dist/esm-es5/{ios.transition-da7d9344.js → ios.transition-a097dbf5.js} +1 -1
  589. package/dist/esm-es5/loader.js +1 -1
  590. package/dist/esm-es5/{md.transition-bdaf610c.js → md.transition-b4170ef7.js} +1 -1
  591. package/dist/esm-es5/{notch-controller-6bd3e0f9.js → notch-controller-18bf9f76.js} +1 -1
  592. package/dist/esm-es5/overlays-4ba3b255.js +4 -0
  593. package/dist/esm-es5/{status-tap-cba549d9.js → status-tap-7a12f017.js} +1 -1
  594. package/dist/esm-es5/swipe-back-348f1971.js +4 -0
  595. package/dist/html.html-data.json +152 -37
  596. package/dist/ionic/index.esm.js +1 -1
  597. package/dist/ionic/ionic.esm.js +1 -1
  598. package/dist/ionic/{p-af4e42b4.entry.js → p-060fdc03.entry.js} +1 -1
  599. package/dist/ionic/{p-1bc9b5f5.system.js → p-069388dd.system.js} +1 -1
  600. package/dist/ionic/p-06fccad7.entry.js +4 -0
  601. package/dist/ionic/p-08dfa278.system.entry.js +4 -0
  602. package/dist/ionic/p-09872ec8.system.entry.js +4 -0
  603. package/dist/ionic/p-0ca35c1d.system.entry.js +4 -0
  604. package/dist/ionic/p-0efb1cce.entry.js +4 -0
  605. package/dist/ionic/p-134d4936.system.js +1 -1
  606. package/dist/ionic/{p-779aede8.js → p-15708968.js} +1 -1
  607. package/dist/ionic/p-1600d68c.system.entry.js +4 -0
  608. package/dist/ionic/p-19e79fe8.entry.js +4 -0
  609. package/dist/ionic/{p-6afef6c1.system.js → p-19f6ac6c.system.js} +1 -1
  610. package/dist/ionic/{p-d1f0eea5.system.entry.js → p-1a5ed3fe.system.entry.js} +1 -1
  611. package/dist/ionic/p-1a68de09.entry.js +4 -0
  612. package/dist/ionic/p-1bca443b.system.entry.js +4 -0
  613. package/dist/ionic/p-1c436e95.system.entry.js +4 -0
  614. package/dist/ionic/p-1ccbaaf3.system.entry.js +4 -0
  615. package/dist/ionic/{p-9aea6c76.entry.js → p-1ce172db.entry.js} +1 -1
  616. package/dist/ionic/p-1e0a18a1.system.entry.js +4 -0
  617. package/dist/ionic/p-1ea88de9.system.js +4 -0
  618. package/dist/ionic/p-1ed99eba.system.entry.js +4 -0
  619. package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
  620. package/dist/ionic/p-22d2a891.js +4 -0
  621. package/dist/ionic/p-25850474.entry.js +4 -0
  622. package/dist/ionic/{p-a7f34ffe.system.entry.js → p-2b3e0d99.system.entry.js} +1 -1
  623. package/dist/ionic/p-300b2cf1.entry.js +4 -0
  624. package/dist/ionic/{p-410cfe8e.system.js → p-3410a9cb.system.js} +1 -1
  625. package/dist/ionic/{p-74c240bf.system.entry.js → p-3bac30bf.system.entry.js} +1 -1
  626. package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
  627. package/dist/ionic/p-41970e75.entry.js +4 -0
  628. package/dist/ionic/p-41b9cdd2.entry.js +4 -0
  629. package/dist/ionic/p-43322b14.js +4 -0
  630. package/dist/ionic/p-4523be60.entry.js +4 -0
  631. package/dist/ionic/p-466bdeae.entry.js +4 -0
  632. package/dist/ionic/p-4825e380.entry.js +4 -0
  633. package/dist/ionic/{p-62b7320a.system.js → p-4a8f173c.system.js} +1 -1
  634. package/dist/ionic/p-4ad02639.entry.js +4 -0
  635. package/dist/ionic/p-4c2cac66.entry.js +4 -0
  636. package/dist/ionic/{p-5af368cf.entry.js → p-5a055df4.entry.js} +1 -1
  637. package/dist/ionic/p-5afb6e48.entry.js +4 -0
  638. package/dist/ionic/p-5c3991e3.system.entry.js +4 -0
  639. package/dist/ionic/p-602494c6.entry.js +4 -0
  640. package/dist/ionic/p-62f15daf.system.entry.js +4 -0
  641. package/dist/ionic/{p-08656497.js → p-65d3f0e9.js} +1 -1
  642. package/dist/ionic/p-6657681b.system.entry.js +4 -0
  643. package/dist/ionic/p-6d95943d.system.js +4 -0
  644. package/dist/ionic/p-6e1fa025.js +4 -0
  645. package/dist/ionic/{p-517a4200.entry.js → p-6e5eeb35.entry.js} +1 -1
  646. package/dist/ionic/{p-0a3aef8e.entry.js → p-6f6d56f1.entry.js} +1 -1
  647. package/dist/ionic/{p-e5db268b.js → p-6fd26009.js} +1 -1
  648. package/dist/ionic/p-70218e28.system.entry.js +4 -0
  649. package/dist/ionic/p-72bc2484.system.entry.js +4 -0
  650. package/dist/ionic/p-7541ca9f.system.entry.js +4 -0
  651. package/dist/ionic/{p-56ee6d9a.js → p-760dbd5e.js} +1 -1
  652. package/dist/ionic/p-7665bbbc.system.entry.js +4 -0
  653. package/dist/ionic/{p-7c71b2d5.entry.js → p-77982637.entry.js} +1 -1
  654. package/dist/ionic/{p-534e85eb.system.entry.js → p-780ff3b5.system.entry.js} +1 -1
  655. package/dist/ionic/p-7a3fa32c.entry.js +4 -0
  656. package/dist/ionic/{p-c5c8c151.entry.js → p-7b44b443.entry.js} +1 -1
  657. package/dist/ionic/p-7cc01684.js +4 -0
  658. package/dist/ionic/{p-97ca0cb9.system.js → p-816476b0.system.js} +1 -1
  659. package/dist/ionic/p-81869a97.system.entry.js +4 -0
  660. package/dist/ionic/{p-2897c9d5.system.entry.js → p-82f5375e.system.entry.js} +1 -1
  661. package/dist/ionic/p-842777af.js +4 -0
  662. package/dist/ionic/p-85464e28.system.entry.js +4 -0
  663. package/dist/ionic/{p-cc24988a.entry.js → p-85cb4733.entry.js} +1 -1
  664. package/dist/ionic/{p-5f498870.system.entry.js → p-874510e9.system.entry.js} +1 -1
  665. package/dist/ionic/{p-bd313b73.system.js → p-8a50f8d6.system.js} +1 -1
  666. package/dist/ionic/{p-1b3ffb2f.js → p-8ab308e9.js} +1 -1
  667. package/dist/ionic/{p-ecf59a91.system.entry.js → p-8aeed464.system.entry.js} +1 -1
  668. package/dist/ionic/p-8ba5912c.entry.js +4 -0
  669. package/dist/ionic/{p-2c118b1e.js → p-8d4d902b.js} +1 -1
  670. package/dist/ionic/p-8e3ee444.system.entry.js +4 -0
  671. package/dist/ionic/{p-22d83d7d.system.entry.js → p-8e83b7f1.system.entry.js} +2 -2
  672. package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
  673. package/dist/ionic/p-91a72ad6.system.entry.js +4 -0
  674. package/dist/ionic/p-9382ebab.entry.js +4 -0
  675. package/dist/ionic/p-942c19cb.entry.js +4 -0
  676. package/dist/ionic/{p-01a0eccb.system.js → p-95e14c7b.system.js} +1 -1
  677. package/dist/ionic/p-96391c0e.entry.js +4 -0
  678. package/dist/ionic/{p-a5aba83a.entry.js → p-97135baa.entry.js} +1 -1
  679. package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
  680. package/dist/ionic/{p-a1036ce7.js → p-9d6f351e.js} +1 -1
  681. package/dist/ionic/{p-5fc8d5ef.system.js → p-9e3b3f15.system.js} +1 -1
  682. package/dist/ionic/{p-26dcbe9f.system.js → p-a06af32c.system.js} +1 -1
  683. package/dist/ionic/p-a375c9f6.system.entry.js +4 -0
  684. package/dist/ionic/p-a58ec401.js +4 -0
  685. package/dist/ionic/p-a5b7a286.entry.js +4 -0
  686. package/dist/ionic/{p-942a9358.js → p-a6cc38d4.js} +1 -1
  687. package/dist/ionic/{p-4694ca86.system.js → p-a71dc777.system.js} +1 -1
  688. package/dist/ionic/{p-0b58e9d1.system.js → p-a8cc0027.system.js} +1 -1
  689. package/dist/ionic/{p-317e3e37.system.entry.js → p-aaca8dd4.system.entry.js} +1 -1
  690. package/dist/ionic/p-ad2b216a.system.entry.js +4 -0
  691. package/dist/ionic/p-add93c7a.entry.js +4 -0
  692. package/dist/ionic/{p-93779e0b.entry.js → p-afcd4f49.entry.js} +1 -1
  693. package/dist/ionic/p-b1a9e85a.system.entry.js +4 -0
  694. package/dist/ionic/p-b4bb9cd0.system.entry.js +4 -0
  695. package/dist/ionic/p-baa409f1.system.entry.js +4 -0
  696. package/dist/ionic/p-bcb58446.entry.js +4 -0
  697. package/dist/ionic/p-c2336a9e.system.entry.js +4 -0
  698. package/dist/ionic/{p-833579b4.system.js → p-c38c5dfc.system.js} +1 -1
  699. package/dist/ionic/{p-6f3e6442.entry.js → p-c3a2e5cc.entry.js} +1 -1
  700. package/dist/ionic/{p-bb0bf325.system.entry.js → p-c5b77291.system.entry.js} +1 -1
  701. package/dist/ionic/p-c68e75ea.system.js +4 -0
  702. package/dist/ionic/{p-12a8643e.js → p-c880c809.js} +1 -1
  703. package/dist/ionic/{p-8a3d9b80.system.entry.js → p-cb0e4100.system.entry.js} +2 -2
  704. package/dist/ionic/p-cb3f2ab6.system.entry.js +4 -0
  705. package/dist/ionic/{p-fe320051.system.js → p-cb944b1a.system.js} +1 -1
  706. package/dist/ionic/p-cbc3840e.entry.js +4 -0
  707. package/dist/ionic/p-cd366840.system.entry.js +4 -0
  708. package/dist/ionic/p-cf852615.system.entry.js +4 -0
  709. package/dist/ionic/{p-5274fce5.system.entry.js → p-d4d0538c.system.entry.js} +1 -1
  710. package/dist/ionic/{p-a7a8e7d7.entry.js → p-d504bc71.entry.js} +1 -1
  711. package/dist/ionic/{p-439f2946.system.entry.js → p-da83d833.system.entry.js} +1 -1
  712. package/dist/ionic/p-dcfc297d.system.entry.js +4 -0
  713. package/dist/ionic/p-ddc4e717.entry.js +4 -0
  714. package/dist/ionic/p-ded27993.entry.js +4 -0
  715. package/dist/ionic/p-df7ea05d.entry.js +4 -0
  716. package/dist/ionic/p-e15eda82.system.js +4 -0
  717. package/dist/ionic/{p-238f5153.entry.js → p-e38b3c29.entry.js} +1 -1
  718. package/dist/ionic/p-e470466e.entry.js +4 -0
  719. package/dist/ionic/{p-ad9c0d92.system.entry.js → p-ebe0be94.system.entry.js} +1 -1
  720. package/dist/ionic/{p-bd5c8c40.entry.js → p-ef99a759.entry.js} +1 -1
  721. package/dist/ionic/{p-f7e9141e.entry.js → p-f16bfd53.entry.js} +1 -1
  722. package/dist/ionic/p-f2473724.js +4 -0
  723. package/dist/ionic/{p-b0e68334.entry.js → p-f3d6085c.entry.js} +1 -1
  724. package/dist/ionic/p-f6a6b7ef.system.entry.js +4 -0
  725. package/dist/ionic/p-f71082f7.entry.js +4 -0
  726. package/dist/ionic/p-f7ed6a44.system.entry.js +4 -0
  727. package/dist/ionic/p-fc5ddbf6.entry.js +4 -0
  728. package/dist/ionic/p-fd94dd20.system.entry.js +4 -0
  729. package/dist/ionic/p-feb66f6f.entry.js +4 -0
  730. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +8 -0
  731. package/dist/types/components/backdrop/backdrop.d.ts +0 -3
  732. package/dist/types/components/checkbox/checkbox.d.ts +1 -24
  733. package/dist/types/components/datetime/datetime.d.ts +0 -1
  734. package/dist/types/components/datetime/utils/data.d.ts +11 -7
  735. package/dist/types/components/input/input.d.ts +0 -26
  736. package/dist/types/components/menu/menu.d.ts +12 -4
  737. package/dist/types/components/modal/utils.d.ts +0 -4
  738. package/dist/types/components/nav/nav.d.ts +4 -1
  739. package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
  740. package/dist/types/components/picker/picker.d.ts +75 -133
  741. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +4 -0
  742. package/dist/types/components/picker-column/picker-column.d.ts +99 -39
  743. package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
  744. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  745. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  746. package/dist/types/components/radio/radio.d.ts +1 -24
  747. package/dist/types/components/range/range.d.ts +1 -21
  748. package/dist/types/components/select/select.d.ts +0 -15
  749. package/dist/types/components/split-pane/split-pane.d.ts +14 -2
  750. package/dist/types/components/textarea/textarea.d.ts +0 -17
  751. package/dist/types/components/toast/toast-interface.d.ts +0 -4
  752. package/dist/types/components/toggle/toggle.d.ts +1 -21
  753. package/dist/types/components.d.ts +160 -195
  754. package/dist/types/interface.d.ts +1 -1
  755. package/dist/types/utils/config.d.ts +2 -2
  756. package/dist/types/utils/focus-trap.d.ts +35 -0
  757. package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
  758. package/dist/types/utils/native/status-bar.d.ts +0 -1
  759. package/dist/types/utils/overlays.d.ts +5 -8
  760. package/dist/types/utils/test/playwright/generator.d.ts +3 -1
  761. package/hydrate/index.js +12920 -13328
  762. package/package.json +1 -1
  763. package/components/form-controller.js +0 -64
  764. package/components/ion-picker-column-internal.d.ts +0 -11
  765. package/components/ion-picker-column-internal.js +0 -9
  766. package/components/ion-picker-internal.js +0 -9
  767. package/components/picker-column-internal.js +0 -392
  768. package/dist/cjs/form-controller-c83330c0.js +0 -66
  769. package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +0 -68
  770. package/dist/collection/components/checkbox/test/legacy/indeterminate/checkbox.e2e.js +0 -14
  771. package/dist/collection/components/input/test/item/input.spec.js +0 -24
  772. package/dist/collection/components/input/test/legacy/a11y/input.e2e.js +0 -28
  773. package/dist/collection/components/input/test/legacy/basic/input.e2e.js +0 -181
  774. package/dist/collection/components/input/test/legacy/clear-on-edit/input.e2e.js +0 -55
  775. package/dist/collection/components/input/test/legacy/input-events.e2e.js +0 -71
  776. package/dist/collection/components/input/test/legacy/masking/input.e2e.js +0 -26
  777. package/dist/collection/components/input/test/legacy/spec/input.e2e.js +0 -16
  778. package/dist/collection/components/item/test/counter/item.e2e.js +0 -49
  779. package/dist/collection/components/item/test/highlight/item.e2e.js +0 -14
  780. package/dist/collection/components/item/test/legacy/alignment/item.e2e.js +0 -14
  781. package/dist/collection/components/item/test/legacy/fill/item.e2e.js +0 -14
  782. package/dist/collection/components/item/test/legacy/form/item.e2e.js +0 -14
  783. package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -566
  784. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
  785. package/dist/collection/components/picker-internal/picker-internal.js +0 -560
  786. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
  787. package/dist/collection/components/radio/test/legacy/a11y/radio.e2e.js +0 -53
  788. package/dist/collection/components/radio/test/legacy/basic/radio.e2e.js +0 -127
  789. package/dist/collection/components/radio-group/test/legacy/basic/radio-group.e2e.js +0 -122
  790. package/dist/collection/components/radio-group/test/legacy/form/radio-group.e2e.js +0 -30
  791. package/dist/collection/components/radio-group/test/legacy/search/radio-group.e2e.js +0 -38
  792. package/dist/collection/components/range/test/legacy/a11y/range.e2e.js +0 -49
  793. package/dist/collection/components/range/test/legacy/active-bar-start/range.e2e.js +0 -14
  794. package/dist/collection/components/range/test/legacy/basic/range.e2e.js +0 -75
  795. package/dist/collection/components/range/test/legacy/range-events.e2e.js +0 -90
  796. package/dist/collection/components/range/test/legacy/scroll-target/range.e2e.js +0 -32
  797. package/dist/collection/components/select/test/legacy/async/select.e2e.js +0 -19
  798. package/dist/collection/components/select/test/legacy/basic/select.e2e.js +0 -145
  799. package/dist/collection/components/select/test/legacy/compare-with/select.e2e.js +0 -67
  800. package/dist/collection/components/select/test/legacy/custom/custom.e2e.js +0 -13
  801. package/dist/collection/components/select/test/legacy/single-value/select.e2e.js +0 -16
  802. package/dist/collection/components/select/test/legacy/spec/select.e2e.js +0 -14
  803. package/dist/collection/components/select/test/legacy/standalone/select.e2e.js +0 -18
  804. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +0 -39
  805. package/dist/collection/components/textarea/test/legacy/a11y/textarea.e2e.js +0 -31
  806. package/dist/collection/components/textarea/test/legacy/autogrow/textarea.e2e.js +0 -58
  807. package/dist/collection/components/textarea/test/legacy/basic/textarea.e2e.js +0 -43
  808. package/dist/collection/components/textarea/test/legacy/clear-on-edit/textarea.e2e.js +0 -25
  809. package/dist/collection/components/toggle/test/legacy/basic/toggle.e2e.js +0 -83
  810. package/dist/collection/components/toggle/test/legacy/enable-on-off-labels/toggle.e2e.js +0 -37
  811. package/dist/collection/components/toggle/test/legacy/sizes/power-outline.svg +0 -1
  812. package/dist/collection/components/toggle/test/legacy/sizes/toggle.e2e.js +0 -14
  813. package/dist/esm/form-controller-21dd62b1.js +0 -64
  814. package/dist/esm-es5/button-active-01502123.js +0 -4
  815. package/dist/esm-es5/form-controller-21dd62b1.js +0 -4
  816. package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
  817. package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
  818. package/dist/esm-es5/overlays-9d04d779.js +0 -4
  819. package/dist/esm-es5/swipe-back-37a22d34.js +0 -4
  820. package/dist/ionic/p-010d5feb.system.entry.js +0 -4
  821. package/dist/ionic/p-02370c2e.system.entry.js +0 -4
  822. package/dist/ionic/p-077f2815.system.entry.js +0 -4
  823. package/dist/ionic/p-13fecc8b.entry.js +0 -4
  824. package/dist/ionic/p-167d876d.entry.js +0 -4
  825. package/dist/ionic/p-16e3ba5d.entry.js +0 -4
  826. package/dist/ionic/p-18ba7085.system.entry.js +0 -4
  827. package/dist/ionic/p-208c40aa.system.entry.js +0 -4
  828. package/dist/ionic/p-26aa2e31.entry.js +0 -4
  829. package/dist/ionic/p-2eb313e5.entry.js +0 -4
  830. package/dist/ionic/p-3096c7af.entry.js +0 -4
  831. package/dist/ionic/p-378464fa.entry.js +0 -4
  832. package/dist/ionic/p-37ac2b8f.entry.js +0 -4
  833. package/dist/ionic/p-38a75a00.entry.js +0 -4
  834. package/dist/ionic/p-3f5d82c9.js +0 -4
  835. package/dist/ionic/p-411244d7.system.js +0 -4
  836. package/dist/ionic/p-426b54ec.system.entry.js +0 -4
  837. package/dist/ionic/p-43bbda95.system.entry.js +0 -4
  838. package/dist/ionic/p-44145d23.entry.js +0 -4
  839. package/dist/ionic/p-4535eff0.system.entry.js +0 -4
  840. package/dist/ionic/p-45e15529.entry.js +0 -4
  841. package/dist/ionic/p-462b7b8d.entry.js +0 -4
  842. package/dist/ionic/p-46bcc2f5.js +0 -4
  843. package/dist/ionic/p-47ba1196.entry.js +0 -4
  844. package/dist/ionic/p-481fce9a.entry.js +0 -4
  845. package/dist/ionic/p-48e48816.system.entry.js +0 -4
  846. package/dist/ionic/p-4aad8a93.js +0 -4
  847. package/dist/ionic/p-4c79142c.system.entry.js +0 -4
  848. package/dist/ionic/p-4e657e07.entry.js +0 -4
  849. package/dist/ionic/p-578c7107.js +0 -4
  850. package/dist/ionic/p-693832fb.entry.js +0 -4
  851. package/dist/ionic/p-6d075752.entry.js +0 -4
  852. package/dist/ionic/p-71999ab7.system.entry.js +0 -4
  853. package/dist/ionic/p-727a4979.system.entry.js +0 -4
  854. package/dist/ionic/p-74fa0a29.system.js +0 -4
  855. package/dist/ionic/p-792629d9.entry.js +0 -4
  856. package/dist/ionic/p-7b3d8eec.system.entry.js +0 -4
  857. package/dist/ionic/p-7f9440bc.system.entry.js +0 -4
  858. package/dist/ionic/p-839ea604.js +0 -4
  859. package/dist/ionic/p-83cdb98f.system.entry.js +0 -4
  860. package/dist/ionic/p-86be82c0.entry.js +0 -4
  861. package/dist/ionic/p-8a46dbfe.system.entry.js +0 -4
  862. package/dist/ionic/p-941f492e.entry.js +0 -4
  863. package/dist/ionic/p-94ac85ab.entry.js +0 -4
  864. package/dist/ionic/p-95a30504.system.entry.js +0 -4
  865. package/dist/ionic/p-96fa4567.system.entry.js +0 -4
  866. package/dist/ionic/p-98e263df.system.entry.js +0 -4
  867. package/dist/ionic/p-9b7d721e.system.entry.js +0 -4
  868. package/dist/ionic/p-9ce15e22.entry.js +0 -4
  869. package/dist/ionic/p-9d9c50a0.js +0 -4
  870. package/dist/ionic/p-a55fee0d.system.entry.js +0 -4
  871. package/dist/ionic/p-a9e462b3.entry.js +0 -4
  872. package/dist/ionic/p-aadc0fc9.system.entry.js +0 -4
  873. package/dist/ionic/p-b340444b.entry.js +0 -4
  874. package/dist/ionic/p-bc43ca1f.system.entry.js +0 -4
  875. package/dist/ionic/p-bf260dee.system.entry.js +0 -4
  876. package/dist/ionic/p-c093d16d.system.entry.js +0 -4
  877. package/dist/ionic/p-c977af5e.entry.js +0 -4
  878. package/dist/ionic/p-ccca27da.system.entry.js +0 -4
  879. package/dist/ionic/p-cfb4d7e0.js +0 -4
  880. package/dist/ionic/p-d1f6231b.system.js +0 -4
  881. package/dist/ionic/p-d64ed0f8.entry.js +0 -4
  882. package/dist/ionic/p-d80d274f.system.entry.js +0 -4
  883. package/dist/ionic/p-d8c3f2f5.system.entry.js +0 -4
  884. package/dist/ionic/p-d8e97396.system.entry.js +0 -4
  885. package/dist/ionic/p-d9b2497b.entry.js +0 -4
  886. package/dist/ionic/p-dd5cc4c8.js +0 -4
  887. package/dist/ionic/p-e1a33d7e.entry.js +0 -4
  888. package/dist/ionic/p-e23090ae.system.entry.js +0 -4
  889. package/dist/ionic/p-e3964478.entry.js +0 -4
  890. package/dist/ionic/p-e938745c.system.entry.js +0 -4
  891. package/dist/ionic/p-ea04a24e.entry.js +0 -4
  892. package/dist/ionic/p-ebc1ca90.system.js +0 -4
  893. package/dist/ionic/p-edae1e04.system.entry.js +0 -4
  894. package/dist/ionic/p-fbd01db3.system.js +0 -4
  895. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +0 -5
  896. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
  897. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
  898. package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
  899. /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
  900. /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
  901. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
  902. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
  903. /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
  904. /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
  905. /package/dist/esm-es5/{data-0f3ab200.js → data-691286f1.js} +0 -0
  906. /package/dist/ionic/{p-f7dce541.js → p-5289aade.js} +0 -0
  907. /package/dist/ionic/{p-7330c044.system.js → p-66e6860f.system.js} +0 -0
  908. /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
  909. /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
  910. /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
  911. /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",
3
+ "version": "8.0.0-beta.1",
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
- });