@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
@@ -15,7 +15,6 @@ import { CurrencyRangeFilter } from '../../addons/Filters/Components/CurrencyRan
15
15
  import { SingleSelectFilter } from '../../addons/Filters/Components/SelectFilter/SingleSelectFilter.js';
16
16
  import { MultiSelectFilter } from '../../addons/Filters/Components/SelectFilter/MultiSelectFilter.js';
17
17
  import { SingleDateFilter } from '../../addons/Filters/Components/SingleDateFilter/index.js';
18
- import { TextInputFilter } from '../../addons/Filters/Components/TextInputFilter/index.js';
19
18
  import '@babel/runtime/helpers/esm/jsx';
20
19
  import '@elliemae/ds-button';
21
20
  import '@elliemae/ds-popperjs';
@@ -55,7 +54,6 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
55
54
  const FilterMapper = {
56
55
  [FILTER_TYPES.SELECT]: SingleSelectFilter,
57
56
  [FILTER_TYPES.MULTI_SELECT]: MultiSelectFilter,
58
- [FILTER_TYPES.TEXT]: TextInputFilter,
59
57
  [FILTER_TYPES.SINGLE_DATE]: SingleDateFilter,
60
58
  [FILTER_TYPES.DATE_RANGE]: DateRangeFilter,
61
59
  [FILTER_TYPES.DATE_SWITCHER]: DateSwitcherFilter,
@@ -54,7 +54,7 @@ const HeaderCellGroupComp = _ref => {
54
54
  const children = header.columns;
55
55
  const isDragging = draggableProps && draggableProps.isDragging || isDraggingParent;
56
56
  const dropIndicatorPosition = draggableProps && draggableProps.shouldShowDropIndicatorPosition && draggableProps.dropIndicatorPosition;
57
- const ChildGroup = isDragOverlay ? NotSortableHeaderCellGroup : HeaderCellGroup;
57
+ const ChildGroup = isDragOverlay ? HeaderCellGroup : HeaderCellGroupSortable;
58
58
  const colSpan = (_children$length = children === null || children === void 0 ? void 0 : children.length) !== null && _children$length !== void 0 ? _children$length : 1;
59
59
  return /*#__PURE__*/jsxs(StyledWrapper, {
60
60
  ref: draggableProps ? draggableProps.setNodeRef : null,
@@ -84,7 +84,7 @@ const HeaderCellGroupComp = _ref => {
84
84
  };
85
85
 
86
86
  // We need to declare this because we MUST avoid the useSortable call in the recursive calls of the function
87
- const NotSortableHeaderCellGroup = HeaderCellGroupComp;
88
- const HeaderCellGroup = withDnDSortableColumnContext(HeaderCellGroupComp);
87
+ const HeaderCellGroup = HeaderCellGroupComp;
88
+ const HeaderCellGroupSortable = withDnDSortableColumnContext(HeaderCellGroupComp);
89
89
 
90
- export { HeaderCellGroup };
90
+ export { HeaderCellGroup, HeaderCellGroupSortable as default };
@@ -5,7 +5,7 @@ import { useContext, useMemo } from 'react';
5
5
  import { StyledHeadTr, StyledHeadWrapper } from '../../styled.js';
6
6
  import DataTableContext from '../../DataTableContext.js';
7
7
  import { withConditionalDnDColumnContext } from '../HoC/withConditionalDnDColumnContext.js';
8
- import { HeaderCellGroup } from './HeaderCellGroup.js';
8
+ import HeaderCellGroupSortable from './HeaderCellGroup.js';
9
9
  import { SortableHeaderCell } from '../SortableHeaderCell.js';
10
10
  import { jsx } from 'react/jsx-runtime';
11
11
 
@@ -29,7 +29,7 @@ const HeadersComp = () => {
29
29
  cols: gridLayout,
30
30
  colsLayoutStyle: colsLayoutStyle,
31
31
  isExpandable: isExpandable
32
- }, void 0, visibleColumns.map((h, index) => /*#__PURE__*/_jsx(HeaderCellGroup, {
32
+ }, void 0, visibleColumns.map((h, index) => /*#__PURE__*/_jsx(HeaderCellGroupSortable, {
33
33
  header: h,
34
34
  isLast: index === visibleColumns.length - 1
35
35
  }, h.id)))), [isExpandable, visibleColumns, gridLayout, colsLayoutStyle]);
@@ -37,7 +37,9 @@ const useHeaderCellHandlers = _ref => {
37
37
  patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));
38
38
  }, [column.id, hasDnD, hasFilter, patchHeader, reduxHeader]);
