vue-editify 0.1.10 → 0.1.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. package/examples/App.vue +21 -96
  2. package/examples/main.ts +4 -0
  3. package/lib/components/button/button.vue.d.ts +143 -0
  4. package/lib/components/button/props.d.ts +73 -0
  5. package/lib/components/checkbox/checkbox.vue.d.ts +80 -0
  6. package/lib/components/checkbox/props.d.ts +36 -0
  7. package/lib/components/colors/colors.vue.d.ts +47 -0
  8. package/lib/components/colors/props.d.ts +22 -0
  9. package/lib/components/icon/icon.vue.d.ts +14 -0
  10. package/lib/components/icon/props.d.ts +9 -0
  11. package/lib/components/insertImage/insertImage.vue.d.ts +74 -0
  12. package/lib/components/insertImage/props.d.ts +34 -0
  13. package/lib/components/insertLink/insertLink.vue.d.ts +27 -0
  14. package/lib/components/insertLink/props.d.ts +13 -0
  15. package/lib/components/insertTable/insertTable.vue.d.ts +36 -0
  16. package/lib/components/insertTable/props.d.ts +22 -0
  17. package/lib/components/insertVideo/insertVideo.vue.d.ts +74 -0
  18. package/lib/components/insertVideo/props.d.ts +34 -0
  19. package/lib/components/layer/layer.vue.d.ts +129 -0
  20. package/lib/components/layer/props.d.ts +53 -0
  21. package/lib/components/menu/menu.vue.d.ts +25 -0
  22. package/lib/components/menu/props.d.ts +14 -0
  23. package/lib/components/toolbar/props.d.ts +27 -0
  24. package/lib/components/toolbar/toolbar.vue.d.ts +56 -0
  25. package/lib/components/tooltip/props.d.ts +17 -0
  26. package/lib/components/tooltip/tooltip.vue.d.ts +39 -0
  27. package/lib/components/triangle/props.d.ts +19 -0
  28. package/lib/components/triangle/triangle.vue.d.ts +34 -0
  29. package/lib/core/function.d.ts +45 -0
  30. package/lib/core/rule.d.ts +9 -0
  31. package/lib/core/tool.d.ts +185 -0
  32. package/lib/editify/editify.vue.d.ts +676 -0
  33. package/lib/editify/props.d.ts +110 -0
  34. package/lib/editify.es.js +5706 -5727
  35. package/lib/editify.umd.js +1 -1
  36. package/lib/hljs/index.d.ts +7 -0
  37. package/lib/index.d.ts +17 -0
  38. package/lib/locale/en_US.d.ts +3 -0
  39. package/lib/locale/index.d.ts +2 -0
  40. package/lib/locale/zh_CN.d.ts +3 -0
  41. package/lib/style.css +1 -1
  42. package/package.json +16 -8
  43. package/src/components/button/button.less +145 -0
  44. package/src/components/button/button.vue +197 -0
  45. package/src/components/button/props.ts +95 -0
  46. package/src/components/checkbox/checkbox.less +84 -0
  47. package/src/components/checkbox/checkbox.vue +68 -0
  48. package/src/components/checkbox/props.ts +49 -0
  49. package/src/components/colors/colors.less +75 -0
  50. package/src/components/colors/colors.vue +36 -0
  51. package/src/components/colors/props.ts +29 -0
  52. package/src/components/{base/Icon.vue → icon/icon.less} +0 -17
  53. package/src/components/icon/icon.vue +12 -0
  54. package/src/components/icon/props.ts +11 -0
  55. package/src/components/insertImage/insertImage.less +135 -0
  56. package/src/components/insertImage/insertImage.vue +146 -0
  57. package/src/components/insertImage/props.ts +43 -0
  58. package/src/components/insertLink/insertLink.less +64 -0
  59. package/src/components/insertLink/insertLink.vue +58 -0
  60. package/src/components/insertLink/props.ts +16 -0
  61. package/src/components/insertTable/insertTable.less +54 -0
  62. package/src/components/insertTable/insertTable.vue +85 -0
  63. package/src/components/insertTable/props.ts +27 -0
  64. package/src/components/insertVideo/insertVideo.less +135 -0
  65. package/src/components/insertVideo/insertVideo.vue +146 -0
  66. package/src/components/insertVideo/props.ts +43 -0
  67. package/src/components/layer/layer.less +49 -0
  68. package/src/components/layer/layer.vue +598 -0
  69. package/src/components/layer/props.ts +71 -0
  70. package/src/components/menu/menu.less +64 -0
  71. package/src/components/menu/menu.vue +1570 -0
  72. package/src/components/menu/props.ts +17 -0
  73. package/src/components/toolbar/props.ts +35 -0
  74. package/src/components/toolbar/toolbar.less +89 -0
  75. package/src/components/toolbar/toolbar.vue +1101 -0
  76. package/src/components/tooltip/props.ts +21 -0
  77. package/src/components/tooltip/tooltip.less +23 -0
  78. package/src/components/tooltip/tooltip.vue +37 -0
  79. package/src/components/triangle/props.ts +26 -0
  80. package/src/components/triangle/triangle.less +79 -0
  81. package/src/components/triangle/triangle.vue +65 -0
  82. package/src/core/function.ts +1144 -0
  83. package/src/core/{rule.js → rule.ts} +33 -33
  84. package/src/core/{tool.js → tool.ts} +221 -145
  85. package/src/editify/editify.less +404 -0
  86. package/src/editify/editify.vue +805 -0
  87. package/src/editify/props.ts +141 -0
  88. package/src/hljs/{index.js → index.ts} +7 -4
  89. package/src/index.ts +32 -0
  90. package/src/locale/{en_US.js → en_US.ts} +3 -1
  91. package/src/locale/index.ts +12 -0
  92. package/src/locale/{zh_CN.js → zh_CN.ts} +3 -1
  93. package/tsconfig.json +27 -0
  94. package/tsconfig.node.json +11 -0
  95. package/vite-env.d.ts +1 -0
  96. package/vite.config.ts +39 -0
  97. package/examples/main.js +0 -4
  98. package/src/Editify.vue +0 -1184
  99. package/src/components/Menu.vue +0 -1623
  100. package/src/components/Toolbar.vue +0 -1215
  101. package/src/components/base/Button.vue +0 -450
  102. package/src/components/base/Checkbox.vue +0 -196
  103. package/src/components/base/Layer.vue +0 -713
  104. package/src/components/base/Tooltip.vue +0 -82
  105. package/src/components/base/Triangle.vue +0 -159
  106. package/src/components/common/Colors.vue +0 -138
  107. package/src/components/common/InsertImage.vue +0 -316
  108. package/src/components/common/InsertLink.vue +0 -136
  109. package/src/components/common/InsertTable.vue +0 -157
  110. package/src/components/common/InsertVideo.vue +0 -316
  111. package/src/core/function.js +0 -1044
  112. package/src/index.js +0 -24
  113. package/src/locale/index.js +0 -14
