king-design-analyzer 2.1.9 → 2.2.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 (327) hide show
  1. package/components/actions.json +109 -0
  2. package/components/advancedset.json +128 -0
  3. package/components/affix.json +8 -0
  4. package/components/aksk.json +172 -0
  5. package/components/anchor.json +220 -0
  6. package/components/anchorlink.json +111 -0
  7. package/components/az.json +15 -2
  8. package/components/badge.json +8 -0
  9. package/components/billtypes.json +14 -2
  10. package/components/breadcrumb.json +9 -1
  11. package/components/button.json +192 -0
  12. package/components/buttonlink.json +74 -0
  13. package/components/card.json +14 -4
  14. package/components/cardcol.json +142 -0
  15. package/components/cardcols.json +121 -0
  16. package/components/cardcontent.json +20 -3
  17. package/components/cardtabs.json +172 -0
  18. package/components/carousel.json +7 -0
  19. package/components/cascader.json +576 -368
  20. package/components/checkbox.json +51 -4
  21. package/components/cidrinput.json +140 -0
  22. package/components/code.json +8 -1
  23. package/components/collapse.json +335 -341
  24. package/components/colorpicker.json +217 -0
  25. package/components/configprovider.json +96 -0
  26. package/components/copy.json +7 -0
  27. package/components/copyhover.json +111 -0
  28. package/components/copyrow.json +125 -0
  29. package/components/datepicker.json +656 -524
  30. package/components/description.json +98 -0
  31. package/components/descriptions.json +10 -3
  32. package/components/diagram.json +295 -0
  33. package/components/dialog.json +526 -455
  34. package/components/divider.json +9 -1
  35. package/components/drawer.json +603 -558
  36. package/components/dropdown.json +464 -384
  37. package/components/duration.json +125 -0
  38. package/components/editable.json +66 -0
  39. package/components/ellipsis.json +34 -1
  40. package/components/filtertablefieldsdialog.json +128 -0
  41. package/components/flex.json +152 -0
  42. package/components/form.json +143 -3
  43. package/components/formiteminput.json +214 -0
  44. package/components/formitemspinner.json +213 -0
  45. package/components/formitemswitch.json +185 -0
  46. package/components/formitemtableconfigs.json +210 -0
  47. package/components/grid.json +7 -0
  48. package/components/header.json +165 -0
  49. package/components/icon.json +13 -1
  50. package/components/icontooltip.json +19 -1
  51. package/components/input.json +196 -8
  52. package/components/instancelist.json +194 -0
  53. package/components/instancenum.json +196 -0
  54. package/components/ipinput.json +117 -0
  55. package/components/kspstatus.json +205 -0
  56. package/components/kvcode.json +120 -0
  57. package/components/layoutcontent.json +24 -3
  58. package/components/layoutlistcontent.json +157 -0
  59. package/components/layoutpermissioncontent.json +156 -0
  60. package/components/layoutstandardlist.json +276 -0
  61. package/components/layouttabs.json +168 -0
  62. package/components/lazymount.json +87 -0
  63. package/components/lazyteleport.json +119 -0
  64. package/components/menu.json +11 -3
  65. package/components/notification.json +351 -0
  66. package/components/pagination.json +12 -0
  67. package/components/paginationplus.json +30 -3
  68. package/components/password.json +121 -0
  69. package/components/popover.json +457 -437
  70. package/components/projects.json +129 -0
  71. package/components/protable.json +99 -8
  72. package/components/queuevisualrange.json +110 -0
  73. package/components/radio.json +82 -2
  74. package/components/rate.json +200 -0
  75. package/components/region.json +14 -2
  76. package/components/scrollselect.json +140 -0
  77. package/components/search.json +221 -0
  78. package/components/searchinput.json +132 -0
  79. package/components/searchitems.json +215 -0
  80. package/components/searchselect.json +195 -0
  81. package/components/select.json +749 -666
  82. package/components/sidebar.json +198 -0
  83. package/components/skeleton.json +234 -0
  84. package/components/slider.json +12 -2
  85. package/components/spin.json +10 -2
  86. package/components/spinner.json +419 -429
  87. package/components/split.json +263 -0
  88. package/components/sshkeys.json +138 -0
  89. package/components/status.json +60 -3
  90. package/components/steps.json +7 -0
  91. package/components/switch.json +12 -3
  92. package/components/table.json +24 -2
  93. package/components/tablecolumnid.json +14 -2
  94. package/components/tabs.json +14 -2
  95. package/components/tag.json +8 -5
  96. package/components/timeline.json +215 -0
  97. package/components/timepicker.json +147 -3
  98. package/components/timerange.json +262 -0
  99. package/components/tip.json +27 -0
  100. package/components/tooltip.json +492 -395
  101. package/components/tour.json +418 -372
  102. package/components/transfer.json +79 -8
  103. package/components/tree.json +28 -5
  104. package/components/treeselect.json +612 -475
  105. package/components/upload.json +474 -473
  106. package/components/vdialog.json +309 -0
  107. package/components/vdrawer.json +335 -0
  108. package/components/virtuallist.json +7 -0
  109. package/dist/ast/index.d.mts +65 -2
  110. package/dist/ast/index.d.ts +65 -2
  111. package/dist/ast/index.js +4 -3
  112. package/dist/ast/index.mjs +2 -1
  113. package/dist/chunk-4OTQAQ6J.mjs +341 -0
  114. package/dist/{chunk-F26GUCGG.js → chunk-4WXOYU2N.js} +32 -9
  115. package/dist/chunk-6HOIRUQB.mjs +409 -0
  116. package/dist/chunk-DHLWNT53.js +364 -0
  117. package/dist/{chunk-H2ET6MMM.mjs → chunk-IPJJMPOO.mjs} +155 -66
  118. package/dist/{chunk-WYSRJVX4.js → chunk-JJ6AB4ZH.js} +2 -2
  119. package/dist/{chunk-2W6OCG2S.js → chunk-JNRGUR3O.js} +155 -67
  120. package/dist/chunk-KF5YBEM5.js +143 -0
  121. package/dist/{chunk-OJOHB64C.mjs → chunk-LRTDTFFQ.mjs} +28 -5
  122. package/dist/{chunk-DSWKLUIX.mjs → chunk-NZL6T22V.mjs} +1 -1
  123. package/dist/chunk-QC6VTSA3.mjs +117 -0
  124. package/dist/chunk-V5N65MRP.js +411 -0
  125. package/dist/full/index.d.mts +2 -0
  126. package/dist/full/index.d.ts +2 -0
  127. package/dist/full/index.js +7 -6
  128. package/dist/full/index.mjs +5 -4
  129. package/dist/index.d.mts +1 -0
  130. package/dist/index.d.ts +1 -0
  131. package/dist/index.js +14 -13
  132. package/dist/index.mjs +6 -5
  133. package/dist/metadata/index.d.mts +38 -3
  134. package/dist/metadata/index.d.ts +38 -3
  135. package/dist/metadata/index.js +26 -16
  136. package/dist/metadata/index.mjs +26 -15
  137. package/dist/resolve-BsLBxlBi.d.mts +24 -0
  138. package/dist/resolve-BsLBxlBi.d.ts +24 -0
  139. package/dist/runtime/index.d.mts +2 -0
  140. package/dist/runtime/index.d.ts +2 -0
  141. package/dist/runtime/index.js +4 -4
  142. package/dist/runtime/index.mjs +2 -2
  143. package/dist/shared/index.d.mts +10 -0
  144. package/dist/shared/index.d.ts +10 -0
  145. package/dist/shared/index.js +23 -0
  146. package/dist/shared/index.mjs +2 -0
  147. package/dist/static/index.js +5 -5
  148. package/dist/static/index.mjs +2 -2
  149. package/docs_for_llm/actions.doc.md +87 -0
  150. package/docs_for_llm/advancedset.doc.md +98 -0
  151. package/docs_for_llm/affix.doc.md +20 -7
  152. package/docs_for_llm/aksk.doc.md +111 -0
  153. package/docs_for_llm/anchor.doc.md +155 -0
  154. package/docs_for_llm/anchorlink.doc.md +75 -0
  155. package/docs_for_llm/az.doc.md +17 -11
  156. package/docs_for_llm/badge.doc.md +11 -5
  157. package/docs_for_llm/billtypes.doc.md +17 -11
  158. package/docs_for_llm/breadcrumb.doc.md +80 -4
  159. package/docs_for_llm/button.doc.md +91 -18
  160. package/docs_for_llm/buttonlink.doc.md +64 -0
  161. package/docs_for_llm/card.doc.md +58 -8
  162. package/docs_for_llm/cardcol.doc.md +78 -0
  163. package/docs_for_llm/cardcols.doc.md +84 -0
  164. package/docs_for_llm/cardcontent.doc.md +31 -10
  165. package/docs_for_llm/cardtabs.doc.md +106 -0
  166. package/docs_for_llm/carousel.doc.md +79 -7
  167. package/docs_for_llm/cascader.doc.md +106 -23
  168. package/docs_for_llm/checkbox.doc.md +25 -13
  169. package/docs_for_llm/cidrinput.doc.md +83 -0
  170. package/docs_for_llm/code.doc.md +22 -11
  171. package/docs_for_llm/collapse.doc.md +147 -14
  172. package/docs_for_llm/colorpicker.doc.md +104 -0
  173. package/docs_for_llm/configprovider.doc.md +77 -0
  174. package/docs_for_llm/copy.doc.md +15 -13
  175. package/docs_for_llm/copyhover.doc.md +59 -0
  176. package/docs_for_llm/copyrow.doc.md +80 -0
  177. package/docs_for_llm/datepicker.doc.md +66 -35
  178. package/docs_for_llm/description.doc.md +75 -0
  179. package/docs_for_llm/descriptions.doc.md +122 -10
  180. package/docs_for_llm/diagram.doc.md +343 -0
  181. package/docs_for_llm/dialog.doc.md +97 -77
  182. package/docs_for_llm/divider.doc.md +14 -7
  183. package/docs_for_llm/drawer.doc.md +114 -69
  184. package/docs_for_llm/dropdown.doc.md +290 -22
  185. package/docs_for_llm/duration.doc.md +76 -0
  186. package/docs_for_llm/editable.doc.md +36 -14
  187. package/docs_for_llm/ellipsis.doc.md +10 -5
  188. package/docs_for_llm/filtertablefieldsdialog.doc.md +99 -0
  189. package/docs_for_llm/flex.doc.md +83 -0
  190. package/docs_for_llm/form.doc.md +196 -18
  191. package/docs_for_llm/formiteminput.doc.md +128 -0
  192. package/docs_for_llm/formitemspinner.doc.md +105 -0
  193. package/docs_for_llm/formitemswitch.doc.md +113 -0
  194. package/docs_for_llm/formitemtableconfigs.doc.md +95 -0
  195. package/docs_for_llm/grid.doc.md +78 -5
  196. package/docs_for_llm/header.doc.md +114 -0
  197. package/docs_for_llm/icon.doc.md +12 -8
  198. package/docs_for_llm/icontooltip.doc.md +121 -0
  199. package/docs_for_llm/input.doc.md +199 -41
  200. package/docs_for_llm/instancelist.doc.md +113 -0
  201. package/docs_for_llm/instancenum.doc.md +95 -0
  202. package/docs_for_llm/ipinput.doc.md +77 -0
  203. package/docs_for_llm/kspstatus.doc.md +82 -0
  204. package/docs_for_llm/kvcode.doc.md +76 -0
  205. package/docs_for_llm/layoutcontent.doc.md +54 -17
  206. package/docs_for_llm/layoutlistcontent.doc.md +168 -0
  207. package/docs_for_llm/layoutpermissioncontent.doc.md +93 -0
  208. package/docs_for_llm/layoutstandardlist.doc.md +129 -0
  209. package/docs_for_llm/layouttabs.doc.md +101 -0
  210. package/docs_for_llm/lazymount.doc.md +82 -0
  211. package/docs_for_llm/lazyteleport.doc.md +85 -0
  212. package/docs_for_llm/menu.doc.md +139 -14
  213. package/docs_for_llm/message.doc.md +93 -10
  214. package/docs_for_llm/notification.doc.md +214 -0
  215. package/docs_for_llm/pagination.doc.md +30 -17
  216. package/docs_for_llm/paginationplus.doc.md +31 -10
  217. package/docs_for_llm/password.doc.md +86 -0
  218. package/docs_for_llm/popover.doc.md +24 -55
  219. package/docs_for_llm/progress.doc.md +13 -10
  220. package/docs_for_llm/projects.doc.md +91 -0
  221. package/docs_for_llm/protable.doc.md +98 -15
  222. package/docs_for_llm/queuevisualrange.doc.md +78 -0
  223. package/docs_for_llm/radio.doc.md +23 -8
  224. package/docs_for_llm/rate.doc.md +127 -0
  225. package/docs_for_llm/region.doc.md +25 -13
  226. package/docs_for_llm/scrollselect.doc.md +90 -0
  227. package/docs_for_llm/search.doc.md +120 -0
  228. package/docs_for_llm/searchinput.doc.md +111 -0
  229. package/docs_for_llm/searchitems.doc.md +116 -0
  230. package/docs_for_llm/searchselect.doc.md +126 -0
  231. package/docs_for_llm/select.doc.md +208 -49
  232. package/docs_for_llm/sidebar.doc.md +133 -0
  233. package/docs_for_llm/skeleton.doc.md +152 -0
  234. package/docs_for_llm/slider.doc.md +42 -22
  235. package/docs_for_llm/spin.doc.md +18 -6
  236. package/docs_for_llm/spinner.doc.md +28 -18
  237. package/docs_for_llm/split.doc.md +170 -0
  238. package/docs_for_llm/sshkeys.doc.md +88 -0
  239. package/docs_for_llm/status.doc.md +14 -9
  240. package/docs_for_llm/steps.doc.md +81 -7
  241. package/docs_for_llm/switch.doc.md +32 -16
  242. package/docs_for_llm/table.doc.md +317 -55
  243. package/docs_for_llm/tablecolumnid.doc.md +36 -16
  244. package/docs_for_llm/tabs.doc.md +117 -12
  245. package/docs_for_llm/tag.doc.md +167 -15
  246. package/docs_for_llm/timeline.doc.md +187 -0
  247. package/docs_for_llm/timepicker.doc.md +74 -36
  248. package/docs_for_llm/timerange.doc.md +157 -0
  249. package/docs_for_llm/tip.doc.md +50 -11
  250. package/docs_for_llm/tooltip.doc.md +99 -27
  251. package/docs_for_llm/tour.doc.md +125 -28
  252. package/docs_for_llm/transfer.doc.md +99 -33
  253. package/docs_for_llm/tree.doc.md +129 -24
  254. package/docs_for_llm/treeselect.doc.md +101 -44
  255. package/docs_for_llm/upload.doc.md +63 -32
  256. package/docs_for_llm/useCRUD.doc.md +49 -0
  257. package/docs_for_llm/useCountdown.doc.md +43 -0
  258. package/docs_for_llm/useDetail.doc.md +48 -0
  259. package/docs_for_llm/useDialog.doc.md +46 -0
  260. package/docs_for_llm/useEntity.doc.md +45 -0
  261. package/docs_for_llm/useEventListener.doc.md +44 -0
  262. package/docs_for_llm/useFalseUntilTruthy.doc.md +41 -0
  263. package/docs_for_llm/useGetCopyAuthText.doc.md +35 -0
  264. package/docs_for_llm/useGetUserPermission.doc.md +43 -0
  265. package/docs_for_llm/useGroup.doc.md +48 -0
  266. package/docs_for_llm/useIdEntities.doc.md +48 -0
  267. package/docs_for_llm/useIdEntity.doc.md +103 -0
  268. package/docs_for_llm/useInterval.doc.md +43 -0
  269. package/docs_for_llm/useLayoutStandardList.doc.md +38 -0
  270. package/docs_for_llm/useMessage.doc.md +46 -0
  271. package/docs_for_llm/useModifyCache.doc.md +37 -0
  272. package/docs_for_llm/useOpenDialog.doc.md +41 -0
  273. package/docs_for_llm/usePagination.doc.md +60 -0
  274. package/docs_for_llm/usePersist.doc.md +54 -0
  275. package/docs_for_llm/usePoll.doc.md +41 -0
  276. package/docs_for_llm/useRoutePlus.doc.md +34 -0
  277. package/docs_for_llm/useRouterPlus.doc.md +34 -0
  278. package/docs_for_llm/useSearch.doc.md +68 -0
  279. package/docs_for_llm/useShell.doc.md +43 -0
  280. package/docs_for_llm/useSkip.doc.md +41 -0
  281. package/docs_for_llm/useStorageIdEntity.doc.md +46 -0
  282. package/docs_for_llm/useStore.doc.md +34 -0
  283. package/docs_for_llm/useTable.doc.md +57 -0
  284. package/docs_for_llm/useTableGroup.doc.md +47 -0
  285. package/docs_for_llm/useTableSort.doc.md +40 -0
  286. package/docs_for_llm/useToState.doc.md +112 -0
  287. package/docs_for_llm/useUser.doc.md +38 -0
  288. package/docs_for_llm/useValidForm.doc.md +41 -0
  289. package/docs_for_llm/vdialog.doc.md +154 -0
  290. package/docs_for_llm/vdrawer.doc.md +148 -0
  291. package/docs_for_llm/virtuallist.doc.md +157 -3
  292. package/hooks/useCRUD.json +61 -0
  293. package/hooks/useCountdown.json +49 -0
  294. package/hooks/useDetail.json +67 -0
  295. package/hooks/useDialog.json +49 -0
  296. package/hooks/useEntity.json +61 -0
  297. package/hooks/useEventListener.json +61 -0
  298. package/hooks/useFalseUntilTruthy.json +43 -0
  299. package/hooks/useGetCopyAuthText.json +36 -0
  300. package/hooks/useGetUserPermission.json +55 -0
  301. package/hooks/useGroup.json +49 -0
  302. package/hooks/useIdEntities.json +61 -0
  303. package/hooks/useInterval.json +55 -0
  304. package/hooks/useLayoutStandardList.json +36 -0
  305. package/hooks/useMessage.json +73 -0
  306. package/hooks/useModifyCache.json +36 -0
  307. package/hooks/useOpenDialog.json +43 -0
  308. package/hooks/usePagination.json +49 -0
  309. package/hooks/usePersist.json +61 -0
  310. package/hooks/usePoll.json +43 -0
  311. package/hooks/useRoutePlus.json +36 -0
  312. package/hooks/useRouterPlus.json +36 -0
  313. package/hooks/useSearch.json +56 -0
  314. package/hooks/useShell.json +49 -0
  315. package/hooks/useSkip.json +43 -0
  316. package/hooks/useStorageIdEntity.json +67 -0
  317. package/hooks/useStore.json +36 -0
  318. package/hooks/useTable.json +49 -0
  319. package/hooks/useTableGroup.json +43 -0
  320. package/hooks/useTableSort.json +43 -0
  321. package/hooks/useUser.json +36 -0
  322. package/hooks/useValidForm.json +43 -0
  323. package/package.json +14 -8
  324. package/dist/chunk-D3Y6FGWA.js +0 -153
  325. package/dist/chunk-HPAUCD5I.js +0 -156
  326. package/dist/chunk-L4DS3EXI.mjs +0 -133
  327. package/dist/chunk-NZ6TLWMD.mjs +0 -151
