@monolith-forensics/monolith-ui 1.1.90 → 1.2.0

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 (93) hide show
  1. package/dist/DateInput/DateInput.d.ts +2 -1
  2. package/dist/DateInput/DateInput.js +9 -6
  3. package/dist/DropDownMenu/DropDownMenu.js +41 -35
  4. package/dist/Input/Input.d.ts +1 -3
  5. package/dist/Input/Input.js +5 -4
  6. package/dist/Loader/Loader.js +0 -1
  7. package/dist/MonolithUIProvider/GlobalStyle.d.ts +1 -0
  8. package/dist/MonolithUIProvider/GlobalStyle.js +17 -0
  9. package/dist/MonolithUIProvider/MonolithUIProvider.d.ts +131 -7
  10. package/dist/MonolithUIProvider/MonolithUIProvider.js +4 -4
  11. package/dist/MonolithUIProvider/index.d.ts +1 -1
  12. package/dist/MonolithUIProvider/index.js +1 -1
  13. package/dist/QueryFilter/DefaultOperators.d.ts +77 -0
  14. package/dist/QueryFilter/DefaultOperators.js +22 -0
  15. package/dist/QueryFilter/QueryFilter.d.ts +5 -0
  16. package/dist/QueryFilter/QueryFilter.js +224 -0
  17. package/dist/QueryFilter/index.d.ts +3 -0
  18. package/dist/QueryFilter/index.js +3 -0
  19. package/dist/QueryFilter/types.d.ts +51 -0
  20. package/dist/QueryFilter/types.js +1 -0
  21. package/dist/QueryFilter/useQueryFilter.d.ts +3 -0
  22. package/dist/QueryFilter/useQueryFilter.js +36 -0
  23. package/dist/Table/ActionButton.d.ts +4 -0
  24. package/dist/Table/ActionButton.js +11 -0
  25. package/dist/Table/ActionCell.d.ts +4 -0
  26. package/dist/Table/ActionCell.js +13 -0
  27. package/dist/Table/Column.d.ts +3 -0
  28. package/dist/Table/Column.js +5 -0
  29. package/dist/Table/ColumnResizer.d.ts +14 -0
  30. package/dist/Table/ColumnResizer.js +45 -0
  31. package/dist/Table/LoadingIndicator.d.ts +4 -0
  32. package/dist/Table/LoadingIndicator.js +76 -0
  33. package/dist/Table/RenderSkeleton.d.ts +6 -0
  34. package/dist/Table/RenderSkeleton.js +25 -0
  35. package/dist/Table/SelectionCell.d.ts +4 -0
  36. package/dist/Table/SelectionCell.js +12 -0
  37. package/dist/Table/StateStorage.d.ts +27 -0
  38. package/dist/Table/StateStorage.js +98 -0
  39. package/dist/Table/StaticRows.d.ts +5 -0
  40. package/dist/Table/StaticRows.js +10 -0
  41. package/dist/Table/Table.d.ts +2 -92
  42. package/dist/Table/Table.js +73 -679
  43. package/dist/Table/TableComponents.d.ts +16 -0
  44. package/dist/Table/TableComponents.js +144 -0
  45. package/dist/Table/TableDefaults.d.ts +25 -0
  46. package/dist/Table/TableDefaults.js +25 -0
  47. package/dist/Table/TableHeader.d.ts +3 -0
  48. package/dist/Table/TableHeader.js +93 -0
  49. package/dist/Table/TableMenu/InfoBadge.d.ts +10 -0
  50. package/dist/Table/TableMenu/InfoBadge.js +23 -0
  51. package/dist/Table/TableMenu/TableMenu.d.ts +2 -0
  52. package/dist/Table/TableMenu/TableMenu.js +108 -0
  53. package/dist/Table/TableMenu/index.d.ts +2 -0
  54. package/dist/Table/TableMenu/index.js +2 -0
  55. package/dist/Table/TableProvider.d.ts +4 -0
  56. package/dist/Table/TableProvider.js +499 -0
  57. package/dist/Table/TableRow.d.ts +3 -0
  58. package/dist/Table/TableRow.js +27 -0
  59. package/dist/Table/Utils/index.d.ts +3 -0
  60. package/dist/Table/Utils/index.js +3 -0
  61. package/dist/Table/Utils/resizeHandler.d.ts +3 -0
  62. package/dist/Table/Utils/resizeHandler.js +84 -0
  63. package/dist/Table/Utils/resolveColumnReorder.d.ts +3 -0
  64. package/dist/Table/Utils/resolveColumnReorder.js +5 -0
  65. package/dist/Table/Utils/resolveColumnResize.d.ts +3 -0
  66. package/dist/Table/Utils/resolveColumnResize.js +5 -0
  67. package/dist/Table/Utils/syncColumnState.d.ts +3 -0
  68. package/dist/Table/Utils/syncColumnState.js +26 -0
  69. package/dist/Table/VirtualIzedRows.d.ts +11 -0
  70. package/dist/Table/VirtualIzedRows.js +26 -0
  71. package/dist/Table/enums.d.ts +10 -0
  72. package/dist/Table/enums.js +12 -0
  73. package/dist/Table/index.d.ts +4 -3
  74. package/dist/Table/index.js +4 -2
  75. package/dist/Table/types.d.ts +267 -0
  76. package/dist/Table/types.js +1 -0
  77. package/dist/Table/useTable.d.ts +3 -0
  78. package/dist/Table/useTable.js +10 -0
  79. package/dist/TextInput/TextInput.d.ts +2 -3
  80. package/dist/TextInput/TextInput.js +5 -4
  81. package/dist/hooks/index.d.ts +1 -0
  82. package/dist/hooks/index.js +1 -0
  83. package/dist/hooks/useDelayedBoolean.d.ts +2 -0
  84. package/dist/hooks/useDelayedBoolean.js +17 -0
  85. package/dist/index.d.ts +3 -3
  86. package/dist/index.js +3 -2
  87. package/dist/theme/getTheme.d.ts +3 -0
  88. package/dist/theme/getTheme.js +13 -0
  89. package/dist/theme/index.d.ts +3 -168
  90. package/dist/theme/index.js +3 -12
  91. package/dist/theme/variants.d.ts +7 -172
  92. package/dist/theme/variants.js +6 -5
  93. package/package.json +2 -1
