@a2simcode/ui 0.0.82 → 0.0.84
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.
- package/.cursor/skills/ui-component-helper/README.md +86 -43
- package/.cursor/skills/ui-component-helper/SKILL.md +115 -81
- package/LICENSE +53 -53
- package/README.md +156 -156
- package/dist/components/input/index.d.ts +6 -0
- package/dist/components/input/src/input.vue.d.ts +10 -0
- package/dist/components/input-layer/index.d.ts +1 -3
- package/dist/components/input-layer/src/input-layer.vue.d.ts +1 -3
- package/dist/components/tabs/index.d.ts +25 -25
- package/dist/components/tabs/src/tabs.vue.d.ts +10 -10
- package/dist/simcode-ui.es.js +12308 -12675
- package/dist/simcode-ui.umd.js +2 -2
- package/dist/stats.html +37 -36
- package/dist/ui.css +2 -1
- package/docs/components/autocomplete.md +89 -89
- package/docs/components/barcode.md +101 -101
- package/docs/components/button-select.md +24 -24
- package/docs/components/button.md +117 -117
- package/docs/components/buttons.md +119 -119
- package/docs/components/cascader-select.md +114 -114
- package/docs/components/checkbox.md +114 -114
- package/docs/components/code-mirror.md +85 -85
- package/docs/components/collapse.md +26 -26
- package/docs/components/comp.md +71 -71
- package/docs/components/count-up.md +24 -24
- package/docs/components/count.md +24 -24
- package/docs/components/data-panel.md +24 -24
- package/docs/components/date.md +76 -76
- package/docs/components/dialog-full.md +112 -112
- package/docs/components/dialog.md +127 -127
- package/docs/components/divider.md +24 -24
- package/docs/components/drawer.md +127 -127
- package/docs/components/dynamic-layer.md +118 -118
- package/docs/components/echarts.md +72 -72
- package/docs/components/editor.md +24 -24
- package/docs/components/form.md +27 -27
- package/docs/components/guid.md +39 -39
- package/docs/components/hpanel.md +24 -24
- package/docs/components/icon.md +56 -56
- package/docs/components/input-button.md +24 -24
- package/docs/components/input-code.md +24 -24
- package/docs/components/input-color.md +114 -114
- package/docs/components/input-layer.md +26 -26
- package/docs/components/input-rows.md +370 -370
- package/docs/components/input-tag.md +50 -50
- package/docs/components/input.md +129 -129
- package/docs/components/layer-form.md +61 -61
- package/docs/components/layer.md +127 -127
- package/docs/components/layout.md +132 -132
- package/docs/components/map.md +24 -24
- package/docs/components/menu.md +121 -121
- package/docs/components/meta/button.ts +212 -212
- package/docs/components/meta/buttons.ts +76 -76
- package/docs/components/meta/comp.ts +242 -230
- package/docs/components/meta/date.ts +256 -256
- package/docs/components/meta/echarts.ts +64 -64
- package/docs/components/meta/form.ts +165 -165
- package/docs/components/meta/input-cards.ts +112 -112
- package/docs/components/meta/input-color.ts +243 -243
- package/docs/components/meta/input-rows.ts +113 -113
- package/docs/components/meta/input.ts +20 -0
- package/docs/components/meta/layer-form.ts +56 -56
- package/docs/components/meta/map.ts +68 -68
- package/docs/components/meta/page.ts +46 -67
- package/docs/components/meta/panel.ts +152 -152
- package/docs/components/meta/slider.ts +270 -270
- package/docs/components/meta/table.ts +363 -363
- package/docs/components/meta/tabs.ts +146 -136
- package/docs/components/meta/tree-select.ts +199 -199
- package/docs/components/meta/workflow-viewer.ts +55 -55
- package/docs/components/meta/workflow.ts +113 -113
- package/docs/components/number.md +124 -124
- package/docs/components/page.md +87 -72
- package/docs/components/panel.md +37 -37
- package/docs/components/radio.md +87 -87
- package/docs/components/rate.md +71 -71
- package/docs/components/select.md +133 -133
- package/docs/components/slider-captcha.md +41 -41
- package/docs/components/slider.md +101 -101
- package/docs/components/switch.md +90 -90
- package/docs/components/table-panel.md +218 -218
- package/docs/components/table.md +319 -319
- package/docs/components/tabs.md +26 -26
- package/docs/components/title.md +24 -24
- package/docs/components/tree.md +207 -207
- package/docs/components/upload.md +117 -117
- package/docs/components/workflow-viewer.md +21 -21
- package/docs/components/workflow.md +21 -21
- package/docs/examples/autocomplete/advanced.vue +35 -35
- package/docs/examples/autocomplete/basic.vue +32 -32
- package/docs/examples/autocomplete/clearable.vue +33 -33
- package/docs/examples/autocomplete/custom-template.vue +49 -49
- package/docs/examples/autocomplete/disabled.vue +33 -33
- package/docs/examples/autocomplete/icon.vue +37 -37
- package/docs/examples/barcode/all-types.vue +380 -380
- package/docs/examples/barcode/basic.vue +14 -14
- package/docs/examples/barcode/props-appearance.vue +243 -243
- package/docs/examples/barcode/props-geometry.vue +143 -143
- package/docs/examples/barcode/props-logic.vue +216 -216
- package/docs/examples/barcode/props-symbology.vue +199 -199
- package/docs/examples/barcode/props-text.vue +268 -268
- package/docs/examples/button/basic.vue +7 -7
- package/docs/examples/button/danger-ghost.vue +17 -17
- package/docs/examples/button/disabled.vue +10 -10
- package/docs/examples/button/loading.vue +6 -6
- package/docs/examples/button/shape.vue +7 -7
- package/docs/examples/button/size.vue +14 -14
- package/docs/examples/button/type.vue +9 -9
- package/docs/examples/button-select/basic.vue +19 -19
- package/docs/examples/buttons/basic.vue +45 -45
- package/docs/examples/buttons/disabled.vue +36 -36
- package/docs/examples/buttons/dropdown.vue +63 -63
- package/docs/examples/buttons/group.vue +52 -52
- package/docs/examples/buttons/link.vue +47 -47
- package/docs/examples/buttons/popup.vue +39 -39
- package/docs/examples/buttons/size.vue +45 -45
- package/docs/examples/cascader-select/basic.vue +28 -28
- package/docs/examples/cascader-select/clearable.vue +34 -34
- package/docs/examples/cascader-select/disabled.vue +43 -43
- package/docs/examples/cascader-select/filterable.vue +37 -37
- package/docs/examples/cascader-select/methods.vue +84 -84
- package/docs/examples/cascader-select/multiple.vue +38 -38
- package/docs/examples/cascader-select/slot.vue +45 -45
- package/docs/examples/checkbox/basic.vue +18 -18
- package/docs/examples/checkbox/button.vue +19 -19
- package/docs/examples/checkbox/color.vue +25 -25
- package/docs/examples/checkbox/disabled.vue +17 -17
- package/docs/examples/checkbox/min-max.vue +20 -20
- package/docs/examples/checkbox/mixed.vue +56 -56
- package/docs/examples/checkbox/size.vue +28 -28
- package/docs/examples/code-mirror/basic.vue +11 -11
- package/docs/examples/code-mirror/events.vue +42 -42
- package/docs/examples/code-mirror/height.vue +25 -25
- package/docs/examples/code-mirror/mode.vue +33 -33
- package/docs/examples/code-mirror/readonly.vue +14 -14
- package/docs/examples/collapse/basic.vue +82 -82
- package/docs/examples/comp/basic.vue +7 -7
- package/docs/examples/comp/collapse.vue +38 -38
- package/docs/examples/comp/tabs.vue +38 -38
- package/docs/examples/count/basic.vue +54 -54
- package/docs/examples/count-up/basic.vue +89 -89
- package/docs/examples/data-panel/basic.vue +110 -110
- package/docs/examples/date/basic.vue +73 -73
- package/docs/examples/date/default-value.vue +59 -59
- package/docs/examples/date/format.vue +75 -75
- package/docs/examples/date/range.vue +66 -66
- package/docs/examples/date/types.vue +79 -79
- package/docs/examples/dialog/basic.vue +36 -36
- package/docs/examples/dialog/custom-buttons.vue +44 -44
- package/docs/examples/dialog/fullscreen.vue +23 -23
- package/docs/examples/dialog/no-mask.vue +17 -17
- package/docs/examples/dialog/size.vue +44 -44
- package/docs/examples/dialog/steps.vue +57 -57
- package/docs/examples/dialog-full/basic.vue +29 -29
- package/docs/examples/dialog-full/custom-buttons.vue +45 -45
- package/docs/examples/dialog-full/no-buttons.vue +18 -18
- package/docs/examples/dialog-full/no-header.vue +27 -27
- package/docs/examples/dialog-full/steps.vue +71 -71
- package/docs/examples/divider/basic.vue +52 -52
- package/docs/examples/drawer/basic.vue +35 -35
- package/docs/examples/drawer/custom-buttons.vue +34 -34
- package/docs/examples/drawer/direction.vue +47 -47
- package/docs/examples/drawer/mask.vue +36 -36
- package/docs/examples/drawer/no-buttons.vue +20 -20
- package/docs/examples/drawer/size.vue +28 -28
- package/docs/examples/dynamic-layer/basic.vue +33 -33
- package/docs/examples/dynamic-layer/custom-buttons.vue +43 -43
- package/docs/examples/dynamic-layer/form.vue +73 -73
- package/docs/examples/dynamic-layer/steps.vue +52 -52
- package/docs/examples/dynamic-layer/types.vue +40 -40
- package/docs/examples/echarts/basic.vue +31 -31
- package/docs/examples/echarts/dynamic.vue +43 -43
- package/docs/examples/echarts/line.vue +46 -46
- package/docs/examples/echarts/pie.vue +44 -44
- package/docs/examples/editor/basic.vue +15 -15
- package/docs/examples/form/basic.vue +456 -450
- package/docs/examples/guid/basic.vue +10 -10
- package/docs/examples/guid/size.vue +13 -13
- package/docs/examples/hpanel/basic.vue +79 -79
- package/docs/examples/icon/basic.vue +9 -9
- package/docs/examples/icon/rotate-flip.vue +9 -9
- package/docs/examples/icon/size.vue +7 -7
- package/docs/examples/input/basic.vue +10 -10
- package/docs/examples/input/clearable.vue +12 -12
- package/docs/examples/input/disabled.vue +6 -6
- package/docs/examples/input/icon.vue +23 -23
- package/docs/examples/input/password.vue +18 -18
- package/docs/examples/input/size.vue +13 -13
- package/docs/examples/input/textarea.vue +25 -25
- package/docs/examples/input/word-limit.vue +28 -28
- package/docs/examples/input-button/basic.vue +33 -33
- package/docs/examples/input-code/basic.vue +29 -29
- package/docs/examples/input-color/basic.vue +10 -10
- package/docs/examples/input-color/disabled.vue +13 -13
- package/docs/examples/input-color/format.vue +17 -17
- package/docs/examples/input-color/no-alpha.vue +13 -13
- package/docs/examples/input-color/only-button.vue +15 -15
- package/docs/examples/input-color/predefine.vue +31 -31
- package/docs/examples/input-color/size.vue +15 -15
- package/docs/examples/input-layer/basic.vue +69 -69
- package/docs/examples/input-rows/basic.vue +73 -73
- package/docs/examples/input-rows/drag.vue +48 -48
- package/docs/examples/input-rows/layer-form.vue +85 -85
- package/docs/examples/input-rows/nested.vue +91 -91
- package/docs/examples/input-tag/basic.vue +27 -27
- package/docs/examples/input-tag/colors.vue +23 -23
- package/docs/examples/input-tag/readonly.vue +17 -17
- package/docs/examples/layer/basic.vue +43 -43
- package/docs/examples/layer/custom-buttons.vue +61 -61
- package/docs/examples/layer/drawer.vue +37 -37
- package/docs/examples/layer/full.vue +38 -38
- package/docs/examples/layer/modal.vue +34 -34
- package/docs/examples/layer/steps.vue +46 -46
- package/docs/examples/layer-form/basic.vue +76 -76
- package/docs/examples/layer-form/config.vue +82 -82
- package/docs/examples/layer-form/size.vue +72 -72
- package/docs/examples/layout/basic.vue +36 -36
- package/docs/examples/layout/custom-size.vue +50 -50
- package/docs/examples/layout/disable-move.vue +37 -37
- package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
- package/docs/examples/layout/min-size.vue +73 -73
- package/docs/examples/layout/percent-size.vue +80 -80
- package/docs/examples/layout/simple.vue +22 -22
- package/docs/examples/layout/top-side.vue +34 -34
- package/docs/examples/map/basic.vue +22 -22
- package/docs/examples/menu/basic.vue +58 -58
- package/docs/examples/menu/collapsed.vue +49 -49
- package/docs/examples/menu/horizontal.vue +44 -44
- package/docs/examples/menu/selection-test.vue +104 -104
- package/docs/examples/menu/theme.vue +46 -46
- package/docs/examples/menu/vertical.vue +46 -46
- package/docs/examples/number/advanced.vue +143 -143
- package/docs/examples/number/basic.vue +63 -63
- package/docs/examples/number/disabled.vue +49 -49
- package/docs/examples/number/size.vue +42 -42
- package/docs/examples/number/slots.vue +123 -123
- package/docs/examples/number/step-strictly.vue +41 -41
- package/docs/examples/number/step.vue +47 -47
- package/docs/examples/page/basic.vue +41 -41
- package/docs/examples/page/dept-user-management.vue +211 -0
- package/docs/examples/page/init.vue +87 -87
- package/docs/examples/page/log.vue +453 -453
- package/docs/examples/page/user-management.vue +313 -313
- package/docs/examples/panel/tool-buttons.vue +18 -18
- package/docs/examples/radio/basic.vue +17 -17
- package/docs/examples/radio/button.vue +17 -17
- package/docs/examples/radio/color.vue +18 -18
- package/docs/examples/radio/disabled.vue +17 -17
- package/docs/examples/radio/size.vue +29 -29
- package/docs/examples/rate/basic.vue +24 -24
- package/docs/examples/rate/half.vue +24 -24
- package/docs/examples/rate/readonly.vue +11 -11
- package/docs/examples/rate/text.vue +32 -32
- package/docs/examples/select/basic.vue +16 -16
- package/docs/examples/select/clearable.vue +22 -22
- package/docs/examples/select/disabled.vue +31 -31
- package/docs/examples/select/filterable.vue +24 -24
- package/docs/examples/select/group.vue +23 -23
- package/docs/examples/select/icon.vue +16 -16
- package/docs/examples/select/multiple.vue +18 -18
- package/docs/examples/select/size.vue +39 -39
- package/docs/examples/slider/basic.vue +42 -42
- package/docs/examples/slider/disabled.vue +17 -17
- package/docs/examples/slider/marks.vue +30 -30
- package/docs/examples/slider/size.vue +37 -37
- package/docs/examples/slider/tooltip.vue +36 -36
- package/docs/examples/slider/vertical.vue +26 -26
- package/docs/examples/slider-captcha/basic.vue +44 -44
- package/docs/examples/slider-captcha/custom.vue +48 -48
- package/docs/examples/switch/basic.vue +16 -16
- package/docs/examples/switch/disabled.vue +13 -13
- package/docs/examples/switch/loading.vue +13 -13
- package/docs/examples/switch/size.vue +15 -15
- package/docs/examples/switch/text.vue +13 -13
- package/docs/examples/table/actions.vue +116 -116
- package/docs/examples/table/add-row.vue +103 -103
- package/docs/examples/table/basic.vue +168 -168
- package/docs/examples/table/custom-layout.vue +115 -115
- package/docs/examples/table/editable.vue +262 -262
- package/docs/examples/table/field-selection.vue +87 -87
- package/docs/examples/table/frozen-column.vue +140 -140
- package/docs/examples/table/height-mode.vue +99 -99
- package/docs/examples/table/icon.vue +85 -85
- package/docs/examples/table/link.vue +66 -66
- package/docs/examples/table/multiple.vue +178 -178
- package/docs/examples/table/pagination.vue +151 -151
- package/docs/examples/table/single-selection.vue +64 -64
- package/docs/examples/table/sub-table-lazy.vue +97 -97
- package/docs/examples/table/sub-table.vue +103 -103
- package/docs/examples/table/tag.vue +43 -43
- package/docs/examples/table/tree-column.vue +119 -119
- package/docs/examples/table/tree-data.vue +141 -141
- package/docs/examples/table/tree-lazy.vue +80 -80
- package/docs/examples/table-panel/basic.vue +228 -228
- package/docs/examples/table-panel/batch-operations.vue +285 -285
- package/docs/examples/table-panel/filter.vue +219 -219
- package/docs/examples/table-panel/multiple-selection.vue +243 -243
- package/docs/examples/table-panel/pagination.vue +133 -133
- package/docs/examples/table-panel/sub-table-lazy.vue +118 -118
- package/docs/examples/tabs/basic.vue +98 -98
- package/docs/examples/title/basic.vue +80 -80
- package/docs/examples/tree/accordion.vue +46 -46
- package/docs/examples/tree/basic.vue +50 -50
- package/docs/examples/tree/buttons.vue +53 -53
- package/docs/examples/tree/checkable.vue +52 -52
- package/docs/examples/tree/custom-keys.vue +39 -39
- package/docs/examples/tree/default-expanded.vue +52 -52
- package/docs/examples/tree/draggable.vue +29 -29
- package/docs/examples/tree/expand-on-click.vue +39 -39
- package/docs/examples/tree/flat-data.vue +20 -20
- package/docs/examples/tree/icon.vue +40 -40
- package/docs/examples/tree/load-data.vue +37 -37
- package/docs/examples/tree/methods.vue +74 -74
- package/docs/examples/tree/theme.vue +33 -33
- package/docs/examples/upload/accept.vue +31 -31
- package/docs/examples/upload/basic.vue +12 -12
- package/docs/examples/upload/drag.vue +11 -11
- package/docs/examples/upload/image.vue +17 -17
- package/docs/examples/upload/limit.vue +20 -20
- package/docs/examples/upload/multiple.vue +17 -17
- package/docs/examples/upload/readonly.vue +17 -17
- package/docs/examples/utils/cipher.vue +160 -160
- package/docs/examples/utils/common.vue +153 -153
- package/docs/examples/utils/date.vue +56 -56
- package/docs/examples/utils/dom.vue +52 -52
- package/docs/examples/utils/is.vue +70 -70
- package/docs/examples/workflow/basic.vue +265 -265
- package/docs/examples/workflow-viewer/basic.vue +248 -248
- package/package.json +56 -56
|
@@ -1,43 +1,86 @@
|
|
|
1
|
-
# UI Component Helper Skill
|
|
2
|
-
|
|
3
|
-
这是一个 Cursor AI
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
|
|
1
|
+
# UI Component Helper Skill
|
|
2
|
+
|
|
3
|
+
这是一个 Cursor AI Skill,用于在使用 `@a2simcode/ui`(UI 组件)与 `@a2simcode/dui`(DUI 组件)的项目中,快速获取组件的:
|
|
4
|
+
|
|
5
|
+
- API(Props / Events / Slots / Methods / Types,来自自动生成的 Meta 文件)
|
|
6
|
+
- 文档说明(Markdown Guide)
|
|
7
|
+
- 示例代码(可选:`docs/examples` 与 `docs-dui/examples`,打包后可能不存在)
|
|
8
|
+
|
|
9
|
+
## 安装方式
|
|
10
|
+
|
|
11
|
+
### 方式一:复制到项目本地(推荐)
|
|
12
|
+
|
|
13
|
+
1. 在你的项目根目录创建 `.cursor/skills/ui-component-helper/` 目录
|
|
14
|
+
2. 将 `node_modules/@a2simcode/ui/.cursor/skills/ui-component-helper/SKILL.md` 复制到 `.cursor/skills/ui-component-helper/SKILL.md`
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
mkdir -p .cursor/skills/ui-component-helper
|
|
18
|
+
cp node_modules/@a2simcode/ui/.cursor/skills/ui-component-helper/SKILL.md .cursor/skills/ui-component-helper/SKILL.md
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### 方式二:使用符号链接
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
mkdir -p .cursor/skills
|
|
25
|
+
ln -s ../../node_modules/@a2simcode/ui/.cursor/skills/ui-component-helper .cursor/skills/ui-component-helper
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## 使用方法
|
|
29
|
+
|
|
30
|
+
安装后,当你询问组件用法时,Cursor AI 会自动使用此技能来查找:
|
|
31
|
+
|
|
32
|
+
- 组件的 Props、Events、Slots 定义(从 Meta 数据文件)
|
|
33
|
+
- 组件的使用文档(从 Markdown 文档)
|
|
34
|
+
- 组件的代码示例(如果示例文件不存在,则基于 Meta + 文档描述生成最小示例)
|
|
35
|
+
|
|
36
|
+
### 面向第三方项目的目标
|
|
37
|
+
|
|
38
|
+
该 Skill 的目标是让 AI 在第三方项目里生成“可直接运行的 SimCode UI / DUI 用法”,而不是文档站点内部的 Demo 写法。
|
|
39
|
+
|
|
40
|
+
- 代码示例应使用真实组件标签(如 `j-button`, `d-drag`),不要输出 `<Demo>`、`<ApiTable>` 这类仅文档站点存在的组件
|
|
41
|
+
- 代码示例的 import 应来自 `@a2simcode/ui` / `@a2simcode/dui`,不要引用 `docs/**`、`packages/**` 这类仅组件库仓库存在的路径
|
|
42
|
+
|
|
43
|
+
### 查找路径(与最新 UI 库结构一致)
|
|
44
|
+
|
|
45
|
+
- UI:
|
|
46
|
+
- Meta:`docs/components/meta/*.ts`
|
|
47
|
+
- 文档:`docs/components/*.md`
|
|
48
|
+
- 示例(可选):`docs/examples/<component>/*.vue`
|
|
49
|
+
- DUI:
|
|
50
|
+
- Meta:`docs-dui/components/meta/*.ts`
|
|
51
|
+
- 文档:`docs-dui/components/*.md`
|
|
52
|
+
- 示例(可选):`docs-dui/examples/<component>/*.vue`
|
|
53
|
+
|
|
54
|
+
Skill 会优先从 `node_modules` 查找上述目录;找不到时,会回退到项目源码目录(适用于在组件库仓库内开发时)。
|
|
55
|
+
|
|
56
|
+
### 命名规则提示
|
|
57
|
+
|
|
58
|
+
- UI 组件在模板中通常使用 `j-` 前缀(例如 `j-button`, `j-table`),对应的文档/Meta 文件名通常为不带前缀的组件名(例如 `button`, `table`)。
|
|
59
|
+
- DUI 组件在模板中通常使用 `d-` 前缀(例如 `d-drag`),Meta 通常为 kebab-case(例如 `flow-design.ts`)。部分 DUI 文档/示例可能是 camelCase(例如 `flowDesign`),遇到查不到时需要尝试名称变体。
|
|
60
|
+
|
|
61
|
+
### 推荐的引入方式(第三方最常见)
|
|
62
|
+
|
|
63
|
+
- UI 全量引入后可直接使用 `j-` 组件标签:
|
|
64
|
+
- `import SimCodeUI from '@a2simcode/ui'`
|
|
65
|
+
- `app.use(SimCodeUI)`
|
|
66
|
+
- DUI 全量引入后可直接使用 `d-` 组件标签:
|
|
67
|
+
- `import Dui from '@a2simcode/dui'`
|
|
68
|
+
- `app.use(Dui)`
|
|
69
|
+
|
|
70
|
+
样式文件通常位于 `@a2simcode/ui/dist/style.css` 与 `@a2simcode/dui/dist/style.css`(若你的安装包导出为 `ui.css/dui.css`,以实际文件为准)。
|
|
71
|
+
|
|
72
|
+
## 示例问题
|
|
73
|
+
|
|
74
|
+
- "j-button 组件有哪些属性?"
|
|
75
|
+
- "怎么使用 j-table 组件?"
|
|
76
|
+
- "d-drag 组件的 API 是什么?"
|
|
77
|
+
- "给我一个 input 组件的示例"
|
|
78
|
+
- "flowDesign 的 meta 文件在哪?为什么文档叫 flowDesign 但 meta 是 flow-design?"
|
|
79
|
+
- "j-slider-captcha 支持哪些事件?给一个最小示例"
|
|
80
|
+
|
|
81
|
+
## 注意事项
|
|
82
|
+
|
|
83
|
+
- 此技能会自动从 `node_modules/@a2simcode/ui` 和 `node_modules/@a2simcode/dui` 中查找文档
|
|
84
|
+
- 如果文档不存在于 node_modules 中,会尝试从项目源码路径查找(适用于开发环境)
|
|
85
|
+
- 打包发布后的第三方环境中可能缺少 `docs/examples` / `docs-dui/examples`,此时以 Meta 与文档为准,并自动生成可运行的最小用法片段
|
|
86
|
+
- 确保已安装 `@a2simcode/ui` 或 `@a2simcode/dui` 包
|
|
@@ -1,81 +1,115 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'ui-component-helper'
|
|
3
|
-
description: '获取 @a2simcode/ui 和 @a2simcode/dui 组件的使用说明、Props 定义和示例。当用户询问组件用法或编写组件代码时调用。'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# UI Component Helper
|
|
7
|
-
|
|
8
|
-
此 Skill 用于帮助用户查找和理解 `@a2simcode/ui
|
|
9
|
-
|
|
10
|
-
## 查找策略
|
|
11
|
-
|
|
12
|
-
**优先级:Meta
|
|
13
|
-
|
|
14
|
-
###
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
- UI
|
|
28
|
-
- DUI
|
|
29
|
-
- UI
|
|
30
|
-
- DUI
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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`(UI 组件)与 `@a2simcode/dui`(DUI 组件)的使用方法。它会结合 **API 元数据(Meta)**、**文档说明(Guide)**、(可选的)**示例(Examples)** 与 **源码(Source)** 来输出可直接使用的答案(包含 Props / Events / Slots / Methods / Types 与代码示例)。
|
|
9
|
+
|
|
10
|
+
## 查找策略
|
|
11
|
+
|
|
12
|
+
**优先级:Meta (API) > 文档说明 (Guide) > 示例 (Examples,可选) > 源码 (Source)**
|
|
13
|
+
|
|
14
|
+
### 组件命名与映射规则
|
|
15
|
+
|
|
16
|
+
1. UI 组件通常在模板里使用 `j-` 前缀(例如 `j-button`, `j-table`),对应源码组件名常为 `JButton`, `JTable`,文档与 Meta 的文件名通常不带前缀(例如 `button`, `table`)。
|
|
17
|
+
2. DUI 组件通常在模板里使用 `d-` 前缀(例如 `d-drag`, `d-draggable`),对应源码组件名常为 `DDrag`, `DDraggable`,Meta 文件名通常为 kebab-case(例如 `drag`, `flow-design`)。
|
|
18
|
+
3. DUI 的文档(`docs-dui/components/*.md`)与示例目录(`docs-dui/examples/*/`)在部分组件上可能使用 camelCase(例如 `flowDesign`),而 Meta 仍然是 kebab-case(例如 `flow-design.ts`)。当名称对不上时,务必尝试名称变体(见“定位组件和 API 定义”)。
|
|
19
|
+
|
|
20
|
+
### 路径查找策略
|
|
21
|
+
|
|
22
|
+
首先尝试从 npm 包中查找(适用于通过 npm 安装的项目),如果找不到则尝试从项目源码中查找:
|
|
23
|
+
|
|
24
|
+
1. **优先查找 node_modules**:
|
|
25
|
+
- UI 组件 Meta: `node_modules/@a2simcode/ui/docs/components/meta/`
|
|
26
|
+
- DUI 组件 Meta: `node_modules/@a2simcode/dui/docs-dui/components/meta/`
|
|
27
|
+
- UI 组件文档: `node_modules/@a2simcode/ui/docs/components/`
|
|
28
|
+
- DUI 组件文档: `node_modules/@a2simcode/dui/docs-dui/components/`
|
|
29
|
+
- UI 组件示例: `node_modules/@a2simcode/ui/docs/examples/`
|
|
30
|
+
- DUI 组件示例: `node_modules/@a2simcode/dui/docs-dui/examples/`
|
|
31
|
+
|
|
32
|
+
2. **备选:项目源码路径**(开发环境):
|
|
33
|
+
- UI 组件 Meta: `docs/components/meta/`
|
|
34
|
+
- DUI 组件 Meta: `docs-dui/components/meta/`
|
|
35
|
+
- UI 组件文档: `docs/components/`
|
|
36
|
+
- DUI 组件文档: `docs-dui/components/`
|
|
37
|
+
- UI 组件示例: `docs/examples/`
|
|
38
|
+
- DUI 组件示例: `docs-dui/examples/`
|
|
39
|
+
|
|
40
|
+
## 核心步骤
|
|
41
|
+
|
|
42
|
+
### 输出规则(面向第三方可运行代码)
|
|
43
|
+
|
|
44
|
+
1. 示例代码必须是“业务项目可直接使用”的写法:
|
|
45
|
+
- 使用真实组件标签(如 `j-button`, `j-table`, `d-drag`),不要输出文档站点专用的 `<Demo>`、`<ApiTable>` 等组件
|
|
46
|
+
- import 仅允许来自 `@a2simcode/ui` / `@a2simcode/dui`(或用户项目的既有代码),不要引用 `docs/**`、`docs-dui/**`、`packages/**`
|
|
47
|
+
2. 当用户未说明安装方式时,默认采用“全量引入 + 全局注册”的使用习惯:
|
|
48
|
+
- UI:`app.use(SimCodeUI)` 后,用 `<j-button />` 这种 kebab-case 标签
|
|
49
|
+
- DUI:`app.use(Dui)` 后,用 `<d-drag />` 这种 kebab-case 标签
|
|
50
|
+
3. 当用户明确“按需引入”或不想全局注册时:
|
|
51
|
+
- 提供 `import { JButton } from '@a2simcode/ui'` / `import { DDrag } from '@a2simcode/dui'` 的写法
|
|
52
|
+
- 模板中优先使用 PascalCase(如 `<JButton />` / `<DDrag />`),避免 Vue `<script setup>` 无法自动识别 kebab-case 的问题
|
|
53
|
+
|
|
54
|
+
### 第一步:定位组件和 API 定义
|
|
55
|
+
|
|
56
|
+
1. **识别用户输入的组件标识**:
|
|
57
|
+
- 若输入是模板标签:去掉 `j-` / `d-` 前缀,得到基础名,例如 `j-button` → `button`,`d-drag` → `drag`。
|
|
58
|
+
- 若输入是源码组件名:`JButton` / `DDrag` 通常可转换为 `button` / `drag`。
|
|
59
|
+
- 对 DUI 组件,若名称不匹配(例如 `flowDesign`),需要额外尝试 kebab-case 变体(例如 `flow-design`)。
|
|
60
|
+
2. **查找 Meta 数据**(按优先级顺序,Meta 是回答 Props/Events/Slots/Methods/Types 的最权威来源):
|
|
61
|
+
- 首先尝试:`node_modules/@a2simcode/ui/docs/components/meta/<component>.ts` 或 `node_modules/@a2simcode/dui/docs-dui/components/meta/<component>.ts`
|
|
62
|
+
- 如果不存在,尝试:`docs/components/meta/<component>.ts` 或 `docs-dui/components/meta/<component>.ts`
|
|
63
|
+
- 若 DUI 查不到:
|
|
64
|
+
- 尝试将 `<component>` 替换为 kebab-case(例如 `flowDesign` → `flow-design`)
|
|
65
|
+
- 再尝试将 `<component>` 替换为原始输入(可能文档/示例使用 camelCase,而 Meta 使用 kebab-case)
|
|
66
|
+
- **关键**:读取 Meta 文件以获取结构化的 `props`, `events`, `slots`, `methods`, `types`。这是回答“有哪些属性/参数/类型”的最准确来源。
|
|
67
|
+
|
|
68
|
+
### 第二步:查找文档和示例
|
|
69
|
+
|
|
70
|
+
1. **查找 Markdown 文档**(按优先级顺序):
|
|
71
|
+
- 首先尝试:`node_modules/@a2simcode/ui/docs/components/<component>.md` 或 `node_modules/@a2simcode/dui/docs-dui/components/<component>.md`
|
|
72
|
+
- 如果不存在,尝试:`docs/components/<component>.md` 或 `docs-dui/components/<component>.md`
|
|
73
|
+
- 获取组件的功能描述。
|
|
74
|
+
|
|
75
|
+
2. **查找示例代码(可选)**(按优先级顺序):
|
|
76
|
+
- 首先尝试:`node_modules/@a2simcode/ui/docs/examples/<component>/basic.vue` 或 `node_modules/@a2simcode/dui/docs-dui/examples/<component>/basic.vue`
|
|
77
|
+
- 如果不存在,尝试:`docs/examples/<component>/basic.vue` 或 `docs-dui/examples/<component>/basic.vue`
|
|
78
|
+
- 若 DUI 示例目录找不到:
|
|
79
|
+
- 尝试 `<component>` 的 camelCase / kebab-case 变体(示例目录与文档命名可能不同)
|
|
80
|
+
- 优先查看 `basic.vue`(基础用法),再按需查看同目录下其它示例(例如 `disabled.vue`, `events.vue`, `methods.vue` 等)。
|
|
81
|
+
|
|
82
|
+
### 第三步:查阅源码 (备选)
|
|
83
|
+
|
|
84
|
+
- 仅当 Meta 数据和文档都缺失,或需要了解内部实现细节时,才去查看源码:
|
|
85
|
+
- UI: `node_modules/@a2simcode/ui/packages/components/` 或 `packages/components/`
|
|
86
|
+
- DUI: `node_modules/@a2simcode/dui/packages/components-dui/` 或 `packages/components-dui/`
|
|
87
|
+
- 若在开发仓库中仍无法定位 DUI 组件的真实源码路径,可参考映射配置:`scripts/dui-component-map.ts`(以组件名映射到源码路径与 Meta 输出路径)。
|
|
88
|
+
|
|
89
|
+
### 第四步:综合回答
|
|
90
|
+
|
|
91
|
+
1. **功能概述**:基于 Markdown 文档,说明用途与关键点。
|
|
92
|
+
2. **API 详细说明**:基于 Meta (`.ts`) 列出 Props / Events / Slots / Methods / Types,并包含类型与默认值。
|
|
93
|
+
3. **代码示例**:
|
|
94
|
+
- 若存在 `examples/`:优先引用其中的用法
|
|
95
|
+
- 若不存在 `examples/`(第三方安装包中常见):基于 Meta 的 props / events 与组件命名规则生成“最小可运行示例”,避免依赖文档站点内部的 demo 组件
|
|
96
|
+
|
|
97
|
+
## 常用组件映射
|
|
98
|
+
|
|
99
|
+
- UI:
|
|
100
|
+
- `j-button` → `docs/components/button.md` + `docs/components/meta/button.ts`(`docs/examples/button/` 可选)
|
|
101
|
+
- `j-table` → `docs/components/table.md` + `docs/components/meta/table.ts`(`docs/examples/table/` 可选)
|
|
102
|
+
- `j-slider-captcha` → `docs/components/slider-captcha.md` + `docs/components/meta/slider-captcha.ts`(`docs/examples/slider-captcha/` 可选)
|
|
103
|
+
- DUI:
|
|
104
|
+
- `d-drag` → `docs-dui/components/drag.md` + `docs-dui/components/meta/drag.ts`(`docs-dui/examples/drag/` 可选)
|
|
105
|
+
- `d-draggable` → `docs-dui/components/draggable.md` + `docs-dui/components/meta/draggable.ts`(`docs-dui/examples/draggable/` 可选)
|
|
106
|
+
- `flowDesign`(文档/示例)→ `docs-dui/components/flowDesign.md`(可能存在)+(可选)`docs-dui/examples/flowDesign/`;对应 Meta 通常为 `docs-dui/components/meta/flow-design.ts`
|
|
107
|
+
|
|
108
|
+
## 行动指南
|
|
109
|
+
|
|
110
|
+
当用户询问"怎么用 [组件名]"或"[组件名] 有哪些属性"时:
|
|
111
|
+
|
|
112
|
+
1. **首选**:读取 `node_modules/@a2simcode/ui/docs/components/meta/[组件名].ts` 或 `node_modules/@a2simcode/dui/docs-dui/components/meta/[组件名].ts` 获取 API 参数(如果不存在,尝试项目源码路径)。
|
|
113
|
+
2. **次选**:读取 `node_modules/@a2simcode/ui/docs/components/[组件名].md` 获取描述(如果不存在,尝试项目源码路径)。
|
|
114
|
+
3. **可选**:若存在示例目录,读取 `node_modules/@a2simcode/ui/docs/examples/[组件名]/basic.vue` 获取基础示例(如果不存在,尝试项目源码路径)。
|
|
115
|
+
4. **回答**:输出“功能概述 + API 清单 + 可运行示例”。当示例目录缺失时,示例由 Meta 与命名规则自动生成。
|
package/LICENSE
CHANGED
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
专有软件许可协议
|
|
2
|
-
|
|
3
|
-
版权所有 © 2024 苏州极简搭信息技术有限公司。保留所有权利。
|
|
4
|
-
|
|
5
|
-
本软件及其相关文档("软件")为专有软件,受版权法和国际条约保护。
|
|
6
|
-
|
|
7
|
-
许可限制:
|
|
8
|
-
|
|
9
|
-
1. 本软件仅授权给获得明确书面许可的用户使用。
|
|
10
|
-
|
|
11
|
-
2. 未经版权所有者事先书面同意,您不得:
|
|
12
|
-
- 复制、修改、改编或翻译本软件
|
|
13
|
-
- 对本软件进行反向工程、反编译或反汇编
|
|
14
|
-
- 出租、出借、分发、转让或再许可本软件
|
|
15
|
-
- 删除或修改本软件中的任何版权声明或其他所有权标记
|
|
16
|
-
|
|
17
|
-
3. 本软件按"现状"提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性的保证。
|
|
18
|
-
|
|
19
|
-
4. 在任何情况下,版权所有者均不对因使用或无法使用本软件而产生的任何索赔、损害或其他责任负责。
|
|
20
|
-
|
|
21
|
-
5. 本许可协议受中华人民共和国法律管辖。
|
|
22
|
-
|
|
23
|
-
如需获得使用许可,请联系版权所有者。
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
PROPRIETARY SOFTWARE LICENSE
|
|
28
|
-
|
|
29
|
-
Copyright © 2024 Suzhou Jijian-da Information Technology Co., Ltd. All rights reserved.
|
|
30
|
-
|
|
31
|
-
This software and associated documentation files (the "Software") is proprietary
|
|
32
|
-
software protected by copyright laws and international treaties.
|
|
33
|
-
|
|
34
|
-
License Restrictions:
|
|
35
|
-
|
|
36
|
-
1. This Software is licensed only to users who have obtained explicit written permission.
|
|
37
|
-
|
|
38
|
-
2. Without prior written consent from the copyright holder, you may not:
|
|
39
|
-
- Copy, modify, adapt, or translate the Software
|
|
40
|
-
- Reverse engineer, decompile, or disassemble the Software
|
|
41
|
-
- Rent, lease, distribute, transfer, or sublicense the Software
|
|
42
|
-
- Remove or modify any copyright notices or other proprietary markings in the Software
|
|
43
|
-
|
|
44
|
-
3. The Software is provided "as is" without warranty of any kind, express or implied,
|
|
45
|
-
including but not limited to warranties of merchantability, fitness for a particular
|
|
46
|
-
purpose, and non-infringement.
|
|
47
|
-
|
|
48
|
-
4. In no event shall the copyright holder be liable for any claims, damages, or other
|
|
49
|
-
liability arising from the use or inability to use the Software.
|
|
50
|
-
|
|
51
|
-
5. This license agreement is governed by the laws of the People's Republic of China.
|
|
52
|
-
|
|
53
|
-
For licensing inquiries, please contact the copyright holder.
|
|
1
|
+
专有软件许可协议
|
|
2
|
+
|
|
3
|
+
版权所有 © 2024 苏州极简搭信息技术有限公司。保留所有权利。
|
|
4
|
+
|
|
5
|
+
本软件及其相关文档("软件")为专有软件,受版权法和国际条约保护。
|
|
6
|
+
|
|
7
|
+
许可限制:
|
|
8
|
+
|
|
9
|
+
1. 本软件仅授权给获得明确书面许可的用户使用。
|
|
10
|
+
|
|
11
|
+
2. 未经版权所有者事先书面同意,您不得:
|
|
12
|
+
- 复制、修改、改编或翻译本软件
|
|
13
|
+
- 对本软件进行反向工程、反编译或反汇编
|
|
14
|
+
- 出租、出借、分发、转让或再许可本软件
|
|
15
|
+
- 删除或修改本软件中的任何版权声明或其他所有权标记
|
|
16
|
+
|
|
17
|
+
3. 本软件按"现状"提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性的保证。
|
|
18
|
+
|
|
19
|
+
4. 在任何情况下,版权所有者均不对因使用或无法使用本软件而产生的任何索赔、损害或其他责任负责。
|
|
20
|
+
|
|
21
|
+
5. 本许可协议受中华人民共和国法律管辖。
|
|
22
|
+
|
|
23
|
+
如需获得使用许可,请联系版权所有者。
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
PROPRIETARY SOFTWARE LICENSE
|
|
28
|
+
|
|
29
|
+
Copyright © 2024 Suzhou Jijian-da Information Technology Co., Ltd. All rights reserved.
|
|
30
|
+
|
|
31
|
+
This software and associated documentation files (the "Software") is proprietary
|
|
32
|
+
software protected by copyright laws and international treaties.
|
|
33
|
+
|
|
34
|
+
License Restrictions:
|
|
35
|
+
|
|
36
|
+
1. This Software is licensed only to users who have obtained explicit written permission.
|
|
37
|
+
|
|
38
|
+
2. Without prior written consent from the copyright holder, you may not:
|
|
39
|
+
- Copy, modify, adapt, or translate the Software
|
|
40
|
+
- Reverse engineer, decompile, or disassemble the Software
|
|
41
|
+
- Rent, lease, distribute, transfer, or sublicense the Software
|
|
42
|
+
- Remove or modify any copyright notices or other proprietary markings in the Software
|
|
43
|
+
|
|
44
|
+
3. The Software is provided "as is" without warranty of any kind, express or implied,
|
|
45
|
+
including but not limited to warranties of merchantability, fitness for a particular
|
|
46
|
+
purpose, and non-infringement.
|
|
47
|
+
|
|
48
|
+
4. In no event shall the copyright holder be liable for any claims, damages, or other
|
|
49
|
+
liability arising from the use or inability to use the Software.
|
|
50
|
+
|
|
51
|
+
5. This license agreement is governed by the laws of the People's Republic of China.
|
|
52
|
+
|
|
53
|
+
For licensing inquiries, please contact the copyright holder.
|