maz-ui
Version:
A standalone components library for Vue.Js 3 & Nuxt.Js 3
87 lines (86 loc) • 2.78 kB
TypeScript
import type { RouteLocationRaw } from 'vue-router';
import type { Color, Icon } from './types';
export interface MazLinkProps {
/** The id of the link */
id?: string;
/** The title of the link */
title?: string;
/**
* The href of the link
* @default undefined
*/
href?: string;
/** The route location (router-link) of the link */
to?: RouteLocationRaw;
/**
* The color of the link
* @default 'primary'
*/
color?: Color;
/**
* The target of the link
* @default '_self'
* @values '_blank', '_self', '_parent', '_top'
*/
target?: '_blank' | '_self' | '_parent' | '_top' | string;
/** The download of the link */
download?: string;
/** The rel of the link */
rel?: string;
/** The aria-label of the link */
ariaLabel?: string;
/** Add an underline to the link */
underline?: boolean;
/** Add an underline only on hover */
underlineOnlyHover?: boolean;
/**
* Add an external icon to the link if target is '_blank'
* @default true
*/
autoExternal?: boolean;
/**
* The name of the icon or component to display on the left of the text
* `@type` `{string | FunctionalComponent<SVGAttributes> | ComponentPublicInstance | Component}`
*/
leftIcon?: string | Icon;
/**
* The name of the icon or component to display on the right of the text
* `@type` `{string | FunctionalComponent<SVGAttributes> | ComponentPublicInstance | Component}`
*/
rightIcon?: string | Icon;
}
declare function __VLS_template(): {
attrs: Partial<{}>;
slots: {
"left-icon"?(_: {}): any;
default?(_: {}): any;
"right-icon"?(_: {}): any;
"external-icon"?(_: {}): any;
};
refs: {};
rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import("vue").DefineComponent<MazLinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MazLinkProps> & Readonly<{}>, {
title: string;
color: Color;
leftIcon: string | Icon;
rightIcon: string | Icon;
href: string;
to: RouteLocationRaw;
id: string;
target: "_blank" | "_self" | "_parent" | "_top" | string;
underline: boolean;
download: string;
rel: string;
ariaLabel: string;
underlineOnlyHover: boolean;
autoExternal: boolean;
}, {}, {}, {}, 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;
};
};