@elliemae/ds-data-table 2.0.0-rc.1 → 2.0.0-rc.10

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 (132) hide show
  1. package/cjs/DataTableSchema.js +21 -12
  2. package/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +24 -2
  3. package/cjs/addons/Filters/Components/NumberRangeFilter/index.js +25 -3
  4. package/cjs/addons/Filters/Components/index.js +0 -2
  5. package/cjs/addons/Filters/index.js +0 -2
  6. package/cjs/configs/usePaginationConfig.js +1 -1
  7. package/cjs/configs/useRowFlattenization.js +3 -3
  8. package/cjs/exported-related/EditableCell.js +2 -2
  9. package/cjs/exported-related/FilterPopover.js +17 -3
  10. package/cjs/exported-related/FilterTypes.js +0 -1
  11. package/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js +0 -2
  12. package/cjs/exported-related/Filters/index.js +0 -2
  13. package/cjs/exported-related/index.js +0 -2
  14. package/cjs/helpers/refs-helpers.js +2 -2
  15. package/cjs/index.js +0 -2
  16. package/cjs/parts/FilterBar/FiltersBar.js +0 -2
  17. package/cjs/parts/FilterBar/components/index.js +0 -2
  18. package/cjs/parts/Filters/index.js +10 -12
  19. package/cjs/parts/Headers/HeaderCellGroup.js +4 -3
  20. package/cjs/parts/Headers/index.js +1 -1
  21. package/cjs/parts/Headers/useHeaderCellHandlers.js +4 -2
  22. package/cjs/parts/HoC/withConditionalDnDColumnContext.js +37 -16
  23. package/cjs/parts/HoC/withConditionalDnDRowContext.js +11 -12
  24. package/cjs/parts/HoC/withConditionalDnDSortableContext.js +1 -1
  25. package/cjs/parts/HoC/withDnDSortableColumnContext.js +5 -19
  26. package/cjs/parts/HoC/withDnDSortableRowContext.js +3 -17
  27. package/cjs/parts/Row.js +10 -10
  28. package/cjs/parts/Rows.js +1 -1
  29. package/cjs/parts/index.js +1 -1
  30. package/cjs/styled.js +2 -2
  31. package/esm/DataTableSchema.js +21 -12
  32. package/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +24 -2
  33. package/esm/addons/Filters/Components/NumberRangeFilter/index.js +25 -3
  34. package/esm/addons/Filters/Components/index.js +0 -1
  35. package/esm/addons/Filters/index.js +0 -1
  36. package/esm/configs/usePaginationConfig.js +1 -1
  37. package/esm/configs/useRowFlattenization.js +3 -3
  38. package/esm/exported-related/EditableCell.js +2 -2
  39. package/esm/exported-related/FilterPopover.js +17 -3
  40. package/esm/exported-related/FilterTypes.js +0 -1
  41. package/esm/exported-related/Filters/applyOutOfTheBoxFilters.js +0 -2
  42. package/esm/exported-related/Filters/index.js +0 -1
  43. package/esm/exported-related/index.js +0 -1
  44. package/esm/helpers/refs-helpers.js +2 -2
  45. package/esm/index.js +0 -1
  46. package/esm/parts/FilterBar/FiltersBar.js +0 -2
  47. package/esm/parts/FilterBar/components/index.js +0 -1
  48. package/esm/parts/Filters/index.js +0 -2
  49. package/esm/parts/Headers/HeaderCellGroup.js +4 -4
  50. package/esm/parts/Headers/index.js +2 -2
  51. package/esm/parts/Headers/useHeaderCellHandlers.js +4 -2
  52. package/esm/parts/HoC/withConditionalDnDColumnContext.js +38 -17
  53. package/esm/parts/HoC/withConditionalDnDRowContext.js +12 -13
  54. package/esm/parts/HoC/withConditionalDnDSortableContext.js +1 -1
  55. package/esm/parts/HoC/withDnDSortableColumnContext.js +6 -20
  56. package/esm/parts/HoC/withDnDSortableRowContext.js +4 -18
  57. package/esm/parts/Row.js +7 -10
  58. package/esm/styled.js +2 -2
  59. package/package.json +25 -103
  60. package/types/DataTable.d.ts +245 -43
  61. package/types/DataTableSchema.d.ts +245 -43
  62. package/types/addons/Filters/Components/SelectFilter/components.d.ts +6 -6
  63. package/types/addons/Filters/Components/index.d.ts +0 -1
  64. package/types/exported-related/FilterTypes.d.ts +0 -1
  65. package/types/exported-related/Filters/index.d.ts +0 -1
  66. package/types/helpers/refs-helpers.d.ts +1 -1
  67. package/types/parts/FilterBar/components/index.d.ts +0 -1
  68. package/types/parts/FilterBar/styled.d.ts +165 -30
  69. package/types/parts/Headers/HeaderCellGroup.d.ts +4 -3
  70. package/types/parts/Row.d.ts +2 -1
  71. package/types/styled.d.ts +19 -19
  72. package/types/types/props.d.ts +2 -2
  73. package/cjs/addons/Filters/Components/TextInputFilter/index.js +0 -92
  74. package/cjs/exported-related/Filters/textFilterFn.js +0 -14
  75. package/cjs/helpers/dndkit/hierarchy/customCollisionDetection.js +0 -76
  76. package/cjs/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +0 -141
  77. package/cjs/helpers/dndkit/hierarchy/types.js +0 -2
  78. package/cjs/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js +0 -55
  79. package/cjs/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js +0 -36
  80. package/cjs/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +0 -109
  81. package/cjs/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +0 -87
  82. package/cjs/helpers/dndkit/tree/customCollisionDetection.js +0 -98
  83. package/cjs/helpers/dndkit/tree/getTreeKeyboardCoordinates.js +0 -139
  84. package/cjs/helpers/dndkit/tree/types.js +0 -2
  85. package/cjs/helpers/dndkit/tree/useTreeActionHandlers.js +0 -75
  86. package/cjs/helpers/dndkit/tree/useTreeAnnouncements.js +0 -55
  87. package/cjs/helpers/dndkit/tree/useTreeDndkitConfig.js +0 -139
  88. package/cjs/helpers/dndkit/tree/useTreePreviewHandlers.js +0 -54
  89. package/cjs/helpers/dndkit/types.js +0 -2
  90. package/cjs/helpers/dndkit/utilities.js +0 -52
  91. package/cjs/parts/FilterBar/components/TextPill.js +0 -42
  92. package/cjs/parts/HoC/DragOverlayContext.js +0 -11
  93. package/esm/addons/Filters/Components/TextInputFilter/index.js +0 -84
  94. package/esm/exported-related/Filters/textFilterFn.js +0 -10
  95. package/esm/helpers/dndkit/hierarchy/customCollisionDetection.js +0 -72
  96. package/esm/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +0 -133
  97. package/esm/helpers/dndkit/hierarchy/types.js +0 -1
  98. package/esm/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js +0 -51
  99. package/esm/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js +0 -32
  100. package/esm/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +0 -103
  101. package/esm/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +0 -83
  102. package/esm/helpers/dndkit/tree/customCollisionDetection.js +0 -94
  103. package/esm/helpers/dndkit/tree/getTreeKeyboardCoordinates.js +0 -131
  104. package/esm/helpers/dndkit/tree/types.js +0 -1
  105. package/esm/helpers/dndkit/tree/useTreeActionHandlers.js +0 -71
  106. package/esm/helpers/dndkit/tree/useTreeAnnouncements.js +0 -51
  107. package/esm/helpers/dndkit/tree/useTreeDndkitConfig.js +0 -133
  108. package/esm/helpers/dndkit/tree/useTreePreviewHandlers.js +0 -50
  109. package/esm/helpers/dndkit/types.js +0 -1
  110. package/esm/helpers/dndkit/utilities.js +0 -47
  111. package/esm/parts/FilterBar/components/TextPill.js +0 -34
  112. package/esm/parts/HoC/DragOverlayContext.js +0 -7
  113. package/types/addons/Filters/Components/TextInputFilter/index.d.ts +0 -3
  114. package/types/exported-related/Filters/textFilterFn.d.ts +0 -2
  115. package/types/helpers/dndkit/hierarchy/customCollisionDetection.d.ts +0 -3
  116. package/types/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.d.ts +0 -3
  117. package/types/helpers/dndkit/hierarchy/types.d.ts +0 -66
  118. package/types/helpers/dndkit/hierarchy/useHierarchyActionHandlers.d.ts +0 -2
  119. package/types/helpers/dndkit/hierarchy/useHierarchyAnnouncements.d.ts +0 -3
  120. package/types/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.d.ts +0 -3
  121. package/types/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.d.ts +0 -2
  122. package/types/helpers/dndkit/tree/customCollisionDetection.d.ts +0 -4
  123. package/types/helpers/dndkit/tree/getTreeKeyboardCoordinates.d.ts +0 -3
  124. package/types/helpers/dndkit/tree/types.d.ts +0 -83
  125. package/types/helpers/dndkit/tree/useTreeActionHandlers.d.ts +0 -2
  126. package/types/helpers/dndkit/tree/useTreeAnnouncements.d.ts +0 -4
  127. package/types/helpers/dndkit/tree/useTreeDndkitConfig.d.ts +0 -3
  128. package/types/helpers/dndkit/tree/useTreePreviewHandlers.d.ts +0 -2
  129. package/types/helpers/dndkit/types.d.ts +0 -20
  130. package/types/helpers/dndkit/utilities.d.ts +0 -7
  131. package/types/parts/FilterBar/components/TextPill.d.ts +0 -2
  132. package/types/parts/HoC/DragOverlayContext.d.ts +0 -6
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var reactDesc = require('react-desc');
6
6
 
