@ionic/core 7.5.7-dev.11701273756.1eb73d4c → 7.5.7-dev.11701896424.13d40ac9

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 (378) hide show
  1. package/components/animation.js +11 -12
  2. package/components/checkbox.js +0 -2
  3. package/components/data.js +64 -14
  4. package/components/index4.js +12 -10
  5. package/components/index5.js +22 -0
  6. package/components/input-shims.js +7 -12
  7. package/components/input.utils.js +2 -3
  8. package/components/ion-datetime.js +38 -19
  9. package/components/ion-input.js +8 -31
  10. package/components/ion-modal.js +2 -2
  11. package/components/ion-range.js +0 -2
  12. package/components/ion-select.js +29 -44
  13. package/components/ion-skeleton-text.js +1 -14
  14. package/components/ion-textarea.js +7 -30
  15. package/components/ion-toast.js +74 -419
  16. package/components/ion-toggle.js +0 -2
  17. package/components/item.js +2 -2
  18. package/components/label.js +2 -2
  19. package/components/overlays.js +1 -2
  20. package/components/picker-column-internal.js +7 -12
  21. package/components/radio-group.js +0 -2
  22. package/components/radio.js +2 -42
  23. package/dist/cjs/{animation-d101aa7a.js → animation-1083855c.js} +12 -13
  24. package/dist/cjs/{button-active-ba107e4e.js → button-active-af897e0e.js} +1 -1
  25. package/dist/cjs/{capacitor-f68447d3.js → capacitor-2ffba62a.js} +1 -1
  26. package/dist/cjs/{data-c8d21093.js → data-912a6f37.js} +64 -14
  27. package/dist/cjs/{haptic-a74c2767.js → haptic-678abc9f.js} +1 -1
  28. package/dist/cjs/index-306a7476.js +32 -0
  29. package/dist/cjs/{index-56d41f51.js → index-573877f3.js} +2 -2
  30. package/dist/cjs/{index-e9634bc9.js → index-9f379eaa.js} +1 -1
  31. package/dist/cjs/{index-4f0c67e1.js → index-d7561763.js} +13 -11
  32. package/dist/cjs/index.cjs.js +8 -8
  33. package/dist/cjs/{input-shims-3e3f35b9.js → input-shims-b0a75a01.js} +10 -15
  34. package/dist/cjs/{input.utils-bdb6953c.js → input.utils-0fe3097c.js} +3 -4
  35. package/dist/cjs/ion-action-sheet.cjs.entry.js +6 -6
  36. package/dist/cjs/ion-alert.cjs.entry.js +6 -6
  37. package/dist/cjs/ion-app_8.cjs.entry.js +8 -8
  38. package/dist/cjs/ion-checkbox.cjs.entry.js +0 -2
  39. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  40. package/dist/cjs/ion-datetime_3.cjs.entry.js +44 -25
  41. package/dist/cjs/ion-input.cjs.entry.js +11 -34
  42. package/dist/cjs/ion-item_8.cjs.entry.js +4 -17
  43. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  44. package/dist/cjs/ion-menu_3.cjs.entry.js +5 -5
  45. package/dist/cjs/ion-modal.cjs.entry.js +8 -8
  46. package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
  47. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +10 -14
  48. package/dist/cjs/ion-popover.cjs.entry.js +4 -4
  49. package/dist/cjs/ion-radio_2.cjs.entry.js +1 -6
  50. package/dist/cjs/ion-range.cjs.entry.js +0 -2
  51. package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
  52. package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
  53. package/dist/cjs/ion-select_3.cjs.entry.js +35 -51
  54. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  55. package/dist/cjs/ion-textarea.cjs.entry.js +10 -33
  56. package/dist/cjs/ion-toast.cjs.entry.js +92 -434
  57. package/dist/cjs/ion-toggle.cjs.entry.js +3 -5
  58. package/dist/cjs/ionic.cjs.js +1 -1
  59. package/dist/cjs/{ios.transition-f4caf640.js → ios.transition-ac909bc8.js} +3 -3
  60. package/dist/cjs/{keyboard-840107b3.js → keyboard-38f2bb7b.js} +3 -3
  61. package/dist/cjs/{keyboard-controller-019f42df.js → keyboard-controller-50beb83a.js} +2 -2
  62. package/dist/cjs/{keyboard-43df0428.js → keyboard-fd7db491.js} +1 -1
  63. package/dist/cjs/loader.cjs.js +1 -1
  64. package/dist/cjs/{md.transition-33331e93.js → md.transition-907af519.js} +3 -3
  65. package/dist/cjs/{notch-controller-c22d1344.js → notch-controller-f4f6af5d.js} +1 -1
  66. package/dist/cjs/{overlays-4d8897dc.js → overlays-2ffc5f27.js} +1 -3
  67. package/dist/collection/collection-manifest.json +2 -2
  68. package/dist/collection/components/checkbox/checkbox.js +0 -2
  69. package/dist/collection/components/datetime/datetime.ios.css +0 -1
  70. package/dist/collection/components/datetime/datetime.js +36 -17
  71. package/dist/collection/components/datetime/datetime.md.css +0 -1
  72. package/dist/collection/components/datetime/test/manipulation.spec.js +133 -1
  73. package/dist/collection/components/datetime/test/prefer-wheel/datetime.spec.js +27 -0
  74. package/dist/collection/components/datetime/utils/manipulation.js +65 -15
  75. package/dist/collection/components/input/input.ios.css +3 -10
  76. package/dist/collection/components/input/input.js +6 -31
  77. package/dist/collection/components/input/input.md.css +12 -13
  78. package/dist/collection/components/item/item.ios.css +3 -25
  79. package/dist/collection/components/item/item.md.css +3 -25
  80. package/dist/collection/components/item/test/basic/item.e2e.js +1 -1
  81. package/dist/collection/components/item/test/disabled/item.e2e.js +1 -0
  82. package/dist/collection/components/item/test/text/item.e2e.js +14 -0
  83. package/dist/collection/components/label/label.ios.css +3 -14
  84. package/dist/collection/components/label/label.md.css +3 -14
  85. package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -2
  86. package/dist/collection/components/note/test/a11y/note.e2e.js +0 -43
  87. package/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +3 -11
  88. package/dist/collection/components/picker-column-internal/picker-column-internal.js +5 -27
  89. package/dist/collection/components/picker-column-internal/picker-column-internal.md.css +3 -11
  90. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +5 -34
  91. package/dist/collection/components/radio/radio.js +2 -5
  92. package/dist/collection/components/radio-group/radio-group.js +0 -24
  93. package/dist/collection/components/range/range.js +0 -2
  94. package/dist/collection/components/select/select.ios.css +7 -61
  95. package/dist/collection/components/select/select.js +28 -45
  96. package/dist/collection/components/select/select.md.css +19 -64
  97. package/dist/collection/components/select/test/label/select.e2e.js +1 -1
  98. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +1 -1
  99. package/dist/collection/components/skeleton-text/skeleton-text.js +0 -39
  100. package/dist/collection/components/textarea/textarea.ios.css +5 -37
  101. package/dist/collection/components/textarea/textarea.js +5 -30
  102. package/dist/collection/components/textarea/textarea.md.css +14 -47
  103. package/dist/collection/components/toast/animations/ios.enter.js +1 -2
  104. package/dist/collection/components/toast/animations/md.enter.js +3 -4
  105. package/dist/collection/components/toast/animations/utils.js +14 -20
  106. package/dist/collection/components/toast/test/toast.spec.js +0 -80
  107. package/dist/collection/components/toast/toast.ios.css +10 -10
  108. package/dist/collection/components/toast/toast.js +1 -104
  109. package/dist/collection/components/toast/toast.md.css +0 -10
  110. package/dist/collection/components/toggle/toggle.js +0 -2
  111. package/dist/collection/utils/animation/animation.js +11 -12
  112. package/dist/collection/utils/animation/test/animation.spec.js +0 -16
  113. package/dist/collection/utils/browser/index.js +22 -0
  114. package/dist/collection/utils/forms/index.js +0 -1
  115. package/dist/collection/utils/input-shims/input-shims.js +6 -12
  116. package/dist/collection/utils/menu-controller/index.js +12 -10
  117. package/dist/collection/utils/overlays.js +0 -1
  118. package/dist/collection/utils/slot-mutation-controller.js +2 -3
  119. package/dist/docs.json +12 -137
  120. package/dist/esm/{animation-cf3dd234.js → animation-8aa13916.js} +12 -13
  121. package/dist/esm/{button-active-47196c40.js → button-active-ce5cba4c.js} +1 -1
  122. package/dist/esm/{capacitor-f1f25364.js → capacitor-b4979570.js} +1 -1
  123. package/dist/esm/{data-44d9e816.js → data-316b33f5.js} +64 -14
  124. package/dist/esm/{haptic-1a66d69f.js → haptic-1243b917.js} +1 -1
  125. package/dist/esm/{index-23c05a55.js → index-0aa6e61f.js} +13 -11
  126. package/dist/esm/{index-702b3cd3.js → index-6a0ccabb.js} +2 -2
  127. package/dist/esm/index-7a14ecec.js +29 -0
  128. package/dist/esm/{index-c9e82353.js → index-f0cc4e14.js} +1 -1
  129. package/dist/esm/index.js +8 -8
  130. package/dist/esm/{input-shims-1d767845.js → input-shims-d0c93e5d.js} +9 -14
  131. package/dist/esm/{input.utils-2cf5e372.js → input.utils-ec063df4.js} +3 -4
  132. package/dist/esm/ion-action-sheet.entry.js +6 -6
  133. package/dist/esm/ion-alert.entry.js +6 -6
  134. package/dist/esm/ion-app_8.entry.js +8 -8
  135. package/dist/esm/ion-checkbox.entry.js +0 -2
  136. package/dist/esm/ion-datetime-button.entry.js +1 -1
  137. package/dist/esm/ion-datetime_3.entry.js +44 -25
  138. package/dist/esm/ion-input.entry.js +11 -34
  139. package/dist/esm/ion-item_8.entry.js +4 -17
  140. package/dist/esm/ion-loading.entry.js +3 -3
  141. package/dist/esm/ion-menu_3.entry.js +5 -5
  142. package/dist/esm/ion-modal.entry.js +8 -8
  143. package/dist/esm/ion-nav_2.entry.js +1 -1
  144. package/dist/esm/ion-picker-column-internal.entry.js +10 -14
  145. package/dist/esm/ion-popover.entry.js +4 -4
  146. package/dist/esm/ion-radio_2.entry.js +1 -6
  147. package/dist/esm/ion-range.entry.js +0 -2
  148. package/dist/esm/ion-refresher_2.entry.js +4 -4
  149. package/dist/esm/ion-reorder_2.entry.js +3 -3
  150. package/dist/esm/ion-select_3.entry.js +31 -47
  151. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  152. package/dist/esm/ion-textarea.entry.js +10 -33
  153. package/dist/esm/ion-toast.entry.js +75 -417
  154. package/dist/esm/ion-toggle.entry.js +3 -5
  155. package/dist/esm/ionic.js +1 -1
  156. package/dist/esm/{ios.transition-c3e77862.js → ios.transition-1651c430.js} +3 -3
  157. package/dist/esm/{keyboard-b6230bfb.js → keyboard-b063f012.js} +1 -1
  158. package/dist/esm/{keyboard-9f771a04.js → keyboard-b551279d.js} +3 -3
  159. package/dist/esm/{keyboard-controller-3f0faa10.js → keyboard-controller-0c2dce71.js} +2 -2
  160. package/dist/esm/loader.js +1 -1
  161. package/dist/esm/{md.transition-1173eca9.js → md.transition-66f18369.js} +3 -3
  162. package/dist/esm/{notch-controller-3f79197e.js → notch-controller-8c9c0e54.js} +1 -1
  163. package/dist/esm/{overlays-34169295.js → overlays-6c9feb7e.js} +2 -3
  164. package/dist/esm-es5/{animation-cf3dd234.js → animation-8aa13916.js} +1 -1
  165. package/dist/esm-es5/{button-active-47196c40.js → button-active-ce5cba4c.js} +1 -1
  166. package/dist/esm-es5/{capacitor-f1f25364.js → capacitor-b4979570.js} +1 -1
  167. package/dist/esm-es5/data-316b33f5.js +4 -0
  168. package/dist/esm-es5/{haptic-1a66d69f.js → haptic-1243b917.js} +1 -1
  169. package/dist/esm-es5/index-0aa6e61f.js +4 -0
  170. package/dist/esm-es5/{index-702b3cd3.js → index-6a0ccabb.js} +1 -1
  171. package/dist/esm-es5/index-f0cc4e14.js +4 -0
  172. package/dist/esm-es5/index.js +1 -1
  173. package/dist/esm-es5/input-shims-d0c93e5d.js +4 -0
  174. package/dist/esm-es5/input.utils-ec063df4.js +4 -0
  175. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  176. package/dist/esm-es5/ion-alert.entry.js +1 -1
  177. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  178. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  179. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  180. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  181. package/dist/esm-es5/ion-input.entry.js +1 -1
  182. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  183. package/dist/esm-es5/ion-loading.entry.js +1 -1
  184. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  185. package/dist/esm-es5/ion-modal.entry.js +1 -1
  186. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  187. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  188. package/dist/esm-es5/ion-popover.entry.js +1 -1
  189. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  190. package/dist/esm-es5/ion-range.entry.js +1 -1
  191. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  192. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  193. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  194. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  195. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  196. package/dist/esm-es5/ion-toast.entry.js +1 -1
  197. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  198. package/dist/esm-es5/ionic.js +1 -1
  199. package/dist/esm-es5/{ios.transition-c3e77862.js → ios.transition-1651c430.js} +1 -1
  200. package/dist/esm-es5/{keyboard-b6230bfb.js → keyboard-b063f012.js} +1 -1
  201. package/dist/esm-es5/{keyboard-9f771a04.js → keyboard-b551279d.js} +1 -1
  202. package/dist/esm-es5/{keyboard-controller-3f0faa10.js → keyboard-controller-0c2dce71.js} +1 -1
  203. package/dist/esm-es5/loader.js +1 -1
  204. package/dist/esm-es5/md.transition-66f18369.js +4 -0
  205. package/dist/esm-es5/{notch-controller-3f79197e.js → notch-controller-8c9c0e54.js} +1 -1
  206. package/dist/esm-es5/{overlays-34169295.js → overlays-6c9feb7e.js} +1 -1
  207. package/dist/html.html-data.json +1 -14
  208. package/dist/ionic/index.esm.js +1 -1
  209. package/dist/ionic/ionic.esm.js +1 -1
  210. package/dist/ionic/p-014e8840.system.js +4 -0
  211. package/dist/ionic/{p-83a455fd.system.js → p-09d142b3.system.js} +1 -1
  212. package/dist/ionic/p-0d8e9393.entry.js +4 -0
  213. package/dist/ionic/{p-3abf5b7a.entry.js → p-0dc0d9b5.entry.js} +1 -1
  214. package/dist/ionic/{p-54824705.system.entry.js → p-0e23256e.system.entry.js} +1 -1
  215. package/dist/ionic/{p-e9e5755c.system.js → p-14b4348c.system.js} +1 -1
  216. package/dist/ionic/{p-ea9addc8.system.entry.js → p-18e01b30.system.entry.js} +1 -1
  217. package/dist/ionic/{p-823890d5.system.entry.js → p-1cb5f2f8.system.entry.js} +1 -1
  218. package/dist/ionic/p-1e5165db.system.entry.js +4 -0
  219. package/dist/ionic/p-20cf4994.js +4 -0
  220. package/dist/ionic/p-276afddd.js +4 -0
  221. package/dist/ionic/p-2e8e0045.js +4 -0
  222. package/dist/ionic/{p-d61a2cee.system.entry.js → p-34d2de14.system.entry.js} +1 -1
  223. package/dist/ionic/p-352c0232.system.entry.js +4 -0
  224. package/dist/ionic/p-3602001b.system.js +4 -0
  225. package/dist/ionic/p-3632220b.system.js +4 -0
  226. package/dist/ionic/{p-37c69d34.system.entry.js → p-377c636c.system.entry.js} +1 -1
  227. package/dist/ionic/{p-fce6b76a.system.entry.js → p-39044fe6.system.entry.js} +1 -1
  228. package/dist/ionic/{p-e5fd9f10.js → p-3bad5c1a.js} +1 -1
  229. package/dist/ionic/p-3ce8c3e3.entry.js +4 -0
  230. package/dist/ionic/p-40903d34.system.js +1 -1
  231. package/dist/ionic/{p-958f1c70.system.js → p-41477ad9.system.js} +1 -1
  232. package/dist/ionic/{p-a135e3ba.js → p-419eb426.js} +1 -1
  233. package/dist/ionic/p-4794e0ac.system.entry.js +4 -0
  234. package/dist/ionic/{p-587afb80.system.entry.js → p-4a142496.system.entry.js} +1 -1
  235. package/dist/ionic/p-4cd588b3.system.entry.js +4 -0
  236. package/dist/ionic/p-4dbac22d.entry.js +4 -0
  237. package/dist/ionic/p-4fa201a7.entry.js +4 -0
  238. package/dist/ionic/{p-4c80afe1.system.entry.js → p-587be954.system.entry.js} +1 -1
  239. package/dist/ionic/p-5c299019.entry.js +4 -0
  240. package/dist/ionic/{p-f36112b4.entry.js → p-64296b15.entry.js} +1 -1
  241. package/dist/ionic/{p-1abc74d9.entry.js → p-64ed03a3.entry.js} +1 -1
  242. package/dist/ionic/p-67aab78f.js +4 -0
  243. package/dist/ionic/{p-03ed6107.system.entry.js → p-67e644bd.system.entry.js} +1 -1
  244. package/dist/ionic/{p-cc615985.system.entry.js → p-67ed452a.system.entry.js} +1 -1
  245. package/dist/ionic/p-67eecef4.system.js +4 -0
  246. package/dist/ionic/p-6d812360.system.entry.js +4 -0
  247. package/dist/ionic/{p-67951604.system.js → p-702d85d8.system.js} +1 -1
  248. package/dist/ionic/p-7176cea3.entry.js +4 -0
  249. package/dist/ionic/{p-8b15ca22.entry.js → p-73411c1b.entry.js} +1 -1
  250. package/dist/ionic/p-77e7a9c8.entry.js +4 -0
  251. package/dist/ionic/{p-8ad82eb3.entry.js → p-79e83e0a.entry.js} +1 -1
  252. package/dist/ionic/p-7f85ffa9.js +4 -0
  253. package/dist/ionic/{p-2a41d4d1.js → p-800ef057.js} +1 -1
  254. package/dist/ionic/{p-11cb4e19.js → p-81c818e7.js} +1 -1
  255. package/dist/ionic/p-88980f5f.system.entry.js +4 -0
  256. package/dist/ionic/{p-5885e9af.js → p-8cf94fc1.js} +1 -1
  257. package/dist/ionic/{p-3e655d4c.entry.js → p-8e1bded3.entry.js} +1 -1
  258. package/dist/ionic/p-97c65aa5.js +4 -0
  259. package/dist/ionic/{p-d48872b1.system.js → p-97e31c0a.system.js} +1 -1
  260. package/dist/ionic/p-9ab6f3e6.system.js +4 -0
  261. package/dist/ionic/p-9b89cbde.js +4 -0
  262. package/dist/ionic/{p-fe1f93f2.js → p-a0b6d438.js} +1 -1
  263. package/dist/ionic/p-a21b8d05.entry.js +4 -0
  264. package/dist/ionic/p-a5c1e6ce.entry.js +4 -0
  265. package/dist/ionic/{p-c4de53af.system.js → p-a936d224.system.js} +1 -1
  266. package/dist/ionic/{p-aec8a70a.system.js → p-ab4cff27.system.js} +1 -1
  267. package/dist/ionic/p-b0cee324.entry.js +4 -0
  268. package/dist/ionic/p-b1142133.entry.js +4 -0
  269. package/dist/ionic/p-b203659a.system.entry.js +4 -0
  270. package/dist/ionic/{p-6797887a.entry.js → p-b2a74a72.entry.js} +1 -1
  271. package/dist/ionic/{p-9292fd42.system.js → p-b4b4bb29.system.js} +1 -1
  272. package/dist/ionic/p-b6f8ee31.entry.js +4 -0
  273. package/dist/ionic/{p-31189dae.entry.js → p-b91fe549.entry.js} +1 -1
  274. package/dist/ionic/{p-6a309574.js → p-b923f3d7.js} +1 -1
  275. package/dist/ionic/{p-f9a641fa.system.js → p-bba2ce59.system.js} +1 -1
  276. package/dist/ionic/{p-5e6bc319.system.entry.js → p-bed722c4.system.entry.js} +1 -1
  277. package/dist/ionic/{p-21b4981c.system.js → p-c4042875.system.js} +1 -1
  278. package/dist/ionic/p-cc196b34.js +4 -0
  279. package/dist/ionic/{p-e7d20dfb.system.js → p-ccdcb022.system.js} +1 -1
  280. package/dist/ionic/{p-fcb148dc.system.entry.js → p-cf425ec5.system.entry.js} +1 -1
  281. package/dist/ionic/p-d1de1188.js +4 -0
  282. package/dist/ionic/p-d21bfe66.system.entry.js +4 -0
  283. package/dist/ionic/p-d3952bd5.system.entry.js +4 -0
  284. package/dist/ionic/{p-196f2123.system.entry.js → p-ddfc4ef4.system.entry.js} +1 -1
  285. package/dist/ionic/{p-c1e725db.entry.js → p-deab76dc.entry.js} +1 -1
  286. package/dist/ionic/p-dfa756ed.system.js +4 -0
  287. package/dist/ionic/p-e6b240a0.js +4 -0
  288. package/dist/ionic/{p-64ab3eb3.entry.js → p-f37b4b79.entry.js} +1 -1
  289. package/dist/ionic/{p-7047a40c.system.entry.js → p-f3c82f74.system.entry.js} +1 -1
  290. package/dist/ionic/{p-b673ee9b.entry.js → p-f54ddd19.entry.js} +1 -1
  291. package/dist/ionic/p-ff5a10f9.system.js +4 -0
  292. package/dist/types/components/datetime/utils/manipulation.d.ts +34 -7
  293. package/dist/types/components/input/input.d.ts +0 -2
  294. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -4
  295. package/dist/types/components/radio-group/radio-group-interface.d.ts +0 -1
  296. package/dist/types/components/radio-group/radio-group.d.ts +1 -8
  297. package/dist/types/components/router/router.d.ts +1 -2
  298. package/dist/types/components/select/select.d.ts +1 -6
  299. package/dist/types/components/skeleton-text/skeleton-text.d.ts +1 -9
  300. package/dist/types/components/textarea/textarea.d.ts +0 -2
  301. package/dist/types/components/toast/animations/utils.d.ts +4 -15
  302. package/dist/types/components/toast/toast-interface.d.ts +0 -2
  303. package/dist/types/components/toast/toast.d.ts +1 -28
  304. package/dist/types/components.d.ts +6 -45
  305. package/dist/types/interface.d.ts +5 -1
  306. package/dist/types/utils/animation/animation-interface.d.ts +4 -4
  307. package/dist/types/utils/browser/index.d.ts +2 -11
  308. package/dist/types/utils/forms/index.d.ts +0 -1
  309. package/dist/types/utils/hardware-back-button.d.ts +0 -4
  310. package/dist/types/utils/overlays.d.ts +0 -1
  311. package/dist/types/utils/slot-mutation-controller.d.ts +2 -2
  312. package/hydrate/index.js +276 -659
  313. package/package.json +1 -1
  314. package/dist/cjs/compare-with-utils-c0444525.js +0 -44
  315. package/dist/cjs/index-c8d52405.js +0 -10
  316. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +0 -33
  317. package/dist/collection/components/input/test/slot/input.e2e.js +0 -51
  318. package/dist/collection/components/radio-group/test/radio-group.spec.js +0 -69
  319. package/dist/collection/components/select/test/slot/select.e2e.js +0 -67
  320. package/dist/collection/components/textarea/test/slot/textarea.e2e.js +0 -51
  321. package/dist/collection/components/toast/gestures/swipe-to-dismiss.js +0 -267
  322. package/dist/collection/components/toast/test/swipe-gesture/toast.e2e.js +0 -84
  323. package/dist/collection/components/toast/test/toast-config.spec.js +0 -25
  324. package/dist/collection/utils/forms/compare-with-utils.js +0 -39
  325. package/dist/esm/compare-with-utils-4928c09d.js +0 -41
  326. package/dist/esm/index-a5d50daf.js +0 -7
  327. package/dist/esm-es5/compare-with-utils-4928c09d.js +0 -4
  328. package/dist/esm-es5/data-44d9e816.js +0 -4
  329. package/dist/esm-es5/index-23c05a55.js +0 -4
  330. package/dist/esm-es5/index-c9e82353.js +0 -4
  331. package/dist/esm-es5/input-shims-1d767845.js +0 -4
  332. package/dist/esm-es5/input.utils-2cf5e372.js +0 -4
  333. package/dist/esm-es5/md.transition-1173eca9.js +0 -4
  334. package/dist/ionic/p-0547e914.entry.js +0 -4
  335. package/dist/ionic/p-131761b4.entry.js +0 -4
  336. package/dist/ionic/p-17240d90.js +0 -4
  337. package/dist/ionic/p-1cf5e8d6.entry.js +0 -4
  338. package/dist/ionic/p-2207f3c2.js +0 -4
  339. package/dist/ionic/p-27eb8a91.system.entry.js +0 -4
  340. package/dist/ionic/p-314c4dee.js +0 -4
  341. package/dist/ionic/p-385c51f8.system.entry.js +0 -4
  342. package/dist/ionic/p-3bc3d880.system.js +0 -4
  343. package/dist/ionic/p-43716898.js +0 -4
  344. package/dist/ionic/p-450a26bf.js +0 -4
  345. package/dist/ionic/p-485668f0.entry.js +0 -4
  346. package/dist/ionic/p-48c59094.system.entry.js +0 -4
  347. package/dist/ionic/p-494e75ad.js +0 -4
  348. package/dist/ionic/p-561cc050.system.js +0 -4
  349. package/dist/ionic/p-671dbd61.js +0 -4
  350. package/dist/ionic/p-70dcf429.js +0 -4
  351. package/dist/ionic/p-710cea83.system.js +0 -4
  352. package/dist/ionic/p-7b44e419.js +0 -4
  353. package/dist/ionic/p-80a9b397.entry.js +0 -4
  354. package/dist/ionic/p-8ddfecbf.entry.js +0 -4
  355. package/dist/ionic/p-9c6787e2.entry.js +0 -4
  356. package/dist/ionic/p-a11c1aff.system.entry.js +0 -4
  357. package/dist/ionic/p-a31099a4.entry.js +0 -4
  358. package/dist/ionic/p-a6bc00ab.entry.js +0 -4
  359. package/dist/ionic/p-ac668fb8.entry.js +0 -4
  360. package/dist/ionic/p-ad4b4f73.system.entry.js +0 -4
  361. package/dist/ionic/p-b8c3f071.system.js +0 -4
  362. package/dist/ionic/p-be0f6600.system.js +0 -4
  363. package/dist/ionic/p-c2db1374.system.js +0 -4
  364. package/dist/ionic/p-c3547c7a.system.js +0 -4
  365. package/dist/ionic/p-c700acef.system.js +0 -4
  366. package/dist/ionic/p-d4fba36b.system.entry.js +0 -4
  367. package/dist/ionic/p-e5b8f2f7.js +0 -4
  368. package/dist/ionic/p-edd07654.system.entry.js +0 -4
  369. package/dist/ionic/p-f43f4102.entry.js +0 -4
  370. package/dist/ionic/p-f5d78105.entry.js +0 -4
  371. package/dist/ionic/p-f7769c83.js +0 -4
  372. package/dist/ionic/p-fcc23f25.system.entry.js +0 -4
  373. package/dist/ionic/p-fdcf04c3.system.entry.js +0 -4
  374. package/dist/types/components/toast/gestures/swipe-to-dismiss.d.ts +0 -9
  375. package/dist/types/utils/forms/compare-with-utils.d.ts +0 -18
  376. /package/dist/esm-es5/{index-a5d50daf.js → index-7a14ecec.js} +0 -0
  377. /package/dist/ionic/{p-792919fd.system.js → p-0e94957a.system.js} +0 -0
  378. /package/dist/ionic/{p-7b30edcc.js → p-b347cfd1.js} +0 -0
