wix-style-react
Version:
wix-style-react
54 lines (53 loc) • 1.8 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _useCollapse = require("../../providers/useCollapse");
var _jsxFileName = "/home/builduser/work/a9c1ac8876d5057c/packages/wix-style-react/dist/cjs/Transition/Toggle/Toggle.tsx";
/** Toggle is a component to solve ReactTransitionGroup bug with lagging collapse and expand transitions. */
var Toggle = _ref => {
var {
children,
dataHook,
mountOnEnter,
show,
timeout,
unmountOnExit,
onEnd,
onStart
} = _ref;
var {
getCollapseProps,
exitAnimationEnded
} = (0, _useCollapse.useCollapse)({
isExpanded: show,
duration: process.env.NODE_ENV === 'test' ? 0 : timeout,
onCollapseStart: onEnd,
onExpandStart: onStart
});
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
"data-hook": dataHook
}, getCollapseProps(), {
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 26,
columnNumber: 5
}
}), !show && (unmountOnExit || mountOnEnter && unmountOnExit === false) && exitAnimationEnded ? null : children);
};
Toggle.displayName = 'Toggle';
Toggle.propTypes = {
children: _propTypes.default.node,
dataHook: _propTypes.default.string,
mountOnEnter: _propTypes.default.bool,
onStart: _propTypes.default.func,
onEnd: _propTypes.default.func,
show: _propTypes.default.bool,
unmountOnExit: _propTypes.default.bool
};
var _default = exports.default = Toggle;
//# sourceMappingURL=Toggle.js.map