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
@@ -0,0 +1,32 @@
1
+ import { MenuButtonType } from '../core/tool';
2
+
3
+ /**
4
+ * 工具栏 - 删除线
5
+ */
6
+ export declare const StrikethroughToolbarButton: import('vue').DefineSetupFnComponent<{
7
+ color: string;
8
+ zIndex: number;
9
+ config: MenuButtonType;
10
+ tooltip: boolean;
11
+ }, {}, {}, {
12
+ color: string;
13
+ zIndex: number;
14
+ config: MenuButtonType;
15
+ tooltip: boolean;
16
+ } & {}, import('vue').PublicProps>;
17
+ /**
18
+ * 菜单栏 - 删除线
19
+ */
20
+ export declare const StrikethroughMenuButton: import('vue').DefineSetupFnComponent<{
21
+ color: string;
22
+ zIndex: number;
23
+ config: MenuButtonType;
24
+ tooltip: boolean;
25
+ disabled: boolean;
26
+ }, {}, {}, {
27
+ color: string;
28
+ zIndex: number;
29
+ config: MenuButtonType;
30
+ tooltip: boolean;
31
+ disabled: boolean;
32
+ } & {}, import('vue').PublicProps>;
@@ -0,0 +1,32 @@
1
+ import { MenuButtonType } from '../core/tool';
2
+
3
+ /**
4
+ * 工具栏 - 下标
5
+ */
6
+ export declare const SubToolbarButton: import('vue').DefineSetupFnComponent<{
7
+ color: string;
8
+ zIndex: number;
9
+ config: MenuButtonType;
10
+ tooltip: boolean;
11
+ }, {}, {}, {
12
+ color: string;
13
+ zIndex: number;
14
+ config: MenuButtonType;
15
+ tooltip: boolean;
16
+ } & {}, import('vue').PublicProps>;
17
+ /**
18
+ * 菜单栏 - 下标
19
+ */
20
+ export declare const SubMenuButton: import('vue').DefineSetupFnComponent<{
21
+ color: string;
22
+ zIndex: number;
23
+ config: MenuButtonType;
24
+ tooltip: boolean;
25
+ disabled: boolean;
26
+ }, {}, {}, {
27
+ color: string;
28
+ zIndex: number;
29
+ config: MenuButtonType;
30
+ tooltip: boolean;
31
+ disabled: boolean;
32
+ } & {}, import('vue').PublicProps>;
@@ -0,0 +1,32 @@
1
+ import { MenuButtonType } from '../core/tool';
2
+
3
+ /**
4
+ * 工具栏 - 上标
5
+ */
6
+ export declare const SuperToolbarButton: import('vue').DefineSetupFnComponent<{
7
+ color: string;
8
+ zIndex: number;
9
+ config: MenuButtonType;
10
+ tooltip: boolean;
11
+ }, {}, {}, {
12
+ color: string;
13
+ zIndex: number;
14
+ config: MenuButtonType;
15
+ tooltip: boolean;
16
+ } & {}, import('vue').PublicProps>;
17
+ /**
18
+ * 菜单栏 - 上标
19
+ */
20
+ export declare const SuperMenuButton: import('vue').DefineSetupFnComponent<{
21
+ color: string;
22
+ zIndex: number;
23
+ config: MenuButtonType;
24
+ tooltip: boolean;
25
+ disabled: boolean;
26
+ }, {}, {}, {
27
+ color: string;
28
+ zIndex: number;
29
+ config: MenuButtonType;
30
+ tooltip: boolean;
31
+ disabled: boolean;
32
+ } & {}, import('vue').PublicProps>;
@@ -0,0 +1,32 @@
1
+ import { MenuTableButtonType } from '../core/tool';
2
+
3
+ /**
4
+ * 工具栏 - 表格操作
5
+ */
6
+ export declare const TableToolbar: import('vue').DefineSetupFnComponent<{
7
+ color: string;
8
+ zIndex: number;
9
+ tooltip: boolean;
10
+ }, "reset-toolbar"[], {}, {
11
+ color: string;
12
+ zIndex: number;
13
+ tooltip: boolean;
14
+ } & {
15
+ "onReset-toolbar"?: ((...args: any[]) => any) | undefined;
16
+ }, import('vue').PublicProps>;
17
+ /**
18
+ * 菜单栏 - 插入表格
19
+ */
20
+ export declare const TableMenuButton: import('vue').DefineSetupFnComponent<{
21
+ color: string;
22
+ zIndex: number;
23
+ config: MenuTableButtonType;
24
+ tooltip: boolean;
25
+ disabled: boolean;
26
+ }, {}, {}, {
27
+ color: string;
28
+ zIndex: number;
29
+ config: MenuTableButtonType;
30
+ tooltip: boolean;
31
+ disabled: boolean;
32
+ } & {}, import('vue').PublicProps>;
@@ -0,0 +1,32 @@
1
+ import { MenuButtonType } from '../core/tool';
2
+
3
+ /**
4
+ * 工具栏 - 任务列表
5
+ */
6
+ export declare const TaskToolbarButton: import('vue').DefineSetupFnComponent<{
7
+ color: string;
8
+ zIndex: number;
9
+ config: MenuButtonType;
10
+ tooltip: boolean;
11
+ }, {}, {}, {
12
+ color: string;
13
+ zIndex: number;
14
+ config: MenuButtonType;
15
+ tooltip: boolean;
16
+ } & {}, import('vue').PublicProps>;
17
+ /**
18
+ * 菜单栏 - 任务列表
19
+ */
20
+ export declare const TaskMenuButton: import('vue').DefineSetupFnComponent<{
21
+ color: string;
22
+ zIndex: number;
23
+ config: MenuButtonType;
24
+ tooltip: boolean;
25
+ disabled: boolean;
26
+ }, {}, {}, {
27
+ color: string;
28
+ zIndex: number;
29
+ config: MenuButtonType;
30
+ tooltip: boolean;
31
+ disabled: boolean;
32
+ } & {}, import('vue').PublicProps>;
@@ -0,0 +1,32 @@
1
+ import { MenuButtonType } from '../core/tool';
2
+
3
+ /**
4
+ * 工具栏 - 下划线
5
+ */
6
+ export declare const UnderlineToolbarButton: import('vue').DefineSetupFnComponent<{
7
+ color: string;
8
+ zIndex: number;
9
+ config: MenuButtonType;
10
+ tooltip: boolean;
11
+ }, {}, {}, {
12
+ color: string;
13
+ zIndex: number;
14
+ config: MenuButtonType;
15
+ tooltip: boolean;
16
+ } & {}, import('vue').PublicProps>;
17
+ /**
18
+ * 菜单栏 - 下划线
19
+ */
20
+ export declare const UnderlineMenuButton: import('vue').DefineSetupFnComponent<{
21
+ color: string;
22
+ zIndex: number;
23
+ config: MenuButtonType;
24
+ tooltip: boolean;
25
+ disabled: boolean;
26
+ }, {}, {}, {
27
+ color: string;
28
+ zIndex: number;
29
+ config: MenuButtonType;
30
+ tooltip: boolean;
31
+ disabled: boolean;
32
+ } & {}, import('vue').PublicProps>;
@@ -0,0 +1,18 @@
1
+ import { MenuButtonType } from '../core/tool';
2
+
3
+ /**
4
+ * 菜单栏 - 撤销
5
+ */
6
+ export declare const UndoMenuButton: import('vue').DefineSetupFnComponent<{
7
+ color: string;
8
+ zIndex: number;
9
+ config: MenuButtonType;
10
+ tooltip: boolean;
11
+ disabled: boolean;
12
+ }, {}, {}, {
13
+ color: string;
14
+ zIndex: number;
15
+ config: MenuButtonType;
16
+ tooltip: boolean;
17
+ disabled: boolean;
18
+ } & {}, import('vue').PublicProps>;
@@ -0,0 +1,32 @@
1
+ import { MenuButtonType } from '../core/tool';
2
+
3
+ /**
4
+ * 工具栏 - 无序列表
5
+ */
6
+ export declare const UnorderListToolbarButton: import('vue').DefineSetupFnComponent<{
7
+ color: string;
8
+ zIndex: number;
9
+ config: MenuButtonType;
10
+ tooltip: boolean;
11
+ }, {}, {}, {
12
+ color: string;
13
+ zIndex: number;
14
+ config: MenuButtonType;
15
+ tooltip: boolean;
16
+ } & {}, import('vue').PublicProps>;
17
+ /**
18
+ * 菜单栏 - 无序列表
19
+ */
20
+ export declare const UnorderListMenuButton: import('vue').DefineSetupFnComponent<{
21
+ color: string;
22
+ zIndex: number;
23
+ config: MenuButtonType;
24
+ tooltip: boolean;
25
+ disabled: boolean;
26
+ }, {}, {}, {
27
+ color: string;
28
+ zIndex: number;
29
+ config: MenuButtonType;
30
+ tooltip: boolean;
31
+ disabled: boolean;
32
+ } & {}, import('vue').PublicProps>;
@@ -0,0 +1,38 @@
1
+ import { MenuVideoButtonType } from '../core/tool';
2
+
3
+ export type VideoConfigType = {
4
+ controls: boolean;
5
+ loop: boolean;
6
+ autoplay: boolean;
7
+ muted: boolean;
8
+ };
9
+ /**
10
+ * 工具栏 - 视频操作
11
+ */
12
+ export declare const VideoToolbar: import('vue').DefineSetupFnComponent<{
13
+ color: string;
14
+ zIndex: number;
15
+ tooltip: boolean;
16
+ }, "reset-toolbar"[], {}, {
17
+ color: string;
18
+ zIndex: number;
19
+ tooltip: boolean;
20
+ } & {
21
+ "onReset-toolbar"?: ((...args: any[]) => any) | undefined;
22
+ }, import('vue').PublicProps>;
23
+ /**
24
+ * 菜单栏 - 插入视频
25
+ */
26
+ export declare const VideoMenuButton: import('vue').DefineSetupFnComponent<{
27
+ color: string;
28
+ zIndex: number;
29
+ config: MenuVideoButtonType;
30
+ tooltip: boolean;
31
+ disabled: boolean;
32
+ }, {}, {}, {
33
+ color: string;
34
+ zIndex: number;
35
+ config: MenuVideoButtonType;
36
+ tooltip: boolean;
37
+ disabled: boolean;
38
+ } & {}, import('vue').PublicProps>;
package/lib/index.d.ts CHANGED
@@ -42,9 +42,9 @@ declare const Editify: import('./core/tool').SFCWithInstall<import('vue').Define
42
42
  default: boolean;
