@opentiny/fluent-editor 3.19.1-alpha.1 → 3.19.2
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/README.md +5 -3
- package/es/attributors/font-size.es.js +9 -0
- package/es/attributors/font-size.es.js.map +1 -0
- package/es/attributors/font-style.es.js +9 -0
- package/es/attributors/font-style.es.js.map +1 -0
- package/es/attributors/index.es.js +11 -0
- package/es/attributors/index.es.js.map +1 -0
- package/es/attributors/line-height.es.js +9 -0
- package/es/attributors/line-height.es.js.map +1 -0
- package/es/attributors/text-indent.es.js +9 -0
- package/es/attributors/text-indent.es.js.map +1 -0
- package/es/config.es.js +0 -35
- package/es/config.es.js.map +1 -1
- package/es/fluent-editor.es.js +15 -14
- package/es/fluent-editor.es.js.map +1 -1
- package/es/table/table-config.es.js +1 -1
- package/es/table/table-config.es.js.map +1 -1
- package/lib/attributors/font-size.cjs.js +9 -0
- package/lib/attributors/font-size.cjs.js.map +1 -0
- package/lib/attributors/font-style.cjs.js +9 -0
- package/lib/attributors/font-style.cjs.js.map +1 -0
- package/lib/attributors/index.cjs.js +11 -0
- package/lib/attributors/index.cjs.js.map +1 -0
- package/lib/attributors/line-height.cjs.js +9 -0
- package/lib/attributors/line-height.cjs.js.map +1 -0
- package/lib/attributors/text-indent.cjs.js +9 -0
- package/lib/attributors/text-indent.cjs.js.map +1 -0
- package/lib/config.cjs.js +0 -35
- package/lib/config.cjs.js.map +1 -1
- package/lib/fluent-editor.cjs.js +23 -22
- package/lib/fluent-editor.cjs.js.map +1 -1
- package/lib/table/table-config.cjs.js +1 -1
- package/lib/table/table-config.cjs.js.map +1 -1
- package/package.json +1 -1
- package/es/lineheight.es.js +0 -11
- package/es/lineheight.es.js.map +0 -1
- package/lib/lineheight.cjs.js +0 -11
- package/lib/lineheight.cjs.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
# Fluent Editor
|
|
2
|
+
|
|
2
3
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
4
|
+
|
|
3
5
|
[](#contributors-)
|
|
6
|
+
|
|
4
7
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
5
8
|
|
|
6
9
|
Fluent Editor is a rich text editor based on Quill 2.0, which extends Quill with rich modules and formats such as tables, images, hyperlinks, copy and paste, inserting emoticons, file uploads, @ reminders, and diagonal menu. It is framework-independent, compatible with Quill API, and compatible with Quill module ecosystem.
|
|
@@ -35,17 +38,16 @@ Write html:
|
|
|
35
38
|
Import style:
|
|
36
39
|
|
|
37
40
|
```css
|
|
38
|
-
@import '@opentiny/fluent-editor/style.css'
|
|
41
|
+
@import '@opentiny/fluent-editor/style.css';
|
|
39
42
|
```
|
|
40
43
|
|
|
41
44
|
Initialize the Fluent Editor editor:
|
|
42
45
|
|
|
43
46
|
```javascript
|
|
44
47
|
import FluentEditor from '@opentiny/fluent-editor'
|
|
45
|
-
import '@opentiny/fluent-editor/style.scss'
|
|
46
48
|
|
|
47
49
|
const editor = new FluentEditor('#editor', {
|
|
48
|
-
theme: 'snow'
|
|
50
|
+
theme: 'snow',
|
|
49
51
|
})
|
|
50
52
|
```
|
|
51
53
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"font-size.es.js","sources":["../../../src/attributors/font-size.ts"],"sourcesContent":["import Quill from 'quill'\r\n\r\nconst Parchment = Quill.import('parchment')\r\nexport const SizeStyle = new Parchment.StyleAttributor('size', 'font-size', {\r\n scope: Parchment.Scope.INLINE,\r\n})\r\n"],"names":[],"mappings":";AAEA,MAAM,YAAY,MAAM,OAAO,WAAW;AACnC,MAAM,YAAY,IAAI,UAAU,gBAAgB,QAAQ,aAAa;AAAA,EAC1E,OAAO,UAAU,MAAM;AACzB,CAAC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"font-style.es.js","sources":["../../../src/attributors/font-style.ts"],"sourcesContent":["import Quill from 'quill'\r\n\r\nconst Parchment = Quill.import('parchment')\r\nexport const FontStyle = new Parchment.StyleAttributor('font', 'font-family', {\r\n scope: Parchment.Scope.INLINE,\r\n})\r\n"],"names":[],"mappings":";AAEA,MAAM,YAAY,MAAM,OAAO,WAAW;AACnC,MAAM,YAAY,IAAI,UAAU,gBAAgB,QAAQ,eAAe;AAAA,EAC5E,OAAO,UAAU,MAAM;AACzB,CAAC;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SizeStyle } from "./font-size.es.js";
|
|
2
|
+
import { LineHeightStyle } from "./line-height.es.js";
|
|
3
|
+
import { FontStyle } from "./font-style.es.js";
|
|
4
|
+
import { TextIndentStyle } from "./text-indent.es.js";
|
|
5
|
+
export {
|
|
6
|
+
FontStyle,
|
|
7
|
+
LineHeightStyle,
|
|
8
|
+
SizeStyle,
|
|
9
|
+
TextIndentStyle
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=index.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import Quill from "quill";
|
|
2
|
+
const Parchment = Quill.import("parchment");
|
|
3
|
+
const LineHeightStyle = new Parchment.StyleAttributor("line-height", "line-height", {
|
|
4
|
+
scope: Parchment.Scope.INLINE
|
|
5
|
+
});
|
|
6
|
+
export {
|
|
7
|
+
LineHeightStyle
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=line-height.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-height.es.js","sources":["../../../src/attributors/line-height.ts"],"sourcesContent":["import Quill from 'quill'\r\n\r\nconst Parchment = Quill.import('parchment')\r\nexport const LineHeightStyle = new Parchment.StyleAttributor('line-height', 'line-height', {\r\n scope: Parchment.Scope.INLINE,\r\n})\r\n"],"names":[],"mappings":";AAEA,MAAM,YAAY,MAAM,OAAO,WAAW;AACnC,MAAM,kBAAkB,IAAI,UAAU,gBAAgB,eAAe,eAAe;AAAA,EACzF,OAAO,UAAU,MAAM;AACzB,CAAC;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import Quill from "quill";
|
|
2
|
+
const Parchment = Quill.import("parchment");
|
|
3
|
+
const TextIndentStyle = new Parchment.StyleAttributor("text-indent", "text-indent", {
|
|
4
|
+
scope: Parchment.Scope.BLOCK
|
|
5
|
+
});
|
|
6
|
+
export {
|
|
7
|
+
TextIndentStyle
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=text-indent.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-indent.es.js","sources":["../../../src/attributors/text-indent.ts"],"sourcesContent":["import Quill from 'quill'\r\n\r\nconst Parchment = Quill.import('parchment')\r\nexport const TextIndentStyle = new Parchment.StyleAttributor('text-indent', 'text-indent', {\r\n scope: Parchment.Scope.BLOCK,\r\n})\r\n"],"names":[],"mappings":";AAEA,MAAM,YAAY,MAAM,OAAO,WAAW;AACnC,MAAM,kBAAkB,IAAI,UAAU,gBAAgB,eAAe,eAAe;AAAA,EACzF,OAAO,UAAU,MAAM;AACzB,CAAC;"}
|
package/es/config.es.js
CHANGED
|
@@ -4,39 +4,6 @@ import { EN_US } from "./config/i18n/en-us.es.js";
|
|
|
4
4
|
import { ZH_CN } from "./config/i18n/zh-cn.es.js";
|
|
5
5
|
const localLang = localStorage.getItem("lang") || "zh-cn";
|
|
6
6
|
const LANG_CONF = localLang === "en-us" ? EN_US : ZH_CN;
|
|
7
|
-
const FONT_FAMILY_CONFIG = [
|
|
8
|
-
"songti",
|
|
9
|
-
"yahei",
|
|
10
|
-
"kaiti",
|
|
11
|
-
"heiti",
|
|
12
|
-
"lishu",
|
|
13
|
-
"mono",
|
|
14
|
-
"arial",
|
|
15
|
-
"arialblack",
|
|
16
|
-
"comic",
|
|
17
|
-
"impact",
|
|
18
|
-
"times"
|
|
19
|
-
];
|
|
20
|
-
const FONT_SIZE_CONFIG = [
|
|
21
|
-
"12px",
|
|
22
|
-
"13px",
|
|
23
|
-
"14px",
|
|
24
|
-
"15px",
|
|
25
|
-
"16px",
|
|
26
|
-
"17px",
|
|
27
|
-
"18px",
|
|
28
|
-
"19px",
|
|
29
|
-
"20px",
|
|
30
|
-
"22px",
|
|
31
|
-
"24px",
|
|
32
|
-
"26px",
|
|
33
|
-
"29px",
|
|
34
|
-
"32px",
|
|
35
|
-
"36px",
|
|
36
|
-
"40px",
|
|
37
|
-
"48px",
|
|
38
|
-
"72px"
|
|
39
|
-
];
|
|
40
7
|
const ICONS_CONFIG = {
|
|
41
8
|
"undo": UNDO_ICON,
|
|
42
9
|
"redo": REDO_ICON,
|
|
@@ -157,8 +124,6 @@ function getListValue(value, preListValue) {
|
|
|
157
124
|
return curListValue;
|
|
158
125
|
}
|
|
159
126
|
export {
|
|
160
|
-
FONT_FAMILY_CONFIG,
|
|
161
|
-
FONT_SIZE_CONFIG,
|
|
162
127
|
ICONS_CONFIG,
|
|
163
128
|
LANG_CONF,
|
|
164
129
|
TABLE_RIGHT_MENU_CONFIG,
|
package/es/config.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.es.js","sources":["../../src/config.ts"],"sourcesContent":["import {\r\n ALIGN_CENTER_ICON,\r\n ALIGN_LEFT_ICON,\r\n ALIGN_RIGHT_ICON,\r\n BACKGROUND_COLOR_ICON,\r\n BLOCKQUOTE_ICON,\r\n BOLD_ICON,\r\n CLEAN_ICON,\r\n CODE_BLOCK_ICON,\r\n CODE_ICON,\r\n COLOR_ICON,\r\n EMOJI_ICON,\r\n FILE_ICON,\r\n FULLSCREEN_ICON,\r\n GLOBAL_LINK_ICON,\r\n HELP_ICON,\r\n IMAGE_ICON,\r\n ITALIC_ICON,\r\n LINK_ICON,\r\n LIST_CHECK_ICON,\r\n LIST_ORDERED_ICON,\r\n LIST_UNORDERED_ICON,\r\n REDO_ICON,\r\n SCREENSHOT_ICON,\r\n STRIKE_ICON,\r\n TABLE_ICON,\r\n TRIANGLE_DOWN_ICON,\r\n UNDERLINE_ICON,\r\n UNDO_ICON,\r\n FORMAT_PAINTER_ICON,\r\n} from './config/icons.config'\r\nimport { isNullOrUndefined } from './config/editor.utils'\r\n\r\nimport { EN_US } from './config/i18n/en-us'\r\nimport { ZH_CN } from './config/i18n/zh-cn'\r\nconst localLang = localStorage.getItem('lang') || 'zh-cn'\r\nexport const LANG_CONF = localLang === 'en-us' ? EN_US : ZH_CN\r\n\r\nexport const
|
|
1
|
+
{"version":3,"file":"config.es.js","sources":["../../src/config.ts"],"sourcesContent":["import {\r\n ALIGN_CENTER_ICON,\r\n ALIGN_LEFT_ICON,\r\n ALIGN_RIGHT_ICON,\r\n BACKGROUND_COLOR_ICON,\r\n BLOCKQUOTE_ICON,\r\n BOLD_ICON,\r\n CLEAN_ICON,\r\n CODE_BLOCK_ICON,\r\n CODE_ICON,\r\n COLOR_ICON,\r\n EMOJI_ICON,\r\n FILE_ICON,\r\n FULLSCREEN_ICON,\r\n GLOBAL_LINK_ICON,\r\n HELP_ICON,\r\n IMAGE_ICON,\r\n ITALIC_ICON,\r\n LINK_ICON,\r\n LIST_CHECK_ICON,\r\n LIST_ORDERED_ICON,\r\n LIST_UNORDERED_ICON,\r\n REDO_ICON,\r\n SCREENSHOT_ICON,\r\n STRIKE_ICON,\r\n TABLE_ICON,\r\n TRIANGLE_DOWN_ICON,\r\n UNDERLINE_ICON,\r\n UNDO_ICON,\r\n FORMAT_PAINTER_ICON,\r\n} from './config/icons.config'\r\nimport { isNullOrUndefined } from './config/editor.utils'\r\n\r\nimport { EN_US } from './config/i18n/en-us'\r\nimport { ZH_CN } from './config/i18n/zh-cn'\r\nconst localLang = localStorage.getItem('lang') || 'zh-cn'\r\nexport const LANG_CONF = localLang === 'en-us' ? EN_US : ZH_CN\r\n\r\nexport const ICONS_CONFIG: { [key: string]: any } = {\r\n 'undo': UNDO_ICON,\r\n 'redo': REDO_ICON,\r\n 'clean': CLEAN_ICON,\r\n\r\n 'bold': BOLD_ICON,\r\n 'italic': ITALIC_ICON,\r\n 'underline': UNDERLINE_ICON,\r\n 'strike': STRIKE_ICON,\r\n\r\n 'font': '',\r\n 'size': '',\r\n\r\n 'color': `<span class=\"ql-color-inner\">\r\n ${COLOR_ICON}\r\n ${TRIANGLE_DOWN_ICON}\r\n <span class=\"current-color-line\"></span>\r\n </span>`,\r\n 'background': `<span class=\"ql-color-inner\">\r\n ${BACKGROUND_COLOR_ICON}\r\n ${TRIANGLE_DOWN_ICON}\r\n <span class=\"current-color-line color-line-background\"></span>\r\n </span>`,\r\n\r\n 'align': {\r\n '': ALIGN_LEFT_ICON,\r\n 'center': ALIGN_CENTER_ICON,\r\n 'right': ALIGN_RIGHT_ICON,\r\n },\r\n 'list': {\r\n bullet: LIST_UNORDERED_ICON,\r\n ordered: LIST_ORDERED_ICON,\r\n check: LIST_CHECK_ICON,\r\n },\r\n\r\n 'code': CODE_ICON,\r\n 'code-block': CODE_BLOCK_ICON,\r\n 'blockquote': BLOCKQUOTE_ICON,\r\n\r\n 'image': IMAGE_ICON,\r\n 'file': FILE_ICON,\r\n 'better-table': TABLE_ICON,\r\n 'link': LINK_ICON,\r\n 'global-link': GLOBAL_LINK_ICON,\r\n 'fullscreen': FULLSCREEN_ICON,\r\n 'emoji': EMOJI_ICON,\r\n 'help': HELP_ICON,\r\n 'screenshot': SCREENSHOT_ICON,\r\n 'format-painter': FORMAT_PAINTER_ICON,\r\n}\r\n\r\nexport const TABLE_RIGHT_MENU_CONFIG = {\r\n copyCells: {\r\n text: LANG_CONF['copy-cells'],\r\n },\r\n copyTable: {\r\n text: LANG_CONF['copy-table'],\r\n },\r\n cutCells: {\r\n text: LANG_CONF['cut-cells'],\r\n },\r\n emptyCells: {\r\n text: LANG_CONF['empty-cells'],\r\n },\r\n insertRowUp: {\r\n text: LANG_CONF['insert-row-up'],\r\n },\r\n insertRowDown: {\r\n text: LANG_CONF['insert-row-down'],\r\n },\r\n insertColumnLeft: {\r\n text: LANG_CONF['insert-column-left'],\r\n },\r\n insertColumnRight: {\r\n text: LANG_CONF['insert-column-right'],\r\n },\r\n mergeCells: {\r\n text: LANG_CONF['merge-cells'],\r\n },\r\n unmergeCells: {\r\n text: LANG_CONF['unmerge-cells'],\r\n },\r\n deleteRow: {\r\n text: LANG_CONF['delete-row'],\r\n },\r\n deleteColumn: {\r\n text: LANG_CONF['delete-column'],\r\n },\r\n deleteTable: {\r\n text: LANG_CONF['delete-table'],\r\n },\r\n}\r\n\r\n// 触发上传\r\nexport function inputFile(type, accept) {\r\n const defaultMIMETypes = this.quill.uploader.options[type].join(', ')\r\n const mimeTypes = accept || defaultMIMETypes\r\n let fileInput = this.container.querySelector(`input.ql-${type}[type=file]`)\r\n if (isNullOrUndefined(fileInput)) {\r\n fileInput = document.createElement('input')\r\n fileInput.classList.add(`ql-${type}`)\r\n fileInput.setAttribute('type', 'file')\r\n fileInput.setAttribute('accept', mimeTypes)\r\n if (\r\n this.quill.uploader.options.enableMultiUpload === true\r\n || (this.quill.uploader.options.enableMultiUpload.file && type === 'file')\r\n || (this.quill.uploader.options.enableMultiUpload.image && type === 'image')\r\n ) {\r\n fileInput.setAttribute('multiple', '')\r\n }\r\n fileInput.addEventListener('change', () => {\r\n const range = this.quill.getSelection(true)\r\n this.quill.uploader.upload(range, fileInput.files, type === 'file')\r\n fileInput.value = ''\r\n })\r\n this.container.appendChild(fileInput)\r\n }\r\n fileInput.click()\r\n}\r\n\r\nexport function getListValue(value, preListValue) {\r\n let curListValue = value\r\n if (preListValue && preListValue === value) {\r\n curListValue = false\r\n }\r\n else if (value === 'check') {\r\n if (preListValue === 'checked' || preListValue === 'unchecked') {\r\n curListValue = false\r\n }\r\n else {\r\n curListValue = 'unchecked'\r\n }\r\n }\r\n return curListValue\r\n}\r\n"],"names":[],"mappings":"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"}
|
package/es/fluent-editor.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Quill from "quill";
|
|
2
|
-
import {
|
|
2
|
+
import { ICONS_CONFIG, inputFile, getListValue, TABLE_RIGHT_MENU_CONFIG } from "./config.es.js";
|
|
3
3
|
import Counter from "./counter/index.es.js";
|
|
4
4
|
import CustomClipboard from "./custom-clipboard.es.js";
|
|
5
5
|
import BlotFormatter from "./custom-image/BlotFormatter.es.js";
|
|
@@ -7,7 +7,6 @@ import { CustomImageSpec } from "./custom-image/specs/CustomImageSpec.es.js";
|
|
|
7
7
|
import CustomUploader from "./custom-uploader.es.js";
|
|
8
8
|
import Emoji from "./emoji/index.es.js";
|
|
9
9
|
import FileModule from "./file/index.es.js";
|
|
10
|
-
import LineHeightStyle from "./lineheight.es.js";
|
|
11
10
|
import Link from "./link/index.es.js";
|
|
12
11
|
import Mention from "./mention/Mention.es.js";
|
|
13
12
|
import SoftBreak from "./soft-break/index.es.js";
|
|
@@ -17,16 +16,17 @@ import CustomSyntax from "./syntax/index.es.js";
|
|
|
17
16
|
import BetterToolbar from "./toolbar/index.es.js";
|
|
18
17
|
import Video from "./video/index.es.js";
|
|
19
18
|
import { FormatPainter } from "./format-painter/index.es.js";
|
|
19
|
+
import "./attributors/index.es.js";
|
|
20
|
+
import { FontStyle } from "./attributors/font-style.es.js";
|
|
21
|
+
import { SizeStyle } from "./attributors/font-size.es.js";
|
|
22
|
+
import { LineHeightStyle } from "./attributors/line-height.es.js";
|
|
23
|
+
import { TextIndentStyle } from "./attributors/text-indent.es.js";
|
|
20
24
|
class FluentEditor extends Quill {
|
|
21
25
|
constructor(container, options = {}) {
|
|
22
26
|
super(container, options);
|
|
23
27
|
}
|
|
24
28
|
}
|
|
25
29
|
const registerModules = function() {
|
|
26
|
-
const FontClass = Quill.imports["formats/font"];
|
|
27
|
-
FontClass.whitelist = FONT_FAMILY_CONFIG;
|
|
28
|
-
const SizeStyle = Quill.imports["attributors/style/size"];
|
|
29
|
-
SizeStyle.whitelist = FONT_SIZE_CONFIG;
|
|
30
30
|
const Icons = Quill.imports["ui/icons"];
|
|
31
31
|
const iconKeys = Object.keys(ICONS_CONFIG);
|
|
32
32
|
iconKeys.forEach((iconKey) => {
|
|
@@ -135,13 +135,6 @@ const registerModules = function() {
|
|
|
135
135
|
"modules/file": FileModule,
|
|
136
136
|
// 三者关联性最强
|
|
137
137
|
"modules/counter": Counter,
|
|
138
|
-
"formats/font": FontClass,
|
|
139
|
-
"formats/size": SizeStyle,
|
|
140
|
-
"formats/strike": StrikeBlot,
|
|
141
|
-
"formats/softBreak": SoftBreak,
|
|
142
|
-
"formats/lineheight": LineHeightStyle,
|
|
143
|
-
"formats/video": Video,
|
|
144
|
-
"formats/emoji": Emoji.EmojiBlot,
|
|
145
138
|
"modules/emoji-toolbar": Emoji.ToolbarEmoji,
|
|
146
139
|
"modules/emoji-shortname": Emoji.ShortNameEmoji,
|
|
147
140
|
// 'modules/global-link': GlobalLink,//暂未开发
|
|
@@ -149,7 +142,15 @@ const registerModules = function() {
|
|
|
149
142
|
// 报错
|
|
150
143
|
// 'modules/screenshot': Screenshot,//暂未开发
|
|
151
144
|
// 'modules/quickmenu': QuickMenu,//暂未开发
|
|
152
|
-
"modules/syntax": CustomSyntax
|
|
145
|
+
"modules/syntax": CustomSyntax,
|
|
146
|
+
"formats/strike": StrikeBlot,
|
|
147
|
+
"formats/softBreak": SoftBreak,
|
|
148
|
+
"formats/video": Video,
|
|
149
|
+
"formats/emoji": Emoji.EmojiBlot,
|
|
150
|
+
"formats/font": FontStyle,
|
|
151
|
+
"formats/size": SizeStyle,
|
|
152
|
+
"formats/line-height": LineHeightStyle,
|
|
153
|
+
"formats/text-indent": TextIndentStyle
|
|
153
154
|
},
|
|
154
155
|
true
|
|
155
156
|
// 覆盖内部模块
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fluent-editor.es.js","sources":["../../src/fluent-editor.ts"],"sourcesContent":["import Quill from 'quill'\r\nimport type { Module, Parchment as TypeParchment } from 'quill'\r\nimport { FONT_FAMILY_CONFIG, FONT_SIZE_CONFIG, ICONS_CONFIG, TABLE_RIGHT_MENU_CONFIG, inputFile, getListValue } from './config'\r\nimport Counter from './counter' // 字符统计\r\nimport CustomClipboard from './custom-clipboard' // 粘贴板\r\nimport CustomImage from './custom-image/BlotFormatter' // 图片\r\nimport { CustomImageSpec } from './custom-image/specs/CustomImageSpec' // 图片拉伸模块\r\nimport CustomUploader from './custom-uploader' // 上传\r\nimport Emoji from './emoji' // 表情\r\nimport FileModule from './file' // 文件\r\n// import GlobalLink from './global-link' // 全局链接\r\nimport LineHeightStyle from './lineheight'\r\nimport Link from './link' // 超链接0\r\nimport Mention from './mention/Mention' // @提醒\r\n// import QuickMenu from './quick-menu' // 快捷菜单\r\n// import Screenshot from './screenshot' // 截图\r\nimport SoftBreak from './soft-break' // 软回车\r\nimport Strike from './strike' // 删除线\r\nimport BetterTable from './table/better-table' // 表格\r\nimport CustomSyntax from './syntax' // 代码块高亮\r\nimport Toolbar from './toolbar' // 工具栏\r\nimport Video from './video' // 视频\r\nimport { FormatPainter } from './format-painter'\r\nimport { IEditorConfig } from './config/types'\r\n\r\nclass FluentEditor extends Quill {\r\n constructor(container: HTMLElement | string, options: IEditorConfig = {}) {\r\n super(container, options)\r\n }\r\n}\r\n\r\nconst registerModules = function () {\r\n const FontClass = Quill.imports['formats/font'] as TypeParchment.ClassAttributor\r\n FontClass.whitelist = FONT_FAMILY_CONFIG\r\n\r\n const SizeStyle = Quill.imports['attributors/style/size'] as TypeParchment.StyleAttributor\r\n // const SizeClass = Quill.imports['attributors/class/size']\r\n SizeStyle.whitelist = FONT_SIZE_CONFIG\r\n\r\n const Icons = Quill.imports['ui/icons']\r\n const iconKeys = Object.keys(ICONS_CONFIG)\r\n iconKeys.forEach((iconKey) => {\r\n Icons[iconKey] = ICONS_CONFIG[iconKey]\r\n })\r\n\r\n const SnowTheme = Quill.imports['themes/snow'] as typeof Module\r\n SnowTheme.DEFAULTS = {\r\n modules: {\r\n 'keyboard': {\r\n bindings: {\r\n ...BetterTable.keyboardBindings,\r\n },\r\n },\r\n 'toolbar': {\r\n handlers: {\r\n ...(SnowTheme.DEFAULTS as Record<string, any>).modules.toolbar.handlers,\r\n 'undo': function () {\r\n this.quill.history.undo()\r\n },\r\n 'redo': function () {\r\n this.quill.history.redo()\r\n },\r\n 'better-table': function () {\r\n this.quill.getModule('better-table').insertTable(3, 3)\r\n },\r\n 'file': function () {\r\n const accept = this.quill.options?.uploadOption?.fileAccept\r\n inputFile.call(this, 'file', accept)\r\n },\r\n 'image': function () {\r\n const accept = this.quill.options?.uploadOption?.imageAccept\r\n inputFile.call(this, 'image', accept)\r\n },\r\n 'emoji': function () {},\r\n 'fullscreen': function () {},\r\n 'list': function (value) {\r\n const range = this.quill.getSelection()\r\n const formats = this.quill.getFormat(range)\r\n const preListValue = Array.isArray(formats.list) ? formats.list[0]?.value : formats.list?.value\r\n const curListValue = getListValue(value, preListValue)\r\n // 如果设置list的选区中有表格,判断第一个table-col位置,将表格前的内容设置为list格式\r\n const lines = this.quill.getLines(range.index, range.length)\r\n const tableCols = lines.filter(line => line.statics.blotName === 'table-col' && !line.prev)\r\n if (tableCols.length) {\r\n let start = range.index\r\n // 遍历table-col群组,以之获取表格,将表格前选区设置为对应list格式\r\n tableCols.forEach((item, index) => {\r\n const table = item.domNode.closest('table.quill-better-table')\r\n const tableBlot = Quill.find(table) as TypeParchment.Blot\r\n const tableLength = tableBlot.length()\r\n const tableStart = this.quill.getIndex(item)\r\n const tableEnd = tableStart + tableLength\r\n const beforeTableRangeLength = tableStart - start\r\n // 在表格前设置列表\r\n this.quill.setSelection(start, beforeTableRangeLength, Quill.sources.SILENT)\r\n this.quill.format('list', curListValue, Quill.sources.USER)\r\n table.parentNode.classList.remove('quill-better-table-selected')\r\n // 当前表格末尾为下一个选取的开始\r\n start = tableEnd\r\n if (index === tableCols.length - 1) {\r\n // 将最后一个表格之后所有选区内容设置list格式\r\n this.quill.setSelection(tableEnd, range.index + range.length - tableEnd)\r\n this.quill.format('list', curListValue, Quill.sources.USER)\r\n }\r\n })\r\n }\r\n else {\r\n this.quill.format('list', curListValue, Quill.sources.USER)\r\n }\r\n },\r\n [FormatPainter.toolName]: FormatPainter,\r\n },\r\n },\r\n 'better-table': {\r\n operationMenu: {\r\n items: TABLE_RIGHT_MENU_CONFIG,\r\n color: true,\r\n },\r\n },\r\n 'image': {\r\n specs: [CustomImageSpec],\r\n overlay: {\r\n style: {\r\n border: '1px dashed rgb(68, 68, 68)',\r\n },\r\n },\r\n align: {\r\n icons: {\r\n left: '<i class=\"icon-text-align-left\"></i>',\r\n center: '<i class=\"icon-text-align-center\"></i>',\r\n right: '<i class=\"icon-text-align-right\"></i>',\r\n },\r\n },\r\n },\r\n },\r\n }\r\n\r\n FluentEditor.register(\r\n {\r\n 'modules/toolbar': Toolbar,\r\n 'modules/mention': Mention,\r\n 'modules/better-table': BetterTable,\r\n 'modules/clipboard': CustomClipboard,\r\n 'modules/uploader': CustomUploader, // 三者关联性最强\r\n 'modules/image': CustomImage, // 三者关联性最强\r\n 'modules/file': FileModule, // 三者关联性最强\r\n 'modules/counter': Counter,\r\n 'formats/font': FontClass,\r\n 'formats/size': SizeStyle,\r\n 'formats/strike': Strike,\r\n 'formats/softBreak': SoftBreak,\r\n 'formats/lineheight': LineHeightStyle,\r\n 'formats/video': Video,\r\n 'formats/emoji': Emoji.EmojiBlot,\r\n 'modules/emoji-toolbar': Emoji.ToolbarEmoji,\r\n 'modules/emoji-shortname': Emoji.ShortNameEmoji,\r\n // 'modules/global-link': GlobalLink,//暂未开发\r\n 'modules/link': Link, // 报错\r\n // 'modules/screenshot': Screenshot,//暂未开发\r\n // 'modules/quickmenu': QuickMenu,//暂未开发\r\n 'modules/syntax': CustomSyntax,\r\n },\r\n true, // 覆盖内部模块\r\n )\r\n\r\n return FluentEditor\r\n}\r\n\r\nexport default registerModules()\r\n"],"names":["Toolbar","CustomImage","Strike"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fluent-editor.es.js","sources":["../../src/fluent-editor.ts"],"sourcesContent":["import Quill from 'quill'\r\nimport type { Module, Parchment as TypeParchment } from 'quill'\r\nimport { ICONS_CONFIG, TABLE_RIGHT_MENU_CONFIG, inputFile, getListValue } from './config'\r\nimport Counter from './counter' // 字符统计\r\nimport CustomClipboard from './custom-clipboard' // 粘贴板\r\nimport CustomImage from './custom-image/BlotFormatter' // 图片\r\nimport { CustomImageSpec } from './custom-image/specs/CustomImageSpec' // 图片拉伸模块\r\nimport CustomUploader from './custom-uploader' // 上传\r\nimport Emoji from './emoji' // 表情\r\nimport FileModule from './file' // 文件\r\n// import GlobalLink from './global-link' // 全局链接\r\nimport Link from './link' // 超链接0\r\nimport Mention from './mention/Mention' // @提醒\r\n// import QuickMenu from './quick-menu' // 快捷菜单\r\n// import Screenshot from './screenshot' // 截图\r\nimport SoftBreak from './soft-break' // 软回车\r\nimport Strike from './strike' // 删除线\r\nimport BetterTable from './table/better-table' // 表格\r\nimport CustomSyntax from './syntax' // 代码块高亮\r\nimport Toolbar from './toolbar' // 工具栏\r\nimport Video from './video' // 视频\r\nimport { FormatPainter } from './format-painter'\r\nimport { IEditorConfig } from './config/types'\r\nimport { LineHeightStyle, SizeStyle, FontStyle, TextIndentStyle } from './attributors'\r\n\r\nclass FluentEditor extends Quill {\r\n constructor(container: HTMLElement | string, options: IEditorConfig = {}) {\r\n super(container, options)\r\n }\r\n}\r\n\r\nconst registerModules = function () {\r\n const Icons = Quill.imports['ui/icons']\r\n const iconKeys = Object.keys(ICONS_CONFIG)\r\n iconKeys.forEach((iconKey) => {\r\n Icons[iconKey] = ICONS_CONFIG[iconKey]\r\n })\r\n\r\n const SnowTheme = Quill.imports['themes/snow'] as typeof Module\r\n SnowTheme.DEFAULTS = {\r\n modules: {\r\n 'keyboard': {\r\n bindings: {\r\n ...BetterTable.keyboardBindings,\r\n },\r\n },\r\n 'toolbar': {\r\n handlers: {\r\n ...(SnowTheme.DEFAULTS as Record<string, any>).modules.toolbar.handlers,\r\n 'undo': function () {\r\n this.quill.history.undo()\r\n },\r\n 'redo': function () {\r\n this.quill.history.redo()\r\n },\r\n 'better-table': function () {\r\n this.quill.getModule('better-table').insertTable(3, 3)\r\n },\r\n 'file': function () {\r\n const accept = this.quill.options?.uploadOption?.fileAccept\r\n inputFile.call(this, 'file', accept)\r\n },\r\n 'image': function () {\r\n const accept = this.quill.options?.uploadOption?.imageAccept\r\n inputFile.call(this, 'image', accept)\r\n },\r\n 'emoji': function () {},\r\n 'fullscreen': function () {},\r\n 'list': function (value) {\r\n const range = this.quill.getSelection()\r\n const formats = this.quill.getFormat(range)\r\n const preListValue = Array.isArray(formats.list) ? formats.list[0]?.value : formats.list?.value\r\n const curListValue = getListValue(value, preListValue)\r\n // 如果设置list的选区中有表格,判断第一个table-col位置,将表格前的内容设置为list格式\r\n const lines = this.quill.getLines(range.index, range.length)\r\n const tableCols = lines.filter(line => line.statics.blotName === 'table-col' && !line.prev)\r\n if (tableCols.length) {\r\n let start = range.index\r\n // 遍历table-col群组,以之获取表格,将表格前选区设置为对应list格式\r\n tableCols.forEach((item, index) => {\r\n const table = item.domNode.closest('table.quill-better-table')\r\n const tableBlot = Quill.find(table) as TypeParchment.Blot\r\n const tableLength = tableBlot.length()\r\n const tableStart = this.quill.getIndex(item)\r\n const tableEnd = tableStart + tableLength\r\n const beforeTableRangeLength = tableStart - start\r\n // 在表格前设置列表\r\n this.quill.setSelection(start, beforeTableRangeLength, Quill.sources.SILENT)\r\n this.quill.format('list', curListValue, Quill.sources.USER)\r\n table.parentNode.classList.remove('quill-better-table-selected')\r\n // 当前表格末尾为下一个选取的开始\r\n start = tableEnd\r\n if (index === tableCols.length - 1) {\r\n // 将最后一个表格之后所有选区内容设置list格式\r\n this.quill.setSelection(tableEnd, range.index + range.length - tableEnd)\r\n this.quill.format('list', curListValue, Quill.sources.USER)\r\n }\r\n })\r\n }\r\n else {\r\n this.quill.format('list', curListValue, Quill.sources.USER)\r\n }\r\n },\r\n [FormatPainter.toolName]: FormatPainter,\r\n },\r\n },\r\n 'better-table': {\r\n operationMenu: {\r\n items: TABLE_RIGHT_MENU_CONFIG,\r\n color: true,\r\n },\r\n },\r\n 'image': {\r\n specs: [CustomImageSpec],\r\n overlay: {\r\n style: {\r\n border: '1px dashed rgb(68, 68, 68)',\r\n },\r\n },\r\n align: {\r\n icons: {\r\n left: '<i class=\"icon-text-align-left\"></i>',\r\n center: '<i class=\"icon-text-align-center\"></i>',\r\n right: '<i class=\"icon-text-align-right\"></i>',\r\n },\r\n },\r\n },\r\n },\r\n }\r\n\r\n FluentEditor.register(\r\n {\r\n 'modules/toolbar': Toolbar,\r\n 'modules/mention': Mention,\r\n 'modules/better-table': BetterTable,\r\n 'modules/clipboard': CustomClipboard,\r\n 'modules/uploader': CustomUploader, // 三者关联性最强\r\n 'modules/image': CustomImage, // 三者关联性最强\r\n 'modules/file': FileModule, // 三者关联性最强\r\n 'modules/counter': Counter,\r\n 'modules/emoji-toolbar': Emoji.ToolbarEmoji,\r\n 'modules/emoji-shortname': Emoji.ShortNameEmoji,\r\n // 'modules/global-link': GlobalLink,//暂未开发\r\n 'modules/link': Link, // 报错\r\n // 'modules/screenshot': Screenshot,//暂未开发\r\n // 'modules/quickmenu': QuickMenu,//暂未开发\r\n 'modules/syntax': CustomSyntax,\r\n\r\n 'formats/strike': Strike,\r\n 'formats/softBreak': SoftBreak,\r\n 'formats/video': Video,\r\n 'formats/emoji': Emoji.EmojiBlot,\r\n 'formats/font': FontStyle,\r\n 'formats/size': SizeStyle,\r\n 'formats/line-height': LineHeightStyle,\r\n 'formats/text-indent': TextIndentStyle,\r\n },\r\n true, // 覆盖内部模块\r\n )\r\n\r\n return FluentEditor\r\n}\r\n\r\nexport default registerModules()\r\n"],"names":["Toolbar","CustomImage","Strike"],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ const COL_DEFAULT = {
|
|
|
20
20
|
width: 100
|
|
21
21
|
};
|
|
22
22
|
const CELL_IDENTITY_KEYS = ["row", "cell"];
|
|
23
|
-
const CELL_ATTRIBUTES = ["rowspan", "colspan", "cell-bg"];
|
|
23
|
+
const CELL_ATTRIBUTES = ["rowspan", "colspan", "cell-bg", "list"];
|
|
24
24
|
const CELL_DEFAULT = {
|
|
25
25
|
rowspan: 1,
|
|
26
26
|
colspan: 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-config.es.js","sources":["../../../src/table/table-config.ts"],"sourcesContent":["export const TABLE_CELL_LINE_CLASS = 'qlrte__better-table-cell-line'\r\nexport const ROW_TOOL_CLASS = 'qlrte__row-tool'\r\nexport const ROW_TOOL_CELL_CLASS = 'qlrte__row-tool-cell'\r\nexport const ROW_TOOL_CELL_HOLDER_CLASS = 'qlrte__row-tool-cell-holder'\r\nexport const COL_TOOL_CLASS = 'qlrte__col-tool'\r\nexport const COL_TOOL_CELL_CLASS = 'qlrte__col-tool-cell'\r\nexport const COL_TOOL_CELL_HOLDER_CLASS = 'qlrte__col-tool-cell-holder'\r\nexport const SELECT_LINE_CLASS = 'qlrte__selection-line'\r\nexport const OPERATE_MENU_CLASS = 'qlrte__op-menu'\r\nexport const OPERATE_MENU_ITEM_CLASS = 'qlrte__op-menu-item'\r\nexport const OPERATE_MENU_ICON_CLASS = 'qlrte__op-menu-icon'\r\nexport const OPERATE_MENU_ICON_PREFIX_CLASS = 'qlrte__op-menu-icon-prefix'\r\nexport const OPERATE_MENU_TEXT_CLASS = 'qlrte__op-menu-text'\r\nexport const OPERATE_MENU_DIVIDING_CLASS = 'qlrte__op-menu-dividing'\r\nexport const OPERATE_MENU_SUBTITLE_CLASS = 'qlrte__op-menu-subtitle'\r\nexport const OPERATE_MENU_COLORPICKER_CLASS = 'qlrte__op-menu-color-picker'\r\nexport const OPERATE_MENU_COLORPICKER_ITEM_CLASS\r\n = 'qlrte__op-menu-color-picker-item'\r\nexport const COL_ATTRIBUTES = ['width']\r\nexport const COL_DEFAULT = {\r\n width: 100,\r\n}\r\nexport const CELL_IDENTITY_KEYS = ['row', 'cell']\r\nexport const CELL_ATTRIBUTES = ['rowspan', 'colspan', 'cell-bg']\r\nexport const CELL_DEFAULT = {\r\n rowspan: 1,\r\n colspan: 1,\r\n}\r\nexport const ERROR_LIMIT = 5\r\n\r\nexport const SCROLL_BAR_PANEL_HEIGHT = 32\r\nexport const ROW_TOOL_WIDTH = 16\r\nexport const COL_TOOL_HEIGHT = 16\r\nexport const CELL_MIN_WIDTH = 50\r\nexport const CELL_MIN_HEIGHT = 29\r\nexport const PRIMARY_COLOR = ['#5170ff', 'var(--brand-1, #5170ff)']\r\n\r\nexport const MENU_ITEM_HEIGHT = 40\r\nexport const MENU_MIN_HEIGHT = 150\r\nexport const MENU_WIDTH = 205\r\n\r\nexport const LINE_POSITIONS = ['left', 'right', 'top', 'bottom']\r\n"],"names":[],"mappings":"AAAO,MAAM,wBAAwB;AAC9B,MAAM,iBAAiB;AACvB,MAAM,sBAAsB;AAC5B,MAAM,6BAA6B;AACnC,MAAM,iBAAiB;AACvB,MAAM,sBAAsB;AAC5B,MAAM,6BAA6B;AACnC,MAAM,oBAAoB;AAC1B,MAAM,qBAAqB;AAC3B,MAAM,0BAA0B;AAChC,MAAM,0BAA0B;AAChC,MAAM,iCAAiC;AACvC,MAAM,0BAA0B;AAChC,MAAM,8BAA8B;AACpC,MAAM,8BAA8B;AACpC,MAAM,iCAAiC;AACvC,MAAM,sCACT;AACS,MAAA,iBAAiB,CAAC,OAAO;AAC/B,MAAM,cAAc;AAAA,EACzB,OAAO;AACT;AACa,MAAA,qBAAqB,CAAC,OAAO,MAAM;AACzC,MAAM,kBAAkB,CAAC,WAAW,WAAW,
|
|
1
|
+
{"version":3,"file":"table-config.es.js","sources":["../../../src/table/table-config.ts"],"sourcesContent":["export const TABLE_CELL_LINE_CLASS = 'qlrte__better-table-cell-line'\r\nexport const ROW_TOOL_CLASS = 'qlrte__row-tool'\r\nexport const ROW_TOOL_CELL_CLASS = 'qlrte__row-tool-cell'\r\nexport const ROW_TOOL_CELL_HOLDER_CLASS = 'qlrte__row-tool-cell-holder'\r\nexport const COL_TOOL_CLASS = 'qlrte__col-tool'\r\nexport const COL_TOOL_CELL_CLASS = 'qlrte__col-tool-cell'\r\nexport const COL_TOOL_CELL_HOLDER_CLASS = 'qlrte__col-tool-cell-holder'\r\nexport const SELECT_LINE_CLASS = 'qlrte__selection-line'\r\nexport const OPERATE_MENU_CLASS = 'qlrte__op-menu'\r\nexport const OPERATE_MENU_ITEM_CLASS = 'qlrte__op-menu-item'\r\nexport const OPERATE_MENU_ICON_CLASS = 'qlrte__op-menu-icon'\r\nexport const OPERATE_MENU_ICON_PREFIX_CLASS = 'qlrte__op-menu-icon-prefix'\r\nexport const OPERATE_MENU_TEXT_CLASS = 'qlrte__op-menu-text'\r\nexport const OPERATE_MENU_DIVIDING_CLASS = 'qlrte__op-menu-dividing'\r\nexport const OPERATE_MENU_SUBTITLE_CLASS = 'qlrte__op-menu-subtitle'\r\nexport const OPERATE_MENU_COLORPICKER_CLASS = 'qlrte__op-menu-color-picker'\r\nexport const OPERATE_MENU_COLORPICKER_ITEM_CLASS\r\n = 'qlrte__op-menu-color-picker-item'\r\nexport const COL_ATTRIBUTES = ['width']\r\nexport const COL_DEFAULT = {\r\n width: 100,\r\n}\r\nexport const CELL_IDENTITY_KEYS = ['row', 'cell']\r\nexport const CELL_ATTRIBUTES = ['rowspan', 'colspan', 'cell-bg', 'list']\r\nexport const CELL_DEFAULT = {\r\n rowspan: 1,\r\n colspan: 1,\r\n}\r\nexport const ERROR_LIMIT = 5\r\n\r\nexport const SCROLL_BAR_PANEL_HEIGHT = 32\r\nexport const ROW_TOOL_WIDTH = 16\r\nexport const COL_TOOL_HEIGHT = 16\r\nexport const CELL_MIN_WIDTH = 50\r\nexport const CELL_MIN_HEIGHT = 29\r\nexport const PRIMARY_COLOR = ['#5170ff', 'var(--brand-1, #5170ff)']\r\n\r\nexport const MENU_ITEM_HEIGHT = 40\r\nexport const MENU_MIN_HEIGHT = 150\r\nexport const MENU_WIDTH = 205\r\n\r\nexport const LINE_POSITIONS = ['left', 'right', 'top', 'bottom']\r\n"],"names":[],"mappings":"AAAO,MAAM,wBAAwB;AAC9B,MAAM,iBAAiB;AACvB,MAAM,sBAAsB;AAC5B,MAAM,6BAA6B;AACnC,MAAM,iBAAiB;AACvB,MAAM,sBAAsB;AAC5B,MAAM,6BAA6B;AACnC,MAAM,oBAAoB;AAC1B,MAAM,qBAAqB;AAC3B,MAAM,0BAA0B;AAChC,MAAM,0BAA0B;AAChC,MAAM,iCAAiC;AACvC,MAAM,0BAA0B;AAChC,MAAM,8BAA8B;AACpC,MAAM,8BAA8B;AACpC,MAAM,iCAAiC;AACvC,MAAM,sCACT;AACS,MAAA,iBAAiB,CAAC,OAAO;AAC/B,MAAM,cAAc;AAAA,EACzB,OAAO;AACT;AACa,MAAA,qBAAqB,CAAC,OAAO,MAAM;AACzC,MAAM,kBAAkB,CAAC,WAAW,WAAW,WAAW,MAAM;AAChE,MAAM,eAAe;AAAA,EAC1B,SAAS;AAAA,EACT,SAAS;AACX;AACO,MAAM,cAAc;AAEpB,MAAM,0BAA0B;AAChC,MAAM,iBAAiB;AACvB,MAAM,kBAAkB;AACxB,MAAM,iBAAiB;AACvB,MAAM,kBAAkB;AAClB,MAAA,gBAAgB,CAAC,WAAW,yBAAyB;AAE3D,MAAM,mBAAmB;AACzB,MAAM,kBAAkB;AACxB,MAAM,aAAa;AAEnB,MAAM,iBAAiB,CAAC,QAAQ,SAAS,OAAO,QAAQ;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Quill = require("quill");
|
|
4
|
+
const Parchment = Quill.import("parchment");
|
|
5
|
+
const SizeStyle = new Parchment.StyleAttributor("size", "font-size", {
|
|
6
|
+
scope: Parchment.Scope.INLINE
|
|
7
|
+
});
|
|
8
|
+
exports.SizeStyle = SizeStyle;
|
|
9
|
+
//# sourceMappingURL=font-size.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"font-size.cjs.js","sources":["../../../src/attributors/font-size.ts"],"sourcesContent":["import Quill from 'quill'\r\n\r\nconst Parchment = Quill.import('parchment')\r\nexport const SizeStyle = new Parchment.StyleAttributor('size', 'font-size', {\r\n scope: Parchment.Scope.INLINE,\r\n})\r\n"],"names":[],"mappings":";;;AAEA,MAAM,YAAY,MAAM,OAAO,WAAW;AACnC,MAAM,YAAY,IAAI,UAAU,gBAAgB,QAAQ,aAAa;AAAA,EAC1E,OAAO,UAAU,MAAM;AACzB,CAAC;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Quill = require("quill");
|
|
4
|
+
const Parchment = Quill.import("parchment");
|
|
5
|
+
const FontStyle = new Parchment.StyleAttributor("font", "font-family", {
|
|
6
|
+
scope: Parchment.Scope.INLINE
|
|
7
|
+
});
|
|
8
|
+
exports.FontStyle = FontStyle;
|
|
9
|
+
//# sourceMappingURL=font-style.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"font-style.cjs.js","sources":["../../../src/attributors/font-style.ts"],"sourcesContent":["import Quill from 'quill'\r\n\r\nconst Parchment = Quill.import('parchment')\r\nexport const FontStyle = new Parchment.StyleAttributor('font', 'font-family', {\r\n scope: Parchment.Scope.INLINE,\r\n})\r\n"],"names":[],"mappings":";;;AAEA,MAAM,YAAY,MAAM,OAAO,WAAW;AACnC,MAAM,YAAY,IAAI,UAAU,gBAAgB,QAAQ,eAAe;AAAA,EAC5E,OAAO,UAAU,MAAM;AACzB,CAAC;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const fontSize = require("./font-size.cjs.js");
|
|
4
|
+
const lineHeight = require("./line-height.cjs.js");
|
|
5
|
+
const fontStyle = require("./font-style.cjs.js");
|
|
6
|
+
const textIndent = require("./text-indent.cjs.js");
|
|
7
|
+
exports.SizeStyle = fontSize.SizeStyle;
|
|
8
|
+
exports.LineHeightStyle = lineHeight.LineHeightStyle;
|
|
9
|
+
exports.FontStyle = fontStyle.FontStyle;
|
|
10
|
+
exports.TextIndentStyle = textIndent.TextIndentStyle;
|
|
11
|
+
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Quill = require("quill");
|
|
4
|
+
const Parchment = Quill.import("parchment");
|
|
5
|
+
const LineHeightStyle = new Parchment.StyleAttributor("line-height", "line-height", {
|
|
6
|
+
scope: Parchment.Scope.INLINE
|
|
7
|
+
});
|
|
8
|
+
exports.LineHeightStyle = LineHeightStyle;
|
|
9
|
+
//# sourceMappingURL=line-height.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-height.cjs.js","sources":["../../../src/attributors/line-height.ts"],"sourcesContent":["import Quill from 'quill'\r\n\r\nconst Parchment = Quill.import('parchment')\r\nexport const LineHeightStyle = new Parchment.StyleAttributor('line-height', 'line-height', {\r\n scope: Parchment.Scope.INLINE,\r\n})\r\n"],"names":[],"mappings":";;;AAEA,MAAM,YAAY,MAAM,OAAO,WAAW;AACnC,MAAM,kBAAkB,IAAI,UAAU,gBAAgB,eAAe,eAAe;AAAA,EACzF,OAAO,UAAU,MAAM;AACzB,CAAC;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Quill = require("quill");
|
|
4
|
+
const Parchment = Quill.import("parchment");
|
|
5
|
+
const TextIndentStyle = new Parchment.StyleAttributor("text-indent", "text-indent", {
|
|
6
|
+
scope: Parchment.Scope.BLOCK
|
|
7
|
+
});
|
|
8
|
+
exports.TextIndentStyle = TextIndentStyle;
|
|
9
|
+
//# sourceMappingURL=text-indent.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-indent.cjs.js","sources":["../../../src/attributors/text-indent.ts"],"sourcesContent":["import Quill from 'quill'\r\n\r\nconst Parchment = Quill.import('parchment')\r\nexport const TextIndentStyle = new Parchment.StyleAttributor('text-indent', 'text-indent', {\r\n scope: Parchment.Scope.BLOCK,\r\n})\r\n"],"names":[],"mappings":";;;AAEA,MAAM,YAAY,MAAM,OAAO,WAAW;AACnC,MAAM,kBAAkB,IAAI,UAAU,gBAAgB,eAAe,eAAe;AAAA,EACzF,OAAO,UAAU,MAAM;AACzB,CAAC;;"}
|
package/lib/config.cjs.js
CHANGED
|
@@ -6,39 +6,6 @@ const enUs = require("./config/i18n/en-us.cjs.js");
|
|
|
6
6
|
const zhCn = require("./config/i18n/zh-cn.cjs.js");
|
|
7
7
|
const localLang = localStorage.getItem("lang") || "zh-cn";
|
|
8
8
|
const LANG_CONF = localLang === "en-us" ? enUs.EN_US : zhCn.ZH_CN;
|
|
9
|
-
const FONT_FAMILY_CONFIG = [
|
|
10
|
-
"songti",
|
|
11
|
-
"yahei",
|
|
12
|
-
"kaiti",
|
|
13
|
-
"heiti",
|
|
14
|
-
"lishu",
|
|
15
|
-
"mono",
|
|
16
|
-
"arial",
|
|
17
|
-
"arialblack",
|
|
18
|
-
"comic",
|
|
19
|
-
"impact",
|
|
20
|
-
"times"
|
|
21
|
-
];
|
|
22
|
-
const FONT_SIZE_CONFIG = [
|
|
23
|
-
"12px",
|
|
24
|
-
"13px",
|
|
25
|
-
"14px",
|
|
26
|
-
"15px",
|
|
27
|
-
"16px",
|
|
28
|
-
"17px",
|
|
29
|
-
"18px",
|
|
30
|
-
"19px",
|
|
31
|
-
"20px",
|
|
32
|
-
"22px",
|
|
33
|
-
"24px",
|
|
34
|
-
"26px",
|
|
35
|
-
"29px",
|
|
36
|
-
"32px",
|
|
37
|
-
"36px",
|
|
38
|
-
"40px",
|
|
39
|
-
"48px",
|
|
40
|
-
"72px"
|
|
41
|
-
];
|
|
42
9
|
const ICONS_CONFIG = {
|
|
43
10
|
"undo": icons_config.UNDO_ICON,
|
|
44
11
|
"redo": icons_config.REDO_ICON,
|
|
@@ -158,8 +125,6 @@ function getListValue(value, preListValue) {
|
|
|
158
125
|
}
|
|
159
126
|
return curListValue;
|
|
160
127
|
}
|
|
161
|
-
exports.FONT_FAMILY_CONFIG = FONT_FAMILY_CONFIG;
|
|
162
|
-
exports.FONT_SIZE_CONFIG = FONT_SIZE_CONFIG;
|
|
163
128
|
exports.ICONS_CONFIG = ICONS_CONFIG;
|
|
164
129
|
exports.LANG_CONF = LANG_CONF;
|
|
165
130
|
exports.TABLE_RIGHT_MENU_CONFIG = TABLE_RIGHT_MENU_CONFIG;
|
package/lib/config.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.cjs.js","sources":["../../src/config.ts"],"sourcesContent":["import {\r\n ALIGN_CENTER_ICON,\r\n ALIGN_LEFT_ICON,\r\n ALIGN_RIGHT_ICON,\r\n BACKGROUND_COLOR_ICON,\r\n BLOCKQUOTE_ICON,\r\n BOLD_ICON,\r\n CLEAN_ICON,\r\n CODE_BLOCK_ICON,\r\n CODE_ICON,\r\n COLOR_ICON,\r\n EMOJI_ICON,\r\n FILE_ICON,\r\n FULLSCREEN_ICON,\r\n GLOBAL_LINK_ICON,\r\n HELP_ICON,\r\n IMAGE_ICON,\r\n ITALIC_ICON,\r\n LINK_ICON,\r\n LIST_CHECK_ICON,\r\n LIST_ORDERED_ICON,\r\n LIST_UNORDERED_ICON,\r\n REDO_ICON,\r\n SCREENSHOT_ICON,\r\n STRIKE_ICON,\r\n TABLE_ICON,\r\n TRIANGLE_DOWN_ICON,\r\n UNDERLINE_ICON,\r\n UNDO_ICON,\r\n FORMAT_PAINTER_ICON,\r\n} from './config/icons.config'\r\nimport { isNullOrUndefined } from './config/editor.utils'\r\n\r\nimport { EN_US } from './config/i18n/en-us'\r\nimport { ZH_CN } from './config/i18n/zh-cn'\r\nconst localLang = localStorage.getItem('lang') || 'zh-cn'\r\nexport const LANG_CONF = localLang === 'en-us' ? EN_US : ZH_CN\r\n\r\nexport const
|
|
1
|
+
{"version":3,"file":"config.cjs.js","sources":["../../src/config.ts"],"sourcesContent":["import {\r\n ALIGN_CENTER_ICON,\r\n ALIGN_LEFT_ICON,\r\n ALIGN_RIGHT_ICON,\r\n BACKGROUND_COLOR_ICON,\r\n BLOCKQUOTE_ICON,\r\n BOLD_ICON,\r\n CLEAN_ICON,\r\n CODE_BLOCK_ICON,\r\n CODE_ICON,\r\n COLOR_ICON,\r\n EMOJI_ICON,\r\n FILE_ICON,\r\n FULLSCREEN_ICON,\r\n GLOBAL_LINK_ICON,\r\n HELP_ICON,\r\n IMAGE_ICON,\r\n ITALIC_ICON,\r\n LINK_ICON,\r\n LIST_CHECK_ICON,\r\n LIST_ORDERED_ICON,\r\n LIST_UNORDERED_ICON,\r\n REDO_ICON,\r\n SCREENSHOT_ICON,\r\n STRIKE_ICON,\r\n TABLE_ICON,\r\n TRIANGLE_DOWN_ICON,\r\n UNDERLINE_ICON,\r\n UNDO_ICON,\r\n FORMAT_PAINTER_ICON,\r\n} from './config/icons.config'\r\nimport { isNullOrUndefined } from './config/editor.utils'\r\n\r\nimport { EN_US } from './config/i18n/en-us'\r\nimport { ZH_CN } from './config/i18n/zh-cn'\r\nconst localLang = localStorage.getItem('lang') || 'zh-cn'\r\nexport const LANG_CONF = localLang === 'en-us' ? EN_US : ZH_CN\r\n\r\nexport const ICONS_CONFIG: { [key: string]: any } = {\r\n 'undo': UNDO_ICON,\r\n 'redo': REDO_ICON,\r\n 'clean': CLEAN_ICON,\r\n\r\n 'bold': BOLD_ICON,\r\n 'italic': ITALIC_ICON,\r\n 'underline': UNDERLINE_ICON,\r\n 'strike': STRIKE_ICON,\r\n\r\n 'font': '',\r\n 'size': '',\r\n\r\n 'color': `<span class=\"ql-color-inner\">\r\n ${COLOR_ICON}\r\n ${TRIANGLE_DOWN_ICON}\r\n <span class=\"current-color-line\"></span>\r\n </span>`,\r\n 'background': `<span class=\"ql-color-inner\">\r\n ${BACKGROUND_COLOR_ICON}\r\n ${TRIANGLE_DOWN_ICON}\r\n <span class=\"current-color-line color-line-background\"></span>\r\n </span>`,\r\n\r\n 'align': {\r\n '': ALIGN_LEFT_ICON,\r\n 'center': ALIGN_CENTER_ICON,\r\n 'right': ALIGN_RIGHT_ICON,\r\n },\r\n 'list': {\r\n bullet: LIST_UNORDERED_ICON,\r\n ordered: LIST_ORDERED_ICON,\r\n check: LIST_CHECK_ICON,\r\n },\r\n\r\n 'code': CODE_ICON,\r\n 'code-block': CODE_BLOCK_ICON,\r\n 'blockquote': BLOCKQUOTE_ICON,\r\n\r\n 'image': IMAGE_ICON,\r\n 'file': FILE_ICON,\r\n 'better-table': TABLE_ICON,\r\n 'link': LINK_ICON,\r\n 'global-link': GLOBAL_LINK_ICON,\r\n 'fullscreen': FULLSCREEN_ICON,\r\n 'emoji': EMOJI_ICON,\r\n 'help': HELP_ICON,\r\n 'screenshot': SCREENSHOT_ICON,\r\n 'format-painter': FORMAT_PAINTER_ICON,\r\n}\r\n\r\nexport const TABLE_RIGHT_MENU_CONFIG = {\r\n copyCells: {\r\n text: LANG_CONF['copy-cells'],\r\n },\r\n copyTable: {\r\n text: LANG_CONF['copy-table'],\r\n },\r\n cutCells: {\r\n text: LANG_CONF['cut-cells'],\r\n },\r\n emptyCells: {\r\n text: LANG_CONF['empty-cells'],\r\n },\r\n insertRowUp: {\r\n text: LANG_CONF['insert-row-up'],\r\n },\r\n insertRowDown: {\r\n text: LANG_CONF['insert-row-down'],\r\n },\r\n insertColumnLeft: {\r\n text: LANG_CONF['insert-column-left'],\r\n },\r\n insertColumnRight: {\r\n text: LANG_CONF['insert-column-right'],\r\n },\r\n mergeCells: {\r\n text: LANG_CONF['merge-cells'],\r\n },\r\n unmergeCells: {\r\n text: LANG_CONF['unmerge-cells'],\r\n },\r\n deleteRow: {\r\n text: LANG_CONF['delete-row'],\r\n },\r\n deleteColumn: {\r\n text: LANG_CONF['delete-column'],\r\n },\r\n deleteTable: {\r\n text: LANG_CONF['delete-table'],\r\n },\r\n}\r\n\r\n// 触发上传\r\nexport function inputFile(type, accept) {\r\n const defaultMIMETypes = this.quill.uploader.options[type].join(', ')\r\n const mimeTypes = accept || defaultMIMETypes\r\n let fileInput = this.container.querySelector(`input.ql-${type}[type=file]`)\r\n if (isNullOrUndefined(fileInput)) {\r\n fileInput = document.createElement('input')\r\n fileInput.classList.add(`ql-${type}`)\r\n fileInput.setAttribute('type', 'file')\r\n fileInput.setAttribute('accept', mimeTypes)\r\n if (\r\n this.quill.uploader.options.enableMultiUpload === true\r\n || (this.quill.uploader.options.enableMultiUpload.file && type === 'file')\r\n || (this.quill.uploader.options.enableMultiUpload.image && type === 'image')\r\n ) {\r\n fileInput.setAttribute('multiple', '')\r\n }\r\n fileInput.addEventListener('change', () => {\r\n const range = this.quill.getSelection(true)\r\n this.quill.uploader.upload(range, fileInput.files, type === 'file')\r\n fileInput.value = ''\r\n })\r\n this.container.appendChild(fileInput)\r\n }\r\n fileInput.click()\r\n}\r\n\r\nexport function getListValue(value, preListValue) {\r\n let curListValue = value\r\n if (preListValue && preListValue === value) {\r\n curListValue = false\r\n }\r\n else if (value === 'check') {\r\n if (preListValue === 'checked' || preListValue === 'unchecked') {\r\n curListValue = false\r\n }\r\n else {\r\n curListValue = 'unchecked'\r\n }\r\n }\r\n return curListValue\r\n}\r\n"],"names":["EN_US","ZH_CN","UNDO_ICON","REDO_ICON","CLEAN_ICON","BOLD_ICON","ITALIC_ICON","UNDERLINE_ICON","STRIKE_ICON","COLOR_ICON","TRIANGLE_DOWN_ICON","BACKGROUND_COLOR_ICON","ALIGN_LEFT_ICON","ALIGN_CENTER_ICON","ALIGN_RIGHT_ICON","LIST_UNORDERED_ICON","LIST_ORDERED_ICON","LIST_CHECK_ICON","CODE_ICON","CODE_BLOCK_ICON","BLOCKQUOTE_ICON","IMAGE_ICON","FILE_ICON","TABLE_ICON","LINK_ICON","GLOBAL_LINK_ICON","FULLSCREEN_ICON","EMOJI_ICON","HELP_ICON","SCREENSHOT_ICON","FORMAT_PAINTER_ICON","isNullOrUndefined"],"mappings":"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"}
|
package/lib/fluent-editor.cjs.js
CHANGED
|
@@ -7,28 +7,28 @@ const customClipboard = require("./custom-clipboard.cjs.js");
|
|
|
7
7
|
const BlotFormatter = require("./custom-image/BlotFormatter.cjs.js");
|
|
8
8
|
const CustomImageSpec = require("./custom-image/specs/CustomImageSpec.cjs.js");
|
|
9
9
|
const customUploader = require("./custom-uploader.cjs.js");
|
|
10
|
-
const index$
|
|
10
|
+
const index$4 = require("./emoji/index.cjs.js");
|
|
11
11
|
const index$2 = require("./file/index.cjs.js");
|
|
12
|
-
const
|
|
13
|
-
const index$8 = require("./link/index.cjs.js");
|
|
12
|
+
const index$5 = require("./link/index.cjs.js");
|
|
14
13
|
const Mention = require("./mention/Mention.cjs.js");
|
|
15
|
-
const index$
|
|
16
|
-
const index$
|
|
14
|
+
const index$8 = require("./soft-break/index.cjs.js");
|
|
15
|
+
const index$7 = require("./strike/index.cjs.js");
|
|
17
16
|
const betterTable = require("./table/better-table.cjs.js");
|
|
18
|
-
const index$
|
|
17
|
+
const index$6 = require("./syntax/index.cjs.js");
|
|
19
18
|
const index$1 = require("./toolbar/index.cjs.js");
|
|
20
|
-
const index$
|
|
19
|
+
const index$9 = require("./video/index.cjs.js");
|
|
21
20
|
const index = require("./format-painter/index.cjs.js");
|
|
21
|
+
require("./attributors/index.cjs.js");
|
|
22
|
+
const fontStyle = require("./attributors/font-style.cjs.js");
|
|
23
|
+
const fontSize = require("./attributors/font-size.cjs.js");
|
|
24
|
+
const lineHeight = require("./attributors/line-height.cjs.js");
|
|
25
|
+
const textIndent = require("./attributors/text-indent.cjs.js");
|
|
22
26
|
class FluentEditor extends Quill {
|
|
23
27
|
constructor(container, options = {}) {
|
|
24
28
|
super(container, options);
|
|
25
29
|
}
|
|
26
30
|
}
|
|
27
31
|
const registerModules = function() {
|
|
28
|
-
const FontClass = Quill.imports["formats/font"];
|
|
29
|
-
FontClass.whitelist = config.FONT_FAMILY_CONFIG;
|
|
30
|
-
const SizeStyle = Quill.imports["attributors/style/size"];
|
|
31
|
-
SizeStyle.whitelist = config.FONT_SIZE_CONFIG;
|
|
32
32
|
const Icons = Quill.imports["ui/icons"];
|
|
33
33
|
const iconKeys = Object.keys(config.ICONS_CONFIG);
|
|
34
34
|
iconKeys.forEach((iconKey) => {
|
|
@@ -137,21 +137,22 @@ const registerModules = function() {
|
|
|
137
137
|
"modules/file": index$2.default,
|
|
138
138
|
// 三者关联性最强
|
|
139
139
|
"modules/counter": index$3.default,
|
|
140
|
-
"
|
|
141
|
-
"
|
|
142
|
-
"formats/strike": index$4.default,
|
|
143
|
-
"formats/softBreak": index$5.default,
|
|
144
|
-
"formats/lineheight": lineheight.default,
|
|
145
|
-
"formats/video": index$6.default,
|
|
146
|
-
"formats/emoji": index$7.default.EmojiBlot,
|
|
147
|
-
"modules/emoji-toolbar": index$7.default.ToolbarEmoji,
|
|
148
|
-
"modules/emoji-shortname": index$7.default.ShortNameEmoji,
|
|
140
|
+
"modules/emoji-toolbar": index$4.default.ToolbarEmoji,
|
|
141
|
+
"modules/emoji-shortname": index$4.default.ShortNameEmoji,
|
|
149
142
|
// 'modules/global-link': GlobalLink,//暂未开发
|
|
150
|
-
"modules/link": index$
|
|
143
|
+
"modules/link": index$5.default,
|
|
151
144
|
// 报错
|
|
152
145
|
// 'modules/screenshot': Screenshot,//暂未开发
|
|
153
146
|
// 'modules/quickmenu': QuickMenu,//暂未开发
|
|
154
|
-
"modules/syntax": index$
|
|
147
|
+
"modules/syntax": index$6.default,
|
|
148
|
+
"formats/strike": index$7.default,
|
|
149
|
+
"formats/softBreak": index$8.default,
|
|
150
|
+
"formats/video": index$9.default,
|
|
151
|
+
"formats/emoji": index$4.default.EmojiBlot,
|
|
152
|
+
"formats/font": fontStyle.FontStyle,
|
|
153
|
+
"formats/size": fontSize.SizeStyle,
|
|
154
|
+
"formats/line-height": lineHeight.LineHeightStyle,
|
|
155
|
+
"formats/text-indent": textIndent.TextIndentStyle
|
|
155
156
|
},
|
|
156
157
|
true
|
|
157
158
|
// 覆盖内部模块
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fluent-editor.cjs.js","sources":["../../src/fluent-editor.ts"],"sourcesContent":["import Quill from 'quill'\r\nimport type { Module, Parchment as TypeParchment } from 'quill'\r\nimport { FONT_FAMILY_CONFIG, FONT_SIZE_CONFIG, ICONS_CONFIG, TABLE_RIGHT_MENU_CONFIG, inputFile, getListValue } from './config'\r\nimport Counter from './counter' // 字符统计\r\nimport CustomClipboard from './custom-clipboard' // 粘贴板\r\nimport CustomImage from './custom-image/BlotFormatter' // 图片\r\nimport { CustomImageSpec } from './custom-image/specs/CustomImageSpec' // 图片拉伸模块\r\nimport CustomUploader from './custom-uploader' // 上传\r\nimport Emoji from './emoji' // 表情\r\nimport FileModule from './file' // 文件\r\n// import GlobalLink from './global-link' // 全局链接\r\nimport LineHeightStyle from './lineheight'\r\nimport Link from './link' // 超链接0\r\nimport Mention from './mention/Mention' // @提醒\r\n// import QuickMenu from './quick-menu' // 快捷菜单\r\n// import Screenshot from './screenshot' // 截图\r\nimport SoftBreak from './soft-break' // 软回车\r\nimport Strike from './strike' // 删除线\r\nimport BetterTable from './table/better-table' // 表格\r\nimport CustomSyntax from './syntax' // 代码块高亮\r\nimport Toolbar from './toolbar' // 工具栏\r\nimport Video from './video' // 视频\r\nimport { FormatPainter } from './format-painter'\r\nimport { IEditorConfig } from './config/types'\r\n\r\nclass FluentEditor extends Quill {\r\n constructor(container: HTMLElement | string, options: IEditorConfig = {}) {\r\n super(container, options)\r\n }\r\n}\r\n\r\nconst registerModules = function () {\r\n const FontClass = Quill.imports['formats/font'] as TypeParchment.ClassAttributor\r\n FontClass.whitelist = FONT_FAMILY_CONFIG\r\n\r\n const SizeStyle = Quill.imports['attributors/style/size'] as TypeParchment.StyleAttributor\r\n // const SizeClass = Quill.imports['attributors/class/size']\r\n SizeStyle.whitelist = FONT_SIZE_CONFIG\r\n\r\n const Icons = Quill.imports['ui/icons']\r\n const iconKeys = Object.keys(ICONS_CONFIG)\r\n iconKeys.forEach((iconKey) => {\r\n Icons[iconKey] = ICONS_CONFIG[iconKey]\r\n })\r\n\r\n const SnowTheme = Quill.imports['themes/snow'] as typeof Module\r\n SnowTheme.DEFAULTS = {\r\n modules: {\r\n 'keyboard': {\r\n bindings: {\r\n ...BetterTable.keyboardBindings,\r\n },\r\n },\r\n 'toolbar': {\r\n handlers: {\r\n ...(SnowTheme.DEFAULTS as Record<string, any>).modules.toolbar.handlers,\r\n 'undo': function () {\r\n this.quill.history.undo()\r\n },\r\n 'redo': function () {\r\n this.quill.history.redo()\r\n },\r\n 'better-table': function () {\r\n this.quill.getModule('better-table').insertTable(3, 3)\r\n },\r\n 'file': function () {\r\n const accept = this.quill.options?.uploadOption?.fileAccept\r\n inputFile.call(this, 'file', accept)\r\n },\r\n 'image': function () {\r\n const accept = this.quill.options?.uploadOption?.imageAccept\r\n inputFile.call(this, 'image', accept)\r\n },\r\n 'emoji': function () {},\r\n 'fullscreen': function () {},\r\n 'list': function (value) {\r\n const range = this.quill.getSelection()\r\n const formats = this.quill.getFormat(range)\r\n const preListValue = Array.isArray(formats.list) ? formats.list[0]?.value : formats.list?.value\r\n const curListValue = getListValue(value, preListValue)\r\n // 如果设置list的选区中有表格,判断第一个table-col位置,将表格前的内容设置为list格式\r\n const lines = this.quill.getLines(range.index, range.length)\r\n const tableCols = lines.filter(line => line.statics.blotName === 'table-col' && !line.prev)\r\n if (tableCols.length) {\r\n let start = range.index\r\n // 遍历table-col群组,以之获取表格,将表格前选区设置为对应list格式\r\n tableCols.forEach((item, index) => {\r\n const table = item.domNode.closest('table.quill-better-table')\r\n const tableBlot = Quill.find(table) as TypeParchment.Blot\r\n const tableLength = tableBlot.length()\r\n const tableStart = this.quill.getIndex(item)\r\n const tableEnd = tableStart + tableLength\r\n const beforeTableRangeLength = tableStart - start\r\n // 在表格前设置列表\r\n this.quill.setSelection(start, beforeTableRangeLength, Quill.sources.SILENT)\r\n this.quill.format('list', curListValue, Quill.sources.USER)\r\n table.parentNode.classList.remove('quill-better-table-selected')\r\n // 当前表格末尾为下一个选取的开始\r\n start = tableEnd\r\n if (index === tableCols.length - 1) {\r\n // 将最后一个表格之后所有选区内容设置list格式\r\n this.quill.setSelection(tableEnd, range.index + range.length - tableEnd)\r\n this.quill.format('list', curListValue, Quill.sources.USER)\r\n }\r\n })\r\n }\r\n else {\r\n this.quill.format('list', curListValue, Quill.sources.USER)\r\n }\r\n },\r\n [FormatPainter.toolName]: FormatPainter,\r\n },\r\n },\r\n 'better-table': {\r\n operationMenu: {\r\n items: TABLE_RIGHT_MENU_CONFIG,\r\n color: true,\r\n },\r\n },\r\n 'image': {\r\n specs: [CustomImageSpec],\r\n overlay: {\r\n style: {\r\n border: '1px dashed rgb(68, 68, 68)',\r\n },\r\n },\r\n align: {\r\n icons: {\r\n left: '<i class=\"icon-text-align-left\"></i>',\r\n center: '<i class=\"icon-text-align-center\"></i>',\r\n right: '<i class=\"icon-text-align-right\"></i>',\r\n },\r\n },\r\n },\r\n },\r\n }\r\n\r\n FluentEditor.register(\r\n {\r\n 'modules/toolbar': Toolbar,\r\n 'modules/mention': Mention,\r\n 'modules/better-table': BetterTable,\r\n 'modules/clipboard': CustomClipboard,\r\n 'modules/uploader': CustomUploader, // 三者关联性最强\r\n 'modules/image': CustomImage, // 三者关联性最强\r\n 'modules/file': FileModule, // 三者关联性最强\r\n 'modules/counter': Counter,\r\n 'formats/font': FontClass,\r\n 'formats/size': SizeStyle,\r\n 'formats/strike': Strike,\r\n 'formats/softBreak': SoftBreak,\r\n 'formats/lineheight': LineHeightStyle,\r\n 'formats/video': Video,\r\n 'formats/emoji': Emoji.EmojiBlot,\r\n 'modules/emoji-toolbar': Emoji.ToolbarEmoji,\r\n 'modules/emoji-shortname': Emoji.ShortNameEmoji,\r\n // 'modules/global-link': GlobalLink,//暂未开发\r\n 'modules/link': Link, // 报错\r\n // 'modules/screenshot': Screenshot,//暂未开发\r\n // 'modules/quickmenu': QuickMenu,//暂未开发\r\n 'modules/syntax': CustomSyntax,\r\n },\r\n true, // 覆盖内部模块\r\n )\r\n\r\n return FluentEditor\r\n}\r\n\r\nexport default registerModules()\r\n"],"names":["FONT_FAMILY_CONFIG","FONT_SIZE_CONFIG","ICONS_CONFIG","BetterTable","inputFile","getListValue","index","FormatPainter","TABLE_RIGHT_MENU_CONFIG","CustomImageSpec","Toolbar","Mention","CustomClipboard","CustomUploader","CustomImage","FileModule","Counter","Strike","SoftBreak","LineHeightStyle","Video","Emoji","Link","CustomSyntax"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fluent-editor.cjs.js","sources":["../../src/fluent-editor.ts"],"sourcesContent":["import Quill from 'quill'\r\nimport type { Module, Parchment as TypeParchment } from 'quill'\r\nimport { ICONS_CONFIG, TABLE_RIGHT_MENU_CONFIG, inputFile, getListValue } from './config'\r\nimport Counter from './counter' // 字符统计\r\nimport CustomClipboard from './custom-clipboard' // 粘贴板\r\nimport CustomImage from './custom-image/BlotFormatter' // 图片\r\nimport { CustomImageSpec } from './custom-image/specs/CustomImageSpec' // 图片拉伸模块\r\nimport CustomUploader from './custom-uploader' // 上传\r\nimport Emoji from './emoji' // 表情\r\nimport FileModule from './file' // 文件\r\n// import GlobalLink from './global-link' // 全局链接\r\nimport Link from './link' // 超链接0\r\nimport Mention from './mention/Mention' // @提醒\r\n// import QuickMenu from './quick-menu' // 快捷菜单\r\n// import Screenshot from './screenshot' // 截图\r\nimport SoftBreak from './soft-break' // 软回车\r\nimport Strike from './strike' // 删除线\r\nimport BetterTable from './table/better-table' // 表格\r\nimport CustomSyntax from './syntax' // 代码块高亮\r\nimport Toolbar from './toolbar' // 工具栏\r\nimport Video from './video' // 视频\r\nimport { FormatPainter } from './format-painter'\r\nimport { IEditorConfig } from './config/types'\r\nimport { LineHeightStyle, SizeStyle, FontStyle, TextIndentStyle } from './attributors'\r\n\r\nclass FluentEditor extends Quill {\r\n constructor(container: HTMLElement | string, options: IEditorConfig = {}) {\r\n super(container, options)\r\n }\r\n}\r\n\r\nconst registerModules = function () {\r\n const Icons = Quill.imports['ui/icons']\r\n const iconKeys = Object.keys(ICONS_CONFIG)\r\n iconKeys.forEach((iconKey) => {\r\n Icons[iconKey] = ICONS_CONFIG[iconKey]\r\n })\r\n\r\n const SnowTheme = Quill.imports['themes/snow'] as typeof Module\r\n SnowTheme.DEFAULTS = {\r\n modules: {\r\n 'keyboard': {\r\n bindings: {\r\n ...BetterTable.keyboardBindings,\r\n },\r\n },\r\n 'toolbar': {\r\n handlers: {\r\n ...(SnowTheme.DEFAULTS as Record<string, any>).modules.toolbar.handlers,\r\n 'undo': function () {\r\n this.quill.history.undo()\r\n },\r\n 'redo': function () {\r\n this.quill.history.redo()\r\n },\r\n 'better-table': function () {\r\n this.quill.getModule('better-table').insertTable(3, 3)\r\n },\r\n 'file': function () {\r\n const accept = this.quill.options?.uploadOption?.fileAccept\r\n inputFile.call(this, 'file', accept)\r\n },\r\n 'image': function () {\r\n const accept = this.quill.options?.uploadOption?.imageAccept\r\n inputFile.call(this, 'image', accept)\r\n },\r\n 'emoji': function () {},\r\n 'fullscreen': function () {},\r\n 'list': function (value) {\r\n const range = this.quill.getSelection()\r\n const formats = this.quill.getFormat(range)\r\n const preListValue = Array.isArray(formats.list) ? formats.list[0]?.value : formats.list?.value\r\n const curListValue = getListValue(value, preListValue)\r\n // 如果设置list的选区中有表格,判断第一个table-col位置,将表格前的内容设置为list格式\r\n const lines = this.quill.getLines(range.index, range.length)\r\n const tableCols = lines.filter(line => line.statics.blotName === 'table-col' && !line.prev)\r\n if (tableCols.length) {\r\n let start = range.index\r\n // 遍历table-col群组,以之获取表格,将表格前选区设置为对应list格式\r\n tableCols.forEach((item, index) => {\r\n const table = item.domNode.closest('table.quill-better-table')\r\n const tableBlot = Quill.find(table) as TypeParchment.Blot\r\n const tableLength = tableBlot.length()\r\n const tableStart = this.quill.getIndex(item)\r\n const tableEnd = tableStart + tableLength\r\n const beforeTableRangeLength = tableStart - start\r\n // 在表格前设置列表\r\n this.quill.setSelection(start, beforeTableRangeLength, Quill.sources.SILENT)\r\n this.quill.format('list', curListValue, Quill.sources.USER)\r\n table.parentNode.classList.remove('quill-better-table-selected')\r\n // 当前表格末尾为下一个选取的开始\r\n start = tableEnd\r\n if (index === tableCols.length - 1) {\r\n // 将最后一个表格之后所有选区内容设置list格式\r\n this.quill.setSelection(tableEnd, range.index + range.length - tableEnd)\r\n this.quill.format('list', curListValue, Quill.sources.USER)\r\n }\r\n })\r\n }\r\n else {\r\n this.quill.format('list', curListValue, Quill.sources.USER)\r\n }\r\n },\r\n [FormatPainter.toolName]: FormatPainter,\r\n },\r\n },\r\n 'better-table': {\r\n operationMenu: {\r\n items: TABLE_RIGHT_MENU_CONFIG,\r\n color: true,\r\n },\r\n },\r\n 'image': {\r\n specs: [CustomImageSpec],\r\n overlay: {\r\n style: {\r\n border: '1px dashed rgb(68, 68, 68)',\r\n },\r\n },\r\n align: {\r\n icons: {\r\n left: '<i class=\"icon-text-align-left\"></i>',\r\n center: '<i class=\"icon-text-align-center\"></i>',\r\n right: '<i class=\"icon-text-align-right\"></i>',\r\n },\r\n },\r\n },\r\n },\r\n }\r\n\r\n FluentEditor.register(\r\n {\r\n 'modules/toolbar': Toolbar,\r\n 'modules/mention': Mention,\r\n 'modules/better-table': BetterTable,\r\n 'modules/clipboard': CustomClipboard,\r\n 'modules/uploader': CustomUploader, // 三者关联性最强\r\n 'modules/image': CustomImage, // 三者关联性最强\r\n 'modules/file': FileModule, // 三者关联性最强\r\n 'modules/counter': Counter,\r\n 'modules/emoji-toolbar': Emoji.ToolbarEmoji,\r\n 'modules/emoji-shortname': Emoji.ShortNameEmoji,\r\n // 'modules/global-link': GlobalLink,//暂未开发\r\n 'modules/link': Link, // 报错\r\n // 'modules/screenshot': Screenshot,//暂未开发\r\n // 'modules/quickmenu': QuickMenu,//暂未开发\r\n 'modules/syntax': CustomSyntax,\r\n\r\n 'formats/strike': Strike,\r\n 'formats/softBreak': SoftBreak,\r\n 'formats/video': Video,\r\n 'formats/emoji': Emoji.EmojiBlot,\r\n 'formats/font': FontStyle,\r\n 'formats/size': SizeStyle,\r\n 'formats/line-height': LineHeightStyle,\r\n 'formats/text-indent': TextIndentStyle,\r\n },\r\n true, // 覆盖内部模块\r\n )\r\n\r\n return FluentEditor\r\n}\r\n\r\nexport default registerModules()\r\n"],"names":["ICONS_CONFIG","BetterTable","inputFile","getListValue","index","FormatPainter","TABLE_RIGHT_MENU_CONFIG","CustomImageSpec","Toolbar","Mention","CustomClipboard","CustomUploader","CustomImage","FileModule","Counter","Emoji","Link","CustomSyntax","Strike","SoftBreak","Video","FontStyle","SizeStyle","LineHeightStyle","TextIndentStyle"],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ const COL_DEFAULT = {
|
|
|
22
22
|
width: 100
|
|
23
23
|
};
|
|
24
24
|
const CELL_IDENTITY_KEYS = ["row", "cell"];
|
|
25
|
-
const CELL_ATTRIBUTES = ["rowspan", "colspan", "cell-bg"];
|
|
25
|
+
const CELL_ATTRIBUTES = ["rowspan", "colspan", "cell-bg", "list"];
|
|
26
26
|
const CELL_DEFAULT = {
|
|
27
27
|
rowspan: 1,
|
|
28
28
|
colspan: 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-config.cjs.js","sources":["../../../src/table/table-config.ts"],"sourcesContent":["export const TABLE_CELL_LINE_CLASS = 'qlrte__better-table-cell-line'\r\nexport const ROW_TOOL_CLASS = 'qlrte__row-tool'\r\nexport const ROW_TOOL_CELL_CLASS = 'qlrte__row-tool-cell'\r\nexport const ROW_TOOL_CELL_HOLDER_CLASS = 'qlrte__row-tool-cell-holder'\r\nexport const COL_TOOL_CLASS = 'qlrte__col-tool'\r\nexport const COL_TOOL_CELL_CLASS = 'qlrte__col-tool-cell'\r\nexport const COL_TOOL_CELL_HOLDER_CLASS = 'qlrte__col-tool-cell-holder'\r\nexport const SELECT_LINE_CLASS = 'qlrte__selection-line'\r\nexport const OPERATE_MENU_CLASS = 'qlrte__op-menu'\r\nexport const OPERATE_MENU_ITEM_CLASS = 'qlrte__op-menu-item'\r\nexport const OPERATE_MENU_ICON_CLASS = 'qlrte__op-menu-icon'\r\nexport const OPERATE_MENU_ICON_PREFIX_CLASS = 'qlrte__op-menu-icon-prefix'\r\nexport const OPERATE_MENU_TEXT_CLASS = 'qlrte__op-menu-text'\r\nexport const OPERATE_MENU_DIVIDING_CLASS = 'qlrte__op-menu-dividing'\r\nexport const OPERATE_MENU_SUBTITLE_CLASS = 'qlrte__op-menu-subtitle'\r\nexport const OPERATE_MENU_COLORPICKER_CLASS = 'qlrte__op-menu-color-picker'\r\nexport const OPERATE_MENU_COLORPICKER_ITEM_CLASS\r\n = 'qlrte__op-menu-color-picker-item'\r\nexport const COL_ATTRIBUTES = ['width']\r\nexport const COL_DEFAULT = {\r\n width: 100,\r\n}\r\nexport const CELL_IDENTITY_KEYS = ['row', 'cell']\r\nexport const CELL_ATTRIBUTES = ['rowspan', 'colspan', 'cell-bg']\r\nexport const CELL_DEFAULT = {\r\n rowspan: 1,\r\n colspan: 1,\r\n}\r\nexport const ERROR_LIMIT = 5\r\n\r\nexport const SCROLL_BAR_PANEL_HEIGHT = 32\r\nexport const ROW_TOOL_WIDTH = 16\r\nexport const COL_TOOL_HEIGHT = 16\r\nexport const CELL_MIN_WIDTH = 50\r\nexport const CELL_MIN_HEIGHT = 29\r\nexport const PRIMARY_COLOR = ['#5170ff', 'var(--brand-1, #5170ff)']\r\n\r\nexport const MENU_ITEM_HEIGHT = 40\r\nexport const MENU_MIN_HEIGHT = 150\r\nexport const MENU_WIDTH = 205\r\n\r\nexport const LINE_POSITIONS = ['left', 'right', 'top', 'bottom']\r\n"],"names":[],"mappings":";;AAAO,MAAM,wBAAwB;AAC9B,MAAM,iBAAiB;AACvB,MAAM,sBAAsB;AAC5B,MAAM,6BAA6B;AACnC,MAAM,iBAAiB;AACvB,MAAM,sBAAsB;AAC5B,MAAM,6BAA6B;AACnC,MAAM,oBAAoB;AAC1B,MAAM,qBAAqB;AAC3B,MAAM,0BAA0B;AAChC,MAAM,0BAA0B;AAChC,MAAM,iCAAiC;AACvC,MAAM,0BAA0B;AAChC,MAAM,8BAA8B;AACpC,MAAM,8BAA8B;AACpC,MAAM,iCAAiC;AACvC,MAAM,sCACT;AACS,MAAA,iBAAiB,CAAC,OAAO;AAC/B,MAAM,cAAc;AAAA,EACzB,OAAO;AACT;AACa,MAAA,qBAAqB,CAAC,OAAO,MAAM;AACzC,MAAM,kBAAkB,CAAC,WAAW,WAAW,
|
|
1
|
+
{"version":3,"file":"table-config.cjs.js","sources":["../../../src/table/table-config.ts"],"sourcesContent":["export const TABLE_CELL_LINE_CLASS = 'qlrte__better-table-cell-line'\r\nexport const ROW_TOOL_CLASS = 'qlrte__row-tool'\r\nexport const ROW_TOOL_CELL_CLASS = 'qlrte__row-tool-cell'\r\nexport const ROW_TOOL_CELL_HOLDER_CLASS = 'qlrte__row-tool-cell-holder'\r\nexport const COL_TOOL_CLASS = 'qlrte__col-tool'\r\nexport const COL_TOOL_CELL_CLASS = 'qlrte__col-tool-cell'\r\nexport const COL_TOOL_CELL_HOLDER_CLASS = 'qlrte__col-tool-cell-holder'\r\nexport const SELECT_LINE_CLASS = 'qlrte__selection-line'\r\nexport const OPERATE_MENU_CLASS = 'qlrte__op-menu'\r\nexport const OPERATE_MENU_ITEM_CLASS = 'qlrte__op-menu-item'\r\nexport const OPERATE_MENU_ICON_CLASS = 'qlrte__op-menu-icon'\r\nexport const OPERATE_MENU_ICON_PREFIX_CLASS = 'qlrte__op-menu-icon-prefix'\r\nexport const OPERATE_MENU_TEXT_CLASS = 'qlrte__op-menu-text'\r\nexport const OPERATE_MENU_DIVIDING_CLASS = 'qlrte__op-menu-dividing'\r\nexport const OPERATE_MENU_SUBTITLE_CLASS = 'qlrte__op-menu-subtitle'\r\nexport const OPERATE_MENU_COLORPICKER_CLASS = 'qlrte__op-menu-color-picker'\r\nexport const OPERATE_MENU_COLORPICKER_ITEM_CLASS\r\n = 'qlrte__op-menu-color-picker-item'\r\nexport const COL_ATTRIBUTES = ['width']\r\nexport const COL_DEFAULT = {\r\n width: 100,\r\n}\r\nexport const CELL_IDENTITY_KEYS = ['row', 'cell']\r\nexport const CELL_ATTRIBUTES = ['rowspan', 'colspan', 'cell-bg', 'list']\r\nexport const CELL_DEFAULT = {\r\n rowspan: 1,\r\n colspan: 1,\r\n}\r\nexport const ERROR_LIMIT = 5\r\n\r\nexport const SCROLL_BAR_PANEL_HEIGHT = 32\r\nexport const ROW_TOOL_WIDTH = 16\r\nexport const COL_TOOL_HEIGHT = 16\r\nexport const CELL_MIN_WIDTH = 50\r\nexport const CELL_MIN_HEIGHT = 29\r\nexport const PRIMARY_COLOR = ['#5170ff', 'var(--brand-1, #5170ff)']\r\n\r\nexport const MENU_ITEM_HEIGHT = 40\r\nexport const MENU_MIN_HEIGHT = 150\r\nexport const MENU_WIDTH = 205\r\n\r\nexport const LINE_POSITIONS = ['left', 'right', 'top', 'bottom']\r\n"],"names":[],"mappings":";;AAAO,MAAM,wBAAwB;AAC9B,MAAM,iBAAiB;AACvB,MAAM,sBAAsB;AAC5B,MAAM,6BAA6B;AACnC,MAAM,iBAAiB;AACvB,MAAM,sBAAsB;AAC5B,MAAM,6BAA6B;AACnC,MAAM,oBAAoB;AAC1B,MAAM,qBAAqB;AAC3B,MAAM,0BAA0B;AAChC,MAAM,0BAA0B;AAChC,MAAM,iCAAiC;AACvC,MAAM,0BAA0B;AAChC,MAAM,8BAA8B;AACpC,MAAM,8BAA8B;AACpC,MAAM,iCAAiC;AACvC,MAAM,sCACT;AACS,MAAA,iBAAiB,CAAC,OAAO;AAC/B,MAAM,cAAc;AAAA,EACzB,OAAO;AACT;AACa,MAAA,qBAAqB,CAAC,OAAO,MAAM;AACzC,MAAM,kBAAkB,CAAC,WAAW,WAAW,WAAW,MAAM;AAChE,MAAM,eAAe;AAAA,EAC1B,SAAS;AAAA,EACT,SAAS;AACX;AACO,MAAM,cAAc;AAEpB,MAAM,0BAA0B;AAChC,MAAM,iBAAiB;AACvB,MAAM,kBAAkB;AACxB,MAAM,iBAAiB;AACvB,MAAM,kBAAkB;AAClB,MAAA,gBAAgB,CAAC,WAAW,yBAAyB;AAE3D,MAAM,mBAAmB;AACzB,MAAM,kBAAkB;AACxB,MAAM,aAAa;AAEnB,MAAM,iBAAiB,CAAC,QAAQ,SAAS,OAAO,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opentiny/fluent-editor",
|
|
3
|
-
"version": "3.19.
|
|
3
|
+
"version": "3.19.2",
|
|
4
4
|
"description": "A rich text editor based on Quill 2.0, which extends rich modules and formats on the basis of Quill. It's powerful and out-of-the-box.",
|
|
5
5
|
"homepage": "https://opentiny.github.io/fluent-editor/",
|
|
6
6
|
"keywords": [
|
package/es/lineheight.es.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import Quill from "quill";
|
|
2
|
-
const Parchment = Quill.import("parchment");
|
|
3
|
-
const LineHeightStyle = new Parchment.StyleAttributor("lineheight", "line-height", {
|
|
4
|
-
scope: Parchment.Scope.INLINE,
|
|
5
|
-
whitelist: ["2", "2.5", "3", "4", "5"]
|
|
6
|
-
// 行距值的白名单
|
|
7
|
-
});
|
|
8
|
-
export {
|
|
9
|
-
LineHeightStyle as default
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=lineheight.es.js.map
|
package/es/lineheight.es.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lineheight.es.js","sources":["../../src/lineheight.ts"],"sourcesContent":["import Quill from 'quill'\r\n\r\nconst Parchment = Quill.import('parchment')\r\n\r\nconst LineHeightStyle = new Parchment.StyleAttributor('lineheight', 'line-height', {\r\n scope: Parchment.Scope.INLINE,\r\n whitelist: ['2', '2.5', '3', '4', '5'], // 行距值的白名单\r\n})\r\n\r\nexport default LineHeightStyle\r\n"],"names":[],"mappings":";AAEA,MAAM,YAAY,MAAM,OAAO,WAAW;AAE1C,MAAM,kBAAkB,IAAI,UAAU,gBAAgB,cAAc,eAAe;AAAA,EACjF,OAAO,UAAU,MAAM;AAAA,EACvB,WAAW,CAAC,KAAK,OAAO,KAAK,KAAK,GAAG;AAAA;AACvC,CAAC;"}
|
package/lib/lineheight.cjs.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
const Quill = require("quill");
|
|
4
|
-
const Parchment = Quill.import("parchment");
|
|
5
|
-
const LineHeightStyle = new Parchment.StyleAttributor("lineheight", "line-height", {
|
|
6
|
-
scope: Parchment.Scope.INLINE,
|
|
7
|
-
whitelist: ["2", "2.5", "3", "4", "5"]
|
|
8
|
-
// 行距值的白名单
|
|
9
|
-
});
|
|
10
|
-
exports.default = LineHeightStyle;
|
|
11
|
-
//# sourceMappingURL=lineheight.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lineheight.cjs.js","sources":["../../src/lineheight.ts"],"sourcesContent":["import Quill from 'quill'\r\n\r\nconst Parchment = Quill.import('parchment')\r\n\r\nconst LineHeightStyle = new Parchment.StyleAttributor('lineheight', 'line-height', {\r\n scope: Parchment.Scope.INLINE,\r\n whitelist: ['2', '2.5', '3', '4', '5'], // 行距值的白名单\r\n})\r\n\r\nexport default LineHeightStyle\r\n"],"names":[],"mappings":";;;AAEA,MAAM,YAAY,MAAM,OAAO,WAAW;AAE1C,MAAM,kBAAkB,IAAI,UAAU,gBAAgB,cAAc,eAAe;AAAA,EACjF,OAAO,UAAU,MAAM;AAAA,EACvB,WAAW,CAAC,KAAK,OAAO,KAAK,KAAK,GAAG;AAAA;AACvC,CAAC;;"}
|