@opentiny/fluent-editor 3.20.0 → 3.20.2-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/es/attributors/index.es.js +1 -1
  2. package/es/config/base64-image.es.js.map +1 -1
  3. package/es/config/editor.config.es.js.map +1 -1
  4. package/es/config/editor.utils.es.js +12 -12
  5. package/es/config/editor.utils.es.js.map +1 -1
  6. package/es/{config.es.js → config/index.es.js} +14 -7
  7. package/es/config/index.es.js.map +1 -0
  8. package/es/config/types/index.es.js +2 -2
  9. package/es/counter/index.es.js +2 -1
  10. package/es/counter/index.es.js.map +1 -1
  11. package/es/custom-clipboard.es.js +14 -14
  12. package/es/custom-clipboard.es.js.map +1 -1
  13. package/es/custom-image/BlotFormatter.es.js +1 -1
  14. package/es/custom-image/BlotFormatter.es.js.map +1 -1
  15. package/es/custom-image/actions/CustomResizeAction.es.js +6 -4
  16. package/es/custom-image/actions/CustomResizeAction.es.js.map +1 -1
  17. package/es/custom-image/image.es.js +3 -3
  18. package/es/custom-image/image.es.js.map +1 -1
  19. package/es/custom-image/specs/BlotSpec.es.js.map +1 -1
  20. package/es/custom-uploader.es.js +4 -7
  21. package/es/custom-uploader.es.js.map +1 -1
  22. package/es/emoji/emoji-list/people.es.js.map +1 -1
  23. package/es/emoji/formats/emoji-blot.es.js +2 -2
  24. package/es/emoji/formats/emoji-blot.es.js.map +1 -1
  25. package/es/emoji/modules/emoji.es.js +7 -7
  26. package/es/emoji/modules/emoji.es.js.map +1 -1
  27. package/es/emoji/modules/toolbar-emoji.es.js +15 -15
  28. package/es/emoji/modules/toolbar-emoji.es.js.map +1 -1
  29. package/es/file/modules/file-bar.es.js +3 -3
  30. package/es/file/modules/file-bar.es.js.map +1 -1
  31. package/es/fluent-editor.es.js +4 -4
  32. package/es/fluent-editor.es.js.map +1 -1
  33. package/es/format-painter/index.es.js.map +1 -1
  34. package/es/global-link/formats/work-item-link.es.js.map +1 -1
  35. package/es/global-link/index.es.js +1 -1
  36. package/es/global-link/index.es.js.map +1 -1
  37. package/es/index.es.js +17 -1
  38. package/es/index.es.js.map +1 -1
  39. package/es/link/formats/link.es.js +1 -1
  40. package/es/link/formats/link.es.js.map +1 -1
  41. package/es/link/index.es.js.map +1 -1
  42. package/es/link/modules/tooltip.es.js +3 -3
  43. package/es/link/modules/tooltip.es.js.map +1 -1
  44. package/es/mention/Mention.es.js +7 -12
  45. package/es/mention/Mention.es.js.map +1 -1
  46. package/es/quick-menu/index.es.js +1 -1
  47. package/es/quick-menu/index.es.js.map +1 -1
  48. package/es/screenshot/index.es.js +42 -7
  49. package/es/screenshot/index.es.js.map +1 -1
  50. package/es/strike/index.es.js.map +1 -1
  51. package/es/syntax/index.es.js.map +1 -1
  52. package/es/table/better-table.es.js +4 -5
  53. package/es/table/better-table.es.js.map +1 -1
  54. package/es/table/formats/list.es.js +3 -3
  55. package/es/table/formats/list.es.js.map +1 -1
  56. package/es/table/formats/table.es.js +26 -27
  57. package/es/table/formats/table.es.js.map +1 -1
  58. package/es/table/modules/table-column-tool.es.js +8 -8
  59. package/es/table/modules/table-column-tool.es.js.map +1 -1
  60. package/es/table/modules/table-operation-menu.es.js +7 -8
  61. package/es/table/modules/table-operation-menu.es.js.map +1 -1
  62. package/es/table/modules/table-scroll-bar.es.js +1 -1
  63. package/es/table/modules/table-scroll-bar.es.js.map +1 -1
  64. package/es/table/modules/table-selection.es.js +0 -1
  65. package/es/table/modules/table-selection.es.js.map +1 -1
  66. package/es/table/utils/node-matchers.es.js +14 -14
  67. package/es/table/utils/node-matchers.es.js.map +1 -1
  68. package/es/toolbar/better-picker.es.js.map +1 -1
  69. package/es/toolbar/index.es.js +1 -1
  70. package/es/toolbar/index.es.js.map +1 -1
  71. package/es/utils/debounce.es.js.map +1 -1
  72. package/es/utils/image.es.js +26 -0
  73. package/es/utils/image.es.js.map +1 -0
  74. package/es/utils/method.es.js +2 -2
  75. package/es/utils/method.es.js.map +1 -1
  76. package/es/utils/scroll-lock.es.js +47 -0
  77. package/es/utils/scroll-lock.es.js.map +1 -0
  78. package/es/video/index.es.js +6 -3
  79. package/es/video/index.es.js.map +1 -1
  80. package/lib/attributors/index.cjs.js +2 -2
  81. package/lib/config/base64-image.cjs.js.map +1 -1
  82. package/lib/config/editor.config.cjs.js.map +1 -1
  83. package/lib/config/editor.utils.cjs.js +12 -12
  84. package/lib/config/editor.utils.cjs.js.map +1 -1
  85. package/lib/{config.cjs.js → config/index.cjs.js} +27 -21
  86. package/lib/config/index.cjs.js.map +1 -0
  87. package/lib/config/types/index.cjs.js +2 -2
  88. package/lib/counter/index.cjs.js +5 -4
  89. package/lib/counter/index.cjs.js.map +1 -1
  90. package/lib/custom-clipboard.cjs.js +14 -14
  91. package/lib/custom-clipboard.cjs.js.map +1 -1
  92. package/lib/custom-image/BlotFormatter.cjs.js +1 -1
  93. package/lib/custom-image/BlotFormatter.cjs.js.map +1 -1
  94. package/lib/custom-image/actions/CustomResizeAction.cjs.js +6 -4
  95. package/lib/custom-image/actions/CustomResizeAction.cjs.js.map +1 -1
  96. package/lib/custom-image/image.cjs.js +3 -3
  97. package/lib/custom-image/image.cjs.js.map +1 -1
  98. package/lib/custom-image/specs/BlotSpec.cjs.js.map +1 -1
  99. package/lib/custom-uploader.cjs.js +4 -7
  100. package/lib/custom-uploader.cjs.js.map +1 -1
  101. package/lib/emoji/emoji-list/people.cjs.js.map +1 -1
  102. package/lib/emoji/formats/emoji-blot.cjs.js +2 -2
  103. package/lib/emoji/formats/emoji-blot.cjs.js.map +1 -1
  104. package/lib/emoji/modules/emoji.cjs.js +7 -7
  105. package/lib/emoji/modules/emoji.cjs.js.map +1 -1
  106. package/lib/emoji/modules/toolbar-emoji.cjs.js +15 -15
  107. package/lib/emoji/modules/toolbar-emoji.cjs.js.map +1 -1
  108. package/lib/file/modules/file-bar.cjs.js +3 -3
  109. package/lib/file/modules/file-bar.cjs.js.map +1 -1
  110. package/lib/fluent-editor.cjs.js +32 -32
  111. package/lib/fluent-editor.cjs.js.map +1 -1
  112. package/lib/format-painter/index.cjs.js.map +1 -1
  113. package/lib/global-link/formats/work-item-link.cjs.js.map +1 -1
  114. package/lib/global-link/index.cjs.js +1 -1
  115. package/lib/global-link/index.cjs.js.map +1 -1
  116. package/lib/index.cjs.js +16 -0
  117. package/lib/index.cjs.js.map +1 -1
  118. package/lib/link/formats/link.cjs.js +1 -1
  119. package/lib/link/formats/link.cjs.js.map +1 -1
  120. package/lib/link/index.cjs.js.map +1 -1
  121. package/lib/link/modules/tooltip.cjs.js +3 -3
  122. package/lib/link/modules/tooltip.cjs.js.map +1 -1
  123. package/lib/mention/Mention.cjs.js +7 -12
  124. package/lib/mention/Mention.cjs.js.map +1 -1
  125. package/lib/quick-menu/index.cjs.js +1 -1
  126. package/lib/quick-menu/index.cjs.js.map +1 -1
  127. package/lib/screenshot/index.cjs.js +44 -9
  128. package/lib/screenshot/index.cjs.js.map +1 -1
  129. package/lib/strike/index.cjs.js.map +1 -1
  130. package/lib/syntax/index.cjs.js.map +1 -1
  131. package/lib/table/better-table.cjs.js +4 -5
  132. package/lib/table/better-table.cjs.js.map +1 -1
  133. package/lib/table/formats/list.cjs.js +3 -3
  134. package/lib/table/formats/list.cjs.js.map +1 -1
  135. package/lib/table/formats/table.cjs.js +26 -27
  136. package/lib/table/formats/table.cjs.js.map +1 -1
  137. package/lib/table/modules/table-column-tool.cjs.js +8 -8
  138. package/lib/table/modules/table-column-tool.cjs.js.map +1 -1
  139. package/lib/table/modules/table-operation-menu.cjs.js +7 -8
  140. package/lib/table/modules/table-operation-menu.cjs.js.map +1 -1
  141. package/lib/table/modules/table-scroll-bar.cjs.js +1 -1
  142. package/lib/table/modules/table-scroll-bar.cjs.js.map +1 -1
  143. package/lib/table/modules/table-selection.cjs.js +0 -1
  144. package/lib/table/modules/table-selection.cjs.js.map +1 -1
  145. package/lib/table/utils/node-matchers.cjs.js +14 -14
  146. package/lib/table/utils/node-matchers.cjs.js.map +1 -1
  147. package/lib/toolbar/better-picker.cjs.js.map +1 -1
  148. package/lib/toolbar/index.cjs.js +1 -1
  149. package/lib/toolbar/index.cjs.js.map +1 -1
  150. package/lib/utils/debounce.cjs.js.map +1 -1
  151. package/lib/utils/image.cjs.js +26 -0
  152. package/lib/utils/image.cjs.js.map +1 -0
  153. package/lib/utils/method.cjs.js +2 -2
  154. package/lib/utils/method.cjs.js.map +1 -1
  155. package/lib/utils/scroll-lock.cjs.js +47 -0
  156. package/lib/utils/scroll-lock.cjs.js.map +1 -0
  157. package/lib/video/index.cjs.js +6 -3
  158. package/lib/video/index.cjs.js.map +1 -1
  159. package/package.json +16 -28
  160. package/{theme/style.css → style.css} +86 -17
  161. package/es/config.es.js.map +0 -1
  162. package/es/types/vue.d.es.js +0 -2
  163. package/es/types/vue.d.es.js.map +0 -1
  164. package/lib/config.cjs.js.map +0 -1
  165. package/lib/types/vue.d.cjs.js +0 -2
  166. package/lib/types/vue.d.cjs.js.map +0 -1
