vue-editify 0.1.19 → 0.1.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. package/README.md +3 -3
  2. package/examples/App.vue +102 -62
  3. package/examples/main.ts +4 -4
  4. package/lib/components/button/button.vue.d.ts +11 -11
  5. package/lib/components/checkbox/checkbox.vue.d.ts +8 -8
  6. package/lib/components/colors/colors.vue.d.ts +4 -4
  7. package/lib/components/icon/icon.vue.d.ts +1 -1
  8. package/lib/components/insertImage/insertImage.vue.d.ts +9 -9
  9. package/lib/components/insertLink/insertLink.vue.d.ts +2 -2
  10. package/lib/components/insertTable/insertTable.vue.d.ts +2 -2
  11. package/lib/components/insertVideo/insertVideo.vue.d.ts +9 -9
  12. package/lib/components/layer/layer.vue.d.ts +9 -9
  13. package/lib/components/menu/menu.vue.d.ts +4 -4
  14. package/lib/components/toolbar/toolbar.vue.d.ts +9 -9
  15. package/lib/components/tooltip/tooltip.vue.d.ts +1 -1
  16. package/lib/components/triangle/triangle.vue.d.ts +4 -4
  17. package/lib/core/tool.d.ts +35 -35
  18. package/lib/editify/editify.vue.d.ts +68 -68
  19. package/lib/editify.es.js +57 -46
  20. package/lib/editify.umd.js +1 -1
  21. package/lib/index.d.ts +1 -1
  22. package/lib/style.css +1 -1
  23. package/package.json +45 -45
  24. package/src/components/button/button.less +145 -145
  25. package/src/components/button/button.vue +197 -197
  26. package/src/components/button/props.ts +95 -95
  27. package/src/components/checkbox/checkbox.less +84 -84
  28. package/src/components/checkbox/checkbox.vue +68 -68
  29. package/src/components/checkbox/props.ts +49 -49
  30. package/src/components/colors/colors.less +75 -75
  31. package/src/components/colors/colors.vue +36 -36
  32. package/src/components/colors/props.ts +29 -29
  33. package/src/components/icon/icon.less +14 -14
  34. package/src/components/icon/icon.vue +12 -12
  35. package/src/components/icon/props.ts +11 -11
  36. package/src/components/insertImage/insertImage.less +135 -135
  37. package/src/components/insertImage/insertImage.vue +146 -146
  38. package/src/components/insertImage/props.ts +43 -43
  39. package/src/components/insertLink/insertLink.less +64 -64
  40. package/src/components/insertLink/insertLink.vue +58 -58
  41. package/src/components/insertLink/props.ts +16 -16
  42. package/src/components/insertTable/insertTable.less +54 -54
  43. package/src/components/insertTable/insertTable.vue +85 -85
  44. package/src/components/insertTable/props.ts +27 -27
  45. package/src/components/insertVideo/insertVideo.less +135 -135
  46. package/src/components/insertVideo/insertVideo.vue +146 -146
  47. package/src/components/insertVideo/props.ts +43 -43
  48. package/src/components/layer/layer.less +49 -49
  49. package/src/components/layer/layer.vue +598 -598
  50. package/src/components/layer/props.ts +71 -71
  51. package/src/components/menu/menu.less +63 -63
  52. package/src/components/menu/menu.vue +1569 -1569
  53. package/src/components/menu/props.ts +17 -17
  54. package/src/components/toolbar/props.ts +35 -35
  55. package/src/components/toolbar/toolbar.less +89 -89
  56. package/src/components/toolbar/toolbar.vue +1101 -1101
  57. package/src/components/tooltip/props.ts +21 -21
  58. package/src/components/tooltip/tooltip.less +23 -23
  59. package/src/components/tooltip/tooltip.vue +37 -37
  60. package/src/components/triangle/props.ts +26 -26
  61. package/src/components/triangle/triangle.less +79 -79
  62. package/src/components/triangle/triangle.vue +65 -65
  63. package/src/core/function.ts +1150 -1144
  64. package/src/core/rule.ts +259 -259
  65. package/src/core/tool.ts +1137 -1137
  66. package/src/css/base.less +30 -30
  67. package/src/css/hljs.less +54 -54
  68. package/src/editify/editify.less +405 -404
  69. package/src/editify/editify.vue +810 -803
  70. package/src/editify/props.ts +156 -156
  71. package/src/hljs/index.ts +197 -197
  72. package/src/icon/iconfont.css +219 -219
  73. package/src/index.ts +32 -32
  74. package/src/locale/en_US.ts +88 -88
  75. package/src/locale/index.ts +12 -12
  76. package/src/locale/zh_CN.ts +88 -88
  77. package/tsconfig.json +27 -27
  78. package/tsconfig.node.json +11 -11
  79. package/vite-env.d.ts +1 -1
  80. package/vite.config.ts +42 -42
