vuestic-ui
Version:
Vue 3 UI Framework
315 lines (314 loc) • 10 kB
TypeScript
import { PropType } from 'vue';
import { MaybeHTMLElementOrSelector } from '../../composables';
import { Trigger } from './hooks/useDropdownNavigation';
import { CursorAnchor, DropdownOffsetProp } from './types';
import { StringWithAutocomplete } from '../../utils/types/prop-type';
declare const _default: import("vue").DefineComponent<{
modelValue: {
type: BooleanConstructor;
default: boolean;
};
anchor: {
type: PropType<MaybeHTMLElementOrSelector>;
default: undefined;
};
anchorSelector: {
type: StringConstructor;
default: string;
};
innerAnchorSelector: {
type: StringConstructor;
default: string;
};
trigger: {
type: PropType<Trigger | readonly Trigger[]>;
default: () => string[];
};
disabled: {
type: BooleanConstructor;
};
readonly: {
type: BooleanConstructor;
};
closeOnClickOutside: {
type: BooleanConstructor;
default: boolean;
};
closeOnFocusOutside: {
type: BooleanConstructor;
default: boolean;
};
closeOnAnchorClick: {
type: BooleanConstructor;
default: boolean;
};
closeOnContentClick: {
type: BooleanConstructor;
default: boolean;
};
hoverOverTimeout: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
hoverOutTimeout: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
isContentHoverable: {
type: BooleanConstructor;
default: boolean;
};
offset: {
type: PropType<DropdownOffsetProp>;
default: number;
};
keepAnchorWidth: {
type: BooleanConstructor;
default: boolean;
};
verticalScrollOnOverflow: {
type: BooleanConstructor;
default: boolean;
};
cursor: {
type: PropType<boolean | CursorAnchor>;
default: boolean;
};
autoPlacement: {
type: BooleanConstructor;
default: boolean;
};
stickToEdges: {
type: BooleanConstructor;
default: boolean;
};
/** Viewport where dropdown will be rendered. Autoplacement will be calculated relative to `target` */
target: {
type: PropType<MaybeHTMLElementOrSelector>;
default: undefined;
};
/** Element where dropdown content will be rendered. */
teleport: {
type: PropType<MaybeHTMLElementOrSelector>;
default: undefined;
};
/** Not reactive */
keyboardNavigation: {
type: BooleanConstructor;
default: boolean;
};
ariaLabel: {
type: PropType<import("../../composables").TranslationProp>;
default: import("../../composables").TranslationProp;
};
role: {
type: PropType<StringWithAutocomplete<"button" | "none">>;
default: string;
};
contentClass: {
type: StringConstructor;
default: string;
};
stateful: {
type: PropType<boolean>;
default: boolean;
};
placement: {
type: PropType<import("../../composables").PlacementWithAlias>;
default: string;
validator: (position: import("../../composables").PlacementWithAlias) => boolean;
};
}, {
anchorRef: import("vue").WritableComputedRef<HTMLElement | undefined>;
anchorClass: {
"va-dropdown--disabled": boolean | undefined;
} & {
readonly asObject: import("vue").ComputedRef<{
"va-dropdown--disabled": boolean | undefined;
}>;
readonly asArray: import("vue").ComputedRef<"va-dropdown--disabled"[]>;
readonly asString: import("vue").ComputedRef<string>;
};
floating: import("vue").Ref<HTMLElement | undefined>;
floatingStyles: import("vue").ComputedRef<{
position: import("@floating-ui/utils").Strategy;
top: string;
left: string;
transform?: string | undefined;
willChange?: string | undefined;
} | {
position: string;
} | undefined>;
showFloating: import("vue").ComputedRef<boolean>;
teleportTarget: import("vue").ComputedRef<HTMLElement | undefined>;
isMounted: import("vue").Ref<boolean>;
valueComputed: import("../../composables").StatefulValue<boolean>;
hide: () => void;
show: () => void;
zIndex: import("vue").ComputedRef<number>;
teleportFromAttrs: {
"data-va-teleported-from": string;
};
teleportedAttrs: {
"data-va-app"?: number | undefined;
"data-va-teleported": string;
};
findTeleportedFrom: (el: HTMLElement | null | undefined) => HTMLElement | null;
tp: <Key extends import("../../composables").TranslationProp | undefined>(key: Key, values?: Record<string, string | number | boolean | undefined> | undefined) => string;
t: <Key_1 extends import("../../main").I18NKey>(key: Key_1, values?: Record<string, string | number | boolean | undefined> | undefined) => any;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "update:modelValue" | "open" | "click-outside" | "anchor-click" | "anchor-right-click" | "content-click" | "focus-outside" | "anchor-dblclick")[], "close" | "update:modelValue" | "open" | "click-outside" | "anchor-click" | "anchor-right-click" | "content-click" | "focus-outside" | "anchor-dblclick", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
modelValue: {
type: BooleanConstructor;
default: boolean;
};
anchor: {
type: PropType<MaybeHTMLElementOrSelector>;
default: undefined;
};
anchorSelector: {
type: StringConstructor;
default: string;
};
innerAnchorSelector: {
type: StringConstructor;
default: string;
};
trigger: {
type: PropType<Trigger | readonly Trigger[]>;
default: () => string[];
};
disabled: {
type: BooleanConstructor;
};
readonly: {
type: BooleanConstructor;
};
closeOnClickOutside: {
type: BooleanConstructor;
default: boolean;
};
closeOnFocusOutside: {
type: BooleanConstructor;
default: boolean;
};
closeOnAnchorClick: {
type: BooleanConstructor;
default: boolean;
};
closeOnContentClick: {
type: BooleanConstructor;
default: boolean;
};
hoverOverTimeout: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
hoverOutTimeout: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
isContentHoverable: {
type: BooleanConstructor;
default: boolean;
};
offset: {
type: PropType<DropdownOffsetProp>;
default: number;
};
keepAnchorWidth: {
type: BooleanConstructor;
default: boolean;
};
verticalScrollOnOverflow: {
type: BooleanConstructor;
default: boolean;
};
cursor: {
type: PropType<boolean | CursorAnchor>;
default: boolean;
};
autoPlacement: {
type: BooleanConstructor;
default: boolean;
};
stickToEdges: {
type: BooleanConstructor;
default: boolean;
};
/** Viewport where dropdown will be rendered. Autoplacement will be calculated relative to `target` */
target: {
type: PropType<MaybeHTMLElementOrSelector>;
default: undefined;
};
/** Element where dropdown content will be rendered. */
teleport: {
type: PropType<MaybeHTMLElementOrSelector>;
default: undefined;
};
/** Not reactive */
keyboardNavigation: {
type: BooleanConstructor;
default: boolean;
};
ariaLabel: {
type: PropType<import("../../composables").TranslationProp>;
default: import("../../composables").TranslationProp;
};
role: {
type: PropType<StringWithAutocomplete<"button" | "none">>;
default: string;
};
contentClass: {
type: StringConstructor;
default: string;
};
stateful: {
type: PropType<boolean>;
default: boolean;
};
placement: {
type: PropType<import("../../composables").PlacementWithAlias>;
default: string;
validator: (position: import("../../composables").PlacementWithAlias) => boolean;
};
}>> & {
onClose?: ((...args: any[]) => any) | undefined;
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
onOpen?: ((...args: any[]) => any) | undefined;
"onClick-outside"?: ((...args: any[]) => any) | undefined;
"onAnchor-click"?: ((...args: any[]) => any) | undefined;
"onAnchor-right-click"?: ((...args: any[]) => any) | undefined;
"onContent-click"?: ((...args: any[]) => any) | undefined;
"onFocus-outside"?: ((...args: any[]) => any) | undefined;
"onAnchor-dblclick"?: ((...args: any[]) => any) | undefined;
}, {
anchor: MaybeHTMLElementOrSelector;
modelValue: boolean;
stateful: boolean;
target: MaybeHTMLElementOrSelector;
disabled: boolean;
ariaLabel: import("../../composables").TranslationProp;
placement: import("../../composables").PlacementWithAlias;
offset: DropdownOffsetProp;
role: StringWithAutocomplete<"button" | "none">;
anchorSelector: string;
innerAnchorSelector: string;
trigger: Trigger | readonly Trigger[];
readonly: boolean;
closeOnClickOutside: boolean;
closeOnFocusOutside: boolean;
closeOnAnchorClick: boolean;
closeOnContentClick: boolean;
hoverOverTimeout: string | number;
hoverOutTimeout: string | number;
isContentHoverable: boolean;
keepAnchorWidth: boolean;
verticalScrollOnOverflow: boolean;
cursor: boolean | CursorAnchor;
autoPlacement: boolean;
stickToEdges: boolean;
teleport: MaybeHTMLElementOrSelector;
keyboardNavigation: boolean;
contentClass: string;
}, {}>;
export default _default;