@elliemae/ds-data-table 2.0.0-alpha.3 → 2.0.0-alpha.7

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 (136) hide show
  1. package/cjs/DataTable.js +4 -4
  2. package/cjs/DataTableContext.js +1 -1
  3. package/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +3 -3
  4. package/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +37 -24
  5. package/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +8 -9
  6. package/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +4 -5
  7. package/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +8 -8
  8. package/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +8 -8
  9. package/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +8 -8
  10. package/cjs/addons/Filters/Components/DateRangeFilter/index.js +10 -10
  11. package/cjs/addons/Filters/Components/NumberRangeFilter/index.js +7 -8
  12. package/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +7 -8
  13. package/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +8 -8
  14. package/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +8 -8
  15. package/cjs/addons/Filters/Components/SelectFilter/components.js +6 -6
  16. package/cjs/addons/Filters/Components/SelectFilter/utils.js +1 -2
  17. package/cjs/addons/Filters/Components/SingleDateFilter/index.js +9 -9
  18. package/cjs/addons/Filters/Components/TextInputFilter/index.js +3 -4
  19. package/cjs/addons/Pagination/ActiveZoneButtons.js +5 -5
  20. package/cjs/addons/Pagination/PagesButtons.js +4 -5
  21. package/cjs/addons/Pagination/Pagination.js +5 -6
  22. package/cjs/addons/Pagination/PerPageSelector.js +6 -6
  23. package/cjs/configs/constants.js +2 -1
  24. package/cjs/configs/index.js +1 -3
  25. package/cjs/configs/useTableColsWithAddons.js +1 -1
  26. package/cjs/exported-related/EditableCell.js +9 -2
  27. package/cjs/exported-related/FilterPopover.js +24 -72
  28. package/cjs/exported-related/Filters/dateRangeFilterFn.js +2 -3
  29. package/cjs/exported-related/Filters/singleDateFilterFn.js +2 -3
  30. package/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +7 -5
  31. package/cjs/exported-related/RowRenderer/index.js +9 -8
  32. package/cjs/exported-related/RowRenderer/useRowRendererHandlers.js +6 -2
  33. package/cjs/exported-related/RowRenderer/useRowRendererProperties.js +2 -2
  34. package/cjs/exported-related/RowRenderer/useRowStyle.js +1 -1
  35. package/cjs/exported-related/Toolbar/Toolbar.js +6 -7
  36. package/cjs/helpers/addCellData.js +3 -2
  37. package/cjs/helpers/dndkit/hierarchy/customCollisionDetection.js +1 -2
  38. package/cjs/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +2 -3
  39. package/cjs/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +1 -1
  40. package/cjs/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +1 -2
  41. package/cjs/helpers/dndkit/tree/getTreeKeyboardCoordinates.js +1 -1
  42. package/cjs/helpers/dndkit/tree/useTreeDndkitConfig.js +1 -1
  43. package/cjs/parts/Cells/Cell.js +5 -5
  44. package/cjs/parts/Cells/index.js +5 -5
  45. package/cjs/parts/Cells/useCellStyle.js +1 -1
  46. package/cjs/parts/DnDHandle.js +3 -4
  47. package/cjs/parts/DropIndicator.js +4 -4
  48. package/cjs/parts/EmptyContent.js +12 -12
  49. package/cjs/parts/FilterBar/FiltersBar.js +12 -12
  50. package/cjs/parts/FilterBar/components/DateRangePill.js +2 -2
  51. package/cjs/parts/FilterBar/components/MultiSelectPill.js +4 -3
  52. package/cjs/parts/FilterBar/components/NumberRangePill.js +2 -2
  53. package/cjs/parts/FilterBar/components/SelectPill.js +2 -2
  54. package/cjs/parts/FilterBar/components/SingleDatePill.js +2 -2
  55. package/cjs/parts/FilterBar/components/TextPill.js +2 -2
  56. package/cjs/parts/FilterBar/styled.js +2 -2
  57. package/cjs/parts/Filters/index.js +8 -9
  58. package/cjs/parts/Footer.js +1 -1
  59. package/cjs/parts/Headers/EmptyChildrenGroup.js +2 -2
  60. package/cjs/parts/Headers/HeaderCell.js +11 -12
  61. package/cjs/parts/Headers/HeaderCellGroup.js +5 -6
  62. package/cjs/parts/Headers/HeaderCellTitle.js +27 -6
  63. package/cjs/parts/Headers/HeaderResizer.js +3 -4
  64. package/cjs/parts/Headers/RequiredDot.js +2 -2
  65. package/cjs/parts/Headers/index.js +4 -4
  66. package/cjs/parts/Headers/useHeaderCellHandlers.js +1 -1
  67. package/cjs/parts/HoC/withConditionalDnDColumnContext.js +6 -6
  68. package/cjs/parts/HoC/withConditionalDnDRowContext.js +7 -7
  69. package/cjs/parts/HoC/withConditionalDnDSortableContext.js +3 -3
  70. package/cjs/parts/HoC/withDnDSortableColumnContext.js +3 -3
  71. package/cjs/parts/HoC/withDnDSortableRowContext.js +3 -3
  72. package/cjs/parts/Loader.js +3 -3
  73. package/cjs/parts/Row.js +2 -2
  74. package/cjs/parts/RowLoading.js +3 -4
  75. package/cjs/parts/RowVariants/RowVariantHeader.js +5 -5
  76. package/cjs/parts/RowVariants/RowVariantPrimary.js +1 -1
  77. package/cjs/parts/RowVariants/RowVariantSecondary.js +1 -1
  78. package/cjs/parts/RowVariants/index.js +8 -8
  79. package/cjs/parts/Rows.js +2 -2
  80. package/cjs/parts/SortByCaret.js +3 -3
  81. package/cjs/parts/SortableHeaderCell.js +2 -2
  82. package/cjs/parts/TableContent.js +11 -8
  83. package/cjs/parts/VirtualRowsList.js +6 -7
  84. package/cjs/prop-types.js +25 -25
  85. package/cjs/redux/reducers/headersReducers/logic.js +1 -1
  86. package/cjs/redux/reducers/index.js +1 -1
  87. package/cjs/redux/storeConfig.js +1 -1
  88. package/cjs/styled.js +24 -29
  89. package/esm/addons/Columns/ColumnExpand/ColumnExpand.js +27 -13
  90. package/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +5 -6
  91. package/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +0 -1
  92. package/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +5 -5
  93. package/esm/addons/Editables/DateEditableCell/DateEditableCell.js +5 -5
  94. package/esm/addons/Editables/TextEditableCell/TextEditableCell.js +4 -4
  95. package/esm/addons/Filters/Components/DateRangeFilter/index.js +3 -3
  96. package/esm/addons/Filters/Components/NumberRangeFilter/index.js +0 -1
  97. package/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +0 -1
  98. package/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +7 -7
  99. package/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +7 -7
  100. package/esm/addons/Filters/Components/SelectFilter/utils.js +1 -2
  101. package/esm/addons/Filters/Components/SingleDateFilter/index.js +2 -2
  102. package/esm/addons/Filters/Components/TextInputFilter/index.js +0 -1
  103. package/esm/addons/Pagination/PagesButtons.js +0 -1
  104. package/esm/addons/Pagination/Pagination.js +1 -2
  105. package/esm/configs/constants.js +2 -1
  106. package/esm/exported-related/EditableCell.js +8 -1
  107. package/esm/exported-related/FilterPopover.js +20 -67
  108. package/esm/exported-related/Filters/dateRangeFilterFn.js +1 -2
  109. package/esm/exported-related/Filters/singleDateFilterFn.js +1 -2
  110. package/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +3 -1
  111. package/esm/exported-related/RowRenderer/index.js +4 -3
  112. package/esm/exported-related/RowRenderer/useRowRendererHandlers.js +5 -1
  113. package/esm/exported-related/Toolbar/Toolbar.js +0 -1
  114. package/esm/helpers/addCellData.js +2 -1
  115. package/esm/helpers/dndkit/hierarchy/customCollisionDetection.js +1 -2
  116. package/esm/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +1 -2
  117. package/esm/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +1 -2
  118. package/esm/parts/Cells/index.js +2 -2
  119. package/esm/parts/DnDHandle.js +0 -1
  120. package/esm/parts/FilterBar/FiltersBar.js +5 -5
  121. package/esm/parts/FilterBar/components/MultiSelectPill.js +3 -2
  122. package/esm/parts/Filters/index.js +7 -8
  123. package/esm/parts/Headers/HeaderCell.js +0 -1
  124. package/esm/parts/Headers/HeaderCellGroup.js +0 -1
  125. package/esm/parts/Headers/HeaderCellTitle.js +22 -1
  126. package/esm/parts/Headers/HeaderResizer.js +1 -2
  127. package/esm/parts/RowLoading.js +0 -1
  128. package/esm/parts/RowVariants/index.js +7 -7
  129. package/esm/parts/TableContent.js +7 -4
  130. package/esm/parts/VirtualRowsList.js +1 -2
  131. package/esm/styled.js +3 -8
  132. package/package.json +4 -4
  133. package/types/configs/constants.d.ts +1 -0
  134. package/types/exported-related/FilterPopover.d.ts +0 -3
  135. package/types/exported-related/RowRenderer/useRowRendererHandlers.d.ts +1 -0
  136. package/types/styled.d.ts +3 -1