39
39
  const onMouseLeave = useCallback(() => {
40
- if (!headerRef.current.contains(document.activeElement)) {
40
+ var _headerRef$current;
41
+
42
+ if (!(headerRef !== null && headerRef !== void 0 && (_headerRef$current = headerRef.current) !== null && _headerRef$current !== void 0 && _headerRef$current.contains(document.activeElement))) {
41
43
  patchHeader(column.id, buildNextHeader(reduxHeader, false, hasFilter, hasDnD));
42
44
  }
43
45
  }, [column.id, hasDnD, hasFilter, headerRef, patchHeader, reduxHeader]);
@@ -72,7 +74,7 @@ const useHeaderCellHandlers = _ref => {
72
74
  }, [column.canSort, column.id, onColumnSortChange, patchHeader, reduxHeader, hasFilter, hasDnD, dragHandleRef, filterIconRef]);
73
75
  const onFocus = useCallback(e => {
74
76
  // Don't do anything if focus wasn't placed in the element (bubling issues)
75
- if (e.target === headerRef.current) {
77
+ if (e.target === (headerRef === null || headerRef === void 0 ? void 0 : headerRef.current)) {
76
78
  patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));
77
79
  }
78
80
  }, [column.id, hasDnD, hasFilter, headerRef, patchHeader, reduxHeader]);
@@ -1,17 +1,20 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.filter.js';
1
3
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
4
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
3
5
  import 'core-js/modules/esnext.async-iterator.for-each.js';
4
6
  import 'core-js/modules/esnext.iterator.constructor.js';
5
7
  import 'core-js/modules/esnext.iterator.for-each.js';
6
8
  import 'core-js/modules/web.dom-collections.iterator.js';
7
- import 'core-js/modules/esnext.async-iterator.filter.js';
8
- import 'core-js/modules/esnext.iterator.filter.js';
9
+ import 'core-js/modules/esnext.async-iterator.find.js';
10
+ import 'core-js/modules/esnext.iterator.find.js';
9
11
  import React, { useMemo, useCallback, createContext } from 'react';
10
12
  import { DndContext, DragOverlay } from '@dnd-kit/core';
13
+ import { useHierarchyDndkitConfig } from '@elliemae/ds-drag-and-drop';
11
14
  import { arrayMove } from '@dnd-kit/sortable';
12
- import { DragOverlayContext } from './DragOverlayContext.js';
13
- import useHierarchyDndkitConfig from '../../helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js';
14
15
  import DataTableContext from '../../DataTableContext.js';
16
+ import { HeaderCellGroup } from '../Headers/HeaderCellGroup.js';
17
+ import { DATA_TESTID } from '../../configs/constants.js';
15
18
  import { jsxs, jsx } from 'react/jsx-runtime';
16
19
 
17
20
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
@@ -26,7 +29,9 @@ const flattenColumns = cols => {
26
29
 
27
30
  const flatten = function (col, index) {
28
31
  let parentId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
29
- const id = col.Header;
32
+ const {
33
+ id
34
+ } = col;
30
35
  flattened.push([{
31
36
  id,
32
37
  parentId,
@@ -44,13 +49,11 @@ const withConditionalDnDColumnContext = Component => props => {
44
49
  const {
45
50
  tableProps: {
46
51
  dragAndDropColumns,
47
- columns,
48
52
  onColumnsReorder
49
- }
53
+ },
54
+ visibleColumns
50
55
  } = React.useContext(DataTableContext);
51
- const [PureDraggedJSX, setPureDraggedJSX] = React.useState(null); // todo: check if this can be done via portal
52
-
53
- const flattenedItems = useMemo(() => flattenColumns(columns), [columns]);
56
+ const flattenedItems = useMemo(() => flattenColumns(visibleColumns), [visibleColumns]);
54
57
  const onReorder = useCallback((movedItem, indexes) => {
55
58
  // Send from index to target index
56
59
  const newFlattenedData = arrayMove(flattenedItems, indexes.fromIndex, indexes.targetIndex); // Pull the cols's data into an object
@@ -74,25 +77,43 @@ const withConditionalDnDColumnContext = Component => props => {
74
77
  });
75
78
  onColumnsReorder(newData, indexes);
76
79
  }, [flattenedItems, onColumnsReorder]);
80
+ const onPreviewResetState = useCallback(() => {
81
+ const el = document.body.querySelector("[data-testid=\"".concat(DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER, "\"]"));
82
+ if (el) el.onscroll = () => null;
83
+ }, []);
84
+ const onPreviewDragStart = useCallback(() => {
85
+ const el = document.body.querySelector("[data-testid=\"".concat(DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER, "\"]"));
86
+
87
+ if (el) {
88
+ const y = el.scrollTop;
89
+
90
+ el.onscroll = () => el.scrollTo(0, y);
91
+ }
92
+ }, []);
77
93
  const {
78
94
  dndContextProps,
79
95
  activeId,
80
96
  activeIndex
81
97
  } = useHierarchyDndkitConfig({
82
98
  flattenedItems,
99
+ dragOverlayDataTestid: DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY,
83
100
  isHorizontalDnD: true,
84
- onReorder
101
+ onReorder,
102
+ onPreviewResetState,
103
+ onPreviewDragStart
85
104
  });
86
105
  if (dragAndDropColumns) return /*#__PURE__*/jsxs(DndContext, _objectSpread(_objectSpread({}, dndContextProps), {}, {
87
- children: [/*#__PURE__*/_jsx(DragOverlayContext.Provider, {
88
- value: {
89
- setPureDraggedJSX
90
- }
91
- }, void 0, /*#__PURE__*/_jsx(DnDGroupContext.Provider, {
106
+ children: [/*#__PURE__*/_jsx(DnDGroupContext.Provider, {
92
107
  value: {
93
108
  activeIndex
94
109
  }
95
- }, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props)))), /*#__PURE__*/_jsx(DragOverlay, {}, void 0, activeId ? PureDraggedJSX : null)]
110
+ }, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props))), /*#__PURE__*/_jsx(DragOverlay, {}, void 0, activeId ? /*#__PURE__*/_jsx(HeaderCellGroup, {
111
+ header: flattenedItems.find(_ref3 => {
112
+ let [item] = _ref3;
113
+ return item.id === activeId;
114
+ })[1],
115
+ isDragOverlay: true
116
+ }) : null)]
96
117
  }));
