diff --git a/packages/material-ui-styles/src/createStyles/createStyles.spec.ts b/packages/material-ui-styles/src/createStyles/createStyles.spec.ts new file mode 100644 index 00000000000000..3d9e9f3c342047 --- /dev/null +++ b/packages/material-ui-styles/src/createStyles/createStyles.spec.ts @@ -0,0 +1,34 @@ +import { createStyles } from '@material-ui/styles'; + +{ + // Missing types for @font-face + // https://github.com/mui-org/material-ui/issues/15771 + + // Object + createStyles({ + '@global': { + '@font-face': { + fontFamily: '...', + src: '...', + fallbacks: [{ fontFamily: '...', src: '...' }], + }, + }, + }); + + // Array + createStyles({ + '@global': { + '@font-face': [ + { + fontFamily: '...', + src: '...', + fallbacks: [{ fontFamily: '...', src: '...' }], + }, + { + fontFamily: '...', + src: '...', + }, + ], + }, + }); +} diff --git a/packages/material-ui-styles/src/withStyles/withStyles.d.ts b/packages/material-ui-styles/src/withStyles/withStyles.d.ts index 9af1b7ea82a0dc..ae3ba1dfd41488 100644 --- a/packages/material-ui-styles/src/withStyles/withStyles.d.ts +++ b/packages/material-ui-styles/src/withStyles/withStyles.d.ts @@ -3,10 +3,17 @@ import { PropInjector, CoerceEmptyInterface, IsEmptyInterface } from '@material- import * as CSS from 'csstype'; import * as JSS from 'jss'; +// Disable automatic export +export {}; + +type JSSFontface = CSS.FontFace & { fallbacks?: CSS.FontFace[] }; + /** * Allows the user to augment the properties available */ -export interface BaseCSSProperties extends CSS.Properties {} +export interface BaseCSSProperties extends CSS.Properties { + '@font-face'?: JSSFontface | JSSFontface[]; +} export interface CSSProperties extends BaseCSSProperties { // Allow pseudo selectors and media queries