@fifteen/design-system-vue
Version:
Vue 3 (Composition API + Typescript) implementation of the Fifteen Design System
100 lines (99 loc) • 2.56 kB
TypeScript
import { Color } from '../types/colors';
export interface FLinkProps {
/**
* 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 href
*/
href?: HTMLAnchorElement['href'];
/**
* Language of the linked URL
*/
hreflang?: HTMLAnchorElement['hreflang'];
/**
* Link target
*/
target?: HTMLAnchorElement['target'];
/**
* Role "button" (aria attribute) for a11y purposes
*/
role?: 'button';
/**
* Set tabindex independently of href (It is always set to -1 if disabled)
*/
tabindex?: string | number;
}
declare function __VLS_template(): {
slots: {
default?(_: {}): any;
};
refs: {
linkRef: unknown;
};
attrs: Partial<{}>;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<FLinkProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
blur: (e: FocusEvent) => any;
click: (e: MouseEvent) => any;
focus: (e: FocusEvent) => any;
}, string, import('vue').PublicProps, Readonly<FLinkProps> & Readonly<{
onBlur?: ((e: FocusEvent) => any) | undefined;
onClick?: ((e: MouseEvent) => any) | undefined;
onFocus?: ((e: FocusEvent) => any) | undefined;
}>, {
color: Color;
hoverColor: Color;
href: HTMLAnchorElement["href"];
hreflang: HTMLAnchorElement["hreflang"];
target: HTMLAnchorElement["target"];
arrowColor: Color;
arrowHoverColor: Color;
disabled: boolean;
hideArrow: boolean;
underlined: boolean;
uppercase: boolean;
role: "button";
tabindex: string | number;
}, {}, {}, {}, 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;
};
};