@ionic/core 7.5.4-dev.11699404450.136700d7 → 7.5.4-dev.11699632730.1e6d9b70

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 (334) hide show
  1. package/components/animation.js +12 -11
  2. package/components/checkbox.js +2 -0
  3. package/components/form-controller.js +5 -1
  4. package/components/index4.js +10 -12
  5. package/components/index5.js +0 -22
  6. package/components/input-shims.js +12 -7
  7. package/components/ion-datetime.js +2 -2
  8. package/components/ion-input.js +2 -0
  9. package/components/ion-range.js +2 -0
  10. package/components/ion-select.js +5 -25
  11. package/components/ion-skeleton-text.js +14 -1
  12. package/components/ion-textarea.js +2 -0
  13. package/components/ion-toast.js +13 -18
  14. package/components/ion-toggle.js +2 -0
  15. package/components/item.js +2 -2
  16. package/components/label.js +2 -2
  17. package/components/list.js +2 -2
  18. package/components/radio-group.js +3 -1
  19. package/components/radio.js +42 -2
  20. package/css/ionic.bundle.css +1 -1
  21. package/css/ionic.bundle.css.map +1 -1
  22. package/css/themes/dark.css +135 -0
  23. package/css/themes/dark.css.map +1 -0
  24. package/css/utils.bundle.css +133 -0
  25. package/css/utils.bundle.css.map +1 -1
  26. package/dist/cjs/{animation-1083855c.js → animation-d101aa7a.js} +13 -12
  27. package/dist/cjs/{button-active-625d1d77.js → button-active-69c3bee4.js} +1 -1
  28. package/dist/cjs/{capacitor-2ffba62a.js → capacitor-f68447d3.js} +1 -1
  29. package/dist/cjs/compare-with-utils-c0444525.js +44 -0
  30. package/dist/cjs/{form-controller-9343050c.js → form-controller-5e223b54.js} +5 -1
  31. package/dist/cjs/{haptic-678abc9f.js → haptic-a74c2767.js} +1 -1
  32. package/dist/cjs/{index-3659e3a5.js → index-9146d04a.js} +11 -13
  33. package/dist/cjs/{index-135a6097.js → index-adbcffee.js} +2 -2
  34. package/dist/cjs/index-c8d52405.js +10 -0
  35. package/dist/cjs/{index-9f379eaa.js → index-e9634bc9.js} +1 -1
  36. package/dist/cjs/index.cjs.js +8 -8
  37. package/dist/cjs/{input-shims-b0a75a01.js → input-shims-3e3f35b9.js} +15 -10
  38. package/dist/cjs/{input.utils-0fe3097c.js → input.utils-590f0f18.js} +1 -1
  39. package/dist/cjs/ion-action-sheet.cjs.entry.js +6 -6
  40. package/dist/cjs/ion-alert.cjs.entry.js +6 -6
  41. package/dist/cjs/ion-app_8.cjs.entry.js +8 -8
  42. package/dist/cjs/ion-checkbox.cjs.entry.js +3 -1
  43. package/dist/cjs/ion-datetime_3.cjs.entry.js +7 -7
  44. package/dist/cjs/ion-input.cjs.entry.js +6 -4
  45. package/dist/cjs/ion-item_8.cjs.entry.js +19 -6
  46. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  47. package/dist/cjs/ion-menu_3.cjs.entry.js +5 -5
  48. package/dist/cjs/ion-modal.cjs.entry.js +7 -7
  49. package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
  50. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +3 -3
  51. package/dist/cjs/ion-popover.cjs.entry.js +4 -4
  52. package/dist/cjs/ion-radio_2.cjs.entry.js +8 -3
  53. package/dist/cjs/ion-range.cjs.entry.js +3 -1
  54. package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
  55. package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
  56. package/dist/cjs/ion-select_3.cjs.entry.js +13 -32
  57. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  58. package/dist/cjs/ion-textarea.cjs.entry.js +6 -4
  59. package/dist/cjs/ion-toast.cjs.entry.js +16 -21
  60. package/dist/cjs/ion-toggle.cjs.entry.js +6 -4
  61. package/dist/cjs/ionic.cjs.js +2 -2
  62. package/dist/cjs/{ios.transition-b71990aa.js → ios.transition-7972d9e3.js} +3 -3
  63. package/dist/cjs/{keyboard-fd7db491.js → keyboard-43df0428.js} +1 -1
  64. package/dist/cjs/{keyboard-38f2bb7b.js → keyboard-840107b3.js} +3 -3
  65. package/dist/cjs/{keyboard-controller-50beb83a.js → keyboard-controller-019f42df.js} +2 -2
  66. package/dist/cjs/loader.cjs.js +1 -1
  67. package/dist/cjs/{md.transition-3caa648a.js → md.transition-6e61a10f.js} +3 -3
  68. package/dist/cjs/{notch-controller-f4f6af5d.js → notch-controller-c22d1344.js} +1 -1
  69. package/dist/cjs/{overlays-6d1daf80.js → overlays-d80a2cf2.js} +1 -1
  70. package/dist/collection/collection-manifest.json +1 -1
  71. package/dist/collection/components/checkbox/checkbox.js +2 -0
  72. package/dist/collection/components/datetime/datetime.ios.css +1 -0
  73. package/dist/collection/components/datetime/datetime.md.css +1 -0
  74. package/dist/collection/components/input/input.js +2 -0
  75. package/dist/collection/components/item/item.ios.css +25 -3
  76. package/dist/collection/components/item/item.md.css +25 -3
  77. package/dist/collection/components/item/test/basic/item.e2e.js +1 -1
  78. package/dist/collection/components/item/test/disabled/item.e2e.js +0 -1
  79. package/dist/collection/components/label/label.ios.css +14 -3
  80. package/dist/collection/components/label/label.md.css +14 -3
  81. package/dist/collection/components/list/list.ios.css +1 -15
  82. package/dist/collection/components/list/list.md.css +3 -41
  83. package/dist/collection/components/list/test/lines/list.e2e.js +0 -143
  84. package/dist/collection/components/note/test/a11y/note.e2e.js +43 -0
  85. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -5
  86. package/dist/collection/components/radio/radio.js +5 -2
  87. package/dist/collection/components/radio-group/radio-group.js +25 -1
  88. package/dist/collection/components/range/range.js +2 -0
  89. package/dist/collection/components/select/select.ios.css +5 -0
  90. package/dist/collection/components/select/select.js +4 -24
  91. package/dist/collection/components/select/select.md.css +5 -0
  92. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +1 -1
  93. package/dist/collection/components/skeleton-text/skeleton-text.js +39 -0
  94. package/dist/collection/components/textarea/textarea.js +2 -0
  95. package/dist/collection/components/toast/animations/md.enter.js +2 -2
  96. package/dist/collection/components/toast/animations/utils.js +9 -14
  97. package/dist/collection/components/toast/toast.ios.css +10 -10
  98. package/dist/collection/components/toast/toast.md.css +10 -0
  99. package/dist/collection/components/toggle/toggle.js +2 -0
  100. package/dist/collection/utils/animation/animation.js +12 -11
  101. package/dist/collection/utils/browser/index.js +0 -22
  102. package/dist/collection/utils/forms/compare-with-utils.js +39 -0
  103. package/dist/collection/utils/forms/form-controller.js +5 -1
  104. package/dist/collection/utils/forms/index.js +1 -0
  105. package/dist/collection/utils/input-shims/input-shims.js +12 -6
  106. package/dist/collection/utils/menu-controller/index.js +10 -12
  107. package/dist/docs.json +44 -3
  108. package/dist/esm/{animation-8aa13916.js → animation-cf3dd234.js} +13 -12
  109. package/dist/esm/{button-active-1fb561b0.js → button-active-109ba60d.js} +1 -1
  110. package/dist/esm/{capacitor-b4979570.js → capacitor-f1f25364.js} +1 -1
  111. package/dist/esm/compare-with-utils-4928c09d.js +41 -0
  112. package/dist/esm/{form-controller-64edeaad.js → form-controller-ed77647a.js} +5 -1
  113. package/dist/esm/{haptic-1243b917.js → haptic-1a66d69f.js} +1 -1
  114. package/dist/esm/{index-47a510cf.js → index-50582f1c.js} +2 -2
  115. package/dist/esm/{index-056b43e7.js → index-6a48e009.js} +11 -13
  116. package/dist/esm/index-a5d50daf.js +7 -0
  117. package/dist/esm/{index-f0cc4e14.js → index-c9e82353.js} +1 -1
  118. package/dist/esm/index.js +8 -8
  119. package/dist/esm/{input-shims-d0c93e5d.js → input-shims-1d767845.js} +14 -9
  120. package/dist/esm/{input.utils-ec063df4.js → input.utils-d04a7212.js} +1 -1
  121. package/dist/esm/ion-action-sheet.entry.js +6 -6
  122. package/dist/esm/ion-alert.entry.js +6 -6
  123. package/dist/esm/ion-app_8.entry.js +8 -8
  124. package/dist/esm/ion-checkbox.entry.js +3 -1
  125. package/dist/esm/ion-datetime_3.entry.js +7 -7
  126. package/dist/esm/ion-input.entry.js +6 -4
  127. package/dist/esm/ion-item_8.entry.js +19 -6
  128. package/dist/esm/ion-loading.entry.js +3 -3
  129. package/dist/esm/ion-menu_3.entry.js +5 -5
  130. package/dist/esm/ion-modal.entry.js +7 -7
  131. package/dist/esm/ion-nav_2.entry.js +1 -1
  132. package/dist/esm/ion-picker-column-internal.entry.js +3 -3
  133. package/dist/esm/ion-popover.entry.js +4 -4
  134. package/dist/esm/ion-radio_2.entry.js +8 -3
  135. package/dist/esm/ion-range.entry.js +3 -1
  136. package/dist/esm/ion-refresher_2.entry.js +4 -4
  137. package/dist/esm/ion-reorder_2.entry.js +3 -3
  138. package/dist/esm/ion-select_3.entry.js +9 -28
  139. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  140. package/dist/esm/ion-textarea.entry.js +6 -4
  141. package/dist/esm/ion-toast.entry.js +16 -21
  142. package/dist/esm/ion-toggle.entry.js +6 -4
  143. package/dist/esm/ionic.js +2 -2
  144. package/dist/esm/{ios.transition-b53e19a3.js → ios.transition-e20d71bc.js} +3 -3
  145. package/dist/esm/{keyboard-b551279d.js → keyboard-9f771a04.js} +3 -3
  146. package/dist/esm/{keyboard-b063f012.js → keyboard-b6230bfb.js} +1 -1
  147. package/dist/esm/{keyboard-controller-0c2dce71.js → keyboard-controller-3f0faa10.js} +2 -2
  148. package/dist/esm/loader.js +1 -1
  149. package/dist/esm/{md.transition-276c1159.js → md.transition-a8469407.js} +3 -3
  150. package/dist/esm/{notch-controller-8c9c0e54.js → notch-controller-3f79197e.js} +1 -1
  151. package/dist/esm/{overlays-928a4afe.js → overlays-a31c8878.js} +1 -1
  152. package/dist/esm-es5/{animation-8aa13916.js → animation-cf3dd234.js} +1 -1
  153. package/dist/esm-es5/{button-active-1fb561b0.js → button-active-109ba60d.js} +1 -1
  154. package/dist/esm-es5/{capacitor-b4979570.js → capacitor-f1f25364.js} +1 -1
  155. package/dist/esm-es5/compare-with-utils-4928c09d.js +4 -0
  156. package/dist/esm-es5/{form-controller-64edeaad.js → form-controller-ed77647a.js} +1 -1
  157. package/dist/esm-es5/{haptic-1243b917.js → haptic-1a66d69f.js} +1 -1
  158. package/dist/esm-es5/{index-47a510cf.js → index-50582f1c.js} +1 -1
  159. package/dist/esm-es5/index-6a48e009.js +4 -0
  160. package/dist/esm-es5/index-c9e82353.js +4 -0
  161. package/dist/esm-es5/index.js +1 -1
  162. package/dist/esm-es5/input-shims-1d767845.js +4 -0
  163. package/dist/esm-es5/input.utils-d04a7212.js +4 -0
  164. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  165. package/dist/esm-es5/ion-alert.entry.js +1 -1
  166. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  167. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  168. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  169. package/dist/esm-es5/ion-input.entry.js +1 -1
  170. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  171. package/dist/esm-es5/ion-loading.entry.js +1 -1
  172. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  173. package/dist/esm-es5/ion-modal.entry.js +1 -1
  174. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  175. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  176. package/dist/esm-es5/ion-popover.entry.js +1 -1
  177. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  178. package/dist/esm-es5/ion-range.entry.js +1 -1
  179. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  180. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  181. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  182. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  183. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  184. package/dist/esm-es5/ion-toast.entry.js +1 -1
  185. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  186. package/dist/esm-es5/ionic.js +1 -1
  187. package/dist/esm-es5/{ios.transition-b53e19a3.js → ios.transition-e20d71bc.js} +1 -1
  188. package/dist/esm-es5/{keyboard-b551279d.js → keyboard-9f771a04.js} +1 -1
  189. package/dist/esm-es5/{keyboard-b063f012.js → keyboard-b6230bfb.js} +1 -1
  190. package/dist/esm-es5/{keyboard-controller-0c2dce71.js → keyboard-controller-3f0faa10.js} +1 -1
  191. package/dist/esm-es5/loader.js +1 -1
  192. package/dist/esm-es5/{md.transition-276c1159.js → md.transition-a8469407.js} +1 -1
  193. package/dist/esm-es5/{notch-controller-8c9c0e54.js → notch-controller-3f79197e.js} +1 -1
  194. package/dist/esm-es5/{overlays-928a4afe.js → overlays-a31c8878.js} +1 -1
  195. package/dist/html.html-data.json +5 -1
  196. package/dist/ionic/index.esm.js +1 -1
  197. package/dist/ionic/ionic.esm.js +1 -1
  198. package/dist/ionic/ionic.js +1 -1
  199. package/dist/ionic/{p-c1db8914.system.js → p-02663394.system.js} +1 -1
  200. package/dist/ionic/{p-63676ade.system.entry.js → p-0becf7b5.system.entry.js} +1 -1
  201. package/dist/ionic/{p-8cc04bea.system.js → p-0c40f7d3.system.js} +1 -1
  202. package/dist/ionic/p-11104d0d.entry.js +4 -0
  203. package/dist/ionic/{p-81c818e7.js → p-11cb4e19.js} +1 -1
  204. package/dist/ionic/p-139bd79d.system.entry.js +4 -0
  205. package/dist/ionic/{p-a07cd4aa.system.js → p-13dd7d20.system.js} +1 -1
  206. package/dist/ionic/{p-276afddd.js → p-1667596c.js} +1 -1
  207. package/dist/ionic/{p-60f55715.system.entry.js → p-1e59dd04.system.entry.js} +1 -1
  208. package/dist/ionic/p-265fec8a.entry.js +4 -0
  209. package/dist/ionic/{p-da3e5259.entry.js → p-2fb115dc.entry.js} +1 -1
  210. package/dist/ionic/{p-fb10190f.js → p-307963db.js} +1 -1
  211. package/dist/ionic/p-314c4dee.js +4 -0
  212. package/dist/ionic/p-3554b264.js +4 -0
  213. package/dist/ionic/{p-59f491c5.entry.js → p-35787a6f.entry.js} +1 -1
  214. package/dist/ionic/{p-bf5a7db2.system.entry.js → p-3962542f.system.entry.js} +1 -1
  215. package/dist/ionic/{p-40c0c580.system.entry.js → p-3a769110.system.entry.js} +1 -1
  216. package/dist/ionic/p-3afb9c3d.entry.js +4 -0
  217. package/dist/ionic/p-3bc3d880.system.js +4 -0
  218. package/dist/ionic/{p-55ed230e.system.js → p-3d726a67.system.js} +1 -1
  219. package/dist/ionic/{p-33986d02.entry.js → p-3fc0b7ba.entry.js} +1 -1
  220. package/dist/ionic/p-43716898.js +4 -0
  221. package/dist/ionic/{p-c4e61a72.entry.js → p-47826f19.entry.js} +1 -1
  222. package/dist/ionic/p-494e75ad.js +4 -0
  223. package/dist/ionic/{p-6867d3af.system.entry.js → p-4c50b357.system.entry.js} +1 -1
  224. package/dist/ionic/{p-1a1fcc8b.system.js → p-4c75cb48.system.js} +1 -1
  225. package/dist/ionic/p-4e3c07a6.system.js +4 -0
  226. package/dist/ionic/p-4e4ee05e.js +4 -0
  227. package/dist/ionic/{p-07fd5d40.system.entry.js → p-50375f3b.system.entry.js} +1 -1
  228. package/dist/ionic/p-539c09e8.system.entry.js +4 -0
  229. package/dist/ionic/{p-80baef4f.entry.js → p-53b1930e.entry.js} +1 -1
  230. package/dist/ionic/p-561cc050.system.js +4 -0
  231. package/dist/ionic/p-57b14769.js +4 -0
  232. package/dist/ionic/{p-8cf94fc1.js → p-5885e9af.js} +1 -1
  233. package/dist/ionic/{p-8704e922.system.entry.js → p-59107f99.system.entry.js} +1 -1
  234. package/dist/ionic/{p-b923f3d7.js → p-6a309574.js} +1 -1
  235. package/dist/ionic/p-6b45cfd0.system.entry.js +4 -0
  236. package/dist/ionic/p-70dcf429.js +4 -0
  237. package/dist/ionic/p-710cea83.system.js +4 -0
  238. package/dist/ionic/{p-e1e64156.system.entry.js → p-71e70a57.system.entry.js} +1 -1
  239. package/dist/ionic/{p-565d1dc5.entry.js → p-75338011.entry.js} +1 -1
  240. package/dist/ionic/p-7acd17bc.entry.js +4 -0
  241. package/dist/ionic/p-7d68e4ea.entry.js +4 -0
  242. package/dist/ionic/{p-3632220b.system.js → p-7def197f.system.js} +1 -1
  243. package/dist/ionic/p-8140a084.entry.js +4 -0
  244. package/dist/ionic/{p-af589369.system.entry.js → p-90020ef0.system.entry.js} +1 -1
  245. package/dist/ionic/{p-b4b4bb29.system.js → p-9292fd42.system.js} +1 -1
  246. package/dist/ionic/p-92ac915c.system.js +4 -0
  247. package/dist/ionic/{p-8b951f8a.system.entry.js → p-9471d511.system.entry.js} +1 -1
  248. package/dist/ionic/{p-677a233c.system.entry.js → p-957f3028.system.entry.js} +1 -1
  249. package/dist/ionic/{p-41477ad9.system.js → p-958f1c70.system.js} +1 -1
  250. package/dist/ionic/{p-7d3be70f.system.js → p-98c70e3c.system.js} +1 -1
  251. package/dist/ionic/{p-a843f88e.entry.js → p-9939c98e.entry.js} +1 -1
  252. package/dist/ionic/{p-eb5283b6.entry.js → p-999a7271.entry.js} +1 -1
  253. package/dist/ionic/{p-a99f55ed.system.entry.js → p-9b34caa0.system.entry.js} +1 -1
  254. package/dist/ionic/{p-1589d649.system.entry.js → p-a03566c4.system.entry.js} +1 -1
  255. package/dist/ionic/{p-419eb426.js → p-a135e3ba.js} +1 -1
  256. package/dist/ionic/p-a4e4dba1.entry.js +4 -0
  257. package/dist/ionic/p-a6b819ca.entry.js +4 -0
  258. package/dist/ionic/{p-940a581d.system.js → p-abaa9b48.system.js} +1 -1
  259. package/dist/ionic/{p-ab4cff27.system.js → p-aec8a70a.system.js} +1 -1
  260. package/dist/ionic/{p-a5b3aa82.entry.js → p-b86c6c05.entry.js} +1 -1
  261. package/dist/ionic/{p-16b94c87.system.entry.js → p-bc48e521.system.entry.js} +1 -1
  262. package/dist/ionic/p-be499f29.entry.js +4 -0
  263. package/dist/ionic/{p-a3545dad.entry.js → p-c09fa14d.entry.js} +1 -1
  264. package/dist/ionic/p-c2db1374.system.js +4 -0
  265. package/dist/ionic/{p-09ec6b90.entry.js → p-c32a6c04.entry.js} +1 -1
  266. package/dist/ionic/p-c3547c7a.system.js +4 -0
  267. package/dist/ionic/p-ca5cf574.js +4 -0
  268. package/dist/ionic/{p-82c503f7.entry.js → p-ce20c101.entry.js} +1 -1
  269. package/dist/ionic/p-d54a8393.system.entry.js +4 -0
  270. package/dist/ionic/{p-f87219d2.js → p-df18d20d.js} +1 -1
  271. package/dist/ionic/{p-3bad5c1a.js → p-e5fd9f10.js} +1 -1
  272. package/dist/ionic/{p-cbbefe72.system.entry.js → p-e66f7d10.system.entry.js} +1 -1
  273. package/dist/ionic/{p-ccdcb022.system.js → p-e7d20dfb.system.js} +1 -1
  274. package/dist/ionic/{p-084413f2.system.entry.js → p-e91c7eb4.system.entry.js} +1 -1
  275. package/dist/ionic/p-e9fe3c8b.system.entry.js +4 -0
  276. package/dist/ionic/{p-e96da585.system.entry.js → p-ed8a02a2.system.entry.js} +1 -1
  277. package/dist/ionic/{p-a2200630.js → p-edd568c5.js} +1 -1
  278. package/dist/ionic/p-f7769c83.js +4 -0
  279. package/dist/ionic/{p-bba2ce59.system.js → p-f9a641fa.system.js} +1 -1
  280. package/dist/ionic/p-fa67d712.entry.js +4 -0
  281. package/dist/types/components/radio-group/radio-group-interface.d.ts +1 -0
  282. package/dist/types/components/radio-group/radio-group.d.ts +8 -1
  283. package/dist/types/components/router/router.d.ts +2 -1
  284. package/dist/types/components/select/select.d.ts +4 -1
  285. package/dist/types/components/skeleton-text/skeleton-text.d.ts +9 -1
  286. package/dist/types/components/toast/animations/utils.d.ts +6 -4
  287. package/dist/types/components.d.ts +27 -4
  288. package/dist/types/interface.d.ts +1 -5
  289. package/dist/types/utils/animation/animation-interface.d.ts +4 -4
  290. package/dist/types/utils/browser/index.d.ts +11 -2
  291. package/dist/types/utils/forms/compare-with-utils.d.ts +18 -0
  292. package/dist/types/utils/forms/index.d.ts +1 -0
  293. package/dist/types/utils/hardware-back-button.d.ts +4 -0
  294. package/hydrate/index.js +133 -113
  295. package/package.json +4 -2
  296. package/dist/cjs/index-306a7476.js +0 -32
  297. package/dist/collection/components/item/test/text/item.e2e.js +0 -14
  298. package/dist/esm/index-7a14ecec.js +0 -29
  299. package/dist/esm-es5/index-056b43e7.js +0 -4
  300. package/dist/esm-es5/index-f0cc4e14.js +0 -4
  301. package/dist/esm-es5/input-shims-d0c93e5d.js +0 -4
  302. package/dist/esm-es5/input.utils-ec063df4.js +0 -4
  303. package/dist/ionic/p-0816f061.entry.js +0 -4
  304. package/dist/ionic/p-28acf48d.system.entry.js +0 -4
  305. package/dist/ionic/p-2e8e0045.js +0 -4
  306. package/dist/ionic/p-3602001b.system.js +0 -4
  307. package/dist/ionic/p-3a9f1ddc.entry.js +0 -4
  308. package/dist/ionic/p-49cfa5b2.entry.js +0 -4
  309. package/dist/ionic/p-4c75aded.entry.js +0 -4
  310. package/dist/ionic/p-4eb8645b.system.entry.js +0 -4
  311. package/dist/ionic/p-5370e786.js +0 -4
  312. package/dist/ionic/p-5f4c4347.system.entry.js +0 -4
  313. package/dist/ionic/p-5feb31c6.entry.js +0 -4
  314. package/dist/ionic/p-67eecef4.system.js +0 -4
  315. package/dist/ionic/p-7a3766ec.entry.js +0 -4
  316. package/dist/ionic/p-82c17a8e.system.entry.js +0 -4
  317. package/dist/ionic/p-852b83c7.entry.js +0 -4
  318. package/dist/ionic/p-92b8533f.entry.js +0 -4
  319. package/dist/ionic/p-97c65aa5.js +0 -4
  320. package/dist/ionic/p-9ab6f3e6.system.js +0 -4
  321. package/dist/ionic/p-a8e2b2b0.js +0 -4
  322. package/dist/ionic/p-b1075d53.system.js +0 -4
  323. package/dist/ionic/p-b6be9a42.system.js +0 -4
  324. package/dist/ionic/p-c3278d57.js +0 -4
  325. package/dist/ionic/p-c6e9ffd6.js +0 -4
  326. package/dist/ionic/p-cc196b34.js +0 -4
  327. package/dist/ionic/p-d1de1188.js +0 -4
  328. package/dist/ionic/p-df9d7fe1.entry.js +0 -4
  329. package/dist/ionic/p-f0cd78e0.system.entry.js +0 -4
  330. package/dist/ionic/p-f76c3181.entry.js +0 -4
  331. package/dist/ionic/p-ff5a10f9.system.js +0 -4
  332. /package/dist/esm-es5/{index-7a14ecec.js → index-a5d50daf.js} +0 -0
  333. /package/dist/ionic/{p-0e94957a.system.js → p-792919fd.system.js} +0 -0
  334. /package/dist/ionic/{p-b347cfd1.js → p-7b30edcc.js} +0 -0
