@atlaskit/editor-plugin-placeholder
Version:
Placeholder plugin for @atlaskit/editor-core.
41 lines (39 loc) • 2 kB
JavaScript
/* PlaceholderLoadingSpinner.tsx generated by @compiled/babel-plugin v3.0.2 */
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PlaceholderLoadingSpinner = void 0;
require("./PlaceholderLoadingSpinner.compiled.css");
var _runtime = require("@compiled/react/runtime");
var _react = _interopRequireDefault(require("react"));
var _useSharedPluginStateWithSelector = require("@atlaskit/editor-common/useSharedPluginStateWithSelector");
var _document = require("@atlaskit/editor-common/utils/document");
var _box = require("@atlaskit/primitives/compiled/box");
var _spinner = _interopRequireDefault(require("@atlaskit/spinner/spinner"));
var PlaceholderLoadingSpinner = exports.PlaceholderLoadingSpinner = function PlaceholderLoadingSpinner(_ref) {
var api = _ref.api,
editorView = _ref.editorView;
var isCollabInitializing = (0, _useSharedPluginStateWithSelector.useSharedPluginStateWithSelector)(api, ['collabEdit'], function (_ref2) {
var collabEditState = _ref2.collabEditState;
return !!collabEditState && !collabEditState.initialised.collabInitialisedAt;
});
var doc = editorView === null || editorView === void 0 ? void 0 : editorView.state.doc;
if (!editorView || !isCollabInitializing || doc && !(0, _document.isEmptyDocument)(doc)) {
return null;
}
// In this scenario
// - the collab plugin exists - but we don't have a "initial/placeholder" document
// - and the collab plugin is not yet ready
// So we show a placeholder spinner to indicate the content is still loading
return /*#__PURE__*/_react.default.createElement(_box.Box, {
xcss: spinnerContainerStyles.spinnerContainer
}, /*#__PURE__*/_react.default.createElement(_spinner.default, {
interactionName: "live-pages-loading-spinner",
size: "medium"
}));
};
var spinnerContainerStyles = {
spinnerContainer: "_1e0c1txw _2lx21bp4 _1bah1h6o _4cvr1h6o _1bsb1osq"
};