@cloudbase/weda-ui 3.4.3 → 3.4.5

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 (277) hide show
  1. package/dist/configs/components/chart/bar.json +117 -8
  2. package/dist/configs/components/chart/line.js +127 -18
  3. package/dist/configs/components/chart/pie.json +117 -8
  4. package/dist/configs/components/chart/statisticsCard.json +57 -0
  5. package/dist/configs/components/dataView.js +507 -0
  6. package/dist/configs/components/form/location.json +2 -1
  7. package/dist/configs/components/form/userTreeSelect.json +55 -0
  8. package/dist/configs/components/formdetail.json +12 -2
  9. package/dist/configs/components/graphicCard.json +1 -1
  10. package/dist/configs/components/grid/col.js +125 -0
  11. package/dist/configs/components/grid/grid.js +131 -0
  12. package/dist/configs/components/grid/row.js +143 -0
  13. package/dist/configs/components/image.js +11 -1
  14. package/dist/configs/components/link.js +11 -1
  15. package/dist/configs/components/listView.js +1092 -0
  16. package/dist/configs/components/navLayout.json +1 -1
  17. package/dist/configs/components/navigationBar.json +9 -1
  18. package/dist/configs/components/repeater-item.json +17 -0
  19. package/dist/configs/components/repeater.js +125 -0
  20. package/dist/configs/components/table.json +187 -29
  21. package/dist/configs/components/text.js +12 -1
  22. package/dist/configs/components/wd-bubble.js +204 -0
  23. package/dist/configs/components/wd-button.js +417 -0
  24. package/dist/configs/components/wd-divider.js +89 -0
  25. package/dist/configs/components/wd-icon.js +126 -0
  26. package/dist/configs/components/wd-image.js +164 -0
  27. package/dist/configs/components/wd-link.js +234 -0
  28. package/dist/configs/components/wd-table.js +59 -0
  29. package/dist/configs/components/wd-text.js +142 -0
  30. package/dist/configs/components/wxOpenApi/phone.js +2 -2
  31. package/dist/configs/components/wxOpenApi/phoneCode.js +2 -2
  32. package/dist/configs/index.js +34 -3
  33. package/dist/configs/type-utils/index.js +4 -1
  34. package/dist/docs/common/componentList.js +144 -0
  35. package/dist/docs/common/components/classes-view.js +34 -0
  36. package/dist/docs/common/components/event-view.js +46 -0
  37. package/dist/docs/common/components/json-schema-view.js +18 -0
  38. package/dist/docs/common/components/methods-view.js +32 -0
  39. package/dist/docs/common/components/properties-view.js +45 -0
  40. package/dist/docs/common/format.js +60 -35
  41. package/dist/docs/common/helper.js +1 -0
  42. package/dist/docs/common/tableView.js +61 -50
  43. package/dist/enum/index.js +521 -0
  44. package/dist/index.js +1 -1
  45. package/dist/style/index.scss +1 -0
  46. package/dist/web/actions/showMessage/index.css +0 -3
  47. package/dist/web/actions/showMessage/index.js +1 -1
  48. package/dist/web/actions/showModal/index.css +0 -3
  49. package/dist/web/components/button/index.css +2 -5
  50. package/dist/web/components/button/index.js +3 -3
  51. package/dist/web/components/calendar/index.css +29 -32
  52. package/dist/web/components/calendar/index.js +37 -35
  53. package/dist/web/components/carousel/index.css +11 -14
  54. package/dist/web/components/carousel/index.js +3 -1
  55. package/dist/web/components/chart/common/core/eChartBar.js +10 -2
  56. package/dist/web/components/chart/common/core/eChartLine.js +16 -8
  57. package/dist/web/components/chart/common/core/eChartPie.js +2 -1
  58. package/dist/web/components/chart/common/data-transform.js +1 -1
  59. package/dist/web/components/chart/statisticsCard/index.css +12 -15
  60. package/dist/web/components/chart/statisticsCard/index.js +7 -2
  61. package/dist/web/components/dataView/index.js +3 -3
  62. package/dist/web/components/emptyContent/index.css +26 -0
  63. package/dist/web/components/emptyContent/index.js +46 -0
  64. package/dist/web/components/flow/components/FlowModuleText/index.css +1 -4
  65. package/dist/web/components/flow/components/FlowUserSelect/index.css +29 -32
  66. package/dist/web/components/flow/components/HighlightTextarea/index.css +5 -8
  67. package/dist/web/components/flow/components/UserSelectModel/UserSelect.js +9 -8
  68. package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.css +1 -4
  69. package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.js +3 -4
  70. package/dist/web/components/flow/components/WedaUserTransfer/index.css +0 -3
  71. package/dist/web/components/flow/frame/getCommonFlowData.js +3 -1
  72. package/dist/web/components/flow/frame/index.js +18 -1
  73. package/dist/web/components/flow/frame/types.js +6 -0
  74. package/dist/web/components/flow/frame/utils.js +20 -11
  75. package/dist/web/components/flow/modules/basic/Basic.css +3 -6
  76. package/dist/web/components/flow/modules/basic/BasicMobile.css +9 -12
  77. package/dist/web/components/flow/modules/chart/Chart.js +2 -2
  78. package/dist/web/components/flow/modules/chart/index.css +23 -29
  79. package/dist/web/components/flow/modules/chart/isString.js +5 -0
  80. package/dist/web/components/flow/modules/control/ApprovalDrawer.css +44 -47
  81. package/dist/web/components/flow/modules/control/ApprovalPopup.css +34 -37
  82. package/dist/web/components/flow/modules/control/ApprovalPopup.js +12 -9
  83. package/dist/web/components/flow/modules/control/Control.css +7 -10
  84. package/dist/web/components/flow/modules/control/Control.js +31 -16
  85. package/dist/web/components/flow/modules/control/ControlMobile.css +41 -12
  86. package/dist/web/components/flow/modules/control/ControlMobile.js +28 -13
  87. package/dist/web/components/flow/modules/control/FlowTaskInfoModal.css +0 -3
  88. package/dist/web/components/flow/modules/control/FlowTaskInfoModal.js +4 -4
  89. package/dist/web/components/flow/modules/control/provider/useControlModel.js +20 -11
  90. package/dist/web/components/flow/modules/control/provider/useMobileModel.js +0 -2
  91. package/dist/web/components/flow/modules/control/provider/useRevokeAndBackHook.js +2 -0
  92. package/dist/web/components/flow/modules/control/utils/index.js +1 -0
  93. package/dist/web/components/flow/modules/control/utils/tools.js +3 -0
  94. package/dist/web/components/flow/modules/layout/index.css +0 -3
  95. package/dist/web/components/flow/modules/process/Process.js +1 -1
  96. package/dist/web/components/flow/modules/process/ProcessMobile.js +1 -1
  97. package/dist/web/components/flow/modules/process/index.css +49 -43
  98. package/dist/web/components/form/form/index.css +2 -5
  99. package/dist/web/components/form/form/index.js +48 -4
  100. package/dist/web/components/form/formcell/index.css +29 -17
  101. package/dist/web/components/form/input/index.css +5 -8
  102. package/dist/web/components/form/input/index.js +11 -0
  103. package/dist/web/components/form/location/common/mapChoose.css +88 -91
  104. package/dist/web/components/form/location/common/selectModal.css +10 -13
  105. package/dist/web/components/form/location/components/LocationH5/index.css +17 -20
  106. package/dist/web/components/form/location/components/LocationH5/location.h5.js +2 -3
  107. package/dist/web/components/form/location/components/LocationH5/location.module.css +0 -3
  108. package/dist/web/components/form/location/components/LocationPC/index.css +10 -13
  109. package/dist/web/components/form/location/components/LocationPC/location.PC.js +2 -3
  110. package/dist/web/components/form/location/index.css +0 -3
  111. package/dist/web/components/form/radio/index.css +0 -3
  112. package/dist/web/components/form/select/allTimePicker/calendar.css +15 -18
  113. package/dist/web/components/form/select/allTimePicker/index.css +53 -27
  114. package/dist/web/components/form/select/dropdown-select/h5.js +23 -12
  115. package/dist/web/components/form/select/dropdown-select/index.css +34 -27
  116. package/dist/web/components/form/select/dropdown-select/index.js +37 -4
  117. package/dist/web/components/form/select/dropdown-select/pc.js +57 -17
  118. package/dist/web/components/form/select/dropdown-select/ui.js +5 -2
  119. package/dist/web/components/form/select/index.css +12 -8
  120. package/dist/web/components/form/select/index.js +4 -9
  121. package/dist/web/components/form/select/status/index.css +10 -13
  122. package/dist/web/components/form/switch/switch.module.css +0 -3
  123. package/dist/web/components/form/textarea/index.css +1 -4
  124. package/dist/web/components/form/textarea/index.js +1 -1
  125. package/dist/web/components/form/tips/index.css +11 -2
  126. package/dist/web/components/form/uploader/index.css +14 -17
  127. package/dist/web/components/form/uploaderFile/index.css +64 -66
  128. package/dist/web/components/form/uploaderFile/uploadFile.h5.js +10 -11
  129. package/dist/web/components/form/uploaderFile/uploadFile.pc.js +3 -2
  130. package/dist/web/components/form/userOrgSelect/common/fetch-data-service.js +120 -38
  131. package/dist/web/components/form/userOrgSelect/common/utils.js +89 -1
  132. package/dist/web/components/form/userOrgSelect/component/depart-breadcrumb.js +15 -0
  133. package/dist/web/components/form/userOrgSelect/component/depart-select/depart-select-pc.js +63 -0
  134. package/dist/web/components/form/userOrgSelect/component/depart-select/index.js +96 -0
  135. package/dist/web/components/form/userOrgSelect/component/depart-select/org-modal-pc.js +69 -0
  136. package/dist/web/components/form/userOrgSelect/{user-select-pc → component}/error-tips.js +0 -0
  137. package/dist/web/components/form/userOrgSelect/component/index.css +323 -0
  138. package/dist/web/components/form/userOrgSelect/component/input-tags.js +21 -0
  139. package/dist/web/components/form/userOrgSelect/component/modal-search-h5.js +25 -0
  140. package/dist/web/components/form/userOrgSelect/component/modal-search.js +11 -0
  141. package/dist/web/components/form/userOrgSelect/component/modal-select-h5.js +201 -0
  142. package/dist/web/components/form/userOrgSelect/component/org-tree-h5.js +19 -0
  143. package/dist/web/components/form/userOrgSelect/component/org-tree.js +33 -0
  144. package/dist/web/components/form/userOrgSelect/component/selected-list-h5.js +44 -0
  145. package/dist/web/components/form/userOrgSelect/component/selected-list.js +15 -0
  146. package/dist/web/components/form/userOrgSelect/component/user-org-list.js +55 -0
  147. package/dist/web/components/form/userOrgSelect/component/user-select-h5/index.js +168 -0
  148. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-list-h5.js +107 -0
  149. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-select-h5.js +59 -0
  150. package/dist/web/components/form/userOrgSelect/component/user-select-pc/error-tips.js +11 -0
  151. package/dist/web/components/form/userOrgSelect/{user-select-pc → component/user-select-pc}/model-user-list.js +9 -9
  152. package/dist/web/components/form/userOrgSelect/component/user-select-pc/org-tree.js +10 -0
  153. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.js +75 -0
  154. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-select-pc.js +65 -0
  155. package/dist/web/components/form/userOrgSelect/component/userOrgSelect.css +1160 -0
  156. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.js +54 -87
  157. package/dist/web/components/form/userOrgSelect/hooks/use-depart-data.js +30 -35
  158. package/dist/web/components/form/userOrgSelect/hooks/use-views-data.js +48 -0
  159. package/dist/web/components/formdetail/index.css +34 -31
  160. package/dist/web/components/formdetail/index.js +12 -3
  161. package/dist/web/components/graphicCard/index.css +15 -18
  162. package/dist/web/components/grid/_utils.css +67 -0
  163. package/dist/web/components/grid/col.js +33 -0
  164. package/dist/web/components/grid/grid.css +1185 -0
  165. package/dist/web/components/grid/grid.js +19 -0
  166. package/dist/web/components/grid/row.js +14 -0
  167. package/dist/web/components/image/image.js +9 -1
  168. package/dist/web/components/image/index.css +2 -5
  169. package/dist/web/components/index.js +17 -3
  170. package/dist/web/components/link/index.css +0 -3
  171. package/dist/web/components/listView/index.css +21 -23
  172. package/dist/web/components/listView/index.js +215 -81
  173. package/dist/web/components/lottery/index.css +72 -75
  174. package/dist/web/components/modal/h5.css +19 -21
  175. package/dist/web/components/modal/modal.h5.js +11 -10
  176. package/dist/web/components/navLayout/index.css +14 -139
  177. package/dist/web/components/navigationBar/common.js +5 -4
  178. package/dist/web/components/navigationBar/h5Menu.js +12 -10
  179. package/dist/web/components/navigationBar/horizontalMenu.js +42 -35
  180. package/dist/web/components/navigationBar/index.css +130 -86
  181. package/dist/web/components/navigationBar/index.js +6 -4
  182. package/dist/web/components/navigationBar/verticalMenu.js +13 -9
  183. package/dist/web/components/pageLayout/PageContent/index.css +7 -10
  184. package/dist/web/components/pageLayout/index.css +0 -3
  185. package/dist/web/components/pageLayout/index.js +2 -1
  186. package/dist/web/components/repeater/index.js +17 -0
  187. package/dist/web/components/repeater-item/index.js +9 -0
  188. package/dist/web/components/richText/index.css +5 -8
  189. package/dist/web/components/richText/index.js +4 -2
  190. package/dist/web/components/richText/richtext.module.css +1 -4
  191. package/dist/web/components/richTextView/index.css +9 -10
  192. package/dist/web/components/swiper/index.css +10 -13
  193. package/dist/web/components/swiper/index.js +25 -5
  194. package/dist/web/components/table/BaseTable.js +355 -286
  195. package/dist/web/components/table/ExportFileModalByApi/index.css +9 -0
  196. package/dist/web/components/table/ExportFileModalByApi/index.js +150 -0
  197. package/dist/web/components/table/FieldRender.js +25 -18
  198. package/dist/web/components/table/FilterFields.js +17 -11
  199. package/dist/web/components/table/Form/Location.css +2 -5
  200. package/dist/web/components/table/ImportFileModal/csvTemplate.json +65 -6
  201. package/dist/web/components/table/ImportFileModalByApi/index.css +130 -0
  202. package/dist/web/components/table/ImportFileModalByApi/index.js +321 -0
  203. package/dist/web/components/table/ImportFileModalByApi/uploadCSVFile.js +115 -0
  204. package/dist/web/components/table/InOrOutRecordModeal.js +139 -0
  205. package/dist/web/components/table/SelectableBlock/index.css +0 -2
  206. package/dist/web/components/table/UserDepartment/viewCell.css +3 -6
  207. package/dist/web/components/table/baseTable.css +579 -0
  208. package/dist/web/components/table/hooks/useImportingStatus.js +69 -0
  209. package/dist/web/components/table/hooks/useInOutFieldsRecords.js +23 -0
  210. package/dist/web/components/table/index.css +275 -508
  211. package/dist/web/components/table/index.js +6 -4
  212. package/dist/web/components/tabs/index.css +19 -18
  213. package/dist/web/components/tabs/tabs.h5.js +7 -16
  214. package/dist/web/components/text/index.css +6 -9
  215. package/dist/web/components/uploaderFileView/index.css +0 -3
  216. package/dist/web/components/uploaderView/index.css +5 -8
  217. package/dist/web/components/wd-bubble/index.js +3 -17
  218. package/dist/web/components/wd-bubble/wd-bubble.js +17 -0
  219. package/dist/web/components/wd-button/convert-legacy-props.js +14 -0
  220. package/dist/web/components/wd-button/index.js +3 -0
  221. package/dist/web/components/wd-button/wd-button.js +89 -0
  222. package/dist/web/components/wd-config-provider/index.js +1 -0
  223. package/dist/web/components/wd-config-provider/wd-config-context.js +5 -0
  224. package/dist/web/components/wd-config-provider/wd-config-provider.js +12 -0
  225. package/dist/web/components/wd-divider/index.js +3 -0
  226. package/dist/web/components/wd-divider/wd-divider.js +29 -0
  227. package/dist/web/components/wd-icon/convert-legacy-props.js +14 -0
  228. package/dist/web/components/wd-icon/index.js +3 -0
  229. package/dist/web/components/wd-icon/wd-icon.js +63 -0
  230. package/dist/web/components/wd-image/image.js +171 -0
  231. package/dist/web/components/wd-image/index.js +82 -0
  232. package/dist/web/components/wd-link/index.js +3 -0
  233. package/dist/web/components/wd-link/wd-link.js +105 -0
  234. package/dist/web/components/wd-table/index.js +3 -0
  235. package/dist/web/components/wd-table/wd-table.js +24 -0
  236. package/dist/web/components/wd-text/convert-legacy-props.js +14 -0
  237. package/dist/web/components/wd-text/index.js +3 -0
  238. package/dist/web/components/wd-text/wd-text.js +91 -0
  239. package/dist/web/components/wedaVideo/index.css +2 -5
  240. package/dist/web/components/wedaVideo/index.js +8 -6
  241. package/dist/web/index.js +1 -1
  242. package/dist/web/utils/config-context/index.js +1 -0
  243. package/dist/web/utils/config-context/use-config.js +9 -0
  244. package/dist/web/utils/constant.js +1 -0
  245. package/dist/web/utils/datasource.js +19 -7
  246. package/dist/web/utils/file.js +22 -0
  247. package/dist/web/utils/hooks/CreatePortal.js +6 -0
  248. package/dist/web/utils/hooks/EnumHoc.js +23 -3
  249. package/dist/web/utils/hooks/context.js +5 -1
  250. package/dist/web/utils/hooks/use-cloud-id-temp-url.js +2 -1
  251. package/dist/web/utils/platform.js +40 -12
  252. package/dist/web/utils/pollingInterface.js +61 -0
  253. package/dist/web/utils/tcb.js +16 -0
  254. package/dist/web/utils/tool.js +88 -0
  255. package/dist/web/utils/widget-api/index.js +18 -0
  256. package/dist/web/weda-ui.css +128 -4
  257. package/package.json +51 -33
  258. package/dist/configs/components/dataView.json +0 -305
  259. package/dist/configs/components/listView.json +0 -515
  260. package/dist/configs/components/wd-bubble.json +0 -170
  261. package/dist/web/components/form/userOrgSelect/comTool.js +0 -102
  262. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.js +0 -155
  263. package/dist/web/components/form/userOrgSelect/departTreeSelect/index.js +0 -17
  264. package/dist/web/components/form/userOrgSelect/getUserService.js +0 -165
  265. package/dist/web/components/form/userOrgSelect/index.js +0 -17
  266. package/dist/web/components/form/userOrgSelect/user-select-pc/index.css +0 -216
  267. package/dist/web/components/form/userOrgSelect/user-select-pc/index.js +0 -195
  268. package/dist/web/components/form/userOrgSelect/user-select-pc/org-tree.js +0 -15
  269. package/dist/web/components/form/userOrgSelect/user-select-pc/search-user.js +0 -80
  270. package/dist/web/components/form/userOrgSelect/user-select-pc/selected-user-list.js +0 -12
  271. package/dist/web/components/form/userOrgSelect/user-select-pc/user-model.js +0 -36
  272. package/dist/web/components/form/userOrgSelect/userOrgSelect.css +0 -824
  273. package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.js +0 -302
  274. package/dist/web/components/form/userOrgSelect/utils.js +0 -95
  275. package/dist/web/components/table/ImportFileModal/index.css +0 -263
  276. package/dist/web/components/wd-bubble/index.css +0 -21
  277. package/dist/web/utils/hooks/useRequest.js +0 -25