43
43
  };
44
44
  color: {
45
- type: import('vue').PropType<string | null>;
45
+ type: StringConstructor;
46
46
  default: string;
47
- validator(value: any): boolean;
47
+ validator(value: string): boolean;
48
48
  };
49
49
  videoRatio: {
50
50
  type: NumberConstructor;
@@ -110,10 +110,6 @@ declare const Editify: import('./core/tool').SFCWithInstall<import('vue').Define
110
110
  type: BooleanConstructor;
111
111
  default: boolean;
112
112
  };
113
- plugins: {
114
- type: import('vue').PropType<import('./core/tool').PluginType[]>;
115
- default: () => never[];
116
- };
117
113
  dark: {
118
114
  type: BooleanConstructor;
119
115
  default: boolean;
@@ -291,10 +287,10 @@ declare const Editify: import('./core/tool').SFCWithInstall<import('vue').Define
291
287
  } | null;
292
288
  }[];
293
289
  current: number;
294
- push: (stack: import('alex-editor').AlexElement[], range?: import('alex-editor').AlexRange | null | undefined) => void;
295
- get: (type: 1 | -1) => import('alex-editor').AlexHistoryResultType | null;
290
+ push: (stack: import('alex-editor').AlexElement[], range?: import('alex-editor').AlexRange | null) => void;
291
+ get: (type: -1 | 1) => import('alex-editor').AlexHistoryResultType | null;
296
292
  updateCurrentRange: (range: import('alex-editor').AlexRange) => void;
