@seafile/seafile-editor 3.0.20 → 3.0.21

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.
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.UNORDERED_LIST = exports.TABLE_ROW = exports.TABLE_CELL = exports.TABLE = exports.PARAGRAPH = exports.ORDERED_LIST = exports.LIST_ITEM = exports.LINK_REFERENCE = exports.LINK = exports.IMAGE = exports.HEADER6 = exports.HEADER5 = exports.HEADER4 = exports.HEADER3 = exports.HEADER2 = exports.HEADER1 = exports.HEADER = exports.FORMULA = exports.DEFINITION = exports.COLUMN = exports.CODE_LINE = exports.CODE_BLOCK = exports.CHECK_LIST_ITEM = exports.BLOCKQUOTE = void 0;
6
+ exports.UNORDERED_LIST = exports.TABLE_ROW = exports.TABLE_CELL = exports.TABLE = exports.PARAGRAPH = exports.ORDERED_LIST = exports.LIST_ITEM = exports.LINK_REFERENCE = exports.LINK = exports.IMAGE = exports.HEADER6 = exports.HEADER5 = exports.HEADER4 = exports.HEADER3 = exports.HEADER2 = exports.HEADER1 = exports.HEADER = exports.FORMULA = exports.DIVIDER = exports.DEFINITION = exports.COLUMN = exports.CODE_LINE = exports.CODE_BLOCK = exports.CHECK_LIST_ITEM = exports.BLOCKQUOTE = void 0;
7
7
  const BLOCKQUOTE = exports.BLOCKQUOTE = 'blockquote';
8
8
  const HEADER = exports.HEADER = 'header';
9
9
  // each header type should be start with HEADER, all of justices should based on HEADER
@@ -28,4 +28,5 @@ const LINK = exports.LINK = 'link';
28
28
  const FORMULA = exports.FORMULA = 'formula';
29
29
  const COLUMN = exports.COLUMN = 'column';
30
30
  const LINK_REFERENCE = exports.LINK_REFERENCE = 'link-reference';
31
- const DEFINITION = exports.DEFINITION = 'definition';
31
+ const DEFINITION = exports.DEFINITION = 'definition';
32
+ const DIVIDER = exports.DIVIDER = 'divider';
@@ -137,5 +137,10 @@ const MENUS_CONFIG_MAP = exports.MENUS_CONFIG_MAP = {
137
137
  id: "seafile_".concat(EXPAND_EDITOR),
138
138
  iconClass: 'mdfont md-fullscreen',
139
139
  text: 'Expand_editor'
140
+ },
141
+ [_elementTypes.DIVIDER]: {
142
+ id: "seafile_".concat(_elementTypes.DIVIDER),
143
+ iconClass: 'mdfont md-divider',
144
+ text: 'Divider'
140
145
  }
141
146
  };
@@ -20,6 +20,7 @@ const CodeBlockMenu = _ref => {
20
20
  } = _ref;
21
21
  // eslint-disable-next-line react-hooks/exhaustive-deps
22
22
  const isActive = (0, _react.useMemo)(() => (0, _helpers.isInCodeBlock)(editor), [editor.selection]);
