bootstrap-vue-next
Version:
BootstrapVueNext is an early and lovely component library for Vue 3 & Nuxt 3 based on Bootstrap 5 and Typescript.
335 lines (334 loc) • 18.5 kB
TypeScript
import { BvTriggerableEvent } from '../../utils';
import { BDropdownProps } from '../../types/ComponentProps';
declare let __VLS_typeProps: Omit<BDropdownProps, 'modelValue'>;
type __VLS_PublicProps = {
modelValue?: Exclude<BDropdownProps['modelValue'], undefined>;
} & typeof __VLS_typeProps;
declare function __VLS_template(): {
slots: Readonly<{
'button-content'?: (props: Record<string, never>) => any;
default?: (props: {
hide: () => void;
show: () => void;
}) => any;
'toggle-text'?: (props: Record<string, never>) => any;
}> & {
'button-content'?: (props: Record<string, never>) => any;
default?: (props: {
hide: () => void;
show: () => void;
}) => any;
'toggle-text'?: (props: Record<string, never>) => any;
};
refs: {
dropdown: ({
$: import('vue').ComponentInternalInstance;
$data: {};
$props: {
readonly modelValue?: Exclude<BDropdownProps["modelValue"], undefined> | undefined;
readonly disabled?: boolean | undefined;
readonly id?: string | undefined;
readonly size?: import('../..').Size | undefined;
readonly text?: string | undefined;
readonly variant?: (import('../..').ButtonVariant | null) | undefined;
readonly role?: string | undefined;
readonly lazy?: boolean | undefined;
readonly placement?: import('../../../node_modules/@floating-ui/core').Placement | undefined;
readonly ariaLabel?: string | undefined;
readonly autoClose?: (boolean | "inside" | "outside") | undefined;
readonly boundary?: (import('@floating-ui/vue').Boundary | import('../../../node_modules/@floating-ui/core').RootBoundary) | undefined;
readonly boundaryPadding?: import('../../../node_modules/@floating-ui/core').Padding | undefined;
readonly floatingMiddleware?: import('@floating-ui/vue').Middleware[] | undefined;
readonly isNav?: boolean | undefined;
readonly menuClass?: import('../../types/AnyValuedAttributes').ClassValue;
readonly noCaret?: boolean | undefined;
readonly noFlip?: boolean | undefined;
readonly noShift?: boolean | undefined;
readonly noSize?: boolean | undefined;
readonly offset?: (number | string | Readonly<{
mainAxis?: number;
crossAxis?: number;
alignmentAxis?: number | null;
}>) | undefined;
readonly skipWrapper?: boolean | undefined;
readonly split?: boolean | undefined;
readonly splitButtonType?: import('../..').ButtonType | undefined;
readonly splitClass?: import('../../types/AnyValuedAttributes').ClassValue;
readonly splitDisabled?: boolean | undefined;
readonly splitHref?: string | undefined;
readonly splitTo?: import('vue-router').RouteLocationRaw | undefined;
readonly splitVariant?: (import('../..').ButtonVariant | null) | undefined;
readonly strategy?: import('../../../node_modules/@floating-ui/core').Strategy | undefined;
readonly toggleClass?: import('../../types/AnyValuedAttributes').ClassValue;
readonly toggleText?: string | undefined;
readonly wrapperClass?: import('../../types/AnyValuedAttributes').ClassValue;
readonly teleportDisabled?: import('vue').TeleportProps["disabled"];
readonly teleportTo?: import('vue').TeleportProps["to"];
readonly onShow?: ((value: BvTriggerableEvent) => any) | undefined;
readonly onClick?: ((event: MouseEvent) => any) | undefined;
readonly onHidden?: (() => any) | undefined;
readonly "onUpdate:modelValue"?: ((modelValue: boolean) => any) | undefined;
readonly onToggle?: (() => any) | undefined;
readonly onHide?: ((value: BvTriggerableEvent) => any) | undefined;
readonly "onHide-prevented"?: (() => any) | undefined;
readonly "onShow-prevented"?: (() => any) | undefined;
readonly onShown?: (() => any) | undefined;
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & Readonly<{
modelValue?: Exclude<BDropdownProps["modelValue"], undefined>;
} & Omit<BDropdownProps, "modelValue">> & Readonly<{
onShow?: ((value: BvTriggerableEvent) => any) | undefined;
onClick?: ((event: MouseEvent) => any) | undefined;
onHidden?: (() => any) | undefined;
"onUpdate:modelValue"?: ((modelValue: boolean) => any) | undefined;
onToggle?: (() => any) | undefined;
onHide?: ((value: BvTriggerableEvent) => any) | undefined;
"onHide-prevented"?: (() => any) | undefined;
"onShow-prevented"?: (() => any) | undefined;
onShown?: (() => any) | undefined;
}>;
$attrs: {
[x: string]: unknown;
};
$refs: {
[x: string]: unknown;
};
$slots: Readonly<{
[name: string]: import('vue').Slot<any> | undefined;
}>;
$root: import('vue').ComponentPublicInstance | null;
$parent: import('vue').ComponentPublicInstance | null;
$host: Element | null;
$emit: ((event: "show", value: BvTriggerableEvent) => void) & ((event: "click", event: MouseEvent) => void) & ((event: "hidden") => void) & ((event: "update:modelValue", modelValue: boolean) => void) & ((event: "toggle") => void) & ((event: "hide", value: BvTriggerableEvent) => void) & ((event: "hide-prevented") => void) & ((event: "show-prevented") => void) & ((event: "shown") => void);
$el: any;
$options: import('vue').ComponentOptionsBase<Readonly<{
modelValue?: Exclude<BDropdownProps["modelValue"], undefined>;
} & Omit<BDropdownProps, "modelValue">> & Readonly<{
onShow?: ((value: BvTriggerableEvent) => any) | undefined;
onClick?: ((event: MouseEvent) => any) | undefined;
onHidden?: (() => any) | undefined;
"onUpdate:modelValue"?: ((modelValue: boolean) => any) | undefined;
onToggle?: (() => any) | undefined;
onHide?: ((value: BvTriggerableEvent) => any) | undefined;
"onHide-prevented"?: (() => any) | undefined;
"onShow-prevented"?: (() => any) | undefined;
onShown?: (() => any) | undefined;
}>, {
hide: () => void;
show: () => void;
toggle: () => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
'update:modelValue': (modelValue: boolean) => any;
click: (event: MouseEvent) => any;
hidden: () => any;
hide: (value: BvTriggerableEvent) => any;
'hide-prevented': () => any;
show: (value: BvTriggerableEvent) => any;
'show-prevented': () => any;
shown: () => any;
toggle: () => any;
}, string, {
disabled: boolean;
id: string;
size: import('../..').Size;
text: string;
variant: import('../..').ButtonVariant | null;
role: string;
lazy: boolean;
placement: import('../../../node_modules/@floating-ui/core').Placement;
ariaLabel: string;
autoClose: boolean | "inside" | "outside";
boundary: import('@floating-ui/vue').Boundary | import('../../../node_modules/@floating-ui/core').RootBoundary;
boundaryPadding: import('../../../node_modules/@floating-ui/core').Padding;
floatingMiddleware: import('@floating-ui/vue').Middleware[];
isNav: boolean;
menuClass: import('../../types/AnyValuedAttributes').ClassValue;
noCaret: boolean;
noFlip: boolean;
noShift: boolean;
noSize: boolean;
offset: number | string | Readonly<{
mainAxis?: number;
crossAxis?: number;
alignmentAxis?: number | null;
}>;
skipWrapper: boolean;
split: boolean;
splitButtonType: import('../..').ButtonType;
splitClass: import('../../types/AnyValuedAttributes').ClassValue;
splitDisabled: boolean;
splitHref: string;
splitTo: import('vue-router').RouteLocationRaw;
splitVariant: import('../..').ButtonVariant | null;
strategy: import('../../../node_modules/@floating-ui/core').Strategy;
toggleClass: import('../../types/AnyValuedAttributes').ClassValue;
toggleText: string;
wrapperClass: import('../../types/AnyValuedAttributes').ClassValue;
teleportDisabled: boolean;
teleportTo: string | import('vue').RendererElement | null;
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
beforeCreate?: (() => void) | (() => void)[];
created?: (() => void) | (() => void)[];
beforeMount?: (() => void) | (() => void)[];
mounted?: (() => void) | (() => void)[];
beforeUpdate?: (() => void) | (() => void)[];
updated?: (() => void) | (() => void)[];
activated?: (() => void) | (() => void)[];
deactivated?: (() => void) | (() => void)[];
beforeDestroy?: (() => void) | (() => void)[];
beforeUnmount?: (() => void) | (() => void)[];
destroyed?: (() => void) | (() => void)[];
unmounted?: (() => void) | (() => void)[];
renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
};
$forceUpdate: () => void;
$nextTick: typeof import('vue').nextTick;
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
} & Readonly<{
disabled: boolean;
id: string;
size: import('../..').Size;
text: string;
variant: import('../..').ButtonVariant | null;
role: string;
lazy: boolean;
placement: import('../../../node_modules/@floating-ui/core').Placement;
ariaLabel: string;
autoClose: boolean | "inside" | "outside";
boundary: import('@floating-ui/vue').Boundary | import('../../../node_modules/@floating-ui/core').RootBoundary;
boundaryPadding: import('../../../node_modules/@floating-ui/core').Padding;
floatingMiddleware: import('@floating-ui/vue').Middleware[];
isNav: boolean;
menuClass: import('../../types/AnyValuedAttributes').ClassValue;
noCaret: boolean;
noFlip: boolean;
noShift: boolean;
noSize: boolean;
offset: number | string | Readonly<{
mainAxis?: number;
crossAxis?: number;
alignmentAxis?: number | null;
}>;
skipWrapper: boolean;
split: boolean;
splitButtonType: import('../..').ButtonType;
splitClass: import('../../types/AnyValuedAttributes').ClassValue;
splitDisabled: boolean;
splitHref: string;
splitTo: import('vue-router').RouteLocationRaw;
splitVariant: import('../..').ButtonVariant | null;
strategy: import('../../../node_modules/@floating-ui/core').Strategy;
toggleClass: import('../../types/AnyValuedAttributes').ClassValue;
toggleText: string;
wrapperClass: import('../../types/AnyValuedAttributes').ClassValue;
teleportDisabled: boolean;
teleportTo: string | import('vue').RendererElement | null;
}> & Omit<Readonly<{
modelValue?: Exclude<BDropdownProps["modelValue"], undefined>;
} & Omit<BDropdownProps, "modelValue">> & Readonly<{
onShow?: ((value: BvTriggerableEvent) => any) | undefined;
onClick?: ((event: MouseEvent) => any) | undefined;
onHidden?: (() => any) | undefined;
"onUpdate:modelValue"?: ((modelValue: boolean) => any) | undefined;
onToggle?: (() => any) | undefined;
onHide?: ((value: BvTriggerableEvent) => any) | undefined;
"onHide-prevented"?: (() => any) | undefined;
"onShow-prevented"?: (() => any) | undefined;
onShown?: (() => any) | undefined;
}>, "show" | "toggle" | "hide" | ("disabled" | "id" | "size" | "text" | "variant" | "role" | "lazy" | "placement" | "ariaLabel" | "autoClose" | "boundary" | "boundaryPadding" | "floatingMiddleware" | "isNav" | "menuClass" | "noCaret" | "noFlip" | "noShift" | "noSize" | "offset" | "skipWrapper" | "split" | "splitButtonType" | "splitClass" | "splitDisabled" | "splitHref" | "splitTo" | "splitVariant" | "strategy" | "toggleClass" | "toggleText" | "wrapperClass" | "teleportDisabled" | "teleportTo")> & import('vue').ShallowUnwrapRef<{
hide: () => void;
show: () => void;
toggle: () => void;
}> & {} & import('vue').ComponentCustomProperties & {} & {
$slots: Readonly<{
'button-content'?: (props: Record<string, never>) => any;
default?: (props: {
hide: () => void;
show: () => void;
}) => any;
'toggle-text'?: (props: Record<string, never>) => any;
}> & {
'button-content'?: (props: Record<string, never>) => any;
default?: (props: {
hide: () => void;
show: () => void;
}) => any;
'toggle-text'?: (props: Record<string, never>) => any;
};
}) | null;
};
attrs: Partial<{}>;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {
hide: () => void;
show: () => void;
toggle: () => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
'update:modelValue': (modelValue: boolean) => any;
click: (event: MouseEvent) => any;
hidden: () => any;
hide: (value: BvTriggerableEvent) => any;
'hide-prevented': () => any;
show: (value: BvTriggerableEvent) => any;
'show-prevented': () => any;
shown: () => any;
toggle: () => any;
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
onShow?: ((value: BvTriggerableEvent) => any) | undefined;
onClick?: ((event: MouseEvent) => any) | undefined;
onHidden?: (() => any) | undefined;
"onUpdate:modelValue"?: ((modelValue: boolean) => any) | undefined;
onToggle?: (() => any) | undefined;
onHide?: ((value: BvTriggerableEvent) => any) | undefined;
"onHide-prevented"?: (() => any) | undefined;
"onShow-prevented"?: (() => any) | undefined;
onShown?: (() => any) | undefined;
}>, {
disabled: boolean;
id: string;
size: import('../..').Size;
text: string;
variant: import('../..').ButtonVariant | null;
role: string;
lazy: boolean;
placement: import('../../../node_modules/@floating-ui/core').Placement;
ariaLabel: string;
autoClose: boolean | "inside" | "outside";
boundary: import('@floating-ui/vue').Boundary | import('../../../node_modules/@floating-ui/core').RootBoundary;
boundaryPadding: import('../../../node_modules/@floating-ui/core').Padding;
floatingMiddleware: import('@floating-ui/vue').Middleware[];
isNav: boolean;
menuClass: import('../../types/AnyValuedAttributes').ClassValue;
noCaret: boolean;
noFlip: boolean;
noShift: boolean;
noSize: boolean;
offset: number | string | Readonly<{
mainAxis?: number;
crossAxis?: number;
alignmentAxis?: number | null;
}>;
skipWrapper: boolean;
split: boolean;
splitButtonType: import('../..').ButtonType;
splitClass: import('../../types/AnyValuedAttributes').ClassValue;
splitDisabled: boolean;
splitHref: string;
splitTo: import('vue-router').RouteLocationRaw;
splitVariant: import('../..').ButtonVariant | null;
strategy: import('../../../node_modules/@floating-ui/core').Strategy;
toggleClass: import('../../types/AnyValuedAttributes').ClassValue;
toggleText: string;
wrapperClass: import('../../types/AnyValuedAttributes').ClassValue;
teleportDisabled: boolean;
teleportTo: string | import('vue').RendererElement | null;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};