297
- __cloneRange: (newStack: import('alex-editor').AlexElement[], range?: import('alex-editor').AlexRange | null | undefined) => import('alex-editor').AlexRange | null;
293
+ __cloneRange: (newStack: import('alex-editor').AlexElement[], range?: import('alex-editor').AlexRange | null) => import('alex-editor').AlexRange | null;
298
294
  };
299
295
  stack: {
300
296
  key: number;
@@ -507,8 +503,8 @@ declare const Editify: import('./core/tool').SFCWithInstall<import('vue').Define
507
503
  addElementTo: (childEle: import('alex-editor').AlexElement, parentEle: import('alex-editor').AlexElement, index?: number | undefined) => void;
508
504
  addElementBefore: (newEle: import('alex-editor').AlexElement, targetEle: import('alex-editor').AlexElement) => void;
509
505
  addElementAfter: (newEle: import('alex-editor').AlexElement, targetEle: import('alex-editor').AlexElement) => void;
510
- collapseToStart: (element?: import('alex-editor').AlexElement | undefined) => void;
511
- collapseToEnd: (element?: import('alex-editor').AlexElement | undefined) => void;
506
+ collapseToStart: (element?: import('alex-editor').AlexElement) => void;
507
+ collapseToEnd: (element?: import('alex-editor').AlexElement) => void;
512
508
  setDisabled: () => void;
513
509
  setEnabled: () => void;
514
510
  emit: (eventName: string, ...value: any) => boolean;
@@ -517,7 +513,7 @@ declare const Editify: import('./core/tool').SFCWithInstall<import('vue').Define
517
513
  } | null>;
