@seafile/seafile-editor 2.0.43 → 2.0.45-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,7 +20,8 @@ const renderLink = (_ref, editor) => {
20
20
  let {
21
21
  attributes,
22
22
  children,
23
- element
23
+ element,
24
+ option
24
25
  } = _ref;
25
26
  const [isShowPopover, setIsShowPopover] = (0, _react.useState)(false);
26
27
  const [popoverPosition, setPopoverPosition] = (0, _react.useState)({
@@ -28,6 +29,9 @@ const renderLink = (_ref, editor) => {
28
29
  left: 0
29
30
  });
30
31
  const isReadonly = (0, _slateReact.useReadOnly)();
32
+ const {
33
+ render
34
+ } = option || {};
31
35
 
32
36
  // eslint-disable-next-line react-hooks/exhaustive-deps
33
37
  const isLinkActive = (0, _react.useMemo)(() => (0, _helper.isLinkType)(editor), [editor.selection]);
@@ -71,7 +75,15 @@ const renderLink = (_ref, editor) => {
71
75
  const onHrefClick = (0, _react.useCallback)(e => {
72
76
  e.preventDefault();
73
77
  }, []);
74
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", Object.assign({
78
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/(0, _react.isValidElement)(render) ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/(0, _react.cloneElement)(render, {
79
+ element,
80
+ isShowPopover,
81
+ onLinkClick,
82
+ onHrefClick,
83
+ attributes,
84
+ children,
85
+ editor
86
+ })) : /*#__PURE__*/_react.default.createElement("span", Object.assign({
75
87
  onClick: onLinkClick,
76
88
  "data-url": element.url,
77
89
  className: (0, _classnames.default)('sf-virtual-link', {
@@ -169,10 +169,17 @@ const transformBlockquote = node => {
169
169
  return {
170
170
  id: _slugid.default.nice(),
171
171
  type: _elementTypes.BLOCKQUOTE,
172
- children: children.map(child => {
172
+ children: Array.isArray(children) && children.length > 0 ? children.map(child => {
173
173
  const handler = elementHandlers[child.type];
174
- return handler(child);
175
- }).flat() // flat
174
+ return handler(child); // flat
175
+ }).flat() : [{
176
+ id: _slugid.default.nice(),
177
+ type: _elementTypes.PARAGRAPH,
178
+ children: [{
179
+ id: _slugid.default.nice(),
180
+ text: ''
181
+ }]
182
+ }]
176
183
  };
177
184
  };
178
185
  exports.transformBlockquote = transformBlockquote;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/seafile-editor",
3
- "version": "2.0.43",
3
+ "version": "2.0.45-beta",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {