@elliemae/ds-datagrids 2.0.0-next.7 → 2.0.0-rc.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 (198) hide show
  1. package/cjs/DSDataGrid.js +246 -243
  2. package/cjs/DataGridImpl.js +16 -8
  3. package/cjs/PaginatedDataGrid.js +5 -0
  4. package/cjs/columns/IconColumn.js +19 -17
  5. package/cjs/columns/NumberColumn.js +2 -4
  6. package/cjs/components/BodyCell.js +17 -10
  7. package/cjs/components/BodyList.js +7 -0
  8. package/cjs/components/ColumnVisibilityMenuOption.js +10 -6
  9. package/cjs/components/ColumnsOptionsMenuSection.js +34 -28
  10. package/cjs/components/EmptyState.js +19 -17
  11. package/cjs/components/HeaderCell.js +14 -8
  12. package/cjs/components/List.js +5 -0
  13. package/cjs/components/ListItem.js +7 -0
  14. package/cjs/components/NoResults.js +5 -0
  15. package/cjs/components/RowsLoader.js +5 -4
  16. package/cjs/components/Table.js +5 -0
  17. package/cjs/components/TableBody.js +5 -0
  18. package/cjs/components/TableHeader.js +5 -0
  19. package/cjs/components/footer/addOptionalFooterComponents.js +5 -4
  20. package/cjs/components/header/PrimaryControls.js +20 -15
  21. package/cjs/components/header/addOptionalHeaderComponents.js +4 -3
  22. package/cjs/components/renderers/defaultClassedRenderers.js +33 -21
  23. package/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +46 -35
  24. package/cjs/plugins/column-dnd/DndColumnsPlugin.js +9 -5
  25. package/cjs/plugins/column-dnd/decorateGridWithDndColumns.js +2 -3
  26. package/cjs/plugins/column-sizing/ColumnSizingPlugin.js +10 -8
  27. package/cjs/plugins/column-sizing/columnMeasurerTransformer.js +13 -6
  28. package/cjs/plugins/column-sizing/ext-points/decorateColumn.js +3 -3
  29. package/cjs/plugins/column-sizing/ext-points/getTableProps.js +22 -17
  30. package/cjs/plugins/column-sizing/useColumnSizeService.js +9 -0
  31. package/cjs/plugins/column-sizing/useStylesheetHelpers.js +56 -40
  32. package/cjs/plugins/column-sizing/utils.js +10 -6
  33. package/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js +9 -4
  34. package/cjs/plugins/custom-cell-renderer/getRendererComponent.js +20 -21
  35. package/cjs/plugins/editable/EditableComponents/ComboBox.js +7 -3
  36. package/cjs/plugins/editable/EditableComponents/TextBox.js +20 -14
  37. package/cjs/plugins/editable/EditablePlugin.js +15 -15
  38. package/cjs/plugins/editable/decorateEditable.js +18 -11
  39. package/cjs/plugins/editable/getEditorComponent.js +45 -34
  40. package/cjs/plugins/expandable-grid/ExpandableColumn.js +57 -50
  41. package/cjs/plugins/expandable-grid/ExpandablePlugin.js +37 -26
  42. package/cjs/plugins/expandable-grid/ExpandedRow.js +28 -18
  43. package/cjs/plugins/expandable-grid/ExpandedRowExtra.js +16 -10
  44. package/cjs/plugins/expandable-grid/useExpandGridState.js +3 -8
  45. package/cjs/plugins/export-data/ExportDataPlugin.js +23 -10
  46. package/cjs/plugins/filterable/FilterablePlugin.js +7 -6
  47. package/cjs/plugins/filterable/addFilterToColumn.js +5 -0
  48. package/cjs/plugins/filterable/components/FilterableHeader.js +35 -27
  49. package/cjs/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +38 -32
  50. package/cjs/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +26 -22
  51. package/cjs/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +119 -154
  52. package/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js +28 -20
  53. package/cjs/plugins/filterable/filterableFormatter.js +15 -10
  54. package/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js +16 -4
  55. package/cjs/plugins/filterable/filtering-helper/strategiesOperators.js +7 -4
  56. package/cjs/plugins/filterable/helper.js +16 -7
  57. package/cjs/plugins/filterable/useFilterableState.js +11 -5
  58. package/cjs/plugins/grouping-by/GroupingByPlugin.js +2 -0
  59. package/cjs/plugins/grouping-grid/GroupingPlugin.js +9 -0
  60. package/cjs/plugins/grouping-grid/walkStrategy.js +11 -9
  61. package/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js +7 -1
  62. package/cjs/plugins/pagination/PaginationPlugin.js +9 -2
  63. package/cjs/plugins/pagination/components/Pagination.js +10 -9
  64. package/cjs/plugins/pagination/components/Paginator.js +8 -7
  65. package/cjs/plugins/pagination/components/PerPageDropdown.js +20 -13
  66. package/cjs/plugins/pagination/helper.js +10 -7
  67. package/cjs/plugins/pagination/usePaginationState.js +7 -3
  68. package/cjs/plugins/resizable/ResizablePlugin.js +5 -4
  69. package/cjs/plugins/resizable/decorateResizable.js +14 -8
  70. package/cjs/plugins/resizable/useResizeHandle.js +21 -16
  71. package/cjs/plugins/resizable/utils.js +8 -5
  72. package/cjs/plugins/row-dnd/DndRowsPlugin.js +23 -16
  73. package/cjs/plugins/selectable/SelectablePlugin.js +10 -8
  74. package/cjs/plugins/selectable/addSelectableColumn.js +24 -16
  75. package/cjs/plugins/selectable/helper.js +12 -3
  76. package/cjs/plugins/selectable/selectableFormatter.js +80 -71
  77. package/cjs/plugins/selectable/useSelectableState.js +24 -11
  78. package/cjs/plugins/sortable/SortablePlugin.js +8 -7
  79. package/cjs/plugins/sortable/sortHeaderFormatter.js +14 -15
  80. package/cjs/plugins/sortable/sortTree.js +13 -3
  81. package/cjs/plugins/sortable/sorter.js +151 -134
  82. package/cjs/plugins/sortable/useSortableState.js +7 -0
  83. package/cjs/plugins/toolbar/RowRenderer.js +7 -2
  84. package/cjs/plugins/toolbar/ToolbarTrigger.js +15 -10
  85. package/cjs/plugins/virtualization/AutoHeightList.js +10 -8
  86. package/cjs/plugins/virtualization/VirtualizationPlugin.js +32 -25
  87. package/cjs/plugins/virtualization/VirtualizedBody.js +18 -9
  88. package/cjs/plugins/virtualization/VirtualizedBodyRow.js +8 -7
  89. package/cjs/renders/CellWithAddons.js +20 -18
  90. package/cjs/renders/styled.js +3 -2
  91. package/cjs/utilities/getPluginsFromProps.js +5 -1
  92. package/cjs/utilities/getScrollbarSize.js +2 -1
  93. package/cjs/utilities/normalizeData.js +7 -1
  94. package/esm/DSDataGrid.js +246 -243
  95. package/esm/DataGridImpl.js +16 -8
  96. package/esm/PaginatedDataGrid.js +5 -0
  97. package/esm/columns/IconColumn.js +18 -16
  98. package/esm/columns/NumberColumn.js +2 -4
  99. package/esm/components/BodyCell.js +17 -10
  100. package/esm/components/BodyList.js +7 -0
  101. package/esm/components/ColumnVisibilityMenuOption.js +10 -6
  102. package/esm/components/ColumnsOptionsMenuSection.js +34 -28
  103. package/esm/components/EmptyState.js +18 -15
  104. package/esm/components/HeaderCell.js +14 -8
  105. package/esm/components/List.js +5 -0
  106. package/esm/components/ListItem.js +7 -0
  107. package/esm/components/NoResults.js +5 -0
  108. package/esm/components/RowsLoader.js +5 -4
  109. package/esm/components/Table.js +5 -0
  110. package/esm/components/TableBody.js +5 -0
  111. package/esm/components/TableHeader.js +5 -0
  112. package/esm/components/footer/addOptionalFooterComponents.js +5 -4
  113. package/esm/components/header/PrimaryControls.js +20 -14
  114. package/esm/components/header/addOptionalHeaderComponents.js +4 -3
  115. package/esm/components/renderers/defaultClassedRenderers.js +33 -21
  116. package/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +46 -35
  117. package/esm/plugins/column-dnd/DndColumnsPlugin.js +6 -2
  118. package/esm/plugins/column-dnd/decorateGridWithDndColumns.js +1 -1
  119. package/esm/plugins/column-sizing/ColumnSizingPlugin.js +9 -7
  120. package/esm/plugins/column-sizing/columnMeasurerTransformer.js +12 -5
  121. package/esm/plugins/column-sizing/ext-points/decorateColumn.js +1 -1
  122. package/esm/plugins/column-sizing/ext-points/getTableProps.js +21 -15
  123. package/esm/plugins/column-sizing/useColumnSizeService.js +9 -0
  124. package/esm/plugins/column-sizing/useStylesheetHelpers.js +54 -38
  125. package/esm/plugins/column-sizing/utils.js +8 -4
  126. package/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js +6 -1
  127. package/esm/plugins/custom-cell-renderer/getRendererComponent.js +15 -11
  128. package/esm/plugins/editable/EditableComponents/ComboBox.js +6 -1
  129. package/esm/plugins/editable/EditableComponents/TextBox.js +19 -12
  130. package/esm/plugins/editable/EditablePlugin.js +13 -12
  131. package/esm/plugins/editable/decorateEditable.js +16 -8
  132. package/esm/plugins/editable/getEditorComponent.js +49 -38
  133. package/esm/plugins/expandable-grid/ExpandableColumn.js +56 -47
  134. package/esm/plugins/expandable-grid/ExpandablePlugin.js +33 -20
  135. package/esm/plugins/expandable-grid/ExpandedRow.js +27 -17
  136. package/esm/plugins/expandable-grid/ExpandedRowExtra.js +15 -9
  137. package/esm/plugins/expandable-grid/useExpandGridState.js +1 -2
  138. package/esm/plugins/export-data/ExportDataPlugin.js +22 -9
  139. package/esm/plugins/filterable/FilterablePlugin.js +5 -4
  140. package/esm/plugins/filterable/addFilterToColumn.js +5 -0
  141. package/esm/plugins/filterable/components/FilterableHeader.js +31 -22
  142. package/esm/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +38 -31
  143. package/esm/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +26 -21
  144. package/esm/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +118 -152
  145. package/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js +27 -18
  146. package/esm/plugins/filterable/filterableFormatter.js +15 -10
  147. package/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js +14 -2
  148. package/esm/plugins/filterable/filtering-helper/strategiesOperators.js +7 -4
  149. package/esm/plugins/filterable/helper.js +10 -1
  150. package/esm/plugins/filterable/useFilterableState.js +11 -5
  151. package/esm/plugins/grouping-by/GroupingByPlugin.js +2 -0
  152. package/esm/plugins/grouping-grid/GroupingPlugin.js +9 -0
  153. package/esm/plugins/grouping-grid/walkStrategy.js +11 -9
  154. package/esm/plugins/infinite-scrolling/InfiniteScrollPlugin.js +7 -1
  155. package/esm/plugins/pagination/PaginationPlugin.js +8 -1
  156. package/esm/plugins/pagination/components/Pagination.js +10 -9
  157. package/esm/plugins/pagination/components/Paginator.js +8 -7
  158. package/esm/plugins/pagination/components/PerPageDropdown.js +17 -9
  159. package/esm/plugins/pagination/helper.js +10 -7
  160. package/esm/plugins/pagination/usePaginationState.js +6 -1
  161. package/esm/plugins/resizable/ResizablePlugin.js +4 -3
  162. package/esm/plugins/resizable/decorateResizable.js +14 -8
  163. package/esm/plugins/resizable/useResizeHandle.js +21 -16
  164. package/esm/plugins/resizable/utils.js +6 -3
  165. package/esm/plugins/row-dnd/DndRowsPlugin.js +21 -13
  166. package/esm/plugins/selectable/SelectablePlugin.js +9 -7
  167. package/esm/plugins/selectable/addSelectableColumn.js +24 -16
  168. package/esm/plugins/selectable/helper.js +10 -1
  169. package/esm/plugins/selectable/selectableFormatter.js +79 -68
  170. package/esm/plugins/selectable/useSelectableState.js +19 -5
  171. package/esm/plugins/sortable/SortablePlugin.js +5 -4
  172. package/esm/plugins/sortable/sortHeaderFormatter.js +12 -11
  173. package/esm/plugins/sortable/sortTree.js +13 -3
  174. package/esm/plugins/sortable/sorter.js +151 -134
  175. package/esm/plugins/sortable/useSortableState.js +7 -0
  176. package/esm/plugins/toolbar/RowRenderer.js +6 -1
  177. package/esm/plugins/toolbar/ToolbarTrigger.js +14 -8
  178. package/esm/plugins/virtualization/AutoHeightList.js +6 -3
  179. package/esm/plugins/virtualization/VirtualizationPlugin.js +31 -24
  180. package/esm/plugins/virtualization/VirtualizedBody.js +14 -5
  181. package/esm/plugins/virtualization/VirtualizedBodyRow.js +8 -7
  182. package/esm/renders/CellWithAddons.js +15 -14
  183. package/esm/renders/styled.js +1 -1
  184. package/esm/utilities/getPluginsFromProps.js +5 -1
  185. package/esm/utilities/getScrollbarSize.js +2 -1
  186. package/esm/utilities/normalizeData.js +7 -1
  187. package/package.json +19 -18
  188. package/types/components/BodyCell.d.ts +1 -1
  189. package/types/components/HeaderCell.d.ts +1 -1
  190. package/types/plugins/column-sizing/columnMeasurerTransformer.d.ts +1 -1
  191. package/types/plugins/column-sizing/ext-points/getTableProps.d.ts +1 -1
  192. package/types/plugins/expandable-grid/ExpandedRowExtra.d.ts +1 -1
  193. package/types/plugins/expandable-grid/useExpandGridState.d.ts +4 -4
  194. package/types/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.d.ts +1 -1
  195. package/types/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.d.ts +1 -1
  196. package/types/plugins/filterable/components/filterable-menus/TextFilterMenu.d.ts +1 -1
  197. package/types/plugins/filterable/helper.d.ts +15 -3
  198. package/types/plugins/pagination/components/PerPageDropdown.d.ts +1 -1
