voyager-ionic-core 7.4.3 → 7.5.0

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 (687) hide show
  1. package/components/action-sheet.js +2 -2
  2. package/components/alert.js +10 -2
  3. package/components/animation.js +60 -1
  4. package/components/button.js +2 -2
  5. package/components/buttons.js +2 -2
  6. package/components/checkbox.js +4 -1
  7. package/components/data.js +96 -22
  8. package/components/haptic.js +1 -0
  9. package/components/icon.js +31 -18
  10. package/components/index.js +1 -0
  11. package/components/index4.js +26 -19
  12. package/components/index7.js +1 -1
  13. package/components/ion-back-button.js +2 -2
  14. package/components/ion-badge.js +2 -2
  15. package/components/ion-breadcrumb.js +2 -2
  16. package/components/ion-card-content.js +2 -2
  17. package/components/ion-card-subtitle.js +2 -2
  18. package/components/ion-card-title.js +2 -2
  19. package/components/ion-card.js +2 -2
  20. package/components/ion-chip.js +8 -3
  21. package/components/ion-datetime-button.js +6 -6
  22. package/components/ion-datetime.js +6 -6
  23. package/components/ion-header.js +1 -1
  24. package/components/ion-input.js +2 -2
  25. package/components/ion-item-divider.js +2 -2
  26. package/components/ion-item-option.js +2 -2
  27. package/components/ion-item-options.js +2 -2
  28. package/components/ion-loading.js +2 -2
  29. package/components/ion-menu-button.js +2 -2
  30. package/components/ion-menu.js +48 -28
  31. package/components/ion-nav.js +1 -0
  32. package/components/ion-range.js +2 -2
  33. package/components/ion-reorder.js +2 -2
  34. package/components/ion-router.js +3 -0
  35. package/components/ion-searchbar.js +9 -3
  36. package/components/ion-select.js +34 -20
  37. package/components/ion-textarea.js +2 -2
  38. package/components/ion-title.js +2 -2
  39. package/components/ion-toast.js +159 -15
  40. package/components/ion-toggle.js +3 -0
  41. package/components/ion-toolbar.js +1 -1
  42. package/components/ios.transition.js +5 -4
  43. package/components/item.js +2 -2
  44. package/components/label.js +2 -2
  45. package/components/list-header.js +2 -2
  46. package/components/note.js +2 -2
  47. package/components/overlays.js +1 -0
  48. package/components/radio-group.js +1 -1
  49. package/components/radio.js +6 -3
  50. package/components/swipe-back.js +4 -0
  51. package/css/core.css +100 -0
  52. package/css/core.css.map +1 -1
  53. package/css/display.css +33 -0
  54. package/css/display.css.map +1 -1
  55. package/css/float-elements.css +33 -0
  56. package/css/float-elements.css.map +1 -1
  57. package/css/global.bundle.css +84 -6
  58. package/css/global.bundle.css.map +1 -1
  59. package/css/ionic-swiper.css +33 -0
  60. package/css/ionic-swiper.css.map +1 -1
  61. package/css/ionic.bundle.css +1 -1
  62. package/css/ionic.bundle.css.map +1 -1
  63. package/css/padding.css +33 -0
  64. package/css/padding.css.map +1 -1
  65. package/css/structure.css +33 -0
  66. package/css/structure.css.map +1 -1
  67. package/css/text-alignment.css +33 -0
  68. package/css/text-alignment.css.map +1 -1
  69. package/css/text-transformation.css +33 -0
  70. package/css/text-transformation.css.map +1 -1
  71. package/css/typography.css +51 -6
  72. package/css/typography.css.map +1 -1
  73. package/css/utils.bundle.css +165 -0
  74. package/css/utils.bundle.css.map +1 -1
  75. package/dist/cjs/{animation-2bb33618.js → animation-c8bdd3c7.js} +60 -1
  76. package/dist/cjs/{app-globals-84b6a756.js → app-globals-fe1ad535.js} +1 -1
  77. package/dist/cjs/{button-active-c358e83c.js → button-active-c0ff1915.js} +2 -2
  78. package/dist/cjs/{data-db832785.js → data-c8d21093.js} +96 -22
  79. package/dist/cjs/{haptic-c5f6b4d5.js → haptic-678abc9f.js} +1 -0
  80. package/dist/cjs/{index-d8d1fc0b.js → index-09471526.js} +1 -1
  81. package/dist/cjs/{index-14a4821e.js → index-305a23dc.js} +95 -51
  82. package/dist/cjs/{index-97a3eade.js → index-5e7529f6.js} +28 -21
  83. package/dist/cjs/{index-acf6bdf0.js → index-d93fb71d.js} +3 -3
  84. package/dist/cjs/index.cjs.js +11 -9
  85. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  86. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  87. package/dist/cjs/ion-alert.cjs.entry.js +16 -8
  88. package/dist/cjs/ion-app_8.cjs.entry.js +11 -11
  89. package/dist/cjs/ion-avatar_3.cjs.entry.js +4 -4
  90. package/dist/cjs/ion-back-button.cjs.entry.js +5 -5
  91. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  92. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +5 -5
  93. package/dist/cjs/ion-button_2.cjs.entry.js +35 -22
  94. package/dist/cjs/ion-card_5.cjs.entry.js +10 -10
  95. package/dist/cjs/ion-checkbox.cjs.entry.js +6 -3
  96. package/dist/cjs/ion-chip.cjs.entry.js +9 -4
  97. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  98. package/dist/cjs/ion-datetime-button.cjs.entry.js +8 -8
  99. package/dist/cjs/ion-datetime_3.cjs.entry.js +12 -12
  100. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  101. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  102. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  103. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  104. package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
  105. package/dist/cjs/ion-item_8.cjs.entry.js +13 -13
  106. package/dist/cjs/ion-loading.cjs.entry.js +6 -6
  107. package/dist/cjs/ion-menu_3.cjs.entry.js +59 -38
  108. package/dist/cjs/ion-modal.cjs.entry.js +5 -5
  109. package/dist/cjs/ion-nav_2.cjs.entry.js +5 -4
  110. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +3 -3
  111. package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
  112. package/dist/cjs/ion-popover.cjs.entry.js +5 -5
  113. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  114. package/dist/cjs/ion-radio_2.cjs.entry.js +9 -6
  115. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  116. package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -5
  117. package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -6
  118. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  119. package/dist/cjs/ion-route_4.cjs.entry.js +5 -2
  120. package/dist/cjs/ion-searchbar.cjs.entry.js +12 -6
  121. package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
  122. package/dist/cjs/ion-select_3.cjs.entry.js +38 -24
  123. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  124. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  125. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  126. package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
  127. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  128. package/dist/cjs/ion-textarea.cjs.entry.js +4 -4
  129. package/dist/cjs/ion-toast.cjs.entry.js +178 -36
  130. package/dist/cjs/ion-toggle.cjs.entry.js +7 -4
  131. package/dist/cjs/{ionic-global-a71608df.js → ionic-global-fb752503.js} +1 -1
  132. package/dist/cjs/ionic.cjs.js +5 -5
  133. package/dist/cjs/{ios.transition-e31445c2.js → ios.transition-a4d545dd.js} +8 -7
  134. package/dist/cjs/loader.cjs.js +4 -4
  135. package/dist/cjs/{md.transition-fb13ac79.js → md.transition-80bb961b.js} +3 -3
  136. package/dist/cjs/{overlays-efc9d511.js → overlays-1a734051.js} +2 -1
  137. package/dist/cjs/{status-tap-8c22e017.js → status-tap-778e8054.js} +1 -1
  138. package/dist/cjs/{swipe-back-d97c74d1.js → swipe-back-7e843e77.js} +4 -0
  139. package/dist/collection/collection-manifest.json +1 -1
  140. package/dist/collection/components/accordion/accordion.ios.css +66 -0
  141. package/dist/collection/components/accordion/accordion.md.css +33 -0
  142. package/dist/collection/components/accordion-group/accordion-group.ios.css +66 -0
  143. package/dist/collection/components/accordion-group/accordion-group.md.css +99 -0
  144. package/dist/collection/components/action-sheet/action-sheet.ios.css +80 -12
  145. package/dist/collection/components/action-sheet/action-sheet.md.css +76 -8
  146. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +27 -0
  147. package/dist/collection/components/alert/alert.ios.css +138 -21
  148. package/dist/collection/components/alert/alert.js +8 -0
  149. package/dist/collection/components/alert/alert.md.css +108 -8
  150. package/dist/collection/components/alert/test/a11y/alert.e2e.js +122 -0
  151. package/dist/collection/components/avatar/avatar.ios.css +66 -0
  152. package/dist/collection/components/avatar/avatar.md.css +66 -0
  153. package/dist/collection/components/back-button/back-button.ios.css +83 -1
  154. package/dist/collection/components/back-button/back-button.md.css +75 -3
  155. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +26 -0
  156. package/dist/collection/components/backdrop/backdrop.ios.css +66 -0
  157. package/dist/collection/components/backdrop/backdrop.md.css +66 -0
  158. package/dist/collection/components/badge/badge.ios.css +75 -1
  159. package/dist/collection/components/badge/badge.md.css +67 -1
  160. package/dist/collection/components/badge/test/a11y/badge.e2e.js +22 -0
  161. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +80 -3
  162. package/dist/collection/components/breadcrumb/breadcrumb.md.css +69 -3
  163. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +33 -0
  164. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +33 -0
  165. package/dist/collection/components/breadcrumbs/test/a11y/breadcrumbs.e2e.js +21 -0
  166. package/dist/collection/components/button/button.ios.css +118 -19
  167. package/dist/collection/components/button/button.md.css +69 -3
  168. package/dist/collection/components/button/test/a11y/button.e2e.js +61 -0
  169. package/dist/collection/components/buttons/buttons.ios.css +102 -3
  170. package/dist/collection/components/buttons/buttons.md.css +101 -2
  171. package/dist/collection/components/buttons/test/a11y/buttons.e2e.js +74 -0
  172. package/dist/collection/components/card/card.ios.css +67 -1
  173. package/dist/collection/components/card/card.md.css +67 -1
  174. package/dist/collection/components/card/test/a11y/card.e2e.js +31 -0
  175. package/dist/collection/components/card-content/card-content.ios.css +71 -5
  176. package/dist/collection/components/card-content/card-content.md.css +71 -5
  177. package/dist/collection/components/card-header/card-header.ios.css +66 -0
  178. package/dist/collection/components/card-header/card-header.md.css +66 -0
  179. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +67 -1
  180. package/dist/collection/components/card-subtitle/card-subtitle.md.css +67 -1
  181. package/dist/collection/components/card-title/card-title.ios.css +67 -1
  182. package/dist/collection/components/card-title/card-title.md.css +67 -1
  183. package/dist/collection/components/checkbox/checkbox.ios.css +101 -2
  184. package/dist/collection/components/checkbox/checkbox.js +3 -0
  185. package/dist/collection/components/checkbox/checkbox.md.css +99 -0
  186. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +18 -0
  187. package/dist/collection/components/chip/chip.ios.css +190 -0
  188. package/dist/collection/components/chip/chip.js +4 -2
  189. package/dist/collection/components/chip/{chip.css → chip.md.css} +43 -7
  190. package/dist/collection/components/chip/test/a11y/chip.e2e.js +58 -0
  191. package/dist/collection/components/col/col.css +66 -0
  192. package/dist/collection/components/content/content.css +33 -0
  193. package/dist/collection/components/datetime/datetime.ios.css +198 -7
  194. package/dist/collection/components/datetime/datetime.js +13 -7
  195. package/dist/collection/components/datetime/datetime.md.css +97 -5
  196. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +28 -0
  197. package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +14 -0
  198. package/dist/collection/components/datetime/utils/data.js +33 -7
  199. package/dist/collection/components/datetime/utils/format.js +27 -10
  200. package/dist/collection/components/datetime/utils/helpers.js +37 -5
  201. package/dist/collection/components/datetime-button/datetime-button.css +36 -2
  202. package/dist/collection/components/datetime-button/datetime-button.js +4 -4
  203. package/dist/collection/components/datetime-button/test/a11y/datetime-button.e2e.js +38 -0
  204. package/dist/collection/components/fab/fab.css +132 -0
  205. package/dist/collection/components/fab-button/fab-button.ios.css +66 -0
  206. package/dist/collection/components/fab-button/fab-button.md.css +66 -0
  207. package/dist/collection/components/fab-list/fab-list.css +66 -0
  208. package/dist/collection/components/footer/footer.ios.css +66 -0
  209. package/dist/collection/components/footer/footer.md.css +66 -0
  210. package/dist/collection/components/grid/grid.css +66 -0
  211. package/dist/collection/components/header/header.ios.css +71 -2
  212. package/dist/collection/components/header/header.md.css +66 -0
  213. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +66 -0
  214. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +66 -0
  215. package/dist/collection/components/input/input.ios.css +100 -1
  216. package/dist/collection/components/input/input.md.css +199 -1
  217. package/dist/collection/components/input/test/a11y/input.e2e.js +15 -1
  218. package/dist/collection/components/item/item.ios.css +70 -4
  219. package/dist/collection/components/item/item.md.css +138 -6
  220. package/dist/collection/components/item/test/a11y/item.e2e.js +116 -1
  221. package/dist/collection/components/item-divider/item-divider.ios.css +101 -9
  222. package/dist/collection/components/item-divider/item-divider.md.css +103 -11
  223. package/dist/collection/components/item-divider/test/a11y/item-divider.e2e.js +44 -0
  224. package/dist/collection/components/item-group/item-group.ios.css +68 -1
  225. package/dist/collection/components/item-group/item-group.md.css +68 -1
  226. package/dist/collection/components/item-option/item-option.ios.css +67 -1
  227. package/dist/collection/components/item-option/item-option.md.css +67 -1
  228. package/dist/collection/components/item-options/item-options.ios.css +99 -1
  229. package/dist/collection/components/item-options/item-options.md.css +99 -1
  230. package/dist/collection/components/item-sliding/item-sliding.css +33 -0
  231. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +34 -0
  232. package/dist/collection/components/label/label.ios.css +105 -6
  233. package/dist/collection/components/label/label.md.css +104 -5
  234. package/dist/collection/components/label/test/a11y/label.e2e.js +66 -0
  235. package/dist/collection/components/list/list.ios.css +99 -0
  236. package/dist/collection/components/list/list.md.css +99 -0
  237. package/dist/collection/components/list-header/list-header.ios.css +100 -1
  238. package/dist/collection/components/list-header/list-header.md.css +100 -1
  239. package/dist/collection/components/list-header/test/a11y/list-header.e2e.js +24 -0
  240. package/dist/collection/components/loading/loading.ios.css +67 -1
  241. package/dist/collection/components/loading/loading.md.css +67 -1
  242. package/dist/collection/components/loading/test/a11y/loading.e2e.js +19 -0
  243. package/dist/collection/components/menu/menu.ios.css +66 -0
  244. package/dist/collection/components/menu/menu.js +48 -28
  245. package/dist/collection/components/menu/menu.md.css +66 -0
  246. package/dist/collection/components/menu/test/disable/menu.e2e.js +55 -0
  247. package/dist/collection/components/menu/test/multiple/menu.e2e.js +60 -0
  248. package/dist/collection/components/menu-button/menu-button.ios.css +70 -2
  249. package/dist/collection/components/menu-button/menu-button.md.css +71 -3
  250. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +20 -1
  251. package/dist/collection/components/modal/modal.ios.css +66 -0
  252. package/dist/collection/components/modal/modal.md.css +66 -0
  253. package/dist/collection/components/nav/nav.css +33 -0
  254. package/dist/collection/components/nav/nav.js +1 -0
  255. package/dist/collection/components/note/note.ios.css +67 -0
  256. package/dist/collection/components/note/note.md.css +67 -1
  257. package/dist/collection/components/note/test/a11y/note.e2e.js +52 -0
  258. package/dist/collection/components/picker/picker.ios.css +66 -0
  259. package/dist/collection/components/picker/picker.md.css +66 -0
  260. package/dist/collection/components/picker-column/picker-column.ios.css +66 -0
  261. package/dist/collection/components/picker-column/picker-column.md.css +66 -0
  262. package/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +33 -0
  263. package/dist/collection/components/picker-column-internal/picker-column-internal.md.css +66 -0
  264. package/dist/collection/components/picker-internal/picker-internal.ios.css +66 -0
  265. package/dist/collection/components/picker-internal/picker-internal.md.css +66 -0
  266. package/dist/collection/components/popover/popover.ios.css +66 -0
  267. package/dist/collection/components/popover/popover.md.css +66 -0
  268. package/dist/collection/components/progress-bar/progress-bar.ios.css +33 -0
  269. package/dist/collection/components/progress-bar/progress-bar.md.css +33 -0
  270. package/dist/collection/components/radio/radio.ios.css +104 -5
  271. package/dist/collection/components/radio/radio.js +4 -1
  272. package/dist/collection/components/radio/radio.md.css +104 -5
  273. package/dist/collection/components/radio/test/a11y/radio.e2e.js +21 -0
  274. package/dist/collection/components/radio-group/radio-group.js +1 -1
  275. package/dist/collection/components/range/range.ios.css +82 -8
  276. package/dist/collection/components/range/range.md.css +99 -11
  277. package/dist/collection/components/range/test/a11y/range.e2e.js +22 -0
  278. package/dist/collection/components/refresher/refresher.ios.css +66 -0
  279. package/dist/collection/components/refresher/refresher.md.css +66 -0
  280. package/dist/collection/components/reorder/reorder.ios.css +75 -2
  281. package/dist/collection/components/reorder/reorder.md.css +75 -2
  282. package/dist/collection/components/reorder-group/reorder-group.css +33 -0
  283. package/dist/collection/components/reorder-group/test/a11y/reorder-group.e2e.js +33 -0
  284. package/dist/collection/components/ripple-effect/ripple-effect.css +33 -0
  285. package/dist/collection/components/router/router.js +2 -0
  286. package/dist/collection/components/router/utils/path.js +1 -0
  287. package/dist/collection/components/router-link/router-link.css +33 -0
  288. package/dist/collection/components/router-outlet/router-outlet.css +33 -0
  289. package/dist/collection/components/row/row.css +66 -0
  290. package/dist/collection/components/searchbar/searchbar.ios.css +95 -16
  291. package/dist/collection/components/searchbar/searchbar.js +7 -1
  292. package/dist/collection/components/searchbar/searchbar.md.css +77 -10
  293. package/dist/collection/components/searchbar/test/a11y/searchbar.e2e.js +37 -0
  294. package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +18 -0
  295. package/dist/collection/components/segment/segment.ios.css +99 -0
  296. package/dist/collection/components/segment/segment.md.css +99 -0
  297. package/dist/collection/components/segment-button/segment-button.ios.css +66 -0
  298. package/dist/collection/components/segment-button/segment-button.md.css +66 -0
  299. package/dist/collection/components/select/select.ios.css +102 -3
  300. package/dist/collection/components/select/select.js +32 -18
  301. package/dist/collection/components/select/select.md.css +167 -2
  302. package/dist/collection/components/select/test/a11y/select.e2e.js +22 -0
  303. package/dist/collection/components/select/test/disabled/select.e2e.js +30 -0
  304. package/dist/collection/components/select-popover/select-popover.ios.css +101 -1
  305. package/dist/collection/components/select-popover/select-popover.md.css +99 -0
  306. package/dist/collection/components/skeleton-text/skeleton-text.css +33 -0
  307. package/dist/collection/components/spinner/spinner.css +33 -0
  308. package/dist/collection/components/split-pane/split-pane.ios.css +99 -0
  309. package/dist/collection/components/split-pane/split-pane.md.css +99 -0
  310. package/dist/collection/components/tab-bar/tab-bar.ios.css +99 -0
  311. package/dist/collection/components/tab-bar/tab-bar.md.css +99 -0
  312. package/dist/collection/components/tab-button/tab-button.ios.css +66 -0
  313. package/dist/collection/components/tab-button/tab-button.md.css +66 -0
  314. package/dist/collection/components/tabs/tabs.css +33 -0
  315. package/dist/collection/components/text/text.css +33 -0
  316. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +15 -1
  317. package/dist/collection/components/textarea/textarea.ios.css +133 -1
  318. package/dist/collection/components/textarea/textarea.md.css +199 -1
  319. package/dist/collection/components/thumbnail/thumbnail.css +33 -0
  320. package/dist/collection/components/title/test/a11y/title.e2e.js +61 -0
  321. package/dist/collection/components/title/title.ios.css +43 -10
  322. package/dist/collection/components/title/title.md.css +35 -2
  323. package/dist/collection/components/toast/animations/ios.enter.js +2 -3
  324. package/dist/collection/components/toast/animations/ios.leave.js +2 -3
  325. package/dist/collection/components/toast/animations/md.enter.js +2 -3
  326. package/dist/collection/components/toast/animations/utils.js +85 -0
  327. package/dist/collection/components/toast/test/a11y/toast.e2e.js +98 -1
  328. package/dist/collection/components/toast/test/position-anchor/toast.e2e.js +45 -0
  329. package/dist/collection/components/toast/toast.ios.css +74 -3
  330. package/dist/collection/components/toast/toast.js +98 -9
  331. package/dist/collection/components/toast/toast.md.css +74 -4
  332. package/dist/collection/components/toggle/toggle.ios.css +99 -0
  333. package/dist/collection/components/toggle/toggle.js +3 -0
  334. package/dist/collection/components/toggle/toggle.md.css +99 -0
  335. package/dist/collection/components/toolbar/toolbar.ios.css +66 -14
  336. package/dist/collection/components/toolbar/toolbar.md.css +66 -0
  337. package/dist/collection/css/test/a11y/typography.e2e.js +32 -0
  338. package/dist/collection/index.js +1 -0
  339. package/dist/collection/utils/animation/animation.js +60 -1
  340. package/dist/collection/utils/gesture/swipe-back.js +4 -0
  341. package/dist/collection/utils/menu-controller/index.js +26 -19
  342. package/dist/collection/utils/native/haptic.js +1 -0
  343. package/dist/collection/utils/overlays.js +1 -0
  344. package/dist/collection/utils/transition/ios.transition.js +5 -4
  345. package/dist/docs.json +74 -11
  346. package/dist/esm/{animation-a1d9e088.js → animation-92066c62.js} +60 -1
  347. package/dist/esm/{app-globals-df292a32.js → app-globals-ec816a70.js} +1 -1
  348. package/dist/esm/{button-active-7180a130.js → button-active-d926d4f4.js} +2 -2
  349. package/dist/esm/{data-009dbf15.js → data-44d9e816.js} +96 -22
  350. package/dist/esm/{haptic-6447af60.js → haptic-1243b917.js} +1 -0
  351. package/dist/esm/{index-32c6828b.js → index-7d2b2808.js} +3 -3
  352. package/dist/esm/{index-cb894020.js → index-b49b173c.js} +95 -51
  353. package/dist/esm/{index-ecfc2c9f.js → index-c132c5f1.js} +1 -1
  354. package/dist/esm/{index-3d6aefa2.js → index-df55802d.js} +28 -21
  355. package/dist/esm/index.js +10 -9
  356. package/dist/esm/ion-accordion_2.entry.js +3 -3
  357. package/dist/esm/ion-action-sheet.entry.js +8 -8
  358. package/dist/esm/ion-alert.entry.js +16 -8
  359. package/dist/esm/ion-app_8.entry.js +11 -11
  360. package/dist/esm/ion-avatar_3.entry.js +4 -4
  361. package/dist/esm/ion-back-button.entry.js +5 -5
  362. package/dist/esm/ion-backdrop.entry.js +2 -2
  363. package/dist/esm/ion-breadcrumb_2.entry.js +5 -5
  364. package/dist/esm/ion-button_2.entry.js +35 -22
  365. package/dist/esm/ion-card_5.entry.js +10 -10
  366. package/dist/esm/ion-checkbox.entry.js +6 -3
  367. package/dist/esm/ion-chip.entry.js +9 -4
  368. package/dist/esm/ion-col_3.entry.js +2 -2
  369. package/dist/esm/ion-datetime-button.entry.js +8 -8
  370. package/dist/esm/ion-datetime_3.entry.js +12 -12
  371. package/dist/esm/ion-fab_3.entry.js +3 -3
  372. package/dist/esm/ion-img.entry.js +2 -2
  373. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  374. package/dist/esm/ion-input.entry.js +5 -5
  375. package/dist/esm/ion-item-option_3.entry.js +6 -6
  376. package/dist/esm/ion-item_8.entry.js +13 -13
  377. package/dist/esm/ion-loading.entry.js +6 -6
  378. package/dist/esm/ion-menu_3.entry.js +58 -37
  379. package/dist/esm/ion-modal.entry.js +5 -5
  380. package/dist/esm/ion-nav_2.entry.js +5 -4
  381. package/dist/esm/ion-picker-column-internal.entry.js +3 -3
  382. package/dist/esm/ion-picker-internal.entry.js +1 -1
  383. package/dist/esm/ion-popover.entry.js +5 -5
  384. package/dist/esm/ion-progress-bar.entry.js +2 -2
  385. package/dist/esm/ion-radio_2.entry.js +9 -6
  386. package/dist/esm/ion-range.entry.js +4 -4
  387. package/dist/esm/ion-refresher_2.entry.js +5 -5
  388. package/dist/esm/ion-reorder_2.entry.js +6 -6
  389. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  390. package/dist/esm/ion-route_4.entry.js +5 -2
  391. package/dist/esm/ion-searchbar.entry.js +12 -6
  392. package/dist/esm/ion-segment_2.entry.js +2 -2
  393. package/dist/esm/ion-select_3.entry.js +38 -24
  394. package/dist/esm/ion-spinner.entry.js +2 -2
  395. package/dist/esm/ion-split-pane.entry.js +2 -2
  396. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  397. package/dist/esm/ion-tab_2.entry.js +1 -1
  398. package/dist/esm/ion-text.entry.js +2 -2
  399. package/dist/esm/ion-textarea.entry.js +4 -4
  400. package/dist/esm/ion-toast.entry.js +162 -20
  401. package/dist/esm/ion-toggle.entry.js +7 -4
  402. package/dist/esm/{ionic-global-63a8d8c9.js → ionic-global-246ca78f.js} +1 -1
  403. package/dist/esm/ionic.js +6 -6
  404. package/dist/esm/{ios.transition-d8223b18.js → ios.transition-a86d7bbe.js} +8 -7
  405. package/dist/esm/loader.js +5 -5
  406. package/dist/esm/{md.transition-caed184e.js → md.transition-365ef6b6.js} +3 -3
  407. package/dist/esm/{overlays-84621c0a.js → overlays-cec6bac8.js} +2 -1
  408. package/dist/esm/{status-tap-73e982b6.js → status-tap-9aeeaca5.js} +1 -1
  409. package/dist/esm/{swipe-back-6e8158bc.js → swipe-back-cd4295f3.js} +4 -0
  410. package/dist/esm-es5/animation-92066c62.js +4 -0
  411. package/dist/esm-es5/app-globals-ec816a70.js +4 -0
  412. package/dist/esm-es5/{button-active-7180a130.js → button-active-d926d4f4.js} +1 -1
  413. package/dist/esm-es5/data-44d9e816.js +4 -0
  414. package/dist/esm-es5/{index-32c6828b.js → index-7d2b2808.js} +1 -1
  415. package/dist/esm-es5/index-b49b173c.js +5 -0
  416. package/dist/esm-es5/index-df55802d.js +4 -0
  417. package/dist/esm-es5/index.js +1 -1
  418. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  419. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  420. package/dist/esm-es5/ion-alert.entry.js +1 -1
  421. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  422. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  423. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  424. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  425. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  426. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  427. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  428. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  429. package/dist/esm-es5/ion-chip.entry.js +1 -1
  430. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  431. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  432. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  433. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  434. package/dist/esm-es5/ion-img.entry.js +1 -1
  435. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  436. package/dist/esm-es5/ion-input.entry.js +1 -1
  437. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  438. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  439. package/dist/esm-es5/ion-loading.entry.js +1 -1
  440. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  441. package/dist/esm-es5/ion-modal.entry.js +1 -1
  442. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  443. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  444. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  445. package/dist/esm-es5/ion-popover.entry.js +1 -1
  446. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  447. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  448. package/dist/esm-es5/ion-range.entry.js +1 -1
  449. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  450. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  451. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  452. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  453. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  454. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  455. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  456. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  457. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  458. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  459. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  460. package/dist/esm-es5/ion-text.entry.js +1 -1
  461. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  462. package/dist/esm-es5/ion-toast.entry.js +1 -1
  463. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  464. package/dist/esm-es5/{ionic-global-63a8d8c9.js → ionic-global-246ca78f.js} +1 -1
  465. package/dist/esm-es5/ionic.js +1 -1
  466. package/dist/esm-es5/ios.transition-a86d7bbe.js +4 -0
  467. package/dist/esm-es5/loader.js +1 -1
  468. package/dist/esm-es5/{md.transition-caed184e.js → md.transition-365ef6b6.js} +1 -1
  469. package/dist/esm-es5/{overlays-84621c0a.js → overlays-cec6bac8.js} +1 -1
  470. package/dist/esm-es5/{status-tap-73e982b6.js → status-tap-9aeeaca5.js} +1 -1
  471. package/dist/html.html-data.json +11 -1
  472. package/dist/ionic/index.esm.js +1 -1
  473. package/dist/ionic/ionic.esm.js +1 -1
  474. package/dist/ionic/ionic.js +1 -1
  475. package/dist/ionic/p-012952cd.system.entry.js +4 -0
  476. package/dist/ionic/p-015187e5.system.js +4 -0
  477. package/dist/ionic/p-06ac429a.js +5 -0
  478. package/dist/ionic/{p-dd0c00ed.entry.js → p-0ac3fb2c.entry.js} +1 -1
  479. package/dist/ionic/{p-a1d7f4ef.entry.js → p-0b00b937.entry.js} +1 -1
  480. package/dist/ionic/{p-a8403bed.system.entry.js → p-0b7c25ee.system.entry.js} +1 -1
  481. package/dist/ionic/p-0bbede6a.system.entry.js +4 -0
  482. package/dist/ionic/{p-a4e95028.system.entry.js → p-0f1f59da.system.entry.js} +1 -1
  483. package/dist/ionic/{p-7887ac7a.entry.js → p-108f9d49.entry.js} +1 -1
  484. package/dist/ionic/{p-e263255c.system.entry.js → p-1289b3b5.system.entry.js} +1 -1
  485. package/dist/ionic/{p-a760fd9a.system.js → p-128a98e8.system.js} +1 -1
  486. package/dist/ionic/{p-63f39d2f.entry.js → p-15decbec.entry.js} +1 -1
  487. package/dist/ionic/p-16e44585.js +4 -0
  488. package/dist/ionic/p-17240d90.js +4 -0
  489. package/dist/ionic/{p-8a289322.js → p-181b7c2a.js} +1 -1
  490. package/dist/ionic/p-19fba51c.entry.js +4 -0
  491. package/dist/ionic/p-1a463b1e.system.entry.js +4 -0
  492. package/dist/ionic/{p-9201a4d3.entry.js → p-1ecba429.entry.js} +1 -1
  493. package/dist/ionic/p-1edb53a1.entry.js +4 -0
  494. package/dist/ionic/p-1f260a7b.entry.js +4 -0
  495. package/dist/ionic/{p-3db27dec.entry.js → p-1f81b5be.entry.js} +1 -1
  496. package/dist/ionic/p-28ea45b9.js +4 -0
  497. package/dist/ionic/{p-8f36cde3.system.entry.js → p-29073efe.system.entry.js} +1 -1
  498. package/dist/ionic/p-2bbf3ac4.system.entry.js +4 -0
  499. package/dist/ionic/p-303bf1e8.system.entry.js +4 -0
  500. package/dist/ionic/p-31119a15.entry.js +4 -0
  501. package/dist/ionic/{p-c09e1da9.system.entry.js → p-33a8349a.system.entry.js} +1 -1
  502. package/dist/ionic/p-34259245.system.entry.js +4 -0
  503. package/dist/ionic/{p-7cad90ed.entry.js → p-35b26732.entry.js} +1 -1
  504. package/dist/ionic/p-35e399bd.entry.js +4 -0
  505. package/dist/ionic/p-38089641.entry.js +4 -0
  506. package/dist/ionic/{p-a6c52452.entry.js → p-3818f63f.entry.js} +1 -1
  507. package/dist/ionic/p-38c5fe2b.system.entry.js +4 -0
  508. package/dist/ionic/{p-6f3099b6.system.entry.js → p-3a58e3a4.system.entry.js} +1 -1
  509. package/dist/ionic/{p-9a6f6789.system.entry.js → p-3f3da911.system.entry.js} +1 -1
  510. package/dist/ionic/p-4215652f.system.entry.js +4 -0
  511. package/dist/ionic/p-446230d7.js +4 -0
  512. package/dist/ionic/p-4e50b8d1.entry.js +4 -0
  513. package/dist/ionic/{p-0793ebfd.entry.js → p-4e6e43c1.entry.js} +1 -1
  514. package/dist/ionic/p-4f97c112.entry.js +4 -0
  515. package/dist/ionic/p-54200074.entry.js +4 -0
  516. package/dist/ionic/{p-abfd1f2e.system.entry.js → p-54f6cd27.system.entry.js} +1 -1
  517. package/dist/ionic/p-572cce26.system.entry.js +4 -0
  518. package/dist/ionic/{p-b79eb3cd.entry.js → p-5b976d70.entry.js} +1 -1
  519. package/dist/ionic/p-5c3e72a8.system.js +4 -0
  520. package/dist/ionic/{p-6c7d61b9.system.entry.js → p-6129af0a.system.entry.js} +1 -1
  521. package/dist/ionic/{p-26fbffd4.system.js → p-629aa3fd.system.js} +1 -1
  522. package/dist/ionic/p-62e7d4fa.js +4 -0
  523. package/dist/ionic/p-673846f6.entry.js +4 -0
  524. package/dist/ionic/p-6ce0a709.system.entry.js +4 -0
  525. package/dist/ionic/{p-92d72ad8.entry.js → p-6ea2e653.entry.js} +1 -1
  526. package/dist/ionic/p-6f6646bf.system.entry.js +4 -0
  527. package/dist/ionic/{p-a9b13f18.system.entry.js → p-6f8a95a3.system.entry.js} +1 -1
  528. package/dist/ionic/{p-7a590a28.js → p-76378400.js} +1 -1
  529. package/dist/ionic/p-78030c1f.system.entry.js +4 -0
  530. package/dist/ionic/p-8083aadb.entry.js +4 -0
  531. package/dist/ionic/{p-3dce88bf.entry.js → p-818b2e75.entry.js} +1 -1
  532. package/dist/ionic/p-81ef7437.system.entry.js +4 -0
  533. package/dist/ionic/{p-b4daca17.system.entry.js → p-8a2801f1.system.entry.js} +1 -1
  534. package/dist/ionic/p-8c1805f4.system.entry.js +4 -0
  535. package/dist/ionic/p-8d6728a1.system.entry.js +4 -0
  536. package/dist/ionic/{p-00cf2d6c.js → p-8e24ebbc.js} +1 -1
  537. package/dist/ionic/{p-c8ec0d79.system.js → p-8f01a9a2.system.js} +1 -1
  538. package/dist/ionic/{p-9f9efb31.system.js → p-939e0fa1.system.js} +1 -1
  539. package/dist/ionic/{p-21085f64.system.entry.js → p-95817276.system.entry.js} +1 -1
  540. package/dist/ionic/{p-ca655a7c.entry.js → p-96ba8eac.entry.js} +1 -1
  541. package/dist/ionic/{p-95e44641.system.entry.js → p-9b9dcc3e.system.entry.js} +1 -1
  542. package/dist/ionic/p-9dc85536.system.entry.js +4 -0
  543. package/dist/ionic/{p-50d83224.entry.js → p-a04bfada.entry.js} +1 -1
  544. package/dist/ionic/p-a164e3ab.system.entry.js +4 -0
  545. package/dist/ionic/{p-018ad59f.entry.js → p-a200a7fc.entry.js} +1 -1
  546. package/dist/ionic/p-a34fc12e.system.entry.js +4 -0
  547. package/dist/ionic/p-a7f8dc42.entry.js +4 -0
  548. package/dist/ionic/p-a9c32660.entry.js +4 -0
  549. package/dist/ionic/p-aa377971.system.js +4 -0
  550. package/dist/ionic/p-ad48dd13.system.js +4 -0
  551. package/dist/ionic/{p-0e070fbe.entry.js → p-afb6658f.entry.js} +1 -1
  552. package/dist/ionic/{p-534a1cbc.system.js → p-b3c68723.system.js} +1 -1
  553. package/dist/ionic/{p-4e76e29a.system.entry.js → p-b61a2fa0.system.entry.js} +1 -1
  554. package/dist/ionic/{p-f6f4d4bb.system.entry.js → p-b753ec0d.system.entry.js} +1 -1
  555. package/dist/ionic/p-b8c3f071.system.js +4 -0
  556. package/dist/ionic/p-b9047b05.system.js +4 -0
  557. package/dist/ionic/{p-f37d6823.system.entry.js → p-beb864e4.system.entry.js} +1 -1
  558. package/dist/ionic/{p-58565369.system.entry.js → p-c05315f5.system.entry.js} +1 -1
  559. package/dist/ionic/p-c105bd36.entry.js +4 -0
  560. package/dist/ionic/p-c42c86c0.system.entry.js +4 -0
  561. package/dist/ionic/{p-5c24c115.system.js → p-c49672d8.system.js} +1 -1
  562. package/dist/ionic/{p-57743e20.entry.js → p-c4a5de01.entry.js} +1 -1
  563. package/dist/ionic/{p-c2d6b2fb.entry.js → p-c679fcb5.entry.js} +1 -1
  564. package/dist/ionic/p-c8c9d699.system.entry.js +4 -0
  565. package/dist/ionic/p-c92f0a6d.system.entry.js +4 -0
  566. package/dist/ionic/p-c956e82c.system.entry.js +4 -0
  567. package/dist/ionic/{p-a732cfec.system.js → p-c994fff0.system.js} +1 -1
  568. package/dist/ionic/p-cabd2c6d.entry.js +4 -0
  569. package/dist/ionic/p-cd2d17c3.system.entry.js +4 -0
  570. package/dist/ionic/{p-6db9035a.system.entry.js → p-ce7d67a7.system.entry.js} +1 -1
  571. package/dist/ionic/p-ced41304.system.js +4 -0
  572. package/dist/ionic/{p-84549737.system.entry.js → p-cf0c93e3.system.entry.js} +1 -1
  573. package/dist/ionic/{p-68a3da51.js → p-cf62e1c8.js} +1 -1
  574. package/dist/ionic/{p-7b15d413.entry.js → p-d35217be.entry.js} +1 -1
  575. package/dist/ionic/p-d6e53e66.entry.js +4 -0
  576. package/dist/ionic/{p-fa06c407.entry.js → p-db1a1e00.entry.js} +1 -1
  577. package/dist/ionic/{p-d90f0779.system.entry.js → p-e0f52215.system.entry.js} +1 -1
  578. package/dist/ionic/p-e1d5752d.system.entry.js +4 -0
  579. package/dist/ionic/p-e2bb634f.js +4 -0
  580. package/dist/ionic/p-e38a5f77.js +4 -0
  581. package/dist/ionic/{p-4b23f472.entry.js → p-e42aaa8b.entry.js} +1 -1
  582. package/dist/ionic/p-e65ebe96.entry.js +4 -0
  583. package/dist/ionic/p-e74faf2a.entry.js +4 -0
  584. package/dist/ionic/{p-9e91c83f.system.entry.js → p-eab10949.system.entry.js} +1 -1
  585. package/dist/ionic/{p-ac32f6ce.entry.js → p-eac263dd.entry.js} +1 -1
  586. package/dist/ionic/{p-e3272ed8.entry.js → p-f34f001c.entry.js} +1 -1
  587. package/dist/ionic/p-f4309ac7.entry.js +4 -0
  588. package/dist/ionic/p-f5bf698b.entry.js +4 -0
  589. package/dist/ionic/p-f7566bad.entry.js +4 -0
  590. package/dist/ionic/p-f919c026.entry.js +4 -0
  591. package/dist/ionic/{p-c381a9a9.system.entry.js → p-f9fa802c.system.entry.js} +1 -1
  592. package/dist/ionic/{p-3bf7c0dc.entry.js → p-fcf47f80.entry.js} +1 -1
  593. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +49 -6
  594. package/dist/types/components/datetime/datetime-interface.d.ts +1 -0
  595. package/dist/types/components/datetime/datetime.d.ts +2 -2
  596. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  597. package/dist/types/components/datetime/utils/format.d.ts +3 -3
  598. package/dist/types/components/datetime/utils/helpers.d.ts +15 -1
  599. package/dist/types/components/menu/menu-interface.d.ts +0 -1
  600. package/dist/types/components/menu/menu.d.ts +8 -1
  601. package/dist/types/components/toast/animations/ios.enter.d.ts +2 -1
  602. package/dist/types/components/toast/animations/ios.leave.d.ts +2 -2
  603. package/dist/types/components/toast/animations/md.enter.d.ts +2 -1
  604. package/dist/types/components/toast/animations/utils.d.ts +18 -0
  605. package/dist/types/components/toast/toast-interface.d.ts +11 -0
  606. package/dist/types/components/toast/toast.d.ts +21 -1
  607. package/dist/types/components.d.ts +16 -8
  608. package/dist/types/index.d.ts +1 -0
  609. package/dist/types/utils/menu-controller/index.d.ts +1 -2
  610. package/hydrate/index.js +607 -232
  611. package/package.json +7 -8
  612. package/dist/esm-es5/animation-a1d9e088.js +0 -4
  613. package/dist/esm-es5/app-globals-df292a32.js +0 -4
  614. package/dist/esm-es5/data-009dbf15.js +0 -4
  615. package/dist/esm-es5/index-3d6aefa2.js +0 -4
  616. package/dist/esm-es5/index-cb894020.js +0 -5
  617. package/dist/esm-es5/ios.transition-d8223b18.js +0 -4
  618. package/dist/ionic/p-007168b8.system.entry.js +0 -4
  619. package/dist/ionic/p-037e2738.system.entry.js +0 -4
  620. package/dist/ionic/p-043e8328.system.js +0 -4
  621. package/dist/ionic/p-15278928.entry.js +0 -4
  622. package/dist/ionic/p-1c59608c.system.entry.js +0 -4
  623. package/dist/ionic/p-1caf1ec6.entry.js +0 -4
  624. package/dist/ionic/p-1d2d1ab5.system.entry.js +0 -4
  625. package/dist/ionic/p-23e76249.entry.js +0 -4
  626. package/dist/ionic/p-28678af4.system.entry.js +0 -4
  627. package/dist/ionic/p-2992f2a8.entry.js +0 -4
  628. package/dist/ionic/p-30b04d8d.js +0 -4
  629. package/dist/ionic/p-37fc0d22.system.entry.js +0 -4
  630. package/dist/ionic/p-3e6b0330.system.entry.js +0 -4
  631. package/dist/ionic/p-44ef7224.system.js +0 -4
  632. package/dist/ionic/p-469d6a98.entry.js +0 -4
  633. package/dist/ionic/p-4af11953.entry.js +0 -4
  634. package/dist/ionic/p-4c20879c.entry.js +0 -4
  635. package/dist/ionic/p-57c5eca2.system.js +0 -4
  636. package/dist/ionic/p-5fd0a13e.system.entry.js +0 -4
  637. package/dist/ionic/p-6641d7fa.js +0 -4
  638. package/dist/ionic/p-67e21699.entry.js +0 -4
  639. package/dist/ionic/p-68b405cc.entry.js +0 -4
  640. package/dist/ionic/p-6b2641f6.system.js +0 -4
  641. package/dist/ionic/p-6ce891b2.entry.js +0 -4
  642. package/dist/ionic/p-73eba881.system.js +0 -4
  643. package/dist/ionic/p-7c901810.system.js +0 -4
  644. package/dist/ionic/p-7cfd253c.js +0 -4
  645. package/dist/ionic/p-7d6f2bbb.system.entry.js +0 -4
  646. package/dist/ionic/p-7fd0f045.system.entry.js +0 -4
  647. package/dist/ionic/p-8957b1de.system.entry.js +0 -4
  648. package/dist/ionic/p-89e3d112.system.entry.js +0 -4
  649. package/dist/ionic/p-8c17d825.js +0 -4
  650. package/dist/ionic/p-903c36fe.js +0 -5
  651. package/dist/ionic/p-90ebbca0.entry.js +0 -4
  652. package/dist/ionic/p-94a4ce40.js +0 -4
  653. package/dist/ionic/p-9649c54e.js +0 -4
  654. package/dist/ionic/p-96ad49f1.entry.js +0 -4
  655. package/dist/ionic/p-9d0916cb.system.js +0 -4
  656. package/dist/ionic/p-9e727d1d.entry.js +0 -4
  657. package/dist/ionic/p-a0e2f6d8.entry.js +0 -4
  658. package/dist/ionic/p-a51f5932.entry.js +0 -4
  659. package/dist/ionic/p-ab7edc16.system.entry.js +0 -4
  660. package/dist/ionic/p-b2397f35.entry.js +0 -4
  661. package/dist/ionic/p-b27772bf.entry.js +0 -4
  662. package/dist/ionic/p-b370d1b4.js +0 -4
  663. package/dist/ionic/p-b3bcef34.system.entry.js +0 -4
  664. package/dist/ionic/p-b4c0e9ee.entry.js +0 -4
  665. package/dist/ionic/p-b9e2aede.entry.js +0 -4
  666. package/dist/ionic/p-d2a278b1.entry.js +0 -4
  667. package/dist/ionic/p-d511de89.system.entry.js +0 -4
  668. package/dist/ionic/p-d580cbb7.system.entry.js +0 -4
  669. package/dist/ionic/p-da024961.entry.js +0 -4
  670. package/dist/ionic/p-e40b2cb4.system.entry.js +0 -4
  671. package/dist/ionic/p-e6d2cca2.system.entry.js +0 -4
  672. package/dist/ionic/p-e88ed929.system.entry.js +0 -4
  673. package/dist/ionic/p-ec29338e.entry.js +0 -4
  674. package/dist/ionic/p-ec451ef7.system.entry.js +0 -4
  675. package/dist/ionic/p-f1c2678b.system.entry.js +0 -4
  676. package/dist/ionic/p-f4267847.system.entry.js +0 -4
  677. package/dist/ionic/p-fb18f74b.system.entry.js +0 -4
  678. package/dist/ionic/p-fbc7995a.system.entry.js +0 -4
  679. /package/dist/esm-es5/{haptic-6447af60.js → haptic-1243b917.js} +0 -0
  680. /package/dist/esm-es5/{index-ecfc2c9f.js → index-c132c5f1.js} +0 -0
  681. /package/dist/esm-es5/{swipe-back-6e8158bc.js → swipe-back-cd4295f3.js} +0 -0
  682. /package/dist/ionic/{p-0e9a055c.js → p-32083c2d.js} +0 -0
  683. /package/dist/ionic/{p-8985b268.system.js → p-8050b9b9.system.js} +0 -0
  684. /package/dist/ionic/{p-14d7b7e2.system.js → p-b4b4bb29.system.js} +0 -0
  685. /package/dist/ionic/{p-eacb02b2.system.js → p-b912e055.system.js} +0 -0
  686. /package/dist/ionic/{p-bb6f38ed.js → p-b923f3d7.js} +0 -0
  687. /package/dist/ionic/{p-0a87858b.js → p-ea96fa73.js} +0 -0
