refactor react-bootstrap into individual modules

this allows individual components to be imported in addition to named
imports on the root module. closes #15856
This commit is contained in:
Vito
2017-07-18 19:10:05 -04:00
parent 32d304a7fb
commit d16fb75482
100 changed files with 1724 additions and 1120 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,15 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
interface AccordionProps extends React.HTMLProps<Accordion> {
bsSize?: Sizes;
bsStyle?: string;
collapsible?: boolean;
defaultExpanded?: boolean;
eventKey?: any;
expanded?: boolean;
footer?: any; // TODO: Add more specific type
header?: any; // TODO: Add more specific type
}
export default class Accordion extends React.Component<AccordionProps> {}

12
types/react-bootstrap/lib/Alert.d.ts vendored Normal file
View File

@@ -0,0 +1,12 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
interface AlertProps extends React.HTMLProps<Alert> {
bsSize?: Sizes;
bsStyle?: string;
closeLabel?: string;
/** @deprecated since v0.29.0 */ dismissAfter?: number;
onDismiss?: Function;
}
export default class Alert extends React.Component<AlertProps> { }

8
types/react-bootstrap/lib/Badge.d.ts vendored Normal file
View File

@@ -0,0 +1,8 @@
import * as React from 'react';
interface BadgeProps extends React.HTMLProps<Badge> {
bsClass?: string;
pullRight?: boolean;
}
export default class Badge extends React.Component<BadgeProps> { }

View File

@@ -0,0 +1,10 @@
import * as React from 'react';
import BreadcrumbItem from './BreadcrumbItem';
interface BreadcrumbProps extends React.HTMLProps<Breadcrumb> {
bsClass?: string;
}
export default class Breadcrumb extends React.Component<BreadcrumbProps> {
public static Item: typeof BreadcrumbItem;
}

View File

@@ -0,0 +1,10 @@
import * as React from 'react';
interface BreadcrumbItemProps extends React.Props<BreadcrumbItem> {
active?: boolean;
href?: string;
title?: React.ReactNode;
target?: string;
}
export default class BreadcrumbItem extends React.Component<BreadcrumbItemProps> { }

13
types/react-bootstrap/lib/Button.d.ts vendored Normal file
View File

@@ -0,0 +1,13 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
interface ButtonProps extends React.HTMLProps<Button> {
bsClass?: string;
active?: boolean;
block?: boolean;
bsStyle?: string;
bsSize?: Sizes;
componentClass?: React.ReactType;
disabled?: boolean;
}
export default class Button extends React.Component<ButtonProps> { }

View File

@@ -0,0 +1,12 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
interface ButtonGroupProps extends React.HTMLProps<ButtonGroup> {
block?: boolean;
bsSize?: Sizes;
bsStyle?: string;
justified?: boolean;
vertical?: boolean;
}
export default class ButtonGroup extends React.Component<ButtonGroupProps> { }

View File

@@ -0,0 +1,12 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
interface ButtonToolbarProps extends React.HTMLProps<ButtonToolbar> {
block?: boolean;
bsSize?: Sizes;
bsStyle?: string;
justified?: boolean;
vertical?: boolean;
}
export default class ButtonToolbar extends React.Component<ButtonToolbarProps> { }

29
types/react-bootstrap/lib/Carousel.d.ts vendored Normal file
View File

@@ -0,0 +1,29 @@
import * as React from 'react';
import { Sizes, SelectCallback } from 'react-bootstrap';
import CarouselItem from './CarouselItem';
import CarouselCaption from './CarouselCaption';
interface CarouselProps extends React.HTMLProps<Carousel> {
activeIndex?: number;
bsSize?: Sizes;
bsStyle?: string;
controls?: boolean;
defaultActiveIndex?: number;
direction?: string;
indicators?: boolean;
interval?: number;
nextIcon?: React.ReactNode;
onSelect?: SelectCallback;
onSlideEnd?: Function;
pauseOnHover?: boolean;
prevIcon?: React.ReactNode;
slide?: boolean;
// TODO: this is incompatible with HTMLProps.wrap, which is a string
// wrap?: boolean;
}
export default class Carousel extends React.Component<CarouselProps> {
public static Caption: typeof CarouselCaption;
public static Item: typeof CarouselItem;
}

View File

@@ -0,0 +1,7 @@
import * as React from 'react';
interface CarouselCaptionProps extends React.HTMLProps<CarouselCaption> {
componentClass?: React.ReactType;
}
export default class CarouselCaption extends React.Component<CarouselCaptionProps> { }

View File

@@ -0,0 +1,12 @@
import * as React from 'react';
interface CarouselItemProps extends React.HTMLProps<CarouselItem> {
active?: boolean;
animtateIn?: boolean;
animateOut?: boolean;
direction?: string;
index?: number;
onAnimateOutEnd?: Function;
}
export default class CarouselItem extends React.Component<CarouselItemProps> { }

11
types/react-bootstrap/lib/Checkbox.d.ts vendored Normal file
View File

@@ -0,0 +1,11 @@
import * as React from 'react';
interface CheckboxProps extends React.HTMLProps<Checkbox> {
bsClass?: string;
disabled?: boolean;
inline?: boolean;
inputRef?: (instance: HTMLInputElement) => void;
validationState?: "success" | "warning" | "error";
}
export default class Checkbox extends React.Component<CheckboxProps> { }

11
types/react-bootstrap/lib/Clearfix.d.ts vendored Normal file
View File

@@ -0,0 +1,11 @@
import * as React from 'react';
interface ClearfixProps extends React.HTMLProps<Clearfix> {
componentClass?: React.ReactType,
visibleXsBlock?: boolean;
visibleSmBlock?: boolean;
visibleMdBlock?: boolean;
visibleLgBlock?: boolean;
}
export default class Clearfix extends React.Component<ClearfixProps> { }

27
types/react-bootstrap/lib/Col.d.ts vendored Normal file
View File

@@ -0,0 +1,27 @@
import * as React from 'react';
interface ColProps extends React.HTMLProps<Col> {
componentClass?: React.ReactType;
lg?: number;
lgHidden?: boolean;
lgOffset?: number;
lgPull?: number;
lgPush?: number;
md?: number;
mdHidden?: boolean;
mdOffset?: number;
mdPull?: number;
mdPush?: number;
sm?: number;
smHidden?: boolean;
smOffset?: number;
smPull?: number;
smPush?: number;
xs?: number;
xsHidden?: boolean;
xsOffset?: number;
xsPull?: number;
xsPush?: number;
}
export default class Col extends React.Component<ColProps> { }

13
types/react-bootstrap/lib/Collapse.d.ts vendored Normal file
View File

