@elliemae/ds-data-table 2.0.0-alpha.9 → 2.0.0-next.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 (47) hide show
  1. package/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +1 -0
  2. package/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +1 -0
  3. package/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +1 -0
  4. package/cjs/addons/Filters/Components/DateRangeFilter/index.js +1 -0
  5. package/cjs/addons/Filters/Components/NumberRangeFilter/index.js +1 -0
  6. package/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +1 -0
  7. package/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +1 -0
  8. package/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +1 -0
  9. package/cjs/addons/Filters/Components/SingleDateFilter/index.js +1 -0
  10. package/cjs/addons/Filters/Components/TextInputFilter/index.js +1 -0
  11. package/cjs/configs/constants.js +2 -1
  12. package/cjs/exported-related/EditableCell.js +2 -1
  13. package/cjs/exported-related/FilterPopover.js +6 -2
  14. package/cjs/exported-related/RowRenderer/useRowRendererHandlers.js +25 -2
  15. package/cjs/exported-related/RowRenderer/useRowStyle.js +5 -5
  16. package/cjs/exported-related/Toolbar/Toolbar.js +29 -14
  17. package/cjs/helpers/addCellData.js +1 -1
  18. package/cjs/parts/FilterBar/FiltersBar.js +5 -1
  19. package/cjs/parts/Filters/index.js +1 -0
  20. package/cjs/parts/Headers/HeaderCell.js +3 -1
  21. package/cjs/parts/RowVariants/index.js +1 -0
  22. package/cjs/styled.js +9 -2
  23. package/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +1 -0
  24. package/esm/addons/Editables/DateEditableCell/DateEditableCell.js +1 -0
  25. package/esm/addons/Editables/TextEditableCell/TextEditableCell.js +1 -0
  26. package/esm/addons/Filters/Components/DateRangeFilter/index.js +1 -0
  27. package/esm/addons/Filters/Components/NumberRangeFilter/index.js +1 -0
  28. package/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +1 -0
  29. package/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +1 -0
  30. package/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +1 -0
  31. package/esm/addons/Filters/Components/SingleDateFilter/index.js +1 -0
  32. package/esm/addons/Filters/Components/TextInputFilter/index.js +1 -0
  33. package/esm/configs/constants.js +2 -1
  34. package/esm/exported-related/EditableCell.js +2 -1
  35. package/esm/exported-related/FilterPopover.js +6 -2
  36. package/esm/exported-related/RowRenderer/useRowRendererHandlers.js +25 -2
  37. package/esm/exported-related/RowRenderer/useRowStyle.js +5 -5
  38. package/esm/exported-related/Toolbar/Toolbar.js +30 -15
  39. package/esm/helpers/addCellData.js +1 -1
  40. package/esm/parts/FilterBar/FiltersBar.js +5 -1
  41. package/esm/parts/Filters/index.js +1 -0
  42. package/esm/parts/Headers/HeaderCell.js +3 -1
  43. package/esm/parts/RowVariants/index.js +1 -0
  44. package/esm/styled.js +9 -2
  45. package/package.json +4 -4
  46. package/types/configs/constants.d.ts +1 -0
  47. package/types/exported-related/Toolbar/Toolbar.d.ts +2 -4
@@ -30,6 +30,7 @@ require('@elliemae/ds-icons/GripperVertical');
30
30
  require('../../../parts/HoC/SortableItemContext.js');
31
31
  var EditableCell = require('../../../exported-related/EditableCell.js');
32
32
  require('@elliemae/ds-icons/MoreOptionsVert');
33
+ require('@elliemae/ds-utilities/hooks');
33
34
  require('uid');
34
35
  require('../../../exported-related/Filters/applyOutOfTheBoxFilters.js');
35
36
  require('moment');
@@ -29,6 +29,7 @@ require('@elliemae/ds-icons/GripperVertical');
29
29
  require('../../../parts/HoC/SortableItemContext.js');
30
30
  var EditableCell = require('../../../exported-related/EditableCell.js');
31
31
  require('@elliemae/ds-icons/MoreOptionsVert');
32
+ require('@elliemae/ds-utilities/hooks');
32
33
  require('uid');
33
34
  require('../../../exported-related/Filters/applyOutOfTheBoxFilters.js');
34
35
  require('moment');
@@ -29,6 +29,7 @@ require('@elliemae/ds-icons/GripperVertical');
29
29
  require('../../../parts/HoC/SortableItemContext.js');
30
30
  var EditableCell = require('../../../exported-related/EditableCell.js');
31
31
  require('@elliemae/ds-icons/MoreOptionsVert');
32
+ require('@elliemae/ds-utilities/hooks');
32
33
  require('uid');
33
34
  require('../../../exported-related/Filters/applyOutOfTheBoxFilters.js');
34
35
  require('moment');
@@ -14,6 +14,7 @@ require('react/jsx-runtime');
14
14
  require('styled-components');
15
15
  require('@elliemae/ds-button');
16
16
  require('@elliemae/ds-icons/MoreOptionsVert');
17
+ require('@elliemae/ds-utilities/hooks');
17
18
  var constants = require('../../../../configs/constants.js');
18
19
  require('react-virtual');
19
20
  require('../../../../configs/useRowFlattenization.js');
@@ -15,6 +15,7 @@ require('react/jsx-runtime');
15
15
  require('styled-components');
16
16
  require('@elliemae/ds-button');
17
17
  require('@elliemae/ds-icons/MoreOptionsVert');
18
+ require('@elliemae/ds-utilities/hooks');
18
19
  var constants = require('../../../../configs/constants.js');
19
20
  require('react-virtual');
20
21
  require('../../../../configs/useRowFlattenization.js');
@@ -32,6 +32,7 @@ var jsxRuntime = require('react/jsx-runtime');
32
32
  require('styled-components');
33
33
  require('@elliemae/ds-button');
34
34
  require('@elliemae/ds-icons/MoreOptionsVert');
35
+ require('@elliemae/ds-utilities/hooks');
35
36
  var constants = require('../../../../configs/constants.js');
36
37
  require('../../../../configs/useRowFlattenization.js');
37
38
  require('@babel/runtime/helpers/defineProperty');
@@ -29,6 +29,7 @@ require('../../../../parts/Footer.js');
29
29
  require('@elliemae/ds-icons/GripperVertical');
30
30
  require('../../../../parts/HoC/SortableItemContext.js');
31
31
  require('@elliemae/ds-icons/MoreOptionsVert');
32
+ require('@elliemae/ds-utilities/hooks');
32
33
  require('uid');
