UNPKG

@atlaskit/portal

Version:

A wrapper for rendering components in React portals.

31 lines (30 loc) 1.59 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = Portal; var _react = _interopRequireDefault(require("react")); var _platformFeatureFlags = require("@atlaskit/platform-feature-flags"); var _internalPortal = _interopRequireDefault(require("./internal/components/internal-portal")); var _internalPortalNew = _interopRequireDefault(require("./internal/components/internal-portal-new")); var _useIsSubsequentRender = _interopRequireDefault(require("./internal/hooks/use-is-subsequent-render")); var _usePortalEvent = _interopRequireDefault(require("./internal/hooks/use-portal-event")); function Portal(_ref) { var _ref$zIndex = _ref.zIndex, zIndex = _ref$zIndex === void 0 ? 0 : _ref$zIndex, children = _ref.children, _ref$mountStrategy = _ref.mountStrategy, mountStrategy = _ref$mountStrategy === void 0 ? 'effect' : _ref$mountStrategy, _ref$isClosed = _ref.isClosed, isClosed = _ref$isClosed === void 0 ? false : _ref$isClosed; var isSubsequentRender = (0, _useIsSubsequentRender.default)(mountStrategy); (0, _usePortalEvent.default)(zIndex); return !(0, _platformFeatureFlags.fg)('platform_design_system_team_portal_logic_r18_fix') ? isSubsequentRender ? /*#__PURE__*/_react.default.createElement(_internalPortal.default, { zIndex: zIndex, isClosed: isClosed }, children) : null : /*#__PURE__*/_react.default.createElement(_internalPortalNew.default, { zIndex: zIndex, isClosed: isClosed }, children); }