1 |
- {"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///../node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///../node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///external \"braft-utils\"","webpack:///../node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///../node_modules/@babel/runtime/helpers/createClass.js","webpack:///../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///../node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///../node_modules/@babel/runtime/helpers/inherits.js","webpack:///external \"draft-js\"","webpack:///../node_modules/@babel/runtime/helpers/objectSpread.js","webpack:///../node_modules/@babel/runtime/helpers/extends.js","webpack:///../node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///external \"braft-convert\"","webpack:///external \"react-dom\"","webpack:///../node_modules/@babel/runtime/helpers/typeof.js","webpack:///external \"braft-finder\"","webpack:///external \"immutable\"","webpack:///../node_modules/@babel/runtime/helpers/slicedToArray.js","webpack:///../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///../node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///../node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///../node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///../node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///../node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./languages/en.js","webpack:///./languages/zh.js","webpack:///./languages/zh-hant.js","webpack:///./languages/index.js","webpack:///./configs/keybindings.js","webpack:///./configs/props.js","webpack:///./components/common/Switch/index.jsx","webpack:///./configs/controls.js","webpack:///./renderers/atomics/Image/index.jsx","webpack:///./components/common/StaticContainer/index.jsx","webpack:///./renderers/atomics/Video/index.jsx","webpack:///./renderers/atomics/Audio/index.jsx","webpack:///./renderers/atomics/Embed/index.jsx","webpack:///./renderers/atomics/HorizontalLine/index.jsx","webpack:///./renderers/styles/blockStyles.js","webpack:///./renderers/styles/inlineStyles.js","webpack:///./renderers/decorators/Link/index.jsx","webpack:///./renderers/decorators/index.js","webpack:///./renderers/index.js","webpack:///./helpers/responsive.js","webpack:///./components/common/DropDown/index.jsx","webpack:///./components/business/LinkEditor/index.jsx","webpack:///./configs/maps.js","webpack:///./components/business/Headings/index.jsx","webpack:///./components/common/ColorPicker/index.jsx","webpack:///./components/business/TextColor/index.jsx","webpack:///./components/business/FontSize/index.jsx","webpack:///./components/business/LineHeight/index.jsx","webpack:///./components/business/FontFamily/index.jsx","webpack:///./components/business/TextAlign/index.jsx","webpack:///./components/business/EmojiPicker/index.jsx","webpack:///./components/business/LetterSpacing/index.jsx","webpack:///./components/business/TextIndent/index.jsx","webpack:///./components/common/Modal/index.jsx","webpack:///./components/business/ControlBar/index.jsx","webpack:///./editor/index.jsx","webpack:///./index.jsx","webpack:///../node_modules/draft-js/dist/Draft.css","webpack:///./assets/scss/_base.scss","webpack:///./renderers/atomics/Image/style.scss","webpack:///./components/common/Switch/style.scss","webpack:///./renderers/atomics/Video/style.scss","webpack:///./renderers/atomics/Audio/style.scss","webpack:///./renderers/atomics/Embed/style.scss","webpack:///./renderers/atomics/HorizontalLine/style.scss","webpack:///./components/business/ControlBar/style.scss","webpack:///./components/business/LinkEditor/style.scss","webpack:///./components/common/DropDown/style.scss","webpack:///./components/business/Headings/style.scss","webpack:///./components/business/TextColor/style.scss","webpack:///./components/common/ColorPicker/style.scss","webpack:///./components/business/FontSize/style.scss","webpack:///./components/business/LineHeight/style.scss","webpack:///./components/business/FontFamily/style.scss","webpack:///./components/business/EmojiPicker/style.scss","webpack:///./components/business/LetterSpacing/style.scss","webpack:///./components/business/TextIndent/style.scss","webpack:///./components/common/Modal/style.scss"],"names":["base","remove","cancel","confirm","inert","width","height","controls","clear","undo","redo","fontSize","color","textColor","tempColors","backgroundColor","bold","lineHeight","letterSpacing","textIndent","italic","underline","strikeThrough","fontFamily","textAlign","alignLeft","alignCenter","alignRight","alignJustify","floatLeft","floatRight","superScript","subScript","removeStyles","headings","header","normal","orderedList","unorderedList","blockQuote","code","link","unlink","hr","media","mediaLibirary","emoji","linkEditor","inputPlaceHolder","inputWithEnterPlaceHolder","openInNewWindow","removeLink","audioPlayer","title","videoPlayer","embedTitle","image","video","audio","embed","border","zhHant","customKeyBindingFn","event","keyCode","hasCommandModifier","isCtrlKeyCommand","language","excludeControls","extendControls","extendAtomics","componentBelowControlBar","pasteImage","uploadFn","validateFn","onBeforeDeselect","onDeselect","onBeforeSelect","onSelect","onBeforeRemove","onRemove","onCancel","onFileSelect","onBeforeInsert","onInsert","onChange","externals","imageControls","colors","tabIndents","textAligns","textBackgroundColor","letterSpacings","textIndents","lineHeights","fontSizes","fontFamilies","name","family","emojis","stripPastedStyles","className","style","controlBarClassName","controlBarStyle","contentClassName","contentStyle","draftProps","hooks","onFocus","onBlur","onTab","onDelete","onSave","props","active","onClick","lang","key","text","type","command","imageControlItems","toolbarVisible","toolbarOffset","linkEditorVisible","sizeEditorVisible","tempLink","tempWidth","tempHeight","window","__BRAFT_DRAGING__IMAGE__","block","mediaData","setState","editor","setDraftProps","readOnly","split","method","param","editorState","setValue","removeBlock","state","e","confirmImageLink","currentTarget","value","setMediaData","entityKey","setImmediate","forceRender","confirmImageSize","isNaN","newImageSize","float","setMediaPosition","alignment","preventDefault","calcToolbarOffset","blockData","getData","get","src","url","link_target","imageStyles","clearFix","renderedControlItems","map","item","index","executeCommand","render","showToolbar","hideToolbar","handleDragStart","handleDragEnd","instance","mediaEmbederInstance","marginLeft","toolbarElement","handleLinkInputKeyDown","setImageLink","setImageLinkTarget","handleSizeInputKeyDown","setImageWidth","setImageHeight","imageElement","containerNode","viewRect","getBoundingClientRect","toolbarRect","imageRect","right","left","Component","children","meta","poster","removeVideo","removeAudio","__html","removeEmbed","removeHorizontalLine","customBlockStyleFn","blockAlignment","blockFloat","result","customStyles","colorStyles","bgColorStyles","fontSizeStyles","fontFamilyStyles","lineHeightStyles","letterSpacingtStyles","indentStyles","forEach","color_id","replace","toUpperCase","indent","paddingLeft","paddingRight","position","top","bottom","handleStrategy","contentBlock","callback","contentState","findEntityRanges","character","getEntity","getType","Link","href","target","viewLink","getModifierState","document","createElement","click","strategy","component","getAtomicBlockComponent","superProps","getEntityAt","entity","mediaType","mediaProps","atomics","i","length","getBlockRendererFn","customBlockRendererFn","blockRenderer","editable","customBlockRenderMap","element","wrapper","getBlockStyleFn","getCustomStyleMap","resizeEventHandlers","responsiveHelperInited","debouce","resolve","eventHandler","id","UniqueIndex","push","unresolve","filter","addEventListener","clearTimeout","setTimeout","componentId","offset","maxHeight","alive","body","registerClickEvent","responsiveResolveId","fixDropDownPosition","next","disabled","hide","prevState","removeEventListener","ResponsiveHelper","caption","htmlCaption","showArrow","arrowActive","dropDownHandlerElement","dropDownContentElement","editorContentRect","querySelector","handlerRect","contentRect","autoHide","dataset","braftComponentId","keepActive","handleConfirm","dropDownComponent","toggleSelectionLink","hookReturns","requestFocus","getSelectionEntityData","textSelected","isSelectionCollapsed","getSelectionBlockType","handeKeyDown","inputLink","setTarget","handleUnlink","handleCancel","getHeadings","blocks","currentHeadingIndex","findIndex","current","isActive","colorType","toggleSelectionColor","toggleSelectionBackgroundColor","captionStyle","currentColor","selectionHasInlineStyle","dropDownComponentId","enableBackgroundColor","display","switchColorType","toggleColor","toggleFontSize","size","toggleSelectionFontSize","currentFontSize","find","defaultCaption","toggleLineHeight","toggleSelectionLineHeight","currentLineHeight","toggleFontFamily","fontFamilyName","toggleSelectionFontFamily","currentIndex","currentAlignment","undefined","indexOf","toggleSelectionAlignment","getSelectionBlockData","textAlignmentTitles","setAlignment","insertEmoji","insertText","toggleLetterSpacing","toggleSelectionLetterSpacing","currentLetterSpacing","toggleTextIndent","toggleSelectionIndent","currentIndent","rootElement","classList","contains","ReactDOM","unmountComponentAtNode","parentNode","removeChild","closeOnCancel","close","closeOnConfirm","onConfirm","unrenderComponent","onClose","visible","renderComponent","activeId","clearImmediate","confirmable","showFooter","showCancel","showConfirm","showClose","cancelText","confirmText","bottomText","childComponent","handleTransitionEnd","appendChild","add","showModal","hostNode","extProps","modalInstance","destroy","update","commandHookMap","braftFinder","ReactComponent","MediaLibrary","mediaLibiraryModal","closeBraftFinder","insertMedias","bindBraftFinderHook","hookName","medias","modal","extendedModals","data","toggleSelectionInlineStyle","toggleSelectionBlockType","currentBlockType","editorControls","commonProps","renderedControls","itemKey","toLowerCase","controlItem","subItem","applyControl","openBraftFinder","html","ref","onCreate","getControlItemClassName","buildHooks","defaultReturns","editorDecorators","draftInstance","createEditorState","getCurrentContent","repeat","isFocused","focus","nextEditorState","handleKeyCommand","currentBlock","getSelectionBlock","getLength","which","handleNewLine","selectionState","dataTransfer","getText","files","resolveFiles","htmlString","detectColorsFromHTMLString","array","insertHTML","uploadImage","removeSelectionInlineStyles","insertHorizontalLine","keyBindingFn","blockStyleFn","blockRenderMap","merge","blockRenderMapFn","defaultEditorState","isEditorState","defaultValue","createEmptyEditorState","uploader","validator","forceUpdate","nextProps","placeholder","externalMedias","controlBarProps","controlBarInstance","blockRendererFn","customStyleMap","handleReturn","handleDrop","handleDroppedFiles","handlePastedText","handlePastedFiles","setEditorContainerNode","prototype","toHTML","toRAW","noStringify","JSON","stringify","createFrom","content","options","entityMap","parse","error","createEmpty"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;AClFA,gD;;;;;;ACAA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wC;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA,iC;;;;;;ACfA,gD;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;ACNA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,8B;;;;;;AChBA,cAAc,mBAAO,CAAC,EAAmB;;AAEzC,4BAA4B,mBAAO,CAAC,CAAyB;;AAE7D;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4C;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;ACPA,qBAAqB,mBAAO,CAAC,EAAkB;;AAE/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,2B;;;;;;ACjBA,gD;;;;;;ACAA,qBAAqB,mBAAO,CAAC,CAAkB;;AAE/C;AACA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;AA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","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"braft-utils\"), require(\"draft-js\"), require(\"braft-convert\"), require(\"react-dom\"), require(\"braft-finder\"), require(\"immutable\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"braft-utils\", \"draft-js\", \"braft-convert\", \"react-dom\", \"braft-finder\", \"immutable\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"react\"), require(\"braft-utils\"), require(\"draft-js\"), require(\"braft-convert\"), require(\"react-dom\"), require(\"braft-finder\"), require(\"immutable\")) : factory(root[\"react\"], root[\"braft-utils\"], root[\"draft-js\"], root[\"braft-convert\"], root[\"react-dom\"], root[\"braft-finder\"], root[\"immutable\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function(__WEBPACK_EXTERNAL_MODULE__0__, __WEBPACK_EXTERNAL_MODULE__3__, __WEBPACK_EXTERNAL_MODULE__9__, __WEBPACK_EXTERNAL_MODULE__13__, __WEBPACK_EXTERNAL_MODULE__14__, __WEBPACK_EXTERNAL_MODULE__16__, __WEBPACK_EXTERNAL_MODULE__17__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 26);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","module.exports = __WEBPACK_EXTERNAL_MODULE__3__;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","var _typeof = require(\"../helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","module.exports = __WEBPACK_EXTERNAL_MODULE__9__;","var defineProperty = require(\"./defineProperty\");\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread;","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","module.exports = __WEBPACK_EXTERNAL_MODULE__13__;","module.exports = __WEBPACK_EXTERNAL_MODULE__14__;","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","module.exports = __WEBPACK_EXTERNAL_MODULE__16__;","module.exports = __WEBPACK_EXTERNAL_MODULE__17__;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nmodule.exports = _arrayWithoutHoles;","function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nmodule.exports = _nonIterableSpread;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nmodule.exports = _nonIterableRest;","export default {\n base: {\n remove: 'Remove',\n cancel: 'Cancel',\n confirm: 'Confirm',\n inert: 'Insert',\n width: 'Width',\n height: 'Height'\n },\n controls: {\n clear: 'Clear',\n undo: 'Undo',\n redo: 'Redo',\n fontSize: 'Font Size',\n color: 'Color',\n textColor: 'Text',\n tempColors: 'Temp Colors',\n backgroundColor: 'Background',\n bold: 'Bold',\n lineHeight:'Line Height',\n letterSpacing:'Letter Spacing',\n textIndent:'Indent at both ends',\n italic: 'Italic',\n underline: 'Underline',\n strikeThrough: 'Strike Through',\n fontFamily: 'Font Family',\n textAlign: 'Text Alignment',\n alignLeft: 'Left Alignment',\n alignCenter: 'Center Alignment',\n alignRight: 'Right Alignment',\n alignJustify: 'Justify Alignment',\n floatLeft: 'Left Float',\n floatRight: 'Right Float',\n superScript: 'Super Script',\n subScript: 'Sub Script',\n removeStyles: 'Remove Styles',\n headings: 'Headings',\n header: 'Header',\n normal: 'Normal',\n orderedList: 'Ordered List',\n unorderedList: 'Unordered List',\n blockQuote: 'Quote',\n code: 'Code',\n link: 'Link',\n unlink: 'Unlink',\n hr: 'Horizontal Line',\n media: 'Media',\n mediaLibirary: 'Media Libirary',\n emoji: 'Emoji'\n },\n linkEditor: {\n inputPlaceHolder: 'Input link URL',\n inputWithEnterPlaceHolder: 'Input link URL and press Enter',\n openInNewWindow: 'Open in new window',\n removeLink: 'Remove Link'\n },\n audioPlayer: {\n title: 'Play Audio'\n },\n videoPlayer: {\n title: 'Play Video',\n embedTitle: 'Embed Media'\n },\n media: {\n image: 'Image',\n video: 'Video',\n audio: 'Audio',\n embed: 'Embed'\n }\n}","export default {\n base: {\n remove: '删除',\n cancel: '取消',\n confirm: '确定',\n inert: '插入',\n width: '宽度',\n height: '高度'\n },\n controls: {\n clear: '清除内容',\n undo: '撤销',\n redo: '重做',\n fontSize: '字号',\n lineHeight: '行高',\n letterSpacing: '字间距',\n textIndent: '两端缩进',\n border: '边框',\n color: '颜色',\n textColor: '文字颜色',\n backgroundColor: '背景颜色',\n tempColors: '临时颜色',\n bold: '加粗',\n italic: '斜体',\n underline: '下划线',\n strikeThrough: '删除线',\n fontFamily: '字体',\n textAlign: '文本对齐',\n alignLeft: '居左',\n alignCenter: '居中',\n alignRight: '居右',\n alignJustify: '两端',\n floatLeft: '左浮动',\n floatRight: '右浮动',\n superScript: '上标',\n subScript: '下标',\n removeStyles: '清除样式',\n headings: '标题',\n header: '标题',\n normal: '常规',\n orderedList: '有序列表',\n unorderedList: '无序列表',\n blockQuote: '引用',\n code: '代码',\n link: '链接',\n unlink: '清除链接',\n hr: '水平线',\n media: '媒体',\n mediaLibirary: '媒体库',\n emoji: '小表情'\n },\n linkEditor: {\n inputPlaceHolder: '输入链接地址',\n inputWithEnterPlaceHolder: '输入链接地址并回车',\n openInNewWindow: '在新窗口打开',\n removeLink: '移除链接'\n },\n audioPlayer: {\n title: '播放音频文件'\n },\n videoPlayer: {\n title: '播放视频文件',\n embedTitle: '嵌入式媒体'\n },\n media: {\n image: '图像',\n video: '视频',\n audio: '音频',\n embed: '嵌入式媒体'\n }\n}","export default {\n base: {\n remove: '刪除',\n cancel: '取消',\n confirm: '確定',\n inert: '插入',\n width: '宽度',\n height: '高度'\n },\n controls: {\n clear: '清除内容',\n undo: '撤銷',\n redo: '重做',\n fontSize: '字號',\n color: '顏色',\n textColor: '文字顏色',\n backgroundColor: '背景顏色',\n tempColors: '臨時顏色',\n bold: '加粗',\n lineHeight: '行高',\n letterSpacing: '字間距',\n textIndent: '兩端縮進',\n border: '邊框',\n italic: '斜體',\n underline: '下劃線',\n strikeThrough: '刪除線',\n fontFamily: '字體',\n textAlign: '文本對齊',\n alignLeft: '居左',\n alignCenter: '居中',\n alignRight: '居右',\n alignJustify: '兩端對齊',\n floatLeft: '左浮動',\n floatRight: '右浮動',\n superScript: '上標',\n subScript: '下標',\n removeStyles: '清除样式',\n headings: '標題',\n header: '標題',\n normal: '常規',\n orderedList: '有序列表',\n unorderedList: '無序列表',\n blockQuote: '引用',\n code: '代碼',\n link: '鏈接',\n unlink: '清除鏈接',\n hr: '水平线',\n media: '媒體',\n mediaLibirary: '媒體库',\n emoji: '小表情'\n },\n linkEditor: {\n inputPlaceHolder: '輸入鏈接地址',\n inputWithEnterPlaceHolder: '輸入鏈接地址並回車',\n openInNewWindow: '在新窗口打開',\n removeLink: '移除鏈接'\n },\n audioPlayer: {\n title: '播放音頻文件'\n },\n videoPlayer: {\n title: '播放視頻文件',\n embedTitle: '嵌入式媒體'\n },\n media: {\n image: '圖像',\n video: '視頻',\n audio: '音頻',\n embed: '嵌入式媒體'\n }\n}","import en from './en'\nimport zh from './zh'\nimport zhHant from './zh-hant'\n\nexport default {\n 'en': en,\n 'zh': zh,\n 'zh-hant': zhHant\n}","import { getDefaultKeyBinding, KeyBindingUtil } from 'draft-js'\n\n// TODO\n// 允许自定义的快捷键设置\n\nexport default (customKeyBindingFn) => (event) => {\n\n if (event.keyCode === 83 && (KeyBindingUtil.hasCommandModifier(event) || KeyBindingUtil.isCtrlKeyCommand(event))) {\n return 'braft-save'\n }\n\n if (customKeyBindingFn) {\n return customKeyBindingFn(event) || getDefaultKeyBinding(event)\n }\n\n return getDefaultKeyBinding(event)\n\n}\n","export default {\n language: 'zh',\n controls: [\n 'undo', 'redo', 'separator',\n 'font-size', 'line-height', 'letter-spacing', 'separator',\n 'text-color', 'bold', 'italic', 'underline', 'strike-through', 'separator',\n 'superscript', 'subscript', 'remove-styles', 'emoji', 'text-align', 'separator',\n 'headings', 'list-ul', 'list-ol', 'blockquote', 'code', 'separator',\n 'link', 'split', 'hr', 'separator',\n 'media', 'separator',\n 'clear'\n ],\n excludeControls: [],\n extendControls: [],\n extendAtomics: [],\n componentBelowControlBar: null,\n media: {\n pasteImage: true,\n image: true,\n video: true,\n audio: true,\n uploadFn: null,\n validateFn: null,\n onBeforeDeselect: null,\n onDeselect: null,\n onBeforeSelect: null,\n onSelect: null,\n onBeforeRemove: null,\n onRemove: null,\n onCancel: null,\n onFileSelect: null,\n onBeforeInsert: null,\n onInsert: null,\n onChange: null,\n externals: {\n audio: true,\n video: true,\n image: true,\n embed: true\n },\n },\n imageControls: [\n 'float-left', 'float-right',\n 'align-left', 'align-center', 'align-right',\n 'link', 'size', 'remove'\n ],\n colors: [\n '#000000', '#333333', '#666666', '#999999', '#cccccc', '#ffffff',\n '#61a951', '#16a085', '#07a9fe', '#003ba5', '#8e44ad', '#f32784',\n '#c0392b', '#d35400', '#f39c12', '#fdda00', '#7f8c8d', '#2c3e50'\n ],\n tabIndents: 2,\n textAligns: ['left', 'center', 'right', 'justify'],\n textBackgroundColor: true,\n letterSpacings: [0, 1, 2, 3, 4, 5, 6],\n textIndents: [0, 14, 21, 28],\n lineHeights: [1, 1.2, 1.5, 1.75, 2, 2.5, 3, 4],\n fontSizes: [\n 12, 14, 16, 18, 20, 24,\n 28, 30, 32, 36, 40, 48,\n 56, 64, 72, 96, 120, 144\n ],\n fontFamilies: [{\n name: 'Araial',\n family: 'Arial, Helvetica, sans-serif'\n }, {\n name: 'Georgia',\n family: 'Georgia, serif'\n }, {\n name: 'Impact',\n family: 'Impact, serif'\n }, {\n name: 'Monospace',\n family: '\"Courier New\", Courier, monospace'\n }, {\n name: 'Tahoma',\n family: 'tahoma, arial, \"Hiragino Sans GB\", 宋体, sans-serif'\n }],\n emojis: [\n '🤣', '🙌', '💚', '💛', '👏', '😉', '💯',\n '💕', '💞', '💘', '💙', '💝', '🖤', '💜',\n '❤️', '😍', '😻', '💓', '💗', '😋', '😇',\n '😂', '😹', '😘', '💖', '😁', '😀', '🤞',\n '😲', '😄', '😊', '👍', '😌', '😃', '😅',\n '✌️', '🤗', '💋', '😗', '😽', '😚', '🤠',\n '😙', '😺', '👄', '😸', '😏', '😼', '👌',\n '😎', '😆', '😛', '🙏', '🤝', '🙂', '🤑',\n '😝', '😐', '😑', '🤤', '😤', '🙃', '🤡',\n '😶', '😪', '😴', '😵', '😓', '👊', '😦',\n '😷', '🤐', '😜', '🤓', '👻', '😥', '🙄',\n '🤔', '🤒', '🙁', '😔', '😯', '☹️', '☠️',\n '😰', '😩', '😖', '😕', '😒', '😣', '😢',\n '😮', '😿', '🤧', '😫', '🤥', '😞', '😬',\n '👎', '💀', '😳', '😨', '🤕', '🤢', '😱',\n '😭', '😠', '😈', '😧', '💔', '😟', '🙀',\n '💩', '👿', '😡', '😾', '🖕'\n ],\n stripPastedStyles: false,\n className: '',\n style: {},\n controlBarClassName: '',\n controlBarStyle: {},\n contentClassName: '',\n contentStyle: {},\n draftProps: {},\n hooks: {},\n onChange: null,\n onFocus: null,\n onBlur: null,\n onTab: null,\n onDelete: null,\n onSave: null\n}","import './style.scss'\nimport React from 'react'\n\nexport default (props) => {\n\n const { active, onClick, className } = props\n\n return (\n <div onClick={() => onClick()} className={'bf-switch ' + className + (active ? ' active' : '')}></div>\n )\n\n}\n","import React from 'react'\n\nexport default (lang) => [\n {\n key: 'undo',\n title: lang.controls.undo,\n text: <i className=\"bfi-undo\"></i>,\n type: 'editor-method',\n command: 'undo'\n }, {\n key: 'redo',\n title: lang.controls.redo,\n text: <i className=\"bfi-redo\"></i>,\n type: 'editor-method',\n command: 'redo'\n }, {\n key: 'remove-styles',\n title: lang.controls.removeStyles,\n text: <i className=\"bfi-format_clear\"></i>,\n type: 'editor-method',\n command: 'removeSelectionInlineStyles'\n }, {\n key: 'hr',\n title: lang.controls.hr,\n text: <i className=\"bfi-hr\"></i>,\n type: 'editor-method',\n command: 'insertHorizontalLine'\n }, {\n key: 'bold',\n title: lang.controls.bold,\n text: <i className=\"bfi-bold\"></i>,\n type: 'inline-style',\n command: 'bold'\n },{\n key: 'italic',\n title: lang.controls.italic,\n text: <i className=\"bfi-italic\"></i>,\n type: 'inline-style',\n command: 'italic'\n }, {\n key: 'underline',\n title: lang.controls.underline,\n text: <i className=\"bfi-underlined\"></i>,\n type: 'inline-style',\n command: 'underline'\n }, {\n key: 'strike-through',\n title: lang.controls.strikeThrough,\n text: <i className=\"bfi-strikethrough\"></i>,\n type: 'inline-style',\n command: 'strikethrough',\n }, {\n key: 'superscript',\n title: lang.controls.superScript,\n text: <i className=\"bfi-superscript\"></i>,\n type: 'inline-style',\n command: 'superscript'\n }, {\n key: 'subscript',\n title: lang.controls.subScript,\n text: <i className=\"bfi-subscript\"></i>,\n type: 'inline-style',\n command: 'subscript'\n }, {\n key: 'headings',\n title: lang.controls.headings,\n type: 'headings',\n }, {\n key: 'blockquote',\n title: lang.controls.blockQuote,\n text: <i className=\"bfi-quote\"></i>,\n type: 'block-type',\n command: 'blockquote',\n }, {\n key: 'code',\n title: lang.controls.code,\n text: <i className=\"bfi-code\"></i>,\n type: 'block-type',\n command: 'code-block'\n }, {\n key: 'list-ul',\n title: lang.controls.unorderedList,\n text: <i className=\"bfi-list\"></i>,\n type: 'block-type',\n command: 'unordered-list-item'\n }, {\n key: 'list-ol',\n title: lang.controls.orderedList,\n text: <i className=\"bfi-list-numbered\"></i>,\n type: 'block-type',\n command: 'ordered-list-item'\n }, {\n key: 'link',\n title: lang.controls.link,\n type: 'link'\n }, {\n key: 'text-color',\n title: lang.controls.color,\n type: 'text-color'\n }, {\n key: 'line-height',\n title: lang.controls.lineHeight, \n type: 'line-height'\n }, {\n key: 'letter-spacing',\n title: lang.controls.letterSpacing,\n type: 'letter-spacing'\n }, {\n key: 'text-indent',\n title: lang.controls.textIndent,\n type: 'text-indent'\n },{\n key: 'font-size',\n title: lang.controls.fontSize,\n type: 'font-size'\n }, {\n key: 'font-family',\n title: lang.controls.fontFamily,\n type: 'font-family'\n }, {\n key: 'text-align',\n title: lang.controls.textAlign,\n type: 'text-align'\n }, {\n key: 'media',\n title: lang.controls.media,\n text: <i className=\"bfi-media\"></i>,\n type: 'media'\n }, {\n key: 'emoji',\n title: lang.controls.emoji,\n text: <i className=\"bfi-emoji\"></i>,\n type: 'emoji'\n }, {\n key: 'clear',\n title: lang.controls.clear,\n text: lang.controls.clear,\n type: 'editor-method',\n command: 'clearEditorContent'\n }, {\n key: 'modal',\n type: 'modal',\n }, {\n key: 'button',\n type: 'button',\n }, {\n key: 'dropdown',\n type: 'dropdown',\n }, {\n key: 'component',\n type: 'component',\n }\n]\n\nexport const imageControlItems = {\n 'float-left': {\n text: <span data-float=\"left\"></span>,\n command: 'setImageFloat|left'\n },\n 'float-right': {\n text: <span data-float=\"right\"></span>,\n command: 'setImageFloat|right'\n },\n 'align-left': {\n text: <span data-align=\"left\"></span>,\n command: 'setImageAlignment|left'\n },\n 'align-center': {\n text: <span data-align=\"center\"></span>,\n command: 'setImageAlignment|center'\n },\n 'align-right': {\n text: <span data-align=\"right\"></span>,\n command: 'setImageAlignment|right'\n },\n 'size': {\n text: <span></span>,\n command: 'toggleSizeEditor'\n },\n 'link': {\n text: <span></span>,\n command: 'toggleLinkEditor'\n },\n 'remove': {\n text: <span></span>,\n command: 'removeImage'\n }\n}","import './style.scss'\nimport React from 'react'\nimport { ContentUtils } from 'braft-utils'\nimport Switch from 'components/common/Switch'\nimport { imageControlItems } from 'configs/controls'\n\nexport default class Image extends React.Component {\n\n state = {\n toolbarVisible: false,\n toolbarOffset: 0,\n linkEditorVisible: false,\n sizeEditorVisible: false,\n tempLink: null,\n tempWidth: null,\n tempHeight: null\n }\n\n render () {\n\n const { mediaData, language, imageControls } = this.props\n const { toolbarVisible, toolbarOffset, linkEditorVisible, sizeEditorVisible } = this.state\n const blockData = this.props.block.getData()\n\n let float = blockData.get('float')\n let alignment = blockData.get('alignment')\n let { src, url, link, link_target, width, height } = mediaData\n let imageStyles = {}\n let clearFix = false\n\n if (float) {\n alignment = null\n } else if (alignment === 'left') {\n imageStyles.float = 'left'\n clearFix = true\n } else if (alignment === 'right') {\n imageStyles.float = 'right'\n clearFix = true\n } else if (alignment === 'center') {\n imageStyles.textAlign = 'center'\n } else {\n imageStyles.float = 'left'\n clearFix = true\n }\n\n const renderedControlItems = imageControls.map((item, index) => {\n\n if (typeof item === 'string' && imageControlItems[item]) {\n return (\n <a className={item === 'link' && link ? 'active' : ''} key={index} href='javascript:void(0);' onClick={() => this.executeCommand(imageControlItems[item].command)}>\n {imageControlItems[item].text}\n </a>\n )\n } else if (item && item.onClick && (item.render || item.text)) {\n return (\n <a key={index} href='javascript:void(0);' onClick={() => this.executeCommand(item.onClick)}>\n {item.render ? item.render(mediaData) : item.text}\n </a>\n )\n } else {\n return null\n }\n\n })\n\n return (\n <div className='bf-media'>\n <div\n style={imageStyles}\n draggable={true}\n onMouseEnter={this.showToolbar}\n onMouseMove={this.showToolbar}\n onMouseLeave={this.hideToolbar}\n onDragStart={this.handleDragStart}\n onDragEnd={this.handleDragEnd}\n ref={instance => this.mediaEmbederInstance = instance}\n className='bf-image'\n >\n {toolbarVisible ? (\n <div\n style={{marginLeft: toolbarOffset}}\n ref={instance => this.toolbarElement = instance}\n data-float={float}\n data-align={alignment}\n className='bf-media-toolbar'\n >\n {linkEditorVisible ? (\n <div className='bf-image-link-editor'>\n <div className='editor-input-group'>\n <input type='text' placeholder={language.linkEditor.inputWithEnterPlaceHolder} onKeyDown={this.handleLinkInputKeyDown} onChange={this.setImageLink} defaultValue={link}/>\n <button type='button' onClick={this.confirmImageLink}>{language.base.confirm}</button>\n </div>\n <div className='switch-group'>\n <Switch\n active={link_target === '_blank'}\n onClick={() => this.setImageLinkTarget(link_target)}\n />\n <label>{language.linkEditor.openInNewWindow}</label>\n </div>\n </div>\n ) : null}\n {sizeEditorVisible ? (\n <div className='bf-image-size-editor'>\n <div className='editor-input-group'>\n <input type='text' placeholder={language.base.width} onKeyDown={this.handleSizeInputKeyDown} onChange={this.setImageWidth} defaultValue={width}/>\n <input type='text' placeholder={language.base.height} onKeyDown={this.handleSizeInputKeyDown} onChange={this.setImageHeight} defaultValue={height}/>\n <button type='button' onClick={this.confirmImageSize}>{language.base.confirm}</button>\n </div>\n </div>\n ) : null}\n {renderedControlItems}\n <i style={{marginLeft: toolbarOffset * -1}} className='bf-media-toolbar-arrow'></i>\n </div>\n ) : null}\n <img\n ref={instance => this.imageElement = instance}\n src={src || url} style={{width, height}} width={width} height={height}\n />\n </div>\n {clearFix && <div className='clearfix' style={{clear:'both',height:0,lineHeight:0,float:'none'}}></div>}\n </div>\n )\n\n }\n\n calcToolbarOffset () {\n\n if (!this.props.containerNode) {\n return 0\n }\n\n const viewRect = this.props.containerNode.getBoundingClientRect()\n const toolbarRect = this.toolbarElement.getBoundingClientRect()\n const imageRect = this.imageElement.getBoundingClientRect()\n\n const right = viewRect.right - (imageRect.right - imageRect.width / 2 + toolbarRect.width / 2)\n const left = (imageRect.left + imageRect.width / 2 - toolbarRect.width / 2) - viewRect.left\n\n if (right < 10) {\n return right - 10\n } else if (left < 10) {\n return left * -1 + 10\n } else {\n return 0\n }\n\n }\n\n handleDragStart = () => {\n\n window.__BRAFT_DRAGING__IMAGE__ = {\n block: this.props.block,\n mediaData: {\n type: 'IMAGE',\n ...this.props.mediaData\n }\n }\n\n this.setState({\n toolbarVisible: false\n }, () => {\n this.props.editor.setDraftProps({ readOnly: false })\n })\n\n return true\n\n }\n\n handleDragEnd = () => {\n\n window.__BRAFT_DRAGING__IMAGE__ = null\n return false\n\n }\n\n executeCommand = (command) => {\n if (typeof command === 'string') {\n const [method, param] = command.split('|')\n this[method] && this[method](param)\n } else if (typeof command === 'function') {\n command(this.props.block, this.props.editorState)\n }\n }\n\n removeImage = () => {\n this.props.editor.setValue(ContentUtils.removeBlock(this.props.editorState, this.props.block))\n this.props.editor.setDraftProps({ readOnly: false })\n }\n\n toggleLinkEditor = () => {\n this.setState({\n linkEditorVisible: !this.state.linkEditorVisible,\n sizeEditorVisible: false\n })\n }\n\n toggleSizeEditor = () => {\n this.setState({\n linkEditorVisible: false,\n sizeEditorVisible: !this.state.sizeEditorVisible\n })\n }\n\n handleLinkInputKeyDown = (e) => {\n\n if (e.keyCode === 13) {\n this.confirmImageLink()\n } else {\n return\n }\n\n }\n\n setImageLink = (e) => {\n this.setState({ tempLink: e.currentTarget.value })\n return\n }\n\n setImageLinkTarget (link_target) {\n\n link_target = link_target === '_blank' ? '' : '_blank'\n this.props.editor.setValue(ContentUtils.setMediaData(this.props.editorState, this.props.entityKey, { link_target }))\n window.setImmediate(this.props.editor.forceRender)\n\n }\n\n confirmImageLink = () => {\n\n const { tempLink: link } = this.state\n\n if (link !== null) {\n this.props.editor.setValue(ContentUtils.setMediaData(this.props.editorState, this.props.entityKey, { link }))\n window.setImmediate(this.props.editor.forceRender)\n }\n\n }\n\n handleSizeInputKeyDown = (e) => {\n if (e.keyCode === 13) {\n this.confirmImageSize()\n } else {\n return\n }\n }\n\n setImageWidth = ({ currentTarget }) => {\n\n let { value } = currentTarget\n\n value && !isNaN(value) && (value = value + 'px')\n\n this.setState({\n tempWidth: value\n })\n\n return\n\n }\n\n setImageHeight = ({ currentTarget }) => {\n\n let { value } = currentTarget\n\n value && !isNaN(value) && (value = value + 'px')\n\n this.setState({\n tempHeight: value\n })\n\n return\n\n }\n\n confirmImageSize = () => {\n\n const { tempWidth: width, tempHeight: height } = this.state\n const newImageSize = {}\n\n width !== null && (newImageSize.width = width)\n height !== null && (newImageSize.height = height)\n\n this.props.editor.setValue(ContentUtils.setMediaData(this.props.editorState, this.props.entityKey, newImageSize))\n window.setImmediate(this.props.editor.forceRender)\n\n }\n\n setImageFloat = (float) => {\n this.props.editor.setValue(ContentUtils.setMediaPosition(this.props.editorState, this.props.block, { float }))\n this.props.editor.setDraftProps({ readOnly: false })\n }\n\n setImageAlignment = (alignment) => {\n this.props.editor.setValue(ContentUtils.setMediaPosition(this.props.editorState, this.props.block, { alignment }))\n this.props.editor.setDraftProps({ readOnly: false })\n }\n\n showToolbar = (event) => {\n\n event.preventDefault()\n\n if (!this.state.toolbarVisible) {\n this.setState({\n toolbarVisible: true\n }, () => {\n this.props.editor.setDraftProps({ readOnly: true })\n this.setState({ toolbarOffset: this.calcToolbarOffset() })\n })\n }\n\n }\n\n hideToolbar = (event) => {\n\n event.preventDefault()\n\n this.setState({\n toolbarVisible: false\n }, () => {\n this.props.editor.setDraftProps({ readOnly: false })\n })\n\n }\n\n}","import React from 'react'\n\nexport default class extends React.Component {\n\n shouldComponentUpdate () {\n return false\n }\n\n render () {\n return <div>{this.props.children}</div>\n }\n\n}","import './style.scss'\nimport React from 'react'\nimport StaticContainer from 'components/common/StaticContainer'\nimport { ContentUtils } from 'braft-utils'\n\nexport default class Video extends React.Component {\n\n state = {\n toolbarVisible: false,\n }\n\n render () {\n\n const { toolbarVisible } = this.state\n const { mediaData } = this.props\n const { src, url, meta } = mediaData\n\n return (\n <div\n className='bf-video'\n onMouseOver={this.showToolbar}\n onMouseLeave={this.hideToolbar}\n >\n <StaticContainer>\n <video controls src={src || url} poster={meta.poster}/>\n </StaticContainer>\n {toolbarVisible ? (\n <div className='bf-embed-toolbar'>\n <a onClick={this.removeVideo}></a>\n </div>\n ) : null}\n </div>\n )\n\n }\n\n removeVideo = () => {\n this.props.editor.setValue(ContentUtils.removeBlock(this.props.editorState, this.props.block))\n }\n\n showToolbar = () => {\n this.setState({\n toolbarVisible: true\n })\n }\n\n hideToolbar = () => {\n this.setState({\n toolbarVisible: false\n })\n }\n\n}","import './style.scss'\nimport React from 'react'\nimport StaticContainer from 'components/common/StaticContainer'\nimport { ContentUtils } from 'braft-utils'\n\nexport default class Audio extends React.Component {\n\n state = {\n toolbarVisible: false,\n }\n\n render () {\n\n const { toolbarVisible } = this.state\n const { mediaData } = this.props\n const { src, url } = mediaData\n\n return (\n <div\n className='bf-audio'\n onMouseOver={this.showToolbar}\n onMouseLeave={this.hideToolbar}\n >\n <StaticContainer>\n <audio controls src={src || url}/>\n </StaticContainer>\n {toolbarVisible ? (\n <div className='bf-media-toolbar'>\n <a onClick={this.removeAudio}></a>\n </div>\n ) : null}\n </div>\n )\n\n }\n\n removeAudio = () => {\n this.props.editor.setValue(ContentUtils.removeBlock(this.props.editorState, this.props.block))\n }\n\n showToolbar = () => {\n this.setState({\n toolbarVisible: true\n })\n }\n\n hideToolbar = () => {\n this.setState({\n toolbarVisible: false\n })\n }\n\n}","import './style.scss'\nimport React from 'react'\nimport StaticContainer from 'components/common/StaticContainer'\nimport { ContentUtils } from 'braft-utils'\n\nexport default class Embed extends React.Component {\n\n state = {\n toolbarVisible: false,\n }\n\n render () {\n\n const { toolbarVisible } = this.state\n const { mediaData } = this.props\n const { src, url } = mediaData\n\n return (\n <div\n className='bf-embed'\n onMouseOver={this.showToolbar}\n onMouseLeave={this.hideToolbar}\n >\n <StaticContainer>\n <div className='bf-embed-player' dangerouslySetInnerHTML={{ __html: src || url}}></div>\n </StaticContainer>\n {toolbarVisible ? (\n <div className='bf-media-toolbar'>\n <a onClick={this.removeEmbed}></a>\n </div>\n ) : null}\n </div>\n )\n\n }\n\n removeEmbed = () => {\n this.props.editor.setValue(ContentUtils.removeBlock(this.props.editorState, this.props.block))\n }\n\n showToolbar = () => {\n this.setState({\n toolbarVisible: true\n })\n }\n\n hideToolbar = () => {\n this.setState({\n toolbarVisible: false\n })\n }\n\n}","import React from 'react'\nimport { ContentUtils } from 'braft-utils'\nimport './style.scss'\n\nexport default class HorizontalLine extends React.Component {\n\n render () {\n\n return (\n <div className='bf-hr'>\n <div className='bf-media-toolbar'>\n <a onClick={this.removeHorizontalLine}></a>\n </div>\n </div>\n )\n\n }\n\n removeHorizontalLine = () => {\n this.props.editor.setValue(ContentUtils.removeBlock(this.props.editorState, this.props.block))\n }\n\n}","export default (customBlockStyleFn) => (block) => {\n\n const blockAlignment = block.getData() && block.getData().get('textAlign')\n const blockFloat = block.getData() && block.getData().get('float')\n\n let result = ''\n\n if (blockAlignment) {\n result = `bfa-${blockAlignment}`\n }\n\n if (blockFloat) {\n result += ` bff-${blockFloat}`\n }\n\n if (customBlockStyleFn) {\n result += customBlockStyleFn(block)\n }\n\n return result\n\n}","export default (props, customStyles = {}) => {\n\n const colorStyles = {}\n const bgColorStyles = {}\n const fontSizeStyles = {}\n const fontFamilyStyles = {}\n const lineHeightStyles = {}\n const letterSpacingtStyles = {}\n const indentStyles = {}\n\n props.colors.forEach((color) => {\n let color_id = color.replace('#', '').toUpperCase()\n colorStyles['COLOR-' + color_id] = { color }\n bgColorStyles['BGCOLOR-' + color_id] = { backgroundColor: color }\n })\n\n props.fontSizes.forEach((fontSize) => {\n fontSizeStyles['FONTSIZE-' + fontSize] = { fontSize: fontSize }\n })\n\n props.fontFamilies.forEach((fontFamily) => {\n fontFamilyStyles['FONTFAMILY-' + fontFamily.name.toUpperCase()] = {\n fontFamily: fontFamily.family\n }\n })\n\n props.lineHeights.forEach((lineHeight) => {\n lineHeightStyles['LINEHEIGHT-' + lineHeight] = { lineHeight: lineHeight }\n })\n\n props.letterSpacings.forEach((letterSpacing) => {\n letterSpacingtStyles['LETTERSPACING-' + letterSpacing] = { letterSpacing: letterSpacing }\n })\n props.textIndents.forEach((indent) => {\n indentStyles['INDENT-' + indent] = { paddingLeft: indent, paddingRight: indent}\n })\n \n return {\n 'SUPERSCRIPT': {\n position: 'relative',\n top: '-8px',\n fontSize: '11px'\n },\n 'SUBSCRIPT': {\n position: 'relative',\n bottom: '-8px',\n fontSize: '11px'\n },\n ...colorStyles,\n ...bgColorStyles,\n ...fontSizeStyles,\n ...fontFamilyStyles,\n ...lineHeightStyles,\n ...letterSpacingtStyles,\n ...indentStyles,\n ...customStyles\n }\n\n}","import React from 'react'\n\nfunction handleStrategy (contentBlock, callback, contentState) {\n\n contentBlock.findEntityRanges((character) => {\n const entityKey = character.getEntity()\n return (\n entityKey !== null &&\n contentState.getEntity(entityKey).getType() === 'LINK'\n )\n }, callback)\n\n}\n\nconst Link = (props) => {\n\n const { children, entityKey, contentState } = props\n const { href, target } = contentState.getEntity(entityKey).getData()\n\n return (\n <span className='bf-link-wrap'>\n <a onClick={(event) => viewLink(event, href)} className='bf-link' href={href} target={target}>{children}</a>\n </span>\n )\n\n}\n\nconst viewLink = (event, link) => {\n if (event.getModifierState('Shift')) {\n const tempLink = document.createElement('a')\n tempLink.href = link\n tempLink.target = '_blank'\n tempLink.click()\n }\n}\n\nexport default {\n strategy: handleStrategy,\n component: Link\n}","import Link from './Link'\n\nexport default [Link]","import React from 'react'\nimport { Map } from 'immutable'\nimport { DefaultDraftBlockRenderMap } from 'draft-js'\nimport Image from './atomics/Image'\nimport Video from './atomics/Video'\nimport Audio from './atomics/Audio'\nimport Embed from './atomics/Embed'\nimport HorizontalLine from './atomics/HorizontalLine'\nimport _getBlockStyleFn from './styles/blockStyles'\nimport _getCustomStyleMap from './styles/inlineStyles'\nimport _decorators from './decorators'\n\nconst getAtomicBlockComponent = (block, superProps) => (props) => {\n\n const entityKey = props.block.getEntityAt(0)\n\n if (!entityKey) {\n return null\n }\n\n const entity = props.contentState.getEntity(entityKey)\n const mediaData = entity.getData()\n const mediaType = entity.getType()\n const mediaProps = {\n ...superProps,\n block, mediaData, entityKey\n }\n\n if (mediaType === 'IMAGE') {\n return <Image { ...mediaProps } />\n } else if (mediaType === 'AUDIO') {\n return <Audio { ...mediaProps } />\n } else if (mediaType === 'VIDEO') {\n return <Video { ...mediaProps } />\n } else if (mediaType === 'EMBED') {\n return <Embed { ...mediaProps } />\n } else if (mediaType === 'HR') {\n return <HorizontalLine { ...mediaProps } />\n }\n\n if (superProps.extendAtomics) {\n const atomics = superProps.extendAtomics\n for (let i = 0; i < atomics.length; i++) {\n if (mediaType === atomics[i].type) {\n const Component = atomics[i].component\n return <Component {...mediaProps} />\n }\n }\n }\n\n return null\n\n}\n\nexport const getBlockRendererFn = (props, customBlockRendererFn) => (block) => {\n\n let blockRenderer = null\n\n if (block.getType() === 'atomic') {\n\n blockRenderer = {\n component: getAtomicBlockComponent(block, props),\n editable: false\n }\n\n } else if (customBlockRendererFn) {\n blockRenderer = customBlockRendererFn(block) || null\n }\n\n return blockRenderer\n\n}\n\nexport const customBlockRenderMap = Map({\n 'atomic': {\n element: ''\n },\n 'code-block': {\n element: 'code',\n wrapper: DefaultDraftBlockRenderMap.get('code-block').wrapper\n }\n})\n\nexport const getBlockStyleFn = _getBlockStyleFn\nexport const getCustomStyleMap = _getCustomStyleMap\nexport const decorators = _decorators","import { BaseUtils } from 'braft-utils'\n\nlet resizeEventHandlers = []\nlet responsiveHelperInited = false\nlet debouce = false\n\nexport default {\n\n resolve (eventHandler) {\n let id = BaseUtils.UniqueIndex()\n resizeEventHandlers.push({ id, eventHandler })\n return id\n },\n\n unresolve (id) {\n resizeEventHandlers = resizeEventHandlers.filter(item => item.id !== id)\n }\n\n}\n\nif (!responsiveHelperInited) {\n\n window.addEventListener('resize', (event) => {\n clearTimeout(debouce)\n debouce = setTimeout(() => {\n resizeEventHandlers.map((item) => {\n typeof item.eventHandler === 'function' && item.eventHandler(event)\n })\n debouce = false\n }, 100)\n })\n\n responsiveHelperInited = true\n\n}","import './style.scss'\nimport React from 'react'\nimport ResponsiveHelper from 'helpers/responsive'\nimport { BaseUtils } from 'braft-utils'\n\nexport default class DropDown extends React.Component {\n\n alive = false\n responsiveResolveId = null\n dropDownHandlerElement = null\n dropDownContentElement = null\n componentId = this.props.componentId || ('BRAFT-DROPDOWN-' + BaseUtils.UniqueIndex())\n state = {\n active: false,\n offset: 0,\n maxHeight: 100\n }\n\n componentDidMount () {\n\n this.alive = true\n\n document.body.addEventListener('click', (event) => {\n this.registerClickEvent(event)\n })\n\n this.responsiveResolveId = ResponsiveHelper.resolve(() => {\n this.fixDropDownPosition()\n })\n\n }\n\n componentWillReceiveProps (next) {\n\n if (!this.props.disabled && next.disabled) {\n this.hide()\n }\n\n }\n\n componentDidUpdate (prevState) {\n\n if (!prevState.active && this.state.active) {\n this.fixDropDownPosition()\n }\n\n }\n\n componentWillUnmount () {\n\n document.body.removeEventListener('click', (event) => {\n this.registerClickEvent(event)\n })\n\n this.alive = false\n ResponsiveHelper.unresolve(this.responsiveResolveId)\n\n }\n\n render () {\n\n let { active, offset, maxHeight } = this.state\n let { caption, htmlCaption, title, disabled, showArrow, arrowActive, className, children } = this.props\n\n disabled && (active = false)\n\n return (\n <div\n id={this.componentId}\n className={'bf-dropdown ' + (active ? 'active ' : '') + (disabled ? 'disabled ' : '') + className}\n >\n {htmlCaption ? (\n <button\n type='button'\n className='dropdown-handler'\n data-title={title}\n data-braft-component-id={this.componentId}\n dangerouslySetInnerHTML={htmlCaption ? {__html: htmlCaption} : null}\n ref={(instance) => this.dropDownHandlerElement = instance}\n ></button>\n ) : (\n <button\n type='button'\n className='dropdown-handler'\n data-title={title}\n data-braft-component-id={this.componentId}\n ref={(instance) => this.dropDownHandlerElement = instance}\n >\n <span>{caption}</span>\n {showArrow !== false ? <i className='bfi-drop-down'></i> : null}\n </button>\n )}\n <div\n className='dropdown-content'\n style={{marginLeft: offset }}\n ref={(instance) => this.dropDownContentElement = instance}\n >\n <i\n style={{marginLeft: offset * -1}}\n className={'dropdown-arrow' + (arrowActive ? ' active' : '')}\n ></i>\n <div\n className='dropdown-content-inner'\n style={{ maxHeight }}\n >\n {children}\n </div>\n </div>\n </div>\n )\n\n }\n\n fixDropDownPosition () {\n\n const viewRect = this.props.containerNode.getBoundingClientRect()\n const editorContentRect = this.props.containerNode.querySelector('.bf-content').getBoundingClientRect()\n const handlerRect = this.dropDownHandlerElement.getBoundingClientRect()\n const contentRect = this.dropDownContentElement.getBoundingClientRect()\n\n const maxHeight = editorContentRect.height + (editorContentRect.top - (handlerRect.top + handlerRect.height)) - 30\n\n let offset = 0\n let right = handlerRect.right - handlerRect.width / 2 + contentRect.width / 2\n let left = handlerRect.left + handlerRect.width / 2 - contentRect.width / 2\n\n right = viewRect.right - right\n left = left - viewRect.left\n\n if (right < 10) {\n offset = right - 10\n } else if (left < 10) {\n offset = left * -1 + 10\n }\n\n if (offset !== this.state.offset || maxHeight !== this.state.maxHeight) {\n this.setState({ offset, maxHeight })\n }\n\n }\n\n registerClickEvent (event) {\n\n let { autoHide } = this.props\n let active = false\n\n if (event.target.dataset.braftComponentId === this.componentId) {\n active = event.target.dataset.keepActive ? true : !this.state.active\n } else if (autoHide === false) {\n active = this.state.active\n }\n\n this.alive && this.setState({ active })\n\n }\n\n show () {\n this.setState({\n active: true\n })\n }\n\n hide () {\n this.setState({\n active: false\n })\n }\n\n\n}","import './style.scss'\nimport React from 'react'\nimport Switch from 'components/common/Switch'\nimport DropDown from 'components/common/DropDown'\nimport { ContentUtils } from 'braft-utils'\n\nexport default class LinkEditor extends React.Component {\n\n state = {\n href: '',\n target: ''\n }\n\n dropDownComponent = null\n\n componentWillReceiveProps (next) {\n\n const { href, target } = ContentUtils.getSelectionEntityData(next.editorState, 'LINK')\n this.setState({\n href: href || '',\n target: target || ''\n })\n\n }\n\n render () {\n\n const { href, target } = this.state\n const caption = <i className='bfi-link'></i>\n const textSelected = !ContentUtils.isSelectionCollapsed(this.props.editorState) && ContentUtils.getSelectionBlockType(this.props.editorState) !== 'atomic'\n\n return (\n <div className='control-item-group'>\n <DropDown\n caption={caption}\n title={this.props.language.controls.link}\n autoHide={false}\n containerNode={this.props.containerNode}\n showArrow={false}\n disabled={!textSelected}\n ref={(instance) => this.dropDownComponent = instance}\n className={'control-item dropdown link-editor-dropdown'}\n >\n <div className='bf-link-editor'>\n <div className='input-group'>\n <input\n type='text'\n value={href}\n spellCheck={false}\n placeholder={this.props.language.linkEditor.inputPlaceHolder}\n onKeyDown={this.handeKeyDown}\n onChange={this.inputLink}\n />\n </div>\n <div className='switch-group'>\n <Switch\n active={target === '_blank'}\n onClick={this.setTarget}\n />\n <label>{this.props.language.linkEditor.openInNewWindow}</label>\n </div>\n <div className='buttons'>\n <a onClick={this.handleUnlink} className='primary pull-left' href='javascript:void(0);'>\n <i className='bfi-close'></i>\n <span>{this.props.language.linkEditor.removeLink}</span>\n </a>\n <button type='button' onClick={this.handleConfirm} className='primary pull-right'>{this.props.language.base.confirm}</button>\n <button type='button' onClick={this.handleCancel} className='default pull-right'>{this.props.language.base.cancel}</button>\n </div>\n </div>\n </DropDown>\n <button\n type='button'\n data-title={this.props.language.controls.unlink}\n className='control-item button'\n onClick={this.handleUnlink}\n disabled={!textSelected || !href}\n >\n <i className='bfi-link-off'></i>\n </button>\n </div>\n )\n\n }\n\n handeKeyDown = (e) => {\n if (e.keyCode === 13) {\n this.handleConfirm()\n e.preventDefault()\n return false\n }\n }\n\n inputLink = (e) => {\n this.setState({\n href: e.currentTarget.value\n })\n }\n\n setTarget = () => {\n this.setState({\n target: this.state.target === '_blank' ? '' : '_blank'\n })\n }\n\n handleCancel = () => {\n this.dropDownComponent.hide()\n }\n\n handleUnlink = () => {\n this.dropDownComponent.hide()\n this.props.editor.setValue(ContentUtils.toggleSelectionLink(this.props.editorState, false))\n }\n\n handleConfirm = () => {\n\n let { href, target } = this.state\n const hookReturns = this.props.hooks('toggle-link', { href, target })({ href, target })\n\n this.dropDownComponent.hide()\n this.props.editor.requestFocus()\n\n if (hookReturns === false) {\n return false\n }\n\n if (hookReturns) {\n typeof hookReturns.href === 'string' && (href = hookReturns.href)\n typeof hookReturns.target === 'string' && (target = hookReturns.target)\n }\n\n this.props.editor.setValue(ContentUtils.toggleSelectionLink(this.props.editorState, href, target))\n\n }\n\n}","import React from 'react'\n\nexport const getHeadings = (lang) => [\n {\n key: 'header-one',\n title: lang.controls.header + ' 1',\n text: <h1>{lang.controls.header} 1</h1>,\n type: 'block-type',\n command: 'header-one'\n }, {\n key: 'header-two',\n title: lang.controls.header + ' 2',\n text: <h2>{lang.controls.header} 2</h2>,\n type: 'block-type',\n command: 'header-two'\n }, {\n key: 'header-three',\n title: lang.controls.header + ' 3',\n text: <h3>{lang.controls.header} 3</h3>,\n type: 'block-type',\n command: 'header-three'\n }, {\n key: 'header-four',\n title: lang.controls.header + ' 4',\n text: <h4>{lang.controls.header} 4</h4>,\n type: 'block-type',\n command: 'header-four'\n }, {\n key: 'header-five',\n title: lang.controls.header + ' 5',\n text: <h5>{lang.controls.header} 5</h5>,\n type: 'block-type',\n command: 'header-five'\n }, {\n key: 'header-six',\n title: lang.controls.header + ' 6',\n text: <h6>{lang.controls.header} 6</h6>,\n type: 'block-type',\n command: 'header-six'\n }, {\n key: 'unstyled',\n title: lang.controls.normal,\n text: lang.controls.normal,\n type: 'block-type',\n command: 'unstyled'\n }\n]\n\nexport const blocks = {\n 'header-one': 'h1',\n 'header-two': 'h2',\n 'header-three': 'h3',\n 'header-four': 'h4',\n 'header-fiv': 'h5',\n 'header-six': 'h6',\n 'unstyled': 'p',\n 'blockquote': 'blockquote'\n}","import './style.scss'\nimport React from 'react'\nimport { getHeadings } from 'configs/maps'\nimport DropDown from 'components/common/DropDown'\n\nexport default (props) => {\n\n const headings = getHeadings(props.language)\n const currentHeadingIndex = headings.findIndex((item) => item.command === props.current)\n const caption = headings[currentHeadingIndex] ? headings[currentHeadingIndex].title : props.language.controls.normal\n\n return (\n <DropDown\n caption={caption}\n containerNode={props.containerNode}\n title={props.language.controls.headings}\n arrowActive={currentHeadingIndex === 0}\n className={'control-item dropdown headings-dropdown'}\n >\n <ul className='menu'>\n {\n headings.map((item, index) => {\n let isActive = props.current === item.command\n return (\n <li\n key={index}\n className={'menu-item' + (isActive ? ' active' : '')}\n onClick={() => props.onChange(item.command, item.type)}\n >\n {item.text}\n </li>\n )\n })\n }\n </ul>\n </DropDown>\n )\n\n}","import './style.scss'\nimport React from 'react'\n\nexport default (props) => {\n\n const { current, colors } = props\n\n return (\n <div className='bf-colors-wrap'>\n <ul className='bf-colors'>\n {colors.map((item, index) => {\n let className = item === current ? 'color-item active' : 'color-item'\n return (\n <li\n key={index}\n title={item}\n className={className}\n style={{color: item}}\n data-color={item.replace('#', '')}\n onClick={(e) => props.onChange(e.currentTarget.dataset.color)}\n >\n </li>\n )\n })}\n </ul>\n </div>\n )\n\n}","import './style.scss'\nimport React from 'react'\nimport DropDown from 'components/common/DropDown'\nimport ColorPicker from 'components/common/ColorPicker'\nimport { BaseUtils, ContentUtils } from 'braft-utils'\n\nexport default class TextColor extends React.Component {\n\n state = {\n colorType: 'color'\n }\n\n dropDownComponentId = 'BRAFT-DROPDOWN-' + BaseUtils.UniqueIndex()\n\n render () {\n\n let captionStyle = {}\n let currentColor = null\n let { colorType } = this.state\n\n this.props.colors.forEach((color) => {\n let color_id = color.replace('#', '')\n if (ContentUtils.selectionHasInlineStyle(this.props.editorState, 'COLOR-' + color_id)) {\n captionStyle.color = color\n colorType === 'color' && (currentColor = color)\n }\n\n if (ContentUtils.selectionHasInlineStyle(this.props.editorState, 'BGCOLOR-' + color_id)) {\n captionStyle.backgroundColor = color\n colorType === 'background-color' && (currentColor = color)\n }\n\n })\n\n const caption = (\n <i style={captionStyle} className='bfi-text-color'>\n <span className='path1'></span>\n <span className='path2'></span>\n </i>\n )\n\n return (\n <DropDown\n caption={caption}\n title={this.props.language.controls.color}\n showArrow={false}\n containerNode={this.props.containerNode}\n componentId={this.dropDownComponentId}\n ref={(instance) => this.dropDownComponent = instance}\n className={'control-item dropdown text-color-dropdown'}\n >\n <div className='bf-text-color-picker-wrap'>\n <div className='bf-color-switch-buttons' style={this.props.enableBackgroundColor ? {} : {display: 'none'}}>\n <button\n type='button'\n data-type='color'\n data-keep-active={true}\n data-braft-component-id={this.dropDownComponentId}\n className={colorType === 'color' ? 'active' : ''}\n onClick={this.switchColorType}\n >{this.props.language.controls.textColor}</button>\n <button\n type='button'\n data-type='background-color'\n data-keep-active={true}\n data-braft-component-id={this.dropDownComponentId}\n className={colorType === 'background-color' ? 'active' : ''}\n onClick={this.switchColorType}\n >{this.props.language.controls.backgroundColor}</button>\n </div>\n <ColorPicker\n width={200}\n language={this.props.language}\n current={currentColor}\n disableAlpha={true}\n colors={this.props.colors}\n onChange={this.toggleColor}\n />\n </div>\n </DropDown>\n )\n\n }\n\n switchColorType = ({ currentTarget }) => {\n this.setState({\n colorType: currentTarget.dataset.type\n })\n }\n\n toggleColor = (color) => {\n\n const hookReturns = this.props.hooks(`toggle-text-${this.state.colorType}`, color)(color)\n\n if (hookReturns === false) {\n return false\n }\n\n if (typeof hookReturns === 'string') {\n color = hookReturns\n }\n\n if (this.state.colorType === 'color') {\n this.props.editor.setValue(ContentUtils.toggleSelectionColor(this.props.editorState, color, this.props.colors))\n } else {\n this.props.editor.setValue(ContentUtils.toggleSelectionBackgroundColor(this.props.editorState, color, this.props.colors))\n }\n\n this.dropDownComponent.hide()\n this.props.editor.requestFocus()\n\n }\n\n}","import './style.scss'\nimport React from 'react'\nimport DropDown from 'components/common/DropDown'\nimport { ContentUtils } from 'braft-utils'\n\nconst toggleFontSize = (event, props) => {\n\n let fontSize = event.currentTarget.dataset.size\n const hookReturns = props.hooks('toggle-font-size', fontSize)(fontSize)\n\n if (hookReturns === false) {\n return false\n }\n\n if (!isNaN(fontSize)) {\n fontSize = hookReturns\n }\n\n props.editor.setValue(ContentUtils.toggleSelectionFontSize(props.editorState, fontSize, props.fontSizes))\n props.editor.requestFocus()\n\n}\n\nexport default (props) => {\n\n let caption = null\n let currentFontSize = null\n\n props.fontSizes.find((item) => {\n if (ContentUtils.selectionHasInlineStyle(props.editorState, 'FONTSIZE-' + item)) {\n caption = item + 'px'\n currentFontSize = item\n return true\n }\n return false\n })\n\n return (\n <DropDown\n caption={caption || props.defaultCaption}\n containerNode={props.containerNode}\n title={props.language.controls.fontSize}\n className={'control-item dropdown bf-font-size-dropdown'}\n >\n <ul className='bf-font-sizes'>\n {props.fontSizes.map((item, index) => {\n return (\n <li\n key={index}\n className={item === currentFontSize ? 'active' : null}\n data-size={item}\n onClick={(event) => toggleFontSize(event, props)}\n >{item + 'px'}</li>\n )\n })}\n </ul>\n </DropDown>\n )\n\n}","import './style.scss'\nimport React from 'react'\nimport DropDown from 'components/common/DropDown'\nimport { ContentUtils } from 'braft-utils'\n\nconst toggleLineHeight = (event, props) => {\n\n let lineHeight = event.currentTarget.dataset.size\n const hookReturns = props.hooks('toggle-line-height', lineHeight)(lineHeight)\n\n if (hookReturns === false) {\n return false\n }\n\n if (!isNaN(hookReturns)) {\n lineHeight = hookReturns\n }\n\n props.editor.setValue(ContentUtils.toggleSelectionLineHeight(props.editorState, lineHeight, props.lineHeights))\n props.editor.requestFocus()\n\n}\n\nexport default (props) => {\n\n let caption = null\n let currentLineHeight = null\n\n props.lineHeights.find((item) => {\n if (ContentUtils.selectionHasInlineStyle(props.editorState, 'LINEHEIGHT-' + item)) {\n caption = item\n currentLineHeight = item\n return true\n }\n return false\n })\n\n return (\n <DropDown\n caption={caption || props.defaultCaption}\n containerNode={props.containerNode}\n title={props.language.controls.lineHeight}\n className={'control-item dropdown bf-line-height-dropdown'}\n >\n <ul className='bf-line-heights'>\n {props.lineHeights.map((item, index) => {\n return (\n <li\n key={index}\n className={item === currentLineHeight ? 'active' : null}\n data-size={item}\n onClick={(event) => toggleLineHeight(event, props)}\n >{item}</li>\n )\n })}\n </ul>\n </DropDown>\n )\n\n}","import './style.scss'\nimport React from 'react'\nimport DropDown from 'components/common/DropDown'\nimport { ContentUtils } from 'braft-utils'\n\nconst toggleFontFamily = (event, props) => {\n\n let fontFamilyName = event.currentTarget.dataset.name\n const hookReturns = props.hooks('toggle-font-family', fontFamilyName)(fontFamilyName, props.fontFamilies)\n\n if (hookReturns === false) {\n return false\n }\n\n if (typeof hookReturns === 'string') {\n fontFamilyName = hookReturns\n }\n\n props.editor.setValue(ContentUtils.toggleSelectionFontFamily(props.editorState, fontFamilyName, props.fontFamilies))\n props.editor.requestFocus()\n\n}\n\nexport default (props) => {\n\n let caption = null\n let currentIndex = null\n\n props.fontFamilies.find((item, index) => {\n if (ContentUtils.selectionHasInlineStyle(props.editorState, 'FONTFAMILY-' + item.name)) {\n caption = item.name\n currentIndex = index\n return true\n }\n return false\n })\n\n return (\n <DropDown\n caption={caption || props.defaultCaption}\n containerNode={props.containerNode}\n title={props.language.controls.fontFamily}\n arrowActive={currentIndex === 0}\n className={'control-item dropdown font-family-dropdown'}\n >\n <ul className='menu'>\n {props.fontFamilies.map((item, index) => {\n return (\n <li\n key={index}\n className={'menu-item ' + (index === currentIndex ? 'active' : '')}\n data-name={item.name}\n onClick={(event) => toggleFontFamily(event, props)}\n >\n <span style={{fontFamily: item.family}}>{item.name}</span>\n </li>\n )\n })}\n </ul>\n </DropDown>\n )\n\n}","import React from 'react'\nimport { ContentUtils } from 'braft-utils'\n\nexport default class TextAlign extends React.Component {\n\n state = {\n currentAlignment: undefined\n }\n\n componentWillReceiveProps (next) {\n this.setState({\n currentAlignment: ContentUtils.getSelectionBlockData(next.editorState, 'textAlign')\n })\n }\n\n setAlignment = (event) => {\n\n let { alignment } = event.currentTarget.dataset\n const hookReturns = this.props.hooks('toggle-text-alignment', alignment)(alignment)\n\n if (this.props.textAligns.indexOf(hookReturns) > -1) {\n alignment = hookReturns\n }\n\n this.props.editor.setValue(ContentUtils.toggleSelectionAlignment(this.props.editorState, alignment))\n this.props.editor.requestFocus()\n\n }\n\n render () {\n\n const textAlignmentTitles = [\n this.props.language.controls.alignLeft,\n this.props.language.controls.alignCenter,\n this.props.language.controls.alignRight,\n this.props.language.controls.alignJustify\n ]\n\n return (\n <div className='control-item-group'>\n {\n this.props.textAligns.map((item, index) => {\n return (\n <button\n type='button'\n key={index}\n data-title={textAlignmentTitles[index]}\n data-alignment={item}\n className={'control-item button ' + (item === this.state.currentAlignment ? 'active' : null)}\n onClick={this.setAlignment}\n >\n <i className={'bfi-align-' + item}></i>\n </button>\n )\n })\n }\n </div>\n )\n\n }\n\n}","import './style.scss'\nimport React from 'react'\nimport DropDown from 'components/common/DropDown'\nimport { ContentUtils } from 'braft-utils'\n\nconst insertEmoji = (event, props) => {\n\n let emoji = event.currentTarget.dataset.emoji\n const hookReturns = props.hooks('insert-emoji', emoji)(emoji)\n\n if (hookReturns === false) {\n return false\n }\n\n if (typeof hookReturns === 'string') {\n emoji = hookReturns\n }\n\n props.editor.setValue(ContentUtils.insertText(props.editorState, emoji))\n props.editor.requestFocus()\n\n}\n\nexport default (props) => {\n\n return (\n <DropDown\n caption={props.defaultCaption}\n showArrow={false}\n containerNode={props.containerNode}\n title={props.language.controls.emoji}\n className={'control-item dropdown bf-emoji-dropdown'}\n >\n <div className='bf-emojis-wrap'>\n <ul className='bf-emojis'>\n {props.emojis.map((item, index) => {\n return (\n <li\n key={index}\n data-emoji={item}\n onClick={(event) => insertEmoji(event, props)}\n >{item}</li>\n )\n })}\n </ul>\n </div>\n </DropDown>\n )\n\n}","import './style.scss'\nimport React from 'react'\nimport DropDown from 'components/common/DropDown'\nimport { ContentUtils } from 'braft-utils'\n\nconst toggleLetterSpacing = (event, props) => {\n\n let letterSpacing = event.currentTarget.dataset.size\n const hookReturns = props.hooks('toggle-letter-spacing', letterSpacing)(letterSpacing)\n\n if (hookReturns === false) {\n return false\n }\n\n if (!isNaN(hookReturns)) {\n letterSpacing = hookReturns\n }\n\n props.editor.setValue(ContentUtils.toggleSelectionLetterSpacing(props.editorState, letterSpacing, props.letterSpacings))\n props.editor.requestFocus()\n\n}\n\nexport default (props) => {\n\n let caption = null\n let currentLetterSpacing = null\n\n props.letterSpacings.find((item) => {\n if (ContentUtils.selectionHasInlineStyle(props.editorState, 'LETTERSPACING-' + item)) {\n caption = item\n currentLetterSpacing = item\n return true\n }\n return false\n })\n\n return (\n <DropDown\n caption={caption || props.defaultCaption}\n containerNode={props.containerNode}\n title={props.language.controls.letterSpacing}\n className={'control-item dropdown bf-letter-spacing-dropdown'}\n >\n <ul className='bf-letter-spacings'>\n {props.letterSpacings.map((item, index) => {\n return (\n <li\n key={index}\n className={item === currentLetterSpacing ? 'active' : null}\n data-size={item}\n onClick={(event) => toggleLetterSpacing(event, props)}\n >{item}</li>\n )\n })}\n </ul>\n </DropDown>\n )\n\n}","import './style.scss'\nimport React from 'react'\nimport DropDown from 'components/common/DropDown'\nimport { ContentUtils } from 'braft-utils'\n\nconst toggleTextIndent = (event, props) => {\n\n let textIndent = event.currentTarget.dataset.size\n const hookReturns = props.hooks('toggle-text-indent', textIndent)(textIndent)\n\n if (hookReturns === false) {\n return false\n }\n\n if (!isNaN(hookReturns)) {\n textIndent = hookReturns\n }\n\n props.editor.setValue(ContentUtils.toggleSelectionIndent(props.editorState, textIndent, props.textIndents))\n props.editor.requestFocus()\n\n}\n\nexport default (props) => {\n\n let caption = null\n let currentIndent = null\n\n props.textIndents.find((item) => {\n if (ContentUtils.selectionHasInlineStyle(props.editorState, 'INDENT-' + item)) {\n caption = item\n currentIndent = item\n return true\n }\n return false\n })\n\n return (\n <DropDown\n caption={caption || props.defaultCaption}\n containerNode={props.containerNode}\n title={props.language.controls.textIndent}\n className={'control-item dropdown bf-indent-dropdown'}\n >\n <ul className='bf-text-indents'>\n {props.textIndents.map((item, index) => {\n return (\n <li\n key={index}\n className={item === currentIndent ? 'active' : null}\n data-size={item}\n onClick={(event) => toggleTextIndent(event, props)}\n >{item}</li>\n )\n })}\n </ul>\n </DropDown>\n )\n\n}","import './style.scss'\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport { BaseUtils } from 'braft-utils'\n\nexport default class Modal extends React.Component {\n\n constructor (props) {\n\n super(props)\n this.active = false\n this.componentId = 'BRAFT-MODAL-' + BaseUtils.UniqueIndex()\n\n }\n\n static defaultProps = {\n showFooter: true\n }\n\n componentDidMount () {\n\n if (this.props.visible) {\n this.active = true\n this.renderComponent(this.props)\n }\n\n }\n\n componentWillReceiveProps (next) {\n\n if (this.props.visible && !next.visible) {\n this.unrenderComponent()\n } else if (this.props.visible || next.visible) {\n this.active = true\n this.renderComponent(next)\n }\n\n }\n\n render () {\n return null\n }\n\n handleTransitionEnd = () => {\n\n if (!this.rootElement || !this.rootElement.classList) {\n return false\n }\n\n if (!this.rootElement.classList.contains('active')) {\n ReactDOM.unmountComponentAtNode(this.rootElement) && this.rootElement.parentNode.removeChild(this.rootElement)\n }\n\n }\n\n unrenderComponent () {\n this.active = false\n this.activeId && window.clearImmediate(this.activeId)\n if (this.rootElement && this.rootElement.classList) {\n this.rootElement.classList.remove('active')\n }\n }\n\n renderComponent (props) {\n\n if (!this.active) {\n return false\n }\n\n let { title, className, width, height, children, confirmable, showFooter, showCancel, showConfirm, showClose, cancelText, confirmText, bottomText, language } = props\n\n typeof showCancel === 'undefined' && (showCancel = true)\n typeof showClose === 'undefined' && (showClose = true)\n typeof showConfirm === 'undefined' && (showConfirm = true)\n\n const childComponent = (\n <div className={'bf-modal ' + (className || '')}>\n <div className='bf-modal-mask'></div>\n <div onTransitionEnd={this.handleTransitionEnd} style={{width, height}} className='bf-modal-content'>\n <div className='bf-modal-header'>\n <h3 className='bf-modal-caption'>{title}</h3>\n {showClose && <button type='button' onClick={this.close} className='bf-modal-close-button'><i className='bf-icon-close'></i></button>}\n </div>\n <div className='bf-modal-body'>{children}</div>\n {showFooter ? (\n <div className='bf-modal-footer'>\n <div className='bf-modal-addon-text'>{bottomText}</div>\n <div className='bf-modal-buttons'>\n {showCancel && <button type='button' onClick={this.handleCancel} className='bf-modal-cancel'>{cancelText || language.base.cancel}</button>}\n {showConfirm && <button type='button' onClick={this.handleConfirm} className={'bf-modal-confirm ' + (!confirmable ? 'disabled' : '')}>{confirmText || language.base.confirm}</button>}\n </div>\n </div>\n ) : null}\n </div>\n </div>\n )\n\n this.rootElement = document.querySelector('#' + this.componentId)\n\n if (!this.rootElement) {\n this.rootElement = document.createElement('div')\n this.rootElement.id = this.componentId\n this.rootElement.className = 'bf-modal-root'\n document.body.appendChild(this.rootElement)\n }\n\n ReactDOM.render(childComponent, this.rootElement)\n\n this.activeId = window.setImmediate(() => {\n this.rootElement.classList.add('active')\n })\n\n }\n\n handleCancel = () => {\n this.props.closeOnCancel && this.close()\n this.props.onCancel && this.props.onCancel()\n }\n\n handleConfirm = () => {\n this.props.closeOnConfirm && this.close()\n this.props.onConfirm && this.props.onConfirm()\n }\n\n close = () => {\n this.unrenderComponent()\n this.props.onClose && this.props.onClose()\n }\n\n}\n\nexport const showModal = (props) => {\n\n const hostNode = document.createElement('div')\n hostNode.style.display = 'none'\n document.body.appendChild(hostNode)\n\n const close = () => {\n ReactDOM.unmountComponentAtNode(hostNode) && hostNode.parentNode.removeChild(hostNode)\n }\n\n const onConfirm = () => {\n close()\n props.onConfirm && props.onConfirm()\n }\n\n const onCancel = () => {\n close()\n props.onCancel && props.onCancel()\n }\n\n const onClose = () => {\n close()\n props.onClose && props.onClose()\n }\n\n const extProps = {\n onConfirm, onCancel, onClose,\n visible: true,\n closeOnConfirm: true,\n closeOnCancel: true\n }\n\n const modalInstance = ReactDOM.render(<Modal { ...props } { ...extProps }/>, hostNode)\n modalInstance.destroy = close\n modalInstance.update = modalInstance.renderComponent\n\n return modalInstance\n\n}","import './style.scss'\nimport React from 'react'\nimport getEditorControls from 'configs/controls'\nimport LinkEditor from 'components/business/LinkEditor'\nimport HeadingPicker from 'components/business/Headings'\nimport TextColorPicker from 'components/business/TextColor'\nimport FontSizePicker from 'components/business/FontSize'\nimport LineHeightPicker from 'components/business/LineHeight'\nimport FontFamilyPicker from 'components/business/FontFamily'\nimport TextAlign from 'components/business/TextAlign'\nimport EmojiPicker from 'components/business/EmojiPicker'\nimport LetterSpacingPicker from 'components/business/LetterSpacing'\nimport TextIndentPicker from 'components/business/TextIndent'\nimport DropDown from 'components/common/DropDown'\nimport { ContentUtils } from 'braft-utils'\nimport { showModal } from 'components/common/Modal'\n\nconst commandHookMap = {\n 'inline-style': 'toggle-inline-style',\n 'block-type': 'change-block-type',\n 'editor-method': 'exec-editor-command'\n}\n\nexport default class ControlBar extends React.Component {\n\n mediaLibiraryModal = null\n extendedModals = {}\n\n componentDidUpdate () {\n\n const { controls, language } = this.props\n\n controls.forEach(item => {\n if (item.type === 'modal') {\n if (item.modal && item.modal.id && this.extendedModals[item.modal.id]) {\n this.extendedModals[item.modal.id].update({ ...item.modal, language })\n }\n }\n })\n\n }\n\n getControlItemClassName (data) {\n\n let className = 'control-item button'\n let { type, command } = data\n\n if (type === 'inline-style' && ContentUtils.selectionHasInlineStyle(this.props.editorState, command)) {\n className += ' active'\n } else if (type === 'block-type' && ContentUtils.getSelectionBlockType(this.props.editorState) === command) {\n className += ' active'\n }\n\n return className\n\n }\n\n applyControl (command, type) {\n\n const hookReturns = this.props.hooks(commandHookMap[type] || type, command)(command)\n\n if (hookReturns === false) {\n return false\n }\n\n if (typeof hookReturns === 'string') {\n command = hookReturns\n }\n\n if (type === 'inline-style') {\n this.props.editor.setValue(ContentUtils.toggleSelectionInlineStyle(this.props.editorState, command))\n } else if (type === 'block-type') {\n this.props.editor.setValue(ContentUtils.toggleSelectionBlockType(this.props.editorState, command))\n } else if (type === 'editor-method') {\n this.props.editor[command] && this.props.editor[command]()\n }\n\n this.props.editor.requestFocus()\n\n }\n\n openBraftFinder = () => {\n\n if (!this.props.braftFinder || !this.props.braftFinder.ReactComponent) {\n return false\n }\n\n if (this.props.hooks('open-braft-finder')() === false) {\n return false\n }\n\n const mediaProps = this.props.media\n const MediaLibrary = this.props.braftFinder.ReactComponent\n\n this.mediaLibiraryModal = showModal({\n title: this.props.language.controls.mediaLibirary,\n language: this.props.language,\n width: 640,\n showFooter: false,\n children: (\n <MediaLibrary\n onCancel={this.closeBraftFinder}\n onInsert={this.insertMedias}\n onChange={mediaProps.onChange}\n externals={mediaProps.externals}\n onBeforeSelect={this.bindBraftFinderHook('select-medias')}\n onBeforeDeselect={this.bindBraftFinderHook('deselect-medias')}\n onBeforeRemove={this.bindBraftFinderHook('remove-medias')}\n onBeforeInsert={this.bindBraftFinderHook('insert-medias')}\n onFileSelect={this.bindBraftFinderHook('select-files')}\n />\n )\n })\n\n }\n\n bindBraftFinderHook = (hookName) => (...params) => {\n return this.props.hooks(hookName, params[0])(...params)\n }\n\n insertMedias = (medias) => {\n\n this.props.editor.setValue(ContentUtils.insertMedias(this.props.editorState, medias))\n this.props.editor.requestFocus()\n this.props.media.onInsert && this.props.media.onInsert(medias)\n this.closeBraftFinder()\n\n }\n\n closeBraftFinder = () => {\n\n this.props.media.onCancel && this.props.media.onCancel()\n this.mediaLibiraryModal && this.mediaLibiraryModal.close()\n\n }\n\n render() {\n\n const { editor, editorState, controls, media, extendControls, language, hooks, colors, fontSizes, fontFamilies, emojis, containerNode, lineHeights, letterSpacings, textAligns, textBackgroundColor, textIndents} = this.props\n const currentBlockType = ContentUtils.getSelectionBlockType(editorState)\n const editorControls = getEditorControls(language)\n const commonProps = { editor, editorState, language, containerNode, hooks }\n const renderedControls = []\n\n return (\n <div className='bf-controlbar'>\n {\n [\n ...controls,\n ...extendControls\n ].map((item, index) => {\n let itemKey = typeof item === 'string' ? item : item.key\n if (typeof itemKey !== 'string') {\n return null\n }\n if (renderedControls.indexOf(itemKey) > -1) {\n return null\n }\n if (itemKey.toLowerCase() === 'separator') {\n return <span key={index} className='separator-line'></span>\n }\n let controlItem = editorControls.find((subItem) => {\n return subItem.key.toLowerCase() === itemKey.toLowerCase()\n })\n if (typeof item !== 'string') {\n controlItem = { ...controlItem, ...item }\n }\n if (!controlItem) {\n return null\n }\n renderedControls.push(itemKey)\n if (controlItem.type === 'headings') {\n return <HeadingPicker\n key={index}\n current={currentBlockType}\n onChange={(command) => this.applyControl(command, 'block-type')}\n {...commonProps}\n />\n } else if (controlItem.type === 'text-color') {\n return <TextColorPicker\n key={index}\n colors={colors}\n enableBackgroundColor={textBackgroundColor}\n {...commonProps}\n />\n } else if (controlItem.type === 'font-size') {\n return <FontSizePicker\n key={index}\n fontSizes={fontSizes}\n defaultCaption={controlItem.title}\n {...commonProps}\n />\n } else if (controlItem.type === 'line-height') {\n return <LineHeightPicker\n key={index}\n lineHeights={lineHeights}\n defaultCaption={controlItem.title}\n {...commonProps}\n />\n } else if (controlItem.type === 'letter-spacing') {\n return <LetterSpacingPicker\n key={index}\n letterSpacings={letterSpacings}\n defaultCaption={controlItem.title}\n {...commonProps}\n />\n } else if (controlItem.type === 'text-indent') {\n return <TextIndentPicker\n key={index}\n textIndents={textIndents}\n defaultCaption={controlItem.title}\n {...commonProps}\n />\n } else if (controlItem.type === 'font-family') {\n return <FontFamilyPicker\n key={index}\n fontFamilies={fontFamilies}\n defaultCaption={controlItem.title}\n {...commonProps}\n />\n } else if (controlItem.type === 'emoji') {\n return <EmojiPicker\n key={index}\n emojis={emojis}\n defaultCaption={controlItem.text}\n {...commonProps}\n />\n } else if (controlItem.type === 'link') {\n return <LinkEditor\n key={index}\n {...commonProps}\n />\n } else if (controlItem.type === 'text-align') {\n return (\n <TextAlign\n key={index}\n textAligns={textAligns}\n {...commonProps}\n />\n )\n } else if (controlItem.type === 'media') {\n if (!media.image && !media.video && !media.audio) {\n return null\n }\n return (\n <button\n type='button'\n key={index}\n data-title={controlItem.title}\n className='control-item media button'\n onClick={this.openBraftFinder}\n >\n {controlItem.text}\n </button>\n )\n } else if (controlItem.type === 'dropdown') {\n return (\n <DropDown\n key={index}\n className={'control-item extend-control-item dropdown ' + controlItem.className}\n caption={controlItem.text}\n htmlCaption={controlItem.html}\n showArrow={controlItem.showArrow}\n containerNode={controlItem.containerNode}\n title={controlItem.title}\n arrowActive={controlItem.arrowActive}\n autoHide={controlItem.autoHide}\n disabled={controlItem.disabled}\n ref={controlItem.ref}\n >\n {controlItem.component}\n </DropDown>\n )\n } else if (controlItem.type === 'modal') {\n return (\n <button\n type='button'\n key={index}\n data-title={controlItem.title}\n className={'control-item extend-control-item button ' + controlItem.className}\n dangerouslySetInnerHTML={controlItem.html ? { __html: controlItem.html } : null}\n onClick={(event) => {\n if (controlItem.modal && controlItem.modal.id) {\n if (this.extendedModals[controlItem.modal.id]) {\n this.extendedModals[controlItem.modal.id].active = true\n this.extendedModals[controlItem.modal.id].update({ ...controlItem.modal, language })\n } else {\n this.extendedModals[controlItem.modal.id] = showModal({ ...controlItem.modal, language })\n controlItem.modal.onCreate && controlItem.modal.onCreate(this.extendedModals[controlItem.modal.id])\n }\n }\n controlItem.onClick && controlItem.onClick(event)\n }}\n >\n {!controlItem.html ? controlItem.text : null}\n </button>\n )\n } else if (controlItem.type === 'component') {\n return (\n <div\n key={index}\n className={'control-item component-wrapper ' + controlItem.className}\n >{controlItem.component}</div>\n )\n } else if (controlItem.type === 'button') {\n return (\n <button\n type='button'\n key={index}\n data-title={controlItem.title}\n className={'control-item button ' + controlItem.className}\n dangerouslySetInnerHTML={controlItem.html ? { __html: controlItem.html } : null}\n onClick={(event) => controlItem.onClick && controlItem.onClick(event)}\n >\n {!controlItem.html ? controlItem.text : null}\n </button>\n )\n } else {\n return (\n <button\n type='button'\n key={index}\n data-title={controlItem.title}\n className={this.getControlItemClassName({\n type: controlItem.type,\n command: controlItem.command\n })}\n onClick={() => this.applyControl(controlItem.command, controlItem.type)}\n >\n {controlItem.text}\n </button>\n )\n }\n })\n }\n </div>\n )\n\n }\n\n}","import 'draft-js/dist/Draft.css'\nimport 'assets/scss/_base.scss'\nimport React from 'react'\nimport languages from 'languages'\nimport BraftFinder from 'braft-finder'\nimport { ColorUtils, ContentUtils } from 'braft-utils'\nimport { CompositeDecorator, DefaultDraftBlockRenderMap, Editor } from 'draft-js'\nimport getKeyBindingFn from 'configs/keybindings'\nimport defaultProps from 'configs/props'\nimport { getBlockRendererFn, customBlockRenderMap, getBlockStyleFn, getCustomStyleMap, decorators } from 'renderers'\nimport ControlBar from 'components/business/ControlBar'\n\nconst buildHooks= (hooks) => (hookName, defaultReturns = {}) => {\n return hooks[hookName] || (() => defaultReturns)\n}\n\nexport const editorDecorators = new CompositeDecorator(decorators)\n\nexport default class BraftEditor extends React.Component {\n\n static defaultProps = defaultProps\n\n constructor (props) {\n\n super(props)\n\n this.isFocused = false\n this.keyBindingFn = getKeyBindingFn(props.customKeyBindingFn)\n this.blockStyleFn = getBlockStyleFn(props.blockStyleFn)\n this.blockRenderMap = DefaultDraftBlockRenderMap.merge(customBlockRenderMap)\n\n if (props.blockRenderMapFn) {\n this.blockRenderMap = props.blockRenderMapFn(this.blockRenderMap)\n }\n\n this.braftFinder = null\n const defaultEditorState = ContentUtils.isEditorState(props.defaultValue) ? props.defaultValue : ContentUtils.createEmptyEditorState(editorDecorators)\n\n this.state = {\n containerNode: null,\n tempColors: [],\n editorState: defaultEditorState,\n draftProps: {}\n }\n\n }\n\n componentWillMount () {\n\n const { controls, extendControls } = this.props\n\n if ([...controls, ...extendControls].find(item => item === 'media' || item.key === 'media')) {\n this.braftFinder = new BraftFinder({\n language: this.props.language,\n uploader: this.props.media.uploadFn,\n validator: this.props.media.validateFn\n })\n this.forceUpdate()\n }\n\n }\n\n componentDidMount () {\n\n const { value: editorState } = this.props\n\n if (ContentUtils.isEditorState(editorState)) {\n this.setState({ editorState })\n } else if (editorState) {\n // console.warn('')\n }\n\n }\n\n componentWillReceiveProps (nextProps) {\n\n const { value: editorState } = nextProps\n\n if (ContentUtils.isEditorState(editorState)) {\n this.setState({ editorState })\n } else if (editorState) {\n // console.warn('')\n }\n\n }\n\n onChange = (editorState) => {\n this.setState({ editorState }, () => {\n this.props.onChange && this.props.onChange(editorState)\n })\n }\n\n getDraftInstance = () => {\n return this.draftInstance\n }\n\n getFinderInstance = () => {\n return this.braftFinder\n }\n\n getValue = () => {\n return this.state.editorState\n }\n\n setValue = (editorState) => {\n return this.onChange(editorState)\n }\n\n forceRender = () => {\n return this.setValue(ContentUtils.createEditorState(this.state.editorState.getCurrentContent(), editorDecorators))\n }\n\n onTab = (event) => {\n\n if (ContentUtils.getSelectionBlockType(this.state.editorState) === 'code-block') {\n this.setValue(ContentUtils.insertText(this.state.editorState, ' '.repeat(this.props.tabIndents)))\n event.preventDefault()\n return false\n }\n\n this.props.onTab && this.props.onTab(event)\n\n }\n\n onFocus = () => {\n this.isFocused = true\n this.props.onFocus && this.props.onFocus()\n }\n\n onBlur = () => {\n this.isFocused = false\n this.props.onBlur && this.props.onBlur()\n }\n\n requestFocus = () => {\n setTimeout(() => this.draftInstance.focus(), 0)\n }\n\n handleKeyCommand = (command) => {\n\n if (command === 'braft-save') {\n this.props.onSave && this.props.onSave()\n return 'handled'\n }\n\n const nextEditorState = ContentUtils.handleKeyCommand(this.state.editorState, command)\n\n if (nextEditorState) {\n this.setValue(nextEditorState)\n return 'handled'\n }\n\n return 'not-handled'\n\n }\n\n handleReturn = (event) => {\n\n const currentBlock = ContentUtils.getSelectionBlock(this.state.editorState)\n const currentBlockType = currentBlock.getType()\n\n if (currentBlockType === 'unordered-list-item' || currentBlockType === 'ordered-list-item') {\n\n if (currentBlock.getLength() === 0) {\n this.setValue(ContentUtils.toggleSelectionBlockType(this.state.editorState, 'unstyled'))\n return 'handled'\n }\n\n return 'not-handled'\n\n } else if (currentBlockType === 'code-block') {\n\n if (\n event.which === 13 && (\n event.getModifierState('Shift') ||\n event.getModifierState('Alt') ||\n event.getModifierState('Control')\n )) {\n this.setValue(ContentUtils.toggleSelectionBlockType(this.state.editorState, 'unstyled'))\n return 'handled'\n }\n\n return 'not-handled'\n\n } else {\n\n const nextEditorState = ContentUtils.handleNewLine(this.state.editorState, event)\n\n if (nextEditorState) {\n this.setValue(nextEditorState)\n return 'handled'\n }\n\n return 'not-handled'\n\n }\n\n }\n\n handleDrop = (selectionState, dataTransfer) => {\n\n if (window && window.__BRAFT_DRAGING__IMAGE__) {\n\n let editorState = ContentUtils.removeBlock(this.state.editorState, window.__BRAFT_DRAGING__IMAGE__.block, selectionState)\n editorState = ContentUtils.insertMedias(editorState, [window.__BRAFT_DRAGING__IMAGE__.mediaData])\n\n window.__BRAFT_DRAGING__IMAGE__ = null\n\n this.setDraftProps({ readOnly: false })\n this.setValue(editorState)\n\n return 'handled'\n\n } else if (!dataTransfer || !dataTransfer.getText()) {\n return 'handled'\n }\n\n return 'not-handled'\n\n }\n\n handleDroppedFiles = (selectionState, files) => {\n return this.resolveFiles(files)\n }\n\n handlePastedFiles = (files) => {\n return this.resolveFiles(files)\n }\n\n handlePastedText = (text, htmlString) => {\n\n if (!htmlString || this.props.stripPastedStyles) {\n return false\n }\n\n const tempColors = ColorUtils.detectColorsFromHTMLString(htmlString)\n\n this.setState({\n tempColors: [...this.state.tempColors, ...tempColors].filter(item => this.props.colors.indexOf(item) === -1).filter((item, index, array) => array.indexOf(item) === index)\n }, () => {\n this.setValue(ContentUtils.insertHTML(this.state.editorState, htmlString))\n })\n\n return true\n\n }\n\n resolveFiles = (files) => {\n\n if (files[0] && files[0].type.indexOf('image') > -1 && this.props.media && this.props.media.pasteImage) {\n\n this.braftFinder.uploadImage(files[0], image => {\n this.setValue(ContentUtils.insertMedias(this.state.editorState, [image]))\n })\n \n return 'handled'\n\n }\n\n return 'not-handled'\n\n }\n\n undo = () => {\n this.setValue(ContentUtils.undo(this.state.editorState))\n }\n\n redo = () => {\n this.setValue(ContentUtils.redo(this.state.editorState))\n }\n\n removeSelectionInlineStyles = () => {\n this.setValue(ContentUtils.removeSelectionInlineStyles(this.state.editorState))\n }\n\n insertHorizontalLine = () => {\n this.setValue(ContentUtils.insertHorizontalLine(this.state.editorState))\n }\n\n clearEditorContent = () => {\n this.setValue(ContentUtils.clear(this.state.editorState))\n }\n\n render () {\n\n let {\n controls, excludeControls, extendControls, disabled, media, language, colors, hooks,\n fontSizes, fontFamilies, emojis, placeholder, imageControls, lineHeights, letterSpacings, textIndents, textAligns, textBackgroundColor,\n extendAtomics, className, style, controlBarClassName, controlBarStyle, contentClassName, contentStyle, stripPastedStyles, componentBelowControlBar\n } = this.props\n\n hooks = buildHooks(hooks)\n controls = controls.filter(item => excludeControls.indexOf(item) === -1)\n language = languages[language] || languages[defaultProps.language]\n\n const externalMedias = media && media.externals ? {\n ...defaultProps.media.externals,\n ...media.externals\n } : defaultProps.media.externals\n\n media = { ...defaultProps.media, ...media, externalMedias }\n\n if (!media.uploadFn) {\n media.video = false\n media.audio = false\n }\n\n const controlBarProps = {\n editor: this,\n editorState: this.state.editorState,\n braftFinder: this.braftFinder,\n ref: instance => this.controlBarInstance = instance,\n containerNode: this.state.containerNode,\n className: controlBarClassName,\n style: controlBarStyle, hooks,\n colors: [...colors, ...this.state.tempColors],\n media, controls, language, extendControls, fontSizes, fontFamilies,\n emojis, lineHeights, letterSpacings, textIndents, textAligns, textBackgroundColor\n }\n\n const blockRendererFn = getBlockRendererFn({\n editor: this, hooks,\n editorState: this.state.editorState,\n containerNode: this.state.containerNode,\n imageControls, language, extendAtomics\n }, this.props.blockRendererFn)\n\n const customStyleMap = getCustomStyleMap({\n colors: [...colors, ...this.state.tempColors],\n fontSizes, fontFamilies, lineHeights, letterSpacings, textIndents\n }, this.props.customStyleMap)\n\n const draftProps = {\n ref: instance => { this.draftInstance = instance },\n editorState: this.state.editorState,\n handleKeyCommand: this.handleKeyCommand,\n handleReturn: this.handleReturn,\n handleDrop: this.handleDrop,\n handleDroppedFiles: this.handleDroppedFiles,\n handlePastedText: this.handlePastedText,\n handlePastedFiles: this.handlePastedFiles,\n onChange: this.onChange,\n onTab: this.onTab,\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n readOnly: disabled,\n blockRenderMap: this.blockRenderMap,\n blockStyleFn: this.blockStyleFn,\n keyBindingFn: this.keyBindingFn,\n customStyleMap, blockRendererFn,\n placeholder, stripPastedStyles,\n ...this.props.draftProps,\n ...this.state.draftProps\n }\n\n return (\n <div ref={this.setEditorContainerNode} className={`bf-container ${className} ${(disabled ? 'disabled' : '')}`} style={style}>\n <ControlBar {...controlBarProps} />\n {componentBelowControlBar}\n <div className={`bf-content ${contentClassName}`} style={contentStyle}>\n <Editor {...draftProps} />\n </div>\n </div>\n )\n\n }\n\n setDraftProps (draftProps) {\n this.setState({\n draftProps: {\n ...this.state.draftProps,\n ...draftProps\n }\n })\n }\n\n setEditorContainerNode = (containerNode) => {\n this.setState({ containerNode }, this.forceRender)\n }\n\n}","import BraftEditor, { editorDecorators } from './editor'\nimport { EditorState } from 'draft-js'\nimport { convertRawToEditorState, convertHTMLToEditorState, convertEditorStateToRaw, convertEditorStateToHTML } from 'braft-convert'\n\n// 为EditorState对象增加toHTML原型方法,用于将editorState转换成HTML字符串\nEditorState.prototype.toHTML = function () {\n return convertEditorStateToHTML(this)\n}\n\n// 为EditorState对象增加toRAW原型方法,用于将editorState转换成RAW JSON对象或RAW JSON字符串\nEditorState.prototype.toRAW = function (noStringify) {\n return noStringify ? convertEditorStateToRaw(this) : JSON.stringify(convertEditorStateToRaw(this))\n}\n\n// 为EditorState对象增加新的静态方法,用于从raw或者html内容创建ediorState\nEditorState.createFrom = (content, options) => {\n\n if (typeof content === 'object' && content && content.blocks && content.entityMap) {\n return convertRawToEditorState(content, editorDecorators)\n } else if (typeof content === 'string') {\n try {\n return EditorState.createFrom(JSON.parse(content), options)\n } catch (error) {\n return convertHTMLToEditorState(content, editorDecorators, options)\n }\n } else {\n return EditorState.createEmpty(editorDecorators)\n }\n\n}\n\nexport default BraftEditor\nexport { EditorState, editorDecorators }\n\n// 2.0.0开发计划\n// [ ]完善各模块文档说明\n// [√]添加更多钩子(插入链接、切换样式等)\n// [√]优化内置的图片伪上传功能,用base64代替blob\n// [√]支持自定义图片工具栏按钮\n// [√]支持通过属性扩展customStyleMap, blockStyleFn, keyBindingFn, blockRendererFn, blockRenderMap等\n// [√]允许完全设置控制栏的按钮(['media', { key: 'blod', text: 'xxx' })\n// [√]允许在工具栏和内容区域直接插入自定义的组件[componentBelowControlBar]\n// [√]支持定义DropDown组件的样式\n// [√]media.validateFn支持异步函数\n// [√]优化音视频在编辑器内的预览体验\n// [√]标准化代码,引入ESLint\n// ---------------------------\n// 优化全选会选择上传中的项目的问题\n// 支持param.success时设置媒体文件的更多属性(尺寸等)\n\n// 2.1.0版本开发计划\n// [ ]美化UI,包括图标和界面风格\n// [ ]优化控件title提示\n\n// 2.2.0版本开发计划\n// [ ]允许自定义快捷键\n// [ ]优化图片param.success,支持传入link等\n// [ ]简化上传配置流程\n// [ ]支持draftjs插件机制\n// [ ]支持媒体库组件的更多个性化配置(placeholder等)\n// [ ]支持非媒体类附件\n// [ ]优化HTML格式无法存储媒体名称的问题 \n// [ ]完成font-size等样式的全量支持\n\n// 2.3.0版本开发计划\n// [ ]优化换行与空格\n// [ ]支持自定义Atomic组件\n// [ ]图片裁切等简单的编辑功能\n// [ ]代码块交互强化\n// [ ]初级表格功能\n","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin","// removed by extract-text-webpack-plugin"],"sourceRoot":""}
|