UNPKG

@extclp/vexip-ui

Version:

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

51 lines (50 loc) 1.36 kB
import { InjectionKey } from 'vue'; import { ClassType, StyleType } from '@vexip-ui/config'; import { SkeletonProps } from '../skeleton'; export type ImageObjectFit = 'fill' | 'contain' | 'cover' | 'none' | 'scale-down'; export type ImageSkeletonProps = Pick<SkeletonProps, 'tag' | 'activated' | 'iconScale' | 'imageIcon'> & { class?: ClassType; StyleType?: StyleType; }; export interface ImageState { src: string; index: number; total: number; } export interface GroupState { showAll: boolean; preview: boolean; increaseItem: (item: ImageState) => void; decreaseItem: (item: ImageState) => void; handlePreview: (item: ImageState) => void; } export interface ImageSlots { placeholder?: () => any; error?: () => any; preview?: (params: { src: string; }) => any; } export interface ImageGroupSlots { /** * @internal */ default?: () => any; preview?: (params: { src: string; }) => any; } export interface ImageViewerSlots { default?: (params: { src: string; }) => any; prev?: (params: { disabled: boolean; }) => any; next?: (params: { disabled: boolean; }) => any; close?: () => any; } export declare const GROUP_STATE: InjectionKey<GroupState>; export declare const objectFitValues: readonly ImageObjectFit[];