@elliemae/ds-datagrids 2.4.2-rc.9 → 2.4.2

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 (97) hide show
  1. package/cjs/DataGridImpl.js +2 -2
  2. package/cjs/blockNames.js +2 -2
  3. package/cjs/columns/IconColumn.js +1 -1
  4. package/cjs/components/BodyCell.js +5 -6
  5. package/cjs/components/ColumnVisibilityMenuOption.js +0 -1
  6. package/cjs/components/ColumnsOptionsMenuSection.js +0 -1
  7. package/cjs/components/HeaderCell.js +1 -1
  8. package/cjs/components/renderers/defaultClassedRenderers.js +3 -3
  9. package/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +4 -4
  10. package/cjs/plugins/column-dnd/DndColumnsPlugin.js +2 -2
  11. package/cjs/plugins/column-sizing/ColumnSizingPlugin.js +1 -1
  12. package/cjs/plugins/column-sizing/ext-points/getTableProps.js +1 -2
  13. package/cjs/plugins/column-sizing/getColumnNameFromProperty.js +0 -2
  14. package/cjs/plugins/column-sizing/useColumnSizeService.js +3 -4
  15. package/cjs/plugins/column-sizing/useStylesheetHelpers.js +13 -14
  16. package/cjs/plugins/editable/EditablePlugin.js +0 -1
  17. package/cjs/plugins/editable/decorateEditable.js +4 -5
  18. package/cjs/plugins/editable/getEditorComponent.js +1 -3
  19. package/cjs/plugins/expandable-grid/ExpandableColumn.js +3 -3
  20. package/cjs/plugins/expandable-grid/ExpandablePlugin.js +0 -1
  21. package/cjs/plugins/expandable-grid/ExpandedRowExtra.js +2 -2
  22. package/cjs/plugins/expandable-grid/useExpandGridState.js +0 -1
  23. package/cjs/plugins/export-data/ExportDataPlugin.js +7 -11
  24. package/cjs/plugins/filterable/components/FilterableHeader.js +2 -4
  25. package/cjs/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +2 -3
  26. package/cjs/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +0 -1
  27. package/cjs/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +2 -3
  28. package/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js +2 -7
  29. package/cjs/plugins/filterable/helper.js +0 -1
  30. package/cjs/plugins/filterable/useFilterableState.js +1 -2
  31. package/cjs/plugins/grouping-by/GroupingByPlugin.js +1 -1
  32. package/cjs/plugins/grouping-grid/GroupingPlugin.js +1 -1
  33. package/cjs/plugins/grouping-grid/walkStrategy.js +0 -2
  34. package/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js +2 -3
  35. package/cjs/plugins/pagination/components/Paginator.js +1 -1
  36. package/cjs/plugins/pagination/usePaginationState.js +1 -2
  37. package/cjs/plugins/resizable/utils.js +1 -2
  38. package/cjs/plugins/row-dnd/DndRowsPlugin.js +2 -3
  39. package/cjs/plugins/selectable/SelectablePlugin.js +2 -1
  40. package/cjs/plugins/selectable/useSelectableState.js +0 -1
  41. package/cjs/plugins/sortable/sorter.js +3 -3
  42. package/cjs/plugins/sortable/useSortableState.js +0 -1
  43. package/cjs/plugins/toolbar/RowRenderer.js +3 -4
  44. package/cjs/plugins/toolbar/ToolbarPlugin.js +0 -1
  45. package/cjs/plugins/toolbar/ToolbarTrigger.js +5 -5
  46. package/cjs/plugins/virtualization/VirtualizedBody.js +1 -2
  47. package/cjs/renders/styled.js +14 -2
  48. package/cjs/utilities/normalizeData.js +0 -1
  49. package/esm/DataGridImpl.js +2 -2
  50. package/esm/blockNames.js +2 -2
  51. package/esm/columns/IconColumn.js +1 -1
  52. package/esm/components/BodyCell.js +2 -3
  53. package/esm/components/ColumnVisibilityMenuOption.js +0 -1
  54. package/esm/components/ColumnsOptionsMenuSection.js +0 -1
  55. package/esm/components/HeaderCell.js +1 -1
  56. package/esm/components/renderers/defaultClassedRenderers.js +3 -3
  57. package/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +4 -4
  58. package/esm/plugins/column-dnd/DndColumnsPlugin.js +2 -2
  59. package/esm/plugins/column-sizing/ColumnSizingPlugin.js +1 -1
  60. package/esm/plugins/column-sizing/ext-points/getTableProps.js +0 -1
  61. package/esm/plugins/column-sizing/getColumnNameFromProperty.js +0 -2
  62. package/esm/plugins/column-sizing/useColumnSizeService.js +3 -4
  63. package/esm/plugins/column-sizing/useStylesheetHelpers.js +13 -14
  64. package/esm/plugins/editable/EditablePlugin.js +0 -1
  65. package/esm/plugins/editable/decorateEditable.js +1 -2
  66. package/esm/plugins/editable/getEditorComponent.js +1 -3
  67. package/esm/plugins/expandable-grid/ExpandableColumn.js +3 -3
  68. package/esm/plugins/expandable-grid/ExpandablePlugin.js +2 -3
  69. package/esm/plugins/expandable-grid/ExpandedRowExtra.js +2 -2
  70. package/esm/plugins/expandable-grid/useExpandGridState.js +0 -1
  71. package/esm/plugins/export-data/ExportDataPlugin.js +7 -11
  72. package/esm/plugins/filterable/components/FilterableHeader.js +2 -4
  73. package/esm/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +2 -3
  74. package/esm/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +0 -1
  75. package/esm/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +2 -3
  76. package/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js +2 -7
  77. package/esm/plugins/filterable/helper.js +0 -1
  78. package/esm/plugins/filterable/useFilterableState.js +0 -1
  79. package/esm/plugins/grouping-by/GroupingByPlugin.js +1 -1
  80. package/esm/plugins/grouping-grid/GroupingPlugin.js +1 -1
  81. package/esm/plugins/grouping-grid/walkStrategy.js +0 -2
  82. package/esm/plugins/infinite-scrolling/InfiniteScrollPlugin.js +2 -3
  83. package/esm/plugins/pagination/components/Paginator.js +1 -1
  84. package/esm/plugins/pagination/usePaginationState.js +0 -1
  85. package/esm/plugins/resizable/utils.js +1 -2
  86. package/esm/plugins/row-dnd/DndRowsPlugin.js +2 -3
  87. package/esm/plugins/selectable/SelectablePlugin.js +2 -1
  88. package/esm/plugins/selectable/useSelectableState.js +0 -1
  89. package/esm/plugins/sortable/sorter.js +3 -3
  90. package/esm/plugins/sortable/useSortableState.js +0 -1
  91. package/esm/plugins/toolbar/RowRenderer.js +1 -2
  92. package/esm/plugins/toolbar/ToolbarPlugin.js +0 -1
  93. package/esm/plugins/toolbar/ToolbarTrigger.js +3 -3
  94. package/esm/plugins/virtualization/VirtualizedBody.js +1 -2
  95. package/esm/renders/styled.js +14 -2
  96. package/esm/utilities/normalizeData.js +2 -3
  97. package/package.json +20 -20
