@maicol07/material-web 2.2.0 → 2.5.0

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 (503) hide show
  1. package/button/internal/_shared.scss +2 -2
  2. package/button/internal/_touch-target.scss +1 -1
  3. package/labs/gb/components/appbar/_app-bar-tokens.scss +136 -0
  4. package/labs/gb/components/appbar/app-bar.scss +167 -0
  5. package/labs/gb/components/badge/_badge-tokens.scss +18 -0
  6. package/labs/gb/components/badge/badge.scss +49 -0
  7. package/labs/gb/components/button/_button-tokens.scss +200 -0
  8. package/labs/gb/components/button/button.scss +130 -0
  9. package/labs/gb/components/card/_card-tokens.scss +56 -0
  10. package/labs/gb/components/card/card.scss +74 -0
  11. package/labs/gb/components/checkbox/_checkbox-tokens.scss +66 -0
  12. package/labs/gb/components/checkbox/checkbox.scss +105 -0
  13. package/labs/gb/components/chip/_chip-tokens.scss +167 -0
  14. package/labs/gb/components/chip/chip.scss +99 -0
  15. package/labs/gb/components/divider/_divider-tokens.scss +11 -0
  16. package/labs/gb/components/divider/divider.scss +31 -0
  17. package/labs/gb/components/fab/_fab-tokens.scss +89 -0
  18. package/labs/gb/components/fab/fab.scss +78 -0
  19. package/labs/gb/components/focus/focus-ring.scss +91 -0
  20. package/labs/gb/components/iconbutton/_icon-button-tokens.scss +213 -0
  21. package/labs/gb/components/iconbutton/icon-button.scss +160 -0
  22. package/labs/gb/components/list/_list-tokens.scss +103 -0
  23. package/labs/gb/components/list/list.scss +217 -0
  24. package/labs/gb/components/menu/_menu-tokens.scss +161 -0
  25. package/labs/gb/components/menu/menu.scss +174 -0
  26. package/labs/gb/components/radio/_radio-tokens.scss +39 -0
  27. package/labs/gb/components/radio/radio.scss +74 -0
  28. package/labs/gb/components/ripple/ripple.scss +103 -0
  29. package/labs/gb/components/splitbutton/_split-button-tokens.scss +139 -0
  30. package/labs/gb/components/splitbutton/split-button.scss +164 -0
  31. package/labs/gb/components/switch/_switch-tokens.scss +58 -0
  32. package/labs/gb/components/switch/switch.scss +109 -0
  33. package/labs/gb/styles/color/internal/_color-tokens.scss +95 -0
  34. package/labs/gb/styles/color/md-color-tokens-full.scss +17 -0
  35. package/labs/gb/styles/color/md-color-tokens.scss +15 -0
  36. package/labs/gb/styles/elevation/md-elevation-tokens.scss +25 -0
  37. package/labs/gb/styles/icon/md-icon.scss +63 -0
  38. package/labs/gb/styles/m3.scss +14 -0
  39. package/labs/gb/styles/motion/md-motion-tokens-easing.scss +35 -0
  40. package/labs/gb/styles/shape/md-shape-tokens.scss +23 -0
  41. package/labs/gb/styles/space/md-space-tokens.scss +28 -0
  42. package/labs/gb/styles/tailwind.scss +349 -0
  43. package/labs/gb/styles/typography/internal/_typography-tokens.scss +149 -0
  44. package/labs/gb/styles/typography/md-typography-tokens.scss +14 -0
  45. package/list/internal/listitem/_list-item.scss +3 -0
  46. package/menu/internal/menuitem/_menu-item.scss +4 -1
  47. package/package.json +145 -27
  48. package/sass/ext/_assert.scss +82 -0
  49. package/sass/ext/_list_ext.scss +114 -0
  50. package/sass/ext/_map_ext.scss +222 -0
  51. package/sass/ext/_string_ext.scss +153 -0
  52. package/sass/ext/_throw.scss +83 -0
  53. package/sass/ext/_type.scss +66 -0
  54. package/{internal/sass → sass/ext}/_var.scss +86 -96
  55. package/sass/ext/tests.scss +18 -0
  56. package/slider/internal/_slider.scss +1 -0
  57. package/switch/internal/_switch.scss +1 -0
  58. package/tabs/internal/_tab.scss +0 -1
  59. package/tokens/_index.scss +57 -57
  60. package/tokens/_md-comp-assist-chip.scss +8 -8
  61. package/tokens/_md-comp-badge.scss +4 -4
  62. package/tokens/_md-comp-checkbox.scss +6 -6
  63. package/tokens/_md-comp-circular-progress.scss +4 -4
  64. package/tokens/_md-comp-dialog.scss +8 -8
  65. package/tokens/_md-comp-divider.scss +3 -3
  66. package/tokens/_md-comp-elevated-button.scss +8 -8
  67. package/tokens/_md-comp-elevated-card.scss +6 -6
  68. package/tokens/_md-comp-elevation.scss +3 -3
  69. package/tokens/_md-comp-fab-branded.scss +10 -10
  70. package/tokens/_md-comp-fab.scss +17 -17
  71. package/tokens/_md-comp-filled-button.scss +8 -8
  72. package/tokens/_md-comp-filled-card.scss +6 -6
  73. package/tokens/_md-comp-filled-field.scss +7 -7
  74. package/tokens/_md-comp-filled-icon-button.scss +6 -6
  75. package/tokens/_md-comp-filled-select.scss +8 -8
  76. package/tokens/_md-comp-filled-text-field.scss +7 -7
  77. package/tokens/_md-comp-filled-tonal-button.scss +8 -8
  78. package/tokens/_md-comp-filled-tonal-icon-button.scss +6 -6
  79. package/tokens/_md-comp-filter-chip.scss +8 -8
  80. package/tokens/_md-comp-focus-ring.scss +5 -5
  81. package/tokens/_md-comp-full-screen-dialog.scss +6 -6
  82. package/tokens/_md-comp-icon-button.scss +5 -5
  83. package/tokens/_md-comp-icon.scss +1 -1
  84. package/tokens/_md-comp-input-chip.scss +8 -8
  85. package/tokens/_md-comp-item.scss +4 -4
  86. package/tokens/_md-comp-linear-progress.scss +4 -4
  87. package/tokens/_md-comp-list-item.scss +5 -5
  88. package/tokens/_md-comp-list.scss +3 -3
  89. package/tokens/_md-comp-menu-item.scss +8 -8
  90. package/tokens/_md-comp-menu.scss +5 -5
  91. package/tokens/_md-comp-navigation-bar.scss +6 -6
  92. package/tokens/_md-comp-navigation-drawer.scss +6 -6
  93. package/tokens/_md-comp-outlined-button.scss +7 -7
  94. package/tokens/_md-comp-outlined-card.scss +6 -6
  95. package/tokens/_md-comp-outlined-field.scss +7 -7
  96. package/tokens/_md-comp-outlined-icon-button.scss +6 -6
  97. package/tokens/_md-comp-outlined-segmented-button.scss +7 -7
  98. package/tokens/_md-comp-outlined-select.scss +8 -8
  99. package/tokens/_md-comp-outlined-text-field.scss +6 -6
  100. package/tokens/_md-comp-primary-tab.scss +8 -8
  101. package/tokens/_md-comp-radio.scss +4 -4
  102. package/tokens/_md-comp-ripple.scss +4 -4
  103. package/tokens/_md-comp-secondary-tab.scss +8 -8
  104. package/tokens/_md-comp-slider.scss +7 -7
  105. package/tokens/_md-comp-suggestion-chip.scss +8 -8
  106. package/tokens/_md-comp-switch.scss +6 -6
  107. package/tokens/_md-comp-test-table.scss +2 -2
  108. package/tokens/_md-comp-text-button.scss +7 -7
  109. package/tokens/_md-ref-palette.scss +2 -2
  110. package/tokens/_md-ref-typeface.scss +2 -2
  111. package/tokens/_md-sys-color.scss +3 -3
  112. package/tokens/_md-sys-elevation.scss +1 -1
  113. package/tokens/_md-sys-motion.scss +1 -1
  114. package/tokens/_md-sys-shape.scss +2 -2
  115. package/tokens/_md-sys-state.scss +1 -1
  116. package/tokens/_md-sys-typescale.scss +3 -3
  117. package/tokens/v0_192/_index.scss +3 -102
  118. package/tokens/v0_192/_md-comp-assist-chip.scss +1 -106
  119. package/tokens/v0_192/_md-comp-badge.scss +1 -56
  120. package/tokens/v0_192/_md-comp-banner.scss +1 -71
  121. package/tokens/v0_192/_md-comp-bottom-app-bar.scss +1 -31
  122. package/tokens/v0_192/_md-comp-carousel-item.scss +1 -61
  123. package/tokens/v0_192/_md-comp-checkbox.scss +1 -124
  124. package/tokens/v0_192/_md-comp-circular-progress-indicator.scss +1 -36
  125. package/tokens/v0_192/_md-comp-data-table.scss +1 -94
  126. package/tokens/v0_192/_md-comp-date-input-modal.scss +1 -85
  127. package/tokens/v0_192/_md-comp-date-picker-docked.scss +1 -242
  128. package/tokens/v0_192/_md-comp-date-picker-modal.scss +1 -301
  129. package/tokens/v0_192/_md-comp-dialog.scss +1 -119
  130. package/tokens/v0_192/_md-comp-divider.scss +1 -23
  131. package/tokens/v0_192/_md-comp-elevated-button.scss +1 -87
  132. package/tokens/v0_192/_md-comp-elevated-card.scss +1 -55
  133. package/tokens/v0_192/_md-comp-extended-fab-branded.scss +1 -84
  134. package/tokens/v0_192/_md-comp-extended-fab-primary.scss +1 -92
  135. package/tokens/v0_192/_md-comp-extended-fab-secondary.scss +1 -93
  136. package/tokens/v0_192/_md-comp-extended-fab-surface.scss +1 -88
  137. package/tokens/v0_192/_md-comp-extended-fab-tertiary.scss +1 -93
  138. package/tokens/v0_192/_md-comp-fab-branded-large.scss +1 -58
  139. package/tokens/v0_192/_md-comp-fab-branded.scss +1 -58
  140. package/tokens/v0_192/_md-comp-fab-primary-large.scss +1 -63
  141. package/tokens/v0_192/_md-comp-fab-primary-small.scss +1 -63
  142. package/tokens/v0_192/_md-comp-fab-primary.scss +1 -63
  143. package/tokens/v0_192/_md-comp-fab-secondary-large.scss +1 -64
  144. package/tokens/v0_192/_md-comp-fab-secondary-small.scss +1 -64
  145. package/tokens/v0_192/_md-comp-fab-secondary.scss +1 -64
  146. package/tokens/v0_192/_md-comp-fab-surface-large.scss +1 -62
  147. package/tokens/v0_192/_md-comp-fab-surface-small.scss +1 -62
  148. package/tokens/v0_192/_md-comp-fab-surface.scss +1 -62
  149. package/tokens/v0_192/_md-comp-fab-tertiary-large.scss +1 -64
  150. package/tokens/v0_192/_md-comp-fab-tertiary-small.scss +1 -64
  151. package/tokens/v0_192/_md-comp-fab-tertiary.scss +1 -64
  152. package/tokens/v0_192/_md-comp-filled-autocomplete.scss +1 -234
  153. package/tokens/v0_192/_md-comp-filled-button.scss +1 -87
  154. package/tokens/v0_192/_md-comp-filled-card.scss +1 -57
  155. package/tokens/v0_192/_md-comp-filled-icon-button.scss +1 -78
  156. package/tokens/v0_192/_md-comp-filled-menu-button.scss +1 -96
  157. package/tokens/v0_192/_md-comp-filled-select.scss +1 -268
  158. package/tokens/v0_192/_md-comp-filled-text-field.scss +1 -188
  159. package/tokens/v0_192/_md-comp-filled-tonal-button.scss +1 -97
  160. package/tokens/v0_192/_md-comp-filled-tonal-icon-button.scss +1 -85
  161. package/tokens/v0_192/_md-comp-filter-chip.scss +1 -205
  162. package/tokens/v0_192/_md-comp-full-screen-dialog.scss +1 -109
  163. package/tokens/v0_192/_md-comp-icon-button.scss +1 -69
  164. package/tokens/v0_192/_md-comp-input-chip.scss +1 -182
  165. package/tokens/v0_192/_md-comp-linear-progress-indicator.scss +1 -38
  166. package/tokens/v0_192/_md-comp-list.scss +1 -250
  167. package/tokens/v0_192/_md-comp-menu.scss +1 -39
  168. package/tokens/v0_192/_md-comp-navigation-bar.scss +1 -110
  169. package/tokens/v0_192/_md-comp-navigation-drawer.scss +1 -160
  170. package/tokens/v0_192/_md-comp-navigation-rail.scss +1 -114
  171. package/tokens/v0_192/_md-comp-outlined-autocomplete.scss +1 -224
  172. package/tokens/v0_192/_md-comp-outlined-button.scss +1 -82
  173. package/tokens/v0_192/_md-comp-outlined-card.scss +1 -61
  174. package/tokens/v0_192/_md-comp-outlined-icon-button.scss +1 -78
  175. package/tokens/v0_192/_md-comp-outlined-menu-button.scss +1 -92
  176. package/tokens/v0_192/_md-comp-outlined-segmented-button.scss +1 -110
  177. package/tokens/v0_192/_md-comp-outlined-select.scss +1 -258
  178. package/tokens/v0_192/_md-comp-outlined-text-field.scss +1 -169
  179. package/tokens/v0_192/_md-comp-plain-tooltip.scss +1 -53
  180. package/tokens/v0_192/_md-comp-primary-navigation-tab.scss +1 -119
  181. package/tokens/v0_192/_md-comp-radio-button.scss +1 -66
  182. package/tokens/v0_192/_md-comp-rich-tooltip.scss +1 -117
  183. package/tokens/v0_192/_md-comp-scrim.scss +1 -23
  184. package/tokens/v0_192/_md-comp-search-bar.scss +1 -95
  185. package/tokens/v0_192/_md-comp-search-view.scss +1 -89
  186. package/tokens/v0_192/_md-comp-secondary-navigation-tab.scss +1 -82
  187. package/tokens/v0_192/_md-comp-sheet-bottom.scss +1 -41
  188. package/tokens/v0_192/_md-comp-sheet-floating.scss +1 -30
  189. package/tokens/v0_192/_md-comp-sheet-side.scss +1 -89
  190. package/tokens/v0_192/_md-comp-slider.scss +1 -113
  191. package/tokens/v0_192/_md-comp-snackbar.scss +1 -125
  192. package/tokens/v0_192/_md-comp-standard-menu-button.scss +1 -96
  193. package/tokens/v0_192/_md-comp-suggestion-chip.scss +1 -122
  194. package/tokens/v0_192/_md-comp-switch.scss +1 -136
  195. package/tokens/v0_192/_md-comp-text-button.scss +1 -75
  196. package/tokens/v0_192/_md-comp-time-input.scss +1 -215
  197. package/tokens/v0_192/_md-comp-time-picker.scss +1 -262
  198. package/tokens/v0_192/_md-comp-top-app-bar-large.scss +1 -59
  199. package/tokens/v0_192/_md-comp-top-app-bar-medium.scss +1 -59
  200. package/tokens/v0_192/_md-comp-top-app-bar-small-centered.scss +1 -66
  201. package/tokens/v0_192/_md-comp-top-app-bar-small.scss +1 -62
  202. package/tokens/v0_192/_md-ref-palette.scss +1 -104
  203. package/tokens/v0_192/_md-ref-typeface.scss +1 -18
  204. package/tokens/v0_192/_md-sys-color.scss +1 -130
  205. package/tokens/v0_192/_md-sys-elevation.scss +1 -19
  206. package/tokens/v0_192/_md-sys-motion.scss +1 -50
  207. package/tokens/v0_192/_md-sys-shape.scss +1 -28
  208. package/tokens/v0_192/_md-sys-state.scss +1 -17
  209. package/tokens/v0_192/_md-sys-typescale.scss +1 -281
  210. package/tokens/versions/latest/sass/_index.scss +241 -0
  211. package/tokens/versions/latest/sass/_md-comp-app-bar-large-flexible.scss +31 -0
  212. package/tokens/versions/latest/sass/_md-comp-app-bar-large.scss +35 -0
  213. package/tokens/versions/latest/sass/_md-comp-app-bar-medium-flexible.scss +31 -0
  214. package/tokens/versions/latest/sass/_md-comp-app-bar-medium.scss +35 -0
  215. package/tokens/versions/latest/sass/_md-comp-app-bar-small.scss +42 -0
  216. package/tokens/versions/latest/sass/_md-comp-app-bar.scss +59 -0
  217. package/tokens/versions/latest/sass/_md-comp-assist-chip.scss +134 -0
  218. package/tokens/versions/latest/sass/_md-comp-badge.scss +53 -0
  219. package/tokens/versions/latest/sass/_md-comp-banner.scss +147 -0
  220. package/tokens/versions/latest/sass/_md-comp-banners-basic.scss +86 -0
  221. package/tokens/versions/latest/sass/_md-comp-banners-rich.scss +89 -0
  222. package/tokens/versions/latest/sass/_md-comp-banners.scss +43 -0
  223. package/tokens/versions/latest/sass/_md-comp-bottom-app-bar.scss +37 -0
  224. package/tokens/versions/latest/sass/_md-comp-button-elevated.scss +125 -0
  225. package/tokens/versions/latest/sass/_md-comp-button-filled.scss +125 -0
  226. package/tokens/versions/latest/sass/_md-comp-button-group-connected-large.scss +31 -0
  227. package/tokens/versions/latest/sass/_md-comp-button-group-connected-medium.scss +31 -0
  228. package/tokens/versions/latest/sass/_md-comp-button-group-connected-small.scss +31 -0
  229. package/tokens/versions/latest/sass/_md-comp-button-group-connected-xlarge.scss +31 -0
  230. package/tokens/versions/latest/sass/_md-comp-button-group-connected-xsmall.scss +31 -0
  231. package/tokens/versions/latest/sass/_md-comp-button-group-standard-large.scss +29 -0
  232. package/tokens/versions/latest/sass/_md-comp-button-group-standard-medium.scss +29 -0
  233. package/tokens/versions/latest/sass/_md-comp-button-group-standard-small.scss +29 -0
  234. package/tokens/versions/latest/sass/_md-comp-button-group-standard-xlarge.scss +29 -0
  235. package/tokens/versions/latest/sass/_md-comp-button-group-standard-xsmall.scss +29 -0
  236. package/tokens/versions/latest/sass/_md-comp-button-large.scss +51 -0
  237. package/tokens/versions/latest/sass/_md-comp-button-medium.scss +51 -0
  238. package/tokens/versions/latest/sass/_md-comp-button-outlined.scss +124 -0
  239. package/tokens/versions/latest/sass/_md-comp-button-small.scss +51 -0
  240. package/tokens/versions/latest/sass/_md-comp-button-text.scss +60 -0
  241. package/tokens/versions/latest/sass/_md-comp-button-tonal.scss +125 -0
  242. package/tokens/versions/latest/sass/_md-comp-button-xlarge.scss +51 -0
  243. package/tokens/versions/latest/sass/_md-comp-button-xsmall.scss +51 -0
  244. package/tokens/versions/latest/sass/_md-comp-button.scss +163 -0
  245. package/tokens/versions/latest/sass/_md-comp-carousel-item.scss +79 -0
  246. package/tokens/versions/latest/sass/_md-comp-checkbox.scss +216 -0
  247. package/tokens/versions/latest/sass/_md-comp-circular-progress-indicator.scss +52 -0
  248. package/tokens/versions/latest/sass/_md-comp-data-table.scss +110 -0
  249. package/tokens/versions/latest/sass/_md-comp-date-input-modal.scss +80 -0
  250. package/tokens/versions/latest/sass/_md-comp-date-picker-docked.scss +241 -0
  251. package/tokens/versions/latest/sass/_md-comp-date-picker-modal.scss +295 -0
  252. package/tokens/versions/latest/sass/_md-comp-dialog.scss +157 -0
  253. package/tokens/versions/latest/sass/_md-comp-divider.scss +23 -0
  254. package/tokens/versions/latest/sass/_md-comp-drag-handle.scss +54 -0
  255. package/tokens/versions/latest/sass/_md-comp-elevated-button.scss +190 -0
  256. package/tokens/versions/latest/sass/_md-comp-elevated-card.scss +75 -0
  257. package/tokens/versions/latest/sass/_md-comp-extended-fab-branded.scss +100 -0
  258. package/tokens/versions/latest/sass/_md-comp-extended-fab-large.scss +36 -0
  259. package/tokens/versions/latest/sass/_md-comp-extended-fab-medium.scss +36 -0
  260. package/tokens/versions/latest/sass/_md-comp-extended-fab-primary-container.scss +61 -0
  261. package/tokens/versions/latest/sass/_md-comp-extended-fab-primary.scss +174 -0
  262. package/tokens/versions/latest/sass/_md-comp-extended-fab-secondary-container.scss +61 -0
  263. package/tokens/versions/latest/sass/_md-comp-extended-fab-secondary.scss +174 -0
  264. package/tokens/versions/latest/sass/_md-comp-extended-fab-small.scss +36 -0
  265. package/tokens/versions/latest/sass/_md-comp-extended-fab-surface.scss +108 -0
  266. package/tokens/versions/latest/sass/_md-comp-extended-fab-tertiary-container.scss +61 -0
  267. package/tokens/versions/latest/sass/_md-comp-extended-fab-tertiary.scss +174 -0
  268. package/tokens/versions/latest/sass/_md-comp-extended-fab.scss +36 -0
  269. package/tokens/versions/latest/sass/_md-comp-fab-branded-large.scss +127 -0
  270. package/tokens/versions/latest/sass/_md-comp-fab-branded.scss +75 -0
  271. package/tokens/versions/latest/sass/_md-comp-fab-large.scss +27 -0
  272. package/tokens/versions/latest/sass/_md-comp-fab-medium.scss +27 -0
  273. package/tokens/versions/latest/sass/_md-comp-fab-menu-primary-close-button.scss +51 -0
  274. package/tokens/versions/latest/sass/_md-comp-fab-menu-primary-container.scss +59 -0
  275. package/tokens/versions/latest/sass/_md-comp-fab-menu-secondary-close-button.scss +51 -0
  276. package/tokens/versions/latest/sass/_md-comp-fab-menu-secondary-container.scss +59 -0
  277. package/tokens/versions/latest/sass/_md-comp-fab-menu-tertiary-close-button.scss +51 -0
  278. package/tokens/versions/latest/sass/_md-comp-fab-menu-tertiary-container.scss +59 -0
  279. package/tokens/versions/latest/sass/_md-comp-fab-menu.scss +53 -0
  280. package/tokens/versions/latest/sass/_md-comp-fab-primary-container.scss +53 -0
  281. package/tokens/versions/latest/sass/_md-comp-fab-primary-large.scss +131 -0
  282. package/tokens/versions/latest/sass/_md-comp-fab-primary-small.scss +131 -0
  283. package/tokens/versions/latest/sass/_md-comp-fab-primary.scss +131 -0
  284. package/tokens/versions/latest/sass/_md-comp-fab-secondary-container.scss +53 -0
  285. package/tokens/versions/latest/sass/_md-comp-fab-secondary-large.scss +131 -0
  286. package/tokens/versions/latest/sass/_md-comp-fab-secondary-small.scss +131 -0
  287. package/tokens/versions/latest/sass/_md-comp-fab-secondary.scss +131 -0
  288. package/tokens/versions/latest/sass/_md-comp-fab-small.scss +27 -0
  289. package/tokens/versions/latest/sass/_md-comp-fab-surface-large.scss +139 -0
  290. package/tokens/versions/latest/sass/_md-comp-fab-surface.scss +83 -0
  291. package/tokens/versions/latest/sass/_md-comp-fab-tertiary-container.scss +53 -0
  292. package/tokens/versions/latest/sass/_md-comp-fab-tertiary-large.scss +131 -0
  293. package/tokens/versions/latest/sass/_md-comp-fab-tertiary-small.scss +131 -0
  294. package/tokens/versions/latest/sass/_md-comp-fab-tertiary.scss +131 -0
  295. package/tokens/versions/latest/sass/_md-comp-fab.scss +27 -0
  296. package/tokens/versions/latest/sass/_md-comp-filled-autocomplete.scss +279 -0
  297. package/tokens/versions/latest/sass/_md-comp-filled-button.scss +206 -0
  298. package/tokens/versions/latest/sass/_md-comp-filled-card.scss +75 -0
  299. package/tokens/versions/latest/sass/_md-comp-filled-icon-button.scss +178 -0
  300. package/tokens/versions/latest/sass/_md-comp-filled-menu-button.scss +118 -0
  301. package/tokens/versions/latest/sass/_md-comp-filled-select.scss +269 -0
  302. package/tokens/versions/latest/sass/_md-comp-filled-text-field.scss +221 -0
  303. package/tokens/versions/latest/sass/_md-comp-filled-tonal-button.scss +186 -0
  304. package/tokens/versions/latest/sass/_md-comp-filled-tonal-icon-button.scss +178 -0
  305. package/tokens/versions/latest/sass/_md-comp-filter-chip.scss +276 -0
  306. package/tokens/versions/latest/sass/_md-comp-full-screen-dialog.scss +199 -0
  307. package/tokens/versions/latest/sass/_md-comp-icon-button-filled.scss +82 -0
  308. package/tokens/versions/latest/sass/_md-comp-icon-button-large.scss +52 -0
  309. package/tokens/versions/latest/sass/_md-comp-icon-button-medium.scss +52 -0
  310. package/tokens/versions/latest/sass/_md-comp-icon-button-outlined.scss +86 -0
  311. package/tokens/versions/latest/sass/_md-comp-icon-button-small.scss +52 -0
  312. package/tokens/versions/latest/sass/_md-comp-icon-button-standard.scss +72 -0
  313. package/tokens/versions/latest/sass/_md-comp-icon-button-tonal.scss +82 -0
  314. package/tokens/versions/latest/sass/_md-comp-icon-button-xlarge.scss +52 -0
  315. package/tokens/versions/latest/sass/_md-comp-icon-button-xsmall.scss +52 -0
  316. package/tokens/versions/latest/sass/_md-comp-icon-button.scss +193 -0
  317. package/tokens/versions/latest/sass/_md-comp-input-chip.scss +300 -0
  318. package/tokens/versions/latest/sass/_md-comp-linear-progress-indicator.scss +60 -0
  319. package/tokens/versions/latest/sass/_md-comp-list-expand.scss +36 -0
  320. package/tokens/versions/latest/sass/_md-comp-list-reorder.scss +45 -0
  321. package/tokens/versions/latest/sass/_md-comp-list-reveal.scss +50 -0
  322. package/tokens/versions/latest/sass/_md-comp-list.scss +408 -0
  323. package/tokens/versions/latest/sass/_md-comp-loading-indicator.scss +38 -0
  324. package/tokens/versions/latest/sass/_md-comp-menu.scss +218 -0
  325. package/tokens/versions/latest/sass/_md-comp-menus-standard.scss +188 -0
  326. package/tokens/versions/latest/sass/_md-comp-menus-vibrant.scss +160 -0
  327. package/tokens/versions/latest/sass/_md-comp-menus.scss +141 -0
  328. package/tokens/versions/latest/sass/_md-comp-nav-bar-item-horizontal.scss +31 -0
  329. package/tokens/versions/latest/sass/_md-comp-nav-bar-item-vertical.scss +31 -0
  330. package/tokens/versions/latest/sass/_md-comp-nav-bar.scss +68 -0
  331. package/tokens/versions/latest/sass/_md-comp-nav-rail-collapsed.scss +35 -0
  332. package/tokens/versions/latest/sass/_md-comp-nav-rail-expanded.scss +47 -0
  333. package/tokens/versions/latest/sass/_md-comp-nav-rail-item-horizontal.scss +31 -0
  334. package/tokens/versions/latest/sass/_md-comp-nav-rail-item-vertical.scss +33 -0
  335. package/tokens/versions/latest/sass/_md-comp-nav-rail-item.scss +39 -0
  336. package/tokens/versions/latest/sass/_md-comp-nav-rail.scss +48 -0
  337. package/tokens/versions/latest/sass/_md-comp-navigation-bar.scss +150 -0
  338. package/tokens/versions/latest/sass/_md-comp-navigation-drawer.scss +187 -0
  339. package/tokens/versions/latest/sass/_md-comp-navigation-rail.scss +233 -0
  340. package/tokens/versions/latest/sass/_md-comp-outlined-autocomplete.scss +275 -0
  341. package/tokens/versions/latest/sass/_md-comp-outlined-button.scss +182 -0
  342. package/tokens/versions/latest/sass/_md-comp-outlined-card.scss +87 -0
  343. package/tokens/versions/latest/sass/_md-comp-outlined-menu-button.scss +117 -0
  344. package/tokens/versions/latest/sass/_md-comp-outlined-segmented-button.scss +121 -0
  345. package/tokens/versions/latest/sass/_md-comp-outlined-select.scss +266 -0
  346. package/tokens/versions/latest/sass/_md-comp-outlined-text-field.scss +216 -0
  347. package/tokens/versions/latest/sass/_md-comp-plain-tooltip.scss +45 -0
  348. package/tokens/versions/latest/sass/_md-comp-primary-navigation-tab.scss +130 -0
  349. package/tokens/versions/latest/sass/_md-comp-progress-indicator-circular.scss +47 -0
  350. package/tokens/versions/latest/sass/_md-comp-progress-indicator-linear.scss +65 -0
  351. package/tokens/versions/latest/sass/_md-comp-progress-indicator.scss +48 -0
  352. package/tokens/versions/latest/sass/_md-comp-radio-button.scss +72 -0
  353. package/tokens/versions/latest/sass/_md-comp-rich-tooltip.scss +113 -0
  354. package/tokens/versions/latest/sass/_md-comp-scrim.scss +23 -0
  355. package/tokens/versions/latest/sass/_md-comp-search-bar.scss +137 -0
  356. package/tokens/versions/latest/sass/_md-comp-search-view.scss +108 -0
  357. package/tokens/versions/latest/sass/_md-comp-secondary-navigation-tab.scss +104 -0
  358. package/tokens/versions/latest/sass/_md-comp-sheet-bottom.scss +52 -0
  359. package/tokens/versions/latest/sass/_md-comp-sheet-floating.scss +31 -0
  360. package/tokens/versions/latest/sass/_md-comp-sheet-side.scss +96 -0
  361. package/tokens/versions/latest/sass/_md-comp-slider-large.scss +31 -0
  362. package/tokens/versions/latest/sass/_md-comp-slider-medium.scss +31 -0
  363. package/tokens/versions/latest/sass/_md-comp-slider-small.scss +27 -0
  364. package/tokens/versions/latest/sass/_md-comp-slider-xlarge.scss +31 -0
  365. package/tokens/versions/latest/sass/_md-comp-slider-xsmall.scss +27 -0
  366. package/tokens/versions/latest/sass/_md-comp-slider.scss +307 -0
  367. package/tokens/versions/latest/sass/_md-comp-snackbar.scss +115 -0
  368. package/tokens/versions/latest/sass/_md-comp-split-button-large.scss +43 -0
  369. package/tokens/versions/latest/sass/_md-comp-split-button-medium.scss +43 -0
  370. package/tokens/versions/latest/sass/_md-comp-split-button-small.scss +43 -0
  371. package/tokens/versions/latest/sass/_md-comp-split-button-xlarge.scss +43 -0
  372. package/tokens/versions/latest/sass/_md-comp-split-button-xsmall.scss +45 -0
  373. package/tokens/versions/latest/sass/_md-comp-standard-menu-button.scss +103 -0
  374. package/tokens/versions/latest/sass/_md-comp-suggestion-chip.scss +134 -0
  375. package/tokens/versions/latest/sass/_md-comp-switch.scss +191 -0
  376. package/tokens/versions/latest/sass/_md-comp-text-button.scss +154 -0
  377. package/tokens/versions/latest/sass/_md-comp-time-input.scss +206 -0
  378. package/tokens/versions/latest/sass/_md-comp-time-picker.scss +257 -0
  379. package/tokens/versions/latest/sass/_md-comp-toolbar-docked.scss +36 -0
  380. package/tokens/versions/latest/sass/_md-comp-toolbar-floating-fab.scss +51 -0
  381. package/tokens/versions/latest/sass/_md-comp-toolbar-floating.scss +75 -0
  382. package/tokens/versions/latest/sass/_md-comp-toolbar-standard.scss +87 -0
  383. package/tokens/versions/latest/sass/_md-comp-toolbar-vibrant.scss +87 -0
  384. package/tokens/versions/latest/sass/_md-comp-top-app-bar-large.scss +92 -0
  385. package/tokens/versions/latest/sass/_md-comp-top-app-bar-medium.scss +92 -0
  386. package/tokens/versions/latest/sass/_md-comp-top-app-bar-small-centered.scss +112 -0
  387. package/tokens/versions/latest/sass/_md-comp-top-app-bar-small.scss +104 -0
  388. package/tokens/versions/latest/sass/_md-fab-surface-small.scss +139 -0
  389. package/tokens/versions/latest/sass/_md-outlined-icon-button.scss +166 -0
  390. package/tokens/versions/latest/sass/_md-ref-palette.scss +495 -0
  391. package/tokens/versions/latest/sass/_md-ref-typeface.scss +27 -0
  392. package/tokens/versions/latest/sass/_md-sys-color.scss +209 -0
  393. package/tokens/versions/latest/sass/_md-sys-color__dark.scss +209 -0
  394. package/tokens/versions/latest/sass/_md-sys-color__dark__high-contrast.scss +209 -0
  395. package/tokens/versions/latest/sass/_md-sys-color__dark__medium-contrast.scss +209 -0
  396. package/tokens/versions/latest/sass/_md-sys-color__high-contrast.scss +209 -0
  397. package/tokens/versions/latest/sass/_md-sys-color__medium-contrast.scss +209 -0
  398. package/tokens/versions/latest/sass/_md-sys-elevation.scss +35 -0
  399. package/tokens/versions/latest/sass/_md-sys-motion.scss +107 -0
  400. package/tokens/versions/latest/sass/_md-sys-shape.scss +67 -0
  401. package/tokens/versions/latest/sass/_md-sys-state-focus-indicator.scss +23 -0
  402. package/tokens/versions/latest/sass/_md-sys-state.scss +27 -0
  403. package/tokens/versions/latest/sass/_md-sys-typescale-emphasized.scss +559 -0
  404. package/tokens/versions/latest/sass/_md-sys-typescale.scss +571 -0
  405. package/tokens/versions/v0_192/_index.scss +107 -0
  406. package/tokens/versions/v0_192/_md-comp-assist-chip.scss +111 -0
  407. package/tokens/versions/v0_192/_md-comp-badge.scss +61 -0
  408. package/tokens/versions/v0_192/_md-comp-banner.scss +76 -0
  409. package/tokens/versions/v0_192/_md-comp-bottom-app-bar.scss +36 -0
  410. package/tokens/versions/v0_192/_md-comp-carousel-item.scss +66 -0
  411. package/tokens/versions/v0_192/_md-comp-checkbox.scss +129 -0
  412. package/tokens/versions/v0_192/_md-comp-circular-progress-indicator.scss +41 -0
  413. package/tokens/versions/v0_192/_md-comp-data-table.scss +99 -0
  414. package/tokens/versions/v0_192/_md-comp-date-input-modal.scss +90 -0
  415. package/tokens/versions/v0_192/_md-comp-date-picker-docked.scss +247 -0
  416. package/tokens/versions/v0_192/_md-comp-date-picker-modal.scss +306 -0
  417. package/tokens/versions/v0_192/_md-comp-dialog.scss +124 -0
  418. package/tokens/versions/v0_192/_md-comp-divider.scss +28 -0
  419. package/tokens/versions/v0_192/_md-comp-elevated-button.scss +92 -0
  420. package/tokens/versions/v0_192/_md-comp-elevated-card.scss +60 -0
  421. package/tokens/versions/v0_192/_md-comp-extended-fab-branded.scss +89 -0
  422. package/tokens/versions/v0_192/_md-comp-extended-fab-primary.scss +97 -0
  423. package/tokens/versions/v0_192/_md-comp-extended-fab-secondary.scss +98 -0
  424. package/tokens/versions/v0_192/_md-comp-extended-fab-surface.scss +93 -0
  425. package/tokens/versions/v0_192/_md-comp-extended-fab-tertiary.scss +98 -0
  426. package/tokens/versions/v0_192/_md-comp-fab-branded-large.scss +63 -0
  427. package/tokens/versions/v0_192/_md-comp-fab-branded.scss +63 -0
  428. package/tokens/versions/v0_192/_md-comp-fab-primary-large.scss +68 -0
  429. package/tokens/versions/v0_192/_md-comp-fab-primary-small.scss +68 -0
  430. package/tokens/versions/v0_192/_md-comp-fab-primary.scss +68 -0
  431. package/tokens/versions/v0_192/_md-comp-fab-secondary-large.scss +69 -0
  432. package/tokens/versions/v0_192/_md-comp-fab-secondary-small.scss +69 -0
  433. package/tokens/versions/v0_192/_md-comp-fab-secondary.scss +69 -0
  434. package/tokens/versions/v0_192/_md-comp-fab-surface-large.scss +67 -0
  435. package/tokens/versions/v0_192/_md-comp-fab-surface-small.scss +67 -0
  436. package/tokens/versions/v0_192/_md-comp-fab-surface.scss +67 -0
  437. package/tokens/versions/v0_192/_md-comp-fab-tertiary-large.scss +69 -0
  438. package/tokens/versions/v0_192/_md-comp-fab-tertiary-small.scss +69 -0
  439. package/tokens/versions/v0_192/_md-comp-fab-tertiary.scss +69 -0
  440. package/tokens/versions/v0_192/_md-comp-filled-autocomplete.scss +239 -0
  441. package/tokens/versions/v0_192/_md-comp-filled-button.scss +92 -0
  442. package/tokens/versions/v0_192/_md-comp-filled-card.scss +62 -0
  443. package/tokens/versions/v0_192/_md-comp-filled-icon-button.scss +83 -0
  444. package/tokens/versions/v0_192/_md-comp-filled-menu-button.scss +101 -0
  445. package/tokens/versions/v0_192/_md-comp-filled-select.scss +273 -0
  446. package/tokens/versions/v0_192/_md-comp-filled-text-field.scss +193 -0
  447. package/tokens/versions/v0_192/_md-comp-filled-tonal-button.scss +102 -0
  448. package/tokens/versions/v0_192/_md-comp-filled-tonal-icon-button.scss +90 -0
  449. package/tokens/versions/v0_192/_md-comp-filter-chip.scss +210 -0
  450. package/tokens/versions/v0_192/_md-comp-full-screen-dialog.scss +114 -0
  451. package/tokens/versions/v0_192/_md-comp-icon-button.scss +74 -0
  452. package/tokens/versions/v0_192/_md-comp-input-chip.scss +187 -0
  453. package/tokens/versions/v0_192/_md-comp-linear-progress-indicator.scss +43 -0
  454. package/tokens/versions/v0_192/_md-comp-list.scss +255 -0
  455. package/tokens/versions/v0_192/_md-comp-menu.scss +44 -0
  456. package/tokens/versions/v0_192/_md-comp-navigation-bar.scss +115 -0
  457. package/tokens/versions/v0_192/_md-comp-navigation-drawer.scss +165 -0
  458. package/tokens/versions/v0_192/_md-comp-navigation-rail.scss +119 -0
  459. package/tokens/versions/v0_192/_md-comp-outlined-autocomplete.scss +229 -0
  460. package/tokens/versions/v0_192/_md-comp-outlined-button.scss +87 -0
  461. package/tokens/versions/v0_192/_md-comp-outlined-card.scss +66 -0
  462. package/tokens/versions/v0_192/_md-comp-outlined-icon-button.scss +83 -0
  463. package/tokens/versions/v0_192/_md-comp-outlined-menu-button.scss +97 -0
  464. package/tokens/versions/v0_192/_md-comp-outlined-segmented-button.scss +115 -0
  465. package/tokens/versions/v0_192/_md-comp-outlined-select.scss +263 -0
  466. package/tokens/versions/v0_192/_md-comp-outlined-text-field.scss +174 -0
  467. package/tokens/versions/v0_192/_md-comp-plain-tooltip.scss +58 -0
  468. package/tokens/versions/v0_192/_md-comp-primary-navigation-tab.scss +124 -0
  469. package/tokens/versions/v0_192/_md-comp-radio-button.scss +71 -0
  470. package/tokens/versions/v0_192/_md-comp-rich-tooltip.scss +122 -0
  471. package/tokens/versions/v0_192/_md-comp-scrim.scss +28 -0
  472. package/tokens/versions/v0_192/_md-comp-search-bar.scss +100 -0
  473. package/tokens/versions/v0_192/_md-comp-search-view.scss +94 -0
  474. package/tokens/versions/v0_192/_md-comp-secondary-navigation-tab.scss +87 -0
  475. package/tokens/versions/v0_192/_md-comp-sheet-bottom.scss +46 -0
  476. package/tokens/versions/v0_192/_md-comp-sheet-floating.scss +35 -0
  477. package/tokens/versions/v0_192/_md-comp-sheet-side.scss +94 -0
  478. package/tokens/versions/v0_192/_md-comp-slider.scss +118 -0
  479. package/tokens/versions/v0_192/_md-comp-snackbar.scss +130 -0
  480. package/tokens/versions/v0_192/_md-comp-standard-menu-button.scss +101 -0
  481. package/tokens/versions/v0_192/_md-comp-suggestion-chip.scss +127 -0
  482. package/tokens/versions/v0_192/_md-comp-switch.scss +141 -0
  483. package/tokens/versions/v0_192/_md-comp-text-button.scss +80 -0
  484. package/tokens/versions/v0_192/_md-comp-time-input.scss +220 -0
  485. package/tokens/versions/v0_192/_md-comp-time-picker.scss +267 -0
  486. package/tokens/versions/v0_192/_md-comp-top-app-bar-large.scss +64 -0
  487. package/tokens/versions/v0_192/_md-comp-top-app-bar-medium.scss +64 -0
  488. package/tokens/versions/v0_192/_md-comp-top-app-bar-small-centered.scss +71 -0
  489. package/tokens/versions/v0_192/_md-comp-top-app-bar-small.scss +67 -0
  490. package/tokens/versions/v0_192/_md-ref-palette.scss +109 -0
  491. package/tokens/versions/v0_192/_md-ref-typeface.scss +23 -0
  492. package/tokens/versions/v0_192/_md-sys-color.scss +135 -0
  493. package/tokens/versions/v0_192/_md-sys-elevation.scss +24 -0
  494. package/tokens/versions/v0_192/_md-sys-motion.scss +55 -0
  495. package/tokens/versions/v0_192/_md-sys-shape.scss +33 -0
  496. package/tokens/versions/v0_192/_md-sys-state.scss +22 -0
  497. package/tokens/versions/v0_192/_md-sys-typescale.scss +286 -0
  498. package/tokens/versions/v0_192/index.test.scss +584 -0
  499. package/tokens/versions/v0_192/lib.test.scss +663 -0
  500. package/types/command-event.d.ts +22 -0
  501. package/types/css-imports.d.ts +12 -0
  502. package/types/popover.d.ts +22 -0
  503. package/internal/sass/_string-ext.scss +0 -195
