@wix/design-system
Version:
@wix/design-system
41 lines (40 loc) • 1.65 kB
JavaScript
;
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 _useCollapse2 = require("../../providers/useCollapse");
var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/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 = _ref.children,
dataHook = _ref.dataHook,
mountOnEnter = _ref.mountOnEnter,
show = _ref.show,
timeout = _ref.timeout,
unmountOnExit = _ref.unmountOnExit,
onEnd = _ref.onEnd,
onStart = _ref.onStart;
var _useCollapse = (0, _useCollapse2.useCollapse)({
isExpanded: show,
duration: process.env.NODE_ENV === 'test' ? 0 : timeout,
onCollapseStart: onEnd,
onExpandStart: onStart
}),
getCollapseProps = _useCollapse.getCollapseProps,
exitAnimationEnded = _useCollapse.exitAnimationEnded;
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
"data-hook": dataHook
}, getCollapseProps(), {
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 25,
columnNumber: 5
}
}), !show && (unmountOnExit || mountOnEnter && unmountOnExit === false) && exitAnimationEnded ? null : children);
};
Toggle.displayName = 'Toggle';
var _default = exports.default = Toggle;
//# sourceMappingURL=Toggle.js.map