vue-editify 0.2.14 → 0.2.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (190) hide show
  1. package/examples/App.vue +49 -67
  2. package/lib/components/button/button.vue.d.ts +62 -60
  3. package/lib/components/button/index.d.ts +4 -0
  4. package/lib/components/button/props.d.ts +12 -1
  5. package/lib/components/checkbox/checkbox.vue.d.ts +9 -9
  6. package/lib/components/checkbox/index.d.ts +4 -0
  7. package/lib/components/checkbox/props.d.ts +2 -2
  8. package/lib/components/colors/colors.vue.d.ts +4 -4
  9. package/lib/components/colors/index.d.ts +4 -0
  10. package/lib/components/colors/props.d.ts +2 -2
  11. package/lib/components/icon/index.d.ts +4 -0
  12. package/lib/components/insertAttachment/index.d.ts +4 -0
  13. package/lib/{plugins/attachment → components}/insertAttachment/insertAttachment.vue.d.ts +3 -3
  14. package/lib/{plugins/attachment → components}/insertAttachment/props.d.ts +1 -1
  15. package/lib/components/insertImage/index.d.ts +4 -0
  16. package/lib/components/insertImage/insertImage.vue.d.ts +3 -3
  17. package/lib/components/insertImage/props.d.ts +1 -1
  18. package/lib/components/insertLink/index.d.ts +4 -0
  19. package/lib/components/insertLink/insertLink.vue.d.ts +6 -6
  20. package/lib/components/insertLink/props.d.ts +3 -3
  21. package/lib/components/insertMathformula/index.d.ts +4 -0
  22. package/lib/{plugins/mathformula → components}/insertMathformula/insertMathformula.vue.d.ts +3 -3
  23. package/lib/{plugins/mathformula → components}/insertMathformula/props.d.ts +2 -2
  24. package/lib/components/insertTable/index.d.ts +4 -0
  25. package/lib/components/insertTable/insertTable.vue.d.ts +3 -3
  26. package/lib/components/insertTable/props.d.ts +2 -2
  27. package/lib/components/insertVideo/index.d.ts +4 -0
  28. package/lib/components/insertVideo/insertVideo.vue.d.ts +3 -3
  29. package/lib/components/insertVideo/props.d.ts +1 -1
  30. package/lib/components/layer/index.d.ts +4 -0
  31. package/lib/components/layer/layer.vue.d.ts +10 -8
  32. package/lib/components/tooltip/index.d.ts +4 -0
  33. package/lib/components/tooltip/tooltip.vue.d.ts +6 -4
  34. package/lib/components/triangle/index.d.ts +4 -0
  35. package/lib/components/triangle/triangle.vue.d.ts +1 -1
  36. package/lib/components/updateLink/index.d.ts +4 -0
  37. package/lib/components/updateLink/props.d.ts +17 -0
  38. package/lib/components/updateLink/updateLink.vue.d.ts +38 -0
  39. package/lib/core/function.d.ts +113 -36
  40. package/lib/core/rule.d.ts +20 -0
  41. package/lib/core/tool.d.ts +36 -34
  42. package/lib/editify/editify.vue.d.ts +18 -27
  43. package/lib/editify/menu/index.d.ts +4 -0
  44. package/lib/{components → editify}/menu/menu.vue.d.ts +3 -4
  45. package/lib/{components → editify}/menu/props.d.ts +1 -1
  46. package/lib/editify/props.d.ts +3 -7
  47. package/lib/editify/toolbar/index.d.ts +4 -0
  48. package/lib/{components → editify}/toolbar/props.d.ts +2 -2
  49. package/lib/{components → editify}/toolbar/toolbar.vue.d.ts +53 -53
  50. package/lib/editify.es.js +8797 -7560
  51. package/lib/editify.umd.js +2 -2
  52. package/lib/feature/align.d.ts +32 -0
  53. package/lib/feature/attachment.d.ts +18 -0
  54. package/lib/feature/backColor.d.ts +32 -0
  55. package/lib/feature/bold.d.ts +32 -0
  56. package/lib/feature/code.d.ts +32 -0
  57. package/lib/feature/codeBlock.d.ts +32 -0
  58. package/lib/feature/fontFamily.d.ts +32 -0
  59. package/lib/feature/fontSize.d.ts +32 -0
  60. package/lib/feature/foreColor.d.ts +32 -0
  61. package/lib/feature/formatClear.d.ts +32 -0
  62. package/lib/feature/fullScreen.d.ts +18 -0
  63. package/lib/feature/heading.d.ts +32 -0
  64. package/lib/feature/image.d.ts +32 -0
  65. package/lib/feature/indent.d.ts +18 -0
  66. package/lib/feature/infoBlock.d.ts +18 -0
  67. package/lib/feature/italic.d.ts +32 -0
  68. package/lib/feature/lineHeight.d.ts +32 -0
  69. package/lib/feature/link.d.ts +26 -0
  70. package/lib/feature/mathformula.d.ts +22 -0
  71. package/lib/feature/orderList.d.ts +32 -0
  72. package/lib/feature/panel.d.ts +18 -0
  73. package/lib/feature/quote.d.ts +18 -0
  74. package/lib/feature/redo.d.ts +18 -0
  75. package/lib/feature/separator.d.ts +18 -0
  76. package/lib/feature/sourceView.d.ts +18 -0
  77. package/lib/feature/strikethrough.d.ts +32 -0
  78. package/lib/feature/sub.d.ts +32 -0
  79. package/lib/feature/super.d.ts +32 -0
  80. package/lib/feature/table.d.ts +32 -0
  81. package/lib/feature/task.d.ts +32 -0
  82. package/lib/feature/underline.d.ts +32 -0
  83. package/lib/feature/undo.d.ts +18 -0
  84. package/lib/feature/unorderList.d.ts +32 -0
  85. package/lib/feature/video.d.ts +38 -0
  86. package/lib/index.d.ts +36 -43
  87. package/package.json +5 -5
  88. package/src/components/button/button.vue +21 -24
  89. package/src/components/button/index.ts +5 -0
  90. package/src/components/button/props.ts +14 -1
  91. package/src/components/checkbox/checkbox.vue +1 -1
  92. package/src/components/checkbox/index.ts +5 -0
  93. package/src/components/checkbox/props.ts +1 -1
  94. package/src/components/colors/colors.vue +3 -3
  95. package/src/components/colors/index.ts +5 -0
  96. package/src/components/colors/props.ts +2 -2
  97. package/src/components/icon/index.ts +5 -0
  98. package/src/components/insertAttachment/index.ts +5 -0
  99. package/src/{plugins/attachment → components}/insertAttachment/insertAttachment.vue +4 -2
  100. package/src/{plugins/attachment → components}/insertAttachment/props.ts +1 -1
  101. package/src/components/insertImage/index.ts +5 -0
  102. package/src/components/insertImage/insertImage.vue +5 -5
  103. package/src/components/insertImage/props.ts +1 -1
  104. package/src/components/insertLink/index.ts +5 -0
  105. package/src/components/insertLink/insertLink.vue +10 -10
  106. package/src/components/insertLink/props.ts +3 -3
  107. package/src/components/insertMathformula/index.ts +5 -0
  108. package/src/{plugins/mathformula → components}/insertMathformula/props.ts +2 -2
  109. package/src/components/insertTable/index.ts +5 -0
  110. package/src/components/insertTable/props.ts +2 -2
  111. package/src/components/insertVideo/index.ts +5 -0
  112. package/src/components/insertVideo/insertVideo.vue +2 -2
  113. package/src/components/insertVideo/props.ts +1 -1
  114. package/src/components/layer/index.ts +5 -0
  115. package/src/components/layer/layer.vue +42 -4
  116. package/src/components/tooltip/index.ts +5 -0
  117. package/src/components/tooltip/tooltip.vue +1 -1
  118. package/src/components/triangle/index.ts +5 -0
  119. package/src/components/triangle/triangle.vue +1 -1
  120. package/src/components/updateLink/index.ts +5 -0
  121. package/src/components/updateLink/props.ts +21 -0
  122. package/src/components/{toolbar/toolbar.less → updateLink/updateLink.less} +4 -20
  123. package/src/components/updateLink/updateLink.vue +74 -0
  124. package/src/core/function.ts +289 -97
  125. package/src/core/rule.ts +96 -7
  126. package/src/core/tool.ts +234 -78
  127. package/src/editify/editify.less +2 -0
  128. package/src/editify/editify.vue +182 -185
  129. package/src/editify/menu/index.ts +5 -0
  130. package/src/editify/menu/menu.vue +215 -0
  131. package/src/{components → editify}/menu/props.ts +1 -1
  132. package/src/editify/props.ts +7 -11
  133. package/src/editify/toolbar/index.ts +5 -0
  134. package/src/{components → editify}/toolbar/props.ts +1 -1
  135. package/src/editify/toolbar/toolbar.less +10 -0
  136. package/src/editify/toolbar/toolbar.vue +103 -0
  137. package/src/feature/align.ts +128 -0
  138. package/src/feature/attachment.ts +109 -0
  139. package/src/feature/backColor.ts +171 -0
  140. package/src/feature/bold.ts +136 -0
  141. package/src/feature/code.ts +136 -0
  142. package/src/feature/codeBlock.ts +204 -0
  143. package/src/feature/fontFamily.ts +140 -0
  144. package/src/feature/fontSize.ts +142 -0
  145. package/src/feature/foreColor.ts +173 -0
  146. package/src/feature/formatClear.ts +118 -0
  147. package/src/feature/fullScreen.ts +57 -0
  148. package/src/feature/heading.ts +154 -0
  149. package/src/feature/image.ts +225 -0
  150. package/src/feature/indent.ts +73 -0
  151. package/src/feature/infoBlock.ts +94 -0
  152. package/src/feature/italic.ts +136 -0
  153. package/src/feature/lineHeight.ts +165 -0
  154. package/src/feature/link.ts +149 -0
  155. package/src/feature/mathformula.ts +147 -0
  156. package/src/feature/orderList.ts +116 -0
  157. package/src/feature/panel.ts +108 -0
  158. package/src/feature/quote.ts +61 -0
  159. package/src/feature/redo.ts +56 -0
  160. package/src/feature/separator.ts +62 -0
  161. package/src/feature/sourceView.ts +59 -0
  162. package/src/feature/strikethrough.ts +136 -0
  163. package/src/feature/sub.ts +136 -0
  164. package/src/feature/super.ts +136 -0
  165. package/src/feature/table.ts +994 -0
  166. package/src/feature/task.ts +116 -0
  167. package/src/feature/underline.ts +136 -0
  168. package/src/feature/undo.ts +56 -0
  169. package/src/feature/unorderList.ts +116 -0
  170. package/src/feature/video.ts +339 -0
  171. package/src/hljs/index.ts +1 -1
  172. package/src/index.ts +69 -21
  173. package/src/locale/en_US.ts +3 -3
  174. package/src/locale/zh_CN.ts +3 -3
  175. package/lib/plugins/attachment/index.d.ts +0 -37
  176. package/lib/plugins/infoBlock/index.d.ts +0 -55
  177. package/lib/plugins/mathformula/index.d.ts +0 -49
  178. package/lib/plugins/panel/index.d.ts +0 -48
  179. package/src/components/menu/menu.vue +0 -1655
  180. package/src/components/toolbar/toolbar.vue +0 -1677
  181. package/src/plugins/attachment/index.ts +0 -237
  182. package/src/plugins/infoBlock/index.ts +0 -238
  183. package/src/plugins/mathformula/index.ts +0 -295
  184. package/src/plugins/panel/index.ts +0 -228
  185. package/tsconfig.json +0 -31
  186. package/tsconfig.node.json +0 -11
  187. /package/src/{plugins/attachment → components}/insertAttachment/insertAttachment.less +0 -0
  188. /package/src/{plugins/mathformula → components}/insertMathformula/insertMathformula.less +0 -0
  189. /package/src/{plugins/mathformula → components}/insertMathformula/insertMathformula.vue +0 -0
  190. /package/src/{components → editify}/menu/menu.less +0 -0
