@atlaskit/editor-plugin-extension
Version:
editor-plugin-extension plugin for @atlaskit/editor-core
50 lines (49 loc) • 1.77 kB
JavaScript
/**
* @jsxRuntime classic
* @jsx jsx
*/
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
import { css, jsx } from '@emotion/react';
import { injectIntl } from 'react-intl';
import { messages } from '@atlaskit/editor-common/extensions';
import SectionMessage from '@atlaskit/section-message';
import Spinner from '@atlaskit/spinner';
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
var spinnerWrapperStyles = css({
display: 'flex',
justifyContent: 'center',
marginTop: "var(--ds-space-800, 64px)"
});
var errorWrapperStyles = css({
marginTop: "var(--ds-space-400, 32px)" // Add some padding to the top to make sure we place this below the offline status banner
});
var LoadingStateWithErrorHandling = injectIntl(function (props) {
if (props.error) {
return jsx("div", {
css: errorWrapperStyles,
"data-testid": "ConfigPanelLoadingError"
}, jsx(SectionMessage, {
appearance: "error"
}, props.intl.formatMessage(messages.panelLoadingError)));
}
return jsx("div", {
css: spinnerWrapperStyles,
"data-testid": "ConfigPanelLoading"
}, jsx(Spinner, {
size: "small",
interactionName: "config-panel-spinner"
}));
});
var LoadingStateWithoutErrorHandling = function LoadingStateWithoutErrorHandling() {
return jsx("div", {
css: spinnerWrapperStyles,
"data-testid": "ConfigPanelLoading"
}, jsx(Spinner, {
size: "small",
interactionName: "config-panel-spinner"
}));
};
var LoadingState = function LoadingState(props) {
return editorExperiment('platform_editor_offline_editing_web', true) ? LoadingStateWithErrorHandling(props) : LoadingStateWithoutErrorHandling();
};
export default LoadingState;