ep-craft 0.1.42 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/dist-ai/components/affix.json +152 -0
  2. package/dist-ai/components/affix.md +73 -0
  3. package/dist-ai/components/alert.json +186 -0
  4. package/dist-ai/components/alert.md +89 -0
  5. package/dist-ai/components/anchor-link.json +102 -0
  6. package/dist-ai/components/anchor-link.md +67 -0
  7. package/dist-ai/components/anchor.json +179 -0
  8. package/dist-ai/components/anchor.md +87 -0
  9. package/dist-ai/components/aside.json +87 -0
  10. package/dist-ai/components/aside.md +63 -0
  11. package/dist-ai/components/autocomplete.json +613 -0
  12. package/dist-ai/components/autocomplete.md +140 -0
  13. package/dist-ai/components/avatar.json +163 -0
  14. package/dist-ai/components/avatar.md +83 -0
  15. package/dist-ai/components/backtop.json +118 -0
  16. package/dist-ai/components/backtop.md +66 -0
  17. package/dist-ai/components/badge.json +186 -0
  18. package/dist-ai/components/badge.md +85 -0
  19. package/dist-ai/components/breadcrumb-item.json +97 -0
  20. package/dist-ai/components/breadcrumb-item.md +65 -0
  21. package/dist-ai/components/breadcrumb.json +100 -0
  22. package/dist-ai/components/breadcrumb.md +68 -0
  23. package/dist-ai/components/button-group.json +123 -0
  24. package/dist-ai/components/button-group.md +65 -0
  25. package/dist-ai/components/button.json +349 -0
  26. package/dist-ai/components/button.md +124 -0
  27. package/dist-ai/components/calendar.json +148 -0
  28. package/dist-ai/components/calendar.md +74 -0
  29. package/dist-ai/components/card.json +168 -0
  30. package/dist-ai/components/card.md +87 -0
  31. package/dist-ai/components/carousel-item.json +99 -0
  32. package/dist-ai/components/carousel-item.md +68 -0
  33. package/dist-ai/components/carousel.json +245 -0
  34. package/dist-ai/components/carousel.md +97 -0
  35. package/dist-ai/components/cascader-panel.json +242 -0
  36. package/dist-ai/components/cascader-panel.md +108 -0
  37. package/dist-ai/components/cascader.json +531 -0
  38. package/dist-ai/components/cascader.md +146 -0
  39. package/dist-ai/components/check-tag.json +133 -0
  40. package/dist-ai/components/check-tag.md +72 -0
  41. package/dist-ai/components/checkbox-button.json +279 -0
  42. package/dist-ai/components/checkbox-button.md +94 -0
  43. package/dist-ai/components/checkbox-group.json +236 -0
  44. package/dist-ai/components/checkbox-group.md +90 -0
  45. package/dist-ai/components/checkbox.json +278 -0
  46. package/dist-ai/components/checkbox.md +91 -0
  47. package/dist-ai/components/col.json +168 -0
  48. package/dist-ai/components/col.md +72 -0
  49. package/dist-ai/components/collapse-item.json +133 -0
  50. package/dist-ai/components/collapse-item.md +75 -0
  51. package/dist-ai/components/collapse-transition.json +75 -0
  52. package/dist-ai/components/collapse-transition.md +59 -0
  53. package/dist-ai/components/collapse.json +129 -0
  54. package/dist-ai/components/collapse.md +76 -0
  55. package/dist-ai/components/color-picker.json +280 -0
  56. package/dist-ai/components/color-picker.md +85 -0
  57. package/dist-ai/components/config-provider.json +222 -0
  58. package/dist-ai/components/config-provider.md +76 -0
  59. package/dist-ai/components/container.json +95 -0
  60. package/dist-ai/components/container.md +70 -0
  61. package/dist-ai/components/countdown.json +155 -0
  62. package/dist-ai/components/countdown.md +73 -0
  63. package/dist-ai/components/date-picker-panel.json +346 -0
  64. package/dist-ai/components/date-picker-panel.md +91 -0
  65. package/dist-ai/components/date-picker.json +574 -0
  66. package/dist-ai/components/date-picker.md +153 -0
  67. package/dist-ai/components/descriptions-item.json +175 -0
  68. package/dist-ai/components/descriptions-item.md +73 -0
  69. package/dist-ai/components/descriptions.json +171 -0
  70. package/dist-ai/components/descriptions.md +78 -0
  71. package/dist-ai/components/dialog.json +403 -0
  72. package/dist-ai/components/dialog.md +108 -0
  73. package/dist-ai/components/divider.json +102 -0
  74. package/dist-ai/components/divider.md +59 -0
  75. package/dist-ai/components/drawer.json +468 -0
  76. package/dist-ai/components/drawer.md +115 -0
  77. package/dist-ai/components/dropdown-item.json +156 -0
  78. package/dist-ai/components/dropdown-item.md +84 -0
  79. package/dist-ai/components/dropdown-menu.json +92 -0
  80. package/dist-ai/components/dropdown-menu.md +70 -0
  81. package/dist-ai/components/dropdown.json +374 -0
  82. package/dist-ai/components/dropdown.md +108 -0
  83. package/dist-ai/components/empty.json +116 -0
  84. package/dist-ai/components/empty.md +62 -0
  85. package/dist-ai/components/footer.json +86 -0
  86. package/dist-ai/components/footer.md +63 -0
  87. package/dist-ai/components/form-item.json +242 -0
  88. package/dist-ai/components/form-item.md +93 -0
  89. package/dist-ai/components/form.json +277 -0
  90. package/dist-ai/components/form.md +117 -0
  91. package/dist-ai/components/header.json +86 -0
  92. package/dist-ai/components/header.md +63 -0
  93. package/dist-ai/components/icon.json +95 -0
  94. package/dist-ai/components/icon.md +61 -0
  95. package/dist-ai/components/image-viewer.json +235 -0
  96. package/dist-ai/components/image-viewer.md +88 -0
  97. package/dist-ai/components/image.json +299 -0
  98. package/dist-ai/components/image.md +96 -0
  99. package/dist-ai/components/input-number.json +370 -0
  100. package/dist-ai/components/input-number.md +127 -0
  101. package/dist-ai/components/input.json +545 -0
  102. package/dist-ai/components/input.md +166 -0
  103. package/dist-ai/components/link.json +162 -0
  104. package/dist-ai/components/link.md +72 -0
  105. package/dist-ai/components/main.json +77 -0
  106. package/dist-ai/components/main.md +58 -0
  107. package/dist-ai/components/mention.json +598 -0
  108. package/dist-ai/components/mention.md +136 -0
  109. package/dist-ai/components/menu-item-group.json +101 -0
  110. package/dist-ai/components/menu-item-group.md +69 -0
  111. package/dist-ai/components/menu-item.json +131 -0
  112. package/dist-ai/components/menu-item.md +76 -0
  113. package/dist-ai/components/menu.json +314 -0
  114. package/dist-ai/components/menu.md +104 -0
  115. package/dist-ai/components/option-group.json +113 -0
  116. package/dist-ai/components/option-group.md +79 -0
  117. package/dist-ai/components/option.json +122 -0
  118. package/dist-ai/components/option.md +70 -0
  119. package/dist-ai/components/page-header.json +131 -0
  120. package/dist-ai/components/page-header.md +70 -0
  121. package/dist-ai/components/pagination.json +325 -0
  122. package/dist-ai/components/pagination.md +115 -0
  123. package/dist-ai/components/popconfirm.json +240 -0
  124. package/dist-ai/components/popconfirm.md +89 -0
  125. package/dist-ai/components/popover.json +351 -0
  126. package/dist-ai/components/popover.md +99 -0
  127. package/dist-ai/components/popper.json +93 -0
  128. package/dist-ai/components/popper.md +66 -0
  129. package/dist-ai/components/progress.json +219 -0
  130. package/dist-ai/components/progress.md +74 -0
  131. package/dist-ai/components/radio-button.json +142 -0
  132. package/dist-ai/components/radio-button.md +76 -0
  133. package/dist-ai/components/radio-group.json +219 -0
  134. package/dist-ai/components/radio-group.md +88 -0
  135. package/dist-ai/components/radio.json +177 -0
  136. package/dist-ai/components/radio.md +83 -0
  137. package/dist-ai/components/rate.json +286 -0
  138. package/dist-ai/components/rate.md +83 -0
  139. package/dist-ai/components/result.json +118 -0
  140. package/dist-ai/components/result.md +66 -0
  141. package/dist-ai/components/row.json +115 -0
  142. package/dist-ai/components/row.md +68 -0
  143. package/dist-ai/components/scrollbar.json +280 -0
  144. package/dist-ai/components/scrollbar.md +89 -0
  145. package/dist-ai/components/segmented.json +204 -0
  146. package/dist-ai/components/segmented.md +81 -0
  147. package/dist-ai/components/select-v2.json +729 -0
  148. package/dist-ai/components/select-v2.md +193 -0
  149. package/dist-ai/components/select.json +697 -0
  150. package/dist-ai/components/select.md +188 -0
  151. package/dist-ai/components/skeleton-item.json +80 -0
  152. package/dist-ai/components/skeleton-item.md +57 -0
  153. package/dist-ai/components/skeleton.json +134 -0
  154. package/dist-ai/components/skeleton.md +65 -0
  155. package/dist-ai/components/slider.json +326 -0
  156. package/dist-ai/components/slider.md +88 -0
  157. package/dist-ai/components/space.json +178 -0
  158. package/dist-ai/components/space.md +73 -0
  159. package/dist-ai/components/statistic.json +167 -0
  160. package/dist-ai/components/statistic.md +66 -0
  161. package/dist-ai/components/step.json +124 -0
  162. package/dist-ai/components/step.md +69 -0
  163. package/dist-ai/components/steps.json +157 -0
  164. package/dist-ai/components/steps.md +79 -0
  165. package/dist-ai/components/sub-menu.json +211 -0
  166. package/dist-ai/components/sub-menu.md +88 -0
  167. package/dist-ai/components/switch.json +292 -0
  168. package/dist-ai/components/switch.md +88 -0
  169. package/dist-ai/components/tab-pane.json +137 -0
  170. package/dist-ai/components/tab-pane.md +72 -0
  171. package/dist-ai/components/table-column.json +368 -0
  172. package/dist-ai/components/table-column.md +103 -0
  173. package/dist-ai/components/table-v2.json +486 -0
  174. package/dist-ai/components/table-v2.md +123 -0
  175. package/dist-ai/components/table.json +734 -0
  176. package/dist-ai/components/table.md +205 -0
  177. package/dist-ai/components/tabs.json +231 -0
  178. package/dist-ai/components/tabs.md +127 -0
  179. package/dist-ai/components/tag.json +205 -0
  180. package/dist-ai/components/tag.md +105 -0
  181. package/dist-ai/components/text.json +143 -0
  182. package/dist-ai/components/text.md +66 -0
  183. package/dist-ai/components/time-picker.json +555 -0
  184. package/dist-ai/components/time-picker.md +123 -0
  185. package/dist-ai/components/time-select.json +321 -0
  186. package/dist-ai/components/time-select.md +93 -0
  187. package/dist-ai/components/timeline-item.json +186 -0
  188. package/dist-ai/components/timeline-item.md +78 -0
  189. package/dist-ai/components/timeline.json +99 -0
  190. package/dist-ai/components/timeline.md +65 -0
  191. package/dist-ai/components/tooltip.json +599 -0
  192. package/dist-ai/components/tooltip.md +137 -0
  193. package/dist-ai/components/tour-step.json +219 -0
  194. package/dist-ai/components/tour-step.md +88 -0
  195. package/dist-ai/components/tour.json +258 -0
  196. package/dist-ai/components/tour.md +96 -0
  197. package/dist-ai/components/transfer.json +275 -0
  198. package/dist-ai/components/transfer.md +95 -0
  199. package/dist-ai/components/tree-select.json +945 -0
  200. package/dist-ai/components/tree-select.md +181 -0
  201. package/dist-ai/components/tree-v2.json +395 -0
  202. package/dist-ai/components/tree-v2.md +113 -0
  203. package/dist-ai/components/tree.json +485 -0
  204. package/dist-ai/components/tree.md +131 -0
  205. package/dist-ai/components/upload.json +382 -0
  206. package/dist-ai/components/upload.md +130 -0
  207. package/dist-ai/components/watermark.json +157 -0
  208. package/dist-ai/components/watermark.md +66 -0
  209. package/dist-ai/directives/click-outside.json +61 -0
  210. package/dist-ai/directives/click-outside.md +50 -0
  211. package/dist-ai/directives/infinite-scroll.json +83 -0
  212. package/dist-ai/directives/infinite-scroll.md +62 -0
  213. package/dist-ai/directives/loading.json +89 -0
  214. package/dist-ai/directives/loading.md +69 -0
  215. package/dist-ai/directives/mousewheel.json +54 -0
  216. package/dist-ai/directives/mousewheel.md +48 -0
  217. package/dist-ai/directives/repeat-click.json +68 -0
  218. package/dist-ai/directives/repeat-click.md +49 -0
  219. package/dist-ai/directives/trap-focus.json +46 -0
  220. package/dist-ai/directives/trap-focus.md +46 -0
  221. package/dist-ai/icons.json +1 -0
  222. package/dist-ai/index.json +1 -0
  223. package/dist-ai/llms.txt +170 -0
  224. package/dist-ai/manifest.json +26590 -0
  225. package/dist-ai/schema/manifest.schema.json +793 -0
  226. package/dist-ai/services/infinite-scroll.json +80 -0
  227. package/dist-ai/services/infinite-scroll.md +71 -0
  228. package/dist-ai/services/loading.json +108 -0
  229. package/dist-ai/services/loading.md +58 -0
  230. package/dist-ai/services/message-box.json +159 -0
  231. package/dist-ai/services/message-box.md +78 -0
  232. package/dist-ai/services/message.json +137 -0
  233. package/dist-ai/services/message.md +72 -0
  234. package/dist-ai/services/notification.json +136 -0
  235. package/dist-ai/services/notification.md +73 -0
  236. package/package.json +12 -2
