123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496 |
- // Type definitions for Foundation Sites v6.3.1
- // Project: http://foundation.zurb.com/
- // Github: https://github.com/zurb/foundation-sites
- //
- // Definitions by: Sam Vloeberghs <https://github.com/samvloeberghs/>
- // Original Definitions: https://github.com/samvloeberghs/foundation-sites-typings
- declare module FoundationSites {
- // http://foundation.zurb.com/sites/docs/abide.html#javascript-reference
- interface Abide {
- requiredChecked(element: JQuery): boolean;
- findFormError(element: JQuery): JQuery;
- findLabel(element: JQuery): boolean;
- addErrorClasses(element: JQuery): void;
- removeRadioErrorClasses(groupName: string): void;
- removeErrorClasses(element: JQuery): void;
- validateInput(element: JQuery): boolean;
- validateForm(): boolean;
- validateText(element: JQuery, pattern: string): boolean;
- validateRadio(groupName: string): boolean;
- matchValidation(element: JQuery, validators: string, required: boolean): boolean;
- resetForm(): void;
- destroy(): void;
- }
- interface AbideDefaults {
- validateOn: string;
- labelErrorClass: string;
- inputErrorClass: string;
- formErrorSelector: string;
- formErrorClass: string;
- liveValidate: boolean;
- validateOnBlur: boolean;
- patterns: IAbidePatterns;
- validators: any; // TODO, maybe there is a better solution to describe how this object may look like
- }
- interface IAbidePatterns {
- 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;
- day_month_year?: RegExp;
- color?: RegExp;
- }
- interface IAbideOptions {
- validateOn?: string;
- labelErrorClass?: string;
- inputErrorClass?: string;
- formErrorSelector?: string;
- formErrorClass?: string;
- liveValidate?: boolean;
- validators?: any;
- }
- // http://foundation.zurb.com/sites/docs/accordion.html#javascript-reference
- interface Accordion {
- toggle($target: JQuery): void;
- down($target: JQuery, firstTime: boolean): void;
- up($target: JQuery): void;
- destroy(): void;
- }
- interface IAccordionOptions {
- slideSpeed?: number
- multiExpand?: boolean;
- allowAllClosed?: boolean;
- }
- // http://foundation.zurb.com/sites/docs/accordion-menu.html#javascript-reference
- interface AccordionMenu {
- hideAll(): void;
- toggle($target: JQuery): void;
- down($target: JQuery, firstTime: boolean): void;
- up($target: JQuery): void;
- destroy(): void;
- }
- interface IAccordionMenuOptions {
- slideSpeed?: number;
- multiOpen?: boolean;
- }
- // http://foundation.zurb.com/sites/docs/drilldown-menu.html#javascript-reference
- interface Drilldown {
- destroy(): void;
- }
- interface IDrilldownOptions {
- backButton?: string;
- wrapper?: string;
- parentLink?: boolean;
- closeOnClick?: boolean;
- }
- // http://foundation.zurb.com/sites/docs/dropdown.html#javascript-reference
- interface Dropdown {
- getPositionClass(): string;
- open(): void;
- close(): void;
- toggle(): void;
- destroy(): void;
- }
- interface IDropdownOptions {
- hoverDelay?: number;
- hover?: boolean;
- hoverPane?: boolean;
- vOffset?: number;
- hOffset?: number;
- positionClass?: string;
- trapFocus?: boolean;
- autoFocus?: boolean;
- closeOnClick?: boolean;
- }
- // http://foundation.zurb.com/sites/docs/dropdown-menu.html#javascript-reference
- interface DropdownMenu {
- destroy(): void;
- }
- interface IDropdownMenuOptions {
- disableHover?: boolean;
- autoclose?: boolean;
- hoverDelay?: number;
- clickOpen?: boolean;
- closingTime?: number;
- alignment?: string;
- closeOnClick?: boolean;
- verticalClass?: string;
- rightClass?: string;
- forceFollow?: boolean;
- }
- // http://foundation.zurb.com/sites/docs/equalizer.html#javascript-reference
- interface Equalizer {
- getHeights(cb: Function): Array<any>;
- getHeightsByRow(cb: Function): Array<any>;
- applyHeight(heights: Array<any>): void;
- applyHeightByRow(groups: Array<any>): void;
- destroy(): void;
- }
- interface IEqualizerOptions {
- equalizeOnStack?: boolean;
- equalizeByRow?: boolean;
- equalizeOn?: string;
- }
- // http://foundation.zurb.com/sites/docs/interchange.html#javascript-reference
- interface Interchange {
- replace(path: string): void;
- destroy(): void;
- }
- interface IInterchangeOptions {
- rules?: Array<any>
- }
- // http://foundation.zurb.com/sites/docs/magellan.html#javascript-reference
- interface Magellan {
- calcPoints(): void;
- scrollToLoc(location: string): void;
- reflow(): void;
- destroy(): void;
- }
- interface IMagellanOptions {
- animationDuration?: number;
- animationEasing?: string;
- threshold?: number;
- activeClass?: string;
- deepLinking?: boolean;
- barOffset?: number;
- }
- // http://foundation.zurb.com/sites/docs/offcanvas.html#javascript-reference
- interface OffCanvas {
- reveal(isRevealed: boolean): void;
- open(event: Event, trigger: JQuery): void;
- close(cb?: Function): void;
- toggle(event: Event, trigger: JQuery): void;
- destroy(): void;
- }
- interface IOffCanvasOptions {
- closeOnClick?: boolean;
- transitionTime?: number;
- position?: string;
- forceTop?: boolean;
- isRevealed?: boolean;
- revealOn?: string;
- autoFocus?: boolean;
- revealClass?: string;
- trapFocus?: boolean;
- }
- // http://foundation.zurb.com/sites/docs/orbit.html#javascript-reference
- interface Orbit {
- geoSync(): void;
- changeSlide(isLTR: boolean, chosenSlide?: JQuery, idx?: number): void;
- destroy(): void;
- }
- interface IOrbitOptions {
- bullets?: boolean;
- navButtons?: boolean;
- animInFromRight?: string;
- animOutToRight?: string;
- animInFromLeft?: string;
- animOutToLeft?: string;
- autoPlay?: boolean;
- timerDelay?: number;
- infiniteWrap?: boolean;
- swipe?: boolean;
- pauseOnHover?: boolean;
- accessible?: boolean;
- containerClass?: string;
- slideClass?: string;
- boxOfBullets?: string;
- nextClass?: string;
- prevClass?: string;
- useMUI?: boolean;
- }
- // http://foundation.zurb.com/sites/docs/reveal.html#javascript-reference
- interface Reveal {
- open(): void;
- toggle(): void;
- close(): void;
- destroy(): void;
- }
- interface IRevealOptions {
- animationIn?: string;
- animationOut?: string;
- showDelay?: number;
- hideDelay?: number;
- closeOnClick?: boolean;
- closeOnEsc?: boolean;
- multipleOpened?: boolean;
- vOffset?: number;
- hOffset?: number;
- fullScreen?: boolean;
- btmOffsetPct?: number;
- overlay?: boolean;
- resetOnClose?: boolean;
- deepLink?: boolean;
- }
- // http://foundation.zurb.com/sites/docs/slider.html#javascript-reference
- interface Slider {
- destroy(): void;
- }
- interface ISliderOptions {
- start?: number;
- end?: number;
- step?: number;
- initialStart ?: number;
- initialEnd?: number;
- binding?: boolean;
- clickSelect?: boolean;
- vertical?: boolean;
- draggable?: boolean;
- disabled?: boolean;
- doubleSided?: boolean;
- decimal?: number;
- moveTime?: number;
- disabledClass?: string;
- }
- // http://foundation.zurb.com/sites/docs/sticky.html#javascript-reference
- interface Sticky {
- destroy(): void;
- }
- interface IStickyOptions {
- container?: string;
- stickTo?: string;
- anchor?: string;
- topAnchor?: string;
- btmAnchor?: string;
- marginTop?: number;
- marginBottom?: number;
- stickyOn?: string;
- stickyClass?: string;
- containerClass?: string;
- checkEvery?: number;
- }
- // http://foundation.zurb.com/sites/docs/tabs.html#javascript-reference
- interface Tabs {
- selectTab(element: JQuery | string): void;
- destroy(): void;
- }
- interface ITabsOptions {
- autoFocus?: boolean;
- wrapOnKeys?: boolean;
- matchHeight?: boolean;
- linkClass?: string;
- panelClass?: string;
- }
- // http://foundation.zurb.com/sites/docs/toggler.html#javascript-reference
- interface Toggler {
- toggle(): void;
- destroy(): void;
- }
- interface ITogglerOptions {
- animate?: boolean;
- }
- // http://foundation.zurb.com/sites/docs/tooltip.html#javascript-reference
- interface Tooltip {
- show(): void;
- hide(): void;
- toggle(): void;
- destroy(): void;
- }
- interface ITooltipOptions {
- hoverDelay?: number;
- fadeInDuration?: number;
- fadeOutDuration?: number;
- disableHover?: boolean;
- templateClasses?: string;
- tooltipClass?: string;
- triggerClass?: string;
- showOn?: string;
- template?: string;
- tipText?: string;
- clickOpen?: boolean;
- positionClass?: string;
- vOffset?: number;
- hOffset?: number;
- }
- // Utilities
- // ---------
- 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;
- }
- interface Keyboard {
- parseKey(event: any): string;
- handleKey(event: any, component: any, functions: any): void;
- findFocusable($element: Object): Object;
- }
- interface MediaQuery {
- get(size: string): string;
- atLeast(size: string): boolean;
- queries: Array<string>;
- current: string;
- }
- interface Motion {
- animateIn(element: Object, animation: any, cb: Function): void;
- animateOut(element: Object, animation: any, cb: Function): void;
- }
- interface Move {
- // TODO
- }
- interface Nest {
- Feather(menu: any, type: any): void;
- Burn(menu: any, type: any): void;
- }
- interface Timer {
- start(): void;
- restart(): void;
- pause(): void;
- }
- interface Touch {
- // TODO :extension on jQuery
- }
- interface Triggers {
- // TODO :extension on jQuery
- }
- interface FoundationSitesStatic {
- version: string;
- rtl(): boolean;
- plugin(plugin: Object, name: string): void;
- registerPlugin(plugin: Object): void;
- unregisterPlugin(plugin: Object): void;
- reInit(plugins: Array<any>): void;
- GetYoDigits(length: number, namespace?: string): string;
- reflow(elem: Object, plugins?: Array<string>|string): void;
- getFnName(fn: string): string;
- transitionend(): string;
- util: {
- throttle(func: (...args: any[]) => any, delay: number): (...args: any[]) => any;
- };
- Abide: {
- new(element: JQuery, options?: IAbideOptions): Abide;
- defaults: AbideDefaults;
- }
- Accordion: {
- new(element: JQuery, options?: IAccordionOptions): Accordion;
- }
- AccordionMenu: {
- new(element: JQuery, options?: IAccordionMenuOptions): AccordionMenu;
- }
- Drilldown: {
- new(element: JQuery, options?: IDrilldownOptions): Drilldown;
- }
- Dropdown: {
- new(element: JQuery, options?: IDropdownOptions): Dropdown;
- }
- DropdownMenu: {
- new(element: JQuery, options?: IDropdownMenuOptions): DropdownMenu;
- }
- Equalizer: {
- new(element: JQuery, options?: IEqualizerOptions): Equalizer;
- }
- Interchange: {
- new(element: JQuery, options?: IInterchangeOptions): Interchange;
- }
- Magellan: {
- new(element: JQuery, options?: IMagellanOptions): Magellan;
- }
- OffCanvas: {
- new(element: JQuery, options?: IOffCanvasOptions): OffCanvas;
- }
- Orbit: {
- new(element: JQuery, options?: IOrbitOptions): Orbit;
- }
- Reveal: {
- new(element: JQuery, options?: IRevealOptions): Reveal;
- };
- Slider: {
- new(element: JQuery, options?: ISliderOptions): Slider;
- }
- Sticky: {
- new(element: JQuery, options?: IStickyOptions): Sticky;
- }
- Tabs: {
- new(element: JQuery, options?: ITabsOptions): Tabs;
- }
- Toggler: {
- new(element: JQuery, options?: ITogglerOptions): Toggler;
- }
- Tooltip: {
- new(element: JQuery, options?: ITooltipOptions): Tooltip;
- }
- // utils
- Box: Box;
- Keyboard: Keyboard;
- MediaQuery: MediaQuery;
- Motion: Motion;
- Move: Move;
- Nest: Nest;
- Timer: Timer;
- Touch: Touch;
- Triggers: Triggers;
- }
- }
- interface JQuery {
- foundation(method?: string | Array<any>, ...args: any[]): JQuery;
- }
- declare var Foundation: FoundationSites.FoundationSitesStatic;
- declare module "Foundation" {
- export = Foundation;
- }
|