@@ -0,0 +1,13 @@
import * as React from 'react';
import { TransitionCallbacks } from 'react-bootstrap';
interface CollapseProps extends TransitionCallbacks, React.Props<Collapse> {
dimension?: 'height' | 'width' | { ( ):string };
getDimensionValue?: ( dimension:number, element:React.ReactElement<any> ) => number;
in?: boolean;
timeout?: number;
transitionAppear?: boolean;
unmountOnExit?: boolean;
}
export default class Collapse extends React.Component<CollapseProps> { }

View File

@@ -0,0 +1,9 @@
import * as React from 'react';
interface ControlLabelProps extends React.HTMLProps<ControlLabel> {
bsClass?: string;
htmlFor?: string;
srOnly?: boolean;
}
export default class ControlLabel extends React.Component<ControlLabelProps> { }

25
types/react-bootstrap/lib/Dropdown.d.ts vendored Normal file
View File

@@ -0,0 +1,25 @@
import * as React from 'react';
import { SelectCallback } from 'react-bootstrap';
import DropdownToggle from './DropdownToggle';
import DropdownMenu from './DropdownMenu';
export interface DropdownBaseProps {
bsClass?: string;
componentClass?: React.ReactType;
disabled?: boolean;
dropup?: boolean;
id: string;
onClose?: Function;
onSelect?: SelectCallback;
onToggle?: (isOpen: boolean) => void;
open?: boolean;
pullRight?: boolean;
role?: string;
}
type DropdownProps = DropdownBaseProps & React.HTMLProps<Dropdown>;
export default class Dropdown extends React.Component<DropdownProps> {
public static Menu: typeof DropdownMenu;
public static Toggle: typeof DropdownToggle;
}

View File

@@ -0,0 +1,16 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
import { DropdownBaseProps } from './Dropdown';
interface DropdownButtonBaseProps extends DropdownBaseProps {
block?: boolean;
bsSize?: Sizes;
bsStyle?: string;
navItem?: boolean;
noCaret?: boolean;
pullRight?: boolean;
}
type DropdownButtonProps = DropdownButtonBaseProps & React.HTMLProps<DropdownButton>;
export default class DropdownButton extends React.Component<DropdownButtonProps> { }

View File

@@ -0,0 +1,12 @@
import * as React from 'react';
import { SelectCallback } from 'react-bootstrap';
interface DropdownMenuProps extends React.HTMLProps<DropdownMenu> {
labelledBy?: string | number;
onClose?: Function;
onSelect?: SelectCallback;
open?: boolean;
pullRight?: boolean;
}
export default class DropdownMenu extends React.Component<DropdownMenuProps> { }

View File

@@ -0,0 +1,13 @@
import * as React from 'react';
export interface DropdownToggleProps extends React.HTMLProps<DropdownToggle> {
bsRole?: string;
noCaret?: boolean;
open?: boolean;
title?: string;
useAnchor?: boolean;
bsClass?:string; // Added since v0.30.0
bsStyle?:string;
}
export default class DropdownToggle extends React.Component<DropdownToggleProps> { }

11
types/react-bootstrap/lib/Fade.d.ts vendored Normal file
View File

@@ -0,0 +1,11 @@
import * as React from 'react';
import { TransitionCallbacks } from 'react-bootstrap';
interface FadeProps extends TransitionCallbacks, React.HTMLProps<Fade> {
in?: boolean;
timeout?: number;
transitionAppear?: boolean;
unmountOnExit?: boolean;
}
export default class Fade extends React.Component<FadeProps> { }

10
types/react-bootstrap/lib/Form.d.ts vendored Normal file
View File

@@ -0,0 +1,10 @@
import * as React from 'react';
interface FormProps extends React.HTMLProps<Form> {
bsClass?: string;
componentClass?: React.ReactType;
horizontal?: boolean;
inline?: boolean;
}
export default class Form extends React.Component<FormProps> { }

View File

@@ -0,0 +1,18 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
import FormControlFeedback from './FormControlFeedback';
import FormControlStatic from './FormControlStatic';
interface FormControlProps extends React.HTMLProps<FormControl> {
bsClass?: string;
bsSize?: Sizes;
componentClass?: React.ReactType;
id?: string;
inputRef?: (instance: HTMLInputElement) => void;
type?: string;
}
export default class FormControl extends React.Component<FormControlProps> {
public static Feedback: typeof FormControlFeedback;
public static Static: typeof FormControlStatic;
}

View File

@@ -0,0 +1,5 @@
import * as React from 'react';
interface FormControlFeedbackProps extends React.HTMLProps<FormControlFeedback> { }
export default class FormControlFeedback extends React.Component<FormControlFeedbackProps> { }

View File

@@ -0,0 +1,8 @@
import * as React from 'react';
interface FormControlStaticProps extends React.HTMLProps<FormControlStatic> {
bsClass?: string;
componentClass?: React.ReactType;
}
export default class FormControlStatic extends React.Component<FormControlStaticProps> { }

View File

@@ -0,0 +1,11 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
interface FormGroupProps extends React.HTMLProps<FormGroup> {
bsClass?: string;
bsSize?: Sizes;
controlId?: string;
validationState?: "success" | "warning" | "error";
}
export default class FormGroup extends React.Component<FormGroupProps> { }

View File

@@ -0,0 +1,8 @@
import * as React from 'react';
interface GlyphiconProps extends React.HTMLProps<Glyphicon> {
// Required
glyph: string;
}
export default class Glyphicon extends React.Component<GlyphiconProps> { }

9
types/react-bootstrap/lib/Grid.d.ts vendored Normal file
View File

@@ -0,0 +1,9 @@
import * as React from 'react';
interface GridProps extends React.HTMLProps<Grid> {
componentClass?: React.ReactType;
fluid?: boolean;
bsClass?: string;
}
export default class Grid extends React.Component<GridProps> { }

View File

@@ -0,0 +1,7 @@
import * as React from 'react';
interface HelpBlockProps extends React.HTMLProps<HelpBlock> {
bsClass?: string;
}
export default class HelpBlock extends React.Component<HelpBlockProps> { }

10
types/react-bootstrap/lib/Image.d.ts vendored Normal file
View File

@@ -0,0 +1,10 @@
import * as React from 'react';
interface ImageProps extends React.HTMLProps<Image> {
circle?: boolean;
responsive?: boolean;
rounded?: boolean;
thumbnail?: boolean;
}
export default class Image extends React.Component<ImageProps> { }

View File

@@ -0,0 +1,14 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
import InputGroupAddon from './InputGroupAddon';
import InputGroupButton from './InputGroupButton';
interface InputGroupProps extends React.HTMLProps<InputGroup> {
bsClass?: string;
bsSize?: Sizes;
}
export default class InputGroup extends React.Component<InputGroupProps> {
public static Addon: typeof InputGroupAddon;
public static Button: typeof InputGroupButton;
}

View File

@@ -0,0 +1,5 @@
import * as React from 'react';
interface InputGroupAddonProps extends React.HTMLProps<InputGroupAddon> { }
export default class InputGroupAddon extends React.Component<InputGroupAddonProps> { }