@@ -0,0 +1,263 @@
1
+ {
2
+ "id": "split",
3
+ "name": "Split",
4
+ "displayName": "分栏拖拽",
5
+ "category": "layout",
6
+ "description": "可拖拽调整尺寸的分栏布局组件。支持横向和纵向两种模式,通过 `first`、`last` 命名插槽定义两侧内容。",
7
+ "importStatement": "import { Split } from '@king-design/vue';",
8
+ "props": [
9
+ {
10
+ "name": "mode",
11
+ "description": "分栏方向。",
12
+ "type": {
13
+ "raw": "\"horizontal\" | \"vertical\"",
14
+ "kind": "union",
15
+ "unionTypes": [
16
+ "horizontal",
17
+ "vertical"
18
+ ]
19
+ },
20
+ "required": false,
21
+ "default": "\"horizontal\"",
22
+ "allowedValues": [
23
+ {
24
+ "value": "horizontal",
25
+ "label": "左右分栏",
26
+ "isDefault": true
27
+ },
28
+ {
29
+ "value": "vertical",
30
+ "label": "上下分栏"
31
+ }
32
+ ],
33
+ "usageExample": "<Split mode=\"vertical\">"
34
+ },
35
+ {
36
+ "name": "firstSize",
37
+ "description": "第一个面板尺寸,支持具体尺寸值或 auto。",
38
+ "type": {
39
+ "raw": "string",
40
+ "kind": "string"
41
+ },
42
+ "required": false,
43
+ "default": "\"auto\"",
44
+ "usageExample": "<Split firstSize=\"240px\">"
45
+ },
46
+ {
47
+ "name": "lastSize",
48
+ "description": "第二个面板尺寸,支持具体尺寸值或 auto。",
49
+ "type": {
50
+ "raw": "string",
51
+ "kind": "string"
52
+ },
53
+ "required": false,
54
+ "default": "\"auto\"",
55
+ "usageExample": "<Split lastSize=\"320px\">"
56
+ },
57
+ {
58
+ "name": "min",
59
+ "description": "拖拽时允许的最小尺寸。",
60
+ "type": {
61
+ "raw": "number | string",
62
+ "kind": "union"
63
+ },
64
+ "required": false,
65
+ "default": "0",
66
+ "usageExample": "<Split firstSize=\"240px\" :min=\"120\" />"
67
+ },
68
+ {
69
+ "name": "max",
70
+ "description": "拖拽时允许的最大尺寸。",
71
+ "type": {
72
+ "raw": "number | string",
73
+ "kind": "union"
74
+ },
75
+ "required": false,
76
+ "default": "\"100%-6\"",
77
+ "usageExample": "<Split firstSize=\"240px\" max=\"60%\" />"
78
+ }
79
+ ],
80
+ "events": [
81
+ {
82
+ "name": "moveStart",
83
+ "vueEventName": "@moveStart",
84
+ "description": "开始拖拽时触发。",
85
+ "payload": [
86
+ {
87
+ "name": "e",
88
+ "type": "MouseEvent",
89
+ "description": "原生鼠标事件"
90
+ }
91
+ ],
92
+ "usageExample": "<Split @moveStart=\"handleMoveStart\">",
93
+ "handlerExample": "const handleMoveStart = (e: MouseEvent) => {\n console.log('开始拖拽');\n};"
94
+ },
95
+ {
96
+ "name": "moving",
97
+ "vueEventName": "@moving",
98
+ "description": "拖拽过程中持续触发。",
99
+ "payload": [
100
+ {
101
+ "name": "e",
102
+ "type": "MouseEvent",
103
+ "description": "原生鼠标事件"
104
+ }
105
+ ],
106
+ "usageExample": "<Split @moving=\"handleMoving\">",
107
+ "handlerExample": "const handleMoving = (e: MouseEvent) => {\n console.log('拖拽中');\n};"
108
+ },
109
+ {
110
+ "name": "moveEnd",
111
+ "vueEventName": "@moveEnd",
112
+ "description": "拖拽结束时触发。",
113
+ "payload": [
114
+ {
115
+ "name": "e",
116
+ "type": "MouseEvent | undefined",
117
+ "description": "原生鼠标事件"
118
+ }
119
+ ],
120
+ "usageExample": "<Split @moveEnd=\"handleMoveEnd\">",
121
+ "handlerExample": "const handleMoveEnd = (e?: MouseEvent) => {\n console.log('拖拽结束');\n};"
122
+ }
123
+ ],
124
+ "slots": [
125
+ {
126
+ "name": "first",
127
+ "description": "第一个面板内容。",
128
+ "bindingType": "none",
129
+ "vueTemplate": "<template #first>...</template>",
130
+ "usageExample": "<Split><template #first>左侧内容</template><template #last>右侧内容</template></Split>"
131
+ },
132
+ {
133
+ "name": "last",
134
+ "description": "第二个面板内容。",
135
+ "bindingType": "none",
136
+ "vueTemplate": "<template #last>...</template>",
137
+ "usageExample": "<Split><template #first>左侧内容</template><template #last>右侧内容</template></Split>"
138
+ },
139
+ {
140
+ "name": "drag",
141
+ "description": "自定义拖拽分割条内容。",
142
+ "bindingType": "none",
143
+ "vueTemplate": "<template #drag>...</template>",
144
+ "usageExample": "<Split><template #drag><div class=\"custom-handle\" /></template></Split>"
145
+ }
146
+ ],
147
+ "methods": [],
148
+ "typeDefinitions": [
149
+ {
150
+ "name": "Mode",
151
+ "definition": "type Mode = 'horizontal' | 'vertical'",
152
+ "description": "Split 的布局方向"
153
+ }
154
+ ],
155
+ "examples": [
156
+ {
157
+ "id": "split_basic",
158
+ "title": "左右分栏",
159
+ "description": "基础的横向可拖拽布局。",
160
+ "difficulty": "easy",
161
+ "code": "<template>\n <Split firstSize=\"240px\" style=\"height: 320px; border: 1px solid #eee;\">\n <template #first>\n <div style=\"padding: 16px;\">左侧目录</div>\n </template>\n <template #last>\n <div style=\"padding: 16px;\">右侧内容</div>\n </template>\n </Split>\n</template>",
162
+ "tags": [
163
+ "basic",
164
+ "horizontal"
165
+ ],
166
+ "usedProps": [
167
+ "firstSize"
168
+ ],
169
+ "usedEvents": [],
170
+ "usedSlots": [
171
+ "first",
172
+ "last"
173
+ ],
174
+ "usedMethods": [],
175
+ "scenario": "后台页面侧边栏和主内容区"
176
+ },
177
+ {
178
+ "id": "split_vertical",
179
+ "title": "上下分栏",
180
+ "description": "适合日志面板或上下编辑区。",
181
+ "difficulty": "easy",
182
+ "code": "<template>\n <Split mode=\"vertical\" firstSize=\"120px\" style=\"height: 360px; border: 1px solid #eee;\">\n <template #first>\n <div style=\"padding: 16px;\">上方面板</div>\n </template>\n <template #last>\n <div style=\"padding: 16px;\">下方面板</div>\n </template>\n </Split>\n</template>",
183
+ "tags": [
184
+ "vertical",
185
+ "layout"
186
+ ],
187
+ "usedProps": [
188
+ "mode",
189
+ "firstSize"
190
+ ],
191
+ "usedEvents": [],
192
+ "usedSlots": [
193
+ "first",
194
+ "last"
195
+ ],
196
+ "usedMethods": [],
197
+ "scenario": "上下布局的编辑器和预览区"
198
+ },
199
+ {
200
+ "id": "split_with_range",
201
+ "title": "拖拽范围限制",
202
+ "description": "限制面板最小和最大尺寸。",
203
+ "difficulty": "medium",
204
+ "code": "<template>\n <Split firstSize=\"240px\" :min=\"120\" :max=\"480\" style=\"height: 320px; border: 1px solid #eee;\">\n <template #first>\n <div style=\"padding: 16px;\">可拖拽但不小于 120px</div>\n </template>\n <template #last>\n <div style=\"padding: 16px;\">主面板</div>\n </template>\n </Split>\n</template>",
205
+ "tags": [
206
+ "range",
207
+ "resize"
208
+ ],
209
+ "usedProps": [
210
+ "firstSize",
211
+ "min",
212
+ "max"
213
+ ],
214
+ "usedEvents": [],
215
+ "usedSlots": [
216
+ "first",
217
+ "last"
218
+ ],
219
+ "usedMethods": [],
220
+ "scenario": "限制侧栏宽度的后台布局"
221
+ }
222
+ ],
223
+ "commonMistakes": [
224
+ {
225
+ "id": "split_missing_named_slots",
226
+ "description": "未使用 first 和 last 命名插槽",
227
+ "wrongCode": "<Split>\n <div>左侧</div>\n <div>右侧</div>\n</Split>",
228
+ "correctCode": "<Split>\n <template #first><div>左侧</div></template>\n <template #last><div>右侧</div></template>\n</Split>",
229
+ "explanation": "Split 使用命名插槽组织两个面板,直接写默认子节点不会正确分配到两侧区域。",
230
+ "relatedProps": []
231
+ },
232
+ {
233
+ "id": "split_both_sizes_fixed",
234
+ "description": "同时固定 firstSize 和 lastSize,导致拖拽空间不足",
235
+ "wrongCode": "<Split firstSize=\"300px\" lastSize=\"500px\">...</Split>",
236
+ "correctCode": "<Split firstSize=\"300px\" lastSize=\"auto\">...</Split>",
237
+ "explanation": "实际使用中通常固定一侧,另一侧使用 auto,让拖拽有可调整空间。",
238
+ "relatedProps": [
239
+ "firstSize",
240
+ "lastSize"
241
+ ]
242
+ }
243
+ ],
244
+ "searchKeywords": [
245
+ "split",
246
+ "分栏",
247
+ "拖拽布局",
248
+ "左右布局",
249
+ "上下布局",
250
+ "resize"
251
+ ],
252
+ "useCases": [
253
+ "侧边栏加主内容区",
254
+ "编辑器与预览区",
255
+ "日志面板",
256
+ "控制台双栏布局"
257
+ ],
258
+ "relatedComponents": [
259
+ "Layout",
260
+ "Grid",
261
+ "Card"
262
+ ]
263
+ }
@@ -0,0 +1,138 @@
1
+ {
2
+ "id": "sshkeys",
3
+ "name": "SSHKeys",
4
+ "displayName": "SSH 密钥选择",
5
+ "category": "form",
6
+ "description": "用于拉取并选择 SSH 密钥的业务组件,适合实例创建、重置登录方式和批量授权等需要登录凭证选择的场景。",
7
+ "importStatement": "import { SSHKeys } from '@ksyun-internal/versatile';",
8
+ "props": [
9
+ {
10
+ "name": "modelValue",
11
+ "description": "当前选中的密钥 ID",
12
+ "type": {
13
+ "raw": "string",
14
+ "kind": "string"
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
+ "name": "disableOption",
29
+ "description": "禁用选项的配置或函数",
30
+ "type": {
31
+ "raw": "any",
32
+ "kind": "custom"
33
+ },
34
+ "required": false
35
+ }
36
+ ],
37
+ "events": [
38
+ {
39
+ "name": "update:modelValue",
40
+ "vueEventName": "@update:modelValue",
41
+ "description": "所选 SSH 密钥 ID 变化时触发,可直接同步表单主值。",
42
+ "params": [
43
+ {
44
+ "name": "value",
45
+ "type": "string",
46
+ "description": "当前选中的 SSH 密钥 ID。",
47
+ "optional": true
48
+ }
49
+ ]
50
+ },
51
+ {
52
+ "name": "update:key",
53
+ "vueEventName": "@update:key",
54
+ "description": "所选完整密钥对象变化时触发,便于读取密钥名称、指纹等信息。",
55
+ "params": [
56
+ {
57
+ "name": "value",
58
+ "type": "SSHKeyItem",
59
+ "description": "当前选中的完整 SSH 密钥对象。",
60
+ "optional": true
61
+ }
62
+ ]
63
+ }
64
+ ],
65
+ "slots": [],
66
+ "methods": [],
67
+ "examples": [
68
+ {
69
+ "id": "sshkeys_instance_create",
70
+ "title": "创建实例时选择 SSH 密钥",
71
+ "description": "把 SSH 密钥选择作为登录方式的一部分。",
72
+ "difficulty": "easy",
73
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { SSHKeys } from '@ksyun-internal/versatile';\n\nconst keyId = ref('key-001');\n</script>\n\n<template>\n <SSHKeys v-model=\"keyId\" href=\"/ssh-key/list\" />\n</template>",
74
+ "tags": [
75
+ "ssh",
76
+ "security"
77
+ ],
78
+ "usedProps": [
79
+ "modelValue",
80
+ "href"
81
+ ],
82
+ "usedEvents": [
83
+ "update:modelValue",
84
+ "update:key"
85
+ ],
86
+ "usedMethods": [],
87
+ "scenario": "在创建 Linux 实例时选择已有 SSH 密钥作为登录凭证。"
88
+ },
89
+ {
90
+ "id": "sshkeys_disable_option",
91
+ "title": "禁用不合规的 SSH 密钥",
92
+ "description": "根据业务规则禁用部分密钥选项,避免被误选。",
93
+ "difficulty": "medium",
94
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { SSHKeys } from '@ksyun-internal/versatile';\n\nconst keyId = ref('');\nconst disableOption = (item: { expired?: boolean }) => Boolean(item?.expired);\n</script>\n\n<template>\n <SSHKeys\n v-model=\"keyId\"\n href=\"/ssh-key/list\"\n :disable-option=\"disableOption\"\n />\n</template>",
95
+ "tags": [
96
+ "ssh",
97
+ "rules"
98
+ ],
99
+ "usedProps": [
100
+ "modelValue",
101
+ "href",
102
+ "disableOption"
103
+ ],
104
+ "usedEvents": [
105
+ "update:modelValue",
106
+ "update:key"
107
+ ],
108
+ "usedMethods": [],
109
+ "scenario": "在创建实例时禁用过期或不符合规范的 SSH 密钥。"
110
+ }
111
+ ],
112
+ "searchKeywords": [
113
+ "ssh keys",
114
+ "ssh key",
115
+ "SSH 密钥",
116
+ "登录凭证",
117
+ "密钥选择",
118
+ "ssh credential",
119
+ "密钥下拉",
120
+ "linux 登录"
121
+ ],
122
+ "useCases": [
123
+ "实例创建 SSH 登录凭证选择",
124
+ "批量实例登录方式配置",
125
+ "禁用不合规密钥选项",
126
+ "选择后联动密钥实体信息"
127
+ ],
128
+ "relatedComponents": [
129
+ "Projects"
130
+ ],
131
+ "typeDefinitions": [
132
+ {
133
+ "name": "SSHKeyItem",
134
+ "definition": "type SSHKeyItem = {\n id: string\n name: string\n fingerprint?: string\n}",
135
+ "description": "SSH 密钥项配置,通常包含 ID、名称和可选指纹信息。"
136
+ }
137
+ ]
138
+ }
@@ -49,6 +49,15 @@
49
49
  },
