@cloudbase/weda-ui 0.2.11 → 0.2.12

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 (108) hide show
  1. package/CHANGELOG.md +240 -0
  2. package/package.json +61 -40
  3. package/src/.DS_Store +0 -0
  4. package/src/configs/.DS_Store +0 -0
  5. package/src/configs/components/button.json +7 -3
  6. package/src/configs/components/form/richText.json +1 -1
  7. package/src/configs/components/form/uploader.json +29 -1
  8. package/src/configs/components/form/uploaderFile.json +158 -0
  9. package/src/configs/components/image.json +12 -3
  10. package/src/configs/components/link.json +3 -3
  11. package/src/configs/components/richtextview.json +2 -2
  12. package/src/configs/components/scrollVeiw.json +5 -5
  13. package/src/configs/components/swiper.json +6 -6
  14. package/src/configs/components/tabs.json +3 -3
  15. package/src/configs/components/text.json +39 -4
  16. package/src/configs/index.js +5 -3
  17. package/src/mp/.gitignore +10 -0
  18. package/src/mp/components/button/index.js +1 -0
  19. package/src/mp/components/button/index.wxss +8 -0
  20. package/src/mp/components/form/select/index.js +18 -0
  21. package/src/mp/components/form/uploader/index.js +26 -29
  22. package/src/mp/components/form/uploaderFile/index.js +247 -0
  23. package/src/mp/components/form/uploaderFile/index.json +9 -0
  24. package/src/mp/components/form/uploaderFile/index.wxml +46 -0
  25. package/src/mp/components/form/uploaderFile/index.wxss +104 -0
  26. package/src/mp/components/text/index.js +33 -0
  27. package/src/mp/components/text/index.wxml +1 -1
  28. package/src/mp/components/text/index.wxss +18 -0
  29. package/src/mp/index.json +1 -0
  30. package/src/mp/utils/platform.js +20 -0
  31. package/src/mp/utils/tcb.js +11 -0
  32. package/src/web/.DS_Store +0 -0
  33. package/src/web/actions/showModal/{index.jsx → index.tsx} +53 -3
  34. package/src/web/components/auth/index.js +2 -2
  35. package/src/web/components/button/index.css +9 -0
  36. package/src/web/components/button/{index.jsx → index.tsx} +27 -41
  37. package/src/web/components/container/{index.jsx → index.tsx} +6 -10
  38. package/src/web/components/drawer/index.tsx +57 -0
  39. package/src/web/components/form/checkbox/{index.jsx → index.tsx} +24 -48
  40. package/src/web/components/form/enumSelect/{NormalSelect.jsx → NormalSelect.tsx} +2 -9
  41. package/src/web/components/form/form/index.tsx +48 -0
  42. package/src/web/components/form/formcell/{index.jsx → index.tsx} +6 -13
  43. package/src/web/components/form/input/index.css +4 -0
  44. package/src/web/components/form/input/{index.jsx → index.tsx} +33 -67
  45. package/src/web/components/form/radio/{index.jsx → index.tsx} +19 -42
  46. package/src/web/components/form/{renderDecorator.jsx → renderDecorator.tsx} +1 -3
  47. package/src/web/components/form/select/{h5.jsx → h5.tsx} +18 -62
  48. package/src/web/components/form/select/{index.jsx → index.tsx} +51 -94
  49. package/src/web/components/form/select/region/{cities.js → cities.ts} +1 -1
  50. package/src/web/components/form/select/region/{index.js → index.ts} +3 -3
  51. package/src/web/components/form/select/region/{provinces.js → provinces.ts} +1 -1
  52. package/src/web/components/form/select/region/{regions.js → regions.ts} +1 -1
  53. package/src/web/components/form/select/time.jsx +2 -2
  54. package/src/web/components/form/switch/{index.jsx → index.tsx} +30 -47
  55. package/src/web/components/form/textarea/{index.jsx → index.tsx} +22 -55
  56. package/src/web/components/form/tips/{index.jsx → index.tsx} +8 -22
  57. package/src/web/components/form/types.d.ts +12 -0
  58. package/src/web/components/form/uploader/{index.jsx → index.tsx} +16 -14
  59. package/src/web/components/form/uploader/{uploader.h5.jsx → uploader.h5.tsx} +67 -57
  60. package/src/web/components/form/uploader/{uploader.pc.jsx → uploader.pc.tsx} +26 -43
  61. package/src/web/components/form/uploaderFile/fail.svg +12 -0
  62. package/src/web/components/form/uploaderFile/index.css +423 -0
  63. package/src/web/components/form/uploaderFile/index.jsx +30 -0
  64. package/src/web/components/form/uploaderFile/pending.svg +18 -0
  65. package/src/web/components/form/uploaderFile/success.svg +12 -0
  66. package/src/web/components/form/uploaderFile/uploadFile.h5.jsx +562 -0
  67. package/src/web/components/form/uploaderFile/uploadFile.pc.jsx +487 -0
  68. package/src/web/components/image/{image.jsx → image.tsx} +8 -21
  69. package/src/web/components/image/{index.jsx → index.tsx} +22 -37
  70. package/src/web/components/index.js +35 -1
  71. package/src/web/components/link/{index.jsx → index.tsx} +19 -36
  72. package/src/web/components/modal/{index.jsx → index.tsx} +22 -9
  73. package/src/web/components/picker/{datePicker.jsx → datePicker.tsx} +11 -12
  74. package/src/web/components/picker/{picker.jsx → picker.tsx} +7 -10
  75. package/src/web/components/picker/{timePicker.jsx → timePicker.tsx} +8 -16
  76. package/src/web/components/richText/{const.js → const.ts} +0 -0
  77. package/src/web/components/richText/index.jsx +5 -2
  78. package/src/web/components/richTextView/index.tsx +67 -0
  79. package/src/web/components/scrollView/{index.jsx → index.tsx} +18 -33
  80. package/src/web/components/slot/{index.jsx → index.tsx} +8 -9
  81. package/src/web/components/swiper/index.css +1 -1
  82. package/src/web/components/swiper/{index.jsx → index.tsx} +66 -73
  83. package/src/web/components/tabs/index.tsx +33 -0
  84. package/src/web/components/tabs/{tabs.h5.jsx → tabs.h5.tsx} +4 -33
  85. package/src/web/components/tabs/{tabs.pc.jsx → tabs.pc.tsx} +5 -39
  86. package/src/web/components/text/index.css +18 -0
  87. package/src/web/components/text/index.tsx +69 -0
  88. package/src/web/components/uploaderFileView/index.css +11 -0
  89. package/src/web/components/uploaderFileView/index.jsx +75 -0
  90. package/src/web/components/uploaderView/{index.jsx → index.tsx} +12 -15
  91. package/src/web/types.d.ts +20 -0
  92. package/src/web/utils/constant.js +2 -0
  93. package/src/web/utils/loading-fallback.tsx +2 -0
  94. package/src/web/utils/platform.js +77 -6
  95. package/src/web/utils/useSetState.ts +14 -0
  96. package/src/web/utils/useSyncValue.ts +17 -0
  97. package/src/web/wedatheme/.git +1 -0
  98. package/src/web/wedatheme/.gitignore +5 -0
  99. package/src/web/wedatheme/.npmrc +1 -0
  100. package/src/web/wedatheme/package-lock.json +14335 -0
  101. package/src/configs/components/button.svg +0 -18
  102. package/src/web/components/drawer/index.jsx +0 -64
  103. package/src/web/components/form/form/index.jsx +0 -76
  104. package/src/web/components/link/test/__snapshots__/storybook.test.js.snap +0 -754
  105. package/src/web/components/richTextView/index.jsx +0 -89
  106. package/src/web/components/tabs/index.jsx +0 -10
  107. package/src/web/components/text/index.jsx +0 -71
  108. package/src/web/utils/useSyncValue.js +0 -14
