DefinitelyTyped/types/reactstrap/index.d.ts
Nathan Shively-Sanders c7a220ca57
Make reactstrap compile faster (#34809)
* Re-export classes directly, don't re-subclass

This cuts about 30% of the types the Typescript compiler was creating in
TS 3.3 to compile reactstrap. I don't know how many types it was creating in
3.4 because it would run out of memory.

Note that lint still crashes because it runs out of memory. I'll
continue improving performance.

* Remove strict generic checking

This reverts the strictness part of #26094 without changing its
interface. It retains

1. string index signatures, so that arbitrary props can be passed in.
2. extending from React.Componenent, so that individual types can be
subclassed.
3. Type parameters on the individual types.

However, string index signatures can no longer be avoided, and type
parameters are ignored. This preserves interface compatibility --
existing code will not break from this change -- but disables excess
prop checking. It's possible that a breaking change that returns the
type package to its old strict behaviour can be made at the same time as
a breaking change of reactstrap itself.

This change improves performance dramatically, and allows linting to
succeed without running out of memory.

* Add missing semicolon
2019-04-17 16:08:14 -07:00

191 lines
9.5 KiB
TypeScript

// Type definitions for reactstrap 8.0
// Project: https://github.com/reactstrap/reactstrap#readme
// Definitions by: Ali Hammad Baig <https://github.com/alihammad>
// Marco Falkenberg <https://github.com/mfal>
// Danilo Barros <https://github.com/danilobjr>
// FaithForHumans <https://github.com/FaithForHumans>
// Tim Chen <https://github.com/timc13>
// Pat Gaffney <https://github.com/patrickrgaffney>
// Prabodh Tiwari <https://github.com/prabodht>
// Georg Steinmetz <https://github.com/georg94>
// Kyle Tsang <https://github.com/kyletsang>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.9
export interface CSSModule {
[className: string]: string;
}
export { default as Alert } from './lib/Alert';
export { AlertProps } from './lib/Alert';
export { default as Badge } from './lib/Badge';
export { BadgeProps } from './lib/Badge';
export { default as Breadcrumb } from './lib/Breadcrumb';
export { BreadcrumbProps } from './lib/Breadcrumb';
export { default as BreadcrumbItem } from './lib/BreadcrumbItem';
export { BreadcrumbItemProps } from './lib/BreadcrumbItem';
export { default as Button } from './lib/Button';
export { ButtonProps } from './lib/Button';
export { default as ButtonDropdown } from './lib/ButtonDropdown';
export { ButtonDropdownProps } from './lib/ButtonDropdown';
export { default as ButtonGroup } from './lib/ButtonGroup';
export { ButtonGroupProps } from './lib/ButtonGroup';
export { default as ButtonToolbar } from './lib/ButtonToolbar';
export { ButtonToolbarProps } from './lib/ButtonToolbar';
export { default as Card } from './lib/Card';
export { CardProps } from './lib/Card';
export { default as CardBody } from './lib/CardBody';
export { CardBodyProps } from './lib/CardBody';
export { default as CardColumns } from './lib/CardColumns';
export { CardColumnsProps } from './lib/CardColumns';
export { default as CardDeck } from './lib/CardDeck';
export { CardDeckProps } from './lib/CardDeck';
export { default as CardFooter } from './lib/CardFooter';
export { CardFooterProps } from './lib/CardFooter';
export { default as CardGroup } from './lib/CardGroup';
export { CardGroupProps } from './lib/CardGroup';
export { default as CardHeader } from './lib/CardHeader';
export { CardHeaderProps } from './lib/CardHeader';
export { default as CardImg } from './lib/CardImg';
export { CardImgProps } from './lib/CardImg';
export { default as CardImgOverlay } from './lib/CardImgOverlay';
export { CardImgOverlayProps } from './lib/CardImgOverlay';
export { default as CardLink } from './lib/CardLink';
export { CardLinkProps } from './lib/CardLink';
export { default as CardSubtitle } from './lib/CardSubtitle';
export { CardSubtitleProps } from './lib/CardSubtitle';
export { default as CardText } from './lib/CardText';
export { CardTextProps } from './lib/CardText';
export { default as CardTitle } from './lib/CardTitle';
export { CardTitleProps } from './lib/CardTitle';
export { default as Carousel } from './lib/Carousel';
export { CarouselProps } from './lib/Carousel';
export { default as CarouselItem } from './lib/CarouselItem';
export { CarouselItemProps } from './lib/CarouselItem';
export { default as CarouselControl } from './lib/CarouselControl';
export { CarouselControlProps } from './lib/CarouselControl';
export { default as CarouselIndicators } from './lib/CarouselIndicators';
export { CarouselIndicatorsProps } from './lib/CarouselIndicators';
export { default as CarouselCaption } from './lib/CarouselCaption';
export { CarouselCaptionProps } from './lib/CarouselCaption';
export { default as Col } from './lib/Col';
export { ColProps } from './lib/Col';
export { default as Collapse } from './lib/Collapse';
export { CollapseProps } from './lib/Collapse';
export { default as Container } from './lib/Container';
export { ContainerProps } from './lib/Container';
export { default as CustomInput } from './lib/CustomInput';
export { CustomInputProps } from './lib/CustomInput';
export { default as Dropdown } from './lib/Dropdown';
export { DropdownProps } from './lib/Dropdown';
export { default as DropdownItem } from './lib/DropdownItem';
export { DropdownItemProps } from './lib/DropdownItem';
export { default as DropdownMenu } from './lib/DropdownMenu';
export { DropdownMenuProps } from './lib/DropdownMenu';
export { default as DropdownToggle } from './lib/DropdownToggle';
export { DropdownToggleProps } from './lib/DropdownToggle';
export { default as Fade } from './lib/Fade';
export { FadeProps } from './lib/Fade';
export { default as Form } from './lib/Form';
export { FormProps } from './lib/Form';
export { default as FormFeedback } from './lib/FormFeedback';
export { FormFeedbackProps } from './lib/FormFeedback';
export { default as FormGroup } from './lib/FormGroup';
export { FormGroupProps } from './lib/FormGroup';
export { default as FormText } from './lib/FormText';
export { FormTextProps } from './lib/FormText';
export { default as Input } from './lib/Input';
export { InputProps } from './lib/Input';
export { default as InputGroup } from './lib/InputGroup';
export { InputGroupProps } from './lib/InputGroup';
export { default as InputGroupAddon } from './lib/InputGroupAddon';
export { InputGroupAddonProps } from './lib/InputGroupAddon';
export { default as InputGroupButtonDropdown } from './lib/InputGroupButtonDropdown';
export { InputGroupButtonDropdownProps } from './lib/InputGroupButtonDropdown';
export { default as InputGroupText } from './lib/InputGroupText';
export { InputGroupTextProps } from './lib/InputGroupText';
export { default as Jumbotron } from './lib/Jumbotron';
export { JumbotronProps } from './lib/Jumbotron';
export { default as Label } from './lib/Label';
export { LabelProps } from './lib/Label';
export { default as ListGroup } from './lib/ListGroup';
export { ListGroupProps } from './lib/ListGroup';
export { default as ListGroupItem } from './lib/ListGroupItem';
export { ListGroupItemProps } from './lib/ListGroupItem';
export { default as ListGroupItemHeading } from './lib/ListGroupItemHeading';
export { ListGroupItemHeadingProps } from './lib/ListGroupItemHeading';
export { default as ListGroupItemText } from './lib/ListGroupItemText';
export { ListGroupItemTextProps } from './lib/ListGroupItemText';
export { default as Media } from './lib/Media';
export { MediaProps } from './lib/Media';
export { default as Modal } from './lib/Modal';
export { ModalProps } from './lib/Modal';
export { default as ModalBody } from './lib/ModalBody';
export { ModalBodyProps } from './lib/ModalBody';
export { default as ModalFooter } from './lib/ModalFooter';
export { ModalFooterProps } from './lib/ModalFooter';
export { default as ModalHeader } from './lib/ModalHeader';
export { ModalHeaderProps } from './lib/ModalHeader';
export { default as Nav } from './lib/Nav';
export { NavProps } from './lib/Nav';
export { default as Navbar } from './lib/Navbar';
export { NavbarProps } from './lib/Navbar';
export { default as NavbarBrand } from './lib/NavbarBrand';
export { NavbarBrandProps } from './lib/NavbarBrand';
export { default as NavbarToggler } from './lib/NavbarToggler';
export { NavbarTogglerProps } from './lib/NavbarToggler';
export { default as NavItem } from './lib/NavItem';
export { NavItemProps } from './lib/NavItem';
export { default as NavLink } from './lib/NavLink';
export { NavLinkProps } from './lib/NavLink';
export { default as Pagination } from './lib/Pagination';
export { PaginationProps } from './lib/Pagination';
export { default as PaginationItem } from './lib/PaginationItem';
export { PaginationItemProps } from './lib/PaginationItem';
export { default as PaginationLink } from './lib/PaginationLink';
export { PaginationLinkProps } from './lib/PaginationLink';
export { default as Popover } from './lib/Popover';
export { PopoverProps } from './lib/Popover';
export { default as PopoverBody } from './lib/PopoverBody';
export { PopoverBodyProps } from './lib/PopoverBody';
export { default as PopoverHeader } from './lib/PopoverHeader';
export { PopoverHeaderProps } from './lib/PopoverHeader';
export { default as Progress } from './lib/Progress';
export { ProgressProps } from './lib/Progress';
export { default as Row } from './lib/Row';
export { RowProps } from './lib/Row';
export { default as Spinner } from './lib/Spinner';
export { SpinnerProps } from './lib/Spinner';
export { default as TabContent } from './lib/TabContent';
export { TabContentProps } from './lib/TabContent';
export { default as Table } from './lib/Table';
export { TableProps } from './lib/Table';
export { default as TabPane } from './lib/TabPane';
export { TabPaneProps } from './lib/TabPane';
export { default as Tag } from './lib/Tag';
export { TagProps } from './lib/Tag';
export { default as Toast } from './lib/Toast';
export { ToastProps } from './lib/Toast';
export { default as ToastBody } from './lib/ToastBody';
export { ToastBodyProps } from './lib/ToastBody';
export { default as ToastHeader } from './lib/ToastHeader';
export { ToastHeaderProps } from './lib/ToastHeader';
export { default as Tooltip } from './lib/Tooltip';
export { TooltipProps } from './lib/Tooltip';
export {
UncontrolledAlert,
UncontrolledButtonDropdown,
UncontrolledDropdown,
UncontrolledTooltip,
UncontrolledCollapse,
UncontrolledCarousel,
UncontrolledPopover,
UncontrolledButtonDropdownProps,
UncontrolledAlertProps,
UncontrolledDropdownProps,
UncontrolledTooltipProps,
UncontrolledCollapseProps,
UncontrolledCarouselProps,
UncontrolledPopoverProps
} from './lib/Uncontrolled';