View File

@@ -0,0 +1,5 @@
import * as React from 'react';
interface InputGroupButtonProps extends React.HTMLProps<InputGroupButton> { }
export default class InputGroupButton extends React.Component<InputGroupButtonProps> { }

View File

@@ -0,0 +1,7 @@
import * as React from 'react';
interface JumbotronProps extends React.HTMLProps<Jumbotron> {
componentClass?: React.ReactType;
}
export default class Jumbotron extends React.Component<JumbotronProps> { }

9
types/react-bootstrap/lib/Label.d.ts vendored Normal file
View File

@@ -0,0 +1,9 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
interface LabelProps extends React.HTMLProps<Label> {
bsSize?: Sizes;
bsStyle?: string;
}
export default class Label extends React.Component<LabelProps> { }

View File

@@ -0,0 +1,8 @@
import * as React from 'react';
interface ListGroupProps extends React.HTMLProps<ListGroup> {
componentClass?: React.ReactType; // Added since v0.30.0
fill?: boolean; // TODO: Add more specific type
}
export default class ListGroup extends React.Component<ListGroupProps> { }

View File

@@ -0,0 +1,13 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
interface ListGroupItemProps extends React.HTMLProps<ListGroupItem> {
active?: any;
bsSize?: Sizes;
bsStyle?: string;
eventKey?: any;
header?: any; // TODO: Add more specific type
listItem?: boolean;
}
export default class ListGroupItem extends React.Component<ListGroupItemProps> { }

20
types/react-bootstrap/lib/Media.d.ts vendored Normal file
View File

@@ -0,0 +1,20 @@
import * as React from 'react';
import MediaBody from './MediaBody';
import MediaHeading from './MediaHeading';
import MediaLeft from './MediaLeft';
import MediaList from './MediaList';
import MediaListItem from './MediaListItem';
import MediaRight from './MediaRight';
interface MediaProps extends React.HTMLProps<Media> {
componentClass?: React.ReactType;
}
export default class Media extends React.Component<MediaProps> {
public static Body: typeof MediaBody;
public static Heading: typeof MediaHeading;
public static Left: typeof MediaLeft;
public static Right: typeof MediaRight;
public static List: typeof MediaList;
public static ListItem: typeof MediaListItem;
}

View File

@@ -0,0 +1,7 @@
import * as React from 'react';
interface MediaBodyProps extends React.Props<MediaBody> {
componentClass?: React.ReactType;
}
export default class MediaBody extends React.Component<MediaBodyProps> { }

View File

@@ -0,0 +1,7 @@
import * as React from 'react';
interface MediaHeadingProps extends React.HTMLProps<MediaHeading> {
componentClass?: React.ReactType;
}
export default class MediaHeading extends React.Component<MediaHeadingProps> { }

View File

@@ -0,0 +1,7 @@
import * as React from 'react';
interface MediaLeftProps extends React.HTMLProps<MediaLeft> {
align?: string;
}
export default class MediaLeft extends React.Component<MediaLeftProps> { }

View File

@@ -0,0 +1,5 @@
import * as React from 'react';
interface MediaListProps extends React.HTMLProps<MediaList> { }
export default class MediaList extends React.Component<MediaListProps> { }

View File

@@ -0,0 +1,7 @@
import * as React from 'react';
interface MediaListItemProps extends React.HTMLProps<MediaListItem> {
componentClass?: React.ReactType;
}
export default class MediaListItem extends React.Component<MediaListItemProps> { }

View File

@@ -0,0 +1,7 @@
import * as React from 'react';
interface MediaRightProps extends React.HTMLProps<MediaRight> {
align?: string;
}
export default class MediaRight extends React.Component<MediaRightProps> { }

17
types/react-bootstrap/lib/MenuItem.d.ts vendored Normal file
View File

@@ -0,0 +1,17 @@
import * as React from 'react';
import { SelectCallback } from 'react-bootstrap';
interface MenuItemProps extends React.HTMLProps<MenuItem> {
active?: boolean;
bsClass?: string;
disabled?: boolean;
divider?: boolean;
eventKey?: any;
header?: boolean;
onClick?: React.MouseEventHandler<{}>;
onSelect?: SelectCallback;
target?: string;
title?: string;
}
export default class MenuItem extends React.Component<MenuItemProps> { }

41
types/react-bootstrap/lib/Modal.d.ts vendored Normal file
View File

@@ -0,0 +1,41 @@
import * as React from 'react';
import { Sizes, TransitionCallbacks } from 'react-bootstrap';
import ModalBody from './ModalBody';
import ModalHeader from './ModalHeader';
import ModalTitle from './ModalTitle';
import ModalDialog from './ModalDialog';
import ModalFooter from './ModalFooter';
interface ModalProps extends TransitionCallbacks, React.HTMLProps<Modal> {
// Required
onHide: Function;
// Optional
animation?: boolean;
autoFocus?: boolean;
backdrop?: boolean | string;
backdropClassName?: string;
backdropStyle?: any;
backdropTransitionTimeout?: number;
bsSize?: Sizes;
container?: any; // TODO: Add more specific type
containerClassName?: string;
dialogClassName?: string;
dialogComponent?: any; // TODO: Add more specific type
dialogTransitionTimeout?: number;
enforceFocus?: boolean;
keyboard?: boolean;
onBackdropClick?: (node: HTMLElement) => any;
onEscapeKeyUp?: (node: HTMLElement) => any;
onShow?: (node: HTMLElement) => any;
show?: boolean;
transition?: React.ReactElement<any>;
}
export default class Modal extends React.Component<ModalProps> {
public static Body: typeof ModalBody;
public static Header: typeof ModalHeader;
public static Title: typeof ModalTitle;
public static Footer: typeof ModalFooter;
public static Dialog: typeof ModalDialog;
}

View File

@@ -0,0 +1,8 @@
import * as React from 'react';
interface ModalBodyProps extends React.HTMLProps<ModalBody> {
// TODO: these props are not correct https://github.com/react-bootstrap/react-bootstrap/blob/v0.31.1/src/ModalBody.js
modalClassName?: string;
}
export default class ModalBody extends React.Component<ModalBodyProps> { }

View File

@@ -0,0 +1,14 @@
import * as React from 'react';
interface ModalDialogProps extends React.HTMLProps<ModalDialog> {
// TODO: these props are not correct https://github.com/react-bootstrap/react-bootstrap/blob/v0.31.1/src/ModalDialog.js#L9
onHide?: Function;
onEnter?: Function;
onEntered?: Function;
onEntering?: Function;
onExit?: Function;
onExited?: Function;
onExiting?: Function;
}
export default class ModalDialog extends React.Component<ModalDialogProps> { }

View File

