ep-craft 0.1.41 → 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 (251) hide show
  1. package/dist/components/input-number/EpInputNumber.vue.js +62 -63
  2. package/dist/components/input-number/input-number.d.ts +5 -0
  3. package/dist/components/input-number/input-number.js +6 -6
  4. package/dist/components/select/index.d.ts +6 -3
  5. package/dist/components/select/select.d.ts +1 -0
  6. package/dist/components/select/select.js +3 -3
  7. package/dist/components/select/select.vue.d.ts +3 -1
  8. package/dist/components/select/select.vue.js +9 -9
  9. package/dist/components/select/select2.vue.js +73 -75
  10. package/dist/components/select-v2/src/defaults.d.ts +1 -0
  11. package/dist/components/select-v2/src/defaults.js +1 -1
  12. package/dist/components/select-v2/src/select.vue.d.ts +3 -1
  13. package/dist/components/select-v2/src/select.vue.js +21 -21
  14. package/dist/components/select-v2/src/select2.vue.js +27 -29
  15. package/dist/components/tree-select/src/tree-select.vue.d.ts +2 -0
  16. package/dist-ai/components/affix.json +152 -0
  17. package/dist-ai/components/affix.md +73 -0
  18. package/dist-ai/components/alert.json +186 -0
  19. package/dist-ai/components/alert.md +89 -0
  20. package/dist-ai/components/anchor-link.json +102 -0
  21. package/dist-ai/components/anchor-link.md +67 -0
  22. package/dist-ai/components/anchor.json +179 -0
  23. package/dist-ai/components/anchor.md +87 -0
  24. package/dist-ai/components/aside.json +87 -0
  25. package/dist-ai/components/aside.md +63 -0
  26. package/dist-ai/components/autocomplete.json +613 -0
  27. package/dist-ai/components/autocomplete.md +140 -0
  28. package/dist-ai/components/avatar.json +163 -0
  29. package/dist-ai/components/avatar.md +83 -0
  30. package/dist-ai/components/backtop.json +118 -0
  31. package/dist-ai/components/backtop.md +66 -0
  32. package/dist-ai/components/badge.json +186 -0
  33. package/dist-ai/components/badge.md +85 -0
  34. package/dist-ai/components/breadcrumb-item.json +97 -0
  35. package/dist-ai/components/breadcrumb-item.md +65 -0
  36. package/dist-ai/components/breadcrumb.json +100 -0
  37. package/dist-ai/components/breadcrumb.md +68 -0
  38. package/dist-ai/components/button-group.json +123 -0
  39. package/dist-ai/components/button-group.md +65 -0
  40. package/dist-ai/components/button.json +349 -0
  41. package/dist-ai/components/button.md +124 -0
  42. package/dist-ai/components/calendar.json +148 -0
  43. package/dist-ai/components/calendar.md +74 -0
  44. package/dist-ai/components/card.json +168 -0
  45. package/dist-ai/components/card.md +87 -0
  46. package/dist-ai/components/carousel-item.json +99 -0
  47. package/dist-ai/components/carousel-item.md +68 -0
  48. package/dist-ai/components/carousel.json +245 -0
  49. package/dist-ai/components/carousel.md +97 -0
  50. package/dist-ai/components/cascader-panel.json +242 -0
  51. package/dist-ai/components/cascader-panel.md +108 -0
  52. package/dist-ai/components/cascader.json +531 -0
  53. package/dist-ai/components/cascader.md +146 -0
  54. package/dist-ai/components/check-tag.json +133 -0
  55. package/dist-ai/components/check-tag.md +72 -0
  56. package/dist-ai/components/checkbox-button.json +279 -0
  57. package/dist-ai/components/checkbox-button.md +94 -0
  58. package/dist-ai/components/checkbox-group.json +236 -0
  59. package/dist-ai/components/checkbox-group.md +90 -0
  60. package/dist-ai/components/checkbox.json +278 -0
  61. package/dist-ai/components/checkbox.md +91 -0
  62. package/dist-ai/components/col.json +168 -0
  63. package/dist-ai/components/col.md +72 -0
  64. package/dist-ai/components/collapse-item.json +133 -0
  65. package/dist-ai/components/collapse-item.md +75 -0
  66. package/dist-ai/components/collapse-transition.json +75 -0
  67. package/dist-ai/components/collapse-transition.md +59 -0
  68. package/dist-ai/components/collapse.json +129 -0
  69. package/dist-ai/components/collapse.md +76 -0
  70. package/dist-ai/components/color-picker.json +280 -0
  71. package/dist-ai/components/color-picker.md +85 -0
  72. package/dist-ai/components/config-provider.json +222 -0
  73. package/dist-ai/components/config-provider.md +76 -0
  74. package/dist-ai/components/container.json +95 -0
  75. package/dist-ai/components/container.md +70 -0
  76. package/dist-ai/components/countdown.json +155 -0
  77. package/dist-ai/components/countdown.md +73 -0
  78. package/dist-ai/components/date-picker-panel.json +346 -0
  79. package/dist-ai/components/date-picker-panel.md +91 -0
  80. package/dist-ai/components/date-picker.json +574 -0
  81. package/dist-ai/components/date-picker.md +153 -0
  82. package/dist-ai/components/descriptions-item.json +175 -0
  83. package/dist-ai/components/descriptions-item.md +73 -0
  84. package/dist-ai/components/descriptions.json +171 -0
  85. package/dist-ai/components/descriptions.md +78 -0
  86. package/dist-ai/components/dialog.json +403 -0
  87. package/dist-ai/components/dialog.md +108 -0
  88. package/dist-ai/components/divider.json +102 -0
  89. package/dist-ai/components/divider.md +59 -0
  90. package/dist-ai/components/drawer.json +468 -0
  91. package/dist-ai/components/drawer.md +115 -0
  92. package/dist-ai/components/dropdown-item.json +156 -0
  93. package/dist-ai/components/dropdown-item.md +84 -0
  94. package/dist-ai/components/dropdown-menu.json +92 -0
  95. package/dist-ai/components/dropdown-menu.md +70 -0
  96. package/dist-ai/components/dropdown.json +374 -0
  97. package/dist-ai/components/dropdown.md +108 -0
  98. package/dist-ai/components/empty.json +116 -0
  99. package/dist-ai/components/empty.md +62 -0
  100. package/dist-ai/components/footer.json +86 -0
  101. package/dist-ai/components/footer.md +63 -0
  102. package/dist-ai/components/form-item.json +242 -0
  103. package/dist-ai/components/form-item.md +93 -0
  104. package/dist-ai/components/form.json +277 -0
  105. package/dist-ai/components/form.md +117 -0
  106. package/dist-ai/components/header.json +86 -0
  107. package/dist-ai/components/header.md +63 -0
  108. package/dist-ai/components/icon.json +95 -0
  109. package/dist-ai/components/icon.md +61 -0
  110. package/dist-ai/components/image-viewer.json +235 -0
  111. package/dist-ai/components/image-viewer.md +88 -0
  112. package/dist-ai/components/image.json +299 -0
  113. package/dist-ai/components/image.md +96 -0
  114. package/dist-ai/components/input-number.json +370 -0
  115. package/dist-ai/components/input-number.md +127 -0
  116. package/dist-ai/components/input.json +545 -0
  117. package/dist-ai/components/input.md +166 -0
  118. package/dist-ai/components/link.json +162 -0
  119. package/dist-ai/components/link.md +72 -0
  120. package/dist-ai/components/main.json +77 -0
  121. package/dist-ai/components/main.md +58 -0
  122. package/dist-ai/components/mention.json +598 -0
  123. package/dist-ai/components/mention.md +136 -0
  124. package/dist-ai/components/menu-item-group.json +101 -0
  125. package/dist-ai/components/menu-item-group.md +69 -0
  126. package/dist-ai/components/menu-item.json +131 -0
  127. package/dist-ai/components/menu-item.md +76 -0
  128. package/dist-ai/components/menu.json +314 -0
  129. package/dist-ai/components/menu.md +104 -0
  130. package/dist-ai/components/option-group.json +113 -0
  131. package/dist-ai/components/option-group.md +79 -0
  132. package/dist-ai/components/option.json +122 -0
  133. package/dist-ai/components/option.md +70 -0
  134. package/dist-ai/components/page-header.json +131 -0
  135. package/dist-ai/components/page-header.md +70 -0
  136. package/dist-ai/components/pagination.json +325 -0
  137. package/dist-ai/components/pagination.md +115 -0
  138. package/dist-ai/components/popconfirm.json +240 -0
  139. package/dist-ai/components/popconfirm.md +89 -0
  140. package/dist-ai/components/popover.json +351 -0
  141. package/dist-ai/components/popover.md +99 -0
  142. package/dist-ai/components/popper.json +93 -0
  143. package/dist-ai/components/popper.md +66 -0
  144. package/dist-ai/components/progress.json +219 -0
  145. package/dist-ai/components/progress.md +74 -0
  146. package/dist-ai/components/radio-button.json +142 -0
  147. package/dist-ai/components/radio-button.md +76 -0
  148. package/dist-ai/components/radio-group.json +219 -0
  149. package/dist-ai/components/radio-group.md +88 -0
  150. package/dist-ai/components/radio.json +177 -0
  151. package/dist-ai/components/radio.md +83 -0
  152. package/dist-ai/components/rate.json +286 -0
  153. package/dist-ai/components/rate.md +83 -0
  154. package/dist-ai/components/result.json +118 -0
  155. package/dist-ai/components/result.md +66 -0
  156. package/dist-ai/components/row.json +115 -0
  157. package/dist-ai/components/row.md +68 -0
  158. package/dist-ai/components/scrollbar.json +280 -0
  159. package/dist-ai/components/scrollbar.md +89 -0
  160. package/dist-ai/components/segmented.json +204 -0
  161. package/dist-ai/components/segmented.md +81 -0
  162. package/dist-ai/components/select-v2.json +729 -0
  163. package/dist-ai/components/select-v2.md +193 -0
  164. package/dist-ai/components/select.json +697 -0
  165. package/dist-ai/components/select.md +188 -0
  166. package/dist-ai/components/skeleton-item.json +80 -0
  167. package/dist-ai/components/skeleton-item.md +57 -0
  168. package/dist-ai/components/skeleton.json +134 -0
  169. package/dist-ai/components/skeleton.md +65 -0
  170. package/dist-ai/components/slider.json +326 -0
  171. package/dist-ai/components/slider.md +88 -0
  172. package/dist-ai/components/space.json +178 -0
  173. package/dist-ai/components/space.md +73 -0
  174. package/dist-ai/components/statistic.json +167 -0
  175. package/dist-ai/components/statistic.md +66 -0
  176. package/dist-ai/components/step.json +124 -0
  177. package/dist-ai/components/step.md +69 -0
  178. package/dist-ai/components/steps.json +157 -0
  179. package/dist-ai/components/steps.md +79 -0
  180. package/dist-ai/components/sub-menu.json +211 -0
  181. package/dist-ai/components/sub-menu.md +88 -0
  182. package/dist-ai/components/switch.json +292 -0
  183. package/dist-ai/components/switch.md +88 -0
  184. package/dist-ai/components/tab-pane.json +137 -0
  185. package/dist-ai/components/tab-pane.md +72 -0
  186. package/dist-ai/components/table-column.json +368 -0
  187. package/dist-ai/components/table-column.md +103 -0
  188. package/dist-ai/components/table-v2.json +486 -0
  189. package/dist-ai/components/table-v2.md +123 -0
  190. package/dist-ai/components/table.json +734 -0
  191. package/dist-ai/components/table.md +205 -0
  192. package/dist-ai/components/tabs.json +231 -0
  193. package/dist-ai/components/tabs.md +127 -0
  194. package/dist-ai/components/tag.json +205 -0
  195. package/dist-ai/components/tag.md +105 -0
  196. package/dist-ai/components/text.json +143 -0
  197. package/dist-ai/components/text.md +66 -0
  198. package/dist-ai/components/time-picker.json +555 -0
  199. package/dist-ai/components/time-picker.md +123 -0
  200. package/dist-ai/components/time-select.json +321 -0
  201. package/dist-ai/components/time-select.md +93 -0
  202. package/dist-ai/components/timeline-item.json +186 -0
  203. package/dist-ai/components/timeline-item.md +78 -0
  204. package/dist-ai/components/timeline.json +99 -0
  205. package/dist-ai/components/timeline.md +65 -0
  206. package/dist-ai/components/tooltip.json +599 -0
  207. package/dist-ai/components/tooltip.md +137 -0
  208. package/dist-ai/components/tour-step.json +219 -0
  209. package/dist-ai/components/tour-step.md +88 -0
  210. package/dist-ai/components/tour.json +258 -0
  211. package/dist-ai/components/tour.md +96 -0
  212. package/dist-ai/components/transfer.json +275 -0
  213. package/dist-ai/components/transfer.md +95 -0
  214. package/dist-ai/components/tree-select.json +945 -0
  215. package/dist-ai/components/tree-select.md +181 -0
  216. package/dist-ai/components/tree-v2.json +395 -0
  217. package/dist-ai/components/tree-v2.md +113 -0
  218. package/dist-ai/components/tree.json +485 -0
  219. package/dist-ai/components/tree.md +131 -0
  220. package/dist-ai/components/upload.json +382 -0
  221. package/dist-ai/components/upload.md +130 -0
  222. package/dist-ai/components/watermark.json +157 -0
  223. package/dist-ai/components/watermark.md +66 -0
  224. package/dist-ai/directives/click-outside.json +61 -0
  225. package/dist-ai/directives/click-outside.md +50 -0
  226. package/dist-ai/directives/infinite-scroll.json +83 -0
  227. package/dist-ai/directives/infinite-scroll.md +62 -0
  228. package/dist-ai/directives/loading.json +89 -0
  229. package/dist-ai/directives/loading.md +69 -0
  230. package/dist-ai/directives/mousewheel.json +54 -0
  231. package/dist-ai/directives/mousewheel.md +48 -0
  232. package/dist-ai/directives/repeat-click.json +68 -0
  233. package/dist-ai/directives/repeat-click.md +49 -0
  234. package/dist-ai/directives/trap-focus.json +46 -0
  235. package/dist-ai/directives/trap-focus.md +46 -0
  236. package/dist-ai/icons.json +1 -0
  237. package/dist-ai/index.json +1 -0
  238. package/dist-ai/llms.txt +170 -0
  239. package/dist-ai/manifest.json +26590 -0
  240. package/dist-ai/schema/manifest.schema.json +793 -0
  241. package/dist-ai/services/infinite-scroll.json +80 -0
  242. package/dist-ai/services/infinite-scroll.md +71 -0
  243. package/dist-ai/services/loading.json +108 -0
  244. package/dist-ai/services/loading.md +58 -0
  245. package/dist-ai/services/message-box.json +159 -0
  246. package/dist-ai/services/message-box.md +78 -0
  247. package/dist-ai/services/message.json +137 -0
  248. package/dist-ai/services/message.md +72 -0
  249. package/dist-ai/services/notification.json +136 -0
  250. package/dist-ai/services/notification.md +73 -0
  251. package/package.json +12 -2
