UNPKG

vue-danmaku

Version:

基于 Vue 的弹幕交互组件 | A danmaku component for Vue

246 lines (245 loc) 6.07 kB
import { PropType } from 'vue'; import { Danmu } from './typings/Danmaku'; declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ /** * 弹幕列表数据 */ danmus: { type: PropType<Danmu[]>; required: true; default: () => never[]; }; /** * 轨道数量,0为最大轨道数量(撑满容器) */ channels: { type: NumberConstructor; default: number; }; /** * 是否自动播放 */ autoplay: { type: BooleanConstructor; default: boolean; }; /** * 是否循环播放 */ loop: { type: BooleanConstructor; default: boolean; }; /** * 循环模式下是否避免重复弹幕 */ loopOnly: { type: BooleanConstructor; default: boolean; }; /** * 是否开启随机轨道注入弹幕 */ randomChannel: { type: BooleanConstructor; default: boolean; }; /** * 是否开启悬浮暂停 */ isSuspend: { type: BooleanConstructor; default: boolean; }; /** * 性能模式,启用时使用requestAnimationFrame代替CSS动画 */ performanceMode: { type: BooleanConstructor; default: boolean; }; /** * 弹幕刷新频率(ms) */ debounce: { type: NumberConstructor; default: number; }; /** * 弹幕速度(像素/秒) */ speeds: { type: NumberConstructor; default: number; }; /** * 弹幕垂直间距 */ top: { type: NumberConstructor; default: number; }; /** * 弹幕水平间距 */ right: { type: NumberConstructor; default: number; }; /** * 弹幕默认层级 */ zIndex: { type: NumberConstructor; default: number; }; /** * 是否自动监听容器大小变化 */ autoResize: { type: BooleanConstructor; default: boolean; }; }>, { container: import("vue").Ref<HTMLDivElement, HTMLDivElement>; dmContainer: import("vue").Ref<HTMLDivElement, HTMLDivElement>; hidden: import("vue").Ref<boolean, boolean>; paused: import("vue").Ref<boolean, boolean>; danmuList: import("vue").Ref<Danmu[], Danmu[]>; getPlayState: () => boolean; getMaxChannels: () => number; resize: () => void; play: () => void; pause: () => void; stop: () => void; show: () => void; hide: () => void; clear: () => void; reset: () => void; addDanmu: (danmu: Danmu, position?: 'current' | 'end') => number; insert: (dm?: Danmu) => void; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("list-end" | "play-end" | "dm-over" | "dm-out" | "dm-click" | "dm-remove" | "error")[], "list-end" | "play-end" | "dm-over" | "dm-out" | "dm-click" | "dm-remove" | "error", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ /** * 弹幕列表数据 */ danmus: { type: PropType<Danmu[]>; required: true; default: () => never[]; }; /** * 轨道数量,0为最大轨道数量(撑满容器) */ channels: { type: NumberConstructor; default: number; }; /** * 是否自动播放 */ autoplay: { type: BooleanConstructor; default: boolean; }; /** * 是否循环播放 */ loop: { type: BooleanConstructor; default: boolean; }; /** * 循环模式下是否避免重复弹幕 */ loopOnly: { type: BooleanConstructor; default: boolean; }; /** * 是否开启随机轨道注入弹幕 */ randomChannel: { type: BooleanConstructor; default: boolean; }; /** * 是否开启悬浮暂停 */ isSuspend: { type: BooleanConstructor; default: boolean; }; /** * 性能模式,启用时使用requestAnimationFrame代替CSS动画 */ performanceMode: { type: BooleanConstructor; default: boolean; }; /** * 弹幕刷新频率(ms) */ debounce: { type: NumberConstructor; default: number; }; /** * 弹幕速度(像素/秒) */ speeds: { type: NumberConstructor; default: number; }; /** * 弹幕垂直间距 */ top: { type: NumberConstructor; default: number; }; /** * 弹幕水平间距 */ right: { type: NumberConstructor; default: number; }; /** * 弹幕默认层级 */ zIndex: { type: NumberConstructor; default: number; }; /** * 是否自动监听容器大小变化 */ autoResize: { type: BooleanConstructor; default: boolean; }; }>> & Readonly<{ "onList-end"?: ((...args: any[]) => any) | undefined; "onPlay-end"?: ((...args: any[]) => any) | undefined; "onDm-over"?: ((...args: any[]) => any) | undefined; "onDm-out"?: ((...args: any[]) => any) | undefined; "onDm-click"?: ((...args: any[]) => any) | undefined; "onDm-remove"?: ((...args: any[]) => any) | undefined; onError?: ((...args: any[]) => any) | undefined; }>, { danmus: Danmu[]; channels: number; autoplay: boolean; loop: boolean; loopOnly: boolean; randomChannel: boolean; isSuspend: boolean; performanceMode: boolean; debounce: number; speeds: number; top: number; right: number; zIndex: number; autoResize: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export default _default;