@ionic/core 7.4.4-dev.11699475060.1eee2115 → 7.4.4-dev.11700515976.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 (404) 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 +18 -32
  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/{app-globals-fe1ad535.js → app-globals-84b6a756.js} +1 -1
  22. package/dist/cjs/{button-active-0932cee9.js → button-active-f2147e85.js} +2 -2
  23. package/dist/cjs/{data-db832785.js → data-c8d21093.js} +96 -22
  24. package/dist/cjs/{haptic-c5f6b4d5.js → haptic-678abc9f.js} +1 -0
  25. package/dist/cjs/{index-305a23dc.js → index-14a4821e.js} +51 -95
  26. package/dist/cjs/{index-f94cbab1.js → index-2e612e35.js} +27 -20
  27. package/dist/cjs/{index-d3568232.js → index-33d2809c.js} +3 -3
  28. package/dist/cjs/{index-d8d1fc0b.js → index-d8f84c5a.js} +1 -1
  29. package/dist/cjs/index.cjs.js +10 -8
  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 +13 -5
  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 +11 -7
  39. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  40. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -5
  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 +8 -19
  53. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  54. package/dist/cjs/ion-nav_2.cjs.entry.js +4 -3
  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 +4 -7
  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 +5 -2
  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 +22 -36
  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 +175 -33
  75. package/dist/cjs/ion-toggle.cjs.entry.js +4 -7
  76. package/dist/cjs/{ionic-global-fb752503.js → ionic-global-a71608df.js} +1 -1
  77. package/dist/cjs/ionic.cjs.js +5 -5
  78. package/dist/cjs/{ios.transition-7d688757.js → ios.transition-8ddf91e6.js} +3 -2
  79. package/dist/cjs/loader.cjs.js +4 -4
  80. package/dist/cjs/{md.transition-d77d3c2e.js → md.transition-44ff8566.js} +2 -2
  81. package/dist/cjs/{overlays-7e1a08fa.js → overlays-9cab437c.js} +2 -1
  82. package/dist/cjs/{status-tap-778e8054.js → status-tap-8c22e017.js} +1 -1
  83. package/dist/collection/collection-manifest.json +1 -1
  84. package/dist/collection/components/alert/alert.js +8 -0
  85. package/dist/collection/components/alert/test/a11y/alert.e2e.js +11 -0
  86. package/dist/collection/components/checkbox/checkbox.js +0 -3
  87. package/dist/collection/components/datetime/datetime.js +12 -6
  88. package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +14 -0
  89. package/dist/collection/components/datetime/utils/data.js +33 -7
  90. package/dist/collection/components/datetime/utils/format.js +27 -10
  91. package/dist/collection/components/datetime/utils/helpers.js +37 -5
  92. package/dist/collection/components/datetime-button/datetime-button.js +4 -4
  93. package/dist/collection/components/menu/menu.js +0 -12
  94. package/dist/collection/components/menu/test/multiple/menu.e2e.js +60 -0
  95. package/dist/collection/components/nav/nav.js +1 -0
  96. package/dist/collection/components/radio/radio.js +1 -4
  97. package/dist/collection/components/radio-group/radio-group.js +1 -1
  98. package/dist/collection/components/router/router.js +2 -0
  99. package/dist/collection/components/router/utils/path.js +1 -0
  100. package/dist/collection/components/select/select.js +18 -32
  101. package/dist/collection/components/toast/animations/ios.enter.js +2 -3
  102. package/dist/collection/components/toast/animations/ios.leave.js +2 -3
  103. package/dist/collection/components/toast/animations/md.enter.js +2 -3
  104. package/dist/collection/components/toast/animations/utils.js +85 -0
  105. package/dist/collection/components/toast/test/position-anchor/toast.e2e.js +45 -0
  106. package/dist/collection/components/toast/toast.js +98 -9
  107. package/dist/collection/components/toggle/toggle.js +0 -3
  108. package/dist/collection/index.js +1 -0
  109. package/dist/collection/utils/menu-controller/index.js +26 -19
  110. package/dist/collection/utils/native/haptic.js +1 -0
  111. package/dist/collection/utils/overlays.js +1 -0
  112. package/dist/collection/utils/transition/ios.transition.js +1 -0
  113. package/dist/docs.json +74 -11
  114. package/dist/esm/{app-globals-ec816a70.js → app-globals-df292a32.js} +1 -1
  115. package/dist/esm/{button-active-5136c12d.js → button-active-3dd473a1.js} +2 -2
  116. package/dist/esm/{data-009dbf15.js → data-44d9e816.js} +96 -22
  117. package/dist/esm/{haptic-6447af60.js → haptic-1243b917.js} +1 -0
  118. package/dist/esm/{index-ecfc2c9f.js → index-504b03f0.js} +1 -1
  119. package/dist/esm/{index-641aeeed.js → index-6e10cd02.js} +3 -3
  120. package/dist/esm/{index-d78b533e.js → index-c3e624b7.js} +27 -20
  121. package/dist/esm/{index-b49b173c.js → index-cb894020.js} +51 -95
  122. package/dist/esm/index.js +9 -8
  123. package/dist/esm/ion-accordion_2.entry.js +3 -3
  124. package/dist/esm/ion-action-sheet.entry.js +5 -5
  125. package/dist/esm/ion-alert.entry.js +13 -5
  126. package/dist/esm/ion-app_8.entry.js +4 -4
  127. package/dist/esm/ion-avatar_3.entry.js +2 -2
  128. package/dist/esm/ion-back-button.entry.js +3 -3
  129. package/dist/esm/ion-backdrop.entry.js +2 -2
  130. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  131. package/dist/esm/ion-button_2.entry.js +11 -7
  132. package/dist/esm/ion-card_5.entry.js +2 -2
  133. package/dist/esm/ion-checkbox.entry.js +2 -5
  134. package/dist/esm/ion-chip.entry.js +2 -2
  135. package/dist/esm/ion-col_3.entry.js +2 -2
  136. package/dist/esm/ion-datetime-button.entry.js +6 -6
  137. package/dist/esm/ion-datetime_3.entry.js +8 -8
  138. package/dist/esm/ion-fab_3.entry.js +3 -3
  139. package/dist/esm/ion-img.entry.js +2 -2
  140. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  141. package/dist/esm/ion-input.entry.js +3 -3
  142. package/dist/esm/ion-item-option_3.entry.js +2 -2
  143. package/dist/esm/ion-item_8.entry.js +3 -3
  144. package/dist/esm/ion-loading.entry.js +3 -3
  145. package/dist/esm/ion-menu_3.entry.js +7 -18
  146. package/dist/esm/ion-modal.entry.js +4 -4
  147. package/dist/esm/ion-nav_2.entry.js +4 -3
  148. package/dist/esm/ion-picker-column-internal.entry.js +3 -3
  149. package/dist/esm/ion-picker-internal.entry.js +1 -1
  150. package/dist/esm/ion-popover.entry.js +4 -4
  151. package/dist/esm/ion-progress-bar.entry.js +2 -2
  152. package/dist/esm/ion-radio_2.entry.js +4 -7
  153. package/dist/esm/ion-range.entry.js +2 -2
  154. package/dist/esm/ion-refresher_2.entry.js +4 -4
  155. package/dist/esm/ion-reorder_2.entry.js +4 -4
  156. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  157. package/dist/esm/ion-route_4.entry.js +5 -2
  158. package/dist/esm/ion-searchbar.entry.js +3 -3
  159. package/dist/esm/ion-segment_2.entry.js +2 -2
  160. package/dist/esm/ion-select_3.entry.js +22 -36
  161. package/dist/esm/ion-spinner.entry.js +2 -2
  162. package/dist/esm/ion-split-pane.entry.js +2 -2
  163. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  164. package/dist/esm/ion-tab_2.entry.js +1 -1
  165. package/dist/esm/ion-text.entry.js +2 -2
  166. package/dist/esm/ion-textarea.entry.js +2 -2
  167. package/dist/esm/ion-toast.entry.js +159 -17
  168. package/dist/esm/ion-toggle.entry.js +4 -7
  169. package/dist/esm/{ionic-global-246ca78f.js → ionic-global-63a8d8c9.js} +1 -1
  170. package/dist/esm/ionic.js +6 -6
  171. package/dist/esm/{ios.transition-04c9a97a.js → ios.transition-6707a3a1.js} +3 -2
  172. package/dist/esm/loader.js +5 -5
  173. package/dist/esm/{md.transition-67a8aabd.js → md.transition-957964fd.js} +2 -2
  174. package/dist/esm/{overlays-2fa52617.js → overlays-753933fc.js} +2 -1
  175. package/dist/esm/{status-tap-9aeeaca5.js → status-tap-73e982b6.js} +1 -1
  176. package/dist/esm-es5/app-globals-df292a32.js +4 -0
  177. package/dist/esm-es5/{button-active-5136c12d.js → button-active-3dd473a1.js} +1 -1
  178. package/dist/esm-es5/data-44d9e816.js +4 -0
  179. package/dist/esm-es5/{index-641aeeed.js → index-6e10cd02.js} +1 -1
  180. package/dist/esm-es5/index-c3e624b7.js +4 -0
  181. package/dist/esm-es5/index-cb894020.js +5 -0
  182. package/dist/esm-es5/index.js +1 -1
  183. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  184. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  185. package/dist/esm-es5/ion-alert.entry.js +1 -1
  186. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  187. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  188. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  189. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  190. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  191. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  192. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  193. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  194. package/dist/esm-es5/ion-chip.entry.js +1 -1
  195. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  196. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  197. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  198. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  199. package/dist/esm-es5/ion-img.entry.js +1 -1
  200. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  201. package/dist/esm-es5/ion-input.entry.js +1 -1
  202. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  203. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  204. package/dist/esm-es5/ion-loading.entry.js +1 -1
  205. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  206. package/dist/esm-es5/ion-modal.entry.js +1 -1
  207. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  208. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  209. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  210. package/dist/esm-es5/ion-popover.entry.js +1 -1
  211. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  212. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  213. package/dist/esm-es5/ion-range.entry.js +1 -1
  214. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  215. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  216. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  217. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  218. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  219. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  220. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  221. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  222. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  223. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  224. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  225. package/dist/esm-es5/ion-text.entry.js +1 -1
  226. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  227. package/dist/esm-es5/ion-toast.entry.js +1 -1
  228. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  229. package/dist/esm-es5/{ionic-global-246ca78f.js → ionic-global-63a8d8c9.js} +1 -1
  230. package/dist/esm-es5/ionic.js +1 -1
  231. package/dist/esm-es5/{ios.transition-04c9a97a.js → ios.transition-6707a3a1.js} +1 -1
  232. package/dist/esm-es5/loader.js +1 -1
  233. package/dist/esm-es5/{md.transition-67a8aabd.js → md.transition-957964fd.js} +1 -1
  234. package/dist/esm-es5/{overlays-2fa52617.js → overlays-753933fc.js} +1 -1
  235. package/dist/esm-es5/{status-tap-9aeeaca5.js → status-tap-73e982b6.js} +1 -1
  236. package/dist/html.html-data.json +11 -1
  237. package/dist/ionic/index.esm.js +1 -1
  238. package/dist/ionic/ionic.esm.js +1 -1
  239. package/dist/ionic/ionic.js +1 -1
  240. package/dist/ionic/{p-deb6ddad.entry.js → p-0023e6eb.entry.js} +1 -1
  241. package/dist/ionic/{p-8e24ebbc.js → p-00cf2d6c.js} +1 -1
  242. package/dist/ionic/{p-b109a3d7.system.entry.js → p-00f709ca.system.entry.js} +1 -1
  243. package/dist/ionic/{p-8ee012cb.system.entry.js → p-037e2738.system.entry.js} +1 -1
  244. package/dist/ionic/{p-914ac0fc.entry.js → p-03f7e3cc.entry.js} +1 -1
  245. package/dist/ionic/{p-ec9052a4.entry.js → p-0459db58.entry.js} +1 -1
  246. package/dist/ionic/{p-d7b8d224.entry.js → p-06756f31.entry.js} +1 -1
  247. package/dist/ionic/p-0779a5c8.system.js +4 -0
  248. package/dist/ionic/{p-4e6e43c1.entry.js → p-0793ebfd.entry.js} +1 -1
  249. package/dist/ionic/p-0d198537.js +4 -0
  250. package/dist/ionic/{p-257cf0b7.entry.js → p-0d3d44e7.entry.js} +1 -1
  251. package/dist/ionic/p-100ea813.system.entry.js +4 -0
  252. package/dist/ionic/{p-576e6d0f.system.entry.js → p-10fcb3a3.system.entry.js} +1 -1
  253. package/dist/ionic/{p-5403baaa.system.entry.js → p-14fd96a2.system.entry.js} +1 -1
  254. package/dist/ionic/p-17240d90.js +4 -0
  255. package/dist/ionic/p-1d9b39f3.js +4 -0
  256. package/dist/ionic/{p-629aa3fd.system.js → p-26fbffd4.system.js} +1 -1
  257. package/dist/ionic/{p-a7eec917.entry.js → p-2acea831.entry.js} +1 -1
  258. package/dist/ionic/p-2b47b2ce.entry.js +4 -0
  259. package/dist/ionic/p-32b5f10e.entry.js +4 -0
  260. package/dist/ionic/{p-32717950.system.entry.js → p-3634b770.system.entry.js} +1 -1
  261. package/dist/ionic/{p-2784263e.system.entry.js → p-37fc0d22.system.entry.js} +1 -1
  262. package/dist/ionic/{p-fcf47f80.entry.js → p-3bf7c0dc.entry.js} +1 -1
  263. package/dist/ionic/{p-1f81b5be.entry.js → p-3db27dec.entry.js} +1 -1
  264. package/dist/ionic/{p-818b2e75.entry.js → p-3dce88bf.entry.js} +1 -1
  265. package/dist/ionic/{p-38ccfd71.system.entry.js → p-3e6b0330.system.entry.js} +1 -1
  266. package/dist/ionic/{p-6ac3e877.system.entry.js → p-416d7f8d.system.entry.js} +1 -1
  267. package/dist/ionic/{p-048f1ebe.entry.js → p-44fa0a61.entry.js} +1 -1
  268. package/dist/ionic/{p-35818410.entry.js → p-4555335a.entry.js} +1 -1
  269. package/dist/ionic/p-469d6a98.entry.js +4 -0
  270. package/dist/ionic/{p-1d0aa82f.system.entry.js → p-48159bfc.system.entry.js} +1 -1
  271. package/dist/ionic/{p-fccfe602.entry.js → p-4c20879c.entry.js} +1 -1
  272. package/dist/ionic/{p-b61a2fa0.system.entry.js → p-4e76e29a.system.entry.js} +1 -1
  273. package/dist/ionic/p-50125c8c.js +4 -0
  274. package/dist/ionic/{p-a04bfada.entry.js → p-50d83224.entry.js} +1 -1
  275. package/dist/ionic/p-520789c2.js +4 -0
  276. package/dist/ionic/{p-b3c68723.system.js → p-534a1cbc.system.js} +1 -1
  277. package/dist/ionic/{p-c4a5de01.entry.js → p-57743e20.entry.js} +1 -1
  278. package/dist/ionic/{p-0d74acfb.system.entry.js → p-5b5311f6.system.entry.js} +1 -1
  279. package/dist/ionic/{p-c49672d8.system.js → p-5c24c115.system.js} +1 -1
  280. package/dist/ionic/{p-d55c9f92.system.entry.js → p-5cafe439.system.entry.js} +1 -1
  281. package/dist/ionic/{p-f623aa6d.entry.js → p-60dee335.entry.js} +1 -1
  282. package/dist/ionic/p-68b405cc.entry.js +4 -0
  283. package/dist/ionic/{p-5b32b053.entry.js → p-6a3c14d1.entry.js} +1 -1
  284. package/dist/ionic/{p-4d6ac0fe.system.entry.js → p-6a92db9d.system.entry.js} +1 -1
  285. package/dist/ionic/{p-6129af0a.system.entry.js → p-6c7d61b9.system.entry.js} +1 -1
  286. package/dist/ionic/p-6cfcb294.system.js +4 -0
  287. package/dist/ionic/{p-3a58e3a4.system.entry.js → p-6f3099b6.system.entry.js} +1 -1
  288. package/dist/ionic/{p-5efb899f.entry.js → p-70441a5b.entry.js} +1 -1
  289. package/dist/ionic/p-73eba881.system.js +4 -0
  290. package/dist/ionic/{p-c7428627.system.entry.js → p-7520e873.system.entry.js} +1 -1
  291. package/dist/ionic/{p-108f9d49.entry.js → p-7887ac7a.entry.js} +1 -1
  292. package/dist/ionic/{p-76378400.js → p-7a590a28.js} +1 -1
  293. package/dist/ionic/{p-d35217be.entry.js → p-7b15d413.entry.js} +1 -1
  294. package/dist/ionic/{p-6ba7fad7.system.js → p-82c72668.system.js} +1 -1
  295. package/dist/ionic/{p-cf0c93e3.system.entry.js → p-84549737.system.entry.js} +1 -1
  296. package/dist/ionic/{p-9173418c.system.entry.js → p-88a1a4fe.system.entry.js} +1 -1
  297. package/dist/ionic/{p-170e9de0.system.entry.js → p-8957b1de.system.entry.js} +1 -1
  298. package/dist/ionic/{p-03c381ec.system.entry.js → p-89e3d112.system.entry.js} +1 -1
  299. package/dist/ionic/{p-181b7c2a.js → p-8a289322.js} +1 -1
  300. package/dist/ionic/{p-29073efe.system.entry.js → p-8f36cde3.system.entry.js} +1 -1
  301. package/dist/ionic/{p-df5fe0be.system.js → p-90012797.system.js} +1 -1
  302. package/dist/ionic/p-903c36fe.js +5 -0
  303. package/dist/ionic/{p-1ecba429.entry.js → p-9201a4d3.entry.js} +1 -1
  304. package/dist/ionic/{p-6ea2e653.entry.js → p-92d72ad8.entry.js} +1 -1
  305. package/dist/ionic/{p-9b4a77fc.system.entry.js → p-9736406a.system.entry.js} +1 -1
  306. package/dist/ionic/{p-3f3da911.system.entry.js → p-9a6f6789.system.entry.js} +1 -1
  307. package/dist/ionic/{p-d89d0de0.entry.js → p-9b796813.entry.js} +1 -1
  308. package/dist/ionic/{p-02a4e81a.js → p-9dbc208c.js} +1 -1
  309. package/dist/ionic/{p-eab10949.system.entry.js → p-9e91c83f.system.entry.js} +1 -1
  310. package/dist/ionic/{p-939e0fa1.system.js → p-9f9efb31.system.js} +1 -1
  311. package/dist/ionic/{p-c48fc95d.system.entry.js → p-a157df46.system.entry.js} +1 -1
  312. package/dist/ionic/p-a4ce3b06.system.entry.js +4 -0
  313. package/dist/ionic/{p-6fb80ef3.system.entry.js → p-a60cff26.system.entry.js} +1 -1
  314. package/dist/ionic/{p-f588e951.entry.js → p-a7361c85.entry.js} +1 -1
  315. package/dist/ionic/{p-e1ac688a.entry.js → p-a99e7e72.entry.js} +1 -1
  316. package/dist/ionic/{p-6f8a95a3.system.entry.js → p-a9b13f18.system.entry.js} +1 -1
  317. package/dist/ionic/p-aae05032.entry.js +4 -0
  318. package/dist/ionic/{p-54f6cd27.system.entry.js → p-abfd1f2e.system.entry.js} +1 -1
  319. package/dist/ionic/{p-eac263dd.entry.js → p-ac32f6ce.entry.js} +1 -1
  320. package/dist/ionic/{p-5cd791b3.system.entry.js → p-ae57449e.system.entry.js} +1 -1
  321. package/dist/ionic/{p-f960fd84.system.entry.js → p-ae8121f5.system.entry.js} +1 -1
  322. package/dist/ionic/{p-c3efbcf5.system.js → p-b25a96b7.system.js} +1 -1
  323. package/dist/ionic/{p-55d3a9b2.entry.js → p-b27772bf.entry.js} +1 -1
  324. package/dist/ionic/{p-706a0391.entry.js → p-b4c0e9ee.entry.js} +1 -1
  325. package/dist/ionic/{p-8a2801f1.system.entry.js → p-b4daca17.system.entry.js} +1 -1
  326. package/dist/ionic/{p-35eb1d95.entry.js → p-b4f14d9e.entry.js} +1 -1
  327. package/dist/ionic/{p-5b976d70.entry.js → p-b79eb3cd.entry.js} +1 -1
  328. package/dist/ionic/{p-04e7c8fd.entry.js → p-b7ac706d.entry.js} +1 -1
  329. package/dist/ionic/p-b8c3f071.system.js +4 -0
  330. package/dist/ionic/{p-839276d4.entry.js → p-b9e2aede.entry.js} +1 -1
  331. package/dist/ionic/{p-4b8db805.entry.js → p-bc7420cc.entry.js} +1 -1
  332. package/dist/ionic/{p-33a8349a.system.entry.js → p-c09e1da9.system.entry.js} +1 -1
  333. package/dist/ionic/{p-3c2c6fce.entry.js → p-c0c794dd.entry.js} +1 -1
  334. package/dist/ionic/{p-96ba8eac.entry.js → p-ca655a7c.entry.js} +1 -1
  335. package/dist/ionic/{p-117cd69f.system.entry.js → p-ccdd595c.system.entry.js} +1 -1
  336. package/dist/ionic/p-d0d59328.entry.js +4 -0
  337. package/dist/ionic/p-d1df86ff.entry.js +4 -0
  338. package/dist/ionic/{p-e2fd0895.entry.js → p-d2a278b1.entry.js} +1 -1
  339. package/dist/ionic/{p-908720f3.system.entry.js → p-d8eeabae.system.entry.js} +1 -1
  340. package/dist/ionic/{p-e0f52215.system.entry.js → p-d90f0779.system.entry.js} +1 -1
  341. package/dist/ionic/{p-164b0e76.entry.js → p-da024961.entry.js} +1 -1
  342. package/dist/ionic/{p-238f0ac5.system.entry.js → p-db8b267a.system.entry.js} +1 -1
  343. package/dist/ionic/{p-99dfa53f.system.entry.js → p-dcfea01f.system.entry.js} +1 -1
  344. package/dist/ionic/{p-51269f3b.system.js → p-e0f66356.system.js} +1 -1
  345. package/dist/ionic/{p-1289b3b5.system.entry.js → p-e263255c.system.entry.js} +1 -1
  346. package/dist/ionic/{p-95b14c73.system.entry.js → p-e6d2cca2.system.entry.js} +1 -1
  347. package/dist/ionic/p-ec25d547.system.js +4 -0
  348. package/dist/ionic/{p-4bb26b01.system.entry.js → p-ec451ef7.system.entry.js} +1 -1
  349. package/dist/ionic/{p-63505fbb.js → p-ee8881d0.js} +1 -1
  350. package/dist/ionic/{p-64e20cd9.entry.js → p-ef4408d6.entry.js} +1 -1
  351. package/dist/ionic/{p-45f5c8ba.system.entry.js → p-efd574eb.system.entry.js} +1 -1
  352. package/dist/ionic/{p-beb864e4.system.entry.js → p-f37d6823.system.entry.js} +1 -1
  353. package/dist/ionic/{p-72aea40e.system.entry.js → p-f48af9da.system.entry.js} +1 -1
  354. package/dist/ionic/{p-db1a1e00.entry.js → p-fa06c407.entry.js} +1 -1
  355. package/dist/ionic/{p-b3690814.system.entry.js → p-fbc7995a.system.entry.js} +1 -1
  356. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +46 -4
  357. package/dist/types/components/datetime/datetime-interface.d.ts +1 -0
  358. package/dist/types/components/datetime/datetime.d.ts +2 -2
  359. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  360. package/dist/types/components/datetime/utils/format.d.ts +3 -3
  361. package/dist/types/components/datetime/utils/helpers.d.ts +15 -1
  362. package/dist/types/components/menu/menu-interface.d.ts +0 -1
  363. package/dist/types/components/toast/animations/ios.enter.d.ts +2 -1
  364. package/dist/types/components/toast/animations/ios.leave.d.ts +2 -2
  365. package/dist/types/components/toast/animations/md.enter.d.ts +2 -1
  366. package/dist/types/components/toast/animations/utils.d.ts +18 -0
  367. package/dist/types/components/toast/toast-interface.d.ts +11 -0
  368. package/dist/types/components/toast/toast.d.ts +21 -1
  369. package/dist/types/components.d.ts +16 -8
  370. package/dist/types/index.d.ts +1 -0
  371. package/dist/types/utils/menu-controller/index.d.ts +1 -2
  372. package/hydrate/index.js +359 -158
  373. package/package.json +6 -7
  374. package/dist/collection/components/select/test/disabled/select.e2e.js +0 -30
  375. package/dist/esm-es5/app-globals-ec816a70.js +0 -4
  376. package/dist/esm-es5/data-009dbf15.js +0 -4
  377. package/dist/esm-es5/index-b49b173c.js +0 -5
  378. package/dist/esm-es5/index-d78b533e.js +0 -4
  379. package/dist/ionic/p-05ae600a.system.js +0 -4
  380. package/dist/ionic/p-06ac429a.js +0 -5
  381. package/dist/ionic/p-0c37546b.system.entry.js +0 -4
  382. package/dist/ionic/p-13d6e57a.js +0 -4
  383. package/dist/ionic/p-1c82e9ff.js +0 -4
  384. package/dist/ionic/p-29e3a9bb.entry.js +0 -4
  385. package/dist/ionic/p-32d364f0.entry.js +0 -4
  386. package/dist/ionic/p-37448ac1.entry.js +0 -4
  387. package/dist/ionic/p-44ef7224.system.js +0 -4
  388. package/dist/ionic/p-4dd96c8d.entry.js +0 -4
  389. package/dist/ionic/p-5bc5008c.entry.js +0 -4
  390. package/dist/ionic/p-5c3e72a8.system.js +0 -4
  391. package/dist/ionic/p-5c651aab.system.entry.js +0 -4
  392. package/dist/ionic/p-5ece7025.system.js +0 -4
  393. package/dist/ionic/p-65a5761f.js +0 -4
  394. package/dist/ionic/p-73ed9a91.js +0 -4
  395. package/dist/ionic/p-7cfd253c.js +0 -4
  396. package/dist/ionic/p-8297652e.entry.js +0 -4
  397. package/dist/ionic/p-a18ec02b.entry.js +0 -4
  398. package/dist/ionic/p-fbcb157b.system.js +0 -4
  399. /package/dist/esm-es5/{haptic-6447af60.js → haptic-1243b917.js} +0 -0
  400. /package/dist/esm-es5/{index-ecfc2c9f.js → index-504b03f0.js} +0 -0
  401. /package/dist/ionic/{p-0a87858b.js → p-15bae383.js} +0 -0
  402. /package/dist/ionic/{p-8985b268.system.js → p-3f919368.system.js} +0 -0
  403. /package/dist/ionic/{p-14d7b7e2.system.js → p-b4b4bb29.system.js} +0 -0
  404. /package/dist/ionic/{p-bb6f38ed.js → p-b923f3d7.js} +0 -0
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, d as createEvent, f as getElement, h, H as Host } from './index-b49b173c.js';
4
+ import { r as registerInstance, d as createEvent, f as getElement, h, H as Host } from './index-cb894020.js';
5
5
  import { c as componentOnReady, q as debounce } from './helpers-3379ba19.js';
