@a2simcode/ui 0.0.46 → 0.0.47

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 (331) hide show
  1. package/.cursor/skills/ui-component-helper/README.md +43 -0
  2. package/.cursor/skills/ui-component-helper/SKILL.md +81 -0
  3. package/docs/components/autocomplete.md +89 -0
  4. package/docs/components/barcode.md +101 -0
  5. package/docs/components/button-select.md +24 -0
  6. package/docs/components/button.md +117 -0
  7. package/docs/components/buttons.md +119 -0
  8. package/docs/components/cascader-select.md +114 -0
  9. package/docs/components/checkbox.md +114 -0
  10. package/docs/components/code-mirror.md +85 -0
  11. package/docs/components/collapse.md +26 -0
  12. package/docs/components/comp.md +71 -0
  13. package/docs/components/count-up.md +24 -0
  14. package/docs/components/count.md +24 -0
  15. package/docs/components/data-panel.md +24 -0
  16. package/docs/components/dialog-full.md +112 -0
  17. package/docs/components/dialog.md +127 -0
  18. package/docs/components/divider.md +24 -0
  19. package/docs/components/drawer.md +127 -0
  20. package/docs/components/dynamic-layer.md +118 -0
  21. package/docs/components/echarts.md +72 -0
  22. package/docs/components/editor.md +24 -0
  23. package/docs/components/form.md +27 -0
  24. package/docs/components/guid.md +39 -0
  25. package/docs/components/hpanel.md +24 -0
  26. package/docs/components/icon.md +56 -0
  27. package/docs/components/input-button.md +24 -0
  28. package/docs/components/input-code.md +24 -0
  29. package/docs/components/input-color.md +114 -0
  30. package/docs/components/input-layer.md +26 -0
  31. package/docs/components/input-rows.md +370 -0
  32. package/docs/components/input-tag.md +50 -0
  33. package/docs/components/input.md +129 -0
  34. package/docs/components/layer-form.md +61 -0
  35. package/docs/components/layer.md +127 -0
  36. package/docs/components/layout.md +132 -0
  37. package/docs/components/map.md +24 -0
  38. package/docs/components/menu.md +121 -0
  39. package/docs/components/meta/autocomplete.ts +335 -0
  40. package/docs/components/meta/barcode.ts +216 -0
  41. package/docs/components/meta/button-select.ts +94 -0
  42. package/docs/components/meta/button.ts +123 -0
  43. package/docs/components/meta/buttons.ts +56 -0
  44. package/docs/components/meta/cascader-select.ts +328 -0
  45. package/docs/components/meta/checkbox.ts +194 -0
  46. package/docs/components/meta/code-mirror.ts +108 -0
  47. package/docs/components/meta/collapse.ts +52 -0
  48. package/docs/components/meta/comp.ts +224 -0
  49. package/docs/components/meta/count-up.ts +126 -0
  50. package/docs/components/meta/count.ts +113 -0
  51. package/docs/components/meta/data-panel.ts +34 -0
  52. package/docs/components/meta/dialog-full.ts +133 -0
  53. package/docs/components/meta/dialog.ts +175 -0
  54. package/docs/components/meta/divider.ts +66 -0
  55. package/docs/components/meta/drawer.ts +158 -0
  56. package/docs/components/meta/dynamic-layer.ts +99 -0
  57. package/docs/components/meta/echarts.ts +64 -0
  58. package/docs/components/meta/editor.ts +67 -0
  59. package/docs/components/meta/form-item.ts +50 -0
  60. package/docs/components/meta/form.ts +160 -0
  61. package/docs/components/meta/guid.ts +42 -0
  62. package/docs/components/meta/hpanel.ts +20 -0
  63. package/docs/components/meta/icon.ts +68 -0
  64. package/docs/components/meta/input-button.ts +165 -0
  65. package/docs/components/meta/input-code.ts +151 -0
  66. package/docs/components/meta/input-color.ts +243 -0
  67. package/docs/components/meta/input-layer.ts +336 -0
  68. package/docs/components/meta/input-rows.ts +113 -0
  69. package/docs/components/meta/input-tag.ts +112 -0
  70. package/docs/components/meta/input.ts +411 -0
  71. package/docs/components/meta/layer-form.ts +56 -0
  72. package/docs/components/meta/layer.ts +122 -0
  73. package/docs/components/meta/layout.ts +101 -0
  74. package/docs/components/meta/map.ts +68 -0
  75. package/docs/components/meta/menu.ts +43 -0
  76. package/docs/components/meta/number.ts +296 -0
  77. package/docs/components/meta/page.ts +67 -0
  78. package/docs/components/meta/radio.ts +55 -0
  79. package/docs/components/meta/rate.ts +124 -0
  80. package/docs/components/meta/select.ts +279 -0
  81. package/docs/components/meta/slider-captcha.ts +70 -0
  82. package/docs/components/meta/slider.ts +270 -0
  83. package/docs/components/meta/switch.ts +272 -0
  84. package/docs/components/meta/table-panel.ts +154 -0
  85. package/docs/components/meta/table.ts +328 -0
  86. package/docs/components/meta/tabs.ts +136 -0
  87. package/docs/components/meta/title.ts +80 -0
  88. package/docs/components/meta/tree.ts +242 -0
  89. package/docs/components/meta/upload.ts +186 -0
  90. package/docs/components/meta/workflow-viewer.ts +55 -0
  91. package/docs/components/meta/workflow.ts +113 -0
  92. package/docs/components/number.md +124 -0
  93. package/docs/components/page.md +42 -0
  94. package/docs/components/radio.md +87 -0
  95. package/docs/components/rate.md +71 -0
  96. package/docs/components/select.md +133 -0
  97. package/docs/components/slider-captcha.md +41 -0
  98. package/docs/components/slider.md +101 -0
  99. package/docs/components/switch.md +90 -0
  100. package/docs/components/table-panel.md +199 -0
  101. package/docs/components/table.md +202 -0
  102. package/docs/components/tabs.md +26 -0
  103. package/docs/components/title.md +24 -0
  104. package/docs/components/tree.md +207 -0
  105. package/docs/components/upload.md +117 -0
  106. package/docs/components/workflow-viewer.md +21 -0
  107. package/docs/components/workflow.md +21 -0
  108. package/docs/examples/autocomplete/advanced.vue +35 -0
  109. package/docs/examples/autocomplete/basic.vue +32 -0
  110. package/docs/examples/autocomplete/clearable.vue +33 -0
  111. package/docs/examples/autocomplete/custom-template.vue +49 -0
  112. package/docs/examples/autocomplete/disabled.vue +33 -0
  113. package/docs/examples/autocomplete/icon.vue +37 -0
  114. package/docs/examples/barcode/all-types.vue +380 -0
  115. package/docs/examples/barcode/basic.vue +14 -0
  116. package/docs/examples/barcode/props-appearance.vue +243 -0
  117. package/docs/examples/barcode/props-geometry.vue +143 -0
  118. package/docs/examples/barcode/props-logic.vue +216 -0
  119. package/docs/examples/barcode/props-symbology.vue +199 -0
  120. package/docs/examples/barcode/props-text.vue +268 -0
  121. package/docs/examples/button/basic.vue +7 -0
  122. package/docs/examples/button/danger-ghost.vue +17 -0
  123. package/docs/examples/button/disabled.vue +10 -0
  124. package/docs/examples/button/loading.vue +6 -0
  125. package/docs/examples/button/shape.vue +7 -0
  126. package/docs/examples/button/size.vue +14 -0
  127. package/docs/examples/button/type.vue +9 -0
  128. package/docs/examples/button-select/basic.vue +19 -0
  129. package/docs/examples/buttons/basic.vue +45 -0
  130. package/docs/examples/buttons/disabled.vue +36 -0
  131. package/docs/examples/buttons/dropdown.vue +63 -0
  132. package/docs/examples/buttons/group.vue +52 -0
  133. package/docs/examples/buttons/link.vue +47 -0
  134. package/docs/examples/buttons/popup.vue +39 -0
  135. package/docs/examples/buttons/size.vue +45 -0
  136. package/docs/examples/cascader-select/basic.vue +28 -0
  137. package/docs/examples/cascader-select/clearable.vue +34 -0
  138. package/docs/examples/cascader-select/disabled.vue +43 -0
  139. package/docs/examples/cascader-select/filterable.vue +37 -0
  140. package/docs/examples/cascader-select/methods.vue +84 -0
  141. package/docs/examples/cascader-select/multiple.vue +38 -0
  142. package/docs/examples/cascader-select/slot.vue +45 -0
  143. package/docs/examples/checkbox/basic.vue +18 -0
  144. package/docs/examples/checkbox/button.vue +19 -0
  145. package/docs/examples/checkbox/color.vue +25 -0
  146. package/docs/examples/checkbox/disabled.vue +17 -0
  147. package/docs/examples/checkbox/min-max.vue +20 -0
  148. package/docs/examples/checkbox/mixed.vue +56 -0
  149. package/docs/examples/checkbox/size.vue +28 -0
  150. package/docs/examples/code-mirror/basic.vue +11 -0
  151. package/docs/examples/code-mirror/events.vue +42 -0
  152. package/docs/examples/code-mirror/height.vue +25 -0
  153. package/docs/examples/code-mirror/mode.vue +33 -0
  154. package/docs/examples/code-mirror/readonly.vue +14 -0
  155. package/docs/examples/collapse/basic.vue +82 -0
  156. package/docs/examples/comp/basic.vue +7 -0
  157. package/docs/examples/comp/collapse.vue +38 -0
  158. package/docs/examples/comp/tabs.vue +38 -0
  159. package/docs/examples/count/basic.vue +54 -0
  160. package/docs/examples/count-up/basic.vue +89 -0
  161. package/docs/examples/data-panel/basic.vue +110 -0
  162. package/docs/examples/dialog/basic.vue +36 -0
  163. package/docs/examples/dialog/custom-buttons.vue +44 -0
  164. package/docs/examples/dialog/fullscreen.vue +23 -0
  165. package/docs/examples/dialog/no-mask.vue +17 -0
  166. package/docs/examples/dialog/size.vue +44 -0
  167. package/docs/examples/dialog/steps.vue +57 -0
  168. package/docs/examples/dialog-full/basic.vue +29 -0
  169. package/docs/examples/dialog-full/custom-buttons.vue +45 -0
  170. package/docs/examples/dialog-full/no-buttons.vue +18 -0
  171. package/docs/examples/dialog-full/no-header.vue +27 -0
  172. package/docs/examples/dialog-full/steps.vue +71 -0
  173. package/docs/examples/divider/basic.vue +52 -0
  174. package/docs/examples/drawer/basic.vue +35 -0
  175. package/docs/examples/drawer/custom-buttons.vue +34 -0
  176. package/docs/examples/drawer/direction.vue +47 -0
  177. package/docs/examples/drawer/mask.vue +36 -0
  178. package/docs/examples/drawer/no-buttons.vue +20 -0
  179. package/docs/examples/drawer/size.vue +28 -0
  180. package/docs/examples/dynamic-layer/basic.vue +33 -0
  181. package/docs/examples/dynamic-layer/custom-buttons.vue +43 -0
  182. package/docs/examples/dynamic-layer/form.vue +73 -0
  183. package/docs/examples/dynamic-layer/steps.vue +52 -0
  184. package/docs/examples/dynamic-layer/types.vue +40 -0
  185. package/docs/examples/echarts/basic.vue +31 -0
  186. package/docs/examples/echarts/dynamic.vue +43 -0
  187. package/docs/examples/echarts/line.vue +46 -0
  188. package/docs/examples/echarts/pie.vue +44 -0
  189. package/docs/examples/editor/basic.vue +15 -0
  190. package/docs/examples/form/basic.vue +224 -0
  191. package/docs/examples/guid/basic.vue +10 -0
  192. package/docs/examples/guid/size.vue +13 -0
  193. package/docs/examples/hpanel/basic.vue +79 -0
  194. package/docs/examples/icon/basic.vue +9 -0
  195. package/docs/examples/icon/rotate-flip.vue +9 -0
  196. package/docs/examples/icon/size.vue +7 -0
  197. package/docs/examples/input/basic.vue +10 -0
  198. package/docs/examples/input/clearable.vue +12 -0
  199. package/docs/examples/input/disabled.vue +6 -0
  200. package/docs/examples/input/icon.vue +23 -0
  201. package/docs/examples/input/password.vue +18 -0
  202. package/docs/examples/input/size.vue +13 -0
  203. package/docs/examples/input/textarea.vue +25 -0
  204. package/docs/examples/input/word-limit.vue +28 -0
  205. package/docs/examples/input-button/basic.vue +33 -0
  206. package/docs/examples/input-code/basic.vue +29 -0
  207. package/docs/examples/input-color/basic.vue +10 -0
  208. package/docs/examples/input-color/disabled.vue +13 -0
  209. package/docs/examples/input-color/format.vue +17 -0
  210. package/docs/examples/input-color/no-alpha.vue +13 -0
  211. package/docs/examples/input-color/only-button.vue +15 -0
  212. package/docs/examples/input-color/predefine.vue +31 -0
  213. package/docs/examples/input-color/size.vue +15 -0
  214. package/docs/examples/input-layer/basic.vue +69 -0
  215. package/docs/examples/input-rows/basic.vue +73 -0
  216. package/docs/examples/input-rows/drag.vue +48 -0
  217. package/docs/examples/input-rows/layer-form.vue +85 -0
  218. package/docs/examples/input-rows/nested.vue +91 -0
  219. package/docs/examples/input-tag/basic.vue +27 -0
  220. package/docs/examples/input-tag/colors.vue +23 -0
  221. package/docs/examples/input-tag/readonly.vue +17 -0
  222. package/docs/examples/layer/basic.vue +43 -0
  223. package/docs/examples/layer/custom-buttons.vue +61 -0
  224. package/docs/examples/layer/drawer.vue +37 -0
  225. package/docs/examples/layer/full.vue +38 -0
  226. package/docs/examples/layer/modal.vue +34 -0
  227. package/docs/examples/layer/steps.vue +46 -0
  228. package/docs/examples/layer-form/basic.vue +76 -0
  229. package/docs/examples/layer-form/config.vue +82 -0
  230. package/docs/examples/layer-form/size.vue +72 -0
  231. package/docs/examples/layout/basic.vue +36 -0
  232. package/docs/examples/layout/custom-size.vue +50 -0
  233. package/docs/examples/layout/disable-move.vue +37 -0
  234. package/docs/examples/layout/hide-mid-when-narrow.vue +96 -0
  235. package/docs/examples/layout/min-size.vue +73 -0
  236. package/docs/examples/layout/percent-size.vue +80 -0
  237. package/docs/examples/layout/simple.vue +22 -0
  238. package/docs/examples/layout/top-side.vue +34 -0
  239. package/docs/examples/map/basic.vue +22 -0
  240. package/docs/examples/menu/basic.vue +58 -0
  241. package/docs/examples/menu/collapsed.vue +49 -0
  242. package/docs/examples/menu/horizontal.vue +44 -0
  243. package/docs/examples/menu/selection-test.vue +104 -0
  244. package/docs/examples/menu/theme.vue +46 -0
  245. package/docs/examples/menu/vertical.vue +46 -0
  246. package/docs/examples/number/advanced.vue +143 -0
  247. package/docs/examples/number/basic.vue +63 -0
  248. package/docs/examples/number/disabled.vue +49 -0
  249. package/docs/examples/number/size.vue +42 -0
  250. package/docs/examples/number/slots.vue +123 -0
  251. package/docs/examples/number/step-strictly.vue +41 -0
  252. package/docs/examples/number/step.vue +47 -0
  253. package/docs/examples/page/basic.vue +41 -0
  254. package/docs/examples/page/init.vue +87 -0
  255. package/docs/examples/radio/basic.vue +17 -0
  256. package/docs/examples/radio/button.vue +17 -0
  257. package/docs/examples/radio/color.vue +18 -0
  258. package/docs/examples/radio/disabled.vue +17 -0
  259. package/docs/examples/radio/size.vue +29 -0
  260. package/docs/examples/rate/basic.vue +24 -0
  261. package/docs/examples/rate/half.vue +24 -0
  262. package/docs/examples/rate/readonly.vue +11 -0
  263. package/docs/examples/rate/text.vue +32 -0
  264. package/docs/examples/select/basic.vue +16 -0
  265. package/docs/examples/select/clearable.vue +22 -0
  266. package/docs/examples/select/disabled.vue +31 -0
  267. package/docs/examples/select/filterable.vue +24 -0
  268. package/docs/examples/select/group.vue +23 -0
  269. package/docs/examples/select/icon.vue +16 -0
  270. package/docs/examples/select/multiple.vue +18 -0
  271. package/docs/examples/select/size.vue +39 -0
  272. package/docs/examples/slider/basic.vue +42 -0
  273. package/docs/examples/slider/disabled.vue +17 -0
  274. package/docs/examples/slider/marks.vue +30 -0
  275. package/docs/examples/slider/size.vue +37 -0
  276. package/docs/examples/slider/tooltip.vue +36 -0
  277. package/docs/examples/slider/vertical.vue +26 -0
  278. package/docs/examples/slider-captcha/basic.vue +44 -0
  279. package/docs/examples/slider-captcha/custom.vue +48 -0
  280. package/docs/examples/switch/basic.vue +16 -0
  281. package/docs/examples/switch/disabled.vue +13 -0
  282. package/docs/examples/switch/loading.vue +13 -0
  283. package/docs/examples/switch/size.vue +15 -0
  284. package/docs/examples/switch/text.vue +13 -0
  285. package/docs/examples/table/actions.vue +116 -0
  286. package/docs/examples/table/add-row.vue +103 -0
  287. package/docs/examples/table/basic.vue +168 -0
  288. package/docs/examples/table/editable.vue +261 -0
  289. package/docs/examples/table/field-selection.vue +87 -0
  290. package/docs/examples/table/frozen-column.vue +140 -0
  291. package/docs/examples/table/height-mode.vue +99 -0
  292. package/docs/examples/table/multiple.vue +178 -0
  293. package/docs/examples/table/pagination.vue +151 -0
  294. package/docs/examples/table/single-selection.vue +64 -0
  295. package/docs/examples/table/tree-column.vue +119 -0
  296. package/docs/examples/table/tree-data.vue +141 -0
  297. package/docs/examples/table-panel/basic.vue +228 -0
  298. package/docs/examples/table-panel/batch-operations.vue +285 -0
  299. package/docs/examples/table-panel/filter.vue +209 -0
  300. package/docs/examples/table-panel/multiple-selection.vue +243 -0
  301. package/docs/examples/table-panel/pagination.vue +133 -0
  302. package/docs/examples/tabs/basic.vue +98 -0
  303. package/docs/examples/title/basic.vue +80 -0
  304. package/docs/examples/tree/accordion.vue +46 -0
  305. package/docs/examples/tree/basic.vue +50 -0
  306. package/docs/examples/tree/buttons.vue +53 -0
  307. package/docs/examples/tree/checkable.vue +52 -0
  308. package/docs/examples/tree/custom-keys.vue +39 -0
  309. package/docs/examples/tree/default-expanded.vue +52 -0
  310. package/docs/examples/tree/draggable.vue +29 -0
  311. package/docs/examples/tree/expand-on-click.vue +39 -0
  312. package/docs/examples/tree/flat-data.vue +20 -0
  313. package/docs/examples/tree/icon.vue +40 -0
  314. package/docs/examples/tree/load-data.vue +37 -0
  315. package/docs/examples/tree/methods.vue +74 -0
  316. package/docs/examples/tree/theme.vue +33 -0
  317. package/docs/examples/upload/accept.vue +31 -0
  318. package/docs/examples/upload/basic.vue +12 -0
  319. package/docs/examples/upload/drag.vue +11 -0
  320. package/docs/examples/upload/image.vue +17 -0
  321. package/docs/examples/upload/limit.vue +20 -0
  322. package/docs/examples/upload/multiple.vue +17 -0
  323. package/docs/examples/upload/readonly.vue +17 -0
  324. package/docs/examples/utils/cipher.vue +160 -0
  325. package/docs/examples/utils/common.vue +153 -0
  326. package/docs/examples/utils/date.vue +56 -0
  327. package/docs/examples/utils/dom.vue +52 -0
  328. package/docs/examples/utils/is.vue +70 -0
  329. package/docs/examples/workflow/basic.vue +265 -0
  330. package/docs/examples/workflow-viewer/basic.vue +248 -0
  331. package/package.json +6 -2
