@natoora-libs/core 0.2.24-dev-package-upgrades-1 → 0.2.24-dev-doug-1
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.
- package/dist/TableDesktop-BQk0gStR.d.cts +136 -0
- package/dist/TableDesktop-BQk0gStR.d.ts +136 -0
- package/dist/chunk-5WRI5ZAA.js +31 -0
- package/dist/chunk-5WRI5ZAA.js.map +1 -0
- package/dist/chunk-CKW5LT7K.js +210 -0
- package/dist/chunk-CKW5LT7K.js.map +1 -0
- package/dist/chunk-IXEF6LYV.js +33 -0
- package/dist/chunk-IXEF6LYV.js.map +1 -0
- package/dist/chunk-N3IUZVB7.js +21 -0
- package/dist/chunk-N3IUZVB7.js.map +1 -0
- package/dist/components/index.cjs +10812 -0
- package/dist/components/index.cjs.map +1 -0
- package/dist/components/index.d.cts +1198 -0
- package/dist/components/index.d.ts +1198 -0
- package/dist/components/index.js +10652 -0
- package/dist/components/index.js.map +1 -0
- package/dist/hooks/index.cjs +58 -0
- package/dist/hooks/index.cjs.map +1 -0
- package/dist/hooks/index.d.cts +13 -0
- package/dist/hooks/index.d.ts +13 -0
- package/dist/hooks/index.js +8 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.cjs +26 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/providers/index.cjs +386 -0
- package/dist/providers/index.cjs.map +1 -0
- package/dist/providers/index.d.cts +37 -0
- package/dist/providers/index.d.ts +37 -0
- package/dist/providers/index.js +154 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/utils/index.cjs +47 -0
- package/dist/utils/index.cjs.map +1 -0
- package/dist/utils/index.d.cts +12 -0
- package/dist/utils/index.d.ts +12 -0
- package/dist/utils/index.js +10 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +4 -2
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ChangeEvent, FC, RefObject, ReactNode, ComponentType } from 'react';
|
|
3
|
+
import { SelectChangeEvent } from '@mui/material';
|
|
4
|
+
|
|
5
|
+
type TableDesktopFooterProps = {
|
|
6
|
+
numPages: number;
|
|
7
|
+
page: number;
|
|
8
|
+
onPageChange: (event: ChangeEvent<unknown>, page: number) => void;
|
|
9
|
+
pageSize?: number;
|
|
10
|
+
pageSizeOptions?: number[];
|
|
11
|
+
onPageSizeChange?: (event: SelectChangeEvent<number>) => void;
|
|
12
|
+
refetchData?: () => Promise<unknown>;
|
|
13
|
+
isFetching: boolean;
|
|
14
|
+
};
|
|
15
|
+
declare const TableDesktopFooter: FC<TableDesktopFooterProps>;
|
|
16
|
+
|
|
17
|
+
type BulkChanges = {
|
|
18
|
+
field: string;
|
|
19
|
+
value: UpdateEditableCellParams['value'];
|
|
20
|
+
label: UpdateEditableCellParams['label'];
|
|
21
|
+
}[];
|
|
22
|
+
type TableColumnConfigurationMenuProps = {
|
|
23
|
+
anchorEl: HTMLElement | null;
|
|
24
|
+
onCloseMenu: () => void;
|
|
25
|
+
};
|
|
26
|
+
type ExportCsvDialogProps = {
|
|
27
|
+
headCells: HeadCell[];
|
|
28
|
+
headerFilters: HeaderFilters;
|
|
29
|
+
totalDataCount?: number;
|
|
30
|
+
isOpen: boolean;
|
|
31
|
+
onCloseDialog: () => void;
|
|
32
|
+
};
|
|
33
|
+
type BulkChangesDialogProps = {
|
|
34
|
+
bulkChanges: BulkChanges;
|
|
35
|
+
selectedRows: RowId[];
|
|
36
|
+
shouldUpdateAll: boolean;
|
|
37
|
+
visibleEditableColumns: HeadCell[];
|
|
38
|
+
isBulkChangesDialogOpen: boolean;
|
|
39
|
+
onCloseDialog: () => void;
|
|
40
|
+
refetchData: () => Promise<unknown>;
|
|
41
|
+
};
|
|
42
|
+
type TableDesktopToolbarProps = {
|
|
43
|
+
toolbarLabel?: string;
|
|
44
|
+
headCells: HeadCell[];
|
|
45
|
+
headerFilters: HeaderFilters;
|
|
46
|
+
selectedRows: RowId[];
|
|
47
|
+
isDataEmpty: boolean;
|
|
48
|
+
totalDataCount?: number;
|
|
49
|
+
isRowsFromAllPagesSelected: boolean;
|
|
50
|
+
refetchData?: () => Promise<unknown>;
|
|
51
|
+
tableToolbarMenuButtonRef: RefObject<HTMLButtonElement | null>;
|
|
52
|
+
tableToolbarMenuAnchor: HTMLElement | null;
|
|
53
|
+
onClickToolbarMenuOpen: () => void;
|
|
54
|
+
onCloseMenu: () => void;
|
|
55
|
+
disableBulkChangesMode?: boolean;
|
|
56
|
+
isBulkChangesMode: boolean;
|
|
57
|
+
onChangeBulkChangesMode: (checked: boolean) => void;
|
|
58
|
+
onActivateBulkChangesMode?: () => void;
|
|
59
|
+
renderExportCsvDialog?: (props: ExportCsvDialogProps) => ReactNode;
|
|
60
|
+
renderBulkChangesDialog?: (props: BulkChangesDialogProps) => ReactNode;
|
|
61
|
+
renderTableColumnConfigurationMenu?: (props: TableColumnConfigurationMenuProps) => ReactNode;
|
|
62
|
+
renderInfoIcons?: ReactNode;
|
|
63
|
+
};
|
|
64
|
+
declare const TableDesktopToolbar: FC<TableDesktopToolbarProps>;
|
|
65
|
+
|
|
66
|
+
type Order = 'asc' | 'desc';
|
|
67
|
+
type EditableCellType = 'select' | 'multipleSelect' | 'checkbox' | 'text' | 'numeric' | 'date' | 'time' | 'tags';
|
|
68
|
+
type HeaderFilterObject = {
|
|
69
|
+
id: number | string;
|
|
70
|
+
[key: string]: number | string;
|
|
71
|
+
};
|
|
72
|
+
type HeaderFilterOptions = string[] | HeaderFilterObject[];
|
|
73
|
+
type HeaderFilters = {
|
|
74
|
+
[key: string]: HeaderFilterOptions;
|
|
75
|
+
};
|
|
76
|
+
type UpdateEditableCellParams = {
|
|
77
|
+
rowId?: RowId;
|
|
78
|
+
columnId: string;
|
|
79
|
+
value: string | number | boolean | (string | number)[] | null;
|
|
80
|
+
label: string | number | boolean | (string | number)[] | null;
|
|
81
|
+
};
|
|
82
|
+
type RowId = string | number;
|
|
83
|
+
type HeadCell = {
|
|
84
|
+
id: string;
|
|
85
|
+
label?: string;
|
|
86
|
+
labelTooltip?: string;
|
|
87
|
+
fieldName?: string;
|
|
88
|
+
numeric?: boolean;
|
|
89
|
+
disablePadding?: boolean;
|
|
90
|
+
width?: number | string;
|
|
91
|
+
enabled?: boolean;
|
|
92
|
+
disableSort?: boolean;
|
|
93
|
+
renderHeader?: ReactNode;
|
|
94
|
+
filterType?: 'default' | 'autocomplete' | 'boolean';
|
|
95
|
+
filterOptions?: HeaderFilterOptions;
|
|
96
|
+
refetchFilterOptions?: () => void;
|
|
97
|
+
isFetchingFilterOptions?: boolean;
|
|
98
|
+
editableCellType?: EditableCellType;
|
|
99
|
+
validateInput?: (value: string | null) => boolean;
|
|
100
|
+
onUpdateEditableCell?: (params: UpdateEditableCellParams) => void;
|
|
101
|
+
onAutocompleteSearch?: (value: string) => void;
|
|
102
|
+
allowBlankSelectOption?: boolean;
|
|
103
|
+
bulkUpdateDisabled?: boolean;
|
|
104
|
+
};
|
|
105
|
+
type TableDesktopProps = {
|
|
106
|
+
data: any[];
|
|
107
|
+
headCells: HeadCell[];
|
|
108
|
+
RenderItem: ComponentType<any>;
|
|
109
|
+
renderToolbar?: (props: TableDesktopToolbarProps) => ReactNode;
|
|
110
|
+
renderFooter?: (props: {
|
|
111
|
+
refetchData: TableDesktopFooterProps['refetchData'];
|
|
112
|
+
isFetching: TableDesktopFooterProps['isFetching'];
|
|
113
|
+
}) => ReactNode;
|
|
114
|
+
appliedFilters?: any;
|
|
115
|
+
headerFilters?: HeaderFilters;
|
|
116
|
+
children?: ReactNode;
|
|
117
|
+
height?: number | string;
|
|
118
|
+
rowHeight?: number;
|
|
119
|
+
rowsPerPage?: number;
|
|
120
|
+
totalDataCount?: number;
|
|
121
|
+
isLoading?: boolean;
|
|
122
|
+
enableEditMode?: boolean;
|
|
123
|
+
disableInternalSort?: boolean;
|
|
124
|
+
updateSort?: (sortField: string, sortDir: Order) => void;
|
|
125
|
+
showClearFilterButton?: boolean;
|
|
126
|
+
handleClickOnClearFiltersButton?: () => void;
|
|
127
|
+
deleteItem?: (id: number, contentTypeName?: string, appTypeName?: string) => void;
|
|
128
|
+
keyField?: string | ((rowData: any) => string);
|
|
129
|
+
tableLayout?: 'fixed' | 'auto';
|
|
130
|
+
onApplyFilters?: (updatedFilters: HeaderFilters, shouldSave: boolean) => void;
|
|
131
|
+
refetchData?: () => Promise<unknown>;
|
|
132
|
+
shouldShowCheckOnFilter?: (columnId: string, filterOption?: string | HeaderFilterObject) => boolean;
|
|
133
|
+
};
|
|
134
|
+
declare const TableDesktop: ({ data, headCells, RenderItem, renderToolbar, renderFooter, appliedFilters, headerFilters, children, height, rowHeight, rowsPerPage, totalDataCount, isLoading, enableEditMode, disableInternalSort, updateSort, showClearFilterButton, handleClickOnClearFiltersButton, deleteItem, keyField, tableLayout, onApplyFilters, shouldShowCheckOnFilter, refetchData, }: TableDesktopProps) => react_jsx_runtime.JSX.Element;
|
|
135
|
+
|
|
136
|
+
export { type BulkChanges as B, type EditableCellType as E, type HeadCell as H, type Order as O, type RowId as R, type TableDesktopProps as T, type UpdateEditableCellParams as U, type HeaderFilters as a, type HeaderFilterOptions as b, type HeaderFilterObject as c, type BulkChangesDialogProps as d, type ExportCsvDialogProps as e, type TableColumnConfigurationMenuProps as f, TableDesktop as g, TableDesktopFooter as h, type TableDesktopFooterProps as i, TableDesktopToolbar as j, type TableDesktopToolbarProps as k };
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ChangeEvent, FC, RefObject, ReactNode, ComponentType } from 'react';
|
|
3
|
+
import { SelectChangeEvent } from '@mui/material';
|
|
4
|
+
|
|
5
|
+
type TableDesktopFooterProps = {
|
|
6
|
+
numPages: number;
|
|
7
|
+
page: number;
|
|
8
|
+
onPageChange: (event: ChangeEvent<unknown>, page: number) => void;
|
|
9
|
+
pageSize?: number;
|
|
10
|
+
pageSizeOptions?: number[];
|
|
11
|
+
onPageSizeChange?: (event: SelectChangeEvent<number>) => void;
|
|
12
|
+
refetchData?: () => Promise<unknown>;
|
|
13
|
+
isFetching: boolean;
|
|
14
|
+
};
|
|
15
|
+
declare const TableDesktopFooter: FC<TableDesktopFooterProps>;
|
|
16
|
+
|
|
17
|
+
type BulkChanges = {
|
|
18
|
+
field: string;
|
|
19
|
+
value: UpdateEditableCellParams['value'];
|
|
20
|
+
label: UpdateEditableCellParams['label'];
|
|
21
|
+
}[];
|
|
22
|
+
type TableColumnConfigurationMenuProps = {
|
|
23
|
+
anchorEl: HTMLElement | null;
|
|
24
|
+
onCloseMenu: () => void;
|
|
25
|
+
};
|
|
26
|
+
type ExportCsvDialogProps = {
|
|
27
|
+
headCells: HeadCell[];
|
|
28
|
+
headerFilters: HeaderFilters;
|
|
29
|
+
totalDataCount?: number;
|
|
30
|
+
isOpen: boolean;
|
|
31
|
+
onCloseDialog: () => void;
|
|
32
|
+
};
|
|
33
|
+
type BulkChangesDialogProps = {
|
|
34
|
+
bulkChanges: BulkChanges;
|
|
35
|
+
selectedRows: RowId[];
|
|
36
|
+
shouldUpdateAll: boolean;
|
|
37
|
+
visibleEditableColumns: HeadCell[];
|
|
38
|
+
isBulkChangesDialogOpen: boolean;
|
|
39
|
+
onCloseDialog: () => void;
|
|
40
|
+
refetchData: () => Promise<unknown>;
|
|
41
|
+
};
|
|
42
|
+
type TableDesktopToolbarProps = {
|
|
43
|
+
toolbarLabel?: string;
|
|
44
|
+
headCells: HeadCell[];
|
|
45
|
+
headerFilters: HeaderFilters;
|
|
46
|
+
selectedRows: RowId[];
|
|
47
|
+
isDataEmpty: boolean;
|
|
48
|
+
totalDataCount?: number;
|
|
49
|
+
isRowsFromAllPagesSelected: boolean;
|
|
50
|
+
refetchData?: () => Promise<unknown>;
|
|
51
|
+
tableToolbarMenuButtonRef: RefObject<HTMLButtonElement | null>;
|
|
52
|
+
tableToolbarMenuAnchor: HTMLElement | null;
|
|
53
|
+
onClickToolbarMenuOpen: () => void;
|
|
54
|
+
onCloseMenu: () => void;
|
|
55
|
+
disableBulkChangesMode?: boolean;
|
|
56
|
+
isBulkChangesMode: boolean;
|
|
57
|
+
onChangeBulkChangesMode: (checked: boolean) => void;
|
|
58
|
+
onActivateBulkChangesMode?: () => void;
|
|
59
|
+
renderExportCsvDialog?: (props: ExportCsvDialogProps) => ReactNode;
|
|
60
|
+
renderBulkChangesDialog?: (props: BulkChangesDialogProps) => ReactNode;
|
|
61
|
+
renderTableColumnConfigurationMenu?: (props: TableColumnConfigurationMenuProps) => ReactNode;
|
|
62
|
+
renderInfoIcons?: ReactNode;
|
|
63
|
+
};
|
|
64
|
+
declare const TableDesktopToolbar: FC<TableDesktopToolbarProps>;
|
|
65
|
+
|
|
66
|
+
type Order = 'asc' | 'desc';
|
|
67
|
+
type EditableCellType = 'select' | 'multipleSelect' | 'checkbox' | 'text' | 'numeric' | 'date' | 'time' | 'tags';
|
|
68
|
+
type HeaderFilterObject = {
|
|
69
|
+
id: number | string;
|
|
70
|
+
[key: string]: number | string;
|
|
71
|
+
};
|
|
72
|
+
type HeaderFilterOptions = string[] | HeaderFilterObject[];
|
|
73
|
+
type HeaderFilters = {
|
|
74
|
+
[key: string]: HeaderFilterOptions;
|
|
75
|
+
};
|
|
76
|
+
type UpdateEditableCellParams = {
|
|
77
|
+
rowId?: RowId;
|
|
78
|
+
columnId: string;
|
|
79
|
+
value: string | number | boolean | (string | number)[] | null;
|
|
80
|
+
label: string | number | boolean | (string | number)[] | null;
|
|
81
|
+
};
|
|
82
|
+
type RowId = string | number;
|
|
83
|
+
type HeadCell = {
|
|
84
|
+
id: string;
|
|
85
|
+
label?: string;
|
|
86
|
+
labelTooltip?: string;
|
|
87
|
+
fieldName?: string;
|
|
88
|
+
numeric?: boolean;
|
|
89
|
+
disablePadding?: boolean;
|
|
90
|
+
width?: number | string;
|
|
91
|
+
enabled?: boolean;
|
|
92
|
+
disableSort?: boolean;
|
|
93
|
+
renderHeader?: ReactNode;
|
|
94
|
+
filterType?: 'default' | 'autocomplete' | 'boolean';
|
|
95
|
+
filterOptions?: HeaderFilterOptions;
|
|
96
|
+
refetchFilterOptions?: () => void;
|
|
97
|
+
isFetchingFilterOptions?: boolean;
|
|
98
|
+
editableCellType?: EditableCellType;
|
|
99
|
+
validateInput?: (value: string | null) => boolean;
|
|
100
|
+
onUpdateEditableCell?: (params: UpdateEditableCellParams) => void;
|
|
101
|
+
onAutocompleteSearch?: (value: string) => void;
|
|
102
|
+
allowBlankSelectOption?: boolean;
|
|
103
|
+
bulkUpdateDisabled?: boolean;
|
|
104
|
+
};
|
|
105
|
+
type TableDesktopProps = {
|
|
106
|
+
data: any[];
|
|
107
|
+
headCells: HeadCell[];
|
|
108
|
+
RenderItem: ComponentType<any>;
|
|
109
|
+
renderToolbar?: (props: TableDesktopToolbarProps) => ReactNode;
|
|
110
|
+
renderFooter?: (props: {
|
|
111
|
+
refetchData: TableDesktopFooterProps['refetchData'];
|
|
112
|
+
isFetching: TableDesktopFooterProps['isFetching'];
|
|
113
|
+
}) => ReactNode;
|
|
114
|
+
appliedFilters?: any;
|
|
115
|
+
headerFilters?: HeaderFilters;
|
|
116
|
+
children?: ReactNode;
|
|
117
|
+
height?: number | string;
|
|
118
|
+
rowHeight?: number;
|
|
119
|
+
rowsPerPage?: number;
|
|
120
|
+
totalDataCount?: number;
|
|
121
|
+
isLoading?: boolean;
|
|
122
|
+
enableEditMode?: boolean;
|
|
123
|
+
disableInternalSort?: boolean;
|
|
124
|
+
updateSort?: (sortField: string, sortDir: Order) => void;
|
|
125
|
+
showClearFilterButton?: boolean;
|
|
126
|
+
handleClickOnClearFiltersButton?: () => void;
|
|
127
|
+
deleteItem?: (id: number, contentTypeName?: string, appTypeName?: string) => void;
|
|
128
|
+
keyField?: string | ((rowData: any) => string);
|
|
129
|
+
tableLayout?: 'fixed' | 'auto';
|
|
130
|
+
onApplyFilters?: (updatedFilters: HeaderFilters, shouldSave: boolean) => void;
|
|
131
|
+
refetchData?: () => Promise<unknown>;
|
|
132
|
+
shouldShowCheckOnFilter?: (columnId: string, filterOption?: string | HeaderFilterObject) => boolean;
|
|
133
|
+
};
|
|
134
|
+
declare const TableDesktop: ({ data, headCells, RenderItem, renderToolbar, renderFooter, appliedFilters, headerFilters, children, height, rowHeight, rowsPerPage, totalDataCount, isLoading, enableEditMode, disableInternalSort, updateSort, showClearFilterButton, handleClickOnClearFiltersButton, deleteItem, keyField, tableLayout, onApplyFilters, shouldShowCheckOnFilter, refetchData, }: TableDesktopProps) => react_jsx_runtime.JSX.Element;
|
|
135
|
+
|
|
136
|
+
export { type BulkChanges as B, type EditableCellType as E, type HeadCell as H, type Order as O, type RowId as R, type TableDesktopProps as T, type UpdateEditableCellParams as U, type HeaderFilters as a, type HeaderFilterOptions as b, type HeaderFilterObject as c, type BulkChangesDialogProps as d, type ExportCsvDialogProps as e, type TableColumnConfigurationMenuProps as f, TableDesktop as g, TableDesktopFooter as h, type TableDesktopFooterProps as i, TableDesktopToolbar as j, type TableDesktopToolbarProps as k };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
8
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
19
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
20
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
21
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
22
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
23
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
24
|
+
mod
|
|
25
|
+
));
|
|
26
|
+
|
|
27
|
+
export {
|
|
28
|
+
__commonJS,
|
|
29
|
+
__toESM
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=chunk-5WRI5ZAA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
// src/components/Loading/Loading.tsx
|
|
2
|
+
import { Backdrop, CircularProgress } from "@mui/material";
|
|
3
|
+
import { makeStyles } from "tss-react/mui";
|
|
4
|
+
|
|
5
|
+
// src/resources/styles/colors/lightPalette.ts
|
|
6
|
+
var lightPalette = {
|
|
7
|
+
// General colors
|
|
8
|
+
white: "#FFFFFF",
|
|
9
|
+
black: "#000000",
|
|
10
|
+
// Neutral
|
|
11
|
+
neutral50: "#F0EBE6",
|
|
12
|
+
neutral100: "#FAFAFA",
|
|
13
|
+
neutral150: "#F4F4F4",
|
|
14
|
+
neutral200: "#F1F1F1",
|
|
15
|
+
neutral250: "#ECECEC",
|
|
16
|
+
neutral300: "#E0E0E0",
|
|
17
|
+
neutral400: "#C8C8C8",
|
|
18
|
+
neutral500: "#BDBDBD",
|
|
19
|
+
neutral600: "#999999",
|
|
20
|
+
neutral700: "#878787",
|
|
21
|
+
neutral750: "#6c6c6c",
|
|
22
|
+
neutral800: "#555555",
|
|
23
|
+
neutral900: "#4D4D4D",
|
|
24
|
+
// Input and contrast
|
|
25
|
+
contrast: "#000000",
|
|
26
|
+
constrastOpacity50: "rgba(0,0,0,0.5)",
|
|
27
|
+
// Icon and Material UI colors
|
|
28
|
+
iconSearch: "#606060",
|
|
29
|
+
default: "#E0E0E0",
|
|
30
|
+
muiPrimary: "#0781CE",
|
|
31
|
+
muiPrimaryBlack: "#000000",
|
|
32
|
+
lightMuiPrimaryColorBackground: "#eff4fb",
|
|
33
|
+
lightBlueBackground: "#eff4fb",
|
|
34
|
+
muiPrimaryAlternate: "#07BAF1",
|
|
35
|
+
muiPrimaryHover: "#1565c0",
|
|
36
|
+
muiSecondary: "#A42966",
|
|
37
|
+
muiSecondaryAlternate: "#EC613C",
|
|
38
|
+
muiSuccess: "#4caf50",
|
|
39
|
+
muiSuccessAlternate: "#357a38",
|
|
40
|
+
// Transparency variants
|
|
41
|
+
blackOpacity10: "rgba(0,0,0,0.1)",
|
|
42
|
+
blackOpacity20: "rgba(0,0,0,0.2)",
|
|
43
|
+
blackOpacity30: "rgba(0,0,0,0.3)",
|
|
44
|
+
blackOpacity50: "rgba(0,0,0,0.5)",
|
|
45
|
+
blackOpacity80: "rgba(0,0,0,0.8)",
|
|
46
|
+
primaryOpacity10: "rgba(7, 129, 206, 0.10)",
|
|
47
|
+
primaryOpacity20: "rgba(7, 129, 206, 0.20)",
|
|
48
|
+
primaryOpacity30: "rgba(7, 129, 206, 0.30)",
|
|
49
|
+
secondaryAlternateOpacity30: "rgba(236, 97, 60, 0.3)",
|
|
50
|
+
blueOpacity08: "rgba(25, 118, 210, 0.08)",
|
|
51
|
+
whiteOpacity10: "rgba(255,255,255,0.1)",
|
|
52
|
+
whiteOpacity20: "rgba(255,255,255,0.2)",
|
|
53
|
+
whiteOpacity40: "rgba(255,255,255,0.4)",
|
|
54
|
+
// Table rows and top bar
|
|
55
|
+
topBar: "#2e3133",
|
|
56
|
+
// Button colors
|
|
57
|
+
// Round Button (default)
|
|
58
|
+
buttonHoverBackground: "rgba(0, 0, 0, 0.04)",
|
|
59
|
+
// Active Button
|
|
60
|
+
buttonActiveText: "#0781CE",
|
|
61
|
+
// Contrast Button
|
|
62
|
+
buttonContrastBorder: "#CECECE",
|
|
63
|
+
buttonContrastText: "#CECECE",
|
|
64
|
+
// Error Button
|
|
65
|
+
error: "#D32F2F"
|
|
66
|
+
};
|
|
67
|
+
var lightPalette_default = lightPalette;
|
|
68
|
+
|
|
69
|
+
// src/resources/styles/colors.ts
|
|
70
|
+
var isDarkModeEnabled = false;
|
|
71
|
+
var palette = lightPalette_default;
|
|
72
|
+
var colors = {
|
|
73
|
+
white: palette.white,
|
|
74
|
+
black: palette.black,
|
|
75
|
+
neutral50: palette.neutral50,
|
|
76
|
+
neutral100: palette.neutral100,
|
|
77
|
+
neutral150: palette.neutral150,
|
|
78
|
+
neutral200: palette.neutral200,
|
|
79
|
+
neutral250: palette.neutral250,
|
|
80
|
+
neutral300: palette.neutral300,
|
|
81
|
+
neutral400: palette.neutral400,
|
|
82
|
+
neutral500: palette.neutral500,
|
|
83
|
+
neutral600: palette.neutral600,
|
|
84
|
+
neutral700: palette.neutral700,
|
|
85
|
+
neutral750: palette.neutral750,
|
|
86
|
+
neutral800: palette.neutral800,
|
|
87
|
+
neutral900: palette.neutral900,
|
|
88
|
+
// Input and contrast
|
|
89
|
+
contrast: palette.contrast,
|
|
90
|
+
constrastOpacity50: palette.constrastOpacity50,
|
|
91
|
+
iconSearch: palette.iconSearch,
|
|
92
|
+
default: palette.default,
|
|
93
|
+
muiPrimary: palette.muiPrimary,
|
|
94
|
+
muiPrimaryBlack: palette.muiPrimaryBlack,
|
|
95
|
+
lightMuiPrimaryColorBackground: palette.lightMuiPrimaryColorBackground,
|
|
96
|
+
lightBlueBackground: palette.lightBlueBackground,
|
|
97
|
+
muiPrimaryAlternate: palette.muiPrimaryAlternate,
|
|
98
|
+
muiPrimaryHover: palette.muiPrimaryHover,
|
|
99
|
+
muiSecondary: palette.muiSecondary,
|
|
100
|
+
muiSecondaryAlternate: palette.muiSecondaryAlternate,
|
|
101
|
+
muiSuccess: palette.muiSuccess,
|
|
102
|
+
muiSuccessAlternate: palette.muiSuccessAlternate,
|
|
103
|
+
// Transparency
|
|
104
|
+
blackOpacity10: palette.blackOpacity10,
|
|
105
|
+
blackOpacity20: palette.blackOpacity20,
|
|
106
|
+
blackOpacity30: palette.blackOpacity30,
|
|
107
|
+
blackOpacity50: palette.blackOpacity50,
|
|
108
|
+
blackOpacity80: palette.blackOpacity80,
|
|
109
|
+
primaryOpacity10: palette.primaryOpacity10,
|
|
110
|
+
primaryOpacity20: palette.primaryOpacity20,
|
|
111
|
+
primaryOpacity30: palette.primaryOpacity30,
|
|
112
|
+
secondaryAlternateOpacity30: palette.secondaryAlternateOpacity30,
|
|
113
|
+
blueOpacity08: palette.blueOpacity08,
|
|
114
|
+
whiteOpacity10: palette.whiteOpacity10,
|
|
115
|
+
whiteOpacity20: palette.whiteOpacity20,
|
|
116
|
+
whiteOpacity40: palette.whiteOpacity40,
|
|
117
|
+
topBar: palette.topBar,
|
|
118
|
+
error: palette.error,
|
|
119
|
+
roundButton: {
|
|
120
|
+
default: {
|
|
121
|
+
border: palette.neutral600,
|
|
122
|
+
color: palette.contrast,
|
|
123
|
+
disabled: {
|
|
124
|
+
color: palette.blackOpacity20
|
|
125
|
+
},
|
|
126
|
+
hover: {
|
|
127
|
+
background: palette.buttonHoverBackground
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
filled: {
|
|
131
|
+
background: palette.neutral100,
|
|
132
|
+
color: palette.blackOpacity80,
|
|
133
|
+
hover: {
|
|
134
|
+
background: palette.neutral250
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
active: {
|
|
138
|
+
color: palette.buttonActiveText,
|
|
139
|
+
hover: {
|
|
140
|
+
background: palette.primaryOpacity20
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
contrast: {
|
|
144
|
+
border: palette.buttonContrastBorder,
|
|
145
|
+
color: palette.buttonContrastText,
|
|
146
|
+
hover: {
|
|
147
|
+
background: palette.whiteOpacity10
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
tableButton: {
|
|
151
|
+
color: palette.neutral800
|
|
152
|
+
},
|
|
153
|
+
focused: {
|
|
154
|
+
background: palette.primaryOpacity20,
|
|
155
|
+
color: palette.buttonActiveText,
|
|
156
|
+
hover: {
|
|
157
|
+
background: palette.primaryOpacity30
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
error: palette.error
|
|
161
|
+
},
|
|
162
|
+
movementCard: {
|
|
163
|
+
default: {
|
|
164
|
+
background: palette.neutral100
|
|
165
|
+
},
|
|
166
|
+
disabled: {
|
|
167
|
+
background: palette.neutral250
|
|
168
|
+
},
|
|
169
|
+
pill: {
|
|
170
|
+
color: palette.neutral200,
|
|
171
|
+
background: palette.neutral600
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
rowProductCard: {
|
|
175
|
+
locationSubtitle: palette.neutral800
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
// src/components/Loading/Loading.tsx
|
|
180
|
+
import { jsx } from "react/jsx-runtime";
|
|
181
|
+
var useStyles = makeStyles()(() => ({
|
|
182
|
+
wrapper: {
|
|
183
|
+
/**
|
|
184
|
+
* MUI Dialogs have z-index = 1300
|
|
185
|
+
*/
|
|
186
|
+
zIndex: 1301,
|
|
187
|
+
backgroundColor: isDarkModeEnabled ? "rgba(0, 0, 0, 0.5)" : "rgba(255, 255, 255, 0.8)"
|
|
188
|
+
}
|
|
189
|
+
}));
|
|
190
|
+
var Loading = ({ isLoading }) => {
|
|
191
|
+
const { classes } = useStyles();
|
|
192
|
+
return /* @__PURE__ */ jsx(
|
|
193
|
+
Backdrop,
|
|
194
|
+
{
|
|
195
|
+
"aria-hidden": !isLoading,
|
|
196
|
+
className: classes.wrapper,
|
|
197
|
+
open: isLoading,
|
|
198
|
+
"data-testid": "backdrop-loading",
|
|
199
|
+
children: /* @__PURE__ */ jsx(CircularProgress, { color: "primary" })
|
|
200
|
+
}
|
|
201
|
+
);
|
|
202
|
+
};
|
|
203
|
+
var Loading_default = Loading;
|
|
204
|
+
|
|
205
|
+
export {
|
|
206
|
+
isDarkModeEnabled,
|
|
207
|
+
colors,
|
|
208
|
+
Loading_default
|
|
209
|
+
};
|
|
210
|
+
//# sourceMappingURL=chunk-CKW5LT7K.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Loading/Loading.tsx","../src/resources/styles/colors/lightPalette.ts","../src/resources/styles/colors.ts"],"sourcesContent":["import { Backdrop, CircularProgress } from '@mui/material';\nimport { makeStyles } from 'tss-react/mui';\n\nimport { isDarkModeEnabled } from '@/resources/styles/colors';\n\nconst useStyles = makeStyles()(() => ({\n wrapper: {\n /**\n * MUI Dialogs have z-index = 1300\n */\n zIndex: 1301,\n backgroundColor: isDarkModeEnabled\n ? 'rgba(0, 0, 0, 0.5)'\n : 'rgba(255, 255, 255, 0.8)',\n },\n}));\n\ninterface ILoading {\n isLoading: boolean;\n}\n\nconst Loading = ({ isLoading }: ILoading) => {\n const { classes } = useStyles();\n\n return (\n <Backdrop\n aria-hidden={!isLoading}\n className={classes.wrapper}\n open={isLoading}\n data-testid=\"backdrop-loading\"\n >\n <CircularProgress color=\"primary\" />\n </Backdrop>\n );\n};\n\nexport default Loading;\n","import { ThemePalette } from './interface';\n\n/**\n * Define the light palette using the ThemePalette interface.\n */\nconst lightPalette: ThemePalette = {\n // General colors\n white: '#FFFFFF',\n black: '#000000',\n\n // Neutral\n neutral50: '#F0EBE6',\n neutral100: '#FAFAFA',\n neutral150: '#F4F4F4',\n neutral200: '#F1F1F1',\n neutral250: '#ECECEC',\n neutral300: '#E0E0E0',\n neutral400: '#C8C8C8',\n neutral500: '#BDBDBD',\n neutral600: '#999999',\n neutral700: '#878787',\n neutral750: '#6c6c6c',\n neutral800: '#555555',\n neutral900: '#4D4D4D',\n\n // Input and contrast\n contrast: '#000000',\n constrastOpacity50: 'rgba(0,0,0,0.5)',\n\n // Icon and Material UI colors\n iconSearch: '#606060',\n default: '#E0E0E0',\n muiPrimary: '#0781CE',\n muiPrimaryBlack: '#000000',\n lightMuiPrimaryColorBackground: '#eff4fb',\n lightBlueBackground: '#eff4fb',\n muiPrimaryAlternate: '#07BAF1',\n muiPrimaryHover: '#1565c0',\n muiSecondary: '#A42966',\n muiSecondaryAlternate: '#EC613C',\n muiSuccess: '#4caf50',\n muiSuccessAlternate: '#357a38',\n\n // Transparency variants\n blackOpacity10: 'rgba(0,0,0,0.1)',\n blackOpacity20: 'rgba(0,0,0,0.2)',\n blackOpacity30: 'rgba(0,0,0,0.3)',\n blackOpacity50: 'rgba(0,0,0,0.5)',\n blackOpacity80: 'rgba(0,0,0,0.8)',\n primaryOpacity10: 'rgba(7, 129, 206, 0.10)',\n primaryOpacity20: 'rgba(7, 129, 206, 0.20)',\n primaryOpacity30: 'rgba(7, 129, 206, 0.30)',\n secondaryAlternateOpacity30: 'rgba(236, 97, 60, 0.3)',\n blueOpacity08: 'rgba(25, 118, 210, 0.08)',\n whiteOpacity10: 'rgba(255,255,255,0.1)',\n whiteOpacity20: 'rgba(255,255,255,0.2)',\n whiteOpacity40: 'rgba(255,255,255,0.4)',\n\n // Table rows and top bar\n topBar: '#2e3133',\n\n // Button colors\n // Round Button (default)\n buttonHoverBackground: 'rgba(0, 0, 0, 0.04)',\n // Active Button\n buttonActiveText: '#0781CE',\n // Contrast Button\n buttonContrastBorder: '#CECECE',\n buttonContrastText: '#CECECE',\n\n // Error Button\n error: '#D32F2F',\n};\n\nexport default lightPalette;\n","import lightPalette from './colors/lightPalette';\n\nexport const isDarkModeEnabled = false;\nconst palette = lightPalette;\n\ninterface Colors {\n // General colors\n white: string;\n black: string;\n\n // Neutral\n neutral50: string;\n neutral100: string;\n neutral150: string;\n neutral200: string;\n neutral250: string;\n neutral300: string;\n neutral400: string;\n neutral500: string;\n neutral600: string;\n neutral700: string;\n neutral750: string;\n neutral800: string;\n neutral900: string;\n\n // Input and contrast\n contrast: string;\n constrastOpacity50: string;\n\n // Icon and Material UI colors\n iconSearch: string;\n default: string;\n muiPrimary: string;\n muiPrimaryBlack: string;\n lightMuiPrimaryColorBackground: string;\n lightBlueBackground: string;\n muiPrimaryAlternate: string;\n muiPrimaryHover: string;\n muiSecondary: string;\n muiSecondaryAlternate: string;\n muiSuccess: string;\n muiSuccessAlternate: string;\n\n // Transparency\n blackOpacity10: string;\n blackOpacity20: string;\n blackOpacity30: string;\n blackOpacity50: string;\n blackOpacity80: string;\n primaryOpacity10: string;\n primaryOpacity20: string;\n primaryOpacity30: string;\n secondaryAlternateOpacity30: string;\n blueOpacity08: string;\n whiteOpacity10: string;\n whiteOpacity20: string;\n whiteOpacity40: string;\n\n // Table rows and top bar\n topBar: string;\n // Error Button\n error: string;\n\n roundButton: {\n default: {\n border: string;\n color: string;\n disabled: {\n color: string;\n };\n hover: {\n background: string;\n };\n };\n filled: {\n background: string;\n color: string;\n hover: {\n background: string;\n };\n };\n active: {\n color: string;\n hover: {\n background: string;\n };\n };\n contrast: {\n border: string;\n color: string;\n hover: {\n background: string;\n };\n };\n tableButton: {\n color: string;\n };\n focused: {\n background: string;\n color: string;\n hover: {\n background: string;\n };\n };\n error: string;\n };\n\n movementCard: {\n default: {\n background: string;\n };\n disabled: {\n background: string;\n };\n pill: {\n color: string;\n background: string;\n };\n };\n\n rowProductCard: {\n locationSubtitle: string;\n };\n}\n\nexport const colors: Colors = {\n white: palette.white,\n black: palette.black,\n\n neutral50: palette.neutral50,\n neutral100: palette.neutral100,\n neutral150: palette.neutral150,\n neutral200: palette.neutral200,\n neutral250: palette.neutral250,\n neutral300: palette.neutral300,\n neutral400: palette.neutral400,\n neutral500: palette.neutral500,\n neutral600: palette.neutral600,\n neutral700: palette.neutral700,\n neutral750: palette.neutral750,\n neutral800: palette.neutral800,\n neutral900: palette.neutral900,\n\n // Input and contrast\n contrast: palette.contrast,\n constrastOpacity50: palette.constrastOpacity50,\n\n iconSearch: palette.iconSearch,\n default: palette.default,\n muiPrimary: palette.muiPrimary,\n muiPrimaryBlack: palette.muiPrimaryBlack,\n lightMuiPrimaryColorBackground: palette.lightMuiPrimaryColorBackground,\n lightBlueBackground: palette.lightBlueBackground,\n muiPrimaryAlternate: palette.muiPrimaryAlternate,\n muiPrimaryHover: palette.muiPrimaryHover,\n muiSecondary: palette.muiSecondary,\n muiSecondaryAlternate: palette.muiSecondaryAlternate,\n muiSuccess: palette.muiSuccess,\n muiSuccessAlternate: palette.muiSuccessAlternate,\n\n // Transparency\n blackOpacity10: palette.blackOpacity10,\n blackOpacity20: palette.blackOpacity20,\n blackOpacity30: palette.blackOpacity30,\n blackOpacity50: palette.blackOpacity50,\n blackOpacity80: palette.blackOpacity80,\n primaryOpacity10: palette.primaryOpacity10,\n primaryOpacity20: palette.primaryOpacity20,\n primaryOpacity30: palette.primaryOpacity30,\n secondaryAlternateOpacity30: palette.secondaryAlternateOpacity30,\n blueOpacity08: palette.blueOpacity08,\n whiteOpacity10: palette.whiteOpacity10,\n whiteOpacity20: palette.whiteOpacity20,\n whiteOpacity40: palette.whiteOpacity40,\n\n topBar: palette.topBar,\n error: palette.error,\n\n roundButton: {\n default: {\n border: palette.neutral600,\n color: palette.contrast,\n disabled: {\n color: palette.blackOpacity20,\n },\n hover: {\n background: palette.buttonHoverBackground,\n },\n },\n filled: {\n background: palette.neutral100,\n color: palette.blackOpacity80,\n hover: {\n background: palette.neutral250,\n },\n },\n active: {\n color: palette.buttonActiveText,\n hover: {\n background: palette.primaryOpacity20,\n },\n },\n contrast: {\n border: palette.buttonContrastBorder,\n color: palette.buttonContrastText,\n hover: {\n background: palette.whiteOpacity10,\n },\n },\n tableButton: {\n color: palette.neutral800,\n },\n focused: {\n background: palette.primaryOpacity20,\n color: palette.buttonActiveText,\n hover: {\n background: palette.primaryOpacity30,\n },\n },\n error: palette.error,\n },\n\n movementCard: {\n default: {\n background: palette.neutral100,\n },\n disabled: {\n background: palette.neutral250,\n },\n pill: {\n color: palette.neutral200,\n background: palette.neutral600,\n },\n },\n\n rowProductCard: {\n locationSubtitle: palette.neutral800,\n },\n};\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// src/hooks/useDynamicScroll/useDynamicScroll.ts
|
|
2
|
+
import { useCallback, useEffect, useState } from "react";
|
|
3
|
+
var useDynamicScroll = ({
|
|
4
|
+
scrollRef,
|
|
5
|
+
scrollAmount = 300,
|
|
6
|
+
effectDependencies
|
|
7
|
+
}) => {
|
|
8
|
+
const [isScrollable, setIsScrollable] = useState(false);
|
|
9
|
+
const checkIfScrollNeeded = useCallback(() => {
|
|
10
|
+
if (scrollRef.current) {
|
|
11
|
+
const { scrollWidth, clientWidth } = scrollRef.current;
|
|
12
|
+
setIsScrollable(scrollWidth > clientWidth);
|
|
13
|
+
}
|
|
14
|
+
}, []);
|
|
15
|
+
const scroll = (direction) => {
|
|
16
|
+
if (scrollRef?.current) {
|
|
17
|
+
scrollRef.current.scrollLeft += direction === "left" ? -scrollAmount : scrollAmount;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
checkIfScrollNeeded();
|
|
22
|
+
window.addEventListener("resize", checkIfScrollNeeded);
|
|
23
|
+
return () => {
|
|
24
|
+
window.removeEventListener("resize", checkIfScrollNeeded);
|
|
25
|
+
};
|
|
26
|
+
}, [checkIfScrollNeeded, ...effectDependencies]);
|
|
27
|
+
return { isScrollable, scroll };
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export {
|
|
31
|
+
useDynamicScroll
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=chunk-IXEF6LYV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useDynamicScroll/useDynamicScroll.ts"],"sourcesContent":["import { RefObject, useCallback, useEffect, useState } from 'react';\n\ntype useDynamicScrollParams = {\n scrollRef: RefObject<HTMLDivElement | null>;\n scrollAmount?: number;\n effectDependencies: unknown[];\n};\n\nexport const useDynamicScroll = ({\n scrollRef,\n scrollAmount = 300,\n effectDependencies,\n}: useDynamicScrollParams) => {\n const [isScrollable, setIsScrollable] = useState(false);\n\n const checkIfScrollNeeded = useCallback(() => {\n if (scrollRef.current) {\n const { scrollWidth, clientWidth } = scrollRef.current;\n setIsScrollable(scrollWidth > clientWidth);\n }\n }, []);\n\n const scroll = (direction: 'left' | 'right') => {\n if (scrollRef?.current) {\n scrollRef.current.scrollLeft +=\n direction === 'left' ? -scrollAmount : scrollAmount;\n }\n };\n\n useEffect(() => {\n checkIfScrollNeeded();\n\n window.addEventListener('resize', checkIfScrollNeeded);\n\n return () => {\n window.removeEventListener('resize', checkIfScrollNeeded);\n };\n }, [checkIfScrollNeeded, ...effectDependencies]);\n\n return { isScrollable, scroll };\n};\n"],"mappings":";AAAA,SAAoB,aAAa,WAAW,gBAAgB;AAQrD,IAAM,mBAAmB,CAAC;AAAA,EAC/B;AAAA,EACA,eAAe;AAAA,EACf;AACF,MAA8B;AAC5B,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,KAAK;AAEtD,QAAM,sBAAsB,YAAY,MAAM;AAC5C,QAAI,UAAU,SAAS;AACrB,YAAM,EAAE,aAAa,YAAY,IAAI,UAAU;AAC/C,sBAAgB,cAAc,WAAW;AAAA,IAC3C;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,SAAS,CAAC,cAAgC;AAC9C,QAAI,WAAW,SAAS;AACtB,gBAAU,QAAQ,cAChB,cAAc,SAAS,CAAC,eAAe;AAAA,IAC3C;AAAA,EACF;AAEA,YAAU,MAAM;AACd,wBAAoB;AAEpB,WAAO,iBAAiB,UAAU,mBAAmB;AAErD,WAAO,MAAM;AACX,aAAO,oBAAoB,UAAU,mBAAmB;AAAA,IAC1D;AAAA,EACF,GAAG,CAAC,qBAAqB,GAAG,kBAAkB,CAAC;AAE/C,SAAO,EAAE,cAAc,OAAO;AAChC;","names":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// src/utils/flattenTableFilters/flattenTableFilters.ts
|
|
2
|
+
var getFlattenedFiltersLabels = (filters, fieldName) => {
|
|
3
|
+
return filters.map((value) => {
|
|
4
|
+
if (typeof value === "object") {
|
|
5
|
+
return value[fieldName] ?? "";
|
|
6
|
+
}
|
|
7
|
+
return value;
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var getFlattenedFiltersIds = (filters) => Object.fromEntries(
|
|
11
|
+
Object.entries(filters).map(([id, values]) => [
|
|
12
|
+
id,
|
|
13
|
+
values.map((value) => typeof value === "object" ? value.id : value)
|
|
14
|
+
])
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
getFlattenedFiltersLabels,
|
|
19
|
+
getFlattenedFiltersIds
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=chunk-N3IUZVB7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/flattenTableFilters/flattenTableFilters.ts"],"sourcesContent":["import {\n HeaderFilterObject,\n HeaderFilters,\n} from '@/components/TableDesktop/TableDesktop';\n\nexport type FlattenedFilterIds = {\n [key: string]: (string | number)[];\n};\n\nexport const getFlattenedFiltersLabels = (\n filters: string[] | HeaderFilterObject[],\n fieldName: string,\n): (string | number)[] => {\n return filters.map((value: string | HeaderFilterObject) => {\n if (typeof value === 'object') {\n return value[fieldName] ?? '';\n }\n return value;\n });\n};\n\nexport const getFlattenedFiltersIds = (\n filters: HeaderFilters,\n): FlattenedFilterIds =>\n Object.fromEntries(\n Object.entries(filters).map(([id, values]) => [\n id,\n values.map((value) => (typeof value === 'object' ? value.id : value)),\n ]),\n );\n"],"mappings":";AASO,IAAM,4BAA4B,CACvC,SACA,cACwB;AACxB,SAAO,QAAQ,IAAI,CAAC,UAAuC;AACzD,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,MAAM,SAAS,KAAK;AAAA,IAC7B;AACA,WAAO;AAAA,EACT,CAAC;AACH;AAEO,IAAM,yBAAyB,CACpC,YAEA,OAAO;AAAA,EACL,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,MAAM,MAAM;AAAA,IAC5C;AAAA,IACA,OAAO,IAAI,CAAC,UAAW,OAAO,UAAU,WAAW,MAAM,KAAK,KAAM;AAAA,EACtE,CAAC;AACH;","names":[]}
|