UNPKG

@rxdi/ui-kit

Version:

UI Components for building graphql-server website

35 lines (34 loc) 1.86 kB
import { AnimeInstance, AnimeTimelineInstance, StaggerOptions, DirectionOptions, AnimeCallBack, EasingOptions } from 'animejs'; export type AnimeTarget = string | object | HTMLElement | SVGElement | NodeList | null; export type FunctionBasedParameter = (element: HTMLElement, index: number, length: number) => number; type CustomEasingFunction = (el: HTMLElement, index: number, length: number) => ((time: number) => number); interface AnimeInstanceParams extends AnimeCallBack { loop?: number | boolean; autoplay?: boolean; direction?: DirectionOptions | string; } interface AnimeAnimParams extends AnimeCallBack { targets?: AnimeTarget | ReadonlyArray<AnimeTarget>; duration?: number | FunctionBasedParameter; delay?: number | FunctionBasedParameter; endDelay?: number | FunctionBasedParameter; elasticity?: number | FunctionBasedParameter; round?: number | boolean | FunctionBasedParameter; keyframes?: ReadonlyArray<AnimeAnimParams>; easing?: EasingOptions | string | CustomEasingFunction | ((el: HTMLElement) => string); [AnyAnimatedProperty: string]: any; } export interface AnimationOptions { bezier(x1: number, y1: number, x2: number, y2: number): (t: number) => number; stagger(value: number | string | ReadonlyArray<number | string>, options?: StaggerOptions): FunctionBasedParameter; set(targets: AnimeTarget, value: { [AnyAnimatedProperty: string]: any; }): void; timeline(params?: AnimationParams | ReadonlyArray<AnimeInstance>): AnimeTimelineInstance; random(min: number, max: number): number; } export type Overflow = 'auto' | 'hidden' | 'inherit' | 'initial' | 'scroll' | 'unset' | 'visible' | '-moz-hidden-unscrollable'; export interface AnimationParams extends AnimeInstanceParams, AnimeAnimParams { trigger?: keyof GlobalEventHandlersEventMap; } export {};