6
6
  import { o as openURL, c as createColorClasses } from './theme-17531cdf.js';
7
- import { b as getIonMode } from './ionic-global-246ca78f.js';
7
+ import { b as getIonMode } from './ionic-global-63a8d8c9.js';
8
8
 
9
9
  const Route = class {
10
10
  constructor(hostRef) {
@@ -105,6 +105,7 @@ const chainToSegments = (chain) => {
105
105
  for (const route of chain) {
106
106
  for (const segment of route.segments) {
107
107
  if (segment[0] === ':') {
108
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
108
109
  const param = route.params && route.params[segment.slice(1)];
109
110
  if (!param) {
110
111
  return null;
@@ -800,12 +801,14 @@ const Router = class {
800
801
  }
801
802
  const routes = readRoutes(this.el);
802
803
  const fromChain = findChainForSegments(from, routes);
804
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
803
805
  const beforeLeaveHook = fromChain && fromChain[fromChain.length - 1].beforeLeave;
804
806
  const canLeave = beforeLeaveHook ? await beforeLeaveHook() : true;
805
807
  if (canLeave === false || typeof canLeave === 'object') {
806
808
  return canLeave;
807
809
  }
808
810
  const toChain = findChainForSegments(to, routes);
811
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
809
812
  const beforeEnterHook = toChain && toChain[toChain.length - 1].beforeEnter;
810
813
  return beforeEnterHook ? beforeEnterHook() : true;
811
814
  }
@@ -1,12 +1,12 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, d as createEvent, i as forceUpdate, h, H as Host, f as getElement } from './index-b49b173c.js';
4
+ import { r as registerInstance, d as createEvent, i as forceUpdate, h, H as Host, f as getElement } from './index-cb894020.js';
5
5
  import { j as debounceEvent, r as raf } from './helpers-3379ba19.js';
6
6
  import { i as isRTL } from './dir-912e3e13.js';
7
7
  import { c as createColorClasses } from './theme-17531cdf.js';
8
- import { a as arrowBackSharp, b as closeCircle, d as closeSharp, s as searchOutline, e as searchSharp } from './index-ecfc2c9f.js';
9
- import { c as config, b as getIonMode } from './ionic-global-246ca78f.js';
8
+ import { a as arrowBackSharp, b as closeCircle, d as closeSharp, s as searchOutline, e as searchSharp } from './index-504b03f0.js';
9
+ import { c as config, b as getIonMode } from './ionic-global-63a8d8c9.js';
10
10
 
11
11
  const searchbarIosCss = ".sc-ion-searchbar-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:0.6;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-ios-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:inherit}.searchbar-search-icon.sc-ion-searchbar-ios{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-ios{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-ios{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-ios::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-ios>div.sc-ion-searchbar-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-clear-button.sc-ion-searchbar-ios:focus{opacity:0.5}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{display:block}.searchbar-disabled.sc-ion-searchbar-ios-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-ios-h{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.07);--border-radius:10px;--box-shadow:none;--cancel-button-color:var(--ion-color-primary, #3880ff);--clear-button-color:var(--ion-color-step-600, #666666);--color:var(--ion-text-color, #000);--icon-color:var(--ion-color-step-600, #666666);-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:12px;padding-bottom:12px;height:60px;contain:strict}.searchbar-input-container.sc-ion-searchbar-ios{height:36px}.searchbar-search-icon.sc-ion-searchbar-ios{-webkit-margin-start:calc(50% - 60px);margin-inline-start:calc(50% - 60px);top:0;position:absolute;width:22px;height:100%;contain:strict}@supports (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{inset-inline-start:5px}}@supports not (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{left:5px}[dir=rtl].sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}[dir=rtl].sc-ion-searchbar-ios .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}@supports selector(:dir(rtl)){.searchbar-search-icon.sc-ion-searchbar-ios:dir(rtl){left:unset;right:unset;right:5px}}}.searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:28px;padding-inline-start:28px;-webkit-padding-end:28px;padding-inline-end:28px;padding-top:0;padding-bottom:0;height:100%;font-size:17px;font-weight:400;contain:strict}.searchbar-clear-button.sc-ion-searchbar-ios{top:0;background-position:center;position:absolute;width:30px;height:100%;border:0;background-color:transparent}@supports (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-ios{inset-inline-end:0}}@supports not (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-ios{right:0}[dir=rtl].sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}[dir=rtl].sc-ion-searchbar-ios .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}@supports selector(:dir(rtl)){.searchbar-clear-button.sc-ion-searchbar-ios:dir(rtl){left:unset;right:unset;left:0}}}.searchbar-clear-icon.sc-ion-searchbar-ios{width:18px;height:100%}.searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0;background-color:transparent;font-size:16px}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{-webkit-margin-start:0;margin-inline-start:0}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:30px;padding-inline-start:30px}.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{display:block}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-transition:all 300ms ease;transition:all 300ms ease}.searchbar-animated.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{opacity:1;pointer-events:auto}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-margin-end:-100%;margin-inline-end:-100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:all 300ms ease;transition:all 300ms ease;opacity:0;pointer-events:none}.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-transition-duration:0ms;transition-duration:0ms}.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{color:var(--ion-color-base)}@media (any-hover: hover){.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios:hover{color:var(--ion-color-tint)}}ion-toolbar.sc-ion-searchbar-ios-h,ion-toolbar .sc-ion-searchbar-ios-h{padding-top:1px;padding-bottom:15px;height:52px}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color),ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color){color:inherit}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios{color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios{background:rgba(var(--ion-color-contrast-rgb), 0.07);color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}";
12
12
 
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, d as createEvent, w as writeTask, h, H as Host, f as getElement, i as forceUpdate } from './index-b49b173c.js';
4
+ import { r as registerInstance, d as createEvent, w as writeTask, h, H as Host, f as getElement, i as forceUpdate } from './index-cb894020.js';
5
5
  import { r as raf, a as addEventListener, b as removeEventListener, k as inheritAttributes } from './helpers-3379ba19.js';
6
6
  import { i as isRTL } from './dir-912e3e13.js';
7
7
  import { c as createColorClasses, h as hostContext } from './theme-17531cdf.js';
8
- import { b as getIonMode } from './ionic-global-246ca78f.js';
8
+ import { b as getIonMode } from './ionic-global-63a8d8c9.js';
9
9
 
10
10
  const segmentIosCss = ":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:grid;grid-auto-columns:1fr;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto;grid-auto-columns:minmax(-webkit-min-content, 1fr);grid-auto-columns:minmax(min-content, 1fr)}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.065);border-radius:8px;overflow:hidden;z-index:0}:host(.ion-color){background:rgba(var(--ion-color-base-rgb), 0.065)}:host(.in-toolbar){-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;width:auto}:host(.in-toolbar:not(.ion-color)){background:var(--ion-toolbar-segment-background, var(--background))}:host(.in-toolbar-color:not(.ion-color)){background:rgba(var(--ion-color-contrast-rgb), 0.11)}";
11
11
 
@@ -1,17 +1,17 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, d as createEvent, h, H as Host, f as getElement, i as forceUpdate } from './index-b49b173c.js';
4
+ import { r as registerInstance, d as createEvent, h, H as Host, f as getElement, i as forceUpdate } from './index-cb894020.js';
5
5
  import { c as createLegacyFormController } from './form-controller-ed77647a.js';
6
6
  import { c as createNotchController } from './notch-controller-8c9c0e54.js';
7
7
  import { k as inheritAttributes, f as focusElement, h as findItemLabel, d as renderHiddenInput, e as getAriaLabel } from './helpers-3379ba19.js';
8
8
  import { p as printIonWarning } from './index-595d62c9.js';
9
- import { c as popoverController, b as actionSheetController, a as alertController, s as safeCall } from './overlays-2fa52617.js';
9
+ import { c as popoverController, b as actionSheetController, a as alertController, s as safeCall } from './overlays-753933fc.js';
10
10
  import { i as isRTL } from './dir-912e3e13.js';
11
11
  import { h as hostContext, c as createColorClasses, g as getClassMap } from './theme-17531cdf.js';
12
12
  import { w as watchForOptions } from './watch-options-355a920a.js';
13
- import { w as chevronExpand, q as caretDownSharp } from './index-ecfc2c9f.js';
14
- import { b as getIonMode } from './ionic-global-246ca78f.js';
13
+ import { w as chevronExpand, q as caretDownSharp } from './index-504b03f0.js';
14
+ import { b as getIonMode } from './ionic-global-63a8d8c9.js';
15
15
  import './index-7a14ecec.js';
16
16
  import './framework-delegate-aa433dea.js';
17
17
  import './hardware-back-button-39299f84.js';
@@ -123,39 +123,25 @@ const Select = class {
123
123
  await overlay.present();
124
124
  // focus selected option for popovers
125
125
  if (this.interface === 'popover') {
126
- const indexOfSelected = this.childOpts.map((o) => o.value).indexOf(this.value);
127
- if (indexOfSelected > -1) {
128
- const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
129
- if (selectedItem) {
130
- focusElement(selectedItem);
131
- /**
132
- * Browsers such as Firefox do not
133
- * correctly delegate focus when manually
134
- * focusing an element with delegatesFocus.
135
- * We work around this by manually focusing
136
- * the interactive element.
137
- * ion-radio and ion-checkbox are the only
138
- * elements that ion-select-popover uses, so
139
- * we only need to worry about those two components
140
- * when focusing.
141
- */
142
- const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
143
- if (interactiveEl) {
144
- interactiveEl.focus();
145
- }
146
- }
147
- }
148
- else {
126
+ let indexOfSelected = this.childOpts.map((o) => o.value).indexOf(this.value);
127
+ indexOfSelected = indexOfSelected > -1 ? indexOfSelected : 0; // default to first option if nothing selected
128
+ const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
129
+ if (selectedItem) {
130
+ focusElement(selectedItem);
149
131
  /**
150
- * If no value is set then focus the first enabled option.
132
+ * Browsers such as Firefox do not
133
+ * correctly delegate focus when manually
134
+ * focusing an element with delegatesFocus.
135
+ * We work around this by manually focusing
136
+ * the interactive element.
137
+ * ion-radio and ion-checkbox are the only
138
+ * elements that ion-select-popover uses, so
139
+ * we only need to worry about those two components
140
+ * when focusing.
151
141
  */
152
- const firstEnabledOption = overlay.querySelector('ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)');
153
- if (firstEnabledOption) {
154
- focusElement(firstEnabledOption.closest('ion-item'));
155
- /**
156
- * Focus the option for the same reason as we do above.
157
- */
158
- firstEnabledOption.focus();
142
+ const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
143
+ if (interactiveEl) {
144
+ interactiveEl.focus();
159
145
  }
160
146
  }
161
147
  }
@@ -626,7 +612,7 @@ Developers can use the "legacy" property to continue using the legacy form marku
626
612
  }
627
613
  renderListbox() {
628
614
  const { disabled, inputId, isExpanded } = this;
629
- return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "listbox", "aria-expanded": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
615
+ return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
630
616
  }
631
617
  render() {
632
618
  const { legacyFormController } = this;
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, h, H as Host } from './index-b49b173c.js';
4
+ import { r as registerInstance, h, H as Host } from './index-cb894020.js';
5
5
  import { c as createColorClasses } from './theme-17531cdf.js';
6
- import { c as config, b as getIonMode } from './ionic-global-246ca78f.js';
6
+ import { c as config, b as getIonMode } from './ionic-global-63a8d8c9.js';
7
7
  import { S as SPINNERS } from './spinner-configs-d09fbbbb.js';
8
8
 
9
9
  const spinnerCss = ":host{display:inline-block;position:relative;width:28px;height:28px;color:var(--color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.ion-color){color:var(--ion-color-base)}svg{-webkit-transform-origin:center;transform-origin:center;position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}:host-context([dir=rtl]) svg{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}[dir=rtl] svg{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}@supports selector(:dir(rtl)){svg:dir(rtl){-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}}:host(.spinner-lines) line,:host(.spinner-lines-small) line{stroke-width:7px}:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-width:4px}:host(.spinner-lines) line,:host(.spinner-lines-small) line,:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-linecap:round;stroke:currentColor}:host(.spinner-lines) svg,:host(.spinner-lines-small) svg,:host(.spinner-lines-sharp) svg,:host(.spinner-lines-sharp-small) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite}:host(.spinner-bubbles) svg{-webkit-animation:spinner-scale-out 1s linear infinite;animation:spinner-scale-out 1s linear infinite;fill:currentColor}:host(.spinner-circles) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite;fill:currentColor}:host(.spinner-crescent) circle{fill:transparent;stroke-width:4px;stroke-dasharray:128px;stroke-dashoffset:82px;stroke:currentColor}:host(.spinner-crescent) svg{-webkit-animation:spinner-rotate 1s linear infinite;animation:spinner-rotate 1s linear infinite}:host(.spinner-dots) circle{stroke-width:0;fill:currentColor}:host(.spinner-dots) svg{-webkit-animation:spinner-dots 1s linear infinite;animation:spinner-dots 1s linear infinite}:host(.spinner-circular) svg{-webkit-animation:spinner-circular linear infinite;animation:spinner-circular linear infinite}:host(.spinner-circular) circle{-webkit-animation:spinner-circular-inner ease-in-out infinite;animation:spinner-circular-inner ease-in-out infinite;stroke:currentColor;stroke-dasharray:80px, 200px;stroke-dashoffset:0px;stroke-width:5.6;fill:none}:host(.spinner-paused),:host(.spinner-paused) svg,:host(.spinner-paused) circle{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@-webkit-keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@-webkit-keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}@keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}";
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, d as createEvent, h, H as Host, f as getElement } from './index-b49b173c.js';
5
- import { b as getIonMode } from './ionic-global-246ca78f.js';
4
+ import { r as registerInstance, d as createEvent, h, H as Host, f as getElement } from './index-cb894020.js';
5
+ import { b as getIonMode } from './ionic-global-63a8d8c9.js';
6
6
 
7
7
  const splitPaneIosCss = ":host{--side-width:100%;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;contain:strict}::slotted(ion-menu.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width);min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.split-pane-visible) ::slotted(.split-pane-side),:host(.split-pane-visible) ::slotted(.split-pane-main){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none !important;box-shadow:none !important;z-index:0}:host(.split-pane-visible) ::slotted(.split-pane-main){-ms-flex:1;flex:1}:host(.split-pane-visible) ::slotted(.split-pane-side:not(ion-menu)),:host(.split-pane-visible) ::slotted(ion-menu.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host(.split-pane-visible) ::slotted(.split-pane-side){-ms-flex-order:-1;order:-1}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host{--border:0.55px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--side-min-width:270px;--side-max-width:28%}:host(.split-pane-visible) ::slotted(.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}";
8
8
 
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, d as createEvent, h, H as Host, f as getElement } from './index-b49b173c.js';
4
+ import { r as registerInstance, d as createEvent, h, H as Host, f as getElement } from './index-cb894020.js';
5
5
  import { c as createKeyboardController } from './keyboard-controller-0c2dce71.js';
6
6
  import { c as createColorClasses } from './theme-17531cdf.js';
7
- import { b as getIonMode, c as config } from './ionic-global-246ca78f.js';
7
+ import { b as getIonMode, c as config } from './ionic-global-63a8d8c9.js';
8
8
  import { k as inheritAttributes } from './helpers-3379ba19.js';
9
9
  import './index-7a14ecec.js';
10
10
  import './keyboard-b063f012.js';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, h, H as Host, f as getElement, d as createEvent } from './index-b49b173c.js';
4
+ import { r as registerInstance, h, H as Host, f as getElement, d as createEvent } from './index-cb894020.js';
5
5
  import { a as attachComponent } from './framework-delegate-aa433dea.js';
6
6
  import './helpers-3379ba19.js';
7
7
 
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, h, H as Host } from './index-b49b173c.js';
4
+ import { r as registerInstance, h, H as Host } from './index-cb894020.js';
5
5
  import { c as createColorClasses } from './theme-17531cdf.js';
6
- import { b as getIonMode } from './ionic-global-246ca78f.js';
6
+ import { b as getIonMode } from './ionic-global-63a8d8c9.js';
7
7
 
8
8
  const textCss = ":host(.ion-color){color:var(--ion-color-base)}";
9
9
 
@@ -1,14 +1,14 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, d as createEvent, w as writeTask, h, H as Host, f as getElement, i as forceUpdate } from './index-b49b173c.js';
4
+ import { r as registerInstance, d as createEvent, w as writeTask, h, H as Host, f as getElement, i as forceUpdate } from './index-cb894020.js';
5
5
  import { c as createLegacyFormController } from './form-controller-ed77647a.js';