50
50
  "required": false
51
51
  },
52
+ {
53
+ "name": "rotationDuration",
54
+ "description": "旋转动画时长,支持字符串或数字",
55
+ "type": {
56
+ "raw": "string | number",
57
+ "kind": "union"
58
+ },
59
+ "required": false
60
+ },
52
61
  {
53
62
  "name": "refresh",
54
63
  "description": "刷新函数,传递此属性时会显示刷新按钮",
@@ -57,6 +66,42 @@
57
66
  "kind": "function"
58
67
  },
59
68
  "required": false
69
+ },
70
+ {
71
+ "name": "tip",
72
+ "description": "状态说明提示文案",
73
+ "type": {
74
+ "raw": "string",
75
+ "kind": "string"
76
+ },
77
+ "required": false
78
+ },
79
+ {
80
+ "name": "progress",
81
+ "description": "进度值,传入后可展示带进度语义的状态",
82
+ "type": {
83
+ "raw": "number",
84
+ "kind": "number"
85
+ },
86
+ "required": false
87
+ },
88
+ {
89
+ "name": "refreshTip",
90
+ "description": "刷新按钮的 tooltip 文案",
91
+ "type": {
92
+ "raw": "string",
93
+ "kind": "string"
94
+ },
95
+ "required": false
96
+ },
97
+ {
98
+ "name": "position",
99
+ "description": "状态提示或刷新按钮的弹出位置",
100
+ "type": {
101
+ "raw": "\"left\" | \"right\" | \"top\" | \"bottom\" | Options",
102
+ "kind": "union"
103
+ },
104
+ "required": false
60
105
  }
