@commercetools-uikit/data-table-manager 19.8.0 → 19.10.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 (31) hide show
  1. package/README.md +50 -35
  2. package/column-settings-manager/dist/commercetools-uikit-data-table-manager-column-settings-manager.cjs.d.ts +2 -0
  3. package/column-settings-manager/dist/commercetools-uikit-data-table-manager-column-settings-manager.cjs.dev.js +43 -0
  4. package/column-settings-manager/dist/commercetools-uikit-data-table-manager-column-settings-manager.cjs.js +7 -0
  5. package/column-settings-manager/dist/commercetools-uikit-data-table-manager-column-settings-manager.cjs.prod.js +43 -0
  6. package/column-settings-manager/dist/commercetools-uikit-data-table-manager-column-settings-manager.esm.js +35 -0
  7. package/column-settings-manager/package.json +4 -0
  8. package/data-table-manager-provider/dist/commercetools-uikit-data-table-manager-data-table-manager-provider.cjs.dev.js +6 -4
  9. package/data-table-manager-provider/dist/commercetools-uikit-data-table-manager-data-table-manager-provider.cjs.prod.js +6 -4
  10. package/data-table-manager-provider/dist/commercetools-uikit-data-table-manager-data-table-manager-provider.esm.js +6 -4
  11. package/dist/column-settings-manager-1430ee4f.esm.js +463 -0
  12. package/dist/column-settings-manager-92b54563.cjs.dev.js +494 -0
  13. package/dist/column-settings-manager-b08669e8.cjs.prod.js +407 -0
  14. package/dist/commercetools-uikit-data-table-manager.cjs.dev.js +139 -461
  15. package/dist/commercetools-uikit-data-table-manager.cjs.prod.js +134 -380
  16. package/dist/commercetools-uikit-data-table-manager.esm.js +141 -452
  17. package/dist/{data-table-manager-provider-3f60b85b.esm.js → data-table-manager-provider-32eb58dd.esm.js} +41 -9
  18. package/dist/{data-table-manager-provider-6c690fc1.cjs.dev.js → data-table-manager-provider-c64c81aa.cjs.prod.js} +43 -10
  19. package/dist/{data-table-manager-provider-ddf7fb63.cjs.prod.js → data-table-manager-provider-fc238633.cjs.dev.js} +43 -10
  20. package/dist/declarations/src/column-settings-manager/column-settings-manager.d.ts +26 -0
  21. package/dist/declarations/src/column-settings-manager/export-types.d.ts +3 -0
  22. package/dist/declarations/src/column-settings-manager/index.d.ts +2 -0
  23. package/dist/declarations/src/constants.d.ts +2 -0
  24. package/dist/declarations/src/data-table-manager-provider/data-table-manager-provider.d.ts +11 -2
  25. package/dist/declarations/src/data-table-manager-provider/types.d.ts +62 -0
  26. package/dist/declarations/src/export-types.d.ts +2 -0
  27. package/dist/declarations/src/index.d.ts +1 -0
  28. package/dist/declarations/src/settings-container/index.d.ts +2 -0
  29. package/dist/declarations/src/settings-container/settings-container.d.ts +23 -0
  30. package/dist/declarations/src/types.d.ts +203 -2
  31. package/package.json +29 -25
@@ -2,6 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
5
6
  var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
6
7
  var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
7
8
  var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
@@ -16,8 +17,8 @@ var react = require('react');
16
17
  var Spacings = require('@commercetools-uikit/spacings');
17
18
  var dataTableManagerProvider$1 = require('@commercetools-uikit/data-table-manager/data-table-manager-provider');
18
19
  var jsxRuntime = require('@emotion/react/jsx-runtime');
19
- var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
20
20
  var _styled = require('@emotion/styled/base');
21
+ var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entries');
21
22
  var _reduceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
22
23
  require('@commercetools-uikit/utils');
23
24
  var reactIntl = require('react-intl');
@@ -31,21 +32,22 @@ var Grid = require('@commercetools-uikit/grid');
31
32
  var RadioInput = require('@commercetools-uikit/radio-input');
32
33
  var AccessibleHidden = require('@commercetools-uikit/accessible-hidden');
33
34
  var designSystem = require('@commercetools-uikit/design-system');
34
- var AccessibleButton = require('@commercetools-uikit/accessible-button');
35
- var CollapsibleMotion = require('@commercetools-uikit/collapsible-motion');
36
- var Card = require('@commercetools-uikit/card');
37
- var Text = require('@commercetools-uikit/text');
38
- var _Promise = require('@babel/runtime-corejs3/core-js-stable/promise');
39
- var _sliceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/slice');
40
- var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
41
- var reactBeautifulDnd = require('react-beautiful-dnd');
42
- var debounce = require('debounce-promise');
43
- var differenceWith = require('lodash/differenceWith');
44
- var AsyncSelectInput = require('@commercetools-uikit/async-select-input');
45
- var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
46
- var Tag = require('@commercetools-uikit/tag');
35
+ var columnSettingsManager = require('./column-settings-manager-b08669e8.cjs.prod.js');
47
36
  var hooks = require('@commercetools-uikit/hooks');
48
- var dataTableManagerProvider = require('./data-table-manager-provider-ddf7fb63.cjs.prod.js');
37
+ var dataTableManagerProvider = require('./data-table-manager-provider-c64c81aa.cjs.prod.js');
38
+ require('@babel/runtime-corejs3/core-js-stable/promise');
39
+ require('@babel/runtime-corejs3/core-js-stable/instance/slice');
40
+ require('@babel/runtime-corejs3/core-js-stable/instance/find');
41
+ require('react-beautiful-dnd');
42
+ require('debounce-promise');
43
+ require('lodash/differenceWith');
44
+ require('@commercetools-uikit/async-select-input');
45
+ require('@commercetools-uikit/accessible-button');
46
+ require('@commercetools-uikit/collapsible-motion');
47
+ require('@commercetools-uikit/card');
48
+ require('@commercetools-uikit/text');
49
+ require('@babel/runtime-corejs3/core-js-stable/instance/concat');
50
+ require('@commercetools-uikit/tag');
49
51
 
