king-design-analyzer 2.1.7 → 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 (311) 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 +5 -3
  102. package/dist/ast/index.mjs +3 -1
  103. package/dist/{chunk-DSWKLUIX.mjs → chunk-3LYQ5XFM.mjs} +1 -1
  104. package/dist/chunk-BI5TIQID.mjs +330 -0
  105. package/dist/{chunk-6QS5IGS6.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-JSBRDJBE.js +30 -0
  110. package/dist/chunk-KF5YBEM5.js +143 -0
  111. package/dist/chunk-KMIDURUR.mjs +33324 -0
  112. package/dist/chunk-QC6VTSA3.mjs +117 -0
  113. package/dist/chunk-SZYVGYKK.js +33350 -0
  114. package/dist/{chunk-WYSRJVX4.js → chunk-TA3SV4SP.js} +2 -2
  115. package/dist/chunk-UJCSKKID.mjs +27 -0
  116. package/dist/{chunk-FVSQ6BU6.mjs → chunk-XGPHQHLR.mjs} +4 -4
  117. package/dist/docs/index.js +1 -1
  118. package/dist/docs/index.mjs +1 -1
  119. package/dist/full/index.js +8 -6
  120. package/dist/full/index.mjs +6 -4
  121. package/dist/index.d.mts +1 -0
  122. package/dist/index.d.ts +1 -0
  123. package/dist/index.js +15 -13
  124. package/dist/index.mjs +7 -5
  125. package/dist/metadata/index.d.mts +22 -2
  126. package/dist/metadata/index.d.ts +22 -2
  127. package/dist/metadata/index.js +27 -17
  128. package/dist/metadata/index.mjs +27 -16
  129. package/dist/resolve-BsLBxlBi.d.mts +24 -0
  130. package/dist/resolve-BsLBxlBi.d.ts +24 -0
  131. package/dist/runtime/index.js +5 -4
  132. package/dist/runtime/index.mjs +3 -2
  133. package/dist/shared/index.d.mts +10 -0
  134. package/dist/shared/index.d.ts +10 -0
  135. package/dist/shared/index.js +23 -0
  136. package/dist/shared/index.mjs +2 -0
  137. package/dist/static/index.js +6 -5
  138. package/dist/static/index.mjs +3 -2
  139. package/docs_for_llm/actions.doc.md +77 -0
  140. package/docs_for_llm/advancedset.doc.md +89 -0
  141. package/docs_for_llm/affix.doc.md +15 -7
  142. package/docs_for_llm/aksk.doc.md +111 -0
  143. package/docs_for_llm/az.doc.md +17 -11
  144. package/docs_for_llm/badge.doc.md +6 -5
  145. package/docs_for_llm/billtypes.doc.md +17 -11
  146. package/docs_for_llm/breadcrumb.doc.md +6 -3
  147. package/docs_for_llm/button.doc.md +34 -18
  148. package/docs_for_llm/buttonlink.doc.md +55 -0
  149. package/docs_for_llm/card.doc.md +8 -5
  150. package/docs_for_llm/cardcol.doc.md +78 -0
  151. package/docs_for_llm/cardcols.doc.md +84 -0
  152. package/docs_for_llm/cardcontent.doc.md +10 -10
  153. package/docs_for_llm/cardtabs.doc.md +106 -0
  154. package/docs_for_llm/carousel.doc.md +8 -7
  155. package/docs_for_llm/cascader.doc.md +46 -25
  156. package/docs_for_llm/checkbox.doc.md +25 -13
  157. package/docs_for_llm/cidrinput.doc.md +83 -0
  158. package/docs_for_llm/code.doc.md +22 -11
  159. package/docs_for_llm/collapse.doc.md +9 -6
  160. package/docs_for_llm/colorpicker.doc.md +104 -0
  161. package/docs_for_llm/copy.doc.md +15 -13
  162. package/docs_for_llm/copyhover.doc.md +59 -0
  163. package/docs_for_llm/copyrow.doc.md +71 -0
  164. package/docs_for_llm/datepicker.doc.md +51 -39
  165. package/docs_for_llm/description.doc.md +75 -0
  166. package/docs_for_llm/descriptions.doc.md +9 -6
  167. package/docs_for_llm/dialog.doc.md +48 -77
  168. package/docs_for_llm/divider.doc.md +9 -7
  169. package/docs_for_llm/drawer.doc.md +43 -84
  170. package/docs_for_llm/dropdown.doc.md +52 -21
  171. package/docs_for_llm/duration.doc.md +76 -0
  172. package/docs_for_llm/editable.doc.md +36 -14
  173. package/docs_for_llm/ellipsis.doc.md +10 -5
  174. package/docs_for_llm/filtertablefieldsdialog.doc.md +99 -0
  175. package/docs_for_llm/flex.doc.md +74 -0
  176. package/docs_for_llm/form.doc.md +33 -14
  177. package/docs_for_llm/formiteminput.doc.md +128 -0
  178. package/docs_for_llm/formitemspinner.doc.md +105 -0
  179. package/docs_for_llm/formitemswitch.doc.md +113 -0
  180. package/docs_for_llm/formitemtableconfigs.doc.md +95 -0
  181. package/docs_for_llm/grid.doc.md +7 -5
  182. package/docs_for_llm/header.doc.md +85 -0
  183. package/docs_for_llm/icon.doc.md +12 -8
  184. package/docs_for_llm/icontooltip.doc.md +121 -0
  185. package/docs_for_llm/input.doc.md +90 -39
  186. package/docs_for_llm/instancelist.doc.md +113 -0
  187. package/docs_for_llm/instancenum.doc.md +95 -0
  188. package/docs_for_llm/ipinput.doc.md +77 -0
  189. package/docs_for_llm/kspstatus.doc.md +82 -0
  190. package/docs_for_llm/kvcode.doc.md +76 -0
  191. package/docs_for_llm/layoutcontent.doc.md +17 -17
  192. package/docs_for_llm/layoutlistcontent.doc.md +95 -0
  193. package/docs_for_llm/layoutpermissioncontent.doc.md +84 -0
  194. package/docs_for_llm/layoutstandardlist.doc.md +120 -0
  195. package/docs_for_llm/layouttabs.doc.md +101 -0
  196. package/docs_for_llm/lazymount.doc.md +73 -0
  197. package/docs_for_llm/lazyteleport.doc.md +76 -0
  198. package/docs_for_llm/menu.doc.md +14 -11
  199. package/docs_for_llm/message.doc.md +48 -10
  200. package/docs_for_llm/pagination.doc.md +30 -17
  201. package/docs_for_llm/paginationplus.doc.md +31 -10
  202. package/docs_for_llm/password.doc.md +86 -0
  203. package/docs_for_llm/popover.doc.md +24 -55
  204. package/docs_for_llm/progress.doc.md +13 -10
  205. package/docs_for_llm/projects.doc.md +91 -0
  206. package/docs_for_llm/protable.doc.md +89 -15
  207. package/docs_for_llm/queuevisualrange.doc.md +78 -0
  208. package/docs_for_llm/radio.doc.md +23 -8
  209. package/docs_for_llm/rate.doc.md +122 -0
  210. package/docs_for_llm/region.doc.md +25 -13
  211. package/docs_for_llm/search.doc.md +120 -0
  212. package/docs_for_llm/searchinput.doc.md +111 -0
  213. package/docs_for_llm/searchitems.doc.md +116 -0
  214. package/docs_for_llm/searchselect.doc.md +126 -0
  215. package/docs_for_llm/select.doc.md +40 -55
  216. package/docs_for_llm/sidebar.doc.md +133 -0
  217. package/docs_for_llm/skeleton.doc.md +117 -0
  218. package/docs_for_llm/slider.doc.md +31 -21
  219. package/docs_for_llm/spin.doc.md +8 -5
  220. package/docs_for_llm/spinner.doc.md +28 -18
  221. package/docs_for_llm/split.doc.md +157 -0
  222. package/docs_for_llm/sshkeys.doc.md +88 -0
  223. package/docs_for_llm/status.doc.md +14 -9
  224. package/docs_for_llm/steps.doc.md +10 -7
  225. package/docs_for_llm/switch.doc.md +17 -14
  226. package/docs_for_llm/table.doc.md +118 -51
  227. package/docs_for_llm/tablecolumnid.doc.md +36 -16
  228. package/docs_for_llm/tabs.doc.md +19 -10
  229. package/docs_for_llm/tag.doc.md +19 -10
  230. package/docs_for_llm/timeline.doc.md +109 -0
  231. package/docs_for_llm/timepicker.doc.md +57 -38
  232. package/docs_for_llm/timerange.doc.md +157 -0
  233. package/docs_for_llm/tip.doc.md +20 -11
  234. package/docs_for_llm/tooltip.doc.md +55 -29
  235. package/docs_for_llm/tour.doc.md +48 -29
  236. package/docs_for_llm/transfer.doc.md +40 -29
  237. package/docs_for_llm/tree.doc.md +65 -23
  238. package/docs_for_llm/treeselect.doc.md +37 -48
  239. package/docs_for_llm/upload.doc.md +56 -32
  240. package/docs_for_llm/useCRUD.doc.md +49 -0
  241. package/docs_for_llm/useCountdown.doc.md +43 -0
  242. package/docs_for_llm/useDetail.doc.md +48 -0
  243. package/docs_for_llm/useDialog.doc.md +46 -0
  244. package/docs_for_llm/useEntity.doc.md +45 -0
  245. package/docs_for_llm/useEventListener.doc.md +44 -0
  246. package/docs_for_llm/useFalseUntilTruthy.doc.md +41 -0
  247. package/docs_for_llm/useGetCopyAuthText.doc.md +35 -0
  248. package/docs_for_llm/useGetUserPermission.doc.md +43 -0
  249. package/docs_for_llm/useGroup.doc.md +48 -0
  250. package/docs_for_llm/useIdEntities.doc.md +48 -0
  251. package/docs_for_llm/useIdEntity.doc.md +103 -0
  252. package/docs_for_llm/useInterval.doc.md +43 -0
  253. package/docs_for_llm/useLayoutStandardList.doc.md +38 -0
  254. package/docs_for_llm/useMessage.doc.md +46 -0
  255. package/docs_for_llm/useModifyCache.doc.md +37 -0
  256. package/docs_for_llm/useOpenDialog.doc.md +41 -0
  257. package/docs_for_llm/usePagination.doc.md +60 -0
  258. package/docs_for_llm/usePersist.doc.md +54 -0
  259. package/docs_for_llm/usePoll.doc.md +41 -0
  260. package/docs_for_llm/useRoutePlus.doc.md +34 -0
  261. package/docs_for_llm/useRouterPlus.doc.md +34 -0
  262. package/docs_for_llm/useSearch.doc.md +68 -0
  263. package/docs_for_llm/useShell.doc.md +43 -0
  264. package/docs_for_llm/useSkip.doc.md +41 -0
  265. package/docs_for_llm/useStorageIdEntity.doc.md +46 -0
  266. package/docs_for_llm/useStore.doc.md +34 -0
  267. package/docs_for_llm/useTable.doc.md +57 -0
  268. package/docs_for_llm/useTableGroup.doc.md +47 -0
  269. package/docs_for_llm/useTableSort.doc.md +40 -0
  270. package/docs_for_llm/useToState.doc.md +112 -0
  271. package/docs_for_llm/useUser.doc.md +38 -0
  272. package/docs_for_llm/useValidForm.doc.md +41 -0
  273. package/docs_for_llm/vdialog.doc.md +129 -0
  274. package/docs_for_llm/vdrawer.doc.md +119 -0
  275. package/docs_for_llm/virtuallist.doc.md +6 -3
  276. package/hooks/useCRUD.json +61 -0
  277. package/hooks/useCountdown.json +49 -0
  278. package/hooks/useDetail.json +67 -0
  279. package/hooks/useDialog.json +49 -0
  280. package/hooks/useEntity.json +61 -0
  281. package/hooks/useEventListener.json +61 -0
  282. package/hooks/useFalseUntilTruthy.json +43 -0
  283. package/hooks/useGetCopyAuthText.json +36 -0
  284. package/hooks/useGetUserPermission.json +55 -0
  285. package/hooks/useGroup.json +49 -0
  286. package/hooks/useIdEntities.json +61 -0
  287. package/hooks/useInterval.json +55 -0
  288. package/hooks/useLayoutStandardList.json +36 -0
  289. package/hooks/useMessage.json +73 -0
  290. package/hooks/useModifyCache.json +36 -0
  291. package/hooks/useOpenDialog.json +43 -0
  292. package/hooks/usePagination.json +49 -0
  293. package/hooks/usePersist.json +61 -0
  294. package/hooks/usePoll.json +43 -0
  295. package/hooks/useRoutePlus.json +36 -0
  296. package/hooks/useRouterPlus.json +36 -0
  297. package/hooks/useSearch.json +56 -0
  298. package/hooks/useShell.json +49 -0
  299. package/hooks/useSkip.json +43 -0
  300. package/hooks/useStorageIdEntity.json +67 -0
  301. package/hooks/useStore.json +36 -0
  302. package/hooks/useTable.json +49 -0
  303. package/hooks/useTableGroup.json +43 -0
  304. package/hooks/useTableSort.json +43 -0
  305. package/hooks/useUser.json +36 -0
  306. package/hooks/useValidForm.json +43 -0
  307. package/package.json +12 -6
  308. package/dist/chunk-HDV7ETXE.mjs +0 -1055
  309. package/dist/chunk-HPAUCD5I.js +0 -156
  310. package/dist/chunk-L4DS3EXI.mjs +0 -133
  311. package/dist/chunk-YWY3D4J7.js +0 -1082
@@ -0,0 +1,260 @@
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
+ "vueTemplate": "<template #first>...</template>",
129
+ "usageExample": "<Split><template #first>左侧内容</template><template #last>右侧内容</template></Split>"
130
+ },
131
+ {
132
+ "name": "last",
133
+ "description": "第二个面板内容。",
134
+ "vueTemplate": "<template #last>...</template>",
135
+ "usageExample": "<Split><template #first>左侧内容</template><template #last>右侧内容</template></Split>"
136
+ },
137
+ {
138
+ "name": "drag",
139
+ "description": "自定义拖拽分割条内容。",
140
+ "vueTemplate": "<template #drag>...</template>",
141
+ "usageExample": "<Split><template #drag><div class=\"custom-handle\" /></template></Split>"
142
+ }
143
+ ],
144
+ "methods": [],
145
+ "typeDefinitions": [
146
+ {
147
+ "name": "Mode",
148
+ "definition": "type Mode = 'horizontal' | 'vertical'",
149
+ "description": "Split 的布局方向"
150
+ }
151
+ ],
152
+ "examples": [
153
+ {
154
+ "id": "split_basic",
155
+ "title": "左右分栏",
156
+ "description": "基础的横向可拖拽布局。",
157
+ "difficulty": "easy",
158
+ "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>",
159
+ "tags": [
160
+ "basic",
161
+ "horizontal"
162
+ ],
163
+ "usedProps": [
164
+ "firstSize"
165
+ ],
166
+ "usedEvents": [],
167
+ "usedSlots": [
168
+ "first",
169
+ "last"
170
+ ],
171
+ "usedMethods": [],
172
+ "scenario": "后台页面侧边栏和主内容区"
173
+ },
174
+ {
175
+ "id": "split_vertical",
176
+ "title": "上下分栏",
177
+ "description": "适合日志面板或上下编辑区。",
178
+ "difficulty": "easy",
179
+ "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>",
180
+ "tags": [
181
+ "vertical",
182
+ "layout"
183
+ ],
184
+ "usedProps": [
185
+ "mode",
186
+ "firstSize"
187
+ ],
188
+ "usedEvents": [],
189
+ "usedSlots": [
190
+ "first",
191
+ "last"
192
+ ],
193
+ "usedMethods": [],
194
+ "scenario": "上下布局的编辑器和预览区"
195
+ },
196
+ {
197
+ "id": "split_with_range",
198
+ "title": "拖拽范围限制",
199
+ "description": "限制面板最小和最大尺寸。",
200
+ "difficulty": "medium",
201
+ "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>",
202
+ "tags": [
203
+ "range",
204
+ "resize"
205
+ ],
206
+ "usedProps": [
207
+ "firstSize",
208
+ "min",
209
+ "max"
210
+ ],
211
+ "usedEvents": [],
212
+ "usedSlots": [
213
+ "first",
214
+ "last"
215
+ ],
216
+ "usedMethods": [],
217
+ "scenario": "限制侧栏宽度的后台布局"
218
+ }
219
+ ],
220
+ "commonMistakes": [
221
+ {
222
+ "id": "split_missing_named_slots",
223
+ "description": "未使用 first 和 last 命名插槽",
224
+ "wrongCode": "<Split>\n <div>左侧</div>\n <div>右侧</div>\n</Split>",
225
+ "correctCode": "<Split>\n <template #first><div>左侧</div></template>\n <template #last><div>右侧</div></template>\n</Split>",
226
+ "explanation": "Split 使用命名插槽组织两个面板,直接写默认子节点不会正确分配到两侧区域。",
227
+ "relatedProps": []
228
+ },
229
+ {
230
+ "id": "split_both_sizes_fixed",
231
+ "description": "同时固定 firstSize 和 lastSize,导致拖拽空间不足",
232
+ "wrongCode": "<Split firstSize=\"300px\" lastSize=\"500px\">...</Split>",
233
+ "correctCode": "<Split firstSize=\"300px\" lastSize=\"auto\">...</Split>",
234
+ "explanation": "实际使用中通常固定一侧,另一侧使用 auto,让拖拽有可调整空间。",
235
+ "relatedProps": [
236
+ "firstSize",
237
+ "lastSize"
238
+ ]
239
+ }
240
+ ],
241
+ "searchKeywords": [
242
+ "split",
243
+ "分栏",
244
+ "拖拽布局",
245
+ "左右布局",
246
+ "上下布局",
247
+ "resize"
248
+ ],
249
+ "useCases": [
250
+ "侧边栏加主内容区",
251
+ "编辑器与预览区",
252
+ "日志面板",
253
+ "控制台双栏布局"
254
+ ],
255
+ "relatedComponents": [
256
+ "Layout",
257
+ "Grid",
258
+ "Card"
259
+ ]
260
+ }
@@ -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"
@@ -351,7 +351,14 @@
351
351
  "表单布尔输入",
