UNPKG

@tamagui/react-native-web-lite

Version:
111 lines (110 loc) 3.31 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: !0 }); }, __copyProps = (to, from, except, desc) => { if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); return to; }; var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod); var LayoutAnimation_exports = {}; __export(LayoutAnimation_exports, { LayoutAnimation: () => LayoutAnimation, default: () => LayoutAnimation_default }); module.exports = __toCommonJS(LayoutAnimation_exports); var import_Platform = require("../../../exports/Platform"), import_UIManager = require("../../../exports/UIManager"); const __DEV__ = process.env.NODE_ENV !== "production"; function configureNext(config, onAnimationDidEnd) { import_Platform.Platform.isTesting || import_UIManager.UIManager.configureNextLayoutAnimation(config, onAnimationDidEnd ?? function () {}, function () {}); } function create(duration, type, property) { return { duration, create: { type, property }, update: { type }, delete: { type, property } }; } const Presets = { easeInEaseOut: create(300, "easeInEaseOut", "opacity"), linear: create(500, "linear", "opacity"), spring: { duration: 700, create: { type: "linear", property: "opacity" }, update: { type: "spring", springDamping: 0.4 }, delete: { type: "linear", property: "opacity" } } }, LayoutAnimation = { /** * Schedules an animation to happen on the next layout. * * @param config Specifies animation properties: * * - `duration` in milliseconds * - `create`, `AnimationConfig` for animating in new views * - `update`, `AnimationConfig` for animating views that have been updated * * @param onAnimationDidEnd Called when the animation finished. * Only supported on iOS. * @param onError Called on error. Only supported on iOS. */ configureNext, /** * Helper for creating a config for `configureNext`. */ create, Types: Object.freeze({ spring: "spring", linear: "linear", easeInEaseOut: "easeInEaseOut", easeIn: "easeIn", easeOut: "easeOut", keyboard: "keyboard" }), Properties: Object.freeze({ opacity: "opacity", scaleX: "scaleX", scaleY: "scaleY", scaleXY: "scaleXY" }), checkConfig(...args) { console.error("LayoutAnimation.checkConfig(...) has been disabled."); }, Presets, easeInEaseOut: configureNext.bind(null, Presets.easeInEaseOut), linear: configureNext.bind(null, Presets.linear), spring: configureNext.bind(null, Presets.spring) }; var LayoutAnimation_default = LayoutAnimation;