Skip to content

Commit

Permalink
Update typescript declaration
Browse files Browse the repository at this point in the history
Fixes #511
  • Loading branch information
gilbarbara committed Jul 11, 2019
1 parent 191c973 commit 9c63f11
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 42 deletions.
74 changes: 35 additions & 39 deletions types/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import * as React from 'react';

export type placement =
export type valueof<T> = T[keyof T];

export type Placement =
| 'top'
| 'top-start'
| 'top-end'
Expand All @@ -16,7 +18,7 @@ export type placement =
| 'auto'
| 'center';

export type placementBeacon = 'top' | 'bottom' | 'left' | 'right';
export type PlacementBeacon = 'top' | 'bottom' | 'left' | 'right';

export interface StoreState {
action: string;
Expand All @@ -29,11 +31,11 @@ export interface StoreState {

export interface StoreHelpers {
close: () => void;
go: () => void;
go: (nextIndex: number) => void;
info: () => StoreState;
next: () => void;
prev: () => void;
reset: () => void;
reset: (restart: boolean) => void;
skip: () => void;
}

Expand All @@ -51,16 +53,20 @@ export interface CallBackProps {
index: number;
lifecycle: string;
size: number;
status: string;
status: valueof<status>;
step: Step;
type: string;
}

export interface GenericObject {
[key: string]: any;
}

export interface FloaterProps {
disableAnimation?: boolean;
options?: object;
styles?: object;
wrapperOptions?: object;
options?: GenericObject;
styles?: GenericObject;
wrapperOptions?: GenericObject;
}

export interface Styles {
Expand All @@ -79,6 +85,7 @@ export interface Styles {
primaryColor?: string;
spotlightShadow?: string;
textColor?: string;
width?: string | number;
zIndex?: number;
};
overlay?: React.CSSProperties;
Expand All @@ -94,33 +101,22 @@ export interface Styles {
tooltipTitle?: React.CSSProperties;
}

export interface Step {
beaconComponent?: (renderProps: BeaconRenderProps) => React.ReactNode;
content: React.ReactNode;
disableBeacon?: boolean;
export interface CommonProps {
beaconComponent?: React.ElementType<BeaconRenderProps>;
disableCloseOnEsc?: boolean;
disableOverlay?: boolean;
disableOverlayClose?: boolean;
disableScrolling?: boolean;
disableScrollParentFix?: boolean;
event?: string;
floaterProps?: FloaterProps;
hideBackButton?: boolean;
hideCloseButton?: boolean;
hideFooter?: boolean;
isFixed?: boolean;
locale?: Locale;
offset?: number;
placement?: placement;
placementBeacon?: placementBeacon;
showProgress?: boolean;
showSkipButton?: boolean;
spotlightClicks?: boolean;
spotlightPadding?: number;
styles?: Styles;
target: string | HTMLElement;
title?: React.ReactNode;
tooltipComponent?: (renderProps: TooltipRenderProps) => React.ReactNode;
tooltipComponent?: React.ElementType<TooltipRenderProps>;
}

export interface BeaconRenderProps {
Expand Down Expand Up @@ -168,31 +164,31 @@ export interface TooltipRenderProps extends BeaconRenderProps {
};
}

export interface Props {
beaconComponent?: (renderProps: BeaconRenderProps) => React.ReactNode;
export interface Step extends CommonProps {
content: React.ReactNode;
disableBeacon?: boolean;
event?: string;
floaterProps?: FloaterProps;
hideCloseButton?: boolean;
hideFooter?: boolean;
isFixed?: boolean;
offset?: number;
placement?: Placement;
placementBeacon?: PlacementBeacon;
target: string | HTMLElement;
title?: React.ReactNode;
}

export interface Props extends CommonProps {
callback?: (data: CallBackProps) => void;
continuous?: boolean;
debug?: boolean;
disableCloseOnEsc?: boolean;
disableOverlay?: boolean;
disableOverlayClose?: boolean;
disableScrolling?: boolean;
disableScrollParentFix?: boolean;
floaterProps?: FloaterProps;
getHelpers?: () => StoreHelpers;
hideBackButton?: boolean;
locale?: Locale;
getHelpers?: (helpers: StoreHelpers) => any;
run?: boolean;
scrollOffset?: number;
scrollToFirstStep?: boolean;
showProgress?: boolean;
showSkipButton?: boolean;
spotlightClicks?: boolean;
spotlightPadding?: number;
stepIndex?: number;
steps: Array<Step>;
styles?: Styles;
tooltipComponent?: (renderProps: TooltipRenderProps) => React.ReactNode;
}

export default class ReactJoyride extends React.Component<Props, StoreState> {}
Expand Down
6 changes: 3 additions & 3 deletions types/tslint.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
"extends": "dtslint/dtslint.json",
"rules": {
"array-type": [true, "generic"],
"file-name-casing": false,

"no-unnecessary-generics": false
"file-name-casing": [true, "camel-case"],
"no-unnecessary-generics": false,
"strict-export-declare-modifiers": false
}
}

0 comments on commit 9c63f11

Please sign in to comment.