@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
@@ -70,7 +70,6 @@ export class Radio {
70
70
  this.labelPlacement = 'start';
71
71
  this.legacy = undefined;
72
72
  this.justify = 'space-between';
73
- this.alignment = 'center';
74
73
  }
75
74
  valueChanged() {
76
75
  /**
@@ -135,7 +134,7 @@ export class Radio {
135
134
  return legacyFormController.hasLegacyControl() ? this.renderLegacyRadio() : this.renderRadio();
136
135
  }
137
136
  renderRadio() {
138
- const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
137
+ const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex } = this;
139
138
  const mode = getIonMode(this);
140
139
  const inItem = hostContext('ion-item', el);
141
140
  return (h(Host, { onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
@@ -144,7 +143,6 @@ export class Radio {
144
143
  'radio-checked': checked,
145
144
  'radio-disabled': disabled,
146
145
  [`radio-justify-${justify}`]: true,
147
- [`radio-alignment-${alignment}`]: true,
148
146
  [`radio-label-placement-${labelPlacement}`]: true,
149
147
  // Focus and active styling should not apply when the radio is in an item
150
148
  'ion-activatable': !inItem,
@@ -277,15 +275,15 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
277
275
  "type": "string",
278
276
  "mutable": false,
279
277
  "complexType": {
280
- "original": "'start' | 'end' | 'fixed' | 'stacked'",
281
- "resolved": "\"end\" | \"fixed\" | \"stacked\" | \"start\"",
278
+ "original": "'start' | 'end' | 'fixed'",
279
+ "resolved": "\"end\" | \"fixed\" | \"start\"",
282
280
  "references": {}
283
281
  },
284
282
  "required": false,
285
283
  "optional": false,
286
284
  "docs": {
287
285
  "tags": [],
288
- "text": "Where to place the label relative to the radio.\n`\"start\"`: The label will appear to the left of the radio in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the radio in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").\n`\"stacked\"`: The label will appear above the radio regardless of the direction. The alignment of the label can be controlled with the `alignment` property."
286
+ "text": "Where to place the label relative to the radio.\n`\"start\"`: The label will appear to the left of the radio in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the radio in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\")."
289
287
  },
290
288
  "attribute": "label-placement",
291
289
  "reflect": false,
@@ -325,24 +323,6 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
325
323
  "attribute": "justify",
326
324
  "reflect": false,
327
325
  "defaultValue": "'space-between'"
328
- },
329
- "alignment": {
330
- "type": "string",
331
- "mutable": false,
332
- "complexType": {
333
- "original": "'start' | 'center'",
334
- "resolved": "\"center\" | \"start\"",
335
- "references": {}
336
- },
337
- "required": false,
338
- "optional": false,
339
- "docs": {
340
- "tags": [],
341
- "text": "How to control the alignment of the radio and label on the cross axis.\n`\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL."
342
- },
343
- "attribute": "alignment",
344
- "reflect": false,
345
- "defaultValue": "'center'"
346
326
  }
347
327
  };
348
328
  }
@@ -1,3 +1,36 @@
1
+ /**
2
+ * Convert a font size to a dynamic font size.
3
+ * Fonts that participate in Dynamic Type should use
4
+ * dynamic font sizes.
5
+ * @param size - The initial font size including the unit (i.e. px or pt)
6
+ * @param unit (optional) - The unit to convert to. Use this if you want to
7
+ * convert to a unit other than $baselineUnit.
8
+ */
9
+ /**
10
+ * Convert a font size to a dynamic font size but impose
11
+ * a maximum font size.
12
+ * @param size - The initial font size including the unit (i.e. px or pt)
13
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
+ * convert to a unit other than $baselineUnit.
16
+ */
17
+ /**
18
+ * Convert a font size to a dynamic font size but impose
19
+ * a minimum font size.
20
+ * @param size - The initial font size including the unit (i.e. px or pt)
21
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
+ * convert to a unit other than $baselineUnit.
24
+ */
25
+ /**
26
+ * Convert a font size to a dynamic font size but impose
27
+ * maximum and minimum font sizes.
28
+ * @param size - The initial font size including the unit (i.e. px or pt)
29
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
+ * convert to a unit other than $baselineUnit.
33
+ */
1
34
  :host {
2
35
  /**
3
36
  * @prop --color: Color of the radio
@@ -147,15 +180,6 @@ input {
147
180
  margin-bottom: 10px;
148
181
  }
149
182
 
150
- :host(.in-item.radio-label-placement-stacked) .label-text-wrapper {
151
- margin-top: 10px;
152
- margin-bottom: 16px;
153
- }
154
-
155
- :host(.in-item.radio-label-placement-stacked) .native-wrapper {
156
- margin-bottom: 10px;
157
- }
158
-
159
183
  /**
160
184
  * If no label text is placed into the slot
161
185
  * then the element should be hidden otherwise
@@ -182,14 +206,6 @@ input {
182
206
  justify-content: end;
183
207
  }
184
208
 
185
- :host(.radio-alignment-start) .radio-wrapper {
186
- align-items: start;
187
- }
188
-
189
- :host(.radio-alignment-center) .radio-wrapper {
190
- align-items: center;
191
- }
192
-
193
209
  /**
194
210
  * Label is on the left of the radio in LTR and
195
211
  * on the right in RTL.
@@ -253,23 +269,71 @@ input {
253
269
  }
254
270
 
255
271
  /**
256
- * Label is on top of the radio.
272
+ * Convert a font size to a dynamic font size.
273
+ * Fonts that participate in Dynamic Type should use
274
+ * dynamic font sizes.
275
+ * @param size - The initial font size including the unit (i.e. px or pt)
276
+ * @param unit (optional) - The unit to convert to. Use this if you want to
277
+ * convert to a unit other than $baselineUnit.
278
+ */
279
+ /**
280
+ * Convert a font size to a dynamic font size but impose
281
+ * a maximum font size.
282
+ * @param size - The initial font size including the unit (i.e. px or pt)
283
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
284
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
285
+ * convert to a unit other than $baselineUnit.
286
+ */
287
+ /**
288
+ * Convert a font size to a dynamic font size but impose
289
+ * a minimum font size.
290
+ * @param size - The initial font size including the unit (i.e. px or pt)
291
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
292
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
293
+ * convert to a unit other than $baselineUnit.
294
+ */
295
+ /**
296
+ * Convert a font size to a dynamic font size but impose
297
+ * maximum and minimum font sizes.
298
+ * @param size - The initial font size including the unit (i.e. px or pt)
299
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
300
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
301
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
302
+ * convert to a unit other than $baselineUnit.
303
+ */
304
+ /**
305
+ * Convert a font size to a dynamic font size.
306
+ * Fonts that participate in Dynamic Type should use
307
+ * dynamic font sizes.
308
+ * @param size - The initial font size including the unit (i.e. px or pt)
309
+ * @param unit (optional) - The unit to convert to. Use this if you want to
310
+ * convert to a unit other than $baselineUnit.
311
+ */
312
+ /**
313
+ * Convert a font size to a dynamic font size but impose
314
+ * a maximum font size.
315
+ * @param size - The initial font size including the unit (i.e. px or pt)
316
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
317
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
318
+ * convert to a unit other than $baselineUnit.
319
+ */
320
+ /**
321
+ * Convert a font size to a dynamic font size but impose
322
+ * a minimum font size.
323
+ * @param size - The initial font size including the unit (i.e. px or pt)
324
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
325
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
326
+ * convert to a unit other than $baselineUnit.
327
+ */
328
+ /**
329
+ * Convert a font size to a dynamic font size but impose
330
+ * maximum and minimum font sizes.
331
+ * @param size - The initial font size including the unit (i.e. px or pt)
332
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
333
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
334
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
335
+ * convert to a unit other than $baselineUnit.
257
336
  */
258
- :host(.radio-label-placement-stacked) .radio-wrapper {
259
- flex-direction: column;
260
- }
261
-
262
- :host(.radio-label-placement-stacked) .label-text-wrapper {
263
- /**
264
- * The margin between the label and
265
- * the radio should be on the bottom
266
- * when the label sits on top.
267
- */
268
- margin-left: 0;
269
- margin-right: 0;
270
- margin-bottom: 16px;
271
- }
272
-
273
337
  :host {
274
338
  --color: rgb(var(--ion-text-color-rgb, 0, 0, 0), 0.6);
275
339
  --color-checked: var(--ion-color-primary, #3880ff);
@@ -51,19 +51,4 @@ configs({ directions: ['ltr'], modes: ['md'] }).forEach(({ title, screenshot, co
51
51
  await expect(list).toHaveScreenshot(screenshot(`radio-long-label-in-item`));
52
52
  });
53
53
  });
54
- test.describe(title('radio: stacked label in item'), () => {
55
- test('should render margins correctly when using stacked label in item', async ({ page }) => {
56
- await page.setContent(`
57
- <ion-list>
58
- <ion-radio-group>
59
- <ion-item>
60
- <ion-radio label-placement="stacked">Enable Notifications</ion-radio>
61
- </ion-item>
62
- </ion-radio-group>
63
- </ion-list>
64
- `, config);
65
- const list = page.locator('ion-list');
66
- await expect(list).toHaveScreenshot(screenshot(`radio-stacked-label-in-item`));
67
- });
68
- });
69
54
  });
@@ -100,25 +100,5 @@ configs().forEach(({ title, screenshot, config }) => {
100
100
  await expect(radio).toHaveScreenshot(screenshot(`radio-label-fixed-justify-space-between`));
101
101
  });
102
102
  });
