Security upgrades
This commit is contained in:
75
node_modules/@material-ui/core/OverridableComponent.d.ts
generated
vendored
Normal file
75
node_modules/@material-ui/core/OverridableComponent.d.ts
generated
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
import * as React from 'react';
|
||||
import { Omit } from '@material-ui/types';
|
||||
import { StyledComponentProps } from './styles';
|
||||
|
||||
/**
|
||||
* A component whose root component can be controlled via a `component` prop.
|
||||
*
|
||||
* Adjusts valid props based on the type of `component`.
|
||||
*/
|
||||
export interface OverridableComponent<M extends OverridableTypeMap> {
|
||||
<C extends React.ElementType>(
|
||||
props: {
|
||||
/**
|
||||
* The component used for the root node.
|
||||
* Either a string to use a HTML element or a component.
|
||||
*/
|
||||
component: C;
|
||||
} & OverrideProps<M, C>
|
||||
): JSX.Element;
|
||||
(props: DefaultComponentProps<M>): JSX.Element;
|
||||
}
|
||||
|
||||
/**
|
||||
* Props of the component if `component={Component}` is used.
|
||||
*/
|
||||
// prettier-ignore
|
||||
export type OverrideProps<
|
||||
M extends OverridableTypeMap,
|
||||
C extends React.ElementType
|
||||
> = (
|
||||
& BaseProps<M>
|
||||
& Omit<React.ComponentPropsWithRef<C>, keyof CommonProps<M>>
|
||||
);
|
||||
|
||||
/**
|
||||
* Props if `component={Component}` is NOT used.
|
||||
*/
|
||||
// prettier-ignore
|
||||
export type DefaultComponentProps<M extends OverridableTypeMap> =
|
||||
& BaseProps<M>
|
||||
& Omit<React.ComponentPropsWithRef<M['defaultComponent']>, keyof BaseProps<M>>;
|
||||
|
||||
/**
|
||||
* Props defined on the component (+ common material-ui props).
|
||||
*/
|
||||
// prettier-ignore
|
||||
export type BaseProps<M extends OverridableTypeMap> =
|
||||
& M['props']
|
||||
& CommonProps<M>;
|
||||
|
||||
/**
|
||||
* Props that are valid for material-ui components.
|
||||
*/
|
||||
export interface CommonProps<M extends OverridableTypeMap>
|
||||
extends StyledComponentProps<M['classKey']> {
|
||||
className?: string;
|
||||
style?: React.CSSProperties;
|
||||
}
|
||||
|
||||
export interface OverridableTypeMap {
|
||||
props: {};
|
||||
defaultComponent: React.ElementType;
|
||||
classKey: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Not used in this library.
|
||||
*/
|
||||
export type Simplify<T> = T extends any ? { [K in keyof T]: T[K] } : never;
|
||||
|
||||
/**
|
||||
* @deprecated Not used in this library.
|
||||
*/
|
||||
// tslint:disable-next-line: deprecation
|
||||
export type SimplifiedPropsOf<C extends React.ElementType> = Simplify<React.ComponentProps<C>>;
|
||||
Reference in New Issue
Block a user