UNPKG

@kedao/editor

Version:

Rich Text Editor Based On Draft.js

48 lines 2.39 kB
var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; import './styles.scss'; import React from 'react'; import { SketchPicker } from 'react-color'; const getColorPicker = (superProps) => function ColorPicker(_a) { var { onChange, color, presetColors } = _a, props = __rest(_a, ["onChange", "color", "presetColors"]); const handleChange = (colorObject) => { var _a; if (colorObject.hex === color) { return false; } onChange(colorObject.hex, false); (_a = superProps.onChange) === null || _a === void 0 ? void 0 : _a.call(superProps, colorObject.hex); }; const clearColor = () => onChange(color, false); const closePicker = () => onChange(null, true); color = color || presetColors[0]; return (React.createElement("div", { className: `kedao-color-picker ${superProps.theme}-theme` }, React.createElement(SketchPicker, Object.assign({ color: color, presetColors: presetColors, onChangeComplete: handleChange }, props)), React.createElement("footer", { className: "footer" }, React.createElement("button", { type: "button", className: "button control-item button-clear", onClick: clearColor, disabled: !color }, superProps.clearButtonText), React.createElement("button", { type: "button", className: "button control-item button-close", onClick: closePicker }, superProps.closeButtonText)))); }; export default (options) => { options = Object.assign({ theme: 'dark', clearButtonText: '清除', closeButtonText: '关闭' }, options); const { includeEditors, excludeEditors } = options; return { type: 'prop-interception', includeEditors, excludeEditors, interceptor: (editorProps) => { editorProps.colorPicker = getColorPicker(options); editorProps.colorPickerTheme = options.theme; return editorProps; } }; }; //# sourceMappingURL=index.js.map