@depup/angular__material 21.2.2-depup.19

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 (578) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +31 -0
  3. package/_index.scss +145 -0
  4. package/autocomplete/_autocomplete-theme.scss +76 -0
  5. package/autocomplete/_m2-autocomplete.scss +19 -0
  6. package/autocomplete/_m3-autocomplete.scss +26 -0
  7. package/badge/_badge-theme.scss +106 -0
  8. package/badge/_m2-badge.scss +73 -0
  9. package/badge/_m3-badge.scss +52 -0
  10. package/bottom-sheet/_bottom-sheet-theme.scss +76 -0
  11. package/bottom-sheet/_m2-bottom-sheet.scss +24 -0
  12. package/bottom-sheet/_m3-bottom-sheet.scss +25 -0
  13. package/button/_button-theme.scss +113 -0
  14. package/button/_fab-theme.scss +111 -0
  15. package/button/_icon-button-theme.scss +136 -0
  16. package/button/_m2-button.scss +194 -0
  17. package/button/_m2-fab.scss +101 -0
  18. package/button/_m2-icon-button.scss +59 -0
  19. package/button/_m3-button.scss +170 -0
  20. package/button/_m3-fab.scss +92 -0
  21. package/button/_m3-icon-button.scss +54 -0
  22. package/button-toggle/_button-toggle-theme.scss +93 -0
  23. package/button-toggle/_m2-button-toggle.scss +68 -0
  24. package/button-toggle/_m3-button-toggle.scss +72 -0
  25. package/card/_card-theme.scss +76 -0
  26. package/card/_m2-card.scss +39 -0
  27. package/card/_m3-card.scss +44 -0
  28. package/changes.json +10 -0
  29. package/checkbox/_checkbox-theme.scss +105 -0
  30. package/checkbox/_m2-checkbox.scss +78 -0
  31. package/checkbox/_m3-checkbox.scss +68 -0
  32. package/chips/_chips-theme.scss +115 -0
  33. package/chips/_m2-chip.scss +85 -0
  34. package/chips/_m3-chip.scss +81 -0
  35. package/core/_core-theme.scss +125 -0
  36. package/core/_core.scss +50 -0
  37. package/core/_m2-app.scss +24 -0
  38. package/core/_m3-app.scss +44 -0
  39. package/core/color/_all-color.scss +17 -0
  40. package/core/density/private/_all-density.scss +78 -0
  41. package/core/focus-indicators/_private.scss +126 -0
  42. package/core/m2/_index.scss +52 -0
  43. package/core/m2/_palette.scss +748 -0
  44. package/core/m2/_theming.scss +340 -0
  45. package/core/m2/_typography-utils.scss +81 -0
  46. package/core/m2/_typography.scss +388 -0
  47. package/core/option/_m2-optgroup.scss +21 -0
  48. package/core/option/_m2-option.scss +38 -0
  49. package/core/option/_m3-optgroup.scss +25 -0
  50. package/core/option/_m3-option.scss +37 -0
  51. package/core/option/_optgroup-theme.scss +76 -0
  52. package/core/option/_option-theme.scss +103 -0
  53. package/core/ripple/_m2-ripple.scss +17 -0
  54. package/core/ripple/_m3-ripple.scss +17 -0
  55. package/core/ripple/_ripple-theme.scss +75 -0
  56. package/core/ripple/_ripple.scss +56 -0
  57. package/core/selection/pseudo-checkbox/_m2-pseudo-checkbox.scss +32 -0
  58. package/core/selection/pseudo-checkbox/_m3-pseudo-checkbox.scss +34 -0
  59. package/core/selection/pseudo-checkbox/_pseudo-checkbox-common.scss +86 -0
  60. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +110 -0
  61. package/core/style/_checkbox-common.scss +11 -0
  62. package/core/style/_elevation.scss +208 -0
  63. package/core/style/_layout-common.scss +8 -0
  64. package/core/style/_private.scss +27 -0
  65. package/core/style/_sass-utils.scss +57 -0
  66. package/core/style/_validation.scss +52 -0
  67. package/core/style/_variables.scss +44 -0
  68. package/core/style/_vendor-prefixes.scss +56 -0
  69. package/core/theming/_all-theme.scss +168 -0
  70. package/core/theming/_color-api-backwards-compatibility.scss +159 -0
  71. package/core/theming/_config-validation.scss +174 -0
  72. package/core/theming/_definition.scss +141 -0
  73. package/core/theming/_inspection.scss +289 -0
  74. package/core/theming/_m2-inspection.scss +243 -0
  75. package/core/theming/_palettes.scss +1036 -0
  76. package/core/theming/_theming.scss +193 -0
  77. package/core/theming/_validation.scss +5 -0
  78. package/core/tokens/_classes.scss +398 -0
  79. package/core/tokens/_m2-utils.scss +25 -0
  80. package/core/tokens/_m3-tokens.scss +126 -0
  81. package/core/tokens/_m3-utils.scss +36 -0
  82. package/core/tokens/_system.scss +398 -0
  83. package/core/tokens/_token-utils.scss +119 -0
  84. package/core/tokens/m2/_index.scss +6 -0
  85. package/core/tokens/m2/_md-sys-color-internal.scss +11 -0
  86. package/core/tokens/m2/_md-sys-color.scss +123 -0
  87. package/core/tokens/m2/_md-sys-elevation.scss +10 -0
  88. package/core/tokens/m2/_md-sys-motion.scss +30 -0
  89. package/core/tokens/m2/_md-sys-shape.scss +16 -0
  90. package/core/tokens/m2/_md-sys-state.scss +8 -0
  91. package/core/tokens/m2/_md-sys-typescale.scss +68 -0
  92. package/core/tokens/m3/_index.scss +7 -0
  93. package/core/tokens/m3/_md-sys-color-internal.scss +11 -0
  94. package/core/tokens/m3/_md-sys-color.scss +118 -0
  95. package/core/tokens/m3/_md-sys-elevation.scss +15 -0
  96. package/core/tokens/m3/_md-sys-motion.scss +35 -0
  97. package/core/tokens/m3/_md-sys-shape.scss +21 -0
  98. package/core/tokens/m3/_md-sys-state.scss +13 -0
  99. package/core/tokens/m3/_md-sys-typescale-internal.scss +5 -0
  100. package/core/tokens/m3/_md-sys-typescale.scss +114 -0
  101. package/core/tokens/m3/_theme.scss +35 -0
  102. package/core/typography/_all-typography.scss +104 -0
  103. package/core/typography/_typography-utils.scss +31 -0
  104. package/core/typography/_typography.scss +269 -0
  105. package/core/typography/_versioning.scss +90 -0
  106. package/datepicker/_datepicker-theme.scss +132 -0
  107. package/datepicker/_m2-datepicker.scss +81 -0
  108. package/datepicker/_m3-datepicker.scss +74 -0
  109. package/dialog/_dialog-legacy-padding.scss +31 -0
  110. package/dialog/_dialog-theme.scss +76 -0
  111. package/dialog/_m2-dialog.scss +43 -0
  112. package/dialog/_m3-dialog.scss +47 -0
  113. package/divider/_divider-theme.scss +75 -0
  114. package/divider/_m2-divider.scss +17 -0
  115. package/divider/_m3-divider.scss +19 -0
  116. package/expansion/_expansion-theme.scss +76 -0
  117. package/expansion/_m2-expansion.scss +64 -0
  118. package/expansion/_m3-expansion.scss +61 -0
  119. package/fesm2022/_animation-chunk.mjs +22 -0
  120. package/fesm2022/_animation-chunk.mjs.map +1 -0
  121. package/fesm2022/_date-formats-chunk.mjs +86 -0
  122. package/fesm2022/_date-formats-chunk.mjs.map +1 -0
  123. package/fesm2022/_date-range-input-harness-chunk.mjs +322 -0
  124. package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -0
  125. package/fesm2022/_error-options-chunk.mjs +66 -0
  126. package/fesm2022/_error-options-chunk.mjs.map +1 -0
  127. package/fesm2022/_error-state-chunk.mjs +30 -0
  128. package/fesm2022/_error-state-chunk.mjs.map +1 -0
  129. package/fesm2022/_form-field-chunk.mjs +1351 -0
  130. package/fesm2022/_form-field-chunk.mjs.map +1 -0
  131. package/fesm2022/_icon-button-chunk.mjs +268 -0
  132. package/fesm2022/_icon-button-chunk.mjs.map +1 -0
  133. package/fesm2022/_icon-registry-chunk.mjs +368 -0
  134. package/fesm2022/_icon-registry-chunk.mjs.map +1 -0
  135. package/fesm2022/_input-harness-chunk.mjs +67 -0
  136. package/fesm2022/_input-harness-chunk.mjs.map +1 -0
  137. package/fesm2022/_input-value-accessor-chunk.mjs +6 -0
  138. package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -0
  139. package/fesm2022/_internal-form-field-chunk.mjs +67 -0
  140. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -0
  141. package/fesm2022/_line-chunk.mjs +99 -0
  142. package/fesm2022/_line-chunk.mjs.map +1 -0
  143. package/fesm2022/_option-chunk.mjs +385 -0
  144. package/fesm2022/_option-chunk.mjs.map +1 -0
  145. package/fesm2022/_option-harness-chunk.mjs +30 -0
  146. package/fesm2022/_option-harness-chunk.mjs.map +1 -0
  147. package/fesm2022/_option-module-chunk.mjs +48 -0
  148. package/fesm2022/_option-module-chunk.mjs.map +1 -0
  149. package/fesm2022/_pseudo-checkbox-chunk.mjs +88 -0
  150. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -0
  151. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +46 -0
  152. package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -0
  153. package/fesm2022/_public-api-chunk.mjs +84 -0
  154. package/fesm2022/_public-api-chunk.mjs.map +1 -0
  155. package/fesm2022/_ripple-chunk.mjs +544 -0
  156. package/fesm2022/_ripple-chunk.mjs.map +1 -0
  157. package/fesm2022/_ripple-loader-chunk.mjs +144 -0
  158. package/fesm2022/_ripple-loader-chunk.mjs.map +1 -0
  159. package/fesm2022/_ripple-module-chunk.mjs +46 -0
  160. package/fesm2022/_ripple-module-chunk.mjs.map +1 -0
  161. package/fesm2022/_structural-styles-chunk.mjs +45 -0
  162. package/fesm2022/_structural-styles-chunk.mjs.map +1 -0
  163. package/fesm2022/_tooltip-chunk.mjs +848 -0
  164. package/fesm2022/_tooltip-chunk.mjs.map +1 -0
  165. package/fesm2022/autocomplete-testing.mjs +75 -0
  166. package/fesm2022/autocomplete-testing.mjs.map +1 -0
  167. package/fesm2022/autocomplete.mjs +1068 -0
  168. package/fesm2022/autocomplete.mjs.map +1 -0
  169. package/fesm2022/badge-testing.mjs +48 -0
  170. package/fesm2022/badge-testing.mjs.map +1 -0
  171. package/fesm2022/badge.mjs +357 -0
  172. package/fesm2022/badge.mjs.map +1 -0
  173. package/fesm2022/bottom-sheet-testing.mjs +17 -0
  174. package/fesm2022/bottom-sheet-testing.mjs.map +1 -0
  175. package/fesm2022/bottom-sheet.mjs +390 -0
  176. package/fesm2022/bottom-sheet.mjs.map +1 -0
  177. package/fesm2022/button-testing.mjs +81 -0
  178. package/fesm2022/button-testing.mjs.map +1 -0
  179. package/fesm2022/button-toggle-testing.mjs +87 -0
  180. package/fesm2022/button-toggle-testing.mjs.map +1 -0
  181. package/fesm2022/button-toggle.mjs +789 -0
  182. package/fesm2022/button-toggle.mjs.map +1 -0
  183. package/fesm2022/button.mjs +308 -0
  184. package/fesm2022/button.mjs.map +1 -0
  185. package/fesm2022/card-testing.mjs +29 -0
  186. package/fesm2022/card-testing.mjs.map +1 -0
  187. package/fesm2022/card.mjs +615 -0
  188. package/fesm2022/card.mjs.map +1 -0
  189. package/fesm2022/checkbox-testing.mjs +79 -0
  190. package/fesm2022/checkbox-testing.mjs.map +1 -0
  191. package/fesm2022/checkbox.mjs +551 -0
  192. package/fesm2022/checkbox.mjs.map +1 -0
  193. package/fesm2022/chips-testing.mjs +239 -0
  194. package/fesm2022/chips-testing.mjs.map +1 -0
  195. package/fesm2022/chips.mjs +2663 -0
  196. package/fesm2022/chips.mjs.map +1 -0
  197. package/fesm2022/core-testing.mjs +22 -0
  198. package/fesm2022/core-testing.mjs.map +1 -0
  199. package/fesm2022/core.mjs +408 -0
  200. package/fesm2022/core.mjs.map +1 -0
  201. package/fesm2022/datepicker-testing.mjs +26 -0
  202. package/fesm2022/datepicker-testing.mjs.map +1 -0
  203. package/fesm2022/datepicker.mjs +5015 -0
  204. package/fesm2022/datepicker.mjs.map +1 -0
  205. package/fesm2022/dialog-testing.mjs +123 -0
  206. package/fesm2022/dialog-testing.mjs.map +1 -0
  207. package/fesm2022/dialog.mjs +873 -0
  208. package/fesm2022/dialog.mjs.map +1 -0
  209. package/fesm2022/divider-testing.mjs +17 -0
  210. package/fesm2022/divider-testing.mjs.map +1 -0
  211. package/fesm2022/divider.mjs +132 -0
  212. package/fesm2022/divider.mjs.map +1 -0
  213. package/fesm2022/expansion-testing.mjs +87 -0
  214. package/fesm2022/expansion-testing.mjs.map +1 -0
  215. package/fesm2022/expansion.mjs +749 -0
  216. package/fesm2022/expansion.mjs.map +1 -0
  217. package/fesm2022/form-field-testing-control.mjs +24 -0
  218. package/fesm2022/form-field-testing-control.mjs.map +1 -0
  219. package/fesm2022/form-field-testing.mjs +135 -0
  220. package/fesm2022/form-field-testing.mjs.map +1 -0
  221. package/fesm2022/form-field.mjs +57 -0
  222. package/fesm2022/form-field.mjs.map +1 -0
  223. package/fesm2022/grid-list-testing.mjs +80 -0
  224. package/fesm2022/grid-list-testing.mjs.map +1 -0
  225. package/fesm2022/grid-list.mjs +604 -0
  226. package/fesm2022/grid-list.mjs.map +1 -0
  227. package/fesm2022/icon-testing.mjs +172 -0
  228. package/fesm2022/icon-testing.mjs.map +1 -0
  229. package/fesm2022/icon.mjs +366 -0
  230. package/fesm2022/icon.mjs.map +1 -0
  231. package/fesm2022/input-testing.mjs +73 -0
  232. package/fesm2022/input-testing.mjs.map +1 -0
  233. package/fesm2022/input.mjs +495 -0
  234. package/fesm2022/input.mjs.map +1 -0
  235. package/fesm2022/list-testing.mjs +295 -0
  236. package/fesm2022/list-testing.mjs.map +1 -0
  237. package/fesm2022/list.mjs +1604 -0
  238. package/fesm2022/list.mjs.map +1 -0
  239. package/fesm2022/material.mjs +4 -0
  240. package/fesm2022/material.mjs.map +1 -0
  241. package/fesm2022/menu-testing.mjs +174 -0
  242. package/fesm2022/menu-testing.mjs.map +1 -0
  243. package/fesm2022/menu.mjs +1421 -0
  244. package/fesm2022/menu.mjs.map +1 -0
  245. package/fesm2022/paginator-testing.mjs +69 -0
  246. package/fesm2022/paginator-testing.mjs.map +1 -0
  247. package/fesm2022/paginator.mjs +445 -0
  248. package/fesm2022/paginator.mjs.map +1 -0
  249. package/fesm2022/progress-bar-testing.mjs +20 -0
  250. package/fesm2022/progress-bar-testing.mjs.map +1 -0
  251. package/fesm2022/progress-bar.mjs +247 -0
  252. package/fesm2022/progress-bar.mjs.map +1 -0
  253. package/fesm2022/progress-spinner-testing.mjs +21 -0
  254. package/fesm2022/progress-spinner-testing.mjs.map +1 -0
  255. package/fesm2022/progress-spinner.mjs +258 -0
  256. package/fesm2022/progress-spinner.mjs.map +1 -0
  257. package/fesm2022/radio-testing.mjs +143 -0
  258. package/fesm2022/radio-testing.mjs.map +1 -0
  259. package/fesm2022/radio.mjs +751 -0
  260. package/fesm2022/radio.mjs.map +1 -0
  261. package/fesm2022/select-testing.mjs +92 -0
  262. package/fesm2022/select-testing.mjs.map +1 -0
  263. package/fesm2022/select.mjs +1181 -0
  264. package/fesm2022/select.mjs.map +1 -0
  265. package/fesm2022/sidenav-testing.mjs +80 -0
  266. package/fesm2022/sidenav-testing.mjs.map +1 -0
  267. package/fesm2022/sidenav.mjs +1151 -0
  268. package/fesm2022/sidenav.mjs.map +1 -0
  269. package/fesm2022/slide-toggle-testing.mjs +68 -0
  270. package/fesm2022/slide-toggle-testing.mjs.map +1 -0
  271. package/fesm2022/slide-toggle.mjs +403 -0
  272. package/fesm2022/slide-toggle.mjs.map +1 -0
  273. package/fesm2022/slider-testing.mjs +105 -0
  274. package/fesm2022/slider-testing.mjs.map +1 -0
  275. package/fesm2022/slider.mjs +1720 -0
  276. package/fesm2022/slider.mjs.map +1 -0
  277. package/fesm2022/snack-bar-testing.mjs +47 -0
  278. package/fesm2022/snack-bar-testing.mjs.map +1 -0
  279. package/fesm2022/snack-bar.mjs +820 -0
  280. package/fesm2022/snack-bar.mjs.map +1 -0
  281. package/fesm2022/sort-testing.mjs +55 -0
  282. package/fesm2022/sort-testing.mjs.map +1 -0
  283. package/fesm2022/sort.mjs +470 -0
  284. package/fesm2022/sort.mjs.map +1 -0
  285. package/fesm2022/stepper-testing.mjs +99 -0
  286. package/fesm2022/stepper-testing.mjs.map +1 -0
  287. package/fesm2022/stepper.mjs +900 -0
  288. package/fesm2022/stepper.mjs.map +1 -0
  289. package/fesm2022/table-testing.mjs +152 -0
  290. package/fesm2022/table-testing.mjs.map +1 -0
  291. package/fesm2022/table.mjs +1151 -0
  292. package/fesm2022/table.mjs.map +1 -0
  293. package/fesm2022/tabs-testing.mjs +144 -0
  294. package/fesm2022/tabs-testing.mjs.map +1 -0
  295. package/fesm2022/tabs.mjs +2435 -0
  296. package/fesm2022/tabs.mjs.map +1 -0
  297. package/fesm2022/timepicker-testing.mjs +128 -0
  298. package/fesm2022/timepicker-testing.mjs.map +1 -0
  299. package/fesm2022/timepicker.mjs +1284 -0
  300. package/fesm2022/timepicker.mjs.map +1 -0
  301. package/fesm2022/toolbar-testing.mjs +26 -0
  302. package/fesm2022/toolbar-testing.mjs.map +1 -0
  303. package/fesm2022/toolbar.mjs +182 -0
  304. package/fesm2022/toolbar.mjs.map +1 -0
  305. package/fesm2022/tooltip-testing.mjs +48 -0
  306. package/fesm2022/tooltip-testing.mjs.map +1 -0
  307. package/fesm2022/tooltip.mjs +58 -0
  308. package/fesm2022/tooltip.mjs.map +1 -0
  309. package/fesm2022/tree-testing.mjs +104 -0
  310. package/fesm2022/tree-testing.mjs.map +1 -0
  311. package/fesm2022/tree.mjs +681 -0
  312. package/fesm2022/tree.mjs.map +1 -0
  313. package/form-field/_form-field-theme.scss +96 -0
  314. package/form-field/_m2-form-field.scss +226 -0
  315. package/form-field/_m3-form-field.scss +137 -0
  316. package/grid-list/_grid-list-theme.scss +76 -0
  317. package/grid-list/_m2-grid-list.scss +21 -0
  318. package/grid-list/_m3-grid-list.scss +20 -0
  319. package/icon/_icon-theme.scss +109 -0
  320. package/icon/_m2-icon.scss +15 -0
  321. package/icon/_m3-icon.scss +21 -0
  322. package/input/_input-theme.scss +36 -0
  323. package/list/_list-theme.scss +201 -0
  324. package/list/_m2-list.scss +92 -0
  325. package/list/_m3-list.scss +93 -0
  326. package/menu/_m2-menu.scss +44 -0
  327. package/menu/_m3-menu.scss +42 -0
  328. package/menu/_menu-theme.scss +76 -0
  329. package/package.json +404 -0
  330. package/paginator/_m2-paginator.scss +69 -0
  331. package/paginator/_m3-paginator.scss +46 -0
  332. package/paginator/_paginator-theme.scss +76 -0
  333. package/prebuilt-themes/azure-blue.css +1 -0
  334. package/prebuilt-themes/cyan-orange.css +1 -0
  335. package/prebuilt-themes/deeppurple-amber.css +1 -0
  336. package/prebuilt-themes/indigo-pink.css +1 -0
  337. package/prebuilt-themes/magenta-violet.css +1 -0
  338. package/prebuilt-themes/pink-bluegrey.css +1 -0
  339. package/prebuilt-themes/purple-green.css +1 -0
  340. package/prebuilt-themes/rose-red.css +1 -0
  341. package/progress-bar/_m2-progress-bar.scss +36 -0
  342. package/progress-bar/_m3-progress-bar.scss +29 -0
  343. package/progress-bar/_progress-bar-theme.scss +93 -0
  344. package/progress-spinner/_m2-progress-spinner.scss +25 -0
  345. package/progress-spinner/_m3-progress-spinner.scss +27 -0
  346. package/progress-spinner/_progress-spinner-theme.scss +95 -0
  347. package/radio/_m2-radio.scss +67 -0
  348. package/radio/_m3-radio.scss +65 -0
  349. package/radio/_radio-theme.scss +102 -0
  350. package/schematics/collection.json +55 -0
  351. package/schematics/migration.json +15 -0
  352. package/schematics/ng-add/fonts/material-fonts.d.ts +11 -0
  353. package/schematics/ng-add/fonts/material-fonts.js +41 -0
  354. package/schematics/ng-add/fonts/material-fonts.js.map +1 -0
  355. package/schematics/ng-add/index.d.ts +17 -0
  356. package/schematics/ng-add/index.js +54 -0
  357. package/schematics/ng-add/index.js.map +1 -0
  358. package/schematics/ng-add/package-config.d.ts +12 -0
  359. package/schematics/ng-add/package-config.js +51 -0
  360. package/schematics/ng-add/package-config.js.map +1 -0
  361. package/schematics/ng-add/schema.d.ts +15 -0
  362. package/schematics/ng-add/schema.js +10 -0
  363. package/schematics/ng-add/schema.js.map +1 -0
  364. package/schematics/ng-add/schema.json +43 -0
  365. package/schematics/ng-add/setup-project.d.ts +15 -0
  366. package/schematics/ng-add/setup-project.js +36 -0
  367. package/schematics/ng-add/setup-project.js.map +1 -0
  368. package/schematics/ng-add/theming/create-theme.d.ts +9 -0
  369. package/schematics/ng-add/theming/create-theme.js +58 -0
  370. package/schematics/ng-add/theming/create-theme.js.map +1 -0
  371. package/schematics/ng-add/theming/theming.d.ts +11 -0
  372. package/schematics/ng-add/theming/theming.js +133 -0
  373. package/schematics/ng-add/theming/theming.js.map +1 -0
  374. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +27 -0
  375. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +99 -0
  376. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +38 -0
  377. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +118 -0
  378. package/schematics/ng-generate/address-form/index.d.ts +14 -0
  379. package/schematics/ng-generate/address-form/index.js +43 -0
  380. package/schematics/ng-generate/address-form/index.js.map +1 -0
  381. package/schematics/ng-generate/address-form/schema.d.ts +10 -0
  382. package/schematics/ng-generate/address-form/schema.js +10 -0
  383. package/schematics/ng-generate/address-form/schema.js.map +1 -0
  384. package/schematics/ng-generate/address-form/schema.json +100 -0
  385. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +21 -0
  386. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +26 -0
  387. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +36 -0
  388. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +56 -0
  389. package/schematics/ng-generate/dashboard/index.d.ts +14 -0
  390. package/schematics/ng-generate/dashboard/index.js +42 -0
  391. package/schematics/ng-generate/dashboard/index.js.map +1 -0
  392. package/schematics/ng-generate/dashboard/schema.d.ts +10 -0
  393. package/schematics/ng-generate/dashboard/schema.js +10 -0
  394. package/schematics/ng-generate/dashboard/schema.js.map +1 -0
  395. package/schematics/ng-generate/dashboard/schema.json +100 -0
  396. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +17 -0
  397. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +28 -0
  398. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +36 -0
  399. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +42 -0
  400. package/schematics/ng-generate/navigation/index.d.ts +14 -0
  401. package/schematics/ng-generate/navigation/index.js +42 -0
  402. package/schematics/ng-generate/navigation/index.js.map +1 -0
  403. package/schematics/ng-generate/navigation/schema.d.ts +10 -0
  404. package/schematics/ng-generate/navigation/schema.js +10 -0
  405. package/schematics/ng-generate/navigation/schema.js.map +1 -0
  406. package/schematics/ng-generate/navigation/schema.json +105 -0
  407. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__-datasource.ts.template +111 -0
  408. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +3 -0
  409. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +26 -0
  410. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +32 -0
  411. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +36 -0
  412. package/schematics/ng-generate/table/index.d.ts +14 -0
  413. package/schematics/ng-generate/table/index.js +40 -0
  414. package/schematics/ng-generate/table/index.js.map +1 -0
  415. package/schematics/ng-generate/table/schema.d.ts +10 -0
  416. package/schematics/ng-generate/table/schema.js +10 -0
  417. package/schematics/ng-generate/table/schema.js.map +1 -0
  418. package/schematics/ng-generate/table/schema.json +100 -0
  419. package/schematics/ng-generate/theme-color/index_bundled.js +6561 -0
  420. package/schematics/ng-generate/theme-color/index_bundled.js.map +6 -0
  421. package/schematics/ng-generate/theme-color/schema.json +55 -0
  422. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +4 -0
  423. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +22 -0
  424. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +32 -0
  425. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +93 -0
  426. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/example-data.ts.template +47 -0
  427. package/schematics/ng-generate/tree/index.d.ts +14 -0
  428. package/schematics/ng-generate/tree/index.js +40 -0
  429. package/schematics/ng-generate/tree/index.js.map +1 -0
  430. package/schematics/ng-generate/tree/schema.d.ts +10 -0
  431. package/schematics/ng-generate/tree/schema.js +10 -0
  432. package/schematics/ng-generate/tree/schema.js.map +1 -0
  433. package/schematics/ng-generate/tree/schema.json +100 -0
  434. package/schematics/ng-update/index_bundled.js +204 -0
  435. package/schematics/ng-update/index_bundled.js.map +6 -0
  436. package/schematics/package.json +3 -0
  437. package/select/_m2-select.scss +49 -0
  438. package/select/_m3-select.scss +54 -0
  439. package/select/_select-theme.scss +99 -0
  440. package/sidenav/_m2-sidenav.scss +48 -0
  441. package/sidenav/_m3-sidenav.scss +26 -0
  442. package/sidenav/_sidenav-theme.scss +75 -0
  443. package/slide-toggle/_m2-slide-toggle.scss +134 -0
  444. package/slide-toggle/_m3-slide-toggle.scss +133 -0
  445. package/slide-toggle/_slide-toggle-theme.scss +119 -0
  446. package/slider/_m2-slider.scss +73 -0
  447. package/slider/_m3-slider.scss +69 -0
  448. package/slider/_slider-theme.scss +103 -0
  449. package/snack-bar/_m2-snack-bar.scss +24 -0
  450. package/snack-bar/_m3-snack-bar.scss +26 -0
  451. package/snack-bar/_snack-bar-theme.scss +77 -0
  452. package/sort/_m2-sort.scss +16 -0
  453. package/sort/_m3-sort.scss +20 -0
  454. package/sort/_sort-theme.scss +76 -0
  455. package/stepper/_m2-stepper.scss +65 -0
  456. package/stepper/_m3-stepper.scss +66 -0
  457. package/stepper/_stepper-theme.scss +102 -0
  458. package/table/_m2-table.scss +63 -0
  459. package/table/_m3-table.scss +52 -0
  460. package/table/_table-theme.scss +76 -0
  461. package/tabs/_m2-tabs.scss +68 -0
  462. package/tabs/_m3-tabs.scss +58 -0
  463. package/tabs/_tabs-theme.scss +131 -0
  464. package/timepicker/_m2-timepicker.scss +19 -0
  465. package/timepicker/_m3-timepicker.scss +21 -0
  466. package/timepicker/_timepicker-theme.scss +81 -0
  467. package/toolbar/_m2-toolbar.scss +43 -0
  468. package/toolbar/_m3-toolbar.scss +41 -0
  469. package/toolbar/_toolbar-theme.scss +114 -0
  470. package/tooltip/_m2-tooltip.scss +24 -0
  471. package/tooltip/_m3-tooltip.scss +25 -0
  472. package/tooltip/_tooltip-theme.scss +76 -0
  473. package/tree/_m2-tree.scss +30 -0
  474. package/tree/_m3-tree.scss +37 -0
  475. package/tree/_tree-theme.scss +76 -0
  476. package/types/_badge-chunk.d.ts +100 -0
  477. package/types/_button-toggle-chunk.d.ts +252 -0
  478. package/types/_date-adapter-chunk.d.ts +261 -0
  479. package/types/_date-range-input-harness-chunk.d.ts +284 -0
  480. package/types/_dialog-chunk.d.ts +336 -0
  481. package/types/_error-options-chunk.d.ts +17 -0
  482. package/types/_form-field-chunk.d.ts +375 -0
  483. package/types/_form-field-control-chunk.d.ts +64 -0
  484. package/types/_form-field-control-harness-chunk.d.ts +20 -0
  485. package/types/_form-field-module-chunk.d.ts +18 -0
  486. package/types/_icon-module-chunk.d.ts +162 -0
  487. package/types/_icon-registry-chunk.d.ts +271 -0
  488. package/types/_input-harness-chunk.d.ts +61 -0
  489. package/types/_line-chunk.d.ts +25 -0
  490. package/types/_list-option-types-chunk.d.ts +15 -0
  491. package/types/_option-chunk.d.ts +146 -0
  492. package/types/_option-harness-chunk.d.ts +35 -0
  493. package/types/_option-module-chunk.d.ts +13 -0
  494. package/types/_option-parent-chunk.d.ts +20 -0
  495. package/types/_paginator-chunk.d.ts +184 -0
  496. package/types/_palette-chunk.d.ts +4 -0
  497. package/types/_progress-spinner-chunk.d.ts +91 -0
  498. package/types/_pseudo-checkbox-module-chunk.d.ts +45 -0
  499. package/types/_ripple-chunk.d.ts +256 -0
  500. package/types/_ripple-loader-chunk.d.ts +48 -0
  501. package/types/_ripple-module-chunk.d.ts +11 -0
  502. package/types/_sort-chunk.d.ts +88 -0
  503. package/types/_sort-direction-chunk.d.ts +3 -0
  504. package/types/_tooltip-chunk.d.ts +315 -0
  505. package/types/autocomplete-testing.d.ts +53 -0
  506. package/types/autocomplete.d.ts +420 -0
  507. package/types/badge-testing.d.ts +36 -0
  508. package/types/badge.d.ts +14 -0
  509. package/types/bottom-sheet-testing.d.ts +26 -0
  510. package/types/bottom-sheet.d.ts +192 -0
  511. package/types/button-testing.d.ts +70 -0
  512. package/types/button-toggle-testing.d.ts +97 -0
  513. package/types/button-toggle.d.ts +16 -0
  514. package/types/button.d.ts +210 -0
  515. package/types/card-testing.d.ts +41 -0
  516. package/types/card.d.ts +156 -0
  517. package/types/checkbox-testing.d.ts +86 -0
  518. package/types/checkbox.d.ts +216 -0
  519. package/types/chips-testing.d.ts +270 -0
  520. package/types/chips.d.ts +993 -0
  521. package/types/core-testing.d.ts +32 -0
  522. package/types/core.d.ts +185 -0
  523. package/types/datepicker-testing.d.ts +25 -0
  524. package/types/datepicker.d.ts +1746 -0
  525. package/types/dialog-testing.d.ts +83 -0
  526. package/types/dialog.d.ts +84 -0
  527. package/types/divider-testing.d.ts +15 -0
  528. package/types/divider.d.ts +24 -0
  529. package/types/expansion-testing.d.ts +101 -0
  530. package/types/expansion.d.ts +258 -0
  531. package/types/form-field-testing-control.d.ts +13 -0
  532. package/types/form-field-testing.d.ts +127 -0
  533. package/types/form-field.d.ts +19 -0
  534. package/types/grid-list-testing.d.ts +82 -0
  535. package/types/grid-list.d.ts +207 -0
  536. package/types/icon-testing.d.ts +81 -0
  537. package/types/icon.d.ts +8 -0
  538. package/types/input-testing.d.ts +73 -0
  539. package/types/input.d.ts +208 -0
  540. package/types/list-testing.d.ts +354 -0
  541. package/types/list.d.ts +516 -0
  542. package/types/material.d.ts +3 -0
  543. package/types/menu-testing.d.ts +141 -0
  544. package/types/menu.d.ts +547 -0
  545. package/types/paginator-testing.d.ts +51 -0
  546. package/types/paginator.d.ts +36 -0
  547. package/types/progress-bar-testing.d.ts +24 -0
  548. package/types/progress-bar.d.ts +106 -0
  549. package/types/progress-spinner-testing.d.ts +28 -0
  550. package/types/progress-spinner.d.ts +13 -0
  551. package/types/radio-testing.d.ts +109 -0
  552. package/types/radio.d.ts +295 -0
  553. package/types/select-testing.d.ts +63 -0
  554. package/types/select.d.ts +448 -0
  555. package/types/sidenav-testing.d.ts +122 -0
  556. package/types/sidenav.d.ts +335 -0
  557. package/types/slide-toggle-testing.d.ts +66 -0
  558. package/types/slide-toggle.d.ts +151 -0
  559. package/types/slider-testing.d.ts +90 -0
  560. package/types/slider.d.ts +662 -0
  561. package/types/snack-bar-testing.d.ts +64 -0
  562. package/types/snack-bar.d.ts +328 -0
  563. package/types/sort-testing.d.ts +48 -0
  564. package/types/sort.d.ts +126 -0
  565. package/types/stepper-testing.d.ts +136 -0
  566. package/types/stepper.d.ts +225 -0
  567. package/types/table-testing.d.ts +174 -0
  568. package/types/table.d.ts +302 -0
  569. package/types/tabs-testing.d.ts +145 -0
  570. package/types/tabs.d.ts +890 -0
  571. package/types/timepicker-testing.d.ts +108 -0
  572. package/types/timepicker.d.ts +318 -0
  573. package/types/toolbar-testing.d.ts +33 -0
  574. package/types/toolbar.d.ts +44 -0
  575. package/types/tooltip-testing.d.ts +35 -0
  576. package/types/tooltip.d.ts +17 -0
  577. package/types/tree-testing.d.ts +119 -0
  578. package/types/tree.d.ts +233 -0
