@atlaskit/editor-plugin-extension
Version:
editor-plugin-extension plugin for @atlaskit/editor-core
26 lines • 1.31 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
var _excluded = ["extensionKey", "extensionProvider", "extensionType"];
import React from 'react';
import { useStateFromPromise } from './use-state-from-promise';
export function withExtensionManifest(WrappedComponent) {
return function WithExtensionManifest(props) {
var extensionKey = props.extensionKey,
extensionProvider = props.extensionProvider,
extensionType = props.extensionType,
restProps = _objectWithoutProperties(props, _excluded);
var _useStateFromPromise = useStateFromPromise(function () {
return extensionProvider.getExtension(extensionType, extensionKey);
}, [extensionProvider, extensionType, extensionKey]),
_useStateFromPromise2 = _slicedToArray(_useStateFromPromise, 1),
extensionManifest = _useStateFromPromise2[0];
return extensionManifest ?
/*#__PURE__*/
// Ignored via go/ees005
// eslint-disable-next-line @typescript-eslint/no-explicit-any, react/jsx-props-no-spreading
React.createElement(WrappedComponent, _extends({
extensionManifest: extensionManifest
}, restProps)) : null;
};
}