97
118
  return /*#__PURE__*/jsx(Component, _objectSpread({}, props));
98
119
  };
@@ -1,18 +1,20 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.filter.js';
1
3
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
4
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
3
5
  import 'core-js/modules/web.dom-collections.iterator.js';
4
6
  import 'core-js/modules/esnext.async-iterator.for-each.js';
5
7
  import 'core-js/modules/esnext.iterator.constructor.js';
6
8
  import 'core-js/modules/esnext.iterator.for-each.js';
7
- import 'core-js/modules/esnext.async-iterator.filter.js';
8
- import 'core-js/modules/esnext.iterator.filter.js';
9
+ import 'core-js/modules/esnext.async-iterator.find.js';
10
+ import 'core-js/modules/esnext.iterator.find.js';
9
11
  import React, { createContext, useCallback } from 'react';
10
12
  import { DndContext, DragOverlay } from '@dnd-kit/core';
11
13
  import { SortableContext } from '@dnd-kit/sortable';
12
14
  import DataTableContext from '../../DataTableContext.js';
13
- import useTreeDndkitConfig from '../../helpers/dndkit/tree/useTreeDndkitConfig.js';
14
- import { DragOverlayContext } from './DragOverlayContext.js';
15
+ import { useTreeDndkitConfig } from '@elliemae/ds-drag-and-drop';
15
16
  import { DropIndicatorPosition } from './SortableItemContext.js';
17
+ import { Row } from '../Row.js';
16
18
  import { jsxs, jsx } from 'react/jsx-runtime';
17
19
 
18
20
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
@@ -38,8 +40,6 @@ const withConditionalDnDRowContext = Component => props => {
38
40
  flattenedData,
39
41
  allDataFlattened
40
42
  } = React.useContext(DataTableContext);
41
- const [PureDraggedJSX, setPureDraggedJSX] = React.useState(null); // todo: check if this can be done via portal
42
-
43
43
  const [lastActiveId, setLastActiveId] = React.useState(null);
44
44
  const onReorder = useCallback((newData, indexes, considerExpanding) => {
45
45
  // Pull the row's original data into an object
@@ -79,11 +79,7 @@ const withConditionalDnDRowContext = Component => props => {
79
79
  if (lastActiveId !== activeId && activeId) setLastActiveId(activeId);
80
80
  if (dragAndDropRows) return /*#__PURE__*/jsxs(DndContext, _objectSpread(_objectSpread({}, dndContextProps), {}, {
81
81
  children: [/*#__PURE__*/jsx(SortableContext, _objectSpread(_objectSpread({}, sortableContextProps), {}, {
82
- children: /*#__PURE__*/_jsx(DragOverlayContext.Provider, {
83
- value: {
84
- setPureDraggedJSX
85
- }
86
- }, void 0, /*#__PURE__*/_jsx(DnDTreeContext.Provider, {
82
+ children: /*#__PURE__*/_jsx(DnDTreeContext.Provider, {
87
83
  value: {
88
84
  activeIndex,
89
85
  depth,
@@ -92,12 +88,15 @@ const withConditionalDnDRowContext = Component => props => {
92
88
  lastActiveId,
93
89
  setLastActiveId
94
90
  }
95
- }, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props))))
91
+ }, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props)))
96
92
  })), /*#__PURE__*/_jsx(DragOverlay, {
97
93
  style: {
98
94
  width: 'auto'
99
95
  }
100
- }, void 0, activeId ? PureDraggedJSX : null)]
96
+ }, void 0, activeId ? /*#__PURE__*/_jsx(Row, {
97
+ row: flattenedData.find(row => row.uid === activeId),
98
+ isDragOverlay: true
99
+ }) : null)]
101
100
  }));