@@ -7,7 +7,6 @@ import { DATA_TESTID } from '../../configs/constants.js';
7
7
  import 'react-virtual';
8
8
  import '../../configs/useRowFlattenization.js';
9
9
  import '@babel/runtime/helpers/esm/defineProperty';
10
- import '@elliemae/ds-icons/ArrowShortReturn';
11
10
  import '@elliemae/ds-icons';
12
11
  import '../../styled.js';
13
12
  import 'react/jsx-runtime';
@@ -13,7 +13,8 @@ const addColumnData = (datum, column) => {
13
13
  value: getCellValue(datum, column.accessor),
14
14
  render: column.Cell || BasicCell,
15
15
  row: datum,
16
- ref: /*#__PURE__*/React.createRef()
16
+ ref: /*#__PURE__*/React.createRef(),
17
+ id: `${datum.uid}/${column.id}`
17
18
  });
18
19
  };
19
20
 
@@ -4,9 +4,8 @@ import 'react-virtual';
4
4
  import '../../../configs/useRowFlattenization.js';
5
5
  import '@babel/runtime/helpers/esm/defineProperty';
6
6
  import '@babel/runtime/helpers/esm/jsx';
7
- import '@elliemae/ds-icons/ArrowShortReturn';
8
- import 'styled-components';
9
7
  import '@elliemae/ds-icons';
