@elliemae/ds-datagrids 2.0.0-alpha.1 → 2.0.0-alpha.13

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 (213) hide show
  1. package/cjs/DSDataGrid.js +247 -244
  2. package/cjs/DataGridImpl.js +22 -13
  3. package/cjs/PaginatedDataGrid.js +11 -6
  4. package/cjs/blockNames.js +2 -2
  5. package/cjs/columns/IconColumn.js +23 -21
  6. package/cjs/columns/NumberColumn.js +2 -4
  7. package/cjs/components/BodyCell.js +23 -15
  8. package/cjs/components/BodyList.js +11 -4
  9. package/cjs/components/ColumnVisibilityMenuOption.js +12 -6
  10. package/cjs/components/ColumnsOptionsMenuSection.js +35 -28
  11. package/cjs/components/EmptyState.js +23 -21
  12. package/cjs/components/HeaderCell.js +17 -11
  13. package/cjs/components/List.js +6 -1
  14. package/cjs/components/ListItem.js +8 -1
  15. package/cjs/components/NoResults.js +8 -3
  16. package/cjs/components/RowsLoader.js +6 -5
  17. package/cjs/components/Table.js +9 -4
  18. package/cjs/components/TableBody.js +8 -3
  19. package/cjs/components/TableHeader.js +6 -1
  20. package/cjs/components/footer/addOptionalFooterComponents.js +6 -5
  21. package/cjs/components/header/PrimaryControls.js +20 -15
  22. package/cjs/components/header/addOptionalHeaderComponents.js +5 -4
  23. package/cjs/components/renderers/defaultClassedRenderers.js +35 -23
  24. package/cjs/components/renderers/renderRowsLoader.js +1 -1
  25. package/cjs/components/tableContext.js +1 -1
  26. package/cjs/index.js +1 -1
  27. package/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +54 -43
  28. package/cjs/plugins/column-dnd/DndColumnsPlugin.js +13 -9
  29. package/cjs/plugins/column-dnd/decorateGridWithDndColumns.js +3 -4
  30. package/cjs/plugins/column-sizing/ColumnSizingPlugin.js +12 -10
  31. package/cjs/plugins/column-sizing/columnMeasurerTransformer.js +14 -7
  32. package/cjs/plugins/column-sizing/ext-points/decorateColumn.js +3 -3
  33. package/cjs/plugins/column-sizing/ext-points/getTableProps.js +24 -18
  34. package/cjs/plugins/column-sizing/useColumnSizeService.js +14 -4
  35. package/cjs/plugins/column-sizing/useStylesheetHelpers.js +70 -56
  36. package/cjs/plugins/column-sizing/utils.js +10 -6
  37. package/cjs/plugins/custom-cell-renderer/CustomRendererPlugin.js +2 -2
  38. package/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js +11 -6
  39. package/cjs/plugins/custom-cell-renderer/getRendererComponent.js +24 -25
  40. package/cjs/plugins/editable/EditableComponents/ComboBox.js +10 -7
  41. package/cjs/plugins/editable/EditableComponents/TextBox.js +24 -19
  42. package/cjs/plugins/editable/EditablePlugin.js +17 -16
  43. package/cjs/plugins/editable/decorateEditable.js +25 -19
  44. package/cjs/plugins/editable/getEditorComponent.js +46 -35
  45. package/cjs/plugins/expandable-grid/ExpandableColumn.js +66 -59
  46. package/cjs/plugins/expandable-grid/ExpandablePlugin.js +42 -30
  47. package/cjs/plugins/expandable-grid/ExpandedRow.js +41 -31
  48. package/cjs/plugins/expandable-grid/ExpandedRowExtra.js +22 -16
  49. package/cjs/plugins/expandable-grid/useExpandGridState.js +4 -8
  50. package/cjs/plugins/export-data/ExportDataPlugin.js +34 -19
  51. package/cjs/plugins/filterable/FilterablePlugin.js +9 -8
  52. package/cjs/plugins/filterable/addFilterToColumn.js +6 -1
  53. package/cjs/plugins/filterable/components/FilterableHeader.js +39 -30
  54. package/cjs/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +52 -45
  55. package/cjs/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +38 -33
  56. package/cjs/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +127 -161
  57. package/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js +38 -29
  58. package/cjs/plugins/filterable/filterableFormatter.js +16 -11
  59. package/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js +18 -6
  60. package/cjs/plugins/filterable/filtering-helper/strategiesOperators.js +11 -8
  61. package/cjs/plugins/filterable/helper.js +18 -8
  62. package/cjs/plugins/filterable/useFilterableState.js +13 -6
  63. package/cjs/plugins/grouping-by/GroupingByPlugin.js +4 -2
  64. package/cjs/plugins/grouping-grid/GroupingPlugin.js +14 -5
  65. package/cjs/plugins/grouping-grid/walkStrategy.js +13 -9
  66. package/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js +11 -4
  67. package/cjs/plugins/pagination/PaginationPlugin.js +17 -10
  68. package/cjs/plugins/pagination/components/Pagination.js +12 -11
  69. package/cjs/plugins/pagination/components/Paginator.js +23 -22
  70. package/cjs/plugins/pagination/components/PerPageDropdown.js +24 -17
  71. package/cjs/plugins/pagination/helper.js +11 -8
  72. package/cjs/plugins/pagination/usePaginationState.js +9 -4
  73. package/cjs/plugins/resizable/ResizablePlugin.js +6 -5
  74. package/cjs/plugins/resizable/decorateResizable.js +16 -10
  75. package/cjs/plugins/resizable/useResizeHandle.js +21 -16
  76. package/cjs/plugins/resizable/utils.js +9 -6
  77. package/cjs/plugins/row-dnd/DndRowsPlugin.js +27 -19
  78. package/cjs/plugins/selectable/SelectablePlugin.js +13 -12
  79. package/cjs/plugins/selectable/addSelectableColumn.js +25 -17
  80. package/cjs/plugins/selectable/helper.js +13 -4
  81. package/cjs/plugins/selectable/selectableFormatter.js +83 -74
  82. package/cjs/plugins/selectable/useSelectableState.js +26 -12
  83. package/cjs/plugins/sortable/SortablePlugin.js +11 -12
  84. package/cjs/plugins/sortable/checkIfSortable.js +1 -1
  85. package/cjs/plugins/sortable/sortHeaderFormatter.js +17 -18
  86. package/cjs/plugins/sortable/sortTree.js +16 -8
  87. package/cjs/plugins/sortable/sorter.js +153 -135
  88. package/cjs/plugins/sortable/useSortableState.js +12 -6
  89. package/cjs/plugins/toolbar/RowRenderer.js +13 -7
  90. package/cjs/plugins/toolbar/ToolbarPlugin.js +3 -2
  91. package/cjs/plugins/toolbar/ToolbarTrigger.js +26 -21
  92. package/cjs/plugins/virtualization/AutoHeightList.js +12 -10
  93. package/cjs/plugins/virtualization/VirtualizationPlugin.js +35 -28
  94. package/cjs/plugins/virtualization/VirtualizedBody.js +23 -13
  95. package/cjs/plugins/virtualization/VirtualizedBodyRow.js +8 -7
  96. package/cjs/renders/CellWithAddons.js +23 -21
  97. package/cjs/renders/styled.js +7 -18
  98. package/cjs/utilities/getPluginsFromProps.js +5 -1
  99. package/cjs/utilities/getScrollbarSize.js +2 -1
  100. package/cjs/utilities/normalizeData.js +8 -2
  101. package/esm/DSDataGrid.js +246 -243
  102. package/esm/DataGridImpl.js +18 -9
  103. package/esm/PaginatedDataGrid.js +5 -0
  104. package/esm/blockNames.js +2 -2
  105. package/esm/columns/IconColumn.js +19 -17
  106. package/esm/columns/NumberColumn.js +2 -4
  107. package/esm/components/BodyCell.js +20 -12
  108. package/esm/components/BodyList.js +7 -0
  109. package/esm/components/ColumnVisibilityMenuOption.js +12 -6
  110. package/esm/components/ColumnsOptionsMenuSection.js +35 -28
  111. package/esm/components/EmptyState.js +18 -15
  112. package/esm/components/HeaderCell.js +15 -9
  113. package/esm/components/List.js +5 -0
  114. package/esm/components/ListItem.js +7 -0
  115. package/esm/components/NoResults.js +5 -0
  116. package/esm/components/RowsLoader.js +5 -4
  117. package/esm/components/Table.js +5 -0
  118. package/esm/components/TableBody.js +5 -0
  119. package/esm/components/TableHeader.js +5 -0
  120. package/esm/components/footer/addOptionalFooterComponents.js +5 -4
  121. package/esm/components/header/PrimaryControls.js +20 -14
  122. package/esm/components/header/addOptionalHeaderComponents.js +4 -3
  123. package/esm/components/renderers/defaultClassedRenderers.js +35 -23
  124. package/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +50 -39
  125. package/esm/plugins/column-dnd/DndColumnsPlugin.js +8 -4
  126. package/esm/plugins/column-dnd/decorateGridWithDndColumns.js +1 -1
  127. package/esm/plugins/column-sizing/ColumnSizingPlugin.js +10 -8
  128. package/esm/plugins/column-sizing/columnMeasurerTransformer.js +12 -5
  129. package/esm/plugins/column-sizing/ext-points/decorateColumn.js +1 -1
  130. package/esm/plugins/column-sizing/ext-points/getTableProps.js +22 -15
  131. package/esm/plugins/column-sizing/useColumnSizeService.js +13 -3
  132. package/esm/plugins/column-sizing/useStylesheetHelpers.js +67 -51
  133. package/esm/plugins/column-sizing/utils.js +8 -4
  134. package/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js +6 -1
  135. package/esm/plugins/custom-cell-renderer/getRendererComponent.js +15 -11
  136. package/esm/plugins/editable/EditableComponents/ComboBox.js +8 -4
  137. package/esm/plugins/editable/EditableComponents/TextBox.js +21 -15
  138. package/esm/plugins/editable/EditablePlugin.js +14 -12
  139. package/esm/plugins/editable/decorateEditable.js +18 -9
  140. package/esm/plugins/editable/getEditorComponent.js +49 -38
  141. package/esm/plugins/expandable-grid/ExpandableColumn.js +59 -50
  142. package/esm/plugins/expandable-grid/ExpandablePlugin.js +34 -20
  143. package/esm/plugins/expandable-grid/ExpandedRow.js +27 -17
  144. package/esm/plugins/expandable-grid/ExpandedRowExtra.js +17 -11
  145. package/esm/plugins/expandable-grid/useExpandGridState.js +2 -2
  146. package/esm/plugins/export-data/ExportDataPlugin.js +31 -16
  147. package/esm/plugins/filterable/FilterablePlugin.js +5 -4
  148. package/esm/plugins/filterable/addFilterToColumn.js +5 -0
  149. package/esm/plugins/filterable/components/FilterableHeader.js +32 -22
  150. package/esm/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +41 -33
  151. package/esm/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +28 -22
  152. package/esm/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +121 -154
  153. package/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js +28 -18
  154. package/esm/plugins/filterable/filterableFormatter.js +15 -10
  155. package/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js +14 -2
  156. package/esm/plugins/filterable/filtering-helper/strategiesOperators.js +7 -4
  157. package/esm/plugins/filterable/helper.js +11 -1
  158. package/esm/plugins/filterable/useFilterableState.js +12 -5
  159. package/esm/plugins/grouping-by/GroupingByPlugin.js +3 -1
  160. package/esm/plugins/grouping-grid/GroupingPlugin.js +10 -1
  161. package/esm/plugins/grouping-grid/walkStrategy.js +13 -9
  162. package/esm/plugins/infinite-scrolling/InfiniteScrollPlugin.js +8 -1
  163. package/esm/plugins/pagination/PaginationPlugin.js +8 -1
  164. package/esm/plugins/pagination/components/Pagination.js +10 -9
  165. package/esm/plugins/pagination/components/Paginator.js +20 -19
  166. package/esm/plugins/pagination/components/PerPageDropdown.js +17 -9
  167. package/esm/plugins/pagination/helper.js +10 -7
  168. package/esm/plugins/pagination/usePaginationState.js +7 -1
  169. package/esm/plugins/resizable/ResizablePlugin.js +4 -3
  170. package/esm/plugins/resizable/decorateResizable.js +14 -8
  171. package/esm/plugins/resizable/useResizeHandle.js +21 -16
  172. package/esm/plugins/resizable/utils.js +7 -4
  173. package/esm/plugins/row-dnd/DndRowsPlugin.js +22 -13
  174. package/esm/plugins/selectable/SelectablePlugin.js +10 -9
  175. package/esm/plugins/selectable/addSelectableColumn.js +24 -16
  176. package/esm/plugins/selectable/helper.js +10 -1
  177. package/esm/plugins/selectable/selectableFormatter.js +79 -68
  178. package/esm/plugins/selectable/useSelectableState.js +20 -5
  179. package/esm/plugins/sortable/SortablePlugin.js +5 -4
  180. package/esm/plugins/sortable/sortHeaderFormatter.js +12 -11
  181. package/esm/plugins/sortable/sortTree.js +13 -3
  182. package/esm/plugins/sortable/sorter.js +152 -134
  183. package/esm/plugins/sortable/useSortableState.js +8 -0
  184. package/esm/plugins/toolbar/RowRenderer.js +8 -2
  185. package/esm/plugins/toolbar/ToolbarPlugin.js +1 -0
  186. package/esm/plugins/toolbar/ToolbarTrigger.js +17 -11
  187. package/esm/plugins/virtualization/AutoHeightList.js +6 -3
  188. package/esm/plugins/virtualization/VirtualizationPlugin.js +31 -24
  189. package/esm/plugins/virtualization/VirtualizedBody.js +16 -6
  190. package/esm/plugins/virtualization/VirtualizedBodyRow.js +8 -7
  191. package/esm/renders/CellWithAddons.js +15 -14
  192. package/esm/renders/styled.js +3 -15
  193. package/esm/utilities/getPluginsFromProps.js +5 -1
  194. package/esm/utilities/getScrollbarSize.js +2 -1
  195. package/esm/utilities/normalizeData.js +7 -1
  196. package/package.json +27 -18
  197. package/types/DSDataGrid.d.ts +744 -105
  198. package/types/components/BodyCell.d.ts +1 -1
  199. package/types/components/HeaderCell.d.ts +1 -1
  200. package/types/plugins/column-sizing/columnMeasurerTransformer.d.ts +1 -1
  201. package/types/plugins/column-sizing/ext-points/getTableProps.d.ts +1 -1
  202. package/types/plugins/expandable-grid/ExpandedRowExtra.d.ts +1 -1
  203. package/types/plugins/expandable-grid/useExpandGridState.d.ts +4 -4
  204. package/types/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.d.ts +1 -1
  205. package/types/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.d.ts +1 -1
  206. package/types/plugins/filterable/components/filterable-menus/TextFilterMenu.d.ts +1 -1
  207. package/types/plugins/filterable/helper.d.ts +15 -3
  208. package/types/plugins/pagination/components/Paginator.d.ts +1 -1
  209. package/types/plugins/pagination/components/PerPageDropdown.d.ts +1 -1
  210. package/types/plugins/sortable/sorter.d.ts +1 -1
  211. package/types/renders/styled.d.ts +3 -3
  212. package/cjs/package.json +0 -7
  213. package/esm/package.json +0 -7