@@ -0,0 +1,17 @@
1
+ import { ExtractPublicPropTypes, PropType } from 'vue'
2
+ import { MenuConfigType } from '../../core/tool'
3
+
4
+ export const MenuProps = {
5
+ //菜单栏配置
6
+ config: {
7
+ type: Object as PropType<MenuConfigType>,
8
+ default: null
9
+ },
10
+ //主题色
11
+ color: {
12
+ type: String,
13
+ default: ''
14
+ }
15
+ }
16
+
17
+ export type MenuPropsType = ExtractPublicPropTypes<typeof MenuProps>
@@ -0,0 +1,35 @@
1
+ import { ExtractPublicPropTypes, PropType } from 'vue'
2
+ import { ToolbarConfigType } from '../../core/tool'
3
+
4
+ export const ToolbarProps = {
5
+ //是否显示
6
+ modelValue: {
7
+ type: Boolean,
8
+ default: false
9
+ },
10
+ //关联元素
11
+ node: {
12
+ type: [String, Node] as PropType<string | HTMLElement>,
13
+ default: null
14
+ },
15
+ //类型
16
+ type: {
17
+ type: String as PropType<'text' | 'table' | 'link' | 'codeBlock' | 'image' | 'video'>,
18
+ default: 'text',
19
+ validator(value: any) {
20
+ return ['text', 'table', 'link', 'codeBlock', 'image', 'video'].includes(value)
21
+ }
22
+ },
23
+ //工具条配置
24
+ config: {
25
+ type: Object as PropType<ToolbarConfigType>,
26
+ default: null
27
+ },
28
+ //主题色
29
+ color: {
30
+ type: String,
31
+ default: ''
32
+ }
33
+ }
34
+
35
+ export type ToolbarPropsType = ExtractPublicPropTypes<typeof ToolbarProps>
@@ -0,0 +1,89 @@
1
+ .editify-toolbar {
2
+ display: flex;
3
+ justify-content: flex-start;
4
+ align-items: center;
5
+ padding: 6px 10px;
6
+
7
+ .editify-icon-rotate {
8
+ transform: rotate(180deg);
9
+ }
10
+ }
11
+
12
+ .editify-toolbar-link {
13
+ display: block;
14
+ width: 280px;
15
+ padding: 4px;
16
+
17
+ .editify-toolbar-link-label {
18
+ display: block;
19
+ text-align: left;
20
+ margin-bottom: 10px;
21
+ font-size: @font-size;
22
+ color: @font-color;
23
+ }
24
+
25
+ input {
26
+ appearance: none;
27
+ -webkit-appearance: none;
28
+ -moz-appearance: none;
29
+ display: block;
30
+ width: 100%;
31
+ margin: 0 0 10px 0;
32
+ padding: 4px 2px;
33
+ border: none;
34
+ font-size: @font-size;
35
+ color: @font-color;
36
+ border-bottom: 1px solid @border-color;
37
+ line-height: 1.5;
38
+ transition: all 500ms;
39
+ background-color: transparent;
40
+ outline: none;
41
+
42
+ &::-webkit-input-placeholder,
43
+ &::placeholder {
44
+ color: @font-color-disabled;
45
+ font-family: inherit;
46
+ font-size: inherit;
47
+ vertical-align: middle;
48
+ }
49
+
50
+ &[disabled] {
51
+ background-color: transparent;
52
+ opacity: 0.6;
53
+ }
54
+ }
55
+
56
+ .editify-toolbar-link-footer {
57
+ display: flex;
58
+ justify-content: space-between;
59
+ align-items: center;
60
+ width: 100%;
61
+ font-size: @font-size;
62
+ color: @font-color-light;
63
+
64
+ .editify-toolbar-link-operations {
65
+ display: flex;
66
+ justify-content: flex-start;
67
+ align-items: center;
68
+
69
+ & > span,
70
+ & > a {
71
+ cursor: pointer;
72
+ opacity: 0.8;
73
+ transition: all 200ms;
74
+
75
+ &:hover {
76
+ opacity: 1;
77
+ }
78
+ }
79
+
80
+ & > span {
81
+ margin-right: 15px;
82
+ }
83
+
84
+ & > a {
85
+ text-decoration: none;
86
+ }
87
+ }
88
+ }
89
+ }