61
106
  ],
62
107
  "events": [],
@@ -66,10 +111,22 @@
66
111
  "status",
67
112
  "indicator",
68
113
  "loading",
69
- "状态"
114
+ "状态",
115
+ "状态指示器",
116
+ "加载状态",
117
+ "进度状态"
70
118
  ],
71
119
  "useCases": [
72
120
  "表格行状态展示",
73
- "详情页资源状态"
121
+ "详情页资源状态",
122
+ "带进度的任务状态展示",
123
+ "支持刷新动作的状态提示"
124
+ ],
125
+ "typeDefinitions": [
126
+ {
127
+ "name": "StatusType",
128
+ "definition": "type StatusType = 'success' | 'warning' | 'error' | 'info' | 'loading'",
129
+ "description": "状态指示器的内置语义类型枚举。"
130
+ }
74
131
  ]
75
- }
132
+ }
@@ -285,6 +285,13 @@
285
285
  "任务进度展示",
286
286
  "安装向导"
287
287
  ],
288
+ "typeDefinitions": [
289
+ {
290
+ "name": "StepsType",
291
+ "definition": "type StepsType = 'default' | 'line' | 'simple' | 'line-compact'",
292
+ "description": "步骤条样式类型枚举。"
293
+ }
294
+ ],
288
295
  "relatedComponents": [
289
296
  "Step",
290
297
  "Progress"
@@ -168,11 +168,13 @@
168
168
  "slots": [
169
169
  {
170
170
  "name": "on",
171
- "description": "扩展开启时的文案"
171
+ "description": "扩展开启时的文案",
172
+ "bindingType": "none"
172
173
  },
173
174
  {
174
175
  "name": "off",
175
- "description": "扩展关闭时的文案"
176
+ "description": "扩展关闭时的文案",
177
+ "bindingType": "none"
176
178
  }
177
179
  ],
178
180
  "events": [],
@@ -351,7 +353,14 @@
351
353
  "表单布尔输入",
352
354
  "偏好设置"
353
355
  ],