package/CHANGELOG.md ADDED
@@ -0,0 +1,240 @@
1
+ > 为了更好的区分组件类型,仅在更新日志中进行如下约定:低码组件使用大驼峰命名,源码组件使用小驼峰命名。
2
+
3
+ ## [1.2] - 2021-08-24
4
+
5
+ ### Changed
6
+
7
+ - swiper 轮播
8
+
9
+ - 添加示例图片
10
+
11
+ ## [1.1] - 2021-08-09
12
+
13
+ ### Added
14
+
15
+ - text 文本
16
+
17
+ - 新增事件 `tap`
18
+
19
+ - modal 模态弹窗
20
+
21
+ - 新增组件 `modal`, web 使用 tea 样式用于 PC 样式响应式。
22
+
23
+ - showModal 显示弹窗
24
+
25
+ - 新增动作 `showModal`,用于平台方法的 PC 大屏响应式版本,小程序对齐 wx.showModal api。
26
+
27
+ - FormTextarea 表单多行输入
28
+
29
+ - 新增组件 `FormTextarea`, 用以替代被移除的 `Textarea` 组件
30
+
31
+ - link 链接
32
+
33
+ - 新增组件 `link`,可通过插槽来配置自定义内容
34
+
35
+ ### Changed
36
+
37
+ - button 按钮
38
+
39
+ - 添加响应式样式,屏幕宽度大于 **1024px** 时显示为方角
40
+
41
+ - swiper 轮播
42
+
43
+ - 添加响应式样式,屏幕宽度大于 1024px 时显示为方角
44
+
45
+ - FormRadio 表单单选
46
+
47
+ - 修复多个单选组件并存导致的选中问题
48
+
49
+ - FormCheckbox 表单复选
50
+
51
+ - 修复多个复选组件并存导致的选中问题
52
+
53
+ - 所有组件:
54
+ - 表单组件的默认背景色,统一配置为透明
55
+ - 组件最外层容器统一添加 `weda-ui` 类名,组件库级别重置样式及公共样式都限制在 `weda-ui` 类名下,防止污染
56
+ - 规范了组件事件的触发方式
57
+
58
+ ## [1.0] - 2021-06-10
59
+
60
+ ### Added
61
+
62
+ - text 文本:
63
+
64
+ - 新增属性 `maxLines` 最大显示行数
65
+
66
+ - FormRegion 表单区域选择:
67
+
68
+ - 新增组件 `FormRegion`, 用以替代被移除的 `RegionPicker` 组件
69
+
70
+ ### Removed
71
+
72
+ - swiper 轮播:
73
+
74
+ - 移除属性 `displayMultipleItems`, `nextMargin`, `previousMargin`, `updated`
75
+ - 移除 `transition` 和 `animationfinished` 事件
76
+
77
+ - text 文本:
78
+
79
+ - 移除属性 `decode` 是否解码
80
+ - 移除 `tap` 事件
81
+
82
+ - image 图片:
83
+
84
+ - 移除属性 `webp` 能否解析 webp 格式
85
+
86
+ - button 按钮:
87
+
88
+ - 移除属性 `plain` 镂空
89
+ - 移除属性 `openType` 微信开放能力的 `获取用户信息` 选项
90
+
91
+ - FormInput 表单输入:
92
+
93
+ - 移除属性 `requiredFlag` 是否需要必填星号
94
+ - 移除属性 `underline` 是否需要底部下划线
95
+
96
+ - FormRadio 表单单选:
97
+
98
+ - 移除属性 `validateTrigger` 字段触发校验类型
99
+ - 移除属性 `validateStatus` 校验状态
100
+ - 移除属性 `requiredFlag` 是否需要必填星号
101
+ - 移除属性 `underline` 是否需要底部下划线
102
+
103
+ - FormCheckbox 表单复选:
104
+
105
+ - 移除属性 `validateTrigger` 字段触发校验类型
106
+ - 移除属性 `validateStatus` 校验状态
107
+ - 移除属性 `requiredFlag` 是否需要必填星号
108
+ - 移除属性 `underline` 是否需要底部下划线
109
+
110
+ - FormSwitch 表单开关:
111
+
112
+ - 移除属性 `type` 显示类型
113
+ - 移除属性 `checkedIcon` 选中图标
114
+ - 移除属性 `uncheckedIcon` 非选中图标
115
+ - 移除属性 `requiredFlag` 是否需要必填星号
116
+ - 移除属性 `underline` 是否需要底部下划线
117
+
118
+ - FormDate 表单日期:
119
+
120
+ - 移除属性 `suffixType` 操作尾部样式类型
121
+ - 移除属性 `suffixText` 操作尾部文案
122
+ - 移除属性 `requiredFlag` 是否需要必填星号
123
+ - 移除属性 `underline` 是否需要底部下划线
124
+
125
+ - FormTime 表单时间:
126
+
127
+ - 移除属性 `suffixType` 操作尾部样式类型
128
+ - 移除属性 `suffixText` 操作尾部文案
129
+ - 移除属性 `requiredFlag` 是否需要必填星号
130
+ - 移除属性 `underline` 是否需要底部下划线
131
+
132
+ - FormSelect 表单选择:
133
+
134
+ - 移除属性 `suffixType` 操作尾部样式类型
135
+ - 移除属性 `suffixText` 操作尾部文案
136
+ - 移除属性 `validateTrigger` 字段触发校验类型
137
+ - 移除属性 `validateStatus` 校验状态
138
+ - 移除属性 `rules` 校验规则
139
+ - 移除属性 `requiredFlag` 是否需要必填星号
140
+ - 移除属性 `underline` 是否需要底部下划线
141
+
142
+ - FormPhone 表单手机号码:
143
+
144
+ - 移除属性 `maxLength` 最大输入长度
145
+ - 移除属性 `rules` 校验规则
146
+ - 移除属性 `requiredFlag` 是否需要必填星号
147
+ - 移除属性 `underline` 是否需要底部下划线
148
+
149
+ - FormEmail 表单邮件地址:
150
+
151
+ - 移除属性 `rules` 校验规则
152
+ - 移除属性 `requiredFlag` 是否需要必填星号
153
+ - 移除属性 `underline` 是否需要底部下划线
154
+
155
+ - FormUrl 表单邮件地址:
156
+
157
+ - 移除属性 `rules` 校验规则
158
+ - 移除属性 `requiredFlag` 是否需要必填星号
159
+ - 移除属性 `underline` 是否需要底部下划线
160
+
161
+ - FormItem 表单元素:
162
+
163
+ - 移除组件
164
+
165
+ - FormCell 表单表格:
166
+
167
+ - 移除组件
168
+
169
+ - RegionPicker 地域选择:
170
+
171
+ - 移除组件
172
+
173
+ - Textarea 多行输入:
174
+
175
+ - 移除组件, 待优化后重新上架
176
+
177
+ ### Changed
178
+
179
+ - image 图片:
180
+
181
+ - 默认大小由 320\*240 rpx 调整为 240\*240 rpx
182
+
183
+ - text 文本:
184
+
185
+ - 跟随小程序定义,`selectabble` 变更为 `userSelect`
186
+ - 样式调整:默认布局模式从 `inline` 编程 `block`
187
+
188
+ - button 按钮:
189
+
190
+ - 样式调整:从默认宽度 `100%` 调整为默认 `184px`
191
+
192
+ - Form 表单容器:
193
+
194
+ - 样式优化
195
+
196
+ - FormInput 表单输入:
197
+
198
+ - 样式优化
199
+
200
+ - FormRadio 表单单选:
201
+
202
+ - 属性 `name` 表单字段名称,默认值由 `thisIsRadioKey` 改为 `formRadio`
203
+ - 样式优化
204
+
205
+ - FormCheckbox 表单复选:
206
+
207
+ - 属性 `name` 表单字段名称,默认值由 `thisIsCheckboxKey` 改为 `formCheckbox`
208
+ - 样式优化
209
+
210
+ - FormSwitch 表单开关:
211
+
212
+ - 属性 `name` 表单字段名称,默认值由 `thisIsSelectKey` 改为 `formSwitch`
213
+ - 样式优化
214
+
215
+ - FormDate 表单日期:
216
+
217
+ - 属性 `name` 表单字段名称,默认值由 `thisIsDateKey` 改为 `formDate`
218
+ - 样式优化
219
+
220
+ - FormTime 表单时间:
221
+
222
+ - 属性 `name` 表单字段名称,默认值由 `thisIsTimeKey` 改为 `formTime`
223
+ - 样式优化
224
+
225
+ - FormSelect 表单选择:
226
+
227
+ - 属性 `name` 表单字段名称,默认值由 `thisIsSelectKey` 改为 `formSelect`
228
+ - 样式优化
229
+
230
+ - FormPhone 表单手机号码:
231
+
232
+ - 样式优化
233
+
234
+ - FormEmail 表单邮件地址:
235
+
236
+ - 样式优化
237
+
238
+ - FormUrl 表单邮件地址:
239
+
240
+ - 样式优化
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/weda-ui",
3
- "version": "0.2.11",
3
+ "version": "0.2.12",
4
4
  "main": "./src/index.js",