@@ -0,0 +1,8 @@
import * as React from 'react';
interface ModalFooterProps extends React.HTMLProps<ModalFooter> {
// TODO: these props are not correct https://github.com/react-bootstrap/react-bootstrap/blob/v0.31.1/src/ModalFooter.js
modalClassName?: string;
}
export default class ModalFooter extends React.Component<ModalFooterProps> { }

View File

@@ -0,0 +1,10 @@
import * as React from 'react';
interface ModalHeaderProps extends React.HTMLProps<ModalHeader> {
// TODO: these props are not correct https://github.com/react-bootstrap/react-bootstrap/blob/v0.31.1/src/ModalHeader.js
closeButton?: boolean;
modalClassName?: string;
onHide?: Function;
}
export default class ModalHeader extends React.Component<ModalHeaderProps> { }

View File

@@ -0,0 +1,8 @@
import * as React from 'react';
interface ModalTitleProps extends React.HTMLProps<ModalTitle> {
// TODO: props are not correct https://github.com/react-bootstrap/react-bootstrap/blob/v0.31.1/src/ModalTitle.js
modalClassName?: string;
}
export default class ModalTitle extends React.Component<ModalTitleProps> { }

23
types/react-bootstrap/lib/Nav.d.ts vendored Normal file
View File

@@ -0,0 +1,23 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
// TODO: This one turned into a union of two different types
interface NavProps extends React.HTMLProps<Nav> {
// Optional
activeHref?: string;
activeKey?: any;
bsSize?: Sizes;
bsStyle?: string;
collapsible?: boolean;
eventKey?: any;
expanded?: boolean;
justified?: boolean;
navbar?: boolean;
pullRight?: boolean;
right?: boolean;
stacked?: boolean;
ulClassName?: string;
ulId?: string;
}
export default class Nav extends React.Component<NavProps> { }

View File

@@ -0,0 +1,12 @@
import * as React from 'react';
import { DropdownBaseProps } from './Dropdown';
interface NavDropdownBaseProps extends DropdownBaseProps {
active?: boolean;
noCaret?: boolean;
eventKey?: any;
}
type NavDropdownProps = NavDropdownBaseProps & React.HTMLProps<NavDropdown>;
export default class NavDropdown extends React.Component<NavDropdownProps> { }

25
types/react-bootstrap/lib/NavItem.d.ts vendored Normal file
View File

@@ -0,0 +1,25 @@
import * as React from 'react';
import { Sizes, SelectCallback } from 'react-bootstrap';
interface NavItemProps extends React.HTMLProps<NavItem> {
active?: boolean;
brand?: any; // TODO: Add more specific type
bsSize?: Sizes;
bsStyle?: string;
componentClass?: React.ReactType;
defaultNavExpanded?: boolean;
eventKey?: any;
fixedBottom?: boolean;
fixedTop?: boolean;
fluid?: boolean;
inverse?: boolean;
linkId?: string;
navExpanded?: boolean;
onSelect?: SelectCallback;
onToggle?: Function;
staticTop?: boolean;
toggleButton?: any; // TODO: Add more specific type
toggleNavKey?: string | number;
}
export default class NavItem extends React.Component<NavItemProps> { }

55
types/react-bootstrap/lib/Navbar.d.ts vendored Normal file
View File

@@ -0,0 +1,55 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
import NavbarBrand from './NavbarBrand';
import NavbarCollapse from './NavbarCollapse';
import NavbarHeader from './NavbarHeader';
import NavbarToggle from './NavbarToggle';
interface NavbarProps extends React.HTMLProps<Navbar> {
brand?: any; // TODO: Add more specific type
bsSize?: Sizes;
bsStyle?: string;
collapseOnSelect?: boolean;
componentClass?: React.ReactType;
defaultNavExpanded?: boolean;
fixedBottom?: boolean;
fixedTop?: boolean;
fluid?: boolean;
inverse?: boolean;
navExpanded?: boolean;
onToggle?: Function;
staticTop?: boolean;
toggleButton?: any; // TODO: Add more specific type
toggleNavKey?: string | number;
}
export default class Navbar extends React.Component<NavbarProps> {
public static Brand: typeof NavbarBrand;
public static Collapse: typeof NavbarCollapse;
public static Header: typeof NavbarHeader;
public static Toggle: typeof NavbarToggle;
public static Link: typeof NavbarLink;
public static Text: typeof NavbarText;
public static Form: typeof NavbarForm;
}
/**
* the classes below aren't present in lib/
*/
interface NavbarLinkProps extends React.Props<NavbarLink> {
href: string;
onClick?: React.MouseEventHandler<HTMLAnchorElement>;
}
declare class NavbarLink extends React.Component<NavbarLinkProps> { }
interface NavbarTextProps extends React.HTMLProps<NavbarText> {
pullRight?: boolean;
}
declare class NavbarText extends React.Component<NavbarTextProps> { }
interface NavbarFormProps extends React.HTMLProps<NavbarForm> {
componentClass?: React.ReactType;
pullRight?: boolean;
}
declare class NavbarForm extends React.Component<NavbarFormProps> { }

View File

@@ -0,0 +1,5 @@
import * as React from 'react';
interface NavbarBrandProps extends React.HTMLProps<NavbarBrand> { }
export default class NavbarBrand extends React.Component<NavbarBrandProps> { }

View File

@@ -0,0 +1,5 @@
import * as React from 'react';
interface NavbarCollapseProps extends React.HTMLProps<NavbarCollapse> { }
export default class NavbarCollapse extends React.Component<NavbarCollapseProps> { }

View File

@@ -0,0 +1,5 @@
import * as React from 'react';
interface NavbarHeaderProps extends React.HTMLProps<NavbarHeader> { }
export default class NavbarHeader extends React.Component<NavbarHeaderProps> { }

View File

@@ -0,0 +1,7 @@
import * as React from 'react';
interface NavbarToggleProps extends React.Props<NavbarToggle> {
onClick?: React.MouseEventHandler<HTMLButtonElement>;
}
export default class NavbarToggle extends React.Component<NavbarToggleProps> { }

17
types/react-bootstrap/lib/Overlay.d.ts vendored Normal file
View File

@@ -0,0 +1,17 @@
import * as React from 'react';
import { TransitionCallbacks } from 'react-bootstrap';
interface OverlayProps extends TransitionCallbacks {
// Optional
animation?: any; // TODO: Add more specific type
container?: any; // TODO: Add more specific type
containerPadding?: number; // TODO: Add more specific type
onHide?: Function;
placement?: string;
rootClose?: boolean;
show?: boolean;
target?: Function | React.ReactInstance;
shouldUpdatePosition?: boolean;
}
export default class Overlay extends React.Component<OverlayProps> { }

View File