33
34
  var FilterTypes = require('../../../../exported-related/FilterTypes.js');
34
35
  require('../../../../exported-related/Filters/applyOutOfTheBoxFilters.js');
@@ -29,6 +29,7 @@ require('../../../../parts/Footer.js');
29
29
  require('@elliemae/ds-icons/GripperVertical');
30
30
  require('../../../../parts/HoC/SortableItemContext.js');
31
31
  require('@elliemae/ds-icons/MoreOptionsVert');
32
+ require('@elliemae/ds-utilities/hooks');
32
33
  require('uid');
33
34
  var FilterTypes = require('../../../../exported-related/FilterTypes.js');
34
35
  require('../../../../exported-related/Filters/applyOutOfTheBoxFilters.js');
@@ -14,6 +14,7 @@ require('react/jsx-runtime');
14
14
  require('styled-components');
15
15
  require('@elliemae/ds-button');
16
16
  require('@elliemae/ds-icons/MoreOptionsVert');
17
+ require('@elliemae/ds-utilities/hooks');
17
18
  var constants = require('../../../../configs/constants.js');
18
19
  require('react-virtual');
19
20
  require('../../../../configs/useRowFlattenization.js');
@@ -12,6 +12,7 @@ require('react/jsx-runtime');
12
12
  require('styled-components');
13
13
  require('@elliemae/ds-button');
14
14
  require('@elliemae/ds-icons/MoreOptionsVert');
15
+ require('@elliemae/ds-utilities/hooks');
15
16
  require('../../../../configs/constants.js');
16
17
  require('react-virtual');
17
18
  require('../../../../configs/useRowFlattenization.js');
@@ -43,7 +43,8 @@ const DATA_TESTID = {
43
43
  DATA_TABLE_ROW_HEADER_CONTENT: 'data-table-row-header-content',
44
44
  DATA_TABLE_ROW_GROUP_HEADER: 'data-table-row-group-header',
45
45
  DATA_TABLE_COLUMN_DRAG_OVERLAY: 'data-table-drag-column-drag-overlay',
46
- DATA_TABLE_HEADER_CELL_TITLE: 'header-cell-title'
46
+ DATA_TABLE_HEADER_CELL_TITLE: 'header-cell-title',
47
+ DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON: 'filter-bar-ddmenu-button'
47
48
  };
48
49
 
49
50
  exports.DATA_TESTID = DATA_TESTID;
@@ -60,13 +60,14 @@ const EditableCell = props => {
60
60
  onKeyDown: handleOnKeyDown,
61
61
  onBlur: handleOnBlur,
62
62
  shouldDisplayEditIcon: cell.column.alwaysDisplayEditIcon,
63
+ role: "cell",
63
64
  "aria-describedby": isEditing ? undefined : cell.id,
64
65
  children: [!isEditing ? StandardRender : EditableRenderer, !isEditing && (_StyledPencilIcon || (_StyledPencilIcon = /*#__PURE__*/_jsx__default["default"](styled.StyledPencilIcon, {}))), /*#__PURE__*/_jsx__default["default"]("span", {
65
66
  id: cell.id,
66
67
  style: {
67
68
  display: 'none'
68
69
  },
69
- "aria-hidden": "false"
70
+ "aria-hidden": "true"
70
71
  }, void 0, "Editable cell. To edit the content's of this cell, press the Enter key")]
71
72
  });
72
73
  };
