@teamix-evo/ui 0.1.1 → 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.
- package/README.md +1 -1
- package/package.json +8 -4
- package/src/components/accordion/accordion.meta.md +10 -5
- package/src/components/accordion/accordion.stories.tsx +11 -6
- package/src/components/affix/affix.meta.md +19 -10
- package/src/components/affix/affix.stories.tsx +4 -2
- package/src/components/alert/alert.meta.md +19 -14
- package/src/components/alert/alert.stories.tsx +1 -1
- package/src/components/alert/alert.tsx +5 -5
- package/src/components/alert-dialog/alert-dialog.meta.md +23 -10
- package/src/components/alert-dialog/alert-dialog.stories.tsx +1 -1
- package/src/components/alert-dialog/alert-dialog.tsx +1 -1
- package/src/components/anchor/anchor.meta.md +20 -11
- package/src/components/anchor/anchor.stories.tsx +1 -1
- package/src/components/app/app.meta.md +19 -10
- package/src/components/app/app.stories.tsx +4 -2
- package/src/components/aspect-ratio/aspect-ratio.meta.md +10 -5
- package/src/components/aspect-ratio/aspect-ratio.stories.tsx +1 -1
- package/src/components/auto-complete/auto-complete.meta.md +25 -16
- package/src/components/auto-complete/auto-complete.stories.tsx +4 -2
- package/src/components/avatar/avatar.meta.md +23 -11
- package/src/components/avatar/avatar.stories.tsx +1 -1
- package/src/components/badge/badge.meta.md +26 -21
- package/src/components/badge/badge.tsx +7 -13
- package/src/components/breadcrumb/breadcrumb.meta.md +21 -10
- package/src/components/breadcrumb/breadcrumb.stories.tsx +8 -0
- package/src/components/button/button.meta.md +22 -17
- package/src/components/button/button.stories.tsx +1 -1
- package/src/components/button/demo/as-child.tsx +24 -0
- package/src/components/button/demo/basic.tsx +8 -0
- package/src/components/button/demo/block.tsx +16 -0
- package/src/components/button/demo/loading.tsx +19 -0
- package/src/components/button/demo/shapes.tsx +18 -0
- package/src/components/button/demo/sizes.tsx +19 -0
- package/src/components/button/demo/variants.tsx +19 -0
- package/src/components/button/demo/with-icon.tsx +20 -0
- package/src/components/button-group/button-group.meta.md +18 -9
- package/src/components/button-group/button-group.stories.tsx +5 -2
- package/src/components/calendar/calendar.meta.md +14 -9
- package/src/components/calendar/calendar.stories.tsx +1 -1
- package/src/components/calendar/calendar.tsx +1 -1
- package/src/components/card/card.meta.md +36 -11
- package/src/components/card/card.stories.tsx +8 -0
- package/src/components/carousel/carousel.meta.md +16 -11
- package/src/components/carousel/carousel.stories.tsx +10 -5
- package/src/components/cascader/cascader.meta.md +28 -19
- package/src/components/cascader/cascader.stories.tsx +9 -8
- package/src/components/cascader/cascader.tsx +2 -2
- package/src/components/checkbox/checkbox.meta.md +26 -8
- package/src/components/checkbox/checkbox.stories.tsx +1 -1
- package/src/components/collapsible/collapsible.meta.md +11 -4
- package/src/components/collapsible/collapsible.stories.tsx +8 -0
- package/src/components/color-picker/color-picker.meta.md +27 -18
- package/src/components/color-picker/color-picker.stories.tsx +1 -1
- package/src/components/color-picker/color-picker.tsx +1 -0
- package/src/components/combobox/combobox.meta.md +29 -20
- package/src/components/combobox/combobox.stories.tsx +1 -1
- package/src/components/combobox/combobox.tsx +3 -3
- package/src/components/command/command.meta.md +32 -12
- package/src/components/command/command.stories.tsx +1 -1
- package/src/components/command/command.tsx +1 -1
- package/src/components/context-menu/context-menu.meta.md +34 -11
- package/src/components/context-menu/context-menu.stories.tsx +8 -0
- package/src/components/context-menu/context-menu.tsx +2 -2
- package/src/components/data-table/data-table.meta.md +24 -19
- package/src/components/data-table/data-table.stories.tsx +12 -5
- package/src/components/date-picker/date-picker.meta.md +40 -20
- package/src/components/date-picker/date-picker.stories.tsx +1 -1
- package/src/components/descriptions/descriptions.meta.md +23 -14
- package/src/components/descriptions/descriptions.stories.tsx +1 -1
- package/src/components/dialog/dialog.meta.md +25 -12
- package/src/components/dialog/dialog.stories.tsx +1 -1
- package/src/components/dialog/dialog.tsx +1 -1
- package/src/components/drawer/drawer.meta.md +19 -8
- package/src/components/drawer/drawer.stories.tsx +1 -1
- package/src/components/drawer/drawer.tsx +1 -0
- package/src/components/dropdown-menu/dropdown-menu.meta.md +42 -14
- package/src/components/dropdown-menu/dropdown-menu.stories.tsx +8 -0
- package/src/components/dropdown-menu/dropdown-menu.tsx +2 -2
- package/src/components/empty/empty.meta.md +20 -11
- package/src/components/empty/empty.stories.tsx +1 -1
- package/src/components/field/field.meta.md +27 -10
- package/src/components/field/field.stories.tsx +6 -3
- package/src/components/flex/flex.meta.md +23 -14
- package/src/components/flex/flex.stories.tsx +46 -14
- package/src/components/float-button/float-button.meta.md +35 -11
- package/src/components/float-button/float-button.stories.tsx +4 -2
- package/src/components/float-button/float-button.tsx +1 -1
- package/src/components/form/form.meta.md +57 -14
- package/src/components/form/form.stories.tsx +1 -1
- package/src/components/grid/grid.meta.md +31 -6
- package/src/components/grid/grid.stories.tsx +4 -2
- package/src/components/hover-card/hover-card.meta.md +21 -9
- package/src/components/hover-card/hover-card.stories.tsx +6 -2
- package/src/components/image/image.meta.md +24 -15
- package/src/components/image/image.stories.tsx +1 -1
- package/src/components/image/image.tsx +4 -4
- package/src/components/input/demo/addon.tsx +15 -0
- package/src/components/input/demo/basic.tsx +12 -0
- package/src/components/input/demo/clearable.tsx +21 -0
- package/src/components/input/demo/show-count.tsx +18 -0
- package/src/components/input/demo/sizes.tsx +15 -0
- package/src/components/input/demo/with-prefix-suffix.tsx +19 -0
- package/src/components/input/input.meta.md +21 -16
- package/src/components/input/input.stories.tsx +1 -1
- package/src/components/input/input.tsx +51 -47
- package/src/components/input-group/input-group.meta.md +26 -8
- package/src/components/input-group/input-group.stories.tsx +1 -1
- package/src/components/input-group/input-group.tsx +4 -3
- package/src/components/input-number/input-number.meta.md +26 -17
- package/src/components/input-number/input-number.stories.tsx +14 -3
- package/src/components/input-number/input-number.tsx +20 -6
- package/src/components/input-otp/input-otp.meta.md +22 -9
- package/src/components/input-otp/input-otp.stories.tsx +1 -1
- package/src/components/item/item.meta.md +32 -9
- package/src/components/item/item.stories.tsx +5 -2
- package/src/components/kbd/kbd.meta.md +29 -8
- package/src/components/kbd/kbd.stories.tsx +1 -1
- package/src/components/kbd/kbd.tsx +2 -1
- package/src/components/label/label.meta.md +14 -9
- package/src/components/masonry/masonry.meta.md +18 -9
- package/src/components/masonry/masonry.stories.tsx +4 -2
- package/src/components/masonry/masonry.tsx +1 -0
- package/src/components/mentions/mentions.meta.md +28 -19
- package/src/components/mentions/mentions.stories.tsx +1 -1
- package/src/components/mentions/mentions.tsx +2 -1
- package/src/components/menubar/menubar.meta.md +36 -14
- package/src/components/menubar/menubar.stories.tsx +8 -0
- package/src/components/menubar/menubar.tsx +2 -2
- package/src/components/native-select/native-select.meta.md +17 -8
- package/src/components/native-select/native-select.stories.tsx +6 -3
- package/src/components/navigation-menu/navigation-menu.meta.md +25 -11
- package/src/components/navigation-menu/navigation-menu.stories.tsx +11 -11
- package/src/components/navigation-menu/navigation-menu.tsx +3 -2
- package/src/components/notification/notification.meta.md +14 -5
- package/src/components/notification/notification.stories.tsx +5 -3
- package/src/components/notification/notification.tsx +3 -3
- package/src/components/pagination/pagination.meta.md +59 -28
- package/src/components/pagination/pagination.stories.tsx +9 -3
- package/src/components/popconfirm/popconfirm.meta.md +30 -21
- package/src/components/popconfirm/popconfirm.stories.tsx +1 -2
- package/src/components/popconfirm/popconfirm.tsx +1 -1
- package/src/components/popover/popover.meta.md +13 -8
- package/src/components/popover/popover.stories.tsx +1 -1
- package/src/components/progress/progress.meta.md +28 -13
- package/src/components/progress/progress.stories.tsx +1 -1
- package/src/components/progress/progress.tsx +6 -6
- package/src/components/radio-group/radio-group.meta.md +17 -12
- package/src/components/radio-group/radio-group.stories.tsx +1 -1
- package/src/components/rate/rate.meta.md +25 -16
- package/src/components/rate/rate.stories.tsx +11 -3
- package/src/components/rate/rate.tsx +2 -2
- package/src/components/resizable/resizable.meta.md +19 -8
- package/src/components/resizable/resizable.stories.tsx +1 -1
- package/src/components/result/result.meta.md +21 -12
- package/src/components/result/result.stories.tsx +2 -6
- package/src/components/result/result.tsx +3 -3
- package/src/components/scroll-area/scroll-area.meta.md +10 -5
- package/src/components/scroll-area/scroll-area.stories.tsx +8 -0
- package/src/components/scroll-area/scroll-area.tsx +3 -3
- package/src/components/segmented/segmented.meta.md +19 -14
- package/src/components/segmented/segmented.stories.tsx +35 -6
- package/src/components/select/select.meta.md +22 -9
- package/src/components/select/select.stories.tsx +1 -1
- package/src/components/select/select.tsx +2 -2
- package/src/components/separator/separator.meta.md +16 -11
- package/src/components/separator/separator.stories.tsx +1 -1
- package/src/components/sheet/sheet.meta.md +22 -11
- package/src/components/sheet/sheet.stories.tsx +1 -1
- package/src/components/sidebar/sidebar.meta.md +47 -18
- package/src/components/sidebar/sidebar.stories.tsx +10 -5
- package/src/components/skeleton/skeleton.meta.md +33 -10
- package/src/components/skeleton/skeleton.stories.tsx +1 -1
- package/src/components/slider/slider.meta.md +12 -7
- package/src/components/slider/slider.stories.tsx +1 -1
- package/src/components/sonner/sonner.meta.md +8 -3
- package/src/components/sonner/sonner.stories.tsx +13 -8
- package/src/components/space/space.meta.md +22 -13
- package/src/components/space/space.stories.tsx +20 -6
- package/src/components/spinner/spinner.meta.md +23 -10
- package/src/components/spinner/spinner.stories.tsx +1 -1
- package/src/components/statistic/statistic.meta.md +37 -16
- package/src/components/statistic/statistic.stories.tsx +2 -6
- package/src/components/statistic/statistic.tsx +1 -1
- package/src/components/steps/steps.meta.md +21 -12
- package/src/components/steps/steps.stories.tsx +7 -2
- package/src/components/switch/switch.meta.md +16 -11
- package/src/components/switch/switch.stories.tsx +1 -1
- package/src/components/switch/switch.tsx +58 -36
- package/src/components/table/table.meta.md +24 -9
- package/src/components/table/table.stories.tsx +9 -4
- package/src/components/tabs/tabs.meta.md +14 -9
- package/src/components/tabs/tabs.stories.tsx +8 -0
- package/src/components/tag/tag.meta.md +39 -10
- package/src/components/tag/tag.stories.tsx +7 -2
- package/src/components/tag/tag.tsx +3 -3
- package/src/components/textarea/textarea.meta.md +17 -12
- package/src/components/textarea/textarea.stories.tsx +1 -1
- package/src/components/textarea/textarea.tsx +1 -1
- package/src/components/time-picker/time-picker.meta.md +38 -15
- package/src/components/time-picker/time-picker.stories.tsx +44 -6
- package/src/components/time-picker/time-picker.tsx +74 -10
- package/src/components/timeline/timeline.meta.md +20 -11
- package/src/components/timeline/timeline.stories.tsx +14 -4
- package/src/components/timeline/timeline.tsx +3 -2
- package/src/components/toggle/toggle.meta.md +14 -9
- package/src/components/toggle/toggle.stories.tsx +1 -1
- package/src/components/toggle-group/toggle-group.meta.md +16 -11
- package/src/components/toggle-group/toggle-group.stories.tsx +1 -1
- package/src/components/tooltip/tooltip.meta.md +18 -13
- package/src/components/tooltip/tooltip.stories.tsx +1 -1
- package/src/components/tour/tour.meta.md +25 -16
- package/src/components/tour/tour.stories.tsx +1 -1
- package/src/components/tour/tour.tsx +1 -1
- package/src/components/transfer/transfer.meta.md +29 -20
- package/src/components/transfer/transfer.stories.tsx +2 -6
- package/src/components/tree/tree.meta.md +36 -23
- package/src/components/tree/tree.stories.tsx +30 -11
- package/src/components/tree-select/tree-select.meta.md +37 -22
- package/src/components/tree-select/tree-select.stories.tsx +1 -1
- package/src/components/tree-select/tree-select.tsx +1 -1
- package/src/components/typography/typography.meta.md +41 -16
- package/src/components/typography/typography.stories.tsx +4 -8
- package/src/components/typography/typography.tsx +5 -3
- package/src/components/upload/upload.meta.md +31 -22
- package/src/components/upload/upload.stories.tsx +8 -14
- package/src/components/watermark/watermark.meta.md +26 -17
- package/src/components/watermark/watermark.stories.tsx +4 -2
- package/src/components/watermark/watermark.tsx +1 -0
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: pagination
|
|
3
3
|
name: Pagination
|
|
4
|
+
displayName: 分页
|
|
4
5
|
type: component
|
|
5
6
|
category: navigation
|
|
6
7
|
since: 0.1.0
|
|
7
|
-
package:
|
|
8
|
+
package: '@teamix-evo/ui'
|
|
8
9
|
---
|
|
9
10
|
|
|
10
|
-
# Pagination
|
|
11
|
+
# Pagination 分页
|
|
11
12
|
|
|
12
13
|
分页 — 两套 API:
|
|
14
|
+
|
|
13
15
|
1. **shadcn primitives**(`Pagination / Content / Item / Link / Previous / Next / Ellipsis`)— 完全可组合,适合自定义复杂分页布局
|
|
14
16
|
2. **`SimplePagination`**(antd 风格 props 化高阶包装)— `total / pageSize / current / onChange` 即用,**自动计算页码窗口 + 折叠 ellipsis + 显示总数**
|
|
15
17
|
|
|
@@ -26,20 +28,30 @@ package: "@teamix-evo/ui"
|
|
|
26
28
|
|
|
27
29
|
## Props
|
|
28
30
|
|
|
29
|
-
> 以下表格由 `pnpm --filter @teamix-evo/ui gen:meta`
|
|
31
|
+
> 以下表格由 `pnpm --filter @teamix-evo/ui gen:meta` 自动生成。
|
|
30
32
|
|
|
31
33
|
<!-- auto:props:begin -->
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
| `
|
|
38
|
-
| `
|
|
39
|
-
| `
|
|
40
|
-
| `
|
|
41
|
-
| `
|
|
42
|
-
| `
|
|
34
|
+
|
|
35
|
+
#### SimplePagination
|
|
36
|
+
|
|
37
|
+
| 名称 | 类型 | 默认值 | 必填 | 说明 |
|
|
38
|
+
| --------------- | ------------------------------------------------------------- | ------- | ---- | ------------------------------------------------ |
|
|
39
|
+
| `current` | `number` | – | – | 当前页(1-based)。 |
|
|
40
|
+
| `onChange` | `(page: number) => void` | – | – | 受控变化回调。 |
|
|
41
|
+
| `total` | `number` | – | ✓ | 总条数。 |
|
|
42
|
+
| `pageSize` | `number` | `10` | – | 每页大小。 |
|
|
43
|
+
| `showFirstLast` | `boolean` | `false` | – | 是否显示首末页快捷按钮。 |
|
|
44
|
+
| `showTotal` | `boolean` | `true` | – | 是否显示总数文本(antd `showTotal` 并集,简化版)。 |
|
|
45
|
+
| `totalRender` | `(total: number, range: [number, number]) => React.ReactNode` | – | – | 自定义总数渲染。返回字符串或 ReactNode。 |
|
|
46
|
+
| `siblingCount` | `number` | `5` | – | 显示页号窗口大小(中间显示几个页号)。 |
|
|
47
|
+
| `className` | `string` | – | – | 容器 className。 |
|
|
48
|
+
|
|
49
|
+
#### PaginationLink
|
|
50
|
+
|
|
51
|
+
| 名称 | 类型 | 默认值 | 必填 | 说明 |
|
|
52
|
+
| ---------- | --------- | ------ | ---- | -------------------- |
|
|
53
|
+
| `isActive` | `boolean` | – | – | 当前激活状态(高亮)。 |
|
|
54
|
+
|
|
43
55
|
<!-- auto:props:end -->
|
|
44
56
|
|
|
45
57
|
## 依赖
|
|
@@ -47,13 +59,14 @@ package: "@teamix-evo/ui"
|
|
|
47
59
|
> 以下表格由 `pnpm --filter @teamix-evo/ui gen:meta` 自动生成,数据源是 [`manifest.json`](../../../manifest.json)。**手工编辑 marker 之间的内容会在下次生成时被覆盖**。
|
|
48
60
|
|
|
49
61
|
<!-- auto:deps:begin -->
|
|
62
|
+
|
|
50
63
|
### 同库依赖
|
|
51
64
|
|
|
52
65
|
> `teamix-evo ui add pagination` 时,以下 entry 会被自动连带安装(无需手动 add)。
|
|
53
66
|
|
|
54
|
-
| Entry
|
|
55
|
-
|
|
|
56
|
-
| `cn`
|
|
67
|
+
| Entry | 类型 | 描述 |
|
|
68
|
+
| -------- | --------- | --------------------------------------------------------------------------------------- |
|
|
69
|
+
| `cn` | util | Tailwind className 合并工具(clsx + tailwind-merge) |
|
|
57
70
|
| `button` | component | 通用按钮 — shadcn 实现 + antd 功能扩展(loading / icon / shape / block / dashed variant) |
|
|
58
71
|
|
|
59
72
|
### npm 依赖
|
|
@@ -63,9 +76,8 @@ package: "@teamix-evo/ui"
|
|
|
63
76
|
```bash
|
|
64
77
|
pnpm add lucide-react@^0.460.0
|
|
65
78
|
```
|
|
66
|
-
<!-- auto:deps:end -->
|
|
67
79
|
|
|
68
|
-
|
|
80
|
+
<!-- auto:deps:end -->
|
|
69
81
|
|
|
70
82
|
## AI 生成纪律
|
|
71
83
|
|
|
@@ -110,18 +122,37 @@ const [page, setPage] = React.useState(1);
|
|
|
110
122
|
```tsx
|
|
111
123
|
// 自由组合(primitives)
|
|
112
124
|
import {
|
|
113
|
-
Pagination,
|
|
114
|
-
|
|
125
|
+
Pagination,
|
|
126
|
+
PaginationContent,
|
|
127
|
+
PaginationItem,
|
|
128
|
+
PaginationLink,
|
|
129
|
+
PaginationPrevious,
|
|
130
|
+
PaginationNext,
|
|
131
|
+
PaginationEllipsis,
|
|
115
132
|
} from '@/components/ui/pagination';
|
|
116
133
|
|
|
117
134
|
<Pagination>
|
|
118
135
|
<PaginationContent>
|
|
119
|
-
<PaginationItem
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
<PaginationItem
|
|
123
|
-
|
|
124
|
-
|
|
136
|
+
<PaginationItem>
|
|
137
|
+
<PaginationPrevious href="#" />
|
|
138
|
+
</PaginationItem>
|
|
139
|
+
<PaginationItem>
|
|
140
|
+
<PaginationLink href="#">1</PaginationLink>
|
|
141
|
+
</PaginationItem>
|
|
142
|
+
<PaginationItem>
|
|
143
|
+
<PaginationLink href="#" isActive>
|
|
144
|
+
2
|
|
145
|
+
</PaginationLink>
|
|
146
|
+
</PaginationItem>
|
|
147
|
+
<PaginationItem>
|
|
148
|
+
<PaginationLink href="#">3</PaginationLink>
|
|
149
|
+
</PaginationItem>
|
|
150
|
+
<PaginationItem>
|
|
151
|
+
<PaginationEllipsis />
|
|
152
|
+
</PaginationItem>
|
|
153
|
+
<PaginationItem>
|
|
154
|
+
<PaginationNext href="#" />
|
|
155
|
+
</PaginationItem>
|
|
125
156
|
</PaginationContent>
|
|
126
|
-
</Pagination
|
|
157
|
+
</Pagination>;
|
|
127
158
|
```
|
|
@@ -6,6 +6,14 @@ const meta: Meta<typeof SimplePagination> = {
|
|
|
6
6
|
title: '导航 · Navigation/Pagination',
|
|
7
7
|
component: SimplePagination,
|
|
8
8
|
tags: ['autodocs'],
|
|
9
|
+
parameters: {
|
|
10
|
+
docs: {
|
|
11
|
+
description: {
|
|
12
|
+
component:
|
|
13
|
+
'分页 — 两套 API:SimplePagination(antd 风格 props 化,total / pageSize / current / onChange 即用) + shadcn primitives(完全可组合)。自动计算页码窗口 + 折叠 ellipsis + 显示总数。',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
},
|
|
9
17
|
argTypes: {
|
|
10
18
|
total: { control: 'number' },
|
|
11
19
|
pageSize: { control: 'number' },
|
|
@@ -23,9 +31,7 @@ type Story = StoryObj<typeof SimplePagination>;
|
|
|
23
31
|
export const Playground: Story = {
|
|
24
32
|
render: (args) => {
|
|
25
33
|
const [page, setPage] = React.useState(args.current ?? 1);
|
|
26
|
-
return
|
|
27
|
-
<SimplePagination {...args} current={page} onChange={setPage} />
|
|
28
|
-
);
|
|
34
|
+
return <SimplePagination {...args} current={page} onChange={setPage} />;
|
|
29
35
|
},
|
|
30
36
|
};
|
|
31
37
|
|
|
@@ -4,10 +4,11 @@ name: Popconfirm
|
|
|
4
4
|
type: component
|
|
5
5
|
category: feedback
|
|
6
6
|
since: 0.1.0
|
|
7
|
-
package:
|
|
7
|
+
package: '@teamix-evo/ui'
|
|
8
|
+
displayName: 气泡确认
|
|
8
9
|
---
|
|
9
10
|
|
|
10
|
-
# Popconfirm
|
|
11
|
+
# Popconfirm 气泡确认
|
|
11
12
|
|
|
12
13
|
轻量级确认弹层 — antd 独有补足。**等价 antd `Popconfirm`**。用于"小风险"操作的二次确认(删除一行、忽略某条通知),视觉比 `AlertDialog` 更轻、不阻塞页面;`onConfirm` 支持返回 Promise(等待时按钮自动 loading)。
|
|
13
14
|
|
|
@@ -23,33 +24,40 @@ package: "@teamix-evo/ui"
|
|
|
23
24
|
- 无后果的纯展示 → `Tooltip` / `Popover`
|
|
24
25
|
- 长决策路径(需要填写理由)→ `Dialog` / `Drawer`
|
|
25
26
|
|
|
27
|
+
## Props
|
|
28
|
+
|
|
26
29
|
<!-- auto:props:begin -->
|
|
27
|
-
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
| `
|
|
31
|
-
| `
|
|
32
|
-
| `
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
35
|
-
| `
|
|
36
|
-
| `
|
|
37
|
-
| `
|
|
38
|
-
| `
|
|
39
|
-
| `
|
|
40
|
-
| `
|
|
30
|
+
|
|
31
|
+
| 名称 | 类型 | 默认值 | 必填 | 说明 |
|
|
32
|
+
| -------------- | ----------------------------- | ----------- | ---- | ------------------------------------------------------------------- |
|
|
33
|
+
| `children` | `React.ReactElement` | – | ✓ | 触发节点(通常是 Button / a)。 |
|
|
34
|
+
| `title` | `React.ReactNode` | – | ✓ | 主标题(antd `title` 并集)。 |
|
|
35
|
+
| `description` | `React.ReactNode` | – | – | 副描述(antd `description` 并集) — 解释操作后果。 |
|
|
36
|
+
| `icon` | `React.ReactNode` | – | – | 触发图标(antd `icon` 并集) — 默认警示图标。 |
|
|
37
|
+
| `okText` | `string` | `"确定"` | – | 确认按钮文本(antd `okText` 并集)。 |
|
|
38
|
+
| `cancelText` | `string` | `"取消"` | – | 取消按钮文本(antd `cancelText` 并集)。 |
|
|
39
|
+
| `okType` | `'default' \| 'destructive'` | `"default"` | – | 确认按钮 variant(antd `okType` 并集) — 危险操作请用 `destructive`。 |
|
|
40
|
+
| `onConfirm` | `() => void \| Promise<void>` | – | – | 确认回调。 |
|
|
41
|
+
| `onCancel` | `() => void` | – | – | 取消回调。 |
|
|
42
|
+
| `open` | `boolean` | – | – | 受控 open(antd `open` 并集) — 不传时本组件自管 open 状态。 |
|
|
43
|
+
| `onOpenChange` | `(next: boolean) => void` | – | – | open 变化回调。 |
|
|
44
|
+
| `disabled` | `boolean` | – | – | 禁用(子节点点击不弹出)。 |
|
|
45
|
+
|
|
41
46
|
<!-- auto:props:end -->
|
|
42
47
|
|
|
48
|
+
## 依赖
|
|
49
|
+
|
|
43
50
|
<!-- auto:deps:begin -->
|
|
51
|
+
|
|
44
52
|
### 同库依赖
|
|
45
53
|
|
|
46
54
|
> `teamix-evo ui add popconfirm` 时,以下 entry 会被自动连带安装(无需手动 add)。
|
|
47
55
|
|
|
48
|
-
| Entry
|
|
49
|
-
|
|
|
50
|
-
| `cn`
|
|
51
|
-
| `button`
|
|
52
|
-
| `popover` | component | 可交互浮层 — Radix Popover + antd arrow 并集
|
|
56
|
+
| Entry | 类型 | 描述 |
|
|
57
|
+
| --------- | --------- | --------------------------------------------------------------------------------------- |
|
|
58
|
+
| `cn` | util | Tailwind className 合并工具(clsx + tailwind-merge) |
|
|
59
|
+
| `button` | component | 通用按钮 — shadcn 实现 + antd 功能扩展(loading / icon / shape / block / dashed variant) |
|
|
60
|
+
| `popover` | component | 可交互浮层 — Radix Popover + antd arrow 并集 |
|
|
53
61
|
|
|
54
62
|
### npm 依赖
|
|
55
63
|
|
|
@@ -58,6 +66,7 @@ package: "@teamix-evo/ui"
|
|
|
58
66
|
```bash
|
|
59
67
|
pnpm add lucide-react@^0.460.0
|
|
60
68
|
```
|
|
69
|
+
|
|
61
70
|
<!-- auto:deps:end -->
|
|
62
71
|
|
|
63
72
|
## AI 生成纪律
|
|
@@ -11,7 +11,7 @@ const meta: Meta<typeof Popconfirm> = {
|
|
|
11
11
|
docs: {
|
|
12
12
|
description: {
|
|
13
13
|
component:
|
|
14
|
-
'轻量级确认弹层 —
|
|
14
|
+
'轻量级确认弹层 — 小风险操作的二次确认(删除一行 / 忽略一条通知)。视觉比 AlertDialog 更轻、不阻塞页面;onConfirm 支持 Promise(等待时按钮自动 loading)。等价 antd `Popconfirm`。',
|
|
15
15
|
},
|
|
16
16
|
},
|
|
17
17
|
},
|
|
@@ -57,7 +57,6 @@ export const CustomIcon: Story = {
|
|
|
57
57
|
title="重置所有筛选条件?"
|
|
58
58
|
icon={<RefreshCcw className="size-4 text-primary" />}
|
|
59
59
|
onConfirm={() => {
|
|
60
|
-
// eslint-disable-next-line no-alert
|
|
61
60
|
alert('已重置');
|
|
62
61
|
}}
|
|
63
62
|
>
|
|
@@ -94,7 +94,7 @@ const Popconfirm: React.FC<PopconfirmProps> = ({
|
|
|
94
94
|
<PopoverTrigger asChild>{children}</PopoverTrigger>
|
|
95
95
|
<PopoverContent className="w-72 p-3" align="start">
|
|
96
96
|
<div className="flex items-start gap-2">
|
|
97
|
-
<span className="mt-0.5 text-
|
|
97
|
+
<span className="mt-0.5 text-warning">
|
|
98
98
|
{icon ?? <AlertCircle className="size-4" />}
|
|
99
99
|
</span>
|
|
100
100
|
<div className="min-w-0 flex-1">
|
|
@@ -4,10 +4,11 @@ name: Popover
|
|
|
4
4
|
type: component
|
|
5
5
|
category: feedback
|
|
6
6
|
since: 0.1.0
|
|
7
|
-
package:
|
|
7
|
+
package: '@teamix-evo/ui'
|
|
8
|
+
displayName: 气泡卡片
|
|
8
9
|
---
|
|
9
10
|
|
|
10
|
-
# Popover
|
|
11
|
+
# Popover 气泡卡片
|
|
11
12
|
|
|
12
13
|
可交互浮层 — Radix Popover + antd `arrow` 并集。
|
|
13
14
|
**与 Tooltip 区别**:Popover 内可放任意交互元素(button / form / link),触发方式为 click(默认),不是 hover。
|
|
@@ -30,9 +31,11 @@ package: "@teamix-evo/ui"
|
|
|
30
31
|
> 以下表格由 `pnpm --filter @teamix-evo/ui gen:meta` 自动生成。下表是 `PopoverContent` 的 props;`Popover`(Root)透传 Radix 的 `open / defaultOpen / onOpenChange / modal`。
|
|
31
32
|
|
|
32
33
|
<!-- auto:props:begin -->
|
|
33
|
-
|
|
34
|
-
|
|
|
35
|
-
|
|
|
34
|
+
|
|
35
|
+
| 名称 | 类型 | 默认值 | 必填 | 说明 |
|
|
36
|
+
| ------- | --------- | ------- | ---- | --------------------------------------- |
|
|
37
|
+
| `arrow` | `boolean` | `false` | – | 是否显示三角形箭头(antd `arrow` 并集)。 |
|
|
38
|
+
|
|
36
39
|
<!-- auto:props:end -->
|
|
37
40
|
|
|
38
41
|
## 依赖
|
|
@@ -40,13 +43,14 @@ package: "@teamix-evo/ui"
|
|
|
40
43
|
> 以下表格由 `pnpm --filter @teamix-evo/ui gen:meta` 自动生成,数据源是 [`manifest.json`](../../../manifest.json)。**手工编辑 marker 之间的内容会在下次生成时被覆盖**。
|
|
41
44
|
|
|
42
45
|
<!-- auto:deps:begin -->
|
|
46
|
+
|
|
43
47
|
### 同库依赖
|
|
44
48
|
|
|
45
49
|
> `teamix-evo ui add popover` 时,以下 entry 会被自动连带安装(无需手动 add)。
|
|
46
50
|
|
|
47
|
-
| Entry | 类型 | 描述
|
|
48
|
-
|
|
|
49
|
-
| `cn`
|
|
51
|
+
| Entry | 类型 | 描述 |
|
|
52
|
+
| ----- | ---- | -------------------------------------------------- |
|
|
53
|
+
| `cn` | util | Tailwind className 合并工具(clsx + tailwind-merge) |
|
|
50
54
|
|
|
51
55
|
### npm 依赖
|
|
52
56
|
|
|
@@ -55,6 +59,7 @@ package: "@teamix-evo/ui"
|
|
|
55
59
|
```bash
|
|
56
60
|
pnpm add @radix-ui/react-popover@^1.1.0
|
|
57
61
|
```
|
|
62
|
+
|
|
58
63
|
<!-- auto:deps:end -->
|
|
59
64
|
|
|
60
65
|
> 子组件:`Popover`(Root)/ `PopoverTrigger`(触发器,通常 asChild)/ `PopoverContent`(浮层内容)/ `PopoverClose`(关闭按钮)/ `PopoverAnchor`(独立锚点)。
|
|
@@ -12,7 +12,7 @@ const meta: Meta<typeof PopoverContent> = {
|
|
|
12
12
|
docs: {
|
|
13
13
|
description: {
|
|
14
14
|
component:
|
|
15
|
-
'气泡卡片 — 由 trigger 触发,在 portal 中展示富内容(表单、菜单、说明等)。Radix Popover 实现 + antd Popover 的语义并集:相比 Tooltip 仅承载纯文本提示,Popover 可承载任意交互内容;通过 `side` / `align` 控制方位,`arrow`
|
|
15
|
+
'气泡卡片 — 由 trigger 触发,在 portal 中展示富内容(表单、菜单、说明等)。Radix Popover 实现 + antd Popover 的语义并集:相比 Tooltip 仅承载纯文本提示,Popover 可承载任意交互内容;通过 `side` / `align` 控制方位,`arrow` 控制是否带尖角。',
|
|
16
16
|
},
|
|
17
17
|
},
|
|
18
18
|
},
|
|
@@ -4,10 +4,11 @@ name: Progress
|
|
|
4
4
|
type: component
|
|
5
5
|
category: foundation
|
|
6
6
|
since: 0.1.0
|
|
7
|
-
package:
|
|
7
|
+
package: '@teamix-evo/ui'
|
|
8
|
+
displayName: 进度条
|
|
8
9
|
---
|
|
9
10
|
|
|
10
|
-
# Progress
|
|
11
|
+
# Progress 进度条
|
|
11
12
|
|
|
12
13
|
进度条 — Radix Progress + antd 的 `status / showInfo / Progress.Circle` 并集。
|
|
13
14
|
|
|
@@ -28,12 +29,26 @@ package: "@teamix-evo/ui"
|
|
|
28
29
|
> 以下表格由 `pnpm --filter @teamix-evo/ui gen:meta` 自动生成。
|
|
29
30
|
|
|
30
31
|
<!-- auto:props:begin -->
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
|
35
|
-
|
|
|
36
|
-
| `
|
|
32
|
+
|
|
33
|
+
#### Progress
|
|
34
|
+
|
|
35
|
+
| 名称 | 类型 | 默认值 | 必填 | 说明 |
|
|
36
|
+
| ---------- | --------------------------- | ----------- | ---- | ------------------------------------------------------------ |
|
|
37
|
+
| `value` | `number` | `0` | – | 当前百分比(0~100)。 |
|
|
38
|
+
| `status` | `ProgressStatus` | `"normal"` | – | 状态色,自动优先级:`exception > warning > success > normal`。 |
|
|
39
|
+
| `showInfo` | `boolean` | `false` | – | 是否在右侧显示百分比文字(antd showInfo 并集)。 |
|
|
40
|
+
| `size` | `'sm' \| 'default' \| 'lg'` | `"default"` | – | 进度条尺寸。 |
|
|
41
|
+
|
|
42
|
+
#### ProgressCircle
|
|
43
|
+
|
|
44
|
+
| 名称 | 类型 | 默认值 | 必填 | 说明 |
|
|
45
|
+
| ------------- | ---------------- | ---------- | ---- | -------------------------- |
|
|
46
|
+
| `value` | `number` | `0` | – | 当前百分比(0~100)。 |
|
|
47
|
+
| `status` | `ProgressStatus` | `"normal"` | – | 状态色。 |
|
|
48
|
+
| `size` | `number` | `80` | – | 圆环直径(px)。 |
|
|
49
|
+
| `strokeWidth` | `number` | `6` | – | 圆环描边宽度(px)。 |
|
|
50
|
+
| `showInfo` | `boolean` | `true` | – | 是否在圆心显示百分比文字。 |
|
|
51
|
+
|
|
37
52
|
<!-- auto:props:end -->
|
|
38
53
|
|
|
39
54
|
## 依赖
|
|
@@ -41,13 +56,14 @@ package: "@teamix-evo/ui"
|
|
|
41
56
|
> 以下表格由 `pnpm --filter @teamix-evo/ui gen:meta` 自动生成,数据源是 [`manifest.json`](../../../manifest.json)。**手工编辑 marker 之间的内容会在下次生成时被覆盖**。
|
|
42
57
|
|
|
43
58
|
<!-- auto:deps:begin -->
|
|
59
|
+
|
|
44
60
|
### 同库依赖
|
|
45
61
|
|
|
46
62
|
> `teamix-evo ui add progress` 时,以下 entry 会被自动连带安装(无需手动 add)。
|
|
47
63
|
|
|
48
|
-
| Entry | 类型 | 描述
|
|
49
|
-
|
|
|
50
|
-
| `cn`
|
|
64
|
+
| Entry | 类型 | 描述 |
|
|
65
|
+
| ----- | ---- | -------------------------------------------------- |
|
|
66
|
+
| `cn` | util | Tailwind className 合并工具(clsx + tailwind-merge) |
|
|
51
67
|
|
|
52
68
|
### npm 依赖
|
|
53
69
|
|
|
@@ -56,9 +72,8 @@ package: "@teamix-evo/ui"
|
|
|
56
72
|
```bash
|
|
57
73
|
pnpm add @radix-ui/react-progress@^1.1.0
|
|
58
74
|
```
|
|
59
|
-
<!-- auto:deps:end -->
|
|
60
75
|
|
|
61
|
-
|
|
76
|
+
<!-- auto:deps:end -->
|
|
62
77
|
|
|
63
78
|
## AI 生成纪律
|
|
64
79
|
|
|
@@ -9,7 +9,7 @@ const meta: Meta<typeof Progress> = {
|
|
|
9
9
|
docs: {
|
|
10
10
|
description: {
|
|
11
11
|
component:
|
|
12
|
-
'进度条 — 展示一个任务的完成进度,访问友好的状态反馈。Radix Progress 实现 + antd Progress 的能力并集:除默认线形(`Progress`)外还提供环形 `ProgressCircle`,支持 `status`(normal / success / warning / exception)、`size`、`showInfo` 以及任意 `format`
|
|
12
|
+
'进度条 — 展示一个任务的完成进度,访问友好的状态反馈。Radix Progress 实现 + antd Progress 的能力并集:除默认线形(`Progress`)外还提供环形 `ProgressCircle`,支持 `status`(normal / success / warning / exception)、`size`、`showInfo` 以及任意 `format` 提示。',
|
|
13
13
|
},
|
|
14
14
|
},
|
|
15
15
|
},
|
|
@@ -7,15 +7,15 @@ export type ProgressStatus = 'normal' | 'success' | 'warning' | 'exception';
|
|
|
7
7
|
|
|
8
8
|
const statusBarColor: Record<ProgressStatus, string> = {
|
|
9
9
|
normal: 'bg-primary',
|
|
10
|
-
success: 'bg-
|
|
11
|
-
warning: 'bg-
|
|
10
|
+
success: 'bg-success',
|
|
11
|
+
warning: 'bg-warning',
|
|
12
12
|
exception: 'bg-destructive',
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
const statusTextColor: Record<ProgressStatus, string> = {
|
|
16
16
|
normal: 'text-foreground',
|
|
17
|
-
success: 'text-
|
|
18
|
-
warning: 'text-
|
|
17
|
+
success: 'text-success',
|
|
18
|
+
warning: 'text-warning',
|
|
19
19
|
exception: 'text-destructive',
|
|
20
20
|
};
|
|
21
21
|
|
|
@@ -167,9 +167,9 @@ const ProgressCircle = React.forwardRef<HTMLDivElement, ProgressCircleProps>(
|
|
|
167
167
|
className={cn(
|
|
168
168
|
'fill-none transition-all',
|
|
169
169
|
status === 'success'
|
|
170
|
-
? 'stroke-
|
|
170
|
+
? 'stroke-success'
|
|
171
171
|
: status === 'warning'
|
|
172
|
-
? 'stroke-
|
|
172
|
+
? 'stroke-warning'
|
|
173
173
|
: status === 'exception'
|
|
174
174
|
? 'stroke-destructive'
|
|
175
175
|
: 'stroke-primary',
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: radio-group
|
|
3
3
|
name: RadioGroup
|
|
4
|
+
displayName: 单选组
|
|
4
5
|
type: component
|
|
5
6
|
category: form
|
|
6
7
|
since: 0.1.0
|
|
7
|
-
package:
|
|
8
|
+
package: '@teamix-evo/ui'
|
|
8
9
|
---
|
|
9
10
|
|
|
10
|
-
# RadioGroup
|
|
11
|
+
# RadioGroup 单选组
|
|
11
12
|
|
|
12
13
|
单选组 — Radix RadioGroup,**两种渲染**:
|
|
13
14
|
|
|
14
|
-
| variant
|
|
15
|
-
|
|
|
16
|
-
| `default` | 圆点 + 文字(shadcn 风格)
|
|
17
|
-
| `button`
|
|
15
|
+
| variant | 形态 | 适用 |
|
|
16
|
+
| --------- | ------------------------------ | ------------------------------------ |
|
|
17
|
+
| `default` | 圆点 + 文字(shadcn 风格) | 表单 / 设置面板 |
|
|
18
|
+
| `button` | 按钮组(antd Radio.Button 并集) | 视图切换 / 时间区间切换 / 紧凑工具栏 |
|
|
18
19
|
|
|
19
20
|
## When to use
|
|
20
21
|
|
|
@@ -33,9 +34,11 @@ package: "@teamix-evo/ui"
|
|
|
33
34
|
> 以下表格由 `pnpm --filter @teamix-evo/ui gen:meta` 自动生成。
|
|
34
35
|
|
|
35
36
|
<!-- auto:props:begin -->
|
|
36
|
-
|
|
37
|
-
|
|
|
38
|
-
|
|
|
37
|
+
|
|
38
|
+
| 名称 | 类型 | 默认值 | 必填 | 说明 |
|
|
39
|
+
| --------- | ----------------------- | ----------- | ---- | ------------------------------------------------------------------------------- |
|
|
40
|
+
| `variant` | `'default' \| 'button'` | `"default"` | – | 渲染样式 — `default` 经典圆点;`button` 渲染为按钮组(antd `Radio.Button` 并集)。 |
|
|
41
|
+
|
|
39
42
|
<!-- auto:props:end -->
|
|
40
43
|
|
|
41
44
|
## 依赖
|
|
@@ -43,13 +46,14 @@ package: "@teamix-evo/ui"
|
|
|
43
46
|
> 以下表格由 `pnpm --filter @teamix-evo/ui gen:meta` 自动生成,数据源是 [`manifest.json`](../../../manifest.json)。**手工编辑 marker 之间的内容会在下次生成时被覆盖**。
|
|
44
47
|
|
|
45
48
|
<!-- auto:deps:begin -->
|
|
49
|
+
|
|
46
50
|
### 同库依赖
|
|
47
51
|
|
|
48
52
|
> `teamix-evo ui add radio-group` 时,以下 entry 会被自动连带安装(无需手动 add)。
|
|
49
53
|
|
|
50
|
-
| Entry | 类型 | 描述
|
|
51
|
-
|
|
|
52
|
-
| `cn`
|
|
54
|
+
| Entry | 类型 | 描述 |
|
|
55
|
+
| ----- | ---- | -------------------------------------------------- |
|
|
56
|
+
| `cn` | util | Tailwind className 合并工具(clsx + tailwind-merge) |
|
|
53
57
|
|
|
54
58
|
### npm 依赖
|
|
55
59
|
|
|
@@ -58,6 +62,7 @@ package: "@teamix-evo/ui"
|
|
|
58
62
|
```bash
|
|
59
63
|
pnpm add @radix-ui/react-radio-group@^1.2.0 lucide-react@^0.460.0
|
|
60
64
|
```
|
|
65
|
+
|
|
61
66
|
<!-- auto:deps:end -->
|
|
62
67
|
|
|
63
68
|
> 子组件 `RadioGroupItem`(默认形态)/ `RadioGroupButton`(按钮形态)各自的 props 见 [`radio-group.tsx`](./radio-group.tsx)。
|
|
@@ -9,7 +9,7 @@ const meta: Meta<typeof RadioGroup> = {
|
|
|
9
9
|
docs: {
|
|
10
10
|
description: {
|
|
11
11
|
component:
|
|
12
|
-
'单选组 — 在一组互斥选项中选中唯一一个。Radix RadioGroup 实现 + antd Radio 的并集能力:同时提供默认的点选型 `RadioGroupItem` 与按钮型 `RadioGroupButton`(对齐 antd `Radio.Button`),通过 `variant` prop
|
|
12
|
+
'单选组 — 在一组互斥选项中选中唯一一个。Radix RadioGroup 实现 + antd Radio 的并集能力:同时提供默认的点选型 `RadioGroupItem` 与按钮型 `RadioGroupButton`(对齐 antd `Radio.Button`),通过 `variant` prop 切换。',
|
|
13
13
|
},
|
|
14
14
|
},
|
|
15
15
|
},
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: rate
|
|
3
3
|
name: Rate
|
|
4
|
+
displayName: 评分
|
|
4
5
|
type: component
|
|
5
6
|
category: form
|
|
6
7
|
since: 0.1.0
|
|
7
|
-
package:
|
|
8
|
+
package: '@teamix-evo/ui'
|
|
8
9
|
---
|
|
9
10
|
|
|
10
|
-
# Rate
|
|
11
|
+
# Rate 评分
|
|
11
12
|
|
|
12
13
|
星级评分 — antd 独有补足。**等价 antd `Rate`**。支持半星(`allowHalf`)、再次点击清零(`allowClear`)、自定义图标(`character`)、只读展示(`disabled`)。
|
|
13
14
|
|
|
@@ -22,28 +23,35 @@ package: "@teamix-evo/ui"
|
|
|
22
23
|
- 二元选择(喜欢 / 不喜欢)→ `Toggle` / `Button` 配 icon
|
|
23
24
|
- 多档定量评分(0~100)→ `Slider`
|
|
24
25
|
|
|
26
|
+
## Props
|
|
27
|
+
|
|
25
28
|
<!-- auto:props:begin -->
|
|
26
|
-
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
| `
|
|
30
|
-
| `
|
|
31
|
-
| `
|
|
32
|
-
| `
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
35
|
-
| `
|
|
36
|
-
| `
|
|
29
|
+
|
|
30
|
+
| 名称 | 类型 | 默认值 | 必填 | 说明 |
|
|
31
|
+
| -------------- | --------------------------- | ----------- | ---- | ------------------------------------------------------------------- |
|
|
32
|
+
| `count` | `number` | `5` | – | 总星数(antd `count` 并集)。 |
|
|
33
|
+
| `value` | `number` | – | – | 受控值。 |
|
|
34
|
+
| `defaultValue` | `number` | – | – | uncontrolled 初值。 |
|
|
35
|
+
| `allowHalf` | `boolean` | `false` | – | 允许半星(antd `allowHalf` 并集) — 启用后单星可点击左半 / 右半。 |
|
|
36
|
+
| `allowClear` | `boolean` | `true` | – | 允许再次点击同值清零(antd `allowClear` 并集)。 |
|
|
37
|
+
| `disabled` | `boolean` | – | – | 禁用(只展示)。 |
|
|
38
|
+
| `size` | `'sm' \| 'default' \| 'lg'` | `"default"` | – | 尺寸(影响星图大小)。 |
|
|
39
|
+
| `character` | `React.ReactNode` | – | – | 自定义图标(antd `character` 并集) — 默认 `lucide-react` 的 `Star`。 |
|
|
40
|
+
| `onChange` | `(value: number) => void` | – | – | value 变化回调。 |
|
|
41
|
+
|
|
37
42
|
<!-- auto:props:end -->
|
|
38
43
|
|
|
44
|
+
## 依赖
|
|
45
|
+
|
|
39
46
|
<!-- auto:deps:begin -->
|
|
47
|
+
|
|
40
48
|
### 同库依赖
|
|
41
49
|
|
|
42
50
|
> `teamix-evo ui add rate` 时,以下 entry 会被自动连带安装(无需手动 add)。
|
|
43
51
|
|
|
44
|
-
| Entry | 类型 | 描述
|
|
45
|
-
|
|
|
46
|
-
| `cn`
|
|
52
|
+
| Entry | 类型 | 描述 |
|
|
53
|
+
| ----- | ---- | -------------------------------------------------- |
|
|
54
|
+
| `cn` | util | Tailwind className 合并工具(clsx + tailwind-merge) |
|
|
47
55
|
|
|
48
56
|
### npm 依赖
|
|
49
57
|
|
|
@@ -52,6 +60,7 @@ package: "@teamix-evo/ui"
|
|
|
52
60
|
```bash
|
|
53
61
|
pnpm add lucide-react@^0.460.0
|
|
54
62
|
```
|
|
63
|
+
|
|
55
64
|
<!-- auto:deps:end -->
|
|
56
65
|
|
|
57
66
|
## AI 生成纪律
|