@efficiency-point/design-system 0.1.46 → 0.1.48
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
CHANGED
|
@@ -166,6 +166,9 @@ export function Example() {
|
|
|
166
166
|
|
|
167
167
|
### DSDataTable и DSSort
|
|
168
168
|
|
|
169
|
+
`DSDataTable` всегда рендерит строки блоками: сначала 30, затем ещё 30 при появлении любой из последних 8 строк в области просмотра. `virtualizationThreshold={50}` меняет размер начального и последующих блоков. Полный массив `data` сохраняется: сортировка, общий счётчик и выбор всех строк работают со всем набором (либо текущей страницей при пагинации). Передавайте весь `displayedItems`, без предварительного `slice`. Уже показанные строки остаются в DOM. Работает прокрутка страницы, вложенного контейнера и мобильных карточек; `maxHeight` необязателен.
|
|
170
|
+
|
|
171
|
+
|
|
169
172
|
Типизированная таблица на стабильной `@tanstack/react-table` с обязательной сортировкой. По умолчанию мобильный вид отображает строки карточками; `tableOnMobile` сохраняет таблицу. `breakpoint="default"` переключает вид ниже 640 px, `breakpoint="wide"` — ниже 1280 px.
|
|
170
173
|
|
|
171
174
|
```tsx
|
|
@@ -632,3 +635,5 @@ npm run pack:check
|
|
|
632
635
|
4. Подключить `DSToastProvider`, если используются toast.
|
|
633
636
|
5. Создать `shared/ui/modal/modal.registry.tsx` и подключить `ModalSystemProvider`, если используются модалки.
|
|
634
637
|
6. Заменять локальные UI-компоненты постепенно, сохраняя controlled state и импортируя публичные props/payload-типы из пакета.
|
|
638
|
+
|
|
639
|
+
Регрессионная проверка progressive rendering в браузере: после `npm run build-storybook` запустите статический сервер каталога `storybook-static`, задайте `STORYBOOK_URL` (по умолчанию `http://127.0.0.1:6088`) и выполните `node tests/data-table-progressive.mjs`.
|
|
@@ -12,8 +12,6 @@ type DSColumnSortFn<TData extends object> = SortFn<DSDataTableFeatures, TData>;
|
|
|
12
12
|
export type DSDataTableBreakpoint = 'default' | 'wide';
|
|
13
13
|
export type DSDataTableMobileView = 'cards' | 'table';
|
|
14
14
|
export type DSDataTableDensity = 'comfortable' | 'compact';
|
|
15
|
-
export type DSDataTableData = Record<string, unknown>;
|
|
16
|
-
/** A positive integer number of rows per page, or -1 for all rows. */
|
|
17
15
|
export type DSDataTablePageSize = number;
|
|
18
16
|
export type DSDataTableFilterValues = Record<string, unknown>;
|
|
19
17
|
export type DSDataTableFilterField = {
|
|
@@ -99,6 +97,15 @@ export type DSDataTableExpandedRowContext<TData extends object> = {
|
|
|
99
97
|
export type DSDataTableProps<TData extends object> = {
|
|
100
98
|
columns: DSDataTableColumn<TData>[];
|
|
101
99
|
data: TData[];
|
|
100
|
+
/**
|
|
101
|
+
* Размер начального и следующего блока строк. Progressive rendering
|
|
102
|
+
* включён всегда: следующий блок добавляется при появлении
|
|
103
|
+
* любой из последних 8 отрендеренных строк в области просмотра.
|
|
104
|
+
* Полный массив data сохраняется для сортировки и выбора.
|
|
105
|
+
*
|
|
106
|
+
* По умолчанию: 30.
|
|
107
|
+
*/
|
|
108
|
+
virtualizationThreshold?: number;
|
|
102
109
|
tableOnMobile?: boolean;
|
|
103
110
|
/** Preferred explicit mobile presentation. Takes precedence over the legacy tableOnMobile flag. */
|
|
104
111
|
mobileView?: DSDataTableMobileView;
|
|
@@ -162,6 +169,6 @@ export declare const getDSDataTableColumnStyle: <TData extends object>(column: D
|
|
|
162
169
|
export declare const getDSDataTableStickyColumnStyle: <TData extends object>(column: DSDataTableColumn<TData> | undefined) => CSSProperties | undefined;
|
|
163
170
|
export declare const getDSDataTablePaginationItems: (currentPage: number, pageCount: number) => DSDataTablePaginationItem[];
|
|
164
171
|
export declare const validateDSDataTableData: <TData extends object>(columns: DSDataTableColumn<TData>[], data: TData[]) => string | null;
|
|
165
|
-
export declare const DSDataTable: <TData extends object>({ columns, data, tableOnMobile, mobileView, breakpoint, sorting: controlledSorting, onSortingChange, renderMobileCard, getRowId, getRowClassName, getRowStyle, toolbarContent, totalCountVariant, totalCountLabel, 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;
|
|
172
|
+
export declare const DSDataTable: <TData extends object>({ columns, data, virtualizationThreshold, tableOnMobile, mobileView, breakpoint, sorting: controlledSorting, onSortingChange, renderMobileCard, getRowId, getRowClassName, getRowStyle, toolbarContent, totalCountVariant, totalCountLabel, 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;
|
|
166
173
|
export {};
|
|
167
174
|
//# 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,
|
|
1
|
+
{"version":3,"file":"DSDataTable.d.ts","sourceRoot":"","sources":["../../../src/components/DSDataTable/DSDataTable.tsx"],"names":[],"mappings":"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"}
|