UNPKG

@opensig/opendesign

Version:

<p align="center"><img src="../docs/public/opendesign-logo-light.png"/></p> <h1 align="center">opendesign</h1> <p align="center">一个 Vue 3 组件库</p> <p align="center"><b>皮肤可定制,使用 TypeScript</b></p>

32 lines (31 loc) 1.28 kB
import { PointMoveT } from '../../_utils/types'; export interface EffectT { active: (slideIndex: number) => Promise<null | number>; destroyed: () => void; } export interface EffectOptionT { activeClass?: string; onTouchstart?: () => void; onTouchend?: () => void; onBeforeChange?: (from: number, to: number) => boolean | void; onChanged?: (from: number, to: number) => void; } export default abstract class Effect { total: number; currentIndex: number; activeClass: string | undefined; onTouchstart: (() => void) | undefined; onTouchend: (() => void) | undefined; onBeforeChange: ((to: number, from: number) => boolean | void) | undefined; onChanged: ((to: number, from: number) => void) | undefined; private isTouchStart; private containerEl; constructor(slideElList: HTMLElement[], slideContainer: HTMLElement, options?: EffectOptionT); abstract handleTouchStart(): void; abstract handleTouchMove(pos: PointMoveT, e: TouchEvent): void; abstract handleTouchEnd(pos: PointMoveT, e: TouchEvent): number | void; abstract active(toIndex: number, animate?: boolean, force?: boolean): Promise<null | number>; abstract destroyed(): void; fixIndex(idx: number): number; handleTouch(): void; }