From 80d3201a48fb41e96ecbd58246815132de68d2de Mon Sep 17 00:00:00 2001 From: Slobodan Kletnikov Date: Wed, 2 Jan 2019 00:00:10 +0100 Subject: [PATCH 1/2] Add UncontrolledCarousel type --- types/reactstrap/index.d.ts | 7 +++++-- types/reactstrap/lib/Carousel.d.ts | 20 ++++++++++++++++++++ types/reactstrap/lib/Uncontrolled.d.ts | 3 +++ 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/types/reactstrap/index.d.ts b/types/reactstrap/index.d.ts index 8197cf5bb1..d2779b4ab6 100644 --- a/types/reactstrap/index.d.ts +++ b/types/reactstrap/index.d.ts @@ -241,17 +241,20 @@ import { UncontrolledButtonDropdown as UncontrolledButtonDropdown_, UncontrolledDropdown as UncontrolledDropdown_, UncontrolledTooltip as UncontrolledTooltip_, - UncontrolledCollapse as UncontrolledCollapse_ + UncontrolledCollapse as UncontrolledCollapse_, + UncontrolledCarousel as UncontrolledCarousel_ } from './lib/Uncontrolled'; export class UncontrolledAlert extends UncontrolledAlert_ {} export class UncontrolledButtonDropdown extends UncontrolledButtonDropdown_ {} export class UncontrolledDropdown extends UncontrolledDropdown_ {} export class UncontrolledTooltip extends UncontrolledTooltip_ {} export class UncontrolledCollapse extends UncontrolledCollapse_ {} +export class UncontrolledCarousel extends UncontrolledCarousel_ {} export { UncontrolledButtonDropdownProps, UncontrolledAlertProps, UncontrolledDropdownProps, UncontrolledTooltipProps, - UncontrolledCollapseProps + UncontrolledCollapseProps, + UncontrolledCarouselProps } from './lib/Uncontrolled'; diff --git a/types/reactstrap/lib/Carousel.d.ts b/types/reactstrap/lib/Carousel.d.ts index 0f59105f77..69899eff34 100644 --- a/types/reactstrap/lib/Carousel.d.ts +++ b/types/reactstrap/lib/Carousel.d.ts @@ -15,5 +15,25 @@ export type CarouselProps = React.HTMLProps & { cssModule?: CSSModule } & T; +export type UncontrolledProps = React.HTMLProps & { + items: any[]; + activeIndex?: number; + next?: () => void; + previous?: () => void; + keyboard?: boolean; + pause?: "hover" | false; + ride?: "carousel"; + interval?: number | string | boolean; + mouseEnter?: () => void; + mouseExit?: () => void; + slide?: boolean; + cssModule?: CSSModule; + controls?: boolean; + indicators?: boolean; + autoPlay?: boolean; +} & T; + +export type UncontrolledCarouselProps = UncontrolledProps; + declare class Carousel extends React.Component> {} export default Carousel; diff --git a/types/reactstrap/lib/Uncontrolled.d.ts b/types/reactstrap/lib/Uncontrolled.d.ts index 118b76d0d1..3be770852f 100644 --- a/types/reactstrap/lib/Uncontrolled.d.ts +++ b/types/reactstrap/lib/Uncontrolled.d.ts @@ -5,15 +5,18 @@ import { UncontrolledButtonDropdownProps } from './ButtonDropdown'; import { UncontrolledDropdownProps } from './Dropdown'; import { UncontrolledTooltipProps } from './Tooltip'; import { UncontrolledCollapseProps } from './Collapse'; +import { UncontrolledCarouselProps } from "./Carousel"; export class UncontrolledAlert extends React.Component> {} export class UncontrolledButtonDropdown extends React.Component> {} export class UncontrolledDropdown extends React.Component> {} export class UncontrolledTooltip extends React.Component> {} export class UncontrolledCollapse extends React.Component> {} +export class UncontrolledCarousel extends React.Component> {} export { UncontrolledAlertProps } from './Alert'; export { UncontrolledButtonDropdownProps } from './ButtonDropdown'; export { UncontrolledDropdownProps } from './Dropdown'; export { UncontrolledTooltipProps } from './Tooltip'; export { UncontrolledCollapseProps } from './Collapse'; +export { UncontrolledCarouselProps } from "./Carousel"; From b9256feb46be0b27b5a304690a8db0d37d6bcb2d Mon Sep 17 00:00:00 2001 From: Slobodan Kletnikov Date: Wed, 2 Jan 2019 00:16:18 +0100 Subject: [PATCH 2/2] Add UncontrolledCarousel test --- types/reactstrap/reactstrap-tests.tsx | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/types/reactstrap/reactstrap-tests.tsx b/types/reactstrap/reactstrap-tests.tsx index 427c5ae19e..4c6d1a98db 100644 --- a/types/reactstrap/reactstrap-tests.tsx +++ b/types/reactstrap/reactstrap-tests.tsx @@ -75,6 +75,7 @@ import { UncontrolledDropdown, UncontrolledTooltip, UncontrolledCollapse, + UncontrolledCarousel, TabContent, Table, Tag, @@ -4297,3 +4298,28 @@ function Example123() { ); } + +function Example124() { + // https://reactstrap.github.io/components/carousel/ + const items = [ + { + src: 'data:image/svg+xml...', + altText: 'Slide 1', + caption: 'Slide 1' + }, + { + src: 'data:image/svg+xml...', + altText: 'Slide 2', + caption: 'Slide 2' + }, + { + src: 'data:image/svg+xml...', + altText: 'Slide 3', + caption: 'Slide 3' + } + ]; + + return ( + + ); +}