@angular/material 2.0.0-alpha.9-3 → 2.0.0-beta.11

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 (1546) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +4 -145
  3. package/_theming.scss +3872 -0
  4. package/autocomplete/index.d.ts +8 -0
  5. package/autocomplete/index.metadata.json +11 -0
  6. package/autocomplete/package.json +7 -0
  7. package/autocomplete/typings/autocomplete-module.d.ts +2 -0
  8. package/autocomplete/typings/autocomplete-trigger.d.ts +159 -0
  9. package/autocomplete/typings/autocomplete.d.ts +55 -0
  10. package/autocomplete/typings/index.d.ts +4 -0
  11. package/autocomplete/typings/index.metadata.json +1 -0
  12. package/autocomplete/typings/mat-exports.d.ts +17 -0
  13. package/autocomplete/typings/public_api.d.ts +11 -0
  14. package/autocomplete.d.ts +8 -0
  15. package/autocomplete.metadata.json +11 -0
  16. package/bundles/material-autocomplete.umd.js +3293 -0
  17. package/bundles/material-autocomplete.umd.js.map +1 -0
  18. package/bundles/material-autocomplete.umd.min.js +10 -0
  19. package/bundles/material-autocomplete.umd.min.js.map +1 -0
  20. package/bundles/material-button-toggle.umd.js +2689 -0
  21. package/bundles/material-button-toggle.umd.js.map +1 -0
  22. package/bundles/material-button-toggle.umd.min.js +10 -0
  23. package/bundles/material-button-toggle.umd.min.js.map +1 -0
  24. package/bundles/material-button.umd.js +2503 -0
  25. package/bundles/material-button.umd.js.map +1 -0
  26. package/bundles/material-button.umd.min.js +10 -0
  27. package/bundles/material-button.umd.min.js.map +1 -0
  28. package/bundles/material-card.umd.js +2438 -0
  29. package/bundles/material-card.umd.js.map +1 -0
  30. package/bundles/material-card.umd.min.js +10 -0
  31. package/bundles/material-card.umd.min.js.map +1 -0
  32. package/bundles/material-checkbox.umd.js +2692 -0
  33. package/bundles/material-checkbox.umd.js.map +1 -0
  34. package/bundles/material-checkbox.umd.min.js +10 -0
  35. package/bundles/material-checkbox.umd.min.js.map +1 -0
  36. package/bundles/material-chips.umd.js +4121 -0
  37. package/bundles/material-chips.umd.js.map +1 -0
  38. package/bundles/material-chips.umd.min.js +11 -0
  39. package/bundles/material-chips.umd.min.js.map +1 -0
  40. package/bundles/material-core.umd.js +2505 -0
  41. package/bundles/material-core.umd.js.map +1 -0
  42. package/bundles/material-core.umd.min.js +10 -0
  43. package/bundles/material-core.umd.min.js.map +1 -0
  44. package/bundles/material-datepicker.umd.js +6568 -0
  45. package/bundles/material-datepicker.umd.js.map +1 -0
  46. package/bundles/material-datepicker.umd.min.js +12 -0
  47. package/bundles/material-datepicker.umd.min.js.map +1 -0
  48. package/bundles/material-dialog.umd.js +2980 -0
  49. package/bundles/material-dialog.umd.js.map +1 -0
  50. package/bundles/material-dialog.umd.min.js +10 -0
  51. package/bundles/material-dialog.umd.min.js.map +1 -0
  52. package/bundles/material-examples.umd.js +3627 -0
  53. package/bundles/material-examples.umd.js.map +1 -0
  54. package/bundles/material-examples.umd.min.js +12 -0
  55. package/bundles/material-examples.umd.min.js.map +1 -0
  56. package/bundles/material-expansion.umd.js +2678 -0
  57. package/bundles/material-expansion.umd.js.map +1 -0
  58. package/bundles/material-expansion.umd.min.js +10 -0
  59. package/bundles/material-expansion.umd.min.js.map +1 -0
  60. package/bundles/material-form-field.umd.js +2629 -0
  61. package/bundles/material-form-field.umd.js.map +1 -0
  62. package/bundles/material-form-field.umd.min.js +10 -0
  63. package/bundles/material-form-field.umd.min.js.map +1 -0
  64. package/bundles/material-grid-list.umd.js +3000 -0
  65. package/bundles/material-grid-list.umd.js.map +1 -0
  66. package/bundles/material-grid-list.umd.min.js +10 -0
  67. package/bundles/material-grid-list.umd.min.js.map +1 -0
  68. package/bundles/material-icon.umd.js +2862 -0
  69. package/bundles/material-icon.umd.js.map +1 -0
  70. package/bundles/material-icon.umd.min.js +10 -0
  71. package/bundles/material-icon.umd.min.js.map +1 -0
  72. package/bundles/material-input.umd.js +3214 -0
  73. package/bundles/material-input.umd.js.map +1 -0
  74. package/bundles/material-input.umd.min.js +10 -0
  75. package/bundles/material-input.umd.min.js.map +1 -0
  76. package/bundles/material-list.umd.js +2908 -0
  77. package/bundles/material-list.umd.js.map +1 -0
  78. package/bundles/material-list.umd.min.js +11 -0
  79. package/bundles/material-list.umd.min.js.map +1 -0
  80. package/bundles/material-menu.umd.js +3016 -0
  81. package/bundles/material-menu.umd.js.map +1 -0
  82. package/bundles/material-menu.umd.min.js +10 -0
  83. package/bundles/material-menu.umd.min.js.map +1 -0
  84. package/bundles/material-paginator.umd.js +4990 -0
  85. package/bundles/material-paginator.umd.js.map +1 -0
  86. package/bundles/material-paginator.umd.min.js +11 -0
  87. package/bundles/material-paginator.umd.min.js.map +1 -0
  88. package/bundles/material-progress-bar.umd.js +2204 -0
  89. package/bundles/material-progress-bar.umd.js.map +1 -0
  90. package/bundles/material-progress-bar.umd.min.js +10 -0
  91. package/bundles/material-progress-bar.umd.min.js.map +1 -0
  92. package/bundles/material-progress-spinner.umd.js +2594 -0
  93. package/bundles/material-progress-spinner.umd.js.map +1 -0
  94. package/bundles/material-progress-spinner.umd.min.js +10 -0
  95. package/bundles/material-progress-spinner.umd.min.js.map +1 -0
  96. package/bundles/material-radio.umd.js +2936 -0
  97. package/bundles/material-radio.umd.js.map +1 -0
  98. package/bundles/material-radio.umd.min.js +10 -0
  99. package/bundles/material-radio.umd.min.js.map +1 -0
  100. package/bundles/material-select.umd.js +3611 -0
  101. package/bundles/material-select.umd.js.map +1 -0
  102. package/bundles/material-select.umd.min.js +10 -0
  103. package/bundles/material-select.umd.min.js.map +1 -0
  104. package/bundles/material-sidenav.umd.js +2781 -0
  105. package/bundles/material-sidenav.umd.js.map +1 -0
  106. package/bundles/material-sidenav.umd.min.js +10 -0
  107. package/bundles/material-sidenav.umd.min.js.map +1 -0
  108. package/bundles/material-slide-toggle.umd.js +2657 -0
  109. package/bundles/material-slide-toggle.umd.js.map +1 -0
  110. package/bundles/material-slide-toggle.umd.min.js +10 -0
  111. package/bundles/material-slide-toggle.umd.min.js.map +1 -0
  112. package/bundles/material-slider.umd.js +3043 -0
  113. package/bundles/material-slider.umd.js.map +1 -0
  114. package/bundles/material-slider.umd.min.js +10 -0
  115. package/bundles/material-slider.umd.min.js.map +1 -0
  116. package/bundles/material-snack-bar.umd.js +2717 -0
  117. package/bundles/material-snack-bar.umd.js.map +1 -0
  118. package/bundles/material-snack-bar.umd.min.js +10 -0
  119. package/bundles/material-snack-bar.umd.min.js.map +1 -0
  120. package/bundles/material-sort.umd.js +2479 -0
  121. package/bundles/material-sort.umd.js.map +1 -0
  122. package/bundles/material-sort.umd.min.js +10 -0
  123. package/bundles/material-sort.umd.min.js.map +1 -0
  124. package/bundles/material-stepper.umd.js +3598 -0
  125. package/bundles/material-stepper.umd.js.map +1 -0
  126. package/bundles/material-stepper.umd.min.js +11 -0
  127. package/bundles/material-stepper.umd.min.js.map +1 -0
  128. package/bundles/material-table.umd.js +2458 -0
  129. package/bundles/material-table.umd.js.map +1 -0
  130. package/bundles/material-table.umd.min.js +10 -0
  131. package/bundles/material-table.umd.min.js.map +1 -0
  132. package/bundles/material-tabs.umd.js +3742 -0
  133. package/bundles/material-tabs.umd.js.map +1 -0
  134. package/bundles/material-tabs.umd.min.js +10 -0
  135. package/bundles/material-tabs.umd.min.js.map +1 -0
  136. package/bundles/material-toolbar.umd.js +2211 -0
  137. package/bundles/material-toolbar.umd.js.map +1 -0
  138. package/bundles/material-toolbar.umd.min.js +9 -0
  139. package/bundles/material-toolbar.umd.min.js.map +1 -0
  140. package/bundles/material-tooltip.umd.js +2821 -0
  141. package/bundles/material-tooltip.umd.js.map +1 -0
  142. package/bundles/material-tooltip.umd.min.js +10 -0
  143. package/bundles/material-tooltip.umd.min.js.map +1 -0
  144. package/bundles/material.umd.js +23785 -0
  145. package/bundles/material.umd.js.map +1 -0
  146. package/bundles/material.umd.min.js +23 -0
  147. package/bundles/material.umd.min.js.map +1 -0
  148. package/button/index.d.ts +8 -1
  149. package/button/index.metadata.json +11 -1
  150. package/button/package.json +7 -0
  151. package/button/typings/button-module.d.ts +2 -0
  152. package/button/typings/button.d.ts +80 -0
  153. package/button/typings/index.d.ts +4 -0
  154. package/button/typings/index.metadata.json +1 -0
  155. package/button/typings/mat-exports.d.ts +18 -0
  156. package/button/typings/public_api.d.ts +10 -0
  157. package/button-toggle/index.d.ts +8 -1
  158. package/button-toggle/index.metadata.json +11 -1
  159. package/button-toggle/package.json +7 -0
  160. package/button-toggle/typings/button-toggle-module.d.ts +2 -0
  161. package/button-toggle/typings/button-toggle.d.ts +156 -0
  162. package/button-toggle/typings/index.d.ts +4 -0
  163. package/button-toggle/typings/index.metadata.json +1 -0
  164. package/button-toggle/typings/mat-exports.d.ts +16 -0
  165. package/button-toggle/typings/public_api.d.ts +10 -0
  166. package/button-toggle.d.ts +8 -0
  167. package/button-toggle.metadata.json +11 -0
  168. package/button.d.ts +8 -0
  169. package/button.metadata.json +11 -0
  170. package/card/index.d.ts +8 -1
  171. package/card/index.metadata.json +11 -1
  172. package/card/package.json +7 -0
  173. package/card/typings/card-module.d.ts +2 -0
  174. package/card/typings/card.d.ts +95 -0
  175. package/card/typings/index.d.ts +4 -0
  176. package/card/typings/index.metadata.json +1 -0
  177. package/card/typings/mat-exports.d.ts +24 -0
  178. package/card/typings/public_api.d.ts +10 -0
  179. package/card.d.ts +8 -0
  180. package/card.metadata.json +11 -0
  181. package/checkbox/index.d.ts +8 -1
  182. package/checkbox/index.metadata.json +11 -1
  183. package/checkbox/package.json +7 -0
  184. package/checkbox/typings/checkbox-module.d.ts +2 -0
  185. package/checkbox/typings/checkbox-required-validator.d.ts +18 -0
  186. package/checkbox/typings/checkbox.d.ts +159 -0
  187. package/checkbox/typings/index.d.ts +4 -0
  188. package/checkbox/typings/index.metadata.json +1 -0
  189. package/checkbox/typings/mat-exports.d.ts +17 -0
  190. package/checkbox/typings/public_api.d.ts +11 -0
  191. package/checkbox.d.ts +8 -0
  192. package/checkbox.metadata.json +11 -0
  193. package/chips/index.d.ts +8 -0
  194. package/chips/index.metadata.json +11 -0
  195. package/chips/package.json +7 -0
  196. package/chips/typings/chip-input.d.ts +54 -0
  197. package/chips/typings/chip-list.d.ts +219 -0
  198. package/chips/typings/chip.d.ts +123 -0
  199. package/chips/typings/chips-module.d.ts +2 -0
  200. package/chips/typings/index.d.ts +4 -0
  201. package/chips/typings/index.metadata.json +1 -0
  202. package/chips/typings/mat-exports.d.ts +21 -0
  203. package/chips/typings/public_api.d.ts +12 -0
  204. package/chips.d.ts +8 -0
  205. package/chips.metadata.json +11 -0
  206. package/core/index.d.ts +8 -1
  207. package/core/index.metadata.json +11 -1
  208. package/core/package.json +7 -0
  209. package/core/typings/a11y/index.d.ts +8 -0
  210. package/core/typings/animation/animation.d.ts +20 -0
  211. package/core/typings/bidi/index.d.ts +8 -0
  212. package/core/typings/common-behaviors/color.d.ts +22 -0
  213. package/core/typings/common-behaviors/common-module.d.ts +24 -0
  214. package/core/typings/common-behaviors/constructor.d.ts +9 -0
  215. package/core/typings/common-behaviors/disable-ripple.d.ts +7 -0
  216. package/core/typings/common-behaviors/disabled.d.ts +7 -0
  217. package/core/typings/common-behaviors/index.d.ts +12 -0
  218. package/core/typings/common-behaviors/tabindex.d.ts +15 -0
  219. package/core/typings/compatibility/compatibility.d.ts +40 -0
  220. package/core/typings/coordination/unique-selection-dispatcher.d.ts +40 -0
  221. package/core/typings/datetime/date-adapter.d.ts +198 -0
  222. package/core/typings/datetime/date-formats.d.ts +20 -0
  223. package/core/typings/datetime/index.d.ts +8 -0
  224. package/core/typings/datetime/native-date-adapter.d.ts +50 -0
  225. package/core/typings/datetime/native-date-formats.d.ts +9 -0
  226. package/core/typings/error/error-options.d.ts +19 -0
  227. package/core/typings/gestures/gesture-annotations.d.ts +51 -0
  228. package/core/typings/gestures/gesture-config.d.ts +23 -0
  229. package/core/typings/index.d.ts +5 -0
  230. package/core/typings/index.metadata.json +1 -0
  231. package/core/typings/keyboard/keycodes.d.ts +8 -0
  232. package/core/typings/line/line.d.ts +30 -0
  233. package/core/typings/mat-exports.d.ts +36 -0
  234. package/core/typings/option/index.d.ts +4 -0
  235. package/core/typings/option/optgroup.d.ts +14 -0
  236. package/core/typings/option/option.d.ts +97 -0
  237. package/core/typings/overlay/index.d.ts +8 -0
  238. package/core/typings/placeholder/placeholder-options.d.ts +15 -0
  239. package/core/typings/platform/features.d.ts +8 -0
  240. package/core/typings/platform/index.d.ts +10 -0
  241. package/core/typings/platform/platform.d.ts +8 -0
  242. package/core/typings/portal/dom-portal-host.d.ts +8 -0
  243. package/core/typings/portal/portal-directives.d.ts +8 -0
  244. package/core/typings/portal/portal-injector.d.ts +19 -0
  245. package/core/typings/portal/portal.d.ts +8 -0
  246. package/core/typings/public_api.d.ts +34 -0
  247. package/core/typings/ripple/index.d.ts +5 -0
  248. package/core/typings/ripple/ripple-ref.d.ts +28 -0
  249. package/core/typings/ripple/ripple-renderer.d.ts +64 -0
  250. package/core/typings/ripple/ripple.d.ts +73 -0
  251. package/core/typings/rxjs/index.d.ts +9 -0
  252. package/core/typings/rxjs/rx-chain.d.ts +8 -0
  253. package/core/typings/rxjs/rx-operators.d.ts +8 -0
  254. package/core/typings/selection/index.d.ts +3 -0
  255. package/core/typings/selection/pseudo-checkbox/pseudo-checkbox.d.ts +20 -0
  256. package/core/typings/style/apply-transform.d.ts +13 -0
  257. package/core/typings/style/index.d.ts +5 -0
  258. package/core/typings/testing/month-constants.d.ts +12 -0
  259. package/core/typings/util/object-extend.d.ts +15 -0
  260. package/core.d.ts +7 -0
  261. package/core.metadata.json +11 -1
  262. package/datepicker/index.d.ts +8 -0
  263. package/datepicker/index.metadata.json +11 -0
  264. package/datepicker/package.json +7 -0
  265. package/datepicker/typings/calendar-body.d.ts +52 -0
  266. package/datepicker/typings/calendar.d.ts +90 -0
  267. package/datepicker/typings/coerce-date-property.d.ts +19 -0
  268. package/datepicker/typings/datepicker-errors.d.ts +9 -0
  269. package/datepicker/typings/datepicker-input.d.ts +94 -0
  270. package/datepicker/typings/datepicker-intl.d.ts +25 -0
  271. package/datepicker/typings/datepicker-module.d.ts +2 -0
  272. package/datepicker/typings/datepicker-toggle.d.ts +24 -0
  273. package/datepicker/typings/datepicker.d.ts +117 -0
  274. package/datepicker/typings/index.d.ts +4 -0
  275. package/datepicker/typings/index.metadata.json +1 -0
  276. package/datepicker/typings/mat-exports.d.ts +33 -0
  277. package/datepicker/typings/month-view.d.ts +65 -0
  278. package/datepicker/typings/public_api.d.ts +18 -0
  279. package/datepicker/typings/year-view.d.ts +54 -0
  280. package/datepicker.d.ts +8 -0
  281. package/datepicker.metadata.json +11 -0
  282. package/dialog/index.d.ts +8 -4
  283. package/dialog/index.metadata.json +11 -1
  284. package/dialog/package.json +7 -0
  285. package/dialog/typings/dialog-config.d.ts +54 -0
  286. package/dialog/typings/dialog-container.d.ts +68 -0
  287. package/dialog/typings/dialog-content-directives.d.ts +45 -0
  288. package/dialog/typings/dialog-module.d.ts +2 -0
  289. package/dialog/typings/dialog-ref.d.ts +68 -0
  290. package/dialog/typings/dialog.d.ts +108 -0
  291. package/dialog/typings/index.d.ts +4 -0
  292. package/dialog/typings/index.metadata.json +1 -0
  293. package/dialog/typings/mat-exports.d.ts +26 -0
  294. package/dialog/typings/public_api.d.ts +14 -0
  295. package/dialog.d.ts +8 -0
  296. package/dialog.metadata.json +11 -0
  297. package/esm2015/autocomplete.js +661 -0
  298. package/esm2015/autocomplete.js.map +1 -0
  299. package/esm2015/button-toggle.js +567 -0
  300. package/esm2015/button-toggle.js.map +1 -0
  301. package/esm2015/button.js +323 -0
  302. package/esm2015/button.js.map +1 -0
  303. package/esm2015/card.js +312 -0
  304. package/esm2015/card.js.map +1 -0
  305. package/esm2015/checkbox.js +504 -0
  306. package/esm2015/checkbox.js.map +1 -0
  307. package/esm2015/chips.js +1332 -0
  308. package/esm2015/chips.js.map +1 -0
  309. package/esm2015/core.js +2316 -0
  310. package/esm2015/core.js.map +1 -0
  311. package/esm2015/datepicker.js +1808 -0
  312. package/esm2015/datepicker.js.map +1 -0
  313. package/esm2015/dialog.js +849 -0
  314. package/esm2015/dialog.js.map +1 -0
  315. package/esm2015/expansion.js +581 -0
  316. package/esm2015/expansion.js.map +1 -0
  317. package/esm2015/form-field.js +522 -0
  318. package/esm2015/form-field.js.map +1 -0
  319. package/esm2015/grid-list.js +825 -0
  320. package/esm2015/grid-list.js.map +1 -0
  321. package/esm2015/icon.js +733 -0
  322. package/esm2015/icon.js.map +1 -0
  323. package/esm2015/input.js +568 -0
  324. package/esm2015/input.js.map +1 -0
  325. package/esm2015/list.js +666 -0
  326. package/esm2015/list.js.map +1 -0
  327. package/esm2015/material.js +51 -0
  328. package/esm2015/material.js.map +1 -0
  329. package/esm2015/menu.js +917 -0
  330. package/esm2015/menu.js.map +1 -0
  331. package/esm2015/paginator.js +304 -0
  332. package/esm2015/paginator.js.map +1 -0
  333. package/esm2015/progress-bar.js +132 -0
  334. package/esm2015/progress-bar.js.map +1 -0
  335. package/esm2015/progress-spinner.js +438 -0
  336. package/esm2015/progress-spinner.js.map +1 -0
  337. package/esm2015/radio.js +707 -0
  338. package/esm2015/radio.js.map +1 -0
  339. package/esm2015/select.js +1378 -0
  340. package/esm2015/select.js.map +1 -0
  341. package/esm2015/sidenav.js +666 -0
  342. package/esm2015/sidenav.js.map +1 -0
  343. package/esm2015/slide-toggle.js +429 -0
  344. package/esm2015/slide-toggle.js.map +1 -0
  345. package/esm2015/slider.js +833 -0
  346. package/esm2015/slider.js.map +1 -0
  347. package/esm2015/snack-bar.js +606 -0
  348. package/esm2015/snack-bar.js.map +1 -0
  349. package/esm2015/sort.js +387 -0
  350. package/esm2015/sort.js.map +1 -0
  351. package/esm2015/stepper.js +330 -0
  352. package/esm2015/stepper.js.map +1 -0
  353. package/esm2015/table.js +312 -0
  354. package/esm2015/table.js.map +1 -0
  355. package/esm2015/tabs.js +1477 -0
  356. package/esm2015/tabs.js.map +1 -0
  357. package/esm2015/toolbar.js +88 -0
  358. package/esm2015/toolbar.js.map +1 -0
  359. package/esm2015/tooltip.js +701 -0
  360. package/esm2015/tooltip.js.map +1 -0
  361. package/esm5/autocomplete.es5.js +691 -0
  362. package/esm5/autocomplete.es5.js.map +1 -0
  363. package/esm5/button-toggle.es5.js +619 -0
  364. package/esm5/button-toggle.es5.js.map +1 -0
  365. package/esm5/button.es5.js +341 -0
  366. package/esm5/button.es5.js.map +1 -0
  367. package/esm5/card.es5.js +349 -0
  368. package/esm5/card.es5.js.map +1 -0
  369. package/esm5/checkbox.es5.js +534 -0
  370. package/esm5/checkbox.es5.js.map +1 -0
  371. package/esm5/chips.es5.js +1466 -0
  372. package/esm5/chips.es5.js.map +1 -0
  373. package/esm5/core.es5.js +2316 -0
  374. package/esm5/core.es5.js.map +1 -0
  375. package/esm5/datepicker.es5.js +1936 -0
  376. package/esm5/datepicker.es5.js.map +1 -0
  377. package/esm5/dialog.es5.js +877 -0
  378. package/esm5/dialog.es5.js.map +1 -0
  379. package/esm5/expansion.es5.js +608 -0
  380. package/esm5/expansion.es5.js.map +1 -0
  381. package/esm5/form-field.es5.js +556 -0
  382. package/esm5/form-field.es5.js.map +1 -0
  383. package/esm5/grid-list.es5.js +877 -0
  384. package/esm5/grid-list.es5.js.map +1 -0
  385. package/esm5/icon.es5.js +746 -0
  386. package/esm5/icon.es5.js.map +1 -0
  387. package/esm5/input.es5.js +606 -0
  388. package/esm5/input.es5.js.map +1 -0
  389. package/esm5/list.es5.js +726 -0
  390. package/esm5/list.es5.js.map +1 -0
  391. package/esm5/material.es5.js +48 -0
  392. package/esm5/material.es5.js.map +1 -0
  393. package/esm5/menu.es5.js +953 -0
  394. package/esm5/menu.es5.js.map +1 -0
  395. package/esm5/paginator.es5.js +324 -0
  396. package/esm5/paginator.es5.js.map +1 -0
  397. package/esm5/progress-bar.es5.js +142 -0
  398. package/esm5/progress-bar.es5.js.map +1 -0
  399. package/esm5/progress-spinner.es5.js +474 -0
  400. package/esm5/progress-spinner.es5.js.map +1 -0
  401. package/esm5/radio.es5.js +779 -0
  402. package/esm5/radio.es5.js.map +1 -0
  403. package/esm5/select.es5.js +1444 -0
  404. package/esm5/select.es5.js.map +1 -0
  405. package/esm5/sidenav.es5.js +719 -0
  406. package/esm5/sidenav.es5.js.map +1 -0
  407. package/esm5/slide-toggle.es5.js +451 -0
  408. package/esm5/slide-toggle.es5.js.map +1 -0
  409. package/esm5/slider.es5.js +932 -0
  410. package/esm5/slider.es5.js.map +1 -0
  411. package/esm5/snack-bar.es5.js +623 -0
  412. package/esm5/snack-bar.es5.js.map +1 -0
  413. package/esm5/sort.es5.js +418 -0
  414. package/esm5/sort.es5.js.map +1 -0
  415. package/esm5/stepper.es5.js +376 -0
  416. package/esm5/stepper.es5.js.map +1 -0
  417. package/esm5/table.es5.js +370 -0
  418. package/esm5/table.es5.js.map +1 -0
  419. package/esm5/tabs.es5.js +1576 -0
  420. package/esm5/tabs.es5.js.map +1 -0
  421. package/esm5/toolbar.es5.js +94 -0
  422. package/esm5/toolbar.es5.js.map +1 -0
  423. package/esm5/tooltip.es5.js +759 -0
  424. package/esm5/tooltip.es5.js.map +1 -0
  425. package/expansion/index.d.ts +8 -0
  426. package/expansion/index.metadata.json +11 -0
  427. package/expansion/package.json +7 -0
  428. package/expansion/typings/accordion-item.d.ts +41 -0
  429. package/expansion/typings/accordion.d.ts +29 -0
  430. package/expansion/typings/expansion-module.d.ts +2 -0
  431. package/expansion/typings/expansion-panel-header.d.ts +56 -0
  432. package/expansion/typings/expansion-panel.d.ts +39 -0
  433. package/expansion/typings/index.d.ts +5 -0
  434. package/expansion/typings/index.metadata.json +1 -0
  435. package/expansion/typings/mat-exports.d.ts +20 -0
  436. package/expansion/typings/public_api.d.ts +13 -0
  437. package/expansion.d.ts +8 -0
  438. package/expansion.metadata.json +11 -0
  439. package/form-field/index.d.ts +8 -0
  440. package/form-field/index.metadata.json +11 -0
  441. package/form-field/package.json +7 -0
  442. package/form-field/typings/error.d.ts +4 -0
  443. package/form-field/typings/form-field-control.d.ts +39 -0
  444. package/form-field/typings/form-field-errors.d.ts +13 -0
  445. package/form-field/typings/form-field-module.d.ts +2 -0
  446. package/form-field/typings/form-field.d.ts +77 -0
  447. package/form-field/typings/hint.d.ts +7 -0
  448. package/form-field/typings/index.d.ts +4 -0
  449. package/form-field/typings/index.metadata.json +1 -0
  450. package/form-field/typings/mat-exports.d.ts +23 -0
  451. package/form-field/typings/placeholder.d.ts +3 -0
  452. package/form-field/typings/prefix.d.ts +3 -0
  453. package/form-field/typings/public_api.d.ts +17 -0
  454. package/form-field/typings/suffix.d.ts +3 -0
  455. package/form-field.d.ts +8 -0
  456. package/form-field.metadata.json +11 -0
  457. package/grid-list/index.d.ts +8 -1
  458. package/grid-list/index.metadata.json +11 -1
  459. package/grid-list/package.json +7 -0
  460. package/grid-list/typings/grid-list-measure.d.ts +17 -0
  461. package/grid-list/typings/grid-list-module.d.ts +2 -0
  462. package/grid-list/typings/grid-list.d.ts +53 -0
  463. package/grid-list/typings/grid-tile.d.ts +55 -0
  464. package/grid-list/typings/index.d.ts +5 -0
  465. package/grid-list/typings/index.metadata.json +1 -0
  466. package/grid-list/typings/mat-exports.d.ts +13 -0
  467. package/grid-list/typings/public_api.d.ts +11 -0
  468. package/grid-list/typings/tile-coordinator.d.ts +64 -0
  469. package/grid-list/typings/tile-styler.d.ts +129 -0
  470. package/grid-list.d.ts +8 -0
  471. package/grid-list.metadata.json +11 -0
  472. package/icon/index.d.ts +8 -1
  473. package/icon/index.metadata.json +11 -1
  474. package/icon/package.json +7 -0
  475. package/icon/typings/icon-module.d.ts +2 -0
  476. package/icon/typings/icon-registry.d.ts +194 -0
  477. package/icon/typings/icon.d.ts +76 -0
  478. package/icon/typings/index.d.ts +4 -0
  479. package/icon/typings/index.metadata.json +1 -0
  480. package/icon/typings/mat-exports.d.ts +14 -0
  481. package/icon/typings/public_api.d.ts +11 -0
  482. package/icon.d.ts +8 -0
  483. package/icon.metadata.json +11 -0
  484. package/input/index.d.ts +8 -1
  485. package/input/index.metadata.json +11 -1
  486. package/input/package.json +7 -0
  487. package/input/typings/autosize.d.ts +45 -0
  488. package/input/typings/index.d.ts +4 -0
  489. package/input/typings/index.metadata.json +1 -0
  490. package/input/typings/input-errors.d.ts +9 -0
  491. package/input/typings/input-module.d.ts +2 -0
  492. package/input/typings/input.d.ts +78 -0
  493. package/input/typings/mat-exports.d.ts +13 -0
  494. package/input/typings/public_api.d.ts +12 -0
  495. package/input.d.ts +8 -0
  496. package/input.metadata.json +11 -0
  497. package/list/index.d.ts +8 -1
  498. package/list/index.metadata.json +11 -1
  499. package/list/package.json +7 -0
  500. package/list/typings/index.d.ts +4 -0
  501. package/list/typings/index.metadata.json +1 -0
  502. package/list/typings/list-module.d.ts +2 -0
  503. package/list/typings/list.d.ts +78 -0
  504. package/list/typings/mat-exports.d.ts +27 -0
  505. package/list/typings/public_api.d.ts +11 -0
  506. package/list/typings/selection-list.d.ts +112 -0
  507. package/list.d.ts +8 -0
  508. package/list.metadata.json +11 -0
  509. package/material.d.ts +39 -0
  510. package/material.metadata.json +102 -0
  511. package/menu/index.d.ts +8 -1
  512. package/menu/index.metadata.json +11 -1
  513. package/menu/package.json +7 -0
  514. package/menu/typings/index.d.ts +6 -0
  515. package/menu/typings/index.metadata.json +1 -0
  516. package/menu/typings/mat-exports.d.ts +16 -0
  517. package/menu/typings/menu-animations.d.ts +27 -0
  518. package/menu/typings/menu-directive.d.ts +86 -0
  519. package/menu/typings/menu-errors.d.ts +24 -0
  520. package/menu/typings/menu-item.d.ts +40 -0
  521. package/menu/typings/menu-module.d.ts +2 -0
  522. package/menu/typings/menu-panel.d.ts +22 -0
  523. package/menu/typings/menu-positions.d.ts +9 -0
  524. package/menu/typings/menu-trigger.d.ts +116 -0
  525. package/menu/typings/menu.d.ts +12 -0
  526. package/menu/typings/public_api.d.ts +12 -0
  527. package/menu.d.ts +8 -0
  528. package/menu.metadata.json +11 -0
  529. package/package.json +10 -8
  530. package/paginator/index.d.ts +8 -0
  531. package/paginator/index.metadata.json +11 -0
  532. package/paginator/package.json +7 -0
  533. package/paginator/typings/index.d.ts +4 -0
  534. package/paginator/typings/index.metadata.json +1 -0
  535. package/paginator/typings/mat-exports.d.ts +13 -0
  536. package/paginator/typings/paginator-intl.d.ts +20 -0
  537. package/paginator/typings/paginator-module.d.ts +2 -0
  538. package/paginator/typings/paginator.d.ts +75 -0
  539. package/paginator/typings/public_api.d.ts +11 -0
  540. package/paginator.d.ts +8 -0
  541. package/paginator.metadata.json +11 -0
  542. package/prebuilt-themes/deeppurple-amber.css +1 -0
  543. package/prebuilt-themes/indigo-pink.css +1 -0
  544. package/prebuilt-themes/pink-bluegrey.css +1 -0
  545. package/prebuilt-themes/purple-green.css +1 -0
  546. package/progress-bar/index.d.ts +8 -1
  547. package/progress-bar/index.metadata.json +11 -1
  548. package/progress-bar/package.json +7 -0
  549. package/progress-bar/typings/index.d.ts +4 -0
  550. package/progress-bar/typings/index.metadata.json +1 -0
  551. package/progress-bar/typings/mat-exports.d.ts +11 -0
  552. package/progress-bar/typings/progress-bar-module.d.ts +2 -0
  553. package/progress-bar/typings/progress-bar.d.ts +32 -0
  554. package/progress-bar/typings/public_api.d.ts +10 -0
  555. package/progress-bar.d.ts +8 -0
  556. package/progress-bar.metadata.json +11 -0
  557. package/progress-spinner/index.d.ts +8 -0
  558. package/progress-spinner/index.metadata.json +11 -0
  559. package/progress-spinner/package.json +7 -0
  560. package/progress-spinner/typings/index.d.ts +4 -0
  561. package/progress-spinner/typings/index.metadata.json +1 -0
  562. package/progress-spinner/typings/mat-exports.d.ts +14 -0
  563. package/progress-spinner/typings/progress-spinner-module.d.ts +2 -0
  564. package/progress-spinner/typings/progress-spinner.d.ts +98 -0
  565. package/progress-spinner/typings/public_api.d.ts +10 -0
  566. package/progress-spinner.d.ts +8 -0
  567. package/progress-spinner.metadata.json +11 -0
  568. package/radio/index.d.ts +8 -1
  569. package/radio/index.metadata.json +11 -1
  570. package/radio/package.json +7 -0
  571. package/radio/typings/index.d.ts +4 -0
  572. package/radio/typings/index.metadata.json +1 -0
  573. package/radio/typings/mat-exports.d.ts +16 -0
  574. package/radio/typings/public_api.d.ts +10 -0
  575. package/radio/typings/radio-module.d.ts +2 -0
  576. package/radio/typings/radio.d.ts +217 -0
  577. package/radio.d.ts +8 -0
  578. package/radio.metadata.json +11 -0
  579. package/select/index.d.ts +8 -5
  580. package/select/index.metadata.json +11 -1
  581. package/select/package.json +7 -0
  582. package/select/typings/index.d.ts +4 -0
  583. package/select/typings/index.metadata.json +1 -0
  584. package/select/typings/mat-exports.d.ts +17 -0
  585. package/select/typings/public_api.d.ts +11 -0
  586. package/select/typings/select-animations.d.ts +36 -0
  587. package/select/typings/select-errors.d.ts +26 -0
  588. package/select/typings/select-module.d.ts +2 -0
  589. package/select/typings/select.d.ts +412 -0
  590. package/select.d.ts +8 -0
  591. package/select.metadata.json +11 -0
  592. package/sidenav/index.d.ts +8 -1
  593. package/sidenav/index.metadata.json +11 -1
  594. package/sidenav/package.json +7 -0
  595. package/sidenav/typings/drawer.d.ts +178 -0
  596. package/sidenav/typings/index.d.ts +4 -0
  597. package/sidenav/typings/index.metadata.json +1 -0
  598. package/sidenav/typings/mat-exports.d.ts +16 -0
  599. package/sidenav/typings/public_api.d.ts +11 -0
  600. package/sidenav/typings/sidenav-module.d.ts +2 -0
  601. package/sidenav/typings/sidenav.d.ts +6 -0
  602. package/sidenav.d.ts +8 -0
  603. package/sidenav.metadata.json +11 -0
  604. package/slide-toggle/index.d.ts +8 -1
  605. package/slide-toggle/index.metadata.json +11 -1
  606. package/slide-toggle/package.json +7 -0
  607. package/slide-toggle/typings/index.d.ts +4 -0
  608. package/slide-toggle/typings/index.metadata.json +1 -0
  609. package/slide-toggle/typings/mat-exports.d.ts +14 -0
  610. package/slide-toggle/typings/public_api.d.ts +10 -0
  611. package/slide-toggle/typings/slide-toggle-module.d.ts +2 -0
  612. package/slide-toggle/typings/slide-toggle.d.ts +93 -0
  613. package/slide-toggle.d.ts +8 -0
  614. package/slide-toggle.metadata.json +11 -0
  615. package/slider/index.d.ts +8 -1
  616. package/slider/index.metadata.json +11 -1
  617. package/slider/package.json +7 -0
  618. package/slider/typings/index.d.ts +4 -0
  619. package/slider/typings/index.metadata.json +1 -0
  620. package/slider/typings/mat-exports.d.ts +14 -0
  621. package/slider/typings/public_api.d.ts +10 -0
  622. package/slider/typings/slider-module.d.ts +2 -0
  623. package/slider/typings/slider.d.ts +207 -0
  624. package/slider.d.ts +8 -0
  625. package/slider.metadata.json +11 -0
  626. package/snack-bar/index.d.ts +8 -4
  627. package/snack-bar/index.metadata.json +11 -1
  628. package/snack-bar/package.json +7 -0
  629. package/snack-bar/typings/index.d.ts +4 -0
  630. package/snack-bar/typings/index.metadata.json +1 -0
  631. package/snack-bar/typings/mat-exports.d.ts +18 -0
  632. package/snack-bar/typings/public_api.d.ts +14 -0
  633. package/snack-bar/typings/simple-snack-bar.d.ts +18 -0
  634. package/snack-bar/typings/snack-bar-config.d.ts +38 -0
  635. package/snack-bar/typings/snack-bar-container.d.ts +61 -0
  636. package/snack-bar/typings/snack-bar-module.d.ts +2 -0
  637. package/snack-bar/typings/snack-bar-ref.d.ts +51 -0
  638. package/snack-bar/typings/snack-bar.d.ts +70 -0
  639. package/snack-bar.d.ts +8 -0
  640. package/snack-bar.metadata.json +11 -0
  641. package/sort/index.d.ts +8 -0
  642. package/sort/index.metadata.json +11 -0
  643. package/sort/package.json +7 -0
  644. package/sort/typings/index.d.ts +4 -0
  645. package/sort/typings/index.metadata.json +1 -0
  646. package/sort/typings/mat-exports.d.ts +16 -0
  647. package/sort/typings/public_api.d.ts +13 -0
  648. package/sort/typings/sort-direction.d.ts +8 -0
  649. package/sort/typings/sort-errors.d.ts +13 -0
  650. package/sort/typings/sort-header-intl.d.ts +17 -0
  651. package/sort/typings/sort-header.d.ts +44 -0
  652. package/sort/typings/sort-module.d.ts +2 -0
  653. package/sort/typings/sort.d.ts +59 -0
  654. package/sort.d.ts +8 -0
  655. package/sort.metadata.json +11 -0
  656. package/stepper/index.d.ts +8 -0
  657. package/stepper/index.metadata.json +11 -0
  658. package/stepper/package.json +7 -0
  659. package/stepper/typings/index.d.ts +4 -0
  660. package/stepper/typings/index.metadata.json +1 -0
  661. package/stepper/typings/mat-exports.d.ts +21 -0
  662. package/stepper/typings/public_api.d.ts +13 -0
  663. package/stepper/typings/step-header.d.ts +23 -0
  664. package/stepper/typings/step-label.d.ts +14 -0
  665. package/stepper/typings/stepper-button.d.ts +10 -0
  666. package/stepper/typings/stepper-module.d.ts +2 -0
  667. package/stepper/typings/stepper.d.ts +27 -0
  668. package/stepper.d.ts +8 -0
  669. package/stepper.metadata.json +11 -0
  670. package/table/index.d.ts +8 -0
  671. package/table/index.metadata.json +11 -0
  672. package/table/package.json +7 -0
  673. package/table/typings/cell.d.ts +44 -0
  674. package/table/typings/index.d.ts +4 -0
  675. package/table/typings/index.metadata.json +1 -0
  676. package/table/typings/mat-exports.d.ts +20 -0
  677. package/table/typings/public_api.d.ts +12 -0
  678. package/table/typings/row.d.ts +30 -0
  679. package/table/typings/table-module.d.ts +2 -0
  680. package/table/typings/table.d.ts +8 -0
  681. package/table.d.ts +8 -0
  682. package/table.metadata.json +11 -0
  683. package/tabs/index.d.ts +8 -1
  684. package/tabs/index.metadata.json +11 -1
  685. package/tabs/package.json +7 -0
  686. package/tabs/typings/index.d.ts +8 -0
  687. package/tabs/typings/index.metadata.json +1 -0
  688. package/tabs/typings/ink-bar.d.ts +33 -0
  689. package/tabs/typings/mat-exports.d.ts +31 -0
  690. package/tabs/typings/public_api.d.ts +17 -0
  691. package/tabs/typings/tab-body.d.ts +69 -0
  692. package/tabs/typings/tab-group.d.ts +100 -0
  693. package/tabs/typings/tab-header.d.ts +156 -0
  694. package/tabs/typings/tab-label-wrapper.d.ts +25 -0
  695. package/tabs/typings/tab-label.d.ts +15 -0
  696. package/tabs/typings/tab-nav-bar/index.d.ts +8 -0
  697. package/tabs/typings/tab-nav-bar/tab-nav-bar.d.ts +77 -0
  698. package/tabs/typings/tab.d.ts +50 -0
  699. package/tabs/typings/tabs-module.d.ts +2 -0
  700. package/tabs.d.ts +8 -0
  701. package/tabs.metadata.json +11 -0
  702. package/toolbar/index.d.ts +8 -1
  703. package/toolbar/index.metadata.json +11 -1
  704. package/toolbar/package.json +7 -0
  705. package/toolbar/typings/index.d.ts +4 -0
  706. package/toolbar/typings/index.metadata.json +1 -0
  707. package/toolbar/typings/mat-exports.d.ts +13 -0
  708. package/toolbar/typings/public_api.d.ts +10 -0
  709. package/toolbar/typings/toolbar-module.d.ts +2 -0
  710. package/toolbar/typings/toolbar.d.ts +21 -0
  711. package/toolbar.d.ts +8 -0
  712. package/toolbar.metadata.json +11 -0
  713. package/tooltip/index.d.ts +8 -1
  714. package/tooltip/index.metadata.json +11 -1
  715. package/tooltip/package.json +7 -0
  716. package/tooltip/typings/index.d.ts +4 -0
  717. package/tooltip/typings/index.metadata.json +1 -0
  718. package/tooltip/typings/mat-exports.d.ts +14 -0
  719. package/tooltip/typings/public_api.d.ts +10 -0
  720. package/tooltip/typings/tooltip-module.d.ts +2 -0
  721. package/tooltip/typings/tooltip.d.ts +177 -0
  722. package/tooltip.d.ts +8 -0
  723. package/tooltip.metadata.json +11 -0
  724. package/typings/autocomplete/autocomplete-module.d.ts +2 -0
  725. package/typings/autocomplete/autocomplete-trigger.d.ts +159 -0
  726. package/typings/autocomplete/autocomplete.d.ts +55 -0
  727. package/typings/autocomplete/index.d.ts +4 -0
  728. package/typings/autocomplete/index.metadata.json +1 -0
  729. package/typings/autocomplete/mat-exports.d.ts +17 -0
  730. package/typings/autocomplete/public_api.d.ts +11 -0
  731. package/typings/button/button-module.d.ts +2 -0
  732. package/typings/button/button.d.ts +80 -0
  733. package/typings/button/index.d.ts +4 -0
  734. package/typings/button/index.metadata.json +1 -0
  735. package/typings/button/mat-exports.d.ts +18 -0
  736. package/typings/button/public_api.d.ts +10 -0
  737. package/typings/button-toggle/button-toggle-module.d.ts +2 -0
  738. package/typings/button-toggle/button-toggle.d.ts +156 -0
  739. package/typings/button-toggle/index.d.ts +4 -0
  740. package/typings/button-toggle/index.metadata.json +1 -0
  741. package/typings/button-toggle/mat-exports.d.ts +16 -0
  742. package/typings/button-toggle/public_api.d.ts +10 -0
  743. package/typings/card/card-module.d.ts +2 -0
  744. package/typings/card/card.d.ts +95 -0
  745. package/typings/card/index.d.ts +4 -0
  746. package/typings/card/index.metadata.json +1 -0
  747. package/typings/card/mat-exports.d.ts +24 -0
  748. package/typings/card/public_api.d.ts +10 -0
  749. package/typings/checkbox/checkbox-module.d.ts +2 -0
  750. package/typings/checkbox/checkbox-required-validator.d.ts +18 -0
  751. package/typings/checkbox/checkbox.d.ts +159 -0
  752. package/typings/checkbox/index.d.ts +4 -0
  753. package/typings/checkbox/index.metadata.json +1 -0
  754. package/typings/checkbox/mat-exports.d.ts +17 -0
  755. package/typings/checkbox/public_api.d.ts +11 -0
  756. package/typings/chips/chip-input.d.ts +54 -0
  757. package/typings/chips/chip-list.d.ts +219 -0
  758. package/typings/chips/chip.d.ts +123 -0
  759. package/typings/chips/chips-module.d.ts +2 -0
  760. package/typings/chips/index.d.ts +4 -0
  761. package/typings/chips/index.metadata.json +1 -0
  762. package/typings/chips/mat-exports.d.ts +21 -0
  763. package/typings/chips/public_api.d.ts +12 -0
  764. package/typings/core/a11y/index.d.ts +8 -0
  765. package/typings/core/animation/animation.d.ts +20 -0
  766. package/typings/core/bidi/index.d.ts +8 -0
  767. package/typings/core/common-behaviors/color.d.ts +22 -0
  768. package/typings/core/common-behaviors/common-module.d.ts +24 -0
  769. package/typings/core/common-behaviors/constructor.d.ts +9 -0
  770. package/typings/core/common-behaviors/disable-ripple.d.ts +7 -0
  771. package/typings/core/common-behaviors/disabled.d.ts +7 -0
  772. package/typings/core/common-behaviors/index.d.ts +12 -0
  773. package/typings/core/common-behaviors/tabindex.d.ts +15 -0
  774. package/typings/core/compatibility/compatibility.d.ts +40 -0
  775. package/typings/core/coordination/unique-selection-dispatcher.d.ts +40 -0
  776. package/typings/core/datetime/date-adapter.d.ts +198 -0
  777. package/typings/core/datetime/date-formats.d.ts +20 -0
  778. package/typings/core/datetime/index.d.ts +8 -0
  779. package/typings/core/datetime/native-date-adapter.d.ts +50 -0
  780. package/typings/core/datetime/native-date-formats.d.ts +9 -0
  781. package/typings/core/error/error-options.d.ts +19 -0
  782. package/typings/core/gestures/gesture-annotations.d.ts +51 -0
  783. package/typings/core/gestures/gesture-config.d.ts +23 -0
  784. package/typings/core/index.d.ts +5 -0
  785. package/typings/core/index.metadata.json +1 -0
  786. package/typings/core/keyboard/keycodes.d.ts +8 -0
  787. package/typings/core/line/line.d.ts +30 -0
  788. package/typings/core/mat-exports.d.ts +36 -0
  789. package/typings/core/option/index.d.ts +4 -0
  790. package/typings/core/option/optgroup.d.ts +14 -0
  791. package/typings/core/option/option.d.ts +97 -0
  792. package/typings/core/overlay/index.d.ts +8 -0
  793. package/typings/core/placeholder/placeholder-options.d.ts +15 -0
  794. package/typings/core/platform/features.d.ts +8 -0
  795. package/typings/core/platform/index.d.ts +10 -0
  796. package/typings/core/platform/platform.d.ts +8 -0
  797. package/typings/core/portal/dom-portal-host.d.ts +8 -0
  798. package/typings/core/portal/portal-directives.d.ts +8 -0
  799. package/typings/core/portal/portal-injector.d.ts +19 -0
  800. package/typings/core/portal/portal.d.ts +8 -0
  801. package/typings/core/public_api.d.ts +34 -0
  802. package/typings/core/ripple/index.d.ts +5 -0
  803. package/typings/core/ripple/ripple-ref.d.ts +28 -0
  804. package/typings/core/ripple/ripple-renderer.d.ts +64 -0
  805. package/typings/core/ripple/ripple.d.ts +73 -0
  806. package/typings/core/rxjs/index.d.ts +9 -0
  807. package/typings/core/rxjs/rx-chain.d.ts +8 -0
  808. package/typings/core/rxjs/rx-operators.d.ts +8 -0
  809. package/typings/core/selection/index.d.ts +3 -0
  810. package/typings/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +20 -0
  811. package/typings/core/style/apply-transform.d.ts +13 -0
  812. package/typings/core/style/index.d.ts +5 -0
  813. package/typings/core/testing/month-constants.d.ts +12 -0
  814. package/typings/core/util/object-extend.d.ts +15 -0
  815. package/typings/datepicker/calendar-body.d.ts +52 -0
  816. package/typings/datepicker/calendar.d.ts +90 -0
  817. package/typings/datepicker/coerce-date-property.d.ts +19 -0
  818. package/typings/datepicker/datepicker-errors.d.ts +9 -0
  819. package/typings/datepicker/datepicker-input.d.ts +94 -0
  820. package/typings/datepicker/datepicker-intl.d.ts +25 -0
  821. package/typings/datepicker/datepicker-module.d.ts +2 -0
  822. package/typings/datepicker/datepicker-toggle.d.ts +24 -0
  823. package/typings/datepicker/datepicker.d.ts +117 -0
  824. package/typings/datepicker/index.d.ts +4 -0
  825. package/typings/datepicker/index.metadata.json +1 -0
  826. package/typings/datepicker/mat-exports.d.ts +33 -0
  827. package/typings/datepicker/month-view.d.ts +65 -0
  828. package/typings/datepicker/public_api.d.ts +18 -0
  829. package/typings/datepicker/year-view.d.ts +54 -0
  830. package/typings/dialog/dialog-config.d.ts +54 -0
  831. package/typings/dialog/dialog-container.d.ts +68 -0
  832. package/typings/dialog/dialog-content-directives.d.ts +45 -0
  833. package/typings/dialog/dialog-module.d.ts +2 -0
  834. package/typings/dialog/dialog-ref.d.ts +68 -0
  835. package/typings/dialog/dialog.d.ts +108 -0
  836. package/typings/dialog/index.d.ts +4 -0
  837. package/typings/dialog/index.metadata.json +1 -0
  838. package/typings/dialog/mat-exports.d.ts +26 -0
  839. package/typings/dialog/public_api.d.ts +14 -0
  840. package/typings/expansion/accordion-item.d.ts +41 -0
  841. package/typings/expansion/accordion.d.ts +29 -0
  842. package/typings/expansion/expansion-module.d.ts +2 -0
  843. package/typings/expansion/expansion-panel-header.d.ts +56 -0
  844. package/typings/expansion/expansion-panel.d.ts +39 -0
  845. package/typings/expansion/index.d.ts +5 -0
  846. package/typings/expansion/index.metadata.json +1 -0
  847. package/typings/expansion/mat-exports.d.ts +20 -0
  848. package/typings/expansion/public_api.d.ts +13 -0
  849. package/typings/form-field/error.d.ts +4 -0
  850. package/typings/form-field/form-field-control.d.ts +39 -0
  851. package/typings/form-field/form-field-errors.d.ts +13 -0
  852. package/typings/form-field/form-field-module.d.ts +2 -0
  853. package/typings/form-field/form-field.d.ts +77 -0
  854. package/typings/form-field/hint.d.ts +7 -0
  855. package/typings/form-field/index.d.ts +4 -0
  856. package/typings/form-field/index.metadata.json +1 -0
  857. package/typings/form-field/mat-exports.d.ts +23 -0
  858. package/typings/form-field/placeholder.d.ts +3 -0
  859. package/typings/form-field/prefix.d.ts +3 -0
  860. package/typings/form-field/public_api.d.ts +17 -0
  861. package/typings/form-field/suffix.d.ts +3 -0
  862. package/typings/grid-list/grid-list-measure.d.ts +17 -0
  863. package/typings/grid-list/grid-list-module.d.ts +2 -0
  864. package/typings/grid-list/grid-list.d.ts +53 -0
  865. package/typings/grid-list/grid-tile.d.ts +55 -0
  866. package/typings/grid-list/index.d.ts +5 -0
  867. package/typings/grid-list/index.metadata.json +1 -0
  868. package/typings/grid-list/mat-exports.d.ts +13 -0
  869. package/typings/grid-list/public_api.d.ts +11 -0
  870. package/typings/grid-list/tile-coordinator.d.ts +64 -0
  871. package/typings/grid-list/tile-styler.d.ts +129 -0
  872. package/typings/icon/icon-module.d.ts +2 -0
  873. package/typings/icon/icon-registry.d.ts +194 -0
  874. package/typings/icon/icon.d.ts +76 -0
  875. package/typings/icon/index.d.ts +4 -0
  876. package/typings/icon/index.metadata.json +1 -0
  877. package/typings/icon/mat-exports.d.ts +14 -0
  878. package/typings/icon/public_api.d.ts +11 -0
  879. package/typings/index.d.ts +4 -0
  880. package/typings/index.metadata.json +26 -0
  881. package/typings/input/autosize.d.ts +45 -0
  882. package/typings/input/index.d.ts +4 -0
  883. package/typings/input/index.metadata.json +1 -0
  884. package/typings/input/input-errors.d.ts +9 -0
  885. package/typings/input/input-module.d.ts +2 -0
  886. package/typings/input/input.d.ts +78 -0
  887. package/typings/input/mat-exports.d.ts +13 -0
  888. package/typings/input/public_api.d.ts +12 -0
  889. package/typings/list/index.d.ts +4 -0
  890. package/typings/list/index.metadata.json +1 -0
  891. package/typings/list/list-module.d.ts +2 -0
  892. package/typings/list/list.d.ts +78 -0
  893. package/typings/list/mat-exports.d.ts +27 -0
  894. package/typings/list/public_api.d.ts +11 -0
  895. package/typings/list/selection-list.d.ts +112 -0
  896. package/typings/menu/index.d.ts +6 -0
  897. package/typings/menu/index.metadata.json +1 -0
  898. package/typings/menu/mat-exports.d.ts +16 -0
  899. package/typings/menu/menu-animations.d.ts +27 -0
  900. package/typings/menu/menu-directive.d.ts +86 -0
  901. package/typings/menu/menu-errors.d.ts +24 -0
  902. package/typings/menu/menu-item.d.ts +40 -0
  903. package/typings/menu/menu-module.d.ts +2 -0
  904. package/typings/menu/menu-panel.d.ts +22 -0
  905. package/typings/menu/menu-positions.d.ts +9 -0
  906. package/typings/menu/menu-trigger.d.ts +116 -0
  907. package/typings/menu/menu.d.ts +12 -0
  908. package/typings/menu/public_api.d.ts +12 -0
  909. package/typings/paginator/index.d.ts +4 -0
  910. package/typings/paginator/index.metadata.json +1 -0
  911. package/typings/paginator/mat-exports.d.ts +13 -0
  912. package/typings/paginator/paginator-intl.d.ts +20 -0
  913. package/typings/paginator/paginator-module.d.ts +2 -0
  914. package/typings/paginator/paginator.d.ts +75 -0
  915. package/typings/paginator/public_api.d.ts +11 -0
  916. package/typings/progress-bar/index.d.ts +4 -0
  917. package/typings/progress-bar/index.metadata.json +1 -0
  918. package/typings/progress-bar/mat-exports.d.ts +11 -0
  919. package/typings/progress-bar/progress-bar-module.d.ts +2 -0
  920. package/typings/progress-bar/progress-bar.d.ts +32 -0
  921. package/typings/progress-bar/public_api.d.ts +10 -0
  922. package/typings/progress-spinner/index.d.ts +4 -0
  923. package/typings/progress-spinner/index.metadata.json +1 -0
  924. package/typings/progress-spinner/mat-exports.d.ts +14 -0
  925. package/typings/progress-spinner/progress-spinner-module.d.ts +2 -0
  926. package/typings/progress-spinner/progress-spinner.d.ts +98 -0
  927. package/typings/progress-spinner/public_api.d.ts +10 -0
  928. package/typings/public_api.d.ts +39 -0
  929. package/typings/radio/index.d.ts +4 -0
  930. package/typings/radio/index.metadata.json +1 -0
  931. package/typings/radio/mat-exports.d.ts +16 -0
  932. package/typings/radio/public_api.d.ts +10 -0
  933. package/typings/radio/radio-module.d.ts +2 -0
  934. package/typings/radio/radio.d.ts +217 -0
  935. package/typings/select/index.d.ts +4 -0
  936. package/typings/select/index.metadata.json +1 -0
  937. package/typings/select/mat-exports.d.ts +17 -0
  938. package/typings/select/public_api.d.ts +11 -0
  939. package/typings/select/select-animations.d.ts +36 -0
  940. package/typings/select/select-errors.d.ts +26 -0
  941. package/typings/select/select-module.d.ts +2 -0
  942. package/typings/select/select.d.ts +412 -0
  943. package/typings/sidenav/drawer.d.ts +178 -0
  944. package/typings/sidenav/index.d.ts +4 -0
  945. package/typings/sidenav/index.metadata.json +1 -0
  946. package/typings/sidenav/mat-exports.d.ts +16 -0
  947. package/typings/sidenav/public_api.d.ts +11 -0
  948. package/typings/sidenav/sidenav-module.d.ts +2 -0
  949. package/typings/sidenav/sidenav.d.ts +6 -0
  950. package/typings/slide-toggle/index.d.ts +4 -0
  951. package/typings/slide-toggle/index.metadata.json +1 -0
  952. package/typings/slide-toggle/mat-exports.d.ts +14 -0
  953. package/typings/slide-toggle/public_api.d.ts +10 -0
  954. package/typings/slide-toggle/slide-toggle-module.d.ts +2 -0
  955. package/typings/slide-toggle/slide-toggle.d.ts +93 -0
  956. package/typings/slider/index.d.ts +4 -0
  957. package/typings/slider/index.metadata.json +1 -0
  958. package/typings/slider/mat-exports.d.ts +14 -0
  959. package/typings/slider/public_api.d.ts +10 -0
  960. package/typings/slider/slider-module.d.ts +2 -0
  961. package/typings/slider/slider.d.ts +207 -0
  962. package/typings/snack-bar/index.d.ts +4 -0
  963. package/typings/snack-bar/index.metadata.json +1 -0
  964. package/typings/snack-bar/mat-exports.d.ts +18 -0
  965. package/typings/snack-bar/public_api.d.ts +14 -0
  966. package/typings/snack-bar/simple-snack-bar.d.ts +18 -0
  967. package/typings/snack-bar/snack-bar-config.d.ts +38 -0
  968. package/typings/snack-bar/snack-bar-container.d.ts +61 -0
  969. package/typings/snack-bar/snack-bar-module.d.ts +2 -0
  970. package/typings/snack-bar/snack-bar-ref.d.ts +51 -0
  971. package/typings/snack-bar/snack-bar.d.ts +70 -0
  972. package/typings/sort/index.d.ts +4 -0
  973. package/typings/sort/index.metadata.json +1 -0
  974. package/typings/sort/mat-exports.d.ts +16 -0
  975. package/typings/sort/public_api.d.ts +13 -0
  976. package/typings/sort/sort-direction.d.ts +8 -0
  977. package/typings/sort/sort-errors.d.ts +13 -0
  978. package/typings/sort/sort-header-intl.d.ts +17 -0
  979. package/typings/sort/sort-header.d.ts +44 -0
  980. package/typings/sort/sort-module.d.ts +2 -0
  981. package/typings/sort/sort.d.ts +59 -0
  982. package/typings/stepper/index.d.ts +4 -0
  983. package/typings/stepper/index.metadata.json +1 -0
  984. package/typings/stepper/mat-exports.d.ts +21 -0
  985. package/typings/stepper/public_api.d.ts +13 -0
  986. package/typings/stepper/step-header.d.ts +23 -0
  987. package/typings/stepper/step-label.d.ts +14 -0
  988. package/typings/stepper/stepper-button.d.ts +10 -0
  989. package/typings/stepper/stepper-module.d.ts +2 -0
  990. package/typings/stepper/stepper.d.ts +27 -0
  991. package/typings/table/cell.d.ts +44 -0
  992. package/typings/table/index.d.ts +4 -0
  993. package/typings/table/index.metadata.json +1 -0
  994. package/typings/table/mat-exports.d.ts +20 -0
  995. package/typings/table/public_api.d.ts +12 -0
  996. package/typings/table/row.d.ts +30 -0
  997. package/typings/table/table-module.d.ts +2 -0
  998. package/typings/table/table.d.ts +8 -0
  999. package/typings/tabs/index.d.ts +8 -0
  1000. package/typings/tabs/index.metadata.json +1 -0
  1001. package/typings/tabs/ink-bar.d.ts +33 -0
  1002. package/typings/tabs/mat-exports.d.ts +31 -0
  1003. package/typings/tabs/public_api.d.ts +17 -0
  1004. package/typings/tabs/tab-body.d.ts +69 -0
  1005. package/typings/tabs/tab-group.d.ts +100 -0
  1006. package/typings/tabs/tab-header.d.ts +156 -0
  1007. package/typings/tabs/tab-label-wrapper.d.ts +25 -0
  1008. package/typings/tabs/tab-label.d.ts +15 -0
  1009. package/typings/tabs/tab-nav-bar/index.d.ts +8 -0
  1010. package/typings/tabs/tab-nav-bar/tab-nav-bar.d.ts +77 -0
  1011. package/typings/tabs/tab.d.ts +50 -0
  1012. package/typings/tabs/tabs-module.d.ts +2 -0
  1013. package/typings/toolbar/index.d.ts +4 -0
  1014. package/typings/toolbar/index.metadata.json +1 -0
  1015. package/typings/toolbar/mat-exports.d.ts +13 -0
  1016. package/typings/toolbar/public_api.d.ts +10 -0
  1017. package/typings/toolbar/toolbar-module.d.ts +2 -0
  1018. package/typings/toolbar/toolbar.d.ts +21 -0
  1019. package/typings/tooltip/index.d.ts +4 -0
  1020. package/typings/tooltip/index.metadata.json +1 -0
  1021. package/typings/tooltip/mat-exports.d.ts +14 -0
  1022. package/typings/tooltip/public_api.d.ts +10 -0
  1023. package/typings/tooltip/tooltip-module.d.ts +2 -0
  1024. package/typings/tooltip/tooltip.d.ts +177 -0
  1025. package/typings/version.d.ts +10 -0
  1026. package/button/README.md +0 -115
  1027. package/button/_button-base.scss +0 -116
  1028. package/button/_button-theme.scss +0 -85
  1029. package/button/button.css +0 -101
  1030. package/button/button.css.map +0 -1
  1031. package/button/button.d.ts +0 -35
  1032. package/button/button.html +0 -6
  1033. package/button/button.js +0 -196
  1034. package/button/button.js.map +0 -1
  1035. package/button/button.metadata.json +0 -1
  1036. package/button/button.scss +0 -72
  1037. package/button/index.js +0 -3
  1038. package/button/index.js.map +0 -1
  1039. package/button-toggle/README.md +0 -149
  1040. package/button-toggle/_button-toggle-theme.scss +0 -14
  1041. package/button-toggle/button-toggle.css +0 -24
  1042. package/button-toggle/button-toggle.css.map +0 -1
  1043. package/button-toggle/button-toggle.d.ts +0 -110
  1044. package/button-toggle/button-toggle.html +0 -14
  1045. package/button-toggle/button-toggle.js +0 -436
  1046. package/button-toggle/button-toggle.js.map +0 -1
  1047. package/button-toggle/button-toggle.metadata.json +0 -1
  1048. package/button-toggle/button-toggle.scss +0 -34
  1049. package/button-toggle/index.js +0 -3
  1050. package/button-toggle/index.js.map +0 -1
  1051. package/card/README.md +0 -116
  1052. package/card/_card-theme.scss +0 -17
  1053. package/card/card-header.html +0 -5
  1054. package/card/card-title-group.html +0 -5
  1055. package/card/card.css +0 -140
  1056. package/card/card.css.map +0 -1
  1057. package/card/card.d.ts +0 -35
  1058. package/card/card.html +0 -1
  1059. package/card/card.js +0 -187
  1060. package/card/card.js.map +0 -1
  1061. package/card/card.metadata.json +0 -1
  1062. package/card/card.scss +0 -226
  1063. package/card/index.js +0 -3
  1064. package/card/index.js.map +0 -1
  1065. package/checkbox/README.md +0 -79
  1066. package/checkbox/_checkbox-theme.scss +0 -69
  1067. package/checkbox/checkbox.css +0 -241
  1068. package/checkbox/checkbox.css.map +0 -1
  1069. package/checkbox/checkbox.d.ts +0 -127
  1070. package/checkbox/checkbox.html +0 -37
  1071. package/checkbox/checkbox.js +0 -344
  1072. package/checkbox/checkbox.js.map +0 -1
  1073. package/checkbox/checkbox.metadata.json +0 -1
  1074. package/checkbox/checkbox.scss +0 -412
  1075. package/checkbox/index.js +0 -3
  1076. package/checkbox/index.js.map +0 -1
  1077. package/core/README.md +0 -2
  1078. package/core/_core.scss +0 -27
  1079. package/core/a11y/README.md +0 -30
  1080. package/core/a11y/_a11y.scss +0 -13
  1081. package/core/a11y/focus-trap.d.ts +0 -23
  1082. package/core/a11y/focus-trap.js +0 -82
  1083. package/core/a11y/focus-trap.js.map +0 -1
  1084. package/core/a11y/focus-trap.metadata.json +0 -1
  1085. package/core/a11y/index.d.ts +0 -10
  1086. package/core/a11y/index.js +0 -37
  1087. package/core/a11y/index.js.map +0 -1
  1088. package/core/a11y/index.metadata.json +0 -1
  1089. package/core/a11y/interactivity-checker.d.ts +0 -31
  1090. package/core/a11y/interactivity-checker.js +0 -122
  1091. package/core/a11y/interactivity-checker.js.map +0 -1
  1092. package/core/a11y/interactivity-checker.metadata.json +0 -1
  1093. package/core/a11y/live-announcer.d.ts +0 -13
  1094. package/core/a11y/live-announcer.js +0 -56
  1095. package/core/a11y/live-announcer.js.map +0 -1
  1096. package/core/a11y/live-announcer.metadata.json +0 -1
  1097. package/core/annotations/field-value.d.ts +0 -16
  1098. package/core/annotations/field-value.js +0 -30
  1099. package/core/annotations/field-value.js.map +0 -1
  1100. package/core/async/promise-completer.d.ts +0 -6
  1101. package/core/async/promise-completer.js +0 -12
  1102. package/core/async/promise-completer.js.map +0 -1
  1103. package/core/coordination/unique-selection-dispatcher.d.ts +0 -17
  1104. package/core/coordination/unique-selection-dispatcher.js +0 -42
  1105. package/core/coordination/unique-selection-dispatcher.js.map +0 -1
  1106. package/core/coordination/unique-selection-dispatcher.metadata.json +0 -1
  1107. package/core/core.d.ts +0 -28
  1108. package/core/core.js +0 -71
  1109. package/core/core.js.map +0 -1
  1110. package/core/core.metadata.json +0 -1
  1111. package/core/errors/error.d.ts +0 -6
  1112. package/core/errors/error.js +0 -19
  1113. package/core/errors/error.js.map +0 -1
  1114. package/core/gestures/MdGestureConfig.d.ts +0 -7
  1115. package/core/gestures/MdGestureConfig.js +0 -84
  1116. package/core/gestures/MdGestureConfig.js.map +0 -1
  1117. package/core/gestures/MdGestureConfig.metadata.json +0 -1
  1118. package/core/index.js +0 -3
  1119. package/core/index.js.map +0 -1
  1120. package/core/keyboard/keycodes.d.ts +0 -6
  1121. package/core/keyboard/keycodes.js +0 -12
  1122. package/core/keyboard/keycodes.js.map +0 -1
  1123. package/core/keyboard/keycodes.metadata.json +0 -1
  1124. package/core/line/line.d.ts +0 -19
  1125. package/core/line/line.js +0 -65
  1126. package/core/line/line.js.map +0 -1
  1127. package/core/line/line.metadata.json +0 -1
  1128. package/core/overlay/generic-component-type.d.ts +0 -3
  1129. package/core/overlay/generic-component-type.js +0 -3
  1130. package/core/overlay/generic-component-type.js.map +0 -1
  1131. package/core/overlay/overlay-container.d.ts +0 -19
  1132. package/core/overlay/overlay-container.js +0 -33
  1133. package/core/overlay/overlay-container.js.map +0 -1
  1134. package/core/overlay/overlay-directives.d.ts +0 -36
  1135. package/core/overlay/overlay-directives.js +0 -120
  1136. package/core/overlay/overlay-directives.js.map +0 -1
  1137. package/core/overlay/overlay-directives.metadata.json +0 -1
  1138. package/core/overlay/overlay-ref.d.ts +0 -28
  1139. package/core/overlay/overlay-ref.js +0 -82
  1140. package/core/overlay/overlay-ref.js.map +0 -1
  1141. package/core/overlay/overlay-state.d.ts +0 -11
  1142. package/core/overlay/overlay-state.js +0 -13
  1143. package/core/overlay/overlay-state.js.map +0 -1
  1144. package/core/overlay/overlay.css +0 -2
  1145. package/core/overlay/overlay.css.map +0 -1
  1146. package/core/overlay/overlay.d.ts +0 -51
  1147. package/core/overlay/overlay.js +0 -93
  1148. package/core/overlay/overlay.js.map +0 -1
  1149. package/core/overlay/overlay.metadata.json +0 -1
  1150. package/core/overlay/overlay.scss +0 -55
  1151. package/core/overlay/position/connected-position-strategy.d.ts +0 -69
  1152. package/core/overlay/position/connected-position-strategy.js +0 -164
  1153. package/core/overlay/position/connected-position-strategy.js.map +0 -1
  1154. package/core/overlay/position/connected-position.d.ts +0 -22
  1155. package/core/overlay/position/connected-position.js +0 -12
  1156. package/core/overlay/position/connected-position.js.map +0 -1
  1157. package/core/overlay/position/global-position-strategy.d.ts +0 -45
  1158. package/core/overlay/position/global-position-strategy.js +0 -102
  1159. package/core/overlay/position/global-position-strategy.js.map +0 -1
  1160. package/core/overlay/position/overlay-position-builder.d.ts +0 -14
  1161. package/core/overlay/position/overlay-position-builder.js +0 -34
  1162. package/core/overlay/position/overlay-position-builder.js.map +0 -1
  1163. package/core/overlay/position/overlay-position-builder.metadata.json +0 -1
  1164. package/core/overlay/position/position-strategy.d.ts +0 -5
  1165. package/core/overlay/position/position-strategy.js +0 -3
  1166. package/core/overlay/position/position-strategy.js.map +0 -1
  1167. package/core/overlay/position/relative-position-strategy.d.ts +0 -7
  1168. package/core/overlay/position/relative-position-strategy.js +0 -12
  1169. package/core/overlay/position/relative-position-strategy.js.map +0 -1
  1170. package/core/overlay/position/viewport-ruler.d.ts +0 -16
  1171. package/core/overlay/position/viewport-ruler.js +0 -71
  1172. package/core/overlay/position/viewport-ruler.js.map +0 -1
  1173. package/core/overlay/position/viewport-ruler.metadata.json +0 -1
  1174. package/core/portal/README.md +0 -72
  1175. package/core/portal/dom-portal-host.d.ts +0 -17
  1176. package/core/portal/dom-portal-host.js +0 -56
  1177. package/core/portal/dom-portal-host.js.map +0 -1
  1178. package/core/portal/portal-directives.d.ts +0 -38
  1179. package/core/portal/portal-directives.js +0 -124
  1180. package/core/portal/portal-directives.js.map +0 -1
  1181. package/core/portal/portal-directives.metadata.json +0 -1
  1182. package/core/portal/portal-errors.d.ts +0 -29
  1183. package/core/portal/portal-errors.js +0 -66
  1184. package/core/portal/portal-errors.js.map +0 -1
  1185. package/core/portal/portal.d.ts +0 -85
  1186. package/core/portal/portal.js +0 -155
  1187. package/core/portal/portal.js.map +0 -1
  1188. package/core/ripple/README.md +0 -27
  1189. package/core/ripple/_ripple.scss +0 -106
  1190. package/core/ripple/ripple-renderer.d.ts +0 -65
  1191. package/core/ripple/ripple-renderer.js +0 -149
  1192. package/core/ripple/ripple-renderer.js.map +0 -1
  1193. package/core/ripple/ripple-renderer.metadata.json +0 -1
  1194. package/core/ripple/ripple.d.ts +0 -75
  1195. package/core/ripple/ripple.js +0 -179
  1196. package/core/ripple/ripple.js.map +0 -1
  1197. package/core/ripple/ripple.metadata.json +0 -1
  1198. package/core/rtl/dir.d.ts +0 -17
  1199. package/core/rtl/dir.js +0 -83
  1200. package/core/rtl/dir.js.map +0 -1
  1201. package/core/rtl/dir.metadata.json +0 -1
  1202. package/core/style/_button-common.scss +0 -7
  1203. package/core/style/_elevation.scss +0 -174
  1204. package/core/style/_list-common.scss +0 -49
  1205. package/core/style/_sidenav-common.scss +0 -8
  1206. package/core/style/_variables.scss +0 -55
  1207. package/core/style/apply-transform.d.ts +0 -6
  1208. package/core/style/apply-transform.js +0 -14
  1209. package/core/style/apply-transform.js.map +0 -1
  1210. package/core/theming/_all-theme.scss +0 -46
  1211. package/core/theming/_palette.scss +0 -694
  1212. package/core/theming/_theming.scss +0 -84
  1213. package/core/theming/prebuilt/deeppurple-amber.css +0 -446
  1214. package/core/theming/prebuilt/deeppurple-amber.css.map +0 -1
  1215. package/core/theming/prebuilt/deeppurple-amber.scss +0 -14
  1216. package/core/theming/prebuilt/indigo-pink.css +0 -446
  1217. package/core/theming/prebuilt/indigo-pink.css.map +0 -1
  1218. package/core/theming/prebuilt/indigo-pink.scss +0 -14
  1219. package/core/theming/prebuilt/pink-bluegrey.css +0 -446
  1220. package/core/theming/prebuilt/pink-bluegrey.css.map +0 -1
  1221. package/core/theming/prebuilt/pink-bluegrey.scss +0 -14
  1222. package/core/theming/prebuilt/purple-green.css +0 -446
  1223. package/core/theming/prebuilt/purple-green.css.map +0 -1
  1224. package/core/theming/prebuilt/purple-green.scss +0 -14
  1225. package/core/typography/_typography.scss +0 -6
  1226. package/core.js +0 -3
  1227. package/core.js.map +0 -1
  1228. package/dialog/README.md +0 -0
  1229. package/dialog/_dialog-theme.scss +0 -11
  1230. package/dialog/dialog-config.d.ts +0 -11
  1231. package/dialog/dialog-config.js +0 -12
  1232. package/dialog/dialog-config.js.map +0 -1
  1233. package/dialog/dialog-container.css +0 -7
  1234. package/dialog/dialog-container.css.map +0 -1
  1235. package/dialog/dialog-container.d.ts +0 -29
  1236. package/dialog/dialog-container.html +0 -3
  1237. package/dialog/dialog-container.js +0 -88
  1238. package/dialog/dialog-container.js.map +0 -1
  1239. package/dialog/dialog-container.metadata.json +0 -1
  1240. package/dialog/dialog-container.scss +0 -12
  1241. package/dialog/dialog-errors.d.ts +0 -5
  1242. package/dialog/dialog-errors.js +0 -16
  1243. package/dialog/dialog-errors.js.map +0 -1
  1244. package/dialog/dialog-injector.d.ts +0 -9
  1245. package/dialog/dialog-injector.js +0 -17
  1246. package/dialog/dialog-injector.js.map +0 -1
  1247. package/dialog/dialog-ref.d.ts +0 -20
  1248. package/dialog/dialog-ref.js +0 -29
  1249. package/dialog/dialog-ref.js.map +0 -1
  1250. package/dialog/dialog.d.ts +0 -51
  1251. package/dialog/dialog.js +0 -128
  1252. package/dialog/dialog.js.map +0 -1
  1253. package/dialog/dialog.metadata.json +0 -1
  1254. package/dialog/index.js +0 -6
  1255. package/dialog/index.js.map +0 -1
  1256. package/grid-list/README.md +0 -118
  1257. package/grid-list/_grid-list-theme.scss +0 -6
  1258. package/grid-list/grid-list-errors.d.ts +0 -19
  1259. package/grid-list/grid-list-errors.js +0 -38
  1260. package/grid-list/grid-list-errors.js.map +0 -1
  1261. package/grid-list/grid-list-measure.d.ts +0 -10
  1262. package/grid-list/grid-list-measure.js +0 -16
  1263. package/grid-list/grid-list-measure.js.map +0 -1
  1264. package/grid-list/grid-list-measure.metadata.json +0 -1
  1265. package/grid-list/grid-list.css +0 -78
  1266. package/grid-list/grid-list.css.map +0 -1
  1267. package/grid-list/grid-list.d.ts +0 -49
  1268. package/grid-list/grid-list.html +0 -3
  1269. package/grid-list/grid-list.js +0 -165
  1270. package/grid-list/grid-list.js.map +0 -1
  1271. package/grid-list/grid-list.metadata.json +0 -1
  1272. package/grid-list/grid-list.scss +0 -91
  1273. package/grid-list/grid-tile-text.html +0 -3
  1274. package/grid-list/grid-tile.d.ts +0 -28
  1275. package/grid-list/grid-tile.html +0 -4
  1276. package/grid-list/grid-tile.js +0 -87
  1277. package/grid-list/grid-tile.js.map +0 -1
  1278. package/grid-list/grid-tile.metadata.json +0 -1
  1279. package/grid-list/index.js +0 -3
  1280. package/grid-list/index.js.map +0 -1
  1281. package/grid-list/tile-coordinator.d.ts +0 -51
  1282. package/grid-list/tile-coordinator.js +0 -124
  1283. package/grid-list/tile-coordinator.js.map +0 -1
  1284. package/grid-list/tile-styler.d.ts +0 -88
  1285. package/grid-list/tile-styler.js +0 -190
  1286. package/grid-list/tile-styler.js.map +0 -1
  1287. package/icon/README.md +0 -116
  1288. package/icon/_icon-theme.scss +0 -6
  1289. package/icon/fake-svgs.d.ts +0 -5
  1290. package/icon/fake-svgs.js +0 -29
  1291. package/icon/fake-svgs.js.map +0 -1
  1292. package/icon/icon-registry.d.ts +0 -148
  1293. package/icon/icon-registry.js +0 -375
  1294. package/icon/icon-registry.js.map +0 -1
  1295. package/icon/icon-registry.metadata.json +0 -1
  1296. package/icon/icon.css +0 -8
  1297. package/icon/icon.css.map +0 -1
  1298. package/icon/icon.d.ts +0 -85
  1299. package/icon/icon.js +0 -252
  1300. package/icon/icon.js.map +0 -1
  1301. package/icon/icon.metadata.json +0 -1
  1302. package/icon/icon.scss +0 -13
  1303. package/icon/index.js +0 -3
  1304. package/icon/index.js.map +0 -1
  1305. package/index.d.ts +0 -23
  1306. package/index.js +0 -25
  1307. package/index.js.map +0 -1
  1308. package/index.metadata.json +0 -1
  1309. package/input/README.md +0 -121
  1310. package/input/_input-theme.scss +0 -64
  1311. package/input/index.js +0 -3
  1312. package/input/index.js.map +0 -1
  1313. package/input/input.css +0 -109
  1314. package/input/input.css.map +0 -1
  1315. package/input/input.d.ts +0 -134
  1316. package/input/input.html +0 -65
  1317. package/input/input.js +0 -471
  1318. package/input/input.js.map +0 -1
  1319. package/input/input.metadata.json +0 -1
  1320. package/input/input.scss +0 -198
  1321. package/list/README.md +0 -167
  1322. package/list/_list-theme.scss +0 -28
  1323. package/list/index.js +0 -3
  1324. package/list/index.js.map +0 -1
  1325. package/list/list-item.html +0 -5
  1326. package/list/list.css +0 -139
  1327. package/list/list.css.map +0 -1
  1328. package/list/list.d.ts +0 -24
  1329. package/list/list.js +0 -113
  1330. package/list/list.js.map +0 -1
  1331. package/list/list.metadata.json +0 -1
  1332. package/list/list.scss +0 -168
  1333. package/material.umd.js +0 -9017
  1334. package/material.umd.js.map +0 -1
  1335. package/menu/README.md +0 -164
  1336. package/menu/_menu-theme.scss +0 -25
  1337. package/menu/index.js +0 -3
  1338. package/menu/index.js.map +0 -1
  1339. package/menu/menu-directive.d.ts +0 -54
  1340. package/menu/menu-directive.js +0 -158
  1341. package/menu/menu-directive.js.map +0 -1
  1342. package/menu/menu-directive.metadata.json +0 -1
  1343. package/menu/menu-errors.d.ts +0 -21
  1344. package/menu/menu-errors.js +0 -40
  1345. package/menu/menu-errors.js.map +0 -1
  1346. package/menu/menu-item.d.ts +0 -18
  1347. package/menu/menu-item.js +0 -74
  1348. package/menu/menu-item.js.map +0 -1
  1349. package/menu/menu-item.metadata.json +0 -1
  1350. package/menu/menu-positions.d.ts +0 -2
  1351. package/menu/menu-positions.js +0 -3
  1352. package/menu/menu-positions.js.map +0 -1
  1353. package/menu/menu-trigger.d.ts +0 -62
  1354. package/menu/menu-trigger.js +0 -169
  1355. package/menu/menu-trigger.js.map +0 -1
  1356. package/menu/menu-trigger.metadata.json +0 -1
  1357. package/menu/menu.css +0 -41
  1358. package/menu/menu.css.map +0 -1
  1359. package/menu/menu.d.ts +0 -7
  1360. package/menu/menu.html +0 -6
  1361. package/menu/menu.js +0 -39
  1362. package/menu/menu.js.map +0 -1
  1363. package/menu/menu.metadata.json +0 -1
  1364. package/menu/menu.scss +0 -59
  1365. package/module.d.ts +0 -6
  1366. package/module.js +0 -117
  1367. package/module.js.map +0 -1
  1368. package/module.metadata.json +0 -1
  1369. package/progress-bar/README.md +0 -54
  1370. package/progress-bar/_progress-bar-theme.scss +0 -78
  1371. package/progress-bar/index.js +0 -3
  1372. package/progress-bar/index.js.map +0 -1
  1373. package/progress-bar/progress-bar.css +0 -114
  1374. package/progress-bar/progress-bar.css.map +0 -1
  1375. package/progress-bar/progress-bar.d.ts +0 -34
  1376. package/progress-bar/progress-bar.html +0 -5
  1377. package/progress-bar/progress-bar.js +0 -122
  1378. package/progress-bar/progress-bar.js.map +0 -1
  1379. package/progress-bar/progress-bar.metadata.json +0 -1
  1380. package/progress-bar/progress-bar.scss +0 -229
  1381. package/progress-circle/README.md +0 -51
  1382. package/progress-circle/_progress-circle-theme.scss +0 -23
  1383. package/progress-circle/index.d.ts +0 -1
  1384. package/progress-circle/index.js +0 -3
  1385. package/progress-circle/index.js.map +0 -1
  1386. package/progress-circle/index.metadata.json +0 -1
  1387. package/progress-circle/progress-circle.css +0 -43
  1388. package/progress-circle/progress-circle.css.map +0 -1
  1389. package/progress-circle/progress-circle.d.ts +0 -76
  1390. package/progress-circle/progress-circle.html +0 -9
  1391. package/progress-circle/progress-circle.js +0 -315
  1392. package/progress-circle/progress-circle.js.map +0 -1
  1393. package/progress-circle/progress-circle.metadata.json +0 -1
  1394. package/progress-circle/progress-circle.scss +0 -67
  1395. package/radio/README.md +0 -79
  1396. package/radio/_radio-theme.scss +0 -36
  1397. package/radio/index.js +0 -3
  1398. package/radio/index.js.map +0 -1
  1399. package/radio/radio.css +0 -82
  1400. package/radio/radio.css.map +0 -1
  1401. package/radio/radio.d.ts +0 -127
  1402. package/radio/radio.html +0 -27
  1403. package/radio/radio.js +0 -445
  1404. package/radio/radio.js.map +0 -1
  1405. package/radio/radio.metadata.json +0 -1
  1406. package/radio/radio.scss +0 -92
  1407. package/select/index.js +0 -33
  1408. package/select/index.js.map +0 -1
  1409. package/select/select.css +0 -2
  1410. package/select/select.css.map +0 -1
  1411. package/select/select.d.ts +0 -2
  1412. package/select/select.html +0 -1
  1413. package/select/select.js +0 -25
  1414. package/select/select.js.map +0 -1
  1415. package/select/select.metadata.json +0 -1
  1416. package/select/select.scss +0 -0
  1417. package/sidenav/README.md +0 -83
  1418. package/sidenav/_sidenav-theme.scss +0 -37
  1419. package/sidenav/index.js +0 -3
  1420. package/sidenav/index.js.map +0 -1
  1421. package/sidenav/sidenav-transitions.css +0 -10
  1422. package/sidenav/sidenav-transitions.css.map +0 -1
  1423. package/sidenav/sidenav-transitions.scss +0 -14
  1424. package/sidenav/sidenav.css +0 -111
  1425. package/sidenav/sidenav.css.map +0 -1
  1426. package/sidenav/sidenav.d.ts +0 -141
  1427. package/sidenav/sidenav.html +0 -8
  1428. package/sidenav/sidenav.js +0 -479
  1429. package/sidenav/sidenav.js.map +0 -1
  1430. package/sidenav/sidenav.metadata.json +0 -1
  1431. package/sidenav/sidenav.scss +0 -133
  1432. package/slide-toggle/README.md +0 -66
  1433. package/slide-toggle/_slide-toggle-theme.scss +0 -77
  1434. package/slide-toggle/index.js +0 -3
  1435. package/slide-toggle/index.js.map +0 -1
  1436. package/slide-toggle/slide-toggle.css +0 -88
  1437. package/slide-toggle/slide-toggle.css.map +0 -1
  1438. package/slide-toggle/slide-toggle.d.ts +0 -74
  1439. package/slide-toggle/slide-toggle.html +0 -33
  1440. package/slide-toggle/slide-toggle.js +0 -317
  1441. package/slide-toggle/slide-toggle.js.map +0 -1
  1442. package/slide-toggle/slide-toggle.metadata.json +0 -1
  1443. package/slide-toggle/slide-toggle.scss +0 -140
  1444. package/slider/README.md +0 -97
  1445. package/slider/_slider-theme.scss +0 -33
  1446. package/slider/index.js +0 -3
  1447. package/slider/index.js.map +0 -1
  1448. package/slider/slider.css +0 -122
  1449. package/slider/slider.css.map +0 -1
  1450. package/slider/slider.d.ts +0 -155
  1451. package/slider/slider.html +0 -21
  1452. package/slider/slider.js +0 -433
  1453. package/slider/slider.js.map +0 -1
  1454. package/slider/slider.metadata.json +0 -1
  1455. package/slider/slider.scss +0 -186
  1456. package/slider/test-gesture-config.d.ts +0 -21
  1457. package/slider/test-gesture-config.js +0 -59
  1458. package/slider/test-gesture-config.js.map +0 -1
  1459. package/slider/test-gesture-config.metadata.json +0 -1
  1460. package/snack-bar/README.md +0 -38
  1461. package/snack-bar/index.js +0 -6
  1462. package/snack-bar/index.js.map +0 -1
  1463. package/snack-bar/simple-snack-bar.css +0 -27
  1464. package/snack-bar/simple-snack-bar.css.map +0 -1
  1465. package/snack-bar/simple-snack-bar.d.ts +0 -17
  1466. package/snack-bar/simple-snack-bar.html +0 -3
  1467. package/snack-bar/simple-snack-bar.js +0 -38
  1468. package/snack-bar/simple-snack-bar.js.map +0 -1
  1469. package/snack-bar/simple-snack-bar.metadata.json +0 -1
  1470. package/snack-bar/simple-snack-bar.scss +0 -28
  1471. package/snack-bar/snack-bar-config.d.ts +0 -11
  1472. package/snack-bar/snack-bar-config.js +0 -10
  1473. package/snack-bar/snack-bar-config.js.map +0 -1
  1474. package/snack-bar/snack-bar-container.css +0 -12
  1475. package/snack-bar/snack-bar-container.css.map +0 -1
  1476. package/snack-bar/snack-bar-container.d.ts +0 -15
  1477. package/snack-bar/snack-bar-container.html +0 -1
  1478. package/snack-bar/snack-bar-container.js +0 -53
  1479. package/snack-bar/snack-bar-container.js.map +0 -1
  1480. package/snack-bar/snack-bar-container.metadata.json +0 -1
  1481. package/snack-bar/snack-bar-container.scss +0 -19
  1482. package/snack-bar/snack-bar-errors.d.ts +0 -4
  1483. package/snack-bar/snack-bar-errors.js +0 -15
  1484. package/snack-bar/snack-bar-errors.js.map +0 -1
  1485. package/snack-bar/snack-bar-ref.d.ts +0 -17
  1486. package/snack-bar/snack-bar-ref.js +0 -28
  1487. package/snack-bar/snack-bar-ref.js.map +0 -1
  1488. package/snack-bar/snack-bar.d.ts +0 -41
  1489. package/snack-bar/snack-bar.js +0 -110
  1490. package/snack-bar/snack-bar.js.map +0 -1
  1491. package/snack-bar/snack-bar.metadata.json +0 -1
  1492. package/tabs/README.md +0 -47
  1493. package/tabs/_tabs-theme.scss +0 -23
  1494. package/tabs/index.js +0 -3
  1495. package/tabs/index.js.map +0 -1
  1496. package/tabs/ink-bar.d.ts +0 -24
  1497. package/tabs/ink-bar.js +0 -50
  1498. package/tabs/ink-bar.js.map +0 -1
  1499. package/tabs/ink-bar.metadata.json +0 -1
  1500. package/tabs/tab-content.d.ts +0 -6
  1501. package/tabs/tab-content.js +0 -32
  1502. package/tabs/tab-content.js.map +0 -1
  1503. package/tabs/tab-content.metadata.json +0 -1
  1504. package/tabs/tab-group.css +0 -55
  1505. package/tabs/tab-group.css.map +0 -1
  1506. package/tabs/tab-group.html +0 -27
  1507. package/tabs/tab-group.scss +0 -72
  1508. package/tabs/tab-label-wrapper.d.ts +0 -10
  1509. package/tabs/tab-label-wrapper.js +0 -31
  1510. package/tabs/tab-label-wrapper.js.map +0 -1
  1511. package/tabs/tab-label-wrapper.metadata.json +0 -1
  1512. package/tabs/tab-label.d.ts +0 -6
  1513. package/tabs/tab-label.js +0 -32
  1514. package/tabs/tab-label.js.map +0 -1
  1515. package/tabs/tab-label.metadata.json +0 -1
  1516. package/tabs/tabs.d.ts +0 -79
  1517. package/tabs/tabs.js +0 -290
  1518. package/tabs/tabs.js.map +0 -1
  1519. package/tabs/tabs.metadata.json +0 -1
  1520. package/toolbar/README.md +0 -68
  1521. package/toolbar/_toolbar-theme.scss +0 -33
  1522. package/toolbar/index.js +0 -3
  1523. package/toolbar/index.js.map +0 -1
  1524. package/toolbar/toolbar.css +0 -19
  1525. package/toolbar/toolbar.css.map +0 -1
  1526. package/toolbar/toolbar.d.ts +0 -17
  1527. package/toolbar/toolbar.html +0 -6
  1528. package/toolbar/toolbar.js +0 -83
  1529. package/toolbar/toolbar.js.map +0 -1
  1530. package/toolbar/toolbar.metadata.json +0 -1
  1531. package/toolbar/toolbar.scss +0 -36
  1532. package/tooltip/README.md +0 -32
  1533. package/tooltip/_tooltip-theme.scss +0 -9
  1534. package/tooltip/index.js +0 -3
  1535. package/tooltip/index.js.map +0 -1
  1536. package/tooltip/tooltip.css +0 -14
  1537. package/tooltip/tooltip.css.map +0 -1
  1538. package/tooltip/tooltip.d.ts +0 -67
  1539. package/tooltip/tooltip.html +0 -0
  1540. package/tooltip/tooltip.js +0 -210
  1541. package/tooltip/tooltip.js.map +0 -1
  1542. package/tooltip/tooltip.metadata.json +0 -1
  1543. package/tooltip/tooltip.scss +0 -21
  1544. package/tsconfig-spec.json +0 -33
  1545. package/tsconfig.json +0 -33
  1546. package/typings.d.ts +0 -1