23
+ const disabled = (0, _helpers.isMenuDisabled)(editor, readonly);
23
24
  const onMousedown = (0, _react.useCallback)(e => {
24
25
  e.preventDefault();
25
26
  isActive ? (0, _helpers.unwrapCodeBlock)(editor) : (0, _helpers.transformToCodeBlock)(editor);
@@ -27,7 +28,7 @@ const CodeBlockMenu = _ref => {
27
28
  // eslint-disable-next-line react-hooks/exhaustive-deps
28
29
  }, [isActive]);
29
30
  return /*#__PURE__*/_react.default.createElement(_dropdownMenuItem.default, {
30
- disabled: readonly,
31
+ disabled: disabled,
31
32
  menuConfig: menuConfig,
32
33
  className: "pr-2",
33
34
  onClick: onMousedown
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.transformToDivider = exports.insertDivider = void 0;
7
+ var _slate = require("slate");
8
+ var _core = require("../../core");
9
+ var _elementTypes = require("../../constants/element-types");
10
+ const transformToDivider = editor => {
11
+ if (!editor.selection) return;
12
+ _slate.Transforms.setNodes(editor, {
13
+ type: _elementTypes.DIVIDER
14
+ });
15
+ (0, _core.focusEditor)(editor);
16
+ };
17
+ exports.transformToDivider = transformToDivider;
18
+ const insertDivider = editor => {
19
+ if (!editor.selection) return;
20
+ const dividerNode = (0, _core.generateElement)(_elementTypes.DIVIDER);
21
+ _slate.Transforms.insertNodes(editor, dividerNode);
22
+ (0, _core.focusEditor)(editor);
23
+ };
24
+ exports.insertDivider = insertDivider;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _elementTypes = require("../../constants/element-types");
9
+ var _plugin = _interopRequireDefault(require("./plugin"));
10
+ var _renderElem = _interopRequireDefault(require("./render-elem"));
11
+ const DividerPlugin = {
12
+ type: _elementTypes.DIVIDER,
13
+ nodeType: 'element',
14
+ editorPlugin: _plugin.default,
15
+ renderElements: [_renderElem.default]
16
+ };
17
+ var _default = exports.default = DividerPlugin;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _elementTypes = require("../../../constants/element-types");
11
+ var _helper = require("../helper");
12
+ var _constants = require("../../../constants");
13
+ var _dropdownMenuItem = _interopRequireDefault(require("../../../commons/dropdown-menu-item"));
14
+ const menuConfig = _constants.MENUS_CONFIG_MAP[_elementTypes.DIVIDER];
15
+ const DividerMenu = _ref => {
16
+ let {
17
+ readonly,
18
+ editor,
19
+ toggle
20
+ } = _ref;
21
+ const onMousedown = (0, _react.useCallback)(e => {
22
+ e.preventDefault();
23
+ (0, _helper.insertDivider)(editor);
24
+ toggle && toggle();
25
+ // eslint-disable-next-line react-hooks/exhaustive-deps
26
+ }, []);
27
+ return /*#__PURE__*/_react.default.createElement(_dropdownMenuItem.default, {
28
+ disabled: readonly,
29
+ menuConfig: menuConfig,
30
+ className: "pr-2",
31
+ onClick: onMousedown
32
+ });
33
+ };
34
+ var _default = exports.default = DividerMenu;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _slate = require("slate");
8
+ var _constants = require("../../constants");
9
+ var _core = require("../../core");
10
+ var _elementTypes = require("../../constants/element-types");
11
+ const HR_PATTERNS = ['---', '***', '___'];
12
+ const withDivider = editor => {
13
+ const {
14
+ isVoid,
15
+ insertText,
16
+ normalizeNode
17
+ } = editor;
18
+ const newEditor = editor;
19
+ newEditor.isVoid = element => {
20
+ const {
21
+ type
22
+ } = element;
23
+ if (type === _constants.ELementTypes.DIVIDER) return true;
24
+ return isVoid(element);
25
+ };
26
+ newEditor.insertText = text => {
27
+ const {
28
+ selection
29
+ } = newEditor;
30
+ if (!selection || !_slate.Range.isCollapsed(selection)) {
31
+ insertText(text);
32
+ return;
33
+ }
34
+ const [blockEntry] = _slate.Editor.nodes(newEditor, {
35
+ at: selection,
36
+ match: n => _slate.Element.isElement(n) && n.type === _constants.ELementTypes.PARAGRAPH
37
+ });
38
+ if (!blockEntry) {
39
+ insertText(text);
40
+ return;
41
+ }
42
+ const [blockNode, blockPath] = blockEntry;
43
+ const blockText = _slate.Node.string(blockNode);
44
+ const nextText = blockText + text;
45
+ if (HR_PATTERNS.includes(nextText)) {
46
+ _slate.Editor.withoutNormalizing(newEditor, () => {
47
+ _slate.Transforms.removeNodes(newEditor, {
48
+ at: blockPath
49
+ });
50
+ _slate.Transforms.insertNodes(newEditor, (0, _core.generateEmptyElement)(_constants.ELementTypes.DIVIDER), {
51
+ at: blockPath
52
+ });
53
+ const nextPath = _slate.Path.next(blockPath);
54
+ _slate.Transforms.insertNodes(newEditor, (0, _core.generateEmptyElement)(_constants.ELementTypes.PARAGRAPH), {
55
+ at: nextPath
56
+ });
57
+ _slate.Transforms.select(newEditor, _slate.Editor.start(newEditor, nextPath));
58
+ });
59
+ return;
60
+ }
61
+ return insertText(text);
62
+ };
63
+ newEditor.normalizeNode = _ref => {
64
+ let [node, path] = _ref;
65
+ if (node.type === _elementTypes.DIVIDER) {
66
+ const isLast = (0, _core.isLastNode)(newEditor, node);
67
+ if (isLast) {
68
+ const paragraph = (0, _core.generateEmptyElement)(_elementTypes.PARAGRAPH);
69
+ _slate.Transforms.insertNodes(newEditor, paragraph, {
70
+ at: [path[0] + 1]
71
+ });
72
+ return;
73
+ }
74
+ const isFirst = (0, _core.isFirstNode)(newEditor, node);
75
+ if (isFirst) {
76
+ const paragraph = (0, _core.generateEmptyElement)(_elementTypes.PARAGRAPH);
77
+ _slate.Transforms.insertNodes(newEditor, paragraph, {
78
+ at: [path[0]]
79
+ });
80
+ return;
81
+ }
82
+ }
83
+ return normalizeNode([node, path]);
84
+ };
85
+ return newEditor;
86
+ };
87
+ var _default = exports.default = withDivider;
@@ -0,0 +1,19 @@
1
+ .sf-divider-container {
2
+ display: flex;
3
+ align-items: center;
4
+ cursor: pointer;
5
+ height: 13px;
6
+ width: 100%;
7
+ }
8
+
9
+ .sf-divider-container.is-selected {
10
+ border-radius: 4px;
11
+ background-color: Highlight;
12
+ }
13
+
14
+ .sf-divider {
15
+ border-top: 1px solid #cccccc;
16
+ width: 100%;
17
+ height: 0;
18
+ margin: 5px 0;
19
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _slateReact = require("slate-react");
10
+ require("./index.css");
11
+ /* eslint-disable react-hooks/rules-of-hooks */
12
+
13
+ const renderDivider = _ref => {
14
+ let {
15
+ attributes,
16
+ children,
17
+ element
18
+ } = _ref;
19
+ const isSelected = (0, _slateReact.useSelected)();
20
+ return /*#__PURE__*/_react.default.createElement("div", Object.assign({
21
+ "data-id": element.id,
22
+ className: "sf-divider-container ".concat(isSelected ? 'is-selected' : '')
23
+ }, attributes), /*#__PURE__*/_react.default.createElement("div", {
24
+ className: "sf-divider",
25
+ contentEditable: false
26
+ }), children);
27
+ };
28
+ var _default = exports.default = renderDivider;
@@ -34,6 +34,12 @@ Object.defineProperty(exports, "DefinitionPlugin", {
34
34
  return _definition.default;
35
35
  }
36
36
  });
37
+ Object.defineProperty(exports, "DividerPlugin", {
38
+ enumerable: true,
39
+ get: function () {
40
+ return _divider.default;
41
+ }
42
+ });
37
43
  Object.defineProperty(exports, "FormulaPlugin", {
38
44
  enumerable: true,
39
45
  get: function () {
@@ -124,7 +130,8 @@ var _markdown = _interopRequireDefault(require("./markdown"));
124
130
  var _html = _interopRequireDefault(require("./html"));
125
131
  var _linkReference = _interopRequireDefault(require("./link-reference"));
126
132
  var _definition = _interopRequireDefault(require("./definition"));
133
+ var _divider = _interopRequireDefault(require("./divider"));
127
134
  const Plugins = [_paragraph.default, _textStyle.default, _header.default, _image.default, _checkList.default, _list.default, _codeBlock.default, _table.default, _blockquote.default, _link.default, _formula.default, _markdown.default, _html.default, _column.default,
128
135
  // put at the end
129
- _nodeId.default, _linkReference.default, _definition.default];
136
+ _nodeId.default, _linkReference.default, _definition.default, _divider.default];
130
137
  var _default = exports.default = Plugins;
@@ -112,6 +112,11 @@ const SlateElement = _ref => {
112
112
  const [renderColumn] = _plugins.ColumnPlugin.renderElements;
113
113
  return renderColumn(props);
114
114
  }
115
+ case ElementType.DIVIDER:
116
+ {
117
+ const [renderDivider] = _plugins.DividerPlugin.renderElements;
118
+ return renderDivider(props, editor);
119
+ }
115
120
  default:
116
121
  {
117
122
  const [renderParagraph] = _plugins.ParagraphPlugin.renderElements;
@@ -17,6 +17,7 @@ var _menu3 = _interopRequireDefault(require("../../../plugins/code-block/menu"))
17
17
  var _menu4 = _interopRequireDefault(require("../../../plugins/formula/menu"));
18
18
  var _menu5 = _interopRequireDefault(require("../../../plugins/column/menu"));
19
19
  var _constants = require("../../../../constants");
20
+ var _menu6 = _interopRequireDefault(require("../../../plugins/divider/menu"));
20
21
  require("./style.css");
21
22
  const InsertToolbar = _ref => {
22
23
  let {
@@ -97,6 +98,6 @@ const InsertToolbar = _ref => {
97
98
  style: {
98
99
  maxHeight: window.innerHeight - bottom - 100
99
100
  }
100
- }, /*#__PURE__*/_react.default.createElement(_menu.default, props), /*#__PURE__*/_react.default.createElement(_menu2.default, props), /*#__PURE__*/_react.default.createElement(_menu3.default, props), isSupportFormula && /*#__PURE__*/_react.default.createElement(_menu4.default, props), isSupportColumn && /*#__PURE__*/_react.default.createElement(_menu5.default, props))));
101
+ }, /*#__PURE__*/_react.default.createElement(_menu.default, props), /*#__PURE__*/_react.default.createElement(_menu2.default, props), /*#__PURE__*/_react.default.createElement(_menu3.default, props), /*#__PURE__*/_react.default.createElement(_menu6.default, props), isSupportFormula && /*#__PURE__*/_react.default.createElement(_menu4.default, props), isSupportColumn && /*#__PURE__*/_react.default.createElement(_menu5.default, props))));
101
102
  };
