mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
275 lines
5.4 KiB
TypeScript
275 lines
5.4 KiB
TypeScript
// Type definitions for jQuery JoyRide Plugin 2.1
|
|
// Project: https://github.com/zurb/joyride
|
|
// Definitions by: Vincent Bortone <https://github.com/vbortone>
|
|
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
|
|
import $ = require('jquery');
|
|
|
|
declare global {
|
|
/**
|
|
* HTML segments for tip layout
|
|
*/
|
|
interface JoyrideTemplate {
|
|
/**
|
|
* Link template
|
|
* @member {string}
|
|
*/
|
|
link?: string;
|
|
|
|
/**
|
|
* Timer template
|
|
* @member {string}
|
|
*/
|
|
timer?: string;
|
|
|
|
/**
|
|
* Tip template
|
|
* @member {string}
|
|
*/
|
|
tip?: string;
|
|
|
|
/**
|
|
* Wrapper template
|
|
* @member {string}
|
|
*/
|
|
wrapper?: string;
|
|
|
|
/**
|
|
* Button template
|
|
* @member {string}
|
|
*/
|
|
button?: string;
|
|
|
|
/**
|
|
* Modal template
|
|
* @member {string}
|
|
*/
|
|
modal?: string;
|
|
|
|
/**
|
|
* Exposed Cover template
|
|
* @member {string}
|
|
*/
|
|
exposeCover?: string;
|
|
}
|
|
|
|
interface JoyrideOptions {
|
|
/**
|
|
* Version
|
|
* @member {string}
|
|
*/
|
|
version?: string;
|
|
|
|
/**
|
|
* 'top' or 'bottom' in relation to parent
|
|
* @member {string}
|
|
*/
|
|
tipLocation?: string;
|
|
|
|
/**
|
|
* override on a per tooltip bases
|
|
* @member {any}
|
|
*/
|
|
nubPosition?: any;
|
|
|
|
/**
|
|
* whether to scroll to tips
|
|
* @member {boolean}
|
|
*/
|
|
scroll?: boolean;
|
|
|
|
/**
|
|
* Page scrolling speed in ms
|
|
* @member {number}
|
|
*/
|
|
scrollSpeed?: number;
|
|
|
|
/**
|
|
* 0 = off, all other numbers = time(ms)
|
|
* @member {number}
|
|
*/
|
|
timer?: number;
|
|
|
|
/**
|
|
* true or false - false tour starts when restart called
|
|
* @member {boolean}
|
|
*/
|
|
autoStart?: boolean;
|
|
|
|
/**
|
|
* true/false to start timer on first click
|
|
* @member {boolean}
|
|
*/
|
|
startTimerOnClick?: boolean;
|
|
|
|
/**
|
|
* the index of the tooltip you want to start on (index of the li)
|
|
* @member {number}
|
|
*/
|
|
startOffset?: number;
|
|
|
|
/**
|
|
* true/false for next button visibility
|
|
* @member {boolean}
|
|
*/
|
|
nextButton?: boolean;
|
|
|
|
/**
|
|
* 'pop' or 'fade' in each tip
|
|
* @member {string}
|
|
*/
|
|
tipAnimation?: string;
|
|
|
|
/**
|
|
* array of indexes where to pause the tour after
|
|
* @member {any[]}
|
|
*/
|
|
pauseAfter?: any[];
|
|
|
|
/**
|
|
* if 'fade'- speed in ms of transition
|
|
* @member {number}
|
|
*/
|
|
tipAnimationFadeSpeed?: number;
|
|
|
|
/**
|
|
* true/false for whether cookies are used
|
|
* @member {boolean}
|
|
*/
|
|
cookieMonster?: boolean;
|
|
|
|
/**
|
|
* choose your own cookie name
|
|
* member {string}
|
|
*/
|
|
cookieName?: string;
|
|
|
|
/**
|
|
* Will this cookie be attached to a domain, ie. '.notableapp.com'
|
|
* @member {any}
|
|
*/
|
|
cookieDomain?: any;
|
|
|
|
/**
|
|
* Set to '/' if you want the cookie for the whole website
|
|
* @member {any}
|
|
*/
|
|
cookiePath?: any;
|
|
|
|
/**
|
|
* true or false to control whether localstorage is used
|
|
* @member {boolean}
|
|
*/
|
|
localStorage?: boolean;
|
|
|
|
/**
|
|
* Keyname in localstorage
|
|
@member {string}
|
|
*/
|
|
localStorageKey?: string;
|
|
|
|
/**
|
|
* Where the tip be attached if not inline
|
|
* @member {HTMLElement}
|
|
*/
|
|
tipContainer?: HTMLElement;
|
|
|
|
/**
|
|
* Whether to cover page with modal during the tour
|
|
* @member {boolean}
|
|
*/
|
|
modal?: boolean;
|
|
|
|
/**
|
|
* Whether to expose the elements at each step in the tour (requires modal:true)
|
|
* @member {boolean}
|
|
*/
|
|
expose?: boolean;
|
|
|
|
/**
|
|
* A method to call after an element has been exposed
|
|
* @method
|
|
* @param {number} index Tip Index
|
|
* @param {JQuery} nextTip Tip object
|
|
* @param {JQuery} el Element
|
|
*/
|
|
postExposeCallback?: (index: number, nextTip: JQuery, el?: JQuery) => void;
|
|
|
|
/**
|
|
* A method to call before the tour starts (passed index, tip, and cloned exposed element)
|
|
* @method
|
|
* @param {number} index Current Tip Index
|
|
* @param {JQuery} currentTip Current Tip object
|
|
* @param {JQuery} el Element
|
|
*/
|
|
preRideCallback?: (index: number, currentTip: JQuery, el?: JQuery) => void;
|
|
|
|
/**
|
|
* a method to call once the tour closes
|
|
* @method
|
|
* @param {number} index Current Tip Index
|
|
* @param {JQuery} currentTip Current Tip object
|
|
* @param {boolean} isAborted Is Aborted?
|
|
*/
|
|
postRideCallback?: (index: number, currentTip: JQuery, isAborted?: boolean) => void;
|
|
|
|
/**
|
|
* A method to call after each step
|
|
* @method
|
|
* @param {number} index Current Tip Index
|
|
* @param {JQuery} currentTip Current Tip object
|
|
* @param {boolean} isAborted Is Aborted?
|
|
*/
|
|
postStepCallback?: (index: number, currentTip: JQuery, isAborted?: boolean) => void;
|
|
|
|
/**
|
|
* A method to call before each step
|
|
* @method
|
|
* @param {number} index Tip Index
|
|
* @param {JQuery} nextTip Tip object
|
|
* @param {JQuery} el Element
|
|
*/
|
|
preStepCallback?: (index: number, nextTip: JQuery, el?: JQuery) => void;
|
|
|
|
/**
|
|
* HTML segments for tip layout
|
|
* @member {JoyrideTemplate}
|
|
*/
|
|
template?: JoyrideTemplate;
|
|
}
|
|
|
|
interface Joyride {
|
|
/**
|
|
* Default function, no options
|
|
* @method
|
|
* @return {JQuery} JQuery instance
|
|
*/
|
|
(): JQuery;
|
|
|
|
/**
|
|
* Function with options
|
|
* @method
|
|
* @param {JoyrideOptions} options An object with all the joyride options you want to overwrite.
|
|
* @return {JQuery} JQuery instance
|
|
*/
|
|
(options: JoyrideOptions): JQuery;
|
|
|
|
/**
|
|
* Function with method name and params
|
|
* @method
|
|
* @param {string} methodName Name of method to call.
|
|
* @param {any[]} params parameters for method
|
|
* @return {JQuery} JQuery instance
|
|
*/
|
|
(methodName: string, ...params: any[]): JQuery;
|
|
}
|
|
|
|
interface JQuery {
|
|
/**
|
|
* joyride function
|
|
* @return {Joyride} Joyride instance.
|
|
*/
|
|
joyride: Joyride;
|
|
}
|
|
}
|