@cc98/react-ubb-editor
Version:
A ubb editor component based on react
30 lines (29 loc) • 1.33 kB
JavaScript
import { __assign } from "tslib";
import createCache from '@emotion/cache';
import { CacheProvider } from '@emotion/core';
import React from 'react';
import Core, { Core as CoreType } from './components';
import configMap from './config';
import { Provider } from './context';
import createAction from './createAction';
import { ConfigType, ExtendValueType, } from './types';
var cache = createCache();
export default function createEditor(extraConfig, ignoreDefaultConfig) {
if (extraConfig === void 0) { extraConfig = {}; }
if (ignoreDefaultConfig === void 0) { ignoreDefaultConfig = false; }
var configs = __assign({}, configMap);
if (ignoreDefaultConfig) {
if (!extraConfig.configs) {
throw new Error('need extra config with ignoreDefaultConfig specified');
}
configs = {};
}
if (extraConfig.configs) {
extraConfig.configs.forEach(function (item) { return (configs[item.tagName] = item); });
}
var Editor = function (props) { return (React.createElement(Provider, { value: __assign(__assign({}, extraConfig), { configs: configs }) },
React.createElement(CacheProvider, { value: cache },
React.createElement(Core, __assign({}, props))))); };
return Editor;
}
export { createAction, ConfigType, ExtendValueType, CoreType, };