@ionic/core 7.4.4-dev.11696956070.1faa3cfe → 7.4.4-dev.11699472243.1ccd503d

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 (276) hide show
  1. package/components/alert.js +8 -0
  2. package/components/checkbox.js +0 -3
  3. package/components/data.js +96 -22
  4. package/components/haptic.js +1 -0
  5. package/components/icon.js +9 -5
  6. package/components/index.js +1 -0
  7. package/components/index4.js +26 -19
  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 +0 -12
  12. package/components/ion-nav.js +1 -0
  13. package/components/ion-router.js +3 -0
  14. package/components/ion-select.js +1 -1
  15. package/components/ion-toast.js +157 -13
  16. package/components/ion-toggle.js +0 -3
  17. package/components/ios.transition.js +1 -0
  18. package/components/overlays.js +1 -0
  19. package/components/radio-group.js +1 -1
  20. package/components/radio.js +1 -4
  21. package/dist/cjs/{button-active-c358e83c.js → button-active-f2147e85.js} +1 -1
  22. package/dist/cjs/{data-db832785.js → data-c8d21093.js} +96 -22
  23. package/dist/cjs/{haptic-c5f6b4d5.js → haptic-678abc9f.js} +1 -0
  24. package/dist/cjs/{index-1f1ea05f.js → index-2e612e35.js} +26 -19
  25. package/dist/cjs/{index-fa649bd8.js → index-33d2809c.js} +2 -2
  26. package/dist/cjs/{index-d8d1fc0b.js → index-d8f84c5a.js} +1 -1
  27. package/dist/cjs/index.cjs.js +8 -6
  28. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  29. package/dist/cjs/ion-action-sheet.cjs.entry.js +3 -3
  30. package/dist/cjs/ion-alert.cjs.entry.js +11 -3
  31. package/dist/cjs/ion-app_8.cjs.entry.js +1 -1
  32. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  33. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  34. package/dist/cjs/ion-button_2.cjs.entry.js +9 -5
  35. package/dist/cjs/ion-checkbox.cjs.entry.js +0 -3
  36. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  37. package/dist/cjs/ion-datetime_3.cjs.entry.js +6 -6
  38. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  39. package/dist/cjs/ion-input.cjs.entry.js +1 -1
  40. package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
  41. package/dist/cjs/ion-loading.cjs.entry.js +1 -1
  42. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -17
  43. package/dist/cjs/ion-modal.cjs.entry.js +2 -2
  44. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -1
  45. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +1 -1
  46. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -5
  48. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  49. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  50. package/dist/cjs/ion-route_4.cjs.entry.js +3 -0
  51. package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
  52. package/dist/cjs/ion-select_3.cjs.entry.js +3 -3
  53. package/dist/cjs/ion-toast.cjs.entry.js +174 -32
  54. package/dist/cjs/ion-toggle.cjs.entry.js +2 -5
  55. package/dist/cjs/ionic.cjs.js +1 -1
  56. package/dist/cjs/{ios.transition-4195d10d.js → ios.transition-8ddf91e6.js} +2 -1
  57. package/dist/cjs/loader.cjs.js +1 -1
  58. package/dist/cjs/{md.transition-0713f667.js → md.transition-44ff8566.js} +1 -1
  59. package/dist/cjs/{overlays-efc9d511.js → overlays-9cab437c.js} +1 -0
  60. package/dist/collection/components/alert/alert.js +8 -0
  61. package/dist/collection/components/alert/test/a11y/alert.e2e.js +11 -0
  62. package/dist/collection/components/checkbox/checkbox.js +0 -3
  63. package/dist/collection/components/datetime/datetime.js +12 -6
  64. package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +14 -0
  65. package/dist/collection/components/datetime/utils/data.js +33 -7
  66. package/dist/collection/components/datetime/utils/format.js +27 -10
  67. package/dist/collection/components/datetime/utils/helpers.js +37 -5
  68. package/dist/collection/components/datetime-button/datetime-button.js +4 -4
  69. package/dist/collection/components/menu/menu.js +0 -12
  70. package/dist/collection/components/menu/test/multiple/menu.e2e.js +60 -0
  71. package/dist/collection/components/nav/nav.js +1 -0
  72. package/dist/collection/components/radio/radio.js +1 -4
  73. package/dist/collection/components/radio-group/radio-group.js +1 -1
  74. package/dist/collection/components/router/router.js +2 -0
  75. package/dist/collection/components/router/utils/path.js +1 -0
  76. package/dist/collection/components/select/select.js +1 -1
  77. package/dist/collection/components/toast/animations/ios.enter.js +2 -3
  78. package/dist/collection/components/toast/animations/ios.leave.js +2 -3
  79. package/dist/collection/components/toast/animations/md.enter.js +2 -3
  80. package/dist/collection/components/toast/animations/utils.js +85 -0
  81. package/dist/collection/components/toast/test/position-anchor/toast.e2e.js +45 -0
  82. package/dist/collection/components/toast/toast.js +98 -9
  83. package/dist/collection/components/toggle/toggle.js +0 -3
  84. package/dist/collection/index.js +1 -0
  85. package/dist/collection/utils/menu-controller/index.js +26 -19
  86. package/dist/collection/utils/native/haptic.js +1 -0
  87. package/dist/collection/utils/overlays.js +1 -0
  88. package/dist/collection/utils/transition/ios.transition.js +1 -0
  89. package/dist/docs.json +73 -10
  90. package/dist/esm/{button-active-7180a130.js → button-active-3dd473a1.js} +1 -1
  91. package/dist/esm/{data-009dbf15.js → data-44d9e816.js} +96 -22
  92. package/dist/esm/{haptic-6447af60.js → haptic-1243b917.js} +1 -0
  93. package/dist/esm/{index-ecfc2c9f.js → index-504b03f0.js} +1 -1
  94. package/dist/esm/{index-0b0dd67c.js → index-6e10cd02.js} +2 -2
  95. package/dist/esm/{index-97a2bb98.js → index-c3e624b7.js} +26 -19
  96. package/dist/esm/index.js +7 -6
  97. package/dist/esm/ion-accordion_2.entry.js +1 -1
  98. package/dist/esm/ion-action-sheet.entry.js +3 -3
  99. package/dist/esm/ion-alert.entry.js +11 -3
  100. package/dist/esm/ion-app_8.entry.js +1 -1
  101. package/dist/esm/ion-back-button.entry.js +1 -1
  102. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  103. package/dist/esm/ion-button_2.entry.js +9 -5
  104. package/dist/esm/ion-checkbox.entry.js +0 -3
  105. package/dist/esm/ion-datetime-button.entry.js +4 -4
  106. package/dist/esm/ion-datetime_3.entry.js +6 -6
  107. package/dist/esm/ion-fab_3.entry.js +1 -1
  108. package/dist/esm/ion-input.entry.js +1 -1
  109. package/dist/esm/ion-item_8.entry.js +1 -1
  110. package/dist/esm/ion-loading.entry.js +1 -1
  111. package/dist/esm/ion-menu_3.entry.js +5 -16
  112. package/dist/esm/ion-modal.entry.js +2 -2
  113. package/dist/esm/ion-nav_2.entry.js +2 -1
  114. package/dist/esm/ion-picker-column-internal.entry.js +1 -1
  115. package/dist/esm/ion-popover.entry.js +2 -2
  116. package/dist/esm/ion-radio_2.entry.js +2 -5
  117. package/dist/esm/ion-refresher_2.entry.js +2 -2
  118. package/dist/esm/ion-reorder_2.entry.js +2 -2
  119. package/dist/esm/ion-route_4.entry.js +3 -0
  120. package/dist/esm/ion-searchbar.entry.js +1 -1
  121. package/dist/esm/ion-select_3.entry.js +3 -3
  122. package/dist/esm/ion-toast.entry.js +157 -15
  123. package/dist/esm/ion-toggle.entry.js +2 -5
  124. package/dist/esm/ionic.js +1 -1
  125. package/dist/esm/{ios.transition-875ba2ea.js → ios.transition-6707a3a1.js} +2 -1
  126. package/dist/esm/loader.js +1 -1
  127. package/dist/esm/{md.transition-54c79f72.js → md.transition-957964fd.js} +1 -1
  128. package/dist/esm/{overlays-84621c0a.js → overlays-753933fc.js} +1 -0
  129. package/dist/esm-es5/{button-active-7180a130.js → button-active-3dd473a1.js} +1 -1
  130. package/dist/esm-es5/data-44d9e816.js +4 -0
  131. package/dist/esm-es5/{index-0b0dd67c.js → index-6e10cd02.js} +1 -1
  132. package/dist/esm-es5/index-c3e624b7.js +4 -0
  133. package/dist/esm-es5/index.js +1 -1
  134. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  135. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  136. package/dist/esm-es5/ion-alert.entry.js +1 -1
  137. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  138. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  139. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  140. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  141. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  142. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  143. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  144. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  145. package/dist/esm-es5/ion-input.entry.js +1 -1
  146. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  147. package/dist/esm-es5/ion-loading.entry.js +1 -1
  148. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  149. package/dist/esm-es5/ion-modal.entry.js +1 -1
  150. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  151. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  152. package/dist/esm-es5/ion-popover.entry.js +1 -1
  153. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  154. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  155. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  156. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  157. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  158. package/dist/esm-es5/ion-toast.entry.js +1 -1
  159. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  160. package/dist/esm-es5/ionic.js +1 -1
  161. package/dist/esm-es5/{ios.transition-875ba2ea.js → ios.transition-6707a3a1.js} +1 -1
  162. package/dist/esm-es5/loader.js +1 -1
  163. package/dist/esm-es5/{md.transition-54c79f72.js → md.transition-957964fd.js} +1 -1
  164. package/dist/html.html-data.json +11 -1
  165. package/dist/ionic/index.esm.js +1 -1
  166. package/dist/ionic/ionic.esm.js +1 -1
  167. package/dist/ionic/{p-2134558d.entry.js → p-0023e6eb.entry.js} +1 -1
  168. package/dist/ionic/{p-0dcdf480.system.entry.js → p-00f709ca.system.entry.js} +1 -1
  169. package/dist/ionic/{p-2330af92.system.entry.js → p-037e2738.system.entry.js} +1 -1
  170. package/dist/ionic/{p-678f37d7.entry.js → p-03f7e3cc.entry.js} +1 -1
  171. package/dist/ionic/{p-a1d7f4ef.entry.js → p-0459db58.entry.js} +1 -1
  172. package/dist/ionic/{p-b2397f35.entry.js → p-06756f31.entry.js} +1 -1
  173. package/dist/ionic/p-0779a5c8.system.js +4 -0
  174. package/dist/ionic/{p-8c17d825.js → p-0d198537.js} +1 -1
  175. package/dist/ionic/{p-a9d7f984.entry.js → p-0d3d44e7.entry.js} +1 -1
  176. package/dist/ionic/p-100ea813.system.entry.js +4 -0
  177. package/dist/ionic/{p-f4267847.system.entry.js → p-10fcb3a3.system.entry.js} +1 -1
  178. package/dist/ionic/{p-00d3814a.system.entry.js → p-14fd96a2.system.entry.js} +1 -1
  179. package/dist/ionic/p-17240d90.js +4 -0
  180. package/dist/ionic/{p-af39c1c5.js → p-1d9b39f3.js} +1 -1
  181. package/dist/ionic/{p-a1528344.entry.js → p-2acea831.entry.js} +1 -1
  182. package/dist/ionic/p-2b47b2ce.entry.js +4 -0
  183. package/dist/ionic/p-32b5f10e.entry.js +4 -0
  184. package/dist/ionic/{p-007168b8.system.entry.js → p-3634b770.system.entry.js} +1 -1
  185. package/dist/ionic/{p-3d278648.system.entry.js → p-416d7f8d.system.entry.js} +1 -1
  186. package/dist/ionic/{p-979dc719.entry.js → p-44fa0a61.entry.js} +1 -1
  187. package/dist/ionic/{p-a51f5932.entry.js → p-4555335a.entry.js} +1 -1
  188. package/dist/ionic/p-469d6a98.entry.js +4 -0
  189. package/dist/ionic/{p-a4e95028.system.entry.js → p-48159bfc.system.entry.js} +1 -1
  190. package/dist/ionic/p-50125c8c.js +4 -0
  191. package/dist/ionic/p-520789c2.js +4 -0
  192. package/dist/ionic/{p-17dd92fe.system.entry.js → p-5b5311f6.system.entry.js} +1 -1
  193. package/dist/ionic/{p-24952f8a.system.entry.js → p-5cafe439.system.entry.js} +1 -1
  194. package/dist/ionic/{p-eaa58d23.entry.js → p-60dee335.entry.js} +1 -1
  195. package/dist/ionic/p-68b405cc.entry.js +4 -0
  196. package/dist/ionic/{p-6ce891b2.entry.js → p-6a3c14d1.entry.js} +1 -1
  197. package/dist/ionic/{p-28678af4.system.entry.js → p-6a92db9d.system.entry.js} +1 -1
  198. package/dist/ionic/p-6cfcb294.system.js +4 -0
  199. package/dist/ionic/{p-018ad59f.entry.js → p-70441a5b.entry.js} +1 -1
  200. package/dist/ionic/p-73eba881.system.js +1 -1
  201. package/dist/ionic/{p-0c7d0167.system.entry.js → p-7520e873.system.entry.js} +1 -1
  202. package/dist/ionic/{p-df951755.system.entry.js → p-88a1a4fe.system.entry.js} +1 -1
  203. package/dist/ionic/{p-0fc8a522.system.entry.js → p-8957b1de.system.entry.js} +1 -1
  204. package/dist/ionic/{p-9e6bf328.system.js → p-90012797.system.js} +1 -1
  205. package/dist/ionic/{p-a8403bed.system.entry.js → p-9736406a.system.entry.js} +1 -1
  206. package/dist/ionic/{p-0e070fbe.entry.js → p-9b796813.entry.js} +1 -1
  207. package/dist/ionic/{p-2062958e.js → p-9dbc208c.js} +1 -1
  208. package/dist/ionic/{p-52e5f8f0.system.entry.js → p-a157df46.system.entry.js} +1 -1
  209. package/dist/ionic/p-a4ce3b06.system.entry.js +4 -0
  210. package/dist/ionic/{p-f6f4d4bb.system.entry.js → p-a60cff26.system.entry.js} +1 -1
  211. package/dist/ionic/{p-a6c52452.entry.js → p-a7361c85.entry.js} +1 -1
  212. package/dist/ionic/{p-32eaa293.entry.js → p-a99e7e72.entry.js} +1 -1
  213. package/dist/ionic/p-aae05032.entry.js +4 -0
  214. package/dist/ionic/{p-7061fa75.system.entry.js → p-ae57449e.system.entry.js} +1 -1
  215. package/dist/ionic/{p-e92068d4.system.entry.js → p-ae8121f5.system.entry.js} +1 -1
  216. package/dist/ionic/{p-d17638e9.system.js → p-b25a96b7.system.js} +1 -1
  217. package/dist/ionic/{p-53d4606a.entry.js → p-b4f14d9e.entry.js} +1 -1
  218. package/dist/ionic/{p-ec29338e.entry.js → p-b7ac706d.entry.js} +1 -1
  219. package/dist/ionic/p-b8c3f071.system.js +4 -0
  220. package/dist/ionic/{p-dd0c00ed.entry.js → p-bc7420cc.entry.js} +1 -1
  221. package/dist/ionic/{p-ab37db48.entry.js → p-c0c794dd.entry.js} +1 -1
  222. package/dist/ionic/{p-e40b2cb4.system.entry.js → p-ccdd595c.system.entry.js} +1 -1
  223. package/dist/ionic/p-d0d59328.entry.js +4 -0
  224. package/dist/ionic/p-d1df86ff.entry.js +4 -0
  225. package/dist/ionic/{p-f1c2678b.system.entry.js → p-d8eeabae.system.entry.js} +1 -1
  226. package/dist/ionic/{p-cd075e75.system.entry.js → p-db8b267a.system.entry.js} +1 -1
  227. package/dist/ionic/{p-5fd0a13e.system.entry.js → p-dcfea01f.system.entry.js} +1 -1
  228. package/dist/ionic/{p-b7258ddb.system.js → p-e0f66356.system.js} +1 -1
  229. package/dist/ionic/{p-7c901810.system.js → p-ec25d547.system.js} +1 -1
  230. package/dist/ionic/{p-67e21699.entry.js → p-ef4408d6.entry.js} +1 -1
  231. package/dist/ionic/{p-d511de89.system.entry.js → p-efd574eb.system.entry.js} +1 -1
  232. package/dist/ionic/{p-7fd0f045.system.entry.js → p-f48af9da.system.entry.js} +1 -1
  233. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +46 -4
  234. package/dist/types/components/datetime/datetime-interface.d.ts +1 -0
  235. package/dist/types/components/datetime/datetime.d.ts +2 -2
  236. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  237. package/dist/types/components/datetime/utils/format.d.ts +3 -3
  238. package/dist/types/components/datetime/utils/helpers.d.ts +15 -1
  239. package/dist/types/components/menu/menu-interface.d.ts +0 -1
  240. package/dist/types/components/toast/animations/ios.enter.d.ts +2 -1
  241. package/dist/types/components/toast/animations/ios.leave.d.ts +2 -2
  242. package/dist/types/components/toast/animations/md.enter.d.ts +2 -1
  243. package/dist/types/components/toast/animations/utils.d.ts +18 -0
  244. package/dist/types/components/toast/toast-interface.d.ts +11 -0
  245. package/dist/types/components/toast/toast.d.ts +21 -1
  246. package/dist/types/components.d.ts +16 -8
  247. package/dist/types/index.d.ts +1 -0
  248. package/dist/types/utils/menu-controller/index.d.ts +1 -2
  249. package/hydrate/index.js +309 -87
  250. package/package.json +5 -6
  251. package/dist/esm-es5/data-009dbf15.js +0 -4
  252. package/dist/esm-es5/index-97a2bb98.js +0 -4
  253. package/dist/ionic/p-07c816fb.entry.js +0 -4
  254. package/dist/ionic/p-15041a8c.system.js +0 -4
  255. package/dist/ionic/p-15278928.entry.js +0 -4
  256. package/dist/ionic/p-44ef7224.system.js +0 -4
  257. package/dist/ionic/p-4c274938.entry.js +0 -4
  258. package/dist/ionic/p-63b4ef44.system.entry.js +0 -4
  259. package/dist/ionic/p-775f3749.entry.js +0 -4
  260. package/dist/ionic/p-77872abc.entry.js +0 -4
  261. package/dist/ionic/p-77b9d68a.system.entry.js +0 -4
  262. package/dist/ionic/p-7cfd253c.js +0 -4
  263. package/dist/ionic/p-8b33cfef.entry.js +0 -4
  264. package/dist/ionic/p-a1e2f98c.js +0 -4
  265. package/dist/ionic/p-c5395981.js +0 -4
  266. package/dist/ionic/p-c9524896.system.js +0 -4
  267. package/dist/ionic/p-d055bba9.entry.js +0 -4
  268. /package/dist/esm-es5/{haptic-6447af60.js → haptic-1243b917.js} +0 -0
  269. /package/dist/esm-es5/{index-ecfc2c9f.js → index-504b03f0.js} +0 -0
  270. /package/dist/esm-es5/{overlays-84621c0a.js → overlays-753933fc.js} +0 -0
  271. /package/dist/ionic/{p-0a87858b.js → p-15bae383.js} +0 -0
  272. /package/dist/ionic/{p-8985b268.system.js → p-3f919368.system.js} +0 -0
  273. /package/dist/ionic/{p-c8ec0d79.system.js → p-82c72668.system.js} +0 -0
  274. /package/dist/ionic/{p-14d7b7e2.system.js → p-b4b4bb29.system.js} +0 -0
  275. /package/dist/ionic/{p-bb6f38ed.js → p-b923f3d7.js} +0 -0
  276. /package/dist/ionic/{p-68a3da51.js → p-ee8881d0.js} +0 -0
