x-next 1.13.0 → 1.15.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.
- package/AI_CODING.md +6 -5
- package/AI_USAGE/catalog.md +108 -105
- package/AI_USAGE/components/alert-api.md +48 -0
- package/AI_USAGE/components/alert.md +222 -3
- package/AI_USAGE/components/bar-chart-api.md +177 -0
- package/AI_USAGE/components/bar-chart.md +297 -3
- package/AI_USAGE/components/boxicons.md +147 -0
- package/AI_USAGE/components/button-api.md +144 -0
- package/AI_USAGE/components/button.md +447 -3
- package/AI_USAGE/components/charts.md +81 -0
- package/AI_USAGE/components/checkbox-api.md +145 -0
- package/AI_USAGE/components/checkbox.md +365 -3
- package/AI_USAGE/components/color-picker-api.md +52 -0
- package/AI_USAGE/components/color-picker.md +211 -3
- package/AI_USAGE/components/config-provider-api.md +38 -0
- package/AI_USAGE/components/config-provider.md +250 -3
- package/AI_USAGE/components/date-picker-api.md +1114 -0
- package/AI_USAGE/components/date-picker.md +378 -3
- package/AI_USAGE/components/dialog-api.md +142 -0
- package/AI_USAGE/components/dialog.md +284 -3
- package/AI_USAGE/components/draggable-api.md +146 -0
- package/AI_USAGE/components/draggable.md +259 -0
- package/AI_USAGE/components/drawer-api.md +78 -0
- package/AI_USAGE/components/drawer.md +256 -0
- package/AI_USAGE/components/dropdown-api.md +529 -0
- package/AI_USAGE/components/dropdown.md +392 -3
- package/AI_USAGE/components/empty-api.md +36 -0
- package/AI_USAGE/components/empty.md +227 -3
- package/AI_USAGE/components/finicon.md +88 -0
- package/AI_USAGE/components/form-api.md +524 -0
- package/AI_USAGE/components/form.md +454 -0
- package/AI_USAGE/components/grid-api.md +527 -0
- package/AI_USAGE/components/grid.md +224 -0
- package/AI_USAGE/components/heatmap-api.md +122 -0
- package/AI_USAGE/components/heatmap.md +220 -0
- package/AI_USAGE/components/icon-api.md +4707 -0
- package/AI_USAGE/components/icon.md +257 -0
- package/AI_USAGE/components/image-api.md +440 -0
- package/AI_USAGE/components/image.md +465 -0
- package/AI_USAGE/components/input-api.md +184 -0
- package/AI_USAGE/components/input-number-api.md +66 -0
- package/AI_USAGE/components/input-number.md +294 -0
- package/AI_USAGE/components/input-tag-api.md +114 -0
- package/AI_USAGE/components/input-tag.md +482 -0
- package/AI_USAGE/components/input.md +293 -3
- package/AI_USAGE/components/layout-api.md +147 -0
- package/AI_USAGE/components/layout.md +230 -0
- package/AI_USAGE/components/line-chart-api.md +197 -0
- package/AI_USAGE/components/line-chart.md +306 -3
- package/AI_USAGE/components/link-api.md +42 -0
- package/AI_USAGE/components/link.md +197 -0
- package/AI_USAGE/components/menu-api.md +516 -0
- package/AI_USAGE/components/menu.md +268 -0
- package/AI_USAGE/components/message-api.md +215 -0
- package/AI_USAGE/components/message-box-api.md +108 -0
- package/AI_USAGE/components/message-box.md +268 -3
- package/AI_USAGE/components/message.md +231 -3
- package/AI_USAGE/components/network-api.md +91 -0
- package/AI_USAGE/components/network.md +378 -0
- package/AI_USAGE/components/notification-api.md +236 -0
- package/AI_USAGE/components/notification.md +275 -3
- package/AI_USAGE/components/pagination-api.md +62 -0
- package/AI_USAGE/components/pagination.md +380 -3
- package/AI_USAGE/components/pie-chart-api.md +109 -0
- package/AI_USAGE/components/pie-chart.md +245 -3
- package/AI_USAGE/components/popconfirm-api.md +75 -0
- package/AI_USAGE/components/popconfirm.md +231 -3
- package/AI_USAGE/components/popover-api.md +75 -0
- package/AI_USAGE/components/popover.md +208 -3
- package/AI_USAGE/components/popup-api.md +75 -0
- package/AI_USAGE/components/popup.md +52 -0
- package/AI_USAGE/components/progress-api.md +44 -0
- package/AI_USAGE/components/progress.md +248 -3
- package/AI_USAGE/components/radio-api.md +165 -0
- package/AI_USAGE/components/radio.md +259 -3
- package/AI_USAGE/components/rate-api.md +54 -0
- package/AI_USAGE/components/rate.md +233 -3
- package/AI_USAGE/components/resize-box-api.md +56 -0
- package/AI_USAGE/components/resize-box.md +231 -0
- package/AI_USAGE/components/scrollbar-api.md +77 -0
- package/AI_USAGE/components/scrollbar.md +218 -0
- package/AI_USAGE/components/select-api.md +758 -0
- package/AI_USAGE/components/select.md +640 -3
- package/AI_USAGE/components/skeleton-api.md +85 -0
- package/AI_USAGE/components/skeleton.md +150 -0
- package/AI_USAGE/components/slider-api.md +51 -0
- package/AI_USAGE/components/slider.md +233 -3
- package/AI_USAGE/components/space-api.md +38 -0
- package/AI_USAGE/components/space.md +145 -0
- package/AI_USAGE/components/spin-api.md +43 -0
- package/AI_USAGE/components/spin.md +205 -0
- package/AI_USAGE/components/steps-api.md +111 -0
- package/AI_USAGE/components/steps.md +201 -3
- package/AI_USAGE/components/switch-api.md +58 -0
- package/AI_USAGE/components/switch.md +290 -3
- package/AI_USAGE/components/table-api.md +2919 -0
- package/AI_USAGE/components/table.md +1457 -0
- package/AI_USAGE/components/tabs-api.md +135 -0
- package/AI_USAGE/components/tabs.md +308 -3
- package/AI_USAGE/components/tag-api.md +124 -0
- package/AI_USAGE/components/tag.md +292 -0
- package/AI_USAGE/components/textarea-api.md +55 -0
- package/AI_USAGE/components/textarea.md +326 -3
- package/AI_USAGE/components/time-picker-api.md +137 -0
- package/AI_USAGE/components/time-picker.md +271 -3
- package/AI_USAGE/components/time-range-selector-api.md +44 -0
- package/AI_USAGE/components/time-range-selector.md +355 -0
- package/AI_USAGE/components/timeline-api.md +93 -0
- package/AI_USAGE/components/timeline.md +312 -0
- package/AI_USAGE/components/tooltip-api.md +77 -0
- package/AI_USAGE/components/tooltip.md +182 -0
- package/AI_USAGE/components/tree-select-api.md +498 -0
- package/AI_USAGE/components/tree-select.md +744 -0
- package/AI_USAGE/components/trend-chart-api.md +119 -0
- package/AI_USAGE/components/trend-chart.md +335 -0
- package/AI_USAGE/components/trigger-api.md +124 -0
- package/AI_USAGE/components/trigger.md +185 -0
- package/AI_USAGE/components/upload-api.md +200 -0
- package/AI_USAGE/components/upload.md +711 -3
- package/AI_USAGE/components/watermark-api.md +87 -0
- package/AI_USAGE/components/watermark.md +200 -0
- package/AI_USAGE/core.md +1 -1
- package/AI_USAGE/index.md +36 -7
- package/AI_USAGE/recipes/form-on-demand.md +1 -1
- package/AI_USAGE.md +34972 -5
- package/CHANGELOG.md +39 -0
- package/dist/_props/css.d.ts +2 -1
- package/dist/_utils/inherit-component-type.d.ts +11 -0
- package/dist/components/bar-chart/BarChart.d.ts +1 -1
- package/dist/components/bar-chart/index.d.ts +3 -3
- package/dist/components/date-picker/index.d.ts +420 -5
- package/dist/components/form-input/index.d.ts +617 -2
- package/dist/components/index.d.ts +1 -0
- package/dist/components/layout/index.d.ts +689 -1
- package/dist/components/line-chart/LineChart.d.ts +1 -1
- package/dist/components/line-chart/index.d.ts +3 -3
- package/dist/components/line-chart/interface.d.ts +2 -2
- package/dist/components/menu/index.d.ts +786 -1
- package/dist/components/tree-select/TreeNode.vue.d.ts +478 -0
- package/dist/components/tree-select/TreeSelect.d.ts +1549 -0
- package/dist/components/tree-select/TreeSelectDropdown.vue.d.ts +569 -0
- package/dist/components/tree-select/hooks/use-tree-select.d.ts +92 -0
- package/dist/components/tree-select/index.d.ts +3321 -0
- package/dist/components/tree-select/interface.d.ts +203 -0
- package/dist/components/tree-select/utils.d.ts +64 -0
- package/dist/es/_styles/palette-aliases.js +3 -0
- package/dist/es/_utils/inherit-component-type.js +6 -0
- package/dist/es/components/_components/feedback-icon/index.vue2.js +10 -10
- package/dist/es/components/button/Button.js +9 -9
- package/dist/es/components/date-picker/index.js +18 -17
- package/dist/es/components/drawer/src/Drawer.vue.js +6 -6
- package/dist/es/components/form-input/index.js +12 -11
- package/dist/es/components/form-switch/Switch.vue2.js +18 -18
- package/dist/es/components/image/Image.vue2.js +13 -13
- package/dist/es/components/image/ImagePreview.vue2.js +33 -33
- package/dist/es/components/index.js +55 -52
- package/dist/es/components/layout/index.js +10 -9
- package/dist/es/components/link/Link.vue2.js +12 -12
- package/dist/es/components/menu/hooks/use-level.js +5 -5
- package/dist/es/components/menu/index.js +13 -10
- package/dist/es/components/message/message.vue2.js +13 -13
- package/dist/es/components/spin/Spin.js +28 -28
- package/dist/es/components/tag/Tag.vue2.js +22 -22
- package/dist/es/components/timeline/src/Timeline.js +7 -7
- package/dist/es/components/tree-select/TreeNode.vue.js +91 -0
- package/dist/es/components/tree-select/TreeNode.vue2.js +162 -0
- package/dist/es/components/tree-select/TreeSelect.js +865 -0
- package/dist/es/components/tree-select/TreeSelectDropdown.vue.js +57 -0
- package/dist/es/components/tree-select/TreeSelectDropdown.vue2.js +79 -0
- package/dist/es/components/tree-select/hooks/use-tree-select.js +376 -0
- package/dist/es/components/tree-select/index.js +13 -0
- package/dist/es/components/tree-select/utils.js +181 -0
- package/dist/es/icons/animation/animation-loading.js +2 -2
- package/dist/es/index.js +71 -68
- package/dist/es/style.css +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.umd.js +3 -3
- package/dist/style/base.css +1 -1
- package/dist/style/dependencies.json +10 -0
- package/dist/style/drawer.css +1 -1
- package/dist/style/table.css +1 -1
- package/dist/style/tree-select.css +1 -0
- package/dist/style/tree-select.js +8 -0
- package/dist/style.css +1 -1
- package/dist/types.d.ts +2 -0
- package/package.json +11 -5
- package/volar.d.ts +2 -0
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
<!-- Generated by pnpm generate:ai-usage. Edit script/ai-usage/content.md and script/ai-usage/. -->
|
|
2
|
+
# Timeline AI 使用
|
|
3
|
+
|
|
4
|
+
适用版本:x-next@1.15.0;来源指纹:`47ea153587c8d0b3bf318977b10bde9f8dd4acff90c5818541ba6513252ad362`。
|
|
5
|
+
|
|
6
|
+
先读 [通用接入](../core.md)。公开导出:`Timeline, TimelineItem`;主要模型:无。完整 Props、Events、Slots、实例方法与服务签名见 [本地 API](./timeline-api.md),包含本组件族全部子组件和别名。
|
|
7
|
+
|
|
8
|
+
按需样式:`x-next/style/timeline`(包含 base.css、timeline.css)。代码块未单独引样式时在应用入口加载全量样式,或按实际所有组件加载 JS 入口;不要仅因复制一个组件页就漏掉其中的 Button 等组合依赖。
|
|
9
|
+
|
|
10
|
+
## 场景用法
|
|
11
|
+
|
|
12
|
+
以下示例从本地 `src/docs/components/timeline.md` 显式导入到独立 AI 源,补齐局部注册、状态和样式后进行严格模板检查。上方已核验行为优先;原始 prop 默认值、包装透传和示例业务适配分别查 [完整 API](./timeline-api.md) 与场景说明。类型通过不代表所有散文和交互已验证。
|
|
13
|
+
|
|
14
|
+
### 用途与选型
|
|
15
|
+
|
|
16
|
+
用于按时间或步骤顺序展示事件进展。
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### 何时使用
|
|
20
|
+
|
|
21
|
+
- 展示项目、审批、任务、运维事件等按时间或顺序推进的记录。
|
|
22
|
+
- 展示阶段性状态,并用节点颜色、图标或线型强调关键事件。
|
|
23
|
+
- 需要比 Steps 更偏历史记录和详情描述的场景。
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### 基础用法
|
|
27
|
+
|
|
28
|
+
```vue
|
|
29
|
+
<script setup lang="ts">
|
|
30
|
+
import 'x-next/style.css';
|
|
31
|
+
import { Timeline, TimelineItem } from 'x-next';
|
|
32
|
+
|
|
33
|
+
</script>
|
|
34
|
+
<template>
|
|
35
|
+
<Timeline>
|
|
36
|
+
<TimelineItem label="2026-05-28">创建文档站</TimelineItem>
|
|
37
|
+
<TimelineItem label="2026-05-29" dot-color="#0f766e">补齐组件示例</TimelineItem>
|
|
38
|
+
<TimelineItem label="2026-06-02">审查 Timeline</TimelineItem>
|
|
39
|
+
</Timeline>
|
|
40
|
+
</template>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 倒序展示
|
|
44
|
+
|
|
45
|
+
```vue
|
|
46
|
+
<script setup lang="ts">
|
|
47
|
+
import 'x-next/style.css';
|
|
48
|
+
import { Button, Timeline, TimelineItem } from 'x-next';
|
|
49
|
+
import { ref } from 'vue';
|
|
50
|
+
|
|
51
|
+
const reverseTimeline = ref(false);
|
|
52
|
+
</script>
|
|
53
|
+
<template>
|
|
54
|
+
<Button size="mini" @click="reverseTimeline = !reverseTimeline">
|
|
55
|
+
{{ reverseTimeline ? '恢复正序' : '切换倒序' }}
|
|
56
|
+
</Button>
|
|
57
|
+
<Timeline :reverse="reverseTimeline">
|
|
58
|
+
<TimelineItem label="09:30">提交需求</TimelineItem>
|
|
59
|
+
<TimelineItem label="11:00">完成评审</TimelineItem>
|
|
60
|
+
<TimelineItem label="16:20">发布修复</TimelineItem>
|
|
61
|
+
</Timeline>
|
|
62
|
+
</template>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 轴线样式
|
|
66
|
+
|
|
67
|
+
```vue
|
|
68
|
+
<script setup lang="ts">
|
|
69
|
+
import 'x-next/style.css';
|
|
70
|
+
import { Timeline, TimelineItem } from 'x-next';
|
|
71
|
+
|
|
72
|
+
</script>
|
|
73
|
+
<template>
|
|
74
|
+
<Timeline line-type="dashed">
|
|
75
|
+
<TimelineItem label="阶段一">确认范围</TimelineItem>
|
|
76
|
+
<TimelineItem label="阶段二">开发联调</TimelineItem>
|
|
77
|
+
<TimelineItem label="阶段三">灰度发布</TimelineItem>
|
|
78
|
+
</Timeline>
|
|
79
|
+
|
|
80
|
+
<Timeline line-type="dotted">
|
|
81
|
+
<TimelineItem label="检查点">自动化校验</TimelineItem>
|
|
82
|
+
<TimelineItem label="检查点">人工验收</TimelineItem>
|
|
83
|
+
</Timeline>
|
|
84
|
+
</template>
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 节点颜色
|
|
88
|
+
|
|
89
|
+
```vue
|
|
90
|
+
<script setup lang="ts">
|
|
91
|
+
import 'x-next/style.css';
|
|
92
|
+
import { Button, Timeline, TimelineItem } from 'x-next';
|
|
93
|
+
import { ref } from 'vue';
|
|
94
|
+
|
|
95
|
+
const dynamicDotColor = ref('#0f766e');
|
|
96
|
+
|
|
97
|
+
const toggleDotColor = () => {
|
|
98
|
+
dynamicDotColor.value = dynamicDotColor.value === '#0f766e' ? '#dc2626' : '#0f766e';
|
|
99
|
+
};
|
|
100
|
+
</script>
|
|
101
|
+
<template>
|
|
102
|
+
<Button size="mini" @click="toggleDotColor">切换当前节点颜色</Button>
|
|
103
|
+
<Timeline>
|
|
104
|
+
<TimelineItem label="成功" dot-color="#16a34a">构建通过</TimelineItem>
|
|
105
|
+
<TimelineItem label="当前" :dot-color="dynamicDotColor">等待复查</TimelineItem>
|
|
106
|
+
<TimelineItem label="失败" dot-color="#dc2626">发现阻塞问题</TimelineItem>
|
|
107
|
+
</Timeline>
|
|
108
|
+
</template>
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 自定义图标
|
|
112
|
+
|
|
113
|
+
```vue
|
|
114
|
+
<script setup lang="ts">
|
|
115
|
+
import 'x-next/style.css';
|
|
116
|
+
import { Timeline, TimelineItem } from 'x-next';
|
|
117
|
+
|
|
118
|
+
</script>
|
|
119
|
+
<template>
|
|
120
|
+
<Timeline>
|
|
121
|
+
<TimelineItem label="已创建" dot-color="#16a34a">任务已进入队列</TimelineItem>
|
|
122
|
+
<TimelineItem label="处理中">
|
|
123
|
+
<template #dot>
|
|
124
|
+
<span class="timeline-demo-dot-icon">!</span>
|
|
125
|
+
</template>
|
|
126
|
+
正在处理异常分支
|
|
127
|
+
</TimelineItem>
|
|
128
|
+
<TimelineItem label="完成">等待最终确认</TimelineItem>
|
|
129
|
+
</Timeline>
|
|
130
|
+
</template>
|
|
131
|
+
<style scoped>
|
|
132
|
+
.timeline-demo-dot-icon {
|
|
133
|
+
display: inline-flex;
|
|
134
|
+
align-items: center;
|
|
135
|
+
justify-content: center;
|
|
136
|
+
width: 14px;
|
|
137
|
+
height: 14px;
|
|
138
|
+
border: 1px solid rgb(245 158 11 / 28%);
|
|
139
|
+
border-radius: 50%;
|
|
140
|
+
color: #f59e0b;
|
|
141
|
+
font-size: 10px;
|
|
142
|
+
font-weight: 700;
|
|
143
|
+
line-height: 1;
|
|
144
|
+
background: #fff;
|
|
145
|
+
box-shadow: 0 0 0 3px rgb(245 158 11 / 12%);
|
|
146
|
+
box-sizing: border-box;
|
|
147
|
+
}
|
|
148
|
+
</style>
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### 节点类型
|
|
152
|
+
|
|
153
|
+
```vue
|
|
154
|
+
<script setup lang="ts">
|
|
155
|
+
import 'x-next/style.css';
|
|
156
|
+
import { Timeline, TimelineItem } from 'x-next';
|
|
157
|
+
|
|
158
|
+
</script>
|
|
159
|
+
<template>
|
|
160
|
+
<Timeline>
|
|
161
|
+
<TimelineItem label="已完成" dot-color="#16a34a">构建通过</TimelineItem>
|
|
162
|
+
<TimelineItem label="待处理" dot-type="hollow">等待审批</TimelineItem>
|
|
163
|
+
<TimelineItem label="异常">
|
|
164
|
+
<template #dot>
|
|
165
|
+
<span class="timeline-demo-dot-icon">!</span>
|
|
166
|
+
</template>
|
|
167
|
+
发现风险
|
|
168
|
+
</TimelineItem>
|
|
169
|
+
</Timeline>
|
|
170
|
+
</template>
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### 单项轴线
|
|
174
|
+
|
|
175
|
+
```vue
|
|
176
|
+
<script setup lang="ts">
|
|
177
|
+
import 'x-next/style.css';
|
|
178
|
+
import { Timeline, TimelineItem } from 'x-next';
|
|
179
|
+
|
|
180
|
+
</script>
|
|
181
|
+
<template>
|
|
182
|
+
<Timeline>
|
|
183
|
+
<TimelineItem label="阶段一" line-type="dashed">确认范围</TimelineItem>
|
|
184
|
+
<TimelineItem label="阶段二" line-color="#f59e0b">等待联调</TimelineItem>
|
|
185
|
+
<TimelineItem label="阶段三">发布完成</TimelineItem>
|
|
186
|
+
</Timeline>
|
|
187
|
+
</template>
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### 幽灵节点
|
|
191
|
+
|
|
192
|
+
```vue
|
|
193
|
+
<script setup lang="ts">
|
|
194
|
+
import 'x-next/style.css';
|
|
195
|
+
import { Timeline, TimelineItem } from 'x-next';
|
|
196
|
+
|
|
197
|
+
</script>
|
|
198
|
+
<template>
|
|
199
|
+
<Timeline pending="同步中">
|
|
200
|
+
<TimelineItem label="09:30">提交任务</TimelineItem>
|
|
201
|
+
<TimelineItem label="10:00">完成处理</TimelineItem>
|
|
202
|
+
</Timeline>
|
|
203
|
+
</template>
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### 自定义幽灵节点
|
|
207
|
+
|
|
208
|
+
```vue
|
|
209
|
+
<script setup lang="ts">
|
|
210
|
+
import 'x-next/style.css';
|
|
211
|
+
import { Timeline, TimelineItem } from 'x-next';
|
|
212
|
+
|
|
213
|
+
</script>
|
|
214
|
+
<template>
|
|
215
|
+
<Timeline pending="等待确认">
|
|
216
|
+
<template #dot>
|
|
217
|
+
<span class="timeline-demo-pending-dot"></span>
|
|
218
|
+
</template>
|
|
219
|
+
<TimelineItem label="创建">提交申请</TimelineItem>
|
|
220
|
+
<TimelineItem label="审批">主管复核</TimelineItem>
|
|
221
|
+
</Timeline>
|
|
222
|
+
</template>
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### 展示模式
|
|
226
|
+
|
|
227
|
+
```vue
|
|
228
|
+
<script setup lang="ts">
|
|
229
|
+
import 'x-next/style.css';
|
|
230
|
+
import { Timeline, TimelineItem } from 'x-next';
|
|
231
|
+
|
|
232
|
+
</script>
|
|
233
|
+
<template>
|
|
234
|
+
<Timeline mode="alternate">
|
|
235
|
+
<TimelineItem label="需求">确认范围</TimelineItem>
|
|
236
|
+
<TimelineItem label="开发">实现能力</TimelineItem>
|
|
237
|
+
<TimelineItem label="验证" position="right">构建检查</TimelineItem>
|
|
238
|
+
</Timeline>
|
|
239
|
+
|
|
240
|
+
<Timeline mode="right">
|
|
241
|
+
<TimelineItem label="09:00">提交</TimelineItem>
|
|
242
|
+
<TimelineItem label="10:30">复核</TimelineItem>
|
|
243
|
+
<TimelineItem label="15:00">完成</TimelineItem>
|
|
244
|
+
</Timeline>
|
|
245
|
+
</template>
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### 横向时间线
|
|
249
|
+
|
|
250
|
+
```vue
|
|
251
|
+
<script setup lang="ts">
|
|
252
|
+
import 'x-next/style.css';
|
|
253
|
+
import { Timeline, TimelineItem } from 'x-next';
|
|
254
|
+
|
|
255
|
+
</script>
|
|
256
|
+
<template>
|
|
257
|
+
<Timeline direction="horizontal" mode="alternate" pending>
|
|
258
|
+
<TimelineItem label="需求">确认范围</TimelineItem>
|
|
259
|
+
<TimelineItem label="开发">实现能力</TimelineItem>
|
|
260
|
+
<TimelineItem label="验证">构建检查</TimelineItem>
|
|
261
|
+
</Timeline>
|
|
262
|
+
</template>
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### 标签位置
|
|
266
|
+
|
|
267
|
+
```vue
|
|
268
|
+
<script setup lang="ts">
|
|
269
|
+
import 'x-next/style.css';
|
|
270
|
+
import { Timeline, TimelineItem } from 'x-next';
|
|
271
|
+
|
|
272
|
+
</script>
|
|
273
|
+
<template>
|
|
274
|
+
<Timeline label-position="relative">
|
|
275
|
+
<TimelineItem label="2026-06-01">确认范围</TimelineItem>
|
|
276
|
+
<TimelineItem label="2026-06-02">实现改造</TimelineItem>
|
|
277
|
+
<TimelineItem label="2026-06-03">完成验证</TimelineItem>
|
|
278
|
+
</Timeline>
|
|
279
|
+
</template>
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### 标签和描述
|
|
283
|
+
|
|
284
|
+
```vue
|
|
285
|
+
<script setup lang="ts">
|
|
286
|
+
import 'x-next/style.css';
|
|
287
|
+
import { Timeline, TimelineItem } from 'x-next';
|
|
288
|
+
|
|
289
|
+
</script>
|
|
290
|
+
<template>
|
|
291
|
+
<Timeline>
|
|
292
|
+
<TimelineItem label="需求">
|
|
293
|
+
<template #description>收集业务侧变更范围和验收标准。</template>
|
|
294
|
+
</TimelineItem>
|
|
295
|
+
<TimelineItem>
|
|
296
|
+
<template #label>开发</template>
|
|
297
|
+
<template #description>实现组件修复,并同步文档示例。</template>
|
|
298
|
+
</TimelineItem>
|
|
299
|
+
<TimelineItem label="验证">
|
|
300
|
+
<template #description>执行构建和文档站构建。</template>
|
|
301
|
+
</TimelineItem>
|
|
302
|
+
</Timeline>
|
|
303
|
+
</template>
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### 已知限制
|
|
307
|
+
|
|
308
|
+
- 暂未提供 Timeline 专项自动化测试,交付前需通过文档构建和截图复查。
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
返回 [AI 索引](../index.md)。先查本页与 [本地 API](./timeline-api.md);需要更深类型时查 [公开组件导航](../catalog.md),不默认上网查找本包用法。
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
<!-- Generated by pnpm generate:ai-usage. Edit script/ai-usage/content.md and script/ai-usage/. -->
|
|
2
|
+
# Tooltip 完整公开 API
|
|
3
|
+
|
|
4
|
+
适用版本:x-next@1.15.0;来源指纹:`47ea153587c8d0b3bf318977b10bde9f8dd4acff90c5818541ba6513252ad362`。
|
|
5
|
+
|
|
6
|
+
从同版本构建的公开声明、运行时 props/emits 和显式 expose 生成。运行时导入始终使用 `x-next`,声明路径仅作定位。插槽类型未细化时,具体槽名与作用域见本地用法示例。
|
|
7
|
+
|
|
8
|
+
## Tooltip API
|
|
9
|
+
|
|
10
|
+
公开声明:`dist/components/tooltip/index.d.ts`。 类型中的 undefined 表示可省略;原始 prop 默认值不等于继承配置或服务默认值。
|
|
11
|
+
|
|
12
|
+
### Props
|
|
13
|
+
|
|
14
|
+
| 名称 | 用途 | 公开类型 | 必填 | 声明默认值 |
|
|
15
|
+
| --- | --- | --- | --- | --- |
|
|
16
|
+
| popupVisible | 气泡是否可见,受控模式,支持 v-model:popup-visible | undefined | false | true | 否 | undefined |
|
|
17
|
+
| defaultPopupVisible | 默认是否可见,非受控模式 | undefined | false | true | 否 | false |
|
|
18
|
+
| trigger | 触发方式 | undefined | "click" | "hover" | "focus" | "contextMenu" | ("click" | "hover" | "focus" | "contextMenu")[] | 否 | "hover" |
|
|
19
|
+
| disabled | 是否禁用 Tooltip | undefined | false | true | 否 | false |
|
|
20
|
+
| content | 提示内容 | undefined | string | number | 否 | 未声明 |
|
|
21
|
+
| position | 弹出位置 | undefined | "top" | "bottom" | "right" | "left" | "tl" | "tr" | "bl" | "br" | "lt" | "rt" | "lb" | "rb" | 否 | "top" |
|
|
22
|
+
| mini | 是否展示为迷你尺寸 | undefined | false | true | 否 | false |
|
|
23
|
+
| backgroundColor | 气泡与箭头背景色 | undefined | string | 否 | 未声明 |
|
|
24
|
+
| contentClass | 气泡内容类名 | undefined | string | { [x: string]: boolean; } | (string | Record<string, boolean>)[] | 否 | 未声明 |
|
|
25
|
+
| contentStyle | 气泡内容样式 | undefined | CSSProperties | 否 | 未声明 |
|
|
26
|
+
| arrowClass | 箭头类名 | undefined | string | { [x: string]: boolean; } | (string | Record<string, boolean>)[] | 否 | 未声明 |
|
|
27
|
+
| arrowStyle | 箭头样式 | undefined | CSSProperties | 否 | 未声明 |
|
|
28
|
+
| popupContainer | 弹层挂载容器 | undefined | string | HTMLElement | 否 | 未声明 |
|
|
29
|
+
| popupOffset | 弹层偏移距离 | undefined | number | 否 | 10 |
|
|
30
|
+
| popupTranslate | 弹层移动距离 | undefined | [number, number] | { top?: [number, number] | undefined; bottom?: [number, number] | undefined; right?: [number, number] | undefined; left?: [number, number] | undefined; tl?: [number, number] | undefined; tr?: [number, number] | undefined; bl?: [number, number] | undefined; br?: [number, number] | undefined; lt?: [number, number] | undefined; rt?: [number, number] | undefined; lb?: [number, number] | undefined; rb?: [number, number] | undefined; } | 否 | 未声明 |
|
|
31
|
+
| showArrow | 是否展示箭头 | undefined | false | true | 否 | true |
|
|
32
|
+
| alignPoint | 是否跟随鼠标位置,常用于右键菜单 | undefined | false | true | 否 | false |
|
|
33
|
+
| popupStyle | 弹层定位节点样式 | undefined | CSSProperties | 否 | 未声明 |
|
|
34
|
+
| animationName | 弹出动画名称 | undefined | string | 否 | "x-zoom-in-fade-out" |
|
|
35
|
+
| duration | 动画持续时间 | undefined | number | { enter: number; leave: number; } | 否 | 未声明 |
|
|
36
|
+
| mouseEnterDelay | 鼠标移入延迟,单位毫秒 | undefined | number | 否 | 100 |
|
|
37
|
+
| mouseLeaveDelay | 鼠标移出延迟,单位毫秒 | undefined | number | 否 | 100 |
|
|
38
|
+
| focusDelay | 聚焦延迟,单位毫秒 | undefined | number | 否 | 0 |
|
|
39
|
+
| popupHoverStay | hover 触发时移入浮层是否保持显示 | undefined | false | true | 否 | true |
|
|
40
|
+
| blurToClose | focus 触发时失焦是否关闭 | undefined | false | true | 否 | true |
|
|
41
|
+
| clickToClose | 点击触发器时是否允许关闭 | undefined | false | true | 否 | true |
|
|
42
|
+
| clickOutsideToClose | 点击外部是否关闭 | undefined | false | true | 否 | true |
|
|
43
|
+
| unmountOnClose | 关闭时是否卸载弹层节点 | undefined | false | true | 否 | true |
|
|
44
|
+
| autoFitPopupWidth | 是否将弹层宽度设为触发器宽度 | undefined | false | true | 否 | false |
|
|
45
|
+
| autoFitPopupMinWidth | 是否将弹层最小宽度设为触发器宽度 | undefined | false | true | 否 | false |
|
|
46
|
+
| autoFixPosition | 触发器尺寸变化时是否重新定位 | undefined | false | true | 否 | true |
|
|
47
|
+
| updateAtScroll | 容器滚动时是否更新弹层位置 | undefined | false | true | 否 | false |
|
|
48
|
+
| autoFitPosition | 是否自动调整位置适配视口 | undefined | false | true | 否 | true |
|
|
49
|
+
| renderToBody | 是否挂载到 body | undefined | false | true | 否 | true |
|
|
50
|
+
| preventFocus | 点击弹层元素时是否阻止获取焦点 | undefined | false | true | 否 | false |
|
|
51
|
+
| scrollToClose | 滚动时是否关闭 | undefined | false | true | 否 | false |
|
|
52
|
+
| scrollToCloseDistance | 滚动关闭阈值 | undefined | number | 否 | 0 |
|
|
53
|
+
| openedClass | 打开时给触发元素添加的类名 | undefined | string | { [x: string]: boolean; } | (string | Record<string, boolean>)[] | 否 | 未声明 |
|
|
54
|
+
|
|
55
|
+
### Events
|
|
56
|
+
|
|
57
|
+
| 事件 | 用途 | 监听器签名(即事件参数) |
|
|
58
|
+
| --- | --- | --- |
|
|
59
|
+
| update:popupVisible | 显隐状态变化时触发,用于 v-model:popup-visible | undefined | (visible: boolean) => any |
|
|
60
|
+
| popupVisibleChange | 显隐状态变化时触发 | undefined | (visible: boolean) => any |
|
|
61
|
+
| show | 显示动画结束后触发 | undefined | () => any |
|
|
62
|
+
| hide | 隐藏动画结束后触发 | undefined | () => any |
|
|
63
|
+
| resize | 内部尺寸变化时触发 | undefined | () => any |
|
|
64
|
+
|
|
65
|
+
### Slots
|
|
66
|
+
|
|
67
|
+
| 名称 | 用途 | 公开类型 |
|
|
68
|
+
| --- | --- | --- |
|
|
69
|
+
| default | 触发提示的元素 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
|
|
70
|
+
| content | 自定义提示内容,优先级高于 content prop | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
|
|
71
|
+
|
|
72
|
+
### 实例方法
|
|
73
|
+
|
|
74
|
+
没有检索到显式 expose 或 Options API methods 的公开方法;不把 setup 内部函数当成稳定实例 API。
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
返回 [Tooltip 用法](./tooltip.md)。
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
<!-- Generated by pnpm generate:ai-usage. Edit script/ai-usage/content.md and script/ai-usage/. -->
|
|
2
|
+
# Tooltip AI 使用
|
|
3
|
+
|
|
4
|
+
适用版本:x-next@1.15.0;来源指纹:`47ea153587c8d0b3bf318977b10bde9f8dd4acff90c5818541ba6513252ad362`。
|
|
5
|
+
|
|
6
|
+
先读 [通用接入](../core.md)。公开导出:`Tooltip`;主要模型:v-model:popup-visible。完整 Props、Events、Slots、实例方法与服务签名见 [本地 API](./tooltip-api.md),包含本组件族全部子组件和别名。
|
|
7
|
+
|
|
8
|
+
按需样式:`x-next/style/tooltip`(包含 base.css、trigger.css、tooltip.css)。代码块未单独引样式时在应用入口加载全量样式,或按实际所有组件加载 JS 入口;不要仅因复制一个组件页就漏掉其中的 Button 等组合依赖。
|
|
9
|
+
|
|
10
|
+
## 场景用法
|
|
11
|
+
|
|
12
|
+
以下示例从本地 `src/docs/components/tooltip.md` 显式导入到独立 AI 源,补齐局部注册、状态和样式后进行严格模板检查。上方已核验行为优先;原始 prop 默认值、包装透传和示例业务适配分别查 [完整 API](./tooltip-api.md) 与场景说明。类型通过不代表所有散文和交互已验证。
|
|
13
|
+
|
|
14
|
+
### 用途与选型
|
|
15
|
+
|
|
16
|
+
用于解释图标、按钮或截断文本。
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### 何时使用
|
|
20
|
+
|
|
21
|
+
- 需要在鼠标悬停、键盘聚焦或点击时展示短文本说明。
|
|
22
|
+
- 说明内容较短,不承载复杂结构或操作。
|
|
23
|
+
- 复杂卡片、标题和操作按钮请优先使用 [Popover 气泡卡片](./popover.md)。
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### 基础用法
|
|
27
|
+
|
|
28
|
+
```vue
|
|
29
|
+
<script setup lang="ts">
|
|
30
|
+
import 'x-next/style.css';
|
|
31
|
+
import { Tooltip, Button } from 'x-next';
|
|
32
|
+
|
|
33
|
+
</script>
|
|
34
|
+
<template>
|
|
35
|
+
<Tooltip content="这是一段提示内容">
|
|
36
|
+
<Button>悬浮查看</Button>
|
|
37
|
+
</Tooltip>
|
|
38
|
+
|
|
39
|
+
<Tooltip content="键盘聚焦也可查看" :trigger="['hover', 'focus']">
|
|
40
|
+
<Button>聚焦查看</Button>
|
|
41
|
+
</Tooltip>
|
|
42
|
+
</template>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 弹出位置
|
|
46
|
+
|
|
47
|
+
```vue
|
|
48
|
+
<script setup lang="ts">
|
|
49
|
+
import 'x-next/style.css';
|
|
50
|
+
import { Tooltip, Button } from 'x-next';
|
|
51
|
+
|
|
52
|
+
</script>
|
|
53
|
+
<template>
|
|
54
|
+
<Tooltip content="上方" position="top">
|
|
55
|
+
<Button>Top</Button>
|
|
56
|
+
</Tooltip>
|
|
57
|
+
<Tooltip content="右侧" position="right">
|
|
58
|
+
<Button>Right</Button>
|
|
59
|
+
</Tooltip>
|
|
60
|
+
</template>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 迷你尺寸和颜色
|
|
64
|
+
|
|
65
|
+
```vue
|
|
66
|
+
<script setup lang="ts">
|
|
67
|
+
import 'x-next/style.css';
|
|
68
|
+
import { Tooltip, Button } from 'x-next';
|
|
69
|
+
|
|
70
|
+
</script>
|
|
71
|
+
<template>
|
|
72
|
+
<Tooltip content="1234" mini>
|
|
73
|
+
<Button>迷你尺寸</Button>
|
|
74
|
+
</Tooltip>
|
|
75
|
+
|
|
76
|
+
<Tooltip content="蓝色提示" background-color="#165dff">
|
|
77
|
+
<Button>蓝色</Button>
|
|
78
|
+
</Tooltip>
|
|
79
|
+
</template>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 禁用和空内容
|
|
83
|
+
|
|
84
|
+
```vue
|
|
85
|
+
<script setup lang="ts">
|
|
86
|
+
import 'x-next/style.css';
|
|
87
|
+
import { Tooltip, Button } from 'x-next';
|
|
88
|
+
|
|
89
|
+
</script>
|
|
90
|
+
<template>
|
|
91
|
+
<Tooltip content="禁用后不会展示" disabled>
|
|
92
|
+
<Button>禁用提示</Button>
|
|
93
|
+
</Tooltip>
|
|
94
|
+
|
|
95
|
+
<Tooltip content="需要管理员权限">
|
|
96
|
+
<Button disabled>禁用按钮提示</Button>
|
|
97
|
+
</Tooltip>
|
|
98
|
+
|
|
99
|
+
<Tooltip>
|
|
100
|
+
<Button>空内容不展示</Button>
|
|
101
|
+
</Tooltip>
|
|
102
|
+
|
|
103
|
+
<Tooltip :content="0">
|
|
104
|
+
<Button>数字 0</Button>
|
|
105
|
+
</Tooltip>
|
|
106
|
+
</template>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 受控显隐和事件
|
|
110
|
+
|
|
111
|
+
```vue
|
|
112
|
+
<script setup lang="ts">
|
|
113
|
+
import 'x-next/style.css';
|
|
114
|
+
import { Button, Tooltip } from 'x-next';
|
|
115
|
+
import { ref } from 'vue';
|
|
116
|
+
|
|
117
|
+
const visible = ref(false);
|
|
118
|
+
</script>
|
|
119
|
+
<template>
|
|
120
|
+
<Button @click="visible = !visible">切换显隐</Button>
|
|
121
|
+
<Tooltip
|
|
122
|
+
v-model:popup-visible="visible"
|
|
123
|
+
trigger="click"
|
|
124
|
+
content="受控 Tooltip"
|
|
125
|
+
@popup-visible-change="(nextVisible) => console.log(nextVisible)"
|
|
126
|
+
>
|
|
127
|
+
<Button>点击触发</Button>
|
|
128
|
+
</Tooltip>
|
|
129
|
+
</template>
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### 自定义内容
|
|
133
|
+
|
|
134
|
+
```vue
|
|
135
|
+
<script setup lang="ts">
|
|
136
|
+
import 'x-next/style.css';
|
|
137
|
+
import { Tooltip, Button } from 'x-next';
|
|
138
|
+
|
|
139
|
+
</script>
|
|
140
|
+
<template>
|
|
141
|
+
<Tooltip>
|
|
142
|
+
<Button>查看状态</Button>
|
|
143
|
+
<template #content>
|
|
144
|
+
<div>
|
|
145
|
+
<strong>构建完成</strong>
|
|
146
|
+
<span>耗时 12.4s,产物已更新。</span>
|
|
147
|
+
</div>
|
|
148
|
+
</template>
|
|
149
|
+
</Tooltip>
|
|
150
|
+
</template>
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### 更多触发能力
|
|
154
|
+
|
|
155
|
+
```vue
|
|
156
|
+
<script setup lang="ts">
|
|
157
|
+
import 'x-next/style.css';
|
|
158
|
+
import { Tooltip, Button } from 'x-next';
|
|
159
|
+
import { ref } from 'vue';
|
|
160
|
+
|
|
161
|
+
const visible = ref(false);
|
|
162
|
+
</script>
|
|
163
|
+
<template>
|
|
164
|
+
<Tooltip content="没有箭头" :show-arrow="false">
|
|
165
|
+
<Button>隐藏箭头</Button>
|
|
166
|
+
</Tooltip>
|
|
167
|
+
|
|
168
|
+
<Tooltip v-model:popup-visible="visible" trigger="contextMenu" align-point content="跟随右键位置">
|
|
169
|
+
<Button>右键触发</Button>
|
|
170
|
+
</Tooltip>
|
|
171
|
+
</template>
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### 导出项
|
|
175
|
+
|
|
176
|
+
| 名称 | 说明 |
|
|
177
|
+
| --- | --- |
|
|
178
|
+
| `Tooltip` | 主组件 |
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
返回 [AI 索引](../index.md)。先查本页与 [本地 API](./tooltip-api.md);需要更深类型时查 [公开组件导航](../catalog.md),不默认上网查找本包用法。
|