@opentiny/fluent-editor 3.25.4 → 4.0.0-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 (200) hide show
  1. package/es/attributors/font-style.es.js +1 -1
  2. package/es/attributors/font-style.es.js.map +1 -1
  3. package/es/attributors/line-height.es.js +1 -1
  4. package/es/attributors/line-height.es.js.map +1 -1
  5. package/es/config/editor.utils.es.js +0 -9
  6. package/es/config/editor.utils.es.js.map +1 -1
  7. package/es/config/i18n/en-us.es.js +33 -4
  8. package/es/config/i18n/en-us.es.js.map +1 -1
  9. package/es/config/i18n/zh-cn.es.js +33 -4
  10. package/es/config/i18n/zh-cn.es.js.map +1 -1
  11. package/es/config/index.es.js +1 -2
  12. package/es/core/fluent-editor.es.js +3 -0
  13. package/es/core/fluent-editor.es.js.map +1 -1
  14. package/es/fluent-editor.es.js +12 -9
  15. package/es/fluent-editor.es.js.map +1 -1
  16. package/es/index.es.js +5 -2
  17. package/es/index.es.js.map +1 -1
  18. package/es/modules/custom-clipboard.es.js +1 -57
  19. package/es/modules/custom-clipboard.es.js.map +1 -1
  20. package/es/modules/i18n.es.js +4 -3
  21. package/es/modules/i18n.es.js.map +1 -1
  22. package/es/modules/link/index.es.js +0 -17
  23. package/es/modules/link/index.es.js.map +1 -1
  24. package/es/modules/shortcut-key/index.es.js +213 -0
  25. package/es/modules/shortcut-key/index.es.js.map +1 -0
  26. package/es/modules/table-up/index.es.js +61 -0
  27. package/es/modules/table-up/index.es.js.map +1 -0
  28. package/es/modules/toolbar/better-picker.es.js +21 -269
  29. package/es/modules/toolbar/better-picker.es.js.map +1 -1
  30. package/es/modules/toolbar/index.es.js +0 -1
  31. package/es/modules/toolbar/index.es.js.map +1 -1
  32. package/es/modules/toolbar/toolbar-tip.es.js +38 -8
  33. package/es/modules/toolbar/toolbar-tip.es.js.map +1 -1
  34. package/es/themes/snow.es.js +185 -46
  35. package/es/themes/snow.es.js.map +1 -1
  36. package/es/ui/icons.config.es.js +6 -5
  37. package/es/ui/icons.config.es.js.map +1 -1
  38. package/es/ui/icons.es.js +3 -12
  39. package/es/ui/icons.es.js.map +1 -1
  40. package/lib/attributors/font-style.cjs.js +1 -1
  41. package/lib/attributors/font-style.cjs.js.map +1 -1
  42. package/lib/attributors/line-height.cjs.js +1 -1
  43. package/lib/attributors/line-height.cjs.js.map +1 -1
  44. package/lib/config/editor.utils.cjs.js +0 -9
  45. package/lib/config/editor.utils.cjs.js.map +1 -1
  46. package/lib/config/i18n/en-us.cjs.js +33 -4
  47. package/lib/config/i18n/en-us.cjs.js.map +1 -1
  48. package/lib/config/i18n/zh-cn.cjs.js +33 -4
  49. package/lib/config/i18n/zh-cn.cjs.js.map +1 -1
  50. package/lib/config/index.cjs.js +0 -1
  51. package/lib/config/index.cjs.js.map +1 -1
  52. package/lib/core/fluent-editor.cjs.js +3 -0
  53. package/lib/core/fluent-editor.cjs.js.map +1 -1
  54. package/lib/fluent-editor.cjs.js +12 -9
  55. package/lib/fluent-editor.cjs.js.map +1 -1
  56. package/lib/index.cjs.js +7 -1
  57. package/lib/index.cjs.js.map +1 -1
  58. package/lib/modules/custom-clipboard.cjs.js +0 -56
  59. package/lib/modules/custom-clipboard.cjs.js.map +1 -1
  60. package/lib/modules/i18n.cjs.js +4 -3
  61. package/lib/modules/i18n.cjs.js.map +1 -1
  62. package/lib/modules/link/index.cjs.js +0 -17
  63. package/lib/modules/link/index.cjs.js.map +1 -1
  64. package/lib/modules/shortcut-key/index.cjs.js +213 -0
  65. package/lib/modules/shortcut-key/index.cjs.js.map +1 -0
  66. package/lib/modules/table-up/index.cjs.js +61 -0
  67. package/lib/modules/table-up/index.cjs.js.map +1 -0
  68. package/lib/modules/toolbar/better-picker.cjs.js +21 -270
  69. package/lib/modules/toolbar/better-picker.cjs.js.map +1 -1
  70. package/lib/modules/toolbar/index.cjs.js +0 -1
  71. package/lib/modules/toolbar/index.cjs.js.map +1 -1
  72. package/lib/modules/toolbar/toolbar-tip.cjs.js +38 -8
  73. package/lib/modules/toolbar/toolbar-tip.cjs.js.map +1 -1
  74. package/lib/themes/snow.cjs.js +187 -48
  75. package/lib/themes/snow.cjs.js.map +1 -1
  76. package/lib/ui/icons.cjs.js +2 -11
  77. package/lib/ui/icons.cjs.js.map +1 -1
  78. package/lib/ui/icons.config.cjs.js +6 -5
  79. package/lib/ui/icons.config.cjs.js.map +1 -1
  80. package/package.json +4 -2
  81. package/style.css +315 -2135
  82. package/types/attributors/font-style.d.ts +1 -1
  83. package/types/config/editor.config.d.ts +62 -6
  84. package/types/config/editor.utils.d.ts +0 -1
  85. package/types/config/i18n/en-us.d.ts +31 -3
  86. package/types/config/i18n/zh-cn.d.ts +31 -3
  87. package/types/config/types/toolbar-item.interface.d.ts +11 -11
  88. package/types/core/fluent-editor.d.ts +1 -0
  89. package/types/index.d.ts +2 -0
  90. package/types/modules/i18n.d.ts +1 -1
  91. package/types/modules/shortcut-key/index.d.ts +97 -0
  92. package/types/modules/table-up/index.d.ts +66 -0
  93. package/types/modules/toolbar/better-picker.d.ts +15 -0
  94. package/types/themes/snow.d.ts +10 -2
  95. package/types/ui/icons.config.d.ts +2 -2
  96. package/es/modules/global-link/constants.es.js +0 -9
  97. package/es/modules/global-link/constants.es.js.map +0 -1
  98. package/es/modules/global-link/formats/customer-widget-link.es.js +0 -28
  99. package/es/modules/global-link/formats/customer-widget-link.es.js.map +0 -1
  100. package/es/modules/global-link/formats/doc-link.es.js +0 -42
  101. package/es/modules/global-link/formats/doc-link.es.js.map +0 -1
  102. package/es/modules/global-link/formats/wiki-link.es.js +0 -34
  103. package/es/modules/global-link/formats/wiki-link.es.js.map +0 -1
  104. package/es/modules/global-link/formats/work-item-link.es.js +0 -36
  105. package/es/modules/global-link/formats/work-item-link.es.js.map +0 -1
  106. package/es/modules/global-link/global-link-panel.es.js +0 -2
  107. package/es/modules/global-link/global-link-panel.es.js.map +0 -1
  108. package/es/modules/global-link/index.es.js +0 -139
  109. package/es/modules/global-link/index.es.js.map +0 -1
  110. package/es/modules/global-link/utils/createTable.es.js +0 -50
  111. package/es/modules/global-link/utils/createTable.es.js.map +0 -1
  112. package/es/modules/quick-menu.es.js +0 -82
  113. package/es/modules/quick-menu.es.js.map +0 -1
  114. package/es/modules/table/better-table.es.js +0 -485
  115. package/es/modules/table/better-table.es.js.map +0 -1
  116. package/es/modules/table/formats/header.es.js +0 -94
  117. package/es/modules/table/formats/header.es.js.map +0 -1
  118. package/es/modules/table/formats/list.es.js +0 -163
  119. package/es/modules/table/formats/list.es.js.map +0 -1
  120. package/es/modules/table/formats/table.es.js +0 -969
  121. package/es/modules/table/formats/table.es.js.map +0 -1
  122. package/es/modules/table/modules/table-column-tool.es.js +0 -400
  123. package/es/modules/table/modules/table-column-tool.es.js.map +0 -1
  124. package/es/modules/table/modules/table-operation-menu.es.js +0 -475
  125. package/es/modules/table/modules/table-operation-menu.es.js.map +0 -1
  126. package/es/modules/table/modules/table-scroll-bar.es.js +0 -190
  127. package/es/modules/table/modules/table-scroll-bar.es.js.map +0 -1
  128. package/es/modules/table/modules/table-selection.es.js +0 -305
  129. package/es/modules/table/modules/table-selection.es.js.map +0 -1
  130. package/es/modules/table/modules/table-selector.es.js +0 -158
  131. package/es/modules/table/modules/table-selector.es.js.map +0 -1
  132. package/es/modules/table/table-config.es.js +0 -74
  133. package/es/modules/table/table-config.es.js.map +0 -1
  134. package/es/modules/table/utils/index.es.js +0 -54
  135. package/es/modules/table/utils/index.es.js.map +0 -1
  136. package/es/modules/table/utils/node-matchers.es.js +0 -292
  137. package/es/modules/table/utils/node-matchers.es.js.map +0 -1
  138. package/lib/modules/global-link/constants.cjs.js +0 -9
  139. package/lib/modules/global-link/constants.cjs.js.map +0 -1
  140. package/lib/modules/global-link/formats/customer-widget-link.cjs.js +0 -28
  141. package/lib/modules/global-link/formats/customer-widget-link.cjs.js.map +0 -1
  142. package/lib/modules/global-link/formats/doc-link.cjs.js +0 -42
  143. package/lib/modules/global-link/formats/doc-link.cjs.js.map +0 -1
  144. package/lib/modules/global-link/formats/wiki-link.cjs.js +0 -34
  145. package/lib/modules/global-link/formats/wiki-link.cjs.js.map +0 -1
  146. package/lib/modules/global-link/formats/work-item-link.cjs.js +0 -36
  147. package/lib/modules/global-link/formats/work-item-link.cjs.js.map +0 -1
  148. package/lib/modules/global-link/global-link-panel.cjs.js +0 -2
  149. package/lib/modules/global-link/global-link-panel.cjs.js.map +0 -1
  150. package/lib/modules/global-link/index.cjs.js +0 -139
  151. package/lib/modules/global-link/index.cjs.js.map +0 -1
  152. package/lib/modules/global-link/utils/createTable.cjs.js +0 -50
  153. package/lib/modules/global-link/utils/createTable.cjs.js.map +0 -1
  154. package/lib/modules/quick-menu.cjs.js +0 -82
  155. package/lib/modules/quick-menu.cjs.js.map +0 -1
  156. package/lib/modules/table/better-table.cjs.js +0 -485
  157. package/lib/modules/table/better-table.cjs.js.map +0 -1
  158. package/lib/modules/table/formats/header.cjs.js +0 -94
  159. package/lib/modules/table/formats/header.cjs.js.map +0 -1
  160. package/lib/modules/table/formats/list.cjs.js +0 -163
  161. package/lib/modules/table/formats/list.cjs.js.map +0 -1
  162. package/lib/modules/table/formats/table.cjs.js +0 -969
  163. package/lib/modules/table/formats/table.cjs.js.map +0 -1
  164. package/lib/modules/table/modules/table-column-tool.cjs.js +0 -400
  165. package/lib/modules/table/modules/table-column-tool.cjs.js.map +0 -1
  166. package/lib/modules/table/modules/table-operation-menu.cjs.js +0 -475
  167. package/lib/modules/table/modules/table-operation-menu.cjs.js.map +0 -1
  168. package/lib/modules/table/modules/table-scroll-bar.cjs.js +0 -190
  169. package/lib/modules/table/modules/table-scroll-bar.cjs.js.map +0 -1
  170. package/lib/modules/table/modules/table-selection.cjs.js +0 -305
  171. package/lib/modules/table/modules/table-selection.cjs.js.map +0 -1
  172. package/lib/modules/table/modules/table-selector.cjs.js +0 -158
  173. package/lib/modules/table/modules/table-selector.cjs.js.map +0 -1
  174. package/lib/modules/table/table-config.cjs.js +0 -74
  175. package/lib/modules/table/table-config.cjs.js.map +0 -1
  176. package/lib/modules/table/utils/index.cjs.js +0 -54
  177. package/lib/modules/table/utils/index.cjs.js.map +0 -1
  178. package/lib/modules/table/utils/node-matchers.cjs.js +0 -292
  179. package/lib/modules/table/utils/node-matchers.cjs.js.map +0 -1
  180. package/types/modules/global-link/constants.d.ts +0 -3
  181. package/types/modules/global-link/formats/customer-widget-link.d.ts +0 -14
  182. package/types/modules/global-link/formats/doc-link.d.ts +0 -17
  183. package/types/modules/global-link/formats/wiki-link.d.ts +0 -16
  184. package/types/modules/global-link/formats/work-item-link.d.ts +0 -16
  185. package/types/modules/global-link/global-link-panel.d.ts +0 -19
  186. package/types/modules/global-link/index.d.ts +0 -18
  187. package/types/modules/global-link/utils/createTable.d.ts +0 -1
  188. package/types/modules/quick-menu.d.ts +0 -22
  189. package/types/modules/table/better-table.d.ts +0 -35
  190. package/types/modules/table/formats/header.d.ts +0 -23
  191. package/types/modules/table/formats/list.d.ts +0 -34
  192. package/types/modules/table/formats/table.d.ts +0 -147
  193. package/types/modules/table/modules/table-column-tool.d.ts +0 -23
  194. package/types/modules/table/modules/table-operation-menu.d.ts +0 -38
  195. package/types/modules/table/modules/table-scroll-bar.d.ts +0 -33
  196. package/types/modules/table/modules/table-selection.d.ts +0 -37
  197. package/types/modules/table/modules/table-selector.d.ts +0 -22
  198. package/types/modules/table/table-config.d.ts +0 -38
  199. package/types/modules/table/utils/index.d.ts +0 -17
  200. package/types/modules/table/utils/node-matchers.d.ts +0 -9
