UNPKG

glamorous

Version:

React component styling solved

157 lines (153 loc) 14.8 kB
import { ExtraGlamorousProps } from './glamorous-component'; import { CSSProperties } from './css-properties'; // The file `./named-built-in-glamorous-components.d.ts` is based off this file // and should get any updates this file does. /* * FIXME: * Since TypeScript doesn't have * HTMLDetailsElement, HTMLDialogElement, * HTMLKeygenElement, HTMLMenuItemElement * Those components currently has wrong type. * After TypeScript add those types, plz fix this. * Reference: https://github.com/Microsoft/TypeScript/issues/17828 */ export interface HTMLComponent { A: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLAnchorElement>> Abbr: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Address: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Area: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLAreaElement>> Article: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Aside: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Audio: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLAudioElement>> B: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Base: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLBaseElement>> Bdi: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Bdo: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Big: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Blockquote: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLQuoteElement>> Body: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLBodyElement>> Br: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLBRElement>> Button: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLButtonElement>> Canvas: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLCanvasElement>> Caption: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLTableCaptionElement>> Cite: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Code: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Col: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLTableColElement>> Colgroup: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLTableColElement>> Data: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLDataElement>> Datalist: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLDataListElement>> Dd: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Del: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLModElement>> // TypeScript doesn't have HTMLDetailsElement Details: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Dfn: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> // TypeScript doesn't have HTMLDialogElement Dialog: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Div: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLDivElement>> Dl: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLDListElement>> Dt: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Em: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Embed: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLEmbedElement>> Fieldset: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLFieldSetElement>> Figcaption: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Figure: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Footer: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Form: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLFormElement>> H1: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLHeadingElement>> H2: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLHeadingElement>> H3: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLHeadingElement>> H4: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLHeadingElement>> H5: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLHeadingElement>> H6: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLHeadingElement>> Head: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLHeadElement>> Header: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Hgroup: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Hr: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLHRElement>> Html: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLHtmlElement>> I: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Iframe: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLIFrameElement>> Img: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLImageElement>> Input: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLInputElement>> Ins: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLModElement>> Kbd: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> // TypeScript doesn't have HTMLKeygenElement Keygen: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Label: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLLabelElement>> Legend: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLLegendElement>> Li: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLLIElement>> Link: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLLinkElement>> Main: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Map: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLMapElement>> Mark: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Menu: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLMenuElement>> // TypeScript doesn't have HTMLMenuItemElement Menuitem: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Meta: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLMetaElement>> Meter: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLMeterElement>> Nav: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Noscript: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Object: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLObjectElement>> Ol: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLOListElement>> Optgroup: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLOptGroupElement>> Option: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLOptionElement>> Output: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLOutputElement>> P: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLParagraphElement>> Param: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLParamElement>> Picture: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLPictureElement>> Pre: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLPreElement>> Progress: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLProgressElement>> Q: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLQuoteElement>> Rp: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Rt: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Ruby: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> S: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Samp: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Script: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLScriptElement>> Section: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Select: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLSelectElement>> Small: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Source: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLSourceElement>> Span: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLSpanElement>> Strong: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Style: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLStyleElement>> Sub: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Summary: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Sup: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Table: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLTableElement>> Tbody: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLTableSectionElement>> Td: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLTableDataCellElement>> Textarea: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLTextAreaElement>> Tfoot: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLTableSectionElement>> Th: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLTableHeaderCellElement>> Thead: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLTableSectionElement>> Time: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLTimeElement>> Title: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLTitleElement>> Tr: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLTableRowElement>> Track: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLTrackElement>> U: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Ul: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLUListElement>> Var: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> Video: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLVideoElement>> Wbr: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.HTMLProps<HTMLElement>> } export interface SVGComponent { Circle: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGCircleElement>>; ClipPath: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGClipPathElement>>; Defs: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGDefsElement>>; Ellipse: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGEllipseElement>>; G: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGGElement>>; Image: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGImageElement>>; Line: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGLineElement>>; LinearGradient: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGLinearGradientElement>>; Mask: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGMaskElement>>; Path: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGPathElement>>; Pattern: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGPatternElement>>; Polygon: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGPolygonElement>>; Polyline: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGPolylineElement>>; RadialGradient: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGRadialGradientElement>>; Rect: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGRectElement>>; Stop: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGStopElement>>; Svg: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGSVGElement>>; Text: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGTextElement>>; Tspan: React.StatelessComponent<CSSProperties & ExtraGlamorousProps & React.SVGAttributes<SVGTSpanElement>>; }