@@ -0,0 +1,26 @@
import * as React from 'react';
interface OverlayTriggerProps extends React.Props<OverlayTrigger> {
// Required
overlay: any; // TODO: Add more specific type
// Optional
animation?: any; // TODO: Add more specific type
container?: any; // TODO: Add more specific type
containerPadding?: number;
defaultOverlayShown?: boolean;
delay?: number;
delayHide?: number;
delayShow?: number;
onEnter?: Function;
onEntered?: Function;
onEntering?: Function;
onExit?: Function;
onExited?: Function;
onExiting?: Function;
placement?: string;
rootClose?: boolean;
trigger?: string | string[];
}
export default class OverlayTrigger extends React.Component<OverlayTriggerProps> { }

View File

@@ -0,0 +1,5 @@
import * as React from 'react';
interface PageHeaderProps extends React.HTMLProps<PageHeader> { }
export default class PageHeader extends React.Component<PageHeaderProps> { }

View File

@@ -0,0 +1,3 @@
/** @deprecated since v0.30.0, should use <Pager.Item> instead of <PageItem>*/
import PagerItem from './PagerItem';
export default PagerItem;

11
types/react-bootstrap/lib/Pager.d.ts vendored Normal file
View File

@@ -0,0 +1,11 @@
import * as React from 'react';
import { SelectCallback } from 'react-bootstrap';
import PagerItem from './PagerItem';
interface PagerProps extends React.HTMLProps<Pager> {
onSelect?: SelectCallback;
}
export default class Pager extends React.Component<PagerProps> {
public static Item: typeof PagerItem;
}

View File

@@ -0,0 +1,13 @@
import * as React from 'react';
import { SelectCallback } from 'react-bootstrap';
interface PagerItemProps extends React.HTMLProps<PagerItem> {
disabled?: boolean;
eventKey?: any;
next?: boolean;
onSelect?: SelectCallback;
previous?: boolean;
target?: string;
}
export default class PagerItem extends React.Component<PagerItemProps> { }

View File

@@ -0,0 +1,20 @@
import * as React from 'react';
import { Sizes, SelectCallback } from 'react-bootstrap';
interface PaginationProps extends React.HTMLProps<Pagination> {
activePage?: number;
bsSize?: Sizes;
bsStyle?: string;
boundaryLinks?: boolean;
buttonComponentClass?: React.ReactType;
ellipsis?: React.ReactNode;
first?: React.ReactNode;
items?: number;
last?: React.ReactNode;
maxButtons?: number;
next?: React.ReactNode;
onSelect?: SelectCallback;
prev?: React.ReactNode;
}
export default class Pagination extends React.Component<PaginationProps> { }

View File

@@ -0,0 +1,14 @@
import * as React from 'react';
import { SelectCallback } from 'react-bootstrap';
interface PaginationButtonProps extends React.HTMLProps<PaginationButton> {
componentClass?: React.ReactType;
className?: string;
eventKey?: any;
onSelect?: SelectCallback;
disabled?: boolean;
active?: boolean;
onClick: React.MouseEventHandler<{}>;
}
export default class PaginationButton extends React.Component<PaginationButtonProps> { }

17
types/react-bootstrap/lib/Panel.d.ts vendored Normal file
View File

@@ -0,0 +1,17 @@
import * as React from 'react';
import { TransitionCallbacks, Sizes, SelectCallback } from 'react-bootstrap';
interface PanelProps extends TransitionCallbacks, React.HTMLProps<Panel> {
bsClass?: string;
bsSize?: Sizes;
bsStyle?: string;
collapsible?: boolean;
defaultExpanded?: boolean;
eventKey?: any;
expanded?: boolean;
footer?: React.ReactNode;
header?: React.ReactNode;
onSelect?: SelectCallback;
}
export default class Panel extends React.Component<PanelProps> { }

View File

@@ -0,0 +1,13 @@
import * as React from 'react';
import { Sizes, SelectCallback } from 'react-bootstrap';
interface PanelGroupProps extends React.HTMLProps<PanelGroup> {
accordion?: boolean;
activeKey?: any;
bsSize?: Sizes;
bsStyle?: string;
defaultActiveKey?: any;
onSelect?: SelectCallback;
}
export default class PanelGroup extends React.Component<PanelGroupProps> { }

15
types/react-bootstrap/lib/Popover.d.ts vendored Normal file
View File

@@ -0,0 +1,15 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
interface PopoverProps extends React.HTMLProps<Popover> {
// Optional
arrowOffsetLeft?: number | string;
arrowOffsetTop?: number | string;
bsSize?: Sizes;
bsStyle?: string;
placement?: string;
positionLeft?: number | string; // String support added since v0.30.0
positionTop?: number | string; // String support added since v0.30.0
}
export default class Popover extends React.Component<PopoverProps> { }

View File

@@ -0,0 +1,17 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
interface ProgressBarProps extends React.HTMLProps<ProgressBar> {
// Optional
active?: boolean;
bsSize?: Sizes;
bsStyle?: string;
interpolatedClass?: any; // TODO: Add more specific type
max?: number;
min?: number;
now?: number;
srOnly?: boolean;
striped?: boolean;
}
export default class ProgressBar extends React.Component<ProgressBarProps> { }

11
types/react-bootstrap/lib/Radio.d.ts vendored Normal file
View File

@@ -0,0 +1,11 @@
import * as React from 'react';
interface RadioProps extends React.HTMLProps<Radio> {
bsClass?: string;
disabled?: boolean;
inline?: boolean;
inputRef?: (instance: HTMLInputElement) => void;
validationState?: "success" | "warning" | "error";
}
export default class Radio extends React.Component<RadioProps> { }

View File

@@ -0,0 +1,9 @@
import * as React from 'react';
interface ResponsiveEmbedProps extends React.HTMLProps<ResponsiveEmbed> {
a16by9?: boolean;
a4by3?: boolean;
bsClass?: string;
}
export default class ResponsiveEmbed extends React.Component<ResponsiveEmbedProps> { }

7
types/react-bootstrap/lib/Row.d.ts vendored Normal file
View File

@@ -0,0 +1,7 @@
import * as React from 'react';
interface RowProps extends React.HTMLProps<Row> {
componentClass?: React.ReactType;
}
export default class Row extends React.Component<RowProps> { }

View File

@@ -0,0 +1,11 @@
import * as React from 'react';
interface SafeAnchorProps extends React.HTMLProps<SafeAnchor> {
href?: string;
onClick?: React.MouseEventHandler<{}>;
disabled?: boolean;
role?: string;
componentClass?: React.ReactType;
}
export default class SafeAnchor extends React.Component<SafeAnchorProps> { }

View File

@@ -0,0 +1,12 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
interface SplitButtonProps extends React.HTMLProps<SplitButton> {
bsStyle?: string;
bsSize?: Sizes;
dropdownTitle?: any; // TODO: Add more specific type
dropup?: boolean;
pullRight?: boolean;
}
export default class SplitButton extends React.Component<SplitButtonProps> { }

View File

