UNPKG

motionkit-romjah

Version:

A collection of reusable micro-animations for modern web applications. [Live Storybook demo](https://motionkit-storybook.vercel.app/)

50 lines (49 loc) 1.71 kB
export type EasingFunction = 'linear' | 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out' | `cubic-bezier(${number},${number},${number},${number})`; export type PlaybackDirection = 'normal' | 'reverse' | 'alternate' | 'alternate-reverse'; export type FillMode = 'none' | 'forwards' | 'backwards' | 'both' | 'auto'; export interface BaseOptions { duration: number; easing: EasingFunction; delay: number; iterations: number; direction: PlaybackDirection; fill: FillMode; } export interface AnimationOptions extends Partial<BaseOptions> { onStart?: () => void; onEnd?: () => void; onCancel?: () => void; } export interface TransitionState { opacity?: number; transform?: string; [key: string]: string | number | undefined; } export interface TransitionOptions extends Partial<BaseOptions> { states: Record<string, TransitionState>; } export interface NotificationOptions extends Partial<BaseOptions> { position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'top-center' | 'bottom-center'; type?: 'success' | 'error' | 'warning' | 'info'; message?: string; autoClose?: boolean; autoCloseDelay?: number; } export interface LoadingOptions extends Partial<BaseOptions> { type?: 'spinner' | 'dots' | 'pulse' | 'wave'; color?: string; size?: number; thickness?: number; } export interface StateOptions extends Partial<BaseOptions> { state?: 'success' | 'error' | 'warning' | 'info' | 'loading'; icon?: boolean; message?: string; } export interface HoverOptions extends Partial<BaseOptions> { scale?: number; rotate?: number; translateX?: number; translateY?: number; shadow?: string; }