@ionic/core 7.4.2-dev.11695749773.16429088 → 7.4.2-dev.11695829531.1e5aff3d

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 (415) hide show
  1. package/components/action-sheet.js +2 -2
  2. package/components/button.js +2 -2
  3. package/components/buttons.js +2 -2
  4. package/components/ion-back-button.js +2 -2
  5. package/components/ion-badge.js +2 -2
  6. package/components/ion-breadcrumb.js +2 -2
  7. package/components/ion-card-content.js +2 -2
  8. package/components/ion-card-subtitle.js +2 -2
  9. package/components/ion-card-title.js +2 -2
  10. package/components/ion-card.js +2 -2
  11. package/components/ion-chip.js +8 -3
  12. package/components/ion-content.js +4 -1
  13. package/components/ion-datetime-button.js +2 -2
  14. package/components/ion-datetime.js +3 -3
  15. package/components/ion-header.js +1 -1
  16. package/components/ion-input.js +2 -2
  17. package/components/ion-item-divider.js +2 -2
  18. package/components/ion-item-option.js +2 -2
  19. package/components/ion-item-options.js +2 -2
  20. package/components/ion-loading.js +2 -2
  21. package/components/ion-menu-button.js +2 -2
  22. package/components/ion-range.js +2 -2
  23. package/components/ion-reorder.js +2 -2
  24. package/components/ion-searchbar.js +9 -3
  25. package/components/ion-textarea.js +2 -2
  26. package/components/ion-title.js +2 -2
  27. package/components/ion-toast.js +2 -2
  28. package/components/ion-toolbar.js +1 -1
  29. package/components/ios.transition.js +4 -4
  30. package/components/item.js +2 -2
  31. package/components/label.js +2 -2
  32. package/components/list-header.js +2 -2
  33. package/components/note.js +2 -2
  34. package/css/core.css +100 -0
  35. package/css/core.css.map +1 -1
  36. package/css/display.css +33 -0
  37. package/css/display.css.map +1 -1
  38. package/css/float-elements.css +33 -0
  39. package/css/float-elements.css.map +1 -1
  40. package/css/global.bundle.css +84 -6
  41. package/css/global.bundle.css.map +1 -1
  42. package/css/ionic-swiper.css +33 -0
  43. package/css/ionic-swiper.css.map +1 -1
  44. package/css/ionic.bundle.css +1 -1
  45. package/css/ionic.bundle.css.map +1 -1
  46. package/css/padding.css +33 -0
  47. package/css/padding.css.map +1 -1
  48. package/css/structure.css +33 -0
  49. package/css/structure.css.map +1 -1
  50. package/css/text-alignment.css +33 -0
  51. package/css/text-alignment.css.map +1 -1
  52. package/css/text-transformation.css +33 -0
  53. package/css/text-transformation.css.map +1 -1
  54. package/css/typography.css +51 -6
  55. package/css/typography.css.map +1 -1
  56. package/css/utils.bundle.css +165 -0
  57. package/css/utils.bundle.css.map +1 -1
  58. package/dist/cjs/{index-b183138a.js → index-4e502bd1.js} +2 -2
  59. package/dist/cjs/index.cjs.js +3 -3
  60. package/dist/cjs/ion-action-sheet.cjs.entry.js +2 -2
  61. package/dist/cjs/ion-app_8.cjs.entry.js +10 -7
  62. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  63. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  65. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  66. package/dist/cjs/ion-card_5.cjs.entry.js +8 -8
  67. package/dist/cjs/ion-chip.cjs.entry.js +7 -2
  68. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-datetime_3.cjs.entry.js +3 -3
  70. package/dist/cjs/ion-input.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  72. package/dist/cjs/ion-item_8.cjs.entry.js +10 -10
  73. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-menu_3.cjs.entry.js +2 -2
  75. package/dist/cjs/ion-modal.cjs.entry.js +1 -1
  76. package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
  77. package/dist/cjs/ion-popover.cjs.entry.js +1 -1
  78. package/dist/cjs/ion-range.cjs.entry.js +2 -2
  79. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  80. package/dist/cjs/ion-searchbar.cjs.entry.js +9 -3
  81. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  82. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  83. package/dist/cjs/ionic.cjs.js +1 -1
  84. package/dist/cjs/{ios.transition-4b93903d.js → ios.transition-7ff33297.js} +5 -5
  85. package/dist/cjs/loader.cjs.js +1 -1
  86. package/dist/cjs/{md.transition-79f3a215.js → md.transition-2224e480.js} +1 -1
  87. package/dist/collection/components/accordion/accordion.ios.css +66 -0
  88. package/dist/collection/components/accordion/accordion.md.css +33 -0
  89. package/dist/collection/components/accordion-group/accordion-group.ios.css +66 -0
  90. package/dist/collection/components/accordion-group/accordion-group.md.css +99 -0
  91. package/dist/collection/components/action-sheet/action-sheet.ios.css +80 -12
  92. package/dist/collection/components/action-sheet/action-sheet.md.css +76 -8
  93. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +27 -0
  94. package/dist/collection/components/alert/alert.ios.css +99 -0
  95. package/dist/collection/components/alert/alert.md.css +99 -0
  96. package/dist/collection/components/avatar/avatar.ios.css +66 -0
  97. package/dist/collection/components/avatar/avatar.md.css +66 -0
  98. package/dist/collection/components/back-button/back-button.ios.css +83 -1
  99. package/dist/collection/components/back-button/back-button.md.css +75 -3
  100. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +26 -0
  101. package/dist/collection/components/backdrop/backdrop.ios.css +66 -0
  102. package/dist/collection/components/backdrop/backdrop.md.css +66 -0
  103. package/dist/collection/components/badge/badge.ios.css +75 -1
  104. package/dist/collection/components/badge/badge.md.css +67 -1
  105. package/dist/collection/components/badge/test/a11y/badge.e2e.js +22 -0
  106. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +80 -3
  107. package/dist/collection/components/breadcrumb/breadcrumb.md.css +69 -3
  108. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +33 -0
  109. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +33 -0
  110. package/dist/collection/components/breadcrumbs/test/a11y/breadcrumbs.e2e.js +21 -0
  111. package/dist/collection/components/button/button.ios.css +118 -19
  112. package/dist/collection/components/button/button.md.css +69 -3
  113. package/dist/collection/components/button/test/a11y/button.e2e.js +61 -0
  114. package/dist/collection/components/buttons/buttons.ios.css +102 -3
  115. package/dist/collection/components/buttons/buttons.md.css +101 -2
  116. package/dist/collection/components/buttons/test/a11y/buttons.e2e.js +74 -0
  117. package/dist/collection/components/card/card.ios.css +67 -1
  118. package/dist/collection/components/card/card.md.css +67 -1
  119. package/dist/collection/components/card/test/a11y/card.e2e.js +31 -0
  120. package/dist/collection/components/card-content/card-content.ios.css +71 -5
  121. package/dist/collection/components/card-content/card-content.md.css +71 -5
  122. package/dist/collection/components/card-header/card-header.ios.css +66 -0
  123. package/dist/collection/components/card-header/card-header.md.css +66 -0
  124. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +67 -1
  125. package/dist/collection/components/card-subtitle/card-subtitle.md.css +67 -1
  126. package/dist/collection/components/card-title/card-title.ios.css +67 -1
  127. package/dist/collection/components/card-title/card-title.md.css +67 -1
  128. package/dist/collection/components/checkbox/checkbox.ios.css +99 -0
  129. package/dist/collection/components/checkbox/checkbox.md.css +99 -0
  130. package/dist/collection/components/chip/chip.ios.css +190 -0
  131. package/dist/collection/components/chip/chip.js +4 -2
  132. package/dist/collection/components/chip/{chip.css → chip.md.css} +43 -7
  133. package/dist/collection/components/chip/test/a11y/chip.e2e.js +58 -0
  134. package/dist/collection/components/col/col.css +66 -0
  135. package/dist/collection/components/content/content.css +33 -0
  136. package/dist/collection/components/content/content.js +9 -0
  137. package/dist/collection/components/datetime/datetime.ios.css +198 -7
  138. package/dist/collection/components/datetime/datetime.js +1 -1
  139. package/dist/collection/components/datetime/datetime.md.css +97 -5
  140. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +28 -0
  141. package/dist/collection/components/datetime-button/datetime-button.css +36 -2
  142. package/dist/collection/components/datetime-button/test/a11y/datetime-button.e2e.js +38 -0
  143. package/dist/collection/components/fab/fab.css +66 -0
  144. package/dist/collection/components/fab-button/fab-button.ios.css +66 -0
  145. package/dist/collection/components/fab-button/fab-button.md.css +66 -0
  146. package/dist/collection/components/fab-list/fab-list.css +66 -0
  147. package/dist/collection/components/footer/footer.ios.css +66 -0
  148. package/dist/collection/components/footer/footer.md.css +66 -0
  149. package/dist/collection/components/grid/grid.css +66 -0
  150. package/dist/collection/components/header/header.ios.css +71 -2
  151. package/dist/collection/components/header/header.md.css +66 -0
  152. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +66 -0
  153. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +66 -0
  154. package/dist/collection/components/input/input.ios.css +100 -1
  155. package/dist/collection/components/input/input.md.css +199 -1
  156. package/dist/collection/components/input/test/a11y/input.e2e.js +15 -1
  157. package/dist/collection/components/item/item.ios.css +70 -4
  158. package/dist/collection/components/item/item.md.css +138 -6
  159. package/dist/collection/components/item/test/a11y/item.e2e.js +116 -1
  160. package/dist/collection/components/item-divider/item-divider.ios.css +101 -9
  161. package/dist/collection/components/item-divider/item-divider.md.css +103 -11
  162. package/dist/collection/components/item-divider/test/a11y/item-divider.e2e.js +44 -0
  163. package/dist/collection/components/item-group/item-group.ios.css +68 -1
  164. package/dist/collection/components/item-group/item-group.md.css +68 -1
  165. package/dist/collection/components/item-option/item-option.ios.css +67 -1
  166. package/dist/collection/components/item-option/item-option.md.css +67 -1
  167. package/dist/collection/components/item-options/item-options.ios.css +99 -1
  168. package/dist/collection/components/item-options/item-options.md.css +99 -1
  169. package/dist/collection/components/item-sliding/item-sliding.css +33 -0
  170. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +34 -0
  171. package/dist/collection/components/label/label.ios.css +105 -6
  172. package/dist/collection/components/label/label.md.css +104 -5
  173. package/dist/collection/components/label/test/a11y/label.e2e.js +66 -0
  174. package/dist/collection/components/list/list.ios.css +99 -0
  175. package/dist/collection/components/list/list.md.css +99 -0
  176. package/dist/collection/components/list-header/list-header.ios.css +100 -1
  177. package/dist/collection/components/list-header/list-header.md.css +100 -1
  178. package/dist/collection/components/list-header/test/a11y/list-header.e2e.js +24 -0
  179. package/dist/collection/components/loading/loading.ios.css +67 -1
  180. package/dist/collection/components/loading/loading.md.css +67 -1
  181. package/dist/collection/components/loading/test/a11y/loading.e2e.js +19 -0
  182. package/dist/collection/components/menu/menu.ios.css +66 -0
  183. package/dist/collection/components/menu/menu.md.css +66 -0
  184. package/dist/collection/components/menu-button/menu-button.ios.css +70 -2
  185. package/dist/collection/components/menu-button/menu-button.md.css +71 -3
  186. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +20 -1
  187. package/dist/collection/components/modal/modal.ios.css +66 -0
  188. package/dist/collection/components/modal/modal.md.css +66 -0
  189. package/dist/collection/components/nav/nav.css +33 -0
  190. package/dist/collection/components/note/note.ios.css +67 -0
  191. package/dist/collection/components/note/note.md.css +67 -1
  192. package/dist/collection/components/note/test/a11y/note.e2e.js +52 -0
  193. package/dist/collection/components/picker/picker.ios.css +66 -0
  194. package/dist/collection/components/picker/picker.md.css +66 -0
  195. package/dist/collection/components/picker-column/picker-column.ios.css +66 -0
  196. package/dist/collection/components/picker-column/picker-column.md.css +66 -0
  197. package/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +33 -0
  198. package/dist/collection/components/picker-column-internal/picker-column-internal.md.css +66 -0
  199. package/dist/collection/components/picker-internal/picker-internal.ios.css +66 -0
  200. package/dist/collection/components/picker-internal/picker-internal.md.css +66 -0
  201. package/dist/collection/components/popover/popover.ios.css +66 -0
  202. package/dist/collection/components/popover/popover.md.css +66 -0
  203. package/dist/collection/components/progress-bar/progress-bar.ios.css +33 -0
  204. package/dist/collection/components/progress-bar/progress-bar.md.css +33 -0
  205. package/dist/collection/components/radio/radio.ios.css +99 -0
  206. package/dist/collection/components/radio/radio.md.css +99 -0
  207. package/dist/collection/components/range/range.ios.css +82 -8
  208. package/dist/collection/components/range/range.md.css +99 -11
  209. package/dist/collection/components/range/test/a11y/range.e2e.js +22 -0
  210. package/dist/collection/components/refresher/refresher.ios.css +66 -0
  211. package/dist/collection/components/refresher/refresher.md.css +66 -0
  212. package/dist/collection/components/reorder/reorder.ios.css +75 -2
  213. package/dist/collection/components/reorder/reorder.md.css +75 -2
  214. package/dist/collection/components/reorder-group/reorder-group.css +33 -0
  215. package/dist/collection/components/reorder-group/test/a11y/reorder-group.e2e.js +33 -0
  216. package/dist/collection/components/ripple-effect/ripple-effect.css +33 -0
  217. package/dist/collection/components/router-link/router-link.css +33 -0
  218. package/dist/collection/components/router-outlet/router-outlet.css +33 -0
  219. package/dist/collection/components/row/row.css +66 -0
  220. package/dist/collection/components/searchbar/searchbar.ios.css +95 -16
  221. package/dist/collection/components/searchbar/searchbar.js +7 -1
  222. package/dist/collection/components/searchbar/searchbar.md.css +77 -10
  223. package/dist/collection/components/searchbar/test/a11y/searchbar.e2e.js +37 -0
  224. package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +18 -0
  225. package/dist/collection/components/segment/segment.ios.css +99 -0
  226. package/dist/collection/components/segment/segment.md.css +99 -0
  227. package/dist/collection/components/segment-button/segment-button.ios.css +66 -0
  228. package/dist/collection/components/segment-button/segment-button.md.css +66 -0
  229. package/dist/collection/components/select/select.ios.css +99 -0
  230. package/dist/collection/components/select/select.md.css +165 -0
  231. package/dist/collection/components/select-popover/select-popover.ios.css +101 -1
  232. package/dist/collection/components/select-popover/select-popover.md.css +99 -0
  233. package/dist/collection/components/skeleton-text/skeleton-text.css +33 -0
  234. package/dist/collection/components/spinner/spinner.css +33 -0
  235. package/dist/collection/components/split-pane/split-pane.ios.css +99 -0
  236. package/dist/collection/components/split-pane/split-pane.md.css +99 -0
  237. package/dist/collection/components/tab-bar/tab-bar.ios.css +99 -0
  238. package/dist/collection/components/tab-bar/tab-bar.md.css +99 -0
  239. package/dist/collection/components/tab-button/tab-button.ios.css +66 -0
  240. package/dist/collection/components/tab-button/tab-button.md.css +66 -0
  241. package/dist/collection/components/tabs/tabs.css +33 -0
  242. package/dist/collection/components/text/text.css +33 -0
  243. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +15 -1
  244. package/dist/collection/components/textarea/textarea.ios.css +133 -1
  245. package/dist/collection/components/textarea/textarea.md.css +199 -1
  246. package/dist/collection/components/thumbnail/thumbnail.css +33 -0
  247. package/dist/collection/components/title/test/a11y/title.e2e.js +61 -0
  248. package/dist/collection/components/title/title.ios.css +44 -10
  249. package/dist/collection/components/title/title.md.css +35 -2
  250. package/dist/collection/components/toast/test/a11y/toast.e2e.js +98 -1
  251. package/dist/collection/components/toast/toast.ios.css +74 -3
  252. package/dist/collection/components/toast/toast.md.css +74 -4
  253. package/dist/collection/components/toggle/toggle.ios.css +99 -0
  254. package/dist/collection/components/toggle/toggle.md.css +99 -0
  255. package/dist/collection/components/toolbar/toolbar.ios.css +66 -14
  256. package/dist/collection/components/toolbar/toolbar.md.css +66 -0
  257. package/dist/collection/css/test/a11y/typography.e2e.js +32 -0
  258. package/dist/collection/utils/transition/ios.transition.js +4 -4
  259. package/dist/docs.json +7 -1
  260. package/dist/esm/{index-87684bba.js → index-39bc1180.js} +2 -2
  261. package/dist/esm/index.js +3 -3
  262. package/dist/esm/ion-action-sheet.entry.js +2 -2
  263. package/dist/esm/ion-app_8.entry.js +10 -7
  264. package/dist/esm/ion-avatar_3.entry.js +2 -2
  265. package/dist/esm/ion-back-button.entry.js +2 -2
  266. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  267. package/dist/esm/ion-button_2.entry.js +2 -2
  268. package/dist/esm/ion-card_5.entry.js +8 -8
  269. package/dist/esm/ion-chip.entry.js +7 -2
  270. package/dist/esm/ion-datetime-button.entry.js +2 -2
  271. package/dist/esm/ion-datetime_3.entry.js +3 -3
  272. package/dist/esm/ion-input.entry.js +2 -2
  273. package/dist/esm/ion-item-option_3.entry.js +4 -4
  274. package/dist/esm/ion-item_8.entry.js +10 -10
  275. package/dist/esm/ion-loading.entry.js +2 -2
  276. package/dist/esm/ion-menu_3.entry.js +2 -2
  277. package/dist/esm/ion-modal.entry.js +1 -1
  278. package/dist/esm/ion-nav_2.entry.js +1 -1
  279. package/dist/esm/ion-popover.entry.js +1 -1
  280. package/dist/esm/ion-range.entry.js +2 -2
  281. package/dist/esm/ion-reorder_2.entry.js +2 -2
  282. package/dist/esm/ion-searchbar.entry.js +9 -3
  283. package/dist/esm/ion-textarea.entry.js +2 -2
  284. package/dist/esm/ion-toast.entry.js +2 -2
  285. package/dist/esm/ionic.js +1 -1
  286. package/dist/esm/{ios.transition-81e1aed6.js → ios.transition-72ffa6ed.js} +5 -5
  287. package/dist/esm/loader.js +1 -1
  288. package/dist/esm/{md.transition-5becd8b5.js → md.transition-e6a907d4.js} +1 -1
  289. package/dist/esm-es5/{index-87684bba.js → index-39bc1180.js} +1 -1
  290. package/dist/esm-es5/index.js +1 -1
  291. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  292. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  293. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  294. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  295. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  296. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  297. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  298. package/dist/esm-es5/ion-chip.entry.js +1 -1
  299. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  300. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  301. package/dist/esm-es5/ion-input.entry.js +1 -1
  302. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  303. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  304. package/dist/esm-es5/ion-loading.entry.js +1 -1
  305. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  306. package/dist/esm-es5/ion-modal.entry.js +1 -1
  307. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  308. package/dist/esm-es5/ion-popover.entry.js +1 -1
  309. package/dist/esm-es5/ion-range.entry.js +1 -1
  310. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  311. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  312. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  313. package/dist/esm-es5/ion-toast.entry.js +1 -1
  314. package/dist/esm-es5/ionic.js +1 -1
  315. package/dist/esm-es5/ios.transition-72ffa6ed.js +4 -0
  316. package/dist/esm-es5/loader.js +1 -1
  317. package/dist/esm-es5/{md.transition-5becd8b5.js → md.transition-e6a907d4.js} +1 -1
  318. package/dist/ionic/index.esm.js +1 -1
  319. package/dist/ionic/ionic.esm.js +1 -1
  320. package/dist/ionic/p-06c29a8b.entry.js +4 -0
  321. package/dist/ionic/{p-ee6d9730.entry.js → p-09babc88.entry.js} +1 -1
  322. package/dist/ionic/p-0c535e5a.system.entry.js +4 -0
  323. package/dist/ionic/p-160d0dfd.system.entry.js +4 -0
  324. package/dist/ionic/p-18848294.entry.js +4 -0
  325. package/dist/ionic/p-1c1c18b3.system.entry.js +4 -0
  326. package/dist/ionic/p-1f82997d.system.entry.js +4 -0
  327. package/dist/ionic/p-234a7edb.js +4 -0
  328. package/dist/ionic/{p-b95fd3c6.entry.js → p-2a393411.entry.js} +1 -1
  329. package/dist/ionic/p-2b8cd28f.entry.js +4 -0
  330. package/dist/ionic/{p-bf9b1560.entry.js → p-2c35490e.entry.js} +1 -1
  331. package/dist/ionic/{p-27614d55.entry.js → p-2e93e3db.entry.js} +1 -1
  332. package/dist/ionic/{p-40e16caa.system.entry.js → p-2f1ba678.system.entry.js} +1 -1
  333. package/dist/ionic/{p-13a91505.entry.js → p-380ef450.entry.js} +1 -1
  334. package/dist/ionic/{p-a720dc73.entry.js → p-3b104ae6.entry.js} +1 -1
  335. package/dist/ionic/p-4342501d.entry.js +4 -0
  336. package/dist/ionic/{p-b098f738.system.js → p-442f2497.system.js} +1 -1
  337. package/dist/ionic/p-450fe187.system.entry.js +4 -0
  338. package/dist/ionic/p-4d0eb845.system.entry.js +4 -0
  339. package/dist/ionic/p-4e4bedbd.entry.js +4 -0
  340. package/dist/ionic/p-50d2e748.js +4 -0
  341. package/dist/ionic/p-5a5ff46b.system.entry.js +4 -0
  342. package/dist/ionic/p-5c790762.system.js +4 -0
  343. package/dist/ionic/p-622d7b0e.system.entry.js +4 -0
  344. package/dist/ionic/p-6aa5065e.entry.js +4 -0
  345. package/dist/ionic/p-6edbc09b.system.js +1 -1
  346. package/dist/ionic/p-6f940aec.system.entry.js +4 -0
  347. package/dist/ionic/p-7302a3e1.entry.js +4 -0
  348. package/dist/ionic/{p-4912b933.entry.js → p-784863dd.entry.js} +1 -1
  349. package/dist/ionic/{p-37456282.system.entry.js → p-7ea21b21.system.entry.js} +1 -1
  350. package/dist/ionic/p-86859d57.system.entry.js +4 -0
  351. package/dist/ionic/p-8d5c7b4e.system.entry.js +4 -0
  352. package/dist/ionic/p-8e06ca5e.entry.js +4 -0
  353. package/dist/ionic/p-9493d5e8.system.entry.js +4 -0
  354. package/dist/ionic/p-972817e1.js +4 -0
  355. package/dist/ionic/p-9ad5893a.entry.js +4 -0
  356. package/dist/ionic/p-af14deab.system.entry.js +4 -0
  357. package/dist/ionic/p-b2215bd4.entry.js +4 -0
  358. package/dist/ionic/p-b8846173.entry.js +4 -0
  359. package/dist/ionic/p-bb8365af.system.entry.js +4 -0
  360. package/dist/ionic/p-be22efa8.entry.js +4 -0
  361. package/dist/ionic/p-c3d501f5.system.entry.js +4 -0
  362. package/dist/ionic/{p-cc3aa152.entry.js → p-c68b68b1.entry.js} +1 -1
  363. package/dist/ionic/p-c872a0a0.entry.js +4 -0
  364. package/dist/ionic/{p-918d5f19.system.js → p-ca9b6832.system.js} +1 -1
  365. package/dist/ionic/p-daf85ebe.entry.js +4 -0
  366. package/dist/ionic/p-df16bb3f.system.entry.js +4 -0
  367. package/dist/ionic/{p-65a4c12f.system.entry.js → p-e64ce6ad.system.entry.js} +1 -1
  368. package/dist/ionic/p-e8fa3573.system.entry.js +4 -0
  369. package/dist/ionic/p-edbec144.entry.js +4 -0
  370. package/dist/ionic/{p-8fdd4a2f.system.js → p-f39999bb.system.js} +1 -1
  371. package/dist/ionic/{p-6bc9c436.system.entry.js → p-f474437d.system.entry.js} +1 -1
  372. package/dist/ionic/p-f9ef5c4a.system.entry.js +4 -0
  373. package/dist/ionic/p-fa1a57ae.system.entry.js +4 -0
  374. package/dist/types/components/content/content.d.ts +1 -0
  375. package/hydrate/index.js +82 -68
  376. package/package.json +2 -2
  377. package/dist/esm-es5/ios.transition-81e1aed6.js +0 -4
  378. package/dist/ionic/p-09e15a2a.system.entry.js +0 -4
  379. package/dist/ionic/p-0bd3cc92.entry.js +0 -4
  380. package/dist/ionic/p-1a36bf45.system.entry.js +0 -4
  381. package/dist/ionic/p-1bce805b.entry.js +0 -4
  382. package/dist/ionic/p-1c406ee0.system.entry.js +0 -4
  383. package/dist/ionic/p-20e5eb3e.entry.js +0 -4
  384. package/dist/ionic/p-3cbcb899.entry.js +0 -4
  385. package/dist/ionic/p-3d125f01.entry.js +0 -4
  386. package/dist/ionic/p-4616f20a.system.entry.js +0 -4
  387. package/dist/ionic/p-568fec78.entry.js +0 -4
  388. package/dist/ionic/p-5c8c9748.system.entry.js +0 -4
  389. package/dist/ionic/p-5e2dc8e0.js +0 -4
  390. package/dist/ionic/p-60838ce3.system.entry.js +0 -4
  391. package/dist/ionic/p-6ba07931.system.entry.js +0 -4
  392. package/dist/ionic/p-6ca0e4b2.system.entry.js +0 -4
  393. package/dist/ionic/p-72a1cbc7.js +0 -4
  394. package/dist/ionic/p-73f50e29.system.js +0 -4
  395. package/dist/ionic/p-78a293a5.js +0 -4
  396. package/dist/ionic/p-7dc0ee11.system.entry.js +0 -4
  397. package/dist/ionic/p-7e46b6ab.entry.js +0 -4
  398. package/dist/ionic/p-7e9e16bf.system.entry.js +0 -4
  399. package/dist/ionic/p-82da795c.system.entry.js +0 -4
  400. package/dist/ionic/p-82f58c25.system.entry.js +0 -4
  401. package/dist/ionic/p-88ad9cb6.entry.js +0 -4
  402. package/dist/ionic/p-a6d8476b.system.entry.js +0 -4
  403. package/dist/ionic/p-b0dd4f33.entry.js +0 -4
  404. package/dist/ionic/p-b49fe110.entry.js +0 -4
  405. package/dist/ionic/p-c4d08d6d.system.entry.js +0 -4
  406. package/dist/ionic/p-cd675d89.system.entry.js +0 -4
  407. package/dist/ionic/p-ce24ddd7.system.entry.js +0 -4
  408. package/dist/ionic/p-d8b2c214.entry.js +0 -4
  409. package/dist/ionic/p-de0f1af2.system.entry.js +0 -4
  410. package/dist/ionic/p-de676d36.system.entry.js +0 -4
  411. package/dist/ionic/p-ea88031d.entry.js +0 -4
  412. package/dist/ionic/p-ebaeeee8.entry.js +0 -4
  413. package/dist/ionic/p-f0dcf99b.entry.js +0 -4
  414. package/dist/ionic/p-f920f5ca.entry.js +0 -4
  415. package/dist/ionic/p-fa48ab18.system.entry.js +0 -4
