@easy-editor/materials-dashboard-progress 0.0.2 → 0.0.4

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/src/configure.ts CHANGED
@@ -1,265 +1,168 @@
1
- /**
2
- * Progress Configure
3
- * 进度条组件配置
4
- */
5
-
6
- import type { Configure } from '@easy-editor/core'
7
-
8
- export const configure: Configure = {
9
- props: [
10
- {
11
- type: 'group',
12
- title: '属性',
13
- setter: 'TabSetter',
14
- items: [
15
- {
16
- type: 'group',
17
- key: 'config',
18
- title: '配置',
19
- setter: {
20
- componentName: 'CollapseSetter',
21
- props: {
22
- icon: false,
23
- },
24
- },
25
- items: [
26
- // 基础配置
27
- {
28
- name: 'id',
29
- title: 'ID',
30
- setter: 'NodeIdSetter',
31
- extraProps: {
32
- // @ts-expect-error label is not a valid extra prop
33
- label: false,
34
- },
35
- },
36
- {
37
- name: 'title',
38
- title: '标题',
39
- setter: 'StringSetter',
40
- extraProps: {
41
- getValue(target) {
42
- return target.getExtraPropValue('title')
43
- },
44
- setValue(target, value) {
45
- target.setExtraPropValue('title', value)
46
- },
47
- },
48
- },
49
- {
50
- type: 'group',
51
- title: '基础属性',
52
- setter: {
53
- componentName: 'CollapseSetter',
54
- props: {
55
- icon: false,
56
- },
57
- },
58
- items: [
59
- {
60
- name: 'rect',
61
- title: '位置尺寸',
62
- setter: 'RectSetter',
63
- extraProps: {
64
- getValue(target) {
65
- return target.getExtraPropValue('$dashboard.rect')
66
- },
67
- setValue(target, value) {
68
- target.setExtraPropValue('$dashboard.rect', value)
69
- },
70
- },
71
- },
72
- ],
73
- },
74
- // 组件配置
75
- {
76
- type: 'group',
77
- title: '数值',
78
- setter: {
79
- componentName: 'CollapseSetter',
80
- props: {
81
- icon: false,
82
- },
83
- },
84
- items: [
85
- {
86
- name: 'value',
87
- title: '当前值',
88
- setter: 'NumberSetter',
89
- extraProps: {
90
- defaultValue: 0,
91
- },
92
- },
93
- {
94
- name: 'maxValue',
95
- title: '最大值',
96
- setter: 'NumberSetter',
97
- extraProps: {
98
- defaultValue: 100,
99
- },
100
- },
101
- {
102
- name: 'valueFormat',
103
- title: '值格式',
104
- setter: {
105
- componentName: 'SelectSetter',
106
- props: {
107
- options: [
108
- { label: '百分比', value: 'percent' },
109
- { label: '数值', value: 'number' },
110
- ],
111
- },
112
- },
113
- extraProps: {
114
- defaultValue: 'percent',
115
- },
116
- },
117
- ],
118
- },
119
- {
120
- type: 'group',
121
- title: '显示',
122
- setter: {
123
- componentName: 'CollapseSetter',
124
- props: {
125
- icon: false,
126
- },
127
- },
128
- items: [
129
- {
130
- name: 'type',
131
- title: '进度条类型',
132
- setter: {
133
- componentName: 'SelectSetter',
134
- props: {
135
- options: [
136
- { label: '环形', value: 'ring' },
137
- { label: '线性', value: 'bar' },
138
- ],
139
- },
140
- },
141
- extraProps: {
142
- defaultValue: 'ring',
143
- },
144
- },
145
- {
146
- name: 'showValue',
147
- title: '显示数值',
148
- setter: 'SwitchSetter',
149
- extraProps: {
150
- defaultValue: true,
151
- },
152
- },
153
- {
154
- name: 'showLabel',
155
- title: '显示标签',
156
- setter: 'SwitchSetter',
157
- extraProps: {
158
- defaultValue: false,
159
- },
160
- },
161
- {
162
- name: 'label',
163
- title: '标签文本',
164
- setter: 'StringSetter',
165
- },
166
- ],
167
- },
168
- {
169
- type: 'group',
170
- title: '样式',
171
- setter: {
172
- componentName: 'CollapseSetter',
173
- props: {
174
- icon: false,
175
- },
176
- },
177
- items: [
178
- {
179
- name: 'strokeWidthRatio',
180
- title: '线条粗细',
181
- setter: {
182
- componentName: 'SliderSetter',
183
- props: {
184
- min: 0.02,
185
- max: 0.2,
186
- step: 0.01,
187
- },
188
- },
189
- extraProps: {
190
- defaultValue: 0.07,
191
- },
192
- },
193
- {
194
- name: 'trackColor',
195
- title: '轨道颜色',
196
- setter: 'ColorSetter',
197
- extraProps: {
198
- defaultValue: 'rgba(255, 255, 255, 0.1)',
199
- },
200
- },
201
- {
202
- name: 'progressColor',
203
- title: '进度颜色',
204
- setter: 'ColorSetter',
205
- extraProps: {
206
- defaultValue: '#00ffff',
207
- },
208
- },
209
- {
210
- name: 'gradientEnable',
211
- title: '启用渐变',
212
- setter: 'SwitchSetter',
213
- extraProps: {
214
- defaultValue: false,
215
- },
216
- },
217
- {
218
- name: 'gradientColors',
219
- title: '渐变颜色',
220
- setter: 'ColorSetter',
221
- extraProps: {
222
- defaultValue: ['#00d4ff', '#9b59b6'],
223
- },
224
- },
225
- ],
226
- },
227
- ],
228
- },
229
- {
230
- type: 'group',
231
- key: 'data',
232
- title: '数据',
233
- items: [
234
- {
235
- name: 'dataBinding',
236
- title: '数据绑定',
237
- setter: 'DataBindingSetter',
238
- },
239
- ],
240
- },
241
- {
242
- type: 'group',
243
- key: 'advanced',
244
- title: '高级',
245
- items: [
246
- {
247
- name: 'condition',
248
- title: '显隐控制',
249
- setter: 'SwitchSetter',
250
- extraProps: {
251
- defaultValue: true,
252
- supportVariable: true,
253
- },
254
- },
255
- ],
256
- },
257
- ],
258
- },
259
- ],
260
- component: {},
261
- supports: {},
262
- advanced: {},
263
- }
264
-
265
- export default configure
1
+ /**
2
+ * Progress Configure
3
+ * 进度条组件配置
4
+ */
5
+
6
+ import type { FieldConfig } from '@easy-editor/core'
7
+ import { createCollapseGroup, createDataConfigGroup, createStandardConfigure } from '@easy-editor/materials-shared'
8
+
9
+ /** 组件配置 - 进度条独有 */
10
+ const componentConfigGroup: FieldConfig = createCollapseGroup(
11
+ '组件配置',
12
+ [
13
+ {
14
+ type: 'group',
15
+ title: '组件配置',
16
+ setter: 'SubTabSetter',
17
+ items: [
18
+ // 数值 Tab
19
+ {
20
+ type: 'group',
21
+ key: 'value',
22
+ title: '数值',
23
+ items: [
24
+ {
25
+ name: 'maxValue',
26
+ title: '最大值',
27
+ setter: 'NumberSetter',
28
+ extraProps: {
29
+ defaultValue: 100,
30
+ },
31
+ },
32
+ {
33
+ name: 'valueFormat',
34
+ title: '值格式',
35
+ setter: {
36
+ componentName: 'SelectSetter',
37
+ props: {
38
+ options: [
39
+ { label: '百分比', value: 'percent' },
40
+ { label: '数值', value: 'number' },
41
+ ],
42
+ },
43
+ },
44
+ extraProps: {
45
+ defaultValue: 'percent',
46
+ },
47
+ },
48
+ ],
49
+ },
50
+ // 显示 Tab
51
+ {
52
+ type: 'group',
53
+ key: 'display',
54
+ title: '显示',
55
+ items: [
56
+ {
57
+ name: 'type',
58
+ title: '进度条类型',
59
+ setter: {
60
+ componentName: 'SegmentedSetter',
61
+ props: {
62
+ options: [
63
+ { label: '环形', value: 'ring' },
64
+ { label: '线性', value: 'bar' },
65
+ ],
66
+ },
67
+ },
68
+ extraProps: {
69
+ defaultValue: 'ring',
70
+ },
71
+ },
72
+ {
73
+ name: 'showValue',
74
+ title: '显示数值',
75
+ setter: 'SwitchSetter',
76
+ extraProps: {
77
+ defaultValue: true,
78
+ },
79
+ },
80
+ {
81
+ name: 'showLabel',
82
+ title: '显示标签',
83
+ setter: 'SwitchSetter',
84
+ extraProps: {
85
+ defaultValue: false,
86
+ },
87
+ },
88
+ {
89
+ name: 'label',
90
+ title: '标签文本',
91
+ setter: 'StringSetter',
92
+ },
93
+ ],
94
+ },
95
+ // 样式 Tab
96
+ {
97
+ type: 'group',
98
+ key: 'style',
99
+ title: '样式',
100
+ items: [
101
+ {
102
+ name: 'strokeWidthRatio',
103
+ title: '线条粗细',
104
+ setter: {
105
+ componentName: 'SliderSetter',
106
+ props: {
107
+ min: 0.02,
108
+ max: 0.2,
109
+ step: 0.01,
110
+ },
111
+ },
112
+ extraProps: {
113
+ defaultValue: 0.07,
114
+ },
115
+ },
116
+ {
117
+ name: 'trackColor',
118
+ title: '轨道颜色',
119
+ setter: 'ColorSetter',
120
+ extraProps: {
121
+ defaultValue: 'rgba(255, 255, 255, 0.1)',
122
+ },
123
+ },
124
+ {
125
+ name: 'progressColor',
126
+ title: '进度颜色',
127
+ setter: 'ColorSetter',
128
+ extraProps: {
129
+ defaultValue: '#00ffff',
130
+ },
131
+ },
132
+ {
133
+ name: 'gradientEnable',
134
+ title: '启用渐变',
135
+ setter: 'SwitchSetter',
136
+ extraProps: {
137
+ defaultValue: false,
138
+ },
139
+ },
140
+ {
141
+ name: 'gradientColors',
142
+ title: '渐变颜色',
143
+ setter: {
144
+ componentName: 'ArraySetter',
145
+ props: {
146
+ itemSetter: 'ColorSetter',
147
+ },
148
+ },
149
+ extraProps: {
150
+ defaultValue: ['#00d4ff', '#9b59b6'],
151
+ },
152
+ },
153
+ ],
154
+ },
155
+ ],
156
+ },
157
+ ],
158
+ {
159
+ padding: '6px 16px 12px',
160
+ },
161
+ )
162
+
163
+ /** 数据配置 */
164
+ const dataConfigGroup: FieldConfig = createDataConfigGroup([
165
+ { name: 'value', label: 'value', type: 'number', required: true, description: '当前值' },
166
+ ])
167
+
168
+ export const configure = createStandardConfigure(componentConfigGroup, dataConfigGroup)
package/src/index.tsx CHANGED
@@ -1,7 +1,7 @@
1
- /**
2
- * Progress Entry
3
- * 进度条组件入口
4
- */
5
-
6
- export { Progress as component } from './component'
7
- export { default as meta } from './meta'
1
+ /**
2
+ * Progress Entry
3
+ * 进度条组件入口
4
+ */
5
+
6
+ export { Progress as component } from './component'
7
+ export { meta } from './meta'
package/src/meta.ts CHANGED
@@ -1,28 +1,26 @@
1
- /**
2
- * Progress Meta
3
- * 进度条组件元数据
4
- */
5
-
6
- import type { ComponentMetadata } from '@easy-editor/core'
7
- import { MaterialGroup } from '@easy-editor/materials-shared'
8
- import { COMPONENT_NAME, PACKAGE_NAME } from './constants'
9
- import configure from './configure'
10
- import snippets from './snippets'
11
- import pkg from '../package.json'
12
-
13
- export const meta: ComponentMetadata = {
14
- componentName: COMPONENT_NAME,
15
- title: '进度条',
16
- group: MaterialGroup.DISPLAY,
17
- devMode: 'proCode',
18
- npm: {
19
- package: PACKAGE_NAME,
20
- version: pkg.version,
21
- globalName: COMPONENT_NAME,
22
- componentName: COMPONENT_NAME,
23
- },
24
- snippets,
25
- configure,
26
- }
27
-
28
- export default meta
1
+ /**
2
+ * Progress Meta
3
+ * 进度条组件元数据
4
+ */
5
+
6
+ import type { ComponentMetadata } from '@easy-editor/core'
7
+ import { MaterialGroup } from '@easy-editor/materials-shared'
8
+ import { COMPONENT_NAME, PACKAGE_NAME } from './constants'
9
+ import { configure } from './configure'
10
+ import { snippets } from './snippets'
11
+ import pkg from '../package.json'
12
+
13
+ export const meta: ComponentMetadata = {
14
+ componentName: COMPONENT_NAME,
15
+ title: '进度条',
16
+ group: MaterialGroup.DISPLAY,
17
+ devMode: 'proCode',
18
+ npm: {
19
+ package: PACKAGE_NAME,
20
+ version: pkg.version,
21
+ globalName: COMPONENT_NAME,
22
+ componentName: COMPONENT_NAME,
23
+ },
24
+ snippets,
25
+ configure,
26
+ }
package/src/snippets.ts CHANGED
@@ -1,60 +1,69 @@
1
- /**
2
- * Progress Snippets
3
- * 进度条组件代码片段
4
- */
5
-
6
- import type { Snippet } from '@easy-editor/core'
7
- import { COMPONENT_NAME } from './constants'
8
-
9
- export const snippets: Snippet[] = [
10
- {
11
- title: '进度环',
12
- screenshot: '',
13
- schema: {
14
- componentName: COMPONENT_NAME,
15
- props: {
16
- value: 75,
17
- maxValue: 100,
18
- type: 'ring',
19
- showValue: true,
20
- showLabel: false,
21
- valueFormat: 'percent',
22
- strokeWidthRatio: 0.07,
23
- progressColor: '#00ffff',
24
- },
25
- $dashboard: {
26
- rect: {
27
- width: 140,
28
- height: 140,
29
- },
30
- },
31
- },
32
- },
33
- {
34
- title: '线性进度条',
35
- screenshot: '',
36
- schema: {
37
- componentName: COMPONENT_NAME,
38
- props: {
39
- value: 85,
40
- maxValue: 100,
41
- type: 'bar',
42
- showValue: true,
43
- showLabel: true,
44
- label: '完成率',
45
- valueFormat: 'percent',
46
- progressColor: '#00ff88',
47
- gradientEnable: true,
48
- gradientColors: ['#00ff88', '#00d4ff'],
49
- },
50
- $dashboard: {
51
- rect: {
52
- width: 300,
53
- height: 50,
54
- },
55
- },
56
- },
57
- },
58
- ]
59
-
60
- export default snippets
1
+ /**
2
+ * Progress Snippets
3
+ * 进度条组件代码片段 - 使用共享数据源生成函数
4
+ */
5
+
6
+ import type { Snippet } from '@easy-editor/core'
7
+ import { generateStaticDataSource } from '@easy-editor/materials-shared'
8
+ import { COMPONENT_NAME } from './constants'
9
+
10
+ const snippets: Snippet[] = [
11
+ {
12
+ title: '进度环',
13
+ screenshot: '',
14
+ schema: {
15
+ componentName: COMPONENT_NAME,
16
+ title: '进度环',
17
+ props: {
18
+ $data: generateStaticDataSource({ value: 75 }),
19
+ maxValue: 100,
20
+ type: 'ring',
21
+ showValue: true,
22
+ showLabel: false,
23
+ valueFormat: 'percent',
24
+ strokeWidthRatio: 0.07,
25
+ progressColor: '#00ffff',
26
+ rotation: 0,
27
+ opacity: 100,
28
+ background: 'transparent',
29
+ },
30
+ $dashboard: {
31
+ rect: {
32
+ width: 140,
33
+ height: 140,
34
+ },
35
+ },
36
+ },
37
+ },
38
+ {
39
+ title: '线性进度条',
40
+ screenshot: '',
41
+ schema: {
42
+ componentName: COMPONENT_NAME,
43
+ title: '线性进度条',
44
+ props: {
45
+ $data: generateStaticDataSource({ value: 85 }),
46
+ maxValue: 100,
47
+ type: 'bar',
48
+ showValue: true,
49
+ showLabel: true,
50
+ label: '完成率',
51
+ valueFormat: 'percent',
52
+ progressColor: '#00ff88',
53
+ gradientEnable: true,
54
+ gradientColors: ['#00ff88', '#00d4ff'],
55
+ rotation: 0,
56
+ opacity: 100,
57
+ background: 'transparent',
58
+ },
59
+ $dashboard: {
60
+ rect: {
61
+ width: 300,
62
+ height: 50,
63
+ },
64
+ },
65
+ },
66
+ },
67
+ ]
68
+
69
+ export { snippets }
package/tsconfig.json CHANGED
@@ -1,9 +1,20 @@
1
- {
2
- "compilerOptions": {
3
- "jsx": "react-jsx",
4
- "esModuleInterop": true,
5
- "allowSyntheticDefaultImports": true
6
- },
7
- "extends": "./tsconfig.build.json",
8
- "include": ["./src", "./test"]
9
- }
1
+ {
2
+ "compilerOptions": {
3
+ "emitDeclarationOnly": true,
4
+ "declaration": true,
5
+ "target": "ESNext",
6
+ "newLine": "LF",
7
+ "module": "ESNext",
8
+ "moduleResolution": "Bundler",
9
+ "strict": true,
10
+ "strictNullChecks": true,
11
+ "jsx": "react-jsx",
12
+ "esModuleInterop": true,
13
+ "allowSyntheticDefaultImports": true,
14
+ "strictPropertyInitialization": false,
15
+ "outDir": "./dist",
16
+ "skipLibCheck": true,
17
+ },
18
+ "exclude": ["node_modules", "dist"],
19
+ "include": ["./src"]
20
+ }