102
101
  return /*#__PURE__*/jsx(Component, _objectSpread({}, props));
103
102
  };
@@ -26,7 +26,7 @@ const withConditionalDnDSortableContext = function (items) {
26
26
  // It's important that drag overlays DO NOT have any sortable functionality!
27
27
 
28
28
  if (!isDragOverlay && dragAndDropColumns) return /*#__PURE__*/_jsx(SortableContext, {
29
- items: items.map(item => item.Header),
29
+ items: items.map(item => item.id),
30
30
  strategy: horizontalListSortingStrategy
31
31
  }, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props)));
32
32
  return /*#__PURE__*/jsx(Component, _objectSpread({}, props));
@@ -5,10 +5,9 @@ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
5
  import 'core-js/modules/esnext.iterator.for-each.js';
6
6
  import _jsx from '@babel/runtime/helpers/esm/jsx';
7
7
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
8
- import { useContext, useMemo, useEffect, cloneElement } from 'react';
8
+ import { useContext, useMemo } from 'react';
9
9
  import { useSortable } from '@dnd-kit/sortable';
10
10
  import DataTableContext from '../../DataTableContext.js';
11
- import { DragOverlayContext } from './DragOverlayContext.js';
12
11
  import { DnDGroupContext } from './withConditionalDnDColumnContext.js';
13
12
  import { DropIndicatorPosition, SortableItemContext } from './SortableItemContext.js';
14
13
  import { jsx } from 'react/jsx-runtime';
@@ -22,18 +21,14 @@ const withDnDSortableColumnContext = Component => props => {
22
21
  dragAndDropColumns
23
22
  }
24
23
  } = useContext(DataTableContext);
25
- const {
26
- setPureDraggedJSX
27
- } = useContext(DragOverlayContext);
28
24
  const {
29
25
  activeIndex
30
26
  } = useContext(DnDGroupContext); // onMount generate unique options, so everyting is only ran once
31
27
 
32
28
  const draggableOptions = useMemo(() => ({
33
- id: props.header.Header
34
- }), [props.header.Header]);
35
- const useSortableHelpers = useSortable(draggableOptions);
36
- const PureComponentJSX = useMemo(() => /*#__PURE__*/jsx(Component, _objectSpread({}, props)), [props]); // calculate all the "useSortable" values as per required
29
+ id: props.header.id
30
+ }), [props.header.id]);
31
+ const useSortableHelpers = useSortable(draggableOptions); // calculate all the "useSortable" values as per required
37
32
 
38
33
  const draggableProps = useMemo(() => {
39
34
  if (!dragAndDropColumns) return false;
@@ -45,16 +40,7 @@ const withDnDSortableColumnContext = Component => props => {
45
40
  shouldShowDropIndicatorPosition: overIndex === index && overIndex !== -1,
46
41
  dropIndicatorPosition: index > activeIndex ? DropIndicatorPosition.After : DropIndicatorPosition.Before
47
42
  });
48
- }, [useSortableHelpers, dragAndDropColumns, activeIndex]);
49
- useEffect(() => {
50
- // We assume the structure of the inner element WON'T change during DnD
51
- // This is a huge performance boost
52
- if (useSortableHelpers.isDragging) {
53
- setPureDraggedJSX( /*#__PURE__*/cloneElement(PureComponentJSX, {
54
- isDragOverlay: true
55
- }));
56
- }
57
- }, [useSortableHelpers.isDragging, setPureDraggedJSX]); // we use a context so we can easly access information wherever without bubbling down
43
+ }, [useSortableHelpers, dragAndDropColumns, activeIndex]); // we use a context so we can easly access information wherever without bubbling down
58
44
  // this context is all Memoized so as long as component is not re-mounted,
59
45
  // the context won't trigger un-required renders per-se...
60
46
 
@@ -64,7 +50,7 @@ const withDnDSortableColumnContext = Component => props => {
64
50
 
65
51
  return /*#__PURE__*/_jsx(SortableItemContext.Provider, {
66
52
  value: ctx
67
- }, void 0, PureComponentJSX);
53
+ }, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props)));
68
54
  };
69
55
 
70
56
  export { withDnDSortableColumnContext };
@@ -5,11 +5,10 @@ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
5
  import 'core-js/modules/esnext.iterator.for-each.js';
6
6
  import _jsx from '@babel/runtime/helpers/esm/jsx';
7
7
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
8
- import { useContext, useMemo, useEffect, cloneElement } from 'react';
8
+ import { useContext, useMemo } from 'react';
9
9
  import { useSortable } from '@dnd-kit/sortable';
10
10
  import DataTableContext from '../../DataTableContext.js';
11
11
  import { DnDTreeContext } from './withConditionalDnDRowContext.js';
12
- import { DragOverlayContext } from './DragOverlayContext.js';
13
12
  import { SortableItemContext } from './SortableItemContext.js';
14
13
  import { jsx } from 'react/jsx-runtime';
15
14
 
@@ -22,9 +21,6 @@ const withDnDSortableRowContext = Component => props => {
22
21
  dragAndDropRows
23
22
  }
24
23
  } = useContext(DataTableContext);
25
- const {
26
- setPureDraggedJSX
27
- } = useContext(DragOverlayContext);
28
24
  const {
29
25
  dropIndicatorPosition,
30
26
  lastActiveId,
@@ -34,8 +30,7 @@ const withDnDSortableRowContext = Component => props => {
34
30
  const draggableOptions = useMemo(() => ({
35
31
  id: props.row.uid
36
32
  }), [props.row]);
37
- const useSortableHelpers = useSortable(draggableOptions);
38
- const PureComponentJSX = useMemo(() => /*#__PURE__*/jsx(Component, _objectSpread({}, props)), [props]); // calculate all the "useSortable" values as per required
33
+ const useSortableHelpers = useSortable(draggableOptions); // calculate all the "useSortable" values as per required
39
34
 
40
35
  const draggableProps = useMemo(() => {
41
36
  if (!dragAndDropRows) return false;
@@ -49,16 +44,7 @@ const withDnDSortableRowContext = Component => props => {
49
44
  lastActiveId,
50
45
  setLastActiveId
51
46
  });
52
- }, [dragAndDropRows, useSortableHelpers, dropIndicatorPosition, lastActiveId, setLastActiveId]);
53
- useEffect(() => {
54
- // We assume the structure of the inner element WON'T change during DnD
55
- // This is a huge performance boost
56
- if (useSortableHelpers.isDragging) {
57
- setPureDraggedJSX( /*#__PURE__*/cloneElement(PureComponentJSX, {
58
- isDragOverlay: true
59
- }));
60
- }
61
- }, [useSortableHelpers.isDragging, setPureDraggedJSX]); // we use a context so we can easly access information wherever without bubbling down
47
+ }, [dragAndDropRows, useSortableHelpers, dropIndicatorPosition, lastActiveId, setLastActiveId]); // we use a context so we can easly access information wherever without bubbling down
62
48
  // this context is all Memoized so as long as component is not re-mounted,
63
49
  // the context won't trigger un-required renders per-se...
64
50
 
@@ -68,7 +54,7 @@ const withDnDSortableRowContext = Component => props => {
68
54
 
69
55
  return /*#__PURE__*/_jsx(SortableItemContext.Provider, {
70
56
  value: ctx
71
- }, void 0, PureComponentJSX);
57
+ }, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props)));
72
58
  };
73
59
 
74
60
  export { withDnDSortableRowContext };
package/esm/parts/Row.js CHANGED
@@ -16,17 +16,17 @@ import { RowVariantMapItem } from './RowVariants/index.js';
16
16
  import { jsx } from 'react/jsx-runtime';
17
17
 
18
18
  const setItemRefs = (measureRef, draggableRef, ref) => {
19
- const refsToSet = [measureRef];
19
+ const refsToSet = [];
20
+ if (measureRef) refsToSet.push(measureRef);
20
21
  if (draggableRef) refsToSet.push(draggableRef);
21
22
  setMultipleRefs(...refsToSet)(ref);
22
23
  };
23
24
 