@@ -1,4 +1,4 @@
1
- import { AlexElement, AlexElementsRangeType, AlexEditor } from 'alex-editor';
1
+ import { AlexEditor, AlexElement, AlexElementsRangeType } from 'alex-editor';
2
2
  import { ObjectType } from './tool';
3
3
 
4
4
  export type ElementMatchConfigType = {
@@ -63,110 +63,187 @@ export declare const getMatchElementByElement: (element: AlexElement, config: El
63
63
  */
64
64
  export declare const getMatchElementByRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType, config: ElementMatchConfigType) => AlexElement | null;
65
65
  /**
66
- * Open API:判断元素是否有序或者无序列表
66
+ * Open API:判断元素是否有序或者无序列表,不做空元素判断
67
67
  * @param element
68
68
  * @param ordered
69
69
  * @returns
70
70
  */
71
- export declare const isList: (element: AlexElement, ordered?: boolean | undefined) => boolean;
71
+ export declare const elementIsList: (element: AlexElement, ordered?: boolean | undefined) => boolean;
72
72
  /**
73
- * Open API:判断元素是否任务列表
73
+ * Open API:判断元素是否在有序列表或者无序列表下,是的话返回有序列表或者无序列表元素,否则返回null
74
74
  * @param element
75
+ * @param ordered
75
76
  * @returns
76
77
  */
77
- export declare const isTask: (element: AlexElement) => boolean;
78
+ export declare const getListByElement: (element: AlexElement, ordered: boolean) => AlexElement | null;
78
79
  /**
79
- * Open API:判断元素是否在有序列表或者无序列表下
80
- * @param element
80
+ * Open API:选区是否含有有序列表或者无序列表,不一定是同一个有序列表或者序列表,只要含有有序列表或者序列表即返回true
81
+ * @param editor
82
+ * @param dataRangeCaches
83
+ * @param ordered
84
+ * @returns
85
+ */
86
+ export declare const hasListInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType, ordered?: boolean | undefined) => boolean;
87
+ /**
88
+ * Open API:选区是否全部在有序列表或者无序列表内,不一定是同一个有序列表或者无序列表
89
+ * @param editor
90
+ * @param dataRangeCaches
81
91
  * @param ordered
82
92
  * @returns
83
93
  */