@@ -122,10 +122,14 @@ const FilterPopover = ({
122
122
  closeContextMenu: handleClickOutsideMenu,
123
123
  "data-testid": constants.DATA_TESTID.DATA_TABLE_FILTER_MENU_CONTENT,
124
124
  startPlacementPreference: "bottom-end",
125
- customOffset: [4, 4],
125
+ customOffset: [5, 4],
126
126
  withoutArrow: true,
127
127
  withoutPortal: true,
128
- zIndex: 10
128
+ zIndex: 10,
129
+ extraPopperStyles: {
130
+ minWidth: '100%'
131
+ },
132
+ placementOrderPreference: ['bottom-end']
129
133
  }, void 0, /*#__PURE__*/_jsx__default["default"]("div", {
130
134
  style: {
131
135
  backgroundColor: '#fff'
@@ -3,7 +3,28 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
+ var constants = require('../../configs/constants.js');
7
+ require('react-virtual');
8
+ require('../../configs/useRowFlattenization.js');
9
+ require('@babel/runtime/helpers/defineProperty');
10
+ require('@babel/runtime/helpers/jsx');
11
+ require('@elliemae/ds-icons');
12
+ require('styled-components');
13
+ require('../../styled.js');
14
+ require('react/jsx-runtime');
15
+ require('@elliemae/ds-form/Checkbox');
16
+ require('@elliemae/ds-form/Radio');
17
+ require('../../parts/TableContent.js');
18
+ require('@elliemae/ds-grid');
19
+ require('@elliemae/ds-circular-progress-indicator');
20
+ require('@elliemae/ds-icons/WarningTriangle');
21
+ require('@elliemae/ds-system');
22
+ require('@elliemae/ds-button');
6
23
  var DataTableContext = require('../../DataTableContext.js');
24
+ require('../../parts/Row.js');
25
+ require('../../parts/Footer.js');
26
+ require('@elliemae/ds-icons/GripperVertical');
27
+ require('../../parts/HoC/SortableItemContext.js');
7
28
  require('../../redux/reducers/index.js');
8
29
  var useDispatchRowsActions = require('../../redux/reducers/rowsReducers/useDispatchRowsActions.js');
9
30
 
@@ -83,8 +104,10 @@ const useRowRendererHandlers = ({
83
104
  setSelectedRowId(null);
84
105
  }
85
106
  }, [setSelectedRowId]);
86
- const handleOnFocus = React.useCallback(() => {
87
- setFocusedRowId(row.uid);
107
+ const handleOnFocus = React.useCallback(e => {
108
+ if (e.target && e.target.getAttribute('data-testid') === constants.DATA_TESTID.DATA_TABLE_ROW_CONTENT) {
109
+ setFocusedRowId(row.uid);
110
+ }
88
111
  }, [row.uid, setFocusedRowId]);
89
112
  return {
90
113
  handleItemClick,
@@ -18,22 +18,22 @@ const useRowStyle = row => {
18
18
 
19
19
  const [borderTop, borderBottom, shouldAppendDottedBorder] = React.useMemo(() => {
20
20
  if (row.original.dimsumHeaderValue) {
21
- return ['1px solid transparent', '1px solid transparent', false];
21
+ return ['none', 'none', false];
22
22
  }
23
23
 
24
24
  if (row.isExpanded && row.original.subRows && row.depth === 0) {
25
- return ['1px solid #EBEDF0', '1px solid transparent', true];
25
+ return ['1px solid #EBEDF0', 'none', true];
26
26
  }
27
27
 
28
28
  if (row.depth >= 1) {
29
29
  if (row.realIndex < flattenedData.length - 1 && flattenedData[row.realIndex + 1].depth === 0) {
30
- return ['1px solid transparent', '2px solid #EBEDF0', false];
30
+ return ['none', '2px solid #EBEDF0', false];
31
31
  }
32
32
 
33
- return ['1px solid transparent', '1px solid transparent', true];
33
+ return ['none', 'none', true];
34
34
  }
35
35
 
36
- return ['1px solid transparent', '1px solid #EBEDF0', false];
36
+ return ['none', '1px solid #EBEDF0', false];
37
37
  }, [row, flattenedData]);
38
38
  const rowStyle = React.useMemo(() => ({
39
39
  borderTop,
@@ -7,13 +7,14 @@ var React = require('react');
7
7
  var styled = require('styled-components');
8
8
  var DSButton = require('@elliemae/ds-button');
9
9
  var MoreOptionsVert = require('@elliemae/ds-icons/MoreOptionsVert');
10
+ var hooks = require('@elliemae/ds-utilities/hooks');
10
11
  var constants = require('../../configs/constants.js');
11
12
  require('react-virtual');
12
13
  require('../../configs/useRowFlattenization.js');
13
14
  require('@babel/runtime/helpers/defineProperty');
14
15
  require('@elliemae/ds-icons');
15
16
  require('../../styled.js');
16
- require('react/jsx-runtime');
17
+ var jsxRuntime = require('react/jsx-runtime');
17
18
  require('@elliemae/ds-form/Checkbox');
18
19
  require('@elliemae/ds-form/Radio');
19
20
  require('../../parts/TableContent.js');
@@ -43,24 +44,38 @@ const ToolbarWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
43
44
  })(["display:flex;align-items:center;height:36px;margin-right:1px;pointer-events:all;&:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,0.13),0 1px 2px 0 rgba(0,0,0,0.2);& > .toolbar-trigger{border:none;}}"]);
44
45
  const ToolbarPosition = /*#__PURE__*/styled__default["default"].div.withConfig({
45
46
  componentId: "sc-1ru2no0-2"
46
- })(["display:flex;justify-content:flex-end;align-items:center;pointer-events:none;background:white;height:", ";margin-top:", ";width:100%;height:100%;&:hover{z-index:1;}"], props => props.rowSize === 'normal' ? '36px' : '28px', props => props.rowSize === 'normal' ? '0' : '0'); // eslint-disable-next-line react/prop-types
47
+ })(["display:flex;justify-content:flex-end;align-items:center;pointer-events:none;background:white;height:28px;margin-top:4px;width:100%;padding-left:4px;&:hover{z-index:1;}:after{content:'';position:absolute;left:0px;top:4px;bottom:4px;width:1px;background-color:", ";z-index:7;}"], props => props.theme.colors.neutral['080']); // eslint-disable-next-line react/prop-types
47
48
 
48
49
  const Toolbar = ({
49
50
  children
50
51
  }) => {
51
52
  const [show, setShow] = React.useState(false);
52
- return /*#__PURE__*/_jsx__default["default"](ToolbarPosition, {}, void 0, /*#__PURE__*/_jsx__default["default"](ToolbarWrapper, {
53
- onMouseEnter: () => setShow(true),
54
- onMouseLeave: () => setShow(false)
55
- }, void 0, show && /*#__PURE__*/_jsx__default["default"](ToolbarBtns, {}, void 0, children), /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
56
- buttonType: "text",
57
- className: "toolbar-trigger",
58
- "data-testid": constants.DATA_TESTID.DATA_TABLE_TOOLBAR_TRIGGER,
59
- icon: _MoreOptionsVert || (_MoreOptionsVert = /*#__PURE__*/_jsx__default["default"](MoreOptionsVert__default["default"], {})),
60
- onClick: () => setShow(true),
61
- onKeyDown: e => ['Enter', 'Space'].includes(e.code) && setShow(true),
62
- tabIndex: 0
63
- })));
53
+ const [clicked, setClicked] = React.useState(false);
54
+ const toolbarRef = React.useRef(null);
55
+ const handleOnClickOutside = React.useCallback(() => {
56
+ setShow(false);
57
+ setClicked(false);
58
+ }, []);
59
+ const handleOnClick = React.useCallback(() => {
60
+ setShow(true);
61
+ setClicked(true);
62
+ }, []);
63
+ hooks.useOnClickOutside(toolbarRef, handleOnClickOutside);
64
+ return /*#__PURE__*/jsxRuntime.jsx(ToolbarPosition, {
65
+ ref: toolbarRef,
66
+ children: /*#__PURE__*/_jsx__default["default"](ToolbarWrapper, {
67
+ onMouseEnter: () => setShow(true),
68
+ onMouseLeave: () => setShow(clicked)
69
+ }, void 0, show && /*#__PURE__*/_jsx__default["default"](ToolbarBtns, {}, void 0, children), /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
70
+ buttonType: "text",
71
+ className: "toolbar-trigger",
72
+ "data-testid": constants.DATA_TESTID.DATA_TABLE_TOOLBAR_TRIGGER,
73
+ icon: _MoreOptionsVert || (_MoreOptionsVert = /*#__PURE__*/_jsx__default["default"](MoreOptionsVert__default["default"], {})),
74
+ onClick: handleOnClick,
75
+ onKeyDown: e => ['Enter', 'Space'].includes(e.code) && handleOnClick(),
76
+ tabIndex: 0
77
+ }))
78
+ });
64
79
  };
65
80
 
66
81
  exports.Toolbar = Toolbar;
@@ -22,7 +22,7 @@ const addColumnData = (datum, column) => {
22
22
  render: column.Cell || BasicCell,
23
23
  row: datum,
24
24
  ref: /*#__PURE__*/React__default["default"].createRef(),
25
- id: `${datum.uid}/${column.id}`
25
+ id: `${datum.uid}__${column.id}`
26
26
  });
27
27
  };
28
28
 
@@ -9,7 +9,7 @@ var MoreOptionsVert = require('@elliemae/ds-icons/MoreOptionsVert');
9
9
  require('@elliemae/ds-popperjs');
