diff --git a/types/react-alice-carousel/index.d.ts b/types/react-alice-carousel/index.d.ts new file mode 100644 index 0000000000..6f5034d28c --- /dev/null +++ b/types/react-alice-carousel/index.d.ts @@ -0,0 +1,129 @@ +// Type definitions for react-alert 2.4 +// Project: https://github.com/maxmarinich/react-alice-carousel +// Definitions by: endigo +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.3 + +declare module 'react-big-calendar' { + import * as React from "react"; + + export interface EventObject { + item: number; + index: number; + } + + export interface ResponsiveSettings { + breakpoint: { + items: number; + }; + } + + export interface Props { + /** + * Fired when the event object is changing / returns event object + */ + onSlideChange?: (e: EventObject) => void; + /** + * Fired when the event object was changed / returns event object + */ + onSlideChanged?: (e: EventObject) => void; + /** + * Disable keys controls (left, right, space) + * + * Default: false. + */ + keysControlDisabled?: boolean; + /** + * Disable play/pause button + * + * Default: false. + */ + playButtonEnabled?: boolean; + /** + * Disable buttons control + * + * Default: false. + */ + buttonsDisabled?: boolean; + /** + * Disable dots navigation + * + * Default: false. + */ + dotsDisabled?: boolean; + /** + * Disable swipe handlers + * + * Default: false. + */ + swipeDisabled?: boolean; + /** + * Number of items in the slide. + * + * Default: {}. + */ + responsive?: ResponsiveSettings, + /** + * Duration of slides transition (milliseconds) + * + * Default: 250. + */ + duration?: number; + /** + * The starting index of the carousel + * + * Default: 0. + */ + startIndex?: number; + /** + * Sets the carousel at the specified position + * + * Default: 0. + */ + slideToIndex?: number; + /** + * Set auto play mode + * + * Default: false. + */ + autoPlay?: boolean; + /** + * Disable infinite mode + * + * Default: true. + */ + infinite?: boolean; + /** + * The offset of the alert from the page border, can be any number. + * + * Default: 14. + */ + mouseDragEnabled?: boolean; + /** + * Enable fadeout animation. Fired when 1 item is in the slide + * + * Default: false. + */ + fadeOutAnimation?: boolean; + /** + * Interval of auto play animation (milliseconds). If specified, a larger value will be taken from comparing this property and the duration one + * + * Default: 250. + */ + autoPlayInterval?: number; + /** + * To run auto play in the left direction specify rtl value + * + * Default: 'ltr'. + */ + autoPlayDirection?: string; + /** + * If this property is identified as true auto play animation will be stopped after clicking user on any gallery button + * + * Default: false. + */ + autoPlayActionDisabled?: boolean; + } + + export default class Carousel extends React.Component {} +} \ No newline at end of file diff --git a/types/react-alice-carousel/react-alice-carousel-tests.tsx b/types/react-alice-carousel/react-alice-carousel-tests.tsx new file mode 100644 index 0000000000..15e3e507ac --- /dev/null +++ b/types/react-alice-carousel/react-alice-carousel-tests.tsx @@ -0,0 +1,61 @@ +import * as React from 'react'; +import * as AliceCarousel from 'react-alice-carousel'; + +class SimpleAliceCarousel extends React.Component { + render() { + return ( +
+ +
+ ); + } +} + +class Gallery extends React.Component { + onSlideChange(e: AliceCarousel.EventObject) { + console.log('Item`s position during a change: ', e.item); + console.log('Slide`s position during a change: ', e.slide); + } + + onSlideChanged(e: AliceCarousel.EventObject) { + console.log('Item`s position after changes: ', e.item); + console.log('Slide`s position after changes: ', e.slide); + } + + render() { + const responsive = { + 0: { + items: 1 + }, + 600: { + items: 2 + }, + 1024: { + items: 3 + } + }; + + return ( + +

1

+

2

+

3

+

4

+

5

+
+ ); + } +} diff --git a/types/react-alice-carousel/tsconfig.json b/types/react-alice-carousel/tsconfig.json new file mode 100644 index 0000000000..4245303823 --- /dev/null +++ b/types/react-alice-carousel/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "jsx": "react" + }, + "files": [ + "index.d.ts", + "react-alice-carousel-tests.tsx" + ] +} diff --git a/types/react-alice-carousel/tslint.json b/types/react-alice-carousel/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/react-alice-carousel/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }