UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

48 lines (45 loc) 1.91 kB
/* ToolbarPortal.tsx generated by @compiled/babel-plugin v0.39.1 */ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.useToolbarPortal = exports.ToolbarPortalMountPoint = exports.ToolbarPortalContextProvider = void 0; require("./ToolbarPortal.compiled.css"); var _runtime = require("@compiled/react/runtime"); var _react = _interopRequireDefault(require("react")); var ToolbarPortalContext = /*#__PURE__*/_react.default.createContext(undefined); var ToolbarPortalContextProvider = exports.ToolbarPortalContextProvider = function ToolbarPortalContextProvider(_ref) { var children = _ref.children, portal = _ref.portal, isActive = _ref.isActive; var value = _react.default.useMemo(function () { return { Portal: portal, isActive: isActive }; }, [portal, isActive]); return /*#__PURE__*/_react.default.createElement(ToolbarPortalContext.Provider, { value: value }, children); }; // NOTE: This doesn't throw on undefined context on purpose, as it is likely that // the outer toolbar _won't_ have a context provider as it is unlikely to portal // anywhere var useToolbarPortal = exports.useToolbarPortal = function useToolbarPortal() { return _react.default.useContext(ToolbarPortalContext); }; var toolbarPortalStyles = { portal: "_1r04ze3t _kqswstnw _fiawglyw" }; var ToolbarPortalMountPoint = exports.ToolbarPortalMountPoint = function ToolbarPortalMountPoint() { var portal = useToolbarPortal(); // Don't render a mountpoint when we're already inside a portal if (portal) { return null; } // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop return /*#__PURE__*/_react.default.createElement("div", { className: (0, _runtime.ax)([toolbarPortalStyles.portal, "ak-editor-toolbar-portal"]) }); };