diff options
Diffstat (limited to 'packages/typescript-typings')
-rw-r--r-- | packages/typescript-typings/CHANGELOG.json | 8 | ||||
-rw-r--r-- | packages/typescript-typings/types/react-joyride/index.d.ts | 86 |
2 files changed, 94 insertions, 0 deletions
diff --git a/packages/typescript-typings/CHANGELOG.json b/packages/typescript-typings/CHANGELOG.json index 2e2998bb3..77a5ffad2 100644 --- a/packages/typescript-typings/CHANGELOG.json +++ b/packages/typescript-typings/CHANGELOG.json @@ -1,5 +1,13 @@ [ { + "version": "0.4.0", + "changes": [ + { + "note": "Add types for `react-joyride`" + } + ] + }, + { "timestamp": 1527009133, "version": "0.3.2", "changes": [ diff --git a/packages/typescript-typings/types/react-joyride/index.d.ts b/packages/typescript-typings/types/react-joyride/index.d.ts new file mode 100644 index 000000000..f126e4c86 --- /dev/null +++ b/packages/typescript-typings/types/react-joyride/index.d.ts @@ -0,0 +1,86 @@ +// Type definitions for react-joyride 2.0.0-11 +// Project: https://github.com/gilbarbara/react-joyride + +declare module 'react-joyride' { + import * as React from 'react'; + export interface StyleOptions { + arrowColor?: string; + backgroundColor?: string; + primaryColor?: string; + textColor?: string; + overlayColor?: string; + spotlightShadow?: string; + beaconSize?: number; + zIndex?: number; + } + + export type Placement = + | 'top' + | 'top-left' + | 'top-right' + | 'bottom' + | 'bottom-left' + | 'bottom-right' + | 'right' + | 'left'; + + export interface Step { + title?: string; + content: React.ReactNode; + target: string; + placement?: Placement; + type?: 'click' | 'hover'; + isFixed?: boolean; + allowClicksThruHole?: boolean; + disableBeacon?: boolean; + style?: StyleOptions; + [prop: string]: any; + } + + export interface StyleOptionsProp { + options: StyleOptions; + } + + interface CallbackMetadata { + type: + | 'tour:start' + | 'step:before' + | 'beacon' + | 'tooltip' + | 'close' + | 'step:after' + | 'tour:end' + | 'tour:status' + | 'error:target_not_found' + | 'error'; + step: number; + } + + export type CallbackData = CallbackMetadata & State; + + export interface Props { + steps?: Step[]; + beaconComponent?: React.ReactNode; + disableOverlayClose?: boolean; + run?: boolean; + stepIndex?: number; + callback?: (data: CallbackData) => void; + debug?: boolean; + styles?: StyleOptionsProp; + } + + export interface State { + action: string; + controlled: boolean; + index: number; + lifecycle: string; + size: 0; + status: string; + } + + export default class Joyride extends React.Component<Props, State> { + constructor(props: Props); + + static defaultProps: Props; + } +} |