@ionic/core 7.3.4-dev.11694438635.14743086 → 7.3.4-dev.11694441708.198de185

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 (490) hide show
  1. package/components/action-sheet.js +2 -2
  2. package/components/button-active.js +1 -1
  3. package/components/button.js +2 -2
  4. package/components/buttons.js +2 -2
  5. package/components/checkbox.js +3 -6
  6. package/components/data.js +7 -31
  7. package/components/index.js +2 -2
  8. package/components/index2.js +429 -203
  9. package/components/index3.js +203 -429
  10. package/components/ion-back-button.js +2 -2
  11. package/components/ion-badge.js +2 -2
  12. package/components/ion-breadcrumb.js +2 -2
  13. package/components/ion-card-content.js +2 -2
  14. package/components/ion-card-subtitle.js +2 -2
  15. package/components/ion-card-title.js +2 -2
  16. package/components/ion-card.js +2 -2
  17. package/components/ion-chip.js +8 -3
  18. package/components/ion-datetime-button.js +2 -5
  19. package/components/ion-datetime.js +92 -132
  20. package/components/ion-header.js +1 -1
  21. package/components/ion-item-divider.js +2 -2
  22. package/components/ion-item-option.js +2 -2
  23. package/components/ion-item-options.js +2 -2
  24. package/components/ion-item-sliding.js +1 -1
  25. package/components/ion-loading.js +2 -2
  26. package/components/ion-menu-button.js +2 -2
  27. package/components/ion-menu.js +3 -3
  28. package/components/ion-modal.js +2 -2
  29. package/components/ion-nav.js +1 -1
  30. package/components/ion-range.js +3 -3
  31. package/components/ion-refresher.js +3 -3
  32. package/components/ion-reorder-group.js +1 -1
  33. package/components/ion-reorder.js +2 -2
  34. package/components/ion-router-outlet.js +1 -1
  35. package/components/ion-searchbar.js +9 -3
  36. package/components/ion-segment.js +1 -1
  37. package/components/ion-textarea.js +2 -2
  38. package/components/ion-title.js +2 -2
  39. package/components/ion-toast.js +2 -2
  40. package/components/ion-toggle.js +4 -7
  41. package/components/ion-toolbar.js +2 -2
  42. package/components/ios.transition.js +5 -5
  43. package/components/item.js +2 -2
  44. package/components/label.js +2 -2
  45. package/components/list-header.js +2 -2
  46. package/components/md.transition.js +1 -1
  47. package/components/note.js +2 -2
  48. package/components/picker-column.js +1 -1
  49. package/components/popover.js +1 -1
  50. package/components/radio.js +3 -6
  51. package/components/swipe-back.js +1 -1
  52. package/css/core.css +100 -0
  53. package/css/core.css.map +1 -1
  54. package/css/display.css +33 -0
  55. package/css/display.css.map +1 -1
  56. package/css/float-elements.css +33 -0
  57. package/css/float-elements.css.map +1 -1
  58. package/css/global.bundle.css +84 -6
  59. package/css/global.bundle.css.map +1 -1
  60. package/css/ionic-swiper.css +33 -0
  61. package/css/ionic-swiper.css.map +1 -1
  62. package/css/ionic.bundle.css +1 -1
  63. package/css/ionic.bundle.css.map +1 -1
  64. package/css/padding.css +33 -0
  65. package/css/padding.css.map +1 -1
  66. package/css/structure.css +33 -0
  67. package/css/structure.css.map +1 -1
  68. package/css/text-alignment.css +33 -0
  69. package/css/text-alignment.css.map +1 -1
  70. package/css/text-transformation.css +33 -0
  71. package/css/text-transformation.css.map +1 -1
  72. package/css/typography.css +51 -6
  73. package/css/typography.css.map +1 -1
  74. package/css/utils.bundle.css +165 -0
  75. package/css/utils.bundle.css.map +1 -1
  76. package/dist/cjs/{data-db832785.js → data-967b9c15.js} +7 -31
  77. package/dist/cjs/{index-8568bedb.js → index-552c4df4.js} +2 -2
  78. package/dist/cjs/index.cjs.js +11 -12
  79. package/dist/cjs/ion-action-sheet.cjs.entry.js +2 -2
  80. package/dist/cjs/ion-app_8.cjs.entry.js +8 -8
  81. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  82. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  83. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  84. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  85. package/dist/cjs/ion-card_5.cjs.entry.js +8 -8
  86. package/dist/cjs/ion-checkbox.cjs.entry.js +3 -5
  87. package/dist/cjs/ion-chip.cjs.entry.js +7 -2
  88. package/dist/cjs/ion-datetime-button.cjs.entry.js +3 -6
  89. package/dist/cjs/ion-datetime_3.cjs.entry.js +93 -132
  90. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  91. package/dist/cjs/ion-item_8.cjs.entry.js +10 -10
  92. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  93. package/dist/cjs/ion-menu_3.cjs.entry.js +4 -4
  94. package/dist/cjs/ion-modal.cjs.entry.js +1 -1
  95. package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
  96. package/dist/cjs/ion-popover.cjs.entry.js +1 -1
  97. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -5
  98. package/dist/cjs/ion-range.cjs.entry.js +2 -2
  99. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  100. package/dist/cjs/ion-searchbar.cjs.entry.js +9 -3
  101. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  102. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  103. package/dist/cjs/ion-toggle.cjs.entry.js +3 -5
  104. package/dist/cjs/ionic.cjs.js +2 -2
  105. package/dist/cjs/{ios.transition-f7c78d7c.js → ios.transition-b53fc1d5.js} +5 -5
  106. package/dist/cjs/loader.cjs.js +1 -1
  107. package/dist/cjs/{md.transition-65dc7dce.js → md.transition-d96426d5.js} +1 -1
  108. package/dist/collection/collection-manifest.json +2 -2
  109. package/dist/collection/components/accordion/accordion.ios.css +66 -0
  110. package/dist/collection/components/accordion/accordion.md.css +33 -0
  111. package/dist/collection/components/accordion-group/accordion-group.ios.css +66 -0
  112. package/dist/collection/components/accordion-group/accordion-group.md.css +99 -0
  113. package/dist/collection/components/action-sheet/action-sheet.ios.css +80 -12
  114. package/dist/collection/components/action-sheet/action-sheet.md.css +76 -8
  115. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +27 -0
  116. package/dist/collection/components/alert/alert.ios.css +99 -0
  117. package/dist/collection/components/alert/alert.md.css +99 -0
  118. package/dist/collection/components/avatar/avatar.ios.css +66 -0
  119. package/dist/collection/components/avatar/avatar.md.css +66 -0
  120. package/dist/collection/components/back-button/back-button.ios.css +83 -1
  121. package/dist/collection/components/back-button/back-button.md.css +75 -3
  122. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +26 -0
  123. package/dist/collection/components/backdrop/backdrop.ios.css +66 -0
  124. package/dist/collection/components/backdrop/backdrop.md.css +66 -0
  125. package/dist/collection/components/badge/badge.ios.css +75 -1
  126. package/dist/collection/components/badge/badge.md.css +67 -1
  127. package/dist/collection/components/badge/test/a11y/badge.e2e.js +22 -0
  128. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +80 -3
  129. package/dist/collection/components/breadcrumb/breadcrumb.md.css +69 -3
  130. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +33 -0
  131. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +33 -0
  132. package/dist/collection/components/breadcrumbs/test/a11y/breadcrumbs.e2e.js +21 -0
  133. package/dist/collection/components/button/button.ios.css +118 -19
  134. package/dist/collection/components/button/button.md.css +69 -3
  135. package/dist/collection/components/button/test/a11y/button.e2e.js +61 -0
  136. package/dist/collection/components/buttons/buttons.ios.css +102 -3
  137. package/dist/collection/components/buttons/buttons.md.css +101 -2
  138. package/dist/collection/components/buttons/test/a11y/buttons.e2e.js +74 -0
  139. package/dist/collection/components/card/card.ios.css +67 -1
  140. package/dist/collection/components/card/card.md.css +67 -1
  141. package/dist/collection/components/card/test/a11y/card.e2e.js +31 -0
  142. package/dist/collection/components/card-content/card-content.ios.css +71 -5
  143. package/dist/collection/components/card-content/card-content.md.css +71 -5
  144. package/dist/collection/components/card-header/card-header.ios.css +66 -0
  145. package/dist/collection/components/card-header/card-header.md.css +66 -0
  146. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +67 -1
  147. package/dist/collection/components/card-subtitle/card-subtitle.md.css +67 -1
  148. package/dist/collection/components/card-title/card-title.ios.css +67 -1
  149. package/dist/collection/components/card-title/card-title.md.css +67 -1
  150. package/dist/collection/components/checkbox/checkbox.ios.css +99 -35
  151. package/dist/collection/components/checkbox/checkbox.js +4 -24
  152. package/dist/collection/components/checkbox/checkbox.md.css +99 -35
  153. package/dist/collection/components/checkbox/test/item/checkbox.e2e.js +0 -13
  154. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +0 -16
  155. package/dist/collection/components/chip/chip.ios.css +190 -0
  156. package/dist/collection/components/chip/chip.js +4 -2
  157. package/dist/collection/components/chip/{chip.css → chip.md.css} +43 -7
  158. package/dist/collection/components/chip/test/a11y/chip.e2e.js +58 -0
  159. package/dist/collection/components/col/col.css +66 -0
  160. package/dist/collection/components/content/content.css +33 -0
  161. package/dist/collection/components/datetime/datetime.ios.css +95 -32
  162. package/dist/collection/components/datetime/datetime.js +93 -137
  163. package/dist/collection/components/datetime/datetime.md.css +94 -20
  164. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +0 -25
  165. package/dist/collection/components/datetime/test/color/datetime.e2e.js +1 -1
  166. package/dist/collection/components/datetime/test/custom/datetime.e2e.js +1 -27
  167. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +0 -15
  168. package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +12 -9
  169. package/dist/collection/components/datetime/utils/data.js +6 -14
  170. package/dist/collection/components/datetime/utils/parse.js +1 -18
  171. package/dist/collection/components/datetime-button/datetime-button.css +36 -2
  172. package/dist/collection/components/datetime-button/datetime-button.js +0 -3
  173. package/dist/collection/components/datetime-button/test/a11y/datetime-button.e2e.js +38 -0
  174. package/dist/collection/components/fab/fab.css +66 -0
  175. package/dist/collection/components/fab-button/fab-button.ios.css +66 -0
  176. package/dist/collection/components/fab-button/fab-button.md.css +66 -0
  177. package/dist/collection/components/fab-list/fab-list.css +66 -0
  178. package/dist/collection/components/footer/footer.ios.css +66 -0
  179. package/dist/collection/components/footer/footer.md.css +66 -0
  180. package/dist/collection/components/grid/grid.css +66 -0
  181. package/dist/collection/components/header/header.ios.css +71 -2
  182. package/dist/collection/components/header/header.md.css +66 -0
  183. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +66 -0
  184. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +66 -0
  185. package/dist/collection/components/input/input.ios.css +99 -0
  186. package/dist/collection/components/input/input.md.css +198 -0
  187. package/dist/collection/components/item/item.ios.css +70 -4
  188. package/dist/collection/components/item/item.md.css +138 -6
  189. package/dist/collection/components/item/test/a11y/item.e2e.js +116 -1
  190. package/dist/collection/components/item-divider/item-divider.ios.css +101 -9
  191. package/dist/collection/components/item-divider/item-divider.md.css +103 -11
  192. package/dist/collection/components/item-divider/test/a11y/item-divider.e2e.js +44 -0
  193. package/dist/collection/components/item-group/item-group.ios.css +68 -1
  194. package/dist/collection/components/item-group/item-group.md.css +68 -1
  195. package/dist/collection/components/item-option/item-option.ios.css +67 -1
  196. package/dist/collection/components/item-option/item-option.md.css +67 -1
  197. package/dist/collection/components/item-options/item-options.ios.css +99 -1
  198. package/dist/collection/components/item-options/item-options.md.css +99 -1
  199. package/dist/collection/components/item-sliding/item-sliding.css +33 -0
  200. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +34 -0
  201. package/dist/collection/components/label/label.ios.css +105 -6
  202. package/dist/collection/components/label/label.md.css +104 -5
  203. package/dist/collection/components/label/test/a11y/label.e2e.js +66 -0
  204. package/dist/collection/components/list/list.ios.css +99 -0
  205. package/dist/collection/components/list/list.md.css +99 -0
  206. package/dist/collection/components/list-header/list-header.ios.css +100 -1
  207. package/dist/collection/components/list-header/list-header.md.css +100 -1
  208. package/dist/collection/components/list-header/test/a11y/list-header.e2e.js +24 -0
  209. package/dist/collection/components/loading/loading.ios.css +67 -1
  210. package/dist/collection/components/loading/loading.md.css +67 -1
  211. package/dist/collection/components/loading/test/a11y/loading.e2e.js +19 -0
  212. package/dist/collection/components/menu/menu.ios.css +66 -94
  213. package/dist/collection/components/menu/menu.md.css +66 -94
  214. package/dist/collection/components/menu-button/menu-button.ios.css +70 -2
  215. package/dist/collection/components/menu-button/menu-button.md.css +71 -3
  216. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +20 -1
  217. package/dist/collection/components/modal/modal.ios.css +66 -0
  218. package/dist/collection/components/modal/modal.md.css +66 -0
  219. package/dist/collection/components/nav/nav.css +33 -0
  220. package/dist/collection/components/note/note.ios.css +67 -0
  221. package/dist/collection/components/note/note.md.css +67 -1
  222. package/dist/collection/components/note/test/a11y/note.e2e.js +52 -0
  223. package/dist/collection/components/picker/picker.ios.css +66 -0
  224. package/dist/collection/components/picker/picker.md.css +66 -0
  225. package/dist/collection/components/picker-column/picker-column.ios.css +66 -0
  226. package/dist/collection/components/picker-column/picker-column.md.css +66 -0
  227. package/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +33 -0
  228. package/dist/collection/components/picker-column-internal/picker-column-internal.md.css +66 -0
  229. package/dist/collection/components/picker-internal/picker-internal.ios.css +66 -0
  230. package/dist/collection/components/picker-internal/picker-internal.md.css +66 -0
  231. package/dist/collection/components/popover/popover.ios.css +66 -0
  232. package/dist/collection/components/popover/popover.md.css +66 -0
  233. package/dist/collection/components/progress-bar/progress-bar.ios.css +33 -0
  234. package/dist/collection/components/progress-bar/progress-bar.md.css +33 -0
  235. package/dist/collection/components/radio/radio.ios.css +97 -33
  236. package/dist/collection/components/radio/radio.js +4 -24
  237. package/dist/collection/components/radio/radio.md.css +97 -33
  238. package/dist/collection/components/radio/test/item/radio.e2e.js +0 -15
  239. package/dist/collection/components/radio/test/label-placement/radio.e2e.js +0 -20
  240. package/dist/collection/components/range/range.ios.css +80 -46
  241. package/dist/collection/components/range/range.js +3 -3
  242. package/dist/collection/components/range/range.md.css +97 -49
  243. package/dist/collection/components/range/test/a11y/range.e2e.js +22 -0
  244. package/dist/collection/components/range/test/label/range.e2e.js +0 -48
  245. package/dist/collection/components/refresher/refresher.ios.css +66 -0
  246. package/dist/collection/components/refresher/refresher.md.css +66 -0
  247. package/dist/collection/components/reorder/reorder.ios.css +75 -2
  248. package/dist/collection/components/reorder/reorder.md.css +75 -2
  249. package/dist/collection/components/reorder-group/reorder-group.css +33 -0
  250. package/dist/collection/components/reorder-group/test/a11y/reorder-group.e2e.js +33 -0
  251. package/dist/collection/components/ripple-effect/ripple-effect.css +33 -0
  252. package/dist/collection/components/router-link/router-link.css +33 -0
  253. package/dist/collection/components/router-outlet/router-outlet.css +33 -0
  254. package/dist/collection/components/router-outlet/router-outlet.js +1 -6
  255. package/dist/collection/components/row/row.css +66 -0
  256. package/dist/collection/components/searchbar/searchbar.ios.css +95 -16
  257. package/dist/collection/components/searchbar/searchbar.js +7 -1
  258. package/dist/collection/components/searchbar/searchbar.md.css +77 -10
  259. package/dist/collection/components/searchbar/test/a11y/searchbar.e2e.js +37 -0
  260. package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +18 -0
  261. package/dist/collection/components/segment/segment.ios.css +99 -0
  262. package/dist/collection/components/segment/segment.md.css +99 -0
  263. package/dist/collection/components/segment-button/segment-button.ios.css +66 -0
  264. package/dist/collection/components/segment-button/segment-button.md.css +66 -0
  265. package/dist/collection/components/select/select.ios.css +99 -0
  266. package/dist/collection/components/select/select.md.css +165 -0
  267. package/dist/collection/components/select-popover/select-popover.ios.css +101 -1
  268. package/dist/collection/components/select-popover/select-popover.md.css +99 -0
  269. package/dist/collection/components/skeleton-text/skeleton-text.css +33 -0
  270. package/dist/collection/components/spinner/spinner.css +33 -0
  271. package/dist/collection/components/split-pane/split-pane.ios.css +99 -0
  272. package/dist/collection/components/split-pane/split-pane.md.css +99 -0
  273. package/dist/collection/components/tab-bar/tab-bar.ios.css +99 -0
  274. package/dist/collection/components/tab-bar/tab-bar.md.css +99 -0
  275. package/dist/collection/components/tab-button/tab-button.ios.css +66 -0
  276. package/dist/collection/components/tab-button/tab-button.md.css +66 -0
  277. package/dist/collection/components/tabs/tabs.css +33 -0
  278. package/dist/collection/components/text/text.css +33 -0
  279. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +15 -1
  280. package/dist/collection/components/textarea/textarea.ios.css +133 -1
  281. package/dist/collection/components/textarea/textarea.md.css +199 -1
  282. package/dist/collection/components/thumbnail/thumbnail.css +33 -0
  283. package/dist/collection/components/title/test/a11y/title.e2e.js +61 -0
  284. package/dist/collection/components/title/title.ios.css +43 -10
  285. package/dist/collection/components/title/title.md.css +35 -2
  286. package/dist/collection/components/toast/test/a11y/toast.e2e.js +98 -1
  287. package/dist/collection/components/toast/toast.ios.css +74 -3
  288. package/dist/collection/components/toast/toast.md.css +74 -4
  289. package/dist/collection/components/toggle/test/item/toggle.e2e.js +0 -15
  290. package/dist/collection/components/toggle/test/label/toggle.e2e.js +0 -16
  291. package/dist/collection/components/toggle/toggle.ios.css +100 -35
  292. package/dist/collection/components/toggle/toggle.js +4 -24
  293. package/dist/collection/components/toggle/toggle.md.css +100 -35
  294. package/dist/collection/components/toolbar/toolbar.ios.css +70 -16
  295. package/dist/collection/components/toolbar/toolbar.md.css +70 -2
  296. package/dist/collection/css/test/a11y/typography.e2e.js +32 -0
  297. package/dist/collection/index.js +0 -1
  298. package/dist/collection/utils/transition/ios.transition.js +4 -4
  299. package/dist/docs.json +21 -155
  300. package/dist/esm/{data-009dbf15.js → data-4b448e3a.js} +7 -31
  301. package/dist/esm/{index-6391de89.js → index-2970aafc.js} +2 -2
  302. package/dist/esm/index.js +4 -4
  303. package/dist/esm/ion-action-sheet.entry.js +2 -2
  304. package/dist/esm/ion-app_8.entry.js +8 -8
  305. package/dist/esm/ion-avatar_3.entry.js +2 -2
  306. package/dist/esm/ion-back-button.entry.js +2 -2
  307. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  308. package/dist/esm/ion-button_2.entry.js +2 -2
  309. package/dist/esm/ion-card_5.entry.js +8 -8
  310. package/dist/esm/ion-checkbox.entry.js +3 -5
  311. package/dist/esm/ion-chip.entry.js +7 -2
  312. package/dist/esm/ion-datetime-button.entry.js +3 -6
  313. package/dist/esm/ion-datetime_3.entry.js +93 -132
  314. package/dist/esm/ion-item-option_3.entry.js +4 -4
  315. package/dist/esm/ion-item_8.entry.js +10 -10
  316. package/dist/esm/ion-loading.entry.js +2 -2
  317. package/dist/esm/ion-menu_3.entry.js +4 -4
  318. package/dist/esm/ion-modal.entry.js +1 -1
  319. package/dist/esm/ion-nav_2.entry.js +1 -1
  320. package/dist/esm/ion-popover.entry.js +1 -1
  321. package/dist/esm/ion-radio_2.entry.js +3 -5
  322. package/dist/esm/ion-range.entry.js +2 -2
  323. package/dist/esm/ion-reorder_2.entry.js +2 -2
  324. package/dist/esm/ion-searchbar.entry.js +9 -3
  325. package/dist/esm/ion-textarea.entry.js +2 -2
  326. package/dist/esm/ion-toast.entry.js +2 -2
  327. package/dist/esm/ion-toggle.entry.js +3 -5
  328. package/dist/esm/ionic.js +2 -2
  329. package/dist/esm/{ios.transition-3137d23e.js → ios.transition-4e8d7fb7.js} +5 -5
  330. package/dist/esm/loader.js +1 -1
  331. package/dist/esm/{md.transition-48b3b77c.js → md.transition-2b41d64c.js} +1 -1
  332. package/dist/esm-es5/data-4b448e3a.js +4 -0
  333. package/dist/esm-es5/{index-6391de89.js → index-2970aafc.js} +1 -1
  334. package/dist/esm-es5/index.js +1 -1
  335. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  336. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  337. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  338. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  339. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  340. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  341. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  342. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  343. package/dist/esm-es5/ion-chip.entry.js +1 -1
  344. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  345. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  346. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  347. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  348. package/dist/esm-es5/ion-loading.entry.js +1 -1
  349. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  350. package/dist/esm-es5/ion-modal.entry.js +1 -1
  351. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  352. package/dist/esm-es5/ion-popover.entry.js +1 -1
  353. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  354. package/dist/esm-es5/ion-range.entry.js +1 -1
  355. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  356. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  357. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  358. package/dist/esm-es5/ion-toast.entry.js +1 -1
  359. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  360. package/dist/esm-es5/ionic.js +1 -1
  361. package/dist/esm-es5/ios.transition-4e8d7fb7.js +4 -0
  362. package/dist/esm-es5/loader.js +1 -1
  363. package/dist/esm-es5/{md.transition-48b3b77c.js → md.transition-2b41d64c.js} +1 -1
  364. package/dist/html.html-data.json +4 -52
  365. package/dist/ionic/index.esm.js +1 -1
  366. package/dist/ionic/ionic.esm.js +1 -1
  367. package/dist/ionic/ionic.js +1 -1
  368. package/dist/ionic/p-0053fe81.system.entry.js +4 -0
  369. package/dist/ionic/p-060aa1aa.entry.js +4 -0
  370. package/dist/ionic/p-0e4377e6.system.entry.js +4 -0
  371. package/dist/ionic/{p-a2b25750.js → p-1decbac2.js} +1 -1
  372. package/dist/ionic/p-1e5f9f20.entry.js +4 -0
  373. package/dist/ionic/p-2c012642.entry.js +4 -0
  374. package/dist/ionic/p-2cdcd6f2.entry.js +4 -0
  375. package/dist/ionic/{p-62324608.system.entry.js → p-2e45dce9.system.entry.js} +1 -1
  376. package/dist/ionic/p-2f4e5cd6.system.entry.js +4 -0
  377. package/dist/ionic/p-2f6fbeab.system.entry.js +4 -0
  378. package/dist/ionic/p-39bf6a89.js +4 -0
  379. package/dist/ionic/p-418fc6f2.system.entry.js +4 -0
  380. package/dist/ionic/p-468ac44a.system.entry.js +4 -0
  381. package/dist/ionic/p-5009cb46.entry.js +4 -0
  382. package/dist/ionic/{p-87383d00.system.entry.js → p-586e0a90.system.entry.js} +1 -1
  383. package/dist/ionic/p-5b88f780.entry.js +4 -0
  384. package/dist/ionic/{p-653f2fc6.entry.js → p-5d418c78.entry.js} +1 -1
  385. package/dist/ionic/p-5e8d7def.system.entry.js +4 -0
  386. package/dist/ionic/p-601fd53c.js +4 -0
  387. package/dist/ionic/p-65105512.entry.js +4 -0
  388. package/dist/ionic/p-66d2ef38.entry.js +4 -0
  389. package/dist/ionic/p-721933ff.system.js +4 -0
  390. package/dist/ionic/p-7ea1a467.system.js +4 -0
  391. package/dist/ionic/p-80b152fd.system.entry.js +4 -0
  392. package/dist/ionic/{p-208f640c.entry.js → p-80eed21b.entry.js} +1 -1
  393. package/dist/ionic/p-89d96720.entry.js +4 -0
  394. package/dist/ionic/{p-fac1660b.entry.js → p-8eed522b.entry.js} +1 -1
  395. package/dist/ionic/p-91f9a6aa.system.entry.js +4 -0
  396. package/dist/ionic/p-94f99a8b.entry.js +4 -0
  397. package/dist/ionic/p-985d547d.system.entry.js +4 -0
  398. package/dist/ionic/p-98b618ce.system.entry.js +4 -0
  399. package/dist/ionic/p-9e306450.system.entry.js +4 -0
  400. package/dist/ionic/{p-0b68c41d.system.entry.js → p-a5481fd3.system.entry.js} +1 -1
  401. package/dist/ionic/p-b03dae0c.system.entry.js +4 -0
  402. package/dist/ionic/p-b062bc29.entry.js +4 -0
  403. package/dist/ionic/p-b0b8c0c9.system.entry.js +4 -0
  404. package/dist/ionic/p-b3394798.system.entry.js +4 -0
  405. package/dist/ionic/p-bc8b9c38.system.entry.js +4 -0
  406. package/dist/ionic/p-c4aea998.entry.js +4 -0
  407. package/dist/ionic/{p-728ac2b3.entry.js → p-c569a270.entry.js} +1 -1
  408. package/dist/ionic/p-c64711cc.entry.js +4 -0
  409. package/dist/ionic/p-c9fd7db5.system.entry.js +4 -0
  410. package/dist/ionic/p-caa4c0fa.entry.js +4 -0
  411. package/dist/ionic/p-cc8910e7.system.js +4 -0
  412. package/dist/ionic/p-cd4b6518.system.js +4 -0
  413. package/dist/ionic/p-d1e6b365.entry.js +4 -0
  414. package/dist/ionic/p-d4044209.system.entry.js +4 -0
  415. package/dist/ionic/p-d6de281e.entry.js +4 -0
  416. package/dist/ionic/p-e497d6a5.js +4 -0
  417. package/dist/ionic/p-e53b8af4.system.entry.js +4 -0
  418. package/dist/ionic/{p-98ebc376.entry.js → p-eaede417.entry.js} +1 -1
  419. package/dist/ionic/p-f1e5e368.system.entry.js +4 -0
  420. package/dist/ionic/{p-e3d5608d.system.js → p-f29fe8c3.system.js} +1 -1
  421. package/dist/ionic/p-f2b925a2.system.entry.js +4 -0
  422. package/dist/ionic/p-f78e60a5.entry.js +4 -0
  423. package/dist/ionic/{p-df6743df.system.js → p-f7dcca6a.system.js} +1 -1
  424. package/dist/ionic/p-f902ddc6.entry.js +4 -0
  425. package/dist/ionic/p-f9ec8c18.entry.js +4 -0
  426. package/dist/ionic/p-fade59a2.system.entry.js +4 -0
  427. package/dist/ionic/{p-fabb7294.entry.js → p-fbb2649b.entry.js} +1 -1
  428. package/dist/types/components/checkbox/checkbox.d.ts +1 -8
  429. package/dist/types/components/datetime/datetime.d.ts +10 -23
  430. package/dist/types/components/datetime/utils/data.d.ts +1 -1
  431. package/dist/types/components/datetime/utils/parse.d.ts +3 -3
  432. package/dist/types/components/radio/radio.d.ts +1 -8
  433. package/dist/types/components/range/range.d.ts +1 -2
  434. package/dist/types/components/toast/toast-interface.d.ts +0 -3
  435. package/dist/types/components/toggle/toggle.d.ts +1 -8
  436. package/dist/types/components.d.ts +16 -40
  437. package/dist/types/index.d.ts +0 -1
  438. package/dist/types/interface.d.ts +0 -1
  439. package/hydrate/index.js +264 -345
  440. package/package.json +3 -3
  441. package/dist/esm-es5/data-009dbf15.js +0 -4
  442. package/dist/esm-es5/ios.transition-3137d23e.js +0 -4
  443. package/dist/ionic/p-06902103.system.js +0 -4
  444. package/dist/ionic/p-0cc2bf5a.system.entry.js +0 -4
  445. package/dist/ionic/p-11248f01.js +0 -4
  446. package/dist/ionic/p-1f4adf06.system.entry.js +0 -4
  447. package/dist/ionic/p-2061c86f.system.entry.js +0 -4
  448. package/dist/ionic/p-218b6f33.entry.js +0 -4
  449. package/dist/ionic/p-2da6ba37.system.entry.js +0 -4
  450. package/dist/ionic/p-341d5877.entry.js +0 -4
  451. package/dist/ionic/p-38dd9aec.entry.js +0 -4
  452. package/dist/ionic/p-40138199.entry.js +0 -4
  453. package/dist/ionic/p-430e902d.entry.js +0 -4
  454. package/dist/ionic/p-44ef7224.system.js +0 -4
  455. package/dist/ionic/p-48144921.entry.js +0 -4
  456. package/dist/ionic/p-4ca1ce6b.system.entry.js +0 -4
  457. package/dist/ionic/p-51b165af.system.js +0 -4
  458. package/dist/ionic/p-57f0efcc.entry.js +0 -4
  459. package/dist/ionic/p-5ba27716.system.entry.js +0 -4
  460. package/dist/ionic/p-67b891af.entry.js +0 -4
  461. package/dist/ionic/p-69303bb5.system.js +0 -4
  462. package/dist/ionic/p-6b3afb0f.entry.js +0 -4
  463. package/dist/ionic/p-6bf632d0.system.entry.js +0 -4
  464. package/dist/ionic/p-7cfd253c.js +0 -4
  465. package/dist/ionic/p-82f5c07e.system.entry.js +0 -4
  466. package/dist/ionic/p-82f8ee51.entry.js +0 -4
  467. package/dist/ionic/p-83bcaec9.system.entry.js +0 -4
  468. package/dist/ionic/p-86c5c320.entry.js +0 -4
  469. package/dist/ionic/p-90ec5785.system.entry.js +0 -4
  470. package/dist/ionic/p-9c32000a.entry.js +0 -4
  471. package/dist/ionic/p-a34669bf.system.entry.js +0 -4
  472. package/dist/ionic/p-a3f9d271.entry.js +0 -4
  473. package/dist/ionic/p-a62c0ff4.js +0 -4
  474. package/dist/ionic/p-af0bc751.system.entry.js +0 -4
  475. package/dist/ionic/p-af986299.system.entry.js +0 -4
  476. package/dist/ionic/p-b0e9e0b8.system.entry.js +0 -4
  477. package/dist/ionic/p-b321c999.entry.js +0 -4
  478. package/dist/ionic/p-bbae0ac3.system.entry.js +0 -4
  479. package/dist/ionic/p-bf4b8d8a.system.entry.js +0 -4
  480. package/dist/ionic/p-d5e3bff3.entry.js +0 -4
  481. package/dist/ionic/p-d8a0267b.system.entry.js +0 -4
  482. package/dist/ionic/p-dbb48066.system.entry.js +0 -4
  483. package/dist/ionic/p-dc49c681.system.entry.js +0 -4
  484. package/dist/ionic/p-e112994b.system.entry.js +0 -4
  485. package/dist/ionic/p-e805ff9f.system.entry.js +0 -4
  486. package/dist/ionic/p-ed7b205b.entry.js +0 -4
  487. package/dist/ionic/p-f5c19164.entry.js +0 -4
  488. package/dist/ionic/p-f9567c67.entry.js +0 -4
  489. package/dist/ionic/p-fa3327e8.system.entry.js +0 -4
  490. package/dist/ionic/p-fe83e3e2.entry.js +0 -4
