@argusoft/medplat-core 1.0.8 → 1.0.9
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/{AddFeatures-CkTu7sOI.js → AddFeatures-DLbjDGei.js} +2 -2
- package/dist/{AddFeatures-CkTu7sOI.js.map → AddFeatures-DLbjDGei.js.map} +1 -1
- package/dist/{ManageRole-CuXmWQyp.js → ManageRole-BjIIXAlK.js} +2 -2
- package/dist/{ManageRole-CuXmWQyp.js.map → ManageRole-BjIIXAlK.js.map} +1 -1
- package/dist/{RoleManagement-C0feJCuq.js → RoleManagement-v5Nyp1vr.js} +13 -7
- package/dist/RoleManagement-v5Nyp1vr.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/RoleManagement-C0feJCuq.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
2
|
-
import { p as M } from "./RoleManagement-
|
|
2
|
+
import { p as M } from "./RoleManagement-v5Nyp1vr.js";
|
|
3
3
|
import { yupResolver as O } from "@hookform/resolvers/yup";
|
|
4
4
|
import { Modal as V, Box as x, Typography as p, List as $, ListItem as z, Stack as W, Button as v } from "@mui/material";
|
|
5
5
|
import i from "@mui/material/Grid2";
|
|
@@ -209,4 +209,4 @@ Y.propTypes = {
|
|
|
209
209
|
export {
|
|
210
210
|
Y as default
|
|
211
211
|
};
|
|
212
|
-
//# sourceMappingURL=AddFeatures-
|
|
212
|
+
//# sourceMappingURL=AddFeatures-DLbjDGei.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddFeatures-CkTu7sOI.js","sources":["../src/views/Roles/AddFeatures.jsx"],"sourcesContent":["import { postNewFeature } from \"../../services/Roles\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport {\n Box,\n Button,\n List,\n ListItem,\n Modal,\n Stack,\n Typography,\n} from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\nimport PropTypes from \"prop-types\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport * as Yup from \"yup\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport CustomAutocomplete from \"@/views/custom-components/CustomAutoComplete\";\nimport { getFeaturesV2 } from \"@/common/services/AuthenticateService\";\n// import { getFeatures } from \"@/common/services/AuthenticateService\";\n\nexport default function AddFeatures({\n assignedFeatureList,\n selectedId,\n setData,\n open,\n setOpenModal,\n}) {\n const formRef = useRef(null);\n const submitRef = useRef(false);\n const { translate } = useTranslateProvider();\n const [features, setFeatures] = useState([]);\n\n const validationSchema = Yup.object().shape({\n values: Yup.array().min(1, \"Please select at least one feature.\"),\n });\n\n const {\n formState: { errors },\n handleSubmit,\n reset,\n control,\n watch,\n } = useForm({\n defaultValues: {\n values: [],\n },\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n\n const featuresWatcher = watch(\"values\");\n\n function extractFeatures(data) {\n const features = [];\n for (const key in data) {\n data[key].forEach((item) => {\n if (item.subGroups) {\n item.subGroups.forEach((subGroup) => features.push(subGroup));\n } else {\n features.push(item);\n }\n });\n }\n return features;\n }\n\n const trackEvent = useTrackEvent();\n\n function handleClose() {\n reset();\n setOpenModal(false);\n trackEvent(\"conversion_event\", {\n form: formRef.current,\n form_name: \"Add Feature\",\n submit: submitRef.current,\n });\n trackEvent(\"button_click\", {\n button_name: \"add feature cancel button\",\n button_type: \"cancel\",\n button_id: \"assignfeatures-button-cancel\",\n });\n }\n\n const onSubmit = async (value) => {\n try {\n trackEvent(\"button_click\", {\n button_name: \"add feature save button\",\n button_type: \"submit\",\n button_id: \"assignfeatures-button-save\",\n });\n const selectedFeatureIds = value.values\n .map((feature) => feature.id)\n .join(\",\");\n const featureIds = {\n featureId: selectedFeatureIds,\n };\n\n await postNewFeature(featureIds, selectedId);\n showToast({\n message: \"Feature successfully assigned to selected role\",\n type: \"success\",\n });\n await setData();\n\n submitRef.current = true;\n handleClose();\n } catch (error) {\n showToast({\n message: `Error : ${error?.message}`,\n type: \"error\",\n });\n }\n };\n const loadData = async () => {\n try {\n const { data: features } = await getFeaturesV2();\n\n const data = extractFeatures(features).sort((a, b) =>\n a.name?.localeCompare(b.name),\n );\n\n const AvailableFeatures = data.filter(\n (feature) =>\n !assignedFeatureList?.some(\n (availableFeature) => availableFeature.featureId === feature.id,\n ),\n );\n setFeatures(AvailableFeatures);\n } catch (error) {\n showToast({\n message: `Error : ${error?.message}`,\n type: \"error\",\n });\n }\n };\n\n useEffect(() => {\n loadData();\n }, [assignedFeatureList]);\n\n return (\n <Grid>\n <Modal\n open={open}\n onClose={handleClose}\n data-testid=\"assignfeatures-modal\"\n >\n <Grid\n container\n className=\"absolute top-[10%] left-[50%] transform -translate-x-1/2 w-[95%] sm:w-[37.5rem] shadow-2xl rounded-md border flex flex-col h-auto max-h-[80vh] overflow-y-auto\"\n sx={{ bgcolor: \"background.paper\" }}\n >\n <Grid className=\"flex flex-col gap-2\">\n <Box\n className=\"p-2.5 px-5 flex w-full justify-start\"\n sx={{ borderBottom: 1, borderColor: \"divider\" }}\n >\n <Typography\n className=\"font-medium text-lg text-customBlue\"\n sx={{ color: \"text.primary\" }}\n >\n {translate(\"Assign New Feature\")}\n </Typography>\n </Box>\n <Box\n className=\"p-2.5 max-h-100 overflow-auto\"\n sx={{ borderBottom: 1, borderColor: \"divider\" }}\n >\n <CustomAutocomplete\n options={features}\n getOptionLabel={(option) => option.name}\n control={control}\n name={\"values\"}\n errors={errors}\n dataTestId={\"assignfeatures-autocomplete\"}\n />\n {featuresWatcher.length > 0 && (\n <Grid className=\"overflow-y-auto flex flex-col max-h-40 h-auto\">\n <List>\n {featuresWatcher\n .filter((feature) => feature.description)\n .map((feature) => (\n <ListItem key={feature?.id}>\n <Typography>\n <strong>{feature?.name}:</strong>{\" \"}\n {feature?.description}\n </Typography>\n </ListItem>\n ))}\n </List>\n </Grid>\n )}\n </Box>\n\n <Stack\n direction=\"row\"\n spacing={2}\n justifyContent=\"flex-end\"\n mt={2}\n mb={1}\n className=\"px-4\"\n >\n <Button\n variant=\"contained\"\n color=\"secondary\"\n onClick={handleClose}\n data-testid=\"assignfeatures-button-cancel\"\n >\n <Typography\n variant=\"caption\"\n data-testid=\"assignfeatures-typography-cancel\"\n >\n {translate(\"Cancel\")}\n </Typography>\n </Button>\n <Button\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n onClick={handleSubmit(onSubmit)}\n data-testid=\"assignfeatures-button-save\"\n >\n {translate(\"Add\")}\n </Button>\n </Stack>\n </Grid>\n </Grid>\n </Modal>\n </Grid>\n );\n}\n\nAddFeatures.propTypes = {\n assignedFeatureList: PropTypes.any,\n selectedId: PropTypes.any,\n open: PropTypes.any,\n setOpenModal: PropTypes.any,\n setData: PropTypes.any,\n};\n"],"names":["AddFeatures","assignedFeatureList","selectedId","setData","open","setOpenModal","formRef","useRef","submitRef","translate","useTranslateProvider","features","setFeatures","useState","validationSchema","Yup","errors","handleSubmit","reset","control","watch","useForm","yupResolver","featuresWatcher","extractFeatures","data","key","item","subGroup","trackEvent","useTrackEvent","handleClose","onSubmit","value","featureIds","feature","postNewFeature","showToast","error","loadData","getFeaturesV2","AvailableFeatures","b","_a","availableFeature","useEffect","Grid","jsx","Modal","jsxs","Box","Typography","CustomAutocomplete","option","List","ListItem","Stack","Button","PropTypes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AddFeatures-DLbjDGei.js","sources":["../src/views/Roles/AddFeatures.jsx"],"sourcesContent":["import { postNewFeature } from \"../../services/Roles\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport {\n Box,\n Button,\n List,\n ListItem,\n Modal,\n Stack,\n Typography,\n} from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\nimport PropTypes from \"prop-types\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport * as Yup from \"yup\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport CustomAutocomplete from \"@/views/custom-components/CustomAutoComplete\";\nimport { getFeaturesV2 } from \"@/common/services/AuthenticateService\";\n// import { getFeatures } from \"@/common/services/AuthenticateService\";\n\nexport default function AddFeatures({\n assignedFeatureList,\n selectedId,\n setData,\n open,\n setOpenModal,\n}) {\n const formRef = useRef(null);\n const submitRef = useRef(false);\n const { translate } = useTranslateProvider();\n const [features, setFeatures] = useState([]);\n\n const validationSchema = Yup.object().shape({\n values: Yup.array().min(1, \"Please select at least one feature.\"),\n });\n\n const {\n formState: { errors },\n handleSubmit,\n reset,\n control,\n watch,\n } = useForm({\n defaultValues: {\n values: [],\n },\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n\n const featuresWatcher = watch(\"values\");\n\n function extractFeatures(data) {\n const features = [];\n for (const key in data) {\n data[key].forEach((item) => {\n if (item.subGroups) {\n item.subGroups.forEach((subGroup) => features.push(subGroup));\n } else {\n features.push(item);\n }\n });\n }\n return features;\n }\n\n const trackEvent = useTrackEvent();\n\n function handleClose() {\n reset();\n setOpenModal(false);\n trackEvent(\"conversion_event\", {\n form: formRef.current,\n form_name: \"Add Feature\",\n submit: submitRef.current,\n });\n trackEvent(\"button_click\", {\n button_name: \"add feature cancel button\",\n button_type: \"cancel\",\n button_id: \"assignfeatures-button-cancel\",\n });\n }\n\n const onSubmit = async (value) => {\n try {\n trackEvent(\"button_click\", {\n button_name: \"add feature save button\",\n button_type: \"submit\",\n button_id: \"assignfeatures-button-save\",\n });\n const selectedFeatureIds = value.values\n .map((feature) => feature.id)\n .join(\",\");\n const featureIds = {\n featureId: selectedFeatureIds,\n };\n\n await postNewFeature(featureIds, selectedId);\n showToast({\n message: \"Feature successfully assigned to selected role\",\n type: \"success\",\n });\n await setData();\n\n submitRef.current = true;\n handleClose();\n } catch (error) {\n showToast({\n message: `Error : ${error?.message}`,\n type: \"error\",\n });\n }\n };\n const loadData = async () => {\n try {\n const { data: features } = await getFeaturesV2();\n\n const data = extractFeatures(features).sort((a, b) =>\n a.name?.localeCompare(b.name),\n );\n\n const AvailableFeatures = data.filter(\n (feature) =>\n !assignedFeatureList?.some(\n (availableFeature) => availableFeature.featureId === feature.id,\n ),\n );\n setFeatures(AvailableFeatures);\n } catch (error) {\n showToast({\n message: `Error : ${error?.message}`,\n type: \"error\",\n });\n }\n };\n\n useEffect(() => {\n loadData();\n }, [assignedFeatureList]);\n\n return (\n <Grid>\n <Modal\n open={open}\n onClose={handleClose}\n data-testid=\"assignfeatures-modal\"\n >\n <Grid\n container\n className=\"absolute top-[10%] left-[50%] transform -translate-x-1/2 w-[95%] sm:w-[37.5rem] shadow-2xl rounded-md border flex flex-col h-auto max-h-[80vh] overflow-y-auto\"\n sx={{ bgcolor: \"background.paper\" }}\n >\n <Grid className=\"flex flex-col gap-2\">\n <Box\n className=\"p-2.5 px-5 flex w-full justify-start\"\n sx={{ borderBottom: 1, borderColor: \"divider\" }}\n >\n <Typography\n className=\"font-medium text-lg text-customBlue\"\n sx={{ color: \"text.primary\" }}\n >\n {translate(\"Assign New Feature\")}\n </Typography>\n </Box>\n <Box\n className=\"p-2.5 max-h-100 overflow-auto\"\n sx={{ borderBottom: 1, borderColor: \"divider\" }}\n >\n <CustomAutocomplete\n options={features}\n getOptionLabel={(option) => option.name}\n control={control}\n name={\"values\"}\n errors={errors}\n dataTestId={\"assignfeatures-autocomplete\"}\n />\n {featuresWatcher.length > 0 && (\n <Grid className=\"overflow-y-auto flex flex-col max-h-40 h-auto\">\n <List>\n {featuresWatcher\n .filter((feature) => feature.description)\n .map((feature) => (\n <ListItem key={feature?.id}>\n <Typography>\n <strong>{feature?.name}:</strong>{\" \"}\n {feature?.description}\n </Typography>\n </ListItem>\n ))}\n </List>\n </Grid>\n )}\n </Box>\n\n <Stack\n direction=\"row\"\n spacing={2}\n justifyContent=\"flex-end\"\n mt={2}\n mb={1}\n className=\"px-4\"\n >\n <Button\n variant=\"contained\"\n color=\"secondary\"\n onClick={handleClose}\n data-testid=\"assignfeatures-button-cancel\"\n >\n <Typography\n variant=\"caption\"\n data-testid=\"assignfeatures-typography-cancel\"\n >\n {translate(\"Cancel\")}\n </Typography>\n </Button>\n <Button\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n onClick={handleSubmit(onSubmit)}\n data-testid=\"assignfeatures-button-save\"\n >\n {translate(\"Add\")}\n </Button>\n </Stack>\n </Grid>\n </Grid>\n </Modal>\n </Grid>\n );\n}\n\nAddFeatures.propTypes = {\n assignedFeatureList: PropTypes.any,\n selectedId: PropTypes.any,\n open: PropTypes.any,\n setOpenModal: PropTypes.any,\n setData: PropTypes.any,\n};\n"],"names":["AddFeatures","assignedFeatureList","selectedId","setData","open","setOpenModal","formRef","useRef","submitRef","translate","useTranslateProvider","features","setFeatures","useState","validationSchema","Yup","errors","handleSubmit","reset","control","watch","useForm","yupResolver","featuresWatcher","extractFeatures","data","key","item","subGroup","trackEvent","useTrackEvent","handleClose","onSubmit","value","featureIds","feature","postNewFeature","showToast","error","loadData","getFeaturesV2","AvailableFeatures","b","_a","availableFeature","useEffect","Grid","jsx","Modal","jsxs","Box","Typography","CustomAutocomplete","option","List","ListItem","Stack","Button","PropTypes"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { jsxs as s, jsx as a, Fragment as E } from "react/jsx-runtime";
|
|
|
2
2
|
import { useRef as K, useState as Y, useEffect as de } from "react";
|
|
3
3
|
import { Modal as ce, Box as j, IconButton as me, FormControl as v, FormGroup as ue, Button as X } from "@mui/material";
|
|
4
4
|
import he from "@/hooks/useTrackEvent";
|
|
5
|
-
import { g as ge, a as pe } from "./RoleManagement-
|
|
5
|
+
import { g as ge, a as pe } from "./RoleManagement-v5Nyp1vr.js";
|
|
6
6
|
import { getRoleList as fe, getLocationTypes as ye, execute as O } from "@/common/services/GlobalApis";
|
|
7
7
|
import { showToast as W } from "@/common/toaster/toaster";
|
|
8
8
|
import { useForm as be } from "react-hook-form";
|
|
@@ -725,4 +725,4 @@ Le.propTypes = {
|
|
|
725
725
|
export {
|
|
726
726
|
Le as default
|
|
727
727
|
};
|
|
728
|
-
//# sourceMappingURL=ManageRole-
|
|
728
|
+
//# sourceMappingURL=ManageRole-BjIIXAlK.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManageRole-CuXmWQyp.js","sources":["../src/views/Roles/Skeletons/ManageRoleSkeleton.jsx","../src/views/Roles/ManageRole.jsx"],"sourcesContent":["import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { getUseSkeleton } from \"@/store/reducers/SkeletonReducer\";\n\nconst ManageRoleSkeleton = ({ children, isLoading }) => {\n const useSkeleton = useSelector(getUseSkeleton);\n if (!useSkeleton) {\n return children;\n }\n if (!isLoading) return children;\n\n return (\n <div className=\"pt-6 h-[88vh]\">\n {/* Header Skeleton */}\n <div className=\"px-8 pt-2 pb-4 flex items-center justify-between\">\n <div className=\"bg-gray-300 animate-pulse rounded-md w-32 h-8\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-full w-10 h-10\"></div>\n </div>\n\n {/* Form Content Skeleton */}\n <div className=\"px-8 pb-8 space-y-6 overflow-y-auto max-h-[80vh]\">\n {/* Top Grid: Role Name, Max Position, Max Health Infra */}\n <div className=\"grid grid-cols-1 md:grid-cols-3 gap-4\">\n {[1, 2, 3].map((i) => (\n <div key={i} className=\"space-y-1.5\">\n <div className=\"h-4 bg-gray-300 rounded w-1/3 mb-2 animate-pulse\"></div>\n <div className=\"h-10 bg-gray-300 rounded animate-pulse w-full\"></div>\n </div>\n ))}\n </div>\n\n {/* Location Required Toggle */}\n <div className=\"flex items-center gap-6 w-full\">\n <div className=\"w-full\">\n <div className=\"h-4 bg-gray-300 rounded w-1/4 mb-2 animate-pulse\"></div>\n <div className=\"h-8 bg-gray-300 rounded-full w-16 animate-pulse\"></div>\n </div>\n </div>\n\n {/* Location Select (Conditional placeholder) & Manage Role */}\n <div className=\"space-y-4\">\n {[1, 2].map((i) => (\n <div key={i} className=\"space-y-1.5\">\n <div className=\"h-4 bg-gray-300 rounded w-1/4 mb-2 animate-pulse\"></div>\n <div className=\"h-10 bg-gray-300 rounded animate-pulse w-full\"></div>\n </div>\n ))}\n\n {/* Middle Grid: Role Type & Manage Team */}\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n {[1, 2].map((i) => (\n <div key={i} className=\"space-y-1.5\">\n <div className=\"h-4 bg-gray-300 rounded w-1/3 mb-2 animate-pulse\"></div>\n <div className=\"h-10 bg-gray-300 rounded animate-pulse w-full\"></div>\n </div>\n ))}\n </div>\n\n {/* Health Infra & Category */}\n {[1, 2].map((i) => (\n <div key={i} className=\"space-y-1.5\">\n <div className=\"h-4 bg-gray-300 rounded w-1/3 mb-2 animate-pulse\"></div>\n <div className=\"h-10 bg-gray-300 rounded animate-pulse w-full\"></div>\n </div>\n ))}\n </div>\n\n {/* Bottom Section: Bank Details & Self Manage */}\n <div className=\"flex items-center gap-6\">\n {/* Bank Details (Toggle style) */}\n <div className=\"w-[60%]\">\n <div className=\"h-4 bg-gray-300 rounded w-1/3 mb-2 animate-pulse\"></div>\n <div className=\"h-8 bg-gray-300 rounded-full w-16 animate-pulse\"></div>\n </div>\n {/* Self Manage (Checkbox style) */}\n <div className=\"w-[40%] flex items-center gap-2\">\n <div className=\"h-5 w-5 bg-gray-300 rounded animate-pulse\"></div>\n <div className=\"h-4 bg-gray-300 rounded w-1/3 animate-pulse\"></div>\n </div>\n </div>\n\n {/* Mandatory Fields Checkboxes */}\n <div className=\"space-y-2\">\n <div className=\"h-4 bg-gray-300 rounded w-1/4 mb-2 animate-pulse\"></div>\n <div className=\"flex flex-wrap gap-4\">\n {[1, 2, 3, 4].map((i) => (\n <div key={i} className=\"flex items-center gap-2\">\n <div className=\"h-5 w-5 bg-gray-300 rounded animate-pulse\"></div>\n <div className=\"h-4 w-16 bg-gray-300 rounded animate-pulse\"></div>\n </div>\n ))}\n </div>\n </div>\n </div>\n\n {/* Footer Buttons */}\n <div className=\"flex items-center justify-end gap-3 pt-6 px-8 pb-4 border-t border-slate-100\">\n <div className=\"h-9 w-20 bg-gray-300 rounded animate-pulse\"></div>\n <div className=\"h-9 w-24 bg-gray-300 rounded animate-pulse\"></div>\n </div>\n </div>\n );\n};\n\nexport default ManageRoleSkeleton;\n\nManageRoleSkeleton.propTypes = {\n children: PropTypes.any,\n isLoading: PropTypes.any,\n};\n","import { useState, useEffect, useRef } from \"react\";\nimport {\n Box,\n Modal,\n Button,\n FormControl,\n FormGroup,\n IconButton,\n // Tooltip,\n // Typography,\n} from \"@mui/material\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport { postRole, getRoleById } from \"../../services/Roles\";\nimport {\n getLocationTypes,\n execute,\n getRoleList,\n} from \"@/common/services/GlobalApis\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport \"@/assets/scss/scrollBar.scss\";\n\nimport { FormItem } from \"@/views/custom-components/FormItem.jsx\";\nimport * as Yup from \"yup\";\nimport CustomTextField from \"@/views/custom-components/CustomTextField\";\nimport CustomDropdown from \"@/views/custom-components/CustomDropdown\";\nimport CustomCheckBox from \"@/views/custom-components/CustomCheckBox\";\n// import CustomRadioGroup from \"@/views/custom-components/CustomRadioComponent\";\nimport CustomAutocomplete from \"@/views/custom-components/CustomAutoComplete\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faXmark } from \"@fortawesome/free-solid-svg-icons\";\nimport GeneralUtil from \"@/common/services/util/GeneralUtil\";\nimport PropTypes from \"prop-types\";\nimport CustomToggleSwitch from \"@/views/custom-components/CustomToggleSwitch\";\nimport ManageRoleSkeleton from \"./Skeletons/ManageRoleSkeleton.jsx\";\n\nconst roleTypes = [{ name: \"WEB\" }, { name: \"MOBILE\" }, { name: \"BOTH\" }];\n\n/**\n * ManageRole Component\n * @module ManageRole\n * @param {Object} props - The component props.\n * @param {function} props.setData - A function to update the role data in the parent component.\n * @param {string} props.selectedId - The ID of the currently selected role, used for updates.\n * @param {boolean} props.isUpdate - A flag indicating whether the component is in update mode (true) or create mode (false).\n * @returns {JSX.Element} - The rendered component for managing roles.\n */\n\nconst ManageRole = ({\n selectedId,\n isUpdate,\n open,\n setOpen,\n isRoleListModified,\n}) => {\n const formRef = useRef(null);\n const submitRef = useRef(false);\n const trackEvent = useTrackEvent();\n const [formData, setFormData] = useState({});\n const [isLoading, setIsLoading] = useState(false);\n const validationSchema = Yup.object().shape({\n name: Yup.string().required(\"Enter Role Name\"),\n locationTypes: Yup.array().when(\"isLocationRequired\", {\n is: true,\n then: (schema) =>\n schema.min(1, \"Select Location Type\").required(\"Select Location Type\"),\n otherwise: (schema) => schema.notRequired(),\n }),\n roleType: Yup.string().required(\"Select Role Type\"),\n isBankDetailsRequired: GeneralUtil.isTecho\n ? Yup.boolean().notRequired()\n : Yup.boolean().nullable().defined(\"Please Select a Value\"),\n healthInfrastructureIds: Yup.array().when(\"isHealthInfraMandatory\", {\n is: true,\n then: (schema) =>\n schema\n .min(1, \"Select Health Infrastructure Type\")\n .required(\"Select Health Infrastructure Type\"),\n otherwise: (schema) => schema.notRequired(),\n }),\n });\n\n const {\n control,\n handleSubmit,\n formState: { errors, isSubmitting },\n setValue,\n // getValues,\n watch,\n reset,\n } = useForm({\n defaultValues: {\n name: \"\",\n locationTypes: [],\n maxPosition: \"\",\n maxHealthInfra: \"\",\n roleType: \"\",\n isLastNameMandatory: false,\n isAadharNumMandatory: false,\n isEmailMandatory: false,\n isContactNumMandatory: false,\n isConvoxIdMandatory: false,\n isHealthInfraMandatory: false,\n isGeolocationMandatory: false,\n roleIds: [],\n canManageRoleIds: [],\n manageByTeamTypeIds: [],\n canSelfManage: false,\n healthInfrastructureIds: [],\n categoryIds: [],\n isBankDetailsRequired: false,\n isBankDetailsMandatory: false,\n id: \"\",\n code: \"\",\n description: \"\",\n createdBy: \"\",\n state: \"\",\n createdOn: \"\",\n assignedFeatureList: \"\",\n assignedFeatures: \"\",\n isSmagTrainedMandatory: \"\",\n isLocationRequired: true,\n isNodalMandatory: false,\n },\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n shouldUnregister: false,\n });\n\n const bankDetails = watch(\"isBankDetailsRequired\");\n const locTypes = watch(\"locationTypes\");\n const { translate } = useTranslateProvider();\n const locationDetailsWatcher = watch(\"isLocationRequired\");\n const isHealthInfraMandatory = watch(\"isHealthInfraMandatory\");\n\n const mandatoryFields = [\n { label: \"Email\", value: \"isEmailMandatory\" },\n ...(formData?.env !== \"chip\"\n ? [{ label: \"Aadhar Number\", value: \"isAadharNumMandatory\" }]\n : []),\n { label: \"Contact Number\", value: \"isContactNumMandatory\" },\n ...(formData?.env !== \"chip\"\n ? [{ label: \"Convox Id\", value: \"isConvoxIdMandatory\" }]\n : []),\n { label: \"Last Name\", value: \"isLastNameMandatory\" },\n { label: \"Health Infrastructure\", value: \"isHealthInfraMandatory\" },\n { label: \"GeoLocation\", value: \"isGeolocationMandatory\" },\n ...(formData?.env !== \"chip\"\n ? [{ label: \"Smag Trained\", value: \"isSmagTrainedMandatory\" }]\n : []),\n { label: \"Nodal\", value: \"isNodalMandatory\" },\n ].filter((field) => {\n if (GeneralUtil.isTecho) {\n return ![\n \"isGeolocationMandatory\",\n \"isHealthInfraMandatory\",\n \"isLastNameMandatory\",\n \"isSmagTrainedMandatory\",\n ].includes(field.value);\n }\n if (\n GeneralUtil.isSewaRural ||\n GeneralUtil.isPhmp ||\n GeneralUtil.isImomcare\n ) {\n return field.value !== \"isNodalMandatory\";\n }\n if (GeneralUtil.isEkavach) {\n return ![\n \"isGeolocationMandatory\",\n \"isHealthInfraMandatory\",\n \"isLastNameMandatory\",\n \"isNodalMandatory\",\n \"isSmagTrainedMandatory\",\n ].includes(field.value);\n }\n return true;\n });\n /**\n * Closes the form modal and optionally resets the form.\n * @method handleClose\n * @returns {void}\n */\n\n const handleClose = () => {\n setOpen(0);\n reset();\n trackEvent(\"conversion_event\", {\n form: formRef.current,\n form_name: \"Manage Role\",\n submit: submitRef.current,\n });\n trackEvent(\"button_click\", {\n button_name: \"add role close button\",\n button_type: \"cancel\",\n button_id: \"managerole-close-button\",\n });\n };\n\n /**\n * Adds a new field value to the current list of values for a given field.\n * @method handleAddFields\n * @param {Object} value - The new value to be added to the field.\n * @param {string} name - The name of the field to which the new value should be added.\n * @returns {void}\n */\n\n const handleAddFields = (e, value, name) => {\n setValue(name, value);\n };\n\n /**\n * Handles the submission of role data by sending a POST request to create or update a role.\n *\n * @async\n * @function onSubmit\n * @param {Object} params - The role data to be submitted.\n * @param {string} [params.id] - The unique identifier of the role (to be deleted if not an update).\n * @param {string} [params.state] - The state of the role (to be deleted if not an update).\n * @param {string} [params.createdOn] - The creation timestamp of the role (to be deleted if not an update).\n * @param {string} [params.createdBy] - The creator of the role (to be deleted if not an update).\n * @param {string} [params.code] - The code associated with the role (to be deleted if not an update).\n * @param {string} [params.description] - The description of the role (to be deleted if not an update).\n * @param {boolean} [params.assignedFeatures] - Whether features are assigned (to be deleted if not an update).\n * @param {boolean} [params.isSmagTrainedMandatory] - Whether SMAG training is mandatory (to be deleted if not an update).\n * @param {boolean} [params.isBankDetailsRequired] - Whether bank details are required (to be deleted if not an update).\n * @param {boolean} [params.isBankDetailsMandatory] - Whether bank details are mandatory (to be deleted if not an update).\n * @param {Array<Object>} params.roleIds - List of role IDs.\n * @param {Array<Object>} params.manageByTeamTypeIds - List of team type IDs for management.\n * @param {Array<Object>} params.healthInfrastructureIds - List of health infrastructure IDs.\n * @param {Array<Object>} params.categoryIds - List of category IDs.\n *\n * @throws {Error} Throws an error if the role cannot be added.\n *\n * @returns {Promise<void>} - A Promise that resolves when the role has been successfully submitted.\n */\n\n const onSubmit = async (params) => {\n try {\n trackEvent(\"button_click\", {\n button_name: isUpdate ? \"update role button\" : \"add role button\",\n button_type: \"submit\",\n button_id: \"managerole-add-button\",\n });\n\n delete params.bankDetailsRequired;\n delete params.bankDetailsMandatory;\n\n if (!isUpdate) {\n delete params.id;\n delete params.state;\n delete params.createdOn;\n delete params.createdBy;\n delete params.code;\n delete params.description;\n delete params.assignedFeatures;\n\n // delete params.isSmagTrainedMandatory;\n delete params.assignedFeatureList;\n }\n params.roleIds = params.roleIds.map((item) => item?.id);\n params.canManageRoleIds = params.canManageRoleIds.map(\n (item) => item?.id\n );\n params.manageByTeamTypeIds = params.manageByTeamTypeIds.map(\n (item) => item?.id\n );\n params.healthInfrastructureIds = params.healthInfrastructureIds.map(\n (item) => item?.id\n );\n // params.maxHealthInfra = parseInt(params.maxHealthInfra) || null;\n // params.maxPosition = parseInt(params.maxPosition) || null;\n params.categoryIds = params.categoryIds.map((item) => item?.id);\n params.locationTypes =\n params.isLocationRequired === true ? params.locationTypes : [];\n delete params.isLocationRequired;\n params.manageByRoleIds = params.roleIds;\n await postRole(params);\n showToast({\n type: \"success\",\n message: `Role ${isUpdate ? \"Updated\" : \"Added\"} Successfully`,\n });\n submitRef.current = true;\n handleClose();\n isRoleListModified();\n } catch (error) {\n showToast({\n type: \"error\",\n message: `Role Cannot be added: ${error?.response?.data?.message}`,\n });\n }\n };\n\n /**\n * Fetches and updates form data based on the selected role ID and initializes additional data needed for the form.\n *\n * This effect runs when the `selectedId` dependency changes. It retrieves role data by ID, updates the form fields\n * with the fetched role data, and sets additional data such as roles, location types, manage team types,\n * categories, and health infrastructure types.\n *\n * @async\n * @function useEffect\n */\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n setIsLoading((cur) => !cur);\n\n const env = GeneralUtil.getEnv();\n\n if (open !== 0) {\n const [roles, locationData, manageTeam, category, healthInfraType] =\n await Promise.all([\n getRoleList(),\n getLocationTypes(),\n execute({\n code: \"team_all_types_for_roles\",\n parameters: {},\n }),\n execute({\n code: \"retrieve_field_values_for_form_field\",\n parameters: {\n form: \"WEB\",\n fieldKey: \"role_catg\",\n },\n }),\n execute({\n code: \"retrieve_field_values_for_form_field\",\n parameters: {\n form: \"WEB\",\n fieldKey: \"infra_type\",\n },\n }),\n ]);\n\n setFormData((cur) => {\n return {\n ...cur,\n roles: roles.data,\n locationData: locationData.data,\n manageTeam: manageTeam?.data?.result,\n category: category?.data?.result,\n healthInfraType: healthInfraType?.data?.result,\n };\n });\n\n if (selectedId) {\n const { data: roleData } = await getRoleById(selectedId);\n setFormData((cur) => {\n return { ...cur, roleData, env };\n });\n Object.keys(roleData).map((key) => setValue(key, roleData[key]));\n setValue(\"isBankDetailsRequired\", roleData.isBankDetailsRequired);\n setValue(\"isBankDetailsMandatory\", roleData.isBankDetailsMandatory);\n const {\n manageByTeamTypeIds,\n healthInfrastructureIds,\n roleIds,\n categoryIds,\n } = roleData;\n setValue(\n \"manageByTeamTypeIds\",\n manageByTeamTypeIds\n ? manageByTeamTypeIds.map((item) =>\n manageTeam.data.result?.find((cur) => cur?.id === item)\n )\n : []\n );\n setValue(\n \"healthInfrastructureIds\",\n healthInfrastructureIds\n ? healthInfrastructureIds\n .map((item) =>\n healthInfraType.data.result?.find(\n (cur) => cur?.id === item\n )\n )\n .filter((item) => item !== undefined)\n : []\n );\n setValue(\n \"categoryIds\",\n categoryIds\n ? categoryIds.map((item) =>\n category.data.result?.find((cur) => cur?.id === item)\n )\n : []\n );\n setValue(\n \"roleIds\",\n roleIds\n ? roleIds\n .map((item) => roles.data?.find((cur) => cur?.id === item))\n .filter((role) => role !== undefined)\n : []\n );\n setValue(\n \"canManageRoleIds\",\n roleData.canManageRoleIds\n ? roleData.canManageRoleIds\n .map((item) => roles.data?.find((cur) => cur?.id === item))\n .filter((role) => role !== undefined)\n : []\n );\n if (roleData.locationTypes.length > 0) {\n setValue(\"isLocationRequired\", true);\n } else {\n setValue(\"isLocationRequired\", false);\n }\n }\n }\n\n setIsLoading((cur) => !cur);\n } catch (error) {\n showToast({\n message: `Error in manage role :${error?.message}`,\n type: \"error\",\n });\n setIsLoading((cur) => !cur);\n }\n };\n fetchData();\n }, [selectedId, open]);\n\n return (\n <Modal\n open={open !== 0}\n onClose={handleClose}\n data-testid=\"managerole-modal\"\n >\n <div className=\"mt-10 fixed inset-0 z-[100] flex items-center justify-center p-4 animate-in fade-in duration-200\">\n <Box\n className=\"w-full max-w-2xl rounded-[2.5rem] shadow-2xl shadow-blue-900/10 overflow-hidden flex flex-col animate-in zoom-in-95 duration-300\"\n sx={{ bgcolor: (theme) => theme.palette.custom.customBackground }}\n >\n <ManageRoleSkeleton isLoading={isLoading}>\n <div className=\"px-8 pt-8 pb-4 flex items-center justify-between\">\n <div>\n <Box\n component=\"h2\"\n className=\"text-2xl font-bold text-customBlue\"\n sx={{ color: \"text.primary\" }}\n >\n {!isUpdate ? \"Add New Role\" : \"Update Role\"}\n </Box>\n </div>\n <IconButton\n size=\"small\"\n onClick={handleClose}\n className=\"w-10 h-10 rounded-full bg-slate-100 flex items-center justify-center text-slate-400 hover:bg-slate-200 hover:text-slate-600 transition-all\"\n data-testid=\"managerole-close-icon\"\n >\n <FontAwesomeIcon icon={faXmark} size=\"lg\" />\n </IconButton>\n </div>\n <form\n onSubmit={handleSubmit(onSubmit)}\n ref={formRef}\n className=\"px-8 pb-8 space-y-6 overflow-y-auto max-h-[80vh]\"\n >\n <div className=\"grid grid-cols-1 md:grid-cols-3 gap-4\">\n <FormControl variant=\"outlined\">\n <div className=\"space-y-1.5\">\n <FormItem label=\"Role Name\">\n <CustomTextField\n placeholder={\"Role Name\"}\n name=\"name\"\n id=\"name\"\n errors={errors}\n control={control}\n dataTestId=\"managerole-role-name-field\"\n />\n </FormItem>\n </div>\n </FormControl>\n <FormControl variant=\"outlined\">\n <div className=\"space-y-1.5\">\n <FormItem\n label=\"Max Position\"\n tooltip=\"This is the maximum no of users that can be created at one location of this role type\"\n >\n <CustomTextField\n name=\"maxPosition\"\n id=\"maxPosition\"\n errors={errors}\n control={control}\n rules={{\n maxLength: 3,\n pattern: /^\\d{1,3}$/,\n }}\n inputProps={{\n maxLength: 3,\n inputMode: \"numeric\",\n pattern: \"[0-9]*\",\n onInput: (e) => {\n e.target.value = e.target.value.replace(/\\D/g, \"\");\n },\n }}\n dataTestId=\"managerole-max-position-field\"\n />\n </FormItem>\n </div>\n </FormControl>\n {!GeneralUtil.isTecho && (\n <FormControl variant=\"outlined\">\n <div className=\"space-y-1.5\">\n <FormItem label=\"Max Health Infrastructure\">\n <CustomTextField\n name=\"maxHealthInfra\"\n id=\"maxHealthInfra\"\n control={control}\n errors={errors}\n rules={{\n maxLength: 3,\n pattern: /^\\d{1,3}$/,\n }}\n inputProps={{\n maxLength: 3,\n inputMode: \"numeric\",\n pattern: \"[0-9]*\",\n onInput: (e) => {\n e.target.value = e.target.value.replace(\n /\\D/g,\n \"\",\n );\n },\n }}\n dataTestId=\"managerole-max-health-infra-field\"\n />\n </FormItem>\n </div>\n </FormControl>\n )}\n </div>\n <div className=\"flex items-center gap-6 w-full\">\n <FormControl\n variant=\"outlined\"\n className=\"flex flex-row items-center w-full \"\n >\n <FormItem\n label=\"Location Required\"\n required={true}\n direction={\"row\"}\n >\n <CustomToggleSwitch\n control={control}\n name=\"isLocationRequired\"\n options={[\n { label: \"Yes\", value: true },\n { label: \"No\", value: false },\n ]}\n errors={errors}\n />\n {/* <CustomRadioGroup\n name=\"isLocationRequired\"\n errors={errors}\n control={control}\n options={[\n { label: \"Yes\", value: true },\n { label: \"No\", value: false },\n ]}\n direction=\"row\"\n dataTestId=\"managerole-location-details-radio\"\n className={\"m-0\"}\n /> */}\n </FormItem>\n </FormControl>\n </div>\n <div className=\"space-y-4\">\n {(locationDetailsWatcher === true || isSubmitting) && (\n <>\n <div className=\"space-y-1.5\">\n <FormItem\n label=\"Location\"\n required={true}\n tooltip=\"The OU level where users of this role perform their job function\"\n >\n <CustomAutocomplete\n id=\"locationTypes\"\n control={control}\n name=\"locationTypes\"\n options={formData.locationData}\n value={locTypes?.map((locationType) =>\n formData.locationData?.find(\n (location) =>\n location.type === locationType?.type,\n ),\n )}\n errors={errors}\n getOptionLabel={(option) => option?.name}\n dataTestId=\"managerole-location-type-select\"\n checkEquality=\"type\"\n onChange={(e, val) =>\n handleAddFields(e, val, \"locationTypes\")\n }\n />\n </FormItem>\n </div>\n </>\n )}\n <div className=\"space-y-1.5\">\n <FormItem\n label=\"Can Manage Role\"\n tooltip=\"Please select the roles that shall be managed by this role\"\n >\n <CustomAutocomplete\n name=\"roleIds\"\n id=\"roleIds\"\n errors={errors}\n control={control}\n dataTestId=\"managerole-manage-role-select\"\n options={formData.roles}\n onChange={(e, val) => handleAddFields(e, val, \"roleIds\")}\n getOptionLabel={(options) => options?.name}\n />\n </FormItem>\n </div>\n <div className=\"space-y-1.5\">\n <FormItem\n label=\"Managed From\"\n tooltip=\"Please select the roles that can manage this role\"\n >\n <CustomAutocomplete\n name=\"canManageRoleIds\"\n id=\"canManageRoleIds\"\n errors={errors}\n control={control}\n dataTestId=\"managerole-managed-by-role-select\"\n options={formData.roles}\n onChange={(e, val) => handleAddFields(e, val, \"canManageRoleIds\")}\n getOptionLabel={(options) => options?.name}\n />\n </FormItem>\n </div>\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n <div className=\"space-y-1.5\">\n <FormItem\n label=\"Role Type\"\n tooltip=\"Please select Role Type\"\n required={true}\n >\n <CustomDropdown\n control={control}\n id=\"roleType\"\n name=\"roleType\"\n options={roleTypes}\n displayName=\"name\"\n optionValue=\"name\"\n errors={errors}\n dataTestId=\"managerole-role-type-dropdown\"\n />\n </FormItem>\n </div>\n <div className=\"space-y-1.5\">\n <FormItem\n label=\"Can Manage Team\"\n tooltip=\"Please select the teams that shall be managed by this role\"\n >\n <CustomAutocomplete\n control={control}\n name=\"manageByTeamTypeIds\"\n id=\"manageByTeamTypeIds\"\n errors={errors}\n options={formData.manageTeam}\n dataTestId=\"managerole-manage-team-select\"\n onChange={(e, val) =>\n handleAddFields(e, val, \"manageByTeamTypeIds\")\n }\n getOptionLabel={(options) => options?.type}\n />\n </FormItem>\n </div>\n </div>\n <div className=\"space-y-4\">\n <div className=\"space-y-1.5\">\n <FormItem\n label=\"Select Health Infrastructure type\"\n tooltip=\"Please select the institute to be associated with the role\"\n required={isHealthInfraMandatory}\n >\n <CustomAutocomplete\n options={formData.healthInfraType}\n errors={errors}\n name=\"healthInfrastructureIds\"\n id=\"healthInfrastructureIds\"\n dataTestId=\"managerole-health-infrastructure-select\"\n control={control}\n onChange={(e, val) =>\n handleAddFields(e, val, \"healthInfrastructureIds\")\n }\n getOptionLabel={(option) => option?.value}\n />\n </FormItem>\n </div>\n </div>\n {!GeneralUtil.isBahaar && (\n <>\n <div className=\"space-y-4\">\n <div className=\"space-y-1.5\">\n <FormItem\n label=\"Category\"\n tooltip=\"Please select the category to be associated with the role\"\n >\n <CustomAutocomplete\n id=\"categoryIds\"\n name=\"categoryIds\"\n errors={errors}\n options={formData.category}\n dataTestId=\"managerole-role-category-select\"\n control={control}\n onChange={(e, val) =>\n handleAddFields(e, val, \"categoryIds\")\n }\n getOptionLabel={(option) => option?.value}\n />\n </FormItem>\n </div>\n </div>\n </>\n )}\n </div>\n <div className=\"flex items-center gap-6\">\n {(\n <FormControl\n variant=\"outlined\"\n className=\"flex flex-row items-center w-[60%] \"\n >\n <FormItem\n label=\"Bank Details Required\"\n tooltip=\"Select if bank details are required for this role\"\n required={true}\n labelWidth=\"50%\"\n childrenWidth=\"50%\"\n direction=\"row\"\n >\n <CustomToggleSwitch\n control={control}\n name=\"isBankDetailsRequired\"\n options={[\n { label: \"Yes\", value: true },\n { label: \"No\", value: false },\n ]}\n errors={errors}\n />\n </FormItem>\n </FormControl>\n )}\n {!isUpdate && (\n <>\n <FormControl variant=\"outlined \" className=\"w-[40%]\">\n <div className=\"flex items-center gap-2\">\n <FormItem\n label=\"Self Manage\"\n labelWidth=\"60%\"\n childrenWidth=\"40%\"\n direction=\"row\"\n >\n <CustomCheckBox\n name=\"canSelfManage\"\n control={control}\n isFullWidth={false}\n data-testid=\"managerole-self-manage-checkbox\"\n />\n </FormItem>\n </div>\n </FormControl>\n </>\n )}\n </div>\n <div className=\"flex items-center gap-6\">\n <FormControl\n variant=\"outlined\"\n className=\"flex flex-col items-start justify-between\"\n >\n <FormItem\n label=\"Mandatory Fields\"\n tooltip=\"These fields are Mandatory when creating users of this role type\"\n >\n <FormGroup row>\n {mandatoryFields?.map((field) => (\n <CustomCheckBox\n key={field.value}\n control={control}\n name={field.value}\n label={field.label}\n isFullWidth={false}\n data-testid={`managerole-mandatory-field-${field.value}`}\n />\n ))}\n {(bankDetails === true) && (\n <CustomCheckBox\n name=\"isBankDetailsMandatory\"\n control={control}\n label=\"Bank Details\"\n isFullWidth={false}\n data-testid=\"managerole-bank-details-mandatory-checkbox\"\n />\n )}\n </FormGroup>\n </FormItem>\n </FormControl>\n </div>\n <Box\n className=\"flex items-center justify-end gap-3 pt-6 border-t\"\n sx={{ borderColor: \"divider\" }}\n >\n <Button\n variant=\"contained\"\n color=\"secondary\"\n size=\"small\"\n onClick={handleClose}\n data-testid=\"managerole-close-button\"\n >\n {translate(\"Close\")}\n </Button>\n <Button\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n type=\"submit\"\n data-testid=\"managerole-submit-button\"\n >\n {!isUpdate\n ? `${translate(\"Add Role\")}`\n : `${translate(\"Update Role\")}`}\n </Button>\n </Box>\n </form>\n </ManageRoleSkeleton>\n </Box>\n </div>\n </Modal>\n );\n};\n\nexport default ManageRole;\n\nManageRole.propTypes = {\n isUpdate: PropTypes.bool,\n role: PropTypes.object,\n onClose: PropTypes.func,\n open: PropTypes.bool,\n setOpen: PropTypes.func,\n selectedId: PropTypes.string,\n isRoleListModified: PropTypes.bool,\n};\n"],"names":["ManageRoleSkeleton","children","isLoading","useSelector","getUseSkeleton","jsxs","jsx","i","PropTypes","roleTypes","ManageRole","selectedId","isUpdate","open","setOpen","isRoleListModified","formRef","useRef","submitRef","trackEvent","useTrackEvent","formData","setFormData","useState","setIsLoading","validationSchema","Yup","schema","GeneralUtil","control","handleSubmit","errors","isSubmitting","setValue","watch","reset","useForm","yupResolver","bankDetails","locTypes","translate","useTranslateProvider","locationDetailsWatcher","isHealthInfraMandatory","mandatoryFields","field","handleClose","handleAddFields","value","name","onSubmit","params","item","postRole","showToast","error","_b","_a","useEffect","cur","env","roles","locationData","manageTeam","category","healthInfraType","getRoleList","getLocationTypes","execute","_c","roleData","getRoleById","key","manageByTeamTypeIds","healthInfrastructureIds","roleIds","categoryIds","role","Modal","Box","theme","IconButton","FontAwesomeIcon","faXmark","FormControl","FormItem","CustomTextField","CustomToggleSwitch","Fragment","CustomAutocomplete","locationType","location","option","val","options","CustomDropdown","CustomCheckBox","FormGroup","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ManageRole-BjIIXAlK.js","sources":["../src/views/Roles/Skeletons/ManageRoleSkeleton.jsx","../src/views/Roles/ManageRole.jsx"],"sourcesContent":["import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { getUseSkeleton } from \"@/store/reducers/SkeletonReducer\";\n\nconst ManageRoleSkeleton = ({ children, isLoading }) => {\n const useSkeleton = useSelector(getUseSkeleton);\n if (!useSkeleton) {\n return children;\n }\n if (!isLoading) return children;\n\n return (\n <div className=\"pt-6 h-[88vh]\">\n {/* Header Skeleton */}\n <div className=\"px-8 pt-2 pb-4 flex items-center justify-between\">\n <div className=\"bg-gray-300 animate-pulse rounded-md w-32 h-8\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-full w-10 h-10\"></div>\n </div>\n\n {/* Form Content Skeleton */}\n <div className=\"px-8 pb-8 space-y-6 overflow-y-auto max-h-[80vh]\">\n {/* Top Grid: Role Name, Max Position, Max Health Infra */}\n <div className=\"grid grid-cols-1 md:grid-cols-3 gap-4\">\n {[1, 2, 3].map((i) => (\n <div key={i} className=\"space-y-1.5\">\n <div className=\"h-4 bg-gray-300 rounded w-1/3 mb-2 animate-pulse\"></div>\n <div className=\"h-10 bg-gray-300 rounded animate-pulse w-full\"></div>\n </div>\n ))}\n </div>\n\n {/* Location Required Toggle */}\n <div className=\"flex items-center gap-6 w-full\">\n <div className=\"w-full\">\n <div className=\"h-4 bg-gray-300 rounded w-1/4 mb-2 animate-pulse\"></div>\n <div className=\"h-8 bg-gray-300 rounded-full w-16 animate-pulse\"></div>\n </div>\n </div>\n\n {/* Location Select (Conditional placeholder) & Manage Role */}\n <div className=\"space-y-4\">\n {[1, 2].map((i) => (\n <div key={i} className=\"space-y-1.5\">\n <div className=\"h-4 bg-gray-300 rounded w-1/4 mb-2 animate-pulse\"></div>\n <div className=\"h-10 bg-gray-300 rounded animate-pulse w-full\"></div>\n </div>\n ))}\n\n {/* Middle Grid: Role Type & Manage Team */}\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n {[1, 2].map((i) => (\n <div key={i} className=\"space-y-1.5\">\n <div className=\"h-4 bg-gray-300 rounded w-1/3 mb-2 animate-pulse\"></div>\n <div className=\"h-10 bg-gray-300 rounded animate-pulse w-full\"></div>\n </div>\n ))}\n </div>\n\n {/* Health Infra & Category */}\n {[1, 2].map((i) => (\n <div key={i} className=\"space-y-1.5\">\n <div className=\"h-4 bg-gray-300 rounded w-1/3 mb-2 animate-pulse\"></div>\n <div className=\"h-10 bg-gray-300 rounded animate-pulse w-full\"></div>\n </div>\n ))}\n </div>\n\n {/* Bottom Section: Bank Details & Self Manage */}\n <div className=\"flex items-center gap-6\">\n {/* Bank Details (Toggle style) */}\n <div className=\"w-[60%]\">\n <div className=\"h-4 bg-gray-300 rounded w-1/3 mb-2 animate-pulse\"></div>\n <div className=\"h-8 bg-gray-300 rounded-full w-16 animate-pulse\"></div>\n </div>\n {/* Self Manage (Checkbox style) */}\n <div className=\"w-[40%] flex items-center gap-2\">\n <div className=\"h-5 w-5 bg-gray-300 rounded animate-pulse\"></div>\n <div className=\"h-4 bg-gray-300 rounded w-1/3 animate-pulse\"></div>\n </div>\n </div>\n\n {/* Mandatory Fields Checkboxes */}\n <div className=\"space-y-2\">\n <div className=\"h-4 bg-gray-300 rounded w-1/4 mb-2 animate-pulse\"></div>\n <div className=\"flex flex-wrap gap-4\">\n {[1, 2, 3, 4].map((i) => (\n <div key={i} className=\"flex items-center gap-2\">\n <div className=\"h-5 w-5 bg-gray-300 rounded animate-pulse\"></div>\n <div className=\"h-4 w-16 bg-gray-300 rounded animate-pulse\"></div>\n </div>\n ))}\n </div>\n </div>\n </div>\n\n {/* Footer Buttons */}\n <div className=\"flex items-center justify-end gap-3 pt-6 px-8 pb-4 border-t border-slate-100\">\n <div className=\"h-9 w-20 bg-gray-300 rounded animate-pulse\"></div>\n <div className=\"h-9 w-24 bg-gray-300 rounded animate-pulse\"></div>\n </div>\n </div>\n );\n};\n\nexport default ManageRoleSkeleton;\n\nManageRoleSkeleton.propTypes = {\n children: PropTypes.any,\n isLoading: PropTypes.any,\n};\n","import { useState, useEffect, useRef } from \"react\";\nimport {\n Box,\n Modal,\n Button,\n FormControl,\n FormGroup,\n IconButton,\n // Tooltip,\n // Typography,\n} from \"@mui/material\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport { postRole, getRoleById } from \"../../services/Roles\";\nimport {\n getLocationTypes,\n execute,\n getRoleList,\n} from \"@/common/services/GlobalApis\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport \"@/assets/scss/scrollBar.scss\";\n\nimport { FormItem } from \"@/views/custom-components/FormItem.jsx\";\nimport * as Yup from \"yup\";\nimport CustomTextField from \"@/views/custom-components/CustomTextField\";\nimport CustomDropdown from \"@/views/custom-components/CustomDropdown\";\nimport CustomCheckBox from \"@/views/custom-components/CustomCheckBox\";\n// import CustomRadioGroup from \"@/views/custom-components/CustomRadioComponent\";\nimport CustomAutocomplete from \"@/views/custom-components/CustomAutoComplete\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faXmark } from \"@fortawesome/free-solid-svg-icons\";\nimport GeneralUtil from \"@/common/services/util/GeneralUtil\";\nimport PropTypes from \"prop-types\";\nimport CustomToggleSwitch from \"@/views/custom-components/CustomToggleSwitch\";\nimport ManageRoleSkeleton from \"./Skeletons/ManageRoleSkeleton.jsx\";\n\nconst roleTypes = [{ name: \"WEB\" }, { name: \"MOBILE\" }, { name: \"BOTH\" }];\n\n/**\n * ManageRole Component\n * @module ManageRole\n * @param {Object} props - The component props.\n * @param {function} props.setData - A function to update the role data in the parent component.\n * @param {string} props.selectedId - The ID of the currently selected role, used for updates.\n * @param {boolean} props.isUpdate - A flag indicating whether the component is in update mode (true) or create mode (false).\n * @returns {JSX.Element} - The rendered component for managing roles.\n */\n\nconst ManageRole = ({\n selectedId,\n isUpdate,\n open,\n setOpen,\n isRoleListModified,\n}) => {\n const formRef = useRef(null);\n const submitRef = useRef(false);\n const trackEvent = useTrackEvent();\n const [formData, setFormData] = useState({});\n const [isLoading, setIsLoading] = useState(false);\n const validationSchema = Yup.object().shape({\n name: Yup.string().required(\"Enter Role Name\"),\n locationTypes: Yup.array().when(\"isLocationRequired\", {\n is: true,\n then: (schema) =>\n schema.min(1, \"Select Location Type\").required(\"Select Location Type\"),\n otherwise: (schema) => schema.notRequired(),\n }),\n roleType: Yup.string().required(\"Select Role Type\"),\n isBankDetailsRequired: GeneralUtil.isTecho\n ? Yup.boolean().notRequired()\n : Yup.boolean().nullable().defined(\"Please Select a Value\"),\n healthInfrastructureIds: Yup.array().when(\"isHealthInfraMandatory\", {\n is: true,\n then: (schema) =>\n schema\n .min(1, \"Select Health Infrastructure Type\")\n .required(\"Select Health Infrastructure Type\"),\n otherwise: (schema) => schema.notRequired(),\n }),\n });\n\n const {\n control,\n handleSubmit,\n formState: { errors, isSubmitting },\n setValue,\n // getValues,\n watch,\n reset,\n } = useForm({\n defaultValues: {\n name: \"\",\n locationTypes: [],\n maxPosition: \"\",\n maxHealthInfra: \"\",\n roleType: \"\",\n isLastNameMandatory: false,\n isAadharNumMandatory: false,\n isEmailMandatory: false,\n isContactNumMandatory: false,\n isConvoxIdMandatory: false,\n isHealthInfraMandatory: false,\n isGeolocationMandatory: false,\n roleIds: [],\n canManageRoleIds: [],\n manageByTeamTypeIds: [],\n canSelfManage: false,\n healthInfrastructureIds: [],\n categoryIds: [],\n isBankDetailsRequired: false,\n isBankDetailsMandatory: false,\n id: \"\",\n code: \"\",\n description: \"\",\n createdBy: \"\",\n state: \"\",\n createdOn: \"\",\n assignedFeatureList: \"\",\n assignedFeatures: \"\",\n isSmagTrainedMandatory: \"\",\n isLocationRequired: true,\n isNodalMandatory: false,\n },\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n shouldUnregister: false,\n });\n\n const bankDetails = watch(\"isBankDetailsRequired\");\n const locTypes = watch(\"locationTypes\");\n const { translate } = useTranslateProvider();\n const locationDetailsWatcher = watch(\"isLocationRequired\");\n const isHealthInfraMandatory = watch(\"isHealthInfraMandatory\");\n\n const mandatoryFields = [\n { label: \"Email\", value: \"isEmailMandatory\" },\n ...(formData?.env !== \"chip\"\n ? [{ label: \"Aadhar Number\", value: \"isAadharNumMandatory\" }]\n : []),\n { label: \"Contact Number\", value: \"isContactNumMandatory\" },\n ...(formData?.env !== \"chip\"\n ? [{ label: \"Convox Id\", value: \"isConvoxIdMandatory\" }]\n : []),\n { label: \"Last Name\", value: \"isLastNameMandatory\" },\n { label: \"Health Infrastructure\", value: \"isHealthInfraMandatory\" },\n { label: \"GeoLocation\", value: \"isGeolocationMandatory\" },\n ...(formData?.env !== \"chip\"\n ? [{ label: \"Smag Trained\", value: \"isSmagTrainedMandatory\" }]\n : []),\n { label: \"Nodal\", value: \"isNodalMandatory\" },\n ].filter((field) => {\n if (GeneralUtil.isTecho) {\n return ![\n \"isGeolocationMandatory\",\n \"isHealthInfraMandatory\",\n \"isLastNameMandatory\",\n \"isSmagTrainedMandatory\",\n ].includes(field.value);\n }\n if (\n GeneralUtil.isSewaRural ||\n GeneralUtil.isPhmp ||\n GeneralUtil.isImomcare\n ) {\n return field.value !== \"isNodalMandatory\";\n }\n if (GeneralUtil.isEkavach) {\n return ![\n \"isGeolocationMandatory\",\n \"isHealthInfraMandatory\",\n \"isLastNameMandatory\",\n \"isNodalMandatory\",\n \"isSmagTrainedMandatory\",\n ].includes(field.value);\n }\n return true;\n });\n /**\n * Closes the form modal and optionally resets the form.\n * @method handleClose\n * @returns {void}\n */\n\n const handleClose = () => {\n setOpen(0);\n reset();\n trackEvent(\"conversion_event\", {\n form: formRef.current,\n form_name: \"Manage Role\",\n submit: submitRef.current,\n });\n trackEvent(\"button_click\", {\n button_name: \"add role close button\",\n button_type: \"cancel\",\n button_id: \"managerole-close-button\",\n });\n };\n\n /**\n * Adds a new field value to the current list of values for a given field.\n * @method handleAddFields\n * @param {Object} value - The new value to be added to the field.\n * @param {string} name - The name of the field to which the new value should be added.\n * @returns {void}\n */\n\n const handleAddFields = (e, value, name) => {\n setValue(name, value);\n };\n\n /**\n * Handles the submission of role data by sending a POST request to create or update a role.\n *\n * @async\n * @function onSubmit\n * @param {Object} params - The role data to be submitted.\n * @param {string} [params.id] - The unique identifier of the role (to be deleted if not an update).\n * @param {string} [params.state] - The state of the role (to be deleted if not an update).\n * @param {string} [params.createdOn] - The creation timestamp of the role (to be deleted if not an update).\n * @param {string} [params.createdBy] - The creator of the role (to be deleted if not an update).\n * @param {string} [params.code] - The code associated with the role (to be deleted if not an update).\n * @param {string} [params.description] - The description of the role (to be deleted if not an update).\n * @param {boolean} [params.assignedFeatures] - Whether features are assigned (to be deleted if not an update).\n * @param {boolean} [params.isSmagTrainedMandatory] - Whether SMAG training is mandatory (to be deleted if not an update).\n * @param {boolean} [params.isBankDetailsRequired] - Whether bank details are required (to be deleted if not an update).\n * @param {boolean} [params.isBankDetailsMandatory] - Whether bank details are mandatory (to be deleted if not an update).\n * @param {Array<Object>} params.roleIds - List of role IDs.\n * @param {Array<Object>} params.manageByTeamTypeIds - List of team type IDs for management.\n * @param {Array<Object>} params.healthInfrastructureIds - List of health infrastructure IDs.\n * @param {Array<Object>} params.categoryIds - List of category IDs.\n *\n * @throws {Error} Throws an error if the role cannot be added.\n *\n * @returns {Promise<void>} - A Promise that resolves when the role has been successfully submitted.\n */\n\n const onSubmit = async (params) => {\n try {\n trackEvent(\"button_click\", {\n button_name: isUpdate ? \"update role button\" : \"add role button\",\n button_type: \"submit\",\n button_id: \"managerole-add-button\",\n });\n\n delete params.bankDetailsRequired;\n delete params.bankDetailsMandatory;\n\n if (!isUpdate) {\n delete params.id;\n delete params.state;\n delete params.createdOn;\n delete params.createdBy;\n delete params.code;\n delete params.description;\n delete params.assignedFeatures;\n\n // delete params.isSmagTrainedMandatory;\n delete params.assignedFeatureList;\n }\n params.roleIds = params.roleIds.map((item) => item?.id);\n params.canManageRoleIds = params.canManageRoleIds.map(\n (item) => item?.id\n );\n params.manageByTeamTypeIds = params.manageByTeamTypeIds.map(\n (item) => item?.id\n );\n params.healthInfrastructureIds = params.healthInfrastructureIds.map(\n (item) => item?.id\n );\n // params.maxHealthInfra = parseInt(params.maxHealthInfra) || null;\n // params.maxPosition = parseInt(params.maxPosition) || null;\n params.categoryIds = params.categoryIds.map((item) => item?.id);\n params.locationTypes =\n params.isLocationRequired === true ? params.locationTypes : [];\n delete params.isLocationRequired;\n params.manageByRoleIds = params.roleIds;\n await postRole(params);\n showToast({\n type: \"success\",\n message: `Role ${isUpdate ? \"Updated\" : \"Added\"} Successfully`,\n });\n submitRef.current = true;\n handleClose();\n isRoleListModified();\n } catch (error) {\n showToast({\n type: \"error\",\n message: `Role Cannot be added: ${error?.response?.data?.message}`,\n });\n }\n };\n\n /**\n * Fetches and updates form data based on the selected role ID and initializes additional data needed for the form.\n *\n * This effect runs when the `selectedId` dependency changes. It retrieves role data by ID, updates the form fields\n * with the fetched role data, and sets additional data such as roles, location types, manage team types,\n * categories, and health infrastructure types.\n *\n * @async\n * @function useEffect\n */\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n setIsLoading((cur) => !cur);\n\n const env = GeneralUtil.getEnv();\n\n if (open !== 0) {\n const [roles, locationData, manageTeam, category, healthInfraType] =\n await Promise.all([\n getRoleList(),\n getLocationTypes(),\n execute({\n code: \"team_all_types_for_roles\",\n parameters: {},\n }),\n execute({\n code: \"retrieve_field_values_for_form_field\",\n parameters: {\n form: \"WEB\",\n fieldKey: \"role_catg\",\n },\n }),\n execute({\n code: \"retrieve_field_values_for_form_field\",\n parameters: {\n form: \"WEB\",\n fieldKey: \"infra_type\",\n },\n }),\n ]);\n\n setFormData((cur) => {\n return {\n ...cur,\n roles: roles.data,\n locationData: locationData.data,\n manageTeam: manageTeam?.data?.result,\n category: category?.data?.result,\n healthInfraType: healthInfraType?.data?.result,\n };\n });\n\n if (selectedId) {\n const { data: roleData } = await getRoleById(selectedId);\n setFormData((cur) => {\n return { ...cur, roleData, env };\n });\n Object.keys(roleData).map((key) => setValue(key, roleData[key]));\n setValue(\"isBankDetailsRequired\", roleData.isBankDetailsRequired);\n setValue(\"isBankDetailsMandatory\", roleData.isBankDetailsMandatory);\n const {\n manageByTeamTypeIds,\n healthInfrastructureIds,\n roleIds,\n categoryIds,\n } = roleData;\n setValue(\n \"manageByTeamTypeIds\",\n manageByTeamTypeIds\n ? manageByTeamTypeIds.map((item) =>\n manageTeam.data.result?.find((cur) => cur?.id === item)\n )\n : []\n );\n setValue(\n \"healthInfrastructureIds\",\n healthInfrastructureIds\n ? healthInfrastructureIds\n .map((item) =>\n healthInfraType.data.result?.find(\n (cur) => cur?.id === item\n )\n )\n .filter((item) => item !== undefined)\n : []\n );\n setValue(\n \"categoryIds\",\n categoryIds\n ? categoryIds.map((item) =>\n category.data.result?.find((cur) => cur?.id === item)\n )\n : []\n );\n setValue(\n \"roleIds\",\n roleIds\n ? roleIds\n .map((item) => roles.data?.find((cur) => cur?.id === item))\n .filter((role) => role !== undefined)\n : []\n );\n setValue(\n \"canManageRoleIds\",\n roleData.canManageRoleIds\n ? roleData.canManageRoleIds\n .map((item) => roles.data?.find((cur) => cur?.id === item))\n .filter((role) => role !== undefined)\n : []\n );\n if (roleData.locationTypes.length > 0) {\n setValue(\"isLocationRequired\", true);\n } else {\n setValue(\"isLocationRequired\", false);\n }\n }\n }\n\n setIsLoading((cur) => !cur);\n } catch (error) {\n showToast({\n message: `Error in manage role :${error?.message}`,\n type: \"error\",\n });\n setIsLoading((cur) => !cur);\n }\n };\n fetchData();\n }, [selectedId, open]);\n\n return (\n <Modal\n open={open !== 0}\n onClose={handleClose}\n data-testid=\"managerole-modal\"\n >\n <div className=\"mt-10 fixed inset-0 z-[100] flex items-center justify-center p-4 animate-in fade-in duration-200\">\n <Box\n className=\"w-full max-w-2xl rounded-[2.5rem] shadow-2xl shadow-blue-900/10 overflow-hidden flex flex-col animate-in zoom-in-95 duration-300\"\n sx={{ bgcolor: (theme) => theme.palette.custom.customBackground }}\n >\n <ManageRoleSkeleton isLoading={isLoading}>\n <div className=\"px-8 pt-8 pb-4 flex items-center justify-between\">\n <div>\n <Box\n component=\"h2\"\n className=\"text-2xl font-bold text-customBlue\"\n sx={{ color: \"text.primary\" }}\n >\n {!isUpdate ? \"Add New Role\" : \"Update Role\"}\n </Box>\n </div>\n <IconButton\n size=\"small\"\n onClick={handleClose}\n className=\"w-10 h-10 rounded-full bg-slate-100 flex items-center justify-center text-slate-400 hover:bg-slate-200 hover:text-slate-600 transition-all\"\n data-testid=\"managerole-close-icon\"\n >\n <FontAwesomeIcon icon={faXmark} size=\"lg\" />\n </IconButton>\n </div>\n <form\n onSubmit={handleSubmit(onSubmit)}\n ref={formRef}\n className=\"px-8 pb-8 space-y-6 overflow-y-auto max-h-[80vh]\"\n >\n <div className=\"grid grid-cols-1 md:grid-cols-3 gap-4\">\n <FormControl variant=\"outlined\">\n <div className=\"space-y-1.5\">\n <FormItem label=\"Role Name\">\n <CustomTextField\n placeholder={\"Role Name\"}\n name=\"name\"\n id=\"name\"\n errors={errors}\n control={control}\n dataTestId=\"managerole-role-name-field\"\n />\n </FormItem>\n </div>\n </FormControl>\n <FormControl variant=\"outlined\">\n <div className=\"space-y-1.5\">\n <FormItem\n label=\"Max Position\"\n tooltip=\"This is the maximum no of users that can be created at one location of this role type\"\n >\n <CustomTextField\n name=\"maxPosition\"\n id=\"maxPosition\"\n errors={errors}\n control={control}\n rules={{\n maxLength: 3,\n pattern: /^\\d{1,3}$/,\n }}\n inputProps={{\n maxLength: 3,\n inputMode: \"numeric\",\n pattern: \"[0-9]*\",\n onInput: (e) => {\n e.target.value = e.target.value.replace(/\\D/g, \"\");\n },\n }}\n dataTestId=\"managerole-max-position-field\"\n />\n </FormItem>\n </div>\n </FormControl>\n {!GeneralUtil.isTecho && (\n <FormControl variant=\"outlined\">\n <div className=\"space-y-1.5\">\n <FormItem label=\"Max Health Infrastructure\">\n <CustomTextField\n name=\"maxHealthInfra\"\n id=\"maxHealthInfra\"\n control={control}\n errors={errors}\n rules={{\n maxLength: 3,\n pattern: /^\\d{1,3}$/,\n }}\n inputProps={{\n maxLength: 3,\n inputMode: \"numeric\",\n pattern: \"[0-9]*\",\n onInput: (e) => {\n e.target.value = e.target.value.replace(\n /\\D/g,\n \"\",\n );\n },\n }}\n dataTestId=\"managerole-max-health-infra-field\"\n />\n </FormItem>\n </div>\n </FormControl>\n )}\n </div>\n <div className=\"flex items-center gap-6 w-full\">\n <FormControl\n variant=\"outlined\"\n className=\"flex flex-row items-center w-full \"\n >\n <FormItem\n label=\"Location Required\"\n required={true}\n direction={\"row\"}\n >\n <CustomToggleSwitch\n control={control}\n name=\"isLocationRequired\"\n options={[\n { label: \"Yes\", value: true },\n { label: \"No\", value: false },\n ]}\n errors={errors}\n />\n {/* <CustomRadioGroup\n name=\"isLocationRequired\"\n errors={errors}\n control={control}\n options={[\n { label: \"Yes\", value: true },\n { label: \"No\", value: false },\n ]}\n direction=\"row\"\n dataTestId=\"managerole-location-details-radio\"\n className={\"m-0\"}\n /> */}\n </FormItem>\n </FormControl>\n </div>\n <div className=\"space-y-4\">\n {(locationDetailsWatcher === true || isSubmitting) && (\n <>\n <div className=\"space-y-1.5\">\n <FormItem\n label=\"Location\"\n required={true}\n tooltip=\"The OU level where users of this role perform their job function\"\n >\n <CustomAutocomplete\n id=\"locationTypes\"\n control={control}\n name=\"locationTypes\"\n options={formData.locationData}\n value={locTypes?.map((locationType) =>\n formData.locationData?.find(\n (location) =>\n location.type === locationType?.type,\n ),\n )}\n errors={errors}\n getOptionLabel={(option) => option?.name}\n dataTestId=\"managerole-location-type-select\"\n checkEquality=\"type\"\n onChange={(e, val) =>\n handleAddFields(e, val, \"locationTypes\")\n }\n />\n </FormItem>\n </div>\n </>\n )}\n <div className=\"space-y-1.5\">\n <FormItem\n label=\"Can Manage Role\"\n tooltip=\"Please select the roles that shall be managed by this role\"\n >\n <CustomAutocomplete\n name=\"roleIds\"\n id=\"roleIds\"\n errors={errors}\n control={control}\n dataTestId=\"managerole-manage-role-select\"\n options={formData.roles}\n onChange={(e, val) => handleAddFields(e, val, \"roleIds\")}\n getOptionLabel={(options) => options?.name}\n />\n </FormItem>\n </div>\n <div className=\"space-y-1.5\">\n <FormItem\n label=\"Managed From\"\n tooltip=\"Please select the roles that can manage this role\"\n >\n <CustomAutocomplete\n name=\"canManageRoleIds\"\n id=\"canManageRoleIds\"\n errors={errors}\n control={control}\n dataTestId=\"managerole-managed-by-role-select\"\n options={formData.roles}\n onChange={(e, val) => handleAddFields(e, val, \"canManageRoleIds\")}\n getOptionLabel={(options) => options?.name}\n />\n </FormItem>\n </div>\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n <div className=\"space-y-1.5\">\n <FormItem\n label=\"Role Type\"\n tooltip=\"Please select Role Type\"\n required={true}\n >\n <CustomDropdown\n control={control}\n id=\"roleType\"\n name=\"roleType\"\n options={roleTypes}\n displayName=\"name\"\n optionValue=\"name\"\n errors={errors}\n dataTestId=\"managerole-role-type-dropdown\"\n />\n </FormItem>\n </div>\n <div className=\"space-y-1.5\">\n <FormItem\n label=\"Can Manage Team\"\n tooltip=\"Please select the teams that shall be managed by this role\"\n >\n <CustomAutocomplete\n control={control}\n name=\"manageByTeamTypeIds\"\n id=\"manageByTeamTypeIds\"\n errors={errors}\n options={formData.manageTeam}\n dataTestId=\"managerole-manage-team-select\"\n onChange={(e, val) =>\n handleAddFields(e, val, \"manageByTeamTypeIds\")\n }\n getOptionLabel={(options) => options?.type}\n />\n </FormItem>\n </div>\n </div>\n <div className=\"space-y-4\">\n <div className=\"space-y-1.5\">\n <FormItem\n label=\"Select Health Infrastructure type\"\n tooltip=\"Please select the institute to be associated with the role\"\n required={isHealthInfraMandatory}\n >\n <CustomAutocomplete\n options={formData.healthInfraType}\n errors={errors}\n name=\"healthInfrastructureIds\"\n id=\"healthInfrastructureIds\"\n dataTestId=\"managerole-health-infrastructure-select\"\n control={control}\n onChange={(e, val) =>\n handleAddFields(e, val, \"healthInfrastructureIds\")\n }\n getOptionLabel={(option) => option?.value}\n />\n </FormItem>\n </div>\n </div>\n {!GeneralUtil.isBahaar && (\n <>\n <div className=\"space-y-4\">\n <div className=\"space-y-1.5\">\n <FormItem\n label=\"Category\"\n tooltip=\"Please select the category to be associated with the role\"\n >\n <CustomAutocomplete\n id=\"categoryIds\"\n name=\"categoryIds\"\n errors={errors}\n options={formData.category}\n dataTestId=\"managerole-role-category-select\"\n control={control}\n onChange={(e, val) =>\n handleAddFields(e, val, \"categoryIds\")\n }\n getOptionLabel={(option) => option?.value}\n />\n </FormItem>\n </div>\n </div>\n </>\n )}\n </div>\n <div className=\"flex items-center gap-6\">\n {(\n <FormControl\n variant=\"outlined\"\n className=\"flex flex-row items-center w-[60%] \"\n >\n <FormItem\n label=\"Bank Details Required\"\n tooltip=\"Select if bank details are required for this role\"\n required={true}\n labelWidth=\"50%\"\n childrenWidth=\"50%\"\n direction=\"row\"\n >\n <CustomToggleSwitch\n control={control}\n name=\"isBankDetailsRequired\"\n options={[\n { label: \"Yes\", value: true },\n { label: \"No\", value: false },\n ]}\n errors={errors}\n />\n </FormItem>\n </FormControl>\n )}\n {!isUpdate && (\n <>\n <FormControl variant=\"outlined \" className=\"w-[40%]\">\n <div className=\"flex items-center gap-2\">\n <FormItem\n label=\"Self Manage\"\n labelWidth=\"60%\"\n childrenWidth=\"40%\"\n direction=\"row\"\n >\n <CustomCheckBox\n name=\"canSelfManage\"\n control={control}\n isFullWidth={false}\n data-testid=\"managerole-self-manage-checkbox\"\n />\n </FormItem>\n </div>\n </FormControl>\n </>\n )}\n </div>\n <div className=\"flex items-center gap-6\">\n <FormControl\n variant=\"outlined\"\n className=\"flex flex-col items-start justify-between\"\n >\n <FormItem\n label=\"Mandatory Fields\"\n tooltip=\"These fields are Mandatory when creating users of this role type\"\n >\n <FormGroup row>\n {mandatoryFields?.map((field) => (\n <CustomCheckBox\n key={field.value}\n control={control}\n name={field.value}\n label={field.label}\n isFullWidth={false}\n data-testid={`managerole-mandatory-field-${field.value}`}\n />\n ))}\n {(bankDetails === true) && (\n <CustomCheckBox\n name=\"isBankDetailsMandatory\"\n control={control}\n label=\"Bank Details\"\n isFullWidth={false}\n data-testid=\"managerole-bank-details-mandatory-checkbox\"\n />\n )}\n </FormGroup>\n </FormItem>\n </FormControl>\n </div>\n <Box\n className=\"flex items-center justify-end gap-3 pt-6 border-t\"\n sx={{ borderColor: \"divider\" }}\n >\n <Button\n variant=\"contained\"\n color=\"secondary\"\n size=\"small\"\n onClick={handleClose}\n data-testid=\"managerole-close-button\"\n >\n {translate(\"Close\")}\n </Button>\n <Button\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n type=\"submit\"\n data-testid=\"managerole-submit-button\"\n >\n {!isUpdate\n ? `${translate(\"Add Role\")}`\n : `${translate(\"Update Role\")}`}\n </Button>\n </Box>\n </form>\n </ManageRoleSkeleton>\n </Box>\n </div>\n </Modal>\n );\n};\n\nexport default ManageRole;\n\nManageRole.propTypes = {\n isUpdate: PropTypes.bool,\n role: PropTypes.object,\n onClose: PropTypes.func,\n open: PropTypes.bool,\n setOpen: PropTypes.func,\n selectedId: PropTypes.string,\n isRoleListModified: PropTypes.bool,\n};\n"],"names":["ManageRoleSkeleton","children","isLoading","useSelector","getUseSkeleton","jsxs","jsx","i","PropTypes","roleTypes","ManageRole","selectedId","isUpdate","open","setOpen","isRoleListModified","formRef","useRef","submitRef","trackEvent","useTrackEvent","formData","setFormData","useState","setIsLoading","validationSchema","Yup","schema","GeneralUtil","control","handleSubmit","errors","isSubmitting","setValue","watch","reset","useForm","yupResolver","bankDetails","locTypes","translate","useTranslateProvider","locationDetailsWatcher","isHealthInfraMandatory","mandatoryFields","field","handleClose","handleAddFields","value","name","onSubmit","params","item","postRole","showToast","error","_b","_a","useEffect","cur","env","roles","locationData","manageTeam","category","healthInfraType","getRoleList","getLocationTypes","execute","_c","roleData","getRoleById","key","manageByTeamTypeIds","healthInfrastructureIds","roleIds","categoryIds","role","Modal","Box","theme","IconButton","FontAwesomeIcon","faXmark","FormControl","FormItem","CustomTextField","CustomToggleSwitch","Fragment","CustomAutocomplete","locationType","location","option","val","options","CustomDropdown","CustomCheckBox","FormGroup","Button"],"mappings":"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"}
|
|
@@ -41,10 +41,12 @@ K.propTypes = {
|
|
|
41
41
|
loading: _.any,
|
|
42
42
|
isLoading: _.any
|
|
43
43
|
};
|
|
44
|
-
const ge = H(() => import("./AddFeatures-
|
|
44
|
+
const ge = H(() => import("./AddFeatures-DLbjDGei.js")), xe = H(() => import("./ManageRole-BjIIXAlK.js"));
|
|
45
45
|
function ve() {
|
|
46
46
|
var Y;
|
|
47
|
-
const { translate: i } = ie(), [n, x] = d(""), [l, v] = d(n[0]), [C, Q] = d(!1), [X, m] = d(!1), [$, j] = d(!1), [S, V] = d(0), [O, T] = d(""), [b, D] = d(""), W = me(), B = J(
|
|
47
|
+
const { translate: i } = ie(), [n, x] = d(""), [l, v] = d(n[0]), [C, Q] = d(!1), [X, m] = d(!1), [$, j] = d(!1), [S, V] = d(0), [O, T] = d(""), [b, D] = d(""), W = me(), B = J(
|
|
48
|
+
(e) => e.Authenticate.user.roleId
|
|
49
|
+
), [A, Z] = d([]), y = async (e = !1) => {
|
|
48
50
|
var a;
|
|
49
51
|
try {
|
|
50
52
|
m(!0);
|
|
@@ -78,9 +80,7 @@ function ve() {
|
|
|
78
80
|
try {
|
|
79
81
|
m((o) => !o);
|
|
80
82
|
let r;
|
|
81
|
-
a ? { data: r } = await z() : { data: r } = await R(), A && A.length > 0 && (r = r.filter(
|
|
82
|
-
(o) => A.includes(o.id)
|
|
83
|
-
)), x(r), v(r[0]), m((o) => !o), T("");
|
|
83
|
+
a ? { data: r } = await z() : { data: r } = await R(), A && A.length > 0 && (r = r.filter((o) => A.includes(o.id))), x(r), v(r[0]), m((o) => !o), T("");
|
|
84
84
|
} catch (r) {
|
|
85
85
|
console.error(r), h({ message: "Error in getting role data", type: "error" }), m((o) => !o);
|
|
86
86
|
}
|
|
@@ -327,7 +327,13 @@ function ve() {
|
|
|
327
327
|
}
|
|
328
328
|
},
|
|
329
329
|
children: [
|
|
330
|
-
/* @__PURE__ */ t("div", { className: "flex flex-col", children: /* @__PURE__ */ t(
|
|
330
|
+
/* @__PURE__ */ t("div", { className: "flex flex-col", children: /* @__PURE__ */ t(
|
|
331
|
+
c,
|
|
332
|
+
{
|
|
333
|
+
sx: { fontSize: "13px", fontWeight: 600 },
|
|
334
|
+
children: e.featureName
|
|
335
|
+
}
|
|
336
|
+
) }),
|
|
331
337
|
/* @__PURE__ */ t("div", { className: "flex justify-center", children: /* @__PURE__ */ t(
|
|
332
338
|
ce,
|
|
333
339
|
{
|
|
@@ -407,4 +413,4 @@ export {
|
|
|
407
413
|
he as g,
|
|
408
414
|
_e as p
|
|
409
415
|
};
|
|
410
|
-
//# sourceMappingURL=RoleManagement-
|
|
416
|
+
//# sourceMappingURL=RoleManagement-v5Nyp1vr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoleManagement-v5Nyp1vr.js","sources":["../src/services/Roles.js","../src/views/Roles/Skeletons/RoleManagementSkeleton.jsx","../src/views/Roles/RoleManagement.jsx"],"sourcesContent":["import { api } from \"@/common/interceptors/AxiosInterceptor\";\n\nexport const getAllRoleList = () => api.get(\"/role\");\n\nexport const deleteRoleFeature = (id) =>\n api.delete(`/menuconfig/usermenuitem/${id}`);\n\nexport const getRoleById = (id) => api.get(`/role/${id}`);\n\nexport const postRole = (params) => api.post(\"/role\", { ...params });\n\nexport const ToggleState = (params) =>\n api.put(`role/?is_active=${params.state === \"INACTIVE\" ? \"true\" : \"false\"}`, {\n ...params,\n });\nexport const postNewFeature = (params, id) =>\n api.post(`/menuconfig/assignnewfeature?roleId=${id}`, { ...params });\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { getUseSkeleton } from \"@/store/reducers/SkeletonReducer\";\n\nconst RoleManagementSkeleton = ({ children, isLoading = true }) => {\n const useSkeleton = useSelector(getUseSkeleton);\n if (!useSkeleton) {\n return children;\n }\n if (!isLoading) {\n return children;\n }\n\n return (\n <div className=\"pt-6 relative h-[90vh]\">\n {/* skleton for roles and add button */}\n\n <div className=\"flex flex-row h-[80vh] \">\n <div className=\"flex flex-col border border-gray-300 w-[20%] p-2 mr-3 rounded-md\">\n {\" \"}\n <div className=\"flex justify-between\">\n {/* skleton for list of roles and toogle roles */}\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-23 h-[40px] mr-3\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-40 h-[40px]\"></div>\n </div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-[50px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-full\"></div>\n </div>\n <div className=\"flex flex-col border border-gray-300 w-[80%] p-2 rounded-md\">\n <div className=\"flex justify-between\">\n {/* skleton for role name and options */}\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-24 h-[40px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-21 h-[40px]\"></div>\n </div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-[50px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-full\"></div>\n </div>\n </div>\n\n <div className=\"absolute bottom-20 right-[10px] \">\n <div className=\"bg-gray-300 animate-pulse rounded-full w-[40px] h-[40px]\"></div>\n </div>\n </div>\n );\n};\n\nRoleManagementSkeleton.propTypes = {\n children: PropTypes.any,\n loading: PropTypes.any,\n isLoading: PropTypes.any,\n};\n\nexport default RoleManagementSkeleton;\n","import { Suspense, useEffect, useState, lazy } from \"react\";\nimport {\n Box,\n Card,\n Switch,\n TextField,\n Button,\n Chip,\n Typography,\n} from \"@mui/material\";\nimport { alpha } from \"@mui/material/styles\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport {\n getAllRoleList,\n ToggleState,\n deleteRoleFeature,\n getRoleById,\n} from \"../../services/Roles.js\";\nimport { getRoleList } from \"@/common/services/GlobalApis.js\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faTrash } from \"@fortawesome/free-solid-svg-icons\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport RoleManagementSkeleton from \"./Skeletons/RoleManagementSkeleton.jsx\";\nimport { useSelector } from \"react-redux\";\nconst AddFeatures = lazy(() => import(\"./AddFeatures.jsx\"));\nconst ManageRole = lazy(() => import(\"./ManageRole.jsx\"));\n\nexport default function RoleManagement() {\n const { translate } = useTranslateProvider();\n const [Data, setData] = useState(\"\");\n const [selectedRole, setSelectedRole] = useState(Data[0]);\n const [includeInActive, setincludeInActive] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [openModal, setOpenModal] = useState(false);\n const [openManageRole, setOpenManageRole] = useState(0);\n const [searchText, setSearchText] = useState(\"\");\n const [searchQuery, setSearchQuery] = useState(\"\");\n const trackEvent = useTrackEvent();\n const currentLoogedInUserRoleId = useSelector(\n (state) => state.Authenticate.user.roleId,\n );\n const [allowedRoleIds, setallowedRoleIds] = useState([]);\n\n const getAllData = async (isPreserveRole = false) => {\n try {\n setIsLoading(true);\n const roleListPromise = includeInActive\n ? getAllRoleList()\n : getRoleList();\n let data,\n userRoleIds = [];\n if (currentLoogedInUserRoleId) {\n // Run both APIs in parallel\n const [{ data: roleData }, currRoleData] = await Promise.all([\n roleListPromise,\n getRoleById(currentLoogedInUserRoleId),\n ]);\n data = roleData;\n userRoleIds = currRoleData?.data?.roleIds || [];\n } else {\n // Only fetch role list\n const { data: roleData } = await roleListPromise;\n data = roleData;\n }\n setallowedRoleIds(userRoleIds);\n // ✅ Filter logic (keep only allowed roles)\n const filteredData =\n userRoleIds.length > 0\n ? data.filter((role) => userRoleIds.includes(role.id))\n : data; // fallback: show all if no roleIds\n setData(filteredData);\n if (!isPreserveRole && filteredData.length > 0) {\n setSelectedRole(filteredData[0]);\n }\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in getting role data\", type: \"error\" });\n } finally {\n setIsLoading(false);\n }\n };\n\n useEffect(function () {\n getAllData();\n }, []);\n\n const handleCheckboxChange = async (event) => {\n let isChecked = event.target.checked;\n setincludeInActive(event.target.checked);\n try {\n setIsLoading((cur) => !cur);\n let data;\n if (isChecked) {\n ({ data } = await getAllRoleList());\n } else {\n ({ data } = await getRoleList());\n }\n if (allowedRoleIds && allowedRoleIds.length > 0) {\n data = data.filter((role) => allowedRoleIds.includes(role.id));\n }\n setData(data);\n setSelectedRole(data[0]);\n setIsLoading((cur) => !cur);\n setSearchText(\"\");\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in getting role data\", type: \"error\" });\n setIsLoading((cur) => !cur);\n }\n };\n\n const filterData = Data\n ? Data?.filter((feature) =>\n feature.name.toLowerCase().includes(searchText.toLowerCase()),\n )\n : [];\n\n const formatDateDDMMYYYY = (timestamp) => {\n if (!timestamp) return \"\";\n const date = new Date(Number(timestamp));\n const day = String(date.getDate()).padStart(2, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const year = date.getFullYear();\n return `${day}/${month}/${year}`;\n };\n\n const handleToggleState = async () => {\n try {\n const payload = Data?.find((data) => data.id === selectedRole.id);\n await ToggleState(payload);\n showToast({\n message: `State succesfully changed from ${payload?.state === \"INACTIVE\" ? \"inactive\" : \"active\"} to ${payload?.state === \"INACTIVE\" ? \"active\" : \"inactive\"}`,\n type: \"success\",\n });\n let res;\n setIsLoading((cur) => !cur);\n if (includeInActive) {\n res = await getAllRoleList();\n } else {\n res = await getRoleList();\n }\n\n setData(res.data);\n setSelectedRole(res.data[0]);\n setIsLoading((cur) => !cur);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in handle active\", type: \"error\" });\n setIsLoading((cur) => !cur);\n }\n };\n\n const sortedFilteredFeatures = Data\n ? Data.find((obj) => obj.id === selectedRole.id)\n ?.assignedFeatureList.filter((feature) =>\n feature.featureName\n ?.toLowerCase()\n .includes(searchQuery?.toLowerCase()),\n )\n .sort((a, b) => a.featureName?.localeCompare(b.featureName))\n : [];\n\n const handleDeleteRoleFeature = async (feature) => {\n try {\n await deleteRoleFeature(feature.userMenuItemId);\n await getAllData(true);\n setSearchQuery(\"\");\n showToast({ message: \"Feature deleted successfully!\", type: \"success\" });\n } catch (error) {\n showToast({ message: error, type: \"error\" });\n }\n };\n\n const handleManageRoleModel = (index) => {\n setOpenManageRole(index);\n trackEvent(\"button_click\", {\n button_name: `${index === 1 ? \"add\" : \"edit\"} role modal button`,\n button_type: \"navigate\",\n button_id: `roles-${index === 1 ? \"add\" : \"edit\"}-button`,\n });\n };\n\n const isRoleListModified = () => {\n getAllData();\n setSearchText(\"\");\n };\n\n const handleOpen = async () => {\n try {\n setOpenModal(true);\n await trackEvent(\"button_click\", {\n button_name: \"add feature button\",\n button_type: \"navigate\",\n button_id: \"roles-addfeatures-button-add\",\n });\n } catch (error) {\n console.error(error);\n }\n };\n\n return (\n <RoleManagementSkeleton isLoading={isLoading}>\n <Box className=\"flex flex-col gap-4 p-4 min-[900px]:flex-row min-[900px]:h-[calc(100vh-80px)]\">\n <Card\n variant=\"outlined\"\n className=\"w-full min-[900px]:w-[300px] flex flex-col p-4\"\n >\n <div className=\"flex justify-between items-center mb-3\">\n <Typography\n variant=\"h6\"\n fontWeight={600}\n className=\"text-customBlue\"\n >\n User Roles\n </Typography>\n <Button\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n onClick={() => handleManageRoleModel(1)}\n data-testid=\"managerole-add-button\"\n >\n {translate(\"+ Add Role\")}\n </Button>\n </div>\n <TextField\n size=\"small\"\n variant=\"outlined\"\n placeholder=\"Search roles...\"\n fullWidth\n value={searchText}\n onChange={(e) => setSearchText(e.target.value)}\n data-testid=\"listofroles-search-input\"\n />\n <div className=\"flex items-center gap-2 mt-3\">\n <Switch\n size=\"small\"\n checked={includeInActive}\n onChange={handleCheckboxChange}\n />\n <Typography variant=\"body2\">Include Inactive</Typography>\n </div>\n <div className=\"flex-1 overflow-y-auto mt-4\">\n {filterData.length > 0 && (\n <>\n {filterData.map((role) => (\n <Card\n key={role.id}\n variant=\"outlined\"\n onClick={() => setSelectedRole(role)}\n className={`p-3 cursor-pointer transition\n ${\n selectedRole.id === role.id\n ? \"border-b-2\"\n : \"border-b-2 border-0\"\n }`}\n sx={\n selectedRole.id === role.id\n ? {\n bgcolor: (t) => alpha(t.palette.primary.main, 0.08),\n }\n : {}\n }\n >\n <Typography fontWeight={600}>\n {role.name}\n \n {role?.state === \"INACTIVE\" && (\n <Chip label=\"INACTIVE\" color=\"disabled\" size=\"small\" />\n )}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {role.assignedFeatureList.length} Features\n </Typography>\n </Card>\n ))}\n </>\n )}\n </div>\n </Card>\n <Card\n variant=\"outlined\"\n className=\"w-full min-[900px]:flex-1 flex flex-col p-5\"\n >\n <div className=\"flex flex-col sm:flex-row justify-between items-start border-b pb-4 gap-4\">\n <div className=\"flex flex-col gap-1 w-full sm:w-auto\">\n <div className=\"flex items-center gap-2\">\n <Typography\n variant=\"h5\"\n fontWeight={600}\n className=\"text-customBlue\"\n >\n {selectedRole?.name || \"Select Role\"}\n </Typography>\n {selectedRole?.state === \"ACTIVE\" && (\n <Chip label=\"ACTIVE\" color=\"success\" size=\"small\" />\n )}\n {selectedRole?.state === \"INACTIVE\" && (\n <Chip label=\"INACTIVE\" color=\"disabled\" size=\"small\" />\n )}\n </div>\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n className=\"mt-1\"\n >\n Created on {formatDateDDMMYYYY(selectedRole?.createdOn)}\n </Typography>\n </div>\n <div className=\"flex gap-2\">\n <Button\n variant=\"outlined\"\n size=\"small\"\n onClick={() => handleToggleState(1)}\n >\n {selectedRole?.state === \"ACTIVE\" ? \"Deactivate\" : \"Activate\"}\n </Button>\n <Button\n variant=\"contained\"\n size=\"small\"\n onClick={() => handleManageRoleModel(2)}\n >\n ✏️ Edit Role\n </Button>\n </div>\n </div>\n {/* ASSIGNED FEATURES */}\n <div className=\"mt-5 flex flex-col flex-1 overflow-hidden\">\n <div className=\"flex flex-col sm:flex-row justify-between items-start sm:items-center mb-4 gap-4\">\n <div className=\"flex flex-row items-center gap-2 w-full sm:w-auto\">\n <Typography fontWeight={600}>\n {translate(\"Assigned Features\")}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n ({sortedFilteredFeatures.length}{\" \"}\n {translate(\"features active for this role\")})\n </Typography>\n </div>\n <TextField\n size=\"small\"\n sx={{ width: { xs: \"100%\", sm: \"60%\" } }}\n placeholder=\"Search Feature Name\"\n variant=\"outlined\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n data-testid=\"assignedfeatures-search-input\"\n />\n </div>\n <Box className=\"overflow-x-auto w-full\">\n <Box\n className=\"grid grid-cols-[minmax(340px,1.5fr)_120px] px-4 py-2 text-[15px] font-semibold border-b min-w-[500px]\"\n sx={{\n color: \"text.secondary\",\n bgcolor: (t) => alpha(t.palette.action.hover, 0.04),\n }}\n >\n <div>{translate(\"FEATURE NAME\")}</div>\n <div className=\"text-center\">{translate(\"ACTIONS\")}</div>\n </Box>\n <Box\n className=\"h-[calc(100vh-440px)] overflow-y-auto min-w-[500px]\"\n sx={{\n bgcolor: \"background.paper\",\n }}\n >\n {sortedFilteredFeatures.length > 0 && (\n <>\n {sortedFilteredFeatures.map((feature, index) => (\n <Box\n key={feature.id}\n className=\"grid grid-cols-[minmax(340px,1.5fr)_120px] px-4 py-3 items-center border-b last:border-b-0 transition\"\n sx={{\n \"&:hover\": {\n bgcolor: (t) => alpha(t.palette.action.hover, 0.04),\n },\n }}\n >\n <div className=\"flex flex-col\">\n <Typography\n sx={{ fontSize: \"13px\", fontWeight: 600 }}\n >\n {feature.featureName}\n </Typography>\n </div>\n <div className=\"flex justify-center\">\n <FontAwesomeIcon\n icon={faTrash}\n onClick={() => {\n handleDeleteRoleFeature(feature);\n }}\n color=\"error\"\n className=\"text-red-400 cursor-pointer\"\n data-testid={`assignedfeatures-delete-icon-${index}`}\n />\n </div>\n </Box>\n ))}\n </>\n )}\n {sortedFilteredFeatures.length === 0 && (\n <>\n <Typography\n className=\"p-4\"\n sx={{ fontSize: \"13px\", fontStyle: \"italic\" }}\n >\n No Features assigned yet!\n </Typography>\n </>\n )}\n </Box>\n </Box>\n </div>\n <Box\n className=\"border-t p-4\"\n sx={{\n bgcolor: (t) => alpha(t.palette.primary.main, 0.06),\n }}\n >\n <Button variant=\"outlined\" size=\"small\" onClick={handleOpen}>\n + Add More Features\n </Button>\n </Box>\n </Card>\n <Suspense>\n <ManageRole\n isUpdate={openManageRole !== 1}\n selectedId={openManageRole === 2 ? selectedRole.id : null}\n data-testid=\"roles-managerole-add-button\"\n open={openManageRole}\n setOpen={setOpenManageRole}\n isRoleListModified={isRoleListModified}\n />\n </Suspense>\n <Suspense fallback={<div className=\"animate-pulse w-80 h-20 \"></div>}>\n {openModal === true && (\n <AddFeatures\n open={openModal}\n setOpenModal={setOpenModal}\n selectedId={selectedRole.id}\n setData={() => getAllData(true)}\n assignedFeatureList={\n Data\n ? (() =>\n Data?.find((data) => data?.id === selectedRole.id)\n ?.assignedFeatureList\n ? Data?.find((data) => data?.id === selectedRole.id)\n ?.assignedFeatureList\n : Data[0]?.assignedFeatureList)()\n : []\n }\n data-testid=\"roles-addfeatures-component\"\n />\n )}\n </Suspense>\n </Box>\n </RoleManagementSkeleton>\n );\n}\n"],"names":["getAllRoleList","api","deleteRoleFeature","id","getRoleById","postRole","params","ToggleState","postNewFeature","RoleManagementSkeleton","children","isLoading","useSelector","getUseSkeleton","jsxs","jsx","PropTypes","AddFeatures","lazy","ManageRole","RoleManagement","translate","useTranslateProvider","Data","setData","useState","selectedRole","setSelectedRole","includeInActive","setincludeInActive","setIsLoading","openModal","setOpenModal","openManageRole","setOpenManageRole","searchText","setSearchText","searchQuery","setSearchQuery","trackEvent","useTrackEvent","currentLoogedInUserRoleId","state","allowedRoleIds","setallowedRoleIds","getAllData","isPreserveRole","roleListPromise","getRoleList","data","userRoleIds","roleData","currRoleData","_a","filteredData","role","error","showToast","useEffect","handleCheckboxChange","event","isChecked","cur","filterData","feature","formatDateDDMMYYYY","timestamp","date","day","month","year","handleToggleState","payload","res","sortedFilteredFeatures","obj","a","b","handleDeleteRoleFeature","handleManageRoleModel","index","isRoleListModified","handleOpen","Box","Card","Typography","Button","TextField","Switch","Fragment","t","alpha","Chip","FontAwesomeIcon","faTrash","Suspense","_b","_c"],"mappings":";;;;;;;;;;;;;;AAEO,MAAMA,IAAiB,MAAMC,EAAI,IAAI,OAAO,GAEtCC,KAAoB,CAACC,MAChCF,EAAI,OAAO,4BAA4BE,CAAE,EAAE,GAEhCC,KAAc,CAACD,MAAOF,EAAI,IAAI,SAASE,CAAE,EAAE,GAE3CE,KAAW,CAACC,MAAWL,EAAI,KAAK,SAAS,EAAE,GAAGK,EAAM,CAAE,GAEtDC,KAAc,CAACD,MAC1BL,EAAI,IAAI,mBAAmBK,EAAO,UAAU,aAAa,SAAS,OAAO,IAAI;AAAA,EAC3E,GAAGA;AACP,CAAG,GACUE,KAAiB,CAACF,GAAQH,MACrCF,EAAI,KAAK,uCAAuCE,CAAE,IAAI,EAAE,GAAGG,EAAM,CAAE,GCX/DG,IAAyB,CAAC,EAAE,UAAAC,GAAU,WAAAC,IAAY,SAElD,CADgBC,EAAYC,EAAc,KAI1C,CAACF,IACID,IAIP,gBAAAI,EAAC,OAAA,EAAI,WAAU,0BAGb,UAAA;AAAA,EAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,4BACb,UAAA;AAAA,IAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,oEACZ,UAAA;AAAA,MAAA;AAAA,MACD,gBAAAA,EAAC,OAAA,EAAI,WAAU,wBAEb,UAAA;AAAA,QAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,0DAAA,CAA0D;AAAA,QACzE,gBAAAA,EAAC,OAAA,EAAI,WAAU,qDAAA,CAAqD;AAAA,MAAA,GACtE;AAAA,MACA,gBAAAA,EAAC,OAAA,EAAI,WAAU,4DAAA,CAA4D;AAAA,MAC3E,gBAAAA,EAAC,OAAA,EAAI,WAAU,0DAAA,CAA0D;AAAA,IAAA,GAC3E;AAAA,IACA,gBAAAD,EAAC,OAAA,EAAI,WAAU,+DACb,UAAA;AAAA,MAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,wBAEb,UAAA;AAAA,QAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,qDAAA,CAAqD;AAAA,QACpE,gBAAAA,EAAC,OAAA,EAAI,WAAU,qDAAA,CAAqD;AAAA,MAAA,GACtE;AAAA,MACA,gBAAAA,EAAC,OAAA,EAAI,WAAU,4DAAA,CAA4D;AAAA,MAC3E,gBAAAA,EAAC,OAAA,EAAI,WAAU,0DAAA,CAA0D;AAAA,IAAA,EAAA,CAC3E;AAAA,EAAA,GACF;AAAA,EAEA,gBAAAA,EAAC,SAAI,WAAU,oCACb,4BAAC,OAAA,EAAI,WAAU,4DAA2D,EAAA,CAC5E;AAAA,GACF;AAIJN,EAAuB,YAAY;AAAA,EACjC,UAAUO,EAAU;AAAA,EACpB,SAASA,EAAU;AAAA,EACnB,WAAWA,EAAU;AACvB;AC1BA,MAAMC,KAAcC,EAAK,MAAM,OAAO,2BAAmB,CAAC,GACpDC,KAAaD,EAAK,MAAM,OAAO,0BAAkB,CAAC;AAExD,SAAwBE,KAAiB;;AACvC,QAAM,EAAE,WAAAC,EAAA,IAAcC,GAAA,GAChB,CAACC,GAAMC,CAAO,IAAIC,EAAS,EAAE,GAC7B,CAACC,GAAcC,CAAe,IAAIF,EAASF,EAAK,CAAC,CAAC,GAClD,CAACK,GAAiBC,CAAkB,IAAIJ,EAAS,EAAK,GACtD,CAACd,GAAWmB,CAAY,IAAIL,EAAS,EAAK,GAC1C,CAACM,GAAWC,CAAY,IAAIP,EAAS,EAAK,GAC1C,CAACQ,GAAgBC,CAAiB,IAAIT,EAAS,CAAC,GAChD,CAACU,GAAYC,CAAa,IAAIX,EAAS,EAAE,GACzC,CAACY,GAAaC,CAAc,IAAIb,EAAS,EAAE,GAC3Cc,IAAaC,GAAA,GACbC,IAA4B7B;AAAA,IAChC,CAAC8B,MAAUA,EAAM,aAAa,KAAK;AAAA,EAAA,GAE/B,CAACC,GAAgBC,CAAiB,IAAInB,EAAS,CAAA,CAAE,GAEjDoB,IAAa,OAAOC,IAAiB,OAAU;;AACnD,QAAI;AACF,MAAAhB,EAAa,EAAI;AACjB,YAAMiB,IAAkBnB,IACpB5B,EAAA,IACAgD,EAAA;AACJ,UAAIC,GACFC,IAAc,CAAA;AAChB,UAAIT,GAA2B;AAE7B,cAAM,CAAC,EAAE,MAAMU,EAAA,GAAYC,CAAY,IAAI,MAAM,QAAQ,IAAI;AAAA,UAC3DL;AAAA,UACA3C,GAAYqC,CAAyB;AAAA,QAAA,CACtC;AACD,QAAAQ,IAAOE,GACPD,MAAcG,IAAAD,KAAA,gBAAAA,EAAc,SAAd,gBAAAC,EAAoB,YAAW,CAAA;AAAA,MAC/C,OAAO;AAEL,cAAM,EAAE,MAAMF,EAAA,IAAa,MAAMJ;AACjC,QAAAE,IAAOE;AAAA,MACT;AACA,MAAAP,EAAkBM,CAAW;AAE7B,YAAMI,IACJJ,EAAY,SAAS,IACjBD,EAAK,OAAO,CAACM,MAASL,EAAY,SAASK,EAAK,EAAE,CAAC,IACnDN;AACN,MAAAzB,EAAQ8B,CAAY,GAChB,CAACR,KAAkBQ,EAAa,SAAS,KAC3C3B,EAAgB2B,EAAa,CAAC,CAAC;AAAA,IAEnC,SAASE,GAAO;AACd,cAAQ,MAAMA,CAAK,GACnBC,EAAU,EAAE,SAAS,8BAA8B,MAAM,SAAS;AAAA,IACpE,UAAA;AACE,MAAA3B,EAAa,EAAK;AAAA,IACpB;AAAA,EACF;AAEA,EAAA4B,GAAU,WAAY;AACpB,IAAAb,EAAA;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,QAAMc,KAAuB,OAAOC,MAAU;AAC5C,QAAIC,IAAYD,EAAM,OAAO;AAC7B,IAAA/B,EAAmB+B,EAAM,OAAO,OAAO;AACvC,QAAI;AACF,MAAA9B,EAAa,CAACgC,MAAQ,CAACA,CAAG;AAC1B,UAAIb;AACJ,MAAIY,IACD,EAAE,MAAAZ,MAAS,MAAMjD,EAAA,IAEjB,EAAE,MAAAiD,MAAS,MAAMD,EAAA,GAEhBL,KAAkBA,EAAe,SAAS,MAC5CM,IAAOA,EAAK,OAAO,CAACM,MAASZ,EAAe,SAASY,EAAK,EAAE,CAAC,IAE/D/B,EAAQyB,CAAI,GACZtB,EAAgBsB,EAAK,CAAC,CAAC,GACvBnB,EAAa,CAACgC,MAAQ,CAACA,CAAG,GAC1B1B,EAAc,EAAE;AAAA,IAClB,SAASoB,GAAO;AACd,cAAQ,MAAMA,CAAK,GACnBC,EAAU,EAAE,SAAS,8BAA8B,MAAM,SAAS,GAClE3B,EAAa,CAACgC,MAAQ,CAACA,CAAG;AAAA,IAC5B;AAAA,EACF,GAEMC,IAAaxC,IACfA,KAAA,gBAAAA,EAAM;AAAA,IAAO,CAACyC,MACZA,EAAQ,KAAK,cAAc,SAAS7B,EAAW,YAAA,CAAa;AAAA,MAE9D,CAAA,GAEE8B,KAAqB,CAACC,MAAc;AACxC,QAAI,CAACA,EAAW,QAAO;AACvB,UAAMC,IAAO,IAAI,KAAK,OAAOD,CAAS,CAAC,GACjCE,IAAM,OAAOD,EAAK,QAAA,CAAS,EAAE,SAAS,GAAG,GAAG,GAC5CE,IAAQ,OAAOF,EAAK,SAAA,IAAa,CAAC,EAAE,SAAS,GAAG,GAAG,GACnDG,IAAOH,EAAK,YAAA;AAClB,WAAO,GAAGC,CAAG,IAAIC,CAAK,IAAIC,CAAI;AAAA,EAChC,GAEMC,KAAoB,YAAY;AACpC,QAAI;AACF,YAAMC,IAAUjD,KAAA,gBAAAA,EAAM,KAAK,CAAC0B,MAASA,EAAK,OAAOvB,EAAa;AAC9D,YAAMnB,GAAYiE,CAAO,GACzBf,EAAU;AAAA,QACR,SAAS,oCAAmCe,KAAA,gBAAAA,EAAS,WAAU,aAAa,aAAa,QAAQ,QAAOA,KAAA,gBAAAA,EAAS,WAAU,aAAa,WAAW,UAAU;AAAA,QAC7J,MAAM;AAAA,MAAA,CACP;AACD,UAAIC;AACJ,MAAA3C,EAAa,CAACgC,MAAQ,CAACA,CAAG,GACtBlC,IACF6C,IAAM,MAAMzE,EAAA,IAEZyE,IAAM,MAAMzB,EAAA,GAGdxB,EAAQiD,EAAI,IAAI,GAChB9C,EAAgB8C,EAAI,KAAK,CAAC,CAAC,GAC3B3C,EAAa,CAACgC,MAAQ,CAACA,CAAG;AAAA,IAC5B,SAASN,GAAO;AACd,cAAQ,MAAMA,CAAK,GACnBC,EAAU,EAAE,SAAS,0BAA0B,MAAM,SAAS,GAC9D3B,EAAa,CAACgC,MAAQ,CAACA,CAAG;AAAA,IAC5B;AAAA,EACF,GAEMY,IAAyBnD,KAC3B8B,IAAA9B,EAAK,KAAK,CAACoD,MAAQA,EAAI,OAAOjD,EAAa,EAAE,MAA7C,gBAAA2B,EACI,oBAAoB;AAAA,IAAO,CAACW;;AAC5B,cAAAX,IAAAW,EAAQ,gBAAR,gBAAAX,EACI,cACD,SAAShB,KAAA,gBAAAA,EAAa;AAAA;AAAA,IAE1B,KAAK,CAACuC,GAAGC;;AAAM,YAAAxB,IAAAuB,EAAE,gBAAF,gBAAAvB,EAAe,cAAcwB,EAAE;AAAA,OACjD,CAAA,GAEEC,KAA0B,OAAOd,MAAY;AACjD,QAAI;AACF,YAAM9D,GAAkB8D,EAAQ,cAAc,GAC9C,MAAMnB,EAAW,EAAI,GACrBP,EAAe,EAAE,GACjBmB,EAAU,EAAE,SAAS,iCAAiC,MAAM,WAAW;AAAA,IACzE,SAASD,GAAO;AACd,MAAAC,EAAU,EAAE,SAASD,GAAO,MAAM,SAAS;AAAA,IAC7C;AAAA,EACF,GAEMuB,IAAwB,CAACC,MAAU;AACvC,IAAA9C,EAAkB8C,CAAK,GACvBzC,EAAW,gBAAgB;AAAA,MACzB,aAAa,GAAGyC,MAAU,IAAI,QAAQ,MAAM;AAAA,MAC5C,aAAa;AAAA,MACb,WAAW,SAASA,MAAU,IAAI,QAAQ,MAAM;AAAA,IAAA,CACjD;AAAA,EACH,GAEMC,KAAqB,MAAM;AAC/B,IAAApC,EAAA,GACAT,EAAc,EAAE;AAAA,EAClB,GAEM8C,KAAa,YAAY;AAC7B,QAAI;AACF,MAAAlD,EAAa,EAAI,GACjB,MAAMO,EAAW,gBAAgB;AAAA,QAC/B,aAAa;AAAA,QACb,aAAa;AAAA,QACb,WAAW;AAAA,MAAA,CACZ;AAAA,IACH,SAASiB,GAAO;AACd,cAAQ,MAAMA,CAAK;AAAA,IACrB;AAAA,EACF;AAEA,2BACG/C,GAAA,EAAuB,WAAAE,GACtB,UAAA,gBAAAG,EAACqE,GAAA,EAAI,WAAU,iFACb,UAAA;AAAA,IAAA,gBAAArE;AAAA,MAACsE;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,WAAU;AAAA,QAEV,UAAA;AAAA,UAAA,gBAAAtE,EAAC,OAAA,EAAI,WAAU,0CACb,UAAA;AAAA,YAAA,gBAAAC;AAAA,cAACsE;AAAA,cAAA;AAAA,gBACC,SAAQ;AAAA,gBACR,YAAY;AAAA,gBACZ,WAAU;AAAA,gBACX,UAAA;AAAA,cAAA;AAAA,YAAA;AAAA,YAGD,gBAAAtE;AAAA,cAACuE;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,SAAQ;AAAA,gBACR,OAAM;AAAA,gBACN,SAAS,MAAMP,EAAsB,CAAC;AAAA,gBACtC,eAAY;AAAA,gBAEX,YAAU,YAAY;AAAA,cAAA;AAAA,YAAA;AAAA,UACzB,GACF;AAAA,UACA,gBAAAhE;AAAA,YAACwE;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAQ;AAAA,cACR,aAAY;AAAA,cACZ,WAAS;AAAA,cACT,OAAOpD;AAAA,cACP,UAAU,CAAC,MAAMC,EAAc,EAAE,OAAO,KAAK;AAAA,cAC7C,eAAY;AAAA,YAAA;AAAA,UAAA;AAAA,UAEd,gBAAAtB,EAAC,OAAA,EAAI,WAAU,gCACb,UAAA;AAAA,YAAA,gBAAAC;AAAA,cAACyE;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,SAAS5D;AAAA,gBACT,UAAU+B;AAAA,cAAA;AAAA,YAAA;AAAA,YAEZ,gBAAA5C,EAACsE,GAAA,EAAW,SAAQ,SAAQ,UAAA,mBAAA,CAAgB;AAAA,UAAA,GAC9C;AAAA,UACA,gBAAAtE,EAAC,OAAA,EAAI,WAAU,+BACZ,UAAAgD,EAAW,SAAS,KACnB,gBAAAhD,EAAA0E,GAAA,EACG,UAAA1B,EAAW,IAAI,CAACR,MACf,gBAAAzC;AAAA,YAACsE;AAAA,YAAA;AAAA,cAEC,SAAQ;AAAA,cACR,SAAS,MAAMzD,EAAgB4B,CAAI;AAAA,cACnC,WAAW;AAAA,oBAEX7B,EAAa,OAAO6B,EAAK,KACrB,eACA,qBACN;AAAA,cACE,IACE7B,EAAa,OAAO6B,EAAK,KACrB;AAAA,gBACE,SAAS,CAACmC,MAAMC,EAAMD,EAAE,QAAQ,QAAQ,MAAM,IAAI;AAAA,cAAA,IAEpD,CAAA;AAAA,cAGN,UAAA;AAAA,gBAAA,gBAAA5E,EAACuE,GAAA,EAAW,YAAY,KACrB,UAAA;AAAA,kBAAA9B,EAAK;AAAA,kBAAK;AAAA,mBAEVA,KAAA,gBAAAA,EAAM,WAAU,cACf,gBAAAxC,EAAC6E,GAAA,EAAK,OAAM,YAAW,OAAM,YAAW,MAAK,QAAA,CAAQ;AAAA,gBAAA,GAEzD;AAAA,gBACA,gBAAA9E,EAACuE,GAAA,EAAW,SAAQ,SAAQ,OAAM,kBAC/B,UAAA;AAAA,kBAAA9B,EAAK,oBAAoB;AAAA,kBAAO;AAAA,gBAAA,EAAA,CACnC;AAAA,cAAA;AAAA,YAAA;AAAA,YA1BKA,EAAK;AAAA,UAAA,CA4Bb,GACH,EAAA,CAEJ;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAEF,gBAAAzC;AAAA,MAACsE;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,WAAU;AAAA,QAEV,UAAA;AAAA,UAAA,gBAAAtE,EAAC,OAAA,EAAI,WAAU,6EACb,UAAA;AAAA,YAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,wCACb,UAAA;AAAA,cAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,gBAAA,gBAAAC;AAAA,kBAACsE;AAAA,kBAAA;AAAA,oBACC,SAAQ;AAAA,oBACR,YAAY;AAAA,oBACZ,WAAU;AAAA,oBAET,kCAAc,SAAQ;AAAA,kBAAA;AAAA,gBAAA;AAAA,iBAExB3D,KAAA,gBAAAA,EAAc,WAAU,YACvB,gBAAAX,EAAC6E,GAAA,EAAK,OAAM,UAAS,OAAM,WAAU,MAAK,QAAA,CAAQ;AAAA,iBAEnDlE,KAAA,gBAAAA,EAAc,WAAU,cACvB,gBAAAX,EAAC6E,GAAA,EAAK,OAAM,YAAW,OAAM,YAAW,MAAK,QAAA,CAAQ;AAAA,cAAA,GAEzD;AAAA,cACA,gBAAA9E;AAAA,gBAACuE;AAAA,gBAAA;AAAA,kBACC,SAAQ;AAAA,kBACR,OAAM;AAAA,kBACN,WAAU;AAAA,kBACX,UAAA;AAAA,oBAAA;AAAA,oBACapB,GAAmBvC,KAAA,gBAAAA,EAAc,SAAS;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,YACxD,GACF;AAAA,YACA,gBAAAZ,EAAC,OAAA,EAAI,WAAU,cACb,UAAA;AAAA,cAAA,gBAAAC;AAAA,gBAACuE;AAAA,gBAAA;AAAA,kBACC,SAAQ;AAAA,kBACR,MAAK;AAAA,kBACL,SAAS,MAAMf,GAAmB;AAAA,kBAEjC,WAAA7C,KAAA,gBAAAA,EAAc,WAAU,WAAW,eAAe;AAAA,gBAAA;AAAA,cAAA;AAAA,cAErD,gBAAAX;AAAA,gBAACuE;AAAA,gBAAA;AAAA,kBACC,SAAQ;AAAA,kBACR,MAAK;AAAA,kBACL,SAAS,MAAMP,EAAsB,CAAC;AAAA,kBACvC,UAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,YAED,EAAA,CACF;AAAA,UAAA,GACF;AAAA,UAEA,gBAAAjE,EAAC,OAAA,EAAI,WAAU,6CACb,UAAA;AAAA,YAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,oFACb,UAAA;AAAA,cAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,qDACb,UAAA;AAAA,gBAAA,gBAAAC,EAACsE,GAAA,EAAW,YAAY,KACrB,UAAAhE,EAAU,mBAAmB,GAChC;AAAA,gBACA,gBAAAP,EAACuE,GAAA,EAAW,SAAQ,SAAQ,OAAM,kBAAiB,UAAA;AAAA,kBAAA;AAAA,kBAC/CX,EAAuB;AAAA,kBAAQ;AAAA,kBAChCrD,EAAU,+BAA+B;AAAA,kBAAE;AAAA,gBAAA,EAAA,CAC9C;AAAA,cAAA,GACF;AAAA,cACA,gBAAAN;AAAA,gBAACwE;AAAA,gBAAA;AAAA,kBACC,MAAK;AAAA,kBACL,IAAI,EAAE,OAAO,EAAE,IAAI,QAAQ,IAAI,QAAM;AAAA,kBACrC,aAAY;AAAA,kBACZ,SAAQ;AAAA,kBACR,OAAOlD;AAAA,kBACP,UAAU,CAAC,MAAMC,EAAe,EAAE,OAAO,KAAK;AAAA,kBAC9C,eAAY;AAAA,gBAAA;AAAA,cAAA;AAAA,YACd,GACF;AAAA,YACA,gBAAAxB,EAACqE,GAAA,EAAI,WAAU,0BACb,UAAA;AAAA,cAAA,gBAAArE;AAAA,gBAACqE;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,IAAI;AAAA,oBACF,OAAO;AAAA,oBACP,SAAS,CAACO,MAAMC,EAAMD,EAAE,QAAQ,OAAO,OAAO,IAAI;AAAA,kBAAA;AAAA,kBAGpD,UAAA;AAAA,oBAAA,gBAAA3E,EAAC,OAAA,EAAK,UAAAM,EAAU,cAAc,EAAA,CAAE;AAAA,sCAC/B,OAAA,EAAI,WAAU,eAAe,UAAAA,EAAU,SAAS,EAAA,CAAE;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,cAErD,gBAAAP;AAAA,gBAACqE;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,IAAI;AAAA,oBACF,SAAS;AAAA,kBAAA;AAAA,kBAGV,UAAA;AAAA,oBAAAT,EAAuB,SAAS,KAC/B,gBAAA3D,EAAA0E,GAAA,EACG,YAAuB,IAAI,CAACzB,GAASgB,MACpC,gBAAAlE;AAAA,sBAACqE;AAAA,sBAAA;AAAA,wBAEC,WAAU;AAAA,wBACV,IAAI;AAAA,0BACF,WAAW;AAAA,4BACT,SAAS,CAACO,MAAMC,EAAMD,EAAE,QAAQ,OAAO,OAAO,IAAI;AAAA,0BAAA;AAAA,wBACpD;AAAA,wBAGF,UAAA;AAAA,0BAAA,gBAAA3E,EAAC,OAAA,EAAI,WAAU,iBACb,UAAA,gBAAAA;AAAA,4BAACsE;AAAA,4BAAA;AAAA,8BACC,IAAI,EAAE,UAAU,QAAQ,YAAY,IAAA;AAAA,8BAEnC,UAAArB,EAAQ;AAAA,4BAAA;AAAA,0BAAA,GAEb;AAAA,0BACA,gBAAAjD,EAAC,OAAA,EAAI,WAAU,uBACb,UAAA,gBAAAA;AAAA,4BAAC8E;AAAA,4BAAA;AAAA,8BACC,MAAMC;AAAA,8BACN,SAAS,MAAM;AACb,gCAAAhB,GAAwBd,CAAO;AAAA,8BACjC;AAAA,8BACA,OAAM;AAAA,8BACN,WAAU;AAAA,8BACV,eAAa,gCAAgCgB,CAAK;AAAA,4BAAA;AAAA,0BAAA,EACpD,CACF;AAAA,wBAAA;AAAA,sBAAA;AAAA,sBAzBKhB,EAAQ;AAAA,oBAAA,CA2BhB,GACH;AAAA,oBAEDU,EAAuB,WAAW,KACjC,gBAAA3D,EAAA0E,GAAA,EACE,UAAA,gBAAA1E;AAAA,sBAACsE;AAAA,sBAAA;AAAA,wBACC,WAAU;AAAA,wBACV,IAAI,EAAE,UAAU,QAAQ,WAAW,SAAA;AAAA,wBACpC,UAAA;AAAA,sBAAA;AAAA,oBAAA,EAED,CACF;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,YAEJ,EAAA,CACF;AAAA,UAAA,GACF;AAAA,UACA,gBAAAtE;AAAA,YAACoE;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,IAAI;AAAA,gBACF,SAAS,CAACO,MAAMC,EAAMD,EAAE,QAAQ,QAAQ,MAAM,IAAI;AAAA,cAAA;AAAA,cAGpD,UAAA,gBAAA3E,EAACuE,KAAO,SAAQ,YAAW,MAAK,SAAQ,SAASJ,IAAY,UAAA,sBAAA,CAE7D;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,sBAEDa,GAAA,EACC,UAAA,gBAAAhF;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,UAAUc,MAAmB;AAAA,QAC7B,YAAYA,MAAmB,IAAIP,EAAa,KAAK;AAAA,QACrD,eAAY;AAAA,QACZ,MAAMO;AAAA,QACN,SAASC;AAAA,QACT,oBAAA+C;AAAA,MAAA;AAAA,IAAA,GAEJ;AAAA,IACA,gBAAAlE,EAACgF,KAAS,UAAU,gBAAAhF,EAAC,SAAI,WAAU,2BAAA,CAA2B,GAC3D,UAAAgB,MAAc,MACb,gBAAAhB;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,MAAMc;AAAA,QACN,cAAAC;AAAA,QACA,YAAYN,EAAa;AAAA,QACzB,SAAS,MAAMmB,EAAW,EAAI;AAAA,QAC9B,qBACEtB,KACK,MAAA;;AACC,kBAAA8B,IAAA9B,KAAA,gBAAAA,EAAM,KAAK,CAAC0B,OAASA,KAAA,gBAAAA,EAAM,QAAOvB,EAAa,QAA/C,QAAA2B,EACI,uBACA2C,IAAAzE,KAAA,gBAAAA,EAAM,KAAK,CAAC0B,OAASA,KAAA,gBAAAA,EAAM,QAAOvB,EAAa,QAA/C,gBAAAsE,EACI,uBACJC,IAAA1E,EAAK,CAAC,MAAN,gBAAA0E,EAAS;AAAA,WAAA,IACf,CAAA;AAAA,QAEN,eAAY;AAAA,MAAA;AAAA,IAAA,EACd,CAEJ;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;;;;;"}
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-yellow-300:oklch(90.5% .182 98.111);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-4xl:2rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-6\.5{top:calc(var(--spacing) * 6.5)}.top-10{top:calc(var(--spacing) * 10)}.top-\[-11px\]{top:-11px}.top-\[5\%\]{top:5%}.top-\[10\%\]{top:10%}.right-\[10px\]{right:10px}.right-\[20px\]{right:20px}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-20{bottom:calc(var(--spacing) * 20)}.bottom-\[80px\]{bottom:80px}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-\[11\%\]{left:11%}.left-\[50\%\]{left:50%}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1200\]{z-index:1200}.z-\[1300\]{z-index:1300}.z-\[1301\]{z-index:1301}.col-12{grid-column:12}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.m-0\.5{margin:calc(var(--spacing) * .5)}.m-1{margin:calc(var(--spacing) * 1)}.m-2{margin:calc(var(--spacing) * 2)}.m-2\.5{margin:calc(var(--spacing) * 2.5)}.m-3{margin:calc(var(--spacing) * 3)}.m-4{margin:calc(var(--spacing) * 4)}.m-7{margin:calc(var(--spacing) * 7)}.m-\[0px\]{margin:0}.m-\[1rem\]{margin:1rem}.m-\[8px_0px\]{margin:8px 0}.m-\[10px_0px\]{margin:10px 0}.m-\[20px_3px\]{margin:20px 3px}.mx-0{margin-inline:calc(var(--spacing) * 0)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-\[5px\]{margin-inline:5px}.mx-\[10px\]{margin-inline:10px}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-10{margin-block:calc(var(--spacing) * 10)}.ms-3{margin-inline-start:calc(var(--spacing) * 3)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-\[0\.5rem\]{margin-top:.5rem}.mt-\[1rem\]{margin-top:1rem}.mt-\[12rem\]{margin-top:12rem}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\.5{margin-right:calc(var(--spacing) * 2.5)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mr-4{margin-right:calc(var(--spacing) * 4)}.mr-5{margin-right:calc(var(--spacing) * 5)}.mr-\[5rem\]{margin-right:5rem}.mr-\[100px\]{margin-right:100px}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-\[0\.3125rem\]{margin-bottom:.3125rem}.mb-\[10px\]{margin-bottom:10px}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-8{margin-left:calc(var(--spacing) * 8)}.ml-\[1rem\]{margin-left:1rem}.ml-\[10px\]{margin-left:10px}.ml-\[13px\]{margin-left:13px}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-6\.5{height:calc(var(--spacing) * 6.5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-15{height:calc(var(--spacing) * 15)}.h-20{height:calc(var(--spacing) * 20)}.h-40{height:calc(var(--spacing) * 40)}.h-80{height:calc(var(--spacing) * 80)}.h-100{height:calc(var(--spacing) * 100)}.h-\[0\.625rem\]{height:.625rem}.h-\[10rem\]{height:10rem}.h-\[14px\]{height:14px}.h-\[16px\]{height:16px}.h-\[20px\]{height:20px}.h-\[28px\]{height:28px}.h-\[30px\]{height:30px}.h-\[32px\]{height:32px}.h-\[35px\]{height:35px}.h-\[36px\]{height:36px}.h-\[40px\]{height:40px}.h-\[45px\]{height:45px}.h-\[50px\]{height:50px}.h-\[60px\]{height:60px}.h-\[60vh\]{height:60vh}.h-\[70px\]{height:70px}.h-\[80px\]{height:80px}.h-\[80vh\]{height:80vh}.h-\[88vh\]{height:88vh}.h-\[90vh\]{height:90vh}.h-\[100vh\]{height:100vh}.h-\[120px\]{height:120px}.h-\[220px\]{height:220px}.h-\[280px\]{height:280px}.h-\[350px\]{height:350px}.h-\[500px\]{height:500px}.h-\[calc\(100vh-235px\)\]{height:calc(100vh - 235px)}.h-\[calc\(100vh-300px\)\]{height:calc(100vh - 300px)}.h-\[calc\(100vh-440px\)\]{height:calc(100vh - 440px)}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-100{max-height:calc(var(--spacing) * 100)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[75vh\]{max-height:75vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[360px\]{max-height:360px}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-9{min-height:calc(var(--spacing) * 9)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-1\/4{width:25%}.w-1\/5{width:20%}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-3\/5{width:60%}.w-4{width:calc(var(--spacing) * 4)}.w-4\/5{width:80%}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-21{width:calc(var(--spacing) * 21)}.w-23{width:calc(var(--spacing) * 23)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-60{width:calc(var(--spacing) * 60)}.w-80{width:calc(var(--spacing) * 80)}.w-100{width:calc(var(--spacing) * 100)}.w-150{width:calc(var(--spacing) * 150)}.w-\[5\%\]{width:5%}.w-\[14px\]{width:14px}.w-\[15\%\]{width:15%}.w-\[16px\]{width:16px}.w-\[20\%\]{width:20%}.w-\[30\%\]{width:30%}.w-\[30px\]{width:30px}.w-\[33\%\]{width:33%}.w-\[40\%\]{width:40%}.w-\[40px\]{width:40px}.w-\[45\%\]{width:45%}.w-\[50\%\]{width:50%}.w-\[60\%\]{width:60%}.w-\[60px\]{width:60px}.w-\[64px\]{width:64px}.w-\[65\%\]{width:65%}.w-\[65px\]{width:65px}.w-\[70\%\]{width:70%}.w-\[75px\]{width:75px}.w-\[80\%\]{width:80%}.w-\[80px\]{width:80px}.w-\[85px\]{width:85px}.w-\[90\%\]{width:90%}.w-\[90px\]{width:90px}.w-\[95\%\]{width:95%}.w-\[95px\]{width:95px}.w-\[95vw\]{width:95vw}.w-\[97\%\]{width:97%}.w-\[98\%\]{width:98%}.w-\[99\%\]{width:99%}.w-\[100\%\]{width:100%}.w-\[100px\]{width:100px}.w-\[120px\]{width:120px}.w-\[130px\]{width:130px}.w-\[140px\]{width:140px}.w-\[150px\]{width:150px}.w-\[160px\]{width:160px}.w-\[180px\]{width:180px}.w-\[200px\]{width:200px}.w-\[250px\]{width:250px}.w-\[500px\]{width:500px}.w-\[520px\]{width:520px}.w-\[870px\]{width:870px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[250px\]{max-width:250px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[50px\]{min-width:50px}.min-w-\[110px\]{min-width:110px}.min-w-\[300px\]{min-width:300px}.min-w-\[500px\]{min-width:500px}.min-w-full{min-width:100%}.flex-0{flex:0}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.table-fixed{table-layout:fixed}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[minmax\(340px\,1\.5fr\)_120px\]{grid-template-columns:minmax(340px,1.5fr) 120px}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-10{gap:calc(var(--spacing) * 10)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-10>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 10) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-4xl{border-radius:var(--radius-4xl)}.rounded-\[2\.5rem\]{border-radius:2.5rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-xl{border-top-left-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-\[\#ccc\]{border-color:#ccc}.border-black{border-color:var(--color-black)}.border-gray-300{border-color:var(--color-gray-300)}.border-red-500{border-color:var(--color-red-500)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-800{border-color:var(--color-slate-800)}.bg-\[\#243A50\]{background-color:#243a50}.bg-\[\#cecfd0\]{background-color:#cecfd0}.bg-\[var\(--color-background2\)\]{background-color:var(--color-background2)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-300{background-color:var(--color-blue-300)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-300{background-color:var(--color-red-300)}.bg-red-400{background-color:var(--color-red-400)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-white{background-color:var(--color-white)}.bg-yellow-300{background-color:var(--color-yellow-300)}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[5px_10px\]{padding:5px 10px}.p-\[6px_16px\]{padding:6px 16px}.p-\[10px\]{padding:10px}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-\[40px\]{padding-inline:40px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pr-\[0\.4px\]{padding-right:.4px}.pr-\[10px\]{padding-right:10px}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-\[1px\]{padding-bottom:1px}.pb-\[5px\]{padding-bottom:5px}.pb-\[7px\]{padding-bottom:7px}.pb-\[10px\]{padding-bottom:10px}.pl-0{padding-left:calc(var(--spacing) * 0)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-\[0\.5px\]{padding-left:.5px}.text-center{text-align:center}.text-left{text-align:left}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[1rem\]{font-size:1rem}.text-\[2rem\]{font-size:2rem}.text-\[10px\]{font-size:10px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#4f4f4f\]{color:#4f4f4f}.text-\[\#d3bb51\]{color:#d3bb51}.text-\[\#df5f5f\]{color:#df5f5f}.text-\[var\(--color-customBlue\)\]{color:var(--color-customBlue)}.text-\[var\(--color-error\)\]{color:var(--color-error)}.text-\[var\(--color-primary\)\]{color:var(--color-primary)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-slate-100{color:var(--color-slate-100)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-blue-900\/10{--tw-shadow-color:#1c398e1a}@supports (color:color-mix(in lab,red,red)){.shadow-blue-900\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-blue-900) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media(hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.file\:mr-4::file-selector-button{margin-right:calc(var(--spacing) * 4)}.file\:rounded-md::file-selector-button{border-radius:var(--radius-md)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-blue-50::file-selector-button{background-color:var(--color-blue-50)}.file\:px-4::file-selector-button{padding-inline:calc(var(--spacing) * 4)}.file\:py-2::file-selector-button{padding-block:calc(var(--spacing) * 2)}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-semibold::file-selector-button{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.file\:text-blue-700::file-selector-button{color:var(--color-blue-700)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:scale-\[1\.2\]:hover{scale:1.2}.hover\:bg-\[\#1a2b3c\]:hover{background-color:#1a2b3c}.hover\:bg-blue-200:hover{background-color:var(--color-blue-200)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-red-200:hover{background-color:var(--color-red-200)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:bg-slate-700:hover{background-color:var(--color-slate-700)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:text-\[\#11B666\]:hover{color:#11b666}.hover\:text-\[var\(--color-error\)\]:hover{color:var(--color-error)}.hover\:text-\[var\(--color-primary\)\]:hover{color:var(--color-primary)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-slate-100:hover{color:var(--color-slate-100)}.hover\:text-slate-600:hover{color:var(--color-slate-600)}.hover\:file\:bg-blue-100:hover::file-selector-button{background-color:var(--color-blue-100)}}@media(min-width:900px){.min-\[900px\]\:h-\[calc\(100vh-80px\)\]{height:calc(100vh - 80px)}.min-\[900px\]\:w-\[300px\]{width:300px}.min-\[900px\]\:flex-1{flex:1}.min-\[900px\]\:flex-row{flex-direction:row}}@media(min-width:40rem){.sm\:mt-0{margin-top:calc(var(--spacing) * 0)}.sm\:h-12{height:calc(var(--spacing) * 12)}.sm\:w-1\/4{width:25%}.sm\:w-\[37\.5rem\]{width:37.5rem}.sm\:w-\[80vw\]{width:80vw}.sm\:w-\[350px\]{width:350px}.sm\:w-\[600px\]{width:600px}.sm\:w-auto{width:auto}.sm\:max-w-\[600px\]{max-width:600px}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-0{gap:calc(var(--spacing) * 0)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}@media(min-width:48rem){.md\:mr-2{margin-right:calc(var(--spacing) * 2)}.md\:w-1\/2{width:50%}.md\:w-\[15\%\]{width:15%}.md\:w-\[20\%\]{width:20%}.md\:w-\[24\%\]{width:24%}.md\:w-\[45\%\]{width:45%}.md\:w-\[50\%\]{width:50%}.md\:w-\[60\%\]{width:60%}.md\:w-\[60vw\]{width:60vw}.md\:w-\[80\%\]{width:80%}.md\:w-\[600px\]{width:600px}.md\:w-\[650px\]{width:650px}.md\:w-\[700px\]{width:700px}.md\:w-auto{width:auto}.md\:w-full{width:100%}.md\:max-w-\[750px\]{max-width:750px}.md\:max-w-xl{max-width:var(--container-xl)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-nowrap{flex-wrap:nowrap}.md\:items-center{align-items:center}:where(.md\:space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)))}:where(.md\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.md\:space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}:where(.md\:space-x-5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 5) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-x-reverse)))}.md\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.md\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.md\:pr-5{padding-right:calc(var(--spacing) * 5)}.md\:pl-5{padding-left:calc(var(--spacing) * 5)}.md\:whitespace-nowrap{white-space:nowrap}}@media(min-width:64rem){.lg\:w-\[40vw\]{width:40vw}.lg\:w-\[60vw\]{width:60vw}.lg\:w-\[800px\]{width:800px}.lg\:max-w-2xl{max-width:var(--container-2xl)}.lg\:max-w-\[900px\]{max-width:900px}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:80rem){.xl\:w-\[30vw\]{width:30vw}.xl\:max-w-3xl{max-width:var(--container-3xl)}}@media(prefers-color-scheme:dark){.dark\:border-slate-700{border-color:var(--color-slate-700)}.dark\:border-slate-800{border-color:var(--color-slate-800)}.dark\:bg-slate-800{background-color:var(--color-slate-800)}.dark\:text-slate-400{color:var(--color-slate-400)}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes pulse{50%{opacity:.5}}
|
|
1
|
+
/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-yellow-300:oklch(90.5% .182 98.111);--color-emerald-500:oklch(69.6% .17 162.48);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-4xl:2rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible!important}.absolute{position:absolute!important}.fixed{position:fixed!important}.relative{position:relative!important}.inset-0{inset:calc(var(--spacing) * 0)!important}.start{inset-inline-start:var(--spacing)!important}.end{inset-inline-end:var(--spacing)!important}.top-0{top:calc(var(--spacing) * 0)!important}.top-6\.5{top:calc(var(--spacing) * 6.5)!important}.top-10{top:calc(var(--spacing) * 10)!important}.top-\[-11px\]{top:-11px!important}.top-\[5\%\]{top:5%!important}.top-\[10\%\]{top:10%!important}.right-\[10px\]{right:10px!important}.right-\[20px\]{right:20px!important}.bottom-0{bottom:calc(var(--spacing) * 0)!important}.bottom-20{bottom:calc(var(--spacing) * 20)!important}.bottom-\[80px\]{bottom:80px!important}.left-0{left:calc(var(--spacing) * 0)!important}.left-1\/2{left:50%!important}.left-\[11\%\]{left:11%!important}.left-\[50\%\]{left:50%!important}.z-50{z-index:50!important}.z-\[100\]{z-index:100!important}.z-\[1200\]{z-index:1200!important}.z-\[1300\]{z-index:1300!important}.z-\[1301\]{z-index:1301!important}.col-12{grid-column:12!important}.container{width:100%!important}@media(min-width:2200px){.container{max-width:2200px!important}}@media(min-width:40rem){.container{max-width:40rem!important}}@media(min-width:48rem){.container{max-width:48rem!important}}@media(min-width:64rem){.container{max-width:64rem!important}}@media(min-width:80rem){.container{max-width:80rem!important}}@media(min-width:96rem){.container{max-width:96rem!important}}.m-0{margin:calc(var(--spacing) * 0)!important}.m-0\.5{margin:calc(var(--spacing) * .5)!important}.m-1{margin:calc(var(--spacing) * 1)!important}.m-2{margin:calc(var(--spacing) * 2)!important}.m-2\.5{margin:calc(var(--spacing) * 2.5)!important}.m-3{margin:calc(var(--spacing) * 3)!important}.m-4{margin:calc(var(--spacing) * 4)!important}.m-7{margin:calc(var(--spacing) * 7)!important}.m-\[0px\]{margin:0!important}.m-\[1rem\]{margin:1rem!important}.m-\[8px_0px\]{margin:8px 0!important}.m-\[10px_0px\]{margin:10px 0!important}.m-\[20px_3px\]{margin:20px 3px!important}.mx-0{margin-inline:calc(var(--spacing) * 0)!important}.mx-1{margin-inline:calc(var(--spacing) * 1)!important}.mx-3{margin-inline:calc(var(--spacing) * 3)!important}.mx-\[5px\]{margin-inline:5px!important}.mx-\[10px\]{margin-inline:10px!important}.my-2{margin-block:calc(var(--spacing) * 2)!important}.my-3{margin-block:calc(var(--spacing) * 3)!important}.my-4{margin-block:calc(var(--spacing) * 4)!important}.my-6{margin-block:calc(var(--spacing) * 6)!important}.my-10{margin-block:calc(var(--spacing) * 10)!important}.ms-3{margin-inline-start:calc(var(--spacing) * 3)!important}.mt-1{margin-top:calc(var(--spacing) * 1)!important}.mt-2{margin-top:calc(var(--spacing) * 2)!important}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)!important}.mt-3{margin-top:calc(var(--spacing) * 3)!important}.mt-4{margin-top:calc(var(--spacing) * 4)!important}.mt-5{margin-top:calc(var(--spacing) * 5)!important}.mt-6{margin-top:calc(var(--spacing) * 6)!important}.mt-8{margin-top:calc(var(--spacing) * 8)!important}.mt-10{margin-top:calc(var(--spacing) * 10)!important}.mt-\[0\.5rem\]{margin-top:.5rem!important}.mt-\[1rem\]{margin-top:1rem!important}.mt-\[12rem\]{margin-top:12rem!important}.mt-auto{margin-top:auto!important}.mr-1{margin-right:calc(var(--spacing) * 1)!important}.mr-2{margin-right:calc(var(--spacing) * 2)!important}.mr-2\.5{margin-right:calc(var(--spacing) * 2.5)!important}.mr-3{margin-right:calc(var(--spacing) * 3)!important}.mr-4{margin-right:calc(var(--spacing) * 4)!important}.mr-5{margin-right:calc(var(--spacing) * 5)!important}.mr-\[5rem\]{margin-right:5rem!important}.mr-\[100px\]{margin-right:100px!important}.mb-0{margin-bottom:calc(var(--spacing) * 0)!important}.mb-1{margin-bottom:calc(var(--spacing) * 1)!important}.mb-2{margin-bottom:calc(var(--spacing) * 2)!important}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)!important}.mb-3{margin-bottom:calc(var(--spacing) * 3)!important}.mb-4{margin-bottom:calc(var(--spacing) * 4)!important}.mb-5{margin-bottom:calc(var(--spacing) * 5)!important}.mb-6{margin-bottom:calc(var(--spacing) * 6)!important}.mb-\[0\.3125rem\]{margin-bottom:.3125rem!important}.mb-\[10px\]{margin-bottom:10px!important}.ml-0\.5{margin-left:calc(var(--spacing) * .5)!important}.ml-1{margin-left:calc(var(--spacing) * 1)!important}.ml-2{margin-left:calc(var(--spacing) * 2)!important}.ml-2\.5{margin-left:calc(var(--spacing) * 2.5)!important}.ml-3{margin-left:calc(var(--spacing) * 3)!important}.ml-4{margin-left:calc(var(--spacing) * 4)!important}.ml-5{margin-left:calc(var(--spacing) * 5)!important}.ml-8{margin-left:calc(var(--spacing) * 8)!important}.ml-\[1rem\]{margin-left:1rem!important}.ml-\[10px\]{margin-left:10px!important}.ml-\[13px\]{margin-left:13px!important}.ml-auto{margin-left:auto!important}.box-border{box-sizing:border-box!important}.block{display:block!important}.flex{display:flex!important}.grid{display:grid!important}.hidden{display:none!important}.inline{display:inline!important}.inline-block{display:inline-block!important}.inline-flex{display:inline-flex!important}.table{display:table!important}.table-row{display:table-row!important}.h-1\.5{height:calc(var(--spacing) * 1.5)!important}.h-2{height:calc(var(--spacing) * 2)!important}.h-4{height:calc(var(--spacing) * 4)!important}.h-5{height:calc(var(--spacing) * 5)!important}.h-6{height:calc(var(--spacing) * 6)!important}.h-6\.5{height:calc(var(--spacing) * 6.5)!important}.h-7{height:calc(var(--spacing) * 7)!important}.h-8{height:calc(var(--spacing) * 8)!important}.h-9{height:calc(var(--spacing) * 9)!important}.h-10{height:calc(var(--spacing) * 10)!important}.h-12{height:calc(var(--spacing) * 12)!important}.h-15{height:calc(var(--spacing) * 15)!important}.h-20{height:calc(var(--spacing) * 20)!important}.h-40{height:calc(var(--spacing) * 40)!important}.h-80{height:calc(var(--spacing) * 80)!important}.h-100{height:calc(var(--spacing) * 100)!important}.h-\[0\.625rem\]{height:.625rem!important}.h-\[10rem\]{height:10rem!important}.h-\[14px\]{height:14px!important}.h-\[16px\]{height:16px!important}.h-\[20px\]{height:20px!important}.h-\[28px\]{height:28px!important}.h-\[30px\]{height:30px!important}.h-\[32px\]{height:32px!important}.h-\[35px\]{height:35px!important}.h-\[36px\]{height:36px!important}.h-\[40px\]{height:40px!important}.h-\[45px\]{height:45px!important}.h-\[50px\]{height:50px!important}.h-\[60px\]{height:60px!important}.h-\[60vh\]{height:60vh!important}.h-\[70px\]{height:70px!important}.h-\[80px\]{height:80px!important}.h-\[80vh\]{height:80vh!important}.h-\[88vh\]{height:88vh!important}.h-\[90vh\]{height:90vh!important}.h-\[100vh\]{height:100vh!important}.h-\[120px\]{height:120px!important}.h-\[220px\]{height:220px!important}.h-\[280px\]{height:280px!important}.h-\[350px\]{height:350px!important}.h-\[500px\]{height:500px!important}.h-\[calc\(100vh-235px\)\]{height:calc(100vh - 235px)!important}.h-\[calc\(100vh-300px\)\]{height:calc(100vh - 300px)!important}.h-\[calc\(100vh-440px\)\]{height:calc(100vh - 440px)!important}.h-auto{height:auto!important}.h-fit{height:fit-content!important}.h-full{height:100%!important}.max-h-40{max-height:calc(var(--spacing) * 40)!important}.max-h-100{max-height:calc(var(--spacing) * 100)!important}.max-h-\[60vh\]{max-height:60vh!important}.max-h-\[75vh\]{max-height:75vh!important}.max-h-\[80vh\]{max-height:80vh!important}.max-h-\[90vh\]{max-height:90vh!important}.max-h-\[360px\]{max-height:360px!important}.min-h-0{min-height:calc(var(--spacing) * 0)!important}.min-h-9{min-height:calc(var(--spacing) * 9)!important}.w-1\.5{width:calc(var(--spacing) * 1.5)!important}.w-1\/2{width:50%!important}.w-1\/3{width:33.3333%!important}.w-1\/4{width:25%!important}.w-1\/5{width:20%!important}.w-2{width:calc(var(--spacing) * 2)!important}.w-3{width:calc(var(--spacing) * 3)!important}.w-3\/5{width:60%!important}.w-4{width:calc(var(--spacing) * 4)!important}.w-4\/5{width:80%!important}.w-5{width:calc(var(--spacing) * 5)!important}.w-6{width:calc(var(--spacing) * 6)!important}.w-7{width:calc(var(--spacing) * 7)!important}.w-8{width:calc(var(--spacing) * 8)!important}.w-10{width:calc(var(--spacing) * 10)!important}.w-16{width:calc(var(--spacing) * 16)!important}.w-20{width:calc(var(--spacing) * 20)!important}.w-21{width:calc(var(--spacing) * 21)!important}.w-23{width:calc(var(--spacing) * 23)!important}.w-24{width:calc(var(--spacing) * 24)!important}.w-32{width:calc(var(--spacing) * 32)!important}.w-40{width:calc(var(--spacing) * 40)!important}.w-48{width:calc(var(--spacing) * 48)!important}.w-60{width:calc(var(--spacing) * 60)!important}.w-80{width:calc(var(--spacing) * 80)!important}.w-100{width:calc(var(--spacing) * 100)!important}.w-150{width:calc(var(--spacing) * 150)!important}.w-\[5\%\]{width:5%!important}.w-\[14px\]{width:14px!important}.w-\[15\%\]{width:15%!important}.w-\[16px\]{width:16px!important}.w-\[20\%\]{width:20%!important}.w-\[30\%\]{width:30%!important}.w-\[30px\]{width:30px!important}.w-\[33\%\]{width:33%!important}.w-\[40\%\]{width:40%!important}.w-\[40px\]{width:40px!important}.w-\[45\%\]{width:45%!important}.w-\[50\%\]{width:50%!important}.w-\[60\%\]{width:60%!important}.w-\[60px\]{width:60px!important}.w-\[64px\]{width:64px!important}.w-\[65\%\]{width:65%!important}.w-\[65px\]{width:65px!important}.w-\[70\%\]{width:70%!important}.w-\[75px\]{width:75px!important}.w-\[80\%\]{width:80%!important}.w-\[80px\]{width:80px!important}.w-\[85px\]{width:85px!important}.w-\[90\%\]{width:90%!important}.w-\[90px\]{width:90px!important}.w-\[95\%\]{width:95%!important}.w-\[95px\]{width:95px!important}.w-\[95vw\]{width:95vw!important}.w-\[97\%\]{width:97%!important}.w-\[98\%\]{width:98%!important}.w-\[99\%\]{width:99%!important}.w-\[100\%\]{width:100%!important}.w-\[100px\]{width:100px!important}.w-\[120px\]{width:120px!important}.w-\[130px\]{width:130px!important}.w-\[140px\]{width:140px!important}.w-\[150px\]{width:150px!important}.w-\[160px\]{width:160px!important}.w-\[180px\]{width:180px!important}.w-\[200px\]{width:200px!important}.w-\[250px\]{width:250px!important}.w-\[500px\]{width:500px!important}.w-\[520px\]{width:520px!important}.w-\[870px\]{width:870px!important}.w-auto{width:auto!important}.w-fit{width:fit-content!important}.w-full{width:100%!important}.w-max{width:max-content!important}.w-px{width:1px!important}.max-w-2xl{max-width:var(--container-2xl)!important}.max-w-\[250px\]{max-width:250px!important}.max-w-full{max-width:100%!important}.max-w-md{max-width:var(--container-md)!important}.min-w-0{min-width:calc(var(--spacing) * 0)!important}.min-w-\[50px\]{min-width:50px!important}.min-w-\[110px\]{min-width:110px!important}.min-w-\[300px\]{min-width:300px!important}.min-w-\[500px\]{min-width:500px!important}.min-w-full{min-width:100%!important}.flex-0{flex:0!important}.flex-1{flex:1!important}.flex-2{flex:2!important}.flex-3{flex:3!important}.shrink{flex-shrink:1!important}.shrink-0{flex-shrink:0!important}.grow{flex-grow:1!important}.table-fixed{table-layout:fixed!important}.-translate-x-1\/2{--tw-translate-x: -50% !important;translate:var(--tw-translate-x) var(--tw-translate-y)!important}.-translate-y-1\/2{--tw-translate-y: -50% !important;translate:var(--tw-translate-x) var(--tw-translate-y)!important}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)!important}.animate-pulse{animation:var(--animate-pulse)!important}.cursor-default{cursor:default!important}.cursor-move{cursor:move!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-pointer{cursor:pointer!important}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.grid-cols-\[minmax\(340px\,1\.5fr\)_120px\]{grid-template-columns:minmax(340px,1.5fr) 120px!important}.flex-col{flex-direction:column!important}.flex-row{flex-direction:row!important}.flex-wrap{flex-wrap:wrap!important}.items-center{align-items:center!important}.items-start{align-items:flex-start!important}.justify-between{justify-content:space-between!important}.justify-center{justify-content:center!important}.justify-end{justify-content:flex-end!important}.justify-start{justify-content:flex-start!important}.gap-1{gap:calc(var(--spacing) * 1)!important}.gap-1\.5{gap:calc(var(--spacing) * 1.5)!important}.gap-2{gap:calc(var(--spacing) * 2)!important}.gap-3{gap:calc(var(--spacing) * 3)!important}.gap-4{gap:calc(var(--spacing) * 4)!important}.gap-5{gap:calc(var(--spacing) * 5)!important}.gap-6{gap:calc(var(--spacing) * 6)!important}.gap-10{gap:calc(var(--spacing) * 10)!important}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0!important;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse))!important;margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))!important}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0!important;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse))!important;margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))!important}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0!important;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse))!important;margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))!important}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0!important;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse))!important;margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))!important}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0!important;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse))!important;margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))!important}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0!important;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse))!important;margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))!important}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0!important;margin-inline-start:calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse))!important;margin-inline-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)))!important}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0!important;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse))!important;margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))!important}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0!important;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse))!important;margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))!important}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0!important;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse))!important;margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))!important}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0!important;margin-inline-start:calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse))!important;margin-inline-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)))!important}:where(.space-x-10>:not(:last-child)){--tw-space-x-reverse:0!important;margin-inline-start:calc(calc(var(--spacing) * 10) * var(--tw-space-x-reverse))!important;margin-inline-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-x-reverse)))!important}.gap-y-2{row-gap:calc(var(--spacing) * 2)!important}.truncate{text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-y-auto{overflow-y:auto!important}.rounded{border-radius:.25rem!important}.rounded-2xl{border-radius:var(--radius-2xl)!important}.rounded-4xl{border-radius:var(--radius-4xl)!important}.rounded-\[2\.5rem\]{border-radius:2.5rem!important}.rounded-full{border-radius:3.40282e38px!important}.rounded-lg{border-radius:var(--radius-lg)!important}.rounded-md{border-radius:var(--radius-md)!important}.rounded-sm{border-radius:var(--radius-sm)!important}.rounded-xl{border-radius:var(--radius-xl)!important}.rounded-l-xl{border-top-left-radius:var(--radius-xl)!important;border-bottom-left-radius:var(--radius-xl)!important}.border{border-style:var(--tw-border-style)!important;border-width:1px!important}.border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.border-t{border-top-style:var(--tw-border-style)!important;border-top-width:1px!important}.border-r{border-right-style:var(--tw-border-style)!important;border-right-width:1px!important}.border-b{border-bottom-style:var(--tw-border-style)!important;border-bottom-width:1px!important}.border-b-2{border-bottom-style:var(--tw-border-style)!important;border-bottom-width:2px!important}.border-l{border-left-style:var(--tw-border-style)!important;border-left-width:1px!important}.border-none{--tw-border-style:none!important;border-style:none!important}.border-\[\#ccc\]{border-color:#ccc!important}.border-black{border-color:var(--color-text)!important}.border-gray-300{border-color:var(--color-gray3)!important}.border-red-500{border-color:var(--color-red-500)!important}.border-slate-100{border-color:var(--color-slate-100)!important}.border-slate-200{border-color:var(--color-slate-200)!important}.border-slate-300{border-color:var(--color-slate-300)!important}.border-slate-800{border-color:var(--color-slate-800)!important}.bg-\[\#243A50\]{background-color:#243a50!important}.bg-\[\#cecfd0\]{background-color:#cecfd0!important}.bg-\[var\(--color-background2\)\]{background-color:var(--color-background2)!important}.bg-blue-100{background-color:var(--color-info)!important}@supports (color:color-mix(in lab,red,red)){.bg-blue-100{background-color:color-mix(in srgb,var(--color-info) 20%,white)!important}}.bg-blue-300{background-color:var(--color-info)!important}@supports (color:color-mix(in lab,red,red)){.bg-blue-300{background-color:color-mix(in srgb,var(--color-info) 40%,white)!important}}.bg-emerald-500{background-color:var(--color-emerald-500)!important}.bg-gray-100{background-color:var(--color-background)!important}.bg-gray-200,.bg-gray-300{background-color:var(--color-gray3)!important}.bg-red-100{background-color:var(--color-red-100)!important}.bg-red-300{background-color:var(--color-red-300)!important}.bg-red-400{background-color:var(--color-red-400)!important}.bg-slate-100{background-color:var(--color-slate-100)!important}.bg-slate-200{background-color:var(--color-slate-200)!important}.bg-slate-800{background-color:var(--color-slate-800)!important}.bg-slate-900{background-color:var(--color-slate-900)!important}.bg-white{background-color:var(--color-background)!important}@supports (color:color-mix(in lab,red,red)){.bg-white{background-color:color-mix(in srgb,var(--color-background) 100%,white)!important}}.bg-yellow-300{background-color:var(--color-yellow-300)!important}.p-0{padding:calc(var(--spacing) * 0)!important}.p-1{padding:calc(var(--spacing) * 1)!important}.p-1\.5{padding:calc(var(--spacing) * 1.5)!important}.p-2{padding:calc(var(--spacing) * 2)!important}.p-2\.5{padding:calc(var(--spacing) * 2.5)!important}.p-3{padding:calc(var(--spacing) * 3)!important}.p-4{padding:calc(var(--spacing) * 4)!important}.p-5{padding:calc(var(--spacing) * 5)!important}.p-6{padding:calc(var(--spacing) * 6)!important}.p-\[5px_10px\]{padding:5px 10px!important}.p-\[6px_16px\]{padding:6px 16px!important}.p-\[10px\]{padding:10px!important}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)!important}.px-2{padding-inline:calc(var(--spacing) * 2)!important}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)!important}.px-3{padding-inline:calc(var(--spacing) * 3)!important}.px-4{padding-inline:calc(var(--spacing) * 4)!important}.px-5{padding-inline:calc(var(--spacing) * 5)!important}.px-8{padding-inline:calc(var(--spacing) * 8)!important}.px-\[40px\]{padding-inline:40px!important}.py-0\.5{padding-block:calc(var(--spacing) * .5)!important}.py-1{padding-block:calc(var(--spacing) * 1)!important}.py-2{padding-block:calc(var(--spacing) * 2)!important}.py-3{padding-block:calc(var(--spacing) * 3)!important}.pt-0\.5{padding-top:calc(var(--spacing) * .5)!important}.pt-1{padding-top:calc(var(--spacing) * 1)!important}.pt-2{padding-top:calc(var(--spacing) * 2)!important}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)!important}.pt-3{padding-top:calc(var(--spacing) * 3)!important}.pt-6{padding-top:calc(var(--spacing) * 6)!important}.pt-8{padding-top:calc(var(--spacing) * 8)!important}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)!important}.pr-3{padding-right:calc(var(--spacing) * 3)!important}.pr-5{padding-right:calc(var(--spacing) * 5)!important}.pr-7{padding-right:calc(var(--spacing) * 7)!important}.pr-\[0\.4px\]{padding-right:.4px!important}.pr-\[10px\]{padding-right:10px!important}.pb-1{padding-bottom:calc(var(--spacing) * 1)!important}.pb-2{padding-bottom:calc(var(--spacing) * 2)!important}.pb-4{padding-bottom:calc(var(--spacing) * 4)!important}.pb-8{padding-bottom:calc(var(--spacing) * 8)!important}.pb-\[1px\]{padding-bottom:1px!important}.pb-\[5px\]{padding-bottom:5px!important}.pb-\[7px\]{padding-bottom:7px!important}.pb-\[10px\]{padding-bottom:10px!important}.pl-0{padding-left:calc(var(--spacing) * 0)!important}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)!important}.pl-2{padding-left:calc(var(--spacing) * 2)!important}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)!important}.pl-3{padding-left:calc(var(--spacing) * 3)!important}.pl-5{padding-left:calc(var(--spacing) * 5)!important}.pl-6{padding-left:calc(var(--spacing) * 6)!important}.pl-\[0\.5px\]{padding-left:.5px!important}.text-center{text-align:center!important}.text-left{text-align:left!important}.align-top{vertical-align:top!important}.font-mono{font-family:var(--font-mono)!important}.font-sans{font-family:var(--font-sans)!important}.text-2xl{font-size:var(--text-2xl)!important;line-height:var(--tw-leading,var(--text-2xl--line-height))!important}.text-base{font-size:var(--text-base)!important;line-height:var(--tw-leading,var(--text-base--line-height))!important}.text-lg{font-size:var(--text-lg)!important;line-height:var(--tw-leading,var(--text-lg--line-height))!important}.text-sm{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.text-xl{font-size:var(--text-xl)!important;line-height:var(--tw-leading,var(--text-xl--line-height))!important}.text-xs{font-size:var(--text-xs)!important;line-height:var(--tw-leading,var(--text-xs--line-height))!important}.text-\[0\.6rem\]{font-size:.6rem!important}.text-\[0\.8rem\]{font-size:.8rem!important}.text-\[0\.75rem\]{font-size:.75rem!important}.text-\[0\.85rem\]{font-size:.85rem!important}.text-\[1rem\]{font-size:1rem!important}.text-\[2rem\]{font-size:2rem!important}.text-\[10px\]{font-size:10px!important}.text-\[13px\]{font-size:13px!important}.text-\[14px\]{font-size:14px!important}.text-\[15px\]{font-size:15px!important}.text-\[18px\]{font-size:18px!important}.text-\[19px\]{font-size:19px!important}.leading-none{--tw-leading:1!important;line-height:1!important}.leading-tight{--tw-leading:var(--leading-tight)!important;line-height:var(--leading-tight)!important}.font-black{--tw-font-weight:var(--font-weight-black)!important;font-weight:var(--font-weight-black)!important}.font-bold{--tw-font-weight:var(--font-weight-bold)!important;font-weight:var(--font-weight-bold)!important}.font-medium{--tw-font-weight:var(--font-weight-medium)!important;font-weight:var(--font-weight-medium)!important}.font-normal{--tw-font-weight:var(--font-weight-normal)!important;font-weight:var(--font-weight-normal)!important}.font-semibold{--tw-font-weight:var(--font-weight-semibold)!important;font-weight:var(--font-weight-semibold)!important}.tracking-tight{--tw-tracking:var(--tracking-tight)!important;letter-spacing:var(--tracking-tight)!important}.tracking-wide{--tw-tracking:var(--tracking-wide)!important;letter-spacing:var(--tracking-wide)!important}.tracking-wider{--tw-tracking:var(--tracking-wider)!important;letter-spacing:var(--tracking-wider)!important}.tracking-widest{--tw-tracking:var(--tracking-widest)!important;letter-spacing:var(--tracking-widest)!important}.text-wrap{text-wrap:wrap!important}.break-words{overflow-wrap:break-word!important}.break-all{word-break:break-all!important}.text-ellipsis{text-overflow:ellipsis!important}.whitespace-normal{white-space:normal!important}.whitespace-nowrap{white-space:nowrap!important}.whitespace-pre-line{white-space:pre-line!important}.whitespace-pre-wrap{white-space:pre-wrap!important}.text-\[\#4f4f4f\]{color:#4f4f4f!important}.text-\[\#d3bb51\]{color:#d3bb51!important}.text-\[\#df5f5f\]{color:#df5f5f!important}.text-\[var\(--color-customBlue\)\]{color:var(--color-customBlue)!important}.text-\[var\(--color-error\)\]{color:var(--color-error)!important}.text-\[var\(--color-primary\)\]{color:var(--color-primary)!important}.text-customBlue{color:var(--color-customBlue)!important}.text-gray-300{color:var(--color-gray3)!important}.text-gray-400{color:var(--color-gray2)!important}.text-gray-500,.text-gray-600{color:var(--color-gray1)!important}.text-gray-700,.text-gray-800{color:var(--color-text)!important}.text-red-400{color:var(--color-red-400)!important}.text-red-500{color:var(--color-red-500)!important}.text-slate-100{color:var(--color-slate-100)!important}.text-slate-400{color:var(--color-slate-400)!important}.text-slate-500{color:var(--color-slate-500)!important}.text-slate-600{color:var(--color-slate-600)!important}.text-white{color:var(--color-background)!important}@supports (color:color-mix(in lab,red,red)){.text-white{color:color-mix(in srgb,var(--color-background) 100%,white)!important}}.lowercase{text-transform:lowercase!important}.uppercase{text-transform:uppercase!important}.italic{font-style:italic!important}.underline{text-decoration-line:underline!important}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-blue-900\/10{--tw-shadow-color:var(--color-info)!important}@supports (color:color-mix(in lab,red,red)){.shadow-blue-900\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, color-mix(in srgb, var(--color-info) 50%, black) 10%, transparent) var(--tw-shadow-alpha), transparent)!important}}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-all{transition-property:all!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-transform{transition-property:transform,translate,scale,rotate!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.duration-200{--tw-duration:.2s!important;transition-duration:.2s!important}.duration-300{--tw-duration:.3s!important;transition-duration:.3s!important}.duration-500{--tw-duration:.5s!important;transition-duration:.5s!important}.ease-in-out{--tw-ease:var(--ease-in-out)!important;transition-timing-function:var(--ease-in-out)!important}@media(hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%!important;--tw-scale-y:110%!important;--tw-scale-z:110%!important;scale:var(--tw-scale-x) var(--tw-scale-y)!important}}.file\:mr-4::file-selector-button{margin-right:calc(var(--spacing) * 4)!important}.file\:rounded-md::file-selector-button{border-radius:var(--radius-md)!important}.file\:border-0::file-selector-button{border-style:var(--tw-border-style)!important;border-width:0!important}.file\:bg-blue-50::file-selector-button{background-color:var(--color-info)!important}@supports (color:color-mix(in lab,red,red)){.file\:bg-blue-50::file-selector-button{background-color:color-mix(in srgb,var(--color-info) 10%,white)!important}}.file\:px-4::file-selector-button{padding-inline:calc(var(--spacing) * 4)!important}.file\:py-2::file-selector-button{padding-block:calc(var(--spacing) * 2)!important}.file\:text-sm::file-selector-button{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.file\:font-semibold::file-selector-button{--tw-font-weight:var(--font-weight-semibold)!important;font-weight:var(--font-weight-semibold)!important}.file\:text-blue-700::file-selector-button{color:var(--color-info)!important}@supports (color:color-mix(in lab,red,red)){.file\:text-blue-700::file-selector-button{color:color-mix(in srgb,var(--color-info) 70%,black)!important}}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style)!important;border-bottom-width:0!important}@media(hover:hover){.hover\:scale-\[1\.2\]:hover{scale:1.2!important}.hover\:bg-\[\#1a2b3c\]:hover{background-color:#1a2b3c!important}.hover\:bg-blue-200:hover{background-color:var(--color-info)!important}@supports (color:color-mix(in lab,red,red)){.hover\:bg-blue-200:hover{background-color:color-mix(in srgb,var(--color-info) 30%,white)!important}}.hover\:bg-gray-100:hover{background-color:var(--color-background)!important}.hover\:bg-gray-200:hover,.hover\:bg-gray-300:hover{background-color:var(--color-gray3)!important}.hover\:bg-red-200:hover{background-color:var(--color-red-200)!important}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)!important}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)!important}.hover\:bg-slate-700:hover{background-color:var(--color-slate-700)!important}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)!important}.hover\:text-\[\#11B666\]:hover{color:#11b666!important}.hover\:text-\[var\(--color-error\)\]:hover{color:var(--color-error)!important}.hover\:text-\[var\(--color-primary\)\]:hover{color:var(--color-primary)!important}.hover\:text-red-600:hover{color:var(--color-red-600)!important}.hover\:text-red-700:hover{color:var(--color-red-700)!important}.hover\:text-slate-100:hover{color:var(--color-slate-100)!important}.hover\:text-slate-600:hover{color:var(--color-slate-600)!important}.hover\:file\:bg-blue-100:hover::file-selector-button{background-color:var(--color-info)!important}@supports (color:color-mix(in lab,red,red)){.hover\:file\:bg-blue-100:hover::file-selector-button{background-color:color-mix(in srgb,var(--color-info) 20%,white)!important}}}@media(min-width:900px){.min-\[900px\]\:h-\[calc\(100vh-80px\)\]{height:calc(100vh - 80px)!important}.min-\[900px\]\:w-\[300px\]{width:300px!important}.min-\[900px\]\:flex-1{flex:1!important}.min-\[900px\]\:flex-row{flex-direction:row!important}}@media(min-width:40rem){.sm\:mt-0{margin-top:calc(var(--spacing) * 0)!important}.sm\:h-12{height:calc(var(--spacing) * 12)!important}.sm\:w-1\/4{width:25%!important}.sm\:w-\[37\.5rem\]{width:37.5rem!important}.sm\:w-\[80vw\]{width:80vw!important}.sm\:w-\[350px\]{width:350px!important}.sm\:w-\[600px\]{width:600px!important}.sm\:w-auto{width:auto!important}.sm\:max-w-\[600px\]{max-width:600px!important}.sm\:max-w-lg{max-width:var(--container-lg)!important}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sm\:flex-row{flex-direction:row!important}.sm\:items-center{align-items:center!important}.sm\:gap-0{gap:calc(var(--spacing) * 0)!important}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)!important}.sm\:text-lg{font-size:var(--text-lg)!important;line-height:var(--tw-leading,var(--text-lg--line-height))!important}}@media(min-width:48rem){.md\:mr-2{margin-right:calc(var(--spacing) * 2)!important}.md\:w-1\/2{width:50%!important}.md\:w-\[15\%\]{width:15%!important}.md\:w-\[20\%\]{width:20%!important}.md\:w-\[24\%\]{width:24%!important}.md\:w-\[45\%\]{width:45%!important}.md\:w-\[50\%\]{width:50%!important}.md\:w-\[60\%\]{width:60%!important}.md\:w-\[60vw\]{width:60vw!important}.md\:w-\[80\%\]{width:80%!important}.md\:w-\[600px\]{width:600px!important}.md\:w-\[650px\]{width:650px!important}.md\:w-\[700px\]{width:700px!important}.md\:w-auto{width:auto!important}.md\:w-full{width:100%!important}.md\:max-w-\[750px\]{max-width:750px!important}.md\:max-w-xl{max-width:var(--container-xl)!important}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.md\:flex-row{flex-direction:row!important}.md\:flex-nowrap{flex-wrap:nowrap!important}.md\:items-center{align-items:center!important}:where(.md\:space-y-0>:not(:last-child)){--tw-space-y-reverse:0!important;margin-block-start:calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse))!important;margin-block-end:calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)))!important}:where(.md\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0!important;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse))!important;margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))!important}:where(.md\:space-x-3>:not(:last-child)){--tw-space-x-reverse:0!important;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse))!important;margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))!important}:where(.md\:space-x-5>:not(:last-child)){--tw-space-x-reverse:0!important;margin-inline-start:calc(calc(var(--spacing) * 5) * var(--tw-space-x-reverse))!important;margin-inline-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-x-reverse)))!important}.md\:border-r{border-right-style:var(--tw-border-style)!important;border-right-width:1px!important}.md\:border-b-0{border-bottom-style:var(--tw-border-style)!important;border-bottom-width:0!important}.md\:pr-5{padding-right:calc(var(--spacing) * 5)!important}.md\:pl-5{padding-left:calc(var(--spacing) * 5)!important}.md\:whitespace-nowrap{white-space:nowrap!important}}@media(min-width:64rem){.lg\:w-\[40vw\]{width:40vw!important}.lg\:w-\[60vw\]{width:60vw!important}.lg\:w-\[800px\]{width:800px!important}.lg\:max-w-2xl{max-width:var(--container-2xl)!important}.lg\:max-w-\[900px\]{max-width:900px!important}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}}@media(min-width:80rem){.xl\:w-\[30vw\]{width:30vw!important}.xl\:max-w-3xl{max-width:var(--container-3xl)!important}}@media(prefers-color-scheme:dark){.dark\:border-slate-700{border-color:var(--color-slate-700)!important}.dark\:border-slate-800{border-color:var(--color-slate-800)!important}.dark\:bg-slate-800{background-color:var(--color-slate-800)!important}.dark\:text-slate-400{color:var(--color-slate-400)!important}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes pulse{50%{opacity:.5}}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import { execute as d, executeAll as G } from "@/common/services/GlobalApis";
|
|
|
5
5
|
import { api as S } from "@/common/interceptors/AxiosInterceptor";
|
|
6
6
|
import './index.css';const s = l(
|
|
7
7
|
() => import("@/views/feature-components/VerifyRoute.jsx")
|
|
8
|
-
), L = l(() => import("./RoleManagement-
|
|
8
|
+
), L = l(() => import("./RoleManagement-v5Nyp1vr.js").then((e) => e.R)), v = l(
|
|
9
9
|
() => import("./QueryBuilder-Cus_mRwZ.js").then((e) => e.Q)
|
|
10
10
|
), x = l(() => import("./UserList-BxB1tCwM.js")), y = l(() => import("./ManageUser-PHiTNyF8.js").then((e) => e.M)), B = l(
|
|
11
11
|
() => import("./QueryManagement-DXA73N2j.js")
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RoleManagement-C0feJCuq.js","sources":["../src/services/Roles.js","../src/views/Roles/Skeletons/RoleManagementSkeleton.jsx","../src/views/Roles/RoleManagement.jsx"],"sourcesContent":["import { api } from \"@/common/interceptors/AxiosInterceptor\";\n\nexport const getAllRoleList = () => api.get(\"/role\");\n\nexport const deleteRoleFeature = (id) =>\n api.delete(`/menuconfig/usermenuitem/${id}`);\n\nexport const getRoleById = (id) => api.get(`/role/${id}`);\n\nexport const postRole = (params) => api.post(\"/role\", { ...params });\n\nexport const ToggleState = (params) =>\n api.put(`role/?is_active=${params.state === \"INACTIVE\" ? \"true\" : \"false\"}`, {\n ...params,\n });\nexport const postNewFeature = (params, id) =>\n api.post(`/menuconfig/assignnewfeature?roleId=${id}`, { ...params });\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { getUseSkeleton } from \"@/store/reducers/SkeletonReducer\";\n\nconst RoleManagementSkeleton = ({ children, isLoading = true }) => {\n const useSkeleton = useSelector(getUseSkeleton);\n if (!useSkeleton) {\n return children;\n }\n if (!isLoading) {\n return children;\n }\n\n return (\n <div className=\"pt-6 relative h-[90vh]\">\n {/* skleton for roles and add button */}\n\n <div className=\"flex flex-row h-[80vh] \">\n <div className=\"flex flex-col border border-gray-300 w-[20%] p-2 mr-3 rounded-md\">\n {\" \"}\n <div className=\"flex justify-between\">\n {/* skleton for list of roles and toogle roles */}\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-23 h-[40px] mr-3\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-40 h-[40px]\"></div>\n </div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-[50px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-full\"></div>\n </div>\n <div className=\"flex flex-col border border-gray-300 w-[80%] p-2 rounded-md\">\n <div className=\"flex justify-between\">\n {/* skleton for role name and options */}\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-24 h-[40px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm w-21 h-[40px]\"></div>\n </div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-[50px]\"></div>\n <div className=\"bg-gray-300 animate-pulse rounded-sm mt-2 w-full h-full\"></div>\n </div>\n </div>\n\n <div className=\"absolute bottom-20 right-[10px] \">\n <div className=\"bg-gray-300 animate-pulse rounded-full w-[40px] h-[40px]\"></div>\n </div>\n </div>\n );\n};\n\nRoleManagementSkeleton.propTypes = {\n children: PropTypes.any,\n loading: PropTypes.any,\n isLoading: PropTypes.any,\n};\n\nexport default RoleManagementSkeleton;\n","import { Suspense, useEffect, useState, lazy } from \"react\";\nimport {\n Box,\n Card,\n Switch,\n TextField,\n Button,\n Chip,\n Typography,\n} from \"@mui/material\";\nimport { alpha } from \"@mui/material/styles\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport {\n getAllRoleList,\n ToggleState,\n deleteRoleFeature,\n getRoleById,\n} from \"../../services/Roles.js\";\nimport { getRoleList } from \"@/common/services/GlobalApis.js\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faTrash } from \"@fortawesome/free-solid-svg-icons\";\nimport useTrackEvent from \"@/hooks/useTrackEvent\";\nimport RoleManagementSkeleton from \"./Skeletons/RoleManagementSkeleton.jsx\";\nimport { useSelector } from \"react-redux\";\nconst AddFeatures = lazy(() => import(\"./AddFeatures.jsx\"));\nconst ManageRole = lazy(() => import(\"./ManageRole.jsx\"));\n\nexport default function RoleManagement() {\n const { translate } = useTranslateProvider();\n const [Data, setData] = useState(\"\");\n const [selectedRole, setSelectedRole] = useState(Data[0]);\n const [includeInActive, setincludeInActive] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [openModal, setOpenModal] = useState(false);\n const [openManageRole, setOpenManageRole] = useState(0);\n const [searchText, setSearchText] = useState(\"\");\n const [searchQuery, setSearchQuery] = useState(\"\");\n const trackEvent = useTrackEvent();\n const currentLoogedInUserRoleId = useSelector((state) => state.Authenticate.user.roleId);\n const [allowedRoleIds, setallowedRoleIds] = useState([]);\n\n const getAllData = async (isPreserveRole = false) => {\n try {\n setIsLoading(true);\n const roleListPromise = includeInActive ? getAllRoleList() : getRoleList();\n let data, userRoleIds = [];\n if (currentLoogedInUserRoleId) {\n // Run both APIs in parallel\n const [{ data: roleData }, currRoleData] = await Promise.all([\n roleListPromise,\n getRoleById(currentLoogedInUserRoleId),\n ]);\n data = roleData;\n userRoleIds = currRoleData?.data?.roleIds || [];\n } else {\n // Only fetch role list\n const { data: roleData } = await roleListPromise;\n data = roleData;\n }\n setallowedRoleIds(userRoleIds);\n // ✅ Filter logic (keep only allowed roles)\n const filteredData =\n userRoleIds.length > 0\n ? data.filter((role) => userRoleIds.includes(role.id))\n : data; // fallback: show all if no roleIds\n setData(filteredData);\n if (!isPreserveRole && filteredData.length > 0) {\n setSelectedRole(filteredData[0]);\n }\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in getting role data\", type: \"error\" });\n } finally {\n setIsLoading(false);\n }\n };\n\n useEffect(function () {\n getAllData();\n }, []);\n\n const handleCheckboxChange = async (event) => {\n let isChecked = event.target.checked;\n setincludeInActive(event.target.checked);\n try {\n setIsLoading((cur) => !cur);\n let data;\n if (isChecked) {\n ({ data } = await getAllRoleList());\n } else {\n ({ data } = await getRoleList());\n }\n if (allowedRoleIds && allowedRoleIds.length > 0) {\n data = data.filter(\n (role) => allowedRoleIds.includes(role.id)\n );\n }\n setData(data);\n setSelectedRole(data[0]);\n setIsLoading((cur) => !cur);\n setSearchText(\"\");\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in getting role data\", type: \"error\" });\n setIsLoading((cur) => !cur);\n }\n };\n\n const filterData = Data\n ? Data?.filter((feature) =>\n feature.name.toLowerCase().includes(searchText.toLowerCase())\n )\n : [];\n\n const formatDateDDMMYYYY = (timestamp) => {\n if (!timestamp) return \"\";\n const date = new Date(Number(timestamp));\n const day = String(date.getDate()).padStart(2, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const year = date.getFullYear();\n return `${day}/${month}/${year}`;\n };\n\n const handleToggleState = async () => {\n try {\n const payload = Data?.find((data) => data.id === selectedRole.id);\n await ToggleState(payload);\n showToast({\n message: `State succesfully changed from ${payload?.state === \"INACTIVE\" ? \"inactive\" : \"active\"} to ${payload?.state === \"INACTIVE\" ? \"active\" : \"inactive\"}`,\n type: \"success\",\n });\n let res;\n setIsLoading((cur) => !cur);\n if (includeInActive) {\n res = await getAllRoleList();\n } else {\n res = await getRoleList();\n }\n\n setData(res.data);\n setSelectedRole(res.data[0]);\n setIsLoading((cur) => !cur);\n } catch (error) {\n console.error(error);\n showToast({ message: \"Error in handle active\", type: \"error\" });\n setIsLoading((cur) => !cur);\n }\n };\n\n const sortedFilteredFeatures = Data\n ? Data.find((obj) => obj.id === selectedRole.id)\n ?.assignedFeatureList.filter((feature) =>\n feature.featureName\n ?.toLowerCase()\n .includes(searchQuery?.toLowerCase())\n )\n .sort((a, b) => a.featureName?.localeCompare(b.featureName))\n : [];\n\n const handleDeleteRoleFeature = async (feature) => {\n try {\n await deleteRoleFeature(feature.userMenuItemId);\n await getAllData(true);\n setSearchQuery(\"\");\n showToast({ message: \"Feature deleted successfully!\", type: \"success\" });\n } catch (error) {\n showToast({ message: error, type: \"error\" });\n }\n };\n\n const handleManageRoleModel = (index) => {\n setOpenManageRole(index);\n trackEvent(\"button_click\", {\n button_name: `${index === 1 ? \"add\" : \"edit\"} role modal button`,\n button_type: \"navigate\",\n button_id: `roles-${index === 1 ? \"add\" : \"edit\"}-button`,\n });\n };\n\n const isRoleListModified = () => {\n getAllData();\n setSearchText(\"\");\n };\n\n const handleOpen = async () => {\n try {\n setOpenModal(true);\n await trackEvent(\"button_click\", {\n button_name: \"add feature button\",\n button_type: \"navigate\",\n button_id: \"roles-addfeatures-button-add\",\n });\n } catch (error) {\n console.error(error);\n }\n };\n\n return (\n <RoleManagementSkeleton isLoading={isLoading}>\n <Box className=\"flex flex-col gap-4 p-4 min-[900px]:flex-row min-[900px]:h-[calc(100vh-80px)]\">\n <Card\n variant=\"outlined\"\n className=\"w-full min-[900px]:w-[300px] flex flex-col p-4\"\n >\n <div className=\"flex justify-between items-center mb-3\">\n <Typography\n variant=\"h6\"\n fontWeight={600}\n className=\"text-customBlue\"\n >\n User Roles\n </Typography>\n <Button\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n onClick={() => handleManageRoleModel(1)}\n data-testid=\"managerole-add-button\"\n >\n {translate(\"+ Add Role\")}\n </Button>\n </div>\n <TextField\n size=\"small\"\n variant=\"outlined\"\n placeholder=\"Search roles...\"\n fullWidth\n value={searchText}\n onChange={(e) => setSearchText(e.target.value)}\n data-testid=\"listofroles-search-input\"\n />\n <div className=\"flex items-center gap-2 mt-3\">\n <Switch\n size=\"small\"\n checked={includeInActive}\n onChange={handleCheckboxChange}\n />\n <Typography variant=\"body2\">Include Inactive</Typography>\n </div>\n <div className=\"flex-1 overflow-y-auto mt-4\">\n {filterData.length > 0 && (\n <>\n {filterData.map((role) => (\n <Card\n key={role.id}\n variant=\"outlined\"\n onClick={() => setSelectedRole(role)}\n className={`p-3 cursor-pointer transition\n ${selectedRole.id === role.id\n ? \"border-b-2\"\n : \"border-b-2 border-0\"\n }`}\n sx={\n selectedRole.id === role.id\n ? {\n bgcolor: (t) => alpha(t.palette.primary.main, 0.08),\n }\n : {}\n }\n >\n <Typography fontWeight={600}>\n {role.name}\n \n {role?.state === \"INACTIVE\" && (\n <Chip label=\"INACTIVE\" color=\"disabled\" size=\"small\" />\n )}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {role.assignedFeatureList.length} Features\n </Typography>\n </Card>\n ))}\n </>\n )}\n </div>\n </Card>\n <Card\n variant=\"outlined\"\n className=\"w-full min-[900px]:flex-1 flex flex-col p-5\"\n >\n <div className=\"flex flex-col sm:flex-row justify-between items-start border-b pb-4 gap-4\">\n <div className=\"flex flex-col gap-1 w-full sm:w-auto\">\n <div className=\"flex items-center gap-2\">\n <Typography\n variant=\"h5\"\n fontWeight={600}\n className=\"text-customBlue\"\n >\n {selectedRole?.name || \"Select Role\"}\n </Typography>\n {selectedRole?.state === \"ACTIVE\" && (\n <Chip label=\"ACTIVE\" color=\"success\" size=\"small\" />\n )}\n {selectedRole?.state === \"INACTIVE\" && (\n <Chip label=\"INACTIVE\" color=\"disabled\" size=\"small\" />\n )}\n </div>\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n className=\"mt-1\"\n >\n Created on {formatDateDDMMYYYY(selectedRole?.createdOn)}\n </Typography>\n </div>\n <div className=\"flex gap-2\">\n <Button\n variant=\"outlined\"\n size=\"small\"\n onClick={() => handleToggleState(1)}\n >\n {selectedRole?.state === \"ACTIVE\" ? \"Deactivate\" : \"Activate\"}\n </Button>\n <Button\n variant=\"contained\"\n size=\"small\"\n onClick={() => handleManageRoleModel(2)}\n >\n ✏️ Edit Role\n </Button>\n </div>\n </div>\n {/* ASSIGNED FEATURES */}\n <div className=\"mt-5 flex flex-col flex-1 overflow-hidden\">\n <div className=\"flex flex-col sm:flex-row justify-between items-start sm:items-center mb-4 gap-4\">\n <div className=\"flex flex-row items-center gap-2 w-full sm:w-auto\">\n <Typography fontWeight={600}>{translate(\"Assigned Features\")}</Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n ({sortedFilteredFeatures.length} {translate(\"features active for this role\")})\n </Typography>\n </div>\n <TextField\n size=\"small\"\n sx={{ width: { xs: \"100%\", sm: \"60%\" } }}\n placeholder=\"Search Feature Name\"\n variant=\"outlined\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n data-testid=\"assignedfeatures-search-input\"\n />\n </div>\n <Box className=\"overflow-x-auto w-full\">\n <Box\n className=\"grid grid-cols-[minmax(340px,1.5fr)_120px] px-4 py-2 text-[15px] font-semibold border-b min-w-[500px]\"\n sx={{\n color: \"text.secondary\",\n bgcolor: (t) => alpha(t.palette.action.hover, 0.04),\n }}\n >\n <div>{translate(\"FEATURE NAME\")}</div>\n <div className=\"text-center\">{translate(\"ACTIONS\")}</div>\n </Box>\n <Box\n className=\"h-[calc(100vh-440px)] overflow-y-auto min-w-[500px]\"\n sx={{\n bgcolor: \"background.paper\",\n }}\n >\n {sortedFilteredFeatures.length > 0 && (\n <>\n {sortedFilteredFeatures.map((feature, index) => (\n <Box\n key={feature.id}\n className=\"grid grid-cols-[minmax(340px,1.5fr)_120px] px-4 py-3 items-center border-b last:border-b-0 transition\"\n sx={{\n \"&:hover\": {\n bgcolor: (t) => alpha(t.palette.action.hover, 0.04),\n },\n }}\n >\n <div className=\"flex flex-col\">\n <Typography sx={{ fontSize: \"13px\", fontWeight: 600 }}>\n {feature.featureName}\n </Typography>\n </div>\n <div className=\"flex justify-center\">\n <FontAwesomeIcon\n icon={faTrash}\n onClick={() => {\n handleDeleteRoleFeature(feature);\n }}\n color=\"error\"\n className=\"text-red-400 cursor-pointer\"\n data-testid={`assignedfeatures-delete-icon-${index}`}\n />\n </div>\n </Box>\n ))}\n </>\n )}\n {sortedFilteredFeatures.length === 0 && (\n <>\n <Typography\n className=\"p-4\"\n sx={{ fontSize: \"13px\", fontStyle: \"italic\" }}\n >\n No Features assigned yet!\n </Typography>\n </>\n )}\n </Box>\n </Box>\n </div>\n <Box\n className=\"border-t p-4\"\n sx={{\n bgcolor: (t) => alpha(t.palette.primary.main, 0.06),\n }}\n >\n <Button variant=\"outlined\" size=\"small\" onClick={handleOpen}>\n + Add More Features\n </Button>\n </Box>\n </Card>\n <Suspense>\n <ManageRole\n isUpdate={openManageRole !== 1}\n selectedId={openManageRole === 2 ? selectedRole.id : null}\n data-testid=\"roles-managerole-add-button\"\n open={openManageRole}\n setOpen={setOpenManageRole}\n isRoleListModified={isRoleListModified}\n />\n </Suspense>\n <Suspense fallback={<div className=\"animate-pulse w-80 h-20 \"></div>}>\n {openModal === true && (\n <AddFeatures\n open={openModal}\n setOpenModal={setOpenModal}\n selectedId={selectedRole.id}\n setData={() => getAllData(true)}\n assignedFeatureList={\n Data\n ? (() =>\n Data?.find((data) => data?.id === selectedRole.id)\n ?.assignedFeatureList\n ? Data?.find((data) => data?.id === selectedRole.id)\n ?.assignedFeatureList\n : Data[0]?.assignedFeatureList)()\n : []\n }\n data-testid=\"roles-addfeatures-component\"\n />\n )}\n </Suspense>\n </Box>\n </RoleManagementSkeleton>\n );\n}\n"],"names":["getAllRoleList","api","deleteRoleFeature","id","getRoleById","postRole","params","ToggleState","postNewFeature","RoleManagementSkeleton","children","isLoading","useSelector","getUseSkeleton","jsxs","jsx","PropTypes","AddFeatures","lazy","ManageRole","RoleManagement","translate","useTranslateProvider","Data","setData","useState","selectedRole","setSelectedRole","includeInActive","setincludeInActive","setIsLoading","openModal","setOpenModal","openManageRole","setOpenManageRole","searchText","setSearchText","searchQuery","setSearchQuery","trackEvent","useTrackEvent","currentLoogedInUserRoleId","state","allowedRoleIds","setallowedRoleIds","getAllData","isPreserveRole","roleListPromise","getRoleList","data","userRoleIds","roleData","currRoleData","_a","filteredData","role","error","showToast","useEffect","handleCheckboxChange","event","isChecked","cur","filterData","feature","formatDateDDMMYYYY","timestamp","date","day","month","year","handleToggleState","payload","res","sortedFilteredFeatures","obj","a","b","handleDeleteRoleFeature","handleManageRoleModel","index","isRoleListModified","handleOpen","Box","Card","Typography","Button","TextField","Switch","Fragment","t","alpha","Chip","FontAwesomeIcon","faTrash","Suspense","_b","_c"],"mappings":"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"}
|