@atlaskit/editor-plugin-extension
Version:
editor-plugin-extension plugin for @atlaskit/editor-core
41 lines • 1.32 kB
JavaScript
import React, { Suspense, lazy, useMemo } from 'react';
// eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
import { Box, xcss } from '@atlaskit/primitives';
import { withExtensionManifest } from '../withExtensionManifest';
const iconWidth = '40px';
const itemIconStyles = xcss({
width: iconWidth,
height: iconWidth,
overflow: 'hidden',
border: `${"var(--ds-border-width, 1px)"} solid ${"var(--ds-border, #0B120E24)"}`,
borderRadius: "var(--ds-radius-small, 3px)",
boxSizing: 'border-box',
display: 'flex',
justifyContent: 'center',
alignItems: 'center'
});
function HeaderIcon({
extensionManifest
}) {
const icon = extensionManifest.icons['48'];
const title = extensionManifest.title;
const ResolvedIcon = useMemo(() => {
return /*#__PURE__*/lazy(() => icon().then(Cmp => {
if ('default' in Cmp) {
return Cmp;
}
return {
default: Cmp
};
}));
}, [icon]);
return /*#__PURE__*/React.createElement(Box, {
xcss: itemIconStyles
}, /*#__PURE__*/React.createElement(Suspense, {
fallback: null
}, /*#__PURE__*/React.createElement(ResolvedIcon, {
label: title
})));
}
const _default_1 = withExtensionManifest(HeaderIcon);
export default _default_1;