1 | "use strict";
|
2 | 'use client';
|
3 |
|
4 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
5 | var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
6 | Object.defineProperty(exports, "__esModule", {
|
7 | value: true
|
8 | });
|
9 | exports.default = void 0;
|
10 | var React = _interopRequireWildcard(require("react"));
|
11 | var _propTypes = _interopRequireDefault(require("prop-types"));
|
12 | var _clsx = _interopRequireDefault(require("clsx"));
|
13 | var _jsxRuntime = require("react/jsx-runtime");
|
14 |
|
15 |
|
16 | function Ripple(props) {
|
17 | const {
|
18 | className,
|
19 | classes,
|
20 | pulsate = false,
|
21 | rippleX,
|
22 | rippleY,
|
23 | rippleSize,
|
24 | in: inProp,
|
25 | onExited,
|
26 | timeout
|
27 | } = props;
|
28 | const [leaving, setLeaving] = React.useState(false);
|
29 | const rippleClassName = (0, _clsx.default)(className, classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);
|
30 | const rippleStyles = {
|
31 | width: rippleSize,
|
32 | height: rippleSize,
|
33 | top: -(rippleSize / 2) + rippleY,
|
34 | left: -(rippleSize / 2) + rippleX
|
35 | };
|
36 | const childClassName = (0, _clsx.default)(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);
|
37 | if (!inProp && !leaving) {
|
38 | setLeaving(true);
|
39 | }
|
40 | React.useEffect(() => {
|
41 | if (!inProp && onExited != null) {
|
42 |
|
43 | const timeoutId = setTimeout(onExited, timeout);
|
44 | return () => {
|
45 | clearTimeout(timeoutId);
|
46 | };
|
47 | }
|
48 | return undefined;
|
49 | }, [onExited, inProp, timeout]);
|
50 | return (0, _jsxRuntime.jsx)("span", {
|
51 | className: rippleClassName,
|
52 | style: rippleStyles,
|
53 | children: (0, _jsxRuntime.jsx)("span", {
|
54 | className: childClassName
|
55 | })
|
56 | });
|
57 | }
|
58 | process.env.NODE_ENV !== "production" ? Ripple.propTypes = {
|
59 | |
60 |
|
61 |
|
62 | classes: _propTypes.default.object.isRequired,
|
63 | className: _propTypes.default.string,
|
64 | |
65 |
|
66 |
|
67 | in: _propTypes.default.bool,
|
68 | |
69 |
|
70 |
|
71 | onExited: _propTypes.default.func,
|
72 | |
73 |
|
74 |
|
75 | pulsate: _propTypes.default.bool,
|
76 | |
77 |
|
78 |
|
79 | rippleSize: _propTypes.default.number,
|
80 | |
81 |
|
82 |
|
83 | rippleX: _propTypes.default.number,
|
84 | |
85 |
|
86 |
|
87 | rippleY: _propTypes.default.number,
|
88 | |
89 |
|
90 |
|
91 | timeout: _propTypes.default.number.isRequired
|
92 | } : void 0;
|
93 | var _default = exports.default = Ripple; |
\ | No newline at end of file |