102
103
  var _default = exports.default = InsertToolbar;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.UNORDERED_LIST = exports.TOP_LEVEL_TYPES = exports.TABLE_ROW = exports.TABLE_CELL = exports.TABLE = exports.PARAGRAPH = exports.ORDERED_LIST = exports.LIST_ITEM = exports.LINK = exports.INLINE_LEVEL_TYPES = exports.IMAGE = exports.HEADER_TYPE_MAP = exports.HEADER_LIST = exports.HEADER6 = exports.HEADER5 = exports.HEADER4 = exports.HEADER3 = exports.HEADER2 = exports.HEADER1 = exports.HEADER = exports.FORMULA = exports.COLUMN = exports.CODE_LINE = exports.CODE_BLOCK = exports.CHECK_LIST_ITEM = exports.BLOCKQUOTE = void 0;
6
+ exports.UNORDERED_LIST = exports.TOP_LEVEL_TYPES = exports.TABLE_ROW = exports.TABLE_CELL = exports.TABLE = exports.PARAGRAPH = exports.ORDERED_LIST = exports.LIST_ITEM = exports.LINK = exports.INLINE_LEVEL_TYPES = exports.IMAGE = exports.HEADER_TYPE_MAP = exports.HEADER_LIST = exports.HEADER6 = exports.HEADER5 = exports.HEADER4 = exports.HEADER3 = exports.HEADER2 = exports.HEADER1 = exports.HEADER = exports.FORMULA = exports.DIVIDER = exports.COLUMN = exports.CODE_LINE = exports.CODE_BLOCK = exports.CHECK_LIST_ITEM = exports.BLOCKQUOTE = void 0;
7
7
  const BLOCKQUOTE = exports.BLOCKQUOTE = 'blockquote';