8
+ import 'styled-components';
10
9
  import '../../../styled.js';
11
10
  import 'react/jsx-runtime';
12
11
  import '@elliemae/ds-form/Checkbox';
@@ -5,9 +5,8 @@ import 'react';
5
5
  import 'react-virtual';
6
6
  import '../../../configs/useRowFlattenization.js';
7
7
  import '@babel/runtime/helpers/esm/jsx';
8
- import '@elliemae/ds-icons/ArrowShortReturn';
9
- import 'styled-components';
10
8
  import '@elliemae/ds-icons';
9
+ import 'styled-components';
11
10
  import '../../../styled.js';
12
11
  import 'react/jsx-runtime';
13
12
  import '@elliemae/ds-form/Checkbox';
@@ -4,9 +4,8 @@ import 'react-virtual';
4
4
  import '../../../configs/useRowFlattenization.js';
5
5
  import '@babel/runtime/helpers/esm/defineProperty';
6
6
  import '@babel/runtime/helpers/esm/jsx';
7
- import '@elliemae/ds-icons/ArrowShortReturn';
8
- import 'styled-components';
9
7
  import '@elliemae/ds-icons';
8
+ import 'styled-components';
10
9
  import '../../../styled.js';
11
10
  import 'react/jsx-runtime';
12
11
  import '@elliemae/ds-form/Checkbox';