@@ -3,6 +3,7 @@ import React from "react";
3
3
  import { Size, Variant } from "../core";
4
4
  interface DateInputProps {
5
5
  className?: string;
6
+ style?: React.CSSProperties;
6
7
  defaultValue?: string | null | undefined;
7
8
  format?: FormatOptions;
8
9
  label?: string;
@@ -33,5 +34,5 @@ export type Segment = {
33
34
  momentType?: moment.unitOfTime.All | moment.unitOfTime.DurationConstructor;
34
35
  pattern?: string;
35
36
  };
36
- declare const DateInput: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<DateInputProps, never>> & string & Omit<({ className, defaultValue, format, label, description, arrow, size, variant, clearable, required, onChange, min, max, error, enableCalendar, utc, closeOnSelect, }: DateInputProps) => import("react/jsx-runtime").JSX.Element, keyof React.Component<any, {}, any>>;
37
+ declare const DateInput: React.ForwardRefExoticComponent<DateInputProps & React.RefAttributes<HTMLElement>>;
37
38
  export default DateInput;
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
11
  import moment from "moment";
12
12
  import { useFloating, flip, offset, FloatingPortal, useDismiss, useInteractions, autoUpdate, } from "@floating-ui/react";
13
- import { useEffect, useMemo, useRef, useState, } from "react";
13
+ import { forwardRef, useEffect, useMemo, useRef, useState, } from "react";
14
14
  import styled from "styled-components";
15
15
  import { FieldLabel, Calendar } from "..";
16
16
  import { StyledContent, StyledFloatContainer, ArrowButton, ClearButton, } from "../core";
@@ -178,7 +178,7 @@ const InputSegment = styled.div `
178
178
  : "10px"};
179
179
  }
180
180
  `;
181
- const DateInput = styled(({ className, defaultValue, format = "YYYY-MM-DD HH:mm:ss", label, description, arrow = true, size = "sm", variant = "outlined", clearable = false, required = false, onChange = () => { }, min, max, error, enableCalendar = false, utc = false, closeOnSelect = true, }) => {
181
+ const DateInput = forwardRef(({ className, style = {}, defaultValue, format = "YYYY-MM-DD HH:mm:ss", label, description, arrow = true, size = "sm", variant = "outlined", clearable = false, required = false, onChange = () => { }, min, max, error, enableCalendar = false, utc = false, closeOnSelect = true, }, _ref) => {
182
182
  const [value, setValue] = useState(defaultValue);
183
183
  const [selectedSegment, setSelectedSegment] = useState();
184
184
  const [isOpen, setIsOpen] = useState(false);
@@ -460,15 +460,18 @@ const DateInput = styled(({ className, defaultValue, format = "YYYY-MM-DD HH:mm:
460
460
  document.removeEventListener("wheel", handleWheelEvent);
461
461
  };
462
462
  }, [selectedSegment]);
463
- return (_jsxs("div", { className: className, children: [label && (_jsx(FieldLabel, { error: error, asterisk: required, size: size, description: description, children: label })), _jsxs(StyledInputContainer, { ref: (ref) => {
463
+ return (_jsxs("div", { className: "mfui-DateInput", children: [label && (_jsx(FieldLabel, { error: error, asterisk: required, size: size, description: description, children: label })), _jsxs(StyledInputContainer, { ref: (ref) => {
464
+ if (typeof _ref === "function") {
465
+ _ref(ref);
466
+ }
464
467
  mainRef.current = ref;
465
468
  refs.setReference(ref);
466
- }, onClick: handleContainerClick, onMouseDown: handleMouseDown, onKeyDown: handleKeyDown, onFocus: (e) => {
469
+ }, className: className, onClick: handleContainerClick, onMouseDown: handleMouseDown, onKeyDown: handleKeyDown, onFocus: (e) => {
467
470
  e.preventDefault();
468
471
  setSelectedSegment(segments[0]);
469
472
  }, onBlur: () => {
470
473
  setSelectedSegment(null);
471
- }, "data-empty": !value, role: "textbox", size: size, variant: variant, "data-button-right": arrow || clearable, children: [segments.map((segment, i) => {
474
+ }, "data-empty": !value, role: "textbox", size: size, variant: variant, "data-button-right": arrow || clearable, style: style, children: [segments.map((segment, i) => {
472
475
  if (segment.type === "separator") {
473
476
  return (_jsx("div", { className: "separator", tabIndex: -1, onClick: (e) => {
474
477
  e.preventDefault();
@@ -492,5 +495,5 @@ const DateInput = styled(({ className, defaultValue, format = "YYYY-MM-DD HH:mm:
492
495
  return isoResult;
493
496
  });
494
497
  }, includeTime: false }, 1) }) }) })) }))] }));
495
- }) ``;
498
+ });
496
499
  export default DateInput;
@@ -21,6 +21,12 @@ const StyledFloatContainer = styled.div `
21
21
  outline: none;
22
22
  `;
23
23
  const StyledInnerItemContainer = styled.div `
24
+ display: flex;
25
+ flex-direction: column;
26
+ flex: 1 1 auto;
27
+ overflow: hidden;
28
+ `;
29
+ const MenuScrollContainer = styled.div `
24
30
  overflow-y: auto;
25
31
 
26
32
  &[data-scroll-active="true"] {
@@ -247,7 +253,7 @@ const MenuComponent = React.forwardRef((_a, forwardedRef) => {
247
253
  tree.events.emit("menuopen", { parentId, nodeId });
248
254
  }
249
255
  }, [tree, isOpen, nodeId, parentId]);
250
- return (_jsxs(FloatingNode, { id: nodeId, children: [_jsx(MenuItem, Object.assign({ ref: useMergeRefs([refs.setReference, item.ref, forwardedRef]), tabIndex: !isNested ? undefined : parent.activeIndex === item.index ? 0 : -1, role: isNested ? "menuitem" : undefined, className: isNested ? "MenuItem" : "RootMenu", "data-open": isOpen ? "" : undefined, "data-nested": isNested ? "" : undefined, "data-focus-inside": hasFocusInside ? "" : undefined }, getReferenceProps(parent.getItemProps(Object.assign(Object.assign({}, props), { onFocus(event) {
256
+ return (_jsxs(FloatingNode, { id: nodeId, children: [_jsx(MenuItem, Object.assign({ ref: useMergeRefs([refs.setReference, item.ref, forwardedRef]), tabIndex: !isNested ? undefined : parent.activeIndex === item.index ? 0 : -1, role: isNested ? "menuitem" : undefined, className: isNested ? `MenuItem` : "mfui-DropDownMenu RootMenu", "data-open": isOpen ? "" : undefined, "data-nested": isNested ? "" : undefined, "data-focus-inside": hasFocusInside ? "" : undefined }, getReferenceProps(parent.getItemProps(Object.assign(Object.assign({}, props), { onFocus(event) {
251
257
  var _a;
252
258
  (_a = props.onFocus) === null || _a === void 0 ? void 0 : _a.call(props, event);
253
259
  setHasFocusInside(false);
@@ -295,41 +301,41 @@ const DropDownMenu = ({ data, children, defaultValue, variant, arrow, size, sear
295
301
  };
296
302
  const scrollActive = (((_b = scrollContainerRef === null || scrollContainerRef === void 0 ? void 0 : scrollContainerRef.current) === null || _b === void 0 ? void 0 : _b.scrollHeight) || 0) >
297
303
  (((_c = scrollContainerRef === null || scrollContainerRef === void 0 ? void 0 : scrollContainerRef.current) === null || _c === void 0 ? void 0 : _c.clientHeight) || 0);
298
- return (_jsx(Menu, { label: children, arrow: arrow, buttonSize: size, variant: variant, multiselect: multiselect, buttonProps: buttonProps, children: _jsxs(StyledInnerItemContainer, { ref: scrollContainerRef, "data-scroll-active": scrollActive, onScroll: onScroll, children: [loading && _jsx("div", { children: "Loading..." }), searchable && (_jsx(SearchInput, { ref: searchInputRef, variant: "outlined", size: size, placeholder: "Search", onChange: handleSearch })), !loading &&
299
- data
300
- .filter((item) => {
301
- var _a, _b, _c;
302
- if (!searchable)
303
- return true;
304
- if (isObjectArray) {
305
- return (((_a = item === null || item === void 0 ? void 0 : item.label) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(searchValue.toLowerCase())) ||
306
- ((_b = item === null || item === void 0 ? void 0 : item.value) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes(searchValue.toLowerCase())));
307
- }
308
- return (_c = item.toLowerCase) === null || _c === void 0 ? void 0 : _c.call(item).includes(searchValue.toLowerCase());
309
- })
310
- .map((item, index) => {
311
- const isSelected = !!(selected === null || selected === void 0 ? void 0 : selected.find((s) => isObjectArray ? (s === null || s === void 0 ? void 0 : s.value) === (item === null || item === void 0 ? void 0 : item.value) : s === item));
312
- if (item.items) {
313
- return (_jsx(DropDownMenu, { data: item.items, children: item.label }));
314
- }
315
- return (_jsx(Tooltip, { content: TooltipContent ? _jsx(TooltipContent, { data: item.data }) : null, side: "left", children: _jsxs(MenuItem, { className: "MenuItem", "data-selected": isSelected, leftSection: multiselect && (_jsx(CheckBox, { value: isSelected, size: size, onChange: (newValue) => {
304
+ return (_jsx(Menu, { label: children, arrow: arrow, buttonSize: size, variant: variant, multiselect: multiselect, buttonProps: buttonProps, children: _jsxs(StyledInnerItemContainer, { children: [loading && _jsx("div", { children: "Loading..." }), searchable && (_jsx(SearchInput, { ref: searchInputRef, variant: "outlined", size: size, placeholder: "Search", onChange: handleSearch })), _jsx(MenuScrollContainer, { ref: scrollContainerRef, "data-scroll-active": scrollActive, onScroll: onScroll, children: !loading &&
305
+ data
306
+ .filter((item) => {
307
+ var _a, _b, _c;
308
+ if (!searchable)
309
+ return true;
310
+ if (isObjectArray) {
311
+ return (((_a = item === null || item === void 0 ? void 0 : item.label) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(searchValue.toLowerCase())) ||
312
+ ((_b = item === null || item === void 0 ? void 0 : item.value) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes(searchValue.toLowerCase())));
313
+ }
314
+ return (_c = item.toLowerCase) === null || _c === void 0 ? void 0 : _c.call(item).includes(searchValue.toLowerCase());
315
+ })
316
+ .map((item, index) => {
317
+ const isSelected = !!(selected === null || selected === void 0 ? void 0 : selected.find((s) => isObjectArray ? (s === null || s === void 0 ? void 0 : s.value) === (item === null || item === void 0 ? void 0 : item.value) : s === item));
318
+ if (item.items) {
319
+ return (_jsx(DropDownMenu, { data: item.items, children: item.label }));
320
+ }
321
+ return (_jsx(Tooltip, { content: TooltipContent ? (_jsx(TooltipContent, { data: item.data })) : null, side: "left", children: _jsxs(MenuItem, { className: "MenuItem", "data-selected": isSelected, leftSection: multiselect && (_jsx(CheckBox, { value: isSelected, size: size, onChange: (newValue) => {
322
+ var _a;
323
+ newValue
324
+ ? handleAddItem(item)
325
+ : handleRemoveItem(item);
326
+ (_a = item === null || item === void 0 ? void 0 : item.onClick) === null || _a === void 0 ? void 0 : _a.call(item, item);
327
+ } })), multiselect: multiselect, size: size, onClick: (e) => {
316
328
  var _a;
317
- newValue
318
- ? handleAddItem(item)
319
- : handleRemoveItem(item);
329
+ e.preventDefault();
330
+ e.stopPropagation();
331
+ if (multiselect) {
332
+ isSelected
333
+ ? handleRemoveItem(item)
334
+ : handleAddItem(item);
335
+ }
336
+ onItemSelect === null || onItemSelect === void 0 ? void 0 : onItemSelect(item);
320
337
  (_a = item === null || item === void 0 ? void 0 : item.onClick) === null || _a === void 0 ? void 0 : _a.call(item, item);
321
- } })), multiselect: multiselect, size: size, onClick: (e) => {
322
- var _a;
323
- e.preventDefault();
324
- e.stopPropagation();
325
- if (multiselect) {
326
- isSelected
327
- ? handleRemoveItem(item)
328
- : handleAddItem(item);
329
- }
330
- onItemSelect === null || onItemSelect === void 0 ? void 0 : onItemSelect(item);
331
- (_a = item === null || item === void 0 ? void 0 : item.onClick) === null || _a === void 0 ? void 0 : _a.call(item, item);
332
- }, children: [(item === null || item === void 0 ? void 0 : item.leftSection) || null, _jsx(_Fragment, { children: (renderOption === null || renderOption === void 0 ? void 0 : renderOption(item)) || (item === null || item === void 0 ? void 0 : item.label) || item }), (item === null || item === void 0 ? void 0 : item.rightSection) || null] }, index) }, index));
333
- })] }) }));
338
+ }, children: [(item === null || item === void 0 ? void 0 : item.leftSection) || null, _jsx(_Fragment, { children: (renderOption === null || renderOption === void 0 ? void 0 : renderOption(item)) || (item === null || item === void 0 ? void 0 : item.label) || item }), (item === null || item === void 0 ? void 0 : item.rightSection) || null] }, index) }, index));
339
+ }) })] }) }));
334
340
  };
335
341
  export default DropDownMenu;
@@ -6,7 +6,5 @@ export interface InputProps {
6
6
  variant?: Variant;
7
7
  width?: string | number | null | undefined;
8
8
  }
9
- declare const Input: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<Omit<InputProps, "ref"> & import("react").RefAttributes<HTMLInputElement>, "ref"> & {
10
- ref?: ((instance: HTMLInputElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLInputElement> | null | undefined;
11
- }, never>> & string & Omit<import("react").ForwardRefExoticComponent<Omit<InputProps, "ref"> & import("react").RefAttributes<HTMLInputElement>>, keyof import("react").Component<any, {}, any>>;
9
+ declare const Input: import("react").ForwardRefExoticComponent<Omit<InputProps, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
12
10
  export default Input;
@@ -12,10 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import styled from "styled-components";
14
14
  import { forwardRef } from "react";
15
- const Input = styled(forwardRef((_a, ref) => {
16
- var { className, size = "sm", variant = "outlined", width } = _a, rest = __rest(_a, ["className", "size", "variant", "width"]);
17
- return _jsx("input", Object.assign({ ref: ref, className: className }, rest));
18
- })) `
15
+ const StyledInput = styled.input `
19
16
  font-family: ${({ theme }) => theme.typography.fontFamily};
20
17
  pointer-events: "all";
21
18
  user-select: "all";
@@ -141,4 +138,8 @@ const Input = styled(forwardRef((_a, ref) => {
141
138
  cursor: pointer;
142
139
  }
143
140
  `;
141
+ const Input = forwardRef((_a, ref) => {
142
+ var { className } = _a, props = __rest(_a, ["className"]);
143
+ return _jsx(StyledInput, Object.assign({ ref: ref, className: className }, props));
144
+ });
144
145
  export default Input;
@@ -4,7 +4,6 @@ const Loader = styled(({ className, style }) => {
4
4
  return (_jsx("div", { className: className + " mf-Loader", style: style, children: _jsx("span", { className: "mf-Loader-root" }) }));
5
5
  }) `
6
6
  display: inline-block;
7
- margin: auto;
8
7
 
9
8
  .mf-Loader-root {
10
9
  display: inline-block;
@@ -1,3 +1,4 @@
1
+ import "overlayscrollbars/overlayscrollbars.css";
1
2
  declare const GlobalStyle: import("react").NamedExoticComponent<import("styled-components").ExecutionProps & {
2
3
  theme: any;
3
4
  }>;
@@ -1,4 +1,5 @@
1
1
  import { createGlobalStyle } from "styled-components";
2
+ import "overlayscrollbars/overlayscrollbars.css";
2
3
  const GlobalStyle = createGlobalStyle `
3
4
 
4
5
  * {
@@ -50,6 +51,22 @@ const GlobalStyle = createGlobalStyle `
50
51
  color: unset;
51
52
  }
52
53
 
54
+ // Custom OS scrollbar theme
55
+ .os-theme-dark {
56
+ --os-handle-bg: ${(props) => props.theme.scrollbar.thumb};
57
+ --os-handle-bg-active: ${(props) => props.theme.scrollbar.thumb};
58
+ }
59
+
60
+ .os-theme-light {
61
+ --os-handle-bg: #e4e4e4;
62
+ --os-handle-bg-hover: #c6c6c6;
63
+ --os-handle-bg-active: #c6c6c6;
64
+
65
+ &:hover {
66
+ --os-scrollbar-color: #c6c6c6;
67
+ }
68
+ }
69
+
53
70
  ::-webkit-scrollbar {
54
71
  width: 6px;
55
72
  height: 5px;
@@ -1,20 +1,144 @@
1
1
  import { DefaultTheme } from "styled-components";
2
2
  import { Themes } from "../theme";
3
3
  import React from "react";
4
- type ColorScheme = "LIGHT" | "DARK" | "DEFAULT";
4
+ import typography from "../theme/typography";
5
+ export interface MonolithDefaultTheme extends DefaultTheme {
6
+ name?: Themes;
7
+ typography?: typeof typography;
8
+ palette: {
9
+ mode: Themes;
10
+ primary: {
11
+ main: string;
12
+ contrastText: string;
13
+ };
14
+ error: {
15
+ main: string;
16
+ contrastText: string;
17
+ };
18
+ secondary: {
19
+ main: string;
20
+ contrastText: string;
21
+ };
22
+ third: {
23
+ main: string;
24
+ contrastText: string;
25
+ };
26
+ fourth: {
27
+ main: string;
28
+ contrastText: string;
29
+ };
30
+ background: {
31
+ default: string;
32
+ paper: string;
33
+ alt: string;
34
+ secondary: string;
35
+ gradient: string;
36
+ };
37
+ menu: {
38
+ background: string;
39
+ };
40
+ signature: {
41
+ penColor: string;
42
+ borderColor: string;
43
+ backgroundColor: string;
44
+ };
45
+ text: {
46
+ primary: string;
47
+ secondary: string;
48
+ };
49
+ input: {
50
+ background: string;
51
+ border: string;
52
+ borderHover: string;
53
+ borderFocus: string;
54
+ borderError: string;
55
+ borderDisabled: string;
56
+ text: string;
57
+ textDisabled: string;
58
+ placeholder: string;
59
+ };
60
+ textArea: {
61
+ background: string;
62
+ border: string;
63
+ borderHover: string;
64
+ borderFocus: string;
65
+ borderError: string;
66
+ borderDisabled: string;
67
+ text: string;
68
+ textDisabled: string;
69
+ placeholder: string;
70
+ };
71
+ dataGrid: {
72
+ hover: string;
73
+ };
74
+ action: {
75
+ hover: string;
76
+ };
77
+ divider: string;
78
+ };
79
+ header: {
80
+ color: string;
81
+ background: string;
82
+ search: {
83
+ color: string;
84
+ };
85
+ indicator: {
86
+ background: string;
87
+ };
88
+ };
89
+ footer: {
90
+ color: string;
91
+ background: string;
92
+ };
93
+ sidebar: {
94
+ color: string;
95
+ background: string;
96
+ active: string;
97
+ header: {
98
+ color: string;
99
+ background: string;
100
+ brand: {
101
+ color: string;
102
+ };
103
+ };
104
+ footer: {
105
+ color: string;
106
+ background: string;
107
+ online: {
108
+ background: string;
109
+ };
110
+ };
111
+ badge: {
112
+ color: string;
113
+ background: string;
114
+ };
115
+ };
116
+ scrollbar: {
117
+ track: string;
118
+ thumb: string;
119
+ thumbHover: string;
120
+ };
121
+ mfBorder: {
122
+ primary: string;
123
+ secondary: string;
124
+ };
125
+ zIndex: {
126
+ snackbar: number;
127
+ };
128
+ }
5
129
  export interface MonolithUIContextType {
6
- theme: DefaultTheme;
130
+ theme: MonolithDefaultTheme;
7
131
  Themes: typeof Themes;
8
- colorScheme: ColorScheme;
132
+ colorScheme: Themes;
9
133
  toggleColorScheme: () => void;
10
- setColorScheme: React.Dispatch<React.SetStateAction<ColorScheme>>;
134
+ setColorScheme: React.Dispatch<React.SetStateAction<Themes>>;
11
135
  }
12
136
  export declare const MonolithUIContext: React.Context<MonolithUIContextType | undefined>;
13
137
  interface MonolithUIProviderProps {
14
138
  children?: React.ReactNode | React.ReactNode[];
15
- theme?: DefaultTheme;
16
- defaultColorScheme?: ColorScheme;
17
- colorScheme?: ColorScheme;
139
+ theme?: MonolithDefaultTheme;
140
+ defaultColorScheme?: Themes;
141
+ colorScheme?: Themes;
18
142
  }
19
143
  declare const MonolithUIProvider: ({ children, theme, defaultColorScheme, colorScheme, }: MonolithUIProviderProps) => import("react/jsx-runtime").JSX.Element;
20
144
  export default MonolithUIProvider;
@@ -1,19 +1,19 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import merge from "deepmerge";
3
3
  import { ThemeProvider } from "styled-components";
4
- import getTheme, { Themes } from "../theme";
4
+ import { Themes, getTheme } from "../theme";
5
5
  import { createContext, useState } from "react";
6
6
  import GlobalStyle from "./GlobalStyle";
7
7
  export const MonolithUIContext = createContext(undefined);
8
- const MonolithUIProvider = ({ children, theme = {}, defaultColorScheme = "DARK", colorScheme, }) => {
8
+ const MonolithUIProvider = ({ children, theme, defaultColorScheme = Themes.DARK, colorScheme, }) => {
9
9
  const [colorSchemeState, setColorSchemeState] = useState(defaultColorScheme);
10
10
  const toggleColorScheme = () => {
11
- setColorSchemeState((prev) => (prev === "LIGHT" ? "DARK" : "LIGHT"));
11
+ setColorSchemeState((prev) => prev === Themes.LIGHT ? Themes.DARK : Themes.LIGHT);
12
12
  };
13
13
  const _scheme = colorScheme || colorSchemeState;
14
14
  const defaultTheme = getTheme(_scheme);
15
15
  // override default theme with the provided theme
16
- const _theme = merge(defaultTheme, theme);
16
+ const _theme = merge(defaultTheme, theme || {});
17
17
  return (_jsx(MonolithUIContext.Provider, { value: {
18
18
  theme: _theme,
19
19
  Themes,
@@ -1,3 +1,3 @@
1
1
  export { default } from "./MonolithUIProvider";
2
2
  export { default as useMonolithUITheme } from "./useMonolithUITheme";
3
- export { default as getTheme } from "../theme";
3
+ export { getTheme } from "../theme";
@@ -1,3 +1,3 @@
1
1
  export { default } from "./MonolithUIProvider";
2
2
  export { default as useMonolithUITheme } from "./useMonolithUITheme";
3
- export { default as getTheme } from "../theme";
3
+ export { getTheme } from "../theme";
@@ -0,0 +1,77 @@
1
+ import { Operator } from "./types";
2
+ export declare const Operators: {
3
+ Equals: {
4
+ value: string;
5
+ label: string;
6
+ };
7
+ NotEquals: {
8
+ value: string;
9
+ label: string;
10
+ };
11
+ LessThan: {
12
+ value: string;
13
+ label: string;
14
+ };
15
+ GreaterThan: {
16
+ value: string;
17
+ label: string;
18
+ };
19
+ LessThanOrEqual: {
20
+ value: string;
21
+ label: string;
22
+ };
23
+ GreaterThanOrEqual: {
24
+ value: string;
25
+ label: string;
26
+ };
27
+ Contains: {
28
+ value: string;
29
+ label: string;
30
+ };
31
+ BeginsWith: {
32
+ value: string;
33
+ label: string;
34
+ };
35
+ EndsWith: {
36
+ value: string;
37
+ label: string;
38
+ };
39
+ DoesNotContain: {
40
+ value: string;
41
+ label: string;
42
+ };
43
+ DoesNotBeginWith: {
44
+ value: string;
45
+ label: string;
46
+ };
47
+ DoesNotEndWith: {
48
+ value: string;
49
+ label: string;
50
+ };
51
+ IsNull: {
52
+ value: string;
53
+ label: string;
54
+ };
55
+ IsNotNull: {
56
+ value: string;
57
+ label: string;
58
+ };
59
+ In: {
60
+ value: string;
61
+ label: string;
62
+ };
63
+ NIn: {
64
+ value: string;
65
+ label: string;
66
+ };
67
+ Between: {
68
+ value: string;
69
+ label: string;
70
+ };
71
+ NotBetween: {
72
+ value: string;
73
+ label: string;
74
+ };
75
+ };
76
+ export declare const DefaultOperators: Operator[];
77
+ export default DefaultOperators;
@@ -0,0 +1,22 @@
1
+ export const Operators = {
2
+ Equals: { value: "=", label: "is" },
3
+ NotEquals: { value: "!=", label: "is not" },
4
+ LessThan: { value: "<", label: "less than" },
5
+ GreaterThan: { value: ">", label: "greater than" },
6
+ LessThanOrEqual: { value: "<=", label: "less than or equal" },
7
+ GreaterThanOrEqual: { value: ">=", label: "greater than or equal" },
8
+ Contains: { value: "contains", label: "contains" },
9
+ BeginsWith: { value: "beginsWith", label: "begins with" },
10
+ EndsWith: { value: "endsWith", label: "ends with" },
11
+ DoesNotContain: { value: "doesNotContain", label: "does not contain" },
12
+ DoesNotBeginWith: { value: "doesNotBeginWith", label: "does not begin with" },
13
+ DoesNotEndWith: { value: "doesNotEndWith", label: "does not end with" },
14
+ IsNull: { value: "null", label: "is null" },
15
+ IsNotNull: { value: "notNull", label: "is not null" },
16
+ In: { value: "in", label: "is any of" },
17
+ NIn: { value: "nin", label: "is none of" },
18
+ Between: { value: "between", label: "between" },
19
+ NotBetween: { value: "notBetween", label: "not between" },
20
+ };
21
+ export const DefaultOperators = Object.values(Operators);
22
+ export default DefaultOperators;
@@ -0,0 +1,5 @@
1
+ import { QueryFilter as QueryFilterType } from "./types";
2
+ declare const QueryFilter: React.FC<{
3
+ queryFilter: QueryFilterType;
4
+ }>;
5
+ export default QueryFilter;