@snack-uikit/table 0.35.4-preview-352c392a.0 → 0.35.4

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 (175) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/cjs/components/Table/Table.js +54 -94
  3. package/dist/cjs/components/Table/hooks/index.d.ts +3 -0
  4. package/dist/cjs/components/Table/hooks/index.js +4 -1
  5. package/dist/cjs/components/Table/hooks/useColumnOrderByDrag/index.d.ts +1 -0
  6. package/dist/cjs/components/Table/hooks/useColumnOrderByDrag/index.js +25 -0
  7. package/dist/cjs/components/Table/hooks/useColumnOrderByDrag/useColumnOrderByDrag.d.ts +16 -0
  8. package/dist/cjs/components/Table/hooks/{useColumnOrderByDrag.js → useColumnOrderByDrag/useColumnOrderByDrag.js} +27 -23
  9. package/dist/cjs/components/Table/hooks/useColumnOrderByDrag/utils/prepareInitialState.d.ts +4 -0
  10. package/dist/cjs/components/Table/hooks/useColumnOrderByDrag/utils/prepareInitialState.js +22 -0
  11. package/dist/cjs/components/Table/hooks/useColumnSettings/index.d.ts +1 -0
  12. package/dist/cjs/components/Table/hooks/useColumnSettings/index.js +25 -0
  13. package/dist/cjs/components/Table/hooks/useColumnSettings/useColumnSettings.d.ts +14 -0
  14. package/dist/cjs/components/Table/hooks/useColumnSettings/useColumnSettings.js +67 -0
  15. package/dist/cjs/components/Table/hooks/useColumnSettings/utils/getEnabledColumnsInitialState.d.ts +3 -0
  16. package/dist/cjs/components/Table/hooks/useColumnSettings/utils/getEnabledColumnsInitialState.js +22 -0
  17. package/dist/cjs/components/Table/hooks/useColumnSettings/utils/index.d.ts +5 -0
  18. package/dist/cjs/components/Table/hooks/useColumnSettings/utils/index.js +29 -0
  19. package/dist/cjs/components/Table/hooks/useColumnSettings/utils/isColumnEnabledInitially.d.ts +2 -0
  20. package/dist/cjs/components/Table/hooks/useColumnSettings/utils/isColumnEnabledInitially.js +13 -0
  21. package/dist/cjs/components/Table/hooks/useColumnSettings/utils/isColumnVisibilityConfigurable.d.ts +2 -0
  22. package/dist/cjs/components/Table/hooks/useColumnSettings/utils/isColumnVisibilityConfigurable.js +25 -0
  23. package/dist/cjs/components/Table/hooks/useColumnSettings/utils/isFilterableColumn.d.ts +2 -0
  24. package/dist/cjs/components/Table/hooks/useColumnSettings/utils/isFilterableColumn.js +10 -0
  25. package/dist/cjs/components/Table/hooks/useColumnSettings/utils/prepareColumnsSettings.d.ts +11 -0
  26. package/dist/cjs/components/Table/hooks/useColumnSettings/utils/prepareColumnsSettings.js +50 -0
  27. package/dist/cjs/components/Table/hooks/useFilters/index.d.ts +1 -0
  28. package/dist/cjs/components/Table/hooks/useFilters/index.js +25 -0
  29. package/dist/cjs/components/Table/hooks/useFilters/useFilters.d.ts +75 -0
  30. package/dist/cjs/components/Table/hooks/useFilters/useFilters.js +46 -0
  31. package/dist/cjs/components/Table/hooks/useFilters/utils/getInitialColumnsFiltersOpenValue.d.ts +2 -0
  32. package/dist/cjs/components/Table/hooks/useFilters/utils/getInitialColumnsFiltersOpenValue.js +12 -0
  33. package/dist/cjs/components/Table/hooks/useFilters/utils/index.d.ts +1 -0
  34. package/dist/cjs/components/Table/hooks/useFilters/utils/index.js +25 -0
  35. package/dist/cjs/components/Table/hooks/useSaveTableSettings/types.d.ts +2 -2
  36. package/dist/cjs/components/Table/hooks/useSaveTableSettings/useSaveTableSettings.d.ts +3 -3
  37. package/dist/cjs/components/Table/hooks/useSaveTableSettings/utils/parser.d.ts +1 -1
  38. package/dist/cjs/components/Table/hooks/useSaveTableSettings/vallidators.d.ts +1 -1
  39. package/dist/cjs/components/Table/utils/columnSize.d.ts +12 -0
  40. package/dist/cjs/components/Table/utils/columnSize.js +33 -0
  41. package/dist/cjs/components/Table/utils/getColumnIdentifier.d.ts +2 -0
  42. package/dist/cjs/components/Table/utils/getColumnIdentifier.js +13 -0
  43. package/dist/cjs/components/Table/utils/getColumnStyleVars.d.ts +4 -0
  44. package/dist/cjs/components/Table/utils/getColumnStyleVars.js +12 -0
  45. package/dist/cjs/components/Table/utils/getCurrentlyConfiguredHeaderWidth.d.ts +1 -0
  46. package/dist/cjs/components/Table/utils/getCurrentlyConfiguredHeaderWidth.js +24 -0
  47. package/dist/cjs/components/Table/utils/getPinnedGroups.d.ts +7 -0
  48. package/dist/cjs/components/Table/utils/getPinnedGroups.js +25 -0
  49. package/dist/cjs/components/Table/utils/getTableColumnsDefinitions.d.ts +10 -0
  50. package/dist/cjs/components/Table/utils/getTableColumnsDefinitions.js +23 -0
  51. package/dist/cjs/components/Table/utils/index.d.ts +8 -0
  52. package/dist/cjs/components/Table/utils/index.js +32 -0
  53. package/dist/cjs/components/Table/utils/isEveryArrayItemString.d.ts +1 -0
  54. package/dist/cjs/components/Table/utils/isEveryArrayItemString.js +8 -0
  55. package/dist/cjs/components/Table/utils/sortColumnDefinitions.d.ts +2 -0
  56. package/dist/cjs/components/Table/utils/sortColumnDefinitions.js +14 -0
  57. package/dist/cjs/constants.d.ts +6 -1
  58. package/dist/cjs/constants.js +8 -2
  59. package/dist/cjs/helperComponents/Cells/RowActionsCell/RowActionsCell.js +1 -1
  60. package/dist/cjs/helperComponents/Cells/SelectionCell/SelectionCell.js +1 -1
  61. package/dist/cjs/helperComponents/Cells/StatusCell/StatusCell.js +1 -1
  62. package/dist/cjs/helperComponents/Cells/index.d.ts +1 -0
  63. package/dist/cjs/helperComponents/Cells/index.js +2 -1
  64. package/dist/esm/components/Table/Table.js +43 -83
  65. package/dist/esm/components/Table/hooks/index.d.ts +3 -0
  66. package/dist/esm/components/Table/hooks/index.js +3 -0
  67. package/dist/esm/components/Table/hooks/useColumnOrderByDrag/index.d.ts +1 -0
  68. package/dist/esm/components/Table/hooks/useColumnOrderByDrag/index.js +1 -0
  69. package/dist/esm/components/Table/hooks/useColumnOrderByDrag/useColumnOrderByDrag.d.ts +16 -0
  70. package/dist/esm/components/Table/hooks/{useColumnOrderByDrag.js → useColumnOrderByDrag/useColumnOrderByDrag.js} +20 -23
  71. package/dist/esm/components/Table/hooks/useColumnOrderByDrag/utils/prepareInitialState.d.ts +4 -0
  72. package/dist/esm/components/Table/hooks/useColumnOrderByDrag/utils/prepareInitialState.js +16 -0
  73. package/dist/esm/components/Table/hooks/useColumnSettings/index.d.ts +1 -0
  74. package/dist/esm/components/Table/hooks/useColumnSettings/index.js +1 -0
  75. package/dist/esm/components/Table/hooks/useColumnSettings/useColumnSettings.d.ts +14 -0
  76. package/dist/esm/components/Table/hooks/useColumnSettings/useColumnSettings.js +50 -0
  77. package/dist/esm/components/Table/hooks/useColumnSettings/utils/getEnabledColumnsInitialState.d.ts +3 -0
  78. package/dist/esm/components/Table/hooks/useColumnSettings/utils/getEnabledColumnsInitialState.js +18 -0
  79. package/dist/esm/components/Table/hooks/useColumnSettings/utils/index.d.ts +5 -0
  80. package/dist/esm/components/Table/hooks/useColumnSettings/utils/index.js +5 -0
  81. package/dist/esm/components/Table/hooks/useColumnSettings/utils/isColumnEnabledInitially.d.ts +2 -0
  82. package/dist/esm/components/Table/hooks/useColumnSettings/utils/isColumnEnabledInitially.js +7 -0
  83. package/dist/esm/components/Table/hooks/useColumnSettings/utils/isColumnVisibilityConfigurable.d.ts +2 -0
  84. package/dist/esm/components/Table/hooks/useColumnSettings/utils/isColumnVisibilityConfigurable.js +17 -0
  85. package/dist/esm/components/Table/hooks/useColumnSettings/utils/isFilterableColumn.d.ts +2 -0
  86. package/dist/esm/components/Table/hooks/useColumnSettings/utils/isFilterableColumn.js +6 -0
  87. package/dist/esm/components/Table/hooks/useColumnSettings/utils/prepareColumnsSettings.d.ts +11 -0
  88. package/dist/esm/components/Table/hooks/useColumnSettings/utils/prepareColumnsSettings.js +44 -0
  89. package/dist/esm/components/Table/hooks/useFilters/index.d.ts +1 -0
  90. package/dist/esm/components/Table/hooks/useFilters/index.js +1 -0
  91. package/dist/esm/components/Table/hooks/useFilters/useFilters.d.ts +75 -0
  92. package/dist/esm/components/Table/hooks/useFilters/useFilters.js +29 -0
  93. package/dist/esm/components/Table/hooks/useFilters/utils/getInitialColumnsFiltersOpenValue.d.ts +2 -0
  94. package/dist/esm/components/Table/hooks/useFilters/utils/getInitialColumnsFiltersOpenValue.js +8 -0
  95. package/dist/esm/components/Table/hooks/useFilters/utils/index.d.ts +1 -0
  96. package/dist/esm/components/Table/hooks/useFilters/utils/index.js +1 -0
  97. package/dist/esm/components/Table/hooks/useSaveTableSettings/types.d.ts +2 -2
  98. package/dist/esm/components/Table/hooks/useSaveTableSettings/useSaveTableSettings.d.ts +3 -3
  99. package/dist/esm/components/Table/hooks/useSaveTableSettings/utils/parser.d.ts +1 -1
  100. package/dist/esm/components/Table/hooks/useSaveTableSettings/vallidators.d.ts +1 -1
  101. package/dist/esm/components/Table/utils/columnSize.d.ts +12 -0
  102. package/dist/esm/components/Table/utils/columnSize.js +15 -0
  103. package/dist/esm/components/Table/utils/getColumnIdentifier.d.ts +2 -0
  104. package/dist/esm/components/Table/utils/getColumnIdentifier.js +7 -0
  105. package/dist/esm/components/Table/utils/getColumnStyleVars.d.ts +4 -0
  106. package/dist/esm/components/Table/utils/getColumnStyleVars.js +6 -0
  107. package/dist/esm/components/Table/utils/getCurrentlyConfiguredHeaderWidth.d.ts +1 -0
  108. package/dist/esm/components/Table/utils/getCurrentlyConfiguredHeaderWidth.js +16 -0
  109. package/dist/esm/components/Table/utils/getPinnedGroups.d.ts +7 -0
  110. package/dist/esm/components/Table/utils/getPinnedGroups.js +19 -0
  111. package/dist/esm/components/Table/utils/getTableColumnsDefinitions.d.ts +10 -0
  112. package/dist/esm/components/Table/utils/getTableColumnsDefinitions.js +11 -0
  113. package/dist/esm/components/Table/utils/index.d.ts +8 -0
  114. package/dist/esm/components/Table/utils/index.js +8 -0
  115. package/dist/esm/components/Table/utils/isEveryArrayItemString.d.ts +1 -0
  116. package/dist/esm/components/Table/utils/isEveryArrayItemString.js +1 -0
  117. package/dist/esm/components/Table/utils/sortColumnDefinitions.d.ts +2 -0
  118. package/dist/esm/components/Table/utils/sortColumnDefinitions.js +8 -0
  119. package/dist/esm/constants.d.ts +6 -1
  120. package/dist/esm/constants.js +7 -1
  121. package/dist/esm/helperComponents/Cells/RowActionsCell/RowActionsCell.js +2 -2
  122. package/dist/esm/helperComponents/Cells/SelectionCell/SelectionCell.js +2 -2
  123. package/dist/esm/helperComponents/Cells/StatusCell/StatusCell.js +2 -2
  124. package/dist/esm/helperComponents/Cells/index.d.ts +1 -0
  125. package/dist/esm/helperComponents/Cells/index.js +1 -0
  126. package/package.json +6 -6
  127. package/src/components/Table/Table.tsx +67 -124
  128. package/src/components/Table/hooks/index.ts +3 -0
  129. package/src/components/Table/hooks/useColumnOrderByDrag/index.ts +1 -0
  130. package/src/components/Table/hooks/{useColumnOrderByDrag.ts → useColumnOrderByDrag/useColumnOrderByDrag.ts} +35 -38
  131. package/src/components/Table/hooks/useColumnOrderByDrag/utils/prepareInitialState.ts +27 -0
  132. package/src/components/Table/hooks/useColumnSettings/index.ts +1 -0
  133. package/src/components/Table/hooks/useColumnSettings/useColumnSettings.ts +102 -0
  134. package/src/components/Table/hooks/useColumnSettings/utils/getEnabledColumnsInitialState.ts +27 -0
  135. package/src/components/Table/hooks/useColumnSettings/utils/index.ts +5 -0
  136. package/src/components/Table/hooks/useColumnSettings/utils/isColumnEnabledInitially.ts +9 -0
  137. package/src/components/Table/hooks/useColumnSettings/utils/isColumnVisibilityConfigurable.ts +22 -0
  138. package/src/components/Table/hooks/useColumnSettings/utils/isFilterableColumn.ts +11 -0
  139. package/src/components/Table/hooks/useColumnSettings/utils/prepareColumnsSettings.ts +65 -0
  140. package/src/components/Table/hooks/useFilters/index.ts +1 -0
  141. package/src/components/Table/hooks/useFilters/useFilters.ts +62 -0
  142. package/src/components/Table/hooks/useFilters/utils/getInitialColumnsFiltersOpenValue.ts +13 -0
  143. package/src/components/Table/hooks/useFilters/utils/index.ts +1 -0
  144. package/src/components/Table/hooks/useSaveTableSettings/types.ts +2 -2
  145. package/src/components/Table/hooks/useSaveTableSettings/useSaveTableSettings.ts +10 -10
  146. package/src/components/Table/hooks/useSaveTableSettings/utils/parser.ts +4 -4
  147. package/src/components/Table/hooks/useSaveTableSettings/utils/serializer.ts +2 -2
  148. package/src/components/Table/hooks/useSaveTableSettings/vallidators.ts +3 -3
  149. package/src/components/Table/utils/columnSize.ts +38 -0
  150. package/src/components/Table/utils/getColumnIdentifier.ts +10 -0
  151. package/src/components/Table/utils/getColumnStyleVars.ts +6 -0
  152. package/src/components/Table/utils/getCurrentlyConfiguredHeaderWidth.ts +23 -0
  153. package/src/components/Table/utils/getPinnedGroups.ts +33 -0
  154. package/src/components/Table/utils/getTableColumnsDefinitions.ts +26 -0
  155. package/src/components/Table/utils/index.ts +8 -0
  156. package/src/components/Table/utils/isEveryArrayItemString.ts +2 -0
  157. package/src/components/Table/utils/sortColumnDefinitions.ts +14 -0
  158. package/src/{constants.tsx → constants.ts} +7 -1
  159. package/src/helperComponents/Cells/HeaderCell/HeaderCell.tsx +1 -1
  160. package/src/helperComponents/Cells/RowActionsCell/RowActionsCell.tsx +2 -2
  161. package/src/helperComponents/Cells/SelectionCell/SelectionCell.tsx +2 -2
  162. package/src/helperComponents/Cells/StatusCell/StatusCell.tsx +2 -2
  163. package/src/helperComponents/Cells/index.ts +1 -0
  164. package/dist/cjs/components/Table/hooks/useColumnOrderByDrag.d.ts +0 -10
  165. package/dist/cjs/components/Table/hooks/useColumnSettings.d.ts +0 -6
  166. package/dist/cjs/components/Table/hooks/useColumnSettings.js +0 -41
  167. package/dist/cjs/components/Table/utils.d.ts +0 -32
  168. package/dist/cjs/components/Table/utils.js +0 -151
  169. package/dist/esm/components/Table/hooks/useColumnOrderByDrag.d.ts +0 -10
  170. package/dist/esm/components/Table/hooks/useColumnSettings.d.ts +0 -6
  171. package/dist/esm/components/Table/hooks/useColumnSettings.js +0 -38
  172. package/dist/esm/components/Table/utils.d.ts +0 -32
  173. package/dist/esm/components/Table/utils.js +0 -130
  174. package/src/components/Table/hooks/useColumnSettings.ts +0 -53
  175. package/src/components/Table/utils.ts +0 -209
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.35.4 (2025-04-22)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **PDS-1971:** table fixes - column order, settings label, refactoring ([a1c34a3](https://github.com/cloud-ru-tech/snack-uikit/commit/a1c34a3783a0a0bf95253529d958ad69421819ce))
12
+
13
+
14
+
15
+
16
+
6
17
  ## 0.35.3 (2025-04-15)
7
18
 
8
19
 
@@ -19,7 +19,6 @@ Object.defineProperty(exports, "__esModule", {
19
19
  exports.Table = Table;
20
20
  const jsx_runtime_1 = require("react/jsx-runtime");
21
21
  const core_1 = require("@dnd-kit/core");
22
- const modifiers_1 = require("@dnd-kit/modifiers");
23
22
  const react_table_1 = require("@tanstack/react-table");
24
23
  const classnames_1 = __importDefault(require("classnames"));
25
24
  const react_1 = require("react");
@@ -32,11 +31,8 @@ const utils_1 = require("@snack-uikit/utils");
32
31
  const constants_1 = require("../../constants");
33
32
  const contexts_1 = require("../../contexts");
34
33
  const helperComponents_1 = require("../../helperComponents");
35
- const TreeCell_1 = require("../../helperComponents/Cells/TreeCell");
36
34
  const utils_2 = require("../../utils");
37
35
  const hooks_1 = require("./hooks");
38
- const usePageReset_1 = require("./hooks/usePageReset");
39
- const useSaveTableSettings_1 = require("./hooks/useSaveTableSettings");
40
36
  const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
41
37
  const utils_3 = require("./utils");
42
38
  /** Компонент таблицы */
@@ -92,7 +88,7 @@ function Table(_a) {
92
88
  const {
93
89
  setDataToStorages,
94
90
  defaultFilter
95
- } = (0, useSaveTableSettings_1.useSaveTableSettings)({
91
+ } = (0, hooks_1.useSaveTableSettings)({
96
92
  options: savedState,
97
93
  filterSettings: columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.filters
98
94
  });
@@ -104,17 +100,14 @@ function Table(_a) {
104
100
  }), [pageSize]);
105
101
  const [sorting, onSortingChange] = (0, hooks_1.useStateControl)(sortingProp, constants_1.DEFAULT_SORTING);
106
102
  const [pagination, onPaginationChange] = (0, hooks_1.useStateControl)(paginationProp, defaultPaginationState);
107
- const [filter, setFilter] = (0, hooks_1.useStateControl)({
108
- state: columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.value,
109
- initialState: columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.defaultValue,
110
- onChange: columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.onChange
111
- }, undefined);
112
- const [filterVisibility, setFilterVisibility] = (0, hooks_1.useStateControl)({
113
- state: columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.visibleFilters,
114
- initialState: [],
115
- onChange: columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.onVisibleFiltersChange
116
- }, constants_1.DEFAULT_FILTER_VISIBILITY);
117
- const [areColumnFiltersOpen, setAreColumnFiltersOpen] = (0, react_1.useState)(() => (0, utils_3.getInitialColumnsOpenValue)(columnFilters));
103
+ const {
104
+ filter,
105
+ patchedFilter,
106
+ setFilter,
107
+ setFilterVisibility
108
+ } = (0, hooks_1.useFilters)({
109
+ columnFilters
110
+ });
118
111
  (0, react_1.useEffect)(() => {
119
112
  setDataToStorages({
120
113
  pagination,
@@ -134,91 +127,58 @@ function Table(_a) {
134
127
  // Только для первого рендера, чтобы проинициализировать фильтр
135
128
  // eslint-disable-next-line
136
129
  }, [defaultFilter]);
137
- const patchedFilter = (0, react_1.useMemo)(() => {
138
- if (!columnFilters) {
139
- return undefined;
140
- }
141
- return Object.assign(Object.assign({
142
- open: areColumnFiltersOpen,
143
- onOpenChange: setAreColumnFiltersOpen
144
- }, columnFilters), {
145
- value: filter,
146
- onChange: setFilter,
147
- visibleFilters: filterVisibility,
148
- onVisibleFiltersChange: setFilterVisibility
149
- });
150
- }, [columnFilters, areColumnFiltersOpen, filter, setFilter, filterVisibility, setFilterVisibility]);
151
130
  const enableSelection = Boolean(rowSelectionProp === null || rowSelectionProp === void 0 ? void 0 : rowSelectionProp.enable);
152
- const manualPagination = infiniteLoading || manualPaginationProp;
131
+ const allTableColumns = (0, react_1.useMemo)(() => (0, utils_3.getTableColumnsDefinitions)({
132
+ columnDefinitions,
133
+ enableSelection,
134
+ enableSelectPinned,
135
+ expanding
136
+ }), [columnDefinitions, enableSelection, enableSelectPinned, expanding]);
137
+ const pinnedGroups = (0, react_1.useMemo)(() => (0, utils_3.getPinnedGroups)(allTableColumns), [allTableColumns]);
153
138
  const {
154
139
  enabledColumns,
155
- setEnabledColumns
156
- } = (0, hooks_1.useColumnSettings)(columnDefinitions, savedState);
157
- const areColumnsSettingsEnabled = Boolean(columnsSettingsProp === null || columnsSettingsProp === void 0 ? void 0 : columnsSettingsProp.enableSettingsMenu);
158
- const filteredColumnDefinitions = (0, react_1.useMemo)(() => {
159
- if (!areColumnsSettingsEnabled) {
160
- return columnDefinitions;
161
- }
162
- return columnDefinitions.filter(colDef => {
163
- if ((0, utils_3.isFilterableColumn)(colDef)) {
164
- return enabledColumns.includes((0, utils_3.getColumnIdentifier)(colDef));
165
- }
166
- return true;
167
- });
168
- }, [columnDefinitions, enabledColumns, areColumnsSettingsEnabled]);
169
- const tableColumns = (0, react_1.useMemo)(() => {
170
- let cols = filteredColumnDefinitions;
171
- if (enableSelection && !expanding) {
172
- cols = [(0, helperComponents_1.getSelectionCellColumnDef)(enableSelectPinned), ...cols];
173
- }
174
- if (expanding) {
175
- cols = [(0, TreeCell_1.getTreeColumnDef)(expanding.expandingColumnDefinition), ...cols];
176
- }
177
- return cols;
178
- }, [filteredColumnDefinitions, enableSelection, enableSelectPinned, expanding]);
179
- const enableColumnsOrderSortByDrag = Boolean(columnsSettingsProp === null || columnsSettingsProp === void 0 ? void 0 : columnsSettingsProp.enableDrag);
140
+ setEnabledColumns,
141
+ getColumnsSettings,
142
+ enabledTableColumns,
143
+ enabledColumnsDefinitions,
144
+ areColumnsSettingsEnabled
145
+ } = (0, hooks_1.useColumnSettings)({
146
+ columnDefinitions,
147
+ pinnedGroups,
148
+ savedState,
149
+ columnsSettings: columnsSettingsProp,
150
+ rowSelection: rowSelectionProp,
151
+ enableSelectPinned,
152
+ expanding
153
+ });
180
154
  const {
181
155
  columnOrder,
182
156
  setColumnOrder,
183
- sensors,
184
- handleDragEnd
185
- } = (0, hooks_1.useColumnOrderByDrag)(tableColumns, savedState);
186
- const dndContextProps = (0, react_1.useMemo)(() => {
187
- if (!enableColumnsOrderSortByDrag) {
188
- return {};
189
- }
190
- return {
191
- collisionDetection: core_1.closestCenter,
192
- modifiers: [modifiers_1.restrictToHorizontalAxis],
193
- onDragEnd: handleDragEnd,
194
- sensors: sensors
195
- };
196
- }, [enableColumnsOrderSortByDrag, handleDragEnd, sensors]);
197
- const filterableColumns = (0, react_1.useMemo)(() => columnDefinitions.filter(utils_3.isFilterableColumn), [columnDefinitions]);
198
- const areAllColumnsEnabled = filterableColumns.length === enabledColumns.length;
157
+ dndContextProps,
158
+ enableColumnsOrderSortByDrag
159
+ } = (0, hooks_1.useColumnOrderByDrag)({
160
+ tableColumns: allTableColumns,
161
+ savedState,
162
+ columnSettings: columnsSettingsProp
163
+ });
199
164
  const {
200
165
  t
201
166
  } = (0, locale_1.useLocale)('Table');
202
- const columnsSettings = (0, react_1.useMemo)(() => (0, utils_3.prepareColumnsSettings)({
203
- columnDefinitions,
204
- columnOrder,
205
- areAllColumnsEnabled,
206
- t
207
- }), [areAllColumnsEnabled, columnDefinitions, columnOrder, t]);
167
+ const manualPagination = infiniteLoading || manualPaginationProp;
168
+ const columnsSettings = (0, react_1.useMemo)(() => getColumnsSettings(columnOrder), [columnOrder, getColumnsSettings]);
208
169
  const columnPinning = (0, react_1.useMemo)(() => {
209
- var _a;
210
- const pinningState = {
211
- left: [],
212
- right: []
213
- };
214
- for (const col of tableColumns) {
215
- const id = (0, helperComponents_1.getColumnId)(col);
216
- if (col.pinned && id) {
217
- (_a = pinningState[col.pinned]) === null || _a === void 0 ? void 0 : _a.push(id);
170
+ const getColDefIdsFromGroup = columnDefinitions => columnDefinitions.reduce((accArr, colDef) => {
171
+ const id = (0, helperComponents_1.getColumnId)(colDef);
172
+ if (id) {
173
+ accArr.push(id);
218
174
  }
219
- }
220
- return pinningState;
221
- }, [tableColumns]);
175
+ return accArr;
176
+ }, []);
177
+ return {
178
+ left: getColDefIdsFromGroup(pinnedGroups.left),
179
+ right: getColDefIdsFromGroup(pinnedGroups.right)
180
+ };
181
+ }, [pinnedGroups]);
222
182
  const enableRowSelection = (0, react_1.useCallback)(row => {
223
183
  const parent = row.getParentRow();
224
184
  const isParentSelected = parent ? parent.getCanSelect() : true;
@@ -230,7 +190,7 @@ function Table(_a) {
230
190
  }, [rowSelectionProp]);
231
191
  const table = (0, react_table_1.useReactTable)({
232
192
  data,
233
- columns: tableColumns,
193
+ columns: enabledTableColumns,
234
194
  state: {
235
195
  columnPinning,
236
196
  columnOrder: enableColumnsOrderSortByDrag ? columnOrder : undefined,
@@ -296,7 +256,7 @@ function Table(_a) {
296
256
  loadingTable
297
257
  } = (0, hooks_1.useLoadingTable)({
298
258
  pageSize: Math.min(Math.max(pageSize, 5), constants_1.DEFAULT_PAGE_SIZE),
299
- columnDefinitions: filteredColumnDefinitions,
259
+ columnDefinitions: enabledColumnsDefinitions,
300
260
  columnPinning
301
261
  });
302
262
  const handleOnRefresh = (0, react_1.useCallback)(() => {
@@ -346,7 +306,7 @@ function Table(_a) {
346
306
  flexKey
347
307
  } = (0, utils_3.getColumnStyleVars)(header.id);
348
308
  const originalColDef = originalColumnDefs.find(col => (0, helperComponents_1.getColumnId)(header) === col.id);
349
- if (header.id === 'snack_predefined_statusColumn' && !(originalColDef === null || originalColDef === void 0 ? void 0 : originalColDef.header) && !(originalColDef === null || originalColDef === void 0 ? void 0 : originalColDef.enableSorting)) {
309
+ if (header.id === constants_1.DefaultColumns.Status && !(originalColDef === null || originalColDef === void 0 ? void 0 : originalColDef.header) && !(originalColDef === null || originalColDef === void 0 ? void 0 : originalColDef.enableSorting)) {
350
310
  vars[sizeKey] = 'var(--size-table-cell-status-indicator-horizontal)';
351
311
  vars[flexKey] = '100%';
352
312
  } else {
@@ -415,7 +375,7 @@ function Table(_a) {
415
375
  noResultsState,
416
376
  errorDataState
417
377
  });
418
- (0, usePageReset_1.usePageReset)({
378
+ (0, hooks_1.usePageReset)({
419
379
  manualPagination,
420
380
  maximumAvailablePage: pageCount || tableFilteredRows.length / pagination.pageSize,
421
381
  pagination,
@@ -2,3 +2,6 @@ export * from './useLoadingTable';
2
2
  export * from './useStateControl';
3
3
  export * from './useColumnOrderByDrag';
4
4
  export * from './useColumnSettings';
5
+ export * from './usePageReset';
6
+ export * from './useFilters';
7
+ export * from './useSaveTableSettings';
@@ -25,4 +25,7 @@ Object.defineProperty(exports, "__esModule", {
25
25
  __exportStar(require("./useLoadingTable"), exports);
26
26
  __exportStar(require("./useStateControl"), exports);
27
27
  __exportStar(require("./useColumnOrderByDrag"), exports);
28
- __exportStar(require("./useColumnSettings"), exports);
28
+ __exportStar(require("./useColumnSettings"), exports);
29
+ __exportStar(require("./usePageReset"), exports);
30
+ __exportStar(require("./useFilters"), exports);
31
+ __exportStar(require("./useSaveTableSettings"), exports);
@@ -0,0 +1 @@
1
+ export * from './useColumnOrderByDrag';
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = {
8
+ enumerable: true,
9
+ get: function () {
10
+ return m[k];
11
+ }
12
+ };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ } : function (o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ });
19
+ var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", {
23
+ value: true
24
+ });
25
+ __exportStar(require("./useColumnOrderByDrag"), exports);
@@ -0,0 +1,16 @@
1
+ import { DndContextProps } from '@dnd-kit/core';
2
+ import { Dispatch, SetStateAction } from 'react';
3
+ import { ColumnDefinition } from '../../../../types';
4
+ import { TableProps } from '../../../types';
5
+ type useColumnOrderByDragProps<TData extends object> = {
6
+ tableColumns: ColumnDefinition<TData>[];
7
+ savedState: TableProps<TData>['savedState'];
8
+ columnSettings: TableProps<TData>['columnsSettings'];
9
+ };
10
+ export declare function useColumnOrderByDrag<TData extends object>({ tableColumns, savedState, columnSettings, }: useColumnOrderByDragProps<TData>): {
11
+ columnOrder: string[];
12
+ setColumnOrder: Dispatch<SetStateAction<string[]>>;
13
+ dndContextProps: DndContextProps;
14
+ enableColumnsOrderSortByDrag: boolean;
15
+ };
16
+ export {};
@@ -5,30 +5,22 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useColumnOrderByDrag = useColumnOrderByDrag;
7
7
  const core_1 = require("@dnd-kit/core");
8
+ const modifiers_1 = require("@dnd-kit/modifiers");
8
9
  const sortable_1 = require("@dnd-kit/sortable");
9
10
  const react_1 = require("react");
10
- const utils_1 = require("../utils");
11
- const validateColumnOrderLocalStorageValue = value => Array.isArray(value) && value.every(setting => typeof setting === 'string');
12
- const getLocalStorageColumnOrderKey = id => `${id}_columnOrder`;
13
- function prepareInitialState(tableColumns, savedState) {
14
- const columnOrder = tableColumns.filter(column => column.pinned !== 'left' && column.pinned !== 'right').map(utils_1.getColumnIdentifier);
15
- if (savedState === null || savedState === void 0 ? void 0 : savedState.columnSettings) {
16
- const persistState = JSON.parse(localStorage.getItem(getLocalStorageColumnOrderKey(savedState.id)) || 'null');
17
- const persistValue = validateColumnOrderLocalStorageValue(persistState) ? persistState : null;
18
- if (persistValue !== null) {
19
- return [...persistValue, ...columnOrder.filter(column => !(persistValue === null || persistValue === void 0 ? void 0 : persistValue.includes(column)))];
20
- }
21
- localStorage.setItem(getLocalStorageColumnOrderKey(savedState.id), JSON.stringify(columnOrder));
22
- }
23
- return columnOrder;
24
- }
11
+ const prepareInitialState_1 = require("./utils/prepareInitialState");
25
12
  const draggingOptions = {
26
13
  activationConstraint: {
27
14
  distance: 5 // Is required to differ click (sort) from drag
28
15
  }
29
16
  };
30
- function useColumnOrderByDrag(tableColumns, savedState) {
31
- const [columnOrder, setColumnOrderState] = (0, react_1.useState)(() => prepareInitialState(tableColumns, savedState));
17
+ function useColumnOrderByDrag(_ref) {
18
+ let {
19
+ tableColumns,
20
+ savedState,
21
+ columnSettings
22
+ } = _ref;
23
+ const [columnOrder, setColumnOrderState] = (0, react_1.useState)(() => (0, prepareInitialState_1.prepareInitialState)(tableColumns, savedState));
32
24
  const setColumnOrder = (0, react_1.useCallback)(value => {
33
25
  let updatedOrder;
34
26
  if (value instanceof Function) {
@@ -37,15 +29,15 @@ function useColumnOrderByDrag(tableColumns, savedState) {
37
29
  updatedOrder = value;
38
30
  }
39
31
  if (savedState === null || savedState === void 0 ? void 0 : savedState.columnSettings) {
40
- localStorage.setItem(getLocalStorageColumnOrderKey(savedState.id), JSON.stringify(updatedOrder));
32
+ localStorage.setItem((0, prepareInitialState_1.getLocalStorageColumnOrderKey)(savedState.id), JSON.stringify(updatedOrder));
41
33
  }
42
34
  setColumnOrderState(updatedOrder);
43
- }, [columnOrder, savedState === null || savedState === void 0 ? void 0 : savedState.columnSettings, savedState === null || savedState === void 0 ? void 0 : savedState.id]);
44
- const handleDragEnd = (0, react_1.useCallback)(_ref => {
35
+ }, [columnOrder, savedState]);
36
+ const handleDragEnd = (0, react_1.useCallback)(_ref2 => {
45
37
  let {
46
38
  active,
47
39
  over
48
- } = _ref;
40
+ } = _ref2;
49
41
  if (!active || !over) {
50
42
  return;
51
43
  }
@@ -64,10 +56,22 @@ function useColumnOrderByDrag(tableColumns, savedState) {
64
56
  });
65
57
  }, [columnOrder, setColumnOrder]);
66
58
  const sensors = (0, core_1.useSensors)((0, core_1.useSensor)(core_1.MouseSensor, draggingOptions), (0, core_1.useSensor)(core_1.TouchSensor, {}), (0, core_1.useSensor)(core_1.KeyboardSensor, {}));
59
+ const enableColumnsOrderSortByDrag = Boolean(columnSettings === null || columnSettings === void 0 ? void 0 : columnSettings.enableDrag);
60
+ const dndContextProps = (0, react_1.useMemo)(() => {
61
+ if (!enableColumnsOrderSortByDrag) {
62
+ return {};
63
+ }
64
+ return {
65
+ collisionDetection: core_1.closestCenter,
66
+ modifiers: [modifiers_1.restrictToHorizontalAxis],
67
+ onDragEnd: handleDragEnd,
68
+ sensors
69
+ };
70
+ }, [enableColumnsOrderSortByDrag, handleDragEnd, sensors]);
67
71
  return {
68
72
  columnOrder,
69
73
  setColumnOrder,
70
- handleDragEnd,
71
- sensors
74
+ dndContextProps,
75
+ enableColumnsOrderSortByDrag
72
76
  };
73
77
  }
@@ -0,0 +1,4 @@
1
+ import { ColumnDefinition } from '../../../../../types';
2
+ import { TableProps } from '../../../../types';
3
+ export declare const getLocalStorageColumnOrderKey: (id: string) => string;
4
+ export declare function prepareInitialState<TData extends object>(tableColumns: ColumnDefinition<TData>[], savedState: TableProps<TData>['savedState']): string[];
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getLocalStorageColumnOrderKey = void 0;
7
+ exports.prepareInitialState = prepareInitialState;
8
+ const utils_1 = require("../../../utils");
9
+ const getLocalStorageColumnOrderKey = id => `${id}_columnOrder`;
10
+ exports.getLocalStorageColumnOrderKey = getLocalStorageColumnOrderKey;
11
+ function prepareInitialState(tableColumns, savedState) {
12
+ const columnOrder = tableColumns.filter(column => column.pinned !== 'left' && column.pinned !== 'right').map(utils_1.getColumnIdentifier);
13
+ if (savedState === null || savedState === void 0 ? void 0 : savedState.columnSettings) {
14
+ const persistState = JSON.parse(localStorage.getItem((0, exports.getLocalStorageColumnOrderKey)(savedState.id)) || 'null');
15
+ const persistValue = (0, utils_1.isEveryArrayItemString)(persistState) ? persistState : null;
16
+ if (persistValue !== null) {
17
+ return [...persistValue, ...columnOrder.filter(column => !(persistValue === null || persistValue === void 0 ? void 0 : persistValue.includes(column)))];
18
+ }
19
+ localStorage.setItem((0, exports.getLocalStorageColumnOrderKey)(savedState.id), JSON.stringify(columnOrder));
20
+ }
21
+ return columnOrder;
22
+ }
@@ -0,0 +1 @@
1
+ export * from './useColumnSettings';
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = {
8
+ enumerable: true,
9
+ get: function () {
10
+ return m[k];
11
+ }
12
+ };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ } : function (o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ });
19
+ var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", {
23
+ value: true
24
+ });
25
+ __exportStar(require("./useColumnSettings"), exports);
@@ -0,0 +1,14 @@
1
+ import { TableProps } from '../../../types';
2
+ import { PinnedGroupsState } from '../../utils';
3
+ type useColumnSettingsProps<TData extends object, TFilters extends Record<string, unknown>> = Pick<TableProps<TData, TFilters>, 'columnDefinitions' | 'columnsSettings' | 'savedState' | 'rowSelection' | 'expanding'> & Required<Pick<TableProps<TData, TFilters>, 'enableSelectPinned'>> & {
4
+ pinnedGroups: PinnedGroupsState<TData>;
5
+ };
6
+ export declare function useColumnSettings<TData extends object, TFilters extends Record<string, unknown>>({ columnDefinitions, columnsSettings, pinnedGroups, savedState, rowSelection, enableSelectPinned, expanding, }: useColumnSettingsProps<TData, TFilters>): {
7
+ enabledColumns: string[];
8
+ setEnabledColumns: (value: string[]) => void;
9
+ enabledColumnsDefinitions: import("../../../..").ColumnDefinition<TData>[];
10
+ enabledTableColumns: import("../../../..").ColumnDefinition<TData>[];
11
+ getColumnsSettings: (columnOrder: string[]) => [import("@snack-uikit/list/dist/esm/components/Items").GroupSelectItem];
12
+ areColumnsSettingsEnabled: boolean;
13
+ };
14
+ export {};
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useColumnSettings = useColumnSettings;
7
+ const react_1 = require("react");
8
+ const locale_1 = require("@snack-uikit/locale");
9
+ const utils_1 = require("../../utils");
10
+ const utils_2 = require("./utils");
11
+ function useColumnSettings(_ref) {
12
+ let {
13
+ columnDefinitions,
14
+ columnsSettings,
15
+ pinnedGroups,
16
+ savedState,
17
+ rowSelection,
18
+ enableSelectPinned,
19
+ expanding
20
+ } = _ref;
21
+ const {
22
+ t
23
+ } = (0, locale_1.useLocale)('Table');
24
+ const localStorageKey = `${savedState === null || savedState === void 0 ? void 0 : savedState.id}_columnSettings`;
25
+ const configurableColumns = (0, react_1.useMemo)(() => columnDefinitions.filter(utils_2.isColumnVisibilityConfigurable), [columnDefinitions]);
26
+ const [enabledColumns, setEnabledColumns] = (0, react_1.useState)(() => (0, utils_2.getEnabledColumnsInitialState)(configurableColumns, savedState, localStorageKey));
27
+ const setEnabledColumnsOuter = (0, react_1.useCallback)(value => {
28
+ if (savedState === null || savedState === void 0 ? void 0 : savedState.columnSettings) {
29
+ localStorage.setItem(localStorageKey, JSON.stringify(value));
30
+ }
31
+ setEnabledColumns(value);
32
+ }, [localStorageKey, savedState === null || savedState === void 0 ? void 0 : savedState.columnSettings]);
33
+ const areColumnsSettingsEnabled = Boolean(columnsSettings === null || columnsSettings === void 0 ? void 0 : columnsSettings.enableSettingsMenu);
34
+ const enabledColumnsDefinitions = (0, react_1.useMemo)(() => {
35
+ if (!areColumnsSettingsEnabled) {
36
+ return columnDefinitions;
37
+ }
38
+ return columnDefinitions.filter(colDef => {
39
+ if ((0, utils_2.isFilterableColumn)(colDef)) {
40
+ return enabledColumns.includes((0, utils_1.getColumnIdentifier)(colDef));
41
+ }
42
+ return true;
43
+ });
44
+ }, [columnDefinitions, enabledColumns, areColumnsSettingsEnabled]);
45
+ const enableSelection = Boolean(rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.enable);
46
+ const enabledTableColumns = (0, react_1.useMemo)(() => (0, utils_1.getTableColumnsDefinitions)({
47
+ columnDefinitions: enabledColumnsDefinitions,
48
+ enableSelection,
49
+ enableSelectPinned,
50
+ expanding
51
+ }), [enableSelectPinned, enableSelection, enabledColumnsDefinitions, expanding]);
52
+ const areAllColumnsEnabled = enabledColumns.length === configurableColumns.length;
53
+ const getColumnsSettings = (0, react_1.useCallback)(columnOrder => (0, utils_2.prepareColumnsSettings)({
54
+ pinnedGroups,
55
+ columnOrder,
56
+ areAllColumnsEnabled,
57
+ t
58
+ }), [areAllColumnsEnabled, pinnedGroups, t]);
59
+ return {
60
+ enabledColumns,
61
+ setEnabledColumns: setEnabledColumnsOuter,
62
+ enabledColumnsDefinitions,
63
+ enabledTableColumns,
64
+ getColumnsSettings,
65
+ areColumnsSettingsEnabled
66
+ };
67
+ }
@@ -0,0 +1,3 @@
1
+ import { ColumnDefinition } from '../../../../../types';
2
+ import { TableProps } from '../../../../types';
3
+ export declare function getEnabledColumnsInitialState<TData extends object, TFilters extends Record<string, unknown>>(configurableColumns: ColumnDefinition<TData>[], savedState: TableProps<TFilters>['savedState'], localStorageKey: string): string[];
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getEnabledColumnsInitialState = getEnabledColumnsInitialState;
7
+ const utils_1 = require("../../../utils");
8
+ const isColumnEnabledInitially_1 = require("./isColumnEnabledInitially");
9
+ function getSettingsFromLocalStorage(localStorageKey) {
10
+ const localStorageState = JSON.parse(localStorage.getItem(localStorageKey) || 'null');
11
+ return (0, utils_1.isEveryArrayItemString)(localStorageState) ? localStorageState : null;
12
+ }
13
+ function getEnabledColumnsInitialState(configurableColumns, savedState, localStorageKey) {
14
+ const localStorageSettings = getSettingsFromLocalStorage(localStorageKey);
15
+ return configurableColumns.filter(colDef => {
16
+ const columnIdentifier = (0, utils_1.getColumnIdentifier)(colDef);
17
+ if (localStorageSettings && (savedState === null || savedState === void 0 ? void 0 : savedState.columnSettings)) {
18
+ return Boolean(localStorageSettings.find(columnKey => columnKey === columnIdentifier));
19
+ }
20
+ return (0, isColumnEnabledInitially_1.isColumnEnabledInitially)(colDef);
21
+ }).map(utils_1.getColumnIdentifier);
22
+ }
@@ -0,0 +1,5 @@
1
+ export * from './isFilterableColumn';
2
+ export * from './isColumnEnabledInitially';
3
+ export * from './isColumnVisibilityConfigurable';
4
+ export * from './prepareColumnsSettings';
5
+ export * from './getEnabledColumnsInitialState';
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = {
8
+ enumerable: true,
9
+ get: function () {
10
+ return m[k];
11
+ }
12
+ };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ } : function (o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ });
19
+ var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", {
23
+ value: true
24
+ });
25
+ __exportStar(require("./isFilterableColumn"), exports);
26
+ __exportStar(require("./isColumnEnabledInitially"), exports);
27
+ __exportStar(require("./isColumnVisibilityConfigurable"), exports);
28
+ __exportStar(require("./prepareColumnsSettings"), exports);
29
+ __exportStar(require("./getEnabledColumnsInitialState"), exports);
@@ -0,0 +1,2 @@
1
+ import { ColumnDefinition } from '../../../../../types';
2
+ export declare function isColumnEnabledInitially<TData extends object>(colDef: ColumnDefinition<TData>): boolean;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isColumnEnabledInitially = isColumnEnabledInitially;
7
+ function isColumnEnabledInitially(colDef) {
8
+ var _a;
9
+ if ('columnSettings' in colDef && colDef.columnSettings !== undefined) {
10
+ return ((_a = colDef.columnSettings) === null || _a === void 0 ? void 0 : _a.mode) !== 'defaultFalse';
11
+ }
12
+ return true;
13
+ }
@@ -0,0 +1,2 @@
1
+ import { ColumnDefinition } from '../../../../../types';
2
+ export declare function isColumnVisibilityConfigurable<TData extends object>(colDef: ColumnDefinition<TData>): boolean;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isColumnVisibilityConfigurable = isColumnVisibilityConfigurable;
7
+ function isColumnVisibilityConfigurable(colDef) {
8
+ if ('columnSettings' in colDef && colDef.columnSettings !== undefined) {
9
+ const {
10
+ mode
11
+ } = colDef.columnSettings;
12
+ if (!mode) {
13
+ return true;
14
+ }
15
+ switch (mode) {
16
+ case 'hidden':
17
+ return false;
18
+ case 'defaultTrue':
19
+ case 'defaultFalse':
20
+ default:
21
+ return true;
22
+ }
23
+ }
24
+ return true;
25
+ }
@@ -0,0 +1,2 @@
1
+ import { ColumnDefinition, FilterableColumnDefinition } from '../../../../../types';
2
+ export declare function isFilterableColumn<TData extends object>(colDef: ColumnDefinition<TData>): colDef is FilterableColumnDefinition<TData>;