@cloud-ru/uikit-product-mobile-table 0.16.3 → 1.0.1-preview-b95fca4e.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 +22 -11
- package/dist/cjs/components/AdaptiveServerTable/AdaptiveServerTable.js +7 -6
- package/dist/{esm/components → cjs/components/AdaptiveServerTable}/constants.d.ts +0 -1
- package/dist/cjs/components/{constants.js → AdaptiveServerTable/constants.js} +1 -2
- package/dist/cjs/components/{utils.d.ts → AdaptiveServerTable/utils.d.ts} +0 -2
- package/dist/cjs/components/{utils.js → AdaptiveServerTable/utils.js} +1 -11
- package/dist/cjs/components/MobileTable/MobileTable.d.ts +7 -0
- package/dist/cjs/components/{MobileTable.js → MobileTable/MobileTable.js} +33 -10
- package/dist/cjs/components/MobileTable/hooks/index.d.ts +2 -0
- package/dist/cjs/components/MobileTable/hooks/index.js +18 -0
- package/dist/cjs/components/MobileTable/hooks/useFilters/index.d.ts +1 -0
- package/dist/cjs/components/MobileTable/hooks/useFilters/index.js +17 -0
- package/dist/cjs/components/MobileTable/hooks/useFilters/useFilters.d.ts +78 -0
- package/dist/cjs/components/MobileTable/hooks/useFilters/useFilters.js +31 -0
- package/dist/cjs/components/MobileTable/hooks/useFilters/utils/getInitialColumnsFiltersOpenValue.d.ts +2 -0
- package/dist/cjs/components/MobileTable/hooks/useFilters/utils/getInitialColumnsFiltersOpenValue.js +11 -0
- package/dist/cjs/components/MobileTable/hooks/useFilters/utils/index.d.ts +1 -0
- package/dist/cjs/components/MobileTable/hooks/useFilters/utils/index.js +17 -0
- package/dist/cjs/components/{hooks.d.ts → MobileTable/hooks/useLoadingTable.d.ts} +0 -8
- package/dist/cjs/components/{hooks.js → MobileTable/hooks/useLoadingTable.js} +1 -15
- package/dist/cjs/components/MobileTable/index.d.ts +3 -0
- package/dist/cjs/components/MobileTable/index.js +21 -0
- package/dist/cjs/components/MobileTable/types.d.ts +11 -0
- package/dist/cjs/components/MobileTable/types.js +2 -0
- package/dist/cjs/components/MobileTable/utils/fuzzyFilter.d.ts +2 -0
- package/dist/cjs/components/MobileTable/utils/fuzzyFilter.js +13 -0
- package/dist/cjs/components/MobileTable/utils/index.d.ts +2 -0
- package/dist/cjs/components/MobileTable/utils/index.js +18 -0
- package/dist/cjs/components/MobileTable/utils/saveTableState/getPersistedStateValidator.d.ts +4 -0
- package/dist/cjs/components/MobileTable/utils/saveTableState/getPersistedStateValidator.js +13 -0
- package/dist/cjs/components/MobileTable/utils/saveTableState/index.d.ts +3 -0
- package/dist/cjs/components/MobileTable/utils/saveTableState/index.js +19 -0
- package/dist/cjs/components/MobileTable/utils/saveTableState/mappers.d.ts +18 -0
- package/dist/cjs/components/MobileTable/utils/saveTableState/mappers.js +45 -0
- package/dist/cjs/components/MobileTable/utils/saveTableState/validators.d.ts +5 -0
- package/dist/cjs/components/MobileTable/utils/saveTableState/validators.js +13 -0
- package/dist/cjs/constants.d.ts +1 -0
- package/dist/cjs/constants.js +2 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/esm/components/AdaptiveServerTable/AdaptiveServerTable.js +5 -4
- package/dist/{cjs/components → esm/components/AdaptiveServerTable}/constants.d.ts +0 -1
- package/dist/esm/components/{constants.js → AdaptiveServerTable/constants.js} +0 -1
- package/dist/esm/components/{utils.d.ts → AdaptiveServerTable/utils.d.ts} +0 -2
- package/dist/esm/components/AdaptiveServerTable/utils.js +5 -0
- package/dist/esm/components/MobileTable/MobileTable.d.ts +7 -0
- package/dist/esm/components/{MobileTable.js → MobileTable/MobileTable.js} +33 -10
- package/dist/esm/components/MobileTable/hooks/index.d.ts +2 -0
- package/dist/esm/components/MobileTable/hooks/index.js +2 -0
- package/dist/esm/components/MobileTable/hooks/useFilters/index.d.ts +1 -0
- package/dist/esm/components/MobileTable/hooks/useFilters/index.js +1 -0
- package/dist/esm/components/MobileTable/hooks/useFilters/useFilters.d.ts +78 -0
- package/dist/esm/components/MobileTable/hooks/useFilters/useFilters.js +28 -0
- package/dist/esm/components/MobileTable/hooks/useFilters/utils/getInitialColumnsFiltersOpenValue.d.ts +2 -0
- package/dist/esm/components/MobileTable/hooks/useFilters/utils/getInitialColumnsFiltersOpenValue.js +8 -0
- package/dist/esm/components/MobileTable/hooks/useFilters/utils/index.d.ts +1 -0
- package/dist/esm/components/MobileTable/hooks/useFilters/utils/index.js +1 -0
- package/dist/esm/components/{hooks.d.ts → MobileTable/hooks/useLoadingTable.d.ts} +0 -8
- package/dist/esm/components/MobileTable/hooks/useLoadingTable.js +17 -0
- package/dist/esm/components/MobileTable/index.d.ts +3 -0
- package/dist/esm/components/MobileTable/index.js +3 -0
- package/dist/esm/components/MobileTable/types.d.ts +11 -0
- package/dist/esm/components/MobileTable/types.js +1 -0
- package/dist/esm/components/MobileTable/utils/fuzzyFilter.d.ts +2 -0
- package/dist/esm/components/{utils.js → MobileTable/utils/fuzzyFilter.js} +0 -5
- package/dist/esm/components/MobileTable/utils/index.d.ts +2 -0
- package/dist/esm/components/MobileTable/utils/index.js +2 -0
- package/dist/esm/components/MobileTable/utils/saveTableState/getPersistedStateValidator.d.ts +4 -0
- package/dist/esm/components/MobileTable/utils/saveTableState/getPersistedStateValidator.js +9 -0
- package/dist/esm/components/MobileTable/utils/saveTableState/index.d.ts +3 -0
- package/dist/esm/components/MobileTable/utils/saveTableState/index.js +3 -0
- package/dist/esm/components/MobileTable/utils/saveTableState/mappers.d.ts +18 -0
- package/dist/esm/components/MobileTable/utils/saveTableState/mappers.js +37 -0
- package/dist/esm/components/MobileTable/utils/saveTableState/validators.d.ts +5 -0
- package/dist/esm/components/MobileTable/utils/saveTableState/validators.js +7 -0
- package/dist/esm/constants.d.ts +1 -0
- package/dist/esm/constants.js +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/package.json +12 -9
- package/src/components/AdaptiveServerTable/AdaptiveServerTable.tsx +5 -4
- package/src/components/{constants.ts → AdaptiveServerTable/constants.ts} +0 -1
- package/src/components/AdaptiveServerTable/utils.ts +12 -0
- package/src/components/{MobileTable.tsx → MobileTable/MobileTable.tsx} +50 -55
- package/src/components/MobileTable/hooks/index.ts +2 -0
- package/src/components/MobileTable/hooks/useFilters/index.ts +1 -0
- package/src/components/MobileTable/hooks/useFilters/useFilters.ts +57 -0
- package/src/components/MobileTable/hooks/useFilters/utils/getInitialColumnsFiltersOpenValue.ts +13 -0
- package/src/components/MobileTable/hooks/useFilters/utils/index.ts +1 -0
- package/src/components/{hooks.tsx → MobileTable/hooks/useLoadingTable.tsx} +1 -22
- package/src/components/MobileTable/index.ts +3 -0
- package/src/components/{styles.module.scss → MobileTable/styles.module.scss} +1 -1
- package/src/components/MobileTable/types.ts +44 -0
- package/src/components/{utils.ts → MobileTable/utils/fuzzyFilter.ts} +0 -12
- package/src/components/MobileTable/utils/index.ts +2 -0
- package/src/components/MobileTable/utils/saveTableState/getPersistedStateValidator.ts +21 -0
- package/src/components/MobileTable/utils/saveTableState/index.ts +3 -0
- package/src/components/MobileTable/utils/saveTableState/mappers.ts +62 -0
- package/src/components/MobileTable/utils/saveTableState/validators.ts +21 -0
- package/src/constants.ts +2 -0
- package/src/helperComponents/ColumnsSettings/ColumnsSettings.tsx +1 -0
- package/src/helperComponents/RowActionsCell/styles.module.scss +1 -1
- package/src/helperComponents/TableCard/styles.module.scss +1 -1
- package/src/helperComponents/TableEmptyState/styles.module.scss +1 -1
- package/src/helperComponents/TablePagination/styles.module.scss +1 -1
- package/src/helperComponents/TableSorting/styles.module.scss +1 -1
- package/src/index.ts +1 -0
- package/dist/cjs/components/MobileTable.d.ts +0 -13
- package/dist/esm/components/MobileTable.d.ts +0 -13
- package/dist/esm/components/hooks.js +0 -30
- /package/dist/cjs/components/{styles.module.css → MobileTable/styles.module.css} +0 -0
- /package/dist/esm/components/{styles.module.css → MobileTable/styles.module.css} +0 -0
|
@@ -4,6 +4,7 @@ import { FunctionSettingsSVG } from '@snack-uikit/icons';
|
|
|
4
4
|
import { GroupSelectItemProps } from '@snack-uikit/list';
|
|
5
5
|
|
|
6
6
|
import styles from './styles.module.scss';
|
|
7
|
+
|
|
7
8
|
export type ColumnsSettingsProps = {
|
|
8
9
|
enabledColumns: string[];
|
|
9
10
|
setEnabledColumns(enabledColumns: string[]): void;
|
package/src/index.ts
CHANGED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { FiltersState, MobileChipChoiceRowProps } from '@cloud-ru/uikit-product-mobile-chips';
|
|
2
|
-
import { WithSupportProps } from '@cloud-ru/uikit-product-utils';
|
|
3
|
-
import { TableProps } from '@snack-uikit/table';
|
|
4
|
-
export type MobileTableProps<TData extends object, TFilters extends FiltersState = Record<string, unknown>> = Pick<TableProps<TData, TFilters>, 'data' | 'columnDefinitions' | 'suppressPagination' | 'suppressToolbar' | 'suppressSearch' | 'search' | 'onRefresh' | 'moreActions' | 'className' | 'enableFuzzySearch' | 'loading' | 'dataError' | 'dataFiltered' | 'noDataState' | 'noResultsState' | 'errorDataState' | 'sorting' | 'pagination' | 'pageCount' | 'manualFiltering' | 'manualPagination' | 'manualSorting' | 'getRowId' | 'rowSelection' | 'bulkActions' | 'columnsSettings' | 'savedState' | 'autoResetPageIndex' | 'toolbarAfter'> & WithSupportProps<{
|
|
5
|
-
headlineId?: string;
|
|
6
|
-
headerBackground?: 'default' | '1-level' | '2-level';
|
|
7
|
-
columnFilters?: MobileChipChoiceRowProps<FiltersState>;
|
|
8
|
-
}>;
|
|
9
|
-
export declare function MobileTable<TData extends object, TFilters extends FiltersState = Record<string, unknown>>({ data, columnDefinitions, headlineId, suppressPagination, suppressToolbar, suppressSearch, enableFuzzySearch, search, onRefresh, toolbarAfter, moreActions, columnFilters, className, headerBackground, noDataState, noResultsState, errorDataState, loading, dataError, dataFiltered, pagination: paginationProp, pageCount, sorting: sortingProp, manualSorting, manualPagination, manualFiltering, autoResetPageIndex, getRowId, rowSelection: rowSelectionProp, bulkActions: bulkActionsProp, columnsSettings: columnsSettingsProp, savedState, ...rest }: MobileTableProps<TData, TFilters>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
export declare namespace MobileTable {
|
|
11
|
-
var getRowActionsColumnDef: typeof import("../helperComponents").getRowActionsColumnDef;
|
|
12
|
-
var getStatusColumnDef: typeof import("../helperComponents").getStatusColumnDef;
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { FiltersState, MobileChipChoiceRowProps } from '@cloud-ru/uikit-product-mobile-chips';
|
|
2
|
-
import { WithSupportProps } from '@cloud-ru/uikit-product-utils';
|
|
3
|
-
import { TableProps } from '@snack-uikit/table';
|
|
4
|
-
export type MobileTableProps<TData extends object, TFilters extends FiltersState = Record<string, unknown>> = Pick<TableProps<TData, TFilters>, 'data' | 'columnDefinitions' | 'suppressPagination' | 'suppressToolbar' | 'suppressSearch' | 'search' | 'onRefresh' | 'moreActions' | 'className' | 'enableFuzzySearch' | 'loading' | 'dataError' | 'dataFiltered' | 'noDataState' | 'noResultsState' | 'errorDataState' | 'sorting' | 'pagination' | 'pageCount' | 'manualFiltering' | 'manualPagination' | 'manualSorting' | 'getRowId' | 'rowSelection' | 'bulkActions' | 'columnsSettings' | 'savedState' | 'autoResetPageIndex' | 'toolbarAfter'> & WithSupportProps<{
|
|
5
|
-
headlineId?: string;
|
|
6
|
-
headerBackground?: 'default' | '1-level' | '2-level';
|
|
7
|
-
columnFilters?: MobileChipChoiceRowProps<FiltersState>;
|
|
8
|
-
}>;
|
|
9
|
-
export declare function MobileTable<TData extends object, TFilters extends FiltersState = Record<string, unknown>>({ data, columnDefinitions, headlineId, suppressPagination, suppressToolbar, suppressSearch, enableFuzzySearch, search, onRefresh, toolbarAfter, moreActions, columnFilters, className, headerBackground, noDataState, noResultsState, errorDataState, loading, dataError, dataFiltered, pagination: paginationProp, pageCount, sorting: sortingProp, manualSorting, manualPagination, manualFiltering, autoResetPageIndex, getRowId, rowSelection: rowSelectionProp, bulkActions: bulkActionsProp, columnsSettings: columnsSettingsProp, savedState, ...rest }: MobileTableProps<TData, TFilters>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
export declare namespace MobileTable {
|
|
11
|
-
var getRowActionsColumnDef: typeof import("../helperComponents").getRowActionsColumnDef;
|
|
12
|
-
var getStatusColumnDef: typeof import("../helperComponents").getStatusColumnDef;
|
|
13
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { getCoreRowModel, useReactTable } from '@tanstack/react-table';
|
|
3
|
-
import { useMemo } from 'react';
|
|
4
|
-
import { useUncontrolledProp } from 'uncontrollable';
|
|
5
|
-
import { SkeletonText } from '@snack-uikit/skeleton';
|
|
6
|
-
import { ROW_ACTIONS_COLUMN_ID } from '../constants';
|
|
7
|
-
export function useStateControl(control, defaultState) {
|
|
8
|
-
var _a, _b;
|
|
9
|
-
const [state, onStateChange] = useUncontrolledProp(control === null || control === void 0 ? void 0 : control.state, (_b = (_a = control === null || control === void 0 ? void 0 : control.state) !== null && _a !== void 0 ? _a : control === null || control === void 0 ? void 0 : control.initialState) !== null && _b !== void 0 ? _b : defaultState, (controlState) => {
|
|
10
|
-
var _a;
|
|
11
|
-
const newState = typeof controlState === 'function' ? controlState(state) : controlState;
|
|
12
|
-
(_a = control === null || control === void 0 ? void 0 : control.onChange) === null || _a === void 0 ? void 0 : _a.call(control, newState);
|
|
13
|
-
});
|
|
14
|
-
return {
|
|
15
|
-
state,
|
|
16
|
-
onStateChange,
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
export function useLoadingTable({ pageSize, columnDefinitions, }) {
|
|
20
|
-
const data = useMemo(() => (Array.from({ length: pageSize }).map(() => ({})) || []), [pageSize]);
|
|
21
|
-
const columns = useMemo(() => columnDefinitions
|
|
22
|
-
.filter(column => column.id !== ROW_ACTIONS_COLUMN_ID)
|
|
23
|
-
.map(column => (Object.assign(Object.assign({}, column), { cell: () => _jsx(SkeletonText, { lines: 1, width: '100%' }) }))), [columnDefinitions]);
|
|
24
|
-
const loadingTable = useReactTable({
|
|
25
|
-
data,
|
|
26
|
-
columns,
|
|
27
|
-
getCoreRowModel: getCoreRowModel(),
|
|
28
|
-
});
|
|
29
|
-
return { loadingTable };
|
|
30
|
-
}
|
|
File without changes
|
|
File without changes
|