@teselagen/ui 0.7.36 → 0.8.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 (167) hide show
  1. package/DataTable/EditabelCell.d.ts +7 -0
  2. package/DataTable/defaultProps.d.ts +43 -0
  3. package/DataTable/utils/computePresets.d.ts +1 -0
  4. package/DataTable/utils/useDeepEqualMemo.d.ts +1 -0
  5. package/DataTable/utils/useTableParams.d.ts +49 -0
  6. package/index.cjs.js +30 -9
  7. package/index.es.js +30 -9
  8. package/package.json +1 -1
  9. package/src/AdvancedOptions.spec.js +26 -0
  10. package/src/AsyncValidateFieldSpinner/index.js +12 -0
  11. package/src/BlueprintError/index.js +14 -0
  12. package/src/BounceLoader/index.js +16 -0
  13. package/src/BounceLoader/style.css +45 -0
  14. package/src/CollapsibleCard/index.js +68 -0
  15. package/src/CollapsibleCard/style.css +23 -0
  16. package/src/DNALoader/index.js +20 -0
  17. package/src/DNALoader/style.css +251 -0
  18. package/src/DataTable/Columns.jsx +945 -0
  19. package/src/DataTable/EditabelCell.jsx +44 -0
  20. package/src/DataTable/EditableCell.js +44 -0
  21. package/src/DataTable/RenderCell.js +191 -0
  22. package/{RenderCell.js → src/DataTable/RenderCell.jsx} +1 -1
  23. package/src/DataTable/defaultProps.js +45 -0
  24. package/src/DataTable/index.js +3244 -0
  25. package/src/DataTable/style.css +608 -0
  26. package/src/DataTable/utils/computePresets.js +42 -0
  27. package/src/DataTable/utils/index.js +55 -0
  28. package/src/DataTable/utils/useDeepEqualMemo.js +10 -0
  29. package/src/DataTable/utils/useTableParams.js +361 -0
  30. package/src/DialogFooter/index.js +86 -0
  31. package/src/DialogFooter/style.css +9 -0
  32. package/src/FormComponents/index.js +1266 -0
  33. package/src/FormComponents/style.css +275 -0
  34. package/src/FormComponents/utils.js +6 -0
  35. package/src/HotkeysDialog/index.js +79 -0
  36. package/src/HotkeysDialog/style.css +54 -0
  37. package/src/InfoHelper/index.js +78 -0
  38. package/src/InfoHelper/style.css +7 -0
  39. package/src/IntentText/index.js +18 -0
  40. package/src/Loading/index.js +70 -0
  41. package/src/Loading/style.css +4 -0
  42. package/src/MenuBar/index.js +423 -0
  43. package/src/MenuBar/style.css +45 -0
  44. package/src/PromptUnsavedChanges/index.js +38 -0
  45. package/src/ResizableDraggableDialog/index.js +141 -0
  46. package/src/ResizableDraggableDialog/style.css +42 -0
  47. package/src/ScrollToTop/index.js +72 -0
  48. package/src/TagSelect/index.js +69 -0
  49. package/src/TagSelect/style.css +13 -0
  50. package/src/TgHtmlSelect/index.js +20 -0
  51. package/src/TgSelect/index.js +537 -0
  52. package/src/TgSelect/style.css +61 -0
  53. package/src/TgSuggest/index.js +124 -0
  54. package/src/Timeline/index.js +15 -0
  55. package/src/Timeline/style.css +29 -0
  56. package/src/enhancers/withDialog/index.js +196 -0
  57. package/src/index.js +87 -0
  58. package/src/showConfirmationDialog/index.js +148 -0
  59. package/src/style.css +265 -0
  60. package/{isBeingCalledExcessively.js → src/utils/isBeingCalledExcessively.js} +0 -2
  61. package/style.css +10508 -0
  62. /package/{AdvancedOptions.js → src/AdvancedOptions.js} +0 -0
  63. /package/{AssignDefaultsModeContext.js → src/AssignDefaultsModeContext.js} +0 -0
  64. /package/{CellDragHandle.js → src/DataTable/CellDragHandle.js} +0 -0
  65. /package/{ColumnFilterMenu.js → src/DataTable/ColumnFilterMenu.js} +0 -0
  66. /package/{Columns.js → src/DataTable/Columns.js} +0 -0
  67. /package/{DisabledLoadingComponent.js → src/DataTable/DisabledLoadingComponent.js} +0 -0
  68. /package/{DisplayOptions.js → src/DataTable/DisplayOptions.js} +0 -0
  69. /package/{DropdownCell.js → src/DataTable/DropdownCell.js} +0 -0
  70. /package/{EditableCell.js → src/DataTable/EditabelCell.js} +0 -0
  71. /package/{FilterAndSortMenu.js → src/DataTable/FilterAndSortMenu.js} +0 -0
  72. /package/{PagingTool.js → src/DataTable/PagingTool.js} +0 -0
  73. /package/{SearchBar.js → src/DataTable/SearchBar.js} +0 -0
  74. /package/{SortableColumns.js → src/DataTable/SortableColumns.js} +0 -0
  75. /package/{TableFormTrackerContext.js → src/DataTable/TableFormTrackerContext.js} +0 -0
  76. /package/{ThComponent.js → src/DataTable/ThComponent.js} +0 -0
  77. /package/{dataTableEnhancer.js → src/DataTable/dataTableEnhancer.js} +0 -0
  78. /package/{defaultFormatters.js → src/DataTable/defaultFormatters.js} +0 -0
  79. /package/{defaultValidators.js → src/DataTable/defaultValidators.js} +0 -0
  80. /package/{editCellHelper.js → src/DataTable/editCellHelper.js} +0 -0
  81. /package/{getCellVal.js → src/DataTable/getCellVal.js} +0 -0
  82. /package/{getVals.js → src/DataTable/getVals.js} +0 -0
  83. /package/{isTruthy.js → src/DataTable/isTruthy.js} +0 -0
  84. /package/{isValueEmpty.js → src/DataTable/isValueEmpty.js} +0 -0
  85. /package/{convertSchema.js → src/DataTable/utils/convertSchema.js} +0 -0
  86. /package/{formatPasteData.js → src/DataTable/utils/formatPasteData.js} +0 -0
  87. /package/{getAllRows.js → src/DataTable/utils/getAllRows.js} +0 -0
  88. /package/{getCellCopyText.js → src/DataTable/utils/getCellCopyText.js} +0 -0
  89. /package/{getCellInfo.js → src/DataTable/utils/getCellInfo.js} +0 -0
  90. /package/{getFieldPathToField.js → src/DataTable/utils/getFieldPathToField.js} +0 -0
  91. /package/{getIdOrCodeOrIndex.js → src/DataTable/utils/getIdOrCodeOrIndex.js} +0 -0
  92. /package/{getLastSelectedEntity.js → src/DataTable/utils/getLastSelectedEntity.js} +0 -0
  93. /package/{getNewEntToSelect.js → src/DataTable/utils/getNewEntToSelect.js} +0 -0
  94. /package/{getRowCopyText.js → src/DataTable/utils/getRowCopyText.js} +0 -0
  95. /package/{getTableConfigFromStorage.js → src/DataTable/utils/getTableConfigFromStorage.js} +0 -0
  96. /package/{handleCopyColumn.js → src/DataTable/utils/handleCopyColumn.js} +0 -0
  97. /package/{handleCopyHelper.js → src/DataTable/utils/handleCopyHelper.js} +0 -0
  98. /package/{handleCopyRows.js → src/DataTable/utils/handleCopyRows.js} +0 -0
  99. /package/{handleCopyTable.js → src/DataTable/utils/handleCopyTable.js} +0 -0
  100. /package/{isBottomRightCornerOfRectangle.js → src/DataTable/utils/isBottomRightCornerOfRectangle.js} +0 -0
  101. /package/{isEntityClean.js → src/DataTable/utils/isEntityClean.js} +0 -0
  102. /package/{primarySelectedValue.js → src/DataTable/utils/primarySelectedValue.js} +0 -0
  103. /package/{queryParams.js → src/DataTable/utils/queryParams.js} +0 -0
  104. /package/{removeCleanRows.js → src/DataTable/utils/removeCleanRows.js} +0 -0
  105. /package/{rowClick.js → src/DataTable/utils/rowClick.js} +0 -0
  106. /package/{selection.js → src/DataTable/utils/selection.js} +0 -0
  107. /package/{useTableEntities.js → src/DataTable/utils/useTableEntities.js} +0 -0
  108. /package/{utils.js → src/DataTable/utils/utils.js} +0 -0
  109. /package/{withSelectedEntities.js → src/DataTable/utils/withSelectedEntities.js} +0 -0
  110. /package/{withTableParams.js → src/DataTable/utils/withTableParams.js} +0 -0
  111. /package/{validateTableWideErrors.js → src/DataTable/validateTableWideErrors.js} +0 -0
  112. /package/{viewColumn.js → src/DataTable/viewColumn.js} +0 -0
  113. /package/{DropdownButton.js → src/DropdownButton.js} +0 -0
  114. /package/{FillWindow.css → src/FillWindow.css} +0 -0
  115. /package/{FillWindow.js → src/FillWindow.js} +0 -0
  116. /package/{FormSeparator.js → src/FormComponents/FormSeparator.js} +0 -0
  117. /package/{LoadingDots.js → src/FormComponents/LoadingDots.js} +0 -0
  118. /package/{Uploader.js → src/FormComponents/Uploader.js} +0 -0
  119. /package/{getNewName.js → src/FormComponents/getNewName.js} +0 -0
  120. /package/{itemUpload.js → src/FormComponents/itemUpload.js} +0 -0
  121. /package/{sortify.js → src/FormComponents/sortify.js} +0 -0
  122. /package/{tryToMatchSchemas.js → src/FormComponents/tryToMatchSchemas.js} +0 -0
  123. /package/{MatchHeaders.js → src/MatchHeaders.js} +0 -0
  124. /package/{SimpleStepViz.js → src/SimpleStepViz.js} +0 -0
  125. /package/{Tag.js → src/Tag.js} +0 -0
  126. /package/{TimelineEvent.js → src/Timeline/TimelineEvent.js} +0 -0
  127. /package/{UploadCsvWizard.css → src/UploadCsvWizard.css} +0 -0
  128. /package/{UploadCsvWizard.js → src/UploadCsvWizard.js} +0 -0
  129. /package/{autoTooltip.js → src/autoTooltip.js} +0 -0
  130. /package/{constants.js → src/constants.js} +0 -0
  131. /package/{customIcons.js → src/customIcons.js} +0 -0
  132. /package/{tg_modalState.js → src/enhancers/withDialog/tg_modalState.js} +0 -0
  133. /package/{withField.js → src/enhancers/withField.js} +0 -0
  134. /package/{withFields.js → src/enhancers/withFields.js} +0 -0
  135. /package/{withLocalStorage.js → src/enhancers/withLocalStorage.js} +0 -0
  136. /package/{rerenderOnWindowResize.js → src/rerenderOnWindowResize.js} +0 -0
  137. /package/{showAppSpinner.js → src/showAppSpinner.js} +0 -0
  138. /package/{showDialogOnDocBody.js → src/showDialogOnDocBody.js} +0 -0
  139. /package/{throwFormError.js → src/throwFormError.js} +0 -0
  140. /package/{toastr.js → src/toastr.js} +0 -0
  141. /package/{typeToCommonType.js → src/typeToCommonType.js} +0 -0
  142. /package/{useDialog.js → src/useDialog.js} +0 -0
  143. /package/{adHoc.js → src/utils/adHoc.js} +0 -0
  144. /package/{basicHandleActionsWithFullState.js → src/utils/basicHandleActionsWithFullState.js} +0 -0
  145. /package/{browserUtils.js → src/utils/browserUtils.js} +0 -0
  146. /package/{combineReducersWithFullState.js → src/utils/combineReducersWithFullState.js} +0 -0
  147. /package/{commandControls.js → src/utils/commandControls.js} +0 -0
  148. /package/{commandUtils.js → src/utils/commandUtils.js} +0 -0
  149. /package/{determineBlackOrWhiteTextColor.js → src/utils/determineBlackOrWhiteTextColor.js} +0 -0
  150. /package/{getDayjsFormatter.js → src/utils/getDayjsFormatter.js} +0 -0
  151. /package/{getTextFromEl.js → src/utils/getTextFromEl.js} +0 -0
  152. /package/{handlerHelpers.js → src/utils/handlerHelpers.js} +0 -0
  153. /package/{index.js → src/utils/hooks/index.js} +0 -0
  154. /package/{useDeepEqualMemo.js → src/utils/hooks/useDeepEqualMemo.js} +0 -0
  155. /package/{useStableReference.js → src/utils/hooks/useStableReference.js} +0 -0
  156. /package/{hotkeyUtils.js → src/utils/hotkeyUtils.js} +0 -0
  157. /package/{menuUtils.js → src/utils/menuUtils.js} +0 -0
  158. /package/{popoverOverflowModifiers.js → src/utils/popoverOverflowModifiers.js} +0 -0
  159. /package/{pureNoFunc.js → src/utils/pureNoFunc.js} +0 -0
  160. /package/{renderOnDoc.js → src/utils/renderOnDoc.js} +0 -0
  161. /package/{showProgressToast.js → src/utils/showProgressToast.js} +0 -0
  162. /package/{tagUtils.js → src/utils/tagUtils.js} +0 -0
  163. /package/{tgFormValues.js → src/utils/tgFormValues.js} +0 -0
  164. /package/{useTraceUpdate.js → src/utils/useTraceUpdate.js} +0 -0
  165. /package/{withSelectTableRecords.js → src/utils/withSelectTableRecords.js} +0 -0
  166. /package/{withStore.js → src/utils/withStore.js} +0 -0
  167. /package/{wrapDialog.js → src/wrapDialog.js} +0 -0
