@atlaskit/motion
Version:
A set of utilities to apply motion in your application.
22 lines (21 loc) • 1.08 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = MotionPresenceBoundary;
var _react = _interopRequireDefault(require("react"));
var _fg = require("@atlaskit/platform-feature-flags/fg");
var _exitingPersistence = require("./exiting-persistence");
/**
* Separates a container's presence from its content. Place inside the component
* that owns the container animation, so descendants cannot complete its exit.
* Restores standalone presence rather than disabling motion: explicit animations
* and nested ExitingPersistence boundaries retain their own lifecycle.
*/
function MotionPresenceBoundary(_ref) {
var children = _ref.children;
return (0, _fg.fg)('platform-dst-motion-isolate-presence') ? /*#__PURE__*/_react.default.createElement(_exitingPersistence.ExitingContext.Provider, {
value: _exitingPersistence.defaultExitingContext
}, children) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
}