vap1 0.3.7 → 0.3.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.
Files changed (84) hide show
  1. package/components/SearchBar/ByField.d.ts +6 -3
  2. package/components/SearchBar/ByField.js +5 -5
  3. package/components/SearchBar/ByKeyword.js +7 -1
  4. package/components/Upload/UploadImage.d.ts +1 -0
  5. package/components/Upload/UploadImage.js +6 -5
  6. package/components/_adapt/Tabs.d.ts +15 -0
  7. package/components/_adapt/Tabs.js +38 -3
  8. package/deps/app-data/Const.d.ts +6 -0
  9. package/deps/app-data/Const.js +10 -0
  10. package/deps/app-data/SourceTable.js +137 -0
  11. package/deps/{apis → app-data}/useSource.js +18 -8
  12. package/deps/editor/Article.d.ts +20 -0
  13. package/deps/editor/Article.js +53 -0
  14. package/deps/editor/Editor.d.ts +43 -0
  15. package/deps/editor/Editor.js +110 -0
  16. package/deps/editor/EditorModal.d.ts +32 -0
  17. package/deps/editor/EditorModal.js +89 -0
  18. package/deps/editor/index.d.ts +4 -0
  19. package/deps/editor/index.js +9 -0
  20. package/deps/{registerEditor.js → editor/registerEditor.js} +4 -4
  21. package/deps/editor/support/buttons/ImageButton.d.ts +5 -0
  22. package/deps/editor/support/buttons/ImageButton.js +138 -0
  23. package/deps/editor/support/buttons/index.d.ts +1 -0
  24. package/deps/editor/support/buttons/index.js +5 -0
  25. package/deps/editor/support/element/ImageElement.d.ts +3 -0
  26. package/deps/editor/support/element/ImageElement.js +228 -0
  27. package/deps/editor/support/element/TableElement.js +0 -0
  28. package/deps/editor/support/element/VideoElement.d.ts +0 -0
  29. package/deps/editor/support/element/VideoElement.js +0 -0
  30. package/deps/editor/support/element/_Base.d.ts +9 -0
  31. package/deps/editor/support/element/_Base.js +9 -0
  32. package/deps/editor/support/element/_Element.d.ts +2 -0
  33. package/deps/{_editor/base/Element.js → editor/support/element/_Element.js} +9 -6
  34. package/deps/editor/support/element/_Leaf.d.ts +3 -0
  35. package/deps/{_editor/base/Leaf.js → editor/support/element/_Leaf.js} +2 -2
  36. package/deps/editor/support/index.d.ts +4 -0
  37. package/deps/editor/support/index.js +89 -0
  38. package/deps/{_editor → editor}/tools/Button.d.ts +1 -1
  39. package/deps/{_editor → editor}/tools/Button.js +7 -3
  40. package/deps/{_editor → editor}/tools/ToolBar.d.ts +1 -1
  41. package/deps/{_editor → editor}/tools/ToolBar.js +1 -1
  42. package/deps/{_editor → editor}/tools/_BlockButton.d.ts +1 -1
  43. package/deps/{_editor → editor}/tools/_BlockButton.js +3 -3
  44. package/deps/{_editor → editor}/tools/_InsertButton.d.ts +1 -2
  45. package/deps/editor/tools/_InsertButton.js +36 -0
  46. package/deps/{_editor → editor}/tools/_MarkButton.d.ts +1 -1
  47. package/deps/{_editor → editor}/tools/_MarkButton.js +4 -4
  48. package/deps/{_editor → editor}/tools/_TxtButton.d.ts +1 -1
  49. package/deps/{_editor → editor}/tools/_TxtButton.js +37 -50
  50. package/deps/{_editor/base → editor}/types.d.ts +47 -56
  51. package/deps/editor/types.js +2 -0
  52. package/deps/editor/utils/ParseHtml.d.ts +0 -0
  53. package/deps/editor/utils/index.d.ts +7 -0
  54. package/deps/editor/utils/index.js +60 -0
  55. package/package.json +1 -1
  56. package/uform/hooks/useEditor.js +0 -1
  57. package/utils/Global.d.ts +4 -0
  58. package/utils/Global.js +1 -0
  59. package/deps/_editor/advance/_Image.d.ts +0 -2
  60. package/deps/_editor/advance/_Image.js +0 -102
  61. package/deps/_editor/base/Element.d.ts +0 -5
  62. package/deps/_editor/base/Leaf.d.ts +0 -3
  63. package/deps/_editor/base/Support.d.ts +0 -2
  64. package/deps/_editor/base/Support.js +0 -78
  65. package/deps/_editor/base/types.js +0 -10
  66. package/deps/_editor/tools/_InsertButton.js +0 -69
  67. package/deps/api-audit.d.ts +0 -1
  68. package/deps/api-audit.js +0 -6
  69. package/deps/api-data.js +0 -1
  70. package/deps/editor.d.ts +0 -34
  71. package/deps/editor.js +0 -137
  72. /package/deps/{_editor/advance/_Audio.d.ts → app-data/SourceTable.d.ts} +0 -0
  73. /package/deps/{apis → app-data}/useSource.d.ts +0 -0
  74. /package/deps/{_editor → editor}/i18n.d.ts +0 -0
  75. /package/deps/{_editor → editor}/i18n.js +0 -0
  76. /package/deps/{registerEditor.d.ts → editor/registerEditor.d.ts} +0 -0
  77. /package/deps/{_editor/advance/_Table.d.ts → editor/support/buttons/AudioButton.d.ts} +0 -0
  78. /package/deps/{_editor/advance/_Audio.js → editor/support/buttons/AudioButton.js} +0 -0
  79. /package/deps/{_editor/advance/_Video.d.ts → editor/support/buttons/TableButton.d.ts} +0 -0
  80. /package/deps/{_editor/advance/_Table.js → editor/support/buttons/TableButton.js} +0 -0
  81. /package/deps/{_editor/utils/ParseHtml.d.ts → editor/support/buttons/VideoButton.d.ts} +0 -0
  82. /package/deps/{_editor/advance/_Video.js → editor/support/buttons/VideoButton.js} +0 -0
  83. /package/deps/{api-data.d.ts → editor/support/element/TableElement.d.ts} +0 -0
  84. /package/deps/{_editor → editor}/utils/ParseHtml.js +0 -0
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.supportAdvance = exports.Leaf = exports.Element = void 0;
20
+ var utils_1 = require("../../../utils");
21
+ var ImageButton_1 = require("./buttons/ImageButton");
22
+ var _Element_1 = require("./element/_Element");
23
+ Object.defineProperty(exports, "Element", { enumerable: true, get: function () { return _Element_1.Element; } });
24
+ var _Leaf_1 = require("./element/_Leaf");
25
+ Object.defineProperty(exports, "Leaf", { enumerable: true, get: function () { return _Leaf_1.Leaf; } });
26
+ // 后端代码可以先给我下,
27
+ var VOID_SET = new Set(['image', 'video', 'audio']);
28
+ var supportAdvance = function (editor) {
29
+ var insertData = editor.insertData, isVoid = editor.isVoid;
30
+ editor.isVoid = function (element) {
31
+ // console.log(element.type, VOID_SET.has(element.type))
32
+ if (VOID_SET.has(element.type))
33
+ return true;
34
+ return isVoid(element);
35
+ };
36
+ editor.insertData = function (data) {
37
+ var text = data.getData('text/plain');
38
+ var files = data.files;
39
+ if (files && files.length > 0) {
40
+ var _loop_1 = function (i, _i) {
41
+ var file = files.item(i);
42
+ var reader = new FileReader();
43
+ var _a = __read(file.type.split('/'), 1), mime = _a[0];
44
+ if (mime === 'image') {
45
+ reader.addEventListener('load', function () {
46
+ var url = reader.result;
47
+ (0, ImageButton_1.insertImage)(editor, url);
48
+ });
49
+ reader.readAsDataURL(file);
50
+ }
51
+ };
52
+ for (var i = 0, _i = files.length; i < _i; i++) {
53
+ _loop_1(i, _i);
54
+ }
55
+ }
56
+ else if (utils_1.StringUtil.isURL(text)) {
57
+ (0, ImageButton_1.insertImage)(editor, text);
58
+ }
59
+ else {
60
+ insertData(data);
61
+ }
62
+ };
63
+ return editor;
64
+ // editor.insertData = data => {
65
+ // const text = data.getData('text/plain')
66
+ // console.log('insert', data);
67
+ // console.log('text', text);
68
+ // const { files } = data
69
+ // if (files && files.length > 0) {
70
+ // for (const file of files) {
71
+ // const reader = new FileReader()
72
+ // const [mime] = file.type.split('/')
73
+ // if (mime === 'image') {
74
+ // reader.addEventListener('load', () => {
75
+ // const url = reader.result
76
+ // insertImage(editor, url)
77
+ // })
78
+ // reader.readAsDataURL(file)
79
+ // }
80
+ // }
81
+ // } else if (isImageUrl(text)) {
82
+ // insertImage(editor, text)
83
+ // } else {
84
+ // insertData(data)
85
+ // }
86
+ // }
87
+ return editor;
88
+ };
89
+ exports.supportAdvance = supportAdvance;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { CommandType } from '../base/types';
2
+ import type { CommandType } from '../types';
3
3
  export declare const Button: React.FC<{
4
4
  type: CommandType;
5
5
  disabled: boolean;
@@ -22,6 +22,7 @@ var utils_1 = require("../../../utils");
22
22
  var _BlockButton_1 = require("./_BlockButton");
23
23
  var _MarkButton_1 = require("./_MarkButton");
24
24
  var _InsertButton_1 = require("./_InsertButton");
25
+ var ImageButton_1 = require("../support/buttons/ImageButton");
25
26
  var _TxtButton_1 = require("./_TxtButton");
26
27
  var BUTTONS = {
27
28
  bold: { type: 'mark', icon: 'bold', ik: i18n_1.EDITOR.BOLD },
@@ -54,7 +55,7 @@ var BUTTONS = {
54
55
  var Button = function (_a) {
55
56
  var type = _a.type, disabled = _a.disabled;
56
57
  if (type == null) {
57
- return react_1.default.createElement("span", { className: 'editor-toolbar-split' });
58
+ return react_1.default.createElement("span", { className: 'se-toolbar-split' });
58
59
  }
59
60
  if (!lodash_1.default.has(BUTTONS, type)) {
60
61
  return utils_1.Const.NONE;
@@ -78,15 +79,18 @@ var Button = function (_a) {
78
79
  return react_1.default.createElement(_TxtButton_1.FontSize, __assign({}, define, { cmd: type, disabled: disabled }));
79
80
  case 'fontFamily':
80
81
  return react_1.default.createElement(_TxtButton_1.FontFamily, __assign({}, define, { cmd: type, disabled: disabled }));
82
+ // 只要有点学习能力,学习一两个月时间后,弄点玩具级别的模型是不成问题的,
83
+ // 解释权在自己手上,后面逐步优化
81
84
  }
82
85
  return utils_1.Const.NONE;
83
86
  }
84
87
  else if (define.type == 'action') {
88
+ // console.log(type)
85
89
  switch (type) {
86
90
  case 'hr':
87
91
  return react_1.default.createElement(_InsertButton_1.HR, __assign({}, define, { cmd: type, disabled: disabled }));
88
- // case 'image':
89
- // return <Picture {...define} cmd={type} disabled={disabled} />
92
+ case 'image':
93
+ return react_1.default.createElement(ImageButton_1.ImageButton, __assign({}, define, { cmd: type, disabled: disabled }));
90
94
  // case 'audio':
91
95
  // return <Audio {...define} cmd={type} disabled={disabled}/>
92
96
  // case 'video':
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { CommandType } from '../base/types';
2
+ import type { CommandType } from '../types';
3
3
  type ToolbarProps = {
4
4
  buttons: CommandType[][];
5
5
  disabled?: boolean;
@@ -6,5 +6,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Toolbar = void 0;
7
7
  var react_1 = __importDefault(require("react"));
8
8
  var Button_1 = require("./Button");
9
- var Toolbar = function (props) { return react_1.default.createElement("div", { className: "editor-toolbar" }, props.buttons.map(function (lineGroup) { return react_1.default.createElement("div", { className: "editor-toolbar-line" }, lineGroup.map(function (type) { return react_1.default.createElement(Button_1.Button, { type: type, disabled: props.disabled }); })); })); };
9
+ var Toolbar = function (props) { return react_1.default.createElement("div", { className: "se-toolbar" }, props.buttons.map(function (lineGroup, i) { return react_1.default.createElement("div", { key: i, className: "se-toolbar-line" }, lineGroup.map(function (type, j) { return react_1.default.createElement(Button_1.Button, { key: type + j, type: type, disabled: props.disabled }); })); })); };
10
10
  exports.Toolbar = Toolbar;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- import type { ButtonProps } from '../base/types';
2
+ import type { ButtonProps } from '../types';
3
3
  export declare const TEXT_ALIGN_TYPES: string[];
4
4
  export declare const BlockButton: React.FC<ButtonProps>;
@@ -74,13 +74,13 @@ var isBlockActive = function (editor, format, blockType) {
74
74
  var BlockButton = function (_a) {
75
75
  var icon = _a.icon, ik = _a.ik, cmd = _a.cmd, disabled = _a.disabled;
76
76
  var editor = (0, slate_react_1.useSlate)();
77
- var clazz = ['editor-icon', 'editor-icon-block'];
77
+ var clazz = ['se-icon', 'se-icon-block'];
78
78
  var isActive = isBlockActive(editor, cmd, exports.TEXT_ALIGN_TYPES.includes(cmd) ? 'align' : 'type');
79
79
  if (isActive) {
80
- clazz.push('editor-icon-marked');
80
+ clazz.push('se-icon-marked');
81
81
  }
82
82
  if (disabled) {
83
- clazz.push('editor-icon-disabled');
83
+ clazz.push('se-icon-disabled');
84
84
  }
85
85
  return react_1.default.createElement(Icon_1.Icon, { className: clazz.join(' '), type: icon, title: utils_1.i18n.txt(ik), onClick: function () { return toggleBlock(editor, cmd); } });
86
86
  // return (
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
- import type { ButtonProps } from '../base/types';
2
+ import type { ButtonProps } from '../types';
3
3
  export declare const HR: React.FC<ButtonProps>;
4
4
  export declare const Audio: React.FC<ButtonProps>;
5
5
  export declare const Video: React.FC<ButtonProps>;
6
- export declare const Picture: React.FC<ButtonProps>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Video = exports.Audio = exports.HR = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var slate_react_1 = require("slate-react");
9
+ // import { UploadImage } from '../../../components/Upload/UploadImage';
10
+ // import { UFormModal } from '../../../components/UForm';
11
+ var Icon_1 = require("../../../components/_adapt/Icon");
12
+ var utils_1 = require("../../../utils");
13
+ var slate_1 = require("slate");
14
+ var insertImage = function (editor, url) {
15
+ var text = { text: '' };
16
+ var image = { type: 'image', url: url, children: [text] };
17
+ slate_1.Transforms.insertNodes(editor, image);
18
+ };
19
+ var HR = function (_a) {
20
+ var icon = _a.icon, ik = _a.ik, cmd = _a.cmd, disabled = _a.disabled;
21
+ var editor = (0, slate_react_1.useSlate)();
22
+ return react_1.default.createElement(Icon_1.Icon, { className: 'se-icon', type: icon, title: utils_1.i18n.txt(ik), onClick: function () { return slate_1.Transforms.insertNodes(editor, { type: 'hr', children: [{ text: '' }] }); } });
23
+ };
24
+ exports.HR = HR;
25
+ var Audio = function (_a) {
26
+ var icon = _a.icon, ik = _a.ik, cmd = _a.cmd;
27
+ var clazz = ['se-icon'];
28
+ return react_1.default.createElement(Icon_1.Icon, { className: clazz.join(' '), type: icon, title: utils_1.i18n.txt(ik) });
29
+ };
30
+ exports.Audio = Audio;
31
+ var Video = function (_a) {
32
+ var icon = _a.icon, ik = _a.ik, cmd = _a.cmd;
33
+ var clazz = ['se-icon'];
34
+ return react_1.default.createElement(Icon_1.Icon, { className: clazz.join(' '), type: icon, title: utils_1.i18n.txt(ik) });
35
+ };
36
+ exports.Video = Video;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { CommandType, ButtonDefine } from '../base/types';
2
+ import type { CommandType, ButtonDefine } from '../types';
3
3
  export declare const MarkButton: React.FC<ButtonDefine & {
4
4
  cmd: CommandType;
5
5
  disabled: boolean;
@@ -29,16 +29,16 @@ var MarkButton = function (_a) {
29
29
  var _b, _c;
30
30
  var icon = _a.icon, ik = _a.ik, cmd = _a.cmd, disabled = _a.disabled;
31
31
  var editor = (0, slate_react_1.useSlate)();
32
- var clazz = ['editor-icon', 'editor-icon-mark'];
32
+ var clazz = ['se-icon', 'se-icon-mark'];
33
33
  if (disabled) {
34
- clazz.push('editor-icon-disabled');
34
+ clazz.push('se-icon-disabled');
35
35
  }
36
36
  else {
37
37
  if (isMarkActive(editor, cmd)) {
38
- clazz.push('editor-icon-marked');
38
+ clazz.push('se-icon-marked');
39
39
  }
40
40
  else if (((_b = editor.selection) === null || _b === void 0 ? void 0 : _b.focus.offset) == ((_c = editor.selection) === null || _c === void 0 ? void 0 : _c.anchor.offset)) {
41
- clazz.push('editor-icon-disabled');
41
+ clazz.push('se-icon-disabled');
42
42
  }
43
43
  }
44
44
  return react_1.default.createElement(Icon_1.Icon, { className: clazz.join(' '), type: icon, title: utils_1.i18n.txt(ik), onClick: function () { return toggleMark(editor, cmd); } });
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { ButtonProps } from '../base/types';
2
+ import type { ButtonProps } from '../types';
3
3
  export declare const Link: React.FC<ButtonProps>;
4
4
  export declare const FontFamily: React.FC<ButtonProps>;
5
5
  export declare const FontSize: React.FC<ButtonProps>;
@@ -34,16 +34,12 @@ exports.BgColor = exports.Color = exports.FontSize = exports.FontFamily = export
34
34
  var react_1 = __importDefault(require("react"));
35
35
  var slate_1 = require("slate");
36
36
  var slate_react_1 = require("slate-react");
37
- var types_1 = require("../base/types");
38
- var utils_1 = require("../../../utils");
39
- var Popover_1 = require("../../../components/_adapt/Popover");
40
- var Slider_1 = require("../../../components/_adapt/Slider");
41
- var Button_1 = require("../../../components/_adapt/Button");
42
- var Select_1 = require("../../../components/_adapt/Select");
43
- var ColorPicker_1 = require("../../../components/_adapt/ColorPicker");
44
- var UForm_1 = require("../../../components/UForm");
37
+ var utils_1 = require("../utils");
38
+ var utils_2 = require("../../../utils");
39
+ var index_1 = require("../../../index");
40
+ // import { UFormModal } from '../../../components/UForm';
45
41
  var Icon_1 = require("../../../components/_adapt/Icon");
46
- var hooks_1 = require("../../../hooks");
42
+ var useToggle_1 = require("../../../hooks/useToggle");
47
43
  var markValue = function (editor, cmd) {
48
44
  var marks = slate_1.Editor.marks(editor);
49
45
  if (marks && marks[cmd]) {
@@ -71,29 +67,22 @@ var Link = function (_a) {
71
67
  var _b, _c;
72
68
  var icon = _a.icon, ik = _a.ik, cmd = _a.cmd, disabled = _a.disabled;
73
69
  var editor = (0, slate_react_1.useSlate)();
74
- var _d = __read((0, hooks_1.useToggle)(), 2), openModal = _d[0], showModal = _d[1];
70
+ var _d = __read((0, useToggle_1.useToggle)(), 2), openModal = _d[0], showModal = _d[1];
75
71
  var value = markValue(editor, cmd);
76
- var clazz = ['editor-icon', 'editor-icon-mark'];
72
+ var clazz = ['se-icon', 'se-icon-mark'];
77
73
  if (value)
78
- clazz.push('editor-icon-marked');
74
+ clazz.push('se-icon-marked');
79
75
  if (disabled || (value == null && ((_b = editor.selection) === null || _b === void 0 ? void 0 : _b.focus.offset) == ((_c = editor.selection) === null || _c === void 0 ? void 0 : _c.anchor.offset))) {
80
- clazz.push('editor-icon-disabled');
76
+ clazz.push('se-icon-disabled');
81
77
  }
82
- return react_1.default.createElement(react_1.default.Fragment, null,
83
- value ? react_1.default.createElement(Popover_1.Popover, { placement: "bottomLeft", content: react_1.default.createElement("div", { style: { width: 320 } },
84
- react_1.default.createElement("p", null,
85
- "\u94FE\u63A5\u5230 : ",
86
- react_1.default.createElement("a", { href: value, target: '_blank' }, value)),
87
- react_1.default.createElement("p", null,
88
- react_1.default.createElement(Button_1.Button, { type: 'primary', style: { marginRight: 6 }, onClick: function () { return showModal(); } }, "\u4FEE\u6539\u5730\u5740"),
89
- react_1.default.createElement(Button_1.Button, { danger: true, onClick: function () { return setValue(editor, cmd, null); } }, "\u5220\u9664\u94FE\u63A5"))) },
90
- react_1.default.createElement("span", { className: 'vicon vicon-link editor-icon editor-icon-mark editor-icon-marked vicon-clickable', title: utils_1.i18n.txt(ik), onClick: function () { return showModal(); } })) : react_1.default.createElement(Icon_1.Icon, { className: clazz.join(' '), type: icon, title: utils_1.i18n.txt(ik), onClick: showModal }),
91
- react_1.default.createElement(UForm_1.UFormModal, { title: '添加链接', open: openModal, onCancel: showModal, data: { url: value }, fields: [
92
- { field: 'url', type: 'url', title: '链接地址' },
93
- ], onOk: function (data) {
94
- showModal();
95
- setValue(editor, cmd, data.url);
96
- } }));
78
+ return react_1.default.createElement(react_1.default.Fragment, null, value ? react_1.default.createElement(index_1.Popover, { placement: "bottomLeft", content: react_1.default.createElement("div", { style: { width: 320 } },
79
+ react_1.default.createElement("p", null,
80
+ "\u94FE\u63A5\u5230 : ",
81
+ react_1.default.createElement("a", { href: value, target: '_blank' }, value)),
82
+ react_1.default.createElement("p", null,
83
+ react_1.default.createElement(index_1.Button, { type: 'primary', style: { marginRight: 6 }, onClick: function () { return showModal(); } }, "\u4FEE\u6539\u5730\u5740"),
84
+ react_1.default.createElement(index_1.Button, { danger: true, onClick: function () { return setValue(editor, cmd, null); } }, "\u5220\u9664\u94FE\u63A5"))) },
85
+ react_1.default.createElement("span", { className: 'vicon vicon-link se-icon se-icon-mark se-icon-marked vicon-clickable', title: utils_2.i18n.txt(ik), onClick: function () { return showModal(); } })) : react_1.default.createElement(Icon_1.Icon, { className: clazz.join(' '), type: icon, title: utils_2.i18n.txt(ik), onClick: showModal }));
97
86
  };
98
87
  exports.Link = Link;
99
88
  var FontFamily = function (_a) {
@@ -102,9 +91,7 @@ var FontFamily = function (_a) {
102
91
  var editor = (0, slate_react_1.useSlate)();
103
92
  var value = markValue(editor, cmd) || undefined;
104
93
  var notSelected = ((_b = editor.selection) === null || _b === void 0 ? void 0 : _b.focus.offset) == ((_c = editor.selection) === null || _c === void 0 ? void 0 : _c.anchor.offset);
105
- return react_1.default.createElement(Select_1.Select, { size: 'small', value: value, disabled: value === undefined && notSelected, style: { width: 72, marginRight: 6 }, placeholder: "\u5B57\u4F53",
106
- // onSelect={()=>{
107
- // }}
94
+ return react_1.default.createElement(index_1.Select, { size: 'small', value: value, disabled: value === undefined && notSelected, style: { width: 72, marginRight: 6 }, placeholder: "\u5B57\u4F53",
108
95
  // onClick={(evt) => PageUtil.stopEvent(evt)}
109
96
  onChange: function (val) {
110
97
  if (val == 0) {
@@ -114,15 +101,15 @@ var FontFamily = function (_a) {
114
101
  setValue(editor, cmd, val);
115
102
  }
116
103
  } },
117
- react_1.default.createElement(Select_1.Select.Option, { value: 1 },
118
- react_1.default.createElement("span", { style: { fontFamily: types_1.FontFamilyTexts[1] } }, "\u9ED1\u4F53")),
119
- react_1.default.createElement(Select_1.Select.Option, { value: 2 },
120
- react_1.default.createElement("span", { style: { fontFamily: types_1.FontFamilyTexts[2] } }, "\u5B8B\u4F53")),
121
- react_1.default.createElement(Select_1.Select.Option, { value: 3 },
122
- react_1.default.createElement("span", { style: { fontFamily: types_1.FontFamilyTexts[3] } }, "\u6977\u4F53")),
123
- react_1.default.createElement(Select_1.Select.Option, { value: 4 },
124
- react_1.default.createElement("span", { style: { fontFamily: types_1.FontFamilyTexts[4] } }, "\u82F1\u6587")),
125
- react_1.default.createElement(Select_1.Select.Option, { value: 0 }, "\u6E05\u9664"));
104
+ react_1.default.createElement(index_1.Select.Option, { value: 1 },
105
+ react_1.default.createElement("span", { style: { fontFamily: utils_1.FontFamilyTexts[1] } }, "\u9ED1\u4F53")),
106
+ react_1.default.createElement(index_1.Select.Option, { value: 2 },
107
+ react_1.default.createElement("span", { style: { fontFamily: utils_1.FontFamilyTexts[2] } }, "\u5B8B\u4F53")),
108
+ react_1.default.createElement(index_1.Select.Option, { value: 3 },
109
+ react_1.default.createElement("span", { style: { fontFamily: utils_1.FontFamilyTexts[3] } }, "\u6977\u4F53")),
110
+ react_1.default.createElement(index_1.Select.Option, { value: 4 },
111
+ react_1.default.createElement("span", { style: { fontFamily: utils_1.FontFamilyTexts[4] } }, "\u82F1\u6587")),
112
+ react_1.default.createElement(index_1.Select.Option, { value: 0 }, "\u6E05\u9664"));
126
113
  };
127
114
  exports.FontFamily = FontFamily;
128
115
  var FontSize = function (_a) {
@@ -130,12 +117,12 @@ var FontSize = function (_a) {
130
117
  var icon = _a.icon, ik = _a.ik, cmd = _a.cmd, disabled = _a.disabled;
131
118
  var editor = (0, slate_react_1.useSlate)();
132
119
  var value = markValue(editor, cmd) || 12;
133
- var clazz = ['editor-tool-font'];
120
+ var clazz = ['se-tool-font'];
134
121
  if (disabled || (((_b = editor.selection) === null || _b === void 0 ? void 0 : _b.focus.offset) == ((_c = editor.selection) === null || _c === void 0 ? void 0 : _c.anchor.offset))) {
135
- clazz.push('editor-icon-disabled');
122
+ clazz.push('se-icon-disabled');
136
123
  }
137
- return react_1.default.createElement(Popover_1.Popover, { placement: "bottomLeft", content: react_1.default.createElement("div", { style: { width: 240, }, onClick: utils_1.PageUtil.stopEvent },
138
- react_1.default.createElement(Slider_1.Slider, { value: value, min: 12, max: 60, onChange: function (val) { return setValue(editor, cmd, val); } })) },
124
+ return react_1.default.createElement(index_1.Popover, { placement: "bottomLeft", content: react_1.default.createElement("div", { style: { width: 240, }, onClick: utils_2.PageUtil.stopEvent },
125
+ react_1.default.createElement(index_1.Slider, { value: value, min: 12, max: 60, onChange: function (val) { return setValue(editor, cmd, val); } })) },
139
126
  react_1.default.createElement("span", { className: clazz.join(' ') },
140
127
  "\u5B57\u53F7 : ",
141
128
  react_1.default.createElement("b", { className: 'vapfont' },
@@ -188,16 +175,16 @@ var Color = function (_a) {
188
175
  var icon = _a.icon, ik = _a.ik, cmd = _a.cmd, disabled = _a.disabled;
189
176
  var editor = (0, slate_react_1.useSlate)();
190
177
  var value = markValue(editor, cmd);
191
- var clazz = ['editor-icon', 'editor-icon-mark', 'vicon', 'vicon-' + icon];
178
+ var clazz = ['se-icon', 'se-icon-mark', 'vicon', 'vicon-' + icon];
192
179
  if (disabled || (((_b = editor.selection) === null || _b === void 0 ? void 0 : _b.focus.offset) == ((_c = editor.selection) === null || _c === void 0 ? void 0 : _c.anchor.offset))) {
193
- clazz.push('editor-icon-disabled');
180
+ clazz.push('se-icon-disabled');
194
181
  }
195
182
  var style = {};
196
183
  if (value) {
197
184
  style.color = value;
198
185
  style.fontWeight = 'bold';
199
186
  }
200
- return react_1.default.createElement(ColorPicker_1.ColorPicker, __assign({}, colorProps, { onChange: function (val, hex) { return setValue(editor, cmd, hex); } }),
187
+ return react_1.default.createElement(index_1.ColorPicker, __assign({}, colorProps, { onChange: function (val, hex) { return setValue(editor, cmd, hex); } }),
201
188
  react_1.default.createElement("span", { className: clazz.join(' '), style: style }));
202
189
  };
203
190
  exports.Color = Color;
@@ -206,15 +193,15 @@ var BgColor = function (_a) {
206
193
  var icon = _a.icon, ik = _a.ik, cmd = _a.cmd, disabled = _a.disabled;
207
194
  var editor = (0, slate_react_1.useSlate)();
208
195
  var value = markValue(editor, cmd);
209
- var clazz = ['editor-icon', 'editor-icon-mark', 'vicon', 'vicon-' + icon];
196
+ var clazz = ['se-icon', 'se-icon-mark', 'vicon', 'vicon-' + icon];
210
197
  if (disabled || (((_b = editor.selection) === null || _b === void 0 ? void 0 : _b.focus.offset) == ((_c = editor.selection) === null || _c === void 0 ? void 0 : _c.anchor.offset))) {
211
- clazz.push('editor-icon-disabled');
198
+ clazz.push('se-icon-disabled');
212
199
  }
213
200
  var style = {};
214
201
  if (value) {
215
202
  style.backgroundColor = value;
216
203
  }
217
- return react_1.default.createElement(ColorPicker_1.ColorPicker, __assign({}, colorProps, { onChange: function (val, hex) { return setValue(editor, cmd, hex); } }),
204
+ return react_1.default.createElement(index_1.ColorPicker, __assign({}, colorProps, { onChange: function (val, hex) { return setValue(editor, cmd, hex); } }),
218
205
  react_1.default.createElement("span", { className: clazz.join(' '), style: style }));
219
206
  };
220
207
  exports.BgColor = BgColor;
@@ -1,9 +1,8 @@
1
+ import React from 'react';
2
+ import type { BaseElement } from 'slate';
1
3
  import type { ReactEditor } from 'slate-react';
2
4
  import type { BaseEditor, Descendant } from 'slate';
3
5
  export type CommandType = 'bold' | 'italic' | 'underline' | 'code' | 'strikethrough' | 'color' | 'bgColor' | 'fontSize' | 'fontFamily' | 'link' | 'h1' | 'h2' | 'h3' | 'h4' | 'hr' | 'image' | 'video' | 'audio' | 'blockQuote' | 'numberedList' | 'bulletedList' | 'left' | 'center' | 'right' | 'justify';
4
- export type EmptyText = {
5
- text: string;
6
- };
7
6
  export type CustomText = {
8
7
  bold?: boolean;
9
8
  italic?: boolean;
@@ -27,114 +26,89 @@ export type ButtonProps = ButtonDefine & {
27
26
  cmd: CommandType;
28
27
  disabled: boolean;
29
28
  };
30
- export declare const FontFamilyTexts: string[];
29
+ export type EditorElement = BaseElement & {
30
+ type: string;
31
+ align?: 'left' | 'center' | 'right';
32
+ };
31
33
  type TableRow = any;
32
34
  type TableCell = any;
33
- type BlockQuoteElement = {
35
+ type BlockQuoteElement = EditorElement & {
34
36
  type: 'blockQuote';
35
- align?: string;
36
- children: Descendant[];
37
37
  };
38
- type BulletedListElement = {
38
+ type BulletedListElement = EditorElement & {
39
39
  type: 'bulletedList';
40
- align?: string;
41
- children: Descendant[];
42
40
  };
43
- type NumberedListElement = {
41
+ type NumberedListElement = EditorElement & {
44
42
  type: 'numberedList';
45
- align?: string;
46
- children: Descendant[];
47
43
  };
48
- type CheckListItemElement = {
44
+ type CheckListItemElement = EditorElement & {
49
45
  type: 'checkListItem';
50
46
  checked: boolean;
51
- children: Descendant[];
52
47
  };
53
- type EditableVoidElement = {
48
+ type EditableVoidElement = EditorElement & {
54
49
  type: 'editableVoid';
55
- children: EmptyText[];
56
50
  };
57
- type HeadingElement = {
51
+ type HeadingElement = EditorElement & {
58
52
  type: 'h1';
59
- align?: string;
60
- children: Descendant[];
61
53
  };
62
- type HeadingTwoElement = {
54
+ type HeadingTwoElement = EditorElement & {
63
55
  type: 'h2';
64
- align?: string;
65
- children: Descendant[];
66
56
  };
67
- type HeadingThreeElement = {
57
+ type HeadingThreeElement = EditorElement & {
68
58
  type: 'h3';
69
- align?: string;
70
- children: Descendant[];
71
59
  };
72
- type HeadingFourElement = {
60
+ type HeadingFourElement = EditorElement & {
73
61
  type: 'h4';
74
- align?: string;
75
- children: Descendant[];
76
62
  };
77
- type LinkElement = {
63
+ type LinkElement = EditorElement & {
78
64
  type: 'link';
79
65
  url: string;
80
- children: Descendant[];
81
66
  };
82
- type ButtonElement = {
67
+ type ButtonElement = EditorElement & {
83
68
  type: 'button';
84
- children: Descendant[];
85
69
  };
86
- type BadgeElement = {
70
+ type BadgeElement = EditorElement & {
87
71
  type: 'badge';
88
- children: Descendant[];
89
72
  };
90
- type ListItemElement = {
73
+ type ListItemElement = EditorElement & {
91
74
  type: 'listItem';
92
- children: Descendant[];
93
75
  };
94
- type MentionElement = {
76
+ type MentionElement = EditorElement & {
95
77
  type: 'mention';
96
78
  character: string;
97
- children: CustomText[];
98
79
  };
99
- type ParagraphElement = {
80
+ type ParagraphElement = EditorElement & {
100
81
  type: 'paragraph';
101
- align?: string;
102
- children: Descendant[];
103
82
  };
104
- type TableElement = {
83
+ type TableElement = EditorElement & {
105
84
  type: 'table';
106
85
  children: TableRow[];
107
86
  };
108
- type TableCellElement = {
87
+ type TableCellElement = EditorElement & {
109
88
  type: 'table-cell';
110
89
  children: CustomText[];
111
90
  };
112
- type TableRowElement = {
91
+ type TableRowElement = EditorElement & {
113
92
  type: 'table-row';
114
93
  children: TableCell[];
115
94
  };
116
- type TitleElement = {
95
+ type TitleElement = EditorElement & {
117
96
  type: 'title';
118
- children: Descendant[];
119
97
  };
120
- export type ImageElement = {
98
+ export type ImageElement = EditorElement & {
121
99
  type: 'image';
122
100
  url: string;
123
- children?: EmptyText[];
124
101
  };
125
- export type VideoElement = {
102
+ export type VideoElement = EditorElement & {
126
103
  type: 'video';
127
104
  url: string;
128
- children?: EmptyText[];
129
105
  };
130
- export type AudioElement = {
106
+ export type AudioElement = EditorElement & {
131
107
  type: 'audio';
132
108
  url: string;
133
- children?: EmptyText[];
134
109
  };
135
- export type HRElement = {
110
+ export type HRElement = EditorElement & {
136
111
  type: 'hr';
137
- children: EmptyText[];
138
112
  };
139
113
  type CodeBlockElement = {
140
114
  type: 'codeBlock';
@@ -150,7 +124,24 @@ declare module 'slate' {
150
124
  interface CustomTypes {
151
125
  Editor: BaseEditor & ReactEditor;
152
126
  Element: CustomElement;
153
- Text: CustomText | EmptyText;
127
+ Text: CustomText;
154
128
  }
155
129
  }
130
+ /**
131
+ * 富文本框
132
+ */
133
+ export type ArticleProps = {
134
+ /**
135
+ * 值,传JSON串,或是 JSON
136
+ */
137
+ value: string | Descendant[];
138
+ /**
139
+ * 样式名称
140
+ */
141
+ className?: string;
142
+ /**
143
+ * 自定义样式
144
+ */
145
+ sytle?: React.CSSProperties;
146
+ };
156
147
  export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
File without changes
@@ -0,0 +1,7 @@
1
+ import type { Descendant } from 'slate';
2
+ import type { CommandType, ArticleProps } from '../types';
3
+ export declare const FontFamilyTexts: string[];
4
+ export declare const FULL_TOOLS: CommandType[][];
5
+ export declare const SIMPLE_TOOLS: CommandType[][];
6
+ export declare const DEFAULT_VALUE: Descendant[];
7
+ export declare const initValue: (props: Partial<ArticleProps>) => any[];