5
5
  "module": "./src/index",
6
6
  "miniprogram": "mpdist",
@@ -16,15 +16,19 @@
16
16
  "access": "public"
17
17
  },
18
18
  "scripts": {
19
- "test": "jest test --env=jsdom --watch",
20
- "test-once": "jest test --env=jsdom",
19
+ "dev": "tcb lowcode debug",
20
+ "build:cli": "tcb lowcode build",
21
+ "build:analyze": "cross-env ANALYZER=1 tcb lowcode build",
22
+ "test": "jest test --env=jsdom",
23
+ "test:watch": "jest test --env=jsdom --watch",
21
24
  "storybook": "start-storybook -p 6006",
22
25
  "build-storybook": "build-storybook",
23
26
  "lint": "eslint src --fix",
24
27
  "prepare": "husky install",
25
28
  "build-npm": "rimraf dist && mkdir dist && cp -r src/web dist/ && cp -r src/configs dist/ && cp src/index.js dist/",
26
29
  "build-mp": "rimraf mpdist && cp -r src/mp mpdist",
27
- "clear:snap": "rimraf ./src/test/__snapshots__"
30
+ "clear:snap": "rimraf ./src/test/__snapshots__",
31
+ "size": "npm run build:cli && size-limit"
28
32
  },
29
33
  "keywords": [
30
34
  "weda",
@@ -36,16 +40,16 @@
36
40
  "description": "腾讯云微搭低代码组件库模板",
37
41
  "dependencies": {
38
42
  "@cloudbase/ui-react": "^1.0.4",
39
- "@use-gesture/react": "^10.1.4",
43
+ "@loadable/component": "^5.15.2",
44
+ "@react-hookz/web": "^12.0.0",
45
+ "@use-gesture/react": "^10.2.4",
40
46
  "braft-editor": "^2.3.9",
41
47
  "braft-utils": "^3.0.12",
42
- "dayjs": "^1.10.6",
48
+ "dayjs": "^1.10.7",
43
49
  "lodash.isequal": "^4.5.0",
44
- "moment": "^2.29.1",
45
- "object.fromentries": "^2.0.4",
50
+ "object.fromentries": "^2.0.5",
46
51
  "prop-types": "^15.7.2",
47
- "react-easy-swipe": "^0.0.21",
48
- "react-use": "^15.3.4",
52
+ "react-easy-swipe": "0.0.22",
49
53
  "tea-component": "^2.7.3",
50
54
  "uuid": "8.3.2",
51
55
  "weui": "^2.4.4",
@@ -55,48 +59,65 @@
55
59
  "react": ">=16.8.0"
56
60
  },
57
61
  "devDependencies": {
58
- "@babel/preset-env": "^7.15.6",
59
- "@babel/preset-react": "^7.14.5",
60
- "@cloudbase/lowcode-build-dependence": "^0.7.2",
62
+ "@babel/preset-env": "^7.16.5",
63
+ "@babel/preset-react": "^7.16.5",
64
+ "@babel/preset-typescript": "^7.16.5",
65
+ "@cloudbase/lowcode-build-dependence": "^0.9.0",
66
+ "@commitlint/cli": "^16.0.2",
61
67
  "@commitlint/config-conventional": "^13.2.0",
62
- "@storybook/addon-actions": "^6.3.10",
63
- "@storybook/addon-essentials": "^6.3.10",
64
- "@storybook/addon-links": "^6.3.10",
65
- "@storybook/addon-storyshots": "^6.3.10",
66
- "@storybook/react": "^6.3.10",
67
- "@testing-library/jest-dom": "^5.14.1",
68
- "@testing-library/react": "^12.0.0",
68
+ "@size-limit/preset-big-lib": "^7.0.5",
69
+ "@storybook/addon-actions": "^6.4.9",
70
+ "@storybook/addon-essentials": "^6.4.9",
71
+ "@storybook/addon-links": "^6.4.9",
72
+ "@storybook/addon-storyshots": "^6.4.9",
73
+ "@storybook/react": "^6.4.9",
74
+ "@testing-library/jest-dom": "^5.16.1",
75
+ "@testing-library/react": "^12.1.2",
69
76
  "@testing-library/react-hooks": "^7.0.2",
70
- "babel-jest": "^27.2.0",
71
- "eslint": "^7.32.0",
77
+ "@types/jest": "^27.0.3",
78
+ "@types/resize-observer-browser": "^0.1.6",
79
+ "@typescript-eslint/eslint-plugin": "^5.9.0",
80
+ "@typescript-eslint/parser": "^5.9.0",
81
+ "babel-jest": "^27.4.5",
82
+ "babel-loader": "^8.2.3",
83
+ "cross-env": "^7.0.3",
84
+ "eslint": "^8.4.1",
72
85
  "eslint-config-tencent": "^1.0.2",
73
- "eslint-plugin-jest": "^25.0.5",
74
- "eslint-plugin-react": "^7.26.1",
75
- "husky": "^7.0.0",
86
+ "eslint-plugin-jest": "^25.3.0",
87
+ "eslint-plugin-react": "^7.27.1",
88
+ "husky": "^7.0.4",
76
89
  "identity-obj-proxy": "^3.0.0",
77
- "jest": "^27.2.0",
90
+ "jest": "^27.4.5",
78
91
  "less": "^4.1.2",
79
- "miniprogram-simulate": "^1.4.0",
92
+ "miniprogram-simulate": "^1.4.3",
93
+ "nano-staged": "^0.5.0",
80
94
  "react": "^17.0.2",
81
95
  "react-dom": "^17.0.2",
82
96
  "react-test-renderer": "^17.0.2",
83
97
  "rimraf": "^3.0.2",
84
- "ts-jest": "^27.0.5",
85
- "typescript": "^4.4.3"
86
- },
87
- "jest": {
88
- "transformIgnorePatterns": [
89
- "node_modules/(?!(react-syntax-highlighter)/)"
90
- ],
91
- "moduleNameMapper": {
92
- "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/src/test/__mocks__/fileMock.js",
93
- "\\.(css|less|scss|sass)$": "identity-obj-proxy"
94
- }
98
+ "size-limit": "^7.0.5",
99
+ "ts-jest": "^27.1.1",
100
+ "ts-loader": "^8.2.0",
101
+ "typescript": "^4.5.4",
102
+ "webpack": "4.44.2"
95
103
  },
96
104
  "babel": {
97
105
  "presets": [
98
106
  "@babel/preset-env",
99
- "@babel/preset-react"
107
+ "@babel/preset-react",
108
+ "@babel/preset-typescript"
109
+ ]
110
+ },
111
+ "nano-staged": {
112
+ "*.{js,jsx,ts,tsx}": [
113
+ "eslint --fix"
100
114
  ]
101
- }
115
+ },
116
+ "size-limit": [
117
+ {
118
+ "path": ".temp/dist/*.main.*",
119
+ "webpack": false,
120
+ "limit": "700 KB"
121
+ }
122
+ ]
102
123
  }
