@seafile/seafile-editor 2.0.23 → 2.0.25
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.
- package/dist/editors/slate-editor/style.css +2 -2
- package/dist/extension/commons/dropdown-menu-item/index.css +0 -2
- package/dist/extension/commons/insert-element-dialog/index.js +0 -6
- package/dist/extension/commons/menu/menu.css +2 -1
- package/dist/extension/commons/select/index.js +1 -1
- package/dist/extension/commons/select/style.css +3 -3
- package/dist/extension/plugins/image/menu/index.js +4 -12
- package/dist/extension/plugins/table/context-menu/index.js +1 -1
- package/dist/extension/plugins/table/context-menu/style.css +2 -2
- package/dist/extension/plugins/table/menu/index.js +1 -1
- package/dist/extension/toolbar/header-toolbar/index.js +10 -1
- package/dist/extension/toolbar/header-toolbar/insert-toolbar/index.js +5 -3
- package/dist/extension/toolbar/inline-toolbar/index.css +4 -0
- package/dist/extension/toolbar/inline-toolbar/index.js +12 -3
- package/dist/pages/longtext-inline-editor/index.css +4 -0
- package/dist/slate-convert/slate-to-md/index.js +14 -5
- package/package.json +1 -1
- package/public/media/seafile-editor-font/iconfont.eot +0 -0
- package/public/media/seafile-editor-font/iconfont.svg +2 -2
- package/public/media/seafile-editor-font/iconfont.ttf +0 -0
- package/public/media/seafile-editor-font/iconfont.woff +0 -0
- package/public/media/seafile-editor-font/iconfont.woff2 +0 -0
- package/public/media/seafile-editor-font.css +10 -12
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
.sf-slate-editor-container .sf-slate-editor-toolbar {
|
|
11
11
|
display: flex;
|
|
12
12
|
justify-content: center;
|
|
13
|
-
height:
|
|
13
|
+
height: 37px;
|
|
14
14
|
align-items: center;
|
|
15
15
|
padding: 0 10px;
|
|
16
16
|
background-color: #fff;
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
.sf-slate-editor-container .sf-slate-editor-content {
|
|
28
28
|
width: 100%;
|
|
29
|
-
height: calc(100% -
|
|
29
|
+
height: calc(100% - 37px);
|
|
30
30
|
display: flex;
|
|
31
31
|
background: #f5f5f5;
|
|
32
32
|
position: relative;
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
|
|
14
14
|
.sf-dropdown-menu .sf-dropdown-item-right-icon {
|
|
15
15
|
color: #999;
|
|
16
|
-
transform: scale(.8);
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
.sf-dropdown-menu .sf-dropdown-item-with-left-icon {
|
|
@@ -45,7 +44,6 @@
|
|
|
45
44
|
|
|
46
45
|
.sf-dropdown-menu .sf-dropdown-item-right-icon {
|
|
47
46
|
color: #999;
|
|
48
|
-
transform: scale(.8);
|
|
49
47
|
}
|
|
50
48
|
|
|
51
49
|
.sf-dropdown-menu .sf-dropdown-item-content .sf-dropdown-item-content-icon {
|
|
@@ -12,7 +12,6 @@ var _eventBus = _interopRequireDefault(require("../../../utils/event-bus"));
|
|
|
12
12
|
var _eventTypes = require("../../../constants/event-types");
|
|
13
13
|
var _constants = require("../../constants");
|
|
14
14
|
var _linkModal = _interopRequireDefault(require("../../plugins/link/menu/link-modal"));
|
|
15
|
-
var _imageMenuDialog = _interopRequireDefault(require("../../plugins/image/menu/image-menu-dialog"));
|
|
16
15
|
var _formulaModal = _interopRequireDefault(require("../../plugins/formula/menu/formula-modal"));
|
|
17
16
|
const InsertElementDialog = _ref => {
|
|
18
17
|
let {
|
|
@@ -78,11 +77,6 @@ const InsertElementDialog = _ref => {
|
|
|
78
77
|
linkTitle: linkInfo.linkTitle,
|
|
79
78
|
linkUrl: linkInfo.linkUrl
|
|
80
79
|
});
|
|
81
|
-
} else if (_constants.ELementTypes.IMAGE === dialogType) {
|
|
82
|
-
return isOpenLinkModal && /*#__PURE__*/_react.default.createElement(_imageMenuDialog.default, {
|
|
83
|
-
closeDialog: onCloseModal,
|
|
84
|
-
editor: editor
|
|
85
|
-
});
|
|
86
80
|
} else if (_constants.ELementTypes.FORMULA === dialogType) {
|
|
87
81
|
return isOpenLinkModal && /*#__PURE__*/_react.default.createElement(_formulaModal.default, {
|
|
88
82
|
onCloseModal: onCloseModal,
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
display: flex;
|
|
8
8
|
align-items: center;
|
|
9
9
|
justify-content: center;
|
|
10
|
+
border-radius: 0 !important;
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
.sf-menu-group .sf-menu-group-item {
|
|
@@ -33,7 +34,7 @@
|
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
.sf-menu-group .sf-menu-group-item .iconfont {
|
|
36
|
-
font-size:
|
|
37
|
+
font-size: 12px;
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
/* sf-menu-with-dropdown */
|
|
@@ -108,7 +108,7 @@ class Select extends _react.default.Component {
|
|
|
108
108
|
className: `control-container ${isActive ? 'active' : ''}`,
|
|
109
109
|
onClick: this.onSelectToggle
|
|
110
110
|
}, !currentOption && /*#__PURE__*/_react.default.createElement("span", {
|
|
111
|
-
className: "label placeholder"
|
|
111
|
+
className: "label placeholder-content"
|
|
112
112
|
}, placeholder), currentOption && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
|
|
113
113
|
className: `control-icon ${currentOption.iconClass}`
|
|
114
114
|
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
box-shadow: 0 0 0 2px rgb(70 127 207 / 25%);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
.select-container .control-container .placeholder {
|
|
28
|
+
.select-container .control-container .placeholder-content {
|
|
29
29
|
color: #BFBFBF;
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
position: absolute;
|
|
60
60
|
left: 0;
|
|
61
61
|
display: flex;
|
|
62
|
-
min-width:
|
|
62
|
+
min-width: 120px;
|
|
63
63
|
max-height: 265px;
|
|
64
64
|
margin-top: 4px;
|
|
65
65
|
padding: 8px 0;
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
flex-shrink: 0;
|
|
113
113
|
display: flex;
|
|
114
114
|
align-items: center;
|
|
115
|
-
min-width:
|
|
115
|
+
min-width: 120px;
|
|
116
116
|
height: 32px;
|
|
117
117
|
padding: 0 12px;
|
|
118
118
|
cursor: pointer;
|
|
@@ -9,8 +9,6 @@ exports.default = void 0;
|
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _elementTypes = require("../../../constants/element-types");
|
|
11
11
|
var _menusConfig = require("../../../constants/menus-config");
|
|
12
|
-
var _eventBus = _interopRequireDefault(require("../../../../utils/event-bus"));
|
|
13
|
-
var _eventTypes = require("../../../../constants/event-types");
|
|
14
12
|
var _helper = require("../helper");
|
|
15
13
|
var _dropdownMenuItem = _interopRequireDefault(require("../../../commons/dropdown-menu-item"));
|
|
16
14
|
var _reactstrap = require("reactstrap");
|
|
@@ -22,7 +20,8 @@ const ImageMenu = _ref => {
|
|
|
22
20
|
let {
|
|
23
21
|
readonly,
|
|
24
22
|
editor,
|
|
25
|
-
toggle
|
|
23
|
+
toggle,
|
|
24
|
+
setIsShowInternetImageModal
|
|
26
25
|
} = _ref;
|
|
27
26
|
const {
|
|
28
27
|
t
|
|
@@ -35,13 +34,6 @@ const ImageMenu = _ref => {
|
|
|
35
34
|
e.nativeEvent.stopImmediatePropagation();
|
|
36
35
|
(_fileInputRef$current = fileInputRef.current) === null || _fileInputRef$current === void 0 ? void 0 : _fileInputRef$current.click();
|
|
37
36
|
}, [toggle]);
|
|
38
|
-
const handleInsertNetworkImage = () => {
|
|
39
|
-
toggle && toggle();
|
|
40
|
-
const eventBus = _eventBus.default.getInstance();
|
|
41
|
-
eventBus.dispatch(_eventTypes.INTERNAL_EVENTS.INSERT_ELEMENT, {
|
|
42
|
-
type: _elementTypes.IMAGE
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
37
|
const handleUploadLocalImage = (0, _react.useCallback)(async e => {
|
|
46
38
|
const file = e.target.files[0];
|
|
47
39
|
if (!file) return;
|
|
@@ -53,7 +45,7 @@ const ImageMenu = _ref => {
|
|
|
53
45
|
menuConfig: menuConfig,
|
|
54
46
|
className: "pr-2"
|
|
55
47
|
}, !readonly && /*#__PURE__*/_react.default.createElement("i", {
|
|
56
|
-
className: "iconfont icon-
|
|
48
|
+
className: "iconfont icon-right-slide sf-dropdown-item-right-icon"
|
|
57
49
|
})), !readonly && /*#__PURE__*/_react.default.createElement(_reactstrap.UncontrolledPopover, {
|
|
58
50
|
target: menuConfig.id,
|
|
59
51
|
trigger: "hover",
|
|
@@ -68,7 +60,7 @@ const ImageMenu = _ref => {
|
|
|
68
60
|
onClick: openFileDIalog
|
|
69
61
|
}, t('Upload_local_image')), /*#__PURE__*/_react.default.createElement("div", {
|
|
70
62
|
className: "sf-dropdown-menu-item",
|
|
71
|
-
onClick:
|
|
63
|
+
onClick: () => setIsShowInternetImageModal(true)
|
|
72
64
|
}, t('Insert_network_image')))), /*#__PURE__*/_react.default.createElement("input", {
|
|
73
65
|
ref: fileInputRef,
|
|
74
66
|
onClick: openFileDIalog,
|
|
@@ -114,7 +114,7 @@ const ContextMenu = _ref => {
|
|
|
114
114
|
ref: horizontalAlignRef,
|
|
115
115
|
className: "sf-context-menu-item sf-dropdown-menu-item side-extendable"
|
|
116
116
|
}, /*#__PURE__*/_react.default.createElement("span", null, t('Horizontal_align')), /*#__PURE__*/_react.default.createElement("i", {
|
|
117
|
-
className: "iconfont icon-
|
|
117
|
+
className: "iconfont icon-right-slide"
|
|
118
118
|
})), horizontalAlignRef.current && /*#__PURE__*/_react.default.createElement(_horizontalAlignPopover.default, {
|
|
119
119
|
target: horizontalAlignRef,
|
|
120
120
|
editor: editor,
|
|
@@ -35,7 +35,7 @@ const TableMenu = _ref => {
|
|
|
35
35
|
menuConfig: menuConfig,
|
|
36
36
|
className: "pr-2"
|
|
37
37
|
}, !disabled && /*#__PURE__*/_react.default.createElement("i", {
|
|
38
|
-
className: "iconfont icon-
|
|
38
|
+
className: "iconfont icon-right-slide sf-dropdown-item-right-icon"
|
|
39
39
|
})), !disabled && isOpenTableSizeSelector && /*#__PURE__*/_react.default.createElement(_tableSizeSelector.default, {
|
|
40
40
|
ref: tablePopoverRef,
|
|
41
41
|
editor: editor,
|
|
@@ -21,6 +21,7 @@ var _menu7 = _interopRequireDefault(require("../../plugins/clear-format/menu"));
|
|
|
21
21
|
var _shortcutDialog = _interopRequireDefault(require("../user-help/shortcut-dialog"));
|
|
22
22
|
var _insertElementDialog = _interopRequireDefault(require("../../commons/insert-element-dialog"));
|
|
23
23
|
var _insertToolbar = _interopRequireDefault(require("./insert-toolbar"));
|
|
24
|
+
var _imageMenuDialog = _interopRequireDefault(require("../../plugins/image/menu/image-menu-dialog"));
|
|
24
25
|
require("./style.css");
|
|
25
26
|
const Toolbar = _ref => {
|
|
26
27
|
let {
|
|
@@ -32,10 +33,14 @@ const Toolbar = _ref => {
|
|
|
32
33
|
isSupportColumn = false
|
|
33
34
|
} = _ref;
|
|
34
35
|
(0, _useSelectionUpdate.default)();
|
|
36
|
+
const [isShowInternetImageModal, setIsShowInternetImageModal] = (0, _react.useState)(false);
|
|
35
37
|
const [isShowHelpModal, setIsShowHelpModal] = (0, _react.useState)(false);
|
|
36
38
|
const onHelpIconToggle = (0, _react.useCallback)(() => {
|
|
37
39
|
setIsShowHelpModal(!isShowHelpModal);
|
|
38
40
|
}, [isShowHelpModal]);
|
|
41
|
+
const onToggleImageDialog = (0, _react.useCallback)(() => {
|
|
42
|
+
setIsShowInternetImageModal(false);
|
|
43
|
+
}, []);
|
|
39
44
|
const commonProps = {
|
|
40
45
|
editor,
|
|
41
46
|
readonly,
|
|
@@ -47,7 +52,8 @@ const Toolbar = _ref => {
|
|
|
47
52
|
editor: editor,
|
|
48
53
|
readonly: readonly,
|
|
49
54
|
isSupportFormula: isSupportFormula,
|
|
50
|
-
isSupportColumn: isSupportColumn
|
|
55
|
+
isSupportColumn: isSupportColumn,
|
|
56
|
+
setIsShowInternetImageModal: setIsShowInternetImageModal
|
|
51
57
|
})), /*#__PURE__*/_react.default.createElement(_commons.MenuGroup, null, /*#__PURE__*/_react.default.createElement(_menu2.default, commonProps)), /*#__PURE__*/_react.default.createElement(_commons.MenuGroup, null, /*#__PURE__*/_react.default.createElement(_menu3.default, Object.assign({}, commonProps, {
|
|
52
58
|
type: _constants.TEXT_STYLE_MAP.ITALIC
|
|
53
59
|
})), /*#__PURE__*/_react.default.createElement(_menu3.default, Object.assign({}, commonProps, {
|
|
@@ -70,6 +76,9 @@ const Toolbar = _ref => {
|
|
|
70
76
|
toggleShortcutDialog: onHelpIconToggle
|
|
71
77
|
}), /*#__PURE__*/_react.default.createElement(_insertElementDialog.default, {
|
|
72
78
|
editor: editor
|
|
79
|
+
}), isShowInternetImageModal && /*#__PURE__*/_react.default.createElement(_imageMenuDialog.default, {
|
|
80
|
+
editor: editor,
|
|
81
|
+
closeDialog: onToggleImageDialog
|
|
73
82
|
}));
|
|
74
83
|
};
|
|
75
84
|
var _default = exports.default = Toolbar;
|
|
@@ -25,7 +25,8 @@ const InsertToolbar = _ref => {
|
|
|
25
25
|
editor,
|
|
26
26
|
readonly,
|
|
27
27
|
isSupportFormula,
|
|
28
|
-
isSupportColumn
|
|
28
|
+
isSupportColumn,
|
|
29
|
+
setIsShowInternetImageModal
|
|
29
30
|
} = _ref;
|
|
30
31
|
const [isShowMenu, setMenuShow] = (0, _react.useState)(false);
|
|
31
32
|
const {
|
|
@@ -61,7 +62,8 @@ const InsertToolbar = _ref => {
|
|
|
61
62
|
const props = {
|
|
62
63
|
editor,
|
|
63
64
|
readonly,
|
|
64
|
-
toggle
|
|
65
|
+
toggle,
|
|
66
|
+
setIsShowInternetImageModal
|
|
65
67
|
};
|
|
66
68
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("button", {
|
|
67
69
|
type: "button",
|
|
@@ -72,7 +74,7 @@ const InsertToolbar = _ref => {
|
|
|
72
74
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
73
75
|
className: "sf-menu-with-dropdown-icon"
|
|
74
76
|
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
75
|
-
className: "iconfont icon-
|
|
77
|
+
className: "iconfont icon-insert mr-1"
|
|
76
78
|
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
77
79
|
className: "text-truncate"
|
|
78
80
|
}, t('Insert'))), /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -20,6 +20,7 @@ var _elementTypes = require("../../constants/element-types");
|
|
|
20
20
|
var _menu7 = _interopRequireDefault(require("../../plugins/clear-format/menu"));
|
|
21
21
|
var _shortcutDialog = _interopRequireDefault(require("../user-help/shortcut-dialog"));
|
|
22
22
|
var _insertToolbar = _interopRequireDefault(require("../header-toolbar/insert-toolbar"));
|
|
23
|
+
var _imageMenuDialog = _interopRequireDefault(require("../../plugins/image/menu/image-menu-dialog"));
|
|
23
24
|
require("./index.css");
|
|
24
25
|
const InlineToolbar = _ref => {
|
|
25
26
|
let {
|
|
@@ -32,10 +33,14 @@ const InlineToolbar = _ref => {
|
|
|
32
33
|
onExpandEditorToggle
|
|
33
34
|
} = _ref;
|
|
34
35
|
(0, _useSelectionUpdate.default)();
|
|
36
|
+
const [isShowInternetImageModal, setIsShowInternetImageModal] = (0, _react.useState)(false);
|
|
35
37
|
const [isShowHelpModal, setIsShowHelpModal] = (0, _react.useState)(false);
|
|
36
38
|
const onHelpIconToggle = (0, _react.useCallback)(() => {
|
|
37
39
|
setIsShowHelpModal(!isShowHelpModal);
|
|
38
40
|
}, [isShowHelpModal]);
|
|
41
|
+
const onToggleImageDialog = (0, _react.useCallback)(() => {
|
|
42
|
+
setIsShowInternetImageModal(false);
|
|
43
|
+
}, []);
|
|
39
44
|
const commonProps = {
|
|
40
45
|
editor,
|
|
41
46
|
readonly,
|
|
@@ -47,7 +52,8 @@ const InlineToolbar = _ref => {
|
|
|
47
52
|
editor: editor,
|
|
48
53
|
readonly: readonly,
|
|
49
54
|
isSupportFormula: isSupportFormula,
|
|
50
|
-
isSupportColumn: isSupportColumn
|
|
55
|
+
isSupportColumn: isSupportColumn,
|
|
56
|
+
setIsShowInternetImageModal: setIsShowInternetImageModal
|
|
51
57
|
})), /*#__PURE__*/_react.default.createElement(_commons.MenuGroup, null, /*#__PURE__*/_react.default.createElement(_menu2.default, commonProps)), /*#__PURE__*/_react.default.createElement(_commons.MenuGroup, null, /*#__PURE__*/_react.default.createElement(_menu3.default, Object.assign({}, commonProps, {
|
|
52
58
|
type: _constants.TEXT_STYLE_MAP.ITALIC
|
|
53
59
|
})), /*#__PURE__*/_react.default.createElement(_menu3.default, Object.assign({}, commonProps, {
|
|
@@ -56,11 +62,11 @@ const InlineToolbar = _ref => {
|
|
|
56
62
|
type: _constants.TEXT_STYLE_MAP.UNDERLINE
|
|
57
63
|
})), /*#__PURE__*/_react.default.createElement(_menu3.default, Object.assign({}, commonProps, {
|
|
58
64
|
type: _constants.TEXT_STYLE_MAP.CODE
|
|
59
|
-
})), /*#__PURE__*/_react.default.createElement(_menu4.default, commonProps)), /*#__PURE__*/_react.default.createElement(_commons.MenuGroup, null, /*#__PURE__*/_react.default.createElement(_menu.default, commonProps), /*#__PURE__*/_react.default.createElement(_menu5.default, commonProps), /*#__PURE__*/_react.default.createElement(_menu6.default, Object.assign({}, commonProps, {
|
|
65
|
+
})), /*#__PURE__*/_react.default.createElement(_menu4.default, commonProps)), /*#__PURE__*/_react.default.createElement(_commons.MenuGroup, null, /*#__PURE__*/_react.default.createElement(_menu.default, commonProps), /*#__PURE__*/_react.default.createElement(_menu5.default, commonProps)), /*#__PURE__*/_react.default.createElement(_commons.MenuGroup, null, /*#__PURE__*/_react.default.createElement(_commons.MoreMenu, commonProps, /*#__PURE__*/_react.default.createElement(_commons.MenuGroup, null, /*#__PURE__*/_react.default.createElement(_menu6.default, Object.assign({}, commonProps, {
|
|
60
66
|
type: _elementTypes.ORDERED_LIST
|
|
61
67
|
})), /*#__PURE__*/_react.default.createElement(_menu6.default, Object.assign({}, commonProps, {
|
|
62
68
|
type: _elementTypes.UNORDERED_LIST
|
|
63
|
-
}))
|
|
69
|
+
})), /*#__PURE__*/_react.default.createElement(_menu7.default, commonProps)), !isRichEditor && /*#__PURE__*/_react.default.createElement("div", {
|
|
64
70
|
className: "sf-menu-group-item sf-slate-help-info-control",
|
|
65
71
|
onClick: onHelpIconToggle
|
|
66
72
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
@@ -70,6 +76,9 @@ const InlineToolbar = _ref => {
|
|
|
70
76
|
}))), isShowHelpModal && /*#__PURE__*/_react.default.createElement(_shortcutDialog.default, {
|
|
71
77
|
isRichEditor: isRichEditor,
|
|
72
78
|
toggleShortcutDialog: onHelpIconToggle
|
|
79
|
+
}), isShowInternetImageModal && /*#__PURE__*/_react.default.createElement(_imageMenuDialog.default, {
|
|
80
|
+
editor: editor,
|
|
81
|
+
closeDialog: onToggleImageDialog
|
|
73
82
|
}));
|
|
74
83
|
};
|
|
75
84
|
var _default = exports.default = InlineToolbar;
|
|
@@ -17,16 +17,25 @@ const isContentValid = value => {
|
|
|
17
17
|
if (!value || !Array.isArray(value)) return false;
|
|
18
18
|
return true;
|
|
19
19
|
};
|
|
20
|
+
const isEmptyParagraph = node => {
|
|
21
|
+
const voidNodeTypes = ['image', 'column', 'formula'];
|
|
22
|
+
if (node.type !== _constants.PARAGRAPH) return false;
|
|
23
|
+
const hasBlock = node.children.some(item => voidNodeTypes.includes(item.type));
|
|
24
|
+
const hasHtml = node.children.some(item => item.type === 'html');
|
|
25
|
+
if (hasBlock) return false;
|
|
26
|
+
if (hasHtml) return false;
|
|
27
|
+
if (_slate.Node.string(node).length !== 0) return false;
|
|
28
|
+
return true;
|
|
29
|
+
};
|
|
20
30
|
|
|
21
31
|
// slateNode -> mdast -> mdString
|
|
22
32
|
const slateToMdString = value => {
|
|
23
33
|
if (!isContentValid(value)) return '';
|
|
24
34
|
if (value.length === 0) return '';
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
35
|
+
|
|
36
|
+
// is only one empty paragraph child
|
|
37
|
+
if (value.length === 1 && isEmptyParagraph(value[0])) {
|
|
38
|
+
return '';
|
|
30
39
|
}
|
|
31
40
|
|
|
32
41
|
// slateNode -> mdast
|
package/package.json
CHANGED
|
Binary file
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
/>
|
|
15
15
|
<missing-glyph />
|
|
16
16
|
|
|
17
|
-
<glyph glyph-name="
|
|
17
|
+
<glyph glyph-name="insert" unicode="" d="M512 896c281.6 0 512-230.4 512-512s-230.4-512-512-512S0 102.4 0 384 230.4 896 512 896z m0-96C281.6 800 96 614.4 96 384s185.6-416 416-416 416 185.6 416 416S742.4 800 512 800z m0-160c25.6 0 48-22.4 48-48v-160h160c25.6 0 48-22.4 48-48s-22.4-48-48-48H560v-160c0-25.6-22.4-48-48-48s-48 22.4-48 48V336H304c-25.6 0-48 22.4-48 48s22.4 48 48 48h160V592c0 25.6 22.4 48 48 48z" horiz-adv-x="1024" />
|
|
18
18
|
|
|
19
|
-
<glyph glyph-name="
|
|
19
|
+
<glyph glyph-name="right-slide" unicode="" d="M672 416l-268.8 214.4c-32 25.6-83.2 6.4-83.2-32v-428.8c0-35.2 48-57.6 83.2-32L672 352c19.2 16 19.2 48 0 64z" horiz-adv-x="1024" />
|
|
20
20
|
|
|
21
21
|
<glyph glyph-name="center-horizontally" unicode="" d="M800 832v-96H224V832h576z m224-352v96H0v-96h1024z m0-544v96H0v-96h1024zM224 288v-96h576v96H224z" horiz-adv-x="1024" />
|
|
22
22
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
@font-face {
|
|
2
|
-
font-family: "iconfont";
|
|
3
|
-
|
|
4
|
-
src: url('./seafile-editor-font/iconfont.eot?t=
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
url('./seafile-editor-font/iconfont.woff?t=1752721246164') format('woff'),
|
|
10
|
-
url('./seafile-editor-font/iconfont.ttf?t=1752721246164') format('truetype'),
|
|
11
|
-
url('./seafile-editor-font/iconfont.svg?t=1752721246164#iconfont') format('svg');
|
|
2
|
+
font-family: "iconfont"; /* Project id 4375832 */
|
|
3
|
+
src: url('./seafile-editor-font/iconfont.eot?t=1753239248033'); /* IE9 */
|
|
4
|
+
src: url('./seafile-editor-font/iconfont.eot?t=1753239248033#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
|
5
|
+
url('./seafile-editor-font/iconfont.woff2?t=1753239248033') format('woff2'),
|
|
6
|
+
url('./seafile-editor-font/iconfont.woff?t=1753239248033') format('woff'),
|
|
7
|
+
url('./seafile-editor-font/iconfont.ttf?t=1753239248033') format('truetype'),
|
|
8
|
+
url('./seafile-editor-font/iconfont.svg?t=1753239248033#iconfont') format('svg');
|
|
12
9
|
}
|
|
13
10
|
|
|
14
11
|
.iconfont {
|
|
@@ -19,11 +16,11 @@
|
|
|
19
16
|
-moz-osx-font-smoothing: grayscale;
|
|
20
17
|
}
|
|
21
18
|
|
|
22
|
-
.icon-
|
|
19
|
+
.icon-insert:before {
|
|
23
20
|
content: "\e6a6";
|
|
24
21
|
}
|
|
25
22
|
|
|
26
|
-
.icon-
|
|
23
|
+
.icon-right-slide:before {
|
|
27
24
|
content: "\e6a7";
|
|
28
25
|
}
|
|
29
26
|
|
|
@@ -278,3 +275,4 @@
|
|
|
278
275
|
.icon-users:before {
|
|
279
276
|
content: "\e67f";
|
|
280
277
|
}
|
|
278
|
+
|