@@ -0,0 +1,6 @@
import * as React from 'react';
import { DropdownToggleProps } from './DropdownToggle';
interface SplitToggleProps extends DropdownToggleProps, React.HTMLProps<SplitToggle> { }
export default class SplitToggle extends React.Component<SplitToggleProps> { }

20
types/react-bootstrap/lib/Tab.d.ts vendored Normal file
View File

@@ -0,0 +1,20 @@
import * as React from 'react';
import { TransitionCallbacks } from 'react-bootstrap';
import TabContainer from './TabContainer';
import TabPane from './TabPane';
import TabContent from './TabContent';
interface TabProps extends TransitionCallbacks, React.HTMLProps<Tab> {
animation?: boolean;
'aria-labelledby'?: string;
bsClass?: string;
eventKey?: any; // TODO: Add more specific type
unmountOnExit?: boolean;
tabClassName?: string;
}
export default class Tab extends React.Component<TabProps> {
public static Container: typeof TabContainer;
public static Content: typeof TabContent;
public static Pane: typeof TabPane;
}

View File

@@ -0,0 +1,9 @@
import * as React from 'react';
interface TabContainerProps extends React.HTMLAttributes<TabContainer> {
activeKey?: any;
defaultActiveKey?: any;
generateChildId?: (eventKey: any, type: any) => string;
}
export default class TabContainer extends React.Component<TabContainerProps> { }

View File

@@ -0,0 +1,10 @@
import * as React from 'react';
interface TabContentProps extends React.HTMLProps<TabContent> {
componentClass?: React.ReactType,
animation?: boolean | React.ReactType;
mountOnEnter?: boolean;
unmountOnExit?: boolean;
}
export default class TabContent extends React.Component<TabContentProps> { }

12
types/react-bootstrap/lib/TabPane.d.ts vendored Normal file
View File

@@ -0,0 +1,12 @@
import * as React from 'react';
import { TransitionCallbacks } from 'react-bootstrap';
interface TabPaneProps extends TransitionCallbacks, React.HTMLProps<TabPane> {
animation?: boolean | React.ComponentClass<any>;
'aria-labelledby'?: string;
bsClass?: string;
eventKey?: any;
unmountOnExit?: boolean;
}
export default class TabPane extends React.Component<TabPaneProps> { }

13
types/react-bootstrap/lib/Table.d.ts vendored Normal file
View File

@@ -0,0 +1,13 @@
import * as React from 'react';
interface TableProps extends React.HTMLProps<Table> {
bordered?: boolean;
condensed?: boolean;
hover?: boolean;
responsive?: boolean;
striped?: boolean;
fill?: boolean;
bsClass?: string;
}
export default class Table extends React.Component<TableProps> { }

17
types/react-bootstrap/lib/Tabs.d.ts vendored Normal file
View File

@@ -0,0 +1,17 @@
import * as React from 'react';
import { SelectCallback } from 'react-bootstrap';
interface TabsProps extends React.HTMLProps<Tabs> {
activeKey?: any;
animation?: boolean;
bsStyle?: string;
defaultActiveKey?: any;
onSelect?: SelectCallback;
paneWidth?: any; // TODO: Add more specific type
position?: string;
tabWidth?: any; // TODO: Add more specific type
unmountOnExit?: boolean;
justified?: boolean;
}
export default class Tabs extends React.Component<TabsProps> { }

View File

@@ -0,0 +1,9 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
interface ThumbnailProps extends React.HTMLProps<Thumbnail> {
bsSize?: Sizes;
bsStyle?: string;
}
export default class Thumbnail extends React.Component<ThumbnailProps> { }

15
types/react-bootstrap/lib/Tooltip.d.ts vendored Normal file
View File

@@ -0,0 +1,15 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
interface TooltipProps extends React.HTMLProps<Tooltip> {
// Optional
arrowOffsetLeft?: number | string;
arrowOffsetTop?: number | string;
bsSize?: Sizes;
bsStyle?: string;
placement?: string;
positionLeft?: number;
positionTop?: number;
}
export default class Tooltip extends React.Component<TooltipProps> { }

9
types/react-bootstrap/lib/Well.d.ts vendored Normal file
View File

@@ -0,0 +1,9 @@
import * as React from 'react';
import { Sizes } from 'react-bootstrap';
interface WellProps extends React.HTMLProps<Well> {
bsSize?: Sizes;
bsStyle?: string;
}
export default class Well extends React.Component<WellProps> { }

178
types/react-bootstrap/lib/index.d.ts vendored Normal file
View File

@@ -0,0 +1,178 @@
import Accordion from './Accordion';
import Alert from './Alert';
import Badge from './Badge';
import Breadcrumb from './Breadcrumb';
import BreadcrumbItem from './BreadcrumbItem';
import Button from './Button';
import ButtonGroup from './ButtonGroup';
import ButtonToolbar from './ButtonToolbar';
import Carousel from './Carousel';
import CarouselCaption from './CarouselCaption';
import CarouselItem from './CarouselItem';
import Checkbox from './Checkbox';
import Clearfix from './Clearfix';
import Col from './Col';
import Collapse from './Collapse';
import ControlLabel from './ControlLabel';
import Dropdown from './Dropdown';
import DropdownButton from './DropdownButton';
import DropdownMenu from './DropdownMenu';
import DropdownToggle from './DropdownToggle';
import Fade from './Fade';
import Form from './Form';
import FormControl from './FormControl';
import FormControlFeedback from './FormControlFeedback';
import FormControlStatic from './FormControlStatic';
import FormGroup from './FormGroup';
import Glyphicon from './Glyphicon';
import Grid from './Grid';
import HelpBlock from './HelpBlock';
import Image from './Image';
import InputGroup from './InputGroup';
import InputGroupAddon from './InputGroupAddon';
import InputGroupButton from './InputGroupButton';
import Jumbotron from './Jumbotron';
import Label from './Label';
import ListGroup from './ListGroup';
import ListGroupItem from './ListGroupItem';
import Media from './Media';
import MediaBody from './MediaBody';
import MediaHeading from './MediaHeading';
import MediaLeft from './MediaLeft';
import MediaList from './MediaList';
import MediaListItem from './MediaListItem';
import MediaRight from './MediaRight';
import MenuItem from './MenuItem';
import Modal from './Modal';
import ModalBody from './ModalBody';
import ModalDialog from './ModalDialog';
import ModalFooter from './ModalFooter';
import ModalHeader from './ModalHeader';
import ModalTitle from './ModalTitle';
import Nav from './Nav';
import Navbar from './Navbar';
import NavbarBrand from './NavbarBrand';
import NavbarCollapse from './NavbarCollapse';
import NavbarHeader from './NavbarHeader';
import NavbarToggle from './NavbarToggle';
import NavDropdown from './NavDropdown';
import NavItem from './NavItem';
import Overlay from './Overlay';
import OverlayTrigger from './OverlayTrigger';
import PageHeader from './PageHeader';
import PageItem from './PageItem';
import Pager from './Pager';
import PagerItem from './PagerItem';
import Pagination from './Pagination';
import PaginationButton from './PaginationButton';
import Panel from './Panel';
import PanelGroup from './PanelGroup';
import Popover from './Popover';
import ProgressBar from './ProgressBar';
import Radio from './Radio';
import ResponsiveEmbed from './ResponsiveEmbed';
import Row from './Row';
import SafeAnchor from './SafeAnchor';
import SplitButton from './SplitButton';
import SplitToggle from './SplitToggle';
import Tab from './Tab';
import TabContainer from './TabContainer';
import TabContent from './TabContent';
import Table from './Table';
import TabPane from './TabPane';
import Tabs from './Tabs';
import Thumbnail from './Thumbnail';
import Tooltip from './Tooltip';
import Well from './Well';
import * as utils from './utils';
export {
Accordion,
Alert,
Badge,
Breadcrumb,
BreadcrumbItem,
Button,
ButtonGroup,
ButtonToolbar,
Carousel,
CarouselCaption,
CarouselItem,
Checkbox,
Clearfix,
Col,
Collapse,
ControlLabel,
Dropdown,
DropdownButton,
DropdownMenu,
DropdownToggle,
Fade,
Form,
FormControl,
FormControlFeedback,
FormControlStatic,
FormGroup,
Glyphicon,
Grid,
HelpBlock,
Image,
InputGroup,
InputGroupAddon,
InputGroupButton,
Jumbotron,
Label,
ListGroup,
ListGroupItem,
Media,
MediaBody,
MediaHeading,
MediaLeft,
MediaList,
MediaListItem,
MediaRight,
MenuItem,
Modal,
ModalBody,
ModalDialog,
ModalFooter,
ModalHeader,
ModalTitle,
Nav,
Navbar,
NavbarBrand,
NavbarCollapse,
NavbarHeader,
NavbarToggle,
NavDropdown,
NavItem,
Overlay,
OverlayTrigger,
PageHeader,
PageItem,
Pager,
PagerItem,
Pagination,
PaginationButton,
Panel,
PanelGroup,
Popover,
ProgressBar,
Radio,
ResponsiveEmbed,
Row,
SafeAnchor,
SplitButton,
SplitToggle,
Tab,
TabContainer,
TabContent,
Table,
TabPane,
Tabs,
Thumbnail,
Tooltip,
Well,
utils,
}

