@ionic/core 8.0.0-dev.11712072527.1dd97c66 → 8.0.0-dev.11712932867.11504809

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 (975) hide show
  1. package/components/action-sheet.js +11 -6
  2. package/components/alert.js +12 -8
  3. package/components/backdrop.js +8 -4
  4. package/components/button.js +40 -11
  5. package/components/buttons.js +9 -5
  6. package/components/checkbox.js +13 -9
  7. package/components/data.js +4 -4
  8. package/components/index4.js +8 -7
  9. package/components/index6.js +27 -30
  10. package/components/index7.js +124 -27
  11. package/components/index8.js +150 -111
  12. package/components/input-shims.js +1 -1
  13. package/components/input.utils.js +1 -1
  14. package/components/ion-accordion-group.js +9 -6
  15. package/components/ion-accordion.js +10 -6
  16. package/components/ion-app.js +5 -6
  17. package/components/ion-avatar.js +9 -2
  18. package/components/ion-back-button.js +12 -8
  19. package/components/ion-badge.js +9 -5
  20. package/components/ion-breadcrumb.js +11 -7
  21. package/components/ion-breadcrumbs.js +9 -5
  22. package/components/ion-card-content.js +9 -5
  23. package/components/ion-card-header.js +9 -5
  24. package/components/ion-card-subtitle.js +9 -5
  25. package/components/ion-card-title.js +9 -5
  26. package/components/ion-card.js +16 -7
  27. package/components/ion-chip.js +16 -6
  28. package/components/ion-col.js +5 -5
  29. package/components/ion-content.js +10 -10
  30. package/components/ion-datetime-button.js +9 -6
  31. package/components/ion-datetime.js +26 -21
  32. package/components/ion-fab-button.js +10 -6
  33. package/components/ion-fab-list.js +5 -5
  34. package/components/ion-fab.js +5 -5
  35. package/components/ion-footer.js +14 -10
  36. package/components/ion-grid.js +5 -5
  37. package/components/ion-header.js +14 -10
  38. package/components/ion-img.js +5 -2
  39. package/components/ion-infinite-scroll-content.js +12 -8
  40. package/components/ion-infinite-scroll.js +5 -5
  41. package/components/ion-input-password-toggle.js +2 -3
  42. package/components/ion-input.js +17 -13
  43. package/components/ion-item-divider.js +9 -5
  44. package/components/ion-item-group.js +9 -5
  45. package/components/ion-item-option.js +9 -5
  46. package/components/ion-item-options.js +9 -5
  47. package/components/ion-item-sliding.js +5 -5
  48. package/components/ion-loading.js +10 -6
  49. package/components/ion-menu-button.js +11 -7
  50. package/components/ion-menu-toggle.js +5 -5
  51. package/components/ion-menu.js +9 -5
  52. package/components/ion-modal.js +11 -8
  53. package/components/ion-nav-link.js +1 -1
  54. package/components/ion-nav.js +6 -5
  55. package/components/ion-note.js +9 -5
  56. package/components/ion-picker-legacy.js +5 -6
  57. package/components/ion-progress-bar.js +8 -4
  58. package/components/ion-range.js +11 -8
  59. package/components/ion-refresher-content.js +9 -8
  60. package/components/ion-refresher.js +10 -6
  61. package/components/ion-reorder-group.js +5 -5
  62. package/components/ion-reorder.js +11 -5
  63. package/components/ion-router-link.js +5 -5
  64. package/components/ion-router-outlet.js +1 -1
  65. package/components/ion-row.js +5 -2
  66. package/components/ion-searchbar.js +16 -12
  67. package/components/ion-segment-button.js +10 -6
  68. package/components/ion-segment.js +9 -5
  69. package/components/ion-select-option.js +5 -2
  70. package/components/ion-select.js +23 -19
  71. package/components/ion-skeleton-text.js +5 -5
  72. package/components/ion-split-pane.js +10 -6
  73. package/components/ion-tab-bar.js +9 -5
  74. package/components/ion-tab-button.js +9 -5
  75. package/components/ion-tab.js +2 -2
  76. package/components/ion-tabs.js +1 -1
  77. package/components/ion-text.js +5 -5
  78. package/components/ion-textarea.js +12 -8
  79. package/components/ion-thumbnail.js +5 -2
  80. package/components/ion-title.js +9 -5
  81. package/components/ion-toast.js +13 -9
  82. package/components/ion-toggle.js +17 -13
  83. package/components/ion-toolbar.js +9 -5
  84. package/components/ionic-global.js +191 -14
  85. package/components/ios.transition.js +1 -0
  86. package/components/item.js +11 -7
  87. package/components/label.js +9 -5
  88. package/components/list-header.js +9 -5
  89. package/components/list.js +10 -6
  90. package/components/overlays.js +1 -2
  91. package/components/picker-column-option.js +9 -5
  92. package/components/picker-column.js +6 -6
  93. package/components/picker-column2.js +4 -4
  94. package/components/picker.js +6 -2
  95. package/components/popover.js +11 -8
  96. package/components/radio-group.js +5 -3
  97. package/components/radio.js +10 -6
  98. package/components/ripple-effect.js +4 -4
  99. package/components/select-popover.js +9 -2
  100. package/components/spinner.js +6 -6
  101. package/components/status-tap.js +1 -1
  102. package/css/core.css +1 -624
  103. package/css/core.css.map +1 -1
  104. package/css/display.css +1 -131
  105. package/css/display.css.map +1 -1
  106. package/css/flex-utils.css +1 -81
  107. package/css/flex-utils.css.map +1 -1
  108. package/css/float-elements.css +1 -293
  109. package/css/float-elements.css.map +1 -1
  110. package/css/global.bundle.css +1 -457
  111. package/css/global.bundle.css.map +1 -1
  112. package/css/ionic-swiper.css +1 -127
  113. package/css/ionic-swiper.css.map +1 -1
  114. package/css/ionic.bundle.css +1 -1
  115. package/css/ionic.bundle.css.map +1 -1
  116. package/css/link.ionic.css +1 -0
  117. package/css/link.ionic.css.map +1 -0
  118. package/css/normalize.css +1 -150
  119. package/css/normalize.css.map +1 -1
  120. package/css/padding.css +1 -202
  121. package/css/padding.css.map +1 -1
  122. package/css/palettes/dark.always.css +1 -160
  123. package/css/palettes/dark.always.css.map +1 -1
  124. package/css/palettes/dark.class.css +1 -160
  125. package/css/palettes/dark.class.css.map +1 -1
  126. package/css/palettes/dark.css +0 -2
  127. package/css/palettes/dark.system.css +1 -162
  128. package/css/palettes/dark.system.css.map +1 -1
  129. package/css/palettes/high-contrast-dark.always.css +1 -180
  130. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  131. package/css/palettes/high-contrast-dark.class.css +1 -180
  132. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  133. package/css/palettes/high-contrast-dark.css +0 -2
  134. package/css/palettes/high-contrast-dark.system.css +1 -182
  135. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  136. package/css/palettes/high-contrast.always.css +1 -101
  137. package/css/palettes/high-contrast.always.css.map +1 -1
  138. package/css/palettes/high-contrast.class.css +1 -101
  139. package/css/palettes/high-contrast.class.css.map +1 -1
  140. package/css/palettes/high-contrast.css +0 -2
  141. package/css/palettes/high-contrast.system.css +1 -103
  142. package/css/palettes/high-contrast.system.css.map +1 -1
  143. package/css/structure.css +1 -152
  144. package/css/structure.css.map +1 -1
  145. package/css/text-alignment.css +1 -243
  146. package/css/text-alignment.css.map +1 -1
  147. package/css/text-transformation.css +1 -158
  148. package/css/text-transformation.css.map +1 -1
  149. package/css/typography.css +1 -157
  150. package/css/typography.css.map +1 -1
  151. package/css/typography.ionic.css +1 -0
  152. package/css/typography.ionic.css.map +1 -0
  153. package/css/utils.bundle.css +1 -1100
  154. package/css/utils.bundle.css.map +1 -1
  155. package/dist/cjs/{app-globals-63aebf89.js → app-globals-afaa9c54.js} +1 -1
  156. package/dist/cjs/{data-21dc0f81.js → data-99329b16.js} +6 -6
  157. package/dist/cjs/{hardware-back-button-ad9299b4.js → hardware-back-button-6084a439.js} +1 -1
  158. package/dist/cjs/{index-5b6a7459.js → index-18f2ba3b.js} +2 -2
  159. package/dist/cjs/{index-ff66cc7c.js → index-7c699f7b.js} +2 -2
  160. package/dist/cjs/{index-5cf05f94.js → index-f378621f.js} +13 -12
  161. package/dist/cjs/index.cjs.js +7 -8
  162. package/dist/cjs/{input-shims-20d639e6.js → input-shims-077ab038.js} +3 -2
  163. package/dist/cjs/{input.utils-611cde0b.js → input.utils-1aac63e6.js} +2 -2
  164. package/dist/cjs/ion-accordion_2.cjs.entry.js +18 -11
  165. package/dist/cjs/ion-action-sheet.cjs.entry.js +13 -9
  166. package/dist/cjs/ion-alert.cjs.entry.js +14 -11
  167. package/dist/cjs/ion-app_8.cjs.entry.js +79 -60
  168. package/dist/cjs/ion-avatar_3.cjs.entry.js +21 -7
  169. package/dist/cjs/ion-back-button.cjs.entry.js +11 -7
  170. package/dist/cjs/ion-backdrop.cjs.entry.js +8 -4
  171. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +18 -10
  172. package/dist/cjs/ion-button_2.cjs.entry.js +43 -14
  173. package/dist/cjs/ion-card_5.cjs.entry.js +47 -23
  174. package/dist/cjs/ion-checkbox.cjs.entry.js +13 -9
  175. package/dist/cjs/ion-chip.cjs.entry.js +14 -5
  176. package/dist/cjs/ion-col_3.cjs.entry.js +13 -10
  177. package/dist/cjs/ion-datetime-button.cjs.entry.js +14 -11
  178. package/dist/cjs/ion-datetime_3.cjs.entry.js +112 -107
  179. package/dist/cjs/ion-fab_3.cjs.entry.js +17 -13
  180. package/dist/cjs/ion-img.cjs.entry.js +5 -2
  181. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +16 -13
  182. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +6 -7
  183. package/dist/cjs/ion-input.cjs.entry.js +17 -14
  184. package/dist/cjs/ion-item-option_3.cjs.entry.js +21 -14
  185. package/dist/cjs/ion-item_8.cjs.entry.js +63 -35
  186. package/dist/cjs/ion-loading.cjs.entry.js +12 -9
  187. package/dist/cjs/ion-menu_3.cjs.entry.js +25 -18
  188. package/dist/cjs/ion-modal.cjs.entry.js +19 -16
  189. package/dist/cjs/ion-nav_2.cjs.entry.js +8 -6
  190. package/dist/cjs/ion-picker-column-option.cjs.entry.js +9 -5
  191. package/dist/cjs/ion-picker-column.cjs.entry.js +6 -6
  192. package/dist/cjs/ion-picker.cjs.entry.js +6 -2
  193. package/dist/cjs/ion-popover.cjs.entry.js +17 -14
  194. package/dist/cjs/ion-progress-bar.cjs.entry.js +8 -4
  195. package/dist/cjs/ion-radio_2.cjs.entry.js +14 -8
  196. package/dist/cjs/ion-range.cjs.entry.js +16 -13
  197. package/dist/cjs/ion-refresher_2.cjs.entry.js +17 -13
  198. package/dist/cjs/ion-reorder_2.cjs.entry.js +14 -9
  199. package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -4
  200. package/dist/cjs/ion-route_4.cjs.entry.js +5 -5
  201. package/dist/cjs/ion-searchbar.cjs.entry.js +15 -11
  202. package/dist/cjs/ion-segment_2.cjs.entry.js +18 -10
  203. package/dist/cjs/ion-select_3.cjs.entry.js +36 -23
  204. package/dist/cjs/ion-spinner.cjs.entry.js +6 -6
  205. package/dist/cjs/ion-split-pane.cjs.entry.js +10 -6
  206. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +17 -9
  207. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  208. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  209. package/dist/cjs/ion-textarea.cjs.entry.js +13 -10
  210. package/dist/cjs/ion-toast.cjs.entry.js +36 -32
  211. package/dist/cjs/ion-toggle.cjs.entry.js +16 -12
  212. package/dist/cjs/ionic-global-2734c454.js +411 -0
  213. package/dist/cjs/ionic.cjs.js +4 -4
  214. package/dist/cjs/{ios.transition-06673f18.js → ios.transition-07077689.js} +2 -1
  215. package/dist/cjs/loader.cjs.js +3 -3
  216. package/dist/cjs/{md.transition-4d7bb4b1.js → md.transition-a829ffba.js} +1 -1
  217. package/dist/cjs/{overlays-6487955a.js → overlays-a247b257.js} +3 -4
  218. package/dist/cjs/{status-tap-0be20572.js → status-tap-870d407b.js} +2 -2
  219. package/dist/collection/collection-manifest.json +2 -2
  220. package/dist/collection/components/accordion/accordion.ios.css +12 -0
  221. package/dist/collection/components/accordion/accordion.js +11 -8
  222. package/dist/collection/components/accordion/accordion.md.css +6 -0
  223. package/dist/collection/components/accordion-group/accordion-group.ios.css +12 -0
  224. package/dist/collection/components/accordion-group/accordion-group.js +11 -8
  225. package/dist/collection/components/accordion-group/accordion-group.md.css +18 -0
  226. package/dist/collection/components/action-sheet/action-sheet.ios.css +12 -0
  227. package/dist/collection/components/action-sheet/action-sheet.js +14 -10
  228. package/dist/collection/components/action-sheet/action-sheet.md.css +12 -0
  229. package/dist/collection/components/alert/alert.ios.css +18 -0
  230. package/dist/collection/components/alert/alert.js +15 -12
  231. package/dist/collection/components/alert/alert.md.css +18 -0
  232. package/dist/collection/components/app/app.js +8 -4
  233. package/dist/collection/components/avatar/avatar.ios.css +12 -0
  234. package/dist/collection/components/avatar/avatar.js +13 -4
  235. package/dist/collection/components/avatar/avatar.md.css +12 -0
  236. package/dist/collection/components/back-button/back-button.ios.css +12 -0
  237. package/dist/collection/components/back-button/back-button.js +13 -10
  238. package/dist/collection/components/back-button/back-button.md.css +12 -0
  239. package/dist/collection/components/backdrop/backdrop.ios.css +12 -0
  240. package/dist/collection/components/backdrop/backdrop.js +12 -6
  241. package/dist/collection/components/backdrop/backdrop.md.css +12 -0
  242. package/dist/collection/components/badge/badge.ios.css +12 -0
  243. package/dist/collection/components/badge/badge.js +11 -8
  244. package/dist/collection/components/badge/badge.md.css +12 -0
  245. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +12 -0
  246. package/dist/collection/components/breadcrumb/breadcrumb.js +12 -9
  247. package/dist/collection/components/breadcrumb/breadcrumb.md.css +12 -0
  248. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  249. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  250. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  251. package/dist/collection/components/button/button.ionic.css +582 -0
  252. package/dist/collection/components/button/button.ios.css +73 -10
  253. package/dist/collection/components/button/button.js +45 -16
  254. package/dist/collection/components/button/button.md.css +69 -9
  255. package/dist/collection/components/button/test/clear/button.e2e.js +6 -3
  256. package/dist/collection/components/button/test/shape/button.e2e.js +88 -0
  257. package/dist/collection/components/button/test/size/button.e2e.js +18 -1
  258. package/dist/collection/components/button/test/states/button.e2e.js +51 -0
  259. package/dist/collection/components/buttons/buttons.ios.css +18 -0
  260. package/dist/collection/components/buttons/buttons.js +14 -8
  261. package/dist/collection/components/buttons/buttons.md.css +18 -0
  262. package/dist/collection/components/card/card.ionic.css +49 -0
  263. package/dist/collection/components/card/card.ios.css +12 -0
  264. package/dist/collection/components/card/card.js +34 -10
  265. package/dist/collection/components/card/card.md.css +12 -0
  266. package/dist/collection/components/card/test/shape/card.e2e.js +34 -0
  267. package/dist/collection/components/card-content/card-content.ios.css +12 -0
  268. package/dist/collection/components/card-content/card-content.js +11 -8
  269. package/dist/collection/components/card-content/card-content.md.css +12 -0
  270. package/dist/collection/components/card-header/card-header.ios.css +12 -0
  271. package/dist/collection/components/card-header/card-header.js +12 -9
  272. package/dist/collection/components/card-header/card-header.md.css +12 -0
  273. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  274. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  275. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  276. package/dist/collection/components/card-title/card-title.ios.css +12 -0
  277. package/dist/collection/components/card-title/card-title.js +11 -8
  278. package/dist/collection/components/card-title/card-title.md.css +12 -0
  279. package/dist/collection/components/checkbox/checkbox.ios.css +18 -0
  280. package/dist/collection/components/checkbox/checkbox.js +15 -12
  281. package/dist/collection/components/checkbox/checkbox.md.css +18 -0
  282. package/dist/collection/components/chip/chip.ionic.css +94 -0
  283. package/dist/collection/components/chip/chip.ios.css +6 -0
  284. package/dist/collection/components/chip/chip.js +33 -8
  285. package/dist/collection/components/chip/chip.md.css +6 -0
  286. package/dist/collection/components/chip/test/shape/chip.e2e.js +34 -0
  287. package/dist/collection/components/chip/test/states/chip.e2e.js +16 -0
  288. package/dist/collection/components/col/col.css +12 -0
  289. package/dist/collection/components/col/col.js +9 -5
  290. package/dist/collection/components/content/content.css +6 -0
  291. package/dist/collection/components/content/content.js +13 -10
  292. package/dist/collection/components/datetime/datetime.ios.css +12 -0
  293. package/dist/collection/components/datetime/datetime.js +27 -22
  294. package/dist/collection/components/datetime/datetime.md.css +12 -0
  295. package/dist/collection/components/datetime/test/overlay-roles/datetime.e2e.js +34 -0
  296. package/dist/collection/components/datetime/utils/data.js +3 -3
  297. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  298. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  299. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  300. package/dist/collection/components/fab/fab.css +24 -0
  301. package/dist/collection/components/fab/fab.js +9 -5
  302. package/dist/collection/components/fab-button/fab-button.ios.css +12 -0
  303. package/dist/collection/components/fab-button/fab-button.js +12 -9
  304. package/dist/collection/components/fab-button/fab-button.md.css +12 -0
  305. package/dist/collection/components/fab-list/fab-list.css +12 -0
  306. package/dist/collection/components/fab-list/fab-list.js +9 -5
  307. package/dist/collection/components/footer/footer.ios.css +12 -0
  308. package/dist/collection/components/footer/footer.js +17 -14
  309. package/dist/collection/components/footer/footer.md.css +12 -0
  310. package/dist/collection/components/grid/grid.css +12 -0
  311. package/dist/collection/components/grid/grid.js +9 -5
  312. package/dist/collection/components/header/header.ios.css +12 -0
  313. package/dist/collection/components/header/header.js +17 -14
  314. package/dist/collection/components/header/header.md.css +12 -0
  315. package/dist/collection/components/img/img.js +8 -2
  316. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  317. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  318. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  319. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  320. package/dist/collection/components/input/input.ios.css +18 -0
  321. package/dist/collection/components/input/input.js +24 -20
  322. package/dist/collection/components/input/input.md.css +44 -2
  323. package/dist/collection/components/item/item.ios.css +12 -0
  324. package/dist/collection/components/item/item.js +13 -10
  325. package/dist/collection/components/item/item.md.css +24 -0
  326. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  327. package/dist/collection/components/item-divider/item-divider.js +11 -8
  328. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  329. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  330. package/dist/collection/components/item-group/item-group.js +13 -7
  331. package/dist/collection/components/item-group/item-group.md.css +12 -0
  332. package/dist/collection/components/item-option/item-option.ios.css +12 -0
  333. package/dist/collection/components/item-option/item-option.js +11 -8
  334. package/dist/collection/components/item-option/item-option.md.css +12 -0
  335. package/dist/collection/components/item-options/item-options.ios.css +18 -0
  336. package/dist/collection/components/item-options/item-options.js +13 -7
  337. package/dist/collection/components/item-options/item-options.md.css +18 -0
  338. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  339. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  340. package/dist/collection/components/label/label.ios.css +18 -0
  341. package/dist/collection/components/label/label.js +11 -8
  342. package/dist/collection/components/label/label.md.css +18 -0
  343. package/dist/collection/components/list/list.ios.css +18 -0
  344. package/dist/collection/components/list/list.js +12 -9
  345. package/dist/collection/components/list/list.md.css +18 -0
  346. package/dist/collection/components/list-header/list-header.ios.css +18 -0
  347. package/dist/collection/components/list-header/list-header.js +11 -8
  348. package/dist/collection/components/list-header/list-header.md.css +18 -0
  349. package/dist/collection/components/loading/loading.ios.css +12 -0
  350. package/dist/collection/components/loading/loading.js +13 -10
  351. package/dist/collection/components/loading/loading.md.css +12 -0
  352. package/dist/collection/components/menu/menu.ios.css +12 -0
  353. package/dist/collection/components/menu/menu.js +12 -7
  354. package/dist/collection/components/menu/menu.md.css +12 -0
  355. package/dist/collection/components/menu-button/menu-button.ios.css +12 -0
  356. package/dist/collection/components/menu-button/menu-button.js +12 -9
  357. package/dist/collection/components/menu-button/menu-button.md.css +12 -0
  358. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  359. package/dist/collection/components/modal/modal.ios.css +12 -0
  360. package/dist/collection/components/modal/modal.js +12 -9
  361. package/dist/collection/components/modal/modal.md.css +12 -0
  362. package/dist/collection/components/nav/nav.css +6 -0
  363. package/dist/collection/components/nav/nav.js +11 -5
  364. package/dist/collection/components/nav-link/nav-link.js +5 -1
  365. package/dist/collection/components/note/note.ios.css +12 -0
  366. package/dist/collection/components/note/note.js +11 -8
  367. package/dist/collection/components/note/note.md.css +12 -0
  368. package/dist/collection/components/picker/picker.ios.css +12 -0
  369. package/dist/collection/components/picker/picker.js +8 -5
  370. package/dist/collection/components/picker/picker.md.css +12 -0
  371. package/dist/collection/components/picker-column/picker-column.css +6 -0
  372. package/dist/collection/components/picker-column/picker-column.js +8 -7
  373. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  374. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  375. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  376. package/dist/collection/components/picker-legacy/picker.ios.css +12 -0
  377. package/dist/collection/components/picker-legacy/picker.js +7 -6
  378. package/dist/collection/components/picker-legacy/picker.md.css +12 -0
  379. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  380. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  381. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  382. package/dist/collection/components/popover/popover.ios.css +12 -1
  383. package/dist/collection/components/popover/popover.js +15 -12
  384. package/dist/collection/components/popover/popover.md.css +12 -1
  385. package/dist/collection/components/popover/test/basic/popover.e2e.js +76 -0
  386. package/dist/collection/components/progress-bar/progress-bar.ios.css +6 -0
  387. package/dist/collection/components/progress-bar/progress-bar.js +10 -7
  388. package/dist/collection/components/progress-bar/progress-bar.md.css +6 -0
  389. package/dist/collection/components/radio/radio.ios.css +18 -0
  390. package/dist/collection/components/radio/radio.js +12 -9
  391. package/dist/collection/components/radio/radio.md.css +18 -0
  392. package/dist/collection/components/radio-group/radio-group.js +9 -3
  393. package/dist/collection/components/range/range.ios.css +12 -0
  394. package/dist/collection/components/range/range.js +12 -9
  395. package/dist/collection/components/range/range.md.css +12 -0
  396. package/dist/collection/components/refresher/refresher.ios.css +12 -0
  397. package/dist/collection/components/refresher/refresher.js +11 -8
  398. package/dist/collection/components/refresher/refresher.md.css +12 -0
  399. package/dist/collection/components/refresher-content/refresher-content.js +12 -7
  400. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  401. package/dist/collection/components/reorder/reorder.js +13 -6
  402. package/dist/collection/components/reorder/reorder.md.css +6 -0
  403. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  404. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  405. package/dist/collection/components/ripple-effect/ripple-effect.css +6 -0
  406. package/dist/collection/components/ripple-effect/ripple-effect.js +8 -4
  407. package/dist/collection/components/route/route.js +4 -0
  408. package/dist/collection/components/router/router.js +4 -0
  409. package/dist/collection/components/router-link/router-link.css +6 -0
  410. package/dist/collection/components/router-link/router-link.js +9 -5
  411. package/dist/collection/components/router-outlet/router-outlet.css +6 -0
  412. package/dist/collection/components/router-outlet/router-outlet.js +5 -2
  413. package/dist/collection/components/row/row.css +12 -0
  414. package/dist/collection/components/row/row.js +9 -2
  415. package/dist/collection/components/searchbar/searchbar.ios.css +12 -0
  416. package/dist/collection/components/searchbar/searchbar.js +22 -19
  417. package/dist/collection/components/searchbar/searchbar.md.css +12 -0
  418. package/dist/collection/components/segment/segment.ios.css +18 -0
  419. package/dist/collection/components/segment/segment.js +11 -8
  420. package/dist/collection/components/segment/segment.md.css +18 -0
  421. package/dist/collection/components/segment-button/segment-button.ios.css +12 -0
  422. package/dist/collection/components/segment-button/segment-button.js +12 -9
  423. package/dist/collection/components/segment-button/segment-button.md.css +12 -0
  424. package/dist/collection/components/select/select.ios.css +18 -0
  425. package/dist/collection/components/select/select.js +27 -24
  426. package/dist/collection/components/select/select.md.css +30 -0
  427. package/dist/collection/components/select-option/select-option.js +9 -2
  428. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  429. package/dist/collection/components/select-popover/select-popover.js +12 -4
  430. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  431. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  432. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  433. package/dist/collection/components/spinner/spinner.css +6 -0
  434. package/dist/collection/components/spinner/spinner.js +10 -6
  435. package/dist/collection/components/split-pane/split-pane.ios.css +18 -0
  436. package/dist/collection/components/split-pane/split-pane.js +14 -8
  437. package/dist/collection/components/split-pane/split-pane.md.css +18 -0
  438. package/dist/collection/components/tab/tab.js +6 -2
  439. package/dist/collection/components/tab-bar/tab-bar.ios.css +18 -0
  440. package/dist/collection/components/tab-bar/tab-bar.js +12 -9
  441. package/dist/collection/components/tab-bar/tab-bar.md.css +18 -0
  442. package/dist/collection/components/tab-button/tab-button.ios.css +12 -0
  443. package/dist/collection/components/tab-button/tab-button.js +11 -8
  444. package/dist/collection/components/tab-button/tab-button.md.css +12 -0
  445. package/dist/collection/components/tabs/tabs.css +6 -0
  446. package/dist/collection/components/tabs/tabs.js +4 -1
  447. package/dist/collection/components/text/text.css +6 -0
  448. package/dist/collection/components/text/text.js +7 -6
  449. package/dist/collection/components/textarea/textarea.ios.css +24 -0
  450. package/dist/collection/components/textarea/textarea.js +15 -12
  451. package/dist/collection/components/textarea/textarea.md.css +36 -0
  452. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  453. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  454. package/dist/collection/components/title/title.ios.css +6 -0
  455. package/dist/collection/components/title/title.js +13 -7
  456. package/dist/collection/components/title/title.md.css +6 -0
  457. package/dist/collection/components/toast/animations/utils.js +1 -1
  458. package/dist/collection/components/toast/toast.ios.css +12 -0
  459. package/dist/collection/components/toast/toast.js +15 -11
  460. package/dist/collection/components/toast/toast.md.css +12 -0
  461. package/dist/collection/components/toggle/toggle.ios.css +18 -0
  462. package/dist/collection/components/toggle/toggle.js +18 -15
  463. package/dist/collection/components/toggle/toggle.md.css +18 -0
  464. package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +133 -5
  465. package/dist/collection/components/toolbar/toolbar.ios.css +12 -0
  466. package/dist/collection/components/toolbar/toolbar.js +13 -10
  467. package/dist/collection/components/toolbar/toolbar.md.css +12 -0
  468. package/dist/collection/css/test/link/basic/link.e2e.js +35 -0
  469. package/dist/collection/css/test/{a11y → typography/a11y}/typography.e2e.js +1 -1
  470. package/dist/collection/css/test/typography/basic/typography.e2e.js +85 -0
  471. package/dist/collection/global/ionic-global.js +161 -13
  472. package/dist/collection/global/test/ionic-global.spec.js +109 -0
  473. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  474. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  475. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  476. package/dist/collection/utils/test/playwright/generator.js +48 -23
  477. package/dist/collection/utils/test/playwright/page/utils/goto.js +13 -4
  478. package/dist/collection/utils/test/playwright/page/utils/set-content.js +13 -1
  479. package/dist/collection/utils/transition/ios.transition.js +1 -0
  480. package/dist/docs.json +3968 -344
  481. package/dist/esm/{app-globals-b8e5e7fa.js → app-globals-6b65a082.js} +1 -1
  482. package/dist/esm/{button-active-a411da52.js → button-active-b3a77616.js} +1 -1
  483. package/dist/esm/{data-ae11fd43.js → data-e73f49e1.js} +4 -4
  484. package/dist/esm/{hardware-back-button-329c81fd.js → hardware-back-button-7e31a4ae.js} +2 -2
  485. package/dist/esm/{index-5cc724f3.js → index-55408470.js} +1 -1
  486. package/dist/esm/{index-10916999.js → index-8137ebe0.js} +9 -8
  487. package/dist/esm/{index-6e4709ff.js → index-a19e0b91.js} +1 -1
  488. package/dist/esm/{index-f1f5de26.js → index-bf81c266.js} +3 -3
  489. package/dist/esm/index.js +8 -9
  490. package/dist/esm/{input-shims-4530285e.js → input-shims-8453cb67.js} +3 -2
  491. package/dist/esm/{input.utils-09c71bc7.js → input.utils-8bf2cdac.js} +1 -1
  492. package/dist/esm/ion-accordion_2.entry.js +18 -11
  493. package/dist/esm/ion-action-sheet.entry.js +15 -11
  494. package/dist/esm/ion-alert.entry.js +16 -13
  495. package/dist/esm/ion-app_8.entry.js +69 -50
  496. package/dist/esm/ion-avatar_3.entry.js +22 -8
  497. package/dist/esm/ion-back-button.entry.js +12 -8
  498. package/dist/esm/ion-backdrop.entry.js +9 -5
  499. package/dist/esm/ion-breadcrumb_2.entry.js +19 -11
  500. package/dist/esm/ion-button_2.entry.js +41 -12
  501. package/dist/esm/ion-card_5.entry.js +48 -24
  502. package/dist/esm/ion-checkbox.entry.js +14 -10
  503. package/dist/esm/ion-chip.entry.js +15 -6
  504. package/dist/esm/ion-col_3.entry.js +14 -11
  505. package/dist/esm/ion-datetime-button.entry.js +11 -8
  506. package/dist/esm/ion-datetime_3.entry.js +36 -31
  507. package/dist/esm/ion-fab_3.entry.js +18 -14
  508. package/dist/esm/ion-img.entry.js +6 -3
  509. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -14
  510. package/dist/esm/ion-input-password-toggle.entry.js +2 -3
  511. package/dist/esm/ion-input.entry.js +18 -15
  512. package/dist/esm/ion-item-option_3.entry.js +22 -15
  513. package/dist/esm/ion-item_8.entry.js +64 -36
  514. package/dist/esm/ion-loading.entry.js +13 -10
  515. package/dist/esm/ion-menu_3.entry.js +26 -19
  516. package/dist/esm/ion-modal.entry.js +15 -12
  517. package/dist/esm/ion-nav_2.entry.js +9 -7
  518. package/dist/esm/ion-picker-column-option.entry.js +10 -6
  519. package/dist/esm/ion-picker-column.entry.js +7 -7
  520. package/dist/esm/ion-picker.entry.js +7 -3
  521. package/dist/esm/ion-popover.entry.js +15 -12
  522. package/dist/esm/ion-progress-bar.entry.js +9 -5
  523. package/dist/esm/ion-radio_2.entry.js +15 -9
  524. package/dist/esm/ion-range.entry.js +12 -9
  525. package/dist/esm/ion-refresher_2.entry.js +18 -14
  526. package/dist/esm/ion-reorder_2.entry.js +15 -10
  527. package/dist/esm/ion-ripple-effect.entry.js +5 -5
  528. package/dist/esm/ion-route_4.entry.js +6 -6
  529. package/dist/esm/ion-searchbar.entry.js +16 -12
  530. package/dist/esm/ion-segment_2.entry.js +19 -11
  531. package/dist/esm/ion-select_3.entry.js +37 -24
  532. package/dist/esm/ion-spinner.entry.js +7 -7
  533. package/dist/esm/ion-split-pane.entry.js +11 -7
  534. package/dist/esm/ion-tab-bar_2.entry.js +18 -10
  535. package/dist/esm/ion-tab_2.entry.js +4 -4
  536. package/dist/esm/ion-text.entry.js +6 -6
  537. package/dist/esm/ion-textarea.entry.js +14 -11
  538. package/dist/esm/ion-toast.entry.js +16 -12
  539. package/dist/esm/ion-toggle.entry.js +17 -13
  540. package/dist/esm/ionic-global-ccd91ba4.js +401 -0
  541. package/dist/esm/ionic.js +6 -6
  542. package/dist/esm/{ios.transition-8e181a7e.js → ios.transition-b169aa46.js} +3 -2
  543. package/dist/esm/loader.js +5 -5
  544. package/dist/esm/{md.transition-f1c3c737.js → md.transition-ecde7aa6.js} +2 -2
  545. package/dist/esm/{overlays-9472c98b.js → overlays-7125a1f5.js} +2 -3
  546. package/dist/esm/{status-tap-39da9160.js → status-tap-6bfbede6.js} +3 -3
  547. package/dist/esm-es5/app-globals-6b65a082.js +4 -0
  548. package/dist/esm-es5/{button-active-a411da52.js → button-active-b3a77616.js} +1 -1
  549. package/dist/esm-es5/data-e73f49e1.js +4 -0
  550. package/dist/esm-es5/{hardware-back-button-329c81fd.js → hardware-back-button-7e31a4ae.js} +1 -1
  551. package/dist/esm-es5/index-55408470.js +4 -0
  552. package/dist/esm-es5/index-8137ebe0.js +4 -0
  553. package/dist/esm-es5/{index-6e4709ff.js → index-a19e0b91.js} +1 -1
  554. package/dist/esm-es5/{index-f1f5de26.js → index-bf81c266.js} +1 -1
  555. package/dist/esm-es5/index.js +1 -1
  556. package/dist/esm-es5/input-shims-8453cb67.js +4 -0
  557. package/dist/esm-es5/input.utils-8bf2cdac.js +4 -0
  558. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  559. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  560. package/dist/esm-es5/ion-alert.entry.js +1 -1
  561. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  562. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  563. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  564. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  565. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  566. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  567. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  568. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  569. package/dist/esm-es5/ion-chip.entry.js +1 -1
  570. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  571. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  572. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  573. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  574. package/dist/esm-es5/ion-img.entry.js +1 -1
  575. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  576. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  577. package/dist/esm-es5/ion-input.entry.js +1 -1
  578. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  579. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  580. package/dist/esm-es5/ion-loading.entry.js +1 -1
  581. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  582. package/dist/esm-es5/ion-modal.entry.js +1 -1
  583. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  584. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  585. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  586. package/dist/esm-es5/ion-picker.entry.js +1 -1
  587. package/dist/esm-es5/ion-popover.entry.js +1 -1
  588. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  589. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  590. package/dist/esm-es5/ion-range.entry.js +1 -1
  591. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  592. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  593. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  594. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  595. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  596. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  597. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  598. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  599. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  600. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  601. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  602. package/dist/esm-es5/ion-text.entry.js +1 -1
  603. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  604. package/dist/esm-es5/ion-toast.entry.js +1 -1
  605. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  606. package/dist/esm-es5/ionic-global-ccd91ba4.js +4 -0
  607. package/dist/esm-es5/ionic.js +1 -1
  608. package/dist/esm-es5/ios.transition-b169aa46.js +4 -0
  609. package/dist/esm-es5/loader.js +1 -1
  610. package/dist/esm-es5/md.transition-ecde7aa6.js +4 -0
  611. package/dist/esm-es5/overlays-7125a1f5.js +4 -0
  612. package/dist/esm-es5/status-tap-6bfbede6.js +4 -0
  613. package/dist/html.html-data.json +1937 -112
  614. package/dist/ionic/index.esm.js +1 -1
  615. package/dist/ionic/ionic.esm.js +1 -1
  616. package/dist/ionic/ionic.js +1 -1
  617. package/dist/ionic/p-00e85b08.js +4 -0
  618. package/dist/ionic/p-0350ac97.entry.js +4 -0
  619. package/dist/ionic/p-0530664b.system.entry.js +4 -0
  620. package/dist/ionic/p-053d229a.system.js +4 -0
  621. package/dist/ionic/{p-4dd82d9d.system.js → p-077ebefa.system.js} +1 -1
  622. package/dist/ionic/p-0817ca20.system.js +4 -0
  623. package/dist/ionic/{p-1361399b.system.entry.js → p-09e29b0f.system.entry.js} +1 -1
  624. package/dist/ionic/{p-be9f56eb.entry.js → p-0cbb7a38.entry.js} +1 -1
  625. package/dist/ionic/p-11e56c60.system.entry.js +4 -0
  626. package/dist/ionic/{p-61aa1ba6.entry.js → p-13aa82f5.entry.js} +1 -1
  627. package/dist/ionic/p-142da19d.entry.js +4 -0
  628. package/dist/ionic/{p-3040730e.js → p-17f4c151.js} +1 -1
  629. package/dist/ionic/{p-d60342e3.js → p-1b039c87.js} +1 -1
  630. package/dist/ionic/p-1d59a829.system.entry.js +4 -0
  631. package/dist/ionic/p-1d5b3dfa.system.entry.js +4 -0
  632. package/dist/ionic/{p-0c06e09b.system.js → p-1d608fb3.system.js} +1 -1
  633. package/dist/ionic/p-1edfc09d.entry.js +4 -0
  634. package/dist/ionic/p-1f2ce987.system.entry.js +4 -0
  635. package/dist/ionic/p-1f3dedb0.system.entry.js +4 -0
  636. package/dist/ionic/p-1fcfcb94.js +4 -0
  637. package/dist/ionic/p-202b8a88.system.entry.js +4 -0
  638. package/dist/ionic/p-206a256a.system.entry.js +4 -0
  639. package/dist/ionic/{p-71215c1d.system.js → p-2172efcb.system.js} +1 -1
  640. package/dist/ionic/p-22c4f5bb.entry.js +4 -0
  641. package/dist/ionic/p-267e9b94.system.entry.js +4 -0
  642. package/dist/ionic/p-291414bd.entry.js +4 -0
  643. package/dist/ionic/{p-e350ab4a.entry.js → p-2bf0809c.entry.js} +1 -1
  644. package/dist/ionic/p-3079ca5b.entry.js +4 -0
  645. package/dist/ionic/p-31eb5a46.entry.js +4 -0
  646. package/dist/ionic/p-34abea66.entry.js +4 -0
  647. package/dist/ionic/p-3c1dd334.entry.js +4 -0
  648. package/dist/ionic/p-3d94bebf.system.entry.js +4 -0
  649. package/dist/ionic/p-3f073322.system.js +4 -0
  650. package/dist/ionic/p-42f77866.entry.js +4 -0
  651. package/dist/ionic/p-44874984.system.entry.js +4 -0
  652. package/dist/ionic/p-45153fb3.entry.js +4 -0
  653. package/dist/ionic/p-46647e3c.system.entry.js +4 -0
  654. package/dist/ionic/{p-96cc4814.js → p-4c463790.js} +1 -1
  655. package/dist/ionic/p-510c8716.entry.js +4 -0
  656. package/dist/ionic/p-52693118.system.entry.js +4 -0
  657. package/dist/ionic/p-52c88e28.system.entry.js +4 -0
  658. package/dist/ionic/p-541e2e0a.system.js +4 -0
  659. package/dist/ionic/p-57a2f03a.entry.js +4 -0
  660. package/dist/ionic/p-5a514e50.system.entry.js +4 -0
  661. package/dist/ionic/p-5acc896a.system.entry.js +4 -0
  662. package/dist/ionic/p-5bef1e83.js +4 -0
  663. package/dist/ionic/p-5e4ee3ae.system.entry.js +4 -0
  664. package/dist/ionic/p-656380fe.system.entry.js +4 -0
  665. package/dist/ionic/p-65fe9b29.system.entry.js +4 -0
  666. package/dist/ionic/p-696ea939.entry.js +4 -0
  667. package/dist/ionic/p-6bee0fd7.system.entry.js +4 -0
  668. package/dist/ionic/p-6d2aa487.entry.js +4 -0
  669. package/dist/ionic/p-73e3a38e.system.js +4 -0
  670. package/dist/ionic/p-7ac0170e.entry.js +4 -0
  671. package/dist/ionic/p-7c319cce.entry.js +4 -0
  672. package/dist/ionic/p-7ce8a9e9.entry.js +4 -0
  673. package/dist/ionic/p-7d83bc32.entry.js +4 -0
  674. package/dist/ionic/p-7faa544d.system.entry.js +4 -0
  675. package/dist/ionic/p-809dc691.system.js +4 -0
  676. package/dist/ionic/p-8154208e.system.entry.js +4 -0
  677. package/dist/ionic/p-8304afaa.js +4 -0
  678. package/dist/ionic/{p-784d54d4.entry.js → p-86f7af76.entry.js} +1 -1
  679. package/dist/ionic/p-899dfb1b.entry.js +4 -0
  680. package/dist/ionic/p-8ac9139d.entry.js +4 -0
  681. package/dist/ionic/p-8bbc7d87.entry.js +4 -0
  682. package/dist/ionic/p-8f03847e.system.entry.js +4 -0
  683. package/dist/ionic/p-9143716d.js +4 -0
  684. package/dist/ionic/p-95ee29b9.entry.js +4 -0
  685. package/dist/ionic/p-961f1af3.system.entry.js +4 -0
  686. package/dist/ionic/p-974415fe.entry.js +4 -0
  687. package/dist/ionic/p-993ee94e.system.entry.js +4 -0
  688. package/dist/ionic/p-9b13de79.js +4 -0
  689. package/dist/ionic/p-9c44a499.system.entry.js +4 -0
  690. package/dist/ionic/p-9d7495f9.entry.js +4 -0
  691. package/dist/ionic/p-9e3fc5c4.entry.js +4 -0
  692. package/dist/ionic/p-9e81053f.system.entry.js +4 -0
  693. package/dist/ionic/{p-c222f76a.js → p-a3e86f85.js} +1 -1
  694. package/dist/ionic/p-a4d1b5cc.js +4 -0
  695. package/dist/ionic/p-a6fbf92e.system.entry.js +4 -0
  696. package/dist/ionic/p-a7727720.system.entry.js +4 -0
  697. package/dist/ionic/p-a8cb924e.entry.js +4 -0
  698. package/dist/ionic/p-ae5ef403.js +4 -0
  699. package/dist/ionic/p-b1abddbc.system.entry.js +4 -0
  700. package/dist/ionic/{p-fb1ee785.system.entry.js → p-b2f88f88.system.entry.js} +1 -1
  701. package/dist/ionic/{p-0fad7a2d.system.entry.js → p-b54a266a.system.entry.js} +1 -1
  702. package/dist/ionic/p-b61a2062.js +4 -0
  703. package/dist/ionic/p-b68096c3.js +4 -0
  704. package/dist/ionic/p-b7d71411.entry.js +4 -0
  705. package/dist/ionic/p-b80ea7d0.system.entry.js +4 -0
  706. package/dist/ionic/{p-8370ef82.entry.js → p-ba96d07d.entry.js} +1 -1
  707. package/dist/ionic/p-bf7156f4.entry.js +4 -0
  708. package/dist/ionic/p-c1d8c615.entry.js +4 -0
  709. package/dist/ionic/p-c37f3748.system.entry.js +4 -0
  710. package/dist/ionic/{p-f687573e.system.js → p-c3db3abe.system.js} +1 -1
  711. package/dist/ionic/p-c78743ee.entry.js +4 -0
  712. package/dist/ionic/p-cb1a9f57.system.js +4 -0
  713. package/dist/ionic/p-cb40aff5.entry.js +4 -0
  714. package/dist/ionic/p-cc75f7ad.entry.js +4 -0
  715. package/dist/ionic/p-ccc12f7c.system.js +4 -0
  716. package/dist/ionic/p-cd0eff72.system.entry.js +4 -0
  717. package/dist/ionic/p-cfd8b74c.entry.js +4 -0
  718. package/dist/ionic/p-cfe0fdf6.system.entry.js +4 -0
  719. package/dist/ionic/p-d26ef51c.system.js +4 -0
  720. package/dist/ionic/p-d4fe6131.entry.js +4 -0
  721. package/dist/ionic/p-d9f7a464.entry.js +4 -0
  722. package/dist/ionic/p-dc36b00c.entry.js +4 -0
  723. package/dist/ionic/p-dde515cb.system.entry.js +4 -0
  724. package/dist/ionic/{p-64714af0.system.entry.js → p-dfe87e18.system.entry.js} +1 -1
  725. package/dist/ionic/p-e3cc9c09.entry.js +4 -0
  726. package/dist/ionic/p-e408b885.system.entry.js +4 -0
  727. package/dist/ionic/p-e41c7934.system.entry.js +4 -0
  728. package/dist/ionic/p-e5c0f7e6.system.entry.js +4 -0
  729. package/dist/ionic/p-eb0c6a8b.system.js +4 -0
  730. package/dist/ionic/p-eb3789c5.system.entry.js +4 -0
  731. package/dist/ionic/{p-74a9cafe.system.js → p-ed5175cf.system.js} +2 -2
  732. package/dist/ionic/p-edb5c9e0.system.entry.js +4 -0
  733. package/dist/ionic/p-eed178ea.system.js +4 -0
  734. package/dist/ionic/p-efb193d6.entry.js +4 -0
  735. package/dist/ionic/p-f091ca00.entry.js +4 -0
  736. package/dist/ionic/{p-95bc0add.system.entry.js → p-f12d95ef.system.entry.js} +2 -2
  737. package/dist/ionic/{p-240cac05.entry.js → p-f8f6cf70.entry.js} +1 -1
  738. package/dist/ionic/{p-d104ba38.system.entry.js → p-f91ea85e.system.entry.js} +1 -1
  739. package/dist/ionic/{p-9d9f20ce.system.entry.js → p-fb064a3d.system.entry.js} +1 -1
  740. package/dist/ionic/{p-9ad82dba.js → p-fc0aa455.js} +1 -1
  741. package/dist/ionic/p-fc1a4bbf.entry.js +4 -0
  742. package/dist/ionic/{p-c872fcd2.entry.js → p-fdf42961.entry.js} +1 -1
  743. package/dist/ionic/p-fdfb6054.system.js +4 -0
  744. package/dist/ionic/p-fe32eb3e.system.entry.js +4 -0
  745. package/dist/types/components/accordion/accordion.d.ts +2 -1
  746. package/dist/types/components/accordion-group/accordion-group.d.ts +2 -1
  747. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  748. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  749. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  750. package/dist/types/components/alert/alert.d.ts +3 -2
  751. package/dist/types/components/app/app.d.ts +4 -0
  752. package/dist/types/components/avatar/avatar.d.ts +4 -0
  753. package/dist/types/components/back-button/back-button.d.ts +2 -1
  754. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  755. package/dist/types/components/badge/badge.d.ts +2 -1
  756. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -1
  757. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  758. package/dist/types/components/button/button.d.ts +15 -4
  759. package/dist/types/components/buttons/buttons.d.ts +5 -1
  760. package/dist/types/components/card/card.d.ts +6 -1
  761. package/dist/types/components/card-content/card-content.d.ts +2 -1
  762. package/dist/types/components/card-header/card-header.d.ts +3 -2
  763. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  764. package/dist/types/components/card-title/card-title.d.ts +2 -1
  765. package/dist/types/components/checkbox/checkbox.d.ts +2 -1
  766. package/dist/types/components/chip/chip.d.ts +6 -1
  767. package/dist/types/components/col/col.d.ts +4 -0
  768. package/dist/types/components/content/content.d.ts +3 -0
  769. package/dist/types/components/datetime/datetime.d.ts +2 -1
  770. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  771. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  772. package/dist/types/components/fab/fab.d.ts +4 -0
  773. package/dist/types/components/fab-button/fab-button.d.ts +3 -2
  774. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  775. package/dist/types/components/footer/footer.d.ts +4 -3
  776. package/dist/types/components/grid/grid.d.ts +4 -0
  777. package/dist/types/components/header/header.d.ts +4 -3
  778. package/dist/types/components/img/img.d.ts +3 -0
  779. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  780. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  781. package/dist/types/components/input/input.d.ts +10 -3
  782. package/dist/types/components/item/item.d.ts +4 -3
  783. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  784. package/dist/types/components/item-group/item-group.d.ts +4 -0
  785. package/dist/types/components/item-option/item-option.d.ts +2 -1
  786. package/dist/types/components/item-options/item-options.d.ts +4 -0
  787. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  788. package/dist/types/components/label/label.d.ts +2 -1
  789. package/dist/types/components/list/list.d.ts +2 -1
  790. package/dist/types/components/list-header/list-header.d.ts +2 -1
  791. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  792. package/dist/types/components/loading/loading.d.ts +3 -2
  793. package/dist/types/components/menu/menu.d.ts +3 -0
  794. package/dist/types/components/menu-button/menu-button.d.ts +2 -1
  795. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  796. package/dist/types/components/modal/modal-interface.d.ts +3 -7
  797. package/dist/types/components/modal/modal.d.ts +2 -1
  798. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  799. package/dist/types/components/nav/nav.d.ts +5 -1
  800. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  801. package/dist/types/components/note/note.d.ts +2 -1
  802. package/dist/types/components/picker/picker.d.ts +2 -1
  803. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  804. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  805. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  806. package/dist/types/components/popover/popover-interface.d.ts +3 -7
  807. package/dist/types/components/popover/popover.d.ts +6 -5
  808. package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
  809. package/dist/types/components/radio/radio.d.ts +2 -1
  810. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  811. package/dist/types/components/range/range.d.ts +2 -1
  812. package/dist/types/components/refresher/refresher.d.ts +2 -1
  813. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  814. package/dist/types/components/reorder/reorder.d.ts +3 -0
  815. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  816. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  817. package/dist/types/components/route/route.d.ts +4 -0
  818. package/dist/types/components/router/router.d.ts +4 -0
  819. package/dist/types/components/router-link/router-link.d.ts +4 -0
  820. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  821. package/dist/types/components/row/row.d.ts +4 -0
  822. package/dist/types/components/searchbar/searchbar.d.ts +8 -7
  823. package/dist/types/components/segment/segment.d.ts +2 -1
  824. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  825. package/dist/types/components/select/select.d.ts +6 -5
  826. package/dist/types/components/select-option/select-option.d.ts +4 -0
  827. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  828. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  829. package/dist/types/components/spinner/spinner.d.ts +4 -0
  830. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  831. package/dist/types/components/tab/tab.d.ts +4 -0
  832. package/dist/types/components/tab-bar/tab-bar.d.ts +3 -2
  833. package/dist/types/components/tab-button/tab-button.d.ts +2 -1
  834. package/dist/types/components/tabs/tabs.d.ts +3 -0
  835. package/dist/types/components/text/text.d.ts +2 -1
  836. package/dist/types/components/textarea/textarea.d.ts +3 -2
  837. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  838. package/dist/types/components/title/title.d.ts +4 -0
  839. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  840. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  841. package/dist/types/components/toast/toast.d.ts +3 -2
  842. package/dist/types/components/toggle/toggle.d.ts +2 -1
  843. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  844. package/dist/types/components.d.ts +1206 -166
  845. package/dist/types/global/ionic-global.d.ts +25 -2
  846. package/dist/types/interface.d.ts +3 -0
  847. package/dist/types/utils/config.d.ts +17 -2
  848. package/dist/types/utils/overlays-interface.d.ts +31 -1
  849. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  850. package/hydrate/index.js +1191 -522
  851. package/package.json +5 -3
  852. package/components/index9.js +0 -167
  853. package/dist/cjs/index-5915f9b3.js +0 -38
  854. package/dist/cjs/ionic-global-1adf9bc4.js +0 -230
  855. package/dist/collection/components/button/test/round/button.e2e.js +0 -52
  856. package/dist/esm/index-9b0d46f4.js +0 -34
  857. package/dist/esm/ionic-global-c4e0c089.js +0 -224
  858. package/dist/esm-es5/app-globals-b8e5e7fa.js +0 -4
  859. package/dist/esm-es5/data-ae11fd43.js +0 -4
  860. package/dist/esm-es5/index-10916999.js +0 -4
  861. package/dist/esm-es5/index-5cc724f3.js +0 -4
  862. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  863. package/dist/esm-es5/input-shims-4530285e.js +0 -4
  864. package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
  865. package/dist/esm-es5/ionic-global-c4e0c089.js +0 -4
  866. package/dist/esm-es5/ios.transition-8e181a7e.js +0 -4
  867. package/dist/esm-es5/md.transition-f1c3c737.js +0 -4
  868. package/dist/esm-es5/overlays-9472c98b.js +0 -4
  869. package/dist/esm-es5/status-tap-39da9160.js +0 -4
  870. package/dist/ionic/p-06e58c4e.js +0 -4
  871. package/dist/ionic/p-06fee233.js +0 -4
  872. package/dist/ionic/p-07c88a2e.entry.js +0 -4
  873. package/dist/ionic/p-0d189eaf.entry.js +0 -4
  874. package/dist/ionic/p-105f7d62.system.entry.js +0 -4
  875. package/dist/ionic/p-10ad2148.system.entry.js +0 -4
  876. package/dist/ionic/p-14700c11.system.entry.js +0 -4
  877. package/dist/ionic/p-159a5b6a.system.entry.js +0 -4
  878. package/dist/ionic/p-16dc1af8.entry.js +0 -4
  879. package/dist/ionic/p-17050343.system.entry.js +0 -4
  880. package/dist/ionic/p-18609ea3.system.entry.js +0 -4
  881. package/dist/ionic/p-1b235142.entry.js +0 -4
  882. package/dist/ionic/p-1bd294a2.entry.js +0 -4
  883. package/dist/ionic/p-23a94a8e.system.entry.js +0 -4
  884. package/dist/ionic/p-23b89985.entry.js +0 -4
  885. package/dist/ionic/p-23e0649d.entry.js +0 -4
  886. package/dist/ionic/p-25575222.system.js +0 -4
  887. package/dist/ionic/p-266fc56e.system.js +0 -4
  888. package/dist/ionic/p-2d5e919f.entry.js +0 -4
  889. package/dist/ionic/p-2f6cedaf.system.entry.js +0 -4
  890. package/dist/ionic/p-3001b2f5.entry.js +0 -4
  891. package/dist/ionic/p-34272b1f.system.entry.js +0 -4
  892. package/dist/ionic/p-37ed0807.system.entry.js +0 -4
  893. package/dist/ionic/p-3c70b01b.entry.js +0 -4
  894. package/dist/ionic/p-3d72cae3.entry.js +0 -4
  895. package/dist/ionic/p-3f70bfba.entry.js +0 -4
  896. package/dist/ionic/p-4264f999.system.entry.js +0 -4
  897. package/dist/ionic/p-46111310.js +0 -4
  898. package/dist/ionic/p-4665ab20.entry.js +0 -4
  899. package/dist/ionic/p-46f407f0.system.js +0 -4
  900. package/dist/ionic/p-4861159f.entry.js +0 -4
  901. package/dist/ionic/p-4a615fea.entry.js +0 -4
  902. package/dist/ionic/p-4e6ddce7.entry.js +0 -4
  903. package/dist/ionic/p-4e802677.entry.js +0 -4
  904. package/dist/ionic/p-5033128d.system.js +0 -4
  905. package/dist/ionic/p-510578f3.system.entry.js +0 -4
  906. package/dist/ionic/p-512cdc37.entry.js +0 -4
  907. package/dist/ionic/p-51ff648c.entry.js +0 -4
  908. package/dist/ionic/p-5278521a.system.entry.js +0 -4
  909. package/dist/ionic/p-546433d2.js +0 -4
  910. package/dist/ionic/p-54f52179.system.entry.js +0 -4
  911. package/dist/ionic/p-54f76ced.js +0 -4
  912. package/dist/ionic/p-55d7edd7.entry.js +0 -4
  913. package/dist/ionic/p-56c3b69c.entry.js +0 -4
  914. package/dist/ionic/p-587643a6.system.entry.js +0 -4
  915. package/dist/ionic/p-5e7c32e8.system.entry.js +0 -4
  916. package/dist/ionic/p-5eafecd8.entry.js +0 -4
  917. package/dist/ionic/p-65e0d04e.system.entry.js +0 -4
  918. package/dist/ionic/p-6994c97a.js +0 -4
  919. package/dist/ionic/p-69c8ec2a.system.entry.js +0 -4
  920. package/dist/ionic/p-6a7eac5a.js +0 -4
  921. package/dist/ionic/p-6c3c02d4.entry.js +0 -4
  922. package/dist/ionic/p-715d10d2.system.entry.js +0 -4
  923. package/dist/ionic/p-71688099.system.entry.js +0 -4
  924. package/dist/ionic/p-727255c2.entry.js +0 -4
  925. package/dist/ionic/p-75cddcc9.js +0 -4
  926. package/dist/ionic/p-7820f3ab.system.entry.js +0 -4
  927. package/dist/ionic/p-7d9eefb3.system.js +0 -4
  928. package/dist/ionic/p-81c91374.entry.js +0 -4
  929. package/dist/ionic/p-8337ce33.system.entry.js +0 -4
  930. package/dist/ionic/p-83b6da7c.system.entry.js +0 -4
  931. package/dist/ionic/p-88cff52d.entry.js +0 -4
  932. package/dist/ionic/p-8a6e15fc.system.entry.js +0 -4
  933. package/dist/ionic/p-8b19c120.entry.js +0 -4
  934. package/dist/ionic/p-8bbc7271.entry.js +0 -4
  935. package/dist/ionic/p-8e2368ae.system.entry.js +0 -4
  936. package/dist/ionic/p-92210d07.entry.js +0 -4
  937. package/dist/ionic/p-9a45140d.system.entry.js +0 -4
  938. package/dist/ionic/p-9ce13bcc.entry.js +0 -4
  939. package/dist/ionic/p-9d7fc908.system.js +0 -4
  940. package/dist/ionic/p-9e8cf5a2.system.entry.js +0 -4
  941. package/dist/ionic/p-9ea607bd.system.js +0 -4
  942. package/dist/ionic/p-a70c90d8.entry.js +0 -4
  943. package/dist/ionic/p-a7ba2dcc.system.js +0 -4
  944. package/dist/ionic/p-a8f02173.system.js +0 -4
  945. package/dist/ionic/p-aa4f2703.system.entry.js +0 -4
  946. package/dist/ionic/p-ac4e2a74.system.entry.js +0 -4
  947. package/dist/ionic/p-ac6dd92b.system.entry.js +0 -4
  948. package/dist/ionic/p-aeb5a22b.system.entry.js +0 -4
  949. package/dist/ionic/p-b75155ca.entry.js +0 -4
  950. package/dist/ionic/p-bb835b4d.system.entry.js +0 -4
  951. package/dist/ionic/p-bf4609f9.system.entry.js +0 -4
  952. package/dist/ionic/p-c06e1332.system.entry.js +0 -4
  953. package/dist/ionic/p-c373bd37.system.entry.js +0 -4
  954. package/dist/ionic/p-c389d18c.entry.js +0 -4
  955. package/dist/ionic/p-c80d05c9.js +0 -4
  956. package/dist/ionic/p-c8db6adb.entry.js +0 -4
  957. package/dist/ionic/p-c99ccdc9.entry.js +0 -4
  958. package/dist/ionic/p-cae889f9.entry.js +0 -4
  959. package/dist/ionic/p-cec3bebe.entry.js +0 -4
  960. package/dist/ionic/p-d2544865.system.js +0 -4
  961. package/dist/ionic/p-d2b175d3.entry.js +0 -4
  962. package/dist/ionic/p-d5f48185.system.entry.js +0 -4
  963. package/dist/ionic/p-d68569fe.system.entry.js +0 -4
  964. package/dist/ionic/p-d79542bd.system.js +0 -4
  965. package/dist/ionic/p-d8ebc853.system.entry.js +0 -4
  966. package/dist/ionic/p-de3c33f3.entry.js +0 -4
  967. package/dist/ionic/p-ea4be6ac.system.js +0 -4
  968. package/dist/ionic/p-ea6f36fb.system.entry.js +0 -4
  969. package/dist/ionic/p-f4cb521c.js +0 -4
  970. package/dist/ionic/p-f6f4f694.entry.js +0 -4
  971. package/dist/ionic/p-f94cbfe9.js +0 -4
  972. package/dist/ionic/p-f96f7d38.entry.js +0 -4
  973. package/dist/ionic/p-fab4ecad.system.entry.js +0 -4
  974. package/dist/ionic/p-fb16b850.system.entry.js +0 -4
  975. package/dist/ionic/p-ff4b7e40.system.js +0 -4
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -326,11 +332,12 @@ ion-ripple-effect {
326
332
  color: var(--ion-toolbar-background, var(--color));
327
333
  }
