UNPKG

@emotion/react

Version:

> Simple styling in React.

41 lines (34 loc) 1.57 kB
import 'react' import { Interpolation } from '@emotion/serialize' import { Theme } from './index' type WithConditionalCSSProp<P> = 'className' extends keyof P ? string extends P['className' & keyof P] ? { css?: Interpolation<Theme> } : {} : {} // unpack all here to avoid infinite self-referencing when defining our own JSX namespace type ReactJSXElement = JSX.Element type ReactJSXElementClass = JSX.ElementClass type ReactJSXElementAttributesProperty = JSX.ElementAttributesProperty type ReactJSXElementChildrenAttribute = JSX.ElementChildrenAttribute type ReactJSXLibraryManagedAttributes<C, P> = JSX.LibraryManagedAttributes<C, P> type ReactJSXIntrinsicAttributes = JSX.IntrinsicAttributes type ReactJSXIntrinsicClassAttributes<T> = JSX.IntrinsicClassAttributes<T> type ReactJSXIntrinsicElements = JSX.IntrinsicElements export namespace EmotionJSX { interface Element extends ReactJSXElement {} interface ElementClass extends ReactJSXElementClass {} interface ElementAttributesProperty extends ReactJSXElementAttributesProperty {} interface ElementChildrenAttribute extends ReactJSXElementChildrenAttribute {} type LibraryManagedAttributes<C, P> = WithConditionalCSSProp<P> & ReactJSXLibraryManagedAttributes<C, P> interface IntrinsicAttributes extends ReactJSXIntrinsicAttributes {} interface IntrinsicClassAttributes<T> extends ReactJSXIntrinsicClassAttributes<T> {} type IntrinsicElements = { [K in keyof ReactJSXIntrinsicElements]: ReactJSXIntrinsicElements[K] & { css?: Interpolation<Theme> } } }