@@ -47,10 +47,8 @@ const getEditorComponent = function () {
47
47
  const Component = components[type];
48
48
 
49
49
  if (type === 'DSComboBox') {
50
- var _restEditorProps$opti;
51
-
52
50
  // TODO: remove this whole condition when combobox v3 is out and fully working without "maxOptions" parameter
53
- const maxOptions = (restEditorProps === null || restEditorProps === void 0 ? void 0 : (_restEditorProps$opti = restEditorProps.options) === null || _restEditorProps$opti === void 0 ? void 0 : _restEditorProps$opti.length) || 100;
51
+ const maxOptions = restEditorProps?.options?.length || 100;
54
52
  return /*#__PURE__*/_jsx("div", {
55
53
  style: {
56
54
  zIndex: 0
@@ -22,15 +22,15 @@ var _ArrowheadDown, _ArrowheadRight;
22
22
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
23
 
24
24
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
- const blockName = "".concat(dataGridBlockName, "-expandable-column"); // todo: clean this when we move to css-js
25
+ const blockName = `${dataGridBlockName}-expandable-column`; // todo: clean this when we move to css-js
26
26
 
27
27
  const ExpandableColumnWrapper = aggregatedClasses('div')(blockName);
28
28
  const LabelDescriptionWrapper = aggregatedClasses('div')(blockName, 'label-description-wrapper');
29
29
  const Label = aggregatedClasses('span')(blockName, 'label');
30
30
  const Description = aggregatedClasses('span')(blockName, 'description');
31
31
  const ExtraColumnData = aggregatedClasses('div')(blockName, 'extra-column-data');
32
- const ExpandableMasterWrapper = aggregatedClasses('div')("".concat(blockName, "-master-wrapper"));
33
- const ExpandableDetailsWrapper = aggregatedClasses('div')("".concat(blockName, "-details-wrapper"));
32
+ const ExpandableMasterWrapper = aggregatedClasses('div')(`${blockName}-master-wrapper`);
33
+ const ExpandableDetailsWrapper = aggregatedClasses('div')(`${blockName}-details-wrapper`);
34
34
 
35
35
  function ExpandableColumnCell(_ref) {
36
36
  let {
@@ -1,5 +1,3 @@
1
- import 'core-js/modules/esnext.async-iterator.for-each.js';
2
- import 'core-js/modules/esnext.iterator.for-each.js';
3
1
  import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
4
2
  import _jsx from '@babel/runtime/helpers/esm/jsx';
5
3
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
@@ -10,7 +8,8 @@ import 'core-js/modules/esnext.async-iterator.filter.js';
10
8
  import 'core-js/modules/esnext.iterator.filter.js';
11
9
  import 'core-js/modules/esnext.async-iterator.map.js';
12
10
  import 'core-js/modules/esnext.iterator.map.js';
13
- import 'core-js/modules/web.dom-collections.iterator.js';
11
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
12
+ import 'core-js/modules/esnext.iterator.for-each.js';
14
13
  import { useMemo, useRef, useEffect } from 'react';
15
14
  import { cx, isFunction } from '@elliemae/ds-utilities';
16
15
  import { VariableSizeList } from 'react-window';
@@ -17,8 +17,8 @@ var _DSSeparator;
17
17
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
18
 
19
19
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
- const blockName = "".concat(dataGridBlockName, "-expanded-row");
21
- const DetailsWrapper = aggregatedClasses('div')("".concat(blockName, "-details-wrapper"), null, () => ({
20
+ const blockName = `${dataGridBlockName}-expanded-row`;
21
+ const DetailsWrapper = aggregatedClasses('div')(`${blockName}-details-wrapper`, null, () => ({
22
22
  'ie-flex-basis-auto': true
23
23
  }));
24
24
 
@@ -1,4 +1,3 @@
1
- import 'core-js/modules/web.dom-collections.iterator.js';
2
1
  import { useExpandState, isFunction } from '@elliemae/ds-utilities';
3
2
  import { useState } from 'react';
4
3
 
@@ -4,14 +4,10 @@ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
4
4
  import 'core-js/modules/esnext.async-iterator.reduce.js';
5
5
  import 'core-js/modules/esnext.iterator.constructor.js';
6
6
  import 'core-js/modules/esnext.iterator.reduce.js';
7
- import 'core-js/modules/web.dom-collections.iterator.js';
8
7
  import 'core-js/modules/esnext.async-iterator.map.js';
9
8
  import 'core-js/modules/esnext.iterator.map.js';
10
9
  import 'core-js/modules/esnext.async-iterator.filter.js';
11
10
  import 'core-js/modules/esnext.iterator.filter.js';
12
- import 'core-js/modules/es.string.replace.js';
13
- import 'core-js/modules/web.url.js';
14
- import 'core-js/modules/web.url-search-params.js';
15
11
  import { get } from '@elliemae/ds-utilities';
16
12
  import createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';
17
13
 
@@ -30,12 +26,12 @@ const isVisible = column => {
30
26
  const getColumnValue = (row, property) => get(row, property);
31
27
  const getVisibleRowData = (row, columns) => columns.reduce((result, column) => {
32
28
  const columnProperty = column.property;
33
- return isVisible(column) ? [...result, getColumnValue(row, "_".concat(columnProperty)) || getColumnValue(row, columnProperty)] : result;
29
+ return isVisible(column) ? [...result, getColumnValue(row, `_${columnProperty}`) || getColumnValue(row, columnProperty)] : result;
34
30
  }, []);
35
31
 
36
32
  const defaultOptions = uuid => ({
37
33
  sheetName: 'SheetName',
38
- fileName: "datagrid-".concat(uuid),
34
+ fileName: `datagrid-${uuid}`,
39
35
  type: 'csv',
40
36
  onlySelection: false,
41
37
  excludedColumns: undefined
@@ -51,9 +47,9 @@ const getCellValue = cell => {
51
47
  const getExportedData = (rows, columns, range) => {
52
48
  const rowsRanged = range ? rows.slice(...range) : rows;
53
49
  const dataToExport = rowsRanged.map(row => getVisibleRowData(row, columns));
54
- const columnsContent = columns.filter(c => isVisible(c)).reduce((acc, curr, idx) => "".concat(acc).concat(idx === 0 ? '' : ',').concat(curr.label), '');
55
- const rowsContent = dataToExport.map(e => e.map(r => "\"".concat(String(getCellValue(r)).replace(/"/g, '""'), "\"")).join(',')).join('\r\n');
56
- const csvContent = "".concat(columnsContent, "\r\n").concat(rowsContent);
50
+ const columnsContent = columns.filter(c => isVisible(c)).reduce((acc, curr, idx) => `${acc}${idx === 0 ? '' : ','}${curr.label}`, '');
51
+ const rowsContent = dataToExport.map(e => e.map(r => `"${String(getCellValue(r)).replace(/"/g, '""')}"`).join(',')).join('\r\n');
52
+ const csvContent = `${columnsContent}\r\n${rowsContent}`;
57
53
  return csvContent;
58
54
  }; // eslint-disable-next-line max-statements
59
55
 
@@ -77,7 +73,7 @@ const exportTo = (rows, columns, _ref) => {
77
73
 
78
74
  if (navigator.msSaveBlob) {
79
75
  // IE 10+
80
- navigator.msSaveBlob(blob, "".concat(fileName, ".").concat(type));
76
+ navigator.msSaveBlob(blob, `${fileName}.${type}`);
81
77
  } else {
82
78
  const link = document.createElement('a');
83
79
 
@@ -86,7 +82,7 @@ const exportTo = (rows, columns, _ref) => {
86
82
  // Browsers that support HTML5 download attribute
87
83
  const url = URL.createObjectURL(blob);
88
84
  link.setAttribute('href', url);
89
- link.setAttribute('download', "".concat(fileName, ".").concat(type));
85
+ link.setAttribute('download', `${fileName}.${type}`);
90
86
  link.style.visibility = 'hidden';
91
87
  document.body.appendChild(link);
92
88
  link.click();
@@ -1,12 +1,10 @@
1
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
- import _jsx from '@babel/runtime/helpers/esm/jsx';
3
- import 'core-js/modules/web.dom-collections.iterator.js';
4
- import 'core-js/modules/es.string.replace.js';
5
1
  import 'core-js/modules/esnext.async-iterator.filter.js';
6
2
  import 'core-js/modules/esnext.iterator.constructor.js';
7
3
  import 'core-js/modules/esnext.iterator.filter.js';
8
4
  import 'core-js/modules/esnext.async-iterator.for-each.js';
9
5
  import 'core-js/modules/esnext.iterator.for-each.js';
6
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
10
8
  import { useState, useEffect, useCallback } from 'react';
11
9
  import { aggregatedClasses } from '@elliemae/ds-classnames';
12
10
  import { debounce, useResizeObserver, get } from '@elliemae/ds-utilities';
@@ -1,5 +1,4 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import 'core-js/modules/web.dom-collections.iterator.js';
3
2
  import { useState, useEffect } from 'react';
4
3
  import { DSControlledDateRangePicker } from '@elliemae/ds-controlled-form';
5
4
  import DSPopper, { PopperPositions } from '@elliemae/ds-popper';
@@ -83,8 +82,8 @@ const formatRangeDate = function (_ref2) {
83
82
  } = _ref2;
84
83
  let format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_DATE_FORMAT;
85
84
  const sameDay = startDate.isSame(endDate, 'day');
86
- if (sameDay) return "".concat(endDate.format(format));
87
- return "".concat(startDate.format(format), " - ").concat(endDate.format(format));
85
+ if (sameDay) return `${endDate.format(format)}`;
86
+ return `${startDate.format(format)} - ${endDate.format(format)}`;
88
87
  };
89
88
 
90
89
  function DateRangeFilterMenu(_ref3) {
@@ -1,5 +1,4 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import 'core-js/modules/web.dom-collections.iterator.js';
3
2
  import { useState, useCallback } from 'react';
4
3
  import Grid from '@elliemae/ds-grid';
5
4
  import { DSControlledDateTimePicker } from '@elliemae/ds-controlled-form';
@@ -1,5 +1,4 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import 'core-js/modules/web.dom-collections.iterator.js';
3
2
  import { useState, useEffect } from 'react';
4
3
  import { DSControlledCheckbox, DSControlledDateRangePicker, DSControlledDateTimePicker } from '@elliemae/ds-controlled-form';
5
4
  import DSPopper, { PopperPositions } from '@elliemae/ds-basic/Popper';
@@ -119,8 +118,8 @@ const formatRangeDate = function (_ref2) {
119
118
  } = _ref2;
120
119
  let format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_DATE_FORMAT;
121
120
  const sameDay = startDate.isSame(endDate, 'day');
122
- if (sameDay) return "".concat(endDate.format(format));
123
- return "".concat(startDate.format(format), " - ").concat(endDate.format(format));
121
+ if (sameDay) return `${endDate.format(format)}`;
122
+ return `${startDate.format(format)} - ${endDate.format(format)}`;
124
123
  }; // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
125
124
 
126
125
 
@@ -6,7 +6,6 @@ import 'core-js/modules/esnext.iterator.map.js';
6
6
  import 'core-js/modules/esnext.async-iterator.filter.js';
7
7
  import 'core-js/modules/esnext.iterator.constructor.js';
8
8
  import 'core-js/modules/esnext.iterator.filter.js';
9
- import 'core-js/modules/web.dom-collections.iterator.js';
10
9
  import 'core-js/modules/esnext.async-iterator.for-each.js';
11
10
  import 'core-js/modules/esnext.iterator.for-each.js';
12
11
  import React, { useState } from 'react';
@@ -90,13 +89,11 @@ function TextFilterMenu(_ref) {
90
89
  selected.forEach(item => {
91
90
  // if initialSelectedOptions includes item, then we do nothing
92
91
  if (!initialSelectedOptions.includes(item)) {
93
- var _column$filter;
94
-
95
92
  onAddFilter({
96
93
  group: filterGroup,
97
94
  label: column.label,
98
95
  value: item,
99
- operator: (column === null || column === void 0 ? void 0 : (_column$filter = column.filter) === null || _column$filter === void 0 ? void 0 : _column$filter.operator) || 'contains',
96
+ operator: column?.filter?.operator || 'contains',
100
97
  transformRowValue: column.valueTransformation
101
98
  }, column);
102
99
  }
@@ -130,13 +127,11 @@ function TextFilterMenu(_ref) {
130
127
  minWidth: column.filterMenuMinWidth,
131
128
  onSelectMenuItem: selectedValue => {
132
129
  if (selectedValue) {
133
- var _column$filter2;
134
-
135
130
  onAddFilter({
136
131
  group: column.searchBy || column.property,
137
132
  label: column.label,
138
133
  value: selectedValue,
139
- operator: (column === null || column === void 0 ? void 0 : (_column$filter2 = column.filter) === null || _column$filter2 === void 0 ? void 0 : _column$filter2.operator) || 'contains',
134
+ operator: column?.filter?.operator || 'contains',
140
135
  transformRowValue: column.valueTransformation
141
136
  }, column);
142
137
  onOpenMenu(false);
@@ -6,7 +6,6 @@ import 'core-js/modules/esnext.async-iterator.map.js';
6
6
  import 'core-js/modules/esnext.iterator.map.js';
7
7
  import 'core-js/modules/esnext.async-iterator.for-each.js';
8
8
  import 'core-js/modules/esnext.iterator.for-each.js';
9
- import 'core-js/modules/web.dom-collections.iterator.js';
10
9
  import 'core-js/modules/esnext.async-iterator.reduce.js';
11
10
  import 'core-js/modules/esnext.iterator.reduce.js';
12
11
  import { uniqBy, property, get, isFunction, groupBy } from '@elliemae/ds-utilities';
@@ -4,7 +4,6 @@ import 'core-js/modules/esnext.iterator.filter.js';
4
4
  import 'core-js/modules/esnext.async-iterator.for-each.js';
5
5
  import 'core-js/modules/esnext.iterator.for-each.js';
6
6
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
- import 'core-js/modules/web.dom-collections.iterator.js';
8
7
  import { useState, useEffect, useMemo } from 'react';
9
8
  import { v4 } from 'uuid';
10
9
  import { parseFiltersToQuery, getFilterValue, buildFilterArray } from './helper.js';
@@ -6,7 +6,7 @@ import { groupBy } from 'lodash';
6
6
  const groupedByData = (groupedBy, composedRows) => {
7
7
  const grouped = groupBy(composedRows, groupedBy);
8
8
  return Object.keys(grouped).map((c, key) => ({
9
- id: "grouped-by-".concat(groupedBy, "-").concat(key),
9
+ id: `grouped-by-${groupedBy}-${key}`,
10
10
  key: groupedBy,
11
11
  value: c,
12
12
  children: grouped[c],
@@ -24,7 +24,7 @@ const _excluded = ["isExpanded"];
24
24
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
25
 
26
26
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27
- const blockName = "".concat(dataGridBlockName, "-group-row-header");
27
+ const blockName = `${dataGridBlockName}-group-row-header`;
28
28
  const GroupRowHeaderWrapper = aggregatedClasses('div')(blockName);
29
29
  const GroupRowHeaderTitle = aggregatedClasses('div')(blockName, 'title');
30
30
  const GroupingPlugin = createInstancePlugin('groupedRows', {
@@ -1,5 +1,3 @@
1
- import 'core-js/modules/web.dom-collections.iterator.js';
2
-
3
1
  function getPath(parentNode, index, childrenKey) {
4
2
  if (!parentNode) return [index];
5
3
  return [...parentNode.path, childrenKey, index];
@@ -1,11 +1,10 @@
1
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
- import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
3
- import 'core-js/modules/web.dom-collections.iterator.js';
4
1
  import 'core-js/modules/esnext.async-iterator.filter.js';
5
2
  import 'core-js/modules/esnext.iterator.constructor.js';
6
3
  import 'core-js/modules/esnext.iterator.filter.js';
7
4
  import 'core-js/modules/esnext.async-iterator.for-each.js';
8
5
  import 'core-js/modules/esnext.iterator.for-each.js';
6
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
+ import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
9
8
  import { useRef, useState, useEffect } from 'react';
10
9
  import createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';
11
10
 
@@ -7,7 +7,7 @@ import { aggregatedClasses } from '@elliemae/ds-classnames';
7
7
  var _ReactPagify$Segment, _ReactPagify$Ellipsis, _ReactPagify$Segment2, _ReactPagify$Segment3, _ReactPagify$Segment4, _ReactPagify$Ellipsis2, _ReactPagify$Segment5;
8
8
  const blockName = 'data-grid';
9
9
  const PaginationContainer = aggregatedClasses('div')(blockName, 'pagination');
10
- const PagifyContext = aggregatedClasses(ReactPagify === null || ReactPagify === void 0 ? void 0 : ReactPagify.Context)(blockName, 'pagify-pagination');
10
+ const PagifyContext = aggregatedClasses(ReactPagify?.Context)(blockName, 'pagify-pagination');
11
11
 
12
12
  const Paginator = _ref => {
13
13
  let {
@@ -4,7 +4,6 @@ import 'core-js/modules/esnext.iterator.filter.js';
4
4
  import 'core-js/modules/esnext.async-iterator.for-each.js';
5
5
  import 'core-js/modules/esnext.iterator.for-each.js';
6
6
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
- import 'core-js/modules/web.dom-collections.iterator.js';
8
7
  import { useDerivedStateFromProps } from '@elliemae/ds-utilities';
9
8
  import { parsePerPageNumber } from './helper.js';
10
9
 
@@ -1,4 +1,3 @@
1
- import 'core-js/modules/es.string.replace.js';
2
1
  import { parseInt } from '@elliemae/ds-utilities';
3
2
  import memoizeOne from 'memoize-one';
4
3
 
@@ -11,7 +10,7 @@ const translatePercentageToPx = memoizeOne(function (totalWidth, percentage) {
11
10
  return width > minWidth ? width : minWidth;
12
11
  });
13
12
  const translateStringPxToNumberPx = memoizeOne(pxNumber => parseInt(pxNumber.replace('%', '')));
14
- memoizeOne((totalWidth, pxWidth) => "".concat(pxWidth / totalWidth * 100, "%"));
13
+ memoizeOne((totalWidth, pxWidth) => `${pxWidth / totalWidth * 100}%`);
15
14
  memoizeOne(function (gridWidth) {
16
15
  let width = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
17
16
  let minWidth = arguments.length > 2 ? arguments[2] : undefined;
@@ -1,11 +1,10 @@
1
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
- import _jsx from '@babel/runtime/helpers/esm/jsx';
3
- import 'core-js/modules/web.dom-collections.iterator.js';
4
1
  import 'core-js/modules/esnext.async-iterator.filter.js';
5
2
  import 'core-js/modules/esnext.iterator.constructor.js';
6
3
  import 'core-js/modules/esnext.iterator.filter.js';
7
4
  import 'core-js/modules/esnext.async-iterator.for-each.js';
8
5
  import 'core-js/modules/esnext.iterator.for-each.js';
6
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
9
8
  import { useMemo } from 'react';
10
9
  import { SortableHandle, SortableElement, SortableContainer } from 'react-sortable-hoc';
11
10
  import { GripperVertical } from '@elliemae/ds-icons';
@@ -1,4 +1,3 @@
1
- import 'core-js/modules/web.dom-collections.iterator.js';
2
1
  import { useState, useCallback, useEffect } from 'react';
3
2
  import cx from 'obj-str';
4
3
  import { isFunction } from '@elliemae/ds-utilities';
@@ -7,6 +6,8 @@ import { selectionColumnCreator } from './addSelectableColumn.js';
7
6
  import { useSelectableState } from './useSelectableState.js';
8
7
  import { selectMultipleRow, selectSingleRow } from './helper.js';
9
8
 
9
+ /* eslint-disable react-hooks/rules-of-hooks */
10
+
10
11
  const decorateColumns = (columns, grid) => {
11
12
  const {
12
13
  props: {
@@ -1,7 +1,6 @@
1
1
  import 'core-js/modules/esnext.async-iterator.for-each.js';
2
2
  import 'core-js/modules/esnext.iterator.for-each.js';
3
3
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
4
- import 'core-js/modules/web.dom-collections.iterator.js';
5
4
  import 'core-js/modules/esnext.async-iterator.some.js';
6
5
  import 'core-js/modules/esnext.iterator.constructor.js';
7
6
  import 'core-js/modules/esnext.iterator.some.js';
@@ -1,10 +1,10 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
+ import 'core-js/modules/es.error.cause.js';
2
3
  import 'core-js/modules/esnext.async-iterator.filter.js';
3
4
  import 'core-js/modules/esnext.iterator.constructor.js';
4
5
  import 'core-js/modules/esnext.iterator.filter.js';
5
6
  import 'core-js/modules/esnext.async-iterator.some.js';
6
7
  import 'core-js/modules/esnext.iterator.some.js';
7
- import 'core-js/modules/web.dom-collections.iterator.js';
8
8
  import 'core-js/modules/esnext.async-iterator.for-each.js';
9
9
  import 'core-js/modules/esnext.iterator.for-each.js';
10
10
  import 'core-js/modules/esnext.async-iterator.find.js';
@@ -62,7 +62,7 @@ const sorter = function () {
62
62
  } = realColumn;
63
63
  const value = row[sortBy || property]; // Pick resolved value by convention
64
64
 
65
- const resolvedValue = get(row, "_".concat(property), value);
65
+ const resolvedValue = get(row, `_${property}`, value);
66
66
 
67
67
  if (realColumn.type === 'DateTime') {
68
68
  return moment(resolvedValue);
@@ -123,7 +123,7 @@ const sorterGroups = function () {
123
123
  } = realColumn;
124
124
  const value = row[sortBy || property]; // Pick resolved value by convention
125
125
 
126
- const resolvedValue = get(row, "_".concat(property), value);
126
+ const resolvedValue = get(row, `_${property}`, value);
127
127
 
128
128
  if (realColumn.type === 'DateTime') {
129
129
  return moment(resolvedValue);
@@ -1,5 +1,4 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
- import 'core-js/modules/web.dom-collections.iterator.js';
3
2
  import 'core-js/modules/esnext.async-iterator.find.js';
4
3
  import 'core-js/modules/esnext.iterator.constructor.js';
5
4
  import 'core-js/modules/esnext.iterator.find.js';
@@ -5,7 +5,6 @@ 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 'core-js/modules/web.dom-collections.iterator.js';
9
8
  import { useRef, useState, useEffect } from 'react';
10
9
  import { isEmpty } from 'lodash';
11
10
  import { omit } from '@elliemae/ds-utilities';
@@ -68,7 +67,7 @@ const RowRenderer = (Row, grid) => {
68
67
  }, props), {}, {
69
68
  style: rowStyle
70
69
  })), isEmpty(rowData) && !rowData.index && !rowData.rowIndex ? null : /*#__PURE__*/_jsx("div", {
71
- className: "toolbar-trigger-container ".concat(style ? 'move' : 'stay'),
70
+ className: `toolbar-trigger-container ${style ? 'move' : 'stay'}`,
72
71
  style: _objectSpread({}, popStyle)
73
72
  }, void 0, /*#__PURE__*/_jsx(ToolbarTrigger, {
74
73
  grid: grid,
@@ -1,5 +1,4 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import 'core-js/modules/web.dom-collections.iterator.js';
3
2
  import 'react';
4
3
  import createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';
5
4
  import { appendCellFormatter } from '@elliemae/ds-shared/useDataGrid/initColumnDefinition';
@@ -5,7 +5,6 @@ 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 'core-js/modules/web.dom-collections.iterator.js';
9
8
  import { useState } from 'react';
10
9
  import styled from 'styled-components';
11
10
  import DSButton from '@elliemae/ds-button';
@@ -21,10 +20,11 @@ const ToolbarBtns = /*#__PURE__*/styled.div.withConfig({
21
20
  })(["& > .em-ds-toolbar{box-shadow:none;}"]);
22
21
  const ToolbarWrapper = /*#__PURE__*/styled.div.withConfig({
23
22
  componentId: "sc-pm75g5-1"
24
- })(["display:flex;align-items:center;height:", ";margin-left:-4px;margin-right:", ";padding-right:4px;pointer-events:all;background:white;", " &:hover{box-shadow:-1px 0px 1px 0px rgba(0,0,0,0.2),1px 0px 2px 0px rgba(0,0,0,0.2);& > .toolbar-trigger{border:none;}}"], props => props.rowSize === 'normal' ? '36px' : '28px', props => props.hasScrollBar ? '0' : '-10px', props => props.showShadow ? "box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.2),\n 1px 0px 2px 0px rgba(0, 0, 0, 0.2);" : '');
23
+ })(["display:flex;align-items:center;height:", ";margin-left:-4px;margin-right:", ";padding-right:4px;pointer-events:all;background:white;", " &:hover{box-shadow:-1px 0px 1px 0px rgba(0,0,0,0.2),1px 0px 2px 0px rgba(0,0,0,0.2);& > .toolbar-trigger{border:none;}}"], props => props.rowSize === 'normal' ? '36px' : '28px', props => props.hasScrollBar ? '0' : '-10px', props => props.showShadow ? `box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.2),
24
+ 1px 0px 2px 0px rgba(0, 0, 0, 0.2);` : '');
25
25
  const ToolbarPosition = /*#__PURE__*/styled.div.withConfig({
26
26
  componentId: "sc-pm75g5-2"
27
- })(["position:absolute;z-index:10;display:flex;justify-content:flex-end;align-items:center;width:0;pointer-events:none;top:0;height:", ";margin-top:", ";"], props => props.rowRef.current ? "".concat(props.rowRef.current.offsetHeight, "px") : '36px', props => props.rowSize === 'normal' ? '0' : '0'); // eslint-disable-next-line react/prop-types
27
+ })(["position:absolute;z-index:10;display:flex;justify-content:flex-end;align-items:center;width:0;pointer-events:none;top:0;height:", ";margin-top:", ";"], props => props.rowRef.current ? `${props.rowRef.current.offsetHeight}px` : '36px', props => props.rowSize === 'normal' ? '0' : '0'); // eslint-disable-next-line react/prop-types
28
28
 
29
29
  const ToolbarTrigger = _ref => {
30
30
  let {
@@ -1,6 +1,5 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
2
  import _jsx from '@babel/runtime/helpers/esm/jsx';
3
- import 'core-js/modules/web.dom-collections.iterator.js';
4
3
  import 'core-js/modules/esnext.async-iterator.reduce.js';
5
4
  import 'core-js/modules/esnext.iterator.constructor.js';
6
5
  import 'core-js/modules/esnext.iterator.reduce.js';
@@ -246,7 +245,7 @@ const VirtualizedBody = props => {
246
245
  },
247
246
  children: /*#__PURE__*/jsx("div", {
248
247
  "data-testid": "virtualized-body",
249
- className: "virtualized-body".concat(hasScrollBar ? ' with-scrollbar' : ''),
248
+ className: `virtualized-body${hasScrollBar ? ' with-scrollbar' : ''}`,
250
249
  style: bodyStyle,
251
250
  ref: r => {
252
251
  mergeRefs(innerBody)(r);
@@ -5,10 +5,22 @@ const m = '0.61538rem';
5
5
  const m2 = '1.23076rem';
6
6
  const CellWrapper = /*#__PURE__*/styled.div.withConfig({
7
7
  componentId: "sc-1n8exyf-0"
8
- })(["max-height:36px;height:100%;width:", ";margin-left:", ";margin-right:", ";padding-left:", ";padding-right:", ";", ";", ""], props => props.noPadding ? "calc(100% + ".concat(m2, ")") : '100%', props => props.noPadding ? "-".concat(m) : '0', props => props.noPadding ? "-".concat(m) : '0', props => !props.hasLeftAddon && (props.badgeAddon || props.highLight || props.hasRightAddon) ? m : '0', props => !props.hasRightAddon && (props.badgeAddon || props.highLight || props.hasLeftAddon) ? m : '0', props => props.highLight ? "background: ".concat(props.theme.colors.brand['200']) : '', props => props.badgeAddon ? "\n position: relative; \n &::before {\n display: block;\n content: '';\n position: absolute;\n top: 0;\n left:0;\n border-style: solid;\n border-width: ".concat(props.theme.space.xxs, " ").concat(props.theme.space.xxs, " ").concat(props.theme.space.xxs, " 0;\n border-color: ").concat(props.theme.colors.brand['600'], " transparent transparent ").concat(props.theme.colors.brand['600'], ";\n }\n ") : '');
8
+ })(["max-height:36px;height:100%;width:", ";margin-left:", ";margin-right:", ";padding-left:", ";padding-right:", ";", ";", ""], props => props.noPadding ? `calc(100% + ${m2})` : '100%', props => props.noPadding ? `-${m}` : '0', props => props.noPadding ? `-${m}` : '0', props => !props.hasLeftAddon && (props.badgeAddon || props.highLight || props.hasRightAddon) ? m : '0', props => !props.hasRightAddon && (props.badgeAddon || props.highLight || props.hasLeftAddon) ? m : '0', props => props.highLight ? `background: ${props.theme.colors.brand['200']}` : '', props => props.badgeAddon ? `
9
+ position: relative;
10
+ &::before {
11
+ display: block;
12
+ content: '';
13
+ position: absolute;
14
+ top: 0;
15
+ left:0;
16
+ border-style: solid;
17
+ border-width: ${props.theme.space.xxs} ${props.theme.space.xxs} ${props.theme.space.xxs} 0;
18
+ border-color: ${props.theme.colors.brand['600']} transparent transparent ${props.theme.colors.brand['600']};
19
+ }
20
+ ` : '');
9
21
  const ValueWrapper = /*#__PURE__*/styled.div.withConfig({
10
22
  componentId: "sc-1n8exyf-1"
11
- })(["display:flex;align-items:center;overflow:hidden;& > span{display:inline-flex;align-items:center;}", ""], props => props.grayText ? "color: ".concat(props.theme.colors.neutral['500'], ";") : '');
23
+ })(["display:flex;align-items:center;overflow:hidden;& > span{display:inline-flex;align-items:center;}", ""], props => props.grayText ? `color: ${props.theme.colors.neutral['500']};` : '');
12
24
  const CellContainer = /*#__PURE__*/styled(Grid).withConfig({
13
25
  componentId: "sc-1n8exyf-2"
14
26
  })(["padding-left:", ";padding-right:", ";position:relative;"], m, m);
@@ -1,12 +1,11 @@
1
- import 'core-js/modules/esnext.async-iterator.filter.js';
2
- import 'core-js/modules/esnext.iterator.filter.js';
3
1
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
4
2
  import 'core-js/modules/esnext.async-iterator.map.js';
5
3
  import 'core-js/modules/esnext.iterator.map.js';
6
4
  import 'core-js/modules/esnext.async-iterator.for-each.js';
7
5
  import 'core-js/modules/esnext.iterator.constructor.js';
8
6
  import 'core-js/modules/esnext.iterator.for-each.js';
9
- import 'core-js/modules/es.string.replace.js';
7
+ import 'core-js/modules/esnext.async-iterator.filter.js';
8
+ import 'core-js/modules/esnext.iterator.filter.js';
10
9
 
11
10
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-datagrids",
3
- "version": "2.4.2-rc.9",
3
+ "version": "2.4.2",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Data Grids",
6
6
  "module": "./esm/index.js",
@@ -541,25 +541,25 @@
541
541
  "generateSubmodules": true
542
542
  },
543
543
  "dependencies": {
544
- "@elliemae/ds-basic": "2.4.2-rc.9",
545
- "@elliemae/ds-button": "2.4.2-rc.9",
546
- "@elliemae/ds-classnames": "2.4.2-rc.9",
547
- "@elliemae/ds-controlled-form": "2.4.2-rc.9",
548
- "@elliemae/ds-datagrids": "2.4.2-rc.9",
549
- "@elliemae/ds-dropdownmenu": "2.4.2-rc.9",
550
- "@elliemae/ds-filterbar": "2.4.2-rc.9",
551
- "@elliemae/ds-form": "2.4.2-rc.9",
552
- "@elliemae/ds-grid": "2.4.2-rc.9",
553
- "@elliemae/ds-icons": "2.4.2-rc.9",
554
- "@elliemae/ds-menu": "2.4.2-rc.9",
555
- "@elliemae/ds-popper": "2.4.2-rc.9",
556
- "@elliemae/ds-separator": "2.4.2-rc.9",
557
- "@elliemae/ds-shared": "2.4.2-rc.9",
558
- "@elliemae/ds-spinner": "2.4.2-rc.9",
559
- "@elliemae/ds-system": "2.4.2-rc.9",
560
- "@elliemae/ds-toolbar": "2.4.2-rc.9",
561
- "@elliemae/ds-truncated-tooltip-text": "2.4.2-rc.9",
562
- "@elliemae/ds-utilities": "2.4.2-rc.9",
544
+ "@elliemae/ds-basic": "2.4.2",
545
+ "@elliemae/ds-button": "2.4.2",
546
+ "@elliemae/ds-classnames": "2.4.2",
547
+ "@elliemae/ds-controlled-form": "2.4.2",
548
+ "@elliemae/ds-datagrids": "2.4.2",
549
+ "@elliemae/ds-dropdownmenu": "2.4.2",
550
+ "@elliemae/ds-filterbar": "2.4.2",
551
+ "@elliemae/ds-form": "2.4.2",
552
+ "@elliemae/ds-grid": "2.4.2",
553
+ "@elliemae/ds-icons": "2.4.2",
554
+ "@elliemae/ds-menu": "2.4.2",
555
+ "@elliemae/ds-popper": "2.4.2",
556
+ "@elliemae/ds-separator": "2.4.2",
557
+ "@elliemae/ds-shared": "2.4.2",
558
+ "@elliemae/ds-spinner": "2.4.2",
559
+ "@elliemae/ds-system": "2.4.2",
560
+ "@elliemae/ds-toolbar": "2.4.2",
561
+ "@elliemae/ds-truncated-tooltip-text": "2.4.2",
562
+ "@elliemae/ds-utilities": "2.4.2",
563
563
  "comparejs": "~1.0.3",
564
564
  "memoize-one": "~5.1.1",
565
565
  "moment": "~2.29.1",