@ionic/core 7.5.4-dev.11699023297.172bb30f → 7.5.4-dev.11699037031.16f5cbc8

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 (469) hide show
  1. package/components/animation.js +12 -11
  2. package/components/checkbox.js +2 -0
  3. package/components/index4.js +10 -12
  4. package/components/index5.js +0 -22
  5. package/components/index7.js +1 -1
  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/radio-group.js +2 -0
  18. package/components/radio.js +35 -2
  19. package/dist/cjs/{animation-1083855c.js → animation-d101aa7a.js} +13 -12
  20. package/dist/cjs/{app-globals-e7d3f834.js → app-globals-ef077808.js} +1 -1
  21. package/dist/cjs/{button-active-f48a98c0.js → button-active-69c3bee4.js} +2 -2
  22. package/dist/cjs/{capacitor-2ffba62a.js → capacitor-f68447d3.js} +1 -1
  23. package/dist/cjs/compare-with-utils-50c82573.js +37 -0
  24. package/dist/cjs/{haptic-678abc9f.js → haptic-a74c2767.js} +1 -1
  25. package/dist/cjs/{index-df87d46d.js → index-09471526.js} +1 -1
  26. package/dist/cjs/{index-b5b25afb.js → index-73186843.js} +1 -1
  27. package/dist/cjs/{index-04f92f05.js → index-9146d04a.js} +12 -14
  28. package/dist/cjs/{index-936b1c6e.js → index-adbcffee.js} +3 -3
  29. package/dist/cjs/index-c8d52405.js +10 -0
  30. package/dist/cjs/{index-9f379eaa.js → index-e9634bc9.js} +1 -1
  31. package/dist/cjs/index.cjs.js +10 -10
  32. package/dist/cjs/{input-shims-b0a75a01.js → input-shims-3e3f35b9.js} +15 -10
  33. package/dist/cjs/{input.utils-0fe3097c.js → input.utils-590f0f18.js} +1 -1
  34. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  35. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  36. package/dist/cjs/ion-alert.cjs.entry.js +8 -8
  37. package/dist/cjs/ion-app_8.cjs.entry.js +11 -11
  38. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  39. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  40. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  41. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  42. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  43. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  44. package/dist/cjs/ion-checkbox.cjs.entry.js +4 -2
  45. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  46. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  48. package/dist/cjs/ion-datetime_3.cjs.entry.js +10 -10
  49. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  50. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  51. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  52. package/dist/cjs/ion-input.cjs.entry.js +8 -6
  53. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  54. package/dist/cjs/ion-item_8.cjs.entry.js +20 -7
  55. package/dist/cjs/ion-loading.cjs.entry.js +5 -5
  56. package/dist/cjs/ion-menu_3.cjs.entry.js +8 -8
  57. package/dist/cjs/ion-modal.cjs.entry.js +9 -9
  58. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -3
  59. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +5 -5
  60. package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
  61. package/dist/cjs/ion-popover.cjs.entry.js +6 -6
  62. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  63. package/dist/cjs/ion-radio_2.cjs.entry.js +8 -3
  64. package/dist/cjs/ion-range.cjs.entry.js +4 -2
  65. package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -7
  66. package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -6
  67. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  68. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
  70. package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-select_3.cjs.entry.js +15 -34
  72. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  73. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -6
  75. package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
  76. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  77. package/dist/cjs/ion-textarea.cjs.entry.js +7 -5
  78. package/dist/cjs/ion-toast.cjs.entry.js +18 -23
  79. package/dist/cjs/ion-toggle.cjs.entry.js +8 -6
  80. package/dist/cjs/{ionic-global-a8da299a.js → ionic-global-4538d91c.js} +1 -1
  81. package/dist/cjs/ionic.cjs.js +5 -5
  82. package/dist/cjs/{ios.transition-f200285c.js → ios.transition-7972d9e3.js} +4 -4
  83. package/dist/cjs/{keyboard-fd7db491.js → keyboard-43df0428.js} +1 -1
  84. package/dist/cjs/{keyboard-38f2bb7b.js → keyboard-840107b3.js} +3 -3
  85. package/dist/cjs/{keyboard-controller-50beb83a.js → keyboard-controller-019f42df.js} +2 -2
  86. package/dist/cjs/loader.cjs.js +4 -4
  87. package/dist/cjs/{md.transition-29531994.js → md.transition-6e61a10f.js} +4 -4
  88. package/dist/cjs/{notch-controller-f4f6af5d.js → notch-controller-c22d1344.js} +1 -1
  89. package/dist/cjs/{overlays-43270ca7.js → overlays-d80a2cf2.js} +2 -2
  90. package/dist/cjs/{status-tap-4a84c3f6.js → status-tap-2e9f9c86.js} +1 -1
  91. package/dist/collection/collection-manifest.json +1 -1
  92. package/dist/collection/components/checkbox/checkbox.js +2 -0
  93. package/dist/collection/components/datetime/datetime.ios.css +1 -0
  94. package/dist/collection/components/datetime/datetime.md.css +1 -0
  95. package/dist/collection/components/input/input.js +2 -0
  96. package/dist/collection/components/item/item.ios.css +25 -3
  97. package/dist/collection/components/item/item.md.css +25 -3
  98. package/dist/collection/components/item/test/basic/item.e2e.js +1 -1
  99. package/dist/collection/components/item/test/disabled/item.e2e.js +0 -1
  100. package/dist/collection/components/label/label.ios.css +14 -3
  101. package/dist/collection/components/label/label.md.css +14 -3
  102. package/dist/collection/components/note/test/a11y/note.e2e.js +43 -0
  103. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -5
  104. package/dist/collection/components/radio/radio.js +5 -2
  105. package/dist/collection/components/radio-group/radio-group.js +24 -0
  106. package/dist/collection/components/radio-group/test/compare-with/radio-group.e2e.js +93 -0
  107. package/dist/collection/components/range/range.js +2 -0
  108. package/dist/collection/components/select/select.ios.css +5 -0
  109. package/dist/collection/components/select/select.js +4 -24
  110. package/dist/collection/components/select/select.md.css +5 -0
  111. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +1 -1
  112. package/dist/collection/components/skeleton-text/skeleton-text.js +39 -0
  113. package/dist/collection/components/textarea/textarea.js +2 -0
  114. package/dist/collection/components/toast/animations/md.enter.js +2 -2
  115. package/dist/collection/components/toast/animations/utils.js +9 -14
  116. package/dist/collection/components/toast/toast.ios.css +10 -10
  117. package/dist/collection/components/toast/toast.md.css +10 -0
  118. package/dist/collection/components/toggle/toggle.js +2 -0
  119. package/dist/collection/utils/animation/animation.js +12 -11
  120. package/dist/collection/utils/browser/index.js +0 -22
  121. package/dist/collection/utils/forms/compare-with-utils.js +32 -0
  122. package/dist/collection/utils/forms/index.js +1 -0
  123. package/dist/collection/utils/input-shims/input-shims.js +12 -6
  124. package/dist/collection/utils/menu-controller/index.js +10 -12
  125. package/dist/docs.json +44 -3
  126. package/dist/esm/{animation-8aa13916.js → animation-cf3dd234.js} +13 -12
  127. package/dist/esm/{app-globals-298479d6.js → app-globals-ba8b3a06.js} +1 -1
  128. package/dist/esm/{button-active-61e81700.js → button-active-109ba60d.js} +2 -2
  129. package/dist/esm/{capacitor-b4979570.js → capacitor-f1f25364.js} +1 -1
  130. package/dist/esm/compare-with-utils-363d00b3.js +34 -0
  131. package/dist/esm/{haptic-1243b917.js → haptic-1a66d69f.js} +1 -1
  132. package/dist/esm/{index-6226a5f4.js → index-4392ebcb.js} +1 -1
  133. package/dist/esm/{index-3a662ef8.js → index-50582f1c.js} +3 -3
  134. package/dist/esm/{index-fb1db216.js → index-6a48e009.js} +12 -14
  135. package/dist/esm/index-a5d50daf.js +7 -0
  136. package/dist/esm/{index-4344dbb2.js → index-c132c5f1.js} +1 -1
  137. package/dist/esm/{index-f0cc4e14.js → index-c9e82353.js} +1 -1
  138. package/dist/esm/index.js +10 -10
  139. package/dist/esm/{input-shims-d0c93e5d.js → input-shims-1d767845.js} +14 -9
  140. package/dist/esm/{input.utils-ec063df4.js → input.utils-d04a7212.js} +1 -1
  141. package/dist/esm/ion-accordion_2.entry.js +3 -3
  142. package/dist/esm/ion-action-sheet.entry.js +8 -8
  143. package/dist/esm/ion-alert.entry.js +8 -8
  144. package/dist/esm/ion-app_8.entry.js +11 -11
  145. package/dist/esm/ion-avatar_3.entry.js +2 -2
  146. package/dist/esm/ion-back-button.entry.js +3 -3
  147. package/dist/esm/ion-backdrop.entry.js +2 -2
  148. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  149. package/dist/esm/ion-button_2.entry.js +2 -2
  150. package/dist/esm/ion-card_5.entry.js +2 -2
  151. package/dist/esm/ion-checkbox.entry.js +4 -2
  152. package/dist/esm/ion-chip.entry.js +2 -2
  153. package/dist/esm/ion-col_3.entry.js +2 -2
  154. package/dist/esm/ion-datetime-button.entry.js +2 -2
  155. package/dist/esm/ion-datetime_3.entry.js +10 -10
  156. package/dist/esm/ion-fab_3.entry.js +3 -3
  157. package/dist/esm/ion-img.entry.js +2 -2
  158. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  159. package/dist/esm/ion-input.entry.js +8 -6
  160. package/dist/esm/ion-item-option_3.entry.js +2 -2
  161. package/dist/esm/ion-item_8.entry.js +20 -7
  162. package/dist/esm/ion-loading.entry.js +5 -5
  163. package/dist/esm/ion-menu_3.entry.js +8 -8
  164. package/dist/esm/ion-modal.entry.js +9 -9
  165. package/dist/esm/ion-nav_2.entry.js +3 -3
  166. package/dist/esm/ion-picker-column-internal.entry.js +5 -5
  167. package/dist/esm/ion-picker-internal.entry.js +1 -1
  168. package/dist/esm/ion-popover.entry.js +6 -6
  169. package/dist/esm/ion-progress-bar.entry.js +2 -2
  170. package/dist/esm/ion-radio_2.entry.js +8 -3
  171. package/dist/esm/ion-range.entry.js +4 -2
  172. package/dist/esm/ion-refresher_2.entry.js +7 -7
  173. package/dist/esm/ion-reorder_2.entry.js +6 -6
  174. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  175. package/dist/esm/ion-route_4.entry.js +2 -2
  176. package/dist/esm/ion-searchbar.entry.js +3 -3
  177. package/dist/esm/ion-segment_2.entry.js +2 -2
  178. package/dist/esm/ion-select_3.entry.js +11 -30
  179. package/dist/esm/ion-spinner.entry.js +2 -2
  180. package/dist/esm/ion-split-pane.entry.js +2 -2
  181. package/dist/esm/ion-tab-bar_2.entry.js +6 -6
  182. package/dist/esm/ion-tab_2.entry.js +1 -1
  183. package/dist/esm/ion-text.entry.js +2 -2
  184. package/dist/esm/ion-textarea.entry.js +7 -5
  185. package/dist/esm/ion-toast.entry.js +18 -23
  186. package/dist/esm/ion-toggle.entry.js +8 -6
  187. package/dist/esm/{ionic-global-f96e58a3.js → ionic-global-7efdecd0.js} +1 -1
  188. package/dist/esm/ionic.js +6 -6
  189. package/dist/esm/{ios.transition-8d26edec.js → ios.transition-e20d71bc.js} +4 -4
  190. package/dist/esm/{keyboard-b551279d.js → keyboard-9f771a04.js} +3 -3
  191. package/dist/esm/{keyboard-b063f012.js → keyboard-b6230bfb.js} +1 -1
  192. package/dist/esm/{keyboard-controller-0c2dce71.js → keyboard-controller-3f0faa10.js} +2 -2
  193. package/dist/esm/loader.js +5 -5
  194. package/dist/esm/{md.transition-00f3fafd.js → md.transition-a8469407.js} +4 -4
  195. package/dist/esm/{notch-controller-8c9c0e54.js → notch-controller-3f79197e.js} +1 -1
  196. package/dist/esm/{overlays-153881c5.js → overlays-a31c8878.js} +2 -2
  197. package/dist/esm/{status-tap-76a65f04.js → status-tap-7ca28a1c.js} +1 -1
  198. package/dist/esm-es5/{animation-8aa13916.js → animation-cf3dd234.js} +1 -1
  199. package/dist/esm-es5/app-globals-ba8b3a06.js +4 -0
  200. package/dist/esm-es5/{button-active-61e81700.js → button-active-109ba60d.js} +1 -1
  201. package/dist/esm-es5/{capacitor-b4979570.js → capacitor-f1f25364.js} +1 -1
  202. package/dist/esm-es5/compare-with-utils-363d00b3.js +4 -0
  203. package/dist/esm-es5/{haptic-1243b917.js → haptic-1a66d69f.js} +1 -1
  204. package/dist/esm-es5/{index-3a662ef8.js → index-50582f1c.js} +1 -1
  205. package/dist/esm-es5/index-6a48e009.js +4 -0
  206. package/dist/esm-es5/index-c9e82353.js +4 -0
  207. package/dist/esm-es5/index.js +1 -1
  208. package/dist/esm-es5/input-shims-1d767845.js +4 -0
  209. package/dist/esm-es5/input.utils-d04a7212.js +4 -0
  210. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  211. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  212. package/dist/esm-es5/ion-alert.entry.js +1 -1
  213. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  214. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  215. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  216. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  217. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  218. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  219. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  220. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  221. package/dist/esm-es5/ion-chip.entry.js +1 -1
  222. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  223. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  224. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  225. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  226. package/dist/esm-es5/ion-img.entry.js +1 -1
  227. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  228. package/dist/esm-es5/ion-input.entry.js +1 -1
  229. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  230. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  231. package/dist/esm-es5/ion-loading.entry.js +1 -1
  232. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  233. package/dist/esm-es5/ion-modal.entry.js +1 -1
  234. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  235. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  236. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  237. package/dist/esm-es5/ion-popover.entry.js +1 -1
  238. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  239. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  240. package/dist/esm-es5/ion-range.entry.js +1 -1
  241. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  242. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  243. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  244. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  245. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  246. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  247. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  248. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  249. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  250. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  251. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  252. package/dist/esm-es5/ion-text.entry.js +1 -1
  253. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  254. package/dist/esm-es5/ion-toast.entry.js +1 -1
  255. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  256. package/dist/esm-es5/{ionic-global-f96e58a3.js → ionic-global-7efdecd0.js} +1 -1
  257. package/dist/esm-es5/ionic.js +1 -1
  258. package/dist/esm-es5/{ios.transition-8d26edec.js → ios.transition-e20d71bc.js} +1 -1
  259. package/dist/esm-es5/{keyboard-b551279d.js → keyboard-9f771a04.js} +1 -1
  260. package/dist/esm-es5/{keyboard-b063f012.js → keyboard-b6230bfb.js} +1 -1
  261. package/dist/esm-es5/{keyboard-controller-0c2dce71.js → keyboard-controller-3f0faa10.js} +1 -1
  262. package/dist/esm-es5/loader.js +1 -1
  263. package/dist/esm-es5/md.transition-a8469407.js +4 -0
  264. package/dist/esm-es5/{notch-controller-8c9c0e54.js → notch-controller-3f79197e.js} +1 -1
  265. package/dist/esm-es5/{overlays-153881c5.js → overlays-a31c8878.js} +1 -1
  266. package/dist/esm-es5/{status-tap-76a65f04.js → status-tap-7ca28a1c.js} +1 -1
  267. package/dist/html.html-data.json +5 -1
  268. package/dist/ionic/index.esm.js +1 -1
  269. package/dist/ionic/ionic.esm.js +1 -1
  270. package/dist/ionic/ionic.js +1 -1
  271. package/dist/ionic/{p-5c58e994.system.entry.js → p-00a10b94.system.entry.js} +1 -1
  272. package/dist/ionic/{p-82ebb358.system.js → p-0148306b.system.js} +1 -1
  273. package/dist/ionic/{p-819aa862.system.js → p-02663394.system.js} +1 -1
  274. package/dist/ionic/{p-8f442691.entry.js → p-03a36678.entry.js} +1 -1
  275. package/dist/ionic/{p-c13d6387.system.entry.js → p-0becf7b5.system.entry.js} +1 -1
  276. package/dist/ionic/{p-84201f4c.system.js → p-0c40f7d3.system.js} +1 -1
  277. package/dist/ionic/{p-fe32d671.entry.js → p-0e8335b9.entry.js} +1 -1
  278. package/dist/ionic/p-11104d0d.entry.js +4 -0
  279. package/dist/ionic/{p-81c818e7.js → p-11cb4e19.js} +1 -1
  280. package/dist/ionic/{p-037a9c42.entry.js → p-12d62aa9.entry.js} +1 -1
  281. package/dist/ionic/p-139bd79d.system.entry.js +4 -0
  282. package/dist/ionic/{p-feed1576.system.js → p-13dd7d20.system.js} +1 -1
  283. package/dist/ionic/{p-8895d31c.system.entry.js → p-152998a6.system.entry.js} +1 -1
  284. package/dist/ionic/{p-1fa2e793.system.entry.js → p-15512a5e.system.entry.js} +1 -1
  285. package/dist/ionic/{p-276afddd.js → p-1667596c.js} +1 -1
  286. package/dist/ionic/{p-1b50c850.system.entry.js → p-1b5b6845.system.entry.js} +1 -1
  287. package/dist/ionic/{p-e265b755.system.entry.js → p-1e59dd04.system.entry.js} +1 -1
  288. package/dist/ionic/{p-3729c4e3.system.entry.js → p-20ff4d7f.system.entry.js} +1 -1
  289. package/dist/ionic/{p-6add3c7e.entry.js → p-25b8d65c.entry.js} +1 -1
  290. package/dist/ionic/p-265fec8a.entry.js +4 -0
  291. package/dist/ionic/{p-4541ec29.system.entry.js → p-27923249.system.entry.js} +1 -1
  292. package/dist/ionic/{p-960b96e5.entry.js → p-2d86b19a.entry.js} +1 -1
  293. package/dist/ionic/{p-552710bd.entry.js → p-2fb115dc.entry.js} +1 -1
  294. package/dist/ionic/{p-da78083d.js → p-307963db.js} +1 -1
  295. package/dist/ionic/p-314c4dee.js +4 -0
  296. package/dist/ionic/p-3554b264.js +4 -0
  297. package/dist/ionic/{p-fde5fd7d.entry.js → p-35787a6f.entry.js} +1 -1
  298. package/dist/ionic/{p-5f852328.system.entry.js → p-35e25602.system.entry.js} +1 -1
  299. package/dist/ionic/{p-bae78456.system.entry.js → p-3962542f.system.entry.js} +1 -1
  300. package/dist/ionic/{p-39a75970.system.entry.js → p-3a769110.system.entry.js} +1 -1
  301. package/dist/ionic/p-3afb9c3d.entry.js +4 -0
  302. package/dist/ionic/{p-fd797fb2.system.entry.js → p-3e1deb37.system.entry.js} +1 -1
  303. package/dist/ionic/{p-69ba35e5.js → p-3e8d7ed8.js} +1 -1
  304. package/dist/ionic/{p-54a2e58f.entry.js → p-3fc0b7ba.entry.js} +1 -1
  305. package/dist/ionic/{p-2d975093.system.entry.js → p-400a78f3.system.entry.js} +1 -1
  306. package/dist/ionic/{p-b72bf9bf.system.js → p-40dd5937.system.js} +1 -1
  307. package/dist/ionic/{p-24d1ade7.entry.js → p-4430713b.entry.js} +1 -1
  308. package/dist/ionic/{p-786950a4.entry.js → p-47826f19.entry.js} +1 -1
  309. package/dist/ionic/p-494e75ad.js +4 -0
  310. package/dist/ionic/{p-26a5154f.system.entry.js → p-4c50b357.system.entry.js} +1 -1
  311. package/dist/ionic/{p-c6ac3aac.system.js → p-4c75cb48.system.js} +1 -1
  312. package/dist/ionic/p-4e3c07a6.system.js +4 -0
  313. package/dist/ionic/p-4e4ee05e.js +4 -0
  314. package/dist/ionic/{p-ca824787.system.entry.js → p-50375f3b.system.entry.js} +1 -1
  315. package/dist/ionic/{p-89a0384e.entry.js → p-510bc27b.entry.js} +1 -1
  316. package/dist/ionic/{p-4687559d.system.entry.js → p-51b94085.system.entry.js} +1 -1
  317. package/dist/ionic/{p-c8139d7d.entry.js → p-53b1930e.entry.js} +1 -1
  318. package/dist/ionic/p-561cc050.system.js +4 -0
  319. package/dist/ionic/p-57b14769.js +4 -0
  320. package/dist/ionic/{p-8cf94fc1.js → p-5885e9af.js} +1 -1
  321. package/dist/ionic/{p-c98b2418.system.entry.js → p-59107f99.system.entry.js} +1 -1
  322. package/dist/ionic/{p-de03cdd4.entry.js → p-5a7df436.entry.js} +1 -1
  323. package/dist/ionic/{p-0739476e.system.js → p-5b978c94.system.js} +1 -1
  324. package/dist/ionic/{p-3373ebb4.system.entry.js → p-5c7107b4.system.entry.js} +1 -1
  325. package/dist/ionic/{p-beeb9776.js → p-60f25049.js} +1 -1
  326. package/dist/ionic/p-647fcea8.entry.js +4 -0
  327. package/dist/ionic/{p-7af580d7.entry.js → p-6825ff8d.entry.js} +1 -1
  328. package/dist/ionic/{p-c371dde4.system.entry.js → p-696c63fb.system.entry.js} +1 -1
  329. package/dist/ionic/{p-b923f3d7.js → p-6a309574.js} +1 -1
  330. package/dist/ionic/{p-536884b0.system.entry.js → p-6abde4f1.system.entry.js} +1 -1
  331. package/dist/ionic/p-6d3ba3ba.system.entry.js +4 -0
  332. package/dist/ionic/p-6dc21cd1.system.entry.js +4 -0
  333. package/dist/ionic/{p-d145f9e8.system.entry.js → p-70bf6086.system.entry.js} +1 -1
  334. package/dist/ionic/p-70dcf429.js +4 -0
  335. package/dist/ionic/p-710cea83.system.js +4 -0
  336. package/dist/ionic/{p-f47fd2a4.system.entry.js → p-71e70a57.system.entry.js} +1 -1
  337. package/dist/ionic/p-73df8d76.system.js +4 -0
  338. package/dist/ionic/{p-7f735b2b.entry.js → p-75338011.entry.js} +1 -1
  339. package/dist/ionic/p-7ac30f6a.entry.js +4 -0
  340. package/dist/ionic/p-7acd17bc.entry.js +4 -0
  341. package/dist/ionic/p-7d68e4ea.entry.js +4 -0
  342. package/dist/ionic/{p-3bc5eba9.system.entry.js → p-7dafac2c.system.entry.js} +1 -1
  343. package/dist/ionic/{p-3632220b.system.js → p-7def197f.system.js} +1 -1
  344. package/dist/ionic/p-8140a084.entry.js +4 -0
  345. package/dist/ionic/{p-dbba25f4.entry.js → p-89703003.entry.js} +1 -1
  346. package/dist/ionic/{p-81da7f67.system.entry.js → p-8a9760f7.system.entry.js} +1 -1
  347. package/dist/ionic/{p-71442f7d.entry.js → p-8be2b964.entry.js} +1 -1
  348. package/dist/ionic/p-8e7ff561.entry.js +4 -0
  349. package/dist/ionic/{p-d8902d90.system.entry.js → p-90020ef0.system.entry.js} +1 -1
  350. package/dist/ionic/{p-b4b4bb29.system.js → p-9292fd42.system.js} +1 -1
  351. package/dist/ionic/p-92ac915c.system.js +4 -0
  352. package/dist/ionic/{p-721f76e8.system.entry.js → p-9471d511.system.entry.js} +1 -1
  353. package/dist/ionic/{p-87d0853a.system.entry.js → p-957f3028.system.entry.js} +1 -1
  354. package/dist/ionic/{p-41477ad9.system.js → p-958f1c70.system.js} +1 -1
  355. package/dist/ionic/{p-c0f58952.system.js → p-98c70e3c.system.js} +1 -1
  356. package/dist/ionic/{p-e2bf71db.entry.js → p-9939c98e.entry.js} +1 -1
  357. package/dist/ionic/{p-ec402706.entry.js → p-999a7271.entry.js} +1 -1
  358. package/dist/ionic/{p-71201419.system.entry.js → p-9b34caa0.system.entry.js} +1 -1
  359. package/dist/ionic/{p-536ea109.system.entry.js → p-a03566c4.system.entry.js} +2 -2
  360. package/dist/ionic/{p-419eb426.js → p-a135e3ba.js} +1 -1
  361. package/dist/ionic/{p-aa45eab2.system.entry.js → p-a3434028.system.entry.js} +1 -1
  362. package/dist/ionic/{p-9d0b9923.system.entry.js → p-a6880f79.system.entry.js} +1 -1
  363. package/dist/ionic/p-a6b819ca.entry.js +4 -0
  364. package/dist/ionic/{p-ef3bd315.system.js → p-abaa9b48.system.js} +1 -1
  365. package/dist/ionic/{p-ab4cff27.system.js → p-aec8a70a.system.js} +1 -1
  366. package/dist/ionic/{p-383617af.entry.js → p-b3d50a72.entry.js} +1 -1
  367. package/dist/ionic/{p-9395c1b8.entry.js → p-b86c6c05.entry.js} +1 -1
  368. package/dist/ionic/{p-99703352.system.entry.js → p-bc48e521.system.entry.js} +1 -1
  369. package/dist/ionic/{p-2efba848.entry.js → p-bc6e32d2.entry.js} +1 -1
  370. package/dist/ionic/{p-cbaf41c2.system.entry.js → p-bedc16f0.system.entry.js} +1 -1
  371. package/dist/ionic/{p-6ef73ad8.entry.js → p-bf3396e1.entry.js} +1 -1
  372. package/dist/ionic/{p-bb5ddd9b.entry.js → p-c09fa14d.entry.js} +1 -1
  373. package/dist/ionic/p-c2db1374.system.js +4 -0
  374. package/dist/ionic/{p-e147a36c.entry.js → p-c2e199ac.entry.js} +1 -1
  375. package/dist/ionic/{p-1d8333db.entry.js → p-c32a6c04.entry.js} +1 -1
  376. package/dist/ionic/p-c3547c7a.system.js +4 -0
  377. package/dist/ionic/{p-9bb47c8b.entry.js → p-c4381a06.entry.js} +1 -1
  378. package/dist/ionic/{p-37421c6b.system.entry.js → p-c7138053.system.entry.js} +1 -1
  379. package/dist/ionic/{p-e005611b.entry.js → p-ce20c101.entry.js} +1 -1
  380. package/dist/ionic/{p-187c1f3d.entry.js → p-d2de097b.entry.js} +1 -1
  381. package/dist/ionic/{p-9ca56fec.entry.js → p-d3278cb8.entry.js} +1 -1
  382. package/dist/ionic/p-d54a8393.system.entry.js +4 -0
  383. package/dist/ionic/{p-795a3808.entry.js → p-d73eb00e.entry.js} +1 -1
  384. package/dist/ionic/{p-827bcd74.js → p-df18d20d.js} +1 -1
  385. package/dist/ionic/{p-3cd0d943.system.entry.js → p-e4d66e2d.system.entry.js} +1 -1
  386. package/dist/ionic/{p-1ee18e20.entry.js → p-e53f2605.entry.js} +1 -1
  387. package/dist/ionic/{p-3bad5c1a.js → p-e5fd9f10.js} +1 -1
  388. package/dist/ionic/{p-7d980409.system.entry.js → p-e66f7d10.system.entry.js} +1 -1
  389. package/dist/ionic/{p-ccdcb022.system.js → p-e7d20dfb.system.js} +1 -1
  390. package/dist/ionic/{p-7b3f59df.system.entry.js → p-e91c7eb4.system.entry.js} +1 -1
  391. package/dist/ionic/p-e9fe3c8b.system.entry.js +4 -0
  392. package/dist/ionic/p-ea78392c.js +4 -0
  393. package/dist/ionic/{p-6283f89b.entry.js → p-ebdaf11b.entry.js} +1 -1
  394. package/dist/ionic/{p-676b5c18.system.entry.js → p-ed8a02a2.system.entry.js} +1 -1
  395. package/dist/ionic/{p-bf556399.js → p-edd568c5.js} +1 -1
  396. package/dist/ionic/{p-42761cc1.system.entry.js → p-eec1aa12.system.entry.js} +1 -1
  397. package/dist/ionic/p-f4ccdc77.js +4 -0
  398. package/dist/ionic/{p-b8406f0a.entry.js → p-f6d089a7.entry.js} +1 -1
  399. package/dist/ionic/p-f7769c83.js +4 -0
  400. package/dist/ionic/p-f7bc6157.system.entry.js +4 -0
  401. package/dist/ionic/{p-574ca59a.system.entry.js → p-f8febce9.system.entry.js} +1 -1
  402. package/dist/ionic/{p-bba2ce59.system.js → p-f9a641fa.system.js} +1 -1
  403. package/dist/ionic/p-fa67d712.entry.js +4 -0
  404. package/dist/ionic/p-fdcd4618.entry.js +4 -0
  405. package/dist/types/components/radio-group/radio-group-interface.d.ts +1 -0
  406. package/dist/types/components/radio-group/radio-group.d.ts +8 -1
  407. package/dist/types/components/router/router.d.ts +2 -1
  408. package/dist/types/components/select/select.d.ts +4 -1
  409. package/dist/types/components/skeleton-text/skeleton-text.d.ts +9 -1
  410. package/dist/types/components/toast/animations/utils.d.ts +6 -4
  411. package/dist/types/components.d.ts +27 -4
  412. package/dist/types/interface.d.ts +1 -5
  413. package/dist/types/utils/animation/animation-interface.d.ts +4 -4
  414. package/dist/types/utils/browser/index.d.ts +11 -2
  415. package/dist/types/utils/forms/compare-with-utils.d.ts +11 -0
  416. package/dist/types/utils/forms/index.d.ts +1 -0
  417. package/dist/types/utils/hardware-back-button.d.ts +4 -0
  418. package/hydrate/index.js +119 -110
  419. package/package.json +3 -3
  420. package/dist/cjs/index-306a7476.js +0 -32
  421. package/dist/collection/components/item/test/text/item.e2e.js +0 -14
  422. package/dist/esm/index-7a14ecec.js +0 -29
  423. package/dist/esm-es5/app-globals-298479d6.js +0 -4
  424. package/dist/esm-es5/index-f0cc4e14.js +0 -4
  425. package/dist/esm-es5/index-fb1db216.js +0 -4
  426. package/dist/esm-es5/input-shims-d0c93e5d.js +0 -4
  427. package/dist/esm-es5/input.utils-ec063df4.js +0 -4
  428. package/dist/esm-es5/md.transition-00f3fafd.js +0 -4
  429. package/dist/ionic/p-12ee0ff1.entry.js +0 -4
  430. package/dist/ionic/p-1c79e0e9.entry.js +0 -4
  431. package/dist/ionic/p-1ee73abd.entry.js +0 -4
  432. package/dist/ionic/p-2575d01b.system.entry.js +0 -4
  433. package/dist/ionic/p-2c0a20f6.system.js +0 -4
  434. package/dist/ionic/p-2e8e0045.js +0 -4
  435. package/dist/ionic/p-3106351f.entry.js +0 -4
  436. package/dist/ionic/p-329e086c.system.js +0 -4
  437. package/dist/ionic/p-3602001b.system.js +0 -4
  438. package/dist/ionic/p-3aebd535.js +0 -4
  439. package/dist/ionic/p-400e6669.system.entry.js +0 -4
  440. package/dist/ionic/p-4436b8db.entry.js +0 -4
  441. package/dist/ionic/p-47a0a2d7.js +0 -4
  442. package/dist/ionic/p-5f473d39.system.entry.js +0 -4
  443. package/dist/ionic/p-67eecef4.system.js +0 -4
  444. package/dist/ionic/p-6e938423.system.entry.js +0 -4
  445. package/dist/ionic/p-70d86e30.system.entry.js +0 -4
  446. package/dist/ionic/p-8b5b4bcd.entry.js +0 -4
  447. package/dist/ionic/p-8efea65b.js +0 -4
  448. package/dist/ionic/p-9730a670.entry.js +0 -4
  449. package/dist/ionic/p-97c65aa5.js +0 -4
  450. package/dist/ionic/p-9978d7c7.system.entry.js +0 -4
  451. package/dist/ionic/p-9a266f94.js +0 -4
  452. package/dist/ionic/p-9ab6f3e6.system.js +0 -4
  453. package/dist/ionic/p-9ee6a2b8.entry.js +0 -4
  454. package/dist/ionic/p-a2364b7c.entry.js +0 -4
  455. package/dist/ionic/p-c63c564a.entry.js +0 -4
  456. package/dist/ionic/p-c6cc8a3e.entry.js +0 -4
  457. package/dist/ionic/p-cb8c2339.entry.js +0 -4
  458. package/dist/ionic/p-cc196b34.js +0 -4
  459. package/dist/ionic/p-d1de1188.js +0 -4
  460. package/dist/ionic/p-ff5a10f9.system.js +0 -4
  461. /package/dist/esm-es5/{index-6226a5f4.js → index-4392ebcb.js} +0 -0
  462. /package/dist/esm-es5/{index-7a14ecec.js → index-a5d50daf.js} +0 -0
  463. /package/dist/esm-es5/{index-4344dbb2.js → index-c132c5f1.js} +0 -0
  464. /package/dist/ionic/{p-0e94957a.system.js → p-792919fd.system.js} +0 -0
  465. /package/dist/ionic/{p-b347cfd1.js → p-7b30edcc.js} +0 -0
  466. /package/dist/ionic/{p-9234a852.system.js → p-8050b9b9.system.js} +0 -0
  467. /package/dist/ionic/{p-d8aac5aa.system.js → p-dab42c1b.system.js} +0 -0
  468. /package/dist/ionic/{p-fbd26564.js → p-ea96fa73.js} +0 -0
  469. /package/dist/ionic/{p-86fa8554.js → p-f5e886cd.js} +0 -0
