// Type definitions for Rebass 0.2.5 // Project: https://github.com/jxnblk/rebass // Definitions by: rhysd // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// declare module "rebass" { export import React = __React; export interface BaseProps extends React.Props { tagName?: string; className?: string; baseStyle?: Object; style?: Object; m?: number; mt?: number; mr?: number; mb?: number; ml?: number; mx?: number; my?: number; p?: number; pt?: number; pr?: number; pb?: number; pl?: number; px?: number; py?: number; color?: string; backgroundColor?: string; inverted?: boolean; rounded?: boolean | "top" | "right" | "bottom" | "left"; circle?: boolean; pill?: boolean; } export interface ArrowProps extends BaseProps { direction?: "up" | "down"; } type ArrowClass = React.StatelessComponent export const Arrow: ArrowClass; export interface AvatarProps extends BaseProps { size?: number; src?: string; } type AvatarClass = React.StatelessComponent export const Avatar: AvatarClass; export interface BadgeProps extends BaseProps { theme?: "primary" | "secondary" | "default" | "info" | "success" | "warning" | "error"; rounded?: boolean | "top" | "right" | "bottom" | "left"; pill?: boolean; circle?: boolean; } type BadgeClass = React.StatelessComponent export const Badge: BadgeClass; export interface BannerProps extends BaseProps { align?: "left" | "center" | "right"; backgroundImage: string; } type BannerClass = React.StatelessComponent export const Banner: BannerClass; export interface BlockProps extends BaseProps { m?: number; mt?: number; mr?: number; mb?: number; ml?: number; mx?: number; my?: number; p?: number; pt?: number; pr?: number; pb?: number; pl?: number; px?: number; py?: number; color?: string; backgroundColor?: string; borderColor?: string; border?: boolean; borderTop?: boolean; borderRight?: boolean; borderBottom?: boolean; borderLeft?: boolean; rounded?: boolean | "top" | "right" | "bottom" | "left"; } type BlockClass = React.StatelessComponent export const Block: BlockClass; export interface BlockquoteProps extends BaseProps { source: string; href: string; } type BlockquoteClass = React.StatelessComponent export const Blockquote: BlockquoteClass; export interface BreadcrumbsProps extends BaseProps { links: { children: any; href: string; }[]; } type BreadcrumbsClass = React.StatelessComponent export const Breadcrumbs: BreadcrumbsClass; export interface ButtonProps extends BaseProps { href?: string; color?: string; backgroundColor?: string; rounded?: boolean | "top" | "right" | "bottom" | "left"; pill?: boolean; big?: boolean; theme?: "primary" | "secondary" | "default" | "info" | "success" | "warning" | "error"; } type ButtonClass = React.StatelessComponent export const Button: ButtonClass; export interface ButtonCircleProps extends BaseProps { title?: string; href?: string; color?: string; backgroundColor?: string; size?: number; } type ButtonCircleClass = React.StatelessComponent export const ButtonCircle: ButtonCircleClass; export interface ButtonOutlineProps extends BaseProps { href?: string; color?: string; rounded?: boolean | "top" | "right" | "bottom" | "left"; pill?: boolean; big?: boolean; } type ButtonOutlineClass = React.StatelessComponent export const ButtonOutline: ButtonOutlineClass; export interface CardProps extends BaseProps { width?: number | string; } type CardClass = React.StatelessComponent export const Card: CardClass; export interface CardImageProps extends BaseProps { src?: string; } type CardImageClass = React.StatelessComponent export const CardImage: CardImageClass; export interface CheckboxProps extends BaseProps { label?: string; checked?: boolean; name?: string; readOnly?: boolean; theme?: "primary" | "secondary" | "default" | "info" | "success" | "warning" | "error"; } type CheckboxClass = React.StatelessComponent export const Checkbox: CheckboxClass; export interface CloseProps extends BaseProps { } type CloseClass = React.StatelessComponent export const Close: CloseClass; export interface ContainerProps extends BaseProps { } type ContainerClass = React.StatelessComponent export const Container: ContainerClass; export interface DividerProps extends BaseProps { width?: number; } type DividerClass = React.StatelessComponent export const Divider: DividerClass; export interface DonutProps extends BaseProps { value?: number; size?: number; strokeWidth?: number; color?: string; } type DonutClass = React.StatelessComponent export const Donut: DonutClass; export interface DotIndicatorProps extends BaseProps { length?: number; active?: number; onClick?: Function; } type DotIndicatorClass = React.StatelessComponent export const DotIndicator: DotIndicatorClass; export interface DrawerProps extends BaseProps { size?: number; open?: boolean; position?: "top" | "right" | "bottom" | "left"; onDismiss?: Function; } type DrawerClass = React.StatelessComponent export const Drawer: DrawerClass; export interface DropdownProps extends BaseProps { } type DropdownClass = React.StatelessComponent export const Dropdown: DropdownClass; export interface DropdownMenuProps extends BaseProps { open?: boolean; right?: boolean; top?: boolean; onDismiss?: Function; } type DropdownMenuClass = React.StatelessComponent export const DropdownMenu: DropdownMenuClass; export interface EmbedProps extends BaseProps { ratio?: number; } type EmbedClass = React.StatelessComponent export const Embed: EmbedClass; export interface FixedProps extends BaseProps { top?: boolean; right?: boolean; bottom?: boolean; left?: boolean; zIndex?: number; } type FixedClass = React.StatelessComponent export const Fixed: FixedClass; export interface FooterProps extends BaseProps { } type FooterClass = React.StatelessComponent export const Footer: FooterClass; export interface HeadingProps extends BaseProps { big?: boolean; level?: number; size?: number; alt?: boolean; } type HeadingClass = React.StatelessComponent export const Heading: HeadingClass; export interface HeadingLinkProps extends BaseProps { level?: number; size?: number; href?: string; } type HeadingLinkClass = React.StatelessComponent export const HeadingLink: HeadingLinkClass; export interface InlineFormProps extends BaseProps { label?: string; name?: string; value?: number | string; placeholder?: string; onChange?: Function; buttonLabel?: string; onClick?: Function; } type InlineFormClass = React.StatelessComponent export const InlineForm: InlineFormClass; export interface InputProps extends BaseProps { label?: string; name?: string; type?: string; message?: string; hideLabel?: boolean; rounded?: boolean | "top" | "right" | "bottom" | "left"; placeholder?: string; } type InputClass = React.StatelessComponent export const Input: InputClass; export interface LabelProps extends BaseProps { hide?: boolean; } type LabelClass = React.StatelessComponent export const Label: LabelClass; export interface LinkBlockProps extends BaseProps { is?: string | Object | Function; href?: string; } type LinkBlockClass = React.StatelessComponent export const LinkBlock: LinkBlockClass; export interface MediaProps extends BaseProps { img?: string; right?: boolean; align?: "top" | "center" | "bottom"; } type MediaClass = React.StatelessComponent export const Media: MediaClass; export interface MenuProps extends BaseProps { } type MenuClass = React.StatelessComponent export const Menu: MenuClass; export interface MessageProps extends BaseProps { theme?: "primary" | "secondary" | "default" | "info" | "success" | "warning" | "error"; } type MessageClass = React.StatelessComponent export const Message: MessageClass; export interface NavItemProps extends BaseProps { small?: boolean; is?: string | Object | Function; } type NavItemClass = React.StatelessComponent export const NavItem: NavItemClass; export interface OverlayProps extends BaseProps { open?: boolean; dark?: boolean; box?: boolean; fullWidth?: boolean; onDismiss?: Function; } type OverlayClass = React.StatelessComponent export const Overlay: OverlayClass; export interface PageHeaderProps extends BaseProps { heading?: string; description?: string; } type PageHeaderClass = React.StatelessComponent export const PageHeader: PageHeaderClass; export interface PanelProps extends BaseProps { theme?: "primary" | "secondary" | "default" | "info" | "success" | "warning" | "error"; } type PanelClass = React.StatelessComponent export const Panel: PanelClass; export interface PanelFooterProps extends BaseProps { theme?: "primary" | "secondary" | "default" | "info" | "success" | "warning" | "error"; } type PanelFooterClass = React.StatelessComponent export const PanelFooter: PanelFooterClass; export interface PanelHeaderProps extends BaseProps { theme?: "primary" | "secondary" | "default" | "info" | "success" | "warning" | "error"; } type PanelHeaderClass = React.StatelessComponent export const PanelHeader: PanelHeaderClass; export interface PreProps extends BaseProps { } type PreClass = React.StatelessComponent export const Pre: PreClass; export interface ProgressProps extends BaseProps { value?: number; color?: string; } type ProgressClass = React.StatelessComponent export const Progress: ProgressClass; export interface RadioProps extends BaseProps { checked?: boolean; group?: string; label?: string; name?: string; readOnly?: boolean; } type RadioClass = React.StatelessComponent export const Radio: RadioClass; export interface RatingProps extends BaseProps { value?: number; onClick?: Function; } type RatingClass = React.StatelessComponent export const Rating: RatingClass; export interface SectionProps extends BaseProps { } type SectionClass = React.StatelessComponent export const Section: SectionClass; export interface SectionHeaderProps extends BaseProps { heading?: string; href?: string; description?: string; } type SectionHeaderClass = React.StatelessComponent export const SectionHeader: SectionHeaderClass; export interface SelectProps extends BaseProps { label?: string; name?: string; options?: { children: any; value: any; }[]; message?: string; hideLabel?: boolean; } type SelectClass = React.StatelessComponent export const Select: SelectClass; export interface SequenceMapProps extends BaseProps { steps?: { children: any; href: string; }[]; active?: number; } type SequenceMapClass = React.StatelessComponent export const SequenceMap: SequenceMapClass; export interface SequenceMapStepProps extends BaseProps { width?: string; first?: boolean; active?: boolean; } type SequenceMapStepClass = React.StatelessComponent export const SequenceMapStep: SequenceMapStepClass; export interface SliderProps extends BaseProps { label?: string; name?: string; fill?: boolean; hideLabel?: boolean; value?: number; defaultValue?: number; readOnly?: boolean; } type SliderClass = React.StatelessComponent export const Slider: SliderClass; export interface SpaceProps extends BaseProps { x?: number; auto?: boolean; } type SpaceClass = React.StatelessComponent export const Space: SpaceClass; export interface StatProps extends BaseProps { value?: number | string; unit?: string; label?: string; topLabel?: boolean; } type StatClass = React.StatelessComponent export const Stat: StatClass; export interface SwitchProps extends BaseProps { checked?: boolean; } type SwitchClass = React.StatelessComponent export const Switch: SwitchClass; export interface TableProps extends BaseProps { headings?: any[]; data?: any[][]; } type TableClass = React.StatelessComponent export const Table: TableClass; export interface TextProps extends BaseProps { small?: boolean; bold?: boolean; } type TextClass = React.StatelessComponent export const Text: TextClass; export interface TextareaProps extends BaseProps { label?: string; name?: string; message?: string; hideLabel?: boolean; } type TextareaClass = React.StatelessComponent export const Textarea: TextareaClass; export interface ToolbarProps extends BaseProps { } type ToolbarClass = React.StatelessComponent export const Toolbar: ToolbarClass; export interface TooltipProps extends BaseProps { title?: string; } type TooltipClass = React.StatelessComponent export const Tooltip: TooltipClass; }