UNPKG

vxe-pc-ui

Version:
110 lines (89 loc) 3.47 kB
import { RenderFunction, SetupContext, Ref } from 'vue' import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentBaseOptions, VxeComponentEventParams, VxeComponentSizeType, VxeComponentPermissionCodeType, ValueOf, VxeComponentStatusType } from '@vxe-ui/core' /* eslint-disable no-use-before-define,@typescript-eslint/ban-types */ export declare const VxeLink: DefineVxeComponentApp<VxeLinkProps, VxeLinkEventProps, VxeLinkSlots> export type VxeLinkComponent = DefineVxeComponentOptions<VxeLinkProps, VxeLinkEventProps> export type VxeLinkInstance = DefineVxeComponentInstance<VxeLinkProps, VxeLinkConstructor> export interface VxeLinkConstructor extends VxeComponentBaseOptions, VxeLinkMethods { props: VxeLinkProps context: SetupContext<VxeLinkEmits> reactData: LinkReactData getRefMaps(): LinkPrivateRef getComputeMaps(): LinkPrivateComputed renderVN: RenderFunction } export interface LinkPrivateRef { refElem: Ref<HTMLDivElement | undefined> } export interface VxeLinkPrivateRef extends LinkPrivateRef { } export namespace VxeLinkPropTypes { export type Href = null | string export type Target = null | '' | '_blank' | '_self' | '_parent' | '_top' export type Status = VxeComponentStatusType export type Title = string | number export type Icon = string export type RouterLink = { path?: string name?: string | number | null query?: any params?: any target?: null | '' | '_blank' | '_self' | '_parent' | '_top' } export type Underline = boolean export type PermissionCode = VxeComponentPermissionCodeType export type Content = string | number export type Size = VxeComponentSizeType } export interface VxeLinkProps { href?: VxeLinkPropTypes.Href target?: VxeLinkPropTypes.Target status?: VxeLinkPropTypes.Status title?: VxeLinkPropTypes.Title icon?: VxeLinkPropTypes.Icon routerLink?: VxeLinkPropTypes.RouterLink underline?: VxeLinkPropTypes.Underline /** * 权限码 */ permissionCode?: VxeLinkPropTypes.PermissionCode content?: VxeLinkPropTypes.Content size?: VxeLinkPropTypes.Size } export interface LinkPrivateComputed { } export interface VxeLinkPrivateComputed extends LinkPrivateComputed { } export interface LinkReactData { } export interface LinkMethods { dispatchEvent(type: ValueOf<VxeLinkEmits>, params: Record<string, any>, evnt: Event | null): void } export interface VxeLinkMethods extends LinkMethods { } export interface LinkPrivateMethods { } export interface VxeLinkPrivateMethods extends LinkPrivateMethods { } export type VxeLinkEmits = [ 'click' ] export namespace VxeLinkDefines { export interface LinkEventParams extends VxeComponentEventParams { $link: VxeLinkConstructor } export interface ClickEventParams extends LinkEventParams { } } export type VxeLinkEventProps = { onClick?: VxeLinkEvents.Click } export interface VxeLinkListeners { click?: VxeLinkEvents.Click } export namespace VxeLinkEvents { export type Click = (params: VxeLinkDefines.ClickEventParams) => void } export namespace VxeLinkSlotTypes { export interface DefaultSlotParams {} } export interface VxeLinkSlots { default?: (params: VxeLinkSlotTypes.DefaultSlotParams) => any icon?: (params: VxeLinkSlotTypes.DefaultSlotParams) => any } export const Link: typeof VxeLink export default VxeLink