@@ -9,6 +9,18 @@ export class SkeletonText {
9
9
  constructor() {
10
10
  this.animated = false;
11
11
  }
12
+ componentWillLoad() {
13
+ this.emitStyle();
14
+ }
15
+ emitStyle() {
16
+ // The emitted property is used by item in order
17
+ // to add the item-skeleton-text class which applies
18
+ // overflow: hidden to its label
19
+ const style = {
20
+ 'skeleton-text': true,
21
+ };
22
+ this.ionStyle.emit(style);
23
+ }
12
24
  render() {
13
25
  const animated = this.animated && config.getBoolean('animated', true);
14
26
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
@@ -53,5 +65,32 @@ export class SkeletonText {
53
65
  }
54
66
  };
55
67
  }
68
+ static get events() {
69
+ return [{
70
+ "method": "ionStyle",
71
+ "name": "ionStyle",
72
+ "bubbles": true,
73
+ "cancelable": true,
74
+ "composed": true,
75
+ "docs": {
76
+ "tags": [{
77
+ "name": "internal",
78
+ "text": undefined
79
+ }],
80
+ "text": "Emitted when the styles change."
81
+ },
82
+ "complexType": {
83
+ "original": "StyleEventDetail",
84
+ "resolved": "StyleEventDetail",
85
+ "references": {
86
+ "StyleEventDetail": {
87
+ "location": "import",
88
+ "path": "../../interface",
89
+ "id": "src/interface.d.ts::StyleEventDetail"
90
+ }
91
+ }
92
+ }
93
+ }];
94
+ }
56
95
  static get elementRef() { return "el"; }
