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,109 @@
1
+ {
2
+ "id": "actions",
3
+ "name": "Actions",
4
+ "displayName": "操作按钮集",
5
+ "category": "feedback",
6
+ "description": "用于组织主操作和次操作的按钮集合组件,常放在表格操作列、详情页头部和工具栏右侧,避免页面出现过多平铺按钮。",
7
+ "importStatement": "import { Actions } from '@ksyun-internal/versatile';",
8
+ "props": [
9
+ {
10
+ "name": "primaries",
11
+ "description": "一级操作按钮列表",
12
+ "type": {
13
+ "raw": "ActionConfig[]",
14
+ "kind": "array"
15
+ },
16
+ "required": false,
17
+ "default": "[]"
18
+ },
19
+ {
20
+ "name": "secondaries",
21
+ "description": "二级操作按钮列表,通常展示在“更多”菜单中",
22
+ "type": {
23
+ "raw": "ActionConfig[]",
24
+ "kind": "array"
25
+ },
26
+ "required": false,
27
+ "default": "[]"
28
+ }
29
+ ],
30
+ "events": [],
31
+ "slots": [
32
+ {
33
+ "name": "btnText",
34
+ "description": "自定义按钮文案渲染",
35
+ "bindingType": "object",
36
+ "slotProps": [
37
+ {
38
+ "name": "action",
39
+ "type": "ActionConfig",
40
+ "description": "当前操作项配置对象"
41
+ }
42
+ ],
43
+ "vueTemplate": "<template #btnText=\"{ action }\">...</template>"
44
+ }
45
+ ],
46
+ "methods": [],
47
+ "examples": [
48
+ {
49
+ "id": "actions_table_row",
50
+ "title": "表格操作列中的主次操作",
51
+ "description": "将高频操作直接展示,低频操作折叠到更多菜单中。",
52
+ "difficulty": "easy",
53
+ "code": "<script setup lang=\"ts\">\nimport { Actions } from '@ksyun-internal/versatile';\n\nconst primaries = [\n { text: '重启', type: 'primary', onClick: () => console.log('restart') },\n];\nconst secondaries = [\n { text: '续费', onClick: () => console.log('renew') },\n { text: '释放', danger: true, onClick: () => console.log('delete') },\n];\n</script>\n\n<template>\n <Actions :primaries=\"primaries\" :secondaries=\"secondaries\" />\n</template>",
54
+ "tags": [
55
+ "actions",
56
+ "table"
57
+ ],
58
+ "usedProps": [
59
+ "primaries",
60
+ "secondaries"
61
+ ],
62
+ "usedEvents": [],
63
+ "usedMethods": [],
64
+ "scenario": "在列表行内同时承载高频与低频操作,减少操作列拥挤。"
65
+ },
66
+ {
67
+ "id": "actions_slot_btn_text",
68
+ "title": "自定义操作按钮文案",
69
+ "description": "使用 btnText 插槽为危险操作补充风险提示。",
70
+ "difficulty": "medium",
71
+ "code": "<script setup lang=\"ts\">\nimport { Actions } from '@ksyun-internal/versatile';\n\nconst primaries = [{ text: '启动', onClick: () => console.log('start') }];\nconst secondaries = [{ text: '释放', danger: true, onClick: () => console.log('release') }];\n</script>\n\n<template>\n <Actions :primaries=\"primaries\" :secondaries=\"secondaries\">\n <template #btnText=\"{ action }\">\n {{ action.danger ? action.text + '(高风险)' : action.text }}\n </template>\n </Actions>\n</template>",
72
+ "tags": [
73
+ "actions",
74
+ "slot"
75
+ ],
76
+ "usedProps": [
77
+ "primaries",
78
+ "secondaries"
79
+ ],
80
+ "usedEvents": [],
81
+ "usedMethods": [],
82
+ "scenario": "在操作区给危险动作补充更明确的文案提示。"
83
+ }
84
+ ],
85
+ "searchKeywords": [
86
+ "actions",
87
+ "action buttons",
88
+ "操作按钮集",
89
+ "更多操作",
90
+ "主次操作",
91
+ "操作列按钮"
92
+ ],
93
+ "useCases": [
94
+ "表格操作列",
95
+ "页面头部操作区",
96
+ "主次操作分层展示"
97
+ ],
98
+ "typeDefinitions": [
99
+ {
100
+ "name": "ActionItem",
101
+ "definition": "interface ActionItem { label: string; key?: string; disabled?: boolean; type?: string }",
102
+ "description": "操作项配置类型,用于描述操作按钮文案、唯一标识和禁用状态。"
103
+ }
104
+ ],
105
+ "relatedComponents": [
106
+ "ButtonLink",
107
+ "IconTooltip"
108
+ ]
109
+ }
@@ -0,0 +1,128 @@
1
+ {
2
+ "id": "advancedset",
3
+ "name": "AdvancedSet",
4
+ "displayName": "高级设置开关",
5
+ "category": "form",
6
+ "description": "用于折叠和展开高级配置区域的业务组件,适合购买页、创建页中把非高频参数收进“高级设置”。",
7
+ "importStatement": "import { AdvancedSet } from '@ksyun-internal/versatile';",
8
+ "props": [
9
+ {
10
+ "name": "modelValue",
11
+ "description": "是否展开高级设置",
12
+ "type": {
13
+ "raw": "boolean",
14
+ "kind": "boolean"
15
+ },
16
+ "required": false
17
+ },
18
+ {
19
+ "name": "label",
20
+ "description": "标题文案",
21
+ "type": {
22
+ "raw": "string",
23
+ "kind": "string"
24
+ },
25
+ "required": false
26
+ },
27
+ {
28
+ "name": "appendTip",
29
+ "description": "追加提示文案",
30
+ "type": {
31
+ "raw": "string",
32
+ "kind": "string"
33
+ },
34
+ "required": false
35
+ }
36
+ ],
37
+ "events": [
38
+ {
39
+ "name": "update:modelValue",
40
+ "vueEventName": "@update:modelValue",
41
+ "description": "用户展开或收起高级设置区域时触发,可用于同步表单状态或埋点。",
42
+ "params": [
43
+ {
44
+ "name": "value",
45
+ "type": "boolean",
46
+ "description": "当前高级设置区域的展开状态。",
47
+ "optional": true
48
+ }
49
+ ]
50
+ }
51
+ ],
52
+ "slots": [
53
+ {
54
+ "name": "default",
55
+ "description": "高级设置内容区域",
56
+ "bindingType": "none",
57
+ "vueTemplate": "<AdvancedSet>...</AdvancedSet>"
58
+ }
59
+ ],
60
+ "methods": [],
61
+ "examples": [
62
+ {
63
+ "id": "advancedset_purchase",
64
+ "title": "购买页中的高级设置折叠区",
65
+ "description": "默认收起高级参数,只在用户主动展开后展示额外配置。",
66
+ "difficulty": "easy",
67
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { AdvancedSet, FormItemInput, FormItemSpinner } from '@ksyun-internal/versatile';\n\nconst advanced = ref(false);\nconst hostname = ref('web-01');\nconst bandwidth = ref(20);\n</script>\n\n<template>\n <AdvancedSet v-model=\"advanced\" label=\"高级设置\" append-tip=\"修改后将影响实例网络配置\">\n <FormItemInput v-model=\"hostname\" label=\"主机名\" />\n <FormItemSpinner v-model=\"bandwidth\" label=\"带宽峰值\" unit=\"Mbps\" />\n </AdvancedSet>\n</template>",
68
+ "tags": [
69
+ "advanced",
70
+ "form"
71
+ ],
72
+ "usedProps": [
73
+ "modelValue",
74
+ "label",
75
+ "appendTip"
76
+ ],
77
+ "usedEvents": [
78
+ "update:modelValue"
79
+ ],
80
+ "usedMethods": [],
81
+ "scenario": "创建实例时把网络、命名等低频参数收纳到高级设置区。"
82
+ },
83
+ {
84
+ "id": "advancedset_open_default",
85
+ "title": "默认展开高级设置",
86
+ "description": "在编辑已有配置时直接展开高级区域,减少额外点击。",
87
+ "difficulty": "medium",
88
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { AdvancedSet, FormItemSwitch } from '@ksyun-internal/versatile';\n\nconst advanced = ref(true);\nconst enableMonitor = ref(false);\n</script>\n\n<template>\n <AdvancedSet v-model=\"advanced\" label=\"高级设置\" append-tip=\"修改后即时生效\">\n <FormItemSwitch v-model=\"enableMonitor\" label=\"开启监控增强\" />\n </AdvancedSet>\n</template>",
89
+ "tags": [
90
+ "advanced",
91
+ "toggle"
92
+ ],
93
+ "usedProps": [
94
+ "modelValue",
95
+ "label",
96
+ "appendTip"
97
+ ],
98
+ "usedEvents": [
99
+ "update:modelValue"
100
+ ],
101
+ "usedMethods": [],
102
+ "scenario": "在编辑页面中默认展开高级参数,方便用户快速核对设置。"
103
+ }
104
+ ],
105
+ "searchKeywords": [
106
+ "advanced set",
107
+ "advanced options",
108
+ "高级设置",
109
+ "折叠配置区",
110
+ "高级参数"
111
+ ],
112
+ "useCases": [
113
+ "高级参数开关",
114
+ "可折叠配置区",
115
+ "编辑页默认展开高级设置"
116
+ ],
117
+ "typeDefinitions": [
118
+ {
119
+ "name": "AdvancedSetModelValue",
120
+ "definition": "type AdvancedSetModelValue = boolean",
121
+ "description": "高级设置展开状态类型,`true` 表示默认展开高级配置区域。"
122
+ }
123
+ ],
124
+ "relatedComponents": [
125
+ "FormItemInput",
126
+ "FormItemSpinner"
127
+ ]
128
+ }
@@ -81,6 +81,7 @@
81
81
  {
82
82
  "name": "default",
83
83
  "description": "需要被固定的元素",
84
+ "bindingType": "none",
84
85
  "vueTemplate": "#default",
85
86
  "usageExample": "<Affix><Button>Fixed Button</Button></Affix>"
86
87
  }
