king-design-analyzer 2.1.9 → 2.2.0

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 (305) hide show
  1. package/components/actions.json +101 -0
  2. package/components/advancedset.json +127 -0
  3. package/components/affix.json +7 -0
  4. package/components/aksk.json +172 -0
  5. package/components/az.json +15 -2
  6. package/components/badge.json +7 -0
  7. package/components/billtypes.json +14 -2
  8. package/components/breadcrumb.json +7 -0
  9. package/components/button.json +191 -0
  10. package/components/buttonlink.json +73 -0
  11. package/components/card.json +8 -1
  12. package/components/cardcol.json +142 -0
  13. package/components/cardcols.json +121 -0
  14. package/components/cardcontent.json +15 -3
  15. package/components/cardtabs.json +172 -0
  16. package/components/carousel.json +7 -0
  17. package/components/cascader.json +520 -368
  18. package/components/checkbox.json +51 -4
  19. package/components/cidrinput.json +140 -0
  20. package/components/code.json +8 -1
  21. package/components/collapse.json +7 -0
  22. package/components/colorpicker.json +217 -0
  23. package/components/copy.json +7 -0
  24. package/components/copyhover.json +111 -0
  25. package/components/copyrow.json +124 -0
  26. package/components/datepicker.json +656 -524
  27. package/components/description.json +98 -0
  28. package/components/dialog.json +522 -455
  29. package/components/divider.json +8 -1
  30. package/components/drawer.json +571 -558
  31. package/components/dropdown.json +464 -384
  32. package/components/duration.json +125 -0
  33. package/components/editable.json +66 -0
  34. package/components/ellipsis.json +34 -1
  35. package/components/filtertablefieldsdialog.json +128 -0
  36. package/components/flex.json +151 -0
  37. package/components/form.json +131 -0
  38. package/components/formiteminput.json +214 -0
  39. package/components/formitemspinner.json +213 -0
  40. package/components/formitemswitch.json +185 -0
  41. package/components/formitemtableconfigs.json +210 -0
  42. package/components/grid.json +7 -0
  43. package/components/header.json +161 -0
  44. package/components/icon.json +13 -1
  45. package/components/icontooltip.json +19 -1
  46. package/components/input.json +188 -4
  47. package/components/instancelist.json +194 -0
  48. package/components/instancenum.json +196 -0
  49. package/components/ipinput.json +117 -0
  50. package/components/kspstatus.json +205 -0
  51. package/components/kvcode.json +120 -0
  52. package/components/layoutcontent.json +15 -3
  53. package/components/layoutlistcontent.json +148 -0
  54. package/components/layoutpermissioncontent.json +155 -0
  55. package/components/layoutstandardlist.json +275 -0
  56. package/components/layouttabs.json +168 -0
  57. package/components/lazymount.json +86 -0
  58. package/components/lazyteleport.json +118 -0
  59. package/components/menu.json +7 -0
  60. package/components/pagination.json +12 -0
  61. package/components/paginationplus.json +30 -3
  62. package/components/password.json +121 -0
  63. package/components/popover.json +457 -437
  64. package/components/projects.json +129 -0
  65. package/components/protable.json +97 -8
  66. package/components/queuevisualrange.json +110 -0
  67. package/components/radio.json +82 -2
  68. package/components/rate.json +199 -0
  69. package/components/region.json +14 -2
  70. package/components/search.json +221 -0
  71. package/components/searchinput.json +132 -0
  72. package/components/searchitems.json +215 -0
  73. package/components/searchselect.json +195 -0
  74. package/components/select.json +686 -666
  75. package/components/sidebar.json +198 -0
  76. package/components/skeleton.json +233 -0
  77. package/components/spin.json +8 -1
  78. package/components/split.json +260 -0
  79. package/components/sshkeys.json +138 -0
  80. package/components/status.json +60 -3
  81. package/components/steps.json +7 -0
  82. package/components/switch.json +8 -1
  83. package/components/table.json +18 -1
  84. package/components/tablecolumnid.json +14 -2
  85. package/components/tabs.json +12 -0
  86. package/components/timeline.json +213 -0
  87. package/components/timepicker.json +147 -3
  88. package/components/timerange.json +262 -0
  89. package/components/tip.json +7 -0
  90. package/components/tooltip.json +484 -395
  91. package/components/tour.json +418 -372
  92. package/components/transfer.json +27 -3
  93. package/components/tree.json +6 -4
  94. package/components/treeselect.json +556 -475
  95. package/components/upload.json +474 -473
  96. package/components/vdialog.json +308 -0
  97. package/components/vdrawer.json +331 -0
  98. package/components/virtuallist.json +7 -0
  99. package/dist/ast/index.d.mts +35 -1
  100. package/dist/ast/index.d.ts +35 -1
  101. package/dist/ast/index.js +4 -3
  102. package/dist/ast/index.mjs +2 -1
  103. package/dist/{chunk-DSWKLUIX.mjs → chunk-3LYQ5XFM.mjs} +1 -1
  104. package/dist/chunk-BI5TIQID.mjs +330 -0
  105. package/dist/{chunk-F26GUCGG.js → chunk-CJGGFVQJ.js} +8 -8
  106. package/dist/chunk-CR3GC4H3.js +353 -0
  107. package/dist/{chunk-NZ6TLWMD.mjs → chunk-D2SXGGTX.mjs} +28 -17
  108. package/dist/{chunk-D3Y6FGWA.js → chunk-EYKZY2F3.js} +29 -18
  109. package/dist/chunk-KF5YBEM5.js +143 -0
  110. package/dist/{chunk-H2ET6MMM.mjs → chunk-KMIDURUR.mjs} +42 -47
  111. package/dist/chunk-QC6VTSA3.mjs +117 -0
  112. package/dist/{chunk-2W6OCG2S.js → chunk-SZYVGYKK.js} +42 -48
  113. package/dist/{chunk-WYSRJVX4.js → chunk-TA3SV4SP.js} +2 -2
  114. package/dist/{chunk-OJOHB64C.mjs → chunk-XGPHQHLR.mjs} +4 -4
  115. package/dist/full/index.js +7 -6
  116. package/dist/full/index.mjs +5 -4
  117. package/dist/index.d.mts +1 -0
  118. package/dist/index.d.ts +1 -0
  119. package/dist/index.js +14 -13
  120. package/dist/index.mjs +6 -5
  121. package/dist/metadata/index.d.mts +22 -2
  122. package/dist/metadata/index.d.ts +22 -2
  123. package/dist/metadata/index.js +26 -16
  124. package/dist/metadata/index.mjs +26 -15
  125. package/dist/resolve-BsLBxlBi.d.mts +24 -0
  126. package/dist/resolve-BsLBxlBi.d.ts +24 -0
  127. package/dist/runtime/index.js +4 -4
  128. package/dist/runtime/index.mjs +2 -2
  129. package/dist/shared/index.d.mts +10 -0
  130. package/dist/shared/index.d.ts +10 -0
  131. package/dist/shared/index.js +23 -0
  132. package/dist/shared/index.mjs +2 -0
  133. package/dist/static/index.js +5 -5
  134. package/dist/static/index.mjs +2 -2
  135. package/docs_for_llm/actions.doc.md +77 -0
  136. package/docs_for_llm/advancedset.doc.md +89 -0
  137. package/docs_for_llm/affix.doc.md +15 -7
  138. package/docs_for_llm/aksk.doc.md +111 -0
  139. package/docs_for_llm/az.doc.md +17 -11
  140. package/docs_for_llm/badge.doc.md +6 -5
  141. package/docs_for_llm/billtypes.doc.md +17 -11
  142. package/docs_for_llm/breadcrumb.doc.md +6 -3
  143. package/docs_for_llm/button.doc.md +34 -18
  144. package/docs_for_llm/buttonlink.doc.md +55 -0
  145. package/docs_for_llm/card.doc.md +8 -5
  146. package/docs_for_llm/cardcol.doc.md +78 -0
  147. package/docs_for_llm/cardcols.doc.md +84 -0
  148. package/docs_for_llm/cardcontent.doc.md +10 -10
  149. package/docs_for_llm/cardtabs.doc.md +106 -0
  150. package/docs_for_llm/carousel.doc.md +8 -7
  151. package/docs_for_llm/cascader.doc.md +46 -25
  152. package/docs_for_llm/checkbox.doc.md +25 -13
  153. package/docs_for_llm/cidrinput.doc.md +83 -0
  154. package/docs_for_llm/code.doc.md +22 -11
  155. package/docs_for_llm/collapse.doc.md +9 -6
  156. package/docs_for_llm/colorpicker.doc.md +104 -0
  157. package/docs_for_llm/copy.doc.md +15 -13
  158. package/docs_for_llm/copyhover.doc.md +59 -0
  159. package/docs_for_llm/copyrow.doc.md +71 -0
  160. package/docs_for_llm/datepicker.doc.md +51 -39
  161. package/docs_for_llm/description.doc.md +75 -0
  162. package/docs_for_llm/descriptions.doc.md +9 -6
  163. package/docs_for_llm/dialog.doc.md +48 -77
  164. package/docs_for_llm/divider.doc.md +9 -7
  165. package/docs_for_llm/drawer.doc.md +43 -84
  166. package/docs_for_llm/dropdown.doc.md +52 -21
  167. package/docs_for_llm/duration.doc.md +76 -0
  168. package/docs_for_llm/editable.doc.md +36 -14
  169. package/docs_for_llm/ellipsis.doc.md +10 -5
  170. package/docs_for_llm/filtertablefieldsdialog.doc.md +99 -0
  171. package/docs_for_llm/flex.doc.md +74 -0
  172. package/docs_for_llm/form.doc.md +33 -14
  173. package/docs_for_llm/formiteminput.doc.md +128 -0
  174. package/docs_for_llm/formitemspinner.doc.md +105 -0
  175. package/docs_for_llm/formitemswitch.doc.md +113 -0
  176. package/docs_for_llm/formitemtableconfigs.doc.md +95 -0
  177. package/docs_for_llm/grid.doc.md +7 -5
  178. package/docs_for_llm/header.doc.md +85 -0
  179. package/docs_for_llm/icon.doc.md +12 -8
  180. package/docs_for_llm/icontooltip.doc.md +121 -0
  181. package/docs_for_llm/input.doc.md +90 -39
  182. package/docs_for_llm/instancelist.doc.md +113 -0
  183. package/docs_for_llm/instancenum.doc.md +95 -0
  184. package/docs_for_llm/ipinput.doc.md +77 -0
  185. package/docs_for_llm/kspstatus.doc.md +82 -0
  186. package/docs_for_llm/kvcode.doc.md +76 -0
  187. package/docs_for_llm/layoutcontent.doc.md +17 -17
  188. package/docs_for_llm/layoutlistcontent.doc.md +95 -0
  189. package/docs_for_llm/layoutpermissioncontent.doc.md +84 -0
  190. package/docs_for_llm/layoutstandardlist.doc.md +120 -0
  191. package/docs_for_llm/layouttabs.doc.md +101 -0
  192. package/docs_for_llm/lazymount.doc.md +73 -0
  193. package/docs_for_llm/lazyteleport.doc.md +76 -0
  194. package/docs_for_llm/menu.doc.md +14 -11
  195. package/docs_for_llm/message.doc.md +48 -10
  196. package/docs_for_llm/pagination.doc.md +30 -17
  197. package/docs_for_llm/paginationplus.doc.md +31 -10
  198. package/docs_for_llm/password.doc.md +86 -0
  199. package/docs_for_llm/popover.doc.md +24 -55
  200. package/docs_for_llm/progress.doc.md +13 -10
  201. package/docs_for_llm/projects.doc.md +91 -0
  202. package/docs_for_llm/protable.doc.md +89 -15
  203. package/docs_for_llm/queuevisualrange.doc.md +78 -0
  204. package/docs_for_llm/radio.doc.md +23 -8
  205. package/docs_for_llm/rate.doc.md +122 -0
  206. package/docs_for_llm/region.doc.md +25 -13
  207. package/docs_for_llm/search.doc.md +120 -0
  208. package/docs_for_llm/searchinput.doc.md +111 -0
  209. package/docs_for_llm/searchitems.doc.md +116 -0
  210. package/docs_for_llm/searchselect.doc.md +126 -0
  211. package/docs_for_llm/select.doc.md +40 -55
  212. package/docs_for_llm/sidebar.doc.md +133 -0
  213. package/docs_for_llm/skeleton.doc.md +117 -0
  214. package/docs_for_llm/slider.doc.md +31 -21
  215. package/docs_for_llm/spin.doc.md +8 -5
  216. package/docs_for_llm/spinner.doc.md +28 -18
  217. package/docs_for_llm/split.doc.md +157 -0
  218. package/docs_for_llm/sshkeys.doc.md +88 -0
  219. package/docs_for_llm/status.doc.md +14 -9
  220. package/docs_for_llm/steps.doc.md +10 -7
  221. package/docs_for_llm/switch.doc.md +17 -14
  222. package/docs_for_llm/table.doc.md +118 -51
  223. package/docs_for_llm/tablecolumnid.doc.md +36 -16
  224. package/docs_for_llm/tabs.doc.md +19 -10
  225. package/docs_for_llm/tag.doc.md +19 -10
  226. package/docs_for_llm/timeline.doc.md +109 -0
  227. package/docs_for_llm/timepicker.doc.md +57 -38
  228. package/docs_for_llm/timerange.doc.md +157 -0
  229. package/docs_for_llm/tip.doc.md +20 -11
  230. package/docs_for_llm/tooltip.doc.md +55 -29
  231. package/docs_for_llm/tour.doc.md +48 -29
  232. package/docs_for_llm/transfer.doc.md +40 -29
  233. package/docs_for_llm/tree.doc.md +65 -23
  234. package/docs_for_llm/treeselect.doc.md +37 -48
  235. package/docs_for_llm/upload.doc.md +56 -32
  236. package/docs_for_llm/useCRUD.doc.md +49 -0
  237. package/docs_for_llm/useCountdown.doc.md +43 -0
  238. package/docs_for_llm/useDetail.doc.md +48 -0
  239. package/docs_for_llm/useDialog.doc.md +46 -0
  240. package/docs_for_llm/useEntity.doc.md +45 -0
  241. package/docs_for_llm/useEventListener.doc.md +44 -0
  242. package/docs_for_llm/useFalseUntilTruthy.doc.md +41 -0
  243. package/docs_for_llm/useGetCopyAuthText.doc.md +35 -0
  244. package/docs_for_llm/useGetUserPermission.doc.md +43 -0
  245. package/docs_for_llm/useGroup.doc.md +48 -0
  246. package/docs_for_llm/useIdEntities.doc.md +48 -0
  247. package/docs_for_llm/useIdEntity.doc.md +103 -0
  248. package/docs_for_llm/useInterval.doc.md +43 -0
  249. package/docs_for_llm/useLayoutStandardList.doc.md +38 -0
  250. package/docs_for_llm/useMessage.doc.md +46 -0
  251. package/docs_for_llm/useModifyCache.doc.md +37 -0
  252. package/docs_for_llm/useOpenDialog.doc.md +41 -0
  253. package/docs_for_llm/usePagination.doc.md +60 -0
  254. package/docs_for_llm/usePersist.doc.md +54 -0
  255. package/docs_for_llm/usePoll.doc.md +41 -0
  256. package/docs_for_llm/useRoutePlus.doc.md +34 -0
  257. package/docs_for_llm/useRouterPlus.doc.md +34 -0
  258. package/docs_for_llm/useSearch.doc.md +68 -0
  259. package/docs_for_llm/useShell.doc.md +43 -0
  260. package/docs_for_llm/useSkip.doc.md +41 -0
  261. package/docs_for_llm/useStorageIdEntity.doc.md +46 -0
  262. package/docs_for_llm/useStore.doc.md +34 -0
  263. package/docs_for_llm/useTable.doc.md +57 -0
  264. package/docs_for_llm/useTableGroup.doc.md +47 -0
  265. package/docs_for_llm/useTableSort.doc.md +40 -0
  266. package/docs_for_llm/useToState.doc.md +112 -0
  267. package/docs_for_llm/useUser.doc.md +38 -0
  268. package/docs_for_llm/useValidForm.doc.md +41 -0
  269. package/docs_for_llm/vdialog.doc.md +129 -0
  270. package/docs_for_llm/vdrawer.doc.md +119 -0
  271. package/docs_for_llm/virtuallist.doc.md +6 -3
  272. package/hooks/useCRUD.json +61 -0
  273. package/hooks/useCountdown.json +49 -0
  274. package/hooks/useDetail.json +67 -0
  275. package/hooks/useDialog.json +49 -0
  276. package/hooks/useEntity.json +61 -0
  277. package/hooks/useEventListener.json +61 -0
  278. package/hooks/useFalseUntilTruthy.json +43 -0
  279. package/hooks/useGetCopyAuthText.json +36 -0
  280. package/hooks/useGetUserPermission.json +55 -0
  281. package/hooks/useGroup.json +49 -0
  282. package/hooks/useIdEntities.json +61 -0
  283. package/hooks/useInterval.json +55 -0
  284. package/hooks/useLayoutStandardList.json +36 -0
  285. package/hooks/useMessage.json +73 -0
  286. package/hooks/useModifyCache.json +36 -0
  287. package/hooks/useOpenDialog.json +43 -0
  288. package/hooks/usePagination.json +49 -0
  289. package/hooks/usePersist.json +61 -0
  290. package/hooks/usePoll.json +43 -0
  291. package/hooks/useRoutePlus.json +36 -0
  292. package/hooks/useRouterPlus.json +36 -0
  293. package/hooks/useSearch.json +56 -0
  294. package/hooks/useShell.json +49 -0
  295. package/hooks/useSkip.json +43 -0
  296. package/hooks/useStorageIdEntity.json +67 -0
  297. package/hooks/useStore.json +36 -0
  298. package/hooks/useTable.json +49 -0
  299. package/hooks/useTableGroup.json +43 -0
  300. package/hooks/useTableSort.json +43 -0
  301. package/hooks/useUser.json +36 -0
  302. package/hooks/useValidForm.json +43 -0
  303. package/package.json +12 -6
  304. package/dist/chunk-HPAUCD5I.js +0 -156
  305. package/dist/chunk-L4DS3EXI.mjs +0 -133
