UNPKG

@nativescript/core

Version:

A JavaScript library providing an easy to use api for interacting with iOS and Android platform APIs.

128 lines (106 loc) 3 kB
import { View } from '../core/view'; import { CoreTypes } from '../../core-types'; import { Color } from '../../color'; export declare const ANIMATION_PROPERTIES; interface Keyframe { backgroundColor?: Color; scale?: { x: number; y: number }; translate?: { x: number; y: number }; rotate?: { x: number; y: number; z: number }; opacity?: number; width?: CoreTypes.PercentLengthType; height?: CoreTypes.PercentLengthType; valueSource?: 'keyframe' | 'animation'; duration?: number; curve?: any; forceLayer?: boolean; } export interface Keyframes { name: string; keyframes: Array<UnparsedKeyframe>; tag?: string | number; scopedTag?: string; mediaQueryString?: string; } export interface UnparsedKeyframe { values: Array<any>; declarations: Array<KeyframeDeclaration>; } export interface KeyframeDeclaration { property: string; value: any; } export interface KeyframeInfo { duration: number; declarations: Array<KeyframeDeclaration>; curve?: any; } /** * Defines animation options for the View.animate method. */ export class KeyframeAnimationInfo { /** * Return animation keyframes. */ keyframes: Array<KeyframeInfo>; /** * The animation name. */ name?: string; /** * The length of the animation in milliseconds. The default duration is 300 milliseconds. */ duration?: number; /** * The amount of time, in milliseconds, to delay starting the animation. */ delay?: number; /** * Specifies how many times the animation should be played. Default is 1. * iOS animations support fractional iterations, i.e. 1.5. * To repeat an animation infinitely, use Number.POSITIVE_INFINITY */ iterations?: number; /** * An optional animation curve. Possible values are contained in the [AnimationCurve enumeration](../modules/_ui_enums_.animationcurve.html). * Alternatively, you can pass an instance of type UIViewAnimationCurve for iOS or android.animation.TimeInterpolator for Android. */ curve?: any; /** * Determines whether the animation values will be applied on the animated object after the animation finishes. */ isForwards: boolean; /** * If true the animation will be played backwards. */ isReverse?: boolean; } export class KeyframeAnimation { animations: Array<Keyframe>; /** * The amount of time, in milliseconds, to delay starting the animation. */ delay: number; /** * Specifies how many times the animation should be played. Default is 1. * iOS animations support fractional iterations, i.e. 1.5. * To repeat an animation infinitely, use Number.POSITIVE_INFINITY */ iterations: number; /** * Returns true if the application is currently running. */ isPlaying: boolean; /** * Plays the animation. */ public play: (view: View) => Promise<void>; /** * Cancels a playing animation. */ public cancel: () => void; /** * Creates a keyframe animation from animation definition. */ public static keyframeAnimationFromInfo(info: KeyframeAnimationInfo): KeyframeAnimation; }