@reltio/components 1.4.2194 → 1.4.2195

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.
@@ -0,0 +1,21 @@
1
+ import { SortingField } from '@reltio/mdm-sdk';
2
+ import { ColumnData, ColumnSize } from '../../types/basicTable';
3
+ type UseTableColumnsProps = {
4
+ defaultColumns: string[];
5
+ columns: ColumnSize[];
6
+ allColumnsData: ColumnData[];
7
+ onChangeColumns: (columns: {
8
+ id: string;
9
+ size?: number;
10
+ }[]) => void;
11
+ };
12
+ export declare const useTableColumns: ({ defaultColumns, columns, allColumnsData, onChangeColumns }: UseTableColumnsProps) => {
13
+ handleChangeColumns: (newColumns: string[]) => void;
14
+ handleReorderingColumn: (oldPositionId: string, newPositionId: string) => void;
15
+ handleSorting: (field: string) => void;
16
+ visibleColumnIds: string[];
17
+ visibleColumnsData: ColumnData[];
18
+ sorting: SortingField;
19
+ handleChangeColumnsSize: (newColumnsSize: ColumnSize[]) => void;
20
+ };
21
+ export {};
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.useTableColumns = void 0;
15
+ var ramda_1 = require("ramda");
16
+ var react_1 = require("react");
17
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
18
+ var useTableColumns = function (_a) {
19
+ var defaultColumns = _a.defaultColumns, columns = _a.columns, allColumnsData = _a.allColumnsData, onChangeColumns = _a.onChangeColumns;
20
+ var _b = (0, react_1.useState)(), sorting = _b[0], setSorting = _b[1];
21
+ var _c = (0, react_1.useState)([]), visibleColumnsData = _c[0], setVisibleColumnsData = _c[1];
22
+ var visibleColumnIds = (0, react_1.useMemo)(function () { return visibleColumnsData.map(function (_a) {
23
+ var id = _a.id;
24
+ return id;
25
+ }); }, [visibleColumnsData]);
26
+ (0, react_1.useEffect)(function () {
27
+ var allColumns = (0, ramda_1.isEmpty)(columns) ? defaultColumns.map(function (id) { return ({ id: id, size: undefined }); }) : columns;
28
+ var newVisibleColumnsData = allColumns.reduce(function (columnsData, _a, index) {
29
+ var id = _a.id, size = _a.size;
30
+ var columnData = allColumnsData.find((0, ramda_1.propEq)('id', id));
31
+ if (columnData) {
32
+ columnsData.push(__assign(__assign(__assign({}, columnData), { autoResize: size ? false : index !== 0 }), (size ? { size: size } : {})));
33
+ }
34
+ return columnsData;
35
+ }, []);
36
+ setVisibleColumnsData(newVisibleColumnsData);
37
+ }, [columns, allColumnsData, defaultColumns]);
38
+ var handleChangeColumns = (0, react_1.useCallback)(function (newColumns) {
39
+ onChangeColumns(newColumns.map(function (column) {
40
+ var visibleColumnData = visibleColumnsData.find((0, ramda_1.propEq)('id', column));
41
+ var size = visibleColumnData === null || visibleColumnData === void 0 ? void 0 : visibleColumnData.size;
42
+ var autoResize = visibleColumnData === null || visibleColumnData === void 0 ? void 0 : visibleColumnData.autoResize;
43
+ return __assign({ id: column }, (size && !autoResize ? { size: size } : {}));
44
+ }));
45
+ }, [onChangeColumns, visibleColumnsData]);
46
+ var handleReorderingColumn = (0, react_1.useCallback)(function (oldPositionId, newPositionId) {
47
+ var oldPosition = columns.map(function (_a) {
48
+ var id = _a.id;
49
+ return id;
50
+ }).indexOf(oldPositionId);
51
+ var newPosition = columns.map(function (_a) {
52
+ var id = _a.id;
53
+ return id;
54
+ }).indexOf(newPositionId);
55
+ handleChangeColumns((0, ramda_1.move)(oldPosition, newPosition, columns.map(function (_a) {
56
+ var id = _a.id;
57
+ return id;
58
+ })));
59
+ }, [columns, handleChangeColumns]);
60
+ var handleChangeColumnsSize = (0, react_1.useCallback)(function (newColumnsSize) {
61
+ var oldColumnsSize = (0, ramda_1.project)(['id', 'size'], visibleColumnsData);
62
+ if ((0, ramda_1.symmetricDifference)(newColumnsSize, oldColumnsSize).length > 0) {
63
+ var newVisibleColumnsData = visibleColumnsData.map(function (column) {
64
+ var columnSize = newColumnsSize.find((0, ramda_1.propEq)('id', column.id));
65
+ return columnSize ? __assign(__assign({}, column), { size: columnSize.size }) : column;
66
+ });
67
+ setVisibleColumnsData(newVisibleColumnsData);
68
+ }
69
+ if (newColumnsSize.some((0, ramda_1.propEq)('manuallyChanged', true))) {
70
+ if ((0, ramda_1.isEmpty)(columns)) {
71
+ onChangeColumns(newColumnsSize.map(function (_a) {
72
+ var id = _a.id, size = _a.size, manuallyChanged = _a.manuallyChanged;
73
+ return (__assign({ id: id }, (manuallyChanged ? { size: size } : {})));
74
+ }));
75
+ }
76
+ else {
77
+ onChangeColumns(columns.map(function (column) {
78
+ var columnSize = newColumnsSize.find((0, ramda_1.propEq)('id', column.id));
79
+ return (columnSize === null || columnSize === void 0 ? void 0 : columnSize.manuallyChanged) ? __assign(__assign({}, column), { size: columnSize.size }) : column;
80
+ }));
81
+ }
82
+ }
83
+ }, [columns, onChangeColumns, visibleColumnsData]);
84
+ var handleSorting = (0, react_1.useCallback)(function (field) {
85
+ setSorting({
86
+ field: field,
87
+ order: (sorting === null || sorting === void 0 ? void 0 : sorting.field) === field ? (0, mdm_sdk_1.toggleSortOrder)(sorting.order) : mdm_sdk_1.SortOrder.asc
88
+ });
89
+ }, [sorting === null || sorting === void 0 ? void 0 : sorting.field, sorting === null || sorting === void 0 ? void 0 : sorting.order]);
90
+ return {
91
+ handleChangeColumns: handleChangeColumns,
92
+ handleReorderingColumn: handleReorderingColumn,
93
+ handleSorting: handleSorting,
94
+ visibleColumnIds: visibleColumnIds,
95
+ visibleColumnsData: visibleColumnsData,
96
+ sorting: sorting,
97
+ handleChangeColumnsSize: handleChangeColumnsSize
98
+ };
99
+ };
100
+ exports.useTableColumns = useTableColumns;
package/cjs/index.d.ts CHANGED
@@ -293,6 +293,7 @@ export { useFilterAutoFocus } from './hooks/useFilterAutoFocus';
293
293
  export { useDynamicYAxisWidth } from './hooks/useDynamicYAxisWidth';
