voyager-ionic-core 7.4.4 → 7.5.1

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 (574) hide show
  1. package/components/action-sheet.js +2 -2
  2. package/components/alert.js +10 -2
  3. package/components/button.js +2 -2
  4. package/components/buttons.js +2 -2
  5. package/components/checkbox.js +1 -1
  6. package/components/data.js +96 -22
  7. package/components/haptic.js +1 -0
  8. package/components/icon.js +31 -18
  9. package/components/index.js +1 -0
  10. package/components/index4.js +26 -19
  11. package/components/index7.js +1 -1
  12. package/components/ion-back-button.js +2 -2
  13. package/components/ion-badge.js +2 -2
  14. package/components/ion-breadcrumb.js +2 -2
  15. package/components/ion-card-content.js +2 -2
  16. package/components/ion-card-subtitle.js +2 -2
  17. package/components/ion-card-title.js +2 -2
  18. package/components/ion-card.js +2 -2
  19. package/components/ion-chip.js +8 -3
  20. package/components/ion-datetime-button.js +6 -6
  21. package/components/ion-datetime.js +6 -6
  22. package/components/ion-header.js +1 -1
  23. package/components/ion-input.js +2 -2
  24. package/components/ion-item-divider.js +2 -2
  25. package/components/ion-item-option.js +2 -2
  26. package/components/ion-item-options.js +2 -2
  27. package/components/ion-loading.js +2 -2
  28. package/components/ion-menu-button.js +2 -2
  29. package/components/ion-menu.js +0 -12
  30. package/components/ion-nav.js +1 -0
  31. package/components/ion-range.js +2 -2
  32. package/components/ion-reorder.js +2 -2
  33. package/components/ion-router.js +3 -0
  34. package/components/ion-searchbar.js +9 -3
  35. package/components/ion-select.js +3 -3
  36. package/components/ion-textarea.js +2 -2
  37. package/components/ion-title.js +2 -2
  38. package/components/ion-toast.js +159 -15
  39. package/components/ion-toolbar.js +1 -1
  40. package/components/ios.transition.js +212 -43
  41. package/components/item.js +2 -2
  42. package/components/label.js +2 -2
  43. package/components/list-header.js +2 -2
  44. package/components/note.js +2 -2
  45. package/components/overlays.js +1 -0
  46. package/components/radio.js +2 -2
  47. package/css/core.css +100 -0
  48. package/css/core.css.map +1 -1
  49. package/css/display.css +33 -0
  50. package/css/display.css.map +1 -1
  51. package/css/float-elements.css +33 -0
  52. package/css/float-elements.css.map +1 -1
  53. package/css/global.bundle.css +84 -6
  54. package/css/global.bundle.css.map +1 -1
  55. package/css/ionic-swiper.css +33 -0
  56. package/css/ionic-swiper.css.map +1 -1
  57. package/css/ionic.bundle.css +1 -1
  58. package/css/ionic.bundle.css.map +1 -1
  59. package/css/padding.css +33 -0
  60. package/css/padding.css.map +1 -1
  61. package/css/structure.css +33 -0
  62. package/css/structure.css.map +1 -1
  63. package/css/text-alignment.css +33 -0
  64. package/css/text-alignment.css.map +1 -1
  65. package/css/text-transformation.css +33 -0
  66. package/css/text-transformation.css.map +1 -1
  67. package/css/typography.css +51 -6
  68. package/css/typography.css.map +1 -1
  69. package/css/utils.bundle.css +165 -0
  70. package/css/utils.bundle.css.map +1 -1
  71. package/dist/cjs/{button-active-0932cee9.js → button-active-c0ff1915.js} +1 -1
  72. package/dist/cjs/{data-db832785.js → data-c8d21093.js} +96 -22
  73. package/dist/cjs/{haptic-c5f6b4d5.js → haptic-678abc9f.js} +1 -0
  74. package/dist/cjs/{index-d8d1fc0b.js → index-09471526.js} +1 -1
  75. package/dist/cjs/{index-f94cbab1.js → index-5e7529f6.js} +26 -19
  76. package/dist/cjs/{index-d3568232.js → index-eccba000.js} +2 -2
  77. package/dist/cjs/index.cjs.js +8 -6
  78. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  79. package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -5
  80. package/dist/cjs/ion-alert.cjs.entry.js +13 -5
  81. package/dist/cjs/ion-app_8.cjs.entry.js +7 -7
  82. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  83. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  84. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  85. package/dist/cjs/ion-button_2.cjs.entry.js +33 -20
  86. package/dist/cjs/ion-card_5.cjs.entry.js +8 -8
  87. package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
  88. package/dist/cjs/ion-chip.cjs.entry.js +7 -2
  89. package/dist/cjs/ion-datetime-button.cjs.entry.js +6 -6
  90. package/dist/cjs/ion-datetime_3.cjs.entry.js +9 -9
  91. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  92. package/dist/cjs/ion-input.cjs.entry.js +3 -3
  93. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  94. package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
  95. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  96. package/dist/cjs/ion-menu_3.cjs.entry.js +8 -19
  97. package/dist/cjs/ion-modal.cjs.entry.js +2 -2
  98. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -1
  99. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +1 -1
  100. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  101. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  102. package/dist/cjs/ion-range.cjs.entry.js +2 -2
  103. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  104. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  105. package/dist/cjs/ion-route_4.cjs.entry.js +3 -0
  106. package/dist/cjs/ion-searchbar.cjs.entry.js +10 -4
  107. package/dist/cjs/ion-select_3.cjs.entry.js +5 -5
  108. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  109. package/dist/cjs/ion-toast.cjs.entry.js +176 -34
  110. package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
  111. package/dist/cjs/ionic.cjs.js +2 -2
  112. package/dist/cjs/{ios.transition-7d688757.js → ios.transition-5af5991e.js} +213 -44
  113. package/dist/cjs/loader.cjs.js +1 -1
  114. package/dist/cjs/{md.transition-d77d3c2e.js → md.transition-1e740a6a.js} +1 -1
  115. package/dist/cjs/{overlays-7e1a08fa.js → overlays-1a734051.js} +1 -0
  116. package/dist/collection/collection-manifest.json +1 -1
  117. package/dist/collection/components/accordion/accordion.ios.css +66 -0
  118. package/dist/collection/components/accordion/accordion.md.css +33 -0
  119. package/dist/collection/components/accordion-group/accordion-group.ios.css +66 -0
  120. package/dist/collection/components/accordion-group/accordion-group.md.css +99 -0
  121. package/dist/collection/components/action-sheet/action-sheet.ios.css +80 -12
  122. package/dist/collection/components/action-sheet/action-sheet.md.css +76 -8
  123. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +27 -0
  124. package/dist/collection/components/alert/alert.ios.css +138 -21
  125. package/dist/collection/components/alert/alert.js +8 -0
  126. package/dist/collection/components/alert/alert.md.css +108 -8
  127. package/dist/collection/components/alert/test/a11y/alert.e2e.js +122 -0
  128. package/dist/collection/components/avatar/avatar.ios.css +66 -0
  129. package/dist/collection/components/avatar/avatar.md.css +66 -0
  130. package/dist/collection/components/back-button/back-button.ios.css +83 -1
  131. package/dist/collection/components/back-button/back-button.md.css +75 -3
  132. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +26 -0
  133. package/dist/collection/components/backdrop/backdrop.ios.css +66 -0
  134. package/dist/collection/components/backdrop/backdrop.md.css +66 -0
  135. package/dist/collection/components/badge/badge.ios.css +75 -1
  136. package/dist/collection/components/badge/badge.md.css +67 -1
  137. package/dist/collection/components/badge/test/a11y/badge.e2e.js +22 -0
  138. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +80 -3
  139. package/dist/collection/components/breadcrumb/breadcrumb.md.css +69 -3
  140. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +33 -0
  141. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +33 -0
  142. package/dist/collection/components/breadcrumbs/test/a11y/breadcrumbs.e2e.js +21 -0
  143. package/dist/collection/components/button/button.ios.css +118 -19
  144. package/dist/collection/components/button/button.md.css +69 -3
  145. package/dist/collection/components/button/test/a11y/button.e2e.js +61 -0
  146. package/dist/collection/components/buttons/buttons.ios.css +102 -3
  147. package/dist/collection/components/buttons/buttons.md.css +101 -2
  148. package/dist/collection/components/buttons/test/a11y/buttons.e2e.js +74 -0
  149. package/dist/collection/components/card/card.ios.css +67 -1
  150. package/dist/collection/components/card/card.md.css +67 -1
  151. package/dist/collection/components/card/test/a11y/card.e2e.js +31 -0
  152. package/dist/collection/components/card-content/card-content.ios.css +71 -5
  153. package/dist/collection/components/card-content/card-content.md.css +71 -5
  154. package/dist/collection/components/card-header/card-header.ios.css +66 -0
  155. package/dist/collection/components/card-header/card-header.md.css +66 -0
  156. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +67 -1
  157. package/dist/collection/components/card-subtitle/card-subtitle.md.css +67 -1
  158. package/dist/collection/components/card-title/card-title.ios.css +67 -1
  159. package/dist/collection/components/card-title/card-title.md.css +67 -1
  160. package/dist/collection/components/checkbox/checkbox.ios.css +101 -2
  161. package/dist/collection/components/checkbox/checkbox.md.css +99 -0
  162. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +18 -0
  163. package/dist/collection/components/chip/chip.ios.css +190 -0
  164. package/dist/collection/components/chip/chip.js +4 -2
  165. package/dist/collection/components/chip/{chip.css → chip.md.css} +43 -7
  166. package/dist/collection/components/chip/test/a11y/chip.e2e.js +58 -0
  167. package/dist/collection/components/col/col.css +66 -0
  168. package/dist/collection/components/content/content.css +33 -0
  169. package/dist/collection/components/datetime/datetime.ios.css +198 -7
  170. package/dist/collection/components/datetime/datetime.js +13 -7
  171. package/dist/collection/components/datetime/datetime.md.css +97 -5
  172. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +28 -0
  173. package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +14 -0
  174. package/dist/collection/components/datetime/utils/data.js +33 -7
  175. package/dist/collection/components/datetime/utils/format.js +27 -10
  176. package/dist/collection/components/datetime/utils/helpers.js +37 -5
  177. package/dist/collection/components/datetime-button/datetime-button.css +36 -2
  178. package/dist/collection/components/datetime-button/datetime-button.js +4 -4
  179. package/dist/collection/components/datetime-button/test/a11y/datetime-button.e2e.js +38 -0
  180. package/dist/collection/components/fab/fab.css +132 -0
  181. package/dist/collection/components/fab-button/fab-button.ios.css +66 -0
  182. package/dist/collection/components/fab-button/fab-button.md.css +66 -0
  183. package/dist/collection/components/fab-list/fab-list.css +66 -0
  184. package/dist/collection/components/footer/footer.ios.css +66 -0
  185. package/dist/collection/components/footer/footer.md.css +66 -0
  186. package/dist/collection/components/grid/grid.css +66 -0
  187. package/dist/collection/components/header/header.ios.css +71 -2
  188. package/dist/collection/components/header/header.md.css +66 -0
  189. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +66 -0
  190. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +66 -0
  191. package/dist/collection/components/input/input.ios.css +100 -1
  192. package/dist/collection/components/input/input.md.css +199 -1
  193. package/dist/collection/components/input/test/a11y/input.e2e.js +15 -1
  194. package/dist/collection/components/item/item.ios.css +70 -4
  195. package/dist/collection/components/item/item.md.css +138 -6
  196. package/dist/collection/components/item/test/a11y/item.e2e.js +116 -1
  197. package/dist/collection/components/item-divider/item-divider.ios.css +101 -9
  198. package/dist/collection/components/item-divider/item-divider.md.css +103 -11
  199. package/dist/collection/components/item-divider/test/a11y/item-divider.e2e.js +44 -0
  200. package/dist/collection/components/item-group/item-group.ios.css +68 -1
  201. package/dist/collection/components/item-group/item-group.md.css +68 -1
  202. package/dist/collection/components/item-option/item-option.ios.css +67 -1
  203. package/dist/collection/components/item-option/item-option.md.css +67 -1
  204. package/dist/collection/components/item-options/item-options.ios.css +99 -1
  205. package/dist/collection/components/item-options/item-options.md.css +99 -1
  206. package/dist/collection/components/item-sliding/item-sliding.css +33 -0
  207. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +34 -0
  208. package/dist/collection/components/label/label.ios.css +105 -6
  209. package/dist/collection/components/label/label.md.css +104 -5
  210. package/dist/collection/components/label/test/a11y/label.e2e.js +66 -0
  211. package/dist/collection/components/list/list.ios.css +99 -0
  212. package/dist/collection/components/list/list.md.css +99 -0
  213. package/dist/collection/components/list-header/list-header.ios.css +100 -1
  214. package/dist/collection/components/list-header/list-header.md.css +100 -1
  215. package/dist/collection/components/list-header/test/a11y/list-header.e2e.js +24 -0
  216. package/dist/collection/components/loading/loading.ios.css +67 -1
  217. package/dist/collection/components/loading/loading.md.css +67 -1
  218. package/dist/collection/components/loading/test/a11y/loading.e2e.js +19 -0
  219. package/dist/collection/components/menu/menu.ios.css +66 -0
  220. package/dist/collection/components/menu/menu.js +0 -12
  221. package/dist/collection/components/menu/menu.md.css +66 -0
  222. package/dist/collection/components/menu/test/multiple/menu.e2e.js +60 -0
  223. package/dist/collection/components/menu-button/menu-button.ios.css +70 -2
  224. package/dist/collection/components/menu-button/menu-button.md.css +71 -3
  225. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +20 -1
  226. package/dist/collection/components/modal/modal.ios.css +66 -0
  227. package/dist/collection/components/modal/modal.md.css +66 -0
  228. package/dist/collection/components/nav/nav.css +33 -0
  229. package/dist/collection/components/nav/nav.js +1 -0
  230. package/dist/collection/components/note/note.ios.css +67 -0
  231. package/dist/collection/components/note/note.md.css +67 -1
  232. package/dist/collection/components/note/test/a11y/note.e2e.js +52 -0
  233. package/dist/collection/components/picker/picker.ios.css +66 -0
  234. package/dist/collection/components/picker/picker.md.css +66 -0
  235. package/dist/collection/components/picker-column/picker-column.ios.css +66 -0
  236. package/dist/collection/components/picker-column/picker-column.md.css +66 -0
  237. package/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +33 -0
  238. package/dist/collection/components/picker-column-internal/picker-column-internal.md.css +66 -0
  239. package/dist/collection/components/picker-internal/picker-internal.ios.css +66 -0
  240. package/dist/collection/components/picker-internal/picker-internal.md.css +66 -0
  241. package/dist/collection/components/popover/popover.ios.css +66 -0
  242. package/dist/collection/components/popover/popover.md.css +66 -0
  243. package/dist/collection/components/progress-bar/progress-bar.ios.css +33 -0
  244. package/dist/collection/components/progress-bar/progress-bar.md.css +33 -0
  245. package/dist/collection/components/radio/radio.ios.css +104 -5
  246. package/dist/collection/components/radio/radio.md.css +104 -5
  247. package/dist/collection/components/radio/test/a11y/radio.e2e.js +21 -0
  248. package/dist/collection/components/range/range.ios.css +82 -8
  249. package/dist/collection/components/range/range.md.css +99 -11
  250. package/dist/collection/components/range/test/a11y/range.e2e.js +22 -0
  251. package/dist/collection/components/refresher/refresher.ios.css +66 -0
  252. package/dist/collection/components/refresher/refresher.md.css +66 -0
  253. package/dist/collection/components/reorder/reorder.ios.css +75 -2
  254. package/dist/collection/components/reorder/reorder.md.css +75 -2
  255. package/dist/collection/components/reorder-group/reorder-group.css +33 -0
  256. package/dist/collection/components/reorder-group/test/a11y/reorder-group.e2e.js +33 -0
  257. package/dist/collection/components/ripple-effect/ripple-effect.css +33 -0
  258. package/dist/collection/components/router/router.js +2 -0
  259. package/dist/collection/components/router/utils/path.js +1 -0
  260. package/dist/collection/components/router-link/router-link.css +33 -0
  261. package/dist/collection/components/router-outlet/router-outlet.css +33 -0
  262. package/dist/collection/components/row/row.css +66 -0
  263. package/dist/collection/components/searchbar/searchbar.ios.css +95 -16
  264. package/dist/collection/components/searchbar/searchbar.js +7 -1
  265. package/dist/collection/components/searchbar/searchbar.md.css +77 -10
  266. package/dist/collection/components/searchbar/test/a11y/searchbar.e2e.js +37 -0
  267. package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +18 -0
  268. package/dist/collection/components/segment/segment.ios.css +99 -0
  269. package/dist/collection/components/segment/segment.md.css +99 -0
  270. package/dist/collection/components/segment-button/segment-button.ios.css +66 -0
  271. package/dist/collection/components/segment-button/segment-button.md.css +66 -0
  272. package/dist/collection/components/select/select.ios.css +102 -3
  273. package/dist/collection/components/select/select.js +1 -1
  274. package/dist/collection/components/select/select.md.css +167 -2
  275. package/dist/collection/components/select/test/a11y/select.e2e.js +22 -0
  276. package/dist/collection/components/select-popover/select-popover.ios.css +101 -1
  277. package/dist/collection/components/select-popover/select-popover.md.css +99 -0
  278. package/dist/collection/components/skeleton-text/skeleton-text.css +33 -0
  279. package/dist/collection/components/spinner/spinner.css +33 -0
  280. package/dist/collection/components/split-pane/split-pane.ios.css +99 -0
  281. package/dist/collection/components/split-pane/split-pane.md.css +99 -0
  282. package/dist/collection/components/tab-bar/tab-bar.ios.css +99 -0
  283. package/dist/collection/components/tab-bar/tab-bar.md.css +99 -0
  284. package/dist/collection/components/tab-button/tab-button.ios.css +66 -0
  285. package/dist/collection/components/tab-button/tab-button.md.css +66 -0
  286. package/dist/collection/components/tabs/tabs.css +33 -0
  287. package/dist/collection/components/text/text.css +33 -0
  288. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +15 -1
  289. package/dist/collection/components/textarea/textarea.ios.css +133 -1
  290. package/dist/collection/components/textarea/textarea.md.css +199 -1
  291. package/dist/collection/components/thumbnail/thumbnail.css +33 -0
  292. package/dist/collection/components/title/test/a11y/title.e2e.js +61 -0
  293. package/dist/collection/components/title/title.ios.css +52 -10
  294. package/dist/collection/components/title/title.md.css +35 -2
  295. package/dist/collection/components/toast/animations/ios.enter.js +2 -3
  296. package/dist/collection/components/toast/animations/ios.leave.js +2 -3
  297. package/dist/collection/components/toast/animations/md.enter.js +2 -3
  298. package/dist/collection/components/toast/animations/utils.js +85 -0
  299. package/dist/collection/components/toast/test/a11y/toast.e2e.js +98 -1
  300. package/dist/collection/components/toast/test/position-anchor/toast.e2e.js +45 -0
  301. package/dist/collection/components/toast/toast.ios.css +74 -3
  302. package/dist/collection/components/toast/toast.js +98 -9
  303. package/dist/collection/components/toast/toast.md.css +74 -4
  304. package/dist/collection/components/toggle/toggle.ios.css +99 -0
  305. package/dist/collection/components/toggle/toggle.md.css +99 -0
  306. package/dist/collection/components/toolbar/toolbar.ios.css +66 -14
  307. package/dist/collection/components/toolbar/toolbar.md.css +66 -0
  308. package/dist/collection/css/test/a11y/typography.e2e.js +32 -0
  309. package/dist/collection/index.js +1 -0
  310. package/dist/collection/utils/menu-controller/index.js +26 -19
  311. package/dist/collection/utils/native/haptic.js +1 -0
  312. package/dist/collection/utils/overlays.js +1 -0
  313. package/dist/collection/utils/transition/ios.transition.js +212 -43
  314. package/dist/docs.json +74 -11
  315. package/dist/esm/{button-active-5136c12d.js → button-active-d926d4f4.js} +1 -1
  316. package/dist/esm/{data-009dbf15.js → data-44d9e816.js} +96 -22
  317. package/dist/esm/{haptic-6447af60.js → haptic-1243b917.js} +1 -0
  318. package/dist/esm/{index-641aeeed.js → index-a09eac70.js} +2 -2
  319. package/dist/esm/{index-ecfc2c9f.js → index-c132c5f1.js} +1 -1
  320. package/dist/esm/{index-d78b533e.js → index-df55802d.js} +26 -19
  321. package/dist/esm/index.js +7 -6
  322. package/dist/esm/ion-accordion_2.entry.js +1 -1
  323. package/dist/esm/ion-action-sheet.entry.js +5 -5
  324. package/dist/esm/ion-alert.entry.js +13 -5
  325. package/dist/esm/ion-app_8.entry.js +7 -7
  326. package/dist/esm/ion-avatar_3.entry.js +2 -2
  327. package/dist/esm/ion-back-button.entry.js +3 -3
  328. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  329. package/dist/esm/ion-button_2.entry.js +33 -20
  330. package/dist/esm/ion-card_5.entry.js +8 -8
  331. package/dist/esm/ion-checkbox.entry.js +1 -1
  332. package/dist/esm/ion-chip.entry.js +7 -2
  333. package/dist/esm/ion-datetime-button.entry.js +6 -6
  334. package/dist/esm/ion-datetime_3.entry.js +9 -9
  335. package/dist/esm/ion-fab_3.entry.js +1 -1
  336. package/dist/esm/ion-input.entry.js +3 -3
  337. package/dist/esm/ion-item-option_3.entry.js +4 -4
  338. package/dist/esm/ion-item_8.entry.js +11 -11
  339. package/dist/esm/ion-loading.entry.js +3 -3
  340. package/dist/esm/ion-menu_3.entry.js +7 -18
  341. package/dist/esm/ion-modal.entry.js +2 -2
  342. package/dist/esm/ion-nav_2.entry.js +2 -1
  343. package/dist/esm/ion-picker-column-internal.entry.js +1 -1
  344. package/dist/esm/ion-popover.entry.js +2 -2
  345. package/dist/esm/ion-radio_2.entry.js +2 -2
  346. package/dist/esm/ion-range.entry.js +2 -2
  347. package/dist/esm/ion-refresher_2.entry.js +2 -2
  348. package/dist/esm/ion-reorder_2.entry.js +4 -4
  349. package/dist/esm/ion-route_4.entry.js +3 -0
  350. package/dist/esm/ion-searchbar.entry.js +10 -4
  351. package/dist/esm/ion-select_3.entry.js +5 -5
  352. package/dist/esm/ion-textarea.entry.js +2 -2
  353. package/dist/esm/ion-toast.entry.js +159 -17
  354. package/dist/esm/ion-toggle.entry.js +2 -2
  355. package/dist/esm/ionic.js +2 -2
  356. package/dist/esm/{ios.transition-04c9a97a.js → ios.transition-4d1322d6.js} +213 -44
  357. package/dist/esm/loader.js +1 -1
  358. package/dist/esm/{md.transition-67a8aabd.js → md.transition-66b425d0.js} +1 -1
  359. package/dist/esm/{overlays-2fa52617.js → overlays-cec6bac8.js} +1 -0
  360. package/dist/esm-es5/{button-active-5136c12d.js → button-active-d926d4f4.js} +1 -1
  361. package/dist/esm-es5/data-44d9e816.js +4 -0
  362. package/dist/esm-es5/index-a09eac70.js +4 -0
  363. package/dist/esm-es5/index-df55802d.js +4 -0
  364. package/dist/esm-es5/index.js +1 -1
  365. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  366. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  367. package/dist/esm-es5/ion-alert.entry.js +1 -1
  368. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  369. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  370. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  371. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  372. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  373. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  374. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  375. package/dist/esm-es5/ion-chip.entry.js +1 -1
  376. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  377. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  378. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  379. package/dist/esm-es5/ion-input.entry.js +1 -1
  380. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  381. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  382. package/dist/esm-es5/ion-loading.entry.js +1 -1
  383. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  384. package/dist/esm-es5/ion-modal.entry.js +1 -1
  385. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  386. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  387. package/dist/esm-es5/ion-popover.entry.js +1 -1
  388. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  389. package/dist/esm-es5/ion-range.entry.js +1 -1
  390. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  391. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  392. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  393. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  394. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  395. package/dist/esm-es5/ion-toast.entry.js +1 -1
  396. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  397. package/dist/esm-es5/ionic.js +1 -1
  398. package/dist/esm-es5/ios.transition-4d1322d6.js +4 -0
  399. package/dist/esm-es5/loader.js +1 -1
  400. package/dist/esm-es5/md.transition-66b425d0.js +4 -0
  401. package/dist/html.html-data.json +11 -1
  402. package/dist/ionic/index.esm.js +1 -1
  403. package/dist/ionic/ionic.esm.js +1 -1
  404. package/dist/ionic/ionic.js +1 -1
  405. package/dist/ionic/p-012952cd.system.entry.js +4 -0
  406. package/dist/ionic/p-091c8792.system.js +4 -0
  407. package/dist/ionic/{p-4b8db805.entry.js → p-0ac3fb2c.entry.js} +1 -1
  408. package/dist/ionic/{p-ec9052a4.entry.js → p-0b00b937.entry.js} +1 -1
  409. package/dist/ionic/{p-9b4a77fc.system.entry.js → p-0b7c25ee.system.entry.js} +1 -1
  410. package/dist/ionic/p-0bbede6a.system.entry.js +4 -0
  411. package/dist/ionic/{p-1d0aa82f.system.entry.js → p-0f1f59da.system.entry.js} +1 -1
  412. package/dist/ionic/p-17240d90.js +4 -0
  413. package/dist/ionic/p-19fba51c.entry.js +4 -0
  414. package/dist/ionic/p-1a463b1e.system.entry.js +4 -0
  415. package/dist/ionic/p-1edb53a1.entry.js +4 -0
  416. package/dist/ionic/p-1f260a7b.entry.js +4 -0
  417. package/dist/ionic/{p-1c82e9ff.js → p-28ea45b9.js} +1 -1
  418. package/dist/ionic/p-2a8eeef7.system.js +4 -0
  419. package/dist/ionic/p-303bf1e8.system.entry.js +4 -0
  420. package/dist/ionic/p-31119a15.entry.js +4 -0
  421. package/dist/ionic/p-34259245.system.entry.js +4 -0
  422. package/dist/ionic/{p-914ac0fc.entry.js → p-35b26732.entry.js} +1 -1
  423. package/dist/ionic/p-35e399bd.entry.js +4 -0
  424. package/dist/ionic/{p-4dd96c8d.entry.js → p-38089641.entry.js} +1 -1
  425. package/dist/ionic/{p-f588e951.entry.js → p-3818f63f.entry.js} +1 -1
  426. package/dist/ionic/p-38c5fe2b.system.entry.js +4 -0
  427. package/dist/ionic/p-4215652f.system.entry.js +4 -0
  428. package/dist/ionic/p-4e50b8d1.entry.js +4 -0
  429. package/dist/ionic/p-4f97c112.entry.js +4 -0
  430. package/dist/ionic/p-54200074.entry.js +4 -0
  431. package/dist/ionic/p-572cce26.system.entry.js +4 -0
  432. package/dist/ionic/p-61b192a4.system.entry.js +4 -0
  433. package/dist/ionic/p-62e7d4fa.js +4 -0
  434. package/dist/ionic/p-673846f6.entry.js +4 -0
  435. package/dist/ionic/p-6ce0a709.system.entry.js +4 -0
  436. package/dist/ionic/p-6f6646bf.system.entry.js +4 -0
  437. package/dist/ionic/{p-2a7c0093.entry.js → p-7423746f.entry.js} +1 -1
  438. package/dist/ionic/p-755b2917.system.js +4 -0
  439. package/dist/ionic/p-78030c1f.system.entry.js +4 -0
  440. package/dist/ionic/p-8083aadb.entry.js +4 -0
  441. package/dist/ionic/p-81ef7437.system.entry.js +4 -0
  442. package/dist/ionic/{p-deb6ddad.entry.js → p-8209372c.entry.js} +1 -1
  443. package/dist/ionic/p-8c1805f4.system.entry.js +4 -0
  444. package/dist/ionic/p-8d6728a1.system.entry.js +4 -0
  445. package/dist/ionic/p-9dc85536.system.entry.js +4 -0
  446. package/dist/ionic/p-9e106f58.entry.js +4 -0
  447. package/dist/ionic/p-a164e3ab.system.entry.js +4 -0
  448. package/dist/ionic/{p-5efb899f.entry.js → p-a200a7fc.entry.js} +1 -1
  449. package/dist/ionic/p-a34fc12e.system.entry.js +4 -0
  450. package/dist/ionic/p-a9c32660.entry.js +4 -0
  451. package/dist/ionic/{p-5ece7025.system.js → p-aa377971.system.js} +1 -1
  452. package/dist/ionic/p-ad48dd13.system.js +4 -0
  453. package/dist/ionic/{p-d89d0de0.entry.js → p-afb6658f.entry.js} +1 -1
  454. package/dist/ionic/{p-6fb80ef3.system.entry.js → p-b753ec0d.system.entry.js} +1 -1
  455. package/dist/ionic/p-b8c3f071.system.js +4 -0
  456. package/dist/ionic/p-bb055450.system.entry.js +4 -0
  457. package/dist/ionic/p-c105bd36.entry.js +4 -0
  458. package/dist/ionic/p-c42c86c0.system.entry.js +4 -0
  459. package/dist/ionic/p-c44fe9fd.js +4 -0
  460. package/dist/ionic/p-c575a7b8.system.entry.js +4 -0
  461. package/dist/ionic/{p-3c2c6fce.entry.js → p-c679fcb5.entry.js} +1 -1
  462. package/dist/ionic/p-c8c9d699.system.entry.js +4 -0
  463. package/dist/ionic/p-c92f0a6d.system.entry.js +4 -0
  464. package/dist/ionic/p-c956e82c.system.entry.js +4 -0
  465. package/dist/ionic/p-cabd2c6d.entry.js +4 -0
  466. package/dist/ionic/p-cd2d17c3.system.entry.js +4 -0
  467. package/dist/ionic/{p-238f0ac5.system.entry.js → p-ce7d67a7.system.entry.js} +1 -1
  468. package/dist/ionic/p-d6e53e66.entry.js +4 -0
  469. package/dist/ionic/p-de68588d.js +4 -0
  470. package/dist/ionic/p-e028178a.system.js +4 -0
  471. package/dist/ionic/p-e0f0d55f.system.js +4 -0
  472. package/dist/ionic/p-e1d5752d.system.entry.js +4 -0
  473. package/dist/ionic/{p-f623aa6d.entry.js → p-e25cb483.entry.js} +1 -1
  474. package/dist/ionic/p-e65ebe96.entry.js +4 -0
  475. package/dist/ionic/p-e74faf2a.entry.js +4 -0
  476. package/dist/ionic/p-eb7d0922.js +4 -0
  477. package/dist/ionic/p-eb8dc56f.system.entry.js +4 -0
  478. package/dist/ionic/{p-8297652e.entry.js → p-f4309ac7.entry.js} +1 -1
  479. package/dist/ionic/p-f5bf698b.entry.js +4 -0
  480. package/dist/ionic/p-f7566bad.entry.js +4 -0
  481. package/dist/ionic/p-f919c026.entry.js +4 -0
  482. package/dist/ionic/{p-5cd791b3.system.entry.js → p-f9fa802c.system.entry.js} +1 -1
  483. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +49 -6
  484. package/dist/types/components/datetime/datetime-interface.d.ts +1 -0
  485. package/dist/types/components/datetime/datetime.d.ts +2 -2
  486. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  487. package/dist/types/components/datetime/utils/format.d.ts +3 -3
  488. package/dist/types/components/datetime/utils/helpers.d.ts +15 -1
  489. package/dist/types/components/menu/menu-interface.d.ts +15 -5
  490. package/dist/types/components/toast/animations/ios.enter.d.ts +2 -1
  491. package/dist/types/components/toast/animations/ios.leave.d.ts +2 -2
  492. package/dist/types/components/toast/animations/md.enter.d.ts +2 -1
  493. package/dist/types/components/toast/animations/utils.d.ts +18 -0
  494. package/dist/types/components/toast/toast-interface.d.ts +11 -0
  495. package/dist/types/components/toast/toast.d.ts +21 -1
  496. package/dist/types/components.d.ts +16 -8
  497. package/dist/types/index.d.ts +1 -0
  498. package/dist/types/stencil-public-runtime.d.ts +19 -0
  499. package/dist/types/utils/menu-controller/index.d.ts +2 -22
  500. package/hydrate/index.js +630 -204
  501. package/package.json +10 -12
  502. package/dist/esm-es5/data-009dbf15.js +0 -4
  503. package/dist/esm-es5/index-641aeeed.js +0 -4
  504. package/dist/esm-es5/index-d78b533e.js +0 -4
  505. package/dist/esm-es5/ios.transition-04c9a97a.js +0 -4
  506. package/dist/esm-es5/md.transition-67a8aabd.js +0 -4
  507. package/dist/ionic/p-02a4e81a.js +0 -4
  508. package/dist/ionic/p-03c381ec.system.entry.js +0 -4
  509. package/dist/ionic/p-048f1ebe.entry.js +0 -4
  510. package/dist/ionic/p-04e7c8fd.entry.js +0 -4
  511. package/dist/ionic/p-05ae600a.system.js +0 -4
  512. package/dist/ionic/p-0c37546b.system.entry.js +0 -4
  513. package/dist/ionic/p-117cd69f.system.entry.js +0 -4
  514. package/dist/ionic/p-13d6e57a.js +0 -4
  515. package/dist/ionic/p-164b0e76.entry.js +0 -4
  516. package/dist/ionic/p-170e9de0.system.entry.js +0 -4
  517. package/dist/ionic/p-19384b9e.entry.js +0 -4
  518. package/dist/ionic/p-2784263e.system.entry.js +0 -4
  519. package/dist/ionic/p-29e3a9bb.entry.js +0 -4
  520. package/dist/ionic/p-32717950.system.entry.js +0 -4
  521. package/dist/ionic/p-32d364f0.entry.js +0 -4
  522. package/dist/ionic/p-35818410.entry.js +0 -4
  523. package/dist/ionic/p-37448ac1.entry.js +0 -4
  524. package/dist/ionic/p-38ccfd71.system.entry.js +0 -4
  525. package/dist/ionic/p-44ef7224.system.js +0 -4
  526. package/dist/ionic/p-45f5c8ba.system.entry.js +0 -4
  527. package/dist/ionic/p-47db15c6.entry.js +0 -4
  528. package/dist/ionic/p-4811e4af.system.entry.js +0 -4
  529. package/dist/ionic/p-4bb26b01.system.entry.js +0 -4
  530. package/dist/ionic/p-4d6ac0fe.system.entry.js +0 -4
  531. package/dist/ionic/p-51269f3b.system.js +0 -4
  532. package/dist/ionic/p-55d3a9b2.entry.js +0 -4
  533. package/dist/ionic/p-576e6d0f.system.entry.js +0 -4
  534. package/dist/ionic/p-5b32b053.entry.js +0 -4
  535. package/dist/ionic/p-5bc5008c.entry.js +0 -4
  536. package/dist/ionic/p-5c3e72a8.system.js +0 -4
  537. package/dist/ionic/p-5c651aab.system.entry.js +0 -4
  538. package/dist/ionic/p-64e20cd9.entry.js +0 -4
  539. package/dist/ionic/p-65a5761f.js +0 -4
  540. package/dist/ionic/p-6ac3e877.system.entry.js +0 -4
  541. package/dist/ionic/p-706a0391.entry.js +0 -4
  542. package/dist/ionic/p-72aea40e.system.entry.js +0 -4
  543. package/dist/ionic/p-73ed9a91.js +0 -4
  544. package/dist/ionic/p-7cfd253c.js +0 -4
  545. package/dist/ionic/p-839276d4.entry.js +0 -4
  546. package/dist/ionic/p-8ee012cb.system.entry.js +0 -4
  547. package/dist/ionic/p-908720f3.system.entry.js +0 -4
  548. package/dist/ionic/p-95b14c73.system.entry.js +0 -4
  549. package/dist/ionic/p-99dfa53f.system.entry.js +0 -4
  550. package/dist/ionic/p-a18ec02b.entry.js +0 -4
  551. package/dist/ionic/p-b109a3d7.system.entry.js +0 -4
  552. package/dist/ionic/p-b3690814.system.entry.js +0 -4
  553. package/dist/ionic/p-c3efbcf5.system.js +0 -4
  554. package/dist/ionic/p-c48fc95d.system.entry.js +0 -4
  555. package/dist/ionic/p-c7428627.system.entry.js +0 -4
  556. package/dist/ionic/p-d0ad0430.system.entry.js +0 -4
  557. package/dist/ionic/p-d55c9f92.system.entry.js +0 -4
  558. package/dist/ionic/p-d7b8d224.entry.js +0 -4
  559. package/dist/ionic/p-df5fe0be.system.js +0 -4
  560. package/dist/ionic/p-e1ac688a.entry.js +0 -4
  561. package/dist/ionic/p-e2fd0895.entry.js +0 -4
  562. package/dist/ionic/p-f960fd84.system.entry.js +0 -4
  563. package/dist/ionic/p-fbcb157b.system.js +0 -4
  564. package/dist/ionic/p-fccfe602.entry.js +0 -4
  565. package/dist/ionic/p-ff555f6f.system.entry.js +0 -4
  566. /package/dist/esm-es5/{haptic-6447af60.js → haptic-1243b917.js} +0 -0
  567. /package/dist/esm-es5/{index-ecfc2c9f.js → index-c132c5f1.js} +0 -0
  568. /package/dist/esm-es5/{overlays-2fa52617.js → overlays-cec6bac8.js} +0 -0
  569. /package/dist/ionic/{p-8985b268.system.js → p-8050b9b9.system.js} +0 -0
  570. /package/dist/ionic/{p-6ba7fad7.system.js → p-8f01a9a2.system.js} +0 -0
  571. /package/dist/ionic/{p-14d7b7e2.system.js → p-b4b4bb29.system.js} +0 -0
  572. /package/dist/ionic/{p-bb6f38ed.js → p-b923f3d7.js} +0 -0
  573. /package/dist/ionic/{p-63505fbb.js → p-cf62e1c8.js} +0 -0
  574. /package/dist/ionic/{p-0a87858b.js → p-ea96fa73.js} +0 -0