@@ -31,7 +31,7 @@ const Cells = props => {
31
31
  const ActionComponent = cell.render;
32
32
  jsx = /*#__PURE__*/_jsx(StyledActionCell, {
33
33
  role: "cell"
34
- }, row.uid + column.id, _ActionComponent || (_ActionComponent = /*#__PURE__*/_jsx(ActionComponent, {
34
+ }, cell.id, _ActionComponent || (_ActionComponent = /*#__PURE__*/_jsx(ActionComponent, {
35
35
  row: row,
36
36
  cell: cell,
37
37
  column: column,
@@ -49,7 +49,7 @@ const Cells = props => {
49
49
  isRowSelected: isRowSelected,
50
50
  shouldAddExpandCell: isUserCell && shouldAddExpandCell,
51
51
  isDragOverlay: isDragOverlay
52
- }, row.uid + column.id);
52
+ }, cell.id);
53
53
  } // Drag overlay only need to print the DnD handle and the first user's cell
54
54
 
55
55
 
@@ -7,7 +7,6 @@ import { SortableItemContext } from './HoC/SortableItemContext.js';
7
7
  import { DATA_TESTID } from '../configs/constants.js';
8
8
  import 'react-virtual';
9
9
  import '../configs/useRowFlattenization.js';
10
- import '@elliemae/ds-icons/ArrowShortReturn';
11
10
  import '@elliemae/ds-icons';
12
11
  import '../styled.js';
13
12
  import 'react/jsx-runtime';
@@ -2,17 +2,16 @@ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
2
  import React, { useContext, useMemo, useRef, useCallback } from 'react';
3
3
  import DSButton from '@elliemae/ds-button';
4
4
  import MoreOptionsVert from '@elliemae/ds-icons/MoreOptionsVert';
5
- import '../../exported-related/FilterPopover.js';
6
- import '../../styled.js';
7
- import DataTableContext from '../../DataTableContext.js';
8
- import 'react/jsx-runtime';
5
+ import '@elliemae/ds-popperjs';
9
6
  import 'styled-components';
7
+ import '../../redux/reducers/index.js';
10
8
  import '../../configs/constants.js';
11
9
  import 'react-virtual';
12
10
  import '../../configs/useRowFlattenization.js';
13
11
  import '@babel/runtime/helpers/esm/defineProperty';
14
- import '@elliemae/ds-icons/ArrowShortReturn';
15
12
  import '@elliemae/ds-icons';
13
+ import '../../styled.js';
14
+ import 'react/jsx-runtime';
16
15
  import '@elliemae/ds-form/Checkbox';
17
16
  import '@elliemae/ds-form/Radio';
18
17
  import '../TableContent.js';
@@ -20,6 +19,7 @@ import '@elliemae/ds-grid';
20
19
  import '@elliemae/ds-circular-progress-indicator';
21
20
  import '@elliemae/ds-icons/WarningTriangle';
22
21
  import '@elliemae/ds-system';
22
+ import DataTableContext from '../../DataTableContext.js';
23
23
  import '../Row.js';
24
24
  import '../Footer.js';
25
25
  import '@elliemae/ds-icons/GripperVertical';
@@ -19,6 +19,7 @@ const MultiSelectPill = ({
19
19
 
20
20
  if (newFilters[filterIndex].value.length === 0) {
21
21
  if (prevRef !== null && prevRef !== void 0 && prevRef.current) prevRef.current.focus();else nextRef.current.focus();
22
+ newFilters.splice(filterIndex, 1);
22
23
  }
23
24
 
24
25
  onFiltersChange(newFilters);
@@ -26,11 +27,11 @@ const MultiSelectPill = ({
26
27
  return value !== null && value !== void 0 && value.length ? /*#__PURE__*/_jsx(DSPillGroupV2, {}, void 0, /*#__PURE__*/_jsx(DSPillV2, {
27
28
  type: "label",
28
29
  label: columnHeader
29
- }), value.map(val => /*#__PURE__*/_jsx(DSPillV2, {
30
+ }), value.map((val, index) => /*#__PURE__*/_jsx(DSPillV2, {
30
31
  type: "removable",
31
32
  label: val,
32
33
  onRemove: () => handleOnRemove(val),
33
- innerRef: innerRef
34
+ innerRef: index === value.length - 1 ? innerRef : {}
34
35
  }, val))) : null;
35
36
  };
36
37
 
@@ -6,19 +6,17 @@ import { SingleSelectFilter } from '../../addons/Filters/Components/SelectFilter
6
6
  import { MultiSelectFilter } from '../../addons/Filters/Components/SelectFilter/MultiSelectFilter.js';
7
7
  import { SingleDateFilter } from '../../addons/Filters/Components/SingleDateFilter/index.js';
8
8
  import { TextInputFilter } from '../../addons/Filters/Components/TextInputFilter/index.js';
9
- import '../../exported-related/FilterPopover.js';
10
9
  import '@babel/runtime/helpers/esm/jsx';
11
- import '../../styled.js';
12
- import '../../DataTableContext.js';
13
- import { jsx } from 'react/jsx-runtime';
14
- import 'styled-components';
15
10
  import '@elliemae/ds-button';
16
- import '@elliemae/ds-icons/MoreOptionsVert';
11
+ import '@elliemae/ds-popperjs';
12
+ import 'styled-components';
13
+ import '../../redux/reducers/index.js';
17
14
  import '../../configs/constants.js';
18
15
  import 'react-virtual';
19
16
  import '../../configs/useRowFlattenization.js';
20
- import '@elliemae/ds-icons/ArrowShortReturn';
21
17
  import '@elliemae/ds-icons';
18
+ import '../../styled.js';
19
+ import { jsx } from 'react/jsx-runtime';
22
20
  import '@elliemae/ds-form/Checkbox';
23
21
  import '@elliemae/ds-form/Radio';
24
22
  import '../TableContent.js';
@@ -26,15 +24,16 @@ import '@elliemae/ds-grid';
26
24
  import '@elliemae/ds-circular-progress-indicator';
27
25
  import '@elliemae/ds-icons/WarningTriangle';
28
26
  import '@elliemae/ds-system';
27
+ import '../../DataTableContext.js';
29
28
  import '../Row.js';
30
29
  import '../Footer.js';
31
30
  import '@elliemae/ds-icons/GripperVertical';
32
31
  import '../HoC/SortableItemContext.js';
32
+ import '@elliemae/ds-icons/MoreOptionsVert';
33
33
  import 'uid';
34
34
  import { FILTER_TYPES } from '../../exported-related/FilterTypes.js';
35
35
  import '../../exported-related/Filters/applyOutOfTheBoxFilters.js';
36
36
  import 'moment';
37
- import '../../redux/reducers/index.js';
38
37
  import { useDispatchHeadersActions } from '../../redux/reducers/headersReducers/useDispatchHeadersActions.js';
39
38
 
40
39
  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; }
@@ -25,7 +25,6 @@ import { useRecoverFocusCol } from '../../hooks/useRecoverFocusCol.js';
25
25
  import { DATA_TESTID } from '../../configs/constants.js';
26
26
  import 'react-virtual';
27
27
  import '../../configs/useRowFlattenization.js';
28
- import '@elliemae/ds-icons/ArrowShortReturn';
29
28
  import '@elliemae/ds-icons';
30
29
  import { jsxs } from 'react/jsx-runtime';
31
30
  import '@elliemae/ds-form/Checkbox';
@@ -12,7 +12,6 @@ import { DATA_TESTID } from '../../configs/constants.js';
12
12
  import 'react-virtual';
13
13
  import '../../configs/useRowFlattenization.js';
14
14
  import '@babel/runtime/helpers/esm/defineProperty';
15
- import '@elliemae/ds-icons/ArrowShortReturn';
16
15
  import '@elliemae/ds-icons';
17
16
  import '../../styled.js';
18
17
  import { jsxs } from 'react/jsx-runtime';
@@ -2,7 +2,27 @@ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
2
  import 'react';
3
3
  import { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';
4
4
  import { RequiredDot } from './RequiredDot.js';
5
+ import { DATA_TESTID } from '../../configs/constants.js';
6
+ import 'react-virtual';
7
+ import '../../configs/useRowFlattenization.js';
8
+ import '@babel/runtime/helpers/esm/defineProperty';
9
+ import '@elliemae/ds-icons';
10
+ import 'styled-components';
11
+ import '../../styled.js';
5
12
  import { jsx, Fragment } from 'react/jsx-runtime';
13
+ import '@elliemae/ds-form/Checkbox';
14
+ import '@elliemae/ds-form/Radio';
15
+ import '../TableContent.js';
16
+ import '@elliemae/ds-grid';
17
+ import '@elliemae/ds-circular-progress-indicator';
18
+ import '@elliemae/ds-icons/WarningTriangle';
19
+ import '@elliemae/ds-system';
20
+ import '@elliemae/ds-button';
21
+ import '../../DataTableContext.js';
22
+ import '../Row.js';
23
+ import '../Footer.js';
24
+ import '@elliemae/ds-icons/GripperVertical';
25
+ import '../HoC/SortableItemContext.js';
6
26
 
7
27
  var _RequiredDot;
8
28
 
@@ -24,7 +44,8 @@ const HeaderCellTitle = ({
24
44
  style: {
25
45
  display: 'flex',
26
46
  alignItems: 'center'
27
- }
47
+ },
48
+ "data-testid": DATA_TESTID.DATA_TABLE_HEADER_CELL_TITLE
28
49
  }, void 0, typeof column.Header === 'string' ? /*#__PURE__*/_jsx(StringTitle, {
29
50
  column: column,
30
51
  textWrap: textWrap
@@ -5,9 +5,8 @@ import 'react-virtual';
5
5
  import { columnsToGrid } from '../../helpers/columnsToGrid.js';
6
6
  import '../../configs/useRowFlattenization.js';
7
7
  import '@babel/runtime/helpers/esm/jsx';
8
- import '@elliemae/ds-icons/ArrowShortReturn';
9
- import 'styled-components';
10
8
  import '@elliemae/ds-icons';
9
+ import 'styled-components';
11
10
  import { StyledResizer } from '../../styled.js';
12
11
  import { jsx } from 'react/jsx-runtime';
13
12
  import '@elliemae/ds-form/Checkbox';
@@ -7,7 +7,6 @@ import { DATA_TESTID } from '../configs/constants.js';
7
7
  import 'react-virtual';
8
8
  import '../configs/useRowFlattenization.js';
9
9
  import '@babel/runtime/helpers/esm/defineProperty';
10
- import '@elliemae/ds-icons/ArrowShortReturn';
11
10
  import '@elliemae/ds-icons';
12
11
  import '../styled.js';
13
12
  import 'react/jsx-runtime';
@@ -1,18 +1,16 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
2
  import 'react';
3
- import '../../exported-related/FilterPopover.js';
4
3
  import '@babel/runtime/helpers/esm/jsx';
5
- import '../../styled.js';
6
- import '../../DataTableContext.js';
7
- import { jsx } from 'react/jsx-runtime';
8
- import 'styled-components';
9
4
  import '@elliemae/ds-button';
10
- import '@elliemae/ds-icons/MoreOptionsVert';
5
+ import '@elliemae/ds-popperjs';
6
+ import 'styled-components';
7
+ import '../../redux/reducers/index.js';
11
8
  import '../../configs/constants.js';
12
9
  import 'react-virtual';
13
10
  import '../../configs/useRowFlattenization.js';
14
- import '@elliemae/ds-icons/ArrowShortReturn';
15
11
  import '@elliemae/ds-icons';
12
+ import '../../styled.js';
13
+ import { jsx } from 'react/jsx-runtime';
16
14
  import '@elliemae/ds-form/Checkbox';
17
15
  import '@elliemae/ds-form/Radio';
18
16
  import '../TableContent.js';
@@ -20,10 +18,12 @@ import '@elliemae/ds-grid';
20
18
  import '@elliemae/ds-circular-progress-indicator';
21
19
  import '@elliemae/ds-icons/WarningTriangle';
22
20
  import '@elliemae/ds-system';
21
+ import '../../DataTableContext.js';
23
22
  import '../Row.js';
24
23
  import '../Footer.js';
25
24
  import '@elliemae/ds-icons/GripperVertical';
26
25
  import '../HoC/SortableItemContext.js';
26
+ import '@elliemae/ds-icons/MoreOptionsVert';
27
27
  import 'uid';
28
28
  import { ROW_VARIANTS } from '../../exported-related/RowVariants.js';
29
29
  import '../../exported-related/Filters/applyOutOfTheBoxFilters.js';
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
2
  import _jsx from '@babel/runtime/helpers/esm/jsx';
3
- import React, { useContext, useMemo } from 'react';
3
+ import React, { useContext, useState, useMemo } from 'react';
4
4
  import { connect } from 'react-redux';
5
5
  import { StyledDataTableWrapper, StyledTableWrapper } from '../styled.js';
6
6
  import DataTableContext from '../DataTableContext.js';
@@ -9,9 +9,8 @@ import VirtualRowsList from './VirtualRowsList.js';
9
9
  import { DATA_TESTID } from '../configs/constants.js';
10
10
  import 'react-virtual';
11
11
  import '../configs/useRowFlattenization.js';
12
- import '@elliemae/ds-icons/ArrowShortReturn';
13
- import 'styled-components';
14
12
  import '@elliemae/ds-icons';
13
+ import 'styled-components';
15
14
  import { jsxs, jsx } from 'react/jsx-runtime';
16
15
  import '@elliemae/ds-form/Checkbox';
17
16
  import '@elliemae/ds-form/Radio';
@@ -50,11 +49,15 @@ const TableContentComponent = props => {
50
49
  allDataFlattened,
51
50
  visibleColumns
52
51
  } = useContext(DataTableContext);
52
+ const [shiftKeyPressed, setShiftKeyPressed] = useState(false);
53
53
  const PureTableContent = useMemo(() => /*#__PURE__*/jsxs(StyledDataTableWrapper, {
54
54
  "data-testid": DATA_TESTID.DATA_TABLE_CONTENT_WRAPPER,
55
55
  height: height,
56
56
  width: width,
57
57
  ref: forwardedRef,
58
+ noSelectionAllowed: shiftKeyPressed,
59
+ onKeyDown: e => setShiftKeyPressed(prevShiftKeyPressed => prevShiftKeyPressed || e.shiftKey),
60
+ onKeyUp: e => setShiftKeyPressed(prevShiftKeyPressed => prevShiftKeyPressed && e.code !== 'Shift'),
58
61
  children: [/*#__PURE__*/_jsx(StyledTableWrapper, {
59
62
  role: "table",
60
63
  "aria-rowcount": allDataFlattened.length,
@@ -63,7 +66,7 @@ const TableContentComponent = props => {
63
66
  height: height,
64
67
  width: width
65
68
  }, void 0, _VirtualRowsList || (_VirtualRowsList = /*#__PURE__*/_jsx(VirtualRowsList, {}))), pagination ? _Pagination || (_Pagination = /*#__PURE__*/_jsx(Pagination, {})) : null]
66
- }), [height, width, forwardedRef, allDataFlattened.length, visibleColumns.length, pagination]);
69
+ }), [height, width, forwardedRef, allDataFlattened.length, visibleColumns.length, pagination, shiftKeyPressed]);
67
70
  return PureTableContent;
68
71
  };
69
72
 
@@ -15,9 +15,8 @@ import { DATA_TESTID } from '../configs/constants.js';
15
15
  import 'react-virtual';
16
16
  import '../configs/useRowFlattenization.js';
17
17
  import '@babel/runtime/helpers/esm/defineProperty';
18
- import '@elliemae/ds-icons/ArrowShortReturn';
19
- import 'styled-components';
20
18
  import '@elliemae/ds-icons';
19
+ import 'styled-components';
21
20
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
22
21
  import '@elliemae/ds-form/Checkbox';
23
22
  import '@elliemae/ds-form/Radio';
package/esm/styled.js CHANGED
@@ -10,7 +10,6 @@ import 'react-virtual';
10
10
  import './configs/useRowFlattenization.js';
11
11
  import '@babel/runtime/helpers/esm/defineProperty';
12
12
  import '@babel/runtime/helpers/esm/jsx';
13
- import '@elliemae/ds-icons/ArrowShortReturn';
14
13
  import '@elliemae/ds-icons';
15
14
  import 'react/jsx-runtime';
16
15
  import '@elliemae/ds-form/Checkbox';
@@ -50,13 +49,9 @@ const StyledFocusWithin = /*#__PURE__*/styled(Grid).withConfig({
50
49
  })([":focus-within{", "}"], props => props.hideFocus ? '' : styledFocusCss(props));
51
50
  const StyledDataTableWrapper = /*#__PURE__*/styled.div.withConfig({
52
51
  componentId: "sc-38sgfo-1"
53
- })(["", ""], ({
54
- width = ' 100%',
55
- height = ' 100%'
56
- }) => `
57
- width: ${sizeToCss(width)};
58
- height: ${sizeToCss(height)};
59
- `);
52
+ })(["width:", ";height:", ";user-select:", ";"], props => sizeToCss(props.width ?? ' 100%'), props => sizeToCss(props.height ?? ' 100%'), ({
53
+ noSelectionAllowed
54
+ }) => noSelectionAllowed ? 'none' : 'auto');
60
55
  const StyledTableWrapper = /*#__PURE__*/styled.div.withConfig({
61
56
  componentId: "sc-38sgfo-2"
62
57
  })(["display:inline-block;border-spacing:0;z-index:0;position:relative;", ""], ({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-data-table",
3
- "version": "2.0.0-alpha.3",
3
+ "version": "2.0.0-alpha.7",
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.3",
646
- "@elliemae/ds-date-picker": "2.0.0-alpha.3",
647
- "@elliemae/ds-date-range-picker": "2.0.0-alpha.3",
645
+ "@elliemae/ds-basic": "2.0.0-alpha.7",
646
+ "@elliemae/ds-date-picker": "2.0.0-alpha.7",
647
+ "@elliemae/ds-date-range-picker": "2.0.0-alpha.7",
648
648
  "@popperjs/core": "^2.9.3",
649
649
  "@reduxjs/toolkit": "^1.5.1",
650
650
  "array-move": "^3.0.1",
@@ -36,4 +36,5 @@ export declare const DATA_TESTID: {
36
36
  DATA_TABLE_ROW_HEADER_CONTENT: string;
37
37
  DATA_TABLE_ROW_GROUP_HEADER: string;
38
38
  DATA_TABLE_COLUMN_DRAG_OVERLAY: string;
39
+ DATA_TABLE_HEADER_CELL_TITLE: string;
39
40
  };
@@ -1,13 +1,10 @@
1
1
  import React, { MutableRefObject } from 'react';
2
- import { TypescriptColumn } from '../types/props';
3
2
  interface FilterPopoverProps {
4
- column: TypescriptColumn;
5
3
  columnId: string;
6
4
  triggerIcon: JSX.Element;
7
5
  menuContent: JSX.Element;
8
6
  onTriggerClick?: (id: string, e: UIEvent) => void;
9
7
  onClickOutsideMenu?: (id: string, e: UIEvent) => void;
10
- removeWrapperStyles?: boolean;
11
8
  reduxHeader: {
12
9
  hideFilterButton: boolean;
13
10
  hideFilterMenu: boolean;
@@ -12,4 +12,5 @@ export declare const useRowRendererHandlers: ({ row, itemIndex, items, draggable
12
12
  handleItemClick: React.MouseEventHandler;
13
13
  handleKeyDown: React.KeyboardEventHandler;
14
14
  handleOnBlur: React.FocusEventHandler;
15
+ handleOnFocus: React.FocusEventHandler;
15
16
  };
package/types/styled.d.ts CHANGED
@@ -4,7 +4,9 @@ interface WidthAndHeight {
4
4
  height?: string | number;
5
5
  }
6
6
  export declare const StyledFocusWithin: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("react").RefAttributes<unknown>>, any, {}, never>;
7
- export declare const StyledDataTableWrapper: import("styled-components").StyledComponent<"div", any, WidthAndHeight, never>;
7
+ export declare const StyledDataTableWrapper: import("styled-components").StyledComponent<"div", any, WidthAndHeight & {
8
+ noSelectionAllowed: boolean;
9
+ }, never>;
8
10
  export declare const StyledTableWrapper: import("styled-components").StyledComponent<"div", any, WidthAndHeight, never>;
9
11
  export declare const StyledTableContentWrapper: import("styled-components").StyledComponent<"div", any, WidthAndHeight, never>;
10
12
  export declare const StyledVirtualListWrapper: import("styled-components").StyledComponent<"div", any, WidthAndHeight, never>;