@@ -0,0 +1,31 @@
1
+ /*!
2
+ * Copyright 2026 Google LLC
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ // go/keep-sorted start by_regex='(.+) prefix_order=sass:
7
+ @use 'divider-tokens';
8
+ // go/keep-sorted end
9
+
10
+ @layer md.sys;
11
+ @layer md.comp.divider {
12
+ .divider {
13
+ & {
14
+ @include divider-tokens.root;
15
+
16
+ box-sizing: border-box;
17
+ border: none;
18
+ margin: unset; // Remove <hr> margins
19
+ }
20
+
21
+ &:not(.divider-vertical) {
22
+ border-bottom: var(--thickness) solid var(--color);
23
+ width: 100%;
24
+ }
25
+
26
+ &.divider-vertical {
27
+ border-inline-end: var(--thickness) solid var(--color);
28
+ min-height: 100%;
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,89 @@
1
+ //
2
+ // Copyright 2026 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ @mixin root {
7
+ // LINT.IfChange
8
+ --container-color: transparent;
9
+ --container-elevation: var(--md-sys-elevation-shadow-3);
10
+ --container-height: 56px;
11
+ --container-shape: var(--md-sys-shape-corner-lg);
12
+ --icon-color: currentColor;
13
+ --icon-label-space: 12px;
14
+ --icon-size: 24px;
15
+ --label-text: var(--md-sys-typescale-label-lg);
16
+ --label-text-axes: var(--md-sys-typescale-label-lg-axes);
17
+ --label-text-color: currentColor;
18
+ --label-text-tracking: var(--md-sys-typescale-label-lg-tracking);
19
+ --leading-space: 16px;
20
+ --trailing-space: 16px;
21
+ // LINT.ThenChange(fab-element.ts) keep in sync with `@cssprop` jsdoc tags
22
+ }
23
+
24
+ @mixin hovered {
25
+ --container-elevation: var(--md-sys-elevation-shadow-4);
26
+ }
27
+
28
+ @mixin pressed {
29
+ --container-elevation: var(--md-sys-elevation-shadow-3);
30
+ }
31
+
32
+ @mixin primary-container {
33
+ --container-color: var(--md-sys-color-primary-container);
34
+ --icon-color: var(--md-sys-color-on-primary-container);
35
+ --label-text-color: var(--md-sys-color-on-primary-container);
36
+ }
37
+
38
+ @mixin primary {
39
+ --container-color: var(--md-sys-color-primary);
40
+ --icon-color: var(--md-sys-color-on-primary);
41
+ --label-text-color: var(--md-sys-color-on-primary);
42
+ }
43
+
44
+ @mixin secondary-container {
45
+ --container-color: var(--md-sys-color-secondary-container);
46
+ --icon-color: var(--md-sys-color-on-secondary-container);
47
+ --label-text-color: var(--md-sys-color-on-secondary-container);
48
+ }
49
+
50
+ @mixin secondary {
51
+ --container-color: var(--md-sys-color-secondary);
52
+ --icon-color: var(--md-sys-color-on-secondary);
53
+ --label-text-color: var(--md-sys-color-on-secondary);
54
+ }
55
+
56
+ @mixin tertiary-container {
57
+ --container-color: var(--md-sys-color-tertiary-container);
58
+ --icon-color: var(--md-sys-color-on-tertiary-container);
59
+ --label-text-color: var(--md-sys-color-on-tertiary-container);
60
+ }
61
+
62
+ @mixin tertiary {
63
+ --container-color: var(--md-sys-color-tertiary);
64
+ --icon-color: var(--md-sys-color-on-tertiary);
65
+ --label-text-color: var(--md-sys-color-on-tertiary);
66
+ }
67
+
68
+ @mixin md {
69
+ --container-height: 80px;
70
+ --container-shape: var(--md-sys-shape-corner-lg-increased);
71
+ --icon-size: 28px;
72
+ --label-text: var(--md-sys-typescale-title-lg);
73
+ --label-text-axes: var(--md-sys-typescale-title-lg-axes);
74
+ --label-text-tracking: var(--md-sys-typescale-title-lg-tracking);
75
+ --leading-space: 26px;
76
+ --trailing-space: 26px;
77
+ }
78
+
79
+ @mixin lg {
80
+ --container-height: 96px;
81
+ --container-shape: var(--md-sys-shape-corner-xl);
82
+ --icon-label-space: 16px;
83
+ --icon-size: 36px;
84
+ --label-text: var(--md-sys-typescale-headline-sm);
85
+ --label-text-axes: var(--md-sys-typescale-headline-sm-axes);
86
+ --label-text-tracking: var(--md-sys-typescale-headline-sm-tracking);
87
+ --leading-space: 28px;
88
+ --trailing-space: 28px;
89
+ }
@@ -0,0 +1,78 @@
1
+ /*!
2
+ * Copyright 2026 Google LLC
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ // go/keep-sorted start by_regex='(.+) prefix_order=sass:
7
+ @use 'fab-tokens';
8
+ // go/keep-sorted end
9
+
10
+ // TODO: add any md.comp dependencies (e.g. md.comp.ripple)
11
+ @layer md.sys, md.comp.dependencies;
12
+ @layer md.comp.fab {
13
+ .fab {
14
+ & {
15
+ @include fab-tokens.root;
16
+ }
17
+
18
+ &:is(:hover, .hover) {
19
+ @include fab-tokens.hovered;
20
+ }
21
+
22
+ &:is(:active, .active) {
23
+ @include fab-tokens.pressed;
24
+ }
25
+
26
+ &.fab-primary-container {
27
+ @include fab-tokens.primary-container;
28
+ }
29
+
30
+ &.fab-primary {
31
+ @include fab-tokens.primary;
32
+ }
33
+
34
+ &.fab-secondary-container {
35
+ @include fab-tokens.secondary-container;
36
+ }
37
+
38
+ &.fab-secondary {
39
+ @include fab-tokens.secondary;
40
+ }
41
+
42
+ &.fab-tertiary-container {
43
+ @include fab-tokens.tertiary-container;
44
+ }
45
+
46
+ &.fab-tertiary {
47
+ @include fab-tokens.tertiary;
48
+ }
49
+
50
+ &.fab-md {
51
+ @include fab-tokens.md;
52
+ }
53
+
54
+ &.fab-lg {
55
+ @include fab-tokens.lg;
56
+ }
57
+
58
+ & {
59
+ appearance: none;
60
+ border: none;
61
+ display: inline-flex;
62
+ align-items: center;
63
+ gap: var(--icon-label-space);
64
+ height: var(--container-height);
65
+ background-color: var(--container-color);
66
+ border-radius: var(--container-shape);
67
+ box-shadow: var(--container-elevation);
68
+ color: var(--label-text-color);
69
+ font: var(--label-text);
70
+ letter-spacing: var(--label-text-tracking);
71
+ font-variation-settings: var(--label-text-axes);
72
+ padding-inline: var(--leading-space) var(--trailing-space);
73
+ animation: var(--ripple-animation), var(--focus-ring-animation);
74
+ --md-icon-color: var(--icon-color);
75
+ --md-icon-size: var(--icon-size);
76
+ }
77
+ }
78
+ }
@@ -0,0 +1,91 @@
1
+ /*!
2
+ * Copyright 2026 Google LLC
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ // go/keep-sorted start by_regex='(.+) prefix_order=sass:
7
+ @use '../../../../tokens/versions/latest/sass/md-sys-state-focus-indicator';
8
+ // go/keep-sorted end
9
+
10
+ @layer md.sys;
11
+ @layer md.comp.focus-ring {
12
+ .focus-ring-outer,
13
+ .focus-ring-inner {
14
+ --focus-ring-outline: none;
15
+ --focus-ring-offset: 0;
16
+ --focus-ring-animation: none;
17
+
18
+ outline: var(--focus-ring-outline);
19
+ outline-offset: var(--focus-ring-offset);
20
+ animation: var(--focus-ring-animation), var(--ripple-animation, none);
21
+ }
22
+
23
+ // Focus rings support the following DOM use cases:
24
+ // 1. Focus ring and interactive element are the same.
25
+ // 2. Focus ring is a parent of a child interactive `.focus-ring-target`.
26
+ // 3. Focus ring is a child of a parent interactive `.focus-ring-target`.
27
+ // 4. Focus ring has `.focus-ring-host` and is a within an interactive shadow DOM host.
28
+ //
29
+ // Pseudo class emulation is only needed for the focus ring element, not for
30
+ // the target or host elements.
31
+
32
+ .focus-ring-outer {
33
+ &:is(:focus-visible, .focus-visible),
34
+ &:has(.focus-ring-target:focus-visible),
35
+ .focus-ring-target:focus-visible &,
36
+ :host(:focus-visible) &.focus-ring-host {
37
+ --focus-ring-outline: #{md-sys-state-focus-indicator.$thickness} solid var(--md-sys-color-secondary);
38
+ --focus-ring-offset: #{md-sys-state-focus-indicator.$outer-offset};
39
+ --focus-ring-animation: focus-ring-outer-grow 150ms
40
+ cubic-bezier(0.2, 0, 0, 1),
41
+ focus-ring-outer-shrink 450ms 150ms cubic-bezier(0.2, 0, 0, 1);
42
+ }
43
+ }
44
+
45
+ .focus-ring-inner {
46
+ &:is(:focus-visible, .focus-visible),
47
+ &:has(.focus-ring-target:focus-visible),
48
+ .focus-ring-target:focus-visible &,
49
+ :host(:focus-visible) &.focus-ring-host {
50
+ --focus-ring-outline: #{md-sys-state-focus-indicator.$thickness} solid var(--md-sys-color-secondary);
51
+ --focus-ring-offset: #{md-sys-state-focus-indicator.$inner-offset};
52
+ --focus-ring-animation: focus-ring-inner-grow 150ms
53
+ cubic-bezier(0.2, 0, 0, 1),
54
+ focus-ring-inner-shrink 450ms 150ms cubic-bezier(0.2, 0, 0, 1);
55
+ }
56
+ }
57
+
58
+ @keyframes focus-ring-outer-grow {
59
+ from {
60
+ outline-width: 0;
61
+ }
62
+
63
+ to {
64
+ outline-width: 8px;
65
+ }
66
+ }
67
+
68
+ @keyframes focus-ring-outer-shrink {
69
+ from {
70
+ outline-width: 8px;
71
+ }
72
+ }
73
+
74
+ @keyframes focus-ring-inner-grow {
75
+ from {
76
+ outline-width: 0;
77
+ outline-offset: 0;
78
+ }
79
+ to {
80
+ outline-width: 8px;
81
+ outline-offset: -8px;
82
+ }
83
+ }
84
+
85
+ @keyframes focus-ring-inner-shrink {
86
+ from {
87
+ outline-width: 8px;
88
+ outline-offset: -8px;
89
+ }
90
+ }
91
+ }
@@ -0,0 +1,213 @@
1
+ //
2
+ // Copyright 2026 Google LLC
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ //
5
+
6
+ @mixin root {
7
+ // LINT.IfChange
8
+ --container-color: transparent;
9
+ --container-height: auto;
10
+ --container-shape: calc(var(--container-height) / 2);
11
+ --icon-color: currentColor;
12
+ --icon-size: 24px;
13
+ --leading-space: 0;
14
+ --md-icon-fill: 1;
15
+ --outline-color: transparent;
16
+ --outline-width: 0;
17
+ --trailing-space: 0;
18
+ // LINT.ThenChange(icon-button-element.ts) keep in sync with `@cssprop` jsdoc tags
19
+ }
20
+
21
+ @mixin unselected {
22
+ --md-icon-fill: 0;
23
+ }
24
+
25
+ @mixin selected {
26
+ --container-shape: var(--md-sys-shape-corner-md);
27
+ --icon-color: var(--md-sys-color-primary);
28
+ --md-icon-fill: 1;
29
+ }
30
+
31
+ @mixin filled {
32
+ --container-color: var(--md-sys-color-primary);
33
+ --icon-color: var(--md-sys-color-on-primary);
34
+ }
35
+
36
+ @mixin filled-unselected {
37
+ --container-color: var(--md-sys-color-surface-container);
38
+ --icon-color: var(--md-sys-color-on-surface-variant);
39
+ }
40
+
41
+ @mixin filled-selected {
42
+ --container-color: var(--md-sys-color-primary);
43
+ --icon-color: var(--md-sys-color-on-primary);
44
+ }
45
+
46
+ @mixin tonal {
47
+ --container-color: var(--md-sys-color-secondary-container);
48
+ --icon-color: var(--md-sys-color-on-secondary-container);
49
+ }
50
+
51
+ @mixin tonal-selected {
52
+ --container-color: var(--md-sys-color-secondary);
53
+ --icon-color: var(--md-sys-color-on-secondary);
54
+ }
55
+
56
+ @mixin outlined {
57
+ --icon-color: var(--md-sys-color-on-surface-variant);
58
+ --outline-color: var(--md-sys-color-outline-variant);
59
+ }
60
+
61
+ @mixin outlined-selected {
62
+ --container-color: var(--md-sys-color-inverse-surface);
63
+ --icon-color: var(--md-sys-color-inverse-on-surface);
64
+ }
65
+
66
+ @mixin standard {
67
+ --icon-color: var(--md-sys-color-on-surface-variant);
68
+ }
69
+
70
+ @mixin standard-selected {
71
+ --icon-color: var(--md-sys-color-primary);
72
+ }
73
+
74
+ @mixin xs {
75
+ --container-height: 32px;
76
+ --icon-size: 20px;
77
+ --leading-space: 6px;
78
+ --outline-width: 1px;
79
+ --trailing-space: 6px;
80
+ }
81
+
82
+ @mixin xs-narrow {
83
+ --leading-space: 4px;
84
+ --trailing-space: 4px;
85
+ }
86
+
87
+ @mixin xs-wide {
88
+ --leading-space: 10px;
89
+ --trailing-space: 10px;
90
+ }
91
+
92
+ @mixin sm {
93
+ --container-height: 40px;
94
+ --leading-space: 8px;
95
+ --outline-width: 1px;
96
+ --trailing-space: 8px;
97
+ }
98
+
99
+ @mixin sm-narrow {
100
+ --leading-space: 4px;
101
+ --trailing-space: 4px;
102
+ }
103
+
104
+ @mixin sm-wide {
105
+ --leading-space: 14px;
106
+ --trailing-space: 14px;
107
+ }
108
+
109
+ @mixin md {
110
+ --container-height: 56px;
111
+ --leading-space: 16px;
112
+ --outline-width: 1px;
113
+ --trailing-space: 16px;
114
+ }
115
+
116
+ @mixin md-narrow {
117
+ --leading-space: 12px;
118
+ --trailing-space: 12px;
119
+ }
120
+
121
+ @mixin md-wide {
122
+ --leading-space: 24px;
123
+ --trailing-space: 24px;
124
+ }
125
+
126
+ @mixin md-selected {
127
+ --container-shape: var(--md-sys-shape-corner-lg);
128
+ }
129
+
130
+ @mixin lg {
131
+ --container-height: 96px;
132
+ --icon-size: 32px;
133
+ --leading-space: 32px;
134
+ --outline-width: 2px;
135
+ --trailing-space: 32px;
136
+ }
137
+
138
+ @mixin lg-narrow {
139
+ --leading-space: 16px;
140
+ --trailing-space: 16px;
141
+ }
142
+
143
+ @mixin lg-wide {
144
+ --leading-space: 48px;
145
+ --trailing-space: 48px;
146
+ }
147
+
148
+ @mixin lg-selected {
149
+ --container-shape: var(--md-sys-shape-corner-xl);
150
+ }
151
+
152
+ @mixin xl {
153
+ --container-height: 136px;
154
+ --icon-size: 40px;
155
+ --leading-space: 48px;
156
+ --outline-width: 3px;
157
+ --trailing-space: 48px;
158
+ }
159
+
160
+ @mixin xl-narrow {
161
+ --leading-space: 32px;
162
+ --trailing-space: 32px;
163
+ }
164
+
165
+ @mixin xl-wide {
166
+ --leading-space: 72px;
167
+ --trailing-space: 72px;
168
+ }
169
+
170
+ @mixin xl-selected {
171
+ --container-shape: var(--md-sys-shape-corner-xl);
172
+ }
173
+
174
+ @mixin square {
175
+ --container-shape: var(--md-sys-shape-corner-md);
176
+ }
177
+
178
+ @mixin square-md {
179
+ --container-shape: var(--md-sys-shape-corner-lg);
180
+ }
181
+
182
+ @mixin square-lg {
183
+ --container-shape: var(--md-sys-shape-corner-xl);
184
+ }
185
+
186
+ @mixin square-xl {
187
+ --container-shape: var(--md-sys-shape-corner-xl);
188
+ }
189
+
190
+ @mixin square-selected {
191
+ --container-shape: calc(var(--container-height) / 2);
192
+ }
193
+
194
+ @mixin pressed {
195
+ --container-shape: var(--md-sys-shape-corner-sm);
196
+ }
197
+
198
+ @mixin pressed-md {
199
+ --container-shape: var(--md-sys-shape-corner-md);
200
+ }
201
+
202
+ @mixin pressed-lg {
203
+ --container-shape: var(--md-sys-shape-corner-lg);
204
+ }
205
+
206
+ @mixin pressed-xl {
207
+ --container-shape: var(--md-sys-shape-corner-lg);
208
+ }
209
+
210
+ @mixin disabled {
211
+ --container-color: hsl(from var(--md-sys-color-on-surface) h s l / 10%);
212
+ --icon-color: hsl(from var(--md-sys-color-on-surface) h s l / 38%);
213
+ }
@@ -0,0 +1,160 @@
1
+ /*!
2
+ * Copyright 2026 Google LLC
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ // go/keep-sorted start by_regex='(.+) prefix_order=sass:
7
+ @use 'icon-button-tokens';
8
+ // go/keep-sorted end
9
+
10
+ @layer md.sys, md.comp.ripple, md.comp.focus-ring;
11
+ @layer md.comp.icon-btn {
12
+ .icon-btn {
13
+ & {
14
+ @include icon-button-tokens.root;
15
+ }
16
+ &:where(.icon-btn-unselected, [aria-pressed='false']) {
17
+ @include icon-button-tokens.unselected;
18
+ }
19
+ &:is(.icon-btn-selected, [aria-pressed='true']) {
20
+ @include icon-button-tokens.selected;
21
+ }
22
+ &.icon-btn-filled {
23
+ @include icon-button-tokens.filled;
24
+ &:where(.icon-btn-unselected, [aria-pressed='false']) {
25
+ @include icon-button-tokens.filled-unselected;
26
+ }
27
+ &:where(.icon-btn-selected, [aria-pressed='true']) {
28
+ @include icon-button-tokens.filled-selected;
29
+ }
30
+ }
31
+ &.icon-btn-tonal {
32
+ @include icon-button-tokens.tonal;
33
+ &:where(.icon-btn-selected, [aria-pressed='true']) {
34
+ @include icon-button-tokens.tonal-selected;
35
+ }
36
+ }
37
+ &.icon-btn-outlined {
38
+ @include icon-button-tokens.outlined;
39
+ &:where(.icon-btn-selected, [aria-pressed='true']) {
40
+ @include icon-button-tokens.outlined-selected;
41
+ }
42
+ }
43
+ &.icon-btn-standard {
44
+ @include icon-button-tokens.standard;
45
+ &:where(.icon-btn-selected, [aria-pressed='true']) {
46
+ @include icon-button-tokens.standard-selected;
47
+ }
48
+ }
49
+ &.icon-btn-xs {
50
+ @include icon-button-tokens.xs;
51
+ &:where(.icon-btn-narrow) {
52
+ @include icon-button-tokens.xs-narrow;
53
+ }
54
+ &:where(.icon-btn-wide) {
55
+ @include icon-button-tokens.xs-wide;
56
+ }
57
+ }
58
+ &.icon-btn-sm {
59
+ @include icon-button-tokens.sm;
60
+ &:where(.icon-btn-narrow) {
61
+ @include icon-button-tokens.sm-narrow;
62
+ }
63
+ &:where(.icon-btn-wide) {
64
+ @include icon-button-tokens.sm-wide;
65
+ }
66
+ }
67
+ &.icon-btn-md {
68
+ @include icon-button-tokens.md;
69
+ &:where(.icon-btn-narrow) {
70
+ @include icon-button-tokens.md-narrow;
71
+ }
72
+ &:where(.icon-btn-wide) {
73
+ @include icon-button-tokens.md-wide;
74
+ }
75
+ &:where(.icon-btn-selected, [aria-pressed='true']) {
76
+ @include icon-button-tokens.md-selected;
77
+ }
78
+ }
79
+ &.icon-btn-lg {
80
+ @include icon-button-tokens.lg;
81
+ &:where(.icon-btn-narrow) {
82
+ @include icon-button-tokens.lg-narrow;
83
+ }
84
+ &:where(.icon-btn-wide) {
85
+ @include icon-button-tokens.lg-wide;
86
+ }
87
+ &:where(.icon-btn-selected, [aria-pressed='true']) {
88
+ @include icon-button-tokens.lg-selected;
89
+ }
90
+ }
91
+ &.icon-btn-xl {
92
+ @include icon-button-tokens.xl;
93
+ &:where(.icon-btn-narrow) {
94
+ @include icon-button-tokens.xl-narrow;
95
+ }
96
+ &:where(.icon-btn-wide) {
97
+ @include icon-button-tokens.xl-wide;
98
+ }
99
+ &:where(.icon-btn-selected, [aria-pressed='true']) {
100
+ @include icon-button-tokens.xl-selected;
101
+ }
102
+ }
103
+ &.icon-btn-square {
104
+ @include icon-button-tokens.square;
105
+ &:where(.icon-btn-md) {
106
+ @include icon-button-tokens.square-md;
107
+ }
108
+ &:where(.icon-btn-lg) {
109
+ @include icon-button-tokens.square-lg;
110
+ }
111
+ &:where(.icon-btn-xl) {
112
+ @include icon-button-tokens.square-xl;
113
+ }
114
+ &:where(.icon-btn-selected, [aria-pressed='true']) {
115
+ @include icon-button-tokens.square-selected;
116
+ }
117
+ }
118
+ &:is(:active, .active):where(:not(:disabled, .disabled)) {
119
+ @include icon-button-tokens.pressed;
120
+ &:where(.icon-btn-md) {
121
+ @include icon-button-tokens.pressed-md;
122
+ }
123
+ &:where(.icon-btn-lg) {
124
+ @include icon-button-tokens.pressed-lg;
125
+ }
126
+ &:where(.icon-btn-xl) {
127
+ @include icon-button-tokens.pressed-xl;
128
+ }
129
+ }
130
+ &:is(:disabled, .disabled) {
131
+ @include icon-button-tokens.disabled;
132
+ }
133
+
134
+ & {
135
+ display: inline-grid;
136
+ place-items: center;
137
+ background-color: var(--container-color);
138
+ border: var(--outline-width) solid var(--outline-color);
139
+ border-radius: var(--container-shape);
140
+ height: var(--container-height);
141
+ color: var(--icon-color);
142
+ transition:
143
+ border-radius 350ms cubic-bezier(0.42, 1.67, 0.21, 0.9),
144
+ var(--ripple-transition);
145
+ --md-icon-size: var(--icon-size);
146
+ }
147
+
148
+ &:not(.icon-btn-narrow, .icon-btn-wide) {
149
+ aspect-ratio: 1;
150
+ }
151
+
152
+ &:is(.icon-btn-narrow, .icon-btn-wide) {
153
+ padding-inline: var(--leading-space) var(--trailing-space);
154
+ }
155
+
156
+ &:not(:disabled, .disabled) {
157
+ cursor: pointer;
158
+ }
159
+ }
160
+ }