UNPKG

@atlaskit/editor-plugin-layout

Version:

Layout plugin for @atlaskit/editor-core

34 lines (33 loc) 1.23 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.LayoutSSRReactContextsProvider = LayoutSSRReactContextsProvider; var _react = _interopRequireDefault(require("react")); var _reactIntl = require("react-intl"); var _coreUtils = require("@atlaskit/editor-common/core-utils"); /** * Wraps the layout section nodeview children with the editor's actual * IntlProvider during SSR streaming (renderToStaticMarkup). This ensures any * descendants that call `useIntl()` (e.g. `BreakoutResizer`'s ARIA labels) * have a valid intl context and do not throw during the static render pass. * * Outside of SSR streaming this is a no-op passthrough. * * Follows the same pattern as `MediaSSRReactContextsProvider` and * `SyncBlockSSRReactContextsProvider`. */ function LayoutSSRReactContextsProvider(_ref) { var children = _ref.children, intl = _ref.intl; if (!(0, _coreUtils.isSSRStreaming)() || !(0, _coreUtils.isSSR)()) { return children; } if (!intl) { return children; } return /*#__PURE__*/_react.default.createElement(_reactIntl.RawIntlProvider, { value: intl }, children); }