@@ -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,32 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ export const compareOptions = (currentValue, compareValue, compareWith) => {
5
+ if (typeof compareWith === 'function') {
6
+ return compareWith(currentValue, compareValue);
7
+ }
8
+ else if (typeof compareWith === 'string') {
9
+ return currentValue[compareWith] === compareValue[compareWith];
10
+ }
11
+ else {
12
+ return Array.isArray(compareValue) ? compareValue.includes(currentValue) : currentValue === compareValue;
13
+ }
14
+ };
15
+ /**
16
+ * Compares a value against the current value to determine if it is selected.
17
+ *
18
+ * @param currentValue The current value of the control.
19
+ * @param compareValue The value to compare against.
20
+ * @param compareWith The function to use to compare values.
21
+ */
22
+ export const isOptionSelected = (currentValue, compareValue, compareWith) => {
23
+ if (currentValue === undefined) {
24
+ return false;
25
+ }
26
+ if (Array.isArray(currentValue)) {
27
+ return currentValue.some((val) => compareOptions(val, compareValue, compareWith));
28
+ }
29
+ else {
30
+ return compareOptions(currentValue, compareValue, compareWith);
31
+ }
32
+ };
@@ -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-03T14:56:43",
2
+ "timestamp": "2023-11-03T18:45:37",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
- "version": "4.7.0-dev.1699016641.733d6c5",
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 object\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 object\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
  };
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { i as initialize } from './ionic-global-f96e58a3.js';
4
+ import { i as initialize } from './ionic-global-7efdecd0.js';
5
5
 
