@atlaskit/editor-plugin-extension
Version:
editor-plugin-extension plugin for @atlaskit/editor-core
42 lines • 1.4 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';
var iconWidth = '40px';
var itemIconStyles = xcss({
width: iconWidth,
height: iconWidth,
overflow: 'hidden',
border: "var(--ds-border-width, 1px)".concat(" solid ", "var(--ds-border, #0B120E24)"),
borderRadius: "var(--ds-radius-small, 3px)",
boxSizing: 'border-box',
display: 'flex',
justifyContent: 'center',
alignItems: 'center'
});
function HeaderIcon(_ref) {
var extensionManifest = _ref.extensionManifest;
var icon = extensionManifest.icons['48'];
var title = extensionManifest.title;
var ResolvedIcon = useMemo(function () {
return /*#__PURE__*/lazy(function () {
return icon().then(function (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
})));
}
var _default_1 = withExtensionManifest(HeaderIcon);
export default _default_1;