@monolith-forensics/monolith-ui 1.2.59 → 1.2.61

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.
@@ -74,4 +74,3 @@ export declare const Operators: {
74
74
  };
75
75
  };
76
76
  export declare const DefaultOperators: Operator[];
77
- export default DefaultOperators;
@@ -19,4 +19,3 @@ export const Operators = {
19
19
  NotBetween: { value: "notBetween", label: "not between" },
20
20
  };
21
21
  export const DefaultOperators = Object.values(Operators);
22
- export default DefaultOperators;
@@ -1,5 +1,4 @@
1
- import { QueryFilter as QueryFilterType } from "./types";
2
- declare const QueryFilter: React.FC<{
1
+ import { QueryFilterType as QueryFilterType } from "./types";
2
+ export declare const QueryFilter: React.FC<{
3
3
  queryFilter: QueryFilterType;
4
4
  }>;
5
- export default QueryFilter;
@@ -3,14 +3,14 @@ import styled, { useTheme } from "styled-components";
3
3
  import { XIcon } from "lucide-react";
4
4
  import DropDownMenu from "../DropDownMenu";
5
5
  import Button from "../Button";
6
- import DefaultOperators from "./DefaultOperators";
6
+ import { DefaultOperators } from "./DefaultOperators";
7
7
  import Input from "../Input";
8
8
  import DateInput from "../DateInput";
9
9
  import { useDebouncedCallback } from "use-debounce";
10
10
  const StyledContainer = styled.div `
11
11
  display: flex;
12
12
  flex-direction: row;
13
- gap: 1.5px;
13
+ gap: 2px;
14
14
  `;
15
15
  const RuleContainer = styled(StyledContainer) `
16
16
  // first child
@@ -37,7 +37,7 @@ const FilterContainer = styled(StyledContainer) `
37
37
  `;
38
38
  const StyledButton = styled(Button) `
39
39
  border-radius: 0;
40
- font-size: 11px;
40
+ font-size: 12px;
41
41
  height: 20px;
42
42
 
43
43
  padding: 3px 5px;
@@ -58,11 +58,11 @@ const BaseLabel = styled.div `
58
58
 
59
59
  background-color: ${({ theme }) => theme.palette.background.secondary};
60
60
 
61
- font-size: 11px;
61
+ font-size: 12px;
62
62
 
63
63
  height: 20px;
64
64
 
65
- padding: 2px 4px;
65
+ padding: 3px 5px;
66
66
 
67
67
  overflow: hidden;
68
68
  white-space: nowrap;
@@ -81,8 +81,8 @@ const StyledInput = styled(Input) `
81
81
  min-height: 20px;
82
82
  width: 100px;
83
83
  border-radius: 0;
84
- font-size: 11px;
85
- padding: 2px 4px;
84
+ font-size: 12px;
85
+ padding: 3px 5px;
86
86
 
87
87
  border-color: transparent;
88
88
  background-color: ${({ theme }) => theme.palette.background.secondary};
@@ -93,37 +93,42 @@ const StyledInput = styled(Input) `
93
93
  `;
94
94
  const StyledDateInput = styled(DateInput) `
95
95
  height: 20px;
96
- // width: 100px;
97
- font-size: 11px;
96
+ font-size: 12px;
98
97
  border-radius: 0;
99
98
  border-color: transparent;
100
99
  background-color: ${({ theme }) => theme.palette.background.secondary};
100
+
101
+ cursor: pointer;
102
+
103
+ &:hover {
104
+ border-color: ${({ theme }) => theme.palette.primary.main};
105
+ }
101
106
  `;
102
107
  const ValueEditor = ({ rule, inputType, filterDef, onChange }) => {
103
- var _a, _b, _c;
108
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
104
109
  const theme = useTheme();
105
110
  const handleInputChange = useDebouncedCallback((e) => {
106
111
  const value = e.target.value;
107
- onChange === null || onChange === void 0 ? void 0 : onChange(Object.assign(Object.assign({}, rule), { value }));
112
+ onChange === null || onChange === void 0 ? void 0 : onChange(Object.assign(Object.assign({}, rule), { value: value ? [value] : undefined }));
108
113
  }, 250);
109
114
  const handleMultiSelectChange = useDebouncedCallback((selected) => {
110
115
  onChange === null || onChange === void 0 ? void 0 : onChange(Object.assign(Object.assign({}, rule), { value: selected.map((s) => s.value) }));
111
116
  }, 100);
112
117
  const handleTimestampChange = useDebouncedCallback((timestamp) => {
113
- onChange === null || onChange === void 0 ? void 0 : onChange(Object.assign(Object.assign({}, rule), { value: timestamp }));
118
+ onChange === null || onChange === void 0 ? void 0 : onChange(Object.assign(Object.assign({}, rule), { value: timestamp ? [timestamp] : undefined }));
114
119
  }, 100);
115
120
  switch (inputType) {
116
121
  case "text":
117
- return (_jsx(StyledInput, { placeholder: "Enter Value...", defaultValue: rule.value, onChange: handleInputChange }));
122
+ return (_jsx(StyledInput, { placeholder: "Enter Value...", defaultValue: (_a = rule === null || rule === void 0 ? void 0 : rule.value) === null || _a === void 0 ? void 0 : _a[0], onChange: handleInputChange }));
118
123
  case "number":
119
- return (_jsx(StyledInput, { type: "number", placeholder: "Enter Value...", defaultValue: rule.value, onChange: handleInputChange }));
124
+ return (_jsx(StyledInput, { type: "number", placeholder: "Enter Value...", defaultValue: (_b = rule === null || rule === void 0 ? void 0 : rule.value) === null || _b === void 0 ? void 0 : _b[0], onChange: handleInputChange }));
120
125
  case "date":
121
- return (_jsx(StyledDateInput, { arrow: true, enableCalendar: true, format: "YYYY-MM-DD", defaultValue: rule.value, onChange: handleTimestampChange }));
126
+ return (_jsx(StyledDateInput, { arrow: false, enableCalendar: true, format: "YYYY-MM-DD", defaultValue: ((_c = rule.value) === null || _c === void 0 ? void 0 : _c[0]) === "" ? undefined : (_d = rule.value) === null || _d === void 0 ? void 0 : _d[0], onChange: handleTimestampChange }));
122
127
  case "datetime":
123
- return (_jsx(StyledDateInput, { arrow: true, enableCalendar: true, format: "YYYY-MM-DD HH:mm:ss", defaultValue: rule.value, onChange: handleTimestampChange }));
128
+ return (_jsx(StyledDateInput, { arrow: false, enableCalendar: true, format: "YYYY-MM-DD HH:mm:ss", defaultValue: ((_e = rule.value) === null || _e === void 0 ? void 0 : _e[0]) === "" ? undefined : (_f = rule.value) === null || _f === void 0 ? void 0 : _f[0], onChange: handleTimestampChange }));
124
129
  case "multiselect":
125
130
  let display = Array.isArray(rule.value) && rule.value.length > 0
126
- ? ((_b = (_a = filterDef === null || filterDef === void 0 ? void 0 : filterDef.selectOptions) === null || _a === void 0 ? void 0 : _a.filter((o) => rule.value.includes(o.value))) === null || _b === void 0 ? void 0 : _b.map((o) => o.label).join(", ")) || "Select Value"
131
+ ? ((_h = (_g = filterDef === null || filterDef === void 0 ? void 0 : filterDef.selectOptions) === null || _g === void 0 ? void 0 : _g.filter((o) => rule.value.includes(o.value))) === null || _h === void 0 ? void 0 : _h.map((o) => o.label).join(", ")) || "Select Value"
127
132
  : "Select Value";
128
133
  if (Array.isArray(rule.value) && rule.value.length > 1) {
129
134
  display = `${rule.value.length} ${(filterDef === null || filterDef === void 0 ? void 0 : filterDef.pluralLabel) || "Values"}`;
@@ -148,19 +153,20 @@ const ValueEditor = ({ rule, inputType, filterDef, onChange }) => {
148
153
  },
149
154
  }, dropDownProps: {
150
155
  style: { width: 175, maxWidth: 400 },
151
- }, defaultValue: (_c = filterDef === null || filterDef === void 0 ? void 0 : filterDef.selectOptions) === null || _c === void 0 ? void 0 : _c.filter((o) => Array.isArray(rule.value) &&
156
+ }, defaultValue: (_j = filterDef === null || filterDef === void 0 ? void 0 : filterDef.selectOptions) === null || _j === void 0 ? void 0 : _j.filter((o) => Array.isArray(rule.value) &&
152
157
  !!rule.value.find((v) => v == o.value)), onChange: handleMultiSelectChange, children: display }));