294
294
  export { useDndBasicTableScrollModifier } from './hooks/useDndBasicTableScrollModifier';
295
295
  export { useSegmentsLoader } from './hooks/useSegmentsLoader';
296
+ export { useTableColumns } from './hooks/useTableColumns';
296
297
  export { buildColumnsFilter, buildColumnsSizeById, columnFilterToMdmFilter, defaultGetRowCellHeight, defaultRenderRowCell } from './helpers/basicTable';
297
298
  export { enrichDataWithPercents } from './helpers/charts';
298
299
  export { showDefaultErrorMessage, showErrorMessage } from './helpers/errors';
package/cjs/index.js CHANGED
@@ -20,8 +20,8 @@ exports.LoadingSpinner = exports.Link = exports.LinearLoadIndicator = exports.Im
20
20
  exports.DefaultHeadCellRendererWithTooltip = exports.LazyRenderer = exports.MetadataTypesSelector = exports.DateRangeSelector = exports.UpSetChart = exports.GaugeChart = exports.RelationEditor = exports.ReltioMap = exports.Marginator = exports.LightArrowTooltip = exports.ScrollableTabs = exports.VirtualGroupedList = exports.ViewMoreToggle = exports.VerticalHeadingsTable = exports.VerticalDivider = exports.AttributeTitle = exports.Spacer = exports.SimpleDropDownSelector = exports.SidePanelContentHeader = exports.SidePanel = exports.SidePanelEmptyState = exports.SideButtonsPanel = exports.SelectorWithOnlyOptionAutoSelect = exports.SelectionPopup = exports.WhiteSearchInput = exports.SearchInput = exports.ProfileResizablePanes = exports.ResizablePanes = exports.ReltioGridLayout = exports.RCTreeSwitchRenderer = exports.RCTreeLevelLines = exports.RCTree = exports.reactSortableTreeHelpers = exports.ReactSortableTree = exports.MultiSelect = exports.QueryBuilderRowsGroup = exports.QueryBuilderRow = exports.ProfileCard = exports.ProfileBand = exports.PotentialMatchReviewCard = exports.PopupWithArrow = exports.Popper = exports.MultipleInput = exports.ModeSwitcherSelect = exports.ModeSwitcher = exports.TransitiveMatchBlock = exports.SimpleMatchRulesBuilder = exports.SimpleMatchRulesBlock = exports.SimpleMatchRules = exports.MatchRulesBlock = void 0;