@@ -1,156 +1,156 @@
1
- import { common as DapCommon } from 'dap-util'
2
- import { ExtractPublicPropTypes, PropType } from 'vue'
3
- import { MenuConfigType, ObjectType, ToolbarConfigType } from '../core/tool'
4
- import { AlexElement } from 'alex-editor'
5
- import { LocaleType } from '../locale'
6
-
7
- export type EditifyTableColumnResizeParamsType = {
8
- element: AlexElement | null
9
- start: number
10
- }
11
-
12
- export type EditifyToolbarOptionsType = {
13
- show: boolean
14
- node: string | null
15
- type: 'text' | 'link' | 'image' | 'video' | 'table' | 'codeBlock'
16
- }
17
-
18
- export const EditifyProps = {
19
- //国际化语言类型
20
- locale: {
21
- type: String as PropType<LocaleType>,
22
- default: 'zh_CN'
23
- },
24
- //编辑器内容
25
- modelValue: {
26
- type: String,
27
- default: '<p><br></p>'
28
- },
29
- //占位符
30
- placeholder: {
31
- type: String,
32
- default: ''
33
- },
34
- //是否自动获取焦点
35
- autofocus: {
36
- type: Boolean,
37
- default: false
38
- },
39
- //是否禁用编辑器
40
- disabled: {
41
- type: Boolean,
42
- default: false
43
- },
44
- //是否允许复制
45
- allowCopy: {
46
- type: Boolean,
47
- default: true
48
- },
49
- //是否允许粘贴
50
- allowPaste: {
51
- type: Boolean,
52
- default: true
53
- },
54
- //是否允许剪切
55
- allowCut: {
56
- type: Boolean,
57
- default: true
58
- },
59
- //是否允许粘贴html
60
- allowPasteHtml: {
61
- type: Boolean,
62
- default: false
63
- },
64
- //是否显示边框
65
- border: {
66
- type: Boolean,
67
- default: false
68
- },
69
- //主题色
70
- color: {
71
- type: String,
72
- default: '#03a8f3',
73
- validator(value: any) {
74
- return DapCommon.matchingText(value, 'hex')
75
- }
76
- },
77
- //视频宽高比
78
- videoRatio: {
79
- type: Number,
80
- default: 16 / 9
81
- },
82
- //工具条按钮设置
83
- toolbar: {
84
- type: Object as PropType<ToolbarConfigType>,
85
- default: null
86
- },
87
- //是否显示字数统计
88
- showWordLength: {
89
- type: Boolean,
90
- default: false
91
- },
92
- //自定义粘贴纯文字
93
- customTextPaste: {
94
- type: Function as PropType<(data: string) => void | Promise<void>>,
95
- default: null
96
- },
97
- //自定义粘贴html
98
- customHtmlPaste: {
99
- type: Function as PropType<(elements: AlexElement[]) => void | Promise<void>>,
100
- default: null
101
- },
102
- //自定义粘贴图片
103
- customImagePaste: {
104
- type: Function as PropType<(file: File) => void | Promise<void>>,
105
- default: null
106
- },
107
- //自定义粘贴视频
108
- customVideoPaste: {
109
- type: Function as PropType<(file: File) => void | Promise<void>>,
110
- default: null
111
- },
112
- //自定义粘贴文件
113
- customFilePaste: {
114
- type: Function as PropType<(file: File) => void | Promise<void>>,
115
- default: null
116
- },
117
- //菜单栏配置
118
- menu: {
119
- type: Object as PropType<MenuConfigType>,
120
- default: null
121
- },
122
- //粘贴html时额外保留的标记(全部元素生效)
123
- pasteKeepMarks: {
124
- type: Object as PropType<ObjectType>,
125
- default: null
126
- },
127
- //粘贴html时额外保留的样式(仅在非文本元素生效)
128
- pasteKeepStyles: {
129
- type: Object as PropType<ObjectType>,
130
- default: null
131
- },
132
- //自定义node转元素时的处理
133
- customParseNode: {
134
- type: Function as PropType<(el: AlexElement) => AlexElement>,
135
- default: null
136
- },
137
- //自定义额外的渲染规范
138
- renderRules: {
139
- type: Array as PropType<((el: AlexElement) => void)[]>,
140
- default: function () {
141
- return []
142
- }
143
- },
144
- //自适应高度
145
- autoheight: {
146
- type: Boolean,
147
- default: false
148
- },
149
- //是否使用tab快捷键
150
- tab: {
151
- type: Boolean,
152
- default: true
153
- }
154
- }
155
-
156
- export type EditifyPropsType = ExtractPublicPropTypes<typeof EditifyProps>
1
+ import { common as DapCommon } from 'dap-util'
2
+ import { ExtractPublicPropTypes, PropType } from 'vue'
3
+ import { MenuConfigType, ObjectType, ToolbarConfigType } from '../core/tool'
4
+ import { AlexElement } from 'alex-editor'
5
+ import { LocaleType } from '../locale'
6
+
7
+ export type EditifyTableColumnResizeParamsType = {
8
+ element: AlexElement | null
9
+ start: number
10
+ }
11
+
12
+ export type EditifyToolbarOptionsType = {
13
+ show: boolean
14
+ node: string | null
15
+ type: 'text' | 'link' | 'image' | 'video' | 'table' | 'codeBlock'
16
+ }
17
+
18
+ export const EditifyProps = {
19
+ //国际化语言类型
20
+ locale: {
21
+ type: String as PropType<LocaleType>,
22
+ default: 'zh_CN'
23
+ },
24
+ //编辑器内容
25
+ modelValue: {
26
+ type: String,
27
+ default: '<p><br></p>'
28
+ },
29
+ //占位符
30
+ placeholder: {
31
+ type: String,
32
+ default: ''
33
+ },
34
+ //是否自动获取焦点
35
+ autofocus: {
36
+ type: Boolean,
37
+ default: false
38
+ },
39
+ //是否禁用编辑器
40
+ disabled: {
41
+ type: Boolean,
42
+ default: false
43
+ },
44
+ //是否允许复制
45
+ allowCopy: {
46
+ type: Boolean,
47
+ default: true
48
+ },
49
+ //是否允许粘贴
50
+ allowPaste: {
51
+ type: Boolean,
52
+ default: true
53
+ },
54
+ //是否允许剪切
55
+ allowCut: {
56
+ type: Boolean,
57
+ default: true
58
+ },
59
+ //是否允许粘贴html
60
+ allowPasteHtml: {
61
+ type: Boolean,
62
+ default: false
63
+ },
64
+ //是否显示边框
65
+ border: {
66
+ type: Boolean,
67
+ default: false
68
+ },
69
+ //主题色
70
+ color: {
71
+ type: String,
72
+ default: '#03a8f3',
73
+ validator(value: any) {
74
+ return DapCommon.matchingText(value, 'hex')
75
+ }
76
+ },
77
+ //视频宽高比
78
+ videoRatio: {
79
+ type: Number,
80
+ default: 16 / 9
81
+ },
82
+ //工具条按钮设置
83
+ toolbar: {
84
+ type: Object as PropType<ToolbarConfigType>,
85
+ default: null
86
+ },
87
+ //是否显示字数统计
88
+ showWordLength: {
89
+ type: Boolean,
90
+ default: false
91
+ },
92
+ //自定义粘贴纯文字
93
+ customTextPaste: {
94
+ type: Function as PropType<(data: string) => void | Promise<void>>,
95
+ default: null
96
+ },
97
+ //自定义粘贴html
98
+ customHtmlPaste: {
99
+ type: Function as PropType<(elements: AlexElement[]) => void | Promise<void>>,
100
+ default: null
101
+ },
102
+ //自定义粘贴图片
103
+ customImagePaste: {
104
+ type: Function as PropType<(file: File) => void | Promise<void>>,
105
+ default: null
106
+ },
107
+ //自定义粘贴视频
108
+ customVideoPaste: {
109
+ type: Function as PropType<(file: File) => void | Promise<void>>,
110
+ default: null
111
+ },
112
+ //自定义粘贴文件
113
+ customFilePaste: {
114
+ type: Function as PropType<(file: File) => void | Promise<void>>,
115
+ default: null
116
+ },
117
+ //菜单栏配置
118
+ menu: {
119
+ type: Object as PropType<MenuConfigType>,
120
+ default: null
121
+ },
122
+ //粘贴html时额外保留的标记(全部元素生效)
123
+ pasteKeepMarks: {
124
+ type: Object as PropType<ObjectType>,
125
+ default: null
126
+ },
127
+ //粘贴html时额外保留的样式(仅在非文本元素生效)
128
+ pasteKeepStyles: {
129
+ type: Object as PropType<ObjectType>,
130
+ default: null
131
+ },
132
+ //自定义node转元素时的处理
133
+ customParseNode: {
134
+ type: Function as PropType<(el: AlexElement) => AlexElement>,
135
+ default: null
136
+ },
137
+ //自定义额外的渲染规范
138
+ renderRules: {
139
+ type: Array as PropType<((el: AlexElement) => void)[]>,
140
+ default: function () {
141
+ return []
142
+ }
143
+ },
144
+ //自适应高度
145
+ autoheight: {
146
+ type: Boolean,
147
+ default: false
148
+ },
149
+ //是否使用tab快捷键
150
+ tab: {
151
+ type: Boolean,
152
+ default: true
153
+ }
154
+ }
155
+
156
+ export type EditifyPropsType = ExtractPublicPropTypes<typeof EditifyProps>