6
6
  import { c as createNotchController } from './notch-controller-8c9c0e54.js';
7
7
  import { j as debounceEvent, i as inheritAriaAttributes, k as inheritAttributes, h as findItemLabel } from './helpers-3379ba19.js';
8
8
  import { p as printIonWarning } from './index-595d62c9.js';
9
9
  import { c as createSlotMutationController, g as getCounterText } from './input.utils-ec063df4.js';
10
10
  import { c as createColorClasses, h as hostContext } from './theme-17531cdf.js';
11
- import { b as getIonMode } from './ionic-global-246ca78f.js';
11
+ import { b as getIonMode } from './ionic-global-63a8d8c9.js';
12
12
  import './index-7a14ecec.js';
13
13
 
14
14
  const textareaIosCss = ".sc-ion-textarea-ios-h{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:0.6;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--border-radius:0;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}[cols].sc-ion-textarea-ios-h:not([auto-grow]){width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.legacy-textarea.sc-ion-textarea-ios-h{-ms-flex:1;flex:1;background:var(--background);white-space:pre-wrap}.legacy-textarea.ion-color.sc-ion-textarea-ios-h{color:var(--ion-color-base)}.sc-ion-textarea-ios-h:not(.legacy-textarea){--padding-bottom:8px}.ion-color.sc-ion-textarea-ios-h{--highlight-color-focused:var(--ion-color-base);background:initial}ion-item.sc-ion-textarea-ios-h,ion-item .sc-ion-textarea-ios-h{-ms-flex-item-align:baseline;align-self:baseline}ion-item.sc-ion-textarea-ios-h:not(.item-label),ion-item:not(.item-label) .sc-ion-textarea-ios-h{--padding-start:0}ion-item[slot=start].sc-ion-textarea-ios-h,ion-item [slot=start].sc-ion-textarea-ios-h,ion-item[slot=end].sc-ion-textarea-ios-h,ion-item [slot=end].sc-ion-textarea-ios-h{width:auto}.native-textarea.sc-ion-textarea-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;white-space:pre-wrap;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.native-textarea.sc-ion-textarea-ios::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.legacy-textarea.sc-ion-textarea-ios-h .native-textarea.sc-ion-textarea-ios{white-space:inherit}.legacy-textarea.sc-ion-textarea-ios-h .native-textarea.sc-ion-textarea-ios,.legacy-textarea.sc-ion-textarea-ios-h .textarea-legacy-wrapper.sc-ion-textarea-ios::after{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius)}.native-textarea.sc-ion-textarea-ios{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.legacy-textarea.sc-ion-textarea-ios-h .textarea-legacy-wrapper.sc-ion-textarea-ios::after{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;grid-area:1/1/2/2;word-break:break-word}.cloned-input.sc-ion-textarea-ios{top:0;bottom:0;position:absolute;pointer-events:none}@supports (inset-inline-start: 0){.cloned-input.sc-ion-textarea-ios{inset-inline-start:0}}@supports not (inset-inline-start: 0){.cloned-input.sc-ion-textarea-ios{left:0}[dir=rtl].sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios{left:unset;right:unset;right:0}[dir=rtl].sc-ion-textarea-ios .cloned-input.sc-ion-textarea-ios{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.cloned-input.sc-ion-textarea-ios:dir(rtl){left:unset;right:unset;right:0}}}.cloned-input.sc-ion-textarea-ios:disabled{opacity:1}.legacy-textarea[auto-grow].sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}[auto-grow].sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios{height:100%}[auto-grow].sc-ion-textarea-ios-h .native-textarea.sc-ion-textarea-ios{overflow:hidden}.item-label-floating.item-has-placeholder.sc-ion-textarea-ios-h:not(.item-has-value),.item-label-floating.item-has-placeholder:not(.item-has-value) .sc-ion-textarea-ios-h{opacity:0}.item-label-floating.item-has-placeholder.sc-ion-textarea-ios-h:not(.item-has-value).item-has-focus,.item-label-floating.item-has-placeholder:not(.item-has-value).item-has-focus .sc-ion-textarea-ios-h{-webkit-transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);opacity:1}.textarea-wrapper.sc-ion-textarea-ios{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:0px;padding-bottom:0px;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:flex-start;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.native-wrapper.sc-ion-textarea-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;width:100%;height:100%}.has-focus.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{caret-color:var(--highlight-color)}.native-wrapper.sc-ion-textarea-ios textarea.sc-ion-textarea-ios{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}.native-wrapper.sc-ion-textarea-ios,.textarea-legacy-wrapper.sc-ion-textarea-ios{display:grid;min-width:inherit;max-width:inherit;min-height:inherit;max-height:inherit;grid-auto-rows:100%}.native-wrapper.sc-ion-textarea-ios::after,.textarea-legacy-wrapper.sc-ion-textarea-ios::after{white-space:pre-wrap;content:attr(data-replicated-value) \" \";visibility:hidden}.native-wrapper.sc-ion-textarea-ios::after{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.ion-touched.ion-invalid.sc-ion-textarea-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-textarea-ios-h{--highlight-color:var(--highlight-color-valid)}.textarea-bottom.sc-ion-textarea-ios{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:12px}.has-focus.ion-valid.sc-ion-textarea-ios-h,.ion-touched.ion-invalid.sc-ion-textarea-ios-h{--border-color:var(--highlight-color)}.textarea-bottom.sc-ion-textarea-ios .error-text.sc-ion-textarea-ios{display:none;color:var(--highlight-color-invalid)}.textarea-bottom.sc-ion-textarea-ios .helper-text.sc-ion-textarea-ios{display:block;color:var(--ion-color-step-550, #737373)}.ion-touched.ion-invalid.sc-ion-textarea-ios-h .textarea-bottom.sc-ion-textarea-ios .error-text.sc-ion-textarea-ios{display:block}.ion-touched.ion-invalid.sc-ion-textarea-ios-h .textarea-bottom.sc-ion-textarea-ios .helper-text.sc-ion-textarea-ios{display:none}.textarea-bottom.sc-ion-textarea-ios .counter.sc-ion-textarea-ios{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--ion-color-step-550, #737373);white-space:nowrap;-webkit-padding-start:16px;padding-inline-start:16px}.label-text-wrapper.sc-ion-textarea-ios{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text.sc-ion-textarea-ios,.sc-ion-textarea-ios-s>[slot=label]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden.sc-ion-textarea-ios,.textarea-outline-notch-hidden.sc-ion-textarea-ios{display:none}.textarea-wrapper.sc-ion-textarea-ios textarea.sc-ion-textarea-ios{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.textarea-label-placement-start.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios{-ms-flex-direction:row;flex-direction:row}.textarea-label-placement-start.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-end.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.textarea-label-placement-end.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-ios-h .label-text.sc-ion-textarea-ios{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:left top;transform-origin:left top;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;max-width:100%;z-index:2}[dir=rtl].sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios:dir(rtl),.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.textarea-label-placement-stacked.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.textarea-label-placement-stacked[auto-grow].sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios::after,.textarea-label-placement-floating[auto-grow].sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:8px;margin-bottom:0px}.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{opacity:0}.has-focus.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.has-value.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{opacity:1}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,.has-focus.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,.has-value.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.sc-ion-textarea-ios-h{--border-width:0.55px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--padding-top:10px;--padding-end:0px;--padding-bottom:8px;--padding-start:0px;font-size:inherit}.legacy-textarea.sc-ion-textarea-ios-h{--padding-top:10px;--padding-end:8px;--padding-bottom:10px;--padding-start:0}.item-label-stacked.sc-ion-textarea-ios-h,.item-label-stacked .sc-ion-textarea-ios-h,.item-label-floating.sc-ion-textarea-ios-h,.item-label-floating .sc-ion-textarea-ios-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0px}.legacy-textarea.sc-ion-textarea-ios-h .native-textarea[disabled].sc-ion-textarea-ios,.textarea-disabled.sc-ion-textarea-ios-h{opacity:0.3}.sc-ion-textarea-ios-h:not(.legacy-textarea){min-height:44px}.textarea-label-placement-floating.sc-ion-textarea-ios-h,.textarea-label-placement-stacked.sc-ion-textarea-ios-h{--padding-top:0px;min-height:56px}";