@@ -91,21 +91,5 @@ configs().forEach(({ title, screenshot, config }) => {
91
91
  await expect(checkbox).toHaveScreenshot(screenshot(`checkbox-label-fixed-justify-space-between`));
92
92
  });
93
93
  });
94
- test.describe('checkbox: stacked placement', () => {
95
- test('should align the label to the start of the container in the stacked position', async ({ page }) => {
96
- await page.setContent(`
97
- <ion-checkbox label-placement="stacked" alignment="start" style="width: 200px">This is a long label</ion-checkbox>
98
- `, config);
99
- const checkbox = page.locator('ion-checkbox');
100
- await expect(checkbox).toHaveScreenshot(screenshot(`checkbox-label-stacked-align-start`));
101
- });
102
- test('should align the label to the center of the container in the stacked position', async ({ page }) => {
103
- await page.setContent(`
104
- <ion-checkbox label-placement="stacked" alignment="center" style="width: 200px">This is a long label</ion-checkbox>
105
- `, config);
106
- const checkbox = page.locator('ion-checkbox');
107
- await expect(checkbox).toHaveScreenshot(screenshot(`checkbox-label-stacked-align-center`));
108
- });
109
- });
110
94
  });
111
95
  });
@@ -0,0 +1,190 @@
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
+ */
34
+ :host {
35
+ /**
36
+ * @prop --background: Background of the chip
37
+ * @prop --color: Color of the chip
38
+ */
39
+ --background: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.12);
40
+ --color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.87);
41
+ border-radius: 16px;
42
+ -moz-osx-font-smoothing: grayscale;
43
+ -webkit-font-smoothing: antialiased;
44
+ -webkit-margin-start: 4px;
45
+ margin-inline-start: 4px;
46
+ -webkit-margin-end: 4px;
47
+ margin-inline-end: 4px;
48
+ margin-top: 4px;
49
+ margin-bottom: 4px;
50
+ -webkit-padding-start: 12px;
51
+ padding-inline-start: 12px;
52
+ -webkit-padding-end: 12px;
53
+ padding-inline-end: 12px;
54
+ padding-top: 6px;
55
+ padding-bottom: 6px;
56
+ display: inline-flex;
57
+ position: relative;
58
+ align-items: center;
59
+ min-height: 32px;
60
+ background: var(--background);
61
+ color: var(--color);
62
+ font-family: var(--ion-font-family, inherit);
63
+ cursor: pointer;
64
+ overflow: hidden;
65
+ vertical-align: middle;
66
+ box-sizing: border-box;
67
+ }
68
+
69
+ :host(.chip-disabled) {
70
+ cursor: default;
71
+ opacity: 0.4;
72
+ pointer-events: none;
73
+ }
74
+
75
+ :host(.ion-color) {
76
+ background: rgba(var(--ion-color-base-rgb), 0.08);
77
+ color: var(--ion-color-shade);
78
+ }
79
+
80
+ :host(.ion-color:focus) {
81
+ background: rgba(var(--ion-color-base-rgb), 0.12);
82
+ }
83
+
84
+ :host(.ion-color.ion-activated) {
85
+ background: rgba(var(--ion-color-base-rgb), 0.16);
86
+ }
87
+
88
+ :host(.chip-outline) {
89
+ border-width: 1px;
90
+ border-style: solid;
91
+ }
92
+
93
+ :host(.chip-outline) {
94
+ border-color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.32);
95
+ background: transparent;
96
+ }
97
+
98
+ :host(.chip-outline.ion-color) {
99
+ border-color: rgba(var(--ion-color-base-rgb), 0.32);
100
+ }
101
+
102
+ :host(.chip-outline:not(.ion-color):focus) {
103
+ background: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.04);
104
+ }
105
+
106
+ :host(.chip-outline.ion-activated:not(.ion-color)) {
107
+ background: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08);
108
+ }
109
+
110
+ ::slotted(ion-icon) {
111
+ font-size: 1.4285714286em;
112
+ }
113
+
114
+ :host(:not(.ion-color)) ::slotted(ion-icon) {
115
+ color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);
116
+ }
117
+
118
+ ::slotted(ion-icon:first-child) {
119
+ -webkit-margin-start: -4px;
120
+ margin-inline-start: -4px;
121
+ -webkit-margin-end: 8px;
122
+ margin-inline-end: 8px;
123
+ margin-top: -4px;
124
+ margin-bottom: -4px;
125
+ }
126
+
127
+ ::slotted(ion-icon:last-child) {
128
+ -webkit-margin-start: 8px;
129
+ margin-inline-start: 8px;
130
+ -webkit-margin-end: -4px;
131
+ margin-inline-end: -4px;
132
+ margin-top: -4px;
133
+ margin-bottom: -4px;
134
+ }
135
+
136
+ ::slotted(ion-avatar) {
137
+ flex-shrink: 0;
138
+ width: 1.7142857143em;
139
+ height: 1.7142857143em;
140
+ }
141
+
142
+ ::slotted(ion-avatar:first-child) {
143
+ -webkit-margin-start: -8px;
144
+ margin-inline-start: -8px;
145
+ -webkit-margin-end: 8px;
146
+ margin-inline-end: 8px;
147
+ margin-top: -4px;
148
+ margin-bottom: -4px;
149
+ }
150
+
151
+ ::slotted(ion-avatar:last-child) {
152
+ -webkit-margin-start: 8px;
153
+ margin-inline-start: 8px;
154
+ -webkit-margin-end: -8px;
155
+ margin-inline-end: -8px;
156
+ margin-top: -4px;
157
+ margin-bottom: -4px;
158
+ }
159
+
160
+ :host(:focus) {
161
+ outline: none;
162
+ }
163
+
164
+ :host(:focus) {
165
+ --background: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.16);
166
+ }
167
+
168
+ :host(.ion-activated) {
169
+ --background: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);
170
+ }
171
+
172
+ @media (any-hover: hover) {
173
+ :host(:hover) {
174
+ --background: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.16);
175
+ }
176
+ :host(.ion-color:hover) {
177
+ background: rgba(var(--ion-color-base-rgb), 0.12);
178
+ }
179
+ :host(.chip-outline:not(.ion-color):hover) {
180
+ background: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.04);
181
+ }
182
+ }
183
+ :host {
184
+ /**
185
+ * Main content should be prioritized on iOS,
186
+ * so we set max font size for chips.
187
+ * We add a min font size to keep the text legible.
188
+ */
189
+ font-size: clamp(13px, 0.875rem, 22px);
190
+ }
@@ -26,12 +26,14 @@ export class Chip {
26
26
  static get encapsulation() { return "shadow"; }
27
27
  static get originalStyleUrls() {
28
28
  return {
29
- "$": ["chip.scss"]
29
+ "ios": ["chip.ios.scss"],
30
+ "md": ["chip.md.scss"]
30
31
  };
31
32
  }
32
33
  static get styleUrls() {
33
34
  return {
34
- "$": ["chip.css"]
35
+ "ios": ["chip.ios.css"],
36
+ "md": ["chip.md.css"]
35
37
  };
36
38
  }
37
39
  static get properties() {
@@ -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 chip
@@ -18,16 +51,15 @@
18
51
  padding-inline-start: 12px;
19
52
  -webkit-padding-end: 12px;
20
53
  padding-inline-end: 12px;
21
- padding-top: 7px;
22
- padding-bottom: 7px;
54
+ padding-top: 6px;
55
+ padding-bottom: 6px;
23
56
  display: inline-flex;
24
57
  position: relative;
25
58
  align-items: center;
26
- height: 32px;
59
+ min-height: 32px;
27
60
  background: var(--background);
28
61
  color: var(--color);
29
62
  font-family: var(--ion-font-family, inherit);
30
- font-size: 14px;
31
63
  cursor: pointer;
32
64
  overflow: hidden;
33
65
  vertical-align: middle;
@@ -76,7 +108,7 @@
76
108
  }
77
109
 
78
110
  ::slotted(ion-icon) {
79
- font-size: 20px;
111
+ font-size: 1.4285714286em;
80
112
  }
81
113
 
82
114
  :host(:not(.ion-color)) ::slotted(ion-icon) {
@@ -102,8 +134,9 @@
102
134
  }
103
135
 
104
136
  ::slotted(ion-avatar) {
105
- width: 24px;
106
- height: 24px;
137
+ flex-shrink: 0;
138
+ width: 1.7142857143em;
139
+ height: 1.7142857143em;
107
140
  }
108
141
 
109
142
  ::slotted(ion-avatar:first-child) {
@@ -146,4 +179,7 @@
146
179
  :host(.chip-outline:not(.ion-color):hover) {
147
180
  background: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.04);
148
181
  }
182
+ }
183
+ :host {
184
+ font-size: 0.875rem;
149
185
  }
