react-vegas
Version:
Vegas.js for React
54 lines (51 loc) • 2.85 kB
text/typescript
// Vegas组件的Props类型定义
export interface VegasProps {
slide?: number; // 初始幻灯片索引
delay?: number; // 切换延迟时间(毫秒)
loop?: boolean; // 是否循环播放
preload?: boolean; // 是否预加载资源
preloadImage?: boolean; // 是否预加载图片
preLoadImageBatch?: number; // 批量预加载图片数量
preloadVideo?: boolean; // 是否预加载视频
showLoading?: boolean; // 是否显示加载指示器
timer?: boolean; // 是否显示计时器
overlay?: boolean; // 是否显示遮罩层
autoplay?: boolean; // 是否自动播放
shuffle?: boolean; // 是否随机播放
cover?: boolean; // 是否覆盖整个容器
color?: string | null; // 背景颜色
align?: "left" | "center" | "right"; // 水平对齐方式
valign?: "top" | "center" | "bottom"; // 垂直对齐方式
firstTransition?: string | null; // 第一次切换动画
firstTransitionDuration?: number; // 第一次切换动画持续时间
transition?: string; // 切换动画类型
transitionDuration?: number; // 切换动画持续时间
transitionRegister?: string[]; // 自定义切换动画注册
animation?: string | null; // 幻灯片动画类型
animationRegister?: string[]; // 自定义幻灯片动画注册
slidesToKeep?: number; // 保持的幻灯片数量
defaultBackground?: string | object; // 默认背景图
defaultBackgroundDuration?: number; // 默认背景图与第一张幻灯片间隔时间
debug?: boolean; // 是否启用日志
slides: Array<SlideProps>;
onInit?: () => void; // 初始化回调
onPlay?: () => void; // 播放回调
onPause?: () => void; // 暂停回调
onWalk?: () => void; // 切换回调
}
export interface SlideProps {
src: string; // 图片/视频源地址
color?: string | null; // 幻灯片背景色
delay?: number | null; // 当前幻灯片延迟时间
align?: "left" | "center" | "right"; // 当前幻灯片水平对齐
valign?: "top" | "center" | "bottom"; // 当前幻灯片垂直对齐
transition?: string | null; // 当前幻灯片切换动画
transitionDuration?: number | null; // 当前幻灯片切换动画持续时间
cover?: boolean; // 当前幻灯片是否覆盖
video?: {
src: string[]; // 视频源地址数组
muted?: boolean; // 是否静音
loop?: boolean; // 是否循环播放
};
}
export type Logger = (message: string, ...args: unknown[]) => void;