radix-vue
Version:
Vue port for Radix UI Primitives.
109 lines (108 loc) • 3.44 kB
TypeScript
import type { Ref } from 'vue';
export interface TooltipRootProps {
/**
* The open state of the tooltip when it is initially rendered.
* Use when you do not need to control its open state.
*/
defaultOpen?: boolean;
/**
* The controlled open state of the tooltip.
*/
open?: boolean;
/**
* Override the duration given to the `Provider` to customise
* the open delay for a specific tooltip.
*
* @default 700
*/
delayDuration?: number;
/**
* Prevents Tooltip.Content from remaining open when hovering.
* Disabling this has accessibility consequences. Inherits
* from Tooltip.Provider.
*/
disableHoverableContent?: boolean;
/**
* When `true`, clicking on trigger will not close the content.
* @defaultValue false
*/
disableClosingTrigger?: boolean;
}
export type TooltipRootEmits = {
'update:open': [value: boolean];
};
export interface TooltipContext {
contentId: string;
open: Ref<boolean>;
stateAttribute: Ref<'closed' | 'delayed-open' | 'instant-open'>;
trigger: Ref<HTMLElement | undefined>;
onTriggerChange(trigger: HTMLElement | undefined): void;
onTriggerEnter(): void;
onTriggerLeave(): void;
onOpen(): void;
onClose(): void;
disableHoverableContent: Ref<boolean>;
disableClosingTrigger: Ref<boolean>;
}
export declare const injectTooltipRootContext: <T extends TooltipContext | null | undefined = TooltipContext>(fallback?: T | undefined) => T extends null ? TooltipContext | null : TooltipContext, provideTooltipRootContext: (contextValue: TooltipContext) => TooltipContext;
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
defaultOpen: {
type: import("vue").PropType<boolean>;
default: boolean;
};
open: {
type: import("vue").PropType<boolean>;
default: undefined;
};
delayDuration: {
type: import("vue").PropType<number>;
default: undefined;
};
disableHoverableContent: {
type: import("vue").PropType<boolean>;
default: undefined;
};
disableClosingTrigger: {
type: import("vue").PropType<boolean>;
default: undefined;
};
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
"update:open": (value: boolean) => void;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
defaultOpen: {
type: import("vue").PropType<boolean>;
default: boolean;
};
open: {
type: import("vue").PropType<boolean>;
default: undefined;
};
delayDuration: {
type: import("vue").PropType<number>;
default: undefined;
};
disableHoverableContent: {
type: import("vue").PropType<boolean>;
default: undefined;
};
disableClosingTrigger: {
type: import("vue").PropType<boolean>;
default: undefined;
};
}>> & {
"onUpdate:open"?: ((value: boolean) => any) | undefined;
}, {
defaultOpen: boolean;
open: boolean;
delayDuration: number;
disableHoverableContent: boolean;
disableClosingTrigger: boolean;
}, {}>, {
default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};