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 alert
@@ -125,8 +158,8 @@
125
158
  margin-bottom: 0;
126
159
  display: block;
127
160
  border: 0;
128
- font-size: 14px;
129
- line-height: 20px;
161
+ font-size: 0.875rem;
162
+ line-height: 1.25rem;
130
163
  z-index: 0;
131
164
  }
132
165
 
@@ -192,11 +225,77 @@ textarea.alert-input {
192
225
  resize: none;
193
226
  }
194
227
 
228
+ /**
229
+ * Convert a font size to a dynamic font size.
230
+ * Fonts that participate in Dynamic Type should use
231
+ * dynamic font sizes.
232
+ * @param size - The initial font size including the unit (i.e. px or pt)
233
+ * @param unit (optional) - The unit to convert to. Use this if you want to
234
+ * convert to a unit other than $baselineUnit.
235
+ */
236
+ /**
237
+ * Convert a font size to a dynamic font size but impose
238
+ * a maximum font size.
239
+ * @param size - The initial font size including the unit (i.e. px or pt)
240
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
241
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
242
+ * convert to a unit other than $baselineUnit.
243
+ */
244
+ /**
245
+ * Convert a font size to a dynamic font size but impose
246
+ * a minimum font size.
247
+ * @param size - The initial font size including the unit (i.e. px or pt)
248
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
249
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
250
+ * convert to a unit other than $baselineUnit.
251
+ */
252
+ /**
253
+ * Convert a font size to a dynamic font size but impose
254
+ * maximum and minimum font sizes.
255
+ * @param size - The initial font size including the unit (i.e. px or pt)
256
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
257
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
258
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
259
+ * convert to a unit other than $baselineUnit.
260
+ */
261
+ /**
262
+ * Convert a font size to a dynamic font size.
263
+ * Fonts that participate in Dynamic Type should use
264
+ * dynamic font sizes.
265
+ * @param size - The initial font size including the unit (i.e. px or pt)
266
+ * @param unit (optional) - The unit to convert to. Use this if you want to
267
+ * convert to a unit other than $baselineUnit.
268
+ */
269
+ /**
270
+ * Convert a font size to a dynamic font size but impose
271
+ * a maximum font size.
272
+ * @param size - The initial font size including the unit (i.e. px or pt)
273
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
274
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
275
+ * convert to a unit other than $baselineUnit.
276
+ */
277
+ /**
278
+ * Convert a font size to a dynamic font size but impose
279
+ * a minimum font size.
280
+ * @param size - The initial font size including the unit (i.e. px or pt)
281
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
282
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
283
+ * convert to a unit other than $baselineUnit.
284
+ */
285
+ /**
286
+ * Convert a font size to a dynamic font size but impose
287
+ * maximum and minimum font sizes.
288
+ * @param size - The initial font size including the unit (i.e. px or pt)
289
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
290
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
291
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
292
+ * convert to a unit other than $baselineUnit.
293
+ */
195
294
  :host {
196
295
  --background: var(--ion-overlay-background-color, var(--ion-background-color, #fff));
197
296
  --max-width: 280px;
198
297
  --backdrop-opacity: var(--ion-backdrop-opacity, 0.32);
199
- font-size: 14px;
298
+ font-size: 0.875rem;
200
299
  }
201
300
 
202
301
  .alert-wrapper {
@@ -216,13 +315,13 @@ textarea.alert-input {
216
315
 
217
316
  .alert-title {
218
317
  color: var(--ion-text-color, #000);
219
- font-size: 20px;
318
+ font-size: 1.25rem;
220
319
  font-weight: 500;
221
320
  }
222
321
 
223
322
  .alert-sub-title {
224
323
  color: var(--ion-text-color, #000);
225
- font-size: 16px;
324
+ font-size: 1rem;
226
325
  }
227
326
 
228
327
  .alert-message,
@@ -238,7 +337,7 @@ textarea.alert-input {
238
337
 
239
338
  .alert-message {
240
339
  max-height: 266px;
241
- font-size: 16px;
340
+ font-size: 1rem;
242
341
  }
243
342
 
244
343
  .alert-message:empty {
@@ -297,7 +396,7 @@ textarea.alert-input {
297
396
  padding-bottom: 13px;
298
397
  flex: 1;
299
398
  color: var(--ion-color-step-850, #262626);
300
- font-size: 16px;
399
+ font-size: 1rem;
301
400
  }
302
401
 
303
402
  .alert-radio-icon {
@@ -397,8 +496,9 @@ textarea.alert-input {
397
496
  padding-top: 13px;
398
497
  padding-bottom: 13px;
399
498
  flex: 1;
499
+ width: calc(100% - 53px);
400
500
  color: var(--ion-color-step-850, #262626);
401
- font-size: 16px;
501
+ font-size: 1rem;
402
502
  }
403
503
 
404
504
  .alert-checkbox-icon {
@@ -54,5 +54,127 @@ configs({ directions: ['ltr'] }).forEach(({ config, title }) => {
54
54
  await expect(alertButton).toHaveAttribute('aria-labelledby', 'close-label');
55
55
  await expect(alertButton).toHaveAttribute('aria-label', 'close button');
56
56
  });
57
+ test('should not toggle the checkbox when pressing the Enter key', async ({ page }) => {
58
+ const didPresent = await page.spyOnEvent('ionAlertDidPresent');
59
+ const button = page.locator('#checkbox');
60
+ await button.click();
61
+ await didPresent.next();
62
+ const alertCheckbox = page.locator('ion-alert .alert-checkbox');
63
+ const ariaChecked = await alertCheckbox.getAttribute('aria-checked');
64
+ await expect(alertCheckbox).toHaveAttribute('aria-checked', ariaChecked);
65
+ await alertCheckbox.press('Enter');
66
+ await expect(alertCheckbox).toHaveAttribute('aria-checked', ariaChecked);
67
+ });
68
+ });
69
+ });
70
+ /**
71
+ * This behavior does not vary across directions
72
+ */
73
+ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
74
+ test.describe(title('alert: font scaling'), () => {
75
+ test('should scale text on larger font sizes', async ({ page }) => {
76
+ await page.setContent(`
77
+ <style>
78
+ html {
79
+ font-size: 36px;
80
+ }
81
+ </style>
82
+
83
+
84
+ <ion-alert header="Header" sub-header="Sub Header" message="Message"></ion-alert>
85
+
86
+ <script>
87
+ const alert = document.querySelector('ion-alert');
88
+ alert.buttons = ['Ok', 'Cancel'];
89
+ </script>
90
+ `, config);
91
+ const alert = page.locator('ion-alert');
92
+ const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent');
93
+ await alert.evaluate((el) => el.present());
94
+ await ionAlertDidPresent.next();
95
+ await expect(page).toHaveScreenshot(screenshot(`alert-scale`));
96
+ });
97
+ test('should scale text on larger font sizes with checkboxes', async ({ page }) => {
98
+ await page.setContent(`
99
+ <style>
100
+ html {
101
+ font-size: 36px;
102
+ }
103
+ </style>
104
+
105
+
106
+ <ion-alert header="Header" sub-header="Sub Header" message="Message"></ion-alert>
107
+
108
+ <script>
109
+ const alert = document.querySelector('ion-alert');
110
+ alert.inputs = [
111
+ { type: 'checkbox', value: 'a', label: 'Checkbox A', checked: true },
112
+ { type: 'checkbox', value: 'b', label: 'Checkbox B' },
113
+ { type: 'checkbox', value: 'c', label: 'Checkbox C' },
114
+ { type: 'checkbox', value: 'd', label: 'Checkbox D' },
115
+ ];
116
+ alert.buttons = ['Ok', 'Cancel'];
117
+ </script>
118
+ `, config);
119
+ const alert = page.locator('ion-alert');
120
+ const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent');
121
+ await alert.evaluate((el) => el.present());
122
+ await ionAlertDidPresent.next();
123
+ await expect(page).toHaveScreenshot(screenshot(`alert-checkbox-scale`));
124
+ });
125
+ test('should scale text on larger font sizes with radios', async ({ page }) => {
126
+ await page.setContent(`
127
+ <style>
128
+ html {
129
+ font-size: 36px;
130
+ }
131
+ </style>
132
+
133
+
134
+ <ion-alert header="Header" sub-header="Sub Header" message="Message"></ion-alert>
135
+
136
+ <script>
137
+ const alert = document.querySelector('ion-alert');
138
+ alert.inputs = [
139
+ { type: 'radio', value: 'a', label: 'Radio A', checked: true },
140
+ { type: 'radio', value: 'b', label: 'Radio B' },
141
+ { type: 'radio', value: 'c', label: 'Radio C' },
142
+ { type: 'radio', value: 'd', label: 'Radio D' },
143
+ ];
144
+ alert.buttons = ['Ok', 'Cancel'];
145
+ </script>
146
+ `, config);
147
+ const alert = page.locator('ion-alert');
148
+ const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent');
149
+ await alert.evaluate((el) => el.present());
150
+ await ionAlertDidPresent.next();
151
+ await expect(page).toHaveScreenshot(screenshot(`alert-radio-scale`));
152
+ });
153
+ test('should scale text on larger font sizes with text fields', async ({ page }) => {
154
+ await page.setContent(`
155
+ <style>
156
+ html {
157
+ font-size: 36px;
158
+ }
159
+ </style>
160
+
161
+
162
+ <ion-alert header="Header" sub-header="Sub Header" message="Message"></ion-alert>
163
+
164
+ <script>
165
+ const alert = document.querySelector('ion-alert');
166
+ alert.inputs = [
167
+ { type: 'text', value: 'My Input', label: 'Input' },
168
+ { type: 'textarea', value: 'My Textarea', label: 'Textarea' },
169
+ ];
170
+ alert.buttons = ['Ok', 'Cancel'];
171
+ </script>
172
+ `, config);
173
+ const alert = page.locator('ion-alert');
174
+ const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent');
175
+ await alert.evaluate((el) => el.present());
176
+ await ionAlertDidPresent.next();
177
+ await expect(page).toHaveScreenshot(screenshot(`alert-text-fields-scale`));
178
+ });
57
179
  });
58
180
  });
@@ -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 --border-radius: Border radius of the avatar and inner image
@@ -15,6 +48,39 @@
15
48
  overflow: hidden;
16
49
  }
17
50
 
51
+ /**
52
+ * Convert a font size to a dynamic font size.
53
+ * Fonts that participate in Dynamic Type should use
54
+ * dynamic font sizes.
55
+ * @param size - The initial font size including the unit (i.e. px or pt)
56
+ * @param unit (optional) - The unit to convert to. Use this if you want to
57
+ * convert to a unit other than $baselineUnit.
58
+ */
59
+ /**
60
+ * Convert a font size to a dynamic font size but impose
61
+ * a maximum font size.
62
+ * @param size - The initial font size including the unit (i.e. px or pt)
63
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
64
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
65
+ * convert to a unit other than $baselineUnit.
66
+ */
67
+ /**
68
+ * Convert a font size to a dynamic font size but impose
69
+ * a minimum font size.
70
+ * @param size - The initial font size including the unit (i.e. px or pt)
71
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
72
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
73
+ * convert to a unit other than $baselineUnit.
74
+ */
75
+ /**
76
+ * Convert a font size to a dynamic font size but impose
77
+ * maximum and minimum font sizes.
78
+ * @param size - The initial font size including the unit (i.e. px or pt)
79
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
80
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
81
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
82
+ * convert to a unit other than $baselineUnit.
83
+ */
18
84
  :host {
19
85
  --border-radius: 50%;
20
86
  width: 48px;
@@ -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 --border-radius: Border radius of the avatar and inner image
@@ -15,6 +48,39 @@
15
48
  overflow: hidden;
16
49
  }
17
50
 
51
+ /**
52
+ * Convert a font size to a dynamic font size.
53
+ * Fonts that participate in Dynamic Type should use
54
+ * dynamic font sizes.
55
+ * @param size - The initial font size including the unit (i.e. px or pt)
56
+ * @param unit (optional) - The unit to convert to. Use this if you want to
57
+ * convert to a unit other than $baselineUnit.
58
+ */
59
+ /**
60
+ * Convert a font size to a dynamic font size but impose
61
+ * a maximum font size.
62
+ * @param size - The initial font size including the unit (i.e. px or pt)
63
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
64
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
65
+ * convert to a unit other than $baselineUnit.
66
+ */
67
+ /**
68
+ * Convert a font size to a dynamic font size but impose
69
+ * a minimum font size.
70
+ * @param size - The initial font size including the unit (i.e. px or pt)
71
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
72
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
73
+ * convert to a unit other than $baselineUnit.
74
+ */
75
+ /**
76
+ * Convert a font size to a dynamic font size but impose
77
+ * maximum and minimum font sizes.
78
+ * @param size - The initial font size including the unit (i.e. px or pt)
79
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
80
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
81
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
82
+ * convert to a unit other than $baselineUnit.
83
+ */
18
84
  :host {
19
85
  --border-radius: 50%;
20
86
  width: 64px;
@@ -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 button
@@ -215,6 +248,39 @@ ion-icon {
215
248
  color: var(--ion-toolbar-color, var(--color));
216
249
  }
217
250
 
251
+ /**
252
+ * Convert a font size to a dynamic font size.
253
+ * Fonts that participate in Dynamic Type should use
254
+ * dynamic font sizes.
255
+ * @param size - The initial font size including the unit (i.e. px or pt)
256
+ * @param unit (optional) - The unit to convert to. Use this if you want to
257
+ * convert to a unit other than $baselineUnit.
258
+ */
259
+ /**
260
+ * Convert a font size to a dynamic font size but impose
261
+ * a maximum font size.
262
+ * @param size - The initial font size including the unit (i.e. px or pt)
263
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
264
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
265
+ * convert to a unit other than $baselineUnit.
266
+ */
267
+ /**
268
+ * Convert a font size to a dynamic font size but impose
269
+ * a minimum font size.
270
+ * @param size - The initial font size including the unit (i.e. px or pt)
271
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
272
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
273
+ * convert to a unit other than $baselineUnit.
274
+ */
275
+ /**
276
+ * Convert a font size to a dynamic font size but impose
277
+ * maximum and minimum font sizes.
278
+ * @param size - The initial font size including the unit (i.e. px or pt)
279
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
280
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
281
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
282
+ * convert to a unit other than $baselineUnit.
283
+ */
218
284
  :host {
219
285
  --background-hover: transparent;
220
286
  --background-hover-opacity: 1;
@@ -224,9 +290,25 @@ ion-icon {
224
290
  --color: var(--ion-color-primary, #3880ff);
225
291
  --icon-margin-end: 1px;
226
292
  --icon-margin-start: -4px;
293
+ /**
294
+ * The icon should be sized relative
295
+ * to the size of the text which is
296
+ * why we use em here instead of rem.
297
+ * This allows developers to override
298
+ * the text font size while ensuring that
299
+ * the icon is sized relative to that.
300
+ */
227
301
  --icon-font-size: 1.6em;
228
302
  --min-height: 32px;
229
- font-size: 17px;
303
+ /**
304
+ * Main content should be prioritized over the back
305
+ * button which is why a maximum font size is applied.
306
+ * Also, we want the text to remain readable
307
+ * so a minimum font size is applied.
308
+ * Using 1.294 instead of 1.3 aligns the text
309
+ * with the icon a bit nicer in Firefox.
310
+ */
311
+ font-size: clamp(17px, 1.0625rem, 21.998px);
230
312
  }
231
313
 
232
314
  .button-native {
@@ -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 button
@@ -215,6 +248,39 @@ ion-icon {
215
248
  color: var(--ion-toolbar-color, var(--color));
216
249
  }
217
250
 
251
+ /**
252
+ * Convert a font size to a dynamic font size.
253
+ * Fonts that participate in Dynamic Type should use
254
+ * dynamic font sizes.
255
+ * @param size - The initial font size including the unit (i.e. px or pt)
256
+ * @param unit (optional) - The unit to convert to. Use this if you want to
257
+ * convert to a unit other than $baselineUnit.
258
+ */
259
+ /**
260
+ * Convert a font size to a dynamic font size but impose
261
+ * a maximum font size.
262
+ * @param size - The initial font size including the unit (i.e. px or pt)
263
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
264
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
265
+ * convert to a unit other than $baselineUnit.
266
+ */
267
+ /**
268
+ * Convert a font size to a dynamic font size but impose
269
+ * a minimum font size.
270
+ * @param size - The initial font size including the unit (i.e. px or pt)
271
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
272
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
273
+ * convert to a unit other than $baselineUnit.
274
+ */
275
+ /**
276
+ * Convert a font size to a dynamic font size but impose
277
+ * maximum and minimum font sizes.
278
+ * @param size - The initial font size including the unit (i.e. px or pt)
279
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
280
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
281
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
282
+ * convert to a unit other than $baselineUnit.
283
+ */
218
284
  :host {
219
285
  --border-radius: 4px;
220
286
  --background-focused: currentColor;
@@ -224,13 +290,13 @@ ion-icon {
224
290
  --color: currentColor;
225
291
  --icon-margin-end: 0;
226
292
  --icon-margin-start: 0;
227
- --icon-font-size: 24px;
293
+ --icon-font-size: 1.5rem;
228
294
  --icon-font-weight: normal;
229
295
  --min-height: 32px;
230
296
  --min-width: 44px;
231
297
  --padding-start: 12px;
232
298
  --padding-end: 12px;
233
- font-size: 14px;
299
+ font-size: 0.875rem;
234
300
  font-weight: 500;
235
301
  text-transform: uppercase;
236
302
  }
@@ -238,7 +304,13 @@ ion-icon {
238
304
  :host(.back-button-has-icon-only) {
239
305
  --border-radius: 50%;
240
306
  min-width: 48px;
241
- height: 48px;
307
+ min-height: 48px;
308
+ /**
309
+ * This allows the icon only button to
310
+ * keep its circular shape even when the
311
+ * text scales up.
312
+ */
313
+ aspect-ratio: 1/1;
242
314
  }
243
315
 
244
316
  .button-native {
@@ -0,0 +1,26 @@
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'] }).forEach(({ title, screenshot, config }) => {
7
+ test.describe(title('back-button: font scaling'), () => {
8
+ test('should scale text on larger font sizes', async ({ page }) => {
9
+ await page.setContent(`
10
+ <style>
11
+ html {
12
+ font-size: 36px;
13
+ }
14
+ </style>
15
+
16
+ <ion-toolbar>
17
+ <ion-buttons slot="start">
18
+ <ion-back-button default-href="/" text="Back"></ion-back-button>
19
+ </ion-buttons>
20
+ </ion-toolbar>
21
+ `, config);
22
+ const backButton = page.locator('ion-back-button');
23
+ await expect(backButton).toHaveScreenshot(screenshot(`back-button-scale`));
24
+ });
25
+ });
26
+ });