@ionic/core 7.5.7-dev.11701274462.156e6f06 → 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 (379) 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 -26
  79. package/dist/collection/components/item/item.md.css +3 -26
  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/item/select.e2e.js +0 -13
  98. package/dist/collection/components/select/test/label/select.e2e.js +1 -1
  99. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +1 -1
  100. package/dist/collection/components/skeleton-text/skeleton-text.js +0 -39
  101. package/dist/collection/components/textarea/textarea.ios.css +5 -37
  102. package/dist/collection/components/textarea/textarea.js +5 -30
  103. package/dist/collection/components/textarea/textarea.md.css +14 -47
  104. package/dist/collection/components/toast/animations/ios.enter.js +1 -2
  105. package/dist/collection/components/toast/animations/md.enter.js +3 -4
  106. package/dist/collection/components/toast/animations/utils.js +14 -20
  107. package/dist/collection/components/toast/test/toast.spec.js +0 -80
  108. package/dist/collection/components/toast/toast.ios.css +10 -10
  109. package/dist/collection/components/toast/toast.js +1 -104
  110. package/dist/collection/components/toast/toast.md.css +0 -10
  111. package/dist/collection/components/toggle/toggle.js +0 -2
  112. package/dist/collection/utils/animation/animation.js +11 -12
  113. package/dist/collection/utils/animation/test/animation.spec.js +0 -16
  114. package/dist/collection/utils/browser/index.js +22 -0
  115. package/dist/collection/utils/forms/index.js +0 -1
  116. package/dist/collection/utils/input-shims/input-shims.js +6 -12
  117. package/dist/collection/utils/menu-controller/index.js +12 -10
  118. package/dist/collection/utils/overlays.js +0 -1
  119. package/dist/collection/utils/slot-mutation-controller.js +2 -3
  120. package/dist/docs.json +12 -137
  121. package/dist/esm/{animation-cf3dd234.js → animation-8aa13916.js} +12 -13
  122. package/dist/esm/{button-active-47196c40.js → button-active-ce5cba4c.js} +1 -1
  123. package/dist/esm/{capacitor-f1f25364.js → capacitor-b4979570.js} +1 -1
  124. package/dist/esm/{data-44d9e816.js → data-316b33f5.js} +64 -14
  125. package/dist/esm/{haptic-1a66d69f.js → haptic-1243b917.js} +1 -1
  126. package/dist/esm/{index-23c05a55.js → index-0aa6e61f.js} +13 -11
  127. package/dist/esm/{index-702b3cd3.js → index-6a0ccabb.js} +2 -2
  128. package/dist/esm/index-7a14ecec.js +29 -0
  129. package/dist/esm/{index-c9e82353.js → index-f0cc4e14.js} +1 -1
  130. package/dist/esm/index.js +8 -8
  131. package/dist/esm/{input-shims-1d767845.js → input-shims-d0c93e5d.js} +9 -14
  132. package/dist/esm/{input.utils-2cf5e372.js → input.utils-ec063df4.js} +3 -4
  133. package/dist/esm/ion-action-sheet.entry.js +6 -6
  134. package/dist/esm/ion-alert.entry.js +6 -6
  135. package/dist/esm/ion-app_8.entry.js +8 -8
  136. package/dist/esm/ion-checkbox.entry.js +0 -2
  137. package/dist/esm/ion-datetime-button.entry.js +1 -1
  138. package/dist/esm/ion-datetime_3.entry.js +44 -25
  139. package/dist/esm/ion-input.entry.js +11 -34
  140. package/dist/esm/ion-item_8.entry.js +4 -17
  141. package/dist/esm/ion-loading.entry.js +3 -3
  142. package/dist/esm/ion-menu_3.entry.js +5 -5
  143. package/dist/esm/ion-modal.entry.js +8 -8
  144. package/dist/esm/ion-nav_2.entry.js +1 -1
  145. package/dist/esm/ion-picker-column-internal.entry.js +10 -14
  146. package/dist/esm/ion-popover.entry.js +4 -4
  147. package/dist/esm/ion-radio_2.entry.js +1 -6
  148. package/dist/esm/ion-range.entry.js +0 -2
  149. package/dist/esm/ion-refresher_2.entry.js +4 -4
  150. package/dist/esm/ion-reorder_2.entry.js +3 -3
  151. package/dist/esm/ion-select_3.entry.js +31 -47
  152. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  153. package/dist/esm/ion-textarea.entry.js +10 -33
  154. package/dist/esm/ion-toast.entry.js +75 -417
  155. package/dist/esm/ion-toggle.entry.js +3 -5
  156. package/dist/esm/ionic.js +1 -1
  157. package/dist/esm/{ios.transition-c3e77862.js → ios.transition-1651c430.js} +3 -3
  158. package/dist/esm/{keyboard-b6230bfb.js → keyboard-b063f012.js} +1 -1
  159. package/dist/esm/{keyboard-9f771a04.js → keyboard-b551279d.js} +3 -3
  160. package/dist/esm/{keyboard-controller-3f0faa10.js → keyboard-controller-0c2dce71.js} +2 -2
  161. package/dist/esm/loader.js +1 -1
  162. package/dist/esm/{md.transition-1173eca9.js → md.transition-66f18369.js} +3 -3
  163. package/dist/esm/{notch-controller-3f79197e.js → notch-controller-8c9c0e54.js} +1 -1
  164. package/dist/esm/{overlays-34169295.js → overlays-6c9feb7e.js} +2 -3
  165. package/dist/esm-es5/{animation-cf3dd234.js → animation-8aa13916.js} +1 -1
  166. package/dist/esm-es5/{button-active-47196c40.js → button-active-ce5cba4c.js} +1 -1
  167. package/dist/esm-es5/{capacitor-f1f25364.js → capacitor-b4979570.js} +1 -1
  168. package/dist/esm-es5/data-316b33f5.js +4 -0
  169. package/dist/esm-es5/{haptic-1a66d69f.js → haptic-1243b917.js} +1 -1
  170. package/dist/esm-es5/index-0aa6e61f.js +4 -0
  171. package/dist/esm-es5/{index-702b3cd3.js → index-6a0ccabb.js} +1 -1
  172. package/dist/esm-es5/index-f0cc4e14.js +4 -0
  173. package/dist/esm-es5/index.js +1 -1
  174. package/dist/esm-es5/input-shims-d0c93e5d.js +4 -0
  175. package/dist/esm-es5/input.utils-ec063df4.js +4 -0
  176. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  177. package/dist/esm-es5/ion-alert.entry.js +1 -1
  178. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  179. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  180. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  181. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  182. package/dist/esm-es5/ion-input.entry.js +1 -1
  183. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  184. package/dist/esm-es5/ion-loading.entry.js +1 -1
  185. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  186. package/dist/esm-es5/ion-modal.entry.js +1 -1
  187. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  188. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  189. package/dist/esm-es5/ion-popover.entry.js +1 -1
  190. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  191. package/dist/esm-es5/ion-range.entry.js +1 -1
  192. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  193. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  194. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  195. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  196. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  197. package/dist/esm-es5/ion-toast.entry.js +1 -1
  198. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  199. package/dist/esm-es5/ionic.js +1 -1
  200. package/dist/esm-es5/{ios.transition-c3e77862.js → ios.transition-1651c430.js} +1 -1
  201. package/dist/esm-es5/{keyboard-b6230bfb.js → keyboard-b063f012.js} +1 -1
  202. package/dist/esm-es5/{keyboard-9f771a04.js → keyboard-b551279d.js} +1 -1
  203. package/dist/esm-es5/{keyboard-controller-3f0faa10.js → keyboard-controller-0c2dce71.js} +1 -1
  204. package/dist/esm-es5/loader.js +1 -1
  205. package/dist/esm-es5/md.transition-66f18369.js +4 -0
  206. package/dist/esm-es5/{notch-controller-3f79197e.js → notch-controller-8c9c0e54.js} +1 -1
  207. package/dist/esm-es5/{overlays-34169295.js → overlays-6c9feb7e.js} +1 -1
  208. package/dist/html.html-data.json +1 -14
  209. package/dist/ionic/index.esm.js +1 -1
  210. package/dist/ionic/ionic.esm.js +1 -1
  211. package/dist/ionic/p-014e8840.system.js +4 -0
  212. package/dist/ionic/{p-83a455fd.system.js → p-09d142b3.system.js} +1 -1
  213. package/dist/ionic/p-0d8e9393.entry.js +4 -0
  214. package/dist/ionic/{p-3abf5b7a.entry.js → p-0dc0d9b5.entry.js} +1 -1
  215. package/dist/ionic/{p-54824705.system.entry.js → p-0e23256e.system.entry.js} +1 -1
  216. package/dist/ionic/{p-e9e5755c.system.js → p-14b4348c.system.js} +1 -1
  217. package/dist/ionic/{p-ea9addc8.system.entry.js → p-18e01b30.system.entry.js} +1 -1
  218. package/dist/ionic/{p-823890d5.system.entry.js → p-1cb5f2f8.system.entry.js} +1 -1
  219. package/dist/ionic/p-1e5165db.system.entry.js +4 -0
  220. package/dist/ionic/p-20cf4994.js +4 -0
  221. package/dist/ionic/p-276afddd.js +4 -0
  222. package/dist/ionic/p-2e8e0045.js +4 -0
  223. package/dist/ionic/{p-d61a2cee.system.entry.js → p-34d2de14.system.entry.js} +1 -1
  224. package/dist/ionic/p-352c0232.system.entry.js +4 -0
  225. package/dist/ionic/p-3602001b.system.js +4 -0
  226. package/dist/ionic/p-3632220b.system.js +4 -0
  227. package/dist/ionic/{p-37c69d34.system.entry.js → p-377c636c.system.entry.js} +1 -1
  228. package/dist/ionic/{p-fce6b76a.system.entry.js → p-39044fe6.system.entry.js} +1 -1
  229. package/dist/ionic/{p-e5fd9f10.js → p-3bad5c1a.js} +1 -1
  230. package/dist/ionic/p-3ce8c3e3.entry.js +4 -0
  231. package/dist/ionic/p-40903d34.system.js +1 -1
  232. package/dist/ionic/{p-958f1c70.system.js → p-41477ad9.system.js} +1 -1
  233. package/dist/ionic/{p-a135e3ba.js → p-419eb426.js} +1 -1
  234. package/dist/ionic/p-4794e0ac.system.entry.js +4 -0
  235. package/dist/ionic/{p-587afb80.system.entry.js → p-4a142496.system.entry.js} +1 -1
  236. package/dist/ionic/p-4cd588b3.system.entry.js +4 -0
  237. package/dist/ionic/p-4dbac22d.entry.js +4 -0
  238. package/dist/ionic/p-4fa201a7.entry.js +4 -0
  239. package/dist/ionic/{p-4c80afe1.system.entry.js → p-587be954.system.entry.js} +1 -1
  240. package/dist/ionic/p-5c299019.entry.js +4 -0
  241. package/dist/ionic/{p-f36112b4.entry.js → p-64296b15.entry.js} +1 -1
  242. package/dist/ionic/{p-1abc74d9.entry.js → p-64ed03a3.entry.js} +1 -1
  243. package/dist/ionic/p-67aab78f.js +4 -0
  244. package/dist/ionic/{p-03ed6107.system.entry.js → p-67e644bd.system.entry.js} +1 -1
  245. package/dist/ionic/{p-cc615985.system.entry.js → p-67ed452a.system.entry.js} +1 -1
  246. package/dist/ionic/p-67eecef4.system.js +4 -0
  247. package/dist/ionic/p-6d812360.system.entry.js +4 -0
  248. package/dist/ionic/{p-67951604.system.js → p-702d85d8.system.js} +1 -1
  249. package/dist/ionic/p-7176cea3.entry.js +4 -0
  250. package/dist/ionic/{p-8b15ca22.entry.js → p-73411c1b.entry.js} +1 -1
  251. package/dist/ionic/p-77e7a9c8.entry.js +4 -0
  252. package/dist/ionic/{p-8ad82eb3.entry.js → p-79e83e0a.entry.js} +1 -1
  253. package/dist/ionic/p-7f85ffa9.js +4 -0
  254. package/dist/ionic/{p-2a41d4d1.js → p-800ef057.js} +1 -1
  255. package/dist/ionic/{p-11cb4e19.js → p-81c818e7.js} +1 -1
  256. package/dist/ionic/p-88980f5f.system.entry.js +4 -0
  257. package/dist/ionic/{p-5885e9af.js → p-8cf94fc1.js} +1 -1
  258. package/dist/ionic/{p-3e655d4c.entry.js → p-8e1bded3.entry.js} +1 -1
  259. package/dist/ionic/p-97c65aa5.js +4 -0
  260. package/dist/ionic/{p-d48872b1.system.js → p-97e31c0a.system.js} +1 -1
  261. package/dist/ionic/p-9ab6f3e6.system.js +4 -0
  262. package/dist/ionic/p-9b89cbde.js +4 -0
  263. package/dist/ionic/{p-fe1f93f2.js → p-a0b6d438.js} +1 -1
  264. package/dist/ionic/p-a21b8d05.entry.js +4 -0
  265. package/dist/ionic/p-a5c1e6ce.entry.js +4 -0
  266. package/dist/ionic/{p-c4de53af.system.js → p-a936d224.system.js} +1 -1
  267. package/dist/ionic/{p-aec8a70a.system.js → p-ab4cff27.system.js} +1 -1
  268. package/dist/ionic/p-b0cee324.entry.js +4 -0
  269. package/dist/ionic/p-b1142133.entry.js +4 -0
  270. package/dist/ionic/p-b203659a.system.entry.js +4 -0
  271. package/dist/ionic/{p-6797887a.entry.js → p-b2a74a72.entry.js} +1 -1
  272. package/dist/ionic/{p-9292fd42.system.js → p-b4b4bb29.system.js} +1 -1
  273. package/dist/ionic/p-b6f8ee31.entry.js +4 -0
  274. package/dist/ionic/{p-31189dae.entry.js → p-b91fe549.entry.js} +1 -1
  275. package/dist/ionic/{p-6a309574.js → p-b923f3d7.js} +1 -1
  276. package/dist/ionic/{p-f9a641fa.system.js → p-bba2ce59.system.js} +1 -1
  277. package/dist/ionic/{p-5e6bc319.system.entry.js → p-bed722c4.system.entry.js} +1 -1
  278. package/dist/ionic/{p-21b4981c.system.js → p-c4042875.system.js} +1 -1
  279. package/dist/ionic/p-cc196b34.js +4 -0
  280. package/dist/ionic/{p-e7d20dfb.system.js → p-ccdcb022.system.js} +1 -1
  281. package/dist/ionic/{p-fcb148dc.system.entry.js → p-cf425ec5.system.entry.js} +1 -1
  282. package/dist/ionic/p-d1de1188.js +4 -0
  283. package/dist/ionic/p-d21bfe66.system.entry.js +4 -0
  284. package/dist/ionic/p-d3952bd5.system.entry.js +4 -0
  285. package/dist/ionic/{p-196f2123.system.entry.js → p-ddfc4ef4.system.entry.js} +1 -1
  286. package/dist/ionic/{p-c1e725db.entry.js → p-deab76dc.entry.js} +1 -1
  287. package/dist/ionic/p-dfa756ed.system.js +4 -0
  288. package/dist/ionic/p-e6b240a0.js +4 -0
  289. package/dist/ionic/{p-64ab3eb3.entry.js → p-f37b4b79.entry.js} +1 -1
  290. package/dist/ionic/{p-7047a40c.system.entry.js → p-f3c82f74.system.entry.js} +1 -1
  291. package/dist/ionic/{p-b673ee9b.entry.js → p-f54ddd19.entry.js} +1 -1
  292. package/dist/ionic/p-ff5a10f9.system.js +4 -0
  293. package/dist/types/components/datetime/utils/manipulation.d.ts +34 -7
  294. package/dist/types/components/input/input.d.ts +0 -2
  295. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -4
  296. package/dist/types/components/radio-group/radio-group-interface.d.ts +0 -1
  297. package/dist/types/components/radio-group/radio-group.d.ts +1 -8
  298. package/dist/types/components/router/router.d.ts +1 -2
  299. package/dist/types/components/select/select.d.ts +1 -6
  300. package/dist/types/components/skeleton-text/skeleton-text.d.ts +1 -9
  301. package/dist/types/components/textarea/textarea.d.ts +0 -2
  302. package/dist/types/components/toast/animations/utils.d.ts +4 -15
  303. package/dist/types/components/toast/toast-interface.d.ts +0 -2
  304. package/dist/types/components/toast/toast.d.ts +1 -28
  305. package/dist/types/components.d.ts +6 -45
  306. package/dist/types/interface.d.ts +5 -1
  307. package/dist/types/utils/animation/animation-interface.d.ts +4 -4
  308. package/dist/types/utils/browser/index.d.ts +2 -11
  309. package/dist/types/utils/forms/index.d.ts +0 -1
  310. package/dist/types/utils/hardware-back-button.d.ts +0 -4
  311. package/dist/types/utils/overlays.d.ts +0 -1
  312. package/dist/types/utils/slot-mutation-controller.d.ts +2 -2
  313. package/hydrate/index.js +276 -659
  314. package/package.json +1 -1
  315. package/dist/cjs/compare-with-utils-c0444525.js +0 -44
  316. package/dist/cjs/index-c8d52405.js +0 -10
  317. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +0 -33
  318. package/dist/collection/components/input/test/slot/input.e2e.js +0 -51
  319. package/dist/collection/components/radio-group/test/radio-group.spec.js +0 -69
  320. package/dist/collection/components/select/test/slot/select.e2e.js +0 -67
  321. package/dist/collection/components/textarea/test/slot/textarea.e2e.js +0 -51
  322. package/dist/collection/components/toast/gestures/swipe-to-dismiss.js +0 -267
  323. package/dist/collection/components/toast/test/swipe-gesture/toast.e2e.js +0 -84
  324. package/dist/collection/components/toast/test/toast-config.spec.js +0 -25
  325. package/dist/collection/utils/forms/compare-with-utils.js +0 -39
  326. package/dist/esm/compare-with-utils-4928c09d.js +0 -41
  327. package/dist/esm/index-a5d50daf.js +0 -7
  328. package/dist/esm-es5/compare-with-utils-4928c09d.js +0 -4
  329. package/dist/esm-es5/data-44d9e816.js +0 -4
  330. package/dist/esm-es5/index-23c05a55.js +0 -4
  331. package/dist/esm-es5/index-c9e82353.js +0 -4
  332. package/dist/esm-es5/input-shims-1d767845.js +0 -4
  333. package/dist/esm-es5/input.utils-2cf5e372.js +0 -4
  334. package/dist/esm-es5/md.transition-1173eca9.js +0 -4
  335. package/dist/ionic/p-0547e914.entry.js +0 -4
  336. package/dist/ionic/p-131761b4.entry.js +0 -4
  337. package/dist/ionic/p-17240d90.js +0 -4
  338. package/dist/ionic/p-1cf5e8d6.entry.js +0 -4
  339. package/dist/ionic/p-2207f3c2.js +0 -4
  340. package/dist/ionic/p-27eb8a91.system.entry.js +0 -4
  341. package/dist/ionic/p-314c4dee.js +0 -4
  342. package/dist/ionic/p-385c51f8.system.entry.js +0 -4
  343. package/dist/ionic/p-3bc3d880.system.js +0 -4
  344. package/dist/ionic/p-43716898.js +0 -4
  345. package/dist/ionic/p-450a26bf.js +0 -4
  346. package/dist/ionic/p-485668f0.entry.js +0 -4
  347. package/dist/ionic/p-48c59094.system.entry.js +0 -4
  348. package/dist/ionic/p-494e75ad.js +0 -4
  349. package/dist/ionic/p-561cc050.system.js +0 -4
  350. package/dist/ionic/p-671dbd61.js +0 -4
  351. package/dist/ionic/p-693cabd5.entry.js +0 -4
  352. package/dist/ionic/p-70dcf429.js +0 -4
  353. package/dist/ionic/p-710cea83.system.js +0 -4
  354. package/dist/ionic/p-7b44e419.js +0 -4
  355. package/dist/ionic/p-80a9b397.entry.js +0 -4
  356. package/dist/ionic/p-8ddfecbf.entry.js +0 -4
  357. package/dist/ionic/p-98712253.system.entry.js +0 -4
  358. package/dist/ionic/p-9c6787e2.entry.js +0 -4
  359. package/dist/ionic/p-a11c1aff.system.entry.js +0 -4
  360. package/dist/ionic/p-a31099a4.entry.js +0 -4
  361. package/dist/ionic/p-a6bc00ab.entry.js +0 -4
  362. package/dist/ionic/p-ad4b4f73.system.entry.js +0 -4
  363. package/dist/ionic/p-b8c3f071.system.js +0 -4
  364. package/dist/ionic/p-be0f6600.system.js +0 -4
  365. package/dist/ionic/p-c2db1374.system.js +0 -4
  366. package/dist/ionic/p-c3547c7a.system.js +0 -4
  367. package/dist/ionic/p-c700acef.system.js +0 -4
  368. package/dist/ionic/p-d4fba36b.system.entry.js +0 -4
  369. package/dist/ionic/p-e5b8f2f7.js +0 -4
  370. package/dist/ionic/p-f43f4102.entry.js +0 -4
  371. package/dist/ionic/p-f5d78105.entry.js +0 -4
  372. package/dist/ionic/p-f7769c83.js +0 -4
  373. package/dist/ionic/p-fcc23f25.system.entry.js +0 -4
  374. package/dist/ionic/p-fdcf04c3.system.entry.js +0 -4
  375. package/dist/types/components/toast/gestures/swipe-to-dismiss.d.ts +0 -9
  376. package/dist/types/utils/forms/compare-with-utils.d.ts +0 -18
  377. /package/dist/esm-es5/{index-a5d50daf.js → index-7a14ecec.js} +0 -0
  378. /package/dist/ionic/{p-792919fd.system.js → p-0e94957a.system.js} +0 -0
  379. /package/dist/ionic/{p-7b30edcc.js → p-b347cfd1.js} +0 -0