10
10
  require('styled-components');
11
11
  require('../../redux/reducers/index.js');
12
- require('../../configs/constants.js');
12
+ var constants = require('../../configs/constants.js');
13
13
  require('react-virtual');
14
14
  require('../../configs/useRowFlattenization.js');
15
15
  require('@babel/runtime/helpers/defineProperty');
@@ -28,6 +28,7 @@ require('../Row.js');
28
28
  require('../Footer.js');
29
29
  require('@elliemae/ds-icons/GripperVertical');
30
30
  require('../HoC/SortableItemContext.js');
31
+ require('@elliemae/ds-utilities/hooks');
31
32
  require('uid');
32
33
  var FilterTypes = require('../../exported-related/FilterTypes.js');
33
34
  require('../../exported-related/Filters/applyOutOfTheBoxFilters.js');
@@ -119,6 +120,9 @@ const FiltersBar = () => {
119
120
  onClick: removeAllFilters
120
121
  }, ...((filterBarProps === null || filterBarProps === void 0 ? void 0 : filterBarProps.extraOptions) || [])],
121
122
  triggerComponent: /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
123
+ containerProps: {
124
+ 'data-testid': constants.DATA_TESTID.DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON
125
+ },
122
126
  buttonType: "text",
123
127
  innerRef: dropdownMenuRef,
124
128
  icon: _VerticalElipsis || (_VerticalElipsis = /*#__PURE__*/_jsx__default["default"](MoreOptionsVert__default["default"], {}))
@@ -34,6 +34,7 @@ require('../Footer.js');
34
34
  require('@elliemae/ds-icons/GripperVertical');
35
35
  require('../HoC/SortableItemContext.js');
36
36
  require('@elliemae/ds-icons/MoreOptionsVert');
37
+ require('@elliemae/ds-utilities/hooks');
37
38
  require('uid');
38
39
  var FilterTypes = require('../../exported-related/FilterTypes.js');
39
40
  require('../../exported-related/Filters/applyOutOfTheBoxFilters.js');
@@ -88,7 +88,8 @@ const HeaderCellComp = props => {
88
88
  onFiltersChange,
89
89
  filters,
90
90
  textWrap
91
- }
91
+ },
92
+ flattenedData
92
93
  } = ctx;