8
8
  const HEADER = exports.HEADER = 'header';
9
9
  // each header type should be start with HEADER, all of justices should based on HEADER
@@ -27,7 +27,8 @@ const IMAGE = exports.IMAGE = 'image';
27
27
  const LINK = exports.LINK = 'link';
28
28
  const FORMULA = exports.FORMULA = 'formula';
29
29
  const COLUMN = exports.COLUMN = 'column';
30
- const TOP_LEVEL_TYPES = exports.TOP_LEVEL_TYPES = [BLOCKQUOTE, HEADER1, HEADER2, HEADER3, HEADER4, HEADER5, HEADER6, ORDERED_LIST, UNORDERED_LIST, CHECK_LIST_ITEM, PARAGRAPH, CODE_BLOCK, TABLE];
30
+ const DIVIDER = exports.DIVIDER = 'divider';
31
+ const TOP_LEVEL_TYPES = exports.TOP_LEVEL_TYPES = [BLOCKQUOTE, HEADER1, HEADER2, HEADER3, HEADER4, HEADER5, HEADER6, ORDERED_LIST, UNORDERED_LIST, CHECK_LIST_ITEM, PARAGRAPH, CODE_BLOCK, TABLE, DIVIDER];
31
32
  const INLINE_LEVEL_TYPES = exports.INLINE_LEVEL_TYPES = [IMAGE, LINK];