84
- export declare const elementIsInList: (element: AlexElement, ordered: boolean) => boolean;
94
+ export declare const rangeIsInList: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType, ordered?: boolean | undefined) => boolean;
85
95
  /**
86
- * Open API:判断元素是否在任务列表下
96
+ * Open API:判断元素是否任务列表,不做空元素判断
87
97
  * @param element
88
98
  * @returns
89
99
  */
90
- export declare const elementIsInTask: (element: AlexElement) => boolean;
100
+ export declare const elementIsTask: (element: AlexElement) => boolean;
91
101
  /**
92
- * Open API:选区是否含有代码块
102
+ * Open API:判断元素是否在任务列表下,是的话返回任务列表元素,否则返回null
103
+ * @param element
104
+ * @returns
105
+ */
106
+ export declare const getTaskByElement: (element: AlexElement) => AlexElement | null;
107
+ /**
108
+ * Open API:选区是否含有任务列表,不一定是同一个任务列表,只要含有任务列表即返回true
93
109
  * @param editor
94
110
  * @param dataRangeCaches
95
111
  * @returns
96
112
  */
97
- export declare const hasPreInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
113
+ export declare const hasTaskInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
98
114
  /**
99
- * Open API:选区是否含有引用
115
+ * Open API:选区是否全部在任务列表里,不一定是同一个任务列表
100
116
  * @param editor
101
117
  * @param dataRangeCaches
102
118
  * @returns
103
119
  */
