@seafile/sdoc-editor 0.5.6 → 0.5.8
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/layout.css +1 -1
- package/dist/basic-sdk/assets/css/sdoc-comment-editor-plugin.css +7 -0
- package/dist/basic-sdk/comment/components/comment-editor.js +1 -0
- package/dist/basic-sdk/comment/components/comment-list.css +7 -2
- package/dist/basic-sdk/editor/comment-article.js +8 -3
- package/dist/basic-sdk/editor/sdoc-comment-editor.js +3 -1
- package/dist/basic-sdk/extension/core/utils/index.js +3 -2
- package/dist/basic-sdk/extension/plugins/paragraph/index.css +4 -0
- package/dist/basic-sdk/extension/plugins/paragraph/render-elem.js +11 -5
- package/dist/basic-sdk/extension/plugins/table/constants/index.js +2 -1
- package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/column-vertical-alignment-menu.js +46 -0
- package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/index.js +4 -0
- package/dist/basic-sdk/extension/plugins/table/render/index.css +7 -1
- package/dist/basic-sdk/extension/render/render-comment-editor-element.js +83 -0
- package/dist/basic-sdk/layout/editor-container.js +1 -0
- package/dist/basic-sdk/utils/Kebab-to-camel.js +4 -0
- package/package.json +1 -1
- package/public/locales/cs/sdoc-editor.json +4 -1
- package/public/locales/de/sdoc-editor.json +4 -1
- package/public/locales/en/sdoc-editor.json +4 -1
- package/public/locales/es/sdoc-editor.json +4 -1
- package/public/locales/fr/sdoc-editor.json +4 -1
- package/public/locales/it/sdoc-editor.json +4 -1
- package/public/locales/ru/sdoc-editor.json +5 -2
- package/public/locales/zh_CN/sdoc-editor.json +4 -1
- package/public/media/sdoc-editor-font/iconfont.eot +0 -0
- package/public/media/sdoc-editor-font/iconfont.svg +10 -2
- 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 +20 -4
|
@@ -117,6 +117,7 @@ const CommentEditor = _ref => {
|
|
|
117
117
|
className: "comment-editor-user-name"
|
|
118
118
|
}, userInfo.name)), /*#__PURE__*/React.createElement(SdocCommentEditor, {
|
|
119
119
|
editor: editor,
|
|
120
|
+
type: type,
|
|
120
121
|
document: document
|
|
121
122
|
}), /*#__PURE__*/React.createElement("div", {
|
|
122
123
|
className: "comment-operations"
|
|
@@ -85,6 +85,11 @@
|
|
|
85
85
|
word-wrap: break-word;
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
+
.comment-item .comment-content ol,
|
|
89
|
+
.comment-item .comment-content ul {
|
|
90
|
+
padding-left: 1em;
|
|
91
|
+
}
|
|
92
|
+
|
|
88
93
|
.sdoc-comment-list-container .comment-header .comment-author__avatar {
|
|
89
94
|
display: flex;
|
|
90
95
|
align-items: center;
|
|
@@ -212,8 +217,8 @@
|
|
|
212
217
|
.comment-editor-wrapper .sdoc-comment-editor-wrapper .article.sdoc-comment-editor {
|
|
213
218
|
width: 365px;
|
|
214
219
|
padding: 0 5px;
|
|
215
|
-
min-height:
|
|
216
|
-
max-height:
|
|
220
|
+
min-height: 130px;
|
|
221
|
+
max-height: 130px;
|
|
217
222
|
box-shadow: none;
|
|
218
223
|
overflow-y: auto;
|
|
219
224
|
overflow-x: hidden;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
1
2
|
import React, { useCallback, useMemo } from 'react';
|
|
2
3
|
import { Editable, ReactEditor, Slate } from '@seafile/slate-react';
|
|
3
4
|
import { Editor, Node, Range } from '@seafile/slate';
|
|
4
|
-
import { renderLeaf
|
|
5
|
+
import { renderLeaf } from '../extension';
|
|
5
6
|
import { getAboveBlockNode, getNextNode, getPrevNode, isSelectionAtBlockEnd, isSelectionAtBlockStart } from '../extension/core';
|
|
6
7
|
import EventProxy from '../utils/event-handler';
|
|
7
8
|
import { useCursors } from '../cursor/use-cursors';
|
|
@@ -11,11 +12,13 @@ import { getCursorPosition, getDomHeight, getDomMarginTop } from '../utils/dom-u
|
|
|
11
12
|
import EventBus from '../utils/event-bus';
|
|
12
13
|
import { useScrollContext } from '../hooks/use-scroll-context';
|
|
13
14
|
import { IMAGE } from '../extension/constants';
|
|
15
|
+
import RenderCommentEditorCustomRenderElement from '../extension/render/render-comment-editor-element';
|
|
14
16
|
const CommentArticle = _ref => {
|
|
15
17
|
let {
|
|
16
18
|
editor,
|
|
17
19
|
slateValue,
|
|
18
|
-
updateSlateValue
|
|
20
|
+
updateSlateValue,
|
|
21
|
+
type
|
|
19
22
|
} = _ref;
|
|
20
23
|
const {
|
|
21
24
|
cursors
|
|
@@ -160,7 +163,9 @@ const CommentArticle = _ref => {
|
|
|
160
163
|
}, /*#__PURE__*/React.createElement(Editable, {
|
|
161
164
|
scrollSelectionIntoView: handleScrollIntoView,
|
|
162
165
|
cursors: cursors,
|
|
163
|
-
renderElement:
|
|
166
|
+
renderElement: props => RenderCommentEditorCustomRenderElement(_objectSpread(_objectSpread({}, props), {}, {
|
|
167
|
+
commentType: type
|
|
168
|
+
})),
|
|
164
169
|
renderLeaf: renderLeaf,
|
|
165
170
|
onKeyDown: onKeyDown,
|
|
166
171
|
onMouseDown: onMouseDown,
|
|
@@ -19,7 +19,8 @@ const SdocCommentEditor = forwardRef((_ref, ref) => {
|
|
|
19
19
|
let {
|
|
20
20
|
editor: propsEditor,
|
|
21
21
|
document,
|
|
22
|
-
isReloading
|
|
22
|
+
isReloading,
|
|
23
|
+
type
|
|
23
24
|
} = _ref;
|
|
24
25
|
const [slateValue, setSlateValue] = useState(document.children);
|
|
25
26
|
const validEditor = propsEditor || useMemo(() => {
|
|
@@ -98,6 +99,7 @@ const SdocCommentEditor = forwardRef((_ref, ref) => {
|
|
|
98
99
|
}, /*#__PURE__*/React.createElement("div", {
|
|
99
100
|
className: "article sdoc-comment-editor"
|
|
100
101
|
}, /*#__PURE__*/React.createElement(CommentArticle, {
|
|
102
|
+
type: type,
|
|
101
103
|
editor: validEditor,
|
|
102
104
|
slateValue: slateValue,
|
|
103
105
|
updateSlateValue: setSlateValue
|
|
@@ -41,7 +41,8 @@ export const generateEmptyElement = function (type) {
|
|
|
41
41
|
};
|
|
42
42
|
export function Placeholder(props) {
|
|
43
43
|
const {
|
|
44
|
-
title
|
|
44
|
+
title,
|
|
45
|
+
top = 5
|
|
45
46
|
} = props;
|
|
46
47
|
const {
|
|
47
48
|
t
|
|
@@ -49,7 +50,7 @@ export function Placeholder(props) {
|
|
|
49
50
|
return /*#__PURE__*/React.createElement("span", {
|
|
50
51
|
style: {
|
|
51
52
|
position: 'absolute',
|
|
52
|
-
top:
|
|
53
|
+
top: "".concat(top, "px"),
|
|
53
54
|
color: 'rgba(191,191,191,1)',
|
|
54
55
|
pointerEvents: 'none',
|
|
55
56
|
width: '100%',
|
|
@@ -4,19 +4,23 @@ import { Node } from '@seafile/slate';
|
|
|
4
4
|
import { useSlateStatic } from '@seafile/slate-react';
|
|
5
5
|
import { Placeholder } from '../../core';
|
|
6
6
|
import { isEmptyNode } from './helper';
|
|
7
|
+
import { COMMENT_EDITOR } from '../../../constants';
|
|
8
|
+
import './index.css';
|
|
7
9
|
const PLACEHOLDER = 'Please_enter_text';
|
|
8
10
|
const Paragraph = _ref => {
|
|
9
11
|
let {
|
|
10
12
|
isComposing,
|
|
11
13
|
element,
|
|
12
14
|
attributes,
|
|
13
|
-
children
|
|
15
|
+
children,
|
|
16
|
+
className,
|
|
17
|
+
placeholder = PLACEHOLDER
|
|
14
18
|
} = _ref;
|
|
15
19
|
const {
|
|
16
|
-
indent
|
|
17
|
-
placeholder = PLACEHOLDER
|
|
20
|
+
indent
|
|
18
21
|
} = element;
|
|
19
22
|
const editor = useSlateStatic();
|
|
23
|
+
const isCommentEditor = editor.editorType === COMMENT_EDITOR;
|
|
20
24
|
let isShowPlaceHolder = false;
|
|
21
25
|
if (editor.children.length === 1) {
|
|
22
26
|
const node = editor.children[0];
|
|
@@ -37,9 +41,11 @@ const Paragraph = _ref => {
|
|
|
37
41
|
}, attributes, {
|
|
38
42
|
style: _objectSpread({
|
|
39
43
|
position: isShowPlaceHolder ? 'relative' : ''
|
|
40
|
-
}, style)
|
|
44
|
+
}, style),
|
|
45
|
+
className: className
|
|
41
46
|
}), children, isShowPlaceHolder && /*#__PURE__*/React.createElement(Placeholder, {
|
|
42
|
-
title: placeholder
|
|
47
|
+
title: placeholder,
|
|
48
|
+
top: isCommentEditor ? 0 : 5
|
|
43
49
|
}));
|
|
44
50
|
};
|
|
45
51
|
export const renderParagraph = props => {
|
|
@@ -26,7 +26,8 @@ export const TABLE_ELEMENT_POSITION = {
|
|
|
26
26
|
export const SELECTED_TABLE_CELL_BACKGROUND_COLOR = '#dee8fe';
|
|
27
27
|
export const TABLE_CELL_STYLE = {
|
|
28
28
|
TEXT_ALIGN: 'text_align',
|
|
29
|
-
BACKGROUND_COLOR: 'background_color'
|
|
29
|
+
BACKGROUND_COLOR: 'background_color',
|
|
30
|
+
ALIGN_ITEMS: 'align_items'
|
|
30
31
|
};
|
|
31
32
|
export const TABLE_ROW_STYLE = {
|
|
32
33
|
MIN_HEIGHT: 'min_height'
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React, { useCallback, useRef } from 'react';
|
|
2
|
+
import { useTranslation } from 'react-i18next';
|
|
3
|
+
import CommonMenu from './common-menu';
|
|
4
|
+
import { setCellStyle } from '../../helpers';
|
|
5
|
+
import { TABLE_CELL_STYLE } from '../../constants';
|
|
6
|
+
import KebabToCamel from '../../../../../utils/Kebab-to-camel';
|
|
7
|
+
const ColumnVerticalAlignmentMenu = _ref => {
|
|
8
|
+
let {
|
|
9
|
+
editor,
|
|
10
|
+
readonly
|
|
11
|
+
} = _ref;
|
|
12
|
+
const textAlignRef = useRef(null);
|
|
13
|
+
const {
|
|
14
|
+
t
|
|
15
|
+
} = useTranslation();
|
|
16
|
+
const setVerticalAlignStyle = useCallback(position => {
|
|
17
|
+
if (readonly) return;
|
|
18
|
+
const alignItems = KebabToCamel(TABLE_CELL_STYLE.ALIGN_ITEMS);
|
|
19
|
+
setCellStyle(editor, {
|
|
20
|
+
[alignItems]: position
|
|
21
|
+
});
|
|
22
|
+
textAlignRef.current && textAlignRef.current.hidePopover();
|
|
23
|
+
}, [editor, readonly]);
|
|
24
|
+
return /*#__PURE__*/React.createElement(CommonMenu, {
|
|
25
|
+
id: "vertical-align",
|
|
26
|
+
iconClass: "sdocfont sdoc-top-alignment",
|
|
27
|
+
ref: textAlignRef,
|
|
28
|
+
disabled: readonly
|
|
29
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
30
|
+
className: "sdoc-dropdown-menu-item",
|
|
31
|
+
onClick: () => setVerticalAlignStyle('flex-start')
|
|
32
|
+
}, /*#__PURE__*/React.createElement("i", {
|
|
33
|
+
className: "sdocfont sdoc-top-alignment mr-2"
|
|
34
|
+
}), t('Top_align')), /*#__PURE__*/React.createElement("div", {
|
|
35
|
+
className: "sdoc-dropdown-menu-item",
|
|
36
|
+
onClick: () => setVerticalAlignStyle('center')
|
|
37
|
+
}, /*#__PURE__*/React.createElement("i", {
|
|
38
|
+
className: "sdocfont sdoc-center-alignment mr-2"
|
|
39
|
+
}), t('Center_align')), /*#__PURE__*/React.createElement("div", {
|
|
40
|
+
className: "sdoc-dropdown-menu-item",
|
|
41
|
+
onClick: () => setVerticalAlignStyle('flex-end')
|
|
42
|
+
}, /*#__PURE__*/React.createElement("i", {
|
|
43
|
+
className: "sdocfont sdoc-bottom-alignment mr-2"
|
|
44
|
+
}), t('Bottom_align')));
|
|
45
|
+
};
|
|
46
|
+
export default ColumnVerticalAlignmentMenu;
|
|
@@ -8,6 +8,7 @@ import CombineCells from './combine-cells';
|
|
|
8
8
|
import RemoveTable from './remove-table-menu';
|
|
9
9
|
import TableColumnMenu from './table-column-menu';
|
|
10
10
|
import TableRowMenu from './table-row-menu';
|
|
11
|
+
import ColumnVerticalAlignmentMenu from './column-vertical-alignment-menu';
|
|
11
12
|
import './index.css';
|
|
12
13
|
const ActiveTableMenu = _ref => {
|
|
13
14
|
let {
|
|
@@ -22,6 +23,9 @@ const ActiveTableMenu = _ref => {
|
|
|
22
23
|
}, /*#__PURE__*/React.createElement(CellTextAlignMenu, {
|
|
23
24
|
editor: editor,
|
|
24
25
|
readonly: readonly
|
|
26
|
+
}), /*#__PURE__*/React.createElement(ColumnVerticalAlignmentMenu, {
|
|
27
|
+
editor: editor,
|
|
28
|
+
readonly: readonly
|
|
25
29
|
}), /*#__PURE__*/React.createElement(TableColumnMenu, {
|
|
26
30
|
editor: editor,
|
|
27
31
|
readonly: readonly
|
|
@@ -50,11 +50,17 @@
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
.sdoc-table-wrapper .table-cell {
|
|
53
|
+
display: flex;
|
|
53
54
|
padding: 10px 10px;
|
|
54
55
|
border-right: 1px solid #ccc;
|
|
55
56
|
border-bottom: 1px solid #ccc;
|
|
56
57
|
line-height: 1.5;
|
|
57
|
-
|
|
58
|
+
align-items: flex-start;
|
|
59
|
+
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.table-cell>span {
|
|
63
|
+
min-width: 1px;
|
|
58
64
|
}
|
|
59
65
|
|
|
60
66
|
.sdoc-table-wrapper .cell-selected {
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import { useReadOnly, useSlateStatic } from '@seafile/slate-react';
|
|
3
|
+
import { LINK, LIST_ITEM, ORDERED_LIST, PARAGRAPH, UNORDERED_LIST, IMAGE, IMAGE_BLOCK, MENTION, MENTION_TEMP } from '../constants';
|
|
4
|
+
import { LinkPlugin, ListPlugin, ImagePlugin, ParagraphPlugin, MentionPlugin } from '../plugins';
|
|
5
|
+
import { getParentNode } from '../core';
|
|
6
|
+
const RenderCommentEditorCustomRenderElement = props => {
|
|
7
|
+
const editor = useSlateStatic();
|
|
8
|
+
const readonly = useReadOnly();
|
|
9
|
+
const {
|
|
10
|
+
element,
|
|
11
|
+
commentType
|
|
12
|
+
} = props;
|
|
13
|
+
switch (element.type) {
|
|
14
|
+
case PARAGRAPH:
|
|
15
|
+
{
|
|
16
|
+
const parentNode = getParentNode(editor.children, element.id);
|
|
17
|
+
const _props = _objectSpread(_objectSpread({}, props), {}, {
|
|
18
|
+
className: 'sdoc-comment-editor-paragraph'
|
|
19
|
+
});
|
|
20
|
+
if (parentNode && parentNode.type === LIST_ITEM) {
|
|
21
|
+
const [renderParagraph] = ParagraphPlugin.renderElements;
|
|
22
|
+
return renderParagraph(_props);
|
|
23
|
+
}
|
|
24
|
+
const placeholder = commentType === 'comment' ? 'Enter_a_comment' : 'Enter_a_reply';
|
|
25
|
+
const [renderParagraph] = ParagraphPlugin.renderElements;
|
|
26
|
+
return renderParagraph(_objectSpread(_objectSpread({}, _props), {}, {
|
|
27
|
+
placeholder
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
case LINK:
|
|
31
|
+
{
|
|
32
|
+
const [renderLink] = LinkPlugin.renderElements;
|
|
33
|
+
return renderLink(props, editor, readonly);
|
|
34
|
+
}
|
|
35
|
+
case ORDERED_LIST:
|
|
36
|
+
case UNORDERED_LIST:
|
|
37
|
+
{
|
|
38
|
+
const [renderList] = ListPlugin.renderElements;
|
|
39
|
+
return renderList(props, editor);
|
|
40
|
+
}
|
|
41
|
+
case LIST_ITEM:
|
|
42
|
+
{
|
|
43
|
+
const [, renderListItem] = ListPlugin.renderElements;
|
|
44
|
+
return renderListItem(props, editor);
|
|
45
|
+
}
|
|
46
|
+
case IMAGE:
|
|
47
|
+
{
|
|
48
|
+
var _editor$element_comme;
|
|
49
|
+
const parentNode = getParentNode(editor.children, element.id);
|
|
50
|
+
const comments = ((_editor$element_comme = editor.element_comments_map) === null || _editor$element_comme === void 0 ? void 0 : _editor$element_comme[parentNode.id]) || [];
|
|
51
|
+
const unresolvedComments = comments && comments.filter(item => !item.resolved);
|
|
52
|
+
let leaf = {};
|
|
53
|
+
if (unresolvedComments && unresolvedComments.length > 0) {
|
|
54
|
+
leaf['computed_background_color'] = 'rgba(129, 237, 247, 0.5)';
|
|
55
|
+
}
|
|
56
|
+
const [renderImage] = ImagePlugin.renderElements;
|
|
57
|
+
return renderImage(_objectSpread(_objectSpread({}, props), {}, {
|
|
58
|
+
leaf
|
|
59
|
+
}), editor);
|
|
60
|
+
}
|
|
61
|
+
case IMAGE_BLOCK:
|
|
62
|
+
{
|
|
63
|
+
const [, renderImageBlock] = ImagePlugin.renderElements;
|
|
64
|
+
return renderImageBlock(_objectSpread({}, props), editor);
|
|
65
|
+
}
|
|
66
|
+
case MENTION:
|
|
67
|
+
{
|
|
68
|
+
const [renderMention] = MentionPlugin.renderElements;
|
|
69
|
+
return renderMention(props, editor);
|
|
70
|
+
}
|
|
71
|
+
case MENTION_TEMP:
|
|
72
|
+
{
|
|
73
|
+
const [, renderMentionTemporaryInput] = MentionPlugin.renderElements;
|
|
74
|
+
return renderMentionTemporaryInput(props, editor);
|
|
75
|
+
}
|
|
76
|
+
default:
|
|
77
|
+
{
|
|
78
|
+
const [renderParagraph] = ParagraphPlugin.renderElements;
|
|
79
|
+
return renderParagraph(props);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
export default RenderCommentEditorCustomRenderElement;
|
|
@@ -4,6 +4,7 @@ import { isMobile } from '../../utils';
|
|
|
4
4
|
import '../assets/css/default.css';
|
|
5
5
|
import '../assets/css/layout.css';
|
|
6
6
|
import '../assets/css/sdoc-editor-plugins.css';
|
|
7
|
+
import '../assets/css/sdoc-comment-editor-plugin.css';
|
|
7
8
|
import '../assets/css/dropdown-menu.css';
|
|
8
9
|
const EditorContainer = _ref => {
|
|
9
10
|
let {
|
package/package.json
CHANGED
|
@@ -445,5 +445,8 @@
|
|
|
445
445
|
"Recent_visited": "Recent visited",
|
|
446
446
|
"The_document_does_not_exist": "The document does not exist",
|
|
447
447
|
"Create_a_new_sdoc_file": "Create a new sdoc file",
|
|
448
|
-
"Create": "Vytvořit"
|
|
448
|
+
"Create": "Vytvořit",
|
|
449
|
+
"Top_align": "Top",
|
|
450
|
+
"Center_align": "Middle",
|
|
451
|
+
"Bottom_align": "Bottom"
|
|
449
452
|
}
|
|
@@ -445,5 +445,8 @@
|
|
|
445
445
|
"Recent_visited": "Recent visited",
|
|
446
446
|
"The_document_does_not_exist": "The document does not exist",
|
|
447
447
|
"Create_a_new_sdoc_file": "Create a new sdoc file",
|
|
448
|
-
"Create": "Erstellen"
|
|
448
|
+
"Create": "Erstellen",
|
|
449
|
+
"Top_align": "Top",
|
|
450
|
+
"Center_align": "Middle",
|
|
451
|
+
"Bottom_align": "Bottom"
|
|
449
452
|
}
|
|
@@ -445,5 +445,8 @@
|
|
|
445
445
|
"Recent_visited": "Recent visited",
|
|
446
446
|
"The_document_does_not_exist": "The document does not exist",
|
|
447
447
|
"Create_a_new_sdoc_file": "Create a new sdoc file",
|
|
448
|
-
"Create": "Create"
|
|
448
|
+
"Create": "Create",
|
|
449
|
+
"Top_align": "Top",
|
|
450
|
+
"Center_align": "Middle",
|
|
451
|
+
"Bottom_align": "Bottom"
|
|
449
452
|
}
|
|
@@ -445,5 +445,8 @@
|
|
|
445
445
|
"Recent_visited": "Recent visited",
|
|
446
446
|
"The_document_does_not_exist": "The document does not exist",
|
|
447
447
|
"Create_a_new_sdoc_file": "Create a new sdoc file",
|
|
448
|
-
"Create": "Crear"
|
|
448
|
+
"Create": "Crear",
|
|
449
|
+
"Top_align": "Top",
|
|
450
|
+
"Center_align": "Middle",
|
|
451
|
+
"Bottom_align": "Bottom"
|
|
449
452
|
}
|
|
@@ -445,5 +445,8 @@
|
|
|
445
445
|
"Recent_visited": "Recent visited",
|
|
446
446
|
"The_document_does_not_exist": "The document does not exist",
|
|
447
447
|
"Create_a_new_sdoc_file": "Create a new sdoc file",
|
|
448
|
-
"Create": "Créer"
|
|
448
|
+
"Create": "Créer",
|
|
449
|
+
"Top_align": "Top",
|
|
450
|
+
"Center_align": "Middle",
|
|
451
|
+
"Bottom_align": "Bottom"
|
|
449
452
|
}
|
|
@@ -445,5 +445,8 @@
|
|
|
445
445
|
"Recent_visited": "Recent visited",
|
|
446
446
|
"The_document_does_not_exist": "The document does not exist",
|
|
447
447
|
"Create_a_new_sdoc_file": "Create a new sdoc file",
|
|
448
|
-
"Create": "Crea"
|
|
448
|
+
"Create": "Crea",
|
|
449
|
+
"Top_align": "Top",
|
|
450
|
+
"Center_align": "Middle",
|
|
451
|
+
"Bottom_align": "Bottom"
|
|
449
452
|
}
|
|
@@ -418,7 +418,7 @@
|
|
|
418
418
|
"Freezed": "Заморожено",
|
|
419
419
|
"Callout": "Выноска",
|
|
420
420
|
"The_current_location_does_not_support_pasting": "Текущее местоположение не поддерживает вставку ",
|
|
421
|
-
"Please_enter": "
|
|
421
|
+
"Please_enter": "Пожалуйста, введите",
|
|
422
422
|
"Combine_cell": "Объединить ячейки",
|
|
423
423
|
"Split_cell": "Разделить ячейку",
|
|
424
424
|
"Row_number": "Номер строки",
|
|
@@ -445,5 +445,8 @@
|
|
|
445
445
|
"Recent_visited": "Недавно посещенные",
|
|
446
446
|
"The_document_does_not_exist": "Документ не существует",
|
|
447
447
|
"Create_a_new_sdoc_file": "Создать новый файл sdoc",
|
|
448
|
-
"Create": "Создать"
|
|
448
|
+
"Create": "Создать",
|
|
449
|
+
"Top_align": "Top",
|
|
450
|
+
"Center_align": "Middle",
|
|
451
|
+
"Bottom_align": "Bottom"
|
|
449
452
|
}
|
|
Binary file
|
|
@@ -14,6 +14,16 @@
|
|
|
14
14
|
/>
|
|
15
15
|
<missing-glyph />
|
|
16
16
|
|
|
17
|
+
<glyph glyph-name="sdoc-center-alignment" unicode="" d="M560 896v-160H832v-320h-272v-96H928v-320H560v-128h-96v128H96V320h368v96H192V736h272V896h96zM832 224H192v-128h640v128zM736 640H288v-128h448V640z" horiz-adv-x="1024" />
|
|
18
|
+
|
|
19
|
+
<glyph glyph-name="sdoc-bottom-alignment" unicode="" d="M0-64v96h1024v-96H0z m448 192V832H128v-704h320z m-96 96H224V736h128v-512z m544-96V640H576v-512h320z m-96 96h-128V544h128v-320z" horiz-adv-x="1024" />
|
|
20
|
+
|
|
21
|
+
<glyph glyph-name="sdoc-top-alignment" unicode="" d="M0 832v-96h1024V832H0z m448-192v-704H128V640h320z m-96-96H224v-512h128V544z m544 96v-512H576V640h320z m-96-96h-128v-320h128V544z" horiz-adv-x="1024" />
|
|
22
|
+
|
|
23
|
+
<glyph glyph-name="sdoc-all-read" unicode="" d="M883.2 768h121.6c9.6 0 19.2-9.6 19.2-19.2v-60.8c0-6.4-9.6-16-19.2-16h-121.6c-9.6 0-19.2 9.6-19.2 19.2V748.8c0 9.6 9.6 19.2 19.2 19.2z m-284.8-704h406.4c12.8 0 22.4-9.6 22.4-19.2v-60.8c0-9.6-9.6-19.2-22.4-19.2H598.4c-12.8 0-22.4 9.6-22.4 19.2v60.8c0 9.6 9.6 19.2 22.4 19.2z m403.2 352c12.8 0 22.4-9.6 22.4-19.2v-60.8c0-9.6-9.6-19.2-22.4-19.2h-246.4c-12.8 0-22.4 9.6-22.4 19.2v60.8c0 9.6 9.6 19.2 22.4 19.2h246.4zM761.6 860.8c-3.2 3.2-9.6 3.2-12.8 3.2-6.4 0-9.6-3.2-12.8-9.6L304 70.4 67.2 256c-9.6 6.4-22.4 3.2-28.8-6.4L0 188.8c-3.2-9.6 0-22.4 9.6-28.8l336-256L819.2 803.2c6.4 9.6 3.2 22.4-6.4 28.8l-51.2 28.8z" horiz-adv-x="1027" />
|
|
24
|
+
|
|
25
|
+
<glyph glyph-name="sdoc-freezed" unicode="" d="M512 384m-512 0a512 512 0 1 1 1024 0 512 512 0 1 1-1024 0ZM316.8 716.8c118.4 70.4 265.6 70.4 384 3.2s192-195.2 192-332.8c0-137.6-73.6-265.6-195.2-332.8-182.4-105.6-416-41.6-521.6 140.8S134.4 608 316.8 716.8z m348.8-604.8c137.6 80 195.2 249.6 131.2 396.8L259.2 195.20000000000005c92.8-124.8 268.8-163.2 406.4-83.2zM352 652.8c-137.6-80-192-249.6-128-393.6l537.6 310.4c-96 128-272 163.2-409.6 83.2z" horiz-adv-x="1024" />
|
|
26
|
+
|
|
17
27
|
<glyph glyph-name="sdoc-callout-color" unicode="" d="M819.2 777.6c147.2-121.6 195.2-291.2 195.2-300.8v-3.2c22.4-118.4 3.2-208-51.2-262.4-86.4-83.2-227.2-57.6-249.6-54.4-25.6 3.2-44.8-6.4-60.8-22.4-16-19.2-19.2-44.8-12.8-60.8 12.8-44.8 16-76.8 6.4-102.4-28.8-67.2-89.6-99.2-182.4-99.2-22.4 0-44.8 3.2-67.2 6.4h-6.4C217.6-96 96 76.8 92.8 86.4-76.8 348.8 9.6 611.2 166.4 758.4c160 147.2 422.4 208 652.8 19.2zM230.4 688c-118.4-112-198.4-352-54.4-544C224 80 288 32 352 0s144-32 176 0 16 64 16 112 16 80 48 112 99.2 38.4 144 32 99.2-28.8 160 32c38.4 38.4 41.6 80 25.6 169.6-3.2 12.8-44.8 150.4-163.2 246.4-185.6 153.6-396.8 102.4-528-16z m-9.6-259.2c35.2 0 60.8-28.8 60.8-64s-28.8-64-60.8-64-60.8 28.8-60.8 64 25.6 64 60.8 64z m563.2 73.6c35.2 0 60.8-28.8 60.8-64s-28.8-64-60.8-64c-35.2 0-60.8 28.8-60.8 64s25.6 64 60.8 64zM291.2 614.4c35.2 0 60.8-28.8 60.8-64 0-22.4-12.8-41.6-32-54.4-19.2-12.8-41.6-12.8-60.8 0-19.2 12.8-32 32-32 54.4 3.2 38.4 32 64 64 64z m390.4 54.4c35.2 0 60.8-28.8 60.8-64s-28.8-64-60.8-64-60.8 28.8-60.8 64 25.6 64 60.8 64z m-204.8 51.2c35.2 0 60.8-28.8 60.8-64s-28.8-64-60.8-64-60.8 32-60.8 67.2 25.6 60.8 60.8 60.8z" horiz-adv-x="1024" />
|
|
18
28
|
|
|
19
29
|
<glyph glyph-name="sdoc-callout-icon" unicode="" d="M512-32c230.4 0 416 185.6 416 416S742.4 800 512 800 96 614.4 96 384s185.6-416 416-416z m0-96C230.4-128 0 102.4 0 384S230.4 896 512 896s512-230.4 512-512-230.4-512-512-512z m-160 528c44.8 0 80 35.2 80 80s-35.2 80-80 80-80-35.2-80-80 35.2-80 80-80z m320 0c44.8 0 80 35.2 80 80s-35.2 80-80 80-80-35.2-80-80 35.2-80 80-80z m-160-246.4c-80 0-153.6 51.2-188.8 128 0 0-3.2 32-38.4 32-35.2 0-32-32-32-32 35.2-108.8 137.6-192 256-192s227.2 83.2 256 192c0 0 0 32-32 32s-35.2-32-35.2-32c-25.6-73.6-102.4-128-185.6-128z" horiz-adv-x="1024" />
|
|
@@ -34,8 +44,6 @@
|
|
|
34
44
|
|
|
35
45
|
<glyph glyph-name="sdoc-find-replace" unicode="" d="M468.66016 896C260.66016 896 81.46016 761.6 20.66016 566.4s16-409.6 185.6-521.6 396.8-102.4 553.6 25.6l185.6-185.6c19.2-16 48-16 64 0 19.2 19.2 19.2 48 0 64l-185.6 185.6c115.2 140.8 137.6 332.8 60.8 492.8S647.86016 896 468.66016 896zM97.46016 432C97.46016 636.8 260.66016 800 465.46016 800S833.46016 636.8 833.46016 432 670.26016 64 465.46016 64 97.46016 227.2 97.46016 432z" horiz-adv-x="1025" />
|
|
36
46
|
|
|
37
|
-
<glyph glyph-name="sdoc-freezed" unicode="" d="M512 384m-512 0a512 512 0 1 1 1024 0 512 512 0 1 1-1024 0ZM316.8 716.8c118.4 70.4 265.6 70.4 384 3.2s192-195.2 192-332.8c0-137.6-73.6-265.6-195.2-332.8-182.4-105.6-416-41.6-521.6 140.8S134.4 608 316.8 716.8z m348.8-604.8c137.6 80 195.2 249.6 131.2 396.8L259.2 195.2c92.8-124.8 268.8-163.2 406.4-83.2zM352 652.8c-137.6-80-192-249.6-128-393.6l537.6 310.4c-96 128-272 163.2-409.6 83.2z" horiz-adv-x="1024" />
|
|
38
|
-
|
|
39
47
|
<glyph glyph-name="sdoc-jump-to" unicode="" d="M361.6 896c32 0 54.4-16 54.4-48S393.6 800 361.6 800H96v-832h832v262.4c0 32 16 57.6 48 57.6s48-25.6 48-57.6v-300.8c0-32-28.8-57.6-60.8-57.6H60.8c-32 0-60.8 25.6-60.8 57.6V835.2C0 870.4 25.6 896 60.8 896h300.8zM992 896c19.2 0 32-12.8 32-32v-332.8c0-28.8-19.2-51.2-48-51.2s-48 22.4-48 51.2V729.6L531.2 336c-6.4-9.6-19.2-16-35.2-16-12.8 0-25.6 6.4-35.2 16-19.2 19.2-19.2 51.2 0 70.4L857.6 800h-198.4c-28.8 0-51.2 19.2-51.2 48S630.4 896 656 896H992z" horiz-adv-x="1024" />
|
|
40
48
|
|
|
41
49
|
<glyph glyph-name="sdoc-callout" unicode="" d="M992 352H32c-19.2 0-32 12.8-32 32V832c0 19.2 12.8 32 32 32h960c19.2 0 32-12.8 32-32v-448c0-19.2-12.8-32-32-32zM96 448h832V768H96v-320z m-96-224v-96h1024v96H0z m0-224v-96h576v96H0z" horiz-adv-x="1024" />
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -16,6 +16,26 @@
|
|
|
16
16
|
-moz-osx-font-smoothing: grayscale;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
.sdoc-center-alignment:before {
|
|
20
|
+
content: "\e668";
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.sdoc-bottom-alignment:before {
|
|
24
|
+
content: "\e669";
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.sdoc-top-alignment:before {
|
|
28
|
+
content: "\e66a";
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.sdoc-all-read:before {
|
|
32
|
+
content: "\e65d";
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.sdoc-freezed:before {
|
|
36
|
+
content: "\e667";
|
|
37
|
+
}
|
|
38
|
+
|
|
19
39
|
.sdoc-callout-color:before {
|
|
20
40
|
content: "\e666";
|
|
21
41
|
}
|
|
@@ -56,10 +76,6 @@
|
|
|
56
76
|
content: "\e65f";
|
|
57
77
|
}
|
|
58
78
|
|
|
59
|
-
.sdoc-freezed:before {
|
|
60
|
-
content: "\e65d";
|
|
61
|
-
}
|
|
62
|
-
|
|
63
79
|
.sdoc-jump-to:before {
|
|
64
80
|
content: "\e65a";
|
|
65
81
|
}
|