package/src/.DS_Store ADDED
Binary file
Binary file
@@ -15,12 +15,16 @@
15
15
  "x-component": "radio",
16
16
  "enum": [
17
17
  {
18
- "label": "default",
18
+ "label": "",
19
19
  "value": "default"
20
20
  },
21
21
  {
22
- "label": "mini",
22
+ "label": "",
23
23
  "value": "mini"
24
+ },
25
+ {
26
+ "label": "大",
27
+ "value": "large"
24
28
  }
25
29
  ],
26
30
  "x-category": "基础属性"
@@ -182,7 +186,7 @@
182
186
  "name": "Button",
183
187
  "title": "按钮",
184
188
  "description": "按钮组件",
185
- "icon": "./button.svg",
189
+ "icon": "//imgcache.qq.com/qcloud/lowcode/static/ide/left-material-icon/Button.svg",
186
190
  "category": "展示",
187
191
  "categoryOrder": 1,
188
192
  "componentOrder": 1
@@ -114,7 +114,7 @@
114
114
  "title": "富文本",
115
115
  "description": "富文本编辑器",
116
116
  "category": "表单",
117
- "icon": "//main.qcloudimg.com/raw/adc8cd1b6eb93c0f890ca2322e509a6b/RichText.svg"
117
+ "icon": "//imgcache.qq.com/qcloud/lowcode/static/ide/left-material-icon/RichText.svg"
118
118
  },
