UNPKG

1.43 kBTypeScriptView Raw
1import React from 'react';
2import CarouselCaption from './CarouselCaption';
3import CarouselItem from './CarouselItem';
4import { BsPrefixPropsWithChildren, BsPrefixRefForwardingComponent } from './helpers';
5export interface CarouselRef {
6 element: HTMLElement;
7 prev: (e?: React.SyntheticEvent) => void;
8 next: (e?: React.SyntheticEvent) => void;
9}
10export interface CarouselProps extends BsPrefixPropsWithChildren, Pick<React.DOMAttributes<HTMLElement>, 'onKeyDown' | 'onMouseOver' | 'onMouseOut' | 'onTouchStart' | 'onTouchMove' | 'onTouchEnd'> {
11 slide?: boolean;
12 fade?: boolean;
13 controls?: boolean;
14 indicators?: boolean;
15 activeIndex?: number;
16 onSelect?: (eventKey: number, event: Record<string, unknown> | null) => void;
17 defaultActiveIndex?: number;
18 onSlide?: (eventKey: number, direction: 'left' | 'right') => void;
19 onSlid?: (eventKey: number, direction: 'left' | 'right') => void;
20 interval?: number | null;
21 keyboard?: boolean;
22 pause?: 'hover' | false;
23 wrap?: boolean;
24 touch?: boolean;
25 prevIcon?: React.ReactNode;
26 prevLabel?: React.ReactNode;
27 nextIcon?: React.ReactNode;
28 nextLabel?: React.ReactNode;
29 ref?: React.Ref<CarouselRef>;
30}
31declare type Carousel = BsPrefixRefForwardingComponent<'div', CarouselProps> & {
32 Caption: typeof CarouselCaption;
33 Item: typeof CarouselItem;
34};
35declare const Carousel: Carousel;
36export default Carousel;