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
@@ -1,416 +1,513 @@
1
1
  {
2
- "id": "tooltip",
3
- "name": "Tooltip",
4
- "displayName": "提示弹层",
5
- "category": "feedback",
6
- "description": "提示弹层组件,用于在鼠标悬停或点击时显示额外的提示信息。支持多种触发方式、位置、主题等配置。",
7
- "importStatement": "import { Tooltip } from '@king-design/vue';",
8
- "props": [
9
- {
10
- "name": "content",
11
- "description": "提示的内容",
12
- "type": {
13
- "raw": "string | VNode",
14
- "kind": "union"
15
- },
16
- "required": false,
17
- "default": "undefined",
18
- "usageExample": "<Tooltip content=\"提示内容\"></Tooltip>"
19
- },
20
- {
21
- "name": "trigger",
22
- "description": "触发方式",
23
- "type": {
24
- "raw": "\"hover\" | \"click\" | \"focus\"",
25
- "kind": "union",
26
- "unionTypes": [
27
- "hover",
28
- "click",
29
- "focus"
30
- ]
31
- },
32
- "required": false,
33
- "default": "\"hover\"",
34
- "allowedValues": [
35
- {
36
- "value": "hover",
37
- "label": "悬停触发",
38
- "isDefault": true
2
+ "id": "tooltip",
3
+ "name": "Tooltip",
4
+ "displayName": "提示弹层",
5
+ "category": "feedback",
6
+ "description": "提示弹层组件,用于在鼠标悬停或点击时显示额外的提示信息。支持多种触发方式、位置、主题等配置。",
7
+ "importStatement": "import { Tooltip } from '@king-design/vue';",
8
+ "props": [
9
+ {
10
+ "name": "content",
11
+ "description": "提示的内容",
12
+ "type": {
13
+ "raw": "string | VNode",
14
+ "kind": "union"
15
+ },
16
+ "required": false,
17
+ "default": "undefined",
18
+ "usageExample": "<Tooltip content=\"提示内容\">"
19
+ },
20
+ {
21
+ "name": "trigger",
22
+ "description": "触发方式",
23
+ "type": {
24
+ "raw": "\"hover\" | \"click\" | \"focus\"",
25
+ "kind": "union",
26
+ "unionTypes": [
27
+ "hover",
28
+ "click",
29
+ "focus"
30
+ ]
31
+ },
32
+ "required": false,
33
+ "default": "\"hover\"",
34
+ "allowedValues": [
35
+ {
36
+ "value": "hover",
37
+ "label": "悬停触发",
38
+ "isDefault": true
39
+ },
40
+ {
41
+ "value": "click",
42
+ "label": "点击触发"
43
+ },
44
+ {
45
+ "value": "focus",
46
+ "label": "聚焦触发"
47
+ }
48
+ ],
49
+ "usageExample": "<Tooltip trigger=\"click\">"
50
+ },
51
+ {
52
+ "name": "value",
53
+ "description": "是否展示弹层,可用 v-model 双向绑定",
54
+ "type": {
55
+ "raw": "boolean",
56
+ "kind": "boolean"
57
+ },
58
+ "required": false,
59
+ "default": "false",
60
+ "usageExample": "<Tooltip v-model=\"visible\">"
61
+ },
62
+ {
63
+ "name": "disabled",
64
+ "description": "是否禁用提示",
65
+ "type": {
66
+ "raw": "boolean",
67
+ "kind": "boolean"
68
+ },
69
+ "required": false,
70
+ "default": "false",
71
+ "usageExample": "<Tooltip disabled>"
72
+ },
73
+ {
74
+ "name": "position",
75
+ "description": "弹层弹出的位置,默认在触发器正上方",
76
+ "type": {
77
+ "raw": "Position | \"left\" | \"bottom\" | \"right\" | \"top\"",
78
+ "kind": "union",
79
+ "unionTypes": [
80
+ "left",
81
+ "bottom",
82
+ "right",
83
+ "top"
84
+ ]
85
+ },
86
+ "required": false,
87
+ "default": "{my: 'center bottom-10', at: 'center top', collision: 'flipfit'}",
88
+ "allowedValues": [
89
+ {
90
+ "value": "top",
91
+ "label": "上方显示",
92
+ "isDefault": true
93
+ },
94
+ {
95
+ "value": "bottom",
96
+ "label": "下方显示"
97
+ },
98
+ {
99
+ "value": "left",
100
+ "label": "左侧显示"
101
+ },
102
+ {
103
+ "value": "right",
104
+ "label": "右侧显示"
105
+ }
106
+ ],
107
+ "usageExample": "<Tooltip position=\"bottom\">"
108
+ },
109
+ {
110
+ "name": "collison",
111
+ "description": "碰撞检测策略,控制弹层超出边界时的处理方式。注意源码字段名拼写为 collison。",
112
+ "type": {
113
+ "raw": "Collision | [Collision, Collision]",
114
+ "kind": "union"
115
+ },
116
+ "required": false,
117
+ "default": "undefined",
118
+ "usageExample": "<Tooltip :collison=\"'flipfit'\">"
119
+ },
120
+ {
121
+ "name": "theme",
122
+ "description": "主题",
123
+ "type": {
124
+ "raw": "\"dark\" | \"light\"",
125
+ "kind": "union",
126
+ "unionTypes": [
127
+ "dark",
128
+ "light"
129
+ ]
130
+ },
131
+ "required": false,
132
+ "default": "\"dark\"",
133
+ "allowedValues": [
134
+ {
135
+ "value": "dark",
136
+ "label": "深色主题",
137
+ "isDefault": true
138
+ },
139
+ {
140
+ "value": "light",
141
+ "label": "浅色主题"
142
+ }
143
+ ],
144
+ "usageExample": "<Tooltip theme=\"light\">"
145
+ },
146
+ {
147
+ "name": "showArrow",
148
+ "description": "弹层是否展示箭头",
149
+ "type": {
150
+ "raw": "boolean",
151
+ "kind": "boolean"
152
+ },
153
+ "required": false,
154
+ "default": "true",
155
+ "usageExample": "<Tooltip :showArrow=\"false\">"
156
+ },
157
+ {
158
+ "name": "hoverable",
159
+ "description": "对于悬浮触发方式,提示弹层是否在鼠标悬浮时仍然展示",
160
+ "type": {
161
+ "raw": "boolean",
162
+ "kind": "boolean"
163
+ },
164
+ "required": false,
165
+ "default": "false",
166
+ "usageExample": "<Tooltip hoverable>"
167
+ },
168
+ {
169
+ "name": "always",
170
+ "description": "是否一直保持当前展示/隐藏状态",
171
+ "type": {
172
+ "raw": "boolean",
173
+ "kind": "boolean"
174
+ },
175
+ "required": false,
176
+ "default": "false",
177
+ "usageExample": "<Tooltip always>"
178
+ },
179
+ {
180
+ "name": "size",
181
+ "description": "弹层尺寸",
182
+ "type": {
183
+ "raw": "\"default\" | \"small\"",
184
+ "kind": "union",
185
+ "unionTypes": [
186
+ "default",
187
+ "small"
188
+ ]
189
+ },
190
+ "required": false,
191
+ "default": "\"default\"",
192
+ "allowedValues": [
193
+ {
194
+ "value": "default",
195
+ "label": "默认尺寸",
196
+ "isDefault": true
197
+ },
198
+ {
199
+ "value": "small",
200
+ "label": "小尺寸"
201
+ }
202
+ ],
203
+ "usageExample": "<Tooltip size=\"small\">"
204
+ },
205
+ {
206
+ "name": "of",
207
+ "description": "弹出菜单的位置是相对当前触发元素还是父元素",
208
+ "type": {
209
+ "raw": "\"self\" | \"parent\" | Event",
210
+ "kind": "union",
211
+ "unionTypes": [
212
+ "self",
213
+ "parent"
214
+ ]
215
+ },
216
+ "required": false,
217
+ "default": "\"self\"",
218
+ "usageExample": "<Tooltip of=\"parent\">"
219
+ },
220
+ {
221
+ "name": "container",
222
+ "description": "指定弹出菜单追加的位置",
223
+ "type": {
224
+ "raw": "string | ((parentDom: Element, anchor: Node | null) => Element)",
225
+ "kind": "union"
226
+ },
227
+ "required": false,
228
+ "default": "undefined",
229
+ "usageExample": "<Tooltip :container=\"() => document.body\">"
230
+ },
231
+ {
232
+ "name": "alwaysShowOnClick",
233
+ "description": "不管什么触发方式,重复点击触发器都不隐藏弹层",
234
+ "type": {
235
+ "raw": "boolean",
236
+ "kind": "boolean"
237
+ },
238
+ "required": false,
239
+ "default": "false",
240
+ "usageExample": "<Tooltip alwaysShowOnClick>"
241
+ }
242
+ ],
243
+ "events": [
244
+ {
245
+ "name": "show",
246
+ "vueEventName": "@show",
247
+ "description": "弹层展示时触发",
248
+ "payload": [],
249
+ "usageExample": "<Tooltip @show=\"handleShow\">",
250
+ "handlerExample": "const handleShow = () => {\n console.log('Tooltip 已展示');\n};"
39
251
  },
40
252
  {
41
- "value": "click",
42
- "label": "点击触发"
253
+ "name": "hide",
254
+ "vueEventName": "@hide",
255
+ "description": "弹层隐藏时触发",
256
+ "payload": [],
257
+ "usageExample": "<Tooltip @hide=\"handleHide\">",
258
+ "handlerExample": "const handleHide = () => {\n console.log('Tooltip 已隐藏');\n};"
43
259
  },
44
260
  {
45
- "value": "focus",
46
- "label": "聚焦触发"
261
+ "name": "positioned",
262
+ "vueEventName": "@positioned",
263
+ "description": "提示弹层完成定位计算后触发,可用于读取最终落位结果。",
264
+ "payload": [
265
+ {
266
+ "name": "feedback",
267
+ "type": "Feedback",
268
+ "description": "定位反馈对象,描述当前 Tooltip 的最终 placement 和坐标信息。"
269
+ }
270
+ ],
271
+ "usageExample": "<Tooltip @positioned=\"handlePositioned\">",
272
+ "handlerExample": "const handlePositioned = (feedback: Feedback) => {\n console.log('Tooltip 最终位置', feedback.placement);\n};"
47
273
  }
48
- ],
49
- "usageExample": "<Tooltip trigger=\"click\"></Tooltip>"
50
- },
51
- {
52
- "name": "value",
53
- "description": "是否展示弹层,可用 v-model 双向绑定",
54
- "type": {
55
- "raw": "boolean",
56
- "kind": "boolean"
57
- },
58
- "required": false,
59
- "default": "false",
60
- "usageExample": "<Tooltip v-model=\"visible\"></Tooltip>"
61
- },
62
- {
63
- "name": "disabled",
64
- "description": "是否禁用提示",
65
- "type": {
66
- "raw": "boolean",
67
- "kind": "boolean"
68
- },
69
- "required": false,
70
- "default": "false",
71
- "usageExample": "<Tooltip disabled></Tooltip>"
72
- },
73
- {
74
- "name": "position",
75
- "description": "弹层弹出的位置,默认在触发器正上方",
76
- "type": {
77
- "raw": "Position | \"left\" | \"bottom\" | \"right\" | \"top\"",
78
- "kind": "union",
79
- "unionTypes": [
80
- "left",
81
- "bottom",
82
- "right",
83
- "top"
84
- ]
85
- },
86
- "required": false,
87
- "default": "{my: 'center bottom-10', at: 'center top', collision: 'flipfit'}",
88
- "allowedValues": [
89
- {
90
- "value": "top",
91
- "label": "上方显示",
92
- "isDefault": true
274
+ ],
275
+ "slots": [
276
+ {
277
+ "name": "content",
278
+ "description": "自定义提示内容",
279
+ "bindingType": "none",
280
+ "vueTemplate": "<template #content>...</template>"
281
+ }
282
+ ],
283
+ "methods": [
284
+ {
285
+ "name": "show",
286
+ "description": "主动显示提示弹层。",
287
+ "params": [
288
+ {
289
+ "name": "shouldFocus",
290
+ "type": "boolean",
291
+ "description": "显示后是否尝试把焦点移动到弹层内容。",
292
+ "optional": true
293
+ }
294
+ ],
295
+ "returnType": "void",
296
+ "usageExample": "tooltipRef.value?.show(true);"
93
297
  },
94
298
  {
95
- "value": "bottom",
96
- "label": "下方显示"
299
+ "name": "hide",
300
+ "description": "主动隐藏提示弹层。",
301
+ "params": [
302
+ {
303
+ "name": "immediately",
304
+ "type": "boolean",
305
+ "description": "是否立即隐藏,用于手动控制点击确认型 Tooltip 的关闭时机。"
306
+ }
307
+ ],
308
+ "returnType": "void",
309
+ "usageExample": "tooltipRef.value?.hide(true);"
97
310
  },
98
311
  {
99
- "value": "left",
100
- "label": "左侧显示"
312
+ "name": "position",
313
+ "description": "重新计算提示弹层的位置。",
314
+ "params": [
315
+ {
316
+ "name": "callback",
317
+ "type": "(feedback: Feedback) => void",
318
+ "description": "定位完成后的回调,可读取最终 placement 和坐标。",
319
+ "optional": true
320
+ }
321
+ ],
322
+ "returnType": "void",
323
+ "usageExample": "tooltipRef.value?.position((feedback) => console.log(feedback.placement));"
324
+ }
325
+ ],
326
+ "typeDefinitions": [
327
+ {
328
+ "name": "Position",
329
+ "definition": "type Position = {\n my?: string | [string, string]\n at?: string | [string, string]\n collision?: Collision | [Collision, Collision]\n collisionDirection?: ['left'] | ['top'] | ['left', 'top']\n}",
330
+ "description": "弹层位置配置"
331
+ },
332
+ {
333
+ "name": "Collision",
334
+ "definition": "type Collision = 'fit' | 'flip' | 'flipfit' | 'none'",
335
+ "description": "碰撞检测行为"
101
336
  },
102
337
  {
103
- "value": "right",
104
- "label": "右侧显示"
338
+ "name": "Feedback",
339
+ "definition": "type Feedback = {\n placement?: string\n left?: number\n top?: number\n}",
340
+ "description": "定位反馈结果,描述 Tooltip 最终落位方向和坐标信息。"
105
341
  }
106
- ],
107
- "usageExample": "<Tooltip position=\"bottom\"></Tooltip>"
108
- },
109
- {
110
- "name": "theme",
111
- "description": "主题",
112
- "type": {
113
- "raw": "\"dark\" | \"light\"",
114
- "kind": "union",
115
- "unionTypes": [
116
- "dark",
117
- "light"
118
- ]
119
- },
120
- "required": false,
121
- "default": "\"dark\"",
122
- "allowedValues": [
123
- {
124
- "value": "dark",
125
- "label": "深色主题",
126
- "isDefault": true
342
+ ],
343
+ "examples": [
344
+ {
345
+ "id": "tooltip_basic",
346
+ "title": "基础用法",
347
+ "description": "基本的悬浮提示",
348
+ "difficulty": "easy",
349
+ "code": "<script setup lang=\"ts\">\nimport { Tooltip, Button } from '@king-design/vue';\n</script>\n<template>\n <Tooltip content=\"这是一个提示\">\n <Button>悬浮查看</Button>\n </Tooltip>\n</template>",
350
+ "tags": [
351
+ "basic",
352
+ "hover"
353
+ ],
354
+ "usedProps": [
355
+ "content"
356
+ ],
357
+ "usedEvents": [],
358
+ "usedMethods": [],
359
+ "scenario": "创建一个基本的悬浮提示"
360
+ },
361
+ {
362
+ "id": "tooltip_position",
363
+ "title": "不同位置",
364
+ "description": "在不同方向显示提示",
365
+ "difficulty": "easy",
366
+ "code": "<script setup lang=\"ts\">\nimport { Tooltip, Button } from '@king-design/vue';\n</script>\n<template>\n <Tooltip content=\"上方提示\" position=\"top\">\n <Button>上</Button>\n </Tooltip>\n <Tooltip content=\"下方提示\" position=\"bottom\">\n <Button>下</Button>\n </Tooltip>\n <Tooltip content=\"左侧提示\" position=\"left\">\n <Button>左</Button>\n </Tooltip>\n <Tooltip content=\"右侧提示\" position=\"right\">\n <Button>右</Button>\n </Tooltip>\n</template>",
367
+ "tags": [
368
+ "position",
369
+ "direction"
370
+ ],
371
+ "usedProps": [
372
+ "content",
373
+ "position"
374
+ ],
375
+ "usedEvents": [],
376
+ "usedMethods": [],
377
+ "scenario": "设置提示显示的位置"
127
378
  },
128
379
  {
129
- "value": "light",
130
- "label": "浅色主题"
380
+ "id": "tooltip_theme",
381
+ "title": "主题切换",
382
+ "description": "深色和浅色主题",
383
+ "difficulty": "easy",
384
+ "code": "<script setup lang=\"ts\">\nimport { Tooltip, Button } from '@king-design/vue';\n</script>\n<template>\n <Tooltip content=\"深色主题\" theme=\"dark\">\n <Button>深色</Button>\n </Tooltip>\n <Tooltip content=\"浅色主题\" theme=\"light\">\n <Button>浅色</Button>\n </Tooltip>\n</template>",
385
+ "tags": [
386
+ "theme",
387
+ "dark",
388
+ "light"
389
+ ],
390
+ "usedProps": [
391
+ "content",
392
+ "theme"
393
+ ],
394
+ "usedEvents": [],
395
+ "usedMethods": [],
396
+ "scenario": "使用不同主题的提示"
397
+ },
398
+ {
399
+ "id": "tooltip_trigger",
400
+ "title": "触发方式",
401
+ "description": "不同的触发方式",
402
+ "difficulty": "easy",
403
+ "code": "<script setup lang=\"ts\">\nimport { Tooltip, Button, Input } from '@king-design/vue';\n</script>\n<template>\n <Tooltip content=\"悬浮触发\" trigger=\"hover\">\n <Button>悬浮</Button>\n </Tooltip>\n <Tooltip content=\"点击触发\" trigger=\"click\">\n <Button>点击</Button>\n </Tooltip>\n <Tooltip content=\"聚焦触发\" trigger=\"focus\">\n <Input placeholder=\"聚焦查看\" />\n </Tooltip>\n</template>",
404
+ "tags": [
405
+ "trigger",
406
+ "click",
407
+ "focus"
408
+ ],
409
+ "usedProps": [
410
+ "content",
411
+ "trigger"
412
+ ],
413
+ "usedEvents": [],
414
+ "usedMethods": [],
415
+ "scenario": "使用不同的触发方式"
416
+ },
417
+ {
418
+ "id": "tooltip_hoverable",
419
+ "title": "可交互内容",
420
+ "description": "提示内容可悬浮交互",
421
+ "difficulty": "medium",
422
+ "code": "<script setup lang=\"ts\">\nimport { Tooltip, Button } from '@king-design/vue';\n</script>\n<template>\n <Tooltip hoverable>\n <Button>悬浮查看</Button>\n <template #content>\n <a href=\"#\">可点击的链接</a>\n </template>\n </Tooltip>\n</template>",
423
+ "tags": [
424
+ "hoverable",
425
+ "interactive"
426
+ ],
427
+ "usedProps": [
428
+ "hoverable"
429
+ ],
430
+ "usedEvents": [],
431
+ "usedMethods": [],
432
+ "scenario": "提示内容中包含可交互元素"
433
+ },
434
+ {
435
+ "id": "tooltip_icon",
436
+ "title": "图标提示",
437
+ "description": "图标配合提示",
438
+ "difficulty": "easy",
439
+ "code": "<script setup lang=\"ts\">\nimport { Tooltip, Icon } from '@king-design/vue';\n</script>\n<template>\n <span>价格 <Tooltip content=\"含税价格\"><Icon class=\"k-icon-question\" /></Tooltip></span>\n</template>",
440
+ "tags": [
441
+ "icon",
442
+ "help"
443
+ ],
444
+ "usedProps": [
445
+ "content"
446
+ ],
447
+ "usedEvents": [],
448
+ "usedMethods": [],
449
+ "scenario": "图标配合提示说明"
131
450
  }
132
- ],
133
- "usageExample": "<Tooltip theme=\"light\"></Tooltip>"
134
- },
135
- {
136
- "name": "showArrow",
137
- "description": "弹层是否展示箭头",
138
- "type": {
139
- "raw": "boolean",
140
- "kind": "boolean"
141
- },
142
- "required": false,
143
- "default": "true",
144
- "usageExample": "<Tooltip :showArrow=\"false\"></Tooltip>"
145
- },
146
- {
147
- "name": "hoverable",
148
- "description": "对于悬浮触发方式,提示弹层是否在鼠标悬浮时仍然展示",
149
- "type": {
150
- "raw": "boolean",
151
- "kind": "boolean"
152
- },
153
- "required": false,
154
- "default": "false",
155
- "usageExample": "<Tooltip hoverable></Tooltip>"
156
- },
157
- {
158
- "name": "always",
159
- "description": "是否一直保持当前展示/隐藏状态",
160
- "type": {
161
- "raw": "boolean",
162
- "kind": "boolean"
163
- },
164
- "required": false,
165
- "default": "false",
166
- "usageExample": "<Tooltip always></Tooltip>"
167
- },
168
- {
169
- "name": "size",
170
- "description": "弹层尺寸",
171
- "type": {
172
- "raw": "\"default\" | \"small\"",
173
- "kind": "union",
174
- "unionTypes": [
175
- "default",
176
- "small"
177
- ]
178
- },
179
- "required": false,
180
- "default": "\"default\"",
181
- "allowedValues": [
182
- {
183
- "value": "default",
184
- "label": "默认尺寸",
185
- "isDefault": true
451
+ ],
452
+ "commonMistakes": [
453
+ {
454
+ "id": "tooltip_missing_trigger",
455
+ "description": "未提供触发元素",
456
+ "wrongCode": "<Tooltip content=\"提示\" />",
457
+ "correctCode": "<Tooltip content=\"提示\">\n <Button>触发器</Button>\n</Tooltip>",
458
+ "explanation": "Tooltip 需要包裹一个子元素作为触发器",
459
+ "relatedProps": []
186
460
  },
187
461
  {
188
- "value": "small",
189
- "label": "小尺寸"
462
+ "id": "tooltip_position_typo",
463
+ "description": "position 值拼写错误",
464
+ "wrongCode": "<Tooltip position=\"buttom\">",
465
+ "correctCode": "<Tooltip position=\"bottom\">",
466
+ "explanation": "position 只支持 top, bottom, left, right,注意拼写",
467
+ "relatedProps": [
468
+ "position"
469
+ ]
470
+ },
471
+ {
472
+ "id": "tooltip_hoverable_content",
473
+ "description": "使用 hoverable 但 content 不可交互",
474
+ "wrongCode": "<Tooltip hoverable content=\"纯文本\" /> <!-- hoverable 无意义 -->",
475
+ "correctCode": "<Tooltip hoverable>\n <Button>触发</Button>\n <template #content>\n <a href=\"#\">可点击链接</a>\n </template>\n</Tooltip>",
476
+ "explanation": "hoverable 通常用于提示内容中有可交互元素的场景",
477
+ "relatedProps": [
478
+ "hoverable"
479
+ ]
190
480
  }
191
- ],
192
- "usageExample": "<Tooltip size=\"small\"></Tooltip>"
193
- },
194
- {
195
- "name": "of",
196
- "description": "弹出菜单的位置是相对当前触发元素还是父元素",
197
- "type": {
198
- "raw": "\"self\" | \"parent\" | Event",
199
- "kind": "union",
200
- "unionTypes": [
201
- "self",
202
- "parent"
203
- ]
204
- },
205
- "required": false,
206
- "default": "\"self\"",
207
- "usageExample": "<Tooltip of=\"parent\"></Tooltip>"
208
- },
209
- {
210
- "name": "container",
211
- "description": "指定弹出菜单追加的位置",
212
- "type": {
213
- "raw": "string | ((parentDom: Element, anchor: Node | null) => Element)",
214
- "kind": "union"
215
- },
216
- "required": false,
217
- "default": "undefined",
218
- "usageExample": "<Tooltip :container=\"() => document.body\"></Tooltip>"
219
- }
220
- ],
221
- "events": [
222
- {
223
- "name": "show",
224
- "vueEventName": "@show",
225
- "description": "弹层展示时触发",
226
- "payload": [],
227
- "usageExample": "<Tooltip @show=\"handleShow\"></Tooltip>",
228
- "handlerExample": "const handleShow = () => {\n console.log('Tooltip 已展示');\n};"
229
- },
230
- {
231
- "name": "hide",
232
- "vueEventName": "@hide",
233
- "description": "弹层隐藏时触发",
234
- "payload": [],
235
- "usageExample": "<Tooltip @hide=\"handleHide\"></Tooltip>",
236
- "handlerExample": "const handleHide = () => {\n console.log('Tooltip 已隐藏');\n};"
237
- }
238
- ],
239
- "slots": [
240
- {
241
- "name": "content",
242
- "description": "自定义提示内容"
243
- }
244
- ],
245
- "methods": [],
246
- "typeDefinitions": [
247
- {
248
- "name": "Position",
249
- "definition": "type Position = {\n my?: string | [string, string]\n at?: string | [string, string]\n collision?: Collision | [Collision, Collision]\n collisionDirection?: ['left'] | ['top'] | ['left', 'top']\n}",
250
- "description": "弹层位置配置"
251
- },
252
- {
253
- "name": "Collision",
254
- "definition": "type Collision = 'fit' | 'flip' | 'flipfit' | 'none'",
255
- "description": "碰撞检测行为"
256
- }
257
- ],
258
- "examples": [
259
- {
260
- "id": "tooltip_basic",
261
- "title": "基础用法",
262
- "description": "基本的悬浮提示",
263
- "difficulty": "easy",
264
- "code": "<script setup lang=\"ts\">\nimport { Tooltip, Button } from '@king-design/vue';\n</script>\n<template>\n <Tooltip content=\"这是一个提示\">\n <Button>悬浮查看</Button>\n </Tooltip>\n</template>",
265
- "tags": [
266
- "basic",
481
+ ],
482
+ "searchKeywords": [
483
+ "提示",
484
+ "tooltip",
485
+ "悬浮提示",
486
+ "气泡",
487
+ "帮助提示",
267
488
  "hover"
268
- ],
269
- "usedProps": [
270
- "content"
271
- ],
272
- "usedEvents": [],
273
- "usedMethods": [],
274
- "scenario": "创建一个基本的悬浮提示"
275
- },
276
- {
277
- "id": "tooltip_position",
278
- "title": "不同位置",
279
- "description": "在不同方向显示提示",
280
- "difficulty": "easy",
281
- "code": "<script setup lang=\"ts\">\nimport { Tooltip, Button } from '@king-design/vue';\n</script>\n<template>\n <Tooltip content=\"上方提示\" position=\"top\">\n <Button>上</Button>\n </Tooltip>\n <Tooltip content=\"下方提示\" position=\"bottom\">\n <Button>下</Button>\n </Tooltip>\n <Tooltip content=\"左侧提示\" position=\"left\">\n <Button>左</Button>\n </Tooltip>\n <Tooltip content=\"右侧提示\" position=\"right\">\n <Button>右</Button>\n </Tooltip>\n</template>",
282
- "tags": [
283
- "position",
284
- "direction"
285
- ],
286
- "usedProps": [
287
- "content",
288
- "position"
289
- ],
290
- "usedEvents": [],
291
- "usedMethods": [],
292
- "scenario": "设置提示显示的位置"
293
- },
294
- {
295
- "id": "tooltip_theme",
296
- "title": "主题切换",
297
- "description": "深色和浅色主题",
298
- "difficulty": "easy",
299
- "code": "<script setup lang=\"ts\">\nimport { Tooltip, Button } from '@king-design/vue';\n</script>\n<template>\n <Tooltip content=\"深色主题\" theme=\"dark\">\n <Button>深色</Button>\n </Tooltip>\n <Tooltip content=\"浅色主题\" theme=\"light\">\n <Button>浅色</Button>\n </Tooltip>\n</template>",
300
- "tags": [
301
- "theme",
302
- "dark",
303
- "light"
304
- ],
305
- "usedProps": [
306
- "content",
307
- "theme"
308
- ],
309
- "usedEvents": [],
310
- "usedMethods": [],
311
- "scenario": "使用不同主题的提示"
312
- },
313
- {
314
- "id": "tooltip_trigger",
315
- "title": "触发方式",
316
- "description": "不同的触发方式",
317
- "difficulty": "easy",
318
- "code": "<script setup lang=\"ts\">\nimport { Tooltip, Button, Input } from '@king-design/vue';\n</script>\n<template>\n <Tooltip content=\"悬浮触发\" trigger=\"hover\">\n <Button>悬浮</Button>\n </Tooltip>\n <Tooltip content=\"点击触发\" trigger=\"click\">\n <Button>点击</Button>\n </Tooltip>\n <Tooltip content=\"聚焦触发\" trigger=\"focus\">\n <Input placeholder=\"聚焦查看\" />\n </Tooltip>\n</template>",
319
- "tags": [
320
- "trigger",
321
- "click",
322
- "focus"
323
- ],
324
- "usedProps": [
325
- "content",
326
- "trigger"
327
- ],
328
- "usedEvents": [],
329
- "usedMethods": [],
330
- "scenario": "使用不同的触发方式"
331
- },
332
- {
333
- "id": "tooltip_hoverable",
334
- "title": "可交互内容",
335
- "description": "提示内容可悬浮交互",
336
- "difficulty": "medium",
337
- "code": "<script setup lang=\"ts\">\nimport { Tooltip, Button } from '@king-design/vue';\n</script>\n<template>\n <Tooltip hoverable>\n <Button>悬浮查看</Button>\n <template #content>\n <a href=\"#\">可点击的链接</a>\n </template>\n </Tooltip>\n</template>",
338
- "tags": [
339
- "hoverable",
340
- "interactive"
341
- ],
342
- "usedProps": [
343
- "hoverable"
344
- ],
345
- "usedEvents": [],
346
- "usedMethods": [],
347
- "scenario": "提示内容中包含可交互元素"
348
- },
349
- {
350
- "id": "tooltip_icon",
351
- "title": "图标提示",
352
- "description": "图标配合提示",
353
- "difficulty": "easy",
354
- "code": "<script setup lang=\"ts\">\nimport { Tooltip, Icon } from '@king-design/vue';\n</script>\n<template>\n <span>价格 <Tooltip content=\"含税价格\"><Icon class=\"k-icon-question\" /></Tooltip></span>\n</template>",
355
- "tags": [
356
- "icon",
357
- "help"
358
- ],
359
- "usedProps": [
360
- "content"
361
- ],
362
- "usedEvents": [],
363
- "usedMethods": [],
364
- "scenario": "图标配合提示说明"
365
- }
366
- ],
367
- "commonMistakes": [
368
- {
369
- "id": "tooltip_missing_trigger",
370
- "description": "未提供触发元素",
371
- "wrongCode": "<Tooltip content=\"提示\" />",
372
- "correctCode": "<Tooltip content=\"提示\">\n <Button>触发器</Button>\n</Tooltip>",
373
- "explanation": "Tooltip 需要包裹一个子元素作为触发器",
374
- "relatedProps": []
375
- },
376
- {
377
- "id": "tooltip_position_typo",
378
- "description": "position 值拼写错误",
379
- "wrongCode": "<Tooltip position=\"buttom\">",
380
- "correctCode": "<Tooltip position=\"bottom\">",
381
- "explanation": "position 只支持 top, bottom, left, right,注意拼写",
382
- "relatedProps": [
383
- "position"
384
- ]
385
- },
386
- {
387
- "id": "tooltip_hoverable_content",
388
- "description": "使用 hoverable 但 content 不可交互",
389
- "wrongCode": "<Tooltip hoverable content=\"纯文本\" /> <!-- hoverable 无意义 -->",
390
- "correctCode": "<Tooltip hoverable>\n <Button>触发</Button>\n <template #content>\n <a href=\"#\">可点击链接</a>\n </template>\n</Tooltip>",
391
- "explanation": "hoverable 通常用于提示内容中有可交互元素的场景",
392
- "relatedProps": [
393
- "hoverable"
394
- ]
395
- }
396
- ],
397
- "searchKeywords": [
398
- "提示",
399
- "tooltip",
400
- "悬浮提示",
401
- "气泡",
402
- "帮助提示",
403
- "hover"
404
- ],
405
- "useCases": [
406
- "按钮功能说明",
407
- "图标含义解释",
408
- "表单字段提示",
409
- "禁用原因说明",
410
- "截断文本完整展示"
411
- ],
412
- "relatedComponents": [
413
- "Popover",
414
- "Ellipsis"
415
- ]
489
+ ],
490
+ "useCases": [
491
+ "按钮功能说明",
492
+ "图标含义解释",
493
+ "表单字段提示",
494
+ "禁用原因说明",
495
+ "截断文本完整展示"
496
+ ],
497
+ "typeDefinitions": [
498
+ {
499
+ "name": "TooltipTrigger",
500
+ "definition": "type TooltipTrigger = 'hover' | 'click' | 'focus'",
501
+ "description": "Tooltip 的触发方式枚举,控制提示出现的交互行为。"
502
+ },
503
+ {
504
+ "name": "TooltipTheme",
505
+ "definition": "type TooltipTheme = 'dark' | 'light'",
506
+ "description": "提示层主题枚举,用于在深浅背景之间切换视觉样式。"
507
+ }
508
+ ],
509
+ "relatedComponents": [
510
+ "Popover",
511
+ "Ellipsis"
512
+ ]
416
513
  }