@@ -0,0 +1,43 @@
1
+ # UI Component Helper Skill
2
+
3
+ 这是一个 Cursor AI 技能文件,用于帮助在使用 `@a2simcode/ui` 和 `@a2simcode/dui` 组件的项目中获取组件的使用说明、Props 定义和示例。
4
+
5
+ ## 安装方式
6
+
7
+ ### 方式一:复制到项目本地(推荐)
8
+
9
+ 1. 在你的项目根目录创建 `.cursor/skills/ui-component-helper/` 目录
10
+ 2. 将 `node_modules/@a2simcode/ui/.cursor/skills/ui-component-helper/SKILL.md` 复制到 `.cursor/skills/ui-component-helper/SKILL.md`
11
+
12
+ ```bash
13
+ mkdir -p .cursor/skills/ui-component-helper
14
+ cp node_modules/@a2simcode/ui/.cursor/skills/ui-component-helper/SKILL.md .cursor/skills/ui-component-helper/SKILL.md
15
+ ```
16
+
17
+ ### 方式二:使用符号链接
18
+
19
+ ```bash
20
+ mkdir -p .cursor/skills
21
+ ln -s ../../node_modules/@a2simcode/ui/.cursor/skills/ui-component-helper .cursor/skills/ui-component-helper
22
+ ```
23
+
24
+ ## 使用方法
25
+
26
+ 安装后,当你询问组件用法时,Cursor AI 会自动使用此技能来查找:
27
+
28
+ - 组件的 Props、Events、Slots 定义(从 Meta 数据文件)
29
+ - 组件的使用文档(从 Markdown 文档)
30
+ - 组件的代码示例(从示例文件)
31
+
32
+ ## 示例问题
33
+
34
+ - "j-button 组件有哪些属性?"
35
+ - "怎么使用 j-table 组件?"
36
+ - "d-drag 组件的 API 是什么?"
37
+ - "给我一个 input 组件的示例"
38
+
39
+ ## 注意事项
40
+
41
+ - 此技能会自动从 `node_modules/@a2simcode/ui` 和 `node_modules/@a2simcode/dui` 中查找文档
42
+ - 如果文档不存在于 node_modules 中,会尝试从项目源码路径查找(适用于开发环境)
43
+ - 确保已安装 `@a2simcode/ui` 或 `@a2simcode/dui` 包
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: 'ui-component-helper'
3
+ description: '获取 @a2simcode/ui 和 @a2simcode/dui 组件的使用说明、Props 定义和示例。当用户询问组件用法或编写组件代码时调用。'
4
+ ---
5
+
6
+ # UI Component Helper
7
+
8
+ 此 Skill 用于帮助用户查找和理解 `@a2simcode/ui` 和 `@a2simcode/dui` 组件的使用方法。它会结合**官方文档元数据**、**文档说明**和**组件源码**来提供最准确的信息。
9
+
10
+ ## 查找策略
11
+
12
+ **优先级:Meta 数据 (API) > 文档说明 (Guide) > 源码 (Source)**
13
+
14
+ ### 路径查找策略
15
+
16
+ 首先尝试从 npm 包中查找(适用于通过 npm 安装的项目),如果找不到则尝试从项目源码中查找:
17
+
18
+ 1. **优先查找 node_modules**:
19
+ - UI 组件 Meta: `node_modules/@a2simcode/ui/docs/components/meta/`
20
+ - DUI 组件 Meta: `node_modules/@a2simcode/dui/docs-dui/components/meta/`
21
+ - UI 组件文档: `node_modules/@a2simcode/ui/docs/components/`
22
+ - DUI 组件文档: `node_modules/@a2simcode/dui/docs-dui/components/`
23
+ - UI 组件示例: `node_modules/@a2simcode/ui/docs/examples/`
24
+ - DUI 组件示例: `node_modules/@a2simcode/dui/docs-dui/examples/`
25
+
26
+ 2. **备选:项目源码路径**(开发环境):
27
+ - UI 组件 Meta: `docs/components/meta/`
28
+ - DUI 组件 Meta: `docs-dui/components/meta/`
29
+ - UI 组件文档: `docs/components/`
30
+ - DUI 组件文档: `docs-dui/components/`
31
+ - UI 组件示例: `docs/examples/`
32
+ - DUI 组件示例: `docs-dui/examples/`
33
+
34
+ ## 核心步骤
35
+
36
+ ### 第一步:定位组件和 API 定义
37
+
38
+ 1. **识别组件名称**:如 `button` (对应 `j-button`), `drag` (对应 `d-drag`)。
39
+ 2. **查找 Meta 数据**(按优先级顺序):
40
+ - 首先尝试:`node_modules/@a2simcode/ui/docs/components/meta/<component>.ts` 或 `node_modules/@a2simcode/dui/docs-dui/components/meta/<component>.ts`
41
+ - 如果不存在,尝试:`docs/components/meta/<component>.ts` 或 `docs-dui/components/meta/<component>.ts`
42
+ - **关键**:读取此文件以获取结构化的 `props`, `events` 等定义。这是回答"有哪些属性/参数"的最准确来源。
43
+
44
+ ### 第二步:查找文档和示例
45
+
46
+ 1. **查找 Markdown 文档**(按优先级顺序):
47
+ - 首先尝试:`node_modules/@a2simcode/ui/docs/components/<component>.md` 或 `node_modules/@a2simcode/dui/docs-dui/components/<component>.md`
48
+ - 如果不存在,尝试:`docs/components/<component>.md` 或 `docs-dui/components/<component>.md`
49
+ - 获取组件的功能描述。
50
+
51
+ 2. **查找示例代码**(按优先级顺序):
52
+ - 首先尝试:`node_modules/@a2simcode/ui/docs/examples/<component>/basic.vue` 或 `node_modules/@a2simcode/dui/docs-dui/examples/<component>/basic.vue`
53
+ - 如果不存在,尝试:`docs/examples/<component>/basic.vue` 或 `docs-dui/examples/<component>/basic.vue`
54
+ - 优先查看 `basic.vue` (基础用法)。
55
+
56
+ ### 第三步:查阅源码 (备选)
57
+
58
+ - 仅当 Meta 数据和文档都缺失,或需要了解内部实现细节时,才去查看源码:
59
+ - UI: `node_modules/@a2simcode/ui/packages/components/` 或 `packages/components/`
60
+ - DUI: `node_modules/@a2simcode/dui/packages/components-dui/` 或 `packages/components-dui/`
61
+
62
+ ### 第四步:综合回答
63
+
64
+ 1. **功能概述**:基于 Markdown 文档。
65
+ 2. **API 详细说明**:基于 Meta (`.ts`) 文件中的数据,列出 Props、Events 等。
66
+ 3. **代码示例**:引用 `examples/` 中的代码。
67
+
68
+ ## 常用组件映射
69
+
70
+ - `j-button` -> `node_modules/@a2simcode/ui/docs/components/meta/button.ts` (API) & `node_modules/@a2simcode/ui/docs/examples/button/` (示例)
71
+ - `j-table` -> `node_modules/@a2simcode/ui/docs/components/meta/table.ts` (API) & `node_modules/@a2simcode/ui/docs/examples/table/` (示例)
72
+ - `d-drag` -> `node_modules/@a2simcode/dui/docs-dui/components/meta/drag.ts` (API) & `node_modules/@a2simcode/dui/docs-dui/examples/drag/` (示例)
73
+
74
+ ## 行动指南
75
+
76
+ 当用户询问"怎么用 [组件名]"或"[组件名] 有哪些属性"时:
77
+
78
+ 1. **首选**:读取 `node_modules/@a2simcode/ui/docs/components/meta/[组件名].ts` 或 `node_modules/@a2simcode/dui/docs-dui/components/meta/[组件名].ts` 获取 API 参数(如果不存在,尝试项目源码路径)。
79
+ 2. **次选**:读取 `node_modules/@a2simcode/ui/docs/components/[组件名].md` 获取描述(如果不存在,尝试项目源码路径)。
80
+ 3. **必选**:读取 `node_modules/@a2simcode/ui/docs/examples/[组件名]/basic.vue` 获取基础示例(如果不存在,尝试项目源码路径)。
81
+ 4. **回答**:综合以上信息,清晰展示组件用法和参数表。
@@ -0,0 +1,89 @@
1
+ # Autocomplete 自动补全
2
+
3
+ 通过输入部分内容,自动补全其余内容。
4
+
5
+ ## 基础用法
6
+
7
+ <Demo :source-code="autocompleteBasicCode">
8
+ <template #source>
9
+ <autocomplete-basic />
10
+ </template>
11
+ <template #description>
12
+ 基础的自动补全输入框用法。
13
+ </template>
14
+ </Demo>
15
+
16
+ ## 可清除
17
+
18
+ <Demo :source-code="autocompleteClearableCode">
19
+ <template #source>
20
+ <autocomplete-clearable />
21
+ </template>
22
+ <template #description>
23
+ 使用 clearable 属性即可得到一个可清除的输入框。
24
+ </template>
25
+ </Demo>
26
+
27
+ ## 禁用状态
28
+
29
+ <Demo :source-code="autocompleteDisabledCode">
30
+ <template #source>
31
+ <autocomplete-disabled />
32
+ </template>
33
+ <template #description>
34
+ 通过 readonly 属性指定是否禁用组件。
35
+ </template>
36
+ </Demo>
37
+
38
+ ## 自定义模板
39
+
40
+ <Demo :source-code="autocompleteCustomTemplateCode">
41
+ <template #source>
42
+ <autocomplete-custom-template />
43
+ </template>
44
+ <template #description>
45
+ 可以自定义下拉建议列表项的内容。
46
+ </template>
47
+ </Demo>
48
+
49
+ ## 带图标
50
+
51
+ <Demo :source-code="autocompleteIconCode">
52
+ <template #source>
53
+ <autocomplete-icon />
54
+ </template>
55
+ <template #description>
56
+ 通过插槽可以在输入框中显示图标。
57
+ </template>
58
+ </Demo>
59
+
60
+ ## 高级用法
61
+
62
+ <Demo :source-code="autocompleteAdvancedCode">
63
+ <template #source>
64
+ <autocomplete-advanced />
65
+ </template>
66
+ <template #description>
67
+ 配置更多高级属性,如防抖时间、是否在获得焦点时显示建议等。
68
+ </template>
69
+ </Demo>
70
+
71
+ ## API
72
+
73
+ <ApiTable :data="autocompleteApi" componentName="autocomplete" />
74
+
75
+ <script setup>
76
+ import AutocompleteBasic from '../examples/autocomplete/basic.vue'
77
+ import AutocompleteClearable from '../examples/autocomplete/clearable.vue'
78
+ import AutocompleteDisabled from '../examples/autocomplete/disabled.vue'
79
+ import AutocompleteCustomTemplate from '../examples/autocomplete/custom-template.vue'
80
+ import AutocompleteIcon from '../examples/autocomplete/icon.vue'
81
+ import AutocompleteAdvanced from '../examples/autocomplete/advanced.vue'
82
+ import autocompleteApi from './meta/autocomplete'
83
+ import autocompleteBasicCode from '../examples/autocomplete/basic.vue?raw'
84
+ import autocompleteClearableCode from '../examples/autocomplete/clearable.vue?raw'
85
+ import autocompleteDisabledCode from '../examples/autocomplete/disabled.vue?raw'
86
+ import autocompleteCustomTemplateCode from '../examples/autocomplete/custom-template.vue?raw'
87
+ import autocompleteIconCode from '../examples/autocomplete/icon.vue?raw'
88
+ import autocompleteAdvancedCode from '../examples/autocomplete/advanced.vue?raw'
89
+ </script>
@@ -0,0 +1,101 @@
1
+ # Barcode 条码
2
+
3
+ 条码/二维码生成组件,支持多种条码格式和二维码,使用SVG渲染。
4
+
5
+ ## 所有条码类型
6
+
7
+ 组件支持多种条码格式,包括常用零售条码、通用一维码、二维码、邮政编码和医药行业条码。
8
+
9
+ <Demo :source-code="barcodeAllTypesCode">
10
+ <template #source>
11
+ <barcode-all-types />
12
+ </template>
13
+ <template #description>
14
+ 展示所有支持的条码类型,包括常用零售条码(EAN-13、EAN-8、UPC-A、UPC-E、ITF-14、GS1-128)、通用一维码(CODE128、CODE39、CODE93、Interleaved 2 of 5、Codabar、MSI)、二维码(QR Code、Micro QR Code、Data Matrix、PDF417、Aztec Code、Hanxin)、邮政编码(USPS OneCode、POSTNET、PLANET、Royal Mail、Japan Post、AUSPOST)和医药行业条码(Pharmacode、CODE32、HIBCCode128、PZN)。
15
+ </template>
16
+ </Demo>
17
+
18
+ ## 几何尺寸属性
19
+
20
+ 控制条码的尺寸、缩放和旋转。
21
+
22
+ <Demo :source-code="barcodePropsGeometryCode">
23
+ <template #source>
24
+ <barcode-props-geometry />
25
+ </template>
26
+ <template #description>
27
+ 展示几何尺寸相关属性:scale(整体缩放比例)、scaleX/scaleY(水平和垂直缩放)、height(一维码高度)、rotate(旋转角度:N/R/L/I)。
28
+ </template>
29
+ </Demo>
30
+
31
+ ## 颜色与外观属性
32
+
33
+ 自定义条码的颜色、背景和内边距。
34
+
35
+ <Demo :source-code="barcodePropsAppearanceCode">
36
+ <template #source>
37
+ <barcode-props-appearance />
38
+ </template>
39
+ <template #description>
40
+ 展示颜色与外观相关属性:barcolor(条码前景色)、backgroundcolor(背景色)、padding(内边距)、paddingwidth/paddingheight(左右/上下内边距)、inkspread(油墨扩散补偿)。
41
+ </template>
42
+ </Demo>
43
+
44
+ ## 文本设置属性
45
+
46
+ 控制条码下方人眼可读文本的显示方式。
47
+
48
+ <Demo :source-code="barcodePropsTextCode">
49
+ <template #source>
50
+ <barcode-props-text />
51
+ </template>
52
+ <template #description>
53
+ 展示文本设置相关属性:includetext(是否显示文本)、alttext(替代显示文本)、textfont(字体:OCR-A/OCR-B/Helvetica/Courier)、textsize(字体大小)、textxalign/textyalign(文本对齐方式)、textxoffset/textyoffset(文本偏移)、textcolor(文本颜色)。
54
+ </template>
55
+ </Demo>
56
+
57
+ ## 校验与逻辑属性
58
+
59
+ 控制条码的校验位显示和字符解析。
60
+
61
+ <Demo :source-code="barcodePropsLogicCode">
62
+ <template #source>
63
+ <barcode-props-logic />
64
+ </template>
65
+ <template #description>
66
+ 展示校验与逻辑相关属性:includecheck(在文本中包含校验位)、includecheckintext(针对特定码制的校验位显示)、parse(启用转义字符解析)、parsefnc(启用功能字符解析)、guardwhitespace(强制显示两侧静区)、guardwidth(静区宽度)。
67
+ </template>
68
+ </Demo>
69
+
70
+ ## 专用条码参数
71
+
72
+ 针对特定条码类型的专用参数设置。
73
+
74
+ <Demo :source-code="barcodePropsSymbologyCode">
75
+ <template #source>
76
+ <barcode-props-symbology />
77
+ </template>
78
+ <template #description>
79
+ 展示专用条码参数:eclevel(QR码/Aztec纠错等级:L/M/Q/H)、version(QR码强制版本:1-40)、format(Data Matrix形状:square/rect)、columns/rows(PDF417列数/行数)、errorlevel(PDF417纠错等级:0-8)。
80
+ </template>
81
+ </Demo>
82
+
83
+ ## API
84
+
85
+ <ApiTable :data="barcodeApi" componentName="barcode" />
86
+
87
+ <script setup>
88
+ import BarcodeAllTypes from '../examples/barcode/all-types.vue'
89
+ import BarcodePropsGeometry from '../examples/barcode/props-geometry.vue'
90
+ import BarcodePropsAppearance from '../examples/barcode/props-appearance.vue'
91
+ import BarcodePropsText from '../examples/barcode/props-text.vue'
92
+ import BarcodePropsLogic from '../examples/barcode/props-logic.vue'
93
+ import BarcodePropsSymbology from '../examples/barcode/props-symbology.vue'
94
+ import barcodeApi from './meta/barcode'
95
+ import barcodeAllTypesCode from '../examples/barcode/all-types.vue?raw'
96
+ import barcodePropsGeometryCode from '../examples/barcode/props-geometry.vue?raw'
97
+ import barcodePropsAppearanceCode from '../examples/barcode/props-appearance.vue?raw'
98
+ import barcodePropsTextCode from '../examples/barcode/props-text.vue?raw'
99
+ import barcodePropsLogicCode from '../examples/barcode/props-logic.vue?raw'
100
+ import barcodePropsSymbologyCode from '../examples/barcode/props-symbology.vue?raw'
101
+ </script>
@@ -0,0 +1,24 @@
1
+ # ButtonSelect 按钮选择
2
+
3
+ 通过点击按钮弹出选项面板,支持搜索与多次添加。
4
+
5
+ ## 基础用法
6
+
7
+ <Demo :source-code="basicCode">
8
+ <template #source>
9
+ <button-select-basic />
10
+ </template>
11
+ <template #description>
12
+ 使用 v-model 以逗号分隔的字符串记录已选择项。
13
+ </template>
14
+ </Demo>
15
+
16
+ ## API
17
+
18
+ <ApiTable :data="buttonSelectApi" componentName="button-select" />
19
+
20
+ <script setup>
21
+ import ButtonSelectBasic from '../examples/button-select/basic.vue'
22
+ import buttonSelectApi from './meta/button-select'
23
+ import basicCode from '../examples/button-select/basic.vue?raw'
24
+ </script>
@@ -0,0 +1,117 @@
1
+ # Button 按钮
2
+
3
+ 常用的操作按钮。
4
+
5
+ ## 按钮类型
6
+
7
+ 使用 `type` 属性来定义按钮的样式。
8
+
9
+ <Demo :source-code="buttonTypeCode">
10
+ <template #source>
11
+ <button-type />
12
+ </template>
13
+ <template #description>
14
+ 按钮有五种类型:主要按钮、次要按钮(默认)、虚框按钮、文字按钮和链接按钮。
15
+ </template>
16
+ </Demo>
17
+
18
+ ## 图标按钮
19
+
20
+ 使用 `icon` 属性或者 `icon` 插槽来设置按钮图标。
21
+
22
+ <Demo :source-code="buttonBasicCode">
23
+ <template #source>
24
+ <button-basic />
25
+ </template>
26
+ <template #description>
27
+ 可以通过 `icon` 属性设置图标,或者通过 `#icon` 插槽自定义图标内容。
28
+ </template>
29
+ </Demo>
30
+
31
+ ## 加载状态
32
+
33
+ 使用 `loading` 属性来设置旋转的加载图标。
34
+
35
+ <Demo :source-code="buttonLoadingCode">
36
+ <template #source>
37
+ <button-loading />
38
+ </template>
39
+ <template #description>
40
+ 设置 `loading` 属性为 `true` 即可。也可以设置 `{ delay: number }` 来延迟显示加载状态。
41
+ </template>
42
+ </Demo>
43
+
44
+ ## 按钮形状
45
+
46
+ 使用 `shape` 属性定义按钮形状。
47
+
48
+ <Demo :source-code="buttonShapeCode">
49
+ <template #source>
50
+ <button-shape />
51
+ </template>
52
+ <template #description>
53
+ 支持 `default`、`circle`、`round` 三种形状。
54
+ </template>
55
+ </Demo>
56
+
57
+ ## 不同尺寸
58
+
59
+ Button 组件提供三种尺寸。
60
+
61
+ <Demo :source-code="buttonSizeCode">
62
+ <template #source>
63
+ <button-size />
64
+ </template>
65
+ <template #description>
66
+ 使用 `size` 属性配置尺寸,可选值为 `large`、`default` 和 `small`。
67
+ </template>
68
+ </Demo>
69
+
70
+ ## 禁用状态
71
+
72
+ 使用 `disabled` 属性来定义按钮是否被禁用。
73
+
74
+ <Demo :source-code="buttonDisabledCode">
75
+ <template #source>
76
+ <button-disabled />
77
+ </template>
78
+ <template #description>
79
+ 你可以使用 `disabled` 属性来定义按钮是否可用。
80
+ </template>
81
+ </Demo>
82
+
83
+ ## 危险按钮 & 幽灵按钮
84
+
85
+ `danger` 属性用于表示危险操作。`ghost` 属性使按钮背景透明,常用于深色背景。
86
+
87
+ <Demo :source-code="buttonDangerGhostCode">
88
+ <template #source>
89
+ <button-danger-ghost />
90
+ </template>
91
+ <template #description>
92
+ 危险按钮通常用于删除等不可逆操作。幽灵按钮则常用于有背景色的界面。
93
+ </template>
94
+ </Demo>
95
+
96
+ ## API
97
+
98
+ <ApiTable :data="buttonApi" componentName="button" />
99
+
100
+ <script setup>
101
+ import ButtonType from '../examples/button/type.vue'
102
+ import ButtonBasic from '../examples/button/basic.vue'
103
+ import ButtonLoading from '../examples/button/loading.vue'
104
+ import ButtonShape from '../examples/button/shape.vue'
105
+ import ButtonSize from '../examples/button/size.vue'
106
+ import ButtonDisabled from '../examples/button/disabled.vue'
107
+ import ButtonDangerGhost from '../examples/button/danger-ghost.vue'
108
+ import buttonApi from './meta/button'
109
+
110
+ import buttonTypeCode from '../examples/button/type.vue?raw'
111
+ import buttonBasicCode from '../examples/button/basic.vue?raw'
112
+ import buttonLoadingCode from '../examples/button/loading.vue?raw'
113
+ import buttonShapeCode from '../examples/button/shape.vue?raw'
114
+ import buttonSizeCode from '../examples/button/size.vue?raw'
115
+ import buttonDisabledCode from '../examples/button/disabled.vue?raw'
116
+ import buttonDangerGhostCode from '../examples/button/danger-ghost.vue?raw'
117
+ </script>
@@ -0,0 +1,119 @@
1
+ # Buttons 按钮组
2
+
3
+ 用于批量管理和展示按钮,支持分组、下拉菜单等功能。
4
+
5
+ ## 基础用法
6
+
7
+ 通过 `list` 属性传入按钮配置数组。
8
+
9
+ <Demo :source-code="buttonsBasicCode">
10
+ <template #source>
11
+ <buttons-basic />
12
+ </template>
13
+ <template #description>
14
+ 每个按钮项需要包含唯一的 `id` 标识,可配置 `label`、`click` 等属性,`type`、`icon` 等属性需配置在 `config` 对象中。
15
+ </template>
16
+ </Demo>
17
+
18
+ ## 按钮分组
19
+
20
+ 通过设置 `groupId` 可以将按钮自动分组展示。
21
+
22
+ <Demo :source-code="buttonsGroupCode">
23
+ <template #source>
24
+ <buttons-group />
25
+ </template>
26
+ <template #description>
27
+ 相同 `groupId` 的按钮会紧凑显示在一起,不同组之间会有间距。
28
+ </template>
29
+ </Demo>
30
+
31
+ ## 下拉菜单
32
+
33
+ 通过 `children` 属性可以创建带下拉菜单的按钮。
34
+
35
+ <Demo :source-code="buttonsDropdownCode">
36
+ <template #source>
37
+ <buttons-dropdown />
38
+ </template>
39
+ <template #description>
40
+ 配置 `children` 数组后,子按钮会以下拉形式展示,适合放置次要操作。
41
+ </template>
42
+ </Demo>
43
+
44
+ ## 不同尺寸
45
+
46
+ 通过 `size` 属性设置按钮组内所有按钮的尺寸。
47
+
48
+ <Demo :source-code="buttonsSizeCode">
49
+ <template #source>
50
+ <buttons-size />
51
+ </template>
52
+ <template #description>
53
+ 支持 `large`、`default`、`small` 三种尺寸。
54
+ </template>
55
+ </Demo>
56
+
57
+ ## 链接形式
58
+
59
+ 通过 `isLink` 属性可以将所有按钮以链接形式展示。
60
+
61
+ <Demo :source-code="buttonsLinkCode">
62
+ <template #source>
63
+ <buttons-link />
64
+ </template>
65
+ <template #description>
66
+ 设置 `isLink` 为 `true` 后,所有按钮都会以链接形式展示。
67
+ </template>
68
+ </Demo>
69
+
70
+ ## 禁用状态
71
+
72
+ 通过按钮项的 `disabled` 属性可以禁用单个按钮。
73
+
74
+ <Demo :source-code="buttonsDisabledCode">
75
+ <template #source>
76
+ <buttons-disabled />
77
+ </template>
78
+ <template #description>
79
+ 禁用的按钮不会触发点击事件。
80
+ </template>
81
+ </Demo>
82
+
83
+ ## 点击打开弹窗
84
+
85
+ 演示通过按钮点击事件打开弹窗。
86
+
87
+ <Demo :source-code="buttonsPopupCode">
88
+ <template #source>
89
+ <buttons-popup />
90
+ </template>
91
+ <template #description>
92
+ 在 `click` 事件回调中解构获取 `openLayer` 方法,通过它动态打开弹窗。
93
+ </template>
94
+ </Demo>
95
+
96
+ ## API
97
+
98
+ ### Buttons 属性
99
+
100
+ <ApiTable :data="buttonsApi" componentName="buttons" />
101
+
102
+ <script setup>
103
+ import ButtonsBasic from '../examples/buttons/basic.vue'
104
+ import ButtonsGroup from '../examples/buttons/group.vue'
105
+ import ButtonsDropdown from '../examples/buttons/dropdown.vue'
106
+ import ButtonsSize from '../examples/buttons/size.vue'
107
+ import ButtonsLink from '../examples/buttons/link.vue'
108
+ import ButtonsDisabled from '../examples/buttons/disabled.vue'
109
+ import ButtonsPopup from '../examples/buttons/popup.vue'
110
+ import buttonsApi from './meta/buttons'
111
+
112
+ import buttonsBasicCode from '../examples/buttons/basic.vue?raw'
113
+ import buttonsGroupCode from '../examples/buttons/group.vue?raw'
114
+ import buttonsDropdownCode from '../examples/buttons/dropdown.vue?raw'
115
+ import buttonsSizeCode from '../examples/buttons/size.vue?raw'
116
+ import buttonsLinkCode from '../examples/buttons/link.vue?raw'
117
+ import buttonsDisabledCode from '../examples/buttons/disabled.vue?raw'
118
+ import buttonsPopupCode from '../examples/buttons/popup.vue?raw'
119
+ </script>