24
- const Row = props => {
25
+ const RowComp = props => {
25
26
  const {
26
27
  row,
27
28
  measureRef,
28
29
  itemWrapperStyle,
29
- itemIndex,
30
30
  isDragOverlay,
31
31
  focusedRowId,
32
32
  selectedRowId
@@ -41,7 +41,7 @@ const Row = props => {
41
41
  ref: ref => setItemRefs(measureRef, draggableRef, ref),
42
42
  children: /*#__PURE__*/_jsx(RowVariantMapItem, {
43
43
  row: row,
44
- itemIndex: itemIndex,
44
+ itemIndex: row.realIndex,
45
45
  isDragOverlay: isDragOverlay,
46
46
  ctx: ctx,
47
47
  focusedRowId: focusedRowId,
@@ -50,15 +50,12 @@ const Row = props => {
50
50
  });
51
51
  };
52
52
 
53
- Row.defaultProps = {
54
- itemWrapperStyle: {}
55
- };
56
-
57
53
  const mapStateToProps = state => ({
58
54
  focusedRowId: state.rows.focusedRowId,
59
55
  selectedRowId: state.rows.selectedRowId
60
56
  });
61
57
 
62
- var Row$1 = withDnDSortableRowContext(connect(mapStateToProps)(Row));
58
+ const Row = connect(mapStateToProps)(RowComp);
59
+ var Row$1 = withDnDSortableRowContext(Row);
63
60
 
64
- export { Row$1 as default };
61
+ export { Row, Row$1 as default };
package/esm/styled.js CHANGED
@@ -172,7 +172,7 @@ const GroupHeaderTitle = /*#__PURE__*/styled.span.withConfig({
172
172
  })(["font-weight:", ";font-size:12px;color:", ";"], props => props.theme.fontWeights.semibold, props => props.theme.colors.neutral[700]);
173
173
  const StyledCellContainer = /*#__PURE__*/styled(Grid).withConfig({
174
174
  componentId: "sc-38sgfo-18"
175
- })(["position:relative;z-index:2;min-height:", ";height:", ";width:", ";", ";background-color:", ";outline:none;:focus{", "}", " ", " box-shadow:0 2px 4px 0 ", ";opacity:", ";", " color:", ";"], props => props.minHeight || '36px', props => props.height || 'auto', props => props.colLayoutStyle === ColsLayoutStyle.Fixed ? sizeToCss(props.totalColumnsWidth) : '100%', props => getGridTemplateColumnsStyle({
175
+ })(["position:relative;z-index:2;min-height:", ";height:", ";width:", ";", ";", ";background-color:", ";outline:none;:focus{", "}", " ", " box-shadow:0 2px 4px 0 ", ";opacity:", ";", " color:", ";"], props => props.minHeight || '36px', props => props.height || 'auto', props => props.colLayoutStyle === ColsLayoutStyle.Fixed ? sizeToCss(props.totalColumnsWidth) : '100%', props => props.isDragOverlay ? 'width: fit-content;' : '', props => getGridTemplateColumnsStyle({
176
176
  cols: props.cols,
177
177
  colsLayoutStyle: props.colLayoutStyle,
178
178
  isExpandable: props.isExpandable
@@ -198,6 +198,6 @@ const StyledCellContainer = /*#__PURE__*/styled(Grid).withConfig({
198
198
  theme
199
199
  } = _ref12;
200
200
  return shouldDisplayHover ? ":hover {\n background-color: ".concat(theme.colors.brand[200], ";\n }") : '';
201
- }, props => props.isDragOverlay ? 'rgba(0,0,0,0.5)' : 'transparent', props => props.isDragging ? 0.8 : 1, props => !props.selected ? '' : "\n background-color: ".concat(props.theme.colors.brand[200], ";\n border: 1px solid ").concat(props.theme.colors.brand[300], ";\n "), props => props.disabled ? props.theme.colors.neutral['500'] : '#333333');
201
+ }, props => props.isDragOverlay ? 'rgba(0,0,0,0.5)' : 'transparent', props => props.isDragging ? 0.8 : 1, props => !props.selected ? '' : "\n background-color: ".concat(props.theme.colors.brand[200], ";\n border: 1px solid ").concat(props.theme.colors.brand[500], ";\n "), props => props.disabled ? props.theme.colors.neutral['500'] : '#333333');
202
202
 
203
203
  export { GroupHeaderContainer, GroupHeaderTitle, StyledActionCell, StyledCell, StyledCellContainer, StyledCellContent, StyledDataTableWrapper, StyledEditableContainer, StyledFocusWithin, StyledFullsizeGrid, StyledHeadTh, StyledHeadTr, StyledHeadWrapper, StyledHeaderRightIconsWrapper, StyledPencilIcon, StyledResizer, StyledTableContentWrapper, StyledTableWrapper, StyledVirtualListWrapper };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-data-table",
3
- "version": "2.0.0-rc.1",
3
+ "version": "2.0.0-rc.10",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Data Table",
6
6
  "module": "./esm/index.js",
@@ -163,10 +163,6 @@
163
163
  "import": "./esm/parts/HoC/SortableItemContext.js",
164
164
  "require": "./cjs/parts/HoC/SortableItemContext.js"
165
165
  },
166
- "./parts/HoC/DragOverlayContext": {
167
- "import": "./esm/parts/HoC/DragOverlayContext.js",
168
- "require": "./cjs/parts/HoC/DragOverlayContext.js"
169
- },
170
166
  "./parts/Headers/useHeaderCellHandlers": {
171
167
  "import": "./esm/parts/Headers/useHeaderCellHandlers.js",
172
168
  "require": "./cjs/parts/Headers/useHeaderCellHandlers.js"
@@ -227,10 +223,6 @@
227
223
  "import": "./esm/parts/FilterBar/FiltersBar.js",
228
224
  "require": "./cjs/parts/FilterBar/FiltersBar.js"
229
225
  },
230
- "./parts/FilterBar/components/TextPill": {
231
- "import": "./esm/parts/FilterBar/components/TextPill.js",
232
- "require": "./cjs/parts/FilterBar/components/TextPill.js"
233
- },
234
226
  "./parts/FilterBar/components/SingleDatePill": {
235
227
  "import": "./esm/parts/FilterBar/components/SingleDatePill.js",
236
228
  "require": "./cjs/parts/FilterBar/components/SingleDatePill.js"
@@ -307,70 +299,6 @@
307
299
  "import": "./esm/helpers/getIdFromUniqueRowAccessor.js",
308
300
  "require": "./cjs/helpers/getIdFromUniqueRowAccessor.js"
309
301
  },
310
- "./helpers/dndkit/utilities": {
311
- "import": "./esm/helpers/dndkit/utilities.js",
312
- "require": "./cjs/helpers/dndkit/utilities.js"
313
- },
314
- "./helpers/dndkit/types": {
315
- "import": "./esm/helpers/dndkit/types.js",
316
- "require": "./cjs/helpers/dndkit/types.js"
317
- },
318
- "./helpers/dndkit/tree/useTreePreviewHandlers": {
319
- "import": "./esm/helpers/dndkit/tree/useTreePreviewHandlers.js",
320
- "require": "./cjs/helpers/dndkit/tree/useTreePreviewHandlers.js"
321
- },
322
- "./helpers/dndkit/tree/useTreeDndkitConfig": {
323
- "import": "./esm/helpers/dndkit/tree/useTreeDndkitConfig.js",
324
- "require": "./cjs/helpers/dndkit/tree/useTreeDndkitConfig.js"
325
- },
326
- "./helpers/dndkit/tree/useTreeAnnouncements": {
327
- "import": "./esm/helpers/dndkit/tree/useTreeAnnouncements.js",
328
- "require": "./cjs/helpers/dndkit/tree/useTreeAnnouncements.js"
329
- },
330
- "./helpers/dndkit/tree/useTreeActionHandlers": {
331
- "import": "./esm/helpers/dndkit/tree/useTreeActionHandlers.js",
332
- "require": "./cjs/helpers/dndkit/tree/useTreeActionHandlers.js"
333
- },
334
- "./helpers/dndkit/tree/types": {
335
- "import": "./esm/helpers/dndkit/tree/types.js",
336
- "require": "./cjs/helpers/dndkit/tree/types.js"
337
- },
338
- "./helpers/dndkit/tree/getTreeKeyboardCoordinates": {
339
- "import": "./esm/helpers/dndkit/tree/getTreeKeyboardCoordinates.js",
340
- "require": "./cjs/helpers/dndkit/tree/getTreeKeyboardCoordinates.js"
341
- },
342
- "./helpers/dndkit/tree/customCollisionDetection": {
343
- "import": "./esm/helpers/dndkit/tree/customCollisionDetection.js",
344
- "require": "./cjs/helpers/dndkit/tree/customCollisionDetection.js"
345
- },
346
- "./helpers/dndkit/hierarchy/useHierarchyPreviewHandlers": {
347
- "import": "./esm/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js",
348
- "require": "./cjs/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js"
349
- },
350
- "./helpers/dndkit/hierarchy/useHierarchyDndkitConfig": {
351
- "import": "./esm/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js",
352
- "require": "./cjs/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js"
353
- },
354
- "./helpers/dndkit/hierarchy/useHierarchyAnnouncements": {
355
- "import": "./esm/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js",
356
- "require": "./cjs/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js"
357
- },
358
- "./helpers/dndkit/hierarchy/useHierarchyActionHandlers": {
359
- "import": "./esm/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js",
360
- "require": "./cjs/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js"
361
- },
362
- "./helpers/dndkit/hierarchy/types": {
363
- "import": "./esm/helpers/dndkit/hierarchy/types.js",
364
- "require": "./cjs/helpers/dndkit/hierarchy/types.js"
365
- },
366
- "./helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates": {
367
- "import": "./esm/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js",
368
- "require": "./cjs/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js"
369
- },
370
- "./helpers/dndkit/hierarchy/customCollisionDetection": {
371
- "import": "./esm/helpers/dndkit/hierarchy/customCollisionDetection.js",
372
- "require": "./cjs/helpers/dndkit/hierarchy/customCollisionDetection.js"
373
- },
374
302
  "./helpers/columnsToGrid": {
375
303
  "import": "./esm/helpers/columnsToGrid.js",
376
304
  "require": "./cjs/helpers/columnsToGrid.js"
@@ -431,10 +359,6 @@
431
359
  "import": "./esm/exported-related/Filters/types.js",
432
360
  "require": "./cjs/exported-related/Filters/types.js"
433
361
  },
434
- "./exported-related/Filters/textFilterFn": {
435
- "import": "./esm/exported-related/Filters/textFilterFn.js",
436
- "require": "./cjs/exported-related/Filters/textFilterFn.js"
437
- },
438
362
  "./exported-related/Filters/singleSelectFilterFn": {
439
363
  "import": "./esm/exported-related/Filters/singleSelectFilterFn.js",
440
364
  "require": "./cjs/exported-related/Filters/singleSelectFilterFn.js"
@@ -535,10 +459,6 @@
535
459
  "import": "./esm/addons/Filters/index.js",
536
460
  "require": "./cjs/addons/Filters/index.js"
537
461
  },
538
- "./addons/Filters/Components/TextInputFilter": {
539
- "import": "./esm/addons/Filters/Components/TextInputFilter/index.js",
540
- "require": "./cjs/addons/Filters/Components/TextInputFilter/index.js"
541
- },
542
462
  "./addons/Filters/Components/SingleDateFilter": {
543
463
  "import": "./esm/addons/Filters/Components/SingleDateFilter/index.js",
544
464
  "require": "./cjs/addons/Filters/Components/SingleDateFilter/index.js"
@@ -648,45 +568,47 @@
648
568
  "build": "node ../../scripts/build/build.js"
649
569
  },
650
570
  "dependencies": {
651
- "@dnd-kit/core": "~3.1.1",
652
- "@dnd-kit/sortable": "~3.1.0",
653
- "@elliemae/ds-basic": "2.0.0-rc.1",
654
- "@elliemae/ds-button": "2.0.0-rc.1",
655
- "@elliemae/ds-circular-progress-indicator": "2.0.0-rc.1",
656
- "@elliemae/ds-controlled-form": "2.0.0-rc.1",
657
- "@elliemae/ds-dropdownmenu": "2.0.0-rc.1",
658
- "@elliemae/ds-form": "2.0.0-rc.1",
659
- "@elliemae/ds-grid": "2.0.0-rc.1",
660
- "@elliemae/ds-icons": "2.0.0-rc.1",
661
- "@elliemae/ds-indeterminate-progress-indicator": "2.0.0-rc.1",
662
- "@elliemae/ds-pagination": "2.0.0-rc.1",
663
- "@elliemae/ds-pills": "2.0.0-rc.1",
664
- "@elliemae/ds-system": "2.0.0-rc.1",
665
- "@elliemae/ds-truncated-tooltip-text": "2.0.0-rc.1",
666
- "@elliemae/ds-utilities": "2.0.0-rc.1",
667
- "@popperjs/core": "~2.10.2",
571
+ "@dnd-kit/core": "~4.0.1",
572
+ "@dnd-kit/sortable": "~5.0.0",
573
+ "@elliemae/ds-button": "2.0.0-rc.10",
574
+ "@elliemae/ds-circular-progress-indicator": "2.0.0-rc.10",
575
+ "@elliemae/ds-controlled-form": "2.0.0-rc.10",
576
+ "@elliemae/ds-dropdownmenu": "2.0.0-rc.10",
577
+ "@elliemae/ds-form": "2.0.0-rc.10",
578
+ "@elliemae/ds-form-layout-blocks": "2.0.0-rc.10",
579
+ "@elliemae/ds-grid": "2.0.0-rc.10",
580
+ "@elliemae/ds-icons": "2.0.0-rc.10",
581
+ "@elliemae/ds-indeterminate-progress-indicator": "2.0.0-rc.10",
582
+ "@elliemae/ds-pagination": "2.0.0-rc.10",
583
+ "@elliemae/ds-pills": "2.0.0-rc.10",
584
+ "@elliemae/ds-popperjs": "2.0.0-rc.10",
585
+ "@elliemae/ds-system": "2.0.0-rc.10",
586
+ "@elliemae/ds-toolbar": "2.0.0-rc.10",
587
+ "@elliemae/ds-truncated-tooltip-text": "2.0.0-rc.10",
588
+ "@elliemae/ds-utilities": "2.0.0-rc.10",
668
589
  "@reduxjs/toolkit": "~1.6.2",
669
- "array-move": "~3.0.1",
670
590
  "csstype": "~3.0.9",
671
- "memoize-one": "~5.1.1",
672
591
  "moment": "~2.29.1",
673
592
  "prop-types": "~15.7.2",
674
593
  "react-desc": "~4.1.3",
675
- "react-popper": "~2.2.5",
676
594
  "react-redux": "~7.2.6",
677
595
  "react-virtual": "~2.8.2",
678
596
  "redux": "~4.1.2",
679
597
  "uid": "~2.0.0"
680
598
  },
681
599
  "devDependencies": {
600
+ "@testing-library/react": "~12.1.2",
601
+ "@testing-library/user-event": "~13.5.0",
682
602
  "@types/styled-components": "~5.1.15",
683
- "styled-components": "~5.3.3"
603
+ "styled-components": "~5.3.3",
604
+ "styled-system": "~5.1.5"
684
605
  },
685
606
  "peerDependencies": {
686
607
  "lodash": "^4.17.21",
687
608
  "react": "~17.0.2",
688
609
  "react-dom": "^17.0.2",
689
- "styled-components": "^5.3.3"
610
+ "styled-components": "^5.3.3",
611
+ "styled-system": "^5.1.5"
690
612
  },
691
613
  "publishConfig": {
692
614
  "access": "public",