UNPKG

3.77 kBTypeScriptView Raw
1/**
2 * TODO: This is the deprecated runtime media-query component from Reaction.
3 * It can probably be simplified somewhat if we’re not going to be using
4 * it directly any longer.
5 */
6import React from "react";
7/** TODO */
8export declare type MediaQueries<M extends string = string> = {
9 [K in M]: string;
10};
11/** TODO */
12export interface MediaQueryMatchers {
13 [key: string]: MediaQueryList;
14}
15/** TODO */
16export declare type MediaQueryMatches<M extends string = string> = {
17 [K in M]: boolean;
18};
19/** TODO */
20export interface ResponsiveProviderProps<M extends string> {
21 mediaQueries: MediaQueries<M>;
22 initialMatchingMediaQueries?: M[];
23 children: React.ReactNode;
24}
25/** TODO */
26export interface ResponsiveProviderState {
27 mediaQueryMatchers?: MediaQueryMatchers;
28 mediaQueryMatches: MediaQueryMatches;
29}
30/** TODO */
31export declare function createResponsiveComponents<M extends string>(): {
32 Consumer: React.SFC<React.ConsumerProps<MediaQueryMatches<M>>>;
33 Provider: {
34 new (props: ResponsiveProviderProps<M>): {
35 isSupportedEnvironment: () => boolean;
36 /**
37 * Create an array of media matchers that can validate each media query
38 */
39 setupMatchers: (mediaQueries: MediaQueries<string>) => MediaQueryMatchers;
40 /**
41 * Uses the matchers to build a map of the states of each media query
42 */
43 checkMatchers: (mediaQueryMatchers: MediaQueryMatchers) => MediaQueryMatches<string>;
44 /**
45 * The function that will be called any time a media query status changes
46 */
47 mediaQueryStatusChangedCallback: () => void;
48 componentDidMount(): void;
49 componentWillUnmount(): void;
50 shouldComponentUpdate(nextProps: Readonly<ResponsiveProviderProps<M>>, nextState: Readonly<ResponsiveProviderState>): boolean;
51 render(): JSX.Element;
52 context: any;
53 setState<K extends "mediaQueryMatchers" | "mediaQueryMatches">(state: ResponsiveProviderState | ((prevState: Readonly<ResponsiveProviderState>, props: Readonly<ResponsiveProviderProps<M>>) => ResponsiveProviderState | Pick<ResponsiveProviderState, K> | null) | Pick<ResponsiveProviderState, K> | null, callback?: (() => void) | undefined): void;
54 forceUpdate(callBack?: (() => void) | undefined): void;
55 readonly props: Readonly<ResponsiveProviderProps<M>> & Readonly<{
56 children?: React.ReactNode;
57 }>;
58 state: Readonly<ResponsiveProviderState>;
59 refs: {
60 [key: string]: React.ReactInstance;
61 };
62 componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
63 getSnapshotBeforeUpdate?(prevProps: Readonly<ResponsiveProviderProps<M>>, prevState: Readonly<ResponsiveProviderState>): any;
64 componentDidUpdate?(prevProps: Readonly<ResponsiveProviderProps<M>>, prevState: Readonly<ResponsiveProviderState>, snapshot?: any): void;
65 componentWillMount?(): void;
66 UNSAFE_componentWillMount?(): void;
67 componentWillReceiveProps?(nextProps: Readonly<ResponsiveProviderProps<M>>, nextContext: any): void;
68 UNSAFE_componentWillReceiveProps?(nextProps: Readonly<ResponsiveProviderProps<M>>, nextContext: any): void;
69 componentWillUpdate?(nextProps: Readonly<ResponsiveProviderProps<M>>, nextState: Readonly<ResponsiveProviderState>, nextContext: any): void;
70 UNSAFE_componentWillUpdate?(nextProps: Readonly<ResponsiveProviderProps<M>>, nextState: Readonly<ResponsiveProviderState>, nextContext: any): void;
71 };
72 contextType?: React.Context<any> | undefined;
73 };
74};
75
\No newline at end of file