@@ -230,7 +230,6 @@
230
230
  /* stylelint-enable */
231
231
  display: flex;
232
232
  position: relative;
233
- flex-wrap: wrap;
234
233
  align-items: inherit;
235
234
  justify-content: inherit;
236
235
  width: 100%;
@@ -242,8 +241,8 @@
242
241
  outline: none;
243
242
  background: var(--background);
244
243
  overflow: inherit;
245
- z-index: 1;
246
244
  box-sizing: border-box;
245
+ z-index: 1;
247
246
  }
248
247
  :host-context([dir=rtl]) .item-native {
249
248
  padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
@@ -262,10 +261,6 @@
262
261
  }
263
262
  }
264
263
 
265
- :host(.item-legacy) .item-native {
266
- flex-wrap: unset;
267
- }
268
-
269
264
  .item-native::-moz-focus-inner {
270
265
  border: 0;
271
266
  }
@@ -301,12 +296,10 @@ button, a {
301
296
  /* stylelint-enable */
302
297
  display: flex;
303
298
  position: relative;
304
- flex: 1 0 auto;
299
+ flex: 1;
305
300
  flex-direction: inherit;
306
- flex-wrap: wrap;
307
301
  align-items: inherit;
308
302
  align-self: stretch;
309
- max-width: 100%;
310
303
  min-height: inherit;
311
304
  border-width: var(--inner-border-width);
312
305
  border-style: var(--border-style);
@@ -332,12 +325,6 @@ button, a {
332
325
  }
333
326
  }
