@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.
Files changed (112) hide show
  1. package/CHANGELOG.md +22 -11
  2. package/dist/cjs/components/AdaptiveServerTable/AdaptiveServerTable.js +7 -6
  3. package/dist/{esm/components → cjs/components/AdaptiveServerTable}/constants.d.ts +0 -1
  4. package/dist/cjs/components/{constants.js → AdaptiveServerTable/constants.js} +1 -2
  5. package/dist/cjs/components/{utils.d.ts → AdaptiveServerTable/utils.d.ts} +0 -2
  6. package/dist/cjs/components/{utils.js → AdaptiveServerTable/utils.js} +1 -11
  7. package/dist/cjs/components/MobileTable/MobileTable.d.ts +7 -0
  8. package/dist/cjs/components/{MobileTable.js → MobileTable/MobileTable.js} +33 -10
  9. package/dist/cjs/components/MobileTable/hooks/index.d.ts +2 -0
  10. package/dist/cjs/components/MobileTable/hooks/index.js +18 -0
  11. package/dist/cjs/components/MobileTable/hooks/useFilters/index.d.ts +1 -0
  12. package/dist/cjs/components/MobileTable/hooks/useFilters/index.js +17 -0
  13. package/dist/cjs/components/MobileTable/hooks/useFilters/useFilters.d.ts +78 -0
  14. package/dist/cjs/components/MobileTable/hooks/useFilters/useFilters.js +31 -0
  15. package/dist/cjs/components/MobileTable/hooks/useFilters/utils/getInitialColumnsFiltersOpenValue.d.ts +2 -0
  16. package/dist/cjs/components/MobileTable/hooks/useFilters/utils/getInitialColumnsFiltersOpenValue.js +11 -0
  17. package/dist/cjs/components/MobileTable/hooks/useFilters/utils/index.d.ts +1 -0
  18. package/dist/cjs/components/MobileTable/hooks/useFilters/utils/index.js +17 -0
  19. package/dist/cjs/components/{hooks.d.ts → MobileTable/hooks/useLoadingTable.d.ts} +0 -8
  20. package/dist/cjs/components/{hooks.js → MobileTable/hooks/useLoadingTable.js} +1 -15
  21. package/dist/cjs/components/MobileTable/index.d.ts +3 -0
  22. package/dist/cjs/components/MobileTable/index.js +21 -0
  23. package/dist/cjs/components/MobileTable/types.d.ts +11 -0
  24. package/dist/cjs/components/MobileTable/types.js +2 -0
  25. package/dist/cjs/components/MobileTable/utils/fuzzyFilter.d.ts +2 -0
  26. package/dist/cjs/components/MobileTable/utils/fuzzyFilter.js +13 -0
  27. package/dist/cjs/components/MobileTable/utils/index.d.ts +2 -0
  28. package/dist/cjs/components/MobileTable/utils/index.js +18 -0
  29. package/dist/cjs/components/MobileTable/utils/saveTableState/getPersistedStateValidator.d.ts +4 -0
  30. package/dist/cjs/components/MobileTable/utils/saveTableState/getPersistedStateValidator.js +13 -0
  31. package/dist/cjs/components/MobileTable/utils/saveTableState/index.d.ts +3 -0
  32. package/dist/cjs/components/MobileTable/utils/saveTableState/index.js +19 -0
  33. package/dist/cjs/components/MobileTable/utils/saveTableState/mappers.d.ts +18 -0
  34. package/dist/cjs/components/MobileTable/utils/saveTableState/mappers.js +45 -0
  35. package/dist/cjs/components/MobileTable/utils/saveTableState/validators.d.ts +5 -0
  36. package/dist/cjs/components/MobileTable/utils/saveTableState/validators.js +13 -0
  37. package/dist/cjs/constants.d.ts +1 -0
  38. package/dist/cjs/constants.js +2 -1
  39. package/dist/cjs/index.d.ts +1 -0
  40. package/dist/cjs/index.js +1 -0
  41. package/dist/esm/components/AdaptiveServerTable/AdaptiveServerTable.js +5 -4
  42. package/dist/{cjs/components → esm/components/AdaptiveServerTable}/constants.d.ts +0 -1
  43. package/dist/esm/components/{constants.js → AdaptiveServerTable/constants.js} +0 -1
  44. package/dist/esm/components/{utils.d.ts → AdaptiveServerTable/utils.d.ts} +0 -2
  45. package/dist/esm/components/AdaptiveServerTable/utils.js +5 -0
  46. package/dist/esm/components/MobileTable/MobileTable.d.ts +7 -0
  47. package/dist/esm/components/{MobileTable.js → MobileTable/MobileTable.js} +33 -10
  48. package/dist/esm/components/MobileTable/hooks/index.d.ts +2 -0
  49. package/dist/esm/components/MobileTable/hooks/index.js +2 -0
  50. package/dist/esm/components/MobileTable/hooks/useFilters/index.d.ts +1 -0
  51. package/dist/esm/components/MobileTable/hooks/useFilters/index.js +1 -0
  52. package/dist/esm/components/MobileTable/hooks/useFilters/useFilters.d.ts +78 -0
  53. package/dist/esm/components/MobileTable/hooks/useFilters/useFilters.js +28 -0
  54. package/dist/esm/components/MobileTable/hooks/useFilters/utils/getInitialColumnsFiltersOpenValue.d.ts +2 -0
  55. package/dist/esm/components/MobileTable/hooks/useFilters/utils/getInitialColumnsFiltersOpenValue.js +8 -0
  56. package/dist/esm/components/MobileTable/hooks/useFilters/utils/index.d.ts +1 -0
  57. package/dist/esm/components/MobileTable/hooks/useFilters/utils/index.js +1 -0
  58. package/dist/esm/components/{hooks.d.ts → MobileTable/hooks/useLoadingTable.d.ts} +0 -8
  59. package/dist/esm/components/MobileTable/hooks/useLoadingTable.js +17 -0
  60. package/dist/esm/components/MobileTable/index.d.ts +3 -0
  61. package/dist/esm/components/MobileTable/index.js +3 -0
  62. package/dist/esm/components/MobileTable/types.d.ts +11 -0
  63. package/dist/esm/components/MobileTable/types.js +1 -0
  64. package/dist/esm/components/MobileTable/utils/fuzzyFilter.d.ts +2 -0
  65. package/dist/esm/components/{utils.js → MobileTable/utils/fuzzyFilter.js} +0 -5
  66. package/dist/esm/components/MobileTable/utils/index.d.ts +2 -0
  67. package/dist/esm/components/MobileTable/utils/index.js +2 -0
  68. package/dist/esm/components/MobileTable/utils/saveTableState/getPersistedStateValidator.d.ts +4 -0
  69. package/dist/esm/components/MobileTable/utils/saveTableState/getPersistedStateValidator.js +9 -0
  70. package/dist/esm/components/MobileTable/utils/saveTableState/index.d.ts +3 -0
  71. package/dist/esm/components/MobileTable/utils/saveTableState/index.js +3 -0
  72. package/dist/esm/components/MobileTable/utils/saveTableState/mappers.d.ts +18 -0
  73. package/dist/esm/components/MobileTable/utils/saveTableState/mappers.js +37 -0
  74. package/dist/esm/components/MobileTable/utils/saveTableState/validators.d.ts +5 -0
  75. package/dist/esm/components/MobileTable/utils/saveTableState/validators.js +7 -0
  76. package/dist/esm/constants.d.ts +1 -0
  77. package/dist/esm/constants.js +1 -0
  78. package/dist/esm/index.d.ts +1 -0
  79. package/dist/esm/index.js +1 -0
  80. package/package.json +12 -9
  81. package/src/components/AdaptiveServerTable/AdaptiveServerTable.tsx +5 -4
  82. package/src/components/{constants.ts → AdaptiveServerTable/constants.ts} +0 -1
  83. package/src/components/AdaptiveServerTable/utils.ts +12 -0
  84. package/src/components/{MobileTable.tsx → MobileTable/MobileTable.tsx} +50 -55
  85. package/src/components/MobileTable/hooks/index.ts +2 -0
  86. package/src/components/MobileTable/hooks/useFilters/index.ts +1 -0
  87. package/src/components/MobileTable/hooks/useFilters/useFilters.ts +57 -0
  88. package/src/components/MobileTable/hooks/useFilters/utils/getInitialColumnsFiltersOpenValue.ts +13 -0
  89. package/src/components/MobileTable/hooks/useFilters/utils/index.ts +1 -0
  90. package/src/components/{hooks.tsx → MobileTable/hooks/useLoadingTable.tsx} +1 -22
  91. package/src/components/MobileTable/index.ts +3 -0
  92. package/src/components/{styles.module.scss → MobileTable/styles.module.scss} +1 -1
  93. package/src/components/MobileTable/types.ts +44 -0
  94. package/src/components/{utils.ts → MobileTable/utils/fuzzyFilter.ts} +0 -12
  95. package/src/components/MobileTable/utils/index.ts +2 -0
  96. package/src/components/MobileTable/utils/saveTableState/getPersistedStateValidator.ts +21 -0
  97. package/src/components/MobileTable/utils/saveTableState/index.ts +3 -0
  98. package/src/components/MobileTable/utils/saveTableState/mappers.ts +62 -0
  99. package/src/components/MobileTable/utils/saveTableState/validators.ts +21 -0
  100. package/src/constants.ts +2 -0
  101. package/src/helperComponents/ColumnsSettings/ColumnsSettings.tsx +1 -0
  102. package/src/helperComponents/RowActionsCell/styles.module.scss +1 -1
  103. package/src/helperComponents/TableCard/styles.module.scss +1 -1
  104. package/src/helperComponents/TableEmptyState/styles.module.scss +1 -1
  105. package/src/helperComponents/TablePagination/styles.module.scss +1 -1
  106. package/src/helperComponents/TableSorting/styles.module.scss +1 -1
  107. package/src/index.ts +1 -0
  108. package/dist/cjs/components/MobileTable.d.ts +0 -13
  109. package/dist/esm/components/MobileTable.d.ts +0 -13
  110. package/dist/esm/components/hooks.js +0 -30
  111. /package/dist/cjs/components/{styles.module.css → MobileTable/styles.module.css} +0 -0
  112. /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;