50
52
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
51
53
 
@@ -60,6 +62,7 @@ var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$def
60
62
  var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
61
63
  var Spacings__default = /*#__PURE__*/_interopDefault(Spacings);
62
64
  var _styled__default = /*#__PURE__*/_interopDefault(_styled);
65
+ var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
63
66
  var _reduceInstanceProperty__default = /*#__PURE__*/_interopDefault(_reduceInstanceProperty);
64
67
  var DropdownMenu__default = /*#__PURE__*/_interopDefault(DropdownMenu);
65
68
  var IconButton__default = /*#__PURE__*/_interopDefault(IconButton);
@@ -68,92 +71,18 @@ var FieldLabel__default = /*#__PURE__*/_interopDefault(FieldLabel);
68
71
  var Grid__default = /*#__PURE__*/_interopDefault(Grid);
69
72
  var RadioInput__default = /*#__PURE__*/_interopDefault(RadioInput);
70
73
  var AccessibleHidden__default = /*#__PURE__*/_interopDefault(AccessibleHidden);
71
- var AccessibleButton__default = /*#__PURE__*/_interopDefault(AccessibleButton);
72
- var CollapsibleMotion__default = /*#__PURE__*/_interopDefault(CollapsibleMotion);
73
- var Card__default = /*#__PURE__*/_interopDefault(Card);
74
- var Text__default = /*#__PURE__*/_interopDefault(Text);
75
- var _Promise__default = /*#__PURE__*/_interopDefault(_Promise);
76
- var _sliceInstanceProperty__default = /*#__PURE__*/_interopDefault(_sliceInstanceProperty);
77
- var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
78
- var debounce__default = /*#__PURE__*/_interopDefault(debounce);
79
- var differenceWith__default = /*#__PURE__*/_interopDefault(differenceWith);
80
- var AsyncSelectInput__default = /*#__PURE__*/_interopDefault(AsyncSelectInput);
81
- var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
82
- var Tag__default = /*#__PURE__*/_interopDefault(Tag);
83
74
 
84
75
  const UPDATE_ACTIONS = {
85
76
  COLUMNS_UPDATE: 'columnsUpdate',
77
+ CUSTOM_SETTINGS_UPDATE: 'customSettingsUpdate',
78
+ CUSTOM_COLUMNS_UPDATE: 'customColumnsUpdate',
86
79
  IS_TABLE_CONDENSED_UPDATE: 'isTableCondensedUpdate',
87
80
  IS_TABLE_WRAPPING_TEXT_UPDATE: 'isTableWrappingTextUpdate'
88
81
  };
89
82
  const COLUMN_MANAGER = 'columnManager';
90
83
  const DISPLAY_SETTINGS = 'displaySettings';
91
84
 
