@extclp/vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
58 lines (57 loc) • 3.52 kB
TypeScript
import { ExtractPropTypes, PropType } from 'vue';
import { FullScreenType } from '../full-screen';
import { ConfigurableProps } from '@vexip-ui/config';
import { VideoControlLayout, VideoControlOption, VideoPlaybackRate, VideoSegment, VideoShortcutOptions, VideoSlots } from './symbol';
export declare const videoProps: {
inherit: PropType<boolean>;
src: PropType<string>;
srcList: PropType<string[]>;
noControls: PropType<boolean>;
videoAttrs: PropType<any>;
time: PropType<number>;
volume: PropType<number>;
playbackRate: PropType<number>;
playbackRates: PropType<(number | VideoPlaybackRate)[]>;
controlLayout: PropType<VideoControlLayout>;
poster: PropType<string>;
video: PropType<HTMLVideoElement>;
segments: PropType<(number | VideoSegment)[]>;
loading: PropType<boolean>;
loadingIcon: PropType<any>;
loadingEffect: PropType<string>;
shortcuts: PropType<VideoShortcutOptions>;
slots: PropType<VideoSlots>;
onPlay: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
onPause: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
onEnded: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
onTimeChange: PropType<((time: number) => void) | ((time: number) => void)[]>;
onVolumeChange: PropType<((volume: number) => void) | ((volume: number) => void)[]>;
onRateChange: PropType<((rate: number) => void) | ((rate: number) => void)[]>;
onToggleFlip: PropType<((flip: boolean) => void) | ((flip: boolean) => void)[]>;
onTogglePip: PropType<((pip: boolean) => void) | ((pip: boolean) => void)[]>;
onToggleFull: PropType<((full: false | FullScreenType) => void) | ((full: false | FullScreenType) => void)[]>;
onPrev: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
onNext: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
onRefresh: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
};
export type VideoProps = ExtractPropTypes<typeof videoProps>;
export type VideoCProps = ConfigurableProps<ExtractPropTypes<typeof videoProps>>;
export declare const videoControlProps: {
inherit: PropType<boolean>;
type: PropType<"select" | "button" | "panel">;
label: PropType<string>;
tipClass: PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
disabled: PropType<boolean>;
shortcut: PropType<string>;
focusable: PropType<boolean>;
value: PropType<string | number>;
options: PropType<(string | VideoControlOption)[]>;
onClick: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
onEnter: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
onLeave: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
onFocus: PropType<((event: FocusEvent) => void) | ((event: FocusEvent) => void)[]>;
onBlur: PropType<((event: FocusEvent) => void) | ((event: FocusEvent) => void)[]>;
onSelect: PropType<((option: VideoControlOption) => void) | ((option: VideoControlOption) => void)[]>;
};
export type VideoControlProps = ExtractPropTypes<typeof videoControlProps>;
export type VideoControlCProps = ConfigurableProps<ExtractPropTypes<typeof videoControlProps>>;