518
514
  isSourceView: import('vue').Ref<boolean>;
519
515
  isFullScreen: import('vue').Ref<boolean>;
520
- canUseMenu: import('vue').Ref<boolean>;
516
+ rangeKey: import('vue').Ref<number | null>;
521
517
  dataRangeCaches: import('vue').Ref<{
522
518
  list: {
523
519
  element: {
@@ -563,7 +559,7 @@ declare const Editify: import('./core/tool').SFCWithInstall<import('vue').Define
563
559
  __render: () => void;
564
560
  __fullClone: () => import('alex-editor').AlexElement;
565
561
  };
566
- offset: false | number[];
562
+ offset: number[] | false;
567
563
  }[];
568
564
  flatList: {
569
565
  element: {
@@ -609,7 +605,7 @@ declare const Editify: import('./core/tool').SFCWithInstall<import('vue').Define
609
605
  __render: () => void;
610
606
  __fullClone: () => import('alex-editor').AlexElement;
611
607
  };
612
- offset: false | number[];
608
+ offset: number[] | false;
613
609
  }[];
614
610
  }>;
615
611
  textValue: import('vue').ComputedRef<string>;
@@ -619,10 +615,10 @@ declare const Editify: import('./core/tool').SFCWithInstall<import('vue').Define
619
615
  undo: () => void;
620
616
  redo: () => void;
621
617
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
622
- "update:modelValue": (...args: any[]) => void;
623
618
  change: (...args: any[]) => void;
624
619
  blur: (...args: any[]) => void;
625
620
  focus: (...args: any[]) => void;
621
+ "update:modelValue": (...args: any[]) => void;
626
622
  keydown: (...args: any[]) => void;
627
623
  keyup: (...args: any[]) => void;
628
624
  insertparagraph: (...args: any[]) => void;
@@ -670,9 +666,9 @@ declare const Editify: import('./core/tool').SFCWithInstall<import('vue').Define
670
666
  default: boolean;
671
667
  };