@@ -0,0 +1,545 @@
1
+ {
2
+ "entry": {
3
+ "category": "form",
4
+ "events": [
5
+ {
6
+ "description": "输入值变化时触发",
7
+ "name": "update:modelValue",
8
+ "params": "(value: string)"
9
+ },
10
+ {
11
+ "description": "在 Input 值改变时触发",
12
+ "name": "input",
13
+ "params": "(value: string | number)"
14
+ },
15
+ {
16
+ "description": "仅当 modelValue 改变时触发",
17
+ "name": "change",
18
+ "params": "(value: string | number)"
19
+ },
20
+ {
21
+ "description": "在 Input 获得焦点时触发",
22
+ "name": "focus",
23
+ "params": "(event: FocusEvent)"
24
+ },
25
+ {
26
+ "description": "在 Input 失去焦点时触发",
27
+ "name": "blur",
28
+ "params": "(event: FocusEvent)"
29
+ },
30
+ {
31
+ "description": "在点击由 clearable 属性生成的清空按钮时触发",
32
+ "name": "clear",
33
+ "params": "()"
34
+ },
35
+ {
36
+ "description": "鼠标离开 Input 时触发",
37
+ "name": "mouseleave",
38
+ "params": "(event: MouseEvent)"
39
+ },
40
+ {
41
+ "description": "鼠标进入 Input 时触发",
42
+ "name": "mouseenter",
43
+ "params": "(event: MouseEvent)"
44
+ },
45
+ {
46
+ "description": "在 Input 上按下按键时触发",
47
+ "name": "keydown",
48
+ "params": "(event: KeyboardEvent | Event)"
49
+ },
50
+ {
51
+ "description": "输入法组合输入开始时触发",
52
+ "name": "compositionstart",
53
+ "params": "(event: CompositionEvent)"
54
+ },
55
+ {
56
+ "description": "输入法组合输入更新时触发",
57
+ "name": "compositionupdate",
58
+ "params": "(event: CompositionEvent)"
59
+ },
60
+ {
61
+ "description": "输入法组合输入结束时触发",
62
+ "name": "compositionend",
63
+ "params": "(event: CompositionEvent)"
64
+ }
65
+ ],
66
+ "exampleOmittedReason": null,
67
+ "examples": [
68
+ {
69
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { EpInput } from 'ep-craft'\n\nconst value = ref('')\n</script>\n\n<template>\n <ep-input v-model=\"value\" placeholder=\"请输入内容\" />\n</template>",
70
+ "id": "input-1",
71
+ "language": "vue",
72
+ "title": "基础输入框"
73
+ },
74
+ {
75
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { EpInput } from 'ep-craft'\n\nconst keyword = ref('')\nconst password = ref('')\n</script>\n\n<template>\n <ep-input v-model=\"keyword\" clearable placeholder=\"可清空\" />\n <ep-input v-model=\"password\" type=\"password\" show-password placeholder=\"密码\" />\n</template>",
76
+ "id": "input-2",
77
+ "language": "vue",
78
+ "title": "可清空与密码框"
79
+ },
80
+ {
81
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { EpIcon, EpInput } from 'ep-craft'\nimport { Search } from 'ep-craft/icons'\n\nconst query = ref('')\n</script>\n\n<template>\n <ep-input v-model=\"query\" placeholder=\"搜索\">\n <template #prefix>\n <ep-icon><Search /></ep-icon>\n </template>\n </ep-input>\n</template>",
82
+ "id": "input-3",
83
+ "language": "vue",
84
+ "title": "前缀图标"
85
+ }
86
+ ],
87
+ "exposes": [
88
+ {
89
+ "description": "使 input 失去焦点",
90
+ "name": "blur",
91
+ "type": "() => void"
92
+ },
93
+ {
94
+ "description": "清除 input 值",
95
+ "name": "clear",
96
+ "type": "() => void"
97
+ },
98
+ {
99
+ "description": "使 input 获取焦点",
100
+ "name": "focus",
101
+ "type": "() => void"
102
+ },
103
+ {
104
+ "description": "Input HTML 元素",
105
+ "name": "input",
106
+ "type": "Ref<HTMLInputElement>"
107
+ },
108
+ {
109
+ "description": "HTML 元素 input 或 textarea",
110
+ "name": "ref",
111
+ "type": "Ref<HTMLInputElement | HTMLTextAreaElement>"
112
+ },
113
+ {
114
+ "description": "改变 textarea 大小",
115
+ "name": "resizeTextarea",
116
+ "type": "() => void"
117
+ },
118
+ {
119
+ "description": "选中 input 中的文字",
120
+ "name": "select",
121
+ "type": "() => void"
122
+ },
123
+ {
124
+ "description": "HTML textarea 元素",
125
+ "name": "textarea",
126
+ "type": "Ref<HTMLTextAreaElement>"
127
+ },
128
+ {
129
+ "description": "textarea 的样式",
130
+ "name": "textareaStyle",
131
+ "type": "Ref<StyleValue>"
132
+ }
133
+ ],
134
+ "hot": true,
135
+ "id": "component:input",
136
+ "keywords": {
137
+ "en": [
138
+ "input",
139
+ "textbox",
140
+ "field",
141
+ "form"
142
+ ],
143
+ "zh": [
144
+ "输入框",
145
+ "文本输入",
146
+ "搜索",
147
+ "表单"
148
+ ]
149
+ },
150
+ "kind": "component",
151
+ "name": "EpInput",
152
+ "nonUseCases": [
153
+ "只能从固定选项中选择时使用 Select"
154
+ ],
155
+ "props": [
156
+ {
157
+ "alias": null,
158
+ "defaultText": null,
159
+ "description": "",
160
+ "hasDefault": false,
161
+ "name": "id",
162
+ "required": false,
163
+ "type": "unknown"
164
+ },
165
+ {
166
+ "alias": null,
167
+ "defaultText": null,
168
+ "description": "输入框尺寸",
169
+ "hasDefault": false,
170
+ "name": "size",
171
+ "required": false,
172
+ "type": "'large' | 'default' | 'small'"
173
+ },
174
+ {
175
+ "alias": null,
176
+ "defaultText": "false",
177
+ "description": "是否禁用",
178
+ "hasDefault": true,
179
+ "name": "disabled",
180
+ "required": false,
181
+ "type": "boolean"
182
+ },
183
+ {
184
+ "alias": "v-model",
185
+ "defaultText": null,
186
+ "description": "绑定值",
187
+ "hasDefault": true,
188
+ "name": "modelValue",
189
+ "required": false,
190
+ "type": "string | number"
191
+ },
192
+ {
193
+ "alias": null,
194
+ "defaultText": null,
195
+ "description": "",
196
+ "hasDefault": true,
197
+ "name": "modelModifiers",
198
+ "required": false,
199
+ "type": "unknown"
200
+ },
201
+ {
202
+ "alias": null,
203
+ "defaultText": null,
204
+ "description": "最大输入长度",
205
+ "hasDefault": false,
206
+ "name": "maxlength",
207
+ "required": false,
208
+ "type": "string | number"
209
+ },
210
+ {
211
+ "alias": null,
212
+ "defaultText": null,
213
+ "description": "最小输入长度",
214
+ "hasDefault": false,
215
+ "name": "minlength",
216
+ "required": false,
217
+ "type": "string | number"
218
+ },
219
+ {
220
+ "alias": null,
221
+ "defaultText": "text",
222
+ "description": "类型",
223
+ "hasDefault": true,
224
+ "name": "type",
225
+ "required": false,
226
+ "type": "'text' | 'textarea' | 其他原生 input 类型"
227
+ },
228
+ {
229
+ "alias": null,
230
+ "defaultText": null,
231
+ "description": "控制是否能被用户缩放",
232
+ "hasDefault": false,
233
+ "name": "resize",
234
+ "required": false,
235
+ "type": "'none' | 'both' | 'horizontal' | 'vertical'"
236
+ },
237
+ {
238
+ "alias": null,
239
+ "defaultText": "false",
240
+ "description": "textarea 自适应内容高度",
241
+ "hasDefault": false,
242
+ "name": "autosize",
243
+ "required": false,
244
+ "type": "boolean | { minRows: number, maxRows: number }"
245
+ },
246
+ {
247
+ "alias": null,
248
+ "defaultText": "off",
249
+ "description": "原生 autocomplete 属性",
250
+ "hasDefault": true,
251
+ "name": "autocomplete",
252
+ "required": false,
253
+ "type": "string"
254
+ },
255
+ {
256
+ "alias": null,
257
+ "defaultText": null,
258
+ "description": "指定输入值的格式",
259
+ "hasDefault": false,
260
+ "name": "formatter",
261
+ "required": false,
262
+ "type": "(value: string | number) => string"
263
+ },
264
+ {
265
+ "alias": null,
266
+ "defaultText": null,
267
+ "description": "指定从格式化器输入中提取的值",
268
+ "hasDefault": false,
269
+ "name": "parser",
270
+ "required": false,
271
+ "type": "(value: string) => string"
272
+ },
273
+ {
274
+ "alias": null,
275
+ "defaultText": null,
276
+ "description": "输入框占位文本",
277
+ "hasDefault": false,
278
+ "name": "placeholder",
279
+ "required": false,
280
+ "type": "string"
281
+ },
282
+ {
283
+ "alias": null,
284
+ "defaultText": null,
285
+ "description": "原生 form 属性",
286
+ "hasDefault": false,
287
+ "name": "form",
288
+ "required": false,
289
+ "type": "string"
290
+ },
291
+ {
292
+ "alias": null,
293
+ "defaultText": "false",
294
+ "description": "原生 readonly 属性",
295
+ "hasDefault": false,
296
+ "name": "readonly",
297
+ "required": false,
298
+ "type": "boolean"
299
+ },
300
+ {
301
+ "alias": null,
302
+ "defaultText": "false",
303
+ "description": "是否显示清除按钮",
304
+ "hasDefault": false,
305
+ "name": "clearable",
306
+ "required": false,
307
+ "type": "boolean"
308
+ },
309
+ {
310
+ "alias": null,
311
+ "defaultText": null,
312
+ "description": "",
313
+ "hasDefault": true,
314
+ "name": "clearIcon",
315
+ "required": false,
316
+ "type": "unknown"
317
+ },
318
+ {
319
+ "alias": null,
320
+ "defaultText": "false",
321
+ "description": "是否显示切换密码图标",
322
+ "hasDefault": false,
323
+ "name": "showPassword",
324
+ "required": false,
325
+ "type": "boolean"
326
+ },
327
+ {
328
+ "alias": null,
329
+ "defaultText": "false",
330
+ "description": "是否显示统计字数",
331
+ "hasDefault": false,
332
+ "name": "showWordLimit",
333
+ "required": false,
334
+ "type": "boolean"
335
+ },
336
+ {
337
+ "alias": null,
338
+ "defaultText": null,
339
+ "description": "",
340
+ "hasDefault": true,
341
+ "name": "wordLimitPosition",
342
+ "required": false,
343
+ "type": "unknown"
344
+ },
345
+ {
346
+ "alias": null,
347
+ "defaultText": null,
348
+ "description": "自定义后缀图标",
349
+ "hasDefault": false,
350
+ "name": "suffixIcon",
351
+ "required": false,
352
+ "type": "string | Component"
353
+ },
354
+ {
355
+ "alias": null,
356
+ "defaultText": null,
357
+ "description": "自定义前缀图标",
358
+ "hasDefault": false,
359
+ "name": "prefixIcon",
360
+ "required": false,
361
+ "type": "string | Component"
362
+ },
363
+ {
364
+ "alias": null,
365
+ "defaultText": null,
366
+ "description": "",
367
+ "hasDefault": false,
368
+ "name": "containerRole",
369
+ "required": false,
370
+ "type": "unknown"
371
+ },
372
+ {
373
+ "alias": null,
374
+ "defaultText": null,
375
+ "description": "输入框的 tabindex",
376
+ "hasDefault": true,
377
+ "name": "tabindex",
378
+ "required": false,
379
+ "type": "string | number"
380
+ },
381
+ {
382
+ "alias": null,
383
+ "defaultText": "true",
384
+ "description": "输入时是否触发表单的校验",
385
+ "hasDefault": true,
386
+ "name": "validateEvent",
387
+ "required": false,
388
+ "type": "boolean"
389
+ },
390
+ {
391
+ "alias": null,
392
+ "defaultText": "{}",
393
+ "description": "input 元素或 textarea 元素的 style",
394
+ "hasDefault": true,
395
+ "name": "inputStyle",
396
+ "required": false,
397
+ "type": "string | object"
398
+ },
399
+ {
400
+ "alias": null,
401
+ "defaultText": "false",
402
+ "description": "原生 autofocus 属性",
403
+ "hasDefault": false,
404
+ "name": "autofocus",
405
+ "required": false,
406
+ "type": "boolean"
407
+ },
408
+ {
409
+ "alias": null,
410
+ "defaultText": "2",
411
+ "description": "textarea 的行数",
412
+ "hasDefault": true,
413
+ "name": "rows",
414
+ "required": false,
415
+ "type": "number"
416
+ },
417
+ {
418
+ "alias": null,
419
+ "defaultText": null,
420
+ "description": "",
421
+ "hasDefault": false,
422
+ "name": "ariaLabel",
423
+ "required": false,
424
+ "type": "unknown"
425
+ },
426
+ {
427
+ "alias": null,
428
+ "defaultText": null,
429
+ "description": "",
430
+ "hasDefault": false,
431
+ "name": "inputmode",
432
+ "required": false,
433
+ "type": "unknown"
434
+ },
435
+ {
436
+ "alias": null,
437
+ "defaultText": null,
438
+ "description": "原生 name 属性",
439
+ "hasDefault": false,
440
+ "name": "name",
441
+ "required": false,
442
+ "type": "string"
443
+ },
444
+ {
445
+ "alias": null,
446
+ "defaultText": null,
447
+ "description": "",
448
+ "hasDefault": false,
449
+ "name": "countGraphemes",
450
+ "required": false,
451
+ "type": "unknown"
452
+ },
453
+ {
454
+ "alias": null,
455
+ "defaultText": "false",
456
+ "description": "是否启用浮动标签(Material 风格),聚焦或有值时占位文本上浮",
457
+ "hasDefault": false,
458
+ "name": "floatLabel",
459
+ "required": false,
460
+ "type": "boolean"
461
+ }
462
+ ],
463
+ "related": [
464
+ "EpFormItem",
465
+ "EpInputNumber",
466
+ "EpAutocomplete"
467
+ ],
468
+ "relations": {
469
+ "children": [],
470
+ "combos": [],
471
+ "parents": [],
472
+ "requiredChildren": []
473
+ },
474
+ "slots": [
475
+ {
476
+ "description": "输入框头部内容",
477
+ "name": "prefix"
478
+ },
479
+ {
480
+ "description": "输入框尾部内容",
481
+ "name": "suffix"
482
+ },
483
+ {
484
+ "description": "输入框前置内容",
485
+ "name": "prepend"
486
+ },
487
+ {
488
+ "description": "输入框后置内容",
489
+ "name": "append"
490
+ }
491
+ ],
492
+ "slug": "input",
493
+ "summary": "文本输入框,支持前后缀、清空与校验",
494
+ "tag": "ep-input",
495
+ "useCases": [
496
+ "收集用户名、搜索词等文本",
497
+ "表单字段输入与校验"
498
+ ],
499
+ "variants": [
500
+ {
501
+ "dimension": "type",
502
+ "values": [
503
+ "text",
504
+ "textarea"
505
+ ],
506
+ "when": "通过 type 选择类型"
507
+ },
508
+ {
509
+ "dimension": "size",
510
+ "values": [
511
+ "large",
512
+ "default",
513
+ "small"
514
+ ],
515
+ "when": "按容器空间与信息密度选择尺寸"
516
+ },
517
+ {
518
+ "dimension": "state",
519
+ "values": [
520
+ "disabled",
521
+ "readonly"
522
+ ],
523
+ "when": "通过布尔属性切换禁用、加载或选中状态"
524
+ }
525
+ ],
526
+ "visual": {
527
+ "cssVars": [
528
+ "--el-border-color",
529
+ "--el-border-radius-base",
530
+ "--el-color-primary",
531
+ "--el-font-size-base"
532
+ ],
533
+ "density": "中等",
534
+ "shape": "矩形输入框",
535
+ "slotContent": [
536
+ "prefix:输入框头部内容",
537
+ "suffix:输入框尾部内容",
538
+ "prepend:输入框前置内容"
539
+ ]
540
+ }
541
+ },
542
+ "generatedAt": "2026-11-03T03:09:12.050Z",
543
+ "libraryVersion": "0.2.0",
544
+ "schemaVersion": 1
545
+ }
@@ -0,0 +1,166 @@
1
+ # EpInput
2
+
3
+ `ep-input` · form(表单) · `component:input`
4
+
5
+ ## 摘要
6
+
7
+ 文本输入框,支持前后缀、清空与校验
8
+
9
+ ## 适用场景
10
+
11
+ - 适用:收集用户名、搜索词等文本
12
+ - 适用:表单字段输入与校验
13
+ - 不适用:只能从固定选项中选择时使用 Select
14
+
15
+ ## 关键词
16
+
17
+ - 中文:输入框、文本输入、搜索、表单
18
+ - English: input, textbox, field, form
19
+
20
+ ## 变体
21
+
22
+ - type: text/textarea(通过 type 选择类型)
23
+ - size: large/default/small(按容器空间与信息密度选择尺寸)
24
+ - state: disabled/readonly(通过布尔属性切换禁用、加载或选中状态)
25
+
26
+ ## Props
27
+
28
+ - id (unknown)
29
+ - size ('large' | 'default' | 'small'):输入框尺寸
30
+ - disabled (boolean,默认 false):是否禁用
31
+ - modelValue(别名 v-model) (string | number,默认 见文档):绑定值
32
+ - modelModifiers (unknown,默认 见文档)
33
+ - maxlength (string | number):最大输入长度
34
+ - minlength (string | number):最小输入长度
35
+ - type ('text' | 'textarea' | 其他原生 input 类型,默认 text):类型
36
+ - resize ('none' | 'both' | 'horizontal' | 'vertical'):控制是否能被用户缩放
37
+ - autosize (boolean | { minRows: number, maxRows: number }):textarea 自适应内容高度
38
+ - autocomplete (string,默认 off):原生 autocomplete 属性
39
+ - formatter ((value: string | number) => string):指定输入值的格式
40
+ - parser ((value: string) => string):指定从格式化器输入中提取的值
41
+ - placeholder (string):输入框占位文本
42
+ - form (string):原生 form 属性
43
+ - readonly (boolean):原生 readonly 属性
44
+ - clearable (boolean):是否显示清除按钮
45
+ - clearIcon (unknown,默认 见文档)
46
+ - showPassword (boolean):是否显示切换密码图标
47
+ - showWordLimit (boolean):是否显示统计字数
48
+ - wordLimitPosition (unknown,默认 见文档)
49
+ - suffixIcon (string | Component):自定义后缀图标
50
+ - prefixIcon (string | Component):自定义前缀图标
51
+ - containerRole (unknown)
52
+ - tabindex (string | number,默认 见文档):输入框的 tabindex
53
+ - validateEvent (boolean,默认 true):输入时是否触发表单的校验
54
+ - inputStyle (string | object,默认 {}):input 元素或 textarea 元素的 style
55
+ - autofocus (boolean):原生 autofocus 属性
56
+ - rows (number,默认 2):textarea 的行数
57
+ - ariaLabel (unknown)
58
+ - inputmode (unknown)
59
+ - name (string):原生 name 属性
60
+ - countGraphemes (unknown)
61
+ - floatLabel (boolean):是否启用浮动标签(Material 风格),聚焦或有值时占位文本上浮
62
+
63
+ ## Events
64
+
65
+ - update:modelValue((value: string)):输入值变化时触发
66
+ - input((value: string | number)):在 Input 值改变时触发
67
+ - change((value: string | number)):仅当 modelValue 改变时触发
68
+ - focus((event: FocusEvent)):在 Input 获得焦点时触发
69
+ - blur((event: FocusEvent)):在 Input 失去焦点时触发
70
+ - clear(()):在点击由 clearable 属性生成的清空按钮时触发
71
+ - mouseleave((event: MouseEvent)):鼠标离开 Input 时触发
72
+ - mouseenter((event: MouseEvent)):鼠标进入 Input 时触发
73
+ - keydown((event: KeyboardEvent | Event)):在 Input 上按下按键时触发
74
+ - compositionstart((event: CompositionEvent)):输入法组合输入开始时触发
75
+ - compositionupdate((event: CompositionEvent)):输入法组合输入更新时触发
76
+ - compositionend((event: CompositionEvent)):输入法组合输入结束时触发
77
+
78
+ ## Slots
79
+
80
+ - prefix:输入框头部内容
81
+ - suffix:输入框尾部内容
82
+ - prepend:输入框前置内容
83
+ - append:输入框后置内容
84
+
85
+ ## Exposes
86
+
87
+ - blur(() => void):使 input 失去焦点
88
+ - clear(() => void):清除 input 值
89
+ - focus(() => void):使 input 获取焦点
90
+ - input(Ref<HTMLInputElement>):Input HTML 元素
91
+ - ref(Ref<HTMLInputElement | HTMLTextAreaElement>):HTML 元素 input 或 textarea
92
+ - resizeTextarea(() => void):改变 textarea 大小
93
+ - select(() => void):选中 input 中的文字
94
+ - textarea(Ref<HTMLTextAreaElement>):HTML textarea 元素
95
+ - textareaStyle(Ref<StyleValue>):textarea 的样式
96
+
97
+ ## 视觉提示
98
+
99
+ - 形状:矩形输入框
100
+ - 密度:中等
101
+ - 插槽内容:prefix:输入框头部内容;suffix:输入框尾部内容;prepend:输入框前置内容
102
+ - CSS 变量:--el-border-color、--el-border-radius-base、--el-color-primary、--el-font-size-base
103
+
104
+ ## 示例
105
+
106
+ ### 基础输入框
107
+
108
+ ```vue
109
+ <script setup lang="ts">
110
+ import { ref } from 'vue'
111
+ import { EpInput } from 'ep-craft'
112
+
113
+ const value = ref('')
114
+ </script>
115
+
116
+ <template>
117
+ <ep-input v-model="value" placeholder="请输入内容" />
118
+ </template>
119
+ ```
120
+
121
+ ### 可清空与密码框
122
+
123
+ ```vue
124
+ <script setup lang="ts">
125
+ import { ref } from 'vue'
126
+ import { EpInput } from 'ep-craft'
127
+
128
+ const keyword = ref('')
129
+ const password = ref('')
130
+ </script>
131
+
132
+ <template>
133
+ <ep-input v-model="keyword" clearable placeholder="可清空" />
134
+ <ep-input v-model="password" type="password" show-password placeholder="密码" />
135
+ </template>
136
+ ```
137
+
138
+ ### 前缀图标
139
+
140
+ ```vue
141
+ <script setup lang="ts">
142
+ import { ref } from 'vue'
143
+ import { EpIcon, EpInput } from 'ep-craft'
144
+ import { Search } from 'ep-craft/icons'
145
+
146
+ const query = ref('')
147
+ </script>
148
+
149
+ <template>
150
+ <ep-input v-model="query" placeholder="搜索">
151
+ <template #prefix>
152
+ <ep-icon><Search /></ep-icon>
153
+ </template>
154
+ </ep-input>
155
+ </template>
156
+ ```
157
+
158
+ ## 相关条目
159
+
160
+ - EpFormItem
161
+ - EpInputNumber
162
+ - EpAutocomplete
163
+
164
+ ---
165
+
166
+ ep-craft 0.2.0