@@ -0,0 +1,245 @@
1
+ {
2
+ "entry": {
3
+ "category": "data",
4
+ "events": [
5
+ {
6
+ "description": "激活幻灯片切换时触发",
7
+ "name": "change",
8
+ "params": "(current: number, prev: number)"
9
+ }
10
+ ],
11
+ "exampleOmittedReason": null,
12
+ "examples": [
13
+ {
14
+ "code": "<script setup lang=\"ts\">\nimport { EpCarousel, EpCarouselItem } from 'ep-craft'\n\nconst colors = ['#409eff', '#67c23a', '#e6a23c', '#f56c6c']\n</script>\n\n<template>\n <ep-carousel height=\"200px\">\n <ep-carousel-item v-for=\"(color, index) in colors\" :key=\"color\">\n <div :style=\"{ background: color, height: '200px' }\">第 {{ index + 1 }} 页</div>\n </ep-carousel-item>\n </ep-carousel>\n</template>",
15
+ "id": "carousel-1",
16
+ "language": "vue",
17
+ "title": "基础走马灯"
18
+ }
19
+ ],
20
+ "exposes": [
21
+ {
22
+ "description": "当前激活幻灯片索引",
23
+ "name": "activeIndex",
24
+ "type": "ComputedRef<number>"
25
+ },
26
+ {
27
+ "description": "手动切换幻灯片",
28
+ "name": "setActiveItem",
29
+ "type": "(index: number | string) => void"
30
+ },
31
+ {
32
+ "description": "切换至上一张",
33
+ "name": "prev",
34
+ "type": "() => void"
35
+ },
36
+ {
37
+ "description": "切换至下一张",
38
+ "name": "next",
39
+ "type": "() => void"
40
+ }
41
+ ],
42
+ "hot": false,
43
+ "id": "component:carousel",
44
+ "keywords": {
45
+ "en": [
46
+ "carousel",
47
+ "slider",
48
+ "banner",
49
+ "data"
50
+ ],
51
+ "zh": [
52
+ "走马灯",
53
+ "数据"
54
+ ]
55
+ },
56
+ "kind": "component",
57
+ "name": "EpCarousel",
58
+ "nonUseCases": [
59
+ "数据量极小且无需结构化展示时"
60
+ ],
61
+ "props": [
62
+ {
63
+ "alias": null,
64
+ "defaultText": "0",
65
+ "description": "初始激活的幻灯片索引,从 0 开始",
66
+ "hasDefault": true,
67
+ "name": "initialIndex",
68
+ "required": false,
69
+ "type": "number"
70
+ },
71
+ {
72
+ "alias": null,
73
+ "defaultText": "''",
74
+ "description": "轮播高度",
75
+ "hasDefault": true,
76
+ "name": "height",
77
+ "required": false,
78
+ "type": "string"
79
+ },
80
+ {
81
+ "alias": null,
82
+ "defaultText": "hover",
83
+ "description": "指示器触发方式",
84
+ "hasDefault": true,
85
+ "name": "trigger",
86
+ "required": false,
87
+ "type": "'hover' | 'click'"
88
+ },
89
+ {
90
+ "alias": null,
91
+ "defaultText": "true",
92
+ "description": "是否自动轮播",
93
+ "hasDefault": true,
94
+ "name": "autoplay",
95
+ "required": false,
96
+ "type": "boolean"
97
+ },
98
+ {
99
+ "alias": null,
100
+ "defaultText": "3000",
101
+ "description": "自动轮播间隔,单位 ms",
102
+ "hasDefault": true,
103
+ "name": "interval",
104
+ "required": false,
105
+ "type": "number"
106
+ },
107
+ {
108
+ "alias": null,
109
+ "defaultText": "''",
110
+ "description": "指示器位置",
111
+ "hasDefault": true,
112
+ "name": "indicatorPosition",
113
+ "required": false,
114
+ "type": "'' | 'none' | 'outside'"
115
+ },
116
+ {
117
+ "alias": null,
118
+ "defaultText": "hover",
119
+ "description": "箭头显示时机",
120
+ "hasDefault": true,
121
+ "name": "arrow",
122
+ "required": false,
123
+ "type": "'always' | 'hover' | 'never'"
124
+ },
125
+ {
126
+ "alias": null,
127
+ "defaultText": "''",
128
+ "description": "轮播类型",
129
+ "hasDefault": true,
130
+ "name": "type",
131
+ "required": false,
132
+ "type": "'' | 'card'"
133
+ },
134
+ {
135
+ "alias": null,
136
+ "defaultText": "0.83",
137
+ "description": "card 类型下非激活卡片的缩放比例",
138
+ "hasDefault": true,
139
+ "name": "cardScale",
140
+ "required": false,
141
+ "type": "number"
142
+ },
143
+ {
144
+ "alias": null,
145
+ "defaultText": "true",
146
+ "description": "是否循环展示",
147
+ "hasDefault": true,
148
+ "name": "loop",
149
+ "required": false,
150
+ "type": "boolean"
151
+ },
152
+ {
153
+ "alias": null,
154
+ "defaultText": "horizontal",
155
+ "description": "展示方向",
156
+ "hasDefault": true,
157
+ "name": "direction",
158
+ "required": false,
159
+ "type": "'horizontal' | 'vertical'"
160
+ },
161
+ {
162
+ "alias": null,
163
+ "defaultText": "true",
164
+ "description": "悬停时是否暂停自动轮播",
165
+ "hasDefault": true,
166
+ "name": "pauseOnHover",
167
+ "required": false,
168
+ "type": "boolean"
169
+ },
170
+ {
171
+ "alias": null,
172
+ "defaultText": "false",
173
+ "description": "是否启用动态模糊",
174
+ "hasDefault": false,
175
+ "name": "motionBlur",
176
+ "required": false,
177
+ "type": "boolean"
178
+ }
179
+ ],
180
+ "related": [
181
+ "EpCarouselItem",
182
+ "EpImage"
183
+ ],
184
+ "relations": {
185
+ "children": [
186
+ "EpCarouselItem"
187
+ ],
188
+ "combos": [
189
+ "EpCarousel + EpCarouselItem"
190
+ ],
191
+ "parents": [],
192
+ "requiredChildren": [
193
+ "EpCarouselItem"
194
+ ]
195
+ },
196
+ "slots": [
197
+ {
198
+ "description": "轮播内容,通常放置 ep-carousel-item",
199
+ "name": "default"
200
+ },
201
+ {
202
+ "description": "自定义左侧箭头",
203
+ "name": "carousel-arrow-left"
204
+ },
205
+ {
206
+ "description": "自定义右侧箭头",
207
+ "name": "carousel-arrow-right"
208
+ }
209
+ ],
210
+ "slug": "carousel",
211
+ "summary": "走马灯,结构化数据展示",
212
+ "tag": "ep-carousel",
213
+ "useCases": [
214
+ "展示走马灯类结构化数据",
215
+ "需要浏览、比较或定位数据时"
216
+ ],
217
+ "variants": [
218
+ {
219
+ "dimension": "type",
220
+ "values": [
221
+ "card"
222
+ ],
223
+ "when": "通过 type 选择轮播类型"
224
+ }
225
+ ],
226
+ "visual": {
227
+ "cssVars": [
228
+ "--el-border-color-lighter",
229
+ "--el-bg-color",
230
+ "--el-text-color-regular",
231
+ "--el-font-size-base"
232
+ ],
233
+ "density": "紧凑",
234
+ "shape": "块级数据区域",
235
+ "slotContent": [
236
+ "default:轮播内容,通常放置 ep-carousel-item",
237
+ "carousel-arrow-left:自定义左侧箭头",
238
+ "carousel-arrow-right:自定义右侧箭头"
239
+ ]
240
+ }
241
+ },
242
+ "generatedAt": "2026-11-03T03:09:12.050Z",
243
+ "libraryVersion": "0.2.0",
244
+ "schemaVersion": 1
245
+ }
@@ -0,0 +1,97 @@
1
+ # EpCarousel
2
+
3
+ `ep-carousel` · data(数据展示) · `component:carousel`
4
+
5
+ ## 摘要
6
+
7
+ 走马灯,结构化数据展示
8
+
9
+ ## 适用场景
10
+
11
+ - 适用:展示走马灯类结构化数据
12
+ - 适用:需要浏览、比较或定位数据时
13
+ - 不适用:数据量极小且无需结构化展示时
14
+
15
+ ## 关键词
16
+
17
+ - 中文:走马灯、数据
18
+ - English: carousel, slider, banner, data
19
+
20
+ ## 变体
21
+
22
+ - type: card(通过 type 选择轮播类型)
23
+
24
+ ## Props
25
+
26
+ - initialIndex (number,默认 0):初始激活的幻灯片索引,从 0 开始
27
+ - height (string,默认 ''):轮播高度
28
+ - trigger ('hover' | 'click',默认 hover):指示器触发方式
29
+ - autoplay (boolean,默认 true):是否自动轮播
30
+ - interval (number,默认 3000):自动轮播间隔,单位 ms
31
+ - indicatorPosition ('' | 'none' | 'outside',默认 ''):指示器位置
32
+ - arrow ('always' | 'hover' | 'never',默认 hover):箭头显示时机
33
+ - type ('' | 'card',默认 ''):轮播类型
34
+ - cardScale (number,默认 0.83):card 类型下非激活卡片的缩放比例
35
+ - loop (boolean,默认 true):是否循环展示
36
+ - direction ('horizontal' | 'vertical',默认 horizontal):展示方向
37
+ - pauseOnHover (boolean,默认 true):悬停时是否暂停自动轮播
38
+ - motionBlur (boolean):是否启用动态模糊
39
+
40
+ ## Events
41
+
42
+ - change((current: number, prev: number)):激活幻灯片切换时触发
43
+
44
+ ## Slots
45
+
46
+ - default:轮播内容,通常放置 ep-carousel-item
47
+ - carousel-arrow-left:自定义左侧箭头
48
+ - carousel-arrow-right:自定义右侧箭头
49
+
50
+ ## Exposes
51
+
52
+ - activeIndex(ComputedRef<number>):当前激活幻灯片索引
53
+ - setActiveItem((index: number | string) => void):手动切换幻灯片
54
+ - prev(() => void):切换至上一张
55
+ - next(() => void):切换至下一张
56
+
57
+ ## 关系
58
+
59
+ - 子级:EpCarouselItem
60
+ - 必需子组件:EpCarouselItem
61
+ - 常用组合:EpCarousel + EpCarouselItem
62
+
63
+ ## 视觉提示
64
+
65
+ - 形状:块级数据区域
66
+ - 密度:紧凑
67
+ - 插槽内容:default:轮播内容,通常放置 ep-carousel-item;carousel-arrow-left:自定义左侧箭头;carousel-arrow-right:自定义右侧箭头
68
+ - CSS 变量:--el-border-color-lighter、--el-bg-color、--el-text-color-regular、--el-font-size-base
69
+
70
+ ## 示例
71
+
72
+ ### 基础走马灯
73
+
74
+ ```vue
75
+ <script setup lang="ts">
76
+ import { EpCarousel, EpCarouselItem } from 'ep-craft'
77
+
78
+ const colors = ['#409eff', '#67c23a', '#e6a23c', '#f56c6c']
79
+ </script>
80
+
81
+ <template>
82
+ <ep-carousel height="200px">
83
+ <ep-carousel-item v-for="(color, index) in colors" :key="color">
84
+ <div :style="{ background: color, height: '200px' }">第 {{ index + 1 }} 页</div>
85
+ </ep-carousel-item>
86
+ </ep-carousel>
87
+ </template>
88
+ ```
89
+
90
+ ## 相关条目
91
+
92
+ - EpCarouselItem
93
+ - EpImage
94
+
95
+ ---
96
+
97
+ ep-craft 0.2.0
@@ -0,0 +1,242 @@
1
+ {
2
+ "entry": {
3
+ "category": "form",
4
+ "events": [
5
+ {
6
+ "description": "绑定值变化时触发",
7
+ "name": "update:modelValue",
8
+ "params": "(value: CascaderValue | null)"
9
+ },
10
+ {
11
+ "description": "选中值变化时触发",
12
+ "name": "change",
13
+ "params": "(value: CascaderValue | null)"
14
+ },
15
+ {
16
+ "description": "单选模式下选中叶子节点时触发",
17
+ "name": "close",
18
+ "params": "—"
19
+ },
20
+ {
21
+ "description": "展开节点变化时触发",
22
+ "name": "expandChange",
23
+ "params": "(value: CascaderNodePathValue)"
24
+ }
25
+ ],
26
+ "exampleOmittedReason": null,
27
+ "examples": [
28
+ {
29
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { EpCascaderPanel } from 'ep-craft'\n\nconst value = ref([])\nconst options = [\n {\n value: 'docs',\n label: '文档',\n children: [{ value: 'guide', label: '指南' }],\n },\n {\n value: 'components',\n label: '组件',\n children: [{ value: 'button', label: '按钮' }],\n },\n]\n</script>\n\n<template>\n <ep-cascader-panel v-model=\"value\" :options=\"options\" />\n</template>",
30
+ "id": "cascader-panel-1",
31
+ "language": "vue",
32
+ "title": "级联面板"
33
+ }
34
+ ],
35
+ "exposes": [
36
+ {
37
+ "description": "获取当前选中的节点",
38
+ "name": "getCheckedNodes",
39
+ "type": "(leafOnly?: boolean) => CascaderNode[]"
40
+ },
41
+ {
42
+ "description": "清空已勾选节点",
43
+ "name": "clearCheckedNodes",
44
+ "type": "() => void"
45
+ },
46
+ {
47
+ "description": "当前勾选节点",
48
+ "name": "checkedNodes",
49
+ "type": "CascaderNode[]"
50
+ },
51
+ {
52
+ "description": "菜单元素引用列表",
53
+ "name": "menuList",
54
+ "type": "Ref<HTMLElement[] | undefined>"
55
+ },
56
+ {
57
+ "description": "菜单节点列表",
58
+ "name": "menus",
59
+ "type": "Ref<CascaderNode[] | undefined>"
60
+ },
61
+ {
62
+ "description": "处理键盘事件",
63
+ "name": "handleKeyDown",
64
+ "type": "(e: KeyboardEvent) => void"
65
+ },
66
+ {
67
+ "description": "处理勾选变化",
68
+ "name": "handleCheckChange",
69
+ "type": "(node: CascaderNode, checked: boolean, emitClose?: boolean) => void"
70
+ },
71
+ {
72
+ "description": "获取扁平化节点",
73
+ "name": "getFlattedNodes",
74
+ "type": "(leafOnly: boolean) => CascaderNode[]"
75
+ },
76
+ {
77
+ "description": "计算勾选值",
78
+ "name": "calculateCheckedValue",
79
+ "type": "() => void"
80
+ },
81
+ {
82
+ "description": "滚动到展开中的节点",
83
+ "name": "scrollToExpandingNode",
84
+ "type": "(level?: number) => void"
85
+ },
86
+ {
87
+ "description": "加载懒加载根节点",
88
+ "name": "loadLazyRootNodes",
89
+ "type": "() => void"
90
+ }
91
+ ],
92
+ "hot": false,
93
+ "id": "component:cascader-panel",
94
+ "keywords": {
95
+ "en": [
96
+ "cascader-panel",
97
+ "cascader",
98
+ "panel",
99
+ "form"
100
+ ],
101
+ "zh": [
102
+ "级联面板",
103
+ "表单"
104
+ ]
105
+ },
106
+ "kind": "component",
107
+ "name": "EpCascaderPanel",
108
+ "nonUseCases": [
109
+ "仅展示静态文本或只读数据时"
110
+ ],
111
+ "props": [
112
+ {
113
+ "alias": null,
114
+ "defaultText": "true",
115
+ "description": "是否显示边框",
116
+ "hasDefault": true,
117
+ "name": "border",
118
+ "required": false,
119
+ "type": "boolean"
120
+ },
121
+ {
122
+ "alias": null,
123
+ "defaultText": null,
124
+ "description": "自定义节点标签的渲染函数",
125
+ "hasDefault": false,
126
+ "name": "renderLabel",
127
+ "required": false,
128
+ "type": "RenderLabel"
129
+ },
130
+ {
131
+ "alias": "v-model",
132
+ "defaultText": null,
133
+ "description": "绑定值",
134
+ "hasDefault": false,
135
+ "name": "modelValue",
136
+ "required": false,
137
+ "type": "CascaderValue | null"
138
+ },
139
+ {
140
+ "alias": null,
141
+ "defaultText": "[]",
142
+ "description": "选项数据",
143
+ "hasDefault": true,
144
+ "name": "options",
145
+ "required": false,
146
+ "type": "CascaderOption[]"
147
+ },
148
+ {
149
+ "alias": null,
150
+ "defaultText": "{}",
151
+ "description": "配置选项,见 Cascader 的 props 说明",
152
+ "hasDefault": true,
153
+ "name": "props",
154
+ "required": false,
155
+ "type": "CascaderProps"
156
+ },
157
+ {
158
+ "alias": null,
159
+ "defaultText": "false",
160
+ "description": "是否启用虚拟滚动",
161
+ "hasDefault": false,
162
+ "name": "virtualScroll",
163
+ "required": false,
164
+ "type": "boolean"
165
+ },
166
+ {
167
+ "alias": null,
168
+ "defaultText": "34",
169
+ "description": "虚拟滚动下的节点高度",
170
+ "hasDefault": true,
171
+ "name": "itemSize",
172
+ "required": false,
173
+ "type": "number"
174
+ },
175
+ {
176
+ "alias": null,
177
+ "defaultText": "204",
178
+ "description": "虚拟滚动下的菜单高度",
179
+ "hasDefault": true,
180
+ "name": "height",
181
+ "required": false,
182
+ "type": "number"
183
+ }
184
+ ],
185
+ "related": [
186
+ "EpCascader"
187
+ ],
188
+ "relations": {
189
+ "children": [],
190
+ "combos": [
191
+ "EpCascader + EpCascaderPanel"
192
+ ],
193
+ "parents": [
194
+ "EpCascader"
195
+ ],
196
+ "requiredChildren": []
197
+ },
198
+ "slots": [
199
+ {
200
+ "description": "自定义节点标签内容,参数为 `{ node, data }`",
201
+ "name": "default"
202
+ },
203
+ {
204
+ "description": "无数据时的内容",
205
+ "name": "empty"
206
+ }
207
+ ],
208
+ "slug": "cascader-panel",
209
+ "summary": "级联面板,表单数据录入控件",
210
+ "tag": "ep-cascader-panel",
211
+ "useCases": [
212
+ "表单中收集或编辑级联面板数据",
213
+ "与 EpForm、EpFormItem 组合完成校验"
214
+ ],
215
+ "variants": [
216
+ {
217
+ "dimension": "effect",
218
+ "values": [
219
+ "border"
220
+ ],
221
+ "when": "通过视觉修饰属性调整外观效果"
222
+ }
223
+ ],
224
+ "visual": {
225
+ "cssVars": [
226
+ "--el-border-color",
227
+ "--el-border-radius-base",
228
+ "--el-color-primary",
229
+ "--el-font-size-base"
230
+ ],
231
+ "density": "中等",
232
+ "shape": "矩形输入框",
233
+ "slotContent": [
234
+ "default:自定义节点标签内容,参数为 `{ node, data }`",
235
+ "empty:无数据时的内容"
236
+ ]
237
+ }
238
+ },
239
+ "generatedAt": "2026-11-03T03:09:12.050Z",
240
+ "libraryVersion": "0.2.0",
241
+ "schemaVersion": 1
242
+ }
@@ -0,0 +1,108 @@
1
+ # EpCascaderPanel
2
+
3
+ `ep-cascader-panel` · form(表单) · `component:cascader-panel`
4
+
5
+ ## 摘要
6
+
7
+ 级联面板,表单数据录入控件
8
+
9
+ ## 适用场景
10
+
11
+ - 适用:表单中收集或编辑级联面板数据
12
+ - 适用:与 EpForm、EpFormItem 组合完成校验
13
+ - 不适用:仅展示静态文本或只读数据时
14
+
15
+ ## 关键词
16
+
17
+ - 中文:级联面板、表单
18
+ - English: cascader-panel, cascader, panel, form
19
+
20
+ ## 变体
21
+
22
+ - effect: border(通过视觉修饰属性调整外观效果)
23
+
24
+ ## Props
25
+
26
+ - border (boolean,默认 true):是否显示边框
27
+ - renderLabel (RenderLabel):自定义节点标签的渲染函数
28
+ - modelValue(别名 v-model) (CascaderValue | null):绑定值
29
+ - options (CascaderOption[],默认 []):选项数据
30
+ - props (CascaderProps,默认 {}):配置选项,见 Cascader 的 props 说明
31
+ - virtualScroll (boolean):是否启用虚拟滚动
32
+ - itemSize (number,默认 34):虚拟滚动下的节点高度
33
+ - height (number,默认 204):虚拟滚动下的菜单高度
34
+
35
+ ## Events
36
+
37
+ - update:modelValue((value: CascaderValue | null)):绑定值变化时触发
38
+ - change((value: CascaderValue | null)):选中值变化时触发
39
+ - close(—):单选模式下选中叶子节点时触发
40
+ - expandChange((value: CascaderNodePathValue)):展开节点变化时触发
41
+
42
+ ## Slots
43
+
44
+ - default:自定义节点标签内容,参数为 `{ node, data }`
45
+ - empty:无数据时的内容
46
+
47
+ ## Exposes
48
+
49
+ - getCheckedNodes((leafOnly?: boolean) => CascaderNode[]):获取当前选中的节点
50
+ - clearCheckedNodes(() => void):清空已勾选节点
51
+ - checkedNodes(CascaderNode[]):当前勾选节点
52
+ - menuList(Ref<HTMLElement[] | undefined>):菜单元素引用列表
53
+ - menus(Ref<CascaderNode[] | undefined>):菜单节点列表
54
+ - handleKeyDown((e: KeyboardEvent) => void):处理键盘事件
55
+ - handleCheckChange((node: CascaderNode, checked: boolean, emitClose?: boolean) => void):处理勾选变化
56
+ - getFlattedNodes((leafOnly: boolean) => CascaderNode[]):获取扁平化节点
57
+ - calculateCheckedValue(() => void):计算勾选值
58
+ - scrollToExpandingNode((level?: number) => void):滚动到展开中的节点
59
+ - loadLazyRootNodes(() => void):加载懒加载根节点
60
+
61
+ ## 关系
62
+
63
+ - 父级:EpCascader
64
+ - 常用组合:EpCascader + EpCascaderPanel
65
+
66
+ ## 视觉提示
67
+
68
+ - 形状:矩形输入框
69
+ - 密度:中等
70
+ - 插槽内容:default:自定义节点标签内容,参数为 `{ node, data }`;empty:无数据时的内容
71
+ - CSS 变量:--el-border-color、--el-border-radius-base、--el-color-primary、--el-font-size-base
72
+
73
+ ## 示例
74
+
75
+ ### 级联面板
76
+
77
+ ```vue
78
+ <script setup lang="ts">
79
+ import { ref } from 'vue'
80
+ import { EpCascaderPanel } from 'ep-craft'
81
+
82
+ const value = ref([])
83
+ const options = [
84
+ {
85
+ value: 'docs',
86
+ label: '文档',
87
+ children: [{ value: 'guide', label: '指南' }],
88
+ },
89
+ {
90
+ value: 'components',
91
+ label: '组件',
92
+ children: [{ value: 'button', label: '按钮' }],
93
+ },
94
+ ]
95
+ </script>
96
+
97
+ <template>
98
+ <ep-cascader-panel v-model="value" :options="options" />
99
+ </template>
100
+ ```
101
+
102
+ ## 相关条目
103
+
104
+ - EpCascader
105
+
106
+ ---
107
+
108
+ ep-craft 0.2.0