57
96
  }
@@ -189,6 +189,8 @@ export class Textarea {
189
189
  'has-placeholder': this.placeholder !== undefined,
190
190
  'has-value': this.hasValue(),
191
191
  'has-focus': this.hasFocus,
192
+ // TODO(FW-2876): remove this
193
+ legacy: !!this.legacy,
192
194
  });
193
195
  }
194
196
  }
@@ -15,7 +15,7 @@ export const mdEnterAnimation = (baseEl, opts) => {
15
15
  wrapperAnimation.addElement(wrapperEl);
16
16
  switch (position) {
17
17
  case 'top':
18
- wrapperEl.style.top = top;
18
+ wrapperEl.style.setProperty('transform', `translateY(${top})`);
19
19
  wrapperAnimation.fromTo('opacity', 0.01, 1);
20
20
  break;
21
21
  case 'middle':
@@ -24,7 +24,7 @@ export const mdEnterAnimation = (baseEl, opts) => {
24
24
  wrapperAnimation.fromTo('opacity', 0.01, 1);
25
25
  break;
26
26
  default:
27
- wrapperEl.style.bottom = bottom;
27
+ wrapperEl.style.setProperty('transform', `translateY(${bottom})`);
28
28
  wrapperAnimation.fromTo('opacity', 0.01, 1);
29
29
  break;
30
30
  }
@@ -7,10 +7,12 @@ import { printIonWarning } from "../../../utils/logging/index";
7
7
  * Calculate the CSS top and bottom position of the toast, to be used
8
8
  * as starting points for the animation keyframes.
9
9
  *
10
- * Note that MD animates bottom-positioned toasts using style.bottom,
11
- * which calculates from the bottom edge of the screen, while iOS uses
12
- * translateY, which calculates from the top edge of the screen. This
13
- * is why the bottom calculates differ slightly between modes.
10
+ * The default animations for both MD and iOS
11
+ * use translateY, which calculates from the
12
+ * top edge of the screen. This behavior impacts
13
+ * how we compute the offset when a toast has
14
+ * position='bottom' since we need to calculate from
15
+ * the bottom edge of the screen instead.
14
16
  *
15
17
  * @param position The value of the toast's position prop.
16
18
  * @param positionAnchor The element the toast should be anchored to,
@@ -25,7 +27,7 @@ export function getAnimationPosition(position, positionAnchor, mode, toast) {
25
27
  */
26
28
  let offset;
27
29
  if (mode === 'md') {
28
- offset = 8;
30
+ offset = position === 'top' ? 8 : -8;
29
31
  }
30
32
  else {
31
33
  offset = position === 'top' ? 10 : -10;
@@ -48,12 +50,7 @@ export function getAnimationPosition(position, positionAnchor, mode, toast) {
48
50
  * to the top edge of the anchor. We want to calculate from the
49
51
  * bottom edge of the screen instead.
50
52
  */
51
- if (mode === 'md') {
52
- offset += win.innerHeight - box.top;
53
- }
54
- else {
55
- offset -= win.innerHeight - box.top;
56
- }
53
+ offset -= win.innerHeight - box.top;
57
54
  }
58
55
  /**
59
56
  * We don't include safe area here because that should already be
@@ -67,9 +64,7 @@ export function getAnimationPosition(position, positionAnchor, mode, toast) {
67
64
  else {
68
65
  return {
69
66
  top: `calc(${offset}px + var(--ion-safe-area-top, 0px))`,
70
- bottom: mode === 'md'
71
- ? `calc(${offset}px + var(--ion-safe-area-bottom, 0px))`
72
- : `calc(${offset}px - var(--ion-safe-area-bottom, 0px))`,
67
+ bottom: `calc(${offset}px - var(--ion-safe-area-bottom, 0px))`,
73
68
  };
74
69
  }
75
70
  }
@@ -167,6 +167,16 @@
167
167
  }
168
168
  }
169
169
 
170
+ .toast-wrapper.toast-top {
171
+ transform: translate3d(0, -100%, 0);
172
+ top: 0;
173
+ }
174
+
175
+ .toast-wrapper.toast-bottom {
176
+ transform: translate3d(0, 100%, 0);
177
+ bottom: 0;
178
+ }
179
+
170
180
  .toast-container {
171
181
  display: flex;
172
182
  align-items: center;
@@ -299,20 +309,10 @@
299
309
  background: rgba(var(--ion-color-base-rgb), 0.8);
300
310
  }
301
311
  }
302
- .toast-wrapper.toast-top {
303
- transform: translate3d(0, -100%, 0);
304
- top: 0;
305
- }
306
-
307
312
  .toast-wrapper.toast-middle {
308
313
  opacity: 0.01;
309
314
  }
310
315
 
311
- .toast-wrapper.toast-bottom {
312
- transform: translate3d(0, 100%, 0);
313
- bottom: 0;
314
- }
315
-
316
316
  .toast-content {
317
317
  -webkit-padding-start: 15px;
318
318
  padding-inline-start: 15px;
@@ -167,6 +167,16 @@
167
167
  }
168
168
  }
169
169
 
170
+ .toast-wrapper.toast-top {
171
+ transform: translate3d(0, -100%, 0);
172
+ top: 0;
173
+ }
174
+
175
+ .toast-wrapper.toast-bottom {
176
+ transform: translate3d(0, 100%, 0);
177
+ bottom: 0;
178
+ }
179
+
170
180
  .toast-container {
171
181
  display: flex;
172
182
  align-items: center;
@@ -123,6 +123,8 @@ export class Toggle {
123
123
  if (this.legacyFormController.hasLegacyControl()) {
124
124
  this.ionStyle.emit({
125
125
  'interactive-disabled': this.disabled,
126
+ // TODO(FW-2990): remove this
127
+ legacy: !!this.legacy,
126
128
  });
127
129
  }
128
130
  }
@@ -463,6 +463,16 @@ export const createAnimation = (animationId) => {
463
463
  }
464
464
  }
465
465
  });
466
+ /**
467
+ * Clean up any value coercion before
468
+ * the user callbacks fire otherwise
469
+ * they may get stale values. For example,
470
+ * if someone calls progressStart(0) the
471
+ * animation may still be reversed.
472
+ */
473
+ forceDurationValue = undefined;
474
+ forceDirectionValue = undefined;
475
+ forceDelayValue = undefined;
466
476
  onFinishCallbacks.forEach((onFinishCallback) => {
467
477
  return onFinishCallback.c(currentStep, ani);
468
478
  });
@@ -667,17 +677,8 @@ export const createAnimation = (animationId) => {
667
677
  update(false, false);
668
678
  }
669
679
  }
670
- if (playTo !== undefined) {
671
- onFinish(() => {
672
- forceDurationValue = undefined;
673
- forceDirectionValue = undefined;
674
- forceDelayValue = undefined;
675
- }, {
676
- oneTimeCallback: true,
677
- });
678
- if (!parentAnimation) {
679
- play();
680
- }
680
+ if (playTo !== undefined && !parentAnimation) {
681
+ play();
681
682
  }
682
683
  return ani;
683
684
  };
@@ -1,27 +1,5 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- /**
5
- * When accessing the document or window, it is important
6
- * to account for SSR applications where the
7
- * window is not available. Code that accesses
8
- * window when it is not available will crash.
9
- * Even checking if `window === undefined` will cause
10
- * apps to crash in SSR.
11
- *
12
- * Use win below to access an SSR-safe version
13
- * of the window.
14
- *
15
- * Example 1:
16
- * Before:
17
- * if (window.innerWidth > 768) { ... }
18
- *
19
- * After:
20
- * import { win } from 'path/to/this/file';
21
- * if (win?.innerWidth > 768) { ... }
22
- *
23
- * Note: Code inside of this if-block will
24
- * not run in an SSR environment.
25
- */
26
4
  export const win = typeof window !== 'undefined' ? window : undefined;
27
5
  export const doc = typeof document !== 'undefined' ? document : undefined;
@@ -0,0 +1,39 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ /**
5
+ * Uses the compareWith param to compare two values to determine if they are equal.
6
+ *
7
+ * @param currentValue The current value of the control.
8
+ * @param compareValue The value to compare against.
9
+ * @param compareWith The function or property name to use to compare values.
10
+ */
11
+ export const compareOptions = (currentValue, compareValue, compareWith) => {
12
+ if (typeof compareWith === 'function') {
13
+ return compareWith(currentValue, compareValue);
14
+ }
15
+ else if (typeof compareWith === 'string') {
16
+ return currentValue[compareWith] === compareValue[compareWith];
17
+ }
18
+ else {
19
+ return Array.isArray(compareValue) ? compareValue.includes(currentValue) : currentValue === compareValue;
20
+ }
21
+ };
22
+ /**
23
+ * Compares a value against the current value(s) to determine if it is selected.
24
+ *
25
+ * @param currentValue The current value of the control.
26
+ * @param compareValue The value to compare against.
27
+ * @param compareWith The function or property name to use to compare values.
28
+ */
29
+ export const isOptionSelected = (currentValue, compareValue, compareWith) => {
30
+ if (currentValue === undefined) {
31
+ return false;
32
+ }
33
+ if (Array.isArray(currentValue)) {
34
+ return currentValue.some((val) => compareOptions(val, compareValue, compareWith));
35
+ }
36
+ else {
37
+ return compareOptions(currentValue, compareValue, compareWith);
38
+ }
39
+ };
@@ -39,6 +39,10 @@ export const createLegacyFormController = (el) => {
39
39
  return { hasLegacyControl };
40
40
  };
41
41
  const hasLabelSlot = (controlEl) => {
42
+ const root = controlEl.shadowRoot;
43
+ if (root === null) {
44
+ return false;
45
+ }
42
46
  /**
43
47
  * Components that have a named label slot
44
48
  * also have other slots, so we need to query for
@@ -57,5 +61,5 @@ const hasLabelSlot = (controlEl) => {
57
61
  }
58
62
  return false;
59
63
  };
60
- const NAMED_LABEL_SLOT_COMPONENTS = ['ION-INPUT', 'ION-TEXTAREA', 'ION-SELECT', 'ION-RANGE'];
64
+ const NAMED_LABEL_SLOT_COMPONENTS = ['ION-RANGE'];
61
65
  const UNNAMED_LABEL_SLOT_COMPONENTS = ['ION-TOGGLE', 'ION-CHECKBOX', 'ION-RADIO'];
@@ -3,3 +3,4 @@
3
3
  */
4
4
  export * from './form-controller';
5
5
  export * from './notch-controller';
6
+ export * from './compare-with-utils';
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { doc } from "../browser/index";
4
5
  import { findClosestIonContent } from "../content";
5
6
  import { componentOnReady } from "../helpers";
6
7
  import { Keyboard } from "../native/keyboard";
@@ -11,7 +12,13 @@ const INPUT_BLURRING = true;
11
12
  const SCROLL_ASSIST = true;
12
13
  const HIDE_CARET = true;
13
14
  export const startInputShims = async (config, platform) => {
14
- const doc = document;
15
+ /**
16
+ * If doc is undefined then we are in an SSR environment
17
+ * where input shims do not apply.
18
+ */
19
+ if (doc === undefined) {
20
+ return;
21
+ }
15
22
  const isIOS = platform === 'ios';
16
23
  const isAndroid = platform === 'android';
17
24
  /**
@@ -90,11 +97,10 @@ export const startInputShims = async (config, platform) => {
90
97
  for (const input of inputs) {
91
98
  registerInput(input);
92
99
  }
93
- // TODO(FW-2832): types
94
- doc.addEventListener('ionInputDidLoad', ((ev) => {
100
+ doc.addEventListener('ionInputDidLoad', (ev) => {
95
101
  registerInput(ev.detail);
96
- }));
97
- doc.addEventListener('ionInputDidUnload', ((ev) => {
102
+ });
103
+ doc.addEventListener('ionInputDidUnload', (ev) => {
98
104
  unregisterInput(ev.detail);
99
- }));
105
+ });
100
106
  };
@@ -1,8 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { printIonWarning } from "../logging/index";
4
+ import { doc } from "../browser/index";
5
5
  import { MENU_BACK_BUTTON_PRIORITY } from "../hardware-back-button";
6
+ import { printIonWarning } from "../logging/index";
6
7
  import { componentOnReady } from "../helpers";
7
8
  import { menuOverlayAnimation } from "./animations/overlay";
8
9
  import { menuPushAnimation } from "./animations/push";
@@ -184,17 +185,14 @@ const createMenuController = () => {
184
185
  registerAnimation('reveal', menuRevealAnimation);
185
186
  registerAnimation('push', menuPushAnimation);
186
187
  registerAnimation('overlay', menuOverlayAnimation);
187
- if (typeof document !== 'undefined') {
188
- document.addEventListener('ionBackButton', (ev) => {
189
- // TODO(FW-2832): type
190
- const openMenu = _getOpenSync();
191
- if (openMenu) {
192
- ev.detail.register(MENU_BACK_BUTTON_PRIORITY, () => {
193
- return openMenu.close();
194
- });
195
- }
196
- });
197
- }
188
+ doc === null || doc === void 0 ? void 0 : doc.addEventListener('ionBackButton', (ev) => {
189
+ const openMenu = _getOpenSync();
190
+ if (openMenu) {
191
+ ev.detail.register(MENU_BACK_BUTTON_PRIORITY, () => {
192
+ return openMenu.close();
193
+ });
194
+ }
195
+ });
198
196
  return {
199
197
  registerAnimation,
200
198
  get,
package/dist/docs.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
- "timestamp": "2023-11-08T00:49:44",
2
+ "timestamp": "2023-11-10T16:14:04",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
- "version": "4.7.1",
5
+ "version": "4.7.0",
6
6
  "typescriptVersion": "5.2.2"
7
7
  },
8
8
  "components": [
@@ -19711,6 +19711,42 @@
19711
19711
  "optional": false,
19712
19712
  "required": false
19713
19713
  },
19714
+ {
19715
+ "name": "compareWith",
19716
+ "type": "((currentValue: any, compareValue: any) => boolean) | null | string | undefined",
19717
+ "complexType": {
19718
+ "original": "string | RadioGroupCompareFn | null",
19719
+ "resolved": "((currentValue: any, compareValue: any) => boolean) | null | string | undefined",
19720
+ "references": {
19721
+ "RadioGroupCompareFn": {
19722
+ "location": "import",
19723
+ "path": "./radio-group-interface",
19724
+ "id": "src/components/radio-group/radio-group-interface.ts::RadioGroupCompareFn"
19725
+ }
19726
+ }
19727
+ },
19728
+ "mutable": false,
19729
+ "attr": "compare-with",
19730
+ "reflectToAttr": false,
19731
+ "docs": "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.",
19732
+ "docsTags": [],
19733
+ "values": [
19734
+ {
19735
+ "type": "((currentValue: any, compareValue: any) => boolean)"
19736
+ },
19737
+ {
19738
+ "type": "null"
19739
+ },
19740
+ {
19741
+ "type": "string"
19742
+ },
19743
+ {
19744
+ "type": "undefined"
19745
+ }
19746
+ ],
19747
+ "optional": true,
19748
+ "required": false
19749
+ },
19714
19750
  {
19715
19751
  "name": "name",
19716
19752
  "type": "string",
@@ -23909,7 +23945,7 @@
23909
23945
  "mutable": false,
23910
23946
  "attr": "compare-with",
23911
23947
  "reflectToAttr": false,
23912
- "docs": "A property name or function used to compare object values",
23948
+ "docs": "This property allows developers to specify a custom function or property\nname for comparing objects when determining the selected option in the\nion-select. When not specified, the default behavior will use strict\nequality (===) for comparison.",
23913
23949
  "docsTags": [],
23914
23950
  "values": [
23915
23951
  {
@@ -29198,6 +29234,11 @@
29198
29234
  "docstring": "",
29199
29235
  "path": "src/components/popover/popover-interface.ts"
29200
29236
  },
29237
+ "src/components/radio-group/radio-group-interface.ts::RadioGroupCompareFn": {
29238
+ "declaration": "(currentValue: any, compareValue: any) => boolean",
29239
+ "docstring": "",
29240
+ "path": "src/components/radio-group/radio-group-interface.ts"
29241
+ },
29201
29242
  "src/components/radio-group/radio-group-interface.ts::RadioGroupChangeEventDetail": {
29202
29243
  "declaration": "export interface RadioGroupChangeEventDetail<T = any> {\n value: T;\n event?: Event;\n}",
29203
29244
  "docstring": "",
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as win } from './index-7a14ecec.js';
4
+ import { w as win } from './index-a5d50daf.js';
5
5
  import { r as raf } from './helpers-3379ba19.js';
6
6
 
7
7
  let animationPrefix;
@@ -586,6 +586,16 @@ const createAnimation = (animationId) => {
586
586
  }
587
587
  }
588
588
  });
589
+ /**
590
+ * Clean up any value coercion before
591
+ * the user callbacks fire otherwise
592
+ * they may get stale values. For example,
593
+ * if someone calls progressStart(0) the
594
+ * animation may still be reversed.
595
+ */
596
+ forceDurationValue = undefined;
597
+ forceDirectionValue = undefined;
598
+ forceDelayValue = undefined;
589
599
  onFinishCallbacks.forEach((onFinishCallback) => {
590
600
  return onFinishCallback.c(currentStep, ani);
591
601
  });
@@ -790,17 +800,8 @@ const createAnimation = (animationId) => {
790
800
  update(false, false);
791
801
  }
792
802
  }
793
- if (playTo !== undefined) {
794
- onFinish(() => {
795
- forceDurationValue = undefined;
796
- forceDirectionValue = undefined;
797
- forceDelayValue = undefined;
798
- }, {
799
- oneTimeCallback: true,
800
- });
801
- if (!parentAnimation) {
802
- play();
803
- }
803
+ if (playTo !== undefined && !parentAnimation) {
804
+ play();
804
805
  }
805
806
  return ani;
806
807
  };
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { w as writeTask } from './index-4392ebcb.js';
5
- import { h as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-1243b917.js';
5
+ import { h as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-1a66d69f.js';
6
6
  import { createGesture } from './index-ff313b19.js';
7
7
 
8
8
  const createButtonActiveGesture = (el, isButton) => {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as win } from './index-7a14ecec.js';
4
+ import { w as win } from './index-a5d50daf.js';
5
5
 
6
6
  const getCapacitor = () => {
7
7
  if (win !== undefined) {
@@ -0,0 +1,41 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ /**
5
+ * Uses the compareWith param to compare two values to determine if they are equal.
6
+ *
7
+ * @param currentValue The current value of the control.
8
+ * @param compareValue The value to compare against.
9
+ * @param compareWith The function or property name to use to compare values.
10
+ */
11
+ const compareOptions = (currentValue, compareValue, compareWith) => {
12
+ if (typeof compareWith === 'function') {
13
+ return compareWith(currentValue, compareValue);
14
+ }
15
+ else if (typeof compareWith === 'string') {
16
+ return currentValue[compareWith] === compareValue[compareWith];
17
+ }
18
+ else {
19
+ return Array.isArray(compareValue) ? compareValue.includes(currentValue) : currentValue === compareValue;
20
+ }
21
+ };
22
+ /**
23
+ * Compares a value against the current value(s) to determine if it is selected.
24
+ *
25
+ * @param currentValue The current value of the control.
26
+ * @param compareValue The value to compare against.
27
+ * @param compareWith The function or property name to use to compare values.
28
+ */
29
+ const isOptionSelected = (currentValue, compareValue, compareWith) => {
30
+ if (currentValue === undefined) {
31
+ return false;
32
+ }
33
+ if (Array.isArray(currentValue)) {
34
+ return currentValue.some((val) => compareOptions(val, compareValue, compareWith));
35
+ }
36
+ else {
37
+ return compareOptions(currentValue, compareValue, compareWith);
38
+ }
39
+ };
40
+
41
+ export { compareOptions as c, isOptionSelected as i };
@@ -40,6 +40,10 @@ const createLegacyFormController = (el) => {
40
40
  return { hasLegacyControl };
41
41
  };
42
42
  const hasLabelSlot = (controlEl) => {
43
+ const root = controlEl.shadowRoot;
44
+ if (root === null) {
45
+ return false;
46
+ }
43
47
  /**
44
48
  * Components that have a named label slot
45
49
  * also have other slots, so we need to query for
@@ -58,7 +62,7 @@ const hasLabelSlot = (controlEl) => {
58
62
  }
59
63
  return false;
60
64
  };
61
- const NAMED_LABEL_SLOT_COMPONENTS = ['ION-INPUT', 'ION-TEXTAREA', 'ION-SELECT', 'ION-RANGE'];
65
+ const NAMED_LABEL_SLOT_COMPONENTS = ['ION-RANGE'];
62
66
  const UNNAMED_LABEL_SLOT_COMPONENTS = ['ION-TOGGLE', 'ION-CHECKBOX', 'ION-RADIO'];
63
67
 
64
68
  export { createLegacyFormController as c };
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { g as getCapacitor } from './capacitor-b4979570.js';
4
+ import { g as getCapacitor } from './capacitor-f1f25364.js';
5
5
 
6
6
  var ImpactStyle;
7
7
  (function (ImpactStyle) {
@@ -10,8 +10,8 @@ const LIFECYCLE_WILL_LEAVE = 'ionViewWillLeave';
10
10
  const LIFECYCLE_DID_LEAVE = 'ionViewDidLeave';
11
11
  const LIFECYCLE_WILL_UNLOAD = 'ionViewWillUnload';
12
12
 
13
- const iosTransitionAnimation = () => import('./ios.transition-b53e19a3.js');
14
- const mdTransitionAnimation = () => import('./md.transition-276c1159.js');
13
+ const iosTransitionAnimation = () => import('./ios.transition-e20d71bc.js');
14
+ const mdTransitionAnimation = () => import('./md.transition-a8469407.js');
15
15
  // TODO(FW-2832): types
16
16
  const transition = (opts) => {
17
17
  return new Promise((resolve, reject) => {