radix-vue
Version:
Vue port for Radix UI Primitives.
144 lines (143 loc) • 4.7 kB
TypeScript
import type { PrimitiveProps } from '../Primitive';
import type { PopperContentProps } from '../Popper';
export type TooltipContentImplEmits = {
'escapeKeyDown': [event: KeyboardEvent];
'pointerDownOutside': [event: Event];
};
export interface TooltipContentImplProps extends PrimitiveProps, Pick<PopperContentProps, 'side' | 'sideOffset' | 'align' | 'alignOffset' | 'avoidCollisions' | 'collisionBoundary' | 'collisionPadding' | 'arrowPadding' | 'sticky' | 'hideWhenDetached'> {
/**
* By default, screenreaders will announce the content inside
* the component. If this is not descriptive enough, or you have
* content that cannot be announced, use aria-label as a more
* descriptive label.
*
* @default String
*/
ariaLabel?: string;
}
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
asChild: {
type: import("vue").PropType<boolean>;
default: boolean;
};
as: {
type: import("vue").PropType<import('../Primitive').AsTag | import("vue").Component>;
};
ariaLabel: {
type: import("vue").PropType<string>;
};
align: {
type: import("vue").PropType<"center" | "end" | "start">;
default: string;
};
sticky: {
type: import("vue").PropType<"partial" | "always">;
default: string;
};
side: {
type: import("vue").PropType<"right" | "left" | "bottom" | "top">;
default: string;
};
sideOffset: {
type: import("vue").PropType<number>;
default: number;
};
alignOffset: {
type: import("vue").PropType<number>;
};
avoidCollisions: {
type: import("vue").PropType<boolean>;
default: boolean;
};
collisionBoundary: {
type: import("vue").PropType<Element | (Element | null)[] | null>;
default: () => never[];
};
collisionPadding: {
type: import("vue").PropType<number | Partial<Record<"right" | "left" | "bottom" | "top", number>>>;
default: number;
};
arrowPadding: {
type: import("vue").PropType<number>;
default: number;
};
hideWhenDetached: {
type: import("vue").PropType<boolean>;
default: boolean;
};
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
escapeKeyDown: (event: KeyboardEvent) => void;
pointerDownOutside: (event: Event) => void;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
asChild: {
type: import("vue").PropType<boolean>;
default: boolean;
};
as: {
type: import("vue").PropType<import('../Primitive').AsTag | import("vue").Component>;
};
ariaLabel: {
type: import("vue").PropType<string>;
};
align: {
type: import("vue").PropType<"center" | "end" | "start">;
default: string;
};
sticky: {
type: import("vue").PropType<"partial" | "always">;
default: string;
};
side: {
type: import("vue").PropType<"right" | "left" | "bottom" | "top">;
default: string;
};
sideOffset: {
type: import("vue").PropType<number>;
default: number;
};
alignOffset: {
type: import("vue").PropType<number>;
};
avoidCollisions: {
type: import("vue").PropType<boolean>;
default: boolean;
};
collisionBoundary: {
type: import("vue").PropType<Element | (Element | null)[] | null>;
default: () => never[];
};
collisionPadding: {
type: import("vue").PropType<number | Partial<Record<"right" | "left" | "bottom" | "top", number>>>;
default: number;
};
arrowPadding: {
type: import("vue").PropType<number>;
default: number;
};
hideWhenDetached: {
type: import("vue").PropType<boolean>;
default: boolean;
};
}>> & {
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
onPointerDownOutside?: ((event: Event) => any) | undefined;
}, {
asChild: boolean;
align: "center" | "end" | "start";
sticky: "partial" | "always";
side: "right" | "left" | "bottom" | "top";
sideOffset: number;
avoidCollisions: boolean;
collisionBoundary: Element | (Element | null)[] | null;
collisionPadding: number | Partial<Record<"right" | "left" | "bottom" | "top", number>>;
arrowPadding: number;
hideWhenDetached: boolean;
}, {}>, {
default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};