6
6
  const globalScripts = initialize;
7
7
 
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as writeTask } from './index-6226a5f4.js';
5
- import { h as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-1243b917.js';
4
+ import { w as writeTask } from './index-4392ebcb.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,34 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ const compareOptions = (currentValue, compareValue, compareWith) => {
5
+ if (typeof compareWith === 'function') {
6
+ return compareWith(currentValue, compareValue);
7
+ }
8
+ else if (typeof compareWith === 'string') {
9
+ return currentValue[compareWith] === compareValue[compareWith];
10
+ }
11
+ else {
12
+ return Array.isArray(compareValue) ? compareValue.includes(currentValue) : currentValue === compareValue;
13
+ }
14
+ };
15
+ /**
16
+ * Compares a value against the current value to determine if it is selected.
17
+ *
18
+ * @param currentValue The current value of the control.
19
+ * @param compareValue The value to compare against.
20
+ * @param compareWith The function to use to compare values.
21
+ */
22
+ const isOptionSelected = (currentValue, compareValue, compareWith) => {
23
+ if (currentValue === undefined) {
24
+ return false;
25
+ }
26
+ if (Array.isArray(currentValue)) {
27
+ return currentValue.some((val) => compareOptions(val, compareValue, compareWith));
28
+ }
29
+ else {
30
+ return compareOptions(currentValue, compareValue, compareWith);
31
+ }
32
+ };
33
+
34
+ export { compareOptions as c, isOptionSelected as i };
@@ -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) {
@@ -2695,7 +2695,7 @@ const flush = () => {
2695
2695
  }
2696
2696
  }