356
+ "typeDefinitions": [
357
+ {
358
+ "name": "SwitchValue",
359
+ "definition": "type SwitchValue = boolean | string | number",
360
+ "description": "开关绑定值类型,可使用布尔值或自定义 trueValue / falseValue。"
361
+ }
362
+ ],
354
363
  "relatedComponents": [
355
364
  "Checkbox"
356
365
  ]
357
- }
366
+ }
@@ -553,6 +553,7 @@
553
553
  {
554
554
  "name": "empty",
555
555
  "description": "自定义无数据展示模板",
556
+ "bindingType": "none",
556
557
  "vueTemplate": "#empty",
557
558
  "usageExample": "<Table :data=\"[]\">\n <template #empty>\n <div>暂无数据</div>\n </template>\n</Table>"
558
559
  },
@@ -578,6 +579,7 @@
578
579
  {
579
580
  "name": "footer",
580
581
  "description": "自定义表格底部",
582
+ "bindingType": "none",
581
583
  "vueTemplate": "#footer",
582
584
  "usageExample": "<Table :data=\"data\">\n <template #footer>\n <div>总计: {{ total }}</div>\n </template>\n</Table>"
583
585
  },
@@ -862,11 +864,13 @@
862
864
  "name": "title",
863
865
  "description": "自定义复杂表头内容",