104
- export declare const hasQuoteInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
120
+ export declare const rangeIsInTask: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
105
121
  /**
106
- * Open API:选区是否含有有序列表或者无序列表
122
+ * Open API:判断元素是否附件,不做空元素判断
123
+ * @param element
124
+ * @returns
125
+ */
126
+ export declare const elementIsAttachment: (element: AlexElement) => boolean;
127
+ /**
128
+ * Open API:选区是否含有附件,不一定是同一个附件,只要含有附件即返回true
107
129
  * @param editor
108
130
  * @param dataRangeCaches
109
- * @param ordered
110
131
  * @returns
111
132
  */
112
- export declare const hasListInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType, ordered?: boolean | undefined) => boolean;
133
+ export declare const hasAttachmentInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
134
+ /**
135
+ * Open API:判断元素是否数学公式,不做空元素判断
136
+ * @param element
137
+ * @returns
138
+ */
139
+ export declare const elementIsMathformula: (element: AlexElement) => boolean;
140
+ /**
141
+ * Open API:判断元素是否在数学公式下,是的话返回数学公式元素,否则返回null
142
+ * @param element
143
+ * @returns
144
+ */
145
+ export declare const getMathformulaByElement: (element: AlexElement) => AlexElement | null;
113
146
  /**
114
- * Open API:选区是否含有任务列表
147
+ * Open API:选区是否含有数学公式,不一定是同一个数学公式,只要含有数学公式即返回true
115
148
  * @param editor
116
149
  * @param dataRangeCaches
117
150
  * @returns
118
151
  */
119
- export declare const hasTaskInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
152
+ export declare const hasMathformulaInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
153
+ /**
154
+ * Open API:判断元素是否面板,不做空元素判断
155
+ * @param el
156
+ * @returns
157
+ */
158
+ export declare const elementIsPanel: (element: AlexElement) => boolean;
120
159
  /**
121
- * Open API:选区是否含有链接
160
+ * Open API:判断元素是否在面板内,是的话返回面板元素,否则返回null
161
+ * @param el
162
+ * @returns
163
+ */
164
+ export declare const getPanelByElement: (element: AlexElement) => AlexElement | null;
165
+ /**
166
+ * Open API:选区是否含有面板,不一定是同一个面板,只要含有面板即返回true
122
167
  * @param editor
123
168
  * @param dataRangeCaches
124
169
  * @returns
125
170
  */
126
- export declare const hasLinkInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
171
+ export declare const hasPanelInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
172
+ /**
173
+ * Open API:判断元素是否信息块,不做空元素判断
174
+ * @param el
175
+ * @returns
176
+ */
177
+ export declare const elementIsInfoBlock: (element: AlexElement) => boolean;
178
+ /**
179
+ * Open API:判断元素是否在信息块内,是的话返回信息块元素,否则返回null
180
+ * @param el
181
+ * @returns
182
+ */
183
+ export declare const getInfoBlockByElement: (element: AlexElement) => AlexElement | null;
127
184
  /**
128
- * Open API:选区是否含有表格
185
+ * Open API:选区是否含有信息块,不一定是同一个信息块,只要含有信息块即返回true
129
186
  * @param editor
130
187
  * @param dataRangeCaches
131
188
  * @returns
132
189
  */
133
- export declare const hasTableInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
190
+ export declare const hasInfoBlockInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
134
191
  /**
135
- * Open API:选区是否含有图片
192
+ * Open API:选区是否全部在信息块里,不一定是同一个信息块
136
193
  * @param editor
137
194
  * @param dataRangeCaches
138
195
  * @returns
139
196
  */
140
- export declare const hasImageInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
197
+ export declare const rangeIsInInfoBlock: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
141
198
  /**
142
- * Open API:选区是否含有视频
199
+ * Open API:选区是否含有代码块,不一定是同一个代码块,只要含有代码块即返回true
143
200
  * @param editor
144
201
  * @param dataRangeCaches
145
202
  * @returns
146
203
  */
147
- export declare const hasVideoInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
204
+ export declare const hasPreInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
148
205
  /**
149
- * Open API:选区是否全部在引用内
206
+ * Open API:选区是否含有引用,不一定是同一个引用,只要含有引用即返回true
150
207
  * @param editor
151
208
  * @param dataRangeCaches
152
209
  * @returns
153
210
  */
154
- export declare const isRangeInQuote: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
211
+ export declare const hasQuoteInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
155
212
  /**
156
- * Open API:选区是否全部在有序列表或者无序列表内
213
+ * Open API:选区是否含有链接,不一定是同一个链接,只要含有链接即返回true
157
214
  * @param editor
158
215
  * @param dataRangeCaches
159
- * @param ordered
160
216
  * @returns
161
217
  */