package/esm/DSDataGrid.js CHANGED
@@ -1,252 +1,255 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
2
  import 'react';
3
3
  import { PropTypes, describe } from 'react-desc';
4
- import { TooltipTextProvider } from '@elliemae/ds-basic/TruncatedTooltipText';
4
+ import { TooltipTextProvider } from '@elliemae/ds-truncated-tooltip-text';
5
5
  import DataGridImpl from './DataGridImpl.js';
6
6
  import { RowSizesOptionsArr, RowSizesOptions } from './rowSizes.js';
7
7
 
8
- const DSDataGrids = ({
9
- containerProps = {},
10
- instanceRef,
11
- className = '',
12
- // data
13
- columns = [],
14
- rows = [],
15
- rowKey = 'id',
16
- // features
17
- infiniteScrolling = false,
18
- editable = false,
19
- sortable = false,
20
- sortEmptyLast = false,
21
- paginated = false,
22
- dragAndDropRows = false,
23
- selectable = false,
24
- resizeableColumns = false,
25
- searchFilters = false,
26
- dragAndDropColumns = false,
27
- useTreeData = false,
28
- autoScrollToId,
29
- // virtualization props
30
- overscanCount = 10,
31
- // feature state
32
- selectAll = false,
33
- // todo: change to isAllSelected
34
- selectedRows = [],
35
- filters = undefined,
36
- onAddFilter = () => null,
37
- onRemoveFilter = () => null,
38
- onFiltersChange = () => null,
39
- showFilterBar = true,
40
- multiSelectFilterOptions = [{
41
- id: 'true',
42
- label: 'Selected'
43
- }, {
44
- id: 'false',
45
- label: 'Not selected'
46
- }],
47
- multiSelectFilterLabels = undefined,
48
- multiSelectFilterLabel = 'Selection',
49
- aggregations = {},
50
- groupingColumn = undefined,
51
- sortingColumns = {},
52
- // pagination
53
- minPerPage = 0,
54
- maxPerPage = 50,
55
- onPerPageChange = () => null,
56
- onPageChange = () => null,
57
- paginationStep = 2,
58
- pagination = {
59
- page: 1,
60
- perPage: 10
61
- },
62
- // visual
63
- showHeader = true,
64
- fixedHeader = true,
65
- wrapText = false,
66
- height = undefined,
67
- minColumnWidth = 100,
68
- showRowsLoader = false,
69
- visibleColumns = undefined,
70
- // this enforces visibility of columns
71
- showSelectHighlight = false,
72
- showSelectColumn = true,
73
- selectColumnSortable = true,
74
- selectColumnFilterable = false,
75
- selectionColumnDefinition = {},
76
- filterBarOptions = undefined,
77
- // searchGrid = false,
78
- renderToolbar = undefined,
79
- toolbarDelayClose = 400,
80
- renderFilterToolbar = undefined,
81
- multiSelectComponent = undefined,
82
- // todo: deprecate this
83
- noResultsRender,
84
- noResultsPlaceholder,
85
- fluidHeight = false,
86
- customHandlers = {},
87
- // grouping feature
88
- groupedBy = undefined,
89
- // callbacks
90
- onDefaultFiltersLoad = () => null,
91
- onReorder = () => null,
92
- onMoveRowEnd = () => null,
93
- onMoveRowStart = () => null,
94
- onMoveColumnOver = () => null,
95
- onMoveColumnStart = () => null,
96
- onMoveColumnEnd = () => null,
97
- onColumnResize = () => null,
98
- onExpandChange = () => null,
99
- onToggleExpand = () => null,
100
- onExpandRow = () => null,
101
- onFilter = () => null,
102
- onSort = () => null,
103
- onColumnRowEdited = () => null,
104
- onColumnRowEdit = () => null,
105
- onSelectRow = () => null,
106
- onSelectAll = () => null,
107
- onInfiniteScrolling = () => null,
108
- onFilterMenuClose = () => null,
109
- onFilterMenuOpen = () => null,
110
- getData = undefined,
111
- // todo: change to onGetMoreData
112
- serverSideData = false,
113
- isDataSorted = false,
114
- isDataFiltered = false,
115
- virtualized = true,
116
- numRowsVisible = undefined,
117
- isColumnEditable = column => column.editable,
118
- // grouped props
119
- groupedRows = false,
120
- groupedRowsRenderHeader = undefined,
121
- // expandable props
122
- renderExpandedDetails = () => null,
123
- detailColumns,
124
- expandable = false,
125
- getChildrenRows = row => row.children,
126
- expandableSubrowsVisible = 7,
127
- renderRowDetails = () => null,
128
- getExpandedRowSize = undefined,
129
- getExpandedRowMinSize,
130
- rowSize = RowSizesOptions.normal,
131
- subRowSize = RowSizesOptions.normal,
132
- bindColumnsSizeTo = undefined,
133
- bindRowSizeTo = undefined,
134
- onToggleShowAllRows,
135
- expandedRows,
136
- autoHeight = false,
137
- noColumnsPlaceholder,
138
- plugins = [],
139
- normalizeDataKeys = false
140
- }) => /*#__PURE__*/_jsx(TooltipTextProvider, {}, void 0, /*#__PURE__*/_jsx(DataGridImpl, {
141
- aggregations: aggregations,
142
- autoHeight: autoHeight && !fluidHeight,
143
- autoScrollToId: autoScrollToId,
144
- bindColumnsSizeTo: bindColumnsSizeTo,
145
- bindRowSizeTo: bindRowSizeTo,
146
- className: className,
147
- columns: columns,
148
- containerProps: containerProps,
149
- customHandlers: customHandlers,
150
- detailColumns: detailColumns,
151
- dragAndDropColumns: dragAndDropColumns,
152
- dragAndDropRows: dragAndDropRows,
153
- editable: editable,
154
- expandable: expandable,
155
- expandableSubrowsVisible: expandableSubrowsVisible,
156
- expandedRows: expandedRows,
157
- filterBarOptions: filterBarOptions,
158
- filters: filters,
159
- fixedHeader: fixedHeader,
160
- fluidHeight: fluidHeight,
161
- getChildrenRows: getChildrenRows,
162
- getData: getData,
163
- getExpandedRowMinSize: getExpandedRowMinSize,
164
- getExpandedRowSize: getExpandedRowSize,
165
- groupedBy: groupedBy,
166
- groupedRows: groupedRows,
167
- groupedRowsRenderHeader: groupedRowsRenderHeader,
168
- groupingColumn: groupingColumn,
169
- height: height,
170
- infiniteScrolling: infiniteScrolling,
171
- instanceRef: instanceRef,
172
- isColumnEditable: isColumnEditable,
173
- isDataFiltered: isDataFiltered,
174
- isDataSorted: isDataSorted,
175
- maxPerPage: maxPerPage,
176
- minColumnWidth: minColumnWidth,
177
- minPerPage: minPerPage,
178
- multiSelectComponent: multiSelectComponent,
179
- multiSelectFilterLabel: multiSelectFilterLabel,
180
- multiSelectFilterLabels: multiSelectFilterLabels,
181
- multiSelectFilterOptions: multiSelectFilterOptions,
182
- noColumnsPlaceholder: noColumnsPlaceholder,
183
- noResultsPlaceholder: noResultsPlaceholder,
184
- noResultsRender: noResultsRender,
185
- normalizeDataKeys: normalizeDataKeys,
186
- numRowsVisible: numRowsVisible // if defined, fluidHeight is disabled
187
- ,
188
- onAddFilter: onAddFilter,
189
- onColumnResize: onColumnResize,
190
- onColumnRowEdit: onColumnRowEdit,
191
- onColumnRowEdited: onColumnRowEdited,
192
- onExpandRow: onExpandRow,
193
- onExpandChange: onExpandChange,
194
- onFilter: onFilter,
195
- onFiltersChange: onFiltersChange,
196
- onFilterMenuClose: onFilterMenuClose,
197
- onFilterMenuOpen: onFilterMenuOpen,
198
- onDefaultFiltersLoad: onDefaultFiltersLoad,
199
- onInfiniteScrolling: onInfiniteScrolling,
200
- onMoveColumnEnd: onMoveColumnEnd,
201
- onMoveColumnOver: onMoveColumnOver,
202
- onMoveColumnStart: onMoveColumnStart,
203
- onMoveRowEnd: onMoveRowEnd,
204
- onMoveRowStart: onMoveRowStart,
205
- onPageChange: onPageChange,
206
- onPerPageChange: onPerPageChange,
207
- onRemoveFilter: onRemoveFilter,
208
- onReorder: onReorder,
209
- onSelectAll: onSelectAll,
210
- onSelectRow: onSelectRow,
211
- onSort: onSort,
212
- onToggleExpand: onToggleExpand,
213
- onToggleShowAllRows: onToggleShowAllRows,
214
- overscanCount: overscanCount,
215
- paginated: paginated,
216
- pagination: pagination,
217
- paginationStep: paginationStep,
218
- plugins: plugins,
219
- renderExpandedDetails: renderExpandedDetails,
220
- renderFilterToolbar: renderFilterToolbar,
221
- renderRowDetails: renderRowDetails,
222
- renderToolbar: renderToolbar,
223
- resizeableColumns: resizeableColumns,
224
- rowKey: rowKey,
225
- rows: rows,
226
- rowSize: rowSize,
227
- searchFilters: searchFilters,
228
- selectable: selectable,
229
- selectAll: selectAll,
230
- selectColumnFilterable: selectColumnFilterable,
231
- selectColumnSortable: selectColumnSortable,
232
- selectedRows: selectedRows,
233
- selectionColumnDefinition: selectionColumnDefinition,
234
- serverSideData: serverSideData,
235
- showFilterBar: showFilterBar,
236
- showHeader: showHeader,
237
- showRowsLoader: showRowsLoader,
238
- showSelectColumn: showSelectColumn,
239
- showSelectHighlight: showSelectHighlight,
240
- sortable: sortable,
241
- sortEmptyLast: sortEmptyLast,
242
- sortingColumns: sortingColumns,
243
- subrowSize: subRowSize,
244
- toolbarDelayClose: toolbarDelayClose,
245
- useTreeData: useTreeData,
246
- virtualized: virtualized,
247
- visibleColumns: visibleColumns,
248
- wrapText: wrapText
249
- }));
8
+ const DSDataGrids = _ref => {
9
+ let {
10
+ containerProps = {},
11
+ instanceRef,
12
+ className = '',
13
+ // data
14
+ columns = [],
15
+ rows = [],
16
+ rowKey = 'id',
17
+ // features
18
+ infiniteScrolling = false,
19
+ editable = false,
20
+ sortable = false,
21
+ sortEmptyLast = false,
22
+ paginated = false,
23
+ dragAndDropRows = false,
24
+ selectable = false,
25
+ resizeableColumns = false,
26
+ searchFilters = false,
27
+ dragAndDropColumns = false,
28
+ useTreeData = false,
29
+ autoScrollToId,
30
+ // virtualization props
31
+ overscanCount = 10,
32
+ // feature state
33
+ selectAll = false,
34
+ // todo: change to isAllSelected
35
+ selectedRows = [],
36
+ filters = undefined,
37
+ onAddFilter = () => null,
38
+ onRemoveFilter = () => null,
39
+ onFiltersChange = () => null,
40
+ showFilterBar = true,
41
+ multiSelectFilterOptions = [{
42
+ id: 'true',
43
+ label: 'Selected'
44
+ }, {
45
+ id: 'false',
46
+ label: 'Not selected'
47
+ }],
48
+ multiSelectFilterLabels = undefined,
49
+ multiSelectFilterLabel = 'Selection',
50
+ aggregations = {},
51
+ groupingColumn = undefined,
52
+ sortingColumns = {},
53
+ // pagination
54
+ minPerPage = 0,
55
+ maxPerPage = 50,
56
+ onPerPageChange = () => null,
57
+ onPageChange = () => null,
58
+ paginationStep = 2,
59
+ pagination = {
60
+ page: 1,
61
+ perPage: 10
62
+ },
63
+ // visual
64
+ showHeader = true,
65
+ fixedHeader = true,
66
+ wrapText = false,
67
+ height = undefined,
68
+ minColumnWidth = 100,
69
+ showRowsLoader = false,
70
+ visibleColumns = undefined,
71
+ // this enforces visibility of columns
72
+ showSelectHighlight = false,
73
+ showSelectColumn = true,
74
+ selectColumnSortable = true,
75
+ selectColumnFilterable = false,
76
+ selectionColumnDefinition = {},
77
+ filterBarOptions = undefined,
78
+ // searchGrid = false,
79
+ renderToolbar = undefined,
80
+ toolbarDelayClose = 400,
81
+ renderFilterToolbar = undefined,
82
+ multiSelectComponent = undefined,
83
+ // todo: deprecate this
84
+ noResultsRender,
85
+ noResultsPlaceholder,
86
+ fluidHeight = false,
87
+ customHandlers = {},
88
+ // grouping feature
89
+ groupedBy = undefined,
90
+ // callbacks
91
+ onDefaultFiltersLoad = () => null,
92
+ onReorder = () => null,
93
+ onMoveRowEnd = () => null,
94
+ onMoveRowStart = () => null,
95
+ onMoveColumnOver = () => null,
96
+ onMoveColumnStart = () => null,
97
+ onMoveColumnEnd = () => null,
98
+ onColumnResize = () => null,
99
+ onExpandChange = () => null,
100
+ onToggleExpand = () => null,
101
+ onExpandRow = () => null,
102
+ onFilter = () => null,
103
+ onSort = () => null,
104
+ onColumnRowEdited = () => null,
105
+ onColumnRowEdit = () => null,
106
+ onSelectRow = () => null,
107
+ onSelectAll = () => null,
108
+ onInfiniteScrolling = () => null,
109
+ onFilterMenuClose = () => null,
110
+ onFilterMenuOpen = () => null,
111
+ getData = undefined,
112
+ // todo: change to onGetMoreData
113
+ serverSideData = false,
114
+ isDataSorted = false,
115
+ isDataFiltered = false,
116
+ virtualized = true,
117
+ numRowsVisible = undefined,
118
+ isColumnEditable = column => column.editable,
119
+ // grouped props
120
+ groupedRows = false,
121
+ groupedRowsRenderHeader = undefined,
122
+ // expandable props
123
+ renderExpandedDetails = () => null,
124
+ detailColumns,
125
+ expandable = false,
126
+ getChildrenRows = row => row.children,
127
+ expandableSubrowsVisible = 7,
128
+ renderRowDetails = () => null,
129
+ getExpandedRowSize = undefined,
130
+ getExpandedRowMinSize,
131
+ rowSize = RowSizesOptions.normal,
132
+ subRowSize = RowSizesOptions.normal,
133
+ bindColumnsSizeTo = undefined,
134
+ bindRowSizeTo = undefined,
135
+ onToggleShowAllRows,
136
+ expandedRows,
137
+ autoHeight = false,
138
+ noColumnsPlaceholder,
139
+ plugins = [],
140
+ normalizeDataKeys = false
141
+ } = _ref;
142
+ return /*#__PURE__*/_jsx(TooltipTextProvider, {}, void 0, /*#__PURE__*/_jsx(DataGridImpl, {
143
+ aggregations: aggregations,
144
+ autoHeight: autoHeight && !fluidHeight,
145
+ autoScrollToId: autoScrollToId,
146
+ bindColumnsSizeTo: bindColumnsSizeTo,
147
+ bindRowSizeTo: bindRowSizeTo,
148
+ className: className,
149
+ columns: columns,
150
+ containerProps: containerProps,
151
+ customHandlers: customHandlers,
152
+ detailColumns: detailColumns,
153
+ dragAndDropColumns: dragAndDropColumns,
154
+ dragAndDropRows: dragAndDropRows,
155
+ editable: editable,
156
+ expandable: expandable,
157
+ expandableSubrowsVisible: expandableSubrowsVisible,
158
+ expandedRows: expandedRows,
159
+ filterBarOptions: filterBarOptions,
160
+ filters: filters,
161
+ fixedHeader: fixedHeader,
162
+ fluidHeight: fluidHeight,
163
+ getChildrenRows: getChildrenRows,
164
+ getData: getData,
165
+ getExpandedRowMinSize: getExpandedRowMinSize,
166
+ getExpandedRowSize: getExpandedRowSize,
167
+ groupedBy: groupedBy,
168
+ groupedRows: groupedRows,
169
+ groupedRowsRenderHeader: groupedRowsRenderHeader,
170
+ groupingColumn: groupingColumn,
171
+ height: height,
172
+ infiniteScrolling: infiniteScrolling,
173
+ instanceRef: instanceRef,
174
+ isColumnEditable: isColumnEditable,
175
+ isDataFiltered: isDataFiltered,
176
+ isDataSorted: isDataSorted,
177
+ maxPerPage: maxPerPage,
178
+ minColumnWidth: minColumnWidth,
179
+ minPerPage: minPerPage,
180
+ multiSelectComponent: multiSelectComponent,
181
+ multiSelectFilterLabel: multiSelectFilterLabel,
182
+ multiSelectFilterLabels: multiSelectFilterLabels,
183
+ multiSelectFilterOptions: multiSelectFilterOptions,
184
+ noColumnsPlaceholder: noColumnsPlaceholder,
185
+ noResultsPlaceholder: noResultsPlaceholder,
186
+ noResultsRender: noResultsRender,
187
+ normalizeDataKeys: normalizeDataKeys,
188
+ numRowsVisible: numRowsVisible // if defined, fluidHeight is disabled
189
+ ,
190
+ onAddFilter: onAddFilter,
191
+ onColumnResize: onColumnResize,
192
+ onColumnRowEdit: onColumnRowEdit,
193
+ onColumnRowEdited: onColumnRowEdited,
194
+ onExpandRow: onExpandRow,
195
+ onExpandChange: onExpandChange,
196
+ onFilter: onFilter,
197
+ onFiltersChange: onFiltersChange,
198
+ onFilterMenuClose: onFilterMenuClose,
199
+ onFilterMenuOpen: onFilterMenuOpen,
200
+ onDefaultFiltersLoad: onDefaultFiltersLoad,
201
+ onInfiniteScrolling: onInfiniteScrolling,
202
+ onMoveColumnEnd: onMoveColumnEnd,
203
+ onMoveColumnOver: onMoveColumnOver,
204
+ onMoveColumnStart: onMoveColumnStart,
205
+ onMoveRowEnd: onMoveRowEnd,
206
+ onMoveRowStart: onMoveRowStart,
207
+ onPageChange: onPageChange,
208
+ onPerPageChange: onPerPageChange,
209
+ onRemoveFilter: onRemoveFilter,
210
+ onReorder: onReorder,
211
+ onSelectAll: onSelectAll,
212
+ onSelectRow: onSelectRow,
213
+ onSort: onSort,
214
+ onToggleExpand: onToggleExpand,
215
+ onToggleShowAllRows: onToggleShowAllRows,
216
+ overscanCount: overscanCount,
217
+ paginated: paginated,
218
+ pagination: pagination,
219
+ paginationStep: paginationStep,
220
+ plugins: plugins,
221
+ renderExpandedDetails: renderExpandedDetails,
222
+ renderFilterToolbar: renderFilterToolbar,
223
+ renderRowDetails: renderRowDetails,
224
+ renderToolbar: renderToolbar,
225
+ resizeableColumns: resizeableColumns,
226
+ rowKey: rowKey,
227
+ rows: rows,
228
+ rowSize: rowSize,
229
+ searchFilters: searchFilters,
230
+ selectable: selectable,
231
+ selectAll: selectAll,
232
+ selectColumnFilterable: selectColumnFilterable,
233
+ selectColumnSortable: selectColumnSortable,
234
+ selectedRows: selectedRows,
235
+ selectionColumnDefinition: selectionColumnDefinition,
236
+ serverSideData: serverSideData,
237
+ showFilterBar: showFilterBar,
238
+ showHeader: showHeader,
239
+ showRowsLoader: showRowsLoader,
240
+ showSelectColumn: showSelectColumn,
241
+ showSelectHighlight: showSelectHighlight,
242
+ sortable: sortable,
243
+ sortEmptyLast: sortEmptyLast,
244
+ sortingColumns: sortingColumns,
245
+ subrowSize: subRowSize,
246
+ toolbarDelayClose: toolbarDelayClose,
247
+ useTreeData: useTreeData,
248
+ virtualized: virtualized,
249
+ visibleColumns: visibleColumns,
250
+ wrapText: wrapText
251
+ }));
252
+ };
250
253
 