@@ -0,0 +1,129 @@
1
+ {
2
+ "id": "projects",
3
+ "name": "Projects",
4
+ "displayName": "项目选择",
5
+ "category": "form",
6
+ "description": "用于拉取并选择当前账号项目归属的业务组件,适合在创建资源、共享资源和权限分配场景中选择项目上下文。",
7
+ "importStatement": "import { Projects } from '@ksyun-internal/versatile';",
8
+ "props": [
9
+ {
10
+ "name": "modelValue",
11
+ "description": "当前选中的项目 ID",
12
+ "type": {
13
+ "raw": "number",
14
+ "kind": "number"
15
+ },
16
+ "required": false
17
+ },
18
+ {
19
+ "name": "href",
20
+ "description": "跳转到项目管理页的链接",
21
+ "type": {
22
+ "raw": "string",
23
+ "kind": "string"
24
+ },
25
+ "required": false
26
+ }
27
+ ],
28
+ "events": [
29
+ {
30
+ "name": "update:modelValue",
31
+ "vueEventName": "@update:modelValue",
32
+ "description": "选中的项目 ID 变化时触发,适合与表单主值同步。",
33
+ "params": [
34
+ {
35
+ "name": "value",
36
+ "type": "number",
37
+ "description": "当前选中的项目 ID。",
38
+ "optional": true
39
+ }
40
+ ]
41
+ },
42
+ {
43
+ "name": "update:project",
44
+ "vueEventName": "@update:project",
45
+ "description": "选中的完整项目对象变化时触发,便于读取项目名称或配额信息。",
46
+ "params": [
47
+ {
48
+ "name": "value",
49
+ "type": "ProjectItem",
50
+ "description": "当前选中的完整项目对象。",
51
+ "optional": true
52
+ }
53
+ ]
54
+ }
55
+ ],
56
+ "slots": [],
57
+ "methods": [],
58
+ "examples": [
59
+ {
60
+ "id": "projects_resource_owner",
61
+ "title": "选择资源所属项目",
62
+ "description": "在创建资源时把项目选择作为基础表单项。",
63
+ "difficulty": "easy",
64
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { Projects } from '@ksyun-internal/versatile';\n\nconst projectId = ref(1001);\n</script>\n\n<template>\n <Projects v-model=\"projectId\" href=\"/project/list\" />\n</template>",
65
+ "tags": [
66
+ "project",
67
+ "form"
68
+ ],
69
+ "usedProps": [
70
+ "modelValue",
71
+ "href"
72
+ ],
73
+ "usedEvents": [
74
+ "update:modelValue",
75
+ "update:project"
76
+ ],
77
+ "usedMethods": [],
78
+ "scenario": "在创建资源或授权时指定资源归属项目。"
79
+ },
80
+ {
81
+ "id": "projects_sync_entity",
82
+ "title": "同步项目实体信息",
83
+ "description": "监听项目实体变化,在选择项目后立即拿到完整项目信息。",
84
+ "difficulty": "medium",
85
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { Projects } from '@ksyun-internal/versatile';\n\nconst projectId = ref<number | undefined>(undefined);\nconst projectName = ref('未选择');\nconst handleProjectChange = (project: { name?: string }) => {\n projectName.value = project?.name || '未选择';\n};\n</script>\n\n<template>\n <Projects\n v-model=\"projectId\"\n href=\"/project/list\"\n @update:project=\"handleProjectChange\"\n />\n <div>当前项目:{{ projectName }}</div>\n</template>",
86
+ "tags": [
87
+ "project",
88
+ "entity"
89
+ ],
90
+ "usedProps": [
91
+ "modelValue",
92
+ "href"
93
+ ],
94
+ "usedEvents": [
95
+ "update:modelValue",
96
+ "update:project"
97
+ ],
98
+ "usedMethods": [],
99
+ "scenario": "在选择项目后联动展示项目名称、配额或权限等附加信息。"
100
+ }
101
+ ],
102
+ "searchKeywords": [
103
+ "projects",
104
+ "project selector",
105
+ "项目选择",
106
+ "项目归属",
107
+ "资源所属项目",
108
+ "project select",
109
+ "项目下拉",
110
+ "项目切换"
111
+ ],
112
+ "useCases": [
113
+ "项目归属选择",
114
+ "资源所属项目配置",
115
+ "按项目切换资源上下文",
116
+ "选择后联动项目实体信息"
117
+ ],
118
+ "relatedComponents": [
119
+ "Region",
120
+ "AZ"
121
+ ],
122
+ "typeDefinitions": [
123
+ {
124
+ "name": "ProjectItem",
125
+ "definition": "type ProjectItem = {\n id: number\n name: string\n}",
126
+ "description": "项目数据项,描述项目的主键和展示名称。"
127
+ }
128
+ ]
129
+ }
@@ -5,6 +5,14 @@
5
5
  "category": "data",