2697
2697
  };
2698
- const nextTick = (cb) => promiseResolve().then(cb);
2698
+ const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
2699
2699
  const readTask = /*@__PURE__*/ queueTask(queueDomReads, false);
2700
2700
  const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
2701
2701
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as writeTask, B as Build } from './index-6226a5f4.js';
4
+ import { w as writeTask, B as Build } from './index-4392ebcb.js';
5
5
  import { r as raf } from './helpers-3379ba19.js';
6
6
 
7
7
  const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
@@ -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-8d26edec.js');
14
- const mdTransitionAnimation = () => import('./md.transition-00f3fafd.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) => {
@@ -1,11 +1,12 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { p as printIonWarning } from './index-595d62c9.js';
4
+ import { d as doc } from './index-a5d50daf.js';
5
5
  import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-39299f84.js';
6
+ import { p as printIonWarning } from './index-595d62c9.js';
6
7
  import { c as componentOnReady } from './helpers-3379ba19.js';
7
- import { b as getIonMode } from './ionic-global-f96e58a3.js';
8
- import { c as createAnimation } from './animation-8aa13916.js';
8
+ import { b as getIonMode } from './ionic-global-7efdecd0.js';
9
+ import { c as createAnimation } from './animation-cf3dd234.js';
9
10
 
10
11
  /**
11
12
  * baseAnimation
@@ -272,17 +273,14 @@ const createMenuController = () => {
272
273
  registerAnimation('reveal', menuRevealAnimation);
273
274
  registerAnimation('push', menuPushAnimation);
274
275
  registerAnimation('overlay', menuOverlayAnimation);
275
- if (typeof document !== 'undefined') {
276
- document.addEventListener('ionBackButton', (ev) => {
277
- // TODO(FW-2832): type
278
- const openMenu = _getOpenSync();
279
- if (openMenu) {
280
- ev.detail.register(MENU_BACK_BUTTON_PRIORITY, () => {
281
- return openMenu.close();
282
- });
283
- }
284
- });
285
- }
276
+ doc === null || doc === void 0 ? void 0 : doc.addEventListener('ionBackButton', (ev) => {
277
+ const openMenu = _getOpenSync();
278
+ if (openMenu) {
279
+ ev.detail.register(MENU_BACK_BUTTON_PRIORITY, () => {
280
+ return openMenu.close();
281
+ });
282
+ }
283
+ });
286
284
  return {
287
285
  registerAnimation,
288
286
  get,
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ const win = typeof window !== 'undefined' ? window : undefined;
5
+ const doc = typeof document !== 'undefined' ? document : undefined;
6
+
7
+ export { doc as d, win as w };
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- /* Ionicons v7.2.2-dev.11699022363.15a70775, ES Modules */
4
+ /* Ionicons v7.2.1, ES Modules */
5
5
  const arrowBackSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path stroke-linecap='square' stroke-miterlimit='10' stroke-width='48' d='M244 400L100 256l144-144M120 256h292' class='ionicon-fill-none'/></svg>";
6
6
  const arrowDown = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M112 268l144 144 144-144M256 392V100' class='ionicon-fill-none'/></svg>";
7
7
  const caretBackSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path d='M368 64L144 256l224 192V64z'/></svg>";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { d as doc } from './index-7a14ecec.js';
4
+ import { d as doc } from './index-a5d50daf.js';
5
5
  import { u as now, v as pointerCoord } from './helpers-3379ba19.js';
6
6
 
7
7
  const startTapClick = (config) => {
package/dist/esm/index.js CHANGED
@@ -1,23 +1,23 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- export { c as createAnimation } from './animation-8aa13916.js';
5
- export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-3a662ef8.js';
6
- export { iosTransitionAnimation } from './ios.transition-8d26edec.js';
7
- export { mdTransitionAnimation } from './md.transition-00f3fafd.js';
4
+ export { c as createAnimation } from './animation-cf3dd234.js';
5
+ export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-50582f1c.js';
6
+ export { iosTransitionAnimation } from './ios.transition-e20d71bc.js';
7
+ export { mdTransitionAnimation } from './md.transition-a8469407.js';
8
8
  export { g as getTimeGivenProgression } from './cubic-bezier-66542bc5.js';
9
9
  export { createGesture } from './index-ff313b19.js';
10
- export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-f96e58a3.js';
10
+ export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-7efdecd0.js';
11
11
  export { c as componentOnReady } from './helpers-3379ba19.js';
12
12
  export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-96c9ace3.js';
13
13
  export { o as openURL } from './theme-17531cdf.js';
14
- export { m as menuController } from './index-fb1db216.js';
15
- export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-153881c5.js';
16
- import './index-7a14ecec.js';
17
- import './index-6226a5f4.js';
14
+ export { m as menuController } from './index-6a48e009.js';
15
+ export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-a31c8878.js';
16
+ import './index-a5d50daf.js';
17
+ import './index-4392ebcb.js';
18
18
  import './gesture-controller-0fa396c4.js';
19
- import './index-595d62c9.js';
20
19
  import './hardware-back-button-39299f84.js';
20
+ import './index-595d62c9.js';
21
21
  import './framework-delegate-aa433dea.js';
22
22
 
23
23
  const IonicSlides = (opts) => {