@@ -1,6 +1,6 @@
1
1
  import Quill from "quill";
2
2
  const Parchment = Quill.import("parchment");
3
- const FontStyle = new Parchment.ClassAttributor("font", "ql-font", {
3
+ const FontStyle = new Parchment.StyleAttributor("font", "font-family", {
4
4
  scope: Parchment.Scope.INLINE
5
5
  });
6
6
  export {
@@ -1 +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.ClassAttributor('font', 'ql-font', {\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,WAAW;AAAA,EACxE,OAAO,UAAU,MAAM;AACzB,CAAC;"}
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;"}
@@ -1,7 +1,7 @@
1
1
  import Quill from "quill";
2
2
  const Parchment = Quill.import("parchment");
3
3
  const LineHeightStyle = new Parchment.StyleAttributor("line-height", "line-height", {
4
- scope: Parchment.Scope.INLINE
4
+ scope: Parchment.Scope.BLOCK
5
5
  });
6
6
  export {
7
7
  LineHeightStyle
@@ -1 +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;"}
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.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;"}
@@ -39,14 +39,6 @@ function imageUrlToFile(imageUrl, isErrorImage) {
39
39
  }).catch(reject);
40
40
  });
41
41
  }
42
- function insideTable(range = null, quill = this.quill) {
43
- let currentRange = range;
44
- if (!currentRange) {
45
- currentRange = quill.getSelection();
46
- }
47
- const [line] = quill.getLine(currentRange.index);
48
- return line && !!line.domNode.closest("table.quill-better-table");
49
- }
50
42
  function isNullOrUndefined(param) {
51
43
  return param === null || param === void 0;
52
44
  }
@@ -136,7 +128,6 @@ export {
136
128
  hexToRgbA,
137
129
  imageFileToUrl,
138
130
  imageUrlToFile,
139
- insideTable,
140
131
  isInside,
141
132
  isNullOrUndefined,
142
133
  isPureIE,
@@ -1 +1 @@
1
- {"version":3,"file":"editor.utils.es.js","sources":["../../../src/config/editor.utils.ts"],"sourcesContent":["import Quill from 'quill'\r\n\r\nconst Delta = Quill.import('delta')\r\n\r\n// color hex to rgba\r\nexport function hexToRgbA(hex: string) {\r\n let color\r\n if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {\r\n color = hex.substring(1).split('')\r\n if (color.length === 3) {\r\n color = [color[0], color[0], color[1], color[1], color[2], color[2]]\r\n }\r\n color = `0x${color.join('')}`\r\n return (\r\n `rgba(${\r\n [(color >> 16) & 255, (color >> 8) & 255, color & 255].join(',')\r\n },1)`\r\n )\r\n }\r\n}\r\n\r\n/**\r\n * 将File格式的图片转换成Url格式\r\n * @param imageFile File格式的图片\r\n */\r\nexport function imageFileToUrl(imageFile) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader()\r\n reader.readAsDataURL(imageFile)\r\n reader.onload = function (e) {\r\n resolve(e.target.result)\r\n }\r\n reader.onerror = reject\r\n }).catch((error) => {\r\n console.error('Error reading file:', error)\r\n })\r\n}\r\n\r\n/**\r\n * 将Url格式的图片转换成File格式\r\n * @param imageUrl 图片的URL\r\n */\r\nexport function imageUrlToFile(imageUrl, isErrorImage?: boolean) {\r\n return new Promise((resolve, reject) => {\r\n fetch(imageUrl, {\r\n method: 'get',\r\n mode: 'no-cors',\r\n })\r\n .then(res => res.blob())\r\n .then((blob) => {\r\n if (!blob.type.includes('image') || !blob.type) {\r\n return reject()\r\n }\r\n const fileType = blob.type.replace(/^.*\\//, '')\r\n const fileName = isErrorImage\r\n ? 'editorx-error-image.png'\r\n : `image-${new Date().getTime()}.${fileType}`\r\n const file = new File([blob], fileName, blob)\r\n resolve(file)\r\n })\r\n .catch(reject)\r\n })\r\n}\r\n\r\nexport function insideTable(range = null, quill = this.quill) {\r\n let currentRange = range\r\n if (!currentRange) {\r\n currentRange = quill.getSelection()\r\n }\r\n // fix: 原有formats方法无法判断表格内的list和head附近粘贴\r\n const [line] = quill.getLine(currentRange.index)\r\n return line && !!line.domNode.closest('table.quill-better-table')\r\n}\r\n\r\nexport function isNullOrUndefined(param) {\r\n return param === null || param === undefined\r\n}\r\n\r\n/**\r\n * omit\r\n * @param obj target Object\r\n * @param uselessKeys keys of removed properties\r\n * @return new Object without useless properties\r\n */\r\nexport function omit(obj, uselessKeys) {\r\n return (\r\n obj\r\n && Object.keys(obj).reduce((acc, key) => {\r\n return uselessKeys.includes(key) ? acc : { ...acc, [key]: obj[key] }\r\n }, {})\r\n )\r\n}\r\n\r\n/**\r\n * 将delta中的图片替换成制定的图片数组,用于图片上传到服务器的场景\r\n * @param delta 原始delta\r\n * @param imageUrls 图片数组\r\n * @param imagePlaceholder 标识是否是占位图的数组,与图片数组一一对应\r\n * @return 替换之后的delta\r\n */\r\nexport function replaceDeltaImage(delta, imageUrls, imagePlaceholder) {\r\n let imageIndex = 0\r\n return delta.reduce((newDelta, op) => {\r\n if (op.insert.image && !op.insert.image.hasExisted) {\r\n const attributes = imagePlaceholder[imageIndex]\r\n ? { ...op.attributes, width: 'auto', height: 225 } // 占位图片应该固定大小\r\n : op.attributes\r\n newDelta.insert({ image: imageUrls[imageIndex] }, attributes)\r\n imageIndex++\r\n }\r\n else {\r\n newDelta.insert(op.insert, op.attributes)\r\n }\r\n return newDelta\r\n }, new Delta())\r\n}\r\n\r\nexport function splitWithBreak(insertContent: string) {\r\n const lines = []\r\n const insertStr = insertContent\r\n let start = 0\r\n for (let i = 0; i < insertContent.length; i++) {\r\n if (insertStr.charAt(i) === '\\n') {\r\n if (i === 0) {\r\n lines.push('\\n')\r\n }\r\n else {\r\n lines.push(insertStr.substring(start, i))\r\n lines.push('\\n')\r\n }\r\n start = i + 1\r\n }\r\n }\r\n\r\n const tailStr = insertStr.substring(start)\r\n if (tailStr) {\r\n lines.push(tailStr)\r\n }\r\n\r\n return lines\r\n}\r\n\r\n/**\r\n * getEventComposedPath\r\n * compatibility fixed for Event.path/Event.composedPath\r\n * Event.path is only for chrome/opera\r\n * Event.composedPath is for Safari, FF\r\n * Neither for Micro Edge\r\n * @return an array of event.path\r\n */\r\nexport function getEventComposedPath(evt) {\r\n let path\r\n // chrome, opera, safari, firefox\r\n path = evt.path || (evt.composedPath && evt.composedPath())\r\n\r\n // other: edge\r\n if (path === undefined && evt.target) {\r\n path = []\r\n let target = evt.target\r\n path.push(target)\r\n\r\n while (target && target.parentNode) {\r\n target = target.parentNode\r\n path.push(target)\r\n }\r\n }\r\n\r\n return path\r\n}\r\n\r\nexport function sanitize(url, protocols) {\r\n const anchor = document.createElement('a')\r\n anchor.href = url\r\n const protocol = anchor.href.slice(0, anchor.href.indexOf(':'))\r\n return protocols.includes(protocol)\r\n}\r\n\r\nexport function hadProtocol(url: string) {\r\n if (!url || !/^(?:f|ht)tps?\\:\\/\\//.test(url)) {\r\n return false\r\n }\r\n return true\r\n}\r\n\r\nexport function isInside(position, dom) {\r\n const areaPosition = dom.getBoundingClientRect()\r\n const { pageX, pageY } = position\r\n // getBoundingClientRect是不考虑窗口滚动的\r\n const left = pageX - window.scrollX\r\n const top = pageY - window.scrollY\r\n const {\r\n left: areaLeft,\r\n top: areaTop,\r\n width: areaWidth,\r\n height: areaHeight,\r\n } = areaPosition\r\n const inside\r\n = left > areaLeft\r\n && left < areaLeft + areaWidth\r\n && top > areaTop\r\n && top < areaTop + areaHeight\r\n return inside\r\n}\r\n\r\n// Internet Explorer 6-11\r\nexport const isPureIE = !!document.documentMode\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.utils.es.js","sources":["../../../src/config/editor.utils.ts"],"sourcesContent":["import Quill from 'quill'\r\n\r\nconst Delta = Quill.import('delta')\r\n\r\n// color hex to rgba\r\nexport function hexToRgbA(hex: string) {\r\n let color\r\n if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {\r\n color = hex.substring(1).split('')\r\n if (color.length === 3) {\r\n color = [color[0], color[0], color[1], color[1], color[2], color[2]]\r\n }\r\n color = `0x${color.join('')}`\r\n return (\r\n `rgba(${\r\n [(color >> 16) & 255, (color >> 8) & 255, color & 255].join(',')\r\n },1)`\r\n )\r\n }\r\n}\r\n\r\n/**\r\n * 将File格式的图片转换成Url格式\r\n * @param imageFile File格式的图片\r\n */\r\nexport function imageFileToUrl(imageFile) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader()\r\n reader.readAsDataURL(imageFile)\r\n reader.onload = function (e) {\r\n resolve(e.target.result)\r\n }\r\n reader.onerror = reject\r\n }).catch((error) => {\r\n console.error('Error reading file:', error)\r\n })\r\n}\r\n\r\n/**\r\n * 将Url格式的图片转换成File格式\r\n * @param imageUrl 图片的URL\r\n */\r\nexport function imageUrlToFile(imageUrl, isErrorImage?: boolean) {\r\n return new Promise((resolve, reject) => {\r\n fetch(imageUrl, {\r\n method: 'get',\r\n mode: 'no-cors',\r\n })\r\n .then(res => res.blob())\r\n .then((blob) => {\r\n if (!blob.type.includes('image') || !blob.type) {\r\n return reject()\r\n }\r\n const fileType = blob.type.replace(/^.*\\//, '')\r\n const fileName = isErrorImage\r\n ? 'editorx-error-image.png'\r\n : `image-${new Date().getTime()}.${fileType}`\r\n const file = new File([blob], fileName, blob)\r\n resolve(file)\r\n })\r\n .catch(reject)\r\n })\r\n}\r\n\r\nexport function isNullOrUndefined(param) {\r\n return param === null || param === undefined\r\n}\r\n\r\n/**\r\n * omit\r\n * @param obj target Object\r\n * @param uselessKeys keys of removed properties\r\n * @return new Object without useless properties\r\n */\r\nexport function omit(obj, uselessKeys) {\r\n return (\r\n obj\r\n && Object.keys(obj).reduce((acc, key) => {\r\n return uselessKeys.includes(key) ? acc : { ...acc, [key]: obj[key] }\r\n }, {})\r\n )\r\n}\r\n\r\n/**\r\n * 将delta中的图片替换成制定的图片数组,用于图片上传到服务器的场景\r\n * @param delta 原始delta\r\n * @param imageUrls 图片数组\r\n * @param imagePlaceholder 标识是否是占位图的数组,与图片数组一一对应\r\n * @return 替换之后的delta\r\n */\r\nexport function replaceDeltaImage(delta, imageUrls, imagePlaceholder) {\r\n let imageIndex = 0\r\n return delta.reduce((newDelta, op) => {\r\n if (op.insert.image && !op.insert.image.hasExisted) {\r\n const attributes = imagePlaceholder[imageIndex]\r\n ? { ...op.attributes, width: 'auto', height: 225 } // 占位图片应该固定大小\r\n : op.attributes\r\n newDelta.insert({ image: imageUrls[imageIndex] }, attributes)\r\n imageIndex++\r\n }\r\n else {\r\n newDelta.insert(op.insert, op.attributes)\r\n }\r\n return newDelta\r\n }, new Delta())\r\n}\r\n\r\nexport function splitWithBreak(insertContent: string) {\r\n const lines = []\r\n const insertStr = insertContent\r\n let start = 0\r\n for (let i = 0; i < insertContent.length; i++) {\r\n if (insertStr.charAt(i) === '\\n') {\r\n if (i === 0) {\r\n lines.push('\\n')\r\n }\r\n else {\r\n lines.push(insertStr.substring(start, i))\r\n lines.push('\\n')\r\n }\r\n start = i + 1\r\n }\r\n }\r\n\r\n const tailStr = insertStr.substring(start)\r\n if (tailStr) {\r\n lines.push(tailStr)\r\n }\r\n\r\n return lines\r\n}\r\n\r\n/**\r\n * getEventComposedPath\r\n * compatibility fixed for Event.path/Event.composedPath\r\n * Event.path is only for chrome/opera\r\n * Event.composedPath is for Safari, FF\r\n * Neither for Micro Edge\r\n * @return an array of event.path\r\n */\r\nexport function getEventComposedPath(evt) {\r\n let path\r\n // chrome, opera, safari, firefox\r\n path = evt.path || (evt.composedPath && evt.composedPath())\r\n\r\n // other: edge\r\n if (path === undefined && evt.target) {\r\n path = []\r\n let target = evt.target\r\n path.push(target)\r\n\r\n while (target && target.parentNode) {\r\n target = target.parentNode\r\n path.push(target)\r\n }\r\n }\r\n\r\n return path\r\n}\r\n\r\nexport function sanitize(url, protocols) {\r\n const anchor = document.createElement('a')\r\n anchor.href = url\r\n const protocol = anchor.href.slice(0, anchor.href.indexOf(':'))\r\n return protocols.includes(protocol)\r\n}\r\n\r\nexport function hadProtocol(url: string) {\r\n if (!url || !/^(?:f|ht)tps?\\:\\/\\//.test(url)) {\r\n return false\r\n }\r\n return true\r\n}\r\n\r\nexport function isInside(position, dom) {\r\n const areaPosition = dom.getBoundingClientRect()\r\n const { pageX, pageY } = position\r\n // getBoundingClientRect是不考虑窗口滚动的\r\n const left = pageX - window.scrollX\r\n const top = pageY - window.scrollY\r\n const {\r\n left: areaLeft,\r\n top: areaTop,\r\n width: areaWidth,\r\n height: areaHeight,\r\n } = areaPosition\r\n const inside\r\n = left > areaLeft\r\n && left < areaLeft + areaWidth\r\n && top > areaTop\r\n && top < areaTop + areaHeight\r\n return inside\r\n}\r\n\r\n// Internet Explorer 6-11\r\nexport const isPureIE = !!document.documentMode\r\n"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ const EN_US = {
7
7
  "h4": "Heading 4",
8
8
  "h5": "Heading 5",
9
9
  "h6": "Heading 6",
10
- "lineheight": "Line Height",
10
+ "line-height": "Line Height",
11
11
  "songti": "SimSun",
12
12
  "yahei": "Microsoft Yahei",
13
13
  "kaiti": "KaiTi",
@@ -72,10 +72,10 @@ const EN_US = {
72
72
  "strike": "Strikethrough",
73
73
  "image": "Image",
74
74
  "file": "File",
75
- "table": "Table",
76
75
  "link": "Hyperlink",
77
76
  "code": "Inline Code",
78
- "better-table": "Table",
77
+ "table": "Table",
78
+ "table-up": "Table",
79
79
  "code-block": "Code Block",
80
80
  "formula": "Formula",
81
81
  "format-painter": "Format Painter",
@@ -85,6 +85,7 @@ const EN_US = {
85
85
  "background": "Background Color",
86
86
  "font": "Font",
87
87
  "size": "Size",
88
+ "list": "List",
88
89
  "list-ordered": "Ordered List",
89
90
  "list-bullet": "Unordered List",
90
91
  "list-check": "Task List",
@@ -105,7 +106,35 @@ const EN_US = {
105
106
  "header-4": "Heading 4",
106
107
  "header-5": "Heading 5",
107
108
  "header-6": "Heading 6",
108
- "header-list": "Heading List"
109
+ "header-list": "Heading List",
110
+ "input-recall-menu-placeholder": "Input / recall menu",
111
+ "clear-color": "Clear color",
112
+ "custom-color": "Color picker",
113
+ // table-up texts
114
+ "fullCheckboxText": "Insert full width table",
115
+ "customBtnText": "Custom",
116
+ "confirmText": "Confirm",
117
+ "cancelText": "Cancel",
118
+ "rowText": "Row",
119
+ "colText": "Column",
120
+ "notPositiveNumberError": "Please enter a positive integer",
121
+ "custom": "Custom",
122
+ "clear": "Clear",
123
+ "transparent": "Transparent",
124
+ "perWidthInsufficient": "The percentage width is insufficient. To complete the operation, the table needs to be converted to a fixed width. Do you want to continue?",
125
+ "CopyCell": "Copy cell",
126
+ "CutCell": "Cut cell",
127
+ "InsertTop": "Insert row above",
128
+ "InsertRight": "Insert column right",
129
+ "InsertBottom": "Insert row below",
130
+ "InsertLeft": "Insert column Left",
131
+ "MergeCell": "Merge Cell",
132
+ "SplitCell": "Split Cell",
133
+ "DeleteRow": "Delete Row",
134
+ "DeleteColumn": "Delete Column",
135
+ "DeleteTable": "Delete table",
136
+ "BackgroundColor": "Set background color",
137
+ "BorderColor": "Set border color"
109
138
  };
110
139
  export {
111
140
  EN_US
@@ -1 +1 @@
1
- {"version":3,"file":"en-us.es.js","sources":["../../../../src/config/i18n/en-us.ts"],"sourcesContent":["export const EN_US = {\r\n\r\n 'header': 'Paragraph Formatting',\r\n 'normal': 'Normal',\r\n 'h1': 'Heading 1',\r\n 'h2': 'Heading 2',\r\n 'h3': 'Heading 3',\r\n 'h4': 'Heading 4',\r\n 'h5': 'Heading 5',\r\n 'h6': 'Heading 6',\r\n\r\n 'lineheight': 'Line Height',\r\n 'songti': 'SimSun',\r\n 'yahei': 'Microsoft Yahei',\r\n 'kaiti': 'KaiTi',\r\n 'heiti': 'SimHei',\r\n 'lishu': 'LiSu',\r\n\r\n 'left': 'Left',\r\n 'center': 'Centered',\r\n 'right': 'Right',\r\n\r\n 'codeblock': 'Code Block',\r\n 'globallink': 'Link',\r\n\r\n 'exit-fullscreen': 'Exit Full Screen',\r\n 'help': 'Help',\r\n 'more': 'More',\r\n\r\n 'help-format': 'Format',\r\n 'help-insert': 'Insert',\r\n 'help-operation': 'Edit',\r\n 'mention': 'Mention People',\r\n 'quick-menu': 'Shortcut',\r\n 'toggle-help-panel': 'Open/Close Help Panel',\r\n 'scroll-table': 'Horizontal Scroll',\r\n 'mouse-wheel': 'Mouse Wheel',\r\n 'save': 'Save',\r\n\r\n 'copy-cells': 'Copy',\r\n 'copy-table': 'Copy Table',\r\n 'cut-cells': 'Cut',\r\n 'empty-cells': 'Clear Contents',\r\n\r\n 'insert-row-up': 'Insert Rows Above',\r\n 'insert-row-down': 'Insert Rows Below',\r\n 'insert-column-left': 'Insert Columns to the Left',\r\n 'insert-column-right': 'Insert Columns to the Right',\r\n\r\n 'merge-cells': 'Merge Cells',\r\n 'unmerge-cells': 'Split Cells',\r\n\r\n 'delete-row': 'Delete Entire Row',\r\n 'delete-column': 'Delete Entire Column',\r\n 'delete-table': 'Delete Table',\r\n\r\n 'default-link-text': 'Link',\r\n 'basicblock': 'Card',\r\n 'linkplaceholder': 'Enter an address and press Enter.',\r\n 'counter-template': `{{count}}/{{totalCount}} {{countUnit}}`,\r\n 'char': 'characters',\r\n 'word': 'words',\r\n 'counter-limit-tips':\r\n 'The number of {{countUnit}} exceeds the maximum allowed limit.',\r\n 'ie-msg':\r\n 'In order to have a better experience, it is recommended to use the latest version of Chrome browser.',\r\n\r\n 'loading': 'Loading...',\r\n 'pasting': 'A large amount of content to paste. Loading...',\r\n 'img-error': 'Image Copy Error',\r\n 'img-error-info':\r\n 'Failed to copy the image. Save it to your local computer and then upload it by clicking Image on the toolbar.',\r\n\r\n 'last-modified': 'Last Modified Date:',\r\n 'screenshot': 'Screenshot',\r\n 'uploading': 'Uploading...',\r\n 'sub-title-bg-color': 'Background Color',\r\n\r\n // blot tip name\r\n 'emoji': 'Emoji',\r\n 'fullscreen': 'Full Screen',\r\n 'blockquote': 'Quote',\r\n 'undo': 'Undo',\r\n 'redo': 'Redo',\r\n 'clean': 'Clear Formatting',\r\n 'bold': 'Bold',\r\n 'italic': 'Italic',\r\n 'underline': 'Underline',\r\n 'strike': 'Strikethrough',\r\n 'image': 'Image',\r\n 'file': 'File',\r\n 'table': 'Table',\r\n 'link': 'Hyperlink',\r\n 'code': 'Inline Code',\r\n 'better-table': 'Table',\r\n 'code-block': 'Code Block',\r\n 'formula': 'Formula',\r\n 'format-painter': 'Format Painter',\r\n 'divider': 'Divider',\r\n 'video': 'Video',\r\n 'color': 'Font Color',\r\n 'background': 'Background Color',\r\n 'font': 'Font',\r\n 'size': 'Size',\r\n 'list-ordered': 'Ordered List',\r\n 'list-bullet': 'Unordered List',\r\n 'list-check': 'Task List',\r\n 'align-left': 'Left aligned',\r\n 'align-center': 'Center aligned',\r\n 'align-right': 'Right aligned',\r\n 'align-justify': 'Justify aligned',\r\n 'direction-ltr': 'Text Direction Left To Right',\r\n 'direction-rtl': 'Text Direction Right To Left',\r\n 'indent--1': 'Minus Indent',\r\n 'indent-+1': 'Add Indent',\r\n 'script-super': 'Superscript',\r\n 'script-sub': 'Subscript',\r\n 'header-normal': 'Text',\r\n 'header-1': 'Heading 1',\r\n 'header-2': 'Heading 2',\r\n 'header-3': 'Heading 3',\r\n 'header-4': 'Heading 4',\r\n 'header-5': 'Heading 5',\r\n 'header-6': 'Heading 6',\r\n 'header-list': 'Heading List',\r\n}\r\n"],"names":[],"mappings":"AAAO,MAAM,QAAQ;AAAA,EAEnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EAEN,cAAc;AAAA,EACd,UAAU;AAAA,EACV,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EAET,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,SAAS;AAAA,EAET,aAAa;AAAA,EACb,cAAc;AAAA,EAEd,mBAAmB;AAAA,EACnB,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,eAAe;AAAA,EACf,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,cAAc;AAAA,EACd,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,QAAQ;AAAA,EAER,cAAc;AAAA,EACd,cAAc;AAAA,EACd,aAAa;AAAA,EACb,eAAe;AAAA,EAEf,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EAEvB,eAAe;AAAA,EACf,iBAAiB;AAAA,EAEjB,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAEhB,qBAAqB;AAAA,EACrB,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,sBACE;AAAA,EACF,UACE;AAAA,EAEF,WAAW;AAAA,EACX,WAAW;AAAA,EACX,aAAa;AAAA,EACb,kBACE;AAAA,EAEF,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,sBAAsB;AAAA;AAAA,EAGtB,SAAS;AAAA,EACT,cAAc;AAAA,EACd,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,aAAa;AAAA,EACb,UAAU;AAAA,EACV,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,EACT,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,eAAe;AACjB;"}
1
+ {"version":3,"file":"en-us.es.js","sources":["../../../../src/config/i18n/en-us.ts"],"sourcesContent":["export const EN_US = {\r\n\r\n 'header': 'Paragraph Formatting',\r\n 'normal': 'Normal',\r\n 'h1': 'Heading 1',\r\n 'h2': 'Heading 2',\r\n 'h3': 'Heading 3',\r\n 'h4': 'Heading 4',\r\n 'h5': 'Heading 5',\r\n 'h6': 'Heading 6',\r\n\r\n 'line-height': 'Line Height',\r\n 'songti': 'SimSun',\r\n 'yahei': 'Microsoft Yahei',\r\n 'kaiti': 'KaiTi',\r\n 'heiti': 'SimHei',\r\n 'lishu': 'LiSu',\r\n\r\n 'left': 'Left',\r\n 'center': 'Centered',\r\n 'right': 'Right',\r\n\r\n 'codeblock': 'Code Block',\r\n 'globallink': 'Link',\r\n\r\n 'exit-fullscreen': 'Exit Full Screen',\r\n 'help': 'Help',\r\n 'more': 'More',\r\n\r\n 'help-format': 'Format',\r\n 'help-insert': 'Insert',\r\n 'help-operation': 'Edit',\r\n 'mention': 'Mention People',\r\n 'quick-menu': 'Shortcut',\r\n 'toggle-help-panel': 'Open/Close Help Panel',\r\n 'scroll-table': 'Horizontal Scroll',\r\n 'mouse-wheel': 'Mouse Wheel',\r\n 'save': 'Save',\r\n\r\n 'copy-cells': 'Copy',\r\n 'copy-table': 'Copy Table',\r\n 'cut-cells': 'Cut',\r\n 'empty-cells': 'Clear Contents',\r\n\r\n 'insert-row-up': 'Insert Rows Above',\r\n 'insert-row-down': 'Insert Rows Below',\r\n 'insert-column-left': 'Insert Columns to the Left',\r\n 'insert-column-right': 'Insert Columns to the Right',\r\n\r\n 'merge-cells': 'Merge Cells',\r\n 'unmerge-cells': 'Split Cells',\r\n\r\n 'delete-row': 'Delete Entire Row',\r\n 'delete-column': 'Delete Entire Column',\r\n 'delete-table': 'Delete Table',\r\n\r\n 'default-link-text': 'Link',\r\n 'basicblock': 'Card',\r\n 'linkplaceholder': 'Enter an address and press Enter.',\r\n 'counter-template': `{{count}}/{{totalCount}} {{countUnit}}`,\r\n 'char': 'characters',\r\n 'word': 'words',\r\n 'counter-limit-tips':\r\n 'The number of {{countUnit}} exceeds the maximum allowed limit.',\r\n 'ie-msg':\r\n 'In order to have a better experience, it is recommended to use the latest version of Chrome browser.',\r\n\r\n 'loading': 'Loading...',\r\n 'pasting': 'A large amount of content to paste. Loading...',\r\n 'img-error': 'Image Copy Error',\r\n 'img-error-info':\r\n 'Failed to copy the image. Save it to your local computer and then upload it by clicking Image on the toolbar.',\r\n\r\n 'last-modified': 'Last Modified Date:',\r\n 'screenshot': 'Screenshot',\r\n 'uploading': 'Uploading...',\r\n 'sub-title-bg-color': 'Background Color',\r\n\r\n // blot tip name\r\n 'emoji': 'Emoji',\r\n 'fullscreen': 'Full Screen',\r\n 'blockquote': 'Quote',\r\n 'undo': 'Undo',\r\n 'redo': 'Redo',\r\n 'clean': 'Clear Formatting',\r\n 'bold': 'Bold',\r\n 'italic': 'Italic',\r\n 'underline': 'Underline',\r\n 'strike': 'Strikethrough',\r\n 'image': 'Image',\r\n 'file': 'File',\r\n 'link': 'Hyperlink',\r\n 'code': 'Inline Code',\r\n 'table': 'Table',\r\n 'table-up': 'Table',\r\n 'code-block': 'Code Block',\r\n 'formula': 'Formula',\r\n 'format-painter': 'Format Painter',\r\n 'divider': 'Divider',\r\n 'video': 'Video',\r\n 'color': 'Font Color',\r\n 'background': 'Background Color',\r\n 'font': 'Font',\r\n 'size': 'Size',\r\n 'list': 'List',\r\n 'list-ordered': 'Ordered List',\r\n 'list-bullet': 'Unordered List',\r\n 'list-check': 'Task List',\r\n 'align-left': 'Left aligned',\r\n 'align-center': 'Center aligned',\r\n 'align-right': 'Right aligned',\r\n 'align-justify': 'Justify aligned',\r\n 'direction-ltr': 'Text Direction Left To Right',\r\n 'direction-rtl': 'Text Direction Right To Left',\r\n 'indent--1': 'Minus Indent',\r\n 'indent-+1': 'Add Indent',\r\n 'script-super': 'Superscript',\r\n 'script-sub': 'Subscript',\r\n 'header-normal': 'Text',\r\n 'header-1': 'Heading 1',\r\n 'header-2': 'Heading 2',\r\n 'header-3': 'Heading 3',\r\n 'header-4': 'Heading 4',\r\n 'header-5': 'Heading 5',\r\n 'header-6': 'Heading 6',\r\n 'header-list': 'Heading List',\r\n 'input-recall-menu-placeholder': 'Input / recall menu',\r\n 'clear-color': 'Clear color',\r\n 'custom-color': 'Color picker',\r\n // table-up texts\r\n 'fullCheckboxText': 'Insert full width table',\r\n 'customBtnText': 'Custom',\r\n 'confirmText': 'Confirm',\r\n 'cancelText': 'Cancel',\r\n 'rowText': 'Row',\r\n 'colText': 'Column',\r\n 'notPositiveNumberError': 'Please enter a positive integer',\r\n 'custom': 'Custom',\r\n 'clear': 'Clear',\r\n 'transparent': 'Transparent',\r\n 'perWidthInsufficient': 'The percentage width is insufficient. To complete the operation, the table needs to be converted to a fixed width. Do you want to continue?',\r\n 'CopyCell': 'Copy cell',\r\n 'CutCell': 'Cut cell',\r\n 'InsertTop': 'Insert row above',\r\n 'InsertRight': 'Insert column right',\r\n 'InsertBottom': 'Insert row below',\r\n 'InsertLeft': 'Insert column Left',\r\n 'MergeCell': 'Merge Cell',\r\n 'SplitCell': 'Split Cell',\r\n 'DeleteRow': 'Delete Row',\r\n 'DeleteColumn': 'Delete Column',\r\n 'DeleteTable': 'Delete table',\r\n 'BackgroundColor': 'Set background color',\r\n 'BorderColor': 'Set border color',\r\n}\r\n"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ const ZH_CN = {
7
7
  "h4": "标题4",
8
8
  "h5": "标题5",
9
9
  "h6": "标题6",
10
- "lineheight": "行距",
10
+ "line-height": "行距",
11
11
  "songti": "宋体",
12
12
  "yahei": "微软雅黑",
13
13
  "kaiti": "楷体",
@@ -72,11 +72,11 @@ const ZH_CN = {
72
72
  "strike": "删除线",
73
73
  "image": "图片",
74
74
  "file": "文件",
75
- "table": "表格",
76
75
  "link": "超链接",
77
76
  "divider": "分割线",
78
77
  "code": "行内代码",
79
- "better-table": "表格",
78
+ "table": "表格",
79
+ "table-up": "表格",
80
80
  "code-block": "代码块",
81
81
  "formula": "公式",
82
82
  "format-painter": "格式刷",
@@ -85,6 +85,7 @@ const ZH_CN = {
85
85
  "background": "背景色",
86
86
  "font": "字体",
87
87
  "size": "字号",
88
+ "list": "列表",
88
89
  "list-ordered": "有序列表",
89
90
  "list-bullet": "无序列表",
90
91
  "list-check": "任务列表",
@@ -105,7 +106,35 @@ const ZH_CN = {
105
106
  "header-4": "标题4",
106
107
  "header-5": "标题5",
107
108
  "header-6": "标题6",
108
- "header-list": "标题列表"
109
+ "header-list": "标题列表",
110
+ "input-recall-menu-placeholder": "输入 / 唤起菜单",
111
+ "clear-color": "清除颜色",
112
+ "custom-color": "选择颜色",
113
+ // table-up texts
114
+ "fullCheckboxText": "插入满宽度表格",
115
+ "customBtnText": "自定义行列数",
116
+ "confirmText": "确认",
117
+ "cancelText": "取消",
118
+ "rowText": "行数",
119
+ "colText": "列数",
120
+ "notPositiveNumberError": "请输入正整数",
121
+ "custom": "自定义",
122
+ "clear": "清除",
123
+ "transparent": "透明",
124
+ "perWidthInsufficient": "百分比宽度不足, 如需完成操作需要转换表格为固定宽度,是否继续?",
125
+ "CopyCell": "复制单元格",
126
+ "CutCell": "剪切单元格",
127
+ "InsertTop": "向上插入一行",
128
+ "InsertRight": "向右插入一列",
129
+ "InsertBottom": "向下插入一行",
130
+ "InsertLeft": "向左插入一列",
131
+ "MergeCell": "合并单元格",
132
+ "SplitCell": "拆分单元格",
133
+ "DeleteRow": "删除当前行",
134
+ "DeleteColumn": "删除当前列",
135
+ "DeleteTable": "删除当前表格",
136
+ "BackgroundColor": "设置背景颜色",
137
+ "BorderColor": "设置边框颜色"
109
138
  };
110
139
  export {
111
140
  ZH_CN
@@ -1 +1 @@
1
- {"version":3,"file":"zh-cn.es.js","sources":["../../../../src/config/i18n/zh-cn.ts"],"sourcesContent":["export const ZH_CN = {\r\n\r\n 'header': '段落格式',\r\n 'normal': '正文',\r\n 'h1': '标题1',\r\n 'h2': '标题2',\r\n 'h3': '标题3',\r\n 'h4': '标题4',\r\n 'h5': '标题5',\r\n 'h6': '标题6',\r\n\r\n 'lineheight': '行距',\r\n 'songti': '宋体',\r\n 'yahei': '微软雅黑',\r\n 'kaiti': '楷体',\r\n 'heiti': '黑体',\r\n 'lishu': '隶书',\r\n\r\n 'left': '左对齐',\r\n 'center': '居中对齐',\r\n 'right': '右对齐',\r\n\r\n 'codeblock': '代码块',\r\n 'globallink': '全局链接',\r\n\r\n 'exit-fullscreen': '退出全屏',\r\n 'help': '帮助',\r\n 'more': '更多',\r\n\r\n 'help-format': '格式',\r\n 'help-insert': '插入',\r\n 'help-operation': '操作',\r\n 'mention': '提及某人',\r\n 'quick-menu': '快捷菜单',\r\n 'toggle-help-panel': '打开/关闭帮助面板',\r\n 'scroll-table': '水平滚动表格',\r\n 'mouse-wheel': '鼠标滚轮',\r\n 'save': '保存',\r\n\r\n 'copy-cells': '复制',\r\n 'copy-table': '复制表格',\r\n 'cut-cells': '剪切',\r\n 'empty-cells': '清空内容',\r\n\r\n 'insert-row-up': '上插入行',\r\n 'insert-row-down': '下插入行',\r\n 'insert-column-left': '左插入列',\r\n 'insert-column-right': '右插入列',\r\n\r\n 'merge-cells': '合并单元格',\r\n 'unmerge-cells': '拆分单元格',\r\n\r\n 'delete-row': '删除当前行',\r\n 'delete-column': '删除当前列',\r\n 'delete-table': '删除表格',\r\n\r\n 'default-link-text': '链接',\r\n 'basicblock': '卡片',\r\n 'linkplaceholder': '请输入链接地址,按回车键确认',\r\n 'counter-template': '{{count}}/{{totalCount}}',\r\n 'char': '字符',\r\n 'word': '单词',\r\n 'counter-limit-tips': '{{countUnit}}数超出最大允许值',\r\n 'ie-msg': '为了有更好的体验,推荐使用最新版Chrome浏览器。',\r\n\r\n 'loading': '正在加载中...',\r\n 'pasting': '您粘贴的内容较多,正在努力加载中,请耐心等待...',\r\n 'img-error': '图片复制出错',\r\n 'img-error-info':\r\n '此图片不支持复制,请将原图下载至本地后点击工具栏【插入图片】,重新上传。',\r\n\r\n 'last-modified': '最后修改时间:',\r\n 'screenshot': '截图',\r\n 'uploading': '上传中...',\r\n 'sub-title-bg-color': '背景颜色',\r\n\r\n // blot tip name\r\n 'emoji': '表情',\r\n 'fullscreen': '全屏',\r\n 'blockquote': '引用',\r\n 'undo': '撤销',\r\n 'redo': '重做',\r\n 'clean': '清除格式',\r\n 'bold': '粗体',\r\n 'italic': '斜体',\r\n 'underline': '下划线',\r\n 'strike': '删除线',\r\n 'image': '图片',\r\n 'file': '文件',\r\n 'table': '表格',\r\n 'link': '超链接',\r\n 'divider': '分割线',\r\n 'code': '行内代码',\r\n 'better-table': '表格',\r\n 'code-block': '代码块',\r\n 'formula': '公式',\r\n 'format-painter': '格式刷',\r\n 'video': '视频',\r\n 'color': '字体颜色',\r\n 'background': '背景色',\r\n 'font': '字体',\r\n 'size': '字号',\r\n 'list-ordered': '有序列表',\r\n 'list-bullet': '无序列表',\r\n 'list-check': '任务列表',\r\n 'align-left': '左对齐',\r\n 'align-center': '居中对齐',\r\n 'align-right': '右对齐',\r\n 'align-justify': '两端对齐',\r\n 'direction-ltr': '文本方向左到右',\r\n 'direction-rtl': '文本方向右到左',\r\n 'indent--1': '减少缩进',\r\n 'indent-+1': '增加缩进',\r\n 'script-super': '上标',\r\n 'script-sub': '下标',\r\n 'header-normal': '正文',\r\n 'header-1': '标题1',\r\n 'header-2': '标题2',\r\n 'header-3': '标题3',\r\n 'header-4': '标题4',\r\n 'header-5': '标题5',\r\n 'header-6': '标题6',\r\n 'header-list': '标题列表',\r\n}\r\n"],"names":[],"mappings":"AAAO,MAAM,QAAQ;AAAA,EAEnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EAEN,cAAc;AAAA,EACd,UAAU;AAAA,EACV,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EAET,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,SAAS;AAAA,EAET,aAAa;AAAA,EACb,cAAc;AAAA,EAEd,mBAAmB;AAAA,EACnB,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,eAAe;AAAA,EACf,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,cAAc;AAAA,EACd,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,QAAQ;AAAA,EAER,cAAc;AAAA,EACd,cAAc;AAAA,EACd,aAAa;AAAA,EACb,eAAe;AAAA,EAEf,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EAEvB,eAAe;AAAA,EACf,iBAAiB;AAAA,EAEjB,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAEhB,qBAAqB;AAAA,EACrB,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,sBAAsB;AAAA,EACtB,UAAU;AAAA,EAEV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,aAAa;AAAA,EACb,kBACE;AAAA,EAEF,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,sBAAsB;AAAA;AAAA,EAGtB,SAAS;AAAA,EACT,cAAc;AAAA,EACd,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,aAAa;AAAA,EACb,UAAU;AAAA,EACV,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,SAAS;AAAA,EACT,SAAS;AAAA,EACT,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,eAAe;AACjB;"}
1
+ {"version":3,"file":"zh-cn.es.js","sources":["../../../../src/config/i18n/zh-cn.ts"],"sourcesContent":["export const ZH_CN = {\r\n\r\n 'header': '段落格式',\r\n 'normal': '正文',\r\n 'h1': '标题1',\r\n 'h2': '标题2',\r\n 'h3': '标题3',\r\n 'h4': '标题4',\r\n 'h5': '标题5',\r\n 'h6': '标题6',\r\n\r\n 'line-height': '行距',\r\n 'songti': '宋体',\r\n 'yahei': '微软雅黑',\r\n 'kaiti': '楷体',\r\n 'heiti': '黑体',\r\n 'lishu': '隶书',\r\n\r\n 'left': '左对齐',\r\n 'center': '居中对齐',\r\n 'right': '右对齐',\r\n\r\n 'codeblock': '代码块',\r\n 'globallink': '全局链接',\r\n\r\n 'exit-fullscreen': '退出全屏',\r\n 'help': '帮助',\r\n 'more': '更多',\r\n\r\n 'help-format': '格式',\r\n 'help-insert': '插入',\r\n 'help-operation': '操作',\r\n 'mention': '提及某人',\r\n 'quick-menu': '快捷菜单',\r\n 'toggle-help-panel': '打开/关闭帮助面板',\r\n 'scroll-table': '水平滚动表格',\r\n 'mouse-wheel': '鼠标滚轮',\r\n 'save': '保存',\r\n\r\n 'copy-cells': '复制',\r\n 'copy-table': '复制表格',\r\n 'cut-cells': '剪切',\r\n 'empty-cells': '清空内容',\r\n\r\n 'insert-row-up': '上插入行',\r\n 'insert-row-down': '下插入行',\r\n 'insert-column-left': '左插入列',\r\n 'insert-column-right': '右插入列',\r\n\r\n 'merge-cells': '合并单元格',\r\n 'unmerge-cells': '拆分单元格',\r\n\r\n 'delete-row': '删除当前行',\r\n 'delete-column': '删除当前列',\r\n 'delete-table': '删除表格',\r\n\r\n 'default-link-text': '链接',\r\n 'basicblock': '卡片',\r\n 'linkplaceholder': '请输入链接地址,按回车键确认',\r\n 'counter-template': '{{count}}/{{totalCount}}',\r\n 'char': '字符',\r\n 'word': '单词',\r\n 'counter-limit-tips': '{{countUnit}}数超出最大允许值',\r\n 'ie-msg': '为了有更好的体验,推荐使用最新版Chrome浏览器。',\r\n\r\n 'loading': '正在加载中...',\r\n 'pasting': '您粘贴的内容较多,正在努力加载中,请耐心等待...',\r\n 'img-error': '图片复制出错',\r\n 'img-error-info':\r\n '此图片不支持复制,请将原图下载至本地后点击工具栏【插入图片】,重新上传。',\r\n\r\n 'last-modified': '最后修改时间:',\r\n 'screenshot': '截图',\r\n 'uploading': '上传中...',\r\n 'sub-title-bg-color': '背景颜色',\r\n\r\n // blot tip name\r\n 'emoji': '表情',\r\n 'fullscreen': '全屏',\r\n 'blockquote': '引用',\r\n 'undo': '撤销',\r\n 'redo': '重做',\r\n 'clean': '清除格式',\r\n 'bold': '粗体',\r\n 'italic': '斜体',\r\n 'underline': '下划线',\r\n 'strike': '删除线',\r\n 'image': '图片',\r\n 'file': '文件',\r\n 'link': '超链接',\r\n 'divider': '分割线',\r\n 'code': '行内代码',\r\n 'table': '表格',\r\n 'table-up': '表格',\r\n 'code-block': '代码块',\r\n 'formula': '公式',\r\n 'format-painter': '格式刷',\r\n 'video': '视频',\r\n 'color': '字体颜色',\r\n 'background': '背景色',\r\n 'font': '字体',\r\n 'size': '字号',\r\n 'list': '列表',\r\n 'list-ordered': '有序列表',\r\n 'list-bullet': '无序列表',\r\n 'list-check': '任务列表',\r\n 'align-left': '左对齐',\r\n 'align-center': '居中对齐',\r\n 'align-right': '右对齐',\r\n 'align-justify': '两端对齐',\r\n 'direction-ltr': '文本方向左到右',\r\n 'direction-rtl': '文本方向右到左',\r\n 'indent--1': '减少缩进',\r\n 'indent-+1': '增加缩进',\r\n 'script-super': '上标',\r\n 'script-sub': '下标',\r\n 'header-normal': '正文',\r\n 'header-1': '标题1',\r\n 'header-2': '标题2',\r\n 'header-3': '标题3',\r\n 'header-4': '标题4',\r\n 'header-5': '标题5',\r\n 'header-6': '标题6',\r\n 'header-list': '标题列表',\r\n 'input-recall-menu-placeholder': '输入 / 唤起菜单',\r\n 'clear-color': '清除颜色',\r\n 'custom-color': '选择颜色',\r\n // table-up texts\r\n 'fullCheckboxText': '插入满宽度表格',\r\n 'customBtnText': '自定义行列数',\r\n 'confirmText': '确认',\r\n 'cancelText': '取消',\r\n 'rowText': '行数',\r\n 'colText': '列数',\r\n 'notPositiveNumberError': '请输入正整数',\r\n 'custom': '自定义',\r\n 'clear': '清除',\r\n 'transparent': '透明',\r\n 'perWidthInsufficient': '百分比宽度不足, 如需完成操作需要转换表格为固定宽度,是否继续?',\r\n 'CopyCell': '复制单元格',\r\n 'CutCell': '剪切单元格',\r\n 'InsertTop': '向上插入一行',\r\n 'InsertRight': '向右插入一列',\r\n 'InsertBottom': '向下插入一行',\r\n 'InsertLeft': '向左插入一列',\r\n 'MergeCell': '合并单元格',\r\n 'SplitCell': '拆分单元格',\r\n 'DeleteRow': '删除当前行',\r\n 'DeleteColumn': '删除当前列',\r\n 'DeleteTable': '删除当前表格',\r\n 'BackgroundColor': '设置背景颜色',\r\n 'BorderColor': '设置边框颜色',\r\n}\r\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { isNullOrUndefined } from "./editor.utils.es.js";
2
- import { getEventComposedPath, hadProtocol, hexToRgbA, imageFileToUrl, imageUrlToFile, insideTable, isInside, isPureIE, omit, replaceDeltaImage, sanitize, splitWithBreak } from "./editor.utils.es.js";
2
+ import { getEventComposedPath, hadProtocol, hexToRgbA, imageFileToUrl, imageUrlToFile, isInside, isPureIE, omit, replaceDeltaImage, sanitize, splitWithBreak } from "./editor.utils.es.js";
3
3
  import { AUDIO_VIDEO_UPLOADER_MIME_TYPES, BIG_DELTA_LIMIT, CHANGE_LANGUAGE_EVENT, COMPRESSED_UPLOADER_MIME_TYPES, DOC_UPLOADER_MIME_TYPES, FILE_UPLOADER_MIME_TYPES, IMAGE_UPLOADER_MIME_TYPES, LANG_CONF, OTHER_FILE_UPLOADER_MIME_TYPES, PPT_UPLOADER_MIME_TYPES, XSL_UPLOADER_MIME_TYPES, defaultLanguage } from "./editor.config.es.js";
4
4
  function inputFile(type, accept) {
5
5
  var _a, _b, _c;
@@ -58,7 +58,6 @@ export {
58
58
  imageFileToUrl,
59
59
  imageUrlToFile,
60
60
  inputFile,
61
- insideTable,
62
61
  isInside,
63
62
  isNullOrUndefined,
64
63
  isPureIE,
@@ -6,6 +6,9 @@ class FluentEditor extends Quill {
6
6
  super(container, options);
7
7
  this.isFullscreen = false;
8
8
  }
9
+ static register(...args) {
10
+ super.register(...args);
11
+ }
9
12
  get lang() {
10
13
  const i18nModule = this.getModule("i18n");
11
14
  return i18nModule ? i18nModule.options.lang : defaultLanguage;
@@ -1 +1 @@
1
- {"version":3,"file":"fluent-editor.es.js","sources":["../../../src/core/fluent-editor.ts"],"sourcesContent":["import type { ExpandedQuillOptions } from 'quill'\r\nimport type { IEditorConfig } from '../config/types'\r\nimport type I18N from '../modules/i18n'\r\nimport Quill from 'quill'\r\nimport { defaultLanguage, LANG_CONF } from '../config'\r\n\r\nclass FluentEditor extends Quill {\r\n isFullscreen: boolean = false\r\n options: IEditorConfig & ExpandedQuillOptions\r\n\r\n get lang() {\r\n const i18nModule = this.getModule('i18n') as I18N\r\n return i18nModule ? i18nModule.options.lang : defaultLanguage\r\n }\r\n\r\n constructor(container: HTMLElement | string, options: IEditorConfig = {}) {\r\n super(container, options)\r\n }\r\n\r\n getLangText(name: string) {\r\n const i18nModule = this.getModule('i18n') as I18N\r\n if (!i18nModule) return LANG_CONF[defaultLanguage][name]\r\n return i18nModule.options.langText[name]\r\n }\r\n}\r\n\r\nexport type {\r\n Module,\r\n Parchment as TypeParchment,\r\n} from 'quill'\r\n\r\nexport default FluentEditor\r\n"],"names":[],"mappings":";;;AAMA,MAAM,qBAAqB,MAAM;AAAA,EAS/B,YAAY,WAAiC,UAAyB,IAAI;AACxE,UAAM,WAAW,OAAO;AATF,SAAA,eAAA;AAAA,EAAA;AAAA,EAGxB,IAAI,OAAO;AACH,UAAA,aAAa,KAAK,UAAU,MAAM;AACjC,WAAA,aAAa,WAAW,QAAQ,OAAO;AAAA,EAAA;AAAA,EAOhD,YAAY,MAAc;AAClB,UAAA,aAAa,KAAK,UAAU,MAAM;AACxC,QAAI,CAAC,WAAY,QAAO,UAAU,eAAe,EAAE,IAAI;AAChD,WAAA,WAAW,QAAQ,SAAS,IAAI;AAAA,EAAA;AAE3C;"}
1
+ {"version":3,"file":"fluent-editor.es.js","sources":["../../../src/core/fluent-editor.ts"],"sourcesContent":["import type { ExpandedQuillOptions } from 'quill'\r\nimport type { IEditorConfig } from '../config/types'\r\nimport type I18N from '../modules/i18n'\r\nimport Quill from 'quill'\r\nimport { defaultLanguage, LANG_CONF } from '../config'\r\n\r\nclass FluentEditor extends Quill {\r\n isFullscreen: boolean = false\r\n options: IEditorConfig & ExpandedQuillOptions\r\n\r\n static register(...args: any[]): void {\r\n super.register(...args as Parameters<typeof Quill.register>)\r\n }\r\n\r\n get lang() {\r\n const i18nModule = this.getModule('i18n') as I18N\r\n return i18nModule ? i18nModule.options.lang : defaultLanguage\r\n }\r\n\r\n constructor(container: HTMLElement | string, options: IEditorConfig = {}) {\r\n super(container, options)\r\n }\r\n\r\n getLangText(name: string) {\r\n const i18nModule = this.getModule('i18n') as I18N\r\n if (!i18nModule) return LANG_CONF[defaultLanguage][name]\r\n return i18nModule.options.langText[name]\r\n }\r\n}\r\n\r\nexport type {\r\n Module,\r\n Parchment as TypeParchment,\r\n} from 'quill'\r\n\r\nexport default FluentEditor\r\n"],"names":[],"mappings":";;;AAMA,MAAM,qBAAqB,MAAM;AAAA,EAa/B,YAAY,WAAiC,UAAyB,IAAI;AACxE,UAAM,WAAW,OAAO;AAbF,SAAA,eAAA;AAAA,EAAA;AAAA,EAGxB,OAAO,YAAY,MAAmB;AAC9B,UAAA,SAAS,GAAG,IAAyC;AAAA,EAAA;AAAA,EAG7D,IAAI,OAAO;AACH,UAAA,aAAa,KAAK,UAAU,MAAM;AACjC,WAAA,aAAa,WAAW,QAAQ,OAAO;AAAA,EAAA;AAAA,EAOhD,YAAY,MAAc;AAClB,UAAA,aAAa,KAAK,UAAU,MAAM;AACxC,QAAI,CAAC,WAAY,QAAO,UAAU,eAAe,EAAE,IAAI;AAChD,WAAA,WAAW,QAAQ,SAAS,IAAI;AAAA,EAAA;AAE3C;"}
@@ -15,22 +15,26 @@ import Link from "./modules/link/index.es.js";
15
15
  import MathliveModule from "./modules/mathlive/index.es.js";
16
16
  import MathliveBlot from "./modules/mathlive/formats.es.js";
17
17
  import Mention from "./modules/mention/Mention.es.js";
18
+ import { ShortCutKey } from "./modules/shortcut-key/index.es.js";
18
19
  import CustomSyntax from "./modules/syntax.es.js";
19
- import BetterTable from "./modules/table/better-table.es.js";
20
20
  import BetterToolbar from "./modules/toolbar/index.es.js";
21
+ import { Picker, ColorPicker } from "./modules/toolbar/better-picker.es.js";
21
22
  import SnowTheme from "./themes/snow.es.js";
22
23
  import Icons from "./ui/icons.es.js";
23
24
  import { FontStyle } from "./attributors/font-style.es.js";
24
- import { LineHeightStyle } from "./attributors/line-height.es.js";
25
25
  import { SizeStyle } from "./attributors/font-size.es.js";
26
+ import { LineHeightStyle } from "./attributors/line-height.es.js";
26
27
  import { TextIndentStyle } from "./attributors/text-indent.es.js";
27
28
  FluentEditor.register(
28
29
  {
29
- "formats/emoji": Emoji.EmojiBlot,
30
+ "attributors/style/font": FontStyle,
31
+ "attributors/style/size": SizeStyle,
32
+ "attributors/style/line-height": LineHeightStyle,
30
33
  "formats/font": FontStyle,
31
34
  "formats/line-height": LineHeightStyle,
32
- [`formats/${MathliveBlot.blotName}`]: MathliveBlot,
33
35
  "formats/size": SizeStyle,
36
+ "formats/emoji": Emoji.EmojiBlot,
37
+ [`formats/${MathliveBlot.blotName}`]: MathliveBlot,
34
38
  "formats/softBreak": SoftBreak,
35
39
  "formats/strike": StrikeBlot,
36
40
  "formats/text-indent": TextIndentStyle,
@@ -41,20 +45,19 @@ FluentEditor.register(
41
45
  "modules/emoji-shortname": Emoji.ShortNameEmoji,
42
46
  "modules/emoji-toolbar": Emoji.ToolbarEmoji,
43
47
  "modules/file": FileModule,
44
- // 'modules/global-link': GlobalLink, // TODO
45
48
  "modules/i18n": I18N,
46
49
  "modules/image": BlotFormatter,
47
50
  "modules/link": Link,
48
51
  "modules/mathlive": MathliveModule,
49
52
  "modules/mention": Mention,
50
- // 'modules/quickmenu': QuickMenu, // TODO
51
53
  "modules/syntax": CustomSyntax,
52
54
  "modules/toolbar": BetterToolbar,
53
55
  "modules/uploader": CustomUploader,
54
- // make sure register after `HeaderList`
55
- "modules/better-table": BetterTable,
56
+ "modules/shortcut-key": ShortCutKey,
56
57
  "themes/snow": SnowTheme,
57
- "ui/icons": Icons
58
+ "ui/icons": Icons,
59
+ "ui/picker": Picker,
60
+ "ui/color-picker": ColorPicker
58
61
  },
59
62
  true
60
63
  // 覆盖内部模块
@@ -1 +1 @@
1
- {"version":3,"file":"fluent-editor.es.js","sources":["../../src/fluent-editor.ts"],"sourcesContent":["import { FontStyle, LineHeightStyle, SizeStyle, TextIndentStyle } from './attributors'\r\nimport FluentEditor from './core/fluent-editor'\r\nimport SoftBreak from './formats/soft-break' // 软回车\r\nimport Strike from './formats/strike' // 删除线\r\nimport Video from './formats/video' // 视频\r\nimport Counter from './modules/counter' // 字符统计\r\nimport CustomClipboard from './modules/custom-clipboard' // 粘贴板\r\nimport Image from './modules/custom-image/BlotFormatter' // 图片\r\nimport Uploader from './modules/custom-uploader' // 上传\r\nimport DividerBlot from './modules/divider' // 分割线\r\nimport Emoji from './modules/emoji' // 表情\r\nimport FileModule from './modules/file' // 文件\r\n// import GlobalLink from './modules/global-link' // 全局链接\r\nimport I18N from './modules/i18n'\r\nimport Link from './modules/link' // 超链接\r\nimport MathliveModule from './modules/mathlive' // latex公式\r\nimport MathliveBlot from './modules/mathlive/formats'\r\nimport Mention from './modules/mention/Mention' // @提醒\r\nimport Syntax from './modules/syntax' // 代码块高亮\r\nimport BetterTable from './modules/table/better-table' // 表格\r\nimport Toolbar from './modules/toolbar' // 工具栏\r\n// import QuickMenu from './modules/quick-menu' // 快捷菜单\r\nimport SnowTheme from './themes/snow'\r\nimport Icons from './ui/icons'\r\n\r\nFluentEditor.register(\r\n {\r\n 'formats/emoji': Emoji.EmojiBlot,\r\n 'formats/font': FontStyle,\r\n 'formats/line-height': LineHeightStyle,\r\n [`formats/${MathliveBlot.blotName}`]: MathliveBlot,\r\n 'formats/size': SizeStyle,\r\n 'formats/softBreak': SoftBreak,\r\n 'formats/strike': Strike,\r\n 'formats/text-indent': TextIndentStyle,\r\n 'formats/video': Video,\r\n\r\n 'modules/clipboard': CustomClipboard,\r\n 'modules/counter': Counter,\r\n 'modules/divider': DividerBlot,\r\n 'modules/emoji-shortname': Emoji.ShortNameEmoji,\r\n 'modules/emoji-toolbar': Emoji.ToolbarEmoji,\r\n 'modules/file': FileModule,\r\n // 'modules/global-link': GlobalLink, // TODO\r\n 'modules/i18n': I18N,\r\n 'modules/image': Image,\r\n 'modules/link': Link,\r\n 'modules/mathlive': MathliveModule,\r\n 'modules/mention': Mention,\r\n // 'modules/quickmenu': QuickMenu, // TODO\r\n 'modules/syntax': Syntax,\r\n 'modules/toolbar': Toolbar,\r\n 'modules/uploader': Uploader,\r\n // make sure register after `HeaderList`\r\n 'modules/better-table': BetterTable,\r\n\r\n 'themes/snow': SnowTheme,\r\n\r\n 'ui/icons': Icons,\r\n },\r\n true, // 覆盖内部模块\r\n)\r\n\r\nexport default FluentEditor\r\n"],"names":["Strike","Image","Syntax","Toolbar","Uploader"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,aAAa;AAAA,EACX;AAAA,IACE,iBAAiB,MAAM;AAAA,IACvB,gBAAgB;AAAA,IAChB,uBAAuB;AAAA,IACvB,CAAC,WAAW,aAAa,QAAQ,EAAE,GAAG;AAAA,IACtC,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,kBAAkBA;AAAAA,IAClB,uBAAuB;AAAA,IACvB,iBAAiB;AAAA,IAEjB,qBAAqB;AAAA,IACrB,mBAAmB;AAAA,IACnB,mBAAmB;AAAA,IACnB,2BAA2B,MAAM;AAAA,IACjC,yBAAyB,MAAM;AAAA,IAC/B,gBAAgB;AAAA;AAAA,IAEhB,gBAAgB;AAAA,IAChB,iBAAiBC;AAAAA,IACjB,gBAAgB;AAAA,IAChB,oBAAoB;AAAA,IACpB,mBAAmB;AAAA;AAAA,IAEnB,kBAAkBC;AAAAA,IAClB,mBAAmBC;AAAAA,IACnB,oBAAoBC;AAAAA;AAAAA,IAEpB,wBAAwB;AAAA,IAExB,eAAe;AAAA,IAEf,YAAY;AAAA,EACd;AAAA,EACA;AAAA;AACF;"}
1
+ {"version":3,"file":"fluent-editor.es.js","sources":["../../src/fluent-editor.ts"],"sourcesContent":["import { FontStyle, LineHeightStyle, SizeStyle, TextIndentStyle } from './attributors'\r\nimport FluentEditor from './core/fluent-editor'\r\nimport SoftBreak from './formats/soft-break' // 软回车\r\nimport Strike from './formats/strike' // 删除线\r\nimport Video from './formats/video' // 视频\r\nimport Counter from './modules/counter' // 字符统计\r\nimport CustomClipboard from './modules/custom-clipboard' // 粘贴板\r\nimport Image from './modules/custom-image/BlotFormatter' // 图片\r\nimport Uploader from './modules/custom-uploader' // 上传\r\nimport DividerBlot from './modules/divider' // 分割线\r\nimport Emoji from './modules/emoji' // 表情\r\nimport FileModule from './modules/file' // 文件\r\nimport I18N from './modules/i18n'\r\nimport Link from './modules/link' // 超链接\r\nimport MathliveModule from './modules/mathlive' // latex公式\r\nimport MathliveBlot from './modules/mathlive/formats'\r\nimport Mention from './modules/mention/Mention' // @提醒\r\nimport { ShortCutKey } from './modules/shortcut-key'\r\nimport Syntax from './modules/syntax' // 代码块高亮\r\nimport Toolbar from './modules/toolbar' // 工具栏\r\nimport { ColorPicker, Picker } from './modules/toolbar/better-picker'\r\nimport SnowTheme from './themes/snow'\r\nimport Icons from './ui/icons'\r\n\r\nFluentEditor.register(\r\n {\r\n 'attributors/style/font': FontStyle,\r\n 'attributors/style/size': SizeStyle,\r\n 'attributors/style/line-height': LineHeightStyle,\r\n\r\n 'formats/font': FontStyle,\r\n 'formats/line-height': LineHeightStyle,\r\n 'formats/size': SizeStyle,\r\n 'formats/emoji': Emoji.EmojiBlot,\r\n [`formats/${MathliveBlot.blotName}`]: MathliveBlot,\r\n 'formats/softBreak': SoftBreak,\r\n 'formats/strike': Strike,\r\n 'formats/text-indent': TextIndentStyle,\r\n 'formats/video': Video,\r\n\r\n 'modules/clipboard': CustomClipboard,\r\n 'modules/counter': Counter,\r\n 'modules/divider': DividerBlot,\r\n 'modules/emoji-shortname': Emoji.ShortNameEmoji,\r\n 'modules/emoji-toolbar': Emoji.ToolbarEmoji,\r\n 'modules/file': FileModule,\r\n 'modules/i18n': I18N,\r\n 'modules/image': Image,\r\n 'modules/link': Link,\r\n 'modules/mathlive': MathliveModule,\r\n 'modules/mention': Mention,\r\n 'modules/syntax': Syntax,\r\n 'modules/toolbar': Toolbar,\r\n 'modules/uploader': Uploader,\r\n 'modules/shortcut-key': ShortCutKey,\r\n\r\n 'themes/snow': SnowTheme,\r\n\r\n 'ui/icons': Icons,\r\n 'ui/picker': Picker,\r\n 'ui/color-picker': ColorPicker,\r\n },\r\n true, // 覆盖内部模块\r\n)\r\n\r\nexport default FluentEditor\r\n"],"names":["Strike","Image","Syntax","Toolbar","Uploader"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,aAAa;AAAA,EACX;AAAA,IACE,0BAA0B;AAAA,IAC1B,0BAA0B;AAAA,IAC1B,iCAAiC;AAAA,IAEjC,gBAAgB;AAAA,IAChB,uBAAuB;AAAA,IACvB,gBAAgB;AAAA,IAChB,iBAAiB,MAAM;AAAA,IACvB,CAAC,WAAW,aAAa,QAAQ,EAAE,GAAG;AAAA,IACtC,qBAAqB;AAAA,IACrB,kBAAkBA;AAAAA,IAClB,uBAAuB;AAAA,IACvB,iBAAiB;AAAA,IAEjB,qBAAqB;AAAA,IACrB,mBAAmB;AAAA,IACnB,mBAAmB;AAAA,IACnB,2BAA2B,MAAM;AAAA,IACjC,yBAAyB,MAAM;AAAA,IAC/B,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,IAChB,iBAAiBC;AAAAA,IACjB,gBAAgB;AAAA,IAChB,oBAAoB;AAAA,IACpB,mBAAmB;AAAA,IACnB,kBAAkBC;AAAAA,IAClB,mBAAmBC;AAAAA,IACnB,oBAAoBC;AAAAA,IACpB,wBAAwB;AAAA,IAExB,eAAe;AAAA,IAEf,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,mBAAmB;AAAA,EACrB;AAAA,EACA;AAAA;AACF;"}
package/es/index.es.js CHANGED
@@ -1,9 +1,11 @@
1
1
  import "./fluent-editor.es.js";
2
2
  import { getListValue, inputFile, namespace } from "./config/index.es.js";
3
+ import { generateTableUp } from "./modules/table-up/index.es.js";
3
4
  import { generateToolbarTip } from "./modules/toolbar/toolbar-tip.es.js";
5
+ import { generateTableUpShortKeyMenu } from "quill-shortcut-key";
4
6
  import FluentEditor from "./core/fluent-editor.es.js";
5
7
  import { AUDIO_VIDEO_UPLOADER_MIME_TYPES, BIG_DELTA_LIMIT, CHANGE_LANGUAGE_EVENT, COMPRESSED_UPLOADER_MIME_TYPES, DOC_UPLOADER_MIME_TYPES, FILE_UPLOADER_MIME_TYPES, IMAGE_UPLOADER_MIME_TYPES, LANG_CONF, OTHER_FILE_UPLOADER_MIME_TYPES, PPT_UPLOADER_MIME_TYPES, XSL_UPLOADER_MIME_TYPES, defaultLanguage } from "./config/editor.config.es.js";
6
- import { getEventComposedPath, hadProtocol, hexToRgbA, imageFileToUrl, imageUrlToFile, insideTable, isInside, isNullOrUndefined, isPureIE, omit, replaceDeltaImage, sanitize, splitWithBreak } from "./config/editor.utils.es.js";
8
+ import { getEventComposedPath, hadProtocol, hexToRgbA, imageFileToUrl, imageUrlToFile, isInside, isNullOrUndefined, isPureIE, omit, replaceDeltaImage, sanitize, splitWithBreak } from "./config/editor.utils.es.js";
7
9
  export {
8
10
  AUDIO_VIDEO_UPLOADER_MIME_TYPES,
9
11
  BIG_DELTA_LIMIT,
@@ -18,6 +20,8 @@ export {
18
20
  XSL_UPLOADER_MIME_TYPES,
19
21
  FluentEditor as default,
20
22
  defaultLanguage,
23
+ generateTableUp,
24
+ generateTableUpShortKeyMenu,
21
25
  generateToolbarTip,
22
26
  getEventComposedPath,
23
27
  getListValue,
@@ -26,7 +30,6 @@ export {
26
30
  imageFileToUrl,
27
31
  imageUrlToFile,
28
32
  inputFile,
29
- insideTable,
30
33
  isInside,
31
34
  isNullOrUndefined,
32
35
  isPureIE,
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import Quill from "quill";
2
2
  import { ERROR_IMAGE_PLACEHOLDER_EN, ERROR_IMAGE_PLACEHOLDER_CN } from "../config/base64-image.es.js";
3
3
  import { BIG_DELTA_LIMIT } from "../config/editor.config.es.js";
4
- import { isNullOrUndefined, insideTable, replaceDeltaImage, imageFileToUrl, imageUrlToFile, splitWithBreak, omit, hexToRgbA } from "../config/editor.utils.es.js";
4
+ import { isNullOrUndefined, replaceDeltaImage, imageFileToUrl, imageUrlToFile, splitWithBreak, omit, hexToRgbA } from "../config/editor.utils.es.js";
5
5
  const Clipboard = Quill.import("modules/clipboard");
6
6
  const Delta = Quill.import("delta");
7
7
  class CustomClipboard extends Clipboard {
@@ -112,64 +112,8 @@ class CustomClipboard extends Clipboard {
112
112
  }
113
113
  const linePos = { index: range.index, length: range.length, fix: 0 };
114
114
  const [line, offset] = this.quill.getLine(range.index);
115
- const isInsideTable = insideTable.call(this);
116
115
  const handlePasteContent = (content) => {
117
116
  let pastedContent = content;
118
- const tableBreaker = pastedContent.ops.find((op) => {
119
- return op.attributes && (op.attributes.blockquote || op.attributes["code-block"]);
120
- });
121
- if (isInsideTable) {
122
- const table = line.domNode.closest("table.quill-better-table");
123
- const tableBlot = Quill.find(table);
124
- const tableIndex = this.quill.getIndex(tableBlot);
125
- const tableLength = tableBlot.length();
126
- const tableEndPos = tableIndex + tableLength;
127
- const anchorNode = getSelection().anchorNode;
128
- if (tableBreaker) {
129
- return;
130
- }
131
- if (formats["table-col"]) {
132
- linePos.index = tableIndex - 1;
133
- linePos.length = 0;
134
- } else if (range.index === tableEndPos - 1 && anchorNode instanceof HTMLDivElement && anchorNode.classList.contains("quill-better-table-wrapper")) {
135
- const list = pastedContent.filter(
136
- (op) => op.attributes && op.attributes.list
137
- );
138
- if (list && list.length) {
139
- return;
140
- }
141
- linePos.index = tableEndPos;
142
- linePos.length = 0;
143
- } else {
144
- if (!formats["table-cell-line"]) {
145
- return;
146
- }
147
- pastedContent = {
148
- ops: pastedContent.filter((op, index) => {
149
- const regexp = /^[\n\r]+$/;
150
- const isString = op.insert && typeof op.insert === "string";
151
- const isLine = isString && regexp.test(op.insert);
152
- const isCellLine = isLine && op.attributes && op.attributes["table-cell-line"];
153
- const isList = isLine && op.attributes && op.attributes.list;
154
- const isPureLine = isLine && !isCellLine && !isList;
155
- const isTableCol = isLine && op.attributes && op.attributes["table-col"];
156
- const isLastCellLine = isCellLine && index === deltaLength - 1;
157
- return !isPureLine && !isTableCol && !isLastCellLine;
158
- })
159
- };
160
- pastedContent = rebuildDelta(
161
- new Delta(pastedContent.ops),
162
- formats["table-cell-line"]
163
- );
164
- }
165
- }
166
- const lastChild = pastedContent.ops[pastedContent.ops.length - 1];
167
- const hasList = lastChild && lastChild.attributes && lastChild.attributes.list;
168
- if (hasList && offset === 0 && line && line.cache.length === 1 && (line.statics.blotName === "block" || line.statics.blotName === "table-cell-line") && (!line.next || line.next.statics.blotName !== "table-view")) {
169
- linePos.index = this.quill.getIndex(line);
170
- linePos.length = line.length();
171
- linePos.fix = 1;
172
- }
173
117
  const oldDelta = new Delta().retain(linePos.index).delete(linePos.length);
174
118
  const delta = oldDelta.concat(pastedContent);
175
119
  setTimeout(() => {