@ionic/core 7.4.4-dev.11700515976.1ccd503d → 7.4.4-dev.11700516449.1d005735

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 (403) hide show
  1. package/components/alert.js +0 -8
  2. package/components/checkbox.js +3 -0
  3. package/components/data.js +22 -96
  4. package/components/haptic.js +0 -1
  5. package/components/icon.js +5 -9
  6. package/components/index.js +0 -1
  7. package/components/index4.js +19 -26
  8. package/components/index7.js +1 -1
  9. package/components/ion-datetime-button.js +4 -4
  10. package/components/ion-datetime.js +3 -3
  11. package/components/ion-menu.js +12 -0
  12. package/components/ion-nav.js +0 -1
  13. package/components/ion-router.js +0 -3
  14. package/components/ion-select.js +1 -1
  15. package/components/ion-toast.js +13 -157
  16. package/components/ion-toggle.js +3 -0
  17. package/components/ios.transition.js +0 -1
  18. package/components/overlays.js +0 -1
  19. package/components/radio-group.js +1 -1
  20. package/components/radio.js +4 -1
  21. package/dist/cjs/{app-globals-84b6a756.js → app-globals-fe1ad535.js} +1 -1
  22. package/dist/cjs/{button-active-f2147e85.js → button-active-0932cee9.js} +2 -2
  23. package/dist/cjs/{data-c8d21093.js → data-db832785.js} +22 -96
  24. package/dist/cjs/{haptic-678abc9f.js → haptic-c5f6b4d5.js} +0 -1
  25. package/dist/cjs/{index-14a4821e.js → index-305a23dc.js} +95 -51
  26. package/dist/cjs/{index-33d2809c.js → index-d3568232.js} +3 -3
  27. package/dist/cjs/{index-d8f84c5a.js → index-d8d1fc0b.js} +1 -1
  28. package/dist/cjs/{index-2e612e35.js → index-f94cbab1.js} +20 -27
  29. package/dist/cjs/index.cjs.js +8 -10
  30. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  31. package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -5
  32. package/dist/cjs/ion-alert.cjs.entry.js +5 -13
  33. package/dist/cjs/ion-app_8.cjs.entry.js +4 -4
  34. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  35. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  36. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  37. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  38. package/dist/cjs/ion-button_2.cjs.entry.js +7 -11
  39. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  40. package/dist/cjs/ion-checkbox.cjs.entry.js +5 -2
  41. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  42. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  43. package/dist/cjs/ion-datetime-button.cjs.entry.js +6 -6
  44. package/dist/cjs/ion-datetime_3.cjs.entry.js +8 -8
  45. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  46. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  48. package/dist/cjs/ion-input.cjs.entry.js +3 -3
  49. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  50. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  51. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  52. package/dist/cjs/ion-menu_3.cjs.entry.js +19 -8
  53. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  54. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -4
  55. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +3 -3
  56. package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
  57. package/dist/cjs/ion-popover.cjs.entry.js +4 -4
  58. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  59. package/dist/cjs/ion-radio_2.cjs.entry.js +7 -4
  60. package/dist/cjs/ion-range.cjs.entry.js +2 -2
  61. package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
  62. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  63. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-route_4.cjs.entry.js +2 -5
  65. package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
  66. package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
  67. package/dist/cjs/ion-select_3.cjs.entry.js +5 -5
  68. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
  72. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  73. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-toast.cjs.entry.js +33 -175
  75. package/dist/cjs/ion-toggle.cjs.entry.js +7 -4
  76. package/dist/cjs/{ionic-global-a71608df.js → ionic-global-fb752503.js} +1 -1
  77. package/dist/cjs/ionic.cjs.js +5 -5
  78. package/dist/cjs/{ios.transition-8ddf91e6.js → ios.transition-7d688757.js} +2 -3
  79. package/dist/cjs/loader.cjs.js +4 -4
  80. package/dist/cjs/{md.transition-44ff8566.js → md.transition-d77d3c2e.js} +2 -2
  81. package/dist/cjs/{overlays-9cab437c.js → overlays-7e1a08fa.js} +1 -2
  82. package/dist/cjs/{status-tap-8c22e017.js → status-tap-778e8054.js} +1 -1
  83. package/dist/collection/collection-manifest.json +1 -1
  84. package/dist/collection/components/alert/alert.js +0 -8
  85. package/dist/collection/components/alert/test/a11y/alert.e2e.js +0 -11
  86. package/dist/collection/components/checkbox/checkbox.js +3 -0
  87. package/dist/collection/components/datetime/datetime.js +6 -12
  88. package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +0 -14
  89. package/dist/collection/components/datetime/utils/data.js +7 -33
  90. package/dist/collection/components/datetime/utils/format.js +10 -27
  91. package/dist/collection/components/datetime/utils/helpers.js +5 -37
  92. package/dist/collection/components/datetime-button/datetime-button.js +4 -4
  93. package/dist/collection/components/menu/menu.js +12 -0
  94. package/dist/collection/components/nav/nav.js +0 -1
  95. package/dist/collection/components/radio/radio.js +4 -1
  96. package/dist/collection/components/radio-group/radio-group.js +1 -1
  97. package/dist/collection/components/router/router.js +0 -2
  98. package/dist/collection/components/router/utils/path.js +0 -1
  99. package/dist/collection/components/select/select.js +1 -1
  100. package/dist/collection/components/toast/animations/ios.enter.js +3 -2
  101. package/dist/collection/components/toast/animations/ios.leave.js +3 -2
  102. package/dist/collection/components/toast/animations/md.enter.js +3 -2
  103. package/dist/collection/components/toast/toast.js +9 -98
  104. package/dist/collection/components/toggle/toggle.js +3 -0
  105. package/dist/collection/index.js +0 -1
  106. package/dist/collection/utils/menu-controller/index.js +19 -26
  107. package/dist/collection/utils/native/haptic.js +0 -1
  108. package/dist/collection/utils/overlays.js +0 -1
  109. package/dist/collection/utils/transition/ios.transition.js +0 -1
  110. package/dist/docs.json +11 -74
  111. package/dist/esm/{app-globals-df292a32.js → app-globals-ec816a70.js} +1 -1
  112. package/dist/esm/{button-active-3dd473a1.js → button-active-5136c12d.js} +2 -2
  113. package/dist/esm/{data-44d9e816.js → data-009dbf15.js} +22 -96
  114. package/dist/esm/{haptic-1243b917.js → haptic-6447af60.js} +0 -1
  115. package/dist/esm/{index-6e10cd02.js → index-641aeeed.js} +3 -3
  116. package/dist/esm/{index-cb894020.js → index-b49b173c.js} +95 -51
  117. package/dist/esm/{index-c3e624b7.js → index-d78b533e.js} +20 -27
  118. package/dist/esm/{index-504b03f0.js → index-ecfc2c9f.js} +1 -1
  119. package/dist/esm/index.js +8 -9
  120. package/dist/esm/ion-accordion_2.entry.js +3 -3
  121. package/dist/esm/ion-action-sheet.entry.js +5 -5
  122. package/dist/esm/ion-alert.entry.js +5 -13
  123. package/dist/esm/ion-app_8.entry.js +4 -4
  124. package/dist/esm/ion-avatar_3.entry.js +2 -2
  125. package/dist/esm/ion-back-button.entry.js +3 -3
  126. package/dist/esm/ion-backdrop.entry.js +2 -2
  127. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  128. package/dist/esm/ion-button_2.entry.js +7 -11
  129. package/dist/esm/ion-card_5.entry.js +2 -2
  130. package/dist/esm/ion-checkbox.entry.js +5 -2
  131. package/dist/esm/ion-chip.entry.js +2 -2
  132. package/dist/esm/ion-col_3.entry.js +2 -2
  133. package/dist/esm/ion-datetime-button.entry.js +6 -6
  134. package/dist/esm/ion-datetime_3.entry.js +8 -8
  135. package/dist/esm/ion-fab_3.entry.js +3 -3
  136. package/dist/esm/ion-img.entry.js +2 -2
  137. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  138. package/dist/esm/ion-input.entry.js +3 -3
  139. package/dist/esm/ion-item-option_3.entry.js +2 -2
  140. package/dist/esm/ion-item_8.entry.js +3 -3
  141. package/dist/esm/ion-loading.entry.js +3 -3
  142. package/dist/esm/ion-menu_3.entry.js +18 -7
  143. package/dist/esm/ion-modal.entry.js +4 -4
  144. package/dist/esm/ion-nav_2.entry.js +3 -4
  145. package/dist/esm/ion-picker-column-internal.entry.js +3 -3
  146. package/dist/esm/ion-picker-internal.entry.js +1 -1
  147. package/dist/esm/ion-popover.entry.js +4 -4
  148. package/dist/esm/ion-progress-bar.entry.js +2 -2
  149. package/dist/esm/ion-radio_2.entry.js +7 -4
  150. package/dist/esm/ion-range.entry.js +2 -2
  151. package/dist/esm/ion-refresher_2.entry.js +4 -4
  152. package/dist/esm/ion-reorder_2.entry.js +4 -4
  153. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  154. package/dist/esm/ion-route_4.entry.js +2 -5
  155. package/dist/esm/ion-searchbar.entry.js +3 -3
  156. package/dist/esm/ion-segment_2.entry.js +2 -2
  157. package/dist/esm/ion-select_3.entry.js +5 -5
  158. package/dist/esm/ion-spinner.entry.js +2 -2
  159. package/dist/esm/ion-split-pane.entry.js +2 -2
  160. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  161. package/dist/esm/ion-tab_2.entry.js +1 -1
  162. package/dist/esm/ion-text.entry.js +2 -2
  163. package/dist/esm/ion-textarea.entry.js +2 -2
  164. package/dist/esm/ion-toast.entry.js +17 -159
  165. package/dist/esm/ion-toggle.entry.js +7 -4
  166. package/dist/esm/{ionic-global-63a8d8c9.js → ionic-global-246ca78f.js} +1 -1
  167. package/dist/esm/ionic.js +6 -6
  168. package/dist/esm/{ios.transition-6707a3a1.js → ios.transition-04c9a97a.js} +2 -3
  169. package/dist/esm/loader.js +5 -5
  170. package/dist/esm/{md.transition-957964fd.js → md.transition-67a8aabd.js} +2 -2
  171. package/dist/esm/{overlays-753933fc.js → overlays-2fa52617.js} +1 -2
  172. package/dist/esm/{status-tap-73e982b6.js → status-tap-9aeeaca5.js} +1 -1
  173. package/dist/esm-es5/app-globals-ec816a70.js +4 -0
  174. package/dist/esm-es5/{button-active-3dd473a1.js → button-active-5136c12d.js} +1 -1
  175. package/dist/esm-es5/data-009dbf15.js +4 -0
  176. package/dist/esm-es5/{index-6e10cd02.js → index-641aeeed.js} +1 -1
  177. package/dist/esm-es5/index-b49b173c.js +5 -0
  178. package/dist/esm-es5/index-d78b533e.js +4 -0
  179. package/dist/esm-es5/index.js +1 -1
  180. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  181. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  182. package/dist/esm-es5/ion-alert.entry.js +1 -1
  183. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  184. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  185. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  186. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  187. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  188. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  189. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  190. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  191. package/dist/esm-es5/ion-chip.entry.js +1 -1
  192. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  193. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  194. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  195. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  196. package/dist/esm-es5/ion-img.entry.js +1 -1
  197. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  198. package/dist/esm-es5/ion-input.entry.js +1 -1
  199. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  200. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  201. package/dist/esm-es5/ion-loading.entry.js +1 -1
  202. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  203. package/dist/esm-es5/ion-modal.entry.js +1 -1
  204. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  205. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  206. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  207. package/dist/esm-es5/ion-popover.entry.js +1 -1
  208. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  209. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  210. package/dist/esm-es5/ion-range.entry.js +1 -1
  211. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  212. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  213. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  214. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  215. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  216. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  217. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  218. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  219. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  220. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  221. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  222. package/dist/esm-es5/ion-text.entry.js +1 -1
  223. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  224. package/dist/esm-es5/ion-toast.entry.js +1 -1
  225. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  226. package/dist/esm-es5/{ionic-global-63a8d8c9.js → ionic-global-246ca78f.js} +1 -1
  227. package/dist/esm-es5/ionic.js +1 -1
  228. package/dist/esm-es5/{ios.transition-6707a3a1.js → ios.transition-04c9a97a.js} +1 -1
  229. package/dist/esm-es5/loader.js +1 -1
  230. package/dist/esm-es5/{md.transition-957964fd.js → md.transition-67a8aabd.js} +1 -1
  231. package/dist/esm-es5/{overlays-753933fc.js → overlays-2fa52617.js} +1 -1
  232. package/dist/esm-es5/{status-tap-73e982b6.js → status-tap-9aeeaca5.js} +1 -1
  233. package/dist/html.html-data.json +1 -11
  234. package/dist/ionic/index.esm.js +1 -1
  235. package/dist/ionic/ionic.esm.js +1 -1
  236. package/dist/ionic/ionic.js +1 -1
  237. package/dist/ionic/{p-9dbc208c.js → p-02a4e81a.js} +1 -1
  238. package/dist/ionic/{p-89e3d112.system.entry.js → p-03c381ec.system.entry.js} +1 -1
  239. package/dist/ionic/{p-44fa0a61.entry.js → p-048f1ebe.entry.js} +1 -1
  240. package/dist/ionic/{p-b7ac706d.entry.js → p-04e7c8fd.entry.js} +1 -1
  241. package/dist/ionic/p-05ae600a.system.js +4 -0
  242. package/dist/ionic/p-06ac429a.js +5 -0
  243. package/dist/ionic/p-0c37546b.system.entry.js +4 -0
  244. package/dist/ionic/{p-5b5311f6.system.entry.js → p-0d74acfb.system.entry.js} +1 -1
  245. package/dist/ionic/{p-7887ac7a.entry.js → p-108f9d49.entry.js} +1 -1
  246. package/dist/ionic/{p-ccdd595c.system.entry.js → p-117cd69f.system.entry.js} +1 -1
  247. package/dist/ionic/{p-e263255c.system.entry.js → p-1289b3b5.system.entry.js} +1 -1
  248. package/dist/ionic/p-13d6e57a.js +4 -0
  249. package/dist/ionic/{p-da024961.entry.js → p-164b0e76.entry.js} +1 -1
  250. package/dist/ionic/{p-8957b1de.system.entry.js → p-170e9de0.system.entry.js} +1 -1
  251. package/dist/ionic/{p-8a289322.js → p-181b7c2a.js} +1 -1
  252. package/dist/ionic/p-1c82e9ff.js +4 -0
  253. package/dist/ionic/{p-48159bfc.system.entry.js → p-1d0aa82f.system.entry.js} +1 -1
  254. package/dist/ionic/{p-9201a4d3.entry.js → p-1ecba429.entry.js} +1 -1
  255. package/dist/ionic/{p-3db27dec.entry.js → p-1f81b5be.entry.js} +1 -1
  256. package/dist/ionic/{p-db8b267a.system.entry.js → p-238f0ac5.system.entry.js} +1 -1
  257. package/dist/ionic/{p-0d3d44e7.entry.js → p-257cf0b7.entry.js} +1 -1
  258. package/dist/ionic/{p-37fc0d22.system.entry.js → p-2784263e.system.entry.js} +1 -1
  259. package/dist/ionic/{p-8f36cde3.system.entry.js → p-29073efe.system.entry.js} +1 -1
  260. package/dist/ionic/p-29e3a9bb.entry.js +4 -0
  261. package/dist/ionic/{p-3634b770.system.entry.js → p-32717950.system.entry.js} +1 -1
  262. package/dist/ionic/p-32d364f0.entry.js +4 -0
  263. package/dist/ionic/{p-c09e1da9.system.entry.js → p-33a8349a.system.entry.js} +1 -1
  264. package/dist/ionic/{p-4555335a.entry.js → p-35818410.entry.js} +1 -1
  265. package/dist/ionic/{p-b4f14d9e.entry.js → p-35eb1d95.entry.js} +1 -1
  266. package/dist/ionic/p-37448ac1.entry.js +4 -0
  267. package/dist/ionic/{p-3e6b0330.system.entry.js → p-38ccfd71.system.entry.js} +1 -1
  268. package/dist/ionic/{p-6f3099b6.system.entry.js → p-3a58e3a4.system.entry.js} +1 -1
  269. package/dist/ionic/{p-c0c794dd.entry.js → p-3c2c6fce.entry.js} +1 -1
  270. package/dist/ionic/{p-9a6f6789.system.entry.js → p-3f3da911.system.entry.js} +1 -1
  271. package/dist/ionic/p-44ef7224.system.js +4 -0
  272. package/dist/ionic/{p-bc7420cc.entry.js → p-4b8db805.entry.js} +1 -1
  273. package/dist/ionic/{p-ec451ef7.system.entry.js → p-4bb26b01.system.entry.js} +1 -1
  274. package/dist/ionic/{p-6a92db9d.system.entry.js → p-4d6ac0fe.system.entry.js} +1 -1
  275. package/dist/ionic/p-4dd96c8d.entry.js +4 -0
  276. package/dist/ionic/{p-0793ebfd.entry.js → p-4e6e43c1.entry.js} +1 -1
  277. package/dist/ionic/{p-e0f66356.system.js → p-51269f3b.system.js} +1 -1
  278. package/dist/ionic/{p-14fd96a2.system.entry.js → p-5403baaa.system.entry.js} +1 -1
  279. package/dist/ionic/{p-abfd1f2e.system.entry.js → p-54f6cd27.system.entry.js} +1 -1
  280. package/dist/ionic/{p-b27772bf.entry.js → p-55d3a9b2.entry.js} +1 -1
  281. package/dist/ionic/{p-10fcb3a3.system.entry.js → p-576e6d0f.system.entry.js} +1 -1
  282. package/dist/ionic/{p-6a3c14d1.entry.js → p-5b32b053.entry.js} +1 -1
  283. package/dist/ionic/{p-b79eb3cd.entry.js → p-5b976d70.entry.js} +1 -1
  284. package/dist/ionic/p-5c3e72a8.system.js +4 -0
  285. package/dist/ionic/p-5c651aab.system.entry.js +4 -0
  286. package/dist/ionic/{p-ae57449e.system.entry.js → p-5cd791b3.system.entry.js} +1 -1
  287. package/dist/ionic/p-5ece7025.system.js +4 -0
  288. package/dist/ionic/{p-70441a5b.entry.js → p-5efb899f.entry.js} +1 -1
  289. package/dist/ionic/{p-6c7d61b9.system.entry.js → p-6129af0a.system.entry.js} +1 -1
  290. package/dist/ionic/{p-26fbffd4.system.js → p-629aa3fd.system.js} +1 -1
  291. package/dist/ionic/{p-ee8881d0.js → p-63505fbb.js} +1 -1
  292. package/dist/ionic/{p-efd574eb.system.entry.js → p-645fb6e5.system.entry.js} +1 -1
  293. package/dist/ionic/{p-ef4408d6.entry.js → p-64e20cd9.entry.js} +1 -1
  294. package/dist/ionic/p-65a5761f.js +4 -0
  295. package/dist/ionic/{p-416d7f8d.system.entry.js → p-6ac3e877.system.entry.js} +1 -1
  296. package/dist/ionic/{p-82c72668.system.js → p-6ba7fad7.system.js} +1 -1
  297. package/dist/ionic/{p-92d72ad8.entry.js → p-6ea2e653.entry.js} +1 -1
  298. package/dist/ionic/{p-a9b13f18.system.entry.js → p-6f8a95a3.system.entry.js} +1 -1
  299. package/dist/ionic/{p-a60cff26.system.entry.js → p-6fb80ef3.system.entry.js} +1 -1
  300. package/dist/ionic/{p-b4c0e9ee.entry.js → p-706a0391.entry.js} +1 -1
  301. package/dist/ionic/{p-f48af9da.system.entry.js → p-72aea40e.system.entry.js} +1 -1
  302. package/dist/ionic/p-73ed9a91.js +4 -0
  303. package/dist/ionic/{p-7a590a28.js → p-76378400.js} +1 -1
  304. package/dist/ionic/p-76920df1.entry.js +4 -0
  305. package/dist/ionic/p-7cfd253c.js +4 -0
  306. package/dist/ionic/{p-3dce88bf.entry.js → p-818b2e75.entry.js} +1 -1
  307. package/dist/ionic/p-8297652e.entry.js +4 -0
  308. package/dist/ionic/{p-b9e2aede.entry.js → p-839276d4.entry.js} +1 -1
  309. package/dist/ionic/{p-b4daca17.system.entry.js → p-8a2801f1.system.entry.js} +1 -1
  310. package/dist/ionic/{p-00cf2d6c.js → p-8e24ebbc.js} +1 -1
  311. package/dist/ionic/{p-037e2738.system.entry.js → p-8ee012cb.system.entry.js} +1 -1
  312. package/dist/ionic/{p-d8eeabae.system.entry.js → p-908720f3.system.entry.js} +1 -1
  313. package/dist/ionic/{p-03f7e3cc.entry.js → p-914ac0fc.entry.js} +1 -1
  314. package/dist/ionic/{p-88a1a4fe.system.entry.js → p-9173418c.system.entry.js} +1 -1
  315. package/dist/ionic/{p-9f9efb31.system.js → p-939e0fa1.system.js} +1 -1
  316. package/dist/ionic/{p-e6d2cca2.system.entry.js → p-95b14c73.system.entry.js} +1 -1
  317. package/dist/ionic/{p-ca655a7c.entry.js → p-96ba8eac.entry.js} +1 -1
  318. package/dist/ionic/{p-dcfea01f.system.entry.js → p-99dfa53f.system.entry.js} +1 -1
  319. package/dist/ionic/{p-9736406a.system.entry.js → p-9b4a77fc.system.entry.js} +1 -1
  320. package/dist/ionic/{p-50d83224.entry.js → p-a04bfada.entry.js} +1 -1
  321. package/dist/ionic/p-a18ec02b.entry.js +4 -0
  322. package/dist/ionic/{p-2acea831.entry.js → p-a7eec917.entry.js} +1 -1
  323. package/dist/ionic/{p-00f709ca.system.entry.js → p-b109a3d7.system.entry.js} +1 -1
  324. package/dist/ionic/{p-fbc7995a.system.entry.js → p-b3690814.system.entry.js} +1 -1
  325. package/dist/ionic/{p-534a1cbc.system.js → p-b3c68723.system.js} +1 -1
  326. package/dist/ionic/{p-4e76e29a.system.entry.js → p-b61a2fa0.system.entry.js} +1 -1
  327. package/dist/ionic/{p-f37d6823.system.entry.js → p-beb864e4.system.entry.js} +1 -1
  328. package/dist/ionic/{p-b25a96b7.system.js → p-c3efbcf5.system.js} +1 -1
  329. package/dist/ionic/{p-a157df46.system.entry.js → p-c48fc95d.system.entry.js} +1 -1
  330. package/dist/ionic/{p-5c24c115.system.js → p-c49672d8.system.js} +1 -1
  331. package/dist/ionic/{p-57743e20.entry.js → p-c4a5de01.entry.js} +1 -1
  332. package/dist/ionic/{p-7520e873.system.entry.js → p-c7428627.system.entry.js} +1 -1
  333. package/dist/ionic/{p-84549737.system.entry.js → p-cf0c93e3.system.entry.js} +1 -1
  334. package/dist/ionic/{p-7b15d413.entry.js → p-d35217be.entry.js} +1 -1
  335. package/dist/ionic/{p-5cafe439.system.entry.js → p-d55c9f92.system.entry.js} +1 -1
  336. package/dist/ionic/{p-06756f31.entry.js → p-d7b8d224.entry.js} +1 -1
  337. package/dist/ionic/{p-9b796813.entry.js → p-d89d0de0.entry.js} +1 -1
  338. package/dist/ionic/{p-fa06c407.entry.js → p-db1a1e00.entry.js} +1 -1
  339. package/dist/ionic/{p-0023e6eb.entry.js → p-deb6ddad.entry.js} +1 -1
  340. package/dist/ionic/{p-90012797.system.js → p-df5fe0be.system.js} +1 -1
  341. package/dist/ionic/{p-d90f0779.system.entry.js → p-e0f52215.system.entry.js} +1 -1
  342. package/dist/ionic/{p-a99e7e72.entry.js → p-e1ac688a.entry.js} +1 -1
  343. package/dist/ionic/{p-d2a278b1.entry.js → p-e2fd0895.entry.js} +1 -1
  344. package/dist/ionic/{p-9e91c83f.system.entry.js → p-eab10949.system.entry.js} +1 -1
  345. package/dist/ionic/{p-ac32f6ce.entry.js → p-eac263dd.entry.js} +1 -1
  346. package/dist/ionic/{p-0459db58.entry.js → p-ec9052a4.entry.js} +1 -1
  347. package/dist/ionic/{p-a7361c85.entry.js → p-f588e951.entry.js} +1 -1
  348. package/dist/ionic/{p-60dee335.entry.js → p-f623aa6d.entry.js} +1 -1
  349. package/dist/ionic/{p-ae8121f5.system.entry.js → p-f960fd84.system.entry.js} +1 -1
  350. package/dist/ionic/p-fbcb157b.system.js +4 -0
  351. package/dist/ionic/{p-4c20879c.entry.js → p-fccfe602.entry.js} +1 -1
  352. package/dist/ionic/{p-3bf7c0dc.entry.js → p-fcf47f80.entry.js} +1 -1
  353. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +4 -46
  354. package/dist/types/components/datetime/datetime-interface.d.ts +0 -1
  355. package/dist/types/components/datetime/datetime.d.ts +2 -2
  356. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  357. package/dist/types/components/datetime/utils/format.d.ts +3 -3
  358. package/dist/types/components/datetime/utils/helpers.d.ts +1 -15
  359. package/dist/types/components/menu/menu-interface.d.ts +1 -0
  360. package/dist/types/components/toast/animations/ios.enter.d.ts +1 -2
  361. package/dist/types/components/toast/animations/ios.leave.d.ts +2 -2
  362. package/dist/types/components/toast/animations/md.enter.d.ts +1 -2
  363. package/dist/types/components/toast/toast-interface.d.ts +0 -11
  364. package/dist/types/components/toast/toast.d.ts +1 -21
  365. package/dist/types/components.d.ts +8 -16
  366. package/dist/types/index.d.ts +0 -1
  367. package/dist/types/utils/menu-controller/index.d.ts +2 -1
  368. package/hydrate/index.js +127 -342
  369. package/package.json +7 -6
  370. package/dist/collection/components/menu/test/multiple/menu.e2e.js +0 -60
  371. package/dist/collection/components/toast/animations/utils.js +0 -85
  372. package/dist/collection/components/toast/test/position-anchor/toast.e2e.js +0 -45
  373. package/dist/esm-es5/app-globals-df292a32.js +0 -4
  374. package/dist/esm-es5/data-44d9e816.js +0 -4
  375. package/dist/esm-es5/index-c3e624b7.js +0 -4
  376. package/dist/esm-es5/index-cb894020.js +0 -5
  377. package/dist/ionic/p-0779a5c8.system.js +0 -4
  378. package/dist/ionic/p-0d198537.js +0 -4
  379. package/dist/ionic/p-100ea813.system.entry.js +0 -4
  380. package/dist/ionic/p-17240d90.js +0 -4
  381. package/dist/ionic/p-1d9b39f3.js +0 -4
  382. package/dist/ionic/p-2b47b2ce.entry.js +0 -4
  383. package/dist/ionic/p-32b5f10e.entry.js +0 -4
  384. package/dist/ionic/p-469d6a98.entry.js +0 -4
  385. package/dist/ionic/p-50125c8c.js +0 -4
  386. package/dist/ionic/p-520789c2.js +0 -4
  387. package/dist/ionic/p-68b405cc.entry.js +0 -4
  388. package/dist/ionic/p-6cfcb294.system.js +0 -4
  389. package/dist/ionic/p-73eba881.system.js +0 -4
  390. package/dist/ionic/p-903c36fe.js +0 -5
  391. package/dist/ionic/p-a4ce3b06.system.entry.js +0 -4
  392. package/dist/ionic/p-aae05032.entry.js +0 -4
  393. package/dist/ionic/p-b8c3f071.system.js +0 -4
  394. package/dist/ionic/p-d0d59328.entry.js +0 -4
  395. package/dist/ionic/p-d1df86ff.entry.js +0 -4
  396. package/dist/ionic/p-ec25d547.system.js +0 -4
  397. package/dist/types/components/toast/animations/utils.d.ts +0 -18
  398. /package/dist/esm-es5/{haptic-1243b917.js → haptic-6447af60.js} +0 -0
  399. /package/dist/esm-es5/{index-504b03f0.js → index-ecfc2c9f.js} +0 -0
  400. /package/dist/ionic/{p-15bae383.js → p-0a87858b.js} +0 -0
  401. /package/dist/ionic/{p-b4b4bb29.system.js → p-14d7b7e2.system.js} +0 -0
  402. /package/dist/ionic/{p-3f919368.system.js → p-8985b268.system.js} +0 -0
  403. /package/dist/ionic/{p-b923f3d7.js → p-bb6f38ed.js} +0 -0
