@jerry-fd/ui 0.4.3 → 0.4.4

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.
@@ -1,490 +0,0 @@
1
- import { g as ColumnDataTypes, I as IconType, e as FiltersState } from './types-DAZ2BTzl.js';
2
- import React__default from 'react';
3
- import { PaginationProps, TableProps } from 'antd';
4
- import { ColumnType } from 'antd/es/table';
5
- import { SorterResult, TableCurrentDataSource } from 'antd/es/table/interface';
6
- import * as tailwind_variants from 'tailwind-variants';
7
- import { VariantProps } from 'tailwind-variants';
8
-
9
- declare const baseButtonStyle: tailwind_variants.TVReturnType<{} | {} | {}, undefined, string[], {} | {}, undefined, tailwind_variants.TVReturnType<unknown, undefined, string[], unknown, unknown, undefined>>;
10
- declare const buttonVariants: tailwind_variants.TVReturnType<{
11
- variant: {
12
- primary: {};
13
- neutral: {};
14
- error: {};
15
- };
16
- mode: {
17
- filled: {};
18
- stroke: {};
19
- lighter: {};
20
- ghost: {};
21
- };
22
- loading: {
23
- true: {
24
- root: string;
25
- };
26
- };
27
- size: {
28
- large: {
29
- root: string;
30
- overlay: string;
31
- icon: string;
32
- };
33
- medium: {
34
- root: string;
35
- overlay: string;
36
- icon: string;
37
- };
38
- small: {
39
- root: string;
40
- overlay: string;
41
- icon: string;
42
- };
43
- xsmall: {
44
- root: string;
45
- overlay: string;
46
- icon: string;
47
- };
48
- };
49
- }, {
50
- root: string[];
51
- icon: string;
52
- overlay: string;
53
- }, undefined, {
54
- variant: {
55
- primary: {};
56
- neutral: {};
57
- error: {};
58
- };
59
- mode: {
60
- filled: {};
61
- stroke: {};
62
- lighter: {};
63
- ghost: {};
64
- };
65
- loading: {
66
- true: {
67
- root: string;
68
- };
69
- };
70
- size: {
71
- large: {
72
- root: string;
73
- overlay: string;
74
- icon: string;
75
- };
76
- medium: {
77
- root: string;
78
- overlay: string;
79
- icon: string;
80
- };
81
- small: {
82
- root: string;
83
- overlay: string;
84
- icon: string;
85
- };
86
- xsmall: {
87
- root: string;
88
- overlay: string;
89
- icon: string;
90
- };
91
- };
92
- }, {
93
- root: string[];
94
- icon: string;
95
- overlay: string;
96
- }, tailwind_variants.TVReturnType<{
97
- variant: {
98
- primary: {};
99
- neutral: {};
100
- error: {};
101
- };
102
- mode: {
103
- filled: {};
104
- stroke: {};
105
- lighter: {};
106
- ghost: {};
107
- };
108
- loading: {
109
- true: {
110
- root: string;
111
- };
112
- };
113
- size: {
114
- large: {
115
- root: string;
116
- overlay: string;
117
- icon: string;
118
- };
119
- medium: {
120
- root: string;
121
- overlay: string;
122
- icon: string;
123
- };
124
- small: {
125
- root: string;
126
- overlay: string;
127
- icon: string;
128
- };
129
- xsmall: {
130
- root: string;
131
- overlay: string;
132
- icon: string;
133
- };
134
- };
135
- }, {
136
- root: string[];
137
- icon: string;
138
- overlay: string;
139
- }, undefined, unknown, unknown, undefined>>;
140
- declare const Button: React__default.ForwardRefExoticComponent<VariantProps<tailwind_variants.TVReturnType<{
141
- variant: {
142
- primary: {};
143
- neutral: {};
144
- error: {};
145
- };
146
- mode: {
147
- filled: {};
148
- stroke: {};
149
- lighter: {};
150
- ghost: {};
151
- };
152
- loading: {
153
- true: {
154
- root: string;
155
- };
156
- };
157
- size: {
158
- large: {
159
- root: string;
160
- overlay: string;
161
- icon: string;
162
- };
163
- medium: {
164
- root: string;
165
- overlay: string;
166
- icon: string;
167
- };
168
- small: {
169
- root: string;
170
- overlay: string;
171
- icon: string;
172
- };
173
- xsmall: {
174
- root: string;
175
- overlay: string;
176
- icon: string;
177
- };
178
- };
179
- }, {
180
- root: string[];
181
- icon: string;
182
- overlay: string;
183
- }, undefined, {
184
- variant: {
185
- primary: {};
186
- neutral: {};
187
- error: {};
188
- };
189
- mode: {
190
- filled: {};
191
- stroke: {};
192
- lighter: {};
193
- ghost: {};
194
- };
195
- loading: {
196
- true: {
197
- root: string;
198
- };
199
- };
200
- size: {
201
- large: {
202
- root: string;
203
- overlay: string;
204
- icon: string;
205
- };
206
- medium: {
207
- root: string;
208
- overlay: string;
209
- icon: string;
210
- };
211
- small: {
212
- root: string;
213
- overlay: string;
214
- icon: string;
215
- };
216
- xsmall: {
217
- root: string;
218
- overlay: string;
219
- icon: string;
220
- };
221
- };
222
- }, {
223
- root: string[];
224
- icon: string;
225
- overlay: string;
226
- }, tailwind_variants.TVReturnType<{
227
- variant: {
228
- primary: {};
229
- neutral: {};
230
- error: {};
231
- };
232
- mode: {
233
- filled: {};
234
- stroke: {};
235
- lighter: {};
236
- ghost: {};
237
- };
238
- loading: {
239
- true: {
240
- root: string;
241
- };
242
- };
243
- size: {
244
- large: {
245
- root: string;
246
- overlay: string;
247
- icon: string;
248
- };
249
- medium: {
250
- root: string;
251
- overlay: string;
252
- icon: string;
253
- };
254
- small: {
255
- root: string;
256
- overlay: string;
257
- icon: string;
258
- };
259
- xsmall: {
260
- root: string;
261
- overlay: string;
262
- icon: string;
263
- };
264
- };
265
- }, {
266
- root: string[];
267
- icon: string;
268
- overlay: string;
269
- }, undefined, unknown, unknown, undefined>>> & Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, "prefix"> & {
270
- asChild?: boolean;
271
- startContent?: React__default.ReactNode;
272
- endContent?: React__default.ReactNode;
273
- } & React__default.RefAttributes<HTMLButtonElement>>;
274
-
275
- type ButtonProps = Omit<React__default.ComponentProps<typeof Button>, 'onClick'>;
276
- /** 渲染 props,传递给自定义组件 */
277
- interface ToolbarRenderContext<TData = unknown> {
278
- disabled?: boolean;
279
- loading?: boolean;
280
- exporting?: boolean;
281
- columns: DataTableColumnType<TData>[];
282
- onAction: (action: ToolbarAction) => void;
283
- }
284
- /** 内置 toolbar item */
285
- type BuiltInToolbarItem = {
286
- /** 内置 action 类型 */
287
- type: ToolbarBuiltInActionType;
288
- /** 唯一标识,默认使用 type */
289
- key?: string;
290
- /** 覆盖按钮 props */
291
- btnProps?: ButtonProps;
292
- /** tooltip 提示 */
293
- tooltip?: string;
294
- /** 是否隐藏 */
295
- hidden?: boolean;
296
- };
297
- /** 自定义 toolbar item */
298
- type CustomToolbarItem<TData = unknown> = {
299
- type: 'custom';
300
- /** 唯一标识,必填 */
301
- key: string;
302
- /** 自定义渲染函数 */
303
- render: (ctx: ToolbarRenderContext<TData>) => React__default.ReactNode;
304
- /** 是否隐藏 */
305
- hidden?: boolean;
306
- };
307
- /** Toolbar item 类型 */
308
- type ToolbarItemConfig<TData = any> = ToolbarBuiltInActionType | BuiltInToolbarItem | CustomToolbarItem<TData>;
309
- /** 默认 toolbar items */
310
- declare const DEFAULT_TOOLBAR_ITEMS: ToolbarItemConfig[];
311
-
312
- type SerializeOptions = {
313
- /** 日期格式,默认 'YYYY-MM-DD' */
314
- dateFormat?: string;
315
- /** 分页参数名映射 */
316
- paginationKeys?: {
317
- current?: string;
318
- pageSize?: string;
319
- };
320
- /** 排序参数名映射 */
321
- sorterKeys?: {
322
- field?: string;
323
- order?: string;
324
- };
325
- /** 筛选参数名映射,默认使用 columnId 作为 key */
326
- filtersKey?: string;
327
- /** 排序顺序值映射 */
328
- orderValues?: {
329
- ascend?: string;
330
- descend?: string;
331
- };
332
- /**
333
- * 筛选字段别名映射
334
- * key: columnId, value: 实际查询参数名
335
- * @example { p95: 'keyword', name: 'searchName' }
336
- */
337
- fieldMapping?: Record<string, string>;
338
- };
339
- /**
340
- * 将 TableChangeState 序列化为 POST 请求的数据结构
341
- *
342
- * @example
343
- * const postData = serializeForPost(state);
344
- * // {
345
- * // current: 1,
346
- * // pageSize: 10,
347
- * // sortField: 'age',
348
- * // sortOrder: 'desc',
349
- * // filters: {
350
- * // p95: [12131],
351
- * // name: ['hahah'],
352
- * // date: ['2026-01-30'],
353
- * // tags: ['2026-01-01', '2026-01-10'],
354
- * // url: ['backlog', 'todo'],
355
- * // status: ['todo']
356
- * // }
357
- * // }
358
- */
359
- declare function serializeForPost<TData = Record<string, unknown>>(state: TableChangeState<TData>, options?: SerializeOptions): Record<string, unknown>;
360
- /**
361
- * 将 TableChangeState 序列化为扁平化的 POST 数据(筛选条件直接作为顶级字段)
362
- *
363
- * @example
364
- * const postData = serializeForPostFlat(state);
365
- * // {
366
- * // current: 1,
367
- * // pageSize: 10,
368
- * // sortField: 'age',
369
- * // sortOrder: 'desc',
370
- * // p95: 12131, // 单值直接展开
371
- * // name: 'hahah',
372
- * // date: '2026-01-30',
373
- * // tags: ['2026-01-01', '2026-01-10'], // 多值保持数组
374
- * // url: ['backlog', 'todo'],
375
- * // status: 'todo'
376
- * // }
377
- */
378
- declare function serializeForPostFlat<TData = Record<string, unknown>>(state: TableChangeState<TData>, options?: SerializeOptions): Record<string, unknown>;
379
- /**
380
- * 将 TableChangeState 序列化为 URL 查询参数字符串
381
- *
382
- * @example
383
- * const queryString = serializeForURL(state);
384
- * // "current=1&pageSize=10&sortField=age&sortOrder=desc&p95=12131&name=hahah&date=2026-01-30&tags=2026-01-01,2026-01-10&url=backlog,todo&status=todo"
385
- */
386
- declare function serializeForURL<TData = Record<string, unknown>>(state: TableChangeState<TData>, options?: SerializeOptions): string;
387
- /**
388
- * 将 TableChangeState 序列化为 URLSearchParams 对象
389
- */
390
- declare function serializeToURLSearchParams<TData = Record<string, unknown>>(state: TableChangeState<TData>, options?: SerializeOptions): URLSearchParams;
391
-
392
- type PaginationConfig = Omit<PaginationProps, 'total'>;
393
- type SkeletonVariant = 'text' | 'avatar' | 'double-line' | 'group';
394
- type DataTableFilterConfig = ColumnDataTypes & {
395
- displayName?: string;
396
- icon?: IconType;
397
- pin?: boolean;
398
- };
399
- type DataTableColumnType<TData> = ColumnType<TData> & {
400
- hidden?: boolean;
401
- filter?: DataTableFilterConfig;
402
- skeleton?: SkeletonVariant;
403
- };
404
- type BaseRecord = Record<string, unknown>;
405
- type SorterState<TData = BaseRecord> = SorterResult<TData> | SorterResult<TData>[];
406
- type TableChangeReason = 'filter' | 'paginate' | 'sort' | 'tab_switch' | 'mount';
407
- type TableChangeState<TData = BaseRecord> = {
408
- pagination: PaginationConfig;
409
- filters: FiltersState;
410
- sorter: SorterState<TData>;
411
- extra: TableCurrentDataSource<TData>;
412
- };
413
- type UseDataTableStateOptions<TData extends BaseRecord = BaseRecord> = {
414
- id?: string;
415
- total?: number;
416
- loading?: boolean;
417
- syncing?: boolean;
418
- exporting?: boolean;
419
- disabled?: boolean;
420
- fireOnMount?: boolean;
421
- defaultFilters?: FiltersState;
422
- defaultPagination?: PaginationConfig;
423
- defaultSorter?: SorterState<TData>;
424
- serializeOptions?: SerializeOptions;
425
- serializeFn?: (state: TableChangeState<TData>, options?: SerializeOptions) => BaseRecord;
426
- onChange?: (serialized: BaseRecord, source: TableChangeState<TData>, reason: TableChangeReason) => void;
427
- onToolbarAction?: (action: ToolbarAction) => void | Promise<void>;
428
- } & Pick<DataTableProps<TData>, 'toolbarItems' | 'slots' | 'enableTableAutoScrollSizer' | 'scroll'>;
429
- type TableChangeHandler<TData extends BaseRecord = BaseRecord> = NonNullable<UseDataTableStateOptions<TData>['onChange']>;
430
- type UseTabsDataTableStateProps<TData extends BaseRecord = BaseRecord> = {
431
- fireOnMount?: boolean;
432
- disabled?: boolean;
433
- active?: string;
434
- defaultActive?: string;
435
- tabList: TabItem<TData>[];
436
- onTabChange?: (value: string) => void;
437
- onTableChange?: (tableId: string, serialized: BaseRecord, source: TableChangeState<TData>, reason: TableChangeReason) => void;
438
- onToolbarAction?: (tableId: string, action: ToolbarAction) => void | Promise<void>;
439
- };
440
- type TabsTableChangeHandler<TData extends BaseRecord = BaseRecord> = NonNullable<UseTabsDataTableStateProps<TData>['onTableChange']>;
441
- type ToolbarBuiltInActionType = 'data_refresh' | 'size_setting' | 'column_setting' | 'data_export' | 'filter_btn';
442
- type ToolbarAction<T extends BaseRecord = BaseRecord> = {
443
- action: ToolbarBuiltInActionType | string;
444
- payload?: T;
445
- };
446
- type TabItem<TData extends BaseRecord = BaseRecord> = DataTableProps<TData> & UseDataTableStateOptions<TData> & {
447
- id: string;
448
- /** Tab 标签 */
449
- label: React__default.ReactNode;
450
- /** Tab 唯一标识 */
451
- value: string;
452
- };
453
- type NamedClass = 'root' | 'cardHeader' | 'cardHeading' | 'cardIcon' | 'cardToolbar' | 'cardContent' | 'cardSummary' | 'cardFooter' | 'tableSummary';
454
- type DataTableProps<TData extends BaseRecord = BaseRecord> = {
455
- id: string;
456
- activeTabId?: string;
457
- /** 多 Tab 共享存储时传入,默认使用 id */
458
- style?: React__default.CSSProperties & {
459
- [key: `--${string}`]: string | number;
460
- };
461
- storageKey?: string;
462
- alwaysShowingColumns?: string[];
463
- title?: React__default.ReactNode;
464
- icon?: React__default.ReactNode;
465
- description?: React__default.ReactNode;
466
- variant?: 'default' | 'accent';
467
- total?: number;
468
- slots?: Partial<Record<'cardSummary' | 'cardFooter' | 'tableSummary', React__default.ReactNode>>;
469
- classNames?: Partial<Record<NamedClass, string>>;
470
- columns: DataTableColumnType<TData>[];
471
- filters?: FiltersState;
472
- defaultFilters?: FiltersState;
473
- className?: string;
474
- toolbarItems?: ToolbarItemConfig<any>[];
475
- onFiltersChange?: React__default.Dispatch<React__default.SetStateAction<FiltersState>>;
476
- onToolbarAction?: (action: ToolbarAction) => void | Promise<void>;
477
- loading?: boolean;
478
- syncing?: boolean;
479
- exporting?: boolean;
480
- disabled?: boolean;
481
- /** 是否启用动画,默认 true */
482
- animated?: boolean;
483
- enableTableAutoScrollSizer?: boolean;
484
- pagination?: PaginationConfig;
485
- defaultPagination?: PaginationConfig;
486
- tabList?: TabItem<TData>[];
487
- onTabChange?: (value: string) => void;
488
- } & Omit<TableProps<TData>, 'title' | 'columns' | 'loading' | 'pagination' | 'style'>;
489
-
490
- export { Button as B, type DataTableProps as D, type PaginationConfig as P, type SerializeOptions as S, type ToolbarAction as T, type UseDataTableStateOptions as U, buttonVariants as a, baseButtonStyle as b, type BaseRecord as c, type ToolbarItemConfig as d, type UseTabsDataTableStateProps as e, type DataTableColumnType as f, type TabItem as g, DEFAULT_TOOLBAR_ITEMS as h, type DataTableFilterConfig as i, type SorterState as j, type TableChangeHandler as k, type TableChangeReason as l, type TableChangeState as m, type TabsTableChangeHandler as n, serializeForPostFlat as o, serializeForURL as p, serializeToURLSearchParams as q, serializeForPost as s };