UNPKG

@extclp/vexip-ui

Version:

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

49 lines (48 loc) 1.56 kB
import { InjectionKey } from 'vue'; export type VideoPresetControl = 'play' | 'play-prev' | 'play-next' | 'refresh' | 'timer' | 'playback-rate' | 'flip' | 'volume' | 'pip' | 'full-window' | 'full-browser'; export type VideoShortcutOptions = Partial<Record<VideoPresetControl, string>>; export type VideoControlName = VideoPresetControl | (string & {}); export type VideoControlConfig = VideoControlName | [VideoControlName, any]; export interface VideoControlLayout { left?: VideoControlConfig[]; center?: VideoControlConfig[]; right?: VideoControlConfig[]; } export interface VideoPlaybackRate { label?: string; value: number; } export type VideoControlType = 'button' | 'select' | 'panel'; export interface VideoControlOption { value: string | number; label?: string; selectedLabel?: string; disabled?: boolean; divided?: boolean; title?: string; } export interface VideoSegment { time: number; title?: string; } export interface VideoState { placeId?: string; iconScale: number; addShortcut: (key: string, cb: () => void) => () => void; } export interface VideoSlots { poster?: () => any; } export declare const videoDefaultControlLayout: Readonly<Required<VideoControlLayout>>; export declare const videoDefaultShortcuts: Readonly<{ play: "Space"; 'play-prev': "PageUp"; 'play-next': "PageDown"; refresh: "R"; flip: "C"; volume: "M"; pip: "P"; 'full-window': "G"; 'full-browser': "F"; }>; export declare const VIDEO_STATE: InjectionKey<VideoState>;