Don't pollute the global namespace with interfaces used for Foundation.

This commit is contained in:
Justin Filip
2015-03-15 14:16:25 -04:00
parent 9e24a05110
commit 7dd9a59ab0
2 changed files with 302 additions and 300 deletions

View File

@@ -24,7 +24,7 @@ function plugin_list() {
}
function abide_patterns() {
var patterns : FoundationAbidePatterns;
var patterns : Foundation.AbidePatterns = {};
patterns.alpha = /^[a-zA-Z]+$/;
patterns.alpha_numeric = /^[a-zA-Z0-9]+$/;
patterns.integer = /^[-+]?\d+$/;
@@ -44,7 +44,7 @@ function abide_patterns() {
}
function abide_options() {
var opts : FoundationAbideOptions = {};
var opts : Foundation.AbideOptions = {};
opts.live_validate = false;
opts.validate_on_blur = true;
opts.focus_on_invalid = true;
@@ -65,7 +65,7 @@ function abide_options() {
}
function accordion_options() {
var opts : FoundationAccordionOptions = {};
var opts : Foundation.AccordionOptions = {};
opts.content_class = "content";
opts.active_class = "class-name";
opts.multi_expand = false;
@@ -75,13 +75,13 @@ function accordion_options() {
}
function alert_options() {
var opts : FoundationAlertOptions = {};
var opts : Foundation.AlertOptions = {};
opts.callback = empty_callback;
return opts;
}
function clearing_options() {
var opts : FoundationClearingOptions = {};
var opts : Foundation.ClearingOptions = {};
opts.templates = {
viewing : '<div>Some HTML</div>'
};
@@ -95,7 +95,7 @@ function clearing_options() {
}
function dropdown_options() {
var opts : FoundationDropdownOptions = {};
var opts : Foundation.DropdownOptions = {};
opts.active_class = "class-name";
opts.disabled_class = "disabled-class";
opts.mega_class = "big";
@@ -108,14 +108,14 @@ function dropdown_options() {
}
function equalizer_options() {
var opts : FoundationEqualizerOptions = {};
var opts : Foundation.EqualizerOptions = {};
opts.use_tallest = true;
opts.equalize_on_stack = false;
return opts;
}
function interchange_options() {
var opts : FoundationInterchangeOptions = {};
var opts : Foundation.InterchangeOptions = {};
opts.load_attr = "interchange";
opts.named_queries = {
my_custom_query: "only screen and (max-width: 200px)"
@@ -127,7 +127,7 @@ function interchange_options() {
}
function joyride_options() {
var opts : FoundationJoyrideOptions = {};
var opts : Foundation.JoyrideOptions = {};
opts.expose = false;
opts.modal = true;
opts.keyboard = true;
@@ -176,7 +176,7 @@ function joyride_options() {
}
function magellan_options() {
var opts : FoundationMagellanOptions = {};
var opts : Foundation.MagellanOptions = {};
opts.active_class = ".active-element";
opts.threshold = 20;
opts.destination_threshold = 30;
@@ -189,14 +189,14 @@ function magellan_options() {
}
function offcanvas_options() {
var opts : FoundationOffCanvasOptions = {};
var opts : Foundation.OffCanvasOptions = {};
opts.open_method = "overlap_single";
opts.close_on_click = true;
return opts;
}
function orbit_options() {
var opts : FoundationOrbitOptions = {};
var opts : Foundation.OrbitOptions = {};
opts.animation = 'slide';
opts.timer_speed = 10000;
opts.pause_on_hover = true;
@@ -234,7 +234,7 @@ function orbit_options() {
}
function reveal_css_options() {
var opts : FoundationRevealCSSOptions = {};
var opts : Foundation.RevealCSSOptions = {};
opts.opacity = 0;
opts.visibility = 'hidden';
opts.display = "inline-block";
@@ -242,7 +242,7 @@ function reveal_css_options() {
}
function reveal_options() {
var opts : FoundationRevealOptions = {};
var opts : Foundation.RevealOptions = {};
opts.animation = "linear";
opts.animation_speed = 500;
opts.close_on_background_click = false;
@@ -264,7 +264,7 @@ function reveal_options() {
}
function slider_options() {
var opts : FoundationSliderOptions;
var opts : Foundation.SliderOptions = {};
opts.start = -1000;
opts.end = 1000;
opts.step = 50;
@@ -277,7 +277,7 @@ function slider_options() {
}
function tab_options() {
var opts : FoundationTabOptions = {};
var opts : Foundation.TabOptions = {};
opts.active_class = "class-name";
opts.callback = empty_callback;
opts.deep_linking = false;
@@ -287,7 +287,7 @@ function tab_options() {
}
function tooltip_options() {
var opts : FoundationTooltipOptions = {};
var opts : Foundation.TooltipOptions = {};
opts.additional_inheritable_classes = ["class1", "class2"];
opts.tooltip_class = "tooltip";
opts.append_to = "append-class";
@@ -304,7 +304,7 @@ function tooltip_options() {
}
function topbar_options() {
var opts : FoundationTopbarOptions = {};
var opts : Foundation.TopbarOptions = {};
opts.index = 1;
opts.sticky_class = "top-bar";
opts.custom_back_text = true;
@@ -317,7 +317,7 @@ function topbar_options() {
}
function foundation_options() {
var opts : FoundationOptions = {};
var opts : Foundation.Options = {};
opts.abide = abide_options();
opts.accordion = accordion_options();
opts.alert = alert_options();

View File

@@ -6,310 +6,312 @@
/// <reference path="../jquery/jquery.d.ts"/>
// http://foundation.zurb.com/docs/components/abide.html#optional-javascript-configuration
interface FoundationAbidePatterns {
alpha? : RegExp;
alpha_numeric? : RegExp;
integer? : RegExp;
number? : RegExp;
card? : RegExp;
cvv? : RegExp;
email? : RegExp;
url? : RegExp;
domain? : RegExp;
datetime? : RegExp;
date? : RegExp;
time? : RegExp;
dateISO? : RegExp;
month_day_year? : RegExp;
color? : RegExp;
}
declare module Foundation {
// http://foundation.zurb.com/docs/components/abide.html#optional-javascript-configuration
interface AbidePatterns {
alpha? : RegExp;
alpha_numeric? : RegExp;
integer? : RegExp;
number? : RegExp;
card? : RegExp;
cvv? : RegExp;
email? : RegExp;
url? : RegExp;
domain? : RegExp;
datetime? : RegExp;
date? : RegExp;
time? : RegExp;
dateISO? : RegExp;
month_day_year? : RegExp;
color? : RegExp;
}
interface FoundationAbideOptions {
live_validate? : boolean;
validate_on_blur? : boolean;
focus_on_invalid? : boolean;
error_labels? : boolean;
timeout? : number;
patterns? : FoundationAbidePatterns;
validators? : Object;
}
interface AbideOptions {
live_validate? : boolean;
validate_on_blur? : boolean;
focus_on_invalid? : boolean;
error_labels? : boolean;
timeout? : number;
patterns? : AbidePatterns;
validators? : Object;
}
// http://foundation.zurb.com/docs/components/accordion.html#optional-javascript-configuration
interface FoundationAccordionOptions {
content_class? : string;
active_class? : string;
multi_expand? : boolean;
toggleable? : boolean;
callback? : () => any;
}
// http://foundation.zurb.com/docs/components/accordion.html#optional-javascript-configuration
interface AccordionOptions {
content_class? : string;
active_class? : string;
multi_expand? : boolean;
toggleable? : boolean;
callback? : () => any;
}
// http://foundation.zurb.com/docs/components/alert_boxes.html
interface FoundationAlertOptions {
callback? : () => any;
}
// http://foundation.zurb.com/docs/components/alert_boxes.html
interface AlertOptions {
callback? : () => any;
}
// http://foundation.zurb.com/docs/components/clearing.html#optional-javascript-configuration
interface FoundationClearingOptions {
templates? : Object;
close_selectors? : string;
open_selectors? : string;
skip_selector? : string;
touch_label? : string;
init? : boolean;
locked? : boolean;
}
// http://foundation.zurb.com/docs/components/clearing.html#optional-javascript-configuration
interface ClearingOptions {
templates? : Object;
close_selectors? : string;
open_selectors? : string;
skip_selector? : string;
touch_label? : string;
init? : boolean;
locked? : boolean;
}
// http://foundation.zurb.com/docs/components/dropdown.html#optional-javascript-configuration
interface FoundationDropdownOptions {
active_class? : string;
disabled_class? : string;
mega_class? : string;
align? : string;
is_hover? : boolean;
hover_timeout? : number;
opened? : () => any;
closed? : () => any;
}
// http://foundation.zurb.com/docs/components/dropdown.html#optional-javascript-configuration
interface DropdownOptions {
active_class? : string;
disabled_class? : string;
mega_class? : string;
align? : string;
is_hover? : boolean;
hover_timeout? : number;
opened? : () => any;
closed? : () => any;
}
// http://foundation.zurb.com/docs/components/equalizer.html#optional-javascript-configuration
interface FoundationEqualizerOptions {
use_tallest? : boolean;
equalize_on_stack? : boolean;
}
// http://foundation.zurb.com/docs/components/equalizer.html#optional-javascript-configuration
interface EqualizerOptions {
use_tallest? : boolean;
equalize_on_stack? : boolean;
}
// http://foundation.zurb.com/docs/components/interchange.html#custom-named-queries
interface FoundationInterchangeOptions {
load_attr? : string;
named_queries? : Object;
directives? : Object;
}
// http://foundation.zurb.com/docs/components/interchange.html#custom-named-queries
interface InterchangeOptions {
load_attr? : string;
named_queries? : Object;
directives? : Object;
}
// http://foundation.zurb.com/docs/components/joyride.html#optional-javascript-configuration
interface FoundationJoyrideOptions {
expose? : boolean;
modal? : boolean;
keyboard? : boolean;
tip_location? : string;
nub_position? : string;
scroll_speed? : number;
scroll_animation? : string;
timer? : number;
start_timer_on_click? : boolean;
start_offset? : number;
next_button? : boolean;
prev_button? : boolean;
tip_animation? : string;
pause_after? : number[];
exposed? : string[];
tip_animation_fade_speed? : number;
cookie_monster? : boolean;
cookie_name? : string;
cookie_domain? : boolean;
cookie_expires? : number;
tip_container? : string;
tip_location_patterns? : {
top? : string[];
bottom? : string[];
left? : string[];
right? : string[];
};
post_ride_callback? : () => void;
post_step_callback? : () => void;
pre_step_callback? : () => void;
pre_ride_callback? : () => void;
post_expose_callback? : () => void;
template? : {
link? : string;
timer? : string;
tip? : string;
wrapper? : string;
button? : string;
modal? : string;
expose? : string;
expose_cover? : string;
};
expose_add_class? : string;
}
// http://foundation.zurb.com/docs/components/joyride.html#optional-javascript-configuration
interface JoyrideOptions {
expose? : boolean;
modal? : boolean;
keyboard? : boolean;
tip_location? : string;
nub_position? : string;
scroll_speed? : number;
scroll_animation? : string;
timer? : number;
start_timer_on_click? : boolean;
start_offset? : number;
next_button? : boolean;
prev_button? : boolean;
tip_animation? : string;
pause_after? : number[];
exposed? : string[];
tip_animation_fade_speed? : number;
cookie_monster? : boolean;
cookie_name? : string;
cookie_domain? : boolean;
cookie_expires? : number;
tip_container? : string;
tip_location_patterns? : {
top? : string[];
bottom? : string[];
left? : string[];
right? : string[];
};
post_ride_callback? : () => void;
post_step_callback? : () => void;
pre_step_callback? : () => void;
pre_ride_callback? : () => void;
post_expose_callback? : () => void;
template? : {
link? : string;
timer? : string;
tip? : string;
wrapper? : string;
button? : string;
modal? : string;
expose? : string;
expose_cover? : string;
};
expose_add_class? : string;
}
// http://foundation.zurb.com/docs/components/magellan.html#js
interface FoundationMagellanOptions {
active_class? : string;
threshold? : number;
destination_threshold? : number;
throttle_delay? : number;
fixed_top? : number;
offset_by_height? : boolean;
duration? : number;
easing? : string;
}
// http://foundation.zurb.com/docs/components/magellan.html#js
interface MagellanOptions {
active_class? : string;
threshold? : number;
destination_threshold? : number;
throttle_delay? : number;
fixed_top? : number;
offset_by_height? : boolean;
duration? : number;
easing? : string;
}
// http://foundation.zurb.com/docs/components/offcanvas.html#optional-javascript-configuration
interface FoundationOffCanvasOptions {
open_method? : string;
close_on_click? : boolean;
}
// http://foundation.zurb.com/docs/components/offcanvas.html#optional-javascript-configuration
interface OffCanvasOptions {
open_method? : string;
close_on_click? : boolean;
}
// http://foundation.zurb.com/docs/components/orbit.html#advanced
interface FoundationOrbitOptions {
animation? : string;
timer_speed? : number;
pause_on_hover? : boolean;
resume_on_mouseout? : boolean;
next_on_click? : boolean;
animation_speed? : number;
stack_on_small? : boolean;
navigation_arrows? : boolean;
slide_number? : boolean;
slide_number_text? : string;
container_class? : string;
stack_on_small_class? : string;
next_class? : string;
prev_class? : string;
timer_container_class? : string;
timer_paused_class? : string;
timer_progress_class? : string;
slides_container_class? : string;
preloader_class? : string;
slide_selector? : string;
bullets_container_class? : string;
bullets_active_class? : string;
slide_number_class? : string;
caption_class? : string;
active_slide_class? : string;
orbit_transition_class? : string;
bullets? : boolean;
circular? : boolean;
timer? : boolean;
variable_height? : boolean;
swipe? : boolean;
before_slide_change? : () => any;
after_slide_change? : () => any;
}
// http://foundation.zurb.com/docs/components/orbit.html#advanced
interface OrbitOptions {
animation? : string;
timer_speed? : number;
pause_on_hover? : boolean;
resume_on_mouseout? : boolean;
next_on_click? : boolean;
animation_speed? : number;
stack_on_small? : boolean;
navigation_arrows? : boolean;
slide_number? : boolean;
slide_number_text? : string;
container_class? : string;
stack_on_small_class? : string;
next_class? : string;
prev_class? : string;
timer_container_class? : string;
timer_paused_class? : string;
timer_progress_class? : string;
slides_container_class? : string;
preloader_class? : string;
slide_selector? : string;
bullets_container_class? : string;
bullets_active_class? : string;
slide_number_class? : string;
caption_class? : string;
active_slide_class? : string;
orbit_transition_class? : string;
bullets? : boolean;
circular? : boolean;
timer? : boolean;
variable_height? : boolean;
swipe? : boolean;
before_slide_change? : () => any;
after_slide_change? : () => any;
}
// http://foundation.zurb.com/docs/components/reveal.html
interface FoundationRevealCSSOptions {
opacity? : number;
visibility? : string;
display? : string;
}
// http://foundation.zurb.com/docs/components/reveal.html
interface RevealCSSOptions {
opacity? : number;
visibility? : string;
display? : string;
}
interface FoundationRevealOptions {
animation? : string;
animation_speed? : number;
close_on_background_click? : boolean;
dismiss_modal_class? : string;
multiple_opened? : boolean;
bg_class? : string;
root_element? : string;
on_ajax_error? : () => any;
open? : () => any;
opened? : () => any;
close? : () => any;
closed? : () => any;
bg? : JQuery;
css? : {
open? : FoundationRevealCSSOptions;
close? : FoundationRevealCSSOptions;
};
}
interface RevealOptions {
animation? : string;
animation_speed? : number;
close_on_background_click? : boolean;
dismiss_modal_class? : string;
multiple_opened? : boolean;
bg_class? : string;
root_element? : string;
on_ajax_error? : () => any;
open? : () => any;
opened? : () => any;
close? : () => any;
closed? : () => any;
bg? : JQuery;
css? : {
open? : RevealCSSOptions;
close? : RevealCSSOptions;
};
}
// http://foundation.zurb.com/docs/components/range_slider.html
interface FoundationSliderOptions {
start? : number;
end? : number;
step? : number;
precision? : number;
initial? : number;
vertical? : boolean;
trigger_input_change? : boolean;
on_change? : () => any;
}
// http://foundation.zurb.com/docs/components/range_slider.html
interface SliderOptions {
start? : number;
end? : number;
step? : number;
precision? : number;
initial? : number;
vertical? : boolean;
trigger_input_change? : boolean;
on_change? : () => any;
}
// http://foundation.zurb.com/docs/components/tabs.html
interface FoundationTabOptions {
active_class? : string;
callback? : () => any;
deep_linking? : boolean;
scroll_to_content? : boolean;
is_hover? : boolean;
}
// http://foundation.zurb.com/docs/components/tabs.html
interface TabOptions {
active_class? : string;
callback? : () => any;
deep_linking? : boolean;
scroll_to_content? : boolean;
is_hover? : boolean;
}
interface FoundationTooltipOptions {
additional_inheritable_classes? : string[];
tooltip_class? : string;
append_to? : string;
touch_close_text? : string;
disable_for_touch? : boolean;
hover_delay? : number;
show_on? : string;
tip_template? : (selector : string, content : string) => string;
}
interface TooltipOptions {
additional_inheritable_classes? : string[];
tooltip_class? : string;
append_to? : string;
touch_close_text? : string;
disable_for_touch? : boolean;
hover_delay? : number;
show_on? : string;
tip_template? : (selector : string, content : string) => string;
}
interface FoundationTopbarOptions {
index? : number;
sticky_class? : string;
custom_back_text? : boolean;
back_text? : string;
is_hover? : boolean;
mobile_show_parent_link? : boolean;
scrolltop? : boolean;
sticky_on? : string;
}
interface TopbarOptions {
index? : number;
sticky_class? : string;
custom_back_text? : boolean;
back_text? : string;
is_hover? : boolean;
mobile_show_parent_link? : boolean;
scrolltop? : boolean;
sticky_on? : string;
}
interface FoundationOptions {
abide? : FoundationAbideOptions;
accordion? : FoundationAccordionOptions;
alert? : FoundationAlertOptions;
clearing? : FoundationClearingOptions;
dropdown? : FoundationDropdownOptions;
equalizer? : FoundationEqualizerOptions;
interchange? : FoundationInterchangeOptions;
joyride? : FoundationJoyrideOptions;
magellan? : FoundationMagellanOptions;
offcanvas? : FoundationOffCanvasOptions;
orbit? : FoundationOrbitOptions;
reveal? : FoundationRevealOptions;
slider? : FoundationSliderOptions;
tab? : FoundationTabOptions;
tooltip? : FoundationTooltipOptions;
topbar? : FoundationTopbarOptions;
}
interface Options {
abide? : AbideOptions;
accordion? : AccordionOptions;
alert? : AlertOptions;
clearing? : ClearingOptions;
dropdown? : DropdownOptions;
equalizer? : EqualizerOptions;
interchange? : InterchangeOptions;
joyride? : JoyrideOptions;
magellan? : MagellanOptions;
offcanvas? : OffCanvasOptions;
orbit? : OrbitOptions;
reveal? : RevealOptions;
slider? : SliderOptions;
tab? : TabOptions;
tooltip? : TooltipOptions;
topbar? : TopbarOptions;
}
interface FoundationStatic {
name : string;
version : string;
media_queries : Object;
stylesheet : CSSStyleSheet;
global : {
namespace : string;
};
init(scope : JQuery) : JQuery;
init(scope : JQuery, libraries : FoundationOptions) : JQuery;
init(scope : JQuery, libraries : string, method : FoundationOptions) : JQuery;
init(scope : JQuery, libraries : string, method : string, options : Object) : JQuery;
init_lib(lib : any, args : any) : (...args : any[]) => any;
patch(lib : any) : void;
inherit(scope : JQuery, methods : string) : void;
set_namespace() : void;
libs : any;
utils : {
S(selector : any, context : any) : JQuery;
throttle(func : (...args : any[]) => any, delay : number) : (...args : any[]) => any;
debounce(func : (...args : any[]) => any, delay : number, immediate : boolean) : (...args : any[]) => any;
data_options(el : JQuery) : Object;
register_media(media : string, media_class : string) : void;
add_custom_rule(rule : string, media : string) : void;
image_loaded(images : JQuery, callback : (...args : any[]) => any) : void;
random_str(length? : number) : string;
};
interface FoundationStatic {
name : string;
version : string;
media_queries : Object;
stylesheet : CSSStyleSheet;
global : {
namespace : string;
};
init(scope : JQuery) : JQuery;
init(scope : JQuery, libraries : Options) : JQuery;
init(scope : JQuery, libraries : string, method : Options) : JQuery;
init(scope : JQuery, libraries : string, method : string, options : Object) : JQuery;
init_lib(lib : any, args : any) : (...args : any[]) => any;
patch(lib : any) : void;
inherit(scope : JQuery, methods : string) : void;
set_namespace() : void;
libs : any;
utils : {
S(selector : any, context : any) : JQuery;
throttle(func : (...args : any[]) => any, delay : number) : (...args : any[]) => any;
debounce(func : (...args : any[]) => any, delay : number, immediate : boolean) : (...args : any[]) => any;
data_options(el : JQuery) : Object;
register_media(media : string, media_class : string) : void;
add_custom_rule(rule : string, media : string) : void;
image_loaded(images : JQuery, callback : (...args : any[]) => any) : void;
random_str(length? : number) : string;
};
}
}
interface JQuery {
foundation() : JQuery;
foundation(libraries : FoundationOptions | string) : JQuery;
foundation(libraries : string, method : FoundationOptions | string) : JQuery;
foundation(libraries : Foundation.Options | string) : JQuery;
foundation(libraries : string, method : Foundation.Options | string) : JQuery;
foundation(libraries : string, method : string, options : Object) : JQuery;
}
declare var Foundation : FoundationStatic;
declare var Foundation : Foundation.FoundationStatic;