@@ -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.
@@ -220,6 +253,18 @@ ion-picker-column-internal {
220
253
  justify-content: space-between;
221
254
  }
222
255
 
256
+ /**
257
+ * The confirm and clear buttons are grouped in a
258
+ * container so that they appear on the end opposite
259
+ * of the cancel button.
260
+ * We use display: flex so that the
261
+ * wrapper only takes up as much
262
+ * height as it needs.
263
+ */
264
+ .datetime-action-buttons .datetime-action-buttons-container {
265
+ display: flex;
266
+ }
267
+
223
268
  /**
224
269
  * Date/Year button should be on
225
270
  * the opposite side of the component
@@ -255,6 +300,20 @@ ion-picker-column-internal {
255
300
  text-align: center;
256
301
  }
257
302
 
303
+ .calendar-days-of-week .day-of-week {
304
+ /**
305
+ * Center the days of the week within each cell
306
+ * if the container size is changed as a result
307
+ * of Dynamic Type.
308
+ */
309
+ -webkit-margin-start: auto;
310
+ margin-inline-start: auto;
311
+ -webkit-margin-end: auto;
312
+ margin-inline-end: auto;
313
+ margin-top: 0;
314
+ margin-bottom: 0;
315
+ }
316
+
258
317
  :host .calendar-body {
259
318
  /**
260
319
  * Show all calendar months inline
@@ -329,7 +388,7 @@ ion-picker-column-internal {
329
388
  * Center the day text vertically
330
389
  * and horizontally within its grid cell.
331
390
  */
332
- :host .calendar-day {
391
+ .calendar-day {
333
392
  border-radius: 50%;
334
393
  -webkit-padding-start: 0px;
335
394
  padding-inline-start: 0px;
@@ -418,6 +477,39 @@ ion-picker-column-internal {
418
477
  --color: var(--ion-color-base);
419
478
  }
420
479
 
480
+ /**
481
+ * Convert a font size to a dynamic font size.
482
+ * Fonts that participate in Dynamic Type should use
483
+ * dynamic font sizes.
484
+ * @param size - The initial font size including the unit (i.e. px or pt)
485
+ * @param unit (optional) - The unit to convert to. Use this if you want to
486
+ * convert to a unit other than $baselineUnit.
487
+ */
488
+ /**
489
+ * Convert a font size to a dynamic font size but impose
490
+ * a maximum font size.
491
+ * @param size - The initial font size including the unit (i.e. px or pt)
492
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
493
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
494
+ * convert to a unit other than $baselineUnit.
495
+ */
496
+ /**
497
+ * Convert a font size to a dynamic font size but impose
498
+ * a minimum font size.
499
+ * @param size - The initial font size including the unit (i.e. px or pt)
500
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
501
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
502
+ * convert to a unit other than $baselineUnit.
503
+ */
504
+ /**
505
+ * Convert a font size to a dynamic font size but impose
506
+ * maximum and minimum font sizes.
507
+ * @param size - The initial font size including the unit (i.e. px or pt)
508
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
509
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
510
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
511
+ * convert to a unit other than $baselineUnit.
512
+ */
421
513
  :host {
422
514
  --background: var(--ion-color-light, #ffffff);
423
515
  --background-rgb: var(--ion-color-light-rgb);
@@ -438,7 +530,7 @@ ion-picker-column-internal {
438
530
  padding-top: 16px;
439
531
  padding-bottom: 16px;
440
532
  border-bottom: 0.55px solid var(--ion-color-step-200, #cccccc);
441
- font-size: 14px;
533
+ font-size: min(0.875rem, 22.4px);
442
534
  }
443
535
 
444
536
  :host .datetime-header .datetime-title {
@@ -453,7 +545,7 @@ ion-picker-column-internal {
453
545
  --padding-start: 16px;
454
546
  --background-hover: transparent;
455
547
  --background-activated: transparent;
456
- font-size: 16px;
548
+ font-size: min(1rem, 25.6px);
457
549
  font-weight: 600;
458
550
  }
459
551
 
@@ -484,12 +576,111 @@ ion-picker-column-internal {
484
576
  padding-top: 0;
485
577
  padding-bottom: 0;
486
578
  color: var(--ion-color-step-300, #b3b3b3);
487
- font-size: 12px;
579
+ font-size: min(0.75rem, 19.2px);
488
580
  font-weight: 600;
489
581
  line-height: 24px;
490
582
  text-transform: uppercase;
491
583
  }
492
584
 
585
+ @supports (border-radius: mod(1px, 1px)) {
586
+ .calendar-days-of-week .day-of-week {
587
+ /**
588
+ * When the computed font size is 24px
589
+ * we want the days of the week to only
590
+ * show the first letter of each day.
591
+ *
592
+ * We use the modulus operator to ensure
593
+ * that any font size less than 24px is
594
+ * unchanged (i.e. 16 % 24 = 16). If the
595
+ * font size is 24px then the remainder
596
+ * will be 0.
597
+ */
598
+ /**
599
+ * From here, we scale the remainder to get
600
+ * a width value larger than 20px.
601
+ * We then clamp the width to have a max width
602
+ * of 100% so that each element does not appear
603
+ * too wide if $width is a very large number.
604
+ *
605
+ * When the font size is >=24px then $remainder
606
+ * will be 0px. This results in $width being 0px
607
+ * since 0px * 10 is still 0px. We set a minimum
608
+ * width of 20px below so that the days of the
609
+ * week still show when the font size is >=24px
610
+ * and have a fixed width of 20px.
611
+ *
612
+ * The days of the week text on iOS have a maximum font size
613
+ * that is no larger than 20px, so setting a minimum width
614
+ * of 20px ensures that the text will always fit. (See font-size
615
+ * declaration in the .calendar-days-of-week block).
616
+ */
617
+ width: clamp(20px, calc(mod(min(1rem, 24px), 24px) * 10), 100%);
618
+ /**
619
+ * We show the first letter of the week
620
+ * by setting the width small such that all other
621
+ * letters wrap to the next line. While we do have
622
+ * overflow: hidden to visually hide the overflowing
623
+ * text, we need to explicitly set the height of the
624
+ * container too otherwise it will increase as the text wraps.
625
+ */
626
+ height: 24px;
627
+ /**
628
+ * The above width will cause
629
+ * all the other letters to overflow
630
+ * to other lines. The below code hides
631
+ * those additional letters so only
632
+ * the first letter is shown.
633
+ */
634
+ overflow: hidden;
635
+ }
636
+ .calendar-day {
637
+ /**
638
+ * We use the modulus operator to ensure
639
+ * that any font size less than 24px is
640
+ * unchanged (i.e. 16 % 24 = 16). If the
641
+ * font size is 24px then the remainder
642
+ * will be 0.
643
+ */
644
+ /**
645
+ * From here, we scale the remainder. The purpose of
646
+ * scaling the remainder is to get a border radius
647
+ * large enough such that the element's
648
+ * shape is a circle.
649
+ *
650
+ * Note that when the font size is 24px
651
+ * then the remainder will be 0, so $radius
652
+ * will still be zero.
653
+ */
654
+ /**
655
+ * In the event that $radius is 0
656
+ * we use max() to ensure a minimum
657
+ * border radius of 8px which will
658
+ * give the day button the rounded
659
+ * rectangle appearance.
660
+ * For font sizes smaller than 24px
661
+ * the border radius will give a circle appearance.
662
+ */
663
+ border-radius: max(8px, mod(min(1rem, 24px), 24px) * 10);
664
+ }
665
+ }
666
+ /**
667
+ * iOS <17 has a bug where the result of mod() is
668
+ * used incorrectly if used inside of another CSS function such
669
+ * as calc(). The first set of @support checks accounts for iOS <17.
670
+ * We check -webkit-named-image to ensure that non-WebKit browsers are ignored.
671
+ * The second set of @support checks account for all other browsers that
672
+ * do not support mod() yet.
673
+ */
674
+ @supports ((border-radius: mod(1px, 1px)) and (background: -webkit-named-image(apple-pay-logo-black)) and (not (contain-intrinsic-size: none))) or (not (border-radius: mod(1px, 1px))) {
675
+ .calendar-days-of-week .day-of-week {
676
+ width: auto;
677
+ height: auto;
678
+ overflow: initial;
679
+ }
680
+ .calendar-day {
681
+ border-radius: 32px;
682
+ }
683
+ }
493
684
  :host .calendar-body .calendar-month .calendar-month-grid {
494
685
  /**
495
686
  * We need to apply the padding to
@@ -516,14 +707,14 @@ ion-picker-column-internal {
516
707
  padding-top: 4px;
517
708
  padding-bottom: 4px;
518
709
  height: 0;
519
- min-height: 16px;
710
+ min-height: 1rem;
520
711
  }
521
712
 
522
713
  :host .calendar-day {
523
714
  width: 40px;
524
715
  min-width: 40px;
525
716
  height: 40px;
526
- font-size: 20px;
717
+ font-size: min(1.25rem, 32px);
527
718
  }
528
719
 
529
720
  .calendar-day.calendar-day-active {
@@ -563,7 +754,7 @@ ion-picker-column-internal {
563
754
  padding-inline-end: 16px;
564
755
  padding-top: 8px;
565
756
  padding-bottom: 16px;
566
- font-size: 16px;
757
+ font-size: min(1rem, 25.6px);
567
758
  }
568
759
 
569
760
  :host .datetime-time .time-header {
@@ -12,7 +12,7 @@ import { getIonMode } from "../../global/ionic-global";
12
12
  import { isSameDay, warnIfValueOutOfBounds, isBefore, isAfter } from "./utils/comparison";
13
13
  import { generateMonths, getDaysOfMonth, getDaysOfWeek, getToday, getMonthColumnData, getDayColumnData, getYearColumnData, getTimeColumnsData, getCombinedDateColumnData, } from "./utils/data";
14
14
  import { formatValue, getLocalizedTime, getMonthAndDay, getMonthAndYear } from "./utils/format";
15
- import { is24Hour, isLocaleDayPeriodRTL, isMonthFirstLocale, getNumDaysInMonth } from "./utils/helpers";
15
+ import { isLocaleDayPeriodRTL, isMonthFirstLocale, getNumDaysInMonth, getHourCycle } from "./utils/helpers";
16
16
  import { calculateHourFromAMPM, convertDataToISO, getClosestValidDate, getEndOfWeek, getNextDay, getNextMonth, getNextWeek, getNextYear, getPreviousDay, getPreviousMonth, getPreviousWeek, getPreviousYear, getStartOfWeek, validateParts, } from "./utils/manipulation";
17
17
  import { clampDate, convertToArrayOfNumbers, getPartsFromCalendarDay, parseAmPm, parseDate, parseMaxParts, parseMinParts, } from "./utils/parse";
18
18
  import { getCalendarDayState, getHighlightStyles, isDayDisabled, isMonthDisabled, isNextMonthDisabled, isPrevMonthDisabled, } from "./utils/state";
@@ -933,7 +933,7 @@ export class Datetime {
933
933
  return (h("div", { class: "datetime-footer" }, h("div", { class: "datetime-buttons" }, h("div", { class: {
934
934
  ['datetime-action-buttons']: true,
935
935
  ['has-clear-button']: this.showClearButton,
936
- } }, h("slot", { name: "buttons" }, h("ion-buttons", null, showDefaultButtons && (h("ion-button", { id: "cancel-button", color: this.color, onClick: () => this.cancel(true) }, this.cancelText)), h("div", null, showClearButton && (h("ion-button", { id: "clear-button", color: this.color, onClick: () => clearButtonClick() }, this.clearText)), showDefaultButtons && (h("ion-button", { id: "confirm-button", color: this.color, onClick: () => this.confirm(true) }, this.doneText)))))))));
936
+ } }, h("slot", { name: "buttons" }, h("ion-buttons", null, showDefaultButtons && (h("ion-button", { id: "cancel-button", color: this.color, onClick: () => this.cancel(true) }, this.cancelText)), h("div", { class: "datetime-action-buttons-container" }, showClearButton && (h("ion-button", { id: "clear-button", color: this.color, onClick: () => clearButtonClick() }, this.clearText)), showDefaultButtons && (h("ion-button", { id: "confirm-button", color: this.color, onClick: () => this.confirm(true) }, this.doneText)))))))));
937
937
  }
938
938
  /**
939
939
  * Wheel picker render methods
@@ -1370,7 +1370,7 @@ export class Datetime {
1370
1370
  }
1371
1371
  renderTimeOverlay() {
1372
1372
  const { hourCycle, isTimePopoverOpen, locale } = this;
1373
- const use24Hour = is24Hour(locale, hourCycle);
1373
+ const computedHourCycle = getHourCycle(locale, hourCycle);
1374
1374
  const activePart = this.getActivePartsWithFallback();
1375
1375
  return [
1376
1376
  h("div", { class: "time-header" }, this.renderTimeLabel()),
@@ -1389,7 +1389,7 @@ export class Datetime {
1389
1389
  await popoverRef.onWillDismiss();
1390
1390
  this.isTimePopoverOpen = false;
1391
1391
  }
1392
- } }, getLocalizedTime(locale, activePart, use24Hour)),
1392
+ } }, getLocalizedTime(locale, activePart, computedHourCycle)),
1393
1393
  h("ion-popover", { alignment: "center", translucent: true, overlayIndex: 1, arrow: false, onWillPresent: (ev) => {
1394
1394
  /**
1395
1395
  * Intersection Observers do not consistently fire between Blink and Webkit
@@ -2029,9 +2029,15 @@ export class Datetime {
2029
2029
  "type": "string",
2030
2030
  "mutable": false,
2031
2031
  "complexType": {
2032
- "original": "'h23' | 'h12'",
2033
- "resolved": "\"h12\" | \"h23\" | undefined",
2034
- "references": {}
2032
+ "original": "DatetimeHourCycle",
2033
+ "resolved": "\"h11\" | \"h12\" | \"h23\" | \"h24\" | undefined",
2034
+ "references": {
2035
+ "DatetimeHourCycle": {
2036
+ "location": "import",
2037
+ "path": "./datetime-interface",
2038
+ "id": "src/components/datetime/datetime-interface.ts::DatetimeHourCycle"
2039
+ }
2040
+ }
2035
2041
  },
2036
2042
  "required": false,
2037
2043
  "optional": true,