672
668
  color: {
673
- type: import('vue').PropType<string | null>;
669
+ type: StringConstructor;
674
670
  default: string;
675
- validator(value: any): boolean;
671
+ validator(value: string): boolean;
676
672
  };
677
673
  videoRatio: {
678
674
  type: NumberConstructor;
@@ -738,10 +734,6 @@ declare const Editify: import('./core/tool').SFCWithInstall<import('vue').Define
738
734
  type: BooleanConstructor;
739
735
  default: boolean;
740
736
  };
741
- plugins: {
742
- type: import('vue').PropType<import('./core/tool').PluginType[]>;
743
- default: () => never[];
744
- };
745
737
  dark: {
746
738
  type: BooleanConstructor;
747
739
  default: boolean;
@@ -755,24 +747,23 @@ declare const Editify: import('./core/tool').SFCWithInstall<import('vue').Define
755
747
  default: number;
756
748
  };
757
749
  }>> & {
758
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
759
750
  onFocus?: ((...args: any[]) => any) | undefined;
760
751
  onBlur?: ((...args: any[]) => any) | undefined;
761
752
  onChange?: ((...args: any[]) => any) | undefined;
762
753
  onKeydown?: ((...args: any[]) => any) | undefined;
763
754
  onKeyup?: ((...args: any[]) => any) | undefined;
755
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
764
756
  onInsertparagraph?: ((...args: any[]) => any) | undefined;
765
757
  onRangeupdate?: ((...args: any[]) => any) | undefined;
766
758
  onUpdateview?: ((...args: any[]) => any) | undefined;
767
759
  }, {
768
- color: string | null;
760
+ color: string;
769
761
  disabled: boolean;
770
762
  zIndex: number;
771
- modelValue: string;
772
- border: boolean;
773
763
  menu: import('./core/tool').MenuConfigType;
774
764
  placeholder: string;
775
- autoheight: boolean;
765
+ modelValue: string;
766
+ border: boolean;
776
767
  toolbar: import('./core/tool').ToolbarConfigType;
777
768
  locale: import('./locale').LocaleType;
778
769
  autofocus: boolean;
@@ -792,27 +783,29 @@ declare const Editify: import('./core/tool').SFCWithInstall<import('vue').Define
792
783
  customParseNode: (el: import('alex-editor').AlexElement) => import('alex-editor').AlexElement;
793
784
  extraKeepTags: string[];
794
785
  renderRules: ((el: import('alex-editor').AlexElement) => void)[];
786
+ autoheight: boolean;
795
787
  tab: boolean;
796
- plugins: import('./core/tool').PluginType[];
797
788
  dark: boolean;
798
789
  offset: number;
799
790
  }, {}>>;
