UNPKG

@nutui/nutui-react-taro

Version:

京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序

33 lines (32 loc) 1.14 kB
import React__default, { useState } from "react"; import classNames from "classnames"; import { View } from "@tarojs/components"; import { C as ComponentDefaults } from "./typings-DV9RBfhj.js"; const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { type: "shake", action: "initial", loop: false, onClick: (event) => { } }); const classPrefix = "nut-animate"; const Animate = (props) => { const { className, type, action, loop, onClick, children, style } = Object.assign(Object.assign({}, defaultProps), props); const [clicked, setClicked] = useState(false); const classes = classNames({ "nut-ani-container": true, [`${classPrefix}-${type}`]: action === "initial" || clicked, loop }, className); const handleClick = (event) => { setClicked(true); if (!loop) { setTimeout(() => setClicked(false), 1e3); } onClick(event); }; return React__default.createElement( View, { className: "nut-animate" }, React__default.createElement(View, { className: classes, onClick: handleClick, style }, children) ); }; Animate.displayName = "NutAnimate"; export { Animate as A };