@seafile/sdoc-editor 1.0.39 → 1.0.41-alpha.0
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/basic-sdk/assets/css/dropdown-menu.css +2 -0
- package/dist/basic-sdk/extension/plugins/callout/plugin.js +3 -1
- package/dist/basic-sdk/extension/plugins/seatable-column/menu/column-list-menu.js +18 -5
- package/dist/basic-sdk/extension/plugins/seatable-tables/menu/index.js +11 -16
- package/dist/basic-sdk/extension/plugins/seatable-tables/menu/seatable-list.js +37 -0
- package/dist/basic-sdk/extension/toolbar/side-toolbar/helpers.js +19 -8
- package/dist/basic-sdk/extension/toolbar/side-toolbar/index.js +3 -4
- package/dist/basic-sdk/utils/dom-utils.js +0 -22
- package/dist/components/doc-operations/collaborators-operation/index.js +1 -1
- package/dist/components/doc-operations/revision-operations/more-revision-operations/index.css +3 -3
- package/dist/components/doc-operations/revision-operations/revisions/index.css +1 -1
- package/dist/components/doc-operations/style.css +12 -4
- package/dist/pages/sdoc-wiki-editor.js +0 -2
- package/package.json +1 -1
- package/public/media/sdoc-editor-font/iconfont.eot +0 -0
- package/public/media/sdoc-editor-font/iconfont.svg +4 -4
- package/public/media/sdoc-editor-font/iconfont.ttf +0 -0
- package/public/media/sdoc-editor-font/iconfont.woff +0 -0
- package/public/media/sdoc-editor-font/iconfont.woff2 +0 -0
- package/public/media/sdoc-editor-font.css +6 -6
|
@@ -17,7 +17,8 @@ const withCallout = editor => {
|
|
|
17
17
|
insertFragment,
|
|
18
18
|
deleteBackward,
|
|
19
19
|
onHotKeyDown,
|
|
20
|
-
insertData
|
|
20
|
+
insertData,
|
|
21
|
+
onCopy
|
|
21
22
|
} = editor;
|
|
22
23
|
const newEditor = editor;
|
|
23
24
|
newEditor.deleteBackward = unit => {
|
|
@@ -105,6 +106,7 @@ const withCallout = editor => {
|
|
|
105
106
|
if (getCalloutEntry(editor)) {
|
|
106
107
|
event.stopPropagation();
|
|
107
108
|
}
|
|
109
|
+
return onCopy(event);
|
|
108
110
|
};
|
|
109
111
|
return newEditor;
|
|
110
112
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useMemo, useCallback } from 'react';
|
|
1
|
+
import React, { useMemo, useCallback, useRef, useEffect, useState } from 'react';
|
|
2
2
|
import { COLUMNS_ICON_CONFIG } from '../constants/column';
|
|
3
3
|
import { insertSeaTableColumn, getColumnType } from '../helpers';
|
|
4
4
|
import { COLUMN } from '../../../constants/element-type';
|
|
@@ -9,7 +9,21 @@ export default function ColumnListMenu(_ref) {
|
|
|
9
9
|
editor,
|
|
10
10
|
insertPosition
|
|
11
11
|
} = _ref;
|
|
12
|
-
const
|
|
12
|
+
const columnRef = useRef(null);
|
|
13
|
+
const [computedStyle, setComputedStyle] = useState({});
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
if (insertPosition) {
|
|
16
|
+
setComputedStyle({
|
|
17
|
+
bottom: '0px'
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
if (!insertPosition && (columnRef === null || columnRef === void 0 ? void 0 : columnRef.current)) {
|
|
21
|
+
const centerPosition = parseInt(columnRef.current.getBoundingClientRect().height / 2);
|
|
22
|
+
setComputedStyle({
|
|
23
|
+
top: "-".concat(centerPosition, "px")
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}, [insertPosition]);
|
|
13
27
|
const columns = useMemo(() => {
|
|
14
28
|
if (!editor.columns) return [];
|
|
15
29
|
return editor.columns.filter(column => !NOT_SUPPORT_COLUMN_TYPES.includes(column.type));
|
|
@@ -32,10 +46,9 @@ export default function ColumnListMenu(_ref) {
|
|
|
32
46
|
insertSeaTableColumn(editor, active, option, insertPosition);
|
|
33
47
|
}, [editor, insertPosition]);
|
|
34
48
|
return /*#__PURE__*/React.createElement("div", {
|
|
49
|
+
ref: columnRef,
|
|
35
50
|
className: "column-list-menu",
|
|
36
|
-
style:
|
|
37
|
-
bottom: computedBottom
|
|
38
|
-
}
|
|
51
|
+
style: computedStyle
|
|
39
52
|
}, options.map(option => {
|
|
40
53
|
return /*#__PURE__*/React.createElement("div", {
|
|
41
54
|
key: option.value,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import React, { useCallback } from 'react';
|
|
1
|
+
import React, { useCallback, useRef } from 'react';
|
|
2
2
|
import { UncontrolledPopover } from 'reactstrap';
|
|
3
3
|
import { insertSeaTableTable, isInsertSeaTableTableDisabled } from '../helpers';
|
|
4
4
|
import { MENUS_CONFIG_MAP, SEATABLE_TABLE } from '../../../constants';
|
|
5
5
|
import DropdownMenuItem from '../../../commons/dropdown-menu-item';
|
|
6
|
+
import SeaTableList from './seatable-list';
|
|
6
7
|
import './index.css';
|
|
7
8
|
const SeaTableTableMenu = _ref => {
|
|
8
9
|
let {
|
|
@@ -10,10 +11,9 @@ const SeaTableTableMenu = _ref => {
|
|
|
10
11
|
readonly,
|
|
11
12
|
insertPosition
|
|
12
13
|
} = _ref;
|
|
14
|
+
const seatableRef = useRef(null);
|
|
13
15
|
const disabled = isInsertSeaTableTableDisabled(editor, readonly);
|
|
14
16
|
const menuConfig = MENUS_CONFIG_MAP[SEATABLE_TABLE];
|
|
15
|
-
const computedBottom = insertPosition ? '0px' : '';
|
|
16
|
-
const tables = editor.tables;
|
|
17
17
|
const onViewClick = useCallback(item => {
|
|
18
18
|
insertSeaTableTable(editor, item, insertPosition);
|
|
19
19
|
}, [editor, insertPosition]);
|
|
@@ -29,18 +29,13 @@ const SeaTableTableMenu = _ref => {
|
|
|
29
29
|
className: "sdoc-menu-popover sdoc-dropdown-menu sdoc-sub-dropdown-menu",
|
|
30
30
|
placement: "right-start",
|
|
31
31
|
hideArrow: true,
|
|
32
|
-
fade: false
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
key: item._id,
|
|
41
|
-
className: "sdoc-dropdown-menu-item",
|
|
42
|
-
onClick: () => onViewClick(item)
|
|
43
|
-
}, item.name);
|
|
44
|
-
})))));
|
|
32
|
+
fade: false,
|
|
33
|
+
ref: seatableRef
|
|
34
|
+
}, /*#__PURE__*/React.createElement(SeaTableList, {
|
|
35
|
+
editor: editor,
|
|
36
|
+
readonly: readonly,
|
|
37
|
+
insertPosition: insertPosition,
|
|
38
|
+
onViewClick: onViewClick
|
|
39
|
+
}))));
|
|
45
40
|
};
|
|
46
41
|
export default SeaTableTableMenu;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React, { useState, useEffect, useRef } from 'react';
|
|
2
|
+
const SeaTableList = _ref => {
|
|
3
|
+
let {
|
|
4
|
+
editor,
|
|
5
|
+
insertPosition,
|
|
6
|
+
onViewClick
|
|
7
|
+
} = _ref;
|
|
8
|
+
const seatableRef = useRef(null);
|
|
9
|
+
const [computedStyle, setComputedStyle] = useState({});
|
|
10
|
+
const tables = editor.tables;
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (insertPosition) {
|
|
13
|
+
setComputedStyle({
|
|
14
|
+
bottom: '0px'
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
if (!insertPosition && (seatableRef === null || seatableRef === void 0 ? void 0 : seatableRef.current)) {
|
|
18
|
+
const centerPosition = parseInt(seatableRef.current.getBoundingClientRect().height / 2);
|
|
19
|
+
// 30 is seatable menu height
|
|
20
|
+
setComputedStyle({
|
|
21
|
+
top: "-".concat(centerPosition + 30, "px")
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}, [insertPosition]);
|
|
25
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
26
|
+
ref: seatableRef,
|
|
27
|
+
className: "sdoc-dropdown-menu-container sdoc-seatable-selected-table-list-wrapper",
|
|
28
|
+
style: computedStyle
|
|
29
|
+
}, tables.map(item => {
|
|
30
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
31
|
+
key: item._id,
|
|
32
|
+
className: "sdoc-dropdown-menu-item",
|
|
33
|
+
onClick: () => onViewClick(item)
|
|
34
|
+
}, item.name);
|
|
35
|
+
}));
|
|
36
|
+
};
|
|
37
|
+
export default SeaTableList;
|
|
@@ -10,7 +10,7 @@ import { ORDERED_LIST, UNORDERED_LIST, PARAGRAPH, CHECK_LIST_ITEM, IMAGE, TABLE,
|
|
|
10
10
|
import { EMPTY_SELECTED_RANGE } from '../../plugins/table/constants';
|
|
11
11
|
import { unwrapCallout, wrapCallout } from '../../plugins/callout/helper';
|
|
12
12
|
import { convertToCheck } from '../../plugins/check-list/helpers';
|
|
13
|
-
import {
|
|
13
|
+
import { WIKI_EDITOR } from '../../../constants';
|
|
14
14
|
export const onSetNodeType = (editor, element, type) => {
|
|
15
15
|
if (!type) return;
|
|
16
16
|
if (type === CALL_OUT) {
|
|
@@ -92,18 +92,29 @@ export const onDeleteNode = (editor, element) => {
|
|
|
92
92
|
at: path
|
|
93
93
|
});
|
|
94
94
|
};
|
|
95
|
-
export const
|
|
96
|
-
|
|
95
|
+
export const getTopValue = (editor, dom, containerDom, slateNode) => {
|
|
96
|
+
if (!dom) return 0;
|
|
97
|
+
if (!containerDom) return 0;
|
|
98
|
+
const currentRect = dom.getBoundingClientRect();
|
|
99
|
+
let containerRect = containerDom.getBoundingClientRect();
|
|
100
|
+
let headerHeight = 0;
|
|
101
|
+
if (editor.editorType === WIKI_EDITOR) {
|
|
102
|
+
const titleDom = document.getElementById('wiki-page-title');
|
|
103
|
+
const coverDom = document.getElementById('wiki-page-cover');
|
|
104
|
+
const titleHeight = (titleDom === null || titleDom === void 0 ? void 0 : titleDom.getBoundingClientRect().height) || 0;
|
|
105
|
+
const coverHeight = (coverDom === null || coverDom === void 0 ? void 0 : coverDom.getBoundingClientRect().height) || 0;
|
|
106
|
+
headerHeight = titleHeight + coverHeight;
|
|
107
|
+
}
|
|
108
|
+
const top = currentRect.y - containerRect.y + containerDom.scrollTop;
|
|
97
109
|
let offsetY = 0;
|
|
98
|
-
|
|
99
|
-
const headerHeight = getHeaderHeight(editor);
|
|
100
|
-
const paddingTop = parseFloat(window.getComputedStyle(dom).getPropertyValue('padding-top'));
|
|
110
|
+
let paddingTop = parseFloat(window.getComputedStyle(dom).getPropertyValue('padding-top'));
|
|
101
111
|
const lineHeight = parseFloat(window.getComputedStyle(dom).getPropertyValue('line-height'));
|
|
102
|
-
const disToolBarHeight =
|
|
112
|
+
const disToolBarHeight = 21; // side toolbar icon line-height is 21
|
|
103
113
|
if (ADD_POSITION_OFFSET_TYPE.includes(slateNode.type)) {
|
|
114
|
+
paddingTop = slateNode.type === CHECK_LIST_ITEM ? 5 : paddingTop;
|
|
104
115
|
offsetY = lineHeight / 2 + paddingTop - disToolBarHeight / 2;
|
|
105
116
|
}
|
|
106
|
-
return
|
|
117
|
+
return top + offsetY - headerHeight;
|
|
107
118
|
};
|
|
108
119
|
export const isVoidNode = node => {
|
|
109
120
|
if (!node) return true;
|
|
@@ -6,7 +6,7 @@ import SideMenu from './side-menu';
|
|
|
6
6
|
import EventBus from '../../../utils/event-bus';
|
|
7
7
|
import { useScrollContext } from '../../../hooks/use-scroll-context';
|
|
8
8
|
import { focusEditor } from '../../core';
|
|
9
|
-
import {
|
|
9
|
+
import { setSelection, isVoidNode, getNodeEntry, isBlockquote, isList, onWrapListItem, getTopValue } from './helpers';
|
|
10
10
|
import { insertImageFiles } from '../../plugins/image/helpers';
|
|
11
11
|
import { INTERNAL_EVENT, WIKI_EDITOR } from '../../../constants';
|
|
12
12
|
import { CODE_BLOCK, TABLE, BLOCKQUOTE, CHECK_LIST_ITEM, CALL_OUT, TABLE_DRAG_KEY } from '../../constants';
|
|
@@ -72,10 +72,9 @@ const SideToolbar = () => {
|
|
|
72
72
|
dom = dom.parentNode;
|
|
73
73
|
}
|
|
74
74
|
const node = ReactEditor.toSlateNode(editor, dom);
|
|
75
|
-
const top = getDomTopHeight(editor, dom, node);
|
|
76
75
|
const isEmpty = isVoidNode(node);
|
|
77
|
-
const
|
|
78
|
-
const topValue =
|
|
76
|
+
const containerDom = scrollRef.current;
|
|
77
|
+
const topValue = getTopValue(editor, dom, containerDom, node);
|
|
79
78
|
if (topValue !== sidePosition.top) setIsMoving(true);
|
|
80
79
|
let left = 20;
|
|
81
80
|
if (editor.editorType === WIKI_EDITOR) {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { WIKI_EDITOR, DOCUMENT_PLUGIN_EDITOR } from '../constants';
|
|
2
1
|
export const getDomHeight = dom => {
|
|
3
2
|
const styles = window.getComputedStyle(dom);
|
|
4
3
|
const rect = dom.getBoundingClientRect();
|
|
@@ -45,25 +44,4 @@ export const getCursorPosition = function () {
|
|
|
45
44
|
x: x,
|
|
46
45
|
y: y
|
|
47
46
|
};
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Get the height of the header of the editor
|
|
52
|
-
* @param {Editor} editor
|
|
53
|
-
* @returns {Number} height of the header
|
|
54
|
-
*/
|
|
55
|
-
export const getHeaderHeight = editor => {
|
|
56
|
-
const {
|
|
57
|
-
editorType
|
|
58
|
-
} = editor;
|
|
59
|
-
switch (editorType) {
|
|
60
|
-
case WIKI_EDITOR:
|
|
61
|
-
return (editor === null || editor === void 0 ? void 0 : editor.getHeaderHeight()) || 0;
|
|
62
|
-
case DOCUMENT_PLUGIN_EDITOR:
|
|
63
|
-
return 67 + 48 + 49 + 37;
|
|
64
|
-
default:
|
|
65
|
-
// sdoc-editor-page-header height = 56
|
|
66
|
-
// sdoc-editor-toolbar height = 37
|
|
67
|
-
return 56 + 37;
|
|
68
|
-
}
|
|
69
47
|
};
|
|
@@ -66,7 +66,7 @@ class CollaboratorsOperation extends React.PureComponent {
|
|
|
66
66
|
collaborators
|
|
67
67
|
} = this.state;
|
|
68
68
|
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("span", {
|
|
69
|
-
className: "op-item",
|
|
69
|
+
className: "op-item collaborators-op-item",
|
|
70
70
|
id: "collaborators"
|
|
71
71
|
}, /*#__PURE__*/React.createElement("i", {
|
|
72
72
|
className: "sdocfont sdoc-user mr-1"
|
package/dist/components/doc-operations/revision-operations/more-revision-operations/index.css
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operations-toggle {
|
|
2
2
|
width: 66px;
|
|
3
|
-
height:
|
|
4
|
-
border-radius:
|
|
3
|
+
height: 28px;
|
|
4
|
+
border-radius: 14px;
|
|
5
5
|
background-color: #F0F0F0;
|
|
6
6
|
display: flex;
|
|
7
7
|
align-items: center;
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operations-toggle:hover {
|
|
13
13
|
cursor: pointer;
|
|
14
|
-
color: #
|
|
14
|
+
background-color: #E4E4E4;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
.sdoc-more-revision-operations-dropdown .sdoc-more-revision-operations-toggle .sdoc-revise {
|
|
@@ -4,21 +4,29 @@
|
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
.doc-ops .op-item {
|
|
7
|
-
margin-left:
|
|
7
|
+
margin-left: 10px;
|
|
8
8
|
display: flex;
|
|
9
9
|
align-items: center;
|
|
10
|
+
justify-content: center;
|
|
10
11
|
position: relative;
|
|
11
12
|
cursor: pointer;
|
|
13
|
+
width: 28px;
|
|
14
|
+
height: 28px;
|
|
15
|
+
border-radius: 3px;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.doc-ops .collaborators-op-item {
|
|
19
|
+
margin-left: 14px;
|
|
12
20
|
}
|
|
13
21
|
|
|
14
22
|
.doc-ops .op-item .sdocfont {
|
|
15
|
-
font-size:
|
|
23
|
+
font-size: 16px;
|
|
16
24
|
color: #666;
|
|
17
25
|
cursor: pointer;
|
|
18
26
|
}
|
|
19
27
|
|
|
20
|
-
.doc-ops .op-item
|
|
21
|
-
color: #
|
|
28
|
+
.doc-ops .op-item:hover {
|
|
29
|
+
background-color: #EFEFEF;
|
|
22
30
|
cursor: pointer;
|
|
23
31
|
}
|
|
24
32
|
|
|
@@ -14,7 +14,6 @@ const SdocWikiEditor = _ref => {
|
|
|
14
14
|
document,
|
|
15
15
|
docUuid,
|
|
16
16
|
isWikiReadOnly,
|
|
17
|
-
getHeaderHeight,
|
|
18
17
|
scrollRef
|
|
19
18
|
} = _ref;
|
|
20
19
|
context.initApi();
|
|
@@ -37,7 +36,6 @@ const SdocWikiEditor = _ref => {
|
|
|
37
36
|
newEditor.cursors = cursors || {};
|
|
38
37
|
newEditor.width = PAGE_EDIT_AREA_WIDTH; // default width
|
|
39
38
|
newEditor.editorType = WIKI_EDITOR;
|
|
40
|
-
newEditor.getHeaderHeight = getHeaderHeight;
|
|
41
39
|
return newEditor;
|
|
42
40
|
|
|
43
41
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
package/package.json
CHANGED
|
Binary file
|
|
@@ -212,11 +212,11 @@
|
|
|
212
212
|
|
|
213
213
|
<glyph glyph-name="sdoc-more-options" unicode="" d="M518.4 624C464 624 416 672 416 729.6S464 832 518.4 832s102.4-48 102.4-102.4-44.8-105.6-102.4-105.6z m0-342.4c-54.4 0-102.4 44.8-102.4 102.4s48 102.4 102.4 102.4 102.4-48 102.4-102.4-44.8-102.4-102.4-102.4z m0-345.6c-54.4 0-102.4 48-102.4 102.4s48 102.4 102.4 102.4 102.4-48 102.4-102.4S576-64 518.4-64z" horiz-adv-x="1024" />
|
|
214
214
|
|
|
215
|
-
<glyph glyph-name="sdoc-comments" unicode="" d="
|
|
215
|
+
<glyph glyph-name="sdoc-comments" unicode="" d="M928 864c35.2 0 64-28.8 64-64v-672c0-35.2-28.8-64-64-64h-166.4l-16-121.6c-3.2-16-12.8-28.8-25.6-35.2-6.4-3.2-9.6-3.2-16-3.2-9.6 0-19.2 3.2-28.8 9.6L505.6 64H96c-35.2 0-64 28.8-64 64V800c0 35.2 28.8 64 64 64h832z m-64-96H160c-19.2 0-32-12.8-32-32v-544c0-19.2 12.8-32 32-32h361.6c9.6 0 22.4-3.2 28.8-9.6l124.8-102.4 9.6 76.8c3.2 22.4 22.4 38.4 41.6 35.2H864c19.2 0 32 12.8 32 32V736c0 19.2-12.8 32-32 32z m-112-352c9.6 0 16-6.4 16-16v-64c0-9.6-6.4-16-16-16h-480c-9.6 0-16 6.4-16 16v64c0 9.6 6.4 16 16 16h480z m0 224c9.6 0 16-6.4 16-16v-64c0-9.6-6.4-16-16-16h-480c-9.6 0-16 6.4-16 16v64c0 9.6 6.4 16 16 16h480z" horiz-adv-x="1024" />
|
|
216
216
|
|
|
217
217
|
<glyph glyph-name="sdoc-right-slide" unicode="" d="M806.4 438.4L336 812.8c-54.4 44.8-144 9.6-144-54.4v-748.8c0-64 86.4-99.2 144-54.4l470.4 374.4c35.2 28.8 35.2 80 0 108.8z" horiz-adv-x="1024" />
|
|
218
218
|
|
|
219
|
-
<glyph glyph-name="sdoc-revise" unicode="" d="
|
|
219
|
+
<glyph glyph-name="sdoc-revise" unicode="" d="M752 0c25.6 0 48-22.4 48-48s-22.4-48-48-48h-320c-25.6 0-48 22.4-48 48s22.4 48 48 48h320z m44.8 841.6L928 710.4c32-32 32-83.2 0-112L336 0l-265.6-19.2 16 262.4L681.6 841.6c28.8 28.8 86.4 28.8 115.2 0z m-204.8-227.2L182.4 201.6l-6.4-115.2 118.4 9.6L704 505.6l-112 108.8z m147.2 147.2l-80-80 108.8-108.8 80 80-108.8 108.8z" horiz-adv-x="1024" />
|
|
220
220
|
|
|
221
221
|
<glyph glyph-name="sdoc-starred" unicode="" d="M995.2 412.8c54.4 54.4 25.6 153.6-51.2 163.2l-192 28.8c-28.8 3.2-57.6 25.6-70.4 54.4l-86.4 182.4C579.2 876.8 544 896 512 896s-67.2-19.2-83.2-54.4l-86.4-182.4c-12.8-28.8-38.4-48-70.4-51.2l-192-28.8C3.2 566.4-25.6 470.4 28.8 416l140.8-140.8c22.4-22.4 32-54.4 25.6-86.4l-32-201.6c-9.6-64 38.4-112 92.8-112 12.8 0 28.8 3.2 41.6 12.8l172.8 96c12.8 6.4 28.8 9.6 41.6 9.6 16 0 28.8-3.2 41.6-9.6l172.8-96c12.8-6.4 28.8-12.8 41.6-12.8 54.4 0 102.4 51.2 92.8 112l-32 201.6c-6.4 32 3.2 64 25.6 86.4l140.8 137.6z" horiz-adv-x="1024" />
|
|
222
222
|
|
|
@@ -240,11 +240,11 @@
|
|
|
240
240
|
|
|
241
241
|
<glyph glyph-name="sdoc-menu" unicode="" d="M64 137.6h896V0H64v137.6zM64 768h896v-137.6H64V768z m0-313.6h896v-137.6H64v137.6z" horiz-adv-x="1024" />
|
|
242
242
|
|
|
243
|
-
<glyph glyph-name="sdoc-share" unicode="" d="
|
|
243
|
+
<glyph glyph-name="sdoc-share" unicode="" d="M800 832c-70.4 0-128-54.4-128-128s57.6-128 128-128 128 54.4 128 128-57.6 128-128 128zM224 512c-70.4 0-128-54.4-128-128s57.6-128 128-128 128 54.4 128 128-57.6 128-128 128z m576-320c-70.4 0-128-54.4-128-128s57.6-128 128-128 128 54.4 128 128-60.8 128-128 128zM374.4 531.2l217.6 134.4L640 582.4 422.4 448l-48 83.2z m32-192l246.4-147.2-48-83.2-246.4 147.2 48 83.2z" horiz-adv-x="1024" />
|
|
244
244
|
|
|
245
245
|
<glyph glyph-name="sdoc-table-of-content" unicode="" d="M64 800h512c35.2 0 64-28.8 64-64s-28.8-64-64-64H64C28.8 672 0 700.8 0 736s28.8 64 64 64z m934.4-444.8l-12.8-12.8-172.8-172.8c-25.6-25.6-64-25.6-89.6 0-25.6 25.6-25.6 64 0 89.6l134.4 134.4-134.4 134.4c-25.6 25.6-25.6 64 0 89.6 25.6 25.6 64 25.6 89.6 0l172.8-172.8 9.6-9.6c12.8-12.8 19.2-25.6 19.2-41.6v-3.2c0-12.8-9.6-28.8-16-35.2zM64 448h800c35.2 0 64-28.8 64-64s-28.8-64-64-64H64c-35.2 0-64 28.8-64 64s28.8 64 64 64z m0-352h512c35.2 0 64-28.8 64-64s-28.8-64-64-64H64c-35.2 0-64 28.8-64 64s28.8 64 64 64z" horiz-adv-x="1024" />
|
|
246
246
|
|
|
247
|
-
<glyph glyph-name="sdoc-user" unicode="" d="
|
|
247
|
+
<glyph glyph-name="sdoc-user" unicode="" d="M825.6 0H195.2c-32 0-60.8 32-44.8 64 60.8 140.8 198.4 224 361.6 224s304-80 361.6-224c12.8-32-12.8-64-48-64M316.8 576c0 105.6 86.4 192 195.2 192s195.2-86.4 195.2-192-86.4-192-195.2-192-195.2 86.4-195.2 192m672-556.8c-35.2 163.2-147.2 278.4-294.4 332.8 76.8 60.8 121.6 160 105.6 268.8-19.2 124.8-124.8 227.2-256 240C368 883.2 214.4 745.6 214.4 576c0-89.6 41.6-169.6 112-224-144-54.4-256-169.6-291.2-332.8-12.8-60.8 35.2-115.2 96-115.2h761.6c64 0 112 54.4 96 115.2" horiz-adv-x="1024" />
|
|
248
248
|
|
|
249
249
|
</font>
|
|
250
250
|
</defs>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
@font-face {
|
|
2
2
|
font-family: "sdocfont"; /* Project id 4097705 */
|
|
3
|
-
src: url('./sdoc-editor-font/iconfont.eot?t=
|
|
4
|
-
src: url('./sdoc-editor-font/iconfont.eot?t=
|
|
5
|
-
url('./sdoc-editor-font/iconfont.woff2?t=
|
|
6
|
-
url('./sdoc-editor-font/iconfont.woff?t=
|
|
7
|
-
url('./sdoc-editor-font/iconfont.ttf?t=
|
|
8
|
-
url('./sdoc-editor-font/iconfont.svg?t=
|
|
3
|
+
src: url('./sdoc-editor-font/iconfont.eot?t=1722915152576'); /* IE9 */
|
|
4
|
+
src: url('./sdoc-editor-font/iconfont.eot?t=1722915152576#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
|
5
|
+
url('./sdoc-editor-font/iconfont.woff2?t=1722915152576') format('woff2'),
|
|
6
|
+
url('./sdoc-editor-font/iconfont.woff?t=1722915152576') format('woff'),
|
|
7
|
+
url('./sdoc-editor-font/iconfont.ttf?t=1722915152576') format('truetype'),
|
|
8
|
+
url('./sdoc-editor-font/iconfont.svg?t=1722915152576#sdocfont') format('svg');
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
.sdocfont {
|