7
7
  /* eslint-disable max-lines */
8
- const outOfTheBoxFilterType = reactDesc.PropTypes.oneOf(['ds-filter-select', 'ds-filter-multi-select', 'ds-filter-text', 'ds-filter-single-date', 'ds-filter-date-range', 'ds-filter-number-range']);
8
+ const outOfTheBoxFilterType = reactDesc.PropTypes.oneOf(['ds-filter-select', 'ds-filter-multi-select', 'ds-filter-single-date', 'ds-filter-date-range', 'ds-filter-number-range']);
9
9
  const textWrappingType = reactDesc.PropTypes.oneOf(['wrap', 'wrap-all', 'truncate']);
10
10
  const rowVariantType = reactDesc.PropTypes.oneOf(['ds_header_group_row', 'ds_primary_row', 'ds_secondary_row']);
11
11
  const columnPropTypes = {
@@ -68,20 +68,29 @@ const DataTableSchema = {
68
68
  })).description('Any extra option you want in the dropdownmenu of the filter bar')
69
69
  }).description('Props for the filter bar'),
70
70
  onFiltersChange: reactDesc.PropTypes.func.description('Function invoked when filters change'),
71
- pagination: reactDesc.PropTypes.oneOfType([reactDesc.PropTypes.bool, reactDesc.PropTypes.shape({
72
- pageIndex: reactDesc.PropTypes.number.description('Index of the current page, starting from 1'),
73
- canPreviousPage: reactDesc.PropTypes.bool.description('Whether the previous button is disabled or not'),
74
- canNextPage: reactDesc.PropTypes.bool.description('Whether the next button is disabled or not'),
75
- pageSize: reactDesc.PropTypes.number.description('The current page size'),
76
- perPageOptions: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.number).description('The available options for page size'),
77
- onPageChange: reactDesc.PropTypes.func.description('Function invoked when the page is changed'),
78
- onPreviousPage: reactDesc.PropTypes.func.description('Function invoked when the previous button is pressed'),
79
- onNextPage: reactDesc.PropTypes.func.description('Function invoked when next button is pressed'),
80
- pageCount: reactDesc.PropTypes.number.description('How many pages are there. By default it will be calculated based on the ammount of rows you have'),
71
+ pagination: reactDesc.PropTypes.shape({
72
+ pageCount: reactDesc.PropTypes.number.description('How many pages are there'),
73
+ pageIndex: reactDesc.PropTypes.number.description('Index of the current page, starting from 1').defaultValue(1),
74
+ canPreviousPage: reactDesc.PropTypes.bool.description('Whether the previous button is disabled or not').defaultValue(true),
75
+ canNextPage: reactDesc.PropTypes.bool.description('Whether the next button is disabled or not').defaultValue(true),
76
+ pageSize: reactDesc.PropTypes.number.description('The current page size').defaultValue(10),
81
77
  showPerPageSelector: reactDesc.PropTypes.bool.description('Whether to show the page selector').defaultValue(true),
78
+ perPageOptions: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.oneOfType([reactDesc.PropTypes.number, reactDesc.PropTypes.shape({
79
+ dsId: reactDesc.PropTypes.string,
80
+ value: reactDesc.PropTypes.number,
81
+ label: reactDesc.PropTypes.string,
82
+ type: reactDesc.PropTypes.oneOf(['single'])
83
+ })])).description('The available options for page size').defaultValue([10]),
84
+ perPageStep: reactDesc.PropTypes.number.description('Step for the per page options').defaultValue(5),
85
+ minPerPage: reactDesc.PropTypes.number.description('Step for the per page options').defaultValue(0),
86
+ maxPerPage: reactDesc.PropTypes.number.description('Step for the per page options').defaultValue(100),
87
+ onPageSizeChange: reactDesc.PropTypes.func.description('Function invoked when the page size changes').defaultValue(() => null),
88
+ onPreviousPage: reactDesc.PropTypes.func.description('Function invoked when the previous button is pressed').defaultValue(() => null),
89
+ onPageChange: reactDesc.PropTypes.func.description('Function invoked when the page changes').defaultValue(() => null),
90
+ onNextPage: reactDesc.PropTypes.func.description('Function invoked when next button is pressed').defaultValue(() => null),
82
91
  pageDetails: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.string).description('Details to provide for each page').defaultValue([]),
83
92
  pageDetailsTitle: reactDesc.PropTypes.string.description('The title of the details (usually a column of your dataset)').defaultValue('')
84
- })]).description('Object containing the data for the pagination'),
93
+ }).description('Object containing the data for the pagination'),
85
94
  colsLayoutStyle: reactDesc.PropTypes.oneOf(['auto', 'fixed']).description('Whether the datatable fills its container or not'),