864
866
  "vueTemplate": "#title",
865
- "usageExample": "<TableColumn key=\"custom\">\n <template #title>自定义表头</template>\n</TableColumn>"
867
+ "usageExample": "<TableColumn key=\"custom\">\n <template #title>自定义表头</template>\n</TableColumn>",
868
+ "bindingType": "none"
866
869
  },
867
870
  {
868
871
  "name": "template",
869
872
  "description": "自定义单元格内容",
873
+ "bindingType": "array",
870
874
  "slotProps": [
871
875
  {
872
876
  "name": "data",
@@ -886,6 +890,7 @@
886
890
  {
887
891
  "name": "default",
888
892
  "description": "与template扩展点等价,为了方便vue中使用的别名",
893
+ "bindingType": "array",
889
894
  "slotProps": [
890
895
  {
891
896
  "name": "data",
@@ -1051,8 +1056,25 @@
1051
1056
  "可排序的数据分析表格",
1052
1057
  "带操作列的管理表格"
1053
1058
  ],
1059
+ "typeDefinitions": [
1060
+ {
1061
+ "name": "TableRowKey",
1062
+ "definition": "type TableRowKey = string | number",
1063
+ "description": "表格行唯一标识类型,用于选择、展开和高亮等状态管理。"
1064
+ },
1065
+ {
1066
+ "name": "TableSortValue",
1067
+ "definition": "type TableSortValue = {\\n key: string\\n order: 'asc' | 'desc'\\n}",
1068
+ "description": "表格排序状态结构,描述当前排序字段和排序方向。"
1069
+ },
1070
+ {
1071
+ "name": "TableGroupValue",
1072
+ "definition": "type TableGroupValue = {\\n key: string\\n title?: string\\n}",
1073
+ "description": "表格分组配置结构,用于按指定字段对数据进行分组展示。"
1074
+ }
1075
+ ],
1054
1076
  "relatedComponents": [
1055
1077
  "TableColumn",
1056
1078
  "Pagination"
1057
1079
  ]
1058
- }
1080
+ }
@@ -209,9 +209,21 @@
209
209
  "id",
210
210
  "column",
211
211
  "table",
212
- "表格列"
212
+ "表格列",
213
+ "ID列",
214
+ "名称ID列",
215
+ "资源标识列"
213
216
  ],
214
217
  "useCases": [
215
- "资源列表ID列展示"
218
+ "资源列表ID列展示",
219
+ "支持复制的名称和 ID 展示",
220
+ "表格中可点击资源名称列"
221
+ ],
222
+ "typeDefinitions": [
223
+ {
224
+ "name": "TableColumnIdType",
225
+ "definition": "type TableColumnIdType = 'link' | 'none'",
226
+ "description": "ID 列展示模式枚举,控制名称是否以链接形式呈现。"
227
+ }
216
228
  ]
217
229
  }
@@ -197,8 +197,8 @@
197
197
  "description": "原生鼠标事件"
198
198
  }