@@ -1,197 +1,162 @@
1
1
  'use strict';
2
2
 
3
3
  var _jsx = require('@babel/runtime/helpers/jsx');
4
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
6
4
  require('core-js/modules/web.dom-collections.iterator.js');
7
5
  var React = require('react');
8
- var dsDateRangePicker = require('@elliemae/ds-date-range-picker');
9
- var dsDatePicker = require('@elliemae/ds-date-picker');
6
+ var dsControlledForm = require('@elliemae/ds-controlled-form');
10
7
  var DSPopper = require('@elliemae/ds-basic/Popper');
11
- var DatePickerIcon = require('@elliemae/ds-icons/DatePicker2');
8
+ var dsIcons = require('@elliemae/ds-icons');
12
9
  var DSButton = require('@elliemae/ds-basic/Button');
10
+ var Grid = require('@elliemae/ds-grid');
13
11
  var moment = require('moment');
14
- var dsClassnames = require('@elliemae/ds-classnames');
12
+ var styled = require('styled-components');
15
13
  var defaultDateFormat = require('./defaultDateFormat.js');
16
- var jsxRuntime = require('react/jsx-runtime');
17
14
 
18
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
16
 
20
17
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
21
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
22
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
23
18
  var DSPopper__default = /*#__PURE__*/_interopDefaultLegacy(DSPopper);