119
119
  "events": [
120
120
  {
@@ -108,6 +108,34 @@
108
108
  "title": "是否返回单张图片",
109
109
  "x-category": "基础属性"
110
110
  },
111
+ "required": {
112
+ "type": "boolean",
113
+ "title": "是否必填",
114
+ "default": false,
115
+ "x-index": 190,
116
+ "x-category": "高级属性",
117
+ "x-linkages": [
118
+ {
119
+ "type": "value:visible",
120
+ "target": "*(requiredFlag,requiredMsg)",
121
+ "condition": "{{$self.value}}"
122
+ }
123
+ ]
124
+ },
125
+ "requiredMsg": {
126
+ "type": "string",
127
+ "title": "校验错误提示",
128
+ "default": "该项为必填项",
129
+ "x-index": 191,
130
+ "x-category": "高级属性"
131
+ },
132
+ "requiredFlag": {
133
+ "type": "boolean",
134
+ "title": "显示必填标记",
135
+ "default": false,
136
+ "x-index": 192,
137
+ "x-category": "高级属性"
138
+ },
111
139
  "defaultValue": {
112
140
  "x-category": "基础属性",
113
141
  "title": "初始默认值",
@@ -136,6 +164,6 @@
136
164
  "title": "上传图片",
137
165
  "description": "上传图片组件",
138
166
  "category": "表单",
139
- "icon": "//main.qcloudimg.com/raw/f781e6bc48efa1cf926fc768fceeab5e/Uploader.svg"
167
+ "icon": "//imgcache.qq.com/qcloud/lowcode/static/ide/left-material-icon/UploadImage.svg"
140
168
  }
141
169
  }