86
95
  hiddenColumns: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.string).description('IDs of columns not to render'),
87
96
  dragAndDropRows: reactDesc.PropTypes.bool.description('Whether to turn on the d&d feature for the rows').defaultValue(false),
@@ -41,6 +41,8 @@ require('../../../../exported-related/Filters/applyOutOfTheBoxFilters.js');
41
41
  require('moment');
42
42
  require('core-js/modules/esnext.async-iterator.some.js');
43
43
  require('core-js/modules/esnext.iterator.some.js');
44
+ require('../../../../redux/reducers/headersReducers/headersReducers.js');
45
+ var useDispatchHeadersActions = require('../../../../redux/reducers/headersReducers/useDispatchHeadersActions.js');
44
46
 
45
47
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
46
48
 
@@ -92,6 +94,20 @@ const CurrencyRangeFilter = props => {
92
94
  onValueChange(FilterTypes.FILTER_TYPES.CURRENCY_RANGE, nextValue);
93
95
  };
94
96
 
97
+ const {
98
+ patchHeader
99
+ } = useDispatchHeadersActions.useDispatchHeadersActions(); // workaround to close menu with esc key since DSInputMask has stoppropagation on key down
100
+
101
+ const closePopover = e => {
102
+ if (e.code === 'Escape') {
103
+ patchHeader(column.id, {
104
+ hideFilterMenu: true,
105
+ hideFilterButton: false
106
+ });
107
+ innerRef.current.focus();
108
+ }
109
+ };
110
+
95
111
  const idPreffix = 'datatable-currency-range';
96
112
  return /*#__PURE__*/_jsx__default["default"](FilterPopover.FilterPopover, {
97
113
  reduxHeader: reduxHeader,
@@ -116,7 +132,10 @@ const CurrencyRangeFilter = props => {
116
132
  onChange: handleFromChange,
117
133
  placeholder: "0.00",
118
134
  mask: number => dsForm.MASK_TYPES.NUMBER(opts)(number),
119
- autoFocus: true
135
+ autoFocus: true,
136
+ onKeyDown: e => {
137
+ closePopover(e);
138
+ }
120
139
  })), /*#__PURE__*/_jsx__default["default"](dsFormLayoutBlocks.DSFormLayoutBlockItem, {
121
140
  label: "Max",
122
141
  inputID: "".concat(idPreffix, "-max-").concat(column.id)
@@ -130,7 +149,10 @@ const CurrencyRangeFilter = props => {
130
149
  value: "".concat((_filterValue$to = filterValue === null || filterValue === void 0 ? void 0 : filterValue.to) !== null && _filterValue$to !== void 0 ? _filterValue$to : ''),
131
150
  onChange: handleToChange,
132
151
  placeholder: "0.00",
133
- mask: number => dsForm.MASK_TYPES.NUMBER(opts)(number)
152
+ mask: number => dsForm.MASK_TYPES.NUMBER(opts)(number),
153
+ onKeyDown: e => {
154
+ closePopover(e);
155
+ }
134
156
  }))),
135
157
  triggerIcon: _SearchXsmall || (_SearchXsmall = /*#__PURE__*/_jsx__default["default"](dsIcons.SearchXsmall, {})),