6
6
  "description": "集成了搜索、筛选、排序、分页、工具栏等功能的高级表格组件。",
7
7
  "importStatement": "import { ProTable } from '@ksyun-internal/versatile';",
8
+ "inherits": [
9
+ {
10
+ "component": "Table",
11
+ "include": [
12
+ "props"
13
+ ]
14
+ }
15
+ ],
8
16
  "props": [
9
17
  {
10
18
  "name": "data",
@@ -78,27 +86,86 @@
78
86
  {
79
87
  "name": "change:searchValue",
80
88
  "vueEventName": "@change:searchValue",
81
- "description": "搜索框内容变更时触发"
89
+ "description": "搜索框内容变更时触发",
90
+ "params": [
91
+ {
92
+ "name": "value",
93
+ "type": "string",
94
+ "description": "当前搜索框中的检索值。"
95
+ },
96
+ {
97
+ "name": "label",
98
+ "type": "string",
99
+ "description": "当前搜索值对应的展示文案,选择型搜索时可直接用于回显。",
100
+ "optional": true
101
+ },
102
+ {
103
+ "name": "current",
104
+ "type": "SearchType",
105
+ "description": "当前正在使用的搜索项配置。",
106
+ "optional": true
107
+ },
108
+ {
109
+ "name": "obj",
110
+ "type": "Record<string, any> | null",
111
+ "description": "选择型搜索命中的原始选项对象;纯输入搜索通常为 `null`。",
112
+ "optional": true
113
+ }
114
+ ]
82
115
  },
83
116
  {
84
117
  "name": "change:searchKey",
85
118
  "vueEventName": "@change:searchKey",
86
- "description": "搜索 Key 变更时触发"
119
+ "description": "搜索 Key 变更时触发",
120
+ "params": [
121
+ {
122
+ "name": "value",
123
+ "type": "string",
124
+ "description": "当前选中的搜索字段 key。"
125
+ },
126
+ {
127
+ "name": "current",
128
+ "type": "SearchType",
129
+ "description": "当前激活的搜索项配置对象。",
130
+ "optional": true
131
+ }
132
+ ]
87
133
  },
88
134
  {
89
135
  "name": "change:columns",
90
136
  "vueEventName": "@change:columns",
91
- "description": "列设置变更时触发"
137
+ "description": "列设置变更时触发",
138
+ "params": [
139
+ {
140
+ "name": "data",
141
+ "type": "string[]",
142
+ "description": "当前保留展示的列 key 列表,可直接用于持久化用户列设置。"
143
+ }
144
+ ]
92
145
  },
93
146
  {
94
147
  "name": "change:filters",
95
148
  "vueEventName": "@change:filters",
96
- "description": "筛选条件变更时触发"
149
+ "description": "筛选条件变更时触发",
150
+ "params": [
151
+ {
152
+ "name": "data",
153
+ "type": "TableGroupValue",
154
+ "description": "当前表格分组或筛选条件对象,通常用于组装请求参数。"
155
+ }
156
+ ]
97
157
  },
98
158
  {
99
159
  "name": "change:export",
100
160
  "vueEventName": "@change:export",
101
- "description": "导出配置变更时触发,payload 包含 selectedKeys 和 exportRange"
161
+ "description": "导出配置变更时触发,payload 包含 selectedKeys 和 exportRange",
162
+ "params": [
163
+ {
164
+ "name": "data",
165
+ "type": "ExportConfig",
166
+ "description": "当前导出配置,包含待导出列 key 和导出范围标识。"
167
+ }
168
+ ]
102
169
  }
103
170
  ],
104
171
  "slots": [
@@ -123,10 +190,32 @@
123
190
  "filter",
124
191
  "list",
125
192
  "表格",
126
- "pro"
193
+ "pro",
194
+ "高级表格",
195
+ "资源列表"
127
196
  ],
128
197
  "useCases": [
129
198
  "资源列表页",
130
- "复杂数据展示"
199
+ "复杂数据展示",
200
+ "带搜索导出和列设置的高级列表",
201
+ "资源管理后台表格页"
202
+ ],
203
+ "typeDefinitions": [
204
+ {
205
+ "name": "TableHeaderProps",
206
+ "definition": "type TableHeaderProps = {\\n show?: boolean\\n toolbar?: Record<string, any>\\n search?: Record<string, any>\\n filter?: Record<string, any>\\n}",
207
+ "description": "ProTable 头部工具栏配置结构,包含搜索、刷新、导出和列设置等区域。"
208
+ },
209
+ {
210
+ "name": "ExportConfig",
211
+ "definition": "type ExportConfig = {\\n selectedKeys: string[]\\n exportRange: string\\n}",
212
+ "description": "导出动作回调中的配置对象,描述导出列范围和导出范围类型。"
213
+ }
214
+ ],
215
+ "relatedComponents": [
216
+ "Table",
217
+ "Search",
218
+ "SearchItems",
219
+ "PaginationPlus"
131
220
  ]
132
- }
221
+ }
@@ -0,0 +1,110 @@
1
+ {
2
+ "id": "queuevisualrange",
3
+ "name": "QueueVisualRange",
4
+ "displayName": "队列可见范围",
5
+ "category": "form",
6
+ "description": "用于配置队列、任务或资源可见范围的业务组件,适合在私有、项目共享、全员可见等可见性策略之间切换。",
7
+ "importStatement": "import { QueueVisualRange } from '@ksyun-internal/versatile';",
8
+ "props": [
9
+ {
10
+ "name": "modelValue",
11
+ "description": "当前可见范围值",
12
+ "type": {
13
+ "raw": "string",
14
+ "kind": "string"
15
+ },
16
+ "required": false,
17
+ "default": "\"\""
18
+ },
19
+ {
20
+ "name": "tip",
21
+ "description": "说明提示文案",
22
+ "type": {
23
+ "raw": "string",
24
+ "kind": "string"
25
+ },
26
+ "required": false
27
+ }
28
+ ],
29
+ "events": [
30
+ {
31
+ "name": "update:modelValue",
32
+ "vueEventName": "@update:modelValue",
33
+ "description": "可见范围变化时触发,可据此同步权限或共享策略配置。",
34
+ "params": [
35
+ {
36
+ "name": "value",
37
+ "type": "string",
38
+ "description": "当前选中的可见范围标识。",
39
+ "optional": true
40
+ }
41
+ ]
42
+ }
43
+ ],
44
+ "slots": [],
45
+ "methods": [],
46
+ "examples": [
47
+ {
48
+ "id": "queuevisualrange_visibility",
49
+ "title": "设置队列可见范围",
50
+ "description": "在新建队列时选择私有或共享范围。",
51
+ "difficulty": "easy",
52
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { QueueVisualRange } from '@ksyun-internal/versatile';\n\nconst visualRange = ref('project');\n</script>\n\n<template>\n <QueueVisualRange v-model=\"visualRange\" tip=\"共享范围越大,越需要关注访问控制\" />\n</template>",
53
+ "tags": [
54
+ "visibility",
55
+ "permission"
56
+ ],
57
+ "usedProps": [
58
+ "modelValue",
59
+ "tip"
60
+ ],
61
+ "usedEvents": [
62
+ "update:modelValue"
63
+ ],
64
+ "usedMethods": [],
65
+ "scenario": "在任务或资源配置页选择共享和可见性范围。"
66
+ },
67
+ {
68
+ "id": "queuevisualrange_share_scope",
69
+ "title": "共享范围选择联动说明",
70
+ "description": "在切换可见范围时同步展示额外说明文案。",
71
+ "difficulty": "medium",
72
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { QueueVisualRange } from '@ksyun-internal/versatile';\n\nconst visualRange = ref('private');\n</script>\n\n<template>\n <QueueVisualRange\n v-model=\"visualRange\"\n tip=\"选择项目共享后,同项目成员均可查看该队列\"\n />\n</template>",
73
+ "tags": [
74
+ "visibility",
75
+ "share"
76
+ ],
77
+ "usedProps": [
78
+ "modelValue",
79
+ "tip"
80
+ ],
81
+ "usedEvents": [
82
+ "update:modelValue"
83
+ ],
84
+ "usedMethods": [],
85
+ "scenario": "在队列和任务创建时明确不同共享范围的含义。"
86
+ }
87
+ ],
88
+ "searchKeywords": [
89
+ "queue visual range",
90
+ "visibility scope",
91
+ "队列可见范围",
92
+ "可见性",
93
+ "共享范围"
94
+ ],
95
+ "useCases": [
96
+ "队列权限范围配置",
97
+ "资源共享范围设置",
98
+ "共享范围说明和切换"
99
+ ],
100
+ "typeDefinitions": [
101
+ {
102
+ "name": "QueueVisualRangeValue",
103
+ "definition": "type QueueVisualRangeValue = string | number",
104
+ "description": "可见范围选项值类型,可用字符串或数值标识不同共享范围。"
105
+ }
106
+ ],
107
+ "relatedComponents": [
108
+ "Visibility"
109
+ ]
110
+ }
@@ -48,7 +48,80 @@
48
48
  },