103
- test.describe('radio: stacked placement', () => {
104
- test('should align the label to the start of the container in the stacked position', async ({ page }) => {
105
- await page.setContent(`
106
- <ion-radio-group value="1">
107
- <ion-radio label-placement="stacked" alignment="start" style="width: 200px" value="1">This is a long label</ion-radio>
108
- </ion-radio-group>
109
- `, config);
110
- const radio = page.locator('ion-radio');
111
- await expect(radio).toHaveScreenshot(screenshot(`radio-label-stacked-align-start`));
112
- });
113
- test('should align the label to the center of the container in the stacked position', async ({ page }) => {
114
- await page.setContent(`
115
- <ion-radio-group value="1">
116
- <ion-radio label-placement="stacked" alignment="center" style="width: 200px" value="1">This is a long label</ion-radio>
117
- </ion-radio-group>
118
- `, config);
119
- const radio = page.locator('ion-radio');
120
- await expect(radio).toHaveScreenshot(screenshot(`radio-label-stacked-align-center`));
121
- });
122
- });
123
103
  });
124
104
  });
@@ -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 --bar-background: Background of the range bar
@@ -60,7 +93,9 @@
60
93
  top: calc((var(--height) - var(--knob-handle-size)) / 2);
61
94
  -webkit-margin-start: calc(0px - var(--knob-handle-size) / 2);