92
- const HeaderContainer = /*#__PURE__*/_styled__default["default"]("div", {
93
- target: "e6ezr101"
94
- } )({
95
- name: "1bhm8h2",
96
- styles: "display:flex;flex:1;justify-content:space-between"
97
- } );
98
- const CardContentWrapper = /*#__PURE__*/_styled__default["default"]("div", {
99
- target: "e6ezr100"
100
- } )("padding:", designSystem.designTokens.spacing40, " ", designSystem.designTokens.spacing50, ";" + ("" ));
101
- const SettingsContainer = props => {
102
- const intl = reactIntl.useIntl();
103
- return jsxRuntime.jsx(CollapsibleMotion__default["default"], {
104
- isDefaultClosed: false,
105
- children: _ref => {
106
- let registerContentNode = _ref.registerContentNode,
107
- containerStyles = _ref.containerStyles;
108
- return jsxRuntime.jsx(Card__default["default"], {
109
- type: "raised",
110
- insetScale: "none",
111
- theme: props.containerTheme,
112
- children: jsxRuntime.jsx(CardContentWrapper, {
113
- children: jsxRuntime.jsxs(Spacings__default["default"].Stack, {
114
- scale: "xl",
115
- children: [jsxRuntime.jsxs(HeaderContainer, {
116
- children: [jsxRuntime.jsx(Text__default["default"].Headline, {
117
- as: "h2",
118
- intlMessage: props.title
119
- }), jsxRuntime.jsx(AccessibleButton__default["default"], {
120
- onClick: props.onClose,
121
- label: intl.formatMessage(props.closeButtonLabel),
122
- children: jsxRuntime.jsx(icons.CloseIcon, {
123
- size: "medium"
124
- })
125
- })]
126
- }), jsxRuntime.jsxs(Spacings__default["default"].Stack, {
127
- scale: "l",
128
- children: [jsxRuntime.jsx(Spacings__default["default"].Inset, {
129
- scale: "s",
130
- children: jsxRuntime.jsx("div", {
131
- style: containerStyles,
132
- children: jsxRuntime.jsx("div", {
133
- ref: registerContentNode,
134
- children: props.children
135
- })
136
- })
137
- }), (props.secondaryButton || props.primaryButton) && jsxRuntime.jsxs(Spacings__default["default"].Inline, {
138
- justifyContent: "flex-end",
139
- children: [props.secondaryButton, props.primaryButton]
140
- })]
141
- })]
142
- })
143
- })
144
- });
145
- }
146
- });
147
- };
148
- SettingsContainer.propTypes = {};
149
- SettingsContainer.displayName = 'SettingsContainer';
150
- const defaultProps$2 = {
151
- containerTheme: 'dark'
152
- };
153
- SettingsContainer.defaultProps = defaultProps$2;
154
- var SettingsContainer$1 = SettingsContainer;
155
-
156
- var messages$3 = reactIntl.defineMessages({
85
+ var messages$2 = reactIntl.defineMessages({
157
86
  title: {
158
87
  id: 'UIKit.DataTableManager.DensityManager.title',
159
88
  description: 'Title for the density manager component.',
@@ -205,9 +134,10 @@ const DensityManager = props => {
205
134
  const intl = reactIntl.useIntl();
206
135
  const textWrappingOption = props.isWrappingText ? SHOW_HIDE_ON_DEMAND : WRAPPED_TEXT_VISIBLE;
207
136
  const densityDisplayOption = props.isCondensed ? DENSITY_COMPACT : DENSITY_COMFORTABLE;
208
- return jsxRuntime.jsx(SettingsContainer$1, {
209
- title: messages$3.title,
210
- closeButtonLabel: messages$3.closeButtonLabel,
137
+ return jsxRuntime.jsx(columnSettingsManager.SettingsContainer, {
138
+ customSettingsTitle: props.title,
139
+ title: messages$2.title,
140
+ closeButtonLabel: messages$2.closeButtonLabel,
211
141
  onClose: props.onClose,
212
142
  primaryButton: props.primaryButton,
213
143
  secondaryButton: props.secondaryButton,
@@ -219,7 +149,7 @@ const DensityManager = props => {
219
149
  children: jsxRuntime.jsxs(Spacings__default["default"].Stack, {
220
150
  scale: 'l',
221
151
  children: [jsxRuntime.jsx(FieldLabel__default["default"], {
222
- title: intl.formatMessage(messages$3.textWrappingSubtitle)
152
+ title: intl.formatMessage(messages$2.textWrappingSubtitle)
223
153
  }), jsxRuntime.jsxs(AccessibleHidden__default["default"], {
224
154
  children: [jsxRuntime.jsx("label", {
225
155
  htmlFor: "text-wrapping-0",
@@ -235,10 +165,10 @@ const DensityManager = props => {
235
165
  onChange: props.onTextWrappingChange,
236
166
  children: [jsxRuntime.jsx(RadioInput__default["default"].Option, {
237
167
  value: WRAPPED_TEXT_VISIBLE,
238
- children: intl.formatMessage(messages$3.textWrappingAllWrapVisibleOption)
168
+ children: intl.formatMessage(messages$2.textWrappingAllWrapVisibleOption)
239
169
  }), jsxRuntime.jsx(RadioInput__default["default"].Option, {
240
170
  value: SHOW_HIDE_ON_DEMAND,
241
- children: intl.formatMessage(messages$3.textWrappingShowHideOnDemandOption)
171
+ children: intl.formatMessage(messages$2.textWrappingShowHideOnDemandOption)
242
172
  })]
243
173
  })]
244
174
  })
@@ -246,7 +176,7 @@ const DensityManager = props => {
246
176
  children: jsxRuntime.jsxs(Spacings__default["default"].Stack, {
247
177
  scale: 'l',
248
178
  children: [jsxRuntime.jsx(FieldLabel__default["default"], {
249
- title: intl.formatMessage(messages$3.densityDisplaySubtitle)
179
+ title: intl.formatMessage(messages$2.densityDisplaySubtitle)
250
180
  }), jsxRuntime.jsxs(AccessibleHidden__default["default"], {
251
181
  children: [jsxRuntime.jsx("label", {
252
182
  htmlFor: "density-display-0",
@@ -262,10 +192,10 @@ const DensityManager = props => {
262
192
  onChange: props.onDensityDisplayChange,
263
193
  children: [jsxRuntime.jsx(RadioInput__default["default"].Option, {
264
194
  value: DENSITY_COMFORTABLE,
265
- children: intl.formatMessage(messages$3.densityDisplayComfortableOption)
195
+ children: intl.formatMessage(messages$2.densityDisplayComfortableOption)
266
196
  }), jsxRuntime.jsx(RadioInput__default["default"].Option, {
267
197
  value: DENSITY_COMPACT,
268
- children: intl.formatMessage(messages$3.densityDisplayCompactOption)
198
+ children: intl.formatMessage(messages$2.densityDisplayCompactOption)
269
199
  })]
270
200
  })]
271
201
  })
@@ -275,286 +205,35 @@ const DensityManager = props => {
275
205
  };
276
206
  DensityManager.propTypes = {};
277
207
  DensityManager.displayName = 'DensityManager';
278
- const defaultProps$1 = {
208
+ const defaultProps = {
279
209
  isCondensed: true,
280
210
  isWrappingText: false
281
211
  };
282
- DensityManager.defaultProps = defaultProps$1;
212
+ DensityManager.defaultProps = defaultProps;
283
213
  var DisplaySettingsManager = DensityManager;
284
214
 
285
- const DraggingSmall = /*#__PURE__*/_styled__default["default"]("small", {
286
- target: "e1mp438g1"
287
- } )({
288
- name: "1fhyj3b",
289
- styles: "&:hover{cursor:grab;}"
290
- } );
291
- const DraggingContainer = /*#__PURE__*/_styled__default["default"]("div", {
292
- target: "e1mp438g0"
293
- } )(DraggingSmall, ";" + ("" ));
294
- var DraggingContainer$1 = DraggingContainer;
295
-
296
- function ownKeys$3(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
297
- function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$3(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$3(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
298
- const DraggableTagWrapper = /*#__PURE__*/_styled__default["default"]("div", {
299
- target: "emzjy4n0"
300
- } )("padding:", designSystem.designTokens.spacing10, " 0;" + ("" ));
301
- const DraggableTag = props => {
302
- const handleRemoveColumn = () => {
303
- var _props$onRemove;
304
- return (_props$onRemove = props.onRemove) === null || _props$onRemove === void 0 ? void 0 : _props$onRemove.call(props, props.index);
305
- };
306
- return jsxRuntime.jsx(reactBeautifulDnd.Draggable, {
307
- draggableId: props.column.key,
308
- index: props.index,
309
- isDragDisabled: props.isDisabled,
310
- children: provided => {
311
- return jsxRuntime.jsx(DraggableTagWrapper, {
312
- children: jsxRuntime.jsx(DraggingContainer$1, _objectSpread$3(_objectSpread$3(_objectSpread$3({
313
- ref: provided.innerRef
314
- }, provided.draggableProps), provided.dragHandleProps), {}, {
315
- children: jsxRuntime.jsx(Tag__default["default"], {
316
- onRemove: props.onRemove ? handleRemoveColumn : undefined,
317
- isDisabled: props.isDisabled,
318
- isDraggable: true,
319
- children: props.column.label
320
- })
321
- }))
322
- });
323
- }
324
- });
325
- };
326
- DraggableTag.propTypes = {};
327
- DraggableTag.displayName = 'DraggableTag';
328
- var DraggableTag$1 = DraggableTag;
329
-
330
- const TagContainerEditable = /*#__PURE__*/_styled__default["default"]("div", {
331
- target: "e7rakq0"
332
- } )("background-color:", designSystem.designTokens.colorSurface, ";border:1px solid ", designSystem.designTokens.colorNeutral, ";border-radius:", designSystem.designTokens.borderRadius4, ";padding:", designSystem.designTokens.spacing30, ";height:", designSystem.designTokens.constraint7, ";overflow:auto;" + ("" ));
333
- var TagContainerEditable$1 = TagContainerEditable;
334
-
335
- var messages$2 = reactIntl.defineMessages({
336
- loadMoreAttributesHint: {
337
- id: 'UIKit.DataTableManager.ColumnManager.DroppablePanel.loadMoreAttributesHint',
338
- description: 'Indicate that the user can use the search input to load more attributes',
339
- defaultMessage: 'Load more attributes by using the search input above'
340
- }
341
- });
342
-
343
- const DroppablePanel = props => {
344
- return jsxRuntime.jsx(reactBeautifulDnd.Droppable, {
345
- droppableId: props.droppableId,
346
- children: provided => {
347
- var _context;
348
- return jsxRuntime.jsxs(TagContainerEditable$1, {
349
- "data-testid": props.droppableId,
350
- ref: provided.innerRef,
351
- children: [props.columns.length === 0 ? jsxRuntime.jsx(Spacings__default["default"].Inset, {
352
- scale: "s",
353
- children: jsxRuntime.jsx(Text__default["default"].Detail, {
354
- tone: "secondary",
355
- children: props.noColumnsText
356
- })
357
- }) : jsxRuntime.jsxs(jsxRuntime.Fragment, {
358
- children: [_mapInstanceProperty__default["default"](_context = props.columns).call(_context, (column, index) => {
359
- var _context2;
360
- return jsxRuntime.jsx(DraggableTag$1, {
361
- column: column,
362
- index: index,
363
- onRemove: props.onRemove ? () => {
364
- var _context3, _context4;
365
- return props.onRemove([..._sliceInstanceProperty__default["default"](_context3 = props.columns).call(_context3, 0, index), ..._sliceInstanceProperty__default["default"](_context4 = props.columns).call(_context4, index + 1)]);
366
- } : undefined,
367
- isDisabled: props.isDisabled
368
- }, _concatInstanceProperty__default["default"](_context2 = "".concat(column.key, "-")).call(_context2, index));
369
- }), props.isSearchable && jsxRuntime.jsx(Spacings__default["default"].Inset, {
370
- scale: "xs",
371
- children: jsxRuntime.jsx(Text__default["default"].Detail, {
372
- tone: "secondary",
373
- intlMessage: messages$2.loadMoreAttributesHint
374
- })
375
- })]
376
- }), provided.placeholder]
377
- });
378
- }
379
- });
380
- };
381
- DroppablePanel.propTypes = {};
382
- DroppablePanel.displayName = 'DroppablePanel';
383
- var DroppablePanel$1 = DroppablePanel;
384
-
385
215
  var messages$1 = reactIntl.defineMessages({
386
- title: {
387
- id: 'UIKit.DataTableManager.ColumnManager.title',
388
- description: 'Title for the column manager component.',
389
- defaultMessage: 'Column Manager'
390
- },
391
- visibleColumns: {
392
- id: 'UIKit.DataTableManager.ColumnSelectorGroups.visible',
393
- description: 'Message for the visible columns section.',
394
- defaultMessage: 'Visible columns'
395
- },
396
- hiddenColumns: {
397
- id: 'UIKit.DataTableManager.ColumnManager.hiddenColumns',
398
- description: 'Message for the hidden columns section',
399
- defaultMessage: 'Hidden columns'
400
- },
401
- noSelectedColumnsToShow: {
402
- id: 'UIKit.DataTableManager.ColumnManager.noSelectedColumnsToShow',
403
- description: 'Label when there are no selected columns to show',
404
- defaultMessage: 'There are no selected columns to show.'
405
- },
406
- noHiddenColumnsToShow: {
407
- id: 'UIKit.DataTableManager.ColumnManager.noHiddenColumnsToShow',
408
- description: 'Label when there are no hidden columns to show',
409
- defaultMessage: 'There are no hidden columns to show.'
410
- },
411
216
  closeButtonLabel: {
412
- id: 'UIKit.DataTableManager.ColumnManager.closeButtonLabel',
413
- description: 'Label for density manager close button.',
217
+ id: 'UIKit.DataTableManager.CustomSettingsManager.closeButtonLabel',
218
+ description: 'Label for custom settings manager close button.',
414
219
  defaultMessage: 'Close'
415
220
  }
416
221
  });
417
222
 
418
- const HIDDEN_COLUMNS_PANEL = 'hidden-columns-panel';
419
- const SELECTED_COLUMNS_PANEL = 'selected-columns-panel';
420
-
421
- function ownKeys$2(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
422
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$2(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$2(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
423
- const noSearch = () => _Promise__default["default"].resolve([]);
424
- // 'onChange' prop in AsyncSelectInput is required but not needed here
425
- const voidChangeHandler = () => undefined;
426
- const DroppableContainer = /*#__PURE__*/_styled__default["default"]("div", {
427
- target: "en01od20"
428
- } )("width:100%;position:relative;max-width:", designSystem.designTokens.constraint10, ";cursor:", props => props.isDragging ? 'grabbing' : 'auto', ";" + ("" ));
429
- const handleColumnsUpdate = (dragResult, onUpdateColumns, selectedColumns, availableColumns, setIsDragging) => {
430
- setIsDragging(false);
431
- // Invalid drop destination, do nothing
432
- if (!dragResult.destination) return;
433
- if (dragResult.destination.droppableId === HIDDEN_COLUMNS_PANEL) {
434
- if (dragResult.source.droppableId === HIDDEN_COLUMNS_PANEL) return;
435
- onUpdateColumns([..._sliceInstanceProperty__default["default"](selectedColumns).call(selectedColumns, 0, dragResult.source.index), ..._sliceInstanceProperty__default["default"](selectedColumns).call(selectedColumns, dragResult.source.index + 1)]);
436
- } else {
437
- // the destination is the selected columns panel
438
-
439
- // it's a swap when the source and the destination are the same
440
- const isSwap = dragResult.source.droppableId === SELECTED_COLUMNS_PANEL;
441
- const items = isSwap ?
442
- // remove the dragged item from its position if it is not coming from
443
- // the hidden section (it is a swap)
444
- [..._sliceInstanceProperty__default["default"](selectedColumns).call(selectedColumns, 0, dragResult.source.index), ..._sliceInstanceProperty__default["default"](selectedColumns).call(selectedColumns, dragResult.source.index + 1)] : selectedColumns;
445
- const columns = isSwap ? selectedColumns : availableColumns;
446
- const draggedColumn = _findInstanceProperty__default["default"](columns).call(columns, col => col.key === dragResult.draggableId);
447
-
448
- // push the column in the new position if draggedColumn is found
449
- if (draggedColumn) {
450
- onUpdateColumns([..._sliceInstanceProperty__default["default"](items).call(items, 0, dragResult.destination.index), draggedColumn, ..._sliceInstanceProperty__default["default"](items).call(items, dragResult.destination.index)]);
451
- }
452
- }
453
- };
454
- const DropdownIndicator = () => jsxRuntime.jsx(Spacings__default["default"].Inline, {
455
- alignItems: "center",
456
- children: jsxRuntime.jsx(icons.SearchIcon, {
457
- size: "medium",
458
- color: "primary"
459
- })
460
- });
461
- DropdownIndicator.displayName = 'DropdownIndicator';
462
- const Nothing = () => null;
463
- const selectInputComponents = {
464
- Option: Nothing,
465
- Menu: Nothing,
466
- DropdownIndicator
467
- };
468
- const ColumnSettingsManager = props => {
469
- if (props.areHiddenColumnsSearchable) ;
470
- const intl = reactIntl.useIntl();
471
- const _useState = react.useState(false),
472
- _useState2 = _slicedToArray(_useState, 2),
473
- isDragging = _useState2[0],
474
- setIsDragging = _useState2[1];
475
- const searchHiddenColumns = props.searchHiddenColumns;
476
- const handleDragStart = () => {
477
- setIsDragging(true);
478
- };
479
- const hiddenColumns = react.useMemo(() => differenceWith__default["default"](props.availableColumns, props.selectedColumns, (a, b) => a.key === b.key), [props.availableColumns, props.selectedColumns]);
480
- const handleDragEnd = react.useCallback(dragResult => handleColumnsUpdate(dragResult, props.onUpdateColumns, props.selectedColumns, props.availableColumns, setIsDragging), [props.onUpdateColumns, props.selectedColumns, props.availableColumns]);
481
- const debouncedSearchHiddenColumns = react.useMemo(() => debounce__default["default"](searchHiddenColumns !== null && searchHiddenColumns !== void 0 ? searchHiddenColumns : noSearch, 300), [searchHiddenColumns]);
482
- const handleInputChange = react.useCallback(inputValue => debouncedSearchHiddenColumns(inputValue), [debouncedSearchHiddenColumns]);
483
- return jsxRuntime.jsx(SettingsContainer$1, {
484
- title: messages$1.title,
485
- closeButtonLabel: messages$1.closeButtonLabel,
486
- onClose: props.onClose,
487
- primaryButton: props.primaryButton,
488
- secondaryButton: props.secondaryButton,
489
- containerTheme: props.managerTheme,
490
- children: jsxRuntime.jsx(reactBeautifulDnd.DragDropContext, {
491
- onDragEnd: handleDragEnd,
492
- onDragStart: handleDragStart,
493
- children: jsxRuntime.jsxs(Spacings__default["default"].Inline, {
494
- scale: "l",
495
- children: [jsxRuntime.jsx(DroppableContainer, {
496
- isDragging: isDragging,
497
- "aria-labelledby": "hidden-columns",
498
- children: jsxRuntime.jsxs(Spacings__default["default"].Stack, {
499
- scale: "m",
500
- children: [jsxRuntime.jsxs(Spacings__default["default"].Inline, {
501
- scale: "s",
502
- alignItems: "center",
503
- children: [jsxRuntime.jsx(icons.EyeCrossedIcon, {
504
- size: "big"
505
- }), jsxRuntime.jsx(FieldLabel__default["default"], {
506
- id: "hidden-columns",
507
- title: intl.formatMessage(messages$1.hiddenColumns)
508
- })]
509
- }), props.areHiddenColumnsSearchable && jsxRuntime.jsx(AsyncSelectInput__default["default"], _objectSpread$2(_objectSpread$2({}, props.searchHiddenColumnsPlaceholder ? {
510
- placeholder: props.searchHiddenColumnsPlaceholder
511
- } : undefined), {}, {
512
- onChange: voidChangeHandler,
513
- loadOptions: noSearch,
514
- onInputChange: handleInputChange,
515
- components: selectInputComponents
516
- })), jsxRuntime.jsx(DroppablePanel$1, {
517
- droppableId: HIDDEN_COLUMNS_PANEL,
518
- "data-testid": HIDDEN_COLUMNS_PANEL,
519
- noColumnsText: intl.formatMessage(messages$1.noHiddenColumnsToShow),
520
- columns: hiddenColumns,
521
- isSearchable: props.areHiddenColumnsSearchable
522
- })]
523
- })
524
- }), jsxRuntime.jsx(DroppableContainer, {
525
- isDragging: isDragging,
526
- "aria-labelledby": "visible-columns",
527
- children: jsxRuntime.jsxs(Spacings__default["default"].Stack, {
528
- scale: "m",
529
- children: [jsxRuntime.jsxs(Spacings__default["default"].Inline, {
530
- scale: "xs",
531
- alignItems: "center",
532
- children: [jsxRuntime.jsx(icons.EyeIcon, {
533
- size: "medium"
534
- }), jsxRuntime.jsx(FieldLabel__default["default"], {
535
- id: "visible-columns",
536
- title: intl.formatMessage(messages$1.visibleColumns)
537
- })]
538
- }), jsxRuntime.jsx(DroppablePanel$1, {
539
- droppableId: SELECTED_COLUMNS_PANEL,
540
- "data-testid": SELECTED_COLUMNS_PANEL,
541
- noColumnsText: intl.formatMessage(messages$1.noSelectedColumnsToShow),
542
- columns: props.selectedColumns,
543
- onRemove: props.onUpdateColumns
544
- })]
545
- })
546
- })]
547
- })
223
+ const CustomSettingsManager = props => {
224
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {
225
+ children: jsxRuntime.jsx(columnSettingsManager.SettingsContainer, {
226
+ customSettingsTitle: props.customPanelTitle,
227
+ closeButtonLabel: messages$1.closeButtonLabel,
228
+ onClose: props.onClose,
229
+ containerTheme: props.managerTheme,
230
+ children: props.children
548
231
  })
549
232
  });
550
233
  };
551
- ColumnSettingsManager.propTypes = {};
552
- ColumnSettingsManager.displayName = 'ColumnSettingsManager';
553
- const defaultProps = {
554
- availableColumns: []
555
- };
556
- ColumnSettingsManager.defaultProps = defaultProps;
557
- var ColumnSettingsManager$1 = ColumnSettingsManager;
234
+ CustomSettingsManager.propTypes = {};
235
+ CustomSettingsManager.displayName = 'CustomSettingsManager';
236
+ var CustomSettingsManager$1 = CustomSettingsManager;
558
237
 
559
238
  var messages = reactIntl.defineMessages({
560
239
  placeholder: {
@@ -575,7 +254,7 @@ var messages = reactIntl.defineMessages({
575
254
  });
576
255
 
577
256
  function ownKeys$1(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
578
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$1(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$1(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
257
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context4, _context5; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys$1(Object(t), !0)).call(_context4, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys$1(Object(t))).call(_context5, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
579
258
  const TopBarContainer = /*#__PURE__*/_styled__default["default"]("div", {
580
259
  target: "e3i1gnv0"
581
260
  } )({
@@ -583,16 +262,29 @@ const TopBarContainer = /*#__PURE__*/_styled__default["default"]("div", {
583
262
  styles: "flex-grow:1"
584
263
  } );
585
264
  const getDropdownOptions = _ref => {
586
- let areColumnSettingsEnabled = _ref.areColumnSettingsEnabled,
265
+ var _context, _context2;
266
+ let areCustomColumnSettingsEnabled = _ref.areCustomColumnSettingsEnabled,
267
+ areColumnSettingsEnabled = _ref.areColumnSettingsEnabled,
587
268
  areDisplaySettingsEnabled = _ref.areDisplaySettingsEnabled,
269
+ customSettings = _ref.customSettings,
270
+ columnManagerLabel = _ref.columnManagerLabel,
271
+ displaySettingsLabel = _ref.displaySettingsLabel,
588
272
  formatMessage = _ref.formatMessage;
589
- return [...(areColumnSettingsEnabled ? [{
273
+ return _filterInstanceProperty__default["default"](_context = [...(areColumnSettingsEnabled ? [{
590
274
  value: COLUMN_MANAGER,
591
- label: formatMessage(messages.columnManagerOption)
592
- }] : []), ...(areDisplaySettingsEnabled ? [{
275
+ label: columnManagerLabel ? columnManagerLabel : formatMessage(messages.columnManagerOption)
276
+ }] : []), ...(customSettings ? _mapInstanceProperty__default["default"](_context2 = _Object$entries__default["default"](customSettings)).call(_context2, _ref2 => {
277
+ let _ref3 = _slicedToArray(_ref2, 2),
278
+ key = _ref3[0],
279
+ customSetting = _ref3[1];
280
+ return customSetting.type === COLUMN_MANAGER && !areCustomColumnSettingsEnabled ? undefined : {
281
+ value: key,
282
+ label: customSetting.customPanelTitle
283
+ };
284
+ }) : []), ...(areDisplaySettingsEnabled ? [{
593
285
  value: DISPLAY_SETTINGS,
594
- label: formatMessage(messages.displaySettingsOption)
595
- }] : [])];
286
+ label: displaySettingsLabel ? displaySettingsLabel : formatMessage(messages.displaySettingsOption)
287
+ }] : [])]).call(_context, option => option !== undefined);
596
288
  };
597
289
  const getMappedColumns = function () {
598
290
  let columns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -605,17 +297,22 @@ const getSelectedColumns = function (mappedColumns) {
605
297
  return _mapInstanceProperty__default["default"](visibleColumnsKeys).call(visibleColumnsKeys, columnKey => mappedColumns[columnKey]);
606
298
  };
607
299
  const DataTableSettings = props => {
608
- var _props$columnManager$, _props$columnManager;
300
+ var _props$customColumnMa, _props$columnManager, _props$displaySetting, _props$displaySetting2, _props$columnManager2, _props$columnManager$, _props$columnManager3, _context3;
609
301
  const areDisplaySettingsEnabled = Boolean(props.displaySettings && !props.displaySettings.disableDisplaySettings);
610
302
  const areColumnSettingsEnabled = Boolean(props.columnManager && !props.columnManager.disableColumnManager);
303
+ const areCustomColumnSettingsEnabled = Boolean(props.customColumnManager && !((_props$customColumnMa = props.customColumnManager) !== null && _props$customColumnMa !== void 0 && _props$customColumnMa.disableCustomColumnManager));
611
304
  const intl = reactIntl.useIntl();
612
305
  const _useState = react.useState(null),
613
306
  _useState2 = _slicedToArray(_useState, 2),
614
307
  openedPanelId = _useState2[0],
615
308
  setOpenedPanelId = _useState2[1];
616
309
  const dropdownOptions = getDropdownOptions({
310
+ areCustomColumnSettingsEnabled,
617
311
  areDisplaySettingsEnabled,
618
312
  areColumnSettingsEnabled,
313
+ customSettings: props.customSettings,
314
+ columnManagerLabel: (_props$columnManager = props.columnManager) === null || _props$columnManager === void 0 ? void 0 : _props$columnManager.columnManagerLabel,
315
+ displaySettingsLabel: (_props$displaySetting = props.displaySettings) === null || _props$displaySetting === void 0 ? void 0 : _props$displaySetting.displaySettingsLabel,
619
316
  formatMessage: intl.formatMessage
620
317
  });
621
318
  const mappedColumns = getMappedColumns(areColumnSettingsEnabled ? props.columnManager.hideableColumns : undefined);
@@ -648,6 +345,7 @@ const DataTableSettings = props => {
648
345
  })
649
346
  })]
650
347
  }), openedPanelId === DISPLAY_SETTINGS && jsxRuntime.jsx(DisplaySettingsManager, _objectSpread$1(_objectSpread$1({}, props.displaySettings || {}), {}, {
348
+ title: (_props$displaySetting2 = props.displaySettings) === null || _props$displaySetting2 === void 0 ? void 0 : _props$displaySetting2.displaySettingsLabel,
651
349
  onClose: handleSettingsPanelChange,
652
350
  onDensityDisplayChange: event => {
653
351
  var _props$onSettingsChan;
@@ -658,8 +356,9 @@ const DataTableSettings = props => {
658
356
  (_props$onSettingsChan2 = props.onSettingsChange) === null || _props$onSettingsChan2 === void 0 || _props$onSettingsChan2.call(props, UPDATE_ACTIONS.IS_TABLE_WRAPPING_TEXT_UPDATE, event.target.value === SHOW_HIDE_ON_DEMAND);
659
357
  },
660
358
  managerTheme: props.managerTheme
661
- })), openedPanelId === COLUMN_MANAGER && jsxRuntime.jsx(ColumnSettingsManager$1, _objectSpread$1(_objectSpread$1({}, props.columnManager || {}), {}, {
662
- availableColumns: (_props$columnManager$ = (_props$columnManager = props.columnManager) === null || _props$columnManager === void 0 ? void 0 : _props$columnManager.hideableColumns) !== null && _props$columnManager$ !== void 0 ? _props$columnManager$ : [],
359
+ })), openedPanelId === COLUMN_MANAGER && jsxRuntime.jsx(columnSettingsManager.ColumnSettingsManager, _objectSpread$1(_objectSpread$1({}, props.columnManager || {}), {}, {
360
+ title: (_props$columnManager2 = props.columnManager) === null || _props$columnManager2 === void 0 ? void 0 : _props$columnManager2.columnManagerLabel,
361
+ availableColumns: (_props$columnManager$ = (_props$columnManager3 = props.columnManager) === null || _props$columnManager3 === void 0 ? void 0 : _props$columnManager3.hideableColumns) !== null && _props$columnManager$ !== void 0 ? _props$columnManager$ : [],
663
362
  selectedColumns: selectedColumns,
664
363
  onClose: handleSettingsPanelChange,
665
364
  onUpdateColumns: nextVisibleColumns => {
@@ -668,7 +367,40 @@ const DataTableSettings = props => {
668
367
  (_props$onSettingsChan3 = props.onSettingsChange) === null || _props$onSettingsChan3 === void 0 || _props$onSettingsChan3.call(props, UPDATE_ACTIONS.COLUMNS_UPDATE, keysOfVisibleColumns);
669
368
  },
670
369
  managerTheme: props.managerTheme
671
- }))]
370
+ })), props.customSettings && _mapInstanceProperty__default["default"](_context3 = _Object$entries__default["default"](props.customSettings)).call(_context3, _ref4 => {
371
+ var _props$customColumnMa2;
372
+ let _ref5 = _slicedToArray(_ref4, 2),
373
+ key = _ref5[0],
374
+ customSetting = _ref5[1];
375
+ if (!customSetting.key) {
376
+ throw new Error('ui-kit/DataTableManager: missing: `key` prop, `customSettings` must be a JSON in the format Record<string, Object>.');
377
+ }
378
+ const CustomComponent = customSetting.customComponent;
379
+ return key === openedPanelId && jsxRuntime.jsx("div", {
380
+ children: customSetting.type === COLUMN_MANAGER ? CustomComponent && jsxRuntime.jsx(CustomComponent, _objectSpread$1(_objectSpread$1({}, customSetting || {}), {}, {
381
+ additionalSettings: _objectSpread$1(_objectSpread$1({}, customSetting), props.additionalSettings),
382
+ onClose: handleSettingsPanelChange,
383
+ managerTheme: props.managerTheme,
384
+ selectedColumns: props.selectedColumns,
385
+ availableColumns: (_props$customColumnMa2 = props.customColumnManager) !== null && _props$customColumnMa2 !== void 0 ? _props$customColumnMa2 : undefined,
386
+ onUpdateColumns: (nextVisibleColumns, key) => {
387
+ var _props$onSettingsChan4;
388
+ const keysOfVisibleColumns = _mapInstanceProperty__default["default"](nextVisibleColumns).call(nextVisibleColumns, visibleColumn => visibleColumn.key);
389
+ (_props$onSettingsChan4 = props.onSettingsChange) === null || _props$onSettingsChan4 === void 0 || _props$onSettingsChan4.call(props, UPDATE_ACTIONS.CUSTOM_COLUMNS_UPDATE, keysOfVisibleColumns, key);
390
+ }
391
+ })) : jsxRuntime.jsx(CustomSettingsManager$1, _objectSpread$1(_objectSpread$1({}, customSetting || {}), {}, {
392
+ onClose: handleSettingsPanelChange,
393
+ managerTheme: props.managerTheme,
394
+ children: CustomComponent && jsxRuntime.jsx(CustomComponent, {
395
+ updateCustomSettings: settings => {
396
+ var _props$onSettingsChan5;
397
+ (_props$onSettingsChan5 = props.onSettingsChange) === null || _props$onSettingsChan5 === void 0 || _props$onSettingsChan5.call(props, UPDATE_ACTIONS.CUSTOM_SETTINGS_UPDATE, settings);
398
+ },
399
+ additionalSettings: _objectSpread$1(_objectSpread$1({}, customSetting), props.additionalSettings)
400
+ })
401
+ }))
402
+ }, customSetting.key);
403
+ })]
672
404
  });
673
405
  };
674
406
  DataTableSettings.displayName = 'DataTableSettings';
@@ -683,6 +415,10 @@ const DataTableManager = props => {
683
415
  const topBar = props.topBar || dataTableManagerContext.topBar;
684
416
  const onSettingsChange = props.onSettingsChange || dataTableManagerContext.onSettingsChange;
685
417
  const columnManager = props.columnManager || dataTableManagerContext.columnManager;
418
+ const customSettings = props.customSettings || dataTableManagerContext.customSettings;
419
+ const selectedColumns = props.selectedColumns || dataTableManagerContext.selectedColumns;
420
+ const customColumnManager = props.customColumnManager || dataTableManagerContext.customColumnManager;
421
+ const customColumns = props.customColumns || dataTableManagerContext.customColumns;
686
422
  const areDisplaySettingsEnabled = Boolean(displaySettings && !displaySettings.disableDisplaySettings);
687
423
  const isWrappingText = areDisplaySettingsEnabled && displaySettings.isWrappingText;
688
424
  if (!dataTableColumns) {
@@ -691,15 +427,32 @@ const DataTableManager = props => {
691
427
  const columns = react.useMemo(() => _mapInstanceProperty__default["default"](dataTableColumns).call(dataTableColumns, column => _objectSpread(_objectSpread({}, column), {}, {
692
428
  isTruncated: areDisplaySettingsEnabled ? isWrappingText : column.isTruncated
693
429
  })), [dataTableColumns, areDisplaySettingsEnabled, isWrappingText]);
430
+ const _useState = react.useState({
431
+ key: ''
432
+ }),
433
+ _useState2 = _slicedToArray(_useState, 2),
434
+ additionalSettings = _useState2[0],
435
+ setAdditionalSettings = _useState2[1];
436
+ const additionalCustomSetting = dataTableManagerContext.additionalSettings || additionalSettings;
437
+ const updateSettings = additionalCustomSettings => {
438
+ setAdditionalSettings(additionalCustomSettings);
439
+ };
440
+ const updateCustomSettings = dataTableManagerContext.updateCustomSettings || updateSettings;
694
441
  return jsxRuntime.jsxs(Spacings__default["default"].Stack, {
695
442
  children: [jsxRuntime.jsx(DataTableSettings$1, {
696
443
  topBar: topBar,
697
444
  onSettingsChange: onSettingsChange,
698
445
  columnManager: columnManager,
699
446
  displaySettings: displaySettings,
700
- managerTheme: "light"
447
+ customSettings: customSettings,
448
+ managerTheme: "light",
449
+ additionalSettings: additionalCustomSetting,
450
+ updateCustomSettings: settings => updateCustomSettings(settings),
451
+ selectedColumns: selectedColumns !== null && selectedColumns !== void 0 ? selectedColumns : [],
452
+ customColumnManager: customColumnManager !== null && customColumnManager !== void 0 ? customColumnManager : undefined
701
453
  }), props.children ? /*#__PURE__*/react.cloneElement(props.children, {
702
454
  columns,
455
+ customColumns,
703
456
  isCondensed: areDisplaySettingsEnabled && props.displaySettings.isCondensed
704
457
  }) : null]
705
458
  });
@@ -708,8 +461,9 @@ DataTableManager.displayName = 'DataTableManager';
708
461
  var DataTableManager$1 = DataTableManager;
709
462
 
710
463
  // NOTE: This string will be replaced on build time with the package version.
711
- var version = "19.8.0";
464
+ var version = "19.10.0";
712
465
 
466
+ exports.ColumnSettingsManager = columnSettingsManager.ColumnSettingsManager;
713
467
  Object.defineProperty(exports, 'useRowSelection', {
714
468
  enumerable: true,
715
469
  get: function () { return hooks.useRowSelection; }