View File

@@ -0,0 +1,2 @@
export function requiredRoles(...roles: any[]): any;
export function exclusiveRoles(...roles: any[]): any;

View File

@@ -0,0 +1,32 @@
export const Size: {
LARGE: string;
SMALL: string;
XSMALL: string;
};
export const SIZE_MAP: {
large: string;
medium: string;
small: string;
xsmall: string;
lg: string;
md: string;
sm: string;
xs: string;
};
export const DEVICE_SIZES: string[];
export const State: {
SUCCESS: string;
WARNING: string;
DANGER: string;
INFO: string;
};
export const Style: {
DEFAULT: string;
PRIMARY: string;
LINK: string;
INVERSE: string;
};

View File

@@ -0,0 +1 @@
// TODO

View File

@@ -0,0 +1,18 @@
interface BSProps {
bsClass: any;
bsSize: any;
bsStyle: any;
bsRole: any;
}
export function prefix(props: { bsClass?: any }, variant?: string): string;
export function bsClass(defaultClass: any, Component: any): any;
export function bsStyles(styles: any, defaultStyle: any, Component: any): any;
export function bsSizes(sizes: any, defaultSize: any, Component: any): any;
export function getClassSet(props: any): any;
export function getBsProps(props: any): BSProps;
export function isBsProp(propName: string): boolean;
export function splitBsProps(props: any): [BSProps, any];
export function splitBsPropsAndOmit(props: any, omittedPropNames: any): [BSProps, any];
export function addStyle(Component: any, ...styleVariant: any[]): any;
// TODO: export function _curry

View File

@@ -0,0 +1 @@
export default function capitalize(string: string): string;

View File

@@ -0,0 +1 @@
export default function createChainedFunction(...funcs: Function[]): Function;

View File

@@ -0,0 +1,3 @@
export default function deprecationWarning(oldname: any, newname: string, link?: string): void;
export function wrapper(Component: any, ...args: any[]): any;
export function _resetWarned(): void;

View File

@@ -0,0 +1,4 @@
import * as bootstrapUtils from './bootstrapUtils';
import createChainedFunction from './createChainedFunction';
export { createChainedFunction, bootstrapUtils }

View File

@@ -0,0 +1 @@
export default function splitComponentProps(props: any, Component: any): [any, any];

View File