32
33
  const HEADER_LIST = exports.HEADER_LIST = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];
33
34
  const HEADER_TYPE_MAP = exports.HEADER_TYPE_MAP = {
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _slugid = _interopRequireDefault(require("slugid"));
9
+ var _constants = require("../constants");
10
+ const hrRule = element => {
11
+ if (element.nodeName === 'HR') {
12
+ return {
13
+ id: _slugid.default.nice(),
14
+ type: _constants.DIVIDER,
15
+ children: [{
16
+ id: _slugid.default.nice(),
17
+ text: ''
18
+ }]
19
+ };
20
+ }
21
+ return;
22
+ };
23
+ var _default = exports.default = hrRule;
@@ -8,11 +8,12 @@ exports.default = void 0;
8
8
  var _blockquote = _interopRequireDefault(require("./blockquote"));
9
9
  var _codeBlock = _interopRequireDefault(require("./code-block"));
10
10
  var _header = _interopRequireDefault(require("./header"));
11
+ var _hr = _interopRequireDefault(require("./hr"));
11
12
  var _image = _interopRequireDefault(require("./image"));
12
13
  var _link = _interopRequireDefault(require("./link"));
13
14
  var _list = _interopRequireDefault(require("./list"));
14
15
  var _paragraph = _interopRequireDefault(require("./paragraph"));
15
16
  var _table = _interopRequireDefault(require("./table"));
16
17
  var _text = _interopRequireDefault(require("./text"));
17
- const rules = [_blockquote.default, _codeBlock.default, _header.default, _image.default, _link.default, _list.default, _table.default, _paragraph.default, _text.default];
18
+ const rules = [_blockquote.default, _codeBlock.default, _header.default, _image.default, _link.default, _list.default, _table.default, _hr.default, _paragraph.default, _text.default];
18
19
  var _default = exports.default = rules;
@@ -382,7 +382,7 @@ exports.transformDefinition = transformDefinition;
382
382
  const transformHr = node => {
383
383
  return {
384
384
  id: _slugid.default.nice(),
385
- type: 'hr',
385
+ type: _elementTypes.DIVIDER,
386
386
  children: [(0, _core.generateDefaultText)()]
387
387
  };
388
388
  };
@@ -339,6 +339,9 @@ const transformAsParagraph = node => {
339
339
  };
340
340
  return transformParagraph(paragraph);
341
341
  };
