@zzdadelu/schema-builder 1.0.0-alpha.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.
Files changed (58) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/LICENSE +21 -0
  3. package/README.md +39 -0
  4. package/es/createIframe.js +12 -0
  5. package/es/index.js +2 -0
  6. package/es/main.js +64 -0
  7. package/es/settings/index.js +26 -0
  8. package/es/settings/meta/card.js +108 -0
  9. package/es/settings/meta/cardList.js +203 -0
  10. package/es/settings/meta/checkbox.js +29 -0
  11. package/es/settings/meta/checkboxes.js +66 -0
  12. package/es/settings/meta/color.js +21 -0
  13. package/es/settings/meta/date.js +28 -0
  14. package/es/settings/meta/dateRange.js +37 -0
  15. package/es/settings/meta/form.js +115 -0
  16. package/es/settings/meta/imageInput.js +21 -0
  17. package/es/settings/meta/input.js +62 -0
  18. package/es/settings/meta/number.js +69 -0
  19. package/es/settings/meta/radio.js +65 -0
  20. package/es/settings/meta/rate.js +56 -0
  21. package/es/settings/meta/select.js +58 -0
  22. package/es/settings/meta/slider.js +40 -0
  23. package/es/settings/meta/switch.js +48 -0
  24. package/es/settings/meta/textarea.js +69 -0
  25. package/es/settings/meta/time.js +29 -0
  26. package/es/settings/meta/timeRange.js +37 -0
  27. package/es/settings/meta/treeSelect.js +85 -0
  28. package/es/settings/meta/urlInput.js +34 -0
  29. package/es/settings/utils.js +251 -0
  30. package/es/type.js +1 -0
  31. package/lib/createIframe.js +18 -0
  32. package/lib/index.js +9 -0
  33. package/lib/main.js +72 -0
  34. package/lib/settings/index.js +153 -0
  35. package/lib/settings/meta/card.js +114 -0
  36. package/lib/settings/meta/cardList.js +209 -0
  37. package/lib/settings/meta/checkbox.js +35 -0
  38. package/lib/settings/meta/checkboxes.js +72 -0
  39. package/lib/settings/meta/color.js +27 -0
  40. package/lib/settings/meta/date.js +34 -0
  41. package/lib/settings/meta/dateRange.js +43 -0
  42. package/lib/settings/meta/form.js +121 -0
  43. package/lib/settings/meta/imageInput.js +27 -0
  44. package/lib/settings/meta/input.js +68 -0
  45. package/lib/settings/meta/number.js +75 -0
  46. package/lib/settings/meta/radio.js +71 -0
  47. package/lib/settings/meta/rate.js +62 -0
  48. package/lib/settings/meta/select.js +64 -0
  49. package/lib/settings/meta/slider.js +46 -0
  50. package/lib/settings/meta/switch.js +54 -0
  51. package/lib/settings/meta/textarea.js +75 -0
  52. package/lib/settings/meta/time.js +35 -0
  53. package/lib/settings/meta/timeRange.js +43 -0
  54. package/lib/settings/meta/treeSelect.js +91 -0
  55. package/lib/settings/meta/urlInput.js +40 -0
  56. package/lib/settings/utils.js +258 -0
  57. package/lib/type.js +1 -0
  58. package/package.json +95 -0
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _utils = require("../utils");
8
+ var _default = exports.default = (0, _utils.createMeta)('UrlInput', {
9
+ title: '链接输入框',
10
+ category: '其他',
11
+ props: [{
12
+ title: '基础配置',
13
+ type: 'group',
14
+ display: 'accordion',
15
+ items: _utils.inputPropsBasic
16
+ }, {
17
+ title: '其他配置',
18
+ display: 'accordion',
19
+ type: 'group',
20
+ items: [{
21
+ name: 'props.addonText',
22
+ title: {
23
+ label: '按钮文案',
24
+ tip: '跳转按钮的文案配置'
25
+ },
26
+ defaultValue: '测试链接',
27
+ setter: 'StringSetter'
28
+ }]
29
+ }],
30
+ snippets: [{
31
+ title: '链接输入框',
32
+ screenshot: 'icon-link',
33
+ schema: {
34
+ componentName: 'UrlInput',
35
+ props: {
36
+ title: '链接输入框'
37
+ }
38
+ }
39
+ }]
40
+ });
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.uuid = exports.optionsProp = exports.notInputPropsBasic = exports.inputPropsBasic = exports.getNotInputPropsBasic = exports.getInputPropsBasic = exports.createMeta = void 0;
7
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
14
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
+ var inputPropsBasic = exports.inputPropsBasic = [{
16
+ name: 'title',
17
+ title: {
18
+ label: '标题',
19
+ tip: 'title | 标题'
20
+ },
21
+ setter: 'StringSetter'
22
+ }, {
23
+ name: 'code',
24
+ title: {
25
+ label: '字段名',
26
+ tip: 'key | 字段名'
27
+ },
28
+ setter: 'StringSetter'
29
+ }, {
30
+ name: 'defaultValue',
31
+ title: {
32
+ label: '默认值',
33
+ tip: 'defaultValue | 默认值'
34
+ },
35
+ setter: 'StringSetter'
36
+ }, {
37
+ name: 'props.placeholder',
38
+ title: {
39
+ label: '提示文案',
40
+ tip: 'placeholder | 提示文案'
41
+ },
42
+ setter: 'StringSetter'
43
+ }, {
44
+ name: 'description',
45
+ title: {
46
+ label: '补充说明',
47
+ tip: 'description | 补充说明'
48
+ },
49
+ setter: 'StringSetter'
50
+ }, {
51
+ name: 'tooltip.title',
52
+ title: {
53
+ label: '气泡提示',
54
+ tip: 'tooltip.title | 气泡提示文案'
55
+ },
56
+ setter: 'StringSetter'
57
+ }, {
58
+ name: 'extra',
59
+ title: {
60
+ label: '额外提示',
61
+ tip: 'extra | 额外的提示信息'
62
+ },
63
+ setter: 'StringSetter'
64
+ }, {
65
+ name: 'disabled',
66
+ title: {
67
+ label: '禁用',
68
+ tip: 'disabled | 禁用'
69
+ },
70
+ setter: 'FrExpressionSetter'
71
+ }, {
72
+ name: 'hidden',
73
+ title: {
74
+ label: '隐藏',
75
+ tip: 'hidden | 隐藏'
76
+ },
77
+ setter: 'FrExpressionSetter'
78
+ }, {
79
+ name: 'readOnly',
80
+ title: {
81
+ label: '只读',
82
+ tip: 'readOnly | 只读'
83
+ },
84
+ setter: 'FrExpressionSetter'
85
+ }, {
86
+ name: 'readOnlyWidget',
87
+ title: {
88
+ label: '只读组件',
89
+ tip: 'readOnlyWidget | 只读组件'
90
+ },
91
+ setter: 'StringSetter',
92
+ condition: function condition(target) {
93
+ return !!target.getProps().getPropValue('readOnly');
94
+ }
95
+ }];
96
+ var notInputPropsBasic = exports.notInputPropsBasic = [{
97
+ name: 'title',
98
+ title: {
99
+ label: '标题',
100
+ tip: 'title | 标题'
101
+ },
102
+ setter: 'StringSetter'
103
+ }, {
104
+ name: 'code',
105
+ title: {
106
+ label: '字段名',
107
+ tip: 'key | 字段名'
108
+ },
109
+ setter: 'StringSetter'
110
+ }, {
111
+ name: 'defaultValue',
112
+ title: {
113
+ label: '默认值',
114
+ tip: 'defaultValue | 默认值'
115
+ },
116
+ setter: 'StringSetter'
117
+ }, {
118
+ name: 'description',
119
+ title: {
120
+ label: '补充说明',
121
+ tip: 'description | 补充说明'
122
+ },
123
+ setter: 'StringSetter'
124
+ }, {
125
+ name: 'tooltip',
126
+ title: {
127
+ label: '气泡提示',
128
+ tip: 'tooltip | 气泡提示文案'
129
+ },
130
+ setter: 'StringSetter'
131
+ }, {
132
+ name: 'extra',
133
+ title: {
134
+ label: '额外提示',
135
+ tip: 'extra | 额外的提示信息'
136
+ },
137
+ setter: 'StringSetter'
138
+ }, {
139
+ name: 'disabled',
140
+ title: {
141
+ label: '禁用',
142
+ tip: 'disabled | 禁用'
143
+ },
144
+ setter: 'FrExpressionSetter'
145
+ }, {
146
+ name: 'hidden',
147
+ title: {
148
+ label: '隐藏',
149
+ tip: 'hidden | 隐藏'
150
+ },
151
+ setter: 'FrExpressionSetter'
152
+ }, {
153
+ name: 'readOnly',
154
+ title: {
155
+ label: '只读',
156
+ tip: 'readOnly | 只读'
157
+ },
158
+ setter: 'FrExpressionSetter'
159
+ }, {
160
+ name: 'readOnlyWidget',
161
+ title: {
162
+ label: '只读组件',
163
+ tip: 'readOnlyWidget | 只读组件'
164
+ },
165
+ setter: 'StringSetter',
166
+ condition: function condition(target) {
167
+ return !!target.getProps().getPropValue('readOnly');
168
+ }
169
+ }];
170
+ var optionsProp = exports.optionsProp = {
171
+ display: 'accordion',
172
+ name: 'props.options',
173
+ title: {
174
+ label: '选项配置',
175
+ tip: 'options | 选项配置'
176
+ },
177
+ setter: {
178
+ componentName: 'ArraySetter',
179
+ props: {
180
+ itemSetter: {
181
+ componentName: 'ObjectSetter',
182
+ initialValue: function initialValue() {
183
+ return {
184
+ label: '选项名',
185
+ value: uuid()
186
+ };
187
+ },
188
+ props: {
189
+ config: {
190
+ items: [{
191
+ name: 'label',
192
+ title: '选项名',
193
+ important: true,
194
+ setter: 'StringSetter'
195
+ }, {
196
+ name: 'value',
197
+ title: '选项值',
198
+ setter: ['StringSetter', 'NumberSetter'],
199
+ important: true
200
+ }, {
201
+ name: 'disabled',
202
+ title: '禁用',
203
+ setter: 'JsonSetter'
204
+ }]
205
+ }
206
+ }
207
+ }
208
+ }
209
+ }
210
+ };
211
+ var getInputPropsBasic = exports.getInputPropsBasic = function getInputPropsBasic(defaultValueProp, placeholder) {
212
+ var result = (0, _cloneDeep.default)(inputPropsBasic);
213
+ result.splice(2, 0, defaultValueProp);
214
+ if (placeholder) {
215
+ result.splice(3, 0, defaultValueProp);
216
+ }
217
+ return result;
218
+ };
219
+ var getNotInputPropsBasic = exports.getNotInputPropsBasic = function getNotInputPropsBasic(defaultValueProp) {
220
+ var result = (0, _cloneDeep.default)(notInputPropsBasic);
221
+ result.splice(2, 0, defaultValueProp);
222
+ return result;
223
+ };
224
+ var uuid = exports.uuid = function uuid() {
225
+ return (Math.random() * 1e6 >> 0).toString(36);
226
+ };
227
+ var createMeta = exports.createMeta = function createMeta(componentName, params) {
228
+ return _objectSpread({
229
+ componentName: componentName,
230
+ docUrl: '',
231
+ screenshot: '',
232
+ devMode: 'proCode',
233
+ npm: {
234
+ package: '@ali/form-render-material',
235
+ version: '1.0.0',
236
+ exportName: componentName,
237
+ main: 'src/index.tsx',
238
+ destructuring: true,
239
+ subName: ''
240
+ },
241
+ configure: {
242
+ supports: {
243
+ loop: false,
244
+ condition: false
245
+ },
246
+ component: {
247
+ isContainer: false,
248
+ isModal: false,
249
+ nestingRule: {
250
+ parentWhitelist: ['FormRender', 'Card', 'CardList', 'TableList']
251
+ }
252
+ }
253
+ },
254
+ group: '基础组件',
255
+ category: '常用',
256
+ icon: 'https://img.alicdn.com/imgextra/i4/O1CN01gxzRdT1hm9KXRbZkU_!!6000000004319-2-tps-200-200.png'
257
+ }, params);
258
+ };
package/lib/type.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";
package/package.json ADDED
@@ -0,0 +1,95 @@
1
+ {
2
+ "name": "@zzdadelu/schema-builder",
3
+ "version": "1.0.0-alpha.1",
4
+ "description": "通过 JSON Schema 生成标准 Form,常用于自定义搭建配置界面生成",
5
+ "keywords": [
6
+ "Form",
7
+ "FormRender",
8
+ "Render",
9
+ "XRender",
10
+ "React",
11
+ "Json Schema",
12
+ "Ant Design"
13
+ ],
14
+ "homepage": "https://xrender.fun/form-render",
15
+ "bugs": {
16
+ "url": "https://github.com/alibaba/x-render/issues"
17
+ },
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "git@github.com:alibaba/x-render.git"
21
+ },
22
+ "license": "MIT",
23
+ "main": "lib/index.js",
24
+ "module": "es/index.js",
25
+ "files": [
26
+ "es",
27
+ "lib",
28
+ "package.json"
29
+ ],
30
+ "scripts": {
31
+ "beta": "npm publish --tag beta",
32
+ "alpha": "npm publish --tag alpha --access public",
33
+ "build": "father-build",
34
+ "prepare": "yarn build",
35
+ "prettier": "prettier --write \"**/*.{js,jsx,tsx,ts,less,md,json}\"",
36
+ "postpublish": "git push --tags",
37
+ "test": "umi-test",
38
+ "test:coverage": "umi-test --coverage"
39
+ },
40
+ "lint-staged": {
41
+ "*.{js,jsx,less,md,json}": [
42
+ "prettier --write"
43
+ ],
44
+ "*.ts?(x)": [
45
+ "prettier --parser=typescript --write"
46
+ ]
47
+ },
48
+ "dependencies": {
49
+ "clone": "^2.1.2",
50
+ "i18next": "^21.8.11",
51
+ "nanoid": "^3.1.22",
52
+ "randombytes": "2.1.0",
53
+ "rc-color-picker": "^1.2.6",
54
+ "react-dnd": "^14.0.2",
55
+ "react-dnd-html5-backend": "^14.0.0",
56
+ "react-i18next": "^11.17.2",
57
+ "react-sortable-hoc": "^2.0.0"
58
+ },
59
+ "devDependencies": {
60
+ "@alib/build-scripts": "^0.1.18",
61
+ "@alilc/lowcode-engine": "^1.0.0",
62
+ "@alilc/lowcode-engine-ext": "^1.0.0",
63
+ "@alilc/lowcode-types": "^1.0.0",
64
+ "@rollup/plugin-babel": "^6.0.3",
65
+ "@types/events": "^3.0.0",
66
+ "@types/lodash": "^4.17.20",
67
+ "@types/minimatch": "^6.0.0",
68
+ "@types/react": "^16.8.3",
69
+ "@types/react-dom": "^16.8.2",
70
+ "@types/streamsaver": "^2.0.0",
71
+ "@types/uuid": "^8.3.4",
72
+ "build-plugin-fusion": "^0.1.0",
73
+ "build-plugin-moment-locales": "^0.1.0",
74
+ "build-plugin-react-app": "^1.1.2",
75
+ "father-build": "^1.17.2",
76
+ "fs-extra": "^10.0.1",
77
+ "less": "^3.0.0",
78
+ "rollup-plugin-commonjs": "^10.1.0",
79
+ "rollup-plugin-copy": "^3.4.0",
80
+ "tsconfig-paths-webpack-plugin": "^3.2.0"
81
+ },
82
+ "peerDependencies": {
83
+ "antd": "4.x",
84
+ "react": ">=16.14.0",
85
+ "react-dom": ">=16.14.0"
86
+ },
87
+ "gitHooks": {
88
+ "pre-commit": "lint-staged"
89
+ },
90
+ "types": "./lib/index.d.ts",
91
+ "publishConfig": {
92
+ "registry": "https://registry.npmjs.org/",
93
+ "access": "public"
94
+ }
95
+ }