136
158
  customStyles: {
@@ -41,6 +41,8 @@ require('../../../../exported-related/Filters/applyOutOfTheBoxFilters.js');
41
41
  require('moment');
42
42
  require('core-js/modules/esnext.async-iterator.some.js');
43
43
  require('core-js/modules/esnext.iterator.some.js');
44
+ require('../../../../redux/reducers/headersReducers/headersReducers.js');
45
+ var useDispatchHeadersActions = require('../../../../redux/reducers/headersReducers/useDispatchHeadersActions.js');
44
46
 
45
47
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
46
48
 
@@ -95,13 +97,27 @@ const NumberRangeFilter = props => {
95
97
  onValueChange(FilterTypes.FILTER_TYPES.CURRENCY_RANGE, nextValue);
96
98
  };
97
99
 
100
+ const {
101
+ patchHeader
102
+ } = useDispatchHeadersActions.useDispatchHeadersActions(); // workaround to close menu with esc key since DSInputMask has stoppropagation on key down
103
+
104
+ const closePopover = e => {
105
+ if (e.code === 'Escape') {
106
+ patchHeader(column.id, {
107
+ hideFilterMenu: true,
108
+ hideFilterButton: false
109
+ });
110
+ innerRef.current.focus();
111
+ }
112
+ };
113
+
98
114
  const idPreffix = 'datatable-number-range';
99
115
  return /*#__PURE__*/_jsx__default["default"](FilterPopover.FilterPopover, {
100
116
  reduxHeader: reduxHeader,
101
117
  column: column,
102
118
  columnId: column.id,
103
119
  menuContent: /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
104
- "data-testid": constants.DATA_TESTID.DATA_TABLE_CURRENCY_RANGE_CONTROLLER,
120
+ "data-testid": constants.DATA_TESTID.DATA_TABLE_NUMBER_RANGE_CONTROLLER,
105
121
  gutter: "xxxs",
106
122
  padding: "xxs",
107
123
  cols: ['auto', 'auto']
@@ -119,7 +135,10 @@ const NumberRangeFilter = props => {
119
135
  onChange: handleFromChange,
120
136
  placeholder: "0",
121
137
  mask: number => dsForm.MASK_TYPES.NUMBER(opts)(number),
122
- autoFocus: true
138
+ autoFocus: true,
139
+ onKeyDown: e => {
140
+ closePopover(e);
141
+ }
123
142
  })), /*#__PURE__*/_jsx__default["default"](dsFormLayoutBlocks.DSFormLayoutBlockItem, {
124
143
  label: "High",
125
144
  inputID: "".concat(idPreffix, "-high-").concat(column.id)
@@ -133,7 +152,10 @@ const NumberRangeFilter = props => {
133
152
  value: "".concat((_filterValue$to = filterValue === null || filterValue === void 0 ? void 0 : filterValue.to) !== null && _filterValue$to !== void 0 ? _filterValue$to : ''),
134
153
  onChange: handleToChange,
135
154
  placeholder: "0",
136
- mask: number => dsForm.MASK_TYPES.NUMBER(opts)(number)
155
+ mask: number => dsForm.MASK_TYPES.NUMBER(opts)(number),
156
+ onKeyDown: e => {
157
+ closePopover(e);
158
+ }
137
159
  }))),
138
160
  triggerIcon: _SearchXsmall || (_SearchXsmall = /*#__PURE__*/_jsx__default["default"](dsIcons.SearchXsmall, {})),
139
161
  customStyles: {
@@ -9,7 +9,6 @@ var index$3 = require('./CurrencyRangeFilter/index.js');
9
9
  var SingleSelectFilter = require('./SelectFilter/SingleSelectFilter.js');
10
10
  var MultiSelectFilter = require('./SelectFilter/MultiSelectFilter.js');
11
11
  var index$4 = require('./SingleDateFilter/index.js');
12
- var index$5 = require('./TextInputFilter/index.js');
13
12
 
14
13
 
15
14
 
@@ -20,4 +19,3 @@ exports.CurrencyRangeFilter = index$3.CurrencyRangeFilter;
20
19
  exports.SingleSelectFilter = SingleSelectFilter.SingleSelectFilter;
21
20
  exports.MultiSelectFilter = MultiSelectFilter.MultiSelectFilter;
22
21
  exports.SingleDateFilter = index$4.SingleDateFilter;
23
- exports.TextInputFilter = index$5.TextInputFilter;
@@ -9,7 +9,6 @@ var index$3 = require('./Components/CurrencyRangeFilter/index.js');
9
9
  var SingleSelectFilter = require('./Components/SelectFilter/SingleSelectFilter.js');
10
10
  var MultiSelectFilter = require('./Components/SelectFilter/MultiSelectFilter.js');
11
11
  var index$4 = require('./Components/SingleDateFilter/index.js');
12
- var index$5 = require('./Components/TextInputFilter/index.js');
13
12
 
14
13
 
15
14
 
@@ -20,4 +19,3 @@ exports.CurrencyRangeFilter = index$3.CurrencyRangeFilter;
20
19
  exports.SingleSelectFilter = SingleSelectFilter.SingleSelectFilter;
21
20
  exports.MultiSelectFilter = MultiSelectFilter.MultiSelectFilter;
22
21
  exports.SingleDateFilter = index$4.SingleDateFilter;
23
- exports.TextInputFilter = index$5.TextInputFilter;
@@ -24,7 +24,7 @@ const usePaginationConfig = (props, flattenedData) => {
24
24
  onPreviousPage = emptyFunc,
25
25
  onNextPage = emptyFunc,
26
26
  onPageChange = emptyFunc,
27
- pageCount = Math.floor(flattenedData.length / pageSize),
27
+ pageCount = Math.ceil(flattenedData.length / pageSize),
28
28
  perPageStep = 5,
29
29
  minPerPage = 0,
30
30
  maxPerPage = 100,
@@ -25,7 +25,7 @@ const flatten = function (data, expandedRows, uniqueRowAccessor) {
25
25
  const id = (parentId ? "".concat(parentId, ".") : '') + index.toString();
26
26
  const uid = getIdFromUniqueRowAccessor.getIdFromUniqueRowAccessor(uniqueRowAccessor, {
27
27
  id,
28
- original: row
28
+ original: row !== null && row !== void 0 ? row : {}
29
29
  });
30
30
  const isExpanded = expandedRows[uid];
31
31
  const rowToPush = {
@@ -37,11 +37,11 @@ const flatten = function (data, expandedRows, uniqueRowAccessor) {
37
37
  parentIndex,
38
38
  depth,
39
39
  isExpanded,
40
- original: row
40
+ original: row !== null && row !== void 0 ? row : {}
41
41
  };
42
42
  result.push(rowToPush); // If we have subrows and we are expanded
43
43
 
44
- if (row.subRows && expandedRows[uid] && depth <= maxDepth) {
44
+ if (row !== null && row !== void 0 && row.subRows && expandedRows[uid] && depth <= maxDepth) {
45
45
  row.subRows.forEach((subRow, i) => doit(subRow, i, uid, rowToPush.realIndex, depth + 1));
46
46
  }
47
47
  };
@@ -62,14 +62,14 @@ const EditableCell = props => {
62
62
  onBlur: handleOnBlur,
63
63
  shouldDisplayEditIcon: cell.column.alwaysDisplayEditIcon,
64
64
  role: "cell",
65
- "aria-describedby": isEditing ? undefined : cell.id,
65
+ "aria-labelledby": isEditing ? undefined : cell.id,
66
66
  children: [!isEditing ? StandardRender : EditableRenderer, !isEditing && (_StyledPencilIcon || (_StyledPencilIcon = /*#__PURE__*/_jsx__default["default"](styled.StyledPencilIcon, {}))), /*#__PURE__*/_jsx__default["default"]("span", {
67
67
  id: cell.id,
68
68
  style: {
69
69
  display: 'none'
70
70
  },
71
71
  "aria-hidden": "true"
72
- }, void 0, "Editable cell. To edit the content's of this cell, press the Enter key")]
72
+ }, void 0, cell.value, ", editable cell. To edit the content's of this cell, press the Enter key")]
73
73
  });