342
+ const transformDivider = () => ({
343
+ type: 'thematicBreak'
344
+ });
342
345
  const elementHandlers = {
343
346
  'paragraph': transformParagraph,
344
347
  'header1': transformHeader,
@@ -353,7 +356,8 @@ const elementHandlers = {
353
356
  'ordered_list': transformList,
354
357
  'unordered_list': transformList,
355
358
  'code_block': transformCodeBlock,
356
- 'formula': transformFormula
359
+ 'formula': transformFormula,
360
+ 'divider': transformDivider
357
361
  };
358
362
  const formatSlateToMd = children => {
359
363
  // const validChildren = children.filter(child => elementHandlers[child.type]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/seafile-editor",
3
- "version": "3.0.20",
3
+ "version": "3.0.21",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -1,11 +1,11 @@
1
1
  @font-face {
2
2
  font-family: "mdfont"; /* Project id 5080543 */
3
- src: url('iconfont.eot?t=1768372232343'); /* IE9 */
4
- src: url('iconfont.eot?t=1768372232343#iefix') format('embedded-opentype'), /* IE6-IE8 */
5
- url('iconfont.woff2?t=1768372232343') format('woff2'),
6
- url('iconfont.woff?t=1768372232343') format('woff'),
7
- url('iconfont.ttf?t=1768372232343') format('truetype'),
8
- url('iconfont.svg?t=1768372232343#mdfont') format('svg');
3
+ src: url('iconfont.eot?t=1773737826719'); /* IE9 */
4
+ src: url('iconfont.eot?t=1773737826719#iefix') format('embedded-opentype'), /* IE6-IE8 */
5
+ url('iconfont.woff2?t=1773737826719') format('woff2'),
6
+ url('iconfont.woff?t=1773737826719') format('woff'),
7
+ url('iconfont.ttf?t=1773737826719') format('truetype'),
8
+ url('iconfont.svg?t=1773737826719#mdfont') format('svg');
9
9
  }
10
10
 
11
11
  .mdfont {
@@ -16,6 +16,10 @@
16
16
  -moz-osx-font-smoothing: grayscale;
17
17
  }
18
18
 
19
+ .md-divider:before {
20
+ content: "\e605";
21
+ }
22
+
19
23
  .md-arrow-down:before {
20
24
  content: "\e6ce";
21
25
  }
@@ -14,6 +14,8 @@
14
14
  />
15
15
  <missing-glyph />
16
16
 
17
+ <glyph glyph-name="divider" unicode="&#58885;" d="M960 432v-96H64v96h896z" horiz-adv-x="1024" />
18
+
17
19
  <glyph glyph-name="arrow-down" unicode="&#59086;" d="M513.92 128l385.952 385.92L832 581.824l-318.08-318.08-318.048 318.08L128 513.92 513.92 128z" horiz-adv-x="1024" />
18
20
 
19
21
  <glyph glyph-name="arrow-up" unicode="&#59083;" d="M513.92 640l385.952-385.92-67.84-67.904-318.08 318.08-318.08-318.08-67.84 67.904L513.92 640z" horiz-adv-x="1024" />
@@ -1,14 +1,14 @@
1
1
  @font-face {
2
2
  font-family: "mdfont";
3
3
  /* Project id 5080543 */
4
- src: url('./seafile-editor-font/iconfont.eot?t=1768372232343');
4
+ src: url('./seafile-editor-font/iconfont.eot?t=1773737826719');
5
5
  /* IE9 */
6
- src: url('./seafile-editor-font/iconfont.eot?t=1768372232343#iefix') format('embedded-opentype'),
6
+ src: url('./seafile-editor-font/iconfont.eot?t=1773737826719#iefix') format('embedded-opentype'),
7
7
  /* IE6-IE8 */
8
- url('./seafile-editor-font/iconfont.woff2?t=1768372232343') format('woff2'),
9
- url('./seafile-editor-font/iconfont.woff?t=1768372232343') format('woff'),
10
- url('./seafile-editor-font/iconfont.ttf?t=1768372232343') format('truetype'),
11
- url('./seafile-editor-font/iconfont.svg?t=1768372232343#mdfont') format('svg');
8
+ url('./seafile-editor-font/iconfont.woff2?t=1773737826719') format('woff2'),
9
+ url('./seafile-editor-font/iconfont.woff?t=1773737826719') format('woff'),
10
+ url('./seafile-editor-font/iconfont.ttf?t=1773737826719') format('truetype'),
11
+ url('./seafile-editor-font/iconfont.svg?t=1773737826719#mdfont') format('svg');
12
12
  }
13
13
 
14
14
  .mdfont {
@@ -19,6 +19,10 @@
19
19
  -moz-osx-font-smoothing: grayscale;
20
20
  }
21
21
 
22
+ .md-divider:before {
23
+ content: "\e605";
24
+ }
25
+
22
26
  .md-arrow-down:before {
23
27
  content: "\e6ce";
24
28
  }