UNPKG

@atlaskit/portal

Version:

A wrapper for rendering components in React portals.

24 lines 1.17 kB
import React from 'react'; import { fg } from '@atlaskit/platform-feature-flags'; import InternalPortal from './internal/components/internal-portal'; import InternalPortalNew from './internal/components/internal-portal-new'; import useIsSubsequentRender from './internal/hooks/use-is-subsequent-render'; import useFirePortalEvent from './internal/hooks/use-portal-event'; export default 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 = useIsSubsequentRender(mountStrategy); useFirePortalEvent(zIndex); return !fg('platform_design_system_team_portal_logic_r18_fix') ? isSubsequentRender ? /*#__PURE__*/React.createElement(InternalPortal, { zIndex: zIndex, isClosed: isClosed }, children) : null : /*#__PURE__*/React.createElement(InternalPortalNew, { zIndex: zIndex, isClosed: isClosed }, children); }