@@ -0,0 +1,44 @@
1
+ import React, { useEffect, useRef, useState } from "react";
2
+
3
+ export const EditableCell = ({
4
+ cancelEdit,
5
+ dataTest,
6
+ finishEdit,
7
+ isNumeric,
8
+ initialValue
9
+ }) => {
10
+ const [value, setValue] = useState(initialValue);
11
+ const inputRef = useRef(null);
12
+
13
+ useEffect(() => {
14
+ if (inputRef.current) {
15
+ inputRef.current.focus();
16
+ }
17
+ }, [isNumeric]);
18
+
19
+ return (
20
+ <input
21
+ style={{
22
+ border: 0,
23
+ width: "95%",
24
+ fontSize: 12,
25
+ background: "none"
26
+ }}
27
+ ref={inputRef}
28
+ {...dataTest}
29
+ autoFocus
30
+ onKeyDown={e => {
31
+ e.stopPropagation();
32
+ if (e.key === "Enter") {
33
+ e.target.blur();
34
+ } else if (e.key === "Escape") {
35
+ cancelEdit();
36
+ }
37
+ }}
38
+ onBlur={() => finishEdit(value)}
39
+ onChange={e => setValue(e.target.value)}
40
+ type={isNumeric ? "number" : undefined}
41
+ value={value}
42
+ />
43
+ );
44
+ };
@@ -0,0 +1,44 @@
1
+ import React, { useEffect, useRef, useState } from "react";
2
+
3
+ export const EditableCell = ({
4
+ cancelEdit,
5
+ dataTest,
6
+ finishEdit,
7
+ isNumeric,
8
+ initialValue
9
+ }) => {
10
+ const [value, setValue] = useState(initialValue);
11
+ const inputRef = useRef(null);
12
+
13
+ useEffect(() => {
14
+ if (inputRef.current) {
15
+ inputRef.current.focus();
16
+ }
17
+ }, [isNumeric]);
18
+
19
+ return (
20
+ <input
21
+ style={{
22
+ border: 0,
23
+ width: "95%",
24
+ fontSize: 12,
25
+ background: "none"
26
+ }}
27
+ ref={inputRef}
28
+ {...dataTest}
29
+ autoFocus
30
+ onKeyDown={e => {
31
+ e.stopPropagation();
32
+ if (e.key === "Enter") {
33
+ e.target.blur();
34
+ } else if (e.key === "Escape") {
35
+ cancelEdit();
36
+ }
37
+ }}
38
+ onBlur={() => finishEdit(value)}
39
+ onChange={e => setValue(e.target.value)}
40
+ type={isNumeric ? "number" : undefined}
41
+ value={value}
42
+ />
43
+ );
44
+ };
@@ -0,0 +1,191 @@
1
+ import React from "react";
2
+ import { useSelector } from "react-redux";
3
+ import { Checkbox, Icon } from "@blueprintjs/core";
4
+ import {
5
+ getIdOrCodeOrIndex,
6
+ isBottomRightCornerOfRectangle,
7
+ PRIMARY_SELECTED_VAL
8
+ } from "./utils";
9
+ import { DropdownCell } from "./DropdownCell";
10
+ import { EditableCell } from "./EditableCell";
11
+ import { getVals } from "./getVals";
12
+ import { CellDragHandle } from "./CellDragHandle";
13
+
14
+ export const RenderCell = ({
15
+ oldFunc,
16
+ getCopyTextForCell,
17
+ column,
18
+ isCellEditable,
19
+ isEntityDisabled,
20
+ finishCellEdit,
21
+ formName,
22
+ noEllipsis,
23
+ cancelCellEdit,
24
+ getCellHoverText,
25
+ selectedCells,
26
+ isSelectionARectangle,
27
+ startCellEdit,
28
+ tableRef,
29
+ onDragEnd,
30
+ args
31
+ }) => {
32
+ const editingCell = useSelector(
33
+ state => state.form?.[formName]?.values?.reduxFormEditingCell
34
+ );
35
+ const shouldEditableCellInputBeCleared = useSelector(
36
+ state => state.form?.[formName]?.values?.shouldEditableCellInputBeCleared
37
+ );
38
+
39
+ const [row] = args;
40
+ const rowId = getIdOrCodeOrIndex(row.original, row.index);
41
+ const cellId = `${rowId}:${row.column.path}`;
42
+ const isEditingCell = editingCell === cellId;
43
+ let val = oldFunc(...args);
44
+ const oldVal = val;
45
+ const text = getCopyTextForCell(val, row, column);
46
+ const dataTest = {
47
+ "data-test": "tgCell_" + column.path
48
+ };
49
+ const fullValue = row.original?.[row.column.path];
50
+
51
+ if (isEditingCell) {
52
+ if (column.type === "genericSelect") {
53
+ const GenericSelectComp = column.GenericSelectComp;
54
+
55
+ return (
56
+ <GenericSelectComp
57
+ rowId={rowId}
58
+ fullValue={fullValue}
59
+ initialValue={text}
60
+ {...dataTest}
61
+ finishEdit={(newVal, doNotStopEditing) => {
62
+ finishCellEdit(cellId, newVal, doNotStopEditing);
63
+ }}
64
+ dataTest={dataTest}
65
+ cancelEdit={cancelCellEdit}
66
+ />
67
+ );
68
+ }
69
+ if (column.type === "dropdown" || column.type === "dropdownMulti") {
70
+ return (
71
+ <DropdownCell
72
+ isMulti={dataTest.isMulti || column.type === "dropdownMulti"}
73
+ initialValue={dataTest.initialValue || text}
74
+ options={getVals(column.values)}
75
+ finishEdit={(newVal, doNotStopEditing) => {
76
+ finishCellEdit(cellId, newVal, doNotStopEditing);
77
+ }}
78
+ dataTest={dataTest}
79
+ cancelEdit={cancelCellEdit}
80
+ />
81
+ );
82
+ } else {
83
+ return (
84
+ <EditableCell
85
+ dataTest={dataTest}
86
+ cancelEdit={cancelCellEdit}
87
+ isNumeric={column.type === "number"}
88
+ initialValue={shouldEditableCellInputBeCleared ? undefined : text}
89
+ finishEdit={newVal => {
90
+ finishCellEdit(cellId, newVal);
91
+ }}
92
+ />
93
+ );
94
+ }
95
+ }
96
+
97
+ const isBool = column.type === "boolean";
98
+ if (isCellEditable && isBool) {
99
+ val = (
100
+ <Checkbox
101
+ disabled={isEntityDisabled(row.original)}
102
+ className="tg-cell-edit-boolean-checkbox"
103
+ checked={oldVal === "True"}
104
+ onChange={e => {
105
+ const checked = e.target.checked;
106
+ finishCellEdit(cellId, checked);
107
+ }}
108
+ />
109
+ );
110
+ noEllipsis = true;
111
+ }
112
+
113
+ //wrap the original tableColumn.Cell function in another div in order to add a title attribute
114
+ let title = text;
115
+ if (getCellHoverText) title = getCellHoverText(...args);
116
+ else if (column.getTitleAttr) title = column.getTitleAttr(...args);
117
+ const isSelectedCell = selectedCells?.[cellId];
118
+ const {
119
+ isRect,
120
+ selectionGrid,
121
+ lastRowIndex,
122
+ lastCellIndex,
123
+ entityMap,
124
+ pathToIndex
125
+ } = isSelectionARectangle();
126
+
127
+ return (
128
+ <>
129
+ <div
130
+ style={{
131
+ ...(!noEllipsis && {
132
+ textOverflow: "ellipsis",
133
+ overflow: "hidden"
134
+ })
135
+ }}
136
+ {...dataTest}
137
+ className="tg-cell-wrapper"
138
+ data-copy-text={text}
139
+ data-copy-json={JSON.stringify(
140
+ //tnw: eventually we'll parse these back out and use either the fullValue (for the generic selects) or the regular text vals for everything else
141
+ column.type === "genericSelect"
142
+ ? {
143
+ __strVal: fullValue,
144
+ __genSelCol: column.path
145
+ }
146
+ : { __strVal: text }
147
+ )}
148
+ title={title || undefined}
149
+ >
150
+ {val}
151
+ </div>
152
+ {isCellEditable &&
153
+ (column.type === "dropdown" ||
154
+ column.type === "dropdownMulti" ||
155
+ column.type === "genericSelect") && (
156
+ <Icon
157
+ icon="caret-down"
158
+ style={{
159
+ position: "absolute",
160
+ right: 5,
161
+ opacity: 0.3
162
+ }}
163
+ className="cell-edit-dropdown"
164
+ onClick={() => {
165
+ startCellEdit(cellId);
166
+ }}
167
+ />
168
+ )}
169
+
170
+ {isSelectedCell &&
171
+ (isRect
172
+ ? isBottomRightCornerOfRectangle({
173
+ cellId,
174
+ selectionGrid,
175
+ lastRowIndex,
176
+ lastCellIndex,
177
+ entityMap,
178
+ pathToIndex
179
+ })
180
+ : isSelectedCell === PRIMARY_SELECTED_VAL) && (
181
+ <CellDragHandle
182
+ key={cellId}
183
+ thisTable={tableRef.current.tableRef}
184
+ cellId={cellId}
185
+ isSelectionARectangle={isSelectionARectangle}
186
+ onDragEnd={onDragEnd}
187
+ />
188
+ )}
189
+ </>
190
+ );
191
+ };
@@ -7,7 +7,7 @@ import {
7
7
  PRIMARY_SELECTED_VAL
8
8
  } from "./utils";
