react-mqls
Version:
Javascript media query match for React.js
33 lines (32 loc) • 990 B
TypeScript
import React, { Component } from 'react';
import PropTypes from 'prop-types';
export declare type QueryPreset = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
export interface Query {
query?: string;
preset?: QueryPreset;
component: React.ReactNode;
}
export interface MediaQueryProps {
queries: Query[];
targetWindow?: Window;
}
interface IState {
matchedQuery: string[];
}
declare class MediaQuery extends Component<MediaQueryProps, IState> {
mediaQueryList: {
[key: string]: any;
};
static propTypes: {
queries: PropTypes.Requireable<object[]>;
targetWindow: PropTypes.Requireable<object>;
};
state: IState;
componentDidMount(): void;
componentWillUnmount(): void;
getMatched: (targetQuery: string) => Query;
cancellableListener: (originQuery: string, mql: MediaQueryListEvent | MediaQueryList) => void;
cancel: () => void;
render(): any;
}
export default MediaQuery;