@nextcloud/vue
Version:
Nextcloud vue components
666 lines (665 loc) • 23.8 kB
TypeScript
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
/**
* The main text content of the entry.
*/
name: {
type: StringConstructor;
required: true;
};
/**
* The title attribute of the element.
*/
title: {
type: StringConstructor;
default: null;
};
/**
* Route Location the link should navigate to when clicked on.
*
* @see https://v3.router.vuejs.org/api/#to
*/
to: {
type: (ObjectConstructor | StringConstructor)[];
default: undefined;
};
/**
* Set this prop if your app doesn't use vue-router, breadcrumbs will show as normal links.
*/
href: {
type: StringConstructor;
default: undefined;
};
/**
* Set a css icon-class to show an icon along name text (if forceIconText is provided, otherwise just icon).
*/
icon: {
type: StringConstructor;
default: string;
};
/**
* Enables text to accompany the icon, if the icon was provided. The text that will be displayed is the name prop.
*/
forceIconText: {
type: BooleanConstructor;
default: boolean;
};
/**
* Disable dropping on this breadcrumb.
*/
disableDrop: {
type: BooleanConstructor;
default: boolean;
};
/**
* Force the actions to display in a three dot menu
*/
forceMenu: {
type: BooleanConstructor;
default: boolean;
};
/**
* Open state of the Actions menu
*/
open: {
type: BooleanConstructor;
default: boolean;
};
/**
* CSS class to apply to the root element.
*/
class: {
type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
default: string;
};
}>, {
actionsContainer: string;
crumbId: string;
}, {
/**
* Variable to track if we hover over the breadcrumb
*/
hovering: boolean;
}, {
/**
* The attributes to pass to `router-link` or `a`
*/
linkAttributes(): {
[x: string]: unknown;
};
}, {
/**
* Function to handle changing the open state of the Actions menu
* $emit the open state.
*
* @param {boolean} open The open state of the Actions menu
*/
onOpenChange(open: boolean): void;
/**
* Function to handle a drop on the breadcrumb.
* $emit the event and the path, remove the hovering state.
*
* @param {object} e The drop event
* @return {boolean}
*/
dropped(e: object): boolean;
/**
* Add the hovering state on drag enter
*
* @param {DragEvent} e The drag-enter event
*/
dragEnter(e: DragEvent): void;
/**
* Remove the hovering state on drag leave
*
* @param {DragEvent} e The drag leave event
*/
dragLeave(e: DragEvent): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("dragenter" | "dragleave" | "update:open" | "dropped")[], "dragenter" | "dragleave" | "update:open" | "dropped", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
/**
* The main text content of the entry.
*/
name: {
type: StringConstructor;
required: true;
};
/**
* The title attribute of the element.
*/
title: {
type: StringConstructor;
default: null;
};
/**
* Route Location the link should navigate to when clicked on.
*
* @see https://v3.router.vuejs.org/api/#to
*/
to: {
type: (ObjectConstructor | StringConstructor)[];
default: undefined;
};
/**
* Set this prop if your app doesn't use vue-router, breadcrumbs will show as normal links.
*/
href: {
type: StringConstructor;
default: undefined;
};
/**
* Set a css icon-class to show an icon along name text (if forceIconText is provided, otherwise just icon).
*/
icon: {
type: StringConstructor;
default: string;
};
/**
* Enables text to accompany the icon, if the icon was provided. The text that will be displayed is the name prop.
*/
forceIconText: {
type: BooleanConstructor;
default: boolean;
};
/**
* Disable dropping on this breadcrumb.
*/
disableDrop: {
type: BooleanConstructor;
default: boolean;
};
/**
* Force the actions to display in a three dot menu
*/
forceMenu: {
type: BooleanConstructor;
default: boolean;
};
/**
* Open state of the Actions menu
*/
open: {
type: BooleanConstructor;
default: boolean;
};
/**
* CSS class to apply to the root element.
*/
class: {
type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
default: string;
};
}>> & Readonly<{
onDragenter?: ((...args: any[]) => any) | undefined;
onDragleave?: ((...args: any[]) => any) | undefined;
"onUpdate:open"?: ((...args: any[]) => any) | undefined;
onDropped?: ((...args: any[]) => any) | undefined;
}>, {
title: string;
class: string | Record<string, any> | unknown[];
icon: string;
open: boolean;
href: string;
to: string | Record<string, any>;
forceMenu: boolean;
forceIconText: boolean;
disableDrop: boolean;
}, {}, {
NcActions: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
open: {
type: BooleanConstructor;
default: boolean;
};
manualOpen: {
type: BooleanConstructor;
default: boolean;
};
forceMenu: {
type: BooleanConstructor;
default: boolean;
};
forceName: {
type: BooleanConstructor;
default: boolean;
};
menuName: {
type: StringConstructor;
default: null;
};
primary: {
type: BooleanConstructor;
default: boolean;
};
defaultIcon: {
type: StringConstructor;
default: string;
};
ariaLabel: {
type: StringConstructor;
default: string;
};
placement: {
type: StringConstructor;
default: string;
};
boundariesElement: {
type: {
new (): Element;
prototype: Element;
};
default: () => HTMLElement | null;
};
container: {
type: (ObjectConstructor | BooleanConstructor | StringConstructor | {
new (): Element;
prototype: Element;
})[];
default: string;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
inline: {
type: NumberConstructor;
default: number;
};
variant: {
type: StringConstructor;
validator(value: unknown): boolean;
default: null;
};
size: {
type: StringConstructor;
default: string;
validator(value: unknown): boolean;
};
}>, {
randomId: string;
}, {
opened: boolean;
focusIndex: number;
actionsMenuSemanticType: "menu" | "navigation" | "dialog" | "tooltip" | "unknown";
}, {
triggerButtonVariant(): string;
config(): {
popupRole: string;
withArrowNavigation: boolean;
withTabNavigation: boolean;
withFocusTrap: boolean;
} | {
popupRole: undefined;
withArrowNavigation: boolean;
withTabNavigation: boolean;
withFocusTrap: boolean;
} | {
popupRole: string;
withArrowNavigation: boolean;
withTabNavigation: boolean;
withFocusTrap: boolean;
} | {
popupRole: undefined;
withArrowNavigation: boolean;
withTabNavigation: boolean;
withFocusTrap: boolean;
} | {
popupRole: undefined;
role: undefined;
withArrowNavigation: boolean;
withTabNavigation: boolean;
withFocusTrap: boolean;
};
withFocusTrap(): boolean;
}, {
getActionName(action: import('vue').VNode): string;
isValidSingleAction(action: import('vue').VNode): boolean;
isAction(action: any): boolean;
isIconUrl(url: string): boolean;
toggleMenu(state: any): void;
openMenu(): void;
closeMenu(returnFocus?: boolean): Promise<void>;
onOpened(): void;
onClosed(): void;
getCurrentActiveMenuItemElement(): HTMLElement | null;
getFocusableMenuItemElements(): NodeList<HTMLElement>;
onKeydown(event: object): void;
onTriggerKeydown(event: any): void;
handleEscapePressed(event: any): void;
removeCurrentActive(): void;
focusAction(): void;
focusPreviousAction(event: any): void;
focusNextAction(event: any): void;
focusFirstAction(event: any): void;
focusLastAction(event: any): void;
preventIfEvent(event: any): void;
onFocus(event: any): void;
onBlur(event: any): void;
onClick(event: any): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("blur" | "click" | "close" | "focus" | "open" | "closed" | "opened" | "update:open")[], "blur" | "click" | "close" | "focus" | "open" | "closed" | "opened" | "update:open", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
open: {
type: BooleanConstructor;
default: boolean;
};
manualOpen: {
type: BooleanConstructor;
default: boolean;
};
forceMenu: {
type: BooleanConstructor;
default: boolean;
};
forceName: {
type: BooleanConstructor;
default: boolean;
};
menuName: {
type: StringConstructor;
default: null;
};
primary: {
type: BooleanConstructor;
default: boolean;
};
defaultIcon: {
type: StringConstructor;
default: string;
};
ariaLabel: {
type: StringConstructor;
default: string;
};
placement: {
type: StringConstructor;
default: string;
};
boundariesElement: {
type: {
new (): Element;
prototype: Element;
};
default: () => HTMLElement | null;
};
container: {
type: (ObjectConstructor | BooleanConstructor | StringConstructor | {
new (): Element;
prototype: Element;
})[];
default: string;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
inline: {
type: NumberConstructor;
default: number;
};
variant: {
type: StringConstructor;
validator(value: unknown): boolean;
default: null;
};
size: {
type: StringConstructor;
default: string;
validator(value: unknown): boolean;
};
}>> & Readonly<{
onFocus?: ((...args: any[]) => any) | undefined;
onBlur?: ((...args: any[]) => any) | undefined;
onClick?: ((...args: any[]) => any) | undefined;
onClose?: ((...args: any[]) => any) | undefined;
onOpen?: ((...args: any[]) => any) | undefined;
onClosed?: ((...args: any[]) => any) | undefined;
onOpened?: ((...args: any[]) => any) | undefined;
"onUpdate:open"?: ((...args: any[]) => any) | undefined;
}>, {
size: string;
disabled: boolean;
open: boolean;
primary: boolean;
ariaLabel: string;
variant: string;
inline: number;
placement: string;
container: string | boolean | Element | Record<string, any>;
manualOpen: boolean;
forceMenu: boolean;
forceName: boolean;
menuName: string;
defaultIcon: string;
boundariesElement: Element;
}, {}, {
NcButton: {
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
alignment?: import('../NcButton/NcButton.vue').ButtonAlignment;
ariaLabel?: string;
disabled?: boolean;
download?: string | true;
href?: string;
pressed?: boolean | undefined;
size?: import('../NcButton/NcButton.vue').ButtonSize;
target?: string;
text?: string;
to?: import('vue-router').RouteLocationRaw;
type?: import('../NcButton/NcButton.vue').ButtonType;
variant?: import('../NcButton/NcButton.vue').ButtonVariant;
wide?: boolean;
}> & Readonly<{
onClick?: ((e: MouseEvent) => any) | undefined;
"onUpdate:pressed"?: ((pressed: boolean) => any) | undefined;
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
click: (e: MouseEvent) => any;
"update:pressed": (pressed: boolean) => any;
}, import('vue').PublicProps, {
size: import('../NcButton/NcButton.vue').ButtonSize;
type: import('../NcButton/NcButton.vue').ButtonType;
text: string;
alignment: import('../NcButton/NcButton.vue').ButtonAlignment;
ariaLabel: string;
download: string | true;
href: string;
pressed: boolean;
target: string;
to: import('vue-router').RouteLocationRaw;
variant: import('../NcButton/NcButton.vue').ButtonVariant;
}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly<{
alignment?: import('../NcButton/NcButton.vue').ButtonAlignment;
ariaLabel?: string;
disabled?: boolean;
download?: string | true;
href?: string;
pressed?: boolean | undefined;
size?: import('../NcButton/NcButton.vue').ButtonSize;
target?: string;
text?: string;
to?: import('vue-router').RouteLocationRaw;
type?: import('../NcButton/NcButton.vue').ButtonType;
variant?: import('../NcButton/NcButton.vue').ButtonVariant;
wide?: boolean;
}> & Readonly<{
onClick?: ((e: MouseEvent) => any) | undefined;
"onUpdate:pressed"?: ((pressed: boolean) => any) | undefined;
}>, {}, {}, {}, {}, {
size: import('../NcButton/NcButton.vue').ButtonSize;
type: import('../NcButton/NcButton.vue').ButtonType;
text: string;
alignment: import('../NcButton/NcButton.vue').ButtonAlignment;
ariaLabel: string;
download: string | true;
href: string;
pressed: boolean;
target: string;
to: import('vue-router').RouteLocationRaw;
variant: import('../NcButton/NcButton.vue').ButtonVariant;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & import('vue').ComponentOptionsBase<Readonly<{
alignment?: import('../NcButton/NcButton.vue').ButtonAlignment;
ariaLabel?: string;
disabled?: boolean;
download?: string | true;
href?: string;
pressed?: boolean | undefined;
size?: import('../NcButton/NcButton.vue').ButtonSize;
target?: string;
text?: string;
to?: import('vue-router').RouteLocationRaw;
type?: import('../NcButton/NcButton.vue').ButtonType;
variant?: import('../NcButton/NcButton.vue').ButtonVariant;
wide?: boolean;
}> & Readonly<{
onClick?: ((e: MouseEvent) => any) | undefined;
"onUpdate:pressed"?: ((pressed: boolean) => any) | undefined;
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
click: (e: MouseEvent) => any;
"update:pressed": (pressed: boolean) => any;
}, string, {
size: import('../NcButton/NcButton.vue').ButtonSize;
type: import('../NcButton/NcButton.vue').ButtonType;
text: string;
alignment: import('../NcButton/NcButton.vue').ButtonAlignment;
ariaLabel: string;
download: string | true;
href: string;
pressed: boolean;
target: string;
to: import('vue-router').RouteLocationRaw;
variant: import('../NcButton/NcButton.vue').ButtonVariant;
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
$slots: Readonly<{
default?: import('vue').Slot;
icon?: import('vue').Slot;
}> & {
default?: import('vue').Slot;
icon?: import('vue').Slot;
};
});
NcPopover: import('vue').DefineSetupFnComponent<Record<string, any>, {}, {}, Record<string, any> & {}, import('vue').PublicProps>;
}, {}, string, () => {
[x: symbol]: import('vue').ComputedRef<boolean> | ((returnFocus?: boolean) => Promise<void>);
}, true, {}, any>;
ChevronRight: any;
NcButton: {
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
alignment?: import('../NcButton/NcButton.vue').ButtonAlignment;
ariaLabel?: string;
disabled?: boolean;
download?: string | true;
href?: string;
pressed?: boolean | undefined;
size?: import('../NcButton/NcButton.vue').ButtonSize;
target?: string;
text?: string;
to?: import('vue-router').RouteLocationRaw;
type?: import('../NcButton/NcButton.vue').ButtonType;
variant?: import('../NcButton/NcButton.vue').ButtonVariant;
wide?: boolean;
}> & Readonly<{
onClick?: ((e: MouseEvent) => any) | undefined;
"onUpdate:pressed"?: ((pressed: boolean) => any) | undefined;
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
click: (e: MouseEvent) => any;
"update:pressed": (pressed: boolean) => any;
}, import('vue').PublicProps, {
size: import('../NcButton/NcButton.vue').ButtonSize;
type: import('../NcButton/NcButton.vue').ButtonType;
text: string;
alignment: import('../NcButton/NcButton.vue').ButtonAlignment;
ariaLabel: string;
download: string | true;
href: string;
pressed: boolean;
target: string;
to: import('vue-router').RouteLocationRaw;
variant: import('../NcButton/NcButton.vue').ButtonVariant;
}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly<{
alignment?: import('../NcButton/NcButton.vue').ButtonAlignment;
ariaLabel?: string;
disabled?: boolean;
download?: string | true;
href?: string;
pressed?: boolean | undefined;
size?: import('../NcButton/NcButton.vue').ButtonSize;
target?: string;
text?: string;
to?: import('vue-router').RouteLocationRaw;
type?: import('../NcButton/NcButton.vue').ButtonType;
variant?: import('../NcButton/NcButton.vue').ButtonVariant;
wide?: boolean;
}> & Readonly<{
onClick?: ((e: MouseEvent) => any) | undefined;
"onUpdate:pressed"?: ((pressed: boolean) => any) | undefined;
}>, {}, {}, {}, {}, {
size: import('../NcButton/NcButton.vue').ButtonSize;
type: import('../NcButton/NcButton.vue').ButtonType;
text: string;
alignment: import('../NcButton/NcButton.vue').ButtonAlignment;
ariaLabel: string;
download: string | true;
href: string;
pressed: boolean;
target: string;
to: import('vue-router').RouteLocationRaw;
variant: import('../NcButton/NcButton.vue').ButtonVariant;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & import('vue').ComponentOptionsBase<Readonly<{
alignment?: import('../NcButton/NcButton.vue').ButtonAlignment;
ariaLabel?: string;
disabled?: boolean;
download?: string | true;
href?: string;
pressed?: boolean | undefined;
size?: import('../NcButton/NcButton.vue').ButtonSize;
target?: string;
text?: string;
to?: import('vue-router').RouteLocationRaw;
type?: import('../NcButton/NcButton.vue').ButtonType;
variant?: import('../NcButton/NcButton.vue').ButtonVariant;
wide?: boolean;
}> & Readonly<{
onClick?: ((e: MouseEvent) => any) | undefined;
"onUpdate:pressed"?: ((pressed: boolean) => any) | undefined;
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
click: (e: MouseEvent) => any;
"update:pressed": (pressed: boolean) => any;
}, string, {
size: import('../NcButton/NcButton.vue').ButtonSize;
type: import('../NcButton/NcButton.vue').ButtonType;
text: string;
alignment: import('../NcButton/NcButton.vue').ButtonAlignment;
ariaLabel: string;
download: string | true;
href: string;
pressed: boolean;
target: string;
to: import('vue-router').RouteLocationRaw;
variant: import('../NcButton/NcButton.vue').ButtonVariant;
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
$slots: Readonly<{
default?: import('vue').Slot;
icon?: import('vue').Slot;
}> & {
default?: import('vue').Slot;
icon?: import('vue').Slot;
};
});
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;