From 0b9c1d2fda2121bbd36f49601418cf606e3a1bab Mon Sep 17 00:00:00 2001 From: roger yee Date: Thu, 27 Sep 2018 15:46:13 -0700 Subject: [PATCH 1/3] updates the rebass syntax to the most recent version --- types/rebass/index.d.ts | 588 +++++-------------------------- types/rebass/rebass-tests.tsx | 634 ---------------------------------- types/rebass/tsconfig.json | 5 +- 3 files changed, 80 insertions(+), 1147 deletions(-) delete mode 100644 types/rebass/rebass-tests.tsx diff --git a/types/rebass/index.d.ts b/types/rebass/index.d.ts index f209bed8ac..fdfc66418a 100644 --- a/types/rebass/index.d.ts +++ b/types/rebass/index.d.ts @@ -1,541 +1,109 @@ -// Type definitions for Rebass 0.2.6 +// Type definitions for Rebass 0.3.6 // Project: https://github.com/jxnblk/rebass // Definitions by: rhysd +// ryee-dev // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -/// - import * as React from "react"; -export interface BaseProps extends React.Props { - tagName?: string; +export interface BaseProps extends React.ClassAttributes { + className?: string; + 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; +} + +export interface BoxProps extends BaseProps { className?: string; + width?: number | number[]; fontSize?: number | number[]; - 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; + css?: Object; color?: string; - backgroundColor?: string; - inverted?: boolean; - rounded?: boolean | "top" | "right" | "bottom" | "left"; - circle?: boolean; - pill?: boolean; + bg?: string; } +type BoxClass = React.StatelessComponent; +export declare const Box: BoxClass; -export interface ArrowProps extends BaseProps { - direction?: "up" | "down"; +export interface ButtonProps extends BaseProps { + fontWeight?: string; + border?: boolean; + borderColor?: string; + borderRadius?: number; + variant?: string; } -type ArrowClass = React.StatelessComponent -export declare const Arrow: ArrowClass; +type ButtonClass = React.StatelessComponent; +export declare const Button: ButtonClass; -export interface AvatarProps extends BaseProps { - size?: number; - src?: string; +export interface CardProps extends BaseProps { + border?: boolean; + borderColor?: string; + borderRadius?: number; + boxShadow?: string; + backgroundImage?: string; + backgroundSize?: string; + backgroundPosition?: string; + backgroundRepeat?: string; + opacity?: number; } -type AvatarClass = React.StatelessComponent -export declare const Avatar: AvatarClass; +type CardClass = React.StatelessComponent; +export declare const Card: CardClass; + +export interface FlexProps extends BaseProps { + height?: number; + borderRadius?: number; + src?: string; + alt?: string; +} +type FlexClass = React.StatelessComponent +export declare const Flex: FlexClass; + +export interface HeadingProps extends BaseProps { + fontSize?: number | number[]; + fontWeight?: string; + color?: string; + fontFamily?: string; + textAlign?: string; + lineHeight?: number; + letterSpacing?: number; +} +type HeadingClass = React.StatelessComponent +export declare const Heading: HeadingClass; export interface ImageProps extends BaseProps { - size?: number; + height?: number; + borderRadius?: number; src?: string; alt?: string; } type ImageClass = React.StatelessComponent export declare const Image: ImageClass; -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 declare const Badge: BadgeClass; - -export interface BannerProps extends BaseProps { - align?: "left" | "center" | "right"; - backgroundImage: string; -} -type BannerClass = React.StatelessComponent -export declare 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 declare const Block: BlockClass; - -export interface BlockquoteProps extends BaseProps { - source: string; - href: string; -} -type BlockquoteClass = React.StatelessComponent -export declare const Blockquote: BlockquoteClass; - -export interface BreadcrumbsProps extends BaseProps { - links: { - children: any; - href: string; - }[]; -} -type BreadcrumbsClass = React.StatelessComponent -export declare 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 declare const Button: ButtonClass; - -export interface ButtonCircleProps extends BaseProps { - title?: string; - href?: string; - color?: string; - backgroundColor?: string; - size?: number; -} -type ButtonCircleClass = React.StatelessComponent -export declare 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 declare const ButtonOutline: ButtonOutlineClass; - -export interface CardProps extends BaseProps { - width?: number | string; -} -type CardClass = React.StatelessComponent -export declare const Card: CardClass; - -export interface CardImageProps extends BaseProps { - src?: string; -} -type CardImageClass = React.StatelessComponent -export declare 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 declare const Checkbox: CheckboxClass; - -export interface CloseProps extends BaseProps { -} -type CloseClass = React.StatelessComponent -export declare const Close: CloseClass; - -export interface ContainerProps extends BaseProps { -} -type ContainerClass = React.StatelessComponent -export declare const Container: ContainerClass; - -export interface DividerProps extends BaseProps { - width?: number; -} -type DividerClass = React.StatelessComponent -export declare const Divider: DividerClass; - -export interface DonutProps extends BaseProps { - value?: number; - size?: number; - strokeWidth?: number; - color?: string; -} -type DonutClass = React.StatelessComponent -export declare const Donut: DonutClass; - -export interface DotIndicatorProps extends BaseProps { - length?: number; - active?: number; - onClick?: Function; -} -type DotIndicatorClass = React.StatelessComponent -export declare const DotIndicator: DotIndicatorClass; - -export interface DrawerProps extends BaseProps { - size?: number; - open?: boolean; - position?: "top" | "right" | "bottom" | "left"; - onDismiss?: Function; -} -type DrawerClass = React.StatelessComponent -export declare const Drawer: DrawerClass; - -export interface DropdownProps extends BaseProps { -} -type DropdownClass = React.StatelessComponent -export declare const Dropdown: DropdownClass; - -export interface DropdownMenuProps extends BaseProps { - open?: boolean; - right?: boolean; - top?: boolean; - onDismiss?: Function; -} -type DropdownMenuClass = React.StatelessComponent -export declare const DropdownMenu: DropdownMenuClass; - -export interface EmbedProps extends BaseProps { - ratio?: number; -} -type EmbedClass = React.StatelessComponent -export declare const Embed: EmbedClass; - -export interface FixedProps extends BaseProps { - top?: boolean; - right?: boolean; - bottom?: boolean; - left?: boolean; - zIndex?: number; -} -type FixedClass = React.StatelessComponent -export declare const Fixed: FixedClass; - -export interface FooterProps extends BaseProps { -} -type FooterClass = React.StatelessComponent -export declare const Footer: FooterClass; - -export interface HeadingProps extends BaseProps { - big?: boolean; - level?: number; - size?: number; - alt?: boolean; -} -type HeadingClass = React.StatelessComponent -export declare const Heading: HeadingClass; - -export interface HeadingLinkProps extends BaseProps { - level?: number; - size?: number; - href?: string; -} -type HeadingLinkClass = React.StatelessComponent -export declare const HeadingLink: HeadingLinkClass; - export interface LinkProps extends BaseProps { - is?: string | Object | Function; - href?: string; + href?: string; } type LinkClass = React.StatelessComponent export declare const Link: LinkClass; -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 declare 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 declare const Input: InputClass; - -export interface LabelProps extends BaseProps { - hide?: boolean; -} -type LabelClass = React.StatelessComponent -export declare const Label: LabelClass; - -export interface LinkBlockProps extends BaseProps { - is?: string | Object | Function; - href?: string; -} -type LinkBlockClass = React.StatelessComponent -export declare const LinkBlock: LinkBlockClass; - -export interface MediaProps extends BaseProps { - img?: string; - right?: boolean; - align?: "top" | "center" | "bottom"; -} -type MediaClass = React.StatelessComponent -export declare const Media: MediaClass; - -export interface MenuProps extends BaseProps { -} -type MenuClass = React.StatelessComponent -export declare const Menu: MenuClass; - -export interface MessageProps extends BaseProps { - theme?: "primary" | "secondary" | "default" | "info" | "success" | "warning" | "error"; -} -type MessageClass = React.StatelessComponent -export declare const Message: MessageClass; - -export interface NavItemProps extends BaseProps { - small?: boolean; - is?: string | Object | Function; -} -type NavItemClass = React.StatelessComponent -export declare const NavItem: NavItemClass; - -export interface OverlayProps extends BaseProps { - open?: boolean; - dark?: boolean; - box?: boolean; - fullWidth?: boolean; - onDismiss?: Function; -} -type OverlayClass = React.StatelessComponent -export declare const Overlay: OverlayClass; - -export interface PageHeaderProps extends BaseProps { - heading?: string; - description?: string; -} -type PageHeaderClass = React.StatelessComponent -export declare const PageHeader: PageHeaderClass; - -export interface PanelProps extends BaseProps { - theme?: "primary" | "secondary" | "default" | "info" | "success" | "warning" | "error"; -} -type PanelClass = React.StatelessComponent -export declare const Panel: PanelClass; - -export interface PanelFooterProps extends BaseProps { - theme?: "primary" | "secondary" | "default" | "info" | "success" | "warning" | "error"; -} -type PanelFooterClass = React.StatelessComponent -export declare const PanelFooter: PanelFooterClass; - -export interface PanelHeaderProps extends BaseProps { - theme?: "primary" | "secondary" | "default" | "info" | "success" | "warning" | "error"; -} -type PanelHeaderClass = React.StatelessComponent -export declare const PanelHeader: PanelHeaderClass; - -export interface PreProps extends BaseProps { -} -type PreClass = React.StatelessComponent -export declare const Pre: PreClass; - -export interface ProgressProps extends BaseProps { - value?: number; - color?: string; -} -type ProgressClass = React.StatelessComponent -export declare const Progress: ProgressClass; - -export interface RadioProps extends BaseProps { - checked?: boolean; - group?: string; - label?: string; - name?: string; - readOnly?: boolean; -} -type RadioClass = React.StatelessComponent -export declare const Radio: RadioClass; - -export interface RatingProps extends BaseProps { - value?: number; - onClick?: Function; -} -type RatingClass = React.StatelessComponent -export declare const Rating: RatingClass; - -export interface SectionProps extends BaseProps { -} -type SectionClass = React.StatelessComponent -export declare const Section: SectionClass; - -export interface SectionHeaderProps extends BaseProps { - heading?: string; - href?: string; - description?: string; -} -type SectionHeaderClass = React.StatelessComponent -export declare 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 declare const Select: SelectClass; - -export interface SequenceMapProps extends BaseProps { - steps?: { - children: any; - href: string; - }[]; - active?: number; -} -type SequenceMapClass = React.StatelessComponent -export declare const SequenceMap: SequenceMapClass; - -export interface SequenceMapStepProps extends BaseProps { - width?: string; - first?: boolean; - active?: boolean; -} -type SequenceMapStepClass = React.StatelessComponent -export declare 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 declare const Slider: SliderClass; - -export interface SpaceProps extends BaseProps { - x?: number; - auto?: boolean; -} -type SpaceClass = React.StatelessComponent -export declare const Space: SpaceClass; - -export interface StatProps extends BaseProps { - value?: number | string; - unit?: string; - label?: string; - topLabel?: boolean; -} -type StatClass = React.StatelessComponent -export declare const Stat: StatClass; - -export interface SwitchProps extends BaseProps { - checked?: boolean; -} -type SwitchClass = React.StatelessComponent -export declare const Switch: SwitchClass; - -export interface TableProps extends BaseProps { - headings?: any[]; - data?: any[][]; -} -type TableClass = React.StatelessComponent -export declare const Table: TableClass; - -export interface TextProps extends BaseProps { - small?: boolean; - bold?: boolean; +export interface TextProps extends BaseProps { + fontSize?: number | number[]; + fontWeight?: string; + color?: string; + fontFamily?: string; + textAlign?: string; + lineHeight?: number; + letterSpacing?: number; } type TextClass = React.StatelessComponent export declare const Text: TextClass; - -export interface TextareaProps extends BaseProps { - label?: string; - name?: string; - message?: string; - hideLabel?: boolean; -} -type TextareaClass = React.StatelessComponent -export declare const Textarea: TextareaClass; - -export interface ToolbarProps extends BaseProps { -} -type ToolbarClass = React.StatelessComponent -export declare const Toolbar: ToolbarClass; - -export interface TooltipProps extends BaseProps { - text?: string; - title?: string; -} -type TooltipClass = React.StatelessComponent -export declare const Tooltip: TooltipClass; - -export interface FontWeights { - normal?: number; - bold?: number; -} - -export interface Fonts { - [0]?: string; - sans?: string; - mono?: string; -} - -export interface Theme { - breakpoints?: string[]; - space?: number[]; - fontSizes?: number[]; - fontWeights?: FontWeights; - fonts?: Fonts; - shadows?: string[]; - radii?: number[]; -} - -export interface ProviderProps { - theme?: Theme; -} - -type ProviderClass = React.StatelessComponent; -export const Provider: ProviderClass; \ No newline at end of file diff --git a/types/rebass/rebass-tests.tsx b/types/rebass/rebass-tests.tsx deleted file mode 100644 index 814c11a523..0000000000 --- a/types/rebass/rebass-tests.tsx +++ /dev/null @@ -1,634 +0,0 @@ - -import * as React from "react"; -import { - Arrow - , Avatar - , Badge - , Banner - , Block - , Blockquote - , Breadcrumbs - , Button - , ButtonCircle - , ButtonOutline - , Card - , CardImage - , Checkbox - , Close - , Container - , Divider - , Donut - , DotIndicator - , Drawer - , Dropdown - , DropdownMenu - , Embed - , Fixed - , Footer - , Heading - , HeadingLink - , InlineForm - , Input - , Label - , LinkBlock - , Media - , Menu - , Message - , NavItem - , Overlay - , PageHeader - , Panel - , PanelFooter - , PanelHeader - , Pre - , Progress - , Provider - , Radio - , Rating - , Section - , SectionHeader - , Select - , SequenceMap - , SequenceMapStep - , Slider - , Space - , Stat - , Switch - , Table - , Text - , Textarea - , Toolbar - , Tooltip -} from "rebass"; - -interface IconProps extends React.Props { - fill: string; - height: string; - name: string; - width: string; -} - -class Icon extends React.Component { - render() { - return
; - } -} - -class RebassTest extends React.Component { - render() { - return
- - - - -
- - Rebass - - - - 0.2.0 - - - - Pill - - - - Pill - - - - Circular - - - - 4 - -
- - - - Rebass - - - - - - - Block - - - Generic box for containing things - - - This is a large font - - - A set of fonts! - - - - -
- In the sixteenth century, a series of common sizes developed among European typographers, and the series survived with little change and few additions for 400 years. […] Use the old familiar scale, or use new scales of your own devising, but limit yourself, at first, to a modest set of distinct and related intervals. -
- - - -
- -
- -
- - - - - - - - - - - - - - - - - Example Icon component from react-geomicons - -
- -
- - Button - - - Group - - -
- - - - - Card - - - Cats like cards too - - - -
- -
- -
- - -
- - - - - Container - - -
- - -
- -
- - - 9/16 - - - -
- -
- -
- - - - - - Hello - - - Hi - - - - - -