153
158
  default:
154
159
  return (_jsx(StyledInput, { placeholder: "Enter Value...", onChange: handleInputChange }));
155
160
  }
156
161
  };
157
- const ValueSelector = ({ rule, inputType, filterDef, onChange, }) => {
162
+ const ValueSelector = ({ rule, inputType, filterDef, onChange }) => {
163
+ var _a;
158
164
  const isBetween = rule.operator.value.toLowerCase().includes("between");
159
165
  const handleValueChange = (e) => {
160
166
  const currentValue = rule.value;
161
167
  if (isBetween) {
162
- const newValue = [e.value];
163
- if (Array.isArray(currentValue) && currentValue.length === 2) {
168
+ const newValue = (e === null || e === void 0 ? void 0 : e.value) || [""];
169
+ if (currentValue === null || currentValue === void 0 ? void 0 : currentValue[1]) {
164
170
  newValue.push(currentValue[1]);
165
171
  }
166
172
  onChange === null || onChange === void 0 ? void 0 : onChange(Object.assign(Object.assign({}, rule), { value: newValue }));
@@ -169,19 +175,10 @@ const ValueSelector = ({ rule, inputType, filterDef, onChange, }) => {
169
175
  onChange === null || onChange === void 0 ? void 0 : onChange(Object.assign(Object.assign({}, rule), { value: e.value }));
170
176
  };
171
177
  const handleSecondaryValueChange = (e) => {
172
- const currentValue = rule.value;
173
- if (isBetween) {
174
- // current value already an array?
175
- if (Array.isArray(currentValue)) {
176
- onChange === null || onChange === void 0 ? void 0 : onChange(Object.assign(Object.assign({}, rule), { value: [currentValue[0], e.value] }));
177
- return;
178
- }
179
- const newValue = [currentValue, e.value];
180
- onChange === null || onChange === void 0 ? void 0 : onChange(Object.assign(Object.assign({}, rule), { value: newValue }));
181
- }
182
- return;
178
+ var _a, _b;
179
+ onChange === null || onChange === void 0 ? void 0 : onChange(Object.assign(Object.assign({}, rule), { value: [((_a = rule === null || rule === void 0 ? void 0 : rule.value) === null || _a === void 0 ? void 0 : _a[0]) || "", ((_b = e.value) === null || _b === void 0 ? void 0 : _b[0]) || ""] }));
183
180
  };
184
- return (_jsxs(_Fragment, { children: [_jsx(ValueEditor, { rule: rule, inputType: inputType, filterDef: filterDef, onChange: handleValueChange }), isBetween && (_jsxs(_Fragment, { children: [_jsx(FieldLabel, { children: "and" }), _jsx(ValueEditor, { rule: rule, inputType: inputType, onChange: handleSecondaryValueChange })] }))] }));
181
+ return (_jsxs(_Fragment, { children: [_jsx(ValueEditor, { rule: rule, inputType: inputType, filterDef: filterDef, onChange: handleValueChange }), isBetween && (_jsxs(_Fragment, { children: [_jsx(FieldLabel, { children: "and" }), _jsx(ValueEditor, { rule: Object.assign(Object.assign({}, rule), { value: [((_a = rule === null || rule === void 0 ? void 0 : rule.value) === null || _a === void 0 ? void 0 : _a[1]) || ""] }), inputType: inputType, onChange: handleSecondaryValueChange })] }))] }));
185
182
  };
186
183
  const CloseLabel = styled(StyledButton) `
187
184
  padding: 2px;
@@ -193,32 +190,34 @@ const CloseLabel = styled(StyledButton) `
193
190
  }
194
191
  `;
195
192
  const Rules = ({ rules = [], combinator, showCombinator, filterDefinitions, onDelete, onUpdate, }) => {
193
+ const handleOperatorChange = (rule, operator) => {
194
+ onUpdate(Object.assign(Object.assign({}, rule), { operator }));
195
+ };
196
196
  return (_jsxs(_Fragment, { children: [showCombinator === true && (_jsx(FieldLabel, { children: combinator.toUpperCase() })), rules.map((rule, index) => {
197
197
  const filterDef = filterDefinitions.find((f) => f.dataField === rule.dataField);
198
198
  const operatorOptions = (filterDef === null || filterDef === void 0 ? void 0 : filterDef.operators) || DefaultOperators;
199
199
  const inputType = (filterDef === null || filterDef === void 0 ? void 0 : filterDef.inputType) || "text";
200
200
  return (_jsxs(RuleContainer, { "data-rule-id": rule.id, children: [_jsx(FieldLabel, { children: rule.label }), _jsx(DropDownMenu, { variant: "outlined", data: operatorOptions,
201
201
  // arrow={true}
202
- buttonProps: {
202
+ size: "sm", buttonProps: {
203
203
  title: "Select Operator",
204
204
  variant: "contained",
205
- size: "xxs",
206
205
  style: {
207
206
  fontWeight: "normal",
207
+ fontSize: 12,
208
208
  padding: "3px 5px",
209
209
  height: 20,
210
210
  borderRadius: 0,
211
211
  },
212
- }, onItemSelect: (e) => onUpdate(Object.assign(Object.assign({}, rule), { operator: e })), dropDownProps: {
212
+ }, onItemSelect: (e) => handleOperatorChange(rule, e), dropDownProps: {
213
213
  style: { width: 175, maxWidth: 400 },
214
- }, children: rule.operator.label }), _jsx(ValueSelector, { rule: rule, inputType: inputType, filterDef: filterDef, onChange: onUpdate }), _jsx(CloseLabel, { variant: "contained", size: "xxs", onClick: () => onDelete(rule), children: _jsx(XIcon, { size: 16 }) })] }, rule.id));
214
+ }, children: rule.operator.label }), _jsx(ValueSelector, { rule: rule, inputType: inputType, filterDef: filterDef, onChange: onUpdate }), _jsx(CloseLabel, { variant: "contained", onClick: () => onDelete(rule), children: _jsx(XIcon, { size: 16 }) })] }, rule.id));
215
215
  })] }));
216
216
  };
217
- const QueryFilter = ({ queryFilter, }) => {
217
+ export const QueryFilter = ({ queryFilter, }) => {
218
218
  var _a;
219
219
  const { filter, filterDefinitions, showCombinator } = queryFilter;
220
220
  if (((_a = filter === null || filter === void 0 ? void 0 : filter.rules) === null || _a === void 0 ? void 0 : _a.length) == 0)
221
221
  return null;
222
222
  return (_jsx(FilterContainer, { className: "mfui-QueryFilter", children: _jsx(Rules, { rules: filter.rules, combinator: filter.combinator, showCombinator: showCombinator, filterDefinitions: filterDefinitions, onDelete: (rule) => queryFilter.removeRule(rule.id), onUpdate: (rule) => queryFilter.updateRule(rule) }) }));
223
223
  };
224
- export default QueryFilter;
@@ -1,3 +1,4 @@
1
- export { default as useQueryFilter } from "./useQueryFilter";
2
- export { default as QueryFilter } from "./QueryFilter";
1
+ export * from "./useQueryFilter";
2
+ export * from "./QueryFilter";
3
3
  export * from "./types";
4
+ export * from "./DefaultOperators";
@@ -1,3 +1,4 @@
1
- export { default as useQueryFilter } from "./useQueryFilter";
2
- export { default as QueryFilter } from "./QueryFilter";
1
+ export * from "./useQueryFilter";
2
+ export * from "./QueryFilter";
3
3
  export * from "./types";
4
+ export * from "./DefaultOperators";
@@ -5,7 +5,7 @@ export interface UseQueryFilterProps {
5
5
  showCombinator?: boolean;
6
6
  onFilterChange?: (filter: any) => void;
7
7
  }
8
- export type QueryFilter = {
8
+ export type QueryFilterType = {
9
9
  filter: Query;
10
10
  filterDefinitions: FilterDefinition[];
11
11
  showCombinator?: boolean;
@@ -13,7 +13,7 @@ export type QueryFilter = {
13
13
  removeRule: (id: string) => void;
14
14
  updateRule: (rule: Rule) => void;
15
15
  };
16
- export type UseQueryFilter = (args: UseQueryFilterProps) => QueryFilter;
16
+ export type UseQueryFilter = (args: UseQueryFilterProps) => QueryFilterType;
17
17
  export type Combinator = "and" | "or";
18
18
  export type Operator = {
19
19
  label: string;
@@ -39,7 +39,7 @@ export interface FilterDefinition {
39
39
  export interface Rule {
40
40
  id?: string;
41
41
  dataField: string;
42
- value: string | string[] | number | number[];
42
+ value?: string[];
43
43
  operator: Operator;
44
44
  label: string;
45
45
  }
@@ -1,3 +1,2 @@
1
1
  import { UseQueryFilter } from "./types";
2
- declare const useQueryFilter: UseQueryFilter;
3
- export default useQueryFilter;
2
+ export declare const useQueryFilter: UseQueryFilter;
@@ -4,7 +4,7 @@ const defaultFilter = {
4
4
  combinator: "and",
5
5
  rules: [],
6
6
  };
7
- const useQueryFilter = (args) => {
7
+ export const useQueryFilter = (args) => {
8
8
  const [filter, setFilter] = useState((args === null || args === void 0 ? void 0 : args.defaultFilter) || defaultFilter);
9
9
  const addRule = (rule) => {
10
10
  if (!rule.id) {
@@ -33,4 +33,3 @@ const useQueryFilter = (args) => {
33
33
  updateRule,
34
34
  };
35
35
  };
36
- export default useQueryFilter;
@@ -1,3 +1,2 @@
1
1
  import { TableProps } from "./types";
2
- declare const Table: React.FC<TableProps>;
3
- export default Table;
2
+ export declare const Table: React.FC<TableProps>;
@@ -39,7 +39,7 @@ const TableContent = () => {
39
39
  minHeight: tableMinHeight,
40
40
  }, ref: tableElement, "data-compact": compactState, children: [_jsx(LoadingIndicator, { visible: loading }), _jsx(TableHeader, { headerRowElm: headerRowElm }), visibleColumnCount === 0 && _jsx(_Fragment, {}), virtualized === true ? (_jsx(VirtualizedRows, { tableDimensions: tableDimensions, targetElm: targetElm, listElm: listElm, rowHeight: rowHeight, headerRowHeight: headerRowHeight })) : (_jsx(StaticRows, { targetElm: targetElm, listElm: listElm }))] })] }));
41
41
  };
42
- const Table = (_a) => {
42
+ export const Table = (_a) => {
43
43
  var { data, columnProps } = _a, props = __rest(_a, ["data", "columnProps"]) // pass through props straight to table context
44
44
  ;
45
45
  const tableElement = useRef(null);
@@ -112,4 +112,3 @@ const Table = (_a) => {
112
112
  const __data = useMemo(() => data === null || data === void 0 ? void 0 : data.map((d, i) => (Object.assign(Object.assign({}, d), { __key: shortUUID.generate(), __index: i }))), [data]);
113
113
  return (_jsx(TableProvider, Object.assign({ columns: columnProps, data: __data, tableElement: tableElement, headerRowElm: headerRowElm, tableDimensions: tableDimensions, targetElm: targetElm, listElm: listElm }, props, { children: _jsx(TableContent, {}) })));
114
114
  };
115
- export default Table;
@@ -10,7 +10,7 @@ import { useDebouncedCallback } from "use-debounce";
10
10
  import InfoBadge from "./InfoBadge";
11
11
  import { QueryFilter, useQueryFilter, } from "../../QueryFilter";
12
12
  import shortUUID from "short-uuid";
13
- import DefaultOperators from "../../QueryFilter/DefaultOperators";
13
+ import { DefaultOperators } from "../../QueryFilter";
14
14
  const StyledContainer = styled.div `
15
15
  display: flex;
16
16
  flex-direction: column;
@@ -54,11 +54,11 @@ const TableMenu = () => {
54
54
  id: shortUUID.generate(),
55
55
  dataField: item.value,
56
56
  operator: ((_a = data === null || data === void 0 ? void 0 : data.operators) === null || _a === void 0 ? void 0 : _a[0]) || DefaultOperators[0],
57
- value: "",
57
+ value: undefined,
58
58
  label: item.label,
59
59
  });
60
60
  };
61
- return (_jsxs(StyledContainer, { children: [_jsxs(FlexedRow, { className: "justify-sb", children: [_jsxs(FlexedRow, { children: [(addButtonOptions === null || addButtonOptions === void 0 ? void 0 : addButtonOptions.enabled) === true && (_jsx(Button, { color: "primary", variant: "contained", size: "xxs", onClick: () => { var _a, _b; return (_b = (_a = tableMenuOptions === null || tableMenuOptions === void 0 ? void 0 : tableMenuOptions.addButtonOptions) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a); }, children: ((_a = tableMenuOptions === null || tableMenuOptions === void 0 ? void 0 : tableMenuOptions.addButtonOptions) === null || _a === void 0 ? void 0 : _a.label) || "+ Add Record" })), (filterOptions === null || filterOptions === void 0 ? void 0 : filterOptions.enabled) === true && (_jsx(DropDownMenu, { variant: "outlined", size: "xs", data: ((_b = filterOptions === null || filterOptions === void 0 ? void 0 : filterOptions.filterDefinitions) === null || _b === void 0 ? void 0 : _b.map((filter) => ({
61
+ return (_jsxs(StyledContainer, { children: [_jsxs(FlexedRow, { className: "justify-sb", children: [_jsxs(FlexedRow, { children: [(addButtonOptions === null || addButtonOptions === void 0 ? void 0 : addButtonOptions.enabled) === true && (_jsx(Button, { color: "primary", variant: "contained", size: "xxs", onClick: () => { var _a, _b; return (_b = (_a = tableMenuOptions === null || tableMenuOptions === void 0 ? void 0 : tableMenuOptions.addButtonOptions) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a); }, children: ((_a = tableMenuOptions === null || tableMenuOptions === void 0 ? void 0 : tableMenuOptions.addButtonOptions) === null || _a === void 0 ? void 0 : _a.label) || "+ Add Record" })), (filterOptions === null || filterOptions === void 0 ? void 0 : filterOptions.enabled) === true && (_jsx(DropDownMenu, { variant: "outlined", size: "sm", data: ((_b = filterOptions === null || filterOptions === void 0 ? void 0 : filterOptions.filterDefinitions) === null || _b === void 0 ? void 0 : _b.map((filter) => ({
62
62
  label: filter.label,
63
63
  value: filter.dataField,
64
64
  data: filter,
@@ -170,74 +170,74 @@ const TableProvider = (_a) => {
170
170
  for (const rule of rules) {
171
171
  const column = columnState.find((col) => col.dataField === rule.dataField);
172
172
  const { value, operator, dataField } = rule;
173
- if (!value) {
173
+ if (!value || value.length === 0) {
174
174
  continue;
175
175
  }
176
176
  switch (operator.value) {
177
177
  case "=":
178
178
  processedData = processedData.filter((row) => {
179
179
  if ((column === null || column === void 0 ? void 0 : column.dataType) === "date") {
180
- return moment(row[dataField]).isSame(moment(value), "day");
180
+ return moment(row[dataField]).isSame(moment(value[0]), "day");
181
181
  }
182
182
  else if ((column === null || column === void 0 ? void 0 : column.dataType) === "datetime") {
183
- return moment(row[dataField]).isSame(moment(value));
183
+ return moment(row[dataField]).isSame(moment(value[0]));
184
184
  }
185
- return row[dataField] == value;
185
+ return row[dataField] == value[0];
186
186
  });
187
187
  break;
188
188
  case "!=":
189
189
  processedData = processedData.filter((row) => {
190
190
  if ((column === null || column === void 0 ? void 0 : column.dataType) === "date") {
191
- return !moment(row[dataField]).isSame(moment(value), "day");
191
+ return !moment(row[dataField]).isSame(moment(value[0]), "day");
192
192
  }
193
193
  else if ((column === null || column === void 0 ? void 0 : column.dataType) === "datetime") {
194
- return !moment(row[dataField]).isSame(moment(value));
194
+ return !moment(row[dataField]).isSame(moment(value[0]));
195
195
  }
196
- return row[dataField] != value;
196
+ return row[dataField] != value[0];
197
197
  });
198
198
  break;
199
199
  case ">":
200
200
  processedData = processedData.filter((row) => {
201
201
  if ((column === null || column === void 0 ? void 0 : column.dataType) === "date") {
202
- return moment(row[dataField]).isAfter(moment(value), "day");
202
+ return moment(row[dataField]).isAfter(moment(value[0]), "day");
203
203
  }
204
204
  else if ((column === null || column === void 0 ? void 0 : column.dataType) === "datetime") {
205
- return moment(row[dataField]).isAfter(moment(value));
205
+ return moment(row[dataField]).isAfter(moment(value[0]));
206
206
  }
207
- return row[dataField] > value;
207
+ return row[dataField] > value[0];
208
208
  });
209
209
  break;
210
210
  case "<":
211
211
  processedData = processedData.filter((row) => {
212
212
  if ((column === null || column === void 0 ? void 0 : column.dataType) === "date") {
213
- return moment(row[dataField]).isBefore(moment(value), "day");
213
+ return moment(row[dataField]).isBefore(moment(value[0]), "day");
214
214
  }
215
215
  else if ((column === null || column === void 0 ? void 0 : column.dataType) === "datetime") {
216
- return moment(row[dataField]).isBefore(moment(value));
216
+ return moment(row[dataField]).isBefore(moment(value[0]));
217
217
  }
218
- return row[dataField] < value;
218
+ return row[dataField] < value[0];
219
219
  });
220
220
  break;
221
221
  case ">=":
222
222
  processedData = processedData.filter((row) => {
223
223
  if ((column === null || column === void 0 ? void 0 : column.dataType) === "date") {
224
- return moment(row[dataField]).isSameOrAfter(moment(value), "day");
224
+ return moment(row[dataField]).isSameOrAfter(moment(value[0]), "day");
225
225
  }
226
226
  else if ((column === null || column === void 0 ? void 0 : column.dataType) === "datetime") {
227
- return moment(row[dataField]).isSameOrAfter(moment(value));
227
+ return moment(row[dataField]).isSameOrAfter(moment(value[0]));
228
228
  }
229
- return row[dataField] >= value;
229
+ return row[dataField] >= value[0];
230
230
  });
231
231
  break;
232
232
  case "<=":
233
233
  processedData = processedData.filter((row) => {
234
234
  if ((column === null || column === void 0 ? void 0 : column.dataType) === "date") {
235
- return moment(row[dataField]).isSameOrBefore(moment(value), "day");
235
+ return moment(row[dataField]).isSameOrBefore(moment(value[0]), "day");
236
236
  }
237
237
  else if ((column === null || column === void 0 ? void 0 : column.dataType) === "datetime") {
238
- return moment(row[dataField]).isSameOrBefore(moment(value));
238
+ return moment(row[dataField]).isSameOrBefore(moment(value[0]));
239
239
  }
240
- return row[dataField] <= value;
240
+ return row[dataField] <= value[0];
241
241
  });
242
242
  break;
243
243
  case "between":
@@ -266,16 +266,18 @@ const TableProvider = (_a) => {
266
266
  break;
267
267
  case "contains":
268
268
  processedData = processedData.filter((row) => {
269
+ var _a;
269
270
  return row[dataField]
270
271
  .toLowerCase()
271
- .includes(value.toLowerCase());
272
+ .includes((_a = value[0]) === null || _a === void 0 ? void 0 : _a.toString().toLowerCase());
272
273
  });
273
274
  break;
274
275
  case "doesNotContain":
275
276
  processedData = processedData.filter((row) => {
277
+ var _a;
276
278
  return !row[dataField]
277
279
  .toLowerCase()
278
- .includes(value.toLowerCase());
280
+ .includes((_a = value[0]) === null || _a === void 0 ? void 0 : _a.toString().toLowerCase());
279
281
  });
280
282
  break;
281
283
  case "in":
@@ -1,3 +1,3 @@
1
- export { default as Table } from "./Table";
1
+ export * from "./Table";
2
2
  export * from "./types";
3
3
  export * from "./enums";
@@ -1,3 +1,3 @@
1
- export { default as Table } from "./Table";
1
+ export * from "./Table";
2
2
  export * from "./types";
3
3
  export * from "./enums";
package/dist/index.d.ts CHANGED
@@ -25,13 +25,13 @@ export { default as Tooltip } from "./Tooltip";
25
25
  export { default as Pill } from "./Pill";
26
26
  export { default as Calendar } from "./Calendar";
27
27
  export { default as Typography } from "./Typography";
28
- export * from "./MonolithUIProvider";
29
28
  export { default as RichTextEditor, Extensions, SlashCommands, Controls, } from "./RichTextEditor";
30
29
  export type { CustomItem, ToolbarOptions } from "./RichTextEditor";
31
30
  export { default as Loader } from "./Loader";
32
31
  export type { LoaderProps } from "./Loader";
32
+ export * from "./QueryFilter";
33
33
  export * from "./hooks";
34
- export { QueryFilter, useQueryFilter } from "./QueryFilter";
35
- export { Table } from "./Table";
36
- export type { ColumnProps, TableProps } from "./Table";
34
+ export * from "./MonolithUIProvider";
37
35
  export * from "./FileViewer";
36
+ export * from "./Table";
37
+ export type { ColumnProps, TableProps } from "./Table";
package/dist/index.js CHANGED
@@ -21,10 +21,10 @@ export { default as Tooltip } from "./Tooltip";
21
21
  export { default as Pill } from "./Pill";
22
22
  export { default as Calendar } from "./Calendar";
23
23
  export { default as Typography } from "./Typography";
24
- export * from "./MonolithUIProvider";
25
24
  export { default as RichTextEditor, Extensions, SlashCommands, Controls, } from "./RichTextEditor";
26
25
  export { default as Loader } from "./Loader";
26
+ export * from "./QueryFilter";
27
27
  export * from "./hooks";
28
- export { QueryFilter, useQueryFilter } from "./QueryFilter";
29
- export { Table } from "./Table";
28
+ export * from "./MonolithUIProvider";
30
29
  export * from "./FileViewer";
30
+ export * from "./Table";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@monolith-forensics/monolith-ui",
3
- "version": "1.2.59",
3
+ "version": "1.2.61",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "author": "Matt Danner (Monolith Forensics LLC)",