199
199
  ],
200
- "usageExample": "<Tab @click=\"handleClick\"></Tab>",
201
- "handlerExample": "const handleClick = (e: MouseEvent) => {\n console.log('Tab 被点击');\n};"
200
+ "usageExample": "<Tab @click=\"handleTabClick\"></Tab>",
201
+ "handlerExample": "const openInNewWindow = ref(false);\n\nconst handleTabClick = (e: MouseEvent) => {\n openInNewWindow.value = e.metaKey || e.ctrlKey;\n};"
202
202
  }
203
203
  ]
204
204
  }
@@ -356,6 +356,18 @@
356
356
  "数据视图切换",
357
357
  "详情页多维度展示"
358
358
  ],
359
+ "typeDefinitions": [
360
+ {
361
+ "name": "TabValue",
362
+ "definition": "type TabValue = string | number",
363
+ "description": "单个页签的值类型,用于标识当前激活 Tab。"
364
+ },
365
+ {
366
+ "name": "TabItem",
367
+ "definition": "type TabItem = {\\n value: TabValue\\n disabled?: boolean\\n to?: string\\n}",
368
+ "description": "页签项的基础数据结构,可选携带禁用态和路由跳转信息。"
369
+ }
370
+ ],
359
371
  "relatedComponents": [
360
372
  "Tab",
361
373
  "Menu"