@@ -126,7 +126,6 @@
126
126
  -webkit-font-smoothing: antialiased;
127
127
  display: block;
128
128
  position: relative;
129
- flex: 1;
130
129
  align-items: center;
131
130
  justify-content: space-between;
132
131
  outline: none;
@@ -231,7 +230,6 @@
231
230
  /* stylelint-enable */
232
231
  display: flex;
233
232
  position: relative;
234
- flex-wrap: wrap;
235
233
  align-items: inherit;
236
234
  justify-content: inherit;
237
235
  width: 100%;
@@ -243,8 +241,8 @@
243
241
  outline: none;
244
242
  background: var(--background);
245
243
  overflow: inherit;
246
- z-index: 1;
247
244
  box-sizing: border-box;
245
+ z-index: 1;
248
246
  }
249
247
  :host-context([dir=rtl]) .item-native {
250
248
  padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
@@ -263,10 +261,6 @@
263
261
  }
264
262
  }
265
263
 
266
- :host(.item-legacy) .item-native {
267
- flex-wrap: unset;
268
- }
269
-
270
264
  .item-native::-moz-focus-inner {
271
265
  border: 0;
272
266
  }
@@ -302,12 +296,10 @@ button, a {
302
296
  /* stylelint-enable */
303
297
  display: flex;
304
298
  position: relative;
305
- flex: 1 0 auto;
299
+ flex: 1;
306
300
  flex-direction: inherit;
307
- flex-wrap: wrap;
308
301
  align-items: inherit;
309
302
  align-self: stretch;
310
- max-width: 100%;
311
303
  min-height: inherit;
312
304
  border-width: var(--inner-border-width);
313
305
  border-style: var(--border-style);
@@ -333,12 +325,6 @@ button, a {
333
325
  }
334
326
  }
