@tdesign/uniapp 0.8.1 → 0.9.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/CHANGELOG.md +14 -0
- package/dist/badge/README.en-US.md +1 -0
- package/dist/badge/README.md +1 -0
- package/dist/badge/badge.css +1 -1
- package/dist/button/button.vue +5 -0
- package/dist/calendar/calendar.vue +6 -2
- package/dist/common/style/theme/index-light.css +282 -0
- package/dist/common/style/theme/index-light.less +9 -0
- package/dist/common/style/theme/raw/_components-light.less +8 -0
- package/dist/common/style/theme/raw/_light-only.less +181 -0
- package/dist/dropdown-item/dropdown-item.vue +2 -0
- package/dist/dropdown-menu/dropdown-menu.vue +1 -1
- package/dist/fab/fab.vue +2 -2
- package/dist/fab/props.ts +1 -1
- package/dist/fab/type.ts +1 -1
- package/dist/form-item/form-item.css +2 -2
- package/dist/form-item/form-item.vue +28 -21
- package/dist/indexes/computed.js +6 -2
- package/dist/indexes/indexes.css +7 -2
- package/dist/indexes/indexes.vue +1 -1
- package/dist/indexes/props.ts +5 -0
- package/dist/indexes/type.ts +5 -0
- package/dist/input/input.vue +8 -6
- package/dist/search/search.css +5 -0
- package/dist/search/search.vue +7 -12
- package/dist/segmented/README.en-US.md +42 -0
- package/dist/segmented/README.md +75 -0
- package/dist/segmented/props.ts +31 -0
- package/dist/segmented/segmented.css +66 -0
- package/dist/segmented/segmented.vue +174 -0
- package/dist/segmented/type.ts +41 -0
- package/dist/tab-bar-item/tab-bar-item.vue +4 -6
- package/dist/table/README.en-US.md +72 -0
- package/dist/table/README.md +117 -0
- package/dist/table/base-table-props.ts +105 -0
- package/dist/table/props.ts +94 -0
- package/dist/table/table.css +251 -0
- package/dist/table/table.vue +551 -0
- package/dist/table/type.ts +180 -0
- package/dist/tabs/tabs.css +4 -0
- package/dist/theme-light.css +282 -0
- package/dist/theme-light.css.d.ts +2 -0
- package/dist/theme-light.less +1 -0
- package/dist/theme-light.less.d.ts +2 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/segmented.d.ts +7 -0
- package/dist/types/table.d.ts +7 -0
- package/global.d.ts +2 -0
- package/package.json +33 -9
- package/{dist/script → script}/postinstall.js +18 -2
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC
|
|
5
|
+
* */
|
|
6
|
+
|
|
7
|
+
import type { TdLoadingProps as LoadingProps } from '../loading/type';
|
|
8
|
+
import type { ClassName } from '../common/common';
|
|
9
|
+
|
|
10
|
+
export interface TdBaseTableProps<T extends TableRowData = TableRowData> {
|
|
11
|
+
/**
|
|
12
|
+
* 是否显示表格边框
|
|
13
|
+
* @default false
|
|
14
|
+
*/
|
|
15
|
+
bordered?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* 单元格数据为空时呈现的内容
|
|
18
|
+
*/
|
|
19
|
+
cellEmptyContent?: string;
|
|
20
|
+
/**
|
|
21
|
+
* 列配置,泛型 T 指表格数据类型
|
|
22
|
+
* @default []
|
|
23
|
+
*/
|
|
24
|
+
columns?: Array<BaseTableCol<T>>;
|
|
25
|
+
/**
|
|
26
|
+
* 数据源,泛型 T 指表格数据类型
|
|
27
|
+
* @default []
|
|
28
|
+
*/
|
|
29
|
+
data?: Array<T>;
|
|
30
|
+
/**
|
|
31
|
+
* 空表格呈现样式,支持全局配置 `GlobalConfigProvider`
|
|
32
|
+
* @default ''
|
|
33
|
+
*/
|
|
34
|
+
empty?: string;
|
|
35
|
+
/**
|
|
36
|
+
* 固定行(冻结行),示例:[M, N],表示冻结表头 M 行和表尾 N 行。M 和 N 值为 0 时,表示不冻结行
|
|
37
|
+
*/
|
|
38
|
+
fixedRows?: Array<number>;
|
|
39
|
+
/**
|
|
40
|
+
* 表尾总结行
|
|
41
|
+
*/
|
|
42
|
+
footerSummary?: string;
|
|
43
|
+
/**
|
|
44
|
+
* 表格高度,超出后会出现滚动条。示例:100, '30%', '300'。值为数字类型,会自动加上单位 px。如果不是绝对固定表格高度,建议使用 `maxHeight`
|
|
45
|
+
*/
|
|
46
|
+
height?: string | number;
|
|
47
|
+
/**
|
|
48
|
+
* 加载中状态。值为 `true` 会显示默认加载中样式,可以通过 Function 和 插槽 自定义加载状态呈现内容和样式。值为 `false` 则会取消加载状态
|
|
49
|
+
*/
|
|
50
|
+
loading?: boolean | null;
|
|
51
|
+
/**
|
|
52
|
+
* 透传加载组件全部属性
|
|
53
|
+
*/
|
|
54
|
+
loadingProps?: Partial<LoadingProps>;
|
|
55
|
+
/**
|
|
56
|
+
* 表格最大高度,超出后会出现滚动条。示例:100, '30%', '300'。值为数字类型,会自动加上单位 px
|
|
57
|
+
*/
|
|
58
|
+
maxHeight?: string | number;
|
|
59
|
+
/**
|
|
60
|
+
* 唯一标识一行数据的字段名,来源于 `data` 中的字段。如果是字段嵌套多层,可以设置形如 `item.a.id` 的方法
|
|
61
|
+
* @default 'id'
|
|
62
|
+
*/
|
|
63
|
+
rowKey: string;
|
|
64
|
+
/**
|
|
65
|
+
* 用于自定义合并单元格,泛型 T 指表格数据类型。示例:`({ row, col, rowIndex, colIndex }) => { rowspan: 2, colspan: 3 }`
|
|
66
|
+
*/
|
|
67
|
+
rowspanAndColspan?: TableRowspanAndColspanFunc<T>;
|
|
68
|
+
/**
|
|
69
|
+
* 是否显示表头
|
|
70
|
+
* @default true
|
|
71
|
+
*/
|
|
72
|
+
showHeader?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* 是否显示斑马纹
|
|
75
|
+
* @default false
|
|
76
|
+
*/
|
|
77
|
+
stripe?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* 表格内容的总宽度,注意不是表格可见宽度。主要应用于 `table-layout: auto` 模式下的固定列显示。`tableContentWidth` 内容宽度的值必须大于表格可见宽度
|
|
80
|
+
* @default ''
|
|
81
|
+
*/
|
|
82
|
+
tableContentWidth?: string;
|
|
83
|
+
/**
|
|
84
|
+
* 表格布局方式
|
|
85
|
+
* @default fixed
|
|
86
|
+
*/
|
|
87
|
+
tableLayout?: 'auto' | 'fixed';
|
|
88
|
+
/**
|
|
89
|
+
* 行内容上下方向对齐
|
|
90
|
+
* @default middle
|
|
91
|
+
*/
|
|
92
|
+
verticalAlign?: 'top' | 'middle' | 'bottom';
|
|
93
|
+
/**
|
|
94
|
+
* 单元格点击时触发
|
|
95
|
+
*/
|
|
96
|
+
onCellClick?: (context: BaseTableCellEventContext<T>) => void;
|
|
97
|
+
/**
|
|
98
|
+
* 行点击时触发,泛型 T 指表格数据类型
|
|
99
|
+
*/
|
|
100
|
+
onRowClick?: (context: RowEventContext<T>) => void;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export interface BaseTableCol<T extends TableRowData = TableRowData> {
|
|
104
|
+
/**
|
|
105
|
+
* 列横向对齐方式
|
|
106
|
+
* @default left
|
|
107
|
+
*/
|
|
108
|
+
align?: 'left' | 'right' | 'center';
|
|
109
|
+
/**
|
|
110
|
+
* 自定义单元格渲染。默认使用 `colKey` 的值作为自定义当前列的插槽名称。<br/>如果 `cell` 值类型为 Function 表示以函数形式渲染单元格。值类型为 string 表示使用插槽渲染,插槽名称为 cell 的值。优先级高于 `render`。泛型 T 指表格数据类型
|
|
111
|
+
*/
|
|
112
|
+
cell?: string | ((params: BaseTableCellParams<T>) => string);
|
|
113
|
+
/**
|
|
114
|
+
* 列类名,值类型是 Function 使用返回值作为列类名;值类型不为 Function 时,值用于整列类名(含表头)。泛型 T 指表格数据类型
|
|
115
|
+
*/
|
|
116
|
+
className?: TableColumnClassName<T> | TableColumnClassName<T>[];
|
|
117
|
+
/**
|
|
118
|
+
* 渲染列所需字段,值为 `serial-number` 表示当前列为「序号」列
|
|
119
|
+
* @default ''
|
|
120
|
+
*/
|
|
121
|
+
colKey?: string;
|
|
122
|
+
/**
|
|
123
|
+
* 固定列显示位置
|
|
124
|
+
* @default left
|
|
125
|
+
*/
|
|
126
|
+
fixed?: 'left' | 'right';
|
|
127
|
+
/**
|
|
128
|
+
* 透传 CSS 属性 `min-width` 到 `<col>` 元素。⚠️ 仅少部分浏览器支持,如:使用 [TablesNG](https://docs.google.com/document/d/16PFD1GtMI9Zgwu0jtPaKZJ75Q2wyZ9EZnVbBacOfiNA/preview) 渲染的 Chrome 浏览器支持 `minWidth`
|
|
129
|
+
*/
|
|
130
|
+
minWidth?: string | number;
|
|
131
|
+
/**
|
|
132
|
+
* 列宽,可以作为最小宽度使用。当列宽总和小于 `table` 元素时,浏览器根据宽度设置情况自动分配宽度;当列宽总和大于 `table` 元素,表现为定宽。可以同时调整 `table` 元素的宽度来达到自己想要的效果
|
|
133
|
+
*/
|
|
134
|
+
width?: string | number;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export type TableRowspanAndColspanFunc<T extends TableRowData = TableRowData> = (
|
|
138
|
+
params: BaseTableCellParams<T>,
|
|
139
|
+
) => RowspanColspan;
|
|
140
|
+
|
|
141
|
+
export interface RowspanColspan {
|
|
142
|
+
colspan?: number;
|
|
143
|
+
rowspan?: number;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export interface BaseTableCellEventContext<T extends TableRowData = TableRowData> {
|
|
147
|
+
row: T;
|
|
148
|
+
col: BaseTableCol<T>;
|
|
149
|
+
rowIndex: number;
|
|
150
|
+
colIndex: number;
|
|
151
|
+
e: MouseEvent;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
export interface RowEventContext<T extends TableRowData = TableRowData> {
|
|
155
|
+
row: T;
|
|
156
|
+
index: number;
|
|
157
|
+
e: MouseEvent;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
export interface TableRowData {
|
|
161
|
+
[key: string]: any;
|
|
162
|
+
children?: TableRowData[];
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export interface BaseTableCellParams<T extends TableRowData = TableRowData> {
|
|
166
|
+
row: T;
|
|
167
|
+
rowIndex: number;
|
|
168
|
+
col: BaseTableCol<T>;
|
|
169
|
+
colIndex: number;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export type TableColumnClassName<T extends TableRowData = TableRowData> =
|
|
173
|
+
| ClassName
|
|
174
|
+
| ((context: CellData<T>) => ClassName);
|
|
175
|
+
|
|
176
|
+
export interface CellData<T extends TableRowData = TableRowData> extends BaseTableCellParams<T> {
|
|
177
|
+
type: 'th' | 'td';
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
export type DataType = TableRowData;
|
package/dist/tabs/tabs.css
CHANGED
|
@@ -106,7 +106,11 @@
|
|
|
106
106
|
.t-tabs__item-suffix::after {
|
|
107
107
|
border-bottom-left-radius: var(--td-radius-large, 18rpx);
|
|
108
108
|
}
|
|
109
|
+
.t-tabs__badge {
|
|
110
|
+
--td-badge-content-text-font: var(--td-tab-font, var(--td-font-body-medium, 28rpx / 44rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular)));
|
|
111
|
+
}
|
|
109
112
|
.t-tabs__badge--active {
|
|
113
|
+
--td-badge-content-text-font: var(--td-font-mark-medium, 600 28rpx / 44rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular));
|
|
110
114
|
--td-badge-content-text-color: var(--td-tab-item-active-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));
|
|
111
115
|
}
|
|
112
116
|
.t-tabs__badge--disabled {
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
/* ./raw/_light-only.less */
|
|
2
|
+
/* #ifdef H5 */
|
|
3
|
+
:root,
|
|
4
|
+
/* #endif */
|
|
5
|
+
page,
|
|
6
|
+
.page {
|
|
7
|
+
--td-brand-color-1: #f2f3ff;
|
|
8
|
+
--td-brand-color-2: #d9e1ff;
|
|
9
|
+
--td-brand-color-3: #b5c7ff;
|
|
10
|
+
--td-brand-color-4: #8eabff;
|
|
11
|
+
--td-brand-color-5: #618dff;
|
|
12
|
+
--td-brand-color-6: #366ef4;
|
|
13
|
+
--td-brand-color-7: #0052d9;
|
|
14
|
+
--td-brand-color-8: #003cab;
|
|
15
|
+
--td-brand-color-9: #002a7c;
|
|
16
|
+
--td-brand-color-10: #001a57;
|
|
17
|
+
|
|
18
|
+
--td-primary-color-1: var(--td-brand-color-1);
|
|
19
|
+
--td-primary-color-2: var(--td-brand-color-2);
|
|
20
|
+
--td-primary-color-3: var(--td-brand-color-3);
|
|
21
|
+
--td-primary-color-4: var(--td-brand-color-4);
|
|
22
|
+
--td-primary-color-5: var(--td-brand-color-5);
|
|
23
|
+
--td-primary-color-6: var(--td-brand-color-6);
|
|
24
|
+
--td-primary-color-7: var(--td-brand-color-7);
|
|
25
|
+
--td-primary-color-8: var(--td-brand-color-8);
|
|
26
|
+
--td-primary-color-9: var(--td-brand-color-9);
|
|
27
|
+
--td-primary-color-10: var(--td-brand-color-10);
|
|
28
|
+
|
|
29
|
+
--td-warning-color-1: #fff1e9;
|
|
30
|
+
--td-warning-color-2: #ffd9c2;
|
|
31
|
+
--td-warning-color-3: #ffb98c;
|
|
32
|
+
--td-warning-color-4: #fa9550;
|
|
33
|
+
--td-warning-color-5: #e37318;
|
|
34
|
+
--td-warning-color-6: #be5a00;
|
|
35
|
+
--td-warning-color-7: #954500;
|
|
36
|
+
--td-warning-color-8: #713300;
|
|
37
|
+
--td-warning-color-9: #532300;
|
|
38
|
+
--td-warning-color-10: #3b1700;
|
|
39
|
+
|
|
40
|
+
--td-error-color-1: #fff0ed;
|
|
41
|
+
--td-error-color-2: #ffd8d2;
|
|
42
|
+
--td-error-color-3: #ffb9b0;
|
|
43
|
+
--td-error-color-4: #ff9285;
|
|
44
|
+
--td-error-color-5: #f6685d;
|
|
45
|
+
--td-error-color-6: #d54941;
|
|
46
|
+
--td-error-color-7: #ad352f;
|
|
47
|
+
--td-error-color-8: #881f1c;
|
|
48
|
+
--td-error-color-9: #68070a;
|
|
49
|
+
--td-error-color-10: #490002;
|
|
50
|
+
|
|
51
|
+
--td-success-color-1: #e3f9e9;
|
|
52
|
+
--td-success-color-2: #c6f3d7;
|
|
53
|
+
--td-success-color-3: #92dab2;
|
|
54
|
+
--td-success-color-4: #56c08d;
|
|
55
|
+
--td-success-color-5: #2ba471;
|
|
56
|
+
--td-success-color-6: #008858;
|
|
57
|
+
--td-success-color-7: #006c45;
|
|
58
|
+
--td-success-color-8: #005334;
|
|
59
|
+
--td-success-color-9: #003b23;
|
|
60
|
+
--td-success-color-10: #002515;
|
|
61
|
+
|
|
62
|
+
--td-gray-color-1: #f3f3f3;
|
|
63
|
+
--td-gray-color-2: #eeeeee;
|
|
64
|
+
--td-gray-color-3: #e7e7e7;
|
|
65
|
+
--td-gray-color-4: #dcdcdc;
|
|
66
|
+
--td-gray-color-5: #c5c5c5;
|
|
67
|
+
--td-gray-color-6: #a6a6a6;
|
|
68
|
+
--td-gray-color-7: #8b8b8b;
|
|
69
|
+
--td-gray-color-8: #777777;
|
|
70
|
+
--td-gray-color-9: #5e5e5e;
|
|
71
|
+
--td-gray-color-10: #4b4b4b;
|
|
72
|
+
--td-gray-color-11: #383838;
|
|
73
|
+
--td-gray-color-12: #2c2c2c;
|
|
74
|
+
--td-gray-color-13: #242424;
|
|
75
|
+
--td-gray-color-14: #181818;
|
|
76
|
+
|
|
77
|
+
--td-font-white-1: rgba(255, 255, 255, 1);
|
|
78
|
+
--td-font-white-2: rgba(255, 255, 255, 0.55);
|
|
79
|
+
--td-font-white-3: rgba(255, 255, 255, 0.35);
|
|
80
|
+
--td-font-white-4: rgba(255, 255, 255, 0.22);
|
|
81
|
+
--td-font-gray-1: rgba(0, 0, 0, 0.9);
|
|
82
|
+
--td-font-gray-2: rgba(0, 0, 0, 0.6);
|
|
83
|
+
--td-font-gray-3: rgba(0, 0, 0, 0.4);
|
|
84
|
+
--td-font-gray-4: rgba(0, 0, 0, 0.26);
|
|
85
|
+
|
|
86
|
+
--td-brand-color: var(--td-primary-color-7);
|
|
87
|
+
--td-warning-color: var(--td-warning-color-5);
|
|
88
|
+
--td-error-color: var(--td-error-color-6);
|
|
89
|
+
--td-success-color: var(--td-success-color-5);
|
|
90
|
+
|
|
91
|
+
--td-brand-color-focus: var(--td-primary-color-1);
|
|
92
|
+
--td-brand-color-active: var(--td-primary-color-8);
|
|
93
|
+
--td-brand-color-disabled: var(--td-primary-color-3);
|
|
94
|
+
--td-brand-color-light: var(--td-primary-color-1);
|
|
95
|
+
--td-brand-color-light-active: var(--td-primary-color-2);
|
|
96
|
+
|
|
97
|
+
--td-warning-color-active: var(--td-warning-color-6);
|
|
98
|
+
--td-warning-color-disabled: var(--td-warning-color-3);
|
|
99
|
+
--td-warning-color-focus: var(--td-warning-color-2);
|
|
100
|
+
--td-warning-color-light: var(--td-warning-color-1);
|
|
101
|
+
--td-warning-color-light-active: var(--td-warning-color-2);
|
|
102
|
+
|
|
103
|
+
--td-error-color-focus: var(--td-error-color-2);
|
|
104
|
+
--td-error-color-active: var(--td-error-color-7);
|
|
105
|
+
--td-error-color-disabled: var(--td-error-color-3);
|
|
106
|
+
--td-error-color-light: var(--td-error-color-1);
|
|
107
|
+
--td-error-color-light-active: var(--td-error-color-2);
|
|
108
|
+
|
|
109
|
+
--td-success-color-focus: var(--td-success-color-2);
|
|
110
|
+
--td-success-color-active: var(--td-success-color-6);
|
|
111
|
+
--td-success-color-disabled: var(--td-success-color-3);
|
|
112
|
+
--td-success-color-light: var(--td-success-color-1);
|
|
113
|
+
--td-success-color-light-active: var(--td-success-color-2);
|
|
114
|
+
|
|
115
|
+
--td-mask-active: rgba(0, 0, 0, 60%);
|
|
116
|
+
--td-mask-disabled: rgba(255, 255, 255, 60%);
|
|
117
|
+
--td-mask-background: rgba(255, 255, 255, 96%);
|
|
118
|
+
|
|
119
|
+
--td-bg-color-page: var(--td-gray-color-1);
|
|
120
|
+
--td-bg-color-container: var(--td-font-white-1);
|
|
121
|
+
--td-bg-color-container-active: var(--td-gray-color-3);
|
|
122
|
+
--td-bg-color-secondarycontainer: var(--td-gray-color-1);
|
|
123
|
+
--td-bg-color-secondarycontainer-active: var(--td-gray-color-4);
|
|
124
|
+
--td-bg-color-component: var(--td-gray-color-3);
|
|
125
|
+
--td-bg-color-component-active: var(--td-gray-color-6);
|
|
126
|
+
--td-bg-color-component-disabled: var(--td-gray-color-2);
|
|
127
|
+
--td-bg-color-secondarycomponent: var(--td-gray-color-4);
|
|
128
|
+
--td-bg-color-secondarycomponent-active: var(--td-gray-color-6);
|
|
129
|
+
|
|
130
|
+
--td-bg-color-specialcomponent: #fff;
|
|
131
|
+
|
|
132
|
+
--td-text-color-primary: var(--td-font-gray-1);
|
|
133
|
+
--td-text-color-secondary: var(--td-font-gray-2);
|
|
134
|
+
--td-text-color-placeholder: var(--td-font-gray-3);
|
|
135
|
+
--td-text-color-disabled: var(--td-font-gray-4);
|
|
136
|
+
--td-text-color-anti: var(--td-font-white-1);
|
|
137
|
+
--td-text-color-brand: var(--td-brand-color);
|
|
138
|
+
--td-text-color-link: var(--td-brand-color);
|
|
139
|
+
|
|
140
|
+
--td-border-level-1-color: var(--td-gray-color-3);
|
|
141
|
+
--td-component-stroke: var(--td-gray-color-3);
|
|
142
|
+
--td-border-level-2-color: var(--td-gray-color-4);
|
|
143
|
+
--td-component-border: var(--td-gray-color-4);
|
|
144
|
+
|
|
145
|
+
--td-shadow-1: 0 1px 10px rgba(0, 0, 0, 5%), 0 4px 5px rgba(0, 0, 0, 8%), 0 2px 4px -1px rgba(0, 0, 0, 12%);
|
|
146
|
+
--td-shadow-2:
|
|
147
|
+
0 3px 14px 2px rgba(0, 0, 0, 5%), 0 8px 10px 1px rgba(0, 0, 0, 6%), 0 5px 5px -3px rgba(0, 0, 0, 10%);
|
|
148
|
+
--td-shadow-3:
|
|
149
|
+
0 6px 30px 5px rgba(0, 0, 0, 5%), 0 16px 24px 2px rgba(0, 0, 0, 4%), 0 8px 10px -5px rgba(0, 0, 0, 8%);
|
|
150
|
+
--td-shadow-4: 0 2px 8px 0 rgba(0, 0, 0, 0.06);
|
|
151
|
+
|
|
152
|
+
--td-shadow-inset-top: inset 0 0.5px 0 #dcdcdc;
|
|
153
|
+
--td-shadow-inset-right: inset 0.5px 0 0 #dcdcdc;
|
|
154
|
+
--td-shadow-inset-bottom: inset 0 -0.5px 0 #dcdcdc;
|
|
155
|
+
--td-shadow-inset-left: inset -0.5px 0 0 #dcdcdc;
|
|
156
|
+
|
|
157
|
+
--td-table-shadow-color: rgba(0, 0, 0, 8%);
|
|
158
|
+
|
|
159
|
+
--td-scrollbar-color: rgba(0, 0, 0, 10%);
|
|
160
|
+
--td-scrollbar-hover-color: rgba(0, 0, 0, 30%);
|
|
161
|
+
--td-scroll-track-color: #fff;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/* ./raw/_radius.less */
|
|
165
|
+
page,
|
|
166
|
+
.page {
|
|
167
|
+
--td-radius-small: 3px;
|
|
168
|
+
--td-radius-default: 6px;
|
|
169
|
+
--td-radius-large: 9px;
|
|
170
|
+
--td-radius-extraLarge: 12px;
|
|
171
|
+
--td-radius-round: 999px;
|
|
172
|
+
--td-radius-circle: 50%;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/* ./raw/_font.less */
|
|
176
|
+
page,
|
|
177
|
+
.page {
|
|
178
|
+
--td-font-family: PingFang SC, Microsoft YaHei, Arial Regular;
|
|
179
|
+
--td-font-family-medium: PingFang SC, Microsoft YaHei, Arial Medium;
|
|
180
|
+
|
|
181
|
+
--td-font-size-link-small: 12px;
|
|
182
|
+
--td-font-size-link-medium: 14px;
|
|
183
|
+
--td-font-size-link-large: 16px;
|
|
184
|
+
--td-font-size-mark-extraSmall: 10px;
|
|
185
|
+
--td-font-size-mark-small: 12px;
|
|
186
|
+
--td-font-size-mark-medium: 14px;
|
|
187
|
+
--td-font-size-mark-large: 16px;
|
|
188
|
+
--td-font-size-body-extraSmall: 10px;
|
|
189
|
+
--td-font-size-body-small: 12px;
|
|
190
|
+
--td-font-size-body-medium: 14px;
|
|
191
|
+
--td-font-size-body-large: 16px;
|
|
192
|
+
--td-font-size-title-small: 14px;
|
|
193
|
+
--td-font-size-title-medium: 16px;
|
|
194
|
+
--td-font-size-title-large: 18px;
|
|
195
|
+
--td-font-size-title-extraLarge: 20px;
|
|
196
|
+
--td-font-size-headline-small: 24px;
|
|
197
|
+
--td-font-size-headline-medium: 28px;
|
|
198
|
+
--td-font-size-headline-large: 36px;
|
|
199
|
+
--td-font-size-display-medium: 48px;
|
|
200
|
+
--td-font-size-display-large: 64px;
|
|
201
|
+
|
|
202
|
+
--td-line-height-link-small: 20px;
|
|
203
|
+
--td-line-height-link-medium: 22px;
|
|
204
|
+
--td-line-height-link-large: 24px;
|
|
205
|
+
--td-line-height-mark-extraSmall: 16px;
|
|
206
|
+
--td-line-height-mark-small: 20px;
|
|
207
|
+
--td-line-height-mark-medium: 22px;
|
|
208
|
+
--td-line-height-mark-large: 24px;
|
|
209
|
+
--td-line-height-body-extraSmall: 16px;
|
|
210
|
+
--td-line-height-body-small: 20px;
|
|
211
|
+
--td-line-height-body-medium: 22px;
|
|
212
|
+
--td-line-height-body-large: 24px;
|
|
213
|
+
--td-line-height-title-small: 22px;
|
|
214
|
+
--td-line-height-title-medium: 24px;
|
|
215
|
+
--td-line-height-title-large: 26px;
|
|
216
|
+
--td-line-height-title-extraLarge: 28px;
|
|
217
|
+
--td-line-height-headline-small: 32px;
|
|
218
|
+
--td-line-height-headline-medium: 36px;
|
|
219
|
+
--td-line-height-headline-large: 44px;
|
|
220
|
+
--td-line-height-display-medium: 56px;
|
|
221
|
+
--td-line-height-display-large: 72px;
|
|
222
|
+
|
|
223
|
+
--td-font-link-small: var(--td-font-size-link-small) / var(--td-line-height-link-small) var(--td-font-family);
|
|
224
|
+
--td-font-link-medium: var(--td-font-size-link-medium) / var(--td-line-height-link-medium) var(--td-font-family);
|
|
225
|
+
--td-font-link-large: var(--td-font-size-link-large) / var(--td-line-height-link-large) var(--td-font-family);
|
|
226
|
+
--td-font-mark-extraSmall: 600 var(--td-font-size-mark-extraSmall) / var(--td-line-height-mark-extraSmall)
|
|
227
|
+
var(--td-font-family);
|
|
228
|
+
--td-font-mark-small: 600 var(--td-font-size-mark-small) / var(--td-line-height-mark-small) var(--td-font-family);
|
|
229
|
+
--td-font-mark-medium: 600 var(--td-font-size-mark-medium) / var(--td-line-height-mark-medium) var(--td-font-family);
|
|
230
|
+
--td-font-mark-large: 600 var(--td-font-size-mark-large) / var(--td-line-height-mark-large) var(--td-font-family);
|
|
231
|
+
--td-font-body-extraSmall: var(--td-font-size-body-extraSmall) / var(--td-line-height-body-extraSmall)
|
|
232
|
+
var(--td-font-family);
|
|
233
|
+
--td-font-body-small: var(--td-font-size-body-small) / var(--td-line-height-body-small) var(--td-font-family);
|
|
234
|
+
--td-font-body-medium: var(--td-font-size-body-medium) / var(--td-line-height-body-medium) var(--td-font-family);
|
|
235
|
+
--td-font-body-large: var(--td-font-size-body-large) / var(--td-line-height-body-large) var(--td-font-family);
|
|
236
|
+
--td-font-title-small: 600 var(--td-font-size-title-small) / var(--td-line-height-title-small) var(--td-font-family);
|
|
237
|
+
--td-font-title-medium: 600 var(--td-font-size-title-medium) / var(--td-line-height-title-medium)
|
|
238
|
+
var(--td-font-family);
|
|
239
|
+
--td-font-title-large: 600 var(--td-font-size-title-large) / var(--td-line-height-title-large) var(--td-font-family);
|
|
240
|
+
--td-font-title-extraLarge: 600 var(--td-font-size-title-extraLarge) / var(--td-line-height-title-extraLarge)
|
|
241
|
+
var(--td-font-family);
|
|
242
|
+
--td-font-headline-small: 600 var(--td-font-size-headline-small) / var(--td-line-height-headline-small)
|
|
243
|
+
var(--td-font-family);
|
|
244
|
+
--td-font-headline-medium: 600 var(--td-font-size-headline-medium) / var(--td-line-height-headline-medium)
|
|
245
|
+
var(--td-font-family);
|
|
246
|
+
--td-font-headline-large: 600 var(--td-font-size-headline-large) / var(--td-line-height-headline-large)
|
|
247
|
+
var(--td-font-family);
|
|
248
|
+
--td-font-display-medium: 600 var(--td-font-size-display-medium) / var(--td-line-height-display-medium)
|
|
249
|
+
var(--td-font-family);
|
|
250
|
+
--td-font-display-large: 600 var(--td-font-size-display-large) / var(--td-line-height-display-large)
|
|
251
|
+
var(--td-font-family);
|
|
252
|
+
|
|
253
|
+
--td-font-size: 10px;
|
|
254
|
+
--td-font-size-xs: var(--td-font-size-body-extraSmall);
|
|
255
|
+
--td-font-size-s: var(--td-font-size-body-small);
|
|
256
|
+
--td-font-size-base: var(--td-font-size-title-small);
|
|
257
|
+
--td-font-size-m: var(--td-font-size-title-medium);
|
|
258
|
+
--td-font-size-l: var(--td-font-size-title-large);
|
|
259
|
+
--td-font-size-xl: var(--td-font-size-title-extraLarge);
|
|
260
|
+
--td-font-size-xxl: var(--td-font-size-headline-large);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/* ./raw/_spacer.less */
|
|
264
|
+
page,
|
|
265
|
+
.page {
|
|
266
|
+
--td-spacer: 8px;
|
|
267
|
+
--td-spacer-1: 12px;
|
|
268
|
+
--td-spacer-2: 16px;
|
|
269
|
+
--td-spacer-3: 24px;
|
|
270
|
+
--td-spacer-4: 32px;
|
|
271
|
+
--td-spacer-5: 48px;
|
|
272
|
+
--td-spacer-6: 80px;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/* ./raw/_components-light.less */
|
|
276
|
+
page,
|
|
277
|
+
.page {
|
|
278
|
+
--td-picker-transparent-color: rgba(255, 255, 255, 0);
|
|
279
|
+
|
|
280
|
+
--td-switch-dot-disabled-color: var(--td-font-white-1);
|
|
281
|
+
--td-switch-loading-color: var(--td-brand-color);
|
|
282
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import './common/style/theme/index-light.less';
|
package/dist/types/index.d.ts
CHANGED
|
@@ -55,6 +55,7 @@ export * from '../rate/type';
|
|
|
55
55
|
export * from '../result/type';
|
|
56
56
|
export * from '../row/type';
|
|
57
57
|
export * from '../search/type';
|
|
58
|
+
export * from '../segmented/type';
|
|
58
59
|
export * from '../side-bar/type';
|
|
59
60
|
export * from '../side-bar-item/type';
|
|
60
61
|
export * from '../skeleton/type';
|
|
@@ -70,6 +71,7 @@ export * from '../switch/type';
|
|
|
70
71
|
export * from '../tab-bar/type';
|
|
71
72
|
export * from '../tab-bar-item/type';
|
|
72
73
|
export * from '../tab-panel/type';
|
|
74
|
+
export * from '../table/type';
|
|
73
75
|
export * from '../tabs/type';
|
|
74
76
|
export * from '../tag/type';
|
|
75
77
|
export * from '../textarea/type';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TransformEventHandlers, ExtractNonOnProps } from '../common/common';
|
|
2
|
+
import type { TdSegmentedProps } from '../segmented/type';
|
|
3
|
+
|
|
4
|
+
export type SegmentedProps = ExtractNonOnProps<TdSegmentedProps>;
|
|
5
|
+
export type SegmentedEmits = TransformEventHandlers<TdSegmentedProps, true>;
|
|
6
|
+
declare const SegmentedComponent: import('vue').DefineComponent<SegmentedProps, {}, {}, {}, {}, {}, {}, SegmentedEmits, any>;
|
|
7
|
+
export default SegmentedComponent;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TransformEventHandlers, ExtractNonOnProps } from '../common/common';
|
|
2
|
+
import type { TdTableProps } from '../table/type';
|
|
3
|
+
|
|
4
|
+
export type TableProps = ExtractNonOnProps<TdTableProps>;
|
|
5
|
+
export type TableEmits = TransformEventHandlers<TdTableProps, true>;
|
|
6
|
+
declare const TableComponent: import('vue').DefineComponent<TableProps, {}, {}, {}, {}, {}, {}, TableEmits, any>;
|
|
7
|
+
export default TableComponent;
|
package/global.d.ts
CHANGED
|
@@ -58,6 +58,7 @@ declare module 'vue' {
|
|
|
58
58
|
TResult: typeof import('@tdesign/uniapp/result/result.vue').default;
|
|
59
59
|
TRow: typeof import('@tdesign/uniapp/row/row.vue').default;
|
|
60
60
|
TSearch: typeof import('@tdesign/uniapp/search/search.vue').default;
|
|
61
|
+
TSegmented: typeof import('@tdesign/uniapp/segmented/segmented.vue').default;
|
|
61
62
|
TSideBar: typeof import('@tdesign/uniapp/side-bar/side-bar.vue').default;
|
|
62
63
|
TSideBarItem: typeof import('@tdesign/uniapp/side-bar-item/side-bar-item.vue').default;
|
|
63
64
|
TSkeleton: typeof import('@tdesign/uniapp/skeleton/skeleton.vue').default;
|
|
@@ -73,6 +74,7 @@ declare module 'vue' {
|
|
|
73
74
|
TTabBar: typeof import('@tdesign/uniapp/tab-bar/tab-bar.vue').default;
|
|
74
75
|
TTabBarItem: typeof import('@tdesign/uniapp/tab-bar-item/tab-bar-item.vue').default;
|
|
75
76
|
TTabPanel: typeof import('@tdesign/uniapp/tab-panel/tab-panel.vue').default;
|
|
77
|
+
TTable: typeof import('@tdesign/uniapp/table/table.vue').default;
|
|
76
78
|
TTabs: typeof import('@tdesign/uniapp/tabs/tabs.vue').default;
|
|
77
79
|
TTag: typeof import('@tdesign/uniapp/tag/tag.vue').default;
|
|
78
80
|
TTextarea: typeof import('@tdesign/uniapp/textarea/textarea.vue').default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tdesign/uniapp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"id": "tdesign-uniapp",
|
|
5
5
|
"title": "tdesign-uniapp",
|
|
6
6
|
"description": "TDesign Component for UniApp",
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
],
|
|
15
15
|
"files": [
|
|
16
16
|
"dist",
|
|
17
|
+
"script",
|
|
17
18
|
"global.d.ts",
|
|
18
19
|
"LICENSE",
|
|
19
20
|
"README.md",
|
|
@@ -39,6 +40,9 @@
|
|
|
39
40
|
"default": "./dist/index.js"
|
|
40
41
|
},
|
|
41
42
|
"./*": "./dist/*",
|
|
43
|
+
"./global": {
|
|
44
|
+
"types": "./global.d.ts"
|
|
45
|
+
},
|
|
42
46
|
"./mixins/page-scroll": {
|
|
43
47
|
"types": "./dist/mixins/page-scroll.d.ts",
|
|
44
48
|
"import": "./dist/mixins/page-scroll.js",
|
|
@@ -72,8 +76,13 @@
|
|
|
72
76
|
"types": "./dist/theme.less.d.ts",
|
|
73
77
|
"default": "./dist/theme.less"
|
|
74
78
|
},
|
|
75
|
-
"./
|
|
76
|
-
"types": "./
|
|
79
|
+
"./theme-light.css": {
|
|
80
|
+
"types": "./dist/theme-light.css.d.ts",
|
|
81
|
+
"default": "./dist/theme-light.css"
|
|
82
|
+
},
|
|
83
|
+
"./theme-light.less": {
|
|
84
|
+
"types": "./dist/theme-light.less.d.ts",
|
|
85
|
+
"default": "./dist/theme-light.less"
|
|
77
86
|
},
|
|
78
87
|
"./action-sheet/action-sheet.vue": {
|
|
79
88
|
"types": "./dist/types/action-sheet.d.ts",
|
|
@@ -155,16 +164,16 @@
|
|
|
155
164
|
"import": "./dist/collapse-panel/collapse-panel.vue",
|
|
156
165
|
"default": "./dist/collapse-panel/collapse-panel.vue"
|
|
157
166
|
},
|
|
158
|
-
"./config-provider/config-provider.vue": {
|
|
159
|
-
"types": "./dist/types/config-provider.d.ts",
|
|
160
|
-
"import": "./dist/config-provider/config-provider.vue",
|
|
161
|
-
"default": "./dist/config-provider/config-provider.vue"
|
|
162
|
-
},
|
|
163
167
|
"./color-picker/color-picker.vue": {
|
|
164
168
|
"types": "./dist/types/color-picker.d.ts",
|
|
165
169
|
"import": "./dist/color-picker/color-picker.vue",
|
|
166
170
|
"default": "./dist/color-picker/color-picker.vue"
|
|
167
171
|
},
|
|
172
|
+
"./config-provider/config-provider.vue": {
|
|
173
|
+
"types": "./dist/types/config-provider.d.ts",
|
|
174
|
+
"import": "./dist/config-provider/config-provider.vue",
|
|
175
|
+
"default": "./dist/config-provider/config-provider.vue"
|
|
176
|
+
},
|
|
168
177
|
"./count-down/count-down.vue": {
|
|
169
178
|
"types": "./dist/types/count-down.d.ts",
|
|
170
179
|
"import": "./dist/count-down/count-down.vue",
|
|
@@ -310,6 +319,11 @@
|
|
|
310
319
|
"import": "./dist/picker-item/picker-item.vue",
|
|
311
320
|
"default": "./dist/picker-item/picker-item.vue"
|
|
312
321
|
},
|
|
322
|
+
"./popover/popover.vue": {
|
|
323
|
+
"types": "./dist/types/popover.d.ts",
|
|
324
|
+
"import": "./dist/popover/popover.vue",
|
|
325
|
+
"default": "./dist/popover/popover.vue"
|
|
326
|
+
},
|
|
313
327
|
"./popup/popup.vue": {
|
|
314
328
|
"types": "./dist/types/popup.d.ts",
|
|
315
329
|
"import": "./dist/popup/popup.vue",
|
|
@@ -360,6 +374,11 @@
|
|
|
360
374
|
"import": "./dist/search/search.vue",
|
|
361
375
|
"default": "./dist/search/search.vue"
|
|
362
376
|
},
|
|
377
|
+
"./segmented/segmented.vue": {
|
|
378
|
+
"types": "./dist/types/segmented.d.ts",
|
|
379
|
+
"import": "./dist/segmented/segmented.vue",
|
|
380
|
+
"default": "./dist/segmented/segmented.vue"
|
|
381
|
+
},
|
|
363
382
|
"./side-bar/side-bar.vue": {
|
|
364
383
|
"types": "./dist/types/side-bar.d.ts",
|
|
365
384
|
"import": "./dist/side-bar/side-bar.vue",
|
|
@@ -435,6 +454,11 @@
|
|
|
435
454
|
"import": "./dist/tab-panel/tab-panel.vue",
|
|
436
455
|
"default": "./dist/tab-panel/tab-panel.vue"
|
|
437
456
|
},
|
|
457
|
+
"./table/table.vue": {
|
|
458
|
+
"types": "./dist/types/table.d.ts",
|
|
459
|
+
"import": "./dist/table/table.vue",
|
|
460
|
+
"default": "./dist/table/table.vue"
|
|
461
|
+
},
|
|
438
462
|
"./tabs/tabs.vue": {
|
|
439
463
|
"types": "./dist/types/tabs.d.ts",
|
|
440
464
|
"import": "./dist/tabs/tabs.vue",
|
|
@@ -556,6 +580,6 @@
|
|
|
556
580
|
"release:prepare": "node ./example/script/release/prepare.js",
|
|
557
581
|
"gen:types": "node ./example/script/types/index.js",
|
|
558
582
|
"commit": "git-cz",
|
|
559
|
-
"postinstall": "node
|
|
583
|
+
"postinstall": "node script/postinstall.js || true"
|
|
560
584
|
}
|
|
561
585
|
}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
const fs = require('fs');
|
|
2
2
|
const path = require('path');
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* 判断当前脚本是否以"用户侧安装"的形式被执行。
|
|
6
|
+
*
|
|
7
|
+
* 场景:
|
|
8
|
+
* - 用户安装:脚本物理位置在 node_modules/@tdesign/uniapp/script/postinstall.js,
|
|
9
|
+
* __dirname 必然包含 /node_modules/
|
|
10
|
+
* - 本仓库本地开发 monorepo install:脚本物理位置在 packages/tdesign-uniapp/script/postinstall.js,
|
|
11
|
+
* __dirname 不包含 /node_modules/,应直接跳过,避免误导性日志
|
|
12
|
+
*/
|
|
13
|
+
function isUserInstall() {
|
|
14
|
+
const { sep } = path;
|
|
15
|
+
return __dirname.split(sep).includes('node_modules');
|
|
16
|
+
}
|
|
4
17
|
|
|
5
18
|
function printVue2PostCSSWarning() {
|
|
6
19
|
console.warn('\n');
|
|
@@ -12,7 +25,6 @@ function printVue2PostCSSWarning() {
|
|
|
12
25
|
console.warn('\n');
|
|
13
26
|
}
|
|
14
27
|
|
|
15
|
-
|
|
16
28
|
/**
|
|
17
29
|
* 多重检测 Vue 版本,提升准确性
|
|
18
30
|
* 优先级:环境变量 > require('vue') > 用户项目 package.json
|
|
@@ -53,6 +65,11 @@ function isVue3(version) {
|
|
|
53
65
|
}
|
|
54
66
|
|
|
55
67
|
function main() {
|
|
68
|
+
// 仅当作为依赖被用户安装时才执行检测,避免本地 monorepo install 时产生噪音
|
|
69
|
+
if (!isUserInstall()) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
|
|
56
73
|
const version = detectVueVersion();
|
|
57
74
|
|
|
58
75
|
if (!version) {
|
|
@@ -68,4 +85,3 @@ function main() {
|
|
|
68
85
|
}
|
|
69
86
|
|
|
70
87
|
main();
|
|
71
|
-
|