251
254
  const props = {
252
255
  /** ref to the instance of the datagrid, handle it imperatively */
@@ -1,3 +1,5 @@
1
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
2
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
3
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
4
  import _jsx from '@babel/runtime/helpers/esm/jsx';
3
5
  import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
@@ -17,6 +19,12 @@ import 'core-js/modules/esnext.set.reduce.js';
17
19
  import 'core-js/modules/esnext.set.some.js';
18
20
  import 'core-js/modules/esnext.set.symmetric-difference.js';
19
21
  import 'core-js/modules/esnext.set.union.js';
22
+ import 'core-js/modules/web.dom-collections.iterator.js';
23
+ import 'core-js/modules/esnext.async-iterator.map.js';
24
+ import 'core-js/modules/esnext.iterator.map.js';
25
+ import 'core-js/modules/esnext.async-iterator.filter.js';
26
+ import 'core-js/modules/esnext.iterator.constructor.js';
27
+ import 'core-js/modules/esnext.iterator.filter.js';
20
28
  import { useMemo } from 'react';
21
29
  import { isFunction } from '@elliemae/ds-shared/utils';
22
30
  import useDataGrid from '@elliemae/ds-shared/useDataGrid';
@@ -42,17 +50,18 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
42
50
 
43
51
  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(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; }
44
52
 
45
- const isFluid = ({
46
- autoHeight,
47
- paginated,
48
- numRowsVisible
49
- }) => {
53
+ const isFluid = _ref => {
54
+ let {
55
+ autoHeight,
56
+ paginated,
57
+ numRowsVisible
58
+ } = _ref;
50
59
  if (autoHeight) return false;
51
60
  if (paginated) return false;
52
61
  return !numRowsVisible;
53
62
  };
54
63
 
55
- function DataGridImpl(_ref) {
64
+ function DataGridImpl(_ref2) {
56
65
  let {
57
66
  className,
58
67
  renderers,
@@ -61,8 +70,8 @@ function DataGridImpl(_ref) {
61
70
  containerProps,
62
71
  plugins: pluginsProp,
63
72
  normalizeDataKeys
64
- } = _ref,
65
- otherProps = _objectWithoutProperties(_ref, _excluded);
73
+ } = _ref2,
74
+ otherProps = _objectWithoutProperties(_ref2, _excluded);
66
75
 
67
76
  const {
68
77
  noResultsPlaceholder = _EmptyState || (_EmptyState = /*#__PURE__*/_jsx(EmptyState, {})),
@@ -121,7 +130,7 @@ function DataGridImpl(_ref) {
121
130
  const conditionalPagination = pagination && pagination.conditionalPagination === true && rows.length <= otherProps.pagination.perPage;
122
131
  const usePagination = paginated && !conditionalPagination;
123
132
  return /*#__PURE__*/jsxs(DatagridWrapper, _objectSpread(_objectSpread({
124
- className: `${className} ds-row-size-${rowSize}`,
133
+ className: "".concat(className, " ds-row-size-").concat(rowSize),
125
134
  classProps: {
126
135
  fluidHeight: isFluid({
127
136
  autoHeight: otherProps.autoHeight,
@@ -1,3 +1,8 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
6
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
7
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
3
8
  import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
package/esm/blockNames.js CHANGED
@@ -1,5 +1,5 @@
1
1
  const dataGridBlockName = 'data-grid';
2
- const headerBlockName = `${dataGridBlockName}-header`;
3
- const bodyBlockName = `${dataGridBlockName}-body`;
2
+ const headerBlockName = "".concat(dataGridBlockName, "-header");
3
+ const bodyBlockName = "".concat(dataGridBlockName, "-body");
4
4
 
5
5
  export { bodyBlockName, dataGridBlockName, headerBlockName };
@@ -1,7 +1,7 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
2
  import React from 'react';
3
- import { cx } from '@elliemae/ds-utilities/utils';
4
- import DSButton from '@elliemae/ds-basic/Button';
3
+ import { cx } from '@elliemae/ds-utilities';
4
+ import DSButton from '@elliemae/ds-button';
5
5
  import { aggregatedClasses } from '@elliemae/ds-classnames';
6
6
 
7
7
  const Intents = {
@@ -28,27 +28,29 @@ const addColorToIcon = (icon, intentColor) => {
28
28
  });
29
29
  };
30
30
 
31
- function createColumn({
32
- property,
33
- label,
34
- headerIcon,
35
- getRowIcon = () => null,
36
- isVisited = () => null,
37
- intent = Intents.SUCCESS,
38
- width = 60,
39
- onClick,
40
- visible,
41
- resizable,
42
- sortable,
43
- searchable
44
- }) {
31
+ function createColumn(_ref) {
32
+ let {
33
+ property,
34
+ label,
35
+ headerIcon,
36
+ getRowIcon = () => null,
37
+ isVisited = () => null,
38
+ intent = Intents.SUCCESS,
39
+ width = 60,
40
+ onClick,
41
+ visible,
42
+ resizable,
43
+ sortable,
44
+ searchable
45
+ } = _ref;
46
+
45
47
  const formatter = (value, extraParams) => {
46
48
  const icon = getRowIcon(value, extraParams);
47
49
 
48
50
  const onClickHandler = e => onClick(e, extraParams);
49
51
 
50
52
  return /*#__PURE__*/_jsx(ValueWrapper, {
51
- className: cx(`icc-${intent}`, isVisited(value, extraParams))
53
+ className: cx("icc-".concat(intent), isVisited(value, extraParams))
52
54
  }, void 0, icon && addColorToIcon(icon, IntentIconColors[intent]), onClick && typeof value !== 'undefined' ? /*#__PURE__*/_jsx(DSButton, {
53
55
  buttonType: "text",
54
56
  intent: intent,
@@ -1,6 +1,4 @@
1
- function createNumberColumn({
2
- label,
3
- property
4
- }) {}
1
+ function createNumberColumn(_ref) {
2
+ }
5
3
 
6
4
  export { createNumberColumn as default };