UNPKG

@types/typeahead

Version:

TypeScript definitions for typeahead.js

831 lines (735 loc) 63.7 kB
// Type definitions for typeahead.js 0.11.1 // Project: http://twitter.github.io/typeahead.js/ // Definitions by: Ivaylo Gochkov <https://github.com/igochkov>, Gidon Junge <https://github.com/gjunge> // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 /// <reference types="jquery"/> interface JQuery { /** * For a given input[type="text"], enables typeahead functionality. * * @constructor * @param options Options hash that's used for configuration * @param datasets Array of datasets */ typeahead<T>(options: Twitter.Typeahead.Options, datasets: Twitter.Typeahead.Dataset<T>[]): JQuery; /** * For a given input[type="text"], enables typeahead functionality. * * @constructor * @param options Options hash that's used for configuration * @param dataset At least one dataset is required * @param datasets Rest of the datasets. */ typeahead<T>(options: Twitter.Typeahead.Options, dataset: Twitter.Typeahead.Dataset<T>, ...datasets: Twitter.Typeahead.Dataset<T>[]): JQuery; /** * Returns the current value of the typeahead. * The value is the text the user has entered into the input element. * * @constructor * @param methodName Method 'val' */ typeahead(methodName: 'val'): string; /** * Accommodates the val overload. * * @constructor * @param methodName Method 'val' */ typeahead(methodName: string): string; /** * Sets the value of the typeahead. This should be used in place of jQuery#val. * * @constructor * @param methodName Method 'val' * @param val The value to be set */ typeahead(methodName: 'val', val: string): JQuery; /** * Accommodates the set val overload. * * @constructor * @param methodName Method 'val' * @param val The value to be set */ typeahead(methodName: string, val: string): JQuery; /** * Opens the suggestion menu. * * @constructor * @param methodName Method 'open' */ typeahead(methodName: 'open'): JQuery; /** * Closes the suggestion menu. * * @constructor * @param methodName Method 'close' */ typeahead(methodName: 'close'): JQuery; /** * Removes typeahead functionality and reverts the input element back to its original state. * * @constructor * @param methodName Method 'destroy' */ typeahead(methodName: 'destroy'): JQuery; /** * Attach an event handler function for typeahead:active event to the selected elements. * * @param events typeahead:active event fired when the typeahead moves to active state. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax). */ on(events: "typeahead:active", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:active event to the selected elements. * * @param events typeahead:active event fired when the typeahead moves to active state. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:active", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:active event to the selected elements. * * @param events typeahead:active event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:active", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:active event to the selected elements. * * @param events typeahead:active event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:active", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:idle event to the selected elements. * * @param events typeahead:idle event fired when the typeahead moves to active state. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax). */ on(events: "typeahead:idle", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:idle event to the selected elements. * * @param events typeahead:idle event fired when the typeahead moves to active state. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:idle", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:idle event to the selected elements. * * @param events typeahead:idle event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:idle", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:idle event to the selected elements. * * @param events typeahead:idle event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:idle", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:open event to the selected elements. * * @param events typeahead:open event fired when the typeahead moves to active state. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax). */ on(events: "typeahead:open", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:open event to the selected elements. * * @param events typeahead:open event fired when the typeahead moves to active state. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:open", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:open event to the selected elements. * * @param events typeahead:open event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:open", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:open event to the selected elements. * * @param events typeahead:open event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:open", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:close event to the selected elements. * * @param events typeahead:close event fired when the typeahead moves to active state. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax). */ on(events: "typeahead:close", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:close event to the selected elements. * * @param events typeahead:close event fired when the typeahead moves to active state. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:close", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:close event to the selected elements. * * @param events typeahead:close event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:close", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:close event to the selected elements. * * @param events typeahead:close event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:close", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:change event to the selected elements. * * @param events typeahead:change event fired when the typeahead moves to active state. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax). */ on(events: "typeahead:change", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:change event to the selected elements. * * @param events typeahead:change event fired when the typeahead moves to active state. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:change", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:change event to the selected elements. * * @param events typeahead:change event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:change", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:change event to the selected elements. * * @param events typeahead:change event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:change", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:render event to the selected elements. * * @param events typeahead:render event fired when the typeahead moves to active state. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax). */ on(events: "typeahead:render", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:render event to the selected elements. * * @param events typeahead:render event fired when the typeahead moves to active state. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:render", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:render event to the selected elements. * * @param events typeahead:render event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:render", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:render event to the selected elements. * * @param events typeahead:render event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:render", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:select event to the selected elements. * * @param events typeahead:select event fired when the typeahead moves to active state. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax). */ on(events: "typeahead:select", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:select event to the selected elements. * * @param events typeahead:select event fired when the typeahead moves to active state. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:select", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:select event to the selected elements. * * @param events typeahead:select event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:select", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:select event to the selected elements. * * @param events typeahead:select event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:select", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:autocomplete event to the selected elements. * * @param events typeahead:autocomplete event fired when the typeahead moves to active state. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax). */ on(events: "typeahead:autocomplete", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:autocomplete event to the selected elements. * * @param events typeahead:autocomplete event fired when the typeahead moves to active state. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:autocomplete", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:autocomplete event to the selected elements. * * @param events typeahead:autocomplete event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:autocomplete", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:autocomplete event to the selected elements. * * @param events typeahead:autocomplete event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:autocomplete", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:cursorchange event to the selected elements. * * @param events typeahead:cursorchange event fired when the typeahead moves to active state. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax). */ on(events: "typeahead:cursorchange", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:cursorchange event to the selected elements. * * @param events typeahead:cursorchange event fired when the typeahead moves to active state. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:cursorchange", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:cursorchange event to the selected elements. * * @param events typeahead:cursorchange event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:cursorchange", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:cursorchange event to the selected elements. * * @param events typeahead:cursorchange event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:cursorchange", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:asyncrequest event to the selected elements. * * @param events typeahead:asyncrequest event fired when the typeahead moves to active state. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax). */ on(events: "typeahead:asyncrequest", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:asyncrequest event to the selected elements. * * @param events typeahead:asyncrequest event fired when the typeahead moves to active state. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:asyncrequest", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:asyncrequest event to the selected elements. * * @param events typeahead:asyncrequest event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:asyncrequest", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:asyncrequest event to the selected elements. * * @param events typeahead:asyncrequest event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:asyncrequest", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:asynccancel event to the selected elements. * * @param events typeahead:asynccancel event fired when the typeahead moves to active state. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax). */ on(events: "typeahead:asynccancel", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:asynccancel event to the selected elements. * * @param events typeahead:asynccancel event fired when the typeahead moves to active state. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:asynccancel", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:asynccancel event to the selected elements. * * @param events typeahead:asynccancel event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:asynccancel", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:asynccancel event to the selected elements. * * @param events typeahead:asynccancel event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:asynccancel", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:asyncreceive event to the selected elements. * * @param events typeahead:asyncreceive event fired when the typeahead moves to active state. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax). */ on(events: "typeahead:asyncreceive", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:asyncreceive event to the selected elements. * * @param events typeahead:asyncreceive event fired when the typeahead moves to active state. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:asyncreceive", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:asyncreceive event to the selected elements. * * @param events typeahead:asyncreceive event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:asyncreceive", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Attach an event handler function for typeahead:asyncreceive event to the selected elements. * * @param events typeahead:asyncreceive event fired when the typeahead moves to active state. * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. * @param data Data to be passed to the handler in event.data when an event is triggered. * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. */ on(events: "typeahead:asyncreceive", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:active event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:active", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:active event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:active", handler: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:idle event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:idle", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:idle event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:idle", handler: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:open event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:open", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:open event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:open", handler: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:close event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:close", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:close event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:close", handler: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:change event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:change", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:change event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:change", handler: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:render event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:render", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:render event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:render", handler: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:select event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:select", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:select event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:select", handler: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:autocomplete event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:autocomplete", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:autocomplete event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:autocomplete", handler: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:cursorchange event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:cursorchange", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:cursorchange event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:cursorchange", handler: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:asyncrequest event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:asyncrequest", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:asyncrequest event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:asyncrequest", handler: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:asynccancel event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:asynccancel", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:asynccancel event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:asynccancel", handler: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:asyncreceive event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:asyncreceive", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; /** * Remove an event handler. * * @param events typeahead:asyncreceive event. * @param handler A handler function previously attached for the event(s), or the special value false. */ off(events: "typeahead:asyncreceive", handler: (eventObject: JQueryEventObject) => any): JQuery; } declare namespace Twitter.Typeahead { interface Options { /** * If true, when suggestions are rendered, pattern matches for the current query in text nodes will be wrapped in a strong element with its class set to {{classNames.highlight}}. * Defaults to false. */ highlight?: boolean; /** * If false, the typeahead will not show a hint. * Defaults to true. */ hint?: boolean; /** * The minimum character length needed before suggestions start getting rendered. * Defaults to 1. */ minLength?: number; /** * Used for overriding the default class names. */ classNames?: ClassNames; } /** * A typeahead is composed of one or more datasets. When an end-user * modifies the value of a typeahead, each dataset will attempt to render * suggestions for the new value. * For most use cases, one dataset should suffice. It's only in the scenario * where you want rendered suggestions to be grouped based on some sort of * categorical relationship that you'd need to use multiple datasets. For * example, on twitter.com, the search typeahead groups results into recent * searches, trends, and accounts – that would be a great use case for using * multiple datasets. */ interface Dataset<T> { /** * The backing data source for suggestions. * Expected to be a function with the signature (query, syncResults, asyncResults). * syncResults should be called with suggestions computed synchronously and * asyncResults should be called with suggestions computed asynchronously * (e.g. suggestions that come for an AJAX request). * source can also be a Bloodhound instance. */ source: Bloodhound<T> | ((query: string, syncResults: (result: T[]) => void, asyncResults?: (result: T[]) => void) => void); /** * Lets the dataset know if async suggestions should be expected. * If not set, this information is inferred from the signature of * source i.e. if the source function expects 3 arguments, async will * be set to true. */ async?: boolean; /** * The name of the dataset. * This will be appended to {{classNames.dataset}} - to form the class name of the containing DOM element. * Must only consist of underscores, dashes, letters (a-z), and numbers. * Defaults to a random number. */ name?: string; /** * The max number of suggestions to be displayed. Defaults to 5. */ limit?: number; /** * For a given suggestion, determines the string representation of it. * This will be used when setting the value of the input control after * a suggestion is selected. Can be either a key string or a function * that transforms a suggestion object into a string. * Defaults to stringifying the suggestion. */ display?: string | ((obj: T) => string); /** * A hash of templates to be used when rendering the dataset. Note a * precompiled template is a function that takes a JavaScript object as * its first argument and returns a HTML string. */ templates?: Templates<T>; } /** * A hash of templates to be used when rendering the dataset. Note a * precompiled template is a function that takes a JavaScript object as * its first argument and returns a HTML string. */ interface Templates<T> { /** * Rendered when 0 suggestions are available for the given query. * Can be either a HTML string or a precompiled template. * If it's a precompiled template, the passed in context will contain query. */ notFound?: string | ((query: string) => string); /** * Rendered when 0 synchronous suggestions are available but asynchronous suggestions are expected. * Can be either a HTML string or a precompiled template. * If it's a precompiled template, the passed in context will contain query. */ pending?: string | ((query: string) => string); /** * Rendered at the top of the dataset when suggestions are present. Can be either a HTML string or * a precompiled template. If it's a precompiled template, the passed in context will contain * query and suggestions. */ header?: string | ((query: string, suggestions: T[]) => string); /** * Rendered at the bottom of the dataset when suggestions are present. Can be either a HTML string or * a precompiled template. If it's a precompiled template, the passed in context will contain * query and suggestions. */ footer?