62
95
  margin-inline-start: calc(0px - var(--knob-handle-size) / 2);
96
+ display: flex;
63
97
  position: absolute;
98
+ justify-content: center;
64
99
  width: var(--knob-handle-size);
65
100
  height: var(--knob-handle-size);
66
101
  text-align: center;
@@ -364,24 +399,38 @@
364
399
  }
365
400
 
366
401
  /**
367
- * Label is on top of the range.
402
+ * Convert a font size to a dynamic font size.
403
+ * Fonts that participate in Dynamic Type should use
404
+ * dynamic font sizes.
405
+ * @param size - The initial font size including the unit (i.e. px or pt)
406
+ * @param unit (optional) - The unit to convert to. Use this if you want to
407
+ * convert to a unit other than $baselineUnit.
408
+ */
409
+ /**
410
+ * Convert a font size to a dynamic font size but impose
411
+ * a maximum font size.
412
+ * @param size - The initial font size including the unit (i.e. px or pt)
413
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
414
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
415
+ * convert to a unit other than $baselineUnit.
416
+ */
417
+ /**
418
+ * Convert a font size to a dynamic font size but impose
419
+ * a minimum font size.
420
+ * @param size - The initial font size including the unit (i.e. px or pt)
421
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
422
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
423
+ * convert to a unit other than $baselineUnit.
424
+ */
425
+ /**
426
+ * Convert a font size to a dynamic font size but impose
427
+ * maximum and minimum font sizes.
428
+ * @param size - The initial font size including the unit (i.e. px or pt)
429
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
430
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
431
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
432
+ * convert to a unit other than $baselineUnit.
368
433
  */