21
21
  exports.SandboxAPIContext = exports.RelationContext = exports.EntityContext = exports.RelatedObjectUrisContext = exports.WorkflowTasksContext = exports.useEntityLoadingIndication = exports.EntityLoadingIndicationProvider = exports.EntityMarkerContext = exports.useAttributeExpanded = exports.ExpandedAttributesProvider = exports.useHighlightedCrosswalks = exports.useCrosswalkHighlight = exports.useCrosswalkFocus = exports.useCrosswalkColor = exports.CrosswalksDisplayProvider = exports.EntitiesMapContext = exports.IdContext = exports.ProfilePerspectiveViewContext = exports.usePerspectivesSettings = exports.PerspectivesSettingsContext = exports.PivotingAttributeContext = exports.UsersContext = exports.InitialCollaborationContextValue = exports.CollaborationContextProvider = exports.CollaborationContext = exports.BlockNavigationContext = exports.BlockImageGalleryDialogContext = exports.PopupBoundariesContext = exports.HistoryDiffContext = exports.AsyncMountContext = exports.MdmModuleProvider = exports.withColumnConfigurator = exports.withBlockNavigation = exports.withCollapseButton = exports.withTableContext = exports.withFilterAtBottom = exports.withPercents = exports.withContext = exports.withDateRangeSelector = exports.withDragHandle = exports.withAsyncMount = exports.withTooltip = exports.FacetContainer = exports.FacetsSelector = exports.FacetGroupTitle = exports.QuickFiltersEntityTypeFacet = exports.FacetGroup = exports.QuickFiltersFacetPanel = exports.AdvancedSearchFabButton = exports.QuickFiltersDrawer = void 0;
