No Description

index.js 4.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. import React, { useState } from 'react';
  2. import { s as styleInject } from '../style-inject.es-1f59c1d0.js';
  3. import { _ as _defineProperty } from '../defineProperty-18999f8e.js';
  4. import { c as classnames } from '../index-e3cf212a.js';
  5. import { _ as _slicedToArray } from '../slicedToArray-4cd9e6d3.js';
  6. import BraftEditor from 'braft-editor';
  7. import 'braft-editor/dist/index.css';
  8. import 'braft-extensions/dist/emoticon.css';
  9. import Emoticon, { defaultEmoticons } from 'braft-extensions/dist/emoticon';
  10. import MaxLength from 'braft-extensions/dist/max-length';
  11. var css = ".index_baseWrapper__1_-58 {\n position: relative;\n}\n.index_baseWrapper__1_-58 .bf-container {\n display: flex;\n flex-direction: column;\n}\n.index_baseWrapper__1_-58 .bf-container .index_controlBar__3SzSH {\n box-shadow: none;\n}\n.index_baseWrapper__1_-58 .bf-container .index_editorContent__2UOaX {\n border: 1px solid #ccc;\n border-radius: 4px;\n height: auto;\n transition: border-color 0.3s;\n}\n.index_baseWrapper__1_-58 .bf-container .index_editorContent__2UOaX.index_focus__puDJA {\n border-color: #1790ff;\n}\n";
  12. var styles = {
  13. "baseWrapper": "index_baseWrapper__1_-58",
  14. "controlBar": "index_controlBar__3SzSH",
  15. "editorContent": "index_editorContent__2UOaX",
  16. "focus": "index_focus__puDJA"
  17. };
  18. styleInject(css);
  19. var lengthOptions = {
  20. defaultValue: 100
  21. };
  22. BraftEditor.use(MaxLength(lengthOptions));
  23. var emoticons = defaultEmoticons.map(function (item) {
  24. return require("braft-extensions/dist/assets/".concat(item));
  25. });
  26. var emotionOptions = {
  27. emoticons: emoticons,
  28. closeOnBlur: true,
  29. closeOnSelect: false
  30. };
  31. BraftEditor.use(Emoticon(emotionOptions));
  32. var BarftEditorPage = function BarftEditorPage(_ref) {
  33. var value = _ref.value,
  34. onChange = _ref.onChange,
  35. controls = _ref.controls,
  36. _ref$contentStyle = _ref.contentStyle,
  37. contentStyle = _ref$contentStyle === void 0 ? {} : _ref$contentStyle,
  38. draftProps = _ref.draftProps,
  39. placeholder = _ref.placeholder,
  40. blockRenderMap = _ref.blockRenderMap,
  41. blockRendererFn = _ref.blockRendererFn,
  42. blockStyleFn = _ref.blockStyleFn,
  43. onDelete = _ref.onDelete,
  44. onSave = _ref.onSave,
  45. onTab = _ref.onTab,
  46. _onFocus = _ref.onFocus,
  47. _onBlur = _ref.onBlur,
  48. converts = _ref.converts;
  49. var optionsControls = controls ? controls : ["bold", "italic", "underline", "separator", "link", "emoji", "separator", "media"];
  50. var options = {
  51. controls: optionsControls,
  52. showControlsBar: optionsControls && optionsControls.length > 0
  53. };
  54. var _useState = useState(false),
  55. _useState2 = _slicedToArray(_useState, 2),
  56. focusState = _useState2[0],
  57. setFocusState = _useState2[1];
  58. return React.createElement("div", {
  59. className: styles.baseWrapper
  60. }, React.createElement(BraftEditor, Object.assign({
  61. value: value,
  62. onChange: onChange,
  63. controls: options.controls,
  64. controlBarClassName: classnames(styles.controlBar, _defineProperty({}, styles.focus, focusState)),
  65. controlBarStyle: options.showControlsBar ? {} : {
  66. display: "none"
  67. },
  68. contentClassName: classnames(styles.editorContent, _defineProperty({}, styles.focus, focusState)),
  69. contentStyle: contentStyle,
  70. onFocus: function onFocus() {
  71. setFocusState(true);
  72. _onFocus && _onFocus();
  73. },
  74. onBlur: function onBlur() {
  75. setFocusState(false);
  76. _onBlur && _onBlur();
  77. },
  78. hooks: {
  79. "toggle-link": function toggleLink(_ref2) {
  80. var href = _ref2.href,
  81. target = _ref2.target;
  82. href = href.indexOf("http") === 0 ? href : "http://".concat(href);
  83. return {
  84. href: href,
  85. target: target
  86. };
  87. }
  88. }
  89. }, {
  90. blockRenderMap: blockRenderMap,
  91. blockRendererFn: blockRendererFn,
  92. blockStyleFn: blockStyleFn,
  93. converts: converts,
  94. placeholder: placeholder,
  95. draftProps: draftProps,
  96. onDelete: onDelete,
  97. onSave: onSave,
  98. onTab: onTab,
  99. onBlur: _onBlur
  100. })));
  101. };
  102. export default BarftEditorPage;
  103. export { BarftEditorPage };
  104. //# sourceMappingURL=index.js.map