@fifteen/design-system-vue
Version:
Vue 3 (Composition API + Typescript) implementation of the Fifteen Design System
108 lines (107 loc) • 2.83 kB
TypeScript
import { RouteLocationRaw } from 'vue-router';
import { Color } from '../../types/colors';
export interface FRouterLinkProps {
/**
* Target location or url
*/
location?: RouteLocationRaw | null;
/**
* Color of the link
*/
color?: Color;
/**
* Color of the link on hover
*/
hoverColor?: Color;
/**
* Color of the arrow
*/
arrowColor?: Color;
/**
* Color of the arrow on hover
*/
arrowHoverColor?: Color;
/**
* Use preventDefault on click event
*/
prevent?: boolean;
/**
* Disable or not the link
*/
disabled?: boolean;
/**
* Hide the arrow
*/
hideArrow?: boolean;
/**
* Underline the link
*/
underlined?: boolean;
/**
* Transform the link to uppercase
*/
uppercase?: boolean;
/**
* Link target, overrides the one computed automatically on location
*/
target?: HTMLAnchorElement['target'];
/**
* Link hreflang, overrides the one computed automatically on location
*/
hreflang?: HTMLAnchorElement['hreflang'];
/**
* Role "button" (aria attribute) for a11y purposes
*/
role?: 'button';
/**
* RouterLink-like active class
*/
activeClass?: string | null;
/**
* RouterLink-link exact active class
*/
exactActiveClass?: string | null;
/**
* RouterLink replace prop
*/
replace?: boolean;
}
declare function __VLS_template(): {
slots: {
default?(_: {}): any;
default?(_: {}): any;
};
refs: {};
attrs: Partial<{}>;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<FRouterLinkProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
click: (e: MouseEvent) => any;
focus: (e: Event) => any;
}, string, import('vue').PublicProps, Readonly<FRouterLinkProps> & Readonly<{
onClick?: ((e: MouseEvent) => any) | undefined;
onFocus?: ((e: Event) => any) | undefined;
}>, {
color: Color;
hoverColor: Color;
replace: boolean;
hreflang: HTMLAnchorElement["hreflang"];
target: HTMLAnchorElement["target"];
arrowColor: Color;
arrowHoverColor: Color;
disabled: boolean;
hideArrow: boolean;
underlined: boolean;
uppercase: boolean;
role: "button";
location: RouteLocationRaw | null;
activeClass: string | null;
exactActiveClass: string | 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;
};
};