vuestic-ui
Version:
Vue 3 UI Framework
35 lines (34 loc) • 1.16 kB
TypeScript
export type State = {
isTopAffixed: boolean;
isBottomAffixed: boolean;
width?: number;
};
type Coordinates = {
top: number;
bottom: number;
};
type ValuesToComputeAffixedState = {
coordinates: Coordinates;
offsetTop?: number;
offsetBottom?: number;
target: HTMLElement | Window | undefined;
};
export declare function getWindowHeight(): number;
export declare function computeAffixedState({ coordinates, offsetTop, offsetBottom, target, }: ValuesToComputeAffixedState): State;
export type Context = {
offsetTop?: number;
offsetBottom?: number;
element: HTMLElement | undefined;
target: HTMLElement | Window | undefined;
setState: (state: State) => void;
getState: () => State;
initialPosition?: DOMRect | undefined;
};
export declare function handleThrottledEvent(eventName: string | null, context: Context): void;
type Options = {
handler: (eventName: string, event: Event) => void;
useCapture?: (eventName: string) => boolean;
wait?: number;
};
export declare function useEventsHandlerWithThrottle(events: string[], { handler, useCapture, wait, }: Options): () => void;
export {};