UNPKG

@extclp/vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

44 lines (43 loc) 1.73 kB
import { ClassType, StyleType } from '@vexip-ui/config'; export type ViewerToolbarPlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end'; export type ViewerPresetAction = 'rotate-right' | 'rotate-left' | 'flip-x' | 'flip-y' | 'zoom-in' | 'zoom-out' | 'full-screen' | 'full-screen-exit' | 'reset'; export type ViewerActionName = ViewerPresetAction | (string & {}); export type ViewerActionLayout = ViewerActionName[][]; export interface ViewerState { x: number; y: number; zoom: number; rotate: number; flipX: boolean; flipY: boolean; full: boolean; moving: boolean; [custom: string]: unknown; } export interface ViewerToolbarAction { name: string; process: (state: ViewerState) => void; icon?: Record<string, any> | (() => any); iconRenderer?: (data: { state: ViewerState; }) => any; class?: ClassType | ((state: ViewerState) => string); title?: string | ((state: ViewerState) => string); iconScale?: number | ((state: ViewerState) => number); iconStyle?: StyleType | ((state: ViewerState) => StyleType); /** @deprecated */ divided?: boolean | ((state: ViewerState) => boolean); hidden?: boolean | ((state: ViewerState) => boolean); disabled?: boolean | ((state: ViewerState) => boolean); } export declare const enum InternalActionName { RotateRight = "rotate-right", RotateLeft = "rotate-left", FlipX = "flip-x", FlipY = "flip-y", ZoomIn = "zoom-in", ZoomOut = "zoom-out", FullScreen = "full-screen", Reset = "reset" } export declare const viewerDefaultActionLayout: ViewerActionLayout;