74
74
  };
75
75
 
@@ -52,6 +52,9 @@ const FilterButton = /*#__PURE__*/styled__default["default"].span.withConfig({
52
52
  const Button = /*#__PURE__*/styled__default["default"](DSButton__default["default"]).withConfig({
53
53
  componentId: "sc-16i88ut-1"
54
54
  })(["position:relative;justify-self:flex-end;"]);
55
+ const PopperContent = /*#__PURE__*/styled__default["default"].div.withConfig({
56
+ componentId: "sc-16i88ut-2"
57
+ })(["background-color:'#fff';"]);
55
58
  const FilterPopover = _ref2 => {
56
59
  var _column$ref$current$o, _column$ref, _column$ref$current;
57
60
 
@@ -152,9 +155,20 @@ const FilterPopover = _ref2 => {
152
155
  minWidth: (_column$ref$current$o = (_column$ref = column.ref) === null || _column$ref === void 0 ? void 0 : (_column$ref$current = _column$ref.current) === null || _column$ref$current === void 0 ? void 0 : _column$ref$current.offsetWidth) !== null && _column$ref$current$o !== void 0 ? _column$ref$current$o : '0px'
153
156
  }),
154
157
  placementOrderPreference: ['bottom-end']
155
- }, void 0, /*#__PURE__*/jsxRuntime.jsx("div", {
156
- style: {
157
- backgroundColor: '#fff'
158
+ }, void 0, /*#__PURE__*/jsxRuntime.jsx(PopperContent, {
159
+ onKeyDown: e => {
160
+ if (e.code === 'Tab') {
161
+ setTimeout(() => {
162
+ var _popperRef$current;
163
+
164
+ if (!(popperRef !== null && popperRef !== void 0 && (_popperRef$current = popperRef.current) !== null && _popperRef$current !== void 0 && _popperRef$current.contains(document.activeElement))) {
165
+ patchHeader(columnId, {
166
+ hideFilterMenu: true,
167
+ hideFilterButton: false
168
+ });
169
+ }
170
+ });
171
+ }
158
172
  },
159
173
  ref: popperRef,
160
174
  children: menuContent
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const FILTER_TYPES = {
6
6
  SELECT: 'ds-filter-select',
7
7
  MULTI_SELECT: 'ds-filter-multi-select',
8
- TEXT: 'ds-filter-text',
9
8
  SINGLE_DATE: 'ds-filter-single-date',
10
9
  DATE_RANGE: 'ds-filter-date-range',
11
10
  DATE_SWITCHER: 'ds-filter-date-switcher',
@@ -7,7 +7,6 @@ require('core-js/modules/esnext.iterator.constructor.js');
7
7
  require('core-js/modules/esnext.iterator.for-each.js');
8
8
  var singleSelectFilterFn = require('./singleSelectFilterFn.js');
9
9
  var multiSelectFilterFn = require('./multiSelectFilterFn.js');
10
- var textFilterFn = require('./textFilterFn.js');
11
10
  var singleDateFilterFn = require('./singleDateFilterFn.js');
12
11
  var dateRangeFilterFn = require('./dateRangeFilterFn.js');
13
12
  var dateSwitcherFilterFn = require('./dateSwitcherFilterFn.js');
@@ -19,7 +18,6 @@ var FilterTypes = require('../FilterTypes.js');
19
18
  const filterMapper = {
20
19
  [FilterTypes.FILTER_TYPES.SELECT]: singleSelectFilterFn.singleSelectFilterFn,
21
20
  [FilterTypes.FILTER_TYPES.MULTI_SELECT]: multiSelectFilterFn.multiSelectFilterFn,
22
- [FilterTypes.FILTER_TYPES.TEXT]: textFilterFn.textFilterFn,
23
21
  [FilterTypes.FILTER_TYPES.SINGLE_DATE]: singleDateFilterFn.singleDateFilterFn,
24
22
  [FilterTypes.FILTER_TYPES.DATE_RANGE]: dateRangeFilterFn.dateRangeFilterFn,
25
23
  [FilterTypes.FILTER_TYPES.DATE_SWITCHER]: dateSwitcherFilterFn.dateSwitcherFilterFn,
@@ -3,7 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var applyOutOfTheBoxFilters = require('./applyOutOfTheBoxFilters.js');
6
- var textFilterFn = require('./textFilterFn.js');
7
6
  var singleDateFilterFn = require('./singleDateFilterFn.js');
8
7
  var singleSelectFilterFn = require('./singleSelectFilterFn.js');
9
8
  var multiSelectFilterFn = require('./multiSelectFilterFn.js');
@@ -14,7 +13,6 @@ var dateRangeFilterFn = require('./dateRangeFilterFn.js');
14
13
 
15
14
 
16
15
  exports.applyOutOfTheBoxFilters = applyOutOfTheBoxFilters.applyOutOfTheBoxFilters;
17
- exports.textFilterFn = textFilterFn.textFilterFn;
18
16
  exports.singleDateFilterFn = singleDateFilterFn.singleDateFilterFn;
19
17
  exports.singleSelectFilterFn = singleSelectFilterFn.singleSelectFilterFn;
20
18
  exports.multiSelectFilterFn = multiSelectFilterFn.multiSelectFilterFn;
@@ -9,7 +9,6 @@ var groupBy = require('./groupBy.js');
9
9
  var FilterTypes = require('./FilterTypes.js');
10
10
  var RowVariants = require('./RowVariants.js');
11
11
  var applyOutOfTheBoxFilters = require('./Filters/applyOutOfTheBoxFilters.js');
12
- var textFilterFn = require('./Filters/textFilterFn.js');
13
12
  var singleDateFilterFn = require('./Filters/singleDateFilterFn.js');
14
13
  var singleSelectFilterFn = require('./Filters/singleSelectFilterFn.js');
15
14
  var multiSelectFilterFn = require('./Filters/multiSelectFilterFn.js');
@@ -28,7 +27,6 @@ exports.ROW_VARIANTS = RowVariants.ROW_VARIANTS;
28
27
  exports.ROW_VARIANT_COMPACT_KEY = RowVariants.ROW_VARIANT_COMPACT_KEY;
29
28
  exports.ROW_VARIANT_KEY = RowVariants.ROW_VARIANT_KEY;
30
29
  exports.applyOutOfTheBoxFilters = applyOutOfTheBoxFilters.applyOutOfTheBoxFilters;
31
- exports.textFilterFn = textFilterFn.textFilterFn;
32
30
  exports.singleDateFilterFn = singleDateFilterFn.singleDateFilterFn;
33
31
  exports.singleSelectFilterFn = singleSelectFilterFn.singleSelectFilterFn;
34
32
  exports.multiSelectFilterFn = multiSelectFilterFn.multiSelectFilterFn;
@@ -15,8 +15,8 @@ const setMultipleRefs = function () {
15
15
  }
16
16
 
17
17
  const filteredRefs = refs.filter(Boolean);
18
- if (!filteredRefs.length) return null;
19
- if (filteredRefs.length === 0) return filteredRefs[0];
18
+ if (!filteredRefs.length) return () => null;
19
+ if (filteredRefs.length === 0) return () => null;
20
20
  return newRef => {
21
21
  filteredRefs.forEach(refToBeUpdated => {
22
22
  if (typeof refToBeUpdated === 'function') {
package/cjs/index.js CHANGED
@@ -10,7 +10,6 @@ var groupBy = require('./exported-related/groupBy.js');
10
10
  var FilterTypes = require('./exported-related/FilterTypes.js');
11
11
  var RowVariants = require('./exported-related/RowVariants.js');
12
12
  var applyOutOfTheBoxFilters = require('./exported-related/Filters/applyOutOfTheBoxFilters.js');
13
- var textFilterFn = require('./exported-related/Filters/textFilterFn.js');
14
13
  var singleDateFilterFn = require('./exported-related/Filters/singleDateFilterFn.js');
15
14
  var singleSelectFilterFn = require('./exported-related/Filters/singleSelectFilterFn.js');
16
15
  var multiSelectFilterFn = require('./exported-related/Filters/multiSelectFilterFn.js');
@@ -31,7 +30,6 @@ exports.ROW_VARIANTS = RowVariants.ROW_VARIANTS;
31
30
  exports.ROW_VARIANT_COMPACT_KEY = RowVariants.ROW_VARIANT_COMPACT_KEY;
32
31
  exports.ROW_VARIANT_KEY = RowVariants.ROW_VARIANT_KEY;
33
32
  exports.applyOutOfTheBoxFilters = applyOutOfTheBoxFilters.applyOutOfTheBoxFilters;
34
- exports.textFilterFn = textFilterFn.textFilterFn;
35
33
  exports.singleDateFilterFn = singleDateFilterFn.singleDateFilterFn;
36
34
  exports.singleSelectFilterFn = singleSelectFilterFn.singleSelectFilterFn;
37
35
  exports.multiSelectFilterFn = multiSelectFilterFn.multiSelectFilterFn;
@@ -49,7 +49,6 @@ var MultiSelectPill = require('./components/MultiSelectPill.js');
49
49
  var NumberRangePill = require('./components/NumberRangePill.js');
50
50
  var SelectPill = require('./components/SelectPill.js');
51
51
  var SingleDatePill = require('./components/SingleDatePill.js');
52
- var TextPill = require('./components/TextPill.js');
53
52
  var styled = require('./styled.js');
54
53
 
55
54
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -62,7 +61,6 @@ var _MoreOptionsVert;
62
61
  const pillRenderMapper = {
63
62
  [FilterTypes.FILTER_TYPES.SELECT]: SelectPill.SelectPill,
64
63
  [FilterTypes.FILTER_TYPES.MULTI_SELECT]: MultiSelectPill.MultiSelectPill,
65
- [FilterTypes.FILTER_TYPES.TEXT]: TextPill.TextPill,
66
64
  [FilterTypes.FILTER_TYPES.SINGLE_DATE]: SingleDatePill.SingleDatePill,
67
65
  [FilterTypes.FILTER_TYPES.DATE_RANGE]: DateRangePill.DateRangePill,
68
66
  [FilterTypes.FILTER_TYPES.DATE_SWITCHER]: DateSwitcherPill.DateSwitcherPill,
@@ -8,7 +8,6 @@ var MultiSelectPill = require('./MultiSelectPill.js');
8
8
  var NumberRangePill = require('./NumberRangePill.js');
9
9
  var SelectPill = require('./SelectPill.js');
10
10
  var SingleDatePill = require('./SingleDatePill.js');
11
- var TextPill = require('./TextPill.js');
12
11
 
13
12
 
14
13
 
@@ -18,4 +17,3 @@ exports.MultiSelectPill = MultiSelectPill.MultiSelectPill;
18
17
  exports.NumberRangePill = NumberRangePill.NumberRangePill;
19
18
  exports.SelectPill = SelectPill.SelectPill;
20
19
  exports.SingleDatePill = SingleDatePill.SingleDatePill;
21
- exports.TextPill = TextPill.TextPill;
@@ -12,14 +12,13 @@ require('core-js/modules/web.dom-collections.iterator.js');
12
12
  require('core-js/modules/esnext.async-iterator.for-each.js');
13
13
  require('core-js/modules/esnext.iterator.for-each.js');
14
14
  var React = require('react');
15
- var index$2 = require('../../addons/Filters/Components/DateRangeFilter/index.js');
16
- var index$3 = require('../../addons/Filters/Components/DateSwitcherFilter/index.js');
17
- var index$4 = require('../../addons/Filters/Components/NumberRangeFilter/index.js');
18
- var index$5 = require('../../addons/Filters/Components/CurrencyRangeFilter/index.js');
15
+ var index$1 = require('../../addons/Filters/Components/DateRangeFilter/index.js');
16
+ var index$2 = require('../../addons/Filters/Components/DateSwitcherFilter/index.js');
17
+ var index$3 = require('../../addons/Filters/Components/NumberRangeFilter/index.js');
18
+ var index$4 = require('../../addons/Filters/Components/CurrencyRangeFilter/index.js');
19
19
  var SingleSelectFilter = require('../../addons/Filters/Components/SelectFilter/SingleSelectFilter.js');
20
20
  var MultiSelectFilter = require('../../addons/Filters/Components/SelectFilter/MultiSelectFilter.js');
21
- var index$1 = require('../../addons/Filters/Components/SingleDateFilter/index.js');
22
- var index = require('../../addons/Filters/Components/TextInputFilter/index.js');
21
+ var index = require('../../addons/Filters/Components/SingleDateFilter/index.js');
23
22
  require('@babel/runtime/helpers/jsx');
24
23
  require('@elliemae/ds-button');
25
24
  require('@elliemae/ds-popperjs');
@@ -63,12 +62,11 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
63
62
  const FilterMapper = {
64
63
  [FilterTypes.FILTER_TYPES.SELECT]: SingleSelectFilter.SingleSelectFilter,
65
64
  [FilterTypes.FILTER_TYPES.MULTI_SELECT]: MultiSelectFilter.MultiSelectFilter,
66
- [FilterTypes.FILTER_TYPES.TEXT]: index.TextInputFilter,
67
- [FilterTypes.FILTER_TYPES.SINGLE_DATE]: index$1.SingleDateFilter,
68
- [FilterTypes.FILTER_TYPES.DATE_RANGE]: index$2.DateRangeFilter,
69
- [FilterTypes.FILTER_TYPES.DATE_SWITCHER]: index$3.DateSwitcherFilter,
70
- [FilterTypes.FILTER_TYPES.NUMBER_RANGE]: index$4.NumberRangeFilter,
71
- [FilterTypes.FILTER_TYPES.CURRENCY_RANGE]: index$5.CurrencyRangeFilter
65
+ [FilterTypes.FILTER_TYPES.SINGLE_DATE]: index.SingleDateFilter,
66
+ [FilterTypes.FILTER_TYPES.DATE_RANGE]: index$1.DateRangeFilter,
67
+ [FilterTypes.FILTER_TYPES.DATE_SWITCHER]: index$2.DateSwitcherFilter,
68
+ [FilterTypes.FILTER_TYPES.NUMBER_RANGE]: index$3.NumberRangeFilter,
69
+ [FilterTypes.FILTER_TYPES.CURRENCY_RANGE]: index$4.CurrencyRangeFilter
72
70
  };
73
71
  const FilterMapItem = props => {
74
72
  const {
@@ -63,7 +63,7 @@ const HeaderCellGroupComp = _ref => {
63
63
  const children = header.columns;
64
64
  const isDragging = draggableProps && draggableProps.isDragging || isDraggingParent;
65
65
  const dropIndicatorPosition = draggableProps && draggableProps.shouldShowDropIndicatorPosition && draggableProps.dropIndicatorPosition;
66
- const ChildGroup = isDragOverlay ? NotSortableHeaderCellGroup : HeaderCellGroup;
66
+ const ChildGroup = isDragOverlay ? HeaderCellGroup : HeaderCellGroupSortable;
67
67
  const colSpan = (_children$length = children === null || children === void 0 ? void 0 : children.length) !== null && _children$length !== void 0 ? _children$length : 1;
68
68
  return /*#__PURE__*/jsxRuntime.jsxs(StyledWrapper, {
69
69
  ref: draggableProps ? draggableProps.setNodeRef : null,
@@ -93,7 +93,8 @@ const HeaderCellGroupComp = _ref => {
93
93
  };
94
94
 
95
95
  // We need to declare this because we MUST avoid the useSortable call in the recursive calls of the function
96
- const NotSortableHeaderCellGroup = HeaderCellGroupComp;
97
- const HeaderCellGroup = withDnDSortableColumnContext.withDnDSortableColumnContext(HeaderCellGroupComp);
96
+ const HeaderCellGroup = HeaderCellGroupComp;
97
+ const HeaderCellGroupSortable = withDnDSortableColumnContext.withDnDSortableColumnContext(HeaderCellGroupComp);
98
98
 
99
99
  exports.HeaderCellGroup = HeaderCellGroup;
100
+ exports["default"] = HeaderCellGroupSortable;
@@ -35,7 +35,7 @@ const HeadersComp = () => {
35
35
  cols: gridLayout,
36
36
  colsLayoutStyle: colsLayoutStyle,
37
37
  isExpandable: isExpandable
38
- }, void 0, visibleColumns.map((h, index) => /*#__PURE__*/_jsx__default["default"](HeaderCellGroup.HeaderCellGroup, {
38
+ }, void 0, visibleColumns.map((h, index) => /*#__PURE__*/_jsx__default["default"](HeaderCellGroup["default"], {
39
39
  header: h,
40
40
  isLast: index === visibleColumns.length - 1
41
41
  }, h.id)))), [isExpandable, visibleColumns, gridLayout, colsLayoutStyle]);
@@ -45,7 +45,9 @@ const useHeaderCellHandlers = _ref => {
45
45
  patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));
46
46
  }, [column.id, hasDnD, hasFilter, patchHeader, reduxHeader]);
47
47
  const onMouseLeave = React.useCallback(() => {
48
- if (!headerRef.current.contains(document.activeElement)) {
48
+ var _headerRef$current;
49
+
50
+ if (!(headerRef !== null && headerRef !== void 0 && (_headerRef$current = headerRef.current) !== null && _headerRef$current !== void 0 && _headerRef$current.contains(document.activeElement))) {
49
51
  patchHeader(column.id, buildNextHeader(reduxHeader, false, hasFilter, hasDnD));
50
52
  }
51
53
  }, [column.id, hasDnD, hasFilter, headerRef, patchHeader, reduxHeader]);
@@ -80,7 +82,7 @@ const useHeaderCellHandlers = _ref => {
80
82
  }, [column.canSort, column.id, onColumnSortChange, patchHeader, reduxHeader, hasFilter, hasDnD, dragHandleRef, filterIconRef]);
81
83
  const onFocus = React.useCallback(e => {
82
84
  // Don't do anything if focus wasn't placed in the element (bubling issues)
83
- if (e.target === headerRef.current) {
85
+ if (e.target === (headerRef === null || headerRef === void 0 ? void 0 : headerRef.current)) {
84
86
  patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));
85
87
  }
86
88
  }, [column.id, hasDnD, hasFilter, headerRef, patchHeader, reduxHeader]);
@@ -8,14 +8,17 @@ require('core-js/modules/esnext.async-iterator.for-each.js');
8
8
  require('core-js/modules/esnext.iterator.constructor.js');
9
9
  require('core-js/modules/esnext.iterator.for-each.js');
10
10
  require('core-js/modules/web.dom-collections.iterator.js');
11
+ require('core-js/modules/esnext.async-iterator.find.js');
12
+ require('core-js/modules/esnext.iterator.find.js');
11
13
  require('core-js/modules/esnext.async-iterator.filter.js');
12
14
  require('core-js/modules/esnext.iterator.filter.js');
13
15
  var React = require('react');
14
16
  var core = require('@dnd-kit/core');
17
+ var dsDragAndDrop = require('@elliemae/ds-drag-and-drop');
15
18
  var sortable = require('@dnd-kit/sortable');
16
- var DragOverlayContext = require('./DragOverlayContext.js');
17
- var useHierarchyDndkitConfig = require('../../helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js');
18
19
  var DataTableContext = require('../../DataTableContext.js');
20
+ var HeaderCellGroup = require('../Headers/HeaderCellGroup.js');
21
+ var constants = require('../../configs/constants.js');
19
22
  var jsxRuntime = require('react/jsx-runtime');
20
23
 
21
24
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -36,7 +39,9 @@ const flattenColumns = cols => {
36
39
 
37
40
  const flatten = function (col, index) {
38
41
  let parentId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
39
- const id = col.Header;
42
+ const {
43
+ id
44
+ } = col;
40
45
  flattened.push([{
41
46
  id,
42
47
  parentId,
@@ -54,13 +59,11 @@ const withConditionalDnDColumnContext = Component => props => {
54
59
  const {
55
60
  tableProps: {
56
61
  dragAndDropColumns,
57
- columns,
58
62
  onColumnsReorder
59
- }
63
+ },
64
+ visibleColumns
60
65
  } = React__default["default"].useContext(DataTableContext["default"]);
61
- const [PureDraggedJSX, setPureDraggedJSX] = React__default["default"].useState(null); // todo: check if this can be done via portal
62
-
63
- const flattenedItems = React.useMemo(() => flattenColumns(columns), [columns]);
66
+ const flattenedItems = React.useMemo(() => flattenColumns(visibleColumns), [visibleColumns]);
64
67
  const onReorder = React.useCallback((movedItem, indexes) => {
65
68
  // Send from index to target index
66
69
  const newFlattenedData = sortable.arrayMove(flattenedItems, indexes.fromIndex, indexes.targetIndex); // Pull the cols's data into an object
@@ -84,25 +87,43 @@ const withConditionalDnDColumnContext = Component => props => {
84
87
  });
85
88
  onColumnsReorder(newData, indexes);
86
89
  }, [flattenedItems, onColumnsReorder]);
90
+ const onPreviewResetState = React.useCallback(() => {
91
+ const el = document.body.querySelector("[data-testid=\"".concat(constants.DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER, "\"]"));
92
+ if (el) el.onscroll = () => null;
93
+ }, []);
94
+ const onPreviewDragStart = React.useCallback(() => {
95
+ const el = document.body.querySelector("[data-testid=\"".concat(constants.DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER, "\"]"));
96
+
97
+ if (el) {
98
+ const y = el.scrollTop;
99
+
100
+ el.onscroll = () => el.scrollTo(0, y);
101
+ }
102
+ }, []);
87
103
  const {
88
104
  dndContextProps,
89
105
  activeId,
90
106
  activeIndex
91
- } = useHierarchyDndkitConfig({
107
+ } = dsDragAndDrop.useHierarchyDndkitConfig({
92
108
  flattenedItems,
109
+ dragOverlayDataTestid: constants.DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY,
93
110
  isHorizontalDnD: true,
94
- onReorder
111
+ onReorder,
112
+ onPreviewResetState,
113
+ onPreviewDragStart
95
114
  });
96
115
  if (dragAndDropColumns) return /*#__PURE__*/jsxRuntime.jsxs(core.DndContext, _objectSpread(_objectSpread({}, dndContextProps), {}, {
97
- children: [/*#__PURE__*/_jsx__default["default"](DragOverlayContext.DragOverlayContext.Provider, {
98
- value: {
99
- setPureDraggedJSX
100
- }
101
- }, void 0, /*#__PURE__*/_jsx__default["default"](DnDGroupContext.Provider, {
116
+ children: [/*#__PURE__*/_jsx__default["default"](DnDGroupContext.Provider, {
102
117
  value: {
103
118
  activeIndex
104
119
  }
105
- }, void 0, /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props)))), /*#__PURE__*/_jsx__default["default"](core.DragOverlay, {}, void 0, activeId ? PureDraggedJSX : null)]
120
+ }, void 0, /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props))), /*#__PURE__*/_jsx__default["default"](core.DragOverlay, {}, void 0, activeId ? /*#__PURE__*/_jsx__default["default"](HeaderCellGroup.HeaderCellGroup, {
121
+ header: flattenedItems.find(_ref3 => {
122
+ let [item] = _ref3;
123
+ return item.id === activeId;
124
+ })[1],
125
+ isDragOverlay: true
126
+ }) : null)]
106
127
  }));
107
128
  return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props));
108
129
  };