800
- export type { ButtonTypeType, ButtonOptionsItemType, ButtonSelectConfigType, ButtonDisplayConfigType } from './components/button/props';
801
- export type { InsertImageUploadErrorType } from './components/insertImage/props';
802
- export type { InsertVideoUploadErrorType } from './components/insertVideo/props';
803
- export type { MenuButtonType, MenuSelectButtonType, MenuDisplayButtonType, MenuImageButtonType, MenuVideoButtonType, MenuTableButtonType, MenuCustomButtonType, CodeBlockToolbarType, TextToolbarType, ToolbarConfigType, MenuSequenceType, MenuModeType, MenuExtendType, MenuConfigType, PluginMenuConfigType, PluginType, PluginResultType } from './core/tool';
804
- export type { ElementMatchConfigType } from './core/function';
805
- export { elementIsMatch, getMatchElementByElement, getMatchElementByRange, isList, isTask, elementIsInList, elementIsInTask, hasPreInRange, hasQuoteInRange, hasListInRange, hasTaskInRange, hasLinkInRange, hasTableInRange, hasImageInRange, hasVideoInRange, isRangeInQuote, isRangeInList, isRangeInTask, queryTextStyle, queryTextMark, getRangeText, setIndentIncrease, setIndentDecrease, setQuote, setAlign, setList, setTask, setTextStyle, setTextMark, removeTextStyle, removeTextMark, setLineHeight, insertLink, insertImage, insertVideo, insertTable, insertCodeBlock, insertSeparator } from './core/function';
791
+ export type * from './components/button';
792
+ export type * from './components/checkbox';
793
+ export type * from './components/colors';
794
+ export type * from './components/icon';
795
+ export type * from './components/insertImage';
796
+ export type * from './components/insertLink';
797
+ export type * from './components/insertTable';
798
+ export type * from './components/insertVideo';
799
+ export type * from './components/layer';
800
+ export type * from './components/tooltip';
801
+ export type * from './components/triangle';
802
+ export type * from './components/updateLink';
803
+ export type * from './core/tool';
804
+ export type * from './core/function';
805
+ export type * from './editify/menu';
806
+ export type * from './editify/toolbar';
807
+ export { elementIsMatch, getMatchElementByElement, getMatchElementByRange, elementIsList, getListByElement, hasListInRange, rangeIsInList, elementIsTask, getTaskByElement, hasTaskInRange, rangeIsInTask, elementIsAttachment, hasAttachmentInRange, elementIsMathformula, getMathformulaByElement, hasMathformulaInRange, elementIsPanel, getPanelByElement, hasPanelInRange, elementIsInfoBlock, getInfoBlockByElement, hasInfoBlockInRange, rangeIsInInfoBlock, hasPreInRange, hasQuoteInRange, hasLinkInRange, hasTableInRange, hasImageInRange, hasVideoInRange, rangeIsInQuote, queryTextStyle, queryTextMark, getRangeText, setIndentIncrease, setIndentDecrease, setQuote, setAlign, setList, setTask, setTextStyle, setTextMark, removeTextStyle, removeTextMark, setLineHeight, insertLink, insertImage, insertVideo, insertTable, insertCodeBlock, insertSeparator } from './core/function';
806
808
  declare const install: (app: App) => void;
807
- declare const version = "0.2.14";
809
+ declare const version = "0.2.15";
808
810
  export { AlexElement } from 'alex-editor';