@@ -0,0 +1,204 @@
1
+ import { defineConfig, Tuple, Type } from '../type-utils';
2
+ // 属性类型定义
3
+ const data = Type.Object({
4
+ trigger: Type.StringEnum({
5
+ title: '触发行为',
6
+ type: 'string',
7
+ default: 'hover',
8
+ enum: Tuple([
9
+ {
10
+ label: '鼠标悬浮',
11
+ value: 'hover',
12
+ },
13
+ {
14
+ label: '鼠标点击',
15
+ value: 'click',
16
+ },
17
+ ]),
18
+ 'x-index': 10,
19
+ 'x-category': '基础属性',
20
+ description: '触发气泡提示的行为',
21
+ }),
22
+ placement: Type.StringEnum({
23
+ type: 'string',
24
+ title: '弹出方向',
25
+ default: 'top',
26
+ 'x-index': 20,
27
+ 'x-category': '基础属性',
28
+ description: '气泡提示的弹出方向',
29
+ enum: Tuple([
30
+ {
31
+ label: '上',
32
+ value: 'top',
33
+ },
34
+ {
35
+ label: '上左',
36
+ value: 'top-start',
37
+ },
38
+ {
39
+ label: '上右',
40
+ value: 'top-end',
41
+ },
42
+ {
43
+ label: '左',
44
+ value: 'left',
45
+ },
46
+ {
47
+ label: '左上',
48
+ value: 'left-start',
49
+ },
50
+ {
51
+ label: '左下',
52
+ value: 'left-end',
53
+ },
54
+ {
55
+ label: '下',
56
+ value: 'bottom',
57
+ },
58
+ {
59
+ label: '下左',
60
+ value: 'bottom-start',
61
+ },
62
+ {
63
+ label: '下右',
64
+ value: 'bottom-end',
65
+ },
66
+ {
67
+ label: '右',
68
+ value: 'right',
69
+ },
70
+ {
71
+ label: '右上',
72
+ value: 'right-start',
73
+ },
74
+ {
75
+ label: '右下',
76
+ value: 'right-end',
77
+ },
78
+ ]),
79
+ }),
80
+ promptTheme: Type.StringEnum({
81
+ title: '气泡风格',
82
+ type: 'string',
83
+ default: 'default',
84
+ enum: Tuple([
85
+ {
86
+ label: '默认',
87
+ value: 'default',
88
+ },
89
+ {
90
+ label: '警告',
91
+ value: 'error',
92
+ },
93
+ {
94
+ label: '反色',
95
+ value: 'dark',
96
+ },
97
+ ]),
98
+ 'x-index': 30,
99
+ 'x-category': '基础属性',
100
+ description: '气泡提示的风格',
101
+ }),
102
+ openDelay: Type.Number({
103
+ title: '打开时延(毫秒)',
104
+ default: 0,
105
+ type: 'number',
106
+ description: '气泡提示的打开时延(毫秒)',
107
+ 'x-category': '高级属性',
108
+ 'x-index': 40,
109
+ }),
110
+ closeDelay: Type.Number({
111
+ title: '关闭时延(毫秒)',
112
+ default: 0,
113
+ type: 'number',
114
+ description: '气泡提示的关闭时延(毫秒)',
115
+ 'x-category': '高级属性',
116
+ 'x-index': 50,
117
+ }),
118
+ arrowPointAtCenter: Type.Boolean({
119
+ title: '箭头是否指向中心',
120
+ default: false,
121
+ type: 'boolean',
122
+ description: '气泡提示的箭头是否指向中心',
123
+ 'x-category': '高级属性',
124
+ 'x-index': 60,
125
+ }),
126
+ bubbleContent: Type.Optional(Type.Slot({
127
+ title: '气泡插槽',
128
+ 'x-index': 70,
129
+ })),
130
+ bubbleChildren: Type.Optional(Type.Slot({
131
+ title: '触发内容',
132
+ 'x-index': 80,
133
+ })),
134
+ });
135
+ // 组件对外暴露的只读属性
136
+ // 未来可通过 widget API 开放,应用可以获取到组件的实例属性
137
+ // 组件对外先规范定义,暂时不对外开放
138
+ const properties = Type.Pick(data, ['trigger', 'placement', 'promptTheme']);
139
+ // export default
140
+ const config = defineConfig({
141
+ $schema: 'https://comp-public-1303824488.cos.ap-shanghai.myqcloud.com/schema/lcds_component.json',
142
+ // 属性定义
143
+ data,
144
+ // 只读属性定义
145
+ properties,
146
+ // 样式API
147
+ classes: [
148
+ {
149
+ name: '根元素',
150
+ selector: '.wd-bubble',
151
+ description: '气泡组件根元素',
152
+ },
153
+ {
154
+ name: '触发内容父元素',
155
+ selector: '.wd-bubble-child',
156
+ description: '气泡插槽触发内容的父级元素,可以设置内容内部样式',
157
+ },
158
+ {
159
+ name: 'PC 端气泡根元素',
160
+ selector: '.wd-pc-bubble',
161
+ description: '可以为 PC 端的气泡编写样式',
162
+ },
163
+ {
164
+ name: 'H5 端气泡根元素',
165
+ selector: '.wd-h5-bubble',
166
+ description: '可以为 H5 端的气泡编写样式',
167
+ },
168
+ ],
169
+ // 组件方法
170
+ methods: [],
171
+ // 组件对外暴露事件
172
+ events: [
173
+ {
174
+ name: 'open',
175
+ title: '打开气泡',
176
+ 'x-platforms': ['WEB'],
177
+ },
178
+ {
179
+ name: 'close',
180
+ title: '关闭气泡',
181
+ 'x-platforms': ['WEB'],
182
+ },
183
+ ],
184
+ // 组件元信息
185
+ meta: {
186
+ name: 'WdBubble',
187
+ title: '气泡提示',
188
+ description: '用于显示气泡的提示。',
189
+ icon: '../../icons/Bubble.svg',
190
+ category: '展示',
191
+ categoryOrder: 1,
192
+ componentOrder: 1,
193
+ platform: ['MOBILEWEB', 'PCWEB'],
194
+ visible: ['APP'],
195
+ },
196
+ configMeta: {
197
+ docsUrl: 'https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/show/WdBubble',
198
+ // 快捷编辑时展示在编辑区的属性
199
+ shortcut: {
200
+ props: ['trigger', 'placement'],
201
+ },
202
+ },
203
+ });
204
+ export default config;
@@ -0,0 +1,417 @@
1
+ import { defineConfig, Tuple, Type } from '../type-utils';
2
+ import { WD_ICON_ENUM, WD_ICON_TYPE, WD_BUTTON_THEME, WD_BUTTON_VARIANT, WD_BUTTON_SIZE, WD_BUTTON_ICON_TYPE, WD_BUTTON_ICON_POSITION, WD_BUTTON_TYPE, } from '../../enum';
3
+ // 属性类型定义
4
+ const data = Type.Object({
5
+ text: Type.Optional(Type.String({
6
+ title: '内容',
7
+ default: '按钮',
8
+ type: 'string',
9
+ description: '设置按钮的文本内容',
10
+ 'x-category': '基础属性',
11
+ 'x-index': 10,
12
+ })),
13
+ theme: Type.Optional(Type.StringEnum({
14
+ title: '颜色',
15
+ 'x-index': 20,
16
+ default: 'primary',
17
+ enum: Tuple(WD_BUTTON_THEME),
18
+ 'x-category': '基础属性',
19
+ description: '设置按钮的颜色',
20
+ })),
21
+ // 规范化新增
22
+ variant: Type.Optional(Type.StringEnum({
23
+ title: '类型',
24
+ type: 'string',
25
+ 'x-index': 30,
26
+ default: 'base',
27
+ enum: Tuple(WD_BUTTON_VARIANT),
28
+ description: '设置按钮的类型',
29
+ 'x-category': '基础属性',
30
+ })),
31
+ size: Type.Optional(Type.StringEnum({
32
+ title: '尺寸',
33
+ type: 'string',
34
+ default: 'md',
35
+ enum: Tuple(WD_BUTTON_SIZE),
36
+ 'x-category': '基础属性',
37
+ description: '设置按钮的尺寸大小',
38
+ 'x-index': 40,
39
+ })),
40
+ // 规范化新增,是否通栏
41
+ block: Type.Optional(Type.Boolean({
42
+ title: '是否通栏',
43
+ default: false,
44
+ 'x-category': '基础属性',
45
+ 'x-index': 50,
46
+ description: '开启后按钮将撑满父容器',
47
+ })),
48
+ loading: Type.Optional(Type.Boolean({
49
+ title: '加载中',
50
+ type: 'boolean',
51
+ default: false,
52
+ 'x-category': '高级属性',
53
+ 'x-index': 60,
54
+ 'x-linkages': [
55
+ {
56
+ type: 'value:state',
57
+ target: '*(iconType)',
58
+ condition: '{{$self.value===true}}',
59
+ state: {
60
+ value: 'text-with-icon',
61
+ },
62
+ },
63
+ {
64
+ type: 'value:state',
65
+ target: '*(iconSource)',
66
+ condition: '{{$self.value===true}}',
67
+ state: {
68
+ value: 'inner',
69
+ },
70
+ },
71
+ {
72
+ type: 'value:state',
73
+ target: '*(icon)',
74
+ condition: '{{$self.value==true}}',
75
+ state: {
76
+ value: 'td:loading',
77
+ },
78
+ },
79
+ {
80
+ type: 'value:visible',
81
+ target: '*(iconSource,icon,iconPosition,iconType)',
82
+ condition: '{{$self.value !== true}}',
83
+ },
84
+ {
85
+ type: 'value:state',
86
+ target: '*(iconType)',
87
+ condition: '{{$self.value === false && $form.values.icon==="td:loading"}}',
88
+ state: {
89
+ value: 'none',
90
+ },
91
+ },
92
+ ],
93
+ description: '开启后按钮为加载中状态,展示文字加loading图标',
94
+ })),
95
+ // 规范化新增,展示图标
96
+ iconType: Type.Optional(Type.StringEnum({
97
+ title: '展示图标',
98
+ 'x-index': 70,
99
+ default: 'none',
100
+ enum: Tuple(WD_BUTTON_ICON_TYPE),
101
+ 'x-linkages': [
102
+ {
103
+ type: 'value:visible',
104
+ target: '*(iconSource)',
105
+ condition: "{{$self.value!=='none' && !$form.values.loading}}",
106
+ },
107
+ {
108
+ type: 'value:visible',
109
+ target: '*(icon)',
110
+ condition: "{{$self.value!=='none' && !$form.values.loading}}",
111
+ },
112
+ {
113
+ type: 'value:visible',
114
+ target: '*(iconPosition)',
115
+ condition: "{{$self.value =='text-with-icon' && !$form.values.loading}}",
116
+ },
117
+ ],
118
+ description: '设置图标按钮',
119
+ 'x-category': '高级属性',
120
+ })),
121
+ // 规范化新增,图标类型
122
+ iconSource: Type.Optional(Type.StringEnum({
123
+ enum: Tuple(WD_ICON_TYPE),
124
+ title: '图标类型',
125
+ default: 'inner',
126
+ description: '选择图标的类型',
127
+ 'x-index': 80,
128
+ 'x-linkages': [
129
+ {
130
+ type: 'value:visible',
131
+ target: '*(icon)',
132
+ condition: "{{$self.value=='inner'&&$form.values.loading!==true}}",
133
+ },
134
+ {
135
+ type: 'value:visible',
136
+ target: '*(iconSrc)',
137
+ condition: "{{$self.value=='custom'}}",
138
+ },
139
+ ],
140
+ 'x-category': '高级属性',
141
+ })),
142
+ // 规范化新增,图标样式
143
+ icon: Type.Optional(Type.StringEnum({
144
+ enum: Tuple(WD_ICON_ENUM.map((item) => ({ label: item, value: item }))),
145
+ title: '图标样式',
146
+ default: 'success',
147
+ description: '选择预置图标',
148
+ 'x-index': 90,
149
+ 'x-component': 'icon2',
150
+ 'x-category': '高级属性',
151
+ })),
152
+ // 规范化新增,图标样式 支持自定义图片
153
+ iconSrc: Type.Optional(Type.FormatTypeUnion({
154
+ type: 'image',
155
+ 'x-rules': [
156
+ {
157
+ message: '请输入合法的图片地址',
158
+ pattern: '^(((https?)://)|/resources/)[^\\s]+$',
159
+ },
160
+ ],
161
+ title: '自定义图标',
162
+ default: '',
163
+ description: '设置自定义图标地址',
164
+ 'x-index': 100,
165
+ 'x-category': '高级属性',
166
+ })),
167
+ // 规范化新增,图标位置
168
+ iconPosition: Type.Optional(Type.StringEnum({
169
+ title: '图标位置',
170
+ 'x-index': 110,
171
+ default: 'before',
172
+ enum: Tuple(WD_BUTTON_ICON_POSITION),
173
+ description: '设置图标位置',
174
+ 'x-category': '高级属性',
175
+ })),
176
+ disabled: Type.Optional(Type.Boolean({
177
+ type: 'boolean',
178
+ title: '是否禁用',
179
+ default: false,
180
+ description: '开启后按钮将无法进行点击',
181
+ 'x-category': '高级属性',
182
+ 'x-index': 120,
183
+ })),
184
+ formType: Type.Optional(Type.StringEnum({
185
+ title: '表单类型',
186
+ type: 'string',
187
+ default: 'button',
188
+ 'x-index': 130,
189
+ enum: Tuple(WD_BUTTON_TYPE),
190
+ description: ' 按钮: 适用于常见的按钮点击使用场景,可在事件配置区中对按钮组件配置点击事件并触发相应的执行动作;重置: 需配合表单容器组件使用,将按钮放置在表单容器中,点击后即可重置表单容器中表单组件的输入信息;提交: 需配合表单容器组件使用,将按钮放置在表单容器中,点击后即可对表单容器中的数据进行提交',
191
+ 'x-category': '高级属性',
192
+ })),
193
+ openType: Type.Optional(Type.StringEnum({
194
+ title: '微信开放能力',
195
+ type: 'string',
196
+ default: '',
197
+ 'x-linkages': [
198
+ {
199
+ type: 'value:visible',
200
+ target: '*(sessionFrom,sendMessageTitle,sendMessageImg,sendMessagePath,showMessageCard)',
201
+ condition: "{{ $self.value === 'contact' }}",
202
+ },
203
+ {
204
+ type: 'value:visible',
205
+ target: 'appParameter',
206
+ condition: "{{ $self.value === 'launchApp' }}",
207
+ },
208
+ {
209
+ type: 'value:visible',
210
+ target: 'categoryId',
211
+ condition: "{{ $self.value === 'getRealnameAuthInfo' }}",
212
+ },
213
+ ],
214
+ enum: Tuple([
215
+ {
216
+ label: '无',
217
+ value: '',
218
+ },
219
+ {
220
+ label: '打开客服会话',
221
+ value: 'contact',
222
+ },
223
+ {
224
+ label: '转发',
225
+ value: 'share',
226
+ },
227
+ {
228
+ label: '打开App',
229
+ value: 'launchApp',
230
+ },
231
+ {
232
+ label: '打开授权设置',
233
+ value: 'openSetting',
234
+ },
235
+ {
236
+ label: '打开意见反馈',
237
+ value: 'feedback',
238
+ },
239
+ ]),
240
+ 'x-index': 140,
241
+ 'x-platforms': ['MP'],
242
+ description: '仅支持在小程序构建时使用,为按钮配置小程序能力相关的各项按钮属性,用于相关微信能力的调用',
243
+ 'x-category': '高级属性',
244
+ })),
245
+ sessionFrom: Type.Optional(Type.String({
246
+ 'x-index': 150,
247
+ title: '会话来源',
248
+ default: '',
249
+ 'x-platforms': ['MP'],
250
+ 'x-category': '高级属性',
251
+ })),
252
+ sendMessageTitle: Type.Optional(Type.String({
253
+ 'x-index': 160,
254
+ title: '会话内消息卡片标题',
255
+ default: '',
256
+ 'x-platforms': ['MP'],
257
+ 'x-category': '高级属性',
258
+ })),
259
+ sendMessagePath: Type.Optional(Type.String({
260
+ 'x-index': 170,
261
+ title: '会话内消息卡片点击跳转小程序路径',
262
+ default: '',
263
+ 'x-platforms': ['MP'],
264
+ 'x-category': '高级属性',
265
+ })),
266
+ sendMessageImg: Type.Optional(Type.String({
267
+ 'x-index': 180,
268
+ title: '会话内消息卡片图片',
269
+ 'x-component': 'image',
270
+ 'x-rules': [
271
+ {
272
+ message: '请输入合法的图片地址',
273
+ pattern: '^(((https?)://)|/resources/)[^\\s]+$',
274
+ },
275
+ ],
276
+ default: '',
277
+ 'x-platforms': ['MP'],
278
+ 'x-category': '高级属性',
279
+ })),
280
+ showMessageCard: Type.Optional(Type.Boolean({
281
+ 'x-index': 190,
282
+ title: '是否显示会话内消息卡片',
283
+ default: false,
284
+ 'x-platforms': ['MP'],
285
+ 'x-category': '高级属性',
286
+ })),
287
+ appParameter: Type.Optional(Type.String({
288
+ 'x-index': 200,
289
+ title: '打开APP时,向APP传递的参数',
290
+ default: '',
291
+ 'x-platforms': ['MP'],
292
+ 'x-category': '高级属性',
293
+ })),
294
+ });
295
+ // 组件对外暴露的只读属性
296
+ // 未来可通过 widget API 开放,应用可以获取到组件的实例属性
297
+ // 组件对外先规范定义,暂时不对外开放
298
+ const properties = Type.Pick(data, [
299
+ 'text',
300
+ 'theme',
301
+ 'variant',
302
+ 'size',
303
+ 'block',
304
+ 'disabled',
305
+ 'formType',
306
+ 'openType',
307
+ ]);
308
+ // export default
309
+ const config = defineConfig({
310
+ $schema: 'https://comp-public-1303824488.cos.ap-shanghai.myqcloud.com/schema/lcds_component.json',
311
+ // 属性定义
312
+ data,
313
+ // 只读属性定义
314
+ properties,
315
+ // 样式API
316
+ classes: [
317
+ {
318
+ name: '根元素',
319
+ selector: '.wd-btn',
320
+ description: '按钮组件根元素',
321
+ },
322
+ {
323
+ name: '图标',
324
+ selector: '.wd-btn__icon',
325
+ description: '按钮的图标元素(共享样式)',
326
+ },
327
+ {
328
+ name: '前置图标',
329
+ selector: '.wd-btn__before-icon',
330
+ description: '按钮内的前置图标',
331
+ },
332
+ {
333
+ name: '后置图标',
334
+ selector: '.wd-btn__after-icon',
335
+ description: '按钮内的后置图标',
336
+ },
337
+ {
338
+ name: '禁用状态',
339
+ selector: '.wd-btn__icon.is-disabled',
340
+ description: '按钮禁用状态',
341
+ },
342
+ {
343
+ name: '文本',
344
+ selector: '.wd-btn__text',
345
+ description: '按钮内显示的文本',
346
+ },
347
+ {
348
+ name: 'PC 端按钮根元素',
349
+ selector: '.wd-pc-btn',
350
+ description: '可以为 PC 端的按钮编写样式',
351
+ },
352
+ {
353
+ name: 'H5 端按钮根元素',
354
+ selector: '.wd-h5-btn',
355
+ description: '可以为 H5 端的按钮编写样式',
356
+ },
357
+ {
358
+ name: '小程序端按钮根元素',
359
+ selector: '.wd-mp-btn',
360
+ description: '可以为小程序端的按钮编写样式',
361
+ },
362
+ ],
363
+ // 组件方法
364
+ methods: [],
365
+ // 组件对外暴露事件
366
+ events: [
367
+ {
368
+ title: '点击',
369
+ name: 'tap',
370
+ },
371
+ {
372
+ title: '客服会话',
373
+ name: 'contact',
374
+ 'x-platforms': ['MP'],
375
+ detail: {
376
+ errMsg: Type.String({
377
+ description: '错误信息',
378
+ }),
379
+ path: Type.String({
380
+ description: '小程序消息指定的路径',
381
+ }),
382
+ query: Type.Object({}, {
383
+ description: '小程序消息指定的查询参数',
384
+ }),
385
+ },
386
+ },
387
+ {
388
+ title: '打开App',
389
+ name: 'launchApp',
390
+ 'x-platforms': ['MP'],
391
+ },
392
+ {
393
+ title: '打开授权设置',
394
+ name: 'openSetting',
395
+ 'x-platforms': ['MP'],
396
+ },
397
+ ],
398
+ // 组件元信息
399
+ meta: {
400
+ name: 'WdButton',
401
+ title: '按钮',
402
+ description: '当操作命令需要用户点击,用以触发特定事件的发生,如点击事件、信息提交等',
403
+ icon: '../../icons/Button.svg',
404
+ category: '展示',
405
+ categoryOrder: 400,
406
+ componentOrder: 240,
407
+ visible: ['APP'],
408
+ },
409
+ configMeta: {
410
+ docsUrl: 'https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/show/WdButton',
411
+ // 快捷编辑时展示在编辑区的属性
412
+ shortcut: {
413
+ props: ['text', 'theme', 'size'],
414
+ },
415
+ },
416
+ });
417
+ export default config;