@proounce/shared-common 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/legacy/FusionCharts/BarChart/BarChart.jsx","../src/legacy/FusionCharts/ChartColumn2D/ChartColumn2D.jsx","../src/legacy/FusionCharts/ColumnChart/ColumnChart.jsx","../src/legacy/FusionCharts/DoughnutChart/DoughnutChart.jsx","../src/legacy/FusionCharts/ExecutionKPICard/KPICard.jsx","../src/legacy/FusionCharts/FusionDefaultCharts/FusionDefaultCharts.jsx","../src/legacy/FusionCharts/FusionDefaultChartsPF/FusionDefaultChartsPF.jsx","../src/legacy/FusionCharts/FusionDefaultChartsPH/FusionDefaultChartsPH.jsx","../src/legacy/FusionCharts/GenericChart/GenericChart.jsx","../src/legacy/FusionCharts/GenericChartCDMS/GenericChartCDMS.jsx","../src/legacy/FusionCharts/KPICard/KPICard.jsx","../src/legacy/FusionCharts/ReportRunKPICard/ReportRunKPICard.jsx","../src/legacy/GeneralComponents/AccessError/index.jsx","../src/legacy/GeneralComponents/AccessLoader/index.jsx","../src/legacy/Components/light-tooltip.jsx","../src/legacy/CommonUtils/action-icon-data.jsx","../src/legacy/CommonUtils/mui-icons.js","../src/legacy/Components/action-icon.jsx","../src/legacy/Components/StyledButton/index.jsx","../src/legacy/CommonUtils/action-icon-button-data.jsx","../src/legacy/Components/action-icon-button.jsx","../src/legacy/Components/actions-container.jsx","../src/legacy/Components/advanced-dropdown-list.jsx","../src/legacy/Components/advanced-drop-down-with-message.jsx","../src/legacy/Components/styled-bordered-table-row.jsx","../src/legacy/Components/styled-bordered-table-cell.jsx","../src/legacy/Components/signed-amount-value.jsx","../src/legacy/Components/alert-dialog-box.jsx","../src/legacy/Components/UserAppBar/components/DocumentationCard.jsx","../src/legacy/Components/UserAppBar/components/AppHelp.jsx","../src/legacy/Components/back-button.jsx","../src/legacy/FusionCharts/BarChart/index.jsx","../src/legacy/Components/GenericRequestComponents/blue-header-text.jsx","../src/legacy/Components/GenericRequestComponents/bold-text.jsx","../src/legacy/Components/pipe.jsx","../src/legacy/Components/breadcrumb.jsx","../src/legacy/Components/custom-budget-status-icons.jsx","../src/legacy/Reporting/card-component.jsx","../src/legacy/Reporting/custom-grid-view.jsx","../src/legacy/FusionCharts/ChartColumn2D/index.jsx","../src/legacy/FusionCharts/ColumnChart/index.jsx","../src/legacy/Components/icon-button.jsx","../src/legacy/Components/draggable-modal.jsx","../src/legacy/Components/dialog-actions.jsx","../src/legacy/Components/expandable-comment.jsx","../src/legacy/Components/common-search-table.jsx","../src/legacy/Components/common-search-textfield.jsx","../src/legacy/Components/common-selection-sticky-table.jsx","../src/legacy/Components/skeleton-table-body.jsx","../src/legacy/Components/common-selection-table.jsx","../src/legacy/Components/common-selection-validate-table.jsx","../src/legacy/Components/custom-table-cell.jsx","../src/legacy/Components/sort-label.jsx","../src/legacy/Components/common-table.jsx","../src/legacy/Components/confirm-dialog.jsx","../src/legacy/Components/content-modal.jsx","../src/legacy/Components/GenericRequestComponents/content-wrapper.jsx","../src/legacy/Components/mandatory-indicator.jsx","../src/legacy/Components/GenericRequestComponents/labels-icons.jsx","../src/legacy/Components/GenericRequestComponents/custom-currency-input.jsx","../src/legacy/Components/GenericRequestComponents/currency-input-with-label-icon.jsx","../src/legacy/Components/currency-text-field.jsx","../src/legacy/Components/custom-button-with-icon.jsx","../src/legacy/Components/GenericRequestComponents/custom-currency-input-with-negative.jsx","../src/legacy/Components/GenericRequestComponents/custom-dropzone.jsx","../src/legacy/Components/formula-icon.jsx","../src/legacy/Components/information-icon.jsx","../src/legacy/Components/custom-grid-header-cell-with-info.jsx","../src/legacy/Components/custom-grid-table.jsx","../src/legacy/Components/custom-grid-table-wrapper.jsx","../src/legacy/Components/custom-advanced-drop-down-list.jsx","../src/legacy/Components/custom-mui-text-box.jsx","../src/legacy/Components/styled-table-row.jsx","../src/legacy/Components/filter-list.jsx","../src/legacy/Components/req-details-bordered-table-cell.jsx","../src/legacy/Components/custom-request-table.jsx","../src/legacy/Components/custom-selection-table.jsx","../src/legacy/Components/custom-sticky-table.jsx","../src/legacy/Components/custom-styled-tab.jsx","../src/legacy/Components/custom-styled-tabs.jsx","../src/legacy/Components/switch.jsx","../src/legacy/Components/custom-table.jsx","../src/legacy/Components/custom-table-cell-with-info.jsx","../src/legacy/Components/date-display.jsx","../src/legacy/Components/date-picker.jsx","../src/legacy/Components/date-time-display.jsx","../src/legacy/Components/date-time-picker.jsx","../src/legacy/FusionCharts/DoughnutChart/index.jsx","../src/legacy/Components/dropdown-list.jsx","../src/legacy/Reporting/common.jsx","../src/legacy/Components/custom-mui-text-field.jsx","../src/legacy/Components/drop-down-list.jsx","../src/legacy/Components/drop-down-list-image.jsx","../src/legacy/Components/dropdown-with-msg.jsx","../src/legacy/Components/email-suggestion-text-box.jsx","../src/legacy/Components/error-alert.jsx","../src/legacy/Components/error-blinker.jsx","../src/legacy/Components/StatusModals/error-modal.jsx","../src/legacy/FusionCharts/ExecutionKPICard/index.jsx","../src/legacy/Components/floating-advanced-drop-down-list.jsx","../src/legacy/Components/floating-input.jsx","../src/legacy/Components/floating-multi-select-drop-down-list.jsx","../src/legacy/Components/ErrorPages/ForbiddenPage.jsx","../src/legacy/Components/formula-with-icon.jsx","../src/legacy/FusionCharts/FusionDefaultCharts/index.jsx","../src/legacy/FusionCharts/FusionDefaultChartsPF/index.jsx","../src/legacy/FusionCharts/FusionDefaultChartsPH/index.jsx","../src/legacy/Components/generic-advanced-select.jsx","../src/legacy/FusionCharts/GenericChart/index.jsx","../src/legacy/FusionCharts/GenericChartCDMS/index.jsx","../src/legacy/Components/generic-checkbox.jsx","../src/legacy/Components/generic-currency-textbox.jsx","../src/legacy/Components/TableComponents/components/utils.js","../src/legacy/Components/TableComponents/components/config-table.jsx","../src/legacy/Components/TableComponents/components/filter-list.jsx","../src/legacy/Components/TableComponents/components/sticky-table-cell.jsx","../src/legacy/Components/TableComponents/components/sticky-table-row.jsx","../src/legacy/Components/TableComponents/components/styled-table-cell.jsx","../src/legacy/Components/TableComponents/components/styled-table-row.jsx","../src/legacy/Components/TableComponents/components/skeleton-table-body.jsx","../src/legacy/Components/TableComponents/components/AdvancedTableComponents/advanced-header.jsx","../src/legacy/Components/TableComponents/components/AdvancedTableComponents/advanced-body.jsx","../src/legacy/Components/TableComponents/components/AdvancedTableComponents/advanced-footer.jsx","../src/legacy/Components/TableComponents/index.jsx","../src/legacy/Components/generic-label.jsx","../src/legacy/Components/generic-checkbox-outlined.jsx","../src/legacy/Components/generic-select.jsx","../src/legacy/Components/generic-styled-advanced-dropdown.jsx","../src/legacy/Components/generic-styled-currency-text-field.jsx","../src/legacy/Components/generic-styled-date-field.jsx","../src/legacy/Components/generic-styled-floating-text-field.jsx","../src/legacy/Components/generic-styled-input.jsx","../src/legacy/Components/generic-styled-readonly-currency-input.jsx","../src/legacy/Components/generic-styled-read-only-text-field.jsx","../src/legacy/Components/generic-styled-text-field.jsx","../src/legacy/Components/generic-textarea.jsx","../src/legacy/Components/generic-textbox.jsx","../src/legacy/Components/go-back.jsx","../src/legacy/Components/grouped-multiselect-dropdown.jsx","../src/legacy/Components/header-toggles.jsx","../src/legacy/Components/info-label-icon.jsx","../src/legacy/FusionCharts/KPICard/index.jsx","../src/legacy/Components/main-selector.jsx","../src/legacy/Components/GenericRequestComponents/mandatory-indicator-with-text.jsx","../src/legacy/Components/ErrorPages/MenuNotFoundPage.jsx","../src/legacy/Components/modal.jsx","../src/legacy/Components/advanced-drop-down-list.jsx","../src/legacy/Components/mui-text-box.jsx","../src/legacy/Components/multi-select-drop-down-list.jsx","../src/legacy/Components/name-code-desc-popover.jsx","../src/legacy/Components/normal-drop-down-list.jsx","../src/legacy/Components/normal-date-picker.jsx","../src/legacy/Components/normal-mui-text-box.jsx","../src/legacy/Components/operations-info.jsx","../src/legacy/Components/GenericRequestComponents/question-text-wrapper.jsx","../src/legacy/Components/GenericRequestComponents/option-multi-selector-with-label.jsx","../src/legacy/Components/GenericRequestComponents/option-selector-with-label.jsx","../src/legacy/Components/page.jsx","../src/legacy/Components/ErrorPages/PageNotFound.jsx","../src/legacy/Components/pagination-table.jsx","../src/legacy/Components/custom-panel-wrapper.jsx","../src/legacy/Components/GenericRequestComponents/percentage-input.jsx","../src/legacy/Components/placeholder-textbox.jsx","../src/legacy/Components/preview-content-modal.jsx","../src/legacy/Components/StatusModals/processing-modal.jsx","../src/legacy/Components/ProfitDirectionIcon.jsx","../src/legacy/Components/read-only-label.jsx","../src/legacy/FusionCharts/ReportRunKPICard/index.jsx","../src/legacy/Components/GenericRequestComponents/request-modal-grid-item.jsx","../src/legacy/Components/search-input.jsx","../src/legacy/Components/custom-search-textfield.jsx","../src/legacy/Components/GenericRequestComponents/select-with-table.jsx","../src/legacy/Components/ErrorPages/ServerErrorPage.jsx","../src/legacy/Components/signed-amount-with-zero.jsx","../src/legacy/Components/signed-percentage.jsx","../src/legacy/Components/signed-percentage-with-zero.jsx","../src/legacy/Components/skeleton-border-table-body.jsx","../src/legacy/Components/spinner.jsx","../src/legacy/Components/custom-status-icons.jsx","../src/legacy/Components/styled-advanced-drop-down-list.jsx","../src/legacy/Components/styled-button.jsx","../src/legacy/Components/styled-kpi-card.jsx","../src/legacy/Components/styled-lines-bordered-table-cell.jsx","../src/legacy/Components/styled-read-only-text-field.jsx","../src/legacy/Components/toggle-switch.jsx","../src/legacy/Components/styled-tab.jsx","../src/legacy/Components/styled-table-cell.jsx","../src/legacy/Components/styled-table-sort-label.jsx","../src/legacy/Components/styled-tabs.jsx","../src/legacy/Components/styled-text-field.jsx","../src/legacy/Components/success-alert.jsx","../src/legacy/Components/success-blinker.jsx","../src/legacy/Components/StatusModals/success-modal.jsx","../src/legacy/Components/styled-bordered-table-cell-with-info.jsx","../src/legacy/Components/table-wrapper.jsx","../src/legacy/Components/tab-panel.jsx","../src/legacy/Components/tesla-style-scroller.jsx","../src/legacy/Components/text-box.jsx","../src/legacy/Components/textfield-with-icon.jsx","../src/legacy/Components/GenericRequestComponents/text-input.jsx","../src/legacy/Components/GenericRequestComponents/dropdown-with-table.jsx","../src/legacy/Components/GenericRequestComponents/text-input-with-label.jsx","../src/legacy/Components/GenericRequestComponents/text-input-with-label-icon.jsx","../src/legacy/Components/ticket-label-info-icon.jsx","../src/legacy/Components/toggle-button.jsx","../src/legacy/Components/custom-transition.jsx","../src/legacy/Components/ErrorPages/UnauthorizedPage.jsx","../src/legacy/Components/StatusModals/warning-modal.jsx","../src/legacy/Components/white-styled-tab.jsx","../src/legacy/Components/yellow-table-cell.jsx"],"names":["FusionCharts","FUSIONCHART_KEY","ReactFC","Charts","FusionTheme","jsx","Paper","useState","chartConfigs","PowerCharts","Widgets","CandyTheme","charts","useEffect","jsxs","Grid","Typography","FormControl","InputLabel","Select","MenuItem","IconButton","CallMadeIcon","TreeMap","Maps","USA","KPICard_exports","KPICard_default","KPICard","init_KPICard","styled","Button","GotoIcon","useTheme","PropTypes","LoaderIcon","React","Tooltip","tooltipClasses","AccessibilityNew","AccountTree","AccountTreeOutlined","Add","AddCircleOutline","AdminPanelSettings","Archive","ArticleOutlined","AssessmentOutlined","AssignmentOutlined","AssignmentTurnedIn","AttachMoney","Attachment","AutoModeOutlined","BackupTable","BookmarkAdded","BrightnessAuto","Business","BusinessCenterOutlined","CableOutlined","Cached","Cancel","Check","CheckCircle","CheckCircleOutline","Close","Comment","Compare","CompareArrows","ContactEmergency","ContentCopy","ContentCopyOutlined","CorporateFare","CurrencyExchange","DeleteForever","DeleteForeverOutlined","DeleteOutline","DeleteOutlined","DescriptionOutlined","Difference","DoneAllOutlined","DoneOutline","Download","EditOutlined","Email","Equalizer","ErrorOutlineOutlined","EventSeat","FileCopy","FileCopyOutlined","FileUpload","FileUploadOutlined","FilterList","FilterListOff","Flag","FlagOutlined","FolderOpen","Functions","GetApp","Group","GroupAdd","GroupAddOutlined","GroupWorkOutlined","Handshake","HelpOutline","History","HistoryOutlined","HorizontalSplitOutlined","HourglassEmpty","HowToVote","HttpOutlined","ImportContacts","ImportExport","InfoOutlined","InsertChartOutlined","IosShareOutlined","Link","List","MailOutline","ManageAccounts","Menu","MenuBook","MonetizationOn","MoreVert","NextWeek","Nfc","PanToolOutlined","PauseCircleOutline","PeopleAltOutlined","Person","PersonOutlineOutlined","PlayCircle","PlayCircleOutlined","PlaylistAddCheck","PostAddOutlined","PreviewRounded","PriceChangeOutlined","Print","Publish","PublishedWithChanges","RecentActorsOutlined","RecommendOutlined","Refresh","ReorderOutlined","Repeat","RequestQuoteOutlined","RestartAlt","Rule","RuleOutlined","SafetyDivider","Search","Security","Send","Settings","SettingsEthernet","Share","SimCardDownload","SlowMotionVideoOutlined","Sort","SpaceDashboardOutlined","Speed","Star","StarBorder","Stop","SupervisedUserCircleOutlined","SupervisorAccountOutlined","SwapCalls","Sync","SyncAlt","TableChartOutlined","Tag","TaskAlt","ThumbDownOutlined","ThumbUpOutlined","TimerOutlined","Toc","TornadoOutlined","TrackChanges","UploadFileOutlined","VerifiedUser","VerifiedUserOutlined","VerticalSplit","ViewComfy","ViewHeadline","Visibility","WarningOutlined","FilterAlt","CircularProgress","Badge","children","Children","isValidElement","useRef","Autocomplete","Fragment","TextField","TableRow","TableCell","tableCellClasses","toCurrencyUSD","CloseIcon","CheckIcon","TableContainer","Table","TableBody","DescriptionOutlinedIcon","ArrowForwardIosIcon","ArrowBackIosNewIcon","BarChart","lazy","Suspense","BarChart_default","GenericTitle","Skeleton","RecommendOutlinedIcon","RecommendIcon","ThumbDownOutlinedIcon","Card","CardContent","Box","Divider","HorizontalSplitOutlinedIcon","SpaceDashboardOutlinedIcon","AssessmentOutlinedIcon","CardActions","TablePagination","ChartColumn2D","ChartColumn2D_default","ColumnChart","ColumnChart_default","Draggable","Dialog","DialogTitle","LinearProgress","Popover","DragIndicatorIcon","DialogActions","OpenInFullOutlinedIcon","DialogContent","InputAdornment","SearchIcon","TableHead","TableSortLabel","TableFooter","ClearIcon","FormControlLabel","Checkbox","visuallyHidden","SkeletonTableBody","descendingComparator","getComparator","stableSort","CustomTableCell","InfoOutlinedIcon","CurrencyInput","forwardRef","CurrencyInputComponent","useMemo","useLayoutEffect","AttachmentIcon","DeleteIcon","FunctionsIcon","ModuleRegistry","AllCommunityModule","AgGridReact","checkIfError","AdvanceDropDownList","col","FilterAltOutlinedIcon","FormGroup","columns","UI_SKIN_ENV","Switch","CommonTable","formatDate","dayjs","LocalizationProvider","AdapterDayjs","MUIDatePicker","formatDateTime","DatePicker","DoughnutChart","DoughnutChart_default","DropDownList","value","Chip","ReactDOM","RedditTextField","props","FusionDefaultCharts","FusionDefaultCharts_default","FusionDefaultChartsPF_default","FusionDefaultChartsPH","FusionDefaultChartsPH_default","GenericChart","GenericChart_default","GenericChartCDMS","GenericChartCDMS_default","RadioGroup","Radio","filter_list_default","StickyTableCell","StyledBorderedTableCell","StyledBorderedTableRow","styled_table_row_default","skeleton_table_body_default","CustomStickyCellBody","SettingsIcon","makeStyles","CssTextField","withStyles","startOfQ12022","endOfQ12099","NavigateBeforeIcon","KPICards","arrayDistinctFromObjectList","TextBox","SkipNextIcon","CheckCircleOutlinedIcon","OptionSelectorWithLabel","Container","CssBaseline","Pagination","FullscreenExitIcon","FullscreenIcon","DownIcon","UpIcon","ReportRunKPICard","ReportRunKPICard_default","SearchOutlinedIcon","SearchTextField","toCurrency","Backdrop","Edit","CancelOutlined","HighlightOff","PanTool","ErrorOutline","ChecklistRtl","RateReview","Verified","FactCheck","Checklist","ModelTraining","Grading","AlignHorizontalLeft","MarkChatRead","ArtTrack","RestoreFromTrash","Reviews","CreditScore","WarningAmberRounded","ReadMore","RunningWithErrors","AccessTimeOutlined","getColorOpacity","StyledButton","Tab","StyledTableCell","styled_table_cell_default","Tabs","StyledTextField","TableCellWithInfo","container","KeyboardArrowUpIcon","_","KeyboardArrowDownIcon","item","SearchContentWrapper","GridViewOutlinedIcon","TableChartOutlinedIcon","KeyboardArrowLeftIcon","KeyboardArrowRightIcon","id","data","TuneIcon","CustomTransition","Slide","ErrorModalContent","PriorityHighRoundedIcon","ErrorModal"],"mappings":"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","file":"index.cjs","sourcesContent":["import React from \"react\";\nimport FusionCharts from \"fusioncharts\";\nimport Charts from \"fusioncharts/fusioncharts.charts.js\";\nimport ReactFC from \"react-fusioncharts\";\nimport FusionTheme from \"fusioncharts/themes/fusioncharts.theme.fusion.js\";\nimport Paper from \"@mui/material/Paper\";\n\nimport { FUSIONCHART_KEY } from \"@gc360/shared-utilities\";\n\n// FusionCharts.options[\"creditLabel\"] = false;\nFusionCharts.options.license({\n key: FUSIONCHART_KEY,\n creditLabel: false,\n});\n\nReactFC.fcRoot(FusionCharts, Charts, FusionTheme);\n\nconst chartConfigs = {\n type: \"bar2d\",\n width: \"100%\",\n height: 400,\n dataFormat: \"json\",\n};\n\nconst BarChart = ({ title, caption, xAxisName, yAxisName, items }) => {\n const dataSource = {\n chart: {\n caption: title,\n subCaption: caption,\n xAxisName: xAxisName,\n yAxisName: yAxisName,\n numDivLines: \"1\",\n numberPrefix: \"$\",\n theme: \"fusion\",\n labelDisplay: \"rotate\",\n slantLabel: \"1\",\n placeValuesInside: true,\n numVisiblePlot: \"6\",\n scrollheight: \"10\",\n flatScrollBars: \"1\",\n scrollShowButtons: \"0\",\n scrollColor: \"#cccccc\",\n pieRadius: 100,\n doughnutRadius: 80,\n formatNumber: \"1\",\n forceNumberScale: \"0\",\n showValues: \"0\",\n rotateValues: \"0\",\n decimals: \"1\",\n maxColWidth: \"15\",\n maxBarHeight: \"15\",\n maxLabelWidthPercent: \"100\",\n showDivLineValues: \"1\",\n showPercentValues: \"0\",\n valueFontBold: \"1\",\n showShadow: \"1\",\n animation: \"1\",\n animationDuration: \"1\",\n showZeroPlaneValue: \"0\",\n valueBorderPadding: \"20\",\n formatNumberScale: \"0\",\n },\n data: items,\n };\n\n return (\n <Paper square style={{ padding: \"10px\" }}>\n <ReactFC {...{ ...chartConfigs, dataSource }} />\n </Paper>\n );\n};\n\nexport default BarChart;\n","// Step 1 - Include react\nimport React, { useState, useEffect } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport { Typography } from \"@mui/material\";\n// Step 2 - Include the react-fusioncharts component\nimport ReactFC from \"react-fusioncharts\";\n\n// Step 3 - Include the fusioncharts library\nimport FusionCharts from \"fusioncharts\";\n\n// Step 4 - Include the chart type\nimport charts from \"fusioncharts/fusioncharts.charts.js\";\nimport Widgets from \"fusioncharts/fusioncharts.widgets.js\";\nimport * as PowerCharts from \"fusioncharts/fusioncharts.powercharts.js\";\n//import linear from 'fusioncharts/fusioncharts.';\n\n// Step 5 - Include the theme as fusion\nimport FusionTheme from \"fusioncharts/themes/fusioncharts.theme.fusion.js\";\nimport CandyTheme from \"fusioncharts/themes/fusioncharts.theme.candy.js\";\nimport FormControl from \"@mui/material/FormControl\";\n\nimport Select from \"@mui/material/Select\";\nimport MenuItem from \"@mui/material/MenuItem\";\n\nimport { FUSIONCHART_KEY } from \"@gc360/shared-utilities\";\n\n// FusionCharts.options[\"creditLabel\"] = false;\nFusionCharts.options.license({\n key: FUSIONCHART_KEY,\n creditLabel: false,\n});\n\n// Step 6 - Adding the chart and theme as dependency to the core fusioncharts\n//ReactFC.fcRoot(FusionCharts, charts, FusionTheme, GammelTheme, CandyTheme, ZuneTheme, OceanTheme, CarbonTheme);\n\n// Step 7 - Creating the JSON object to store the chart configurations\n\n// Step 9 - Creating the DOM element to pass the react-fusioncharts component\nconst ChartColumn2D = (props) => {\n //var prevDs = Object.assign({}, chartConfigs.dataSource);\n const [chartType, setChartType] = useState(props.type);\n\n var chartConfigs = {\n type: \"column2d\", // The chart type\n width: \"700\", // Width of the chart\n height: \"100%\", // Height of the chart\n dataFormat: \"json\", // Data type\n theme: \"candy\",\n dataSource: {\n // Chart Configuration\n chart: {\n caption: \"Countries With Most Oil Reserves [2017-18]\",\n subCaption: \"In MMbbl = One Million barrels\",\n xAxisName: \"Country\",\n yAxisName: \"Reserves (MMbbl)\",\n numberSuffix: \"K\",\n theme: \"fusion\",\n pieRadius: 100,\n doughnutRadius: 80,\n formatNumber: \"1\",\n forceNumberScale: \"0\",\n showValues: \"0\",\n rotateValues: \"0\",\n decimals: \"1\",\n labelDisplay: \"rotate\",\n slantLabel: \"1\",\n maxColWidth: \"15\",\n maxBarHeight: \"15\",\n maxLabelWidthPercent: \"100\",\n showDivLineValues: \"1\",\n showPercentValues: \"0\",\n valueFontBold: \"1\",\n showShadow: \"1\",\n animation: \"1\",\n animationDuration: \"1\",\n showZeroPlaneValue: \"0\",\n valueBorderPadding: \"20\",\n formatNumberScale: \"0\",\n },\n // Chart Data\n data: [\n {\n label: \"Venezuela\",\n value: \"290\",\n },\n {\n label: \"Saudi\",\n value: \"260\",\n },\n {\n label: \"Canada\",\n value: \"180\",\n },\n {\n label: \"Iran\",\n value: \"140\",\n },\n {\n label: \"Russia\",\n value: \"115\",\n },\n {\n label: \"UAE\",\n value: \"100\",\n },\n {\n label: \"US\",\n value: \"30\",\n },\n {\n label: \"China\",\n value: \"30\",\n },\n ],\n },\n };\n if (props.type === \"waterfall2d\" || props.type === \"waterfall3d\") {\n ReactFC.fcRoot(FusionCharts, PowerCharts, FusionTheme);\n } else {\n if (props.linear)\n ReactFC.fcRoot(FusionCharts, Widgets, FusionTheme, CandyTheme);\n else ReactFC.fcRoot(FusionCharts, charts, FusionTheme, CandyTheme);\n }\n //setChartType(props.type);\n\n chartConfigs.dataSource = props.dataSource;\n chartConfigs.type =\n chartType === null || chartType === \"\" ? props.type : chartType;\n chartConfigs.width = props.width;\n chartConfigs.height = props.height; //props.height;\n\n //chartConfigs.dataSource.chart.theme = \"fusion\";//props.height;\n //chartConfigs.dataSource.chart.exportEnabled = \"1\";//props.height;\n //chartConfigs.dataSource.chart.showHoverEffect = \"1\";//props.height;\n\n // if(props.dataPlotClick)\n // FusionCharts.addEventListener('dataplotClick', props.dataPlotClick);\n\n useEffect(() => {\n if (props.type === \"mscolumn2d\") {\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleChange = (event) => {\n if (event.target.name === \"chartType\") {\n setChartType(event.target.value);\n }\n if (props.type === \"mscolumn2d\") {\n }\n };\n\n return (\n <div>\n {props.header && (\n <Grid container spacing={3}>\n <Grid item xs={9}>\n <Typography component=\"h1\" variant=\"h5\">\n {props.title}\n </Typography>\n </Grid>\n <Grid item xs={3}>\n <FormControl style={{ margin: \"8px\", minWidth: 120 }}>\n <InputLabel id=\"chartType-label\">Chart</InputLabel>\n <Select\n labelId=\"chartType-label\"\n label=\"Chart Type\"\n id=\"chartType\"\n value={\n chartType === null || chartType === \"\"\n ? props.type\n : chartType\n }\n name=\"chartType\"\n fullWidth\n onChange={handleChange}\n labelWidth={100}\n >\n <MenuItem value=\"column2d\">Column 2D</MenuItem>\n <MenuItem value=\"column3d\">Column 3D</MenuItem>\n <MenuItem value=\"line\">Line 2D</MenuItem>\n <MenuItem value=\"area2d\">Area 2D</MenuItem>\n <MenuItem value=\"area3d\">Area 3D</MenuItem>\n <MenuItem value=\"bar2d\">Bar 2D</MenuItem>\n <MenuItem value=\"bar3d\">Bar 3D</MenuItem>\n <MenuItem value=\"pie2d\">Pie 2D</MenuItem>\n <MenuItem value=\"pie3d\">Pie 3D</MenuItem>\n <MenuItem value=\"doughnut2d\">Doughnut 2D</MenuItem>\n <MenuItem value=\"doughnut3d\">Doughnut 3D</MenuItem>\n <MenuItem value=\"pareto2d\">Pareto 2D</MenuItem>\n <MenuItem value=\"pareto3d\">pareto 3D</MenuItem>\n <MenuItem value=\"waterfall2d\">Waterfall 2D</MenuItem>\n </Select>\n </FormControl>\n </Grid>\n </Grid>\n )}\n <ReactFC {...chartConfigs} fcEvent-dataPlotClick={props.dataPlotClick} />\n </div>\n );\n};\n\nexport default ChartColumn2D;\n","import React from \"react\";\nimport FusionCharts from \"fusioncharts\";\nimport Charts from \"fusioncharts/fusioncharts.charts.js\";\nimport ReactFC from \"react-fusioncharts\";\nimport FusionTheme from \"fusioncharts/themes/fusioncharts.theme.fusion.js\";\nimport Paper from \"@mui/material/Paper\";\n\nimport { FUSIONCHART_KEY } from \"@gc360/shared-utilities\";\n\n// FusionCharts.options[\"creditLabel\"] = false;\nFusionCharts.options.license({\n key: FUSIONCHART_KEY,\n creditLabel: false,\n});\n\nReactFC.fcRoot(FusionCharts, Charts, FusionTheme);\n\nconst chartConfigs = {\n type: \"column2d\",\n width: \"100%\",\n height: 400,\n dataFormat: \"json\",\n};\n\nconst ColumnChart = ({ title, caption, xAxisName, yAxisName, items }) => {\n const dataSource = {\n chart: {\n caption: title,\n subCaption: caption,\n xAxisName: xAxisName,\n yAxisName: yAxisName,\n numDivLines: \"1\",\n numberPrefix: \"$\",\n theme: \"fusion\",\n labelDisplay: \"rotate\",\n // \"slantLabel\": \"1\",\n placeValuesInside: true,\n numVisiblePlot: \"6\",\n scrollheight: \"10\",\n flatScrollBars: \"1\",\n scrollShowButtons: \"0\",\n scrollColor: \"#cccccc\",\n pieRadius: 100,\n doughnutRadius: 80,\n formatNumber: \"1\",\n forceNumberScale: \"0\",\n showValues: \"0\",\n rotateValues: \"0\",\n decimals: \"1\",\n slantLabel: \"1\",\n maxColWidth: \"15\",\n maxBarHeight: \"15\",\n maxLabelWidthPercent: \"100\",\n showDivLineValues: \"1\",\n showPercentValues: \"0\",\n valueFontBold: \"1\",\n showShadow: \"1\",\n animation: \"1\",\n animationDuration: \"1\",\n showZeroPlaneValue: \"0\",\n valueBorderPadding: \"20\",\n formatNumberScale: \"0\",\n },\n data: items,\n };\n\n return (\n <Paper square style={{ padding: \"10px\" }}>\n <ReactFC {...{ ...chartConfigs, dataSource }} />\n </Paper>\n );\n};\n\nexport default ColumnChart;\n","import React, { useState } from \"react\";\nimport FusionCharts from \"fusioncharts\";\nimport Charts from \"fusioncharts/fusioncharts.charts.js\";\nimport ReactFC from \"react-fusioncharts\";\nimport FusionTheme from \"fusioncharts/themes/fusioncharts.theme.fusion.js\";\nimport CandyTheme from \"fusioncharts/themes/fusioncharts.theme.candy.js\";\n\nimport { FUSIONCHART_KEY } from \"@gc360/shared-utilities\";\n\n// FusionCharts.options[\"creditLabel\"] = false;\nFusionCharts.options.license({\n key: FUSIONCHART_KEY,\n creditLabel: false,\n});\n\nReactFC.fcRoot(FusionCharts, Charts, FusionTheme, CandyTheme);\n\nconst chartConfigs = {\n type: \"doughnut2d\",\n width: \"100%\",\n height: 165,\n dataFormat: \"json\",\n};\n\nconst DoughnutChart = ({ title, caption, items, centerLabel }) => {\n const [showData, setShowData] = useState(false);\n\n const dataSource = {\n chart: {\n showLegend: false,\n // caption: title,\n // subCaption: caption,\n showpercentvalues: \"0\",\n defaultcenterlabel: centerLabel,\n // \"numberSuffix\": \"K\",\n theme: \"fusion\",\n // paletteColors: \"#29c3be\",\n placeValuesInside: false,\n pieRadius: 50,\n doughnutRadius: 40,\n formatNumber: \"1\",\n forceNumberScale: \"0\",\n showValues: \"0\",\n showLabel: \"0\",\n rotateValues: \"0\",\n formatNumberScale: \"0\",\n animation: \"1\",\n animationDuration: \"1\",\n decimals: \"1\",\n maxBarHeight: \"30\",\n maxColWidth: \"30\",\n maxLabelWidthPercent: \"100\",\n showDivLineValues: \"1\",\n showPercentValues: \"0\",\n showShadow: \"1\",\n showZeroPlaneValue: \"0\",\n slantLabel: \"1\",\n valueBorderPadding: \"20\",\n valueFontBold: \"1\",\n baseFontSize: \"10px\",\n },\n data: items,\n };\n\n return <ReactFC {...{ ...chartConfigs, dataSource }} />;\n};\n\nexport default DoughnutChart;\n","import React from \"react\";\nimport Paper from \"@mui/material/Paper\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CallMadeIcon from \"@mui/icons-material/CallMade\";\n\nconst KPICard = ({ title, body, primaryAction, footer, accentColors }) => {\n const paperClassName = `p-3 ${\n accentColors ? accentColors[0] : \"!bg-fill-tertiary\"\n } !text-skin-tertiary border-2 ${\n accentColors ? accentColors[1] : \"border-[var(--fill-table-header-border)]\"\n } rounded-md`;\n\n return (\n <Paper className={paperClassName} square elevation={1}>\n <div className=\"flex justify-between items-center\">\n <div className=\"!text-skin-tertiary\">{title}</div>\n {primaryAction ? (\n <IconButton onClick={primaryAction} aria-label=\"kpi-card-button\">\n <CallMadeIcon />\n </IconButton>\n ) : (\n <div className=\"p-1 h-[40px]\"></div>\n )}\n </div>\n <div className=\"!text-skin-tertiary flex justify-between items-center\">\n {body}\n </div>\n </Paper>\n );\n};\n\nexport default KPICard;\n","// Step 1 - Include react\nimport {\n FormControl,\n Grid,\n InputLabel,\n MenuItem,\n Select,\n Typography,\n} from \"@mui/material\";\nimport { useState } from \"react\";\n\n// Step 2 - Include the react-fusioncharts component\nimport ReactFC from \"react-fusioncharts\";\n\n// Step 3 - Include the fusioncharts library\nimport FusionCharts from \"fusioncharts\";\n\n// Step 4 - Include the chart type\nimport charts from \"fusioncharts/fusioncharts.charts.js\";\n//import linear from 'fusioncharts/fusioncharts.';\n\n// Step 5 - Include the theme as fusion\nimport CandyTheme from \"fusioncharts/themes/fusioncharts.theme.candy.js\";\nimport FusionTheme from \"fusioncharts/themes/fusioncharts.theme.fusion.js\";\n\nimport { FUSIONCHART_KEY } from \"@gc360/shared-utilities\";\n\n// FusionCharts.options[\"creditLabel\"] = false;\nFusionCharts.options.license({\n key: FUSIONCHART_KEY,\n creditLabel: false,\n});\n\nReactFC.fcRoot(FusionCharts, charts, FusionTheme, CandyTheme);\n\n// Step 6 - Adding the chart and theme as dependency to the core fusioncharts\n//ReactFC.fcRoot(FusionCharts, charts, FusionTheme, GammelTheme, CandyTheme, ZuneTheme, OceanTheme, CarbonTheme);\n\n// Step 7 - Creating the JSON object to store the chart configurations\n\n// Step 9 - Creating the DOM element to pass the react-fusioncharts component\nconst FusionDefaultCharts = (props) => {\n //var prevDs = Object.assign({}, chartConfigs.dataSource);\n const [chartType, setChartType] = useState(props.type);\n\n var chartConfigs = {\n type: \"column2d\", // The chart type\n width: \"700\", // Width of the chart\n height: \"100%\", // Height of the chart\n dataFormat: \"json\", // Data type\n theme: \"candy\",\n dataSource: {\n // Chart Configuration\n chart: {\n caption: \"Countries With Most Oil Reserves [2017-18]\",\n subCaption: \"In MMbbl = One Million barrels\",\n xAxisName: \"Country\",\n yAxisName: \"Reserves (MMbbl)\",\n numberSuffix: \"K\",\n theme: \"fusion\",\n },\n // Chart Data\n data: [\n {\n label: \"Venezuela\",\n value: \"290\",\n },\n {\n label: \"Saudi\",\n value: \"260\",\n },\n {\n label: \"Canada\",\n value: \"180\",\n },\n {\n label: \"Iran\",\n value: \"140\",\n },\n {\n label: \"Russia\",\n value: \"115\",\n },\n {\n label: \"UAE\",\n value: \"100\",\n },\n {\n label: \"US\",\n value: \"30\",\n },\n {\n label: \"China\",\n value: \"30\",\n },\n ],\n },\n };\n\n chartConfigs.dataSource = props.dataSource;\n chartConfigs.type = props.type; //chartType === \"\" ? props.type : chartType;\n chartConfigs.width = props.width;\n chartConfigs.height = props.height; //props.height;\n\n //chartConfigs.dataSource.chart.theme = \"fusion\";//props.height;\n //chartConfigs.dataSource.chart.exportEnabled = \"1\";//props.height;\n //chartConfigs.dataSource.chart.showHoverEffect = \"1\";//props.height;\n\n // if(props.dataPlotClick)\n // FusionCharts.addEventListener('dataplotClick', props.dataPlotClick);\n\n const handleChange = (event) => {\n if (event.target.name === \"chartType\") {\n setChartType(event.target.value);\n }\n };\n\n return (\n <div>\n {props.header && (\n <Grid container spacing={3}>\n <Grid item xs={9}>\n <Typography component=\"h1\" variant=\"h5\">\n {props.title}\n </Typography>\n </Grid>\n <Grid item xs={3}>\n <FormControl style={{ margin: \"8px\", minWidth: 120 }}>\n <InputLabel id=\"chartType-label\">Chart</InputLabel>\n <Select\n labelId=\"chartType-label\"\n label=\"Chart Type\"\n id=\"chartType\"\n value={props.type}\n name=\"chartType\"\n fullWidth\n onChange={handleChange}\n labelWidth={100}\n >\n <MenuItem value=\"column2d\">Column 2D</MenuItem>\n <MenuItem value=\"column3d\">Column 3D</MenuItem>\n <MenuItem value=\"waterfall2d\">Waterfall 2D</MenuItem>\n <MenuItem value=\"line\">Line 2D</MenuItem>\n <MenuItem value=\"area2d\">Area 2D</MenuItem>\n <MenuItem value=\"bar2d\">Bar 2D</MenuItem>\n <MenuItem value=\"bar3d\">Bar 3D</MenuItem>\n <MenuItem value=\"pie2d\">Pie 2D</MenuItem>\n <MenuItem value=\"pie3d\">Pie 3D</MenuItem>\n <MenuItem value=\"doughnut2d\">Doughnut 2D</MenuItem>\n <MenuItem value=\"doughnut3d\">Doughnut 3D</MenuItem>\n <MenuItem value=\"pareto2d\">Pareto 2D</MenuItem>\n <MenuItem value=\"pareto3d\">pareto 3D</MenuItem>\n {/* <MenuItem value={\"mscolumn2d\"}>pareto 3D</MenuItem>\n <MenuItem value={\"mscolumn3d\"}>pareto 3D</MenuItem> */}\n </Select>\n </FormControl>\n </Grid>\n </Grid>\n )}\n <ReactFC {...chartConfigs} fcEvent-dataPlotClick={props.dataPlotClick} />\n </div>\n );\n};\n\nexport default FusionDefaultCharts;\n","import React from \"react\";\nimport ReactFC from \"react-fusioncharts\";\nimport FusionCharts from \"fusioncharts\";\nimport Charts from \"fusioncharts/fusioncharts.charts.js\";\nimport FusionTheme from \"fusioncharts/themes/fusioncharts.theme.fusion.js\";\n\nimport { FUSIONCHART_KEY } from \"@gc360/shared-utilities\";\n\n// FusionCharts.options[\"creditLabel\"] = false;\nFusionCharts.options.license({\n key: FUSIONCHART_KEY,\n creditLabel: false,\n});\n\nReactFC.fcRoot(FusionCharts, Charts, FusionTheme);\n\nconst FusionChartDefaultPF = ({ chartConfigs }) => {\n return <ReactFC {...chartConfigs} />;\n};\n\nexport default FusionChartDefaultPF;\n","// Step 1 - Include react\nimport { Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport { useState } from \"react\";\n// Step 2 - Include the react-fusioncharts component\nimport ReactFC from \"react-fusioncharts\";\n\n// Step 3 - Include the fusioncharts library\nimport FusionCharts from \"fusioncharts\";\n\n// Step 4 - Include the chart type\nimport charts from \"fusioncharts/fusioncharts.charts.js\";\n//import linear from 'fusioncharts/fusioncharts.';\n\n// Step 5 - Include the theme as fusion\nimport FormControl from \"@mui/material/FormControl\";\nimport CandyTheme from \"fusioncharts/themes/fusioncharts.theme.candy.js\";\nimport FusionTheme from \"fusioncharts/themes/fusioncharts.theme.fusion.js\";\n\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Select from \"@mui/material/Select\";\n\nimport { FUSIONCHART_KEY } from \"@gc360/shared-utilities\";\n\n// FusionCharts.options[\"creditLabel\"] = false;\nFusionCharts.options.license({\n key: FUSIONCHART_KEY,\n creditLabel: false,\n});\n\nReactFC.fcRoot(FusionCharts, charts, FusionTheme, CandyTheme);\n\n// Step 6 - Adding the chart and theme as dependency to the core fusioncharts\n//ReactFC.fcRoot(FusionCharts, charts, FusionTheme, GammelTheme, CandyTheme, ZuneTheme, OceanTheme, CarbonTheme);\n\n// Step 7 - Creating the JSON object to store the chart configurations\n\n// Step 9 - Creating the DOM element to pass the react-fusioncharts component\nconst FusionDefaultChartsPH = (props) => {\n //var prevDs = Object.assign({}, chartConfigs.dataSource);\n const [chartType, setChartType] = useState(props.type);\n\n var chartConfigs = {\n type: \"column2d\", // The chart type\n width: \"700\", // Width of the chart\n height: \"100%\", // Height of the chart\n dataFormat: \"json\", // Data type\n theme: \"candy\",\n dataSource: {\n // Chart Configuration\n chart: {\n caption: \"Countries With Most Oil Reserves [2017-18]\",\n subCaption: \"In MMbbl = One Million barrels\",\n xAxisName: \"Country\",\n yAxisName: \"Reserves (MMbbl)\",\n numberSuffix: \"K\",\n theme: \"fusion\",\n },\n // Chart Data\n data: [\n {\n label: \"Venezuela\",\n value: \"290\",\n },\n {\n label: \"Saudi\",\n value: \"260\",\n },\n {\n label: \"Canada\",\n value: \"180\",\n },\n {\n label: \"Iran\",\n value: \"140\",\n },\n {\n label: \"Russia\",\n value: \"115\",\n },\n {\n label: \"UAE\",\n value: \"100\",\n },\n {\n label: \"US\",\n value: \"30\",\n },\n {\n label: \"China\",\n value: \"30\",\n },\n ],\n },\n };\n\n chartConfigs.dataSource = props.dataSource;\n chartConfigs.type = props.type; //chartType === \"\" ? props.type : chartType;\n chartConfigs.width = props.width;\n chartConfigs.height = props.height; //props.height;\n\n //chartConfigs.dataSource.chart.theme = \"fusion\";//props.height;\n //chartConfigs.dataSource.chart.exportEnabled = \"1\";//props.height;\n //chartConfigs.dataSource.chart.showHoverEffect = \"1\";//props.height;\n\n // if(props.dataPlotClick)\n // FusionCharts.addEventListener('dataplotClick', props.dataPlotClick);\n\n const handleChange = (event) => {\n if (event.target.name === \"chartType\") {\n setChartType(event.target.value);\n }\n };\n\n return (\n <div>\n {props.header && (\n <Grid container spacing={3}>\n <Grid item xs={9}>\n <Typography component=\"h1\" variant=\"h5\">\n {props.title}\n </Typography>\n </Grid>\n <Grid item xs={3}>\n <FormControl style={{ margin: \"8px\", minWidth: 120 }}>\n <InputLabel id=\"chartType-label\">Chart</InputLabel>\n <Select\n labelId=\"chartType-label\"\n label=\"Chart Type\"\n id=\"chartType\"\n value={props.type}\n name=\"chartType\"\n fullWidth\n onChange={handleChange}\n labelWidth={100}\n >\n <MenuItem value=\"column2d\">Column 2D</MenuItem>\n <MenuItem value=\"column3d\">Column 3D</MenuItem>\n <MenuItem value=\"waterfall2d\">Waterfall 2D</MenuItem>\n <MenuItem value=\"line\">Line 2D</MenuItem>\n <MenuItem value=\"area2d\">Area 2D</MenuItem>\n <MenuItem value=\"bar2d\">Bar 2D</MenuItem>\n <MenuItem value=\"bar3d\">Bar 3D</MenuItem>\n <MenuItem value=\"pie2d\">Pie 2D</MenuItem>\n <MenuItem value=\"pie3d\">Pie 3D</MenuItem>\n <MenuItem value=\"doughnut2d\">Doughnut 2D</MenuItem>\n <MenuItem value=\"doughnut3d\">Doughnut 3D</MenuItem>\n <MenuItem value=\"pareto2d\">Pareto 2D</MenuItem>\n <MenuItem value=\"pareto3d\">pareto 3D</MenuItem>\n {/* <MenuItem value={\"mscolumn2d\"}>pareto 3D</MenuItem>\n <MenuItem value={\"mscolumn3d\"}>pareto 3D</MenuItem> */}\n </Select>\n </FormControl>\n </Grid>\n </Grid>\n )}\n <ReactFC {...chartConfigs} fcEvent-dataPlotClick={props.dataPlotClick} />\n </div>\n );\n};\n\nexport default FusionDefaultChartsPH;\n","import React, { useState, useEffect } from \"react\";\nimport ReactFC from \"react-fusioncharts\";\nimport FusionCharts from \"fusioncharts\";\nimport charts from \"fusioncharts/fusioncharts.charts.js\";\nimport Widgets from \"fusioncharts/fusioncharts.widgets.js\";\nimport * as PowerCharts from \"fusioncharts/fusioncharts.powercharts.js\";\nimport TreeMap from \"fusioncharts/fusioncharts.treemap.js\";\nimport Maps from \"fusioncharts/fusioncharts.maps.js\";\nimport USA from \"fusioncharts/maps/fusioncharts.usa.js\";\n\nimport { FUSIONCHART_KEY } from \"@gc360/shared-utilities\";\n\n/**\n * 🔥 IMPORTANT:\n * Register Fusion modules ONCE at module level.\n * DO NOT register themes.\n * DO NOT re-call inside component.\n */\nReactFC.fcRoot(FusionCharts, charts, Widgets, PowerCharts, TreeMap, Maps, USA);\n\nconst GenericChart = (props) => {\n const [isReady, setIsReady] = useState(false);\n\n // 🔐 License setup (runs once)\n useEffect(() => {\n const setupFusionKey = async () => {\n const key = await FUSIONCHART_KEY;\n\n FusionCharts.options.license({\n key,\n creditLabel: false,\n });\n\n setIsReady(true);\n };\n\n setupFusionKey();\n }, []);\n\n if (!isReady) {\n return <div>Loading Chart...</div>;\n }\n\n /**\n * 🛡 FUSION THEME REPLICATION\n * - Replicates FusionCharts \"fusion\" theme using explicit properties\n * - No theme file import needed\n * - Maintains all Fusion theme visual characteristics\n */\n const sanitizedDataSource = {\n ...props.dataSource,\n chart: {\n ...props.dataSource?.chart,\n\n // Remove any theme passed by consumers\n theme: undefined,\n\n /* --------------------------\n TYPOGRAPHY\n --------------------------- */\n baseFont: \"Inter, sans-serif\",\n baseFontSize: \"13\",\n baseFontColor: \"#666666\",\n\n outCnvBaseFont: \"Inter, sans-serif\",\n outCnvBaseFontSize: \"13\",\n outCnvBaseFontColor: \"#666666\",\n\n // Caption (chart title)\n captionFontSize: \"18\",\n captionFontColor: \"#555555\",\n captionFontBold: \"1\",\n captionPadding: \"12\",\n\n // Sub-caption\n subCaptionFontSize: \"14\",\n subCaptionFontColor: \"#999999\",\n subCaptionFontBold: \"0\",\n\n // Axis names\n xAxisNameFontSize: \"14\",\n xAxisNameFontColor: \"#555555\",\n xAxisNameFontBold: \"0\",\n yAxisNameFontSize: \"14\",\n yAxisNameFontColor: \"#555555\",\n yAxisNameFontBold: \"0\",\n\n // Axis values\n xAxisValueFontSize: \"12\",\n xAxisValueFontColor: \"#666666\",\n yAxisValuesFontSize: \"12\",\n yAxisValuesFontColor: \"#666666\",\n\n // Labels\n labelFontSize: \"12\",\n labelFontColor: \"#666666\",\n labelFontBold: \"0\",\n\n // Values on plot\n valueFontSize: \"12\",\n valueFontColor: \"#666666\",\n valueFontBold: \"0\",\n\n // Legend\n legendItemFontSize: \"12\",\n legendItemFontColor: \"#666666\",\n legendItemFontBold: \"0\",\n legendIconScale: \"1\",\n legendBorderAlpha: \"0\",\n legendShadow: \"0\",\n legendBgAlpha: \"0\",\n showLegend: \"1\",\n legendPosition: \"bottom\",\n\n /* --------------------------\n BACKGROUND & BORDERS\n --------------------------- */\n bgColor: \"#FFFFFF\",\n bgAlpha: \"100\",\n canvasBgColor: \"#FFFFFF\",\n canvasBgAlpha: \"0\",\n\n showBorder: \"0\",\n showCanvasBorder: \"0\",\n\n /* --------------------------\n PLOT STYLING\n --------------------------- */\n usePlotGradientColor: \"0\",\n showPlotBorder: \"0\",\n plotBorderAlpha: \"0\",\n plotFillAlpha: \"100\",\n\n // Bar/Column spacing (higher value = slimmer bars)\n //plotSpacePercent: \"60\",\n\n // Maximum column width in pixels (keeps bars slim even with few data points)\n maxColWidth: \"15\",\n\n // Pie/Doughnut\n pieRadius: \"45%\",\n doughnutRadius: \"60%\",\n enableSmartLabels: \"1\",\n enableMultiSlicing: \"0\",\n showPercentValues: \"1\",\n showPercentInTooltip: \"0\",\n\n /* --------------------------\n LINE CHART STYLING\n --------------------------- */\n lineThickness: \"2\",\n anchorRadius: \"3\",\n anchorBorderThickness: \"1\",\n anchorBgColor: \"#FFFFFF\",\n anchorBgAlpha: \"100\",\n anchorBorderColor: \"\",\n\n showAlternateHGridColor: \"0\",\n showAlternateVGridColor: \"0\",\n\n numDivLines: \"4\",\n adjustDiv: \"0\",\n\n showZeroPlane: \"1\",\n zeroPlaneColor: \"#E8E8E8\",\n zeroPlaneThickness: \"1\",\n zeroPlaneAlpha: \"100\",\n\n /* --------------------------\n TOOLTIP\n --------------------------- */\n toolTipBgColor: \"#FFFFFF\",\n toolTipBorderColor: \"#666666\",\n toolTipBorderThickness: \"1\",\n toolTipBorderRadius: \"3\",\n toolTipBorderAlpha: \"100\",\n toolTipColor: \"#333333\",\n showToolTipShadow: \"1\",\n\n /* --------------------------\n SHADOWS & 3D EFFECTS\n --------------------------- */\n use3DLighting: \"0\",\n showShadow: \"0\",\n plotShadow: \"0\",\n showPlotShadow: \"0\",\n canvasShadow: \"0\",\n showLegendShadow: \"0\",\n\n /* --------------------------\n ANIMATION\n --------------------------- */\n animation: \"1\",\n animationDuration: \"1\",\n\n /* --------------------------\n CANVAS PADDING & MARGINS\n --------------------------- */\n canvasPadding: \"0\",\n chartTopMargin: \"15\",\n chartBottomMargin: \"10\",\n chartLeftMargin: \"20\",\n chartRightMargin: \"20\",\n\n /* --------------------------\n LABEL DISPLAY\n --------------------------- */\n labelDisplay: \"rotate\",\n slantLabels: \"1\",\n labelStep: \"1\",\n\n /* --------------------------\n VALUE FORMATTING\n --------------------------- */\n formatNumberScale: \"1\",\n defaultNumberScale: \"\",\n numberScaleUnit: \"K,M,B\",\n numberScaleValue: \"1000,1000,1000\",\n decimals: \"0\",\n forceDecimals: \"0\",\n yAxisValueDecimals: \"0\",\n },\n };\n\n const chartConfigs = {\n type: props.type,\n width: props.width || \"100%\",\n height: props.height || \"100%\",\n dataFormat: \"json\",\n dataSource: sanitizedDataSource,\n events: props.events || {},\n };\n\n return (\n <ReactFC {...chartConfigs} fcEvent-dataPlotClick={props.dataPlotClick} />\n );\n};\n\nexport default GenericChart;\n","import React, { useState } from \"react\";\nimport ReactFC from \"react-fusioncharts\";\nimport FusionCharts from \"fusioncharts\";\nimport charts from \"fusioncharts/fusioncharts.charts.js\";\nimport Widgets from \"fusioncharts/fusioncharts.widgets.js\";\nimport * as PowerCharts from \"fusioncharts/fusioncharts.powercharts.js\";\nimport FusionTheme from \"fusioncharts/themes/fusioncharts.theme.fusion.js\";\nimport CandyTheme from \"fusioncharts/themes/fusioncharts.theme.candy.js\";\n\nimport { FUSIONCHART_KEY } from \"@gc360/shared-utilities\";\n\n// FusionCharts.options[\"creditLabel\"] = false;\nFusionCharts.options.license({\n key: FUSIONCHART_KEY,\n creditLabel: false,\n});\n\n//ReactFC.fcRoot(FusionCharts, charts, FusionTheme, GammelTheme, CandyTheme, ZuneTheme, OceanTheme, CarbonTheme);\n\nconst GenericChartCDMS = (props) => {\n const [chartType, setChartType] = useState(props.type);\n\n var chartConfigs = {\n type: \"column2d\", // The chart type\n width: \"700\", // Width of the chart\n height: \"100%\", // Height of the chart\n dataFormat: \"json\", // Data type\n theme: \"candy\",\n dataSource: {\n // Chart Configuration\n chart: {\n caption: \"Countries With Most Oil Reserves [2017-18]\",\n subCaption: \"In MMbbl = One Million barrels\",\n xAxisName: \"Country\",\n yAxisName: \"Reserves (MMbbl)\",\n numberSuffix: \"K\",\n theme: \"fusion\",\n },\n // Chart Data\n data: [\n {\n label: \"Venezuela\",\n value: \"290\",\n },\n {\n label: \"Saudi\",\n value: \"260\",\n },\n {\n label: \"Canada\",\n value: \"180\",\n },\n {\n label: \"Iran\",\n value: \"140\",\n },\n {\n label: \"Russia\",\n value: \"115\",\n },\n {\n label: \"UAE\",\n value: \"100\",\n },\n {\n label: \"US\",\n value: \"30\",\n },\n {\n label: \"China\",\n value: \"30\",\n },\n ],\n },\n };\n if (props.type === \"waterfall2d\" || props.type === \"waterfall3d\") {\n ReactFC.fcRoot(FusionCharts, PowerCharts, FusionTheme);\n } else {\n if (props.linear)\n ReactFC.fcRoot(FusionCharts, Widgets, FusionTheme, CandyTheme);\n else ReactFC.fcRoot(FusionCharts, charts, FusionTheme, CandyTheme);\n }\n\n chartConfigs.dataSource = props.dataSource;\n chartConfigs.type =\n chartType === null || chartType === \"\" ? props.type : chartType;\n chartConfigs.width = props.width;\n chartConfigs.height = props.height;\n\n return (\n <ReactFC {...chartConfigs} fcEvent-dataPlotClick={props.dataPlotClick} />\n );\n};\n\nexport default GenericChartCDMS;\n","import React from \"react\";\nimport Paper from \"@mui/material/Paper\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CallMadeIcon from \"@mui/icons-material/CallMade\";\n\nconst KPICard = ({ title, body, primaryAction, footer, accentColors }) => {\n const paperClassName = `p-3 ${\n accentColors ? accentColors[0] : \"!bg-fill-tertiary\"\n } !text-skin-tertiary border-2 ${\n accentColors ? accentColors[1] : \"border-[var(--fill-table-header-border)]\"\n } rounded-md`;\n\n return (\n <Paper className={paperClassName} square elevation={1}>\n <div className=\"flex justify-between items-center\">\n <div className=\"!text-skin-tertiary\">{title}</div>\n {footer}\n </div>\n <div className=\"!text-skin-tertiary flex justify-between items-center\">\n {body}\n {primaryAction && (\n <IconButton onClick={primaryAction} aria-label=\"kpi-card-button\">\n <CallMadeIcon className=\"!text-skin-tertiary\" />\n </IconButton>\n )}\n </div>\n </Paper>\n );\n};\n\nexport default KPICard;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { styled } from \"@mui/material/styles\";\nimport { Paper, Button, IconButton } from \"@mui/material\";\nimport GotoIcon from \"@mui/icons-material/CallMadeOutlined\";\nimport { useTheme } from \"@emotion/react\";\n\nconst ColorButton = styled(Button)(({ theme: Theme }) => ({\n color: \"#fff\",\n}));\n\nconst KPICardComponent = ({ title, body, primaryAction, secondaryAction }) => {\n return (\n <Paper\n square\n elevation={1}\n style={{ padding: \"10px\", background: \"#007dbc\" }}\n >\n <div style={{ minHeight: \"65px\" }}>{title}</div>\n\n <div\n style={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <ColorButton onClick={primaryAction}>{body}</ColorButton>\n <IconButton\n onClick={secondaryAction}\n data-testid=\"secondary-button\"\n aria-label=\"arrowButton\"\n >\n <GotoIcon style={{ color: \"#fff\" }} />\n </IconButton>\n </div>\n </Paper>\n );\n};\n\nconst ReportRunKPICard = ({ title, body, primaryAction, secondaryAction }) => {\n const theme = useTheme();\n return (\n <KPICardComponent\n title={title}\n body={body}\n primaryAction={primaryAction}\n secondaryAction={secondaryAction}\n />\n );\n};\n\nReportRunKPICard.defaultProps = {\n bodyColor: \"primary\",\n};\n\nReportRunKPICard.propTypes = {\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,\n body: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.node,\n ]).isRequired,\n primaryAction: PropTypes.func.isRequired,\n secondaryAction: PropTypes.func,\n};\n\nexport default ReportRunKPICard;\n","import React from \"react\";\n\nconst AccessError = ({ errorType, error }) => {\n return (\n <div\n className=\"flex flex-col gap-10 items-center justify-center \"\n style={{ height: \"80vh\" }}\n >\n <div className=\"flex flex-col details-cont w-11/12 sm:w-9/12 md:w-3/6 lg:w-3/6 xl:w-2/6 z-10 px-8 py-8 shadow-lg border-2 border-lightGrey\">\n <div className=\"flex gap-3 h-full items-center justify-center text-center w-full mb-5\">\n <span className=\"h-full text text-left py-1 px-2\">\n <h1 className=\"text-2xl font-bold text-left group-hover:primary capitalize text-primary pb-2\">\n Error!\n </h1>\n <p className=\"text-primary text-xs sm:text-sm md:text-base text-primary\">\n {error}\n </p>\n </span>\n </div>\n </div>\n </div>\n );\n};\n\nexport default AccessError;\n","import React from \"react\";\nimport { LoaderIcon } from \"@gc360/shared-styleguide\";\n\nconst AccessLoader = () => {\n return (\n <div>\n <div\n className=\"flex flex-col gap-10 items-center justify-center w-full bg-white\"\n style={{ height: \"80vh\" }}\n >\n <div\n className=\"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black !bg-opacity-40\"\n style={{ zIndex: 1300 }}\n >\n <div className=\"transform transition-all duration-500 opacity-100\">\n <div className=\"bg-white rounded-lg shadow-lg overflow-hidden\">\n <div className=\"p-6 py-10\">\n <div className=\"flex items-center justify-center mb-4\">\n <LoaderIcon />\n </div>\n <div className=\"text-center space-y-2\">\n <h2 className=\"text-xl font-semibold text-gray-800\">\n Please wait...\n </h2>\n <p className=\"text-gray-600 font-semibold\">\n Getting data ready!\n </p>\n <p className=\"text-sm\">\n This shouldn't take long. Thanks for your patience !\n </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default AccessLoader;\n","import Tooltip, { tooltipClasses } from \"@mui/material/Tooltip\";\nimport { styled } from \"@mui/material/styles\";\nimport React from \"react\";\n\nconst isDisabledElement = (child) =>\n React.isValidElement(child) && Boolean(child.props?.disabled);\n\nconst LightTooltip = styled(({ className, children, ...props }) => {\n const isDisabled = isDisabledElement(children);\n props.role = \"tooltip\";\n if (isDisabled) {\n return <span>{children}</span>;\n }\n\n return (\n <Tooltip {...props} classes={{ popper: className }}>\n <span aria-label={props.title} role=\"tooltip\">\n {children}\n </span>\n </Tooltip>\n );\n})(({ theme }) => ({\n [`& .${tooltipClasses.tooltip}`]: {\n backgroundColor: theme.palette.common.white,\n color: \"rgba(0, 0, 0, 0.87)\",\n boxShadow: theme.shadows[1],\n fontSize: 14,\n },\n}));\n\nexport default LightTooltip;\n","export const ActionIconData = {\n add: { icon: \"AddCircleOutline\", defaultColor: \"primary\" },\n copy: { icon: \"ContentCopy\", defaultColor: \"error\" },\n download: { icon: \"Download\", defaultColor: \"warning\" },\n fileupload: { icon: \"UploadFileOutlined\", defaultColor: \"secondary\" },\n viewBudgetLiaisons: { icon: \"Group\", defaultColor: \"primary\" },\n viewBudgetFacilitator: { icon: \"Group\", defaultColor: \"primary\" },\n acquisitionUser: { icon: \"Group\", defaultColor: \"primary\" },\n user: { icon: \"Group\", defaultColor: \"primary\" },\n tag: { icon: \"Tag\", defaultColor: \"secondary\" },\n info: { icon: \"InfoOutlined\", defaultColor: \"primary\" },\n RuleOutlinedIcon: { icon: \"Group\", defaultColor: \"primary\" },\n edit: { icon: \"EditOutlined\", defaultColor: \"primary\" }, // keep final version\n delete: { icon: \"DeleteOutline\", defaultColor: \"error\" },\n cached: { icon: \"Cached\", defaultColor: \"secondary\" },\n viewPrism: { icon: \"BackupTable\", defaultColor: \"primary\" },\n email: { icon: \"Email\", defaultColor: \"success\" },\n preview: { icon: \"PreviewRounded\", defaultColor: \"primary\" },\n mom: { icon: \"Comment\", defaultColor: \"success\" },\n attendees: { icon: \"PeopleAltOutlined\", defaultColor: \"primary\" },\n validate: { icon: \"PublishedWithChanges\", defaultColor: \"warning\" },\n showChanges: { icon: \"Difference\", defaultColor: \"secondary\" },\n withdraw: { icon: \"DeleteForeverOutlined\", defaultColor: \"secondary\" },\n favourite: { icon: \"Star\", defaultColor: \"warning\" }, ///we need to change in application\n unFavourite: { icon: \"StarBorder\", defaultColor: \"warning\" }, ///we need to change in application\n history: { icon: \"History\", defaultColor: \"warning\" },\n success: { icon: \"ThumbUpOutlined\", defaultColor: \"success\" },\n error: { icon: \"ThumbDownOutlined\", defaultColor: \"error\" },\n compare: { icon: \"Compare\", defaultColor: \"secondary\" },\n baselineChanges: { icon: \"Compare\", defaultColor: \"secondary\" },\n resend: { icon: \"Repeat\", defaultColor: \"secondary\" },\n downloadBaseline: {\n icon: \"DescriptionOutlined\",\n defaultColor: \"secondary\",\n },\n close: { icon: \"Close\", defaultColor: \"error\" },\n divisions: { icon: \"CorporateFare\", defaultColor: \"primary\" },\n taskalt: { icon: \"TaskAlt\", defaultColor: \"primary\" },\n planningFacilitators: { icon: \"PeopleAltOutlined\", defaultColor: \"primary\" },\n businessRuleGroups: { icon: \"RuleOutlined\", defaultColor: \"primary\" },\n inquiryUsers: { icon: \"ManageAccounts\", defaultColor: \"primary\" },\n attachment: { icon: \"Attachment\", defaultColor: \"primary\" },\n goToReminders: { icon: \"TimerOutlined\", defaultColor: \"primary\" },\n additionalDetails: { icon: \"ViewComfy\", defaultColor: \"primary\" },\n goToUsers: { icon: \"GroupAdd\", defaultColor: \"primary\" },\n accounttree: { icon: \"AccountTree\", defaultColor: \"primary\" }, //see in your app\n fundCodes: { icon: \"AssignmentOutlined\", defaultColor: \"primary\" }, //Go to FundCodes\n lookUps: { icon: \"AssignmentOutlined\", defaultColor: \"primary\" }, //Go to LookUps\n businessRules: { icon: \"AssignmentOutlined\", defaultColor: \"primary\" }, //Go to BusinessRules\n acquisition: { icon: \"AssignmentOutlined\", defaultColor: \"primary\" }, //Go to Acruistion Vehicles\n requestType: { icon: \"AssignmentOutlined\", defaultColor: \"primary\" }, //Go to Request type\n fundType: { icon: \"AssignmentOutlined\", defaultColor: \"primary\" }, //Go to Fund type\n planningUsers: { icon: \"GroupAddOutlined\", defaultColor: \"primary\" },\n copyTemplate: { icon: \"FileCopyOutlined\", defaultColor: \"primary\" },\n send: { icon: \"Send\", defaultColor: \"primary\" },\n details: { icon: \"ArticleOutlined\", defaultColor: \"primary\" }, //Go to Details\n config: { icon: \"Settings\", defaultColor: \"primary\" },\n submitPrism: { icon: \"TornadoOutlined\", defaultColor: \"secondary\" },\n viewAdjustments: { icon: \"Equalizer\", defaultColor: \"primary\" },\n assingFundTypes: { icon: \"AutoModeOutlined\", defaultColor: \"secondary\" },\n regenerate: { icon: \"Cached\", defaultColor: \"secondary\" },\n view: { icon: \"Visibility\", defaultColor: \"primary\" }, //For Pop-up View\n viewDetails: { icon: \"Visibility\", defaultColor: \"primary\" }, // For Inside screen details View\n generateTemplate: { icon: \"SimCardDownload\", defaultColor: \"secondary\" },\n viewLogs: { icon: \"BackupTable\", defaultColor: \"primary\" },\n budgetFacilitators: { icon: \"MonetizationOn\", defaultColor: \"primary\" },\n planningApprovers: { icon: \"TaskAlt\", defaultColor: \"primary\" },\n fileCopy: { icon: \"FileCopy\", defaultColor: \"primary\" },\n validateUser: { icon: \"VerifiedUser\", defaultColor: \"secondary\" },\n comment: { icon: \"Comment\", defaultColor: \"secondary\" },\n ruleParameters: { icon: \"Menu\", defaultColor: \"primary\" },\n planningLiaisons: { icon: \"Group\", defaultColor: \"primary\" },\n copyRequestDetails: { icon: \"ContentCopy\", defaultColor: \"secondary\" },\n goToAttendess: { icon: \"PeopleAltOutlined\", defaultColor: \"primary\" },\n budgetReview: { icon: \"CurrencyExchange\", defaultColor: \"error\" },\n profileValue: { icon: \"Group\", defaultColor: \"primary\" },\n default: { icon: \"HelpOutline\", defaultColor: \"secondary\" },\n\n // admin\n fundGroup: { icon: \"Group\", defaultColor: \"primary\" }, //navigating to fundGroups\n organization: { icon: \"NextWeek\", defaultColor: \"primary\" }, // navigation to Organizations\n administrator: { icon: \"AdminPanelSettings\", defaultColor: \"primary\" }, // navigation to Administrators\n budgetApprover: { icon: \"CurrencyExchange\", defaultColor: \"primary\" }, // navigation to Budget Approver\n executive: { icon: \"Group\", defaultColor: \"primary\" }, // navigation to executive\n // executiveUser: { icon: \"ManageAccounts\", defaultColor: \"primary\" }, // navigation to Executive Users\n executiveUser: { icon: \"ManageAccounts\", defaultColor: \"secondary\" }, // navigation to Executive Users{new}\n rule: { icon: \"Rule\", defaultColor: \"primary\" }, // navigation to Rules\n roles: { icon: \"AccessibilityNew\", defaultColor: \"secondary\" }, // navigation to Roles\n userApplication: { icon: \"Settings\", defaultColor: \"success\" }, // navigation to user application\n privilege: { icon: \"PeopleAltOutlined\", defaultColor: \"primary\" }, // navigation to privileges\n templateMapping: { icon: \"Link\", defaultColor: \"secondary\" }, // navigation to template-mapping\n template: { icon: \"Nfc\", defaultColor: \"primary\" }, // navigation to template\n templateSection: { icon: \"EventSeat\", defaultColor: \"primary\" }, // navigation to template-section\n sectionField: { icon: \"Toc\", defaultColor: \"primary\" }, // navigation to section-field\n validationRule: { icon: \"SwapCalls\", defaultColor: \"primary\" }, // navigation to validationRule\n BusinessRule: { icon: \"SwapCalls\", defaultColor: \"primary\" }, // navigation to BusinessRule\n distributionGroup: { icon: \"SwapCalls\", defaultColor: \"primary\" }, // navigation to distributionGroup\n message: { icon: \"SwapCalls\", defaultColor: \"primary\" },\n notificationEvent: { icon: \"SwapCalls\", defaultColor: \"primary\" },\n saveDetail: { icon: \"Check\", defaultColor: \"success\" }, // saving details\n list: { icon: \"AssignmentOutlined\", defaultColor: \"primary\" }, // List of Users\n acquisitionVehicles: { icon: \"CorporateFare\", defaultColor: \"primary\" }, //AcquisitionVechiles\n goToDivision: { icon: \"SafetyDivider\", defaultColor: \"primary\" }, // go to divisions\n goToFunding: { icon: \"AttachMoney\", defaultColor: \"primary\" }, // Go to Funding Sources\n goToTarget: { icon: \"Speed\", defaultColor: \"primary\" }, //Go to Targets\n goToRequest: { icon: \"HowToVote\", defaultColor: \"primary\" }, //Go to Request Types\n goToBusiness: { icon: \"PlaylistAddCheck\", defaultColor: \"primary\" }, //Go to Business Rule Groups\n goToDistribution: { icon: \"MailOutline\", defaultColor: \"primary\" }, //Go to Distribution Groups\n validationRules: { icon: \"AssignmentOutlined\", defaultColor: \"primary\" }, // list of Validation Rules\n fundDetail: { icon: \"AssignmentOutlined\", defaultColor: \"primary\" }, // go to fund details\n copyFundType: { icon: \"FileCopyOutlined\", defaultColor: \"primary\" }, // copy fund type\n fund: { icon: \"Settings\", defaultColor: \"info\" }, // fund\n fmdDivisionDirector: {\n icon: \"SupervisedUserCircleOutlined\",\n defaultColor: \"secondary\",\n },\n cfo: {\n icon: \"SupervisorAccountOutlined\",\n defaultColor: \"primary\",\n },\n dcfo: {\n icon: \"SupervisorAccountOutlined\",\n defaultColor: \"secondary\",\n },\n\n ///Pif\n showCostElement: { icon: \"RequestQuoteOutlined\", defaultColor: \"primary\" },\n resendReview: { icon: \"Repeat\", defaultColor: \"secondary\" },\n keyProjects: { icon: \"AssignmentOutlined\", defaultColor: \"primary\" }, //\n ViewSuppliers: {\n icon: \"DescriptionOutlined\",\n defaultColor: \"secondary\",\n },\n bmsCompPlan: {\n icon: \"DescriptionOutlined\",\n defaultColor: \"secondary\",\n },\n usersProgramOffices: {\n icon: \"Business\",\n defaultColor: \"primary\",\n },\n usersRoles: {\n icon: \"BrightnessAuto\",\n defaultColor: \"primary\",\n },\n businessOwner: { icon: \"BusinessCenterOutlined\", defaultColor: \"primary\" },\n pointOfContact: { icon: \"ContactEmergency\", defaultColor: \"primary\" },\n financialAgents: { icon: \"Group\", defaultColor: \"primary\" },\n subActivities: { icon: \"Group\", defaultColor: \"primary\" },\n businessLines: { icon: \"AssignmentOutlined\", defaultColor: \"primary\" },\n programs: { icon: \"AssignmentOutlined\", defaultColor: \"primary\" },\n\n // Reporting\n\n filterLists: { icon: \"List\", defaultColor: \"primary\" },\n filterListValue: { icon: \"List\", defaultColor: \"primary\" },\n shareFilters: { icon: \"Share\", defaultColor: \"success\" },\n groupDetails: { icon: \"RecentActorsOutlined\", defaultColor: \"primary\" },\n groupEntities: { icon: \"List\", defaultColor: \"primary\" },\n run: { icon: \"PlayCircleOutlined\", defaultColor: \"primary\" },\n shareSecurity: { icon: \"Security\", defaultColor: \"secondary\" },\n changeOwner: { icon: \"PersonOutlineOutlined\", defaultColor: \"secondary\" },\n validateConnection: { icon: \"DoneOutline\", defaultColor: \"primary\" },\n share: { icon: \"IosShareOutlined\", defaultColor: \"warning\" },\n connect: { icon: \"CableOutlined\", defaultColor: \"secondary\" },\n folder: { icon: \"FolderOpen\", defaultColor: \"primary\" },\n sync: { icon: \"Sync\", defaultColor: \"secondary\" },\n value: { icon: \"SettingsEthernet\", defaultColor: \"primary\" },\n pause: { icon: \"PauseCircleOutline\", defaultColor: \"secondary\" },\n stop: { icon: \"Stop\", defaultColor: \"error\" },\n pastSubmissions: { icon: \"ReorderOutlined\", defaultColor: \"primary\" },\n processSuccess: { icon: \"CheckCircleOutline\", defaultColor: \"success\" },\n processError: { icon: \"ErrorOutlineOutlined\", defaultColor: \"error\" },\n processProcessing: { icon: \"HourglassEmpty\", defaultColor: \"secondary\" },\n warning: { icon: \"ErrorOutlineOutlined\", defaultColor: \"warning\" },\n terminated: { icon: \"WarningOutlined\", defaultColor: \"warning\" },\n resubmit: { icon: \"SlowMotionVideoOutlined\", defaultColor: \"primary\" },\n protect: { icon: \"VerifiedUser\", defaultColor: \"success\" },\n unProtect: { icon: \"VerifiedUserOutlined\", defaultColor: \"primary\" },\n downloadLogs: { icon: \"DescriptionOutlined\", defaultColor: \"primary\" },\n terminate: { icon: \"PanToolOutlined\", defaultColor: \"primary\" },\n moreDetails: { icon: \"GroupWorkOutlined\", defaultColor: \"primary\" },\n more: { icon: \"MoreVert\", defaultColor: \"default\" },\n reportSet: { icon: \"HorizontalSplitOutlined\", defaultColor: \"primary\" },\n report: { icon: \"DescriptionOutlined\", defaultColor: \"primary\" },\n dashboard: { icon: \"SpaceDashboardOutlined\", defaultColor: \"secondary\" },\n chart: { icon: \"AssessmentOutlined\", defaultColor: \"secondary\" },\n addFavorite: { icon: \"PostAddOutlined\", defaultColor: \"secondary\" },\n calColumn: { icon: \"Functions\", defaultColor: \"primary\" },\n search: { icon: \"Search\", defaultColor: \"primary\" },\n filterOptions: { icon: \"Sort\", defaultColor: \"primary\" },\n collapse: { icon: \"AccountTree\", defaultColor: \"primary\" },\n expand: { icon: \"AccountTreeOutlined\", defaultColor: \"primary\" },\n copySettings: { icon: \"Print\", defaultColor: \"primary\" },\n addToFilterList: { icon: \"FilterList\", defaultColor: \"primary\" },\n removeFromFilterList: { icon: \"FilterListOff\", defaultColor: \"error\" },\n addAdvancedFilter: { icon: \"Add\", defaultColor: \"primary\" },\n refresh: { icon: \"Refresh\", defaultColor: \"error\" },\n\n // SmartHub\n previousLog: { icon: \"Archive\", defaultColor: \"warning\" },\n reschedule: { icon: \"HistoryOutlined\", defaultColor: \"secondary\" },\n cancel: { icon: \"Cancel\", defaultColor: \"error\" },\n scheduleApproval: { icon: \"RecommendOutlined\", defaultColor: \"success\" },\n checkStatus: { icon: \"CheckCircle\", defaultColor: \"success\" },\n terminateSession: { icon: \"Settings\", defaultColor: \"primary\" },\n updateLog: { icon: \"Check\", defaultColor: \"success\" },\n restart: { icon: \"RestartAlt\", defaultColor: \"warning\" },\n\n // Student planner\n viewDocument: { icon: \"MenuBook\", defaultColor: \"disabled\" },\n removeFromFavorites: { icon: \"Flag\", defaultColor: \"warning\" },\n addToFavorites: { icon: \"FlagOutlined\", defaultColor: \"warning\" },\n unpinDocument: { icon: \"Flag\", defaultColor: \"warning\" },\n pinDocument: { icon: \"FlagOutlined\", defaultColor: \"warning\" },\n play: { icon: \"PlayCircle\", defaultColor: \"primary\" },\n downloadDocument: { icon: \"Download\", defaultColor: \"secondary\" },\n goToTag: { icon: \"AssignmentOutlined\", defaultColor: \"primary\" }, //Go to tag\n validationGroups: { icon: \"PlaylistAddCheck\", defaultColor: \"primary\" }, //Go to Validation Groups\n budgetLiaisons: { icon: \"Person\", defaultColor: \"primary\" },\n usersAC: { icon: \"Business\", defaultColor: \"info\" },\n goToUser: { icon: \"BrightnessAuto\", defaultColor: \"info\" },\n\n // Integrations Planner (arc-app)\n configRequestType: { icon: \"Settings\", defaultColor: \"secondary\" }, //Config Request Type\n configDetails: { icon: \"Settings\", defaultColor: \"secondary\" }, //Configuration Details\n httpRequests: { icon: \"HttpOutlined\", defaultColor: \"primary\" }, //Go to HTTP Requests\n\n // Revenue Planner\n handshakeView: { icon: \"Handshake\", defaultColor: \"secondary\" }, //View Routing Slips/Agreements\n save: { icon: \"AssignmentTurnedIn\", defaultColor: \"success\" }, //Save\n\n // Execution Planner\n modifyAccounting: { icon: \"SyncAlt\", defaultColor: \"warning\" },\n\n // CR/ Allocation Planner\n funds: { icon: \"Tag\", defaultColor: \"secondary\" },\n\n //Old Names And Not Using\n equalizer: { icon: \"Equalizer\", defaultColor: \"primary\" },\n assignmentoutlined: { icon: \"AssignmentOutlined\", defaultColor: \"primary\" },\n currencyexchange: { icon: \"CurrencyExchange\", defaultColor: \"error\" },\n deleteoutline: { icon: \"DeleteOutline\", defaultColor: \"error\" },\n group: { icon: \"Group\", defaultColor: \"primary\" },\n difference: { icon: \"Difference\", defaultColor: \"secondary\" },\n deleteforeveroutlined: {\n icon: \"DeleteForeverOutlined\",\n defaultColor: \"secondary\",\n },\n tornadooutlined: { icon: \"TornadoOutlined\", defaultColor: \"secondary\" },\n thumbupoutlined: { icon: \"ThumbUpOutlined\", defaultColor: \"success\" },\n thumbdownoutlined: { icon: \"ThumbDownOutlined\", defaultColor: \"error\" },\n descriptionoutlined: {\n icon: \"DescriptionOutlined\",\n defaultColor: \"secondary\",\n },\n ruleoutlined: { icon: \"RuleOutlined\", defaultColor: \"primary\" },\n manageaccounts: { icon: \"ManageAccounts\", defaultColor: \"primary\" },\n timeroutlined: { icon: \"TimerOutlined\", defaultColor: \"primary\" },\n viewcomfy: { icon: \"ViewComfy\", defaultColor: \"primary\" },\n groupadd: { icon: \"GroupAdd\", defaultColor: \"primary\" },\n menu: { icon: \"Menu\", defaultColor: \"primary\" },\n articleoutlined: { icon: \"ArticleOutlined\", defaultColor: \"primary\" },\n settings: { icon: \"Settings\", defaultColor: \"primary\" },\n\n //Not using\n backuptable: { icon: \"BackupTable\", defaultColor: \"primary\" },\n infooutlined: { icon: \"InfoOutlined\", defaultColor: \"primary\" },\n automode: { icon: \"AutoModeOutlined\", defaultColor: \"secondary\" },\n upload: { icon: \"FileUploadOutlined\", defaultColor: \"success\" },\n import: { icon: \"ImportContacts\", defaultColor: \"warning\" },\n export: { icon: \"ImportExport\", defaultColor: \"secondary\" },\n star: { icon: \"Star\", defaultColor: \"warning\" },\n starborder: { icon: \"StarBorder\", defaultColor: \"warning\" },\n simcarddownload: { icon: \"SimCardDownload\", defaultColor: \"secondary\" },\n adminpanelsettings: { icon: \"AdminPanelSettings\", defaultColor: \"success\" },\n publish: { icon: \"Publish\", defaultColor: \"warning\" },\n viewheadline: { icon: \"ViewHeadline\", defaultColor: \"secondary\" },\n publishedwithchanges: {\n icon: \"PublishedWithChanges\",\n defaultColor: \"warning\",\n },\n getapp: { icon: \"GetApp\", defaultColor: \"primary\" },\n deleteforever: { icon: \"DeleteForever\", defaultColor: \"secondary\" },\n repeat: { icon: \"Repeat\", defaultColor: \"secondary\" },\n corporatefare: { icon: \"CorporateFare\", defaultColor: \"primary\" },\n monetizationon: { icon: \"MonetizationOn\", defaultColor: \"primary\" },\n groupaddoutlined: { icon: \"GroupAddOutlined\", defaultColor: \"primary\" },\n peoplealtoutlined: { icon: \"PeopleAltOutlined\", defaultColor: \"primary\" },\n playcircle: { icon: \"PlayCircle\", defaultColor: \"primary\" },\n filecopyoutlined: { icon: \"FileCopyOutlined\", defaultColor: \"primary\" },\n visibility: { icon: \"Visibility\", defaultColor: \"primary\" }, //For Pop-up View\n editoutlined: { icon: \"EditOutlined\", defaultColor: \"primary\" }, // keep final version\n};\n\nexport default ActionIconData;\n","import {\n AccessibilityNew,\n AccountTree,\n AccountTreeOutlined,\n Add,\n AddCircleOutline,\n AdminPanelSettings,\n Archive,\n ArticleOutlined,\n AssessmentOutlined,\n AssignmentOutlined,\n AssignmentTurnedIn,\n AttachMoney,\n Attachment,\n AutoModeOutlined,\n BackupTable,\n BookmarkAdded,\n BrightnessAuto,\n Business,\n BusinessCenterOutlined,\n CableOutlined,\n Cached,\n Cancel,\n Check,\n CheckCircle,\n CheckCircleOutline,\n Close,\n Comment,\n Compare,\n CompareArrows,\n ContactEmergency,\n ContentCopy,\n ContentCopyOutlined,\n CorporateFare,\n CurrencyExchange,\n DeleteForever,\n DeleteForeverOutlined,\n DeleteOutline,\n DeleteOutlined,\n DescriptionOutlined,\n Difference,\n DoneAllOutlined,\n DoneOutline,\n Download,\n EditOutlined,\n Email,\n Equalizer,\n ErrorOutlineOutlined,\n EventSeat,\n FileCopy,\n FileCopyOutlined,\n FileUpload,\n FileUploadOutlined,\n FilterList,\n FilterListOff,\n Flag,\n FlagOutlined,\n FolderOpen,\n Functions,\n GetApp,\n Group,\n GroupAdd,\n GroupAddOutlined,\n GroupWorkOutlined,\n Handshake,\n HelpOutline,\n History,\n HistoryOutlined,\n HorizontalSplitOutlined,\n HourglassEmpty,\n HowToVote,\n HttpOutlined,\n ImportContacts,\n ImportExport,\n InfoOutlined,\n InsertChartOutlined,\n IosShareOutlined,\n Link,\n List,\n MailOutline,\n ManageAccounts,\n Menu,\n MenuBook,\n MonetizationOn,\n MoreVert,\n NextWeek,\n Nfc,\n PanToolOutlined,\n PauseCircleOutline,\n PeopleAltOutlined,\n Person,\n PersonOutlineOutlined,\n PlayCircle,\n PlayCircleOutlined,\n PlaylistAddCheck,\n PostAddOutlined,\n PreviewRounded,\n PriceChangeOutlined,\n Print,\n Publish,\n PublishedWithChanges,\n RecentActorsOutlined,\n RecommendOutlined,\n Refresh,\n ReorderOutlined,\n Repeat,\n RequestQuoteOutlined,\n RestartAlt,\n Rule,\n RuleOutlined,\n SafetyDivider,\n Search,\n Security,\n Send,\n Settings,\n SettingsEthernet,\n Share,\n SimCardDownload,\n SlowMotionVideoOutlined,\n Sort,\n SpaceDashboardOutlined,\n Speed,\n Star,\n StarBorder,\n Stop,\n SupervisedUserCircleOutlined,\n SupervisorAccountOutlined,\n SwapCalls,\n Sync,\n SyncAlt,\n TableChartOutlined,\n Tag,\n TaskAlt,\n ThumbDownOutlined,\n ThumbUpOutlined,\n TimerOutlined,\n Toc,\n TornadoOutlined,\n TrackChanges,\n UploadFileOutlined,\n VerifiedUser,\n VerifiedUserOutlined,\n VerticalSplit,\n ViewComfy,\n ViewHeadline,\n Visibility,\n WarningOutlined,\n FilterAlt,\n} from \"@mui/icons-material\";\n\nexport const MuiIcons = {\n AccessibilityNew,\n AccountTree,\n AccountTreeOutlined,\n Add,\n AddCircleOutline,\n AdminPanelSettings,\n Archive,\n ArticleOutlined,\n AssessmentOutlined,\n AssignmentOutlined,\n AssignmentTurnedIn,\n AttachMoney,\n Attachment,\n AutoModeOutlined,\n BackupTable,\n BookmarkAdded,\n BrightnessAuto,\n Business,\n BusinessCenterOutlined,\n CableOutlined,\n Cached,\n Cancel,\n Check,\n CheckCircle,\n CheckCircleOutline,\n Close,\n Comment,\n Compare,\n CompareArrows,\n ContactEmergency,\n ContentCopy,\n ContentCopyOutlined,\n CorporateFare,\n CurrencyExchange,\n DeleteForever,\n DeleteForeverOutlined,\n DeleteOutline,\n DeleteOutlined,\n DescriptionOutlined,\n Difference,\n DoneAllOutlined,\n DoneOutline,\n Download,\n EditOutlined,\n Email,\n Equalizer,\n ErrorOutlineOutlined,\n EventSeat,\n FileCopy,\n FileCopyOutlined,\n FileUpload,\n FileUploadOutlined,\n FilterList,\n FilterListOff,\n Flag,\n FlagOutlined,\n FolderOpen,\n Functions,\n GetApp,\n Group,\n GroupAdd,\n GroupAddOutlined,\n GroupWorkOutlined,\n Handshake,\n HelpOutline,\n History,\n HistoryOutlined,\n HorizontalSplitOutlined,\n HourglassEmpty,\n HowToVote,\n HttpOutlined,\n ImportContacts,\n ImportExport,\n InfoOutlined,\n InsertChartOutlined,\n IosShareOutlined,\n Link,\n List,\n MailOutline,\n ManageAccounts,\n Menu,\n MenuBook,\n MonetizationOn,\n MoreVert,\n NextWeek,\n Nfc,\n PanToolOutlined,\n PauseCircleOutline,\n PeopleAltOutlined,\n Person,\n PersonOutlineOutlined,\n PlayCircle,\n PlayCircleOutlined,\n PlaylistAddCheck,\n PostAddOutlined,\n PreviewRounded,\n PriceChangeOutlined,\n Print,\n Publish,\n PublishedWithChanges,\n RecentActorsOutlined,\n RecommendOutlined,\n Refresh,\n ReorderOutlined,\n Repeat,\n RequestQuoteOutlined,\n RestartAlt,\n Rule,\n RuleOutlined,\n SafetyDivider,\n Search,\n Security,\n Send,\n Settings,\n SettingsEthernet,\n Share,\n SimCardDownload,\n SlowMotionVideoOutlined,\n Sort,\n SpaceDashboardOutlined,\n Speed,\n Star,\n StarBorder,\n Stop,\n SupervisedUserCircleOutlined,\n SupervisorAccountOutlined,\n SwapCalls,\n Sync,\n SyncAlt,\n TableChartOutlined,\n Tag,\n TaskAlt,\n ThumbDownOutlined,\n ThumbUpOutlined,\n TimerOutlined,\n Toc,\n TornadoOutlined,\n TrackChanges,\n UploadFileOutlined,\n VerifiedUser,\n VerifiedUserOutlined,\n VerticalSplit,\n ViewComfy,\n ViewHeadline,\n Visibility,\n WarningOutlined,\n FilterAlt,\n};\n\nexport default MuiIcons;\n","import LightTooltip from \"./light-tooltip\";\nimport { IconButton, CircularProgress } from \"@mui/material\";\nimport ActionIconData from \"../CommonUtils/action-icon-data\";\nimport Badge from \"@mui/material/Badge\";\nimport MuiIcons from \"../CommonUtils/mui-icons\";\n\nconst ActionIcon = ({\n purpose = \"default\",\n type = \"\",\n size = \"18px\",\n title = \"\",\n onClick,\n color,\n disabled,\n style,\n count,\n showBadge = false,\n countColor = \"secondary\",\n loading,\n ...props\n}) => {\n const { icon: iconName, defaultColor } =\n ActionIconData[type || purpose] || ActionIconData.default;\n\n // Dynamically resolve the icon component from MUI\n const IconComponent = MuiIcons[iconName];\n\n if (!IconComponent) {\n console.warn(`Icon \"${iconName}\" not found in @mui/icons-material`);\n return null;\n }\n\n return (\n <LightTooltip\n title={title || `${type.charAt(0).toUpperCase() + type.slice(1)} Action`}\n >\n {showBadge !== true ? (\n <IconButton\n onClick={onClick}\n disabled={disabled || loading}\n color={color || defaultColor}\n {...props}\n size={size}\n aria-label={\n title ||\n `${type.charAt(0).toUpperCase() + type.slice(1)} Action` ||\n purpose\n }\n >\n <IconComponent style={{ fontSize: size }} />\n {loading && (\n <CircularProgress\n sx={{\n position: \"absolute\",\n zIndex: 1,\n }}\n color=\"inherit\"\n size={20}\n />\n )}\n </IconButton>\n ) : (\n <IconButton\n onClick={onClick}\n disabled={disabled || loading}\n {...props}\n size={size}\n aria-label={\n title ||\n `${type.charAt(0).toUpperCase() + type.slice(1)} Action` ||\n purpose\n }\n >\n <Badge\n badgeContent={count}\n color={countColor}\n showZero\n sx={{\n \"& .MuiBadge-badge\": {\n color: \"white !important\",\n fontSize: \"10px !important\",\n height: \"14px !important\",\n minWidth: \"14px !important\",\n padding: \"3px 3px !important\",\n textAlign: \"center !important\",\n lineHeight: \"20px\",\n },\n }}\n >\n <IconComponent\n style={{ fontSize: size }}\n color={color || defaultColor}\n />\n {loading && (\n <CircularProgress\n sx={{\n position: \"absolute\",\n zIndex: 1,\n }}\n color=\"inherit\"\n size={20}\n />\n )}\n </Badge>\n </IconButton>\n )}\n </LightTooltip>\n );\n};\n\nexport default ActionIcon;\n","import Button from \"@mui/material/Button\";\nimport PropTypes from \"prop-types\";\nimport { Children, isValidElement } from \"react\";\n\nconst getColorOpacity = (color, opacity) => {\n const colorMap = {\n primary: `#1976d2${opacity}`,\n secondary: `#9c27b0${opacity}`,\n error: `#d32f2f${opacity}`,\n warning: `#ed6c02${opacity}`,\n info: `#0288d1${opacity}`,\n success: `#2e7d32${opacity}`,\n inherit: `#1976d2${opacity}`,\n };\n return colorMap[color] || colorMap.primary;\n};\n\nconst StyledButton = ({\n color = \"primary\",\n variant = \"\",\n disabled = false,\n sx = {},\n ...props\n}) => {\n const children = props.children;\n const extractText = (children) => {\n let text = \"\";\n Children.forEach(children, (child) => {\n if (typeof child === \"string\" || typeof child === \"number\") {\n text += child;\n } else if (isValidElement(child)) {\n text += extractText(child.props.children) || \"Button\";\n }\n });\n\n return text || \"Button\";\n };\n const isCustomStyled =\n !disabled &&\n [\n \"primary\",\n \"secondary\",\n \"error\",\n \"warning\",\n \"info\",\n \"success\",\n \"inherit\",\n \"default\",\n ].includes(color);\n\n const customSx =\n variant === \"outlined\" && isCustomStyled\n ? {\n textTransform: \"capitalize\",\n backgroundColor: getColorOpacity(color, \"20\"),\n \"&:hover\": {\n backgroundColor: getColorOpacity(color, \"35\"),\n },\n ...sx,\n }\n : { textTransform: \"capitalize\", ...sx };\n const ariaLabel =\n props[\"aria-label\"] || (children ? extractText(children) : \"Button\");\n return (\n <Button\n variant={variant}\n color={color}\n disabled={disabled}\n sx={{\n ...customSx,\n minWidth: \"40px\",\n height: \"40px\",\n padding: \"6px\",\n borderRadius: \"4px\",\n }}\n aria-label={ariaLabel}\n {...props}\n />\n );\n};\n\nStyledButton.propTypes = {\n color: PropTypes.oneOf([\n \"primary\",\n \"secondary\",\n \"error\",\n \"warning\",\n \"info\",\n \"success\",\n \"inherit\",\n \"default\",\n ]),\n variant: PropTypes.oneOf([\"text\", \"outlined\", \"contained\"]),\n disabled: PropTypes.bool,\n sx: PropTypes.object,\n};\n\nexport default StyledButton;\n","const ActionIconButtonData = {\n view: { icon: \"Visibility\", defaultColor: \"primary\" },\n add: { icon: \"AddCircleOutline\", defaultColor: \"primary\" },\n addReminder: { icon: \"AddCircleOutline\", defaultColor: \"warning\" }, //For Adding Reminder\n copy: { icon: \"ContentCopyOutlined\", defaultColor: \"error\" },\n upload: { icon: \"FileUploadOutlined\", defaultColor: \"success\" }, // For Uploading\n import: { icon: \"ImportContacts\", defaultColor: \"warning\" },\n export: { icon: \"ImportExport\", defaultColor: \"secondary\" },\n download: { icon: \"GetApp\", defaultColor: \"warning\" },\n fileUpload: { icon: \"UploadFileOutlined\", defaultColor: \"secondary\" }, //For FileUploading\n publish: { icon: \"Publish\", defaultColor: \"warning\" }, //For Report Publish\n email: { icon: \"Email\", defaultColor: \"success\" },\n refresh: { icon: \"Refresh\", defaultColor: \"error\" },\n publishReview: { icon: \"Publish\", defaultColor: \"primary\" }, //For Publishing the Review (FFP)\n compare: { icon: \"CompareArrows\", defaultColor: \"secondary\" },\n generate: { icon: \"PostAddOutlined\", defaultColor: \"primary\" }, // For Generating New Baseline\n target: { icon: \"TrackChanges\", defaultColor: \"secondary\" }, // targets in FFp\n allocations: { icon: \"TrackChanges\", defaultColor: \"secondary\" }, // allocations in CRP\n sharedRequest: { icon: \"VerticalSplit\", defaultColor: \"primary\" }, //for Hide and Show the SharedRequest\n reviewResend: { icon: \"AssignmentTurnedIn\", defaultColor: \"error\" }, // For sending back to review validation\n reviewComplete: { icon: \"AssignmentTurnedIn\", defaultColor: \"primary\" }, // for\n viewTable: { icon: \"BackupTable\", defaultColor: \"primary\" },\n reviewApprove: { icon: \"AssignmentTurnedIn\", defaultColor: \"success\" },\n budgetAdministrator: {\n icon: \"AdminPanelSettings\",\n defaultColor: \"success\",\n },\n budgetApprover: { icon: \"CurrencyExchange\", defaultColor: \"error\" },\n executivesApprover: { icon: \"Group\", defaultColor: \"primary\" },\n fmdDivisionDirector: {\n icon: \"SupervisedUserCircleOutlined\",\n defaultColor: \"secondary\",\n },\n cfo: {\n icon: \"SupervisorAccountOutlined\",\n defaultColor: \"primary\",\n },\n dcfo: {\n icon: \"SupervisorAccountOutlined\",\n defaultColor: \"secondary\",\n },\n viewBudgetLiaisons: { icon: \"Group\", defaultColor: \"primary\" },\n executiveUsers: { icon: \"ManageAccounts\", defaultColor: \"secondary\" },\n submitPrism: { icon: \"TornadoOutlined\", defaultColor: \"secondary\" },\n withdraw: { icon: \"DeleteForeverOutlined\", defaultColor: \"secondary\" },\n delete: { icon: \"DeleteOutlined\", defaultColor: \"error\" },\n showChanges: { icon: \"Difference\", defaultColor: \"secondary\" },\n recommend: { icon: \"RecommendOutlined\", defaultColor: \"success\" },\n defer: { icon: \"ThumbDownOutlined\", defaultColor: \"error\" },\n divisions: { icon: \"AccountTree\", defaultColor: \"secondary\" },\n advanceFilter: { icon: \"FilterList\", defaultColor: \"primary\" },\n planningLiaisons: { icon: \"Group\", defaultColor: \"primary\" },\n preview: { icon: \"PreviewRounded\", defaultColor: \"primary\" },\n uploadFile: { icon: \"FileUpload\", defaultColor: \"primary\" },\n outYearsForecast: { icon: \"PriceChangeOutlined\", defaultColor: \"primary\" },\n validate: { icon: \"PublishedWithChanges\", defaultColor: \"warning\" },\n default: { icon: \"HelpOutline\", defaultColor: \"primary\" },\n viewDocument: { icon: \"MenuBook\", defaultColor: \"primary\" },\n selectProgramOffice: { icon: \"Business\", defaultColor: \"secondary\" },\n selectDivisions: { icon: \"Business\", defaultColor: \"secondary\" },\n mom: { icon: \"Comment\", defaultColor: \"success\" },\n attendees: { icon: \"PeopleAltOutlined\", defaultColor: \"primary\" },\n filter: { icon: \"FilterAlt\", defaultColor: \"primary\" },\n\n // pif\n\n downloadBaselineMonthly: { icon: \"SimCardDownload\", defaultColor: \"primary\" },\n downloadMonthlyDetails: {\n icon: \"TableChartOutlined\",\n defaultColor: \"primary\",\n },\n completeGovernce: { icon: \"AssignmentTurnedIn\", defaultColor: \"success\" },\n finalize: { icon: \"DoneAllOutlined\", defaultColor: \"success\" },\n resendReview: { icon: \"Repeat\", defaultColor: \"secondary\" },\n showCostElement: { icon: \"RequestQuoteOutlined\", defaultColor: \"primary\" },\n\n //SmartHub\n viewDashboard: { icon: \"InsertChartOutlined\", defaultColor: \"secondary\" },\n restart: { icon: \"RestartAlt\", defaultColor: \"warning\" },\n\n /// Execution Planner\n downloadSpendLines: { icon: \"SimCardDownload\", defaultColor: \"primary\" },\n recallDivision: { icon: \"AssignmentTurnedIn\", defaultColor: \"warning\" },\n initiateReview: { icon: \"BookmarkAdded\", defaultColor: \"primary\" },\n finalizePublish: { icon: \"Publish\", defaultColor: \"success\" },\n comment: { icon: \"Comment\", defaultColor: \"primary\" },\n\n // CR/ Allocation Planner\n assignFundTypes: { icon: \"AutoModeOutlined\", defaultColor: \"secondary\" },\n\n //Old Names And Not Using\n adminpanelsettings: { icon: \"AdminPanelSettings\", defaultColor: \"success\" },\n group: { icon: \"Group\", defaultColor: \"primary\" },\n currencyexchange: { icon: \"CurrencyExchange\", defaultColor: \"error\" },\n tornadooutlined: { icon: \"TornadoOutlined\", defaultColor: \"secondary\" }, //\n recommendoutlined: { icon: \"RecommendOutlined\", defaultColor: \"success\" },\n thumbdownoutlined: { icon: \"ThumbDownOutlined\", defaultColor: \"error\" },\n accounttree: { icon: \"AccountTree\", defaultColor: \"secondary\" },\n\n //Not using\n manageaccounts: { icon: \"ManageAccounts\", defaultColor: \"secondary\" }, //\n deleteforeveroutlined: {\n icon: \"DeleteForeverOutlined\",\n defaultColor: \"secondary\",\n },\n difference: { icon: \"Difference\", defaultColor: \"secondary\" },\n simcarddownload: { icon: \"SimCardDownload\", defaultColor: \"primary\" },\n // preview: { icon: \"PreviewRounded\", defaultColor: \"primary\" },\n price: { icon: \"PriceChangeOutlined\", defaultColor: \"primary\" },\n tablechartoutlined: {\n icon: \"TableChartOutlined\",\n defaultColor: \"primary\",\n },\n backuptable: { icon: \"BackupTable\", defaultColor: \"primary\" },\n filterlist: { icon: \"FilterList\", defaultColor: \"primary\" },\n attachment: { icon: \"Attachment\", defaultColor: \"primary\" },\n};\n\nexport default ActionIconButtonData;\n","import React from \"react\";\nimport LightTooltip from \"./light-tooltip\";\nimport Button from \"./StyledButton/index\";\nimport { CircularProgress } from \"@mui/material\";\nimport ActionIconButtonData from \"../CommonUtils/action-icon-button-data\";\nimport MuiIcons from \"../CommonUtils/mui-icons\";\n\nconst ActionIconButton = ({\n purpose = \"default\",\n type = \"\",\n title = \"\",\n onClick,\n size = \"small\",\n variant = \"outlined\",\n icon = \"\",\n color = \"\",\n loading,\n ...props\n}) => {\n const { icon: Icon, defaultColor } =\n ActionIconButtonData[type || purpose] || ActionIconButtonData.default;\n\n const IconComponent = MuiIcons[Icon];\n return (\n <LightTooltip\n title={title || `${type.charAt(0).toUpperCase() + type.slice(1)} Action`}\n placement=\"bottom\"\n >\n <Button\n color={color || defaultColor}\n variant={variant}\n sx={{ padding: \"4px\" }}\n size={size}\n onClick={onClick}\n aria-label={\n title || `${type.charAt(0).toUpperCase() + type.slice(1)} Action`\n }\n {...props}\n >\n {loading && (\n <CircularProgress\n sx={{ position: \"absolute\", zIndex: 1 }}\n color=\"inherit\"\n size={20}\n />\n )}\n {icon ? icon : <IconComponent sx={{ fontSize: 20 }} />}\n </Button>\n </LightTooltip>\n );\n};\n\nexport default ActionIconButton;\n","import React from \"react\";\n\nconst ActionsContainer = ({ children, className = \"\", ...props }) => {\n return (\n <div className={`flex items-center gap-2 ${className}`} {...props}>\n {children}\n </div>\n );\n};\n\nexport default ActionsContainer;\n","import React, { useState, useRef, useEffect } from \"react\";\n\nconst AdvancedDropDownList = ({ label, options, onSelect }) => {\n const [isOpen, setIsOpen] = useState(false);\n const [list, setList] = useState(options);\n const [inputValue, setInputValue] = useState(\"\");\n const inputRef = useRef();\n const dropdownListRef = useRef();\n\n const handleSelect = (option) => {\n setInputValue(option.value);\n setIsOpen(false);\n onSelect(option);\n };\n\n const handleInputChange = (e) => {\n const value = e.target.value;\n setInputValue(value);\n const filterBySearch = options.filter((item) =>\n item.value.toLowerCase().includes(value.toLowerCase())\n );\n setList(filterBySearch);\n setIsOpen(true);\n };\n\n useEffect(() => {\n const handleClickOutside = (event) => {\n if (\n inputRef.current &&\n !inputRef.current.contains(event.target) &&\n dropdownListRef.current &&\n !dropdownListRef.current.contains(event.target)\n ) {\n setIsOpen(false);\n const findValue = options.filter((item) => item.value === inputValue);\n if (findValue.length < 1) {\n setInputValue(\"\");\n }\n }\n };\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [inputRef, inputValue, options]);\n\n return (\n <div className=\"relative inline-block w-full\" ref={dropdownListRef}>\n <label htmlFor=\"textArea\" className=\"text-darkGrey text-sm w-full\">\n {label}\n </label>\n <span className=\"relative group\">\n <textarea\n style={{ resize: \"none\" }}\n type=\"text\"\n className=\"w-full bg-white border border-gray-300 rounded-md shadow-sm pl-3 pr-10 py-2 text-left cursor-pointer focus:outline-none focus:ring-1 hover:ring-primary hover:border-primary focus:ring-primary focus:border-primary\"\n value={inputValue}\n autoComplete=\"off\"\n rows={1}\n onChange={handleInputChange}\n onClick={() => {\n setIsOpen(true);\n setList(options);\n }}\n ref={inputRef}\n />\n <span className=\"flex gap-3 absolute top-0 right-3 -translate-y-2/4 pb-1\">\n <button\n onClick={() => setInputValue(\"\")}\n className=\"hidden opacity-0 group-hover:block group-hover:opacity-100 transition-all \"\n aria-label=\"clear\"\n >\n <img\n src=\"/assets/images/helper/clear_icon.svg\"\n className=\"flex w-3 cursor-pointer \"\n alt=\"clear-icon\"\n />\n </button>\n <button\n onClick={() => {\n setIsOpen(true);\n setList(options);\n }}\n aria-label=\"dropdown\"\n >\n <img\n src=\"/assets/images/helper/drop-down-arrow_icon.svg\"\n className=\"flex w-3 cursor-pointer\"\n alt=\"drop-down-icon\"\n />\n </button>\n </span>\n </span>\n\n {isOpen && (\n <div className=\"absolute w-full rounded-md bg-white shadow-lg z-10\">\n <ul\n className=\"max-h-60 rounded-md py-1 text-base ring-1 ring-black ring-opacity-5 overflow-auto focus:outline-none sm:text-sm\"\n role=\"listbox\"\n >\n {list.map((option, index) => (\n <li\n key={option.value + index}\n className=\"text-gray-900 cursor-pointer select-none relative py-2 pl-3 pr-9 hover:bg-primary hover:text-white\"\n onClick={() => handleSelect(option)}\n role=\"option\"\n aria-selected\n >\n <span className=\"block truncate\">{option.value}</span>\n </li>\n ))}\n </ul>\n </div>\n )}\n </div>\n );\n};\n\nexport default AdvancedDropDownList;\n","import React from \"react\";\nimport { Autocomplete, FormControl, TextField } from \"@mui/material\";\n\nconst checkIfError = (msg) => msg && typeof msg === \"string\" && msg.length > 0;\n\nconst AdvanceDropDownList = ({\n variant,\n size,\n id,\n label,\n value,\n onChange,\n options,\n errorMessage,\n disableClearable,\n disabled,\n noDataMsg,\n}) => {\n return (\n <FormControl style={{ width: \"100%\" }} error={checkIfError(errorMessage)}>\n <Autocomplete\n id={id}\n options={options}\n getOptionLabel={(option) => option.value || \"\"}\n value={\n value && Array.isArray(options) && options.length > 0\n ? options.filter((item) => item.id === value)[0]\n : \"\"\n }\n disabled={disabled}\n disableClearable={disableClearable}\n onChange={(e, newValue) => {\n const event = { ...e };\n event.target = { name: id || \"\", value: newValue.id || \"\" };\n onChange(event);\n }}\n renderInput={(params) => (\n <>\n {!label ? (\n <label htmlFor={id} style={{ display: \"none\" }}>\n {id}\n </label>\n ) : null}\n <TextField\n {...params}\n label={label}\n variant={variant}\n InputLabelProps={{ shrink: true }}\n size={size}\n inputProps={{\n ...params.inputProps,\n autoComplete: \"new-password\",\n style: { padding: \"4px 10px\", fontSize: \"14px\" }, // Style of the input\n }}\n />\n </>\n )}\n noOptionsText={noDataMsg}\n />\n </FormControl>\n );\n};\n\nAdvanceDropDownList.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n option: [],\n errorMessage: null,\n disabled: false,\n};\n\nexport default AdvanceDropDownList;\n","import { styled } from \"@mui/material/styles\";\nimport TableRow from \"@mui/material/TableRow\";\n\nconst StyledBorderedTableRow = styled(TableRow)(({ theme }) => ({\n \"&:nth-of-type(even)\": {\n backgroundColor: \"var(--fill_table_body_row_2)\",\n },\n \"&:hover\": {\n backgroundColor: \"var(--hover_fill_table_body_row) !important\",\n },\n}));\n\nexport default StyledBorderedTableRow;\n","import { styled } from \"@mui/material/styles\";\nimport TableCell, { tableCellClasses } from \"@mui/material/TableCell\";\n\nconst StyledBorderedTableCell = styled(TableCell)(\n ({ theme, top, fontSize, noWrapHeader, noWrapBody }) => ({\n [`&.${tableCellClasses.head}`]: {\n backgroundColor: \"var(--fill_table_header)\",\n color: \"var(--color-table-header)\",\n fontSize: fontSize || \"var(--table-header-fontSize, 18px) !important\",\n textAlign: \"center\",\n padding: \"3px 10px\",\n // \"&:nth-last-of-type(1)\": {\n // borderRight: \"none\",\n // },\n outline: \"1px solid inherit\",\n borderRight: \"1px solid #ccc\",\n borderBottom: \"3px solid var(--fill-table-header-border) !important\",\n position: \"sticky\",\n top: top || 0,\n [theme.breakpoints.down(\"lg\")]: {\n fontSize: \"calc(var(--table-header-fontSize, 18px) - 2px) !important\",\n },\n whiteSpace: noWrapHeader ? \"nowrap\" : \"normal\",\n boxShadow: \"5px 5px 8px rgba(0, 0, 0, 0.2)\",\n fontWeight: \"400 !important\",\n },\n [`&.${tableCellClasses.body}`]: {\n fontSize: fontSize || \"var(--table-body-fontSize, 16px) !important\",\n color: \"var(--color-table-body-row)\",\n padding: \"3px 4px 3px 4px\",\n borderRight: \"1px solid #ccc\",\n fontFamily: \"Poppins, sans-serif\",\n // \"&:nth-last-of-type(1)\": {\n // borderRight: \"none\",\n // },\n [theme.breakpoints.down(\"lg\")]: {\n fontSize: \"calc(var(--table-body-fontSize, 14px) - 2px) !important\",\n },\n whiteSpace: noWrapBody ? \"nowrap\" : \"normal\",\n },\n [`&.${tableCellClasses.footer}`]: {\n padding: \"3px 4px\",\n border: \"1px solid #ccc\",\n fontWeight: 900,\n fontSize: fontSize || \"var(--table-footer-fontSize)\",\n color: \"#000\",\n fontFamily: \"Poppins, sans-serif\",\n },\n })\n);\n\nexport default StyledBorderedTableCell;\n","import React from \"react\";\nimport { toCurrencyUSD } from \"@gc360/shared-utilities\";\n\nconst SignedAmountValue = (val, decimals = 2) => {\n if (\n val === null ||\n val === undefined ||\n val === \"\" ||\n val === \"-\" ||\n val === 0\n ) {\n return <span>-</span>;\n }\n\n if (val && val < 0) {\n return (\n <span style={{ color: \"#A30000\" }}>\n ({toCurrencyUSD(-val, decimals)})\n </span>\n );\n }\n\n return (\n <span style={{ color: \"inherit !important\" }}>\n {toCurrencyUSD(val, decimals)}\n </span>\n );\n};\n\nexport default SignedAmountValue;\n","import React from \"react\";\nimport { Check as CheckIcon, Close as CloseIcon } from \"@mui/icons-material\";\nimport { Table, TableContainer, TableBody } from \"@mui/material\";\nimport StyledBorderedTableRow from \"./styled-bordered-table-row\";\nimport StyledBorderedTableCell from \"./styled-bordered-table-cell\";\nimport SignedAmountValue from \"./signed-amount-value\";\n\nconst PopupDialog = ({ dialogOpen, dialogState, setDialogOpen }) => {\n const { loading, success, error, message, data } = dialogState;\n\n const handleClose = () => {\n setDialogOpen(false);\n };\n\n return (\n <>\n {dialogOpen && (\n <button\n className=\"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black !bg-opacity-40 w-full\"\n style={{\n zIndex: 1300,\n border: \"none\",\n cursor: \"default\",\n }}\n aria-label=\"close\"\n // onClick={handleClose}\n >\n <div\n className=\"transform transition-all duration-500 opacity-100\"\n style={{\n minWidth: \"450px\",\n background: \"transparent\",\n border: \"none\",\n cursor: \"default\",\n }}\n >\n <div className=\"bg-white rounded-lg shadow-lg overflow-hidden\">\n <div className=\"p-6 py-8\">\n <div className=\"flex items-center justify-center mb-4\">\n <div className=\"relative\">\n {loading && (\n <>\n <div className=\"relative w-20 h-20\">\n <div className=\"absolute inset-0 rounded-full border-[6px] border-blue-500 border-t-transparent animate-spin\"></div>\n\n <div className=\"absolute inset-0 flex items-center justify-center\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-14 w-11 text-blue-500\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z\"\n />\n </svg>\n </div>\n </div>\n </>\n )}\n {error && (\n <>\n <div className=\"w-16 h-16 rounded-full bg-red-100 flex items-center justify-center\">\n <CloseIcon\n className=\"w-8 h-8 text-red-500 animate-check\"\n color=\"error\"\n sx={{ fontSize: 40 }}\n />\n </div>\n <div className=\"absolute inset-0 rounded-full border-4 border-red-500 animate-spin-slow\" />\n </>\n )}\n {success && (\n <>\n <div className=\"w-16 h-16 rounded-full bg-green-100 flex items-center justify-center\">\n <CheckIcon\n className=\"w-8 h-8 text-green-500 animate-check\"\n sx={{ fontSize: 40 }}\n />\n </div>\n <div className=\"absolute inset-0 rounded-full border-4 border-green-500 animate-spin-slow\" />\n </>\n )}\n </div>\n </div>\n <div\n className=\"text-center items-center\"\n style={{ overflowWrap: \"anywhere\", width: \"400px\" }}\n >\n <p className=\"text-gray-600 font-semibold\">{message}</p>\n </div>\n <div className=\"mt-4\">\n {data && Object.keys(data).length > 0 && (\n <>\n <TableContainer\n className=\"border\"\n sx={{ width: \"100%\", margin: \"0 auto\", mb: 2 }}\n >\n <Table size=\"small\">\n <TableBody>\n {Object.entries(data).map(([key, value]) => (\n <StyledBorderedTableRow key={key}>\n <StyledBorderedTableCell>\n <strong> {key}</strong>\n </StyledBorderedTableCell>\n <StyledBorderedTableCell align=\"right\">\n {SignedAmountValue(value)}\n </StyledBorderedTableCell>\n </StyledBorderedTableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n </>\n )}\n </div>\n </div>\n {(success || error) && (\n <button\n onClick={() => handleClose()}\n aria-label=\"close\"\n className=\"mt-4 mb-4 w-36 px-6 py-2 bg-blue-500 text-white rounded-full font-medium hover:bg-blue-600 transform hover:scale-105 transition-all duration-200\"\n >\n Close\n </button>\n )}\n </div>\n </div>\n </button>\n )}\n </>\n );\n};\n\nexport default PopupDialog;\n","import React from \"react\";\nimport { DescriptionOutlined as DescriptionOutlinedIcon, ArrowForwardIos as ArrowForwardIosIcon } from \"@mui/icons-material\";\n\nconst DocumentationCard = ({\n viewLoading,\n data,\n openDocument,\n setViewDocumentLoadingId,\n}) => {\n const handleOpenDocument = () => {\n setViewDocumentLoadingId(data?.helpDocumentId);\n openDocument(data?.helpDocumentId, data?.startFileName);\n };\n\n return (\n <div className=\"group w-full max-w-md bg-white border border-gray-200 rounded-xl shadow-sm hover:shadow-lg transition-all duration-300 overflow-hidden hover:-translate-y-1\">\n {/* Header with Icon */}\n <div className=\"bg-gradient-to-r from-lime-50 to-green-50 p-6 border-b border-gray-100 \">\n <div className=\"flex items-center space-x-4\">\n <div className=\"flex-shrink-0\">\n <div className=\"w-12 h-12 bg-lime-100 rounded-lg flex items-center justify-center\">\n <DescriptionOutlinedIcon className=\"w-6 h-6 text-[#436128] \" />\n </div>\n </div>\n <div className=\"flex-1 min-w-0\">\n <h3 className=\"text-lg font-semibold text-gray-900 truncate\">\n {data?.name || \"Documentation Guide\"}\n </h3>\n <p className=\"text-sm text-gray-500 \">Training Resource</p>\n </div>\n </div>\n </div>\n\n {/* Content */}\n <div className=\"p-6\">\n <p className=\"text-gray-600 text-sm leading-relaxed mb-6\">\n {data?.description ||\n \"Comprehensive documentation and training materials to help you get started quickly and efficiently.\"}\n </p>\n\n {/* Action Button */}\n <button\n aria-label=\"openDocument\"\n onClick={handleOpenDocument}\n className=\"group/btn w-full flex items-center justify-center space-x-2 px-4 py-3 bg-lime-600 hover:bg-lime-700 text-white rounded-lg font-medium text-sm transition-all duration-200 hover:shadow-md focus:outline-none focus:ring-2 focus:ring-lime-500 focus:ring-offset-2 \"\n style={{ backgroundColor: \"#436128\" }}\n disabled={viewLoading}\n >\n {viewLoading ? (\n <svg\n className=\"animate-spin h-5 w-5 text-white mr-2\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n ></circle>\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8v4a4 4 0 00-4 4H4z\"\n ></path>\n </svg>\n ) : null}\n <span>{viewLoading ? \"Loading...\" : \"Read Documentation\"}</span>\n {!viewLoading && (\n <ArrowForwardIosIcon\n sx={{ fontSize: 16 }}\n className=\"w-4 h-4 transition-transform duration-200 group-hover/btn:translate-x-1\"\n />\n )}\n </button>\n </div>\n\n {/* Bottom accent */}\n <div className=\"h-1 bg-gradient-to-r from-[#436128] to-[#648f46]\"></div>\n </div>\n );\n};\n\nexport default DocumentationCard;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport DocumentationCard from \"./DocumentationCard\";\n\nconst AppHelp = ({\n viewLoading,\n viewDocumentLoadingId,\n setViewDocumentLoadingId,\n loading,\n documentData,\n openDocument,\n}) => {\n return (\n <>\n <Grid container spacing={2}>\n {((documentData && documentData.length > 0 && documentData) || []).map(\n (data) => (\n <Grid\n item\n xs={12}\n md={6}\n lg={4}\n className=\"flex items-center justify-center\"\n key={data?.helpDocumentId}\n >\n <DocumentationCard\n key={data?.helpDocumentId}\n data={data}\n openDocument={openDocument}\n viewLoading={\n viewLoading && data?.helpDocumentId === viewDocumentLoadingId\n }\n setViewDocumentLoadingId={setViewDocumentLoadingId}\n />\n </Grid>\n )\n )}\n </Grid>\n </>\n );\n};\n\nexport default AppHelp;\n","import React from \"react\";\nimport { ArrowBackIosNew as ArrowBackIosNewIcon } from \"@mui/icons-material\";\nimport LightTooltip from \"./light-tooltip\";\n\nconst BackButton = ({ onClick, title }) => {\n if (title) {\n return (\n <LightTooltip title={title || \"\"}>\n <button\n className=\"flex items-center justify-center w-8 h-8 border bg-orange-100 border-orange-600 hover:border-transparent rounded-md hover:bg-orange-600 hover:text-white mr-1 transition-all duration-300\"\n onClick={onClick}\n aria-label=\"back\"\n >\n <ArrowBackIosNewIcon sx={{ fontSize: 18 }} />\n </button>\n </LightTooltip>\n );\n }\n\n return (\n <button\n className=\"flex items-center justify-center w-8 h-8 border bg-orange-100 border-orange-600 hover:border-transparent rounded-md hover:bg-orange-600 hover:text-white mr-1 transition-all duration-300\"\n onClick={onClick}\n aria-label=\"back\"\n >\n <ArrowBackIosNewIcon sx={{ fontSize: 18 }} />\n </button>\n );\n};\n\nexport default BackButton;\n","import React, { lazy, Suspense } from \"react\";\n\nconst BarChart = lazy(() => import(\"./BarChart\"));\n\nconst BarCharts = (props) => {\n return (\n <Suspense fallback={<div>Loading...</div>}>\n <BarChart {...props} />\n </Suspense>\n );\n};\n\nexport default BarCharts;\n","import React from \"react\";\n\nconst BlueHeaderText = ({ children, className }) => (\n // whitespace-nowrap\n <span className={`!text-blue-700 ${className}`}>{children}</span>\n);\n\nexport default BlueHeaderText;\n","import React from \"react\";\n\nconst BoldText = ({ children, className }) => (\n <strong className={`whitespace-nowrap ${className}`}>{children}</strong>\n);\n\nexport default BoldText;\n","import React from \"react\";\n\nconst Pipe = () => {\n return <div className=\"mx-1 h-7 bg-black p-[1px]\"></div>;\n};\n\nexport default Pipe;\n","import React from \"react\";\nimport { Skeleton } from \"@mui/material\";\nimport Pipe from \"./pipe\";\nimport BackButton from \"./back-button\";\nimport LightTooltip from \"./light-tooltip\";\nimport { GenericTitle } from \"@gc360/shared-styleguide\";\n\nconst BreadCrumbList = ({ title, beforeNavigate, options, navigate }) => {\n return (\n <div className=\"flex items-center gap-2\">\n {beforeNavigate && <BackButton title={title} onClick={beforeNavigate} />}\n\n {(options || [])?.map((item, index) => {\n if (item?.hidden) {\n return null;\n }\n\n return (\n <React.Fragment key={index}>\n {(options || [])?.length > 1 &&\n index === (options || [])?.length - 1 && <Pipe />}\n {item?.type === \"link\" ? (\n item?.tooltip ? (\n <LightTooltip title={item?.tooltip}>\n <GenericTitle\n type=\"link\"\n onClick={() => navigate(item?.path)}\n >\n {item?.loading ? (\n <Skeleton\n height={40}\n width={120}\n style={{ transform: \"scale(1, 0.9)\" }}\n />\n ) : (\n item?.title\n )}\n </GenericTitle>\n </LightTooltip>\n ) : item?.tooltip ? (\n <LightTooltip title={item?.tooltip}>\n {\" \"}\n <GenericTitle\n type=\"link\"\n onClick={() => navigate(item?.path)}\n >\n {item?.loading ? (\n <Skeleton\n height={40}\n width={120}\n style={{ transform: \"scale(1, 0.9)\" }}\n />\n ) : (\n item?.title\n )}\n </GenericTitle>\n </LightTooltip>\n ) : (\n <GenericTitle type=\"link\" onClick={() => navigate(item?.path)}>\n {item?.loading ? (\n <Skeleton\n height={40}\n width={120}\n style={{ transform: \"scale(1, 0.9)\" }}\n />\n ) : (\n item?.title\n )}\n </GenericTitle>\n )\n ) : item?.tooltip ? (\n <LightTooltip title={item?.tooltip}>\n <GenericTitle>\n {item?.loading ? (\n <Skeleton\n height={40}\n width={120}\n style={{ transform: \"scale(1, 0.9)\" }}\n />\n ) : (\n item?.title\n )}\n </GenericTitle>\n </LightTooltip>\n ) : (\n <GenericTitle>\n {item?.loading ? (\n <Skeleton\n height={40}\n width={120}\n style={{ transform: \"scale(1, 0.9)\" }}\n />\n ) : (\n item?.title\n )}\n </GenericTitle>\n )}\n {index < (options || [])?.length - 2 && (\n <GenericTitle>{\" >> \"}</GenericTitle>\n )}\n </React.Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default BreadCrumbList;\n","import React from \"react\";\nimport { RecommendOutlined as RecommendOutlinedIcon, Recommend as RecommendIcon, ThumbDownOutlined as ThumbDownOutlinedIcon } from \"@mui/icons-material\";\n\nconst BudgetStatusIcon = ({ iconType }) => {\n if (iconType === \"V\") {\n return (\n <RecommendOutlinedIcon color=\"primary\" style={{ fontSize: \"18px\" }} />\n );\n }\n\n if (iconType === \"R\") {\n return <RecommendIcon style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n\n if (iconType === \"D\") {\n return <ThumbDownOutlinedIcon style={{ fontSize: \"18px\", color: \"red\" }} />;\n }\n\n return null;\n};\n\nexport default BudgetStatusIcon;\n","import React, { useState } from \"react\";\nimport { Typography, Tooltip, CardContent, Card } from \"@mui/material\";\n\nconst CardComponent = ({\n data,\n name,\n description,\n owner,\n type,\n handleCardClick,\n}) => {\n const [isHovered, setIsHovered] = useState(false);\n\n const handleMouseOver = () => {\n setIsHovered(true);\n };\n\n const handleMouseOut = () => {\n setIsHovered(false);\n };\n\n return (\n <Card\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n boxShadow: \"0px 3px 6px rgba(0, 0, 0, 0.4)\",\n },\n cursor: \"pointer\",\n height: \"100px\",\n backgroundColor: \"#fafafa\",\n }}\n onMouseOver={handleMouseOver}\n onMouseOut={handleMouseOut}\n onClick={(e) => handleCardClick(e, data)}\n >\n <div style={{ width: \"30%\", padding: \"10px\", textAlign: \"center\" }}>\n <img\n src=\"/assets/images/reporting/menuIcons/datasource_datamodel.svg\"\n alt={name}\n style={{ width: \"50%\" }}\n />\n </div>\n <div style={{ width: \"70%\" }}>\n <CardContent>\n <Tooltip title={name}>\n <Typography variant=\"subtitle2\" component=\"div\">\n {name\n ? name.length > 12\n ? `${name.slice(0, 11)}..`\n : name\n : \"...\"}\n </Typography>\n </Tooltip>\n <hr style={{ margin: \"8px 0\" }} />\n <Typography variant=\"body2\">\n <Tooltip title={owner}>\n <span>\n {owner\n ? owner.length > 15\n ? `${owner.slice(0, 14)}..`\n : owner\n : \"...\"}\n </span>\n </Tooltip>\n </Typography>\n <Typography variant=\"caption\" color=\"textSecondary\">\n <Tooltip title={description}>\n <span>\n {description\n ? description.length > 15\n ? `${description.slice(0, 14)}..`\n : description\n : \"...\"}\n </span>\n </Tooltip>\n </Typography>\n </CardContent>\n </div>\n </Card>\n );\n};\n\nexport default CardComponent;\n","import React, { useState } from \"react\";\nimport { Box, Divider, Tooltip } from \"@mui/material\";\nimport Card from \"@mui/material/Card\";\nimport CardContent from \"@mui/material/CardContent\";\nimport CardActions from \"@mui/material/CardActions\";\nimport Typography from \"@mui/material/Typography\";\nimport Grid from \"@mui/material/Grid\";\nimport TablePagination from \"@mui/material/TablePagination\";\nimport PropTypes from \"prop-types\";\nimport {\n AssessmentOutlined as AssessmentOutlinedIcon,\n HorizontalSplitOutlined as HorizontalSplitOutlinedIcon,\n DescriptionOutlined as DescriptionOutlinedIcon,\n SpaceDashboardOutlined as SpaceDashboardOutlinedIcon,\n} from \"@mui/icons-material\";\n\nconst CustomGridView = ({\n icon,\n data,\n columns,\n handleChange,\n maxHeight,\n minHeight,\n height,\n}) => {\n const alternateColors = [\"#eaf1fa\", \"#fff\"];\n const renderColumnContent = (rowData, column) => {\n if (column.render) {\n return column.render(rowData);\n } else {\n return rowData[column.field];\n }\n };\n\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(6);\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n const currentCards = data.slice(\n page * rowsPerPage,\n page * rowsPerPage + rowsPerPage\n );\n\n return (\n <Box>\n <Divider />\n\n <Grid\n container\n spacing={2}\n sx={{\n padding: \"10px\",\n maxHeight: maxHeight ? `${maxHeight}px` : \"\",\n minHeight: minHeight ? `${window.innerHeight - 350}px` : \"\",\n height: height ? `${height}px` : `${window.innerHeight - 350}px`,\n overflow: \"auto\",\n position: \"relative\",\n }}\n >\n {currentCards.map((row, rowIndex) => (\n <Grid item xs={12} sm={6} md={4} key={rowIndex}>\n <Card\n style={{\n backgroundColor:\n alternateColors[rowIndex % alternateColors.length],\n }}\n >\n <Box>\n <Box sx={{ display: \"flex\" }}>\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: 120,\n }}\n >\n {row.reportType === \"table\" ? (\n <DescriptionOutlinedIcon\n sx={{ fontSize: \"100px\", color: \"#1974CE\" }}\n />\n ) : row.reportType === \"ReportSet\" ? (\n <HorizontalSplitOutlinedIcon\n style={{ fontSize: \"100px\" }}\n color=\"primary\"\n />\n ) : row.reportType === \"Dashboard\" ? (\n <SpaceDashboardOutlinedIcon\n style={{ fontSize: \"100px\" }}\n color=\"secondary\"\n />\n ) : (\n <AssessmentOutlinedIcon\n style={{ fontSize: \"100px\", color: \"#e62200\" }}\n />\n )}\n </Box>\n\n <CardContent>\n {columns.map((col, colIndex) => (\n <>\n {col.title === \"Name\" && (\n <>\n <Tooltip title={renderColumnContent(row, col)}>\n <Typography variant=\"h6\" component=\"div\">\n {renderColumnContent(row, col)\n ? renderColumnContent(row, col).length > 20\n ? `${renderColumnContent(row, col).slice(\n 0,\n 19\n )}..`\n : renderColumnContent(row, col)\n : \"...\"}\n </Typography>\n </Tooltip>\n </>\n )}\n {col.title === \"Code\" && (\n <>\n <Typography variant=\"subtitle1\">\n <Tooltip title={renderColumnContent(row, col)}>\n {renderColumnContent(row, col)\n ? renderColumnContent(row, col).length > 25\n ? `${renderColumnContent(row, col).slice(\n 0,\n 24\n )}..`\n : renderColumnContent(row, col)\n : \"...\"}\n </Tooltip>\n </Typography>\n </>\n )}\n {col.title === \"Description\" && (\n <>\n <Typography variant=\"subtitle2\">\n <Tooltip title={renderColumnContent(row, col)}>\n {renderColumnContent(row, col)\n ? renderColumnContent(row, col).length > 25\n ? `${renderColumnContent(row, col).slice(\n 0,\n 24\n )}..`\n : renderColumnContent(row, col)\n : \"...\"}\n </Tooltip>\n </Typography>\n </>\n )}\n {col.title === \"Folder\" && (\n <>\n <Typography variant=\"caption\" color=\"textSecondary\">\n <Tooltip title={renderColumnContent(row, col)}>\n {renderColumnContent(row, col)\n ? renderColumnContent(row, col).length > 20\n ? `${renderColumnContent(row, col).slice(\n 0,\n 19\n )}..`\n : renderColumnContent(row, col)\n : \"...\"}\n </Tooltip>\n </Typography>\n </>\n )}\n </>\n ))}\n </CardContent>\n </Box>\n\n <Divider />\n <CardActions\n sx={{ display: \"flex\", justifyContent: \"space-around\" }}\n >\n {columns.map((col, colIndex) =>\n col.title === \"Actions\" ? (\n <React.Fragment key={colIndex}>\n {col.render(row)}\n </React.Fragment>\n ) : null\n )}\n </CardActions>\n </Box>\n </Card>\n </Grid>\n ))}\n </Grid>\n\n <Divider />\n\n <TablePagination\n rowsPerPageOptions={[6, 12, 18]}\n component=\"div\"\n count={data.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n </Box>\n );\n};\n\nCustomGridView.propTypes = {\n data: PropTypes.arrayOf(PropTypes.object).isRequired,\n columns: PropTypes.arrayOf(\n PropTypes.shape({\n field: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n render: PropTypes.func, // Optional render function\n })\n ).isRequired,\n handleChange: PropTypes.func.isRequired,\n};\n\nexport default CustomGridView;\n","import React, { lazy, Suspense } from \"react\";\n\nconst ChartColumn2D = lazy(() => import(\"./ChartColumn2D\"));\n\nconst ChartColumn = (props) => {\n return (\n <Suspense fallback={<div>Loading...</div>}>\n <ChartColumn2D {...props} />\n </Suspense>\n );\n};\n\nexport default ChartColumn;\n","import React, { lazy, Suspense } from \"react\";\n\nconst ColumnChart = lazy(() => import(\"./ColumnChart\"));\n\nconst ColumnCharts = (props) => {\n return (\n <Suspense fallback={<div>Loading...</div>}>\n <ColumnChart {...props} />\n </Suspense>\n );\n};\n\nexport default ColumnCharts;\n","import React from \"react\";\nimport { IconButton } from \"@mui/material\";\n\nconst IconButtonWithAriaLabel = ({ children, ...props }) => {\n const inferFromIcon = (children) => {\n if (!React.isValidElement(children)) return \"\";\n const child =\n typeof children === \"function\" && !children.$$typeof\n ? children()\n : children;\n\n if (!child || !child.type) return undefined;\n\n const type = child.type;\n const name =\n type.displayName ||\n type.name ||\n type?.type?.render?.displayName ||\n type?.type?.render?.name ||\n \"Icon Button\";\n if (!name) return \"Icon Button\";\n\n // Remove common suffixes used by MUI icons\n const cleaned = name\n .replace(/Icon$/, \"\")\n .replace(/Outlined$/, \"\")\n .replace(/Filled$/, \"\")\n .replace(/Rounded$/, \"\")\n .replace(/Sharp$/, \"\")\n .replace(/TwoTone$/, \"\");\n\n // Convert PascalCase → \"pascal case\"\n return cleaned.replace(/([a-z])([A-Z])/g, \"$1 $2\").toLowerCase();\n };\n\n const ariaLabel =\n props[\"aria-label\"] || (children ? inferFromIcon(children) : \"Icon Button\");\n\n return (\n <IconButton aria-label={ariaLabel} {...props}>\n {children}\n </IconButton>\n );\n};\n\nexport default IconButtonWithAriaLabel;\n","import React, { useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport Draggable from \"react-draggable\";\nimport {\n Dialog,\n DialogTitle,\n IconButton,\n LinearProgress,\n Paper,\n Popover,\n} from \"@mui/material\";\nimport {\n Close as CloseIcon,\n DragIndicator as DragIndicatorIcon,\n} from \"@mui/icons-material\";\nimport { GenericTitle } from \"@gc360/shared-styleguide\";\n\nconst PaperComponent = (props) => {\n return (\n <Draggable\n handle={`#${props.id}`}\n cancel={'[class*=\"MuiDialogContent-root\"]'}\n >\n <Paper\n {...props}\n style={{\n margin: \"0px\",\n padding: \"0px\",\n // border: \"3px solid #1976d2\",\n borderRadius: \"5px\",\n }}\n />\n </Draggable>\n );\n};\n\nfunction DraggableModal({\n id,\n title,\n open,\n onClose,\n fullWidth,\n maxWidth,\n scroll,\n // disableBackdropClick,\n disableEscapeKeyDown,\n children,\n isBusy,\n className,\n}) {\n // const classes = useStyles();\n const [anchorEl, setAnchorEl] = useState(false);\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const openPopover = Boolean(anchorEl);\n\n const handleClose = () => {\n setAnchorEl(false);\n };\n\n return (\n <Dialog\n open={open}\n onClose={onClose}\n PaperComponent={PaperComponent}\n PaperProps={{ id: id }}\n className={className}\n aria-labelledby={id}\n fullWidth={fullWidth}\n maxWidth={maxWidth}\n scroll={scroll}\n disableEscapeKeyDown={disableEscapeKeyDown}\n sx={{ backdropFilter: \"blur(3px)\" }}\n >\n {/* <div\n style={{ background: \"#d5e3ff\", height: \"7px\", width: \"100%\" }}\n ></div> */}\n <div\n style={{\n background: \"#1976d2\",\n height: \"7px\",\n width: \"100%\",\n boxShadow: \"5px 5px 8px rgba(0, 0, 0, 0.2)\",\n }}\n ></div>\n <DialogTitle\n style={{\n cursor: \"move\",\n margin: 0,\n padding: 0,\n boxShadow: \"5px 5px 8px rgba(0, 0, 0, 0.2)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n position: \"relative\",\n zIndex: 999,\n }}\n id={id}\n >\n <div>\n {\" \"}\n {isBusy ? (\n <LinearProgress\n style={{\n marginTop: \"-16px\",\n width: \"599px\",\n marginLeft: \"-15px\",\n height: \"6px\",\n }}\n />\n ) : (\n \"\"\n )}\n <Popover\n id=\"info\"\n open={openPopover}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n sx={{\n \"& .MuiPaper-root\": {\n maxWidth: \"300px\",\n padding: \"10px\",\n borderLeft: \"5px solid #1976d2\",\n },\n }}\n >\n <div>\n <GenericTitle>Help</GenericTitle>\n <p className=\"pl-1\">{title}</p>\n </div>\n </Popover>\n <GenericTitle>\n <div className=\"flex items-center gap-2\">\n {/*eslint-disable-next-line*/}\n <div\n className=\"flex items-center justify-center bg-[#d5e3ff] h-[50px] w-[25px] cursor-pointer\"\n onClick={handleClick}\n style={{\n padding: \"2px\",\n \"&:hover\": {\n boxShadow: \"0px 0px 10px 1px rgba(0,0,0,0.5) !important\",\n },\n }}\n >\n <DragIndicatorIcon fontSize=\"medium\" />\n </div>\n {title}\n </div>\n </GenericTitle>\n </div>\n <div>\n {\" \"}\n <IconButton\n aria-label=\"close\"\n size=\"small\"\n sx={{\n // background: \"#d5e3ff\",\n // borderRadius: \"5px\",\n color: \"black\",\n height: \"50px\",\n width: \"50px\",\n fontSize: \"20px\",\n // \"&:hover\": {\n // background: \"#1976d2 !important\",\n // color: \"white !important\",\n // boxShadow: \"0px 0px 10px 1px rgba(0,0,0,0.5) !important\",\n // },\n }}\n onClick={onClose}\n >\n <CloseIcon />\n </IconButton>\n </div>\n </DialogTitle>\n <div style={{ maxHeight: \"80vh\", overflow: \"auto\" }}>{children}</div>\n <div\n style={{\n background: \"#d5e3ff\",\n height: \"4px\",\n width: \"100%\",\n boxShadow: \"rgba(0, 0, 0, 0.2) 0px -10px 9px -5px\",\n }}\n ></div>\n </Dialog>\n );\n}\n\nDraggableModal.defaultProps = {\n title: \"\",\n fullWidth: true,\n maxWidth: \"lg\",\n scroll: \"body\",\n disableEscapeKeyDown: false,\n isBusy: false,\n className: \"\",\n};\n\nDraggableModal.propTypes = {\n id: PropTypes.string.isRequired,\n title: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.object,\n PropTypes.string,\n ]),\n open: PropTypes.bool.isRequired,\n onClose: PropTypes.func.isRequired,\n fullWidth: PropTypes.bool,\n maxWidth: PropTypes.oneOf([\"sm\", \"md\", \"lg\"]),\n scroll: PropTypes.oneOf([\"scroll\", \"body\"]),\n disableEscapeKeyDown: PropTypes.bool,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n isBusy: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default DraggableModal;\n","import React from \"react\";\nimport { DialogActions } from \"@mui/material\";\n\nconst DialogAction = ({ children }) => {\n return (\n <DialogActions\n sx={{\n background: \"white\",\n position: \"relative\",\n boxShadow: \"rgba(0, 0, 0, 0.2) 0px -10px 9px -5px\",\n // borderTop: \"3px solid #1976d2\",\n }}\n >\n {children}\n </DialogActions>\n );\n};\n\nexport default DialogAction;\n","import { useState } from \"react\";\nimport { Grid, DialogContent } from \"@mui/material\";\nimport IconButton from \"./icon-button\";\nimport LightTooltip from \"./light-tooltip\";\nimport { OpenInFullOutlined as OpenInFullOutlinedIcon } from \"@mui/icons-material\";\nimport DraggableModal from \"./draggable-modal\";\nimport DialogActions from \"./dialog-actions\";\nimport Button from \"./StyledButton/index\";\n\nconst CommentExpand = ({\n title = \"\",\n value = \"\",\n handleChange = () => {},\n disabled = false,\n}) => {\n const [notesModal, setNotesModal] = useState(false);\n\n const handleNotes = () => {\n setNotesModal(true);\n };\n\n const handleCloseNotes = () => {\n setNotesModal(false);\n };\n return (\n <div className=\"w-full\">\n <div className=\"flex justify-between\">\n <span>{title}</span>\n <LightTooltip title=\"Open\">\n <IconButton size=\"small\" onClick={() => handleNotes()}>\n <OpenInFullOutlinedIcon\n style={{ fontSize: \"18px\" }}\n color={\"secondary\"}\n />\n </IconButton>\n </LightTooltip>\n </div>\n <textarea\n id=\"comments\"\n size=\"small\"\n variant=\"outlined\"\n // multiline={true}\n disabled={disabled}\n value={value}\n onChange={(e) => handleChange(e.target.value)}\n style={{\n width: \"100%\",\n minHeight: \"120px\",\n padding: \"8px\",\n border: \"1px solid #5a5a5a\",\n borderRadius: \"4px\",\n resize: \"vertical\",\n fontFamily: \"inherit\",\n fontSize: \"14px\",\n }}\n />\n\n <DraggableModal\n id=\"notesModal\"\n maxWidth={\"md\"}\n title={title}\n open={notesModal}\n onClose={() => handleCloseNotes()}\n >\n <DialogContent>\n <Grid container spacing={1}>\n <Grid item xs={12}>\n <textarea\n id=\"reviewComment\"\n value={value}\n onChange={(e) => handleChange(e.target.value)}\n rows={20}\n style={{\n width: \"100%\",\n minHeight: \"120px\",\n padding: \"8px\",\n border: \"1px solid #5a5a5a\",\n borderRadius: \"4px\",\n resize: \"vertical\",\n fontFamily: \"inherit\",\n fontSize: \"12px\",\n }}\n disabled={disabled}\n />\n </Grid>\n </Grid>\n </DialogContent>\n <DialogActions>\n <Button\n size=\"small\"\n variant=\"outlined\"\n color=\"error\"\n style={{ textTransform: \"capitalize\" }}\n onClick={() => handleCloseNotes()}\n >\n Cancel\n </Button>\n </DialogActions>\n </DraggableModal>\n </div>\n );\n};\n\nexport default CommentExpand;\n","import React, { useEffect, useState } from \"react\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Grid,\n TextField,\n IconButton,\n InputAdornment,\n TablePagination,\n Typography,\n TableFooter,\n TableSortLabel,\n} from \"@mui/material\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport StyledBorderedTableCell from \"./styled-bordered-table-cell\";\n\nconst CommonTableCell = ({ rowData, colObject }) => {\n if (colObject.render) {\n return (\n <StyledBorderedTableCell>\n {colObject.render(rowData)}\n </StyledBorderedTableCell>\n );\n } else {\n return (\n <StyledBorderedTableCell>\n {rowData[colObject.field]}\n </StyledBorderedTableCell>\n );\n }\n};\n\nconst CommonSearchTable = ({ data, columns, pageSize = 10, title }) => {\n const [tempData, setTempData] = useState([]);\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const [order, setOrder] = useState(\"asc\");\n const [orderCol, setOrderCol] = useState(\"\");\n\n const pages = [5, 10, 25];\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(pages[page]);\n\n const sortHandler = (col) => {\n if (order === \"asc\") {\n const sorted =\n tempData && tempData.sort((a, b) => (a[col] > b[col] ? 1 : -1));\n setTempData(sorted);\n setOrder(\"desc\");\n setOrderCol(col);\n }\n if (order === \"desc\") {\n const sorted =\n tempData && tempData.sort((a, b) => (a[col] < b[col] ? 1 : -1));\n setTempData(sorted);\n setOrder(\"asc\");\n setOrderCol(col);\n }\n };\n\n const updateSearchTerm = (e) => {\n const val = e.target.value;\n setSearchTerm(val);\n\n if (val) {\n const filtered = data.filter((item) => {\n const keys = Object.keys(item);\n const any = keys.some(\n (key) =>\n item[key] &&\n item[key].toString().toLowerCase().includes(val.toLowerCase())\n );\n return any;\n });\n setTempData(filtered);\n } else {\n setTempData(data);\n }\n };\n\n const handleChangePage = (e, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (e) => {\n setRowsPerPage(parseInt(e.target.value, 10));\n setPage(0);\n };\n\n useEffect(() => {\n setTempData(data);\n setRowsPerPage(pageSize);\n }, [data, pageSize]);\n\n return (\n <Grid container spacing={2} style={{ marginBottom: \"20px\" }}>\n <Grid item xs={12} sx={{ marginBottom: \"4px\" }}>\n <Grid\n container\n spacing={2}\n alignItems=\"center\"\n justifyContent=\"flex-start\"\n >\n <Grid item xs={8}>\n <Typography variant=\"body1\">{title}</Typography>\n </Grid>\n <Grid item xs={4} style={{ textAlign: \"right\" }}>\n <TextField\n type=\"search\"\n label=\"Search\"\n id=\"searchTerm\"\n value={searchTerm}\n onChange={updateSearchTerm}\n size=\"small\"\n InputLabelProps={{ shrink: true }}\n InputProps={{\n \"aria-label\": \"Search\",\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label=\"search action\"\n onClick={() => {}}\n edge=\"end\"\n size=\"small\"\n >\n <SearchIcon />\n </IconButton>\n </InputAdornment>\n ),\n }}\n variant=\"outlined\"\n />\n </Grid>\n </Grid>\n </Grid>\n\n <Grid item xs={12}>\n <TableContainer className=\"border border-black p-0\">\n <Table size=\"small\">\n <TableHead>\n <TableRow>\n {columns.map((head, idx) => (\n <StyledBorderedTableCell isHeader={true} key={`col-${idx}`}>\n <TableSortLabel\n active={orderCol === `${head.field}`}\n direction={order}\n onClick={() => sortHandler(head.field)}\n sx={{\n \"&:hover\": {\n color: \"var(--hover-color-table-header)\",\n },\n \"&.Mui-active\": {\n color: \"var(--hover-color-table-header) !important\",\n },\n\n \"&.Mui-active .MuiTableSortLabel-icon\": {\n color: \"var(--hover-color-table-header) !important\",\n },\n }}\n >\n {head.title}\n </TableSortLabel>\n </StyledBorderedTableCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {tempData &&\n Array.isArray(tempData) &&\n tempData\n .slice(page * rowsPerPage, (page + 1) * rowsPerPage)\n .map((row, rowIdx) => (\n <TableRow key={`row-${rowIdx}`}>\n {columns.map((col, idx) => (\n <CommonTableCell\n key={`cell-${rowIdx}-${idx}`}\n rowData={row}\n colObject={col}\n />\n ))}\n </TableRow>\n ))}\n\n {tempData ? null : (\n <TableRow>\n <TableCell\n colSpan={columns ? columns.length : 0}\n style={{ textAlign: \"center\" }}\n >\n No Row to show\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n <TableFooter>\n <TableRow>\n <TablePagination\n rowsPerPageOptions={pages}\n SelectProps={{\n inputProps: {\n \"aria-label\": \"rows per page\",\n },\n native: true,\n }}\n count={tempData.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n </TableRow>\n </TableFooter>\n </Table>\n </TableContainer>\n </Grid>\n </Grid>\n );\n};\n\nexport default CommonSearchTable;\n","import React from \"react\";\nimport { TextField } from \"@mui/material\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport IconButton from \"@mui/material/IconButton\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport ClearIcon from \"@mui/icons-material/Clear\";\n\nconst SearchTextField = ({ value, onChange }) => {\n const updateSearchTerm = (event) => {\n const searchTerm = event.target.value;\n onChange(searchTerm);\n };\n\n const clearSearchTerm = () => {\n onChange(null);\n };\n\n return (\n <TextField\n id=\"outlined-basic\"\n variant=\"outlined\"\n size=\"small\"\n value={value || \"\"}\n onChange={updateSearchTerm}\n InputLabelProps={{ shrink: true }}\n InputProps={{\n inputProps: {\n \"aria-label\": \"Search\",\n style: { padding: \"6px\", fontSize: \"12px\" },\n },\n endAdornment: (\n <InputAdornment position=\"end\">\n {value && (\n <IconButton onClick={clearSearchTerm} size=\"small\">\n <ClearIcon sx={{ fontSize: 16 }} />\n </IconButton>\n )}\n <SearchIcon sx={{ fontSize: 20 }} />\n </InputAdornment>\n ),\n }}\n />\n );\n};\n\nexport default SearchTextField;\n","import React, { useState, useEffect } from \"react\";\nimport { styled } from \"@mui/material/styles\";\nimport {\n Box,\n Table,\n TableRow,\n Checkbox,\n TableCell,\n TableBody,\n TableHead,\n TableFooter,\n TableContainer,\n TableSortLabel,\n TablePagination,\n FormControlLabel,\n Skeleton,\n} from \"@mui/material\";\nimport { visuallyHidden } from \"@mui/utils\";\nimport StyledBorderedTableCell from \"./styled-bordered-table-cell\";\nimport { tableCellClasses } from \"@mui/material/TableCell\";\nimport StyledTableRow from \"./styled-bordered-table-row\";\n\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy) {\n return order === \"desc\"\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) {\n return order;\n }\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\nexport const StickyTableRow = styled(TableRow)(({ theme }) => ({\n // \"&:nth-of-type(even)\": {\n // backgroundColor: \"var(--fill_table_body_row_2)\",\n // },\n // \"&:nth-of-type(1)\": {\n // position: \"sticky\",\n // top: 0,\n // zIndex: 12,\n // backgroundColor: \"#f6f6f6\",\n // },\n // \"&:nth-of-type(2)\": {\n // backgroundColor: \"#f6f6f6\",\n // position: \"sticky\",\n // top: 30,\n // zIndex: 12,\n // },\n}));\n\nconst StickyTableCell = styled(TableCell)(\n ({ theme, fontSize, noWrapHeader, noWrapBody, padding }) => ({\n [`&.${tableCellClasses.head}`]: {\n backgroundColor: \"var(--fill_table_header)\",\n color: \"var(--color-table-header)\",\n fontSize: fontSize || \"var(--table-header-fontSize, 18px) !important\",\n textAlign: \"center\",\n padding: padding ? padding : \"3px 10px\",\n borderLeft: \"1px solid #ccc\",\n borderRight: \"1px solid #ccc\",\n \"&:nth-last-of-type(1)\": {\n borderRight: \"1px solid #ccc\",\n },\n borderBottom: \"3px solid var(--fill-table-header-border) !important\",\n position: \"sticky\",\n top: 0,\n zIndex: 1,\n [theme.breakpoints.down(\"lg\")]: {\n fontSize: \"calc(var(--table-header-fontSize, 18px) - 2px) !important\",\n },\n whiteSpace: noWrapHeader ? \"nowrap\" : \"normal\",\n // boxShadow: \"5px 5px 8px rgba(0, 0, 0, 0.2)\",\n },\n [`&.${tableCellClasses.body}`]: {\n fontSize: fontSize || \"var(--table-body-fontSize, 16px) !important\",\n color: \"var(--color-table-body-row)\",\n padding: padding ? padding : \"3px 10px\",\n borderLeft: \"1px solid #ccc\",\n borderRight: \"1px solid #ccc\",\n [theme.breakpoints.down(\"lg\")]: {\n fontSize: \"calc(var(--table-body-fontSize, 14px) - 2px) !important\",\n },\n whiteSpace: noWrapBody ? \"nowrap\" : \"normal\",\n },\n position: \"sticky\",\n left: 0,\n zIndex: 1,\n })\n);\n\nconst StickyFooterTableCell = styled(TableCell)(({ theme, fontSize }) => ({\n fontSize: fontSize || \"var(--table-footer-fontSize)\",\n backgroundColor: \"#f8f8f8\",\n position: \"sticky\",\n left: 0,\n zIndex: 1,\n fontWeight: 900,\n border: \"1px solid #ccc\",\n color: \"#000000\",\n textAlign: \"right !important\",\n}));\n\nconst StickyTableCellBody = styled(TableCell)(\n ({ theme, fontSize, noWrapHeader, noWrapBody }) => ({\n position: \"sticky\",\n left: 0,\n zIndex: 5,\n [`&.${tableCellClasses.head}`]: {\n backgroundColor: \"var(--fill_table_header)\",\n color: \"var(--color-table-header)\",\n fontSize: fontSize || \"var(--table-header-fontSize, 18px) !important\",\n textAlign: \"center\",\n padding: \"3px 10px\",\n fontWeight: \"bold\",\n borderBottom: \"3px solid #1976d2\",\n whiteSpace: noWrapHeader ? \"nowrap\" : \"normal\",\n },\n [`&.${tableCellClasses.body}`]: {\n fontSize: fontSize || \"var(--table-body-fontSize, 16px) !important\",\n color: \"var(--color-table-body-row)\",\n padding: \"3px 10px\",\n borderLeft: \"1px solid #ccc\",\n borderRight: \"1px solid #ccc\",\n backgroundColor: \"#dfdfdf\",\n whiteSpace: noWrapBody ? \"nowrap\" : \"normal\",\n },\n })\n);\n\nconst SkeletonTableBody = ({ columns }) => {\n return (\n <TableBody>\n <StyledTableRow>\n <StyledBorderedTableCell>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n {(columns || [])\n .filter((item) => !item?.hidden)\n .map((col, colIdx) => (\n <React.Fragment key={`idx-${colIdx}`}>\n <StyledBorderedTableCell>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n </React.Fragment>\n ))}\n </StyledTableRow>\n <StyledTableRow>\n <StyledBorderedTableCell>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n {columns\n .filter((item) => !item?.hidden)\n .map((col, colIdx) => (\n <React.Fragment key={`idx-${colIdx}`}>\n <StyledBorderedTableCell>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n </React.Fragment>\n ))}\n </StyledTableRow>\n <StyledTableRow>\n <StyledBorderedTableCell>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n {(columns || [])\n .filter((item) => !item?.hidden)\n .map((col, colIdx) => (\n <React.Fragment key={`idx-${colIdx}`}>\n <StyledBorderedTableCell>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n </React.Fragment>\n ))}\n </StyledTableRow>\n <StyledTableRow>\n <StyledBorderedTableCell>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n {(columns || []).map((col, colIdx) => (\n <React.Fragment key={`idx-${colIdx}`}>\n <StyledBorderedTableCell>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n </React.Fragment>\n ))}\n </StyledTableRow>\n </TableBody>\n );\n};\n\nconst CustomStickyCellBody = (props) => {\n const { rowData, columnObject, ...otherProps } = props;\n if (columnObject.render) {\n return (\n <StickyTableCellBody {...otherProps}>\n {columnObject.render(rowData)}\n </StickyTableCellBody>\n );\n } else {\n return (\n <StickyTableCellBody {...otherProps}>\n {rowData[columnObject.field]}\n </StickyTableCellBody>\n );\n }\n};\n\nconst CustomTableCell = (props) => {\n const { rowData, columnObject, ...otherProps } = props;\n if (columnObject.render) {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {columnObject.render(rowData)}\n </StyledBorderedTableCell>\n );\n } else {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {rowData[columnObject.field]}\n </StyledBorderedTableCell>\n );\n }\n};\n\nconst CommonSelectionStickyTable = ({\n data,\n title,\n columns,\n loading,\n selected,\n rowsInPage,\n setSelected,\n primaryColId,\n totalAmount,\n totalTitle,\n totalColSpan,\n maxHeight,\n minHeight,\n height,\n isCheckBoxDisabled,\n isPaginationVisible,\n selection = true,\n}) => {\n const [order, setOrder] = useState(\"asc\");\n const [orderBy, setOrderBy] = useState(\"\");\n const [total, setTotal] = useState(0);\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n const [tableData, setTableData] = useState([]);\n\n const totalColumns = totalColSpan + totalAmount?.length;\n\n const handleSelectAllClick = (event) => {\n if (event.target.checked) {\n const newSelecteds = tableData.map((n) => n[primaryColId]);\n setSelected(newSelecteds);\n return;\n }\n setSelected([]);\n };\n\n const handleClick = (event, primaryCol) => {\n const selectedIndex = selected.indexOf(primaryCol);\n let newSelected = [];\n if (selectedIndex === -1) {\n newSelected = newSelected.concat(selected, primaryCol);\n } else if (selectedIndex === 0) {\n newSelected = newSelected.concat(selected.slice(1));\n } else if (selectedIndex === selected.length - 1) {\n newSelected = newSelected.concat(selected.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelected = newSelected.concat(\n selected.slice(0, selectedIndex),\n selected.slice(selectedIndex + 1)\n );\n }\n setSelected(newSelected);\n };\n\n const isSelected = (primaryCol) => selected.indexOf(primaryCol) !== -1;\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === \"asc\";\n setOrder(isAsc ? \"desc\" : \"asc\");\n setOrderBy(property);\n };\n\n const createSortHandler = (property) => (event) => {\n handleRequestSort(event, property);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n // setPage(0);\n };\n\n useEffect(() => {\n // setPage(0);\n setTotal(data.length);\n setTableData(data);\n const maxPage = Math.max(0, Math.ceil(data.length / rowsPerPage) - 1);\n if (page > maxPage) {\n setPage(maxPage);\n }\n }, [data]);\n\n useEffect(() => {\n if (rowsInPage) {\n setRowsPerPage(rowsInPage);\n }\n }, [rowsInPage]);\n\n return (\n <TableContainer\n id={title || \"customTableTitle\"}\n style={{\n maxHeight: maxHeight ? `${maxHeight}px` : \"\",\n minHeight: minHeight ? `${window.innerHeight - 350}px` : \"\",\n height: height ? `${height}px` : `${window.innerHeight - 350}px`,\n overflow: \"auto\",\n position: \"relative\",\n }}\n >\n <Table\n aria-labelledby={title || \"customTableTitle\"}\n size=\"small\"\n stickyHeader\n >\n <TableHead>\n <StickyTableRow>\n {selection && (\n <StickyTableCell\n aria-label=\"header\"\n style={{\n padding: \"3px 12px\",\n zIndex: 3,\n }}\n key={`sticky-cell-${\"\"}`}\n >\n <FormControlLabel\n style={{ margin: \"0px\" }}\n aria-label=\"check\"\n control={\n <Checkbox\n disabled={isCheckBoxDisabled}\n style={{\n textAlign: \"center\",\n transform: \"scale(0.7)\",\n padding: \"1px\",\n backgroundColor: \"white\",\n borderRadius: \"4px\",\n }}\n indeterminate={\n selected.length > 0 &&\n selected.length < tableData.length\n }\n checked={\n tableData.length > 0 &&\n selected.length === tableData.length\n }\n onChange={handleSelectAllClick}\n inputProps={{ \"aria-label\": \"select all rows\" }}\n />\n }\n />\n </StickyTableCell>\n )}\n\n {(columns || [])\n .filter((item) => !item?.hidden)\n .map((col, colIdx) => (\n <React.Fragment key={`idx-${colIdx}`}>\n {col.sticky === true ? (\n <StickyTableCell\n style={{\n textAlign: \"center\",\n paddingLeft: col.paddingLeft,\n position: col.position,\n left: col.left,\n zIndex: col.zIndexHeader || 9,\n minWidth: col.minWidth,\n // color: \"black\",\n }}\n key={`customTableColHeader-${colIdx}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col.field ? order : false}\n width={col.width ? col.width : \"\"}\n noWrapHeader={col?.noWrapHeader}\n >\n {col.sorting === false ? (\n col.title\n ) : (\n <TableSortLabel\n active={orderBy === col.field}\n direction={orderBy === col.field ? order : \"asc\"}\n onClick={createSortHandler(col.field)}\n sx={{\n \"&:hover\": {\n color: \"var(--hover-color-table-header)\",\n },\n \"&.Mui-active\": {\n color:\n \"var(--hover-color-table-header) !important\",\n },\n\n \"&.Mui-active .MuiTableSortLabel-icon\": {\n color:\n \"var(--hover-color-table-header) !important\",\n },\n }}\n >\n {col.title}\n {orderBy === col.field ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {order === \"desc\"\n ? \"sorted descending\"\n : \"sorted ascending\"}\n </Box>\n ) : null}\n </TableSortLabel>\n )}\n </StickyTableCell>\n ) : (\n <StyledBorderedTableCell\n style={{\n minWidth: col.minWidth,\n zIndex: 1,\n }}\n key={`customTableColHeader-${colIdx}`}\n align=\"center\"\n padding={col.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col.field ? order : false}\n width={col.width ? col.width : \"\"}\n noWrapHeader={col?.noWrapHeader}\n >\n {col.sorting === false ? (\n col.title\n ) : (\n <TableSortLabel\n active={orderBy === col.field}\n direction={orderBy === col.field ? order : \"asc\"}\n onClick={createSortHandler(col.field)}\n >\n {col.title}\n {orderBy === col.field ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {order === \"desc\"\n ? \"sorted descending\"\n : \"sorted ascending\"}\n </Box>\n ) : null}\n </TableSortLabel>\n )}\n </StyledBorderedTableCell>\n )}\n </React.Fragment>\n ))}\n </StickyTableRow>\n </TableHead>\n {loading ? (\n <SkeletonTableBody columns={columns} />\n ) : (\n <>\n <TableBody>\n {stableSort(tableData, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row, rowIndex) => {\n const isItemSelected = isSelected(row[primaryColId]);\n const labelId = `custom-table-checkbox-${rowIndex}`;\n return (\n <StyledTableRow\n hover\n key={row[primaryColId]}\n selected={isItemSelected}\n >\n {selection && (\n <StickyTableCell\n style={{\n background:\n rowIndex % 2 === 0\n ? \"var(--fill_table_body_row_1)\"\n : \"var(--fill_table_body_row_2)\",\n textAlign: \"center\",\n width: \"10px\",\n zIndex: 2,\n }}\n padding=\"0px !important\"\n >\n <FormControlLabel\n aria-hidden={isCheckBoxDisabled}\n style={{ margin: \"0px\" }}\n aria-label=\"check\"\n control={\n <Checkbox\n disabled={isCheckBoxDisabled}\n onClick={(event) =>\n handleClick(event, row[primaryColId])\n }\n style={{ transform: \"scale(0.7)\" }}\n checked={isItemSelected}\n />\n }\n />\n </StickyTableCell>\n )}\n {(columns || [])\n .filter((item) => !item?.hidden)\n .map((col, colIndex) => (\n <React.Fragment key={`idxBody-${colIndex}`}>\n {col.sticky === true ? (\n <CustomStickyCellBody\n style={{\n textAlign: col.textAlign,\n paddingLeft: col.paddingLeft,\n position: col.position,\n left: col.left,\n zIndex: col.zIndexBody || 0,\n minWidth: col.minWidth,\n background:\n rowIndex % 2 !== 0 ||\n (tableData.length > 0 &&\n selected.length === tableData.length)\n ? \"#f8f8f8\"\n : \"#fff\",\n }}\n key={`customTableCell-${rowIndex}-${colIndex}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={col}\n noWrapBody={col?.noWrapBody}\n />\n ) : (\n <CustomTableCell\n key={`customTableCell-${rowIndex}-${colIndex}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={col}\n />\n )}\n </React.Fragment>\n ))}\n </StyledTableRow>\n );\n })}\n </TableBody>\n {data && Array.isArray(data) && data.length > 0 && totalAmount ? (\n <TableFooter>\n <StickyTableRow>\n <StickyFooterTableCell\n colSpan={totalColSpan}\n sx={{\n position: \"sticky\",\n textAlign: \"right !important\",\n zIndex: 2,\n }}\n >\n {totalTitle}\n </StickyFooterTableCell>\n {totalAmount &&\n totalAmount.map((item, index) => {\n if (item.left) {\n return (\n <StickyFooterTableCell\n key={`totalAmount-${index}`}\n sx={{\n position: \"sticky\",\n left: item.left,\n textAlign: \"right !important\",\n zIndex: 2,\n }}\n >\n {item.value || \"\"}\n </StickyFooterTableCell>\n );\n } else {\n return (\n <StickyFooterTableCell\n key={`totalAmount-${index}`}\n sx={{\n textAlign: \"right !important\",\n zIndex: 1,\n }}\n >\n {item.value || \"\"}\n </StickyFooterTableCell>\n );\n }\n })}\n <StickyFooterTableCell\n colSpan={\n (columns || []).filter((item) => !item?.hidden).length -\n totalColSpan\n }\n sx={{\n position: \"sticky\",\n textAlign: \"right !important\",\n zIndex: 1,\n }}\n >\n <div\n style={{ display: \"flex\", justifyContent: \"flex-end\" }}\n >\n {(isPaginationVisible ?? true) && (\n <TablePagination\n rowsPerPageOptions={[5, 10, 25, 50]}\n SelectProps={{\n inputProps: {\n \"aria-label\": \"rows per page\",\n },\n native: true,\n }}\n count={tableData.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n )}\n </div>\n </StickyFooterTableCell>\n </StickyTableRow>\n </TableFooter>\n ) : (\n <TableFooter>\n <TableRow>\n {isPaginationVisible && (\n <TablePagination\n rowsPerPageOptions={[5, 10, 25, 50]}\n SelectProps={{\n inputProps: {\n \"aria-label\": \"rows per page\",\n },\n native: true,\n }}\n count={tableData.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n )}\n </TableRow>\n </TableFooter>\n )}\n </>\n )}\n </Table>\n </TableContainer>\n );\n};\n\nexport default CommonSelectionStickyTable;\n","import { Skeleton as Skeleton, TableBody } from \"@mui/material\";\nimport StyledTableRow from \"./styled-bordered-table-row\";\nimport StyledTableCell from \"./styled-bordered-table-cell\";\n\nconst SkeletonTableBody = ({ rows, columns }) => {\n return (\n <TableBody>\n {Array(rows || 4)\n .fill()\n .map((cnt) => (\n <StyledTableRow key={`row-${cnt}`}>\n {Array(columns || 1)\n .fill()\n .map((cnt1) => (\n <StyledTableCell key={`cell-${cnt1}`}>\n <Skeleton height={50} />\n </StyledTableCell>\n ))}\n </StyledTableRow>\n ))}\n </TableBody>\n );\n};\n\nexport default SkeletonTableBody;\n","import React, { useState, useEffect } from \"react\";\nimport {\n Box,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TablePagination,\n TableRow,\n TableSortLabel,\n Checkbox,\n} from \"@mui/material\";\nimport StyledTableRow from \"./styled-bordered-table-row\";\nimport { visuallyHidden } from \"@mui/utils\";\nimport StyledBorderedTableCell from \"./styled-bordered-table-cell\";\nimport SkeletonTableBody from \"./skeleton-table-body\";\n\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy) {\n return order === \"desc\"\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\n// This method is created for cross-browser compatibility, if you don't\n// need to support IE11, you can use Array.prototype.sort() directly\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) {\n return order;\n }\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\nconst CustomTableCell = (props) => {\n const { rowData, columnObject, ...otherProps } = props;\n if (columnObject.render) {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {columnObject.render(rowData)}\n </StyledBorderedTableCell>\n );\n } else {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {rowData[columnObject.field]}\n </StyledBorderedTableCell>\n );\n }\n};\n\nconst CommonSelectionTable = ({\n title,\n data,\n columns,\n primaryColId,\n rowsInPage,\n selected,\n setSelected,\n loading,\n skeletonColumns,\n skeletonRows,\n maxHeight,\n minHeight,\n height,\n hideCheckBoxes,\n}) => {\n const [tableData, setTableData] = useState([]);\n const [total, setTotal] = useState(0);\n const [order, setOrder] = useState(\"asc\");\n const [orderBy, setOrderBy] = useState(\"\");\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n\n const [selectedPrimaryCol, setSelectedPrimaryCol] = useState(0);\n\n const [confirmOpen, setConfirmOpen] = useState(false);\n const [requestBox, setRequestBox] = useState(false);\n const [requestValue, setRequestValue] = useState(\"export\");\n\n const [fileName, setFileName] = useState(\"\");\n\n const handleSelectAllClick = (event) => {\n if (event.target.checked) {\n const newSelecteds = tableData.map((n) => n[primaryColId]);\n setSelected(newSelecteds);\n return;\n }\n setSelected([]);\n };\n\n const handleClick = (event, primaryCol) => {\n const selectedIndex = selected.indexOf(primaryCol);\n let newSelected = [];\n if (selectedIndex === -1) {\n newSelected = newSelected.concat(selected, primaryCol);\n } else if (selectedIndex === 0) {\n newSelected = newSelected.concat(selected.slice(1));\n } else if (selectedIndex === selected.length - 1) {\n newSelected = newSelected.concat(selected.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelected = newSelected.concat(\n selected.slice(0, selectedIndex),\n selected.slice(selectedIndex + 1)\n );\n }\n setSelected(newSelected);\n };\n\n const isSelected = (primaryCol) => selected.indexOf(primaryCol) !== -1;\n\n // Avoid a layout jump when reaching the last page with empty rows.\n const emptyRows =\n page > 0 ? Math.max(0, (1 + page) * rowsPerPage - tableData.length) : 0;\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === \"asc\";\n setOrder(isAsc ? \"desc\" : \"asc\");\n setOrderBy(property);\n };\n\n const createSortHandler = (property) => (event) => {\n handleRequestSort(event, property);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n useEffect(() => {\n setPage(0);\n setTotal(data.length);\n setTableData(data);\n }, [data]);\n\n useEffect(() => {\n if (rowsInPage) {\n setRowsPerPage(rowsInPage);\n }\n }, [rowsInPage]);\n\n return (\n <>\n <TableContainer\n style={{\n maxHeight: maxHeight ? `${maxHeight}px` : \"\",\n minHeight: minHeight ? `${window.innerHeight - 350}px` : \"\",\n height: height ? `${height}px` : `${window.innerHeight - 350}px`,\n overflow: \"auto\",\n position: \"relative\",\n }}\n id={title || \"customTableTitle\"}\n >\n <Table\n // sx={{ minWidth: 750 }}\n aria-labelledby={title || \"customTableTitle\"}\n size=\"small\"\n stickyHeader\n >\n <TableHead>\n <TableRow>\n {!hideCheckBoxes && (\n <StyledBorderedTableCell\n padding=\"checkbox\"\n aria-label=\"select_all_rows\"\n >\n <Checkbox\n style={{\n color: \"inherit\",\n textAlign: \"center\",\n transform: \"scale(0.7)\",\n }}\n indeterminate={\n selected.length > 0 && selected.length < tableData.length\n }\n checked={\n tableData.length > 0 &&\n selected.length === tableData.length\n }\n onChange={handleSelectAllClick}\n inputProps={{ \"aria-label\": \"select all rows\" }}\n />\n </StyledBorderedTableCell>\n )}\n\n {(columns || [])\n .filter((item) => !item?.hidden)\n .map((col, colIdx) =>\n col.sorting === false ? (\n <StyledBorderedTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col.field ? order : false}\n noWrapHeader={col?.noWrapHeader}\n >\n {col.title}\n </StyledBorderedTableCell>\n ) : (\n <StyledBorderedTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col.field ? order : false}\n width={col.width ? col.width : \"\"}\n noWrapHeader={col?.noWrapHeader}\n >\n <TableSortLabel\n active={orderBy === col.field}\n direction={orderBy === col.field ? order : \"asc\"}\n onClick={createSortHandler(col.field)}\n sx={{\n \"&:hover\": {\n color: \"var(--hover-color-table-header)\",\n },\n \"&.Mui-active\": {\n color: \"var(--hover-color-table-header) !important\",\n },\n\n \"&.Mui-active .MuiTableSortLabel-icon\": {\n color: \"var(--hover-color-table-header) !important\",\n },\n }}\n >\n {col.title}\n {orderBy === col.field ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {order === \"desc\"\n ? \"sorted descending\"\n : \"sorted ascending\"}\n </Box>\n ) : null}\n </TableSortLabel>\n </StyledBorderedTableCell>\n )\n )}\n </TableRow>\n </TableHead>\n {loading && loading ? (\n <SkeletonTableBody\n columns={\n skeletonColumns ||\n (columns || []).filter((item) => !item?.hidden).length + 1 ||\n 1\n }\n rows={skeletonRows || 4}\n />\n ) : (\n <TableBody>\n {stableSort(tableData, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row, rowIndex) => {\n const isItemSelected = isSelected(row[primaryColId]);\n const labelId = `custom-table-checkbox-${rowIndex}`;\n return (\n <StyledTableRow\n hover\n role=\"checkbox\"\n aria-checked={isItemSelected}\n tabIndex={-1}\n key={row[primaryColId]}\n selected={isItemSelected}\n >\n {!hideCheckBoxes && (\n <StyledBorderedTableCell\n style={{\n textAlign: \"center\",\n padding: \"12px\",\n }}\n >\n <Checkbox\n onClick={(event) =>\n handleClick(event, row[primaryColId])\n }\n style={{\n textAlign: \"center\",\n transform: \"scale(0.7)\",\n padding: \"1px\",\n backgroundColor: \"white\",\n borderRadius: \"4px\",\n }}\n checked={isItemSelected}\n inputProps={{\n \"aria-label\": `Select row ${row[primaryColId]}`,\n }}\n />\n </StyledBorderedTableCell>\n )}\n\n {(columns || [])\n .filter((item) => !item?.hidden)\n .map((col, colIndex) => (\n <CustomTableCell\n key={`customTableCell-${rowIndex}-${colIndex}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={col}\n noWrapBody={col?.noWrapBody}\n />\n ))}\n </StyledTableRow>\n );\n })}\n\n {emptyRows > 0 && (\n <TableRow\n style={{\n height: 33 * emptyRows,\n }}\n >\n <TableCell colSpan={columns.length} />\n </TableRow>\n )}\n </TableBody>\n )}\n </Table>\n </TableContainer>\n <div\n className=\"wid-full flex justify-end items-end \"\n style={{\n boxShadow: \"0px -10px 9px -5px rgba(0,0,0,0.2)\",\n position: \"relative\",\n }}\n >\n <TablePagination\n rowsPerPageOptions={[5, 10, 25, 50]}\n SelectProps={{\n inputProps: {\n \"aria-label\": \"rows per page\",\n },\n native: true,\n }}\n count={tableData.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n </div>\n </>\n );\n};\n\nexport default CommonSelectionTable;\n","import React, { useState, useEffect } from \"react\";\nimport {\n Box,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableFooter,\n TableHead,\n TablePagination,\n TableRow,\n TableSortLabel,\n Checkbox,\n} from \"@mui/material\";\nimport StyledBorderedTableCell from \"./styled-bordered-table-cell\";\nimport StyledBorderedTableRow from \"./styled-bordered-table-row\";\nimport SkeletonTableBody from \"./skeleton-table-body\";\n\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy) {\n return order === \"desc\"\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) {\n return order;\n }\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\nconst CustomTableCell = (props) => {\n const { rowData, columnObject, ...otherProps } = props;\n if (columnObject.render) {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {columnObject.render(rowData)}\n </StyledBorderedTableCell>\n );\n } else {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {rowData[columnObject.field]}\n </StyledBorderedTableCell>\n );\n }\n};\n\nconst CommonSelectionValidateTable = ({\n title,\n data,\n columns,\n primaryColId,\n rowsInPage,\n selected,\n setSelected,\n loading,\n skeletonColumns,\n skeletonRows,\n validationError,\n maxHeight,\n minHeight,\n height,\n}) => {\n const [tableData, setTableData] = useState([]);\n const [order, setOrder] = useState(\"asc\");\n const [orderBy, setOrderBy] = useState(\"\");\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n\n useEffect(() => {\n setPage(0);\n setTableData(data);\n }, [data]);\n\n useEffect(() => {\n if (rowsInPage) {\n setRowsPerPage(rowsInPage);\n }\n }, [rowsInPage]);\n\n const errorRequestIds = validationError.map((error) => error.requestId);\n\n const handleSelectAllClick = (event) => {\n if (event.target.checked) {\n const newSelecteds = tableData.map((n) => n[primaryColId]);\n setSelected(newSelecteds);\n return;\n }\n setSelected([]);\n };\n\n const handleClick = (event, primaryCol) => {\n const selectedIndex = selected.indexOf(primaryCol);\n let newSelected = [];\n if (selectedIndex === -1) {\n newSelected = newSelected.concat(selected, primaryCol);\n } else if (selectedIndex === 0) {\n newSelected = newSelected.concat(selected.slice(1));\n } else if (selectedIndex === selected.length - 1) {\n newSelected = newSelected.concat(selected.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelected = newSelected.concat(\n selected.slice(0, selectedIndex),\n selected.slice(selectedIndex + 1)\n );\n }\n setSelected(newSelected);\n };\n\n const isSelected = (primaryCol) => selected.indexOf(primaryCol) !== -1;\n\n const emptyRows =\n page > 0 ? Math.max(0, (1 + page) * rowsPerPage - tableData.length) : 0;\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === \"asc\";\n setOrder(isAsc ? \"desc\" : \"asc\");\n setOrderBy(property);\n };\n\n const createSortHandler = (property) => (event) => {\n handleRequestSort(event, property);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n return (\n <TableContainer\n style={{\n maxHeight: maxHeight ? `${maxHeight}px` : \"\",\n minHeight: minHeight ? `${window.innerHeight - 350}px` : \"\",\n height: height ? `${height}px` : `${window.innerHeight - 350}px`,\n overflow: \"auto\",\n position: \"relative\",\n width: \"100%\",\n }}\n id={title || \"customTableTitle\"}\n >\n <Table\n aria-labelledby={title || \"customTableTitle\"}\n size=\"small\"\n stickyHeader\n >\n <TableHead>\n <TableRow>\n <StyledBorderedTableCell\n padding=\"checkbox\"\n aria-label=\"select_all_rows\"\n >\n <Checkbox\n style={{\n color: \"inherit\",\n textAlign: \"center\",\n transform: \"scale(0.7)\",\n }}\n indeterminate={\n selected.length > 0 && selected.length < tableData.length\n }\n checked={\n tableData.length > 0 && selected.length === tableData.length\n }\n onChange={handleSelectAllClick}\n inputProps={{ \"aria-label\": \"select all rows\" }}\n />\n </StyledBorderedTableCell>\n {columns.map((col, colIdx) =>\n col.sorting === false ? (\n <StyledBorderedTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col.align || \"left\"}\n noWrapHeader={col?.noWrapHeader}\n >\n {col.title}\n </StyledBorderedTableCell>\n ) : (\n <StyledBorderedTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col.align || \"left\"}\n noWrapHeader={col?.noWrapHeader}\n >\n <TableSortLabel\n active={orderBy === col.field}\n direction={orderBy === col.field ? order : \"asc\"}\n onClick={createSortHandler(col.field)}\n sx={{\n \"&:hover\": {\n color: \"var(--hover-color-table-header)\",\n },\n \"&.Mui-active\": {\n color: \"var(--hover-color-table-header) !important\",\n },\n\n \"&.Mui-active .MuiTableSortLabel-icon\": {\n color: \"var(--hover-color-table-header) !important\",\n },\n }}\n >\n {col.title}\n {orderBy === col.field ? (\n <Box component=\"span\" sx={{ display: \"none\" }}>\n {order === \"desc\"\n ? \"sorted descending\"\n : \"sorted ascending\"}\n </Box>\n ) : null}\n </TableSortLabel>\n </StyledBorderedTableCell>\n )\n )}\n </TableRow>\n </TableHead>\n {loading ? (\n <SkeletonTableBody\n columns={skeletonColumns || columns.length + 1 || 1}\n rows={skeletonRows || 4}\n />\n ) : (\n <TableBody>\n {stableSort(tableData, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row, rowIndex) => {\n const isItemSelected = isSelected(row[primaryColId]);\n const labelId = `custom-table-checkbox-${rowIndex}`;\n const isErrorRow = errorRequestIds.includes(row.requestId);\n\n return (\n <StyledBorderedTableRow\n hover\n role=\"checkbox\"\n aria-checked={isItemSelected}\n tabIndex={-1}\n key={row[primaryColId]}\n selected={isItemSelected}\n style={{\n backgroundColor: isErrorRow ? \"#FDEEEE\" : \"\",\n }}\n >\n <StyledBorderedTableCell\n style={{\n textAlign: \"center\",\n padding: \"12px\",\n }}\n >\n <Checkbox\n onClick={(event) =>\n handleClick(event, row[primaryColId])\n }\n style={{\n textAlign: \"center\",\n transform: \"scale(0.7)\",\n padding: \"1px\",\n backgroundColor: \"white\",\n borderRadius: \"4px\",\n }}\n checked={isItemSelected}\n inputProps={{ \"aria-labelledby\": labelId }}\n />\n </StyledBorderedTableCell>\n {columns.map((col, colIndex) => (\n <CustomTableCell\n key={`customTableCell-${rowIndex}-${colIndex}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={col}\n noWrapBody={col?.noWrapBody}\n />\n ))}\n </StyledBorderedTableRow>\n );\n })}\n\n {emptyRows > 0 && (\n <TableRow style={{ height: 33 * emptyRows }}>\n <TableCell colSpan={columns.length} />\n </TableRow>\n )}\n </TableBody>\n )}\n <TableFooter>\n <TableRow>\n <TablePagination\n rowsPerPageOptions={[5, 10, 25, 50]}\n count={tableData.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n </TableRow>\n </TableFooter>\n </Table>\n </TableContainer>\n );\n};\n\nexport default CommonSelectionValidateTable;\n","import React from \"react\";\nimport StyledTableCell from \"./styled-bordered-table-cell\";\n\nconst CustomTableCell = (props) => {\n const { rowData, columnObject, ...otherProps } = props;\n if (columnObject.render) {\n return (\n <StyledTableCell {...otherProps}>\n {columnObject.render(rowData)}\n </StyledTableCell>\n );\n } else {\n return (\n <StyledTableCell {...otherProps}>\n {rowData[columnObject.field]}\n </StyledTableCell>\n );\n }\n};\n\nexport default CustomTableCell;\n","import React from \"react\";\n\nconst SortLabel = ({\n align,\n field,\n title,\n order,\n colIdx,\n orderBy,\n sorting,\n sortHandler,\n disablePadding,\n}) => {\n const tableHeadClass = sorting\n ? `px-6 py-3 text-sm font-large text-white tracking-wider cursor-pointer text-${\n align || \"left\"\n }`\n : \"px-6 py-3 text-left text-sm font-large text-white tracking-wider\";\n\n return (\n <th\n key={`customTableColHeader-${colIdx}`}\n className={tableHeadClass}\n padding={disablePadding ? \"none\" : \"normal\"}\n onClick={sortHandler(field)}\n >\n {sorting === false ? (\n <>{title}</>\n ) : (\n <div className=\"flex items-center group\">\n {title}\n {orderBy === field ? (\n <svg\n className={`w-4 h-4 ml-2 opacity-0 ${\n order === \"desc\" ? \"transform rotate-180\" : \"\"\n } group-hover:opacity-100`}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n d=\"M19 9l-7 7-7-7\"\n />\n </svg>\n ) : (\n <svg\n className=\"w-4 h-4 ml-2 opacity-0 group-hover:opacity-100\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n d=\"M5 15l7-7 7 7\"\n />\n </svg>\n )}\n </div>\n )}\n </th>\n );\n};\n\nexport default SortLabel;\n","import React, { useState, useEffect } from \"react\";\nimport CustomTableCell from \"./custom-table-cell\";\nimport SortLabel from \"./sort-label\";\n\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy) {\n return order === \"desc\"\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) {\n return order;\n }\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\nconst CommonTable = ({ title, data, columns, align }) => {\n const [order, setOrder] = useState(\"asc\");\n const [orderBy, setOrderBy] = useState(\"\");\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n const [tempData, setTempData] = useState([]);\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === \"asc\";\n setOrder(isAsc ? \"desc\" : \"asc\");\n setOrderBy(property);\n };\n\n const createSortHandler = (property) => (event) => {\n handleRequestSort(event, property);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n const emptyRows =\n page > 0 ? Math.max(0, (1 + page) * rowsPerPage - tempData.length) : 0;\n\n useEffect(() => {\n setPage(0);\n setTempData(data);\n }, [data]);\n\n return (\n <div className=\"overflow-x-auto\">\n <table className=\"min-w-full divide-y divide-gray-200\">\n <thead className=\"bg-secondary\">\n <tr>\n {columns.map((col, colIdx) => (\n <SortLabel\n key={colIdx}\n order={order}\n colIdx={colIdx}\n orderBy={orderBy}\n align={col.align}\n field={col.field}\n title={col.title}\n sorting={col.sorting}\n sortHandler={createSortHandler}\n disablePadding={col.disablePadding}\n />\n ))}\n </tr>\n </thead>\n <tbody className=\"bg-white divide-y divide-gray-200\">\n {stableSort(tempData, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row, rowIndex) => {\n return (\n <tr\n key={`customTableRow-${rowIndex}`}\n className={`${\n rowIndex % 2 === 0 ? \"bg-gray-50\" : \"bg-white\"\n } hover:bg-gray-200`}\n >\n {columns.map((col, colIndex) => (\n <CustomTableCell\n key={`customTableCell-${rowIndex}-${colIndex}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={col}\n />\n ))}\n </tr>\n );\n })}\n {emptyRows > 0 && (\n <tr style={{ height: 33 * emptyRows }}>\n <td colSpan={columns.length} />\n </tr>\n )}\n </tbody>\n <tfoot>\n <tr>\n <td colSpan={columns.length + 1}>\n <div className=\"flex justify-end p-2\">\n <span className=\"text-sm text-gray-700\">\n Rows per page:\n <select\n value={rowsPerPage}\n onChange={handleChangeRowsPerPage}\n className=\"ml-2 border border-gray-300 rounded\"\n >\n {[5, 10, 25, 50].map((rows) => (\n <option key={rows} value={rows}>\n {rows}\n </option>\n ))}\n </select>\n </span>\n <span className=\"text-sm text-gray-700 ml-4\">\n {page * rowsPerPage + 1}-\n {Math.min((page + 1) * rowsPerPage, tempData.length)} of{\" \"}\n {tempData.length}\n </span>\n <div className=\"flex ml-4\">\n <button\n onClick={(event) => handleChangePage(event, page - 1)}\n disabled={page === 0}\n aria-label=\"previous\"\n className=\"text-sm text-gray-700 ml-2 disabled:opacity-50\"\n >\n Previous\n </button>\n <button\n onClick={(event) => handleChangePage(event, page + 1)}\n disabled={\n page >= Math.ceil(tempData.length / rowsPerPage) - 1\n }\n aria-label=\"Next\"\n className=\"text-sm text-gray-700 ml-2 disabled:opacity-50\"\n >\n Next\n </button>\n </div>\n </div>\n </td>\n </tr>\n </tfoot>\n </table>\n </div>\n );\n};\n\nexport default CommonTable;\n","import { useState } from \"react\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n IconButton,\n Popover,\n} from \"@mui/material\";\nimport {\n Close as CloseIcon,\n DragIndicator as DragIndicatorIcon,\n} from \"@mui/icons-material\";\nimport { GenericTitle } from \"@gc360/shared-styleguide\";\n\nimport Button from \"./StyledButton/index\";\nimport DialogActions from \"./dialog-actions\";\n\nconst ConfirmDialog = ({\n id,\n title,\n open,\n disableEscapeKeyDown,\n children,\n className,\n setOpen,\n onConfirm,\n onReject,\n disableYesButton = false,\n}) => {\n const [anchorEl, setAnchorEl] = useState(false);\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const openPopover = Boolean(anchorEl);\n\n const handleClose = () => {\n setAnchorEl(false);\n };\n\n const noClick = (_) => {\n setOpen(false);\n onReject();\n };\n\n const yesClick = (_) => {\n setOpen(false);\n onConfirm();\n };\n\n return (\n <Dialog\n open={open}\n onClose={() => setOpen(false)}\n aria-labelledby=\"confirm-dialog\"\n PaperProps={{\n id: id,\n sx: {\n width: \"400px\",\n maxWidth: \"none\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n }}\n className={className}\n disableEscapeKeyDown={disableEscapeKeyDown}\n sx={{ backdropFilter: \"blur(3px)\" }}\n >\n <div\n style={{\n background: \"#1976d2\",\n height: \"7px\",\n width: \"100%\",\n boxShadow: \"5px 5px 8px rgba(0, 0, 0, 0.2)\",\n }}\n ></div>\n <DialogTitle\n style={{\n margin: 0,\n padding: 0,\n boxShadow: \"5px 5px 8px rgba(0, 0, 0, 0.2)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n position: \"relative\",\n }}\n id=\"confirm-dialog\"\n >\n <div>\n <Popover\n id=\"info\"\n open={openPopover}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n sx={{\n \"& .MuiPaper-root\": {\n maxWidth: \"300px\",\n padding: \"10px\",\n borderLeft: \"5px solid #1976d2\",\n },\n }}\n >\n <div>\n <GenericTitle>Help</GenericTitle>\n <p className=\"pl-1\">{title}</p>\n </div>\n </Popover>\n <GenericTitle>\n <div className=\"flex items-center gap-2\">\n {/*eslint-disable-next-line*/}\n <div\n className=\"flex items-center justify-center bg-[#d5e3ff] h-[50px] w-[25px] cursor-pointer\"\n onClick={handleClick}\n style={{\n padding: \"2px\",\n \"&:hover\": {\n boxShadow: \"0px 0px 10px 1px rgba(0,0,0,0.5) !important\",\n },\n }}\n >\n <DragIndicatorIcon fontSize=\"medium\" />\n </div>\n {title}\n </div>\n </GenericTitle>\n </div>\n <div>\n {\" \"}\n <IconButton\n aria-label=\"close\"\n size=\"small\"\n sx={{\n color: \"black\",\n height: \"50px\",\n width: \"50px\",\n fontSize: \"20px\",\n }}\n onClick={noClick}\n >\n <CloseIcon />\n </IconButton>\n </div>\n </DialogTitle>\n <DialogContent\n style={{ paddingTop: \"30px\", paddingBottom: \"30px\", fontSize: \"15px\" }}\n >\n {children}\n </DialogContent>\n <DialogActions>\n <Button\n size=\"small\"\n variant=\"outlined\"\n onClick={noClick}\n color=\"primary\"\n style={{ textTransform: \"capitalize\" }}\n aria-label=\"No\"\n >\n No\n </Button>\n <Button\n size=\"small\"\n variant=\"outlined\"\n onClick={yesClick}\n color=\"secondary\"\n style={{ textTransform: \"capitalize\" }}\n aria-label=\"Yes\"\n disabled={disableYesButton}\n >\n Yes\n </Button>\n </DialogActions>\n <div\n style={{\n background: \"#d5e3ff\",\n height: \"4px\",\n width: \"100%\",\n boxShadow: \"rgba(0, 0, 0, 0.2) 0px -10px 9px -5px\",\n }}\n ></div>\n </Dialog>\n );\n};\n\nConfirmDialog.defaultProps = {\n onReject: () => {},\n};\n\n// ConfirmDialog.propTypes = {};\n\nexport default ConfirmDialog;\n","import React, { useEffect, useRef } from \"react\";\nimport IconButton from \"./icon-button\";\nimport { Close as CloseIcon } from \"@mui/icons-material\";\n\nconst ContentModal = ({ title, open, onClose, className, style, children }) => {\n const modalRef = useRef();\n\n const handleClickOutside = (event) => {\n if (open && modalRef.current && !modalRef.current.contains(event.target)) {\n onClose();\n }\n };\n\n useEffect(() => {\n if (open) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n } else {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [open]);\n\n useEffect(() => {\n if (open) {\n document.body.style.overflow = \"hidden\";\n document.addEventListener(\"mousedown\", handleClickOutside);\n } else {\n document.body.style.overflow = \"\";\n document.removeEventListener(\"mousedown\", handleClickOutside);\n }\n\n return () => {\n document.body.style.overflow = \"\";\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [open]);\n\n if (!open) return null;\n\n return (\n <div\n className={`fixed inset-0 items-center justify-center bg-black transition-opacity duration-300 ${\n open ? \"!bg-opacity-40 flex\" : \"!bg-opacity-0 hidden\"\n } `}\n style={{ zIndex: 1300 }}\n >\n <div\n style={{\n maxWidth: \"90%\",\n boxShadow:\n \"15px 15px 30px rgba(0,0,0,0.2), -15px -15px 30px rgba(0,0,0,0.3)\",\n ...style,\n }}\n ref={modalRef}\n className={`min-w-60 bg-white rounded-xl shadow-lg overflow-hidden flex items-center justify-between ${\n className ? className : \"\"\n }`}\n >\n <div className=\"w-full\">\n <div className=\"w-full flex items-center justify-between py-4 px-6 bg-white\">\n <h1 className=\"text-xl font-bold text-gray-800\">{title || \"\"}</h1>\n <IconButton\n sx={{ padding: \"4px\", margin: \"0px 3px\" }}\n size=\"small\"\n onClick={onClose}\n >\n <CloseIcon style={{ fontSize: \"19px\" }} />\n </IconButton>\n </div>\n <div className=\"p-3 w-full max-h-[75vh] overflow-auto\">\n {children}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default ContentModal;\n// import React, { useEffect, useRef, useState } from \"react\";\n// import {\n// IconButton,\n// CloseIcon,\n// FullscreenIcon,\n// FullscreenExitIcon,\n// Dialog,\n// DialogTitle,\n// DialogContent,\n// Popover,\n// DragIndicatorIcon,\n// } from \"@gc360/shared-base-components\";\n// import { GenericTitle } from \"@gc360/shared-styleguide\";\n\n// const ContentModal = ({\n// id,\n// title,\n// open,\n// onClose,\n// className,\n// style,\n// children,\n// draggableFullScreen,\n// setDraggableFullScreen,\n// type,\n// toggleButtonRef,\n// showThumbnails,\n// setShowThumbnails,\n// setOpen,\n// }) => {\n// const [anchorEl, setAnchorEl] = useState(null);\n// const [contentHeight, setContentHeight] = useState(\"auto\");\n\n// const totalModalRef = useRef(null);\n// const headerRef = useRef(null);\n// const footerRef = useRef(null);\n\n// // Calculate content height after DOM mounts\n\n// useEffect(() => {\n// if (open) {\n// setTimeout(() => {\n// const modal = totalModalRef.current;\n// const header = headerRef.current;\n// const footer = footerRef.current;\n\n// if (modal && header && footer) {\n// const height =\n// modal.offsetHeight - header.offsetHeight - footer.offsetHeight;\n// setContentHeight(height);\n// }\n// }, 0); // defer to next tick\n// }\n// }, [open, draggableFullScreen]);\n\n// const handlePopoverClick = (event) => {\n// setAnchorEl(event.currentTarget);\n// };\n\n// const handlePopoverClose = () => {\n// setAnchorEl(null);\n// };\n\n// const openPopover = Boolean(anchorEl);\n\n// const handleToggleFullscreen = () => {\n// setDraggableFullScreen((prev) => !prev);\n// };\n// const handleCloseScreen = () => {\n// setDraggableFullScreen(false);\n// };\n\n// return (\n// <Dialog\n// open={open}\n// onClose={() => {\n// setOpen(false);\n// setDraggableFullScreen(false);\n// }}\n// draggableFullScreen={draggableFullScreen}\n// maxWidth={draggableFullScreen ? false : \"lg\"}\n// // fullWidth={true}\n// fullWidth={!draggableFullScreen}\n// PaperProps={{\n// style: {\n// margin: draggableFullScreen ? 0 : \"32px\",\n// maxWidth: draggableFullScreen ? \"100vw\" : \"none\",\n// width: draggableFullScreen ? \"100vw\" : \"auto\",\n// height: draggableFullScreen ? \"100vh\" : \"auto\",\n// maxHeight: draggableFullScreen ? \"100vh\" : \"none\",\n// },\n// sx: {\n// \"& .MuiDialogTitle-root\": {\n// padding: draggableFullScreen ? \"8px 16px\" : \"16px 24px\",\n// },\n// \"& .MuiDialogContent-root\": {\n// padding: draggableFullScreen ? \"8px\" : \"24px\",\n// },\n// },\n// }}\n// style={{\n// height: draggableFullScreen ? \"100vh\" : \"auto\",\n// }}\n// sx={{\n// \"& .MuiDialog-container\": {\n// height: draggableFullScreen ? \"100vh\" : \"auto\",\n// },\n// \"& .MuiPaper-root\": {\n// margin: draggableFullScreen ? 0 : \"32px\",\n// maxWidth: draggableFullScreen ? \"100vw\" : \"none\",\n// width: draggableFullScreen ? \"100vw\" : \"auto\",\n// height: draggableFullScreen ? \"100vh\" : \"auto\",\n// },\n// }}\n// >\n// <div ref={totalModalRef}>\n// {/* Top Line */}\n// <div\n// ref={headerRef}\n// style={{\n// background: \"#1976d2\",\n// height: \"7px\",\n// width: \"100%\",\n// boxShadow: \"5px 5px 8px rgba(0, 0, 0, 0.2)\",\n// }}\n// />\n\n// {/* Header / Dialog Title */}\n// <DialogTitle\n// id={id}\n// sx={{\n// m: 0,\n// p: draggableFullScreen ? \"8px 16px\" : \"16px 24px\",\n// boxShadow: \"5px 5px 8px rgba(0, 0, 0, 0.2)\",\n// display: \"flex\",\n// alignItems: \"center\",\n// justifyContent: \"space-between\",\n// zIndex: 999,\n// minHeight: draggableFullScreen ? \"50px\" : \"auto\",\n// }}\n// >\n// {/* Left section: Title and drag icon */}\n// <div className=\"flex items-center gap-2\">\n// <div\n// className=\"flex items-center justify-center bg-[#d5e3ff] h-[50px] w-[25px] cursor-pointer\"\n// role=\"button\"\n// tabIndex={0}\n// >\n// {type === \"content\" ? (\n// <IconButton\n// onClick={() => setShowThumbnails((prev) => !prev)}\n// aria-label=\"Toggle thumbnails\"\n// ref={toggleButtonRef}\n// >\n// <DragIndicatorIcon fontSize=\"medium\" />\n// </IconButton>\n// ) : (\n// <DragIndicatorIcon fontSize=\"medium\" />\n// )}\n// </div>\n// <GenericTitle>{title}</GenericTitle>\n\n// {/* Help Popover */}\n// <Popover\n// id=\"info\"\n// open={openPopover}\n// anchorEl={anchorEl}\n// onClose={handlePopoverClose}\n// anchorOrigin={{\n// vertical: \"bottom\",\n// horizontal: \"center\",\n// }}\n// sx={{\n// \"& .MuiPaper-root\": {\n// maxWidth: \"300px\",\n// padding: \"10px\",\n// borderLeft: \"5px solid #1976d2\",\n// },\n// }}\n// >\n// <div>\n// <GenericTitle>Help</GenericTitle>\n// <p className=\"pl-1\">{title}</p>\n// </div>\n// </Popover>\n// </div>\n\n// {/* Right buttons */}\n// <div className=\"flex items-center pr-2\">\n// <IconButton\n// sx={{ p: \"4px\", mx: \"3px\" }}\n// size=\"small\"\n// onClick={() => {\n// handleToggleFullscreen();\n// }}\n// >\n// {draggableFullScreen ? (\n// <FullscreenExitIcon fontSize=\"large\" />\n// ) : (\n// <FullscreenIcon fontSize=\"large\" />\n// )}\n// </IconButton>\n// <IconButton\n// sx={{ p: \"4px\", mx: \"3px\" }}\n// size=\"small\"\n// onClick={onClose}\n// // onClick={() => {\n// // handleCloseScreen();\n// // }}\n// >\n// <CloseIcon fontSize=\"medium\" />\n// </IconButton>\n// </div>\n// </DialogTitle>\n\n// {/* Modal Content */}\n// <DialogContent\n// sx={{\n// p: draggableFullScreen ? \"8px\" : \"24px\",\n// height: draggableFullScreen ? `calc(100vh - 125px)` : \"600px\",\n// overflowY: \"auto\",\n// display: \"flex\",\n// flexDirection: \"column\",\n// }}\n// >\n// {children}\n// </DialogContent>\n\n// {/* Bottom Line */}\n// <div\n// ref={footerRef}\n// style={{\n// background: \"#d5e3ff\",\n// height: \"4px\",\n// width: \"100%\",\n// boxShadow: \"rgba(0, 0, 0, 0.2) 0px -10px 9px -5px\",\n// }}\n// />\n// </div>\n// </Dialog>\n// );\n// };\n\n// export default ContentModal;\n","const ContentWrapper = ({ children, className, status }) => {\n return (\n <div\n className={`border-2 border-[#c0c0c0] [box-shadow: 0px 3px 5px rgb(0 0 0 / 38%)] rounded overflow-hidden w-full bg-white [box-shadow:0px_2px_2px_rgba(0,0,0,0.15)] ${\n className || \"\"\n } ${status === \"error\" ? \"border !border-red-500\" : \"\"} ${\n status === \"c\" ? \"border !border-green-500\" : \"\"\n }`}\n >\n {children}\n </div>\n );\n};\n\nexport default ContentWrapper;\n","import React from \"react\";\n\nconst MandatoryIndicator = () => {\n return <span style={{ color: \"#A30000\" }}>*</span>;\n};\n\nexport default MandatoryIndicator;\n","import React, { useState } from \"react\";\nimport { GenericTitle } from \"@gc360/shared-styleguide\";\nimport { Popover } from \"@mui/material\";\nimport MandatoryIndicator from \"../mandatory-indicator\";\nimport { InfoOutlined as InfoOutlinedIcon } from \"@mui/icons-material\";\nimport LightTooltip from \"../light-tooltip\";\nimport TicketIcon from \"../../images/ticket_icon.svg\";\nconst LabelsIcons = ({ title, mandatory, onClick }) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const openPopover = Boolean(anchorEl);\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n return (\n <span className=\"flex items-center gap-2 ml-1\">\n <span\n role=\"button\"\n tabIndex=\"-1\"\n onClick={(e) => setAnchorEl(e.currentTarget)}\n sx={{ padding: \"0px 2px\" }}\n aria-label={title}\n >\n <InfoOutlinedIcon\n sx={{ fontSize: 16 }}\n tabIndex={-1}\n aria-hidden=\"true\"\n color=\"primary\"\n />\n </span>\n <Popover\n id=\"info\"\n open={openPopover}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"left\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"left\",\n }}\n sx={{\n \"& .MuiPaper-root\": {\n maxWidth: \"300px\",\n padding: \"10px\",\n borderLeft: \"5px solid #1976d2\",\n },\n }}\n >\n <div>\n <GenericTitle className=\"flex items-center gap-2\">\n More Info{\" \"}\n {onClick && (\n <LightTooltip title=\"Create Ticket\">\n <button aria-label=\"create ticket\" onClick={onClick}>\n <img width={20} src={TicketIcon} alt=\"ticket\" />\n </button>\n </LightTooltip>\n )}\n </GenericTitle>\n <p className=\"pl-1 text-sm\">{title}</p>\n </div>\n </Popover>\n\n {mandatory && <MandatoryIndicator color=\"primary\" />}\n </span>\n );\n};\n\nexport default LabelsIcons;\n","import React, { Children, isValidElement, useRef, useEffect } from \"react\";\nimport CurrencyInput from \"react-currency-input-field\";\n\nconst CustomCurrencyInput = ({\n id,\n value,\n onChange,\n title,\n className,\n disabled,\n currency,\n symbolGiven,\n symbol,\n}) => {\n const extractText = (children) => {\n let text = \"\";\n Children.forEach(children, (child) => {\n if (typeof child === \"string\" || typeof child === \"number\") {\n text += child;\n } else if (isValidElement(child)) {\n text += extractText(child.props.children) || \"Button\";\n }\n });\n\n return text || \"Input\";\n };\n\n const inputRef = useRef(null);\n const caretPosRef = useRef(null);\n const prevValueRef = useRef(\"\");\n\n const handleChange = (e) => {\n caretPosRef.current = e.target.selectionStart;\n prevValueRef.current = e.target.value;\n };\n\n const handleValueChange = (newValue, name, values) => {\n if (values?.formatted === \"-\" || newValue === \"-\") {\n onChange({\n target: {\n name: id,\n value: \"-\",\n },\n });\n return;\n }\n\n let rawValue = newValue || \"\";\n\n if (symbolGiven && (symbol || \"$\")) {\n const prefix = symbol || \"$\";\n if (rawValue.startsWith(prefix)) {\n rawValue = rawValue.slice(prefix.length);\n }\n }\n\n rawValue = rawValue.replace(/,/g, \"\");\n\n onChange({\n target: {\n name: id,\n value: rawValue,\n },\n });\n };\n\n useEffect(() => {\n if (!inputRef.current || caretPosRef.current == null) return;\n\n const prev = prevValueRef.current || \"\";\n const curr = inputRef.current.value || \"\";\n\n if (\n curr === \"-\" ||\n prev === \"-\" ||\n curr.startsWith(\"-\") ||\n prev.startsWith(\"-\")\n ) {\n return;\n }\n\n const prefix = symbolGiven ? symbol || \"$\" : \"\";\n const prefixLen = prefix.length;\n\n if (!prev.startsWith(prefix) && curr.startsWith(prefix)) {\n return;\n }\n\n let caret = caretPosRef.current;\n\n const countCommas = (str, pos) =>\n (str.slice(0, pos).match(/,/g) || []).length;\n\n const prevCommas = countCommas(prev, caret);\n const currCommas = countCommas(curr, caret);\n\n caret += currCommas - prevCommas;\n\n if (caret < prefixLen) caret = prefixLen;\n\n requestAnimationFrame(() => {\n inputRef.current.setSelectionRange(caret, caret);\n });\n }, [value]);\n\n return (\n <div className=\"flex relative items-center bg-[#f9fafa] border rounded p-1 !py-[4px] w-full\">\n <CurrencyInput\n aria-label={id || extractText(title)}\n id={id}\n disabled={disabled}\n value={\n symbolGiven && (symbol || \"$\")\n ? value && typeof value === \"string\"\n ? value\n : value && typeof value === \"number\"\n ? value.toString()\n : \"\"\n : value\n ? value\n : \"\"\n }\n allowNegativeValue={true}\n onValueChange={handleValueChange}\n onChange={handleChange}\n ref={inputRef}\n step={1}\n intlConfig={{ locale: \"en-US\" }}\n prefix={symbolGiven ? symbol || \"$\" : \"\"}\n className={`$${\n disabled ? \"font-bold text-neutral-500\" : \"text-black\"\n } px-1 w-full bg-transparent outline-none text-right ${className}`}\n style={{\n boxShadow: \"none\",\n }}\n />\n {currency && (\n <div className=\"absolute top-0 left-0 flex h-full text-gray-500 bg-[#dfdfdf] !bg-opacity-50 items-center px-2\">\n {currency || \"\"}\n </div>\n )}\n\n {title && (\n <label className=\"absolute -top-[10px] text-xs left-3 text-gray-500 bg-white rounded\">\n {title}\n </label>\n )}\n </div>\n );\n};\n\nexport default CustomCurrencyInput;\n","import React from \"react\";\nimport LabelsIcons from \"./labels-icons\";\nimport BlueHeaderText from \"./blue-header-text\";\nimport CustomCurrencyInput from \"./custom-currency-input\";\nconst CurrencyInputWithLabelIcon = ({ label, Icon, helperTitle, ...props }) => {\n return (\n <div className=\"flex items-end gap-3 \">\n <span className=\"mt-1 w-full flex flex-col\">\n <label\n htmlFor=\"title\"\n className={`text-base flex items-center ml-9 ${Icon ? \"ml-9\" : \"\"}`}\n >\n {label}\n <span>\n <LabelsIcons\n title={\n <>\n Have Problem with{\" \"}\n <BlueHeaderText className=\"text-fill-primary mx-1\">\n {helperTitle | \"\"}\n </BlueHeaderText>{\" \"}\n </>\n }\n />\n </span>\n </label>\n <div className=\"flex items-center gap-2 mt-2\">\n {\" \"}\n {Icon && <span className=\"w-7\">{Icon}</span>}\n <CustomCurrencyInput {...props} />\n </div>\n </span>\n </div>\n );\n};\n\nexport default CurrencyInputWithLabelIcon;\n","import React, { forwardRef } from \"react\";\nimport TextField from \"@mui/material/TextField\";\nimport CurrencyInput from \"react-currency-input-field\";\n\nconst CurrencyInputComponent = forwardRef(function CurrencyInputComponent(\n { onChange, name, value, decimalsLimit, ...other },\n ref\n) {\n return (\n <div style={{ padding: \"8.5px 8px\", width: \"100%\" }}>\n <CurrencyInput\n {...other}\n ref={ref}\n value={value} // pass the formatted string\n onValueChange={(val) => {\n const syntheticEvent = {\n target: {\n name,\n value: val === undefined || val === null || val === \"\" ? \"\" : val, // keep as string\n },\n };\n onChange?.(syntheticEvent);\n }}\n allowDecimals\n decimalsLimit={decimalsLimit || 2}\n // fixedDecimalLength={decimalsLimit || 2}\n intlConfig={{ locale: \"en-US\", currency: \"USD\" }}\n prefix=\"$\"\n groupSeparator=\",\"\n decimalSeparator=\".\"\n style={{\n border: \"none\",\n outline: \"none\",\n width: \"100%\",\n font: \"inherit\",\n background: \"transparent\",\n textAlign: \"right\",\n boxSizing: \"border-box\",\n padding: \"8px 12px\",\n }}\n />\n </div>\n );\n});\n\nconst CurrencyTextField = ({\n value,\n onChange,\n label,\n variant = \"outlined\",\n size = \"small\",\n name,\n style = {},\n InputLabelProps = {},\n decimalsLimit = 2,\n ...rest\n}) => {\n return (\n <TextField\n label={label}\n variant={variant}\n size={size}\n value={value ?? \"\"}\n name={name}\n onChange={() => {}}\n InputLabelProps={{\n ...InputLabelProps,\n shrink: true,\n }}\n InputProps={{\n \"aria-label\": label,\n inputComponent: CurrencyInputComponent,\n inputProps: {\n value: value ?? \"\",\n name,\n onChange,\n decimalsLimit,\n },\n }}\n style={{ width: \"100%\", ...style }}\n {...rest}\n />\n );\n};\n\nexport default CurrencyTextField;\n","import PropTypes from \"prop-types\";\n\nconst CommonCustomButton = ({ icon, title, handle, align }) => {\n return (\n <div\n onClick={handle}\n style={{ display: \"flex\", alignItems: \"center\", cursor: \"pointer\" }}\n role=\"button\"\n aria-label={title}\n tabIndex={0}\n >\n {align === \"left\" && icon}\n <span\n style={{\n paddingLeft: align === \"left\" ? \"3px\" : \"0\",\n paddingRight: align === \"right\" ? \"3px\" : \"0\",\n }}\n >\n {title}\n </span>\n {align === \"right\" && icon}\n </div>\n );\n};\n\nCommonCustomButton.propTypes = {\n icon: PropTypes.element.isRequired,\n title: PropTypes.string.isRequired,\n handle: PropTypes.func.isRequired,\n};\n\nexport default CommonCustomButton;\n","import React, {\n Children,\n isValidElement,\n useMemo,\n useRef,\n useLayoutEffect,\n} from \"react\";\n\nconst CustomCurrencyInputWithNegative = ({\n id,\n value,\n onChange,\n title,\n className,\n disabled,\n currency,\n symbolGiven,\n symbol,\n allowNegative = true,\n emptyDisplay = \"symbol\",\n useGrouping = true,\n emitAsNumber = false,\n}) => {\n const extractText = (children) => {\n let text = \"\";\n Children.forEach(children, (child) => {\n if (typeof child === \"string\" || typeof child === \"number\") {\n text += child;\n } else if (isValidElement(child)) {\n text += extractText(child.props.children) || \"Button\";\n }\n });\n\n return text || \"Input\";\n };\n\n const inputRef = useRef(null);\n const pendingCaretRef = useRef(null);\n const negativeZeroIntentRef = useRef(false);\n\n const prefix = symbolGiven === false ? \"\" : symbol || \"$\";\n const isZeroLikeRaw = (raw) => /^(?:-)?0*(?:\\.0{0,2})?$/.test(raw || \"\");\n\n const emitChange = (rawValue) => {\n if (isZeroLikeRaw(rawValue)) {\n negativeZeroIntentRef.current = `${rawValue}`.startsWith(\"-\");\n } else {\n negativeZeroIntentRef.current = false;\n }\n\n let emittedValue = rawValue;\n if (emitAsNumber) {\n if (\n rawValue === \"\" ||\n rawValue === \"-\" ||\n rawValue === \".\" ||\n rawValue === \"-.\" ||\n rawValue.endsWith(\".\")\n ) {\n emittedValue = null;\n } else {\n const parsed = Number(rawValue);\n emittedValue = Number.isNaN(parsed) ? null : parsed;\n }\n }\n\n onChange({\n target: {\n name: id,\n value: emittedValue,\n },\n });\n };\n\n const sanitizeToRaw = (input) => {\n const source = `${input ?? \"\"}`.trim();\n if (!source) return \"\";\n\n const isNegative = allowNegative && source.includes(\"-\");\n const hasDot = source.includes(\".\");\n\n const escapedPrefix = prefix.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n const unsigned = source\n .replace(/-/g, \"\")\n .replace(escapedPrefix ? new RegExp(escapedPrefix, \"g\") : /$^/, \"\");\n const filtered = unsigned.replace(/[^\\d.]/g, \"\");\n\n const firstDotIndex = filtered.indexOf(\".\");\n const normalized =\n firstDotIndex === -1\n ? filtered\n : `${filtered.slice(0, firstDotIndex)}.${filtered\n .slice(firstDotIndex + 1)\n .replace(/\\./g, \"\")}`;\n\n const [integerPartRaw = \"\", decimalPartRaw = \"\"] = normalized.split(\".\");\n const integerPart = integerPartRaw.replace(/^0+(?=\\d)/, \"\");\n const decimalPart = decimalPartRaw.slice(0, 2);\n\n let result = integerPart;\n if (normalized.includes(\".\") || hasDot) {\n result = `${integerPart}.`;\n if (decimalPart) {\n result += decimalPart;\n }\n }\n\n if (!result && isNegative) return \"-\";\n if (!result) return \"\";\n return isNegative ? `-${result}` : result;\n };\n\n const addGrouping = (digits) => {\n if (!useGrouping || !digits) return digits;\n return digits.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n };\n\n const formatDisplay = (rawInput) => {\n const raw = `${rawInput ?? \"\"}`;\n if (!raw || raw === \"\") {\n if (emptyDisplay === \"zero\") {\n return `${prefix}0.00`;\n }\n return prefix;\n }\n\n if (raw === \"-\") {\n return allowNegative ? `-${prefix}` : prefix;\n }\n\n const negative = allowNegative && raw.startsWith(\"-\");\n const unsigned = negative ? raw.slice(1) : raw;\n const [intRaw = \"\", decRaw = \"\"] = unsigned.split(\".\");\n const intPart = addGrouping(intRaw);\n const withDot = unsigned.includes(\".\");\n const amount = withDot ? `${intPart}.${decRaw}` : intPart;\n\n return `${negative ? \"-\" : \"\"}${prefix}${amount}`;\n };\n\n const propRawValue = useMemo(() => {\n if (value === null || value === undefined) return \"\";\n if (typeof value === \"number\") {\n if (Number.isNaN(value)) return \"\";\n if (Object.is(value, -0)) return \"-0.00\";\n if (value === 0 && negativeZeroIntentRef.current) return \"-0.00\";\n return sanitizeToRaw(value.toString());\n }\n const raw = sanitizeToRaw(value);\n if (\n isZeroLikeRaw(raw) &&\n !raw.startsWith(\"-\") &&\n negativeZeroIntentRef.current\n ) {\n return \"-0.00\";\n }\n return raw;\n }, [value]);\n\n const displayValue = useMemo(\n () => formatDisplay(propRawValue),\n [propRawValue]\n );\n\n const editableCountBefore = (text, end) => {\n const chunk = (text || \"\").slice(0, end);\n return (chunk.match(/[\\d.]/g) || []).length;\n };\n\n const caretFromEditableCount = (text, count) => {\n if (count <= 0) {\n return text.startsWith(\"-\") ? prefix.length + 1 : prefix.length;\n }\n\n let seen = 0;\n for (let i = 0; i < text.length; i += 1) {\n if (/[\\d.]/.test(text[i])) {\n seen += 1;\n if (seen >= count) return i + 1;\n }\n }\n return text.length;\n };\n\n useLayoutEffect(() => {\n if (!inputRef.current || pendingCaretRef.current == null) return;\n const caret = pendingCaretRef.current;\n pendingCaretRef.current = null;\n inputRef.current.setSelectionRange(caret, caret);\n }, [displayValue]);\n\n const handleChange = (e) => {\n const typedValue = e.target.value;\n const selectionStart = e.target.selectionStart ?? typedValue.length;\n const editableChars = editableCountBefore(typedValue, selectionStart);\n const inputType = e.nativeEvent?.inputType || \"\";\n const isBackwardDelete = inputType === \"deleteContentBackward\";\n\n let nextRaw = sanitizeToRaw(typedValue);\n\n if (\n isBackwardDelete &&\n allowNegative &&\n propRawValue.startsWith(\"-\") &&\n isZeroLikeRaw(nextRaw)\n ) {\n nextRaw = emptyDisplay === \"zero\" ? \"0.00\" : \"\";\n }\n\n if (\n allowNegative &&\n negativeZeroIntentRef.current &&\n !isBackwardDelete &&\n nextRaw &&\n nextRaw !== \"-\" &&\n !nextRaw.startsWith(\"-\")\n ) {\n nextRaw = `-${nextRaw}`;\n }\n\n const nextDisplay = formatDisplay(nextRaw);\n\n pendingCaretRef.current = caretFromEditableCount(\n nextDisplay,\n editableChars\n );\n emitChange(nextRaw);\n };\n\n const toggleNegative = () => {\n if (!allowNegative) return;\n const curr = propRawValue;\n const currentDisplay = formatDisplay(curr);\n const caretStart =\n inputRef.current?.selectionStart ?? currentDisplay.length;\n\n let next = curr.startsWith(\"-\") ? curr.slice(1) : `-${curr || \"\"}`;\n if (emptyDisplay === \"zero\" && isZeroLikeRaw(curr)) {\n next = curr.startsWith(\"-\") ? \"0.00\" : \"-0.00\";\n }\n\n const nextDisplay = formatDisplay(next);\n\n const addingMinus =\n !currentDisplay.startsWith(\"-\") && nextDisplay.startsWith(\"-\");\n const removingMinus =\n currentDisplay.startsWith(\"-\") && !nextDisplay.startsWith(\"-\");\n\n let nextCaret = caretStart;\n if (addingMinus) nextCaret += 1;\n if (removingMinus) nextCaret -= 1;\n nextCaret = Math.max(0, Math.min(nextCaret, nextDisplay.length));\n\n pendingCaretRef.current = nextCaret;\n emitChange(next);\n };\n\n const handleKeyDown = (e) => {\n if (disabled) return;\n if (e.ctrlKey || e.metaKey || e.altKey) return;\n\n const key = e.key;\n const allowedControlKeys = [\n \"Delete\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Home\",\n \"End\",\n \"Tab\",\n \"Enter\",\n \"Escape\",\n ];\n\n if (allowedControlKeys.includes(key)) return;\n\n if (key === \"Backspace\") {\n const start = e.target.selectionStart ?? 0;\n const end = e.target.selectionEnd ?? start;\n const isNegative = displayValue.startsWith(\"-\");\n const editableStart = prefix.length + (isNegative ? 1 : 0);\n\n if (\n start === end &&\n isZeroLikeRaw(propRawValue) &&\n propRawValue.startsWith(\"-\")\n ) {\n e.preventDefault();\n emitChange(emptyDisplay === \"zero\" ? \"0.00\" : \"\");\n pendingCaretRef.current = Math.max(0, start - 1);\n return;\n }\n\n if (start === end && isNegative && start === 1) {\n e.preventDefault();\n const unsigned = propRawValue.startsWith(\"-\")\n ? propRawValue.slice(1)\n : propRawValue;\n const next =\n isZeroLikeRaw(propRawValue) && emptyDisplay === \"zero\"\n ? \"0.00\"\n : unsigned;\n pendingCaretRef.current = Math.max(0, start - 1);\n emitChange(next);\n return;\n }\n\n if (start === end && start <= editableStart) {\n e.preventDefault();\n\n const negative = propRawValue.startsWith(\"-\");\n const unsigned = negative ? propRawValue.slice(1) : propRawValue;\n\n if (!unsigned) {\n emitChange(negative ? \"-\" : \"\");\n return;\n }\n\n const trimmedUnsigned = unsigned.slice(0, -1);\n const next = `${negative ? \"-\" : \"\"}${trimmedUnsigned}`;\n\n if (next === \"-\") {\n pendingCaretRef.current = 1;\n emitChange(next);\n return;\n }\n\n const nextDisplay = formatDisplay(next);\n pendingCaretRef.current = nextDisplay.length;\n emitChange(next);\n return;\n }\n return;\n }\n\n if (key === \"-\") {\n e.preventDefault();\n\n if (isZeroLikeRaw(propRawValue) && propRawValue.startsWith(\"-\")) {\n emitChange(\"0.00\");\n pendingCaretRef.current = Math.max(\n 0,\n (inputRef.current?.selectionStart ?? 1) - 1\n );\n return;\n }\n\n toggleNegative();\n return;\n }\n\n if (key === \".\") {\n const currentRaw = propRawValue.startsWith(\"-\")\n ? propRawValue.slice(1)\n : propRawValue;\n\n if (currentRaw.includes(\".\")) {\n e.preventDefault();\n const dotIndex = displayValue.indexOf(\".\");\n if (dotIndex >= 0) {\n const nextCaret = dotIndex + 1;\n pendingCaretRef.current = nextCaret;\n requestAnimationFrame(() => {\n if (inputRef.current) {\n inputRef.current.setSelectionRange(nextCaret, nextCaret);\n }\n });\n }\n }\n return;\n }\n\n if (/\\d/.test(key)) return;\n\n e.preventDefault();\n };\n\n const handleBlur = () => {\n const current = propRawValue;\n if (!current || current === \"-\") {\n if (emptyDisplay === \"zero\") {\n emitChange(current === \"-\" && allowNegative ? \"-0.00\" : \"0.00\");\n } else {\n emitChange(\"\");\n }\n return;\n }\n\n const negative = current.startsWith(\"-\");\n const unsigned = negative ? current.slice(1) : current;\n const [intPart = \"0\", decPart = \"\"] = unsigned.split(\".\");\n const finalized = `${negative ? \"-\" : \"\"}${intPart || \"0\"}.${(decPart || \"\")\n .slice(0, 2)\n .padEnd(2, \"0\")}`;\n\n if (finalized !== current) {\n emitChange(finalized);\n }\n };\n\n const handleFocus = (e) => {\n requestAnimationFrame(() => {\n e.target.select();\n });\n };\n\n return (\n <div className=\"flex relative items-center bg-[#f9fafa] border rounded p-1 !py-[4px] w-full\">\n <input\n type=\"text\"\n inputMode=\"decimal\"\n autoComplete=\"off\"\n spellCheck={false}\n aria-label={id || extractText(title)}\n id={id}\n disabled={disabled}\n value={displayValue}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n onFocus={handleFocus}\n ref={inputRef}\n className={`${\n disabled ? \"font-bold text-neutral-500\" : \"text-black\"\n } px-1 w-full bg-transparent outline-none text-right ${className}`}\n style={{\n boxShadow: \"none\",\n }}\n />\n {currency && (\n <div className=\"absolute top-0 left-0 flex h-full text-gray-500 bg-[#dfdfdf] !bg-opacity-50 items-center px-2\">\n {currency || \"\"}\n </div>\n )}\n\n {title && (\n <label className=\"absolute -top-[10px] text-xs left-3 text-gray-500 bg-white rounded\">\n {title}\n </label>\n )}\n </div>\n );\n};\n\nexport default CustomCurrencyInputWithNegative;\n","import React, { useRef, useState } from \"react\";\nimport { Delete as DeleteIcon, Attachment as AttachmentIcon } from \"@mui/icons-material\";\nimport IconButton from \"../icon-button\";\nimport { Grid } from \"@mui/material\";\n\nconst CustomDropZone = ({\n id,\n files,\n setFiles,\n onSave,\n acceptedFileTypes,\n multiple = false,\n maxFiles,\n maxFileSize,\n}) => {\n const [error, setError] = useState(\"\");\n const [inputKey, setInputKey] = useState(Date.now());\n const inputRef = useRef(null);\n\n const addFileType = (file) => {\n if (!file.fileType) {\n file.fileType = \".\" + (file.name.split(\".\").pop() || \"\").toLowerCase();\n }\n return file;\n };\n\n const validateFile = (file) => {\n if (file.size === 0) {\n setError(`File is empty: ${file.name}`);\n return false;\n }\n\n if (acceptedFileTypes) {\n const fileType = file.type;\n const fileExtension = \".\" + file.name.split(\".\").pop().toLowerCase();\n\n const types = acceptedFileTypes.split(\",\");\n const isValidType = types.some(\n (type) =>\n fileType.includes(type.trim()) ||\n fileExtension === type.trim().toLowerCase()\n );\n\n if (!isValidType) {\n setError(`File type not allowed: ${file.name}`);\n return false;\n }\n }\n\n if (maxFileSize && file.size > maxFileSize * 1024 * 1024) {\n setError(`File too large: ${file.name} (max size: ${maxFileSize}MB)`);\n return false;\n }\n\n return true;\n };\n\n const handleFileDrop = (e) => {\n e.preventDefault();\n setError(\"\");\n\n let newFiles = Array.from(e.dataTransfer.files);\n\n if (newFiles.length === 0) return;\n\n newFiles = newFiles.filter(validateFile).map(addFileType);\n\n if (multiple === false && (files.length > 0 || newFiles.length > 1)) {\n setError(\"Only one file allowed\");\n\n if (newFiles.length > 0) {\n newFiles = [newFiles[0]];\n } else {\n return;\n }\n } else if (maxFiles && files.length + newFiles.length > maxFiles) {\n setError(`Maximum ${maxFiles} files allowed`);\n newFiles = newFiles.slice(0, Math.max(0, maxFiles - files.length));\n\n if (newFiles.length === 0) return;\n }\n\n const updatedFiles = multiple ? [...files, ...newFiles] : newFiles;\n\n setFiles(updatedFiles);\n\n if (onSave) {\n onSave(updatedFiles);\n }\n };\n\n const handleFileChange = (e) => {\n setError(\"\");\n\n let newFiles = Array.from(e.target.files)\n .filter(validateFile)\n .map(addFileType);\n\n if (newFiles.length === 0) {\n e.target.value = \"\";\n return;\n }\n\n if (multiple === false && (files.length > 0 || newFiles.length > 1)) {\n setError(\"Only one file allowed\");\n\n if (newFiles.length > 0) {\n newFiles = [newFiles[0]];\n } else {\n return;\n }\n } else if (maxFiles && files.length + newFiles.length > maxFiles) {\n setError(`Maximum ${maxFiles} files allowed`);\n newFiles = newFiles.slice(0, Math.max(0, maxFiles - files.length));\n\n if (newFiles.length === 0) return;\n }\n\n const updatedFiles = multiple ? [...files, ...newFiles] : newFiles;\n\n setFiles(updatedFiles);\n\n if (onSave) {\n onSave(updatedFiles);\n }\n\n e.target.value = \"\";\n };\n\n const handleFileDelete = (fileName) => {\n setError(\"\");\n\n const updatedFiles = files.filter((file) => file.name !== fileName);\n\n setFiles(updatedFiles);\n setInputKey(Date.now());\n\n if (onSave) {\n onSave(updatedFiles);\n }\n };\n\n const handleDragOver = (e) => {\n e.preventDefault();\n };\n\n const handleZoneClick = () => {\n inputRef.current?.click();\n };\n\n const isImageFile = (file) => {\n return file && file.type.startsWith(\"image/\");\n };\n\n const formatFileSize = (bytes) => {\n if (bytes === 0) return \"0 Bytes\";\n\n const k = 1024;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + \" \" + sizes[i];\n };\n\n return (\n <div>\n {/* eslint-disable-next-line */}\n <div\n style={{\n border: \"2px dashed #ccc\",\n padding: \"20px\",\n textAlign: \"center\",\n cursor: \"pointer\",\n }}\n onDrop={handleFileDrop}\n onDragOver={handleDragOver}\n onClick={handleZoneClick}\n >\n <div className=\"text-lg\">\n Drag & Drop files here or click anywhere to upload\n {!multiple && \" (single file only)\"}\n </div>\n\n <p className=\"text-xs text-gray-500\">\n {acceptedFileTypes && `Accepted file types: ${acceptedFileTypes}`}\n {maxFileSize && ` • Max size: ${maxFileSize}MB`}\n {maxFiles && ` • Max files: ${multiple ? maxFiles : 1}`}\n </p>\n\n <input\n ref={inputRef}\n type=\"file\"\n multiple={multiple}\n onChange={handleFileChange}\n style={{ display: \"none\" }}\n id={id || \"file-input\"}\n accept={acceptedFileTypes}\n key={inputKey}\n />\n </div>\n\n {error && <div style={{ color: \"red\", marginTop: \"10px\" }}>{error}</div>}\n\n {(files || []).length > 0 && (\n <Grid container className=\"mt-1\">\n {(files || []).map((file, index) => (\n <Grid\n item\n xs={12}\n md={6}\n lg={4}\n key={index}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: \"10px\",\n paddingLeft: \"10px\",\n paddingRight: \"10px\",\n paddingTop: \"2px\",\n paddingBottom: \"2px\",\n }}\n >\n <div className=\"w-full border rounded shadow flex items-center justify-between p-2\">\n <div className=\"flex items-center gap-1 overflow-hidden\">\n {isImageFile(file) ? (\n <img\n src={URL.createObjectURL(file)}\n alt={file.name}\n style={{\n width: \"50px\",\n height: \"50px\",\n marginRight: \"10px\",\n objectFit: \"cover\",\n flexShrink: 0,\n }}\n />\n ) : (\n <div\n style={{\n width: \"50px\",\n height: \"50px\",\n marginRight: \"10px\",\n backgroundColor: \"#ccc\",\n transform: \"rotate(270deg)\",\n flexShrink: 0,\n }}\n className=\"flex items-center justify-center\"\n >\n <AttachmentIcon sx={{ fontSize: 30 }} />\n </div>\n )}\n\n <div className=\"overflow-hidden\">\n <div className=\"truncate text-sm\" title={file.name}>\n {file.name}\n </div>\n\n <div className=\"text-xs text-gray-500\">\n {formatFileSize(file.size)}\n </div>\n\n {/* Optional: remove if you don't want to display */}\n <div className=\"text-xs text-gray-400\">{file.fileType}</div>\n </div>\n </div>\n\n <IconButton\n onClick={() => handleFileDelete(file.name)}\n style={{ flexShrink: 0 }}\n >\n <DeleteIcon color=\"error\" />\n </IconButton>\n </div>\n </Grid>\n ))}\n </Grid>\n )}\n </div>\n );\n};\n\nexport default CustomDropZone;\n","import { useState } from \"react\";\nimport ContentWrapper from \"./GenericRequestComponents/content-wrapper\";\nimport IconButton from \"./icon-button\";\nimport { Paper, Popover, Typography } from \"@mui/material\";\nimport LightTooltip from \"./light-tooltip\";\nimport FunctionsIcon from \"@mui/icons-material/Functions\";\n\nconst FormulaIcon = ({ formula, color, fontSize }) => {\n const [anchorEl, setAnchorEl] = useState(null);\n\n const handleOpen = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const open = Boolean(anchorEl);\n const id = open ? \"formula-popover\" : undefined;\n\n return (\n <>\n <LightTooltip title=\"Formula\">\n <IconButton\n size=\"small\"\n sx={{ color: color || \"#1976d2\" }}\n onClick={handleOpen}\n >\n <FunctionsIcon\n color=\"inherit\"\n style={{ fontSize: fontSize || \"18px\" }}\n />\n </IconButton>\n </LightTooltip>\n\n <Popover\n id={id}\n open={open}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"left\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"left\",\n }}\n >\n <ContentWrapper className=\"p-2\">\n <Paper\n className=\"p-1\"\n sx={{\n width: \"400px\",\n minHeight: \"200px\",\n maxWidth: \"90vw\",\n }}\n >\n <Typography\n variant=\"body2\"\n sx={{\n whiteSpace: \"pre-line\", // ✅ preserves line breaks\n fontFamily: \"monospace\", // optional: cleaner formula style\n }}\n >\n {formula}\n </Typography>\n </Paper>\n </ContentWrapper>\n </Popover>\n </>\n );\n};\n\nexport default FormulaIcon;\n","import { useState } from \"react\";\nimport ContentWrapper from \"./GenericRequestComponents/content-wrapper\";\nimport IconButton from \"./icon-button\";\nimport { InfoOutlined as InfoOutlinedIcon } from \"@mui/icons-material\";\nimport { Paper, Popover, Typography } from \"@mui/material\";\nimport LightTooltip from \"./light-tooltip\";\n\nconst InformationIcon = ({ info, color, fontSize }) => {\n const [anchorEl, setAnchorEl] = useState(null);\n\n const handleOpen = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const open = Boolean(anchorEl);\n const id = open ? \"simple-popover\" : undefined;\n\n return (\n <>\n <LightTooltip title=\"Info\">\n <IconButton\n size=\"small\"\n sx={{ color: color || \"#1976d2\" }}\n onClick={handleOpen}\n aria-label=\"info\"\n >\n <InfoOutlinedIcon\n color=\"inherit\"\n style={{ fontSize: fontSize || \"18px\" }}\n />\n </IconButton>\n </LightTooltip>\n\n <Popover\n id={id}\n open={open}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"left\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"left\",\n }}\n >\n <ContentWrapper className=\"p-2\">\n <Paper\n className=\"p-1\"\n sx={{\n width: \"400px\",\n minHeight: \"200px\",\n maxWidth: \"90vw\",\n }}\n >\n <Typography\n sx={{\n whiteSpace: \"pre-line\", // ✅ preserves line breaks\n fontFamily: \"monospace\", // optional: cleaner formula style\n }}\n variant=\"body2\"\n >\n {info}\n </Typography>\n </Paper>\n </ContentWrapper>\n </Popover>\n </>\n );\n};\n\nexport default InformationIcon;\n","import FormulaIcon from \"./formula-icon\";\nimport InformationIcon from \"./information-icon\";\n\nconst CustomHeaderComponent = (props) => {\n const { displayName, info, title, formula } = props;\n const headerTitle = title || displayName;\n\n const sort = props.column ? props.column.getSort() : null;\n const setSort = () => {\n let nextSort;\n if (sort === \"asc\") nextSort = \"desc\";\n else if (sort === \"desc\") nextSort = null;\n else nextSort = \"asc\";\n if (props.setSort) {\n props.setSort(nextSort);\n } else if (props.column && props.columnApi) {\n props.columnApi.applyColumnState({\n state: [{ colId: props.column.getColId(), sort: nextSort }],\n defaultState: { sort: null },\n });\n }\n if (props.api && props.api.refreshHeader) {\n props.api.refreshHeader();\n }\n };\n\n return (\n <div\n className=\"flex ag-header-cell-text items-center gap-2 ag-header-cell-text\"\n style={{ cursor: \"pointer\", color: \"var(--color-table-header)\" }}\n title={headerTitle}\n role=\"button\"\n tabIndex={0}\n aria-label=\"info\"\n onClick={setSort}\n >\n {info && (\n <span\n role=\"button\"\n tabIndex={0}\n aria-label=\"info\"\n onClick={(e) => e.stopPropagation()}\n >\n <InformationIcon\n color=\"inherit\"\n info={info && info.length > 0 ? info : headerTitle}\n />\n </span>\n )}\n\n <span className=\"font-ibm\" sx={{ color: \"var(--color-table-header)\" }}>\n {headerTitle}\n </span>\n {sort === \"asc\" && (\n <span className=\"ag-sort-indicator-container\" data-ref=\"eSortIndicator\">\n {\" \"}\n <span\n className=\"ag-sort-indicator-icon ag-sort-order ag-hidden\"\n data-ref=\"eSortOrder\"\n aria-hidden=\"true\"\n >\n 1\n </span>{\" \"}\n <span\n className=\"ag-sort-indicator-icon ag-sort-ascending-icon\"\n data-ref=\"eSortAsc\"\n aria-hidden=\"true\"\n >\n <span\n className=\"ag-icon ag-icon-asc\"\n role=\"presentation\"\n unselectable=\"on\"\n ></span>\n </span>{\" \"}\n <span\n className=\"ag-sort-indicator-icon ag-sort-descending-icon ag-hidden\"\n data-ref=\"eSortDesc\"\n aria-hidden=\"true\"\n >\n <span\n className=\"ag-icon ag-icon-desc\"\n role=\"presentation\"\n unselectable=\"on\"\n ></span>\n </span>{\" \"}\n <span\n className=\"ag-sort-indicator-icon ag-sort-mixed-icon ag-hidden\"\n data-ref=\"eSortMixed\"\n aria-hidden=\"true\"\n >\n <span\n className=\"ag-icon ag-icon-none\"\n role=\"presentation\"\n unselectable=\"on\"\n ></span>\n </span>{\" \"}\n <span\n className=\"ag-sort-indicator-icon ag-sort-none-icon ag-hidden\"\n data-ref=\"eSortNone\"\n aria-hidden=\"true\"\n >\n <span\n className=\"ag-icon ag-icon-none\"\n role=\"presentation\"\n unselectable=\"on\"\n ></span>\n </span>{\" \"}\n </span>\n )}\n {sort === \"desc\" && (\n <span className=\"ag-sort-indicator-container\" data-ref=\"eSortIndicator\">\n {\" \"}\n <span\n className=\"ag-sort-indicator-icon ag-sort-order ag-hidden\"\n data-ref=\"eSortOrder\"\n aria-hidden=\"true\"\n >\n 1\n </span>{\" \"}\n <span\n className=\"ag-sort-indicator-icon ag-sort-ascending-icon ag-hidden\"\n data-ref=\"eSortAsc\"\n aria-hidden=\"true\"\n >\n <span\n className=\"ag-icon ag-icon-asc\"\n role=\"presentation\"\n unselectable=\"on\"\n ></span>\n </span>{\" \"}\n <span\n className=\"ag-sort-indicator-icon ag-sort-descending-icon\"\n data-ref=\"eSortDesc\"\n aria-hidden=\"true\"\n >\n <span\n className=\"ag-icon ag-icon-desc\"\n role=\"presentation\"\n unselectable=\"on\"\n ></span>\n </span>{\" \"}\n <span\n className=\"ag-sort-indicator-icon ag-sort-mixed-icon ag-hidden\"\n data-ref=\"eSortMixed\"\n aria-hidden=\"true\"\n >\n <span\n className=\"ag-icon ag-icon-none\"\n role=\"presentation\"\n unselectable=\"on\"\n ></span>\n </span>{\" \"}\n <span\n className=\"ag-sort-indicator-icon ag-sort-none-icon ag-hidden\"\n data-ref=\"eSortNone\"\n aria-hidden=\"true\"\n >\n <span\n className=\"ag-icon ag-icon-none\"\n role=\"presentation\"\n unselectable=\"on\"\n ></span>\n </span>{\" \"}\n </span>\n )}\n {formula && (\n <span\n role=\"button\"\n tabIndex={0}\n aria-label=\"formula\"\n onClick={(e) => e.stopPropagation()}\n >\n <FormulaIcon color=\"inherit\" formula={formula} />\n </span>\n )}\n </div>\n );\n};\n\nexport default CustomHeaderComponent;\n","import React, { useMemo, useEffect } from \"react\";\nimport { AgGridReact } from \"ag-grid-react\";\nimport { AllCommunityModule, ModuleRegistry } from \"ag-grid-community\";\n\nModuleRegistry.registerModules([AllCommunityModule]);\n\nconst CustomGridTable = ({\n columns = [],\n data = [],\n totals = [],\n loading = false,\n enableSelection = false,\n onSelect = () => {},\n height = `${window.innerHeight - 337}px`,\n defaultColDef = { resizable: true },\n contextObj = null,\n paginationPageSize = 25,\n paginationPageSizeSelector = [5, 10, 25, 50, 75, 100],\n pagination,\n ...props\n}) => {\n const colDefs = useMemo(\n () => [\n ...(enableSelection\n ? [\n {\n headerCheckboxSelection: true,\n checkboxSelection: true,\n sortable: false,\n pinned: \"left\",\n maxWidth: 50,\n suppressMenu: true,\n suppressMovable: true,\n id: \"checkbox\",\n },\n ]\n : []),\n ...columns,\n ],\n [columns, enableSelection]\n );\n const enablePagination =\n pagination !== undefined ? pagination : data.length > 50;\n const getRowId = (params) => params.data.defaultId;\n\n const defColDef = useMemo(\n () => ({\n flex: 1,\n minWidth: 200,\n // Header fixes\n wrapHeaderText: false, // don't wrap unless required\n autoHeaderHeight: false, // let headerHeight control it\n\n // Row fixes\n wrapText: true, // keep rows consistent\n autoHeight: true, // avoid dynamic row heights\n ...defaultColDef,\n }),\n [defaultColDef]\n );\n\n const onSelectionChanged = (event) => {\n const selectedRows = event.api.getSelectedRows();\n onSelect(selectedRows);\n };\n\n useEffect(() => {\n const allowedRoles = [\"row\", \"rowgroup\"];\n const gridRoots = document.querySelectorAll(\n '.ag-root[role=\"grid\"] .ag-header .ag-header-row.ag-header-row-group'\n );\n gridRoots.forEach((child) => {\n const role = child.getAttribute(\"role\");\n if (!child.hasChildNodes()) {\n child.removeAttribute(\"tabindex\");\n child.removeAttribute(\"role\");\n child.removeAttribute(\"aria-rowindex\");\n return;\n }\n\n // Remove tabindex if not allowed, allowing keyboard navigation to work correctly within the grid structure\n if (\n child.hasAttribute(\"tabindex\") &&\n (!role || !allowedRoles.includes(role))\n ) {\n child.removeAttribute(\"tabindex\");\n }\n\n // Remove forbidden roles\n if (role && !allowedRoles.includes(role)) {\n child.removeAttribute(\"role\");\n }\n });\n }, [data, colDefs]); // Depend on data that causes re-renders\n\n return (\n <div className=\"ag-theme-alpine\" style={{ width: \"100%\", height }}>\n <AgGridReact\n rowData={(data || []).map((item, index) => {\n return {\n ...item,\n defaultId: `Row-${index + 1}`, // unique ID for each row\n };\n })} // the actual row data to display\n getRowId={getRowId}\n loading={loading} // shows AG Grid loading overlay when true\n columnDefs={colDefs} // column definitions (with selection col if enabled)\n defaultColDef={defColDef} // default config applied to every column\n immutableData // optimizes updates when rowData is immutable (React style)\n pinnedBottomRowData={totals} // adds a pinned \"totals\" row at the bottom of the grid\n onSelectionChanged={onSelectionChanged} // callback when row selection changes\n rowSelection={enableSelection ? \"multiple\" : \"none\"} // enable/disable multi-row selection\n rowMultiSelectWithClick // allow multiple rows selection with simple click (no Ctrl/Shift)\n rowHeight={36} // fixed row height (px)\n headerHeight={34} // fixed header row height (px)\n footerHeight={32} // fixed footer height (for pinned bottom row)\n suppressDragLeaveHidesColumns={true} // prevents columns from disappearing when dragged outside grid\n popupParent={document.body} // ensures popups (menus, filters) render at body level (fixes z-index issues)\n paginationPageSize={paginationPageSize} // rows per page\n paginationPageSizeSelector={paginationPageSizeSelector} // dropdown options for page size\n columnMoveMode=\"print\" // column reordering mode (better UX for drag/drop)\n {...props} // spread additional props (flexibility for wrapper component)\n pagination={enablePagination} // for enabling or disabling the pagination based on the data length or explicit prop\n />\n </div>\n );\n};\n\nexport default React.memo(CustomGridTable);\n","import React from \"react\";\n\nconst CustomGridTableWrapper = ({ children, className, style }) => {\n return (\n <div className={`mb-1 w-full p-3 ${className ? className : \"\"}`}>\n <div className=\"w-full\">{children}</div>\n </div>\n );\n};\n\nexport default CustomGridTableWrapper;\n","import React from \"react\";\nimport { Autocomplete, FormControl, TextField } from \"@mui/material\";\n\nconst checkIfError = (msg) => msg && typeof msg === \"string\" && msg.length > 0;\n\nconst AdvanceDropDownList = ({\n variant,\n size,\n id,\n label,\n value,\n onChange,\n options,\n errorMessage,\n disableClearable,\n disabled,\n renderOption,\n}) => {\n return (\n <FormControl style={{ width: \"100%\" }} error={checkIfError(errorMessage)}>\n <Autocomplete\n id={id}\n options={options}\n getOptionLabel={(option) => option.value || \"\"}\n renderOption={renderOption}\n value={\n value && Array.isArray(options) && options.length > 0\n ? options.filter((item) => item.id === value)[0]\n : \"\"\n }\n disabled={disabled}\n disableClearable={disableClearable}\n onChange={(e, newValue) => {\n const event = { ...e };\n event.target = { name: id || \"\", value: newValue.id || \"\" };\n onChange(event);\n }}\n componentsProps={{\n paper: {\n sx: {\n \"& .MuiAutocomplete-listbox\": {\n padding: 0,\n },\n \"& .MuiAutocomplete-option\": {\n fontSize: \"13px\",\n padding: \"4px 8px\",\n minHeight: \"unset\",\n },\n },\n },\n }}\n renderInput={(params) => (\n <>\n {!label ? (\n <label htmlFor={id} style={{ display: \"none\" }}>\n {id}\n </label>\n ) : null}\n <TextField\n {...params}\n label={label}\n variant={variant}\n InputLabelProps={{ shrink: true }}\n size={size}\n inputProps={{\n ...params.inputProps,\n \"aria-labelledby\": id,\n autoComplete: \"new-password\",\n style: { padding: \"2px 2px\", fontSize: \"12px\" }, // Style of the input\n }}\n />\n </>\n )}\n />\n </FormControl>\n );\n};\n\nAdvanceDropDownList.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n option: [],\n errorMessage: null,\n disabled: false,\n};\n\nexport default AdvanceDropDownList;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport FormControl from \"@mui/material/FormControl\";\nimport TextField from \"@mui/material/TextField\";\n\nconst checkIfError = (msg) =>\n !!msg && typeof msg === \"string\" && msg.length > 0;\n\nconst CustomMuiTextBox = ({\n variant,\n size,\n id,\n label,\n value,\n required,\n errorMessage,\n onChange,\n type,\n multiline,\n rows,\n inputProps,\n InputProps,\n InputLabelProps,\n onBlur,\n disabled,\n placeholder,\n onKeyPress,\n ariaLabel,\n}) => {\n const textboxValue = [0, \"0\"].indexOf(value) > -1 ? value : value || \"\";\n\n const handleKeyPress = (event) => {\n const charCode = event.charCode;\n const key = String.fromCharCode(charCode);\n const allowedCharacters = /^[A-Za-z0-9_-]$/;\n\n if (!allowedCharacters.test(key)) {\n event.preventDefault();\n }\n\n if (event.key === \"e\" || event.key === \"E\" || event.key === \"-\") {\n event.preventDefault();\n }\n };\n\n return (\n <FormControl style={{ width: \"100%\" }} error={checkIfError(errorMessage)}>\n <TextField\n fullWidth\n variant={variant}\n size={size}\n type={type}\n multiline={multiline}\n rows={rows}\n id={id}\n name={id}\n label={label}\n value={textboxValue}\n onChange={onChange}\n onBlur={onBlur}\n required={required}\n error={checkIfError(errorMessage)}\n helperText={errorMessage}\n inputProps={{\n ...inputProps,\n \"aria-label\": ariaLabel,\n style: { padding: \"2px 2px\", fontSize: \"12px\" }, // Style of the input\n }}\n InputProps={InputProps}\n InputLabelProps={InputLabelProps}\n disabled={disabled}\n placeholder={placeholder}\n onKeyPress={type === \"number\" ? handleKeyPress : onKeyPress}\n />\n </FormControl>\n );\n};\n\nCustomMuiTextBox.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n type: \"text\",\n required: false,\n errorMessage: \"\",\n multiline: false,\n rows: 2,\n inputProps: {},\n InputProps: {},\n InputLabelProps: { shrink: true },\n disabled: false,\n};\n\nCustomMuiTextBox.propTypes = {\n variant: PropTypes.oneOf([\"standard\", \"outlined\", \"filled\"]),\n size: PropTypes.oneOf([null, \"small\", \"medium\"]),\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onChange: PropTypes.func.isRequired,\n onBlur: PropTypes.func,\n type: PropTypes.string,\n required: PropTypes.bool,\n errorMessage: PropTypes.string,\n multiline: PropTypes.bool,\n rows: PropTypes.number,\n inputProps: PropTypes.object,\n InputProps: PropTypes.object,\n InputLabelProps: PropTypes.object,\n disabled: PropTypes.bool,\n};\n\nexport default CustomMuiTextBox;\n","import { styled } from \"@mui/material/styles\";\nimport TableRow from \"@mui/material/TableRow\";\n\nconst StyledTableRow = styled(TableRow)(({ theme }) => ({\n \"&:nth-of-type(odd)\": {\n backgroundColor: \"#f8f8f8\",\n },\n \"&:hover\": {\n backgroundColor: \"var(--hover_fill_table_body_row)\",\n },\n}));\n\nexport default StyledTableRow;\n","import React, { useEffect, useRef, useState } from \"react\";\nimport {\n IconButton,\n FormGroup,\n FormControlLabel,\n Checkbox,\n} from \"@mui/material\";\nimport { FilterAltOutlined as FilterAltOutlinedIcon } from \"@mui/icons-material\";\nimport Button from \"./StyledButton/index\";\n\nconst FilterList = ({\n dataFilterItems,\n filterList,\n setFilterList,\n col,\n handleSetFilter,\n columns,\n}) => {\n const [filterOpen, setFilterOpen] = useState(false);\n const filterRef = useRef();\n\n const handleClear = (e, col) => {\n e.stopPropagation();\n let updatedObj = {};\n updatedObj = { ...filterList, [col.field]: [] };\n setFilterList(updatedObj);\n handleSetFilter(e, updatedObj);\n };\n\n const handleClearAll = (e, col) => {\n e.stopPropagation();\n\n let updatedObj = {};\n columns &&\n columns.map((col) => {\n updatedObj = {\n ...updatedObj,\n [col.field]: [],\n };\n });\n setFilterList(updatedObj);\n handleSetFilter(e, updatedObj);\n };\n\n useEffect(() => {\n const handleClickOutside = (e) => {\n if (!filterRef?.current?.contains(e.target)) {\n setFilterOpen(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n }, [filterRef]);\n\n return (\n <div className=\"relative\" ref={filterRef}>\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n setFilterOpen(!filterOpen);\n }}\n >\n <FilterAltOutlinedIcon\n sx={{ fontSize: 20, color: \"var(--color-table-header)\" }}\n />\n </IconButton>\n {filterOpen && (\n <div className=\"bg-white text-black absolute top-11 left-0 shadow-lg p-3 rounded text-sm\">\n <div className=\"max-h-48 min-w-60 overflow-y-auto overflow-x-hidden pr-3\">\n <FormGroup>\n {(dataFilterItems[col.field] || []).map(\n (filterItem, filterIndex) => (\n <FormControlLabel\n style={{ margin: 0, textAlign: \"left\" }}\n key={`filter-${filterIndex}`}\n control={\n <Checkbox\n checked={\n filterList &&\n filterList[col.field]?.includes(filterItem)\n }\n onChange={(e) => {\n e.stopPropagation();\n setFilterList((prev) => ({\n ...prev,\n [col.field]: e.target.checked\n ? filterList[col.field]\n ? [...filterList[col.field], filterItem]\n : [filterItem]\n : filterList[col.field].filter(\n (item) => item !== filterItem\n ),\n }));\n }}\n />\n }\n label={filterItem}\n />\n )\n )}\n </FormGroup>\n </div>\n <div className=\"flex items-center justify-center gap-2 mt-3\">\n <Button\n size=\"small\"\n color=\"primary\"\n variant=\"outlined\"\n onClick={(e) => {\n e.stopPropagation();\n handleSetFilter(e, filterList);\n setFilterOpen(false);\n }}\n aria-label=\"Filter\"\n >\n Filter\n </Button>\n <Button\n size=\"small\"\n color=\"secondary\"\n variant=\"outlined\"\n onClick={(e) => {\n handleClear(e, col);\n setFilterOpen(false);\n }}\n aria-label=\"Clear\"\n >\n Clear\n </Button>\n <Button\n size=\"small\"\n color=\"error\"\n variant=\"outlined\"\n onClick={(e) => {\n handleClearAll(e, col);\n setFilterOpen(false);\n }}\n aria-label=\"ClearAll\"\n >\n Clear All\n </Button>\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport default FilterList;\n","import { styled } from \"@mui/material/styles\";\nimport TableCell, { tableCellClasses } from \"@mui/material/TableCell\";\n\nconst ReqDetailsBorderedTableCell = styled(TableCell)(\n ({ theme, top, fontSize, noWrapHeader, noWrapBody }) => ({\n [`&.${tableCellClasses.head}`]: {\n backgroundColor: \"#ccc\",\n color: \"var(--color-table-header)\",\n fontSize: \"14px\",\n textAlign: \"center\",\n padding: \"3px 10px\",\n // \"&:nth-last-of-type(1)\": {\n // borderRight: \"none\",\n // },\n outline: \"1px solid inherit\",\n borderRight: \"1px solid #ccc\",\n borderBottom: \"3px solid var(--fill-table-header-border) !important\",\n position: \"sticky\",\n top: top || 0,\n [theme.breakpoints.down(\"lg\")]: {\n fontSize: \"calc(var(--table-header-fontSize, 18px) - 2px) !important\",\n },\n whiteSpace: noWrapHeader ? \"nowrap\" : \"normal\",\n boxShadow: \"5px 5px 8px rgba(0, 0, 0, 0.2)\",\n },\n [`&.${tableCellClasses.body}`]: {\n fontSize: \"14px\",\n color: \"var(--color-table-body-row)\",\n padding: \"3px 4px 3px 4px\",\n borderRight: \"1px solid #ccc\",\n fontFamily: \"Poppins, sans-serif\",\n // \"&:nth-last-of-type(1)\": {\n // borderRight: \"none\",\n // },\n [theme.breakpoints.down(\"lg\")]: {\n fontSize: \"calc(var(--table-body-fontSize, 14px) - 2px) !important\",\n },\n whiteSpace: noWrapBody ? \"nowrap\" : \"normal\",\n },\n [`&.${tableCellClasses.footer}`]: {\n padding: \"3px 4px\",\n border: \"1px solid #ccc\",\n // fontWeight: 900,\n fontSize: \"14px\",\n color: \"#000\",\n fontFamily: \"Poppins, sans-serif\",\n },\n })\n);\n\nexport default ReqDetailsBorderedTableCell;\n","import React, { useState, useEffect } from \"react\";\nimport {\n Box,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableSortLabel,\n} from \"@mui/material\";\nimport { visuallyHidden } from \"@mui/utils\";\nimport StyledBorderedTableRow from \"./styled-bordered-table-row\";\nimport SkeletonTableBody from \"./skeleton-table-body\";\nimport StyledTableRow from \"../Components/styled-table-row\";\nimport FilterList from \"./filter-list\";\nimport ReqDetailsBorderedTableCell from \"./req-details-bordered-table-cell\";\n// import CustomTableCell from \"./custom-table-cell\";\n\n// function descendingComparator(a, b, orderBy) {\n// const valueA = a[orderBy]?.toString().toLowerCase();\n// const valueB = b[orderBy]?.toString().toLowerCase();\n\n// if (valueA < valueB) {\n// return -1;\n// }\n// if (valueA > valueB) {\n// return 1;\n// }\n// return 0;\n// }\n\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy) {\n return order === \"desc\"\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\n// This method is created for cross-browser compatibility, if you don't\n// need to support IE11, you can use Array.prototype.sort() directly\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) {\n return order;\n }\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\nconst CustomTableCell = (props) => {\n const { rowData, columnObject, ...otherProps } = props;\n if (columnObject.render) {\n return (\n <ReqDetailsBorderedTableCell {...otherProps}>\n <span style={{ fontSize: \"14px\" }}>{columnObject.render(rowData)}</span>\n </ReqDetailsBorderedTableCell>\n );\n } else {\n return (\n <ReqDetailsBorderedTableCell {...otherProps}>\n <span style={{ fontSize: \"14px\" }}>{rowData[columnObject.field]}</span>\n </ReqDetailsBorderedTableCell>\n );\n }\n};\n\nconst CustomRequestTable = ({\n title,\n data,\n columns,\n primaryColId,\n rowsInPage,\n loading,\n skeletonColumns,\n skeletonRows,\n maxHeight,\n minHeight,\n height,\n}) => {\n const [order, setOrder] = useState(\"asc\");\n const [orderBy, setOrderBy] = useState(\"\");\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n\n const [tableData, setTableData] = useState([]);\n\n // Avoid a layout jump when reaching the last page with empty rows.\n const emptyRows =\n page > 0 ? Math.max(0, (1 + page) * rowsPerPage - tableData.length) : 0;\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === \"asc\";\n setOrder(isAsc ? \"desc\" : \"asc\");\n setOrderBy(property);\n };\n\n const createSortHandler = (property) => (event) => {\n handleRequestSort(event, property);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n //filter data according to table header filter\n const [dataFilterItems, setDataFilterItems] = useState([]);\n const [filterList, setFilterList] = useState({});\n\n const handleSetFilter = (e, updatedObj) => {\n if (e) {\n e.stopPropagation();\n }\n\n let filteredData = data && JSON.parse(JSON.stringify(data));\n\n filteredData = (filteredData || []).filter((item) => {\n return columns.every((key) => {\n const filterValues = updatedObj[key.field];\n return (\n filterValues?.length === 0 || filterValues.includes(item[key.field])\n );\n });\n });\n\n if (filteredData) {\n setTableData(filteredData);\n } else {\n setTableData([]);\n }\n };\n\n useEffect(() => {\n if (data.length > 0) {\n (columns || [])\n .filter((item) => !item?.hidden)\n .map((col) => {\n setDataFilterItems((prev) => ({\n ...prev,\n [col.field]: [...new Set(data.map((item) => item[col.field]))],\n }));\n setFilterList((prev) => ({\n ...prev,\n [col.field]: [],\n }));\n });\n }\n }, [data]);\n\n useEffect(() => {\n if (rowsInPage) {\n setRowsPerPage(rowsInPage);\n }\n }, [rowsInPage]);\n\n useEffect(() => {\n if (data) {\n setTableData(data);\n setPage(0);\n }\n }, [data]);\n\n return (\n <div>\n <TableContainer\n style={{\n maxHeight: maxHeight ? `${maxHeight}px` : \"\",\n // minHeight: minHeight ? `${window.innerHeight - 350}px` : \"\",\n // height: height ? `${height}px` : `${window.innerHeight - 350}px`,\n overflow: \"auto\",\n position: \"relative\",\n border: \"1px solid #000000\",\n }}\n >\n <Table\n sx={{ minWidth: 750 }}\n aria-labelledby={title ? \"customTableTitle\" : undefined}\n size=\"small\"\n stickyHeader\n >\n <TableHead>\n <StyledTableRow>\n {(columns || [])\n .filter((item) => !item?.hidden)\n .map((col, colIdx) =>\n col.sorting === false ? (\n <ReqDetailsBorderedTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col.field ? order : false}\n sx={{\n maxWidth: col?.maxWidth,\n color: \"#0e3253\",\n fontSize: \"16px\",\n }}\n noWrapHeader={col?.noWrapHeader}\n >\n <span\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n color: \"#0e3253\",\n fontSize: \"16px\",\n }}\n >\n {col.title}\n {col.filter && (\n <FilterList\n dataFilterItems={dataFilterItems}\n filterList={filterList}\n setFilterList={setFilterList}\n col={col}\n handleSetFilter={handleSetFilter}\n columns={columns}\n />\n )}\n </span>\n </ReqDetailsBorderedTableCell>\n ) : (\n <ReqDetailsBorderedTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col.field ? order : false}\n sx={{\n maxWidth: col?.maxWidth,\n color: \"#0e3253\",\n fontSize: \"16px\",\n }}\n noWrapHeader={col?.noWrapHeader}\n >\n <span\n style={{ display: \"flex\", justifyContent: \"center\" }}\n >\n <TableSortLabel\n active={orderBy === col.field}\n direction={orderBy === col.field ? order : \"asc\"}\n onClick={createSortHandler(col.field)}\n sx={{\n color: \"#0e3253\",\n fontSize: \"16px\",\n \"&:hover\": {\n color: \"var(--hover-color-table-header)\",\n },\n \"&.Mui-active\": {\n color:\n \"var(--hover-color-table-header) !important\",\n },\n\n \"&.Mui-active .MuiTableSortLabel-icon\": {\n color:\n \"var(--hover-color-table-header) !important\",\n },\n }}\n >\n {col.title}\n {orderBy === col.field ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {order === \"desc\"\n ? \"sorted descending\"\n : \"sorted ascending\"}\n </Box>\n ) : null}\n </TableSortLabel>\n {col.filter && (\n <FilterList\n dataFilterItems={dataFilterItems}\n filterList={filterList}\n setFilterList={setFilterList}\n col={col}\n handleSetFilter={handleSetFilter}\n columns={columns}\n />\n )}\n </span>\n </ReqDetailsBorderedTableCell>\n )\n )}\n </StyledTableRow>\n </TableHead>\n {loading && loading ? (\n <SkeletonTableBody\n columns={\n skeletonColumns ||\n (columns || []).filter((item) => !item?.hidden).length ||\n 1\n }\n rows={skeletonRows || 4}\n />\n ) : (\n <TableBody>\n {stableSort(tableData, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row, rowIndex) => (\n <StyledBorderedTableRow\n hover\n key={`customTableRow-${rowIndex}`}\n >\n {(columns || [])\n .filter((item) => !item?.hidden)\n .map((col, colIndex) => (\n <CustomTableCell\n key={`customTableCell-${rowIndex}-${colIndex}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={col}\n sx={{\n maxWidth: col?.maxWidth,\n overflowWrap: col?.wordBreak ? \"break-word\" : \"\",\n }}\n noWrapBody={col?.noWrapBody}\n />\n ))}\n </StyledBorderedTableRow>\n ))}\n {emptyRows > 0 && (\n <StyledTableRow\n style={{\n height: 33 * emptyRows,\n }}\n >\n <TableCell\n colSpan={\n (columns || []).filter((item) => !item?.hidden).length\n }\n />\n </StyledTableRow>\n )}\n </TableBody>\n )}\n </Table>\n </TableContainer>\n {/* <div\n className=\"wid-full flex justify-end items-end \"\n style={{\n boxShadow: \"0px -10px 9px -5px rgba(0,0,0,0.2)\",\n position: \"relative\",\n }}\n >\n <div>\n <TablePagination\n rowsPerPageOptions={[5, 10, 25, 50]}\n SelectProps={{\n inputProps: {\n \"aria-label\": \"rows per page\",\n },\n native: true,\n }}\n count={tableData.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n </div>\n </div> */}\n </div>\n );\n};\n\nexport default CustomRequestTable;\n","import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport CustomTableCell from \"./custom-table-cell\";\nimport SortLabel from \"./sort-label\";\n\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy) {\n return order === \"desc\"\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) {\n return order;\n }\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\nconst CustomSelectionTable = ({\n title,\n data,\n columns,\n primaryColId,\n selected,\n setSelected,\n rowsInPage,\n}) => {\n const [order, setOrder] = useState(\"asc\");\n const [orderBy, setOrderBy] = useState(\"\");\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n\n const [tempData, setTempData] = useState([]);\n\n const handleSelectAllClick = (event) => {\n if (event.target.checked) {\n const newSelecteds = tempData.map((n) => n[primaryColId]);\n setSelected(newSelecteds);\n return;\n }\n setSelected([]);\n };\n\n const handleClick = (event, primaryCol) => {\n const selectedIndex = selected.indexOf(primaryCol);\n let newSelected = [];\n if (selectedIndex === -1) {\n newSelected = newSelected.concat(selected, primaryCol);\n } else if (selectedIndex === 0) {\n newSelected = newSelected.concat(selected.slice(1));\n } else if (selectedIndex === selected.length - 1) {\n newSelected = newSelected.concat(selected.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelected = newSelected.concat(\n selected.slice(0, selectedIndex),\n selected.slice(selectedIndex + 1)\n );\n }\n setSelected(newSelected);\n };\n\n const isSelected = (primaryCol) => selected.indexOf(primaryCol) !== -1;\n\n const emptyRows =\n page > 0 ? Math.max(0, (1 + page) * rowsPerPage - tempData.length) : 0;\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === \"asc\";\n setOrder(isAsc ? \"desc\" : \"asc\");\n setOrderBy(property);\n };\n\n const createSortHandler = (property) => (event) => {\n handleRequestSort(event, property);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n useEffect(() => {\n setPage(0);\n setTempData(data);\n }, [data]);\n\n useEffect(() => {\n if (rowsInPage) {\n setRowsPerPage(rowsInPage);\n }\n }, [rowsInPage]);\n\n return (\n <div className=\"overflow-x-auto\">\n <table className=\"min-w-full divide-y divide-gray-200\">\n <thead className=\"bg-secondary\">\n <tr>\n <th className=\"px-6 py-3 text-left text-xs font-medium text-white uppercase tracking-wider\">\n <input\n type=\"checkbox\"\n className=\"h-4 w-4 text-white border-gray-300 rounded\"\n onChange={handleSelectAllClick}\n checked={\n tempData.length > 0 && selected.length === tempData.length\n }\n indeterminate={\n selected.length > 0 && selected.length < tempData.length\n }\n />\n </th>\n {columns.map((col, colIdx) => (\n <SortLabel\n key={colIdx}\n order={order}\n colIdx={colIdx}\n orderBy={orderBy}\n align={col.align}\n field={col.field}\n title={col.title}\n sorting={col.sorting}\n sortHandler={createSortHandler}\n disablePadding={col.disablePadding}\n />\n ))}\n </tr>\n </thead>\n <tbody className=\"bg-white divide-y divide-gray-200\">\n {stableSort(tempData, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row, rowIndex) => {\n const isItemSelected = isSelected(row[primaryColId]);\n const labelId = `custom-table-checkbox-${rowIndex}`;\n return (\n <tr\n key={row[primaryColId]}\n className={`${\n rowIndex % 2 === 0 ? \"bg-gray-50\" : \"bg-white\"\n } hover:bg-gray-200 ${\n isItemSelected ? \"bg-gray-200\" : \"\"\n } cursor-pointer`}\n // onClick={(event) => handleClick(event, row[primaryColId])}\n >\n <td className=\"px-6 py-1 whitespace-nowrap\">\n <input\n type=\"checkbox\"\n className=\"h-4 w-4 text-indigo-600 border-gray-300 rounded\"\n checked={isItemSelected}\n onChange={(event) =>\n handleClick(event, row[primaryColId])\n }\n />\n </td>\n {columns.map((col, colIndex) => (\n <CustomTableCell\n key={`customTableCell-${rowIndex}-${colIndex}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={col}\n />\n ))}\n </tr>\n );\n })}\n {emptyRows > 0 && (\n <tr style={{ height: 33 * emptyRows }}>\n <td colSpan={columns.length + 1} />\n </tr>\n )}\n {tempData.length === 0 && (\n <tr style={{ height: 33 * 12 }}>\n <td colSpan={columns.length + 1} />\n </tr>\n )}\n </tbody>\n <tfoot>\n <tr>\n <td colSpan={columns.length + 1}>\n <div className=\"flex justify-end p-2\">\n <span className=\"text-sm text-gray-700\">\n Rows per Page:\n <select\n value={rowsPerPage}\n onChange={handleChangeRowsPerPage}\n className=\"ml-2 border border-gray-300 rounded w-[50px]\"\n >\n {[5, 10, 25, 50].map((rows) => (\n <option key={rows} value={rows}>\n {rows}\n </option>\n ))}\n </select>\n </span>\n <span className=\"text-sm text-gray-700 ml-4\">\n {page * rowsPerPage + 1}-\n {Math.min((page + 1) * rowsPerPage, tempData.length)} of{\" \"}\n {tempData.length}\n </span>\n <div className=\"flex ml-4\">\n <button\n aria-label=\"Previous\"\n onClick={(event) => handleChangePage(event, page - 1)}\n disabled={page === 0}\n className=\"text-sm text-gray-700 ml-2 disabled:opacity-50\"\n >\n Previous\n </button>\n <button\n aria-label=\"Next\"\n onClick={(event) => handleChangePage(event, page + 1)}\n disabled={\n page >= Math.ceil(tempData.length / rowsPerPage) - 1\n }\n className=\"text-sm text-gray-700 ml-2 disabled:opacity-50\"\n >\n Next\n </button>\n </div>\n </div>\n </td>\n </tr>\n </tfoot>\n </table>\n </div>\n );\n};\n\nCustomSelectionTable.propTypes = {\n title: PropTypes.string,\n data: PropTypes.arrayOf(PropTypes.object).isRequired,\n columns: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n field: PropTypes.string.isRequired,\n sorting: PropTypes.bool,\n align: PropTypes.string,\n disablePadding: PropTypes.bool,\n })\n ).isRequired,\n primaryColId: PropTypes.string.isRequired,\n selected: PropTypes.arrayOf(PropTypes.any).isRequired,\n setSelected: PropTypes.func.isRequired,\n};\n\nexport default CustomSelectionTable;\n","import React, { useState, useEffect, useRef } from \"react\";\nimport {\n Box,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TablePagination,\n TableSortLabel,\n} from \"@mui/material\";\nimport { visuallyHidden } from \"@mui/utils\";\nimport StyledBorderedTableCell from \"./styled-bordered-table-cell\";\n// import StyledBorderedTableCell from \"./styled-bordered-table-cell\";\nimport StyledBorderedTableRow from \"./styled-bordered-table-row\";\nimport SkeletonTableBody from \"./skeleton-table-body\";\nimport StyledTableRow from \"../Components/styled-table-row\";\nimport FilterList from \"./filter-list\";\n// import CustomTableCell from \"./custom-table-cell\";\n\n// function descendingComparator(a, b, orderBy) {\n// const valueA = a[orderBy]?.toString().toLowerCase();\n// const valueB = b[orderBy]?.toString().toLowerCase();\n\n// if (valueA < valueB) {\n// return -1;\n// }\n// if (valueA > valueB) {\n// return 1;\n// }\n// return 0;\n// }\n\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy) {\n return order === \"desc\"\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\n// This method is created for cross-browser compatibility, if you don't\n// need to support IE11, you can use Array.prototype.sort() directly\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) {\n return order;\n }\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\nconst CustomTableCell = (props) => {\n const { rowData, columnObject, ...otherProps } = props;\n if (columnObject.render) {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {columnObject.render(rowData)}\n </StyledBorderedTableCell>\n );\n } else {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {rowData[columnObject.field]}\n </StyledBorderedTableCell>\n );\n }\n};\n\nconst CustomStickyTable = ({\n title,\n data,\n columns,\n primaryColId,\n rowsInPage,\n loading,\n skeletonColumns,\n skeletonRows,\n maxHeight,\n minHeight,\n height,\n}) => {\n const [order, setOrder] = useState(\"asc\");\n const [orderBy, setOrderBy] = useState(\"\");\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n\n const [tableData, setTableData] = useState([]);\n\n const cellRef = useRef([]);\n\n // Avoid a layout jump when reaching the last page with empty rows.\n const emptyRows =\n page > 0 ? Math.max(0, (1 + page) * rowsPerPage - tableData.length) : 0;\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === \"asc\";\n setOrder(isAsc ? \"desc\" : \"asc\");\n setOrderBy(property);\n };\n\n const createSortHandler = (property) => (event) => {\n handleRequestSort(event, property);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n //filter data according to table header filter\n const [dataFilterItems, setDataFilterItems] = useState([]);\n const [filterList, setFilterList] = useState({});\n\n const handleSetFilter = (e, updatedObj) => {\n if (e) {\n e.stopPropagation();\n }\n\n let filteredData = data && JSON.parse(JSON.stringify(data));\n\n filteredData = (filteredData || []).filter((item) => {\n return columns.every((key) => {\n const filterValues = updatedObj[key.field];\n return (\n filterValues?.length === 0 || filterValues.includes(item[key.field])\n );\n });\n });\n\n if (filteredData) {\n setTableData(filteredData);\n } else {\n setTableData([]);\n }\n };\n\n useEffect(() => {\n if (data.length > 0) {\n (columns || [])\n .filter((item) => !item?.hidden)\n .map((col) => {\n setDataFilterItems((prev) => ({\n ...prev,\n [col.field]: [...new Set(data.map((item) => item[col.field]))],\n }));\n setFilterList((prev) => ({\n ...prev,\n [col.field]: [],\n }));\n });\n }\n }, [data]);\n\n useEffect(() => {\n if (rowsInPage) {\n setRowsPerPage(rowsInPage);\n }\n }, [rowsInPage]);\n\n useEffect(() => {\n if (data) {\n setTableData(data);\n setPage(0);\n }\n }, [data]);\n\n const getCumulativeWidth = (columns, colIdx) => {\n let cumulativeWidth = 0;\n for (let i = 0; i < colIdx; i++) {\n if (columns[i]?.sticky) {\n cumulativeWidth +=\n cellRef.current[i]?.getBoundingClientRect().width || 0;\n }\n }\n\n return cumulativeWidth || 0;\n };\n\n return (\n <div>\n <TableContainer\n style={{\n maxHeight: maxHeight ? `${maxHeight}px` : \"\",\n minHeight: minHeight ? `${window.innerHeight - 350}px` : \"\",\n height: height ? `${height}px` : `${window.innerHeight - 350}px`,\n overflow: \"auto\",\n position: \"relative\",\n }}\n >\n <Table\n sx={{ minWidth: 750 }}\n aria-labelledby={title ? \"customTableTitle\" : undefined}\n size=\"small\"\n stickyHeader\n >\n <TableHead>\n <StyledTableRow>\n {(columns || [])\n .filter((item) => !item?.hidden)\n .map((col, colIdx) => {\n return col.sorting === false ? (\n <StyledBorderedTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col.field ? order : false}\n sx={{\n width: col?.width || \"\",\n minWidth: col?.minWidth || \"\",\n maxWidth: col?.maxWidth || \"\",\n position: col.sticky ? \"sticky\" : \"\",\n left: col.sticky\n ? getCumulativeWidth(columns, colIdx)\n : \"\",\n zIndex: col.sticky ? 10 : \"\",\n }}\n noWrapHeader={col?.noWrapHeader}\n ref={(el) => (cellRef.current[colIdx] = el)}\n >\n <span\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n {col.title}\n {col.filter && (\n <FilterList\n dataFilterItems={dataFilterItems}\n filterList={filterList}\n setFilterList={setFilterList}\n col={col}\n handleSetFilter={handleSetFilter}\n columns={columns}\n />\n )}\n </span>\n </StyledBorderedTableCell>\n ) : (\n <StyledBorderedTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col.field ? order : false}\n sx={{\n width: col?.width || \"\",\n minWidth: col?.minWidth || \"\",\n maxWidth: col?.maxWidth || \"\",\n position: col.sticky ? \"sticky\" : \"\",\n left: col.sticky\n ? getCumulativeWidth(columns, colIdx)\n : \"\",\n zIndex: col.sticky ? 10 : \"\",\n }}\n noWrapHeader={col?.noWrapHeader}\n ref={(el) => (cellRef.current[colIdx] = el)}\n >\n <span\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <TableSortLabel\n active={orderBy === col.field}\n direction={orderBy === col.field ? order : \"asc\"}\n onClick={createSortHandler(col.field)}\n sx={{\n \"&:hover\": {\n color: \"var(--hover-color-table-header)\",\n },\n \"&.Mui-active\": {\n color:\n \"var(--hover-color-table-header) !important\",\n },\n \"&.Mui-active .MuiTableSortLabel-icon\": {\n color:\n \"var(--hover-color-table-header) !important\",\n },\n }}\n >\n {col.title}\n {orderBy === col.field ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {order === \"desc\"\n ? \"sorted descending\"\n : \"sorted ascending\"}\n </Box>\n ) : null}\n </TableSortLabel>\n {col.filter && (\n <FilterList\n dataFilterItems={dataFilterItems}\n filterList={filterList}\n setFilterList={setFilterList}\n col={col}\n handleSetFilter={handleSetFilter}\n columns={columns}\n />\n )}\n </span>\n </StyledBorderedTableCell>\n );\n })}\n </StyledTableRow>\n </TableHead>\n {loading && loading ? (\n <SkeletonTableBody\n columns={\n skeletonColumns ||\n (columns || []).filter((item) => !item?.hidden).length ||\n 1\n }\n rows={skeletonRows || 4}\n />\n ) : (\n <TableBody>\n {stableSort(tableData, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row, rowIndex) => (\n <StyledBorderedTableRow\n hover\n key={`customTableRow-${rowIndex}`}\n >\n {(columns || [])\n .filter((item) => !item?.hidden)\n .map((col, colIndex) => (\n <CustomTableCell\n key={`customTableCell-${rowIndex}-${colIndex}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={col}\n sx={{\n width: col?.width || \"\",\n minWidth: col?.minWidth || \"\",\n maxWidth: col?.maxWidth || \"\",\n position: col.sticky ? \"sticky\" : \"\",\n left: col.sticky\n ? getCumulativeWidth(columns, colIndex)\n : \"\",\n zIndex: col.sticky ? 9 : \"\",\n overflowWrap: col?.wordBreak ? \"break-word\" : \"\",\n background: col.sticky\n ? row % 2\n ? \"var(--fill_table_body_row_2)\"\n : \"var(--fill_table_body_row_1)\"\n : \"\",\n }}\n noWrapBody={col?.noWrapBody}\n />\n ))}\n </StyledBorderedTableRow>\n ))}\n {emptyRows > 0 && (\n <StyledTableRow\n style={{\n height: 33 * emptyRows,\n }}\n >\n <TableCell\n colSpan={\n (columns || []).filter((item) => !item?.hidden).length\n }\n />\n </StyledTableRow>\n )}\n </TableBody>\n )}\n </Table>\n </TableContainer>\n <div\n className=\"wid-full flex justify-end items-end \"\n style={{\n boxShadow: \"0px -10px 9px -5px rgba(0,0,0,0.2)\",\n position: \"relative\",\n }}\n >\n <div>\n <TablePagination\n rowsPerPageOptions={[5, 10, 25, 50]}\n SelectProps={{\n inputProps: {\n \"aria-label\": \"rows per page\",\n },\n native: true,\n }}\n count={tableData.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default CustomStickyTable;\n","import { UI_SKIN_ENV } from \"@gc360/shared-utilities\";\n\nconst CustomStyledTab = ({ tabItem, icon, checked, handleTabChange }) => {\n return (\n <label className=\"flex-1 text-center font-ibm\">\n <input\n type=\"radio\"\n name=\"radio\"\n className=\"hidden\"\n checked={checked}\n onChange={handleTabChange}\n />\n <span\n className={`text-lg max-w-70 truncate flex items-center justify-center cursor-pointer rounded-lg py-1 text-gray-700 transition-all duration-150 ease-in-out hover:bg-[#fffff] ${\n checked\n ? UI_SKIN_ENV === \"compass\"\n ? \"bg-[#436128] !text-white\"\n : \"bg-[#ffffff]\"\n : \"\"\n } focus:bg-white font-medium px-3 font-ibm`}\n >\n {icon && icon} &nbsp;\n {tabItem || \"\"}\n </span>\n </label>\n );\n};\n\nexport default CustomStyledTab;\n","import { UI_SKIN_ENV } from \"@gc360/shared-utilities\";\n\nconst CustomStyledTabs = ({ children }) => {\n return (\n <div\n className={`relative gap-3 flex rounded-lg p-[6px] text-sm w-fit mb-2 \n ${\n UI_SKIN_ENV === \"compass\"\n ? \"bg-[#f7fef0] border-2 border-[#436128]\"\n : \"bg-[#d5e3ff] border-2 border-[#abc6fb]\"\n } \n shadow-md`}\n >\n {children}\n </div>\n );\n};\n\nexport default CustomStyledTabs;\n","import React from \"react\";\nimport Switch from \"@mui/material/Switch\";\n\nfunction CustomSwitch({ checked, onChange }) {\n return (\n <Switch\n checked={checked}\n onChange={onChange}\n color=\"primary\"\n inputProps={{ \"aria-label\": \"primary checkbox\" }}\n />\n );\n}\n\nexport default CustomSwitch;\n","import React, { useState, useEffect } from \"react\";\nimport {\n Box,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TablePagination,\n TableSortLabel,\n} from \"@mui/material\";\nimport { visuallyHidden } from \"@mui/utils\";\nimport StyledBorderedTableCell from \"./styled-bordered-table-cell\";\n// import StyledBorderedTableCell from \"./styled-bordered-table-cell\";\nimport StyledBorderedTableRow from \"./styled-bordered-table-row\";\nimport SkeletonTableBody from \"./skeleton-table-body\";\nimport StyledTableRow from \"../Components/styled-table-row\";\nimport FilterList from \"./filter-list\";\n// import CustomTableCell from \"./custom-table-cell\";\n\n// function descendingComparator(a, b, orderBy) {\n// const valueA = a[orderBy]?.toString().toLowerCase();\n// const valueB = b[orderBy]?.toString().toLowerCase();\n\n// if (valueA < valueB) {\n// return -1;\n// }\n// if (valueA > valueB) {\n// return 1;\n// }\n// return 0;\n// }\n\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy) {\n return order === \"desc\"\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\n// This method is created for cross-browser compatibility, if you don't\n// need to support IE11, you can use Array.prototype.sort() directly\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) {\n return order;\n }\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\nconst CustomTableCell = (props) => {\n const { rowData, columnObject, ...otherProps } = props;\n if (columnObject.render) {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {columnObject.render(rowData)}\n </StyledBorderedTableCell>\n );\n } else {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {rowData[columnObject.field]}\n </StyledBorderedTableCell>\n );\n }\n};\n\nconst CommonTable = ({\n title,\n data,\n columns,\n primaryColId,\n rowsInPage,\n loading,\n skeletonColumns,\n skeletonRows,\n maxHeight,\n minHeight,\n height,\n}) => {\n const [order, setOrder] = useState(\"asc\");\n const [orderBy, setOrderBy] = useState(\"\");\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n\n const [tableData, setTableData] = useState([]);\n\n // Avoid a layout jump when reaching the last page with empty rows.\n const emptyRows =\n page > 0 ? Math.max(0, (1 + page) * rowsPerPage - tableData.length) : 0;\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === \"asc\";\n setOrder(isAsc ? \"desc\" : \"asc\");\n setOrderBy(property);\n };\n\n const createSortHandler = (property) => (event) => {\n handleRequestSort(event, property);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n //filter data according to table header filter\n const [dataFilterItems, setDataFilterItems] = useState([]);\n const [filterList, setFilterList] = useState({});\n\n const handleSetFilter = (e, updatedObj) => {\n if (e) {\n e.stopPropagation();\n }\n\n let filteredData = data && JSON.parse(JSON.stringify(data));\n\n filteredData = (filteredData || []).filter((item) => {\n return columns.every((key) => {\n const filterValues = updatedObj[key.field];\n return (\n filterValues?.length === 0 || filterValues.includes(item[key.field])\n );\n });\n });\n\n if (filteredData) {\n setTableData(filteredData);\n } else {\n setTableData([]);\n }\n };\n\n useEffect(() => {\n if (data.length > 0) {\n (columns || [])\n .filter((item) => !item?.hidden)\n .map((col) => {\n setDataFilterItems((prev) => ({\n ...prev,\n [col.field]: [...new Set(data.map((item) => item[col.field]))],\n }));\n setFilterList((prev) => ({\n ...prev,\n [col.field]: [],\n }));\n });\n }\n }, [data]);\n\n useEffect(() => {\n if (rowsInPage) {\n setRowsPerPage(rowsInPage);\n }\n }, [rowsInPage]);\n\n useEffect(() => {\n if (data) {\n setTableData(data);\n setPage(0);\n }\n }, [data]);\n\n return (\n <div>\n <TableContainer\n style={{\n maxHeight: maxHeight ? `${maxHeight}px` : \"\",\n minHeight: minHeight ? `${window.innerHeight - 350}px` : \"\",\n height: height ? `${height}px` : `${window.innerHeight - 350}px`,\n overflow: \"auto\",\n position: \"relative\",\n }}\n >\n <Table\n sx={{ minWidth: 750 }}\n aria-labelledby={title ? \"customTableTitle\" : undefined}\n size=\"small\"\n stickyHeader\n >\n <TableHead>\n <StyledTableRow>\n {(columns || [])\n .filter((item) => !item?.hidden)\n .map((col, colIdx) =>\n col.sorting === false ? (\n <StyledBorderedTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col.field ? order : false}\n sx={{\n width: col?.width || \"\",\n minWidth: col?.minWidth || \"\",\n maxWidth: col?.maxWidth || \"\",\n }}\n noWrapHeader={col?.noWrapHeader}\n >\n <span\n style={{ display: \"flex\", justifyContent: \"center\" }}\n >\n {col.title}\n {col.filter && (\n <FilterList\n dataFilterItems={dataFilterItems}\n filterList={filterList}\n setFilterList={setFilterList}\n col={col}\n handleSetFilter={handleSetFilter}\n columns={columns}\n />\n )}\n </span>\n </StyledBorderedTableCell>\n ) : (\n <StyledBorderedTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col.field ? order : false}\n sx={{ maxWidth: col?.maxWidth }}\n noWrapHeader={col?.noWrapHeader}\n >\n <span\n style={{ display: \"flex\", justifyContent: \"center\" }}\n >\n <TableSortLabel\n active={orderBy === col.field}\n direction={orderBy === col.field ? order : \"asc\"}\n onClick={createSortHandler(col.field)}\n sx={{\n \"&:hover\": {\n color: \"var(--hover-color-table-header)\",\n },\n \"&.Mui-active\": {\n color:\n \"var(--hover-color-table-header) !important\",\n },\n\n \"&.Mui-active .MuiTableSortLabel-icon\": {\n color:\n \"var(--hover-color-table-header) !important\",\n },\n }}\n >\n {col.title}\n {orderBy === col.field ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {order === \"desc\"\n ? \"sorted descending\"\n : \"sorted ascending\"}\n </Box>\n ) : null}\n </TableSortLabel>\n {col.filter && (\n <FilterList\n dataFilterItems={dataFilterItems}\n filterList={filterList}\n setFilterList={setFilterList}\n col={col}\n handleSetFilter={handleSetFilter}\n columns={columns}\n />\n )}\n </span>\n </StyledBorderedTableCell>\n )\n )}\n </StyledTableRow>\n </TableHead>\n {loading && loading ? (\n <SkeletonTableBody\n columns={\n skeletonColumns ||\n (columns || []).filter((item) => !item?.hidden).length ||\n 1\n }\n rows={skeletonRows || 4}\n />\n ) : (\n <TableBody>\n {stableSort(tableData, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row, rowIndex) => (\n <StyledBorderedTableRow\n hover\n key={`customTableRow-${rowIndex}`}\n >\n {(columns || [])\n .filter((item) => !item?.hidden)\n .map((col, colIndex) => (\n <CustomTableCell\n key={`customTableCell-${rowIndex}-${colIndex}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={col}\n sx={{\n maxWidth: col?.maxWidth,\n overflowWrap: col?.wordBreak ? \"break-word\" : \"\",\n }}\n noWrapBody={col?.noWrapBody}\n />\n ))}\n </StyledBorderedTableRow>\n ))}\n {emptyRows > 0 && (\n <StyledTableRow\n style={{\n height: 33 * emptyRows,\n }}\n >\n <TableCell\n colSpan={\n (columns || []).filter((item) => !item?.hidden).length\n }\n />\n </StyledTableRow>\n )}\n </TableBody>\n )}\n </Table>\n </TableContainer>\n <div\n className=\"wid-full flex justify-end items-end \"\n style={{\n boxShadow: \"0px -10px 9px -5px rgba(0,0,0,0.2)\",\n position: \"relative\",\n }}\n >\n <div>\n <TablePagination\n rowsPerPageOptions={[5, 10, 25, 50]}\n SelectProps={{\n inputProps: {\n \"aria-label\": \"rows per page\",\n },\n native: true,\n }}\n count={tableData.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default CommonTable;\n","import React from \"react\";\nimport InformationIcon from \"./information-icon\";\nimport FormulaIcon from \"./formula-icon\";\nimport { styled } from \"@mui/material/styles\";\nimport TableCell, { tableCellClasses } from \"@mui/material/TableCell\";\n\nconst StyledTableCell = styled(TableCell, {\n shouldForwardProp: (prop) =>\n ![\n \"fontSize\",\n \"stickyTop\",\n \"bgColor\",\n \"noWrap\",\n \"disableRightBorder\",\n \"disableLeftBorder\",\n ].includes(prop),\n})(\n ({\n fontSize,\n stickyTop,\n bgColor,\n noWrap,\n disableRightBorder,\n disableLeftBorder,\n theme,\n }) => ({\n fontSize: \"12px !important\",\n backgroundColor: bgColor || \"inherit\",\n whiteSpace: noWrap ? \"nowrap\" : \"normal\",\n padding: \"2px 2px\",\n borderTop: \"1px solid #ccc\",\n borderBottom: \"1px solid #ccc\",\n borderLeft: disableLeftBorder ? \"none\" : \"1px solid #ccc\",\n borderRight: disableRightBorder ? \"none\" : \"1px solid #ccc\",\n [`&.${tableCellClasses.head}`]: {\n fontWeight: 600,\n textAlign: \"center\",\n position: stickyTop !== undefined ? \"sticky\" : \"static\",\n top: stickyTop || 0,\n zIndex: 1,\n backgroundColor: bgColor || \"#436128\",\n color: \"#fff\",\n },\n [`&.${tableCellClasses.body}`]: {\n fontWeight: 400,\n },\n [`&.${tableCellClasses.footer}`]: {},\n })\n);\n\nconst TableCellWithInfo = ({ title, info, formula, ...cellProps }) => {\n return (\n <StyledTableCell {...cellProps}>\n {info && <InformationIcon info={title} color=\"#fff\" />}\n {title}\n {formula && <FormulaIcon formula={formula} color=\"#fff\" />}\n </StyledTableCell>\n );\n};\n\nexport default TableCellWithInfo;\n","import React from \"react\";\nimport { formatDate } from \"@gc360/shared-utilities\";\n\nconst DateDisplay = ({ dateTime }) => {\n const formatDateExact = formatDate(dateTime);\n\n function isValidCustomDate(input) {\n const regex =\n /^(\\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d{4})$/;\n\n const match = input.match(regex);\n if (!match) return false;\n\n const [, day, monthStr, year] = match;\n const dayNum = parseInt(day, 10);\n const yearNum = parseInt(year, 10);\n\n const monthMap = {\n Jan: 0,\n Feb: 1,\n Mar: 2,\n Apr: 3,\n May: 4,\n Jun: 5,\n Jul: 6,\n Aug: 7,\n Sep: 8,\n Oct: 9,\n Nov: 10,\n Dec: 11,\n };\n\n const monthNum = monthMap[monthStr];\n\n const date = new Date(yearNum, monthNum, dayNum);\n\n return (\n date.getFullYear() === yearNum &&\n date.getMonth() === monthNum &&\n date.getDate() === dayNum\n );\n }\n\n if (isValidCustomDate(formatDateExact)) {\n return (\n <div className=\"flex items-center p-1 rounded-xl space-x-1 w-fit\">\n <div className=\"bg-white px-2 py-1 rounded-lg text-sm font-medium border border-dashed border-gray-300 text-gray-800 min-w-[115px]\">\n {formatDateExact}\n </div>\n </div>\n );\n }\n\n return <div>{formatDateExact || \"\"}</div>;\n};\n\nexport default DateDisplay;\n","import React, { useState, useEffect } from \"react\";\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\nimport { DatePicker as MUIDatePicker } from \"@mui/x-date-pickers/DatePicker\";\nimport TextField from \"@mui/material/TextField\";\nimport dayjs from \"dayjs\";\n\nconst startOfQ12022 = dayjs(\"2000-01-01T00:00:00.000\");\nconst endOfQ12099 = dayjs(\"2099-12-31T23:59:59.999\");\n\nconst DatePicker = ({\n inputProps: customInputProps,\n label,\n value,\n onChange,\n minDate,\n ariaLabel,\n ...props\n}) => {\n const [error, setError] = useState(null);\n\n useEffect(() => {\n if (value) {\n validateDate(value);\n } else {\n setError(null);\n }\n }, [value]);\n\n const validateDate = (date) => {\n if (!dayjs(date).isValid()) {\n setError(\"invalidDate\");\n return false;\n }\n if (dayjs(date).isBefore(startOfQ12022)) {\n setError(\"minDate\");\n return false;\n }\n if (dayjs(date).isAfter(endOfQ12099)) {\n setError(\"maxDate\");\n return false;\n }\n setError(null);\n return true;\n };\n\n const handleChange = (newValue) => {\n if (validateDate(newValue)) {\n onChange(newValue);\n } else {\n onChange(null);\n }\n };\n\n const errorMessage = React.useMemo(() => {\n switch (error) {\n case \"maxDate\":\n case \"minDate\":\n return \"Your date is not valid\";\n case \"invalidDate\":\n return \"Your date is not valid\";\n default:\n return \"\";\n }\n }, [error]);\n\n return (\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <MUIDatePicker\n renderInput={(inputProps) => (\n <TextField\n size=\"small\"\n {...inputProps}\n error={!!error}\n InputLabelProps={{ shrink: true }}\n style={{ width: \"100%\" }}\n inputProps={{\n ...inputProps.inputProps,\n \"aria-label\": ariaLabel,\n autoComplete: \"new-password\",\n style: {\n padding: \"10px 10px\",\n fontSize: \"14px\",\n textTransform: \"uppercase\",\n },\n }}\n helperText={errorMessage}\n />\n )}\n label={label}\n value={value}\n onChange={handleChange}\n minDate={minDate || startOfQ12022}\n maxDate={endOfQ12099}\n {...props}\n />\n </LocalizationProvider>\n );\n};\n\nexport default DatePicker;\n","import React from \"react\";\nimport { formatDateTime } from \"@gc360/shared-utilities\";\n\nconst DateTimeDisplay = ({ dateTime, name }) => {\n const formatDateTimeExact = formatDateTime(dateTime);\n\n function isValidCustomDateTime(input) {\n const regex =\n /^(\\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d{4}) (\\d{2}):(\\d{2}):(\\d{2})$/;\n\n const match = input.match(regex);\n if (!match) return false;\n\n const [, day, month, year, hour, minute, second] = match;\n\n if (parseInt(day) < 1 || parseInt(day) > 31) return false;\n if (parseInt(hour) > 23 || parseInt(minute) > 59 || parseInt(second) > 59)\n return false;\n\n return true;\n }\n\n if (isValidCustomDateTime(formatDateTimeExact)) {\n const [date, time] = formatDateTimeExact.split(\" \");\n const [hour, minute, second] = time.split(\":\");\n\n const minuteFirstDigit = minute[0];\n const minuteSecondDigit = minute[1];\n\n const secondFirstDigit = second[0];\n const secondSecondDigit = second[1];\n\n return (\n <div className=\"flex flex-col items-start p-1\">\n <div className=\"px-2 rounded-lg text-sm font-medium text-gray-800 min-w-[140px] text-center space-y-1\">\n {name && <div className=\"font-semibold text-left\">{name}</div>}\n {name ? (\n <div\n className=\"flex items-center gap-2 !m-0\"\n style={{ minWidth: \"140px\" }}\n >\n <div className=\"text-sm font-semibold\">{date}</div>\n <div className=\"flex items-center justify-center font-mono\">\n <div\n className=\"flex items-center relative\"\n style={{ height: \"22px\" }}\n >\n <div className=\"text-sm\">{hour}:</div>\n <div className=\"relative flex flex-col items-center\">\n <div className=\"text-[8px] translate-y-[6px]\">\n {minuteFirstDigit || 0}\n </div>\n <div className=\"text-[8px] -translate-y-[5px]\">\n {secondFirstDigit || 0}\n </div>\n </div>\n <div className=\"relative flex flex-col items-center\">\n <div className=\"text-[8px] translate-y-[6px]\">\n {\" \"}\n {minuteSecondDigit || 0}\n </div>\n <div className=\"text-[8px] -translate-y-[5px]\">\n {\" \"}\n {secondSecondDigit || 0}\n </div>\n </div>\n <div\n className=\"w-2 h-[1px] bg-gray-500 absolute right-0\"\n style={{ top: \"11px\", width: \"10px\" }}\n ></div>\n </div>\n </div>\n </div>\n ) : (\n <div className=\"flex items-center flex-col justify-center\">\n <div>{date}</div>\n <div className=\"font-semibold text-xs\">\n {hour}\n <span className=\"text-gray-700 text-[10px] font-normal\">\n h{\" \"}\n </span>\n {minute}\n <span className=\"text-gray-700 text-[10px] font-normal\">\n m{\" \"}\n </span>\n {second}\n <span className=\"text-gray-700 text-[10px] font-normal\">s</span>\n </div>\n </div>\n )}\n </div>\n </div>\n );\n }\n\n return <div>{formatDateTimeExact || \"\"}</div>;\n};\n\nexport default DateTimeDisplay;\n","import React from \"react\";\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\nimport { DateTimePicker as MUIDatePicker } from \"@mui/x-date-pickers\";\nimport TextField from \"@mui/material/TextField\";\nimport dayjs from \"dayjs\"; // Import dayjs for date validation\n\nconst DatePicker = ({\n inputProps: customInputProps,\n label,\n value,\n onChange,\n minDate,\n ...props\n}) => {\n // Validate the date using dayjs (or any other library you're using)\n const isValidDate = value && dayjs(value).isValid();\n\n // Provide a default value if value is invalid\n const defaultValue = isValidDate ? value : null;\n\n return (\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <MUIDatePicker\n renderInput={(inputProps) => (\n <TextField\n size=\"small\"\n {...inputProps}\n error={false}\n InputLabelProps={{ shrink: true }}\n style={{ width: \"100%\" }}\n inputProps={{\n ...inputProps.inputProps,\n autoComplete: \"new-password\",\n style: { padding: \"10px 10px\", fontSize: \"14px\" }, // Style of the input\n }}\n />\n )}\n label={label}\n value={defaultValue} // Use defaultValue instead of value\n onAccept={(date) => {\n if (date && dayjs(date).isValid()) {\n onChange(date);\n }\n }}\n onChange={() => {}}\n minDate={minDate}\n {...props}\n />\n </LocalizationProvider>\n );\n};\n\nexport default DatePicker;\n","import React, { lazy, Suspense } from \"react\";\n\nconst DoughnutChart = lazy(() => import(\"./DoughnutChart\"));\n\nconst DoughnutCharts = (props) => {\n return (\n <Suspense fallback={<div>Loading...</div>}>\n <DoughnutChart {...props} />\n </Suspense>\n );\n};\n\nexport default DoughnutCharts;\n","import React, { useState, useRef, useEffect } from \"react\";\n\nconst DropdownList = ({ label, options, onSelect }) => {\n const [isOpen, setIsOpen] = useState(false);\n const [selectedOption, setSelectedOption] = useState(null);\n\n const inputRef = useRef();\n\n const handleSelect = (option) => {\n setSelectedOption(option);\n setIsOpen(false);\n onSelect(option);\n };\n\n useEffect(() => {\n const handleClickOutside = (event) => {\n if (!inputRef?.current?.contains(event.target)) {\n setIsOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handleClickOutside);\n }, [inputRef]);\n\n return (\n <div className=\"relative inline-block w-full\">\n <button\n aria-label=\"open\"\n onClick={() => setIsOpen(!isOpen)}\n className=\"w-full bg-white border border-gray-300 rounded-md shadow-sm pl-3 pr-10 py-2 text-left cursor-pointer focus:outline-none focus:ring-1 focus:ring-primary focus:border-primary\"\n >\n <span className=\"block truncate\">\n {selectedOption ? selectedOption.label : label}\n </span>\n <span className=\"absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none\">\n <svg\n className=\"h-5 w-5 text-gray-400\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M10 3a1 1 0 01.993.883L11 4v8.586l3.293-3.293a1 1 0 011.497 1.32l-.083.094-5 5a1 1 0 01-1.497 0l-5-5a1 1 0 011.32-1.497l.094.083L9 12.586V4a1 1 0 011-1z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n </button>\n\n {isOpen && (\n <div\n className=\"absolute mt-1 w-full rounded-md bg-white shadow-lg z-10\"\n ref={inputRef}\n >\n <ul\n aria-labelledby=\"dropdownMenuLabel\"\n className=\"max-h-60 rounded-md py-1 text-base ring-1 ring-black ring-opacity-5 overflow-auto focus:outline-none sm:text-sm\"\n role=\"listbox\"\n >\n {options.map((option) => (\n <li\n key={option.value}\n className=\"text-gray-900 cursor-pointer select-none relative py-2 pl-3 pr-9 hover:bg-primary hover:text-white\"\n onClick={() => handleSelect(option)}\n role=\"option\"\n aria-selected\n >\n <span className=\"block truncate\">{option.label}</span>\n </li>\n ))}\n </ul>\n </div>\n )}\n </div>\n );\n};\n\nexport default DropdownList;\n","import React from \"react\";\nimport {\n FormControl,\n FormHelperText,\n TextField,\n MenuItem,\n Checkbox,\n Typography,\n} from \"@mui/material\";\n\nconst checkIfError = (msg) =>\n !!msg && typeof msg === \"string\" && msg.length > 0;\n\nexport const MenuItemText = ({ data }) => {\n return <span style={{ fontSize: \"14px\" }}>{data}</span>;\n};\n\nexport const DropDownList = ({\n id,\n label,\n value,\n onChange,\n onBlur,\n options,\n required,\n errorMessage,\n}) => {\n return (\n <FormControl style={{ width: \"100%\" }} error={checkIfError(errorMessage)}>\n <TextField\n fullWidth\n select\n id={id}\n name={id}\n label={label}\n value={value}\n required={required}\n onChange={onChange}\n onBlur={onBlur}\n InputLabelProps={{ shrink: true }}\n error={checkIfError(errorMessage)}\n helperText={errorMessage}\n >\n {options.map((item, index) => (\n <MenuItem key={index} value={item.id}>\n <MenuItemText data={item.value} />{\" \"}\n </MenuItem>\n ))}\n </TextField>\n </FormControl>\n );\n};\n\nexport const CheckBox = ({ id, label, flag, disabled, onChange, onBlur }) => {\n return (\n <>\n <Checkbox\n name={id}\n id={id}\n color=\"primary\"\n checked={flag === \"Y\"}\n disabled={disabled}\n onChange={onChange}\n onBlur={onBlur}\n />\n <FormHelperText>{label}</FormHelperText>\n </>\n );\n};\n\nexport const TitleText = ({ classes, text }) => {\n return (\n <Typography className={classes.title} color=\"textSecondary\" gutterBottom>\n {text}\n </Typography>\n );\n};\n\nexport const MainText = ({ classes, text }) => {\n return <Typography className={classes.content}>{text}</Typography>;\n};\n\nexport const Item = ({ classes, heading, content }) => {\n return (\n <>\n <TitleText classes={classes} text={heading} />\n <MainText classes={classes} text={content} />\n </>\n );\n};\n","import React from \"react\";\nimport { TextField } from \"@mui/material\";\n\nconst CustomMuiTextField = ({\n InputProps: inputPropsFromUser,\n inputProps: nativeInputProps,\n label,\n name,\n id,\n ...rest\n}) => {\n // derive aria-label safely\n const ariaLabel =\n nativeInputProps?.[\"aria-label\"] ||\n inputPropsFromUser?.inputProps?.[\"aria-label\"] ||\n label ||\n name ||\n id;\n\n const mergedInputProps = {\n ...inputPropsFromUser,\n inputProps: {\n ...inputPropsFromUser?.inputProps,\n ...nativeInputProps,\n style: {\n padding: \"10px 10px\",\n fontSize: \"14px\",\n ...inputPropsFromUser?.inputProps?.style,\n },\n ...(ariaLabel ? { \"aria-label\": ariaLabel } : {}),\n },\n };\n\n return (\n <TextField {...rest} label={label} id={id} InputProps={mergedInputProps} />\n );\n};\n\nexport default CustomMuiTextField;\n","import React from \"react\";\nimport FormControl from \"@mui/material/FormControl\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport { MenuItemText } from \"../Reporting/common\";\nimport TextField from \"./custom-mui-text-field\";\n\nconst checkIfError = (msg) =>\n !!msg && typeof msg === \"string\" && msg.length > 0;\n\nconst DropDownList = ({\n variant,\n size,\n id,\n label,\n value,\n onChange,\n options,\n errorMessage,\n disabled,\n onBlur,\n}) => {\n return (\n <FormControl style={{ width: \"100%\" }} error={checkIfError(errorMessage)}>\n <TextField\n fullWidth\n select\n variant={variant}\n size={size}\n id={id}\n name={id}\n label={label}\n value={value ? value : \"\"}\n onChange={onChange}\n onBlur={onBlur}\n InputLabelProps={{ shrink: true }}\n error={checkIfError(errorMessage)}\n helperText={errorMessage}\n disabled={disabled}\n >\n {/* <MenuItem value={null}><MenuItemText data=\"Please Select\" /></MenuItem> */}\n {options.map((item, index) => (\n <MenuItem key={index} value={item.id}>\n <MenuItemText data={item.value} />{\" \"}\n </MenuItem>\n ))}\n </TextField>\n </FormControl>\n );\n};\n\nDropDownList.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n option: [],\n errorMessage: null,\n disabled: false,\n};\n\nexport default DropDownList;\n","import React from \"react\";\nimport { MenuItem, TextField, FormControl } from \"@mui/material\";\n\nconst checkIfError = (msg) =>\n !!msg && typeof msg === \"string\" && msg.length > 0;\n\nconst DropDownListWithImage = ({\n variant,\n size,\n id,\n label,\n value,\n onChange,\n options,\n errorMessage,\n disabled,\n onBlur,\n}) => {\n return (\n <FormControl style={{ width: \"100%\" }} error={checkIfError(errorMessage)}>\n <TextField\n fullWidth\n select\n variant={variant}\n size={size}\n id={id}\n name={id}\n label={label}\n value={value ? value : \"\"}\n onChange={onChange}\n onBlur={onBlur}\n InputLabelProps={{ shrink: true }}\n error={checkIfError(errorMessage)}\n helperText={errorMessage}\n disabled={disabled}\n >\n {options.map((item, index) => (\n <MenuItem key={index} value={item.id}>\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n }}\n >\n <img\n src={item.image}\n alt={item.label}\n aria-label={\n item[\"aria-label\"] ||\n item.label ||\n item.image.substring(item.image.lastIndexOf(\"/\") + 1)\n }\n style={{ marginRight: \"8px\", height: \"18px\", width: \"18px\" }}\n />\n <div> {item.value}</div>\n </div>\n </MenuItem>\n ))}\n </TextField>\n </FormControl>\n );\n};\n\nDropDownListWithImage.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n option: [],\n errorMessage: null,\n disabled: false,\n};\n\nexport default DropDownListWithImage;\n","import React from \"react\";\nimport { FormControl, TextField, MenuItem } from \"@mui/material\";\nimport { MenuItemText } from \"../Reporting/common\";\n\nconst checkIfError = (msg) =>\n !!msg && typeof msg === \"string\" && msg.length > 0;\n\nconst DropDownList = ({\n variant,\n size,\n id,\n label,\n value,\n onChange,\n options,\n errorMessage,\n noDataMsg,\n disabled,\n onBlur,\n inputProps,\n}) => {\n return (\n <FormControl style={{ width: \"100%\" }} error={checkIfError(errorMessage)}>\n <TextField\n fullWidth\n select\n variant={variant}\n size={size}\n id={id}\n name={id}\n label={label}\n value={value ? value : \"\"}\n onChange={onChange}\n onBlur={onBlur}\n InputLabelProps={{ shrink: true }}\n error={checkIfError(errorMessage)}\n helperText={errorMessage}\n disabled={disabled}\n inputProps={inputProps}\n >\n {options.length === 0 ? (\n <MenuItem value={null}>\n <MenuItemText data={noDataMsg} />\n </MenuItem>\n ) : (\n options.map((item, index) => (\n <MenuItem key={index} value={item.id}>\n <MenuItemText data={item.value} />{\" \"}\n </MenuItem>\n ))\n )}\n </TextField>\n </FormControl>\n );\n};\n\nDropDownList.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n option: [],\n errorMessage: null,\n disabled: false,\n};\n\nexport default DropDownList;\n","import React, { useState } from \"react\";\nimport TextField from \"@mui/material/TextField\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport Chip from \"@mui/material/Chip\";\n\nconst EmailSuggestionMuiTextBox = ({\n variant,\n size,\n id,\n label,\n onChange,\n options,\n helperText,\n value,\n onKeyPress,\n inputValue,\n setInputValue,\n}) => {\n const [val, setVal] = useState(\"\");\n\n const getEmailChipColor = (email) => {\n const emailRegex =\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n const isValid = emailRegex.test(email);\n\n if (!isValid) {\n return \"secondary\";\n }\n return \"primary\";\n };\n\n const handleKeyDown = (event) => {\n const newEmail = val.trim();\n\n if (event.key === \" \" || event.key === \",\" || event.keyCode === 13) {\n setVal(\"\");\n if (newEmail !== \"\" && !value.includes(newEmail)) {\n event.preventDefault();\n onChange([...value, newEmail]);\n }\n }\n };\n\n const handleInputBlur = () => {\n const newEmail = val.trim();\n\n if (newEmail !== \"\" && !value.includes(newEmail)) {\n onChange([...value, newEmail]);\n }\n setVal(\"\");\n };\n\n return (\n <div style={{ width: \"auto\" }}>\n <Autocomplete\n multiple\n freeSolo\n id={id}\n filterSelectedOptions\n onBlur={handleInputBlur}\n onChange={(_, newValue) => {\n onChange(newValue);\n }}\n options={options}\n inputValue={inputValue}\n onInputChange={(e, value) => {\n setVal(value), setInputValue(value);\n }}\n value={value}\n onKeyDown={handleKeyDown}\n getOptionLabel={(option) => option}\n getOptionSelected={(option, value) => option === value}\n renderTags={(value, getTagProps) =>\n value.map((option, index) => (\n <Chip\n key={index}\n color={getEmailChipColor(option)}\n variant=\"outlined\"\n label={option}\n {...getTagProps({ index })}\n />\n ))\n }\n style={{ minWidth: \"100%\" }}\n renderInput={(params) => (\n <TextField\n {...params}\n label={label}\n variant={variant}\n helperText={helperText}\n InputLabelProps={{ shrink: true }}\n size={size}\n placeholder=\"\"\n onKeyPress={onKeyPress}\n />\n )}\n />\n </div>\n );\n};\n\nEmailSuggestionMuiTextBox.propTypes = {};\n\nexport default EmailSuggestionMuiTextBox;\n","import React from \"react\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\nconst ErrorAlert = ({ title, message, alertHandler }) => {\n return (\n <div className=\"transform transition-all duration-500 translate-x-0 opacity-100\">\n {/* for transition => translate-x-full opacity-0 absolute */}\n <div className=\"bg-white rounded-lg shadow-lg overflow-hidden\">\n <div className=\"p-6 py-8\">\n <div className=\"flex items-center justify-center mb-4\">\n <div className=\"relative\">\n <div className=\"w-16 h-16 rounded-full bg-red-100 flex items-center justify-center\">\n <CloseIcon\n className=\"w-8 h-8 text-red-500 animate-check\"\n sx={{ fontSize: 40 }}\n />\n </div>\n <div className=\"absolute inset-0 rounded-full border-4 border-red-500 animate-spin-slow\" />\n </div>\n </div>\n <div className=\"text-center space-y-2\">\n <h2 className=\"text-xl font-semibold text-gray-800\">Error!</h2>\n <p className=\"text-sm\"> {message}</p>\n <button\n onClick={alertHandler}\n style={{ backgroundColor: \"red\" }}\n aria-label=\"alert\"\n className=\"mt-4 px-6 py-2 text-white rounded-full font-medium hover:bg-red-600 transform hover:scale-105 transition-all duration-200\"\n >\n {title}\n </button>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default ErrorAlert;\n","import React from \"react\";\n\nconst ErrorBlinker = () => {\n return (\n <div className=\"flex justify-center items-center \">\n <div className=\"relative inline-flex\">\n <div className=\"w-3 h-3 bg-red-700 rounded-full\"></div>\n <div className=\"w-3 h-3 bg-red-700 rounded-full absolute top-0 left-0 animate-ping\"></div>\n <div className=\"w-3 h-3 bg-red-700 rounded-full absolute top-0 left-0 animate-pulse\"></div>\n </div>\n </div>\n );\n};\n\nexport default ErrorBlinker;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Close as CloseIcon } from \"@mui/icons-material\";\nconst ErrorModalContent = ({\n label,\n title,\n message,\n onClose,\n content,\n buttonText,\n}) => {\n return (\n <div\n className=\"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black !bg-opacity-40\"\n style={{ zIndex: 1300 }}\n >\n <div className=\"bg-white rounded-lg shadow-lg overflow-hidden\">\n <div className=\"p-6 py-8\">\n <div className=\"flex items-center justify-center mb-4\">\n <div className=\"relative\">\n <div className=\"w-16 h-16 rounded-full bg-red-100 flex items-center justify-center\">\n <CloseIcon\n className=\"w-8 h-8 text-red-500 animate-check\"\n sx={{ fontSize: 40 }}\n />\n </div>\n <div className=\"absolute inset-0 rounded-full border-4 border-red-500 animate-spin-slow\" />\n </div>\n </div>\n <div className=\"text-center space-y-2\">\n {label && (\n <h2 className=\"text-xl font-semibold text-gray-800\">\n {label || \"\"}\n </h2>\n )}\n {title && (\n <p className=\"text-gray-600 font-semibold\">{title || \"\"}</p>\n )}\n {message && <p className=\"text-sm\">{message || \"\"}</p>}\n {content && content}\n <button\n aria-label=\"close\"\n onClick={onClose}\n style={{ backgroundColor: \"red\" }}\n className=\"mt-4 px-6 py-2 text-white rounded-full font-medium hover:bg-red-600 transform hover:scale-105 transition-all duration-200\"\n >\n {buttonText || \"Continue\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nconst ErrorModal = (props) => {\n return ReactDOM.createPortal(<ErrorModalContent {...props} />, document.body);\n};\n\nexport default ErrorModal;\n","import React, { lazy, Suspense } from \"react\";\n\nconst KPICard = lazy(() => import(\"./KPICard\"));\n\nconst KPICards = (props) => {\n return (\n <Suspense fallback={<div>Loading...</div>}>\n <KPICard {...props} />\n </Suspense>\n );\n};\n\nexport default KPICards;\n","import React from \"react\";\nimport {\n Autocomplete,\n FormControl,\n TextField,\n InputAdornment,\n} from \"@mui/material\";\nimport { styled } from \"@mui/material/styles\";\n\nconst checkIfError = (msg) => msg && typeof msg === \"string\" && msg.length > 0;\n\nconst FloatingAdvanceDropDownList = ({\n variant,\n size,\n id,\n label,\n value,\n onChange,\n options,\n errorMessage,\n disableClearable,\n disabled,\n infoIcon = null,\n ...props\n}) => {\n const RedditTextField = styled((props) => (\n <TextField\n slotProps={{\n input: { disableUnderline: true },\n }}\n {...props}\n />\n ))(({ theme }) => ({\n backgroundColor: \"white\",\n \"& .MuiFilledInput-root\": {\n backgroundColor: \"white\",\n border: \"1px solid #ccc\",\n borderRadius: \"8px\",\n borderBottom: \"none\",\n height: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#aaa\",\n backgroundColor: \"white\",\n },\n\n \"&.Mui-disabled\": {\n backgroundColor: \"white\",\n borderColor: \"#ccc\",\n opacity: 0.7,\n },\n \"&.Mui-focused\": {\n backgroundColor: \"transparent\",\n borderColor: theme.palette.primary.main,\n },\n },\n }));\n\n return (\n <FormControl\n style={{ width: \"100%\", height: \"100%\" }}\n error={checkIfError(errorMessage)}\n >\n <Autocomplete\n sx={{\n height: \"100%\",\n \"& .MuiAutocomplete-endAdornment\": {\n display: \"flex\",\n alignItems: \"center\",\n },\n\n /* Force info icon to LAST */\n \"& .custom-info-icon\": {\n order: 3,\n },\n\n /* Default MUI icons */\n \"& .MuiAutocomplete-clearIndicator\": {\n order: 1,\n },\n \"& .MuiAutocomplete-popupIndicator\": {\n order: 2,\n },\n }}\n id={id}\n options={options}\n getOptionLabel={(option) => option.value || \"\"}\n value={\n value && Array.isArray(options) && options.length > 0\n ? options.filter((item) => item.id === value)[0]\n : \"\"\n }\n disabled={disabled}\n disableClearable={disableClearable}\n onChange={(e, newValue) => {\n const event = { ...e };\n event.target = { name: id || \"\", value: newValue.id || \"\" };\n onChange(event);\n }}\n renderInput={(params) => (\n <RedditTextField\n {...params}\n label={label}\n variant=\"filled\"\n InputLabelProps={{ shrink: true }}\n size={size}\n inputProps={{\n ...params.inputProps,\n autoComplete: \"new-password\",\n style: {\n padding: \"9px 9px\",\n fontSize: \"14px\",\n // height: \"100%\",\n },\n }}\n InputProps={{\n ...params.InputProps,\n endAdornment: React.cloneElement(\n params.InputProps.endAdornment,\n {},\n <>\n {/* MUI default icons */}\n {params.InputProps.endAdornment.props.children}\n\n {/* YOUR INFO ICON - LAST */}\n {infoIcon && (\n <InputAdornment\n position=\"end\"\n className=\"custom-info-icon\"\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n }}\n >\n {infoIcon}\n </InputAdornment>\n )}\n </>\n ),\n }}\n />\n )}\n />\n </FormControl>\n );\n};\n\nFloatingAdvanceDropDownList.defaultProps = {\n variant: \"filled\",\n size: \"small\",\n option: [],\n errorMessage: null,\n disabled: false,\n};\n\nexport default FloatingAdvanceDropDownList;\n","import * as React from \"react\";\nimport { styled } from \"@mui/material/styles\";\nimport Box from \"@mui/material/Box\";\nimport TextField from \"@mui/material/TextField\";\n\nconst RedditTextField = styled((props) => (\n <TextField\n slotProps={{\n input: { disableUnderline: true },\n }}\n {...props}\n />\n))(({ theme }) => ({\n backgroundColor: \"white\",\n color: \"#000\",\n \"& .MuiFilledInput-root\": {\n backgroundColor: \"white\",\n border: \"1px solid #ccc\",\n borderRadius: \"4px\",\n borderBottom: \"none\",\n \"&:hover\": {\n borderColor: \"#aaa\",\n backgroundColor: \"white\",\n },\n \"&.Mui-disabled\": {\n backgroundColor: \"white\",\n borderColor: \"#ccc\",\n opacity: 0.7,\n },\n \"&.Mui-focused\": {\n backgroundColor: \"transparent\",\n borderColor: theme.palette.primary.main,\n },\n },\n}));\n\nexport default function BasicTextFields({\n id,\n type,\n value,\n onChange,\n className,\n multiline,\n rows,\n label,\n disabled,\n ...props\n}) {\n return (\n <Box\n component=\"form\"\n sx={{ \"& > :not(style)\": { width: \"100%\" }, display: \"flex\" }}\n noValidate\n autoComplete=\"off\"\n >\n <RedditTextField\n id={id || \"filled-basic\"}\n variant=\"filled\"\n type={type || \"text\"}\n value={value || \"\"}\n onChange={onChange}\n className={className}\n label={label}\n disabled={disabled}\n disableUnderline\n multiline={multiline || false}\n rows={multiline ? rows || 3 : undefined}\n InputLabelProps={{\n shrink: Boolean(value) || props.autoFocus,\n style: { color: \"#555\" },\n ...props.InputLabelProps,\n }}\n size=\"small\"\n fullWidth\n {...props}\n />\n </Box>\n );\n}\n","import React from \"react\";\nimport { Autocomplete, Chip, FormControl, TextField } from \"@mui/material\";\nimport { styled } from \"@mui/material/styles\";\n\nconst checkIfError = (msg) => msg && typeof msg === \"string\" && msg.length > 0;\n\nconst arrayDistinctFromObjectList = (array) => {\n return Array.from(new Set(array.map((s) => s.id))).map((id) => {\n return { id: id, value: array.find((s) => s.id === id).value };\n });\n};\n\nconst RedditTextField = styled((props) => (\n <TextField\n slotProps={{\n input: { disableUnderline: true },\n }}\n {...props}\n />\n))(({ theme }) => ({\n backgroundColor: \"white\",\n \"& .MuiFilledInput-root\": {\n backgroundColor: \"white\",\n border: \"1px solid #ccc\",\n borderRadius: \"4px\",\n borderBottom: \"none\",\n \"&:hover\": {\n borderColor: \"#aaa\",\n backgroundColor: \"white\",\n },\n \"&.Mui-disabled\": {\n backgroundColor: \"white\",\n borderColor: \"#ccc\",\n opacity: 0.7,\n },\n \"&.Mui-focused\": {\n backgroundColor: \"transparent\",\n borderColor: theme.palette.primary.main,\n },\n },\n}));\n\nconst FloatingMultiSelectDropDownList = ({\n variant,\n id,\n label,\n value,\n onChange,\n options,\n disableChip,\n errorMessage,\n size,\n InputLabelProps,\n disabled,\n}) => {\n return (\n <FormControl style={{ width: \"100%\" }} error={checkIfError(errorMessage)}>\n <Autocomplete\n disabled={disabled}\n multiple\n id={id}\n value={value}\n onChange={(event, newValue) => {\n const e = { ...event };\n e.target = { name: id, value: arrayDistinctFromObjectList(newValue) };\n onChange(e);\n }}\n size={size}\n options={options}\n getOptionLabel={(option) => option.value}\n renderTags={(tagValue, getTagProps) =>\n tagValue.map((option, index) => (\n <Chip\n key={index}\n label={option.value}\n {...getTagProps({ index })}\n disabled={disableChip}\n />\n ))\n }\n renderInput={(params) => (\n <RedditTextField\n {...params}\n label={label}\n variant={variant}\n InputLabelProps={InputLabelProps}\n />\n )}\n />\n </FormControl>\n );\n};\n\nFloatingMultiSelectDropDownList.defaultProps = {\n variant: \"filled\",\n size: \"small\",\n InputLabelProps: { shrink: true },\n options: [],\n errorMessage: null,\n disabled: false,\n};\n\nexport default FloatingMultiSelectDropDownList;\n","import React from \"react\";\n\nconst ForbiddenPage = () => (\n <div className=\"min-h-screen bg-gray-50 flex flex-col items-center justify-center p-5\">\n <div className=\"max-w-md w-full bg-white rounded-lg shadow-lg overflow-hidden\">\n <div className=\"bg-orange-600 h-2\"></div>\n <div className=\"p-8\">\n <div className=\"flex items-center justify-center mb-6\">\n <div className=\"text-6xl font-bold text-orange-600\">403</div>\n </div>\n <h1 className=\"text-2xl font-semibold text-gray-800 text-center mb-2\">\n Access Forbidden\n </h1>\n <p className=\"text-gray-600 text-center mb-6\">\n You don't have permission to access this resource. Please contact an\n administrator.\n </p>\n <div className=\"flex justify-center\">\n <button\n aria-label=\"Previous\"\n onClick={() => window.history.back()}\n className=\"px-4 py-2 bg-orange-600 text-white rounded hover:bg-orange-700 transition-colors duration-200 font-medium\"\n >\n Go Back\n </button>\n </div>\n </div>\n </div>\n </div>\n);\n\nexport default ForbiddenPage;\n","import React, { useState } from \"react\";\nimport { TableContainer, Table, TableHead, TableBody, Popover, Paper } from \"@mui/material\";\nimport IconButton from \"./icon-button\";\nimport { InfoOutlined as InfoOutlinedIcon } from \"@mui/icons-material\";\nimport StyledBorderedTableRow from \"./styled-bordered-table-row\";\nimport StyledBorderedTableCell from \"./styled-bordered-table-cell\";\n\nconst FormulaInfoIcon = ({ formulaData }) => {\n const [consolidatedStatementAnchorEl, setConsolidatedStatementAnchorEl] =\n useState(null);\n\n const handleConsolidatedStatementFormulaDetailsOpen = (event) => {\n setConsolidatedStatementAnchorEl(event.currentTarget);\n };\n\n const handleConsolidatedStatementFormulaDetailsClose = () => {\n setConsolidatedStatementAnchorEl(null);\n };\n\n const openConsolidatedStatementFormula = Boolean(\n consolidatedStatementAnchorEl\n );\n const id = openConsolidatedStatementFormula ? \"simple-popover\" : undefined;\n\n return (\n <>\n <IconButton\n title=\" \"\n size=\"small\"\n onClick={handleConsolidatedStatementFormulaDetailsOpen}\n >\n <InfoOutlinedIcon style={{ fontSize: \"14px\", color: \"#fff\" }} />\n </IconButton>\n\n <Popover\n id={id}\n open={openConsolidatedStatementFormula}\n anchorEl={consolidatedStatementAnchorEl}\n onClose={handleConsolidatedStatementFormulaDetailsClose}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"left\",\n }}\n >\n <Paper className=\"p-1\">\n <TableContainer\n className=\"border\"\n sx={{ width: \"100%\", margin: \"0 auto\", mb: 2 }}\n >\n <Table size=\"small\">\n <TableHead>\n <StyledBorderedTableRow>\n <StyledBorderedTableCell>\n Formula Name\n </StyledBorderedTableCell>\n <StyledBorderedTableCell>\n Formula Description\n </StyledBorderedTableCell>\n </StyledBorderedTableRow>\n </TableHead>\n <TableBody>\n {Object.entries(formulaData).map(([key, value]) => (\n <StyledBorderedTableRow key={key}>\n <StyledBorderedTableCell>\n <strong> {key}</strong>\n </StyledBorderedTableCell>\n <StyledBorderedTableCell align=\"right\">\n {value}\n </StyledBorderedTableCell>\n </StyledBorderedTableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n </Paper>\n </Popover>\n </>\n );\n};\n\nexport default FormulaInfoIcon;\n","import React, { lazy, Suspense } from \"react\";\n\nconst FusionDefaultCharts = lazy(() => import(\"./FusionDefaultCharts\"));\n\nconst FusionDefaultChart = (props) => {\n return (\n <Suspense fallback={<div>Loading...</div>}>\n <FusionDefaultCharts {...props} />\n </Suspense>\n );\n};\n\nexport default FusionDefaultChart;\n","import React, { lazy, Suspense } from \"react\";\n\nconst FusionDefaultChartsPF = lazy(() => import(\"./FusionDefaultChartsPF\"));\n\nconst FusionDefaultChartsPFs = (props) => {\n return (\n <Suspense fallback={<div>Loading...</div>}>\n <FusionDefaultChartsPF {...props} />\n </Suspense>\n );\n};\n\nexport default FusionDefaultChartsPFs;\n","import React, { lazy, Suspense } from \"react\";\n\nconst FusionDefaultChartsPH = lazy(() => import(\"./FusionDefaultChartsPH\"));\n\nconst FusionDefaultChartsPHs = (props) => {\n return (\n <Suspense fallback={<div>Loading...</div>}>\n <FusionDefaultChartsPH {...props} />\n </Suspense>\n );\n};\n\nexport default FusionDefaultChartsPHs;\n","import React from \"react\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport TextField from \"@mui/material/TextField\";\nimport { styled } from \"@mui/material/styles\";\n\nconst CssTextField = styled(TextField)(({ theme }) => ({\n \"& label.Mui-focused\": {\n color: \"#000\",\n },\n \"& input\": {\n font: \"normal normal normal 14px Open Sans\",\n },\n \"& .MuiOutlinedInput-root\": {\n width: \"100%\",\n background: \"#FBFBFB 0% 0% no-repeat padding-box\",\n opacity: 1,\n textAlign: \"left\",\n font: \"normal normal normal 14px Open Sans\",\n letterSpacing: \"0px\",\n padding: \"0px\",\n color: \"#4A4A4A\",\n \"& fieldset\": {\n borderColor: \"#707070\",\n borderRadius: \"1px\",\n },\n \"& .MuiAutocomplete-input\": {\n padding: \"5px\",\n },\n },\n}));\n\nconst GenericAdvanceDropDownList = ({\n variant,\n size,\n id,\n label,\n value,\n onChange,\n options,\n}) => {\n return (\n <Autocomplete\n id={id}\n options={options}\n getOptionLabel={(option) => option.value || \"\"}\n value={\n value && Array.isArray(options) && options.length > 0\n ? options.filter((item) => item.id === value)[0]\n : \"\"\n }\n onChange={(e, newValue) => {\n const event = { ...e };\n event.target = { name: id, value: newValue ? newValue.id : null };\n onChange(event);\n }}\n renderInput={(params) => (\n <CssTextField\n {...params}\n label={label}\n variant={variant}\n InputLabelProps={{ shrink: true }}\n size={size}\n inputProps={{\n ...params.inputProps,\n \"aria-label\": label || \"Dropdown\",\n }}\n />\n )}\n disablePortal={true}\n disableListWrap={true}\n />\n );\n};\n\nGenericAdvanceDropDownList.defaultProps = {\n variant: \"outlined\",\n size: null,\n options: [],\n};\n\nexport default GenericAdvanceDropDownList;\n","import React, { lazy, Suspense } from \"react\";\n\nconst GenericChart = lazy(() => import(\"./GenericChart\"));\n\nconst GenericCharts = (props) => {\n return (\n <Suspense fallback={<div>Loading...</div>}>\n <GenericChart {...props} />\n </Suspense>\n );\n};\n\nexport default GenericCharts;\n","import React, { lazy, Suspense } from \"react\";\n\nconst GenericChartCDMS = lazy(() => import(\"./GenericChartCDMS\"));\n\nconst GenericChartCDMSObject = (props) => {\n return (\n <Suspense fallback={<div>Loading...</div>}>\n <GenericChartCDMS {...props} />\n </Suspense>\n );\n};\n\nexport default GenericChartCDMSObject;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst GenericCheckBox = ({ id, value, onChange, label, ariaLabel }) => {\n return (\n <div\n style={{\n padding: \"5px\",\n fontSize: \"13px\",\n letterSpacing: \"0px\",\n opacity: 1,\n fontFamily: \"Roboto, Helvetica, Arial, sans-serif\",\n color: \"rgba(0, 0, 0, 0.6)\",\n display: \"flex\",\n }}\n >\n <input\n aria-label={ariaLabel}\n id={id}\n checked={value}\n onChange={(event) => {\n const e = { ...event };\n e.target = { name: id, checked: !value, type: \"checkbox\" };\n onChange(e);\n }}\n type=\"checkbox\"\n />\n <span style={{ paddingLeft: \"10px\" }}>{label}</span>\n </div>\n );\n};\n\nGenericCheckBox.defaultProps = {\n value: false,\n};\n\nGenericCheckBox.propTypes = {\n value: PropTypes.bool,\n};\n\nexport default GenericCheckBox;\n","import React from \"react\";\nimport CurrencyInput from \"react-currency-input-field\";\n\nconst GenericCurrencyTextBox = ({\n id,\n value,\n onChange,\n textAlign,\n disabled,\n}) => {\n return (\n <CurrencyInput\n aria-label={id}\n id={id}\n disabled={disabled}\n value={value}\n onValueChange={(newValue) => {\n onChange({\n target: { name: id, value: newValue },\n });\n }}\n step={1}\n prefix=\"$\"\n intlConfig={{ locale: \"en-US\", currency: \"USD\" }}\n style={{\n width: \"100%\",\n background: \"#FBFBFB 0% 0% no-repeat padding-box\",\n border: \"1px solid #707070\",\n borderRadius: \"1px\",\n opacity: 1,\n textAlign: textAlign || \"left\",\n font: \"normal normal normal 14px Open Sans\",\n letterSpacing: \"0px\",\n padding: \"5px\",\n color: \"#4A4A4A\",\n // textAlign: type === \"number\" ? \"right\" : \"left\",\n }}\n />\n );\n};\n\nexport default GenericCurrencyTextBox;\n","export const isNumber = (value) => typeof value === \"number\" && !isNaN(value);\n\nexport function descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nexport function getComparator(order, orderBy) {\n return order === \"desc\"\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\nexport function stableSort(array, comparator) {\n const stabilizedThis = (array || [])?.map((el, index) => [el, index]);\n stabilizedThis?.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) {\n return order;\n }\n return a[1] - b[1];\n });\n return stabilizedThis?.map((el) => el[0]);\n}\n","import React, { useState, useEffect } from \"react\";\nimport { Grid, DialogContent, FormGroup, FormControlLabel, Checkbox, Typography, FormControl, RadioGroup, Radio } from \"@mui/material\";\nimport DraggableModal from \"../../draggable-modal\";\nimport DialogActions from \"../../dialog-actions\";\nimport Button from \"../../StyledButton/index\";\n\nconst ConfigTable = ({\n openTableConfig,\n setOpenTableConfig,\n data,\n selectedColumns,\n setSelectedColumns,\n columns,\n initialColumnsFixed,\n setInitialColumnsFixed,\n lastColumnsFixed,\n setLastColumnsFixed,\n}) => {\n const [currentColumnSelections, setCurrentColumnSelections] =\n useState(selectedColumns);\n\n const [currentInitialColumnsFixed, setCurrentInitialColumnsFixed] =\n useState(initialColumnsFixed);\n\n const [currentLastColumnsFixed, setCurrentLastColumnsFixed] =\n useState(lastColumnsFixed);\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const currentObjectKeys =\n data &&\n data.length > 0 &&\n Object.keys(data[0]) &&\n Object.keys(data[0]).map((key) => {\n return {\n field: key,\n title: formatString(key),\n };\n });\n\n const filteredColumns = (currentObjectKeys || []).filter(\n (item) =>\n !currentColumnSelections.some((column) => item.field === column.field)\n );\n\n const [sortColumns, setSortColumns] = useState([]);\n\n const onClose = () => {\n setOpenTableConfig(false);\n setCurrentColumnSelections(selectedColumns);\n setSelectedColumns(selectedColumns);\n setCurrentInitialColumnsFixed(initialColumnsFixed);\n setCurrentLastColumnsFixed(lastColumnsFixed);\n setSearchTerm(\"\");\n };\n\n function formatString(input) {\n let formattedString = input.charAt(0).toUpperCase() + input.slice(1);\n formattedString = formattedString.replace(/([a-z])([A-Z])/g, \"$1 $2\");\n return formattedString;\n }\n\n const checkColumnExists = (field) => {\n const filteredColumn = currentColumnSelections.filter(\n (item) => item.field === field\n );\n\n if (filteredColumn.length > 0) {\n return true;\n }\n\n return false;\n };\n\n const sortCurrentColumnsSelected = (sortColumns || []).filter((item) =>\n currentColumnSelections.some((column) => item.field === column.field)\n );\n\n const onSave = () => {\n setSelectedColumns(sortCurrentColumnsSelected);\n setOpenTableConfig(false);\n setCurrentColumnSelections(columns);\n setInitialColumnsFixed(currentInitialColumnsFixed);\n setLastColumnsFixed(currentLastColumnsFixed);\n setSearchTerm(\"\");\n };\n\n // Serialize - convert render functions to string\n const serializeItem = (item) => {\n const newItem = { ...item };\n\n if (Array.isArray(newItem.columns)) {\n newItem.columns = newItem.columns.map(serializeItem);\n }\n\n return newItem;\n };\n\n // Restore - revive render from string OR original advancedColumns\n const restoreItem = (item, originalColumns) => {\n const restored = { ...item };\n\n // Look up original definition by field + title\n const original = originalColumns.find(\n (col) => col.field === item.field && col.title === item.title\n );\n\n if (original?.render) {\n restored.render = original.render;\n }\n\n if (Array.isArray(item.columns)) {\n restored.columns = item.columns.map((col) =>\n restoreItem(col, original?.columns || [])\n );\n }\n\n return restored;\n };\n\n const drag = (ev, item) => {\n const newItem = serializeItem(item);\n ev.dataTransfer.setData(\"draggedItem\", JSON.stringify(newItem));\n };\n\n const drop = (e, targetIndex) => {\n const draggedItem = JSON.parse(e.dataTransfer.getData(\"draggedItem\"));\n const restoredItem = restoreItem(draggedItem, columns);\n\n const draggedIndex = sortColumns.findIndex(\n (column) => column.field === restoredItem.field\n );\n\n const updatedColumns = [...sortColumns];\n updatedColumns.splice(draggedIndex, 1);\n updatedColumns.splice(targetIndex, 0, restoredItem);\n\n setSortColumns(updatedColumns);\n };\n\n const allowDrop = (e) => {\n e.preventDefault();\n };\n\n useEffect(() => {\n if (currentColumnSelections && filteredColumns) {\n setSortColumns([\n ...(currentColumnSelections || []),\n ...(filteredColumns || []),\n ]);\n }\n }, [currentColumnSelections]);\n\n // useEffect(() => {\n // let filtered = [...sortColumns];\n // if (searchTerm) {\n // filtered = (filtered || []).filter((item) => {\n // const keys = Object.keys(item);\n // const any = keys.some(\n // (key) =>\n // item[key] &&\n // item[key]\n // .toString()\n // .toLowerCase()\n // .includes(searchTerm.toLowerCase())\n // );\n // return any;\n // });\n // setSortColumns(filtered);\n // } else {\n // setSortColumns(filtered);\n // }\n // }, [searchTerm, columns, selectedColumns]);\n\n return (\n <DraggableModal\n id=\"config-table-modal\"\n title=\"Config Table\"\n open={openTableConfig}\n onClose={onClose}\n disableBackdropClick={true}\n maxWidth=\"sm\"\n >\n <DialogContent className=\"relative !overflow-y-visible shadow-md \">\n <Grid container>\n <Grid\n item\n xs={12}\n md={6}\n className=\"px-5 pt-0\"\n style={{ height: \"65vh\", overflowY: \"auto\" }}\n >\n <div className=\"w-full sticky top-0 bg-white z-10\">\n <Typography variant=\"h6\" className=\"w-full\">\n <b>Attribute Columns</b>\n </Typography>\n <p className=\"w-full\">Select visible attribute columns</p>{\" \"}\n <div className=\"pt-3 pb-4\">\n {/* <SearchInput\n value={searchTerm}\n onChange={(e) => setSearchTerm(e.target.value)}\n /> */}\n </div>\n </div>\n <div className=\"w-full \">\n <FormGroup>\n {(sortColumns || []).map((item, index) => (\n <FormControlLabel\n key={item.field}\n draggable=\"true\"\n onDragStart={(e) => {\n drag(e, item);\n }}\n onDragOver={allowDrop}\n onDrop={(e) => drop(e, index)}\n control={\n <Checkbox\n checked={checkColumnExists(item.field)}\n onChange={(e) => {\n e.target.checked\n ? setCurrentColumnSelections([\n ...currentColumnSelections,\n {\n ...item,\n field: item.field,\n title: item.title,\n },\n ])\n : setCurrentColumnSelections([\n ...currentColumnSelections.filter(\n (column) => column.field !== item.field\n ),\n ]);\n }}\n />\n }\n label={item.title}\n />\n ))}\n </FormGroup>\n </div>\n <div className=\"w-full \">\n <div className=\"flex w-full\">\n <Button\n onClick={() => {\n setCurrentColumnSelections(columns);\n setCurrentInitialColumnsFixed(0);\n setCurrentLastColumnsFixed(0);\n }}\n sx={{ textTransform: \"capitalize\" }}\n variant=\"outlined\"\n color=\"error\"\n size=\"small\"\n aria-label=\"Clear\"\n >\n Clear Preferences\n </Button>\n </div>\n </div>\n </Grid>\n <Grid\n item\n xs={12}\n md={6}\n className=\"p-5 pt-6\"\n style={{ height: \"65vh\", overflowY: \"auto\" }}\n >\n <div className=\"w-full sticky top-0 bg-white z-10\">\n <div>\n <Typography variant=\"h6\" className=\"w-full\">\n <b>First Columns</b>\n </Typography>\n <p className=\"w-full\">\n Keep the first columns visible when horizontally scrolling the\n table content.\n </p>\n <div className=\"mt-3\">\n <FormControl>\n <RadioGroup\n aria-labelledby=\"radio-buttons-group-label\"\n defaultValue={0}\n value={currentInitialColumnsFixed}\n name=\"radio-buttons-group\"\n onChange={(e) => {\n setCurrentInitialColumnsFixed(\n e.target.value ? Number(e.target.value) : 0\n );\n }}\n >\n <FormControlLabel\n value={0}\n control={<Radio />}\n label=\"None\"\n />\n <FormControlLabel\n value={1}\n control={<Radio />}\n label=\"One Column\"\n />\n <FormControlLabel\n value={2}\n control={<Radio />}\n label=\"Two Columns\"\n />\n </RadioGroup>\n </FormControl>\n </div>\n </div>\n <div>\n <div className=\"w-full sticky top-0 bg-white z-10\">\n <Typography variant=\"h6\" className=\"w-full\">\n <b>Last Column</b>\n </Typography>\n <p className=\"w-full\">\n Keep the last column visible when horizontally scrolling the\n table content.\n </p>\n <div className=\"mt-3\">\n <FormControl>\n <RadioGroup\n aria-labelledby=\"radio-buttons-group-label\"\n defaultValue={0}\n name=\"radio-buttons-group\"\n value={currentLastColumnsFixed}\n onChange={(e) => {\n setCurrentLastColumnsFixed(\n e.target.value ? Number(e.target.value) : 0\n );\n }}\n >\n <FormControlLabel\n value={0}\n control={<Radio />}\n label=\"None\"\n />\n <FormControlLabel\n value={1}\n control={<Radio />}\n label=\"Last Column\"\n />\n </RadioGroup>\n </FormControl>\n </div>\n </div>\n </div>\n </div>\n </Grid>\n </Grid>\n </DialogContent>\n <DialogActions className=\"relative z-10\">\n <Button\n variant=\"outlined\"\n color=\"primary\"\n size=\"small\"\n onClick={onSave}\n aria-label=\"Save\"\n >\n Save\n </Button>\n <Button\n variant=\"outlined\"\n color=\"error\"\n size=\"small\"\n onClick={onClose}\n aria-label=\"Cancel\"\n >\n Cancel\n </Button>\n </DialogActions>\n </DraggableModal>\n );\n};\n\nexport default ConfigTable;\n","import { Checkbox, FormControlLabel } from \"@mui/material\";\nimport { useState } from \"react\";\nimport Button from \"../../StyledButton/index\";\nimport { FilterAltOutlined as FilterAltOutlinedIcon } from \"@mui/icons-material\";\nimport { FormGroup, Popover } from \"@mui/material\";\nimport IconButton from \"../../icon-button\";\nimport LightTooltip from \"../../light-tooltip\";\n\nconst FilterList = ({\n dataFilterItems,\n filterList,\n setFilterList,\n col,\n handleSetFilter,\n columns,\n}) => {\n const [anchorEl, setAnchorEl] = useState(null);\n\n const handleOpen = (event) => {\n event.stopPropagation();\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const open = Boolean(anchorEl);\n\n const handleClear = (e, col) => {\n e.stopPropagation();\n const updatedObj = { ...filterList, [col?.field]: [] };\n setFilterList(updatedObj);\n handleSetFilter(e, updatedObj);\n };\n\n const handleClearAll = (e) => {\n e.stopPropagation();\n const updatedObj = {};\n columns?.forEach((col) => {\n updatedObj[col?.field] = [];\n });\n setFilterList(updatedObj);\n handleSetFilter(e, updatedObj);\n };\n\n return (\n <div>\n <LightTooltip title={`Filter ${col?.title ? col?.title : \"\"}`}>\n <IconButton onClick={handleOpen}>\n <FilterAltOutlinedIcon\n sx={{\n fontSize: 20,\n color:\n filterList?.[col?.field]?.length === 0\n ? \"var(--color-table-header)\"\n : \"\",\n }}\n />\n </IconButton>\n </LightTooltip>\n <Popover\n open={open}\n anchorEl={anchorEl}\n onClose={(e) => {\n e.stopPropagation();\n handleSetFilter(e, filterList);\n handleClose();\n }}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"left\",\n }}\n >\n <div className=\"bg-white p-3 rounded text-sm max-w-xs\">\n {/* Filter List */}\n <div className=\"max-h-48 min-w-60 overflow-y-auto overflow-x-hidden pr-3\">\n <FormGroup>\n {(dataFilterItems[col?.field] || [])?.map(\n (filterItem, filterIndex) =>\n filterItem ? (\n <FormControlLabel\n style={{ margin: 0, textAlign: \"left\" }}\n key={`filter-${filterIndex}`}\n control={\n <Checkbox\n checked={filterList?.[col?.field]?.includes(\n filterItem\n )}\n onChange={(e) => {\n e.stopPropagation();\n setFilterList((prev) => ({\n ...prev,\n [col?.field]: e.target.checked\n ? [...(prev[col?.field] || []), filterItem]\n : prev[col?.field]?.filter(\n (item) => item !== filterItem\n ),\n }));\n }}\n />\n }\n label={filterItem}\n />\n ) : (\n <span\n key={`filter-${filterIndex}`}\n className=\"font-light italic text-center\"\n >\n No Filters available!\n </span>\n )\n )}\n </FormGroup>\n </div>\n\n {/* Actions */}\n <div className=\"flex items-center justify-center gap-2 mt-3\">\n <Button\n size=\"small\"\n color=\"primary\"\n variant=\"outlined\"\n onClick={(e) => {\n e.stopPropagation();\n handleSetFilter(e, filterList);\n handleClose();\n }}\n aria-label=\"Filter\"\n >\n Filter\n </Button>\n <Button\n size=\"small\"\n color=\"secondary\"\n variant=\"outlined\"\n onClick={(e) => {\n handleClear(e, col);\n handleClose();\n }}\n aria-label=\"Clear\"\n >\n Clear\n </Button>\n <Button\n size=\"small\"\n color=\"error\"\n variant=\"outlined\"\n onClick={(e) => {\n handleClearAll(e);\n handleClose();\n }}\n aria-label=\"ClearAll\"\n >\n Clear All\n </Button>\n </div>\n </div>\n </Popover>\n </div>\n );\n};\n\nexport default FilterList;\n","import { TableCell } from \"@mui/material\";\nimport { styled } from \"@mui/material/styles\";\n\nimport { tableCellClasses } from \"@mui/material/TableCell\";\n\nconst StickyTableCell = styled(TableCell)(\n ({ theme, fontSize, noWrapHeader, noWrapBody, padding, sx }) => ({\n [`&.${tableCellClasses.head}`]: {\n backgroundColor: \"var(--fill_table_header)\",\n color: \"var(--color-table-header)\",\n fontSize: fontSize || \"var(--table-header-fontSize, 18px) !important\",\n textAlign: \"center\",\n padding: padding ? padding : \"3px 10px\",\n borderLeft: \"1px solid #ccc\",\n borderRight: \"1px solid #ccc\",\n \"&:nth-last-of-type(1)\": {\n borderRight: \"1px solid #ccc\",\n },\n borderBottom: \"3px solid var(--fill-table-header-border) !important\",\n position: \"sticky\",\n top: sx?.top || 0,\n zIndex: 5,\n [theme.breakpoints.down(\"lg\")]: {\n fontSize: \"calc(var(--table-header-fontSize, 18px) - 2px) !important\",\n },\n whiteSpace: noWrapHeader ? \"nowrap\" : \"normal\",\n boxShadow: \"5px 5px 8px rgba(0, 0, 0, 0.2)\",\n },\n [`&.${tableCellClasses.body}`]: {\n fontSize: fontSize || \"var(--table-body-fontSize, 16px) !important\",\n color: \"var(--color-table-body-row)\",\n padding: padding ? padding : \"3px 10px\",\n borderLeft: \"1px solid #ccc\",\n borderRight: \"1px solid #ccc\",\n [theme.breakpoints.down(\"lg\")]: {\n fontSize: \"calc(var(--table-body-fontSize, 14px) - 2px) !important\",\n },\n whiteSpace: noWrapBody ? \"nowrap\" : \"normal\",\n boxShadow: \"5px 5px 8px rgba(0, 0, 0, 0.2)\",\n },\n [`&.${tableCellClasses.footer}`]: {\n whiteSpace: noWrapBody ? \"nowrap\" : \"normal\",\n },\n position: \"sticky\",\n left: sx?.left,\n\n zIndex: 5,\n })\n);\n\nexport default StickyTableCell;\n","import { TableRow } from \"@mui/material\";\nimport { styled } from \"@mui/material/styles\";\n\nconst StickyStyledTableRow = styled(TableRow)(({ theme }) => ({}));\n\nexport default StickyStyledTableRow;\n","import { styled } from \"@mui/material/styles\";\nimport TableCell, { tableCellClasses } from \"@mui/material/TableCell\";\n\nconst StyledBorderedTableCell = styled(TableCell)(\n ({ theme, top, fontSize, noWrapHeader, noWrapBody }) => ({\n [`&.${tableCellClasses.head}`]: {\n backgroundColor: \"var(--fill_table_header)\",\n color: \"var(--color-table-header)\",\n fontSize: fontSize || \"var(--table-header-fontSize, 18px) !important\",\n textAlign: \"center\",\n padding: \"3px 10px\",\n // \"&:nth-last-of-type(1)\": {\n // borderRight: \"none\",\n // },\n outline: \"1px solid inherit\",\n borderRight: \"1px solid #ccc\",\n borderBottom: \"3px solid var(--fill-table-header-border) !important\",\n position: \"sticky\",\n top: top || 0,\n [theme.breakpoints.down(\"lg\")]: {\n fontSize: \"calc(var(--table-header-fontSize, 18px) - 2px) !important\",\n },\n whiteSpace: noWrapHeader ? \"nowrap\" : \"normal\",\n boxShadow: \"5px 5px 8px rgba(0, 0, 0, 0.2)\",\n fontWeight: \"400 !important\",\n },\n [`&.${tableCellClasses.body}`]: {\n fontSize: fontSize || \"var(--table-body-fontSize, 16px) !important\",\n color: \"var(--color-table-body-row)\",\n padding: \"3px 4px 3px 4px\",\n borderRight: \"1px solid #ccc\",\n fontFamily: \"Poppins, sans-serif\",\n // \"&:nth-last-of-type(1)\": {\n // borderRight: \"none\",\n // },\n [theme.breakpoints.down(\"lg\")]: {\n fontSize: \"calc(var(--table-body-fontSize, 14px) - 2px) !important\",\n },\n whiteSpace: noWrapBody ? \"nowrap\" : \"normal\",\n },\n [`&.${tableCellClasses.footer}`]: {\n padding: \"3px 4px\",\n border: \"1px solid #ccc\",\n fontWeight: 900,\n fontSize: fontSize || \"var(--table-footer-fontSize)\",\n color: \"#000\",\n fontFamily: \"Poppins, sans-serif\",\n },\n })\n);\n\nexport default StyledBorderedTableCell;\n","import { styled } from \"@mui/material/styles\";\nimport TableRow from \"@mui/material/TableRow\";\n\nconst StyledBorderedTableRow = styled(TableRow)(({ theme }) => ({\n \"&:nth-of-type(even)\": {\n backgroundColor: \"var(--fill_table_body_row_2)\",\n },\n \"&:hover\": {\n backgroundColor: \"var(--hover_fill_table_body_row) !important\",\n },\n}));\n\nexport default StyledBorderedTableRow;\n","import { Skeleton, TableBody } from \"@mui/material\";\nimport React from \"react\";\nimport StyledBorderedTableCell from \"./styled-table-cell\";\nimport StyledTableRow from \"./styled-table-row\";\n\nconst SkeletonTableBody = ({ columns }) => {\n return (\n <TableBody>\n <StyledTableRow>\n <StyledBorderedTableCell>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n {(columns || [])\n ?.filter((item) => !item?.hidden)\n ?.map((col, colIdx) => (\n <React.Fragment key={`idx-${colIdx}`}>\n <StyledBorderedTableCell>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n </React.Fragment>\n ))}\n </StyledTableRow>\n <StyledTableRow>\n <StyledBorderedTableCell>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n {columns\n ?.filter((item) => !item?.hidden)\n ?.map((col, colIdx) => (\n <React.Fragment key={`idx-${colIdx}`}>\n <StyledBorderedTableCell>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n </React.Fragment>\n ))}\n </StyledTableRow>\n <StyledTableRow>\n <StyledBorderedTableCell>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n {(columns || [])\n ?.filter((item) => !item?.hidden)\n ?.map((col, colIdx) => (\n <React.Fragment key={`idx-${colIdx}`}>\n <StyledBorderedTableCell>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n </React.Fragment>\n ))}\n </StyledTableRow>\n <StyledTableRow>\n <StyledBorderedTableCell>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n {(columns || [])?.map((col, colIdx) => (\n <React.Fragment key={`idx-${colIdx}`}>\n <StyledBorderedTableCell>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n </React.Fragment>\n ))}\n </StyledTableRow>\n </TableBody>\n );\n};\nexport default SkeletonTableBody;\n","import React, { useRef, useEffect, useState } from \"react\";\nimport { visuallyHidden } from \"@mui/utils\";\nimport { Box, Checkbox, FormControlLabel, TableSortLabel } from \"@mui/material\";\n\nimport FilterList from \"../filter-list\";\nimport StickyTableCell from \"../sticky-table-cell\";\nimport StyledTableRow from \"../styled-table-row\";\nimport StickyStyledTableRow from \"../sticky-table-row\";\nimport StyledBorderedTableCell from \"../styled-table-cell\";\n\nconst AdvancedHeader = ({\n currentColumns,\n selection,\n selected,\n selectedColumns,\n disableCheckBox,\n tableData,\n handleSelectAllClick,\n initialColumnsFixed,\n firstRefWidth,\n lastColumnsFixed,\n orderBy,\n filterList,\n setFilterList,\n firstRef,\n secondRef,\n createSortHandler,\n order,\n dataFilterItems,\n handleSetFilter,\n}) => {\n const rowRef = useRef(null);\n const [rowHeight, setRowHeight] = useState(0);\n\n const findHighestRowspan = (columns, currentDepth = 1) => {\n let maxDepth = currentDepth;\n\n columns.forEach((col) => {\n if (col.columns && col.columns.length > 0) {\n const depth = findHighestRowspan(col.columns, currentDepth + 1);\n if (depth > maxDepth) {\n maxDepth = depth;\n }\n }\n });\n\n return maxDepth;\n };\n\n const highestRowspan = findHighestRowspan(currentColumns);\n\n const getImmediateChildColumns = (columns) => {\n let result = [];\n\n columns.forEach((col) => {\n if (col.columns && col.columns.length > 0) {\n result = result.concat(col.columns);\n }\n });\n\n return result;\n };\n\n const immediateChildren = getImmediateChildColumns(currentColumns);\n\n useEffect(() => {\n if (rowRef.current) {\n setRowHeight(rowRef.current.offsetHeight);\n }\n }, []);\n\n return (\n <>\n <StickyStyledTableRow>\n {selection && (\n <StickyTableCell\n aria-label=\"header\"\n style={{\n padding: \"3px 12px\",\n zIndex: 3,\n }}\n key={`sticky-cell-${\"\"}`}\n rowSpan={highestRowspan}\n >\n <FormControlLabel\n style={{ margin: \"0px\" }}\n aria-label=\"check\"\n control={\n <Checkbox\n disabled={disableCheckBox}\n style={{\n textAlign: \"center\",\n position: \"sticky\",\n transform: \"scale(0.7)\",\n padding: \"1px\",\n backgroundColor: \"white\",\n borderRadius: \"4px\",\n }}\n indeterminate={\n selected?.length > 0 && selected?.length < tableData?.length\n }\n checked={\n tableData?.length > 0 &&\n selected?.length === tableData?.length\n }\n onChange={handleSelectAllClick}\n inputProps={{ \"aria-label\": \"select all rows\" }}\n />\n }\n />\n </StickyTableCell>\n )}\n\n {(selectedColumns || [])\n ?.filter((item) => !item?.hidden)\n ?.map((col, colIdx) =>\n col?.sorting === false ? (\n <StyledBorderedTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col?.align || \"left\"}\n padding={col?.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col?.field ? order : false}\n sx={{\n maxWidth: col?.maxWidth,\n backgroundColor: col?.backgroundColor,\n left:\n (initialColumnsFixed === 1 || initialColumnsFixed === 2) &&\n colIdx === 0\n ? 0\n : initialColumnsFixed === 2 && colIdx === 1\n ? firstRefWidth + 20\n : \"\",\n right:\n lastColumnsFixed > 0 &&\n colIdx === selectedColumns?.length - 1\n ? \"0 !important\"\n : \"unset\",\n zIndex:\n (initialColumnsFixed === 1 || initialColumnsFixed === 2) &&\n colIdx === 0\n ? 5\n : initialColumnsFixed === 2 && colIdx === 1\n ? 5\n : \"\",\n minWidth:\n initialColumnsFixed === 2 && colIdx === 0\n ? firstRefWidth + 20 || 0\n : \"\",\n }}\n noWrapHeader={col?.noWrapHeader}\n rowSpan={\n col?.rowSpan\n ? col?.rowSpan\n : (col?.columns || []).length > 0\n ? 1\n : highestRowspan\n ? highestRowspan\n : 1\n }\n colSpan={\n col?.colSpan\n ? col?.colSpan\n : (col?.columns || []).length > 1\n ? (col?.columns || []).length\n : 1\n }\n >\n <span\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n }}\n ref={colIdx === 0 ? firstRef : secondRef}\n >\n {col?.title}\n {col?.filter && (\n <FilterList\n dataFilterItems={dataFilterItems}\n filterList={filterList}\n setFilterList={setFilterList}\n col={col}\n handleSetFilter={handleSetFilter}\n columns={selectedColumns}\n />\n )}\n </span>\n </StyledBorderedTableCell>\n ) : (\n <StyledBorderedTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col?.align || \"left\"}\n padding={col?.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col?.field ? order : false}\n sx={{\n maxWidth: col?.maxWidth,\n left:\n (initialColumnsFixed === 1 || initialColumnsFixed === 2) &&\n colIdx === 0\n ? 0\n : initialColumnsFixed === 2 && colIdx === 1\n ? firstRefWidth + 20\n : \"\",\n right:\n lastColumnsFixed > 0 &&\n colIdx === selectedColumns?.length - 1\n ? \"0px !important\"\n : \"unset\",\n zIndex:\n (initialColumnsFixed === 1 || initialColumnsFixed === 2) &&\n colIdx === 0\n ? 5\n : initialColumnsFixed === 2 && colIdx === 1\n ? 5\n : \"\",\n minWidth:\n initialColumnsFixed === 2 && colIdx === 0\n ? firstRefWidth + 20 || 0\n : \"\",\n }}\n noWrapHeader={col?.noWrapHeader}\n rowSpan={\n col?.rowSpan\n ? col?.rowSpan\n : (col?.columns || []).length > 0\n ? 1\n : highestRowspan\n ? highestRowspan\n : 1\n }\n colSpan={\n col?.colSpan\n ? col?.colSpan\n : (col?.columns || []).length > 1\n ? (col?.columns || []).length\n : 1\n }\n >\n <span\n ref={colIdx === 0 ? firstRef : secondRef}\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n minWidth: `${\n initialColumnsFixed > 0 && colIdx === 0\n ? `${firstRef}px`\n : \"auto\"\n }`,\n }}\n >\n <TableSortLabel\n active={orderBy === col?.field}\n direction={orderBy === col?.field ? order : \"asc\"}\n onClick={createSortHandler(col?.field)}\n sx={{\n \"&:hover\": {\n color: \"var(--hover-color-table-header)\",\n },\n \"&.Mui-active\": {\n color:\n orderBy === col?.field\n ? \"black !important\"\n : \"var(--hover-color-table-header) !important\",\n },\n \"&.Mui-active .MuiTableSortLabel-icon\": {\n color:\n orderBy === col?.field\n ? \"black !important\"\n : \"var(--hover-color-table-header) !important\",\n },\n }}\n >\n {col?.title}\n {orderBy === col?.field ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {order === \"desc\"\n ? \"sorted descending\"\n : \"sorted ascending\"}\n </Box>\n ) : null}\n </TableSortLabel>\n\n {col?.filter && (\n <FilterList\n dataFilterItems={dataFilterItems}\n filterList={filterList}\n setFilterList={setFilterList}\n col={col}\n handleSetFilter={handleSetFilter}\n columns={selectedColumns}\n />\n )}\n </span>\n </StyledBorderedTableCell>\n )\n )}\n </StickyStyledTableRow>\n {(immediateChildren || []).length > 0 && (\n <StyledTableRow>\n {(immediateChildren || [])\n ?.filter((item) => !item?.hidden)\n ?.map((col, colIdx) =>\n col?.sorting === false ? (\n <StickyTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col?.align || \"left\"}\n padding={col?.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col?.field ? order : false}\n sx={{\n maxWidth: col?.maxWidth,\n backgroundColor: col?.backgroundColor,\n top: (rowHeight || 25) + 8,\n // left:\n // (initialColumnsFixed === 1 ||\n // initialColumnsFixed === 2) &&\n // colIdx=== 0\n // ? 0\n // : initialColumnsFixed === 2 && colIdx=== 1\n // ? firstRefWidth + 20\n // : \"\",\n right:\n lastColumnsFixed > 0 &&\n colIdx === selectedColumns?.length - 1\n ? \"0 !important\"\n : \"unset\",\n zIndex:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIdx === 0\n ? 5\n : initialColumnsFixed === 2 && colIdx === 1\n ? 5\n : \"\",\n }}\n noWrapHeader={col?.noWrapHeader}\n rowSpan={col?.rowSpan ? col?.rowSpan : 1}\n colSpan={\n col?.colSpan\n ? col?.colSpan\n : (col?.columns || []).length > 1\n ? (col?.columns || []).length\n : 1\n }\n >\n <span\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n }}\n >\n {col?.title}\n {col?.filter && (\n <FilterList\n dataFilterItems={dataFilterItems}\n filterList={filterList}\n setFilterList={setFilterList}\n col={col}\n handleSetFilter={handleSetFilter}\n columns={selectedColumns}\n />\n )}\n </span>\n </StickyTableCell>\n ) : (\n <StickyTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col?.align || \"left\"}\n padding={col?.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col?.field ? order : false}\n sx={{\n maxWidth: col?.maxWidth,\n top: (rowHeight || 25) + 8,\n // left:\n // (initialColumnsFixed === 1 ||\n // initialColumnsFixed === 2) &&\n // colIdx=== 0\n // ? 0\n // : initialColumnsFixed === 2 && colIdx=== 1\n // ? firstRefWidth + 20\n // : \"\",\n right:\n lastColumnsFixed > 0 &&\n colIdx === selectedColumns?.length - 1\n ? \"0px !important\"\n : \"unset\",\n zIndex:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIdx === 0\n ? 5\n : initialColumnsFixed === 2 && colIdx === 1\n ? 5\n : \"\",\n }}\n noWrapHeader={col?.noWrapHeader}\n rowSpan={col?.rowSpan ? col?.rowSpan : 1}\n colSpan={\n col?.colSpan\n ? col?.colSpan\n : (col?.columns || []).length > 1\n ? (col?.columns || []).length\n : 1\n }\n >\n <span\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n }}\n >\n <TableSortLabel\n active={orderBy === col?.field}\n direction={orderBy === col?.field ? order : \"asc\"}\n onClick={createSortHandler(col?.field)}\n sx={{\n \"&:hover\": {\n color: \"var(--hover-color-table-header)\",\n },\n \"&.Mui-active\": {\n color:\n orderBy === col?.field\n ? \"black !important\"\n : \"var(--hover-color-table-header) !important\",\n },\n \"&.Mui-active .MuiTableSortLabel-icon\": {\n color:\n orderBy === col?.field\n ? \"black !important\"\n : \"var(--hover-color-table-header) !important\",\n },\n }}\n >\n {col?.title}\n {orderBy === col?.field ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {order === \"desc\"\n ? \"sorted descending\"\n : \"sorted ascending\"}\n </Box>\n ) : null}\n </TableSortLabel>\n\n {col?.filter && (\n <FilterList\n dataFilterItems={dataFilterItems}\n filterList={filterList}\n setFilterList={setFilterList}\n col={col}\n handleSetFilter={handleSetFilter}\n columns={selectedColumns}\n />\n )}\n </span>\n </StickyTableCell>\n )\n )}\n </StyledTableRow>\n )}\n </>\n );\n};\n\nexport default AdvancedHeader;\n","import { Checkbox, FormControlLabel, TableBody } from \"@mui/material\";\nimport StickyTableCell from \"../sticky-table-cell\";\nimport StyledTableRow from \"../styled-table-row\";\nimport { getComparator, stableSort } from \"../utils\";\nimport StyledBorderedTableCell from \"../styled-table-cell\";\n\nconst CustomStickyCellBody = (props) => {\n const { rowData, columnObject, ...otherProps } = props;\n if (columnObject?.render) {\n return (\n <StickyTableCell {...otherProps}>\n {columnObject?.render(rowData)}\n </StickyTableCell>\n );\n } else {\n return (\n <StickyTableCell {...otherProps}>\n {rowData[columnObject?.field]}\n </StickyTableCell>\n );\n }\n};\n\nconst CustomTableCell = (props) => {\n const { rowData, columnObject, ...otherProps } = props;\n if (columnObject?.render) {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {columnObject?.render(rowData)}\n </StyledBorderedTableCell>\n );\n } else {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {rowData[columnObject?.field]}\n </StyledBorderedTableCell>\n );\n }\n};\n\nconst AdvancedBody = ({\n selection,\n selectedColumns,\n disableCheckBox,\n tableData,\n initialColumnsFixed,\n firstRefWidth,\n lastColumnsFixed,\n orderBy,\n order,\n page,\n rowsPerPage,\n isSelected,\n handleClick,\n primaryColId,\n}) => {\n return (\n <TableBody>\n {stableSort(tableData, getComparator(order, orderBy))\n ?.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n ?.map((row, rowIndex) => {\n const isItemSelected = isSelected(row[primaryColId]);\n const labelId = `custom-table-checkbox-${rowIndex}`;\n return (\n <StyledTableRow\n hover\n role=\"checkbox\"\n aria-checked={isItemSelected}\n tabIndex={-1}\n key={row[primaryColId]}\n selected={isItemSelected}\n >\n {selection && (\n <StickyTableCell\n style={{\n background:\n rowIndex % 2 === 0\n ? \"var(--fill_table_body_row_1)\"\n : \"var(--fill_table_body_row_2)\",\n textAlign: \"center\",\n width: \"10px\",\n zIndex: 2,\n }}\n padding=\"0px !important\"\n >\n <FormControlLabel\n style={{ margin: \"0px\" }}\n aria-label=\"check\"\n control={\n <Checkbox\n disabled={disableCheckBox}\n onClick={(event) =>\n handleClick(event, row[primaryColId])\n }\n style={{ transform: \"scale(0.7)\" }}\n checked={isItemSelected}\n />\n }\n />\n </StickyTableCell>\n )}\n {(selectedColumns || [])\n ?.filter((item) => !item?.hidden)\n ?.map((col, colIndex) =>\n lastColumnsFixed > 0 &&\n colIndex === selectedColumns?.length - 1 ? (\n (col?.columns || [])?.length > 0 ? (\n col?.columns.map((subCol, subColIndex) => (\n <CustomStickyCellBody\n key={`customTableCell-${rowIndex}-${colIndex}-${subColIndex}`}\n align={subCol?.align || \"left\"}\n padding={subCol?.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={subCol}\n sx={{\n maxWidth: subCol?.maxWidth,\n overflowWrap: subCol?.wordBreak ? \"break-word\" : \"\",\n }}\n noWrapBody={subCol?.noWrapBody}\n style={{\n position:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? \"sticky\"\n : initialColumnsFixed === 2 && colIndex === 1\n ? \"sticky\"\n : \"\",\n right:\n lastColumnsFixed > 0 &&\n colIndex === selectedColumns?.length - 1\n ? 0\n : \"unset\",\n zIndex:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? 2\n : initialColumnsFixed === 2 && colIndex === 1\n ? 2\n : \"\" || 0,\n background:\n rowIndex % 2 === 0 ? \"white\" : \"#f8f8f8\",\n }}\n />\n ))\n ) : (\n <CustomStickyCellBody\n key={`customTableCell-${rowIndex}-${colIndex}`}\n align={col?.align || \"left\"}\n padding={col?.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={col}\n sx={{\n maxWidth: col?.maxWidth,\n overflowWrap: col?.wordBreak ? \"break-word\" : \"\",\n }}\n noWrapBody={col?.noWrapBody}\n style={{\n position:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? \"sticky\"\n : initialColumnsFixed === 2 && colIndex === 1\n ? \"sticky\"\n : \"\",\n right:\n lastColumnsFixed > 0 &&\n colIndex === selectedColumns?.length - 1\n ? 0\n : \"unset\",\n zIndex:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? 2\n : initialColumnsFixed === 2 && colIndex === 1\n ? 2\n : \"\" || 0,\n background: rowIndex % 2 === 0 ? \"white\" : \"#f8f8f8\",\n }}\n />\n )\n ) : colIndex < initialColumnsFixed ? (\n (col?.columns || [])?.length > 0 ? (\n col?.columns.map((subCol, subColIndex) => (\n <CustomStickyCellBody\n key={`customTableCell-${rowIndex}-${colIndex}-${subColIndex}`}\n align={subCol?.align || \"left\"}\n padding={subCol?.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={subCol}\n sx={{\n maxWidth: subCol?.maxWidth,\n overflowWrap: subCol?.wordBreak ? \"break-word\" : \"\",\n }}\n noWrapBody={subCol?.noWrapBody}\n style={{\n position:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? \"sticky\"\n : initialColumnsFixed === 2 && colIndex === 1\n ? \"sticky\"\n : \"\",\n left:\n lastColumnsFixed > 0 &&\n colIndex === selectedColumns?.length - 1\n ? \"unset\"\n : (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? 0\n : initialColumnsFixed === 2 && colIndex === 1\n ? firstRefWidth + 20\n : \"\",\n zIndex:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? 2\n : initialColumnsFixed === 2 && colIndex === 1\n ? 2\n : \"\" || 0,\n background:\n rowIndex % 2 === 0 ? \"white\" : \"#f8f8f8\",\n }}\n />\n ))\n ) : (\n <CustomStickyCellBody\n key={`customTableCell-${rowIndex}-${colIndex}`}\n align={col?.align || \"left\"}\n padding={col?.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={col}\n sx={{\n maxWidth: col?.maxWidth,\n overflowWrap: col?.wordBreak ? \"break-word\" : \"\",\n }}\n noWrapBody={col?.noWrapBody}\n style={{\n position:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? \"sticky\"\n : initialColumnsFixed === 2 && colIndex === 1\n ? \"sticky\"\n : \"\",\n left:\n lastColumnsFixed > 0 &&\n colIndex === selectedColumns?.length - 1\n ? \"unset\"\n : (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? 0\n : initialColumnsFixed === 2 && colIndex === 1\n ? firstRefWidth + 20\n : \"\",\n zIndex:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? 2\n : initialColumnsFixed === 2 && colIndex === 1\n ? 2\n : \"\" || 0,\n background: rowIndex % 2 === 0 ? \"white\" : \"#f8f8f8\",\n }}\n />\n )\n ) : (col?.columns || [])?.length > 0 ? (\n col?.columns.map((subCol, subColIndex) => (\n <CustomTableCell\n key={`customTableCell-${rowIndex}-${colIndex}-${subColIndex}`}\n align={subCol?.align || \"left\"}\n padding={subCol?.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={subCol}\n sx={{\n maxWidth: subCol?.maxWidth,\n overflowWrap: subCol?.wordBreak ? \"break-word\" : \"\",\n }}\n noWrapBody={subCol?.noWrapBody}\n />\n ))\n ) : (\n <CustomTableCell\n key={`customTableCell-${rowIndex}-${colIndex}`}\n align={col?.align || \"left\"}\n padding={col?.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={col}\n sx={{\n maxWidth: col?.maxWidth,\n overflowWrap: col?.wordBreak ? \"break-word\" : \"\",\n }}\n noWrapBody={col?.noWrapBody}\n />\n )\n )}\n </StyledTableRow>\n );\n })}\n </TableBody>\n );\n};\n\nexport default AdvancedBody;\n","import { TableFooter } from \"@mui/material\";\nimport StickyTableCell from \"../sticky-table-cell\";\nimport StyledTableRow from \"../styled-table-row\";\nimport StyledBorderedTableCell from \"../styled-table-cell\";\nimport SignedAmountValue from \"../../../signed-amount-value\";\n\nconst CustomStickyCellBody = (props) => {\n const { data, columnObject, ...otherProps } = props;\n if (columnObject?.renderTotal) {\n return (\n <StickyTableCell {...otherProps}>\n {columnObject?.renderTotal(data)}\n </StickyTableCell>\n );\n } else if (columnObject?.total) {\n return (\n <StickyTableCell {...otherProps}>\n {data.reduce(\n (acc, item) =>\n acc +\n (item[columnObject?.field]\n ? Number(item[columnObject?.field]) || 0\n : 0),\n 0\n ) || 0}\n </StickyTableCell>\n );\n } else if (columnObject?.totalAmount) {\n return (\n <StickyTableCell {...otherProps}>\n {SignedAmountValue(\n data.reduce(\n (acc, item) =>\n acc +\n (item[columnObject?.field]\n ? Number(item[columnObject?.field]) || 0\n : 0),\n 0\n ) || 0\n )}\n </StickyTableCell>\n );\n } else {\n return <StickyTableCell {...otherProps}></StickyTableCell>;\n }\n};\n\nconst CustomTableCell = (props) => {\n const { data, columnObject, ...otherProps } = props;\n if (columnObject?.renderTotal) {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {columnObject?.renderTotal(data)}\n </StyledBorderedTableCell>\n );\n } else if (columnObject?.total) {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {data.reduce(\n (acc, item) =>\n acc +\n (item[columnObject?.field]\n ? Number(item[columnObject?.field]) || 0\n : 0),\n 0\n ) || 0}\n </StyledBorderedTableCell>\n );\n } else if (columnObject?.totalAmount) {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {SignedAmountValue(\n data.reduce(\n (acc, item) =>\n acc +\n (item[columnObject?.field]\n ? Number(item[columnObject?.field]) || 0\n : 0),\n 0\n ) || 0\n )}\n </StyledBorderedTableCell>\n );\n } else {\n return <StyledBorderedTableCell {...otherProps}></StyledBorderedTableCell>;\n }\n};\n\nconst AdvancedFooter = ({\n selection,\n selectedColumns,\n tableData,\n initialColumnsFixed,\n firstRefWidth,\n lastColumnsFixed,\n isSelected,\n primaryColId,\n}) => {\n return (\n <TableFooter\n className=\"bg-slate-50\"\n style={{\n position: \"sticky\",\n bottom: 0,\n zIndex: 800,\n }}\n >\n <StyledTableRow hover role=\"checkbox\" tabIndex={-1}>\n {selection && (\n <StickyTableCell\n style={{\n textAlign: \"center\",\n width: \"10px\",\n zIndex: 2,\n }}\n padding=\"0px !important\"\n />\n )}\n\n {(selectedColumns || [])\n ?.filter((item) => !item?.hidden)\n ?.map((col, colIndex) =>\n lastColumnsFixed > 0 && colIndex === selectedColumns?.length - 1 ? (\n (col?.columns || [])?.length > 0 ? (\n col?.columns.map((subCol, subColIndex) => (\n <CustomStickyCellBody\n key={`customTableCell-${colIndex}-${subColIndex}`}\n align={subCol?.align || \"left\"}\n padding={subCol?.disablePadding ? \"none\" : \"normal\"}\n data={tableData}\n columnObject={subCol}\n sx={{\n maxWidth: subCol?.maxWidth,\n overflowWrap: subCol?.wordBreak ? \"break-word\" : \"\",\n }}\n noWrapBody={subCol?.noWrapBody}\n style={{\n position:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? \"sticky\"\n : initialColumnsFixed === 2 && colIndex === 1\n ? \"sticky\"\n : \"\",\n right:\n lastColumnsFixed > 0 &&\n colIndex === selectedColumns?.length - 1\n ? 0\n : \"unset\",\n zIndex:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? 2\n : initialColumnsFixed === 2 && colIndex === 1\n ? 2\n : \"\" || 0,\n }}\n />\n ))\n ) : (\n <CustomStickyCellBody\n key={`customTableCell-${colIndex}`}\n align={col?.align || \"left\"}\n padding={col?.disablePadding ? \"none\" : \"normal\"}\n data={tableData}\n columnObject={col}\n sx={{\n maxWidth: col?.maxWidth,\n overflowWrap: col?.wordBreak ? \"break-word\" : \"\",\n }}\n noWrapBody={col?.noWrapBody}\n style={{\n position:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? \"sticky\"\n : initialColumnsFixed === 2 && colIndex === 1\n ? \"sticky\"\n : \"\",\n right:\n lastColumnsFixed > 0 &&\n colIndex === selectedColumns?.length - 1\n ? 0\n : \"unset\",\n zIndex:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? 2\n : initialColumnsFixed === 2 && colIndex === 1\n ? 2\n : \"\" || 0,\n }}\n />\n )\n ) : colIndex < initialColumnsFixed ? (\n (col?.columns || [])?.length > 0 ? (\n col?.columns.map((subCol, subColIndex) => (\n <CustomStickyCellBody\n key={`customTableCell-${colIndex}-${subColIndex}`}\n align={subCol?.align || \"left\"}\n padding={subCol?.disablePadding ? \"none\" : \"normal\"}\n data={tableData}\n columnObject={subCol}\n sx={{\n maxWidth: subCol?.maxWidth,\n overflowWrap: subCol?.wordBreak ? \"break-word\" : \"\",\n }}\n noWrapBody={subCol?.noWrapBody}\n style={{\n position:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? \"sticky\"\n : initialColumnsFixed === 2 && colIndex === 1\n ? \"sticky\"\n : \"\",\n left:\n lastColumnsFixed > 0 &&\n colIndex === selectedColumns?.length - 1\n ? \"unset\"\n : (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? 0\n : initialColumnsFixed === 2 && colIndex === 1\n ? firstRefWidth + 20\n : \"\",\n zIndex:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? 2\n : initialColumnsFixed === 2 && colIndex === 1\n ? 2\n : \"\" || 0,\n }}\n />\n ))\n ) : (\n <CustomStickyCellBody\n key={`customTableCell-${colIndex}`}\n align={col?.align || \"left\"}\n padding={col?.disablePadding ? \"none\" : \"normal\"}\n data={tableData}\n columnObject={col}\n sx={{\n maxWidth: col?.maxWidth,\n overflowWrap: col?.wordBreak ? \"break-word\" : \"\",\n }}\n noWrapBody={col?.noWrapBody}\n style={{\n position:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? \"sticky\"\n : initialColumnsFixed === 2 && colIndex === 1\n ? \"sticky\"\n : \"\",\n left:\n lastColumnsFixed > 0 &&\n colIndex === selectedColumns?.length - 1\n ? \"unset\"\n : (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? 0\n : initialColumnsFixed === 2 && colIndex === 1\n ? firstRefWidth + 20\n : \"\",\n zIndex:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? 2\n : initialColumnsFixed === 2 && colIndex === 1\n ? 2\n : \"\" || 0,\n }}\n />\n )\n ) : (col?.columns || [])?.length > 0 ? (\n col?.columns.map((subCol, subColIndex) => (\n <CustomTableCell\n key={`customTableCell-${colIndex}-${subColIndex}`}\n align={subCol?.align || \"left\"}\n padding={subCol?.disablePadding ? \"none\" : \"normal\"}\n data={tableData}\n columnObject={subCol}\n sx={{\n maxWidth: subCol?.maxWidth,\n overflowWrap: subCol?.wordBreak ? \"break-word\" : \"\",\n }}\n noWrapBody={subCol?.noWrapBody}\n />\n ))\n ) : (\n <CustomTableCell\n key={`customTableCell-${colIndex}`}\n align={col?.align || \"left\"}\n padding={col?.disablePadding ? \"none\" : \"normal\"}\n data={tableData}\n columnObject={col}\n sx={{\n maxWidth: col?.maxWidth,\n overflowWrap: col?.wordBreak ? \"break-word\" : \"\",\n }}\n noWrapBody={col?.noWrapBody}\n />\n )\n )}\n </StyledTableRow>\n </TableFooter>\n );\n};\n\nexport default AdvancedFooter;\n","import LightTooltip from \"../light-tooltip\";\nimport { Settings as SettingsIcon } from \"@mui/icons-material\";\nimport { visuallyHidden } from \"@mui/utils\";\nimport Button from \"../StyledButton/index\";\nimport {\n Box,\n Checkbox,\n FormControlLabel,\n Skeleton,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableFooter,\n TableHead,\n TablePagination,\n TableSortLabel,\n} from \"@mui/material\";\nimport { useEffect, useLayoutEffect, useRef, useState } from \"react\";\n\nimport { getComparator, isNumber, stableSort } from \"./components/utils\";\n\nimport ConfigTable from \"./components/config-table\";\nimport FilterList from \"./components/filter-list\";\nimport StickyTableCell from \"./components/sticky-table-cell\";\nimport StickyStyledTableRow from \"./components/sticky-table-row\";\nimport StyledBorderedTableCell from \"./components/styled-table-cell\";\nimport StyledTableRow from \"./components/styled-table-row\";\nimport SkeletonTableBody from \"./components/skeleton-table-body\";\nimport AdvancedHeader from \"./components/AdvancedTableComponents/advanced-header\";\nimport AdvancedBody from \"./components/AdvancedTableComponents/advanced-body\";\nimport AdvancedFooter from \"./components/AdvancedTableComponents/advanced-footer\";\n\nconst CustomStickyCellBody = (props) => {\n const { rowData, columnObject, ...otherProps } = props;\n if (columnObject?.render) {\n return (\n <StickyTableCell {...otherProps}>\n {columnObject?.render(rowData)}\n </StickyTableCell>\n );\n } else {\n return (\n <StickyTableCell {...otherProps}>\n {rowData[columnObject?.field]}\n </StickyTableCell>\n );\n }\n};\n\nconst CustomTableCell = (props) => {\n const { rowData, columnObject, ...otherProps } = props;\n if (columnObject?.render) {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {columnObject?.render(rowData)}\n </StyledBorderedTableCell>\n );\n } else {\n return (\n <StyledBorderedTableCell {...otherProps}>\n {rowData[columnObject?.field]}\n </StyledBorderedTableCell>\n );\n }\n};\n\nconst GenericTable = ({\n data,\n title,\n columns,\n advancedColumns = [],\n loading,\n primaryColId,\n selection = false,\n selected,\n setSelected,\n disableCheckBox = false,\n configTitle,\n rowsInPage,\n height,\n maxHeight,\n minHeight,\n totalTitle,\n showTotals = false,\n showPagination = true,\n showConfigTable = false,\n renderTableActions = false,\n}) => {\n const [order, setOrder] = useState(\"asc\");\n const [orderBy, setOrderBy] = useState(\"\");\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(25);\n const [tableData, setTableData] = useState([]);\n const [openTableConfig, setOpenTableConfig] = useState(false);\n const [selectedColumns, setSelectedColumns] = useState([]);\n const [initialColumnsFixed, setInitialColumnsFixed] = useState(0);\n const [lastColumnsFixed, setLastColumnsFixed] = useState(0);\n const [firstRefWidth, setFirstRefWidth] = useState(0);\n const [dataFilterItems, setDataFilterItems] = useState([]);\n const [filterList, setFilterList] = useState({});\n\n const firstRef = useRef();\n const secondRef = useRef();\n\n const getAllChildColumns = (columns) => {\n let result = [];\n\n columns.forEach((col) => {\n if (col.columns && col.columns.length > 0) {\n result = result.concat(getAllChildColumns(col.columns));\n } else {\n result.push(col);\n }\n });\n\n return result;\n };\n\n const allFlattenedColumns = getAllChildColumns(advancedColumns);\n\n const currentColumns =\n advancedColumns?.length > 0 ? advancedColumns : columns;\n\n const handleSetFilter = (e, updatedObj) => {\n if (e) {\n e.stopPropagation();\n }\n\n let filteredData = data && JSON.parse(JSON.stringify(data));\n\n filteredData = (filteredData || [])?.filter((item) => {\n return currentColumns?.every((key) => {\n const filterValues = updatedObj[key?.field];\n return (\n filterValues?.length === 0 || filterValues?.includes(item[key?.field])\n );\n });\n });\n\n if (filteredData) {\n setTableData(filteredData);\n } else {\n setTableData([]);\n }\n };\n\n const handleSelectAllClick = (event) => {\n if (event.target.checked) {\n const newSelecteds = tableData?.map((n) => n[primaryColId]);\n setSelected(newSelecteds);\n return;\n }\n setSelected([]);\n };\n\n const handleClick = (event, primaryCol) => {\n const selectedIndex = selected?.indexOf(primaryCol);\n let newSelected = [];\n if (selectedIndex === -1) {\n newSelected = newSelected?.concat(selected, primaryCol);\n } else if (selectedIndex === 0) {\n newSelected = newSelected?.concat(selected?.slice(1));\n } else if (selectedIndex === selected?.length - 1) {\n newSelected = newSelected?.concat(selected?.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelected = newSelected?.concat(\n selected?.slice(0, selectedIndex),\n selected?.slice(selectedIndex + 1)\n );\n }\n setSelected(newSelected);\n };\n\n const isSelected = (primaryCol) => selected?.indexOf(primaryCol) !== -1;\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === \"asc\";\n setOrder(isAsc ? \"desc\" : \"asc\");\n setOrderBy(property);\n };\n\n const createSortHandler = (property) => (event) => {\n handleRequestSort(event, property);\n };\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n useEffect(() => {\n setPage(0);\n setTableData(data);\n }, [data]);\n\n useEffect(() => {\n if (rowsInPage) {\n setRowsPerPage(rowsInPage);\n }\n }, [rowsInPage]);\n\n useEffect(() => {\n if (currentColumns && currentColumns?.length > 0) {\n setSelectedColumns(currentColumns);\n }\n }, []); //columns\n\n useLayoutEffect(() => {\n if (firstRef?.current && data) {\n setTimeout(() => {\n setFirstRefWidth(firstRef?.current?.offsetWidth);\n }, 1000);\n }\n }, [firstRef?.current, data, selectedColumns]);\n\n useEffect(() => {\n if (data?.length > 0) {\n (currentColumns || [])?.map((col) => {\n setDataFilterItems((prev) => ({\n ...prev,\n [col?.field]: [...new Set(data?.map((item) => item[col?.field]))],\n }));\n setFilterList((prev) => ({\n ...prev,\n [col?.field]: [],\n }));\n });\n }\n }, [data]);\n\n return (\n <div>\n <TableContainer\n id={title || \"customTableTitle\"}\n style={{\n height: height\n ? `${height}px`\n : maxHeight\n ? `${maxHeight}px`\n : `${window.innerHeight - 350}px`, // default height\n // maxHeight: maxHeight ? `${maxHeight}px` : \"\",\n // minHeight: minHeight ? `${window.innerHeight - 350}px` : \"\",\n // height: height ? `${height}px` : `${window.innerHeight - 350}px`,\n overflow: \"auto\",\n position: \"relative\",\n }}\n >\n <Table\n aria-labelledby={title || \"customTableTitle\"}\n size=\"small\"\n stickyHeader\n >\n <TableHead>\n {(advancedColumns || []).length > 0 ? (\n <AdvancedHeader\n currentColumns={currentColumns}\n selection={selection}\n selected={selected}\n selectedColumns={selectedColumns}\n disableCheckBox={disableCheckBox}\n tableData={tableData}\n handleSelectAllClick={handleSelectAllClick}\n initialColumnsFixed={initialColumnsFixed}\n firstRef={firstRef}\n secondRef={secondRef}\n firstRefWidth={firstRefWidth}\n lastColumnsFixed={lastColumnsFixed}\n orderBy={orderBy}\n filterList={filterList}\n setFilterList={setFilterList}\n createSortHandler={createSortHandler}\n order={order}\n />\n ) : (\n <StickyStyledTableRow>\n {selection && (\n <StickyTableCell\n aria-label=\"header\"\n style={{\n padding: \"3px 12px\",\n zIndex: 3,\n }}\n key={`sticky-cell-${\"\"}`}\n >\n <FormControlLabel\n style={{ margin: \"0px\" }}\n aria-label=\"check\"\n control={\n <Checkbox\n disabled={disableCheckBox}\n style={{\n textAlign: \"center\",\n position: \"sticky\",\n transform: \"scale(0.7)\",\n padding: \"1px\",\n backgroundColor: \"white\",\n borderRadius: \"4px\",\n }}\n indeterminate={\n selected?.length > 0 &&\n selected?.length < tableData?.length\n }\n checked={\n tableData?.length > 0 &&\n selected?.length === tableData?.length\n }\n onChange={handleSelectAllClick}\n inputProps={{ \"aria-label\": \"select all rows\" }}\n />\n }\n />\n </StickyTableCell>\n )}\n\n {(selectedColumns || [])\n ?.filter((item) => !item?.hidden)\n ?.map((col, colIdx) =>\n col?.sorting === false ? (\n <StyledBorderedTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col?.align || \"left\"}\n padding={col?.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col?.field ? order : false}\n sx={{\n maxWidth: col?.maxWidth,\n backgroundColor: col?.backgroundColor,\n left:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIdx === 0\n ? 0\n : initialColumnsFixed === 2 && colIdx === 1\n ? firstRefWidth + 20\n : \"\",\n right:\n lastColumnsFixed > 0 &&\n colIdx === selectedColumns?.length - 1\n ? \"0 !important\"\n : \"unset\",\n zIndex:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIdx === 0\n ? 5\n : initialColumnsFixed === 2 && colIdx === 1\n ? 5\n : \"\",\n minWidth:\n initialColumnsFixed === 2 && colIdx === 0\n ? firstRefWidth + 20 || 0\n : \"\",\n }}\n noWrapHeader={col?.noWrapHeader}\n >\n <span\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n }}\n ref={colIdx === 0 ? firstRef : secondRef}\n >\n {col?.title}\n {col?.filter && (\n <FilterList\n dataFilterItems={dataFilterItems}\n filterList={filterList}\n setFilterList={setFilterList}\n col={col}\n handleSetFilter={handleSetFilter}\n columns={selectedColumns}\n />\n )}\n </span>\n </StyledBorderedTableCell>\n ) : (\n <StyledBorderedTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col?.align || \"left\"}\n padding={col?.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col?.field ? order : false}\n sx={{\n maxWidth: col?.maxWidth,\n left:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIdx === 0\n ? 0\n : initialColumnsFixed === 2 && colIdx === 1\n ? firstRefWidth + 20\n : \"\",\n right:\n lastColumnsFixed > 0 &&\n colIdx === selectedColumns?.length - 1\n ? \"0px !important\"\n : \"unset\",\n zIndex:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIdx === 0\n ? 5\n : initialColumnsFixed === 2 && colIdx === 1\n ? 5\n : \"\",\n minWidth:\n initialColumnsFixed === 2 && colIdx === 0\n ? firstRefWidth + 20 || 0\n : \"\",\n }}\n noWrapHeader={col?.noWrapHeader}\n >\n <span\n ref={colIdx === 0 ? firstRef : secondRef}\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n minWidth: `${\n initialColumnsFixed > 0 && colIdx === 0\n ? `${firstRef}px`\n : \"auto\"\n }`,\n }}\n >\n <TableSortLabel\n active={orderBy === col?.field}\n direction={orderBy === col?.field ? order : \"asc\"}\n onClick={createSortHandler(col?.field)}\n sx={{\n \"&:hover\": {\n color: \"var(--hover-color-table-header)\",\n },\n \"&.Mui-active\": {\n color:\n orderBy === col?.field\n ? \"black !important\"\n : \"var(--hover-color-table-header) !important\",\n },\n \"&.Mui-active .MuiTableSortLabel-icon\": {\n color:\n orderBy === col?.field\n ? \"black !important\"\n : \"var(--hover-color-table-header) !important\",\n },\n }}\n >\n {col?.title}\n {orderBy === col?.field ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {order === \"desc\"\n ? \"sorted descending\"\n : \"sorted ascending\"}\n </Box>\n ) : null}\n </TableSortLabel>\n\n {col?.filter && (\n <FilterList\n dataFilterItems={dataFilterItems}\n filterList={filterList}\n setFilterList={setFilterList}\n col={col}\n handleSetFilter={handleSetFilter}\n columns={selectedColumns}\n />\n )}\n </span>\n </StyledBorderedTableCell>\n )\n )}\n </StickyStyledTableRow>\n )}\n </TableHead>\n {loading ? (\n <SkeletonTableBody columns={selectedColumns} />\n ) : (advancedColumns || []).length > 0 ? (\n <AdvancedBody\n selection={selection}\n selectedColumns={selectedColumns}\n disableCheckBox={disableCheckBox}\n tableData={tableData}\n initialColumnsFixed={initialColumnsFixed}\n firstRefWidth={firstRefWidth}\n lastColumnsFixed={lastColumnsFixed}\n orderBy={orderBy}\n order={order}\n page={page}\n rowsPerPage={rowsPerPage}\n isSelected={isSelected}\n handleClick={handleClick}\n primaryColId={primaryColId}\n />\n ) : (\n <TableBody>\n {stableSort(tableData, getComparator(order, orderBy))\n ?.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n ?.map((row, rowIndex) => {\n const isItemSelected = isSelected(row[primaryColId]);\n const labelId = `custom-table-checkbox-${rowIndex}`;\n return (\n <StyledTableRow\n hover\n role=\"checkbox\"\n aria-checked={isItemSelected}\n tabIndex={-1}\n key={row[primaryColId]}\n selected={isItemSelected}\n >\n {selection && (\n <StickyTableCell\n style={{\n background:\n rowIndex % 2 === 0\n ? \"var(--fill_table_body_row_1)\"\n : \"var(--fill_table_body_row_2)\",\n textAlign: \"center\",\n width: \"10px\",\n zIndex: 2,\n }}\n padding=\"0px !important\"\n >\n <FormControlLabel\n style={{ margin: \"0px\" }}\n aria-label=\"check\"\n control={\n <Checkbox\n disabled={disableCheckBox}\n onClick={(event) =>\n handleClick(event, row[primaryColId])\n }\n style={{ transform: \"scale(0.7)\" }}\n checked={isItemSelected}\n />\n }\n />\n </StickyTableCell>\n )}\n {(selectedColumns || [])\n ?.filter((item) => !item?.hidden)\n ?.map((col, colIndex) =>\n lastColumnsFixed > 0 &&\n colIndex === selectedColumns?.length - 1 ? (\n <CustomStickyCellBody\n key={`customTableCell-${rowIndex}-${colIndex}`}\n align={col?.align || \"left\"}\n padding={col?.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={col}\n sx={{\n maxWidth: col?.maxWidth,\n overflowWrap: col?.wordBreak\n ? \"break-word\"\n : \"\",\n }}\n noWrapBody={col?.noWrapBody}\n style={{\n position:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? \"sticky\"\n : initialColumnsFixed === 2 &&\n colIndex === 1\n ? \"sticky\"\n : \"\",\n right:\n lastColumnsFixed > 0 &&\n colIndex === selectedColumns?.length - 1\n ? 0\n : \"unset\",\n zIndex:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? 2\n : initialColumnsFixed === 2 &&\n colIndex === 1\n ? 2\n : \"\" || 0,\n background:\n rowIndex % 2 === 0 ? \"white\" : \"#f8f8f8\",\n }}\n />\n ) : colIndex < initialColumnsFixed ? (\n <CustomStickyCellBody\n key={`customTableCell-${rowIndex}-${colIndex}`}\n align={col?.align || \"left\"}\n padding={col?.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={col}\n sx={{\n maxWidth: col?.maxWidth,\n overflowWrap: col?.wordBreak\n ? \"break-word\"\n : \"\",\n }}\n noWrapBody={col?.noWrapBody}\n style={{\n position:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? \"sticky\"\n : initialColumnsFixed === 2 &&\n colIndex === 1\n ? \"sticky\"\n : \"\",\n left:\n lastColumnsFixed > 0 &&\n colIndex === selectedColumns?.length - 1\n ? \"unset\"\n : (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? 0\n : initialColumnsFixed === 2 &&\n colIndex === 1\n ? firstRefWidth + 20\n : \"\",\n zIndex:\n (initialColumnsFixed === 1 ||\n initialColumnsFixed === 2) &&\n colIndex === 0\n ? 2\n : initialColumnsFixed === 2 &&\n colIndex === 1\n ? 2\n : \"\" || 0,\n minWidth:\n initialColumnsFixed === 2 && colIndex === 0\n ? firstRefWidth + 20 || 0\n : \"\",\n background:\n rowIndex % 2 === 0 ? \"white\" : \"#f8f8f8\",\n }}\n />\n ) : (\n <CustomTableCell\n key={`customTableCell-${rowIndex}-${colIndex}`}\n align={col?.align || \"left\"}\n padding={col?.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={col}\n sx={{\n maxWidth: col?.maxWidth,\n overflowWrap: col?.wordBreak\n ? \"break-word\"\n : \"\",\n }}\n noWrapBody={col?.noWrapBody}\n />\n )\n )}\n </StyledTableRow>\n );\n })}\n </TableBody>\n )}\n\n {showTotals && (advancedColumns || []).length > 0 ? (\n <AdvancedFooter\n selection={selection}\n selectedColumns={selectedColumns}\n tableData={tableData}\n initialColumnsFixed={initialColumnsFixed}\n firstRefWidth={firstRefWidth}\n lastColumnsFixed={lastColumnsFixed}\n isSelected={isSelected}\n primaryColId={primaryColId}\n />\n ) : (\n <TableFooter\n className=\"bg-slate-50\"\n style={{\n position: \"sticky\",\n bottom: 0,\n zIndex: 999,\n }}\n >\n <StyledTableRow>\n {selection && <StyledBorderedTableCell />}\n\n {(selectedColumns || [])?.map((item, index) => {\n const totalCalculatedAmount = (tableData || [])?.reduce(\n (acc, current) => (acc || 0) + (current[item?.field] || 0),\n 0\n );\n\n if (index === 0) {\n return (\n <StyledBorderedTableCell key={index}>\n {totalTitle || \"Summary\"}\n </StyledBorderedTableCell>\n );\n }\n\n return item?.total ? (\n item?.renderTotal ? (\n <StyledBorderedTableCell key={index} align=\"right\">\n {item?.renderTotal}\n </StyledBorderedTableCell>\n ) : loading ? (\n <Skeleton key={index} />\n ) : (\n <StyledBorderedTableCell key={index} align=\"right\">\n {totalCalculatedAmount &&\n isNumber(totalCalculatedAmount)\n ? totalCalculatedAmount\n : \"-\"}\n </StyledBorderedTableCell>\n )\n ) : (\n <StyledBorderedTableCell key={index} />\n );\n })}\n </StyledTableRow>\n </TableFooter>\n )}\n </Table>\n </TableContainer>\n\n {/* Pagination */}\n {showPagination && (\n <div\n className=\"w-full \"\n style={{\n boxShadow: \"0px -10px 9px -5px rgba(0,0,0,0.2)\",\n position: \"relative\",\n }}\n >\n <div className=\"flex items-center justify-between\">\n {showConfigTable && (\n <TableCell className=\"w-full flex\" style={{ padding: \"7px\" }}>\n {loading ? (\n <Skeleton />\n ) : (\n <div className=\"flex items-center gap-2 ml-2\">\n <LightTooltip title={configTitle || \"Config Table\"}>\n <Button\n sx={{ padding: \"4px\", margin: \"0px 3px\" }}\n onClick={() => {\n setOpenTableConfig(true);\n setFirstRefWidth(firstRef?.current?.offsetWidth);\n }}\n variant=\"outlined\"\n aria-label=\"settings\"\n >\n <SettingsIcon\n color=\"primary\"\n style={{ fontSize: \"19px\" }}\n />\n </Button>\n </LightTooltip>\n {renderTableActions && renderTableActions()}\n </div>\n )}\n </TableCell>\n )}\n <TablePagination\n rowsPerPageOptions={[5, 10, 15, 20, 25, 50, 100]}\n SelectProps={{\n inputProps: {\n \"aria-label\": \"rows per page\",\n },\n native: true,\n }}\n count={tableData?.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n sx={{\n minWidth: \"420px\",\n }}\n />\n </div>\n </div>\n )}\n {openTableConfig && (\n <ConfigTable\n openTableConfig={openTableConfig}\n setOpenTableConfig={setOpenTableConfig}\n data={data}\n selectedColumns={selectedColumns}\n setSelectedColumns={setSelectedColumns}\n columns={currentColumns}\n initialColumnsFixed={initialColumnsFixed}\n setInitialColumnsFixed={setInitialColumnsFixed}\n lastColumnsFixed={lastColumnsFixed}\n setLastColumnsFixed={setLastColumnsFixed}\n />\n )}\n </div>\n );\n};\n\nexport default GenericTable;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport MandatoryIndicator from \"./mandatory-indicator\";\n\nconst GenericLabel = ({ text, isMandatory, textAlign }) => {\n return (\n <div\n className=\"text-sm font-normal\"\n style={{\n // paddingLeft: \"5px\",\n paddingRight: \"5px\",\n textAlign: textAlign,\n color: \"#0E3253\",\n width: \"100%\",\n }}\n >\n {text} {isMandatory && <MandatoryIndicator />}\n </div>\n );\n};\n\nGenericLabel.defaultProps = {\n isMandatory: false,\n textAlign: \"right\",\n};\n\nGenericLabel.propTypes = {\n text: PropTypes.string.isRequired,\n isMandatory: PropTypes.bool,\n};\n\nexport default GenericLabel;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst GenericOutlinedCheckBox = ({ id, value, onChange, label }) => {\n return (\n <div\n style={{\n width: \"100%\",\n background: \"#FBFBFB 0% 0% no-repeat padding-box\",\n border: \"1px solid #707070\",\n borderRadius: \"1px\",\n opacity: 1,\n textAlign: \"left\",\n font: \"normal normal normal 14px\",\n letterSpacing: \"0px\",\n padding: \"5px\",\n color: \"#4A4A4A\",\n }}\n >\n <input\n id={id}\n checked={value}\n onChange={(event) => {\n const e = { ...event };\n e.target = { name: id, checked: !value, type: \"checkbox\" };\n onChange(e);\n }}\n type=\"checkbox\"\n />\n </div>\n );\n};\n\nGenericOutlinedCheckBox.defaultProps = {\n value: false,\n};\n\nGenericOutlinedCheckBox.propTypes = {\n value: PropTypes.bool,\n};\n\nexport default GenericOutlinedCheckBox;\n","import React from \"react\";\nimport { withStyles, makeStyles } from \"@mui/styles\";\nimport { Autocomplete, TextField } from \"@mui/material\";\n\nconst useStyles = makeStyles((theme) => ({\n listbox: {\n // font: \"normal normal normal 14px\",\n fontSize: 14,\n margin: 0,\n padding: 0,\n zIndex: 1,\n position: \"absolute\",\n listStyle: \"none\",\n background: \"#FBFBFB 0% 0% no-repeat padding-box\",\n overflow: \"auto\",\n maxHeight: 200,\n width: \"100%\",\n border: \"1px solid rgba(0,0,0,.25)\",\n '& li[data-focus=\"true\"]': {\n backgroundColor: \"#4a8df6\",\n color: \"white\",\n cursor: \"pointer\",\n },\n \"& li:active\": {\n backgroundColor: \"#2977f5\",\n color: \"white\",\n },\n },\n}));\n\nconst CssTextField = withStyles({\n root: {\n \"& label.Mui-focused\": {\n color: \"#000\",\n },\n \"& input\": {\n // font: \"normal normal normal 10px\",\n fontSize: 14,\n },\n \"& .MuiOutlinedInput-root\": {\n width: \"100%\",\n height: 30,\n alignContent: \"center\",\n\n // background: \"#FBFBFB 0% 0% no-repeat padding-box\",\n // border: \"1px solid #707070\",\n // borderRadius: \"1px\",\n opacity: 1,\n textAlign: \"left\",\n // font: \"normal normal normal 10px\",\n fontSize: 10,\n letterSpacing: \"0px\",\n padding: \"0px\",\n color: \"#4A4A4A\",\n \"& fieldset\": {\n borderColor: \"#707070\",\n borderRadius: \"1px\",\n },\n \"& .MuiAutocomplete-input\": {\n paddingBottom: \"6.5px\",\n },\n },\n },\n})(TextField);\n\nconst GenericSelect = ({\n variant,\n size,\n id,\n label,\n value,\n onChange,\n options,\n}) => {\n const classes = useStyles();\n\n return (\n <Autocomplete\n classes={classes}\n id={id}\n options={options}\n getOptionLabel={(option) => option.value || \"\"}\n value={\n value && Array.isArray(options) && options.length > 0\n ? options.filter((item) => item.id === value)[0]\n : \"\"\n }\n onChange={(e, newValue) => {\n const event = { ...e };\n event.target = { name: id, value: newValue.id };\n onChange(event);\n }}\n renderInput={(params) => (\n <CssTextField\n {...params}\n label={label}\n variant={variant}\n InputLabelProps={{ shrink: true }}\n size={size}\n />\n )}\n disablePortal={true}\n disableListWrap={true}\n />\n );\n};\n\nGenericSelect.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n options: [],\n};\n\nexport default GenericSelect;\n","import React from \"react\";\nimport {\n Autocomplete,\n FormControl,\n TextField,\n CircularProgress,\n} from \"@mui/material\";\n\nconst checkIfError = (msg) => msg && typeof msg === \"string\" && msg.length > 0;\n\nconst GenericStyledAdvancedDropdown = ({\n variant,\n size,\n id,\n label,\n value,\n onChange,\n options,\n errorMessage,\n disableClearable,\n disabled,\n renderOption,\n loading,\n InputProps = {},\n ...rest\n}) => {\n return (\n <FormControl style={{ width: \"100%\" }} error={checkIfError(errorMessage)}>\n <Autocomplete\n id={id}\n options={options}\n getOptionLabel={(option) => option.value || \"\"}\n renderOption={renderOption}\n value={\n value && Array.isArray(options) && options.length > 0\n ? options.filter((item) => item.id === value)[0]\n : \"\"\n }\n disabled={disabled || loading}\n disableClearable={disableClearable}\n onChange={(e, newValue) => {\n const event = { ...e };\n event.target = { name: id || \"\", value: newValue?.id || \"\" };\n onChange(event);\n }}\n renderInput={(params) => (\n <>\n <TextField\n {...params}\n label={label}\n variant={variant}\n InputLabelProps={{ shrink: true }}\n size={size}\n sx={{\n \"& .MuiOutlinedInput-root\": {\n borderRadius: \"6px\",\n },\n \"& .MuiInputLabel-root\": {\n fontSize: \"1.1rem\",\n color: disabled ? \"text.disabled\" : \"#000\",\n \"&.Mui-focused\": {\n color: disabled ? \"text.disabled\" : \"#1976d2\",\n },\n },\n \"& legend\": {\n fontSize: \"0.85rem\",\n },\n }}\n InputProps={{\n ...params.InputProps,\n endAdornment: (\n <>\n {loading ? (\n <CircularProgress color=\"inherit\" size={20} />\n ) : null}\n {params.InputProps.endAdornment}\n </>\n ),\n ...InputProps,\n }}\n inputProps={{\n ...params.inputProps,\n \"aria-labelledby\": id,\n autoComplete: \"new-password\",\n style: {\n fontSize: \"16px\",\n padding: \"8px 8px\",\n },\n }}\n />\n </>\n )}\n {...rest}\n />\n </FormControl>\n );\n};\n\nGenericStyledAdvancedDropdown.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n options: [],\n errorMessage: null,\n disabled: false,\n};\n\nexport default GenericStyledAdvancedDropdown;\n","import React, { forwardRef } from \"react\";\nimport TextField from \"@mui/material/TextField\";\nimport CurrencyInput from \"react-currency-input-field\";\n\nconst CurrencyInputComponent = forwardRef(function CurrencyInputComponent(\n { onChange, name, value, decimalsLimit, ...other },\n ref\n) {\n return (\n <CurrencyInput\n {...other}\n ref={ref}\n value={value}\n onValueChange={(val) => {\n const syntheticEvent = {\n target: {\n name,\n value: val === undefined || val === null || val === \"\" ? \"\" : val,\n },\n };\n onChange?.(syntheticEvent);\n }}\n allowDecimals\n decimalsLimit={decimalsLimit || 2}\n // fixedDecimalLength={decimalsLimit || 2}\n intlConfig={{ locale: \"en-US\", currency: \"USD\" }}\n prefix=\"$\"\n groupSeparator=\",\"\n decimalSeparator=\".\"\n style={{\n border: \"none\",\n outline: \"none\",\n width: \"100%\",\n font: \"inherit\",\n background: \"transparent\",\n textAlign: \"right\",\n padding: \"25px 10px\",\n boxSizing: \"border-box\",\n }}\n />\n );\n});\n\nconst GenericStyledCurrencyTextField = ({\n value,\n onChange,\n label,\n variant = \"outlined\",\n size = \"small\",\n name,\n style = {},\n InputLabelProps = {},\n decimalsLimit = 2,\n InputProps = {},\n ...rest\n}) => {\n return (\n <TextField\n label={label}\n variant={variant}\n size={size}\n value={value ?? \"\"}\n name={name}\n onChange={() => {}}\n InputLabelProps={{\n ...InputLabelProps,\n shrink: true,\n }}\n InputProps={{\n inputComponent: CurrencyInputComponent,\n inputProps: {\n value: value ?? \"\",\n name,\n onChange,\n decimalsLimit,\n },\n ...InputProps,\n }}\n sx={{\n \"& .MuiInputBase-root\": {\n fontSize: \"16px\",\n },\n \"& .MuiOutlinedInput-root\": {\n borderRadius: \"6px\",\n },\n \"& .MuiInputLabel-root\": {\n fontSize: \"1.1rem\",\n color: \"#000\",\n },\n \"& legend\": {\n fontSize: \"0.85rem\",\n },\n }}\n style={{ width: \"100%\", ...style }}\n {...rest}\n />\n );\n};\n\nexport default GenericStyledCurrencyTextField;\n","import React, { useState, useEffect } from \"react\";\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\nimport { DatePicker as MUIDatePicker } from \"@mui/x-date-pickers/DatePicker\";\nimport TextField from \"@mui/material/TextField\";\nimport dayjs from \"dayjs\";\n\nconst startOfQ12022 = dayjs(\"2022-01-01T00:00:00.000\");\nconst endOfQ12099 = dayjs(\"2099-12-31T23:59:59.999\");\n\nconst GenericStyledDatePicker = ({\n inputProps: customInputProps,\n label,\n value,\n onChange,\n minDate,\n ariaLabel,\n InputProps = {},\n ...props\n}) => {\n const [error, setError] = useState(null);\n\n useEffect(() => {\n if (value) {\n validateDate(value);\n } else {\n setError(null);\n }\n }, [value]);\n\n const validateDate = (date) => {\n if (!dayjs(date).isValid()) {\n setError(\"invalidDate\");\n return false;\n }\n if (dayjs(date).isBefore(startOfQ12022)) {\n setError(\"minDate\");\n return false;\n }\n if (dayjs(date).isAfter(endOfQ12099)) {\n setError(\"maxDate\");\n return false;\n }\n setError(null);\n return true;\n };\n\n const handleChange = (newValue) => {\n if (validateDate(newValue)) {\n onChange(newValue);\n } else {\n onChange(null);\n }\n };\n\n const errorMessage = React.useMemo(() => {\n switch (error) {\n case \"maxDate\":\n case \"minDate\":\n return \"Your date is not valid\";\n case \"invalidDate\":\n return \"Your date is not valid\";\n default:\n return \"\";\n }\n }, [error]);\n\n return (\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <MUIDatePicker\n renderInput={(inputProps) => (\n <TextField\n size=\"small\"\n {...inputProps}\n error={!!error}\n InputLabelProps={{ shrink: true }}\n style={{ width: \"100%\" }}\n sx={{\n \"& .MuiInputLabel-root\": {\n fontSize: \"1.1rem\",\n color: \"#000\",\n },\n \"& legend\": {\n fontSize: \"0.85rem\",\n },\n }}\n inputProps={{\n ...inputProps.inputProps,\n \"aria-label\": ariaLabel,\n autoComplete: \"new-password\",\n style: {\n padding: \"14px 12px\",\n fontSize: \"16px\",\n textTransform: \"uppercase\",\n },\n }}\n helperText={errorMessage}\n InputProps={{\n ...InputProps,\n }}\n />\n )}\n label={label}\n value={value}\n onChange={handleChange}\n minDate={minDate || startOfQ12022}\n maxDate={endOfQ12099}\n {...props}\n />\n </LocalizationProvider>\n );\n};\n\nexport default GenericStyledDatePicker;\n","import React from \"react\";\nimport { TextField, FormControl } from \"@mui/material\";\n\nconst checkIfError = (msg) => msg && typeof msg === \"string\" && msg.length > 0;\n\nconst GenericStyledFloatingTextField = ({\n id,\n label,\n value,\n onChange,\n errorMessage,\n variant,\n size,\n disabled,\n placeholder,\n ...rest\n}) => {\n return (\n <FormControl\n style={{ width: \"100%\", border: \"none\" }}\n error={checkIfError(errorMessage)}\n >\n <TextField\n id={id}\n label={label}\n variant={variant}\n size={size}\n value={value}\n onChange={onChange}\n disabled={disabled}\n placeholder={placeholder}\n InputLabelProps={{ shrink: true }}\n sx={{\n \"& .MuiOutlinedInput-root\": {\n borderRadius: \"6px\",\n backgroundColor: \"#f9fafb\",\n },\n }}\n inputProps={{\n \"aria-labelledby\": id,\n autoComplete: \"off\",\n style: {\n fontSize: \"16px\",\n padding: \"8px 12px\",\n },\n }}\n {...rest}\n />\n </FormControl>\n );\n};\n\nGenericStyledFloatingTextField.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n errorMessage: null,\n disabled: false,\n};\n\nexport default GenericStyledFloatingTextField;\n","import React from \"react\";\n\nconst GenericStyledInput = ({\n id,\n value,\n onChange,\n label,\n className = \"\",\n disabled = false,\n currency,\n symbolGiven = true,\n symbol = \"$\",\n minWidth = \"50px\",\n bgColor,\n style = \"\",\n align,\n ...rest\n}) => {\n return (\n <div className=\"relative w-full \">\n <div\n style={{\n fontSize: \"16px\",\n boxShadow: \"none\",\n userSelect: disabled ? \"none\" : \"auto\",\n pointerEvents: disabled ? \"none\" : \"auto\",\n cursor: disabled ? \"not-allowed\" : \"text\",\n background: bgColor || \"white\",\n ...style,\n }}\n className={`${className} flex items-center border ${\n disabled ? \"border-gray-300\" : \"border-gray-700\"\n } rounded-md px-3 py-[6px] w-full relative`}\n >\n {label && (\n <span\n className={`absolute left-1 top-1 z-10 px-1 text-xs ${\n bgColor ? \"text-black\" : \"text-gray-500\"\n } pointer-events-none`}\n style={{\n transition: \"all 0.2s\",\n fontSize: \"12px\",\n lineHeight: \"1.2\",\n }}\n >\n {label}\n </span>\n )}\n <div\n style={{\n position: \"relative\",\n flex: 1,\n minWidth: 0,\n display: \"flex\",\n justifyContent: \"flex-end\",\n marginTop: 12,\n }}\n >\n <input\n id={id}\n disabled={disabled}\n value={value || \"\"}\n onValueChange={(newValue) =>\n onChange?.({\n target: {\n name: id,\n value: newValue || \"\",\n },\n })\n }\n step={1}\n className={`font-hack outline-none ${\n align === \"center\"\n ? \"text-center\"\n : align === \"right\"\n ? \"text-right\"\n : \"text-left\"\n } ${disabled ? \"text-neutral-700\" : \"text-black\"}`}\n inputMode=\"decimal\"\n autoComplete=\"off\"\n tabIndex={disabled ? -1 : 0}\n style={{\n fontSize: \"16px\",\n boxShadow: \"none\",\n userSelect: disabled ? \"none\" : \"auto\",\n pointerEvents: disabled ? \"none\" : \"auto\",\n cursor: disabled ? \"not-allowed\" : \"text\",\n // minWidth: minWidth,\n maxWidth: \"100%\",\n paddingRight: 0,\n paddingLeft: 0,\n border: \"none\",\n display: \"inline-block\",\n background: \"transparent\",\n textAlign: align,\n }}\n // intlConfig={{ locale: \"en-US\", currency: \"USD\" }}\n prefix={symbolGiven ? symbol : \"\"}\n groupSeparator=\",\"\n decimalSeparator=\".\"\n {...rest}\n ref={(el) => {\n if (!el) return;\n // Auto-resize logic\n const span = document.createElement(\"span\");\n span.style.visibility = \"hidden\";\n span.style.position = \"fixed\";\n span.style.whiteSpace = \"pre\";\n span.style.font = \"16px inherit\";\n span.textContent = el.value || \"\";\n document.body.appendChild(span);\n // el.style.width = Math.max(60, span.offsetWidth + 12) + \"px\";\n document.body.removeChild(span);\n }}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default GenericStyledInput;\n","import React from \"react\";\nimport CurrencyInput from \"react-currency-input-field\";\n\nconst GenericStyledReadOnlyCurrencyInput = ({\n id,\n value,\n onChange,\n label,\n className = \"\",\n disabled = false,\n currency,\n symbolGiven = true,\n symbol = \"$\",\n minWidth = \"150px\",\n bgColor,\n style = \"\",\n ...rest\n}) => {\n return (\n <div className=\"relative w-full \">\n <div\n style={{\n fontSize: \"16px\",\n boxShadow: \"none\",\n userSelect: disabled ? \"none\" : \"auto\",\n pointerEvents: disabled ? \"none\" : \"auto\",\n cursor: disabled ? \"not-allowed\" : \"text\",\n background: bgColor || \"white\",\n ...style,\n }}\n className={`${className} flex items-center border ${\n disabled ? \"border-gray-300\" : \"border-gray-700\"\n } rounded-md px-3 py-[6px] w-full relative`}\n >\n {label && (\n <span\n className={`absolute left-3 top-1 z-10 px-1 text-xs ${\n bgColor ? \"text-black\" : \"text-gray-500\"\n } pointer-events-none`}\n style={{\n transition: \"all 0.2s\",\n fontSize: \"12px\",\n lineHeight: \"1.2\",\n }}\n >\n {label}\n </span>\n )}\n <div\n style={{\n position: \"relative\",\n flex: 1,\n minWidth: 0,\n display: \"flex\",\n justifyContent: \"flex-end\",\n marginTop: 12,\n }}\n >\n <CurrencyInput\n id={id}\n disabled={disabled}\n value={value || \"\"}\n onValueChange={(newValue) =>\n onChange?.({\n target: {\n name: id,\n value: newValue || \"\",\n },\n })\n }\n step={1}\n className={`font-hack outline-none text-right ${className} ${\n disabled ? \"text-neutral-700\" : \"text-black\"\n }`}\n inputMode=\"decimal\"\n autoComplete=\"off\"\n tabIndex={disabled ? -1 : 0}\n style={{\n fontSize: \"16px\",\n boxShadow: \"none\",\n userSelect: disabled ? \"none\" : \"auto\",\n pointerEvents: disabled ? \"none\" : \"auto\",\n cursor: disabled ? \"not-allowed\" : \"text\",\n minWidth: minWidth,\n maxWidth: \"100%\",\n paddingRight: 0,\n paddingLeft: 0,\n border: \"none\",\n display: \"inline-block\",\n textAlign: \"right\",\n background: \"transparent\",\n }}\n intlConfig={{ locale: \"en-US\", currency: \"USD\" }}\n prefix={symbolGiven ? symbol : \"\"}\n groupSeparator=\",\"\n decimalSeparator=\".\"\n {...rest}\n ref={(el) => {\n if (!el) return;\n // Auto-resize logic\n const span = document.createElement(\"span\");\n span.style.visibility = \"hidden\";\n span.style.position = \"fixed\";\n span.style.whiteSpace = \"pre\";\n span.style.font = \"16px inherit\";\n span.textContent = el.value || \"\";\n document.body.appendChild(span);\n el.style.width = Math.max(60, span.offsetWidth + 12) + \"px\";\n document.body.removeChild(span);\n }}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default GenericStyledReadOnlyCurrencyInput;\n","import React from \"react\";\nimport { TextField, FormControl } from \"@mui/material\";\n\nconst checkIfError = (msg) => msg && typeof msg === \"string\" && msg.length > 0;\n\nconst GenericStyledReadOnlyTextField = ({\n id,\n label,\n value,\n onChange,\n errorMessage,\n variant,\n size,\n disabled,\n placeholder,\n type,\n ...rest\n}) => {\n const formatAmount = (amount) => {\n if (amount === null || amount === undefined || amount === \"\") return \"\";\n const numericAmount = parseFloat(amount);\n if (isNaN(numericAmount)) return amount;\n return numericAmount.toLocaleString(\"en-US\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n };\n\n const displayValue = type === \"amount\" ? formatAmount(value) : value;\n\n const inputProps = {\n readOnly: true,\n ...(type === \"amount\" && {\n startAdornment: (\n <span className=\"text-gray-500 font-semibold mr-1\">$</span>\n ),\n }),\n };\n\n const textAlign = type === \"amount\" || type === \"number\" ? \"right\" : \"left\";\n\n return (\n <FormControl\n style={{ width: \"100%\", border: \"none\" }}\n error={checkIfError(errorMessage)}\n >\n <TextField\n id={id}\n label={label}\n variant={variant}\n size={size}\n value={displayValue}\n onChange={onChange}\n disabled={false}\n placeholder={placeholder}\n InputLabelProps={{ shrink: true }}\n InputProps={inputProps}\n sx={{\n \"& .MuiOutlinedInput-root\": {\n borderRadius: \"6px\",\n backgroundColor: \"#f3f4f6\",\n cursor: \"default\",\n \"& input\": {\n cursor: \"default\",\n textAlign: textAlign,\n },\n \"&:hover\": {\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"rgba(0, 0, 0, 0.23)\",\n },\n },\n \"&.Mui-focused\": {\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"rgba(0, 0, 0, 0.23)\",\n borderWidth: \"1px\",\n },\n },\n },\n }}\n inputProps={{\n \"aria-labelledby\": id,\n autoComplete: \"off\",\n tabIndex: -1,\n style: {\n fontSize: \"16px\",\n padding: \"8px 12px\",\n textAlign: textAlign,\n },\n }}\n {...rest}\n />\n </FormControl>\n );\n};\n\nGenericStyledReadOnlyTextField.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n errorMessage: null,\n disabled: false,\n};\n\nexport default GenericStyledReadOnlyTextField;\n","import React from \"react\";\nimport { TextField, FormControl } from \"@mui/material\";\n\nconst checkIfError = (msg) => msg && typeof msg === \"string\" && msg.length > 0;\n\nconst GenericStyledTextField = ({\n id,\n label,\n value,\n onChange,\n errorMessage,\n variant,\n size,\n disabled,\n placeholder,\n ...rest\n}) => {\n return (\n <FormControl\n style={{ width: \"100%\", border: \"none\" }}\n error={checkIfError(errorMessage)}\n >\n <TextField\n id={id}\n label={label}\n variant={variant}\n size={size}\n value={value}\n onChange={onChange}\n disabled={disabled}\n placeholder={placeholder}\n InputLabelProps={{\n shrink: true,\n }}\n sx={{\n \"& .MuiInputBase-root\": {\n fontSize: \"16px\",\n },\n \"& .MuiOutlinedInput-root\": {\n borderRadius: \"6px\",\n },\n \"& .MuiInputLabel-root\": {\n fontSize: \"1.1rem\",\n color: \"#000\",\n },\n \"& legend\": {\n fontSize: \"0.85rem\",\n },\n }}\n inputProps={{\n \"aria-labelledby\": id,\n autoComplete: \"off\",\n \"data-gramm\": \"false\",\n style: {\n fontSize: \"16px\",\n padding: \"14px 12px\",\n },\n }}\n {...rest}\n />\n </FormControl>\n );\n};\n\nGenericStyledTextField.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n errorMessage: null,\n disabled: false,\n};\n\nexport default GenericStyledTextField;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst GenericTextArea = ({ id, value, onChange, rows, isMandatory }) => {\n return (\n <textarea\n id={id}\n name={id}\n value={value}\n onChange={onChange}\n rows={rows}\n style={{\n width: \"100%\",\n background: \"#FBFBFB 0% 0% no-repeat padding-box\",\n border: \"1px solid #707070\",\n borderRadius: \"1px\",\n opacity: 1,\n textAlign: \"left\",\n font: \"normal normal normal 14px Open Sans\",\n letterSpacing: \"0px\",\n padding: \"5px\",\n color: \"#4A4A4A\",\n }}\n ></textarea>\n );\n};\n\nGenericTextArea.defaultProps = {\n isMandatory: false,\n rows: 2,\n};\n\nGenericTextArea.propTypes = {\n isMandatory: PropTypes.bool,\n};\n\nexport default GenericTextArea;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst GenericTextBox = ({\n id,\n value,\n onChange,\n type,\n isMandatory,\n ariaLabel,\n}) => {\n return (\n <input\n aria-label={ariaLabel || id}\n id={id}\n name={id}\n value={value}\n onChange={onChange}\n type={type}\n style={{\n width: \"100%\",\n background: \"#FBFBFB 0% 0% no-repeat padding-box\",\n border: \"1px solid #707070\",\n borderRadius: \"1px\",\n opacity: 1,\n textAlign: \"left\",\n font: \"normal normal normal 14px Open Sans\",\n letterSpacing: \"0px\",\n padding: \"5px\",\n color: \"#4A4A4A\",\n // textAlign: type === \"number\" ? \"right\" : \"left\",\n }}\n />\n );\n};\n\nGenericTextBox.defaultProps = {\n isMandatory: false,\n type: \"text\",\n};\n\nGenericTextBox.propTypes = {\n isMandatory: PropTypes.bool,\n};\n\nexport default GenericTextBox;\n","import React from \"react\";\nimport { Grid, Typography, IconButton, Paper } from \"@mui/material\";\nimport { NavigateBefore as NavigateBeforeIcon } from \"@mui/icons-material\";\nimport LightTooltip from \"./light-tooltip\";\n\nconst GoBack = ({ title, navigate }) => {\n return (\n <Grid\n container\n style={{ width: \"100%\", marginBottom: \"20px\" }}\n className=\"p-3\"\n >\n <Paper className=\"w-full flex items-center gap-1\">\n <LightTooltip title=\"Go Back\">\n <IconButton label=\"edit\" size=\"back\" onClick={() => navigate(-1)}>\n <NavigateBeforeIcon style={{ fontSize: \"26px\" }} />\n </IconButton>\n </LightTooltip>\n <div\n style={{\n padding: \"7px\",\n alignItems: \"center\",\n justifyContent: \"flexStart\",\n }}\n >\n <Typography>{title}</Typography>\n </div>\n </Paper>\n </Grid>\n );\n};\n\nexport default GoBack;\n","import React, { useState } from \"react\";\nimport TextField from \"@mui/material/TextField\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\n\nconst GroupedMultiSelectDropDown = ({\n variant,\n size,\n id,\n label,\n value,\n sx,\n groupByKey,\n onChange,\n options,\n}) => {\n const [values, setValues] = useState([]);\n\n function filterUniqueByKey(arr, key) {\n const seen = new Set();\n return arr.reduce((uniqueArr, item) => {\n if (!seen.has(item[key])) {\n seen.add(item[key]);\n uniqueArr.push(item);\n }\n return uniqueArr;\n }, []);\n }\n\n return (\n <div style={{ width: \"auto\" }}>\n <Autocomplete\n multiple\n id={id}\n filterSelectedOptions\n groupBy={(option) => option.groupByKey}\n getOptionLabel={(option) => option.value || \"\"}\n value={value}\n onChange={(event, newValue) => {\n const events = { ...event };\n events.target = {\n name: id,\n value: filterUniqueByKey(newValue, \"id\"),\n };\n onChange(events);\n const uniqueValue = filterUniqueByKey(newValue, \"id\");\n setValues([...uniqueValue]);\n }}\n options={options}\n style={{ minWidth: \"100%\" }}\n renderInput={(params) => (\n <TextField\n {...params}\n label={label}\n variant={variant}\n InputLabelProps={{ shrink: true }}\n size={size}\n placeholder=\"\"\n inputProps={{\n ...params.inputProps,\n autoComplete: \"new-password\",\n style: { padding: \"4px 10px\", fontSize: \"14px\" }, // Style of the input\n }}\n />\n )}\n />\n </div>\n );\n};\n\nGroupedMultiSelectDropDown.propTypes = {};\n\nexport default GroupedMultiSelectDropDown;\n","import { Checkbox, FormControlLabel } from \"@mui/material\";\nimport { Functions as FunctionsIcon, InfoOutlined as InfoOutlinedIcon } from \"@mui/icons-material\";\nimport LightTooltip from \"./light-tooltip\";\n\nconst HeaderToggles = ({\n showInfo,\n setShowInfo,\n showFormula,\n setShowFormula,\n}) => {\n const showFormulaToggle = !!setShowFormula;\n return (\n <div className=\"flex flex-row justify-end items-center pr-2 pl-2\">\n <FormControlLabel\n control={\n <Checkbox\n size=\"small\"\n checked={showInfo}\n onChange={() => setShowInfo(!showInfo)}\n />\n }\n label={\n <span\n style={{\n display: \"flex\",\n alignItems: \"center\",\n }}\n >\n Show\n <LightTooltip title={\"check here to see the information\"}>\n <InfoOutlinedIcon\n color=\"primary\"\n sx={{ fontSize: 18, marginLeft: \"5px\" }}\n />\n </LightTooltip>\n </span>\n }\n />\n {showFormulaToggle && (\n <FormControlLabel\n control={\n <Checkbox\n size=\"small\"\n checked={showFormula}\n onChange={() => setShowFormula(!showFormula)}\n />\n }\n label={\n <span style={{ display: \"flex\", alignItems: \"center\" }}>\n Show\n <LightTooltip title={\"check here to see the formula details\"}>\n <FunctionsIcon color=\"primary\" sx={{ fontSize: 18 }} />\n </LightTooltip>\n </span>\n }\n />\n )}\n </div>\n );\n};\n\nexport default HeaderToggles;\n","import LabelsIcons from \"./GenericRequestComponents/labels-icons\";\nimport BlueHeaderText from \"./GenericRequestComponents/blue-header-text\";\nconst InfoLabelIcon = ({ label, isMandatory, helperLabel, component }) => {\n return (\n <div className=\"flex items-center\">\n {label}\n <span>\n <LabelsIcons\n mandatory={isMandatory}\n title={\n <>\n Have Problem on filling fields of\n <BlueHeaderText className=\"text-fill-primary mx-1\">\n {helperLabel || \"\"}\n </BlueHeaderText>\n </>\n }\n />\n </span>\n </div>\n );\n};\n\nexport default InfoLabelIcon;\n","import React, { lazy, Suspense } from \"react\";\n\nconst KPICard = lazy(() => import(\"./KPICard\"));\n\nconst KPICards = (props) => {\n return (\n <Suspense fallback={<div>Loading...</div>}>\n <KPICard {...props} />\n </Suspense>\n );\n};\n\nexport default KPICards;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nconst MainSelector = ({ label, options, onSelect }) => {\n const [optionsOpen, setOptions] = useState(false);\n const [selectedOption, setSelectedOption] = useState(null);\n\n const optionsRef = useRef();\n\n const handleSelect = (option) => {\n setSelectedOption(option);\n setOptions(false);\n onSelect(option);\n };\n\n useEffect(() => {\n const handleClickOutside = (event) => {\n if (!optionsRef?.current?.contains(event.target)) {\n setOptions(false);\n }\n };\n document.addEventListener(\"mousedown\", handleClickOutside);\n }, [optionsRef]);\n\n return (\n <>\n <div\n className=\"flex gap-3 sm:gap-4 items-center relative\"\n ref={optionsRef}\n >\n <button\n className=\"flex text-xs sm:text-sm items-center gap-2 text-white m-0 p-0 cursor-pointer\"\n onClick={() => setOptions(!optionsOpen)}\n aria-label=\"Options\"\n >\n {selectedOption ? selectedOption.label : label}\n <span>\n <img\n className=\"w-3 mt-1\"\n src=\"assets/images/helper/down-arrow_icon.svg\"\n alt=\"\"\n />\n </span>\n </button>\n {optionsOpen && (\n <div className=\"absolute top-6 right-4 z-20 min-w-max overflow-hidden shadow-md\">\n <div className=\"bg-white rounded shadow-lg\">\n <ul>\n {options &&\n options.map((option, index) => (\n <li\n key={`${option.value}-${index}`}\n className=\"px-5 py-2 border-b last:border-0 border-b-slate-300 cursor-pointer\"\n >\n <button\n onClick={() => handleSelect(option)}\n style={{\n border: \"none\",\n outline: \"none\",\n background: \"none\",\n }}\n aria-label=\"option\"\n >\n {option.label}\n </button>\n </li>\n ))}\n </ul>\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nexport default MainSelector;\n","import React from \"react\";\n\nconst MandatoryIndicatorWithText = ({ children, className }) => (\n <span>\n {children}\n <span className=\"text-red-600 ml-1\">*</span>\n </span>\n);\n\nexport default MandatoryIndicatorWithText;\n","import React from \"react\";\n\nconst MenuNotFoundPage = ({ navigate, title, message }) => {\n return (\n <div className=\" flex flex-col items-center justify-center p-5 mt-3\">\n <div className=\"max-w-md w-full bg-white rounded-lg shadow-lg overflow-hidden\">\n <div className=\"bg-blue-600 h-2\"></div>\n <div className=\"p-8\">\n <div className=\"flex items-center justify-center mb-6\">\n <div className=\"text-6xl font-bold text-blue-600\">404</div>\n </div>\n <h1 className=\"text-2xl font-semibold text-gray-800 text-center mb-2\">\n {title}\n </h1>\n <p className=\"text-gray-600 text-center mb-6\"> {message}</p>\n <div className=\"flex gap-3 justify-center\">\n <button\n aria-label=\"Previous\"\n onClick={() => navigate(-1)}\n className=\"px-4 py-2 bg-gray-200 text-gray-700 rounded hover:bg-gray-300 transition-colors duration-200 font-medium\"\n >\n Go Back\n </button>\n <button\n aria-label=\"home\"\n onClick={() => navigate(\"/\")}\n className=\"px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 transition-colors duration-200 font-medium\"\n >\n Return Home\n </button>\n </div>\n </div>\n </div>\n <p className=\"mt-8 text-sm text-gray-500\">\n If you believe this is an error, please contact support.\n </p>\n </div>\n );\n};\n\nexport default MenuNotFoundPage;\n","import React from \"react\";\nimport IconButton from \"./icon-button\";\nimport { Close as CloseIcon } from \"@mui/icons-material\";\n\nexport const Modal = ({ children, onClose }) => {\n return (\n <div style={styles.overlay}>\n <div style={styles.modal}>\n <div className=\"w-full justify-end flex\">\n <IconButton onClick={onClose}>\n <CloseIcon />\n </IconButton>\n </div>\n {children}\n </div>\n </div>\n );\n};\n\nconst styles = {\n overlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(0,0,0,0.5)\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 1299,\n },\n modal: {\n background: \"white\",\n padding: 20,\n borderRadius: 8,\n width: \"90%\",\n },\n};\n\nexport default Modal;\n","import React, { useMemo } from \"react\";\nimport { Autocomplete, TextField, CircularProgress } from \"@mui/material\";\nimport MandatoryIndicatorWithText from \"./GenericRequestComponents/mandatory-indicator-with-text\";\n\nconst EMPTY_OPTIONS = [];\n\nconst checkIfError = (msg) => typeof msg === \"string\" && msg.trim().length > 0;\n\nconst getOptionLabel = (option) => {\n if (option == null) return \"\";\n\n if (typeof option === \"object\") {\n return String(option.value ?? option.label ?? \"\");\n }\n\n return String(option);\n};\n\nconst getOptionValue = (option) =>\n option !== null && typeof option === \"object\" ? option.id : option;\n\nconst getOptionKey = (option) =>\n getOptionValue(option) ?? getOptionLabel(option);\n\nconst AdvanceDropDownList = ({\n variant = \"outlined\",\n size = \"small\",\n id,\n label = \"\",\n required = false,\n value,\n onChange,\n options = EMPTY_OPTIONS,\n errorMessage = null,\n disableClearable = false,\n disabled = false,\n renderOption,\n getOptionDisabled,\n loading = false,\n defaultSorting = true,\n}) => {\n const showRequired =\n (typeof label === \"string\" && label?.trim().length > 0) || false;\n\n const availableOptions = Array.isArray(options) ? options : EMPTY_OPTIONS;\n\n const sortedOptions = useMemo(() => {\n if (!defaultSorting) return availableOptions;\n\n return [...availableOptions].sort((first, second) => {\n const firstValue = first?.value ?? first;\n const secondValue = second?.value ?? second;\n\n if (typeof firstValue === \"number\" && typeof secondValue === \"number\") {\n return firstValue - secondValue;\n }\n\n return getOptionLabel(first).localeCompare(\n getOptionLabel(second),\n undefined,\n { numeric: true }\n );\n });\n }, [availableOptions, defaultSorting]);\n\n const selectedOption = useMemo(() => {\n if (value === null || value === undefined) {\n return null;\n }\n\n return (\n availableOptions.find((option) => getOptionValue(option) === value) ??\n null\n );\n }, [availableOptions, value]);\n\n const handleChange = (_event, newValue) => {\n if (loading) return;\n\n const selectedValue = newValue == null ? \"\" : getOptionValue(newValue);\n\n onChange?.({\n target: {\n name: id || \"\",\n value: selectedValue,\n },\n });\n };\n\n return (\n <Autocomplete\n id={id}\n fullWidth\n size={size}\n options={sortedOptions}\n getOptionLabel={getOptionLabel}\n getOptionKey={getOptionKey}\n getOptionDisabled={getOptionDisabled}\n renderOption={renderOption}\n value={selectedOption}\n isOptionEqualToValue={(option, selected) =>\n getOptionValue(option) === getOptionValue(selected)\n }\n disabled={disabled || loading}\n disableClearable={disableClearable}\n loading={loading}\n popupIcon={\n loading ? <CircularProgress color=\"inherit\" size={18} /> : undefined\n }\n onChange={handleChange}\n renderInput={(params) => (\n <TextField\n {...params}\n label={\n showRequired && required ? (\n <>\n {label} <MandatoryIndicatorWithText />\n </>\n ) : (\n label\n )\n }\n variant={variant}\n size={size}\n error={checkIfError(errorMessage)}\n helperText={errorMessage || undefined}\n InputLabelProps={{\n ...params.InputLabelProps,\n shrink: true,\n }}\n inputProps={{\n ...params.inputProps,\n ...(!label ? { \"aria-label\": id || \"Select option\" } : {}),\n autoComplete: \"new-password\",\n }}\n sx={{\n \"& .MuiAutocomplete-input\": {\n fontSize: \"14px\",\n },\n }}\n />\n )}\n />\n );\n};\n\nexport default AdvanceDropDownList;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport FormControl from \"@mui/material/FormControl\";\nimport TextField from \"@mui/material/TextField\";\n\nconst checkIfError = (msg) =>\n !!msg && typeof msg === \"string\" && msg.length > 0;\n\nconst TextBox = ({\n variant,\n size,\n id,\n label,\n value,\n required,\n errorMessage,\n onChange,\n type,\n multiline,\n rows,\n inputProps,\n InputProps,\n InputLabelProps,\n onBlur,\n disabled,\n placeholder,\n onKeyPress,\n ariaLabel,\n}) => {\n const textboxValue = [0, \"0\"].indexOf(value) > -1 ? value : value || \"\";\n\n const handleKeyPress = (event) => {\n const charCode = event.charCode;\n const key = String.fromCharCode(charCode);\n const allowedCharacters = /^[A-Za-z0-9_-]$/;\n\n if (!allowedCharacters.test(key)) {\n event.preventDefault();\n }\n\n if (event.key === \"e\" || event.key === \"E\" || event.key === \"-\") {\n event.preventDefault();\n }\n };\n\n return (\n <FormControl style={{ width: \"100%\" }} error={checkIfError(errorMessage)}>\n <label htmlFor={id} aria-label={label}>\n <TextField\n fullWidth\n variant={variant}\n size={size}\n type={type}\n multiline={multiline}\n rows={rows}\n id={id}\n name={id}\n label={label}\n value={textboxValue}\n onChange={onChange}\n onBlur={onBlur}\n required={required}\n error={checkIfError(errorMessage)}\n helperText={errorMessage}\n inputProps={{\n ...inputProps,\n \"aria-label\": ariaLabel,\n style: { padding: \"10px 10px\", fontSize: \"14px\" }, // Style of the input\n }}\n InputProps={InputProps}\n InputLabelProps={InputLabelProps}\n disabled={disabled}\n placeholder={placeholder}\n onKeyPress={type === \"number\" ? handleKeyPress : onKeyPress}\n />\n </label>\n </FormControl>\n );\n};\n\nTextBox.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n type: \"text\",\n required: false,\n errorMessage: \"\",\n multiline: false,\n rows: 2,\n inputProps: {},\n InputProps: {},\n InputLabelProps: { shrink: true },\n disabled: false,\n};\n\nTextBox.propTypes = {\n variant: PropTypes.oneOf([\"standard\", \"outlined\", \"filled\"]),\n size: PropTypes.oneOf([null, \"small\", \"medium\"]),\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onChange: PropTypes.func.isRequired,\n onBlur: PropTypes.func,\n type: PropTypes.string,\n required: PropTypes.bool,\n errorMessage: PropTypes.string,\n multiline: PropTypes.bool,\n rows: PropTypes.number,\n inputProps: PropTypes.object,\n InputProps: PropTypes.object,\n InputLabelProps: PropTypes.object,\n disabled: PropTypes.bool,\n};\n\nexport default TextBox;\n","import React from \"react\";\nimport { Autocomplete, Chip, FormControl, TextField } from \"@mui/material\";\n\nconst checkIfError = (msg) => msg && typeof msg === \"string\" && msg.length > 0;\n\nconst arrayDistinctFromObjectList = (array) => {\n return Array.from(new Set(array.map((s) => s.id))).map((id) => {\n return { id: id, value: array.find((s) => s.id === id).value };\n });\n};\n\nconst MultiSelectDropDownList = ({\n variant,\n id,\n label,\n value,\n onChange,\n options,\n disableChip,\n errorMessage,\n size,\n InputLabelProps,\n disabled,\n highlightedOptionIds,\n highlightedChipTitle,\n getOptionDisabled,\n}) => {\n const isDisabled = disableChip || disabled;\n const highlightedIdsSet = new Set(highlightedOptionIds || []);\n\n const getHighlightedChipStyles = (optionId) => {\n if (!highlightedIdsSet.has(optionId)) {\n return undefined;\n }\n\n return {\n backgroundColor: \"#ffebee\",\n border: \"1px solid #d32f2f\",\n color: \"#b71c1c\",\n \"& .MuiChip-deleteIcon\": {\n color: \"#b71c1c\",\n },\n };\n };\n\n return (\n <FormControl style={{ width: \"100%\" }} error={checkIfError(errorMessage)}>\n <Autocomplete\n disabled={disabled}\n multiple\n id={id}\n value={value}\n onChange={(event, newValue) => {\n const e = { ...event };\n e.target = { name: id, value: arrayDistinctFromObjectList(newValue) };\n onChange(e);\n }}\n size={size}\n options={options}\n getOptionLabel={(option) => option.value}\n getOptionDisabled={getOptionDisabled}\n renderTags={(tagValue, getTagProps) =>\n tagValue.map((option, index) => (\n <Chip\n key={index}\n label={option.value}\n title={\n highlightedIdsSet.has(option.id)\n ? highlightedChipTitle\n : undefined\n }\n sx={getHighlightedChipStyles(option.id)}\n {...getTagProps({ index })}\n onDelete={\n isDisabled ? undefined : getTagProps({ index }).onDelete\n }\n deleteIcon={isDisabled ? null : getTagProps({ index }).deleteIcon}\n />\n ))\n }\n renderInput={(params) => (\n <TextField\n {...params}\n label={label}\n variant={variant}\n InputLabelProps={InputLabelProps}\n />\n )}\n />\n </FormControl>\n );\n};\n\nMultiSelectDropDownList.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n InputLabelProps: { shrink: true },\n options: [],\n errorMessage: null,\n disabled: false,\n highlightedOptionIds: [],\n highlightedChipTitle: \"\",\n getOptionDisabled: undefined,\n};\n\nexport default MultiSelectDropDownList;\n","import { useState } from \"react\";\nimport { InfoOutlined as InfoOutlinedIcon } from \"@mui/icons-material\";\nimport { Popover } from \"@mui/material\";\n\nconst NameDescPopover = ({ value, name, description }) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const openPopover = Boolean(anchorEl);\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n return (\n <span className=\"flex items-center gap-2 ml-1\">\n <span>{value || \"\"}</span>\n <span\n role=\"button\"\n tabIndex=\"-1\"\n aria-label=\"info\"\n onClick={(e) => {\n setAnchorEl(e.currentTarget);\n }}\n sx={{ padding: \"0px 2px\" }}\n >\n <InfoOutlinedIcon\n sx={{ fontSize: 16 }}\n tabIndex={-1}\n aria-hidden=\"true\"\n color=\"primary\"\n />\n </span>\n <Popover\n id=\"info\"\n open={openPopover}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"left\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"left\",\n }}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"10px\",\n },\n }}\n >\n <p className=\"text-base font-bold\">{name || \"\"}</p>\n <p>{description || \"\"}</p>\n </Popover>\n </span>\n );\n};\n\nexport default NameDescPopover;\n","import React from \"react\";\nimport { Autocomplete, FormControl, TextField, Box } from \"@mui/material\";\n\nconst AdvanceDropDownList = ({\n id,\n label,\n value,\n onChange,\n options = [],\n required = false,\n disabled = false,\n error = false,\n placeholder = \"Select an option\",\n}) => {\n const selectedValue = options.find((item) => item.id === value) || null;\n\n return (\n <FormControl fullWidth error={error}>\n {/* LABEL WITH RED * */}\n {label && (\n <Box\n component=\"label\"\n htmlFor={id}\n sx={{\n fontSize: \"12px\",\n fontWeight: 500,\n color: \"#374151\",\n mb: \"4px\",\n display: \"block\",\n }}\n >\n {label}\n {required && (\n <Box component=\"span\" sx={{ color: \"#B91C1C\", ml: \"2px\" }}>\n *\n </Box>\n )}\n </Box>\n )}\n\n <Autocomplete\n id={id}\n options={options}\n value={selectedValue}\n disabled={disabled}\n getOptionLabel={(option) => option?.value || \"\"}\n onChange={(e, newValue) => {\n onChange({\n target: {\n name: id,\n value: newValue?.id || \"\",\n },\n });\n }}\n sx={{\n backgroundColor: \"#F8FAFC\",\n borderRadius: \"6px\",\n fontSize: \"14px\",\n\n /* ROOT */\n \"& .MuiOutlinedInput-root\": {\n minHeight: 36, // 🔽 reduced height\n padding: \"0px 6px\",\n borderRadius: \"6px\",\n boxShadow: \"inset 0 0 0 1px #1F2937\",\n\n \"& fieldset\": {\n borderColor: \"#1F2937\",\n borderWidth: \"1px\",\n },\n },\n\n /* INPUT TEXT */\n \"& .MuiAutocomplete-input\": {\n padding: \"6px 6px !important\", // 🔽 tighter padding\n fontSize: \"14px\",\n },\n\n /* HOVER */\n \"& .MuiOutlinedInput-root:hover\": {\n boxShadow: \"inset 0 0 0 1px #111827\",\n \"& fieldset\": {\n borderColor: \"#111827\",\n },\n },\n\n /* FOCUS */\n \"& .MuiOutlinedInput-root.Mui-focused\": {\n boxShadow: \"inset 0 0 0 1px #0B4DA2\",\n \"& fieldset\": {\n borderColor: \"#0B4DA2\",\n },\n },\n\n /* ERROR */\n \"& .MuiOutlinedInput-root.Mui-error\": {\n boxShadow: \"inset 0 0 0 1px #B91C1C\",\n \"& fieldset\": {\n borderColor: \"#B91C1C\",\n },\n },\n\n /* DISABLED */\n \"& .MuiOutlinedInput-root.Mui-disabled\": {\n backgroundColor: \"#F1F5F9\",\n boxShadow: \"inset 0 0 0 1px #9CA3AF\",\n \"& fieldset\": {\n borderColor: \"#9CA3AF\",\n },\n },\n }}\n renderInput={(params) => (\n <TextField {...params} placeholder={placeholder} error={error} />\n )}\n />\n </FormControl>\n );\n};\n\nexport default AdvanceDropDownList;\n","import React, { useState, useEffect, useMemo } from \"react\";\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\nimport { DatePicker as MUIDatePicker } from \"@mui/x-date-pickers/DatePicker\";\nimport TextField from \"@mui/material/TextField\";\nimport Box from \"@mui/material/Box\";\nimport dayjs from \"dayjs\";\n\nconst startOfQ12022 = dayjs(\"2022-01-01\");\nconst endOfQ12099 = dayjs(\"2099-12-31\");\n\nconst DatePicker = ({\n label,\n value,\n onChange,\n minDate,\n required,\n ariaLabel,\n ...props\n}) => {\n const [error, setError] = useState(null);\n\n useEffect(() => {\n if (value) validateDate(value);\n else setError(null);\n }, [value]);\n\n const validateDate = (date) => {\n if (!dayjs(date).isValid()) return setError(\"invalid\"), false;\n if (dayjs(date).isBefore(startOfQ12022)) return setError(\"min\"), false;\n if (dayjs(date).isAfter(endOfQ12099)) return setError(\"max\"), false;\n setError(null);\n return true;\n };\n\n const handleChange = (newValue) => {\n validateDate(newValue) ? onChange(newValue) : onChange(null);\n };\n\n const errorMessage = useMemo(\n () => (error ? \"Your date is not valid\" : \"\"),\n [error]\n );\n\n return (\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <Box>\n {/* Label */}\n <label className=\"block text-[13px] text-[#1F2937] mb-1\">\n {label}\n {required && <span className=\"text-[#DC2626] ml-0.5\">*</span>}\n </label>\n\n <MUIDatePicker\n value={value}\n onChange={handleChange}\n minDate={minDate || startOfQ12022}\n maxDate={endOfQ12099}\n inputFormat=\"DD-MM-YYYY\"\n {...props}\n renderInput={(params) => (\n <TextField\n {...params}\n fullWidth\n size=\"small\"\n error={!!error}\n helperText={errorMessage}\n placeholder=\"dd-mm-yyyy\"\n inputProps={{\n ...params.inputProps,\n \"aria-label\": ariaLabel,\n style: {\n textTransform: \"uppercase\",\n fontSize: \"14px\",\n },\n }}\n InputProps={{\n ...params.InputProps,\n sx: {\n backgroundColor: \"#F8FAFC\",\n borderRadius: \"6px\",\n fontSize: \"14px\",\n\n /* DEFAULT */\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#1F2937\",\n borderWidth: \"1px\",\n },\n\n boxShadow: \"inset 0 0 0 1px #1F2937\",\n\n /* HOVER */\n \"&:hover\": {\n boxShadow: \"inset 0 0 0 1px #111827\",\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#111827\",\n },\n },\n\n /* FOCUS */\n \"&.Mui-focused\": {\n boxShadow: \"inset 0 0 0 1px #0B4DA2\",\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#0B4DA2\",\n },\n },\n\n /* ERROR */\n \"&.Mui-error\": {\n boxShadow: \"inset 0 0 0 1px #B91C1C\",\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#B91C1C\",\n },\n },\n\n /* DISABLED */\n \"&.Mui-disabled\": {\n backgroundColor: \"#F1F5F9\",\n boxShadow: \"inset 0 0 0 1px #9CA3AF\",\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#9CA3AF\",\n },\n },\n },\n }}\n />\n )}\n />\n </Box>\n </LocalizationProvider>\n );\n};\n\nexport default DatePicker;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport FormControl from \"@mui/material/FormControl\";\nimport TextField from \"@mui/material/TextField\";\nimport Box from \"@mui/material/Box\";\n\nconst checkIfError = (msg) =>\n !!msg && typeof msg === \"string\" && msg.length > 0;\n\nconst TextBox = ({\n variant,\n size,\n id,\n label,\n value,\n required,\n errorMessage,\n onChange,\n type,\n multiline,\n rows,\n inputProps,\n InputProps,\n InputLabelProps,\n onBlur,\n disabled,\n placeholder,\n onKeyPress,\n ariaLabel,\n}) => {\n const textboxValue = [0, \"0\"].includes(value) ? value : value || \"\";\n\n const handleKeyPress = (event) => {\n const charCode = event.charCode;\n const key = String.fromCharCode(charCode);\n const allowedCharacters = /^[A-Za-z0-9_-]$/;\n\n if (!allowedCharacters.test(key)) {\n event.preventDefault();\n }\n\n if (event.key === \"e\" || event.key === \"E\" || event.key === \"-\") {\n event.preventDefault();\n }\n };\n\n return (\n <FormControl fullWidth error={checkIfError(errorMessage)}>\n {/* Custom Label */}\n <Box mb={0.5}>\n <label htmlFor={id} className=\"text-[13px] text-[#1F2937]\">\n {label}\n {required && <span className=\"text-[#DC2626] ml-0.5\">*</span>}\n </label>\n </Box>\n\n <TextField\n fullWidth\n variant={variant}\n size={size}\n type={type}\n multiline={multiline}\n rows={multiline ? rows : 1}\n id={id}\n name={id}\n value={textboxValue}\n onChange={onChange}\n onBlur={onBlur}\n error={checkIfError(errorMessage)}\n helperText={errorMessage}\n disabled={disabled}\n placeholder={placeholder}\n onKeyPress={type === \"number\" ? handleKeyPress : onKeyPress}\n inputProps={{\n ...inputProps,\n \"aria-label\": ariaLabel,\n }}\n InputProps={{\n ...InputProps,\n sx: {\n backgroundColor: \"#F8FAFC\",\n borderRadius: \"6px\",\n fontSize: \"14px\",\n\n /* DEFAULT */\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#1F2937\",\n borderWidth: \"1px\",\n },\n\n boxShadow: \"inset 0 0 0 1px #1F2937\",\n\n /* HOVER */\n \"&:hover\": {\n boxShadow: \"inset 0 0 0 1px #111827\",\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#111827\",\n },\n },\n\n /* FOCUS */\n \"&.Mui-focused\": {\n boxShadow: \"inset 0 0 0 1px #0B4DA2\",\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#0B4DA2\",\n },\n },\n\n /* ERROR */\n \"&.Mui-error\": {\n boxShadow: \"inset 0 0 0 1px #B91C1C\",\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#B91C1C\",\n },\n },\n\n /* DISABLED */\n \"&.Mui-disabled\": {\n backgroundColor: \"#F1F5F9\",\n boxShadow: \"inset 0 0 0 1px #9CA3AF\",\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#9CA3AF\",\n },\n },\n },\n }}\n InputLabelProps={{\n shrink: false, // we handle label manually\n ...InputLabelProps,\n }}\n />\n </FormControl>\n );\n};\n\nTextBox.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n type: \"text\",\n required: false,\n errorMessage: \"\",\n multiline: false,\n rows: 2,\n inputProps: {},\n InputProps: {},\n InputLabelProps: {},\n disabled: false,\n};\n\nTextBox.propTypes = {\n variant: PropTypes.oneOf([\"standard\", \"outlined\", \"filled\"]),\n size: PropTypes.oneOf([null, \"small\", \"medium\"]),\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onChange: PropTypes.func.isRequired,\n onBlur: PropTypes.func,\n type: PropTypes.string,\n required: PropTypes.bool,\n errorMessage: PropTypes.string,\n multiline: PropTypes.bool,\n rows: PropTypes.number,\n inputProps: PropTypes.object,\n InputProps: PropTypes.object,\n InputLabelProps: PropTypes.object,\n disabled: PropTypes.bool,\n};\n\nexport default TextBox;\n","// import React, { useState } from \"react\";\n// import {\n// Popover,\n// Box,\n// Typography,\n// Divider,\n// InfoOutlinedIcon,\n// LightTooltip,\n// IconButton,\n// CheckCircleOutlinedIcon,\n// } from \"@gc360/shared-base-components\";\n// import { formatDateTime } from \"@gc360/shared-utilities\";\n\n// const OperationsInfo = ({\n// data,\n// title,\n// disabled,\n// reviewedBy,\n// reviewedOn,\n// type,\n// }) => {\n// const [anchorEl, setAnchorEl] = useState(null);\n// const open = Boolean(anchorEl);\n\n// const handleOpen = (event) => {\n// event.stopPropagation();\n// setAnchorEl(event.currentTarget);\n// };\n\n// const handleClose = () => {\n// setAnchorEl(null);\n// };\n\n// const reviewer = data?.[reviewedBy];\n// const reviewDate = data?.[reviewedOn];\n\n// return (\n// <>\n// <LightTooltip title={title}>\n// <IconButton disabled={disabled} color=\"success\" onClick={handleOpen}>\n// <CheckCircleOutlinedIcon sx={{ fontSize: 20 }} />\n// </IconButton>\n// </LightTooltip>\n\n// <Popover\n// open={open}\n// anchorEl={anchorEl}\n// onClose={handleClose}\n// anchorOrigin={{ vertical: \"bottom\", horizontal: \"left\" }}\n// >\n// <Box p={2} minWidth={250}>\n// <Typography variant=\"subtitle2\" gutterBottom>\n// <strong>{type ? type : \"Reviewed\"} By</strong>\n// </Typography>\n// <Typography variant=\"body2\">{reviewer || \"Not generated\"}</Typography>\n\n// <Divider sx={{ my: 1 }} />\n\n// <Typography variant=\"subtitle2\" gutterBottom>\n// <strong>{type ? type : \"Reviewed\"} On</strong>\n// </Typography>\n// <Typography variant=\"body2\">\n// {reviewDate ? formatDateTime(reviewDate) : \"Not finalized\"}\n// </Typography>\n// </Box>\n// </Popover>\n// </>\n// );\n// };\n\n// export default OperationsInfo;\nimport { useState } from \"react\";\nimport { Box, Divider, Popover, Typography } from \"@mui/material\";\nimport { CheckCircleOutlined as CheckCircleOutlinedIcon, SkipNext as SkipNextIcon } from \"@mui/icons-material\";\nimport IconButton from \"./icon-button\";\nimport LightTooltip from \"./light-tooltip\";\nimport { formatDateTime } from \"@gc360/shared-utilities\";\n\nconst OperationsInfo = ({\n data,\n title,\n disabled,\n reviewedBy,\n reviewedOn,\n type,\n}) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const open = Boolean(anchorEl);\n\n const handleOpen = (event) => {\n event.stopPropagation(); // Prevent outer click events\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const reviewer = data?.[reviewedBy];\n const reviewDate = data?.[reviewedOn];\n\n return (\n <>\n <LightTooltip title={title}>\n <IconButton\n disabled={disabled}\n color={title === \"Skipped\" ? \"secondary\" : \"success\"}\n onClick={handleOpen}\n >\n {title === \"Skipped\" ? (\n <SkipNextIcon sx={{ fontSize: 20 }} />\n ) : (\n <CheckCircleOutlinedIcon sx={{ fontSize: 20 }} />\n )}\n </IconButton>\n </LightTooltip>\n\n <Popover\n open={open}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{ vertical: \"bottom\", horizontal: \"left\" }}\n >\n <Box p={2} minWidth={250}>\n <Typography variant=\"subtitle2\" gutterBottom>\n <strong>{type ? type : \"Reviewed\"} By</strong>\n </Typography>\n <Typography variant=\"body2\">{reviewer || \"Not generated\"}</Typography>\n\n <Divider sx={{ my: 1 }} />\n\n <Typography variant=\"subtitle2\" gutterBottom>\n <strong>{type ? type : \"Reviewed\"} On</strong>\n </Typography>\n <Typography variant=\"body2\">\n {reviewDate ? formatDateTime(reviewDate) : \"Not finalized\"}\n </Typography>\n </Box>\n </Popover>\n </>\n );\n};\n\nexport default OperationsInfo;\n","import React from \"react\";\nconst QuestionTextWrapper = ({ children, className }) => {\n return <p className={`text-base ${className || \"\"}`}>{children}</p>;\n};\n\nexport default QuestionTextWrapper;\n","import React from \"react\";\nimport BlueHeaderText from \"./blue-header-text\";\nimport QuestionTextWrapper from \"./question-text-wrapper\";\nimport LabelsIcons from \"./labels-icons\";\nimport { Grid } from \"@mui/material\";\n\nconst OptionSelectorWithLabel = ({\n label,\n helperLabel,\n options,\n onChange,\n value = [],\n disabled,\n isMandatory,\n}) => {\n const handleSelection = (id) => {\n if (disabled) return;\n const newValue = value.includes(id)\n ? value.filter((val) => val !== id)\n : [...value, id];\n onChange(newValue);\n };\n\n return (\n <div className=\"px-3 py-3\">\n <QuestionTextWrapper>\n <div className=\"flex items-center\">\n {label}\n <span>\n <LabelsIcons\n mandatory={isMandatory}\n title={\n <>\n Have Problem on selecting\n <BlueHeaderText className=\"text-fill-primary mx-1\">\n {helperLabel || \"\"}\n </BlueHeaderText>\n </>\n }\n />\n </span>\n </div>\n </QuestionTextWrapper>\n <div className=\"w-full mt-2\">\n <Grid container spacing={1}>\n {(options || []).map((item) => (\n <Grid\n key={item.id}\n item\n xs={6}\n sm={4}\n md={3}\n lg={2}\n className=\"cursor-pointer relative\"\n onClick={() => handleSelection(item.id)}\n >\n <div\n className={`text-sm text-center ${\n value.includes(item.id)\n ? \"bg-blue-700 text-white\"\n : \"bg-[#f9fafa] border\"\n } p-2 h-full rounded min-h-10 flex items-center justify-center`}\n >\n {item.value}\n </div>\n </Grid>\n ))}\n </Grid>\n </div>\n </div>\n );\n};\n\nexport default OptionSelectorWithLabel;\n","import React from \"react\";\nimport BlueHeaderText from \"./blue-header-text\";\nimport QuestionTextWrapper from \"./question-text-wrapper\";\nimport LabelsIcons from \"./labels-icons\";\nimport { Grid, Skeleton } from \"@mui/material\";\nimport LightTooltip from \"../light-tooltip\";\n\nconst OptionSelectorWithLabel = ({\n label,\n helperLabel,\n helperInfo,\n options,\n onChange,\n value,\n disabled,\n isMandatory,\n loading = false,\n}) => {\n return (\n <div className=\"px-3 py-3\">\n <QuestionTextWrapper>\n <div className=\"flex items-center\">\n {label}\n <span>\n <LabelsIcons\n mandatory={isMandatory}\n title={\n helperInfo ? (\n helperInfo\n ) : (\n <>\n Have Problem on selecting\n <BlueHeaderText className=\"text-fill-primary mx-1\">\n {helperLabel || \"\"}\n </BlueHeaderText>\n </>\n )\n }\n />\n </span>\n </div>\n </QuestionTextWrapper>\n <div className=\"w-full mt-2\">\n <Grid container spacing={1} className=\"flex w-full\">\n {loading\n ? Array(6)\n .fill()\n .map((cnt) => (\n <Grid item xs={6} sm={4} md={3} lg={2} key={cnt}>\n <Skeleton\n width={170}\n height={40}\n style={{ transform: \"scale(1, 0.9)\" }}\n />\n </Grid>\n ))\n : (options || []).map((item, index) => (\n <Grid\n key={index}\n item\n xs={6}\n sm={4}\n md={3}\n lg={2}\n className={`cursor-pointer relative`}\n onClick={() => {\n if (item?.isAdjusting === \"Y\" || disabled) return;\n onChange(item.id);\n }}\n >\n {item?.isAdjusting === \"Y\" ? (\n <LightTooltip\n title={\n \"This Financial Agent is part of another change request\"\n }\n >\n <div\n className={`text-sm text-center ${\n value === item?.id\n ? \"bg-blue-700 text-white\"\n : \"bg-gray-100 text-gray-400 border border-gray-200 opacity-70\"\n } p-2 h-full rounded min-h-10 flex items-center justify-center`}\n >\n {item.value}\n </div>\n </LightTooltip>\n ) : (\n <div\n className={`text-sm text-center ${\n value === item.id\n ? \"bg-blue-700 text-white\"\n : \"bg-[#f9fafa] border\"\n } p-2 h-full rounded min-h-10 flex items-center justify-center`}\n >\n {item.value}\n </div>\n )}\n </Grid>\n ))}\n </Grid>\n </div>\n </div>\n );\n};\n\nexport default OptionSelectorWithLabel;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Container, CssBaseline } from \"@mui/material\";\n\nconst Page = ({ id, maxWidth, children }) => {\n return (\n <Container id={id} maxWidth={maxWidth} style={{ paddingTop: \"10px\" }}>\n <CssBaseline />\n {children}\n </Container>\n );\n};\n\nPage.defaultProps = {\n maxWidth: \"2xl\",\n};\n\nPage.propTypes = {\n id: PropTypes.string.isRequired,\n maxWidth: PropTypes.oneOf([\"xs\", \"sm\", \"md\", \"lg\", \"xl\", \"2xl\"]),\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n};\n\nexport default Page;\n","import React from \"react\";\n\nconst PageNotFound = ({ navigate }) => {\n return (\n <div className=\" flex flex-col items-center justify-center p-5 mt-3\">\n <div className=\"max-w-md w-full bg-white rounded-lg shadow-lg overflow-hidden\">\n <div className=\"bg-blue-600 h-2\"></div>\n <div className=\"p-8\">\n <div className=\"flex items-center justify-center mb-6\">\n <div className=\"text-6xl font-bold text-blue-600\">404</div>\n </div>\n <h1 className=\"text-2xl font-semibold text-gray-800 text-center mb-2\">\n We're preparing this page for you\n </h1>\n <p className=\"text-gray-600 text-center mb-6\">\n Please check back soon as we're working to make this content\n available.\n </p>\n <div className=\"flex gap-3 justify-center\">\n <button\n aria-label=\"Previous\"\n onClick={() => navigate(-1)}\n className=\"px-4 py-2 bg-gray-200 text-gray-700 rounded hover:bg-gray-300 transition-colors duration-200 font-medium\"\n >\n Go Back\n </button>\n <button\n aria-label=\"home\"\n onClick={() => navigate(\"/\")}\n className=\"px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 transition-colors duration-200 font-medium\"\n >\n Return Home\n </button>\n </div>\n </div>\n </div>\n <p className=\"mt-8 text-sm text-gray-500\">\n If you believe this is an error, please contact support.\n </p>\n </div>\n );\n};\n\nexport default PageNotFound;\n","import React, { useState, useEffect } from \"react\";\nimport {\n Box,\n Table,\n TableBody,\n TableContainer,\n TableHead,\n TableRow,\n TableSortLabel,\n} from \"@mui/material\";\nimport { visuallyHidden } from \"@mui/utils\";\nimport Pagination from \"@mui/material/Pagination\";\n\nimport StyledBorderedTableCell from \"./styled-bordered-table-cell\";\nimport StyledTableRow from \"./styled-bordered-table-row\";\nimport SkeletonTableBody from \"./skeleton-table-body\";\n\n/* ================= SORT HELPERS ================= */\n\nfunction descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) return -1;\n if (b[orderBy] > a[orderBy]) return 1;\n return 0;\n}\n\nfunction getComparator(order, orderBy) {\n return order === \"desc\"\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\n/* ================= CUSTOM CELL ================= */\n\nconst CustomTableCell = (props) => {\n const { rowData, columnObject, ...otherProps } = props;\n\n return (\n <StyledBorderedTableCell {...otherProps}>\n {columnObject.render\n ? columnObject.render(rowData)\n : rowData[columnObject.field]}\n </StyledBorderedTableCell>\n );\n};\n\n/* ================= MAIN TABLE ================= */\n\nconst PaginationTable = ({\n loading,\n skeletonColumns,\n skeletonRows,\n title,\n data,\n columns,\n align,\n rowsInPage,\n handlePageChange,\n handleChangeRows,\n totalRecords,\n totalPages,\n currentPageNumber,\n setCurrentPageNumber,\n maxHeight,\n minHeight,\n height,\n}) => {\n const [order, setOrder] = useState(\"asc\");\n const [orderBy, setOrderBy] = useState(\"\");\n const [page, setPage] = useState(1);\n const [rowsPerPage, setRowsPerPage] = useState(rowsInPage);\n const [tempData, setTempData] = useState([]);\n\n /* 🔹 COLUMN STATE */\n const [tableColumns, setTableColumns] = useState(columns);\n const [dragColIndex, setDragColIndex] = useState(null);\n\n useEffect(() => {\n setTableColumns(columns);\n }, [columns]);\n\n /* ================= SORT ================= */\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === \"asc\";\n setOrder(isAsc ? \"desc\" : \"asc\");\n setOrderBy(property);\n };\n\n const createSortHandler = (property) => (event) => {\n handleRequestSort(event, property);\n };\n\n /* ================= PAGINATION ================= */\n\n const handleChangeRowsPerPage = (event) => {\n const value = parseInt(event.target.value, 10);\n setRowsPerPage(value);\n handleChangeRows(value);\n setCurrentPageNumber(1);\n };\n\n const emptyRows =\n page > 1\n ? Math.max(0, (page - 1) * rowsPerPage + rowsPerPage - tempData.length)\n : 0;\n\n useEffect(() => {\n setPage(1);\n setTempData(data);\n }, [data]);\n\n useEffect(() => {\n setPage(currentPageNumber);\n }, [currentPageNumber]);\n\n /* ================= COLUMN REORDER (HTML5 DND) ================= */\n\n const handleDragStart = (index) => {\n setDragColIndex(index);\n };\n\n const handleDrop = (dropIndex) => {\n if (dragColIndex === null || dragColIndex === dropIndex) return;\n\n const updatedColumns = [...tableColumns];\n const [movedColumn] = updatedColumns.splice(dragColIndex, 1);\n updatedColumns.splice(dropIndex, 0, movedColumn);\n\n setTableColumns(updatedColumns);\n setDragColIndex(null);\n };\n\n /* ================= RENDER ================= */\n\n return (\n <div className=\"overflow-x-auto border border-gray-300 rounded-lg\">\n <TableContainer\n style={{\n maxHeight: maxHeight ? `${maxHeight}px` : \"\",\n minHeight: minHeight ? `${window.innerHeight - 350}px` : \"\",\n height: height ? `${height}px` : `${window.innerHeight - 350}px`,\n overflow: \"auto\",\n position: \"relative\",\n }}\n >\n <Table\n aria-labelledby={title ? \"customTableTitle\" : undefined}\n size=\"small\"\n stickyHeader\n className=\"min-w-full divide-y divide-gray-200\"\n >\n {/* ================= TABLE HEAD ================= */}\n <TableHead>\n <TableRow>\n {tableColumns.map((col, colIdx) => (\n <StyledBorderedTableCell\n key={`customTableColHeader-${colIdx}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n sortDirection={orderBy === col.field ? order : false}\n draggable\n onDragStart={() => handleDragStart(colIdx)}\n onDragOver={(e) => e.preventDefault()}\n onDrop={() => handleDrop(colIdx)}\n sx={{\n maxWidth: col?.maxWidth,\n background: \"#36ade1\",\n color: \"#0e3253\",\n fontWeight: \"bold\",\n padding: 1,\n cursor: \"grab\",\n opacity: dragColIndex === colIdx ? 0.6 : 1,\n }}\n >\n {col.sorting === false ? (\n col.title\n ) : (\n <TableSortLabel\n active={orderBy === col.field}\n direction={orderBy === col.field ? order : \"asc\"}\n onClick={createSortHandler(col.field)}\n >\n {col.title}\n {orderBy === col.field && (\n <Box component=\"span\" sx={visuallyHidden}>\n {order === \"desc\"\n ? \"sorted descending\"\n : \"sorted ascending\"}\n </Box>\n )}\n </TableSortLabel>\n )}\n </StyledBorderedTableCell>\n ))}\n </TableRow>\n </TableHead>\n\n {/* ================= TABLE BODY ================= */}\n {loading ? (\n <SkeletonTableBody\n columns={skeletonColumns || tableColumns.length || 1}\n rows={skeletonRows || 4}\n />\n ) : (\n <TableBody>\n {stableSort(tempData, getComparator(order, orderBy))\n .slice((page - 1) * rowsPerPage, page * rowsPerPage)\n .map((row, rowIndex) => (\n <StyledTableRow\n key={`customTableRow-${rowIndex}`}\n style={{ border: \"1px solid black\" }}\n >\n {tableColumns.map((col, colIndex) => (\n <CustomTableCell\n key={`customTableCell-${rowIndex}-${colIndex}`}\n align={col.align || \"left\"}\n padding={col.disablePadding ? \"none\" : \"normal\"}\n rowData={row}\n columnObject={col}\n sx={{ fontSize: 12, padding: \"0px\" }}\n />\n ))}\n </StyledTableRow>\n ))}\n\n {emptyRows > 0 && (\n <tr style={{ height: 33 * emptyRows }}>\n <td colSpan={tableColumns.length} />\n </tr>\n )}\n </TableBody>\n )}\n </Table>\n </TableContainer>\n\n {/* ================= FOOTER ================= */}\n <div className=\"border-t border-gray-300 bg-white\">\n <div className=\"flex items-center justify-end p-2\">\n <span className=\"text-sm text-gray-700\">\n Rows per page:\n <select\n value={rowsPerPage}\n onChange={handleChangeRowsPerPage}\n className=\"ml-2 border border-gray-300 rounded\"\n >\n {[5, 10, 25, 50].map((rows) => (\n <option key={rows} value={rows}>\n {rows}\n </option>\n ))}\n </select>\n </span>\n\n <span className=\"text-sm text-gray-700 ml-4\">\n {page * rowsPerPage - rowsPerPage + 1}-\n {Math.min(page * rowsPerPage, tempData.length)} of {totalRecords}\n </span>\n\n <Pagination\n count={totalPages}\n page={currentPageNumber}\n onChange={handlePageChange}\n showFirstButton\n showLastButton\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default PaginationTable;\n","import React from \"react\";\nimport { Box } from \"@mui/material\";\n\nconst PanelWrapper = ({ id, value, children }) => {\n return (\n <Box component=\"div\" hidden={id !== value}>\n {children}\n </Box>\n );\n};\n\nexport default PanelWrapper;\n","import React from \"react\";\n\nconst PercentageInput = ({ value, onChange, title }) => {\n return (\n <div className=\"flex relative items-center bg-[#f9fafa] border rounded p-1 w-full\">\n <span className=\"mr-2\">%</span>\n <input\n className=\"w-full bg-transparent outline-none text-right text-sm\"\n value={value ?? \"\"}\n type=\"number\"\n onChange={onChange}\n style={{ boxShadow: \"none\" }}\n />\n {title && (\n <label className=\"absolute -top-[10px] text-xs left-3 text-gray-500 bg-white\">\n {title}\n </label>\n )}\n </div>\n );\n};\n\nexport default PercentageInput;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { TextField, FormControl } from \"@mui/material\";\n\nconst checkIfError = (msg) =>\n !!msg && typeof msg === \"string\" && msg.length > 0;\n\nconst PlaceHolderTextbox = ({\n variant,\n size,\n id,\n label,\n value,\n required,\n errorMessage,\n onChange,\n type,\n rows,\n inputProps,\n InputLabelProps,\n onBlur,\n disabled,\n placeholder,\n}) => {\n const textboxValue = [0, \"0\"].indexOf(value) > -1 ? value : value || \"\";\n\n return (\n <FormControl style={{ width: \"100%\" }} error={checkIfError(errorMessage)}>\n <TextField\n multiline\n InputProps={{\n placeholder: placeholder,\n style: { whiteSpace: \"pre-line\" },\n }}\n fullWidth\n variant={variant}\n size={size}\n type={type}\n rows={rows}\n id={id}\n name={id}\n label={label}\n value={textboxValue}\n onChange={onChange}\n onBlur={onBlur}\n required={required}\n error={checkIfError(errorMessage)}\n helperText={errorMessage}\n inputProps={inputProps}\n InputLabelProps={InputLabelProps}\n disabled={disabled}\n />\n </FormControl>\n );\n};\n\nPlaceHolderTextbox.defaultProps = {\n variant: \"standard\",\n size: null,\n type: \"text\",\n required: false,\n errorMessage: \"\",\n multiline: false,\n rows: 2,\n inputProps: {},\n InputProps: {},\n InputLabelProps: { shrink: true },\n disabled: false,\n multilinePlaceholder: \"\",\n};\n\nPlaceHolderTextbox.propTypes = {\n variant: PropTypes.oneOf([\"standard\", \"outlined\", \"filled\"]),\n size: PropTypes.oneOf([null, \"small\", \"medium\"]),\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onChange: PropTypes.func.isRequired,\n onBlur: PropTypes.func,\n type: PropTypes.string,\n required: PropTypes.bool,\n errorMessage: PropTypes.string,\n multiline: PropTypes.bool,\n rows: PropTypes.number,\n inputProps: PropTypes.object,\n InputProps: PropTypes.object,\n InputLabelProps: PropTypes.object,\n disabled: PropTypes.bool,\n multilinePlaceholder: PropTypes.string,\n};\n\nexport default PlaceHolderTextbox;\n","import React, { useEffect, useRef, useState } from \"react\";\nimport IconButton from \"./icon-button\";\nimport { Close as CloseIcon, Fullscreen as FullscreenIcon, FullscreenExit as FullscreenExitIcon, DragIndicator as DragIndicatorIcon } from \"@mui/icons-material\";\nimport { Dialog, DialogTitle, DialogContent, Popover } from \"@mui/material\";\nimport { GenericTitle } from \"@gc360/shared-styleguide\";\n\nconst PreviewContentModal = ({\n id,\n title,\n open,\n onClose,\n className,\n style,\n children,\n draggableFullScreen,\n setDraggableFullScreen,\n type,\n toggleButtonRef,\n showThumbnails,\n setShowThumbnails,\n setOpen,\n}) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const [contentHeight, setContentHeight] = useState(\"auto\");\n\n const totalModalRef = useRef(null);\n const headerRef = useRef(null);\n const footerRef = useRef(null);\n\n // Calculate content height after DOM mounts\n\n useEffect(() => {\n if (open) {\n setTimeout(() => {\n const modal = totalModalRef.current;\n const header = headerRef.current;\n const footer = footerRef.current;\n\n if (modal && header && footer) {\n const height =\n modal.offsetHeight - header.offsetHeight - footer.offsetHeight;\n setContentHeight(height);\n }\n }, 0); // defer to next tick\n }\n }, [open, draggableFullScreen]);\n\n const handlePopoverClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handlePopoverClose = () => {\n setAnchorEl(null);\n };\n\n const openPopover = Boolean(anchorEl);\n\n const handleToggleFullscreen = () => {\n setDraggableFullScreen((prev) => !prev);\n };\n const handleCloseScreen = () => {\n setDraggableFullScreen(false);\n };\n\n return (\n <Dialog\n open={open}\n onClose={onClose}\n draggableFullScreen={draggableFullScreen}\n maxWidth={draggableFullScreen ? false : \"lg\"}\n // fullWidth={true}\n fullWidth={!draggableFullScreen}\n PaperProps={{\n style: {\n margin: draggableFullScreen ? 0 : \"32px\",\n maxWidth: draggableFullScreen ? \"100vw\" : \"none\",\n width: draggableFullScreen ? \"100vw\" : \"auto\",\n height: draggableFullScreen ? \"100vh\" : \"auto\",\n maxHeight: draggableFullScreen ? \"100vh\" : \"none\",\n },\n sx: {\n \"& .MuiDialogTitle-root\": {\n padding: draggableFullScreen ? \"8px 16px\" : \"16px 24px\",\n },\n \"& .MuiDialogContent-root\": {\n padding: draggableFullScreen ? \"8px\" : \"24px\",\n },\n },\n }}\n style={{\n height: draggableFullScreen ? \"100vh\" : \"auto\",\n }}\n sx={{\n \"& .MuiDialog-container\": {\n height: draggableFullScreen ? \"100vh\" : \"auto\",\n },\n \"& .MuiPaper-root\": {\n margin: draggableFullScreen ? 0 : \"32px\",\n maxWidth: draggableFullScreen ? \"100vw\" : \"none\",\n width: draggableFullScreen ? \"100vw\" : \"auto\",\n height: draggableFullScreen ? \"100vh\" : \"auto\",\n },\n }}\n >\n <div ref={totalModalRef}>\n {/* Top Line */}\n <div\n ref={headerRef}\n style={{\n background: \"#1976d2\",\n height: \"7px\",\n width: \"100%\",\n boxShadow: \"5px 5px 8px rgba(0, 0, 0, 0.2)\",\n }}\n />\n\n {/* Header / Dialog Title */}\n <DialogTitle\n id={id}\n sx={{\n m: 0,\n p: draggableFullScreen ? \"8px 16px\" : \"16px 24px\",\n boxShadow: \"5px 5px 8px rgba(0, 0, 0, 0.2)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n zIndex: 999,\n minHeight: draggableFullScreen ? \"50px\" : \"auto\",\n }}\n >\n {/* Left section: Title and drag icon */}\n <div className=\"flex items-center gap-2\">\n <div\n className=\"flex items-center justify-center bg-[#d5e3ff] h-[50px] w-[25px] cursor-pointer\"\n role=\"button\"\n tabIndex={0}\n >\n {type === \"content\" ? (\n <IconButton\n onClick={() => setShowThumbnails((prev) => !prev)}\n aria-label=\"Toggle thumbnails\"\n ref={toggleButtonRef}\n >\n <DragIndicatorIcon fontSize=\"medium\" />\n </IconButton>\n ) : (\n <DragIndicatorIcon fontSize=\"medium\" />\n )}\n </div>\n <GenericTitle>{title}</GenericTitle>\n\n {/* Help Popover */}\n <Popover\n id=\"info\"\n open={openPopover}\n anchorEl={anchorEl}\n onClose={handlePopoverClose}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n sx={{\n \"& .MuiPaper-root\": {\n maxWidth: \"300px\",\n padding: \"10px\",\n borderLeft: \"5px solid #1976d2\",\n },\n }}\n >\n <div>\n <GenericTitle>Help</GenericTitle>\n <p className=\"pl-1\">{title}</p>\n </div>\n </Popover>\n </div>\n\n {/* Right buttons */}\n <div className=\"flex items-center pr-2\">\n <IconButton\n sx={{ p: \"4px\", mx: \"3px\" }}\n size=\"small\"\n onClick={() => {\n handleToggleFullscreen();\n }}\n >\n {draggableFullScreen ? (\n <FullscreenExitIcon fontSize=\"large\" />\n ) : (\n <FullscreenIcon fontSize=\"large\" />\n )}\n </IconButton>\n <IconButton\n sx={{ p: \"4px\", mx: \"3px\" }}\n size=\"small\"\n onClick={onClose}\n // onClick={() => {\n // handleCloseScreen();\n // }}\n >\n <CloseIcon fontSize=\"medium\" />\n </IconButton>\n </div>\n </DialogTitle>\n\n {/* Modal Content */}\n <DialogContent\n sx={{\n p: draggableFullScreen ? \"8px\" : \"24px\",\n height: draggableFullScreen ? `calc(100vh - 125px)` : \"600px\",\n overflowY: \"auto\",\n display: \"flex\",\n flexDirection: \"column\",\n }}\n >\n {children}\n </DialogContent>\n\n {/* Bottom Line */}\n <div\n ref={footerRef}\n style={{\n background: \"#d5e3ff\",\n height: \"4px\",\n width: \"100%\",\n boxShadow: \"rgba(0, 0, 0, 0.2) 0px -10px 9px -5px\",\n }}\n />\n </div>\n </Dialog>\n );\n};\n\nexport default PreviewContentModal;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\n\nconst ProcessingModalContent = ({\n label,\n title,\n icon,\n htmlIcon,\n message,\n processing,\n content,\n}) => {\n return (\n <div\n className=\"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black !bg-opacity-40\"\n style={{ zIndex: 1300 }}\n >\n <div className=\"bg-white rounded-lg shadow-lg overflow-hidden\">\n <div className=\"p-6 py-10\">\n {htmlIcon && (\n <div className=\"flex items-center justify-center mb-4\">\n {htmlIcon}\n </div>\n )}\n\n {icon && (\n <div className=\"flex items-center justify-center mb-4\">\n <div className=\"w-48\">\n <img src={icon || \"\"} className=\"w-full\" alt=\"\" />\n </div>\n </div>\n )}\n\n <div className=\"text-center space-y-2\">\n {label && (\n <h2 className=\"text-xl font-semibold text-gray-800\">{label}</h2>\n )}\n {title && <p className=\"text-gray-600 font-semibold\">{title}</p>}\n {message && <p className=\"text-sm\">{message}</p>}\n {content && content}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\n// Use React Portal to render it at document.body\nconst ProcessingModal = (props) => {\n return ReactDOM.createPortal(\n <ProcessingModalContent {...props} />,\n document.body\n );\n};\n\nexport default ProcessingModal;\n","import { SouthOutlined as DownIcon, NorthOutlined as UpIcon } from \"@mui/icons-material\";\n\nconst ProfitDirectionIcon = ({ value }) => {\n if (value === null || value === undefined || value === \"\" || value === \"-\") {\n return <span>-</span>;\n }\n\n if (value && value < 0) {\n return (\n <span style={{ color: \"#A30000\" }}>\n <DownIcon style={{ fontSize: \"18px\" }} color=\"error\" />\n </span>\n );\n }\n if (value && value === 0) {\n return <span></span>;\n }\n if (value && value > 0) {\n return (\n <span>\n <UpIcon style={{ fontSize: \"18px\" }} color=\"success\" />\n </span>\n );\n }\n};\n\nexport default ProfitDirectionIcon;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport Typography from \"@mui/material/Typography\";\n\nconst ReadOnlyLabel = ({ id, label, value }) => {\n return (\n <>\n <Typography variant=\"caption\" color=\"textSecondary\" display=\"block\">\n {label}\n </Typography>\n <Typography variant=\"body2\">{value}</Typography>\n </>\n );\n};\n\nReadOnlyLabel.defaultProps = {\n value: \"\",\n};\n\nReadOnlyLabel.propTypes = {\n // id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n // value: PropTypes.oneOf([PropTypes.string]),\n};\n\nexport default ReadOnlyLabel;\n","import React, { lazy, Suspense } from \"react\";\n\nconst ReportRunKPICard = lazy(() => import(\"./ReportRunKPICard\"));\n\nconst ReportRunKPICards = (props) => {\n return (\n <Suspense fallback={<div>Loading...</div>}>\n <ReportRunKPICard {...props} />\n </Suspense>\n );\n};\n\nexport default ReportRunKPICards;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\n\nconst RequestModalGridItem = ({ children, className, ...props }) => {\n return (\n <Grid className={`!px-12 h-fit py-2 ${className}`} {...props}>\n {children}\n </Grid>\n );\n};\n\nexport default RequestModalGridItem;\n","import React, { useEffect, useRef } from \"react\";\nimport IconButton from \"./icon-button\";\nimport { InputAdornment } from \"@mui/material\";\nimport { SearchOutlined as SearchOutlinedIcon } from \"@mui/icons-material\";\nimport TextField from \"./custom-mui-text-field\";\n\nconst SearchInput = ({\n value,\n onChange,\n disableShiftSearch = false,\n ...props\n}) => {\n const searchRef = useRef(null);\n\n useEffect(() => {\n const focusHandler = (e) => {\n // Only trigger if Shift+S and input is NOT already focused\n if (\n !disableShiftSearch &&\n e.shiftKey &&\n e.key.toLowerCase() === \"s\" &&\n document.activeElement !== searchRef.current\n ) {\n e.preventDefault();\n searchRef?.current?.focus();\n }\n };\n document.addEventListener(\"keydown\", focusHandler);\n return () => document.removeEventListener(\"keydown\", focusHandler);\n }, []);\n return (\n <div>\n <TextField\n {...props}\n inputRef={searchRef}\n id=\"outlined-basic\"\n label=\"Search\"\n variant=\"outlined\"\n type=\"search\"\n size=\"small\"\n value={value}\n onChange={onChange}\n InputLabelProps={{ shrink: true }}\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n sx={{ padding: \"4px\", margin: \"0px 3px\" }}\n aria-label=\"search action\"\n onClick={() => {}}\n edge=\"end\"\n size=\"small\"\n >\n <SearchOutlinedIcon />\n </IconButton>\n </InputAdornment>\n ),\n }}\n />\n </div>\n );\n};\n\nexport default SearchInput;\n","import React from \"react\";\nimport TextField from \"../Components/custom-mui-text-field\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport IconButton from \"@mui/material/IconButton\";\nimport SearchIcon from \"@mui/icons-material/Search\";\n\nconst SearchTextField = ({ onChange }) => {\n const updateSearchTerm = (event) => {\n const searchTerm = event.target.value;\n onChange(searchTerm);\n };\n\n return (\n <TextField\n id=\"outlined-basic\"\n label=\"Search\"\n variant=\"outlined\"\n type=\"search\"\n size=\"small\"\n onChange={updateSearchTerm}\n InputLabelProps={{ shrink: true }}\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label=\"search action\"\n position=\"end\"\n edge=\"end\"\n size=\"small\"\n >\n <SearchIcon />\n </IconButton>\n </InputAdornment>\n ),\n inputProps: { style: { padding: \"10px 10px\", fontSize: \"14px\" } },\n }}\n />\n );\n};\n\nexport default SearchTextField;\n","import React, { useState } from \"react\";\n\nconst SelectionTable = ({\n columns,\n data,\n onChange,\n value,\n item,\n id,\n setOpenDetails,\n loading = false,\n}) => {\n const [selectedRow, setSelectedRow] = useState(null);\n\n const handleRadioChange = (index) => {\n setSelectedRow(index);\n };\n\n return (\n <table className=\"table-auto w-full border-collapse border border-gray-300\">\n <thead>\n <tr>\n <th className=\"border border-gray-300 px-4 py-2 text-center\">\n Select\n </th>{\" \"}\n {columns.map((column, index) => (\n <th\n key={index}\n className=\"text-center border border-gray-300 px-4 py-2\"\n >\n {column.title}\n </th>\n ))}\n </tr>\n </thead>\n\n {(data || []).length > 0 ? (\n <tbody>\n {(data || []).map((row, rowIndex) => (\n <tr\n key={rowIndex}\n className={\n row.id === id\n ? \"bg-slate-200\"\n : rowIndex % 2 === 0\n ? \"bg-gray-100\"\n : \"\"\n }\n onClick={(e) => {\n e.stopPropagation();\n handleRadioChange(rowIndex);\n onChange(row.id);\n }}\n >\n <td\n onDoubleClick={() => setOpenDetails(false)}\n className=\"border border-gray-300 px-4 py-2 text-center\"\n >\n <input\n type=\"radio\"\n checked={row.id === id || false}\n onClick={(e) => {\n e.stopPropagation();\n }}\n onChange={(e) => {\n e.stopPropagation();\n handleRadioChange(rowIndex);\n onChange(row.id);\n }}\n />\n </td>\n {columns.map((column, colIndex) => (\n <td\n onDoubleClick={() => setOpenDetails(false)}\n key={colIndex}\n className=\"text-left border border-gray-300 px-4 py-2\"\n >\n {column.render ? column.render(row) : row[column.field]}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n ) : loading ? (\n <div className=\"text-gray-700 px-3\">Loading...</div>\n ) : (\n <div className=\"text-gray-700 px-3\">No Data Found.</div>\n )}\n </table>\n );\n};\n\nexport default SelectionTable;\n","import React from \"react\";\n\nconst ServerErrorPage = () => (\n <div className=\"min-h-screen bg-gray-50 flex flex-col items-center justify-center p-5\">\n <div className=\"max-w-md w-full bg-white rounded-lg shadow-lg overflow-hidden\">\n <div className=\"bg-red-600 h-2\"></div>\n <div className=\"p-8\">\n <div className=\"flex items-center justify-center mb-6\">\n <div className=\"text-6xl font-bold text-red-600\">500</div>\n </div>\n <h1 className=\"text-2xl font-semibold text-gray-800 text-center mb-2\">\n Server Error\n </h1>\n <p className=\"text-gray-600 text-center mb-6\">\n We're sorry, something went wrong on our end. Please try again later.\n </p>\n <div className=\"flex justify-center\">\n <button\n aria-label=\"reload\"\n onClick={() => window.location.reload()}\n className=\"px-4 py-2 bg-red-600 text-white rounded hover:bg-red-700 transition-colors duration-200 font-medium\"\n >\n Try Again\n </button>\n </div>\n </div>\n </div>\n </div>\n);\n\nexport default ServerErrorPage;\n","// #region Added For PIF related applications\nimport React from \"react\";\nimport { toCurrencyUSD } from \"@gc360/shared-utilities\";\n\nconst SignedAmountWithZero = (val, decimals = 2) => {\n if (\n val === null ||\n val === undefined ||\n val === \"\" ||\n val === \"-\" ||\n val === 0\n ) {\n return <span>$0</span>;\n }\n\n if (val && val < 0) {\n return (\n <span style={{ color: \"#A30000\" }}>\n ({toCurrencyUSD(-val, decimals)})\n </span>\n );\n }\n\n return (\n <span style={{ color: \"inherit !important\" }}>\n {toCurrencyUSD(val, decimals)}\n </span>\n );\n};\n\nexport default SignedAmountWithZero;\n","import { SouthOutlined as DownIcon, NorthOutlined as UpIcon } from \"@mui/icons-material\";\nimport { toCurrency } from \"@gc360/shared-utilities\";\n\nconst SignedPercentage = (val, decimals = 2) => {\n if (val === null || val === undefined || val === \"\" || val === \"-\") {\n return <span>-</span>;\n }\n\n const num = parseFloat(val);\n\n if (isNaN(num)) {\n return <span>-</span>;\n }\n\n if (num < 0) {\n return (\n <span style={{ color: \"#A30000\" }}>\n ({`${toCurrency(-num, decimals)} %`}){\" \"}\n <DownIcon style={{ fontSize: \"18px\" }} color=\"error\" />\n </span>\n );\n }\n\n if (num === 0) {\n return <span>-</span>;\n }\n\n return (\n <span>\n {`${toCurrency(num, decimals)} %`}{\" \"}\n <UpIcon style={{ fontSize: \"18px\" }} color=\"success\" />\n </span>\n );\n};\n\nexport default SignedPercentage;\n","// #region Added For PIF related applications\nimport { SouthOutlined as DownIcon, NorthOutlined as UpIcon } from \"@mui/icons-material\";\nimport { toCurrency } from \"@gc360/shared-utilities\";\n\nconst SignedPercentageWithZero = (val, decimals = 2) => {\n if (val === null || val === undefined || val === \"\" || val === \"-\") {\n return <span>0.00 %</span>;\n }\n\n const num = parseFloat(val);\n\n if (isNaN(num)) {\n return <span>0.00 %</span>;\n }\n\n if (num < 0) {\n return (\n <span style={{ color: \"#A30000\" }}>\n ({`${toCurrency(-num, decimals)} %`}){\" \"}\n <DownIcon style={{ fontSize: \"18px\" }} color=\"error\" />\n </span>\n );\n }\n\n if (num === 0) {\n return <span>0.00 %</span>;\n }\n\n return (\n <span>\n {`${toCurrency(num, decimals)} %`}{\" \"}\n <UpIcon style={{ fontSize: \"18px\" }} color=\"success\" />\n </span>\n );\n};\n\nexport default SignedPercentageWithZero;\n","import { Skeleton as Skeleton, TableBody } from \"@mui/material\";\nimport StyledBorderedTableRow from \"./styled-bordered-table-row\";\nimport StyledBorderedTableCell from \"./styled-bordered-table-cell\";\n\nconst SkeletonBorderedTableBody = ({ rows, columns }) => {\n return (\n <TableBody>\n {Array(rows || 4)\n .fill()\n .map((cnt) => (\n <StyledBorderedTableRow key={`row-${cnt}`}>\n {Array(columns || 1)\n .fill()\n .map((cnt1) => (\n <StyledBorderedTableCell key={`cell-${cnt1}`}>\n <Skeleton height={50} />\n </StyledBorderedTableCell>\n ))}\n </StyledBorderedTableRow>\n ))}\n </TableBody>\n );\n};\n\nexport default SkeletonBorderedTableBody;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Backdrop, CircularProgress } from \"@mui/material\";\n\nconst Spinner = ({ color, size, loading }) => {\n return (\n <Backdrop open={loading} style={{ zIndex: 1000, color: \"#fff\" }}>\n <CircularProgress color={color} size={size} />\n </Backdrop>\n );\n};\n\nSpinner.defaultProps = {\n color: \"primary\",\n size: 60,\n};\n\nSpinner.propTypes = {\n color: PropTypes.string,\n size: PropTypes.number,\n loading: PropTypes.bool.isRequired,\n};\n\nexport default Spinner;\n","import React from \"react\";\nimport {\n Edit,\n CheckCircleOutline,\n CancelOutlined,\n ThumbDownOutlined,\n ThumbUpOutlined,\n PanTool,\n ErrorOutline,\n CheckCircle,\n WarningOutlined,\n TaskAlt,\n ChecklistRtl,\n HighlightOff,\n RateReview,\n Verified,\n PlaylistAddCheck,\n Checklist,\n ModelTraining,\n Grading,\n ArtTrack,\n RestoreFromTrash,\n AlignHorizontalLeft,\n Reviews,\n MarkChatRead,\n CreditScore,\n RunningWithErrors,\n FactCheck,\n ReadMore,\n AccessTimeOutlined,\n WarningAmberRounded,\n} from \"@mui/icons-material\";\n\nconst StatusIcon = ({ iconType }) => {\n if (iconType === \"P\") {\n return <Edit style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n\n if (iconType === \"S\") {\n return <CheckCircleOutline style={{ fontSize: \"18px\", color: \"blue\" }} />;\n }\n\n if (iconType === \"D\") {\n return <Edit style={{ fontSize: \"18px\", color: \"purple\" }} />;\n }\n\n if (iconType === \"R\") {\n return <CancelOutlined style={{ fontSize: \"18px\", color: \"red\" }} />;\n }\n if (iconType === \"RJ\") {\n return <HighlightOff style={{ fontSize: \"18px\", color: \"red\" }} />;\n }\n\n if (iconType === \"H\") {\n return <PanTool style={{ fontSize: \"18px\", color: \"black\" }} />;\n }\n\n if (iconType === \"A\") {\n return <ThumbUpOutlined style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n if (iconType === \"WD\") {\n return <CancelOutlined style={{ fontSize: \"18px\", color: \"#EF5350\" }} />;\n }\n if (iconType === \"W\") {\n return <WarningOutlined style={{ fontSize: \"18px\", color: \"pink\" }} />;\n }\n if (iconType === \"V\") {\n return <ThumbUpOutlined style={{ fontSize: \"18px\", color: \"#4CAF50\" }} />;\n }\n if (iconType === \"E\") {\n return <ErrorOutline style={{ fontSize: \"18px\", color: \"red\" }} />;\n }\n if (iconType === \"PS\") {\n return <CheckCircle style={{ fontSize: \"18px\", color: \"#3F51B5\" }} />;\n }\n if (iconType === \"PA\") {\n return <ThumbUpOutlined style={{ fontSize: \"18px\", color: \"#4CAF50\" }} />;\n }\n if (iconType === \"PR\") {\n return <ThumbDownOutlined style={{ fontSize: \"18px\", color: \"red\" }} />;\n }\n if (iconType === \"PH\") {\n return <PanTool style={{ fontSize: \"18px\", color: \"#FB8C00\" }} />;\n }\n if (iconType === \"AAA\") {\n return <TaskAlt style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n if (iconType === \"BA\") {\n return <ChecklistRtl style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n if (iconType === \"UR\") {\n return <RateReview style={{ fontSize: \"18px\", color: \"blue\" }} />;\n }\n if (iconType === \"RTS\") {\n return <Verified style={{ fontSize: \"18px\", color: \"blue\" }} />;\n }\n if (iconType === \"RFS\") {\n return <TaskAlt style={{ fontSize: \"18px\", color: \"blue\" }} />;\n }\n if (iconType === \"IA\") {\n return <PlaylistAddCheck style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n if (iconType === \"F\") {\n return <FactCheck style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n if (iconType === \"AARC\") {\n return <Checklist style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n if (iconType === \"AARI\") {\n return <ModelTraining style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n if (iconType === \"BR\") {\n return <Grading style={{ fontSize: \"18px\", color: \"blue\" }} />;\n }\n if (iconType === \"BRC\") {\n return <Grading style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n if (iconType === \"BRI\") {\n return <AlignHorizontalLeft style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n if (iconType === \"CA\") {\n return <MarkChatRead style={{ fontSize: \"18px\", color: \"blue\" }} />;\n }\n if (iconType === \"CRC\") {\n return <MarkChatRead style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n if (iconType === \"CRIP\") {\n return <ArtTrack style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n if (iconType === \"DL\") {\n return <RestoreFromTrash style={{ fontSize: \"18px\", color: \"red\" }} />;\n }\n if (iconType === \"DR\") {\n return <Reviews style={{ fontSize: \"18px\", color: \"blue\" }} />;\n }\n if (iconType === \"DRC\") {\n return <Reviews style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n if (iconType === \"DRI\") {\n return <CreditScore style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n if (iconType === \"N\") {\n return (\n <WarningAmberRounded style={{ fontSize: \"20px\", color: \"orange\" }} />\n );\n }\n if (iconType === \"S\") {\n return <ReadMore style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n if (iconType === \"E\") {\n return <RunningWithErrors style={{ fontSize: \"18px\", color: \"red\" }} />;\n }\n if (iconType === \"V\") {\n return <Grading style={{ fontSize: \"18px\", color: \"green\" }} />;\n }\n if (iconType === \"DF\") {\n return <AccessTimeOutlined style={{ fontSize: \"18px\", color: \"red\" }} />;\n }\n\n return null;\n};\n\nexport default StatusIcon;\n","import React from \"react\";\nimport {\n Autocomplete,\n FormControl,\n TextField,\n CircularProgress,\n} from \"@mui/material\";\n\nconst checkIfError = (msg) => msg && typeof msg === \"string\" && msg.length > 0;\n\nconst StyledAdvanceDropDownList = ({\n variant,\n size,\n id,\n label,\n value,\n onChange,\n options,\n errorMessage,\n disableClearable,\n disabled,\n loading,\n renderOption,\n}) => {\n return (\n <FormControl\n style={{ width: \"100%\", border: \"none\" }}\n error={checkIfError(errorMessage)}\n >\n <Autocomplete\n id={id}\n options={options}\n getOptionLabel={(option) => option.value || \"\"}\n renderOption={renderOption}\n value={\n value && Array.isArray(options) && options.length > 0\n ? options.find((item) => item.id === value)\n : null\n }\n disabled={disabled || loading}\n disableClearable={disableClearable}\n onChange={(e, newValue) => {\n const event = { ...e };\n event.target = { name: id || \"\", value: newValue?.id || \"\" };\n onChange(event);\n }}\n sx={{\n \"& .MuiOutlinedInput-root\": {\n borderRadius: \"12px\",\n backgroundColor: \"#f9fafb\",\n },\n }}\n renderInput={(params) => (\n <>\n {!label ? (\n <label htmlFor={id} style={{ display: \"none\" }}>\n {id}\n </label>\n ) : null}\n <TextField\n {...params}\n label={label}\n variant={variant}\n size={size}\n InputLabelProps={{ shrink: true }}\n inputProps={{\n ...params.inputProps,\n \"aria-labelledby\": id,\n autoComplete: \"new-password\",\n style: {\n fontSize: \"16px\",\n padding: \"10px 12px\",\n },\n }}\n InputProps={{\n ...params.InputProps,\n endAdornment: (\n <>\n {loading ? (\n <CircularProgress color=\"inherit\" size={20} />\n ) : null}\n {params.InputProps.endAdornment}\n </>\n ),\n }}\n />\n </>\n )}\n />\n </FormControl>\n );\n};\n\nStyledAdvanceDropDownList.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n option: [],\n errorMessage: null,\n disabled: false,\n};\n\nexport default StyledAdvanceDropDownList;\n","import { Children, isValidElement, useEffect } from \"react\";\nimport Button from \"@mui/material/Button\";\nimport PropTypes from \"prop-types\";\n\nconst getColorOpacity = (color, opacity) => {\n const colorMap = {\n primary: `#1976d2${opacity}`,\n secondary: `#9c27b0${opacity}`,\n error: `#d32f2f${opacity}`,\n warning: `#ed6c02${opacity}`,\n info: `#0288d1${opacity}`,\n success: `#2e7d32${opacity}`,\n inherit: `#1976d2${opacity}`,\n };\n return colorMap[color] || colorMap.primary;\n};\n\nconst StyledButton = ({\n color = \"primary\",\n variant = \"\",\n disabled = false,\n sx = {},\n ...props\n}) => {\n const extractText = (children) => {\n let text = \"Button\";\n\n Children.forEach(children, (child) => {\n if (typeof child === \"string\" || typeof child === \"number\") {\n text += child;\n } else if (isValidElement(child)) {\n text += extractText(child.props.children) || \"Button\";\n }\n });\n\n return text || \"Button\";\n };\n\n const isCustomStyled =\n !disabled &&\n [\n \"primary\",\n \"secondary\",\n \"error\",\n \"warning\",\n \"info\",\n \"success\",\n \"inherit\",\n \"default\",\n ].includes(color);\n\n const customSx =\n variant === \"outlined\" && isCustomStyled\n ? {\n textTransform: \"capitalize\",\n backgroundColor: getColorOpacity(color, \"20\"),\n \"&:hover\": {\n backgroundColor: getColorOpacity(color, \"35\"),\n },\n ...sx,\n }\n : { textTransform: \"capitalize\", ...sx };\n useEffect(() => {\n if (!props[\"aria-label\"]) {\n if (props.children) {\n props[\"aria-label\"] = extractText(props.children);\n }\n }\n }, [props.children]);\n return (\n <Button\n variant={variant}\n color={color}\n disabled={disabled}\n sx={customSx}\n {...props}\n />\n );\n};\n\nStyledButton.propTypes = {\n color: PropTypes.oneOf([\n \"primary\",\n \"secondary\",\n \"error\",\n \"warning\",\n \"info\",\n \"success\",\n \"inherit\",\n \"default\",\n ]),\n variant: PropTypes.oneOf([\"text\", \"outlined\", \"contained\"]),\n disabled: PropTypes.bool,\n sx: PropTypes.object,\n};\n\nexport default StyledButton;\n","import React, { useState } from \"react\";\nimport FlowImage from \"../images/status-flow.svg\";\nimport { InfoOutlined as InfoOutlinedIcon } from \"@mui/icons-material\";\n\nconst StyledKpiCard = ({\n title = \"\",\n description = \"\",\n count = 0,\n onClick,\n onRedirect,\n}) => {\n const [openModal, setOpenModal] = useState(false);\n const [selectedIndex, setSelectedIndex] = useState(0);\n\n return (\n <div\n style={{\n boxShadow: \"15px 15px 30px #bebebe, -15px -15px 30px #ffffff\",\n }}\n className=\"font-sans bg-white rounded-xl shadow-md overflow-hidden border border-gray-100 hover:shadow-lg transition-shadow duration-200\"\n >\n <div className=\"p-5\">\n <h3 className=\"text-lg font-semibold flex items-center justify-between\">\n {title || \"\"}{\" \"}\n {onClick && (\n <button\n aria-label=\"info\"\n onClick={onClick}\n className=\"flex items-center justify-center p-1 bg-gray-100 hover:bg-gray-200 text-gray-500 rounded-full transition-colors cursor-pointer\"\n >\n <InfoOutlinedIcon sx={{ fontSize: 18 }} />\n </button>\n )}\n </h3>\n <p className=\"text-gray-600 text-sm mb-4 leading-normal\">\n {description || \"\"}\n </p>\n\n <div className=\"flex gap-2 items-center justify-between\">\n <div className=\"text-5xl font-black bg-white bg-opacity-20 rounded-full\">\n {count || 0}\n </div>\n <div>\n <img src={FlowImage} alt=\"\" width={100} />\n </div>\n {onRedirect && (\n <button\n className=\"flex items-center justify-center w-9 h-9 bg-gray-100 hover:bg-gray-200 text-gray-500 rounded-lg transition-colors\"\n title=\"Redirect\"\n onClick={onRedirect}\n aria-label=\"Redirect\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path>\n <polyline points=\"15 3 21 3 21 9\"></polyline>\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line>\n </svg>\n </button>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default StyledKpiCard;\n","import { styled } from \"@mui/material/styles\";\nimport TableCell, { tableCellClasses } from \"@mui/material/TableCell\";\n\nconst StyledLinesBorderedTableCell = styled(TableCell)(({ theme }) => ({\n [`&.${tableCellClasses.head}`]: {\n textAlign: \"center\",\n padding: \"4px 4px 4px 4px\",\n backgroundColor: \"#dfdfdf\",\n fontWeight: \"bold\",\n border: \"1px solid #ccc\",\n borderBottom: \"3px solid #1976d2\",\n },\n [`&.${tableCellClasses.body}`]: {\n padding: \"2px 4px 2px 4px\",\n fontSize: \"12px\",\n color: \"#000000\",\n border: \"1px solid #ccc\",\n },\n [`&.${tableCellClasses.footer}`]: {\n padding: \"4px 4px 4px 4px\",\n border: \"1px solid #ccc\",\n fontWeight: 900,\n fontSize: \"13px\",\n color: \"#000\",\n },\n}));\n\nexport default StyledLinesBorderedTableCell;\n","import React from \"react\";\nimport { TextField, FormControl } from \"@mui/material\";\n\nconst checkIfError = (msg) => msg && typeof msg === \"string\" && msg.length > 0;\n\nconst StyledTextField = ({\n id,\n label,\n value,\n onChange,\n errorMessage,\n variant,\n size,\n disabled,\n placeholder,\n type,\n ...rest\n}) => {\n const formatAmount = (amount) => {\n if (amount === null || amount === undefined || amount === \"\") return \"\";\n const numericAmount = parseFloat(amount);\n if (isNaN(numericAmount)) return amount;\n return numericAmount.toLocaleString(\"en-US\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n };\n\n const displayValue = type === \"amount\" ? formatAmount(value) : value;\n\n const inputProps = {\n readOnly: true,\n ...(type === \"amount\" && {\n startAdornment: (\n <span className=\"text-gray-500 font-semibold mr-1\">$</span>\n ),\n }),\n };\n\n const textAlign = type === \"amount\" || type === \"number\" ? \"right\" : \"left\";\n\n return (\n <FormControl\n style={{ width: \"100%\", border: \"none\" }}\n error={checkIfError(errorMessage)}\n >\n <TextField\n id={id}\n label={label}\n variant={variant}\n size={size}\n value={displayValue}\n onChange={onChange}\n disabled={disabled}\n placeholder={placeholder}\n InputLabelProps={{ shrink: true }}\n InputProps={inputProps}\n sx={{\n \"& .MuiOutlinedInput-root\": {\n borderRadius: \"6px\",\n backgroundColor: \"#f9fafb\",\n cursor: \"default\",\n \"& input\": {\n cursor: \"default\",\n textAlign: textAlign,\n },\n \"&:hover\": {\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"rgba(0, 0, 0, 0.23)\",\n },\n },\n \"&.Mui-focused\": {\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"rgba(0, 0, 0, 0.23)\",\n borderWidth: \"1px\",\n },\n },\n },\n }}\n inputProps={{\n \"aria-labelledby\": id,\n autoComplete: \"off\",\n tabIndex: -1,\n style: {\n fontSize: \"16px\",\n padding: \"14px 12px\",\n textAlign: textAlign,\n },\n }}\n {...rest}\n />\n </FormControl>\n );\n};\n\nStyledTextField.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n errorMessage: null,\n disabled: false,\n};\n\nexport default StyledTextField;\n","import * as React from \"react\";\nimport { styled } from \"@mui/material/styles\";\nimport Switch from \"@mui/material/Switch\";\n\nconst StyledSwitch = styled((props) => {\n const { Checked, onChange, ...otherProps } = props;\n return (\n <Switch\n checked={Checked}\n onChange={onChange}\n focusVisibleClassName=\".Mui-focusVisible\"\n disableRipple\n {...otherProps}\n />\n );\n})(({ theme }) => ({\n width: 42,\n height: 26,\n padding: 0,\n marginRight: \"10px\",\n \"& .MuiSwitch-switchBase\": {\n padding: 0,\n margin: 2,\n transitionDuration: \"300ms\",\n \"&.Mui-checked\": {\n transform: \"translateX(16px)\",\n color: \"#fff\",\n \"& + .MuiSwitch-track\": {\n backgroundColor: \"#1976d2\",\n opacity: 1,\n border: 0,\n ...(theme.palette.mode === \"dark\" && {\n backgroundColor: \"#2ECA45\",\n }),\n },\n \"&.Mui-disabled + .MuiSwitch-track\": {\n opacity: 0.5,\n },\n },\n \"&.Mui-focusVisible .MuiSwitch-thumb\": {\n color: \"#33cf4d\",\n border: \"6px solid #fff\",\n },\n \"&.Mui-disabled .MuiSwitch-thumb\": {\n color: theme.palette.grey[100],\n ...(theme.palette.mode === \"dark\" && {\n color: theme.palette.grey[600],\n }),\n },\n \"&.Mui-disabled + .MuiSwitch-track\": {\n opacity: 0.7,\n ...(theme.palette.mode === \"dark\" && {\n opacity: 0.3,\n }),\n },\n },\n \"& .MuiSwitch-thumb\": {\n boxSizing: \"border-box\",\n width: 22,\n height: 22,\n },\n \"& .MuiSwitch-track\": {\n borderRadius: 13,\n backgroundColor: \"#E9E9EA\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\"], {\n duration: 500,\n }),\n ...(theme.palette.mode === \"dark\" && {\n backgroundColor: \"#39393D\",\n }),\n },\n}));\n\nexport default function CustomizedSwitches(props) {\n return <StyledSwitch {...props} />;\n}\n","import React from \"react\";\nimport { Tab } from \"@mui/material\";\nimport { styled } from \"@mui/material/styles\";\n\nconst StyledTab = styled((props) => <Tab disableRipple {...props} />)({\n textTransform: \"capitalize\",\n border: \"0px solid #0e3253\",\n backgroundColor: \"#fff\",\n fontSize: \"13px\",\n opacity: \"1\",\n color: \"#0e3253\",\n minHeight: \"36px\",\n \"&.Mui-selected\": {\n minHeight: \"36px\",\n color: \"#fff\",\n background: \"#0e3253\",\n },\n \"&.Mui-focusVisible\": {\n backgroundColor: \"#0e3253\", // Corrected missing '#' for the color code\n },\n});\n\nexport default StyledTab;\n","import { styled } from \"@mui/material/styles\";\nimport TableCell, { tableCellClasses } from \"@mui/material/TableCell\";\n\nconst StyledTableCell = styled(TableCell)(({ theme }) => ({\n [`&.${tableCellClasses.head}`]: {\n backgroundColor: \"#dfdfdf\",\n color: theme.palette.common.black,\n fontWeight: \"bold\",\n },\n [`&.${tableCellClasses.body}`]: {\n fontSize: 10,\n },\n}));\n\nexport default StyledTableCell;\n","import { styled } from \"@mui/material/styles\";\nimport { TableSortLabel } from \"@mui/material\";\n\nconst StyledTableSortLabel = styled(TableSortLabel)(({ theme }) => ({\n root: {\n color: \"#fff\",\n },\n \"&:hover\": {\n color: \"#fff !important\",\n },\n \"&.Mui-TableSortLabel\": {\n color: \"#fff !important\",\n },\n \"&.Mui-active\": {\n color: \"#fff\",\n \"& .MuiTableSortLabel-icon\": {\n color: \"#fff !important\",\n },\n },\n}));\n\nexport default StyledTableSortLabel;\n","import React from \"react\";\nimport { styled } from \"@mui/material/styles\";\nimport { Tabs } from \"@mui/material\";\n\nconst StyledTabs = styled((props) => <Tabs {...props} />)(({ theme }) => ({\n textTransform: \"capitalize\",\n border: \"0px solid #e8e8e8\",\n backgroundColor: \"#fff\",\n color: \"#0e3253\",\n minHeight: \"36px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n \"& .MuiTabs-indicator\": {\n justifyContent: \"center\",\n backgroundColor: \"0e3253\",\n },\n}));\n\nexport default StyledTabs;\n","import React from \"react\";\nimport { TextField, FormControl } from \"@mui/material\";\n\nconst checkIfError = (msg) => msg && typeof msg === \"string\" && msg.length > 0;\n\nconst StyledTextField = ({\n id,\n label,\n value,\n onChange,\n errorMessage,\n variant,\n size,\n disabled,\n placeholder,\n ...rest\n}) => {\n return (\n <FormControl\n style={{ width: \"100%\", border: \"none\" }}\n error={checkIfError(errorMessage)}\n >\n <TextField\n id={id}\n label={label}\n variant={variant}\n size={size}\n value={value}\n onChange={onChange}\n disabled={disabled}\n placeholder={placeholder}\n InputLabelProps={{\n shrink: true,\n sx: {\n color: \"#000\",\n fontSize: 18,\n background: \"#fff\",\n px: 0.5,\n zIndex: 1,\n letterSpacing: \"0.5px\",\n },\n }}\n sx={{\n \"& .MuiOutlinedInput-root\": {\n borderRadius: \"6px\",\n // backgroundColor: \"#f9fafb\",\n },\n \"& .MuiInputLabel-root\": {\n color: \"#000\",\n fontSize: 18,\n background: \"#fff\",\n px: 0.5,\n zIndex: 1,\n letterSpacing: \"0.5px\",\n },\n \"& .MuiInputLabel-shrink\": {\n transform: \"translate(11px, -9px) scale(0.75)\",\n background: \"#fff\",\n px: 0.5,\n zIndex: 1,\n },\n }}\n inputProps={{\n \"aria-labelledby\": id,\n autoComplete: \"off\",\n \"data-gramm\": \"false\",\n style: {\n fontSize: \"16px\",\n padding: \"14px 12px\",\n },\n }}\n {...rest}\n />\n </FormControl>\n );\n};\n\nStyledTextField.defaultProps = {\n variant: \"outlined\",\n size: \"small\",\n errorMessage: null,\n disabled: false,\n};\n\nexport default StyledTextField;\n","import React from \"react\";\nimport CheckIcon from \"@mui/icons-material/Check\";\n\nconst SuccessAlert = ({ title, message, alertHandler }) => {\n return (\n <div className=\"transform transition-all duration-500 translate-x-0 opacity-100\">\n {/* for transition => translate-x-full opacity-0 absolute */}\n <div className=\"bg-white rounded-lg shadow-lg overflow-hidden\">\n <div className=\"p-6 py-8\">\n <div className=\"flex items-center justify-center mb-4\">\n <div className=\"relative\">\n <div className=\"w-16 h-16 rounded-full bg-green-100 flex items-center justify-center\">\n <CheckIcon\n className=\"w-8 h-8 text-green-500 animate-check\"\n sx={{ fontSize: 40 }}\n />\n </div>\n <div className=\"absolute inset-0 rounded-full border-4 border-green-500 animate-spin-slow\" />\n </div>\n </div>\n <div className=\"text-center space-y-2\">\n <h2 className=\"text-xl font-semibold text-gray-800\">Success!</h2>\n <p className=\"text-gray-600 font-semibold\">\n Thank you for your patience.\n </p>\n <p className=\"text-sm\"> {message}</p>\n <button\n aria-label=\"alert\"\n onClick={alertHandler}\n className=\"mt-4 px-6 py-2 bg-green-500 text-white rounded-full font-medium hover:bg-green-600 transform hover:scale-105 transition-all duration-200\"\n >\n {title}\n </button>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default SuccessAlert;\n","import React from \"react\";\n\nconst SuccessBlinker = () => {\n return (\n <div className=\"flex justify-center items-center \">\n <div className=\"relative inline-flex\">\n <div className=\"w-3 h-3 bg-green-700 rounded-full\"></div>\n <div className=\"w-3 h-3 bg-green-700 rounded-full absolute top-0 left-0 animate-ping\"></div>\n <div className=\"w-3 h-3 bg-green-700 rounded-full absolute top-0 left-0 animate-pulse\"></div>\n </div>\n </div>\n );\n};\n\nexport default SuccessBlinker;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Check as CheckIcon, Close as CloseIcon } from \"@mui/icons-material\";\nimport LightTooltip from \"../light-tooltip\";\nimport IconButton from \"../icon-button\";\n\n// Inner content (actual modal)\nconst SuccessModalContent = ({\n label,\n title,\n message,\n onClose,\n content,\n buttonText,\n onCancel,\n}) => {\n return (\n <div\n className=\"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black !bg-opacity-40\"\n style={{ zIndex: 1300 }}\n >\n <div className=\"bg-white rounded-lg shadow-lg overflow-hidden relative\">\n <div className=\"p-6 py-8\">\n {/* ✅ Animated Check Icon */}\n <div className=\"flex items-center justify-center mb-4\">\n <div className=\"relative\">\n <div className=\"w-16 h-16 rounded-full bg-green-100 flex items-center justify-center\">\n <CheckIcon\n className=\"w-8 h-8 text-green-500 animate-check\"\n sx={{ fontSize: 40 }}\n />\n </div>\n <div className=\"absolute inset-0 rounded-full border-4 border-green-500 animate-spin-slow\" />\n </div>\n </div>\n\n {/* ✅ Modal text and buttons */}\n <div className=\"text-center space-y-2\">\n {label && (\n <h2 className=\"text-xl font-semibold text-gray-800\">\n {label || \"\"}\n </h2>\n )}\n {title && (\n <p className=\"text-gray-600 font-semibold\">{title || \"\"}</p>\n )}\n {message && <p className=\"text-sm\">{message || \"\"}</p>}\n {content && content}\n\n <button\n aria-label=\"close\"\n onClick={onClose}\n className=\"mt-4 px-6 py-2 bg-green-500 text-white rounded-full font-medium hover:bg-green-600 transform hover:scale-105 transition-all duration-200\"\n >\n {buttonText || \"Continue\"}\n </button>\n\n {onCancel && (\n <LightTooltip title=\"Close\">\n <IconButton\n className=\"!absolute top-2 right-4\"\n sx={{ padding: \"4px\", margin: \"0px 3px\" }}\n size=\"small\"\n onClick={onCancel}\n >\n <CloseIcon style={{ fontSize: \"22px\" }} />\n </IconButton>\n </LightTooltip>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\n// ✅ Portal wrapper\nconst SuccessModal = (props) => {\n return ReactDOM.createPortal(\n <SuccessModalContent {...props} />,\n document.body\n );\n};\n\nexport default SuccessModal;\n","import React from \"react\";\nimport StyledBorderedTableCell from \"./styled-bordered-table-cell\";\nimport InformationIcon from \"./information-icon\";\nimport FormulaIcon from \"./formula-icon\";\n\nconst TableCellWithInfo = ({ title, info, formula, ...cellProps }) => {\n return (\n <StyledBorderedTableCell {...cellProps}>\n {info && <InformationIcon info={info} color=\"#fff\" />}\n {title}\n {formula && <FormulaIcon formula={formula} color=\"#fff\" />}\n </StyledBorderedTableCell>\n );\n};\n\nexport default TableCellWithInfo;\n","import React from \"react\";\n\nconst TableWrapper = ({ children, className, style }) => {\n return (\n <div className={`mb-1 w-full p-3 ${className ? className : \"\"}`}>\n <div className=\"w-full\">{children}</div>\n </div>\n );\n};\n\nexport default TableWrapper;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport Box from \"@mui/material/Box\";\n\nconst TabPanel = (props) => {\n const { children, value, index, ...other } = props;\n\n return (\n <div\n role=\"tabpanel\"\n hidden={value !== index}\n id={`vertical-tabpanel-${index}`}\n aria-labelledby={`vertical-tab-${index}`}\n {...other}\n >\n {value === index && <Box>{children}</Box>}\n </div>\n );\n};\n\nTabPanel.propTypes = {\n children: PropTypes.node,\n index: PropTypes.any.isRequired,\n value: PropTypes.any.isRequired,\n};\n\nexport default TabPanel;\n","import React, { useEffect, useState } from \"react\";\nimport { KeyboardArrowUp as KeyboardArrowUpIcon, KeyboardArrowDown as KeyboardArrowDownIcon } from \"@mui/icons-material\";\n\nconst TeslaStyleScrollIndicator = ({\n rows = 30,\n columns = 4,\n scrollRef,\n onUpClick,\n onDownClick,\n currentPage = 1,\n totalPages = 1,\n}) => {\n const [activeRow, setActiveRow] = useState(0);\n const [dragging, setDragging] = useState(false);\n const [startY, setStartY] = useState(0);\n const [startScroll, setStartScroll] = useState(0);\n\n // Update activeRow on scroll\n useEffect(() => {\n const handleScroll = () => {\n const container = scrollRef.current;\n if (!container) return;\n const scrollTop = container.scrollTop;\n const scrollHeight = container.scrollHeight - container.clientHeight;\n const progress = scrollHeight > 0 ? scrollTop / scrollHeight : 0;\n const currentRow = Math.floor(progress * (rows - 1));\n setActiveRow(currentRow);\n };\n\n const container = scrollRef.current;\n if (!container) return;\n container.addEventListener(\"scroll\", handleScroll);\n return () => container.removeEventListener(\"scroll\", handleScroll);\n }, [scrollRef, rows]);\n\n // Drag logic for the active dots row\n const onActiveRowMouseDown = (e) => {\n e.preventDefault();\n setDragging(true);\n setStartY(e.clientY);\n const container = scrollRef.current;\n setStartScroll(container ? container.scrollTop : 0);\n document.body.style.userSelect = \"none\";\n };\n\n useEffect(() => {\n if (!dragging) return;\n const container = scrollRef.current;\n if (!container) return;\n\n const { scrollHeight, clientHeight } = container;\n const maxScroll = scrollHeight - clientHeight;\n\n const onMouseMove = (e) => {\n const deltaY = e.clientY - startY;\n // Move proportionally to the indicator height\n const indicatorHeight = clientHeight - 20; // 20px for paddings/margins\n const scrollDelta = (deltaY / indicatorHeight) * maxScroll;\n let newScroll = startScroll + scrollDelta;\n newScroll = Math.max(0, Math.min(newScroll, maxScroll));\n container.scrollTop = newScroll;\n };\n\n const onMouseUp = () => {\n setDragging(false);\n document.body.style.userSelect = \"\";\n };\n\n window.addEventListener(\"mousemove\", onMouseMove);\n window.addEventListener(\"mouseup\", onMouseUp);\n return () => {\n window.removeEventListener(\"mousemove\", onMouseMove);\n window.removeEventListener(\"mouseup\", onMouseUp);\n };\n // eslint-disable-next-line\n }, [dragging, startY, startScroll, scrollRef]);\n\n // Keyboard accessibility for active row\n const onActiveRowKeyDown = (e) => {\n const container = scrollRef.current;\n if (!container) return;\n if (e.key === \"ArrowDown\") {\n container.scrollTop += 40;\n } else if (e.key === \"ArrowUp\") {\n container.scrollTop -= 40;\n }\n };\n\n // Render\n return (\n <div className=\"h-full w-12 flex flex-col items-center bg-[#c3c3c3] rounded-md z-50 relative select-none\">\n <div\n className=\"mt-2 cursor-pointer\"\n tabIndex={0}\n role=\"button\"\n onClick={onUpClick}\n aria-label=\"UpClick\"\n >\n <KeyboardArrowUpIcon style={{ color: \"white\", fontSize: 25 }} />\n </div>\n\n {/* Dot grid */}\n <div className=\"flex-1 flex flex-col items-center justify-center gap-[5px] mt-1 relative w-full\">\n {/* Dots */}\n <div className=\"absolute inset-0 flex flex-col items-center justify-center gap-[5px] w-full\">\n {Array.from({ length: rows }).map((_, rowIdx) => {\n const isActive = rowIdx === activeRow;\n return (\n <div\n key={rowIdx}\n className={`flex gap-[4px] w-full justify-center `}\n style={{ cursor: isActive ? \"grab\" : \"default\" }}\n tabIndex={isActive ? 0 : -1}\n role={isActive ? \"slider\" : undefined}\n aria-valuenow={isActive ? activeRow + 1 : undefined}\n aria-valuemin={isActive ? 1 : undefined}\n aria-valuemax={isActive ? rows : undefined}\n onMouseDown={isActive ? onActiveRowMouseDown : undefined}\n onKeyDown={isActive ? onActiveRowKeyDown : undefined}\n >\n {Array.from({ length: columns }).map((_, colIdx) => (\n <div\n key={colIdx}\n className={`w-[4px] h-[4px] rounded-full ${\n isActive ? \"bg-white\" : \"bg-gray-700 opacity-30\"\n }`}\n ></div>\n ))}\n </div>\n );\n })}\n </div>\n </div>\n\n <div\n className=\"mt-2 cursor-pointer\"\n tabIndex={0}\n role=\"button\"\n onClick={onDownClick}\n aria-label=\"DownClick\"\n >\n <KeyboardArrowDownIcon style={{ color: \"white\", fontSize: 25 }} />\n </div>\n </div>\n );\n};\n\nexport default TeslaStyleScrollIndicator;\n","import React from \"react\";\n\nconst TextBox = ({ id, type, label, value, onChange, placeholder, name }) => {\n return (\n <>\n {label ? (\n <label\n htmlFor=\"id\"\n className=\"block text-sm font-medium text-slate-700 text-left mb-1\"\n >\n {label}\n </label>\n ) : null}\n <input\n id={id}\n className=\"mb-2 placeholder:italic placeholder:text-sm md:placeholder:text-base placeholder:pl-7 placeholder:text-slate-400 block bg-white w-full border border-slate-300 rounded-md py-2 pl-3 pr-3 shadow-sm focus:outline-none focus:border-sky-500 focus:ring-sky-500 focus:ring-1 sm:text-sm\"\n placeholder={placeholder}\n type={type}\n name={name}\n value={value}\n onChange={onChange}\n aria-label={label}\n />\n </>\n );\n};\n\nexport default TextBox;\n","import React from \"react\";\n\nconst TextfieldWithIcon = ({ placeholder, value, onChange, icon }) => {\n return (\n <div className=\"w-fit relative\">\n <input\n type=\"text\"\n placeholder={placeholder}\n value={value}\n onChange={onChange}\n className=\"py-1 px-4 pr-10 rounded-md border border-gray-300 focus:border-blue-500 focus:outline-none\"\n />\n <button\n aria-label=\"Previous\"\n type=\"submit\"\n className=\"absolute right-0 top-0 text-gray-600 hover:text-gray-800\"\n style={{ transform: \"translate(-50%, 50%)\" }}\n >\n <img src={icon} alt=\"icon\" className=\"w-4\" />\n </button>\n </div>\n );\n};\n\nexport default TextfieldWithIcon;\n","import React from \"react\";\n\nconst InputBox = ({\n value,\n onChange,\n type = \"text\",\n placeholder = \"\",\n style = {},\n className = \"\",\n multiline = false,\n rows = 4,\n ...rest\n}) => {\n if (multiline) {\n return (\n <textarea\n className={`p-1 rounded bg-[#ffffff] w-full bg-transparent outline-none placeholder:text-gray-500 border ${className}`}\n value={value || \"\"}\n onChange={onChange}\n placeholder={placeholder}\n style={{ boxShadow: \"none\", ...style }}\n rows={rows}\n {...rest}\n />\n );\n }\n\n return (\n <input\n className={`p-1 shadow rounded bg-white border-gray-200 w-full bg-transparent outline-none placeholder:text-gray-400 border ${className}`}\n value={value || \"\"}\n onChange={onChange}\n type={type}\n placeholder={placeholder}\n style={{ boxShadow: \"none\", ...style }}\n {...rest}\n />\n );\n};\n\nexport default InputBox;\n","import React, { useEffect, useMemo, useRef, useState } from \"react\";\nimport IconButton from \"../icon-button\";\nimport { Close as CloseIcon, TableChartOutlined as TableChartOutlinedIcon, GridViewOutlined as GridViewOutlinedIcon, KeyboardArrowLeft as KeyboardArrowLeftIcon, KeyboardArrowRight as KeyboardArrowRightIcon } from \"@mui/icons-material\";\nimport { Grid } from \"@mui/material\";\nimport Button from \"../StyledButton/index\";\nimport { SearchContentWrapper, GenericTitle } from \"@gc360/shared-styleguide\";\nimport SelectionTable from \"./select-with-table\";\n\nconst DropDownWithTable = ({\n data,\n setOpenDetails,\n onChange,\n item,\n value,\n id,\n title,\n loading = false,\n}) => {\n const PAGE_SIZE = 100;\n const [showTable, setShowTable] = useState((data || []).length > 12);\n const [tempData, setTempData] = useState(\n Array.isArray(data) ? [...data] : []\n );\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [currentPage, setCurrentPage] = useState(1);\n const scrollContainerRef = useRef(null);\n const searchInputRef = useRef(null);\n\n const [oldValue, setOldValue] = useState(\"\");\n\n const getSearchText = (item = {}) => {\n const prioritizedText = [\n item?.id,\n item?.value,\n item?.desc,\n item?.name,\n item?.code,\n ]\n .filter(Boolean)\n .join(\" \");\n\n if (prioritizedText) {\n return prioritizedText.toLowerCase();\n }\n\n return Object.values(item || {})\n .filter((v) => v !== null && v !== undefined)\n .join(\" \")\n .toLowerCase();\n };\n\n const getFilteredData = (list = [], term = \"\") => {\n if (!Array.isArray(list)) return [];\n if (!term) return [...list];\n\n const normalizedTerm = term.toLowerCase().trim();\n\n return list.filter((entry) =>\n getSearchText(entry).includes(normalizedTerm)\n );\n };\n\n const handleSearch = (value) => {\n setSearchTerm(value);\n setTempData(getFilteredData(data || [], value));\n };\n\n const handleSelectionChange = (selectedId) => {\n const previousScrollTop = scrollContainerRef.current?.scrollTop || 0;\n const previousPageScrollY = window.scrollY;\n onChange ? onChange(selectedId) : () => {};\n\n // Restore scroll after parent/state updates to avoid selection jump.\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (scrollContainerRef.current) {\n scrollContainerRef.current.scrollTop = previousScrollTop;\n }\n\n window.scrollTo({ top: previousPageScrollY, behavior: \"auto\" });\n\n if (searchInputRef.current) {\n try {\n searchInputRef.current.focus({ preventScroll: true });\n } catch (e) {\n searchInputRef.current.focus();\n }\n }\n });\n });\n };\n\n useEffect(() => {\n setOldValue(id || \"\");\n }, []);\n\n useEffect(() => {\n setShowTable((data || []).length > 12);\n }, [data]);\n\n useEffect(() => {\n if (!Array.isArray(data)) {\n setTempData([]);\n return;\n }\n\n setTempData(getFilteredData(data, searchTerm));\n }, [data, searchTerm]);\n\n useEffect(() => {\n setCurrentPage(1);\n }, [searchTerm, showTable]);\n\n const gridSortedData = useMemo(() => {\n return [...(tempData || [])].sort((a, b) => {\n const aValue = (a?.value || \"\").toString();\n const bValue = (b?.value || \"\").toString();\n return aValue.localeCompare(bValue);\n });\n }, [tempData]);\n\n const sourceData = showTable ? tempData || [] : gridSortedData || [];\n const totalItems = sourceData.length;\n const totalPages = Math.max(1, Math.ceil(totalItems / PAGE_SIZE));\n\n useEffect(() => {\n if (currentPage > totalPages) {\n setCurrentPage(totalPages);\n }\n }, [currentPage, totalPages]);\n\n const pagedData = useMemo(() => {\n const startIndex = (currentPage - 1) * PAGE_SIZE;\n return sourceData.slice(startIndex, startIndex + PAGE_SIZE);\n }, [sourceData, currentPage]);\n\n return (\n <div\n tabIndex={0}\n role=\"button\"\n className=\"select-none fixed top-0 left-0 right-0 bottom-0 w-full h-screen flex items-center justify-center bg-black !bg-opacity-70\"\n style={{ zIndex: 9999 }}\n onClick={() => setOpenDetails(false)}\n onKeyDown={(e) => {\n if (e.key === \"Escape\" || e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n setOpenDetails(false);\n }\n }}\n >\n <div\n tabIndex={0}\n role=\"button\"\n className=\"w-3/5 overflow-hidden mx-auto bg-white rounded shadow-lg\"\n onClick={(e) => e.stopPropagation()}\n >\n <SearchContentWrapper>\n <div className=\"w-full flex justify-between items-center\">\n <GenericTitle>{title}</GenericTitle>\n <div className=\"flex items-center gap-2\">\n <IconButton\n onClick={() => {\n setOpenDetails(false);\n onChange ? onChange(oldValue || \"\") : () => {};\n }}\n >\n <CloseIcon />\n </IconButton>\n </div>\n </div>\n </SearchContentWrapper>\n <div\n ref={scrollContainerRef}\n className=\"max-h-[calc(100vh-225px)] overflow-y-auto bg-[#f7f7f7]\"\n >\n {item?.renderOnModal ? (\n <div className=\"w-full p-3 py-0 mb-2 flex items-center gap-2\">\n {item.renderOnModal(data)}\n </div>\n ) : (\n <div className=\" \">\n <div className=\"w-full p-3 py-0 mb-2 flex items-center justify-end gap-2\">\n <input\n ref={searchInputRef}\n autoFocus\n className={`w-full rounded p-2 border bg-[#ffffff] px-2 text-sm`}\n type=\"text\"\n placeholder=\"Search...\"\n value={searchTerm}\n onChange={\n onChange ? (e) => handleSearch(e.target.value) : () => {}\n }\n style={{ boxShadow: \"none\" }}\n />\n <div className=\"cursor-pointer\">\n {showTable ? (\n <GridViewOutlinedIcon\n color=\"secondary\"\n onClick={() => setShowTable(false)}\n />\n ) : (\n <TableChartOutlinedIcon\n color=\"warning\"\n onClick={() => setShowTable(true)}\n />\n )}\n </div>\n </div>\n\n <div className=\" p-3 \">\n {showTable ? (\n <SelectionTable\n data={pagedData || []}\n onChange={handleSelectionChange}\n value={value}\n item={item}\n id={id}\n setOpenDetails={setOpenDetails}\n loading={loading}\n columns={\n item.columns && item.columns.length > 0\n ? item.columns\n : [\n {\n field: \"id\",\n title: \"Code\",\n },\n {\n field: \"value\",\n title: \"Description\",\n },\n ]\n }\n />\n ) : (\n <>\n {loading ? (\n <div className=\"text-gray-700 px-3\">Loading...</div>\n ) : (pagedData || []).length > 0 ? (\n <Grid container spacing={2} className=\"flex w-full p-3 \">\n {(pagedData || []).map((lookup, index) => (\n <Grid\n key={index}\n item\n xs={6}\n sm={4}\n md={4}\n lg={3}\n className={`flex cursor-pointer relative`}\n >\n {/*eslint-disable-next-line*/}\n <div\n onClick={() => {\n handleSelectionChange(lookup.id);\n }}\n onDoubleClick={() => {\n setOpenDetails(false);\n }}\n className={`text-sm text-center ${\n lookup.id === id\n ? \"bg-blue-700 text-white\"\n : \"bg-[#f9fafa] border\"\n } w-full p-2 rounded min-h-10 flex items-center justify-center`}\n >\n {lookup.value}\n </div>\n </Grid>\n ))}\n </Grid>\n ) : (\n <div className=\"text-gray-700 px-3\">No Data Found.</div>\n )}\n </>\n )}\n </div>\n </div>\n )}\n </div>\n {!loading && totalItems > PAGE_SIZE && (\n <div className=\"px-4 py-2 bg-white border-t flex items-center justify-between gap-2\">\n <div className=\"text-xs text-gray-600\">\n Showing {(currentPage - 1) * PAGE_SIZE + 1}-\n {Math.min(currentPage * PAGE_SIZE, totalItems)} of {totalItems}\n </div>\n <div className=\"flex items-center gap-2\">\n <IconButton\n aria-label=\"previous-page\"\n title=\"Previous page\"\n onClick={() => setCurrentPage((prev) => Math.max(1, prev - 1))}\n disabled={currentPage === 1}\n size=\"small\"\n >\n <KeyboardArrowLeftIcon />\n </IconButton>\n <div className=\"text-xs text-gray-700 min-w-[80px] text-center\">\n Page {currentPage} / {totalPages}\n </div>\n <IconButton\n aria-label=\"next-page\"\n title=\"Next page\"\n onClick={() =>\n setCurrentPage((prev) => Math.min(totalPages, prev + 1))\n }\n disabled={currentPage >= totalPages}\n size=\"small\"\n >\n <KeyboardArrowRightIcon />\n </IconButton>\n </div>\n </div>\n )}\n <Grid className=\"flex gap-2 justify-end p-3\">\n <Button\n variant=\"outlined\"\n color=\"primary\"\n onClick={() => {\n setOpenDetails(false);\n }}\n aria-label=\"ok\"\n >\n Ok\n </Button>\n &nbsp;\n <Button\n onClick={() => {\n // Reset the selected value\n onChange ? onChange(\"\") : null;\n // Clear search input\n setSearchTerm(\"\");\n // Reset tempData to original data\n setTempData(data);\n setOpenDetails(false);\n }}\n variant=\"outlined\"\n color=\"secondary\"\n aria-label=\"Clear\"\n >\n Clear\n </Button>\n &nbsp;\n <Button\n onClick={() => {\n setOpenDetails(false);\n onChange ? onChange(oldValue || \"\") : () => {};\n }}\n variant=\"outlined\"\n color=\"error\"\n aria-label=\"Cancel\"\n >\n Cancel\n </Button>\n &nbsp;\n </Grid>\n </div>\n </div>\n );\n};\n\nexport default DropDownWithTable;\n","import React, { useState } from \"react\";\nimport DropDownWithTable from \"./dropdown-with-table\";\nimport { Checkbox } from \"@mui/material\";\nimport BoldText from \"./bold-text\";\n\nconst TextInputWithLabel = ({\n label,\n value,\n onChange,\n type = \"text\",\n placeholder = \"\",\n style = {},\n className = \"\",\n multiline = false,\n rows = 4,\n iconTitle,\n readOnly,\n render,\n field,\n requestDetails,\n data,\n item,\n id,\n wrapLabel,\n title,\n ...rest\n}) => {\n const [openDetails, setOpenDetails] = useState(false);\n\n const getLookupName = (id, data) => {\n const filteredItems = (data || []).filter(\n (item) => item.lookupValueCode === id\n );\n\n if (filteredItems.length > 0) {\n return `${filteredItems[0].lookupValue}`;\n }\n\n return id;\n };\n\n if (render) {\n return (\n <span className={`w-full grid ${label ? \"grid-cols-2\" : \"grid-cols-1\"}`}>\n {label && (\n <label\n htmlFor={label}\n className=\"text-sm flex 2 items-center flex-wrap\"\n >\n <BoldText className={`${wrapLabel} ? \"\" : !whitespace-normal`}>\n {label}\n </BoldText>\n </label>\n )}\n <span onDoubleClick={() => setOpenDetails(true)}>{render(item)}</span>\n </span>\n );\n }\n\n if (type === \"dropdown\") {\n return (\n <span className={`w-full grid ${label ? \"grid-cols-2\" : \"grid-cols-1\"}`}>\n {label && (\n <label\n htmlFor={label}\n className=\"text-sm flex 2 items-center flex-wrap\"\n >\n <BoldText className={`${wrapLabel} ? \"\" : !whitespace-normal`}>\n {label}\n </BoldText>\n </label>\n )}\n\n <span\n title=\"Double Click to Select the Value\"\n className=\" select-none w-full rounded p-1 border bg-[#ffffff] text-sm cursor-pointer min-h-[30px] overflow-hidden\"\n onDoubleClick={() => setOpenDetails(true)}\n >\n {getLookupName(value, data) || \"\"}\n </span>\n\n {openDetails && (\n <DropDownWithTable\n label={label}\n requestDetails={requestDetails}\n field={field}\n data={data}\n openDetails={openDetails}\n setOpenDetails={setOpenDetails}\n onChange={onChange}\n item={item}\n value={value}\n id={id}\n title={title}\n />\n )}\n </span>\n );\n }\n\n if (type === \"checkbox\") {\n return (\n <div className=\"flex items-center gap-2\">\n <Checkbox size=\"small\" checked={value} onChange={onChange} />\n {label && (\n <label\n htmlFor={label}\n className=\"text-sm flex 2 items-center flex-wrap\"\n >\n <BoldText className={`${wrapLabel} ? \"\" : !whitespace-normal`}>\n {label}\n </BoldText>\n </label>\n )}\n </div>\n );\n }\n\n if (multiline) {\n return (\n <span\n className={`w-full grid gap-2 ${label ? \"grid-cols-2\" : \"grid-cols-1\"}`}\n >\n {label && (\n <label\n htmlFor={label}\n className=\"text-sm flex 2 items-center flex-wrap\"\n >\n <BoldText className={`${wrapLabel} ? \"\" : !whitespace-normal`}>\n {label}\n </BoldText>\n </label>\n )}\n <textarea\n id={label}\n className={`w-full rounded ${\n readOnly\n ? \"bg-none focus:border-none pointer-events-none\"\n : \"p-1 border bg-[#ffffff]\"\n } px-2 text-sm ${className}`}\n value={value || \"\"}\n onChange={onChange}\n placeholder={placeholder}\n style={{ boxShadow: \"none\", ...style }}\n rows={rows}\n {...rest}\n />\n </span>\n );\n }\n\n return (\n <span\n className={`w-full grid ${label ? \"grid-cols-2\" : \"grid-cols-1\"} gap-2`}\n >\n <label htmlFor={label} className=\"text-sm flex 2 items-center\">\n <BoldText className={`${wrapLabel} ? \"\" : !whitespace-normal`}>\n {label}\n </BoldText>\n </label>\n <input\n id={label}\n className={`w-full rounded ${\n readOnly\n ? \"bg-transparent focus:border-none pointer-events-none\"\n : \"p-1 border bg-[#ffffff]\"\n } px-2 text-sm ${className} `}\n value={value || \"\"}\n onChange={onChange}\n type={type}\n placeholder={placeholder}\n style={{ boxShadow: \"none\", ...style }}\n {...rest}\n />\n </span>\n );\n};\n\nexport default TextInputWithLabel;\n","import React from \"react\";\nimport LabelsIcons from \"./labels-icons\";\nimport BlueHeaderText from \"./blue-header-text\";\nconst TextInputWithLabelIcon = ({\n label,\n helperTitle,\n Icon,\n value,\n onChange,\n name,\n multiline,\n ...props\n}) => {\n return (\n <div className=\"flex items-end gap-3 \">\n <span className=\"mt-1 w-full flex flex-col\">\n <label\n htmlFor={label}\n className={`text-base flex items-center ${\n Icon ? \"ml-9\" : \"\"\n } text-gray-600`}\n >\n {label}\n <span>\n <LabelsIcons\n // mandatory={checkIsRequiredFieldData(\n // \"staffer\"\n // )}\n title={\n <>\n Have Problem with{\" \"}\n <BlueHeaderText className=\"text-fill-primary mx-1\">\n {helperTitle || \"\"}\n </BlueHeaderText>{\" \"}\n </>\n }\n />\n </span>\n </label>\n {/* <AccountTreeIcon color=\"warning\" sx={{ fontSize: 22 }} />{\" \"} */}\n <div className=\"flex items-center gap-2 mt-2\">\n {/* {Icon && <span className=\"w-7\">{Icon}</span>} */}\n {multiline ? (\n <textarea\n aria-label={label}\n className=\"min-h-[34px] bg-[#f9fafa] w-full border rounded p-1 text-left px-3 text-[15px]\"\n value={value}\n onChange={onChange}\n name={name || \"\"}\n {...props}\n />\n ) : (\n <input\n aria-label={label}\n className=\"min-h-[34px] bg-[#f9fafa] w-full border rounded p-1 text-left px-3 text-[15px]\"\n value={value}\n name={name || \"\"}\n onChange={onChange}\n {...props}\n />\n )}\n </div>\n </span>\n </div>\n );\n};\n\nexport default TextInputWithLabelIcon;\n","import React, { useState } from \"react\";\nimport { GenericTitle } from \"@gc360/shared-styleguide\";\nimport { Popover } from \"@mui/material\";\nimport MandatoryIndicator from \"./mandatory-indicator\";\nimport { InfoOutlined as InfoOutlinedIcon } from \"@mui/icons-material\";\nimport LightTooltip from \"./light-tooltip\";\nimport TicketIcon from \"../images/ticket_icon.svg\";\nimport DocumentIcon from \"../images/docs.png\";\n\nconst TicketLabelInfoIcons = ({\n title,\n mandatory,\n onCreateTicket = () => {},\n onClickDocument = () => {},\n}) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const openPopover = Boolean(anchorEl);\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n return (\n <span className=\"flex items-center gap-2 ml-1\">\n <span\n role=\"button\"\n tabIndex=\"-1\"\n onClick={(e) => setAnchorEl(e.currentTarget)}\n sx={{ padding: \"0px 2px\" }}\n aria-label=\"info\"\n >\n <InfoOutlinedIcon\n sx={{ fontSize: 16 }}\n tabIndex={-1}\n aria-hidden=\"true\"\n />\n </span>\n <Popover\n id=\"info\"\n open={openPopover}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"left\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"left\",\n }}\n sx={{\n \"& .MuiPaper-root\": {\n maxWidth: \"300px\",\n padding: \"10px\",\n borderLeft: \"5px solid #1976d2\",\n },\n }}\n >\n <div>\n <GenericTitle className=\"flex items-center gap-2 justify-between mb-1\">\n More Info{\" \"}\n <div className=\"flex items-center gap-1\">\n <LightTooltip title=\"Create Ticket\">\n <button aria-label=\"CreateTicket\" onClick={onCreateTicket}>\n <img\n width={20}\n src={TicketIcon}\n alt=\"ticket\"\n className=\"-rotate-90\"\n />\n </button>\n </LightTooltip>\n <LightTooltip title=\"Documentation\">\n <button onClick={onClickDocument} aria-label=\"document\">\n <img width={20} src={DocumentIcon} alt=\"document\" />\n </button>\n </LightTooltip>\n </div>\n </GenericTitle>\n <p className=\"pl-1 text-sm\">{title}</p>\n </div>\n </Popover>\n\n {mandatory && <MandatoryIndicator color={\"primary\"} />}\n </span>\n );\n};\n\nexport default TicketLabelInfoIcons;\n","import React from \"react\";\n// import Button from \"@mui/material/Button\";\nimport Button from \"../Components/StyledButton\";\nimport TuneIcon from \"@mui/icons-material/Tune\";\nimport LightTooltip from \"./light-tooltip\";\n\nfunction ToggleButton({ onClick, showAdvanced }) {\n return (\n <LightTooltip\n title={\n showAdvanced ? \"Hide Additional Filters\" : \"Show Additional Filters\"\n }\n >\n <Button\n variant=\"outlined\"\n aria-label=\"additional filters\"\n size=\"small\"\n onClick={onClick}\n color={showAdvanced ? \"secondary\" : \"primary\"}\n >\n <TuneIcon fontSize=\"small\" />\n </Button>\n </LightTooltip>\n );\n}\n\nexport default ToggleButton;\n","import React from \"react\";\nimport { Slide } from \"@mui/material\";\n\nconst CustomTransition = React.forwardRef(function CustomTransition(\n props,\n ref\n) {\n return <Slide direction=\"up\" ref={ref} {...props} />;\n});\n\nexport default CustomTransition;\n","import React from \"react\";\n\nconst UnauthorizedPage = ({ onClick }) => (\n <div className=\"min-h-screen bg-gray-50 flex flex-col items-center justify-center p-5\">\n <div className=\"max-w-md w-full bg-white rounded-lg shadow-lg overflow-hidden\">\n <div className=\"bg-amber-500 h-2\"></div>\n <div className=\"p-8\">\n <div className=\"flex items-center justify-center mb-6\">\n <div className=\"text-6xl font-bold text-amber-500\">401</div>\n </div>\n <h1 className=\"text-2xl font-semibold text-gray-800 text-center mb-2\">\n Unauthorized\n </h1>\n <p className=\"text-gray-600 text-center mb-6\">\n You don't have permission to access this page. Please log in or\n contact support.\n </p>\n <div className=\"flex justify-center\">\n <button\n aria-label=\"login\"\n onClick={onClick ? onClick : () => (window.location.href = \"/auth\")}\n className=\"px-4 py-2 bg-amber-500 text-white rounded hover:bg-amber-600 transition-colors duration-200 font-medium\"\n >\n Login\n </button>\n </div>\n </div>\n </div>\n </div>\n);\n\nexport default UnauthorizedPage;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { PriorityHighRounded as PriorityHighRoundedIcon } from \"@mui/icons-material\";\n\n// Inner content (actual modal)\nconst ErrorModalContent = ({\n label,\n title,\n message,\n onClose,\n content,\n buttonText,\n}) => {\n return (\n <div\n className=\"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black !bg-opacity-40\"\n style={{ zIndex: 1300 }}\n >\n <div className=\"bg-white rounded-lg shadow-lg overflow-hidden relative\">\n <div className=\"p-6 py-8\">\n {/* ⚠️ Animated Warning Icon */}\n <div className=\"flex items-center justify-center mb-4\">\n <div className=\"relative\">\n <div className=\"w-16 h-16 rounded-full bg-red-100 flex items-center justify-center\">\n <PriorityHighRoundedIcon\n sx={{ fontSize: 30, color: \"#FF9800\" }}\n />\n </div>\n <div className=\"absolute inset-0 rounded-full border-4 border-[#FF9800] animate-spin-slow\" />\n </div>\n </div>\n\n {/* ⚠️ Modal text and buttons */}\n <div className=\"text-center space-y-2\">\n {label && (\n <h2 className=\"text-xl font-semibold text-gray-800\">\n {label || \"\"}\n </h2>\n )}\n {title && (\n <p className=\"text-gray-600 font-semibold\">{title || \"\"}</p>\n )}\n {message && <p className=\"text-sm\">{message || \"\"}</p>}\n {content && content}\n\n <button\n aria-label=\"close\"\n onClick={onClose}\n style={{ backgroundColor: \"#FF9800\" }}\n className=\"mt-4 px-6 py-2 text-white rounded-full font-medium hover:bg-[#e48801] transform hover:scale-105 transition-all duration-200\"\n >\n {buttonText || \"Close\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\n// ✅ Portal wrapper\nconst ErrorModal = (props) => {\n return ReactDOM.createPortal(<ErrorModalContent {...props} />, document.body);\n};\n\nexport default ErrorModal;\n","import React from \"react\";\nimport { Tab } from \"@mui/material\";\nimport { styled } from \"@mui/material/styles\";\n\nconst WhiteStyledTab = styled((props) => <Tab disableRipple {...props} />)({\n textTransform: \"capitalize\",\n border: \"0px solid #0e3253\",\n backgroundColor: \"#fff\",\n fontSize: \"14px\",\n opacity: \"1\",\n color: \"#0e3253\",\n minHeight: \"36px\",\n \"&.Mui-selected\": {\n minHeight: \"36px\",\n color: \"#0e3253\",\n background: \"#ffffff\",\n borderBottom: \"2px solid #1976d2\",\n },\n \"&.Mui-focusVisible\": {\n backgroundColor: \"#0e3253\", // Corrected missing '#' for the color code\n },\n});\n\nexport default WhiteStyledTab;\n","import { TableCell } from \"@mui/material\";\nimport { styled } from \"@mui/material/styles\";\nimport { tableCellClasses } from \"@mui/material/TableCell\";\n\nconst YellowTableCell = styled(TableCell)(({ theme }) => ({\n [`&.${tableCellClasses.head}`]: {\n textAlign: \"center\",\n color: theme.palette.common.white,\n backgroundColor: \"#36ADE1\",\n padding: \"2px\",\n paddingLeft: \"6px\",\n paddingRight: \"6px\",\n fontSize: \"14px\",\n fontWeight: \"bold\",\n border: \"1px solid #fff\",\n },\n [`&.${tableCellClasses.body}`]: {\n color: \"#000\",\n // backgroundColor: \"#c7efff\",\n padding: \"2px\",\n paddingLeft: \"6px\",\n paddingRight: \"6px\",\n fontSize: \"12px\",\n border: \"1px solid #fff\",\n },\n [`&.${tableCellClasses.footer}`]: {\n color: \"#fff\",\n backgroundColor: \"#36ADE1\",\n padding: \"2px\",\n paddingLeft: \"6px\",\n paddingRight: \"6px\",\n fontSize: \"11px\",\n fontWeight: \"bold\",\n border: \"1px solid #fff\",\n },\n}));\n\nexport default YellowTableCell;\n"]}