22
22
  exports.useUsers = exports.useSavedState = exports.useSafePromise = exports.useRunOnceAfterValueInitialization = exports.useRelationsLoader = exports.useRelationTypeSelector = exports.usePrevious = exports.useDidUpdateEffect = exports.useCommentsEntitiesMap = exports.useCollaboration = exports.useAsyncMount = exports.useAPI = exports.useActions = exports.useMatchesColumnsData = exports.useScrollToAttributeError = exports.ThemeProvider = exports.ProfileTablesContext = exports.HiddenAttributesContext = exports.BasicTableContext = exports.BasicTableRowCollapseContext = exports.useDeleteUnmaskedAttributeForRelation = exports.useUnmaskedAttributeValue = exports.useUnmaskAttributeValue = exports.useMaskAttributeValue = exports.MaskedAttributesProvider = exports.useReloadData = exports.ReloadDataProvider = exports.useAttributeValueConfigPermissions = exports.ConfigPermissionsContextProvider = exports.ConfigPermissionsContext = exports.useActionsHook = exports.ActionsHookProvider = exports.PageRequestsAbortingContext = exports.DependentLookupAutopopulationContext = exports.FeaturesContext = exports.LabelsContext = exports.UrlGeneratorsContext = exports.isHighlightedAttributeType = exports.isHighlightedErrorType = exports.ScrollType = exports.ScrollToElementProvider = exports.ScrollToElementContext = exports.SearchValueContext = exports.InterceptHandlersContext = exports.HighlightedValuesContext = exports.SnackbarContext = exports.SearchFiltersContext = exports.useReloadFacet = exports.ReloadFacetProvider = exports.useReloadAllFacets = void 0;
23
- exports.TestStylesProvider = exports.TestPerspectivesSettingsProvider = exports.getAttrPathFromColumnId = exports.getAttributeHeight = exports.getNestedPathByColumnId = exports.applyCompactValuesCountConstraint = exports.getAttributeSelectorItems = exports.mergeClasses = exports.isControlOrCommandPressed = exports.getValue = exports.getChecked = exports.showErrorMessage = exports.showDefaultErrorMessage = exports.enrichDataWithPercents = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = exports.columnFilterToMdmFilter = exports.buildColumnsSizeById = exports.buildColumnsFilter = exports.useSegmentsLoader = exports.useDndBasicTableScrollModifier = exports.useDynamicYAxisWidth = exports.useFilterAutoFocus = exports.useSegmentationRequest = exports.resolveMarkers = exports.useMarkers = exports.useMaskedAttribute = exports.useKeyboardNavigation = exports.useDynamicRowCellHeight = exports.useClickableStyle = exports.BasicTableCellRenderer = exports.useBasicTableCellRenderer = exports.useHiddenAttributes = exports.useSavedSearchesRequest = exports.useRequestDCRReview = exports.useAutoFocus = exports.useExpandInvalidRelations = exports.useLayoutResetter = exports.useIsMountedRef = exports.useSnackbar = exports.useSavedStateForEntityType = exports.useReadableSearchState = exports.useEditableConnection = exports.useCustomScripts = exports.useMarkAsNotMatchRequest = exports.useMergeAllRequest = exports.usePagingSimulator = exports.useMatchesLoader = exports.useConfigPermissions = exports.useWhyDidYouUpdate = void 0;
24
- exports.mockComputedStyles = exports.FakeMouseEvent = exports.rerenderWrapper = exports.mockElementSizes = exports.fixClicksOnResizablePanes = exports.mockBasicTableSizing = exports.getMuiIconsByName = exports.getMuiIconByName = exports.deepFreeze = exports.awaitMockPromises = void 0;
23
+ exports.TestPerspectivesSettingsProvider = exports.getAttrPathFromColumnId = exports.getAttributeHeight = exports.getNestedPathByColumnId = exports.applyCompactValuesCountConstraint = exports.getAttributeSelectorItems = exports.mergeClasses = exports.isControlOrCommandPressed = exports.getValue = exports.getChecked = exports.showErrorMessage = exports.showDefaultErrorMessage = exports.enrichDataWithPercents = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = exports.columnFilterToMdmFilter = exports.buildColumnsSizeById = exports.buildColumnsFilter = exports.useTableColumns = exports.useSegmentsLoader = exports.useDndBasicTableScrollModifier = exports.useDynamicYAxisWidth = exports.useFilterAutoFocus = exports.useSegmentationRequest = exports.resolveMarkers = exports.useMarkers = exports.useMaskedAttribute = exports.useKeyboardNavigation = exports.useDynamicRowCellHeight = exports.useClickableStyle = exports.BasicTableCellRenderer = exports.useBasicTableCellRenderer = exports.useHiddenAttributes = exports.useSavedSearchesRequest = exports.useRequestDCRReview = exports.useAutoFocus = exports.useExpandInvalidRelations = exports.useLayoutResetter = exports.useIsMountedRef = exports.useSnackbar = exports.useSavedStateForEntityType = exports.useReadableSearchState = exports.useEditableConnection = exports.useCustomScripts = exports.useMarkAsNotMatchRequest = exports.useMergeAllRequest = exports.usePagingSimulator = exports.useMatchesLoader = exports.useConfigPermissions = exports.useWhyDidYouUpdate = void 0;
24
+ exports.mockComputedStyles = exports.FakeMouseEvent = exports.rerenderWrapper = exports.mockElementSizes = exports.fixClicksOnResizablePanes = exports.mockBasicTableSizing = exports.getMuiIconsByName = exports.getMuiIconByName = exports.deepFreeze = exports.awaitMockPromises = exports.TestStylesProvider = void 0;
25
25
  // components