@@ -0,0 +1,158 @@
1
+ {
2
+ "$schema": "https://comp-public-1303824488.cos.ap-shanghai.myqcloud.com/schema/lcds_component.json",
3
+ "data": {
4
+ "properties": {
5
+ "label": {
6
+ "type": "string",
7
+ "default": "上传文件",
8
+ "title": "标题",
9
+ "x-category": "基础属性",
10
+ "x-index": 10
11
+ },
12
+ "labelVisible": {
13
+ "type": "boolean",
14
+ "default": true,
15
+ "title": "显示标题",
16
+ "x-category": "基础属性",
17
+ "x-index": 20
18
+ },
19
+ "single": {
20
+ "type": "boolean",
21
+ "default": true,
22
+ "title": "单个文件上传模式",
23
+ "x-category": "基础属性",
24
+ "x-index": 30
25
+ },
26
+
27
+ "maxUploadCount": {
28
+ "type": "number",
29
+ "default": 9,
30
+ "title": "上传文件最大数量",
31
+ "x-category": "基础属性",
32
+ "x-index": 40
33
+ },
34
+ "downloadVisible": {
35
+ "type": "boolean",
36
+ "default": true,
37
+ "title": "显示下载按钮",
38
+ "x-category": "基础属性",
39
+ "x-index": 50
40
+ },
41
+ "deleteVisible": {
42
+ "type": "boolean",
43
+ "default": true,
44
+ "title": "显示删除按钮",
45
+ "x-category": "基础属性",
46
+ "x-index": 60
47
+ },
48
+ "defaultValue": {
49
+ "x-category": "基础属性",
50
+ "title": "初始默认值",
51
+ "type": "array",
52
+ "items": {
53
+ "type": "string"
54
+ },
55
+ "x-index": 70
56
+ },
57
+ "maxSize": {
58
+ "type": "number",
59
+ "default": 1024,
60
+ "title": "单个文件最大限制(M)",
61
+ "description": "最大支持1024M",
62
+ "x-category": "高级属性",
63
+ "x-index": 80
64
+ },
65
+ "layout": {
66
+ "title": "布局方式",
67
+ "type": "string",
68
+ "default": "horizontal",
69
+ "x-category": "高级属性",
70
+ "enum": [
71
+ {
72
+ "label": "水平",
73
+ "value": "horizontal"
74
+ },
75
+ {
76
+ "label": "垂直",
77
+ "value": "vertical"
78
+ }
79
+ ],
80
+ "x-index": 90
81
+ },
82
+ "acceptTypes": {
83
+ "type": "array",
84
+ "title": "文件类型",
85
+ "x-platforms": ["WEB"],
86
+ "default": ["*"],
87
+ "x-category": "高级属性",
88
+ "x-index": 100,
89
+ "items": {
90
+ "type": "string",
91
+ "enum": [
92
+ {
93
+ "label": "全部",
94
+ "value": "*"
95
+ },
96
+ {
97
+ "label": "png",
98
+ "value": "image/png"
99
+ },
100
+ {
101
+ "label": "jpeg",
102
+ "value": "image/jpeg"
103
+ },
104
+ {
105
+ "label": "pdf",
106
+ "value": "application/pdf"
107
+ },
108
+ {
109
+ "label": "doc",
110
+ "value": "application/msword"
111
+ },
112
+ {
113
+ "label": "xls",
114
+ "value": "application/vnd.ms-excel"
115
+ },
116
+ {
117
+ "label": "zip",
118
+ "value": "application/zip"
119
+ }
120
+ ]
121
+ }
122
+ },
123
+ "requiredFlag": {
124
+ "type": "boolean",
125
+ "default": false,
126
+ "title": "是否必填",
127
+ "x-category": "高级属性",
128
+ "x-index": 110
129
+ },
130
+ "disabled": {
131
+ "type": "boolean",
132
+ "default": false,
133
+ "title": "是否禁用",
134
+ "x-category": "高级属性",
135
+ "x-index": 120
136
+ }
137
+ }
138
+ },
139
+ "events": [
140
+ {
141
+ "name": "success",
142
+ "title": "上传成功"
143
+ },
144
+ {
145
+ "name": "error",
146
+ "title": "上传失败"
147
+ },
148
+ {
149
+ "name": "change",
150
+ "title": "值变化"
151
+ }
152
+ ],
153
+ "meta": {
154
+ "title": "上传文件",
155
+ "description": "上传文件组件",
156
+ "category": "表单"
157
+ }
158
+ }
@@ -28,11 +28,20 @@
28
28
  "title": "点击预览大图",
29
29
  "type": "boolean",
30
30
  "default": false,
31
- "x-category": "基础属性"
31
+ "x-index": 3,
32
+ "x-category": "基础属性",
33
+ "x-linkages": [
34
+ {
35
+ "type": "value:visible",
36
+ "target": "maskClosable",
37
+ "condition": "{{ $self.value }}"
38
+ }
39
+ ]
32
40
  },
33
41
  "maskClosable": {
34
- "title": "点击遮罩关闭图片预览",
42
+ "title": "再次点击关闭预览",
35
43
  "type": "boolean",
44
+ "x-index": 4,
36
45
  "default": true,
37
46
  "x-category": "基础属性"
38
47
  },
@@ -44,7 +53,7 @@
44
53
  "description": "图片按需加载,若图片没有被展示,则不会加载"
45
54
  },
46
55
  "fit": {
47
- "title": "图片布局模式",
56
+ "title": "布局模式",
48
57
  "type": "string",
49
58
  "default": "cover",
50
59
  "enum": [