@@ -7,6 +7,7 @@ export interface ToastOptions {
7
7
  duration?: number;
8
8
  buttons?: (ToastButton | string)[];
9
9
  position?: 'top' | 'bottom' | 'middle';
10
+ positionAnchor?: HTMLElement | string;
10
11
  translucent?: boolean;
11
12
  animated?: boolean;
12
13
  icon?: string;
@@ -37,3 +38,13 @@ export interface ToastButton {
37
38
  handler?: () => boolean | void | Promise<boolean | void>;
38
39
  }
39
40
  export type ToastPosition = 'top' | 'bottom' | 'middle';
41
+ interface ToastPositionAlias {
42
+ position: ToastPosition;
43
+ }
44
+ export interface ToastAnimationPosition {
45
+ top: string;
46
+ bottom: string;
47
+ }
48
+ export type ToastPresentOptions = ToastPositionAlias & ToastAnimationPosition;
49
+ export type ToastDismissOptions = ToastPositionAlias & ToastAnimationPosition;
50
+ export {};
@@ -19,6 +19,12 @@ export declare class Toast implements ComponentInterface, OverlayInterface {
19
19
  private readonly triggerController;
20
20
  private customHTMLEnabled;
21
21
  private durationTimeout?;
22
+ /**
23
+ * Holds the position of the toast calculated in the present
24
+ * animation, to be passed along to the dismiss animation so
25
+ * we don't have to calculate the position twice.
26
+ */
27
+ private lastPresentedPosition?;
22
28
  presented: boolean;
23
29
  /**
24
30
  * When `true`, content inside of .toast-content
@@ -84,9 +90,17 @@ export declare class Toast implements ComponentInterface, OverlayInterface {
84
90
  */
85
91
  keyboardClose: boolean;
86
92
  /**
87
- * The position of the toast on the screen.
93
+ * The starting position of the toast on the screen. Can be tweaked further
94
+ * using the `positionAnchor` property.
88
95
  */
89
96
  position: ToastPosition;
97
+ /**
98
+ * The element to anchor the toast's position to. Can be set as a direct reference
99
+ * or the ID of the element. With `position="bottom"`, the toast will sit above the
100
+ * chosen element. With `position="top"`, the toast will sit below the chosen element.
101
+ * With `position="middle"`, the value of `positionAnchor` is ignored.
102
+ */
103
+ positionAnchor?: HTMLElement | string;
90
104
  /**
91
105
  * An array of buttons for the toast.
92
106
  */
@@ -190,6 +204,12 @@ export declare class Toast implements ComponentInterface, OverlayInterface {
190
204
  */
191
205
  onWillDismiss<T = any>(): Promise<OverlayEventDetail<T>>;
192
206
  private getButtons;
207
+ /**
208
+ * Returns the element specified by the positionAnchor prop,
209
+ * or undefined if prop's value is an ID string and the element
210
+ * is not found in the DOM.
211
+ */
212
+ private getAnchorElement;
193
213
  private buttonClick;
194
214
  private callButtonHandler;
195
215
  private dispatchCancelHandler;
@@ -15,7 +15,7 @@ import { RouteID, RouterDirection, RouterEventDetail, RouteWrite } from "./compo
15
15
  import { BreadcrumbCollapsedClickEventDetail } from "./components/breadcrumb/breadcrumb-interface";
16
16
  import { CheckboxChangeEventDetail } from "./components/checkbox/checkbox-interface";
17
17
  import { ScrollBaseDetail, ScrollDetail } from "./components/content/content-interface";
18
- import { DatetimeChangeEventDetail, DatetimeHighlight, DatetimeHighlightCallback, DatetimePresentation, TitleSelectedDatesFormatter } from "./components/datetime/datetime-interface";
18
+ import { DatetimeChangeEventDetail, DatetimeHighlight, DatetimeHighlightCallback, DatetimeHourCycle, DatetimePresentation, TitleSelectedDatesFormatter } from "./components/datetime/datetime-interface";
19
19
  import { SpinnerTypes } from "./components/spinner/spinner-configs";
20
20
  import { InputChangeEventDetail, InputInputEventDetail } from "./components/input/input-interface";
21
21
  import { CounterFormatter } from "./components/item/item-interface";
@@ -39,7 +39,7 @@ import { SelectChangeEventDetail, SelectCompareFn, SelectInterface } from "./com
39
39
  import { SelectPopoverOption } from "./components/select-popover/select-popover-interface";
40
40
  import { TabBarChangedEventDetail, TabButtonClickEventDetail, TabButtonLayout } from "./components/tab-bar/tab-bar-interface";
41
41
  import { TextareaChangeEventDetail, TextareaInputEventDetail } from "./components/textarea/textarea-interface";
42
- import { ToastButton, ToastLayout, ToastPosition } from "./components/toast/toast-interface";
42
+ import { ToastButton, ToastDismissOptions, ToastLayout, ToastPosition, ToastPresentOptions } from "./components/toast/toast-interface";
43
43
  import { ToggleChangeEventDetail } from "./components/toggle/toggle-interface";
44
44
  export { AccordionGroupChangeEventDetail } from "./components/accordion-group/accordion-group-interface";
45
45
  export { AnimationBuilder, AutocompleteTypes, Color, ComponentProps, ComponentRef, FrameworkDelegate, StyleEventDetail, TextFieldTypes } from "./interface";
@@ -51,7 +51,7 @@ export { RouteID, RouterDirection, RouterEventDetail, RouteWrite } from "./compo
51
51
  export { BreadcrumbCollapsedClickEventDetail } from "./components/breadcrumb/breadcrumb-interface";
52
52
  export { CheckboxChangeEventDetail } from "./components/checkbox/checkbox-interface";
53
53
  export { ScrollBaseDetail, ScrollDetail } from "./components/content/content-interface";
54
- export { DatetimeChangeEventDetail, DatetimeHighlight, DatetimeHighlightCallback, DatetimePresentation, TitleSelectedDatesFormatter } from "./components/datetime/datetime-interface";
54
+ export { DatetimeChangeEventDetail, DatetimeHighlight, DatetimeHighlightCallback, DatetimeHourCycle, DatetimePresentation, TitleSelectedDatesFormatter } from "./components/datetime/datetime-interface";
55
55
  export { SpinnerTypes } from "./components/spinner/spinner-configs";
56
56
  export { InputChangeEventDetail, InputInputEventDetail } from "./components/input/input-interface";
57
57
  export { CounterFormatter } from "./components/item/item-interface";
@@ -75,7 +75,7 @@ export { SelectChangeEventDetail, SelectCompareFn, SelectInterface } from "./com
75
75
  export { SelectPopoverOption } from "./components/select-popover/select-popover-interface";
76
76
  export { TabBarChangedEventDetail, TabButtonClickEventDetail, TabButtonLayout } from "./components/tab-bar/tab-bar-interface";
77
77
  export { TextareaChangeEventDetail, TextareaInputEventDetail } from "./components/textarea/textarea-interface";
78
- export { ToastButton, ToastLayout, ToastPosition } from "./components/toast/toast-interface";
78
+ export { ToastButton, ToastDismissOptions, ToastLayout, ToastPosition, ToastPresentOptions } from "./components/toast/toast-interface";
79
79
  export { ToggleChangeEventDetail } from "./components/toggle/toggle-interface";
80
80
  export namespace Components {
81
81
  interface IonAccordion {
@@ -865,7 +865,7 @@ export namespace Components {
865
865
  /**
866
866
  * The hour cycle of the `ion-datetime`. If no value is set, this is specified by the current locale.
867
867
  */
868
- "hourCycle"?: 'h23' | 'h12';
868
+ "hourCycle"?: DatetimeHourCycle;
869
869
  /**
870
870
  * Values used to create the list of selectable hours. By default the hour values range from `0` to `23` for 24-hour, or `1` to `12` for 12-hour. However, to control exactly which hours to display, the `hourValues` input can take a number, an array of numbers, or a string of comma separated numbers.
871
871
  */
@@ -3157,9 +3157,13 @@ export namespace Components {
3157
3157
  "onWillDismiss": <T = any>() => Promise<OverlayEventDetail<T>>;
3158
3158
  "overlayIndex": number;
3159
3159
  /**
3160
- * The position of the toast on the screen.
3160
+ * The starting position of the toast on the screen. Can be tweaked further using the `positionAnchor` property.
3161
3161
  */
3162
3162
  "position": ToastPosition;
3163
+ /**
3164
+ * The element to anchor the toast's position to. Can be set as a direct reference or the ID of the element. With `position="bottom"`, the toast will sit above the chosen element. With `position="top"`, the toast will sit below the chosen element. With `position="middle"`, the value of `positionAnchor` is ignored.
3165
+ */
3166
+ "positionAnchor"?: HTMLElement | string;
3163
3167
  /**
3164
3168
  * Present the toast overlay after it has been created.
3165
3169
  */
@@ -4868,7 +4872,7 @@ declare namespace LocalJSX {
4868
4872
  /**
4869
4873
  * The hour cycle of the `ion-datetime`. If no value is set, this is specified by the current locale.
4870
4874
  */
4871
- "hourCycle"?: 'h23' | 'h12';
4875
+ "hourCycle"?: DatetimeHourCycle;
4872
4876
  /**
4873
4877
  * Values used to create the list of selectable hours. By default the hour values range from `0` to `23` for 24-hour, or `1` to `12` for 12-hour. However, to control exactly which hours to display, the `hourValues` input can take a number, an array of numbers, or a string of comma separated numbers.
4874
4878
  */
@@ -7152,9 +7156,13 @@ declare namespace LocalJSX {
7152
7156
  */
7153
7157
  "onWillPresent"?: (event: IonToastCustomEvent<void>) => void;
7154
7158
  /**
7155
- * The position of the toast on the screen.
7159
+ * The starting position of the toast on the screen. Can be tweaked further using the `positionAnchor` property.
7156
7160
  */
7157
7161
  "position"?: ToastPosition;
7162
+ /**
7163
+ * The element to anchor the toast's position to. Can be set as a direct reference or the ID of the element. With `position="bottom"`, the toast will sit above the chosen element. With `position="top"`, the toast will sit below the chosen element. With `position="middle"`, the value of `positionAnchor` is ignored.
7164
+ */
7165
+ "positionAnchor"?: HTMLElement | string;
7158
7166
  /**
7159
7167
  * If `true`, the toast will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
7160
7168
  */
@@ -10,6 +10,7 @@ export { componentOnReady } from './utils/helpers';
10
10
  export { isPlatform, Platforms, PlatformConfig, getPlatforms } from './utils/platform';
11
11
  export { IonicSafeString } from './utils/sanitization';
12
12
  export { IonicConfig, getMode, setupConfig } from './utils/config';
13
+ export { openURL } from './utils/theme';
13
14
  export { LIFECYCLE_WILL_ENTER, LIFECYCLE_DID_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_UNLOAD, } from './components/nav/constants';
14
15
  export { menuController } from './utils/menu-controller';
15
16
  export { alertController, actionSheetController, modalController, loadingController, pickerController, popoverController, toastController, } from './utils/overlays';
@@ -2,7 +2,7 @@ import type { MenuI } from '../../components/menu/menu-interface';
2
2
  import type { AnimationBuilder } from '../../interface';
3
3
  export declare const menuController: {
4
4
  registerAnimation: (name: string, animation: AnimationBuilder) => void;
5
- get: (menu?: string | null) => Promise<HTMLIonMenuElement | undefined>;
5
+ get: (menu?: string | null, logOnMultipleSideMenus?: boolean) => Promise<HTMLIonMenuElement | undefined>;
6
6
  getMenus: () => Promise<HTMLIonMenuElement[]>;
7
7
  getOpen: () => Promise<HTMLIonMenuElement | undefined>;
8
8
  isEnabled: (menu?: string | null) => Promise<boolean>;
@@ -18,5 +18,4 @@ export declare const menuController: {
18
18
  _register: (menu: MenuI) => void;
19
19
  _unregister: (menu: MenuI) => void;
20
20
  _setOpen: (menu: MenuI, shouldOpen: boolean, animated: boolean) => Promise<boolean>;
21
- _setActiveMenu: (menu: MenuI) => void;
22
21
  };