UNPKG

vxe-pc-ui

Version:
121 lines (98 loc) 3.75 kB
import { RenderFunction, SetupContext, Ref } from 'vue' import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentAlignType, VxeComponentBaseOptions, VxeComponentEventParams } from '@vxe-ui/core' /* eslint-disable no-use-before-define,@typescript-eslint/ban-types */ export declare const VxeWatermark: DefineVxeComponentApp<VxeWatermarkProps, VxeWatermarkEventProps, VxeWatermarkSlots> export type VxeWatermarkComponent = DefineVxeComponentOptions<VxeWatermarkProps, VxeWatermarkEventProps> export type VxeWatermarkInstance = DefineVxeComponentInstance<VxeWatermarkProps, VxeWatermarkConstructor> export interface VxeWatermarkConstructor extends VxeComponentBaseOptions, VxeWatermarkMethods { props: VxeWatermarkProps context: SetupContext<VxeWatermarkEmits> reactData: WatermarkReactData getRefMaps(): WatermarkPrivateRef getComputeMaps(): WatermarkPrivateComputed renderVN: RenderFunction } export interface WatermarkPrivateRef { refElem: Ref<HTMLDivElement | undefined> } export interface VxeWatermarkPrivateRef extends WatermarkPrivateRef { } export namespace VxeWatermarkPropTypes { export type Width = number | string export type Height = number | string export type ImageUrl = string export type Rotate = number | string export type Gap = number | string | (number | string)[] export type Content = number | string | VxeWatermarkDefines.ContentConf | (number | string | VxeWatermarkDefines.ContentConf)[] export type Font = { fontSize?: number | string color?: string align?: VxeComponentAlignType fontWeight?: number | 'normal' | 'bolder' | 'bold' | 'lighter' fontFamily?: string fontStyle?: 'normal' | 'italic' | 'oblique' } export type Offset = number | string | (number | string)[] export type ZIndex = number | string } export interface VxeWatermarkProps { width?: VxeWatermarkPropTypes.Width height?: VxeWatermarkPropTypes.Height imageUrl?: VxeWatermarkPropTypes.ImageUrl rotate?: VxeWatermarkPropTypes.Rotate gap?: VxeWatermarkPropTypes.Gap content?: VxeWatermarkPropTypes.Content font?: VxeWatermarkPropTypes.Font offset?: VxeWatermarkPropTypes.Offset zIndex?: VxeWatermarkPropTypes.ZIndex } export interface WatermarkPrivateComputed { } export interface VxeWatermarkPrivateComputed extends WatermarkPrivateComputed { } export interface WatermarkReactData { markUrl: string } export interface WatermarkMethods { } export interface VxeWatermarkMethods extends WatermarkMethods { } export interface WatermarkPrivateMethods { } export interface VxeWatermarkPrivateMethods extends WatermarkPrivateMethods { } export type VxeWatermarkEmits = [] export namespace VxeWatermarkDefines { export interface WatermarkEventParams extends VxeComponentEventParams { $watermark: VxeWatermarkConstructor } export interface ContentConf { font?: VxeWatermarkPropTypes.Font textContent: string } export interface ContentObj { text: string fontSize: number font: VxeWatermarkPropTypes.Font | undefined width: number height: number } } export type VxeWatermarkEventProps = {} export interface VxeWatermarkListeners { } export namespace VxeWatermarkEvents { } export namespace VxeWatermarkSlotTypes { } export interface VxeWatermarkSlots { } /** * 全局水印控制器 */ export interface WatermarkController { /** * 加载水印 * @param options 参数 */ load(options: VxeWatermarkProps): Promise<any> /** * 清除水印 */ clear(): Promise<any> } export const Watermark: typeof VxeWatermark export default VxeWatermark