diff --git a/foundation-sites/foundation-tests.ts b/foundation-sites/foundation-tests.ts
new file mode 100644
index 000000000..7238fe047
--- /dev/null
+++ b/foundation-sites/foundation-tests.ts
@@ -0,0 +1,9 @@
+///
+///
+
+$(document).foundation();
+$(document).foundation('method');
+$(document).foundation(['method', 'method2']);
+
+Foundation.Abide($('.selector'));
+
diff --git a/foundation-sites/foundation.d.ts b/foundation-sites/foundation.d.ts
index c72a93ba1..afacabb43 100644
--- a/foundation-sites/foundation.d.ts
+++ b/foundation-sites/foundation.d.ts
@@ -9,19 +9,19 @@
declare module Foundation {
// http://foundation.zurb.com/sites/docs/abide.html#javascript-reference
- export interface Abide {
- requiredCheck: (element:Object) => boolean;
- findLabel: (element:Object) => boolean;
- addErrorClasses: (element:Object) => void;
- removeErrorClasses: (element:Object) => void;
- validateInput: (element:Object, form:Object) => void;
- validateForm: (element:Object) => void;
- validateText: (element:Object) => boolean;
- validateRadio: (group:String) => boolean;
- resetform: ($form:Object) => void;
+ interface Abide {
+ requiredCheck(element:Object): boolean;
+ findLabel(element:Object): boolean;
+ addErrorClasses(element:Object): void;
+ removeErrorClasses(element:Object): void;
+ validateInput(element:Object, form:Object): void;
+ validateForm(element:Object): void;
+ validateText(element:Object): boolean;
+ validateRadio(group:String): boolean;
+ resetform($form:Object): void;
}
- interface IAbidePaterns {
+ export interface IAbidePatterns {
alpha?: RegExp;
alpha_numeric?: RegExp;
integer?: RegExp;
@@ -40,17 +40,17 @@ declare module Foundation {
color?: RegExp;
}
- interface IAbideOptions {
+ export interface IAbideOptions {
slideSpeed?: number
multiOpen?: boolean;
}
// http://foundation.zurb.com/sites/docs/accordion.html#javascript-reference
export interface Accordion {
- toggle: ($target:JQuery) => void;
- down: ($target:JQuery, firstTime:boolean) => void;
- up: ($target:JQuery) => void;
- destroy: () => void;
+ toggle($target:JQuery): void;
+ down($target:JQuery, firstTime:boolean): void;
+ up($target:JQuery): void;
+ destroy(): void;
}
interface IAccordionOptions {
@@ -60,18 +60,18 @@ declare module Foundation {
// http://foundation.zurb.com/sites/docs/accordion-menu.html#javascript-reference
export interface AccordionMenu {
- toggle: ($target:JQuery) => void;
- down: ($target:JQuery, firstTime:boolean) => void;
- up: ($target:JQuery) => void;
- destroy: () => void;
+ toggle($target:JQuery): void;
+ down($target:JQuery, firstTime:boolean): void;
+ up($target:JQuery): void;
+ destroy(): void;
}
// http://foundation.zurb.com/sites/docs/drilldown-menu.html#javascript-reference
export interface Drilldown {
- _hideAll: ($elem:JQuery) => void;
- _show: ($elem:JQuery) => void;
- _hide: ($elem:JQuery) => void;
- destroy: () => void;
+ _hideAll($elem:JQuery): void;
+ _show($elem:JQuery): void;
+ _hide($elem:JQuery): void;
+ destroy(): void;
}
interface IDrilldownOptions {
@@ -82,11 +82,11 @@ declare module Foundation {
// http://foundation.zurb.com/sites/docs/dropdown.html#javascript-reference
export interface Dropdown {
- getPositionClass: () => String;
- open: () => void;
- close: () => void;
- toggle: () => void;
- destroy: () => void;
+ getPositionClass(): String;
+ open(): void;
+ close(): void;
+ toggle(): void;
+ destroy(): void;
}
interface IDropdownOptions {
@@ -101,7 +101,7 @@ declare module Foundation {
// http://foundation.zurb.com/sites/docs/dropdown-menu.html#javascript-reference
export interface DropdownMenu {
- destroy: () => void;
+ destroy(): void;
}
interface IDropdownMenuOptions {
@@ -117,9 +117,9 @@ declare module Foundation {
// http://foundation.zurb.com/sites/docs/equalizer.html#javascript-reference
export interface Equalizer {
- getHeights: (element:Object) => Array;
- applyHeight: ($eqParent:Object, heights:Array) => void;
- destroy: () => void;
+ getHeights(element:Object): Array;
+ applyHeight($eqParent:Object, heights:Array): void;
+ destroy(): void;
}
interface IEqualizerOptions {
@@ -129,8 +129,8 @@ declare module Foundation {
// http://foundation.zurb.com/sites/docs/interchange.html#javascript-reference
export interface Interchange {
- replace: (path:String) => void;
- destroy: () => void;
+ replace(path:String): void;
+ destroy(): void;
}
interface IInterchangeOptions {
@@ -139,9 +139,9 @@ declare module Foundation {
// http://foundation.zurb.com/sites/docs/magellan.html#javascript-reference
export interface Magellan {
- calcPoints: () => void;
- reflow: () => void;
- destroy: () => void;
+ calcPoints(): void;
+ reflow(): void;
+ destroy(): void;
}
interface IMagellanOptions {
@@ -154,10 +154,10 @@ declare module Foundation {
// http://foundation.zurb.com/sites/docs/offcanvas.html#javascript-reference
export interface OffCanvas {
- open: (event:Object, trigger:JQuery) => void;
- toggle: (event:Object, trigger:JQuery) => void;
- close: () => void;
- destroy: () => void;
+ open(event:Object, trigger:JQuery): void;
+ toggle(event:Object, trigger:JQuery): void;
+ close(): void;
+ destroy(): void;
}
interface IOffCanvasOptions {
@@ -173,9 +173,9 @@ declare module Foundation {
// http://foundation.zurb.com/sites/docs/orbit.html#javascript-reference
export interface Orbit {
- changeSlide: (isLTR:boolean, chosenSlide?:Object, idx?:number) => void;
- geoSync: () => void;
- destroy: () => void;
+ changeSlide(isLTR:boolean, chosenSlide?:Object, idx?:number): void;
+ geoSync(): void;
+ destroy(): void;
}
interface IOrbitOptions {
@@ -200,10 +200,10 @@ declare module Foundation {
// http://foundation.zurb.com/sites/docs/reveal.html#javascript-reference
export interface Reveal {
- open: () => void;
- toggle: () => void;
- close: () => void;
- destroy: () => void;
+ open(): void;
+ toggle(): void;
+ close(): void;
+ destroy(): void;
}
interface IRevealOptions {
@@ -224,7 +224,7 @@ declare module Foundation {
// http://foundation.zurb.com/sites/docs/slider.html#javascript-reference
export interface Slider {
- destroy: () => void;
+ destroy(): void;
}
interface ISliderOptions {
@@ -246,10 +246,10 @@ declare module Foundation {
// http://foundation.zurb.com/sites/docs/sticky.html#javascript-reference
export interface Sticky {
- _pauseListeners: (scrollListener:String) => void;
- _calc: (checkSizes:boolean, scroll:number) => void;
- destroy: () => void;
- emCalc: (number:any) => void;
+ _pauseListeners(scrollListener:String): void;
+ _calc(checkSizes:boolean, scroll:number): void;
+ destroy(): void;
+ emCalc(number:any): void;
}
interface IStickyOptions {
@@ -268,9 +268,9 @@ declare module Foundation {
// http://foundation.zurb.com/sites/docs/tabs.html#javascript-reference
export interface Tabs {
- _handleTabChange: ($target:JQuery) => void;
- selectTab: ($target:JQuery) => void;
- destroy: () => void;
+ _handleTabChange($target:JQuery): void;
+ selectTab($target:JQuery): void;
+ destroy(): void;
}
interface ITabsOptions {
@@ -279,8 +279,8 @@ declare module Foundation {
// http://foundation.zurb.com/sites/docs/toggler.html#javascript-reference
export interface Toggler {
- toggle: () => void;
- destroy: () => void;
+ toggle(): void;
+ destroy(): void;
}
interface ITogglerOptions {
@@ -289,10 +289,10 @@ declare module Foundation {
// http://foundation.zurb.com/sites/docs/tooltip.html#javascript-reference
export interface Tooltip {
- show: () => void;
- hide: () =>void;
- toggle: () => void;
- destroy: () => void;
+ show(): void;
+ hide() =>void;
+ toggle(): void;
+ destroy(): void;
}
interface ITooltipOptions {
@@ -316,26 +316,26 @@ declare module Foundation {
// ---------
export interface Box {
- ImNotTouchingYou: (element:Object, parent?:Object, lrOnly?:boolean, tbOnly?:boolean) => boolean;
- GetDimensions: (element:Object) => Object;
- GetOffsets: (element:Object, anchor:Object, position:String, vOffset:number, hOffset:number, isOverflow:boolean) => Object;
+ ImNotTouchingYou(element:Object, parent?:Object, lrOnly?:boolean, tbOnly?:boolean): boolean;
+ GetDimensions(element:Object): Object;
+ GetOffsets(element:Object, anchor:Object, position:String, vOffset:number, hOffset:number, isOverflow:boolean): Object;
}
export interface KeyBoard {
- parseKey: (event:any) => String;
- findFocusable: ($element:Object) => Object;
+ parseKey(event:any): String;
+ findFocusable($element:Object): Object;
}
export interface MediaQuery {
- get: (size:String) => String;
- atLeast: (size:String) => boolean;
+ get(size:String): String;
+ atLeast(size:String): boolean;
queries:Array;
current:any;
}
export interface Motion {
- animateIn: (element:Object, animation:any, cb:Function) => void;
- animateOut: (element:Object, animation:any, cb:Function) => void;
+ animateIn(element:Object, animation:any, cb:Function): void;
+ animateOut(element:Object, animation:any, cb:Function): void;
}
interface Move {
@@ -347,9 +347,9 @@ declare module Foundation {
}
export interface Timer {
- start: () => void;
- restart: () => void;
- pause: () => void;
+ start(): void;
+ restart(): void;
+ pause(): void;
}
interface Touch {
@@ -360,67 +360,55 @@ declare module Foundation {
// TODO :extension on jQuery
}
- export interface InterChange {
- destroy: () => void;
- }
- interface IInterChangeOptions {
- rules ?: Array;
- }
- interface ITooltipOptions {
- hoverDelay ?: number;
- fadeInDuration ?: number;
- fadeOutDuration ?: number;
- disableHover ?: boolean;
- templateClasses ?: String;
- tooltipClass ?: String;
- triggerClass ?: String;
- showOn ?: String;
- template ?: String;
- tipText ?: String;
- clickOpenr ?: boolean;
- positionClass ?: String;
- vOffset ?: number;
- hOffset ?: number;
- }
-
interface FoundationStatic {
version : String;
- rtl: () => boolean;
- plugin: (plugin:Object, name:String) => void;
- registerPlugin: (plugin:Object) => void;
- unregisterPlugin: (plugin:Object) => void;
- GetYoDigits: (length:number, namespace?:String) => String;
- reflow: (elem:Object, plugins?:Array|String) => void;
- getFnName: (fofn:String) => String;
- transitionend: () => String;
+ rtl(): boolean;
+ plugin(plugin:Object, name:String): void;
+ registerPlugin(plugin:Object): void;
+ unregisterPlugin(plugin:Object): void;
+ GetYoDigits(length:number, namespace?:String): String;
+ reflow(elem:Object, plugins?:Array|String): void;
+ getFnName(fn:String): String;
+ transitionend(): String;
util : {
- throttle(func:(...args:any[]) => any, delay:number) : (...args:any[]) => any;
+ throttle(func:(...args:any[]) => any, delay:number) (...args:any[]) => any;
};
- onImagesLoaded: (images:Object, cb:Function) => void;
+ onImagesLoaded(images:Object, cb:Function): void;
- Abide: (element:Object, options:IAbideOptions) => void;
- Accordion: (element:Object, options:IAccordionOptions) => void;
- Dropdown: (element:Object, options:IDropdownOptions) => void;
- DropdownMenu: (element:Object, options:IDropdownMenuOptions) => void;
- Equalizer: (element:Object, options:IEqualizerOptions) => void;
- Interchange: (element:Object, options:IInterChangeOptions) => void;
- Magellan: (element:Object, options:IMagellanOptions) => void;
- OffCanvas: (element:Object, options:IOffCanvasOptions) => void;
- Orbit: (element:Object, options:IOrbitOptions) => void;
- Reveal: (element:Object, options:IRevealOptions) => void;
- Slider: (element:Object, options:ISliderOptions) => void;
- Sticky: (element:Object, options:IStickyOptions) => void;
- Tabs: (element:Object, options:ITabsOptions) => void;
- Toggler: (element:Object, options:ITogglerOptions) => void;
- Tooltip: (element:Object, options:ITooltipOptions) => void;
+ Abide(element:Object, options?:IAbideOptions): Foundation.Abide;
+ Accordion(element:Object, options?:IAccordionOptions): Foundation.Accordion;
+ Dropdown(element:Object, options?:IDropdownOptions): Foundation.Dropdown;
+ DropdownMenu(element:Object, options?:IDropdownMenuOptions): Foundation.DropdownMenu;
+ Equalizer(element:Object, options?:IEqualizerOptions): Foundation.Equalizer;
+ Interchange(element:Object, options?:IInterChangeOptions): Foundation.Interchange;
+ Magellan(element:Object, options?:IMagellanOptions): Foundation.Magellan;
+ OffCanvas(element:Object, options?:IOffCanvasOptions): Foundation.OffCanvas;
+ Orbit(element:Object, options?:IOrbitOptions): Foundation.Orbit;
+ Reveal(element:Object, options?:IRevealOptions): Foundation.Reveal;
+ Slider(element:Object, options?:ISliderOptions): Foundation.Slider;
+ Sticky(element:Object, options?:IStickyOptions): Foundation.Sticky;
+ Tabs(element:Object, options?:ITabsOptions): Foundation.Tabs;
+ Toggler(element:Object, options?:ITogglerOptions): Foundation.Toggler;
+ Tooltip(element:Object, options?:ITooltipOptions): Foundation.Tooltip;
+
+ // utils
+ Box: Foundation.Box;
+ KeyBoard: Foundation.Box;
+ MediaQuery: Foundation.MediaQuery;
+ Motion: Foundation.Motion;
+ Move: Foundation.Move;
+ Nest: Foundation.Nest;
+ Timer: Foundation.Timer;
+ Touch: Foundation.Touch;
+ Triggers: Foundation.Triggers;
}
}
interface JQuery {
- foundation(method:String|Array) : JQuery;
+ foundation(method?:String|Array) : JQuery;
}
declare var Foundation:Foundation.FoundationStatic;
diff --git a/foundation/foundation-tests.ts b/foundation/foundation-tests.ts
index 9706fbf97..ff7bb015b 100644
--- a/foundation/foundation-tests.ts
+++ b/foundation/foundation-tests.ts
@@ -344,3 +344,4 @@ $(document).foundation("reflow");
plugin_list().forEach((plugin) => $(document).foundation(plugin, "reflow"));
$(document).foundation("slider", "set_value", 100);
+Foundatio