@@ -0,0 +1,388 @@
1
+ @use 'sass:map';
2
+ @use 'sass:math';
3
+ @use 'sass:meta';
4
+ @use 'sass:string';
5
+
6
+ $_default-font-family: string.unquote('Roboto, sans-serif');
7
+
8
+ @function _px-to-rem($px) {
9
+ @return math.div($px, 16px) * 1rem;
10
+ }
11
+
12
+ @function _get-letter-spacing($tracking, $font-size) {
13
+ @return math.div($tracking, $font-size * 16) * 1em;
14
+ }
15
+
16
+ $_mdc-levels: (
17
+ headline1: (
18
+ font-family: $_default-font-family,
19
+ font-size: _px-to-rem(96px),
20
+ line-height: _px-to-rem(96px),
21
+ font-weight: 300,
22
+ letter-spacing: _get-letter-spacing(-1.5, 6),
23
+ text-decoration: inherit,
24
+ text-transform: inherit,
25
+ ),
26
+ headline2: (
27
+ font-family: $_default-font-family,
28
+ font-size: _px-to-rem(60px),
29
+ line-height: _px-to-rem(60px),
30
+ font-weight: 300,
31
+ letter-spacing: _get-letter-spacing(-0.5, 3.75),
32
+ text-decoration: inherit,
33
+ text-transform: inherit,
34
+ ),
35
+ headline3: (
36
+ font-family: $_default-font-family,
37
+ font-size: _px-to-rem(48px),
38
+ line-height: _px-to-rem(50px),
39
+ font-weight: 400,
40
+ letter-spacing: normal,
41
+ text-decoration: inherit,
42
+ text-transform: inherit,
43
+ ),
44
+ headline4: (
45
+ font-family: $_default-font-family,
46
+ font-size: _px-to-rem(34px),
47
+ line-height: _px-to-rem(40px),
48
+ font-weight: 400,
49
+ letter-spacing: _get-letter-spacing(0.25, 2.125),
50
+ text-decoration: inherit,
51
+ text-transform: inherit,
52
+ ),
53
+ headline5: (
54
+ font-family: $_default-font-family,
55
+ font-size: _px-to-rem(24px),
56
+ line-height: _px-to-rem(32px),
57
+ font-weight: 400,
58
+ letter-spacing: normal,
59
+ text-decoration: inherit,
60
+ text-transform: inherit,
61
+ ),
62
+ headline6: (
63
+ font-family: $_default-font-family,
64
+ font-size: _px-to-rem(20px),
65
+ line-height: _px-to-rem(32px),
66
+ font-weight: 500,
67
+ letter-spacing: _get-letter-spacing(0.25, 1.25),
68
+ text-decoration: inherit,
69
+ text-transform: inherit,
70
+ ),
71
+ subtitle1: (
72
+ font-family: $_default-font-family,
73
+ font-size: _px-to-rem(16px),
74
+ line-height: _px-to-rem(28px),
75
+ font-weight: 400,
76
+ letter-spacing: _get-letter-spacing(0.15, 1),
77
+ text-decoration: inherit,
78
+ text-transform: inherit,
79
+ ),
80
+ subtitle2: (
81
+ font-family: $_default-font-family,
82
+ font-size: _px-to-rem(14px),
83
+ line-height: _px-to-rem(22px),
84
+ font-weight: 500,
85
+ letter-spacing: _get-letter-spacing(0.1, 0.875),
86
+ text-decoration: inherit,
87
+ text-transform: inherit,
88
+ ),
89
+ body1: (
90
+ font-family: $_default-font-family,
91
+ font-size: _px-to-rem(16px),
92
+ line-height: _px-to-rem(24px),
93
+ font-weight: 400,
94
+ letter-spacing: _get-letter-spacing(0.5, 1),
95
+ text-decoration: inherit,
96
+ text-transform: inherit,
97
+ ),
98
+ body2: (
99
+ font-family: $_default-font-family,
100
+ font-size: _px-to-rem(14px),
101
+ line-height: _px-to-rem(20px),
102
+ font-weight: 400,
103
+ letter-spacing: _get-letter-spacing(0.25, 0.875),
104
+ text-decoration: inherit,
105
+ text-transform: inherit,
106
+ ),
107
+ caption: (
108
+ font-family: $_default-font-family,
109
+ font-size: _px-to-rem(12px),
110
+ line-height: _px-to-rem(20px),
111
+ font-weight: 400,
112
+ letter-spacing: _get-letter-spacing(0.4, 0.75),
113
+ text-decoration: inherit,
114
+ text-transform: inherit,
115
+ ),
116
+ button: (
117
+ font-family: $_default-font-family,
118
+ font-size: _px-to-rem(14px),
119
+ line-height: _px-to-rem(36px),
120
+ font-weight: 500,
121
+ letter-spacing: _get-letter-spacing(1.25, 0.875),
122
+ text-decoration: none,
123
+ text-transform: uppercase,
124
+ ),
125
+ overline: (
126
+ font-family: $_default-font-family,
127
+ font-size: _px-to-rem(12px),
128
+ line-height: _px-to-rem(32px),
129
+ font-weight: 500,
130
+ letter-spacing: _get-letter-spacing(2, 0.75),
131
+ text-decoration: none,
132
+ text-transform: uppercase,
133
+ ),
134
+ );
135
+
136
+ /// Defines a typography level from the Material Design spec.
137
+ /// @param {String} $font-size The font-size for this level.
138
+ /// @param {String | Number} $line-height The line-height for this level.
139
+ /// @param {String | Number} $font-weight The font-weight for this level.
140
+ /// @param {String} $font-family The font-family for this level.
141
+ /// @param {String} $letter-spacing The letter-spacing for this level.
142
+ /// @returns {Map} A map representing the definition of this typographic level.
143
+ @function define-typography-level(
144
+ $font-size,
145
+ $line-height: $font-size,
146
+ $font-weight: 400,
147
+ $font-family: null,
148
+ $letter-spacing: normal) {
149
+
150
+ @return (
151
+ font-size: $font-size,
152
+ line-height: $line-height,
153
+ font-weight: $font-weight,
154
+ font-family: $font-family,
155
+ letter-spacing: $letter-spacing
156
+ );
157
+ }
158
+
159
+ /// Defines a collection of typography levels to configure typography for an application.
160
+ /// Any level not specified defaults to the values defined in the Material Design specification:
161
+ /// https://material.io/guidelines/style/typography.html.
162
+ ///
163
+ /// Note that the Material Design specification does not describe explicit letter-spacing values.
164
+ /// The values here come from reverse engineering the Material Design examples.
165
+ /// @param {String} $font-family Default font-family for levels that don't specify font-family.
166
+ /// @param {Map} $display-4 Configuration for the "display-4" typographic level.
167
+ /// @param {Map} $display-3 Configuration for the "display-3" typographic level.
168
+ /// @param {Map} $display-2 Configuration for the "display-2" typographic level.
169
+ /// @param {Map} $display-1 Configuration for the "display-1" typographic level.
170
+ /// @param {Map} $headline Configuration for the "headline" typographic level.
171
+ /// @param {Map} $title Configuration for the "title" typographic level.
172
+ /// @param {Map} $subheading-2 Configuration for the "subheading-2" typographic level.
173
+ /// @param {Map} $subheading-1 Configuration for the "subheading-1" typographic level.
174
+ /// @param {Map} $body-2 Configuration for the "body-2" typographic level.
175
+ /// @param {Map} $body-1 Configuration for the "body-1" typographic level.
176
+ /// @param {Map} $caption Configuration for the "caption" typographic level.
177
+ /// @param {Map} $button Configuration for the "button" typographic level.
178
+ /// @param {Map} $input Configuration for the "input" typographic level.
179
+ /// @returns {Map} A typography config for the application.
180
+ ///
181
+ /// @deprecated Use `mat.m2-define-typography-config` instead. See https://v17.material.angular.dev/guide/mdc-migration for information about migrating.
182
+ /// @breaking-change 17.0.0
183
+ @function define-legacy-typography-config(
184
+ $font-family: 'Roboto, "Helvetica Neue", sans-serif',
185
+ $display-4: define-typography-level(112px, 112px, 300, $letter-spacing: -0.05em),
186
+ $display-3: define-typography-level(56px, 56px, 400, $letter-spacing: -0.02em),
187
+ $display-2: define-typography-level(45px, 48px, 400, $letter-spacing: -0.005em),
188
+ $display-1: define-typography-level(34px, 40px, 400),
189
+ $headline: define-typography-level(24px, 32px, 400),
190
+ $title: define-typography-level(20px, 32px, 500),
191
+ $subheading-2: define-typography-level(16px, 28px, 400),
192
+ $subheading-1: define-typography-level(15px, 24px, 400),
193
+ $body-2: define-typography-level(14px, 24px, 500),
194
+ $body-1: define-typography-level(14px, 20px, 400),
195
+ $caption: define-typography-level(12px, 20px, 400),
196
+ $button: define-typography-level(14px, 14px, 500),
197
+ // Line-height must be unit-less fraction of the font-size.
198
+ $input: define-typography-level(inherit, 1.125, 400)
199
+ ) {
200
+
201
+ // Declare an initial map with all of the levels.
202
+ $config: (
203
+ display-4: $display-4,
204
+ display-3: $display-3,
205
+ display-2: $display-2,
206
+ display-1: $display-1,
207
+ headline: $headline,
208
+ title: $title,
209
+ subheading-2: $subheading-2,
210
+ subheading-1: $subheading-1,
211
+ body-2: $body-2,
212
+ body-1: $body-1,
213
+ caption: $caption,
214
+ button: $button,
215
+ input: $input,
216
+ );
217
+
218
+ // Loop through the levels and set the `font-family` of the ones that don't have one to the base.
219
+ // Note that Sass can't modify maps in place, which means that we need to merge and re-assign.
220
+ @each $key, $level in $config {
221
+ @if map.get($level, font-family) == null {
222
+ $new-level: map.merge($level, (font-family: $font-family));
223
+ $config: map.merge($config, ($key: $new-level));
224
+ }
225
+ }
226
+
227
+ // Add the base font family to the config.
228
+ @return map.merge($config, (font-family: $font-family));
229
+ }
230
+
231
+ /// Generates an Angular Material typography config based on values from the official Material
232
+ /// Design spec implementation (MDC Web). All arguments are optional, but may be passed to override
233
+ /// the default values. The `mat-typography-level` function can be used to generate a custom
234
+ /// typography level map which can be passed to this function to override one of the default levels.
235
+ /// All default typography sizing generated by this function is in `px` units.
236
+ ///
237
+ /// @param {String} $font-family The font family to use for levels where it is not explicitly
238
+ /// specified.
239
+ /// @param {Map} $headline-1 The font settings for the headline-1 font level.
240
+ /// @param {Map} $headline-2 The font settings for the headline-2 font level.
241
+ /// @param {Map} $headline-3 The font settings for the headline-3 font level.
242
+ /// @param {Map} $headline-4 The font settings for the headline-4 font level.
243
+ /// @param {Map} $headline-5 The font settings for the headline-5 font level.
244
+ /// @param {Map} $headline-6 The font settings for the headline-6 font level.
245
+ /// @param {Map} $subtitle-1 The font settings for the subtitle-1 font level.
246
+ /// @param {Map} $subtitle-2 The font settings for the subtitle-2 font level.
247
+ /// @param {Map} $body-1 The font settings for the body-1 font level.
248
+ /// @param {Map} $body-2 The font settings for the body-2 font level.
249
+ /// @param {Map} $caption The font settings for the caption font level.
250
+ /// @param {Map} $button The font settings for the button font level.
251
+ /// @param {Map} $overline The font settings for the overline font level.
252
+ /// @return {Map} A map containing font settings for each of the levels in the Material Design spec.
253
+ @function define-typography-config(
254
+ // TODO(mmalerba): rename this function to define-typography-config,
255
+ // and create a predefined px based config for people that need it.
256
+ $font-family: $_default-font-family,
257
+ $headline-1: null,
258
+ $headline-2: null,
259
+ $headline-3: null,
260
+ $headline-4: null,
261
+ $headline-5: null,
262
+ $headline-6: null,
263
+ $subtitle-1: null,
264
+ $subtitle-2: null,
265
+ $body-1: null,
266
+ $body-2: null,
267
+ $caption: null,
268
+ $button: null,
269
+ $overline: null,
270
+ ) {
271
+ @return _apply-font-family($font-family, (
272
+ headline-1: $headline-1 or _rem-to-px(typography-config-level-from-mdc(headline1)),
273
+ headline-2: $headline-2 or _rem-to-px(typography-config-level-from-mdc(headline2)),
274
+ headline-3: $headline-3 or _rem-to-px(typography-config-level-from-mdc(headline3)),
275
+ headline-4: $headline-4 or _rem-to-px(typography-config-level-from-mdc(headline4)),
276
+ headline-5: $headline-5 or _rem-to-px(typography-config-level-from-mdc(headline5)),
277
+ headline-6: $headline-6 or _rem-to-px(typography-config-level-from-mdc(headline6)),
278
+ subtitle-1: $subtitle-1 or _rem-to-px(typography-config-level-from-mdc(subtitle1)),
279
+ subtitle-2: $subtitle-2 or _rem-to-px(typography-config-level-from-mdc(subtitle2)),
280
+ body-1: $body-1 or _rem-to-px(typography-config-level-from-mdc(body1)),
281
+ body-2: $body-2 or _rem-to-px(typography-config-level-from-mdc(body2)),
282
+ caption: $caption or _rem-to-px(typography-config-level-from-mdc(caption)),
283
+ button: $button or _rem-to-px(typography-config-level-from-mdc(button)),
284
+ overline: $overline or _rem-to-px(typography-config-level-from-mdc(overline)),
285
+ ));
286
+ }
287
+
288
+ /// Generates an Angular Material typography config based on values from the official Material
289
+ /// Design spec implementation (MDC Web). All arguments are optional, but may be passed to override
290
+ /// the default values. The `mat-typography-level` function can be used to generate a custom
291
+ /// typography level map which can be passed to this function to override one of the default levels.
292
+ /// All default typography sizing generated by this function is in `rem` units.
293
+ ///
294
+ /// @param {String} $font-family The font family to use for levels where it is not explicitly
295
+ /// specified.
296
+ /// @param {Map} $headline-1 The font settings for the headline-1 font level.
297
+ /// @param {Map} $headline-2 The font settings for the headline-2 font level.
298
+ /// @param {Map} $headline-3 The font settings for the headline-3 font level.
299
+ /// @param {Map} $headline-4 The font settings for the headline-4 font level.
300
+ /// @param {Map} $headline-5 The font settings for the headline-5 font level.
301
+ /// @param {Map} $headline-6 The font settings for the headline-6 font level.
302
+ /// @param {Map} $subtitle-1 The font settings for the subtitle-1 font level.
303
+ /// @param {Map} $subtitle-2 The font settings for the subtitle-2 font level.
304
+ /// @param {Map} $body-1 The font settings for the body-1 font level.
305
+ /// @param {Map} $body-2 The font settings for the body-2 font level.
306
+ /// @param {Map} $caption The font settings for the caption font level.
307
+ /// @param {Map} $button The font settings for the button font level.
308
+ /// @param {Map} $overline The font settings for the overline font level.
309
+ /// @return {Map} A map containing font settings for each of the levels in the Material Design spec.
310
+ @function define-rem-typography-config(
311
+ // TODO(mmalerba): rename this function to define-typography-config,
312
+ // and create a predefined px based config for people that need it.
313
+ $font-family: $_default-font-family,
314
+ $headline-1: null,
315
+ $headline-2: null,
316
+ $headline-3: null,
317
+ $headline-4: null,
318
+ $headline-5: null,
319
+ $headline-6: null,
320
+ $subtitle-1: null,
321
+ $subtitle-2: null,
322
+ $body-1: null,
323
+ $body-2: null,
324
+ $caption: null,
325
+ $button: null,
326
+ $overline: null,
327
+ ) {
328
+ @return _apply-font-family($font-family, (
329
+ headline-1: $headline-1 or typography-config-level-from-mdc(headline1),
330
+ headline-2: $headline-2 or typography-config-level-from-mdc(headline2),
331
+ headline-3: $headline-3 or typography-config-level-from-mdc(headline3),
332
+ headline-4: $headline-4 or typography-config-level-from-mdc(headline4),
333
+ headline-5: $headline-5 or typography-config-level-from-mdc(headline5),
334
+ headline-6: $headline-6 or typography-config-level-from-mdc(headline6),
335
+ subtitle-1: $subtitle-1 or typography-config-level-from-mdc(subtitle1),
336
+ subtitle-2: $subtitle-2 or typography-config-level-from-mdc(subtitle2),
337
+ body-1: $body-1 or typography-config-level-from-mdc(body1),
338
+ body-2: $body-2 or typography-config-level-from-mdc(body2),
339
+ caption: $caption or typography-config-level-from-mdc(caption),
340
+ button: $button or typography-config-level-from-mdc(button),
341
+ overline: $overline or typography-config-level-from-mdc(overline),
342
+ ));
343
+ }
344
+
345
+ // Converts an MDC typography level config to an Angular Material one.
346
+ @function typography-config-level-from-mdc($mdc-level, $font-family: null) {
347
+ $mdc-level-config: map.get($_mdc-levels, $mdc-level);
348
+
349
+ // Explicitly default the font family to null since we'll apply it globally
350
+ // through the `define-typgraphy-config`/`define-legacy-typography-config`.
351
+ @return define-typography-level(
352
+ $font-family: $font-family,
353
+ $font-size: map.get($mdc-level-config, font-size),
354
+ $line-height: map.get($mdc-level-config, line-height),
355
+ $font-weight: map.get($mdc-level-config, font-weight),
356
+ $letter-spacing: map.get($mdc-level-config, letter-spacing)
357
+ );
358
+ }
359
+
360
+ // Converts a map containing rem values to a map containing px values.
361
+ @function _rem-to-px($x, $px-per-rem: 16px) {
362
+ @if meta.type-of($x) == 'map' {
363
+ @each $key, $val in $x {
364
+ $x: map.merge($x, ($key: _rem-to-px($val)));
365
+ }
366
+ @return $x;
367
+ }
368
+ @if meta.type-of($x) == 'number' and math.unit($x) == 'rem' {
369
+ @return math.div($x, 1rem) * $px-per-rem;
370
+ }
371
+ @else {
372
+ @return $x;
373
+ }
374
+ }
375
+
376
+ // Applies the default font family to all levels in a typography config.
377
+ @function _apply-font-family($font-family, $initial-config) {
378
+ $config: $initial-config;
379
+
380
+ @each $key, $level in $config {
381
+ @if map.get($level, 'font-family') == null {
382
+ // Sass maps are immutable so we have to re-assign the variable each time.
383
+ $config: map.set($config, $key, map.set($level, 'font-family', $font-family));
384
+ }
385
+ }
386
+
387
+ @return map.set($config, 'font-family', $font-family);
388
+ }
@@ -0,0 +1,21 @@
1
+ @use '../tokens/m2-utils';
2
+ @use 'sass:map';
3
+
4
+ @function get-tokens($theme) {
5
+ $system: m2-utils.get-system($theme);
6
+
7
+ @return (
8
+ base: (),
9
+ color: (
10
+ optgroup-label-text-color: map.get($system, on-surface),
11
+ ),
12
+ typography: (
13
+ optgroup-label-text-font: map.get($system, body-large-font),
14
+ optgroup-label-text-line-height: map.get($system, body-large-line-height),
15
+ optgroup-label-text-size: map.get($system, body-large-size),
16
+ optgroup-label-text-tracking: map.get($system, body-large-tracking),
17
+ optgroup-label-text-weight: map.get($system, body-large-weight)
18
+ ),
19
+ density: (),
20
+ );
21
+ }
@@ -0,0 +1,38 @@
1
+ @use 'sass:map';
2
+ @use '../tokens/m2-utils';
3
+ @use '../tokens/m3-utils';
4
+
5
+ @function get-tokens($theme) {
6
+ $system: m2-utils.get-system($theme);
7
+
8
+ @return (
9
+ base: (),
10
+ color: private-get-color-palette-color-tokens($theme, primary),
11
+ typography: (
12
+ option-label-text-font: map.get($system, body-large-font),
13
+ option-label-text-line-height: map.get($system, body-large-line-height),
14
+ option-label-text-size: map.get($system, body-large-size),
15
+ option-label-text-tracking: map.get($system, body-large-tracking),
16
+ option-label-text-weight: map.get($system, body-large-weight)
17
+ ),
18
+ density: (),
19
+ );
20
+ }
21
+
22
+ // Tokens that can be configured through Angular Material's color theming API.
23
+ @function private-get-color-palette-color-tokens($theme, $color-variant) {
24
+ $system: m2-utils.get-system($theme);
25
+ $system: m3-utils.replace-colors-with-variant($system, primary, $color-variant);
26
+
27
+ @return (
28
+ option-selected-state-label-text-color: map.get($system, primary),
29
+ option-label-text-color: map.get($system, on-surface),
30
+ option-hover-state-layer-color: m3-utils.color-with-opacity(
31
+ map.get($system, on-surface), map.get($system, hover-state-layer-opacity)),
32
+ option-focus-state-layer-color: m3-utils.color-with-opacity(
33
+ map.get($system, on-surface), map.get($system, focus-state-layer-opacity)),
34
+ option-selected-state-layer-color: m3-utils.color-with-opacity(
35
+ map.get($system, on-surface), map.get($system, pressed-state-layer-opacity)),
36
+ );
37
+ }
38
+
@@ -0,0 +1,25 @@
1
+ @use 'sass:map';
2
+ @use '../tokens/m3-utils';
3
+ @use '../tokens/m3';
4
+
5
+ // The prefix used to generate the fully qualified name for tokens in this file.
6
+ $prefix: (mat, optgroup);
7
+
8
+ /// Generates custom tokens for the mat-optgroup.
9
+ @function get-tokens($theme: m3.$sys-theme) {
10
+ $system: m3-utils.get-system($theme);
11
+ @return (
12
+ base: (),
13
+ color: (
14
+ optgroup-label-text-color: map.get($system, on-surface-variant),
15
+ ),
16
+ typography: (
17
+ optgroup-label-text-font: map.get($system, title-small-font),
18
+ optgroup-label-text-line-height: map.get($system, title-small-line-height),
19
+ optgroup-label-text-size: map.get($system, title-small-size),
20
+ optgroup-label-text-tracking: map.get($system, title-small-tracking),
21
+ optgroup-label-text-weight: map.get($system, title-small-weight),
22
+ ),
23
+ density: (),
24
+ );
25
+ }
@@ -0,0 +1,37 @@
1
+ @use 'sass:map';
2
+ @use '../tokens/m3-utils';
3
+ @use '../tokens/m3';
4
+
5
+ /// Generates custom tokens for the mat-option.
6
+ @function get-tokens($theme: m3.$sys-theme, $color-variant: null) {
7
+ $system: m3-utils.get-system($theme);
8
+ @if $color-variant {
9
+ $system: m3-utils.replace-colors-with-variant($system, secondary, $color-variant);
10
+ }
11
+
12
+ // According to the spec the options have to be `label-large` in all typography
13
+ // dimensions, however this is inconsistent with the designs and with MDC's
14
+ // own implementation. This appears to be a bug in the spec, because MDC overrides
15
+ // the font size and weight to be `body-large` (see b/261838263). We make the same
16
+ // override here so the label looks correct.
17
+ @return (
18
+ base: (),
19
+ color: (
20
+ option-focus-state-layer-color: m3-utils.color-with-opacity(
21
+ map.get($system, on-surface), map.get($system, focus-state-layer-opacity)),
22
+ option-hover-state-layer-color: m3-utils.color-with-opacity(
23
+ map.get($system, on-surface), map.get($system, hover-state-layer-opacity)),
24
+ option-label-text-color: map.get($system, on-surface),
25
+ option-selected-state-label-text-color: map.get($system, on-secondary-container),
26
+ option-selected-state-layer-color: map.get($system, secondary-container),
27
+ ),
28
+ typography: (
29
+ option-label-text-size: map.get($system, body-large-size),
30
+ option-label-text-weight: map.get($system, body-large-weight),
31
+ option-label-text-font: map.get($system, label-large-font),
32
+ option-label-text-line-height: map.get($system, label-large-line-height),
33
+ option-label-text-tracking: map.get($system, label-large-tracking),
34
+ ),
35
+ density: (),
36
+ );
37
+ }
@@ -0,0 +1,76 @@
1
+ @use 'sass:map';
2
+ @use './m2-optgroup';
3
+ @use './m3-optgroup';
4
+ @use '../tokens/token-utils';
5
+ @use '../theming/inspection';
6
+ @use '../typography/typography';
7
+
8
+ @mixin base($theme) {
9
+ $tokens: map.get(m2-optgroup.get-tokens($theme), base);
10
+ @if inspection.get-theme-version($theme) == 1 {
11
+ $tokens: map.get(m3-optgroup.get-tokens($theme), base);
12
+ }
13
+
14
+ @include token-utils.values($tokens);
15
+ }
16
+
17
+ @mixin color($theme) {
18
+ $tokens: map.get(m2-optgroup.get-tokens($theme), color);
19
+ @if inspection.get-theme-version($theme) == 1 {
20
+ $tokens: map.get(m3-optgroup.get-tokens($theme), color);
21
+ }
22
+
23
+ @include token-utils.values($tokens);
24
+ }
25
+
26
+ @mixin typography($theme) {
27
+ $tokens: map.get(m2-optgroup.get-tokens($theme), typography);
28
+ @if inspection.get-theme-version($theme) == 1 {
29
+ $tokens: map.get(m3-optgroup.get-tokens($theme), typography);
30
+ }
31
+
32
+ @include token-utils.values($tokens);
33
+ }
34
+
35
+ @mixin density($theme) {
36
+ $tokens: map.get(m2-optgroup.get-tokens($theme), density);
37
+ @if inspection.get-theme-version($theme) == 1 {
38
+ $tokens: map.get(m3-optgroup.get-tokens($theme), density);
39
+ }
40
+
41
+ @include token-utils.values($tokens);
42
+ }
43
+
44
+ /// Defines the tokens that will be available in the `overrides` mixin and for docs extraction.
45
+ @function _define-overrides() {
46
+ @return (
47
+ (
48
+ namespace: optgroup,
49
+ tokens: token-utils.get-overrides(m3-optgroup.get-tokens(), optgroup)
50
+ ),
51
+ );
52
+ }
53
+
54
+ @mixin overrides($tokens: ()) {
55
+ @include token-utils.batch-create-token-values($tokens, _define-overrides());
56
+ }
57
+
58
+ @mixin theme($theme) {
59
+ @if inspection.get-theme-version($theme) == 1 {
60
+ @include base($theme);
61
+ @include color($theme);
62
+ @include density($theme);
63
+ @include typography($theme);
64
+ } @else {
65
+ @include base($theme);
66
+ @if inspection.theme-has($theme, color) {
67
+ @include color($theme);
68
+ }
69
+ @if inspection.theme-has($theme, density) {
70
+ @include density($theme);
71
+ }
72
+ @if inspection.theme-has($theme, typography) {
73
+ @include typography($theme);
74
+ }
75
+ }
76
+ }
@@ -0,0 +1,103 @@
1
+ @use './m2-option';
2
+ @use './m3-option';
3
+ @use '../tokens/token-utils';
4
+ @use '../theming/inspection';
5
+ @use '../typography/typography';
6
+ @use 'sass:map';
7
+
8
+ /// Outputs base theme styles (styles not dependent on the color, typography, or density settings)
9
+ /// for the mat-option.
10
+ /// @param {Map} $theme The theme to generate base styles for.
11
+ @mixin base($theme) {
12
+ $tokens: map.get(m2-option.get-tokens($theme), base);
13
+ @if inspection.get-theme-version($theme) == 1 {
14
+ $tokens: map.get(m3-option.get-tokens($theme), base);
15
+ }
16
+
17
+ @include token-utils.values($tokens);
18
+ }
19
+
20
+ /// Outputs color theme styles for the mat-option.
21
+ /// @param {Map} $theme The theme to generate color styles for.
22
+ /// @param {String} $color-variant The color variant to use for the component (M3 only)
23
+ @mixin color($theme, $color-variant: null) {
24
+ $tokens: map.get(m2-option.get-tokens($theme), color);
25
+ @if inspection.get-theme-version($theme) == 1 {
26
+ $tokens: map.get(m3-option.get-tokens($theme, $color-variant), color);
27
+ }
28
+
29
+ @include token-utils.values($tokens);
30
+
31
+ @if inspection.get-theme-version($theme) != 1 {
32
+ .mat-accent {
33
+ $tokens: m2-option.private-get-color-palette-color-tokens($theme, secondary);
34
+ @include token-utils.values($tokens);
35
+ }
36
+
37
+ .mat-warn {
38
+ $tokens: m2-option.private-get-color-palette-color-tokens($theme, error);
39
+ @include token-utils.values($tokens);
40
+ }
41
+ }
42
+ }
43
+
44
+ /// Outputs typography theme styles for the mat-option.
45
+ /// @param {Map} $theme The theme to generate typography styles for.
46
+ @mixin typography($theme) {
47
+ $tokens: map.get(m2-option.get-tokens($theme), typography);
48
+ @if inspection.get-theme-version($theme) == 1 {
49
+ $tokens: map.get(m3-option.get-tokens($theme), typography);
50
+ }
51
+
52
+ @include token-utils.values($tokens);
53
+ }
54
+
55
+ /// Outputs density theme styles for the mat-option.
56
+ /// @param {Map} $theme The theme to generate density styles for.
57
+ @mixin density($theme) {
58
+ $tokens: map.get(m2-option.get-tokens($theme), density);
59
+ @if inspection.get-theme-version($theme) == 1 {
60
+ $tokens: map.get(m3-option.get-tokens($theme), density);
61
+ }
62
+
63
+ @include token-utils.values($tokens);
64
+ }
65
+
66
+ /// Defines the tokens that will be available in the `overrides` mixin and for docs extraction.
67
+ @function _define-overrides() {
68
+ @return (
69
+ (
70
+ namespace: option,
71
+ tokens: token-utils.get-overrides(m3-option.get-tokens(), option)
72
+ ),
73
+ );
74
+ }
75
+
76
+ /// Outputs the CSS variable values for the given tokens.
77
+ /// @param {Map} $tokens The token values to emit.
78
+ @mixin overrides($tokens: ()) {
79
+ @include token-utils.batch-create-token-values($tokens, _define-overrides());
80
+ }
81
+
82
+ /// Outputs all (base, color, typography, and density) theme styles for the mat-option.
83
+ /// @param {Map} $theme The theme to generate styles for.
84
+ /// @param {String} $color-variant The color variant to use for the component (M3 only)
85
+ @mixin theme($theme, $color-variant: null) {
86
+ @if inspection.get-theme-version($theme) == 1 {
87
+ @include base($theme);
88
+ @include color($theme, $color-variant);
89
+ @include density($theme);
90
+ @include typography($theme);
91
+ } @else {
92
+ @include base($theme);
93
+ @if inspection.theme-has($theme, color) {
94
+ @include color($theme);
95
+ }
96
+ @if inspection.theme-has($theme, density) {
97
+ @include density($theme);
98
+ }
99
+ @if inspection.theme-has($theme, typography) {
100
+ @include typography($theme);
101
+ }
102
+ }
103
+ }