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,188 @@
1
+ # EpSelect
2
+
3
+ `ep-select` · form(表单) · `component:select`
4
+
5
+ ## 摘要
6
+
7
+ 下拉选择器,支持单选、多选与筛选
8
+
9
+ ## 适用场景
10
+
11
+ - 适用:从有限选项中选择一项或多项
12
+ - 适用:筛选器与表单字段
13
+ - 不适用:选项极多且需层级选择时使用 Cascader 或 TreeSelect
14
+
15
+ ## 关键词
16
+
17
+ - 中文:选择器、下拉、单选、多选、表单
18
+ - English: select, dropdown, picker, form
19
+
20
+ ## 变体
21
+
22
+ - size: large/default/small(按容器空间与信息密度选择尺寸)
23
+ - state: disabled/loading(通过布尔属性切换禁用、加载或选中状态)
24
+ - effect: dark/light(通过视觉修饰属性调整外观效果)
25
+
26
+ ## Props
27
+
28
+ - name (string):原生 name 属性
29
+ - id (unknown)
30
+ - modelValue(别名 v-model) (any,默认 见文档):绑定值
31
+ - autocomplete (string,默认 off):原生 autocomplete 属性
32
+ - automaticDropdown (boolean):对于不可搜索的 Select,获取焦点后是否自动弹出
33
+ - size ('large' | 'default' | 'small'):输入框尺寸
34
+ - effect ('dark' | 'light',默认 light):tooltip 主题
35
+ - disabled (boolean,默认 false):是否禁用
36
+ - clearable (boolean):是否可以清空选项
37
+ - filterable (boolean):是否可搜索
38
+ - allowCreate (boolean):是否允许用户创建新条目
39
+ - loading (boolean):是否正在从远程获取数据
40
+ - popperClass (string,默认 见文档):Select 下拉框的类名
41
+ - popperStyle (unknown)
42
+ - popperOptions (unknown,默认 见文档)
43
+ - remote (boolean):是否为远程搜索
44
+ - debounce (unknown,默认 见文档)
45
+ - loadingText (string):远程加载时显示的文字
46
+ - noMatchText (string):搜索条件无匹配时显示的文字
47
+ - noDataText (string):无选项时显示的文字
48
+ - remoteMethod ((query: string) => void):远程搜索方法
49
+ - filterMethod ((query: string) => void):自定义搜索方法
50
+ - multiple (boolean):是否多选
51
+ - multipleLimit (number,默认 0):多选时可被选择的最大数目
52
+ - placeholder (string):占位符
53
+ - defaultFirstOption (boolean):按下回车是否选择第一个匹配项
54
+ - reserveKeyword (boolean,默认 true):多选且可搜索时选中后是否保留关键字
55
+ - valueKey (string,默认 value):作为 value 唯一标识的键名
56
+ - collapseTags (boolean):多选时将选中值按文字形式展示
57
+ - collapseTagsTooltip (boolean):鼠标悬停折叠标签以显示具体所选值
58
+ - tagTooltip (unknown,默认 见文档)
59
+ - maxCollapseTags (number,默认 1):需要显示的 Tag 的最大数量
60
+ - teleported (boolean,默认 true):是否将下拉列表插入至 body 元素
61
+ - persistent (boolean,默认 true):下拉菜单关闭后是否销毁
62
+ - clearIcon (string | Component,默认 CircleClose):自定义清空图标
63
+ - fitInputWidth (boolean):下拉框的宽度是否与输入框相同
64
+ - suffixIcon (string | Component,默认 ArrowDown):自定义后缀图标
65
+ - tagType ('success' | 'info' | 'warning' | 'danger',默认 info):标签类型
66
+ - tagEffect (unknown,默认 见文档)
67
+ - validateEvent (boolean,默认 true):是否触发表单验证
68
+ - remoteShowSuffix (boolean):远程搜索时显示后缀图标
69
+ - showArrow (unknown,默认 见文档)
70
+ - offset (unknown,默认 见文档)
71
+ - placement (Placement,默认 bottom-start):下拉框出现的位置
72
+ - fallbackPlacements (unknown,默认 见文档)
73
+ - tabindex (unknown,默认 见文档)
74
+ - appendTo (unknown)
75
+ - options (unknown)
76
+ - props (unknown,默认 见文档)
77
+ - floatLabel (boolean,默认 false):是否启用浮动标签(Material 风格),聚焦或有值时占位文本上浮
78
+ - emptyValues (unknown)
79
+ - valueOnClear (unknown,默认 见文档)
80
+ - ariaLabel (string):原生 aria-label 属性
81
+ - ariaLabelledby (string):原生 aria-labelledby 属性;显式传入时优先于浮动标签自动关联的文本
82
+
83
+ ## Events
84
+
85
+ - update:modelValue((value: any)):绑定值变化时触发
86
+ - change((value: any)):选中值发生变化时触发
87
+ - popupScroll(({ scrollTop, scrollLeft }: { scrollTop: number; scrollLeft: number })):下拉列表滚动时触发
88
+ - endReached((direction: 'top' | 'bottom' | 'left' | 'right')):下拉列表滚动到边界时触发(用于远程加载更多)
89
+ - removeTag((tagValue: any)):多选模式下移除 tag 时触发
90
+ - visibleChange((visible: boolean)):下拉框出现/隐藏时触发
91
+ - focus((event: FocusEvent)):当 input 获得焦点时触发
92
+ - blur((event: FocusEvent)):当 input 失去焦点时触发
93
+ - clear(()):可清空的单选模式下用户点击清空按钮时触发
94
+
95
+ ## Slots
96
+
97
+ - default:Option 组件列表
98
+ - header:下拉列表顶部的内容
99
+ - footer:下拉列表底部的内容
100
+ - prefix:Select 组件头部内容
101
+ - empty:无选项时的列表
102
+ - tag:select 组件自定义 tag 内容
103
+ - loading:select 组件自定义 loading 内容
104
+ - label:select 组件自定义 label 内容
105
+
106
+ ## Exposes
107
+
108
+ - focus(() => void):使选择器的输入框获取焦点
109
+ - blur(() => void):使选择器的输入框失去焦点,并隐藏下拉框
110
+
111
+ ## 关系
112
+
113
+ - 子级:EpOption、EpOptionGroup
114
+ - 常用组合:EpSelect + EpOption、EpSelect + EpOptionGroup
115
+
116
+ ## 视觉提示
117
+
118
+ - 形状:矩形输入框
119
+ - 密度:中等
120
+ - 插槽内容:default:Option 组件列表;header:下拉列表顶部的内容;footer:下拉列表底部的内容
121
+ - CSS 变量:--el-border-color、--el-border-radius-base、--el-color-primary、--el-font-size-base
122
+
123
+ ## 示例
124
+
125
+ ### 基础选择
126
+
127
+ ```vue
128
+ <script setup lang="ts">
129
+ import { ref } from 'vue'
130
+ import { EpOption, EpSelect } from 'ep-craft'
131
+
132
+ const value = ref('')
133
+ </script>
134
+
135
+ <template>
136
+ <ep-select v-model="value" placeholder="请选择">
137
+ <ep-option label="选项一" value="one" />
138
+ <ep-option label="选项二" value="two" />
139
+ <ep-option label="选项三" value="three" disabled />
140
+ </ep-select>
141
+ </template>
142
+ ```
143
+
144
+ ### 多选
145
+
146
+ ```vue
147
+ <script setup lang="ts">
148
+ import { ref } from 'vue'
149
+ import { EpOption, EpSelect } from 'ep-craft'
150
+
151
+ const value = ref(['one'])
152
+ </script>
153
+
154
+ <template>
155
+ <ep-select v-model="value" multiple collapse-tags placeholder="请选择">
156
+ <ep-option label="选项一" value="one" />
157
+ <ep-option label="选项二" value="two" />
158
+ </ep-select>
159
+ </template>
160
+ ```
161
+
162
+ ### 可搜索
163
+
164
+ ```vue
165
+ <script setup lang="ts">
166
+ import { ref } from 'vue'
167
+ import { EpOption, EpSelect } from 'ep-craft'
168
+
169
+ const value = ref('')
170
+ </script>
171
+
172
+ <template>
173
+ <ep-select v-model="value" filterable clearable placeholder="输入关键字">
174
+ <ep-option label="Vue" value="vue" />
175
+ <ep-option label="React" value="react" />
176
+ <ep-option label="Svelte" value="svelte" />
177
+ </ep-select>
178
+ </template>
179
+ ```
180
+
181
+ ## 相关条目
182
+
183
+ - EpOption
184
+ - EpOptionGroup
185
+
186
+ ---
187
+
188
+ ep-craft 0.2.0
@@ -0,0 +1,80 @@
1
+ {
2
+ "entry": {
3
+ "category": "feedback",
4
+ "events": [],
5
+ "exampleOmittedReason": null,
6
+ "examples": [
7
+ {
8
+ "code": "<script setup lang=\"ts\">\nimport { EpSkeleton, EpSkeletonItem } from 'ep-craft'\n</script>\n\n<template>\n <ep-skeleton :loading=\"true\">\n <template #template>\n <ep-skeleton-item variant=\"image\" style=\"width: 240px; height: 120px\" />\n <ep-skeleton-item variant=\"h3\" style=\"width: 50%\" />\n <ep-skeleton-item variant=\"text\" />\n </template>\n </ep-skeleton>\n</template>",
9
+ "id": "skeleton-item-1",
10
+ "language": "vue",
11
+ "title": "骨架屏项"
12
+ }
13
+ ],
14
+ "exposes": [],
15
+ "hot": false,
16
+ "id": "component:skeleton-item",
17
+ "keywords": {
18
+ "en": [
19
+ "skeleton-item",
20
+ "skeleton",
21
+ "item",
22
+ "placeholder",
23
+ "feedback"
24
+ ],
25
+ "zh": [
26
+ "骨架屏项",
27
+ "反馈"
28
+ ]
29
+ },
30
+ "kind": "component",
31
+ "name": "EpSkeletonItem",
32
+ "nonUseCases": [
33
+ "无需用户感知状态变化时",
34
+ "需要完整业务弹窗流程时优先使用 Dialog"
35
+ ],
36
+ "props": [
37
+ {
38
+ "alias": null,
39
+ "defaultText": "text",
40
+ "description": "当前显示的占位元素的样式",
41
+ "hasDefault": true,
42
+ "name": "variant",
43
+ "required": false,
44
+ "type": "'p' | 'text' | 'h1' | 'h3' | 'caption' | 'button' | 'image' | 'circle' | 'rect'"
45
+ }
46
+ ],
47
+ "related": [
48
+ "EpSkeleton"
49
+ ],
50
+ "relations": {
51
+ "children": [],
52
+ "combos": [],
53
+ "parents": [],
54
+ "requiredChildren": []
55
+ },
56
+ "slots": [],
57
+ "slug": "skeleton-item",
58
+ "summary": "骨架屏项,状态与结果反馈",
59
+ "tag": "ep-skeleton-item",
60
+ "useCases": [
61
+ "展示骨架屏项并向用户传达状态",
62
+ "在操作前后提供即时反馈"
63
+ ],
64
+ "variants": [],
65
+ "visual": {
66
+ "cssVars": [
67
+ "--el-color-success",
68
+ "--el-color-warning",
69
+ "--el-color-danger",
70
+ "--el-font-size-base"
71
+ ],
72
+ "density": "中等",
73
+ "shape": "行内或块级提示",
74
+ "slotContent": []
75
+ }
76
+ },
77
+ "generatedAt": "2026-11-03T03:09:12.050Z",
78
+ "libraryVersion": "0.2.0",
79
+ "schemaVersion": 1
80
+ }
@@ -0,0 +1,57 @@
1
+ # EpSkeletonItem
2
+
3
+ `ep-skeleton-item` · feedback(反馈) · `component:skeleton-item`
4
+
5
+ ## 摘要
6
+
7
+ 骨架屏项,状态与结果反馈
8
+
9
+ ## 适用场景
10
+
11
+ - 适用:展示骨架屏项并向用户传达状态
12
+ - 适用:在操作前后提供即时反馈
13
+ - 不适用:无需用户感知状态变化时
14
+ - 不适用:需要完整业务弹窗流程时优先使用 Dialog
15
+
16
+ ## 关键词
17
+
18
+ - 中文:骨架屏项、反馈
19
+ - English: skeleton-item, skeleton, item, placeholder, feedback
20
+
21
+ ## Props
22
+
23
+ - variant ('p' | 'text' | 'h1' | 'h3' | 'caption' | 'button' | 'image' | 'circle' | 'rect',默认 text):当前显示的占位元素的样式
24
+
25
+ ## 视觉提示
26
+
27
+ - 形状:行内或块级提示
28
+ - 密度:中等
29
+ - CSS 变量:--el-color-success、--el-color-warning、--el-color-danger、--el-font-size-base
30
+
31
+ ## 示例
32
+
33
+ ### 骨架屏项
34
+
35
+ ```vue
36
+ <script setup lang="ts">
37
+ import { EpSkeleton, EpSkeletonItem } from 'ep-craft'
38
+ </script>
39
+
40
+ <template>
41
+ <ep-skeleton :loading="true">
42
+ <template #template>
43
+ <ep-skeleton-item variant="image" style="width: 240px; height: 120px" />
44
+ <ep-skeleton-item variant="h3" style="width: 50%" />
45
+ <ep-skeleton-item variant="text" />
46
+ </template>
47
+ </ep-skeleton>
48
+ </template>
49
+ ```
50
+
51
+ ## 相关条目
52
+
53
+ - EpSkeleton
54
+
55
+ ---
56
+
57
+ ep-craft 0.2.0
@@ -0,0 +1,134 @@
1
+ {
2
+ "entry": {
3
+ "category": "feedback",
4
+ "events": [],
5
+ "exampleOmittedReason": null,
6
+ "examples": [
7
+ {
8
+ "code": "<script setup lang=\"ts\">\nimport { EpSkeleton } from 'ep-craft'\n</script>\n\n<template>\n <ep-skeleton :loading=\"true\" :rows=\"3\" animated />\n</template>",
9
+ "id": "skeleton-1",
10
+ "language": "vue",
11
+ "title": "骨架屏"
12
+ }
13
+ ],
14
+ "exposes": [],
15
+ "hot": false,
16
+ "id": "component:skeleton",
17
+ "keywords": {
18
+ "en": [
19
+ "skeleton",
20
+ "placeholder",
21
+ "feedback"
22
+ ],
23
+ "zh": [
24
+ "骨架屏",
25
+ "反馈"
26
+ ]
27
+ },
28
+ "kind": "component",
29
+ "name": "EpSkeleton",
30
+ "nonUseCases": [
31
+ "无需用户感知状态变化时",
32
+ "需要完整业务弹窗流程时优先使用 Dialog"
33
+ ],
34
+ "props": [
35
+ {
36
+ "alias": null,
37
+ "defaultText": "false",
38
+ "description": "是否使用动画",
39
+ "hasDefault": false,
40
+ "name": "animated",
41
+ "required": false,
42
+ "type": "boolean"
43
+ },
44
+ {
45
+ "alias": null,
46
+ "defaultText": "1",
47
+ "description": "渲染多少个 template",
48
+ "hasDefault": true,
49
+ "name": "count",
50
+ "required": false,
51
+ "type": "number"
52
+ },
53
+ {
54
+ "alias": null,
55
+ "defaultText": "3",
56
+ "description": "骨架屏段落数量",
57
+ "hasDefault": true,
58
+ "name": "rows",
59
+ "required": false,
60
+ "type": "number"
61
+ },
62
+ {
63
+ "alias": null,
64
+ "defaultText": "true",
65
+ "description": "是否显示 skeleton 骨架屏",
66
+ "hasDefault": true,
67
+ "name": "loading",
68
+ "required": false,
69
+ "type": "boolean"
70
+ },
71
+ {
72
+ "alias": null,
73
+ "defaultText": "0",
74
+ "description": "延迟占位 DOM 渲染的时间",
75
+ "hasDefault": false,
76
+ "name": "throttle",
77
+ "required": false,
78
+ "type": "number"
79
+ }
80
+ ],
81
+ "related": [
82
+ "EpSkeletonItem"
83
+ ],
84
+ "relations": {
85
+ "children": [],
86
+ "combos": [],
87
+ "parents": [],
88
+ "requiredChildren": []
89
+ },
90
+ "slots": [
91
+ {
92
+ "description": "用来展示真实UI",
93
+ "name": "default"
94
+ },
95
+ {
96
+ "description": "用来展示自定义占位符",
97
+ "name": "template"
98
+ }
99
+ ],
100
+ "slug": "skeleton",
101
+ "summary": "骨架屏,状态与结果反馈",
102
+ "tag": "ep-skeleton",
103
+ "useCases": [
104
+ "展示骨架屏并向用户传达状态",
105
+ "在操作前后提供即时反馈"
106
+ ],
107
+ "variants": [
108
+ {
109
+ "dimension": "state",
110
+ "values": [
111
+ "loading"
112
+ ],
113
+ "when": "通过布尔属性切换禁用、加载或选中状态"
114
+ }
115
+ ],
116
+ "visual": {
117
+ "cssVars": [
118
+ "--el-color-success",
119
+ "--el-color-warning",
120
+ "--el-color-danger",
121
+ "--el-font-size-base"
122
+ ],
123
+ "density": "中等",
124
+ "shape": "行内或块级提示",
125
+ "slotContent": [
126
+ "default:用来展示真实UI",
127
+ "template:用来展示自定义占位符"
128
+ ]
129
+ }
130
+ },
131
+ "generatedAt": "2026-11-03T03:09:12.050Z",
132
+ "libraryVersion": "0.2.0",
133
+ "schemaVersion": 1
134
+ }
@@ -0,0 +1,65 @@
1
+ # EpSkeleton
2
+
3
+ `ep-skeleton` · feedback(反馈) · `component:skeleton`
4
+
5
+ ## 摘要
6
+
7
+ 骨架屏,状态与结果反馈
8
+
9
+ ## 适用场景
10
+
11
+ - 适用:展示骨架屏并向用户传达状态
12
+ - 适用:在操作前后提供即时反馈
13
+ - 不适用:无需用户感知状态变化时
14
+ - 不适用:需要完整业务弹窗流程时优先使用 Dialog
15
+
16
+ ## 关键词
17
+
18
+ - 中文:骨架屏、反馈
19
+ - English: skeleton, placeholder, feedback
20
+
21
+ ## 变体
22
+
23
+ - state: loading(通过布尔属性切换禁用、加载或选中状态)
24
+
25
+ ## Props
26
+
27
+ - animated (boolean):是否使用动画
28
+ - count (number,默认 1):渲染多少个 template
29
+ - rows (number,默认 3):骨架屏段落数量
30
+ - loading (boolean,默认 true):是否显示 skeleton 骨架屏
31
+ - throttle (number):延迟占位 DOM 渲染的时间
32
+
33
+ ## Slots
34
+
35
+ - default:用来展示真实UI
36
+ - template:用来展示自定义占位符
37
+
38
+ ## 视觉提示
39
+
40
+ - 形状:行内或块级提示
41
+ - 密度:中等
42
+ - 插槽内容:default:用来展示真实UI;template:用来展示自定义占位符
43
+ - CSS 变量:--el-color-success、--el-color-warning、--el-color-danger、--el-font-size-base
44
+
45
+ ## 示例
46
+
47
+ ### 骨架屏
48
+
49
+ ```vue
50
+ <script setup lang="ts">
51
+ import { EpSkeleton } from 'ep-craft'
52
+ </script>
53
+
54
+ <template>
55
+ <ep-skeleton :loading="true" :rows="3" animated />
56
+ </template>
57
+ ```
58
+
59
+ ## 相关条目
60
+
61
+ - EpSkeletonItem
62
+
63
+ ---
64
+
65
+ ep-craft 0.2.0