@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,104 @@
1
+ @use './typography';
2
+ @use '../m2/typography' as m2-typography;
3
+ @use '../../autocomplete/autocomplete-theme';
4
+ @use '../../badge/badge-theme';
5
+ @use '../../bottom-sheet/bottom-sheet-theme';
6
+ @use '../../button/button-theme';
7
+ @use '../../button/icon-button-theme';
8
+ @use '../../button/fab-theme';
9
+ @use '../../button-toggle/button-toggle-theme';
10
+ @use '../../card/card-theme';
11
+ @use '../../checkbox/checkbox-theme';
12
+ @use '../../chips/chips-theme';
13
+ @use '../../divider/divider-theme';
14
+ @use '../../table/table-theme';
15
+ @use '../../datepicker/datepicker-theme';
16
+ @use '../../dialog/dialog-theme';
17
+ @use '../../expansion/expansion-theme';
18
+ @use '../../grid-list/grid-list-theme';
19
+ @use '../../icon/icon-theme';
20
+ @use '../../input/input-theme';
21
+ @use '../../list/list-theme';
22
+ @use '../../menu/menu-theme';
23
+ @use '../../paginator/paginator-theme';
24
+ @use '../../progress-bar/progress-bar-theme';
25
+ @use '../../progress-spinner/progress-spinner-theme';
26
+ @use '../../radio/radio-theme';
27
+ @use '../../select/select-theme';
28
+ @use '../../sidenav/sidenav-theme';
29
+ @use '../../slide-toggle/slide-toggle-theme';
30
+ @use '../../slider/slider-theme';
31
+ @use '../../stepper/stepper-theme';
32
+ @use '../../sort/sort-theme';
33
+ @use '../../tabs/tabs-theme';
34
+ @use '../../toolbar/toolbar-theme';
35
+ @use '../../tooltip/tooltip-theme';
36
+ @use '../../snack-bar/snack-bar-theme';
37
+ @use '../../form-field/form-field-theme';
38
+ @use '../../timepicker/timepicker-theme';
39
+ @use '../../tree/tree-theme';
40
+ @use '../theming/inspection';
41
+ @use '../core-theme';
42
+
43
+ // Includes all of the typographic styles.
44
+ @mixin all-component-typographies($theme: null) {
45
+ // If no actual typography configuration has been specified, create a default one.
46
+ @if not inspection.theme-has($theme, typography) {
47
+ $theme: m2-typography.define-typography-config();
48
+ }
49
+
50
+ // TODO: COMP-309: Do not use individual mixins. Instead, use the all-theme mixin and only
51
+ // specify a `typography` config while setting `color` and `density` to `null`. This is currently
52
+ // not possible as it would introduce a circular dependency for typography because the `mat-core`
53
+ // mixin that is transitively loaded by the `all-theme` file, imports `all-typography` which
54
+ // would then load `all-theme` again. This ultimately results a circular dependency.
55
+ @include badge-theme.typography($theme);
56
+ // Historically the typography hierarchy styles were included as part of this. We maintain this
57
+ // behavior for M2, but from M3 forward this is not included and should be explicitly @included
58
+ // by the user if desired.
59
+ @if (inspection.get-theme-version($theme) < 1) {
60
+ @include typography.typography-hierarchy($theme);
61
+ }
62
+ @include bottom-sheet-theme.typography($theme);
63
+ @include button-toggle-theme.typography($theme);
64
+ @include divider-theme.typography($theme);
65
+ @include datepicker-theme.typography($theme);
66
+ @include expansion-theme.typography($theme);
67
+ @include grid-list-theme.typography($theme);
68
+ @include icon-theme.typography($theme);
69
+ @include progress-spinner-theme.typography($theme);
70
+ @include sidenav-theme.typography($theme);
71
+ @include stepper-theme.typography($theme);
72
+ @include sort-theme.typography($theme);
73
+ @include toolbar-theme.typography($theme);
74
+ @include tree-theme.typography($theme);
75
+ @include core-theme.typography($theme);
76
+ @include card-theme.typography($theme);
77
+ @include progress-bar-theme.typography($theme);
78
+ @include tooltip-theme.typography($theme);
79
+ @include form-field-theme.typography($theme);
80
+ @include input-theme.typography($theme);
81
+ @include select-theme.typography($theme);
82
+ @include autocomplete-theme.typography($theme);
83
+ @include dialog-theme.typography($theme);
84
+ @include chips-theme.typography($theme);
85
+ @include slide-toggle-theme.typography($theme);
86
+ @include radio-theme.typography($theme);
87
+ @include slider-theme.typography($theme);
88
+ @include menu-theme.typography($theme);
89
+ @include list-theme.typography($theme);
90
+ @include paginator-theme.typography($theme);
91
+ @include tabs-theme.typography($theme);
92
+ @include checkbox-theme.typography($theme);
93
+ @include button-theme.typography($theme);
94
+ @include icon-button-theme.typography($theme);
95
+ @include fab-theme.typography($theme);
96
+ @include snack-bar-theme.typography($theme);
97
+ @include table-theme.typography($theme);
98
+ @include timepicker-theme.typography($theme);
99
+ }
100
+
101
+ // @deprecated Use `all-component-typographies`.
102
+ @mixin angular-material-typography($theme: null) {
103
+ @include all-component-typographies($theme);
104
+ }
@@ -0,0 +1,31 @@
1
+ @use 'sass:list';
2
+
3
+ /// Outputs the shorthand `font` CSS property, based on a set of typography values. Falls back to
4
+ /// the individual properties if a value that isn't allowed in the shorthand is passed in.
5
+ /// @param {String} $font-size The font-size value.
6
+ /// @param {String | Number} $font-weight The font-weight value.
7
+ /// @param {String | Number} $line-height The line-height value.
8
+ /// @param {String} $font-family The font-family value.
9
+ /// @returns {String} The `font` shorthand value combining the given parts.
10
+ @mixin font-shorthand($font-size, $font-weight, $line-height, $font-family) {
11
+ // If any of the values are set to `inherit`, we can't use the shorthand
12
+ // so we fall back to passing in the individual properties.
13
+ @if ($font-size == inherit or
14
+ $font-weight == inherit or
15
+ $line-height == inherit or
16
+ $font-family == inherit or
17
+ $font-size == null or
18
+ $font-weight == null or
19
+ $line-height == null or
20
+ $font-family == null) {
21
+
22
+ font-size: $font-size;
23
+ font-weight: $font-weight;
24
+ line-height: $line-height;
25
+ font-family: $font-family;
26
+ }
27
+ @else {
28
+ // Otherwise use the shorthand `font`, because it's the least amount of bytes.
29
+ font: $font-weight list.slash($font-size, $line-height) $font-family;
30
+ }
31
+ }
@@ -0,0 +1,269 @@
1
+ @use 'sass:list';
2
+ @use 'sass:map';
3
+ @use 'sass:string';
4
+ @use 'typography-utils';
5
+ @use '../theming/inspection';
6
+
7
+ // Definition and versioning functions live in their own files to avoid circular dependencies, but
8
+ // we re-export them here so that historical imports from this file continue to work without needing
9
+ // to be updated.
10
+ @forward './versioning';
11
+
12
+ @mixin typography-hierarchy($theme, $selector: '.mat-typography', $back-compat: false) {
13
+ @if inspection.get-theme-version($theme) == 1 {
14
+ @include _m3-typography-hierarchy($theme, $selector, $back-compat);
15
+ }
16
+ @else {
17
+ @include _m2-typography-hierarchy($theme, $selector);
18
+ }
19
+ }
20
+
21
+ @function _get-selector($selectors, $prefix) {
22
+ $result: ();
23
+ @each $selector in $selectors {
24
+ // Don't add "naked" tag selectors, and don't nest prefix selector.
25
+ @if string.index($selector, '.') == 1 {
26
+ $result: list.append($result, $selector, $separator: comma);
27
+ }
28
+ // Don't nest the prefix selector in itself.
29
+ @if $selector != $prefix {
30
+ $result: list.append($result, '#{$prefix} #{$selector}', $separator: comma);
31
+ }
32
+ }
33
+ @return $result;
34
+ }
35
+
36
+ @mixin _m3-typography-level($theme, $selector-prefix, $level, $selectors, $margin: null) {
37
+ #{_get-selector($selectors, $selector-prefix)} {
38
+ // TODO(mmalerba): When we expose system tokens as CSS vars, we should change this to emit token
39
+ // slots.
40
+ font: inspection.get-theme-typography($theme, $level, font);
41
+ letter-spacing: inspection.get-theme-typography($theme, $level, letter-spacing);
42
+ @if $margin != null {
43
+ margin: 0 0 $margin;
44
+ }
45
+ }
46
+ }
47
+
48
+ @mixin _m3-typography-hierarchy($theme, $selector-prefix, $add-m2-selectors) {
49
+ $levels: (
50
+ display-large: (
51
+ selectors: ('.mat-display-large', 'h1'),
52
+ m2-selectors: ('.mat-h1', '.mat-headline-1'),
53
+ margin: 0.5em
54
+ ),
55
+ display-medium: (
56
+ selectors: ('.mat-display-medium', 'h2'),
57
+ m2-selectors: ('.mat-h2', '.mat-headline-2'),
58
+ margin: 0.5em
59
+ ),
60
+ display-small: (
61
+ selectors: ('.mat-display-small', 'h3'),
62
+ m2-selectors: ('.mat-h3', '.mat-headline-3'),
63
+ margin: 0.5em
64
+ ),
65
+ headline-large: (
66
+ selectors: ('.mat-headline-large', 'h4'),
67
+ m2-selectors: ('.mat-h4', '.mat-headline-4'),
68
+ margin: 0.5em
69
+ ),
70
+ headline-medium: (
71
+ selectors: ('.mat-headline-medium', 'h5'),
72
+ m2-selectors: ('.mat-h5', '.mat-headline-5'),
73
+ margin: 0.5em
74
+ ),
75
+ headline-small: (
76
+ selectors: ('.mat-headline-small', 'h6'),
77
+ m2-selectors: ('.mat-h6', '.mat-headline-6'),
78
+ margin: 0.5em
79
+ ),
80
+ title-large: (
81
+ selectors: ('.mat-title-large'),
82
+ m2-selectors: ('.mat-subtitle-1'),
83
+ ),
84
+ title-medium: (
85
+ selectors: ('.mat-title-medium'),
86
+ m2-selectors: ('.mat-subtitle-2'),
87
+ ),
88
+ title-small: (
89
+ selectors: ('.mat-title-small')
90
+ ),
91
+ body-large: (
92
+ selectors: ('.mat-body-large', $selector-prefix),
93
+ m2-selectors: ('.mat-body', '.mat-body-strong', '.mat-body-2'),
94
+ ),
95
+ body-medium: (
96
+ selectors: ('.mat-body-medium')
97
+ ),
98
+ body-small: (
99
+ selectors: ('.mat-body-small')
100
+ ),
101
+ label-large: (
102
+ selectors: ('.mat-label-large')
103
+ ),
104
+ label-medium: (
105
+ selectors: ('.mat-label-medium')
106
+ ),
107
+ label-small: (
108
+ selectors: ('.mat-label-small'),
109
+ m2-selectors: ('.mat-small', '.mat-caption')
110
+ ),
111
+ );
112
+
113
+ @each $level, $options in $levels {
114
+ @if $add-m2-selectors {
115
+ $options: map.set($options, selectors,
116
+ list.join(map.get($options, selectors), map.get($options, m2-selectors) or ()));
117
+ }
118
+ $options: map.remove($options, m2-selectors);
119
+
120
+ // Apply styles for the level.
121
+ @include _m3-typography-level($theme, $selector-prefix, $level, $options...);
122
+
123
+ // Also style <p> inside body-large.
124
+ @if $level == body-large {
125
+ #{_get-selector(map.get($options, selectors), $selector-prefix)} {
126
+ p {
127
+ margin: 0 0 0.75em;
128
+ }
129
+ }
130
+ }
131
+ }
132
+ }
133
+
134
+ /// Emits baseline typographic styles based on a given config.
135
+ /// @param {Map} $config-or-theme A typography config for an entire theme.
136
+ /// @param {String} $selector Ancestor selector under which native elements, such as h1, will
137
+ /// be styled.
138
+ @mixin _m2-typography-hierarchy($theme, $selector) {
139
+ // Note that it seems redundant to prefix the class rules with the `$selector`, however it's
140
+ // necessary if we want to allow people to overwrite the tag selectors. This is due to
141
+ // selectors like `#{$selector} h1` being more specific than ones like `.mat-title`.
142
+ .mat-h1,
143
+ .mat-headline-5,
144
+ #{$selector} .mat-h1,
145
+ #{$selector} .mat-headline-5,
146
+ #{$selector} h1 {
147
+ font: inspection.get-theme-typography($theme, headline-5, font);
148
+ letter-spacing: inspection.get-theme-typography($theme, headline-5, letter-spacing);
149
+ margin: 0 0 16px;
150
+ }
151
+
152
+ .mat-h2,
153
+ .mat-headline-6,
154
+ #{$selector} .mat-h2,
155
+ #{$selector} .mat-headline-6,
156
+ #{$selector} h2 {
157
+ font: inspection.get-theme-typography($theme, headline-6, font);
158
+ letter-spacing: inspection.get-theme-typography($theme, headline-6, letter-spacing);
159
+ margin: 0 0 16px;
160
+ }
161
+
162
+ .mat-h3,
163
+ .mat-subtitle-1,
164
+ #{$selector} .mat-h3,
165
+ #{$selector} .mat-subtitle-1,
166
+ #{$selector} h3 {
167
+ font: inspection.get-theme-typography($theme, subtitle-1, font);
168
+ letter-spacing: inspection.get-theme-typography($theme, subtitle-1, letter-spacing);
169
+ margin: 0 0 16px;
170
+ }
171
+
172
+ .mat-h4,
173
+ .mat-body-1,
174
+ #{$selector} .mat-h4,
175
+ #{$selector} .mat-body-1,
176
+ #{$selector} h4 {
177
+ font: inspection.get-theme-typography($theme, body-1, font);
178
+ letter-spacing: inspection.get-theme-typography($theme, body-1, letter-spacing);
179
+ margin: 0 0 16px;
180
+ }
181
+
182
+ // Note: the spec doesn't have anything that would correspond to h5 and h6, but we add these for
183
+ // consistency. The font sizes come from the Chrome user agent styles which have h5 at 0.83em
184
+ // and h6 at 0.67em.
185
+ .mat-h5,
186
+ #{$selector} .mat-h5,
187
+ #{$selector} h5 {
188
+ @include typography-utils.font-shorthand(
189
+ // calc is used here to support css variables
190
+ calc(#{inspection.get-theme-typography($theme, body-2, font-size)} * 0.83),
191
+ inspection.get-theme-typography($theme, body-2, font-weight),
192
+ inspection.get-theme-typography($theme, body-2, line-height),
193
+ inspection.get-theme-typography($theme, body-2, font-family)
194
+ );
195
+
196
+ margin: 0 0 12px;
197
+ }
198
+
199
+ .mat-h6,
200
+ #{$selector} .mat-h6,
201
+ #{$selector} h6 {
202
+ @include typography-utils.font-shorthand(
203
+ // calc is used here to support css variables
204
+ calc(#{inspection.get-theme-typography($theme, body-2, font-size)} * 0.67),
205
+ inspection.get-theme-typography($theme, body-2, font-weight),
206
+ inspection.get-theme-typography($theme, body-2, line-height),
207
+ inspection.get-theme-typography($theme, body-2, font-family)
208
+ );
209
+
210
+ margin: 0 0 12px;
211
+ }
212
+
213
+ .mat-body-strong,
214
+ .mat-subtitle-2,
215
+ #{$selector} .mat-body-strong,
216
+ #{$selector} .mat-subtitle-2 {
217
+ font: inspection.get-theme-typography($theme, subtitle-2, font);
218
+ letter-spacing: inspection.get-theme-typography($theme, subtitle-2, letter-spacing);
219
+ }
220
+
221
+ .mat-body,
222
+ .mat-body-2,
223
+ #{$selector} .mat-body,
224
+ #{$selector} .mat-body-2,
225
+ #{$selector} {
226
+ font: inspection.get-theme-typography($theme, body-2, font);
227
+ letter-spacing: inspection.get-theme-typography($theme, body-2, letter-spacing);
228
+
229
+ p {
230
+ margin: 0 0 12px;
231
+ }
232
+ }
233
+
234
+ .mat-small,
235
+ .mat-caption,
236
+ #{$selector} .mat-small,
237
+ #{$selector} .mat-caption {
238
+ font: inspection.get-theme-typography($theme, caption, font);
239
+ letter-spacing: inspection.get-theme-typography($theme, caption, letter-spacing);
240
+ }
241
+
242
+ .mat-headline-1,
243
+ #{$selector} .mat-headline-1 {
244
+ font: inspection.get-theme-typography($theme, headline-1, font);
245
+ letter-spacing: inspection.get-theme-typography($theme, headline-1, letter-spacing);
246
+ margin: 0 0 56px;
247
+ }
248
+
249
+ .mat-headline-2,
250
+ #{$selector} .mat-headline-2 {
251
+ font: inspection.get-theme-typography($theme, headline-2, font);
252
+ letter-spacing: inspection.get-theme-typography($theme, headline-2, letter-spacing);
253
+ margin: 0 0 64px;
254
+ }
255
+
256
+ .mat-headline-3,
257
+ #{$selector} .mat-headline-3 {
258
+ font: inspection.get-theme-typography($theme, headline-3, font);
259
+ letter-spacing: inspection.get-theme-typography($theme, headline-3, letter-spacing);
260
+ margin: 0 0 64px;
261
+ }
262
+
263
+ .mat-headline-4,
264
+ #{$selector} .mat-headline-4 {
265
+ font: inspection.get-theme-typography($theme, headline-4, font);
266
+ letter-spacing: inspection.get-theme-typography($theme, headline-4, letter-spacing);
267
+ margin: 0 0 64px;
268
+ }
269
+ }
@@ -0,0 +1,90 @@
1
+ @use 'sass:map';
2
+ @use '../m2/typography' as m2-typography;
3
+
4
+ // Whether a config is for the Material Design 2018 typography system.
5
+ @function private-typography-is-2018-config($config) {
6
+ @return map.get($config, headline-1) != null;
7
+ }
8
+
9
+ // Whether a config is for the Material Design 2014 typography system.
10
+ @function private-typography-is-2014-config($config) {
11
+ @return map.get($config, headline) != null;
12
+ }
13
+
14
+ // Given a config for either the 2014 or 2018 Material Design typography system,
15
+ // produces a normalized typography config for the 2014 Material Design typography system.
16
+ // 2014 - https://material.io/archive/guidelines/style/typography.html#typography-styles
17
+ // 2018 - https://material.io/design/typography/the-type-system.html#type-scale
18
+ //
19
+ // Components using this function should be migrated to normalize to the 2018 style config instead.
20
+ // New components should not use this function.
21
+ @function private-typography-to-2014-config($config) {
22
+ @if $config == null {
23
+ @return null;
24
+ }
25
+ @if not private-typography-is-2014-config($config) {
26
+ $args: (
27
+ display-4: map.get($config, headline-1),
28
+ display-3: map.get($config, headline-2),
29
+ display-2: map.get($config, headline-3),
30
+ display-1: map.get($config, headline-4),
31
+ headline: map.get($config, headline-5),
32
+ title: map.get($config, headline-6),
33
+ subheading-2: map.get($config, subtitle-1),
34
+ subheading-1: map.get($config, subtitle-2),
35
+ body-2: map.get($config, body-1),
36
+ body-1: map.get($config, body-2),
37
+ button: map.get($config, button),
38
+ caption: map.get($config, caption),
39
+ font-family: map.get($config, font-family),
40
+ );
41
+ $non-null-args: ();
42
+ @each $key, $value in $args {
43
+ @if $value != null {
44
+ $non-null-args: map.merge($non-null-args, ($key: $value));
45
+ }
46
+ }
47
+ @return m2-typography.define-legacy-typography-config($non-null-args...);
48
+ }
49
+ @return $config;
50
+ }
51
+
52
+ // Given a config for either the 2014 or 2018 Material Design typography system,
53
+ // produces a normalized typography config for the 2018 Material Design typography system.
54
+ // 2014 - https://material.io/archive/guidelines/style/typography.html#typography-styles
55
+ // 2018 - https://material.io/design/typography/the-type-system.html#type-scale
56
+ //
57
+ // The $force option is used to allow components to specify that they want to re-map the keys, even
58
+ // if the 2018 keys are already present. This allows those components to preserve the (incorrect)
59
+ // behavior they had previously, when they called `private-typography-to-2014-config`. Eventually we
60
+ // should clean this up, remove the $force option, and reconcile any screen diffs.
61
+ @function private-typography-to-2018-config($config, $force: false) {
62
+ @if $config == null {
63
+ @return null;
64
+ }
65
+ @if $force or not private-typography-is-2018-config($config) {
66
+ @return (
67
+ headline-1: map.get($config, display-4),
68
+ headline-2: map.get($config, display-3),
69
+ headline-3: map.get($config, display-2),
70
+ headline-4: map.get($config, display-1),
71
+ headline-5: map.get($config, headline),
72
+ headline-6: map.get($config, title),
73
+ subtitle-1: map.get($config, subheading-2),
74
+ font-family: map.get($config, font-family),
75
+
76
+ // These mappings are odd, but body-2 in the 2014 system actually looks closer to subtitle-2
77
+ // in the 2018 system, and subeading-1 in the 2014 system looks more like body-1 in the 2018
78
+ // system.
79
+ subtitle-2: map.get($config, body-2),
80
+ body-1: map.get($config, subheading-1),
81
+
82
+ body-2: map.get($config, body-1),
83
+ button: map.get($config, button),
84
+ caption: map.get($config, caption),
85
+ overline:
86
+ map.get($config, overline) or m2-typography.define-typography-level(12px, 32px, 500),
87
+ );
88
+ }
89
+ @return $config;
90
+ }
@@ -0,0 +1,132 @@
1
+ @use 'sass:color';
2
+ @use 'sass:map';
3
+ @use './m2-datepicker';
4
+ @use './m3-datepicker';
5
+ @use '../core/theming/inspection';
6
+ @use '../core/tokens/token-utils';
7
+ @use '../core/typography/typography';
8
+ @use '../button/icon-button-theme';
9
+
10
+ /// Outputs base theme styles (styles not dependent on the color, typography, or density settings)
11
+ /// for the mat-datepicker.
12
+ /// @param {Map} $theme The theme to generate base styles for.
13
+ @mixin base($theme) {
14
+ $tokens: map.get(m2-datepicker.get-tokens($theme), base);
15
+ @if inspection.get-theme-version($theme) == 1 {
16
+ $tokens: map.get(m3-datepicker.get-tokens($theme), base);
17
+ }
18
+
19
+ @include token-utils.values($tokens);
20
+ }
21
+
22
+ /// Outputs color theme styles for the mat-datepicker.
23
+ /// @param {Map} $theme The theme to generate color styles for.
24
+ /// @param {String} $color-variant The color variant to use for the component (M3 only)
25
+ @mixin color($theme, $color-variant: null) {
26
+ $tokens: map.get(m2-datepicker.get-tokens($theme), color);
27
+ @if inspection.get-theme-version($theme) == 1 {
28
+ $tokens: map.get(m3-datepicker.get-tokens($theme, $color-variant), color);
29
+ }
30
+
31
+ @include token-utils.values($tokens);
32
+
33
+ @if inspection.get-theme-version($theme) != 1 {
34
+ .mat-datepicker-content, .mat-datepicker-toggle-active {
35
+ &.mat-accent {
36
+ $tokens: m2-datepicker.private-get-color-palette-color-tokens($theme, secondary);
37
+ @include token-utils.values($tokens);
38
+ }
39
+
40
+ &.mat-warn {
41
+ $tokens: m2-datepicker.private-get-color-palette-color-tokens($theme, error);
42
+ @include token-utils.values($tokens);
43
+ }
44
+ }
45
+ }
46
+ }
47
+
48
+ /// Outputs typography theme styles for the mat-datepicker.
49
+ /// @param {Map} $theme The theme to generate typography styles for.
50
+ @mixin typography($theme) {
51
+ $tokens: map.get(m2-datepicker.get-tokens($theme), typography);
52
+ @if inspection.get-theme-version($theme) == 1 {
53
+ $tokens: map.get(m3-datepicker.get-tokens($theme), typography);
54
+ }
55
+
56
+ @include token-utils.values($tokens);
57
+ }
58
+
59
+ @mixin date-range-colors(
60
+ $range-color,
61
+ $comparison-color: rgba(#f9ab00, 0.2),
62
+ $overlap-color: #a8dab5,
63
+ $overlap-selected-color: color.adjust($overlap-color, $lightness: -30%)
64
+ ) {
65
+ @include overrides((
66
+ calendar-date-in-range-state-background-color: $range-color,
67
+ calendar-date-in-comparison-range-state-background-color: $comparison-color,
68
+ calendar-date-in-overlap-range-state-background-color: $overlap-color,
69
+ calendar-date-in-overlap-range-selected-state-background-color: $overlap-selected-color,
70
+ ));
71
+ }
72
+
73
+ /// Outputs density theme styles for the mat-datepicker.
74
+ /// @param {Map} $theme The theme to generate density styles for.
75
+ @mixin density($theme) {
76
+ $tokens: map.get(m2-datepicker.get-tokens($theme), density);
77
+ @if inspection.get-theme-version($theme) == 1 {
78
+ $tokens: map.get(m3-datepicker.get-tokens($theme), density);
79
+ }
80
+
81
+ @include token-utils.values($tokens);
82
+
83
+ @if inspection.get-theme-version($theme) != 1 {
84
+ // TODO(crisbeto): move this into the structural styles
85
+ // once the icon button density is switched to tokens.
86
+
87
+ // Regardless of the user-passed density, we want the calendar
88
+ // previous/next buttons to remain at density -2
89
+ .mat-calendar-controls {
90
+ @include icon-button-theme.density(-2);
91
+ }
92
+ }
93
+ }
94
+
95
+ /// Defines the tokens that will be available in the `overrides` mixin and for docs extraction.
96
+ @function _define-overrides() {
97
+ @return (
98
+ (
99
+ namespace: datepicker,
100
+ tokens: token-utils.get-overrides(m3-datepicker.get-tokens(), datepicker)
101
+ ),
102
+ );
103
+ }
104
+
105
+ /// Outputs the CSS variable values for the given tokens.
106
+ /// @param {Map} $tokens The token values to emit.
107
+ @mixin overrides($tokens: ()) {
108
+ @include token-utils.batch-create-token-values($tokens, _define-overrides());
109
+ }
110
+
111
+ /// Outputs all (base, color, typography, and density) theme styles for the mat-datepicker.
112
+ /// @param {Map} $theme The theme to generate styles for.
113
+ /// @param {String} $color-variant The color variant to use for the component (M3 only)
114
+ @mixin theme($theme, $color-variant: null) {
115
+ @if inspection.get-theme-version($theme) == 1 {
116
+ @include base($theme);
117
+ @include color($theme, $color-variant);
118
+ @include density($theme);
119
+ @include typography($theme);
120
+ } @else {
121
+ @include base($theme);
122
+ @if inspection.theme-has($theme, color) {
123
+ @include color($theme);
124
+ }
125
+ @if inspection.theme-has($theme, density) {
126
+ @include density($theme);
127
+ }
128
+ @if inspection.theme-has($theme, typography) {
129
+ @include typography($theme);
130
+ }
131
+ }
132
+ }