@snack-uikit/table 0.38.7 → 0.39.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 CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # 0.39.0 (2026-05-04)
7
+
8
+
9
+ ### Features
10
+
11
+ * **PDS-3785:** added suppress header prop ([8095bb6](https://github.com/cloud-ru-tech/snack-uikit/commit/8095bb69d95ae0cb8a6c4a5edb2ae59bb2c1a038))
12
+
13
+
14
+
15
+
16
+
6
17
  ## 0.38.7 (2026-04-21)
7
18
 
8
19
  ### Only dependencies have been changed
package/README.md CHANGED
@@ -203,6 +203,7 @@ const columnDefinitions: ColumnDefinition<TableData>[] = [
203
203
  | noResultsState | `EmptyStateProps` | - | Экран при отстутствии результатов поиска или фильтров |
204
204
  | errorDataState | `EmptyStateProps` | - | Экран при ошибке запроса |
205
205
  | suppressToolbar | `boolean` | - | Отключение тулбара |
206
+ | suppressHeader | `boolean` | - | Отключение хедера таблицы |
206
207
  | suppressSearch | `boolean` | - | Отключение поиска |
207
208
  | bulkActions | `BulkAction[]` | - | Список действия для массовых операций |
208
209
  | moreActions | `Action[]` | - | Элементы выпадающего списка кнопки с действиями |
@@ -275,6 +276,7 @@ const columnDefinitions: ColumnDefinition<TableData>[] = [
275
276
  | noResultsState | `EmptyStateProps` | - | Экран при отстутствии результатов поиска или фильтров |
276
277
  | errorDataState | `EmptyStateProps` | - | Экран при ошибке запроса |
277
278
  | suppressToolbar | `boolean` | - | Отключение тулбара |
279
+ | suppressHeader | `boolean` | - | Отключение хедера таблицы |
278
280
  | suppressSearch | `boolean` | - | Отключение поиска |
279
281
  | toolbarAfter | `ReactNode` | - | Дополнительный слот в `Toolbar` после строки поиска |
280
282
  | exportSettings | `{ fileName: string; filterData?: boolean; exportToCSV?(args: ExportProps<TData>): void; exportToXLSX?(args: ExportProps<TData>): void; }` | - | Настройки экспорта в тулбаре |
@@ -1,7 +1,7 @@
1
1
  import { FiltersState } from '@snack-uikit/chips';
2
2
  import { TableProps } from '../types';
3
3
  /** Компонент таблицы */
4
- export declare function Table<TData extends object, TFilters extends FiltersState = Record<string, unknown>>({ data, rowPinning, columnDefinitions, keepPinnedRows, copyPinnedRows, enableSelectPinned, rowSelection: rowSelectionProp, search, sorting: sortingProp, columnFilters, pagination: paginationProp, className, onRowClick, onRefresh, pageSize, pageCount, loading, infiniteLoading, outline, moreActions, exportSettings, dataFiltered, dataError, noDataState, noResultsState, errorDataState, suppressToolbar, suppressSearch, toolbarAfter, suppressPagination, manualSorting, manualPagination: manualPaginationProp, manualFiltering, autoResetPageIndex, scrollRef, scrollContainerRef, getRowId, enableFuzzySearch, savedState, expanding, bulkActions: bulkActionsProp, rowAutoHeight, columnsSettings: columnsSettingsProp, getRowBackgroundColor, toolbarCheckBoxMode, ...rest }: TableProps<TData, TFilters>): import("react/jsx-runtime").JSX.Element;
4
+ export declare function Table<TData extends object, TFilters extends FiltersState = Record<string, unknown>>({ data, rowPinning, columnDefinitions, keepPinnedRows, copyPinnedRows, enableSelectPinned, rowSelection: rowSelectionProp, search, sorting: sortingProp, columnFilters, pagination: paginationProp, className, onRowClick, onRefresh, pageSize, pageCount, loading, infiniteLoading, outline, moreActions, exportSettings, dataFiltered, dataError, noDataState, noResultsState, errorDataState, suppressToolbar, suppressHeader, suppressSearch, toolbarAfter, suppressPagination, manualSorting, manualPagination: manualPaginationProp, manualFiltering, autoResetPageIndex, scrollRef, scrollContainerRef, getRowId, enableFuzzySearch, savedState, expanding, bulkActions: bulkActionsProp, rowAutoHeight, columnsSettings: columnsSettingsProp, getRowBackgroundColor, toolbarCheckBoxMode, ...rest }: TableProps<TData, TFilters>): import("react/jsx-runtime").JSX.Element;
5
5
  export declare namespace Table {
6
6
  var getStatusColumnDef: typeof import("../../helperComponents").getStatusColumnDef;
7
7
  var statusAppearances: {
@@ -70,6 +70,7 @@ function Table(_a) {
70
70
  noResultsState,
71
71
  errorDataState,
72
72
  suppressToolbar = false,
73
+ suppressHeader = false,
73
74
  suppressSearch = false,
74
75
  toolbarAfter,
75
76
  suppressPagination = false,
@@ -89,7 +90,7 @@ function Table(_a) {
89
90
  getRowBackgroundColor,
90
91
  toolbarCheckBoxMode
91
92
  } = _a,
92
- rest = __rest(_a, ["data", "rowPinning", "columnDefinitions", "keepPinnedRows", "copyPinnedRows", "enableSelectPinned", "rowSelection", "search", "sorting", "columnFilters", "pagination", "className", "onRowClick", "onRefresh", "pageSize", "pageCount", "loading", "infiniteLoading", "outline", "moreActions", "exportSettings", "dataFiltered", "dataError", "noDataState", "noResultsState", "errorDataState", "suppressToolbar", "suppressSearch", "toolbarAfter", "suppressPagination", "manualSorting", "manualPagination", "manualFiltering", "autoResetPageIndex", "scrollRef", "scrollContainerRef", "getRowId", "enableFuzzySearch", "savedState", "expanding", "bulkActions", "rowAutoHeight", "columnsSettings", "getRowBackgroundColor", "toolbarCheckBoxMode"]);
93
+ rest = __rest(_a, ["data", "rowPinning", "columnDefinitions", "keepPinnedRows", "copyPinnedRows", "enableSelectPinned", "rowSelection", "search", "sorting", "columnFilters", "pagination", "className", "onRowClick", "onRefresh", "pageSize", "pageCount", "loading", "infiniteLoading", "outline", "moreActions", "exportSettings", "dataFiltered", "dataError", "noDataState", "noResultsState", "errorDataState", "suppressToolbar", "suppressHeader", "suppressSearch", "toolbarAfter", "suppressPagination", "manualSorting", "manualPagination", "manualFiltering", "autoResetPageIndex", "scrollRef", "scrollContainerRef", "getRowId", "enableFuzzySearch", "savedState", "expanding", "bulkActions", "rowAutoHeight", "columnsSettings", "getRowBackgroundColor", "toolbarCheckBoxMode"]);
93
94
  const [globalFilter, onGlobalFilterChange] = (0, hooks_1.useStateControl)(search, '');
94
95
  const [rowSelection, onRowSelectionChange] = (0, hooks_1.useStateControl)(rowSelectionProp, constants_1.DEFAULT_ROW_SELECTION);
95
96
  const defaultPaginationState = (0, react_1.useMemo)(() => ({
@@ -371,6 +372,7 @@ function Table(_a) {
371
372
  updateCellMap
372
373
  } = (0, contexts_1.useCellAutoResizeController)(table);
373
374
  const showToolbar = !suppressToolbar;
375
+ const showHeader = !suppressHeader;
374
376
  const showPagination = !infiniteLoading && !suppressPagination;
375
377
  const tableToolbarPersistConfig = (0, react_1.useMemo)(() => {
376
378
  if (!(savedState === null || savedState === void 0 ? void 0 : savedState.id) || !(savedState === null || savedState === void 0 ? void 0 : savedState.filterQueryKey)) {
@@ -473,17 +475,17 @@ function Table(_a) {
473
475
  },
474
476
  children: (!infiniteLoading || !data.length) && loading ? (0, jsx_runtime_1.jsxs)(skeleton_1.SkeletonContextProvider, {
475
477
  loading: true,
476
- children: [(0, jsx_runtime_1.jsx)(helperComponents_1.HeaderRow, {
478
+ children: [showHeader ? (0, jsx_runtime_1.jsx)(helperComponents_1.HeaderRow, {
477
479
  rowAutoHeight: rowAutoHeight,
478
480
  columnOrder: columnOrder
479
- }), loadingTableRows.map(row => (0, jsx_runtime_1.jsx)(helperComponents_1.BodyRow, {
481
+ }) : null, loadingTableRows.map(row => (0, jsx_runtime_1.jsx)(helperComponents_1.BodyRow, {
480
482
  row: row,
481
483
  rowAutoHeight: rowAutoHeight,
482
484
  columnOrder: columnOrder,
483
485
  disabledRowAppearance: rowSelectionProp === null || rowSelectionProp === void 0 ? void 0 : rowSelectionProp.appearance
484
486
  }, row.id))]
485
487
  }) : (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, {
486
- children: [centerRows.length || filteredTopRows.length ? (0, jsx_runtime_1.jsx)(helperComponents_1.HeaderRow, {
488
+ children: [showHeader && (centerRows.length || filteredTopRows.length) ? (0, jsx_runtime_1.jsx)(helperComponents_1.HeaderRow, {
487
489
  rowAutoHeight: rowAutoHeight,
488
490
  columnOrder: columnOrder,
489
491
  enableColumnsOrderSortByDrag: enableColumnsOrderSortByDrag
@@ -120,6 +120,8 @@ type BaseTableProps<TData extends object, TFilters extends FiltersState = Record
120
120
  errorDataState?: EmptyStateProps;
121
121
  /** Отключение тулбара */
122
122
  suppressToolbar?: boolean;
123
+ /** Отключение хедера таблицы */
124
+ suppressHeader?: boolean;
123
125
  /** Отключение поиска */
124
126
  suppressSearch?: boolean;
125
127
  /** Список действия для массовых операций */
@@ -1,7 +1,7 @@
1
1
  import { FiltersState } from '@snack-uikit/chips';
2
2
  import { TableProps } from '../types';
3
3
  /** Компонент таблицы */
4
- export declare function Table<TData extends object, TFilters extends FiltersState = Record<string, unknown>>({ data, rowPinning, columnDefinitions, keepPinnedRows, copyPinnedRows, enableSelectPinned, rowSelection: rowSelectionProp, search, sorting: sortingProp, columnFilters, pagination: paginationProp, className, onRowClick, onRefresh, pageSize, pageCount, loading, infiniteLoading, outline, moreActions, exportSettings, dataFiltered, dataError, noDataState, noResultsState, errorDataState, suppressToolbar, suppressSearch, toolbarAfter, suppressPagination, manualSorting, manualPagination: manualPaginationProp, manualFiltering, autoResetPageIndex, scrollRef, scrollContainerRef, getRowId, enableFuzzySearch, savedState, expanding, bulkActions: bulkActionsProp, rowAutoHeight, columnsSettings: columnsSettingsProp, getRowBackgroundColor, toolbarCheckBoxMode, ...rest }: TableProps<TData, TFilters>): import("react/jsx-runtime").JSX.Element;
4
+ export declare function Table<TData extends object, TFilters extends FiltersState = Record<string, unknown>>({ data, rowPinning, columnDefinitions, keepPinnedRows, copyPinnedRows, enableSelectPinned, rowSelection: rowSelectionProp, search, sorting: sortingProp, columnFilters, pagination: paginationProp, className, onRowClick, onRefresh, pageSize, pageCount, loading, infiniteLoading, outline, moreActions, exportSettings, dataFiltered, dataError, noDataState, noResultsState, errorDataState, suppressToolbar, suppressHeader, suppressSearch, toolbarAfter, suppressPagination, manualSorting, manualPagination: manualPaginationProp, manualFiltering, autoResetPageIndex, scrollRef, scrollContainerRef, getRowId, enableFuzzySearch, savedState, expanding, bulkActions: bulkActionsProp, rowAutoHeight, columnsSettings: columnsSettingsProp, getRowBackgroundColor, toolbarCheckBoxMode, ...rest }: TableProps<TData, TFilters>): import("react/jsx-runtime").JSX.Element;
5
5
  export declare namespace Table {
6
6
  var getStatusColumnDef: typeof import("../../helperComponents").getStatusColumnDef;
7
7
  var statusAppearances: {
@@ -34,7 +34,7 @@ import { validateFilter, validatePaging, validateSorting } from './utils/saveTab
34
34
  export function Table(_a) {
35
35
  var { data, rowPinning = {
36
36
  top: [],
37
- }, columnDefinitions, keepPinnedRows = false, copyPinnedRows = false, enableSelectPinned = false, rowSelection: rowSelectionProp, search, sorting: sortingProp, columnFilters, pagination: paginationProp, className, onRowClick, onRefresh, pageSize = DEFAULT_PAGE_SIZE, pageCount, loading = false, infiniteLoading = false, outline = false, moreActions, exportSettings, dataFiltered, dataError, noDataState, noResultsState, errorDataState, suppressToolbar = false, suppressSearch = false, toolbarAfter, suppressPagination = false, manualSorting = false, manualPagination: manualPaginationProp = false, manualFiltering = false, autoResetPageIndex = false, scrollRef, scrollContainerRef, getRowId, enableFuzzySearch, savedState, expanding, bulkActions: bulkActionsProp, rowAutoHeight, columnsSettings: columnsSettingsProp, getRowBackgroundColor, toolbarCheckBoxMode } = _a, rest = __rest(_a, ["data", "rowPinning", "columnDefinitions", "keepPinnedRows", "copyPinnedRows", "enableSelectPinned", "rowSelection", "search", "sorting", "columnFilters", "pagination", "className", "onRowClick", "onRefresh", "pageSize", "pageCount", "loading", "infiniteLoading", "outline", "moreActions", "exportSettings", "dataFiltered", "dataError", "noDataState", "noResultsState", "errorDataState", "suppressToolbar", "suppressSearch", "toolbarAfter", "suppressPagination", "manualSorting", "manualPagination", "manualFiltering", "autoResetPageIndex", "scrollRef", "scrollContainerRef", "getRowId", "enableFuzzySearch", "savedState", "expanding", "bulkActions", "rowAutoHeight", "columnsSettings", "getRowBackgroundColor", "toolbarCheckBoxMode"]);
37
+ }, columnDefinitions, keepPinnedRows = false, copyPinnedRows = false, enableSelectPinned = false, rowSelection: rowSelectionProp, search, sorting: sortingProp, columnFilters, pagination: paginationProp, className, onRowClick, onRefresh, pageSize = DEFAULT_PAGE_SIZE, pageCount, loading = false, infiniteLoading = false, outline = false, moreActions, exportSettings, dataFiltered, dataError, noDataState, noResultsState, errorDataState, suppressToolbar = false, suppressHeader = false, suppressSearch = false, toolbarAfter, suppressPagination = false, manualSorting = false, manualPagination: manualPaginationProp = false, manualFiltering = false, autoResetPageIndex = false, scrollRef, scrollContainerRef, getRowId, enableFuzzySearch, savedState, expanding, bulkActions: bulkActionsProp, rowAutoHeight, columnsSettings: columnsSettingsProp, getRowBackgroundColor, toolbarCheckBoxMode } = _a, rest = __rest(_a, ["data", "rowPinning", "columnDefinitions", "keepPinnedRows", "copyPinnedRows", "enableSelectPinned", "rowSelection", "search", "sorting", "columnFilters", "pagination", "className", "onRowClick", "onRefresh", "pageSize", "pageCount", "loading", "infiniteLoading", "outline", "moreActions", "exportSettings", "dataFiltered", "dataError", "noDataState", "noResultsState", "errorDataState", "suppressToolbar", "suppressHeader", "suppressSearch", "toolbarAfter", "suppressPagination", "manualSorting", "manualPagination", "manualFiltering", "autoResetPageIndex", "scrollRef", "scrollContainerRef", "getRowId", "enableFuzzySearch", "savedState", "expanding", "bulkActions", "rowAutoHeight", "columnsSettings", "getRowBackgroundColor", "toolbarCheckBoxMode"]);
38
38
  const [globalFilter, onGlobalFilterChange] = useStateControl(search, '');
39
39
  const [rowSelection, onRowSelectionChange] = useStateControl(rowSelectionProp, DEFAULT_ROW_SELECTION);
40
40
  const defaultPaginationState = useMemo(() => ({
@@ -267,6 +267,7 @@ export function Table(_a) {
267
267
  });
268
268
  const { updateCellMap } = useCellAutoResizeController(table);
269
269
  const showToolbar = !suppressToolbar;
270
+ const showHeader = !suppressHeader;
270
271
  const showPagination = !infiniteLoading && !suppressPagination;
271
272
  const tableToolbarPersistConfig = useMemo(() => {
272
273
  if (!(savedState === null || savedState === void 0 ? void 0 : savedState.id) || !(savedState === null || savedState === void 0 ? void 0 : savedState.filterQueryKey)) {
@@ -325,7 +326,7 @@ export function Table(_a) {
325
326
  onChange: onGlobalFilterChange,
326
327
  loading: search === null || search === void 0 ? void 0 : search.loading,
327
328
  placeholder: (search === null || search === void 0 ? void 0 : search.placeholder) || t('searchPlaceholder'),
328
- }, className: styles.toolbar, onRefresh: onRefresh ? handleOnRefresh : undefined, persist: showToolbar ? tableToolbarPersistConfig : undefined, bulkActions: bulkActions, selectionMode: (rowSelectionProp === null || rowSelectionProp === void 0 ? void 0 : rowSelectionProp.multiRow) ? 'multiple' : 'single', checked: checked, indeterminate: indeterminate, onCheck: enableSelection ? handleOnToolbarCheck : undefined, outline: outline, after: toolbarAfter || exportSettings || areColumnsSettingsEnabled ? (_jsxs(_Fragment, { children: [toolbarAfter, exportSettings && (_jsx(ExportButton, { settings: exportSettings, columnDefinitions: columnDefinitions, data: data, topRows: filteredTopRows, centerRows: centerRows })), areColumnsSettingsEnabled && (_jsx(ColumnsSettings, { columnsSettings: columnsSettings, enabledColumns: enabledColumns, setEnabledColumns: setEnabledColumns }))] })) : undefined, moreActions: moreActions, filterRow: patchedFilter, "data-test-id": TEST_IDS.toolbar }) })), _jsxs(Scroll, { size: 's', className: styles.table, ref: scrollContainerRef, "data-outline": outline || undefined, children: [_jsx("div", { className: styles.tableContent, style: columnSizes.vars, children: _jsx(CellAutoResizeContext.Provider, { value: { updateCellMap }, children: _jsx(DndContext, Object.assign({}, dndContextProps, { children: _jsx(TableContext.Provider, { value: { table, getRowBackgroundColor }, children: (!infiniteLoading || !data.length) && loading ? (_jsxs(SkeletonContextProvider, { loading: true, children: [_jsx(HeaderRow, { rowAutoHeight: rowAutoHeight, columnOrder: columnOrder }), loadingTableRows.map(row => (_jsx(BodyRow, { row: row, rowAutoHeight: rowAutoHeight, columnOrder: columnOrder, disabledRowAppearance: rowSelectionProp === null || rowSelectionProp === void 0 ? void 0 : rowSelectionProp.appearance }, row.id)))] })) : (_jsxs(_Fragment, { children: [centerRows.length || filteredTopRows.length ? (_jsx(HeaderRow, { rowAutoHeight: rowAutoHeight, columnOrder: columnOrder, enableColumnsOrderSortByDrag: enableColumnsOrderSortByDrag })) : null, filteredTopRows.length ? (_jsx("div", { className: styles.topRowWrapper, children: filteredTopRows.map(row => (_jsx(BodyRow, { row: row, onRowClick: onRowClick, rowAutoHeight: rowAutoHeight, columnOrder: columnOrder, enableColumnsOrderSortByDrag: enableColumnsOrderSortByDrag, disabledRowAppearance: RowAppearance.HideToggler }, row.id))) })) : null, centerRows.map(row => (_jsx(BodyRow, { row: row, onRowClick: onRowClick, rowAutoHeight: rowAutoHeight, columnOrder: columnOrder, enableColumnsOrderSortByDrag: enableColumnsOrderSortByDrag, disabledRowAppearance: rowSelectionProp === null || rowSelectionProp === void 0 ? void 0 : rowSelectionProp.appearance }, row.id))), data.length > 0 && infiniteLoading && loading && !dataError && (_jsx(SkeletonContextProvider, { loading: true, children: loadingTableRows.slice(0, 3).map(row => (_jsx(BodyRow, { row: row, columnOrder: columnOrder, enableColumnsOrderSortByDrag: enableColumnsOrderSortByDrag, disabledRowAppearance: rowSelectionProp === null || rowSelectionProp === void 0 ? void 0 : rowSelectionProp.appearance }, row.id))) })), _jsx(TableEmptyState, { emptyStates: emptyStates, dataError: dataError, dataFiltered: dataFiltered || Boolean(table.getState().globalFilter), tableRowsLength: tableRows.length + filteredTopRows.length })] })) }) })) }) }), _jsx("div", { className: styles.scrollStub, ref: scrollRef })] }), showPagination && (_jsx(TablePagination, { table: table, options: paginationProp === null || paginationProp === void 0 ? void 0 : paginationProp.options, optionsLabel: paginationProp === null || paginationProp === void 0 ? void 0 : paginationProp.optionsLabel, pageCount: pageCount, optionsRender: paginationProp === null || paginationProp === void 0 ? void 0 : paginationProp.optionsRender }))] })));
329
+ }, className: styles.toolbar, onRefresh: onRefresh ? handleOnRefresh : undefined, persist: showToolbar ? tableToolbarPersistConfig : undefined, bulkActions: bulkActions, selectionMode: (rowSelectionProp === null || rowSelectionProp === void 0 ? void 0 : rowSelectionProp.multiRow) ? 'multiple' : 'single', checked: checked, indeterminate: indeterminate, onCheck: enableSelection ? handleOnToolbarCheck : undefined, outline: outline, after: toolbarAfter || exportSettings || areColumnsSettingsEnabled ? (_jsxs(_Fragment, { children: [toolbarAfter, exportSettings && (_jsx(ExportButton, { settings: exportSettings, columnDefinitions: columnDefinitions, data: data, topRows: filteredTopRows, centerRows: centerRows })), areColumnsSettingsEnabled && (_jsx(ColumnsSettings, { columnsSettings: columnsSettings, enabledColumns: enabledColumns, setEnabledColumns: setEnabledColumns }))] })) : undefined, moreActions: moreActions, filterRow: patchedFilter, "data-test-id": TEST_IDS.toolbar }) })), _jsxs(Scroll, { size: 's', className: styles.table, ref: scrollContainerRef, "data-outline": outline || undefined, children: [_jsx("div", { className: styles.tableContent, style: columnSizes.vars, children: _jsx(CellAutoResizeContext.Provider, { value: { updateCellMap }, children: _jsx(DndContext, Object.assign({}, dndContextProps, { children: _jsx(TableContext.Provider, { value: { table, getRowBackgroundColor }, children: (!infiniteLoading || !data.length) && loading ? (_jsxs(SkeletonContextProvider, { loading: true, children: [showHeader ? _jsx(HeaderRow, { rowAutoHeight: rowAutoHeight, columnOrder: columnOrder }) : null, loadingTableRows.map(row => (_jsx(BodyRow, { row: row, rowAutoHeight: rowAutoHeight, columnOrder: columnOrder, disabledRowAppearance: rowSelectionProp === null || rowSelectionProp === void 0 ? void 0 : rowSelectionProp.appearance }, row.id)))] })) : (_jsxs(_Fragment, { children: [showHeader && (centerRows.length || filteredTopRows.length) ? (_jsx(HeaderRow, { rowAutoHeight: rowAutoHeight, columnOrder: columnOrder, enableColumnsOrderSortByDrag: enableColumnsOrderSortByDrag })) : null, filteredTopRows.length ? (_jsx("div", { className: styles.topRowWrapper, children: filteredTopRows.map(row => (_jsx(BodyRow, { row: row, onRowClick: onRowClick, rowAutoHeight: rowAutoHeight, columnOrder: columnOrder, enableColumnsOrderSortByDrag: enableColumnsOrderSortByDrag, disabledRowAppearance: RowAppearance.HideToggler }, row.id))) })) : null, centerRows.map(row => (_jsx(BodyRow, { row: row, onRowClick: onRowClick, rowAutoHeight: rowAutoHeight, columnOrder: columnOrder, enableColumnsOrderSortByDrag: enableColumnsOrderSortByDrag, disabledRowAppearance: rowSelectionProp === null || rowSelectionProp === void 0 ? void 0 : rowSelectionProp.appearance }, row.id))), data.length > 0 && infiniteLoading && loading && !dataError && (_jsx(SkeletonContextProvider, { loading: true, children: loadingTableRows.slice(0, 3).map(row => (_jsx(BodyRow, { row: row, columnOrder: columnOrder, enableColumnsOrderSortByDrag: enableColumnsOrderSortByDrag, disabledRowAppearance: rowSelectionProp === null || rowSelectionProp === void 0 ? void 0 : rowSelectionProp.appearance }, row.id))) })), _jsx(TableEmptyState, { emptyStates: emptyStates, dataError: dataError, dataFiltered: dataFiltered || Boolean(table.getState().globalFilter), tableRowsLength: tableRows.length + filteredTopRows.length })] })) }) })) }) }), _jsx("div", { className: styles.scrollStub, ref: scrollRef })] }), showPagination && (_jsx(TablePagination, { table: table, options: paginationProp === null || paginationProp === void 0 ? void 0 : paginationProp.options, optionsLabel: paginationProp === null || paginationProp === void 0 ? void 0 : paginationProp.optionsLabel, pageCount: pageCount, optionsRender: paginationProp === null || paginationProp === void 0 ? void 0 : paginationProp.optionsRender }))] })));
329
330
  }
330
331
  Table.getStatusColumnDef = getStatusColumnDef;
331
332
  Table.statusAppearances = STATUS_APPEARANCE;
@@ -120,6 +120,8 @@ type BaseTableProps<TData extends object, TFilters extends FiltersState = Record
120
120
  errorDataState?: EmptyStateProps;
121
121
  /** Отключение тулбара */
122
122
  suppressToolbar?: boolean;
123
+ /** Отключение хедера таблицы */
124
+ suppressHeader?: boolean;
123
125
  /** Отключение поиска */
124
126
  suppressSearch?: boolean;
125
127
  /** Список действия для массовых операций */
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "title": "Table",
7
- "version": "0.38.7",
7
+ "version": "0.39.0",
8
8
  "sideEffects": [
9
9
  "*.css",
10
10
  "*.woff",
@@ -65,5 +65,5 @@
65
65
  "peerDependencies": {
66
66
  "@snack-uikit/locale": "*"
67
67
  },
68
- "gitHead": "c61cd024708846e7fc958d7fcdd082bd593b52db"
68
+ "gitHead": "de975a968df3c8129c98129c9f2fc7fad22b8f03"
69
69
  }
@@ -113,6 +113,7 @@ export function Table<TData extends object, TFilters extends FiltersState = Reco
113
113
  noResultsState,
114
114
  errorDataState,
115
115
  suppressToolbar = false,
116
+ suppressHeader = false,
116
117
  suppressSearch = false,
117
118
  toolbarAfter,
118
119
  suppressPagination = false,
@@ -444,6 +445,7 @@ export function Table<TData extends object, TFilters extends FiltersState = Reco
444
445
  const { updateCellMap } = useCellAutoResizeController(table);
445
446
 
446
447
  const showToolbar = !suppressToolbar;
448
+ const showHeader = !suppressHeader;
447
449
  const showPagination = !infiniteLoading && !suppressPagination;
448
450
 
449
451
  const tableToolbarPersistConfig = useMemo((): ToolbarPersistConfig<TFilters> | undefined => {
@@ -565,7 +567,7 @@ export function Table<TData extends object, TFilters extends FiltersState = Reco
565
567
  <TableContext.Provider value={{ table, getRowBackgroundColor }}>
566
568
  {(!infiniteLoading || !data.length) && loading ? (
567
569
  <SkeletonContextProvider loading>
568
- <HeaderRow rowAutoHeight={rowAutoHeight} columnOrder={columnOrder} />
570
+ {showHeader ? <HeaderRow rowAutoHeight={rowAutoHeight} columnOrder={columnOrder} /> : null}
569
571
  {loadingTableRows.map(row => (
570
572
  <BodyRow
571
573
  key={row.id}
@@ -578,7 +580,7 @@ export function Table<TData extends object, TFilters extends FiltersState = Reco
578
580
  </SkeletonContextProvider>
579
581
  ) : (
580
582
  <>
581
- {centerRows.length || filteredTopRows.length ? (
583
+ {showHeader && (centerRows.length || filteredTopRows.length) ? (
582
584
  <HeaderRow
583
585
  rowAutoHeight={rowAutoHeight}
584
586
  columnOrder={columnOrder}
@@ -148,6 +148,8 @@ type BaseTableProps<TData extends object, TFilters extends FiltersState = Record
148
148
 
149
149
  /** Отключение тулбара */
150
150
  suppressToolbar?: boolean;
151
+ /** Отключение хедера таблицы */
152
+ suppressHeader?: boolean;
151
153
  /** Отключение поиска */
152
154
  suppressSearch?: boolean;
153
155
  /** Список действия для массовых операций */