26
26
  var ActionButton_1 = require("./ActionButton");
27
27
  Object.defineProperty(exports, "ActionButton", { enumerable: true, get: function () { return ActionButton_1.ActionButton; } });
@@ -651,6 +651,8 @@ var useDndBasicTableScrollModifier_1 = require("./hooks/useDndBasicTableScrollMo
651
651
  Object.defineProperty(exports, "useDndBasicTableScrollModifier", { enumerable: true, get: function () { return useDndBasicTableScrollModifier_1.useDndBasicTableScrollModifier; } });
652
652
  var useSegmentsLoader_1 = require("./hooks/useSegmentsLoader");
653
653
  Object.defineProperty(exports, "useSegmentsLoader", { enumerable: true, get: function () { return useSegmentsLoader_1.useSegmentsLoader; } });
654
+ var useTableColumns_1 = require("./hooks/useTableColumns");
655
+ Object.defineProperty(exports, "useTableColumns", { enumerable: true, get: function () { return useTableColumns_1.useTableColumns; } });
654
656
  // helpers
655
657
  var basicTable_1 = require("./helpers/basicTable");
656
658
  Object.defineProperty(exports, "buildColumnsFilter", { enumerable: true, get: function () { return basicTable_1.buildColumnsFilter; } });
@@ -32,7 +32,7 @@ export type ColumnData = {
32
32
  };
33
33
  export type ColumnSize = {
34
34
  id: string;
35
- size: number;
35
+ size?: number;
36
36
  manuallyChanged?: boolean;
37
37
  };
38
38
  export type GroupedColumns<TColumnData = ColumnData> = {
@@ -0,0 +1,21 @@
1
+ import { SortingField } from '@reltio/mdm-sdk';
2
+ import { ColumnData, ColumnSize } from '../../types/basicTable';
3
+ type UseTableColumnsProps = {
4
+ defaultColumns: string[];
5
+ columns: ColumnSize[];
6
+ allColumnsData: ColumnData[];
7
+ onChangeColumns: (columns: {
8
+ id: string;
9
+ size?: number;
10
+ }[]) => void;
11
+ };
12
+ export declare const useTableColumns: ({ defaultColumns, columns, allColumnsData, onChangeColumns }: UseTableColumnsProps) => {
13
+ handleChangeColumns: (newColumns: string[]) => void;
14
+ handleReorderingColumn: (oldPositionId: string, newPositionId: string) => void;
15
+ handleSorting: (field: string) => void;
16
+ visibleColumnIds: string[];
17
+ visibleColumnsData: ColumnData[];
18
+ sorting: SortingField;
19
+ handleChangeColumnsSize: (newColumnsSize: ColumnSize[]) => void;
20
+ };
21
+ export {};
@@ -0,0 +1,96 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { isEmpty, move, propEq, project, symmetricDifference } from 'ramda';
13
+ import { useCallback, useEffect, useMemo, useState } from 'react';
14
+ import { SortOrder, toggleSortOrder } from '@reltio/mdm-sdk';
15
+ export var useTableColumns = function (_a) {
16
+ var defaultColumns = _a.defaultColumns, columns = _a.columns, allColumnsData = _a.allColumnsData, onChangeColumns = _a.onChangeColumns;
17
+ var _b = useState(), sorting = _b[0], setSorting = _b[1];
18
+ var _c = useState([]), visibleColumnsData = _c[0], setVisibleColumnsData = _c[1];
19
+ var visibleColumnIds = useMemo(function () { return visibleColumnsData.map(function (_a) {
20
+ var id = _a.id;
21
+ return id;
22
+ }); }, [visibleColumnsData]);
23
+ useEffect(function () {
24
+ var allColumns = isEmpty(columns) ? defaultColumns.map(function (id) { return ({ id: id, size: undefined }); }) : columns;
25
+ var newVisibleColumnsData = allColumns.reduce(function (columnsData, _a, index) {
26
+ var id = _a.id, size = _a.size;
27
+ var columnData = allColumnsData.find(propEq('id', id));
28
+ if (columnData) {
29
+ columnsData.push(__assign(__assign(__assign({}, columnData), { autoResize: size ? false : index !== 0 }), (size ? { size: size } : {})));
30
+ }
31
+ return columnsData;
32
+ }, []);
33
+ setVisibleColumnsData(newVisibleColumnsData);
34
+ }, [columns, allColumnsData, defaultColumns]);
35
+ var handleChangeColumns = useCallback(function (newColumns) {
36
+ onChangeColumns(newColumns.map(function (column) {
37
+ var visibleColumnData = visibleColumnsData.find(propEq('id', column));
38
+ var size = visibleColumnData === null || visibleColumnData === void 0 ? void 0 : visibleColumnData.size;
39
+ var autoResize = visibleColumnData === null || visibleColumnData === void 0 ? void 0 : visibleColumnData.autoResize;
40
+ return __assign({ id: column }, (size && !autoResize ? { size: size } : {}));
41
+ }));
42
+ }, [onChangeColumns, visibleColumnsData]);
43
+ var handleReorderingColumn = useCallback(function (oldPositionId, newPositionId) {
44
+ var oldPosition = columns.map(function (_a) {
45
+ var id = _a.id;
46
+ return id;
47
+ }).indexOf(oldPositionId);
48
+ var newPosition = columns.map(function (_a) {
49
+ var id = _a.id;
50
+ return id;
51
+ }).indexOf(newPositionId);
52
+ handleChangeColumns(move(oldPosition, newPosition, columns.map(function (_a) {
53
+ var id = _a.id;
54
+ return id;
55
+ })));
56
+ }, [columns, handleChangeColumns]);
57
+ var handleChangeColumnsSize = useCallback(function (newColumnsSize) {
58
+ var oldColumnsSize = project(['id', 'size'], visibleColumnsData);
59
+ if (symmetricDifference(newColumnsSize, oldColumnsSize).length > 0) {
60
+ var newVisibleColumnsData = visibleColumnsData.map(function (column) {
61
+ var columnSize = newColumnsSize.find(propEq('id', column.id));
62
+ return columnSize ? __assign(__assign({}, column), { size: columnSize.size }) : column;
63
+ });
64
+ setVisibleColumnsData(newVisibleColumnsData);
65
+ }
66
+ if (newColumnsSize.some(propEq('manuallyChanged', true))) {
67
+ if (isEmpty(columns)) {
68
+ onChangeColumns(newColumnsSize.map(function (_a) {
69
+ var id = _a.id, size = _a.size, manuallyChanged = _a.manuallyChanged;
70
+ return (__assign({ id: id }, (manuallyChanged ? { size: size } : {})));
71
+ }));
72
+ }
73
+ else {
74
+ onChangeColumns(columns.map(function (column) {
75
+ var columnSize = newColumnsSize.find(propEq('id', column.id));
76
+ return (columnSize === null || columnSize === void 0 ? void 0 : columnSize.manuallyChanged) ? __assign(__assign({}, column), { size: columnSize.size }) : column;
77
+ }));
78
+ }
79
+ }
80
+ }, [columns, onChangeColumns, visibleColumnsData]);
81
+ var handleSorting = useCallback(function (field) {
82
+ setSorting({
83
+ field: field,
84
+ order: (sorting === null || sorting === void 0 ? void 0 : sorting.field) === field ? toggleSortOrder(sorting.order) : SortOrder.asc
85
+ });
86
+ }, [sorting === null || sorting === void 0 ? void 0 : sorting.field, sorting === null || sorting === void 0 ? void 0 : sorting.order]);
87
+ return {
88
+ handleChangeColumns: handleChangeColumns,
89
+ handleReorderingColumn: handleReorderingColumn,
90
+ handleSorting: handleSorting,
91
+ visibleColumnIds: visibleColumnIds,
92
+ visibleColumnsData: visibleColumnsData,
93
+ sorting: sorting,
94
+ handleChangeColumnsSize: handleChangeColumnsSize
95
+ };
96
+ };
package/index.d.ts CHANGED
@@ -293,6 +293,7 @@ export { useFilterAutoFocus } from './hooks/useFilterAutoFocus';
293
293
  export { useDynamicYAxisWidth } from './hooks/useDynamicYAxisWidth';
294
294
  export { useDndBasicTableScrollModifier } from './hooks/useDndBasicTableScrollModifier';
295
295
  export { useSegmentsLoader } from './hooks/useSegmentsLoader';
296
+ export { useTableColumns } from './hooks/useTableColumns';
296
297
  export { buildColumnsFilter, buildColumnsSizeById, columnFilterToMdmFilter, defaultGetRowCellHeight, defaultRenderRowCell } from './helpers/basicTable';
297
298
  export { enrichDataWithPercents } from './helpers/charts';
298
299
  export { showDefaultErrorMessage, showErrorMessage } from './helpers/errors';
package/index.js CHANGED
@@ -296,6 +296,7 @@ export { useFilterAutoFocus } from './hooks/useFilterAutoFocus';
296
296
  export { useDynamicYAxisWidth } from './hooks/useDynamicYAxisWidth';
297
297
  export { useDndBasicTableScrollModifier } from './hooks/useDndBasicTableScrollModifier';
298
298
  export { useSegmentsLoader } from './hooks/useSegmentsLoader';
299
+ export { useTableColumns } from './hooks/useTableColumns';
299
300
  // helpers
300
301
  export { buildColumnsFilter, buildColumnsSizeById, columnFilterToMdmFilter, defaultGetRowCellHeight, defaultRenderRowCell } from './helpers/basicTable';
301
302
  export { enrichDataWithPercents } from './helpers/charts';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.2194",
3
+ "version": "1.4.2195",
4
4
  "license": "SEE LICENSE IN LICENSE FILE",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./index.js",
@@ -32,7 +32,7 @@ export type ColumnData = {
32
32
  };
33
33
  export type ColumnSize = {
34
34
  id: string;
35
- size: number;
35
+ size?: number;
36
36
  manuallyChanged?: boolean;
37
37
  };
38
38
  export type GroupedColumns<TColumnData = ColumnData> = {