@erpsquad/common 1.8.57 → 1.8.58
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/_virtual/index/index.esm.js +4 -2
- package/dist/_virtual/index/index.esm.js.map +1 -1
- package/dist/_virtual/index/index.esm10.js +3 -3
- package/dist/_virtual/index/index.esm2.js +2 -4
- package/dist/_virtual/index/index.esm2.js.map +1 -1
- package/dist/_virtual/index/index.esm3.js +3 -3
- package/dist/_virtual/index/index.esm4.js +3 -3
- package/dist/_virtual/index/index.esm5.js +3 -3
- package/dist/_virtual/index/index.esm6.js +3 -3
- package/dist/_virtual/index/index.esm7.js +3 -3
- package/dist/_virtual/index/index.esm8.js +3 -3
- package/dist/_virtual/index/index.esm9.js +3 -3
- package/dist/_virtual/index/index.js +1 -1
- package/dist/_virtual/index/index10.js +1 -1
- package/dist/_virtual/index/index2.js +1 -1
- package/dist/_virtual/index/index3.js +1 -1
- package/dist/_virtual/index/index4.js +1 -1
- package/dist/_virtual/index/index5.js +1 -1
- package/dist/_virtual/index/index6.js +1 -1
- package/dist/_virtual/index/index7.js +1 -1
- package/dist/_virtual/index/index8.js +1 -1
- package/dist/_virtual/index/index9.js +1 -1
- package/dist/components/filter/filter/index.esm.js +1 -0
- package/dist/components/filter/filter/index.esm.js.map +1 -1
- package/dist/components/filter/filter/index.js.map +1 -1
- package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.esm.js +1 -1
- package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js +1 -1
- package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js.map +1 -1
- package/dist/node_modules/@mui/system/colorManipulator/index.esm.js +2 -2
- package/dist/node_modules/@mui/system/colorManipulator/index.js +1 -1
- package/dist/node_modules/@mui/system/colorManipulator/index.js.map +1 -1
- package/dist/node_modules/@mui/system/createStyled/index.esm.js +6 -6
- package/dist/node_modules/@mui/system/createStyled/index.js +1 -1
- package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.esm.js +1 -1
- package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.js +1 -1
- package/dist/node_modules/prop-types/index/index.esm.js +1 -1
- package/dist/node_modules/prop-types/index/index.js +1 -1
- package/dist/node_modules/prop-types/index/index.js.map +1 -1
- package/dist/style.css +2 -2
- package/package.json +1 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
|
|
2
|
+
import * as index from "../../node_modules/@mui/material/utils/index/index.esm.js";
|
|
3
|
+
var require$$0 = /* @__PURE__ */ getAugmentedNamespace(index);
|
|
2
4
|
export {
|
|
3
|
-
|
|
5
|
+
require$$0 as default
|
|
4
6
|
};
|
|
5
7
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
|
|
2
|
-
import * as index from "../../node_modules/@mui/
|
|
3
|
-
var require$$
|
|
2
|
+
import * as index from "../../node_modules/@mui/utils/esm/clamp/index/index.esm.js";
|
|
3
|
+
var require$$2 = /* @__PURE__ */ getAugmentedNamespace(index);
|
|
4
4
|
export {
|
|
5
|
-
require$$
|
|
5
|
+
require$$2 as default
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=index.esm10.js.map
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import * as index from "../../node_modules/@mui/styled-engine/index/index.esm.js";
|
|
3
|
-
var require$$1 = /* @__PURE__ */ getAugmentedNamespace(index);
|
|
1
|
+
var propTypes = { exports: {} };
|
|
4
2
|
export {
|
|
5
|
-
|
|
3
|
+
propTypes as __module
|
|
6
4
|
};
|
|
7
5
|
//# sourceMappingURL=index.esm2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm2.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.esm2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
|
|
2
|
-
import * as index from "../../node_modules/@mui/
|
|
3
|
-
var require$$
|
|
2
|
+
import * as index from "../../node_modules/@mui/styled-engine/index/index.esm.js";
|
|
3
|
+
var require$$1 = /* @__PURE__ */ getAugmentedNamespace(index);
|
|
4
4
|
export {
|
|
5
|
-
require$$
|
|
5
|
+
require$$1 as default
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=index.esm3.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
|
|
2
|
-
import * as index from "../../node_modules/@mui/utils/esm/
|
|
3
|
-
var require$$
|
|
2
|
+
import * as index from "../../node_modules/@mui/utils/esm/deepmerge/index/index.esm.js";
|
|
3
|
+
var require$$4 = /* @__PURE__ */ getAugmentedNamespace(index);
|
|
4
4
|
export {
|
|
5
|
-
require$$
|
|
5
|
+
require$$4 as default
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=index.esm4.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
|
|
2
|
-
import * as index from "../../node_modules/@mui/utils/esm/
|
|
3
|
-
var require$$
|
|
2
|
+
import * as index from "../../node_modules/@mui/utils/esm/capitalize/index/index.esm.js";
|
|
3
|
+
var require$$5 = /* @__PURE__ */ getAugmentedNamespace(index);
|
|
4
4
|
export {
|
|
5
|
-
require$$
|
|
5
|
+
require$$5 as default
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=index.esm5.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
|
|
2
|
-
import * as index from "../../node_modules/@mui/
|
|
3
|
-
var require$$
|
|
2
|
+
import * as index from "../../node_modules/@mui/utils/esm/getDisplayName/index/index.esm.js";
|
|
3
|
+
var require$$6 = /* @__PURE__ */ getAugmentedNamespace(index);
|
|
4
4
|
export {
|
|
5
|
-
require$$
|
|
5
|
+
require$$6 as default
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=index.esm6.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
|
|
2
|
-
import * as index from "../../node_modules/@mui/system/esm/
|
|
3
|
-
var require$$
|
|
2
|
+
import * as index from "../../node_modules/@mui/system/esm/createTheme/index/index.esm.js";
|
|
3
|
+
var require$$7 = /* @__PURE__ */ getAugmentedNamespace(index);
|
|
4
4
|
export {
|
|
5
|
-
require$$
|
|
5
|
+
require$$7 as default
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=index.esm7.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
|
|
2
|
-
import * as index from "../../node_modules/@mui/
|
|
3
|
-
var require$$
|
|
2
|
+
import * as index from "../../node_modules/@mui/system/esm/styleFunctionSx/index/index.esm.js";
|
|
3
|
+
var require$$8 = /* @__PURE__ */ getAugmentedNamespace(index);
|
|
4
4
|
export {
|
|
5
|
-
require$$
|
|
5
|
+
require$$8 as default
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=index.esm8.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
|
|
2
|
-
import * as index from "../../node_modules/@mui/utils/esm/
|
|
3
|
-
var require$$
|
|
2
|
+
import * as index from "../../node_modules/@mui/utils/esm/formatMuiErrorMessage/index/index.esm.js";
|
|
3
|
+
var require$$1 = /* @__PURE__ */ getAugmentedNamespace(index);
|
|
4
4
|
export {
|
|
5
|
-
require$$
|
|
5
|
+
require$$1 as default
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=index.esm9.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),r=require("../../node_modules/@mui/material/utils/index/index.js"),s=/* @__PURE__ */e.getAugmentedNamespace(r);exports.default=s;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/clamp/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
|
|
2
2
|
//# sourceMappingURL=index10.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0})
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.__module={exports:{}};
|
|
2
2
|
//# sourceMappingURL=index2.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/styled-engine/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
|
|
2
2
|
//# sourceMappingURL=index3.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/deepmerge/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
|
|
2
2
|
//# sourceMappingURL=index4.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/capitalize/index/index.js"),i=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=i;
|
|
2
2
|
//# sourceMappingURL=index5.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/getDisplayName/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
|
|
2
2
|
//# sourceMappingURL=index6.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/system/esm/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/system/esm/createTheme/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
|
|
2
2
|
//# sourceMappingURL=index7.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/system/esm/styleFunctionSx/index/index.js"),t=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=t;
|
|
2
2
|
//# sourceMappingURL=index8.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),r=require("../../node_modules/@mui/utils/esm/formatMuiErrorMessage/index/index.js"),s=/* @__PURE__ */e.getAugmentedNamespace(r);exports.default=s;
|
|
2
2
|
//# sourceMappingURL=index9.js.map
|
|
@@ -55,6 +55,7 @@ const Filter = ({
|
|
|
55
55
|
const token = localStorage.getItem(auth.storageTokenKeyName);
|
|
56
56
|
const { updatePageInfo, activePage, schemaFields, setActivePage } = usePages();
|
|
57
57
|
fields = fields || schemaFields.length ? generateFields(schemaFields) : fields;
|
|
58
|
+
console.log("🚀 ~ Filter ~ fields:", fields);
|
|
58
59
|
const [query, setQuery] = useState(initialQuery);
|
|
59
60
|
const [filteredSavedFilters, setFilteredSavedFilters] = useState(savedFilters ?? []);
|
|
60
61
|
const [selectedFilter, setSelectedFilter] = useState(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../../../src/components/filter/filter.tsx"],"sourcesContent":["/* eslint-disable */\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { RuleGroupType } from \"react-querybuilder\";\nimport \"react-querybuilder/dist/query-builder.scss\";\nimport { QueryBuilder /* , formatQuery */ } from \"react-querybuilder\";\nimport { QueryBuilderMaterial } from \"@react-querybuilder/material\";\nimport {\n Box,\n IconButton,\n MenuItem,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n OutlinedInput,\n InputAdornment,\n Alert,\n} from \"@mui/material\";\nimport \"./filter.scss\";\nimport Select from \"../select/select\";\nimport Typography from \"../typography/typography\";\nimport { Close } from \"@mui/icons-material\";\nimport CombinatorSelect from \"./components/combinator-select\";\nimport RemoveAction from \"./components/remove-action\";\nimport FieldSelect from \"./components/field-select\";\nimport AddFilterButton from \"./components/add-filter\";\nimport AddGroupButton from \"./components/add-group\";\nimport ValueEditor from \"./components/value-editor\";\nimport OperatorSelect from \"./components/operator-select\";\nimport Button from \"../button/button\";\nimport RemoveGroupAction from \"./components/delete-group\";\nimport SearchBar from \"../search-bar/search-bar\";\nimport SaveFilterModal from \"../save-filter-modal/save-filter-modal\";\n\nimport {\n setBaseUrl,\n putV1FilterId,\n deleteV1FilterId,\n} from \"../../api-client/api.system-feature/api\";\nimport type * as Types from \"../../api-client/api.system-feature/api-types\";\nimport { auth } from \"../../constants/auth\";\nimport { generateFields, generateQueryString, getErrorMessage } from \"../../utils/common\";\nimport { usePages } from \"../../hooks/use-pages\";\nimport _ from \"lodash\";\nimport { Edit, Trash } from \"../icons\";\nimport { enqueueSnackbar } from \"notistack\";\nimport { IResources, routeToResourceMap } from \"../../constants/route-page-map\";\nimport { useLocation } from \"react-router-dom\";\nimport { useLanguage } from \"../../hooks/useLangauge\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\n\ninterface IFilter {\n open: boolean;\n onClose: () => void;\n activeView?: string;\n savedFilters?: SavedFilter[];\n fetchSavedFilters?: () => Promise<void>;\n setFilterBar?: any;\n onSaveFilter?: (query: RuleGroupType) => void;\n onSelectedFilter?: (filterName: string) => void;\n fields: any;\n applyFilter: any\n}\n\ninterface SavedFilter {\n id: string;\n name: string;\n query: RuleGroupType;\n}\n\nconst initialQuery: RuleGroupType = { combinator: \"and\", rules: [] };\n\nconst Filter = ({\n open,\n onClose,\n // activeView,\n savedFilters,\n fetchSavedFilters,\n onSaveFilter,\n onSelectedFilter,\n applyFilter,\n fields = []\n}: IFilter) => {\n const location = useLocation();\n\n const token = localStorage.getItem(auth.storageTokenKeyName);\n const { updatePageInfo, activePage, schemaFields, setActivePage } = usePages()\n\n fields = fields || schemaFields.length ? generateFields(schemaFields) : fields\n const [query, setQuery] = useState<RuleGroupType>(initialQuery);\n const [filteredSavedFilters, setFilteredSavedFilters] = useState<\n SavedFilter[]\n >(savedFilters ?? []);\n const [selectedFilter, setSelectedFilter] = useState<any>(null);\n const [openRenameFilter, setIsOpenRenameFilter] = useState<any>(null);\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\n const { isRtl } = useLanguage();\n const resources: IResources = useMemo(() => routeToResourceMap[location.pathname] || null, [location.pathname])\n\n useEffect(() => {\n savedFilters && setFilteredSavedFilters(savedFilters);\n }, [savedFilters]);\n\n\n const handleApplyFilter = useCallback((clear: boolean = false) => {\n let q = query\n const isInvalid = isDuplicatedFilters(q)\n if (isInvalid) {\n setErrorMessage(\"Invalid filter\")\n return\n }\n if (clear) {\n q = initialQuery\n setQuery(q)\n } else {\n const generatedSQLQuery = q ? generateQueryString(q) : q;\n updatePageInfo({ filters: q, filterQueryString: generatedSQLQuery })\n // applyFilter(generatedSQLQuery);\n onClose();\n }\n }, [query, applyFilter, onClose]);\n\n const handleQueryChange = (q: RuleGroupType) => {\n const updatedRules = q.rules.map((rule, i) => ({\n ...rule,\n value: rule.field !== query.rules?.[i]?.field || ['null', 'notNull'].includes(rule.operator) ? \"\" : rule.value\n }));\n let isValid = true;\n let errorMessage = '';\n\n // // Helper function to check for invalid aggregate usage, considering parent combinators\n // const checkForInvalidAggregateUsage = (rules: any[], combinator: string, parentCombinator: string | null): boolean => {\n // let hasAggregateField = false;\n // let hasNonAggregateField = false;\n\n // rules.forEach(rule => {\n // // Check nested groups\n // if (rule.rules) {\n // // If the current group or any parent has an 'OR', pass it down\n // const currentCombinator = combinator === 'or' || parentCombinator === 'or' ? 'or' : combinator;\n // checkForInvalidAggregateUsage(rule.rules, rule.combinator, currentCombinator);\n // } else {\n // // Find the field in the fields array and check if it's an aggregate\n // const field = fields.find((f: any) => f.name === rule.field);\n\n // if (field?.is_aggregate) {\n // hasAggregateField = true;\n // } else {\n // hasNonAggregateField = true;\n // }\n // }\n // });\n\n // // If any parent or current rule uses 'OR' with a mix of aggregate and non-aggregate fields, it's invalid\n // if ((combinator === 'or' || parentCombinator === 'or') && hasAggregateField && hasNonAggregateField) {\n // isValid = false;\n // errorMessage = 'Mixing aggregate and non-aggregate fields in OR conditions may lead to unexpected results.';\n // }\n\n // return isValid;\n // };\n\n // Start checking from the root level (no parent combinator initially)\n\n\n // Always set the query, regardless of validity\n setQuery({ ...q, rules: updatedRules });\n\n // Set error message if invalid, otherwise clear it\n if (!isValid) {\n setErrorMessage(errorMessage);\n } else {\n setErrorMessage(null);\n }\n\n // Always call onSaveFilter, if it exists\n if (onSaveFilter) {\n onSaveFilter(q);\n }\n };\n\n const handleFilterSwitch = (sf?: any) => {\n if (sf) {\n setSelectedFilter(sf);\n setQuery(sf.query);\n if (onSelectedFilter) {\n onSelectedFilter(sf);\n }\n } else {\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (onSelectedFilter) {\n onSelectedFilter(null);\n }\n }\n };\n\n const handleSearchEvent = (searchText: string) => {\n const filteredFilters = savedFilters?.filter((filter: any) =>\n filter.name.toLowerCase().includes(searchText.toLowerCase())\n );\n if (filteredFilters) {\n setFilteredSavedFilters(filteredFilters);\n }\n };\n\n const handleRenameFilter = async (filterId: string, newName: string) => {\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n name: newName,\n module: resources?.fieldResource || resources?.pageResource\n };\n\n try {\n await putV1FilterId(putFilterRequest)\n // setSelectedFilter(newName);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n enqueueSnackbar('Filters renamed successfully.')\n } catch (error) {\n let m: string = 'Something went wrong on saving filters'\n if (error instanceof Error) {\n m = getErrorMessage(error.message)\n }\n enqueueSnackbar(m, { variant: 'error' })\n return false\n }\n return true\n };\n const handleUpdateSelectedFilterQuery = async () => {\n if (selectedFilter) {\n\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: selectedFilter.id,\n data: query,\n };\n\n putV1FilterId(putFilterRequest)\n .then((response: any) => {\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n setActivePage((prev: any) => ({\n ...prev,\n filters: {\n ...prev.filters,\n rules: query.rules,\n combinator: query.combinator,\n name: selectedFilter.name\n\n }\n }));\n })\n .catch((err: any) => enqueueSnackbar(\"Error renaming saved filters:\", { variant: 'error' }));\n }\n };\n\n const handleSubmitRename = (name: string) => {\n if (openRenameFilter) {\n return handleRenameFilter(openRenameFilter.id, name);\n }\n };\n\n const handleDeleteFilter = async (filterId: string) => {\n const deleteFilterRequest: Types.DeleteV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n };\n\n deleteV1FilterId(deleteFilterRequest)\n .then((response: any) => {\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n\n })\n .catch((err: any) => console.log(\"Error deleting saved filters:\", err));\n };\n\n useEffect(() => {\n let q = initialQuery\n if (!_.isEmpty(activePage.filters)) {\n q = activePage.filters\n }\n setQuery(q)\n const selectedFilter = savedFilters?.find((f: any) => f.name === activePage?.filters?.name);\n setSelectedFilter(selectedFilter || null);\n }, [activePage?.filters, savedFilters]);\n\n const isDuplicatedFilters = (rule) => {\n let uniques: string[] = []\n rule?.rules?.forEach((r: any) => {\n if (uniques.includes(r.field) && rule.combinator == 'and') {\n return true\n }\n uniques.push(r.field)\n })\n return uniques.length !== rule?.rules?.length\n }\n\n\n const isRuleInvalid = (rule: any): boolean => {\n // If it's a group (has nested rules), recurse\n if (Array.isArray(rule.rules)) {\n return rule.rules.length ? rule.rules.some(isRuleInvalid) : !rule.rules.length;\n }\n\n // Otherwise, validate individual rule\n return (\n !rule.field ||\n (_.isEmpty(rule.value) && !['null', 'notNull'].includes(rule.operator))\n );\n };\n\n const disabled = useMemo(() => isRuleInvalid(query) || errorMessage, [query, errorMessage])\n // const disabled = isRuleInvalid(query) || errorMessage;\n\n return (\n <div>\n <Dialog\n open={open}\n onClose={onClose}\n maxWidth='md'\n fullWidth={true}\n PaperProps={{\n sx: { borderRadius: 2 }\n }}\n >\n <DialogTitle className=\"filter-header\">\n <Typography type=\"s3\" weight=\"medium\" color=\"theme.secondary.1000\">\n Filters\n </Typography>\n <Box gap={1} display={\"flex\"}>\n <Select\n fullWidth\n size=\"small\"\n className=\"filter-dropdown\"\n value={selectedFilter ? selectedFilter.name : \"Saved Filters\"}\n onChange={(event: any) => {\n const sf = savedFilters?.find(f => f.name == event.target.value)\n handleFilterSwitch(sf)\n }}\n variant=\"outlined\"\n onClose={() => {\n setTimeout(() => {\n handleSearchEvent(\"\")\n }, 500);\n }}\n input={\n selectedFilter ? (\n <OutlinedInput\n label=''\n endAdornment={\n <InputAdornment position='end'>\n <IconButton\n aria-label='clear selection'\n onClick={() => {\n handleFilterSwitch()\n }}\n edge='end'\n sx={{ mr: 1.5 }}\n size='small'>\n <Close sx={{ fontSize: '1rem' }} />\n </IconButton>\n </InputAdornment>\n }\n />\n ) : undefined\n }\n >\n <div className=\"searchbar-box-list\">\n <SearchBar\n placeholder={\"Search Filters\"}\n handleSearch={(e) => handleSearchEvent(e)}\n />\n </div>\n {/* <Typography\n color=\"theme.secondary.1000\"\n type=\"s4\"\n className=\"filter-title\"\n >\n Saved Filters\n </Typography> */}\n {filteredSavedFilters?.map((savedFilter: SavedFilter) => (\n <MenuItem\n key={savedFilter.id}\n value={savedFilter?.name}\n className=\"menu-list\"\n selected={selectedFilter?.name == savedFilter?.name}\n >\n <Typography color=\"theme.secondary.1000\" type=\"s3\">\n {savedFilter?.name}\n </Typography>\n\n <div className=\"icon-list\">\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n setIsOpenRenameFilter(savedFilter)\n }}>\n <Edit fontSize=\"small\" color={selectedFilter?.name == savedFilter?.name ? \"theme.primary.800\" : 'inherit'} />\n </IconButton>\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n handleDeleteFilter(savedFilter.id)\n }} color=\"error\">\n <Trash fontSize=\"small\" color=\"theme.error.600\" />\n </IconButton>\n </div>\n </MenuItem>\n ))}\n </Select>\n <SaveFilterModal\n open={openRenameFilter !== null}\n onClose={() => setIsOpenRenameFilter(null)}\n handleSubmit={(name) => handleSubmitRename(name)}\n oldName={openRenameFilter?.name}\n />\n <Box>\n <IconButton size=\"small\" onClick={onClose}>\n <Close fontSize=\"small\" />\n </IconButton>\n </Box>\n </Box>\n </DialogTitle>\n <DialogContent className=\"content\">\n {/* Display error message */}\n {errorMessage && (\n <Alert severity=\"error\" sx={{ px: 1, pt: 0.5, mb: 1 }}>\n <Typography\n color=\"error\"\n type=\"s4\"\n >\n {errorMessage}\n </Typography>\n </Alert>\n )}\n <QueryBuilderMaterial>\n <QueryBuilder\n fields={fields || []}\n query={query}\n onQueryChange={handleQueryChange}\n showCombinatorsBetweenRules={true}\n controlClassnames={{\n header: \"actions\",\n }}\n controlElements={{\n addRuleAction: AddFilterButton,\n addGroupAction: AddGroupButton,\n combinatorSelector: CombinatorSelect,\n fieldSelector: FieldSelect,\n operatorSelector: OperatorSelect,\n removeRuleAction: RemoveAction,\n valueEditor: ValueEditor,\n removeGroupAction: RemoveGroupAction,\n }}\n />\n <Button\n variant=\"text\"\n className={isRtl ? 'remove-filters_rtl' : 'remove-filters'}\n onClick={() => {\n handleApplyFilter(true)\n }}\n disabled={disabled}\n >\n Clear all filters\n </Button>\n </QueryBuilderMaterial>\n </DialogContent>\n <DialogActions className=\"filter-footer\">\n <Box sx={{ display: 'flex', alignItems: 'center', justifyContent: selectedFilter ? 'space-between' : 'flex-end', width: '100%' }}>\n {selectedFilter &&\n <Box>\n <Button onClick={handleUpdateSelectedFilterQuery}>\n Update Seleted filter\n </Button>\n </Box>\n }\n <Box sx={{ display: 'flex', gap: 1 }}>\n <Button className=\"cancel-filter-btn\" onClick={onClose}>\n Cancel\n </Button>\n <Button\n disabled={disabled}\n onClick={() => handleApplyFilter()}\n >\n Apply\n </Button>\n </Box>\n </Box>\n </DialogActions>\n </Dialog>\n </div>\n );\n};\n\nexport default Filter;\n"],"names":["selectedFilter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../../src/components/filter/filter.tsx"],"sourcesContent":["/* eslint-disable */\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { RuleGroupType } from \"react-querybuilder\";\nimport \"react-querybuilder/dist/query-builder.scss\";\nimport { QueryBuilder /* , formatQuery */ } from \"react-querybuilder\";\nimport { QueryBuilderMaterial } from \"@react-querybuilder/material\";\nimport {\n Box,\n IconButton,\n MenuItem,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n OutlinedInput,\n InputAdornment,\n Alert,\n} from \"@mui/material\";\nimport \"./filter.scss\";\nimport Select from \"../select/select\";\nimport Typography from \"../typography/typography\";\nimport { Close } from \"@mui/icons-material\";\nimport CombinatorSelect from \"./components/combinator-select\";\nimport RemoveAction from \"./components/remove-action\";\nimport FieldSelect from \"./components/field-select\";\nimport AddFilterButton from \"./components/add-filter\";\nimport AddGroupButton from \"./components/add-group\";\nimport ValueEditor from \"./components/value-editor\";\nimport OperatorSelect from \"./components/operator-select\";\nimport Button from \"../button/button\";\nimport RemoveGroupAction from \"./components/delete-group\";\nimport SearchBar from \"../search-bar/search-bar\";\nimport SaveFilterModal from \"../save-filter-modal/save-filter-modal\";\n\nimport {\n setBaseUrl,\n putV1FilterId,\n deleteV1FilterId,\n} from \"../../api-client/api.system-feature/api\";\nimport type * as Types from \"../../api-client/api.system-feature/api-types\";\nimport { auth } from \"../../constants/auth\";\nimport { generateFields, generateQueryString, getErrorMessage } from \"../../utils/common\";\nimport { usePages } from \"../../hooks/use-pages\";\nimport _ from \"lodash\";\nimport { Edit, Trash } from \"../icons\";\nimport { enqueueSnackbar } from \"notistack\";\nimport { IResources, routeToResourceMap } from \"../../constants/route-page-map\";\nimport { useLocation } from \"react-router-dom\";\nimport { useLanguage } from \"../../hooks/useLangauge\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\n\ninterface IFilter {\n open: boolean;\n onClose: () => void;\n activeView?: string;\n savedFilters?: SavedFilter[];\n fetchSavedFilters?: () => Promise<void>;\n setFilterBar?: any;\n onSaveFilter?: (query: RuleGroupType) => void;\n onSelectedFilter?: (filterName: string) => void;\n fields: any;\n applyFilter: any\n}\n\ninterface SavedFilter {\n id: string;\n name: string;\n query: RuleGroupType;\n}\n\nconst initialQuery: RuleGroupType = { combinator: \"and\", rules: [] };\n\nconst Filter = ({\n open,\n onClose,\n // activeView,\n savedFilters,\n fetchSavedFilters,\n onSaveFilter,\n onSelectedFilter,\n applyFilter,\n fields = []\n}: IFilter) => {\n const location = useLocation();\n\n const token = localStorage.getItem(auth.storageTokenKeyName);\n const { updatePageInfo, activePage, schemaFields, setActivePage } = usePages()\n\n fields = fields || schemaFields.length ? generateFields(schemaFields) : fields\n console.log(\"🚀 ~ Filter ~ fields:\", fields)\n const [query, setQuery] = useState<RuleGroupType>(initialQuery);\n const [filteredSavedFilters, setFilteredSavedFilters] = useState<\n SavedFilter[]\n >(savedFilters ?? []);\n const [selectedFilter, setSelectedFilter] = useState<any>(null);\n const [openRenameFilter, setIsOpenRenameFilter] = useState<any>(null);\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\n const { isRtl } = useLanguage();\n const resources: IResources = useMemo(() => routeToResourceMap[location.pathname] || null, [location.pathname])\n\n useEffect(() => {\n savedFilters && setFilteredSavedFilters(savedFilters);\n }, [savedFilters]);\n\n\n const handleApplyFilter = useCallback((clear: boolean = false) => {\n let q = query\n const isInvalid = isDuplicatedFilters(q)\n if (isInvalid) {\n setErrorMessage(\"Invalid filter\")\n return\n }\n if (clear) {\n q = initialQuery\n setQuery(q)\n } else {\n const generatedSQLQuery = q ? generateQueryString(q) : q;\n updatePageInfo({ filters: q, filterQueryString: generatedSQLQuery })\n // applyFilter(generatedSQLQuery);\n onClose();\n }\n }, [query, applyFilter, onClose]);\n\n const handleQueryChange = (q: RuleGroupType) => {\n const updatedRules = q.rules.map((rule, i) => ({\n ...rule,\n value: rule.field !== query.rules?.[i]?.field || ['null', 'notNull'].includes(rule.operator) ? \"\" : rule.value\n }));\n let isValid = true;\n let errorMessage = '';\n\n // // Helper function to check for invalid aggregate usage, considering parent combinators\n // const checkForInvalidAggregateUsage = (rules: any[], combinator: string, parentCombinator: string | null): boolean => {\n // let hasAggregateField = false;\n // let hasNonAggregateField = false;\n\n // rules.forEach(rule => {\n // // Check nested groups\n // if (rule.rules) {\n // // If the current group or any parent has an 'OR', pass it down\n // const currentCombinator = combinator === 'or' || parentCombinator === 'or' ? 'or' : combinator;\n // checkForInvalidAggregateUsage(rule.rules, rule.combinator, currentCombinator);\n // } else {\n // // Find the field in the fields array and check if it's an aggregate\n // const field = fields.find((f: any) => f.name === rule.field);\n\n // if (field?.is_aggregate) {\n // hasAggregateField = true;\n // } else {\n // hasNonAggregateField = true;\n // }\n // }\n // });\n\n // // If any parent or current rule uses 'OR' with a mix of aggregate and non-aggregate fields, it's invalid\n // if ((combinator === 'or' || parentCombinator === 'or') && hasAggregateField && hasNonAggregateField) {\n // isValid = false;\n // errorMessage = 'Mixing aggregate and non-aggregate fields in OR conditions may lead to unexpected results.';\n // }\n\n // return isValid;\n // };\n\n // Start checking from the root level (no parent combinator initially)\n\n\n // Always set the query, regardless of validity\n setQuery({ ...q, rules: updatedRules });\n\n // Set error message if invalid, otherwise clear it\n if (!isValid) {\n setErrorMessage(errorMessage);\n } else {\n setErrorMessage(null);\n }\n\n // Always call onSaveFilter, if it exists\n if (onSaveFilter) {\n onSaveFilter(q);\n }\n };\n\n const handleFilterSwitch = (sf?: any) => {\n if (sf) {\n setSelectedFilter(sf);\n setQuery(sf.query);\n if (onSelectedFilter) {\n onSelectedFilter(sf);\n }\n } else {\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (onSelectedFilter) {\n onSelectedFilter(null);\n }\n }\n };\n\n const handleSearchEvent = (searchText: string) => {\n const filteredFilters = savedFilters?.filter((filter: any) =>\n filter.name.toLowerCase().includes(searchText.toLowerCase())\n );\n if (filteredFilters) {\n setFilteredSavedFilters(filteredFilters);\n }\n };\n\n const handleRenameFilter = async (filterId: string, newName: string) => {\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n name: newName,\n module: resources?.fieldResource || resources?.pageResource\n };\n\n try {\n await putV1FilterId(putFilterRequest)\n // setSelectedFilter(newName);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n enqueueSnackbar('Filters renamed successfully.')\n } catch (error) {\n let m: string = 'Something went wrong on saving filters'\n if (error instanceof Error) {\n m = getErrorMessage(error.message)\n }\n enqueueSnackbar(m, { variant: 'error' })\n return false\n }\n return true\n };\n const handleUpdateSelectedFilterQuery = async () => {\n if (selectedFilter) {\n\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: selectedFilter.id,\n data: query,\n };\n\n putV1FilterId(putFilterRequest)\n .then((response: any) => {\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n setActivePage((prev: any) => ({\n ...prev,\n filters: {\n ...prev.filters,\n rules: query.rules,\n combinator: query.combinator,\n name: selectedFilter.name\n\n }\n }));\n })\n .catch((err: any) => enqueueSnackbar(\"Error renaming saved filters:\", { variant: 'error' }));\n }\n };\n\n const handleSubmitRename = (name: string) => {\n if (openRenameFilter) {\n return handleRenameFilter(openRenameFilter.id, name);\n }\n };\n\n const handleDeleteFilter = async (filterId: string) => {\n const deleteFilterRequest: Types.DeleteV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n };\n\n deleteV1FilterId(deleteFilterRequest)\n .then((response: any) => {\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n\n })\n .catch((err: any) => console.log(\"Error deleting saved filters:\", err));\n };\n\n useEffect(() => {\n let q = initialQuery\n if (!_.isEmpty(activePage.filters)) {\n q = activePage.filters\n }\n setQuery(q)\n const selectedFilter = savedFilters?.find((f: any) => f.name === activePage?.filters?.name);\n setSelectedFilter(selectedFilter || null);\n }, [activePage?.filters, savedFilters]);\n\n const isDuplicatedFilters = (rule) => {\n let uniques: string[] = []\n rule?.rules?.forEach((r: any) => {\n if (uniques.includes(r.field) && rule.combinator == 'and') {\n return true\n }\n uniques.push(r.field)\n })\n return uniques.length !== rule?.rules?.length\n }\n\n\n const isRuleInvalid = (rule: any): boolean => {\n // If it's a group (has nested rules), recurse\n if (Array.isArray(rule.rules)) {\n return rule.rules.length ? rule.rules.some(isRuleInvalid) : !rule.rules.length;\n }\n\n // Otherwise, validate individual rule\n return (\n !rule.field ||\n (_.isEmpty(rule.value) && !['null', 'notNull'].includes(rule.operator))\n );\n };\n\n const disabled = useMemo(() => isRuleInvalid(query) || errorMessage, [query, errorMessage])\n // const disabled = isRuleInvalid(query) || errorMessage;\n\n return (\n <div>\n <Dialog\n open={open}\n onClose={onClose}\n maxWidth='md'\n fullWidth={true}\n PaperProps={{\n sx: { borderRadius: 2 }\n }}\n >\n <DialogTitle className=\"filter-header\">\n <Typography type=\"s3\" weight=\"medium\" color=\"theme.secondary.1000\">\n Filters\n </Typography>\n <Box gap={1} display={\"flex\"}>\n <Select\n fullWidth\n size=\"small\"\n className=\"filter-dropdown\"\n value={selectedFilter ? selectedFilter.name : \"Saved Filters\"}\n onChange={(event: any) => {\n const sf = savedFilters?.find(f => f.name == event.target.value)\n handleFilterSwitch(sf)\n }}\n variant=\"outlined\"\n onClose={() => {\n setTimeout(() => {\n handleSearchEvent(\"\")\n }, 500);\n }}\n input={\n selectedFilter ? (\n <OutlinedInput\n label=''\n endAdornment={\n <InputAdornment position='end'>\n <IconButton\n aria-label='clear selection'\n onClick={() => {\n handleFilterSwitch()\n }}\n edge='end'\n sx={{ mr: 1.5 }}\n size='small'>\n <Close sx={{ fontSize: '1rem' }} />\n </IconButton>\n </InputAdornment>\n }\n />\n ) : undefined\n }\n >\n <div className=\"searchbar-box-list\">\n <SearchBar\n placeholder={\"Search Filters\"}\n handleSearch={(e) => handleSearchEvent(e)}\n />\n </div>\n {/* <Typography\n color=\"theme.secondary.1000\"\n type=\"s4\"\n className=\"filter-title\"\n >\n Saved Filters\n </Typography> */}\n {filteredSavedFilters?.map((savedFilter: SavedFilter) => (\n <MenuItem\n key={savedFilter.id}\n value={savedFilter?.name}\n className=\"menu-list\"\n selected={selectedFilter?.name == savedFilter?.name}\n >\n <Typography color=\"theme.secondary.1000\" type=\"s3\">\n {savedFilter?.name}\n </Typography>\n\n <div className=\"icon-list\">\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n setIsOpenRenameFilter(savedFilter)\n }}>\n <Edit fontSize=\"small\" color={selectedFilter?.name == savedFilter?.name ? \"theme.primary.800\" : 'inherit'} />\n </IconButton>\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n handleDeleteFilter(savedFilter.id)\n }} color=\"error\">\n <Trash fontSize=\"small\" color=\"theme.error.600\" />\n </IconButton>\n </div>\n </MenuItem>\n ))}\n </Select>\n <SaveFilterModal\n open={openRenameFilter !== null}\n onClose={() => setIsOpenRenameFilter(null)}\n handleSubmit={(name) => handleSubmitRename(name)}\n oldName={openRenameFilter?.name}\n />\n <Box>\n <IconButton size=\"small\" onClick={onClose}>\n <Close fontSize=\"small\" />\n </IconButton>\n </Box>\n </Box>\n </DialogTitle>\n <DialogContent className=\"content\">\n {/* Display error message */}\n {errorMessage && (\n <Alert severity=\"error\" sx={{ px: 1, pt: 0.5, mb: 1 }}>\n <Typography\n color=\"error\"\n type=\"s4\"\n >\n {errorMessage}\n </Typography>\n </Alert>\n )}\n <QueryBuilderMaterial>\n <QueryBuilder\n fields={fields || []}\n query={query}\n onQueryChange={handleQueryChange}\n showCombinatorsBetweenRules={true}\n controlClassnames={{\n header: \"actions\",\n }}\n controlElements={{\n addRuleAction: AddFilterButton,\n addGroupAction: AddGroupButton,\n combinatorSelector: CombinatorSelect,\n fieldSelector: FieldSelect,\n operatorSelector: OperatorSelect,\n removeRuleAction: RemoveAction,\n valueEditor: ValueEditor,\n removeGroupAction: RemoveGroupAction,\n }}\n />\n <Button\n variant=\"text\"\n className={isRtl ? 'remove-filters_rtl' : 'remove-filters'}\n onClick={() => {\n handleApplyFilter(true)\n }}\n disabled={disabled}\n >\n Clear all filters\n </Button>\n </QueryBuilderMaterial>\n </DialogContent>\n <DialogActions className=\"filter-footer\">\n <Box sx={{ display: 'flex', alignItems: 'center', justifyContent: selectedFilter ? 'space-between' : 'flex-end', width: '100%' }}>\n {selectedFilter &&\n <Box>\n <Button onClick={handleUpdateSelectedFilterQuery}>\n Update Seleted filter\n </Button>\n </Box>\n }\n <Box sx={{ display: 'flex', gap: 1 }}>\n <Button className=\"cancel-filter-btn\" onClick={onClose}>\n Cancel\n </Button>\n <Button\n disabled={disabled}\n onClick={() => handleApplyFilter()}\n >\n Apply\n </Button>\n </Box>\n </Box>\n </DialogActions>\n </Dialog>\n </div>\n );\n};\n\nexport default Filter;\n"],"names":["selectedFilter"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/filter/filter.tsx"],"sourcesContent":["/* eslint-disable */\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { RuleGroupType } from \"react-querybuilder\";\nimport \"react-querybuilder/dist/query-builder.scss\";\nimport { QueryBuilder /* , formatQuery */ } from \"react-querybuilder\";\nimport { QueryBuilderMaterial } from \"@react-querybuilder/material\";\nimport {\n Box,\n IconButton,\n MenuItem,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n OutlinedInput,\n InputAdornment,\n Alert,\n} from \"@mui/material\";\nimport \"./filter.scss\";\nimport Select from \"../select/select\";\nimport Typography from \"../typography/typography\";\nimport { Close } from \"@mui/icons-material\";\nimport CombinatorSelect from \"./components/combinator-select\";\nimport RemoveAction from \"./components/remove-action\";\nimport FieldSelect from \"./components/field-select\";\nimport AddFilterButton from \"./components/add-filter\";\nimport AddGroupButton from \"./components/add-group\";\nimport ValueEditor from \"./components/value-editor\";\nimport OperatorSelect from \"./components/operator-select\";\nimport Button from \"../button/button\";\nimport RemoveGroupAction from \"./components/delete-group\";\nimport SearchBar from \"../search-bar/search-bar\";\nimport SaveFilterModal from \"../save-filter-modal/save-filter-modal\";\n\nimport {\n setBaseUrl,\n putV1FilterId,\n deleteV1FilterId,\n} from \"../../api-client/api.system-feature/api\";\nimport type * as Types from \"../../api-client/api.system-feature/api-types\";\nimport { auth } from \"../../constants/auth\";\nimport { generateFields, generateQueryString, getErrorMessage } from \"../../utils/common\";\nimport { usePages } from \"../../hooks/use-pages\";\nimport _ from \"lodash\";\nimport { Edit, Trash } from \"../icons\";\nimport { enqueueSnackbar } from \"notistack\";\nimport { IResources, routeToResourceMap } from \"../../constants/route-page-map\";\nimport { useLocation } from \"react-router-dom\";\nimport { useLanguage } from \"../../hooks/useLangauge\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\n\ninterface IFilter {\n open: boolean;\n onClose: () => void;\n activeView?: string;\n savedFilters?: SavedFilter[];\n fetchSavedFilters?: () => Promise<void>;\n setFilterBar?: any;\n onSaveFilter?: (query: RuleGroupType) => void;\n onSelectedFilter?: (filterName: string) => void;\n fields: any;\n applyFilter: any\n}\n\ninterface SavedFilter {\n id: string;\n name: string;\n query: RuleGroupType;\n}\n\nconst initialQuery: RuleGroupType = { combinator: \"and\", rules: [] };\n\nconst Filter = ({\n open,\n onClose,\n // activeView,\n savedFilters,\n fetchSavedFilters,\n onSaveFilter,\n onSelectedFilter,\n applyFilter,\n fields = []\n}: IFilter) => {\n const location = useLocation();\n\n const token = localStorage.getItem(auth.storageTokenKeyName);\n const { updatePageInfo, activePage, schemaFields, setActivePage } = usePages()\n\n fields = fields || schemaFields.length ? generateFields(schemaFields) : fields\n const [query, setQuery] = useState<RuleGroupType>(initialQuery);\n const [filteredSavedFilters, setFilteredSavedFilters] = useState<\n SavedFilter[]\n >(savedFilters ?? []);\n const [selectedFilter, setSelectedFilter] = useState<any>(null);\n const [openRenameFilter, setIsOpenRenameFilter] = useState<any>(null);\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\n const { isRtl } = useLanguage();\n const resources: IResources = useMemo(() => routeToResourceMap[location.pathname] || null, [location.pathname])\n\n useEffect(() => {\n savedFilters && setFilteredSavedFilters(savedFilters);\n }, [savedFilters]);\n\n\n const handleApplyFilter = useCallback((clear: boolean = false) => {\n let q = query\n const isInvalid = isDuplicatedFilters(q)\n if (isInvalid) {\n setErrorMessage(\"Invalid filter\")\n return\n }\n if (clear) {\n q = initialQuery\n setQuery(q)\n } else {\n const generatedSQLQuery = q ? generateQueryString(q) : q;\n updatePageInfo({ filters: q, filterQueryString: generatedSQLQuery })\n // applyFilter(generatedSQLQuery);\n onClose();\n }\n }, [query, applyFilter, onClose]);\n\n const handleQueryChange = (q: RuleGroupType) => {\n const updatedRules = q.rules.map((rule, i) => ({\n ...rule,\n value: rule.field !== query.rules?.[i]?.field || ['null', 'notNull'].includes(rule.operator) ? \"\" : rule.value\n }));\n let isValid = true;\n let errorMessage = '';\n\n // // Helper function to check for invalid aggregate usage, considering parent combinators\n // const checkForInvalidAggregateUsage = (rules: any[], combinator: string, parentCombinator: string | null): boolean => {\n // let hasAggregateField = false;\n // let hasNonAggregateField = false;\n\n // rules.forEach(rule => {\n // // Check nested groups\n // if (rule.rules) {\n // // If the current group or any parent has an 'OR', pass it down\n // const currentCombinator = combinator === 'or' || parentCombinator === 'or' ? 'or' : combinator;\n // checkForInvalidAggregateUsage(rule.rules, rule.combinator, currentCombinator);\n // } else {\n // // Find the field in the fields array and check if it's an aggregate\n // const field = fields.find((f: any) => f.name === rule.field);\n\n // if (field?.is_aggregate) {\n // hasAggregateField = true;\n // } else {\n // hasNonAggregateField = true;\n // }\n // }\n // });\n\n // // If any parent or current rule uses 'OR' with a mix of aggregate and non-aggregate fields, it's invalid\n // if ((combinator === 'or' || parentCombinator === 'or') && hasAggregateField && hasNonAggregateField) {\n // isValid = false;\n // errorMessage = 'Mixing aggregate and non-aggregate fields in OR conditions may lead to unexpected results.';\n // }\n\n // return isValid;\n // };\n\n // Start checking from the root level (no parent combinator initially)\n\n\n // Always set the query, regardless of validity\n setQuery({ ...q, rules: updatedRules });\n\n // Set error message if invalid, otherwise clear it\n if (!isValid) {\n setErrorMessage(errorMessage);\n } else {\n setErrorMessage(null);\n }\n\n // Always call onSaveFilter, if it exists\n if (onSaveFilter) {\n onSaveFilter(q);\n }\n };\n\n const handleFilterSwitch = (sf?: any) => {\n if (sf) {\n setSelectedFilter(sf);\n setQuery(sf.query);\n if (onSelectedFilter) {\n onSelectedFilter(sf);\n }\n } else {\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (onSelectedFilter) {\n onSelectedFilter(null);\n }\n }\n };\n\n const handleSearchEvent = (searchText: string) => {\n const filteredFilters = savedFilters?.filter((filter: any) =>\n filter.name.toLowerCase().includes(searchText.toLowerCase())\n );\n if (filteredFilters) {\n setFilteredSavedFilters(filteredFilters);\n }\n };\n\n const handleRenameFilter = async (filterId: string, newName: string) => {\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n name: newName,\n module: resources?.fieldResource || resources?.pageResource\n };\n\n try {\n await putV1FilterId(putFilterRequest)\n // setSelectedFilter(newName);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n enqueueSnackbar('Filters renamed successfully.')\n } catch (error) {\n let m: string = 'Something went wrong on saving filters'\n if (error instanceof Error) {\n m = getErrorMessage(error.message)\n }\n enqueueSnackbar(m, { variant: 'error' })\n return false\n }\n return true\n };\n const handleUpdateSelectedFilterQuery = async () => {\n if (selectedFilter) {\n\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: selectedFilter.id,\n data: query,\n };\n\n putV1FilterId(putFilterRequest)\n .then((response: any) => {\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n setActivePage((prev: any) => ({\n ...prev,\n filters: {\n ...prev.filters,\n rules: query.rules,\n combinator: query.combinator,\n name: selectedFilter.name\n\n }\n }));\n })\n .catch((err: any) => enqueueSnackbar(\"Error renaming saved filters:\", { variant: 'error' }));\n }\n };\n\n const handleSubmitRename = (name: string) => {\n if (openRenameFilter) {\n return handleRenameFilter(openRenameFilter.id, name);\n }\n };\n\n const handleDeleteFilter = async (filterId: string) => {\n const deleteFilterRequest: Types.DeleteV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n };\n\n deleteV1FilterId(deleteFilterRequest)\n .then((response: any) => {\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n\n })\n .catch((err: any) => console.log(\"Error deleting saved filters:\", err));\n };\n\n useEffect(() => {\n let q = initialQuery\n if (!_.isEmpty(activePage.filters)) {\n q = activePage.filters\n }\n setQuery(q)\n const selectedFilter = savedFilters?.find((f: any) => f.name === activePage?.filters?.name);\n setSelectedFilter(selectedFilter || null);\n }, [activePage?.filters, savedFilters]);\n\n const isDuplicatedFilters = (rule) => {\n let uniques: string[] = []\n rule?.rules?.forEach((r: any) => {\n if (uniques.includes(r.field) && rule.combinator == 'and') {\n return true\n }\n uniques.push(r.field)\n })\n return uniques.length !== rule?.rules?.length\n }\n\n\n const isRuleInvalid = (rule: any): boolean => {\n // If it's a group (has nested rules), recurse\n if (Array.isArray(rule.rules)) {\n return rule.rules.length ? rule.rules.some(isRuleInvalid) : !rule.rules.length;\n }\n\n // Otherwise, validate individual rule\n return (\n !rule.field ||\n (_.isEmpty(rule.value) && !['null', 'notNull'].includes(rule.operator))\n );\n };\n\n const disabled = useMemo(() => isRuleInvalid(query) || errorMessage, [query, errorMessage])\n // const disabled = isRuleInvalid(query) || errorMessage;\n\n return (\n <div>\n <Dialog\n open={open}\n onClose={onClose}\n maxWidth='md'\n fullWidth={true}\n PaperProps={{\n sx: { borderRadius: 2 }\n }}\n >\n <DialogTitle className=\"filter-header\">\n <Typography type=\"s3\" weight=\"medium\" color=\"theme.secondary.1000\">\n Filters\n </Typography>\n <Box gap={1} display={\"flex\"}>\n <Select\n fullWidth\n size=\"small\"\n className=\"filter-dropdown\"\n value={selectedFilter ? selectedFilter.name : \"Saved Filters\"}\n onChange={(event: any) => {\n const sf = savedFilters?.find(f => f.name == event.target.value)\n handleFilterSwitch(sf)\n }}\n variant=\"outlined\"\n onClose={() => {\n setTimeout(() => {\n handleSearchEvent(\"\")\n }, 500);\n }}\n input={\n selectedFilter ? (\n <OutlinedInput\n label=''\n endAdornment={\n <InputAdornment position='end'>\n <IconButton\n aria-label='clear selection'\n onClick={() => {\n handleFilterSwitch()\n }}\n edge='end'\n sx={{ mr: 1.5 }}\n size='small'>\n <Close sx={{ fontSize: '1rem' }} />\n </IconButton>\n </InputAdornment>\n }\n />\n ) : undefined\n }\n >\n <div className=\"searchbar-box-list\">\n <SearchBar\n placeholder={\"Search Filters\"}\n handleSearch={(e) => handleSearchEvent(e)}\n />\n </div>\n {/* <Typography\n color=\"theme.secondary.1000\"\n type=\"s4\"\n className=\"filter-title\"\n >\n Saved Filters\n </Typography> */}\n {filteredSavedFilters?.map((savedFilter: SavedFilter) => (\n <MenuItem\n key={savedFilter.id}\n value={savedFilter?.name}\n className=\"menu-list\"\n selected={selectedFilter?.name == savedFilter?.name}\n >\n <Typography color=\"theme.secondary.1000\" type=\"s3\">\n {savedFilter?.name}\n </Typography>\n\n <div className=\"icon-list\">\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n setIsOpenRenameFilter(savedFilter)\n }}>\n <Edit fontSize=\"small\" color={selectedFilter?.name == savedFilter?.name ? \"theme.primary.800\" : 'inherit'} />\n </IconButton>\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n handleDeleteFilter(savedFilter.id)\n }} color=\"error\">\n <Trash fontSize=\"small\" color=\"theme.error.600\" />\n </IconButton>\n </div>\n </MenuItem>\n ))}\n </Select>\n <SaveFilterModal\n open={openRenameFilter !== null}\n onClose={() => setIsOpenRenameFilter(null)}\n handleSubmit={(name) => handleSubmitRename(name)}\n oldName={openRenameFilter?.name}\n />\n <Box>\n <IconButton size=\"small\" onClick={onClose}>\n <Close fontSize=\"small\" />\n </IconButton>\n </Box>\n </Box>\n </DialogTitle>\n <DialogContent className=\"content\">\n {/* Display error message */}\n {errorMessage && (\n <Alert severity=\"error\" sx={{ px: 1, pt: 0.5, mb: 1 }}>\n <Typography\n color=\"error\"\n type=\"s4\"\n >\n {errorMessage}\n </Typography>\n </Alert>\n )}\n <QueryBuilderMaterial>\n <QueryBuilder\n fields={fields || []}\n query={query}\n onQueryChange={handleQueryChange}\n showCombinatorsBetweenRules={true}\n controlClassnames={{\n header: \"actions\",\n }}\n controlElements={{\n addRuleAction: AddFilterButton,\n addGroupAction: AddGroupButton,\n combinatorSelector: CombinatorSelect,\n fieldSelector: FieldSelect,\n operatorSelector: OperatorSelect,\n removeRuleAction: RemoveAction,\n valueEditor: ValueEditor,\n removeGroupAction: RemoveGroupAction,\n }}\n />\n <Button\n variant=\"text\"\n className={isRtl ? 'remove-filters_rtl' : 'remove-filters'}\n onClick={() => {\n handleApplyFilter(true)\n }}\n disabled={disabled}\n >\n Clear all filters\n </Button>\n </QueryBuilderMaterial>\n </DialogContent>\n <DialogActions className=\"filter-footer\">\n <Box sx={{ display: 'flex', alignItems: 'center', justifyContent: selectedFilter ? 'space-between' : 'flex-end', width: '100%' }}>\n {selectedFilter &&\n <Box>\n <Button onClick={handleUpdateSelectedFilterQuery}>\n Update Seleted filter\n </Button>\n </Box>\n }\n <Box sx={{ display: 'flex', gap: 1 }}>\n <Button className=\"cancel-filter-btn\" onClick={onClose}>\n Cancel\n </Button>\n <Button\n disabled={disabled}\n onClick={() => handleApplyFilter()}\n >\n Apply\n </Button>\n </Box>\n </Box>\n </DialogActions>\n </Dialog>\n </div>\n );\n};\n\nexport default Filter;\n"],"names":["setBaseUrl","initialQuery","combinator","rules","open","onClose","savedFilters","fetchSavedFilters","onSaveFilter","onSelectedFilter","applyFilter","fields","location","useLocation","token","localStorage","getItem","auth","storageTokenKeyName","updatePageInfo","activePage","schemaFields","setActivePage","usePages","length","generateFields","query","setQuery","useState","filteredSavedFilters","setFilteredSavedFilters","selectedFilter","setSelectedFilter","openRenameFilter","setIsOpenRenameFilter","errorMessage","setErrorMessage","isRtl","useLanguage","resources","useMemo","routeToResourceMap","pathname","useEffect","handleApplyFilter","useCallback","clear","q","isDuplicatedFilters","generatedSQLQuery","generateQueryString","filters","filterQueryString","handleFilterSwitch","sf","handleSearchEvent","searchText","filteredFilters","filter","name","toLowerCase","includes","_","isEmpty","find","f","_a","rule","uniques","forEach","r","field","push","_b","isRuleInvalid","Array","isArray","some","value","operator","disabled","children","jsxs","Dialog","maxWidth","fullWidth","PaperProps","sx","borderRadius","DialogTitle","className","jsx","Typography","type","weight","color","Box","gap","display","Select","size","onChange","event","target","variant","setTimeout","input","OutlinedInput","label","endAdornment","InputAdornment","position","IconButton","onClick","edge","mr","Close","fontSize","SearchBar","placeholder","handleSearch","e","map","savedFilter","MenuItem","selected","preventDefault","stopPropagation","Edit","async","filterId","deleteFilterRequest","id","deleteV1FilterId","then","response","catch","err","handleDeleteFilter","Trash","SaveFilterModal","handleSubmit","newName","putFilterRequest","module","fieldResource","pageResource","putV1FilterId","enqueueSnackbar","error","m","Error","getErrorMessage","message","handleRenameFilter","handleSubmitRename","oldName","DialogContent","Alert","severity","px","pt","mb","QueryBuilderMaterial","QueryBuilder","onQueryChange","updatedRules","i","showCombinatorsBetweenRules","controlClassnames","header","controlElements","addRuleAction","AddFilterButton","addGroupAction","AddGroupButton","combinatorSelector","CombinatorSelect","fieldSelector","FieldSelect","operatorSelector","OperatorSelect","removeRuleAction","RemoveAction","valueEditor","ValueEditor","removeGroupAction","RemoveGroupAction","Button","DialogActions","alignItems","justifyContent","width","data","prev"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/filter/filter.tsx"],"sourcesContent":["/* eslint-disable */\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { RuleGroupType } from \"react-querybuilder\";\nimport \"react-querybuilder/dist/query-builder.scss\";\nimport { QueryBuilder /* , formatQuery */ } from \"react-querybuilder\";\nimport { QueryBuilderMaterial } from \"@react-querybuilder/material\";\nimport {\n Box,\n IconButton,\n MenuItem,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n OutlinedInput,\n InputAdornment,\n Alert,\n} from \"@mui/material\";\nimport \"./filter.scss\";\nimport Select from \"../select/select\";\nimport Typography from \"../typography/typography\";\nimport { Close } from \"@mui/icons-material\";\nimport CombinatorSelect from \"./components/combinator-select\";\nimport RemoveAction from \"./components/remove-action\";\nimport FieldSelect from \"./components/field-select\";\nimport AddFilterButton from \"./components/add-filter\";\nimport AddGroupButton from \"./components/add-group\";\nimport ValueEditor from \"./components/value-editor\";\nimport OperatorSelect from \"./components/operator-select\";\nimport Button from \"../button/button\";\nimport RemoveGroupAction from \"./components/delete-group\";\nimport SearchBar from \"../search-bar/search-bar\";\nimport SaveFilterModal from \"../save-filter-modal/save-filter-modal\";\n\nimport {\n setBaseUrl,\n putV1FilterId,\n deleteV1FilterId,\n} from \"../../api-client/api.system-feature/api\";\nimport type * as Types from \"../../api-client/api.system-feature/api-types\";\nimport { auth } from \"../../constants/auth\";\nimport { generateFields, generateQueryString, getErrorMessage } from \"../../utils/common\";\nimport { usePages } from \"../../hooks/use-pages\";\nimport _ from \"lodash\";\nimport { Edit, Trash } from \"../icons\";\nimport { enqueueSnackbar } from \"notistack\";\nimport { IResources, routeToResourceMap } from \"../../constants/route-page-map\";\nimport { useLocation } from \"react-router-dom\";\nimport { useLanguage } from \"../../hooks/useLangauge\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\n\ninterface IFilter {\n open: boolean;\n onClose: () => void;\n activeView?: string;\n savedFilters?: SavedFilter[];\n fetchSavedFilters?: () => Promise<void>;\n setFilterBar?: any;\n onSaveFilter?: (query: RuleGroupType) => void;\n onSelectedFilter?: (filterName: string) => void;\n fields: any;\n applyFilter: any\n}\n\ninterface SavedFilter {\n id: string;\n name: string;\n query: RuleGroupType;\n}\n\nconst initialQuery: RuleGroupType = { combinator: \"and\", rules: [] };\n\nconst Filter = ({\n open,\n onClose,\n // activeView,\n savedFilters,\n fetchSavedFilters,\n onSaveFilter,\n onSelectedFilter,\n applyFilter,\n fields = []\n}: IFilter) => {\n const location = useLocation();\n\n const token = localStorage.getItem(auth.storageTokenKeyName);\n const { updatePageInfo, activePage, schemaFields, setActivePage } = usePages()\n\n fields = fields || schemaFields.length ? generateFields(schemaFields) : fields\n console.log(\"🚀 ~ Filter ~ fields:\", fields)\n const [query, setQuery] = useState<RuleGroupType>(initialQuery);\n const [filteredSavedFilters, setFilteredSavedFilters] = useState<\n SavedFilter[]\n >(savedFilters ?? []);\n const [selectedFilter, setSelectedFilter] = useState<any>(null);\n const [openRenameFilter, setIsOpenRenameFilter] = useState<any>(null);\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\n const { isRtl } = useLanguage();\n const resources: IResources = useMemo(() => routeToResourceMap[location.pathname] || null, [location.pathname])\n\n useEffect(() => {\n savedFilters && setFilteredSavedFilters(savedFilters);\n }, [savedFilters]);\n\n\n const handleApplyFilter = useCallback((clear: boolean = false) => {\n let q = query\n const isInvalid = isDuplicatedFilters(q)\n if (isInvalid) {\n setErrorMessage(\"Invalid filter\")\n return\n }\n if (clear) {\n q = initialQuery\n setQuery(q)\n } else {\n const generatedSQLQuery = q ? generateQueryString(q) : q;\n updatePageInfo({ filters: q, filterQueryString: generatedSQLQuery })\n // applyFilter(generatedSQLQuery);\n onClose();\n }\n }, [query, applyFilter, onClose]);\n\n const handleQueryChange = (q: RuleGroupType) => {\n const updatedRules = q.rules.map((rule, i) => ({\n ...rule,\n value: rule.field !== query.rules?.[i]?.field || ['null', 'notNull'].includes(rule.operator) ? \"\" : rule.value\n }));\n let isValid = true;\n let errorMessage = '';\n\n // // Helper function to check for invalid aggregate usage, considering parent combinators\n // const checkForInvalidAggregateUsage = (rules: any[], combinator: string, parentCombinator: string | null): boolean => {\n // let hasAggregateField = false;\n // let hasNonAggregateField = false;\n\n // rules.forEach(rule => {\n // // Check nested groups\n // if (rule.rules) {\n // // If the current group or any parent has an 'OR', pass it down\n // const currentCombinator = combinator === 'or' || parentCombinator === 'or' ? 'or' : combinator;\n // checkForInvalidAggregateUsage(rule.rules, rule.combinator, currentCombinator);\n // } else {\n // // Find the field in the fields array and check if it's an aggregate\n // const field = fields.find((f: any) => f.name === rule.field);\n\n // if (field?.is_aggregate) {\n // hasAggregateField = true;\n // } else {\n // hasNonAggregateField = true;\n // }\n // }\n // });\n\n // // If any parent or current rule uses 'OR' with a mix of aggregate and non-aggregate fields, it's invalid\n // if ((combinator === 'or' || parentCombinator === 'or') && hasAggregateField && hasNonAggregateField) {\n // isValid = false;\n // errorMessage = 'Mixing aggregate and non-aggregate fields in OR conditions may lead to unexpected results.';\n // }\n\n // return isValid;\n // };\n\n // Start checking from the root level (no parent combinator initially)\n\n\n // Always set the query, regardless of validity\n setQuery({ ...q, rules: updatedRules });\n\n // Set error message if invalid, otherwise clear it\n if (!isValid) {\n setErrorMessage(errorMessage);\n } else {\n setErrorMessage(null);\n }\n\n // Always call onSaveFilter, if it exists\n if (onSaveFilter) {\n onSaveFilter(q);\n }\n };\n\n const handleFilterSwitch = (sf?: any) => {\n if (sf) {\n setSelectedFilter(sf);\n setQuery(sf.query);\n if (onSelectedFilter) {\n onSelectedFilter(sf);\n }\n } else {\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (onSelectedFilter) {\n onSelectedFilter(null);\n }\n }\n };\n\n const handleSearchEvent = (searchText: string) => {\n const filteredFilters = savedFilters?.filter((filter: any) =>\n filter.name.toLowerCase().includes(searchText.toLowerCase())\n );\n if (filteredFilters) {\n setFilteredSavedFilters(filteredFilters);\n }\n };\n\n const handleRenameFilter = async (filterId: string, newName: string) => {\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n name: newName,\n module: resources?.fieldResource || resources?.pageResource\n };\n\n try {\n await putV1FilterId(putFilterRequest)\n // setSelectedFilter(newName);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n enqueueSnackbar('Filters renamed successfully.')\n } catch (error) {\n let m: string = 'Something went wrong on saving filters'\n if (error instanceof Error) {\n m = getErrorMessage(error.message)\n }\n enqueueSnackbar(m, { variant: 'error' })\n return false\n }\n return true\n };\n const handleUpdateSelectedFilterQuery = async () => {\n if (selectedFilter) {\n\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: selectedFilter.id,\n data: query,\n };\n\n putV1FilterId(putFilterRequest)\n .then((response: any) => {\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n setActivePage((prev: any) => ({\n ...prev,\n filters: {\n ...prev.filters,\n rules: query.rules,\n combinator: query.combinator,\n name: selectedFilter.name\n\n }\n }));\n })\n .catch((err: any) => enqueueSnackbar(\"Error renaming saved filters:\", { variant: 'error' }));\n }\n };\n\n const handleSubmitRename = (name: string) => {\n if (openRenameFilter) {\n return handleRenameFilter(openRenameFilter.id, name);\n }\n };\n\n const handleDeleteFilter = async (filterId: string) => {\n const deleteFilterRequest: Types.DeleteV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n };\n\n deleteV1FilterId(deleteFilterRequest)\n .then((response: any) => {\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n\n })\n .catch((err: any) => console.log(\"Error deleting saved filters:\", err));\n };\n\n useEffect(() => {\n let q = initialQuery\n if (!_.isEmpty(activePage.filters)) {\n q = activePage.filters\n }\n setQuery(q)\n const selectedFilter = savedFilters?.find((f: any) => f.name === activePage?.filters?.name);\n setSelectedFilter(selectedFilter || null);\n }, [activePage?.filters, savedFilters]);\n\n const isDuplicatedFilters = (rule) => {\n let uniques: string[] = []\n rule?.rules?.forEach((r: any) => {\n if (uniques.includes(r.field) && rule.combinator == 'and') {\n return true\n }\n uniques.push(r.field)\n })\n return uniques.length !== rule?.rules?.length\n }\n\n\n const isRuleInvalid = (rule: any): boolean => {\n // If it's a group (has nested rules), recurse\n if (Array.isArray(rule.rules)) {\n return rule.rules.length ? rule.rules.some(isRuleInvalid) : !rule.rules.length;\n }\n\n // Otherwise, validate individual rule\n return (\n !rule.field ||\n (_.isEmpty(rule.value) && !['null', 'notNull'].includes(rule.operator))\n );\n };\n\n const disabled = useMemo(() => isRuleInvalid(query) || errorMessage, [query, errorMessage])\n // const disabled = isRuleInvalid(query) || errorMessage;\n\n return (\n <div>\n <Dialog\n open={open}\n onClose={onClose}\n maxWidth='md'\n fullWidth={true}\n PaperProps={{\n sx: { borderRadius: 2 }\n }}\n >\n <DialogTitle className=\"filter-header\">\n <Typography type=\"s3\" weight=\"medium\" color=\"theme.secondary.1000\">\n Filters\n </Typography>\n <Box gap={1} display={\"flex\"}>\n <Select\n fullWidth\n size=\"small\"\n className=\"filter-dropdown\"\n value={selectedFilter ? selectedFilter.name : \"Saved Filters\"}\n onChange={(event: any) => {\n const sf = savedFilters?.find(f => f.name == event.target.value)\n handleFilterSwitch(sf)\n }}\n variant=\"outlined\"\n onClose={() => {\n setTimeout(() => {\n handleSearchEvent(\"\")\n }, 500);\n }}\n input={\n selectedFilter ? (\n <OutlinedInput\n label=''\n endAdornment={\n <InputAdornment position='end'>\n <IconButton\n aria-label='clear selection'\n onClick={() => {\n handleFilterSwitch()\n }}\n edge='end'\n sx={{ mr: 1.5 }}\n size='small'>\n <Close sx={{ fontSize: '1rem' }} />\n </IconButton>\n </InputAdornment>\n }\n />\n ) : undefined\n }\n >\n <div className=\"searchbar-box-list\">\n <SearchBar\n placeholder={\"Search Filters\"}\n handleSearch={(e) => handleSearchEvent(e)}\n />\n </div>\n {/* <Typography\n color=\"theme.secondary.1000\"\n type=\"s4\"\n className=\"filter-title\"\n >\n Saved Filters\n </Typography> */}\n {filteredSavedFilters?.map((savedFilter: SavedFilter) => (\n <MenuItem\n key={savedFilter.id}\n value={savedFilter?.name}\n className=\"menu-list\"\n selected={selectedFilter?.name == savedFilter?.name}\n >\n <Typography color=\"theme.secondary.1000\" type=\"s3\">\n {savedFilter?.name}\n </Typography>\n\n <div className=\"icon-list\">\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n setIsOpenRenameFilter(savedFilter)\n }}>\n <Edit fontSize=\"small\" color={selectedFilter?.name == savedFilter?.name ? \"theme.primary.800\" : 'inherit'} />\n </IconButton>\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n handleDeleteFilter(savedFilter.id)\n }} color=\"error\">\n <Trash fontSize=\"small\" color=\"theme.error.600\" />\n </IconButton>\n </div>\n </MenuItem>\n ))}\n </Select>\n <SaveFilterModal\n open={openRenameFilter !== null}\n onClose={() => setIsOpenRenameFilter(null)}\n handleSubmit={(name) => handleSubmitRename(name)}\n oldName={openRenameFilter?.name}\n />\n <Box>\n <IconButton size=\"small\" onClick={onClose}>\n <Close fontSize=\"small\" />\n </IconButton>\n </Box>\n </Box>\n </DialogTitle>\n <DialogContent className=\"content\">\n {/* Display error message */}\n {errorMessage && (\n <Alert severity=\"error\" sx={{ px: 1, pt: 0.5, mb: 1 }}>\n <Typography\n color=\"error\"\n type=\"s4\"\n >\n {errorMessage}\n </Typography>\n </Alert>\n )}\n <QueryBuilderMaterial>\n <QueryBuilder\n fields={fields || []}\n query={query}\n onQueryChange={handleQueryChange}\n showCombinatorsBetweenRules={true}\n controlClassnames={{\n header: \"actions\",\n }}\n controlElements={{\n addRuleAction: AddFilterButton,\n addGroupAction: AddGroupButton,\n combinatorSelector: CombinatorSelect,\n fieldSelector: FieldSelect,\n operatorSelector: OperatorSelect,\n removeRuleAction: RemoveAction,\n valueEditor: ValueEditor,\n removeGroupAction: RemoveGroupAction,\n }}\n />\n <Button\n variant=\"text\"\n className={isRtl ? 'remove-filters_rtl' : 'remove-filters'}\n onClick={() => {\n handleApplyFilter(true)\n }}\n disabled={disabled}\n >\n Clear all filters\n </Button>\n </QueryBuilderMaterial>\n </DialogContent>\n <DialogActions className=\"filter-footer\">\n <Box sx={{ display: 'flex', alignItems: 'center', justifyContent: selectedFilter ? 'space-between' : 'flex-end', width: '100%' }}>\n {selectedFilter &&\n <Box>\n <Button onClick={handleUpdateSelectedFilterQuery}>\n Update Seleted filter\n </Button>\n </Box>\n }\n <Box sx={{ display: 'flex', gap: 1 }}>\n <Button className=\"cancel-filter-btn\" onClick={onClose}>\n Cancel\n </Button>\n <Button\n disabled={disabled}\n onClick={() => handleApplyFilter()}\n >\n Apply\n </Button>\n </Box>\n </Box>\n </DialogActions>\n </Dialog>\n </div>\n );\n};\n\nexport default Filter;\n"],"names":["setBaseUrl","initialQuery","combinator","rules","open","onClose","savedFilters","fetchSavedFilters","onSaveFilter","onSelectedFilter","applyFilter","fields","location","useLocation","token","localStorage","getItem","auth","storageTokenKeyName","updatePageInfo","activePage","schemaFields","setActivePage","usePages","length","generateFields","query","setQuery","useState","filteredSavedFilters","setFilteredSavedFilters","selectedFilter","setSelectedFilter","openRenameFilter","setIsOpenRenameFilter","errorMessage","setErrorMessage","isRtl","useLanguage","resources","useMemo","routeToResourceMap","pathname","useEffect","handleApplyFilter","useCallback","clear","q","isDuplicatedFilters","generatedSQLQuery","generateQueryString","filters","filterQueryString","handleFilterSwitch","sf","handleSearchEvent","searchText","filteredFilters","filter","name","toLowerCase","includes","_","isEmpty","find","f","_a","rule","uniques","forEach","r","field","push","_b","isRuleInvalid","Array","isArray","some","value","operator","disabled","children","jsxs","Dialog","maxWidth","fullWidth","PaperProps","sx","borderRadius","DialogTitle","className","jsx","Typography","type","weight","color","Box","gap","display","Select","size","onChange","event","target","variant","setTimeout","input","OutlinedInput","label","endAdornment","InputAdornment","position","IconButton","onClick","edge","mr","Close","fontSize","SearchBar","placeholder","handleSearch","e","map","savedFilter","MenuItem","selected","preventDefault","stopPropagation","Edit","async","filterId","deleteFilterRequest","id","deleteV1FilterId","then","response","catch","err","handleDeleteFilter","Trash","SaveFilterModal","handleSubmit","newName","putFilterRequest","module","fieldResource","pageResource","putV1FilterId","enqueueSnackbar","error","m","Error","getErrorMessage","message","handleRenameFilter","handleSubmitRename","oldName","DialogContent","Alert","severity","px","pt","mb","QueryBuilderMaterial","QueryBuilder","onQueryChange","updatedRules","i","showCombinatorsBetweenRules","controlClassnames","header","controlElements","addRuleAction","AddFilterButton","addGroupAction","AddGroupButton","combinatorSelector","CombinatorSelect","fieldSelector","FieldSelect","operatorSelector","OperatorSelect","removeRuleAction","RemoveAction","valueEditor","ValueEditor","removeGroupAction","RemoveGroupAction","Button","DialogActions","alignItems","justifyContent","width","data","prev"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __exports as createSvgIcon } from "../../../../../_virtual/createSvgIcon/index.esm.js";
|
|
2
|
-
import require$$0 from "../../../../../_virtual/index/index.
|
|
2
|
+
import require$$0 from "../../../../../_virtual/index/index.esm.js";
|
|
3
3
|
var hasRequiredCreateSvgIcon;
|
|
4
4
|
function requireCreateSvgIcon() {
|
|
5
5
|
if (hasRequiredCreateSvgIcon) return createSvgIcon;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("../../../../../_virtual/createSvgIcon/index.js"),t=require("../../../../../_virtual/index/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("../../../../../_virtual/createSvgIcon/index.js"),t=require("../../../../../_virtual/index/index.js");exports.__require=function(){return e||(e=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return r.createSvgIcon}});var r=t.default}(r.__exports)),r.__exports};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../node_modules/@mui/icons-material/utils/createSvgIcon.js"],"sourcesContent":["\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");"],"names":["Object","defineProperty","exports","value","enumerable","get","_utils","createSvgIcon","require$$0"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../node_modules/@mui/icons-material/utils/createSvgIcon.js"],"sourcesContent":["\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");"],"names":["Object","defineProperty","exports","value","enumerable","get","_utils","createSvgIcon","require$$0"],"mappings":"kPAGAA,OAAOC,eAAcC,EAAU,aAAc,CAC3CC,OAAO,IAETH,OAAOC,eAAeC,EAAS,UAAW,CACxCE,YAAY,EACZC,IAAK,WACH,OAAOC,EAAOC,aAClB,IAEA,IAAID,EAASE,EAAAA","x_google_ignoreList":[0]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __exports as colorManipulator } from "../../../../_virtual/colorManipulator/index.esm.js";
|
|
2
|
-
import require$$1 from "../../../../_virtual/index/index.
|
|
3
|
-
import require$$2 from "../../../../_virtual/index/index.
|
|
2
|
+
import require$$1 from "../../../../_virtual/index/index.esm9.js";
|
|
3
|
+
import require$$2 from "../../../../_virtual/index/index.esm10.js";
|
|
4
4
|
import { i as interopRequireDefaultExports } from "../../../@babel/runtime/helpers/interopRequireDefault/index.esm.js";
|
|
5
5
|
var _interopRequireDefault = interopRequireDefaultExports;
|
|
6
6
|
Object.defineProperty(colorManipulator, "__esModule", {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/colorManipulator/index.js"),r=require("../../../../_virtual/index/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/colorManipulator/index.js"),r=require("../../../../_virtual/index/index9.js"),t=require("../../../../_virtual/index/index10.js"),n=require("../../../@babel/runtime/helpers/interopRequireDefault/index.js").interopRequireDefaultExports;Object.defineProperty(e.__exports,"__esModule",{value:!0});var o=e.__exports.alpha=g;e.__exports.blend=function(e,r,t,n=1){const o=(e,r)=>Math.round((e**(1/n)*(1-t)+r**(1/n)*t)**n),s=_(e),a=_(r);return x({type:"rgb",values:[o(s.values[0],a.values[0]),o(s.values[1],a.values[1]),o(s.values[2],a.values[2])]})},e.__exports.colorChannel=void 0;var s=e.__exports.darken=y;e.__exports.decomposeColor=_;var a=e.__exports.emphasize=O,l=e.__exports.getContrastRatio=function(e,r){const t=d(e),n=d(r);return(Math.max(t,n)+.05)/(Math.min(t,n)+.05)};e.__exports.getLuminance=d,e.__exports.hexToRgb=f,e.__exports.hslToRgb=v;var p=e.__exports.lighten=b;e.__exports.private_safeAlpha=function(e,r,t){try{return g(e,r)}catch(n){return t&&process.env.NODE_ENV,e}},e.__exports.private_safeColorChannel=void 0,e.__exports.private_safeDarken=function(e,r,t){try{return y(e,r)}catch(n){return t&&process.env.NODE_ENV,e}},e.__exports.private_safeEmphasize=function(e,r,t){try{return O(e,r)}catch(n){return t&&process.env.NODE_ENV,e}},e.__exports.private_safeLighten=function(e,r,t){try{return b(e,r)}catch(n){return t&&process.env.NODE_ENV,e}},e.__exports.recomposeColor=x,e.__exports.rgbToHex=function(e){if(0===e.indexOf("#"))return e;const{values:r}=_(e);return`#${r.map((e,r)=>function(e){const r=e.toString(16);return 1===r.length?`0${r}`:r}(3===r?Math.round(255*e):e)).join("")}`};var u=n(r.default),i=n(t.default);function c(e,r=0,t=1){return process.env.NODE_ENV,(0,i.default)(e,r,t)}function f(e){e=e.slice(1);const r=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let t=e.match(r);return t&&1===t[0].length&&(t=t.map(e=>e+e)),t?`rgb${4===t.length?"a":""}(${t.map((e,r)=>r<3?parseInt(e,16):Math.round(parseInt(e,16)/255*1e3)/1e3).join(", ")})`:""}function _(e){if(e.type)return e;if("#"===e.charAt(0))return _(f(e));const r=e.indexOf("("),t=e.substring(0,r);if(-1===["rgb","rgba","hsl","hsla","color"].indexOf(t))throw new Error("production"!==process.env.NODE_ENV?`MUI: Unsupported \`${e}\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().`:(0,u.default)(9,e));let n,o=e.substring(r+1,e.length-1);if("color"===t){if(o=o.split(" "),n=o.shift(),4===o.length&&"/"===o[3].charAt(0)&&(o[3]=o[3].slice(1)),-1===["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(n))throw new Error("production"!==process.env.NODE_ENV?`MUI: unsupported \`${n}\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.`:(0,u.default)(10,n))}else o=o.split(",");return o=o.map(e=>parseFloat(e)),{type:t,values:o,colorSpace:n}}const h=e=>{const r=_(e);return r.values.slice(0,3).map((e,t)=>-1!==r.type.indexOf("hsl")&&0!==t?`${e}%`:e).join(" ")};function x(e){const{type:r,colorSpace:t}=e;let{values:n}=e;return-1!==r.indexOf("rgb")?n=n.map((e,r)=>r<3?parseInt(e,10):e):-1!==r.indexOf("hsl")&&(n[1]=`${n[1]}%`,n[2]=`${n[2]}%`),n=-1!==r.indexOf("color")?`${t} ${n.join(" ")}`:`${n.join(", ")}`,`${r}(${n})`}function v(e){e=_(e);const{values:r}=e,t=r[0],n=r[1]/100,o=r[2]/100,s=n*Math.min(o,1-o),a=(e,r=(e+t/30)%12)=>o-s*Math.max(Math.min(r-3,9-r,1),-1);let l="rgb";const p=[Math.round(255*a(0)),Math.round(255*a(8)),Math.round(255*a(4))];return"hsla"===e.type&&(l+="a",p.push(r[3])),x({type:l,values:p})}function d(e){let r="hsl"===(e=_(e)).type||"hsla"===e.type?_(v(e)).values:e.values;return r=r.map(r=>("color"!==e.type&&(r/=255),r<=.03928?r/12.92:((r+.055)/1.055)**2.4)),Number((.2126*r[0]+.7152*r[1]+.0722*r[2]).toFixed(3))}function g(e,r){return e=_(e),r=c(r),"rgb"!==e.type&&"hsl"!==e.type||(e.type+="a"),"color"===e.type?e.values[3]=`/${r}`:e.values[3]=r,x(e)}function y(e,r){if(e=_(e),r=c(r),-1!==e.type.indexOf("hsl"))e.values[2]*=1-r;else if(-1!==e.type.indexOf("rgb")||-1!==e.type.indexOf("color"))for(let t=0;t<3;t+=1)e.values[t]*=1-r;return x(e)}function b(e,r){if(e=_(e),r=c(r),-1!==e.type.indexOf("hsl"))e.values[2]+=(100-e.values[2])*r;else if(-1!==e.type.indexOf("rgb"))for(let t=0;t<3;t+=1)e.values[t]+=(255-e.values[t])*r;else if(-1!==e.type.indexOf("color"))for(let t=0;t<3;t+=1)e.values[t]+=(1-e.values[t])*r;return x(e)}function O(e,r=.15){return d(e)>.5?y(e,r):b(e,r)}e.__exports.colorChannel=h,e.__exports.private_safeColorChannel=(e,r)=>{try{return h(e)}catch(t){return r&&process.env.NODE_ENV,e}},exports.default=e.__exports,exports.alpha=o,exports.darken=s,exports.emphasize=a,exports.getContrastRatio=l,exports.lighten=p;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@mui/system/colorManipulator.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.alpha = alpha;\nexports.blend = blend;\nexports.colorChannel = void 0;\nexports.darken = darken;\nexports.decomposeColor = decomposeColor;\nexports.emphasize = emphasize;\nexports.getContrastRatio = getContrastRatio;\nexports.getLuminance = getLuminance;\nexports.hexToRgb = hexToRgb;\nexports.hslToRgb = hslToRgb;\nexports.lighten = lighten;\nexports.private_safeAlpha = private_safeAlpha;\nexports.private_safeColorChannel = void 0;\nexports.private_safeDarken = private_safeDarken;\nexports.private_safeEmphasize = private_safeEmphasize;\nexports.private_safeLighten = private_safeLighten;\nexports.recomposeColor = recomposeColor;\nexports.rgbToHex = rgbToHex;\nvar _formatMuiErrorMessage2 = _interopRequireDefault(require(\"@mui/utils/formatMuiErrorMessage\"));\nvar _clamp = _interopRequireDefault(require(\"@mui/utils/clamp\"));\n/* eslint-disable @typescript-eslint/naming-convention */\n\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return (0, _clamp.default)(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nfunction hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nfunction decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (['rgb', 'rgba', 'hsl', 'hsla', 'color'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : (0, _formatMuiErrorMessage2.default)(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].indexOf(colorSpace) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : (0, _formatMuiErrorMessage2.default)(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nconst colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf('hsl') !== -1 && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexports.colorChannel = colorChannel;\nconst private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexports.private_safeColorChannel = private_safeColorChannel;\nfunction recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.indexOf('color') !== -1) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nfunction rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nfunction hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nfunction getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nfunction getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nfunction private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nfunction private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nfunction private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nfunction private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nfunction blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}"],"names":["_interopRequireDefault","require$$0","Object","defineProperty","colorManipulator","value","alpha_1","alpha","blend","background","overlay","opacity","gamma","blendChannel","b","o","Math","round","backgroundColor","decomposeColor","overlayColor","recomposeColor","type","values","colorChannel","darken_1","darken","emphasize_1","emphasize","getContrastRatio_1","getContrastRatio","foreground","lumA","getLuminance","lumB","max","min","hexToRgb","hslToRgb","lighten_1","lighten","private_safeAlpha","color","warning","error","process","env","NODE_ENV","private_safeColorChannel","private_safeDarken","coefficient","private_safeEmphasize","private_safeLighten","rgbToHex","indexOf","map","n","i","int","hex","toString","length","intToHex","join","_formatMuiErrorMessage2","require$$1","_clamp","require$$2","clampWrapper","default","slice","re","RegExp","colors","match","index","parseInt","charAt","marker","substring","Error","colorSpace","split","shift","parseFloat","decomposedColor","val","idx","h","s","l","a","f","k","rgb","push","Number","toFixed"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@mui/system/colorManipulator.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.alpha = alpha;\nexports.blend = blend;\nexports.colorChannel = void 0;\nexports.darken = darken;\nexports.decomposeColor = decomposeColor;\nexports.emphasize = emphasize;\nexports.getContrastRatio = getContrastRatio;\nexports.getLuminance = getLuminance;\nexports.hexToRgb = hexToRgb;\nexports.hslToRgb = hslToRgb;\nexports.lighten = lighten;\nexports.private_safeAlpha = private_safeAlpha;\nexports.private_safeColorChannel = void 0;\nexports.private_safeDarken = private_safeDarken;\nexports.private_safeEmphasize = private_safeEmphasize;\nexports.private_safeLighten = private_safeLighten;\nexports.recomposeColor = recomposeColor;\nexports.rgbToHex = rgbToHex;\nvar _formatMuiErrorMessage2 = _interopRequireDefault(require(\"@mui/utils/formatMuiErrorMessage\"));\nvar _clamp = _interopRequireDefault(require(\"@mui/utils/clamp\"));\n/* eslint-disable @typescript-eslint/naming-convention */\n\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return (0, _clamp.default)(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nfunction hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nfunction decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (['rgb', 'rgba', 'hsl', 'hsla', 'color'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : (0, _formatMuiErrorMessage2.default)(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].indexOf(colorSpace) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : (0, _formatMuiErrorMessage2.default)(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nconst colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf('hsl') !== -1 && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexports.colorChannel = colorChannel;\nconst private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexports.private_safeColorChannel = private_safeColorChannel;\nfunction recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.indexOf('color') !== -1) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nfunction rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nfunction hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nfunction getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nfunction getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nfunction private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nfunction private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nfunction private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nfunction private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nfunction blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}"],"names":["_interopRequireDefault","require$$0","Object","defineProperty","colorManipulator","value","alpha_1","alpha","blend","background","overlay","opacity","gamma","blendChannel","b","o","Math","round","backgroundColor","decomposeColor","overlayColor","recomposeColor","type","values","colorChannel","darken_1","darken","emphasize_1","emphasize","getContrastRatio_1","getContrastRatio","foreground","lumA","getLuminance","lumB","max","min","hexToRgb","hslToRgb","lighten_1","lighten","private_safeAlpha","color","warning","error","process","env","NODE_ENV","private_safeColorChannel","private_safeDarken","coefficient","private_safeEmphasize","private_safeLighten","rgbToHex","indexOf","map","n","i","int","hex","toString","length","intToHex","join","_formatMuiErrorMessage2","require$$1","_clamp","require$$2","clampWrapper","default","slice","re","RegExp","colors","match","index","parseInt","charAt","marker","substring","Error","colorSpace","split","shift","parseFloat","decomposedColor","val","idx","h","s","l","a","f","k","rgb","push","Number","toFixed"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { __exports as createStyled$1 } from "../../../../_virtual/createStyled/index.esm.js";
|
|
2
2
|
import { __require as require_extends } from "../../../@babel/runtime/helpers/extends/index.esm.js";
|
|
3
3
|
import { __require as requireObjectWithoutPropertiesLoose } from "../../../@babel/runtime/helpers/objectWithoutPropertiesLoose/index.esm.js";
|
|
4
|
-
import require$$1 from "../../../../_virtual/index/index.
|
|
5
|
-
import require$$4 from "../../../../_virtual/index/index.
|
|
6
|
-
import require$$5 from "../../../../_virtual/index/index.
|
|
7
|
-
import require$$6 from "../../../../_virtual/index/index.
|
|
8
|
-
import require$$7 from "../../../../_virtual/index/index.
|
|
9
|
-
import require$$8 from "../../../../_virtual/index/index.
|
|
4
|
+
import require$$1 from "../../../../_virtual/index/index.esm3.js";
|
|
5
|
+
import require$$4 from "../../../../_virtual/index/index.esm4.js";
|
|
6
|
+
import require$$5 from "../../../../_virtual/index/index.esm5.js";
|
|
7
|
+
import require$$6 from "../../../../_virtual/index/index.esm6.js";
|
|
8
|
+
import require$$7 from "../../../../_virtual/index/index.esm7.js";
|
|
9
|
+
import require$$8 from "../../../../_virtual/index/index.esm8.js";
|
|
10
10
|
import { i as interopRequireDefaultExports } from "../../../@babel/runtime/helpers/interopRequireDefault/index.esm.js";
|
|
11
11
|
var _interopRequireDefault = interopRequireDefaultExports;
|
|
12
12
|
Object.defineProperty(createStyled$1, "__esModule", {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/createStyled/index.js"),t=require("../../../@babel/runtime/helpers/extends/index.js"),r=require("../../../@babel/runtime/helpers/objectWithoutPropertiesLoose/index.js"),o=require("../../../../_virtual/index/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/createStyled/index.js"),t=require("../../../@babel/runtime/helpers/extends/index.js"),r=require("../../../@babel/runtime/helpers/objectWithoutPropertiesLoose/index.js"),o=require("../../../../_virtual/index/index3.js"),n=require("../../../../_virtual/index/index4.js"),s=require("../../../../_virtual/index/index5.js"),a=require("../../../../_virtual/index/index6.js"),i=require("../../../../_virtual/index/index7.js"),u=require("../../../../_virtual/index/index8.js"),l=require("../../../@babel/runtime/helpers/interopRequireDefault/index.js").interopRequireDefaultExports;Object.defineProperty(e.__exports,"__esModule",{value:!0});var d=e.__exports.default=function(e={}){const{themeId:t,defaultTheme:r=q,rootShouldForwardProp:o=S,slotShouldForwardProp:n=S}=e,s=e=>(0,v.default)((0,f.default)({},e,{theme:g((0,f.default)({},e,{defaultTheme:r,themeId:t}))}));return s.__mui_systemSx=!0,(e,a={})=>{(0,c.internal_processStyles)(e,e=>e.filter(e=>!(null!=e&&e.__mui_systemSx)));const{name:i,slot:u,skipVariantsResolver:l,skipSx:d,overridesResolver:_=A(P(u))}=a,v=(0,p.default)(a,w),x=i&&i.startsWith("Mui")||u?"components":"custom",j=void 0!==l?l:u&&"Root"!==u&&"root"!==u||!1,b=d||!1;let O;"production"!==process.env.NODE_ENV&&i&&(O=`${i}-${P(u||"Root")}`);let q=S;"Root"===u||"root"===u?q=o:u?q=n:function(e){return"string"==typeof e&&e.charCodeAt(0)>96}(e)&&(q=void 0);const R=(0,c.default)(e,(0,f.default)({shouldForwardProp:q,label:O},v)),C=e=>"function"==typeof e&&e.__emotion_real!==e||(0,m.isPlainObject)(e)?o=>{const n=g({theme:o.theme,defaultTheme:r,themeId:t});return k(e,(0,f.default)({},o,{theme:n}),n.modularCssLayers?x:void 0)}:e,D=(o,...n)=>{let a=C(o);const l=n?n.map(C):[];i&&_&&l.push(e=>{const o=g((0,f.default)({},e,{defaultTheme:r,themeId:t}));if(!o.components||!o.components[i]||!o.components[i].styleOverrides)return null;const n=o.components[i].styleOverrides,s={};return Object.entries(n).forEach(([t,r])=>{s[t]=k(r,(0,f.default)({},e,{theme:o}),o.modularCssLayers?"theme":void 0)}),_(e,s)}),i&&!j&&l.push(e=>{var o;const n=g((0,f.default)({},e,{defaultTheme:r,themeId:t}));return k({variants:null==n||null==(o=n.components)||null==(o=o[i])?void 0:o.variants},(0,f.default)({},e,{theme:n}),n.modularCssLayers?"theme":void 0)}),b||l.push(s);const d=l.length-n.length;if(Array.isArray(o)&&d>0){const e=new Array(d).fill("");a=[...o,...e],a.raw=[...o.raw,...e]}const p=R(a,...l);if("production"!==process.env.NODE_ENV){let t;i&&(t=`${i}${(0,y.default)(u||"")}`),void 0===t&&(t=`Styled(${(0,h.default)(e)})`),p.displayName=t}return e.muiName&&(p.muiName=e.muiName),p};return R.withConfig&&(D.withConfig=R.withConfig),D}};e.__exports.shouldForwardProp=S,e.__exports.systemDefaultTheme=void 0;var f=l(t.__require()),p=l(r.__require()),c=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=b(void 0);if(t&&t.has(e))return t.get(e);var r={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var s=o?Object.getOwnPropertyDescriptor(e,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=e[n]}return r.default=e,t&&t.set(e,r),r}(o.default),m=n.default,y=l(s.default),h=l(a.default),_=l(i.default),v=l(u.default);const x=["ownerState"],j=["variants"],w=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function b(e){if("function"!=typeof WeakMap)return null;var t=/* @__PURE__ */new WeakMap,r=/* @__PURE__ */new WeakMap;return(b=function(e){return e?r:t})(e)}function S(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}function O(e,t){return t&&e&&"object"==typeof e&&e.styles&&!e.styles.startsWith("@layer")&&(e.styles=`@layer ${t}{${String(e.styles)}}`),e}const q=e.__exports.systemDefaultTheme=(0,_.default)(),P=e=>e?e.charAt(0).toLowerCase()+e.slice(1):e;function g({defaultTheme:e,theme:t,themeId:r}){return o=t,0===Object.keys(o).length?e:t[r]||t;var o}function A(e){return e?(t,r)=>r[e]:null}function k(e,t,r){let{ownerState:o}=t,n=(0,p.default)(t,x);const s="function"==typeof e?e((0,f.default)({ownerState:o},n)):e;if(Array.isArray(s))return s.flatMap(e=>k(e,(0,f.default)({ownerState:o},n),r));if(s&&"object"==typeof s&&Array.isArray(s.variants)){const{variants:e=[]}=s;let t=(0,p.default)(s,j);return e.forEach(e=>{let s=!0;if("function"==typeof e.props?s=e.props((0,f.default)({ownerState:o},n,o)):Object.keys(e.props).forEach(t=>{(null==o?void 0:o[t])!==e.props[t]&&n[t]!==e.props[t]&&(s=!1)}),s){Array.isArray(t)||(t=[t]);const s="function"==typeof e.style?e.style((0,f.default)({ownerState:o},n,o)):e.style;t.push(r?O((0,c.internal_serializeStyles)(s),r):s)}}),t}return r?O((0,c.internal_serializeStyles)(s),r):s}exports.default=d;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __exports as useThemeWithoutDefault } from "../../../../_virtual/useThemeWithoutDefault/index.esm.js";
|
|
2
|
-
import require$$1 from "../../../../_virtual/index/index.
|
|
2
|
+
import require$$1 from "../../../../_virtual/index/index.esm3.js";
|
|
3
3
|
import React__default from "react";
|
|
4
4
|
Object.defineProperty(useThemeWithoutDefault, "__esModule", {
|
|
5
5
|
value: true
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/useThemeWithoutDefault/index.js"),t=require("../../../../_virtual/index/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/useThemeWithoutDefault/index.js"),t=require("../../../../_virtual/index/index3.js");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=/* @__PURE__ */r(require("react"));Object.defineProperty(e.__exports,"__esModule",{value:!0}),exports.default=e.__exports.default=void 0;var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a(void 0);if(t&&t.has(e))return t.get(e);var r={__proto__:null},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var o=u?Object.getOwnPropertyDescriptor(e,n):null;o&&(o.get||o.set)?Object.defineProperty(r,n,o):r[n]=e[n]}return r.default=e,t&&t.set(e,r),r}(u.default),o=t.default;function a(e){if("function"!=typeof WeakMap)return null;var t=/* @__PURE__ */new WeakMap,r=/* @__PURE__ */new WeakMap;return(a=function(e){return e?r:t})(e)}exports.default=e.__exports.default=function(e=null){const t=n.useContext(o.ThemeContext);return t&&(r=t,0!==Object.keys(r).length)?t:e;var r};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getDefaultExportFromCjs } from "../../../_virtual/_commonjsHelpers/index.esm.js";
|
|
2
|
-
import { __module as propTypes } from "../../../_virtual/index/index.
|
|
2
|
+
import { __module as propTypes } from "../../../_virtual/index/index.esm2.js";
|
|
3
3
|
import { __require as requireFactoryWithTypeCheckers } from "../factoryWithTypeCheckers/index.esm.js";
|
|
4
4
|
import { __require as requireFactoryWithThrowingShims } from "../factoryWithThrowingShims/index.esm.js";
|
|
5
5
|
import require$$0 from "react-is";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_commonjsHelpers/index.js"),r=require("../../../_virtual/index/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_commonjsHelpers/index.js"),r=require("../../../_virtual/index/index2.js"),t=require("../factoryWithTypeCheckers/index.js"),i=require("../factoryWithThrowingShims/index.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=/* @__PURE__ */o(require("react-is"));if("production"!==process.env.NODE_ENV){var s=u.default;r.__module.exports=t.__require()(s.isElement,!0)}else r.__module.exports=i.__require()();var _=r.__module.exports,a=/* @__PURE__ */e.getDefaultExportFromCjs(_);exports.default=a;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../node_modules/prop-types/index.js"],"sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n"],"names":["process","env","NODE_ENV","ReactIs","require$$0","propTypesModule","exports","require$$1","isElement","require$$2"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../node_modules/prop-types/index.js"],"sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n"],"names":["process","env","NODE_ENV","ReactIs","require$$0","propTypesModule","exports","require$$1","isElement","require$$2"],"mappings":"uYAOA,GAA6B,eAAzBA,QAAQC,IAAIC,SAA2B,CACzC,IAAIC,EAAUC,EAAAA,QAKdC,EAAAA,SAAAC,QAAiBC,EAAAA,WAAAA,CAAqCJ,EAAQK,WADpC,EAE5B,MAGEH,WAAAC,QAAiBG,EAAAA,WAAAA","x_google_ignoreList":[0]}
|
package/dist/style.css
CHANGED
|
@@ -154,10 +154,10 @@
|
|
|
154
154
|
/*$vite$:1*/
|
|
155
155
|
.react-kanban-board{padding:5px}.react-kanban-card{border-radius:3px;background-color:#fff;padding:10px;margin-bottom:7px}.react-kanban-card-skeleton,.react-kanban-card,.react-kanban-card-adder-form{box-sizing:border-box;max-width:250px;min-width:250px}.react-kanban-card--dragging{box-shadow:2px 2px gray}.react-kanban-card__description{padding-top:10px}.react-kanban-card__title{border-bottom:1px solid #eee;padding-bottom:5px;font-weight:700;display:flex;justify-content:space-between}.react-kanban-column{padding:15px;border-radius:2px;background-color:#eee;margin:5px}.react-kanban-column input:focus{outline:none}.react-kanban-card-adder-form{border-radius:3px;background-color:#fff;padding:10px;margin-bottom:7px}.react-kanban-card-adder-form input{border:0px;font-family:inherit;font-size:inherit}.react-kanban-card-adder-button{width:100%;margin-top:5px;background-color:transparent;cursor:pointer;border:1px solid #ccc;transition:.3s;border-radius:3px;font-size:20px;margin-bottom:10px;font-weight:700}.react-kanban-card-adder-button:hover{background-color:#ccc}.react-kanban-card-adder-form__title{border-bottom:1px solid #eee;font-weight:700;display:flex;justify-content:space-between;width:100%;padding:0}.react-kanban-card-adder-form__title:focus{outline:none}.react-kanban-card-adder-form__description{width:100%;margin-top:10px}.react-kanban-card-adder-form__description:focus{outline:none}.react-kanban-card-adder-form__button{background-color:#eee;border:none;padding:5px;width:45%;margin-top:5px;border-radius:3px}.react-kanban-card-adder-form__button:hover{transition:.3s;cursor:pointer;background-color:#ccc}.react-kanban-column-header{padding-bottom:10px;font-weight:700}.react-kanban-column-header input:focus{outline:none}.react-kanban-column-header__button{color:#333;background-color:#fff;border-color:#ccc}.react-kanban-column-header__button:hover,.react-kanban-column-header__button:focus,.react-kanban-column-header__button:active{background-color:#e6e6e6}.react-kanban-column-adder-button{border:2px dashed #eee;height:132px;margin:5px}.react-kanban-column-adder-button:hover{cursor:pointer}
|
|
156
156
|
/*$vite$:1*/
|
|
157
|
-
._3_ygE{display:table;border-bottom:#e6e4e4 1px solid;border-top:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}._1nBOt{display:table-row;list-style:none}._2eZzQ{border-right:1px solid rgb(196,196,196);opacity:1;margin-left:-2px}._WuQ0f{display:table-cell;vertical-align:-webkit-baseline-middle;vertical-align:middle}._3ZbQT{display:table;border-bottom:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}._34SS0{display:table-row;text-overflow:ellipsis}._34SS0:nth-of-type(2n){background-color:#f5f5f5}._3lLk3{display:table-cell;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._nI1Xw{display:flex}._2QjE6{color:#565656;font-size:.6rem;padding:.15rem .2rem 0rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}._2TfEi{font-size:.6rem;padding-left:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._3T42e{background:#fff;padding:12px;box-shadow:0 3px 6px #00000029,0 3px 6px #0000003b}._29NTg{font-size:12px;margin-bottom:6px;color:#666}._25P-K{position:absolute;display:flex;flex-shrink:0;pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._3gVAq{visibility:hidden;position:absolute;display:flex;pointer-events:none}._1eT-t{overflow:hidden auto;width:1rem;flex-shrink:0;scrollbar-width:thin}._1eT-t::-webkit-scrollbar{width:1.1rem;height:1.1rem}._1eT-t::-webkit-scrollbar-corner{background:transparent}._1eT-t::-webkit-scrollbar-thumb{border:6px solid transparent;background:#0003;background:var(--palette-black-alpha-20, rgba(0, 0, 0, .2));border-radius:10px;background-clip:padding-box}._1eT-t::-webkit-scrollbar-thumb:hover{border:4px solid transparent;background:#0000004d;background:var(--palette-black-alpha-30, rgba(0, 0, 0, .3));background-clip:padding-box}._2dZTy{fill:#fff}._2dZTy:nth-child(2n){fill:#f5f5f5}._3rUKi{stroke:#ebeff2}._RuwuK{stroke:#e6e4e4}._9w8d5{text-anchor:middle;fill:#333;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}._1rLuZ{stroke:#e6e4e4}._2q1Kt{text-anchor:middle;fill:#555;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}._35nLX{fill:#fff;stroke:#e0e0e0;stroke-width:1.4}._KxSXS{cursor:pointer;outline:none}._KxSXS:hover ._3w_5u{visibility:visible;opacity:1}._3w_5u{fill:#ddd;cursor:ew-resize;opacity:0;visibility:hidden}._31ERP{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;stroke-width:0}._RRr13{cursor:pointer;outline:none}._2P2B1{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._1KJ6x{cursor:pointer;outline:none}._2RbVy{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.6}._2pZMF{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._3zRJQ{fill:#fff;text-anchor:middle;font-weight:lighter;dominant-baseline:central;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}._3KcaM{fill:#555;text-anchor:start;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}._CZjuD{overflow:hidden;font-size:0;margin:0;padding:0}._2B2zv{margin:0;padding:0;overflow:hidden}._3eULf{display:flex;padding:0;margin:0;list-style:none;outline:none;position:relative}._2k9Ys{overflow:auto;max-width:100%;scrollbar-width:thin;height:1.2rem}._2k9Ys::-webkit-scrollbar{width:1.1rem;height:1.1rem}._2k9Ys::-webkit-scrollbar-corner{background:transparent}._2k9Ys::-webkit-scrollbar-thumb{border:6px solid transparent;background:#0003;background:var(--palette-black-alpha-20, rgba(0, 0, 0, .2));border-radius:10px;background-clip:padding-box}._2k9Ys::-webkit-scrollbar-thumb:hover{border:4px solid transparent;background:#0000004d;background:var(--palette-black-alpha-30, rgba(0, 0, 0, .3));background-clip:padding-box}._19jgW{height:1px}
|
|
158
|
-
/*$vite$:1*/
|
|
159
157
|
.d1t1th9s{position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:hidden;box-sizing:border-box;--overlay-top:var(--d1t1th9s-0);left:var(--d1t1th9s-1);top:var(--d1t1th9s-2);min-width:var(--d1t1th9s-3);min-height:var(--d1t1th9s-4);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:400px;max-height:calc(100vh - var(--d1t1th9s-5));font-family:var(--gdg-font-family);font-size:var(--gdg-editor-font-size);text-align:start}@-webkit-keyframes glide_fade_in-d1t1th9s{0%{opacity:0%}to{opacity:100%}}@keyframes glide_fade_in-d1t1th9s{0%{opacity:0%}to{opacity:100%}}.d1t1th9s.gdg-style{border-radius:2px;background-color:var(--gdg-bg-cell);box-shadow:0 0 0 1px var(--gdg-accent-color),0 0 1px #3e415666,0 6px 12px #3e415626;-webkit-animation:glide_fade_in-d1t1th9s 60ms 1;animation:glide_fade_in-d1t1th9s 60ms 1}.d1t1th9s.pad{padding:var(--d1t1th9s-6) 8.5px 3px}.d1t1th9s .clip-region{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow-y:auto;overflow-x:hidden;border-radius:2px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.d1t1th9s .clip-region .gdg-growing-entry{height:100%}.d1t1th9s .clip-region input.gdg-input{width:100%;border:none;border-width:0;outline:none}.d1t1th9s .clip-region textarea.gdg-input{border:none;border-width:0;outline:none}.m15w2ly5{position:absolute;right:44px;bottom:44px;background-color:var(--gdg-bg-cell);background:linear-gradient(var(--gdg-bg-cell),var(--gdg-bg-cell-medium));border-radius:4px;z-index:1;box-shadow:0 0 0 1px var(--gdg-border-color),0 2px 5px #00000014;overflow:hidden}.m15w2ly5 .header{position:absolute;left:0;top:0;width:100%;height:4px;background-color:var(--gdg-bg-header);box-shadow:0 0 0 1px var(--gdg-border-color)}.m15w2ly5 .locationMarker{position:absolute;border:1px solid var(--gdg-accent-color);background-color:var(--gdg-accent-light)}.s1jz82f8 .dvn-scroller{overflow:var(--s1jz82f8-0);-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0)}.s1jz82f8 .hidden{visibility:hidden}.s1jz82f8 .dvn-scroll-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;pointer-events:none}.s1jz82f8 .dvn-scroll-inner>*{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.s1jz82f8 .dvn-scroll-inner .dvn-spacer{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.s1jz82f8 .dvn-scroll-inner .dvn-stack{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.s1jz82f8 .dvn-underlay>*{position:absolute;left:0;top:0}.s1jz82f8 canvas{outline:none}.s1jz82f8 canvas *{height:0}.sxep88s{position:absolute;top:4px;right:20px;background-color:var(--gdg-bg-cell);color:var(--gdg-text-dark);padding:8px;border:1px solid var(--gdg-border-color);border-radius:6px;font-size:var(--gdg-editor-font-size);-webkit-transform:translateX(var(--sxep88s-0));-ms-transform:translateX(var(--sxep88s-0));transform:translate(var(--sxep88s-0));-webkit-transition:-webkit-transform .15s;-webkit-transition:transform .15s;transition:transform .15s}.sxep88s .search-bar-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.sxep88s .search-status{padding-top:4px;font-size:11px}.sxep88s .search-progress{position:absolute;height:4px;left:0;bottom:0;background-color:var(--gdg-text-light)}.sxep88s input{width:220px;color:var(--gdg-textDark);background-color:var(--gdg-bg-cell);border:none;border-width:0;outline:none}.sxep88s button{width:24px;height:24px;padding:0;border:none;outline:none;background:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;color:var(--gdg-text-medium)}.sxep88s button:hover{color:var(--gdg-text-dark)}.sxep88s button .button-icon{width:16px;height:16px}.sxep88s button:disabled{opacity:.4;pointer-events:none}.r1kzy40b{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;border:none;outline:none;background-color:var(--gdg-bg-header-has-focus);border-radius:9px;padding:0 8px;box-shadow:0 0 0 1px var(--gdg-border-color);color:var(--gdg-text-group-header);min-height:var(--r1kzy40b-0);font:var(--gdg-header-font-style) var(--gdg-font-family)}.c1sqdbw3{padding:0 8px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--gdg-bg-header)}.wzg2m5k{position:relative;min-width:10px;min-height:10px;max-width:100%;max-height:100%;width:var(--wzg2m5k-0);height:var(--wzg2m5k-1);overflow:hidden;overflow:clip;contain:strict;direction:ltr}.wzg2m5k>:first-child{position:absolute;left:0;top:0;width:100%;height:100%}.b1bqsp5z{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.b1bqsp5z .boe-bubble{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:100px;padding:0 8px;height:20px;background-color:var(--gdg-bg-bubble);color:var(--gdg-text-dark);margin:2px}.b1bqsp5z textarea{position:absolute;top:0;left:0;width:0px;height:0px;opacity:0}.df2kt4a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.df2kt4a .doe-bubble{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 8px;height:24px;background-color:var(--gdg-bg-cell);color:var(--gdg-text-dark);margin:2px;border-radius:6px;box-shadow:0 0 1px #3e415666,0 1px 3px #3e415666}.df2kt4a .doe-bubble img{height:16px;object-fit:contain;margin-right:4px}.df2kt4a textarea{position:absolute;top:0;left:0;width:0px;height:0px;opacity:0}.i1eozt10{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%}.i1eozt10 .centering-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%}.i1eozt10 .centering-container img,.i1eozt10 .centering-container canvas{max-height:calc(100vh - var(--overlay-top) - 20px);object-fit:contain;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.i1eozt10 .centering-container canvas{max-width:380px}.i1eozt10 .edit-icon{position:absolute;top:12px;right:0;width:48px;height:48px;color:var(--gdg-accent-color);cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.i1eozt10 .edit-icon>*{width:24px;height:24px}.i1eozt10 textarea{position:absolute;top:0;left:0;width:0px;height:0px;opacity:0}.mlbeo71{word-break:break-word;-webkit-touch-callout:default;padding-top:6px}.mlbeo71>*{margin:0}.mlbeo71 *:last-child{margin-bottom:0}.mlbeo71 p img{width:100%}.ijuk0po{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;border-radius:0;resize:none;white-space:pre-wrap;min-width:100%;overflow:hidden;border:0;background-color:transparent;font-size:var(--gdg-editor-font-size);line-height:16px;font-family:var(--gdg-font-family);color:var(--gdg-text-dark);padding:0;margin:0}.ijuk0po::-webkit-input-placeholder{color:var(--gdg-text-light)}.ijuk0po::-moz-placeholder{color:var(--gdg-text-light)}.ijuk0po:-ms-input-placeholder{color:var(--gdg-text-light)}.ijuk0po::placeholder{color:var(--gdg-text-light)}.invalid .ijuk0po{-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration-color:#d60606;text-decoration-color:#d60606}.saq3p5l{visibility:hidden;white-space:pre-wrap;word-wrap:break-word;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;min-width:100%;font-size:var(--gdg-editor-font-size);line-height:16px;font-family:var(--gdg-font-family);color:var(--gdg-text-dark);padding:0 0 2px;margin:0}.gf8vzix{position:relative;margin-top:6px}.mdwzdl1{min-width:var(--mdwzdl1-0);width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;position:relative;color:var(--gdg-text-dark)}.mdwzdl1 .gf8vzix{-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;min-width:0}.mdwzdl1 .spacer{-webkit-flex:1;-ms-flex:1;flex:1}.mdwzdl1 .edit-icon{position:relative;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--gdg-accent-color);padding:0;height:24px;width:24px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:all "0.125s ease";transition:all "0.125s ease";border-radius:6px}.mdwzdl1 .edit-icon>*{width:16px;height:16px}.mdwzdl1 .edit-hover:hover{background-color:var(--gdg-accent-light);-webkit-transition:background-color .15s;transition:background-color .15s}.mdwzdl1 .checkmark-hover:hover{color:#fff;background-color:var(--gdg-accent-color)}.mdwzdl1 .md-edit-textarea{position:relative;top:0;left:0;width:0px;height:0px;margin-top:25px;opacity:0;padding:0}.mdwzdl1 .ml-6{margin-left:6px}.n1czszh3{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:6px 0 3px;color:var(--gdg-text-dark)}.n1czszh3>input{font-size:var(--gdg-editor-font-size);padding:0;font-family:var(--gdg-font-family);color:var(--gdg-text-dark);background-color:var(--gdg-bg-cell)}.uf0sjo8{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:21px}.uf0sjo8 .link-area{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;cursor:pointer;margin-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gdg-link-color);-webkit-text-decoration:underline!important;text-decoration:underline!important}.uf0sjo8 .edit-icon{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:32px;color:var(--gdg-accent-color);cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.uf0sjo8 .edit-icon>*{width:24px;height:24px}.uf0sjo8 textarea{position:absolute;top:0;left:0;width:0px;height:0px;opacity:0}
|
|
160
158
|
/*$vite$:1*/
|
|
159
|
+
._3_ygE{display:table;border-bottom:#e6e4e4 1px solid;border-top:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}._1nBOt{display:table-row;list-style:none}._2eZzQ{border-right:1px solid rgb(196,196,196);opacity:1;margin-left:-2px}._WuQ0f{display:table-cell;vertical-align:-webkit-baseline-middle;vertical-align:middle}._3ZbQT{display:table;border-bottom:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}._34SS0{display:table-row;text-overflow:ellipsis}._34SS0:nth-of-type(2n){background-color:#f5f5f5}._3lLk3{display:table-cell;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._nI1Xw{display:flex}._2QjE6{color:#565656;font-size:.6rem;padding:.15rem .2rem 0rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}._2TfEi{font-size:.6rem;padding-left:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._3T42e{background:#fff;padding:12px;box-shadow:0 3px 6px #00000029,0 3px 6px #0000003b}._29NTg{font-size:12px;margin-bottom:6px;color:#666}._25P-K{position:absolute;display:flex;flex-shrink:0;pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._3gVAq{visibility:hidden;position:absolute;display:flex;pointer-events:none}._1eT-t{overflow:hidden auto;width:1rem;flex-shrink:0;scrollbar-width:thin}._1eT-t::-webkit-scrollbar{width:1.1rem;height:1.1rem}._1eT-t::-webkit-scrollbar-corner{background:transparent}._1eT-t::-webkit-scrollbar-thumb{border:6px solid transparent;background:#0003;background:var(--palette-black-alpha-20, rgba(0, 0, 0, .2));border-radius:10px;background-clip:padding-box}._1eT-t::-webkit-scrollbar-thumb:hover{border:4px solid transparent;background:#0000004d;background:var(--palette-black-alpha-30, rgba(0, 0, 0, .3));background-clip:padding-box}._2dZTy{fill:#fff}._2dZTy:nth-child(2n){fill:#f5f5f5}._3rUKi{stroke:#ebeff2}._RuwuK{stroke:#e6e4e4}._9w8d5{text-anchor:middle;fill:#333;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}._1rLuZ{stroke:#e6e4e4}._2q1Kt{text-anchor:middle;fill:#555;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}._35nLX{fill:#fff;stroke:#e0e0e0;stroke-width:1.4}._KxSXS{cursor:pointer;outline:none}._KxSXS:hover ._3w_5u{visibility:visible;opacity:1}._3w_5u{fill:#ddd;cursor:ew-resize;opacity:0;visibility:hidden}._31ERP{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;stroke-width:0}._RRr13{cursor:pointer;outline:none}._2P2B1{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._1KJ6x{cursor:pointer;outline:none}._2RbVy{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.6}._2pZMF{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._3zRJQ{fill:#fff;text-anchor:middle;font-weight:lighter;dominant-baseline:central;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}._3KcaM{fill:#555;text-anchor:start;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}._CZjuD{overflow:hidden;font-size:0;margin:0;padding:0}._2B2zv{margin:0;padding:0;overflow:hidden}._3eULf{display:flex;padding:0;margin:0;list-style:none;outline:none;position:relative}._2k9Ys{overflow:auto;max-width:100%;scrollbar-width:thin;height:1.2rem}._2k9Ys::-webkit-scrollbar{width:1.1rem;height:1.1rem}._2k9Ys::-webkit-scrollbar-corner{background:transparent}._2k9Ys::-webkit-scrollbar-thumb{border:6px solid transparent;background:#0003;background:var(--palette-black-alpha-20, rgba(0, 0, 0, .2));border-radius:10px;background-clip:padding-box}._2k9Ys::-webkit-scrollbar-thumb:hover{border:4px solid transparent;background:#0000004d;background:var(--palette-black-alpha-30, rgba(0, 0, 0, .3));background-clip:padding-box}._19jgW{height:1px}
|
|
160
|
+
/*$vite$:1*/
|
|
161
161
|
.add-role-drp ul{min-width:12.875rem;border-radius:.5rem;gap:.25rem;display:flex;flex-direction:column}.add-role-drp ul .searchbar-box-list{border:0;padding:.313rem .75rem .5rem}.add-role-drp ul .all-attribute-title{padding:0rem .938rem}.add-role-drp ul .all-attribute-title .MuiTypography-root{font-size:.875rem}.add-role-drp ul .role-drp-list .add-icon{min-width:1.5rem}.add-role-drp ul .role-drp-list .title span{font-size:.938rem;font-weight:400;line-height:1.125rem;letter-spacing:-.02em;color:#656669}.add-role-drp ul .role-drp-list .eye-icon{text-align:right;min-width:2rem}.add-role-drp ul .role-drp-list .eye-icon img{margin-left:auto}.add-role-drp ul .role-drp-list:last-child .title span{color:#1f2125}.add-role-drp ul .role-drp-list:last-child .eye-icon{position:relative;top:.188rem}.add-role-drp ul .role-drp-list:last-child .eye-icon svg{fill:#7b7c7f}.dropdown-inner--DestructiveActions{color:#c64d4d}.dropdown-inner--DestructiveActions:hover{background-color:#fedfdf}.action-items ul{display:flex;text-align:center}.no-data{display:flex;width:100%;flex-direction:column;align-items:center}.add-row-btn{color:#1f2125!important}.MuiTableSortLabel-iconDirectionAsc path:first-child{fill:#232529}.MuiTableSortLabel-iconDirectionAsc path:last-child{fill:#bdbebf}.MuiTableSortLabel-iconDirectionDesc path:first-child{fill:#232529}.MuiTableSortLabel-iconDirectionDesc path:last-child{fill:#bdbebf}.custom-table table th{background-color:#fbfbfb!important}.custom-table table th svg{height:16px!important;width:16px!important}.custom-table table th:nth-child(2) svg{height:20px!important;width:20px!important}.custom-table table th button[aria-label=Move]{display:none;transition:all .3s ease-in-out}.custom-table table th:hover button[aria-label=Move]{display:block}.custom-table .MuiTouchRipple-root{display:none}.custom-table table th span.MuiBadge-root{width:16px}.custom-table table td{font-size:13px!important}.custom-table tbody tr:last-of-type td:first-of-type{background-color:#fff}
|
|
162
162
|
/*$vite$:1*/
|
|
163
163
|
.listing-component{display:flex;flex-direction:column;height:100%}.listing-component .fallback-container,.listing-component .loading-container{flex:1;display:flex;align-items:center;justify-content:center}
|