package/package.json CHANGED
@@ -1,8 +1,17 @@
1
1
  {
2
2
  "name": "@opentiny/fluent-editor",
3
- "version": "3.20.0",
3
+ "version": "3.20.2-alpha.0",
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
+ "author": "OpenTiny Team",
6
+ "license": "MIT",
5
7
  "homepage": "https://opentiny.github.io/fluent-editor/",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git@github.com:opentiny/fluent-editor.git"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/opentiny/fluent-editor/issues"
14
+ },
6
15
  "keywords": [
7
16
  "editor",
8
17
  "rich-text-editor",
@@ -13,52 +22,31 @@
13
22
  "opentiny",
14
23
  "fluent-editor"
15
24
  ],
16
- "author": "OpenTiny Team",
17
- "license": "MIT",
18
- "repository": {
19
- "type": "git",
20
- "url": "git@github.com:opentiny/fluent-editor.git"
21
- },
22
- "bugs": {
23
- "url": "https://github.com/opentiny/fluent-editor/issues"
24
- },
25
25
  "main": "lib/index.cjs.js",
26
26
  "module": "es/index.es.js",
27
- "exports": {
28
- ".": {
29
- "import": "./es/index.es.js",
30
- "require": "./lib/index.cjs.js"
31
- },
32
- "./style.css": "./theme/style.css"
33
- },
34
27
  "scripts": {
35
28
  "start": "vite build && vite",
36
29
  "dev": "vite",
37
- "build": "vite build && pnpm build:theme && node scripts/pre-release.js",
30
+ "build": "pnpm build:theme && vite build && node scripts/pre-release.js",
38
31
  "build:theme": "vite build --config vite.config.theme.ts",
39
- "test": "jest",
40
- "format": "prettier './{src,test}/**/*.{js,ts,tsx,vue}' --write"
32
+ "test": "jest"
41
33
  },