24
- var DatePickerIcon__default = /*#__PURE__*/_interopDefaultLegacy(DatePickerIcon);
25
19
  var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
20
+ var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
26
21
  var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
22
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
27
23
 
28
- var _DatePickerIcon;
24
+ var _DatePicker;
25
+ const StyledGridWrapper = /*#__PURE__*/styled__default["default"](Grid__default["default"]).withConfig({
26
+ componentId: "sc-jay5xg-0"
27
+ })([".notCurrentMonth{opacity:", ";pointer-events:", ";}"], props => props.enableOutsideDays ? '1' : '0', props => props.enableOutsideDays ? 'auto' : 'none'); // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
29
28
 
30
- const _excluded = ["onChange", "enableOutsideDays"];
31
-
32
- 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; }
33
-
34
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
35
- const START_DATE = 'startDate';
36
- const END_DATE = 'endDate';
37
- const blockname = 'date-range';
38
- const Wrapper = dsClassnames.aggregatedClasses('div')(blockname, 'wrapper'); // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
39
-
40
- const noop = (...args) => {};
29
+ const noop = function () {};
41
30
 
42
31
  const SingleRangeSwitcherContainer = _ref => {
43
32
  let {
44
33
  onChange = noop,
45
34
  enableOutsideDays
46
- } = _ref,
47
- otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
35
+ } = _ref;
36
+ const [startDate, setStartDate] = React.useState('');
37
+ const [endDate, setEndDate] = React.useState(''); // For some reason it worked like this
48
38
 