162
- export declare const isRangeInList: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType, ordered?: boolean | undefined) => boolean;
218
+ export declare const hasLinkInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
219
+ /**
220
+ * Open API:选区是否含有表格,不一定是同一个表格,只要含有表格即返回true
221
+ * @param editor
222
+ * @param dataRangeCaches
223
+ * @returns
224
+ */
225
+ export declare const hasTableInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
226
+ /**
227
+ * Open API:选区是否含有图片,不一定是同一个图片,只要含有图片即返回true
228
+ * @param editor
229
+ * @param dataRangeCaches
230
+ * @returns
231
+ */
232
+ export declare const hasImageInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
233
+ /**
234
+ * Open API:选区是否含有视频,不一定是同一个视频,只要含有视频即返回true
235
+ * @param editor
236
+ * @param dataRangeCaches
237
+ * @returns
238
+ */
239
+ export declare const hasVideoInRange: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
163
240
  /**
164
- * Open API:选区是否全部在任务列表里
241
+ * Open API:选区是否全部在引用内,不一定是同一个引用
165
242
  * @param editor
166
243
  * @param dataRangeCaches
167
244
  * @returns
168
245
  */
169
- export declare const isRangeInTask: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
246
+ export declare const rangeIsInQuote: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType) => boolean;
170
247
  /**
171
248
  * Open API:查询光标所在的文本元素是否具有某个样式
172
249
  * @param editor
@@ -186,7 +263,7 @@ export declare const queryTextStyle: (editor: AlexEditor, dataRangeCaches: AlexE
186
263
  */
187
264
  export declare const queryTextMark: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType, name: string, value?: string | number) => boolean;
188
265
  /**
189
- * Open API:获取选区内的文字内容,用于预置链接文字
266
+ * Open API:获取选区内的文字内容
190
267
  * @param dataRangeCaches
191
268
  * @returns
192
269
  */
@@ -253,7 +330,7 @@ export declare const setQuote: (editor: AlexEditor, dataRangeCaches: AlexElement
253
330
  * @param value 取值justify/left/right/center
254
331
  * @returns
255
332
  */
256
- export declare const setAlign: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType, value: 'justify' | 'left' | 'right' | 'center') => void;
333
+ export declare const setAlign: (editor: AlexEditor, dataRangeCaches: AlexElementsRangeType, value: "justify" | "left" | "right" | "center") => void;
257
334
  /**
258
335
  * Open API:插入或者取消 有序或者无序列表
259
336
  * @param editor
@@ -45,6 +45,26 @@ export declare const tableRangeMergedHandle: (editor: AlexEditor, element: AlexE
45
45
  * @param languages
46
46
  */
47
47
  export declare const preHandle: (editor: AlexEditor, element: AlexElement, highlight: boolean, languages: (string | LanguagesItemType)[]) => void;