42
- "peerDependencies": {
34
+ "dependencies": {
35
+ "lodash-es": "^4.17.15",
43
36
  "quill": "^2.0.0"
44
37
  },
45
38
  "devDependencies": {
46
39
  "@types/jest": "^26.0.23",
47
- "@types/node": "^15.0.2",
48
40
  "commander": "^6.2.0",
49
41
  "glob": "^11.0.0",
50
42
  "highlight.js": "^10.2.0",
51
43
  "html2canvas": "^1.4.1",
52
44
  "jest": "^26.6.3",
53
- "prettier": "^2.3.0",
54
45
  "sass": "^1.47.0",
55
46
  "shelljs": "^0.8.4",
56
47
  "ts-jest": "^26.5.6",
57
48
  "ts-node": "^9.1.1",
58
- "typescript": "^4.2.4",
49
+ "typescript": "^4.9.5",
59
50
  "vite": "^5.0.0"
60
- },
61
- "dependencies": {
62
- "lodash-es": "^4.17.15"
63
51
  }
64
- }
52
+ }
@@ -2823,57 +2823,114 @@ li.unchecked > .ql-ui {
2823
2823
  .ql-size.ql-picker .ql-picker-options > span.ql-picker-item[data-value]::before {
2824
2824
  content: attr(data-value);
2825
2825
  }
2826
- .ql-font.ql-picker {
2826
+ .ql-formats .ql-font.ql-picker {
2827
2827
  width: 108px;
2828
2828
  }
2829
- .ql-font.ql-picker span[data-value=arial]::before {
2829
+ .ql-formats .ql-font.ql-picker span[data-value=arial]::before {
2830
2830
  content: "arial";
2831
2831
  font-family: arial, helvetica, sans-serif;
2832
2832
  }
2833
- .ql-font.ql-picker span[data-value=songti]::before {
2833
+ .ql-formats .ql-font.ql-picker span[data-value=arial].ql-picker-label::before {
2834
+ width: 60px;
2835
+ overflow: hidden;
2836
+ text-overflow: ellipsis;
2837
+ white-space: nowrap;
2838
+ }
2839
+ .ql-formats .ql-font.ql-picker span[data-value=songti]::before {
2834
2840
  content: "宋体";
2835
2841
  font-family: "宋体", "SimSun";
2836
2842
  }
2837
- .ql-font.ql-picker span[data-value=yahei]::before {
2843
+ .ql-formats .ql-font.ql-picker span[data-value=songti].ql-picker-label::before {
2844
+ width: 60px;
2845
+ overflow: hidden;
2846
+ text-overflow: ellipsis;
2847
+ white-space: nowrap;
2848
+ }
2849
+ .ql-formats .ql-font.ql-picker span[data-value=yahei]::before {
2838
2850
  content: "微软雅黑";
2839
2851
  font-family: "微软雅黑", "Microsoft YaHei";
2840
2852
  }
2841
- .ql-font.ql-picker span[data-value=kaiti]::before {
2853
+ .ql-formats .ql-font.ql-picker span[data-value=yahei].ql-picker-label::before {
2854
+ width: 60px;
2855
+ overflow: hidden;
2856
+ text-overflow: ellipsis;
2857
+ white-space: nowrap;
2858
+ }
2859
+ .ql-formats .ql-font.ql-picker span[data-value=kaiti]::before {
2842
2860
  content: "楷体";
2843
2861
  font-family: "楷体", "楷体_GB2312", "SimKai";
2844
2862
  }
2845
- .ql-font.ql-picker span[data-value=heiti]::before {
2863
+ .ql-formats .ql-font.ql-picker span[data-value=kaiti].ql-picker-label::before {
2864
+ width: 60px;
2865
+ overflow: hidden;
2866
+ text-overflow: ellipsis;
2867
+ white-space: nowrap;
2868
+ }
2869
+ .ql-formats .ql-font.ql-picker span[data-value=heiti]::before {
2846
2870
  content: "黑体";
2847
2871
  font-family: "黑体", "SimHei";
2848
2872
  }
2849
- .ql-font.ql-picker span[data-value=lishu]::before {
2873
+ .ql-formats .ql-font.ql-picker span[data-value=heiti].ql-picker-label::before {
2874
+ width: 60px;
2875
+ overflow: hidden;
2876
+ text-overflow: ellipsis;
2877
+ white-space: nowrap;
2878
+ }
2879
+ .ql-formats .ql-font.ql-picker span[data-value=lishu]::before {
2850
2880
  content: "隶书";
2851
2881
  font-family: "隶书", "SimLi";
2852
2882
  }
2853
- .ql-font.ql-picker span[data-value=mono]::before {
2883
+ .ql-formats .ql-font.ql-picker span[data-value=lishu].ql-picker-label::before {
2884
+ width: 60px;
2885
+ overflow: hidden;
2886
+ text-overflow: ellipsis;
2887
+ white-space: nowrap;
2888
+ }
2889
+ .ql-formats .ql-font.ql-picker span[data-value=mono]::before {
2854
2890
  content: "andale mono";
2855
2891
  font-family: "andale mono";
2856
2892
  }
2857
- .ql-font.ql-picker span[data-value=arialblack]::before {
2893
+ .ql-formats .ql-font.ql-picker span[data-value=mono].ql-picker-label::before {
2894
+ width: 60px;
2895
+ overflow: hidden;
2896
+ text-overflow: ellipsis;
2897
+ white-space: nowrap;
2898
+ }
2899
+ .ql-formats .ql-font.ql-picker span[data-value=arialblack]::before {
2858
2900
  content: "arial black";
2859
2901
  font-family: "arial black", "avant garde";
2860
2902
  }
2861
- .ql-font.ql-picker span[data-value=comic]::before {
2903
+ .ql-formats .ql-font.ql-picker span[data-value=arialblack].ql-picker-label::before {
2904
+ width: 60px;
2905
+ overflow: hidden;
2906
+ text-overflow: ellipsis;
2907
+ white-space: nowrap;
2908
+ }
2909
+ .ql-formats .ql-font.ql-picker span[data-value=comic]::before {
2862
2910
  content: "comic sans ms";
2863
2911
  font-family: "comic sans ms";
2864
2912
  }
2865
- .ql-font.ql-picker span[data-value=impact]::before {
2913
+ .ql-formats .ql-font.ql-picker span[data-value=comic].ql-picker-label::before {
2914
+ width: 60px;
2915
+ overflow: hidden;
2916
+ text-overflow: ellipsis;
2917
+ white-space: nowrap;
2918
+ }
2919
+ .ql-formats .ql-font.ql-picker span[data-value=impact]::before {
2866
2920
  content: "impact";
2867
2921
  font-family: "impact", "chicago";
2868
2922
  }
2869
- .ql-font.ql-picker span[data-value=times]::before {
2923
+ .ql-formats .ql-font.ql-picker span[data-value=impact].ql-picker-label::before {
2924
+ width: 60px;
2925
+ overflow: hidden;
2926
+ text-overflow: ellipsis;
2927
+ white-space: nowrap;
2928
+ }
2929
+ .ql-formats .ql-font.ql-picker span[data-value=times]::before {
2870
2930
  content: "times new roman";
2871
2931
  font-family: "times new roman";
2872
2932
  }
2873
- .ql-font.ql-picker span[data-value=mono].ql-picker-label::before,
2874
- .ql-font.ql-picker span[data-value=comic].ql-picker-label::before,
2875
- .ql-font.ql-picker span[data-value=times].ql-picker-label::before,
2876
- .ql-font.ql-picker span[data-value=arialblack].ql-picker-label::before {
2933
+ .ql-formats .ql-font.ql-picker span[data-value=times].ql-picker-label::before {
2877
2934
  width: 60px;
2878
2935
  overflow: hidden;
2879
2936
  text-overflow: ellipsis;
@@ -3440,9 +3497,16 @@ li.unchecked > .ql-ui {
3440
3497
  :fullscreen {
3441
3498
  background-color: white !important;
3442
3499
  }
3500
+ .scroll--lock {
3501
+ overflow: hidden !important;
3502
+ }
3503
+ .scroll__wrap {
3504
+ overflow: auto;
3505
+ height: 100%;
3506
+ }
3443
3507
  .ql-screenshot-wrapper {
3444
3508
  --ql-screenshot-color-bg: rgba(0, 0, 0, 0.5);
3445
- --ql-screenshot-color-confirm: #2196F3;
3509
+ --ql-screenshot-color-confirm: #2196f3;
3446
3510
  --ql-screenshot-color-cancel: #ef1749;
3447
3511
  }
3448
3512
  .ql-screenshot-wrapper .ql-screenshot-cancel,
@@ -3740,6 +3804,11 @@ li.unchecked > .ql-ui {
3740
3804
  .ql-toolbar.toolbar-bottom {
3741
3805
  border-top: 0;
3742
3806
  }
3807
+ .ql-toolbar.ql-snow button {
3808
+ display: inline-flex;
3809
+ align-items: center;
3810
+ justify-content: center;
3811
+ }
3743
3812
  .ql-toolbar.ql-snow .ql-active,
3744
3813
  .ql-toolbar.ql-snow .ql-picker-label.ql-active,
3745
3814
  .ql-toolbar.ql-snow .ql-picker-label:hover,
@@ -1 +0,0 @@
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":";;;;AAmCA,MAAM,YAAY,aAAa,QAAQ,MAAM,KAAK;AACrC,MAAA,YAAY,cAAc,UAAU,QAAQ;AAElD,MAAM,eAAuC;AAAA,EAClD,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EAET,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,aAAa;AAAA,EACb,UAAU;AAAA,EAEV,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,SAAS;AAAA,MACL,UAAU;AAAA,MACV,kBAAkB;AAAA;AAAA;AAAA,EAGtB,cAAc;AAAA,MACV,qBAAqB;AAAA,MACrB,kBAAkB;AAAA;AAAA;AAAA,EAItB,SAAS;AAAA,IACP,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,SAAS;AAAA,EACX;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,OAAO;AAAA,EACT;AAAA,EAEA,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,cAAc;AAAA,EAEd,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,cAAc;AAAA,EACd,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,kBAAkB;AACpB;AAEO,MAAM,0BAA0B;AAAA,EACrC,WAAW;AAAA,IACT,MAAM,UAAU,YAAY;AAAA,EAC9B;AAAA,EACA,WAAW;AAAA,IACT,MAAM,UAAU,YAAY;AAAA,EAC9B;AAAA,EACA,UAAU;AAAA,IACR,MAAM,UAAU,WAAW;AAAA,EAC7B;AAAA,EACA,YAAY;AAAA,IACV,MAAM,UAAU,aAAa;AAAA,EAC/B;AAAA,EACA,aAAa;AAAA,IACX,MAAM,UAAU,eAAe;AAAA,EACjC;AAAA,EACA,eAAe;AAAA,IACb,MAAM,UAAU,iBAAiB;AAAA,EACnC;AAAA,EACA,kBAAkB;AAAA,IAChB,MAAM,UAAU,oBAAoB;AAAA,EACtC;AAAA,EACA,mBAAmB;AAAA,IACjB,MAAM,UAAU,qBAAqB;AAAA,EACvC;AAAA,EACA,YAAY;AAAA,IACV,MAAM,UAAU,aAAa;AAAA,EAC/B;AAAA,EACA,cAAc;AAAA,IACZ,MAAM,UAAU,eAAe;AAAA,EACjC;AAAA,EACA,WAAW;AAAA,IACT,MAAM,UAAU,YAAY;AAAA,EAC9B;AAAA,EACA,cAAc;AAAA,IACZ,MAAM,UAAU,eAAe;AAAA,EACjC;AAAA,EACA,aAAa;AAAA,IACX,MAAM,UAAU,cAAc;AAAA,EAChC;AACF;AAGgB,SAAA,UAAU,MAAM,QAAQ;AAChC,QAAA,mBAAmB,KAAK,MAAM,SAAS,QAAQ,IAAI,EAAE,KAAK,IAAI;AACpE,QAAM,YAAY,UAAU;AAC5B,MAAI,YAAY,KAAK,UAAU,cAAc,YAAY,IAAI,aAAa;AACtE,MAAA,kBAAkB,SAAS,GAAG;AACpB,gBAAA,SAAS,cAAc,OAAO;AAC1C,cAAU,UAAU,IAAI,MAAM,IAAI,EAAE;AAC1B,cAAA,aAAa,QAAQ,MAAM;AAC3B,cAAA,aAAa,UAAU,SAAS;AAExC,QAAA,KAAK,MAAM,SAAS,QAAQ,sBAAsB,QAC9C,KAAK,MAAM,SAAS,QAAQ,kBAAkB,QAAQ,SAAS,UAC/D,KAAK,MAAM,SAAS,QAAQ,kBAAkB,SAAS,SAAS,SACpE;AACU,gBAAA,aAAa,YAAY,EAAE;AAAA,IACvC;AACU,cAAA,iBAAiB,UAAU,MAAM;AACzC,YAAM,QAAQ,KAAK,MAAM,aAAa,IAAI;AAC1C,WAAK,MAAM,SAAS,OAAO,OAAO,UAAU,OAAO,SAAS,MAAM;AAClE,gBAAU,QAAQ;AAAA,IAAA,CACnB;AACI,SAAA,UAAU,YAAY,SAAS;AAAA,EACtC;AACA,YAAU,MAAM;AAClB;AAEgB,SAAA,aAAa,OAAO,cAAc;AAChD,MAAI,eAAe;AACf,MAAA,gBAAgB,iBAAiB,OAAO;AAC3B,mBAAA;AAAA,EAAA,WAER,UAAU,SAAS;AACtB,QAAA,iBAAiB,aAAa,iBAAiB,aAAa;AAC/C,qBAAA;AAAA,IAAA,OAEZ;AACY,qBAAA;AAAA,IACjB;AAAA,EACF;AACO,SAAA;AACT;"}
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=vue.d.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vue.d.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
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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"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=vue.d.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vue.d.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}