@@ -10,19 +10,19 @@ import { d as createDelegateController, e as createTriggerController, i as isCan
10
10
  import { g as getClassMap, c as createColorClasses } from './theme.js';
11
11
  import { c as config, b as getIonMode } from './ionic-global.js';
12
12
  import { c as createAnimation } from './animation.js';
13
- import { w as win } from './index5.js';
14
13
  import { d as defineCustomElement$3 } from './icon.js';
15
14
  import { d as defineCustomElement$2 } from './ripple-effect.js';
16
15
 
17
16
  /**
18
17
  * iOS Toast Enter Animation
19
18
  */
20
- const iosEnterAnimation = (baseEl, opts) => {
19
+ const iosEnterAnimation = (baseEl, position) => {
21
20
  const baseAnimation = createAnimation();
22
21
  const wrapperAnimation = createAnimation();
23
- const { position, top, bottom } = opts;
24
22
  const root = getElementRoot(baseEl);
25
23
  const wrapperEl = root.querySelector('.toast-wrapper');
24
+ const bottom = `calc(-10px - var(--ion-safe-area-bottom, 0px))`;
25
+ const top = `calc(10px + var(--ion-safe-area-top, 0px))`;
26
26
  wrapperAnimation.addElement(wrapperEl);
27
27
  switch (position) {
28
28
  case 'top':
@@ -43,12 +43,13 @@ const iosEnterAnimation = (baseEl, opts) => {
43
43
  /**
44
44
  * iOS Toast Leave Animation
45
45
  */
46
- const iosLeaveAnimation = (baseEl, opts) => {
46
+ const iosLeaveAnimation = (baseEl, position) => {
47
47
  const baseAnimation = createAnimation();
48
48
  const wrapperAnimation = createAnimation();
49
- const { position, top, bottom } = opts;
50
49
  const root = getElementRoot(baseEl);
51
50
  const wrapperEl = root.querySelector('.toast-wrapper');
51
+ const bottom = `calc(-10px - var(--ion-safe-area-bottom, 0px))`;
52
+ const top = `calc(10px + var(--ion-safe-area-top, 0px))`;
52
53
  wrapperAnimation.addElement(wrapperEl);
53
54
  switch (position) {
54
55
  case 'top':
@@ -67,12 +68,13 @@ const iosLeaveAnimation = (baseEl, opts) => {
67
68
  /**
68
69
  * MD Toast Enter Animation
69
70
  */
70
- const mdEnterAnimation = (baseEl, opts) => {
71
+ const mdEnterAnimation = (baseEl, position) => {
71
72
  const baseAnimation = createAnimation();
72
73
  const wrapperAnimation = createAnimation();
73
- const { position, top, bottom } = opts;
74
74
  const root = getElementRoot(baseEl);
75
75
  const wrapperEl = root.querySelector('.toast-wrapper');
76
+ const bottom = `calc(8px + var(--ion-safe-area-bottom, 0px))`;
77
+ const top = `calc(8px + var(--ion-safe-area-top, 0px))`;
76
78
  wrapperAnimation.addElement(wrapperEl);
77
79
  switch (position) {
78
80
  case 'top':
@@ -104,87 +106,6 @@ const mdLeaveAnimation = (baseEl) => {
104
106
  return baseAnimation.easing('cubic-bezier(.36,.66,.04,1)').duration(300).addAnimation(wrapperAnimation);
105
107
  };
106
108
 
107
- /**
108
- * Calculate the CSS top and bottom position of the toast, to be used
109
- * as starting points for the animation keyframes.
110
- *
111
- * Note that MD animates bottom-positioned toasts using style.bottom,
112
- * which calculates from the bottom edge of the screen, while iOS uses
113
- * translateY, which calculates from the top edge of the screen. This
114
- * is why the bottom calculates differ slightly between modes.
115
- *
116
- * @param position The value of the toast's position prop.
117
- * @param positionAnchor The element the toast should be anchored to,
118
- * if applicable.
119
- * @param mode The toast component's mode (md, ios, etc).
120
- * @param toast A reference to the toast element itself.
121
- */
122
- function getAnimationPosition(position, positionAnchor, mode, toast) {
123
- /**
124
- * Start with a predefined offset from the edge the toast will be
125
- * positioned relative to, whether on the screen or anchor element.
126
- */
127
- let offset;
128
- if (mode === 'md') {
129
- offset = 8;
130
- }
131
- else {
132
- offset = position === 'top' ? 10 : -10;
133
- }
134
- /**
135
- * If positionAnchor is defined, add in the distance from the target
136
- * screen edge to the target anchor edge. For position="top", the
137
- * bottom anchor edge is targeted. For position="bottom", the top
138
- * anchor edge is targeted.
139
- */
140
- if (positionAnchor && win) {
141
- warnIfAnchorIsHidden(positionAnchor, toast);
142
- const box = positionAnchor.getBoundingClientRect();
143
- if (position === 'top') {
144
- offset += box.bottom;
145
- }
146
- else if (position === 'bottom') {
147
- /**
148
- * Just box.top is the distance from the top edge of the screen
149
- * to the top edge of the anchor. We want to calculate from the
150
- * bottom edge of the screen instead.
151
- */
152
- if (mode === 'md') {
153
- offset += win.innerHeight - box.top;
154
- }
155
- else {
156
- offset -= win.innerHeight - box.top;
157
- }
158
- }
159
- /**
160
- * We don't include safe area here because that should already be
161
- * accounted for when checking the position of the anchor.
162
- */
163
- return {
164
- top: `${offset}px`,
165
- bottom: `${offset}px`,
166
- };
167
- }
168
- else {
169
- return {
170
- top: `calc(${offset}px + var(--ion-safe-area-top, 0px))`,
171
- bottom: mode === 'md'
172
- ? `calc(${offset}px + var(--ion-safe-area-bottom, 0px))`
173
- : `calc(${offset}px - var(--ion-safe-area-bottom, 0px))`,
174
- };
175
- }
176
- }
177
- /**
178
- * If the anchor element is hidden, getBoundingClientRect()
179
- * will return all 0s for it, which can cause unexpected
180
- * results in the position calculation when animating.
181
- */
182
- function warnIfAnchorIsHidden(positionAnchor, toast) {
183
- if (positionAnchor.offsetParent === null) {
184
- printIonWarning('The positionAnchor element for ion-toast was found in the DOM, but appears to be hidden. This may lead to unexpected positioning of the toast.', toast);
185
- }
186
- }
187
-
188
109
  const toastIosCss = ":host{--border-width:0;--border-style:none;--border-color:initial;--box-shadow:none;--min-width:auto;--width:auto;--min-height:auto;--height:auto;--max-height:auto;--white-space:normal;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);contain:strict;z-index:1001;pointer-events:none}@supports (inset-inline-start: 0){:host{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host{left:0}:host-context([dir=rtl]){left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host:dir(rtl){left:unset;right:unset;right:0}}}:host(.overlay-hidden){display:none}:host(.ion-color){--button-color:inherit;color:var(--ion-color-contrast)}:host(.ion-color) .toast-button-cancel{color:inherit}:host(.ion-color) .toast-wrapper{background:var(--ion-color-base)}.toast-wrapper{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}@supports (inset-inline-start: 0){.toast-wrapper{inset-inline-start:var(--start);inset-inline-end:var(--end)}}@supports not (inset-inline-start: 0){.toast-wrapper{left:var(--start);right:var(--end)}:host-context([dir=rtl]) .toast-wrapper{left:unset;right:unset;left:var(--end);right:var(--start)}[dir=rtl] .toast-wrapper{left:unset;right:unset;left:var(--end);right:var(--start)}@supports selector(:dir(rtl)){.toast-wrapper:dir(rtl){left:unset;right:unset;left:var(--end);right:var(--start)}}}.toast-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;pointer-events:auto;height:inherit;min-height:inherit;max-height:inherit;contain:content}.toast-layout-stacked .toast-container{-ms-flex-wrap:wrap;flex-wrap:wrap}.toast-layout-baseline .toast-content{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.toast-icon{-webkit-margin-start:16px;margin-inline-start:16px}.toast-message{-ms-flex:1;flex:1;white-space:var(--white-space)}.toast-button-group{display:-ms-flexbox;display:flex}.toast-layout-stacked .toast-button-group{-ms-flex-pack:end;justify-content:end;width:100%}.toast-button{border:0;outline:none;color:var(--button-color);z-index:0}.toast-icon,.toast-button-icon{font-size:1.4em}.toast-button-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}@media (any-hover: hover){.toast-button:hover{cursor:pointer}}:host{--background:var(--ion-color-step-50, #f2f2f2);--border-radius:14px;--button-color:var(--ion-color-primary, #3880ff);--color:var(--ion-color-step-850, #262626);--max-width:700px;--start:10px;--end:10px;font-size:14px}.toast-wrapper{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;display:block;position:absolute;z-index:10}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.toast-translucent) .toast-wrapper{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}:host(.ion-color.toast-translucent) .toast-wrapper{background:rgba(var(--ion-color-base-rgb), 0.8)}}.toast-wrapper.toast-top{-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0);top:0}.toast-wrapper.toast-middle{opacity:0.01}.toast-wrapper.toast-bottom{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);bottom:0}.toast-content{-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px;padding-top:15px;padding-bottom:15px}.toast-header{margin-bottom:2px;font-weight:500}.toast-button{-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px;padding-top:10px;padding-bottom:10px;height:44px;-webkit-transition:background-color, opacity 100ms linear;transition:background-color, opacity 100ms linear;border:0;background-color:transparent;font-family:var(--ion-font-family);font-size:17px;font-weight:500;overflow:hidden}.toast-button.ion-activated{opacity:0.4}@media (any-hover: hover){.toast-button:hover{opacity:0.6}}";
189
110
 
190
111
  const toastMdCss = ":host{--border-width:0;--border-style:none;--border-color:initial;--box-shadow:none;--min-width:auto;--width:auto;--min-height:auto;--height:auto;--max-height:auto;--white-space:normal;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);contain:strict;z-index:1001;pointer-events:none}@supports (inset-inline-start: 0){:host{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host{left:0}:host-context([dir=rtl]){left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host:dir(rtl){left:unset;right:unset;right:0}}}:host(.overlay-hidden){display:none}:host(.ion-color){--button-color:inherit;color:var(--ion-color-contrast)}:host(.ion-color) .toast-button-cancel{color:inherit}:host(.ion-color) .toast-wrapper{background:var(--ion-color-base)}.toast-wrapper{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}@supports (inset-inline-start: 0){.toast-wrapper{inset-inline-start:var(--start);inset-inline-end:var(--end)}}@supports not (inset-inline-start: 0){.toast-wrapper{left:var(--start);right:var(--end)}:host-context([dir=rtl]) .toast-wrapper{left:unset;right:unset;left:var(--end);right:var(--start)}[dir=rtl] .toast-wrapper{left:unset;right:unset;left:var(--end);right:var(--start)}@supports selector(:dir(rtl)){.toast-wrapper:dir(rtl){left:unset;right:unset;left:var(--end);right:var(--start)}}}.toast-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;pointer-events:auto;height:inherit;min-height:inherit;max-height:inherit;contain:content}.toast-layout-stacked .toast-container{-ms-flex-wrap:wrap;flex-wrap:wrap}.toast-layout-baseline .toast-content{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.toast-icon{-webkit-margin-start:16px;margin-inline-start:16px}.toast-message{-ms-flex:1;flex:1;white-space:var(--white-space)}.toast-button-group{display:-ms-flexbox;display:flex}.toast-layout-stacked .toast-button-group{-ms-flex-pack:end;justify-content:end;width:100%}.toast-button{border:0;outline:none;color:var(--button-color);z-index:0}.toast-icon,.toast-button-icon{font-size:1.4em}.toast-button-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}@media (any-hover: hover){.toast-button:hover{cursor:pointer}}:host{--background:var(--ion-color-step-800, #333333);--border-radius:4px;--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--button-color:var(--ion-color-primary, #3880ff);--color:var(--ion-color-step-50, #f2f2f2);--max-width:700px;--start:8px;--end:8px;font-size:14px}.toast-wrapper{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;display:block;position:absolute;opacity:0.01;z-index:10}.toast-content{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:14px;padding-bottom:14px}.toast-header{margin-bottom:2px;font-weight:500;line-height:20px}.toast-message{line-height:20px}.toast-layout-baseline .toast-button-group-start{-webkit-margin-start:8px;margin-inline-start:8px}.toast-layout-stacked .toast-button-group-start{-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px}.toast-layout-baseline .toast-button-group-end{-webkit-margin-end:8px;margin-inline-end:8px}.toast-layout-stacked .toast-button-group-end{-webkit-margin-end:8px;margin-inline-end:8px;margin-bottom:8px}.toast-button{-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px;padding-top:10px;padding-bottom:10px;position:relative;background-color:transparent;font-family:var(--ion-font-family);font-size:14px;font-weight:500;letter-spacing:0.84px;text-transform:uppercase;overflow:hidden}.toast-button-cancel{color:var(--ion-color-step-100, #e6e6e6)}.toast-button-icon-only{border-radius:50%;-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px;padding-top:9px;padding-bottom:9px;width:36px;height:36px}@media (any-hover: hover){.toast-button:hover{background-color:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.08)}.toast-button-cancel:hover{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.08)}}";
@@ -228,7 +149,6 @@ const Toast = /*@__PURE__*/ proxyCustomElement(class Toast extends HTMLElement {
228
149
  this.message = undefined;
229
150
  this.keyboardClose = false;
230
151
  this.position = 'bottom';
231
- this.positionAnchor = undefined;
232
152
  this.buttons = undefined;
233
153
  this.translucent = false;
234
154
  this.animated = true;
@@ -276,19 +196,7 @@ const Toast = /*@__PURE__*/ proxyCustomElement(class Toast extends HTMLElement {
276
196
  async present() {
277
197
  const unlock = await this.lockController.lock();
278
198
  await this.delegateController.attachViewToDom();
279
- const { el, position } = this;
280
- const anchor = this.getAnchorElement();
281
- const animationPosition = getAnimationPosition(position, anchor, getIonMode(this), el);
282
- /**
283
- * Cache the calculated position of the toast, so we can re-use it
284
- * in the dismiss animation.
285
- */
286
- this.lastPresentedPosition = animationPosition;
287
- await present(this, 'toastEnter', iosEnterAnimation, mdEnterAnimation, {
288
- position,
289
- top: animationPosition.top,
290
- bottom: animationPosition.bottom,
291
- });
199
+ await present(this, 'toastEnter', iosEnterAnimation, mdEnterAnimation, this.position);
292
200
  /**
293
201
  * Content is revealed to screen readers after
294
202
  * the transition to avoid jank since this
@@ -310,28 +218,15 @@ const Toast = /*@__PURE__*/ proxyCustomElement(class Toast extends HTMLElement {
310
218
  * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
311
219
  */
312
220
  async dismiss(data, role) {
313
- var _a, _b;
314
221
  const unlock = await this.lockController.lock();
315
- const { durationTimeout, position, lastPresentedPosition } = this;
316
- if (durationTimeout) {
317
- clearTimeout(durationTimeout);
222
+ if (this.durationTimeout) {
223
+ clearTimeout(this.durationTimeout);
318
224
  }
319
- const dismissed = await dismiss(this, data, role, 'toastLeave', iosLeaveAnimation, mdLeaveAnimation,
320
- /**
321
- * Fetch the cached position that was calculated back in the present
322
- * animation. We always want to animate the dismiss from the same
323
- * position the present stopped at, so the animation looks continuous.
324
- */
325
- {
326
- position,
327
- top: (_a = lastPresentedPosition === null || lastPresentedPosition === void 0 ? void 0 : lastPresentedPosition.top) !== null && _a !== void 0 ? _a : '',
328
- bottom: (_b = lastPresentedPosition === null || lastPresentedPosition === void 0 ? void 0 : lastPresentedPosition.bottom) !== null && _b !== void 0 ? _b : '',
329
- });
225
+ const dismissed = await dismiss(this, data, role, 'toastLeave', iosLeaveAnimation, mdLeaveAnimation, this.position);
330
226
  if (dismissed) {
331
227
  this.delegateController.removeViewFromDom();
332
228
  this.revealContentToScreenReader = false;
333
229
  }
334
- this.lastPresentedPosition = undefined;
335
230
  unlock();
336
231
  return dismissed;
337
232
  }
@@ -355,44 +250,6 @@ const Toast = /*@__PURE__*/ proxyCustomElement(class Toast extends HTMLElement {
355
250
  : [];
356
251
  return buttons;
357
252
  }
358
- /**
359
- * Returns the element specified by the positionAnchor prop,
360
- * or undefined if prop's value is an ID string and the element
361
- * is not found in the DOM.
362
- */
363
- getAnchorElement() {
364
- const { position, positionAnchor, el } = this;
365
- /**
366
- * If positionAnchor is undefined then
367
- * no anchor should be used when presenting the toast.
368
- */
369
- if (positionAnchor === undefined) {
370
- return;
371
- }
372
- if (position === 'middle' && positionAnchor !== undefined) {
373
- printIonWarning('The positionAnchor property is ignored when using position="middle".', this.el);
374
- return undefined;
375
- }
376
- if (typeof positionAnchor === 'string') {
377
- /**
378
- * If the anchor is defined as an ID, find the element.
379
- * We do this on every present so the toast doesn't need
380
- * to account for the surrounding DOM changing since the
381
- * last time it was presented.
382
- */
383
- const foundEl = document.getElementById(positionAnchor);
384
- if (foundEl === null) {
385
- printIonWarning(`An anchor element with an ID of "${positionAnchor}" was not found in the DOM.`, el);
386
- return undefined;
387
- }
388
- return foundEl;
389
- }
390
- if (positionAnchor instanceof HTMLElement) {
391
- return positionAnchor;
392
- }
393
- printIonWarning('Invalid positionAnchor value:', positionAnchor, el);
394
- return undefined;
395
- }
396
253
  async buttonClick(button) {
397
254
  const role = button.role;
398
255
  if (isCancel(role)) {
@@ -497,7 +354,6 @@ const Toast = /*@__PURE__*/ proxyCustomElement(class Toast extends HTMLElement {
497
354
  "message": [1],
498
355
  "keyboardClose": [4, "keyboard-close"],
499
356
  "position": [1],
500
- "positionAnchor": [1, "position-anchor"],
501
357
  "buttons": [16],
502
358
  "translucent": [4],
503
359
  "animated": [4],
@@ -48,6 +48,9 @@ const Toggle = /*@__PURE__*/ proxyCustomElement(class Toggle extends HTMLElement
48
48
  }
49
49
  };
50
50
  this.onClick = (ev) => {
51
+ if (this.disabled) {
52
+ return;
53
+ }
51
54
  ev.preventDefault();
52
55
  if (this.lastDrag + 300 < Date.now()) {
53
56
  this.toggleChecked();
@@ -203,7 +203,6 @@ const iosTransitionAnimation = (navEl, opts) => {
203
203
  .easing(opts.easing || EASING)
204
204
  .fill('both')
205
205
  .beforeRemoveClass('ion-page-invisible');
206
- // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
207
206
  if (leavingEl && navEl !== null && navEl !== undefined) {
208
207
  const navDecorAnimation = createAnimation();
209
208
  navDecorAnimation.addElement(navEl);
@@ -68,7 +68,6 @@ const setOverlayId = (el) => {
68
68
  return el.id;
69
69
  };
70
70
  const createOverlay = (tagName, opts) => {
71
- // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
72
71
  if (typeof window !== 'undefined' && typeof window.customElements !== 'undefined') {
73
72
  return window.customElements.whenDefined(tagName).then(() => {
74
73
  const element = document.createElement(tagName);
@@ -38,7 +38,7 @@ const RadioGroup = /*@__PURE__*/ proxyCustomElement(class RadioGroup extends HTM
38
38
  * using the `name` attribute.
39
39
  */
40
40
  const selectedRadio = ev.target && ev.target.closest('ion-radio');
41
- if (selectedRadio) {
41
+ if (selectedRadio && selectedRadio.disabled === false) {
42
42
  const currentValue = this.value;
43
43
  const newValue = selectedRadio.value;
44
44
  if (newValue !== currentValue) {
@@ -30,7 +30,10 @@ const Radio = /*@__PURE__*/ proxyCustomElement(class Radio extends HTMLElement {
30
30
  }
31
31
  };
32
32
  this.onClick = () => {
33
- const { radioGroup, checked } = this;
33
+ const { radioGroup, checked, disabled } = this;
34
+ if (disabled) {
35
+ return;
36
+ }
34
37
  /**
35
38
  * The legacy control uses a native input inside
36
39
  * of the radio host, so we can set this.checked
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const ionicGlobal = require('./ionic-global-a71608df.js');
6
+ const ionicGlobal = require('./ionic-global-fb752503.js');
7
7
 
8
8
  const globalScripts = ionicGlobal.initialize;
9
9
 
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index$1 = require('./index-14a4821e.js');
7
- const haptic = require('./haptic-678abc9f.js');
6
+ const index$1 = require('./index-305a23dc.js');
7
+ const haptic = require('./haptic-c5f6b4d5.js');
8
8
  const index = require('./index-0ee995e4.js');
9
9
 
10
10
  const createButtonActiveGesture = (el, isButton) => {
@@ -55,19 +55,13 @@ const warnIfValueOutOfBounds = (value, min, max) => {
55
55
  const isLeapYear = (year) => {
56
56
  return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
57
57
  };
58
- /**
59
- * Determines the hour cycle for a user.
60
- * If the hour cycle is explicitly defined, just use that.
61
- * Otherwise, we try to derive it from either the specified
62
- * locale extension tags or from Intl.DateTimeFormat directly.
63
- */
64
- const getHourCycle = (locale, hourCycle) => {
58
+ const is24Hour = (locale, hourCycle) => {
65
59
  /**
66
- * If developer has explicitly enabled 24-hour time
60
+ * If developer has explicitly enabled h23 time
67
61
  * then return early and do not look at the system default.
68
62
  */
69
63
  if (hourCycle !== undefined) {
70
- return hourCycle;
64
+ return hourCycle === 'h23';
71
65
  }
72
66
  /**
73
67
  * If hourCycle was not specified, check the locale
@@ -78,7 +72,7 @@ const getHourCycle = (locale, hourCycle) => {
78
72
  const formatted = new Intl.DateTimeFormat(locale, { hour: 'numeric' });
79
73
  const options = formatted.resolvedOptions();
80
74
  if (options.hourCycle !== undefined) {
81
- return options.hourCycle;
75
+ return options.hourCycle === 'h23';
82
76
  }
83
77
  /**
84
78
  * If hourCycle is not specified (either through lack
@@ -91,33 +85,7 @@ const getHourCycle = (locale, hourCycle) => {
91
85
  if (!hour) {
92
86
  throw new Error('Hour value not found from DateTimeFormat');
93
87
  }
94
- /**
95
- * Midnight for h11 starts at 0:00am
96
- * Midnight for h12 starts at 12:00am
97
- * Midnight for h23 starts at 00:00
98
- * Midnight for h24 starts at 24:00
99
- */
100
- switch (hour.value) {
101
- case '0':
102
- return 'h11';
103
- case '12':
104
- return 'h12';
105
- case '00':
106
- return 'h23';
107
- case '24':
108
- return 'h24';
109
- default:
110
- throw new Error(`Invalid hour cycle "${hourCycle}"`);
111
- }
112
- };
113
- /**
114
- * Determine if the hour cycle uses a 24-hour format.
115
- * Returns true for h23 and h24. Returns false otherwise.
116
- * If you don't know the hourCycle, use getHourCycle above
117
- * and pass the result into this function.
118
- */
119
- const is24Hour = (hourCycle) => {
120
- return hourCycle === 'h23' || hourCycle === 'h24';
88
+ return hour.value === '00';
121
89
  };
122
90
  /**
123
91
  * Given a date object, returns the number
@@ -784,7 +752,7 @@ const getFormattedDayPeriod = (dayPeriod) => {
784
752
  }
785
753
  return dayPeriod.toUpperCase();
786
754
  };
787
- const getLocalizedTime = (locale, refParts, hourCycle) => {
755
+ const getLocalizedTime = (locale, refParts, use24Hour) => {
788
756
  const timeParts = {
789
757
  hour: refParts.hour,
790
758
  minute: refParts.minute,
@@ -806,7 +774,7 @@ const getLocalizedTime = (locale, refParts, hourCycle) => {
806
774
  * We use hourCycle here instead of hour12 due to:
807
775
  * https://bugs.chromium.org/p/chromium/issues/detail?id=1347316&q=hour12&can=2
808
776
  */
809
- hourCycle,
777
+ hourCycle: use24Hour ? 'h23' : 'h12',
810
778
  /**
811
779
  * Setting Z at the end indicates that this
812
780
  * date string is in the UTC time zone. This
@@ -844,33 +812,17 @@ const addTimePadding = (value) => {
844
812
  * 12 hour times it ensures that
845
813
  * hour 0 is formatted as '12'.
846
814
  */
847
- const getFormattedHour = (hour, hourCycle) => {
848
- /**
849
- * Midnight for h11 starts at 0:00am
850
- * Midnight for h12 starts at 12:00am
851
- * Midnight for h23 starts at 00:00
852
- * Midnight for h24 starts at 24:00
853
- */
854
- if (hour === 0) {
855
- switch (hourCycle) {
856
- case 'h11':
857
- return '0';
858
- case 'h12':
859
- return '12';
860
- case 'h23':
861
- return '00';
862
- case 'h24':
863
- return '24';
864
- default:
865
- throw new Error(`Invalid hour cycle "${hourCycle}"`);
866
- }
815
+ const getFormattedHour = (hour, use24Hour) => {
816
+ if (use24Hour) {
817
+ return addTimePadding(hour);
867
818
  }
868
- const use24Hour = is24Hour(hourCycle);
869
819
  /**
870
- * h23 and h24 use 24 hour times.
820
+ * If using 12 hour
821
+ * format, make sure hour
822
+ * 0 is formatted as '12'.
871
823
  */
872
- if (use24Hour) {
873
- return addTimePadding(hour);
824
+ if (hour === 0) {
825
+ return '12';
874
826
  }
875
827
  return hour.toString();
876
828
  };
@@ -1105,14 +1057,8 @@ const minutes = [
1105
1057
  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1106
1058
  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1107
1059
  ];
1108
- // h11 hour system uses 0-11. Midnight starts at 0:00am.
1109
- const hour11 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
1110
- // h12 hour system uses 0-12. Midnight starts at 12:00am.
1111
1060
  const hour12 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
1112
- // h23 hour system uses 0-23. Midnight starts at 0:00.
1113
1061
  const hour23 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23];
1114
- // h24 hour system uses 1-24. Midnight starts at 24:00.
1115
- const hour24 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0];
1116
1062
  /**
1117
1063
  * Given a locale and a mode,
1118
1064
  * return an array with formatted days
@@ -1181,33 +1127,14 @@ const getDaysOfMonth = (month, year, firstDayOfWeek) => {
1181
1127
  }
1182
1128
  return days;
1183
1129
  };
1184
- /**
1185
- * Returns an array of pre-defined hour
1186
- * values based on the provided hourCycle.
1187
- */
1188
- const getHourData = (hourCycle) => {
1189
- switch (hourCycle) {
1190
- case 'h11':
1191
- return hour11;
1192
- case 'h12':
1193
- return hour12;
1194
- case 'h23':
1195
- return hour23;
1196
- case 'h24':
1197
- return hour24;
1198
- default:
1199
- throw new Error(`Invalid hour cycle "${hourCycle}"`);
1200
- }
1201
- };
1202
1130
  /**
1203
1131
  * Given a local, reference datetime parts and option
1204
1132
  * max/min bound datetime parts, calculate the acceptable
1205
1133
  * hour and minute values according to the bounds and locale.
1206
1134
  */
1207
- const generateTime = (locale, refParts, hourCycle = 'h12', minParts, maxParts, hourValues, minuteValues) => {
1208
- const computedHourCycle = getHourCycle(locale, hourCycle);
1209
- const use24Hour = is24Hour(computedHourCycle);
1210
- let processedHours = getHourData(computedHourCycle);
1135
+ const generateTime = (refParts, hourCycle = 'h12', minParts, maxParts, hourValues, minuteValues) => {
1136
+ const use24Hour = hourCycle === 'h23';
1137
+ let processedHours = use24Hour ? hour23 : hour12;
1211
1138
  let processedMinutes = minutes;
1212
1139
  let isAMAllowed = true;
1213
1140
  let isPMAllowed = true;
@@ -1539,12 +1466,11 @@ const getCombinedDateColumnData = (locale, todayParts, minParts, maxParts, dayVa
1539
1466
  };
1540
1467
  };
1541
1468
  const getTimeColumnsData = (locale, refParts, hourCycle, minParts, maxParts, allowedHourValues, allowedMinuteValues) => {
1542
- const computedHourCycle = getHourCycle(locale, hourCycle);
1543
- const use24Hour = is24Hour(computedHourCycle);
1544
- const { hours, minutes, am, pm } = generateTime(locale, refParts, computedHourCycle, minParts, maxParts, allowedHourValues, allowedMinuteValues);
1469
+ const use24Hour = is24Hour(locale, hourCycle);
1470
+ const { hours, minutes, am, pm } = generateTime(refParts, use24Hour ? 'h23' : 'h12', minParts, maxParts, allowedHourValues, allowedMinuteValues);
1545
1471
  const hoursItems = hours.map((hour) => {
1546
1472
  return {
1547
- text: getFormattedHour(hour, computedHourCycle),
1473
+ text: getFormattedHour(hour, use24Hour),
1548
1474
  value: getInternalHourValue(hour, use24Hour, refParts.ampm),
1549
1475
  };
1550
1476
  });
@@ -1588,7 +1514,6 @@ exports.getDayColumnData = getDayColumnData;
1588
1514
  exports.getDaysOfMonth = getDaysOfMonth;
1589
1515
  exports.getDaysOfWeek = getDaysOfWeek;
1590
1516
  exports.getEndOfWeek = getEndOfWeek;
1591
- exports.getHourCycle = getHourCycle;
1592
1517
  exports.getLocalizedDateTime = getLocalizedDateTime;
1593
1518
  exports.getLocalizedTime = getLocalizedTime;
1594
1519
  exports.getMonthAndDay = getMonthAndDay;
@@ -1609,6 +1534,7 @@ exports.getStartOfWeek = getStartOfWeek;
1609
1534
  exports.getTimeColumnsData = getTimeColumnsData;
1610
1535
  exports.getToday = getToday;
1611
1536
  exports.getYearColumnData = getYearColumnData;
1537
+ exports.is24Hour = is24Hour;
1612
1538
  exports.isAfter = isAfter;
1613
1539
  exports.isBefore = isBefore;
1614
1540
  exports.isLocaleDayPeriodRTL = isLocaleDayPeriodRTL;
@@ -78,7 +78,6 @@ const HapticEngine = {
78
78
  * if the browser does not support the Vibrate API.
79
79
  */
80
80
  if ((capacitor$1 === null || capacitor$1 === void 0 ? void 0 : capacitor$1.getPlatform()) === 'web') {
81
- // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
82
81
  return typeof navigator !== 'undefined' && navigator.vibrate !== undefined;
83
82
  }
84
83
  return true;