diff --git a/jquery.tipsy/jquery.tipsy-tests.ts b/jquery.tipsy/jquery.tipsy-tests.ts new file mode 100644 index 000000000..384e34a21 --- /dev/null +++ b/jquery.tipsy/jquery.tipsy-tests.ts @@ -0,0 +1,32 @@ +/// +/// + +// basic +$('#example-1').tipsy(); + +// code snippets from http://onehackoranother.com/projects/jquery/tipsy/ +$('#foo').tipsy({gravity: 'n'}); // nw | n | ne | w | e | sw | s | se + +$('#foo').tipsy({gravity: $.fn.tipsy.autoNS}); + +$('#example-fade').tipsy({fade: true}); + +$('#example-custom-attribute').tipsy({title: 'id'}); + +$('#example-callback').tipsy({title: function() { return this.getAttribute('original-title').toUpperCase(); } }); + +$('#example-fallback').tipsy({fallback: "Where's my tooltip yo'?" }); + +$('#example-html').tipsy({html: true }); + +$('#example-delay').tipsy({delayIn: 500, delayOut: 1000}); + +$(function() { + $('#focus-example [title]').tipsy({trigger: 'focus', gravity: 'w'}); +}); + +function onclickExample1() { $("#manual-example a[rel=tipsy]").tipsy("show"); return false; } +function onclickExample2() { $("#manual-example a[rel=tipsy]").tipsy("hide"); return false; } +$('#manual-example a[rel=tipsy]').tipsy({trigger: 'manual'}); + +$('a.live-tipsy').tipsy({live: true}); \ No newline at end of file diff --git a/jquery.tipsy/jquery.tipsy.d.ts b/jquery.tipsy/jquery.tipsy.d.ts new file mode 100644 index 000000000..d586eefbd --- /dev/null +++ b/jquery.tipsy/jquery.tipsy.d.ts @@ -0,0 +1,107 @@ +// Type definitions for jQuery.tipsy +// Project: http://onehackoranother.com/projects/jquery/tipsy/ +// Definitions by: Brian Dukes +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +interface JQuery { + /** + * initialize tipsy plugin + */ + tipsy: JQueryTipsy.Tipsy; +} + +declare module JQueryTipsy { + interface Options { + /** + * delay before showing tooltip (ms) + * + * default: 0 + */ + delayIn?: number; + /** + * delay before hiding tooltip (ms) + * + * default: 0 + */ + delayOut?: number; + /** + * fade tooltips in/out? + * + * default: false + */ + fade?: boolean; + /** + * fallback text to use when no tooltip text + * + * default: '' + */ + fallback?: string; + /** + * gravity + * + * default: 'n' + */ + gravity?: any; // string or () => string + /** + * is tooltip content HTML? + * + * default: false + */ + html?: boolean; + /** + * use live event support? + * + * default: false + */ + live?: boolean; + /** + * pixel offset of tooltip from element + * + * default: 0 + */ + offset?: number; + /** + * opacity of tooltip + * + * default: 0.8 + */ + opacity?: number; + /** + * attribute/callback containing tooltip text + * + * default: 'title' + */ + title?: any; // string or () => string + /** + * how tooltip is triggered - hover | focus | manual + * + * default: 'hover' + */ + trigger?: string; + } + + interface Tipsy { + /** + * initialize tipsy plugin + */ + (options?: Options): JQuery; + /** + * determine gravity either to North or South automatically based on the element's location in the viewport + */ + autoNS: () => string; + /** + * determine gravity either to West or East automatically based on the element's location in the viewport + */ + autoWE: () => string; + /** + * determine gravity either to Southwest or Southeast automatically based on the element's location in the viewport + */ + autoSWSE: () => string; + /** + * determine gravity either to Northwest or Northeast automatically based on the element's location in the viewport + */ + autoNWNE: () => string; + } +}