rich-core 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +215 -0
- package/dist/rich-core.css +2 -0
- package/dist/rich-core.umd.min.js +9 -0
- package/package.json +72 -0
- package/styles/cssvar.scss +17 -0
- package/styles/form-design.scss +133 -0
- package/styles/index.scss +6 -0
- package/styles/richform.scss +950 -0
- package/styles/split-layout.scss +167 -0
- package/styles/variable.scss +12 -0
- package/types/component.d.ts +30 -0
- package/types/form-design.d.ts +41 -0
- package/types/index.d.ts +17 -0
- package/types/richform.d.ts +184 -0
- package/types/split-layout.d.ts +10 -0
package/package.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "rich-core",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "基于element-plus的表单、表单设计器",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"serve": "vue-cli-service serve",
|
|
8
|
+
"build": "vue-cli-service build",
|
|
9
|
+
"lint": "vue-cli-service lint",
|
|
10
|
+
"build:prod": "vue-cli-service build --target lib --name rich-core src/components/index.ts"
|
|
11
|
+
},
|
|
12
|
+
"main": "dist/rich-core.umd.min.js",
|
|
13
|
+
"module": "dist/rich-core.umd.min.js",
|
|
14
|
+
"types": "types/index.d.ts",
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"@codemirror/lang-javascript": "^6.2.2",
|
|
17
|
+
"ajv": "^8.12.0",
|
|
18
|
+
"ajv-errors": "^3.0.0",
|
|
19
|
+
"ajv-i18n": "^4.2.0",
|
|
20
|
+
"axios": "^1.4.0",
|
|
21
|
+
"codemirror": "^6.0.1",
|
|
22
|
+
"core-js": "^3.32.0",
|
|
23
|
+
"element-plus": "^2.4.2",
|
|
24
|
+
"element-resize-detector": "^1.2.4",
|
|
25
|
+
"mitt": "^3.0.1",
|
|
26
|
+
"ramda": "^0.29.0",
|
|
27
|
+
"vue": "^3.3.4",
|
|
28
|
+
"vue-i18n": "^9.14.0",
|
|
29
|
+
"vue-router": "^4.0.3",
|
|
30
|
+
"vue3-perfect-scrollbar": "^1.6.1",
|
|
31
|
+
"vuedraggable": "^4.1.0",
|
|
32
|
+
"vxy-table": "^0.1.59"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@types/ajv-errors": "^2.0.1",
|
|
36
|
+
"@types/element-resize-detector": "^1.1.3",
|
|
37
|
+
"@types/ramda": "^0.29.3",
|
|
38
|
+
"@types/webpack-bundle-analyzer": "^4.7.0",
|
|
39
|
+
"@typescript-eslint/eslint-plugin": "^5.4.0",
|
|
40
|
+
"@typescript-eslint/parser": "^5.4.0",
|
|
41
|
+
"@vue/cli-plugin-babel": "~5.0.0",
|
|
42
|
+
"@vue/cli-plugin-eslint": "~5.0.0",
|
|
43
|
+
"@vue/cli-plugin-router": "~5.0.0",
|
|
44
|
+
"@vue/cli-plugin-typescript": "~5.0.0",
|
|
45
|
+
"@vue/cli-service": "~5.0.0",
|
|
46
|
+
"@vue/eslint-config-typescript": "^9.1.0",
|
|
47
|
+
"eslint": "^7.32.0",
|
|
48
|
+
"eslint-plugin-vue": "^8.0.3",
|
|
49
|
+
"sass": "^1.64.2",
|
|
50
|
+
"sass-loader": "^13.3.2",
|
|
51
|
+
"typescript": "~4.5.5",
|
|
52
|
+
"url-loader": "^4.1.1",
|
|
53
|
+
"webpack-bundle-analyzer": "^4.10.2"
|
|
54
|
+
},
|
|
55
|
+
"files": [
|
|
56
|
+
"dist",
|
|
57
|
+
"styles",
|
|
58
|
+
"types",
|
|
59
|
+
"package.json",
|
|
60
|
+
"README.md"
|
|
61
|
+
],
|
|
62
|
+
"repository": {
|
|
63
|
+
"type": "git",
|
|
64
|
+
"url": "git+https://github.com/jingyuLin1999/richform.git"
|
|
65
|
+
},
|
|
66
|
+
"keywords": [
|
|
67
|
+
"richform",
|
|
68
|
+
"form",
|
|
69
|
+
"formdesign",
|
|
70
|
+
"workflow"
|
|
71
|
+
]
|
|
72
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**Variable**/
|
|
2
|
+
:root {
|
|
3
|
+
--form-background-color: #{$form-background-color};
|
|
4
|
+
--form-font-size: #{$form-font-size};
|
|
5
|
+
--form-active-design-border-color: #{$form-active-design-border-color};
|
|
6
|
+
--form-border-color: #{$form-border-color};
|
|
7
|
+
--form-primary-color: #{$form-primary-color};
|
|
8
|
+
--form-font-color: #{$form-font-color};
|
|
9
|
+
|
|
10
|
+
--form-field-title-color: #{$form-field-title-color};
|
|
11
|
+
--form-field-value-color: #{$form-field-value-color};
|
|
12
|
+
--form-field-question-bgcolor: #{$form-field-question-bgcolor};
|
|
13
|
+
--form-field-error-font-color: #{$form-field-error-font-color};
|
|
14
|
+
|
|
15
|
+
--el-collapse-header-bg-color: #{$form-background-color};
|
|
16
|
+
--el-collapse-content-bg-color: #{$form-background-color};
|
|
17
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
.popover-title-container {
|
|
2
|
+
width: 100%;
|
|
3
|
+
display: flex;
|
|
4
|
+
justify-content: space-between;
|
|
5
|
+
margin-bottom: 1px;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
.iconfont {
|
|
10
|
+
font-family: "iconfont" !important;
|
|
11
|
+
font-size: 16px;
|
|
12
|
+
font-style: normal;
|
|
13
|
+
-webkit-font-smoothing: antialiased;
|
|
14
|
+
-moz-osx-font-smoothing: grayscale;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.form-design {
|
|
18
|
+
height: 100%;
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-direction: column;
|
|
21
|
+
|
|
22
|
+
.design-sortable-drag {
|
|
23
|
+
background: #f00;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
a {
|
|
27
|
+
text-decoration: none;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// 修改属性配置elementUi tab的样式
|
|
31
|
+
.tab-attribute {
|
|
32
|
+
.el-tabs__item {
|
|
33
|
+
width: 140px;
|
|
34
|
+
text-align: center;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
>.design-header {
|
|
39
|
+
height: 53px;
|
|
40
|
+
padding: 0 10px;
|
|
41
|
+
box-sizing: border-box;
|
|
42
|
+
display: flex;
|
|
43
|
+
justify-content: space-between;
|
|
44
|
+
align-items: center;
|
|
45
|
+
color: #fff;
|
|
46
|
+
box-shadow: 0 1px #ccc;
|
|
47
|
+
margin-bottom: 1px;
|
|
48
|
+
box-sizing: border-box;
|
|
49
|
+
background: linear-gradient(90deg, #1179f4 45%, #079dc8, #01b3ac);
|
|
50
|
+
|
|
51
|
+
.header-left {
|
|
52
|
+
display: flex;
|
|
53
|
+
font-size: 14px;
|
|
54
|
+
align-items: center;
|
|
55
|
+
|
|
56
|
+
.title {
|
|
57
|
+
margin: 0;
|
|
58
|
+
padding: 0;
|
|
59
|
+
font-size: 19px;
|
|
60
|
+
height: 53px;
|
|
61
|
+
line-height: 55px;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.header-github-image {
|
|
65
|
+
width: 35px;
|
|
66
|
+
height: 35px;
|
|
67
|
+
margin-right: 12px;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.header-right {
|
|
72
|
+
display: flex;
|
|
73
|
+
font-size: 14px;
|
|
74
|
+
align-items: center;
|
|
75
|
+
|
|
76
|
+
>.tool {
|
|
77
|
+
cursor: pointer;
|
|
78
|
+
margin-left: 10px;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.widget-title {
|
|
84
|
+
height: 25px;
|
|
85
|
+
line-height: 25px;
|
|
86
|
+
font-size: 14px;
|
|
87
|
+
margin-left: 3px;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
>.design-content {
|
|
92
|
+
height: calc(100% - 30px);
|
|
93
|
+
position: relative;
|
|
94
|
+
display: flex;
|
|
95
|
+
|
|
96
|
+
.left-view-panel {
|
|
97
|
+
height: 100%;
|
|
98
|
+
width: 200px;
|
|
99
|
+
transition: width 0.3s;
|
|
100
|
+
overflow: hidden;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.base-widgets {
|
|
104
|
+
padding-right: 2px;
|
|
105
|
+
|
|
106
|
+
.base-components {
|
|
107
|
+
display: flex;
|
|
108
|
+
flex-wrap: wrap;
|
|
109
|
+
justify-content: space-between;
|
|
110
|
+
|
|
111
|
+
>.base-component-item {
|
|
112
|
+
height: 30px;
|
|
113
|
+
line-height: 30px;
|
|
114
|
+
width: 49.5%;
|
|
115
|
+
text-align: center;
|
|
116
|
+
font-size: 12px;
|
|
117
|
+
background: #eff0f3;
|
|
118
|
+
margin: 3px 0;
|
|
119
|
+
cursor: move;
|
|
120
|
+
box-sizing: border-box;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
>.base-component-item:hover {
|
|
124
|
+
border: 1px dashed #01b3ac;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.design-canvas {
|
|
130
|
+
height: calc(100% - 22px);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|