@atlaskit/portal
Version:
A wrapper for rendering components in React portals.
27 lines (26 loc) • 1.44 kB
JavaScript
"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;
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
}, children) : null : /*#__PURE__*/_react.default.createElement(_internalPortalNew.default, {
zIndex: zIndex
}, children);
}