@ideal-postcodes/jsutil
Version:
Browser Address Autocomplete for api.ideal-postcodes.co.uk
52 lines (51 loc) • 1.45 kB
TypeScript
import { Bind, Start, ParentTest, Stop, PageTest, Config, Selectors, Targets, Binding } from "./types";
export declare const getTargets: (parent: HTMLElement, selectors: Selectors) => Targets | null;
export declare const relevantPage: (bindings: Binding[]) => boolean;
export declare const defaults: Config;
export declare const config: () => Config | undefined;
interface GenerateTimerOptions {
pageTest: PageTest;
bind: Bind;
interval?: number;
}
interface TimerControls {
start: Start;
stop: Stop;
}
interface GenerateTimer {
(options: GenerateTimerOptions): TimerControls;
}
export declare const generateTimer: GenerateTimer;
interface SetupOptions {
window: Window;
bindings: Binding[];
callback?: (result?: SetupResult[]) => void;
}
interface Setup {
(options: SetupOptions): void;
}
interface SetupResult {
binding: Binding;
start: Start;
stop: Stop;
}
export declare const setup: Setup;
interface SetupBindOptions {
selectors: Selectors;
anchorSelector?: string;
parentScope?: string;
doc?: Document;
parentTest?: ParentTest;
}
interface SetupBind {
(options: SetupBindOptions): PageBindings[];
}
interface PageBindings {
anchor: HTMLElement;
targets: Targets;
parent: HTMLElement;
}
export declare const setupBind: SetupBind;
export declare const toId: (elem: HTMLElement) => string;
export declare const cssEscape: (value: string) => string;
export {};