@efficiency-point/design-system 0.1.37 → 0.1.38
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 +70 -0
- package/dist/components/DSDataTable/DSDataTable.d.ts +51 -1
- package/dist/components/DSDataTable/DSDataTable.d.ts.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.es.js +1539 -1358
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -193,6 +193,76 @@ export function Example() {
|
|
|
193
193
|
/>
|
|
194
194
|
```
|
|
195
195
|
|
|
196
|
+
Чтобы показать компактный выбор размера страницы сверху и снизу таблицы,
|
|
197
|
+
передайте `onPageSizeChange`. Доступны значения `10`, `30`, `50` и `-1`
|
|
198
|
+
(`-1` отображается как «Все»). Выбор остаётся черновым до нажатия
|
|
199
|
+
«Применить», после чего таблица вызывает `onPageChange(1)` и
|
|
200
|
+
`onPageSizeChange`. В client-режиме `-1` показывает весь массив; в
|
|
201
|
+
server-режиме таблица предупреждает о загрузке всех записей.
|
|
202
|
+
|
|
203
|
+
```tsx
|
|
204
|
+
<DSDataTable
|
|
205
|
+
columns={columns}
|
|
206
|
+
data={currentPageRows}
|
|
207
|
+
pagination
|
|
208
|
+
paginationMode="server"
|
|
209
|
+
page={page}
|
|
210
|
+
pageSize={pageSize}
|
|
211
|
+
totalCount={totalCount}
|
|
212
|
+
onPageChange={setPage}
|
|
213
|
+
onPageSizeChange={setPageSize}
|
|
214
|
+
/>
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
Если размер страницы должен применяться общей кнопкой фильтров, используйте
|
|
218
|
+
controlled-черновик и `pageSizeApplyMode="external"`. В этом режиме собственная
|
|
219
|
+
кнопка таблицы скрыта, а `pageSize` остаётся последним применённым значением.
|
|
220
|
+
|
|
221
|
+
```tsx
|
|
222
|
+
<DSDataTable
|
|
223
|
+
columns={columns}
|
|
224
|
+
data={currentPageRows}
|
|
225
|
+
pagination
|
|
226
|
+
pageSize={appliedPageSize}
|
|
227
|
+
pageSizeDraft={draftPageSize}
|
|
228
|
+
pageSizeApplyMode="external"
|
|
229
|
+
onPageSizeDraftChange={setDraftPageSize}
|
|
230
|
+
/>
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
Для полностью встроенной панели передайте `filterBar`. Поля описываются
|
|
234
|
+
декларативно (`search`/`text`, `multi-select`, `switch`) либо через `custom`.
|
|
235
|
+
Опции multi-select могут быть массивом или асинхронной функцией. Таблица не
|
|
236
|
+
владеет бизнес-состоянием: `draftValues` и `appliedValues` контролируются
|
|
237
|
+
потребителем, а единый `onApply` получает `{ filters, pageSize }`. Validation
|
|
238
|
+
errors блокируют применение; `applying` включает loading-состояние. При наличии
|
|
239
|
+
`filterBar` отдельная кнопка применения размера страницы скрывается.
|
|
240
|
+
|
|
241
|
+
```tsx
|
|
242
|
+
<DSDataTable
|
|
243
|
+
columns={columns}
|
|
244
|
+
data={rows}
|
|
245
|
+
pagination
|
|
246
|
+
pageSize={appliedPageSize}
|
|
247
|
+
pageSizeDraft={draftPageSize}
|
|
248
|
+
onPageSizeDraftChange={setDraftPageSize}
|
|
249
|
+
filterBar={{
|
|
250
|
+
fields: [
|
|
251
|
+
{ key: 'search', label: 'Поиск', type: 'search' },
|
|
252
|
+
{ key: 'places', label: 'Места работы', type: 'multi-select', options: loadPlaces },
|
|
253
|
+
{ key: 'attention', label: 'Только требующие внимания', type: 'switch' },
|
|
254
|
+
],
|
|
255
|
+
draftValues: draftFilters,
|
|
256
|
+
appliedValues: appliedFilters,
|
|
257
|
+
onDraftValuesChange: setDraftFilters,
|
|
258
|
+
onApply: ({ filters, pageSize }) => applyFilters(filters, pageSize),
|
|
259
|
+
resetValues: emptyFilters,
|
|
260
|
+
onReset: ({ filters, pageSize }) => resetFilters(filters, pageSize),
|
|
261
|
+
applying: isLoading,
|
|
262
|
+
}}
|
|
263
|
+
/>
|
|
264
|
+
```
|
|
265
|
+
|
|
196
266
|
Для данных, уже разбитых сервером на страницы, используется явный controlled-режим.
|
|
197
267
|
`page` нумеруется с единицы, `totalCount` содержит общее число строк, а
|
|
198
268
|
`onPageChange` запускает загрузку выбранной страницы. В этом режиме `data` не
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CSSProperties, ReactNode } from 'react';
|
|
2
2
|
import { SortFn, SortingState } from '@tanstack/react-table';
|
|
3
|
+
import { DropDownOption } from '../DSDropDown/DSDropDown';
|
|
3
4
|
declare const dataTableFeatures: {
|
|
4
5
|
rowSortingFeature: import('@tanstack/table-core').TableFeature;
|
|
5
6
|
sortedRowModel: (table: import('@tanstack/table-core').Table<any, any>) => () => import('@tanstack/table-core').RowModel<any, any>;
|
|
@@ -12,6 +13,48 @@ export type DSDataTableBreakpoint = 'default' | 'wide';
|
|
|
12
13
|
export type DSDataTableMobileView = 'cards' | 'table';
|
|
13
14
|
export type DSDataTableDensity = 'comfortable' | 'compact';
|
|
14
15
|
export type DSDataTableData = Record<string, unknown>;
|
|
16
|
+
export type DSDataTablePageSize = 10 | 30 | 50 | -1;
|
|
17
|
+
export type DSDataTableFilterValues = Record<string, unknown>;
|
|
18
|
+
export type DSDataTableFilterField = {
|
|
19
|
+
key: string;
|
|
20
|
+
label: string;
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
} & ({
|
|
23
|
+
type: 'search' | 'text';
|
|
24
|
+
placeholder?: string;
|
|
25
|
+
} | {
|
|
26
|
+
type: 'multi-select';
|
|
27
|
+
options: DropDownOption[] | (() => Promise<DropDownOption[]>);
|
|
28
|
+
placeholder?: string;
|
|
29
|
+
} | {
|
|
30
|
+
type: 'switch';
|
|
31
|
+
} | {
|
|
32
|
+
type: 'custom';
|
|
33
|
+
render: (context: {
|
|
34
|
+
value: unknown;
|
|
35
|
+
setValue: (value: unknown) => void;
|
|
36
|
+
disabled: boolean;
|
|
37
|
+
error?: string;
|
|
38
|
+
}) => ReactNode;
|
|
39
|
+
});
|
|
40
|
+
export type DSDataTableFilterBarApplyPayload<TValues extends DSDataTableFilterValues = DSDataTableFilterValues> = {
|
|
41
|
+
filters: TValues;
|
|
42
|
+
pageSize: DSDataTablePageSize;
|
|
43
|
+
};
|
|
44
|
+
export type DSDataTableFilterBarConfig<TValues extends DSDataTableFilterValues = DSDataTableFilterValues> = {
|
|
45
|
+
fields: DSDataTableFilterField[];
|
|
46
|
+
draftValues: TValues;
|
|
47
|
+
appliedValues: TValues;
|
|
48
|
+
onDraftValuesChange: (values: TValues) => void;
|
|
49
|
+
onApply: (payload: DSDataTableFilterBarApplyPayload<TValues>) => void;
|
|
50
|
+
onReset?: (payload: DSDataTableFilterBarApplyPayload<TValues>) => void;
|
|
51
|
+
resetValues?: TValues;
|
|
52
|
+
resetPageSize?: DSDataTablePageSize;
|
|
53
|
+
validation?: Partial<Record<keyof TValues, string>> | ((values: TValues) => Partial<Record<keyof TValues, string>>);
|
|
54
|
+
applying?: boolean;
|
|
55
|
+
applyLabel?: string;
|
|
56
|
+
resetLabel?: string;
|
|
57
|
+
};
|
|
15
58
|
export type DSDataTableMobileColumnMeta<TData> = {
|
|
16
59
|
hideOnMobile?: boolean;
|
|
17
60
|
primary?: boolean;
|
|
@@ -84,6 +127,12 @@ export type DSDataTableProps<TData extends object> = {
|
|
|
84
127
|
paginationMode?: 'client' | 'server';
|
|
85
128
|
page?: number;
|
|
86
129
|
pageSize?: number;
|
|
130
|
+
/** Shows the shared top and bottom page-size selector when provided. Use -1 to request all rows. */
|
|
131
|
+
onPageSizeChange?: (pageSize: DSDataTablePageSize) => void;
|
|
132
|
+
pageSizeOptions?: readonly DSDataTablePageSize[];
|
|
133
|
+
pageSizeDraft?: DSDataTablePageSize;
|
|
134
|
+
onPageSizeDraftChange?: (pageSize: DSDataTablePageSize) => void;
|
|
135
|
+
pageSizeApplyMode?: 'table' | 'external';
|
|
87
136
|
totalCount?: number;
|
|
88
137
|
onPageChange?: (page: number) => void;
|
|
89
138
|
visibleColumnIds?: string[];
|
|
@@ -98,6 +147,7 @@ export type DSDataTableProps<TData extends object> = {
|
|
|
98
147
|
totalCount: number;
|
|
99
148
|
selectedCount: number;
|
|
100
149
|
}) => string;
|
|
150
|
+
filterBar?: DSDataTableFilterBarConfig;
|
|
101
151
|
};
|
|
102
152
|
export type DSDataTablePaginationItem = number | 'ellipsis-start' | 'ellipsis-end';
|
|
103
153
|
export declare const getNextDSDataTablePageSelection: (selectedRowIds: Iterable<string>, currentPageRowIds: readonly string[], selectCurrentPage: boolean) => string[];
|
|
@@ -105,6 +155,6 @@ export declare const getDSDataTableColumnStyle: <TData extends object>(column: D
|
|
|
105
155
|
export declare const getDSDataTableStickyColumnStyle: <TData extends object>(column: DSDataTableColumn<TData> | undefined) => CSSProperties | undefined;
|
|
106
156
|
export declare const getDSDataTablePaginationItems: (currentPage: number, pageCount: number) => DSDataTablePaginationItem[];
|
|
107
157
|
export declare const validateDSDataTableData: <TData extends object>(columns: DSDataTableColumn<TData>[], data: TData[]) => string | null;
|
|
108
|
-
export declare const DSDataTable: <TData extends object>({ columns, data, tableOnMobile, mobileView, breakpoint, sorting: controlledSorting, onSortingChange, renderMobileCard, getRowId, caption, ariaLabel, loading, error, emptyState, stickyHeader, maxHeight, className, onRowClick, selectable, selectedRowIds, onSelectedRowIdsChange, onRowDoubleClick, getRowSelectionLabel, selectAllRowsLabel, resetSelectionLabel, openRowLabel, pagination, paginationMode, page, pageSize, totalCount, onPageChange, visibleColumnIds, density, renderBulkActions, renderExpandedRow, expandedRowIds, onExpandedRowIdsChange, getRowExpansionLabel, resultsAnnouncement, }: DSDataTableProps<TData>) => import("react").JSX.Element;
|
|
158
|
+
export declare const DSDataTable: <TData extends object>({ columns, data, tableOnMobile, mobileView, breakpoint, sorting: controlledSorting, onSortingChange, renderMobileCard, getRowId, caption, ariaLabel, loading, error, emptyState, stickyHeader, maxHeight, className, onRowClick, selectable, selectedRowIds, onSelectedRowIdsChange, onRowDoubleClick, getRowSelectionLabel, selectAllRowsLabel, resetSelectionLabel, openRowLabel, pagination, paginationMode, page, pageSize, onPageSizeChange, pageSizeOptions, pageSizeDraft, onPageSizeDraftChange, pageSizeApplyMode, totalCount, onPageChange, visibleColumnIds, density, renderBulkActions, renderExpandedRow, expandedRowIds, onExpandedRowIdsChange, getRowExpansionLabel, resultsAnnouncement, filterBar, }: DSDataTableProps<TData>) => import("react").JSX.Element;
|
|
109
159
|
export {};
|
|
110
160
|
//# sourceMappingURL=DSDataTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSDataTable.d.ts","sourceRoot":"","sources":["../../../src/components/DSDataTable/DSDataTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnG,OAAO,EAQH,KAAK,MAAM,EACX,KAAK,YAAY,EACpB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"DSDataTable.d.ts","sourceRoot":"","sources":["../../../src/components/DSDataTable/DSDataTable.tsx"],"names":[],"mappings":"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"}
|