@@ -0,0 +1,193 @@
import * as React from 'react';
import Accordion from 'react-bootstrap/lib/Accordion';
import Alert from 'react-bootstrap/lib/Alert';
import Badge from 'react-bootstrap/lib/Badge';
import Breadcrumb from 'react-bootstrap/lib/Breadcrumb';
import BreadcrumbItem from 'react-bootstrap/lib/BreadcrumbItem';
import Button from 'react-bootstrap/lib/Button';
import ButtonGroup from 'react-bootstrap/lib/ButtonGroup';
import ButtonToolbar from 'react-bootstrap/lib/ButtonToolbar';
import Carousel from 'react-bootstrap/lib/Carousel';
import CarouselCaption from 'react-bootstrap/lib/CarouselCaption';
import CarouselItem from 'react-bootstrap/lib/CarouselItem';
import Checkbox from 'react-bootstrap/lib/Checkbox';
import Clearfix from 'react-bootstrap/lib/Clearfix';
import Col from 'react-bootstrap/lib/Col';
import Collapse from 'react-bootstrap/lib/Collapse';
import ControlLabel from 'react-bootstrap/lib/ControlLabel';
import Dropdown from 'react-bootstrap/lib/Dropdown';
import DropdownButton from 'react-bootstrap/lib/DropdownButton';
import DropdownMenu from 'react-bootstrap/lib/DropdownMenu';
import DropdownToggle from 'react-bootstrap/lib/DropdownToggle';
import Fade from 'react-bootstrap/lib/Fade';
import Form from 'react-bootstrap/lib/Form';
import FormControl from 'react-bootstrap/lib/FormControl';
import FormControlFeedback from 'react-bootstrap/lib/FormControlFeedback';
import FormControlStatic from 'react-bootstrap/lib/FormControlStatic';
import FormGroup from 'react-bootstrap/lib/FormGroup';
import Glyphicon from 'react-bootstrap/lib/Glyphicon';
import Grid from 'react-bootstrap/lib/Grid';
import HelpBlock from 'react-bootstrap/lib/HelpBlock';
import Image from 'react-bootstrap/lib/Image';
import InputGroup from 'react-bootstrap/lib/InputGroup';
import InputGroupAddon from 'react-bootstrap/lib/InputGroupAddon';
import InputGroupButton from 'react-bootstrap/lib/InputGroupButton';
import Jumbotron from 'react-bootstrap/lib/Jumbotron';
import Label from 'react-bootstrap/lib/Label';
import ListGroup from 'react-bootstrap/lib/ListGroup';
import ListGroupItem from 'react-bootstrap/lib/ListGroupItem';
import Media from 'react-bootstrap/lib/Media';
import MediaBody from 'react-bootstrap/lib/MediaBody';
import MediaHeading from 'react-bootstrap/lib/MediaHeading';
import MediaLeft from 'react-bootstrap/lib/MediaLeft';
import MediaList from 'react-bootstrap/lib/MediaList';
import MediaListItem from 'react-bootstrap/lib/MediaListItem';
import MediaRight from 'react-bootstrap/lib/MediaRight';
import MenuItem from 'react-bootstrap/lib/MenuItem';
import Modal from 'react-bootstrap/lib/Modal';
import ModalBody from 'react-bootstrap/lib/ModalBody';
import ModalDialog from 'react-bootstrap/lib/ModalDialog';
import ModalFooter from 'react-bootstrap/lib/ModalFooter';
import ModalHeader from 'react-bootstrap/lib/ModalHeader';
import ModalTitle from 'react-bootstrap/lib/ModalTitle';
import Nav from 'react-bootstrap/lib/Nav';
import NavDropdown from 'react-bootstrap/lib/NavDropdown';
import NavItem from 'react-bootstrap/lib/NavItem';
import Navbar from 'react-bootstrap/lib/Navbar';
import NavbarBrand from 'react-bootstrap/lib/NavbarBrand';
import NavbarCollapse from 'react-bootstrap/lib/NavbarCollapse';
import NavbarHeader from 'react-bootstrap/lib/NavbarHeader';
import NavbarToggle from 'react-bootstrap/lib/NavbarToggle';
import Overlay from 'react-bootstrap/lib/Overlay';
import OverlayTrigger from 'react-bootstrap/lib/OverlayTrigger';
import PageHeader from 'react-bootstrap/lib/PageHeader';
import PageItem from 'react-bootstrap/lib/PageItem';
import Pager from 'react-bootstrap/lib/Pager';
import PagerItem from 'react-bootstrap/lib/PagerItem';
import Pagination from 'react-bootstrap/lib/Pagination';
import PaginationButton from 'react-bootstrap/lib/PaginationButton';
import Panel from 'react-bootstrap/lib/Panel';
import PanelGroup from 'react-bootstrap/lib/PanelGroup';
import Popover from 'react-bootstrap/lib/Popover';
import ProgressBar from 'react-bootstrap/lib/ProgressBar';
import Radio from 'react-bootstrap/lib/Radio';
import ResponsiveEmbed from 'react-bootstrap/lib/ResponsiveEmbed';
import Row from 'react-bootstrap/lib/Row';
import SafeAnchor from 'react-bootstrap/lib/SafeAnchor';
import SplitButton from 'react-bootstrap/lib/SplitButton';
import SplitToggle from 'react-bootstrap/lib/SplitToggle';
import Tab from 'react-bootstrap/lib/Tab';
import TabContainer from 'react-bootstrap/lib/TabContainer';
import TabContent from 'react-bootstrap/lib/TabContent';
import TabPane from 'react-bootstrap/lib/TabPane';
import Table from 'react-bootstrap/lib/Table';
import Tabs from 'react-bootstrap/lib/Tabs';
import Thumbnail from 'react-bootstrap/lib/Thumbnail';
import Tooltip from 'react-bootstrap/lib/Tooltip';
import Well from 'react-bootstrap/lib/Well';
const noop = () => {};
/**
* Mostly just checking here that TS recognizes all of the imports as Components, which means we properly exported them
* from lib/*
*/
export class ReactBootstrapIndividualComponentsTest extends React.Component {
public render() {
return (
<div>
<Accordion />
<Alert />
<Badge />
<Breadcrumb>
<BreadcrumbItem />
</Breadcrumb>
<Button />
<ButtonGroup><Button /></ButtonGroup>
<ButtonToolbar><Button /></ButtonToolbar>
<Carousel>
<CarouselCaption />
<Carousel.Caption />
<CarouselItem />
<Carousel.Item />
</Carousel>
<Checkbox />
<Clearfix />
<Col />
<Collapse />
<ControlLabel />
<Dropdown id="foo" />
<DropdownButton id="foo" />
<DropdownMenu />
<DropdownToggle />
<Fade />
<Form />
<FormControl />
<FormControlFeedback />
<FormControlStatic />
<FormGroup />
<Glyphicon glyph="foo" />
<Grid />
<HelpBlock />
<Image />
<InputGroup />
<InputGroupAddon />
<InputGroupButton />
<Jumbotron />
<Label />
<ListGroup />
<ListGroupItem />
<Media />
<MediaBody />
<MediaHeading />
<MediaLeft />
<MediaList />
<MediaListItem />
<MediaRight />
<MenuItem />
<Modal onHide={noop} />
<ModalBody />
<ModalDialog />
<ModalFooter />
<ModalHeader />
<ModalTitle />
<Nav />
<NavDropdown id="foo" />
<NavItem />
<Navbar />
<NavbarBrand />
<NavbarCollapse />
<NavbarHeader />
<NavbarToggle />
<Overlay />
<OverlayTrigger overlay="" />
<PageHeader />
<PageItem />
<Pager />
<PagerItem />
<Pagination />
<PaginationButton onClick={noop} />
<Panel />
<PanelGroup />
<Popover />
<ProgressBar />
<Radio />
<ResponsiveEmbed />
<Row />
<SafeAnchor />
<SplitButton />
<SplitToggle />
<Tab />
<TabContainer />
<TabContent />
<TabPane />
<Table />
<Tabs />
<Thumbnail />
<Tooltip />
<Well />
</div>
)
}
}

View File

@@ -15,7 +15,6 @@ import {
Radio, Checkbox, Media, InputGroup
} from 'react-bootstrap';
export class ReactBootstrapTest extends Component {
callback() {
alert('Callback: ' + JSON.stringify(arguments));
@@ -37,6 +36,12 @@ export class ReactBootstrapTest extends Component {
return (
<div style={style}>
{ innerGlyphicon }
{ innerButton }
{ innerDropdown }
{ innerRadio }
{ innerCheckbox }
<div style={style}>
<ButtonToolbar>
<Button>Default</Button>

View File

@@ -15,10 +15,12 @@
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
"forceConsistentCasingInFileNames": true,
"noUnusedLocals": true
},
"files": [
"index.d.ts",
"react-bootstrap-tests.tsx"
"react-bootstrap-tests.tsx",
"react-bootstrap-individual-components-tests.tsx"
]
}
}