49
49
  "required": false,
50
50
  "default": "undefined",
51
- "usageExample": "<Radio name=\"gender\" trueValue=\"male\">男</Radio>\n<Radio name=\"gender\" trueValue=\"female\">女</Radio>"
51
+ "usageExample": "<Radio name=\"gender\" trueValue=\"male\">男</Radio>\n<Radio name=\"gender\" trueValue=\"female\">女</Radio>",
52
+ "tags": [
53
+ "native"
54
+ ]
55
+ },
56
+ {
57
+ "name": "autocomplete",
58
+ "description": "原生 autocomplete 属性,指定浏览器自动补全行为",
59
+ "type": {
60
+ "raw": "string",
61
+ "kind": "string"
62
+ },
63
+ "required": false,
64
+ "default": "undefined",
65
+ "usageExample": "<Radio autocomplete=\"off\">选项</Radio>",
66
+ "tags": [
67
+ "native"
68
+ ]
69
+ },
70
+ {
71
+ "name": "autofocus",
72
+ "description": "原生 autofocus 属性,页面加载后自动聚焦单选框",
73
+ "type": {
74
+ "raw": "boolean",
75
+ "kind": "boolean"
76
+ },
77
+ "required": false,
78
+ "default": "undefined",
79
+ "usageExample": "<Radio autofocus trueValue=\"a\">选项 A</Radio>",
80
+ "tags": [
81
+ "native"
82
+ ]
83
+ },
84
+ {
85
+ "name": "form",
86
+ "description": "原生 form 属性,指定单选框关联的表单 id",
87
+ "type": {
88
+ "raw": "string",
89
+ "kind": "string"
90
+ },
91
+ "required": false,
92
+ "default": "undefined",
93
+ "usageExample": "<Radio form=\"myForm\" trueValue=\"a\">选项 A</Radio>",
94
+ "tags": [
95
+ "native"
96
+ ]
97
+ },
98
+ {
99
+ "name": "maxlength",
100
+ "description": "原生 maxlength 属性,组件透传到内部 input 元素",
101
+ "type": {
102
+ "raw": "number | string",
103
+ "kind": "union"
104
+ },
105
+ "required": false,
106
+ "default": "undefined",
107
+ "usageExample": "<Radio :maxlength=\"1\" trueValue=\"a\">选项 A</Radio>",
108
+ "tags": [
109
+ "native"
110
+ ]
111
+ },
112
+ {
113
+ "name": "required",
114
+ "description": "原生 required 属性,标记为必选输入项",
115
+ "type": {
116
+ "raw": "boolean",
117
+ "kind": "boolean"
118
+ },
119
+ "required": false,
120
+ "default": "undefined",
121
+ "usageExample": "<Radio required trueValue=\"a\">选项 A</Radio>",
122
+ "tags": [
123
+ "native"
124
+ ]
52
125
  }