809
- export type { AttachmentOptionsType } from './plugins/attachment';
810
- export type { InsertAttachmentUploadErrorType } from './plugins/attachment/insertAttachment/props';
811
- export { attachment, isAttachment, hasAttachmentInRange } from './plugins/attachment';
812
- export type { MathformulaOptionsType } from './plugins/mathformula';
813
- export { mathformula, isMathformula, isUnderMathformula, getMathformulaElement, hasMathformulaInRange, getMathformulaElementByRange } from './plugins/mathformula';
814
- export type { PanelOptionsType } from './plugins/panel';
815
- export { panel, isPanel, isUnderPanel, getPanelElement, hasPanelInRange, getPanelElementByRange } from './plugins/panel';
816
- export type { InfoBlockOptionsType } from './plugins/infoBlock';
817
- export { infoBlock, isInfoBlock, isUnderInfoBlock, getInfoBlockElement, hasInfoBlockInRange, getInfoBlockElementByRange } from './plugins/infoBlock';
818
811
  export { Editify as default, Editify, install, version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue-editify",
3
- "version": "0.2.14",
3
+ "version": "0.2.15",
4
4
  "private": false,
5
5
  "sideEffects": [
6
6
  "*.css"
@@ -17,7 +17,7 @@
17
17
  "lib": "vue-tsc && vite build"
18
18
  },
19
19
  "dependencies": {
20
- "alex-editor": "^1.4.20",
20
+ "alex-editor": "^1.4.21",
21
21
  "dap-util": "^1.5.8",
22
22
  "highlight.js": "^11.8.0",
23
23
  "katex": "^0.16.10",
@@ -29,11 +29,11 @@
29
29
  "@vitejs/plugin-vue": "^5.0.4",
30
30
  "less": "^3.0.4",
31
31
  "terser": "^5.16.9",
32
- "typescript": "^5.2.2",
32
+ "typescript": "^5.5.3",
33
33
  "vite": "^5.2.8",
34
34
  "vite-plugin-css-injected-by-js": "^3.5.1",
35
- "vite-plugin-dts": "^3.7.3",
36
- "vue-tsc": "^1.8.27"
35
+ "vite-plugin-dts": "^3.9.1",
36
+ "vue-tsc": "^2.0.26"
37
37
  },
38
38
  "browserslist": [
39
39
  "> 1%",
@@ -30,11 +30,11 @@
30
30
  <script setup lang="ts">
31
31
  import { computed, ref } from 'vue'
32
32
  import { common as DapCommon, color as DapColor } from 'dap-util'
33
- import Tooltip from '@/components/tooltip/tooltip.vue'
34
- import Layer from '@/components/layer/layer.vue'
35
- import Icon from '@/components/icon/icon.vue'
36
33
  import { ObjectType } from '@/core/tool'
37
- import { ButtonDisplayConfigType, ButtonOptionsItemType, ButtonProps, ButtonSelectConfigType } from './props'
34
+ import { Tooltip } from '@/components/tooltip'
35
+ import { Layer } from '@/components/layer'
36
+ import { Icon } from '@/components/icon'
37
+ import { ButtonOptionsItemType, ButtonParseDisplayConfigType, ButtonParseSelectConfigType, ButtonProps } from './props'
38
38
 
39
39
  defineOptions({
40
40
  name: 'Button'
@@ -50,7 +50,7 @@ const btnRef = ref<HTMLElement | null>(null)
50
50
  const layerRef = ref<InstanceType<typeof Layer> | null>(null)
51
51
 
52
52
  //处理后的select配置
53
- const parseSelectConfig = computed<ButtonSelectConfigType>(() => {
53
+ const parseSelectConfig = computed<ButtonParseSelectConfigType>(() => {
54
54
  let options: ButtonOptionsItemType[] = []
55
55
  let width: number | '' = ''
56
56
  let maxHeight: number | '' = ''
@@ -59,15 +59,15 @@ const parseSelectConfig = computed<ButtonSelectConfigType>(() => {
59
59
  options = props.selectConfig.options.map(item => {
60
60
  if (DapCommon.isObject(item)) {
61
61
  return {
62
- label: (<ButtonOptionsItemType>item).label,
63
- value: (<ButtonOptionsItemType>item).value,
64
- icon: (<ButtonOptionsItemType>item).icon,
65
- style: (<ButtonOptionsItemType>item).style
62
+ label: (item as ButtonOptionsItemType).label,
63
+ value: (item as ButtonOptionsItemType).value,
64
+ icon: (item as ButtonOptionsItemType).icon,
65
+ style: (item as ButtonOptionsItemType).style
66
66
  }
67
67
  }
68
68
  return {
69
- label: <string | number>item,
70
- value: <string | number>item
69
+ label: item as string | number,
70
+ value: item as string | number
71
71
  }
72
72
  })
73
73
  }
@@ -85,7 +85,7 @@ const parseSelectConfig = computed<ButtonSelectConfigType>(() => {
85
85
  }
86
86
  })
87
87
  //处理后的display配置
88
- const parseDisplayConfig = computed<ButtonDisplayConfigType>(() => {
88
+ const parseDisplayConfig = computed<ButtonParseDisplayConfigType>(() => {
89
89
  let options: ButtonOptionsItemType[] = []
90
90
  let width: number | '' = ''
91
91
  let maxHeight: number | '' = ''
@@ -98,15 +98,15 @@ const parseDisplayConfig = computed<ButtonDisplayConfigType>(() => {
98
98
  options = props.displayConfig.options.map(item => {
99
99
  if (DapCommon.isObject(item)) {
100
100
  return {
101
- label: (<ButtonOptionsItemType>item).label,
102
- value: (<ButtonOptionsItemType>item).value,
103
- icon: (<ButtonOptionsItemType>item).icon,
104
- style: (<ButtonOptionsItemType>item).style
101
+ label: (item as ButtonOptionsItemType).label,
102
+ value: (item as ButtonOptionsItemType).value,
103
+ icon: (item as ButtonOptionsItemType).icon,
104
+ style: (item as ButtonOptionsItemType).style
105
105
  }
106
106
  }
107
107
  return {
108
- label: <string | number>item,
109
- value: <string | number>item
108
+ label: item as string | number,
109
+ value: item as string | number
110
110
  }
111
111
  })
112
112
  let optItem = options.find(item => {
@@ -132,11 +132,11 @@ const parseDisplayConfig = computed<ButtonDisplayConfigType>(() => {
132
132
  })
133
133
  //渲染的浮层列表数据
134
134
  const cmpOptions = computed<ButtonOptionsItemType[]>(() => {
135
- return props.type == 'select' ? <ButtonOptionsItemType[]>parseSelectConfig.value.options : <ButtonOptionsItemType[]>parseDisplayConfig.value.options
135
+ return props.type == 'select' ? parseSelectConfig.value.options! : parseDisplayConfig.value.options!
136
136
  })
137
137
  //显示在页面的value值对应的label
138
138
  const displayLabel = computed<string | number>(() => {
139
- const val = (<ButtonOptionsItemType[]>parseDisplayConfig.value.options).find(item => {
139
+ const val = parseDisplayConfig.value.options!.find(item => {
140
140
  return item.value == parseDisplayConfig.value.value
141
141
  })
142
142
  return val ? val.label! : ''
@@ -150,10 +150,7 @@ const parseColor = computed<number[]>(() => {
150
150
  })
151
151
  //按钮样式
152
152
  const btnStyle = computed<ObjectType>(() => {
153
- if (props.disabled) {
154
- return {}
155
- }
156
- if (props.color) {
153
+ if (!props.disabled && props.color) {
157
154
  //激活情况下和鼠标按下状态
158
155
  if (props.active || status.value == 'down') {
159
156
  return {
@@ -0,0 +1,5 @@
1
+ import Button from './button.vue'
2
+
3
+ export type * from './props'
4
+
5
+ export { Button }
@@ -16,6 +16,12 @@ export type ButtonSelectConfigType = {
16
16
  maxHeight?: number | ''
17
17
  }
18
18
 
19
+ export type ButtonParseSelectConfigType = {
20
+ options?: ButtonOptionsItemType[]
21
+ width?: number | ''
22
+ maxHeight?: number | ''
23
+ }
24
+
19
25
  export type ButtonDisplayConfigType = {
20
26
  options?: (ButtonOptionsItemType | number | string)[]
21
27
  width?: number | ''
@@ -23,6 +29,13 @@ export type ButtonDisplayConfigType = {
23
29
  value?: string | number
24
30
  }
25
31
 
32
+ export type ButtonParseDisplayConfigType = {
33
+ options?: ButtonOptionsItemType[]
34
+ width?: number | ''
35
+ maxHeight?: number | ''
36
+ value?: string | number
37
+ }
38
+
26
39
  export const ButtonProps = {
27
40
  //按钮类型
28
41
  type: {
@@ -62,7 +75,7 @@ export const ButtonProps = {
62
75
  },
63
76
  //主题色,用于按钮悬浮颜色变化使用,仅支持十六进制
64
77
  color: {
65
- type: String as PropType<string | null>,
78
+ type: String,
66
79
  default: ''
67
80
  },
68
81
  //是否禁用
@@ -12,7 +12,7 @@
12
12
  <script setup lang="ts">
13
13
  import { computed } from 'vue'
14
14
  import { common as DapCommon } from 'dap-util'
15
- import Icon from '@/components/icon/icon.vue'
15
+ import { Icon } from '@/components/icon'
16
16
  import { ObjectType } from '@/core/tool'
17
17
  import { CheckboxProps } from './props'
18
18
 
@@ -0,0 +1,5 @@
1
+ import Checkbox from './checkbox.vue'
2
+
3
+ export type * from './props'
4
+
5
+ export { Checkbox }