@teamix-evo/ui 0.6.2 → 0.7.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/manifest.json
CHANGED
|
@@ -1150,6 +1150,11 @@
|
|
|
1150
1150
|
"source": "src/components/tree/index.tsx",
|
|
1151
1151
|
"targetAlias": "components",
|
|
1152
1152
|
"targetName": "tree.tsx"
|
|
1153
|
+
},
|
|
1154
|
+
{
|
|
1155
|
+
"source": "src/components/tree/utils.ts",
|
|
1156
|
+
"targetAlias": "components",
|
|
1157
|
+
"targetName": "utils.ts"
|
|
1153
1158
|
}
|
|
1154
1159
|
],
|
|
1155
1160
|
"meta": "src/components/tree/meta.md",
|
|
@@ -1372,7 +1377,7 @@
|
|
|
1372
1377
|
}
|
|
1373
1378
|
],
|
|
1374
1379
|
"meta": "src/components/tree-select/meta.md",
|
|
1375
|
-
"registryDependencies": ["cn", "popover", "checkbox"],
|
|
1380
|
+
"registryDependencies": ["cn", "popover", "checkbox", "tree"],
|
|
1376
1381
|
"dependencies": {
|
|
1377
1382
|
"lucide-react": "^0.460.0",
|
|
1378
1383
|
"class-variance-authority": "^0.7.1"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teamix-evo/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Source-injected UI components for Teamix Evo (shadcn-based, antd capabilities)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
"vite": "^5.4.0",
|
|
52
52
|
"vite-tsconfig-paths": "^6.1.1",
|
|
53
53
|
"zod": "^3",
|
|
54
|
-
"@teamix-evo/eslint-config": "0.2.3",
|
|
55
54
|
"@teamix-evo/registry": "0.12.0",
|
|
56
|
-
"@teamix-evo/
|
|
55
|
+
"@teamix-evo/eslint-config": "0.2.3",
|
|
56
|
+
"@teamix-evo/tokens": "^0.8.0"
|
|
57
57
|
},
|
|
58
58
|
"publishConfig": {
|
|
59
59
|
"access": "public",
|
|
@@ -289,12 +289,6 @@ function alignClass(align?: DataTableColumn<unknown>['align']) {
|
|
|
289
289
|
return undefined;
|
|
290
290
|
}
|
|
291
291
|
|
|
292
|
-
function widthStyle(col: DataTableColumn<unknown>): React.CSSProperties {
|
|
293
|
-
const w = col.size ?? col.width;
|
|
294
|
-
if (w === undefined) return {};
|
|
295
|
-
return { width: typeof w === 'number' ? `${w}px` : w };
|
|
296
|
-
}
|
|
297
|
-
|
|
298
292
|
/** 把 DataTableColumn 适配为 TanStack ColumnDef;同时按 fixed 重排(左→中→右)以满足锁列 sticky 计算。 */
|
|
299
293
|
function adaptColumns<T>(
|
|
300
294
|
columns: DataTableColumn<T>[],
|
|
@@ -39,8 +39,94 @@ export default meta;
|
|
|
39
39
|
|
|
40
40
|
type Story = StoryObj<typeof meta>;
|
|
41
41
|
|
|
42
|
-
/**
|
|
42
|
+
/** 仅标题:最基础的页头形态,只包含一个标题。 */
|
|
43
43
|
export const Default: Story = {
|
|
44
|
+
render: () => (
|
|
45
|
+
<PageHeader>
|
|
46
|
+
<PageHeaderContent>
|
|
47
|
+
<PageHeaderHeading>
|
|
48
|
+
<PageHeaderTitle>页面标题</PageHeaderTitle>
|
|
49
|
+
</PageHeaderHeading>
|
|
50
|
+
</PageHeaderContent>
|
|
51
|
+
</PageHeader>
|
|
52
|
+
),
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/** 标题 + 描述:标题下方附加一行描述文字。 */
|
|
56
|
+
export const WithDescription: Story = {
|
|
57
|
+
render: () => (
|
|
58
|
+
<PageHeader>
|
|
59
|
+
<PageHeaderContent>
|
|
60
|
+
<div className="flex flex-col">
|
|
61
|
+
<PageHeaderHeading>
|
|
62
|
+
<PageHeaderTitle>页面标题</PageHeaderTitle>
|
|
63
|
+
</PageHeaderHeading>
|
|
64
|
+
<PageHeaderDescription>
|
|
65
|
+
页面描述页面描述页面描述页面描述页面描述页面描述页面描述
|
|
66
|
+
</PageHeaderDescription>
|
|
67
|
+
</div>
|
|
68
|
+
</PageHeaderContent>
|
|
69
|
+
</PageHeader>
|
|
70
|
+
),
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
/** 仅面包屑:只有面包屑导航,无标题。 */
|
|
74
|
+
export const OnlyBreadcrumb: Story = {
|
|
75
|
+
render: () => (
|
|
76
|
+
<PageHeader>
|
|
77
|
+
<PageHeaderNav>
|
|
78
|
+
<Breadcrumb>
|
|
79
|
+
<BreadcrumbList>
|
|
80
|
+
<BreadcrumbItem>
|
|
81
|
+
<BreadcrumbLink href="#">首页</BreadcrumbLink>
|
|
82
|
+
</BreadcrumbItem>
|
|
83
|
+
<BreadcrumbSeparator />
|
|
84
|
+
<BreadcrumbItem>
|
|
85
|
+
<BreadcrumbLink href="#">实例列表</BreadcrumbLink>
|
|
86
|
+
</BreadcrumbItem>
|
|
87
|
+
<BreadcrumbSeparator />
|
|
88
|
+
<BreadcrumbItem>
|
|
89
|
+
<BreadcrumbPage>实例详情</BreadcrumbPage>
|
|
90
|
+
</BreadcrumbItem>
|
|
91
|
+
</BreadcrumbList>
|
|
92
|
+
</Breadcrumb>
|
|
93
|
+
</PageHeaderNav>
|
|
94
|
+
</PageHeader>
|
|
95
|
+
),
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
/** 面包屑 + 标题:面包屑导航 + 标题,常见于二级页面。 */
|
|
99
|
+
export const WithBreadcrumb: Story = {
|
|
100
|
+
render: () => (
|
|
101
|
+
<PageHeader>
|
|
102
|
+
<PageHeaderNav>
|
|
103
|
+
<Breadcrumb>
|
|
104
|
+
<BreadcrumbList>
|
|
105
|
+
<BreadcrumbItem>
|
|
106
|
+
<BreadcrumbLink href="#">首页</BreadcrumbLink>
|
|
107
|
+
</BreadcrumbItem>
|
|
108
|
+
<BreadcrumbSeparator />
|
|
109
|
+
<BreadcrumbItem>
|
|
110
|
+
<BreadcrumbLink href="#">实例列表</BreadcrumbLink>
|
|
111
|
+
</BreadcrumbItem>
|
|
112
|
+
<BreadcrumbSeparator />
|
|
113
|
+
<BreadcrumbItem>
|
|
114
|
+
<BreadcrumbPage>实例详情</BreadcrumbPage>
|
|
115
|
+
</BreadcrumbItem>
|
|
116
|
+
</BreadcrumbList>
|
|
117
|
+
</Breadcrumb>
|
|
118
|
+
</PageHeaderNav>
|
|
119
|
+
<PageHeaderContent>
|
|
120
|
+
<PageHeaderHeading>
|
|
121
|
+
<PageHeaderTitle>实例详情</PageHeaderTitle>
|
|
122
|
+
</PageHeaderHeading>
|
|
123
|
+
</PageHeaderContent>
|
|
124
|
+
</PageHeader>
|
|
125
|
+
),
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
/** 完整版页头:面包屑 + 帮助链接 + 返回 + 主图标 + 标题(含 ⓘ) + 描述 + 多操作。 */
|
|
129
|
+
export const Full: Story = {
|
|
44
130
|
render: () => (
|
|
45
131
|
<PageHeader>
|
|
46
132
|
<PageHeaderNav>
|
|
@@ -154,7 +154,7 @@ function Table({
|
|
|
154
154
|
// ─── TableHeader ────────────────────────────────────────────────────────────
|
|
155
155
|
|
|
156
156
|
function TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {
|
|
157
|
-
const { stickyHeader
|
|
157
|
+
const { stickyHeader } = useTableContext();
|
|
158
158
|
return (
|
|
159
159
|
<thead
|
|
160
160
|
data-slot="table-header"
|