@@ -0,0 +1,58 @@
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
+ /**
8
+ * Font scaling does not vary across directions.
9
+ */
10
+ test.describe(title('chip: font scaling'), () => {
11
+ test('should scale text', async ({ page }) => {
12
+ await page.setContent(`
13
+ <style>
14
+ html {
15
+ font-size: 30px;
16
+ }
17
+ </style>
18
+ <ion-chip>
19
+ <ion-avatar>
20
+ <img
21
+ src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBmaWxsPSIjYzVkYmZmIiBkPSJNMCAwaDUxMnY1MTJIMHoiLz48cGF0aCBkPSJNMjU2IDMwNGM2MS42IDAgMTEyLTUwLjQgMTEyLTExMlMzMTcuNiA4MCAyNTYgODBzLTExMiA1MC40LTExMiAxMTIgNTAuNCAxMTIgMTEyIDExMnptMCA0MGMtNzQuMiAwLTIyNCAzNy44LTIyNCAxMTJ2NTZoNDQ4di01NmMwLTc0LjItMTQ5LjgtMTEyLTIyNC0xMTJ6IiBmaWxsPSIjODJhZWZmIi8+PC9zdmc+"
22
+ />
23
+ </ion-avatar>
24
+ <ion-label>With Icon and Avatar</ion-label>
25
+ <ion-icon name="close-circle"></ion-icon>
26
+ </ion-chip>`, config);
27
+ const chip = page.locator('ion-chip');
28
+ await expect(chip).toHaveScreenshot(screenshot('chip-scale'));
29
+ });
30
+ });
31
+ });
32
+ configs({ directions: ['ltr'], modes: ['md'] }).forEach(({ title, screenshot, config }) => {
33
+ /**
34
+ * Font scaling does not vary across directions
35
+ * ios mode has a min font size
36
+ */
37
+ test.describe(title('chip: contents at large scale'), () => {
38
+ test('should handle contents wider than chip', async ({ page }) => {
39
+ await page.setContent(`
40
+ <style>
41
+ html {
42
+ font-size: 48px;
43
+ }
44
+ </style>
45
+ <ion-chip>
46
+ <ion-avatar>
47
+ <img
48
+ src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBmaWxsPSIjYzVkYmZmIiBkPSJNMCAwaDUxMnY1MTJIMHoiLz48cGF0aCBkPSJNMjU2IDMwNGM2MS42IDAgMTEyLTUwLjQgMTEyLTExMlMzMTcuNiA4MCAyNTYgODBzLTExMiA1MC40LTExMiAxMTIgNTAuNCAxMTIgMTEyIDExMnptMCA0MGMtNzQuMiAwLTIyNCAzNy44LTIyNCAxMTJ2NTZoNDQ4di01NmMwLTc0LjItMTQ5LjgtMTEyLTIyNC0xMTJ6IiBmaWxsPSIjODJhZWZmIi8+PC9zdmc+"
49
+ />
50
+ </ion-avatar>
51
+ <ion-label>With Icon and Avatar</ion-label>
52
+ <ion-icon name="close-circle"></ion-icon>
53
+ </ion-chip>`, config);
54
+ const chip = page.locator('ion-chip');
55
+ await expect(chip).toHaveScreenshot(screenshot('chip-large-contents'));
56
+ });
57
+ });
58
+ });
@@ -1,3 +1,69 @@
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
+ */
34
+ /**
35
+ * Convert a font size to a dynamic font size.
36
+ * Fonts that participate in Dynamic Type should use
37
+ * dynamic font sizes.
38
+ * @param size - The initial font size including the unit (i.e. px or pt)
39
+ * @param unit (optional) - The unit to convert to. Use this if you want to
40
+ * convert to a unit other than $baselineUnit.
41
+ */
42
+ /**
43
+ * Convert a font size to a dynamic font size but impose
44
+ * a maximum font size.
45
+ * @param size - The initial font size including the unit (i.e. px or pt)
46
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
47
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
48
+ * convert to a unit other than $baselineUnit.
49
+ */
50
+ /**
51
+ * Convert a font size to a dynamic font size but impose
52
+ * a minimum font size.
53
+ * @param size - The initial font size including the unit (i.e. px or pt)
54
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
55
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
56
+ * convert to a unit other than $baselineUnit.
57
+ */
58
+ /**
59
+ * Convert a font size to a dynamic font size but impose
60
+ * maximum and minimum font sizes.
61
+ * @param size - The initial font size including the unit (i.e. px or pt)
62
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
63
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
64
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
65
+ * convert to a unit other than $baselineUnit.
66
+ */
1
67
  :host {
2
68
  /**
3
69
  * @prop --ion-grid-columns: The number of total Columns in the Grid
@@ -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 content
@@ -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: The primary background of the datetime component.
@@ -281,8 +314,6 @@ ion-picker-column-internal {
281
314
  }
282
315
 
283
316
  :host .calendar-body .calendar-month {
284
- display: flex;
285
- flex-flow: column;
286
317
  /**
287
318
  * Swiping should snap to at
288
319
  * most one month at a time.
@@ -316,21 +347,11 @@ ion-picker-column-internal {
316
347
  grid-template-columns: repeat(7, 1fr);
317
348
  }
318
349
 
319
- :host .calendar-day-wrapper {
320
- display: flex;
321
- align-items: center;
322
- justify-content: center;
323
- min-width: 0;
324
- min-height: 0;
325
- overflow: visible;
326
- }
327
-
328
350
  /**
329
351
  * Center the day text vertically
330
352
  * and horizontally within its grid cell.
331
353
  */
332
354
  :host .calendar-day {
333
- border-radius: 50%;
334
355
  -webkit-padding-start: 0px;
335
356
  padding-inline-start: 0px;
336
357
  -webkit-padding-end: 0px;
@@ -362,9 +383,18 @@ ion-picker-column-internal {
362
383
  opacity: 0.4;
363
384
  }
364
385
 
365
- .calendar-day:focus {
366
- background: rgba(var(--ion-color-base-rgb), 0.2);
367
- box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);
386
+ .calendar-day-highlight {
387
+ border-radius: 32px;
388
+ -webkit-padding-start: 4px;
389
+ padding-inline-start: 4px;
390
+ -webkit-padding-end: 4px;
391
+ padding-inline-end: 4px;
392
+ padding-top: 4px;
393
+ padding-bottom: 4px;
394
+ position: absolute;
395
+ width: 32px;
396
+ height: 32px;
397
+ z-index: -1;
368
398
  }
369
399
 
370
400
  :host .datetime-time {
@@ -418,6 +448,39 @@ ion-picker-column-internal {
418
448
  --color: var(--ion-color-base);
419
449
  }
420
450
 
451
+ /**
452
+ * Convert a font size to a dynamic font size.
453
+ * Fonts that participate in Dynamic Type should use
454
+ * dynamic font sizes.
455
+ * @param size - The initial font size including the unit (i.e. px or pt)
456
+ * @param unit (optional) - The unit to convert to. Use this if you want to
457
+ * convert to a unit other than $baselineUnit.
458
+ */
459
+ /**
460
+ * Convert a font size to a dynamic font size but impose
461
+ * a maximum font size.
462
+ * @param size - The initial font size including the unit (i.e. px or pt)
463
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
464
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
465
+ * convert to a unit other than $baselineUnit.
466
+ */
467
+ /**
468
+ * Convert a font size to a dynamic font size but impose
469
+ * a minimum font size.
470
+ * @param size - The initial font size including the unit (i.e. px or pt)
471
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
472
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
473
+ * convert to a unit other than $baselineUnit.
474
+ */
475
+ /**
476
+ * Convert a font size to a dynamic font size but impose
477
+ * maximum and minimum font sizes.
478
+ * @param size - The initial font size including the unit (i.e. px or pt)
479
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
480
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
481
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
482
+ * convert to a unit other than $baselineUnit.
483
+ */
421
484
  :host {
422
485
  --background: var(--ion-color-light, #ffffff);
423
486
  --background-rgb: var(--ion-color-light-rgb);
@@ -504,30 +567,25 @@ ion-picker-column-internal {
504
567
  padding-inline-end: 8px;
505
568
  padding-top: 8px;
506
569
  padding-bottom: 8px;
507
- align-items: center;
508
570
  height: calc(100% - 16px);
509
571
  }
510
572
 
511
- :host .calendar-day-wrapper {
512
- -webkit-padding-start: 4px;
513
- padding-inline-start: 4px;
514
- -webkit-padding-end: 4px;
515
- padding-inline-end: 4px;
516
- padding-top: 4px;
517
- padding-bottom: 4px;
518
- height: 0;
519
- min-height: 16px;
520
- }
521
-
522
573
  :host .calendar-day {
523
- width: 40px;
524
- min-width: 40px;
525
- height: 40px;
526
574
  font-size: 20px;
527
575
  }
528
576
 
529
- .calendar-day.calendar-day-active {
530
- background: rgba(var(--ion-color-base-rgb), 0.2);
577
+ .calendar-day:focus .calendar-day-highlight,
578
+ .calendar-day.calendar-day-active .calendar-day-highlight {
579
+ opacity: 0.2;
580
+ }
581
+
582
+ .calendar-day.calendar-day-active .calendar-day-highlight {
583
+ background: var(--ion-color-base);
584
+ }
585
+
586
+ .calendar-day:focus .calendar-day-highlight {
587
+ /* stylelint-disable-next-line declaration-no-important */
588
+ background: var(--ion-color-base) !important;
531
589
  }
532
590
 
533
591
  /**
@@ -556,6 +614,11 @@ ion-picker-column-internal {
556
614
  color: var(--ion-color-contrast);
557
615
  }
558
616
 
617
+ .calendar-day.calendar-day-today.calendar-day-active .calendar-day-highlight {
618
+ background: var(--ion-color-base);
619
+ opacity: 1;
620
+ }
621
+
559
622
  :host .datetime-time {
560
623
  -webkit-padding-start: 16px;
561
624
  padding-inline-start: 16px;