328
334
 
329
- :host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native {
330
- background: var(--ion-toolbar-color, var(--color));
331
- color: var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff));
332
- }
333
-
335
+ /**
336
+ * Convert a pixels given value into rem
337
+ *
338
+ * @param pixels - Value in pixels to be converted (i.e. px)
339
+ * @param context (optional) - Baseline value
340
+ */
334
341
  /**
335
342
  * Convert a font size to a dynamic font size.
336
343
  * Fonts that participate in Dynamic Type should use
@@ -386,6 +393,12 @@ ion-ripple-effect {
386
393
  * }
387
394
  * }
388
395
  */
396
+ /**
397
+ * Convert a pixels given value into rem
398
+ *
399
+ * @param pixels - Value in pixels to be converted (i.e. px)
400
+ * @param context (optional) - Baseline value
401
+ */
389
402
  /**
390
403
  * Convert a font size to a dynamic font size.
391
404
  * Fonts that participate in Dynamic Type should use
@@ -442,7 +455,6 @@ ion-ripple-effect {
442
455
  * }
443
456
  */
444
457
  :host {
445
- --border-radius: 14px;
446
458
  --padding-top: 13px;
447
459
  --padding-bottom: 13px;
448
460
  --padding-start: 1em;
@@ -470,7 +482,6 @@ ion-ripple-effect {
470
482
  }
471
483
 
472
484
  :host(.button-outline) {
473
- --border-radius: 14px;
474
485
  --border-width: 1px;
475
486
  --border-style: solid;
476
487
  --background-activated: var(--ion-color-primary, #0054e9);
@@ -525,6 +536,10 @@ ion-ripple-effect {
525
536
  font-size: min(0.8125rem, 39px);
526
537
  }
527
538
 
539
+ :host(.button-soft) {
540
+ --border-radius: 14px;
541
+ }
542
+
528
543
  :host(.button-round) {
529
544
  --border-radius: 999px;
530
545
  --padding-top: 0;
@@ -533,6 +548,10 @@ ion-ripple-effect {
533
548
  --padding-bottom: 0;
534
549
  }
535
550
 
551
+ :host(.button-rectangular) {
552
+ --border-radius: 0;
553
+ }
554
+
536
555
  :host(.button-strong) {
537
556
  font-weight: 600;
538
557
  }
@@ -547,7 +566,20 @@ ion-ripple-effect {
547
566
  }
548
567
 
549
568
  ::slotted(ion-icon[slot=icon-only]) {
550
- font-size: 1.125em;
569
+ /**
570
+ * The values were provided through a native iOS app.
571
+ * min font size: 15px, default font size: 18px, max font size: 43px
572
+ *
573
+ * Since the `ion-button` uses `rem` for the font size, we can't
574
+ * just pass the desired icon font size in `em` to the `
575
+ * dynamic-font-clamp`. Instead, we need to adjust the base size
576
+ * to account for the ion-button` font size.
577
+ *
578
+ * For example, if the default font size of `ion-button` is 16px
579
+ * (derived from rem), then the base size can use the default font
580
+ * size of the icon.
581
+ */
582
+ font-size: clamp(15.12px, 1.125em, 43.02px);
551
583
  }
552
584
 
553
585
  :host(.button-small.button-has-icon-only) {
@@ -556,7 +588,20 @@ ion-ripple-effect {
556
588
  }
557
589
 
558
590
  :host(.button-small) ::slotted(ion-icon[slot=icon-only]) {
559
- font-size: 1.4em;
591
+ /**
592
+ * The values were provided through a native iOS app.
593
+ * min font size: 12px, default font size: 17px, max font size: 40px
594
+ *
595
+ * Since the `ion-button` uses `rem` for the font size, we can't
596
+ * just pass the desired icon font size in `em` to the `
597
+ * dynamic-font-clamp`. Instead, we need to adjust the base size
598
+ * to account for the ion-button` font size.
599
+ *
600
+ * For example, if the default font size of `ion-button` is 13px
601
+ * (derived from rem) and the default font size of the icon is
602
+ * 17px, then the base size would need to be increased.
603
+ */
604
+ font-size: clamp(12.1394px, 1.308125em, 40.1856px);
560
605
  }
561
606
 
562
607
  :host(.button-large.button-has-icon-only) {
@@ -565,7 +610,20 @@ ion-ripple-effect {
565
610
  }
566
611
 
567
612
  :host(.button-large) ::slotted(ion-icon[slot=icon-only]) {
568
- font-size: 1em;
613
+ /**
614
+ * The values were provided through a native iOS app.
615
+ * min font size: 15px, default font size: 18px, max font size: 43px
616
+ *
617
+ * Since the `ion-button` uses `rem` for the font size, we can't
618
+ * just pass the desired icon font size in `em` to the `
619
+ * dynamic-font-clamp`. Instead, we need to adjust the base size
620
+ * to account for the ion-button` font size.
621
+ *
622
+ * For example, if the default font size of `ion-button` is 20px
623
+ * (derived from rem) and the default font size of the icon is
624
+ * 18px, then the base size would need to be decreased.
625
+ */
626
+ font-size: clamp(15.12px, 0.9em, 43.056px);
569
627
  }
570
628
 
571
629
  :host(.button-outline.ion-focused.ion-color) .button-native,
@@ -615,4 +673,9 @@ ion-ripple-effect {
615
673
 
616
674
  :host(.button-solid.ion-color.ion-activated) .button-native::after {
617
675
  background: var(--ion-color-shade);
676
+ }
677
+
678
+ :host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native {
679
+ background: var(--ion-toolbar-color, var(--color));
680
+ color: var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff));
618
681
  }
@@ -5,9 +5,10 @@ import { Host, h } from "@stencil/core";
5
5
  import { inheritAriaAttributes, hasShadowDom } from "../../utils/helpers";
6
6
  import { printIonWarning } from "../../utils/logging/index";
7
7
  import { createColorClasses, hostContext, openURL } from "../../utils/theme";
8
- import { getIonMode } from "../../global/ionic-global";
8
+ import { getIonTheme } from "../../global/ionic-global";
9
9
  /**
10
- * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
10
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
11
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
11
12
  *
12
13
  * @slot - Content is placed between the named slots if provided without a slot.
13
14
  * @slot icon-only - Should be used on an icon in a button that has no text.
@@ -121,6 +122,31 @@ export class Button {
121
122
  }
122
123
  return 'bounded';
123
124
  }
125
+ /**
126
+ * Set the default shape for the different themes
127
+ */
128
+ getShape() {
129
+ const theme = getIonTheme(this);
130
+ const { shape } = this;
131
+ if (shape === undefined) {
132
+ return theme === 'md' ? 'round' : 'soft';
133
+ }
134
+ return shape;
135
+ }
136
+ /**
137
+ * Disable the "xsmall" and "xlarge" sizes if the theme is "ios" or "md"
138
+ */
139
+ getSize() {
140
+ const theme = getIonTheme(this);
141
+ const { size } = this;
142
+ if (size === undefined && this.inItem) {
143
+ return 'small';
144
+ }
145
+ if ((theme === 'ios' || theme === 'md') && (size === 'xsmall' || size === 'xlarge')) {
146
+ return undefined;
147
+ }
148
+ return size;
149
+ }
124
150
  /**
125
151
  * Finds the form element based on the provided `form` selector
126
152
  * or element reference provided.
@@ -181,9 +207,10 @@ export class Button {
181
207
  }
182
208
  }
183
209
  render() {
184
- const mode = getIonMode(this);
185
- const { buttonType, type, disabled, rel, target, size, href, color, expand, hasIconOnly, shape, strong, inheritedAttributes, } = this;
186
- const finalSize = size === undefined && this.inItem ? 'small' : size;
210
+ const { buttonType, type, disabled, rel, target, href, color, expand, hasIconOnly, strong, inheritedAttributes, } = this;
211
+ const theme = getIonTheme(this);
212
+ const finalSize = this.getSize();
213
+ const finalShape = this.getShape();
187
214
  const TagType = href === undefined ? 'button' : 'a';
188
215
  const attrs = TagType === 'button'
189
216
  ? { type }
@@ -211,12 +238,12 @@ export class Button {
211
238
  {
212
239
  type !== 'button' && this.renderHiddenButton();
213
240
  }
214
- return (h(Host, { key: 'e926c8ca019c15a5fdf5ac95632f78d8b791fba0', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
215
- [mode]: true,
241
+ return (h(Host, { key: 'a617b87f2b073237dc320d5d54f6546e1e75a84a', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
242
+ [theme]: true,
216
243
  [buttonType]: true,
217
244
  [`${buttonType}-${expand}`]: expand !== undefined,
218
245
  [`${buttonType}-${finalSize}`]: finalSize !== undefined,
219
- [`${buttonType}-${shape}`]: shape !== undefined,
246
+ [`${buttonType}-${finalShape}`]: finalShape !== undefined,
220
247
  [`${buttonType}-${fill}`]: true,
221
248
  [`${buttonType}-strong`]: strong,
222
249
  'in-toolbar': hostContext('ion-toolbar', this.el),
@@ -226,20 +253,22 @@ export class Button {
226
253
  'button-disabled': disabled,
227
254
  'ion-activatable': true,
228
255
  'ion-focusable': true,
229
- }) }, h(TagType, Object.assign({ key: 'e964fd7945ff046464a98e6148256b8bb12b07a8' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), h("span", { key: '5eac1c991616ead47b6b7f5ab095dc25831633ad', class: "button-inner" }, h("slot", { key: '8383cfaa82e50dddff7dfe82ca6e1bcb3328871b', name: "icon-only", onSlotchange: this.slotChanged }), h("slot", { key: '423445d26533850b86171095f431caab437ff4f3', name: "start" }), h("slot", { key: 'dcbdc7c3f827e01b8e3792272b72a13e2d99c179' }), h("slot", { key: '9c345224e1d415cfa96460f94626d9bcf49d3829', name: "end" })), mode === 'md' && h("ion-ripple-effect", { type: this.rippleType }))));
256
+ }) }, h(TagType, Object.assign({ key: 'c93f174f741dddf2b05793a26e764b8e72610fcc' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), h("span", { key: '32661f4837b88933430ecf54b61f06652212a3c4', class: "button-inner" }, h("slot", { key: 'eb98cb4d847d2d356874ab7e135470ffdd50e59e', name: "icon-only", onSlotchange: this.slotChanged }), h("slot", { key: 'c63eae76b45846b166eb33d538f26bee514d8d82', name: "start" }), h("slot", { key: '03ca5fa2a7e6a2067fcb4640ab9b87b177849a13' }), h("slot", { key: 'bfc97d2ddf6b1a2eb80e2a755a60bc1c67047492', name: "end" })), theme === 'md' && h("ion-ripple-effect", { type: this.rippleType }))));
230
257
  }
231
258
  static get is() { return "ion-button"; }
232
259
  static get encapsulation() { return "shadow"; }
233
260
  static get originalStyleUrls() {
234
261
  return {
235
262
  "ios": ["button.ios.scss"],
236
- "md": ["button.md.scss"]
263
+ "md": ["button.md.scss"],
264
+ "ionic": ["button.ionic.scss"]
237
265
  };
238
266
  }
239
267
  static get styleUrls() {
240
268
  return {
241
269
  "ios": ["button.ios.css"],
242
- "md": ["button.md.css"]
270
+ "md": ["button.md.css"],
271
+ "ionic": ["button.ionic.css"]
243
272
  };
244
273
  }
245
274
  static get properties() {
@@ -437,15 +466,15 @@ export class Button {
437
466
  "type": "string",
438
467
  "mutable": false,
439
468
  "complexType": {
440
- "original": "'round'",
441
- "resolved": "\"round\" | undefined",
469
+ "original": "'soft' | 'round' | 'rectangular'",
470
+ "resolved": "\"rectangular\" | \"round\" | \"soft\" | undefined",
442
471
  "references": {}
443
472
  },
444
473
  "required": false,
445
474
  "optional": true,
446
475
  "docs": {
447
476
  "tags": [],
448
- "text": "Set to `\"round\"` for a button with more rounded corners."
477
+ "text": "Set to `\"soft\"` for a button with soft rounded corners, `\"round\"` for a button\nwith fully rounded corners, or `\"rectangular\" for a button without rounded corners.\nDefaults to `\"soft\"` for the `\"ios`\" and `\"ionic\"` themes and `\"round\"` for the `\"md\"` theme."
449
478
  },
450
479
  "attribute": "shape",
451
480
  "reflect": true
@@ -454,8 +483,8 @@ export class Button {
454
483
  "type": "string",
455
484
  "mutable": false,
456
485
  "complexType": {
457
- "original": "'small' | 'default' | 'large'",
458
- "resolved": "\"default\" | \"large\" | \"small\" | undefined",
486
+ "original": "'xsmall' | 'small' | 'default' | 'large' | 'xlarge'",
487
+ "resolved": "\"default\" | \"large\" | \"small\" | \"xlarge\" | \"xsmall\" | undefined",
459
488
  "references": {}
460
489
  },
461
490
  "required": false,
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -326,11 +332,12 @@ ion-ripple-effect {
326
332
  color: var(--ion-toolbar-background, var(--color));
327
333
  }
328
334
 
329
- :host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native {
330
- background: var(--ion-toolbar-color, var(--color));
331
- color: var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff));
332
- }
333
-
335
+ /**
336
+ * Convert a pixels given value into rem
337
+ *
338
+ * @param pixels - Value in pixels to be converted (i.e. px)
339
+ * @param context (optional) - Baseline value
340
+ */
334
341
  /**
335
342
  * Convert a font size to a dynamic font size.
336
343
  * Fonts that participate in Dynamic Type should use
@@ -387,7 +394,6 @@ ion-ripple-effect {
387
394
  * }
388
395
  */
389
396
  :host {
390
- --border-radius: 4px;
391
397
  --padding-top: 8px;
392
398
  --padding-bottom: 8px;
393
399
  --padding-start: 1.1em;
@@ -447,6 +453,10 @@ ion-ripple-effect {
447
453
  --background-hover-opacity: .04;
448
454
  }
449
455
 
456
+ :host(.button-soft) {
457
+ --border-radius: 4px;
458
+ }
459
+
450
460
  :host(.button-round) {
451
461
  --border-radius: 999px;
452
462
  --padding-top: 0;
@@ -455,6 +465,10 @@ ion-ripple-effect {
455
465
  --padding-bottom: 0;
456
466
  }
457
467
 
468
+ :host(.button-rectangular) {
469
+ --border-radius: 0;
470
+ }
471
+
458
472
  :host(.button-large) {
459
473
  --padding-top: 14px;
460
474
  --padding-start: 1em;
@@ -487,7 +501,21 @@ ion-ripple-effect {
487
501
  }
488
502
 
489
503
  ::slotted(ion-icon[slot=icon-only]) {
490
- font-size: 1.6em;
504
+ /**
505
+ * The values were provided through MD design,
506
+ * large and small are based on the iOS sizes.
507
+ * min font size: 15px, default font size: 22.4px, max font size: 43px
508
+ *
509
+ * Since the `ion-button` uses `rem` for the font size, we can't
510
+ * just pass the desired icon font size in `em` to the `
511
+ * dynamic-font-clamp`. Instead, we need to adjust the base size
512
+ * to account for the ion-button` font size.
513
+ *
514
+ * For example, if the default font size of `ion-button` is 14px
515
+ * (derived from rem) and the default font size of the icon is
516
+ * 22.4px, then the base size would need to be increased.
517
+ */
518
+ font-size: clamp(15.104px, 1.6em, 43.008px);
491
519
  }
492
520
 
493
521
  :host(.button-small.button-has-icon-only) {
@@ -496,7 +524,21 @@ ion-ripple-effect {
496
524
  }
497
525
 
498
526
  :host(.button-small) ::slotted(ion-icon[slot=icon-only]) {
499
- font-size: 1.23em;
527
+ /**
528
+ * The values were provided through MD design,
529
+ * large and small are based on the iOS sizes.
530
+ * min font size: 12px, default font size: 16px, max font size: 40px
531
+ *
532
+ * Since the `ion-button` uses `rem` for the font size, we can't
533
+ * just pass the desired icon font size in `em` to the `
534
+ * dynamic-font-clamp`. Instead, we need to adjust the base size
535
+ * to account for the ion-button` font size.
536
+ *
537
+ * For example, if the default font size of `ion-button` is 13px
538
+ * (derived from rem) and the default font size of the icon is
539
+ * 16px, then the base size would need to be increased.
540
+ */
541
+ font-size: clamp(13.002px, 1.23125em, 40.385px);
500
542
  }
501
543
 
502
544
  :host(.button-large.button-has-icon-only) {
@@ -505,7 +547,21 @@ ion-ripple-effect {
505
547
  }
506
548
 
507
549
  :host(.button-large) ::slotted(ion-icon[slot=icon-only]) {
508
- font-size: 1.4em;
550
+ /**
551
+ * The values were provided through MD design,
552
+ * large and small are based on the iOS sizes.
553
+ * min font size: 15px, default font size: 28px, max font size: 43px
554
+ *
555
+ * Since the `ion-button` uses `rem` for the font size, we can't
556
+ * just pass the desired icon font size in `em` to the `
557
+ * dynamic-font-clamp`. Instead, we need to adjust the base size
558
+ * to account for the ion-button` font size.
559
+ *
560
+ * For example, if the default font size of `ion-button` is 20px
561
+ * (derived from rem) and the default font size of the icon is
562
+ * 28px, then the base size would need to be increased.
563
+ */
564
+ font-size: clamp(15.008px, 1.4em, 43.008px);
509
565
  }
510
566
 
511
567
  /**
@@ -530,4 +586,8 @@ ion-ripple-effect {
530
586
  :host(.button-outline.ion-color:hover) .button-native::after {
531
587
  background: var(--ion-color-base);
532
588
  }
589
+ }
590
+ :host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native {
591
+ background: var(--ion-toolbar-background, var(--color));
592
+ color: var(--ion-toolbar-color, var(--background), var(--ion-color-primary-contrast, #fff));
533
593
  }
@@ -3,12 +3,15 @@
3
3
  */
4
4
  import { expect } from "@playwright/test";
5
5
  import { configs, test } from "../../../../utils/test/playwright/index";
6
- configs().forEach(({ title, config, screenshot }) => {
7
- test.describe(title('button: clear'), () => {
6
+ /**
7
+ * Fill="clear" does not render differently based on the direction.
8
+ */
9
+ configs({ directions: ['ltr'], modes: ['ios', 'md', 'ionic-md'] }).forEach(({ title, config, screenshot }) => {
10
+ test.describe(title('button: fill: clear'), () => {
8
11
  test('should not have visual regressions', async ({ page }) => {
9
12
  await page.goto(`/src/components/button/test/clear`, config);
10
13
  await page.setIonViewport();
11
- await expect(page).toHaveScreenshot(screenshot(`button-clear`));
14
+ await expect(page).toHaveScreenshot(screenshot(`button-fill-clear`));
12
15
  });
13
16
  });
14
17
  });
@@ -0,0 +1,88 @@
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
+ /**
7
+ * All content takes up the full width, so RTL has no effect.
8
+ */
9
+ // TODO: FW-6077 - Add ionic theme on MD mode to this test.
10
+ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
11
+ test.describe(title('button: shape'), () => {
12
+ test.describe('round', () => {
13
+ test.describe('default', () => {
14
+ test('should not have visual regressions', async ({ page }) => {
15
+ await page.goto(`/src/components/button/test/shape`, config);
16
+ await page.setIonViewport();
17
+ const container = page.locator('#default');
18
+ await expect(container).toHaveScreenshot(screenshot(`button-round`));
19
+ });
20
+ });
21
+ test.describe('outline', () => {
22
+ test('should not have visual regressions', async ({ page }) => {
23
+ await page.goto(`/src/components/button/test/shape`, config);
24
+ await page.setIonViewport();
25
+ const container = page.locator('#outline');
26
+ await expect(container).toHaveScreenshot(screenshot(`button-outline-round`));
27
+ });
28
+ });
29
+ test.describe('clear', () => {
30
+ test('should not have visual regressions', async ({ page }) => {
31
+ await page.goto(`/src/components/button/test/shape`, config);
32
+ await page.setIonViewport();
33
+ const container = page.locator('#clear');
34
+ await expect(container).toHaveScreenshot(screenshot(`button-clear-round`));
35
+ });
36
+ });
37
+ test.describe('color', () => {
38
+ test('should not have visual regressions', async ({ page }) => {
39
+ await page.goto(`/src/components/button/test/shape`, config);
40
+ await page.setIonViewport();
41
+ const container = page.locator('#color');
42
+ await expect(container).toHaveScreenshot(screenshot(`button-color-round`));
43
+ });
44
+ });
45
+ test.describe('expand', () => {
46
+ test('should not have visual regressions', async ({ page }) => {
47
+ await page.goto(`/src/components/button/test/shape`, config);
48
+ await page.setIonViewport();
49
+ const container = page.locator('#expand');
50
+ await expect(container).toHaveScreenshot(screenshot(`button-expand-round`));
51
+ });
52
+ });
53
+ });
54
+ });
55
+ });
56
+ /**
57
+ * Shape="rectangular" is only available in the Ionic theme.
58
+ */
59
+ configs({ directions: ['ltr'], modes: ['ionic-md'] }).forEach(({ title, screenshot, config }) => {
60
+ test.describe(title('button: shape'), () => {
61
+ test.describe('rectangular', () => {
62
+ test('should not have visual regressions', async ({ page }) => {
63
+ await page.setContent(`
64
+ <style>
65
+ ion-button {
66
+ margin: 8px;
67
+ }
68
+ </style>
69
+ <div id="container">
70
+ <ion-button shape="rectangular" fill="solid">Rectangular Button, Solid</ion-button>
71
+ <ion-button class="ion-focused" shape="rectangular" fill="solid">Rectangular Button, Solid, Focused</ion-button>
72
+ <ion-button class="ion-activated" shape="rectangular" fill="solid">Rectangular Button, Solid, Activated</ion-button>
73
+
74
+ <ion-button shape="rectangular" fill="outline">Rectangular Button, Outline</ion-button>
75
+ <ion-button class="ion-focused" shape="rectangular" fill="outline">Rectangular Button, Outline, Focused</ion-button>
76
+ <ion-button class="ion-activated" shape="rectangular" fill="outline">Rectangular Button, Outline, Activated</ion-button>
77
+
78
+ <ion-button shape="rectangular" fill="clear">Rectangular Button</ion-button>
79
+ <ion-button class="ion-focused" shape="rectangular" fill="clear">Rectangular Button, Focused</ion-button>
80
+ <ion-button class="ion-activated" shape="rectangular" fill="clear">Rectangular Button, Activated</ion-button>
81
+ </div>
82
+ `, config);
83
+ const container = page.locator('#container');
84
+ await expect(container).toHaveScreenshot(screenshot(`button-shape-rectangular`));
85
+ });
86
+ });
87
+ });
88
+ });
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { expect } from "@playwright/test";
5
5
  import { configs, test } from "../../../../utils/test/playwright/index";
6
- configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
6
+ configs({ directions: ['ltr'], modes: ['ionic-md', 'md', 'ios'] }).forEach(({ title, screenshot, config }) => {
7
7
  test.describe(title('button: size'), () => {
8
8
  test('should render small buttons', async ({ page }) => {
9
9
  await page.setContent(`
@@ -41,3 +41,20 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
41
41
  });
42
42
  });
43
43
  });
44
+ /**
45
+ * The following tests are specific to the Ionic theme and do not depend on the text direction.
46
+ */
47
+ configs({ directions: ['ltr'], modes: ['ionic-md'] }).forEach(({ title, screenshot, config }) => {
48
+ test.describe(title('button: size'), () => {
49
+ test('should render xsmall buttons', async ({ page }) => {
50
+ await page.setContent(`<ion-button size="xsmall" fill="solid">X-Small Button</ion-button>`, config);
51
+ const wrapper = page.locator('ion-button');
52
+ await expect(wrapper).toHaveScreenshot(screenshot(`button-size-x-small`));
53
+ });
54
+ test('should render xlarge buttons', async ({ page }) => {
55
+ await page.setContent(`<ion-button size="xlarge" fill="solid">X-Large Button</ion-button>`, config);
56
+ const wrapper = page.locator('ion-button');
57
+ await expect(wrapper).toHaveScreenshot(screenshot(`button-size-x-large`));
58
+ });
59
+ });
60
+ });
@@ -0,0 +1,51 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { expect } from "@playwright/test";
5
+ import { configs, test } from "../../../../utils/test/playwright/index";
6
+ configs({ directions: ['ltr'], modes: ['ionic-md', 'md', 'ios'] }).forEach(({ title, screenshot, config }) => {
7
+ test.describe(title('button: activated'), () => {
8
+ test('should render solid button', async ({ page }) => {
9
+ await page.setContent(`
10
+ <ion-button class="ion-activated">Button</ion-button>
11
+ `, config);
12
+ const button = page.locator('ion-button');
13
+ await expect(button).toHaveScreenshot(screenshot(`button-activated-solid`));
14
+ });
15
+ test('should render solid button with color', async ({ page }) => {
16
+ await page.setContent(`
17
+ <ion-button color="tertiary" class="ion-activated">Button</ion-button>
18
+ `, config);
19
+ const button = page.locator('ion-button');
20
+ await expect(button).toHaveScreenshot(screenshot(`button-activated-solid-color`));
21
+ });
22
+ test('should render outline button', async ({ page }) => {
23
+ await page.setContent(`
24
+ <ion-button fill="outline" class="ion-activated">Button</ion-button>
25
+ `, config);
26
+ const button = page.locator('ion-button');
27
+ await expect(button).toHaveScreenshot(screenshot(`button-activated-outline`));
28
+ });
29
+ test('should render outline button with color', async ({ page }) => {
30
+ await page.setContent(`
31
+ <ion-button color="tertiary" fill="outline" class="ion-activated">Button</ion-button>
32
+ `, config);
33
+ const button = page.locator('ion-button');
34
+ await expect(button).toHaveScreenshot(screenshot(`button-activated-outline-color`));
35
+ });
36
+ test('should render clear button', async ({ page }) => {
37
+ await page.setContent(`
38
+ <ion-button fill="clear" class="ion-activated">Button</ion-button>
39
+ `, config);
40
+ const button = page.locator('ion-button');
41
+ await expect(button).toHaveScreenshot(screenshot(`button-activated-clear`));
42
+ });
43
+ test('should render clear button with color', async ({ page }) => {
44
+ await page.setContent(`
45
+ <ion-button color="tertiary" fill="clear" class="ion-activated">Button</ion-button>
46
+ `, config);
47
+ const button = page.locator('ion-button');
48
+ await expect(button).toHaveScreenshot(screenshot(`button-activated-clear-color`));
49
+ });
50
+ });
51
+ });
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -53,6 +59,12 @@
53
59
  * }
54
60
  * }
55
61
  */
62
+ /**
63
+ * Convert a pixels given value into rem
64
+ *
65
+ * @param pixels - Value in pixels to be converted (i.e. px)
66
+ * @param context (optional) - Baseline value
67
+ */
56
68
  /**
57
69
  * Convert a font size to a dynamic font size.
58
70
  * Fonts that participate in Dynamic Type should use
@@ -108,6 +120,12 @@
108
120
  * }
109
121
  * }
110
122
  */
123
+ /**
124
+ * Convert a pixels given value into rem
125
+ *
126
+ * @param pixels - Value in pixels to be converted (i.e. px)
127
+ * @param context (optional) - Baseline value
128
+ */
111
129
  /**
112
130
  * Convert a font size to a dynamic font size.
113
131
  * Fonts that participate in Dynamic Type should use