9
9
  import { DropdownCell } from "./DropdownCell";
10
- import { EditableCell } from "./EditableCell";
10
+ import { EditableCell } from "./EditabelCell";
11
11
  import { getVals } from "./getVals";
12
12
  import { CellDragHandle } from "./CellDragHandle";
13
13
 
@@ -0,0 +1,45 @@
1
+ import { noop } from "lodash-es";
2
+
3
+ // eslint-disable-next-line import/no-anonymous-default-export
4
+ export default {
5
+ //NOTE: DO NOT SET DEFAULTS HERE FOR PROPS THAT GET COMPUTED AS PART OF PRESET GROUPS IN computePresets
6
+ addFilters: noop,
7
+ className: "",
8
+ clearFilters: noop,
9
+ contextMenu: noop,
10
+ disabled: false,
11
+ entities: [],
12
+ extraClasses: "",
13
+ filters: [],
14
+ isCopyable: true,
15
+ isEntityDisabled: noop,
16
+ isLoading: false,
17
+ isSimple: false,
18
+ isSingleSelect: false,
19
+ maxHeight: 600,
20
+ noHeader: false,
21
+ noSelect: false,
22
+ noUserSelect: false,
23
+ onDeselect: noop,
24
+ onMultiRowSelect: noop,
25
+ onRowClick: noop,
26
+ onRowSelect: noop,
27
+ onSingleRowSelect: noop,
28
+ page: 1,
29
+ pageSize: 10,
30
+ reduxFormExpandedEntityIdMap: {},
31
+ reduxFormSearchInput: "",
32
+ reduxFormSelectedEntityIdMap: {},
33
+ removeSingleFilter: noop,
34
+ resized: [],
35
+ resizePersist: noop,
36
+ setFilter: noop,
37
+ setOrder: noop,
38
+ setPage: noop,
39
+ setPageSize: noop,
40
+ setSearchTerm: noop,
41
+ showCount: false,
42
+ style: {},
43
+ withCheckboxes: false,
44
+ withSort: true
45
+ };