@@ -174,5 +175,12 @@
174
175
  "底部操作栏固定",
175
176
  "悬浮按钮"
176
177
  ],
178
+ "typeDefinitions": [
179
+ {
180
+ "name": "AffixOffset",
181
+ "definition": "type AffixOffset = string | number",
182
+ "description": "Affix 偏移量类型,可传数字或带单位字符串。"
183
+ }
184
+ ],
177
185
  "relatedComponents": []
178
186
  }
@@ -0,0 +1,172 @@
1
+ {
2
+ "id": "aksk",
3
+ "name": "AKSK",
4
+ "displayName": "AK/SK 配置",
5
+ "category": "form",
6
+ "description": "用于录入 AccessKey / SecretKey 并控制是否沿用原始凭证的业务表单组件,常见于任务同步、数据接入和跨账号授权场景。",
7
+ "importStatement": "import { AKSK } from '@ksyun-internal/versatile';",
8
+ "props": [
9
+ {
10
+ "name": "ak",
11
+ "description": "当前 AccessKey",
12
+ "type": {
13
+ "raw": "string | null",
14
+ "kind": "union"
15
+ },
16
+ "required": false
17
+ },
18
+ {
19
+ "name": "sk",
20
+ "description": "当前 SecretKey",
21
+ "type": {
22
+ "raw": "string | null",
23
+ "kind": "union"
24
+ },
25
+ "required": false
26
+ },
27
+ {
28
+ "name": "isUseOriginal",
29
+ "description": "是否使用原始 AK/SK",
30
+ "type": {
31
+ "raw": "boolean | null",
32
+ "kind": "union"
33
+ },
34
+ "required": false,
35
+ "default": "false"
36
+ },
37
+ {
38
+ "name": "isShowUseOriginal",
39
+ "description": "是否展示“使用原始凭证”选项",
40
+ "type": {
41
+ "raw": "boolean | null",
42
+ "kind": "union"
43
+ },
44
+ "required": false,
45
+ "default": "false"
46
+ },
47
+ {
48
+ "name": "inDataSet",
49
+ "description": "是否处于数据集场景",
50
+ "type": {
51
+ "raw": "boolean | null",
52
+ "kind": "union"
53
+ },
54
+ "required": false
55
+ }
56
+ ],
57
+ "events": [
58
+ {
59
+ "name": "update:ak",
60
+ "vueEventName": "@update:ak",
61
+ "description": "AccessKey 变更时触发,便于和父级表单状态保持同步。",
62
+ "params": [
63
+ {
64
+ "name": "value",
65
+ "type": "string | null",
66
+ "description": "当前输入的 AccessKey 值。",
67
+ "optional": true
68
+ }
69
+ ]
70
+ },
71
+ {
72
+ "name": "update:sk",
73
+ "vueEventName": "@update:sk",
74
+ "description": "SecretKey 变更时触发,通常用于同步加密存储前的表单值。",
75
+ "params": [
76
+ {
77
+ "name": "value",
78
+ "type": "string | null",
79
+ "description": "当前输入的 SecretKey 值。",
80
+ "optional": true
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ "name": "update:isUseOriginal",
86
+ "vueEventName": "@update:isUseOriginal",
87
+ "description": "“使用原始凭证”开关变化时触发,可据此切换输入项显隐。",
88
+ "params": [
89
+ {
90
+ "name": "value",
91
+ "type": "boolean | null",
92
+ "description": "当前是否使用原始凭证。",
93
+ "optional": true
94
+ }
95
+ ]
96
+ }
97
+ ],
98
+ "slots": [],
99
+ "methods": [],
100
+ "examples": [
101
+ {
102
+ "id": "aksk_credentials",
103
+ "title": "任务配置中的 AK/SK 凭证录入",
104
+ "description": "通过多个 v-model 同步 AccessKey、SecretKey 和原始凭证开关。",
105
+ "difficulty": "easy",
106
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { AKSK } from '@ksyun-internal/versatile';\n\nconst ak = ref('AKLTxxxxxxxx');\nconst sk = ref('********');\nconst isUseOriginal = ref(false);\n</script>\n\n<template>\n <AKSK\n v-model:ak=\"ak\"\n v-model:sk=\"sk\"\n v-model:isUseOriginal=\"isUseOriginal\"\n :is-show-use-original=\"true\"\n />\n</template>",
107
+ "tags": [
108
+ "credentials",
109
+ "security"
110
+ ],
111
+ "usedProps": [
112
+ "ak",
113
+ "sk",
114
+ "isUseOriginal",
115
+ "isShowUseOriginal"
116
+ ],
117
+ "usedEvents": [
118
+ "update:ak",
119
+ "update:sk",
120
+ "update:isUseOriginal"
121
+ ],
122
+ "usedMethods": [],
123
+ "scenario": "录入任务访问外部对象存储或服务所需的访问凭证。"
124
+ },
125
+ {
126
+ "id": "aksk_toggle_original",
127
+ "title": "切换是否沿用原始凭证",
128
+ "description": "结合 update:isUseOriginal 在不同凭证来源之间切换。",
129
+ "difficulty": "medium",
130
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { AKSK } from '@ksyun-internal/versatile';\n\nconst ak = ref('AKLTxxxx');\nconst sk = ref('******');\nconst isUseOriginal = ref(true);\nconst handleToggle = (value: boolean) => {\n console.log('use original credentials:', value);\n};\n</script>\n\n<template>\n <AKSK\n v-model:ak=\"ak\"\n v-model:sk=\"sk\"\n v-model:isUseOriginal=\"isUseOriginal\"\n :is-show-use-original=\"true\"\n :in-data-set=\"true\"\n @update:isUseOriginal=\"handleToggle\"\n />\n</template>",
131
+ "tags": [
132
+ "credentials",
133
+ "toggle"
134
+ ],
135
+ "usedProps": [
136
+ "ak",
137
+ "sk",
138
+ "isUseOriginal",
139
+ "isShowUseOriginal",
140
+ "inDataSet"
141
+ ],
142
+ "usedEvents": [
143
+ "update:isUseOriginal"
144
+ ],
145
+ "usedMethods": [],
146
+ "scenario": "在数据同步任务中切换使用系统默认凭证或自定义凭证。"
147
+ }
148
+ ],
149
+ "searchKeywords": [
150
+ "aksk",
151
+ "access key",
152
+ "secret key",
153
+ "凭证配置",
154
+ "ak sk",
155
+ "云服务凭证"
156
+ ],
157
+ "useCases": [
158
+ "云服务凭证录入",
159
+ "数据集或任务凭证配置",
160
+ "切换原始凭证或自定义凭证"
161
+ ],
162
+ "typeDefinitions": [
163
+ {
164
+ "name": "AKSKMode",
165
+ "definition": "type AKSKMode = 'original' | 'custom'",
166
+ "description": "凭证模式枚举,用于区分沿用原始凭证还是填写自定义 AK/SK。"
167
+ }
168
+ ],
169
+ "relatedComponents": [
170
+ "FormItemInput"
171
+ ]
172
+ }
@@ -0,0 +1,220 @@
1
+ {
2
+ "id": "anchor",
3
+ "name": "Anchor",
4
+ "displayName": "锚点导航",
5
+ "category": "navigation",
6
+ "description": "锚点导航组件,用于监听页面滚动位置并高亮当前锚点。支持自定义滚动容器、偏移量、横向或纵向模式,通常与 AnchorLink 配合使用。",
7
+ "importStatement": "import { Anchor, AnchorLink } from '@king-design/vue';",
8
+ "props": [
9
+ {
10
+ "name": "value",
11
+ "description": "当前激活的锚点 href,可用 v-model 双向绑定",
12
+ "type": {
13
+ "raw": "string",
14
+ "kind": "string"
15
+ },
16
+ "required": false,
17
+ "default": "undefined",
18
+ "usageExample": "<Anchor v-model=\"currentLink\"></Anchor>"
19
+ },
20
+ {
21
+ "name": "offset",
22
+ "description": "滚动定位偏移量,适合页面存在固定头部时使用",
23
+ "type": {
24
+ "raw": "number",
25
+ "kind": "number"
26
+ },
27
+ "required": false,
28
+ "default": "0",
29
+ "usageExample": "<Anchor :offset=\"64\"></Anchor>"
30
+ },
31
+ {
32
+ "name": "container",
33
+ "description": "监听滚动的容器,可传选择器或 HTMLElement",
34
+ "type": {
35
+ "raw": "string | HTMLElement",
36
+ "kind": "union"
37
+ },
38
+ "required": false,
39
+ "default": "window",
40
+ "usageExample": "<Anchor container=\"#scroll-container\"></Anchor>"
41
+ },
42
+ {
43
+ "name": "threshold",
44
+ "description": "激活锚点时的阈值范围",
45
+ "type": {
46
+ "raw": "number",
47
+ "kind": "number"
48
+ },
49
+ "required": false,
50
+ "default": "0",
51
+ "usageExample": "<Anchor :threshold=\"20\"></Anchor>"
52
+ },
53
+ {
54
+ "name": "vertical",
55
+ "description": "是否使用纵向模式,默认开启;传 false 时为横向模式",
56
+ "type": {
57
+ "raw": "boolean",
58
+ "kind": "boolean"
59
+ },
60
+ "required": false,
61
+ "default": "true",
62
+ "usageExample": "<Anchor :vertical=\"false\"></Anchor>"
63
+ },
64
+ {
65
+ "name": "size",
66
+ "description": "导航尺寸",
67
+ "type": {
68
+ "raw": "Sizes",
69
+ "kind": "custom"
70
+ },
71
+ "required": false,
72
+ "default": "\"default\"",
73
+ "usageExample": "<Anchor size=\"small\"></Anchor>"
74
+ },
75
+ {
76
+ "name": "duration",
77
+ "description": "点击锚点后的滚动动画时长,单位 ms",
78
+ "type": {
79
+ "raw": "number",
80
+ "kind": "number"
81
+ },
82
+ "required": false,
83
+ "default": "300",
84
+ "usageExample": "<Anchor :duration=\"500\"></Anchor>"
85
+ }
86
+ ],
87
+ "events": [
88
+ {
89
+ "name": "change",
90
+ "vueEventName": "@change",
91
+ "description": "当前激活锚点变化时触发",
92
+ "payload": [
93
+ {
94
+ "name": "href",
95
+ "type": "string",
96
+ "description": "当前激活锚点 href"
97
+ }
98
+ ],
99
+ "usageExample": "<Anchor @change=\"handleChange\"></Anchor>",
100
+ "handlerExample": "const handleChange = (href: string) => {\n console.log('当前锚点', href);\n};"
101
+ },
102
+ {
103
+ "name": "click",
104
+ "vueEventName": "@click",
105
+ "description": "点击锚点链接时触发",
106
+ "payload": [
107
+ {
108
+ "name": "e",
109
+ "type": "MouseEvent",
110
+ "description": "原生鼠标事件"
111
+ },
112
+ {
113
+ "name": "link",
114
+ "type": "AnchorLinkProps",
115
+ "description": "被点击的锚点配置"
116
+ }
117
+ ],
118
+ "usageExample": "<Anchor @click=\"handleClick\"></Anchor>",
119
+ "handlerExample": "const handleClick = (e: MouseEvent, link: { href?: string }) => {\n console.log('点击了锚点', link.href);\n};"
120
+ }
121
+ ],
122
+ "slots": [
123
+ {
124
+ "name": "default",
125
+ "description": "锚点导航内容,通常放置一个或多个 AnchorLink",
126
+ "bindingType": "none",
127
+ "vueTemplate": "#default",
128
+ "usageExample": "<Anchor>\n <AnchorLink href=\"section1\" title=\"Section 1\" />\n</Anchor>"
129
+ }
130
+ ],
131
+ "methods": [
132
+ {
133
+ "name": "getLinks",
134
+ "description": "获取当前 Anchor 中注册的所有 href",
135
+ "params": [],
136
+ "returnType": "string[]",
137
+ "usageExample": "anchorRef.value?.getLinks();"
138
+ },
139
+ {
140
+ "name": "getTargetElement",
141
+ "description": "根据 href 查找对应的目标元素",
142
+ "params": [
143
+ {
144
+ "name": "href",
145
+ "type": "string",
146
+ "description": "目标锚点 href"
147
+ }
148
+ ],
149
+ "returnType": "HTMLElement | null",
150
+ "usageExample": "anchorRef.value?.getTargetElement('section2');"
151
+ }
152
+ ],
153
+ "examples": [
154
+ {
155
+ "id": "anchor_basic",
156
+ "title": "基础用法",
157
+ "description": "在滚动容器旁边展示纵向锚点导航。",
158
+ "difficulty": "easy",
159
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { Anchor, AnchorLink } from '@king-design/vue';\n\nconst current = ref('section1');\n</script>\n<template>\n <div style=\"display: flex; gap: 20px; align-items: flex-start;\">\n <div id=\"scroll-container\" style=\"height: 240px; overflow-y: auto; width: 360px; border: 1px solid #eee; padding: 12px;\">\n <section id=\"section1\" style=\"height: 180px;\">第一部分</section>\n <section id=\"section2\" style=\"height: 180px;\">第二部分</section>\n <section id=\"section3\" style=\"height: 180px;\">第三部分</section>\n </div>\n <Anchor v-model=\"current\" container=\"#scroll-container\">\n <AnchorLink href=\"section1\" title=\"第一部分\" />\n <AnchorLink href=\"section2\" title=\"第二部分\" />\n <AnchorLink href=\"section3\" title=\"第三部分\" />\n </Anchor>\n </div>\n</template>",
160
+ "tags": [
161
+ "basic",
162
+ "container"
163
+ ],
164
+ "usedProps": [
165
+ "value",
166
+ "container"
167
+ ],
168
+ "usedEvents": [],
169
+ "usedSlots": [
170
+ "default"
171
+ ],
172
+ "usedMethods": [],
173
+ "scenario": "为详情页长内容区域提供目录导航。"
174
+ },
175
+ {
176
+ "id": "anchor_horizontal",
177
+ "title": "横向锚点",
178
+ "description": "将 Anchor 作为横向导航栏使用。",
179
+ "difficulty": "medium",
180
+ "code": "<script setup lang=\"ts\">\nimport { Anchor, AnchorLink } from '@king-design/vue';\n</script>\n<template>\n <Anchor :vertical=\"false\" :offset=\"64\">\n <AnchorLink href=\"overview\" title=\"概览\" />\n <AnchorLink href=\"spec\" title=\"规格\" />\n <AnchorLink href=\"billing\" title=\"计费\" />\n </Anchor>\n</template>",
181
+ "tags": [
182
+ "horizontal",
183
+ "offset"
184
+ ],
185
+ "usedProps": [
186
+ "vertical",
187
+ "offset"
188
+ ],
189
+ "usedEvents": [],
190
+ "usedSlots": [
191
+ "default"
192
+ ],
193
+ "usedMethods": [],
194
+ "scenario": "在页面头部展示横向章节切换导航。"
195
+ }
196
+ ],
197
+ "searchKeywords": [
198
+ "anchor",
199
+ "锚点",
200
+ "目录导航",
201
+ "滚动定位",
202
+ "AnchorLink"
203
+ ],
204
+ "useCases": [
205
+ "长页面章节导航",
206
+ "文档目录定位",
207
+ "详情页内容分区跳转"
208
+ ],
209
+ "typeDefinitions": [
210
+ {
211
+ "name": "AnchorContainer",
212
+ "definition": "type AnchorContainer = string | HTMLElement",
213
+ "description": "锚点导航支持的滚动容器类型。"
214
+ }
215
+ ],
216
+ "relatedComponents": [
217
+ "AnchorLink",
218
+ "Affix"
219
+ ]
220
+ }