@nutui/nutui-react-taro
Version:
京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序
33 lines (32 loc) • 1.14 kB
JavaScript
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
};