@@ -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 --color: Text color of the breadcrumb
@@ -10,7 +43,7 @@
10
43
  flex: 0 0 auto;
11
44
  align-items: center;
12
45
  color: var(--color);
13
- font-size: 16px;
46
+ font-size: 1rem;
14
47
  font-weight: 400;
15
48
  line-height: 1.5;
16
49
  }
@@ -125,15 +158,55 @@
125
158
 
126
159
  .breadcrumbs-collapsed-indicator ion-icon {
127
160
  margin-top: 1px;
128
- font-size: 22px;
161
+ font-size: 1.375rem;
129
162
  }
130
163
 
164
+ /**
165
+ * Convert a font size to a dynamic font size.
166
+ * Fonts that participate in Dynamic Type should use
167
+ * dynamic font sizes.
168
+ * @param size - The initial font size including the unit (i.e. px or pt)
169
+ * @param unit (optional) - The unit to convert to. Use this if you want to
170
+ * convert to a unit other than $baselineUnit.
171
+ */
172
+ /**
173
+ * Convert a font size to a dynamic font size but impose
174
+ * a maximum font size.
175
+ * @param size - The initial font size including the unit (i.e. px or pt)
176
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
177
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
178
+ * convert to a unit other than $baselineUnit.
179
+ */
180
+ /**
181
+ * Convert a font size to a dynamic font size but impose
182
+ * a minimum font size.
183
+ * @param size - The initial font size including the unit (i.e. px or pt)
184
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
185
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
186
+ * convert to a unit other than $baselineUnit.
187
+ */
188
+ /**
189
+ * Convert a font size to a dynamic font size but impose
190
+ * maximum and minimum font sizes.
191
+ * @param size - The initial font size including the unit (i.e. px or pt)
192
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
193
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
194
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
195
+ * convert to a unit other than $baselineUnit.
196
+ */
131
197
  :host {
132
198
  --color: var(--ion-color-step-850, #2d4665);
133
199
  --color-active: var(--ion-text-color, #03060b);
134
200
  --color-hover: var(--ion-text-color, #03060b);
135
201
  --color-focused: var(--color-active);
136
202
  --background-focused: var(--ion-color-step-50, rgba(233, 237, 243, 0.7));
203
+ /**
204
+ * Main content should be prioritized
205
+ * on iOS, so we set max font size for breadcrumbs.
206
+ * Breadcrumbs can be placed in the content too, so
207
+ * we add a min font size to keep the text legible.
208
+ */
209
+ font-size: clamp(16px, 1rem, 22px);
137
210
  }
138
211
 
139
212
  :host(.breadcrumb-active) {
@@ -173,7 +246,7 @@
173
246
 
174
247
  ::slotted(ion-icon) {
175
248
  color: var(--ion-color-step-400, #92a0b3);
176
- font-size: 18px;
249
+ font-size: min(1.125rem, 21.6px);
177
250
  }
178
251
 
179
252
  ::slotted(ion-icon[slot=start]) {
@@ -202,4 +275,8 @@
202
275
 
203
276
  .breadcrumbs-collapsed-indicator:focus {
204
277
  background: var(--ion-color-step-150, #d9e0ea);
278
+ }
279
+
280
+ .breadcrumbs-collapsed-indicator ion-icon {
281
+ font-size: min(1.375rem, 22px);
205
282
  }
@@ -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 --color: Text color of the breadcrumb
@@ -10,7 +43,7 @@
10
43
  flex: 0 0 auto;
11
44
  align-items: center;
12
45
  color: var(--color);
13
- font-size: 16px;
46
+ font-size: 1rem;
14
47
  font-weight: 400;
15
48
  line-height: 1.5;
16
49
  }
@@ -125,9 +158,42 @@
125
158
 
126
159
  .breadcrumbs-collapsed-indicator ion-icon {
127
160
  margin-top: 1px;
128
- font-size: 22px;
161
+ font-size: 1.375rem;
129
162
  }
130
163
 
164
+ /**
165
+ * Convert a font size to a dynamic font size.
166
+ * Fonts that participate in Dynamic Type should use
167
+ * dynamic font sizes.
168
+ * @param size - The initial font size including the unit (i.e. px or pt)
169
+ * @param unit (optional) - The unit to convert to. Use this if you want to
170
+ * convert to a unit other than $baselineUnit.
171
+ */
172
+ /**
173
+ * Convert a font size to a dynamic font size but impose
174
+ * a maximum font size.
175
+ * @param size - The initial font size including the unit (i.e. px or pt)
176
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
177
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
178
+ * convert to a unit other than $baselineUnit.
179
+ */
180
+ /**
181
+ * Convert a font size to a dynamic font size but impose
182
+ * a minimum font size.
183
+ * @param size - The initial font size including the unit (i.e. px or pt)
184
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
185
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
186
+ * convert to a unit other than $baselineUnit.
187
+ */
188
+ /**
189
+ * Convert a font size to a dynamic font size but impose
190
+ * maximum and minimum font sizes.
191
+ * @param size - The initial font size including the unit (i.e. px or pt)
192
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
193
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
194
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
195
+ * convert to a unit other than $baselineUnit.
196
+ */
131
197
  :host {
132
198
  --color: var(--ion-color-step-600, #677483);
133
199
  --color-active: var(--ion-text-color, #03060b);
@@ -168,7 +234,7 @@
168
234
 
169
235
  ::slotted(ion-icon) {
170
236
  color: var(--ion-color-step-550, #7d8894);
171
- font-size: 18px;
237
+ font-size: 1.125rem;
172
238
  }
173
239
 
174
240
  ::slotted(ion-icon[slot=start]) {
@@ -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
  -moz-osx-font-smoothing: grayscale;
3
36
  -webkit-font-smoothing: antialiased;
@@ -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
  -moz-osx-font-smoothing: grayscale;
3
36
  -webkit-font-smoothing: antialiased;
@@ -13,3 +13,24 @@ configs().forEach(({ config, title }) => {
13
13
  });
14
14
  });
15
15
  });
16
+ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
17
+ test.describe(title('breadcrumbs: font scaling'), () => {
18
+ test('should scale text on larger font sizes', async ({ page }) => {
19
+ await page.setContent(`
20
+ <style>
21
+ html {
22
+ font-size: 36px;
23
+ }
24
+ </style>
25
+
26
+ <ion-breadcrumbs max-items="2" items-before-collapse="1">
27
+ <ion-breadcrumb>Home</ion-breadcrumb>
28
+ <ion-breadcrumb>Electronics</ion-breadcrumb>
29
+ <ion-breadcrumb>Photography</ion-breadcrumb>
30
+ </ion-breadcrumbs>
31
+ `, config);
32
+ const breadcrumbs = page.locator('ion-breadcrumbs');
33
+ await expect(breadcrumbs).toHaveScreenshot(screenshot(`breadcrumbs-scale`));
34
+ });
35
+ });
36
+ });
@@ -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
@@ -280,6 +313,72 @@ ion-ripple-effect {
280
313
  color: var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff));
281
314
  }
282
315
 
316
+ /**
317
+ * Convert a font size to a dynamic font size.
318
+ * Fonts that participate in Dynamic Type should use
319
+ * dynamic font sizes.
320
+ * @param size - The initial font size including the unit (i.e. px or pt)
321
+ * @param unit (optional) - The unit to convert to. Use this if you want to
322
+ * convert to a unit other than $baselineUnit.
323
+ */
324
+ /**
325
+ * Convert a font size to a dynamic font size but impose
326
+ * a maximum font size.
327
+ * @param size - The initial font size including the unit (i.e. px or pt)
328
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
329
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
330
+ * convert to a unit other than $baselineUnit.
331
+ */
332
+ /**
333
+ * Convert a font size to a dynamic font size but impose
334
+ * a minimum font size.
335
+ * @param size - The initial font size including the unit (i.e. px or pt)
336
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
337
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
338
+ * convert to a unit other than $baselineUnit.
339
+ */
340
+ /**
341
+ * Convert a font size to a dynamic font size but impose
342
+ * maximum and minimum font sizes.
343
+ * @param size - The initial font size including the unit (i.e. px or pt)
344
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
345
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
346
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
347
+ * convert to a unit other than $baselineUnit.
348
+ */
349
+ /**
350
+ * Convert a font size to a dynamic font size.
351
+ * Fonts that participate in Dynamic Type should use
352
+ * dynamic font sizes.
353
+ * @param size - The initial font size including the unit (i.e. px or pt)
354
+ * @param unit (optional) - The unit to convert to. Use this if you want to
355
+ * convert to a unit other than $baselineUnit.
356
+ */
357
+ /**
358
+ * Convert a font size to a dynamic font size but impose
359
+ * a maximum font size.
360
+ * @param size - The initial font size including the unit (i.e. px or pt)
361
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
362
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
363
+ * convert to a unit other than $baselineUnit.
364
+ */
365
+ /**
366
+ * Convert a font size to a dynamic font size but impose
367
+ * a minimum font size.
368
+ * @param size - The initial font size including the unit (i.e. px or pt)
369
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
370
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
371
+ * convert to a unit other than $baselineUnit.
372
+ */
373
+ /**
374
+ * Convert a font size to a dynamic font size but impose
375
+ * maximum and minimum font sizes.
376
+ * @param size - The initial font size including the unit (i.e. px or pt)
377
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
378
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
379
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
380
+ * convert to a unit other than $baselineUnit.
381
+ */
283
382
  :host {
284
383
  --border-radius: 14px;
285
384
  --padding-top: 13px;
@@ -294,26 +393,11 @@ ion-ripple-effect {
294
393
  margin-top: 4px;
295
394
  margin-bottom: 4px;
296
395
  min-height: 3.1em;
297
- font-size: 16px;
396
+ font-size: min(1rem, 48px);
298
397
  font-weight: 500;
299
398
  letter-spacing: 0;
300
399
  }
301
400
 
302
- /**
303
- * The default buttons in a toolbar
304
- * have a different font size/weight
305
- * than buttons outside of a toolbar on iOS.
306
- * However, we still want the "size"/"strong"
307
- * properties to be usable in a toolbar, so we add
308
- * the .in-buttons selector such that we
309
- * can add the different font size/weight in a toolbar
310
- * but still let "size"/"strong" override it.
311
- */
312
- :host(.in-buttons) {
313
- font-size: 17px;
314
- font-weight: 400;
315
- }
316
-
317
401
  :host(.button-solid) {
318
402
  --background-activated: var(--ion-color-primary-shade, #3171e0);
319
403
  --background-focused: var(--ion-color-primary-shade, #3171e0);
@@ -340,10 +424,25 @@ ion-ripple-effect {
340
424
  --background-focused: var(--ion-color-primary, #3880ff);
341
425
  --background-hover: transparent;
342
426
  --background-focused-opacity: .1;
343
- font-size: 17px;
427
+ font-size: min(1.0625rem, 51px);
344
428
  font-weight: normal;
345
429
  }
346
430
 
431
+ /**
432
+ * The default buttons in a toolbar
433
+ * have a different font size/weight
434
+ * than buttons outside of a toolbar on iOS.
435
+ * However, we still want the "size"/"strong"
436
+ * properties to be usable in a toolbar, so we add
437
+ * the .in-buttons selector such that we
438
+ * can add the different font size/weight in a toolbar
439
+ * but still let "size"/"strong" override it.
440
+ */
441
+ :host(.in-buttons) {
442
+ font-size: clamp(17px, 1.0625rem, 21px);
443
+ font-weight: 400;
444
+ }
445
+
347
446
  :host(.button-large) {
348
447
  --border-radius: 16px;
349
448
  --padding-top: 17px;
@@ -351,7 +450,7 @@ ion-ripple-effect {
351
450
  --padding-end: 1em;
352
451
  --padding-bottom: 17px;
353
452
  min-height: 3.1em;
354
- font-size: 20px;
453
+ font-size: min(1.25rem, 60px);
355
454
  }
356
455
 
357
456
  :host(.button-small) {
@@ -361,7 +460,7 @@ ion-ripple-effect {
361
460
  --padding-end: 0.9em;
362
461
  --padding-bottom: 4px;
363
462
  min-height: 2.1em;
364
- font-size: 13px;
463
+ font-size: min(0.8125rem, 39px);
365
464
  }
366
465
 
367
466
  :host(.button-has-icon-only) {
@@ -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
@@ -280,6 +313,39 @@ ion-ripple-effect {
280
313
  color: var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff));
281
314
  }
282
315
 
316
+ /**
317
+ * Convert a font size to a dynamic font size.
318
+ * Fonts that participate in Dynamic Type should use
319
+ * dynamic font sizes.
320
+ * @param size - The initial font size including the unit (i.e. px or pt)
321
+ * @param unit (optional) - The unit to convert to. Use this if you want to
322
+ * convert to a unit other than $baselineUnit.
323
+ */
324
+ /**
325
+ * Convert a font size to a dynamic font size but impose
326
+ * a maximum font size.
327
+ * @param size - The initial font size including the unit (i.e. px or pt)
328
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
329
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
330
+ * convert to a unit other than $baselineUnit.
331
+ */
332
+ /**
333
+ * Convert a font size to a dynamic font size but impose
334
+ * a minimum font size.
335
+ * @param size - The initial font size including the unit (i.e. px or pt)
336
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
337
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
338
+ * convert to a unit other than $baselineUnit.
339
+ */
340
+ /**
341
+ * Convert a font size to a dynamic font size but impose
342
+ * maximum and minimum font sizes.
343
+ * @param size - The initial font size including the unit (i.e. px or pt)
344
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
345
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
346
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
347
+ * convert to a unit other than $baselineUnit.
348
+ */
283
349
  :host {
284
350
  --border-radius: 4px;
285
351
  --padding-top: 8px;
@@ -296,7 +362,7 @@ ion-ripple-effect {
296
362
  margin-top: 4px;
297
363
  margin-bottom: 4px;
298
364
  min-height: 36px;
299
- font-size: 14px;
365
+ font-size: 0.875rem;
300
366
  font-weight: 500;
301
367
  letter-spacing: 0.06em;
302
368
  text-transform: uppercase;
@@ -355,7 +421,7 @@ ion-ripple-effect {
355
421
  --padding-end: 1em;
356
422
  --padding-bottom: 14px;
357
423
  min-height: 2.8em;
358
- font-size: 20px;
424
+ font-size: 1.25rem;
359
425
  }
360
426
 
361
427
  :host(.button-small) {
@@ -364,7 +430,7 @@ ion-ripple-effect {
364
430
  --padding-end: 0.9em;
365
431
  --padding-bottom: 4px;
366
432
  min-height: 2.1em;
367
- font-size: 13px;
433
+ font-size: 0.8125rem;
368
434
  }
369
435
 
370
436
  :host(.button-has-icon-only) {
@@ -0,0 +1,61 @@
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('button: font scaling'), () => {
8
+ test('should scale default button text on larger font sizes', async ({ page }) => {
9
+ await page.setContent(`
10
+ <style>
11
+ html {
12
+ font-size: 310%;
13
+ }
14
+ </style>
15
+
16
+ <ion-button>Default</ion-button>
17
+ `, config);
18
+ const button = page.locator('ion-button');
19
+ await expect(button).toHaveScreenshot(screenshot(`button-default-scale`));
20
+ });
21
+ test('should scale clear button text on larger font sizes', async ({ page }) => {
22
+ await page.setContent(`
23
+ <style>
24
+ html {
25
+ font-size: 310%;
26
+ }
27
+ </style>
28
+
29
+ <ion-button fill="clear">Clear</ion-button>
30
+ `, config);
31
+ const button = page.locator('ion-button');
32
+ await expect(button).toHaveScreenshot(screenshot(`button-clear-scale`));
33
+ });
34
+ test('should scale small button text on larger font sizes', async ({ page }) => {
35
+ await page.setContent(`
36
+ <style>
37
+ html {
38
+ font-size: 310%;
39
+ }
40
+ </style>
41
+
42
+ <ion-button size="small">Small</ion-button>
43
+ `, config);
44
+ const button = page.locator('ion-button');
45
+ await expect(button).toHaveScreenshot(screenshot(`button-small-scale`));
46
+ });
47
+ test('should scale large button text on larger font sizes', async ({ page }) => {
48
+ await page.setContent(`
49
+ <style>
50
+ html {
51
+ font-size: 310%;
52
+ }
53
+ </style>
54
+
55
+ <ion-button size="large">Large</ion-button>
56
+ `, config);
57
+ const button = page.locator('ion-button');
58
+ await expect(button).toHaveScreenshot(screenshot(`button-large-scale`));
59
+ });
60
+ });
61
+ });