49
- const [focusedInputHeader, setFocusedInputHeader] = React.useState(START_DATE);
50
- const [focusedInputPicker, setFocusedInputPicker] = React.useState(START_DATE);
51
- const [singleDate, setSingleDate] = React.useState();
52
- const [dateRange, setDateRange] = React.useState({});
39
+ const [lastChangeWasPicker, setLastChangeWasPicker] = React.useState(false);
53
40
  const [isDateRange, setIsDateRange] = React.useState(false);
54
- const [pickerRange, setPickerRange] = React.useState({});
55
-
56
- const handleHeaderFocusChange = inputType => {
57
- setFocusedInputHeader(inputType);
58
- };
59
-
60
- const handlePickerFocusChange = () => {
61
- setFocusedInputPicker(focusedInputPicker === START_DATE ? END_DATE : START_DATE);
62
- };
63
-
64
- const handleDatesChange = dates => {
65
- if (dates.endDate) {
66
- setTimeout(() => {
67
- onChange({
68
- startDate: dates.startDate,
69
- endDate: dates.endDate.endOf('day')
70
- });
71
- }, 500);
41
+ React.useEffect(() => {
42
+ const startMoment = moment__default["default"](startDate);
43
+ const endMoment = moment__default["default"](endDate);
44
+
45
+ if (lastChangeWasPicker && startDate && !startDate.includes('_') && endDate && !endDate.includes('_') && endMoment.diff(startMoment) >= 0) {
46
+ onChange({
47
+ startDate: startMoment,
48
+ endDate: endMoment
49
+ });
50
+ } // eslint-disable-next-line react-hooks/exhaustive-deps
51
+
52
+ }, [startDate, endDate, lastChangeWasPicker]);
53
+ return /*#__PURE__*/_jsx__default["default"](StyledGridWrapper, {
54
+ "data-testid": "date-single-range__wrapper",
55
+ style: {
56
+ backgroundColor: 'white',
57
+ boxShadow: '0 6px 20px 0 rgb(0 0 0 / 24%)',
58
+ width: '261px',
59
+ display: 'grid',
60
+ justifyContent: 'center'
61
+ },
62
+ cols: ['100%'],
63
+ enableOutsideDays: enableOutsideDays,
64
+ onKeyDown: e => e.code === 'Enter' && setLastChangeWasPicker(true)
65
+ }, void 0, /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
66
+ gutter: "xxs",
67
+ alignItems: "center",
68
+ p: "xxs"
69
+ }, void 0, /*#__PURE__*/_jsx__default["default"](dsControlledForm.DSControlledCheckbox, {
70
+ checked: isDateRange,
71
+ name: "Date range",
72
+ label: "Range",
73
+ id: "date-range-switcher-id-internal",
74
+ onChange: () => {
75
+ setIsDateRange(!isDateRange);
76
+ setStartDate('');
77
+ setEndDate('');
72
78
  }
73
-
74
- setPickerRange({
75
- startDate: dates.startDate,
76
- endDate: dateRange.endDate
77
- });
78
- setDateRange(dates);
79
- };
80
-
81
- const handlePickerChange = dates => {
82
- if (dates.endDate) {
83
- setTimeout(() => {
84
- onChange({
85
- startDate: dates.startDate,
86
- endDate: dates.endDate
87
- });
88
- }, 500);
79
+ }), /*#__PURE__*/_jsx__default["default"]("div", {
80
+ style: {
81
+ width: 'fit-content'
89
82
  }
90
-
91
- if (dates.startDate) handleHeaderFocusChange(undefined);
92
- setPickerRange(dates);
93
- setDateRange(dates);
94
- };
95
-
96
- const handleSingleDateChange = React.useCallback(date => {
97
- const dates = {
98
- startDate: moment__default["default"](date).startOf('day'),
99
- endDate: moment__default["default"](date).endOf('day')
100
- };
101
- onChange(dates);
102
- setSingleDate(dates);
103
- }, [onChange]);
104
-
105
- const handleStartInputChange = newDate => {
106
- setDateRange({
107
- startDate: newDate,
108
- endDate: dateRange.endDate
109
- });
110
- setPickerRange(_objectSpread(_objectSpread({}, pickerRange), {}, {
111
- startDate: newDate
112
- }));
113
- };
114
-
115
- const handleEndInputChange = newDate => {
116
- setDateRange({
117
- startDate: dateRange.startDate,
118
- endDate: newDate
119
- });
120
- setPickerRange(_objectSpread(_objectSpread({}, pickerRange), {}, {
121
- endDate: newDate
122
- }));
123
- };
124
-
125
- const dateRangeController = /*#__PURE__*/jsxRuntime.jsx(dsDateRangePicker.DayPickerRangeController, _objectSpread(_objectSpread({}, otherProps), {}, {
126
- enableOutsideDays: enableOutsideDays,
127
- endDate: pickerRange.endDate,
128
- focusedInput: focusedInputPicker,
129
- hideKeyboardShortcutsPanel: true,
130
- onDatesChange: handlePickerChange,
131
- onFocusChange: handlePickerFocusChange,
132
- startDate: pickerRange.startDate
133
- }));
134
-
135
- const singleDateController = /*#__PURE__*/_jsx__default["default"](dsDatePicker.DSDatePickerController, {
136
- date: singleDate,
137
- enableOutsideDays: enableOutsideDays,
138
- onDateChange: handleSingleDateChange
139
- });
140
-
141
- return /*#__PURE__*/_jsx__default["default"](Wrapper, {
142
- "data-testid": "date-single-range__wrapper"
143
- }, void 0, /*#__PURE__*/_jsx__default["default"](dsDatePicker.SingleRangeDateSwitcher, {
144
- isDateRange: isDateRange,
145
- focusedInput: focusedInputHeader,
146
- onFocusChange: handleHeaderFocusChange,
147
- onEndInputChange: handleEndInputChange,
148
- onSingleInputChange: handleSingleDateChange,
149
- onStartInputChange: handleStartInputChange,
150
- selectedEndDate: dateRange.endDate,
151
- selectedSingleDate: singleDate,
152
- selectedStartDate: dateRange.startDate,
153
- setIsDateRange: ({
154
- target: {
155
- checked
156
- }
157
- }) => {
158
- setIsDateRange(checked);
83
+ }, void 0, isDateRange ? /*#__PURE__*/_jsx__default["default"](dsControlledForm.DSControlledDateRangePicker, {
84
+ fromDate: startDate,
85
+ onFromDateChange: _start => {
86
+ setStartDate(_start);
87
+ setLastChangeWasPicker(false);
159
88
  },
160
- handleDatesChange: handleDatesChange
161
- }), isDateRange ? dateRangeController : singleDateController);
89
+ toDate: endDate,
90
+ onToDateChange: _end => {
91
+ setEndDate(_end);
92
+ setLastChangeWasPicker(false);
93
+ },
94
+ type: "date-range-inputs"
95
+ }) : /*#__PURE__*/_jsx__default["default"](dsControlledForm.DSControlledDateTimePicker, {
96
+ date: startDate,
97
+ onDateChange: _date => {
98
+ setLastChangeWasPicker(false);
99
+ setStartDate(_date);
100
+ setEndDate(_date);
101
+ },
102
+ type: "date-inputs"
103
+ }))), /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {}, void 0, isDateRange ? /*#__PURE__*/_jsx__default["default"](dsControlledForm.DSControlledDateRangePicker, {
104
+ fromDate: startDate,
105
+ onFromDateChange: _start => {
106
+ setStartDate(_start);
107
+ setLastChangeWasPicker(true);
108
+ },
109
+ toDate: endDate,
110
+ onToDateChange: _end => {
111
+ setEndDate(_end);
112
+ setLastChangeWasPicker(true);
113
+ },
114
+ type: "date-range-picker-controller-only"
115
+ }) : /*#__PURE__*/_jsx__default["default"](dsControlledForm.DSControlledDateTimePicker, {
116
+ date: startDate,
117
+ onDateChange: _date => {
118
+ setLastChangeWasPicker(true);
119
+ setStartDate(_date);
120
+ setEndDate(_date);
121
+ },
122
+ type: "date-picker-controller-only"
123
+ })));
162
124
  };