93
94
  const {
94
95
  patchHeader
@@ -162,6 +163,7 @@ const HeaderCellComp = props => {
162
163
  ,
163
164
  "aria-sort": hasSortingCaret ? column.isSortedDesc ? 'descending' : 'ascending' : 'none',
164
165
  "data-testid": constants.DATA_TESTID.DATA_TABLE_HEADER,
166
+ isFirstRowGroup: !!flattenedData[0].original.dimsumHeaderValue,
165
167
  tabIndex: column.isFocuseable === false ? -1 : 0,
166
168
  isDragOverlay: isDragOverlay,
167
169
  isDraggingActive: draggableProps && draggableProps.active,
@@ -28,6 +28,7 @@ require('../Footer.js');
28
28
  require('@elliemae/ds-icons/GripperVertical');
29
29
  require('../HoC/SortableItemContext.js');
30
30
  require('@elliemae/ds-icons/MoreOptionsVert');
31
+ require('@elliemae/ds-utilities/hooks');
31
32
  require('uid');
32
33
  var RowVariants = require('../../exported-related/RowVariants.js');
33
34
  require('../../exported-related/Filters/applyOutOfTheBoxFilters.js');
package/cjs/styled.js CHANGED
@@ -115,9 +115,16 @@ const StyledHeadTr = /*#__PURE__*/styled__default["default"](Grid__default["defa
115
115
  isExpandable: props.isExpandable,
116
116
  colsLayoutStyle: props.colsLayoutStyle
117
117
  }));
118
+
119
+ const getStyledHeadTHBorderColor = props => {
120
+ if (props.dragOverlay) return 'transparent';
121
+ if (props.isFirstRowGroup) return 'transparent';
122
+ return props.theme.colors.neutral['080'];
123
+ };
124
+
118
125
  const StyledHeadTh = /*#__PURE__*/styled__default["default"].div.withConfig({
119
126
  componentId: "sc-38sgfo-7"
120
- })(["min-height:24px;line-height:normal;font-weight:600;text-transform:uppercase;font-size:0.923rem;text-align:left;", " color:#353c46;min-height:1.84615rem;position:relative;position:sticky;top:0;z-index:", ";display:flex;justify-content:space-between;box-sizing:border-box;border-right:1px solid ", ";border-bottom:1px solid ", ";outline:none;:focus{&:after{display:block;content:' ';position:absolute;top:0;left:0;right:-1px;bottom:-1px;border:2px solid ", ";pointer-events:none;z-index:", ";}}", ""], cellPadding.columnPadding, zIndexInternalConfig.ZIndexDataTable.HEADER_ROW, props => props.theme.colors.neutral['080'], props => props.isDragOverlay ? 'transparent' : props.theme.colors.neutral['080'], props => props.theme.colors.brand[700], zIndexInternalConfig.ZIndexDataTable.FOCUS_BORDER, props => props.isDraggingActive ? '' : `:hover {
127
+ })(["min-height:24px;line-height:normal;font-weight:600;text-transform:uppercase;font-size:0.923rem;text-align:left;", " color:#353c46;min-height:1.84615rem;position:relative;position:sticky;top:0;z-index:", ";display:flex;justify-content:space-between;box-sizing:border-box;border-right:1px solid ", ";border-bottom:1px solid ", ";outline:none;:focus{&:after{display:block;content:' ';position:absolute;top:0;left:0;right:-1px;bottom:-1px;border:2px solid ", ";pointer-events:none;z-index:", ";}}", ""], cellPadding.columnPadding, zIndexInternalConfig.ZIndexDataTable.HEADER_ROW, props => props.theme.colors.neutral['080'], getStyledHeadTHBorderColor, props => props.theme.colors.brand[700], zIndexInternalConfig.ZIndexDataTable.FOCUS_BORDER, props => props.isDraggingActive ? '' : `:hover {
121
128
  border-bottom: 1px solid ${props.isDragOverlay ? 'transparent' : props.theme.colors.brand[800]};
122
129
  cursor: pointer;
123
130
  }`);
@@ -152,7 +159,7 @@ const StyledFullsizeGrid = /*#__PURE__*/styled__default["default"](Grid__default
152
159
  })(["position:relative;z-index:", ";min-height:", ";height:", ";"], zIndexInternalConfig.ZIndexDataTable.ROW, props => props.minHeight || '36px', props => props.height || 'auto');
153
160
  const GroupHeaderContainer = /*#__PURE__*/styled__default["default"](Grid__default["default"]).withConfig({
154
161
  componentId: "sc-38sgfo-16"
155
- })(["background-color:", ";align-items:center;padding:0 ", ";border-top:solid 1px ", ";grid-template-columns:min-content 1fr;"], ({
162
+ })(["position:relative;background-color:", ";align-items:center;padding:0 ", ";border-top:1px solid ", ";grid-template-columns:min-content 1fr;"], ({
156
163
  theme
157
164
  }) => theme.colors.brand[200], props => props.padding, ({
158
165
  theme
@@ -26,6 +26,7 @@ import '@elliemae/ds-icons/GripperVertical';
26
26
  import '../../../parts/HoC/SortableItemContext.js';
27
27
  import { EditableCell } from '../../../exported-related/EditableCell.js';
28
28
  import '@elliemae/ds-icons/MoreOptionsVert';
29
+ import '@elliemae/ds-utilities/hooks';
29
30
  import 'uid';
30
31
  import '../../../exported-related/Filters/applyOutOfTheBoxFilters.js';
31
32
  import 'moment';
@@ -25,6 +25,7 @@ import '@elliemae/ds-icons/GripperVertical';
25
25
  import '../../../parts/HoC/SortableItemContext.js';
26
26
  import { EditableCell } from '../../../exported-related/EditableCell.js';
27
27
  import '@elliemae/ds-icons/MoreOptionsVert';
28
+ import '@elliemae/ds-utilities/hooks';
28
29
  import 'uid';
29
30
  import '../../../exported-related/Filters/applyOutOfTheBoxFilters.js';
30
31
  import 'moment';
@@ -25,6 +25,7 @@ import '@elliemae/ds-icons/GripperVertical';
25
25
  import '../../../parts/HoC/SortableItemContext.js';
26
26
  import { EditableCell } from '../../../exported-related/EditableCell.js';
27
27
  import '@elliemae/ds-icons/MoreOptionsVert';
28
+ import '@elliemae/ds-utilities/hooks';
28
29
  import 'uid';
29
30
  import '../../../exported-related/Filters/applyOutOfTheBoxFilters.js';
30
31
  import 'moment';
@@ -10,6 +10,7 @@ import 'react/jsx-runtime';
10
10
  import 'styled-components';
11
11
  import '@elliemae/ds-button';
12
12
  import '@elliemae/ds-icons/MoreOptionsVert';
13
+ import '@elliemae/ds-utilities/hooks';
13
14
  import { DATA_TESTID } from '../../../../configs/constants.js';
14
15
  import 'react-virtual';
15
16
  import '../../../../configs/useRowFlattenization.js';
@@ -11,6 +11,7 @@ import 'react/jsx-runtime';
11
11
  import 'styled-components';
12
12
  import '@elliemae/ds-button';
13
13
  import '@elliemae/ds-icons/MoreOptionsVert';
14
+ import '@elliemae/ds-utilities/hooks';
14
15
  import { DATA_TESTID } from '../../../../configs/constants.js';
15
16
  import 'react-virtual';
16
17
  import '../../../../configs/useRowFlattenization.js';
@@ -28,6 +28,7 @@ import { jsx, jsxs } from 'react/jsx-runtime';
28
28
  import 'styled-components';
29
29
  import '@elliemae/ds-button';
30
30
  import '@elliemae/ds-icons/MoreOptionsVert';
31
+ import '@elliemae/ds-utilities/hooks';
31
32
  import { DATA_TESTID } from '../../../../configs/constants.js';
32
33
  import '../../../../configs/useRowFlattenization.js';
33
34
  import '@babel/runtime/helpers/esm/defineProperty';
@@ -25,6 +25,7 @@ import '../../../../parts/Footer.js';
25
25
  import '@elliemae/ds-icons/GripperVertical';
26
26
  import '../../../../parts/HoC/SortableItemContext.js';
27
27
  import '@elliemae/ds-icons/MoreOptionsVert';
28
+ import '@elliemae/ds-utilities/hooks';
28
29
  import 'uid';
29
30
  import { FILTER_TYPES } from '../../../../exported-related/FilterTypes.js';
30
31
  import '../../../../exported-related/Filters/applyOutOfTheBoxFilters.js';
@@ -25,6 +25,7 @@ import '../../../../parts/Footer.js';
25
25
  import '@elliemae/ds-icons/GripperVertical';
26
26
  import '../../../../parts/HoC/SortableItemContext.js';
27
27
  import '@elliemae/ds-icons/MoreOptionsVert';
28
+ import '@elliemae/ds-utilities/hooks';
28
29
  import 'uid';
29
30
  import { FILTER_TYPES } from '../../../../exported-related/FilterTypes.js';
30
31
  import '../../../../exported-related/Filters/applyOutOfTheBoxFilters.js';
@@ -10,6 +10,7 @@ import 'react/jsx-runtime';
10
10
  import 'styled-components';
11
11
  import '@elliemae/ds-button';
12
12
  import '@elliemae/ds-icons/MoreOptionsVert';
13
+ import '@elliemae/ds-utilities/hooks';
13
14
  import { DATA_TESTID } from '../../../../configs/constants.js';
14
15
  import 'react-virtual';
15
16
  import '../../../../configs/useRowFlattenization.js';
@@ -8,6 +8,7 @@ import 'react/jsx-runtime';
8
8
  import 'styled-components';
9
9
  import '@elliemae/ds-button';
10
10
  import '@elliemae/ds-icons/MoreOptionsVert';
11
+ import '@elliemae/ds-utilities/hooks';
11
12
  import '../../../../configs/constants.js';
12
13
  import 'react-virtual';
13
14
  import '../../../../configs/useRowFlattenization.js';
@@ -39,7 +39,8 @@ const DATA_TESTID = {
39
39
  DATA_TABLE_ROW_HEADER_CONTENT: 'data-table-row-header-content',
40
40
  DATA_TABLE_ROW_GROUP_HEADER: 'data-table-row-group-header',
41
41
  DATA_TABLE_COLUMN_DRAG_OVERLAY: 'data-table-drag-column-drag-overlay',
42
- DATA_TABLE_HEADER_CELL_TITLE: 'header-cell-title'
42
+ DATA_TABLE_HEADER_CELL_TITLE: 'header-cell-title',
43
+ DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON: 'filter-bar-ddmenu-button'
43
44
  };
44
45
 
45
46
  export { ColsLayoutStyle, DATA_TESTID, momentFormat };
@@ -52,13 +52,14 @@ const EditableCell = props => {
52
52
  onKeyDown: handleOnKeyDown,
53
53
  onBlur: handleOnBlur,
54
54
  shouldDisplayEditIcon: cell.column.alwaysDisplayEditIcon,
55
+ role: "cell",
55
56
  "aria-describedby": isEditing ? undefined : cell.id,
56
57
  children: [!isEditing ? StandardRender : EditableRenderer, !isEditing && (_StyledPencilIcon || (_StyledPencilIcon = /*#__PURE__*/_jsx(StyledPencilIcon, {}))), /*#__PURE__*/_jsx("span", {
57
58
  id: cell.id,
58
59
  style: {
59
60
  display: 'none'
60
61
  },
61
- "aria-hidden": "false"
62
+ "aria-hidden": "true"
62
63
  }, void 0, "Editable cell. To edit the content's of this cell, press the Enter key")]
63
64
  });
64
65
  };
@@ -112,10 +112,14 @@ const FilterPopover = ({
112
112
  closeContextMenu: handleClickOutsideMenu,
113
113
  "data-testid": DATA_TESTID.DATA_TABLE_FILTER_MENU_CONTENT,
114
114
  startPlacementPreference: "bottom-end",
115
- customOffset: [4, 4],
115
+ customOffset: [5, 4],
116
116
  withoutArrow: true,
117
117
  withoutPortal: true,
118
- zIndex: 10
118
+ zIndex: 10,
119
+ extraPopperStyles: {
120
+ minWidth: '100%'
121
+ },
122
+ placementOrderPreference: ['bottom-end']
119
123
  }, void 0, /*#__PURE__*/_jsx("div", {
120
124
  style: {
121
125
  backgroundColor: '#fff'
@@ -1,5 +1,26 @@
1
1
  import { useContext, useCallback } from 'react';
2
+ import { DATA_TESTID } from '../../configs/constants.js';
3
+ import 'react-virtual';
4
+ import '../../configs/useRowFlattenization.js';
5
+ import '@babel/runtime/helpers/esm/defineProperty';
6
+ import '@babel/runtime/helpers/esm/jsx';
7
+ import '@elliemae/ds-icons';
8
+ import 'styled-components';
9
+ import '../../styled.js';
10
+ import 'react/jsx-runtime';
11
+ import '@elliemae/ds-form/Checkbox';
12
+ import '@elliemae/ds-form/Radio';
13
+ import '../../parts/TableContent.js';
14
+ import '@elliemae/ds-grid';
15
+ import '@elliemae/ds-circular-progress-indicator';
16
+ import '@elliemae/ds-icons/WarningTriangle';
17
+ import '@elliemae/ds-system';
18
+ import '@elliemae/ds-button';
2
19
  import DataTableContext from '../../DataTableContext.js';
20
+ import '../../parts/Row.js';
21
+ import '../../parts/Footer.js';
22
+ import '@elliemae/ds-icons/GripperVertical';
23
+ import '../../parts/HoC/SortableItemContext.js';
3
24
  import '../../redux/reducers/index.js';
4
25
  import { useDispatchRowsActions } from '../../redux/reducers/rowsReducers/useDispatchRowsActions.js';
5
26
 
@@ -79,8 +100,10 @@ const useRowRendererHandlers = ({
79
100
  setSelectedRowId(null);
80
101
  }
81
102
  }, [setSelectedRowId]);
82
- const handleOnFocus = useCallback(() => {
83
- setFocusedRowId(row.uid);
103
+ const handleOnFocus = useCallback(e => {
104
+ if (e.target && e.target.getAttribute('data-testid') === DATA_TESTID.DATA_TABLE_ROW_CONTENT) {
105
+ setFocusedRowId(row.uid);
106
+ }
84
107
  }, [row.uid, setFocusedRowId]);
85
108
  return {
86
109
  handleItemClick,
@@ -14,22 +14,22 @@ const useRowStyle = row => {
14
14
 
15
15
  const [borderTop, borderBottom, shouldAppendDottedBorder] = useMemo(() => {
16
16
  if (row.original.dimsumHeaderValue) {
17
- return ['1px solid transparent', '1px solid transparent', false];
17
+ return ['none', 'none', false];
18
18
  }
19
19
 
20
20
  if (row.isExpanded && row.original.subRows && row.depth === 0) {
21
- return ['1px solid #EBEDF0', '1px solid transparent', true];
21
+ return ['1px solid #EBEDF0', 'none', true];
22
22
  }
23
23
 
24
24
  if (row.depth >= 1) {
25
25
  if (row.realIndex < flattenedData.length - 1 && flattenedData[row.realIndex + 1].depth === 0) {
26
- return ['1px solid transparent', '2px solid #EBEDF0', false];
26
+ return ['none', '2px solid #EBEDF0', false];
27
27
  }
28
28
 
29
- return ['1px solid transparent', '1px solid transparent', true];
29
+ return ['none', 'none', true];
30
30
  }
31
31
 
32
- return ['1px solid transparent', '1px solid #EBEDF0', false];
32
+ return ['none', '1px solid #EBEDF0', false];
33
33
  }, [row, flattenedData]);
34
34
  const rowStyle = useMemo(() => ({
35
35
  borderTop,
@@ -1,15 +1,16 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import { useState } from 'react';
2
+ import { useState, useRef, useCallback } from 'react';
3
3
  import styled from 'styled-components';
4
4
  import DSButton from '@elliemae/ds-button';
5
5
  import MoreOptionsVert from '@elliemae/ds-icons/MoreOptionsVert';
6
+ import { useOnClickOutside } from '@elliemae/ds-utilities/hooks';
6
7
  import { DATA_TESTID } from '../../configs/constants.js';
7
8
  import 'react-virtual';
8
9
  import '../../configs/useRowFlattenization.js';
9
10
  import '@babel/runtime/helpers/esm/defineProperty';
10
11
  import '@elliemae/ds-icons';
11
12
  import '../../styled.js';
12
- import 'react/jsx-runtime';
13
+ import { jsx } from 'react/jsx-runtime';
13
14
  import '@elliemae/ds-form/Checkbox';
14
15
  import '@elliemae/ds-form/Radio';
15
16
  import '../../parts/TableContent.js';
@@ -32,24 +33,38 @@ const ToolbarWrapper = /*#__PURE__*/styled.div.withConfig({
32
33
  })(["display:flex;align-items:center;height:36px;margin-right:1px;pointer-events:all;&:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,0.13),0 1px 2px 0 rgba(0,0,0,0.2);& > .toolbar-trigger{border:none;}}"]);
33
34
  const ToolbarPosition = /*#__PURE__*/styled.div.withConfig({
34
35
  componentId: "sc-1ru2no0-2"
35
- })(["display:flex;justify-content:flex-end;align-items:center;pointer-events:none;background:white;height:", ";margin-top:", ";width:100%;height:100%;&:hover{z-index:1;}"], props => props.rowSize === 'normal' ? '36px' : '28px', props => props.rowSize === 'normal' ? '0' : '0'); // eslint-disable-next-line react/prop-types
36
+ })(["display:flex;justify-content:flex-end;align-items:center;pointer-events:none;background:white;height:28px;margin-top:4px;width:100%;padding-left:4px;&:hover{z-index:1;}:after{content:'';position:absolute;left:0px;top:4px;bottom:4px;width:1px;background-color:", ";z-index:7;}"], props => props.theme.colors.neutral['080']); // eslint-disable-next-line react/prop-types
36
37
 
37
38
  const Toolbar = ({
38
39
  children
39
40
  }) => {
40
41
  const [show, setShow] = useState(false);
41
- return /*#__PURE__*/_jsx(ToolbarPosition, {}, void 0, /*#__PURE__*/_jsx(ToolbarWrapper, {
42
- onMouseEnter: () => setShow(true),
43
- onMouseLeave: () => setShow(false)
44
- }, void 0, show && /*#__PURE__*/_jsx(ToolbarBtns, {}, void 0, children), /*#__PURE__*/_jsx(DSButton, {
45
- buttonType: "text",
46
- className: "toolbar-trigger",
47
- "data-testid": DATA_TESTID.DATA_TABLE_TOOLBAR_TRIGGER,
48
- icon: _MoreOptionsVert || (_MoreOptionsVert = /*#__PURE__*/_jsx(MoreOptionsVert, {})),
49
- onClick: () => setShow(true),
50
- onKeyDown: e => ['Enter', 'Space'].includes(e.code) && setShow(true),
51
- tabIndex: 0
52
- })));
42
+ const [clicked, setClicked] = useState(false);
43
+ const toolbarRef = useRef(null);
44
+ const handleOnClickOutside = useCallback(() => {
45
+ setShow(false);
46
+ setClicked(false);
47
+ }, []);
48
+ const handleOnClick = useCallback(() => {
49
+ setShow(true);
50
+ setClicked(true);
51
+ }, []);
52
+ useOnClickOutside(toolbarRef, handleOnClickOutside);
53
+ return /*#__PURE__*/jsx(ToolbarPosition, {
54
+ ref: toolbarRef,
55
+ children: /*#__PURE__*/_jsx(ToolbarWrapper, {
56
+ onMouseEnter: () => setShow(true),
57
+ onMouseLeave: () => setShow(clicked)
58
+ }, void 0, show && /*#__PURE__*/_jsx(ToolbarBtns, {}, void 0, children), /*#__PURE__*/_jsx(DSButton, {
59
+ buttonType: "text",
60
+ className: "toolbar-trigger",
61
+ "data-testid": DATA_TESTID.DATA_TABLE_TOOLBAR_TRIGGER,
62
+ icon: _MoreOptionsVert || (_MoreOptionsVert = /*#__PURE__*/_jsx(MoreOptionsVert, {})),
63
+ onClick: handleOnClick,
64
+ onKeyDown: e => ['Enter', 'Space'].includes(e.code) && handleOnClick(),
65
+ tabIndex: 0
66
+ }))
67
+ });
53
68
  };
54
69
 
55
70
  export { Toolbar };
@@ -14,7 +14,7 @@ const addColumnData = (datum, column) => {
14
14
  render: column.Cell || BasicCell,
15
15
  row: datum,
16
16
  ref: /*#__PURE__*/React.createRef(),
17
- id: `${datum.uid}/${column.id}`
17
+ id: `${datum.uid}__${column.id}`
18
18
  });
19
19
  };
20
20
 
@@ -5,7 +5,7 @@ import MoreOptionsVert from '@elliemae/ds-icons/MoreOptionsVert';
5
5
  import '@elliemae/ds-popperjs';
6
6
  import 'styled-components';
7
7
  import '../../redux/reducers/index.js';
8
- import '../../configs/constants.js';
8
+ import { DATA_TESTID } from '../../configs/constants.js';
9
9
  import 'react-virtual';
10
10
  import '../../configs/useRowFlattenization.js';
11
11
  import '@babel/runtime/helpers/esm/defineProperty';
@@ -24,6 +24,7 @@ import '../Row.js';
24
24
  import '../Footer.js';
25
25
  import '@elliemae/ds-icons/GripperVertical';
26
26
  import '../HoC/SortableItemContext.js';
27
+ import '@elliemae/ds-utilities/hooks';
27
28
  import 'uid';
28
29
  import { FILTER_TYPES } from '../../exported-related/FilterTypes.js';
29
30
  import '../../exported-related/Filters/applyOutOfTheBoxFilters.js';
@@ -108,6 +109,9 @@ const FiltersBar = () => {
108
109
  onClick: removeAllFilters
109
110
  }, ...((filterBarProps === null || filterBarProps === void 0 ? void 0 : filterBarProps.extraOptions) || [])],
110
111
  triggerComponent: /*#__PURE__*/_jsx(DSButton, {
112
+ containerProps: {
113
+ 'data-testid': DATA_TESTID.DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON
114
+ },
111
115
  buttonType: "text",
112
116
  innerRef: dropdownMenuRef,
113
117
  icon: _VerticalElipsis || (_VerticalElipsis = /*#__PURE__*/_jsx(MoreOptionsVert, {}))
@@ -30,6 +30,7 @@ import '../Footer.js';
30
30
  import '@elliemae/ds-icons/GripperVertical';
31
31
  import '../HoC/SortableItemContext.js';
32
32
  import '@elliemae/ds-icons/MoreOptionsVert';
33
+ import '@elliemae/ds-utilities/hooks';
33
34
  import 'uid';
34
35
  import { FILTER_TYPES } from '../../exported-related/FilterTypes.js';
35
36
  import '../../exported-related/Filters/applyOutOfTheBoxFilters.js';
@@ -78,7 +78,8 @@ const HeaderCellComp = props => {
78
78
  onFiltersChange,
79
79
  filters,
80
80
  textWrap
81
- }
81
+ },
82
+ flattenedData
82
83
  } = ctx;
83
84
  const {
84
85
  patchHeader
@@ -152,6 +153,7 @@ const HeaderCellComp = props => {
152
153
  ,
153
154
  "aria-sort": hasSortingCaret ? column.isSortedDesc ? 'descending' : 'ascending' : 'none',
154
155
  "data-testid": DATA_TESTID.DATA_TABLE_HEADER,
156
+ isFirstRowGroup: !!flattenedData[0].original.dimsumHeaderValue,
155
157
  tabIndex: column.isFocuseable === false ? -1 : 0,
156
158
  isDragOverlay: isDragOverlay,
157
159
  isDraggingActive: draggableProps && draggableProps.active,
@@ -24,6 +24,7 @@ import '../Footer.js';
24
24
  import '@elliemae/ds-icons/GripperVertical';
25
25
  import '../HoC/SortableItemContext.js';
26
26
  import '@elliemae/ds-icons/MoreOptionsVert';
27
+ import '@elliemae/ds-utilities/hooks';
27
28
  import 'uid';
28
29
  import { ROW_VARIANTS } from '../../exported-related/RowVariants.js';
29
30
  import '../../exported-related/Filters/applyOutOfTheBoxFilters.js';
package/esm/styled.js CHANGED
@@ -105,9 +105,16 @@ const StyledHeadTr = /*#__PURE__*/styled(Grid).withConfig({
105
105
  isExpandable: props.isExpandable,
106
106
  colsLayoutStyle: props.colsLayoutStyle
107
107
  }));
108
+
109
+ const getStyledHeadTHBorderColor = props => {
110
+ if (props.dragOverlay) return 'transparent';
111
+ if (props.isFirstRowGroup) return 'transparent';
112
+ return props.theme.colors.neutral['080'];
113
+ };
114
+
108
115
  const StyledHeadTh = /*#__PURE__*/styled.div.withConfig({
109
116
  componentId: "sc-38sgfo-7"
110
- })(["min-height:24px;line-height:normal;font-weight:600;text-transform:uppercase;font-size:0.923rem;text-align:left;", " color:#353c46;min-height:1.84615rem;position:relative;position:sticky;top:0;z-index:", ";display:flex;justify-content:space-between;box-sizing:border-box;border-right:1px solid ", ";border-bottom:1px solid ", ";outline:none;:focus{&:after{display:block;content:' ';position:absolute;top:0;left:0;right:-1px;bottom:-1px;border:2px solid ", ";pointer-events:none;z-index:", ";}}", ""], columnPadding, ZIndexDataTable.HEADER_ROW, props => props.theme.colors.neutral['080'], props => props.isDragOverlay ? 'transparent' : props.theme.colors.neutral['080'], props => props.theme.colors.brand[700], ZIndexDataTable.FOCUS_BORDER, props => props.isDraggingActive ? '' : `:hover {
117
+ })(["min-height:24px;line-height:normal;font-weight:600;text-transform:uppercase;font-size:0.923rem;text-align:left;", " color:#353c46;min-height:1.84615rem;position:relative;position:sticky;top:0;z-index:", ";display:flex;justify-content:space-between;box-sizing:border-box;border-right:1px solid ", ";border-bottom:1px solid ", ";outline:none;:focus{&:after{display:block;content:' ';position:absolute;top:0;left:0;right:-1px;bottom:-1px;border:2px solid ", ";pointer-events:none;z-index:", ";}}", ""], columnPadding, ZIndexDataTable.HEADER_ROW, props => props.theme.colors.neutral['080'], getStyledHeadTHBorderColor, props => props.theme.colors.brand[700], ZIndexDataTable.FOCUS_BORDER, props => props.isDraggingActive ? '' : `:hover {
111
118
  border-bottom: 1px solid ${props.isDragOverlay ? 'transparent' : props.theme.colors.brand[800]};
112
119
  cursor: pointer;
113
120
  }`);
@@ -142,7 +149,7 @@ const StyledFullsizeGrid = /*#__PURE__*/styled(Grid).withConfig({
142
149
  })(["position:relative;z-index:", ";min-height:", ";height:", ";"], ZIndexDataTable.ROW, props => props.minHeight || '36px', props => props.height || 'auto');
143
150
  const GroupHeaderContainer = /*#__PURE__*/styled(Grid).withConfig({
144
151
  componentId: "sc-38sgfo-16"
145
- })(["background-color:", ";align-items:center;padding:0 ", ";border-top:solid 1px ", ";grid-template-columns:min-content 1fr;"], ({
152
+ })(["position:relative;background-color:", ";align-items:center;padding:0 ", ";border-top:1px solid ", ";grid-template-columns:min-content 1fr;"], ({
146
153
  theme
147
154
  }) => theme.colors.brand[200], props => props.padding, ({
148
155
  theme
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-data-table",
3
- "version": "2.0.0-alpha.9",
3
+ "version": "2.0.0-next.0",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Data Table",
6
6
  "module": "./esm/index.js",
@@ -642,9 +642,9 @@
642
642
  "dependencies": {
643
643
  "@dnd-kit/core": "^3.0.4",
644
644
  "@dnd-kit/sortable": "^3.0.1",
645
- "@elliemae/ds-basic": "2.0.0-alpha.9",
646
- "@elliemae/ds-date-picker": "2.0.0-alpha.9",
647
- "@elliemae/ds-date-range-picker": "2.0.0-alpha.9",
645
+ "@elliemae/ds-basic": "2.0.0-next.0",
646
+ "@elliemae/ds-date-picker": "2.0.0-next.0",
647
+ "@elliemae/ds-date-range-picker": "2.0.0-next.0",
648
648
  "@popperjs/core": "^2.9.3",
649
649
  "@reduxjs/toolkit": "^1.5.1",
650
650
  "array-move": "^3.0.1",
@@ -37,4 +37,5 @@ export declare const DATA_TESTID: {
37
37
  DATA_TABLE_ROW_GROUP_HEADER: string;
38
38
  DATA_TABLE_COLUMN_DRAG_OVERLAY: string;
39
39
  DATA_TABLE_HEADER_CELL_TITLE: string;
40
+ DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON: string;
40
41
  };
@@ -1,4 +1,2 @@
1
- /// <reference types="react" />
2
- export declare const Toolbar: ({ children }: {
3
- children: any;
4
- }) => JSX.Element;
1
+ import React from 'react';
2
+ export declare const Toolbar: React.ComponentType;