package/_theming.scss ADDED
@@ -0,0 +1,3872 @@
1
+ // Import all the theming functionality.
2
+ // We can use relative imports for imports from the cdk because we bundle everything
3
+ // up into a single flat scss file for material.
4
+ // We want overlays to always appear over user content, so set a baseline
5
+ // very high z-index for the overlay container, which is where we create the new
6
+ // stacking context for all overlays.
7
+ $cdk-z-index-overlay-container: 1000;
8
+ $cdk-z-index-overlay: 1000;
9
+ $cdk-z-index-overlay-backdrop: 1000;
10
+
11
+ // Background color for all of the backdrops
12
+ $cdk-overlay-dark-backdrop-background: rgba(0, 0, 0, 0.6);
13
+
14
+ // Default backdrop animation is based on the Material Design swift-ease-out.
15
+ $backdrop-animation-duration: 400ms !default;
16
+ $backdrop-animation-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default;
17
+
18
+
19
+ @mixin cdk-overlay() {
20
+ .cdk-overlay-container, .cdk-global-overlay-wrapper {
21
+ // Disable events from being captured on the overlay container.
22
+ pointer-events: none;
23
+
24
+ // The container should be the size of the viewport.
25
+ top: 0;
26
+ left: 0;
27
+ height: 100%;
28
+ width: 100%;
29
+ }
30
+
31
+ // The overlay-container is an invisible element which contains all individual overlays.
32
+ .cdk-overlay-container {
33
+ position: fixed;
34
+ z-index: $cdk-z-index-overlay-container;
35
+ }
36
+
37
+ // We use an extra wrapper element in order to use make the overlay itself a flex item.
38
+ // This makes centering the overlay easy without running into the subpixel rendering
39
+ // problems tied to using `transform` and without interfering with the other position
40
+ // strategies.
41
+ .cdk-global-overlay-wrapper {
42
+ display: flex;
43
+ position: absolute;
44
+ z-index: $cdk-z-index-overlay;
45
+ }
46
+
47
+ // A single overlay pane.
48
+ .cdk-overlay-pane {
49
+ position: absolute;
50
+ pointer-events: auto;
51
+ box-sizing: border-box;
52
+ z-index: $cdk-z-index-overlay;
53
+ }
54
+
55
+ .cdk-overlay-backdrop {
56
+ // TODO(jelbourn): reuse sidenav fullscreen mixin.
57
+ position: absolute;
58
+ top: 0;
59
+ bottom: 0;
60
+ left: 0;
61
+ right: 0;
62
+
63
+ z-index: $cdk-z-index-overlay-backdrop;
64
+ pointer-events: auto;
65
+ -webkit-tap-highlight-color: transparent;
66
+ transition: opacity $backdrop-animation-duration $backdrop-animation-timing-function;
67
+ opacity: 0;
68
+
69
+ &.cdk-overlay-backdrop-showing {
70
+ opacity: 0.48;
71
+ }
72
+ }
73
+
74
+ .cdk-overlay-dark-backdrop {
75
+ background: $cdk-overlay-dark-backdrop-background;
76
+ }
77
+
78
+ .cdk-overlay-transparent-backdrop {
79
+ background: none;
80
+ }
81
+
82
+ // Used when disabling global scrolling.
83
+ .cdk-global-scrollblock {
84
+ position: fixed;
85
+
86
+ // Necessary for the content not to lose its width. Note that we're using 100%, instead of
87
+ // 100vw, because 100vw includes the width plus the scrollbar, whereas 100% is the width
88
+ // that the element had before we made it `fixed`.
89
+ width: 100%;
90
+
91
+ // Note: this will always add a scrollbar to whatever element it is on, which can
92
+ // potentially result in double scrollbars. It shouldn't be an issue, because we won't
93
+ // block scrolling on a page that doesn't have a scrollbar in the first place.
94
+ overflow-y: scroll;
95
+ }
96
+ }
97
+
98
+
99
+ // Core styles that can be used to apply material design treatments to any element.
100
+ @mixin cdk-a11y {
101
+ .cdk-visually-hidden {
102
+ border: 0;
103
+ clip: rect(0 0 0 0);
104
+ height: 1px;
105
+ margin: -1px;
106
+ overflow: hidden;
107
+ padding: 0;
108
+ position: absolute;
109
+ width: 1px;
110
+ }
111
+ }
112
+
113
+ /**
114
+ * Applies styles for users in high contrast mode. Note that this only applies
115
+ * to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
116
+ * attribute, however Chrome handles high contrast differently.
117
+ */
118
+ @mixin cdk-high-contrast {
119
+ @media screen and (-ms-high-contrast: active) {
120
+ @content;
121
+ }
122
+ }
123
+
124
+ // Media queries
125
+ // TODO: Find a way to respect media query ranges.
126
+ // TODO: For example the xs-breakpoint should not interfere with the sm-breakpoint.
127
+ $mat-xsmall: 'max-width: 600px';
128
+ $mat-small: 'max-width: 960px';
129
+
130
+ // TODO(crisbeto): this isn't being used anywhere within Material. keeping for backwards compat.
131
+ $mat-font-family: Roboto, 'Helvetica Neue', sans-serif !default;
132
+
133
+ // TODO: Revisit all z-indices before beta
134
+ // z-index master list
135
+
136
+ $z-index-fab: 20 !default;
137
+ $z-index-drawer: 100 !default;
138
+
139
+ // Global constants
140
+ $pi: 3.14159265;
141
+
142
+ // Padding between input toggles and their labels
143
+ $mat-toggle-padding: 8px !default;
144
+ // Width and height of input toggles
145
+ $mat-toggle-size: 20px !default;
146
+
147
+ // Easing Curves
148
+ // TODO(jelbourn): all of these need to be revisited
149
+
150
+ // The default animation curves used by material design.
151
+ $mat-linear-out-slow-in-timing-function: cubic-bezier(0, 0, 0.2, 0.1) !default;
152
+ $mat-fast-out-slow-in-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !default;
153
+ $mat-fast-out-linear-in-timing-function: cubic-bezier(0.4, 0, 1, 1) !default;
154
+
155
+ $ease-in-out-curve-function: cubic-bezier(0.35, 0, 0.25, 1) !default;
156
+
157
+ $swift-ease-out-duration: 400ms !default;
158
+ $swift-ease-out-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default;
159
+ $swift-ease-out: all $swift-ease-out-duration $swift-ease-out-timing-function !default;
160
+
161
+ $swift-ease-in-duration: 300ms !default;
162
+ $swift-ease-in-timing-function: cubic-bezier(0.55, 0, 0.55, 0.2) !default;
163
+ $swift-ease-in: all $swift-ease-in-duration $swift-ease-in-timing-function !default;
164
+
165
+ $swift-ease-in-out-duration: 500ms !default;
166
+ $swift-ease-in-out-timing-function: $ease-in-out-curve-function !default;
167
+ $swift-ease-in-out: all $swift-ease-in-out-duration $swift-ease-in-out-timing-function !default;
168
+
169
+ $swift-linear-duration: 80ms !default;
170
+ $swift-linear-timing-function: linear !default;
171
+ $swift-linear: all $swift-linear-duration $swift-linear-timing-function !default;
172
+
173
+
174
+
175
+ // A collection of mixins and CSS classes that can be used to apply elevation to a material
176
+ // element.
177
+ // See: https://www.google.com/design/spec/what-is-material/elevation-shadows.html
178
+ // Examples:
179
+ //
180
+ //
181
+ // .mat-foo {
182
+ // @include $mat-elevation(2);
183
+ //
184
+ // &:active {
185
+ // @include $mat-elevation(8);
186
+ // }
187
+ // }
188
+ //
189
+ // <div id="external-card" class="mat-elevation-z2"><p>Some content</p></div>
190
+ //
191
+ // For an explanation of the design behind how elevation is implemented, see the design doc at
192
+ // https://goo.gl/Kq0k9Z.
193
+
194
+ // Colors for umbra, penumbra, and ambient shadows. As described in the design doc, each elevation
195
+ // level is created using a set of 3 shadow values, one for umbra (the shadow representing the
196
+ // space completely obscured by an object relative to its light source), one for penumbra (the
197
+ // space partially obscured by an object), and one for ambient (the space which contains the object
198
+ // itself). For a further explanation of these terms and their meanings, see
199
+ // https://en.wikipedia.org/wiki/Umbra,_penumbra_and_antumbra.
200
+
201
+ $_umbra-color: rgba(black, 0.2);
202
+ $_penumbra-color: rgba(black, 0.14);
203
+ $_ambient-color: rgba(black, 0.12);
204
+
205
+ // Maps for the different shadow sets and their values within each z-space. These values were
206
+ // created by taking a few reference shadow sets created by Google's Designers and interpolating
207
+ // all of the values between them.
208
+
209
+ $_umbra-elevation-map: (
210
+ 0: '0px 0px 0px 0px #{$_umbra-color}',
211
+ 1: '0px 2px 1px -1px #{$_umbra-color}',
212
+ 2: '0px 3px 1px -2px #{$_umbra-color}',
213
+ 3: '0px 3px 3px -2px #{$_umbra-color}',
214
+ 4: '0px 2px 4px -1px #{$_umbra-color}',
215
+ 5: '0px 3px 5px -1px #{$_umbra-color}',
216
+ 6: '0px 3px 5px -1px #{$_umbra-color}',
217
+ 7: '0px 4px 5px -2px #{$_umbra-color}',
218
+ 8: '0px 5px 5px -3px #{$_umbra-color}',
219
+ 9: '0px 5px 6px -3px #{$_umbra-color}',
220
+ 10: '0px 6px 6px -3px #{$_umbra-color}',
221
+ 11: '0px 6px 7px -4px #{$_umbra-color}',
222
+ 12: '0px 7px 8px -4px #{$_umbra-color}',
223
+ 13: '0px 7px 8px -4px #{$_umbra-color}',
224
+ 14: '0px 7px 9px -4px #{$_umbra-color}',
225
+ 15: '0px 8px 9px -5px #{$_umbra-color}',
226
+ 16: '0px 8px 10px -5px #{$_umbra-color}',
227
+ 17: '0px 8px 11px -5px #{$_umbra-color}',
228
+ 18: '0px 9px 11px -5px #{$_umbra-color}',
229
+ 19: '0px 9px 12px -6px #{$_umbra-color}',
230
+ 20: '0px 10px 13px -6px #{$_umbra-color}',
231
+ 21: '0px 10px 13px -6px #{$_umbra-color}',
232
+ 22: '0px 10px 14px -6px #{$_umbra-color}',
233
+ 23: '0px 11px 14px -7px #{$_umbra-color}',
234
+ 24: '0px 11px 15px -7px #{$_umbra-color}'
235
+ );
236
+
237
+ $_penumbra-elevation-map: (
238
+ 0: '0px 0px 0px 0px #{$_penumbra-color}',
239
+ 1: '0px 1px 1px 0px #{$_penumbra-color}',
240
+ 2: '0px 2px 2px 0px #{$_penumbra-color}',
241
+ 3: '0px 3px 4px 0px #{$_penumbra-color}',
242
+ 4: '0px 4px 5px 0px #{$_penumbra-color}',
243
+ 5: '0px 5px 8px 0px #{$_penumbra-color}',
244
+ 6: '0px 6px 10px 0px #{$_penumbra-color}',
245
+ 7: '0px 7px 10px 1px #{$_penumbra-color}',
246
+ 8: '0px 8px 10px 1px #{$_penumbra-color}',
247
+ 9: '0px 9px 12px 1px #{$_penumbra-color}',
248
+ 10: '0px 10px 14px 1px #{$_penumbra-color}',
249
+ 11: '0px 11px 15px 1px #{$_penumbra-color}',
250
+ 12: '0px 12px 17px 2px #{$_penumbra-color}',
251
+ 13: '0px 13px 19px 2px #{$_penumbra-color}',
252
+ 14: '0px 14px 21px 2px #{$_penumbra-color}',
253
+ 15: '0px 15px 22px 2px #{$_penumbra-color}',
254
+ 16: '0px 16px 24px 2px #{$_penumbra-color}',
255
+ 17: '0px 17px 26px 2px #{$_penumbra-color}',
256
+ 18: '0px 18px 28px 2px #{$_penumbra-color}',
257
+ 19: '0px 19px 29px 2px #{$_penumbra-color}',
258
+ 20: '0px 20px 31px 3px #{$_penumbra-color}',
259
+ 21: '0px 21px 33px 3px #{$_penumbra-color}',
260
+ 22: '0px 22px 35px 3px #{$_penumbra-color}',
261
+ 23: '0px 23px 36px 3px #{$_penumbra-color}',
262
+ 24: '0px 24px 38px 3px #{$_penumbra-color}'
263
+ );
264
+
265
+ $_ambient-elevation-map: (
266
+ 0: '0px 0px 0px 0px #{$_ambient-color}',
267
+ 1: '0px 1px 3px 0px #{$_ambient-color}',
268
+ 2: '0px 1px 5px 0px #{$_ambient-color}',
269
+ 3: '0px 1px 8px 0px #{$_ambient-color}',
270
+ 4: '0px 1px 10px 0px #{$_ambient-color}',
271
+ 5: '0px 1px 14px 0px #{$_ambient-color}',
272
+ 6: '0px 1px 18px 0px #{$_ambient-color}',
273
+ 7: '0px 2px 16px 1px #{$_ambient-color}',
274
+ 8: '0px 3px 14px 2px #{$_ambient-color}',
275
+ 9: '0px 3px 16px 2px #{$_ambient-color}',
276
+ 10: '0px 4px 18px 3px #{$_ambient-color}',
277
+ 11: '0px 4px 20px 3px #{$_ambient-color}',
278
+ 12: '0px 5px 22px 4px #{$_ambient-color}',
279
+ 13: '0px 5px 24px 4px #{$_ambient-color}',
280
+ 14: '0px 5px 26px 4px #{$_ambient-color}',
281
+ 15: '0px 6px 28px 5px #{$_ambient-color}',
282
+ 16: '0px 6px 30px 5px #{$_ambient-color}',
283
+ 17: '0px 6px 32px 5px #{$_ambient-color}',
284
+ 18: '0px 7px 34px 6px #{$_ambient-color}',
285
+ 19: '0px 7px 36px 6px #{$_ambient-color}',
286
+ 20: '0px 8px 38px 7px #{$_ambient-color}',
287
+ 21: '0px 8px 40px 7px #{$_ambient-color}',
288
+ 22: '0px 8px 42px 7px #{$_ambient-color}',
289
+ 23: '0px 9px 44px 8px #{$_ambient-color}',
290
+ 24: '0px 9px 46px 8px #{$_ambient-color}'
291
+ );
292
+
293
+
294
+ // The default duration value for elevation transitions.
295
+ $mat-elevation-transition-duration: 280ms !default;
296
+
297
+ // The default easing value for elevation transitions.
298
+ $mat-elevation-transition-timing-function: $mat-fast-out-slow-in-timing-function;
299
+
300
+ // Applies the correct css rules to an element to give it the elevation specified by $zValue.
301
+ // The $zValue must be between 0 and 24.
302
+ @mixin mat-elevation($zValue) {
303
+ @if type-of($zValue) != number or not unitless($zValue) {
304
+ @error '$zValue must be a unitless number';
305
+ }
306
+ @if $zValue < 0 or $zValue > 24 {
307
+ @error '$zValue must be between 0 and 24';
308
+ }
309
+
310
+ box-shadow: #{map-get($_umbra-elevation-map, $zValue)},
311
+ #{map-get($_penumbra-elevation-map, $zValue)},
312
+ #{map-get($_ambient-elevation-map, $zValue)};
313
+ }
314
+
315
+ // Returns a string that can be used as the value for a transition property for elevation.
316
+ // Calling this function directly is useful in situations where a component needs to transition
317
+ // more than one property.
318
+ //
319
+ // .foo {
320
+ // transition: mat-elevation-transition-property-value(), opacity 100ms ease;
321
+ // }
322
+ @function mat-elevation-transition-property-value(
323
+ $duration: $mat-elevation-transition-duration,
324
+ $easing: $mat-elevation-transition-timing-function) {
325
+ @return box-shadow #{$duration} #{$easing};
326
+ }
327
+
328
+ // Applies the correct css rules needed to have an element transition between elevations.
329
+ // This mixin should be applied to elements whose elevation values will change depending on their
330
+ // context (e.g. when active or disabled).
331
+ //
332
+ // NOTE(traviskaufman): Both this mixin and the above function use default parameters so they can
333
+ // be used in the same way by clients.
334
+ @mixin mat-elevation-transition(
335
+ $duration: $mat-elevation-transition-duration,
336
+ $easing: $mat-elevation-transition-timing-function) {
337
+ transition: mat-elevation-transition-property-value($duration, $easing);
338
+ }
339
+
340
+ // Color palettes from the Material Design spec.
341
+ // See https://www.google.com/design/spec/style/color.html
342
+ //
343
+ // Contrast colors are hard-coded because it is too difficult (probably impossible) to
344
+ // calculate them. These contrast colors are pulled from the public Material Design spec swatches.
345
+ // While the contrast colors in the spec are not prescriptive, we use them for convenience.
346
+
347
+
348
+ $black-87-opacity: rgba(black, 0.87);
349
+ $white-87-opacity: rgba(white, 0.87);
350
+ $black-12-opacity: rgba(black, 0.12);
351
+ $white-12-opacity: rgba(white, 0.12);
352
+ $black-6-opacity: rgba(black, 0.06);
353
+ $white-6-opacity: rgba(white, 0.06);
354
+
355
+ $mat-red: (
356
+ 50: #ffebee,
357
+ 100: #ffcdd2,
358
+ 200: #ef9a9a,
359
+ 300: #e57373,
360
+ 400: #ef5350,
361
+ 500: #f44336,
362
+ 600: #e53935,
363
+ 700: #d32f2f,
364
+ 800: #c62828,
365
+ 900: #b71c1c,
366
+ A100: #ff8a80,
367
+ A200: #ff5252,
368
+ A400: #ff1744,
369
+ A700: #d50000,
370
+ contrast: (
371
+ 50: $black-87-opacity,
372
+ 100: $black-87-opacity,
373
+ 200: $black-87-opacity,
374
+ 300: $black-87-opacity,
375
+ 400: $black-87-opacity,
376
+ 500: white,
377
+ 600: white,
378
+ 700: white,
379
+ 800: $white-87-opacity,
380
+ 900: $white-87-opacity,
381
+ A100: $black-87-opacity,
382
+ A200: white,
383
+ A400: white,
384
+ A700: white,
385
+ )
386
+ );
387
+
388
+ $mat-pink: (
389
+ 50: #fce4ec,
390
+ 100: #f8bbd0,
391
+ 200: #f48fb1,
392
+ 300: #f06292,
393
+ 400: #ec407a,
394
+ 500: #e91e63,
395
+ 600: #d81b60,
396
+ 700: #c2185b,
397
+ 800: #ad1457,
398
+ 900: #880e4f,
399
+ A100: #ff80ab,
400
+ A200: #ff4081,
401
+ A400: #f50057,
402
+ A700: #c51162,
403
+ contrast: (
404
+ 50: $black-87-opacity,
405
+ 100: $black-87-opacity,
406
+ 200: $black-87-opacity,
407
+ 300: $black-87-opacity,
408
+ 400: $black-87-opacity,
409
+ 500: white,
410
+ 600: white,
411
+ 700: $white-87-opacity,
412
+ 800: $white-87-opacity,
413
+ 900: $white-87-opacity,
414
+ A100: $black-87-opacity,
415
+ A200: white,
416
+ A400: white,
417
+ A700: white,
418
+ )
419
+ );
420
+
421
+ $mat-purple: (
422
+ 50: #f3e5f5,
423
+ 100: #e1bee7,
424
+ 200: #ce93d8,
425
+ 300: #ba68c8,
426
+ 400: #ab47bc,
427
+ 500: #9c27b0,
428
+ 600: #8e24aa,
429
+ 700: #7b1fa2,
430
+ 800: #6a1b9a,
431
+ 900: #4a148c,
432
+ A100: #ea80fc,
433
+ A200: #e040fb,
434
+ A400: #d500f9,
435
+ A700: #aa00ff,
436
+ contrast: (
437
+ 50: $black-87-opacity,
438
+ 100: $black-87-opacity,
439
+ 200: $black-87-opacity,
440
+ 300: white,
441
+ 400: white,
442
+ 500: $white-87-opacity,
443
+ 600: $white-87-opacity,
444
+ 700: $white-87-opacity,
445
+ 800: $white-87-opacity,
446
+ 900: $white-87-opacity,
447
+ A100: $black-87-opacity,
448
+ A200: white,
449
+ A400: white,
450
+ A700: white,
451
+ )
452
+ );
453
+
454
+ $mat-deep-purple: (
455
+ 50: #ede7f6,
456
+ 100: #d1c4e9,
457
+ 200: #b39ddb,
458
+ 300: #9575cd,
459
+ 400: #7e57c2,
460
+ 500: #673ab7,
461
+ 600: #5e35b1,
462
+ 700: #512da8,
463
+ 800: #4527a0,
464
+ 900: #311b92,
465
+ A100: #b388ff,
466
+ A200: #7c4dff,
467
+ A400: #651fff,
468
+ A700: #6200ea,
469
+ contrast: (
470
+ 50: $black-87-opacity,
471
+ 100: $black-87-opacity,
472
+ 200: $black-87-opacity,
473
+ 300: white,
474
+ 400: white,
475
+ 500: $white-87-opacity,
476
+ 600: $white-87-opacity,
477
+ 700: $white-87-opacity,
478
+ 800: $white-87-opacity,
479
+ 900: $white-87-opacity,
480
+ A100: $black-87-opacity,
481
+ A200: white,
482
+ A400: $white-87-opacity,
483
+ A700: $white-87-opacity,
484
+ )
485
+ );
486
+
487
+ $mat-indigo: (
488
+ 50: #e8eaf6,
489
+ 100: #c5cae9,
490
+ 200: #9fa8da,
491
+ 300: #7986cb,
492
+ 400: #5c6bc0,
493
+ 500: #3f51b5,
494
+ 600: #3949ab,
495
+ 700: #303f9f,
496
+ 800: #283593,
497
+ 900: #1a237e,
498
+ A100: #8c9eff,
499
+ A200: #536dfe,
500
+ A400: #3d5afe,
501
+ A700: #304ffe,
502
+ contrast: (
503
+ 50: $black-87-opacity,
504
+ 100: $black-87-opacity,
505
+ 200: $black-87-opacity,
506
+ 300: white,
507
+ 400: white,
508
+ 500: $white-87-opacity,
509
+ 600: $white-87-opacity,
510
+ 700: $white-87-opacity,
511
+ 800: $white-87-opacity,
512
+ 900: $white-87-opacity,
513
+ A100: $black-87-opacity,
514
+ A200: white,
515
+ A400: white,
516
+ A700: $white-87-opacity,
517
+ )
518
+ );
519
+
520
+ $mat-blue: (
521
+ 50: #e3f2fd,
522
+ 100: #bbdefb,
523
+ 200: #90caf9,
524
+ 300: #64b5f6,
525
+ 400: #42a5f5,
526
+ 500: #2196f3,
527
+ 600: #1e88e5,
528
+ 700: #1976d2,
529
+ 800: #1565c0,
530
+ 900: #0d47a1,
531
+ A100: #82b1ff,
532
+ A200: #448aff,
533
+ A400: #2979ff,
534
+ A700: #2962ff,
535
+ contrast: (
536
+ 50: $black-87-opacity,
537
+ 100: $black-87-opacity,
538
+ 200: $black-87-opacity,
539
+ 300: $black-87-opacity,
540
+ 400: $black-87-opacity,
541
+ 500: white,
542
+ 600: white,
543
+ 700: white,
544
+ 800: $white-87-opacity,
545
+ 900: $white-87-opacity,
546
+ A100: $black-87-opacity,
547
+ A200: white,
548
+ A400: white,
549
+ A700: white,
550
+ )
551
+ );
552
+
553
+ $mat-light-blue: (
554
+ 50: #e1f5fe,
555
+ 100: #b3e5fc,
556
+ 200: #81d4fa,
557
+ 300: #4fc3f7,
558
+ 400: #29b6f6,
559
+ 500: #03a9f4,
560
+ 600: #039be5,
561
+ 700: #0288d1,
562
+ 800: #0277bd,
563
+ 900: #01579b,
564
+ A100: #80d8ff,
565
+ A200: #40c4ff,
566
+ A400: #00b0ff,
567
+ A700: #0091ea,
568
+ contrast: (
569
+ 50: $black-87-opacity,
570
+ 100: $black-87-opacity,
571
+ 200: $black-87-opacity,
572
+ 300: $black-87-opacity,
573
+ 400: $black-87-opacity,
574
+ 500: white,
575
+ 600: white,
576
+ 700: white,
577
+ 800: white,
578
+ 900: $white-87-opacity,
579
+ A100: $black-87-opacity,
580
+ A200: $black-87-opacity,
581
+ A400: $black-87-opacity,
582
+ A700: white,
583
+ )
584
+ );
585
+
586
+ $mat-cyan: (
587
+ 50: #e0f7fa,
588
+ 100: #b2ebf2,
589
+ 200: #80deea,
590
+ 300: #4dd0e1,
591
+ 400: #26c6da,
592
+ 500: #00bcd4,
593
+ 600: #00acc1,
594
+ 700: #0097a7,
595
+ 800: #00838f,
596
+ 900: #006064,
597
+ A100: #84ffff,
598
+ A200: #18ffff,
599
+ A400: #00e5ff,
600
+ A700: #00b8d4,
601
+ contrast: (
602
+ 50: $black-87-opacity,
603
+ 100: $black-87-opacity,
604
+ 200: $black-87-opacity,
605
+ 300: $black-87-opacity,
606
+ 400: $black-87-opacity,
607
+ 500: white,
608
+ 600: white,
609
+ 700: white,
610
+ 800: white,
611
+ 900: $white-87-opacity,
612
+ A100: $black-87-opacity,
613
+ A200: $black-87-opacity,
614
+ A400: $black-87-opacity,
615
+ A700: $black-87-opacity,
616
+ )
617
+ );
618
+
619
+ $mat-teal: (
620
+ 50: #e0f2f1,
621
+ 100: #b2dfdb,
622
+ 200: #80cbc4,
623
+ 300: #4db6ac,
624
+ 400: #26a69a,
625
+ 500: #009688,
626
+ 600: #00897b,
627
+ 700: #00796b,
628
+ 800: #00695c,
629
+ 900: #004d40,
630
+ A100: #a7ffeb,
631
+ A200: #64ffda,
632
+ A400: #1de9b6,
633
+ A700: #00bfa5,
634
+ contrast: (
635
+ 50: $black-87-opacity,
636
+ 100: $black-87-opacity,
637
+ 200: $black-87-opacity,
638
+ 300: $black-87-opacity,
639
+ 400: $black-87-opacity,
640
+ 500: white,
641
+ 600: white,
642
+ 700: white,
643
+ 800: $white-87-opacity,
644
+ 900: $white-87-opacity,
645
+ A100: $black-87-opacity,
646
+ A200: $black-87-opacity,
647
+ A400: $black-87-opacity,
648
+ A700: $black-87-opacity,
649
+ )
650
+ );
651
+
652
+ $mat-green: (
653
+ 50: #e8f5e9,
654
+ 100: #c8e6c9,
655
+ 200: #a5d6a7,
656
+ 300: #81c784,
657
+ 400: #66bb6a,
658
+ 500: #4caf50,
659
+ 600: #43a047,
660
+ 700: #388e3c,
661
+ 800: #2e7d32,
662
+ 900: #1b5e20,
663
+ A100: #b9f6ca,
664
+ A200: #69f0ae,
665
+ A400: #00e676,
666
+ A700: #00c853,
667
+ contrast: (
668
+ 50: $black-87-opacity,
669
+ 100: $black-87-opacity,
670
+ 200: $black-87-opacity,
671
+ 300: $black-87-opacity,
672
+ 400: $black-87-opacity,
673
+ 500: white,
674
+ 600: white,
675
+ 700: white,
676
+ 800: $white-87-opacity,
677
+ 900: $white-87-opacity,
678
+ A100: $black-87-opacity,
679
+ A200: $black-87-opacity,
680
+ A400: $black-87-opacity,
681
+ A700: $black-87-opacity,
682
+ )
683
+ );
684
+
685
+ $mat-light-green: (
686
+ 50: #f1f8e9,
687
+ 100: #dcedc8,
688
+ 200: #c5e1a5,
689
+ 300: #aed581,
690
+ 400: #9ccc65,
691
+ 500: #8bc34a,
692
+ 600: #7cb342,
693
+ 700: #689f38,
694
+ 800: #558b2f,
695
+ 900: #33691e,
696
+ A100: #ccff90,
697
+ A200: #b2ff59,
698
+ A400: #76ff03,
699
+ A700: #64dd17,
700
+ contrast: (
701
+ 50: $black-87-opacity,
702
+ 100: $black-87-opacity,
703
+ 200: $black-87-opacity,
704
+ 300: $black-87-opacity,
705
+ 400: $black-87-opacity,
706
+ 500: $black-87-opacity,
707
+ 600: $black-87-opacity,
708
+ 700: white,
709
+ 800: white,
710
+ 900: white,
711
+ A100: $black-87-opacity,
712
+ A200: $black-87-opacity,
713
+ A400: $black-87-opacity,
714
+ A700: $black-87-opacity,
715
+ )
716
+ );
717
+
718
+ $mat-lime: (
719
+ 50: #f9fbe7,
720
+ 100: #f0f4c3,
721
+ 200: #e6ee9c,
722
+ 300: #dce775,
723
+ 400: #d4e157,
724
+ 500: #cddc39,
725
+ 600: #c0ca33,
726
+ 700: #afb42b,
727
+ 800: #9e9d24,
728
+ 900: #827717,
729
+ A100: #f4ff81,
730
+ A200: #eeff41,
731
+ A400: #c6ff00,
732
+ A700: #aeea00,
733
+ contrast: (
734
+ 50: $black-87-opacity,
735
+ 100: $black-87-opacity,
736
+ 200: $black-87-opacity,
737
+ 300: $black-87-opacity,
738
+ 400: $black-87-opacity,
739
+ 500: $black-87-opacity,
740
+ 600: $black-87-opacity,
741
+ 700: $black-87-opacity,
742
+ 800: $black-87-opacity,
743
+ 900: white,
744
+ A100: $black-87-opacity,
745
+ A200: $black-87-opacity,
746
+ A400: $black-87-opacity,
747
+ A700: $black-87-opacity,
748
+ )
749
+ );
750
+
751
+ $mat-yellow: (
752
+ 50: #fffde7,
753
+ 100: #fff9c4,
754
+ 200: #fff59d,
755
+ 300: #fff176,
756
+ 400: #ffee58,
757
+ 500: #ffeb3b,
758
+ 600: #fdd835,
759
+ 700: #fbc02d,
760
+ 800: #f9a825,
761
+ 900: #f57f17,
762
+ A100: #ffff8d,
763
+ A200: #ffff00,
764
+ A400: #ffea00,
765
+ A700: #ffd600,
766
+ contrast: (
767
+ 50: $black-87-opacity,
768
+ 100: $black-87-opacity,
769
+ 200: $black-87-opacity,
770
+ 300: $black-87-opacity,
771
+ 400: $black-87-opacity,
772
+ 500: $black-87-opacity,
773
+ 600: $black-87-opacity,
774
+ 700: $black-87-opacity,
775
+ 800: $black-87-opacity,
776
+ 900: $black-87-opacity,
777
+ A100: $black-87-opacity,
778
+ A200: $black-87-opacity,
779
+ A400: $black-87-opacity,
780
+ A700: $black-87-opacity,
781
+ )
782
+ );
783
+
784
+ $mat-amber: (
785
+ 50: #fff8e1,
786
+ 100: #ffecb3,
787
+ 200: #ffe082,
788
+ 300: #ffd54f,
789
+ 400: #ffca28,
790
+ 500: #ffc107,
791
+ 600: #ffb300,
792
+ 700: #ffa000,
793
+ 800: #ff8f00,
794
+ 900: #ff6f00,
795
+ A100: #ffe57f,
796
+ A200: #ffd740,
797
+ A400: #ffc400,
798
+ A700: #ffab00,
799
+ contrast: (
800
+ 50: $black-87-opacity,
801
+ 100: $black-87-opacity,
802
+ 200: $black-87-opacity,
803
+ 300: $black-87-opacity,
804
+ 400: $black-87-opacity,
805
+ 500: $black-87-opacity,
806
+ 600: $black-87-opacity,
807
+ 700: $black-87-opacity,
808
+ 800: $black-87-opacity,
809
+ 900: $black-87-opacity,
810
+ A100: $black-87-opacity,
811
+ A200: $black-87-opacity,
812
+ A400: $black-87-opacity,
813
+ A700: $black-87-opacity,
814
+ )
815
+ );
816
+
817
+ $mat-orange: (
818
+ 50: #fff3e0,
819
+ 100: #ffe0b2,
820
+ 200: #ffcc80,
821
+ 300: #ffb74d,
822
+ 400: #ffa726,
823
+ 500: #ff9800,
824
+ 600: #fb8c00,
825
+ 700: #f57c00,
826
+ 800: #ef6c00,
827
+ 900: #e65100,
828
+ A100: #ffd180,
829
+ A200: #ffab40,
830
+ A400: #ff9100,
831
+ A700: #ff6d00,
832
+ contrast: (
833
+ 50: $black-87-opacity,
834
+ 100: $black-87-opacity,
835
+ 200: $black-87-opacity,
836
+ 300: $black-87-opacity,
837
+ 400: $black-87-opacity,
838
+ 500: $black-87-opacity,
839
+ 600: $black-87-opacity,
840
+ 700: $black-87-opacity,
841
+ 800: white,
842
+ 900: white,
843
+ A100: $black-87-opacity,
844
+ A200: $black-87-opacity,
845
+ A400: $black-87-opacity,
846
+ A700: black,
847
+ )
848
+ );
849
+
850
+ $mat-deep-orange: (
851
+ 50: #fbe9e7,
852
+ 100: #ffccbc,
853
+ 200: #ffab91,
854
+ 300: #ff8a65,
855
+ 400: #ff7043,
856
+ 500: #ff5722,
857
+ 600: #f4511e,
858
+ 700: #e64a19,
859
+ 800: #d84315,
860
+ 900: #bf360c,
861
+ A100: #ff9e80,
862
+ A200: #ff6e40,
863
+ A400: #ff3d00,
864
+ A700: #dd2c00,
865
+ contrast: (
866
+ 50: $black-87-opacity,
867
+ 100: $black-87-opacity,
868
+ 200: $black-87-opacity,
869
+ 300: $black-87-opacity,
870
+ 400: $black-87-opacity,
871
+ 500: white,
872
+ 600: white,
873
+ 700: white,
874
+ 800: white,
875
+ 900: white,
876
+ A100: $black-87-opacity,
877
+ A200: $black-87-opacity,
878
+ A400: white,
879
+ A700: white,
880
+ )
881
+ );
882
+
883
+ $mat-brown: (
884
+ 50: #efebe9,
885
+ 100: #d7ccc8,
886
+ 200: #bcaaa4,
887
+ 300: #a1887f,
888
+ 400: #8d6e63,
889
+ 500: #795548,
890
+ 600: #6d4c41,
891
+ 700: #5d4037,
892
+ 800: #4e342e,
893
+ 900: #3e2723,
894
+ A100: #d7ccc8,
895
+ A200: #bcaaa4,
896
+ A400: #8d6e63,
897
+ A700: #5d4037,
898
+ contrast: (
899
+ 50: $black-87-opacity,
900
+ 100: $black-87-opacity,
901
+ 200: $black-87-opacity,
902
+ 300: white,
903
+ 400: white,
904
+ 500: $white-87-opacity,
905
+ 600: $white-87-opacity,
906
+ 700: $white-87-opacity,
907
+ 800: $white-87-opacity,
908
+ 900: $white-87-opacity,
909
+ A100: $black-87-opacity,
910
+ A200: $black-87-opacity,
911
+ A400: white,
912
+ A700: $white-87-opacity,
913
+ )
914
+ );
915
+
916
+ $mat-grey: (
917
+ 50: #fafafa,
918
+ 100: #f5f5f5,
919
+ 200: #eeeeee,
920
+ 300: #e0e0e0,
921
+ 400: #bdbdbd,
922
+ 500: #9e9e9e,
923
+ 600: #757575,
924
+ 700: #616161,
925
+ 800: #424242,
926
+ 900: #212121,
927
+ A100: #ffffff,
928
+ A200: #eeeeee,
929
+ A400: #bdbdbd,
930
+ A700: #616161,
931
+ contrast: (
932
+ 50: $black-87-opacity,
933
+ 100: $black-87-opacity,
934
+ 200: $black-87-opacity,
935
+ 300: $black-87-opacity,
936
+ 400: $black-87-opacity,
937
+ 500: $black-87-opacity,
938
+ 600: $white-87-opacity,
939
+ 700: $white-87-opacity,
940
+ 800: $white-87-opacity,
941
+ 900: $white-87-opacity,
942
+ A100: $black-87-opacity,
943
+ A200: $black-87-opacity,
944
+ A400: $black-87-opacity,
945
+ A700: $white-87-opacity,
946
+ )
947
+ );
948
+
949
+ $mat-blue-grey: (
950
+ 50: #eceff1,
951
+ 100: #cfd8dc,
952
+ 200: #b0bec5,
953
+ 300: #90a4ae,
954
+ 400: #78909c,
955
+ 500: #607d8b,
956
+ 600: #546e7a,
957
+ 700: #455a64,
958
+ 800: #37474f,
959
+ 900: #263238,
960
+ A100: #cfd8dc,
961
+ A200: #b0bec5,
962
+ A400: #78909c,
963
+ A700: #455a64,
964
+ contrast: (
965
+ 50: $black-87-opacity,
966
+ 100: $black-87-opacity,
967
+ 200: $black-87-opacity,
968
+ 300: $black-87-opacity,
969
+ 400: white,
970
+ 500: white,
971
+ 600: $white-87-opacity,
972
+ 700: $white-87-opacity,
973
+ 800: $white-87-opacity,
974
+ 900: $white-87-opacity,
975
+ A100: $black-87-opacity,
976
+ A200: $black-87-opacity,
977
+ A400: white,
978
+ A700: $white-87-opacity,
979
+ )
980
+ );
981
+
982
+
983
+ // Background palette for light themes.
984
+ $mat-light-theme-background: (
985
+ status-bar: map_get($mat-grey, 300),
986
+ app-bar: map_get($mat-grey, 100),
987
+ background: map_get($mat-grey, 50),
988
+ hover: rgba(black, 0.04), // TODO(kara): check style with Material Design UX
989
+ card: white,
990
+ dialog: white,
991
+ disabled-button: $black-12-opacity,
992
+ raised-button: white,
993
+ focused-button: $black-6-opacity,
994
+ selected-button: map_get($mat-grey, 300),
995
+ selected-disabled-button: map_get($mat-grey, 400),
996
+ disabled-button-toggle: map_get($mat-grey, 200),
997
+ unselected-chip: map_get($mat-grey, 300),
998
+ disabled-list-option: map_get($mat-grey, 200),
999
+ );
1000
+
1001
+ // Background palette for dark themes.
1002
+ $mat-dark-theme-background: (
1003
+ status-bar: black,
1004
+ app-bar: map_get($mat-grey, 900),
1005
+ background: #303030,
1006
+ hover: rgba(white, 0.04), // TODO(kara): check style with Material Design UX
1007
+ card: map_get($mat-grey, 800),
1008
+ dialog: map_get($mat-grey, 800),
1009
+ disabled-button: $white-12-opacity,
1010
+ raised-button: map-get($mat-grey, 800),
1011
+ focused-button: $white-6-opacity,
1012
+ selected-button: map_get($mat-grey, 900),
1013
+ selected-disabled-button: map_get($mat-grey, 800),
1014
+ disabled-button-toggle: black,
1015
+ unselected-chip: map_get($mat-grey, 700),
1016
+ disabled-list-option: black,
1017
+ );
1018
+
1019
+ // Foreground palette for light themes.
1020
+ $mat-light-theme-foreground: (
1021
+ base: black,
1022
+ divider: $black-12-opacity,
1023
+ dividers: $black-12-opacity,
1024
+ disabled: rgba(black, 0.38),
1025
+ disabled-button: rgba(black, 0.38),
1026
+ disabled-text: rgba(black, 0.38),
1027
+ hint-text: rgba(black, 0.38),
1028
+ secondary-text: rgba(black, 0.54),
1029
+ icon: rgba(black, 0.54),
1030
+ icons: rgba(black, 0.54),
1031
+ text: rgba(black, 0.87),
1032
+ slider-min: rgba(black, 0.87),
1033
+ slider-off: rgba(black, 0.26),
1034
+ slider-off-active: rgba(black, 0.38),
1035
+ );
1036
+
1037
+ // Foreground palette for dark themes.
1038
+ $mat-dark-theme-foreground: (
1039
+ base: white,
1040
+ divider: $white-12-opacity,
1041
+ dividers: $white-12-opacity,
1042
+ disabled: rgba(white, 0.3),
1043
+ disabled-button: rgba(white, 0.3),
1044
+ disabled-text: rgba(white, 0.3),
1045
+ hint-text: rgba(white, 0.3),
1046
+ secondary-text: rgba(white, 0.7),
1047
+ icon: white,
1048
+ icons: white,
1049
+ text: white,
1050
+ slider-min: white,
1051
+ slider-off: rgba(white, 0.3),
1052
+ slider-off-active: rgba(white, 0.3),
1053
+ );
1054
+
1055
+
1056
+
1057
+ // For a given hue in a palette, return the contrast color from the map of contrast palettes.
1058
+ // @param $color-map
1059
+ // @param $hue
1060
+ @function mat-contrast($palette, $hue) {
1061
+ @return map-get(map-get($palette, contrast), $hue);
1062
+ }
1063
+
1064
+
1065
+ // Creates a map of hues to colors for a theme. This is used to define a theme palette in terms
1066
+ // of the Material Design hues.
1067
+ // @param $color-map
1068
+ // @param $primary
1069
+ // @param $lighter
1070
+ @function mat-palette($base-palette, $default: 500, $lighter: 100, $darker: 700) {
1071
+ $result: map_merge($base-palette, (
1072
+ default: map-get($base-palette, $default),
1073
+ lighter: map-get($base-palette, $lighter),
1074
+ darker: map-get($base-palette, $darker),
1075
+
1076
+ default-contrast: mat-contrast($base-palette, $default),
1077
+ lighter-contrast: mat-contrast($base-palette, $lighter),
1078
+ darker-contrast: mat-contrast($base-palette, $darker)
1079
+ ));
1080
+
1081
+ // For each hue in the palette, add a "-contrast" color to the map.
1082
+ @each $hue, $color in $base-palette {
1083
+ $result: map_merge($result, (
1084
+ '#{$hue}-contrast': mat-contrast($base-palette, $hue)
1085
+ ));
1086
+ }
1087
+
1088
+ @return $result;
1089
+ }
1090
+
1091
+
1092
+ // Gets a color from a theme palette (the output of mat-palette).
1093
+ // The hue can be one of the standard values (500, A400, etc.), one of the three preconfigured
1094
+ // hues (default, lighter, darker), or any of the aforementioned prefixed with "-contrast".
1095
+ //
1096
+ // @param $color-map The theme palette (output of mat-palette).
1097
+ // @param $hue The hue from the palette to use. If this is a value between 0 and 1, it will
1098
+ // be treated as opacity.
1099
+ // @param $opacity The alpha channel value for the color.
1100
+ @function mat-color($palette, $hue: default, $opacity: null) {
1101
+ // If hueKey is a number between zero and one, then it actually contains an
1102
+ // opacity value, so recall this function with the default hue and that given opacity.
1103
+ @if type-of($hue) == number and $hue >= 0 and $hue <= 1 {
1104
+ @return mat-color($palette, default, $hue);
1105
+ }
1106
+
1107
+ $color: map-get($palette, $hue);
1108
+ $opacity: if($opacity == null, opacity($color), $opacity);
1109
+
1110
+ @return rgba($color, $opacity);
1111
+ }
1112
+
1113
+
1114
+ // Creates a container object for a light theme to be given to individual component theme mixins.
1115
+ @function mat-light-theme($primary, $accent, $warn: mat-palette($mat-red)) {
1116
+ @return (
1117
+ primary: $primary,
1118
+ accent: $accent,
1119
+ warn: $warn,
1120
+ is-dark: false,
1121
+ foreground: $mat-light-theme-foreground,
1122
+ background: $mat-light-theme-background,
1123
+ );
1124
+ }
1125
+
1126
+
1127
+ // Creates a container object for a dark theme to be given to individual component theme mixins.
1128
+ @function mat-dark-theme($primary, $accent, $warn: mat-palette($mat-red)) {
1129
+ @return (
1130
+ primary: $primary,
1131
+ accent: $accent,
1132
+ warn: $warn,
1133
+ is-dark: true,
1134
+ foreground: $mat-dark-theme-foreground,
1135
+ background: $mat-dark-theme-background,
1136
+ );
1137
+ }
1138
+
1139
+
1140
+
1141
+ $mat-ripple-color-opacity: 0.1;
1142
+
1143
+ @mixin mat-ripple() {
1144
+ // The host element of an md-ripple directive should always have a position of "absolute" or
1145
+ // "relative" so that the ripple divs it creates inside itself are correctly positioned.
1146
+ .mat-ripple {
1147
+ overflow: hidden;
1148
+
1149
+ // In high contrast mode the ripple is opaque, causing it to obstruct the content.
1150
+ @include cdk-high-contrast {
1151
+ display: none;
1152
+ }
1153
+ }
1154
+
1155
+ .mat-ripple.mat-ripple-unbounded {
1156
+ overflow: visible;
1157
+ }
1158
+
1159
+ .mat-ripple-element {
1160
+ position: absolute;
1161
+ border-radius: 50%;
1162
+ pointer-events: none;
1163
+
1164
+ transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);
1165
+ transform: scale(0);
1166
+ }
1167
+ }
1168
+
1169
+ /* Theme for the ripple elements.*/
1170
+ @mixin mat-ripple-theme($theme) {
1171
+ $foreground: map_get($theme, foreground);
1172
+ $foreground-base: map_get($foreground, base);
1173
+
1174
+ .mat-ripple-element {
1175
+ background-color: rgba($foreground-base, $mat-ripple-color-opacity);
1176
+ }
1177
+ }
1178
+
1179
+
1180
+
1181
+ // This mixin will ensure that lines that overflow the container will hide the overflow and
1182
+ // truncate neatly with an ellipsis.
1183
+ @mixin mat-truncate-line() {
1184
+ white-space: nowrap;
1185
+ overflow: hidden;
1186
+ text-overflow: ellipsis;
1187
+ }
1188
+
1189
+ // Mixin to provide all mat-line styles, changing secondary font size based on whether the list
1190
+ // is in dense mode.
1191
+ @mixin mat-line-base($secondary-font-size) {
1192
+ .mat-line {
1193
+ @include mat-truncate-line();
1194
+ display: block;
1195
+ box-sizing: border-box;
1196
+
1197
+ // all lines but the top line should have smaller text
1198
+ &:nth-child(n+2) {
1199
+ font-size: $secondary-font-size;
1200
+ }
1201
+ }
1202
+ }
1203
+
1204
+ // This mixin normalizes default element styles, e.g. font weight for heading text.
1205
+ @mixin mat-normalize-text() {
1206
+ & > * {
1207
+ margin: 0;
1208
+ padding: 0;
1209
+ font-weight: normal;
1210
+ font-size: inherit;
1211
+ }
1212
+ }
1213
+
1214
+ // This mixin provides base styles for the wrapper around mat-line elements in a list.
1215
+ @mixin mat-line-wrapper-base() {
1216
+ @include mat-normalize-text();
1217
+
1218
+ display: flex;
1219
+ flex-direction: column;
1220
+ width: 100%;
1221
+ box-sizing: border-box;
1222
+ overflow: hidden;
1223
+
1224
+ // Must remove wrapper when lines are empty or it takes up horizontal
1225
+ // space and pushes other elements to the right.
1226
+ &:empty {
1227
+ display: none;
1228
+ }
1229
+ }
1230
+
1231
+
1232
+ /** The mixins below are shared between md-menu and md-select */
1233
+
1234
+ // menu width must be a multiple of 56px
1235
+ $mat-menu-overlay-min-width: 112px !default; // 56 * 2
1236
+ $mat-menu-overlay-max-width: 280px !default; // 56 * 5
1237
+
1238
+ $mat-menu-item-height: 48px !default;
1239
+ $mat-menu-side-padding: 16px !default;
1240
+ $mat-menu-icon-margin: 16px !default;
1241
+
1242
+
1243
+ @mixin mat-menu-base($default-elevation) {
1244
+ min-width: $mat-menu-overlay-min-width;
1245
+ max-width: $mat-menu-overlay-max-width;
1246
+
1247
+ // Allow elevation to be overwritten.
1248
+ &:not([class*='mat-elevation-z']) {
1249
+ @include mat-elevation($default-elevation);
1250
+ }
1251
+
1252
+ overflow: auto;
1253
+ -webkit-overflow-scrolling: touch; // for momentum scroll on mobile
1254
+ }
1255
+
1256
+ @mixin mat-menu-item-base() {
1257
+ @include mat-truncate-line();
1258
+
1259
+ // Needs to be a block for the ellipsis to work.
1260
+ display: block;
1261
+ line-height: $mat-menu-item-height;
1262
+ height: $mat-menu-item-height;
1263
+ padding: 0 $mat-menu-side-padding;
1264
+
1265
+ text-align: left;
1266
+ text-decoration: none; // necessary to reset anchor tags
1267
+
1268
+ &[disabled] {
1269
+ cursor: default;
1270
+ }
1271
+
1272
+ [dir='rtl'] & {
1273
+ text-align: right;
1274
+ }
1275
+
1276
+ .mat-icon {
1277
+ margin-right: $mat-menu-icon-margin;
1278
+
1279
+ [dir='rtl'] & {
1280
+ margin-left: $mat-menu-icon-margin;
1281
+ margin-right: 0;
1282
+ }
1283
+ }
1284
+ }
1285
+
1286
+ /**
1287
+ * This mixin adds the correct panel transform styles based
1288
+ * on the direction that the menu panel opens.
1289
+ */
1290
+ @mixin mat-menu-positions() {
1291
+ &.mat-menu-after.mat-menu-below {
1292
+ transform-origin: left top;
1293
+ }
1294
+
1295
+ &.mat-menu-after.mat-menu-above {
1296
+ transform-origin: left bottom;
1297
+ }
1298
+
1299
+ &.mat-menu-before.mat-menu-below {
1300
+ transform-origin: right top;
1301
+ }
1302
+
1303
+ &.mat-menu-before.mat-menu-above {
1304
+ transform-origin: right bottom;
1305
+ }
1306
+
1307
+ [dir='rtl'] & {
1308
+ &.mat-menu-after.mat-menu-below {
1309
+ transform-origin: right top;
1310
+ }
1311
+
1312
+ &.mat-menu-after.mat-menu-above {
1313
+ transform-origin: right bottom;
1314
+ }
1315
+
1316
+ &.mat-menu-before.mat-menu-below {
1317
+ transform-origin: left top;
1318
+ }
1319
+
1320
+ &.mat-menu-before.mat-menu-above {
1321
+ transform-origin: left bottom;
1322
+ }
1323
+ }
1324
+ }
1325
+
1326
+ /* stylelint-disable material/no-prefixes */
1327
+ @mixin user-select($value) {
1328
+ -webkit-user-select: none;
1329
+ -moz-user-select: none;
1330
+ -ms-user-select: none;
1331
+ user-select: none;
1332
+ }
1333
+
1334
+ @mixin input-placeholder {
1335
+ &::placeholder {
1336
+ @content;
1337
+ }
1338
+
1339
+ &::-moz-placeholder {
1340
+ @content;
1341
+ }
1342
+
1343
+ &::-webkit-input-placeholder {
1344
+ @content;
1345
+ }
1346
+
1347
+ &:-ms-input-placeholder {
1348
+ @content;
1349
+ }
1350
+ }
1351
+
1352
+ @mixin cursor-grab {
1353
+ cursor: -webkit-grab;
1354
+ cursor: grab;
1355
+ }
1356
+
1357
+ @mixin cursor-grabbing {
1358
+ cursor: -webkit-grabbing;
1359
+ cursor: grabbing;
1360
+ }
1361
+
1362
+ @mixin backface-visibility($value) {
1363
+ -webkit-backface-visibility: $value;
1364
+ backface-visibility: $value;
1365
+ }
1366
+ /* stylelint-enable */
1367
+
1368
+
1369
+ // This mixin ensures an element spans to fill the nearest ancestor with defined positioning.
1370
+ @mixin mat-fill {
1371
+ top: 0;
1372
+ left: 0;
1373
+ right: 0;
1374
+ bottom: 0;
1375
+ position: absolute;
1376
+ }
1377
+
1378
+
1379
+ /**
1380
+ * This mixin contains shared option styles between the select and
1381
+ * autocomplete components.
1382
+ */
1383
+ @mixin mat-option() {
1384
+ .mat-option {
1385
+ @include mat-menu-item-base();
1386
+ position: relative;
1387
+ cursor: pointer;
1388
+ outline: none;
1389
+
1390
+ &[aria-disabled='true'] {
1391
+ @include user-select(none);
1392
+ cursor: default;
1393
+ }
1394
+
1395
+ .mat-optgroup &:not(.mat-option-multiple) {
1396
+ padding-left: $mat-menu-side-padding * 2;
1397
+
1398
+ [dir='rtl'] & {
1399
+ padding-left: $mat-menu-side-padding;
1400
+ padding-right: $mat-menu-side-padding * 2;
1401
+ }
1402
+ }
1403
+ }
1404
+
1405
+ .mat-option-ripple {
1406
+ @include mat-fill;
1407
+
1408
+ // Disable pointer events for the ripple container because the container will overlay the
1409
+ // user content and we don't want to disable mouse events on the user content.
1410
+ // Pointer events can be safely disabled because the ripple trigger element is the host element.
1411
+ pointer-events: none;
1412
+
1413
+ // Prevents the ripple from completely covering the option in high contrast mode.
1414
+ @include cdk-high-contrast {
1415
+ opacity: 0.5;
1416
+ }
1417
+ }
1418
+
1419
+ .mat-option-pseudo-checkbox {
1420
+ $margin: $mat-menu-side-padding / 2;
1421
+ margin-right: $margin;
1422
+
1423
+ [dir='rtl'] & {
1424
+ margin-left: $margin;
1425
+ margin-right: 0;
1426
+ }
1427
+ }
1428
+ }
1429
+
1430
+
1431
+
1432
+
1433
+ // Utility for fetching a nested value from a typography config.
1434
+ @function _mat-get-type-value($config, $level, $name) {
1435
+ @return map-get(map-get($config, $level), $name);
1436
+ }
1437
+
1438
+ // Gets the font size for a level inside a typography config.
1439
+ @function mat-font-size($config, $level) {
1440
+ @return _mat-get-type-value($config, $level, font-size);
1441
+ }
1442
+
1443
+ // Gets the line height for a level inside a typography config.
1444
+ @function mat-line-height($config, $level) {
1445
+ @return _mat-get-type-value($config, $level, line-height);
1446
+ }
1447
+
1448
+ // Gets the font weight for a level inside a typography config.
1449
+ @function mat-font-weight($config, $level) {
1450
+ @return _mat-get-type-value($config, $level, font-weight);
1451
+ }
1452
+
1453
+ // Gets the font-family from a typography config and removes the quotes around it.
1454
+ @function mat-font-family($config, $level: null) {
1455
+ $font-family: map-get($config, font-family);
1456
+
1457
+ @if $level != null {
1458
+ $font-family: _mat-get-type-value($config, $level, font-family);
1459
+ }
1460
+
1461
+ @return unquote($font-family);
1462
+ }
1463
+
1464
+ // Converts a typography level into CSS styles.
1465
+ @mixin mat-typography-level-to-styles($config, $level) {
1466
+ $font-size: mat-font-size($config, $level);
1467
+ $font-weight: mat-font-weight($config, $level);
1468
+ $line-height: mat-line-height($config, $level);
1469
+ $font-family: mat-font-family($config, $level);
1470
+
1471
+ // Use the shorthand `font` to represent a typography level, because it's the shortest. Notes that
1472
+ // we need to use interpolation for `font-size/line-height` in order to prevent SASS from dividing
1473
+ // the two values.
1474
+ font: $font-weight #{$font-size}/#{$line-height} $font-family;
1475
+ }
1476
+
1477
+
1478
+ @mixin mat-option-theme($theme) {
1479
+ $foreground: map-get($theme, foreground);
1480
+ $background: map-get($theme, background);
1481
+ $primary: map-get($theme, primary);
1482
+ $accent: map-get($theme, accent);
1483
+ $warn: map-get($theme, warn);
1484
+
1485
+ .mat-option {
1486
+ color: mat-color($foreground, text);
1487
+
1488
+ &:hover:not(.mat-option-disabled),
1489
+ &:focus:not(.mat-option-disabled) {
1490
+ background: mat-color($background, hover);
1491
+ }
1492
+
1493
+ .mat-primary &.mat-selected:not(.mat-option-disabled) {
1494
+ color: mat-color($primary);
1495
+ }
1496
+
1497
+ .mat-accent &.mat-selected:not(.mat-option-disabled) {
1498
+ color: mat-color($accent);
1499
+ }
1500
+
1501
+ .mat-warn &.mat-selected:not(.mat-option-disabled) {
1502
+ color: mat-color($warn);
1503
+ }
1504
+
1505
+ // In multiple mode there is a checkbox to show that the option is selected.
1506
+ &.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {
1507
+ background: mat-color($background, hover);
1508
+ }
1509
+
1510
+ &.mat-active {
1511
+ background: mat-color($background, hover);
1512
+ color: mat-color($foreground, text);
1513
+ }
1514
+
1515
+ &.mat-option-disabled {
1516
+ color: mat-color($foreground, hint-text);
1517
+ }
1518
+ }
1519
+ }
1520
+
1521
+ @mixin mat-option-typography($config) {
1522
+ .mat-option {
1523
+ font: {
1524
+ family: mat-font-family($config, subheading-2);
1525
+ size: mat-font-size($config, subheading-2);
1526
+ }
1527
+ }
1528
+ }
1529
+
1530
+
1531
+
1532
+
1533
+ @mixin mat-optgroup() {
1534
+ .mat-optgroup-label {
1535
+ @include mat-menu-item-base();
1536
+ @include user-select(none);
1537
+ cursor: default;
1538
+ }
1539
+ }
1540
+
1541
+
1542
+
1543
+
1544
+
1545
+ @mixin mat-optgroup-theme($theme) {
1546
+ $foreground: map-get($theme, foreground);
1547
+
1548
+ .mat-optgroup-label {
1549
+ color: mat-color($foreground, secondary-text);
1550
+ }
1551
+
1552
+ .mat-optgroup-disabled .mat-optgroup-label {
1553
+ color: mat-color($foreground, hint-text);
1554
+ }
1555
+ }
1556
+
1557
+ @mixin mat-optgroup-typography($config) {
1558
+ .mat-optgroup-label {
1559
+ @include mat-typography-level-to-styles($config, body-2);
1560
+ }
1561
+ }
1562
+
1563
+
1564
+
1565
+ @mixin mat-pseudo-checkbox-theme($theme) {
1566
+ $is-dark-theme: map-get($theme, is-dark);
1567
+ $primary: map-get($theme, primary);
1568
+ $accent: map-get($theme, accent);
1569
+ $warn: map-get($theme, warn);
1570
+ $background: map-get($theme, background);
1571
+
1572
+ // NOTE(traviskaufman): While the spec calls for translucent blacks/whites for disabled colors,
1573
+ // this does not work well with elements layered on top of one another. To get around this we
1574
+ // blend the colors together based on the base color and the theme background.
1575
+ $white-30pct-opacity-on-dark: #686868;
1576
+ $black-26pct-opacity-on-light: #b0b0b0;
1577
+ $disabled-color: if($is-dark-theme, $white-30pct-opacity-on-dark, $black-26pct-opacity-on-light);
1578
+ $colored-box-selector: '.mat-pseudo-checkbox-checked, .mat-pseudo-checkbox-indeterminate';
1579
+
1580
+ .mat-pseudo-checkbox {
1581
+ color: mat-color(map-get($theme, foreground), secondary-text);
1582
+
1583
+ &::after {
1584
+ color: mat-color($background, background);
1585
+ }
1586
+ }
1587
+
1588
+ // Default to the accent color. Note that the pseudo checkboxes are meant to inherit the
1589
+ // theme from their parent, rather than implementing their own theming, which is why we
1590
+ // don't attach to the `mat-*` classes.
1591
+ .mat-pseudo-checkbox-checked,
1592
+ .mat-pseudo-checkbox-indeterminate,
1593
+ .mat-accent .mat-pseudo-checkbox-checked,
1594
+ .mat-accent .mat-pseudo-checkbox-indeterminate {
1595
+ background: mat-color(map-get($theme, accent));
1596
+ }
1597
+
1598
+ .mat-primary .mat-pseudo-checkbox-checked,
1599
+ .mat-primary .mat-pseudo-checkbox-indeterminate {
1600
+ background: mat-color(map-get($theme, primary));
1601
+ }
1602
+
1603
+ .mat-warn .mat-pseudo-checkbox-checked,
1604
+ .mat-warn .mat-pseudo-checkbox-indeterminate {
1605
+ background: mat-color(map-get($theme, warn));
1606
+ }
1607
+
1608
+ .mat-pseudo-checkbox-checked,
1609
+ .mat-pseudo-checkbox-indeterminate {
1610
+ &.mat-pseudo-checkbox-disabled {
1611
+ background: $disabled-color;
1612
+ }
1613
+ }
1614
+ }
1615
+
1616
+
1617
+
1618
+ // Represents a typography level from the Material design spec.
1619
+ @function mat-typography-level(
1620
+ $font-size,
1621
+ $line-height: $font-size,
1622
+ $font-weight: 400,
1623
+ $font-family: null) {
1624
+
1625
+ @return (
1626
+ font-size: $font-size,
1627
+ line-height: $line-height,
1628
+ font-weight: $font-weight,
1629
+ font-family: $font-family
1630
+ );
1631
+ }
1632
+
1633
+ // Represents a collection of typography levels.
1634
+ // Defaults come from https://material.io/guidelines/style/typography.html
1635
+ @function mat-typography-config(
1636
+ $font-family: 'Roboto, "Helvetica Neue", sans-serif',
1637
+ $display-4: mat-typography-level(112px, 112px, 300),
1638
+ $display-3: mat-typography-level(56px, 56px, 400),
1639
+ $display-2: mat-typography-level(45px, 48px, 400),
1640
+ $display-1: mat-typography-level(34px, 40px, 400),
1641
+ $headline: mat-typography-level(24px, 32px, 400),
1642
+ $title: mat-typography-level(20px, 32px, 500),
1643
+ $subheading-2: mat-typography-level(16px, 28px, 400),
1644
+ $subheading-1: mat-typography-level(15px, 24px, 400),
1645
+ $body-2: mat-typography-level(14px, 24px, 500),
1646
+ $body-1: mat-typography-level(14px, 20px, 400),
1647
+ $caption: mat-typography-level(12px, 20px, 400),
1648
+ $button: mat-typography-level(14px, 14px, 500),
1649
+ // Line-height must be unit-less fraction of the font-size.
1650
+ $input: mat-typography-level(16px, 1.125, 400)
1651
+ ) {
1652
+
1653
+ // Declare an initial map with all of the levels.
1654
+ $config: (
1655
+ display-4: $display-4,
1656
+ display-3: $display-3,
1657
+ display-2: $display-2,
1658
+ display-1: $display-1,
1659
+ headline: $headline,
1660
+ title: $title,
1661
+ subheading-2: $subheading-2,
1662
+ subheading-1: $subheading-1,
1663
+ body-2: $body-2,
1664
+ body-1: $body-1,
1665
+ caption: $caption,
1666
+ button: $button,
1667
+ input: $input,
1668
+ );
1669
+
1670
+ // Loop through the levels and set the `font-family` of the ones that don't have one to the base.
1671
+ // Note that SASS can't modify maps in place, which means that we need to merge and re-assign.
1672
+ @each $key, $level in $config {
1673
+ @if map-get($level, font-family) == null {
1674
+ $new-level: map-merge($level, (font-family: $font-family));
1675
+ $config: map-merge($config, ($key: $new-level));
1676
+ }
1677
+ }
1678
+
1679
+ // Add the base font family to the config.
1680
+ @return map-merge($config, (font-family: $font-family));
1681
+ }
1682
+
1683
+ // Adds the base typography styles, based on a config.
1684
+ @mixin mat-base-typography($config, $selector: '.mat-typography') {
1685
+ .mat-h1, .mat-headline, #{$selector} h1 {
1686
+ @include mat-typography-level-to-styles($config, headline);
1687
+ margin: 0 0 16px;
1688
+ }
1689
+
1690
+ .mat-h2, .mat-title, #{$selector} h2 {
1691
+ @include mat-typography-level-to-styles($config, title);
1692
+ margin: 0 0 16px;
1693
+ }
1694
+
1695
+ .mat-h3, .mat-subheading-2, #{$selector} h3 {
1696
+ @include mat-typography-level-to-styles($config, subheading-2);
1697
+ margin: 0 0 16px;
1698
+ }
1699
+
1700
+ .mat-h4, .mat-subheading-1, #{$selector} h4 {
1701
+ @include mat-typography-level-to-styles($config, subheading-1);
1702
+ margin: 0 0 16px;
1703
+ }
1704
+
1705
+ // Note: the spec doesn't have anything that would correspond to h5 and h6, but we add these for
1706
+ // consistency. The font sizes come from the Chrome user agent styles which have h5 at 0.83em
1707
+ // and h6 at 0.67em.
1708
+ .mat-h5, #{$selector} h5 {
1709
+ font-size: mat-font-size($config, body-1) * 0.83;
1710
+ font-weight: mat-font-weight($config, body-1);
1711
+ font-family: mat-font-family($config, body-1);
1712
+ line-height: mat-line-height($config, body-1);
1713
+ margin: 0 0 12px;
1714
+ }
1715
+
1716
+ .mat-h6, #{$selector} h6 {
1717
+ font-size: mat-font-size($config, body-1) * 0.67;
1718
+ font-weight: mat-font-weight($config, body-1);
1719
+ font-family: mat-font-family($config, body-1);
1720
+ line-height: mat-line-height($config, body-1);
1721
+ margin: 0 0 12px;
1722
+ }
1723
+
1724
+ .mat-body-strong, .mat-body-2 {
1725
+ @include mat-typography-level-to-styles($config, body-2);
1726
+ }
1727
+
1728
+ .mat-body, .mat-body-1, #{$selector} {
1729
+ @include mat-typography-level-to-styles($config, body-1);
1730
+
1731
+ p {
1732
+ margin: 0 0 12px;
1733
+ }
1734
+ }
1735
+
1736
+ .mat-small, .mat-caption {
1737
+ @include mat-typography-level-to-styles($config, caption);
1738
+ }
1739
+
1740
+ // Note: The spec doesn't mention letter spacing. The value comes from
1741
+ // eyeballing it until it looked exactly like the spec examples.
1742
+ .mat-display-4, #{$selector} .mat-display-4 {
1743
+ @include mat-typography-level-to-styles($config, display-4);
1744
+ margin: 0 0 56px;
1745
+ letter-spacing: -0.05em;
1746
+ }
1747
+
1748
+ .mat-display-3, #{$selector} .mat-display-3 {
1749
+ @include mat-typography-level-to-styles($config, display-3);
1750
+ margin: 0 0 64px;
1751
+ letter-spacing: -0.02em;
1752
+ }
1753
+
1754
+ .mat-display-2, #{$selector} .mat-display-2 {
1755
+ @include mat-typography-level-to-styles($config, display-2);
1756
+ margin: 0 0 64px;
1757
+ letter-spacing: -0.005em;
1758
+ }
1759
+
1760
+ .mat-display-1, #{$selector} .mat-display-1 {
1761
+ @include mat-typography-level-to-styles($config, display-1);
1762
+ margin: 0 0 64px;
1763
+ }
1764
+ }
1765
+
1766
+
1767
+
1768
+ @mixin mat-autocomplete-theme($theme) {
1769
+ $foreground: map-get($theme, foreground);
1770
+ $background: map-get($theme, background);
1771
+
1772
+ .mat-autocomplete-panel {
1773
+ background: mat-color($background, card);
1774
+ color: mat-color($foreground, text);
1775
+
1776
+ // Selected options in autocompletes should not be gray, but we
1777
+ // only want to override the background for selected options if
1778
+ // they are *not* in hover or focus state. This change has to be
1779
+ // made here because base option styles are shared between the
1780
+ // autocomplete and the select.
1781
+ .mat-option.mat-selected:not(.mat-active):not(:hover) {
1782
+ background: mat-color($background, card);
1783
+
1784
+ &:not(.mat-option-disabled) {
1785
+ color: mat-color($foreground, text);
1786
+ }
1787
+ }
1788
+ }
1789
+
1790
+ }
1791
+
1792
+ @mixin mat-autocomplete-typography($config) { }
1793
+
1794
+
1795
+
1796
+
1797
+ // Applies a focus style to an md-button element for each of the supported palettes.
1798
+ @mixin _mat-button-focus-color($theme) {
1799
+ $primary: map-get($theme, primary);
1800
+ $accent: map-get($theme, accent);
1801
+ $warn: map-get($theme, warn);
1802
+
1803
+ &.mat-primary .mat-button-focus-overlay {
1804
+ background-color: mat-color($primary, 0.12);
1805
+ }
1806
+
1807
+ &.mat-accent .mat-button-focus-overlay {
1808
+ background-color: mat-color($accent, 0.12);
1809
+ }
1810
+
1811
+ &.mat-warn .mat-button-focus-overlay {
1812
+ background-color: mat-color($warn, 0.12);
1813
+ }
1814
+
1815
+ &[disabled] .mat-button-focus-overlay {
1816
+ background-color: transparent;
1817
+ }
1818
+ }
1819
+
1820
+ @mixin _mat-button-ripple-color($theme, $hue, $opacity: 0.2) {
1821
+ $primary: map-get($theme, primary);
1822
+ $accent: map-get($theme, accent);
1823
+ $warn: map-get($theme, warn);
1824
+
1825
+ &.mat-primary .mat-ripple-element {
1826
+ background-color: mat-color($primary, $hue, $opacity);
1827
+ }
1828
+
1829
+ &.mat-accent .mat-ripple-element {
1830
+ background-color: mat-color($accent, $hue, $opacity);
1831
+ }
1832
+
1833
+ &.mat-warn .mat-ripple-element {
1834
+ background-color: mat-color($warn, $hue, $opacity);
1835
+ }
1836
+ }
1837
+
1838
+ // Applies a property to an md-button element for each of the supported palettes.
1839
+ @mixin _mat-button-theme-color($theme, $property, $color: 'default') {
1840
+ $primary: map-get($theme, primary);
1841
+ $accent: map-get($theme, accent);
1842
+ $warn: map-get($theme, warn);
1843
+ $background: map-get($theme, background);
1844
+ $foreground: map-get($theme, foreground);
1845
+
1846
+ &.mat-primary {
1847
+ #{$property}: mat-color($primary, $color);
1848
+ }
1849
+ &.mat-accent {
1850
+ #{$property}: mat-color($accent, $color);
1851
+ }
1852
+ &.mat-warn {
1853
+ #{$property}: mat-color($warn, $color);
1854
+ }
1855
+
1856
+ &.mat-primary, &.mat-accent, &.mat-warn, &[disabled] {
1857
+ &[disabled] {
1858
+ $palette: if($property == 'color', $foreground, $background);
1859
+ #{$property}: mat-color($palette, disabled-button);
1860
+ }
1861
+ }
1862
+ }
1863
+
1864
+ @mixin mat-button-theme($theme) {
1865
+ $primary: map-get($theme, primary);
1866
+ $accent: map-get($theme, accent);
1867
+ $warn: map-get($theme, warn);
1868
+ $background: map-get($theme, background);
1869
+ $foreground: map-get($theme, foreground);
1870
+
1871
+ .mat-button, .mat-icon-button {
1872
+ background: transparent;
1873
+
1874
+ @include _mat-button-focus-color($theme);
1875
+ @include _mat-button-theme-color($theme, 'color');
1876
+ }
1877
+
1878
+ .mat-raised-button, .mat-fab, .mat-mini-fab {
1879
+ // Default properties when not using any [color] value.
1880
+ color: mat-color($foreground, text);
1881
+ background-color: mat-color($background, raised-button);
1882
+
1883
+ @include _mat-button-theme-color($theme, 'color', default-contrast);
1884
+ @include _mat-button-theme-color($theme, 'background-color');
1885
+
1886
+ // Add ripple effect with contrast color to buttons that don't have a focus overlay.
1887
+ @include _mat-button-ripple-color($theme, default-contrast);
1888
+ }
1889
+
1890
+ // Add ripple effect with default color to flat buttons, which also have a focus overlay.
1891
+ .mat-button {
1892
+ @include _mat-button-ripple-color($theme, default, 0.1);
1893
+ }
1894
+
1895
+ // Add ripple effect with default color to the icon button. Ripple color needs to be stronger
1896
+ // since the icon button doesn't have a focus overlay.
1897
+ .mat-icon-button {
1898
+ @include _mat-button-ripple-color($theme, default);
1899
+ }
1900
+ }
1901
+
1902
+ @mixin mat-button-typography($config) {
1903
+ .mat-button, .mat-raised-button, .mat-icon-button, .mat-fab, .mat-mini-fab {
1904
+ font: {
1905
+ family: mat-font-family($config, button);
1906
+ size: mat-font-size($config, button);
1907
+ weight: mat-font-weight($config, button);
1908
+ }
1909
+ }
1910
+ }
1911
+
1912
+
1913
+
1914
+
1915
+
1916
+ // Applies a focus style to an md-button-toggle element for each of the supported palettes.
1917
+ @mixin _mat-button-toggle-focus-color($theme) {
1918
+ $background: map-get($theme, background);
1919
+
1920
+ .mat-button-toggle-focus-overlay {
1921
+ background-color: mat-color($background, focused-button);
1922
+ }
1923
+ }
1924
+
1925
+ @mixin mat-button-toggle-theme($theme) {
1926
+ $foreground: map-get($theme, foreground);
1927
+ $background: map-get($theme, background);
1928
+
1929
+ .mat-button-toggle {
1930
+ color: mat-color($foreground, hint-text);
1931
+
1932
+ &.cdk-focused {
1933
+ @include _mat-button-toggle-focus-color($theme);
1934
+ }
1935
+ }
1936
+
1937
+ .mat-button-toggle-checked {
1938
+ background-color: mat-color($background, selected-button);
1939
+ color: mat-color($foreground, secondary-text);
1940
+ }
1941
+
1942
+ .mat-button-toggle-disabled {
1943
+ background-color: mat-color($background, disabled-button-toggle);
1944
+ color: mat-color($foreground, disabled-button);
1945
+
1946
+ &.mat-button-toggle-checked {
1947
+ background-color: mat-color($background, selected-disabled-button);
1948
+ }
1949
+ }
1950
+ }
1951
+
1952
+ @mixin mat-button-toggle-typography($config) {
1953
+ .mat-button-toggle {
1954
+ font-family: mat-font-family($config);
1955
+ }
1956
+ }
1957
+
1958
+
1959
+
1960
+
1961
+
1962
+
1963
+ @mixin mat-card-theme($theme) {
1964
+ $background: map-get($theme, background);
1965
+ $foreground: map-get($theme, foreground);
1966
+
1967
+ .mat-card {
1968
+ background: mat-color($background, card);
1969
+ color: mat-color($foreground, text);
1970
+ }
1971
+
1972
+ .mat-card-subtitle {
1973
+ color: mat-color($foreground, secondary-text);
1974
+ }
1975
+ }
1976
+
1977
+ @mixin mat-card-typography($config) {
1978
+ .mat-card {
1979
+ font-family: mat-font-family($config);
1980
+ }
1981
+
1982
+ .mat-card-title {
1983
+ font: {
1984
+ size: mat-font-size($config, headline);
1985
+ weight: mat-font-weight($config, headline);
1986
+ }
1987
+ }
1988
+
1989
+ .mat-card-subtitle,
1990
+ .mat-card-content,
1991
+ .mat-card-header .mat-card-title {
1992
+ font-size: mat-font-size($config, body-1);
1993
+ }
1994
+ }
1995
+
1996
+
1997
+
1998
+
1999
+
2000
+ @mixin mat-checkbox-theme($theme) {
2001
+ $is-dark-theme: map-get($theme, is-dark);
2002
+ $primary: map-get($theme, primary);
2003
+ $accent: map-get($theme, accent);
2004
+ $warn: map-get($theme, warn);
2005
+ $background: map-get($theme, background);
2006
+
2007
+
2008
+ // The color of the checkbox's checkmark / mixedmark.
2009
+ $checkbox-mark-color: mat-color($background, background);
2010
+
2011
+ // NOTE(traviskaufman): While the spec calls for translucent blacks/whites for disabled colors,
2012
+ // this does not work well with elements layered on top of one another. To get around this we
2013
+ // blend the colors together based on the base color and the theme background.
2014
+ $white-30pct-opacity-on-dark: #686868;
2015
+ $black-26pct-opacity-on-light: #b0b0b0;
2016
+ $disabled-color: if($is-dark-theme, $white-30pct-opacity-on-dark, $black-26pct-opacity-on-light);
2017
+
2018
+ .mat-checkbox-frame {
2019
+ border-color: mat-color(map-get($theme, foreground), secondary-text);
2020
+ }
2021
+
2022
+ .mat-checkbox-checkmark {
2023
+ fill: $checkbox-mark-color;
2024
+ }
2025
+
2026
+ .mat-checkbox-checkmark-path {
2027
+ // !important is needed here because a stroke must be set as an attribute on the SVG in order
2028
+ // for line animation to work properly.
2029
+ stroke: $checkbox-mark-color !important;
2030
+ }
2031
+
2032
+ .mat-checkbox-mixedmark {
2033
+ background-color: $checkbox-mark-color;
2034
+ }
2035
+
2036
+ .mat-checkbox-indeterminate, .mat-checkbox-checked {
2037
+ &.mat-primary .mat-checkbox-background {
2038
+ background-color: mat-color($primary);
2039
+ }
2040
+
2041
+ &.mat-accent .mat-checkbox-background {
2042
+ background-color: mat-color($accent);
2043
+ }
2044
+
2045
+ &.mat-warn .mat-checkbox-background {
2046
+ background-color: mat-color($warn);
2047
+ }
2048
+ }
2049
+
2050
+ .mat-checkbox-disabled {
2051
+ &.mat-checkbox-checked, &.mat-checkbox-indeterminate {
2052
+ .mat-checkbox-background {
2053
+ background-color: $disabled-color;
2054
+ }
2055
+ }
2056
+
2057
+ &:not(.mat-checkbox-checked) {
2058
+ .mat-checkbox-frame {
2059
+ border-color: $disabled-color;
2060
+ }
2061
+ }
2062
+
2063
+ .mat-checkbox-label {
2064
+ color: $disabled-color;
2065
+ }
2066
+ }
2067
+
2068
+ .mat-checkbox:not(.mat-checkbox-disabled) {
2069
+ &.mat-primary .mat-checkbox-ripple .mat-ripple-element {
2070
+ background-color: mat-color($primary, 0.26);
2071
+ }
2072
+
2073
+ &.mat-accent .mat-checkbox-ripple .mat-ripple-element {
2074
+ background-color: mat-color($accent, 0.26);
2075
+ }
2076
+
2077
+ &.mat-warn .mat-checkbox-ripple .mat-ripple-element {
2078
+ background-color: mat-color($warn, 0.26);
2079
+ }
2080
+ }
2081
+ }
2082
+
2083
+ @mixin mat-checkbox-typography($config) {
2084
+ .mat-checkbox {
2085
+ font-family: mat-font-family($config);
2086
+ }
2087
+
2088
+ // TODO(kara): Remove this style when fixing vertical baseline
2089
+ .mat-checkbox-layout .mat-checkbox-label {
2090
+ line-height: mat-line-height($config, body-2);
2091
+ }
2092
+ }
2093
+
2094
+
2095
+
2096
+
2097
+
2098
+ // TODO(crisbeto): these values don't correspond to any of the typography breakpoints.
2099
+ $mat-chip-font-size: 13px;
2100
+ $mat-chip-line-height: 18px;
2101
+ $mat-chip-remove-font-size: 18px;
2102
+
2103
+ @mixin mat-chips-theme-color($color) {
2104
+ @include mat-chips-color(mat-color($color, default-contrast), mat-color($color));
2105
+ }
2106
+
2107
+ @mixin mat-chips-color($foreground, $background) {
2108
+ background-color: $background;
2109
+ color: $foreground;
2110
+
2111
+ .mat-chip-remove {
2112
+ color: $foreground;
2113
+ opacity: 0.4;
2114
+ }
2115
+
2116
+ .mat-chip-remove:hover {
2117
+ opacity: 0.54;
2118
+ }
2119
+ }
2120
+
2121
+ @mixin mat-chips-theme($theme) {
2122
+ $is-dark-theme: map-get($theme, is-dark);
2123
+ $primary: map-get($theme, primary);
2124
+ $accent: map-get($theme, accent);
2125
+ $warn: map-get($theme, warn);
2126
+ $background: map-get($theme, background);
2127
+ $foreground: map-get($theme, foreground);
2128
+
2129
+ $unselected-background: mat-color($background, unselected-chip);
2130
+ $unselected-foreground: mat-color($foreground, text);
2131
+
2132
+
2133
+ .mat-chip:not(.mat-basic-chip) {
2134
+ @include mat-chips-color($unselected-foreground, $unselected-background);
2135
+ }
2136
+
2137
+ .mat-chip.mat-chip-selected {
2138
+
2139
+ &.mat-primary {
2140
+ @include mat-chips-theme-color($primary);
2141
+ }
2142
+
2143
+ &.mat-warn {
2144
+ @include mat-chips-theme-color($warn);
2145
+ }
2146
+
2147
+ &.mat-accent {
2148
+ @include mat-chips-theme-color($accent);
2149
+ }
2150
+ }
2151
+ }
2152
+
2153
+ @mixin mat-chips-typography($config) {
2154
+ .mat-chip {
2155
+ font-size: $mat-chip-font-size;
2156
+ line-height: $mat-chip-line-height;
2157
+
2158
+ .mat-chip-remove.mat-icon {
2159
+ font-size: $mat-chip-remove-font-size;
2160
+ }
2161
+ }
2162
+ }
2163
+
2164
+
2165
+
2166
+
2167
+
2168
+ @mixin mat-table-theme($theme) {
2169
+ $background: map-get($theme, background);
2170
+ $foreground: map-get($theme, foreground);
2171
+
2172
+ .mat-table {
2173
+ background: mat-color($background, 'card');
2174
+ }
2175
+
2176
+ .mat-row, .mat-header-row {
2177
+ border-bottom-color: mat-color($foreground, divider);
2178
+ }
2179
+
2180
+ .mat-header-cell {
2181
+ color: mat-color($foreground, secondary-text);
2182
+ }
2183
+
2184
+ .mat-cell {
2185
+ color: mat-color($foreground, text);
2186
+ }
2187
+ }
2188
+
2189
+ @mixin mat-table-typography($config) {
2190
+ .mat-table {
2191
+ font-family: mat-font-family($config);
2192
+ }
2193
+
2194
+ .mat-header-cell {
2195
+ font-size: mat-font-size($config, caption);
2196
+ font-weight: mat-font-weight($config, body-2);
2197
+ }
2198
+
2199
+ .mat-cell {
2200
+ font-size: mat-font-size($config, body-1);
2201
+ }
2202
+ }
2203
+
2204
+
2205
+
2206
+
2207
+
2208
+
2209
+ $mat-calendar-body-font-size: 13px !default;
2210
+ $mat-calendar-weekday-table-font-size: 11px !default;
2211
+
2212
+
2213
+ @mixin mat-datepicker-theme($theme) {
2214
+ $primary: map-get($theme, primary);
2215
+ $foreground: map-get($theme, foreground);
2216
+ $background: map-get($theme, background);
2217
+
2218
+ $mat-datepicker-selected-today-box-shadow-width: 1px;
2219
+ $mat-datepicker-selected-fade-amount: 0.6;
2220
+ $mat-datepicker-today-fade-amount: 0.2;
2221
+
2222
+ .mat-datepicker-content {
2223
+ background-color: mat-color($background, card);
2224
+ color: mat-color($foreground, text);
2225
+ }
2226
+
2227
+ .mat-calendar-arrow {
2228
+ border-top-color: mat-color($foreground, icon);
2229
+ }
2230
+
2231
+ .mat-calendar-next-button,
2232
+ .mat-calendar-previous-button {
2233
+ color: mat-color($foreground, icon);
2234
+ }
2235
+
2236
+ .mat-calendar-table-header {
2237
+ color: mat-color($foreground, hint-text);
2238
+ }
2239
+
2240
+ .mat-calendar-table-header-divider::after {
2241
+ background: mat-color($foreground, divider);
2242
+ }
2243
+
2244
+ .mat-calendar-body-label {
2245
+ color: mat-color($foreground, secondary-text);
2246
+ }
2247
+
2248
+ .mat-calendar-body-cell-content {
2249
+ color: mat-color($foreground, text);
2250
+ border-color: transparent;
2251
+
2252
+ .mat-calendar-body-disabled > &:not(.mat-calendar-body-selected) {
2253
+ color: mat-color($foreground, disabled-text);
2254
+ }
2255
+ }
2256
+
2257
+ :not(.mat-calendar-body-disabled):hover,
2258
+ .cdk-keyboard-focused .mat-calendar-body-active {
2259
+ & > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {
2260
+ background-color: mat-color($background, hover);
2261
+ }
2262
+ }
2263
+
2264
+ .mat-calendar-body-selected {
2265
+ background-color: mat-color($primary);
2266
+ color: mat-color($primary, default-contrast);
2267
+ }
2268
+
2269
+ .mat-calendar-body-disabled > .mat-calendar-body-selected {
2270
+ background-color: fade-out(mat-color($primary), $mat-datepicker-selected-fade-amount);
2271
+ }
2272
+
2273
+ .mat-calendar-body-today {
2274
+ &:not(.mat-calendar-body-selected) {
2275
+ // Note: though it's not text, the border is a hint about the fact that this is today's date,
2276
+ // so we use the hint color.
2277
+ border-color: mat-color($foreground, hint-text);
2278
+ }
2279
+
2280
+ &.mat-calendar-body-selected {
2281
+ box-shadow: inset 0 0 0 $mat-datepicker-selected-today-box-shadow-width
2282
+ mat-color($primary, default-contrast);
2283
+ }
2284
+ }
2285
+
2286
+ .mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected) {
2287
+ border-color: fade-out(mat-color($foreground, hint-text), $mat-datepicker-today-fade-amount);
2288
+ }
2289
+ }
2290
+
2291
+ @mixin mat-datepicker-typography($config) {
2292
+ .mat-calendar {
2293
+ font-family: mat-font-family($config);
2294
+ }
2295
+
2296
+ .mat-calendar-body {
2297
+ font-size: $mat-calendar-body-font-size;
2298
+ }
2299
+
2300
+ .mat-calendar-body-label,
2301
+ .mat-calendar-period-button {
2302
+ font: {
2303
+ size: mat-font-size($config, button);
2304
+ weight: mat-font-weight($config, button);
2305
+ }
2306
+ }
2307
+
2308
+ .mat-calendar-table-header th {
2309
+ font: {
2310
+ size: $mat-calendar-weekday-table-font-size;
2311
+ weight: mat-font-weight($config, body-1);
2312
+ }
2313
+ }
2314
+ }
2315
+
2316
+
2317
+
2318
+
2319
+
2320
+
2321
+ @mixin mat-dialog-theme($theme) {
2322
+ $background: map-get($theme, background);
2323
+ $foreground: map-get($theme, foreground);
2324
+
2325
+ .mat-dialog-container {
2326
+ background: mat-color($background, dialog);
2327
+ color: mat-color($foreground, text);
2328
+ }
2329
+ }
2330
+
2331
+ @mixin mat-dialog-typography($config) {
2332
+ .mat-dialog-title {
2333
+ @include mat-typography-level-to-styles($config, title);
2334
+ }
2335
+ }
2336
+
2337
+
2338
+
2339
+
2340
+
2341
+ @mixin mat-expansion-panel-theme($theme) {
2342
+ $background: map-get($theme, background);
2343
+ $foreground: map-get($theme, foreground);
2344
+
2345
+ .mat-expansion-panel {
2346
+ background: mat-color($background, card);
2347
+ color: mat-color($foreground, text);
2348
+ }
2349
+
2350
+ .mat-action-row {
2351
+ border-top-color: mat-color($foreground, divider);
2352
+ }
2353
+
2354
+ .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header {
2355
+ &:not([aria-disabled='true']) {
2356
+ &.cdk-keyboard-focused,
2357
+ &.cdk-program-focused,
2358
+ &:hover {
2359
+ background: mat-color($background, hover);
2360
+ }
2361
+ }
2362
+ }
2363
+
2364
+ .mat-expansion-panel-header-title {
2365
+ color: mat-color($foreground, text);
2366
+ }
2367
+
2368
+ .mat-expansion-panel-header-description,
2369
+ .mat-expansion-indicator::after {
2370
+ color: mat-color($foreground, secondary-text);
2371
+ }
2372
+
2373
+ .mat-expansion-panel-header[aria-disabled='true'] {
2374
+ color: mat-color($foreground, disabled-button);
2375
+
2376
+ .mat-expansion-panel-header-title,
2377
+ .mat-expansion-panel-header-description {
2378
+ color: inherit;
2379
+ }
2380
+ }
2381
+ }
2382
+
2383
+ @mixin mat-expansion-panel-typography($config) {
2384
+ .mat-expansion-panel-header {
2385
+ font: {
2386
+ family: mat-font-family($config, subheading-1);
2387
+ size: mat-font-size($config, subheading-1);
2388
+ weight: mat-font-weight($config, subheading-1);
2389
+ }
2390
+ }
2391
+
2392
+ .mat-expansion-panel-content {
2393
+ @include mat-typography-level-to-styles($config, body-1);
2394
+ }
2395
+ }
2396
+
2397
+
2398
+
2399
+
2400
+
2401
+
2402
+
2403
+ // Include this empty mixin for consistency with the other components.
2404
+ @mixin mat-grid-list-theme($theme) { }
2405
+
2406
+ @mixin mat-grid-list-typography($config) {
2407
+ .mat-grid-tile-header,
2408
+ .mat-grid-tile-footer {
2409
+ @include mat-line-base(mat-font-size($config, caption));
2410
+ font-size: mat-font-size($config, body-1);
2411
+ }
2412
+ }
2413
+
2414
+
2415
+
2416
+
2417
+ // Include this empty mixin for consistency with the other components.
2418
+ @mixin mat-icon-theme($theme) {
2419
+ $primary: map-get($theme, primary);
2420
+ $accent: map-get($theme, accent);
2421
+ $warn: map-get($theme, warn);
2422
+ $background: map-get($theme, background);
2423
+ $foreground: map-get($theme, foreground);
2424
+
2425
+ .mat-icon {
2426
+ &.mat-primary {
2427
+ color: mat-color($primary);
2428
+ }
2429
+
2430
+ &.mat-accent {
2431
+ color: mat-color($accent);
2432
+ }
2433
+
2434
+ &.mat-warn {
2435
+ color: mat-color($warn);
2436
+ }
2437
+ }
2438
+ }
2439
+
2440
+ @mixin mat-icon-typography($config) { }
2441
+
2442
+
2443
+
2444
+ // Renders a gradient for showing the dashed line when the input is disabled.
2445
+ // Unlike using a border, a gradient allows us to adjust the spacing of the dotted line
2446
+ // to match the Material Design spec.
2447
+ @mixin mat-control-disabled-underline($color) {
2448
+ background-image: linear-gradient(to right, $color 0%, $color 33%, transparent 0%);
2449
+ background-size: 4px 1px;
2450
+ background-repeat: repeat-x;
2451
+ }
2452
+
2453
+
2454
+
2455
+
2456
+ @mixin mat-input-theme($theme) {
2457
+ $foreground: map-get($theme, foreground);
2458
+ $is-dark-theme: map-get($theme, is-dark);
2459
+
2460
+ .mat-input-element:disabled {
2461
+ color: mat-color($foreground, secondary-text, if($is-dark-theme, 0.7, 0.42));
2462
+ }
2463
+ }
2464
+
2465
+ @mixin mat-input-typography($config) {
2466
+ // The unit-less line-height from the font config.
2467
+ $line-height: mat-line-height($config, input);
2468
+
2469
+ // The amount of space between the top of the line and the top of the actual text
2470
+ // (as a fraction of the font-size).
2471
+ $line-spacing: ($line-height - 1) / 2;
2472
+
2473
+ // <input> elements seem to have their height set slightly too large on Safari causing the text to
2474
+ // be misaligned w.r.t. the placeholder. Adding this margin corrects it.
2475
+ input.mat-input-element {
2476
+ margin-top: -$line-spacing * 1em;
2477
+ }
2478
+ }
2479
+
2480
+
2481
+
2482
+
2483
+
2484
+
2485
+
2486
+ @mixin mat-list-theme($theme) {
2487
+ $background: map-get($theme, background);
2488
+ $foreground: map-get($theme, foreground);
2489
+
2490
+ .mat-list, .mat-nav-list, .mat-selection-list {
2491
+ .mat-list-item {
2492
+ color: mat-color($foreground, text);
2493
+ }
2494
+
2495
+ .mat-list-option {
2496
+ color: mat-color($foreground, text);
2497
+ }
2498
+
2499
+ .mat-subheader {
2500
+ color: mat-color($foreground, secondary-text);
2501
+ }
2502
+ }
2503
+
2504
+ .mat-list-item-disabled {
2505
+ background-color: mat-color($background, disabled-list-option);
2506
+ }
2507
+
2508
+ .mat-divider {
2509
+ border-top-color: mat-color($foreground, divider);
2510
+ }
2511
+
2512
+ .mat-nav-list .mat-list-item {
2513
+ outline: none;
2514
+
2515
+ &:hover, &.mat-list-item-focus {
2516
+ background: mat-color($background, 'hover');
2517
+ }
2518
+ }
2519
+
2520
+ .mat-list-option {
2521
+ outline: none;
2522
+
2523
+ &:hover, &.mat-list-item-focus {
2524
+ background: mat-color($background, 'hover');
2525
+ }
2526
+ }
2527
+ }
2528
+
2529
+ @mixin mat-list-typography($config) {
2530
+ $font-family: mat-font-family($config);
2531
+
2532
+ .mat-list-item {
2533
+ font-family: $font-family;
2534
+ }
2535
+
2536
+ .mat-list-option {
2537
+ font-family: $font-family;
2538
+ }
2539
+
2540
+ // Default list
2541
+ .mat-list, .mat-nav-list, .mat-selection-list {
2542
+ .mat-list-item {
2543
+ font-size: mat-font-size($config, subheading-2);
2544
+ @include mat-line-base(mat-font-size($config, body-1));
2545
+ }
2546
+
2547
+ .mat-list-option {
2548
+ font-size: mat-font-size($config, subheading-2);
2549
+ @include mat-line-base(mat-font-size($config, body-1));
2550
+ }
2551
+
2552
+ .mat-subheader {
2553
+ font-family: mat-font-family($config, body-2);
2554
+ font-size: mat-font-size($config, body-2);
2555
+ font-weight: mat-font-weight($config, body-2);
2556
+ }
2557
+ }
2558
+
2559
+ // Dense list
2560
+ .mat-list[dense], .mat-nav-list[dense], .mat-selection-list[dense] {
2561
+ .mat-list-item {
2562
+ font-size: mat-font-size($config, caption);
2563
+ @include mat-line-base(mat-font-size($config, caption));
2564
+ }
2565
+
2566
+ .mat-list-option {
2567
+ font-size: mat-font-size($config, caption);
2568
+ @include mat-line-base(mat-font-size($config, caption));
2569
+ }
2570
+
2571
+ .mat-subheader {
2572
+ font-family: $font-family;
2573
+ font-size: mat-font-size($config, caption);
2574
+ font-weight: mat-font-weight($config, body-2);
2575
+ }
2576
+ }
2577
+ }
2578
+
2579
+
2580
+
2581
+
2582
+
2583
+
2584
+ @mixin mat-menu-theme($theme) {
2585
+ $background: map-get($theme, background);
2586
+ $foreground: map-get($theme, foreground);
2587
+
2588
+ .mat-menu-panel {
2589
+ background: mat-color($background, 'card');
2590
+ }
2591
+
2592
+ .mat-menu-item {
2593
+ background: transparent;
2594
+ color: mat-color($foreground, 'text');
2595
+
2596
+ &[disabled] {
2597
+ color: mat-color($foreground, 'disabled');
2598
+ }
2599
+ }
2600
+
2601
+ .mat-menu-item .mat-icon,
2602
+ .mat-menu-item-submenu-trigger::after {
2603
+ color: mat-color($foreground, 'icon');
2604
+ }
2605
+
2606
+ .mat-menu-item:hover,
2607
+ .mat-menu-item:focus,
2608
+ .mat-menu-item-highlighted {
2609
+ &:not([disabled]) {
2610
+ background: mat-color($background, 'hover');
2611
+ }
2612
+ }
2613
+ }
2614
+
2615
+ @mixin mat-menu-typography($config) {
2616
+ .mat-menu-item {
2617
+ font: {
2618
+ family: mat-font-family($config, subheading-2);
2619
+ size: mat-font-size($config, subheading-2);
2620
+ }
2621
+ }
2622
+ }
2623
+
2624
+
2625
+
2626
+
2627
+
2628
+
2629
+ @mixin mat-paginator-theme($theme) {
2630
+ $foreground: map-get($theme, foreground);
2631
+ $background: map-get($theme, background);
2632
+
2633
+ .mat-paginator {
2634
+ background: mat-color($background, 'card');
2635
+ }
2636
+
2637
+ .mat-paginator,
2638
+ .mat-paginator-page-size .mat-select-trigger {
2639
+ color: mat-color($foreground, secondary-text);
2640
+ }
2641
+
2642
+ .mat-paginator-increment,
2643
+ .mat-paginator-decrement {
2644
+ border-top: 2px solid mat-color($foreground, 'icon');
2645
+ border-right: 2px solid mat-color($foreground, 'icon');
2646
+ }
2647
+
2648
+ .mat-icon-button[disabled] {
2649
+ .mat-paginator-increment,
2650
+ .mat-paginator-decrement {
2651
+ border-color: mat-color($foreground, 'disabled');
2652
+ }
2653
+ }
2654
+ }
2655
+
2656
+ @mixin mat-paginator-typography($config) {
2657
+ .mat-paginator,
2658
+ .mat-paginator-page-size .mat-select-trigger {
2659
+ font: {
2660
+ family: mat-font-family($config, caption);
2661
+ size: mat-font-size($config, caption);
2662
+ }
2663
+ }
2664
+ }
2665
+
2666
+
2667
+
2668
+
2669
+
2670
+ @mixin mat-progress-bar-theme($theme) {
2671
+ $primary: map-get($theme, primary);
2672
+ $accent: map-get($theme, accent);
2673
+ $warn: map-get($theme, warn);
2674
+
2675
+ .mat-progress-bar-background {
2676
+ background-image: #{_mat-progress-bar-buffer($primary, lighter)};
2677
+ }
2678
+
2679
+ .mat-progress-bar-buffer {
2680
+ background-color: mat-color($primary, lighter);
2681
+ }
2682
+
2683
+ .mat-progress-bar-fill::after {
2684
+ background-color: mat-color($primary);
2685
+ }
2686
+
2687
+ .mat-progress-bar.mat-accent {
2688
+ .mat-progress-bar-background {
2689
+ background-image: #{_mat-progress-bar-buffer($accent, lighter)};
2690
+ }
2691
+
2692
+ .mat-progress-bar-buffer {
2693
+ background-color: mat-color($accent, lighter);
2694
+ }
2695
+
2696
+ .mat-progress-bar-fill::after {
2697
+ background-color: mat-color($accent);
2698
+ }
2699
+ }
2700
+
2701
+ .mat-progress-bar.mat-warn {
2702
+ .mat-progress-bar-background {
2703
+ background-image: #{_mat-progress-bar-buffer($warn, lighter)};
2704
+ }
2705
+
2706
+ .mat-progress-bar-buffer {
2707
+ background-color: mat-color($warn, lighter);
2708
+ }
2709
+
2710
+ .mat-progress-bar-fill::after {
2711
+ background-color: mat-color($warn);
2712
+ }
2713
+ }
2714
+ }
2715
+
2716
+ @mixin mat-progress-bar-typography($config) { }
2717
+
2718
+ // TODO(josephperrott): Find better way to inline svgs.
2719
+ // In buffer mode a repeated SVG object is used as a background.
2720
+ // Each of the following defines the SVG object for each of the class defined colors.
2721
+ //
2722
+ // The string is a URL encoded version of:
2723
+ //
2724
+ // <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
2725
+ // version="1.1" x="0px" y="0px" enable-background="new 0 0 5 2"
2726
+ // xml:space="preserve" viewBox="0 0 5 2" preserveAspectRatio="none slice">
2727
+ // <circle cx="1" cy="1" r="1" fill="{INJECTED_COLOR}"/>
2728
+ // </svg>
2729
+ @function _mat-progress-bar-buffer($palette, $hue) {
2730
+ $color: mat-color($palette, $hue) + '';
2731
+
2732
+ // We also need to escape the hash in hex colors,
2733
+ // otherwise IE will throw an XML error.
2734
+ @if str-index($color, '#') == 1 {
2735
+ $color: '%23' + str-slice($color, 2);
2736
+ }
2737
+
2738
+ $result: '' +
2739
+ 'data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2F' +
2740
+ 'www.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%2' +
2741
+ '7%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%' +
2742
+ '3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none' +
2743
+ '%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27' +
2744
+ $color + '%27%2F%3E%3C%2Fsvg%3E';
2745
+
2746
+ @return url($result);
2747
+ }
2748
+
2749
+
2750
+
2751
+
2752
+
2753
+ @mixin mat-progress-spinner-theme($theme) {
2754
+ $primary: map-get($theme, primary);
2755
+ $accent: map-get($theme, accent);
2756
+ $warn: map-get($theme, warn);
2757
+
2758
+ .mat-progress-spinner, .mat-spinner {
2759
+ path {
2760
+ stroke: mat-color($primary);
2761
+ }
2762
+
2763
+ &.mat-accent path {
2764
+ stroke: mat-color($accent);
2765
+ }
2766
+
2767
+ &.mat-warn path {
2768
+ stroke: mat-color($warn);
2769
+ }
2770
+ }
2771
+ }
2772
+
2773
+ @mixin mat-progress-spinner-typography($config) { }
2774
+
2775
+
2776
+
2777
+
2778
+
2779
+ @mixin mat-radio-color($palette) {
2780
+ &.mat-radio-checked .mat-radio-outer-circle {
2781
+ border-color: mat-color($palette);
2782
+ }
2783
+
2784
+ .mat-radio-inner-circle {
2785
+ background-color: mat-color($palette);
2786
+ }
2787
+
2788
+ .mat-radio-ripple .mat-ripple-element {
2789
+ background-color: mat-color($palette, 0.26);
2790
+ }
2791
+ }
2792
+
2793
+ @mixin mat-radio-theme($theme) {
2794
+ $primary: map-get($theme, primary);
2795
+ $accent: map-get($theme, accent);
2796
+ $warn: map-get($theme, warn);
2797
+ $background: map-get($theme, background);
2798
+ $foreground: map-get($theme, foreground);
2799
+
2800
+ .mat-radio-outer-circle {
2801
+ border-color: mat-color($foreground, secondary-text);
2802
+ }
2803
+
2804
+ .mat-radio-disabled .mat-radio-outer-circle {
2805
+ border-color: mat-color($foreground, disabled);
2806
+ }
2807
+
2808
+ .mat-radio-disabled {
2809
+ .mat-radio-ripple .mat-ripple-element, .mat-radio-inner-circle {
2810
+ background-color: mat-color($foreground, disabled);
2811
+ }
2812
+
2813
+ .mat-radio-label-content {
2814
+ color: mat-color($foreground, disabled);
2815
+ }
2816
+ }
2817
+
2818
+ .mat-radio-button {
2819
+ &.mat-primary {
2820
+ @include mat-radio-color($primary);
2821
+ }
2822
+
2823
+ &.mat-accent {
2824
+ @include mat-radio-color($accent);
2825
+ }
2826
+
2827
+ &.mat-warn {
2828
+ @include mat-radio-color($warn);
2829
+ }
2830
+ }
2831
+ }
2832
+
2833
+ @mixin mat-radio-typography($config) {
2834
+ .mat-radio-button {
2835
+ font-family: mat-font-family($config);
2836
+ }
2837
+ }
2838
+
2839
+
2840
+
2841
+
2842
+
2843
+
2844
+ @mixin _mat-select-inner-content-theme($palette) {
2845
+ $color: mat-color($palette);
2846
+
2847
+ .mat-select-trigger, .mat-select-arrow {
2848
+ color: $color;
2849
+ }
2850
+
2851
+ .mat-select-underline {
2852
+ background-color: $color;
2853
+ }
2854
+ }
2855
+
2856
+ @mixin mat-select-theme($theme) {
2857
+ $foreground: map-get($theme, foreground);
2858
+ $background: map-get($theme, background);
2859
+ $primary: map-get($theme, primary);
2860
+ $accent: map-get($theme, accent);
2861
+ $warn: map-get($theme, warn);
2862
+ $is-dark-theme: map-get($theme, is-dark);
2863
+ $underline-color: mat-color($foreground, divider, if($is-dark-theme, 0.7, 0.42));
2864
+
2865
+ .mat-select-trigger,
2866
+ .mat-select-arrow {
2867
+ color: mat-color($foreground, secondary-text);
2868
+ }
2869
+
2870
+ .mat-select-underline {
2871
+ background-color: $underline-color;
2872
+ }
2873
+
2874
+ [aria-disabled='true'] .mat-select-underline {
2875
+ // Since this is a dotted line, we need to make it slightly darker to get it to stand out.
2876
+ @include mat-control-disabled-underline($underline-color);
2877
+ }
2878
+
2879
+ .mat-select-disabled .mat-select-value,
2880
+ .mat-select-arrow,
2881
+ .mat-select-trigger {
2882
+ color: mat-color($foreground, secondary-text);
2883
+ }
2884
+
2885
+ .mat-select-content, .mat-select-panel-done-animating {
2886
+ background: mat-color($background, card);
2887
+ }
2888
+
2889
+ .mat-select-value {
2890
+ color: mat-color($foreground, text);
2891
+ }
2892
+
2893
+ .mat-select-panel {
2894
+ .mat-option.mat-selected:not(.mat-option-multiple) {
2895
+ background: mat-color($background, hover, 0.12);
2896
+ }
2897
+ }
2898
+
2899
+ .mat-select:focus:not(.mat-select-disabled) {
2900
+ &.mat-primary {
2901
+ @include _mat-select-inner-content-theme($primary);
2902
+ }
2903
+
2904
+ &.mat-accent {
2905
+ @include _mat-select-inner-content-theme($accent);
2906
+ }
2907
+
2908
+ &.mat-select-required .mat-select-placeholder::after {
2909
+ color: mat-color($warn);
2910
+ }
2911
+ }
2912
+
2913
+ .mat-select:focus:not(.mat-select-disabled).mat-warn, .mat-select-invalid {
2914
+ @include _mat-select-inner-content-theme($warn);
2915
+ }
2916
+ }
2917
+
2918
+ @mixin mat-select-typography($config) {
2919
+ $trigger-font-size: mat-font-size($config, subheading-2);
2920
+
2921
+ .mat-select {
2922
+ // Reserve enough space for the floating placeholder.
2923
+ padding-top: $trigger-font-size;
2924
+ font-family: mat-font-family($config);
2925
+ }
2926
+
2927
+ .mat-select-trigger {
2928
+ font-size: $trigger-font-size;
2929
+ }
2930
+ }
2931
+
2932
+
2933
+
2934
+
2935
+
2936
+ @mixin mat-sidenav-theme($theme) {
2937
+ $primary: map-get($theme, primary);
2938
+ $accent: map-get($theme, accent);
2939
+ $warn: map-get($theme, warn);
2940
+ $background: map-get($theme, background);
2941
+ $foreground: map-get($theme, foreground);
2942
+
2943
+ // We use invert() here to have the darken the background color expected to be used. If the
2944
+ // background is light, we use a dark backdrop. If the background is dark,
2945
+ // we use a light backdrop.
2946
+ $drawer-backdrop-color: invert(mat-color($background, card, 0.6)) !default;
2947
+ $drawer-background-color: mat-color($background, dialog) !default;
2948
+ $drawer-container-background-color: mat-color($background, background) !default;
2949
+ $drawer-push-background-color: mat-color($background, dialog) !default;
2950
+
2951
+ .mat-drawer-container {
2952
+ background-color: $drawer-container-background-color;
2953
+ color: mat-color($foreground, text);
2954
+ }
2955
+
2956
+ .mat-drawer {
2957
+ background-color: $drawer-background-color;
2958
+ color: mat-color($foreground, text);
2959
+
2960
+ &.mat-drawer-push {
2961
+ background-color: $drawer-push-background-color;
2962
+ }
2963
+ }
2964
+
2965
+ .mat-drawer-backdrop.mat-drawer-shown {
2966
+ background-color: $drawer-backdrop-color;
2967
+ }
2968
+ }
2969
+
2970
+ @mixin mat-sidenav-typography($config) { }
2971
+
2972
+
2973
+
2974
+
2975
+
2976
+ @mixin _mat-slide-toggle-checked($palette, $thumb-checked-hue) {
2977
+ // Do not apply the checked colors if the toggle is disabled, because the
2978
+ // specificity would be to high for the disabled styles.
2979
+ &.mat-checked:not(.mat-disabled) {
2980
+ .mat-slide-toggle-thumb {
2981
+ background-color: mat-color($palette, $thumb-checked-hue);
2982
+ }
2983
+
2984
+ .mat-slide-toggle-bar {
2985
+ background-color: mat-color($palette, $thumb-checked-hue, 0.5);
2986
+ }
2987
+ }
2988
+ }
2989
+
2990
+ // Applies the specified colors to the slide-toggle ripple elements.
2991
+ @mixin _mat-slide-toggle-ripple($palette, $ripple-unchecked-color, $ripple-checked-color) {
2992
+ &:not(.mat-checked) .mat-ripple-element {
2993
+ background-color: $ripple-unchecked-color;
2994
+ }
2995
+ .mat-ripple-element {
2996
+ background-color: $ripple-checked-color;
2997
+ }
2998
+ }
2999
+
3000
+ @mixin mat-slide-toggle-theme($theme) {
3001
+ $is-dark: map_get($theme, is-dark);
3002
+ $primary: map-get($theme, primary);
3003
+ $accent: map-get($theme, accent);
3004
+ $warn: map-get($theme, warn);
3005
+ $background: map-get($theme, background);
3006
+ $foreground: map-get($theme, foreground);
3007
+
3008
+ // Color hues based on the specs, which prescribe different hues for dark and light themes
3009
+ // https://material.google.com/components/selection-controls.html#selection-controls-switch
3010
+ $thumb-normal-hue: if($is-dark, 400, 50);
3011
+ $thumb-checked-hue: if($is-dark, 200, 500);
3012
+ $thumb-disabled-hue: if($is-dark, 800, 400);
3013
+
3014
+ $bar-normal-color: mat-color($foreground, disabled);
3015
+ $bar-disabled-color: if($is-dark, rgba(white, 0.12), rgba(black, 0.1));
3016
+
3017
+ // Ripple colors are based on the current palette and the state of the slide-toggle.
3018
+ // See https://material.google.com/components/selection-controls.html#selection-controls-switch
3019
+ $ripple-checked-opacity: 0.12;
3020
+ $ripple-unchecked-color: mat-color($foreground, base, if($is-dark, 0.12, 0.06));
3021
+ $ripple-primary-color: mat-color($primary, $thumb-checked-hue, $ripple-checked-opacity);
3022
+ $ripple-accent-color: mat-color($accent, $thumb-checked-hue, $ripple-checked-opacity);
3023
+ $ripple-warn-color: mat-color($warn, $thumb-checked-hue, $ripple-checked-opacity);
3024
+
3025
+ .mat-slide-toggle {
3026
+ @include _mat-slide-toggle-checked($accent, $thumb-checked-hue);
3027
+ @include _mat-slide-toggle-ripple($accent, $ripple-unchecked-color, $ripple-accent-color);
3028
+
3029
+ &.mat-primary {
3030
+ @include _mat-slide-toggle-checked($primary, $thumb-checked-hue);
3031
+ @include _mat-slide-toggle-ripple($accent, $ripple-unchecked-color, $ripple-primary-color);
3032
+ }
3033
+
3034
+ &.mat-warn {
3035
+ @include _mat-slide-toggle-checked($warn, $thumb-checked-hue);
3036
+ @include _mat-slide-toggle-ripple($accent, $ripple-unchecked-color, $ripple-warn-color);
3037
+ }
3038
+
3039
+ }
3040
+
3041
+ .mat-disabled {
3042
+ .mat-slide-toggle-thumb {
3043
+ // The thumb of the slide-toggle always uses the hue 400 of the grey palette in dark
3044
+ // or light themes. Since this is very specific to the slide-toggle component, we're not
3045
+ // providing it in the background palette.
3046
+ background-color: mat-color($mat-grey, $thumb-disabled-hue);
3047
+ }
3048
+ .mat-slide-toggle-bar {
3049
+ background-color: $bar-disabled-color;
3050
+ }
3051
+ }
3052
+
3053
+ .mat-slide-toggle-thumb {
3054
+ background-color: mat-color($mat-grey, $thumb-normal-hue);
3055
+ }
3056
+
3057
+ .mat-slide-toggle-bar {
3058
+ background-color: $bar-normal-color;
3059
+ }
3060
+ }
3061
+
3062
+ @mixin mat-slide-toggle-typography($config) {
3063
+ .mat-slide-toggle-content {
3064
+ @include mat-typography-level-to-styles($config, body-1);
3065
+ }
3066
+ }
3067
+
3068
+
3069
+
3070
+
3071
+
3072
+ @mixin _mat-slider-inner-content-theme($palette) {
3073
+ .mat-slider-track-fill,
3074
+ .mat-slider-thumb,
3075
+ .mat-slider-thumb-label {
3076
+ background-color: mat-color($palette);
3077
+ }
3078
+
3079
+ .mat-slider-thumb-label-text {
3080
+ color: mat-color($palette, default-contrast);
3081
+ }
3082
+ }
3083
+
3084
+ @mixin mat-slider-theme($theme) {
3085
+ $primary: map-get($theme, primary);
3086
+ $accent: map-get($theme, accent);
3087
+ $warn: map-get($theme, warn);
3088
+ $background: map-get($theme, background);
3089
+ $foreground: map-get($theme, foreground);
3090
+
3091
+ $mat-slider-off-color: mat-color($foreground, slider-off);
3092
+ $mat-slider-off-focused-color: mat-color($foreground, slider-off-active);
3093
+ $mat-slider-disabled-color: mat-color($foreground, slider-off);
3094
+ $mat-slider-labeled-min-value-thumb-color: mat-color($foreground, slider-min);
3095
+ $mat-slider-labeled-min-value-thumb-label-color: mat-color($foreground, slider-off);
3096
+ $mat-slider-focus-ring-color: mat-color($accent, default, 0.2);
3097
+ $mat-slider-focus-ring-min-value-color: mat-color($foreground, base, 0.12);
3098
+ $mat-slider-tick-color: mat-color($foreground, base, 0.7);
3099
+ $mat-slider-tick-size: 2px;
3100
+
3101
+ .mat-slider-track-background {
3102
+ background-color: $mat-slider-off-color;
3103
+ }
3104
+
3105
+ .mat-primary {
3106
+ @include _mat-slider-inner-content-theme($primary);
3107
+ }
3108
+
3109
+ .mat-accent {
3110
+ @include _mat-slider-inner-content-theme($accent);
3111
+ }
3112
+
3113
+ .mat-warn {
3114
+ @include _mat-slider-inner-content-theme($warn);
3115
+ }
3116
+
3117
+ .mat-slider-focus-ring {
3118
+ background-color: $mat-slider-focus-ring-color;
3119
+ }
3120
+
3121
+ .mat-slider:hover,
3122
+ .cdk-focused {
3123
+ .mat-slider-track-background {
3124
+ background-color: $mat-slider-off-focused-color;
3125
+ }
3126
+ }
3127
+
3128
+ .mat-slider-disabled {
3129
+ .mat-slider-track-background,
3130
+ .mat-slider-track-fill,
3131
+ .mat-slider-thumb {
3132
+ background-color: $mat-slider-disabled-color;
3133
+ }
3134
+
3135
+ &:hover {
3136
+ .mat-slider-track-background {
3137
+ background-color: $mat-slider-disabled-color;
3138
+ }
3139
+ }
3140
+ }
3141
+
3142
+ .mat-slider-min-value {
3143
+ .mat-slider-focus-ring {
3144
+ background-color: $mat-slider-focus-ring-min-value-color;
3145
+ }
3146
+
3147
+ &.mat-slider-thumb-label-showing {
3148
+ .mat-slider-thumb,
3149
+ .mat-slider-thumb-label {
3150
+ background-color: $mat-slider-labeled-min-value-thumb-color;
3151
+ }
3152
+
3153
+ &.cdk-focused {
3154
+ .mat-slider-thumb,
3155
+ .mat-slider-thumb-label {
3156
+ background-color: $mat-slider-labeled-min-value-thumb-label-color;
3157
+ }
3158
+ }
3159
+ }
3160
+
3161
+ &:not(.mat-slider-thumb-label-showing) {
3162
+ .mat-slider-thumb {
3163
+ border-color: $mat-slider-off-color;
3164
+ background-color: transparent;
3165
+ }
3166
+
3167
+ &:hover,
3168
+ &.cdk-focused {
3169
+ .mat-slider-thumb {
3170
+ border-color: $mat-slider-off-focused-color;
3171
+ }
3172
+
3173
+ &.mat-slider-disabled .mat-slider-thumb {
3174
+ border-color: $mat-slider-disabled-color;
3175
+ }
3176
+ }
3177
+ }
3178
+ }
3179
+
3180
+ .mat-slider-has-ticks .mat-slider-wrapper::after {
3181
+ border-color: $mat-slider-tick-color;
3182
+ }
3183
+
3184
+ .mat-slider-horizontal .mat-slider-ticks {
3185
+ background-image: repeating-linear-gradient(to right, $mat-slider-tick-color,
3186
+ $mat-slider-tick-color $mat-slider-tick-size, transparent 0, transparent);
3187
+ // Firefox doesn't draw the gradient correctly with 'to right'
3188
+ // (see https://bugzilla.mozilla.org/show_bug.cgi?id=1314319).
3189
+ background-image: -moz-repeating-linear-gradient(0.0001deg, $mat-slider-tick-color,
3190
+ $mat-slider-tick-color $mat-slider-tick-size, transparent 0, transparent);
3191
+ }
3192
+
3193
+ .mat-slider-vertical .mat-slider-ticks {
3194
+ background-image: repeating-linear-gradient(to bottom, $mat-slider-tick-color,
3195
+ $mat-slider-tick-color $mat-slider-tick-size, transparent 0, transparent);
3196
+ }
3197
+ }
3198
+
3199
+ @mixin mat-slider-typography($config) {
3200
+ .mat-slider-thumb-label-text {
3201
+ font: {
3202
+ family: mat-font-family($config);
3203
+ size: mat-font-size($config, caption);
3204
+ weight: mat-font-weight($config, body-2);
3205
+ }
3206
+ }
3207
+ }
3208
+
3209
+
3210
+
3211
+
3212
+
3213
+ @mixin mat-stepper-theme($theme) {
3214
+ $foreground: map-get($theme, foreground);
3215
+ $background: map-get($theme, background);
3216
+ $primary: map-get($theme, primary);
3217
+
3218
+ .mat-step-header {
3219
+ &:focus,
3220
+ &:hover {
3221
+ background-color: mat-color($background, hover);
3222
+ }
3223
+
3224
+ .mat-step-label,
3225
+ .mat-step-optional {
3226
+ color: mat-color($foreground, disabled-text);
3227
+ }
3228
+
3229
+ .mat-step-icon {
3230
+ background-color: mat-color($primary);
3231
+ color: mat-color($primary, default-contrast);
3232
+ }
3233
+
3234
+ .mat-step-icon-not-touched {
3235
+ background-color: mat-color($foreground, disabled-text);
3236
+ color: mat-color($primary, default-contrast);
3237
+ }
3238
+
3239
+ .mat-step-label.mat-step-label-active {
3240
+ color: mat-color($foreground, text);
3241
+ }
3242
+ }
3243
+
3244
+ .mat-stepper-horizontal, .mat-stepper-vertical {
3245
+ background-color: mat-color($background, card);
3246
+ }
3247
+
3248
+ .mat-stepper-vertical-line::before {
3249
+ border-left-color: mat-color($foreground, divider);
3250
+ }
3251
+
3252
+ .mat-stepper-horizontal-line {
3253
+ border-top-color: mat-color($foreground, divider);
3254
+ }
3255
+ }
3256
+
3257
+ @mixin mat-stepper-typography($config) {
3258
+ .mat-stepper-vertical, .mat-stepper-horizontal {
3259
+ font-family: mat-font-family($config);
3260
+ }
3261
+ }
3262
+
3263
+
3264
+
3265
+
3266
+
3267
+ @mixin mat-tabs-theme($theme) {
3268
+ $primary: map-get($theme, primary);
3269
+ $accent: map-get($theme, accent);
3270
+ $warn: map-get($theme, warn);
3271
+ $background: map-get($theme, background);
3272
+ $foreground: map-get($theme, foreground);
3273
+ $header-border: 1px solid mat-color($foreground, divider);
3274
+
3275
+ .mat-tab-nav-bar,
3276
+ .mat-tab-header {
3277
+ border-bottom: $header-border;
3278
+ }
3279
+
3280
+ .mat-tab-group-inverted-header {
3281
+ .mat-tab-nav-bar,
3282
+ .mat-tab-header {
3283
+ border-top: $header-border;
3284
+ border-bottom: none;
3285
+ }
3286
+ }
3287
+
3288
+ .mat-tab-label, .mat-tab-link {
3289
+ color: mat-color($foreground, text);
3290
+
3291
+ &.mat-tab-disabled {
3292
+ color: mat-color($foreground, disabled-text);
3293
+ }
3294
+ }
3295
+
3296
+ .mat-tab-header-pagination-chevron {
3297
+ border-color: mat-color($foreground, text);
3298
+ }
3299
+
3300
+ .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
3301
+ border-color: mat-color($foreground, disabled-text);
3302
+ }
3303
+
3304
+ // Remove header border when there is a background color
3305
+ .mat-tab-group[class*='mat-background-'] .mat-tab-header,
3306
+ .mat-tab-nav-bar[class*='mat-background-'] {
3307
+ border-bottom: none;
3308
+ border-top: none;
3309
+ }
3310
+
3311
+ .mat-tab-group, .mat-tab-nav-bar {
3312
+ $theme-colors: (
3313
+ primary: $primary,
3314
+ accent: $accent,
3315
+ warn: $warn
3316
+ );
3317
+
3318
+ @each $name, $color in $theme-colors {
3319
+ // Set the foreground color of the tabs
3320
+ &.mat-#{$name} {
3321
+ @include _mat-tab-label-focus($color);
3322
+ @include _mat-ink-bar($color);
3323
+
3324
+ // Override ink bar when background color is the same
3325
+ &.mat-background-#{$name} {
3326
+ @include _mat-ink-bar($color, default-contrast);
3327
+ }
3328
+ }
3329
+ }
3330
+
3331
+ @each $name, $color in $theme-colors {
3332
+ // Set background color of the tabs and override focus color
3333
+ &.mat-background-#{$name} {
3334
+ @include _mat-tab-label-focus($color);
3335
+ @include _mat-tabs-background($color);
3336
+ }
3337
+ }
3338
+ }
3339
+ }
3340
+
3341
+ @mixin _mat-ink-bar($color, $hue: default) {
3342
+ .mat-ink-bar {
3343
+ background-color: mat-color($color, $hue);
3344
+ }
3345
+ }
3346
+
3347
+ @mixin _mat-tab-label-focus($tab-focus-color) {
3348
+ .mat-tab-label:focus, .mat-tab-link:focus {
3349
+ background-color: mat-color($tab-focus-color, lighter, 0.3);
3350
+ }
3351
+ }
3352
+
3353
+ @mixin _mat-tabs-background($background-color) {
3354
+ // Set background color for the tab group
3355
+ .mat-tab-header, .mat-tab-links {
3356
+ background-color: mat-color($background-color);
3357
+ }
3358
+
3359
+ // Set labels to contrast against background
3360
+ .mat-tab-label, .mat-tab-link {
3361
+ color: mat-color($background-color, default-contrast);
3362
+
3363
+ &.mat-tab-disabled {
3364
+ color: mat-color($background-color, default-contrast, 0.4);
3365
+ }
3366
+ }
3367
+
3368
+ // Set pagination chevrons to contrast background
3369
+ .mat-tab-header-pagination-chevron {
3370
+ border-color: mat-color($background-color, default-contrast);
3371
+ }
3372
+
3373
+ .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
3374
+ border-color: mat-color($background-color, default-contrast, 0.4);
3375
+ }
3376
+ }
3377
+
3378
+ @mixin mat-tabs-typography($config) {
3379
+ .mat-tab-group {
3380
+ font-family: mat-font-family($config);
3381
+ }
3382
+
3383
+ .mat-tab-label, .mat-tab-link {
3384
+ font: {
3385
+ family: mat-font-family($config, button);
3386
+ size: mat-font-size($config, button);
3387
+ weight: mat-font-weight($config, button);
3388
+ }
3389
+ }
3390
+ }
3391
+
3392
+
3393
+
3394
+
3395
+
3396
+
3397
+ @mixin _mat-toolbar-color($palette) {
3398
+ background: mat-color($palette);
3399
+ color: mat-color($palette, default-contrast);
3400
+ }
3401
+
3402
+ @mixin mat-toolbar-theme($theme) {
3403
+ $primary: map-get($theme, primary);
3404
+ $accent: map-get($theme, accent);
3405
+ $warn: map-get($theme, warn);
3406
+ $background: map-get($theme, background);
3407
+ $foreground: map-get($theme, foreground);
3408
+
3409
+ .mat-toolbar {
3410
+ background: mat-color($background, app-bar);
3411
+ color: mat-color($foreground, text);
3412
+
3413
+ &.mat-primary {
3414
+ @include _mat-toolbar-color($primary);
3415
+ }
3416
+
3417
+ &.mat-accent {
3418
+ @include _mat-toolbar-color($accent);
3419
+ }
3420
+
3421
+ &.mat-warn {
3422
+ @include _mat-toolbar-color($warn);
3423
+ }
3424
+ }
3425
+ }
3426
+
3427
+ @mixin mat-toolbar-typography($config) {
3428
+ .mat-toolbar,
3429
+ .mat-toolbar h1,
3430
+ .mat-toolbar h2,
3431
+ .mat-toolbar h3,
3432
+ .mat-toolbar h4,
3433
+ .mat-toolbar h5,
3434
+ .mat-toolbar h6 {
3435
+ @include mat-typography-level-to-styles($config, title);
3436
+ margin: 0;
3437
+ }
3438
+ }
3439
+
3440
+
3441
+
3442
+
3443
+
3444
+ // TODO(crisbeto): these doesn't correspond to any typography levels
3445
+ // and the width/height appear to be off from the spec.
3446
+ $mat-tooltip-target-height: 22px;
3447
+ $mat-tooltip-font-size: 10px;
3448
+ $mat-tooltip-vertical-padding: ($mat-tooltip-target-height - $mat-tooltip-font-size) / 2;
3449
+
3450
+ @mixin mat-tooltip-theme($theme) {
3451
+ .mat-tooltip {
3452
+ background: mat-color($mat-grey, 700, 0.9);
3453
+ }
3454
+ }
3455
+
3456
+ @mixin mat-tooltip-typography($config) {
3457
+ .mat-tooltip {
3458
+ font-family: mat-font-family($config);
3459
+ font-size: $mat-tooltip-font-size;
3460
+ padding-top: $mat-tooltip-vertical-padding;
3461
+ padding-bottom: $mat-tooltip-vertical-padding;
3462
+ }
3463
+ }
3464
+
3465
+
3466
+
3467
+
3468
+ @mixin mat-snack-bar-theme($theme) {
3469
+ $is-dark-theme: map-get($theme, is-dark);
3470
+ $accent: map-get($theme, accent);
3471
+
3472
+ .mat-snack-bar-container {
3473
+ background: if($is-dark-theme, map-get($mat-grey, 50), #323232);
3474
+ color: if($is-dark-theme, $black-87-opacity, white);
3475
+ }
3476
+
3477
+ .mat-simple-snackbar-action {
3478
+ color: if($is-dark-theme, inherit, mat-color($accent));
3479
+ }
3480
+ }
3481
+
3482
+ @mixin mat-snack-bar-typography($config) {
3483
+ .mat-simple-snackbar {
3484
+ font: {
3485
+ family: mat-font-family($config, body-1);
3486
+ size: mat-font-size($config, body-1);
3487
+ }
3488
+ }
3489
+
3490
+ .mat-simple-snackbar-action {
3491
+ line-height: 1;
3492
+ font: {
3493
+ family: inherit;
3494
+ size: inherit;
3495
+ weight: mat-font-weight($config, button);
3496
+ }
3497
+ }
3498
+ }
3499
+
3500
+
3501
+
3502
+
3503
+
3504
+
3505
+
3506
+
3507
+
3508
+ @mixin mat-form-field-theme($theme) {
3509
+ $primary: map-get($theme, primary);
3510
+ $accent: map-get($theme, accent);
3511
+ $warn: map-get($theme, warn);
3512
+ $background: map-get($theme, background);
3513
+ $foreground: map-get($theme, foreground);
3514
+ $is-dark-theme: map-get($theme, is-dark);
3515
+
3516
+ // Placeholder colors. Required is used for the `*` star shown in the placeholder.
3517
+ $placeholder-color: mat-color($foreground, secondary-text);
3518
+ $floating-placeholder-color: mat-color($primary);
3519
+ $required-placeholder-color: mat-color($accent);
3520
+
3521
+ // Underline colors.
3522
+ $underline-color: mat-color($foreground, divider, if($is-dark-theme, 0.7, 0.42));
3523
+ $underline-color-accent: mat-color($accent);
3524
+ $underline-color-warn: mat-color($warn);
3525
+ $underline-focused-color: mat-color($primary);
3526
+
3527
+ // Define the width here so that it is easier for users to override with one css class worth
3528
+ // of specificity.
3529
+ .mat-form-field {
3530
+ width: 200px;
3531
+ }
3532
+
3533
+ .mat-form-field-placeholder {
3534
+ color: $placeholder-color;
3535
+ }
3536
+
3537
+ .mat-hint {
3538
+ color: mat-color($foreground, secondary-text);
3539
+ }
3540
+
3541
+ .mat-focused .mat-form-field-placeholder {
3542
+ color: $floating-placeholder-color;
3543
+
3544
+ &.mat-accent {
3545
+ color: $underline-color-accent;
3546
+ }
3547
+
3548
+ &.mat-warn {
3549
+ color: $underline-color-warn;
3550
+ }
3551
+ }
3552
+
3553
+ .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-placeholder,
3554
+ .mat-focused .mat-form-field-placeholder.mat-form-field-float {
3555
+ .mat-form-field-required-marker {
3556
+ color: $required-placeholder-color;
3557
+ }
3558
+ }
3559
+
3560
+ .mat-form-field-underline {
3561
+ background-color: $underline-color;
3562
+
3563
+ &.mat-disabled {
3564
+ @include mat-control-disabled-underline($underline-color);
3565
+ }
3566
+ }
3567
+
3568
+ .mat-form-field-ripple {
3569
+ background-color: $underline-focused-color;
3570
+
3571
+ &.mat-accent {
3572
+ background-color: $underline-color-accent;
3573
+ }
3574
+
3575
+ &.mat-warn {
3576
+ background-color: $underline-color-warn;
3577
+ }
3578
+ }
3579
+
3580
+ // Styling for the error state of the form field. Note that while the same can be
3581
+ // achieved with the ng-* classes, we use this approach in order to ensure that the same
3582
+ // logic is used to style the error state and to show the error messages.
3583
+ .mat-form-field-invalid {
3584
+ .mat-form-field-placeholder {
3585
+ color: $underline-color-warn;
3586
+
3587
+ &.mat-accent,
3588
+ &.mat-form-field-float .mat-form-field-required-marker {
3589
+ color: $underline-color-warn;
3590
+ }
3591
+ }
3592
+
3593
+ .mat-form-field-ripple {
3594
+ background-color: $underline-color-warn;
3595
+ }
3596
+ }
3597
+
3598
+ .mat-error {
3599
+ color: $underline-color-warn;
3600
+ }
3601
+ }
3602
+
3603
+ // Applies a floating placeholder above the form field control itself.
3604
+ @mixin _mat-form-field-placeholder-floating($font-scale, $infix-padding, $infix-margin-top) {
3605
+ // We use perspective to fix the text blurriness as described here:
3606
+ // http://www.useragentman.com/blog/2014/05/04/fixing-typography-inside-of-2-d-css-transforms/
3607
+ // This results in a small jitter after the label floats on Firefox, which the
3608
+ // translateZ fixes.
3609
+ transform: translateY(-$infix-margin-top - $infix-padding) scale($font-scale) perspective(100px)
3610
+ translateZ(0.001px);
3611
+ // The tricks above used to smooth out the animation on chrome and firefox actually make things
3612
+ // worse on IE, so we don't include them in the IE version.
3613
+ -ms-transform: translateY(-$infix-margin-top - $infix-padding)
3614
+ scale($font-scale);
3615
+
3616
+ width: 100% / $font-scale;
3617
+ }
3618
+
3619
+ @mixin mat-form-field-typography($config) {
3620
+ // The unit-less line-height from the font config.
3621
+ $line-height: mat-line-height($config, input);
3622
+
3623
+ // The amount to scale the font for the floating label and subscript.
3624
+ $subscript-font-scale: 0.75;
3625
+ // The amount to scale the font for the prefix and suffix icons.
3626
+ $prefix-suffix-icon-font-scale: 1.5;
3627
+
3628
+ // The amount of space between the top of the line and the top of the actual text
3629
+ // (as a fraction of the font-size).
3630
+ $line-spacing: ($line-height - 1) / 2;
3631
+ // The padding on the infix. Mocks show half of the text size, but seem to measure from the edge
3632
+ // of the text itself, not the edge of the line; therefore we subtract off the line spacing.
3633
+ $infix-padding: 0.5em - $line-spacing;
3634
+ // The margin applied to the form-field-infix to reserve space for the floating label.
3635
+ $infix-margin-top: 1em * $line-height * $subscript-font-scale;
3636
+ // Font size to use for the label and subscript text.
3637
+ $subscript-font-size: $subscript-font-scale * 100%;
3638
+ // Font size to use for the for the prefix and suffix icons.
3639
+ $prefix-suffix-icon-font-size: $prefix-suffix-icon-font-scale * 100%;
3640
+ // The space between the bottom of the .mat-form-field-flex area and the subscript wrapper.
3641
+ // Mocks show half of the text size, but this margin is applied to an element with the subscript
3642
+ // text font size, so we need to divide by the scale factor to make it half of the original text
3643
+ // size. We again need to subtract off the line spacing since the mocks measure to the edge of the
3644
+ // text, not the edge of the line.
3645
+ $subscript-margin-top: 0.5em / $subscript-font-scale - ($line-spacing * 2);
3646
+ // The padding applied to the form-field-wrapper to reserve space for the subscript, since it's
3647
+ // absolutely positioned. This is a combination of the subscript's margin and line-height, but we
3648
+ // need to multiply by the subscript font scale factor since the wrapper has a larger font size.
3649
+ $wrapper-padding-bottom: ($subscript-margin-top + $line-height) * $subscript-font-scale;
3650
+
3651
+ .mat-form-field {
3652
+ font-family: mat-font-family($config);
3653
+ font-size: inherit;
3654
+ font-weight: mat-font-weight($config, input);
3655
+ line-height: mat-line-height($config, input);
3656
+ }
3657
+
3658
+ .mat-form-field-wrapper {
3659
+ padding-bottom: $wrapper-padding-bottom;
3660
+ }
3661
+
3662
+ .mat-form-field-prefix,
3663
+ .mat-form-field-suffix {
3664
+ // Allow icons in a prefix or suffix to adapt to the correct size.
3665
+ .mat-icon {
3666
+ font-size: $prefix-suffix-icon-font-size;
3667
+ line-height: $line-height;
3668
+ }
3669
+
3670
+ // Allow icon buttons in a prefix or suffix to adapt to the correct size.
3671
+ .mat-icon-button {
3672
+ height: $prefix-suffix-icon-font-scale * 1em;
3673
+ width: $prefix-suffix-icon-font-scale * 1em;
3674
+
3675
+ .mat-icon {
3676
+ height: $line-height * 1em;
3677
+ line-height: $line-height;
3678
+ }
3679
+ }
3680
+ }
3681
+
3682
+ .mat-form-field-infix {
3683
+ padding: $infix-padding 0;
3684
+ // Throws off the baseline if we do it as a real margin, so we do it as a border instead.
3685
+ border-top: $infix-margin-top solid transparent;
3686
+ }
3687
+
3688
+ .mat-form-field-autofill-control {
3689
+ &:-webkit-autofill + .mat-form-field-placeholder-wrapper .mat-form-field-float {
3690
+ @include _mat-form-field-placeholder-floating(
3691
+ $subscript-font-scale, $infix-padding, $infix-margin-top);
3692
+ }
3693
+ }
3694
+
3695
+ .mat-form-field-placeholder-wrapper {
3696
+ top: -$infix-margin-top;
3697
+ padding-top: $infix-margin-top;
3698
+ }
3699
+
3700
+ .mat-form-field-placeholder {
3701
+ top: $infix-margin-top + $infix-padding;
3702
+
3703
+ // Show the placeholder above the control when it's not empty, or focused.
3704
+ &.mat-form-field-float:not(.mat-form-field-empty),
3705
+ .mat-focused &.mat-form-field-float {
3706
+ @include _mat-form-field-placeholder-floating($subscript-font-scale,
3707
+ $infix-padding, $infix-margin-top);
3708
+ }
3709
+ }
3710
+
3711
+ .mat-form-field-underline {
3712
+ // We want the underline to start at the end of the content box, not the padding box,
3713
+ // so we move it up by the padding amount.
3714
+ bottom: $wrapper-padding-bottom;
3715
+ }
3716
+
3717
+ .mat-form-field-subscript-wrapper {
3718
+ font-size: $subscript-font-size;
3719
+ margin-top: $subscript-margin-top;
3720
+
3721
+ // We want the subscript to start at the end of the content box, not the padding box,
3722
+ // so we move it up by the padding amount (adjusted for the smaller font size);
3723
+ top: calc(100% - #{$wrapper-padding-bottom / $subscript-font-scale});
3724
+ }
3725
+ }
3726
+
3727
+
3728
+
3729
+ // Includes all of the typographic styles.
3730
+ @mixin angular-material-typography($config: null) {
3731
+ @if $config == null {
3732
+ $config: mat-typography-config();
3733
+ }
3734
+
3735
+ @include mat-base-typography($config);
3736
+ @include mat-autocomplete-typography($config);
3737
+ @include mat-button-typography($config);
3738
+ @include mat-button-toggle-typography($config);
3739
+ @include mat-card-typography($config);
3740
+ @include mat-checkbox-typography($config);
3741
+ @include mat-chips-typography($config);
3742
+ @include mat-table-typography($config);
3743
+ @include mat-datepicker-typography($config);
3744
+ @include mat-dialog-typography($config);
3745
+ @include mat-expansion-panel-typography($config);
3746
+ @include mat-form-field-typography($config);
3747
+ @include mat-grid-list-typography($config);
3748
+ @include mat-icon-typography($config);
3749
+ @include mat-input-typography($config);
3750
+ @include mat-menu-typography($config);
3751
+ @include mat-paginator-typography($config);
3752
+ @include mat-progress-bar-typography($config);
3753
+ @include mat-progress-spinner-typography($config);
3754
+ @include mat-radio-typography($config);
3755
+ @include mat-select-typography($config);
3756
+ @include mat-sidenav-typography($config);
3757
+ @include mat-slide-toggle-typography($config);
3758
+ @include mat-slider-typography($config);
3759
+ @include mat-stepper-typography($config);
3760
+ @include mat-tabs-typography($config);
3761
+ @include mat-toolbar-typography($config);
3762
+ @include mat-tooltip-typography($config);
3763
+ @include mat-list-typography($config);
3764
+ @include mat-option-typography($config);
3765
+ @include mat-optgroup-typography($config);
3766
+ @include mat-snack-bar-typography($config);
3767
+ }
3768
+
3769
+
3770
+ // Mixin that renders all of the core styles that are not theme-dependent.
3771
+ @mixin mat-core($typography-config: null) {
3772
+ // Provides external CSS classes for each elevation value. Each CSS class is formatted as
3773
+ // `mat-elevation-z$zValue` where `$zValue` corresponds to the z-space to which the element is
3774
+ // elevated.
3775
+ @for $zValue from 0 through 24 {
3776
+ .mat-elevation-z#{$zValue} {
3777
+ @include mat-elevation($zValue);
3778
+ }
3779
+ }
3780
+
3781
+ @include angular-material-typography($typography-config);
3782
+ @include mat-ripple();
3783
+ @include mat-option();
3784
+ @include mat-optgroup();
3785
+ @include cdk-a11y();
3786
+ @include cdk-overlay();
3787
+ }
3788
+
3789
+ // Mixin that renders all of the core styles that depend on the theme.
3790
+ @mixin mat-core-theme($theme) {
3791
+ @include mat-ripple-theme($theme);
3792
+ @include mat-option-theme($theme);
3793
+ @include mat-optgroup-theme($theme);
3794
+ @include mat-pseudo-checkbox-theme($theme);
3795
+
3796
+ // Wrapper element that provides the theme background when the
3797
+ // user's content isn't inside of a `md-sidenav-container`.
3798
+ .mat-app-background {
3799
+ $background: map-get($theme, background);
3800
+ background-color: mat-color($background, background);
3801
+ }
3802
+
3803
+ // Marker that is used to determine whether the user has added a theme to their page.
3804
+ .mat-theme-loaded-marker {
3805
+ display: none;
3806
+ }
3807
+ }
3808
+
3809
+
3810
+
3811
+
3812
+
3813
+
3814
+
3815
+
3816
+
3817
+
3818
+
3819
+
3820
+
3821
+
3822
+
3823
+
3824
+
3825
+
3826
+
3827
+
3828
+
3829
+
3830
+
3831
+
3832
+
3833
+
3834
+
3835
+
3836
+
3837
+
3838
+
3839
+
3840
+ // Create a theme.
3841
+ @mixin angular-material-theme($theme) {
3842
+ @include mat-core-theme($theme);
3843
+ @include mat-autocomplete-theme($theme);
3844
+ @include mat-button-theme($theme);
3845
+ @include mat-button-toggle-theme($theme);
3846
+ @include mat-card-theme($theme);
3847
+ @include mat-checkbox-theme($theme);
3848
+ @include mat-chips-theme($theme);
3849
+ @include mat-table-theme($theme);
3850
+ @include mat-datepicker-theme($theme);
3851
+ @include mat-dialog-theme($theme);
3852
+ @include mat-expansion-panel-theme($theme);
3853
+ @include mat-form-field-theme($theme);
3854
+ @include mat-grid-list-theme($theme);
3855
+ @include mat-icon-theme($theme);
3856
+ @include mat-input-theme($theme);
3857
+ @include mat-list-theme($theme);
3858
+ @include mat-menu-theme($theme);
3859
+ @include mat-paginator-theme($theme);
3860
+ @include mat-progress-bar-theme($theme);
3861
+ @include mat-progress-spinner-theme($theme);
3862
+ @include mat-radio-theme($theme);
3863
+ @include mat-select-theme($theme);
3864
+ @include mat-sidenav-theme($theme);
3865
+ @include mat-slide-toggle-theme($theme);
3866
+ @include mat-slider-theme($theme);
3867
+ @include mat-stepper-theme($theme);
3868
+ @include mat-tabs-theme($theme);
3869
+ @include mat-toolbar-theme($theme);
3870
+ @include mat-tooltip-theme($theme);
3871
+ @include mat-snack-bar-theme($theme);
3872
+ }