352
352
  "偏好设置"
353
353
  ],
354
+ "typeDefinitions": [
355
+ {
356
+ "name": "SwitchValue",
357
+ "definition": "type SwitchValue = boolean | string | number",
358
+ "description": "开关绑定值类型,可使用布尔值或自定义 trueValue / falseValue。"
359
+ }
360
+ ],
354
361
  "relatedComponents": [
355
362
  "Checkbox"
356
363
  ]
357
- }
364
+ }
@@ -1051,8 +1051,25 @@
1051
1051
  "可排序的数据分析表格",
1052
1052
  "带操作列的管理表格"
1053
1053
  ],
1054
+ "typeDefinitions": [
1055
+ {
1056
+ "name": "TableRowKey",
1057
+ "definition": "type TableRowKey = string | number",
1058
+ "description": "表格行唯一标识类型,用于选择、展开和高亮等状态管理。"
1059
+ },
1060
+ {
1061
+ "name": "TableSortValue",
1062
+ "definition": "type TableSortValue = {\\n key: string\\n order: 'asc' | 'desc'\\n}",
1063
+ "description": "表格排序状态结构,描述当前排序字段和排序方向。"
1064
+ },
1065
+ {
1066
+ "name": "TableGroupValue",
1067
+ "definition": "type TableGroupValue = {\\n key: string\\n title?: string\\n}",
1068
+ "description": "表格分组配置结构,用于按指定字段对数据进行分组展示。"
1069
+ }
1070
+ ],
1054
1071
  "relatedComponents": [
1055
1072
  "TableColumn",
1056
1073
  "Pagination"
1057
1074
  ]
1058
- }
1075
+ }
@@ -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
  }
@@ -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"