163
125
 
164
- const formatRangeDate = ({
165
- startDate,
166
- endDate
167
- }, format = defaultDateFormat.DEFAULT_DATE_FORMAT) => {
126
+ const formatRangeDate = function (_ref2) {
127
+ let {
128
+ startDate,
129
+ endDate
130
+ } = _ref2;
131
+ let format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultDateFormat.DEFAULT_DATE_FORMAT;
168
132
  const sameDay = startDate.isSame(endDate, 'day');
169
133
  if (sameDay) return "".concat(endDate.format(format));
170
134
  return "".concat(startDate.format(format), " - ").concat(endDate.format(format));
171
135
  }; // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
172
136
 
173
137
 
174
- function SingleRangeSwitcherMenu({
175
- column,
176
- className,
177
- isMenuOpened = false,
178
- onOpenMenu = noop,
179
- placement = DSPopper.PopperPositions.BOTTOM_END,
180
- onAddFilter = noop,
181
- dateFormatter = formatRangeDate,
182
- enableOutsideDays = true,
183
- menuProps
184
- }) {
138
+ function SingleRangeSwitcherMenu(_ref3) {
139
+ let {
140
+ column,
141
+ className,
142
+ isMenuOpened = false,
143
+ onOpenMenu = noop,
144
+ placement = DSPopper.PopperPositions.BOTTOM_END,
145
+ onAddFilter = noop,
146
+ dateFormatter = formatRangeDate,
147
+ enableOutsideDays = true,
148
+ menuProps
149
+ } = _ref3;
185
150
  return /*#__PURE__*/_jsx__default["default"](DSPopper__default["default"], {
186
151
  contentComponent: /*#__PURE__*/_jsx__default["default"]("div", {
187
152
  className: className
188
153
  }, void 0, /*#__PURE__*/_jsx__default["default"](SingleRangeSwitcherContainer, {
189
154
  enableOutsideDays: enableOutsideDays,
190
- minimumNights: 0,
191
- onChange: ({
192
- startDate,
193
- endDate
194
- }) => {
155
+ onChange: _ref4 => {
156
+ let {
157
+ startDate,
158
+ endDate
159
+ } = _ref4;
195
160
  startDate.startOf('day');
196
161
  endDate.endOf('day');
197
162
  onAddFilter({
@@ -219,7 +184,7 @@ function SingleRangeSwitcherMenu({
219
184
  showArrow: false,
220
185
  triggerComponent: /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
221
186
  buttonType: "text",
222
- icon: _DatePickerIcon || (_DatePickerIcon = /*#__PURE__*/_jsx__default["default"](DatePickerIcon__default["default"], {})),
187
+ icon: _DatePicker || (_DatePicker = /*#__PURE__*/_jsx__default["default"](dsIcons.DatePicker2, {})),
223
188
  onClick: () => !isMenuOpened ? onOpenMenu(true) : onOpenMenu(false),
224
189
  size: "s"
225
190
  }),
@@ -3,14 +3,21 @@
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var _jsx = require('@babel/runtime/helpers/jsx');
5
5
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
6
+ require('core-js/modules/esnext.async-iterator.map.js');
7
+ require('core-js/modules/esnext.iterator.map.js');
8
+ require('core-js/modules/esnext.async-iterator.filter.js');
9
+ require('core-js/modules/esnext.iterator.constructor.js');
10
+ require('core-js/modules/esnext.iterator.filter.js');
6
11
  require('core-js/modules/web.dom-collections.iterator.js');
12
+ require('core-js/modules/esnext.async-iterator.for-each.js');
13
+ require('core-js/modules/esnext.iterator.for-each.js');
7
14
  var React = require('react');
8
15
  var lodash = require('lodash');
9
16
  var DSDropdownMenu = require('@elliemae/ds-dropdownmenu');
10
- var DSButton = require('@elliemae/ds-basic/Button');
11
- var DSPopper = require('@elliemae/ds-basic/Popper');
17
+ var DSButton = require('@elliemae/ds-button');
18
+ var DSPopper = require('@elliemae/ds-popper');
12
19
  var dsMenu = require('@elliemae/ds-menu');
13
- var SearchSmall = require('@elliemae/ds-icons/SearchSmall');
20
+ var dsIcons = require('@elliemae/ds-icons');
14
21
  var jsxRuntime = require('react/jsx-runtime');
15
22
 
16
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -21,7 +28,6 @@ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_obje
21
28
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
29
  var DSDropdownMenu__default = /*#__PURE__*/_interopDefaultLegacy(DSDropdownMenu);
23
30
  var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
24
- var SearchSmall__default = /*#__PURE__*/_interopDefaultLegacy(SearchSmall);
25
31
 
26
32
  var _SearchSmall;
27
33
 
@@ -31,21 +37,23 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
31
37
 
32
38
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
33
39
 
34
- function TextFilterMenu({
35
- column,
36
- menuStyle = {},
37
- className,
38
- filters = [],
39
- isMenuOpened = false,
40
- onOpenMenu = () => null,
41
- onClose = () => null,
42
- placement = DSPopper.PopperPositions.BOTTOM_END,
43
- menuProps = {},
44
- onAddFilter = () => null,
45
- onRemoveFilter = () => null,
46
- maxOptions = 10,
47
- isMulti = false
48
- }) {
40
+ function TextFilterMenu(_ref) {
41
+ let {
42
+ column,
43
+ menuStyle = {},
44
+ className,
45
+ filters = [],
46
+ isMenuOpened = false,
47
+ onOpenMenu = () => null,
48
+ onClose = () => null,
49
+ placement = DSPopper.PopperPositions.BOTTOM_END,
50
+ menuProps = {},
51
+ onAddFilter = () => null,
52
+ onRemoveFilter = () => null,
53
+ maxOptions = 10,
54
+ isMulti = false
55
+ } = _ref;
56
+
49
57
  const {
50
58
  options
51
59
  } = menuProps,
@@ -156,7 +164,7 @@ function TextFilterMenu({
156
164
  placement: placement,
157
165
  triggerComponent: /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
158
166
  buttonType: "text",
159
- icon: _SearchSmall || (_SearchSmall = /*#__PURE__*/_jsx__default["default"](SearchSmall__default["default"], {})),
167
+ icon: _SearchSmall || (_SearchSmall = /*#__PURE__*/_jsx__default["default"](dsIcons.SearchSmall, {})),
160
168
  onClick: () => isMenuOpened ? onOpenMenu(false) : onOpenMenu(true),
161
169
  size: "s"
162
170
  })
@@ -1,6 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var _jsx = require('@babel/runtime/helpers/jsx');
4
+ require('core-js/modules/esnext.async-iterator.filter.js');
5
+ require('core-js/modules/esnext.iterator.constructor.js');
6
+ require('core-js/modules/esnext.iterator.filter.js');
4
7
  require('react');
5
8
  var FilterableHeader = require('./components/FilterableHeader.js');
6
9
  var helper = require('./helper.js');
@@ -9,16 +12,18 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
9
12
 
10
13
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
11
14
 
12
- function FilterableFormatter({
13
- grid,
14
- onAddFilter,
15
- onRemoveFilter,
16
- query,
17
- filterMenuRef
18
- }) {
19
- return (value, {
20
- column
21
- }) => {
15
+ function FilterableFormatter(_ref) {
16
+ let {
17
+ grid,
18
+ onAddFilter,
19
+ onRemoveFilter,
20
+ query,
21
+ filterMenuRef
22
+ } = _ref;
23
+ return (value, _ref2) => {
24
+ let {
25
+ column
26
+ } = _ref2;
22
27
  const {
23
28
  rows,
24
29
  composedRows,
@@ -3,7 +3,16 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
- var utils = require('@elliemae/ds-utilities/utils');
6
+ require('core-js/modules/esnext.async-iterator.some.js');
7
+ require('core-js/modules/esnext.iterator.constructor.js');
8
+ require('core-js/modules/esnext.iterator.some.js');
9
+ require('core-js/modules/esnext.async-iterator.reduce.js');
10
+ require('core-js/modules/esnext.iterator.reduce.js');
11
+ require('core-js/modules/esnext.async-iterator.for-each.js');
12
+ require('core-js/modules/esnext.iterator.for-each.js');
13
+ require('core-js/modules/esnext.async-iterator.filter.js');
14
+ require('core-js/modules/esnext.iterator.filter.js');
15
+ var dsUtilities = require('@elliemae/ds-utilities');
7
16
  var strategiesOperators = require('./strategiesOperators.js');
8
17
 
9
18
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -25,13 +34,16 @@ const executeFilterStrategy = (rule, row) => {
25
34
  } = rule;
26
35
  if (field === 'all') return Object.values(row).some(colValue => strategiesOperators('contains')(colValue, value));
27
36
  const rowValue = row[field];
28
- const transformedValue = utils.isFunction(transform) ? transform(value) : value;
29
- const transformedRowValue = utils.isFunction(transformRowValue) ? transformRowValue(rowValue) : rowValue;
37
+ const transformedValue = dsUtilities.isFunction(transform) ? transform(value) : value;
38
+ const transformedRowValue = dsUtilities.isFunction(transformRowValue) ? transformRowValue(rowValue) : rowValue;
30
39
  const filterStrategy = getRuleStrategyOperator(rule);
31
40
  return filterStrategy(transformedRowValue, transformedValue);
32
41
  };
33
42
 
34
- const filterByRules = (rules, condition = 'AND') => row => condition === 'AND' ? rules.reduce((isFiltered, rule) => rule.rules && rule.rules.length ? isFiltered && filterByRules(rule.rules, rule.condition)(row) : isFiltered && executeFilterStrategy(rule, row), true) : rules.some(rule => rule.rules && rule.rules.length ? filterByRules(rule.rules, rule.condition)(row) : executeFilterStrategy(rule, row));
43
+ const filterByRules = function (rules) {
44
+ let condition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'AND';
45
+ return row => condition === 'AND' ? rules.reduce((isFiltered, rule) => rule.rules && rule.rules.length ? isFiltered && filterByRules(rule.rules, rule.condition)(row) : isFiltered && executeFilterStrategy(rule, row), true) : rules.some(rule => rule.rules && rule.rules.length ? filterByRules(rule.rules, rule.condition)(row) : executeFilterStrategy(rule, row));
46
+ };
35
47
 
36
48
  function filterRowsByQueryGroup(rows, query, composedRows) {
37
49
  if (query && query.rules && query.rules.length === 0) return rows;
@@ -7,10 +7,13 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
7
7
  var compare__default = /*#__PURE__*/_interopDefaultLegacy(compare);
8
8
 
9
9
  var strategiesOperators = (op => ({
10
- range: (rowValue, {
11
- start,
12
- end
13
- }) => start <= rowValue && end >= rowValue,
10
+ range: (rowValue, _ref) => {
11
+ let {
12
+ start,
13
+ end
14
+ } = _ref;
15
+ return start <= rowValue && end >= rowValue;
16
+ },
14
17
  equal: (value1, value2) => compare__default["default"].id(value1, value2),
15
18
  greaterThan: compare__default["default"].gt,
16
19
  lessThan: compare__default["default"].lt,
@@ -3,8 +3,17 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
+ require('core-js/modules/esnext.async-iterator.filter.js');
7
+ require('core-js/modules/esnext.iterator.constructor.js');
8
+ require('core-js/modules/esnext.iterator.filter.js');
9
+ require('core-js/modules/esnext.async-iterator.map.js');
10
+ require('core-js/modules/esnext.iterator.map.js');
11
+ require('core-js/modules/esnext.async-iterator.for-each.js');
12
+ require('core-js/modules/esnext.iterator.for-each.js');
6
13
  require('core-js/modules/web.dom-collections.iterator.js');
7
- var utils = require('@elliemae/ds-utilities/utils');
14
+ require('core-js/modules/esnext.async-iterator.reduce.js');
15
+ require('core-js/modules/esnext.iterator.reduce.js');
16
+ var dsUtilities = require('@elliemae/ds-utilities');
8
17
 
9
18
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
19
 
@@ -14,12 +23,12 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
14
23
 
15
24
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
16
25
  const getFilterLabel = (column, value) => column.filterLabels ? column.filterLabels[value] || value : value;
17
- const getFilterLabels = (column, rows) => utils.uniqBy(rows, utils.property(column.searchBy || column.property)).map(row => {
18
- const value = utils.get(row, column.searchBy || column.property);
26
+ const getFilterLabels = (column, rows) => dsUtilities.uniqBy(rows, dsUtilities.property(column.searchBy || column.property)).map(row => {
27
+ const value = dsUtilities.get(row, column.searchBy || column.property);
19
28
  if (value === undefined) return {};
20
- const rowColumnValue = String(utils.get(row, column.searchBy || column.property));
29
+ const rowColumnValue = String(dsUtilities.get(row, column.searchBy || column.property));
21
30
 
22
- if (utils.isFunction(column.valueTransformation)) {
31
+ if (dsUtilities.isFunction(column.valueTransformation)) {
23
32
  const nextValue = column.valueTransformation(rowColumnValue);
24
33
  return {
25
34
  id: nextValue,
@@ -69,7 +78,7 @@ function getFilterValue(filter, column) {
69
78
  }
70
79
  function buildFilterArray(newFilter, filters) {
71
80
  // if (newFilter.type && newFilter.type === 'date') return [...filters.slice(1), newFilter]
72
- return utils.uniqBy([...filters, newFilter], v => [v.group, v.value].join());
81
+ return dsUtilities.uniqBy([...filters, newFilter], v => [v.group, v.value].join());
73
82
  }
74
83
  const groupFilters = filters => filters.filter(filter => !filter.fixed);
75
84
 
@@ -81,7 +90,7 @@ function parseFilterToRule(filter) {
81
90
  }
82
91
 
83
92
  function parseFiltersToQuery(filters) {
84
- const groupedFilters = utils.groupBy(groupFilters(filters), filter => filter.group);
93
+ const groupedFilters = dsUtilities.groupBy(groupFilters(filters), filter => filter.group);
85
94
  return Object.keys(groupedFilters).reduce((queryResult, field) => {
86
95
  const filter = groupedFilters[field];
87
96
 
@@ -4,6 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  require('core-js/modules/web.dom-collections.iterator.js');
7
+ require('core-js/modules/esnext.async-iterator.filter.js');
8
+ require('core-js/modules/esnext.iterator.constructor.js');
9
+ require('core-js/modules/esnext.iterator.filter.js');
10
+ require('core-js/modules/esnext.async-iterator.for-each.js');
11
+ require('core-js/modules/esnext.iterator.for-each.js');
7
12
  var React = require('react');
8
13
  var uuid = require('uuid');
9
14
  var helper = require('./helper.js');
@@ -81,11 +86,12 @@ function useFilterableState(grid) {
81
86
  });
82
87
  };
83
88
 
84
- const removeFilter = ({
85
- group,
86
- pill,
87
- nextFilters
88
- }) => {
89
+ const removeFilter = _ref => {
90
+ let {
91
+ group,
92
+ pill,
93
+ nextFilters
94
+ } = _ref;
89
95
  onRemoveFilter(group, pill.value, nextFilters);
90
96
  handleFiltersChange(nextFilters);
91
97
  };
@@ -2,6 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.map.js');
6
+ require('core-js/modules/esnext.iterator.map.js');
5
7
  var createInstancePlugin = require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
6
8
  var lodash = require('lodash');
7
9
 
@@ -5,6 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
7
7
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
8
+ require('core-js/modules/esnext.async-iterator.filter.js');
9
+ require('core-js/modules/esnext.iterator.constructor.js');
10
+ require('core-js/modules/esnext.iterator.filter.js');
11
+ require('core-js/modules/esnext.async-iterator.map.js');
12
+ require('core-js/modules/esnext.iterator.map.js');
13
+ require('core-js/modules/esnext.async-iterator.reduce.js');
14
+ require('core-js/modules/esnext.iterator.reduce.js');
15
+ require('core-js/modules/esnext.async-iterator.for-each.js');
16
+ require('core-js/modules/esnext.iterator.for-each.js');
8
17
  var React = require('react');
9
18
  var createInstancePlugin = require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
10
19
  var dsClassnames = require('@elliemae/ds-classnames');
@@ -9,15 +9,17 @@ function getPath(parentNode, index, childrenKey) {
9
9
  return [...parentNode.path, childrenKey, index];
10
10
  }
11
11
 
12
- function walkTreeStrategy({
13
- data,
14
- childrenKey = 'children',
15
- level = 0,
16
- getId = item => item.id,
17
- parentNode,
18
- shouldWalkChildren = () => true,
19
- cb
20
- }) {
12
+ function walkTreeStrategy(_ref) {
13
+ let {
14
+ data,
15
+ childrenKey = 'children',
16
+ level = 0,
17
+ getId = item => item.id,
18
+ parentNode,
19
+ shouldWalkChildren = () => true,
20
+ cb
21
+ } = _ref;
22
+
21
23
  // eslint-disable-next-line no-loops/no-loops,no-plusplus
22
24
  for (let i = 0; i < data.length; i++) {
23
25
  const currLevel = level + 1;