UNPKG

cheapskate

Version:

Low-budget user interface animation

45 lines (43 loc) 1.32 kB
type Hash = unknown; interface Delegate<T = any> { sort: (a: any, b: any) => number; hash_for_item?: (item: T) => Hash; set_animated_items: (items: Array<T>) => void; duration?: () => number; easing?: () => string; } interface Metrics { left: string; top: string; opacity: number; position: string; zIndex: number; } declare class SiblingAnimator { private container_element; private delegate; private hash_to_animated_metrics_map; private hash_to_animated_items_map; private private_element; private discrete_hashes_set; private previous_hashes_set; private addition_items_array; private rendered_once; private highest_z_index; constructor(delegate: Delegate); set_container_element(element?: HTMLElement): void; set_discrete_items(items: Array<unknown>): void; private hash_for_item; private animated_hashes_set; get animated_items(): unknown[]; get discrete_items(): Array<unknown>; set discrete_items(items: Array<unknown>); private inform_delegate; private animate_element; private animate_set; private numeric_value; layout(unused_animated_items?: Array<unknown>): void; metrics_for_item(item: unknown): Metrics; } export { SiblingAnimator }; export type { Delegate, Metrics };