334
327
 
335
- :host(.item-legacy) .item-inner {
336
- flex: 1;
337
- flex-wrap: unset;
338
- max-width: unset;
339
- }
340
-
341
328
  .item-bottom {
342
329
  margin-left: 0;
343
330
  margin-right: 0;
@@ -401,7 +388,6 @@ button, a {
401
388
 
402
389
  ::slotted(ion-label:not([slot=end])) {
403
390
  flex: 1;
404
- width: min-content;
405
391
  }
406
392
 
407
393
  :host(.item-input) {
@@ -410,23 +396,15 @@ button, a {
410
396
 
411
397
  .input-wrapper {
412
398
  display: flex;
413
- flex: 1 0 auto;
399
+ flex: 1;
414
400
  flex-direction: inherit;
415
- flex-wrap: wrap;
416
401
  align-items: inherit;
417
402
  align-self: stretch;
418
- max-width: 100%;
419
403
  text-overflow: ellipsis;
420
404
  overflow: inherit;
421
405
  box-sizing: border-box;
422
406
  }
423
407
 
424
- :host(.item-legacy) .input-wrapper {
425
- flex: 1;
426
- flex-wrap: unset;
427
- max-width: unset;
428
- }
429
-
430
408
  :host(.item-label-stacked),
431
409
  :host(.item-label-floating) {
432
410
  align-items: start;
@@ -230,7 +230,6 @@
230
230
  /* stylelint-enable */
231
231
  display: flex;
232
232
  position: relative;
233
- flex-wrap: wrap;
234
233
  align-items: inherit;
235
234
  justify-content: inherit;
236
235
  width: 100%;
@@ -242,8 +241,8 @@
242
241
  outline: none;
243
242
  background: var(--background);
244
243
  overflow: inherit;
245
- z-index: 1;
246
244
  box-sizing: border-box;
245
+ z-index: 1;
247
246
  }
248
247
  :host-context([dir=rtl]) .item-native {
249
248
  padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
@@ -262,10 +261,6 @@
262
261
  }
263
262
  }
264
263
 
265
- :host(.item-legacy) .item-native {
266
- flex-wrap: unset;
267
- }
268
-
269
264
  .item-native::-moz-focus-inner {
270
265
  border: 0;
271
266
  }
@@ -301,12 +296,10 @@ button, a {
301
296
  /* stylelint-enable */
302
297
  display: flex;
303
298
  position: relative;
304
- flex: 1 0 auto;
299
+ flex: 1;
305
300
  flex-direction: inherit;
306
- flex-wrap: wrap;
307
301
  align-items: inherit;
308
302
  align-self: stretch;
309
- max-width: 100%;
310
303
  min-height: inherit;
311
304
  border-width: var(--inner-border-width);
312
305
  border-style: var(--border-style);
@@ -332,12 +325,6 @@ button, a {
332
325
  }
333
326
  }
334
327
 
335
- :host(.item-legacy) .item-inner {
336
- flex: 1;
337
- flex-wrap: unset;
338
- max-width: unset;
339
- }
340
-
341
328
  .item-bottom {
342
329
  margin-left: 0;
343
330
  margin-right: 0;
@@ -401,7 +388,6 @@ button, a {
401
388
 
402
389
  ::slotted(ion-label:not([slot=end])) {
403
390
  flex: 1;
404
- width: min-content;
405
391
  }
406
392
 
407
393
  :host(.item-input) {
@@ -410,23 +396,15 @@ button, a {
410
396
 
411
397
  .input-wrapper {
412
398
  display: flex;
413
- flex: 1 0 auto;
399
+ flex: 1;
414
400
  flex-direction: inherit;
415
- flex-wrap: wrap;
416
401
  align-items: inherit;
417
402
  align-self: stretch;
418
- max-width: 100%;
419
403
  text-overflow: ellipsis;
420
404
  overflow: inherit;
421
405
  box-sizing: border-box;
422
406
  }
423
407
 
424
- :host(.item-legacy) .input-wrapper {
425
- flex: 1;
426
- flex-wrap: unset;
427
- max-width: unset;
428
- }
429
-
430
408
  :host(.item-label-stacked),
431
409
  :host(.item-label-floating) {
432
410
  align-items: start;
@@ -29,7 +29,7 @@ configs().forEach(({ title, screenshot, config }) => {
29
29
  </ion-item>
30
30
 
31
31
  <ion-item>
32
- <ion-label class="ion-text-nowrap"> Single line text that should have ellipses when it doesn't all fit in the item</ion-label>
32
+ <ion-label> Single line text that should have ellipses when it doesn't all fit in the item</ion-label>
33
33
  </ion-item>
34
34
  </ion-list>
35
35
  `, config);
@@ -11,6 +11,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
11
11
  test('should not have visual regressions', async ({ page }) => {
12
12
  await page.goto(`/src/components/item/test/disabled`, config);
13
13
  await page.setIonViewport();
14
+ // TODO: FW-4037 - Fix label color inconsistency between disabled controls
14
15
  await expect(page).toHaveScreenshot(screenshot(`item-disabled-diff`));
15
16
  });
16
17
  });
@@ -0,0 +1,14 @@
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('item: text'), () => {
8
+ test('should not have visual regressions', async ({ page }) => {
9
+ await page.goto(`/src/components/item/test/text`, config);
10
+ await page.setIonViewport();
11
+ await expect(page).toHaveScreenshot(screenshot(`item-text-diff`));
12
+ });
13
+ });
14
+ });
@@ -63,24 +63,17 @@
63
63
  font-family: var(--ion-font-family, inherit);
64
64
  font-size: inherit;
65
65
  text-overflow: ellipsis;
66
- box-sizing: border-box;
67
- }
68
-
69
- :host-context(.item-legacy) {
70
66
  white-space: nowrap;
71
67
  overflow: hidden;
72
- }
73
-
74
- :host-context(.item:not(.item-input):not(.item-legacy)) {
75
- flex-grow: 1;
68
+ box-sizing: border-box;
76
69
  }
77
70
 
78
71
  :host(.ion-color) {
79
72
  color: var(--ion-color-base);
80
73
  }
81
74
 
82
- :host(.ion-text-nowrap) {
83
- overflow: hidden;
75
+ :host(.ion-text-wrap) {
76
+ white-space: normal;
84
77
  }
85
78
 
86
79
  :host-context(.item-interactive-disabled:not(.item-multiple-inputs)) {
@@ -99,10 +92,6 @@
99
92
  align-self: baseline;
100
93
  }
101
94
 
102
- :host-context(.item-skeleton-text) {
103
- overflow: hidden;
104
- }
105
-
106
95
  :host(.label-fixed) {
107
96
  flex: 0 0 100px;
108
97
  width: 100px;
@@ -63,24 +63,17 @@
63
63
  font-family: var(--ion-font-family, inherit);
64
64
  font-size: inherit;
65
65
  text-overflow: ellipsis;
66
- box-sizing: border-box;
67
- }
68
-
69
- :host-context(.item-legacy) {
70
66
  white-space: nowrap;
71
67
  overflow: hidden;
72
- }
73
-
74
- :host-context(.item:not(.item-input):not(.item-legacy)) {
75
- flex-grow: 1;
68
+ box-sizing: border-box;
76
69
  }
77
70
 
78
71
  :host(.ion-color) {
79
72
  color: var(--ion-color-base);
80
73
  }
81
74
 
82
- :host(.ion-text-nowrap) {
83
- overflow: hidden;
75
+ :host(.ion-text-wrap) {
76
+ white-space: normal;
84
77
  }
85
78
 
86
79
  :host-context(.item-interactive-disabled:not(.item-multiple-inputs)) {
@@ -99,10 +92,6 @@
99
92
  align-self: baseline;
100
93
  }
101
94
 
102
- :host-context(.item-skeleton-text) {
103
- overflow: hidden;
104
- }
105
-
106
95
  :host(.label-fixed) {
107
96
  flex: 0 0 100px;
108
97
  width: 100px;
@@ -5,7 +5,6 @@ import { getTimeGivenProgression } from "../../../utils/animation/cubic-bezier";
5
5
  import { isIonContent, findClosestIonContent, disableContentScrollY, resetContentScrollY } from "../../../utils/content/index";
6
6
  import { createGesture } from "../../../utils/gesture/index";
7
7
  import { clamp, getElementRoot } from "../../../utils/helpers";
8
- import { OVERLAY_GESTURE_PRIORITY } from "../../../utils/overlays";
9
8
  import { setCardStatusBarDark, setCardStatusBarDefault } from "../utils";
10
9
  import { calculateSpringStep, handleCanDismiss } from "./utils";
11
10
  // Defaults for the card swipe animation
@@ -251,7 +250,7 @@ export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismi
251
250
  const gesture = createGesture({
252
251
  el,
253
252
  gestureName: 'modalSwipeToClose',
254
- gesturePriority: OVERLAY_GESTURE_PRIORITY,
253
+ gesturePriority: 39,
255
254
  direction: 'y',
256
255
  threshold: 10,
257
256
  canStart,
@@ -48,48 +48,5 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
48
48
  const note = page.locator('ion-note');
49
49
  await expect(note).toHaveScreenshot(screenshot(`note-item-divider-scale`));
50
50
  });
51
- test('should wrap label to the next line without truncating', async ({ page }) => {
52
- await page.setContent(`
53
- <style>
54
- html {
55
- font-size: 310%;
56
- }
57
- </style>
58
-
59
- <ion-list>
60
- <ion-item>
61
- <ion-note slot="start">Really really long note</ion-note>
62
- <ion-label>Label</ion-label>
63
- </ion-item>
64
-
65
- <ion-item>
66
- <ion-label>Label</ion-label>
67
- <ion-note slot="end">Really really long note</ion-note>
68
- </ion-item>
69
-
70
- <ion-item>
71
- <ion-note slot="start">Note</ion-note>
72
- <ion-label>Really really long label</ion-label>
73
- </ion-item>
74
-
75
- <ion-item>
76
- <ion-label>Really really long label</ion-label>
77
- <ion-note slot="end">Note</ion-note>
78
- </ion-item>
79
-
80
- <ion-item>
81
- <ion-note slot="start">Really really long note</ion-note>
82
- <ion-label>Really really long label</ion-label>
83
- </ion-item>
84
-
85
- <ion-item>
86
- <ion-label>Really really long label</ion-label>
87
- <ion-note slot="end">Really really long note</ion-note>
88
- </ion-item>
89
- </ion-list>
90
- `, config);
91
- const list = page.locator('ion-list');
92
- await expect(list).toHaveScreenshot(screenshot(`note-wrapping-label-scale`));
93
- });
94
51
  });
95
52
  });
@@ -109,20 +109,12 @@
109
109
  }
110
110
 
111
111
  :host .picker-item-empty,
112
- :host .picker-item[disabled] {
113
- cursor: default;
114
- }
115
-
116
- :host .picker-item-empty,
117
- :host(:not([disabled])) .picker-item[disabled] {
112
+ :host .picker-item.picker-item-disabled {
118
113
  scroll-snap-align: none;
114
+ cursor: default;
119
115
  }
120
116
 
121
- :host([disabled]) {
122
- overflow-y: hidden;
123
- }
124
-
125
- :host .picker-item[disabled] {
117
+ :host .picker-item.picker-item-disabled {
126
118
  opacity: 0.4;
127
119
  }
128
120
 
@@ -221,7 +221,6 @@ export class PickerColumnInternal {
221
221
  this.el.classList.remove('picker-column-active');
222
222
  };
223
223
  this.isActive = false;
224
- this.disabled = false;
225
224
  this.items = [];
226
225
  this.value = undefined;
227
226
  this.color = 'primary';
@@ -319,13 +318,10 @@ export class PickerColumnInternal {
319
318
  }
320
319
  }
321
320
  get activeItem() {
322
- // If the whole picker column is disabled, the current value should appear active
323
- // If the current value item is specifically disabled, it should not appear active
324
- const selector = `.picker-item[data-value="${this.value}"]${this.disabled ? '' : ':not([disabled])'}`;
325
- return getElementRoot(this.el).querySelector(selector);
321
+ return getElementRoot(this.el).querySelector(`.picker-item[data-value="${this.value}"]:not([disabled])`);
326
322
  }
327
323
  render() {
328
- const { items, color, disabled: pickerDisabled, isActive, numericInput } = this;
324
+ const { items, color, isActive, numericInput } = this;
329
325
  const mode = getIonMode(this);
330
326
  /**
331
327
  * exportparts is needed so ion-datetime can expose the parts
@@ -333,12 +329,11 @@ export class PickerColumnInternal {
333
329
  * the attribute can be moved to datetime.tsx and set on every
334
330
  * instance of ion-picker-column-internal there instead.
335
331
  */
336
- return (h(Host, { exportparts: `${PICKER_ITEM_PART}, ${PICKER_ITEM_ACTIVE_PART}`, disabled: pickerDisabled, tabindex: pickerDisabled ? null : 0, class: createColorClasses(color, {
332
+ return (h(Host, { exportparts: `${PICKER_ITEM_PART}, ${PICKER_ITEM_ACTIVE_PART}`, tabindex: 0, class: createColorClasses(color, {
337
333
  [mode]: true,
338
334
  ['picker-column-active']: isActive,
339
335
  ['picker-column-numeric-input']: numericInput,
340
336
  }) }, h("div", { class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), items.map((item, index) => {
341
- const isItemDisabled = pickerDisabled || item.disabled || false;
342
337
  {
343
338
  /*
344
339
  Users should be able to tab
@@ -351,9 +346,10 @@ export class PickerColumnInternal {
351
346
  }
352
347
  return (h("button", { tabindex: "-1", class: {
353
348
  'picker-item': true,
349
+ 'picker-item-disabled': item.disabled || false,
354
350
  }, "data-value": item.value, "data-index": index, onClick: (ev) => {
355
351
  this.centerPickerItemInView(ev.target, true);
356
- }, disabled: isItemDisabled, part: PICKER_ITEM_PART }, item.text));
352
+ }, disabled: item.disabled, part: PICKER_ITEM_PART }, item.text));
357
353
  }), h("div", { class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0")));
358
354
  }
359
355
  static get is() { return "ion-picker-column-internal"; }
@@ -372,24 +368,6 @@ export class PickerColumnInternal {
372
368
  }
373
369
  static get properties() {
374
370
  return {
375
- "disabled": {
376
- "type": "boolean",
377
- "mutable": false,
378
- "complexType": {
379
- "original": "boolean",
380
- "resolved": "boolean",
381
- "references": {}
382
- },
383
- "required": false,
384
- "optional": false,
385
- "docs": {
386
- "tags": [],
387
- "text": "If `true`, the user cannot interact with the picker."
388
- },
389
- "attribute": "disabled",
390
- "reflect": false,
391
- "defaultValue": "false"
392
- },
393
371
  "items": {
394
372
  "type": "unknown",
395
373
  "mutable": false,
@@ -109,20 +109,12 @@
109
109
  }
110
110
 
111
111
  :host .picker-item-empty,
112
- :host .picker-item[disabled] {
113
- cursor: default;
114
- }
115
-
116
- :host .picker-item-empty,
117
- :host(:not([disabled])) .picker-item[disabled] {
112
+ :host .picker-item.picker-item-disabled {
118
113
  scroll-snap-align: none;
114
+ cursor: default;
119
115
  }
120
116
 
121
- :host([disabled]) {
122
- overflow-y: hidden;
123
- }
124
-
125
- :host .picker-item[disabled] {
117
+ :host .picker-item.picker-item-disabled {
126
118
  opacity: 0.4;
127
119
  }
128
120
 
@@ -32,7 +32,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
32
32
  * This behavior does not vary across modes/directions.
33
33
  */
34
34
  configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
35
- test.describe(title('picker-column-internal: disabled items'), () => {
35
+ test.describe(title('picker-column-internal: disabled'), () => {
36
36
  test('all picker items should be enabled by default', async ({ page }) => {
37
37
  await page.setContent(`
38
38
  <ion-picker-internal>
@@ -48,7 +48,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
48
48
  ]
49
49
  </script>
50
50
  `, config);
51
- const pickerItems = page.locator('ion-picker-column-internal .picker-item:not(.picker-item-empty, [disabled])');
51
+ const pickerItems = page.locator('ion-picker-column-internal .picker-item:not(.picker-item-empty, .picker-item-disabled)');
52
52
  expect(await pickerItems.count()).toBe(3);
53
53
  });
54
54
  test('disabled picker item should not be interactive', async ({ page }) => {
@@ -66,7 +66,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
66
66
  ]
67
67
  </script>
68
68
  `, config);
69
- const disabledItem = page.locator('ion-picker-column-internal .picker-item[disabled]');
69
+ const disabledItem = page.locator('ion-picker-column-internal .picker-item.picker-item-disabled');
70
70
  await expect(disabledItem).not.toBeEnabled();
71
71
  });
72
72
  test('disabled picker item should not be considered active', async ({ page }) => {
@@ -106,7 +106,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
106
106
  await pickerColumn.evaluate((el) => (el.value = 'b'));
107
107
  await page.waitForChanges();
108
108
  const disabledItem = page.locator('ion-picker-column-internal .picker-item[data-value="b"]');
109
- await expect(disabledItem).toBeDisabled();
109
+ await expect(disabledItem).toHaveClass(/picker-item-disabled/);
110
110
  await expect(disabledItem).not.toHaveClass(/picker-item-active/);
111
111
  });
112
112
  test('defaulting the value to a disabled item should not cause that item to be active', async ({ page }) => {
@@ -126,37 +126,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
126
126
  </script>
127
127
  `, config);
128
128
  const disabledItem = page.locator('ion-picker-column-internal .picker-item[data-value="b"]');
129
- await expect(disabledItem).toBeDisabled();
129
+ await expect(disabledItem).toHaveClass(/picker-item-disabled/);
130
130
  await expect(disabledItem).not.toHaveClass(/picker-item-active/);
131
131
  });
132
132
  });
133
133
  });
134
- /**
135
- * This behavior does not vary across directions.
136
- */
137
- configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
138
- test.describe(title('picker-column-internal: disabled column rendering'), () => {
139
- test.beforeEach(async ({ page }) => {
140
- await page.goto('/src/components/picker-column-internal/test/disabled', config);
141
- });
142
- test('disabled column should not have visual regressions', async ({ page }) => {
143
- const disabledColumn = page.locator('#column-disabled');
144
- await page.waitForChanges();
145
- await expect(disabledColumn).toHaveScreenshot(screenshot('picker-internal-disabled-column'));
146
- });
147
- });
148
- });
149
- /**
150
- * This behavior does not vary across modes/directions.
151
- */
152
- configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
153
- test.describe(title('picker-column-internal: disabled column'), () => {
154
- test.beforeEach(async ({ page }) => {
155
- await page.goto('/src/components/picker-column-internal/test/disabled', config);
156
- });
157
- test('item in disabled column should not be interactive', async ({ page }) => {
158
- const secondItem = page.locator('#column-disabled .picker-item:not(.picker-item-empty)').nth(1);
159
- await expect(secondItem).toBeDisabled();
160
- });
161
- });
162
- });
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { Host, h } from "@stencil/core";
5
- import { createLegacyFormController, isOptionSelected } from "../../utils/forms/index";
5
+ import { createLegacyFormController } from "../../utils/forms/index";
6
6
  import { addEventListener, getAriaLabel, removeEventListener } from "../../utils/helpers";
7
7
  import { printIonWarning } from "../../utils/logging/index";
8
8
  import { createColorClasses, hostContext } from "../../utils/theme";
@@ -23,8 +23,7 @@ export class Radio {
23
23
  this.hasLoggedDeprecationWarning = false;
24
24
  this.updateState = () => {
25
25
  if (this.radioGroup) {
26
- const { compareWith, value: radioGroupValue } = this.radioGroup;
27
- this.checked = isOptionSelected(radioGroupValue, this.value, compareWith);
26
+ this.checked = this.radioGroup.value === this.value;
28
27
  }
29
28
  };
30
29
  this.onClick = () => {
@@ -121,8 +120,6 @@ export class Radio {
121
120
  emitStyle() {
122
121
  const style = {
123
122
  'interactive-disabled': this.disabled,
124
- // TODO(FW-3125): remove this
125
- legacy: !!this.legacy,
126
123
  };
127
124
  if (this.legacyFormController.hasLegacyControl()) {
128
125
  style['radio-checked'] = this.checked;
@@ -47,7 +47,6 @@ export class RadioGroup {
47
47
  }
48
48
  };
49
49
  this.allowEmptySelection = false;
50
- this.compareWith = undefined;
51
50
  this.name = this.inputId;
52
51
  this.value = undefined;
53
52
  }
@@ -168,29 +167,6 @@ export class RadioGroup {
168
167
  "reflect": false,
169
168
  "defaultValue": "false"
170
169
  },
171
- "compareWith": {
172
- "type": "string",
173
- "mutable": false,
174
- "complexType": {
175
- "original": "string | RadioGroupCompareFn | null",
176
- "resolved": "((currentValue: any, compareValue: any) => boolean) | null | string | undefined",
177
- "references": {
178
- "RadioGroupCompareFn": {
179
- "location": "import",
180
- "path": "./radio-group-interface",
181
- "id": "src/components/radio-group/radio-group-interface.ts::RadioGroupCompareFn"
182
- }
183
- }
184
- },
185
- "required": false,
186
- "optional": true,
187
- "docs": {
188
- "tags": [],
189
- "text": "This property allows developers to specify a custom function or property\nname for comparing objects when determining the selected option in the\nion-radio-group. When not specified, the default behavior will use strict\nequality (===) for comparison."
190
- },
191
- "attribute": "compare-with",
192
- "reflect": false
193
- },
194
170
  "name": {
195
171
  "type": "string",
196
172
  "mutable": false,
@@ -226,8 +226,6 @@ export class Range {
226
226
  this.ionStyle.emit({
227
227
  interactive: true,
228
228
  'interactive-disabled': this.disabled,
229
- // TODO(FW-2997): remove this
230
- legacy: !!this.legacy,
231
229
  });
232
230
  }
233
231
  }