@@ -1,3 +1,36 @@
1
+ /**
2
+ * Convert a font size to a dynamic font size.
3
+ * Fonts that participate in Dynamic Type should use
4
+ * dynamic font sizes.
5
+ * @param size - The initial font size including the unit (i.e. px or pt)
6
+ * @param unit (optional) - The unit to convert to. Use this if you want to
7
+ * convert to a unit other than $baselineUnit.
8
+ */
9
+ /**
10
+ * Convert a font size to a dynamic font size but impose
11
+ * a maximum font size.
12
+ * @param size - The initial font size including the unit (i.e. px or pt)
13
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
+ * convert to a unit other than $baselineUnit.
16
+ */
17
+ /**
18
+ * Convert a font size to a dynamic font size but impose
19
+ * a minimum font size.
20
+ * @param size - The initial font size including the unit (i.e. px or pt)
21
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
+ * convert to a unit other than $baselineUnit.
24
+ */
25
+ /**
26
+ * Convert a font size to a dynamic font size but impose
27
+ * maximum and minimum font sizes.
28
+ * @param size - The initial font size including the unit (i.e. px or pt)
29
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
+ * convert to a unit other than $baselineUnit.
33
+ */
1
34
  :host {
2
35
  /**
3
36
  * @prop --background: Background of the toolbar
@@ -87,6 +120,39 @@
87
120
  position: absolute;
88
121
  }
89
122
 
123
+ /**
124
+ * Convert a font size to a dynamic font size.
125
+ * Fonts that participate in Dynamic Type should use
126
+ * dynamic font sizes.
127
+ * @param size - The initial font size including the unit (i.e. px or pt)
128
+ * @param unit (optional) - The unit to convert to. Use this if you want to
129
+ * convert to a unit other than $baselineUnit.
130
+ */
131
+ /**
132
+ * Convert a font size to a dynamic font size but impose
133
+ * a maximum font size.
134
+ * @param size - The initial font size including the unit (i.e. px or pt)
135
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
136
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
137
+ * convert to a unit other than $baselineUnit.
138
+ */
139
+ /**
140
+ * Convert a font size to a dynamic font size but impose
141
+ * a minimum font size.
142
+ * @param size - The initial font size including the unit (i.e. px or pt)
143
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
144
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
145
+ * convert to a unit other than $baselineUnit.
146
+ */
147
+ /**
148
+ * Convert a font size to a dynamic font size but impose
149
+ * maximum and minimum font sizes.
150
+ * @param size - The initial font size including the unit (i.e. px or pt)
151
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
152
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
153
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
154
+ * convert to a unit other than $baselineUnit.
155
+ */
90
156
  :host {
91
157
  --background: var(--ion-toolbar-background, var(--ion-background-color, #fff));
92
158
  --color: var(--ion-toolbar-color, var(--ion-text-color, #424242));
@@ -0,0 +1,32 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { expect } from "@playwright/test";
5
+ import { configs, test } from "../../../utils/test/playwright/index";
6
+ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, screenshot, config }) => {
7
+ test.describe(title('typography: font scaling'), () => {
8
+ test('should scale text on larger font sizes', async ({ page }) => {
9
+ await page.setContent(`
10
+ <style>
11
+ html {
12
+ font-size: 310%;
13
+ }
14
+ </style>
15
+
16
+ <div>
17
+ <h1>Heading 1</h1>
18
+ <h2>Heading 2</h2>
19
+ <h3>Heading 3</h3>
20
+ <h4>Heading 4</h4>
21
+ <h5>Heading 5</h5>
22
+ <h6>Heading 6</h6>
23
+ <p>
24
+ The quick brown fox <ion-text><sup>jumps</sup></ion-text> over the <ion-text><sub>lazy dog</sub></ion-text>
25
+ </p>
26
+ </div>
27
+ `, config);
28
+ const div = page.locator('div');
29
+ await expect(div).toHaveScreenshot(screenshot(`typography-scale`));
30
+ });
31
+ });
32
+ });
@@ -13,6 +13,7 @@ export { componentOnReady } from './utils/helpers';
13
13
  export { isPlatform, getPlatforms } from './utils/platform';
14
14
  export { IonicSafeString } from './utils/sanitization';
15
15
  export { getMode, setupConfig } from './utils/config';
16
+ export { openURL } from './utils/theme';
16
17
  export { LIFECYCLE_WILL_ENTER, LIFECYCLE_DID_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_UNLOAD, } from './components/nav/constants';
17
18
  export { menuController } from './utils/menu-controller';
18
19
  export { alertController, actionSheetController, modalController, loadingController, pickerController, popoverController, toastController, } from './utils/overlays';
@@ -36,6 +36,7 @@ export const createAnimation = (animationId) => {
36
36
  const id = animationId;
37
37
  const onFinishCallbacks = [];
38
38
  const onFinishOneTimeCallbacks = [];
39
+ const onStopOneTimeCallbacks = [];
39
40
  const elements = [];
40
41
  const childAnimations = [];
41
42
  const stylesheets = [];
@@ -93,6 +94,28 @@ export const createAnimation = (animationId) => {
93
94
  const isRunning = () => {
94
95
  return numAnimationsRunning !== 0 && !paused;
95
96
  };
97
+ /**
98
+ * @internal
99
+ * Remove a callback from a chosen callback array
100
+ * @param callbackToRemove: A reference to the callback that should be removed
101
+ * @param callbackObjects: An array of callbacks that callbackToRemove should be removed from.
102
+ */
103
+ const clearCallback = (callbackToRemove, callbackObjects) => {
104
+ const index = callbackObjects.findIndex((callbackObject) => callbackObject.c === callbackToRemove);
105
+ if (index > -1) {
106
+ callbackObjects.splice(index, 1);
107
+ }
108
+ };
109
+ /**
110
+ * @internal
111
+ * Add a callback to be fired when an animation is stopped/cancelled.
112
+ * @param callback: A reference to the callback that should be fired
113
+ * @param opts: Any options associated with this particular callback
114
+ */
115
+ const onStop = (callback, opts) => {
116
+ onStopOneTimeCallbacks.push({ c: callback, o: opts });
117
+ return ani;
118
+ };
96
119
  const onFinish = (callback, opts) => {
97
120
  const callbacks = (opts === null || opts === void 0 ? void 0 : opts.oneTimeCallback) ? onFinishOneTimeCallbacks : onFinishCallbacks;
98
121
  callbacks.push({ c: callback, o: opts });
@@ -761,7 +784,33 @@ export const createAnimation = (animationId) => {
761
784
  numAnimationsRunning = childAnimations.length + 1;
762
785
  shouldCalculateNumAnimations = false;
763
786
  }
764
- onFinish(() => resolve(), { oneTimeCallback: true });
787
+ /**
788
+ * When one of these callbacks fires we
789
+ * need to clear the other's callback otherwise
790
+ * you can potentially get these callbacks
791
+ * firing multiple times if the play method
792
+ * is subsequently called.
793
+ * Example:
794
+ * animation.play() (onStop and onFinish callbacks are registered)
795
+ * animation.stop() (onStop callback is fired, onFinish is not)
796
+ * animation.play() (onStop and onFinish callbacks are registered)
797
+ * Total onStop callbacks: 1
798
+ * Total onFinish callbacks: 2
799
+ */
800
+ const onStopCallback = () => {
801
+ clearCallback(onFinishCallback, onFinishOneTimeCallbacks);
802
+ resolve();
803
+ };
804
+ const onFinishCallback = () => {
805
+ clearCallback(onStopCallback, onStopOneTimeCallbacks);
806
+ resolve();
807
+ };
808
+ /**
809
+ * The play method resolves when an animation
810
+ * run either finishes or is cancelled.
811
+ */
812
+ onFinish(onFinishCallback, { oneTimeCallback: true });
813
+ onStop(onStopCallback, { oneTimeCallback: true });
765
814
  childAnimations.forEach((animation) => {
766
815
  animation.play();
767
816
  });
@@ -774,6 +823,14 @@ export const createAnimation = (animationId) => {
774
823
  paused = false;
775
824
  });
776
825
  };
826
+ /**
827
+ * Stops an animation and resets it state to the
828
+ * beginning. This does not fire any onFinish
829
+ * callbacks because the animation did not finish.
830
+ * However, since the animation was not destroyed
831
+ * (i.e. the animation could run again) we do not
832
+ * clear the onFinish callbacks.
833
+ */
777
834
  const stop = () => {
778
835
  childAnimations.forEach((animation) => {
779
836
  animation.stop();
@@ -783,6 +840,8 @@ export const createAnimation = (animationId) => {
783
840
  initialized = false;
784
841
  }
785
842
  resetFlags();
843
+ onStopOneTimeCallbacks.forEach((onStopCallback) => onStopCallback.c(0, ani));
844
+ onStopOneTimeCallbacks.length = 0;
786
845
  };
787
846
  const from = (property, value) => {
788
847
  const firstFrame = _keyframes[0];
@@ -61,6 +61,10 @@ export const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMo
61
61
  return createGesture({
62
62
  el,
63
63
  gestureName: 'goback-swipe',
64
+ /**
65
+ * Swipe to go back should have priority over other horizontal swipe
66
+ * gestures. These gestures have a priority of 100 which is why 101 was chosen here.
67
+ */
64
68
  gesturePriority: 101,
65
69
  threshold: 10,
66
70
  canStart,
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { printIonWarning } from "../logging/index";
4
5
  import { MENU_BACK_BUTTON_PRIORITY } from "../hardware-back-button";
5
6
  import { componentOnReady } from "../helpers";
6
7
  import { menuOverlayAnimation } from "./animations/overlay";
@@ -10,21 +11,21 @@ const createMenuController = () => {
10
11
  const menuAnimations = new Map();
11
12
  const menus = [];
12
13
  const open = async (menu) => {
13
- const menuEl = await get(menu);
14
+ const menuEl = await get(menu, true);
14
15
  if (menuEl) {
15
16
  return menuEl.open();
16
17
  }
17
18
  return false;
18
19
  };
19
20
  const close = async (menu) => {
20
- const menuEl = await (menu !== undefined ? get(menu) : getOpen());
21
+ const menuEl = await (menu !== undefined ? get(menu, true) : getOpen());
21
22
  if (menuEl !== undefined) {
22
23
  return menuEl.close();
23
24
  }
24
25
  return false;
25
26
  };
26
27
  const toggle = async (menu) => {
27
- const menuEl = await get(menu);
28
+ const menuEl = await get(menu, true);
28
29
  if (menuEl) {
29
30
  return menuEl.toggle();
30
31
  }
@@ -62,18 +63,35 @@ const createMenuController = () => {
62
63
  }
63
64
  return false;
64
65
  };
65
- const get = async (menu) => {
66
+ /**
67
+ * Finds and returns the menu specified by "menu" if registered.
68
+ * @param menu - The side or ID of the desired menu
69
+ * @param logOnMultipleSideMenus - If true, this function will log a warning
70
+ * if "menu" is a side but multiple menus on the same side were found. Since this function
71
+ * is used in multiple places, we default this log to false so that the calling
72
+ * functions can choose whether or not it is appropriate to log this warning.
73
+ */
74
+ const get = async (menu, logOnMultipleSideMenus = false) => {
66
75
  await waitUntilReady();
67
76
  if (menu === 'start' || menu === 'end') {
68
77
  // there could be more than one menu on the same side
69
78
  // so first try to get the enabled one
70
- const menuRef = find((m) => m.side === menu && !m.disabled);
71
- if (menuRef) {
72
- return menuRef;
79
+ const menuRefs = menus.filter((m) => m.side === menu && !m.disabled);
80
+ if (menuRefs.length >= 1) {
81
+ if (menuRefs.length > 1 && logOnMultipleSideMenus) {
82
+ printIonWarning(`menuController queried for a menu on the "${menu}" side, but ${menuRefs.length} menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side.`, menuRefs.map((m) => m.el));
83
+ }
84
+ return menuRefs[0].el;
73
85
  }
74
86
  // didn't find a menu side that is enabled
75
87
  // so try to get the first menu side found
76
- return find((m) => m.side === menu);
88
+ const sideMenuRefs = menus.filter((m) => m.side === menu);
89
+ if (sideMenuRefs.length >= 1) {
90
+ if (sideMenuRefs.length > 1 && logOnMultipleSideMenus) {
91
+ printIonWarning(`menuController queried for a menu on the "${menu}" side, but ${sideMenuRefs.length} menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side.`, sideMenuRefs.map((m) => m.el));
92
+ }
93
+ return sideMenuRefs[0].el;
94
+ }
77
95
  }
78
96
  else if (menu != null) {
79
97
  // the menuId was not left or right
@@ -115,9 +133,6 @@ const createMenuController = () => {
115
133
  };
116
134
  const _register = (menu) => {
117
135
  if (menus.indexOf(menu) < 0) {
118
- if (!menu.disabled) {
119
- _setActiveMenu(menu);
120
- }
121
136
  menus.push(menu);
122
137
  }
123
138
  };
@@ -127,13 +142,6 @@ const createMenuController = () => {
127
142
  menus.splice(index, 1);
128
143
  }
129
144
  };
130
- const _setActiveMenu = (menu) => {
131
- // if this menu should be enabled
132
- // then find all the other menus on this same side
133
- // and automatically disable other same side menus
134
- const side = menu.side;
135
- menus.filter((m) => m.side === side && m !== menu).forEach((m) => (m.disabled = true));
136
- };
137
145
  const _setOpen = async (menu, shouldOpen, animated) => {
138
146
  if (isAnimatingSync()) {
139
147
  return false;
@@ -205,7 +213,6 @@ const createMenuController = () => {
205
213
  _register,
206
214
  _unregister,
207
215
  _setOpen,
208
- _setActiveMenu,
209
216
  };
210
217
  };
211
218
  export const menuController = /*@__PURE__*/ createMenuController();
@@ -75,6 +75,7 @@ const HapticEngine = {
75
75
  * if the browser does not support the Vibrate API.
76
76
  */
77
77
  if ((capacitor === null || capacitor === void 0 ? void 0 : capacitor.getPlatform()) === 'web') {
78
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
78
79
  return typeof navigator !== 'undefined' && navigator.vibrate !== undefined;
79
80
  }
80
81
  return true;
@@ -68,6 +68,7 @@ export const setOverlayId = (el) => {
68
68
  return el.id;
69
69
  };
70
70
  export const createOverlay = (tagName, opts) => {
71
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
71
72
  if (typeof window !== 'undefined' && typeof window.customElements !== 'undefined') {
72
73
  return window.customElements.whenDefined(tagName).then(() => {
73
74
  const element = document.createElement(tagName);
@@ -145,10 +145,10 @@ const animateLargeTitle = (rootAnimation, rtl, backDirection, largeTitleEl, larg
145
145
  const BACKWARDS_KEYFRAMES = [
146
146
  { offset: 0, opacity: 0, transform: `translate3d(${START_TRANSLATE}, ${backButtonBox.top - 4}px, 0) scale(0.49)` },
147
147
  { offset: 0.1, opacity: 0 },
148
- { offset: 1, opacity: 1, transform: `translate3d(0, ${largeTitleBox.top - 2}px, 0) scale(1)` },
148
+ { offset: 1, opacity: 1, transform: `translate3d(0, ${largeTitleBox.top + 2}px, 0) scale(1)` },
149
149
  ];
150
150
  const FORWARDS_KEYFRAMES = [
151
- { offset: 0, opacity: 0.99, transform: `translate3d(0, ${largeTitleBox.top - 2}px, 0) scale(1)` },
151
+ { offset: 0, opacity: 0.99, transform: `translate3d(0, ${largeTitleBox.top + 2}px, 0) scale(1)` },
152
152
  { offset: 0.6, opacity: 0 },
153
153
  { offset: 1, opacity: 0, transform: `translate3d(${START_TRANSLATE}, ${backButtonBox.top - 4}px, 0) scale(0.5)` },
154
154
  ];
@@ -168,10 +168,10 @@ const animateLargeTitle = (rootAnimation, rtl, backDirection, largeTitleEl, larg
168
168
  [ORIGIN_X]: TITLE_START_OFFSET,
169
169
  })
170
170
  .beforeAddWrite(() => {
171
- largeTitleEl.style.setProperty('display', 'none');
171
+ largeTitleEl.style.setProperty('opacity', '0');
172
172
  })
173
173
  .afterAddWrite(() => {
174
- largeTitleEl.style.setProperty('display', '');
174
+ largeTitleEl.style.setProperty('opacity', '');
175
175
  clonedTitleEl.style.setProperty('display', 'none');
176
176
  })
177
177
  .keyframes(KEYFRAMES);
@@ -202,6 +202,7 @@ export const iosTransitionAnimation = (navEl, opts) => {
202
202
  .easing(opts.easing || EASING)
203
203
  .fill('both')
204
204
  .beforeRemoveClass('ion-page-invisible');
205
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
205
206
  if (leavingEl && navEl !== null && navEl !== undefined) {
206
207
  const navDecorAnimation = createAnimation();
207
208
  navDecorAnimation.addElement(navEl);
package/dist/docs.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
- "timestamp": "2023-10-08T01:11:24",
2
+ "timestamp": "2023-10-11T14:54:40",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
- "version": "4.4.0",
5
+ "version": "4.4.1",
6
6
  "typescriptVersion": "5.2.2"
7
7
  },
8
8
  "components": [
@@ -7102,11 +7102,17 @@
7102
7102
  },
7103
7103
  {
7104
7104
  "name": "hourCycle",
7105
- "type": "\"h12\" | \"h23\" | undefined",
7105
+ "type": "\"h11\" | \"h12\" | \"h23\" | \"h24\" | undefined",
7106
7106
  "complexType": {
7107
- "original": "'h23' | 'h12'",
7108
- "resolved": "\"h12\" | \"h23\" | undefined",
7109
- "references": {}
7107
+ "original": "DatetimeHourCycle",
7108
+ "resolved": "\"h11\" | \"h12\" | \"h23\" | \"h24\" | undefined",
7109
+ "references": {
7110
+ "DatetimeHourCycle": {
7111
+ "location": "import",
7112
+ "path": "./datetime-interface",
7113
+ "id": "src/components/datetime/datetime-interface.ts::DatetimeHourCycle"
7114
+ }
7115
+ }
7110
7116
  },
7111
7117
  "mutable": false,
7112
7118
  "attr": "hour-cycle",
@@ -7114,6 +7120,10 @@
7114
7120
  "docs": "The hour cycle of the `ion-datetime`. If no value is set, this is\nspecified by the current locale.",
7115
7121
  "docsTags": [],
7116
7122
  "values": [
7123
+ {
7124
+ "value": "h11",
7125
+ "type": "string"
7126
+ },
7117
7127
  {
7118
7128
  "value": "h12",
7119
7129
  "type": "string"
@@ -7122,6 +7132,10 @@
7122
7132
  "value": "h23",
7123
7133
  "type": "string"
7124
7134
  },
7135
+ {
7136
+ "value": "h24",
7137
+ "type": "string"
7138
+ },
7125
7139
  {
7126
7140
  "type": "undefined"
7127
7141
  }
@@ -27719,7 +27733,7 @@
27719
27733
  "mutable": false,
27720
27734
  "attr": "position",
27721
27735
  "reflectToAttr": false,
27722
- "docs": "The position of the toast on the screen.",
27736
+ "docs": "The starting position of the toast on the screen. Can be tweaked further\nusing the `positionAnchor` property.",
27723
27737
  "docsTags": [],
27724
27738
  "default": "'bottom'",
27725
27739
  "values": [
@@ -27739,6 +27753,38 @@
27739
27753
  "optional": false,
27740
27754
  "required": false
27741
27755
  },
27756
+ {
27757
+ "name": "positionAnchor",
27758
+ "type": "HTMLElement | string | undefined",
27759
+ "complexType": {
27760
+ "original": "HTMLElement | string",
27761
+ "resolved": "HTMLElement | string | undefined",
27762
+ "references": {
27763
+ "HTMLElement": {
27764
+ "location": "global",
27765
+ "id": "global::HTMLElement"
27766
+ }
27767
+ }
27768
+ },
27769
+ "mutable": false,
27770
+ "attr": "position-anchor",
27771
+ "reflectToAttr": false,
27772
+ "docs": "The element to anchor the toast's position to. Can be set as a direct reference\nor the ID of the element. With `position=\"bottom\"`, the toast will sit above the\nchosen element. With `position=\"top\"`, the toast will sit below the chosen element.\nWith `position=\"middle\"`, the value of `positionAnchor` is ignored.",
27773
+ "docsTags": [],
27774
+ "values": [
27775
+ {
27776
+ "type": "HTMLElement"
27777
+ },
27778
+ {
27779
+ "type": "string"
27780
+ },
27781
+ {
27782
+ "type": "undefined"
27783
+ }
27784
+ ],
27785
+ "optional": true,
27786
+ "required": false
27787
+ },
27742
27788
  {
27743
27789
  "name": "translucent",
27744
27790
  "type": "boolean",
@@ -27821,8 +27867,9 @@
27821
27867
  "id": "global::Promise"
27822
27868
  },
27823
27869
  "ToastDismissOptions": {
27824
- "location": "global",
27825
- "id": "global::ToastDismissOptions"
27870
+ "location": "import",
27871
+ "path": "./toast-interface",
27872
+ "id": "src/components/toast/toast-interface.ts::ToastDismissOptions"
27826
27873
  }
27827
27874
  },
27828
27875
  "return": "Promise<boolean>"
@@ -27918,8 +27965,9 @@
27918
27965
  "id": "global::Promise"
27919
27966
  },
27920
27967
  "ToastPresentOptions": {
27921
- "location": "global",
27922
- "id": "global::ToastPresentOptions"
27968
+ "location": "import",
27969
+ "path": "./toast-interface",
27970
+ "id": "src/components/toast/toast-interface.ts::ToastPresentOptions"
27923
27971
  }
27924
27972
  },
27925
27973
  "return": "Promise<void>"
@@ -28995,6 +29043,11 @@
28995
29043
  "docstring": "",
28996
29044
  "path": "src/components/datetime/datetime-interface.ts"
28997
29045
  },
29046
+ "src/components/datetime/datetime-interface.ts::DatetimeHourCycle": {
29047
+ "declaration": "export type DatetimeHourCycle = 'h11' | 'h12' | 'h23' | 'h24';",
29048
+ "docstring": "",
29049
+ "path": "src/components/datetime/datetime-interface.ts"
29050
+ },
28998
29051
  "src/components/datetime/datetime-interface.ts::DatetimeChangeEventDetail": {
28999
29052
  "declaration": "export interface DatetimeChangeEventDetail {\n value?: string | string[] | null;\n}",
29000
29053
  "docstring": "",
@@ -29290,6 +29343,16 @@
29290
29343
  "docstring": "",
29291
29344
  "path": "src/components/toast/toast-interface.ts"
29292
29345
  },
29346
+ "src/components/toast/toast-interface.ts::ToastPresentOptions": {
29347
+ "declaration": "export type ToastPresentOptions = ToastPositionAlias & ToastAnimationPosition;",
29348
+ "docstring": "",
29349
+ "path": "src/components/toast/toast-interface.ts"
29350
+ },
29351
+ "src/components/toast/toast-interface.ts::ToastDismissOptions": {
29352
+ "declaration": "export type ToastDismissOptions = ToastPositionAlias & ToastAnimationPosition;",
29353
+ "docstring": "",
29354
+ "path": "src/components/toast/toast-interface.ts"
29355
+ },
29293
29356
  "src/components/toggle/toggle-interface.ts::ToggleChangeEventDetail": {
29294
29357
  "declaration": "export interface ToggleChangeEventDetail<T = any> {\n value: T;\n checked: boolean;\n}",
29295
29358
  "docstring": "",
@@ -159,6 +159,7 @@ const createAnimation = (animationId) => {
159
159
  const id = animationId;
160
160
  const onFinishCallbacks = [];
161
161
  const onFinishOneTimeCallbacks = [];
162
+ const onStopOneTimeCallbacks = [];
162
163
  const elements = [];
163
164
  const childAnimations = [];
164
165
  const stylesheets = [];
@@ -216,6 +217,28 @@ const createAnimation = (animationId) => {
216
217
  const isRunning = () => {
217
218
  return numAnimationsRunning !== 0 && !paused;
218
219
  };
220
+ /**
221
+ * @internal
222
+ * Remove a callback from a chosen callback array
223
+ * @param callbackToRemove: A reference to the callback that should be removed
224
+ * @param callbackObjects: An array of callbacks that callbackToRemove should be removed from.
225
+ */
226
+ const clearCallback = (callbackToRemove, callbackObjects) => {
227
+ const index = callbackObjects.findIndex((callbackObject) => callbackObject.c === callbackToRemove);
228
+ if (index > -1) {
229
+ callbackObjects.splice(index, 1);
230
+ }
231
+ };
232
+ /**
233
+ * @internal
234
+ * Add a callback to be fired when an animation is stopped/cancelled.
235
+ * @param callback: A reference to the callback that should be fired
236
+ * @param opts: Any options associated with this particular callback
237
+ */
238
+ const onStop = (callback, opts) => {
239
+ onStopOneTimeCallbacks.push({ c: callback, o: opts });
240
+ return ani;
241
+ };
219
242
  const onFinish = (callback, opts) => {
220
243
  const callbacks = (opts === null || opts === void 0 ? void 0 : opts.oneTimeCallback) ? onFinishOneTimeCallbacks : onFinishCallbacks;
221
244
  callbacks.push({ c: callback, o: opts });
@@ -884,7 +907,33 @@ const createAnimation = (animationId) => {
884
907
  numAnimationsRunning = childAnimations.length + 1;
885
908
  shouldCalculateNumAnimations = false;
886
909
  }
887
- onFinish(() => resolve(), { oneTimeCallback: true });
910
+ /**
911
+ * When one of these callbacks fires we
912
+ * need to clear the other's callback otherwise
913
+ * you can potentially get these callbacks
914
+ * firing multiple times if the play method
915
+ * is subsequently called.
916
+ * Example:
917
+ * animation.play() (onStop and onFinish callbacks are registered)
918
+ * animation.stop() (onStop callback is fired, onFinish is not)
919
+ * animation.play() (onStop and onFinish callbacks are registered)
920
+ * Total onStop callbacks: 1
921
+ * Total onFinish callbacks: 2
922
+ */
923
+ const onStopCallback = () => {
924
+ clearCallback(onFinishCallback, onFinishOneTimeCallbacks);
925
+ resolve();
926
+ };
927
+ const onFinishCallback = () => {
928
+ clearCallback(onStopCallback, onStopOneTimeCallbacks);
929
+ resolve();
930
+ };
931
+ /**
932
+ * The play method resolves when an animation
933
+ * run either finishes or is cancelled.
934
+ */
935
+ onFinish(onFinishCallback, { oneTimeCallback: true });
936
+ onStop(onStopCallback, { oneTimeCallback: true });
888
937
  childAnimations.forEach((animation) => {
889
938
  animation.play();
890
939
  });
@@ -897,6 +946,14 @@ const createAnimation = (animationId) => {
897
946
  paused = false;
898
947
  });
899
948
  };
949
+ /**
950
+ * Stops an animation and resets it state to the
951
+ * beginning. This does not fire any onFinish
952
+ * callbacks because the animation did not finish.
953
+ * However, since the animation was not destroyed
954
+ * (i.e. the animation could run again) we do not
955
+ * clear the onFinish callbacks.
956
+ */
900
957
  const stop = () => {
901
958
  childAnimations.forEach((animation) => {
902
959
  animation.stop();
@@ -906,6 +963,8 @@ const createAnimation = (animationId) => {
906
963
  initialized = false;
907
964
  }
908
965
  resetFlags();
966
+ onStopOneTimeCallbacks.forEach((onStopCallback) => onStopCallback.c(0, ani));
967
+ onStopOneTimeCallbacks.length = 0;
909
968
  };
910
969
  const from = (property, value) => {
911
970
  const firstFrame = _keyframes[0];
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { i as initialize } from './ionic-global-63a8d8c9.js';
4
+ import { i as initialize } from './ionic-global-246ca78f.js';
5
5
 
6
6
  const globalScripts = initialize;
7
7
 
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as writeTask } from './index-cb894020.js';
5
- import { h as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-6447af60.js';
4
+ import { w as writeTask } from './index-b49b173c.js';
5
+ import { h as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-1243b917.js';
6
6
  import { createGesture } from './index-ff313b19.js';
7
7
 
8
8
  const createButtonActiveGesture = (el, isButton) => {