48
+ /**
49
+ * 元素格式化时处理附件元素
50
+ * @param editor
51
+ * @param element
52
+ * @param $editTrans
53
+ */
54
+ export declare const attachmentHandle: (editor: AlexEditor, element: AlexElement, $editTrans: (key: string) => any) => void;
55
+ /**
56
+ * 元素格式化时处理数学公式元素
57
+ * @param editor
58
+ * @param element
59
+ */
60
+ export declare const mathformulaHandle: (editor: AlexEditor, element: AlexElement) => void;
61
+ /**
62
+ * 元素格式化时处理信息块元素
63
+ * @param editor
64
+ * @param element
65
+ * @param color
66
+ */
67
+ export declare const infoBlockHandle: (_editor: AlexEditor, element: AlexElement, color: string) => void;
48
68
  /**
49
69
  * 元素格式化时处理一些特殊的内部块元素,转为根级块元素
50
70
  * @param editor
@@ -1,9 +1,8 @@
1
- import { App, Component, ComponentInternalInstance, VNode } from 'vue';
2
- import { AlexElement } from 'alex-editor';
3
- import { ButtonOptionsItemType, ButtonTypeType } from '../components/button/props';
1
+ import { App, Component, VNode } from 'vue';
4
2
  import { LocaleType } from '../locale';
5
- import { InsertImageUploadErrorType } from '../components/insertImage/props';
6
- import { default as Button } from '../components/button/button.vue';
3
+ import { Button, ButtonOptionsItemType, ButtonTypeType } from '../components/button';
4
+ import { InsertImageUploadErrorType } from '../components/insertImage';
5
+ import { InsertAttachmentUploadErrorType } from '../components/insertAttachment';
7
6
 
8
7
  export type ObjectType = {
9
8
  [key: string]: any;
@@ -22,6 +21,7 @@ export interface MenuButtonType {
22
21
  show?: boolean;
23
22
  leftBorder?: boolean;
24
23
  rightBorder?: boolean;
24
+ disabled?: boolean;
25
25
  }
26
26
  export interface MenuSelectButtonType extends MenuButtonType {
27
27
  options?: (string | number | ButtonOptionsItemType)[];
@@ -34,23 +34,35 @@ export interface MenuDisplayButtonType extends MenuSelectButtonType {
34
34
  export interface MenuImageButtonType extends MenuButtonType {
35
35
  allowedFileType?: string[];
36
36
  multiple?: boolean;
37
- maxSize?: number | null;
38
- minSize?: number | null;
39
- customUpload?: ((files: File[]) => string[]) | ((files: File[]) => Promise<string[]>) | null;
40
- handleError?: ((error: InsertImageUploadErrorType, file: File) => void) | null;
37
+ maxSize?: number;
38
+ minSize?: number;
39
+ customUpload?: ((files: File[]) => string[]) | ((files: File[]) => Promise<string[]>);
40
+ handleError?: (error: InsertImageUploadErrorType, file: File) => void;
41
41
  }
42
42
  export interface MenuVideoButtonType extends MenuButtonType {
43
43
  allowedFileType?: string[];
44
44
  multiple?: boolean;
45
- maxSize?: number | null;
46
- minSize?: number | null;
47
- customUpload?: ((files: File[]) => string[]) | ((files: File[]) => Promise<string[]>) | null;
48
- handleError?: ((error: InsertImageUploadErrorType, file: File) => void) | null;
45
+ maxSize?: number;
46
+ minSize?: number;
47
+ customUpload?: ((files: File[]) => string[]) | ((files: File[]) => Promise<string[]>);
48
+ handleError?: (error: InsertImageUploadErrorType, file: File) => void;
49
49
  }
50
50
  export interface MenuTableButtonType extends MenuButtonType {
51
51
  maxRows?: number;
52
52
  maxColumns?: number;
53
53
  }
54
+ export interface MenuAttachmentButtonType extends MenuButtonType {
55
+ accept?: string;
56
+ allowedFileType?: string[];
57
+ multiple?: boolean;
58
+ maxSize?: number;
59
+ minSize?: number;
60
+ customUpload?: ((files: File[]) => string[]) | ((files: File[]) => Promise<string[]>);
61
+ handleError?: (error: InsertAttachmentUploadErrorType, file: File) => void;
62
+ }
63
+ export interface MenuMathformulaButtonType extends MenuButtonType {
64
+ handleError?: (error: Error) => void;
65
+ }
54
66
  export type MenuCustomButtonType = {
55
67
  type?: ButtonTypeType;
56
68
  title?: string;
@@ -96,11 +108,10 @@ export type TextToolbarType = {
96
108
  };
97
109
  export type ToolbarConfigType = {
98
110
  use?: boolean;
99
- style?: ObjectType | null;
111
+ style?: ObjectType;
100
112
  tooltip?: boolean;
101
113
  codeBlock?: CodeBlockToolbarType;
102
114
  text?: TextToolbarType;
103
- extraDisabled?: ((name: string) => boolean) | null;
104
115
  };
105
116
  export type MenuSequenceType = {
106
117
  [key: string]: number | undefined;
@@ -133,6 +144,10 @@ export type MenuSequenceType = {
133
144
  codeBlock?: number;
134
145
  sourceView?: number;
135
146
  fullScreen?: number;
147
+ attachment?: number;
148
+ mathformula?: number;
149
+ panel?: number;
150
+ infoBlock?: number;
136
151
  };
137
152
  export type MenuModeType = 'default' | 'inner' | 'fixed';
138
153
  export type MenuExtendType = {
@@ -142,8 +157,7 @@ export type MenuConfigType = {
142
157
  use?: boolean;
143
158
  tooltip?: boolean;
144
159
  mode?: MenuModeType;
145
- extraDisabled?: ((name: string) => boolean) | null;
146
- style?: ObjectType | null;
160
+ style?: ObjectType;
147
161
  sequence?: MenuSequenceType;
148
162
  undo?: MenuButtonType;
149
163
  redo?: MenuButtonType;
@@ -175,24 +189,12 @@ export type MenuConfigType = {
175
189
  codeBlock?: MenuButtonType;
176
190
  sourceView?: MenuButtonType;
177
191
  fullScreen?: MenuButtonType;
192
+ attachment?: MenuAttachmentButtonType;
193
+ mathformula?: MenuMathformulaButtonType;
194
+ panel?: MenuButtonType;
195
+ infoBlock?: MenuButtonType;
178
196
  extends?: MenuExtendType;
179
197
  };
180
- export type PluginMenuConfigType = {
181
- extraDisabled?: ((name: string) => boolean) | null;
182
- sequence: number;
183
- extend: MenuCustomButtonType;
184
- };
185
- export type PluginResultType = {
186
- name: string;
187
- menu?: PluginMenuConfigType;
188
- updateView?: () => void;
189
- customParseNode?: (element: AlexElement) => AlexElement;
190
- extraKeepTags?: string[];
191
- renderRule?: (el: AlexElement) => void;
192
- pasteKeepMarks?: (el: AlexElement) => ObjectType;
193
- pasteKeepStyles?: (el: AlexElement) => ObjectType;
194
- };
195
- export type PluginType = (editifyInstance: ComponentInternalInstance, editTrans: (key: string) => any) => PluginResultType;
196
198
  export type SFCWithInstall<T> = T & {
197
199
  install(app: App): void;
198
200
  };
@@ -242,7 +244,7 @@ export declare const getMenuConfig: (editTrans: (key: string) => any, editLocale
242
244
  * @param component
243
245
  * @returns
244
246
  */
