UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

37 lines (36 loc) 1.41 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = require("react"); var _coreUtils = require("@atlaskit/editor-common/core-utils"); /** * ExcludeFromHydration component delays rendering of its children until after the initial * hydration phase. It renders the fallback during SSR/hydration and children after. * @param children - The content to render after hydration * @param fallback - Optional fallback content to render during hydration (e.g., a placeholder to prevent layout shift) * @returns */ function ExcludeFromHydration(_ref) { var children = _ref.children, _ref$fallback = _ref.fallback, fallback = _ref$fallback === void 0 ? null : _ref$fallback; var _useState = (0, _react.useState)(false), _useState2 = (0, _slicedToArray2.default)(_useState, 2), shouldRender = _useState2[0], setShouldRender = _useState2[1]; (0, _react.useEffect)(function () { if ((0, _coreUtils.isSSR)()) { return; } setShouldRender(true); }, []); if (!shouldRender) { return fallback !== null && fallback !== void 0 ? fallback : null; } return children; } var _default = exports.default = ExcludeFromHydration;