@sandlada/vue-mdc
Version:

44 lines • 1.45 kB
TypeScript
/**
* @license
* Copyright 2025 Sandlada & Kai Orion
* SPDX-License-Identifier: MIT
*/
import { type Ref } from 'vue';
export declare const STooltipController: unique symbol;
export declare enum ETooltipPosition {
Left = "left",
Above = "above",
Right = "right",
Below = "below",
Before = "before",
After = "after"
}
export type TTooltipPosition = 'left' | 'above' | 'right' | 'below' | 'before' | 'after';
export type TTooltipTouchGestures = 'auto' | 'on' | 'off';
export type TooltipVisibility = 'initial' | 'visible' | 'hidden';
export interface ITooltip {
open(delay?: number): void;
close(delay?: number): void;
position: Ref<TTooltipPosition>;
visibility: Ref<boolean>;
touchGestures: Ref<TTooltipTouchGestures>;
}
export interface ITooltipControllerHost extends HTMLElement {
[STooltipController]: ITooltip;
}
export interface IUseTooltipOptions {
position: Ref<TTooltipPosition>;
visibility: Ref<boolean>;
touchGestures: Ref<TTooltipTouchGestures>;
disabled: Ref<boolean>;
showDelay: Ref<number>;
hideDelay: Ref<number>;
}
export declare function useTooltip(surfaceRef: Ref<ITooltipControllerHost | null>, anchorRef: Ref<HTMLElement | null>, options: Required<IUseTooltipOptions>): {
show: (delay?: number, origin?: {
x: number;
y: number;
}) => void;
hide: (delay?: number) => void;
};
//# sourceMappingURL=tooltip-controller.d.ts.map