@@ -1,29 +1,28 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, d as createEvent, h, H as Host, f as getElement } from './index-b49b173c.js';
4
+ import { r as registerInstance, d as createEvent, h, H as Host, f as getElement } from './index-cb894020.js';
5
5
  import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-96c9ace3.js';
6
6
  import { g as getElementRoot, r as raf } from './helpers-3379ba19.js';
7
7
  import { c as createLockController } from './lock-controller-e8c6c051.js';
8
8
  import { p as printIonWarning } from './index-595d62c9.js';
9
- import { d as createDelegateController, e as createTriggerController, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-2fa52617.js';
9
+ import { d as createDelegateController, e as createTriggerController, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-753933fc.js';
10
10
  import { g as getClassMap, c as createColorClasses } from './theme-17531cdf.js';
11
- import { c as config, b as getIonMode } from './ionic-global-246ca78f.js';
11
+ import { c as config, b as getIonMode } from './ionic-global-63a8d8c9.js';
12
12
  import { c as createAnimation } from './animation-92066c62.js';
13
- import './index-7a14ecec.js';
13
+ import { w as win } from './index-7a14ecec.js';
14
14
  import './framework-delegate-aa433dea.js';
15
15
  import './hardware-back-button-39299f84.js';
16
16
 
17
17
  /**
18
18
  * iOS Toast Enter Animation
19
19
  */
20
- const iosEnterAnimation = (baseEl, position) => {
20
+ const iosEnterAnimation = (baseEl, opts) => {
21
21
  const baseAnimation = createAnimation();
22
22
  const wrapperAnimation = createAnimation();
23
+ const { position, top, bottom } = opts;
23
24
  const root = getElementRoot(baseEl);
24
25
  const wrapperEl = root.querySelector('.toast-wrapper');
25
- const bottom = `calc(-10px - var(--ion-safe-area-bottom, 0px))`;
26
- const top = `calc(10px + var(--ion-safe-area-top, 0px))`;
27
26
  wrapperAnimation.addElement(wrapperEl);
28
27
  switch (position) {
29
28
  case 'top':
@@ -44,13 +43,12 @@ const iosEnterAnimation = (baseEl, position) => {
44
43
  /**
45
44
  * iOS Toast Leave Animation
46
45
  */
47
- const iosLeaveAnimation = (baseEl, position) => {
46
+ const iosLeaveAnimation = (baseEl, opts) => {
48
47
  const baseAnimation = createAnimation();
49
48
  const wrapperAnimation = createAnimation();
49
+ const { position, top, bottom } = opts;
50
50
  const root = getElementRoot(baseEl);
51
51
  const wrapperEl = root.querySelector('.toast-wrapper');
52
- const bottom = `calc(-10px - var(--ion-safe-area-bottom, 0px))`;
53
- const top = `calc(10px + var(--ion-safe-area-top, 0px))`;
54
52
  wrapperAnimation.addElement(wrapperEl);
55
53
  switch (position) {
56
54
  case 'top':
@@ -69,13 +67,12 @@ const iosLeaveAnimation = (baseEl, position) => {
69
67
  /**
70
68
  * MD Toast Enter Animation
71
69
  */
72
- const mdEnterAnimation = (baseEl, position) => {
70
+ const mdEnterAnimation = (baseEl, opts) => {
73
71
  const baseAnimation = createAnimation();
74
72
  const wrapperAnimation = createAnimation();
73
+ const { position, top, bottom } = opts;
75
74
  const root = getElementRoot(baseEl);
76
75
  const wrapperEl = root.querySelector('.toast-wrapper');
77
- const bottom = `calc(8px + var(--ion-safe-area-bottom, 0px))`;
78
- const top = `calc(8px + var(--ion-safe-area-top, 0px))`;
79
76
  wrapperAnimation.addElement(wrapperEl);
80
77
  switch (position) {
81
78
  case 'top':
@@ -107,6 +104,87 @@ const mdLeaveAnimation = (baseEl) => {
107
104
  return baseAnimation.easing('cubic-bezier(.36,.66,.04,1)').duration(300).addAnimation(wrapperAnimation);
108
105
  };
109
106
 
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
+
110
188
  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}}";
111
189
 
112
190
  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)}}";
@@ -148,6 +226,7 @@ const Toast = class {
148
226
  this.message = undefined;
149
227
  this.keyboardClose = false;
150
228
  this.position = 'bottom';
229
+ this.positionAnchor = undefined;
151
230
  this.buttons = undefined;
152
231
  this.translucent = false;
153
232
  this.animated = true;
@@ -195,7 +274,19 @@ const Toast = class {
195
274
  async present() {
196
275
  const unlock = await this.lockController.lock();
197
276
  await this.delegateController.attachViewToDom();
198
- await present(this, 'toastEnter', iosEnterAnimation, mdEnterAnimation, this.position);
277
+ const { el, position } = this;
278
+ const anchor = this.getAnchorElement();
279
+ const animationPosition = getAnimationPosition(position, anchor, getIonMode(this), el);
280
+ /**
281
+ * Cache the calculated position of the toast, so we can re-use it
282
+ * in the dismiss animation.
283
+ */
284
+ this.lastPresentedPosition = animationPosition;
285
+ await present(this, 'toastEnter', iosEnterAnimation, mdEnterAnimation, {
286
+ position,
287
+ top: animationPosition.top,
288
+ bottom: animationPosition.bottom,
289
+ });
199
290
  /**
200
291
  * Content is revealed to screen readers after
201
292
  * the transition to avoid jank since this
@@ -217,15 +308,28 @@ const Toast = class {
217
308
  * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
218
309
  */
219
310
  async dismiss(data, role) {
311
+ var _a, _b;
220
312
  const unlock = await this.lockController.lock();
221
- if (this.durationTimeout) {
222
- clearTimeout(this.durationTimeout);
313
+ const { durationTimeout, position, lastPresentedPosition } = this;
314
+ if (durationTimeout) {
315
+ clearTimeout(durationTimeout);
223
316
  }
224
- const dismissed = await dismiss(this, data, role, 'toastLeave', iosLeaveAnimation, mdLeaveAnimation, this.position);
317
+ const dismissed = await dismiss(this, data, role, 'toastLeave', iosLeaveAnimation, mdLeaveAnimation,
318
+ /**
319
+ * Fetch the cached position that was calculated back in the present
320
+ * animation. We always want to animate the dismiss from the same
321
+ * position the present stopped at, so the animation looks continuous.
322
+ */
323
+ {
324
+ position,
325
+ top: (_a = lastPresentedPosition === null || lastPresentedPosition === void 0 ? void 0 : lastPresentedPosition.top) !== null && _a !== void 0 ? _a : '',
326
+ bottom: (_b = lastPresentedPosition === null || lastPresentedPosition === void 0 ? void 0 : lastPresentedPosition.bottom) !== null && _b !== void 0 ? _b : '',
327
+ });
225
328
  if (dismissed) {
226
329
  this.delegateController.removeViewFromDom();
227
330
  this.revealContentToScreenReader = false;
228
331
  }
332
+ this.lastPresentedPosition = undefined;
229
333
  unlock();
230
334
  return dismissed;
231
335
  }
@@ -249,6 +353,44 @@ const Toast = class {
249
353
  : [];
250
354
  return buttons;
251
355
  }
356
+ /**
357
+ * Returns the element specified by the positionAnchor prop,
358
+ * or undefined if prop's value is an ID string and the element
359
+ * is not found in the DOM.
360
+ */
361
+ getAnchorElement() {
362
+ const { position, positionAnchor, el } = this;
363
+ /**
364
+ * If positionAnchor is undefined then
365
+ * no anchor should be used when presenting the toast.
366
+ */
367
+ if (positionAnchor === undefined) {
368
+ return;
369
+ }
370
+ if (position === 'middle' && positionAnchor !== undefined) {
371
+ printIonWarning('The positionAnchor property is ignored when using position="middle".', this.el);
372
+ return undefined;
373
+ }
374
+ if (typeof positionAnchor === 'string') {
375
+ /**
376
+ * If the anchor is defined as an ID, find the element.
377
+ * We do this on every present so the toast doesn't need
378
+ * to account for the surrounding DOM changing since the
379
+ * last time it was presented.
380
+ */
381
+ const foundEl = document.getElementById(positionAnchor);
382
+ if (foundEl === null) {
383
+ printIonWarning(`An anchor element with an ID of "${positionAnchor}" was not found in the DOM.`, el);
384
+ return undefined;
385
+ }
386
+ return foundEl;
387
+ }
388
+ if (positionAnchor instanceof HTMLElement) {
389
+ return positionAnchor;
390
+ }
391
+ printIonWarning('Invalid positionAnchor value:', positionAnchor, el);
392
+ return undefined;
393
+ }
252
394
  async buttonClick(button) {
253
395
  const role = button.role;
254
396
  if (isCancel(role)) {
@@ -1,15 +1,15 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, d as createEvent, h, H as Host, f as getElement } from './index-b49b173c.js';
4
+ import { r as registerInstance, d as createEvent, h, H as Host, f as getElement } from './index-cb894020.js';
5
5
  import { c as createLegacyFormController } from './form-controller-ed77647a.js';
6
6
  import { i as inheritAriaAttributes, d as renderHiddenInput, e as getAriaLabel } from './helpers-3379ba19.js';
7
7
  import { p as printIonWarning } from './index-595d62c9.js';
8
- import { c as hapticSelection } from './haptic-6447af60.js';
8
+ import { c as hapticSelection } from './haptic-1243b917.js';
9
9
  import { i as isRTL } from './dir-912e3e13.js';
10
10
  import { c as createColorClasses, h as hostContext } from './theme-17531cdf.js';
11
- import { f as checkmarkOutline, r as removeOutline, g as ellipseOutline } from './index-ecfc2c9f.js';
12
- import { c as config, b as getIonMode } from './ionic-global-246ca78f.js';
11
+ import { f as checkmarkOutline, r as removeOutline, g as ellipseOutline } from './index-504b03f0.js';
12
+ import { c as config, b as getIonMode } from './ionic-global-63a8d8c9.js';
13
13
  import './capacitor-b4979570.js';
14
14
  import './index-7a14ecec.js';
15
15
 
@@ -47,9 +47,6 @@ const Toggle = class {
47
47
  }
48
48
  };
49
49
  this.onClick = (ev) => {
50
- if (this.disabled) {
51
- return;
52
- }
53
50
  ev.preventDefault();
54
51
  if (this.lastDrag + 300 < Date.now()) {
55
52
  this.toggleChecked();
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { a as setPlatformHelpers, g as getMode, c as setMode } from './index-b49b173c.js';
4
+ import { a as setPlatformHelpers, g as getMode, c as setMode } from './index-cb894020.js';
5
5
 
6
6
  // TODO(FW-2832): types
7
7
  class Config {