@dslate/dslate
Version:
一个Ant Design风格的富文本编辑器 - An Ant Design style rich editor based on Slate
33 lines • 1.81 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
var _excluded = ["toolbar"];
import React, { forwardRef } from 'react';
import { ConfigProvider, ConfigConsumer } from '@dslate/core';
import DefaultPlugin from '@dslate/plugin';
import { mergeLocalteFromPlugins } from '@dslate/core';
import DSlate from './components/DSlate/';
import ZH_CN from './locale/zh_CN';
import EN_US from './locale/en_US';
export var DefaultLocales = [ZH_CN, EN_US];
export { DefaultPlugin };
export var DefaultToolbar = ['history', 'clear', 'divider', 'paragraph', 'font-size', 'bold', 'italic', 'decoration', 'color', 'background-color', 'divider', 'text-align', 'list', 'todo-list', 'text-indent', 'line-height', 'divider', 'img', 'link', 'blockquote', 'hr'];
export default /*#__PURE__*/forwardRef(function (_ref, ref) {
var _ref$toolbar = _ref.toolbar,
toolbar = _ref$toolbar === void 0 ? DefaultToolbar : _ref$toolbar,
props = _objectWithoutProperties(_ref, _excluded);
return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (value) {
var plugins = !value.plugins || value.plugins.length === 0 ? Object.values(DefaultPlugin) : value.plugins;
var locales = value.locales ? value.locales : DefaultLocales;
return /*#__PURE__*/React.createElement(ConfigProvider, {
value: _objectSpread(_objectSpread({}, value), {}, {
locales: mergeLocalteFromPlugins(locales, plugins),
plugins: plugins,
iconScriptUrl: '//at.alicdn.com/t/c/font_3062978_atuqwazgoap.js'
})
}, /*#__PURE__*/React.createElement(DSlate, _extends({}, props, {
ref: ref,
toolbar: toolbar
})));
});
});