335
327
 
336
- :host(.item-legacy) .item-inner {
337
- flex: 1;
338
- flex-wrap: unset;
339
- max-width: unset;
340
- }
341
-
342
328
  .item-bottom {
343
329
  margin-left: 0;
344
330
  margin-right: 0;
@@ -402,7 +388,6 @@ button, a {
402
388
 
403
389
  ::slotted(ion-label:not([slot=end])) {
404
390
  flex: 1;
405
- width: min-content;
406
391
  }
407
392
 
408
393
  :host(.item-input) {
@@ -411,23 +396,15 @@ button, a {
411
396
 
412
397
  .input-wrapper {
413
398
  display: flex;
414
- flex: 1 0 auto;
399
+ flex: 1;
415
400
  flex-direction: inherit;
416
- flex-wrap: wrap;
417
401
  align-items: inherit;
418
402
  align-self: stretch;
419
- max-width: 100%;
420
403
  text-overflow: ellipsis;
421
404
  overflow: inherit;
422
405
  box-sizing: border-box;
423
406
  }
424
407
 
425
- :host(.item-legacy) .input-wrapper {
426
- flex: 1;
427
- flex-wrap: unset;
428
- max-width: unset;
429
- }
430
-
431
408
  :host(.item-label-stacked),
432
409
  :host(.item-label-floating) {
433
410
  align-items: start;
@@ -126,7 +126,6 @@
126
126
  -webkit-font-smoothing: antialiased;
127
127
  display: block;
128
128
  position: relative;
129
- flex: 1;
130
129
  align-items: center;
131
130
  justify-content: space-between;
132
131
  outline: none;
@@ -231,7 +230,6 @@
231
230
  /* stylelint-enable */
232
231
  display: flex;
233
232
  position: relative;
234
- flex-wrap: wrap;
235
233
  align-items: inherit;
236
234
  justify-content: inherit;
237
235
  width: 100%;
@@ -243,8 +241,8 @@
243
241
  outline: none;
244
242
  background: var(--background);
245
243
  overflow: inherit;
246
- z-index: 1;
247
244
  box-sizing: border-box;
245
+ z-index: 1;
248
246
  }
249
247
  :host-context([dir=rtl]) .item-native {
250
248
  padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
@@ -263,10 +261,6 @@
263
261
  }
264
262
  }
265
263
 
266
- :host(.item-legacy) .item-native {
267
- flex-wrap: unset;
268
- }
269
-
270
264
  .item-native::-moz-focus-inner {
271
265
  border: 0;
272
266
  }
@@ -302,12 +296,10 @@ button, a {
302
296
  /* stylelint-enable */
303
297
  display: flex;
304
298
  position: relative;
305
- flex: 1 0 auto;
299
+ flex: 1;
306
300
  flex-direction: inherit;
307
- flex-wrap: wrap;
308
301
  align-items: inherit;
309
302
  align-self: stretch;
310
- max-width: 100%;
311
303
  min-height: inherit;
312
304
  border-width: var(--inner-border-width);
313
305
  border-style: var(--border-style);
@@ -333,12 +325,6 @@ button, a {
333
325
  }
334
326
  }
335
327
 
336
- :host(.item-legacy) .item-inner {
337
- flex: 1;
338
- flex-wrap: unset;
339
- max-width: unset;
340
- }
341
-
342
328
  .item-bottom {
343
329
  margin-left: 0;
344
330
  margin-right: 0;
@@ -402,7 +388,6 @@ button, a {
402
388
 
403
389
  ::slotted(ion-label:not([slot=end])) {
404
390
  flex: 1;
405
- width: min-content;
406
391
  }
407
392
 
408
393
  :host(.item-input) {
@@ -411,23 +396,15 @@ button, a {
411
396
 
412
397
  .input-wrapper {
413
398
  display: flex;
414
- flex: 1 0 auto;
399
+ flex: 1;
415
400
  flex-direction: inherit;
416
- flex-wrap: wrap;
417
401
  align-items: inherit;
418
402
  align-self: stretch;
419
- max-width: 100%;
420
403
  text-overflow: ellipsis;
421
404
  overflow: inherit;
422
405
  box-sizing: border-box;
423
406
  }
424
407
 
425
- :host(.item-legacy) .input-wrapper {
426
- flex: 1;
427
- flex-wrap: unset;
428
- max-width: unset;
429
- }
430
-
431
408
  :host(.item-label-stacked),
432
409
  :host(.item-label-floating) {
433
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
  }