369
- :host(.range-label-placement-stacked) .range-wrapper {
370
- flex-direction: column;
371
- align-items: stretch;
372
- }
373
-
374
- :host(.range-label-placement-stacked) .label-text-wrapper {
375
- /**
376
- * The margin between the label and
377
- * the range should be on the bottom
378
- * when the label sits on top.
379
- */
380
- margin-left: 0;
381
- margin-right: 0;
382
- margin-bottom: 16px;
383
- }
384
-
385
434
  :host {
386
435
  --knob-border-radius: 50%;
387
436
  --knob-background: #ffffff;
@@ -426,29 +475,8 @@
426
475
  margin-bottom: 0;
427
476
  }
428
477
 
429
- :host(.range-has-pin:not(.range-label-placement-stacked)) {
430
- /**
431
- * The pin should not overlap any elements that are
432
- * above the range. By adding padding to the top of the
433
- * range, it provides a buffer for the pin to move into
434
- * when it is pressed.
435
- *
436
- * The padding is not included when the label is stacked
437
- * because the pin is below the label.
438
- * It still requires a buffer to prevent the pin from
439
- * overlapping the range. The buffer is added to the
440
- * bottom of the range label instead of the host.
441
- */
442
- padding-top: 20px;
443
- }
444
-
445
- :host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper {
446
- /**
447
- * The pin should not overlap the stacked label. By adding
448
- * margin to the bottom of the label, it provides a buffer
449
- * for the pin to move into when it is pressed.
450
- */
451
- margin-bottom: 20px;
478
+ :host(.range-has-pin) {
479
+ padding-top: calc(0.75rem + 8px);
452
480
  }
453
481
 
454
482
  .range-bar-active {
@@ -481,27 +509,33 @@
481
509
  }
482
510
 
483
511
  .range-pin {
484
- transform: translate3d(0, 28px, 0) scale(0.01);
512
+ transform: translate3d(0, 100%, 0) scale(0.01);
485
513
  -webkit-padding-start: 8px;
486
514
  padding-inline-start: 8px;
487
515
  -webkit-padding-end: 8px;
488
516
  padding-inline-end: 8px;
489
517
  padding-top: 8px;
490
518
  padding-bottom: 8px;
491
- display: inline-block;
492
- position: relative;
493
- top: -20px;
494
519
  min-width: 28px;
495
520
  transition: transform 120ms ease;
496
521
  background: transparent;
497
522
  color: var(--ion-text-color, #000);
498
- font-size: 12px;
523
+ font-size: 0.75rem;
499
524
  text-align: center;
500
525
  }
501
526
 
527
+ /**
528
+ * The -100% ensures the pin sits on top
529
+ * of the range-knob-handle container.
530
+ * We apply 11px so that the pin
531
+ * text is closer to the knob inside of the container.
532
+ * We also apply the 11px here instead of using "top"
533
+ * otherwise the pin text will translate below the knob
534
+ * when the text is scaled.
535
+ */
502
536
  .range-knob-pressed .range-pin,
503
537
  .range-knob-handle.ion-focused .range-pin {
504
- transform: translate3d(0, 0, 0) scale(1);
538
+ transform: translate3d(0, calc(-100% + 11px), 0) scale(1);
505
539
  }
506
540
 
507
541
  :host(.range-disabled) {
@@ -808,15 +808,15 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
808
808
  "type": "string",
809
809
  "mutable": false,
810
810
  "complexType": {
811
- "original": "'start' | 'end' | 'fixed' | 'stacked'",
812
- "resolved": "\"end\" | \"fixed\" | \"stacked\" | \"start\"",
811
+ "original": "'start' | 'end' | 'fixed'",
812
+ "resolved": "\"end\" | \"fixed\" | \"start\"",
813
813
  "references": {}
814
814
  },
815
815
  "required": false,
816
816
  "optional": false,
817
817
  "docs": {
818
818
  "tags": [],
819
- "text": "Where to place the label relative to the range.\n`\"start\"`: The label will appear to the left of the range in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the range in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").\n`\"stacked\"`: The label will appear above the range regardless of the direction."
819
+ "text": "Where to place the label relative to the range.\n`\"start\"`: The label will appear to the left of the range in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the range in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\")."
820
820
  },
821
821
  "attribute": "label-placement",
822
822
  "reflect": false,
@@ -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 --bar-background: Background of the range bar
@@ -60,7 +93,9 @@
60
93
  top: calc((var(--height) - var(--knob-handle-size)) / 2);
61
94
  -webkit-margin-start: calc(0px - var(--knob-handle-size) / 2);
62
95
  margin-inline-start: calc(0px - var(--knob-handle-size) / 2);
96
+ display: flex;
63
97
  position: absolute;
98
+ justify-content: center;
64
99
  width: var(--knob-handle-size);
65
100
  height: var(--knob-handle-size);
66
101
  text-align: center;
@@ -364,24 +399,38 @@
364
399
  }
365
400
 
366
401
  /**
367
- * Label is on top of the range.
402
+ * Convert a font size to a dynamic font size.
403
+ * Fonts that participate in Dynamic Type should use
404
+ * dynamic font sizes.
405
+ * @param size - The initial font size including the unit (i.e. px or pt)
406
+ * @param unit (optional) - The unit to convert to. Use this if you want to
407
+ * convert to a unit other than $baselineUnit.
408
+ */
409
+ /**
410
+ * Convert a font size to a dynamic font size but impose
411
+ * a maximum font size.
412
+ * @param size - The initial font size including the unit (i.e. px or pt)
413
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
414
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
415
+ * convert to a unit other than $baselineUnit.
416
+ */
417
+ /**
418
+ * Convert a font size to a dynamic font size but impose
419
+ * a minimum font size.
420
+ * @param size - The initial font size including the unit (i.e. px or pt)
421
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
422
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
423
+ * convert to a unit other than $baselineUnit.
424
+ */
425
+ /**
426
+ * Convert a font size to a dynamic font size but impose
427
+ * maximum and minimum font sizes.
428
+ * @param size - The initial font size including the unit (i.e. px or pt)
429
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
430
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
431
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
432
+ * convert to a unit other than $baselineUnit.
368
433
  */
369
- :host(.range-label-placement-stacked) .range-wrapper {
370
- flex-direction: column;
371
- align-items: stretch;
372
- }
373
-
374
- :host(.range-label-placement-stacked) .label-text-wrapper {
375
- /**
376
- * The margin between the label and
377
- * the range should be on the bottom
378
- * when the label sits on top.
379
- */
380
- margin-left: 0;
381
- margin-right: 0;
382
- margin-bottom: 16px;
383
- }
384
-
385
434
  :host {
386
435
  --knob-border-radius: 50%;
387
436
  --knob-background: var(--bar-background-active);
@@ -394,13 +443,18 @@
394
443
  --height: 42px;
395
444
  --pin-background: var(--ion-color-primary, #3880ff);
396
445
  --pin-color: var(--ion-color-primary-contrast, #fff);
397
- font-size: 12px;
398
446
  }
399
447
 
400
- ::slotted([slot=label]), .label-text {
448
+ :host(.legacy-range) ::slotted([slot=label]) {
401
449
  font-size: initial;
402
450
  }
403
451
 
452
+ :host(:not(.legacy-range)) ::slotted(:not(ion-icon)[slot=start]),
453
+ :host(:not(.legacy-range)) ::slotted(:not(ion-icon)[slot=end]),
454
+ :host(:not(.legacy-range)) .native-wrapper {
455
+ font-size: 0.75rem;
456
+ }
457
+
404
458
  :host(.legacy-range) {
405
459
  -webkit-padding-start: 14px;
406
460
  padding-inline-start: 14px;
@@ -408,6 +462,7 @@
408
462
  padding-inline-end: 14px;
409
463
  padding-top: 8px;
410
464
  padding-bottom: 8px;
465
+ font-size: 0.75rem;
411
466
  }
412
467
 
413
468
  :host(.ion-color) .range-bar {
@@ -442,29 +497,8 @@
442
497
  margin-bottom: 0;
443
498
  }
444
499
 
445
- :host(.range-has-pin:not(.range-label-placement-stacked)) {
446
- /**
447
- * The pin should not overlap any elements that are
448
- * above the range. By adding padding to the top of the
449
- * range, it provides a buffer for the pin to move into
450
- * when it is pressed.
451
- *
452
- * The padding is not included when the label is stacked
453
- * because the pin is below the label.
454
- * It still requires a buffer to prevent the pin from
455
- * overlapping the range. The buffer is added to the
456
- * bottom of the range label instead of the host.
457
- */
458
- padding-top: 28px;
459
- }
460
-
461
- :host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper {
462
- /**
463
- * The pin should not overlap the stacked label. By adding
464
- * margin to the bottom of the label, it provides a buffer
465
- * for the pin to move into when it is pressed.
466
- */
467
- margin-bottom: 28px;
500
+ :host(.range-has-pin) {
501
+ padding-top: 1.75rem;
468
502
  }
469
503
 
470
504
  .range-bar-active {
@@ -541,17 +575,26 @@
541
575
  padding-bottom: 8px;
542
576
  border-radius: 50%;
543
577
  transform: translate3d(0, 0, 0) scale(0.01);
544
- display: inline-block;
545
- position: relative;
546
- min-width: 28px;
547
- height: 28px;
578
+ display: flex;
579
+ align-items: center;
580
+ justify-content: center;
581
+ /**
582
+ * The dimensions of the range need
583
+ * to scale with the size of the text
584
+ * which is why we use dynamic dimensions here.
585
+ */
586
+ width: 1.75rem;
587
+ height: 1.75rem;
548
588
  transition: transform 120ms ease, background 120ms ease;
549
589
  background: var(--pin-background);
550
590
  color: var(--pin-color);
551
- text-align: center;
552
591
  }
553
592
  .range-pin::before {
554
- top: 3px;
593
+ /**
594
+ * The -1px here moves the ::before
595
+ * psuedo-element down to create a uniform pin shape.
596
+ */
597
+ bottom: -1px;
555
598
  -webkit-margin-start: -13px;
556
599
  margin-inline-start: -13px;
557
600
  /* stylelint-disable-next-line property-disallowed-list */
@@ -609,9 +652,14 @@
609
652
  }
610
653
  }
611
654
 
655
+ /**
656
+ * Move the pin up by its full height
657
+ * plus a few pixels so the tip is above
658
+ * (but not touching) the knob.
659
+ */
612
660
  .range-knob-pressed .range-pin,
613
661
  .range-knob-handle.ion-focused .range-pin {
614
- transform: translate3d(0, -24px, 0) scale(1);
662
+ transform: translate3d(0, calc(-100% + 4px), 0) scale(1);
615
663
  }
616
664
 
617
665
  @media (any-hover: hover) {