245
- export declare const withInstall: <T extends Component>(component: T) => SFCWithInstall<T>;
247
+ export declare const withInstall: <T extends Component>(component: T) => SFCWithInstall<typeof component>;
246
248
  /**
247
249
  * 是否点击了编辑器以外的元素
248
250
  * @param editor
@@ -43,9 +43,9 @@ declare const _default: import('vue').DefineComponent<{
43
43
  default: boolean;
44
44
  };
45
45
  color: {
46
- type: import('vue').PropType<string | null>;
46
+ type: StringConstructor;
47
47
  default: string;
48
- validator(value: any): boolean;
48
+ validator(value: string): boolean;
49
49
  };
50
50
  videoRatio: {
51
51
  type: NumberConstructor;
@@ -111,10 +111,6 @@ declare const _default: import('vue').DefineComponent<{
111
111
  type: BooleanConstructor;
112
112
  default: boolean;
113
113
  };
114
- plugins: {
115
- type: import('vue').PropType<import('../core/tool').PluginType[]>;
116
- default: () => never[];
117
- };
118
114
  dark: {
119
115
  type: BooleanConstructor;
120
116
  default: boolean;
@@ -292,10 +288,10 @@ declare const _default: import('vue').DefineComponent<{
292
288
  } | null;
293
289
  }[];
294
290
  current: number;
295
- push: (stack: AlexElement[], range?: import('alex-editor').AlexRange | null | undefined) => void;
296
- get: (type: 1 | -1) => import('alex-editor').AlexHistoryResultType | null;
291
+ push: (stack: AlexElement[], range?: import('alex-editor').AlexRange | null) => void;
292
+ get: (type: -1 | 1) => import('alex-editor').AlexHistoryResultType | null;
297
293
  updateCurrentRange: (range: import('alex-editor').AlexRange) => void;
298
- __cloneRange: (newStack: AlexElement[], range?: import('alex-editor').AlexRange | null | undefined) => import('alex-editor').AlexRange | null;
294
+ __cloneRange: (newStack: AlexElement[], range?: import('alex-editor').AlexRange | null) => import('alex-editor').AlexRange | null;
299
295
  };
300
296
  stack: {
301
297
  key: number;
@@ -508,8 +504,8 @@ declare const _default: import('vue').DefineComponent<{
508
504
  addElementTo: (childEle: AlexElement, parentEle: AlexElement, index?: number | undefined) => void;
509
505
  addElementBefore: (newEle: AlexElement, targetEle: AlexElement) => void;
510
506
  addElementAfter: (newEle: AlexElement, targetEle: AlexElement) => void;
511
- collapseToStart: (element?: AlexElement | undefined) => void;
512
- collapseToEnd: (element?: AlexElement | undefined) => void;
507
+ collapseToStart: (element?: AlexElement) => void;
508
+ collapseToEnd: (element?: AlexElement) => void;
513
509
  setDisabled: () => void;
514
510
  setEnabled: () => void;
515
511
  emit: (eventName: string, ...value: any) => boolean;
@@ -518,7 +514,7 @@ declare const _default: import('vue').DefineComponent<{
518
514
  } | null>;
519
515
  isSourceView: import('vue').Ref<boolean>;
520
516
  isFullScreen: import('vue').Ref<boolean>;
521
- canUseMenu: import('vue').Ref<boolean>;
517
+ rangeKey: import('vue').Ref<number | null>;
522
518
  dataRangeCaches: import('vue').Ref<{
523
519
  list: {
524
520
  element: {
@@ -564,7 +560,7 @@ declare const _default: import('vue').DefineComponent<{
564
560
  __render: () => void;
565
561
  __fullClone: () => AlexElement;
566
562
  };
567
- offset: false | number[];
563
+ offset: number[] | false;
568
564
  }[];
569
565
  flatList: {
570
566
  element: {
@@ -610,7 +606,7 @@ declare const _default: import('vue').DefineComponent<{
610
606
  __render: () => void;
611
607
  __fullClone: () => AlexElement;
612
608
  };
613
- offset: false | number[];
609
+ offset: number[] | false;
614
610
  }[];
615
611
  }>;
616
612
  textValue: import('vue').ComputedRef<string>;
@@ -620,10 +616,10 @@ declare const _default: import('vue').DefineComponent<{
620
616
  undo: () => void;
621
617
  redo: () => void;
622
618
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
623
- "update:modelValue": (...args: any[]) => void;
624
619
  change: (...args: any[]) => void;
625
620
  blur: (...args: any[]) => void;
626
621
  focus: (...args: any[]) => void;
622
+ "update:modelValue": (...args: any[]) => void;
627
623
  keydown: (...args: any[]) => void;
628
624
  keyup: (...args: any[]) => void;
629
625
  insertparagraph: (...args: any[]) => void;
@@ -671,9 +667,9 @@ declare const _default: import('vue').DefineComponent<{
671
667
  default: boolean;
672
668
  };
673
669
  color: {
674
- type: import('vue').PropType<string | null>;
670
+ type: StringConstructor;
675
671
  default: string;
676
- validator(value: any): boolean;
672
+ validator(value: string): boolean;
677
673
  };
678
674
  videoRatio: {
679
675
  type: NumberConstructor;
@@ -739,10 +735,6 @@ declare const _default: import('vue').DefineComponent<{
739
735
  type: BooleanConstructor;
740
736
  default: boolean;
741
737
  };
742
- plugins: {
743
- type: import('vue').PropType<import('../core/tool').PluginType[]>;
744
- default: () => never[];
745
- };
746
738
  dark: {
747
739
  type: BooleanConstructor;
748
740
  default: boolean;
@@ -756,24 +748,23 @@ declare const _default: import('vue').DefineComponent<{
756
748
  default: number;
757
749
  };
758
750
  }>> & {
759
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
760
751
  onFocus?: ((...args: any[]) => any) | undefined;
761
752
  onBlur?: ((...args: any[]) => any) | undefined;
762
753
  onChange?: ((...args: any[]) => any) | undefined;
763
754
  onKeydown?: ((...args: any[]) => any) | undefined;
764
755
  onKeyup?: ((...args: any[]) => any) | undefined;
756
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
765
757
  onInsertparagraph?: ((...args: any[]) => any) | undefined;
766
758
  onRangeupdate?: ((...args: any[]) => any) | undefined;
767
759
  onUpdateview?: ((...args: any[]) => any) | undefined;
768
760
  }, {
769
- color: string | null;
761
+ color: string;
770
762
  disabled: boolean;
771
763
  zIndex: number;
772
- modelValue: string;
773
- border: boolean;
774
764
  menu: MenuConfigType;
775
765
  placeholder: string;
776
- autoheight: boolean;
766
+ modelValue: string;
767
+ border: boolean;
777
768
  toolbar: ToolbarConfigType;
778
769
  locale: import('../locale').LocaleType;
779
770
  autofocus: boolean;
@@ -793,8 +784,8 @@ declare const _default: import('vue').DefineComponent<{
793
784
  customParseNode: (el: AlexElement) => AlexElement;
794
785
  extraKeepTags: string[];
795
786
  renderRules: ((el: AlexElement) => void)[];
787
+ autoheight: boolean;
796
788
  tab: boolean;
797
- plugins: import('../core/tool').PluginType[];
798
789
  dark: boolean;
799
790
  offset: number;
800
791
  }, {}>;
@@ -0,0 +1,4 @@
1
+ import { default as Menu } from './menu.vue';
2
+
3
+ export type * from './props';
4
+ export { Menu };
@@ -6,7 +6,7 @@ declare const _default: import('vue').DefineComponent<{
6
6
  default: null;
7
7
  };
8
8
  color: {
9
- type: import('vue').PropType<string | null>;
9
+ type: StringConstructor;
10
10
  default: string;
11
11
  };
12
12
  zIndex: {
@@ -14,7 +14,6 @@ declare const _default: import('vue').DefineComponent<{
14
14
  default: number;
15
15
  };
16
16
  }, {
17
- handleRangeUpdate: () => void;
18
17
  height: Ref<number>;
19
18
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
20
19
  config: {
@@ -22,7 +21,7 @@ declare const _default: import('vue').DefineComponent<{
22
21
  default: null;
23
22
  };
24
23
  color: {
25
- type: import('vue').PropType<string | null>;
24
+ type: StringConstructor;
26
25
  default: string;
27
26
  };
28
27
  zIndex: {
@@ -30,7 +29,7 @@ declare const _default: import('vue').DefineComponent<{
30
29
  default: number;
31
30
  };
32
31
  }>>, {
33
- color: string | null;
32
+ color: string;
34
33
  zIndex: number;
35
34
  config: import('../../core/tool').MenuConfigType;
36
35
  }, {}>;
@@ -7,7 +7,7 @@ export declare const MenuProps: {
7
7
  default: null;
8
8
  };
9
9
  color: {
10
- type: PropType<string | null>;
10
+ type: StringConstructor;
11
11
  default: string;
12
12
  };
13
13
  zIndex: {
@@ -1,6 +1,6 @@
1
1
  import { ExtractPublicPropTypes, PropType } from 'vue';
2
2
  import { AlexElement } from 'alex-editor';
3
- import { PluginType, MenuConfigType, ObjectType, ToolbarConfigType } from '../core/tool';
3
+ import { MenuConfigType, ObjectType, ToolbarConfigType } from '../core/tool';
4
4
  import { LocaleType } from '../locale';
5
5
 
6
6
  export type EditifyResizeParamsType = {
@@ -54,9 +54,9 @@ export declare const EditifyProps: {
54
54
  default: boolean;
55
55
  };
56
56
  color: {
57
- type: PropType<string | null>;
57
+ type: StringConstructor;
58
58
  default: string;
59
- validator(value: any): boolean;
59
+ validator(value: string): boolean;
60
60
  };
61
61
  videoRatio: {
62
62
  type: NumberConstructor;
@@ -122,10 +122,6 @@ export declare const EditifyProps: {
122
122
  type: BooleanConstructor;
123
123
  default: boolean;
124
124
  };
125
- plugins: {
126
- type: PropType<PluginType[]>;
127
- default: () => never[];
128
- };
129
125
  dark: {
130
126
  type: BooleanConstructor;
131
127
  default: boolean;
@@ -0,0 +1,4 @@
1
+ import { default as Toolbar } from './toolbar.vue';
2
+
3
+ export type * from './props';
4
+ export { Toolbar };
@@ -15,7 +15,7 @@ export declare const ToolbarProps: {
15
15
  default: null;
16
16
  };
17
17
  type: {
18
- type: PropType<"link" | "text" | "image" | "video" | "table" | "codeBlock">;
18
+ type: PropType<"text" | "table" | "link" | "codeBlock" | "image" | "video">;
19
19
  default: string;
20
20
  validator(value: any): boolean;
21
21
  };
@@ -24,7 +24,7 @@ export declare const ToolbarProps: {
24
24
  default: null;
25
25
  };
26
26
  color: {
27
- type: PropType<string | null>;
27
+ type: StringConstructor;
28
28
  default: string;
29
29
  };
30
30
  zIndex: {