53
126
  ],
54
127
  "events": [
@@ -238,9 +311,16 @@
238
311
  "等级/类型选择",
239
312
  "问卷中的单选题"
240
313
  ],
314
+ "typeDefinitions": [
315
+ {
316
+ "name": "RadioValue",
317
+ "definition": "type RadioValue = string | number | boolean",
318
+ "description": "单选框绑定值类型,可通过 trueValue 自定义为字符串、数字或布尔值。"
319
+ }
320
+ ],
241
321
  "relatedComponents": [
242
322
  "Checkbox",
243
323
  "ButtonGroup",
244
324
  "Select"
245
325
  ]
246
- }
326
+ }
@@ -0,0 +1,199 @@
1
+ {
2
+ "id": "rate",
3
+ "name": "Rate",
4
+ "displayName": "评分",
5
+ "category": "form",
6
+ "description": "评分组件,用于展示和选择星级评分。支持半星、禁用态、自定义总数以及再次点击清空评分。",
7
+ "importStatement": "import { Rate } from '@king-design/vue';",
8
+ "props": [
9
+ {
10
+ "name": "value",
11
+ "description": "当前评分值,可用 v-model 双向绑定。",
12
+ "type": {
13
+ "raw": "number",
14
+ "kind": "number"
15
+ },
16
+ "required": false,
17
+ "default": "0",
18
+ "usageExample": "<Rate v-model=\"score\" />"
19
+ },
20
+ {
21
+ "name": "count",
22
+ "description": "总星数。",
23
+ "type": {
24
+ "raw": "number",
25
+ "kind": "number"
26
+ },
27
+ "required": false,
28
+ "default": "5",
29
+ "usageExample": "<Rate v-model=\"score\" :count=\"10\" />"
30
+ },
31
+ {
32
+ "name": "disabled",
33
+ "description": "是否禁用。禁用后只展示当前值,不响应 hover 和点击。",
34
+ "type": {
35
+ "raw": "boolean",
36
+ "kind": "boolean"
37
+ },
38
+ "required": false,
39
+ "default": "false",
40
+ "usageExample": "<Rate :value=\"4\" disabled />"
41
+ },
42
+ {
43
+ "name": "half",
44
+ "description": "是否允许半星评分。",
45
+ "type": {
46
+ "raw": "boolean",
47
+ "kind": "boolean"
48
+ },
49
+ "required": false,
50
+ "default": "false",
51
+ "usageExample": "<Rate v-model=\"score\" half />"
52
+ },
53
+ {
54
+ "name": "clearable",
55
+ "description": "是否允许点击当前值后清空评分。",
56
+ "type": {
57
+ "raw": "boolean",
58
+ "kind": "boolean"
59
+ },
60
+ "required": false,
61
+ "default": "false",
62
+ "usageExample": "<Rate v-model=\"score\" clearable />"
63
+ }
64
+ ],
65
+ "events": [
66
+ {
67
+ "name": "mouseleave",
68
+ "vueEventName": "@mouseleave",
69
+ "description": "鼠标离开评分区域时触发,通常用于结束悬停预览。",
70
+ "payload": [
71
+ {
72
+ "name": "e",
73
+ "type": "MouseEvent",
74
+ "description": "原生鼠标事件"
75
+ }
76
+ ],
77
+ "usageExample": "<Rate @mouseleave=\"handleMouseLeave\" />",
78
+ "handlerExample": "const handleMouseLeave = (e: MouseEvent) => {\n console.log('离开评分区域');\n};"
79
+ }
80
+ ],
81
+ "slots": [
82
+ {
83
+ "name": "icon",
84
+ "description": "自定义每一项评分图标,默认使用星形图标。",
85
+ "vueTemplate": "<template #icon>...</template>",
86
+ "usageExample": "<Rate v-model=\"score\"><template #icon><Icon class=\"k-icon-favorite\" /></template></Rate>"
87
+ }
88
+ ],
89
+ "methods": [],
90
+ "examples": [
91
+ {
92
+ "id": "rate_basic",
93
+ "title": "基础用法",
94
+ "description": "用户评分输入。",
95
+ "difficulty": "easy",
96
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { Rate } from '@king-design/vue';\n\nconst score = ref(3);\n</script>\n<template>\n <Rate v-model=\"score\" />\n</template>",
97
+ "tags": [
98
+ "basic",
99
+ "v-model"
100
+ ],
101
+ "usedProps": [
102
+ "value"
103
+ ],
104
+ "usedEvents": [],
105
+ "usedSlots": [],
106
+ "usedMethods": [],
107
+ "scenario": "收集用户星级评分"
108
+ },
109
+ {
110
+ "id": "rate_half_clearable",
111
+ "title": "半星和可清空",
112
+ "description": "适合更细粒度的打分场景。",
113
+ "difficulty": "easy",
114
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { Rate } from '@king-design/vue';\n\nconst score = ref(3.5);\n</script>\n<template>\n <Rate v-model=\"score\" half clearable />\n</template>",
115
+ "tags": [
116
+ "half",
117
+ "clearable"
118
+ ],
119
+ "usedProps": [
120
+ "value",
121
+ "half",
122
+ "clearable"
123
+ ],
124
+ "usedEvents": [],
125
+ "usedSlots": [],
126
+ "usedMethods": [],
127
+ "scenario": "允许半星和取消评分"
128
+ },
129
+ {
130
+ "id": "rate_custom_icon",
131
+ "title": "自定义图标",
132
+ "description": "使用心形图标替代默认星形。",
133
+ "difficulty": "medium",
134
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { Icon, Rate } from '@king-design/vue';\n\nconst score = ref(4);\n</script>\n<template>\n <Rate v-model=\"score\">\n <template #icon>\n <Icon class=\"k-icon-heart\" />\n </template>\n </Rate>\n</template>",
135
+ "tags": [
136
+ "slot",
137
+ "icon"
138
+ ],
139
+ "usedProps": [
140
+ "value"
141
+ ],
142
+ "usedEvents": [],
143
+ "usedSlots": [
144
+ "icon"
145
+ ],
146
+ "usedMethods": [],
147
+ "scenario": "在点赞或喜爱度场景中使用心形评分"
148
+ }
149
+ ],
150
+ "commonMistakes": [
151
+ {
152
+ "id": "rate_decimal_without_half",
153
+ "description": "传入小数评分但未开启 half",
154
+ "wrongCode": "<Rate :value=\"3.5\" />",
155
+ "correctCode": "<Rate :value=\"3.5\" half />",
156
+ "explanation": "如果需要展示或选择半星评分,应显式开启 half,否则组件按整星交互处理。",
157
+ "relatedProps": [
158
+ "value",
159
+ "half"
160
+ ]
161
+ },
162
+ {
163
+ "id": "rate_expect_clear_without_clearable",
164
+ "description": "期望再次点击清空评分但未开启 clearable",
165
+ "wrongCode": "<Rate v-model=\"score\" />",
166
+ "correctCode": "<Rate v-model=\"score\" clearable />",
167
+ "explanation": "默认再次点击当前星级不会清空值,如需允许取消评分,应开启 clearable。",
168
+ "relatedProps": [
169
+ "clearable"
170
+ ]
171
+ }
172
+ ],
173
+ "searchKeywords": [
174
+ "rate",
175
+ "评分",
176
+ "星级",
177
+ "打分",
178
+ "半星",
179
+ "clearable"
180
+ ],
181
+ "useCases": [
182
+ "商品评价",
183
+ "服务满意度评分",
184
+ "内容点赞等级",
185
+ "后台数据展示只读评分"
186
+ ],
187
+ "typeDefinitions": [
188
+ {
189
+ "name": "RateValue",
190
+ "definition": "type RateValue = number",
191
+ "description": "评分值类型,支持整数评分和 half 模式下的小数评分。"
192
+ }
193
+ ],
194
+ "relatedComponents": [
195
+ "Icon",
196
+ "Tag",
197
+ "Tooltip"
198
+ ]
199
+ }