@@ -1,4 +1,4 @@
1
- @use '@sbercloud/figma-tokens-cloud-platform/build/scss/components/styles-tokens-table';
1
+ @use '@cloud-ru/figma-tokens-cloud-platform/build/scss/components/styles-tokens-table';
2
2
 
3
3
  .rowActionsCell {
4
4
  position: relative;
@@ -1,4 +1,4 @@
1
- @use '@sbercloud/figma-tokens-cloud-platform/build/scss/styles-theme-variables';
1
+ @use '@cloud-ru/figma-tokens-cloud-platform/build/scss/styles-theme-variables';
2
2
 
3
3
  .selectionController {
4
4
  position: absolute;
@@ -1,4 +1,4 @@
1
- @use '@sbercloud/figma-tokens-cloud-platform/build/scss/components/styles-tokens-table';
1
+ @use '@cloud-ru/figma-tokens-cloud-platform/build/scss/components/styles-tokens-table';
2
2
 
3
3
  .tableEmptyStateWrapper {
4
4
  display: flex;
@@ -1,4 +1,4 @@
1
- @use '@sbercloud/figma-tokens-cloud-platform/build/scss/styles-theme-variables';
1
+ @use '@cloud-ru/figma-tokens-cloud-platform/build/scss/styles-theme-variables';
2
2
 
3
3
  .pagination {
4
4
  display: flex;
@@ -1,4 +1,4 @@
1
- @use '@sbercloud/figma-tokens-cloud-platform/build/scss/styles-theme-variables' as stv;
1
+ @use '@cloud-ru/figma-tokens-cloud-platform/build/scss/styles-theme-variables' as stv;
2
2
 
3
3
  .clearSortItem {
4
4
  &[data-disabled='true'] {
package/src/index.ts CHANGED
@@ -1 +1,2 @@
1
1
  export * from './components';
2
+ export * from './helperComponents';
@@ -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
- }