@ammarkhalidfarooq/dashboard-package 0.5.13 → 0.5.15

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/config/customTheme.js","../src/components/MetricSelector.jsx","../src/components/RevenueChart.jsx","../src/components/UI/RenderChartCard/index.jsx","../src/components/Dashboard.jsx","../src/config/helper.js","../src/components/UI/NewOverview/index.jsx","../src/components/UI/PerformanceSection/index.jsx","../src/components/UI/RecurringDonationAmounts/index.jsx","../src/components/UI/RecurringRevenueSection/index.jsx","../src/components/UI/UTMPerformance/index.jsx","../src/components/UI/DropOffPoints/index.jsx","../src/components/UI/DonorBehavior/index.jsx","../src/components/UI/AbandonedDonationRecovery/index.jsx","../src/config/customColors.js","../src/components/UI/ActiveCampaignsCard/index.jsx","../src/components/UI/DonorMixCard/index.jsx","../src/components/UI/TrafficSourceCard/index.jsx","../src/components/UI/MetricSparklineCard/index.jsx","../src/components/UI/MetricDonutCard/index.jsx","../src/components/UI/DonationTypeBarChart/index.jsx","../src/components/UI/TOPCards/index.jsx","../src/components/UI/RefundsChargebacksCard/index.jsx","../src/components/advanced/MetricCard/index.jsx","../src/components/UI/NewOverview/OverallSection.jsx","../src/components/UI/NewOverview/PaidSection.jsx","../src/components/UI/NewOverview/OrganicSection.jsx","../src/components/UI/EmailTrendCard/index.jsx","../src/components/UI/NewOverview/EmailSection.jsx","../node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.mjs"],"sourcesContent":["import { createTheme } from \"@mui/material/styles\";\r\n\r\nexport const theme = createTheme({\r\n cssVariables: true, // Enable CSS variables for better SSR support\r\n typography: {\r\n fontFamily: [\r\n \"var(--font-league-spartan)\",\r\n \"var(--font-noto-sans-arabic)\", // Added as a fallback for Arabic text\r\n \"-apple-system\",\r\n \"BlinkMacSystemFont\",\r\n \"Segoe UI\",\r\n \"Roboto\",\r\n \"Helvetica Neue\",\r\n \"Arial\",\r\n \"sans-serif\",\r\n \"Apple Color Emoji\",\r\n \"Segoe UI Emoji\",\r\n \"Segoe UI Symbol\",\r\n ].join(\",\"),\r\n },\r\n palette: {\r\n primary: {\r\n main: \"#6363E6\",\r\n mainLight: \"#F7F7FF\",\r\n light: \"#FFFFFF\",\r\n gray: \"#A1A1A8\",\r\n lightGreen: \"#E1FBF2\",\r\n green: \"#0CAB72\",\r\n red: \"#E61D1D\",\r\n lightRed: \"#FFEDED\",\r\n lightGray: \"#E9E9EB\",\r\n darkGray: \"#606062\",\r\n dark: \"#090909\",\r\n },\r\n text: { primary: \"#666666\" },\r\n secondary: {\r\n main: \"#E0C2FF\",\r\n light: \"#F5EBFF\",\r\n // dark: will be calculated from palette.secondary.main,\r\n contrastText: \"#47008F\",\r\n },\r\n white: {\r\n main: \"#FFFFFF\",\r\n light: \"#F8F8F8\",\r\n },\r\n\r\n gradients: {\r\n primary: \"linear-gradient(90deg, #6363E6 0.05%, #59C9F9 99.96%)\",\r\n secondary: \"linear-gradient(180deg, #E9E9FF 0%, #C9EEFF 100%)\",\r\n // You can add more gradients if needed\r\n },\r\n },\r\n});\r\n","import React from 'react';\r\nimport { Button, Menu, MenuItem, Box } from '@mui/material';\r\nimport { MoreHoriz as MoreHorizIcon } from '@mui/icons-material';\r\n\r\nconst MetricSelector = ({ metric, onMetricChange, options = ['Revenue', 'Donations'], label = \"Metric\" }) => {\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const open = Boolean(anchorEl);\r\n\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = (value) => {\r\n if (typeof value === 'string') {\r\n onMetricChange(value);\r\n }\r\n setAnchorEl(null);\r\n };\r\n\r\n return (\r\n <Box sx={{ display: 'flex', gap: 1 }}>\r\n <Button\r\n id=\"metric-button\"\r\n aria-controls={open ? 'metric-menu' : undefined}\r\n aria-haspopup=\"true\"\r\n aria-expanded={open ? 'true' : undefined}\r\n onClick={handleClick}\r\n variant=\"outlined\"\r\n sx={{ \r\n borderRadius: '8px', \r\n borderColor: '#E9E9EB', \r\n color: '#000', \r\n textTransform: 'none',\r\n fontWeight: 600,\r\n px: 2,\r\n height: '40px',\r\n '&:hover': {\r\n borderColor: 'primary.main',\r\n bgcolor: 'rgba(99, 99, 230, 0.04)'\r\n }\r\n }}\r\n >\r\n {label}: {metric}\r\n </Button>\r\n <Menu\r\n id=\"metric-menu\"\r\n anchorEl={anchorEl}\r\n open={open}\r\n onClose={() => handleClose()}\r\n MenuListProps={{\r\n 'aria-labelledby': 'metric-button',\r\n }}\r\n PaperProps={{\r\n sx: {\r\n borderRadius: '8px',\r\n mt: 1,\r\n boxShadow: '0 4px 12px rgba(0,0,0,0.1)',\r\n minWidth: '150px'\r\n }\r\n }}\r\n >\r\n {options.map((option) => (\r\n <MenuItem \r\n key={option} \r\n onClick={() => handleClose(option)} \r\n sx={{ fontWeight: metric === option ? 700 : 400 }}\r\n >\r\n {option}\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default MetricSelector;\r\n","import React from 'react';\r\nimport ReactApexChart from 'react-apexcharts';\r\nimport { useTheme } from '@mui/material/styles';\r\n\r\nconst RevenueChart = ({ metric, data, series, categories, height = 350, stacked = false, type = \"area\", id = \"revenue-chart\", colors, showLegend = true }) => {\r\n const theme = useTheme();\r\n\r\n const isRadial = type === 'donut' || type === 'pie';\r\n\r\n // Base options common to all charts\r\n const baseOptions = {\r\n chart: {\r\n id: id,\r\n type: type,\r\n toolbar: { show: false },\r\n sparkline: { enabled: false },\r\n animations: { enabled: false }\r\n },\r\n colors: colors || [theme.palette.primary.main, '#4B4BC2', '#7E7EE6', '#A3A3F0', '#C8C8FA'],\r\n tooltip: {\r\n theme: 'light',\r\n y: {\r\n formatter: (value) => (metric?.toLowerCase() === 'revenue') ? `$${(value || 0).toLocaleString()}` : (value || 0)\r\n }\r\n }\r\n };\r\n\r\n const radialOptions = {\r\n ...baseOptions,\r\n labels: categories || [],\r\n stroke: { width: 0 },\r\n dataLabels: { enabled: true },\r\n legend: {\r\n show: showLegend,\r\n position: 'bottom',\r\n horizontalAlign: 'center'\r\n },\r\n plotOptions: {\r\n pie: {\r\n donut: {\r\n size: '70%',\r\n labels: {\r\n show: true,\r\n total: {\r\n show: true,\r\n label: 'Total',\r\n formatter: function (w) {\r\n const sum = w.globals.seriesTotals.reduce((a, b) => a + b, 0);\r\n return metric === 'Revenue' ? `$${Math.round(sum).toLocaleString()}` : Math.round(sum).toLocaleString();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n const linearOptions = {\r\n ...baseOptions,\r\n chart: {\r\n ...baseOptions.chart,\r\n stacked: stacked\r\n },\r\n stroke: {\r\n curve: 'smooth',\r\n width: type === 'bar' ? 0 : 2\r\n },\r\n fill: {\r\n type: 'gradient',\r\n gradient: {\r\n shadeIntensity: 1,\r\n opacityFrom: 0.8,\r\n opacityTo: 0.4,\r\n stops: [0, 100]\r\n }\r\n },\r\n xaxis: {\r\n categories: categories || [],\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n tickAmount: 5,\r\n labels: {\r\n rotate: 0,\r\n rotateAlways: false,\r\n hideOverlappingLabels: true,\r\n style: { colors: '#A1A1A8', fontSize: '12px' },\r\n formatter: (val) => {\r\n if (!val || typeof val !== 'string') return val;\r\n const date = new Date(val);\r\n if (isNaN(date.getTime())) return val;\r\n return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric' });\r\n }\r\n }\r\n },\r\n yaxis: {\r\n show: true,\r\n labels: {\r\n style: { colors: '#A1A1A8', fontSize: '12px' },\r\n formatter: (value) => (metric?.toLowerCase() === 'revenue') ? `$${(value || 0).toLocaleString()}` : (value || 0)\r\n }\r\n },\r\n grid: {\r\n show: true,\r\n borderColor: '#f1f1f1',\r\n strokeDashArray: 4,\r\n position: 'back'\r\n },\r\n dataLabels: { enabled: false },\r\n legend: {\r\n show: showLegend && (stacked || (series && series.length > 1)),\r\n position: 'top',\r\n horizontalAlign: 'left'\r\n },\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n columnWidth: '60%'\r\n }\r\n }\r\n };\r\n\r\n const chartOptions = isRadial ? radialOptions : linearOptions;\r\n\r\n // Ensure series is in the correct format for the chart type\r\n let chartSeries = [];\r\n if (isRadial) {\r\n // For donut/pie, series must be a simple array of numbers\r\n const processedData = Array.isArray(data) ? data.map(v => (typeof v === 'object' && v !== null) ? v.value : v) : [];\r\n chartSeries = processedData.length > 0 ? processedData : (series?.[0]?.data || []);\r\n } else {\r\n // For bar/line/area, series must be an array of objects [{ name: '', data: [] }]\r\n const processedData = Array.isArray(data) ? data.map(v => (typeof v === 'object' && v !== null) ? v.value : v) : [];\r\n chartSeries = Array.isArray(series) ? series : [\r\n {\r\n name: metric || \"Value\",\r\n data: processedData\r\n }\r\n ];\r\n }\r\n\r\n return (\r\n <ReactApexChart\r\n key={`${id}-${type}-${chartSeries.length}`}\r\n options={chartOptions}\r\n series={chartSeries}\r\n type={type}\r\n height={height}\r\n width=\"100%\"\r\n />\r\n );\r\n};\r\n\r\nexport default RevenueChart;\r\n","import {\r\n Box,\r\n Card,\r\n CardContent,\r\n Grid,\r\n IconButton,\r\n Typography,\r\n} from \"@mui/material\";\r\nimport RevenueChart from \"../../RevenueChart\";\r\nimport { MoreHoriz as MoreHorizIcon } from \"@mui/icons-material\";\r\nimport MetricSelector from \"../../MetricSelector\";\r\n\r\nconst RenderChartCard = ({\r\n item,\r\n index,\r\n isPrimary = false,\r\n isPremium = false,\r\n metric,\r\n setMetric,\r\n md = 4,\r\n type = \"area\"\r\n}) => {\r\n return (\r\n <Grid\r\n item\r\n xs={12}\r\n md={md}\r\n key={item.label + index}\r\n sx={{ display: \"flex\", paddingTop: \"0px !important\" }}\r\n >\r\n <Card\r\n sx={{\r\n width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <CardContent\r\n sx={{ p: 3, flexGrow: 1, display: \"flex\", flexDirection: \"column\" }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"flex-start\",\r\n mb: isPremium ? 3 : 2,\r\n }}\r\n >\r\n {isPremium ? (\r\n <Box sx={{ textAlign: \"left\" }}>\r\n <Typography\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n mb: 0.2,\r\n }}\r\n >\r\n {item.label}\r\n </Typography>\r\n <Typography\r\n variant=\"caption\"\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 400,\r\n display: \"block\",\r\n mb: 1.5,\r\n }}\r\n >\r\n {item.subtitle || \"Last 30 days - daily aggregation\"}\r\n </Typography>\r\n\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\r\n {item.value && (\r\n <Typography\r\n sx={{ fontWeight: 700, color: \"#000000\", fontSize: \"28px\" }}\r\n >\r\n {typeof item.value === 'object' && item.value !== null\r\n ? (item.value.value !== undefined ? item.value.value : JSON.stringify(item.value))\r\n : item.value}\r\n </Typography>\r\n )}\r\n {(item.trend || \"18%\") && (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n bgcolor: \"#8df3be9a\",\r\n color: \"#054835ff\",\r\n px: 1,\r\n py: 0.5,\r\n borderRadius: \"100px\",\r\n fontSize: \"12px\",\r\n fontWeight: 600,\r\n }}\r\n >\r\n <span>▲</span>\r\n {item.trend || \"18% vs last month\"}\r\n </Box>\r\n )}\r\n </Box>\r\n </Box>\r\n ) : (\r\n <Box sx={{ textAlign: \"left\" }}>\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 600,\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.5px\",\r\n mb: 0.5,\r\n }}\r\n >\r\n {item.label}\r\n </Typography>\r\n {item.value && (\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{ fontWeight: 600, color: \"#000000\", mb: 0.5 }}\r\n >\r\n {typeof item.value === 'object' && item.value !== null\r\n ? (item.value.value !== undefined ? item.value.value : JSON.stringify(item.value))\r\n : item.value}\r\n </Typography>\r\n )}\r\n {item.subValue && (\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{ color: \"#000000\", fontWeight: 600 }}\r\n >\r\n {typeof item.subValue === 'object' && item.subValue !== null\r\n ? JSON.stringify(item.subValue)\r\n : item.subValue}\r\n </Typography>\r\n )}\r\n </Box>\r\n )}\r\n\r\n <Box sx={{ display: \"flex\", gap: 1, alignItems: \"center\" }}>\r\n {item.hideControls ? (\r\n item.series && (\r\n <Box\r\n sx={{\r\n display: { xs: \"none\", sm: \"flex\" },\r\n gap: 2,\r\n alignItems: \"center\",\r\n }}\r\n >\r\n {[\r\n { label: \"Paid Ads\", color: \"#6366F1\" },\r\n { label: \"Organic\", color: \"#10B981\" },\r\n { label: \"Email\", color: \"#06B6D4\" },\r\n ].map((leg) => (\r\n <Box\r\n key={leg.label}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}\r\n >\r\n <Box\r\n sx={{\r\n width: 8,\r\n height: 8,\r\n borderRadius: \"50%\",\r\n bgcolor: leg.color,\r\n }}\r\n />\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0,0,0,0.6)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n {leg.label}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n )\r\n) : (\r\n <>\r\n {item.showSelector && (\r\n <MetricSelector\r\n metric={metric}\r\n onMetricChange={setMetric}\r\n options={[\"Revenue\", \"Donations\"]}\r\n />\r\n )}\r\n <IconButton\r\n sx={{\r\n border: \"1px solid #E9E9EB\",\r\n borderRadius: \"8px\",\r\n color: \"#000\",\r\n height: \"40px\",\r\n width: \"40px\",\r\n \"&:hover\": {\r\n borderColor: \"primary.main\",\r\n bgcolor: \"rgba(99, 99, 230, 0.04)\",\r\n },\r\n }}\r\n >\r\n <MoreHorizIcon sx={{ fontSize: \"1.2rem\" }} />\r\n </IconButton>\r\n </>\r\n )}\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ flexGrow: 1, minHeight: isPrimary ? \"250px\" : \"200px\" }}>\r\n <RevenueChart\r\n id={`${item.label}-${index}`}\r\n metric={\r\n item.label.includes(\"Rate\") ||\r\n item.label.includes(\"Performance\") ||\r\n item.label.includes(\"source\") ||\r\n item.label === \"URL\"\r\n ? \"Percent\"\r\n : item.stacked\r\n ? item.label.includes(\"Traffic\")\r\n ? \"Visitors\"\r\n : \"Donors\"\r\n : metric\r\n }\r\n data={item.data}\r\n series={item.series}\r\n categories={item.categories}\r\n height={isPrimary ? 250 : 200}\r\n stacked={item.stacked}\r\n type={type || item.type || \"area\"}\r\n colors={item.colors}\r\n showLegend={!item.hideControls}\r\n />\r\n {item.hideControls && item.series && (\r\n <Box\r\n sx={{\r\n display: { xs: \"flex\", sm: \"none\" },\r\n justifyContent: \"center\",\r\n gap: 2,\r\n flexWrap: \"wrap\",\r\n mt: 1.5,\r\n }}\r\n >\r\n {[\r\n { label: \"Paid Ads\", color: \"#6366F1\" },\r\n { label: \"Organic\", color: \"#10B981\" },\r\n { label: \"Email\", color: \"#06B6D4\" },\r\n ].map((leg) => (\r\n <Box\r\n key={leg.label}\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 8,\r\n height: 8,\r\n borderRadius: \"50%\",\r\n bgcolor: leg.color,\r\n }}\r\n />\r\n <Typography\r\n sx={{\r\n fontSize: \"11px\",\r\n color: \"rgba(0,0,0,0.6)\",\r\n fontWeight: 500,\r\n marginTop: {xs: \"1px\", sm: 0}\r\n }}\r\n >\r\n {leg.label}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n )}\r\n </Box>\r\n\r\n {item.footer && (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n mt: 2,\r\n pt: 2,\r\n borderTop: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n variant=\"caption\"\r\n sx={{ color: \"#606062\", fontWeight: 600 }}\r\n >\r\n {item.footer.left}\r\n </Typography>\r\n <Typography\r\n variant=\"caption\"\r\n sx={{ color: \"#606062\", fontWeight: 600 }}\r\n >\r\n {item.footer.right}\r\n </Typography>\r\n </Box>\r\n )}\r\n </CardContent>\r\n </Card>\r\n </Grid>\r\n );\r\n};\r\n\r\nexport default RenderChartCard;\r\n","import React, { lazy, Suspense } from \"react\";\r\nimport {\r\n Box,\r\n Typography,\r\n Card,\r\n CardContent,\r\n ThemeProvider,\r\n IconButton,\r\n Grid,\r\n CircularProgress,\r\n} from \"@mui/material\";\r\nimport { MoreHoriz as MoreHorizIcon, Update } from \"@mui/icons-material\";\r\nimport { theme } from \"../config/customTheme\";\r\nimport MetricSelector from \"./MetricSelector\";\r\nimport RevenueChart from \"./RevenueChart\";\r\nimport RenderChartCard from \"./UI/RenderChartCard\";\r\n\r\nconst PerformanceSection = lazy(() => import(\"./UI/PerformanceSection\"));\r\nconst Overview = lazy(() => import(\"./Overview\"));\r\nconst RecurringRevenueSection = lazy(() => import(\"./UI/RecurringRevenueSection\"));\r\nconst RecurringPlans = lazy(() => import(\"./UI/RecurringPlans\"));\r\nconst DonorBehavior = lazy(() => import(\"./UI/DonorBehavior\"));\r\nconst UpdateEmails = lazy(() => import(\"./UI/UpdateEmails\"));\r\nconst NewOverview = lazy(() => import(\"./UI/NewOverview\"));\r\nconst Dashboard = ({\r\n apiData = {},\r\n overviewType = \"overall\",\r\n dateName = \"Last Period\",\r\n exportTrigger = 0\r\n}) => {\r\n\r\n\r\n\r\n\r\n return (\r\n <ThemeProvider theme={theme}>\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <NewOverview apiData={apiData} activeSection={overviewType} dateName={dateName} exportTrigger={exportTrigger} />\r\n </Suspense>\r\n\r\n {/* <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <PerformanceSection apiData={apiData} performanceData={performanceData} />\r\n </Suspense>\r\n\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <RecurringPlans apiData={apiData} />\r\n </Suspense>\r\n\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <RecurringRevenueSection apiData={apiData} />\r\n </Suspense>\r\n\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <DonorBehavior apiData={apiData} />\r\n </Suspense>\r\n\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <UpdateEmails apiData={apiData} />\r\n </Suspense> */}\r\n </ThemeProvider>\r\n );\r\n};\r\n\r\nexport default Dashboard;\r\nexport { MetricSelector, RevenueChart };\r\n","export function formatNumber(num) {\r\n if (num >= 1_000_000_000) {\r\n return (num / 1_000_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"B\";\r\n }\r\n\r\n if (num >= 1_000_000) {\r\n return (num / 1_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"M\";\r\n }\r\n\r\n if (num >= 1_000) {\r\n return (num / 1_000).toFixed(1).replace(/\\.0$/, \"\") + \"K\";\r\n }\r\n\r\n return (num ?? 0).toString();\r\n}","import { Box, Button, Grid, Typography, CircularProgress } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport { useState, lazy, Suspense, useEffect } from \"react\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\nconst OverallSection = lazy(() => import(\"./OverallSection\"));\r\nconst PaidSection = lazy(() => import(\"./PaidSection\"));\r\nconst OrganicSection = lazy(() => import(\"./OrganicSection\"));\r\nconst EmailSection = lazy(() => import(\"./EmailSection\"));\r\n\r\nconst NewOverview = ({ apiData = {}, activeSection: activeSectionProp, dateName = \"Last Period\", exportTrigger = 0 }) => {\r\n const initialMetric = \"Revenue\";\r\n const revenueData = apiData?.revenueData || [\r\n 3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000,\r\n ];\r\n const donationsData = apiData?.donationsData || [\r\n 15, 22, 18, 30, 25, 35, 42, 45, 28,\r\n ];\r\n const categories = apiData?.categories || [\r\n \"Jan\",\r\n \"Feb\",\r\n \"Mar\",\r\n \"Apr\",\r\n \"May\",\r\n \"Jun\",\r\n \"Jul\",\r\n \"Aug\",\r\n \"Sep\",\r\n ];\r\n const [metric, setMetric] = useState(initialMetric);\r\n const [activeSection, setActiveSection] = useState(\"Overall\");\r\n\r\n useEffect(() => {\r\n if (activeSectionProp) {\r\n const capitalized =\r\n activeSectionProp.charAt(0).toUpperCase() +\r\n activeSectionProp.slice(1).toLowerCase();\r\n setActiveSection(capitalized);\r\n }\r\n }, [activeSectionProp]);\r\n\r\n useEffect(() => {\r\n if (exportTrigger <= 0) return;\r\n\r\n const buildAndDownloadPdf = async () => {\r\n try {\r\n const [{ jsPDF }, autoTableModule] = await Promise.all([\r\n import(\"jspdf\"),\r\n import(\"jspdf-autotable\"),\r\n ]);\r\n const autoTable =\r\n autoTableModule.default || autoTableModule.autoTable || autoTableModule;\r\n\r\n const growth = apiData?.overviewStats?.overview?.growthPercentage || {};\r\n const overview = apiData?.overviewStats?.overview || {};\r\n const dateLabel = dateName || \"Last Period\";\r\n const generatedAt = new Date();\r\n const generatedLabel = `${generatedAt.toLocaleDateString()} ${generatedAt.toLocaleTimeString()}`;\r\n const fmtPct = (value, digits = 2) => `${Number(value || 0).toFixed(digits)}%`;\r\n const fmtSigned = (value, suffix = \"\") => {\r\n const numeric = Number(value || 0);\r\n const sign = numeric > 0 ? \"+\" : \"\";\r\n return `${sign}${numeric.toFixed(2)}${suffix}`;\r\n };\r\n\r\n const doc = new jsPDF({ unit: \"pt\", format: \"a4\" });\r\n const pageWidth = doc.internal.pageSize.getWidth();\r\n const marginX = 40;\r\n const contentWidth = pageWidth - marginX * 2;\r\n const cardGap = 10;\r\n const cardWidth = (contentWidth - cardGap * 2) / 3;\r\n\r\n const addHeader = () => {\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setTextColor(17, 24, 39);\r\n doc.setFontSize(18);\r\n doc.text(\"Madinah\", marginX, 34);\r\n doc.setFontSize(10);\r\n doc.setTextColor(75, 85, 99);\r\n doc.text(\"PERFORMANCE REPORT\", marginX, 50);\r\n doc.setTextColor(17, 24, 39);\r\n doc.setFontSize(13);\r\n doc.text(\"Dashboard overview - Overall\", marginX, 72);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(10);\r\n doc.setTextColor(107, 114, 128);\r\n doc.text(`${dateLabel} · 30-day window · Generated ${generatedLabel}`, marginX, 88);\r\n const activeFilters = apiData?.activeFilters || \"\";\r\n if (activeFilters) {\r\n doc.setFontSize(8.5);\r\n doc.setTextColor(55, 65, 81);\r\n doc.text(`ACTIVE FILTERS ${activeFilters}`, marginX, 100);\r\n }\r\n };\r\n\r\n const addFooter = (pageNumber, totalPages) => {\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setTextColor(107, 114, 128);\r\n doc.setFontSize(8.5);\r\n doc.text(\r\n `Confidential · Generated by Dashboard · ${generatedLabel} · Page ${pageNumber} of ${totalPages} · madinah.com`,\r\n marginX,\r\n 818\r\n );\r\n };\r\n\r\n const metricCard = ({ x, y, title, value, trend, detail }) => {\r\n const positive = !`${trend}`.trim().startsWith(\"-\");\r\n doc.setDrawColor(229, 231, 235);\r\n doc.setFillColor(255, 255, 255);\r\n doc.roundedRect(x, y, cardWidth, 96, 6, 6, \"FD\");\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setFontSize(9);\r\n doc.setTextColor(75, 85, 99);\r\n doc.text(title.toUpperCase(), x + 10, y + 16);\r\n doc.setFontSize(17);\r\n doc.setTextColor(17, 24, 39);\r\n doc.text(value, x + 10, y + 42);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(9.5);\r\n doc.setTextColor(...(positive ? [22, 163, 74] : [220, 38, 38]));\r\n doc.text(trend, x + 10, y + 61);\r\n doc.setTextColor(107, 114, 128);\r\n doc.setFontSize(8.5);\r\n doc.text(detail, x + 10, y + 77, { maxWidth: cardWidth - 20 });\r\n };\r\n\r\n const donorMixRaw = apiData?.donorPieChartData;\r\n let newDonorsCount = 0;\r\n let returningDonorsCount = 0;\r\n let avgGift = 0;\r\n if (Array.isArray(donorMixRaw)) {\r\n const newDonorsObj =\r\n donorMixRaw.find((d) => d.type === \"New Donors\" || d.type === \"New donors\") || {};\r\n const returningDonorsObj =\r\n donorMixRaw.find((d) => d.type === \"Returning Donors\" || d.type === \"Returning\") || {};\r\n newDonorsCount = newDonorsObj.totalDonations || 0;\r\n returningDonorsCount = returningDonorsObj.totalDonations || 0;\r\n const totalAmount = (newDonorsObj.totalAmount || 0) + (returningDonorsObj.totalAmount || 0);\r\n const totalCount = newDonorsCount + returningDonorsCount;\r\n avgGift = totalCount > 0 ? Number((totalAmount / totalCount).toFixed(2)) : 0;\r\n } else if (donorMixRaw && typeof donorMixRaw === \"object\") {\r\n newDonorsCount = donorMixRaw.newDonors || 0;\r\n returningDonorsCount = donorMixRaw.returningDonors || 0;\r\n avgGift = donorMixRaw.avgGift || 0;\r\n }\r\n\r\n const activeCampaignRows = (apiData?.activeCampaigns || []).map((campaign) => [\r\n campaign.title || \"Untitled Campaign\",\r\n `$${formatNumber(campaign.collectedAmount || 0)}`,\r\n `${Math.round(((campaign.collectedAmount || 0) / (campaign.usdTargetAmount || 1)) * 100)}%`,\r\n `${formatNumber(campaign.uniqueDonationsCount || 0)}`,\r\n `$${formatNumber(campaign.avgGift || 0)}`,\r\n ]);\r\n\r\n const trafficRows = (apiData?.trafficSourceData?.data || []).map((item) => [\r\n item?.source || item?.name || \"-\",\r\n `${formatNumber(item?.donors || item?.totalDonors || 0)}`,\r\n `$${formatNumber(item?.revenue || item?.raised || 0)}`,\r\n ]);\r\n\r\n const donorMixRows = [\r\n [\"New donors\", `${formatNumber(newDonorsCount)}`],\r\n [\"Returning donors\", `${formatNumber(returningDonorsCount)}`],\r\n [\"Avg gift\", `$${formatNumber(avgGift)}`],\r\n ];\r\n\r\n const refundsData = apiData?.refundAndChargeBacks || {};\r\n const totalRaised = Number(overview?.totalRevenue || 0);\r\n const netRaised = Number(overview?.netRevenue || 0);\r\n const totalDonors = Number(overview?.totalDonations || 0);\r\n const convRate = Number(overview?.conversionRate || 0);\r\n const avgDonation = Number(overview?.overallAVGDonations || 0);\r\n const totalVisits = Number(apiData?.totalVisits || 0);\r\n const passThrough = totalRaised > 0 ? `${((netRaised / totalRaised) * 100).toFixed(1)}% pass-through` : \"0% pass-through\";\r\n const refundRate = Number(refundsData?.refundRate || 0);\r\n const chargebackRate = Number(refundsData?.chargebackRate || 0);\r\n\r\n const page1Cards = [\r\n {\r\n title: \"Total Raised\",\r\n value: `$${formatNumber(totalRaised)}`,\r\n trend: `${fmtSigned(growth?.totalRevenue, \"%\")} vs ${dateLabel}`,\r\n detail: `${passThrough} · ${formatNumber(totalDonors)} donors · $${formatNumber(avgDonation)} avg · ${formatNumber(totalVisits)} visits`,\r\n },\r\n {\r\n title: \"Net Raised\",\r\n value: `$${formatNumber(netRaised)}`,\r\n trend: fmtSigned(growth?.netRevenue, \"%\"),\r\n detail: passThrough,\r\n },\r\n {\r\n title: \"Total Donors\",\r\n value: `${formatNumber(totalDonors)}`,\r\n trend: fmtSigned(growth?.totalDonations, \"%\"),\r\n detail: `${formatNumber(newDonorsCount)} new · ${formatNumber(returningDonorsCount)} returning`,\r\n },\r\n {\r\n title: \"Avg Donation\",\r\n value: `$${formatNumber(avgDonation)}`,\r\n trend: fmtSigned(growth?.overallAVGDonations, \"%\"),\r\n detail: `Median $${formatNumber(apiData?.medianGift || 0)} · top decile $${formatNumber(apiData?.topDecileGift || 0)}`,\r\n },\r\n {\r\n title: \"ROAS\",\r\n value: `${formatNumber(apiData?.roasCard ?? 0)}x`,\r\n trend: fmtSigned(apiData?.roasCardPrev, \"x\"),\r\n detail: `$${formatNumber(apiData?.adSpend || 0)} spend · $${formatNumber(apiData?.attributedRevenue || 0)} attrib.`,\r\n },\r\n {\r\n title: \"Conversion\",\r\n value: fmtPct(convRate, 1),\r\n trend: fmtSigned(growth?.conversionRate, \"pp\"),\r\n detail: `${formatNumber(totalDonors)} from ${formatNumber(totalVisits)} visits`,\r\n },\r\n {\r\n title: \"Refund Rate\",\r\n value: fmtPct(refundRate, 2),\r\n trend: fmtSigned(refundsData?.refundRateChange, \"pp\"),\r\n detail: `${formatNumber(refundsData?.refundCount || 0)} refunds this period`,\r\n },\r\n ];\r\n\r\n addHeader();\r\n let y = 114;\r\n page1Cards.forEach((card, idx) => {\r\n const col = idx % 3;\r\n const row = Math.floor(idx / 3);\r\n metricCard({\r\n x: marginX + col * (cardWidth + cardGap),\r\n y: y + row * (96 + 10),\r\n ...card,\r\n });\r\n });\r\n\r\n let trendY = y + Math.ceil(page1Cards.length / 3) * (96 + 10) + 8;\r\n doc.setDrawColor(229, 231, 235);\r\n doc.roundedRect(marginX, trendY, contentWidth, 130, 6, 6);\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setFontSize(12);\r\n doc.setTextColor(17, 24, 39);\r\n doc.text(\"Total revenue trend\", marginX + 12, trendY + 20);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(9.5);\r\n doc.setTextColor(107, 114, 128);\r\n doc.text(\"Last 30 days · daily aggregation\", marginX + 12, trendY + 35);\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setFontSize(14);\r\n doc.setTextColor(17, 24, 39);\r\n doc.text(`$${formatNumber(totalRaised)}`, marginX + 12, trendY + 58);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(9.5);\r\n doc.setTextColor(22, 163, 74);\r\n doc.text(`${fmtSigned(growth?.totalRevenue, \"%\")} vs ${dateLabel}`, marginX + 110, trendY + 58);\r\n autoTable(doc, {\r\n startY: trendY + 68,\r\n head: [[\"Channel\", \"Total\"]],\r\n body: [\r\n [\"Email\", `$${formatNumber(apiData?.overviewStats?.totalRaised?.email?.reduce?.((s, i) => s + (i?.value || 0), 0) || 0)}`],\r\n [\"Organic\", `$${formatNumber(apiData?.overviewStats?.totalRaised?.organic?.reduce?.((s, i) => s + (i?.value || 0), 0) || 0)}`],\r\n [\"Paid Ads\", `$${formatNumber(apiData?.overviewStats?.totalRaised?.paidAds?.reduce?.((s, i) => s + (i?.value || 0), 0) || 0)}`],\r\n ],\r\n margin: { left: marginX + 12, right: marginX + 12 },\r\n styles: { fontSize: 9, cellPadding: 4 },\r\n headStyles: { fillColor: [241, 245, 249], textColor: [51, 65, 85] },\r\n alternateRowStyles: { fillColor: [248, 250, 252] },\r\n });\r\n addFooter(1, 2);\r\n\r\n doc.addPage();\r\n addHeader();\r\n\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setFontSize(12);\r\n doc.setTextColor(17, 24, 39);\r\n doc.text(\"Active campaigns\", marginX, 112);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(9.5);\r\n doc.setTextColor(107, 114, 128);\r\n doc.text(\"Live fundraisers ranked by velocity\", marginX, 126);\r\n autoTable(doc, {\r\n startY: 136,\r\n head: [[\"CAMPAIGN\", \"RAISED\", \"PROGRESS\", \"DONORS\", \"AVG GIFT\"]],\r\n body: activeCampaignRows.length ? activeCampaignRows : [[\"-\", \"$0\", \"0%\", \"0\", \"$0\"]],\r\n margin: { left: marginX, right: marginX },\r\n styles: { fontSize: 9, cellPadding: 5 },\r\n headStyles: { fillColor: [241, 245, 249], textColor: [51, 65, 85] },\r\n alternateRowStyles: { fillColor: [248, 250, 252] },\r\n });\r\n\r\n const donorCardTop = (doc.lastAutoTable?.finalY || 230) + 14;\r\n doc.setDrawColor(229, 231, 235);\r\n doc.roundedRect(marginX, donorCardTop, 250, 108, 6, 6);\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setFontSize(11);\r\n doc.setTextColor(17, 24, 39);\r\n doc.text(\"Donor mix\", marginX + 10, donorCardTop + 18);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(9);\r\n doc.setTextColor(107, 114, 128);\r\n doc.text(\"Acquisition vs retention\", marginX + 10, donorCardTop + 32);\r\n autoTable(doc, {\r\n startY: donorCardTop + 38,\r\n head: [[\"Type\", \"Value\"]],\r\n body: donorMixRows,\r\n margin: { left: marginX + 10, right: pageWidth - (marginX + 240) },\r\n styles: { fontSize: 9, cellPadding: 4 },\r\n headStyles: { fillColor: [241, 245, 249], textColor: [51, 65, 85] },\r\n });\r\n\r\n autoTable(doc, {\r\n startY: donorCardTop,\r\n head: [[\"SOURCE\", \"DONORS\", \"REVENUE\"]],\r\n body: trafficRows.length > 0 ? trafficRows : [[\"-\", \"0\", \"$0\"]],\r\n margin: { left: marginX + 266, right: marginX },\r\n styles: { fontSize: 9, cellPadding: 5 },\r\n headStyles: { fillColor: [241, 245, 249], textColor: [51, 65, 85] },\r\n alternateRowStyles: { fillColor: [248, 250, 252] },\r\n });\r\n\r\n const miscRows = [\r\n [\"Refunds\", `${formatNumber(refundRate)}%`],\r\n [\"Chargebacks\", `${formatNumber(chargebackRate)}%`],\r\n [\"Order Bump\", `$${formatNumber(apiData?.orderBumpDetails?.totalRevenue || 0)}`],\r\n [\"Upsell Raised\", `$${formatNumber(apiData?.upSellDetails?.raised || 0)}`],\r\n [\"Downsell Raised\", `$${formatNumber(apiData?.downSellDetails?.raised || 0)}`],\r\n [\"Referrals\", `$${formatNumber(apiData?.referralDetails?.totalRevenue || 0)}`],\r\n ];\r\n autoTable(doc, {\r\n startY: (doc.lastAutoTable?.finalY || donorCardTop + 120) + 12,\r\n head: [[\"Additional Blocks\", \"Value\"]],\r\n body: miscRows,\r\n margin: { left: marginX, right: marginX },\r\n styles: { fontSize: 9, cellPadding: 5 },\r\n headStyles: { fillColor: [241, 245, 249], textColor: [51, 65, 85] },\r\n alternateRowStyles: { fillColor: [248, 250, 252] },\r\n });\r\n addFooter(2, 2);\r\n\r\n const safeDate = new Date().toISOString().slice(0, 10);\r\n doc.save(`DashboardOverview_report_${safeDate}.pdf`);\r\n } catch (error) {\r\n // Keep console message for host app debugging when export dependency is missing.\r\n console.error(\"Failed to export overall dashboard PDF:\", error);\r\n }\r\n };\r\n\r\n buildAndDownloadPdf();\r\n }, [exportTrigger]);\r\n\r\n const currentData = metric === \"Revenue\" ? revenueData : donationsData;\r\n const oneTimeData = apiData?.oneTimeDonations || [];\r\n const oneTimeValues =\r\n oneTimeData.length > 0\r\n ? oneTimeData.map((item) => item.value)\r\n : currentData;\r\n const oneTimeCategories =\r\n oneTimeData.length > 0 ? oneTimeData.map((item) => item.date) : categories;\r\n const oneTimeTotal =\r\n oneTimeData.length > 0\r\n ? oneTimeValues.reduce((sum, val) => sum + val, 0)\r\n : 7100;\r\n\r\n const firstInstData = apiData?.firstInstallmentRevenue || [];\r\n const firstInstValues =\r\n firstInstData.length > 0\r\n ? firstInstData.map((item) => item.value)\r\n : currentData.slice(-7);\r\n const firstInstCategories =\r\n firstInstData.length > 0\r\n ? firstInstData.map((item) => item.date)\r\n : categories.slice(-7);\r\n const firstInstTotal =\r\n firstInstData.length > 0\r\n ? firstInstValues.reduce((sum, val) => sum + val, 0)\r\n : 510;\r\n\r\n const totalRevData = Array.isArray(apiData?.totalRevenue)\r\n ? apiData.totalRevenue\r\n : [];\r\n const totalRevValues =\r\n totalRevData.length > 0\r\n ? totalRevData.map((item) => item.value)\r\n : currentData;\r\n const totalRevCategories =\r\n totalRevData.length > 0\r\n ? totalRevData.map((item) => item.date)\r\n : categories;\r\n const totalRevTotal =\r\n totalRevData.length > 0\r\n ? totalRevValues.reduce((sum, val) => sum + val, 0)\r\n : 9200;\r\n\r\n const avgDonData = Array.isArray(apiData?.averageDonation) ? apiData.averageDonation : [];\r\n const avgDonValues = avgDonData.length > 0 ? avgDonData.map(item => item.value) : currentData.map((v) => v * 0.5);\r\n const avgDonCategories = avgDonData.length > 0 ? avgDonData.map(item => item.date) : categories;\r\n const avgDonOverall = avgDonData.length > 0 ? (avgDonValues.reduce((sum, val) => sum + val, 0) / avgDonValues.length) : 42.80;\r\n\r\n const tipData = Array.isArray(apiData?.tipAmount) ? apiData.tipAmount : [];\r\n const tipValues = tipData.length > 0 ? tipData.map(item => item.value) : currentData.map((v) => v * 0.2);\r\n const tipCategories = tipData.length > 0 ? tipData.map(item => item.date) : categories;\r\n const tipTotal = tipData.length > 0 ? tipValues.reduce((sum, val) => sum + val, 0) : 1250;\r\n\r\n const convRateData = Array.isArray(apiData?.conversionRate) ? apiData.conversionRate : [];\r\n const convRateValues = convRateData.length > 0 ? convRateData.map(item => item.value) : [1.5, 1.8, 1.7, 2.1, 2.0, 1.9, 2.2, 2.5, 2.0];\r\n const convRateCategories = convRateData.length > 0 ? convRateData.map(item => item.date) : categories;\r\n const convRateAvg = convRateData.length > 0 ? (convRateValues.reduce((sum, val) => sum + val, 0) / convRateValues.length) : 2.0;\r\n\r\n const organicVisData = Array.isArray(apiData?.organicVisits) ? apiData.organicVisits : [];\r\n const paidVisData = Array.isArray(apiData?.paidVisits) ? apiData.paidVisits : [];\r\n const organicVisValues = organicVisData.length > 0 ? organicVisData.map(item => item.value) : [500, 600, 550, 700, 800, 750, 900, 1000, 950];\r\n const paidVisValues = paidVisData.length > 0 ? paidVisData.map(item => item.value) : [200, 250, 220, 300, 350, 320, 400, 450, 420];\r\n const trafficCategories = organicVisData.length > 0 ? organicVisData.map(item => item.date) : categories;\r\n\r\n const primaryCharts = [\r\n {\r\n label: \"Total Raised\",\r\n value:\r\n totalRevData.length > 0\r\n ? `$${totalRevTotal.toLocaleString()}`\r\n : typeof apiData?.totalRevenue === \"string\"\r\n ? apiData.totalRevenue\r\n : \"$9,200.00\",\r\n subValue: `Total Donations: ${apiData?.totalDonations || 215}`,\r\n data: totalRevValues,\r\n categories: totalRevCategories,\r\n showSelector: true,\r\n },\r\n {\r\n label: \"First installments\",\r\n value: apiData?.firstInstallmentRevenue\r\n ? `$${firstInstTotal.toLocaleString()}`\r\n : \"$510.00\",\r\n data: firstInstValues,\r\n categories: firstInstCategories,\r\n },\r\n {\r\n label: \"One-time donations\",\r\n value: apiData?.oneTimeDonations\r\n ? `$${oneTimeTotal.toLocaleString()}`\r\n : \"$7,100.00\",\r\n data: oneTimeValues,\r\n categories: oneTimeCategories,\r\n },\r\n ];\r\n\r\n const secondaryCharts = [\r\n {\r\n label: \"New vs Returning Donors\",\r\n series: [\r\n { name: \"New Donors\", data: [10, 15, 12, 20, 18, 25, 30, 35, 20] },\r\n { name: \"Returning\", data: [5, 7, 6, 10, 7, 10, 12, 10, 8] },\r\n ],\r\n categories: categories,\r\n stacked: true,\r\n footer: { left: \"New donors: 195\", right: \"Returning donors: 20\" },\r\n },\r\n {\r\n label: \"Average Donation Amount\",\r\n value: apiData?.averageDonation ? `$${avgDonOverall.toFixed(2)}` : \"$42.80\",\r\n data: avgDonValues,\r\n categories: avgDonCategories,\r\n },\r\n {\r\n label: \"Tip Amount\",\r\n value: apiData?.tipAmount ? `$${tipTotal.toLocaleString()}` : \"$1,250.00\",\r\n subValue: `Number of Tips: ${apiData?.totalTips || 110}`,\r\n data: tipValues,\r\n categories: tipCategories,\r\n },\r\n ];\r\n\r\n const tertiaryCharts = [\r\n {\r\n label: \"Conversion Rate\",\r\n value: apiData?.conversionRate ? `${convRateAvg.toFixed(1)}%` : \"2%\",\r\n data: convRateValues,\r\n categories: convRateCategories,\r\n },\r\n {\r\n label: \"Organic vs Paid Traffic\",\r\n series: [\r\n {\r\n name: \"Organic\",\r\n data: organicVisValues,\r\n },\r\n { name: \"Paid\", data: paidVisValues },\r\n ],\r\n categories: trafficCategories,\r\n stacked: true,\r\n },\r\n {\r\n label: \"Organic Donations\",\r\n value: \"120\",\r\n data: [8, 12, 10, 15, 14, 18, 22, 20, 12],\r\n categories: categories,\r\n },\r\n ];\r\n\r\n const quaternaryCharts = [\r\n {\r\n label: \"Email Marketing\",\r\n value: \"56\",\r\n data: [45, 48, 52, 50, 56, 54, 58, 60, 56],\r\n categories: categories,\r\n },\r\n {\r\n label: \"Traffic source\",\r\n value: \"23%\",\r\n data: [18, 22, 20, 25, 23, 21, 24, 26, 23],\r\n categories: categories,\r\n },\r\n {\r\n label: \"URL\",\r\n value: \"10%\",\r\n data: [8, 9, 11, 10, 10, 12, 9, 11, 10],\r\n categories: categories,\r\n },\r\n ];\r\n\r\n return (\r\n <Box sx={{ minHeight: \"100vh\", display: \"flex\", flexDirection: \"column\", alignItems: \"stretch\" }}>\r\n <Suspense\r\n fallback={\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n py: 10,\r\n }}\r\n >\r\n <CircularProgress color=\"primary\" />\r\n </Box>\r\n }\r\n >\r\n {activeSection === \"Overall\" && (\r\n <OverallSection\r\n apiData={apiData}\r\n primaryCharts={primaryCharts}\r\n secondaryCharts={secondaryCharts}\r\n tertiaryCharts={tertiaryCharts}\r\n quaternaryCharts={quaternaryCharts}\r\n dateName={dateName}\r\n />\r\n )}\r\n {activeSection === \"Paid\" && <PaidSection apiData={apiData} />}\r\n {activeSection === \"Organic\" && (\r\n <Box sx={{}}>\r\n <OrganicSection apiData={apiData} />\r\n </Box>\r\n )}\r\n {activeSection === \"Email\" && (\r\n <Box sx={{}}>\r\n <EmailSection />\r\n </Box>\r\n )}\r\n </Suspense>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default NewOverview;\r\n","import Grid from \"@mui/material/Grid\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\n\r\nconst PerformanceSection = ({ title, performanceData = {} }) => {\r\n const revenueData = [3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000];\r\n const visitorsData = [100, 200, 150, 250, 300, 275, 325, 350, 280];\r\n const categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep'];\r\n\r\n const revPerVisData = Array.isArray(performanceData?.revenuePerVisitor) ? performanceData.revenuePerVisitor : [];\r\n const revPerVisValues = revPerVisData.length > 0 ? revPerVisData.map(item => item.value) : revenueData;\r\n const revPerVisCategories = revPerVisData.length > 0 ? revPerVisData.map(item => item.date) : categories;\r\n const revPerVisTotal = revPerVisData.length > 0 ? (revPerVisValues.reduce((sum, val) => sum + val, 0) / revPerVisValues.length) : 5.12;\r\n\r\n const totalVisData = Array.isArray(performanceData?.totalVisits) ? performanceData.totalVisits : [];\r\n const totalVisValues = totalVisData.length > 0 ? totalVisData.map(item => item.value) : visitorsData;\r\n const totalVisCategories = totalVisData.length > 0 ? totalVisData.map(item => item.date) : categories;\r\n const totalVisTotal = totalVisData.length > 0 ? totalVisValues.reduce((sum, val) => sum + val, 0) : 1200;\r\n\r\n const upSellData = Array.isArray(performanceData?.upSellRaisedAmount) ? performanceData.upSellRaisedAmount : [];\r\n const upSellValues = upSellData.length > 0 ? upSellData.map(item => item.value) : revenueData;\r\n const upSellCategories = upSellData.length > 0 ? upSellData.map(item => item.date) : categories;\r\n const upSellTotal = upSellData.length > 0 ? upSellValues.reduce((sum, val) => sum + val, 0) : 11050;\r\n\r\n const downSellData = Array.isArray(performanceData?.downSellRaisedAmount) ? performanceData.downSellRaisedAmount : [];\r\n const downSellValues = downSellData.length > 0 ? downSellData.map(item => item.value) : revenueData;\r\n const downSellCategories = downSellData.length > 0 ? downSellData.map(item => item.date) : categories;\r\n const downSellTotal = downSellData.length > 0 ? downSellValues.reduce((sum, val) => sum + val, 0) : 1200;\r\n\r\n const abandonedData = Array.isArray(performanceData?.abandonedDonationRecoveryCount) ? performanceData.abandonedDonationRecoveryCount : [];\r\n const abandonedValues = abandonedData.length > 0 ? abandonedData.map(item => item.value) : visitorsData;\r\n const abandonedCategories = abandonedData.length > 0 ? abandonedData.map(item => item.date) : categories;\r\n const abandonedTotal = abandonedData.length > 0 ? abandonedValues.reduce((sum, val) => sum + val, 0) : 14;\r\n\r\n const primaryCharts = [\r\n {\r\n label: 'Revenue per Visitor',\r\n value: performanceData?.revenuePerVisitor ? `$${revPerVisTotal.toFixed(2)}` : '$5.12',\r\n data: revPerVisValues,\r\n categories: revPerVisCategories,\r\n },\r\n {\r\n label: 'Visitors',\r\n value: performanceData?.totalVisits ? totalVisTotal.toLocaleString() : '1200',\r\n data: totalVisValues,\r\n categories: totalVisCategories,\r\n },\r\n ];\r\n\r\n const secondaryCharts = [\r\n {\r\n label: 'Upsell Acceptance Rate',\r\n value: '23%',\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n {\r\n label: 'Upsell Raised Amount',\r\n value: performanceData?.upSellRaisedAmount ? `$${upSellTotal.toLocaleString()}` : '$1,1050',\r\n data: upSellValues,\r\n categories: upSellCategories,\r\n },\r\n ]\r\n\r\n const tertiaryCharts = [\r\n {\r\n label: 'Downsell Acceptance Rate',\r\n value: '15%',\r\n data: visitorsData,\r\n categories: categories\r\n },\r\n {\r\n label: 'Downsell Raised Amount',\r\n value: performanceData?.downSellRaisedAmount ? `$${downSellTotal.toLocaleString()}` : '$1,200',\r\n data: downSellValues,\r\n categories: downSellCategories\r\n }\r\n ]\r\n\r\n const quaternaryCharts = [\r\n {\r\n label: 'Abandoned Donation Recovery',\r\n value: performanceData?.abandonedDonationRecoveryCount ? abandonedTotal.toLocaleString() : '14',\r\n data: abandonedValues,\r\n categories: abandonedCategories\r\n },\r\n ]\r\n\r\n return (\r\n <Box sx={{ minHeight: \"100vh\", display: \"flex\", flexDirection: \"column\", alignItems: \"stretch\" }}>\r\n <Box sx={{ display: 'flex' }}>\r\n <Typography variant=\"h4\" gutterBottom sx={{ fontWeight: \"bold\", color: \"primary.dark\", mb: 2, mt: 2 }}>\r\n Performance\r\n </Typography>\r\n </Box>\r\n <Grid container spacing={3} sx={{ mb: 1 }}>\r\n {primaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {secondaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {tertiaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {quaternaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={12} isPremium={true} />)}\r\n </Grid>\r\n </Box>\r\n );\r\n};\r\nexport default PerformanceSection;","import {\r\n Box,\r\n Card,\r\n CardContent,\r\n Typography,\r\n LinearProgress,\r\n} from '@mui/material';\r\n\r\nconst data = [\r\n { range: \"$0 – $12\", plans: 21, share: 24 },\r\n { range: \"$12 – $12\", plans: 14, share: 16 },\r\n { range: \"$12 – $18\", plans: 19, share: 22 },\r\n { range: \"$18 – $28\", plans: 18, share: 21 },\r\n { range: \"$28 and more\", plans: 15, share: 17 },\r\n];\r\n\r\nconst RecurringDonationAmounts = () => {\r\n return (\r\n <Card\r\n sx={{\r\n width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n height: \"100%\",\r\n }}\r\n >\r\n <CardContent sx={{ p: 3 }}>\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n mb: 0.5,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Recurring donation amounts\r\n </Typography>\r\n <Typography\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"13px\",\r\n mb: 3,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Overview of recurring donation plans by amount\r\n </Typography>\r\n\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 2, py: 0.5 }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"100px\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.range}\r\n </Typography>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={item.share}\r\n sx={{\r\n height: 15,\r\n borderRadius: 4,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 4,\r\n bgcolor: \"#6366F1\",\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#111\",\r\n minWidth: \"60px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {`${item.plans} · ${item.share}%`}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n </CardContent>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default RecurringDonationAmounts;\r\n","import { Box, Grid, Typography } from \"@mui/material\"\r\nimport RenderChartCard from \"../RenderChartCard\"\r\nimport RecurringDonationAmounts from \"../RecurringDonationAmounts\"\r\n\r\nconst RecurringRevenueSection = () => {\r\n\r\n const revenueData = [3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000];\r\n const visitorsData = [100, 200, 150, 250, 300, 275, 325, 350, 280];\r\n const categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep'];\r\n\r\n\r\n\r\n const primaryCharts = [\r\n {\r\n label: 'MRR',\r\n value: '$1026.52',\r\n data: revenueData,\r\n categories: categories,\r\n },\r\n {\r\n label: 'MRR growth rate',\r\n value: '24.65%',\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ];\r\n\r\n const secondaryCharts = [\r\n {\r\n label: 'Share of recurring revenue',\r\n value: '21.5%',\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ]\r\n\r\n const tertiaryCharts = [\r\n {\r\n label: 'Average revenue per plan',\r\n value: '$38.44',\r\n data: revenueData,\r\n categories: categories,\r\n },\r\n {\r\n label: 'Churn rate',\r\n value: '5.4%',\r\n data: visitorsData,\r\n categories: categories,\r\n }\r\n ]\r\n\r\n return (\r\n <Box sx={{ minHeight: \"100vh\", display: \"flex\", flexDirection: \"column\", alignItems: \"stretch\" }}>\r\n <Box sx={{ display: 'flex' }}>\r\n <Typography variant=\"h4\" gutterBottom sx={{ fontWeight: \"bold\", color: \"primary.dark\", mb: 2, mt: 2 }}>\r\n Recurring revenue\r\n </Typography>\r\n </Box>\r\n <Grid container spacing={3} sx={{ mb: 1 }}>\r\n {primaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {secondaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n <Grid item xs={12} md={6} sx={{ display: 'flex' }}>\r\n <RecurringDonationAmounts />\r\n </Grid>\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {tertiaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n </Box>\r\n )\r\n}\r\n\r\nexport default RecurringRevenueSection\r\n","import React, { useState } from \"react\";\r\nimport {\r\n Box, Typography, Table, TableBody, TableCell,\r\n TableContainer, TableHead, TableRow, IconButton,\r\n Menu, MenuItem\r\n} from \"@mui/material\";\r\nimport { MoreVert as MoreVertIcon, Check as CheckIcon, MoreHoriz as MoreHorizIcon } from \"@mui/icons-material\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport MetricSelector from \"../../MetricSelector\";\r\n\r\nconst UTM_COLORS = [\r\n \"#1877F2\", // Facebook blue\r\n \"#4267B2\", // FB darker blue\r\n \"#C13584\", // Instagram pink/purple\r\n \"#000000\", // Threads black\r\n];\r\n\r\nconst rawData = [\r\n {\r\n source: \"facebook\",\r\n donations: 156,\r\n totalRaised: 4520.50,\r\n series: {\r\n Revenue: [120, 250, 230, 670, 890, 340, 1221, 780, 900, 230],\r\n Donations: [12, 25, 23, 67, 89, 34, 121, 78, 90, 23]\r\n }\r\n },\r\n {\r\n source: \"fb\",\r\n donations: 89,\r\n totalRaised: 2150.25,\r\n series: {\r\n Revenue: [50, 100, 180, 250, 120, 80, 1150, 220, 450, 300],\r\n Donations: [5, 10, 18, 25, 12, 8, 115, 22, 45, 30]\r\n }\r\n },\r\n {\r\n source: \"ig\",\r\n donations: 245,\r\n totalRaised: 8950.75,\r\n series: {\r\n Revenue: [80, 150, 180, 120, 200, 150, 100, 1180, 250, 400],\r\n Donations: [8, 15, 18, 12, 20, 15, 10, 118, 25, 40]\r\n }\r\n },\r\n {\r\n source: \"th\",\r\n donations: 34,\r\n totalRaised: 850.00,\r\n series: {\r\n Revenue: [20, 50, 80, 120, 50, 1120, 1450, 850, 500, 800],\r\n Donations: [2, 5, 8, 12, 5, 112, 145, 85, 50, 80]\r\n }\r\n },\r\n];\r\n\r\nconst SORT_OPTIONS = [\r\n { label: \"Sort ascending\", value: \"asc\" },\r\n { label: \"Sort descending\", value: \"desc\" },\r\n];\r\n\r\nconst dateCategories = Array.from({ length: 10 }, (_, i) => {\r\n const d = new Date(2024, 2, 16 + i);\r\n return `${d.toLocaleString(\"default\", { month: \"short\" })} ${d.getDate()}`;\r\n});\r\n\r\nconst UTMPerformance = () => {\r\n const [sortMode, setSortMode] = useState(\"desc\");\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n const [metric, setMetric] = useState(\"Revenue\");\r\n const [parameter, setParameter] = useState(\"utm_source\");\r\n\r\n const sortedData = [...rawData].sort((a, b) => {\r\n const valA = metric === \"Revenue\" ? a.totalRaised : a.donations;\r\n const valB = metric === \"Revenue\" ? b.totalRaised : b.donations;\r\n if (sortMode === \"asc\") return valA - valB;\r\n if (sortMode === \"desc\") return valB - valA;\r\n return 0;\r\n });\r\n\r\n const chartSeries = rawData.map((d, i) => ({\r\n name: d.source,\r\n data: d.series[metric],\r\n color: UTM_COLORS[i],\r\n }));\r\n\r\n const chartOptions = {\r\n chart: {\r\n type: \"line\", height: 320, toolbar: { show: false },\r\n zoom: { enabled: false },\r\n animations: { enabled: false },\r\n },\r\n stroke: { curve: \"straight\", width: 1.5 },\r\n colors: UTM_COLORS,\r\n xaxis: {\r\n categories: dateCategories,\r\n tickAmount: 2,\r\n labels: { style: { fontSize: \"11px\", colors: \"#888\" } },\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n },\r\n yaxis: {\r\n opposite: true,\r\n min: 0,\r\n tickAmount: 3,\r\n labels: {\r\n formatter: (v) => metric === \"Revenue\" ? `$${Math.round(v)}` : Math.round(v),\r\n style: { fontSize: \"11px\", colors: \"#888\" },\r\n },\r\n },\r\n grid: { borderColor: \"#f0f0f0\", strokeDashArray: 0, padding: { left: 20 } },\r\n legend: { show: false },\r\n tooltip: {\r\n shared: true,\r\n custom: ({ dataPointIndex, w }) => {\r\n const date = dateCategories[dataPointIndex];\r\n const items = w.config.series.map((s, i) => {\r\n const val = s.data[dataPointIndex];\r\n return `<div style=\"display:flex;justify-content:space-between;gap:24px;padding:3px 0;font-size:12px\">\r\n <span style=\"display:flex;align-items:center;gap:6px\">\r\n <span style=\"display:inline-block;width:8px;height:8px;border-radius:50%;background:${UTM_COLORS[i]}\"></span>\r\n <span style=\"color:#333\">${s.name}</span>\r\n </span>\r\n <span style=\"font-weight:600;color:#111\">${metric === \"Revenue\" ? `$${val.toFixed(2)}` : val}</span>\r\n </div>`;\r\n }).join(\"\");\r\n return `<div style=\"background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:12px 16px;min-width:200px;box-shadow:0 4px 16px rgba(0,0,0,0.08)\">\r\n <div style=\"font-weight:600;font-size:13px;color:#111;margin-bottom:8px\">${date}</div>\r\n ${items}\r\n </div>`;\r\n },\r\n },\r\n markers: { size: 0 },\r\n };\r\n\r\n const BORDER = \"1px solid #f0f0f0\";\r\n const headerCellSx = {\r\n fontWeight: 600, fontSize: \"0.78rem\", color: \"#555\",\r\n borderBottom: \"1.5px solid #e8e8e8\", py: 1.5, px: 2,\r\n bgcolor: \"#fff\",\r\n };\r\n const cellSx = {\r\n fontSize: \"0.85rem\", color: \"#333\",\r\n borderBottom: BORDER, py: 1.5, px: 2,\r\n verticalAlign: \"middle\",\r\n };\r\n\r\n return (\r\n <Box sx={{ mt: 4 }}>\r\n <Typography variant=\"h4\" sx={{ fontWeight: \"bold\", color: \"primary.dark\", mb: 3, textAlign: \"left\" }}>\r\n UTM Parameters\r\n </Typography>\r\n\r\n <Box sx={{ bgcolor: \"#ffffffff\", borderRadius: 4, border: BORDER, boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\", p: 2, overflow: \"hidden\" }}>\r\n <Box sx={{ display: 'flex', justifyContent: 'flex-start', gap: 1, mb: 2 }}>\r\n <MetricSelector\r\n metric={parameter}\r\n onMetricChange={setParameter}\r\n options={[\"utm_source\", \"utm_medium\", \"utm_campaign\", \"utm_content\", \"utm_term\"]}\r\n label=\"Parameter\"\r\n />\r\n <MetricSelector\r\n metric={metric}\r\n onMetricChange={setMetric}\r\n options={[\"Revenue\", \"Donations\"]}\r\n label=\"Metric\"\r\n />\r\n <IconButton\r\n sx={{\r\n border: \"1px solid #E9E9EB\",\r\n borderRadius: \"8px\",\r\n color: \"#000\",\r\n height: \"40px\",\r\n width: \"40px\",\r\n \"&:hover\": {\r\n borderColor: \"primary.main\",\r\n bgcolor: \"rgba(99, 99, 230, 0.04)\",\r\n },\r\n }}\r\n >\r\n <MoreHorizIcon sx={{ fontSize: \"1.2rem\" }} />\r\n </IconButton>\r\n </Box>\r\n <ReactApexChart options={chartOptions} series={chartSeries} type=\"line\" height={320} />\r\n\r\n <TableContainer>\r\n <Table sx={{ borderCollapse: \"collapse\" }}>\r\n <TableHead>\r\n <TableRow>\r\n <TableCell sx={{ ...headerCellSx }}>Parameter values</TableCell>\r\n <TableCell sx={{ ...headerCellSx, textAlign: \"right\" }}>Donations</TableCell>\r\n <TableCell sx={{ ...headerCellSx, textAlign: \"right\" }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", justifyContent: \"flex-end\", gap: 0.5 }}>\r\n Total raised ↓\r\n <IconButton size=\"small\" onClick={(e) => setAnchorEl(e.currentTarget)} sx={{ ml: 0.5, p: 0.3 }}>\r\n <MoreVertIcon fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {sortedData.map((row, i) => {\r\n const colorIdx = rawData.findIndex(d => d.source === row.source);\r\n const color = UTM_COLORS[colorIdx] || \"#ccc\";\r\n return (\r\n <TableRow key={row.source} sx={{ \"&:hover\": { bgcolor: \"#fafafa\" } }}>\r\n <TableCell sx={{ ...cellSx }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\r\n <Box sx={{ width: 20, height: 3, bgcolor: color, borderRadius: 2, flexShrink: 0 }} />\r\n <Typography variant=\"body2\" fontWeight={500}>{row.source}</Typography>\r\n </Box>\r\n </TableCell>\r\n <TableCell sx={{ ...cellSx, textAlign: \"right\" }}>{row.donations}</TableCell>\r\n <TableCell sx={{ ...cellSx, textAlign: \"right\", fontWeight: 600 }}>${row.totalRaised.toFixed(2)}</TableCell>\r\n </TableRow>\r\n );\r\n })}\r\n </TableBody>\r\n </Table>\r\n </TableContainer>\r\n </Box>\r\n\r\n <Menu\r\n anchorEl={anchorEl}\r\n open={Boolean(anchorEl)}\r\n onClose={() => setAnchorEl(null)}\r\n PaperProps={{ sx: { borderRadius: 2, boxShadow: \"0 4px 16px rgba(0,0,0,0.1)\", border: \"1px solid #f0f0f0\", minWidth: 200 } }}\r\n >\r\n {SORT_OPTIONS.map((opt) => (\r\n <MenuItem\r\n key={opt.value}\r\n onClick={() => { setSortMode(opt.value); setAnchorEl(null); }}\r\n sx={{ fontSize: \"13px\", display: \"flex\", justifyContent: \"space-between\", gap: 2 }}\r\n >\r\n {opt.label}\r\n {sortMode === opt.value && <CheckIcon sx={{ fontSize: \"16px\", color: \"primary.main\" }} />}\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default UTMPerformance;\r\n","import { Box, Card, CardContent, Typography, LinearProgress } from \"@mui/material\";\r\n\r\nconst data = [\r\n { step: \"Step 1: Amount Selection\", share: 22 },\r\n { step: \"Step 2: Add Payment\", share: 18 },\r\n { step: \"Step 3: Option Details\", share: 10 },\r\n { step: \"Step 4: Review and Pay\", share: 5 },\r\n];\r\n\r\nconst DropOffPoints = () => {\r\n return (\r\n <Card\r\n sx={{\r\n width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n height: \"100%\",\r\n }}\r\n >\r\n <CardContent sx={{ p: 3 }}>\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n mb: 0.5,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Drop off points in donation flow\r\n </Typography>\r\n <Typography\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"13px\",\r\n mb: 3,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Points where donors exit the donation flow\r\n </Typography>\r\n\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 2, py: 0.5 }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"160px\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.step}\r\n </Typography>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={item.share}\r\n sx={{\r\n height: 15,\r\n borderRadius: 4,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 4,\r\n bgcolor: \"#6366F1\",\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#111\",\r\n minWidth: \"40px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {item.share}%\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n </CardContent>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default DropOffPoints;\r\n","import { Box, Grid, Typography } from \"@mui/material\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport DropOffPoints from \"../DropOffPoints\";\r\n\r\nconst DonorBehavior = () => {\r\n const revenueData = [3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000];\r\n const visitorsData = [100, 200, 150, 250, 300, 275, 325, 350, 280];\r\n const categories = [\r\n \"Jan\",\r\n \"Feb\",\r\n \"Mar\",\r\n \"Apr\",\r\n \"May\",\r\n \"Jun\",\r\n \"Jul\",\r\n \"Aug\",\r\n \"Sep\",\r\n ];\r\n\r\n const primaryCharts = [\r\n {\r\n label: \"Average Donations per Donor\",\r\n value: \"2.1\",\r\n subValue: \"Avg. Donation Amount: $45.20\",\r\n data: revenueData,\r\n categories: categories,\r\n },\r\n {\r\n label: \"Avg Donor Lifetime Value (LTV)\",\r\n value: \"$185.75\",\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ];\r\n\r\n const secondaryCharts = [\r\n {\r\n label: \"New Vs Returning Donors\",\r\n value: \"35%\",\r\n subValue: \"New Donors: 65%\",\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ];\r\n\r\n const tertiaryCharts = [\r\n {\r\n label: \"Repeater donation rate\",\r\n value: \"28%\",\r\n subValue: \"Calculated from 3-month avg\",\r\n data: revenueData,\r\n categories: categories,\r\n },\r\n {\r\n label: \"Time Between Donations\",\r\n value: \"48 days\",\r\n subValue: \"Average for active donors\",\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ];\r\n return (\r\n <Box\r\n sx={{\r\n // p: 4,\r\n // bgcolor: \"primary.mainLight\",\r\n minHeight: \"100vh\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"stretch\",\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\" }}>\r\n <Typography\r\n variant=\"h4\"\r\n gutterBottom\r\n sx={{ fontWeight: \"bold\", color: \"primary.dark\", mb: 2, mt: 2 }}\r\n >\r\n Donor Behavior\r\n </Typography>\r\n </Box>\r\n <Grid container spacing={3} sx={{ mb: 1 }}>\r\n {primaryCharts.map((item, index) => (\r\n <RenderChartCard item={item} index={index} md={6} isPremium={true} />\r\n ))}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n <Grid item xs={12} md={6} sx={{ display: \"flex\" }}>\r\n <DropOffPoints />\r\n </Grid>\r\n {secondaryCharts.map((item, index) => (\r\n <RenderChartCard item={item} index={index} md={6} isPremium={true} />\r\n ))}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {tertiaryCharts.map((item, index) => (\r\n <RenderChartCard item={item} index={index} md={6} isPremium={true} />\r\n ))}\r\n </Grid>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default DonorBehavior;\r\n","import React from \"react\";\r\nimport {\r\n Box, Typography, IconButton, Table, TableBody,\r\n TableCell, TableContainer, TableHead, TableRow,\r\n} from \"@mui/material\";\r\nimport { InfoOutlined, Settings } from \"@mui/icons-material\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\n\r\nconst miniChartOptions = (color = \"#6363e6\") => ({\r\n chart: { type: \"area\", sparkline: { enabled: true }, animations: { enabled: false } },\r\n stroke: { curve: \"smooth\", width: 2 },\r\n fill: { type: \"gradient\", gradient: { shadeIntensity: 0.4, opacityFrom: 5, opacityTo: 5 } },\r\n colors: [color],\r\n tooltip: { enabled: false },\r\n});\r\n\r\nconst MiniChart = ({ data, color }) => (\r\n <ReactApexChart options={miniChartOptions(color)} series={[{ data }]} type=\"area\" width={90} height={40} />\r\n);\r\n\r\nconst rows = [\r\n {\r\n title: \"Reminder 1 (1hr)\",\r\n abandoned: \"1,240\", sent: \"1,240\",\r\n openRate: \"42.1%\", openCount: \"(522)\",\r\n clickRate: \"18.3%\", clickCount: \"(227)\",\r\n recoveryRate: \"8.2%\",\r\n recoveryData: [1, 2, 3, 4, 5, 6, 7, 7, 8],\r\n revenue: \"$3,850\",\r\n revenueData: [2, 3, 4, 5, 4, 6, 5, 7, 6],\r\n recovered: \"102\",\r\n recoveredData: [1, 2, 3, 4, 3, 5, 4, 6, 5],\r\n },\r\n {\r\n title: \"Reminder 2 (24hr)\",\r\n abandoned: \"1,138\", sent: \"1,138\",\r\n openRate: \"31.4%\", openCount: \"(357)\",\r\n clickRate: \"12.6%\", clickCount: \"(143)\",\r\n recoveryRate: \"4.1%\",\r\n recoveryData: [2, 3, 2, 4, 3, 4, 3, 4, 4],\r\n revenue: \"$1,920\",\r\n revenueData: [2, 3, 3, 4, 3, 5, 4, 5, 4],\r\n recovered: \"47\",\r\n recoveredData: [1, 2, 2, 3, 2, 3, 3, 4, 3],\r\n },\r\n {\r\n title: \"Reminder 3 (72hr)\",\r\n abandoned: \"1,091\", sent: \"1,091\",\r\n openRate: \"22.8%\", openCount: \"(249)\",\r\n clickRate: \"8.9%\", clickCount: \"(97)\",\r\n recoveryRate: \"2.3%\",\r\n recoveryData: [1, 2, 1, 2, 2, 2, 3, 2, 3],\r\n revenue: \"$890\",\r\n revenueData: [1, 2, 2, 3, 2, 3, 2, 3, 3],\r\n recovered: \"25\",\r\n recoveredData: [1, 1, 2, 1, 2, 2, 2, 2, 3],\r\n },\r\n];\r\n\r\nconst aggregates = {\r\n abandoned: \"1,240\", sent: \"3,469\", sentData: [2, 3, 4, 5, 4, 6, 5, 7, 8],\r\n openRate: \"32.1%\", openCount: \"(1,128)\", openRateData: [5, 6, 5, 7, 6, 7, 6, 8, 7],\r\n clickRate: \"13.3%\", clickCount: \"(467)\", clickRateData: [3, 4, 5, 4, 5, 4, 5, 5, 6],\r\n recoveryRate: \"14.6%\", recoveryData: [2, 3, 4, 5, 5, 6, 6, 7, 8],\r\n revenue: \"$6,660\", revenueData: [3, 4, 5, 6, 5, 7, 6, 8, 7],\r\n recovered: \"174\", recoveredData: [2, 3, 4, 5, 4, 6, 5, 7, 6],\r\n};\r\n\r\nconst BORDER = \"1px solid #e0e0e0\";\r\n\r\nconst headerCellSx = {\r\n fontWeight: 900, fontSize: \"0.78rem\", color: \"#111\", bgcolor: \"#f3f3f3\",\r\n borderBottom: BORDER, borderRight: BORDER, py: \"20px\", px: \"5px\",\r\n lineHeight: 1.4, textAlign: \"center\", \"&:last-child\": { borderRight: 0 },\r\n};\r\n\r\nconst cellSx = {\r\n fontSize: \"0.85rem\", color: \"#333\", borderBottom: BORDER, borderRight: BORDER,\r\n py: \"10px\", px: \"5px\", verticalAlign: \"middle\", textAlign: \"center\",\r\n \"&:last-child\": { borderRight: 0 },\r\n};\r\n\r\nconst aggCellSx = { ...cellSx, bgcolor: \"#f3f3f3\", fontWeight: 900 };\r\n\r\nconst AbandonedDonationRecovery = () => {\r\n return (\r\n <Box sx={{ bgcolor: \"#fff\", borderRadius: 4, border: \"1px solid #f0f0f0\", boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\", overflow: \"hidden\", width: \"100%\" }}>\r\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", px: 3, py: 2 }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\r\n <Typography variant=\"subtitle2\" sx={{ fontWeight: 600, color: \"#111\" }}>Abandoned Donation Recovery</Typography>\r\n <InfoOutlined sx={{ fontSize: \"1rem\", color: \"#9e9e9e\" }} />\r\n <Settings sx={{ fontSize: \"1rem\", color: \"#9e9e9e\" }} />\r\n </Box>\r\n <IconButton sx={{ border: \"1px solid #E9E9EB\", borderRadius: \"8px\", height: \"36px\", width: \"36px\" }}>\r\n <Settings sx={{ fontSize: \"1.1rem\", color: \"#555\" }} />\r\n </IconButton>\r\n </Box>\r\n\r\n <TableContainer sx={{ pb: 2, overflowX: \"auto\", width: \"100%\", boxSizing: \"border-box\" }}>\r\n <Box sx={{ px: \"25px\" }}>\r\n <Table sx={{ borderCollapse: \"separate\", borderSpacing: 0, border: BORDER, borderRadius: \"12px\", overflow: \"hidden\", width: \"100%\", minWidth: 800 }}>\r\n <TableHead>\r\n <TableRow>\r\n <TableCell sx={{ ...headerCellSx, textAlign: \"left\", minWidth: 160 }}>Reminder Email</TableCell>\r\n <TableCell sx={headerCellSx}>Abandoned Count</TableCell>\r\n <TableCell sx={headerCellSx}>Emails Sent</TableCell>\r\n <TableCell sx={headerCellSx}>Open Rate (No.)</TableCell>\r\n <TableCell sx={headerCellSx}>Click Rate (No.)</TableCell>\r\n <TableCell sx={headerCellSx}>Recovery Rate</TableCell>\r\n <TableCell sx={headerCellSx}>Recovered Revenue</TableCell>\r\n <TableCell sx={headerCellSx}>Recovered Donations</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {rows.map((row, i) => (\r\n <TableRow key={i} sx={{ \"&:hover\": { bgcolor: \"#fafafa\" } }}>\r\n <TableCell sx={{ ...cellSx, textAlign: \"left\", fontWeight: 500 }}>{row.title}</TableCell>\r\n <TableCell sx={cellSx}>{row.abandoned}</TableCell>\r\n <TableCell sx={cellSx}>{row.sent}</TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500}>{row.openRate}</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>{row.openCount}</Typography>\r\n </TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500}>{row.clickRate}</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>{row.clickCount}</Typography>\r\n </TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500} >{row.recoveryRate}</Typography>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={row.recoveryData} /></Box>\r\n </TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500}>{row.revenue}</Typography>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={row.revenueData} /></Box>\r\n </TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500}>{row.recovered}</Typography>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={row.recoveredData} /></Box>\r\n </TableCell>\r\n </TableRow>\r\n ))}\r\n\r\n {/* Aggregates */}\r\n <TableRow sx={{ \"& td\": { borderBottom: 0 } }}>\r\n <TableCell sx={{ ...aggCellSx, textAlign: \"left\" }}>\r\n <Typography variant=\"body2\" fontWeight={700}>Total Aggregates</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\">(Mar 3 - Apr 3)</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}><Typography variant=\"body2\" fontWeight={700}>{aggregates.abandoned}</Typography></TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}><Typography variant=\"body2\" fontWeight={700}>{aggregates.sent}</Typography></Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.sentData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}>\r\n <Typography variant=\"body2\" fontWeight={700}>{aggregates.openRate}</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>{aggregates.openCount}</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.openRateData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}>\r\n <Typography variant=\"body2\" fontWeight={700}>{aggregates.clickRate}</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>{aggregates.clickCount}</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.clickRateData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}><Typography variant=\"body2\" fontWeight={700}>{aggregates.recoveryRate}</Typography></Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.recoveryData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}><Typography variant=\"body2\" fontWeight={700}>{aggregates.revenue}</Typography></Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.revenueData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}><Typography variant=\"body2\" fontWeight={700}>{aggregates.recovered}</Typography></Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.recoveredData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </Box>\r\n </TableContainer>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default AbandonedDonationRecovery;","/**\r\n * Theme colors for server components\r\n *\r\n * These are plain JavaScript objects that can be safely imported\r\n * in both server and client components without triggering\r\n * client-only code in server components.\r\n *\r\n * For client components, use the full theme from @/config/customTheme\r\n */\r\n\r\nexport const themeColors = {\r\n primary: {\r\n main: \"#6363E6\",\r\n mainLight: \"#F7F7FF\",\r\n light: \"#FFFFFF\",\r\n gray: \"#A1A1A8\",\r\n lightGreen: \"#E1FBF2\",\r\n green: \"#0CAB72\",\r\n red: \"#E61D1D\",\r\n lightRed: \"#FFEDED\",\r\n lightGray: \"#E9E9EB\",\r\n darkGray: \"#606062\",\r\n dark: \"#090909\",\r\n },\r\n text: {\r\n primary: \"#666666\",\r\n },\r\n secondary: {\r\n main: \"#E0C2FF\",\r\n light: \"#F5EBFF\",\r\n contrastText: \"#47008F\",\r\n },\r\n white: {\r\n main: \"#FFFFFF\",\r\n light: \"#F8F8F8\",\r\n },\r\n gradients: {\r\n primary: \"linear-gradient(90deg, #6363E6 0.05%, #59C9F9 99.96%)\",\r\n secondary: \"linear-gradient(180deg, #E9E9FF 0%, #C9EEFF 100%)\",\r\n },\r\n};\r\n\r\n// Typography settings for server components\r\nexport const themeTypography = {\r\n fontFamily: [\r\n \"var(--font-league-spartan)\",\r\n \"var(--font-noto-sans-arabic)\",\r\n \"-apple-system\",\r\n \"BlinkMacSystemFont\",\r\n \"Segoe UI\",\r\n \"Roboto\",\r\n \"Helvetica Neue\",\r\n \"Arial\",\r\n \"sans-serif\",\r\n \"Apple Color Emoji\",\r\n \"Segoe UI Emoji\",\r\n \"Segoe UI Symbol\",\r\n ].join(\",\"),\r\n};\r\n","import { Box, Typography, LinearProgress, Avatar } from \"@mui/material\";\r\n\r\nconst ActiveCampaignsCard = ({\r\n title = \"Active campaigns\",\r\n subtitle = \"Live fundraisers ranked by velocity\",\r\n columns = [\"Campaign\", \"Raised\", \"Progress\", \"Donors\", \"Avg gift\",],\r\n rows = [],\r\n gridTemplateColumns = \"3fr 1fr 1.5fr 0.8fr 1fr \",\r\n height\r\n}) => {\r\n return (\r\n <Box\r\n sx={{\r\n bgcolor: \"#fff\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n p: 3,\r\n height: height,\r\n // height: \"100%\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"flex-start\",\r\n mb: 3,\r\n }}\r\n >\r\n <Box>\r\n <Typography\r\n sx={{\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.4)\", mt: 0.2 }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ overflowX: \"auto\" }}>\r\n <Box sx={{ minWidth: \"600px\" }}>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: gridTemplateColumns,\r\n gap: 2,\r\n pb: 2.5,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n {columns.map((header) => (\r\n <Typography\r\n key={header}\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {header}\r\n </Typography>\r\n ))}\r\n </Box>\r\n\r\n <Box sx={{ mt: 1 }}>\r\n {rows.map((row, idx) => (\r\n <Box\r\n key={idx}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: gridTemplateColumns,\r\n gap: 2,\r\n py: 1.2,\r\n alignItems: \"center\",\r\n borderBottom:\r\n idx === rows.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n {/* Column 1: Item with Avatar/Icon */}\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\r\n {row.id && (\r\n <Avatar\r\n sx={{\r\n width: 28,\r\n height: 28,\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n bgcolor: row.avatarBg || \"#F3F4F6\",\r\n color: \"rgb(99, 99, 230)\",\r\n }}\r\n >\r\n {row.id}\r\n </Avatar>\r\n )}\r\n {row.icon && (\r\n <Box\r\n sx={{\r\n color: row.iconColor || \"inherit\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <row.icon sx={{ fontSize: \"18px\" }} />\r\n </Box>\r\n )}\r\n <Typography\r\n sx={{ fontSize: \"12px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {row.name}\r\n </Typography>\r\n </Box>\r\n\r\n {/* Column 2: Value 1 (Spent/Raised) */}\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 600,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {row.val1}\r\n </Typography>\r\n\r\n {/* Column 3: Progress or Value 2 */}\r\n {row.type === \"progress\" ? (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5, }}>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={row.progress}\r\n sx={{\r\n height: 8,\r\n borderRadius: 4,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 4,\r\n bgcolor: row.progressColor || \"rgb(99, 99, 230)\",\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"11px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"30px\",\r\n }}\r\n >\r\n {row.progress}%\r\n </Typography>\r\n </Box>\r\n ) : (\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 600,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {row.val2}\r\n </Typography>\r\n )}\r\n\r\n {/* Column 4: Value 3 or highlighted ROAS */}\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: row.highlightVal3 ? 700 : 500,\r\n color: row.highlightVal3\r\n ? row.val3Color || \"#22C55E\"\r\n : \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {row.val3}\r\n </Typography>\r\n\r\n {/* Column 5: Value 4 */}\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {row.val4}\r\n </Typography>\r\n\r\n {/* Column 6: Status or Trend */}\r\n {columns.length > 5 && (\r\n <Box>\r\n {row.type === \"trend\" ? (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n }}\r\n >\r\n {row.trendType === \"up\" ? (\r\n <>\r\n <Typography sx={{ fontSize: \"14px\", color: \"#22C55E\" }}>\r\n ▲\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"#22C55E\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {row.trendLabel}\r\n </Typography>\r\n </>\r\n ) : (\r\n <>\r\n <Typography sx={{ fontSize: \"14px\", color: \"#EF4444\" }}>\r\n ▼\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"#EF4444\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {row.trendLabel}\r\n </Typography>\r\n </>\r\n )}\r\n </Box>\r\n ) : (\r\n <Box\r\n sx={{\r\n display: \"inline-block\",\r\n px: 1.5,\r\n py: 0.5,\r\n borderRadius: \"100px\",\r\n bgcolor: row.statusBg,\r\n color: row.statusColor,\r\n fontSize: \"11px\",\r\n fontWeight: 700,\r\n textAlign: \"center\",\r\n }}\r\n >\r\n {row.status}\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n </Box>\r\n ))}\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default ActiveCampaignsCard;\r\n","import React from \"react\";\r\nimport { Box, Typography } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\n\r\nconst DonorMixCard = ({\r\n title = \"Donor mix\",\r\n subtitle = \"Acquisition vs retention\",\r\n series = [68, 32],\r\n labels = [\"New donors\", \"Returning\"],\r\n colors = [\"rgb(99, 99, 230)\", \"#10B981\"],\r\n centerLabel = \"donors\",\r\n centerValue = \"215\",\r\n items = [\r\n { label: \"New donors\", val: \"146 · 68%\", color: \"rgb(99, 99, 230)\" },\r\n { label: \"Returning\", val: \"69 · 32%\", color: \"#10B981\" },\r\n ],\r\n showBottomSummary = true,\r\n bottomSummaryValue = \"$130.58\",\r\n bottomSummaryTrend = \"8.4% vs last month\",\r\n sx = {},\r\n}) => {\r\n const chartOptions = {\r\n chart: {\r\n type: \"donut\",\r\n },\r\n labels: labels,\r\n colors: colors,\r\n plotOptions: {\r\n pie: {\r\n donut: {\r\n size: \"75%\",\r\n labels: {\r\n show: true,\r\n name: {\r\n show: true,\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n offsetY: 25,\r\n },\r\n value: {\r\n show: true,\r\n fontSize: \"24px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n offsetY: -15,\r\n formatter: (val) => val,\r\n },\r\n total: {\r\n show: true,\r\n label: centerLabel,\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n formatter: () => centerValue,\r\n },\r\n },\r\n },\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n legend: {\r\n show: false,\r\n },\r\n stroke: {\r\n show: false,\r\n },\r\n states: {\r\n hover: {\r\n filter: {\r\n type: \"none\",\r\n },\r\n },\r\n },\r\n };\r\n\r\n return (\r\n <Box\r\n sx={{\r\n bgcolor: \"#fff\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n p: 3,\r\n // height: \"100%\",\r\n // width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx,\r\n }}\r\n >\r\n <Box sx={{}}>\r\n <Typography\r\n sx={{\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n // mt: 0.2,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n position: \"relative\",\r\n height: \"180px\",\r\n // mb: 1,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n }}\r\n >\r\n <Chart\r\n options={chartOptions}\r\n series={series}\r\n type=\"donut\"\r\n width=\"210\"\r\n />\r\n </Box>\r\n\r\n <Box sx={{}}>\r\n {items.map((item, idx) => (\r\n <Box\r\n key={idx}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n mb: idx === items.length - 1 ? (showBottomSummary ? 1 : 0) : 1,\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\r\n <Box\r\n sx={{\r\n width: 10,\r\n height: 10,\r\n bgcolor: item.color,\r\n borderRadius: \"2px\",\r\n }}\r\n />\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n }}\r\n >\r\n {item.label}\r\n </Typography>\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#111\" }}\r\n >\r\n {item.val}\r\n </Typography>\r\n </Box>\r\n ))}\r\n\r\n {showBottomSummary && (\r\n <Box\r\n sx={{\r\n // display: \"flex\",\r\n // justifyContent: \"space-between\",\r\n // alignItems: \"center\",\r\n pt: 2,\r\n borderTop: \"1px solid #f0f0f0\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\", fontWeight: 500, color: \"rgba(0, 0, 0, 0.4)\",\r\n }}\r\n >\r\n Avg gift\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {bottomSummaryValue}\r\n </Typography>\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n color: \"#22C55E\",\r\n fontSize: \"12px\",\r\n fontWeight: 600,\r\n }}\r\n >\r\n <span>▲</span>\r\n {bottomSummaryTrend}\r\n </Box>\r\n </Box>\r\n )}\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default DonorMixCard;\r\n","import React from \"react\";\r\nimport { Box, Typography, Card, LinearProgress } from \"@mui/material\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\nconst TrafficSourceCard = ({\r\n title = \"Traffic source\",\r\n subtitle = \"Revenue by channel · 30 days\",\r\n trafficSourceData = [],\r\n total = \"$0\",\r\n sx,\r\n}) => {\r\n const paidAdsColor = \"rgb(99, 99, 230)\";\r\n const organicColor = \"#10B981\";\r\n const emailColor = \"#0EA5E9\";\r\n const directColor = \"#94A3B8\";\r\n\r\n const getSourceColor = (source) => {\r\n switch (source) {\r\n case \"Paid Ads\":\r\n return paidAdsColor;\r\n case \"Organic\":\r\n return organicColor;\r\n case \"Email\":\r\n return emailColor;\r\n case \"Direct\":\r\n return directColor;\r\n default:\r\n return \"#CBD5E1\";\r\n }\r\n };\r\n\r\n return (\r\n <Card\r\n sx={{\r\n p: 3,\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n bgcolor: \"#fff\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx,\r\n }}\r\n >\r\n <Box>\r\n <Typography\r\n sx={{\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n mt: 0.5,\r\n mb: 0.5,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1.5fr 2fr\",\r\n gap: 2,\r\n // mb: 1.5,\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n fontWeight: 700,\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n letterSpacing: \"0.05em\",\r\n }}\r\n >\r\n SOURCE\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n fontWeight: 700,\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n letterSpacing: \"0.05em\",\r\n }}\r\n >\r\n REVENUE\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n fontWeight: 700,\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n letterSpacing: \"0.05em\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n SHARE\r\n </Typography>\r\n </Box>\r\n\r\n <Box>\r\n {trafficSourceData?.map((item, index) => {\r\n const shareValue = Number(item.share || 0);\r\n\r\n return (\r\n <Box\r\n key={`${item.source}-${index}`}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1.5fr 2fr\",\r\n gap: 2,\r\n py: 0.75,\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1,\r\n minWidth: 0,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 10,\r\n height: 10,\r\n bgcolor: getSourceColor(item.source),\r\n borderRadius: \"2px\",\r\n flexShrink: 0,\r\n }}\r\n />\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 600,\r\n color: \"rgba(0, 0, 0, 0.7)\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n title={item.source}\r\n >\r\n {item.source}\r\n </Typography>\r\n </Box>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n }}\r\n >\r\n ${formatNumber(item.revenue)}\r\n </Typography>\r\n\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n justifyContent: \"flex-end\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: \"60px\",\r\n flexShrink: 0,\r\n }}\r\n >\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={Math.max(shareValue, 0)}\r\n sx={{\r\n height: 6,\r\n borderRadius: 3,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 3,\r\n bgcolor: getSourceColor(item.source),\r\n },\r\n }}\r\n />\r\n </Box>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n minWidth: \"40px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {shareValue < 1 && shareValue > 0\r\n ? `${shareValue.toFixed(2)}%`\r\n : `${shareValue.toFixed(0)}%`}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n pt: 2,\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n }}\r\n >\r\n Total\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"16px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n }}\r\n >\r\n {total}\r\n </Typography>\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default TrafficSourceCard;","import React from \"react\";\r\nimport { Box, Typography, Card } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\nconst MetricSparklineCard = ({\r\n title,\r\n subtitle,\r\n value,\r\n trend,\r\n trendColor = \"#22C55E\",\r\n chartData = [], // [{ label: \"2026-05-01\", value: 1200 }]\r\n chartColor = \"rgb(99, 99, 230)\",\r\n footerMetrics = [],\r\n sx,\r\n bottomSection = false\r\n}) => {\r\n\r\n // Extract values for chart series\r\n const series = [\r\n {\r\n name: title,\r\n data: chartData.map((item) => item.value),\r\n },\r\n ];\r\n\r\n // Extract labels for x-axis\r\n const categories = chartData.map((item) => item.label);\r\n\r\n const chartOptions = {\r\n chart: {\r\n type: \"area\",\r\n sparkline: { enabled: true },\r\n animations: { enabled: true },\r\n toolbar: { show: false },\r\n },\r\n\r\n xaxis: {\r\n categories,\r\n labels: {\r\n show: false,\r\n },\r\n },\r\n\r\n stroke: {\r\n curve: \"smooth\",\r\n width: 2,\r\n },\r\n\r\n fill: {\r\n type: \"gradient\",\r\n gradient: {\r\n shadeIntensity: 1,\r\n opacityFrom: 0.45,\r\n opacityTo: 0.05,\r\n stops: [20, 100, 100],\r\n },\r\n },\r\n\r\n colors: [chartColor],\r\n\r\n tooltip: {\r\n enabled: true,\r\n theme: \"light\",\r\n\r\n x: {\r\n show: true,\r\n formatter: (_, { dataPointIndex }) => {\r\n return categories[dataPointIndex];\r\n },\r\n },\r\n\r\n y: {\r\n formatter: (val) => {\r\n if (title?.toLowerCase().includes(\"revenue\")) {\r\n return `$${Number(val).toLocaleString()}`;\r\n }\r\n\r\n if (\r\n title?.toLowerCase().includes(\"rate\") ||\r\n title?.toLowerCase().includes(\"bounce\")\r\n ) {\r\n return `${val}%`;\r\n }\r\n\r\n return Number(val).toLocaleString();\r\n },\r\n },\r\n\r\n marker: { show: false },\r\n },\r\n };\r\n\r\n return (\r\n <Card\r\n sx={{\r\n p: 3,\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n bgcolor: \"#fff\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx\r\n }}\r\n >\r\n <Box sx={{ mb: 1 }}>\r\n <Typography\r\n sx={{\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n mt: 0.2,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n mt: 1,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"flex-start\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"24px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n }}\r\n >\r\n {value}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"11px\",\r\n fontWeight: 700,\r\n color: trendColor,\r\n mt: 0.2,\r\n }}\r\n >\r\n {trend}\r\n </Typography>\r\n </Box>\r\n\r\n <Box sx={{ height: 60, mb: 2 }}>\r\n <Chart\r\n options={chartOptions}\r\n series={series}\r\n type=\"area\"\r\n height=\"100%\"\r\n />\r\n\r\n {/* Optional custom visible dates */}\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n mt: 0.5,\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"10px\",\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n }}\r\n >\r\n {categories[0]}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"10px\",\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n }}\r\n >\r\n {categories[Math.floor(categories.length / 2)]}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"10px\",\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n }}\r\n >\r\n {categories[categories.length - 1]}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n mt: \"auto\",\r\n pt: bottomSection ? 1.5 : 3,\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n {footerMetrics.map((m, idx) => (\r\n <Box key={idx} sx={{ textAlign: \"center\" }}>\r\n <Typography\r\n sx={{\r\n fontSize: \"10px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n {m.label}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n }}\r\n >\r\n {`$${formatNumber(m.value)}`}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default MetricSparklineCard;","import React from \"react\";\r\nimport { Box, Typography, Card } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\nimport { TrendingUp, TrendingDown } from \"@mui/icons-material\";\r\n\r\nconst MetricDonutCard = ({\r\n title,\r\n subtitle,\r\n acceptanceRate,\r\n acceptanceVal,\r\n acceptanceTrend,\r\n raisedVal,\r\n raisedTrend,\r\n chartColors = [\"rgb(99, 99, 230)\", \"#88bfd290\"],\r\n sx,\r\n}) => {\r\n const chartOptions = {\r\n chart: {\r\n type: \"radialBar\",\r\n sparkline: { enabled: true },\r\n },\r\n plotOptions: {\r\n radialBar: {\r\n hollow: { size: \"45%\" },\r\n track: {\r\n background: chartColors[1] || \"#f0f0f0\",\r\n strokeWidth: \"100%\",\r\n },\r\n dataLabels: {\r\n name: {\r\n show: true,\r\n fontSize: \"11px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n offsetY: 15,\r\n },\r\n value: {\r\n show: true,\r\n fontSize: \"18px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n offsetY: -15,\r\n formatter: () => acceptanceRate + \"%\",\r\n },\r\n }\r\n }\r\n },\r\n stroke: { lineCap: \"butt\" },\r\n colors: [chartColors[0]],\r\n labels: [\"accepted\"],\r\n tooltip: {\r\n enabled: true,\r\n theme: \"dark\",\r\n y: {\r\n formatter: (val) => `${val}%`,\r\n }\r\n }\r\n };\r\n\r\n const series = [acceptanceRate];\r\n\r\n return (\r\n <Card\r\n sx={{\r\n p: 3,\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n bgcolor: \"#fff\",\r\n // height: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx\r\n }}\r\n >\r\n <Box sx={{}}>\r\n <Typography sx={{ fontWeight: 700, fontSize: \"16px\", color: \"#000\", textAlign: \"left\" }}>\r\n {title}\r\n </Typography>\r\n <Typography sx={{ fontSize: \"12px\", color: \"rgba(0, 0, 0, 0.4)\", mt: 0.2, textAlign: \"left\" }}>\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n\r\n <Box sx={{ height: 160, position: \"relative\", mt: 1, display: \"flex\", justifyContent: \"center\" }}>\r\n <Chart options={chartOptions} series={series} type=\"radialBar\" width=\"100%\" height=\"100%\" />\r\n </Box>\r\n\r\n <Box sx={{}}>\r\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\r\n <Box sx={{ width: 10, height: 10, bgcolor: chartColors[0], borderRadius: \"2px\" }} />\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>Acceptance</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\r\n <Typography sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}>{acceptanceVal}</Typography>\r\n <Typography sx={{ fontSize: \"10px\", fontWeight: 700, color: \"#22C55E\", display: \"flex\", alignItems: \"center\" }}>\r\n <TrendingUp sx={{ fontSize: \"12px\" }} /> {acceptanceTrend}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\r\n <Box sx={{ width: 10, height: 10, bgcolor: chartColors[1], borderRadius: \"2px\" }} />\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>Raised</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\r\n <Typography sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}>{raisedVal}</Typography>\r\n <Typography sx={{ fontSize: \"10px\", fontWeight: 700, color: \"#22C55E\", display: \"flex\", alignItems: \"center\" }}>\r\n <TrendingUp sx={{ fontSize: \"12px\" }} /> {raisedTrend}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default MetricDonutCard;\r\n","import React from \"react\";\r\nimport { Box, Typography, Card, CardContent } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\nconst DonationTypeBarChart = ({ sx, donationTypeData }) => {\r\n const recurringColor = \"rgb(99, 99, 230)\";\r\n const oneTimeColor = \"#10B981\";\r\n const colors = [recurringColor, oneTimeColor, \"#06B6D4\", \"#F59E0B\", \"#EF4444\"];\r\n\r\n let categories = [];\r\n let series = [];\r\n let summaries = [];\r\n let title = \"Donation Type\";\r\n let isDistributed = false;\r\n\r\n if (donationTypeData && donationTypeData.data && Array.isArray(donationTypeData.data)) {\r\n // Time series recurring vs one-time format\r\n categories = donationTypeData.data.map((item) => item.label || \"\");\r\n series = [\r\n {\r\n name: \"Recurring\",\r\n data: donationTypeData.data.map((item) => item.recurring || 0),\r\n },\r\n {\r\n name: \"One-time\",\r\n data: donationTypeData.data.map((item) => item.oneTime || 0),\r\n },\r\n ];\r\n summaries = [\r\n {\r\n label: \"Recurring\",\r\n total: donationTypeData.totalRecurringDonations || 0,\r\n color: recurringColor,\r\n },\r\n {\r\n label: \"One-time\",\r\n total: donationTypeData.totalOneTimeDonations || 0,\r\n color: oneTimeColor,\r\n },\r\n ];\r\n title = \"Recurring vs One-time\";\r\n isDistributed = false;\r\n } else if (Array.isArray(donationTypeData) && donationTypeData.length > 0 && donationTypeData[0].totalAmount !== undefined) {\r\n // New array format\r\n categories = donationTypeData.map((item) => item.type || \"\");\r\n series = [\r\n {\r\n name: \"Amount\",\r\n data: donationTypeData.map((item) => item.totalAmount || 0),\r\n },\r\n ];\r\n summaries = donationTypeData.map((item, index) => ({\r\n label: item.type || \"\",\r\n total: item.totalAmount || 0,\r\n color: colors[index % colors.length]\r\n }));\r\n isDistributed = true;\r\n if (donationTypeData.length === 2) {\r\n title = `${donationTypeData[0].type} vs ${donationTypeData[1].type}`;\r\n }\r\n } else {\r\n // Object format or simple series array\r\n const dataObj = donationTypeData || {};\r\n categories = dataObj.categories || [];\r\n series = Array.isArray(donationTypeData) ? donationTypeData : (dataObj.series || []);\r\n \r\n summaries = [\r\n {\r\n label: dataObj?.summary?.recurring?.label || \"Recurring\",\r\n total: dataObj?.summary?.recurring?.total || 0,\r\n color: recurringColor\r\n },\r\n {\r\n label: dataObj?.summary?.oneTime?.label || \"One-time\",\r\n total: dataObj?.summary?.oneTime?.total || 0,\r\n color: oneTimeColor\r\n }\r\n ];\r\n title = \"Recurring vs one-time\";\r\n isDistributed = false;\r\n }\r\n\r\n const chartOptions = {\r\n chart: {\r\n type: \"bar\",\r\n toolbar: { show: false },\r\n zoom: { enabled: false },\r\n fontFamily: \"Inter, sans-serif\",\r\n },\r\n plotOptions: {\r\n bar: {\r\n horizontal: false,\r\n columnWidth: \"50%\",\r\n borderRadius: 4,\r\n distributed: isDistributed,\r\n dataLabels: {\r\n position: \"top\",\r\n },\r\n },\r\n },\r\n dataLabels: {\r\n enabled: true,\r\n formatter: (val) => `$${formatNumber(val)}`,\r\n offsetY: -20,\r\n style: {\r\n fontSize: \"9px\",\r\n fontWeight: 600,\r\n colors: [\"#000\"],\r\n },\r\n },\r\n stroke: {\r\n show: true,\r\n width: 2,\r\n colors: [\"transparent\"],\r\n },\r\n xaxis: {\r\n categories: categories,\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n labels: {\r\n style: {\r\n colors: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"11px\",\r\n },\r\n },\r\n },\r\n yaxis: {\r\n min: 0,\r\n tickAmount: 4,\r\n labels: {\r\n formatter: (val) => `$${formatNumber(val)}`,\r\n style: {\r\n colors: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"10px\",\r\n },\r\n },\r\n },\r\n fill: {\r\n opacity: 1,\r\n },\r\n colors: colors,\r\n grid: {\r\n borderColor: \"#f1f1f1\",\r\n strokeDashArray: 4,\r\n padding: {\r\n left: 0,\r\n right: 0,\r\n },\r\n yaxis: {\r\n lines: { show: true },\r\n },\r\n },\r\n legend: {\r\n show: false,\r\n },\r\n tooltip: {\r\n y: {\r\n formatter: (val) => `$${formatNumber(val)}`,\r\n },\r\n },\r\n };\r\n\r\n return (\r\n <Card\r\n sx={{\r\n bgcolor: \"#fff\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n p: 3,\r\n ...sx\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", }}>\r\n <Box sx={{ textAlign: \"left\" }}>\r\n <Typography sx={{ fontWeight: 700, fontSize: \"18px\", color: \"#000\" }}>\r\n {title}\r\n </Typography>\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.4)\", mt: 0 }}>\r\n Donation type\r\n </Typography>\r\n </Box>\r\n\r\n <Box sx={{ display: \"flex\", gap: 1.5, mt: 0.5, flexWrap: \"wrap\" }}>\r\n {summaries.map((item, index) => (\r\n <Box key={item.label || index} sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\r\n <Box sx={{ width: 8, height: 8, bgcolor: item.color, borderRadius: \"50%\" }} />\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>\r\n {item.label}\r\n </Typography>\r\n <Typography sx={{ fontSize: \"13px\", fontWeight: 600, color: \"#000\" }}>\r\n ${formatNumber(item.total || 0)}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ height: 170, width: \"calc(100% + 48px)\", ml: -3, mr: -3, }}>\r\n <Chart options={chartOptions} series={series} type=\"bar\" height=\"100%\" />\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default DonationTypeBarChart;\r\n","import React from \"react\";\r\nimport {\r\n Box,\r\n Card,\r\n CardContent,\r\n Typography,\r\n LinearProgress,\r\n} from \"@mui/material\";\r\n\r\nconst CardWrapper = ({ title, subtitle, children, sx }) => (\r\n <Card\r\n sx={{\r\n // width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n ...sx,\r\n height: \"100%\",\r\n }}\r\n >\r\n <CardContent>\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n mb: 0.5,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n {subtitle && (\r\n <Typography\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"13px\",\r\n mb: 3,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n )}\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 1 }}>\r\n {children}\r\n </Box>\r\n </CardContent>\r\n </Card>\r\n);\r\n\r\nexport const LandingPagesCard = () => {\r\n const data = [\r\n {\r\n page: \"/yemen-orphans-appeal\",\r\n visitors: \"1,840\",\r\n donations: \"32\",\r\n revenue: \"$38,200\",\r\n cvr: \"1.7%\",\r\n },\r\n {\r\n page: \"/gaza-emergency-food\",\r\n visitors: \"1,620\",\r\n donations: \"28\",\r\n revenue: \"$28,600\",\r\n cvr: \"1.7%\",\r\n },\r\n {\r\n page: \"/why-zakat-matters\",\r\n visitors: \"1,210\",\r\n donations: \"21\",\r\n revenue: \"$24,800\",\r\n cvr: \"1.7%\",\r\n },\r\n {\r\n page: \"/somalia-masjid-build\",\r\n visitors: \"890\",\r\n donations: \"15\",\r\n revenue: \"$16,400\",\r\n cvr: \"1.7%\",\r\n },\r\n {\r\n page: \"/ramadan-giving-guide\",\r\n visitors: \"720\",\r\n donations: \"11\",\r\n revenue: \"$11,200\",\r\n cvr: \"1.5%\",\r\n },\r\n {\r\n page: \"/water-wells-pakistan\",\r\n visitors: \"510\",\r\n donations: \"11\",\r\n revenue: \"$22,980\",\r\n cvr: \"2.2%\",\r\n },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top landing pages\"\r\n subtitle=\"Pages ranked by donations attributed\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"3fr 1.2fr 1.2fr 1.2fr 0.8fr\",\r\n gap: 2,\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Page\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Visitors\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Donations\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Revenue\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n >\r\n Conv. rate\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"3fr 1.2fr 1.2fr 1.2fr 0.8fr\",\r\n gap: 2,\r\n py: 0.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.page}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.6)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.visitors}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.6)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.donations}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.6)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.revenue}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"#22C55E\",\r\n fontWeight: 700,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.cvr}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const KeywordsCard = () => {\r\n const data = [\r\n {\r\n keyword: \"zakat calculator\",\r\n clicks: \"1,240\",\r\n rank: \"#2.1\",\r\n trend: \"Improving\",\r\n trendType: \"up\",\r\n },\r\n {\r\n keyword: \"orphan sponsorship\",\r\n clicks: \"860\",\r\n rank: \"#3.4\",\r\n trend: \"Improving\",\r\n trendType: \"up\",\r\n },\r\n {\r\n keyword: \"ramadan donation guide\",\r\n clicks: \"720\",\r\n rank: \"#1.8\",\r\n trend: \"Improving\",\r\n trendType: \"up\",\r\n },\r\n {\r\n keyword: \"yemen humanitarian crisis\",\r\n clicks: \"580\",\r\n rank: \"#5.2\",\r\n trend: \"Declining\",\r\n trendType: \"down\",\r\n },\r\n {\r\n keyword: \"masjid building fund\",\r\n clicks: \"410\",\r\n rank: \"#4.1\",\r\n trend: \"Improving\",\r\n trendType: \"up\",\r\n },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top organic keywords\"\r\n subtitle=\"Search terms ranked by clicks · last 30 days\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1fr 1fr 1fr\",\r\n gap: 2,\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Keyword\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Clicks\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Position\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Trend\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1fr 1fr 1fr\",\r\n gap: 2,\r\n // py: 0.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.keyword}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.6)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.clicks}\r\n </Typography>\r\n <Box\r\n sx={{\r\n textAlign: \"left\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: \"40px\",\r\n bgcolor: \"#ebf2ffb1\",\r\n color: \"#3431e4\",\r\n // px: 0.5,\r\n p: 0.5,\r\n borderRadius: \"100px\",\r\n fontSize: \"11px\",\r\n fontWeight: 700,\r\n textAlign: \"center\",\r\n minWidth: \"45px\",\r\n }}\r\n >\r\n {item.rank}\r\n </Box>\r\n </Box>\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-start\",\r\n gap: 0.5,\r\n }}\r\n >\r\n {item.trendType === \"up\" ? (\r\n <>\r\n <Typography sx={{ fontSize: \"14px\", color: \"#22C55E\" }}>\r\n ▲\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"12px\", color: \"#22C55E\", fontWeight: 700 }}\r\n >\r\n Improving\r\n </Typography>\r\n </>\r\n ) : (\r\n <>\r\n <Typography sx={{ fontSize: \"14px\", color: \"#EF4444\" }}>\r\n ▼\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"12px\", color: \"#EF4444\", fontWeight: 700 }}\r\n >\r\n Declining\r\n </Typography>\r\n </>\r\n )}\r\n </Box>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const GeographyCard = ({\r\n subtitle = \"Top countries by organic traffic\",\r\n}) => {\r\n const data = [\r\n { country: \"United States\", stats: \"3,120 · 37%\", percentage: 37 },\r\n { country: \"United Kingdom\", stats: \"1,840 · 22%\", percentage: 22 },\r\n { country: \"Canada\", stats: \"920 · 11%\", percentage: 11 },\r\n { country: \"Australia\", stats: \"650 · 8%\", percentage: 8 },\r\n { country: \"UAE\", stats: \"580 · 7%\", percentage: 7 },\r\n { country: \"Other\", stats: \"1,310 · 16%\", percentage: 16 },\r\n ];\r\n\r\n return (\r\n <CardWrapper title=\"Geography insights\" subtitle={subtitle}>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 2, py: 0.8 }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"120px\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.country}\r\n </Typography>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={item.percentage}\r\n sx={{\r\n height: 10,\r\n borderRadius: 5,\r\n bgcolor: \"#f3f4f6ff\",\r\n \"& .MuiLinearProgress-bar\": {\r\n bgcolor: \"#6366F1\",\r\n borderRadius: 5,\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n minWidth: \"80px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {item.stats}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const TopCampaignsRaisedCard = () => {\r\n const data = [\r\n { id: \"RK\", name: \"Ramadan kickoff\", value: \"$14,200\" },\r\n { id: \"YO\", name: \"Yemen orphans drive\", value: \"$11,800\" },\r\n { id: \"GE\", name: \"Gaza emergency\", value: \"$9,400\" },\r\n { id: \"ZR\", name: \"Zakat reminder\", value: \"$7,200\" },\r\n { id: \"EA\", name: \"Eid appeal\", value: \"$6,320\" },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top campaigns by total raised\"\r\n subtitle=\"Email campaigns ranked by donations\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Campaign\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Raised\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n // py: 1.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n bgcolor: \"#ebf2ff\",\r\n color: \"#3431e4\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {item.id}\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {item.name}\r\n </Typography>\r\n </Box>\r\n <Typography sx={{ fontSize: \"13px\", color: \"#000\", fontWeight: 700 }}>\r\n {item.value}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const TopCampaignsCTRCard = () => {\r\n const data = [\r\n { id: \"RK\", name: \"Ramadan kickoff\", value: \"12.4%\" },\r\n { id: \"EA\", name: \"Eid appeal\", value: \"10.8%\" },\r\n { id: \"YO\", name: \"Yemen orphans drive\", value: \"9.7%\" },\r\n { id: \"PF\", name: \"Pakistan flood relief\", value: \"8.9%\" },\r\n { id: \"ZR\", name: \"Zakat reminder\", value: \"7.6%\" },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top campaigns by CTR\"\r\n subtitle=\"Click-through rate leaders\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Campaign\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n CTR\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n // py: 1.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n bgcolor: \"#ebf2ff\",\r\n color: \"#3431e4\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {item.id}\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {item.name}\r\n </Typography>\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", color: \"#22C55E\", fontWeight: 700 }}\r\n >\r\n {item.value}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const TopCampaignsConvRateCard = () => {\r\n const data = [\r\n { id: \"YO\", name: \"Yemen orphans drive\", value: \"5.2%\" },\r\n { id: \"RK\", name: \"Ramadan kickoff\", value: \"4.8%\" },\r\n { id: \"GE\", name: \"Gaza emergency\", value: \"4.1%\" },\r\n { id: \"PF\", name: \"Pakistan flood relief\", value: \"3.9%\" },\r\n { id: \"EA\", name: \"Eid appeal\", value: \"3.4%\" },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top campaigns by conversion\"\r\n subtitle=\"Click-to-donation conversion\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Campaign\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Conv. rate\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n // py: 1.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n bgcolor: \"#ebf2ff\",\r\n color: \"#3431e4\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {item.id}\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {item.name}\r\n </Typography>\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", color: \"#3431e4\", fontWeight: 700 }}\r\n >\r\n {item.value}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const TopPerformingCampaignsCard = () => {\r\n const data = [\r\n {\r\n id: \"YO\",\r\n // avatarBg: \"#c1cfde70\",\r\n name: \"Yemen Orphans - Meta\",\r\n spend: \"$8,200\",\r\n revenue: \"$31,400\",\r\n roas: \"3.8x\",\r\n },\r\n {\r\n id: \"GF\",\r\n // avatarBg: \"#c1cfdedb\",\r\n name: \"Gaza Food - Google\",\r\n spend: \"$7,400\",\r\n revenue: \"$25,200\",\r\n roas: \"3.4x\",\r\n },\r\n {\r\n id: \"PW\",\r\n // avatarBg: \"#c1cfdedb\",\r\n name: \"Pakistan Wells - Meta\",\r\n spend: \"$5,800\",\r\n revenue: \"$18,600\",\r\n roas: \"3.2x\",\r\n },\r\n {\r\n id: \"R\",\r\n // avatarBg: \"#c1cfdedb\",\r\n name: \"Ramadan - TikTok\",\r\n spend: \"$3,200\",\r\n revenue: \"$8,900\",\r\n roas: \"2.8x\",\r\n },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top performing campaigns\"\r\n subtitle=\"Paid campaigns ranked by ROAS\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1fr 1fr 0.8fr\",\r\n gap: 1,\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Campaign\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Spend\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Revenue\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n ROAS\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1fr 1fr 0.8fr\",\r\n gap: 1,\r\n py: 1,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\r\n <Box\r\n sx={{\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n bgcolor: \"#c1cfde71\",\r\n color: \"#3431e4ff\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {item.id}\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {item.name}\r\n </Typography>\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"#000\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.spend}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"#000\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.revenue}\r\n </Typography>\r\n <Box\r\n sx={{\r\n bgcolor: \"#48d8d620\",\r\n color: \"#157c3bff\",\r\n // px: 1,\r\n p: 0.5,\r\n width: \"40px\",\r\n // height: \"25px\",\r\n borderRadius: \"100px\",\r\n fontSize: \"11px\",\r\n fontWeight: 700,\r\n textAlign: \"center\",\r\n }}\r\n >\r\n {item.roas}\r\n </Box>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const PaidDonorGeographyCard = ({ sx, donorGeographyData }) => {\r\n const rawCountries = Array.isArray(donorGeographyData)\r\n ? donorGeographyData\r\n : (donorGeographyData?.countries || []);\r\n\r\n const data = rawCountries.map((item) => ({\r\n country: item.countryName || item.country || \"Unknown\",\r\n percentage: typeof item.percentage === \"number\" ? item.percentage : 0,\r\n value: item.donations !== undefined ? item.donations : (item.value || 0),\r\n }));\r\n\r\n return (\r\n <Card\r\n sx={{\r\n bgcolor: \"#fff\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n p: 3,\r\n // height: \"100%\",\r\n ...sx\r\n }}\r\n >\r\n <Box sx={{ textAlign: \"left\" }}>\r\n <Typography sx={{ fontWeight: 700, fontSize: \"18px\", color: \"#000\" }}>\r\n Paid donor geography\r\n </Typography>\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.4)\", mt: 0 }}>\r\n Where ad-acquired donors come from\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 2, py: 0.7 }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"100px\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.country}\r\n </Typography>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={item.percentage}\r\n sx={{\r\n height: 8,\r\n borderRadius: 4,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 4,\r\n bgcolor: \"#6366F1\",\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#111\",\r\n minWidth: \"60px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {item.value} · {item.percentage}%\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Card>\r\n );\r\n};\r\n","import React from \"react\";\nimport { Box, Typography, Card } from \"@mui/material\";\nimport Chart from \"react-apexcharts\";\n\nconst RefundsChargebacksCard = ({ sx, refundsChargebacksData = {} }) => {\n const {\n refundRate = 0,\n chargebackRate = 0,\n totalRefundedAmount = 0,\n totalRefunds = 0,\n totalChargebacks = 0,\n growthPercentage = 0,\n totalRevenue = 0,\n chartData = [],\n } = refundsChargebacksData;\n\n const categories = chartData.map((item) => item.date);\n const refundSeries = chartData.map((item) => parseFloat((item.refundRate || 0).toFixed(2)));\n const chargebackSeries = chartData.map((item) => parseFloat((item.chargebackRate || 0).toFixed(2)));\n\n const maxVal = Math.max(...chargebackSeries, ...refundSeries, 1);\n const yAxisMax = Math.ceil(maxVal * 1.2);\n\n const chartOptions = {\n chart: {\n type: \"area\",\n toolbar: { show: false },\n zoom: { enabled: false },\n fontFamily: \"Inter, sans-serif\",\n sparkline: { enabled: false },\n },\n dataLabels: { enabled: false },\n stroke: { curve: \"smooth\", width: 2 },\n fill: {\n type: \"gradient\",\n gradient: {\n shadeIntensity: 1,\n opacityFrom: 0.35,\n opacityTo: 0.02,\n stops: [20, 100],\n },\n },\n xaxis: {\n categories,\n axisBorder: { show: false },\n axisTicks: { show: false },\n labels: {\n show: categories.length <= 15,\n rotate: -45,\n style: { colors: \"rgba(0, 0, 0, 0.4)\", fontSize: \"10px\" },\n },\n },\n yaxis: {\n min: 0,\n max: yAxisMax,\n tickAmount: 4,\n labels: {\n formatter: (val) => `${parseFloat(val.toFixed(1))}%`,\n style: { colors: \"rgba(0, 0, 0, 0.4)\", fontSize: \"11px\" },\n },\n },\n grid: {\n borderColor: \"#f1f1f1\",\n strokeDashArray: 4,\n yaxis: { lines: { show: true } },\n padding: { left: 0, right: 0 },\n },\n colors: [\"#F59E0B\", \"#EF4444\"],\n legend: { show: false },\n annotations: {\n yaxis: [\n {\n y: 1,\n borderColor: \"#EF4444\",\n strokeDashArray: 3,\n label: {\n borderColor: \"transparent\",\n style: {\n color: \"#EF4444\",\n background: \"transparent\",\n fontSize: \"10px\",\n fontWeight: 700,\n },\n position: \"left\",\n offsetY: -10,\n offsetX: 10,\n },\n },\n ],\n },\n tooltip: {\n shared: true,\n y: { formatter: (val) => `${parseFloat(val.toFixed(2))}%` },\n },\n };\n\n const series = [\n { name: \"Refunds\", data: refundSeries },\n { name: \"Chargebacks\", data: chargebackSeries },\n ];\n\n const fmt = (n) =>\n n >= 1000\n ? `${(n / 1000).toFixed(1)}k`\n : parseFloat(n?.toFixed(2) ?? 0).toString();\n\n const growthColor = growthPercentage > 0 ? \"#EF4444\" : growthPercentage < 0 ? \"#22C55E\" : \"rgba(0,0,0,0.4)\";\n const growthLabel =\n growthPercentage > 0\n ? `▲ ${growthPercentage.toFixed(1)}%`\n : growthPercentage < 0\n ? `▼ ${Math.abs(growthPercentage).toFixed(1)}%`\n : \"stable\";\n\n return (\n <Card\n sx={{\n bgcolor: \"#fff\",\n borderRadius: 4,\n border: \"1px solid #f0f0f0\",\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\n p: 3,\n display: \"flex\",\n flexDirection: \"column\",\n ...sx,\n }}\n >\n {/* Header */}\n <Box sx={{ mb: 0 }}>\n <Typography sx={{ fontWeight: 700, fontSize: \"18px\", color: \"#000\", textAlign: \"left\" }}>\n Refunds &amp; chargebacks\n </Typography>\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.4)\", textAlign: \"left\" }}>\n Trust health · 30-day window\n </Typography>\n </Box>\n\n {/* Legend + Stats */}\n <Box sx={{ display: \"flex\", gap: 2, mb: 0.75, flexWrap: \"wrap\", mt: 1 }}>\n {/* Refunds */}\n <Box sx={{ display: \"flex\", alignItems: \"flex-start\", gap: 0.75 }}>\n <Box sx={{ width: 8, height: 8, bgcolor: \"#F59E0B\", borderRadius: \"50%\", mt: \"4px\", flexShrink: 0 }} />\n <Box>\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>\n Refunds\n </Typography>\n <Typography sx={{ fontSize: \"13px\", fontWeight: 600, color: \"#000\" }}>\n {refundRate.toFixed(2)}%\n </Typography>\n </Box>\n <Typography sx={{ fontSize: \"12px\", fontWeight: 600, color: \"rgba(0,0,0,0.4)\", lineHeight: 1.2, mt: 0.2 }}>\n ${fmt(totalRefundedAmount)} refunded\n </Typography>\n </Box>\n </Box>\n\n {/* Chargebacks */}\n <Box sx={{ display: \"flex\", alignItems: \"flex-start\", gap: 0.75 }}>\n <Box sx={{ width: 8, height: 8, bgcolor: \"#EF4444\", borderRadius: \"50%\", mt: \"4px\", flexShrink: 0 }} />\n <Box>\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>\n Chargebacks\n </Typography>\n <Typography sx={{ fontSize: \"13px\", fontWeight: 600, color: \"#000\" }}>\n {chargebackRate.toFixed(2)}%\n </Typography>\n </Box>\n <Typography sx={{ fontSize: \"12px\", fontWeight: 600, color: growthColor, lineHeight: 1.2, mt: 0.2 }}>\n {growthLabel}\n </Typography>\n </Box>\n </Box>\n </Box>\n\n {/* Summary line */}\n <Box sx={{ mb: 0.5 }}>\n <Typography sx={{ fontSize: \"12px\", color: \"rgba(0, 0, 0, 0.3)\", fontWeight: 500, textAlign: \"left\" }}>\n ${fmt(totalRefundedAmount)} refunded · {totalChargebacks} chargebacks · {totalRefunds} refunds\n </Typography>\n </Box>\n\n {/* Chart */}\n <Box sx={{ height: 140, width: \"100%\", flexShrink: 0 }}>\n <Chart options={chartOptions} series={series} type=\"area\" height=\"100%\" />\n </Box>\n </Card>\n );\n};\n\nexport default RefundsChargebacksCard;\n","import { Avatar, Box, Stack, Typography } from \"@mui/material\";\r\n\r\n\r\nconst MetricCard = ({\r\n title,\r\n value,\r\n caption,\r\n icon,\r\n active,\r\n warning,\r\n error,\r\n onClick\r\n}) => (\r\n <Box\r\n sx={{\r\n bgcolor: \"#fff\",\r\n border: `1.5px solid ${active ? \"#4F46E5\" : warning ? \"#F3B33D\" : error ? \"#ef4444\" : \"#F1F1F5\"}`,\r\n borderRadius: \"16px\",\r\n p: { xs: 1.75, md: 2 },\r\n paddingTop: \"10px !important\", paddingBottom: \"10px !important\",\r\n height: 92,\r\n boxShadow: \"0 14px 30px rgba(21, 26, 45, 0.06)\",\r\n }}\r\n onClick={onClick}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n justifyContent=\"space-between\"\r\n alignItems=\"center\"\r\n >\r\n <Typography\r\n sx={{\r\n color: active ? \"#818CF8\" : \"#999EAA\",\r\n fontSize: 13,\r\n fontWeight: 500,\r\n letterSpacing: 0,\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n <Avatar\r\n sx={{\r\n width: 30,\r\n height: 30,\r\n bgcolor: warning ? \"#FFF3CF\" : error ? \"#fee2e2\" : \"#EEF2FF\",\r\n color: warning ? \"#B45309\" : error ? \"#ef4444\" : \"#4F46E5\",\r\n }}\r\n >\r\n {icon}\r\n </Avatar>\r\n </Stack>\r\n <Typography\r\n sx={{\r\n // mt: 0.3,\r\n fontSize: 22,\r\n fontWeight: 700,\r\n color: active ? \"#4F46E5\" : \"#050509\",\r\n lineHeight: 1.15,\r\n }}\r\n >\r\n {value}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n // mt: 1.05,\r\n fontSize: 12,\r\n fontWeight: 500,\r\n color: caption.includes(\"failed\")\r\n ? \"#4F46E5\"\r\n : error\r\n ? \"#ef4444\"\r\n : \"#0B8F61\",\r\n }}\r\n >\r\n {caption}\r\n </Typography>\r\n </Box>\r\n);\r\n\r\nexport default MetricCard;\r\n","import { useState } from \"react\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport ActiveCampaignsCard from \"../ActiveCampaignsCard\";\r\nimport DonorMixCard from \"../DonorMixCard\";\r\nimport TrafficSourceCard from \"../TrafficSourceCard\";\r\nimport MetricSparklineCard from \"../MetricSparklineCard\";\r\nimport MetricDonutCard from \"../MetricDonutCard\";\r\nimport DonationTypeBarChart from \"../DonationTypeBarChart\";\r\nimport {\r\n PaidDonorGeographyCard,\r\n} from \"../TOPCards\";\r\nimport RefundsChargebacksCard from \"../RefundsChargebacksCard\";\r\nimport {\r\n PaidOutlined as DollarIcon,\r\n FavoriteOutlined as HeartIcon,\r\n PeopleAltOutlined as PeopleIcon,\r\n TrendingUp as TrendIcon,\r\n Adjust as AdjustIcon,\r\n} from \"@mui/icons-material\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\nimport MetricCard from \"../../advanced/MetricCard\";\r\n\r\nconst OverallSection = ({\r\n apiData = {},\r\n primaryCharts,\r\n secondaryCharts,\r\n tertiaryCharts,\r\n quaternaryCharts,\r\n dateName,\r\n}) => {\r\n const [activeMetric, setActiveMetric] = useState(\"Total Raised\");\r\n\r\n const donationTypeData = apiData?.recurringBarChartData || [];\r\n const donorGeographyData = apiData?.donorGeography || [];\r\n const trafficSourceData = apiData?.trafficSourceData || [];\r\n const orderBumpData = apiData?.orderBumpDetails || [];\r\n const upsellData = apiData?.upSellDetails || [];\r\n const downsellData = apiData?.downSellDetails || [];\r\n const referralData = apiData?.referralDetails || [];\r\n const refundsChargebacksData = apiData?.refundAndChargeBacks || [];\r\n const allCharts = [\r\n ...primaryCharts,\r\n ...secondaryCharts,\r\n ...tertiaryCharts,\r\n ...quaternaryCharts,\r\n ];\r\n\r\n const getExtendedCharts = () => {\r\n const charts = [...allCharts];\r\n const categories = apiData?.categories || [\r\n \"Jan\",\r\n \"Feb\",\r\n \"Mar\",\r\n \"Apr\",\r\n \"May\",\r\n \"Jun\",\r\n \"Jul\",\r\n \"Aug\",\r\n \"Sep\",\r\n ];\r\n\r\n if (!charts.find((c) => c.label === \"Net Raised\")) {\r\n charts.push({\r\n label: \"Net Raised\",\r\n value: apiData?.netRaised || \"$222.3K\",\r\n data: (\r\n apiData?.revenueData || [\r\n 3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000,\r\n ]\r\n ).map((v) => v * 0.92),\r\n categories,\r\n });\r\n }\r\n\r\n if (!charts.find((c) => c.label === \"Total Donors\")) {\r\n charts.push({\r\n label: \"Total Donors\",\r\n value: apiData?.totalDonors || \"215\",\r\n data: apiData?.donationsData || [15, 22, 18, 30, 25, 35, 42, 45, 28],\r\n categories,\r\n });\r\n }\r\n\r\n if (!charts.find((c) => c.label === \"ROAS\")) {\r\n charts.push({\r\n label: \"ROAS\",\r\n value: apiData?.roas || \"3.0x\",\r\n data: [2.1, 2.4, 2.2, 2.8, 2.6, 3.1, 3.1, 3.0, 2.9],\r\n categories,\r\n });\r\n }\r\n\r\n return charts;\r\n };\r\n\r\n const metricInfo = {\r\n \"Total Raised\": {\r\n value: `$${formatNumber(apiData?.overviewStats?.overview?.totalRevenue)}` || \"$0\",\r\n subValue: `${Number(apiData?.overviewStats?.overview?.growthPercentage?.totalRevenue ?? 0).toFixed(2)}% vs ${dateName || \"last month\"}`,\r\n label: \"Total Raised\",\r\n icon: <DollarIcon />,\r\n money: true,\r\n error: false,\r\n warning: false,\r\n },\r\n \"Net Raised\": {\r\n value: `$${formatNumber(apiData?.overviewStats?.overview?.netRevenue)}`,\r\n subValue: `${Number(apiData?.overviewStats?.overview.growthPercentage?.netRevenue ?? 0).toFixed(2)}% vs ${dateName ?? \"previous period\"\r\n }`,\r\n label: \"Net Raised\",\r\n icon: <HeartIcon />,\r\n money: true,\r\n error: false,\r\n warning: false,\r\n },\r\n \"Total Donors\": {\r\n value: apiData?.overviewStats?.overview?.totalDonations || \"215\",\r\n subValue: `${Number(apiData?.overviewStats?.overview.growthPercentage?.totalDonations ?? 0).toFixed(2)}%` || \"0 new\",\r\n label: \"Total Donors\",\r\n icon: <PeopleIcon />,\r\n money: false,\r\n error: false,\r\n warning: false,\r\n },\r\n \"Avg donation\": {\r\n value: `$${formatNumber(apiData?.overviewStats?.overview?.overallAVGDonations)}`,\r\n subValue: `${Number(apiData?.overviewStats?.overview.growthPercentage?.overallAVGDonations ?? 0).toFixed(2)}% vs ${dateName ?? \"last month\"\r\n }`,\r\n label: \"Average Donation Amount\",\r\n icon: <DollarIcon />,\r\n money: true,\r\n error: false,\r\n warning: false,\r\n },\r\n \"ROAS\": {\r\n value: `${formatNumber(apiData?.roasCard ?? 0)}x`,\r\n subValue: `${Number(apiData?.roasCardPrev ?? 0).toFixed(2)}x vs ${dateName ?? \"last month\"}`,\r\n label: \"ROAS\",\r\n icon: <TrendIcon />,\r\n money: false,\r\n error: false,\r\n warning: false,\r\n },\r\n \"Conversion\": {\r\n value: `${formatNumber(apiData?.overviewStats?.overview?.conversionRate)}%` || \"0.0%\",\r\n subValue: `${(apiData?.overviewStats?.overview?.growthPercentage?.conversionRate ?? 0).toFixed(2)}%` || \"0%\",\r\n label: \"Conversion Rate\",\r\n icon: <AdjustIcon />,\r\n money: false,\r\n error: false,\r\n warning: false,\r\n },\r\n };\r\n\r\n const activeCampaignsData = apiData?.activeCampaigns || [];\r\n const donorMix = apiData?.donorPieChartData;\r\n let newDonorsCount = 0;\r\n let returningDonorsCount = 0;\r\n let totalDonorsMix = 0;\r\n let newDonorsPerc = 0;\r\n let returningDonorsPerc = 0;\r\n let avgGift = 0;\r\n let donorMixPrev = 0;\r\n\r\n if (Array.isArray(donorMix)) {\r\n const newDonorsObj = donorMix.find((d) => d.type === \"New Donors\" || d.type === \"New donors\") || {};\r\n const returningDonorsObj = donorMix.find((d) => d.type === \"Returning Donors\" || d.type === \"Returning\") || {};\r\n\r\n newDonorsCount = newDonorsObj.totalDonations || 0;\r\n returningDonorsCount = returningDonorsObj.totalDonations || 0;\r\n totalDonorsMix = newDonorsCount + returningDonorsCount;\r\n\r\n newDonorsPerc = totalDonorsMix > 0 ? Math.round((newDonorsCount / totalDonorsMix) * 100) : 0;\r\n returningDonorsPerc = totalDonorsMix > 0 ? Math.round((returningDonorsCount / totalDonorsMix) * 100) : 0;\r\n\r\n const totalAmount = (newDonorsObj.totalAmount || 0) + (returningDonorsObj.totalAmount || 0);\r\n avgGift = totalDonorsMix > 0 ? Number((totalAmount / totalDonorsMix).toFixed(2)) : 0;\r\n donorMixPrev = apiData?.donorMixPrev || 0;\r\n } else if (donorMix && typeof donorMix === \"object\") {\r\n newDonorsCount = donorMix.newDonors || 0;\r\n returningDonorsCount = donorMix.returningDonors || 0;\r\n totalDonorsMix = newDonorsCount + returningDonorsCount;\r\n\r\n newDonorsPerc = totalDonorsMix > 0 ? Math.round((newDonorsCount / totalDonorsMix) * 100) : 0;\r\n returningDonorsPerc = totalDonorsMix > 0 ? Math.round((returningDonorsCount / totalDonorsMix) * 100) : 0;\r\n\r\n avgGift = donorMix.avgGift || 0;\r\n donorMixPrev = donorMix.donorMixPrev || 0;\r\n }\r\n\r\n console.log(\"DONOR MIX\", donorMix);\r\n const renderCard = (title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // onClick={() => setActiveMetric(title)}\r\n // isActive={activeMetric === title}\r\n // sx={{\r\n // // border:\r\n // // activeMetric === title\r\n // // ? \"1px solid rgb(99, 99, 230)\"\r\n // // : \"2px solid #f0f0f0\",\r\n // }}\r\n // />\r\n );\r\n\r\n const extendedCharts = getExtendedCharts();\r\n const selectedInfo = metricInfo[activeMetric];\r\n let mainChart =\r\n extendedCharts.find((c) => c.label === selectedInfo.label) ||\r\n primaryCharts[0];\r\n\r\n\r\n if (activeMetric === \"Total Raised\") {\r\n const stackedData = apiData?.overviewStats?.totalRaised;\r\n const hasStackedData = stackedData?.paidAds || stackedData?.email || stackedData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (stackedData?.organic || stackedData?.paidAds || stackedData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (stackedData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (stackedData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (stackedData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Total revenue trend\",\r\n data: undefined, // Clear single data property to force series usage\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n stroke: {\r\n curve: \"smooth\",\r\n width: 3,\r\n },\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"Net Raised\") {\r\n const netData = apiData?.overviewStats?.netRaised;\r\n const hasStackedData = netData?.paidAds || netData?.email || netData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (netData?.organic || netData?.paidAds || netData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (netData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (netData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (netData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Net revenue trend\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(netData) && netData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Net revenue trend\",\r\n data: netData.map((item) => item.value),\r\n categories: netData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"Total Donors\") {\r\n const donorsData = apiData?.overviewStats?.totalDonations;\r\n const hasStackedData = donorsData?.paidAds || donorsData?.email || donorsData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (donorsData?.organic || donorsData?.paidAds || donorsData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (donorsData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (donorsData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (donorsData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Donor trend\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(donorsData) && donorsData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Donor trend\",\r\n data: donorsData.map((item) => item.value),\r\n categories: donorsData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"ROAS\") {\r\n const roasData = apiData?.roas;\r\n const hasStackedData = roasData?.paidAds || roasData?.email || roasData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (roasData?.organic || roasData?.paidAds || roasData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (roasData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (roasData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (roasData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"ROAS\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(roasData) && roasData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"ROAS\",\r\n data: roasData.map((item) => item.value),\r\n categories: roasData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"Conversion\") {\r\n const conversionData = apiData?.overviewStats?.conversionRate;\r\n const hasStackedData = conversionData?.paidAds || conversionData?.email || conversionData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (conversionData?.organic || conversionData?.paidAds || conversionData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (conversionData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (conversionData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (conversionData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Conversion Rate\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(conversionData) && conversionData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Conversion Rate\",\r\n data: conversionData.map((item) => item.value),\r\n categories: conversionData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"Avg donation\") {\r\n const avgData = apiData?.overviewStats?.avgDonations;\r\n const hasStackedData = avgData?.paidAds || avgData?.email || avgData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (avgData?.organic || avgData?.paidAds || avgData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (avgData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (avgData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (avgData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Average donation trend\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(avgData) && avgData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Average donation trend\",\r\n data: avgData.map((item) => item.value),\r\n categories: avgData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: mainChart.label || activeMetric,\r\n value: selectedInfo.value,\r\n trend: selectedInfo.subValue,\r\n };\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr 1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(6, 1fr)\",\r\n },\r\n gap: \"6px\",\r\n mb: 0,\r\n }}\r\n >\r\n {Object.keys(metricInfo).map(renderCard)}\r\n </Box>\r\n <Grid container spacing={3} sx={{ mb: 0, mt: \"6px\" }}>\r\n <RenderChartCard\r\n item={mainChart}\r\n index={0}\r\n md={12}\r\n isPremium={true}\r\n isPrimary={true}\r\n metric={\r\n activeMetric.includes(\"Raised\") || activeMetric.includes(\"donation\")\r\n ? \"Revenue\"\r\n : \"Donors\"\r\n }\r\n />\r\n </Grid>\r\n\r\n <Grid container spacing={\"6px\"} sx={{ mt: \"6px\" }}>\r\n <Grid item xs={12} md={9} sx={{ paddingTop: \"0px !important\" }}>\r\n <ActiveCampaignsCard\r\n title=\"Active campaigns\"\r\n subtitle=\"Live fundraisers ranked by velocity\"\r\n columns={[\r\n \"Campaign\",\r\n \"Raised\",\r\n \"Progress\",\r\n \"Donors\",\r\n \"Avg gift\",\r\n // \"Status\",\r\n ]}\r\n rows={activeCampaignsData.map((campaign) => ({\r\n id: campaign.campaignName\r\n ? campaign.campaignName\r\n .split(\" \")\r\n .filter(Boolean)\r\n .map((word) => word[0])\r\n .join(\"\")\r\n .toUpperCase()\r\n .slice(0, 2)\r\n : \"??\",\r\n name: campaign.title || \"Untitled Campaign\",\r\n val1: `$${formatNumber(campaign.collectedAmount || 0)}`,\r\n type: \"progress\",\r\n progress: Math.round(\r\n ((campaign.collectedAmount || 0) / (campaign.usdTargetAmount || 1)) * 100\r\n ),\r\n val3: formatNumber(campaign.uniqueDonationsCount || 0),\r\n val4: `$${formatNumber(campaign.avgGift || 0)}`,\r\n }))}\r\n />\r\n </Grid>\r\n <Grid item xs={12} md={3} sx={{ display: \"flex\", paddingTop: \"0px !important\", marginTop: { xs: \"16px\", md: \"0px\" } }}>\r\n <DonorMixCard\r\n title=\"Donor mix\"\r\n subtitle=\"Acquisition vs retention\"\r\n series={[newDonorsCount, returningDonorsCount]}\r\n labels={[\"New donors\", \"Returning\"]}\r\n colors={[\"rgb(99, 99, 230)\", \"#10B981\"]}\r\n centerLabel=\"donors\"\r\n centerValue={totalDonorsMix.toString()}\r\n items={[\r\n {\r\n label: \"New donors\",\r\n val: `${newDonorsCount} · ${newDonorsPerc}%`,\r\n color: \"rgb(99, 99, 230)\",\r\n },\r\n {\r\n label: \"Returning\",\r\n val: `${returningDonorsCount} · ${returningDonorsPerc}%`,\r\n color: \"#10B981\",\r\n },\r\n ]}\r\n bottomSummaryValue={`$${avgGift}`}\r\n bottomSummaryTrend={`${donorMixPrev}% vs ${dateName || \"last month\"}`}\r\n sx={{ width: \"100%\" }}\r\n />\r\n </Grid>\r\n </Grid>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\", // 1 card\r\n sm: \"repeat(2, 1fr)\", // 2 cards\r\n md: \"repeat(4, 1fr)\", // 4 cards\r\n },\r\n gap: \"6px\",\r\n mt: \"6px\",\r\n alignItems: \"stretch\",\r\n }}\r\n >\r\n <DonationTypeBarChart sx={{ maxHeight: 280 }} donationTypeData={donationTypeData} />\r\n\r\n <PaidDonorGeographyCard sx={{ maxHeight: 280 }} donorGeographyData={donorGeographyData} />\r\n\r\n <RefundsChargebacksCard sx={{ maxHeight: 280 }} refundsChargebacksData={refundsChargebacksData} />\r\n\r\n <TrafficSourceCard sx={{ maxHeight: 280 }} trafficSourceData={trafficSourceData?.data || []} total={`$${formatNumber(trafficSourceData?.totalRevenue || 0)}`}\r\n />\r\n\r\n <MetricSparklineCard\r\n title=\"Order Bump\"\r\n subtitle=\"Revenue trend · last 30 days\"\r\n value={`$${formatNumber(orderBumpData?.totalRevenue || 0)}`}\r\n trend={`${orderBumpData?.growthPercentage >= 0 ? \"▲\" : \"▼\"} ${Math.abs(\r\n orderBumpData?.growthPercentage || 0\r\n ).toFixed(1)}% vs last month`}\r\n chartData={\r\n orderBumpData?.chart?.map((item) => ({\r\n label: item.label,\r\n value: item.revenue,\r\n })) || []\r\n }\r\n footerMetrics={[\r\n {\r\n label: \"Avg / Day\",\r\n value: `$${formatNumber(orderBumpData?.averagePerDay || 0)}`,\r\n },\r\n {\r\n label: \"Orders\",\r\n value: formatNumber(orderBumpData?.totalOrders || 0),\r\n },\r\n {\r\n label: \"Peak Day\",\r\n value: `$${formatNumber(orderBumpData?.peakDay?.amount || 0)}`,\r\n subValue: orderBumpData?.peakDay?.date,\r\n },\r\n ]}\r\n sx={{ maxHeight: 280 }}\r\n bottomSection\r\n />\r\n\r\n <MetricDonutCard\r\n title=\"Upsell\"\r\n subtitle=\"Acceptance & raised\"\r\n acceptanceRate={upsellData?.acceptanceRate || 0}\r\n\r\n acceptanceVal={`${formatNumber(upsellData?.totalUpsellsAttached || 0)}`}\r\n acceptanceTrend={`${upsellData?.acceptanceGrowth >= 0 ? \"▲\" : \"▼\"} ${Math.abs(\r\n upsellData?.acceptanceGrowth || 0\r\n ).toFixed(1)}%`}\r\n\r\n raisedVal={`$${formatNumber(upsellData?.raised || 0)}`}\r\n raisedTrend={`${upsellData?.raisedGrowth >= 0 ? \"▲\" : \"▼\"} ${Math.abs(\r\n upsellData?.raisedGrowth || 0\r\n ).toFixed(1)}%`}\r\n\r\n sx={{ maxHeight: 280 }}\r\n />\r\n\r\n <MetricDonutCard\r\n title=\"Downsell\"\r\n subtitle=\"Acceptance & raised\"\r\n acceptanceRate={downsellData?.acceptanceRate || 0}\r\n acceptanceVal={`${formatNumber(downsellData?.acceptanceRate || 0)}%`}\r\n acceptanceTrend={`${formatNumber(downsellData?.acceptanceGrowth || 0)}%`}\r\n raisedVal={`$${formatNumber(downsellData?.raised || 0)}`}\r\n raisedTrend={`${formatNumber(downsellData?.raisedGrowth || 0)}%`}\r\n sx={{ maxHeight: 280 }}\r\n />\r\n\r\n <MetricSparklineCard\r\n title=\"Referrals\"\r\n subtitle=\"Revenue trend · last 30 days\"\r\n value={`$${formatNumber(referralData?.totalRevenue || 0)}`}\r\n trend={`▲ ${referralData?.growthPercentage || 0}% vs last month`}\r\n chartData={\r\n referralData?.chartData?.map((item) => ({\r\n label: item.date,\r\n value: item.revenue,\r\n })) || []\r\n }\r\n // chartData={\r\n // referralData?.chartData?.map(item => item.revenue) || []\r\n // }\r\n footerMetrics={[\r\n {\r\n label: \"Referrers\",\r\n value: formatNumber(referralData?.totalReferrers || 0),\r\n },\r\n {\r\n label: \"Avg gift\",\r\n value: `$${formatNumber(referralData?.averageGift || 0)}`,\r\n },\r\n {\r\n label: \"Conv. rate\",\r\n value: `${formatNumber(referralData?.conversionRate || 0)}%`,\r\n },\r\n ]}\r\n sx={{ maxHeight: 280 }}\r\n bottomSection\r\n />\r\n </Box>\r\n\r\n\r\n </>\r\n );\r\n};\r\n\r\nexport default OverallSection;\r\n","import { useState } from \"react\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport {\r\n PaidOutlined as DollarIcon,\r\n TrendingUp as TrendIcon,\r\n Adjust as AdjustIcon,\r\n PersonOutlined as PersonOutlinedIcon,\r\n IndeterminateCheckBoxOutlined as IndeterminateCheckBoxOutlinedIcon,\r\n} from \"@mui/icons-material\";\r\nimport ActiveCampaignsCard from \"../ActiveCampaignsCard\";\r\nimport DonorMixCard from \"../DonorMixCard\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\nimport {\r\n TopPerformingCampaignsCard,\r\n PaidDonorGeographyCard,\r\n} from \"../TOPCards\";\r\nimport MetricCard from \"../../advanced/MetricCard\";\r\n\r\nconst PaidSection = () => {\r\n const [activeMetric, setActiveMetric] = useState(\"Total Spent\");\r\n const categories = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\r\n\r\n const metricInfo = {\r\n \"Total Spent\": {\r\n value: `$${formatNumber(80313)}`,\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"Daily Spend\",\r\n data: [800, 950, 700, 1100, 900, 1200, 1300],\r\n icon: <IndeterminateCheckBoxOutlinedIcon />,\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n \"Revinue Raised\": {\r\n value: `$${formatNumber(240398)}`,\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"Daily Revenue\",\r\n data: [3200, 4100, 2800, 5600, 4200, 6100, 7500],\r\n icon: <DollarIcon />,\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n ROAS: {\r\n value: \"3.0\",\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"ROAS Trend\",\r\n data: [2.5, 3.1, 2.8, 4.2, 3.8, 4.5, 5.2],\r\n icon: <TrendIcon />,\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Cost per donor\": {\r\n value: `$${formatNumber(373)}`,\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"CPA Trend\",\r\n data: [350, 380, 360, 410, 390, 370, 373],\r\n icon: <PersonOutlinedIcon />,\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n \"Conversion rate\": {\r\n value: \"3.1%\",\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"Conversion Rate\",\r\n data: [2.8, 3.0, 2.9, 3.4, 3.2, 3.1, 3.1],\r\n icon: <AdjustIcon />,\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Avg donation\": {\r\n value: `$${formatNumber(130.58)}`,\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"Average Donation\",\r\n data: [120, 135, 125, 140, 130, 128, 130.58],\r\n icon: <DollarIcon />,\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n };\r\n\r\n const renderCard = (title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // onClick={() => setActiveMetric(title)}\r\n // isActive={activeMetric === title}\r\n // sx={{\r\n // // border:\r\n // // activeMetric === title\r\n // // ? \"2px solid rgb(99, 99, 230)\"\r\n // // : \"2px solid #f0f0f0\",\r\n // }}\r\n // />\r\n );\r\n\r\n const selectedInfo = metricInfo[activeMetric];\r\n const mainChart = {\r\n label: activeMetric,\r\n value: selectedInfo.value,\r\n trend: selectedInfo.subValue,\r\n data: selectedInfo.data,\r\n categories: categories,\r\n };\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(6, 1fr)\",\r\n },\r\n gap: 2,\r\n mb: 0,\r\n }}\r\n >\r\n {Object.keys(metricInfo).map(renderCard)}\r\n </Box>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.75 }}>\r\n <RenderChartCard\r\n item={mainChart}\r\n index={0}\r\n md={12}\r\n type=\"area\"\r\n isPrimary={true}\r\n isPremium={true}\r\n />\r\n </Grid>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.25, }}>\r\n <Grid item xs={12} md={6} sx={{ paddingTop: \"0px !important\", minHeight: \"430px\" }}>\r\n <ActiveCampaignsCard\r\n title=\"Channel performance\"\r\n subtitle=\"Ad platforms ranked by ROAS\"\r\n columns={[\"channel\", \"spend\", \"revenue\", \"ROAS\", \"CPA\", \"trend\"]}\r\n gridTemplateColumns=\"2.2fr 1fr 1fr 0.8fr 0.8fr 1.2fr\"\r\n height=\"100%\"\r\n rows={[\r\n {\r\n id: \"M\",\r\n avatarBg: \"#4267B2\",\r\n name: \"Meta Ads\",\r\n val1: \"$32,800\",\r\n val2: \"$112,400\",\r\n val3: \"3.4x\",\r\n val4: \"$340\",\r\n type: \"trend\",\r\n trendType: \"up\",\r\n trendLabel: \"Improving\",\r\n highlightVal3: true,\r\n val3Color: \"#22C55E\",\r\n },\r\n {\r\n id: \"G\",\r\n avatarBg: \"#4285F4\",\r\n name: \"Google Ads\",\r\n val1: \"$28,200\",\r\n val2: \"$78,300\",\r\n val3: \"2.8x\",\r\n val4: \"$385\",\r\n type: \"trend\",\r\n trendType: \"up\",\r\n trendLabel: \"Improving\",\r\n highlightVal3: true,\r\n val3Color: \"#22C55E\",\r\n },\r\n {\r\n id: \"T\",\r\n avatarBg: \"#000000\",\r\n name: \"TikTok Ads\",\r\n val1: \"$11,400\",\r\n val2: \"$31,200\",\r\n val3: \"2.7x\",\r\n val4: \"$402\",\r\n type: \"trend\",\r\n trendType: \"up\",\r\n trendLabel: \"Improving\",\r\n highlightVal3: true,\r\n val3Color: \"#22C55E\",\r\n },\r\n {\r\n id: \"Y\",\r\n avatarBg: \"#FF0000\",\r\n name: \"YouTube\",\r\n val1: \"$5,313\",\r\n val2: \"$12,600\",\r\n val3: \"2.4x\",\r\n val4: \"$443\",\r\n type: \"trend\",\r\n trendType: \"down\",\r\n trendLabel: \"Declining\",\r\n highlightVal3: true,\r\n val3Color: \"#EF4444\",\r\n },\r\n {\r\n id: \"S\",\r\n avatarBg: \"#FFFC00\",\r\n name: \"Snapchat\",\r\n val1: \"$2,600\",\r\n val2: \"$6,438\",\r\n val3: \"2.5x\",\r\n val4: \"$418\",\r\n type: \"trend\",\r\n trendType: \"up\",\r\n trendLabel: \"Improving\",\r\n highlightVal3: true,\r\n val3Color: \"#22C55E\",\r\n },\r\n ]}\r\n />\r\n </Grid>\r\n <Grid item xs={12} md={6} sx={{ paddingTop: \"0px !important\", minHeight: \"430px\", marginTop: { xs: 3, md: \"0px\" } }}>\r\n <DonorMixCard\r\n title=\"Spend allocation\"\r\n subtitle=\"Where $80.3K went this month\"\r\n series={[40.8, 35.1, 14.2, 6.6, 3.3]}\r\n labels={[\"Meta Ads\", \"Google Ads\", \"TikTok\", \"YouTube\", \"Snapchat\"]}\r\n colors={[\"#4267B2\", \"#4285F4\", \"#cd249dff\", \"#FF0000\", \"#FFFC00\"]}\r\n centerLabel=\"total spend\"\r\n centerValue=\"$80.3K\"\r\n items={[\r\n { label: \"Meta Ads\", val: \"40.8%\", color: \"#4267B2\" },\r\n { label: \"Google Ads\", val: \"35.1%\", color: \"#4285F4\" },\r\n { label: \"TikTok\", val: \"14.2%\", color: \"#cd249dff\" },\r\n { label: \"YouTube\", val: \"6.6%\", color: \"#FF0000\" },\r\n { label: \"Snapchat\", val: \"3.3%\", color: \"#FFFC00\" },\r\n ]}\r\n showBottomSummary={false}\r\n sx={{ pb: 3.5, height: \"100%\" }}\r\n />\r\n </Grid>\r\n </Grid>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.25 }}>\r\n <Grid item xs={12} md={6} sx={{ paddingTop: \"0px !important\" }}>\r\n <TopPerformingCampaignsCard />\r\n </Grid>\r\n <Grid item xs={12} md={6} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 3, md: \"0px\" } }}>\r\n <PaidDonorGeographyCard />\r\n </Grid>\r\n </Grid>\r\n </>\r\n );\r\n};\r\n\r\nexport default PaidSection;\r\n","import { useState } from \"react\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport { LandingPagesCard, KeywordsCard, GeographyCard } from \"../TOPCards\";\r\nimport {\r\n PaidOutlined as DollarIcon,\r\n FavoriteOutlined as HeartIcon,\r\n PeopleAltOutlined as PeopleIcon,\r\n Adjust as AdjustIcon,\r\n SearchOutlined as SearchoutlinedIcon,\r\n} from \"@mui/icons-material\";\r\nimport DonorMixCard from \"../DonorMixCard\";\r\nimport MetricCard from \"../../advanced/MetricCard\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\n\r\nconst OrganicSection = ({ apiData = {} }) => {\r\n const [activeMetric, setActiveMetric] = useState(\"Organic Users\");\r\n const categories = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\r\n\r\n const metricInfo = {\r\n \"Organic Users\": {\r\n value: `${formatNumber(8420)}`,\r\n subValue: apiData?.totalRaisedTrend || \"18% vs last month\",\r\n data: [3200, 4100, 2800, 5600, 4200, 6100, 7500],\r\n icon: <PeopleIcon />,\r\n money: false,\r\n warning: false,\r\n error: false\r\n },\r\n \"Search Clicks\": {\r\n value: `${formatNumber(5842)}`,\r\n subValue: apiData?.netRaisedSub || \"92.3% pass-through\",\r\n data: [1500, 1800, 1600, 2200, 2000, 2400, 2800],\r\n icon: <SearchoutlinedIcon />,\r\n money: false,\r\n warning: false,\r\n error: false\r\n },\r\n Donations: {\r\n value: `${formatNumber(420)}`,\r\n subValue: apiData?.totalRaisedTrend || \"18% vs last month\",\r\n data: [15, 22, 18, 30, 25, 35, 42],\r\n icon: <HeartIcon />,\r\n money: false,\r\n warning: false,\r\n error: false\r\n },\r\n \"Conversion Rate\": {\r\n value: \"3.1%\",\r\n subValue: apiData?.avgDonationTrend || \"8.4% vs last month\",\r\n data: [2.5, 2.7, 2.6, 3.1, 3.0, 2.9, 3.1],\r\n icon: <AdjustIcon />,\r\n money: false,\r\n warning: false,\r\n error: false\r\n },\r\n \"Revenue raised\": {\r\n value: `$${formatNumber(240398)}`,\r\n subValue: apiData?.roasTrend || \"0.4x vs last month\",\r\n data: [2.5, 3.1, 2.8, 4.2, 3.8, 4.5, 5.2],\r\n icon: <DollarIcon />,\r\n money: true,\r\n warning: false,\r\n error: false\r\n },\r\n \"Avg donation\": {\r\n value: `$${formatNumber(130.58)}`,\r\n subValue: apiData?.totalRaisedTrend || \"18% vs last month\",\r\n data: [110, 125, 120, 135, 130, 128, 130.58],\r\n icon: <DollarIcon />,\r\n money: true,\r\n warning: false,\r\n error: false\r\n },\r\n };\r\n\r\n const renderCard = (title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // onClick={() => setActiveMetric(title)}\r\n // isActive={activeMetric === title}\r\n // sx={{\r\n // // border:\r\n // // activeMetric === title\r\n // // ? \"2px solid rgb(99, 99, 230)\"\r\n // // : \"2px solid #f0f0f0\",\r\n // }}\r\n // />\r\n );\r\n\r\n const selectedInfo = metricInfo[activeMetric];\r\n const mainChart = {\r\n label: activeMetric,\r\n value: selectedInfo.value,\r\n trend: selectedInfo.subValue,\r\n data: selectedInfo.data,\r\n categories: categories,\r\n };\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(6, 1fr)\",\r\n },\r\n gap: 2,\r\n mb: 0,\r\n }}\r\n >\r\n {Object.keys(metricInfo).map(renderCard)}\r\n </Box>\r\n {/* <Box sx={{ display: \"flex\", gap: 2, mb: 2, flexWrap: \"wrap\" }}>\r\n {Object.keys(metricInfo).map((title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // onClick={() => setActiveMetric(title)}\r\n // isActive={activeMetric === title}\r\n // sx={{\r\n // flex: 1,\r\n // // border:\r\n // // activeMetric === title\r\n // // ? \"2px solid rgb(99, 99, 230)\"\r\n // // : \"2px solid #f0f0f0\",\r\n // }}\r\n // />\r\n ))}\r\n </Box> */}\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.75 }}>\r\n <RenderChartCard\r\n item={mainChart}\r\n index={0}\r\n md={12}\r\n type=\"area\"\r\n isPrimary={true}\r\n isPremium={true}\r\n />\r\n\r\n <Grid item xs={12} md={6}>\r\n <LandingPagesCard />\r\n </Grid>\r\n\r\n <Grid item xs={12} md={6}>\r\n <DonorMixCard\r\n title=\"Source breakdown\"\r\n subtitle=\"Where organic visitors come from\"\r\n series={[40.8, 35.1, 14.2, 3.3]}\r\n labels={[\"Meta Ads\", \"Google Ads\", \"TikTok\", \"Snapchat\"]}\r\n colors={[\"#4267B2\", \"#4285F4\", \"#06510bff\", \"#f2b61dff\"]}\r\n centerLabel=\"total spend\"\r\n centerValue=\"$8.3K\"\r\n items={[\r\n { label: \"Google Search\", val: \"40.8%\", color: \"#4267B2\" },\r\n { label: \"Direct\", val: \"35.1%\", color: \"#4285F4\" },\r\n { label: \"Bing / Other\", val: \"14.2%\", color: \"#06510bff\" },\r\n { label: \"Referalls\", val: \"3.3%\", color: \"#f2b61dff\" },\r\n ]}\r\n showBottomSummary={false}\r\n sx={{ pb: 2 }}\r\n />\r\n </Grid>\r\n\r\n <Grid item xs={12} md={6}>\r\n <KeywordsCard />\r\n </Grid>\r\n <Grid item xs={12} md={6}>\r\n <GeographyCard subtitle=\"Top countries by organic traffic\" />\r\n </Grid>\r\n </Grid>\r\n </>\r\n );\r\n};\r\n\r\nexport default OrganicSection;\r\n","import React from \"react\";\r\nimport { Box, Typography, Card } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\n\r\nconst EmailTrendCard = ({\r\n title,\r\n subtitle,\r\n value,\r\n trend,\r\n series,\r\n colors,\r\n yAxisMax = 60,\r\n yAxisTickAmount = 3,\r\n yAxisFormatter = (val) => `${val}%`\r\n}) => {\r\n const chartOptions = {\r\n chart: {\r\n type: \"area\",\r\n toolbar: { show: false },\r\n sparkline: { enabled: false },\r\n fontFamily: \"Inter, sans-serif\"\r\n },\r\n stroke: {\r\n curve: \"smooth\",\r\n width: 2,\r\n dashArray: series.map(s => s.dashed ? 5 : 0)\r\n },\r\n fill: {\r\n type: \"gradient\",\r\n gradient: {\r\n shadeIntensity: 1,\r\n opacityFrom: 0.3,\r\n opacityTo: 0.8,\r\n stops: [0, 90, 100]\r\n }\r\n },\r\n colors: colors,\r\n xaxis: {\r\n categories: [\"Apr 5\", \"Apr 12\", \"Apr 19\", \"Apr 26\", \"May 4\"],\r\n labels: {\r\n show: true,\r\n style: { colors: 'rgba(0, 0, 0, 0.3)', fontSize: '10px' },\r\n offsetY: -5\r\n },\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n position: 'bottom'\r\n },\r\n yaxis: {\r\n max: yAxisMax,\r\n tickAmount: yAxisTickAmount,\r\n labels: {\r\n show: true,\r\n style: { colors: 'rgba(0, 0, 0, 0.3)', fontSize: '10px' },\r\n formatter: yAxisFormatter\r\n }\r\n },\r\n grid: {\r\n show: true,\r\n borderColor: \"rgba(0, 0, 0, 0.05)\",\r\n strokeDashArray: 0,\r\n xaxis: { lines: { show: false } },\r\n yaxis: { lines: { show: true } },\r\n padding: { left: 10, right: 10, bottom: 0 }\r\n },\r\n dataLabels: { enabled: false },\r\n legend: {\r\n show: series.length > 1,\r\n position: 'bottom',\r\n horizontalAlign: 'left',\r\n fontSize: '11px',\r\n fontFamily: 'Inter, sans-serif',\r\n offsetY: -5,\r\n markers: { width: 8, height: 8, radius: 12 },\r\n itemMargin: { horizontal: 10, vertical: 0 }\r\n },\r\n tooltip: { theme: 'light' }\r\n };\r\n\r\n return (\r\n <Card\r\n sx={{\r\n p: 3,\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n bgcolor: \"#fff\",\r\n height: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\"\r\n }}\r\n >\r\n <Box sx={{ mb: 1, textAlign: 'left' }}>\r\n <Typography sx={{ fontWeight: 700, fontSize: \"18px\", color: \"#000\" }}>{title}</Typography>\r\n <Typography sx={{ fontSize: \"12px\", color: \"rgba(0, 0, 0, 0.4)\", fontWeight: 500 }}>{subtitle}</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5, mb: 1 }}>\r\n <Typography sx={{ fontSize: \"28px\", fontWeight: 700, color: \"#000\" }}>{value}</Typography>\r\n <Box\r\n sx={{\r\n bgcolor: \"#ebfcf4\",\r\n color: \"#10b981\",\r\n px: 1,\r\n py: 0.4,\r\n borderRadius: \"100px\",\r\n fontSize: \"12px\",\r\n fontWeight: 700,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.3\r\n }}\r\n >\r\n <span style={{ fontSize: '10px' }}>▲</span> {trend}\r\n </Box>\r\n </Box>\r\n <Box sx={{ flexGrow: 1, height: 150, ml: -2, mr: -1 }}>\r\n <Chart options={chartOptions} series={series} type=\"area\" height=\"100%\" />\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default EmailTrendCard;\r\n","import { useState } from \"react\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport EmailTrendCard from \"../EmailTrendCard\";\r\nimport {\r\n TopCampaignsRaisedCard,\r\n TopCampaignsCTRCard,\r\n TopCampaignsConvRateCard,\r\n} from \"../TOPCards\";\r\nimport {\r\n PaidOutlined as DollarIcon,\r\n FavoriteOutlined as HeartIcon,\r\n Adjust as AdjustIcon,\r\n IndeterminateCheckBoxOutlined as IndeterminateCheckBoxOutlinedIcon,\r\n NotInterested as NotInterestedIcon,\r\n Email as EmailIcon,\r\n NearMe as NearMeIcon,\r\n HighlightOff as HighlightOffIcon,\r\n} from \"@mui/icons-material\";\r\nimport MetricCard from \"../../advanced/MetricCard\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\n\r\nconst EmailSection = () => {\r\n const [activeMetric, setActiveMetric] = useState(\"Total raised\");\r\n const categories = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\r\n\r\n const metricInfo = {\r\n \"Total raised\": {\r\n value: `$${formatNumber(48920)}`,\r\n subValue: \"12% vs last month\",\r\n icon: <DollarIcon />,\r\n data: [3200, 4100, 2800, 5600, 4200, 6100, 7500],\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n Donations: {\r\n value: \"62\",\r\n subValue: \"12% vs last month\",\r\n icon: <HeartIcon />,\r\n data: [4, 8, 5, 12, 10, 11, 12],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Conversion rate\": {\r\n value: \"3.2%\",\r\n subValue: \"12% vs last month\",\r\n icon: <AdjustIcon />,\r\n data: [2.8, 3.1, 2.9, 3.4, 3.2, 3.1, 3.2],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n CTR: {\r\n value: \"8.1%\",\r\n subValue: \"12% vs last month\",\r\n icon: <NotInterestedIcon />,\r\n data: [7.2, 8.4, 7.8, 8.9, 8.1, 8.0, 8.1],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Revenue per email\": {\r\n value: `$${formatNumber(2.45)}`,\r\n subValue: \"12% vs last month\",\r\n icon: <IndeterminateCheckBoxOutlinedIcon />,\r\n data: [2.1, 2.5, 2.3, 2.8, 2.4, 2.4, 2.45],\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n \"Open rate\": {\r\n value: \"42.3%\",\r\n subValue: \"12% vs last month\",\r\n icon: <EmailIcon />,\r\n data: [38, 44, 40, 46, 42, 41, 42.3],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n Clicks: {\r\n value: \"1,612\",\r\n subValue: \"12% vs last month\",\r\n icon: <NearMeIcon />,\r\n data: [210, 240, 220, 280, 250, 245, 245],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Unique Clicks\": {\r\n value: `${formatNumber(1148)}`,\r\n subValue: \"12% vs last month\",\r\n icon: <NearMeIcon />,\r\n data: [150, 180, 160, 210, 190, 185, 185],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Bounce rate\": {\r\n value: \"1.8%\",\r\n subValue: \"12% vs last month\",\r\n icon: <HighlightOffIcon />,\r\n data: [2.1, 1.9, 1.8, 1.7, 1.8, 1.8, 1.8],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Revenue per Click\": {\r\n value: `$${formatNumber(30.35)}`,\r\n subValue: \"12% vs last month\",\r\n icon: <HighlightOffIcon />,\r\n data: [28, 32, 29, 34, 30, 30, 30.35],\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n };\r\n\r\n const renderCard = (title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // // onClick={() => setActiveMetric(title)}\r\n // // isActive={activeMetric === title}\r\n // sx={{\r\n // }}\r\n // />\r\n );\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(5, 1fr)\",\r\n },\r\n gap: 2,\r\n mb: 0,\r\n }}\r\n >\r\n {[\r\n \"Total raised\",\r\n \"Donations\",\r\n \"Conversion rate\",\r\n \"CTR\",\r\n \"Revenue per email\",\r\n ].map(renderCard)}\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(5, 1fr)\",\r\n },\r\n gap: 2,\r\n mb: 0,\r\n mt: 2.75\r\n }}\r\n >\r\n {[\r\n \"Open rate\",\r\n \"Clicks\",\r\n \"Unique Clicks\",\r\n \"Bounce rate\",\r\n \"Revenue per Click\",\r\n ].map(renderCard)}\r\n </Box>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.25, }}>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\" }}>\r\n <EmailTrendCard\r\n title=\"Open rate trend\"\r\n subtitle=\"Daily · 30 days\"\r\n value=\"42.3%\"\r\n trend=\"2.1pp\"\r\n series={[{ name: 'Open Rate', data: [38, 42, 41, 43, 42.3] }]}\r\n colors={['rgb(99, 99, 230)']}\r\n yAxisMax={53}\r\n yAxisTickAmount={3}\r\n />\r\n </Grid>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 1, md: \"0px\" } }}>\r\n <EmailTrendCard\r\n title=\"Clicks trend\"\r\n subtitle=\"Total + unique · 30 days\"\r\n value=\"1,612\"\r\n trend=\"14%\"\r\n series={[\r\n { name: 'Total clicks', data: [56, 112, 80, 150, 112] },\r\n { name: 'Unique clicks', data: [30, 70, 45, 100, 75], dashed: true }\r\n ]}\r\n colors={['#10B981', '#10B981']}\r\n yAxisMax={168}\r\n yAxisTickAmount={3}\r\n yAxisFormatter={(val) => val}\r\n />\r\n </Grid>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 1, md: \"0px\" } }}>\r\n <EmailTrendCard\r\n title=\"Bounce rate trend\"\r\n subtitle=\"Daily · lower is better\"\r\n value=\"1.8%\"\r\n trend=\"0.3pp\"\r\n series={[{ name: 'Bounce Rate', data: [2.2, 1.9, 2.0, 1.7, 1.8] }]}\r\n colors={['#f2994a']}\r\n yAxisMax={2.5}\r\n yAxisTickAmount={3}\r\n />\r\n </Grid>\r\n </Grid>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.25 }}>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\" }}>\r\n <TopCampaignsRaisedCard />\r\n </Grid>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 2, md: \"0px\" } }}>\r\n <TopCampaignsCTRCard />\r\n </Grid>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 2, md: \"0px\" } }}>\r\n <TopCampaignsConvRateCard />\r\n </Grid>\r\n </Grid>\r\n\r\n </>\r\n );\r\n};\r\n\r\nexport default EmailSection;\r\n","/**\n * Improved text function with halign and valign support\n * Inspiration from: http://stackoverflow.com/questions/28327510/align-text-right-using-jspdf/28433113#28433113\n */\nfunction autoTableText (text, x, y, styles, doc) {\n styles = styles || {};\n var PHYSICAL_LINE_HEIGHT = 1.15;\n var k = doc.internal.scaleFactor;\n var fontSize = doc.internal.getFontSize() / k;\n var lineHeightFactor = doc.getLineHeightFactor\n ? doc.getLineHeightFactor()\n : PHYSICAL_LINE_HEIGHT;\n var lineHeight = fontSize * lineHeightFactor;\n var splitRegex = /\\r\\n|\\r|\\n/g;\n var splitText = '';\n var lineCount = 1;\n if (styles.valign === 'middle' ||\n styles.valign === 'bottom' ||\n styles.halign === 'center' ||\n styles.halign === 'right') {\n splitText = typeof text === 'string' ? text.split(splitRegex) : text;\n lineCount = splitText.length || 1;\n }\n // Align the top\n y += fontSize * (2 - PHYSICAL_LINE_HEIGHT);\n if (styles.valign === 'middle')\n y -= (lineCount / 2) * lineHeight;\n else if (styles.valign === 'bottom')\n y -= lineCount * lineHeight;\n if (styles.halign === 'center' || styles.halign === 'right') {\n var alignSize = fontSize;\n if (styles.halign === 'center')\n alignSize *= 0.5;\n if (splitText && lineCount >= 1) {\n for (var iLine = 0; iLine < splitText.length; iLine++) {\n doc.text(splitText[iLine], x - doc.getStringUnitWidth(splitText[iLine]) * alignSize, y);\n y += lineHeight;\n }\n return doc;\n }\n x -= doc.getStringUnitWidth(text) * alignSize;\n }\n if (styles.halign === 'justify') {\n doc.text(text, x, y, { maxWidth: styles.maxWidth || 100, align: 'justify' });\n }\n else {\n doc.text(text, x, y);\n }\n return doc;\n}\n\nvar globalDefaults = {};\nvar DocHandler = /** @class */ (function () {\n function DocHandler(jsPDFDocument) {\n this.jsPDFDocument = jsPDFDocument;\n this.userStyles = {\n // Black for versions of jspdf without getTextColor\n textColor: jsPDFDocument.getTextColor\n ? this.jsPDFDocument.getTextColor()\n : 0,\n fontSize: jsPDFDocument.internal.getFontSize(),\n fontStyle: jsPDFDocument.internal.getFont().fontStyle,\n font: jsPDFDocument.internal.getFont().fontName,\n // 0 for versions of jspdf without getLineWidth\n lineWidth: jsPDFDocument.getLineWidth\n ? this.jsPDFDocument.getLineWidth()\n : 0,\n // Black for versions of jspdf without getDrawColor\n lineColor: jsPDFDocument.getDrawColor\n ? this.jsPDFDocument.getDrawColor()\n : 0,\n };\n }\n DocHandler.setDefaults = function (defaults, doc) {\n if (doc === void 0) { doc = null; }\n if (doc) {\n doc.__autoTableDocumentDefaults = defaults;\n }\n else {\n globalDefaults = defaults;\n }\n };\n DocHandler.unifyColor = function (c) {\n if (Array.isArray(c)) {\n return c;\n }\n else if (typeof c === 'number') {\n return [c, c, c];\n }\n else if (typeof c === 'string') {\n return [c];\n }\n else {\n return null;\n }\n };\n DocHandler.prototype.applyStyles = function (styles, fontOnly) {\n // Font style needs to be applied before font\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/632\n var _a, _b, _c;\n if (fontOnly === void 0) { fontOnly = false; }\n if (styles.fontStyle && this.jsPDFDocument.setFontStyle) {\n this.jsPDFDocument.setFontStyle(styles.fontStyle);\n }\n var _d = this.jsPDFDocument.internal.getFont(), fontStyle = _d.fontStyle, fontName = _d.fontName;\n if (styles.font)\n fontName = styles.font;\n if (styles.fontStyle) {\n fontStyle = styles.fontStyle;\n var availableFontStyles = this.getFontList()[fontName];\n if (availableFontStyles &&\n availableFontStyles.indexOf(fontStyle) === -1 &&\n this.jsPDFDocument.setFontStyle) {\n // Common issue was that the default bold in headers\n // made custom fonts not work. For example:\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/653\n this.jsPDFDocument.setFontStyle(availableFontStyles[0]);\n fontStyle = availableFontStyles[0];\n }\n }\n this.jsPDFDocument.setFont(fontName, fontStyle);\n if (styles.fontSize)\n this.jsPDFDocument.setFontSize(styles.fontSize);\n if (fontOnly) {\n return; // Performance improvement\n }\n var color = DocHandler.unifyColor(styles.fillColor);\n if (color)\n (_a = this.jsPDFDocument).setFillColor.apply(_a, color);\n color = DocHandler.unifyColor(styles.textColor);\n if (color)\n (_b = this.jsPDFDocument).setTextColor.apply(_b, color);\n color = DocHandler.unifyColor(styles.lineColor);\n if (color)\n (_c = this.jsPDFDocument).setDrawColor.apply(_c, color);\n if (typeof styles.lineWidth === 'number') {\n this.jsPDFDocument.setLineWidth(styles.lineWidth);\n }\n };\n DocHandler.prototype.splitTextToSize = function (text, size, opts) {\n return this.jsPDFDocument.splitTextToSize(text, size, opts);\n };\n /**\n * Adds a rectangle to the PDF\n * @param x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param width Width (in units declared at inception of PDF document)\n * @param height Height (in units declared at inception of PDF document)\n * @param fillStyle A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke.\n */\n DocHandler.prototype.rect = function (x, y, width, height, fillStyle) {\n // null is excluded from fillStyle possible values because it isn't needed\n // and is prone to bugs as it's used to postpone setting the style\n // https://rawgit.com/MrRio/jsPDF/master/docs/jsPDF.html#rect\n return this.jsPDFDocument.rect(x, y, width, height, fillStyle);\n };\n DocHandler.prototype.getLastAutoTable = function () {\n return this.jsPDFDocument.lastAutoTable || null;\n };\n DocHandler.prototype.getTextWidth = function (text) {\n return this.jsPDFDocument.getTextWidth(text);\n };\n DocHandler.prototype.getDocument = function () {\n return this.jsPDFDocument;\n };\n DocHandler.prototype.setPage = function (page) {\n this.jsPDFDocument.setPage(page);\n };\n DocHandler.prototype.addPage = function () {\n return this.jsPDFDocument.addPage();\n };\n DocHandler.prototype.getFontList = function () {\n return this.jsPDFDocument.getFontList();\n };\n DocHandler.prototype.getGlobalOptions = function () {\n return globalDefaults || {};\n };\n DocHandler.prototype.getDocumentOptions = function () {\n return this.jsPDFDocument.__autoTableDocumentDefaults || {};\n };\n DocHandler.prototype.pageSize = function () {\n var pageSize = this.jsPDFDocument.internal.pageSize;\n // JSPDF 1.4 uses get functions instead of properties on pageSize\n if (pageSize.width == null) {\n pageSize = { width: pageSize.getWidth(), height: pageSize.getHeight() };\n }\n return pageSize;\n };\n DocHandler.prototype.scaleFactor = function () {\n return this.jsPDFDocument.internal.scaleFactor;\n };\n DocHandler.prototype.getLineHeightFactor = function () {\n var doc = this.jsPDFDocument;\n return doc.getLineHeightFactor ? doc.getLineHeightFactor() : 1.15;\n };\n DocHandler.prototype.getLineHeight = function (fontSize) {\n return (fontSize / this.scaleFactor()) * this.getLineHeightFactor();\n };\n DocHandler.prototype.pageNumber = function () {\n var pageInfo = this.jsPDFDocument.internal.getCurrentPageInfo();\n if (!pageInfo) {\n // Only recent versions of jspdf has pageInfo\n return this.jsPDFDocument.internal.getNumberOfPages();\n }\n return pageInfo.pageNumber;\n };\n return DocHandler;\n}());\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nvar HtmlRowInput = /** @class */ (function (_super) {\n __extends(HtmlRowInput, _super);\n function HtmlRowInput(element) {\n var _this = _super.call(this) || this;\n _this._element = element;\n return _this;\n }\n return HtmlRowInput;\n}(Array));\n// Base style for all themes\nfunction defaultStyles(scaleFactor) {\n return {\n font: 'helvetica', // helvetica, times, courier\n fontStyle: 'normal', // normal, bold, italic, bolditalic\n overflow: 'linebreak', // linebreak, ellipsize, visible or hidden\n fillColor: false, // Either false for transparent, rbg array e.g. [255, 255, 255] or gray level e.g 200\n textColor: 20,\n halign: 'left', // left, center, right, justify\n valign: 'top', // top, middle, bottom\n fontSize: 10,\n cellPadding: 5 / scaleFactor, // number or {top,left,right,left,vertical,horizontal}\n lineColor: 200,\n lineWidth: 0,\n cellWidth: 'auto', // 'auto'|'wrap'|number\n minCellHeight: 0,\n minCellWidth: 0,\n };\n}\nfunction getTheme(name) {\n var themes = {\n striped: {\n table: { fillColor: 255, textColor: 80, fontStyle: 'normal' },\n head: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n body: {},\n foot: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n alternateRow: { fillColor: 245 },\n },\n grid: {\n table: {\n fillColor: 255,\n textColor: 80,\n fontStyle: 'normal',\n lineWidth: 0.1,\n },\n head: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n body: {},\n foot: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n alternateRow: {},\n },\n plain: { head: { fontStyle: 'bold' }, foot: { fontStyle: 'bold' } },\n };\n return themes[name];\n}\n\nfunction getStringWidth(text, styles, doc) {\n doc.applyStyles(styles, true);\n var textArr = Array.isArray(text) ? text : [text];\n var widestLineWidth = textArr\n .map(function (text) { return doc.getTextWidth(text); })\n .reduce(function (a, b) { return Math.max(a, b); }, 0);\n return widestLineWidth;\n}\nfunction addTableBorder(doc, table, startPos, cursor) {\n var lineWidth = table.settings.tableLineWidth;\n var lineColor = table.settings.tableLineColor;\n doc.applyStyles({ lineWidth: lineWidth, lineColor: lineColor });\n var fillStyle = getFillStyle(lineWidth, false);\n if (fillStyle) {\n doc.rect(startPos.x, startPos.y, table.getWidth(doc.pageSize().width), cursor.y - startPos.y, fillStyle);\n }\n}\nfunction getFillStyle(lineWidth, fillColor) {\n var drawLine = lineWidth > 0;\n var drawBackground = fillColor || fillColor === 0;\n if (drawLine && drawBackground) {\n return 'DF'; // Fill then stroke\n }\n else if (drawLine) {\n return 'S'; // Only stroke (transparent background)\n }\n else if (drawBackground) {\n return 'F'; // Only fill, no stroke\n }\n else {\n return null;\n }\n}\nfunction parseSpacing(value, defaultValue) {\n var _a, _b, _c, _d;\n value = value || defaultValue;\n if (Array.isArray(value)) {\n if (value.length >= 4) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[3],\n };\n }\n else if (value.length === 3) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[1],\n };\n }\n else if (value.length === 2) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[0],\n left: value[1],\n };\n }\n else if (value.length === 1) {\n value = value[0];\n }\n else {\n value = defaultValue;\n }\n }\n if (typeof value === 'object') {\n if (typeof value.vertical === 'number') {\n value.top = value.vertical;\n value.bottom = value.vertical;\n }\n if (typeof value.horizontal === 'number') {\n value.right = value.horizontal;\n value.left = value.horizontal;\n }\n return {\n left: (_a = value.left) !== null && _a !== void 0 ? _a : defaultValue,\n top: (_b = value.top) !== null && _b !== void 0 ? _b : defaultValue,\n right: (_c = value.right) !== null && _c !== void 0 ? _c : defaultValue,\n bottom: (_d = value.bottom) !== null && _d !== void 0 ? _d : defaultValue,\n };\n }\n if (typeof value !== 'number') {\n value = defaultValue;\n }\n return { top: value, right: value, bottom: value, left: value };\n}\nfunction getPageAvailableWidth(doc, table) {\n var margins = parseSpacing(table.settings.margin, 0);\n return doc.pageSize().width - (margins.left + margins.right);\n}\n\n// Limitations\n// - No support for border spacing\n// - No support for transparency\nfunction parseCss(supportedFonts, element, scaleFactor, style, window) {\n var result = {};\n var pxScaleFactor = 96 / 72;\n var backgroundColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['backgroundColor'];\n });\n if (backgroundColor != null)\n result.fillColor = backgroundColor;\n var textColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['color'];\n });\n if (textColor != null)\n result.textColor = textColor;\n var padding = parsePadding(style, scaleFactor);\n if (padding)\n result.cellPadding = padding;\n var borderColorSide = 'borderTopColor';\n var finalScaleFactor = pxScaleFactor * scaleFactor;\n var btw = style.borderTopWidth;\n if (style.borderBottomWidth === btw &&\n style.borderRightWidth === btw &&\n style.borderLeftWidth === btw) {\n var borderWidth = (parseFloat(btw) || 0) / finalScaleFactor;\n if (borderWidth)\n result.lineWidth = borderWidth;\n }\n else {\n result.lineWidth = {\n top: (parseFloat(style.borderTopWidth) || 0) / finalScaleFactor,\n right: (parseFloat(style.borderRightWidth) || 0) / finalScaleFactor,\n bottom: (parseFloat(style.borderBottomWidth) || 0) / finalScaleFactor,\n left: (parseFloat(style.borderLeftWidth) || 0) / finalScaleFactor,\n };\n // Choose border color of first available side\n // could be improved by supporting object as lineColor\n if (!result.lineWidth.top) {\n if (result.lineWidth.right) {\n borderColorSide = 'borderRightColor';\n }\n else if (result.lineWidth.bottom) {\n borderColorSide = 'borderBottomColor';\n }\n else if (result.lineWidth.left) {\n borderColorSide = 'borderLeftColor';\n }\n }\n }\n var borderColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)[borderColorSide];\n });\n if (borderColor != null)\n result.lineColor = borderColor;\n var accepted = ['left', 'right', 'center', 'justify'];\n if (accepted.indexOf(style.textAlign) !== -1) {\n result.halign = style.textAlign;\n }\n accepted = ['middle', 'bottom', 'top'];\n if (accepted.indexOf(style.verticalAlign) !== -1) {\n result.valign = style.verticalAlign;\n }\n var res = parseInt(style.fontSize || '');\n if (!isNaN(res))\n result.fontSize = res / pxScaleFactor;\n var fontStyle = parseFontStyle(style);\n if (fontStyle)\n result.fontStyle = fontStyle;\n var font = (style.fontFamily || '').toLowerCase();\n if (supportedFonts.indexOf(font) !== -1) {\n result.font = font;\n }\n return result;\n}\nfunction parseFontStyle(style) {\n var res = '';\n if (style.fontWeight === 'bold' ||\n style.fontWeight === 'bolder' ||\n parseInt(style.fontWeight) >= 700) {\n res = 'bold';\n }\n if (style.fontStyle === 'italic' || style.fontStyle === 'oblique') {\n res += 'italic';\n }\n return res;\n}\nfunction parseColor(element, styleGetter) {\n var cssColor = realColor(element, styleGetter);\n if (!cssColor)\n return null;\n var rgba = cssColor.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d*\\.?\\d*))?\\)$/);\n if (!rgba || !Array.isArray(rgba)) {\n return null;\n }\n var color = [\n parseInt(rgba[1]),\n parseInt(rgba[2]),\n parseInt(rgba[3]),\n ];\n var alpha = parseInt(rgba[4]);\n if (alpha === 0 || isNaN(color[0]) || isNaN(color[1]) || isNaN(color[2])) {\n return null;\n }\n return color;\n}\nfunction realColor(elem, styleGetter) {\n var bg = styleGetter(elem);\n if (bg === 'rgba(0, 0, 0, 0)' ||\n bg === 'transparent' ||\n bg === 'initial' ||\n bg === 'inherit') {\n if (elem.parentElement == null) {\n return null;\n }\n return realColor(elem.parentElement, styleGetter);\n }\n else {\n return bg;\n }\n}\nfunction parsePadding(style, scaleFactor) {\n var val = [\n style.paddingTop,\n style.paddingRight,\n style.paddingBottom,\n style.paddingLeft,\n ];\n var pxScaleFactor = 96 / (72 / scaleFactor);\n var linePadding = (parseInt(style.lineHeight) - parseInt(style.fontSize)) / scaleFactor / 2;\n var inputPadding = val.map(function (n) {\n return parseInt(n || '0') / pxScaleFactor;\n });\n var padding = parseSpacing(inputPadding, 0);\n if (linePadding > padding.top) {\n padding.top = linePadding;\n }\n if (linePadding > padding.bottom) {\n padding.bottom = linePadding;\n }\n return padding;\n}\n\nfunction parseHtml(doc, input, window, includeHiddenHtml, useCss) {\n var _a, _b;\n if (includeHiddenHtml === void 0) { includeHiddenHtml = false; }\n if (useCss === void 0) { useCss = false; }\n var tableElement;\n if (typeof input === 'string') {\n tableElement = window.document.querySelector(input);\n }\n else {\n tableElement = input;\n }\n var supportedFonts = Object.keys(doc.getFontList());\n var scaleFactor = doc.scaleFactor();\n var head = [], body = [], foot = [];\n if (!tableElement) {\n console.error('Html table could not be found with input: ', input);\n return { head: head, body: body, foot: foot };\n }\n for (var i = 0; i < tableElement.rows.length; i++) {\n var element = tableElement.rows[i];\n var tagName = (_b = (_a = element === null || element === void 0 ? void 0 : element.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === null || _b === void 0 ? void 0 : _b.toLowerCase();\n var row = parseRowContent(supportedFonts, scaleFactor, window, element, includeHiddenHtml, useCss);\n if (!row)\n continue;\n if (tagName === 'thead') {\n head.push(row);\n }\n else if (tagName === 'tfoot') {\n foot.push(row);\n }\n else {\n // Add to body both if parent is tbody or table\n body.push(row);\n }\n }\n return { head: head, body: body, foot: foot };\n}\nfunction parseRowContent(supportedFonts, scaleFactor, window, row, includeHidden, useCss) {\n var resultRow = new HtmlRowInput(row);\n for (var i = 0; i < row.cells.length; i++) {\n var cell = row.cells[i];\n var style_1 = window.getComputedStyle(cell);\n if (includeHidden || style_1.display !== 'none') {\n var cellStyles = void 0;\n if (useCss) {\n cellStyles = parseCss(supportedFonts, cell, scaleFactor, style_1, window);\n }\n resultRow.push({\n rowSpan: cell.rowSpan,\n colSpan: cell.colSpan,\n styles: cellStyles,\n _element: cell,\n content: parseCellContent(cell),\n });\n }\n }\n var style = window.getComputedStyle(row);\n if (resultRow.length > 0 && (includeHidden || style.display !== 'none')) {\n return resultRow;\n }\n}\nfunction parseCellContent(orgCell) {\n // Work on cloned node to make sure no changes are applied to html table\n var cell = orgCell.cloneNode(true);\n // Remove extra space and line breaks in markup to make it more similar to\n // what would be shown in html\n cell.innerHTML = cell.innerHTML.replace(/\\n/g, '').replace(/ +/g, ' ');\n // Preserve <br> tags as line breaks in the pdf\n cell.innerHTML = cell.innerHTML\n .split(/<br.*?>/) //start with '<br' and ends with '>'.\n .map(function (part) { return part.trim(); })\n .join('\\n');\n // innerText for ie\n return cell.innerText || cell.textContent || '';\n}\n\nfunction validateInput(global, document, current) {\n for (var _i = 0, _a = [global, document, current]; _i < _a.length; _i++) {\n var options = _a[_i];\n if (options && typeof options !== 'object') {\n console.error('The options parameter should be of type object, is: ' + typeof options);\n }\n if (options.startY && typeof options.startY !== 'number') {\n console.error('Invalid value for startY option', options.startY);\n delete options.startY;\n }\n }\n}\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nfunction assign(target, s, s1, s2, s3) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n var to = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n // eslint-disable-next-line prefer-rest-params\n var nextSource = arguments[index];\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n}\n\nfunction parseInput(d, current) {\n var doc = new DocHandler(d);\n var document = doc.getDocumentOptions();\n var global = doc.getGlobalOptions();\n validateInput(global, document, current);\n var options = assign({}, global, document, current);\n var win;\n if (typeof window !== 'undefined') {\n win = window;\n }\n var styles = parseStyles(global, document, current);\n var hooks = parseHooks(global, document, current);\n var settings = parseSettings(doc, options);\n var content = parseContent$1(doc, options, win);\n return { id: current.tableId, content: content, hooks: hooks, styles: styles, settings: settings };\n}\nfunction parseStyles(gInput, dInput, cInput) {\n var styleOptions = {\n styles: {},\n headStyles: {},\n bodyStyles: {},\n footStyles: {},\n alternateRowStyles: {},\n columnStyles: {},\n };\n var _loop_1 = function (prop) {\n if (prop === 'columnStyles') {\n var global = gInput[prop];\n var document_1 = dInput[prop];\n var current = cInput[prop];\n styleOptions.columnStyles = assign({}, global, document_1, current);\n }\n else {\n var allOptions = [gInput, dInput, cInput];\n var styles = allOptions.map(function (opts) { return opts[prop] || {}; });\n styleOptions[prop] = assign({}, styles[0], styles[1], styles[2]);\n }\n };\n for (var _i = 0, _a = Object.keys(styleOptions); _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_1(prop);\n }\n return styleOptions;\n}\nfunction parseHooks(global, document, current) {\n var allOptions = [global, document, current];\n var result = {\n didParseCell: [],\n willDrawCell: [],\n didDrawCell: [],\n willDrawPage: [],\n didDrawPage: [],\n };\n for (var _i = 0, allOptions_1 = allOptions; _i < allOptions_1.length; _i++) {\n var options = allOptions_1[_i];\n if (options.didParseCell)\n result.didParseCell.push(options.didParseCell);\n if (options.willDrawCell)\n result.willDrawCell.push(options.willDrawCell);\n if (options.didDrawCell)\n result.didDrawCell.push(options.didDrawCell);\n if (options.willDrawPage)\n result.willDrawPage.push(options.willDrawPage);\n if (options.didDrawPage)\n result.didDrawPage.push(options.didDrawPage);\n }\n return result;\n}\nfunction parseSettings(doc, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var margin = parseSpacing(options.margin, 40 / doc.scaleFactor());\n var startY = (_a = getStartY(doc, options.startY)) !== null && _a !== void 0 ? _a : margin.top;\n var showFoot;\n if (options.showFoot === true) {\n showFoot = 'everyPage';\n }\n else if (options.showFoot === false) {\n showFoot = 'never';\n }\n else {\n showFoot = (_b = options.showFoot) !== null && _b !== void 0 ? _b : 'everyPage';\n }\n var showHead;\n if (options.showHead === true) {\n showHead = 'everyPage';\n }\n else if (options.showHead === false) {\n showHead = 'never';\n }\n else {\n showHead = (_c = options.showHead) !== null && _c !== void 0 ? _c : 'everyPage';\n }\n var useCss = (_d = options.useCss) !== null && _d !== void 0 ? _d : false;\n var theme = options.theme || (useCss ? 'plain' : 'striped');\n var horizontalPageBreak = !!options.horizontalPageBreak;\n var horizontalPageBreakRepeat = (_e = options.horizontalPageBreakRepeat) !== null && _e !== void 0 ? _e : null;\n return {\n includeHiddenHtml: (_f = options.includeHiddenHtml) !== null && _f !== void 0 ? _f : false,\n useCss: useCss,\n theme: theme,\n startY: startY,\n margin: margin,\n pageBreak: (_g = options.pageBreak) !== null && _g !== void 0 ? _g : 'auto',\n rowPageBreak: (_h = options.rowPageBreak) !== null && _h !== void 0 ? _h : 'auto',\n tableWidth: (_j = options.tableWidth) !== null && _j !== void 0 ? _j : 'auto',\n showHead: showHead,\n showFoot: showFoot,\n tableLineWidth: (_k = options.tableLineWidth) !== null && _k !== void 0 ? _k : 0,\n tableLineColor: (_l = options.tableLineColor) !== null && _l !== void 0 ? _l : 200,\n horizontalPageBreak: horizontalPageBreak,\n horizontalPageBreakRepeat: horizontalPageBreakRepeat,\n horizontalPageBreakBehaviour: (_m = options.horizontalPageBreakBehaviour) !== null && _m !== void 0 ? _m : 'afterAllRows',\n };\n}\nfunction getStartY(doc, userStartY) {\n var previous = doc.getLastAutoTable();\n var sf = doc.scaleFactor();\n var currentPage = doc.pageNumber();\n var isSamePageAsPreviousTable = false;\n if (previous && previous.startPageNumber) {\n var endingPage = previous.startPageNumber + previous.pageNumber - 1;\n isSamePageAsPreviousTable = endingPage === currentPage;\n }\n if (typeof userStartY === 'number') {\n return userStartY;\n }\n else if (userStartY == null || userStartY === false) {\n if (isSamePageAsPreviousTable && (previous === null || previous === void 0 ? void 0 : previous.finalY) != null) {\n // Some users had issues with overlapping tables when they used multiple\n // tables without setting startY so setting it here to a sensible default.\n return previous.finalY + 20 / sf;\n }\n }\n return null;\n}\nfunction parseContent$1(doc, options, window) {\n var head = options.head || [];\n var body = options.body || [];\n var foot = options.foot || [];\n if (options.html) {\n var hidden = options.includeHiddenHtml;\n if (window) {\n var htmlContent = parseHtml(doc, options.html, window, hidden, options.useCss) || {};\n head = htmlContent.head || head;\n body = htmlContent.body || head;\n foot = htmlContent.foot || head;\n }\n else {\n console.error('Cannot parse html in non browser environment');\n }\n }\n var columns = options.columns || parseColumns(head, body, foot);\n return { columns: columns, head: head, body: body, foot: foot };\n}\nfunction parseColumns(head, body, foot) {\n var firstRow = head[0] || body[0] || foot[0] || [];\n var result = [];\n Object.keys(firstRow)\n .filter(function (key) { return key !== '_element'; })\n .forEach(function (key) {\n var colSpan = 1;\n var input;\n if (Array.isArray(firstRow)) {\n input = firstRow[parseInt(key)];\n }\n else {\n input = firstRow[key];\n }\n if (typeof input === 'object' && !Array.isArray(input)) {\n colSpan = (input === null || input === void 0 ? void 0 : input.colSpan) || 1;\n }\n for (var i = 0; i < colSpan; i++) {\n var id = void 0;\n if (Array.isArray(firstRow)) {\n id = result.length;\n }\n else {\n id = key + (i > 0 ? \"_\".concat(i) : '');\n }\n var rowResult = { dataKey: id };\n result.push(rowResult);\n }\n });\n return result;\n}\n\nvar HookData = /** @class */ (function () {\n function HookData(doc, table, cursor) {\n this.table = table;\n this.pageNumber = table.pageNumber;\n this.settings = table.settings;\n this.cursor = cursor;\n this.doc = doc.getDocument();\n }\n return HookData;\n}());\nvar CellHookData = /** @class */ (function (_super) {\n __extends(CellHookData, _super);\n function CellHookData(doc, table, cell, row, column, cursor) {\n var _this = _super.call(this, doc, table, cursor) || this;\n _this.cell = cell;\n _this.row = row;\n _this.column = column;\n _this.section = row.section;\n return _this;\n }\n return CellHookData;\n}(HookData));\n\nvar Table = /** @class */ (function () {\n function Table(input, content) {\n this.pageNumber = 1;\n this.id = input.id;\n this.settings = input.settings;\n this.styles = input.styles;\n this.hooks = input.hooks;\n this.columns = content.columns;\n this.head = content.head;\n this.body = content.body;\n this.foot = content.foot;\n }\n Table.prototype.getHeadHeight = function (columns) {\n return this.head.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.getFootHeight = function (columns) {\n return this.foot.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.allRows = function () {\n return this.head.concat(this.body).concat(this.foot);\n };\n Table.prototype.callCellHooks = function (doc, handlers, cell, row, column, cursor) {\n for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {\n var handler = handlers_1[_i];\n var data = new CellHookData(doc, this, cell, row, column, cursor);\n var result = handler(data) === false;\n // Make sure text is always string[] since user can assign string\n cell.text = Array.isArray(cell.text) ? cell.text : [cell.text];\n if (result) {\n return false;\n }\n }\n return true;\n };\n Table.prototype.callEndPageHooks = function (doc, cursor) {\n doc.applyStyles(doc.userStyles);\n for (var _i = 0, _a = this.hooks.didDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData(doc, this, cursor));\n }\n };\n Table.prototype.callWillDrawPageHooks = function (doc, cursor) {\n for (var _i = 0, _a = this.hooks.willDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData(doc, this, cursor));\n }\n };\n Table.prototype.getWidth = function (pageWidth) {\n if (typeof this.settings.tableWidth === 'number') {\n return this.settings.tableWidth;\n }\n else if (this.settings.tableWidth === 'wrap') {\n var wrappedWidth = this.columns.reduce(function (total, col) { return total + col.wrappedWidth; }, 0);\n return wrappedWidth;\n }\n else {\n var margin = this.settings.margin;\n return pageWidth - margin.left - margin.right;\n }\n };\n return Table;\n}());\nvar Row = /** @class */ (function () {\n function Row(raw, index, section, cells, spansMultiplePages) {\n if (spansMultiplePages === void 0) { spansMultiplePages = false; }\n this.height = 0;\n this.raw = raw;\n if (raw instanceof HtmlRowInput) {\n this.raw = raw._element;\n this.element = raw._element;\n }\n this.index = index;\n this.section = section;\n this.cells = cells;\n this.spansMultiplePages = spansMultiplePages;\n }\n Row.prototype.getMaxCellHeight = function (columns) {\n var _this = this;\n return columns.reduce(function (acc, column) { var _a; return Math.max(acc, ((_a = _this.cells[column.index]) === null || _a === void 0 ? void 0 : _a.height) || 0); }, 0);\n };\n Row.prototype.hasRowSpan = function (columns) {\n var _this = this;\n return (columns.filter(function (column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return false;\n return cell.rowSpan > 1;\n }).length > 0);\n };\n Row.prototype.canEntireRowFit = function (height, columns) {\n return this.getMaxCellHeight(columns) <= height;\n };\n Row.prototype.getMinimumRowHeight = function (columns, doc) {\n var _this = this;\n return columns.reduce(function (acc, column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return 0;\n var lineHeight = doc.getLineHeight(cell.styles.fontSize);\n var vPadding = cell.padding('vertical');\n var oneRowHeight = vPadding + lineHeight;\n return oneRowHeight > acc ? oneRowHeight : acc;\n }, 0);\n };\n return Row;\n}());\nvar Cell = /** @class */ (function () {\n function Cell(raw, styles, section) {\n var _a;\n this.contentHeight = 0;\n this.contentWidth = 0;\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.height = 0;\n this.x = 0;\n this.y = 0;\n this.styles = styles;\n this.section = section;\n this.raw = raw;\n var content = raw;\n if (raw != null && typeof raw === 'object' && !Array.isArray(raw)) {\n this.rowSpan = raw.rowSpan || 1;\n this.colSpan = raw.colSpan || 1;\n content = (_a = raw.content) !== null && _a !== void 0 ? _a : raw;\n if (raw._element) {\n this.raw = raw._element;\n }\n }\n else {\n this.rowSpan = 1;\n this.colSpan = 1;\n }\n // Stringify 0 and false, but not undefined or null\n var text = content != null ? '' + content : '';\n var splitRegex = /\\r\\n|\\r|\\n/g;\n this.text = text.split(splitRegex);\n }\n Cell.prototype.getTextPos = function () {\n var y;\n if (this.styles.valign === 'top') {\n y = this.y + this.padding('top');\n }\n else if (this.styles.valign === 'bottom') {\n y = this.y + this.height - this.padding('bottom');\n }\n else {\n var netHeight = this.height - this.padding('vertical');\n y = this.y + netHeight / 2 + this.padding('top');\n }\n var x;\n if (this.styles.halign === 'right') {\n x = this.x + this.width - this.padding('right');\n }\n else if (this.styles.halign === 'center') {\n var netWidth = this.width - this.padding('horizontal');\n x = this.x + netWidth / 2 + this.padding('left');\n }\n else {\n x = this.x + this.padding('left');\n }\n return { x: x, y: y };\n };\n // TODO (v4): replace parameters with only (lineHeight)\n Cell.prototype.getContentHeight = function (scaleFactor, lineHeightFactor) {\n if (lineHeightFactor === void 0) { lineHeightFactor = 1.15; }\n var lineCount = Array.isArray(this.text) ? this.text.length : 1;\n var lineHeight = (this.styles.fontSize / scaleFactor) * lineHeightFactor;\n var height = lineCount * lineHeight + this.padding('vertical');\n return Math.max(height, this.styles.minCellHeight);\n };\n Cell.prototype.padding = function (name) {\n var padding = parseSpacing(this.styles.cellPadding, 0);\n if (name === 'vertical') {\n return padding.top + padding.bottom;\n }\n else if (name === 'horizontal') {\n return padding.left + padding.right;\n }\n else {\n return padding[name];\n }\n };\n return Cell;\n}());\nvar Column = /** @class */ (function () {\n function Column(dataKey, raw, index) {\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.dataKey = dataKey;\n this.raw = raw;\n this.index = index;\n }\n Column.prototype.getMaxCustomCellWidth = function (table) {\n var max = 0;\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n var cell = row.cells[this.index];\n if (cell && typeof cell.styles.cellWidth === 'number') {\n max = Math.max(max, cell.styles.cellWidth);\n }\n }\n return max;\n };\n return Column;\n}());\n\n/**\n * Calculate the column widths\n */\nfunction calculateWidths(doc, table) {\n calculate(doc, table);\n var resizableColumns = [];\n var initialTableWidth = 0;\n table.columns.forEach(function (column) {\n var customWidth = column.getMaxCustomCellWidth(table);\n if (customWidth) {\n // final column width\n column.width = customWidth;\n }\n else {\n // initial column width (will be resized)\n column.width = column.wrappedWidth;\n resizableColumns.push(column);\n }\n initialTableWidth += column.width;\n });\n // width difference that needs to be distributed\n var resizeWidth = table.getWidth(doc.pageSize().width) - initialTableWidth;\n // first resize attempt: with respect to minReadableWidth and minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) {\n return Math.max(column.minReadableWidth, column.minWidth);\n });\n }\n // second resize attempt: ignore minReadableWidth but respect minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) { return column.minWidth; });\n }\n resizeWidth = Math.abs(resizeWidth);\n if (!table.settings.horizontalPageBreak &&\n resizeWidth > 0.1 / doc.scaleFactor()) {\n // Table can't get smaller due to custom-width or minWidth restrictions\n // We can't really do much here. Up to user to for example\n // reduce font size, increase page size or remove custom cell widths\n // to allow more columns to be reduced in size\n resizeWidth = resizeWidth < 1 ? resizeWidth : Math.round(resizeWidth);\n console.log(\"Of the table content, \".concat(resizeWidth, \" units width could not fit page\"));\n }\n applyColSpans(table);\n fitContent(table, doc);\n applyRowSpans(table);\n}\nfunction calculate(doc, table) {\n var sf = doc.scaleFactor();\n var horizontalPageBreak = table.settings.horizontalPageBreak;\n var availablePageWidth = getPageAvailableWidth(doc, table);\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n var hooks = table.hooks.didParseCell;\n table.callCellHooks(doc, hooks, cell, row, column, null);\n var padding = cell.padding('horizontal');\n cell.contentWidth = getStringWidth(cell.text, cell.styles, doc) + padding;\n // Using [^\\S\\u00A0] instead of \\s ensures that we split the text on all\n // whitespace except non-breaking spaces (\\u00A0). We need to preserve\n // them in the split process to ensure correct word separation and width\n // calculation.\n var longestWordWidth = getStringWidth(cell.text.join(' ').split(/[^\\S\\u00A0]+/), cell.styles, doc);\n cell.minReadableWidth = longestWordWidth + cell.padding('horizontal');\n if (typeof cell.styles.cellWidth === 'number') {\n cell.minWidth = cell.styles.cellWidth;\n cell.wrappedWidth = cell.styles.cellWidth;\n }\n else if (cell.styles.cellWidth === 'wrap' ||\n horizontalPageBreak === true) {\n // cell width should not be more than available page width\n if (cell.contentWidth > availablePageWidth) {\n cell.minWidth = availablePageWidth;\n cell.wrappedWidth = availablePageWidth;\n }\n else {\n cell.minWidth = cell.contentWidth;\n cell.wrappedWidth = cell.contentWidth;\n }\n }\n else {\n // auto\n var defaultMinWidth = 10 / sf;\n cell.minWidth = cell.styles.minCellWidth || defaultMinWidth;\n cell.wrappedWidth = cell.contentWidth;\n if (cell.minWidth > cell.wrappedWidth) {\n cell.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n // For now we ignore the minWidth and wrappedWidth of colspan cells when calculating colspan widths.\n // Could probably be improved upon however.\n if (cell && cell.colSpan === 1) {\n column.wrappedWidth = Math.max(column.wrappedWidth, cell.wrappedWidth);\n column.minWidth = Math.max(column.minWidth, cell.minWidth);\n column.minReadableWidth = Math.max(column.minReadableWidth, cell.minReadableWidth);\n }\n else {\n // Respect cellWidth set in columnStyles even if there is no cells for this column\n // or if the column only have colspan cells. Since the width of colspan cells\n // does not affect the width of columns, setting columnStyles cellWidth enables the\n // user to at least do it manually.\n // Note that this is not perfect for now since for example row and table styles are\n // not accounted for\n var columnStyles = table.styles.columnStyles[column.dataKey] ||\n table.styles.columnStyles[column.index] ||\n {};\n var cellWidth = columnStyles.cellWidth || columnStyles.minCellWidth;\n if (cellWidth && typeof cellWidth === 'number') {\n column.minWidth = cellWidth;\n column.wrappedWidth = cellWidth;\n }\n }\n if (cell) {\n // Make sure all columns get at least min width even though width calculations are not based on them\n if (cell.colSpan > 1 && !column.minWidth) {\n column.minWidth = cell.minWidth;\n }\n if (cell.colSpan > 1 && !column.wrappedWidth) {\n column.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n}\n/**\n * Distribute resizeWidth on passed resizable columns\n */\nfunction resizeColumns(columns, resizeWidth, getMinWidth) {\n var initialResizeWidth = resizeWidth;\n var sumWrappedWidth = columns.reduce(function (acc, column) { return acc + column.wrappedWidth; }, 0);\n for (var i = 0; i < columns.length; i++) {\n var column = columns[i];\n var ratio = column.wrappedWidth / sumWrappedWidth;\n var suggestedChange = initialResizeWidth * ratio;\n var suggestedWidth = column.width + suggestedChange;\n var minWidth = getMinWidth(column);\n var newWidth = suggestedWidth < minWidth ? minWidth : suggestedWidth;\n resizeWidth -= newWidth - column.width;\n column.width = newWidth;\n }\n resizeWidth = Math.round(resizeWidth * 1e10) / 1e10;\n // Run the resizer again if there's remaining width needs\n // to be distributed and there're columns that can be resized\n if (resizeWidth) {\n var resizableColumns = columns.filter(function (column) {\n return resizeWidth < 0\n ? column.width > getMinWidth(column) // check if column can shrink\n : true; // check if column can grow\n });\n if (resizableColumns.length) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, getMinWidth);\n }\n }\n return resizeWidth;\n}\nfunction applyRowSpans(table) {\n var rowSpanCells = {};\n var colRowSpansLeft = 1;\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var data = rowSpanCells[column.index];\n if (colRowSpansLeft > 1) {\n colRowSpansLeft--;\n delete row.cells[column.index];\n }\n else if (data) {\n data.cell.height += row.height;\n colRowSpansLeft = data.cell.colSpan;\n delete row.cells[column.index];\n data.left--;\n if (data.left <= 1) {\n delete rowSpanCells[column.index];\n }\n }\n else {\n var cell = row.cells[column.index];\n if (!cell) {\n continue;\n }\n cell.height = row.height;\n if (cell.rowSpan > 1) {\n var remaining = all.length - rowIndex;\n var left = cell.rowSpan > remaining ? remaining : cell.rowSpan;\n rowSpanCells[column.index] = { cell: cell, left: left, row: row };\n }\n }\n }\n }\n}\nfunction applyColSpans(table) {\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n var colSpanCell = null;\n var combinedColSpanWidth = 0;\n var colSpansLeft = 0;\n for (var columnIndex = 0; columnIndex < table.columns.length; columnIndex++) {\n var column = table.columns[columnIndex];\n // Width and colspan\n colSpansLeft -= 1;\n if (colSpansLeft > 1 && table.columns[columnIndex + 1]) {\n combinedColSpanWidth += column.width;\n delete row.cells[column.index];\n }\n else if (colSpanCell) {\n var cell = colSpanCell;\n delete row.cells[column.index];\n colSpanCell = null;\n cell.width = column.width + combinedColSpanWidth;\n }\n else {\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n colSpansLeft = cell.colSpan;\n combinedColSpanWidth = 0;\n if (cell.colSpan > 1) {\n colSpanCell = cell;\n combinedColSpanWidth += column.width;\n continue;\n }\n cell.width = column.width + combinedColSpanWidth;\n }\n }\n }\n}\nfunction fitContent(table, doc) {\n var rowSpanHeight = { count: 0, height: 0 };\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n doc.applyStyles(cell.styles, true);\n var textSpace = cell.width - cell.padding('horizontal');\n if (cell.styles.overflow === 'linebreak') {\n // Add one pt to textSpace to fix rounding error\n cell.text = doc.splitTextToSize(cell.text, textSpace + 1 / doc.scaleFactor(), { fontSize: cell.styles.fontSize });\n }\n else if (cell.styles.overflow === 'ellipsize') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '...');\n }\n else if (cell.styles.overflow === 'hidden') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '');\n }\n else if (typeof cell.styles.overflow === 'function') {\n var result = cell.styles.overflow(cell.text, textSpace);\n if (typeof result === 'string') {\n cell.text = [result];\n }\n else {\n cell.text = result;\n }\n }\n cell.contentHeight = cell.getContentHeight(doc.scaleFactor(), doc.getLineHeightFactor());\n var realContentHeight = cell.contentHeight / cell.rowSpan;\n if (cell.rowSpan > 1 &&\n rowSpanHeight.count * rowSpanHeight.height <\n realContentHeight * cell.rowSpan) {\n rowSpanHeight = { height: realContentHeight, count: cell.rowSpan };\n }\n else if (rowSpanHeight && rowSpanHeight.count > 0) {\n if (rowSpanHeight.height > realContentHeight) {\n realContentHeight = rowSpanHeight.height;\n }\n }\n if (realContentHeight > row.height) {\n row.height = realContentHeight;\n }\n }\n rowSpanHeight.count--;\n }\n}\nfunction ellipsize(text, width, styles, doc, overflow) {\n return text.map(function (str) { return ellipsizeStr(str, width, styles, doc, overflow); });\n}\nfunction ellipsizeStr(text, width, styles, doc, overflow) {\n var precision = 10000 * doc.scaleFactor();\n width = Math.ceil(width * precision) / precision;\n if (width >= getStringWidth(text, styles, doc)) {\n return text;\n }\n while (width < getStringWidth(text + overflow, styles, doc)) {\n if (text.length <= 1) {\n break;\n }\n text = text.substring(0, text.length - 1);\n }\n return text.trim() + overflow;\n}\n\nfunction createTable(jsPDFDoc, input) {\n var doc = new DocHandler(jsPDFDoc);\n var content = parseContent(input, doc.scaleFactor());\n var table = new Table(input, content);\n calculateWidths(doc, table);\n doc.applyStyles(doc.userStyles);\n return table;\n}\nfunction parseContent(input, sf) {\n var content = input.content;\n var columns = createColumns(content.columns);\n // If no head or foot is set, try generating it with content from columns\n if (content.head.length === 0) {\n var sectionRow = generateSectionRow(columns, 'head');\n if (sectionRow)\n content.head.push(sectionRow);\n }\n if (content.foot.length === 0) {\n var sectionRow = generateSectionRow(columns, 'foot');\n if (sectionRow)\n content.foot.push(sectionRow);\n }\n var theme = input.settings.theme;\n var styles = input.styles;\n return {\n columns: columns,\n head: parseSection('head', content.head, columns, styles, theme, sf),\n body: parseSection('body', content.body, columns, styles, theme, sf),\n foot: parseSection('foot', content.foot, columns, styles, theme, sf),\n };\n}\nfunction parseSection(sectionName, sectionRows, columns, styleProps, theme, scaleFactor) {\n var rowSpansLeftForColumn = {};\n var result = sectionRows.map(function (rawRow, rowIndex) {\n var skippedRowForRowSpans = 0;\n var cells = {};\n var colSpansAdded = 0;\n var columnSpansLeft = 0;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n if (rowSpansLeftForColumn[column.index] == null ||\n rowSpansLeftForColumn[column.index].left === 0) {\n if (columnSpansLeft === 0) {\n var rawCell = void 0;\n if (Array.isArray(rawRow)) {\n rawCell =\n rawRow[column.index - colSpansAdded - skippedRowForRowSpans];\n }\n else {\n rawCell = rawRow[column.dataKey];\n }\n var cellInputStyles = {};\n if (typeof rawCell === 'object' && !Array.isArray(rawCell)) {\n cellInputStyles = (rawCell === null || rawCell === void 0 ? void 0 : rawCell.styles) || {};\n }\n var styles = cellStyles(sectionName, column, rowIndex, theme, styleProps, scaleFactor, cellInputStyles);\n var cell = new Cell(rawCell, styles, sectionName);\n // dataKey is not used internally no more but keep for\n // backwards compat in hooks\n cells[column.dataKey] = cell;\n cells[column.index] = cell;\n columnSpansLeft = cell.colSpan - 1;\n rowSpansLeftForColumn[column.index] = {\n left: cell.rowSpan - 1,\n times: columnSpansLeft,\n };\n }\n else {\n columnSpansLeft--;\n colSpansAdded++;\n }\n }\n else {\n rowSpansLeftForColumn[column.index].left--;\n columnSpansLeft = rowSpansLeftForColumn[column.index].times;\n skippedRowForRowSpans++;\n }\n }\n return new Row(rawRow, rowIndex, sectionName, cells);\n });\n return result;\n}\nfunction generateSectionRow(columns, section) {\n var sectionRow = {};\n columns.forEach(function (col) {\n if (col.raw != null) {\n var title = getSectionTitle(section, col.raw);\n if (title != null)\n sectionRow[col.dataKey] = title;\n }\n });\n return Object.keys(sectionRow).length > 0 ? sectionRow : null;\n}\nfunction getSectionTitle(section, column) {\n if (section === 'head') {\n if (typeof column === 'object') {\n return column.header || null;\n }\n else if (typeof column === 'string' || typeof column === 'number') {\n return column;\n }\n }\n else if (section === 'foot' && typeof column === 'object') {\n return column.footer;\n }\n return null;\n}\nfunction createColumns(columns) {\n return columns.map(function (input, index) {\n var _a;\n var key;\n if (typeof input === 'object') {\n key = (_a = input.dataKey) !== null && _a !== void 0 ? _a : index;\n }\n else {\n key = index;\n }\n return new Column(key, input, index);\n });\n}\nfunction cellStyles(sectionName, column, rowIndex, themeName, styles, scaleFactor, cellInputStyles) {\n var theme = getTheme(themeName);\n var sectionStyles;\n if (sectionName === 'head') {\n sectionStyles = styles.headStyles;\n }\n else if (sectionName === 'body') {\n sectionStyles = styles.bodyStyles;\n }\n else if (sectionName === 'foot') {\n sectionStyles = styles.footStyles;\n }\n var otherStyles = assign({}, theme.table, theme[sectionName], styles.styles, sectionStyles);\n var columnStyles = styles.columnStyles[column.dataKey] ||\n styles.columnStyles[column.index] ||\n {};\n var colStyles = sectionName === 'body' ? columnStyles : {};\n var rowStyles = sectionName === 'body' && rowIndex % 2 === 0\n ? assign({}, theme.alternateRow, styles.alternateRowStyles)\n : {};\n var defaultStyle = defaultStyles(scaleFactor);\n var themeStyles = assign({}, defaultStyle, otherStyles, rowStyles, colStyles);\n return assign(themeStyles, cellInputStyles);\n}\n\n// get columns can be fit into page\nfunction getColumnsCanFitInPage(doc, table, config) {\n var _a;\n if (config === void 0) { config = {}; }\n // Get page width\n var remainingWidth = getPageAvailableWidth(doc, table);\n // Get column data key to repeat\n var repeatColumnsMap = new Map();\n var colIndexes = [];\n var columns = [];\n var horizontalPageBreakRepeat = [];\n if (Array.isArray(table.settings.horizontalPageBreakRepeat)) {\n horizontalPageBreakRepeat = table.settings.horizontalPageBreakRepeat;\n // It can be a single value of type string or number (even number: 0)\n }\n else if (typeof table.settings.horizontalPageBreakRepeat === 'string' ||\n typeof table.settings.horizontalPageBreakRepeat === 'number') {\n horizontalPageBreakRepeat = [table.settings.horizontalPageBreakRepeat];\n }\n // Code to repeat the given column in split pages\n horizontalPageBreakRepeat.forEach(function (field) {\n var col = table.columns.find(function (item) { return item.dataKey === field || item.index === field; });\n if (col && !repeatColumnsMap.has(col.index)) {\n repeatColumnsMap.set(col.index, true);\n colIndexes.push(col.index);\n columns.push(table.columns[col.index]);\n remainingWidth -= col.wrappedWidth;\n }\n });\n var first = true;\n var i = (_a = config === null || config === void 0 ? void 0 : config.start) !== null && _a !== void 0 ? _a : 0; // make sure couter is initiated outside the loop\n while (i < table.columns.length) {\n // Prevent duplicates\n if (repeatColumnsMap.has(i)) {\n i++;\n continue;\n }\n var colWidth = table.columns[i].wrappedWidth;\n // Take at least one column even if it doesn't fit\n if (first || remainingWidth >= colWidth) {\n first = false;\n colIndexes.push(i);\n columns.push(table.columns[i]);\n remainingWidth -= colWidth;\n }\n else {\n break;\n }\n i++;\n }\n return { colIndexes: colIndexes, columns: columns, lastIndex: i - 1 };\n}\nfunction calculateAllColumnsCanFitInPage(doc, table) {\n var allResults = [];\n for (var i = 0; i < table.columns.length; i++) {\n var result = getColumnsCanFitInPage(doc, table, { start: i });\n if (result.columns.length) {\n allResults.push(result);\n i = result.lastIndex;\n }\n }\n return allResults;\n}\n\nfunction drawTable(jsPDFDoc, table) {\n var settings = table.settings;\n var startY = settings.startY;\n var margin = settings.margin;\n var cursor = { x: margin.left, y: startY };\n var sectionsHeight = table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n var minTableBottomPos = startY + margin.bottom + sectionsHeight;\n if (settings.pageBreak === 'avoid') {\n var rows = table.body;\n var tableHeight = rows.reduce(function (acc, row) { return acc + row.height; }, 0);\n minTableBottomPos += tableHeight;\n }\n var doc = new DocHandler(jsPDFDoc);\n if (settings.pageBreak === 'always' ||\n (settings.startY != null && minTableBottomPos > doc.pageSize().height)) {\n nextPage(doc);\n cursor.y = margin.top;\n }\n table.callWillDrawPageHooks(doc, cursor);\n var startPos = assign({}, cursor);\n table.startPageNumber = doc.pageNumber();\n if (settings.horizontalPageBreak) {\n // managed flow for split columns\n printTableWithHorizontalPageBreak(doc, table, startPos, cursor);\n }\n else {\n // normal flow\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' ||\n settings.showHead === 'everyPage') {\n table.head.forEach(function (row) {\n return printRow(doc, table, row, cursor, table.columns);\n });\n }\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, table.columns);\n });\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) {\n return printRow(doc, table, row, cursor, table.columns);\n });\n }\n }\n addTableBorder(doc, table, startPos, cursor);\n table.callEndPageHooks(doc, cursor);\n table.finalY = cursor.y;\n jsPDFDoc.lastAutoTable = table;\n doc.applyStyles(doc.userStyles);\n}\nfunction printTableWithHorizontalPageBreak(doc, table, startPos, cursor) {\n // calculate width of columns and render only those which can fit into page\n var allColumnsCanFitResult = calculateAllColumnsCanFitInPage(doc, table);\n var settings = table.settings;\n if (settings.horizontalPageBreakBehaviour === 'afterAllRows') {\n allColumnsCanFitResult.forEach(function (colsAndIndexes, index) {\n doc.applyStyles(doc.userStyles);\n // add page to print next columns in new page\n if (index > 0) {\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, colsAndIndexes.columns, true);\n }\n else {\n // print head for selected columns\n printHead(doc, table, cursor, colsAndIndexes.columns);\n }\n // print body & footer for selected columns\n printBody(doc, table, startPos, cursor, colsAndIndexes.columns);\n printFoot(doc, table, cursor, colsAndIndexes.columns);\n });\n }\n else {\n var lastRowIndexOfLastPage_1 = -1;\n var firstColumnsToFitResult = allColumnsCanFitResult[0];\n var _loop_1 = function () {\n // Print the first columns, taking note of the last row printed\n var lastPrintedRowIndex = lastRowIndexOfLastPage_1;\n if (firstColumnsToFitResult) {\n doc.applyStyles(doc.userStyles);\n var firstColumnsToFit = firstColumnsToFitResult.columns;\n if (lastRowIndexOfLastPage_1 >= 0) {\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, firstColumnsToFit, true);\n }\n else {\n printHead(doc, table, cursor, firstColumnsToFit);\n }\n lastPrintedRowIndex = printBodyWithoutPageBreaks(doc, table, lastRowIndexOfLastPage_1 + 1, cursor, firstColumnsToFit);\n printFoot(doc, table, cursor, firstColumnsToFit);\n }\n // Check how many rows were printed, so that the next columns would not print more rows than that\n var maxNumberOfRows = lastPrintedRowIndex - lastRowIndexOfLastPage_1;\n // Print the next columns, never exceding maxNumberOfRows\n allColumnsCanFitResult.slice(1).forEach(function (colsAndIndexes) {\n doc.applyStyles(doc.userStyles);\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, colsAndIndexes.columns, true);\n printBodyWithoutPageBreaks(doc, table, lastRowIndexOfLastPage_1 + 1, cursor, colsAndIndexes.columns, maxNumberOfRows);\n printFoot(doc, table, cursor, colsAndIndexes.columns);\n });\n lastRowIndexOfLastPage_1 = lastPrintedRowIndex;\n };\n while (lastRowIndexOfLastPage_1 < table.body.length - 1) {\n _loop_1();\n }\n }\n}\nfunction printHead(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' || settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction printBody(doc, table, startPos, cursor, columns) {\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n });\n}\nfunction printBodyWithoutPageBreaks(doc, table, startRowIndex, cursor, columns, maxNumberOfRows) {\n doc.applyStyles(doc.userStyles);\n maxNumberOfRows = maxNumberOfRows !== null && maxNumberOfRows !== void 0 ? maxNumberOfRows : table.body.length;\n var endRowIndex = Math.min(startRowIndex + maxNumberOfRows, table.body.length);\n var lastPrintedRowIndex = -1;\n var rows = table.body.slice(startRowIndex, endRowIndex);\n for (var index = 0; index < rows.length; index++) {\n var row = rows[index];\n var isLastRow = startRowIndex + index === table.body.length - 1;\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, columns)) {\n printRow(doc, table, row, cursor, columns);\n lastPrintedRowIndex = startRowIndex + index;\n }\n else {\n break;\n }\n }\n return lastPrintedRowIndex;\n}\nfunction printFoot(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction getRemainingLineCount(cell, remainingPageSpace, doc) {\n var lineHeight = doc.getLineHeight(cell.styles.fontSize);\n var vPadding = cell.padding('vertical');\n var remainingLines = Math.floor((remainingPageSpace - vPadding) / lineHeight);\n return Math.max(0, remainingLines);\n}\nfunction modifyRowToFit(row, remainingPageSpace, table, doc) {\n var cells = {};\n row.spansMultiplePages = true;\n row.height = 0;\n var rowHeight = 0;\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n if (!Array.isArray(cell.text)) {\n cell.text = [cell.text];\n }\n var remainderCell = new Cell(cell.raw, cell.styles, cell.section);\n remainderCell = assign(remainderCell, cell);\n remainderCell.text = [];\n var remainingLineCount = getRemainingLineCount(cell, remainingPageSpace, doc);\n if (cell.text.length > remainingLineCount) {\n remainderCell.text = cell.text.splice(remainingLineCount, cell.text.length);\n }\n var scaleFactor = doc.scaleFactor();\n var lineHeightFactor = doc.getLineHeightFactor();\n cell.contentHeight = cell.getContentHeight(scaleFactor, lineHeightFactor);\n if (cell.contentHeight >= remainingPageSpace) {\n cell.contentHeight = remainingPageSpace;\n remainderCell.styles.minCellHeight -= remainingPageSpace;\n }\n if (cell.contentHeight > row.height) {\n row.height = cell.contentHeight;\n }\n remainderCell.contentHeight = remainderCell.getContentHeight(scaleFactor, lineHeightFactor);\n if (remainderCell.contentHeight > rowHeight) {\n rowHeight = remainderCell.contentHeight;\n }\n cells[column.index] = remainderCell;\n }\n var remainderRow = new Row(row.raw, -1, row.section, cells, true);\n remainderRow.height = rowHeight;\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var remainderCell = remainderRow.cells[column.index];\n if (remainderCell) {\n remainderCell.height = remainderRow.height;\n }\n var cell = row.cells[column.index];\n if (cell) {\n cell.height = row.height;\n }\n }\n return remainderRow;\n}\nfunction shouldPrintOnCurrentPage(doc, row, remainingPageSpace, table) {\n var pageHeight = doc.pageSize().height;\n var margin = table.settings.margin;\n var marginHeight = margin.top + margin.bottom;\n var maxRowHeight = pageHeight - marginHeight;\n if (row.section === 'body') {\n // Should also take into account that head and foot is not\n // on every page with some settings\n maxRowHeight -=\n table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n }\n var minRowHeight = row.getMinimumRowHeight(table.columns, doc);\n var minRowFits = minRowHeight < remainingPageSpace;\n if (minRowHeight > maxRowHeight) {\n console.log(\"Will not be able to print row \".concat(row.index, \" correctly since it's minimum height is larger than page height\"));\n return true;\n }\n if (!minRowFits) {\n return false;\n }\n var rowHasRowSpanCell = row.hasRowSpan(table.columns);\n var rowHigherThanPage = row.getMaxCellHeight(table.columns) > maxRowHeight;\n if (rowHigherThanPage) {\n if (rowHasRowSpanCell) {\n console.log(\"The content of row \".concat(row.index, \" will not be drawn correctly since drawing rows with a height larger than the page height and has cells with rowspans is not supported.\"));\n }\n return true;\n }\n if (rowHasRowSpanCell) {\n // Currently a new page is required whenever a rowspan row don't fit a page.\n return false;\n }\n if (table.settings.rowPageBreak === 'avoid') {\n return false;\n }\n // In all other cases print the row on current page\n return true;\n}\nfunction printFullRow(doc, table, row, isLastRow, startPos, cursor, columns) {\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, columns)) {\n // The row fits in the current page\n printRow(doc, table, row, cursor, columns);\n }\n else if (shouldPrintOnCurrentPage(doc, row, remainingSpace, table)) {\n // The row gets split in two here, each piece in one page\n var remainderRow = modifyRowToFit(row, remainingSpace, table, doc);\n printRow(doc, table, row, cursor, columns);\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, remainderRow, isLastRow, startPos, cursor, columns);\n }\n else {\n // The row get printed entirelly on the next page\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n }\n}\nfunction printRow(doc, table, row, cursor, columns) {\n cursor.x = table.settings.margin.left;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n var cell = row.cells[column.index];\n if (!cell) {\n cursor.x += column.width;\n continue;\n }\n doc.applyStyles(cell.styles);\n cell.x = cursor.x;\n cell.y = cursor.y;\n var result = table.callCellHooks(doc, table.hooks.willDrawCell, cell, row, column, cursor);\n if (result === false) {\n cursor.x += column.width;\n continue;\n }\n drawCellRect(doc, cell, cursor);\n var textPos = cell.getTextPos();\n autoTableText(cell.text, textPos.x, textPos.y, {\n halign: cell.styles.halign,\n valign: cell.styles.valign,\n maxWidth: Math.ceil(cell.width - cell.padding('left') - cell.padding('right')),\n }, doc.getDocument());\n table.callCellHooks(doc, table.hooks.didDrawCell, cell, row, column, cursor);\n cursor.x += column.width;\n }\n cursor.y += row.height;\n}\nfunction drawCellRect(doc, cell, cursor) {\n var cellStyles = cell.styles;\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/774\n // TODO (v4): better solution?\n doc.getDocument().setFillColor(doc.getDocument().getFillColor());\n if (typeof cellStyles.lineWidth === 'number') {\n // Draw cell background with normal borders\n var fillStyle = getFillStyle(cellStyles.lineWidth, cellStyles.fillColor);\n if (fillStyle) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, fillStyle);\n }\n }\n else if (typeof cellStyles.lineWidth === 'object') {\n // Draw cell background\n if (cellStyles.fillColor) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, 'F');\n }\n // Draw cell individual borders\n drawCellBorders(doc, cell, cursor, cellStyles.lineWidth);\n }\n}\n/**\n * Draw all specified borders. Borders are centered on cell's edge and lengthened\n * to overlap with neighbours to create sharp corners.\n * @param doc\n * @param cell\n * @param cursor\n * @param fillColor\n * @param lineWidth\n */\nfunction drawCellBorders(doc, cell, cursor, lineWidth) {\n var x1, y1, x2, y2;\n if (lineWidth.top) {\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y;\n if (lineWidth.right) {\n x2 += 0.5 * lineWidth.right;\n }\n if (lineWidth.left) {\n x1 -= 0.5 * lineWidth.left;\n }\n drawLine(lineWidth.top, x1, y1, x2, y2);\n }\n if (lineWidth.bottom) {\n x1 = cursor.x;\n y1 = cursor.y + cell.height;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n if (lineWidth.right) {\n x2 += 0.5 * lineWidth.right;\n }\n if (lineWidth.left) {\n x1 -= 0.5 * lineWidth.left;\n }\n drawLine(lineWidth.bottom, x1, y1, x2, y2);\n }\n if (lineWidth.left) {\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x;\n y2 = cursor.y + cell.height;\n if (lineWidth.top) {\n y1 -= 0.5 * lineWidth.top;\n }\n if (lineWidth.bottom) {\n y2 += 0.5 * lineWidth.bottom;\n }\n drawLine(lineWidth.left, x1, y1, x2, y2);\n }\n if (lineWidth.right) {\n x1 = cursor.x + cell.width;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n if (lineWidth.top) {\n y1 -= 0.5 * lineWidth.top;\n }\n if (lineWidth.bottom) {\n y2 += 0.5 * lineWidth.bottom;\n }\n drawLine(lineWidth.right, x1, y1, x2, y2);\n }\n function drawLine(width, x1, y1, x2, y2) {\n doc.getDocument().setLineWidth(width);\n doc.getDocument().line(x1, y1, x2, y2, 'S');\n }\n}\nfunction getRemainingPageSpace(doc, table, isLastRow, cursor) {\n var bottomContentHeight = table.settings.margin.bottom;\n var showFoot = table.settings.showFoot;\n if (showFoot === 'everyPage' || (showFoot === 'lastPage' && isLastRow)) {\n bottomContentHeight += table.getFootHeight(table.columns);\n }\n return doc.pageSize().height - cursor.y - bottomContentHeight;\n}\nfunction addPage(doc, table, startPos, cursor, columns, suppressFooter) {\n if (columns === void 0) { columns = []; }\n if (suppressFooter === void 0) { suppressFooter = false; }\n doc.applyStyles(doc.userStyles);\n if (table.settings.showFoot === 'everyPage' && !suppressFooter) {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n // Add user content just before adding new page ensure it will\n // be drawn above other things on the page\n table.callEndPageHooks(doc, cursor);\n var margin = table.settings.margin;\n addTableBorder(doc, table, startPos, cursor);\n nextPage(doc);\n table.pageNumber++;\n cursor.x = margin.left;\n cursor.y = margin.top;\n startPos.y = margin.top;\n // call didAddPage hooks before any content is added to the page\n table.callWillDrawPageHooks(doc, cursor);\n if (table.settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n doc.applyStyles(doc.userStyles);\n }\n}\nfunction nextPage(doc) {\n var current = doc.pageNumber();\n doc.setPage(current + 1);\n var newCurrent = doc.pageNumber();\n if (newCurrent === current) {\n doc.addPage();\n return true;\n }\n return false;\n}\n\nfunction applyPlugin(jsPDF) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n jsPDF.API.autoTable = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var options = args[0];\n var input = parseInput(this, options);\n var table = createTable(this, input);\n drawTable(this, table);\n return this;\n };\n // Assign false to enable `doc.lastAutoTable.finalY || 40` sugar\n jsPDF.API.lastAutoTable = false;\n jsPDF.API.autoTableText = function (text, x, y, styles) {\n autoTableText(text, x, y, styles, this);\n };\n jsPDF.API.autoTableSetDefaults = function (defaults) {\n DocHandler.setDefaults(defaults, this);\n return this;\n };\n jsPDF.autoTableSetDefaults = function (defaults, doc) {\n DocHandler.setDefaults(defaults, doc);\n };\n jsPDF.API.autoTableHtmlToJson = function (tableElem, includeHiddenElements) {\n var _a;\n if (includeHiddenElements === void 0) { includeHiddenElements = false; }\n if (typeof window === 'undefined') {\n console.error('Cannot run autoTableHtmlToJson in non browser environment');\n return null;\n }\n var doc = new DocHandler(this);\n var _b = parseHtml(doc, tableElem, window, includeHiddenElements, false), head = _b.head, body = _b.body;\n var columns = ((_a = head[0]) === null || _a === void 0 ? void 0 : _a.map(function (c) { return c.content; })) || [];\n return { columns: columns, rows: body, data: body };\n };\n}\n\nvar _a;\nfunction autoTable(d, options) {\n var input = parseInput(d, options);\n var table = createTable(d, input);\n drawTable(d, table);\n}\n// Experimental export\nfunction __createTable(d, options) {\n var input = parseInput(d, options);\n return createTable(d, input);\n}\nfunction __drawTable(d, table) {\n drawTable(d, table);\n}\ntry {\n if (typeof window !== 'undefined' && window) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var anyWindow = window;\n var jsPDF = anyWindow.jsPDF || ((_a = anyWindow.jspdf) === null || _a === void 0 ? void 0 : _a.jsPDF);\n if (jsPDF) {\n applyPlugin(jsPDF);\n }\n }\n}\ncatch (error) {\n console.error('Could not apply autoTable plugin', error);\n}\n\nexport { Cell, CellHookData, Column, HookData, Row, Table, __createTable, __drawTable, applyPlugin, autoTable, autoTable as default };\n"],"names":["theme","createTheme","cssVariables","typography","fontFamily","join","palette","primary","main","mainLight","light","gray","lightGreen","green","red","lightRed","lightGray","darkGray","dark","text","secondary","contrastText","white","gradients","MetricSelector","_ref","metric","onMetricChange","_ref$options","options","_ref$label","label","_React$useState","React","useState","_React$useState2","_slicedToArray","anchorEl","setAnchorEl","open","Boolean","handleClick","event","currentTarget","handleClose","value","_jsxs","Box","sx","display","gap","children","Button","id","undefined","onClick","variant","borderRadius","borderColor","color","textTransform","fontWeight","px","height","bgcolor","_jsx","Menu","onClose","MenuListProps","PaperProps","mt","boxShadow","minWidth","map","option","MenuItem","RevenueChart","data","series","categories","_ref$height","_ref$stacked","stacked","_ref$type","type","_ref$id","colors","_ref$showLegend","showLegend","useTheme","isRadial","baseOptions","chart","toolbar","show","sparkline","enabled","animations","tooltip","y","formatter","toLowerCase","concat","toLocaleString","radialOptions","_objectSpread","labels","stroke","width","dataLabels","legend","position","horizontalAlign","plotOptions","pie","donut","size","total","w","sum","globals","seriesTotals","reduce","a","b","Math","round","linearOptions","curve","fill","gradient","shadeIntensity","opacityFrom","opacityTo","stops","xaxis","axisBorder","axisTicks","tickAmount","rotate","rotateAlways","hideOverlappingLabels","style","fontSize","val","date","Date","isNaN","getTime","toLocaleDateString","month","day","yaxis","grid","strokeDashArray","length","bar","columnWidth","chartOptions","chartSeries","_series$","processedData","Array","isArray","v","_typeof","name","ReactApexChart","RenderChartCard","item","index","_ref$isPrimary","isPrimary","_ref$isPremium","isPremium","setMetric","_ref$md","md","Grid","xs","paddingTop","Card","flexDirection","border","CardContent","p","flexGrow","justifyContent","alignItems","mb","textAlign","Typography","subtitle","JSON","stringify","trend","py","letterSpacing","subValue","hideControls","sm","leg","_Fragment","showSelector","IconButton","MoreHorizIcon","minHeight","includes","flexWrap","marginTop","footer","pt","borderTop","left","right","NewOverview","lazy","Dashboard","_ref$apiData","apiData","_ref$overviewType","overviewType","_ref$dateName","dateName","_ref$exportTrigger","exportTrigger","ThemeProvider","Suspense","fallback","CircularProgress","activeSection","formatNumber","num","toFixed","replace","toString","OverallSection","PaidSection","OrganicSection","EmailSection","activeSectionProp","initialMetric","revenueData","donationsData","_useState","_useState2","_useState3","_useState4","setActiveSection","useEffect","capitalized","charAt","toUpperCase","slice","buildAndDownloadPdf","_ref2","_asyncToGenerator","_regenerator","m","_callee","_apiData$overviewStat","_apiData$overviewStat2","_apiData$trafficSourc","_apiData$roasCard","_apiData$overviewStat3","_apiData$overviewStat4","_apiData$overviewStat5","_apiData$overviewStat6","_apiData$overviewStat7","_apiData$overviewStat8","_doc$lastAutoTable","_apiData$orderBumpDet","_apiData$upSellDetail","_apiData$downSellDeta","_apiData$referralDeta","_doc$lastAutoTable2","_yield$Promise$all","_yield$Promise$all2","jsPDF","autoTableModule","autoTable","growth","overview","dateLabel","generatedAt","generatedLabel","fmtPct","fmtSigned","doc","pageWidth","marginX","contentWidth","cardGap","cardWidth","addHeader","addFooter","metricCard","donorMixRaw","newDonorsCount","returningDonorsCount","avgGift","newDonorsObj","returningDonorsObj","totalAmount","totalCount","activeCampaignRows","trafficRows","donorMixRows","refundsData","totalRaised","netRaised","totalDonors","convRate","avgDonation","totalVisits","passThrough","refundRate","chargebackRate","page1Cards","trendY","donorCardTop","miscRows","safeDate","_t","_context","n","Promise","all","overviewStats","growthPercentage","toLocaleTimeString","digits","arguments","Number","suffix","numeric","sign","unit","format","internal","pageSize","getWidth","setFont","setTextColor","setFontSize","activeFilters","pageNumber","totalPages","_ref3","x","title","detail","positive","trim","startsWith","setDrawColor","setFillColor","roundedRect","apply","_toConsumableArray","maxWidth","donorPieChartData","find","d","totalDonations","newDonors","returningDonors","activeCampaigns","campaign","collectedAmount","usdTargetAmount","uniqueDonationsCount","trafficSourceData","source","donors","revenue","raised","refundAndChargeBacks","totalRevenue","netRevenue","conversionRate","overallAVGDonations","medianGift","topDecileGift","roasCard","roasCardPrev","adSpend","attributedRevenue","refundRateChange","refundCount","forEach","card","idx","col","row","floor","ceil","startY","head","body","email","call","s","i","organic","paidAds","margin","styles","cellPadding","headStyles","fillColor","textColor","alternateRowStyles","addPage","lastAutoTable","finalY","orderBumpDetails","upSellDetails","downSellDetails","referralDetails","toISOString","save","console","error","currentData","oneTimeData","oneTimeDonations","oneTimeValues","oneTimeCategories","oneTimeTotal","firstInstData","firstInstallmentRevenue","firstInstValues","firstInstCategories","firstInstTotal","totalRevData","totalRevValues","totalRevCategories","totalRevTotal","avgDonData","averageDonation","avgDonValues","avgDonCategories","avgDonOverall","tipData","tipAmount","tipValues","tipCategories","tipTotal","convRateData","convRateValues","convRateCategories","convRateAvg","organicVisData","organicVisits","paidVisData","paidVisits","organicVisValues","paidVisValues","trafficCategories","primaryCharts","secondaryCharts","totalTips","tertiaryCharts","quaternaryCharts","PerformanceSection","_ref$performanceData","performanceData","visitorsData","revPerVisData","revenuePerVisitor","revPerVisValues","revPerVisCategories","revPerVisTotal","totalVisData","totalVisValues","totalVisCategories","totalVisTotal","upSellData","upSellRaisedAmount","upSellValues","upSellCategories","upSellTotal","downSellData","downSellRaisedAmount","downSellValues","downSellCategories","downSellTotal","abandonedData","abandonedDonationRecoveryCount","abandonedValues","abandonedCategories","abandonedTotal","gutterBottom","container","spacing","range","plans","share","RecurringDonationAmounts","LinearProgress","RecurringRevenueSection","UTM_COLORS","rawData","donations","Revenue","Donations","SORT_OPTIONS","dateCategories","from","_","getDate","UTMPerformance","sortMode","setSortMode","_useState5","_useState6","_useState7","_useState8","parameter","setParameter","sortedData","sort","valA","valB","zoom","opposite","min","padding","shared","custom","dataPointIndex","items","config","markers","BORDER","headerCellSx","borderBottom","cellSx","verticalAlign","overflow","TableContainer","Table","borderCollapse","TableHead","TableRow","TableCell","e","ml","MoreVertIcon","TableBody","colorIdx","findIndex","flexShrink","opt","CheckIcon","step","DropOffPoints","DonorBehavior","miniChartOptions","MiniChart","rows","abandoned","sent","openRate","openCount","clickRate","clickCount","recoveryRate","recoveryData","recovered","recoveredData","aggregates","sentData","openRateData","clickRateData","borderRight","lineHeight","aggCellSx","AbandonedDonationRecovery","InfoOutlined","Settings","pb","overflowX","boxSizing","borderSpacing","themeColors","themeTypography","ActiveCampaignsCard","_ref$title","_ref$subtitle","_ref$columns","columns","_ref$rows","_ref$gridTemplateColu","gridTemplateColumns","header","Avatar","avatarBg","icon","iconColor","val1","progress","progressColor","val2","highlightVal3","val3Color","val3","val4","trendType","trendLabel","statusBg","statusColor","status","DonorMixCard","_ref$series","_ref$labels","_ref$colors","_ref$centerLabel","centerLabel","_ref$centerValue","centerValue","_ref$items","_ref$showBottomSummar","showBottomSummary","_ref$bottomSummaryVal","bottomSummaryValue","_ref$bottomSummaryTre","bottomSummaryTrend","_ref$sx","offsetY","states","hover","filter","Chart","TrafficSourceCard","_ref$trafficSourceDat","_ref$total","paidAdsColor","organicColor","emailColor","directColor","getSourceColor","shareValue","textOverflow","whiteSpace","max","MetricSparklineCard","_ref$trendColor","trendColor","_ref$chartData","chartData","_ref$chartColor","chartColor","_ref$footerMetrics","footerMetrics","_ref$bottomSection","bottomSection","marker","MetricDonutCard","acceptanceRate","acceptanceVal","acceptanceTrend","raisedVal","raisedTrend","_ref$chartColors","chartColors","radialBar","hollow","track","background","strokeWidth","lineCap","TrendingUp","DonationTypeBarChart","donationTypeData","recurringColor","oneTimeColor","summaries","isDistributed","recurring","oneTime","totalRecurringDonations","totalOneTimeDonations","_dataObj$summary","_dataObj$summary2","_dataObj$summary3","_dataObj$summary4","dataObj","summary","horizontal","distributed","opacity","lines","mr","CardWrapper","LandingPagesCard","page","visitors","cvr","KeywordsCard","keyword","clicks","rank","GeographyCard","_ref2$subtitle","country","stats","percentage","TopCampaignsRaisedCard","marginBottom","TopCampaignsCTRCard","TopCampaignsConvRateCard","TopPerformingCampaignsCard","spend","roas","PaidDonorGeographyCard","donorGeographyData","rawCountries","countries","countryName","RefundsChargebacksCard","_ref$refundsChargebac","refundsChargebacksData","_refundsChargebacksDa","_refundsChargebacksDa2","_refundsChargebacksDa3","totalRefundedAmount","_refundsChargebacksDa4","totalRefunds","_refundsChargebacksDa5","totalChargebacks","_refundsChargebacksDa6","_refundsChargebacksDa8","refundSeries","parseFloat","chargebackSeries","maxVal","yAxisMax","annotations","offsetX","fmt","_n$toFixed","growthColor","growthLabel","abs","MetricCard","caption","active","warning","paddingBottom","Stack","direction","_apiData$overviewStat9","_apiData$overviewStat0","_apiData$overviewStat1","_apiData$overviewStat10","_apiData$roasCardPrev","_apiData$overviewStat11","_apiData$overviewStat12","_apiData$overviewStat13","_orderBumpData$chart","_orderBumpData$peakDa","_orderBumpData$peakDa2","_referralData$chartDa","activeMetric","setActiveMetric","recurringBarChartData","donorGeography","orderBumpData","upsellData","downsellData","referralData","allCharts","getExtendedCharts","charts","c","push","metricInfo","DollarIcon","money","HeartIcon","PeopleIcon","TrendIcon","AdjustIcon","activeCampaignsData","donorMix","totalDonorsMix","newDonorsPerc","returningDonorsPerc","donorMixPrev","log","renderCard","extendedCharts","selectedInfo","mainChart","_apiData$overviewStat14","stackedData","hasStackedData","_apiData$overviewStat15","netData","_apiData$overviewStat16","donorsData","roasData","_apiData$overviewStat17","conversionData","_apiData$overviewStat18","avgData","avgDonations","lg","Object","keys","campaignName","split","word","maxHeight","averagePerDay","totalOrders","peakDay","amount","totalUpsellsAttached","acceptanceGrowth","raisedGrowth","totalReferrers","averageGift","chartLabel","IndeterminateCheckBoxOutlinedIcon","ROAS","PersonOutlinedIcon","totalRaisedTrend","netRaisedSub","SearchoutlinedIcon","avgDonationTrend","roasTrend","EmailTrendCard","_ref$yAxisMax","_ref$yAxisTickAmount","yAxisTickAmount","_ref$yAxisFormatter","yAxisFormatter","dashArray","dashed","bottom","radius","itemMargin","vertical","CTR","NotInterestedIcon","EmailIcon","Clicks","NearMeIcon","HighlightOffIcon"],"mappings":"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","x_google_ignoreList":[29]}
1
+ {"version":3,"file":"index.es.js","sources":["../src/config/customTheme.js","../src/components/MetricSelector.jsx","../src/components/RevenueChart.jsx","../src/components/UI/RenderChartCard/index.jsx","../src/components/Dashboard.jsx","../src/config/helper.js","../src/components/UI/NewOverview/index.jsx","../src/components/UI/PerformanceSection/index.jsx","../src/components/UI/RecurringDonationAmounts/index.jsx","../src/components/UI/RecurringRevenueSection/index.jsx","../src/components/UI/UTMPerformance/index.jsx","../src/components/UI/DropOffPoints/index.jsx","../src/components/UI/DonorBehavior/index.jsx","../src/components/UI/AbandonedDonationRecovery/index.jsx","../src/config/customColors.js","../src/components/UI/ActiveCampaignsCard/index.jsx","../src/components/UI/DonorMixCard/index.jsx","../src/components/UI/TrafficSourceCard/index.jsx","../src/components/UI/MetricSparklineCard/index.jsx","../src/components/UI/MetricDonutCard/index.jsx","../src/components/UI/DonationTypeBarChart/index.jsx","../src/components/UI/TOPCards/index.jsx","../src/components/UI/RefundsChargebacksCard/index.jsx","../src/components/advanced/MetricCard/index.jsx","../src/components/UI/NewOverview/OverallSection.jsx","../src/components/UI/NewOverview/PaidSection.jsx","../src/components/UI/NewOverview/OrganicSection.jsx","../src/components/UI/EmailTrendCard/index.jsx","../src/components/UI/NewOverview/EmailSection.jsx","../node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.mjs"],"sourcesContent":["import { createTheme } from \"@mui/material/styles\";\r\n\r\nexport const theme = createTheme({\r\n cssVariables: true, // Enable CSS variables for better SSR support\r\n typography: {\r\n fontFamily: [\r\n \"var(--font-league-spartan)\",\r\n \"var(--font-noto-sans-arabic)\", // Added as a fallback for Arabic text\r\n \"-apple-system\",\r\n \"BlinkMacSystemFont\",\r\n \"Segoe UI\",\r\n \"Roboto\",\r\n \"Helvetica Neue\",\r\n \"Arial\",\r\n \"sans-serif\",\r\n \"Apple Color Emoji\",\r\n \"Segoe UI Emoji\",\r\n \"Segoe UI Symbol\",\r\n ].join(\",\"),\r\n },\r\n palette: {\r\n primary: {\r\n main: \"#6363E6\",\r\n mainLight: \"#F7F7FF\",\r\n light: \"#FFFFFF\",\r\n gray: \"#A1A1A8\",\r\n lightGreen: \"#E1FBF2\",\r\n green: \"#0CAB72\",\r\n red: \"#E61D1D\",\r\n lightRed: \"#FFEDED\",\r\n lightGray: \"#E9E9EB\",\r\n darkGray: \"#606062\",\r\n dark: \"#090909\",\r\n },\r\n text: { primary: \"#666666\" },\r\n secondary: {\r\n main: \"#E0C2FF\",\r\n light: \"#F5EBFF\",\r\n // dark: will be calculated from palette.secondary.main,\r\n contrastText: \"#47008F\",\r\n },\r\n white: {\r\n main: \"#FFFFFF\",\r\n light: \"#F8F8F8\",\r\n },\r\n\r\n gradients: {\r\n primary: \"linear-gradient(90deg, #6363E6 0.05%, #59C9F9 99.96%)\",\r\n secondary: \"linear-gradient(180deg, #E9E9FF 0%, #C9EEFF 100%)\",\r\n // You can add more gradients if needed\r\n },\r\n },\r\n});\r\n","import React from 'react';\r\nimport { Button, Menu, MenuItem, Box } from '@mui/material';\r\nimport { MoreHoriz as MoreHorizIcon } from '@mui/icons-material';\r\n\r\nconst MetricSelector = ({ metric, onMetricChange, options = ['Revenue', 'Donations'], label = \"Metric\" }) => {\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const open = Boolean(anchorEl);\r\n\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = (value) => {\r\n if (typeof value === 'string') {\r\n onMetricChange(value);\r\n }\r\n setAnchorEl(null);\r\n };\r\n\r\n return (\r\n <Box sx={{ display: 'flex', gap: 1 }}>\r\n <Button\r\n id=\"metric-button\"\r\n aria-controls={open ? 'metric-menu' : undefined}\r\n aria-haspopup=\"true\"\r\n aria-expanded={open ? 'true' : undefined}\r\n onClick={handleClick}\r\n variant=\"outlined\"\r\n sx={{ \r\n borderRadius: '8px', \r\n borderColor: '#E9E9EB', \r\n color: '#000', \r\n textTransform: 'none',\r\n fontWeight: 600,\r\n px: 2,\r\n height: '40px',\r\n '&:hover': {\r\n borderColor: 'primary.main',\r\n bgcolor: 'rgba(99, 99, 230, 0.04)'\r\n }\r\n }}\r\n >\r\n {label}: {metric}\r\n </Button>\r\n <Menu\r\n id=\"metric-menu\"\r\n anchorEl={anchorEl}\r\n open={open}\r\n onClose={() => handleClose()}\r\n MenuListProps={{\r\n 'aria-labelledby': 'metric-button',\r\n }}\r\n PaperProps={{\r\n sx: {\r\n borderRadius: '8px',\r\n mt: 1,\r\n boxShadow: '0 4px 12px rgba(0,0,0,0.1)',\r\n minWidth: '150px'\r\n }\r\n }}\r\n >\r\n {options.map((option) => (\r\n <MenuItem \r\n key={option} \r\n onClick={() => handleClose(option)} \r\n sx={{ fontWeight: metric === option ? 700 : 400 }}\r\n >\r\n {option}\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default MetricSelector;\r\n","import React from 'react';\r\nimport ReactApexChart from 'react-apexcharts';\r\nimport { useTheme } from '@mui/material/styles';\r\n\r\nconst RevenueChart = ({ metric, data, series, categories, height = 350, stacked = false, type = \"area\", id = \"revenue-chart\", colors, showLegend = true }) => {\r\n const theme = useTheme();\r\n\r\n const isRadial = type === 'donut' || type === 'pie';\r\n\r\n // Base options common to all charts\r\n const baseOptions = {\r\n chart: {\r\n id: id,\r\n type: type,\r\n toolbar: { show: false },\r\n sparkline: { enabled: false },\r\n animations: { enabled: false }\r\n },\r\n colors: colors || [theme.palette.primary.main, '#4B4BC2', '#7E7EE6', '#A3A3F0', '#C8C8FA'],\r\n tooltip: {\r\n theme: 'light',\r\n y: {\r\n formatter: (value) => (metric?.toLowerCase() === 'revenue') ? `$${(value || 0).toLocaleString()}` : (value || 0)\r\n }\r\n }\r\n };\r\n\r\n const radialOptions = {\r\n ...baseOptions,\r\n labels: categories || [],\r\n stroke: { width: 0 },\r\n dataLabels: { enabled: true },\r\n legend: {\r\n show: showLegend,\r\n position: 'bottom',\r\n horizontalAlign: 'center'\r\n },\r\n plotOptions: {\r\n pie: {\r\n donut: {\r\n size: '70%',\r\n labels: {\r\n show: true,\r\n total: {\r\n show: true,\r\n label: 'Total',\r\n formatter: function (w) {\r\n const sum = w.globals.seriesTotals.reduce((a, b) => a + b, 0);\r\n return metric === 'Revenue' ? `$${Math.round(sum).toLocaleString()}` : Math.round(sum).toLocaleString();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n const linearOptions = {\r\n ...baseOptions,\r\n chart: {\r\n ...baseOptions.chart,\r\n stacked: stacked\r\n },\r\n stroke: {\r\n curve: 'smooth',\r\n width: type === 'bar' ? 0 : 2\r\n },\r\n fill: {\r\n type: 'gradient',\r\n gradient: {\r\n shadeIntensity: 1,\r\n opacityFrom: 0.8,\r\n opacityTo: 0.4,\r\n stops: [0, 100]\r\n }\r\n },\r\n xaxis: {\r\n categories: categories || [],\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n tickAmount: 5,\r\n labels: {\r\n rotate: 0,\r\n rotateAlways: false,\r\n hideOverlappingLabels: true,\r\n style: { colors: '#A1A1A8', fontSize: '12px' },\r\n formatter: (val) => {\r\n if (!val || typeof val !== 'string') return val;\r\n const date = new Date(val);\r\n if (isNaN(date.getTime())) return val;\r\n return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric' });\r\n }\r\n }\r\n },\r\n yaxis: {\r\n show: true,\r\n labels: {\r\n style: { colors: '#A1A1A8', fontSize: '12px' },\r\n formatter: (value) => (metric?.toLowerCase() === 'revenue') ? `$${(value || 0).toLocaleString()}` : (value || 0)\r\n }\r\n },\r\n grid: {\r\n show: true,\r\n borderColor: '#f1f1f1',\r\n strokeDashArray: 4,\r\n position: 'back'\r\n },\r\n dataLabels: { enabled: false },\r\n legend: {\r\n show: showLegend && (stacked || (series && series.length > 1)),\r\n position: 'top',\r\n horizontalAlign: 'left'\r\n },\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n columnWidth: '60%'\r\n }\r\n }\r\n };\r\n\r\n const chartOptions = isRadial ? radialOptions : linearOptions;\r\n\r\n // Ensure series is in the correct format for the chart type\r\n let chartSeries = [];\r\n if (isRadial) {\r\n // For donut/pie, series must be a simple array of numbers\r\n const processedData = Array.isArray(data) ? data.map(v => (typeof v === 'object' && v !== null) ? v.value : v) : [];\r\n chartSeries = processedData.length > 0 ? processedData : (series?.[0]?.data || []);\r\n } else {\r\n // For bar/line/area, series must be an array of objects [{ name: '', data: [] }]\r\n const processedData = Array.isArray(data) ? data.map(v => (typeof v === 'object' && v !== null) ? v.value : v) : [];\r\n chartSeries = Array.isArray(series) ? series : [\r\n {\r\n name: metric || \"Value\",\r\n data: processedData\r\n }\r\n ];\r\n }\r\n\r\n return (\r\n <ReactApexChart\r\n key={`${id}-${type}-${chartSeries.length}`}\r\n options={chartOptions}\r\n series={chartSeries}\r\n type={type}\r\n height={height}\r\n width=\"100%\"\r\n />\r\n );\r\n};\r\n\r\nexport default RevenueChart;\r\n","import {\r\n Box,\r\n Card,\r\n CardContent,\r\n Grid,\r\n IconButton,\r\n Typography,\r\n} from \"@mui/material\";\r\nimport RevenueChart from \"../../RevenueChart\";\r\nimport { MoreHoriz as MoreHorizIcon } from \"@mui/icons-material\";\r\nimport MetricSelector from \"../../MetricSelector\";\r\n\r\nconst RenderChartCard = ({\r\n item,\r\n index,\r\n isPrimary = false,\r\n isPremium = false,\r\n metric,\r\n setMetric,\r\n md = 4,\r\n type = \"area\"\r\n}) => {\r\n return (\r\n <Grid\r\n item\r\n xs={12}\r\n md={md}\r\n key={item.label + index}\r\n sx={{ display: \"flex\", paddingTop: \"0px !important\" }}\r\n >\r\n <Card\r\n sx={{\r\n width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <CardContent\r\n sx={{ p: 3, flexGrow: 1, display: \"flex\", flexDirection: \"column\" }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"flex-start\",\r\n mb: isPremium ? 3 : 2,\r\n }}\r\n >\r\n {isPremium ? (\r\n <Box sx={{ textAlign: \"left\" }}>\r\n <Typography\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n mb: 0.2,\r\n }}\r\n >\r\n {item.label}\r\n </Typography>\r\n <Typography\r\n variant=\"caption\"\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 400,\r\n display: \"block\",\r\n mb: 1.5,\r\n }}\r\n >\r\n {item.subtitle || \"Last 30 days - daily aggregation\"}\r\n </Typography>\r\n\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\r\n {item.value && (\r\n <Typography\r\n sx={{ fontWeight: 700, color: \"#000000\", fontSize: \"28px\" }}\r\n >\r\n {typeof item.value === 'object' && item.value !== null\r\n ? (item.value.value !== undefined ? item.value.value : JSON.stringify(item.value))\r\n : item.value}\r\n </Typography>\r\n )}\r\n {(item.trend || \"18%\") && (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n bgcolor: \"#8df3be9a\",\r\n color: \"#054835ff\",\r\n px: 1,\r\n py: 0.5,\r\n borderRadius: \"100px\",\r\n fontSize: \"12px\",\r\n fontWeight: 600,\r\n }}\r\n >\r\n <span>▲</span>\r\n {item.trend || \"18% vs last month\"}\r\n </Box>\r\n )}\r\n </Box>\r\n </Box>\r\n ) : (\r\n <Box sx={{ textAlign: \"left\" }}>\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 600,\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.5px\",\r\n mb: 0.5,\r\n }}\r\n >\r\n {item.label}\r\n </Typography>\r\n {item.value && (\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{ fontWeight: 600, color: \"#000000\", mb: 0.5 }}\r\n >\r\n {typeof item.value === 'object' && item.value !== null\r\n ? (item.value.value !== undefined ? item.value.value : JSON.stringify(item.value))\r\n : item.value}\r\n </Typography>\r\n )}\r\n {item.subValue && (\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{ color: \"#000000\", fontWeight: 600 }}\r\n >\r\n {typeof item.subValue === 'object' && item.subValue !== null\r\n ? JSON.stringify(item.subValue)\r\n : item.subValue}\r\n </Typography>\r\n )}\r\n </Box>\r\n )}\r\n\r\n <Box sx={{ display: \"flex\", gap: 1, alignItems: \"center\" }}>\r\n {item.hideControls ? (\r\n item.series && (\r\n <Box\r\n sx={{\r\n display: { xs: \"none\", sm: \"flex\" },\r\n gap: 2,\r\n alignItems: \"center\",\r\n }}\r\n >\r\n {[\r\n { label: \"Paid Ads\", color: \"#6366F1\" },\r\n { label: \"Organic\", color: \"#10B981\" },\r\n { label: \"Email\", color: \"#06B6D4\" },\r\n ].map((leg) => (\r\n <Box\r\n key={leg.label}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}\r\n >\r\n <Box\r\n sx={{\r\n width: 8,\r\n height: 8,\r\n borderRadius: \"50%\",\r\n bgcolor: leg.color,\r\n }}\r\n />\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0,0,0,0.6)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n {leg.label}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n )\r\n) : (\r\n <>\r\n {item.showSelector && (\r\n <MetricSelector\r\n metric={metric}\r\n onMetricChange={setMetric}\r\n options={[\"Revenue\", \"Donations\"]}\r\n />\r\n )}\r\n <IconButton\r\n sx={{\r\n border: \"1px solid #E9E9EB\",\r\n borderRadius: \"8px\",\r\n color: \"#000\",\r\n height: \"40px\",\r\n width: \"40px\",\r\n \"&:hover\": {\r\n borderColor: \"primary.main\",\r\n bgcolor: \"rgba(99, 99, 230, 0.04)\",\r\n },\r\n }}\r\n >\r\n <MoreHorizIcon sx={{ fontSize: \"1.2rem\" }} />\r\n </IconButton>\r\n </>\r\n )}\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ flexGrow: 1, minHeight: isPrimary ? \"250px\" : \"200px\" }}>\r\n <RevenueChart\r\n id={`${item.label}-${index}`}\r\n metric={\r\n item.label.includes(\"Rate\") ||\r\n item.label.includes(\"Performance\") ||\r\n item.label.includes(\"source\") ||\r\n item.label === \"URL\"\r\n ? \"Percent\"\r\n : item.stacked\r\n ? item.label.includes(\"Traffic\")\r\n ? \"Visitors\"\r\n : \"Donors\"\r\n : metric\r\n }\r\n data={item.data}\r\n series={item.series}\r\n categories={item.categories}\r\n height={isPrimary ? 250 : 200}\r\n stacked={item.stacked}\r\n type={type || item.type || \"area\"}\r\n colors={item.colors}\r\n showLegend={!item.hideControls}\r\n />\r\n {item.hideControls && item.series && (\r\n <Box\r\n sx={{\r\n display: { xs: \"flex\", sm: \"none\" },\r\n justifyContent: \"center\",\r\n gap: 2,\r\n flexWrap: \"wrap\",\r\n mt: 1.5,\r\n }}\r\n >\r\n {[\r\n { label: \"Paid Ads\", color: \"#6366F1\" },\r\n { label: \"Organic\", color: \"#10B981\" },\r\n { label: \"Email\", color: \"#06B6D4\" },\r\n ].map((leg) => (\r\n <Box\r\n key={leg.label}\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 8,\r\n height: 8,\r\n borderRadius: \"50%\",\r\n bgcolor: leg.color,\r\n }}\r\n />\r\n <Typography\r\n sx={{\r\n fontSize: \"11px\",\r\n color: \"rgba(0,0,0,0.6)\",\r\n fontWeight: 500,\r\n marginTop: {xs: \"1px\", sm: 0}\r\n }}\r\n >\r\n {leg.label}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n )}\r\n </Box>\r\n\r\n {item.footer && (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n mt: 2,\r\n pt: 2,\r\n borderTop: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n variant=\"caption\"\r\n sx={{ color: \"#606062\", fontWeight: 600 }}\r\n >\r\n {item.footer.left}\r\n </Typography>\r\n <Typography\r\n variant=\"caption\"\r\n sx={{ color: \"#606062\", fontWeight: 600 }}\r\n >\r\n {item.footer.right}\r\n </Typography>\r\n </Box>\r\n )}\r\n </CardContent>\r\n </Card>\r\n </Grid>\r\n );\r\n};\r\n\r\nexport default RenderChartCard;\r\n","import React, { lazy, Suspense } from \"react\";\r\nimport {\r\n Box,\r\n Typography,\r\n Card,\r\n CardContent,\r\n ThemeProvider,\r\n IconButton,\r\n Grid,\r\n CircularProgress,\r\n} from \"@mui/material\";\r\nimport { MoreHoriz as MoreHorizIcon, Update } from \"@mui/icons-material\";\r\nimport { theme } from \"../config/customTheme\";\r\nimport MetricSelector from \"./MetricSelector\";\r\nimport RevenueChart from \"./RevenueChart\";\r\nimport RenderChartCard from \"./UI/RenderChartCard\";\r\n\r\nconst PerformanceSection = lazy(() => import(\"./UI/PerformanceSection\"));\r\nconst Overview = lazy(() => import(\"./Overview\"));\r\nconst RecurringRevenueSection = lazy(() => import(\"./UI/RecurringRevenueSection\"));\r\nconst RecurringPlans = lazy(() => import(\"./UI/RecurringPlans\"));\r\nconst DonorBehavior = lazy(() => import(\"./UI/DonorBehavior\"));\r\nconst UpdateEmails = lazy(() => import(\"./UI/UpdateEmails\"));\r\nconst NewOverview = lazy(() => import(\"./UI/NewOverview\"));\r\nconst Dashboard = ({\r\n apiData = {},\r\n overviewType = \"overall\",\r\n dateName = \"Last Period\",\r\n exportTrigger = 0\r\n}) => {\r\n\r\n\r\n\r\n\r\n return (\r\n <ThemeProvider theme={theme}>\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <NewOverview apiData={apiData} activeSection={overviewType} dateName={dateName} exportTrigger={exportTrigger} />\r\n </Suspense>\r\n\r\n {/* <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <PerformanceSection apiData={apiData} performanceData={performanceData} />\r\n </Suspense>\r\n\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <RecurringPlans apiData={apiData} />\r\n </Suspense>\r\n\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <RecurringRevenueSection apiData={apiData} />\r\n </Suspense>\r\n\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <DonorBehavior apiData={apiData} />\r\n </Suspense>\r\n\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <UpdateEmails apiData={apiData} />\r\n </Suspense> */}\r\n </ThemeProvider>\r\n );\r\n};\r\n\r\nexport default Dashboard;\r\nexport { MetricSelector, RevenueChart };\r\n","export function formatNumber(num) {\r\n if (num >= 1_000_000_000) {\r\n return (num / 1_000_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"B\";\r\n }\r\n\r\n if (num >= 1_000_000) {\r\n return (num / 1_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"M\";\r\n }\r\n\r\n if (num >= 1_000) {\r\n return (num / 1_000).toFixed(1).replace(/\\.0$/, \"\") + \"K\";\r\n }\r\n\r\n return (num ?? 0).toString();\r\n}","import { Box, Button, Grid, Typography, CircularProgress } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport { useState, lazy, Suspense, useEffect } from \"react\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\nconst OverallSection = lazy(() => import(\"./OverallSection\"));\r\nconst PaidSection = lazy(() => import(\"./PaidSection\"));\r\nconst OrganicSection = lazy(() => import(\"./OrganicSection\"));\r\nconst EmailSection = lazy(() => import(\"./EmailSection\"));\r\n\r\nconst NewOverview = ({ apiData = {}, activeSection: activeSectionProp, dateName = \"Last Period\", exportTrigger = 0 }) => {\r\n const initialMetric = \"Revenue\";\r\n const revenueData = apiData?.revenueData || [\r\n 3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000,\r\n ];\r\n const donationsData = apiData?.donationsData || [\r\n 15, 22, 18, 30, 25, 35, 42, 45, 28,\r\n ];\r\n const categories = apiData?.categories || [\r\n \"Jan\",\r\n \"Feb\",\r\n \"Mar\",\r\n \"Apr\",\r\n \"May\",\r\n \"Jun\",\r\n \"Jul\",\r\n \"Aug\",\r\n \"Sep\",\r\n ];\r\n const [metric, setMetric] = useState(initialMetric);\r\n const [activeSection, setActiveSection] = useState(\"Overall\");\r\n\r\n useEffect(() => {\r\n if (activeSectionProp) {\r\n const capitalized =\r\n activeSectionProp.charAt(0).toUpperCase() +\r\n activeSectionProp.slice(1).toLowerCase();\r\n setActiveSection(capitalized);\r\n }\r\n }, [activeSectionProp]);\r\n\r\n useEffect(() => {\r\n if (exportTrigger <= 0) return;\r\n\r\n const buildAndDownloadPdf = async () => {\r\n try {\r\n const [{ jsPDF }, autoTableModule] = await Promise.all([\r\n import(\"jspdf\"),\r\n import(\"jspdf-autotable\"),\r\n ]);\r\n const autoTable =\r\n autoTableModule.default || autoTableModule.autoTable || autoTableModule;\r\n\r\n const growth = apiData?.overviewStats?.overview?.growthPercentage || {};\r\n const overview = apiData?.overviewStats?.overview || {};\r\n const dateLabel = dateName || \"Last Period\";\r\n const generatedAt = new Date();\r\n const generatedLabel = `${generatedAt.toLocaleDateString()} ${generatedAt.toLocaleTimeString()}`;\r\n const fmtPct = (value, digits = 2) => `${Number(value || 0).toFixed(digits)}%`;\r\n const fmtSigned = (value, suffix = \"\") => {\r\n const numeric = Number(value || 0);\r\n const sign = numeric > 0 ? \"+\" : \"\";\r\n return `${sign}${numeric.toFixed(2)}${suffix}`;\r\n };\r\n\r\n const doc = new jsPDF({ unit: \"pt\", format: \"a4\" });\r\n const pageWidth = doc.internal.pageSize.getWidth();\r\n const marginX = 40;\r\n const contentWidth = pageWidth - marginX * 2;\r\n const cardGap = 10;\r\n const cardWidth = (contentWidth - cardGap * 2) / 3;\r\n\r\n const addHeader = () => {\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setTextColor(17, 24, 39);\r\n doc.setFontSize(18);\r\n doc.text(\"Madinah\", marginX, 34);\r\n doc.setFontSize(10);\r\n doc.setTextColor(75, 85, 99);\r\n doc.text(\"PERFORMANCE REPORT\", marginX, 50);\r\n doc.setTextColor(17, 24, 39);\r\n doc.setFontSize(13);\r\n doc.text(\"Dashboard overview — Overall\", marginX, 72);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(10);\r\n doc.setTextColor(107, 114, 128);\r\n doc.text(`${dateLabel} · 30-day window · Generated ${generatedLabel}`, marginX, 88);\r\n const activeFilters = apiData?.activeFilters || \"\";\r\n if (activeFilters) {\r\n doc.setFontSize(8.5);\r\n doc.setTextColor(55, 65, 81);\r\n doc.text(`ACTIVE FILTERS ${activeFilters}`, marginX, 100);\r\n }\r\n };\r\n\r\n const addFooter = (pageNumber, totalPages) => {\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setTextColor(107, 114, 128);\r\n doc.setFontSize(8.5);\r\n doc.text(\r\n `Confidential · Generated by Dashboard · ${generatedLabel} · Page ${pageNumber} of ${totalPages} · madinah.com`,\r\n marginX,\r\n 818\r\n );\r\n };\r\n\r\n const metricCard = ({ x, y, title, value, trend, detail }) => {\r\n const positive = !`${trend}`.trim().startsWith(\"-\");\r\n doc.setDrawColor(229, 231, 235);\r\n doc.setFillColor(255, 255, 255);\r\n doc.roundedRect(x, y, cardWidth, 96, 6, 6, \"FD\");\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setFontSize(9);\r\n doc.setTextColor(75, 85, 99);\r\n doc.text(title.toUpperCase(), x + 10, y + 16);\r\n doc.setFontSize(17);\r\n doc.setTextColor(17, 24, 39);\r\n doc.text(value, x + 10, y + 42);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(9.5);\r\n doc.setTextColor(...(positive ? [22, 163, 74] : [220, 38, 38]));\r\n doc.text(trend, x + 10, y + 61);\r\n doc.setTextColor(107, 114, 128);\r\n doc.setFontSize(8.5);\r\n doc.text(detail, x + 10, y + 77, { maxWidth: cardWidth - 20 });\r\n };\r\n\r\n const donorMixRaw = apiData?.donorPieChartData;\r\n let newDonorsCount = 0;\r\n let returningDonorsCount = 0;\r\n let avgGift = 0;\r\n if (Array.isArray(donorMixRaw)) {\r\n const newDonorsObj =\r\n donorMixRaw.find((d) => d.type === \"New Donors\" || d.type === \"New donors\") || {};\r\n const returningDonorsObj =\r\n donorMixRaw.find((d) => d.type === \"Returning Donors\" || d.type === \"Returning\") || {};\r\n newDonorsCount = newDonorsObj.totalDonations || 0;\r\n returningDonorsCount = returningDonorsObj.totalDonations || 0;\r\n const totalAmount = (newDonorsObj.totalAmount || 0) + (returningDonorsObj.totalAmount || 0);\r\n const totalCount = newDonorsCount + returningDonorsCount;\r\n avgGift = totalCount > 0 ? Number((totalAmount / totalCount).toFixed(2)) : 0;\r\n } else if (donorMixRaw && typeof donorMixRaw === \"object\") {\r\n newDonorsCount = donorMixRaw.newDonors || 0;\r\n returningDonorsCount = donorMixRaw.returningDonors || 0;\r\n avgGift = donorMixRaw.avgGift || 0;\r\n }\r\n\r\n const activeCampaignRows = (apiData?.activeCampaigns || []).map((campaign) => [\r\n campaign.title || \"Untitled Campaign\",\r\n `$${formatNumber(campaign.collectedAmount || 0)}`,\r\n `${Math.round(((campaign.collectedAmount || 0) / (campaign.usdTargetAmount || 1)) * 100)}%`,\r\n `${formatNumber(campaign.uniqueDonationsCount || 0)}`,\r\n `$${formatNumber(campaign.avgGift || 0)}`,\r\n campaign.status || \"Active\",\r\n ]);\r\n\r\n const trafficRows = (apiData?.trafficSourceData?.data || []).map((item) => [\r\n item?.source || item?.name || \"-\",\r\n `${formatNumber(item?.donors || item?.totalDonors || 0)}`,\r\n `$${formatNumber(item?.revenue || item?.raised || 0)}`,\r\n ]);\r\n\r\n const donorMixRows = [\r\n [\"New donors\", `${formatNumber(newDonorsCount)}`],\r\n [\"Returning donors\", `${formatNumber(returningDonorsCount)}`],\r\n [\"Avg gift\", `$${formatNumber(avgGift)}`],\r\n ];\r\n const recurringTotal = Number(apiData?.recurringBarChartData?.recurringTotal || 0);\r\n const oneTimeTotalValue = Number(apiData?.recurringBarChartData?.oneTimeTotal || 0);\r\n const donorGeographyRaw = apiData?.donorGeography;\r\n const donorGeographyList = Array.isArray(donorGeographyRaw)\r\n ? donorGeographyRaw\r\n : Array.isArray(donorGeographyRaw?.data)\r\n ? donorGeographyRaw.data\r\n : [];\r\n const donorGeoRows = donorGeographyList.slice(0, 6).map((item) => [\r\n item.country || item.name || \"-\",\r\n `${formatNumber(item.totalDonors || item.donors || 0)}`,\r\n `${formatNumber(item.percentage || 0)}%`,\r\n ]);\r\n\r\n const refundsData = apiData?.refundAndChargeBacks || {};\r\n const totalRaised = Number(overview?.totalRevenue || 0);\r\n const netRaised = Number(overview?.netRevenue || 0);\r\n const totalDonors = Number(overview?.totalDonations || 0);\r\n const convRate = Number(overview?.conversionRate || 0);\r\n const avgDonation = Number(overview?.overallAVGDonations || 0);\r\n const totalVisits = Number(apiData?.totalVisits || 0);\r\n const passThrough = totalRaised > 0 ? `${((netRaised / totalRaised) * 100).toFixed(1)}% pass-through` : \"0% pass-through\";\r\n const refundRate = Number(refundsData?.refundRate || 0);\r\n const chargebackRate = Number(refundsData?.chargebackRate || 0);\r\n\r\n const page1Cards = [\r\n {\r\n title: \"Total Raised\",\r\n value: `$${formatNumber(totalRaised)}`,\r\n trend: `${fmtSigned(growth?.totalRevenue, \"%\")} vs ${dateLabel}`,\r\n detail: `${passThrough} · ${formatNumber(totalDonors)} donors · $${formatNumber(avgDonation)} avg · ${formatNumber(totalVisits)} visits`,\r\n },\r\n {\r\n title: \"Net Raised\",\r\n value: `$${formatNumber(netRaised)}`,\r\n trend: fmtSigned(growth?.netRevenue, \"%\"),\r\n detail: passThrough,\r\n },\r\n {\r\n title: \"Total Donors\",\r\n value: `${formatNumber(totalDonors)}`,\r\n trend: fmtSigned(growth?.totalDonations, \"%\"),\r\n detail: `${formatNumber(newDonorsCount)} new · ${formatNumber(returningDonorsCount)} returning`,\r\n },\r\n {\r\n title: \"Avg Donation\",\r\n value: `$${formatNumber(avgDonation)}`,\r\n trend: fmtSigned(growth?.overallAVGDonations, \"%\"),\r\n detail: `Median $${formatNumber(apiData?.medianGift || 0)} · top decile $${formatNumber(apiData?.topDecileGift || 0)}`,\r\n },\r\n {\r\n title: \"ROAS\",\r\n value: `${formatNumber(apiData?.roasCard ?? 0)}x`,\r\n trend: fmtSigned(apiData?.roasCardPrev, \"x\"),\r\n detail: `$${formatNumber(apiData?.adSpend || 0)} spend · $${formatNumber(apiData?.attributedRevenue || 0)} attrib.`,\r\n },\r\n {\r\n title: \"Conversion\",\r\n value: fmtPct(convRate, 1),\r\n trend: fmtSigned(growth?.conversionRate, \"pp\"),\r\n detail: `${formatNumber(totalDonors)} from ${formatNumber(totalVisits)} visits`,\r\n },\r\n {\r\n title: \"Refund Rate\",\r\n value: fmtPct(refundRate, 2),\r\n trend: fmtSigned(refundsData?.refundRateChange, \"pp\"),\r\n detail: `${formatNumber(refundsData?.refundCount || 0)} refunds this period`,\r\n },\r\n ];\r\n\r\n addHeader();\r\n let y = 114;\r\n page1Cards.forEach((card, idx) => {\r\n const col = idx % 3;\r\n const row = Math.floor(idx / 3);\r\n metricCard({\r\n x: marginX + col * (cardWidth + cardGap),\r\n y: y + row * (96 + 10),\r\n ...card,\r\n });\r\n });\r\n\r\n let trendY = y + Math.ceil(page1Cards.length / 3) * (96 + 10) + 8;\r\n doc.setDrawColor(229, 231, 235);\r\n doc.roundedRect(marginX, trendY, contentWidth, 130, 6, 6);\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setFontSize(12);\r\n doc.setTextColor(17, 24, 39);\r\n doc.text(\"Total revenue trend\", marginX + 12, trendY + 20);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(9.5);\r\n doc.setTextColor(107, 114, 128);\r\n doc.text(\"Last 30 days · daily aggregation\", marginX + 12, trendY + 35);\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setFontSize(14);\r\n doc.setTextColor(17, 24, 39);\r\n doc.text(`$${formatNumber(totalRaised)}`, marginX + 12, trendY + 58);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(9.5);\r\n doc.setTextColor(22, 163, 74);\r\n doc.text(`${fmtSigned(growth?.totalRevenue, \"%\")} vs ${dateLabel}`, marginX + 110, trendY + 58);\r\n autoTable(doc, {\r\n startY: trendY + 68,\r\n head: [[\"Channel\", \"Total\"]],\r\n body: [\r\n [\"Email\", `$${formatNumber(apiData?.overviewStats?.totalRaised?.email?.reduce?.((s, i) => s + (i?.value || 0), 0) || 0)}`],\r\n [\"Organic\", `$${formatNumber(apiData?.overviewStats?.totalRaised?.organic?.reduce?.((s, i) => s + (i?.value || 0), 0) || 0)}`],\r\n [\"Paid Ads\", `$${formatNumber(apiData?.overviewStats?.totalRaised?.paidAds?.reduce?.((s, i) => s + (i?.value || 0), 0) || 0)}`],\r\n ],\r\n margin: { left: marginX + 12, right: marginX + 12 },\r\n styles: { fontSize: 9, cellPadding: 4 },\r\n headStyles: { fillColor: [241, 245, 249], textColor: [51, 65, 85] },\r\n alternateRowStyles: { fillColor: [248, 250, 252] },\r\n });\r\n addFooter(1, 2);\r\n\r\n doc.addPage();\r\n addHeader();\r\n\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setFontSize(12);\r\n doc.setTextColor(17, 24, 39);\r\n doc.text(\"Active campaigns\", marginX, 112);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(9.5);\r\n doc.setTextColor(107, 114, 128);\r\n doc.text(\"Live fundraisers ranked by velocity\", marginX, 126);\r\n doc.setTextColor(99, 102, 241);\r\n doc.text(\"View all →\", pageWidth - marginX, 126, { align: \"right\" });\r\n autoTable(doc, {\r\n startY: 136,\r\n head: [[\"CAMPAIGN\", \"RAISED\", \"PROGRESS\", \"DONORS\", \"AVG GIFT\", \"STATUS\"]],\r\n body: activeCampaignRows.length ? activeCampaignRows : [[\"-\", \"$0\", \"0%\", \"0\", \"$0\", \"-\"]],\r\n margin: { left: marginX, right: marginX },\r\n styles: { fontSize: 9, cellPadding: 5 },\r\n headStyles: { fillColor: [241, 245, 249], textColor: [51, 65, 85] },\r\n alternateRowStyles: { fillColor: [248, 250, 252] },\r\n });\r\n\r\n const donorCardTop = (doc.lastAutoTable?.finalY || 230) + 14;\r\n doc.setDrawColor(229, 231, 235);\r\n doc.roundedRect(marginX, donorCardTop, 250, 108, 6, 6);\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setFontSize(11);\r\n doc.setTextColor(17, 24, 39);\r\n doc.text(\"Donor mix\", marginX + 10, donorCardTop + 18);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(9);\r\n doc.setTextColor(107, 114, 128);\r\n doc.text(\"Acquisition vs retention\", marginX + 10, donorCardTop + 32);\r\n autoTable(doc, {\r\n startY: donorCardTop + 38,\r\n head: [[\"Type\", \"Value\"]],\r\n body: donorMixRows,\r\n margin: { left: marginX + 10, right: pageWidth - (marginX + 240) },\r\n styles: { fontSize: 9, cellPadding: 4 },\r\n headStyles: { fillColor: [241, 245, 249], textColor: [51, 65, 85] },\r\n });\r\n\r\n autoTable(doc, {\r\n startY: donorCardTop,\r\n head: [[\"SOURCE\", \"DONORS\", \"REVENUE\"]],\r\n body: trafficRows.length > 0 ? trafficRows : [[\"-\", \"0\", \"$0\"]],\r\n margin: { left: marginX + 266, right: marginX },\r\n styles: { fontSize: 9, cellPadding: 5 },\r\n headStyles: { fillColor: [241, 245, 249], textColor: [51, 65, 85] },\r\n alternateRowStyles: { fillColor: [248, 250, 252] },\r\n });\r\n\r\n const cardsTop = (doc.lastAutoTable?.finalY || donorCardTop + 120) + 12;\r\n const halfGap = 12;\r\n const halfW = (contentWidth - halfGap) / 2;\r\n\r\n const drawInfoCard = ({ x, y, w, h, title, subtitle, lines = [] }) => {\r\n doc.setDrawColor(229, 231, 235);\r\n doc.roundedRect(x, y, w, h, 6, 6);\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setTextColor(17, 24, 39);\r\n doc.setFontSize(10);\r\n doc.text(title, x + 10, y + 16);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(8.5);\r\n doc.setTextColor(107, 114, 128);\r\n doc.text(subtitle, x + 10, y + 30);\r\n doc.setTextColor(55, 65, 81);\r\n lines.forEach((line, idx) => {\r\n doc.text(line, x + 10, y + 46 + idx * 12, { maxWidth: w - 20 });\r\n });\r\n };\r\n\r\n drawInfoCard({\r\n x: marginX,\r\n y: cardsTop,\r\n w: halfW,\r\n h: 86,\r\n title: \"Recurring vs one-time\",\r\n subtitle: \"Donation type · weekly\",\r\n lines: [\r\n `Recurring $${formatNumber(recurringTotal)}`,\r\n `One-time $${formatNumber(oneTimeTotalValue)}`,\r\n ],\r\n });\r\n drawInfoCard({\r\n x: marginX + halfW + halfGap,\r\n y: cardsTop,\r\n w: halfW,\r\n h: 86,\r\n title: \"Refunds & chargebacks\",\r\n subtitle: \"Trust health · 30-day window\",\r\n lines: [\r\n `Refunds ${fmtPct(refundRate, 2)} (${fmtSigned(refundsData?.refundRateChange, \"pp\")})`,\r\n `Chargebacks ${fmtPct(chargebackRate, 2)} (${fmtSigned(refundsData?.chargebackRateChange, \"pp\")})`,\r\n `$${formatNumber(refundsData?.refundAmount || 0)} refunded · $${formatNumber(refundsData?.disputedAmount || 0)} disputed`,\r\n ],\r\n });\r\n drawInfoCard({\r\n x: marginX,\r\n y: cardsTop + 96,\r\n w: halfW,\r\n h: 88,\r\n title: \"Order Bump\",\r\n subtitle: \"Revenue trend · last 30 days\",\r\n lines: [\r\n `$${formatNumber(apiData?.orderBumpDetails?.totalRevenue || 0)} (${fmtSigned(apiData?.orderBumpDetails?.growthPercentage, \"%\")})`,\r\n `Avg/day $${formatNumber(apiData?.orderBumpDetails?.averagePerDay || 0)} · Orders ${formatNumber(apiData?.orderBumpDetails?.totalOrders || 0)}`,\r\n ],\r\n });\r\n drawInfoCard({\r\n x: marginX + halfW + halfGap,\r\n y: cardsTop + 96,\r\n w: halfW,\r\n h: 88,\r\n title: \"Upsell / Downsell / Referrals\",\r\n subtitle: \"Acceptance & raised\",\r\n lines: [\r\n `Upsell $${formatNumber(apiData?.upSellDetails?.raised || 0)} · ${fmtPct(apiData?.upSellDetails?.acceptanceRate || 0, 1)} accepted`,\r\n `Downsell $${formatNumber(apiData?.downSellDetails?.raised || 0)} · ${fmtPct(apiData?.downSellDetails?.acceptanceRate || 0, 1)} accepted`,\r\n `Referrals $${formatNumber(apiData?.referralDetails?.totalRevenue || 0)} · ${fmtPct(apiData?.referralDetails?.conversionRate || 0, 1)} conv.`,\r\n ],\r\n });\r\n\r\n if (donorGeoRows.length > 0) {\r\n autoTable(doc, {\r\n startY: cardsTop + 192,\r\n head: [[\"COUNTRY\", \"DONORS\", \"SHARE\"]],\r\n body: donorGeoRows,\r\n margin: { left: marginX, right: marginX },\r\n styles: { fontSize: 9, cellPadding: 4.5 },\r\n headStyles: { fillColor: [241, 245, 249], textColor: [51, 65, 85] },\r\n alternateRowStyles: { fillColor: [248, 250, 252] },\r\n });\r\n }\r\n addFooter(2, 2);\r\n\r\n const safeDate = new Date().toISOString().slice(0, 10);\r\n doc.save(`DashboardOverview_report_${safeDate}.pdf`);\r\n } catch (error) {\r\n // Keep console message for host app debugging when export dependency is missing.\r\n console.error(\"Failed to export overall dashboard PDF:\", error);\r\n }\r\n };\r\n\r\n buildAndDownloadPdf();\r\n }, [exportTrigger]);\r\n\r\n const currentData = metric === \"Revenue\" ? revenueData : donationsData;\r\n const oneTimeData = apiData?.oneTimeDonations || [];\r\n const oneTimeValues =\r\n oneTimeData.length > 0\r\n ? oneTimeData.map((item) => item.value)\r\n : currentData;\r\n const oneTimeCategories =\r\n oneTimeData.length > 0 ? oneTimeData.map((item) => item.date) : categories;\r\n const oneTimeTotal =\r\n oneTimeData.length > 0\r\n ? oneTimeValues.reduce((sum, val) => sum + val, 0)\r\n : 7100;\r\n\r\n const firstInstData = apiData?.firstInstallmentRevenue || [];\r\n const firstInstValues =\r\n firstInstData.length > 0\r\n ? firstInstData.map((item) => item.value)\r\n : currentData.slice(-7);\r\n const firstInstCategories =\r\n firstInstData.length > 0\r\n ? firstInstData.map((item) => item.date)\r\n : categories.slice(-7);\r\n const firstInstTotal =\r\n firstInstData.length > 0\r\n ? firstInstValues.reduce((sum, val) => sum + val, 0)\r\n : 510;\r\n\r\n const totalRevData = Array.isArray(apiData?.totalRevenue)\r\n ? apiData.totalRevenue\r\n : [];\r\n const totalRevValues =\r\n totalRevData.length > 0\r\n ? totalRevData.map((item) => item.value)\r\n : currentData;\r\n const totalRevCategories =\r\n totalRevData.length > 0\r\n ? totalRevData.map((item) => item.date)\r\n : categories;\r\n const totalRevTotal =\r\n totalRevData.length > 0\r\n ? totalRevValues.reduce((sum, val) => sum + val, 0)\r\n : 9200;\r\n\r\n const avgDonData = Array.isArray(apiData?.averageDonation) ? apiData.averageDonation : [];\r\n const avgDonValues = avgDonData.length > 0 ? avgDonData.map(item => item.value) : currentData.map((v) => v * 0.5);\r\n const avgDonCategories = avgDonData.length > 0 ? avgDonData.map(item => item.date) : categories;\r\n const avgDonOverall = avgDonData.length > 0 ? (avgDonValues.reduce((sum, val) => sum + val, 0) / avgDonValues.length) : 42.80;\r\n\r\n const tipData = Array.isArray(apiData?.tipAmount) ? apiData.tipAmount : [];\r\n const tipValues = tipData.length > 0 ? tipData.map(item => item.value) : currentData.map((v) => v * 0.2);\r\n const tipCategories = tipData.length > 0 ? tipData.map(item => item.date) : categories;\r\n const tipTotal = tipData.length > 0 ? tipValues.reduce((sum, val) => sum + val, 0) : 1250;\r\n\r\n const convRateData = Array.isArray(apiData?.conversionRate) ? apiData.conversionRate : [];\r\n const convRateValues = convRateData.length > 0 ? convRateData.map(item => item.value) : [1.5, 1.8, 1.7, 2.1, 2.0, 1.9, 2.2, 2.5, 2.0];\r\n const convRateCategories = convRateData.length > 0 ? convRateData.map(item => item.date) : categories;\r\n const convRateAvg = convRateData.length > 0 ? (convRateValues.reduce((sum, val) => sum + val, 0) / convRateValues.length) : 2.0;\r\n\r\n const organicVisData = Array.isArray(apiData?.organicVisits) ? apiData.organicVisits : [];\r\n const paidVisData = Array.isArray(apiData?.paidVisits) ? apiData.paidVisits : [];\r\n const organicVisValues = organicVisData.length > 0 ? organicVisData.map(item => item.value) : [500, 600, 550, 700, 800, 750, 900, 1000, 950];\r\n const paidVisValues = paidVisData.length > 0 ? paidVisData.map(item => item.value) : [200, 250, 220, 300, 350, 320, 400, 450, 420];\r\n const trafficCategories = organicVisData.length > 0 ? organicVisData.map(item => item.date) : categories;\r\n\r\n const primaryCharts = [\r\n {\r\n label: \"Total Raised\",\r\n value:\r\n totalRevData.length > 0\r\n ? `$${totalRevTotal.toLocaleString()}`\r\n : typeof apiData?.totalRevenue === \"string\"\r\n ? apiData.totalRevenue\r\n : \"$9,200.00\",\r\n subValue: `Total Donations: ${apiData?.totalDonations || 215}`,\r\n data: totalRevValues,\r\n categories: totalRevCategories,\r\n showSelector: true,\r\n },\r\n {\r\n label: \"First installments\",\r\n value: apiData?.firstInstallmentRevenue\r\n ? `$${firstInstTotal.toLocaleString()}`\r\n : \"$510.00\",\r\n data: firstInstValues,\r\n categories: firstInstCategories,\r\n },\r\n {\r\n label: \"One-time donations\",\r\n value: apiData?.oneTimeDonations\r\n ? `$${oneTimeTotal.toLocaleString()}`\r\n : \"$7,100.00\",\r\n data: oneTimeValues,\r\n categories: oneTimeCategories,\r\n },\r\n ];\r\n\r\n const secondaryCharts = [\r\n {\r\n label: \"New vs Returning Donors\",\r\n series: [\r\n { name: \"New Donors\", data: [10, 15, 12, 20, 18, 25, 30, 35, 20] },\r\n { name: \"Returning\", data: [5, 7, 6, 10, 7, 10, 12, 10, 8] },\r\n ],\r\n categories: categories,\r\n stacked: true,\r\n footer: { left: \"New donors: 195\", right: \"Returning donors: 20\" },\r\n },\r\n {\r\n label: \"Average Donation Amount\",\r\n value: apiData?.averageDonation ? `$${avgDonOverall.toFixed(2)}` : \"$42.80\",\r\n data: avgDonValues,\r\n categories: avgDonCategories,\r\n },\r\n {\r\n label: \"Tip Amount\",\r\n value: apiData?.tipAmount ? `$${tipTotal.toLocaleString()}` : \"$1,250.00\",\r\n subValue: `Number of Tips: ${apiData?.totalTips || 110}`,\r\n data: tipValues,\r\n categories: tipCategories,\r\n },\r\n ];\r\n\r\n const tertiaryCharts = [\r\n {\r\n label: \"Conversion Rate\",\r\n value: apiData?.conversionRate ? `${convRateAvg.toFixed(1)}%` : \"2%\",\r\n data: convRateValues,\r\n categories: convRateCategories,\r\n },\r\n {\r\n label: \"Organic vs Paid Traffic\",\r\n series: [\r\n {\r\n name: \"Organic\",\r\n data: organicVisValues,\r\n },\r\n { name: \"Paid\", data: paidVisValues },\r\n ],\r\n categories: trafficCategories,\r\n stacked: true,\r\n },\r\n {\r\n label: \"Organic Donations\",\r\n value: \"120\",\r\n data: [8, 12, 10, 15, 14, 18, 22, 20, 12],\r\n categories: categories,\r\n },\r\n ];\r\n\r\n const quaternaryCharts = [\r\n {\r\n label: \"Email Marketing\",\r\n value: \"56\",\r\n data: [45, 48, 52, 50, 56, 54, 58, 60, 56],\r\n categories: categories,\r\n },\r\n {\r\n label: \"Traffic source\",\r\n value: \"23%\",\r\n data: [18, 22, 20, 25, 23, 21, 24, 26, 23],\r\n categories: categories,\r\n },\r\n {\r\n label: \"URL\",\r\n value: \"10%\",\r\n data: [8, 9, 11, 10, 10, 12, 9, 11, 10],\r\n categories: categories,\r\n },\r\n ];\r\n\r\n return (\r\n <Box sx={{ minHeight: \"100vh\", display: \"flex\", flexDirection: \"column\", alignItems: \"stretch\" }}>\r\n <Suspense\r\n fallback={\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n py: 10,\r\n }}\r\n >\r\n <CircularProgress color=\"primary\" />\r\n </Box>\r\n }\r\n >\r\n {activeSection === \"Overall\" && (\r\n <OverallSection\r\n apiData={apiData}\r\n primaryCharts={primaryCharts}\r\n secondaryCharts={secondaryCharts}\r\n tertiaryCharts={tertiaryCharts}\r\n quaternaryCharts={quaternaryCharts}\r\n dateName={dateName}\r\n />\r\n )}\r\n {activeSection === \"Paid\" && <PaidSection apiData={apiData} />}\r\n {activeSection === \"Organic\" && (\r\n <Box sx={{}}>\r\n <OrganicSection apiData={apiData} />\r\n </Box>\r\n )}\r\n {activeSection === \"Email\" && (\r\n <Box sx={{}}>\r\n <EmailSection />\r\n </Box>\r\n )}\r\n </Suspense>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default NewOverview;\r\n","import Grid from \"@mui/material/Grid\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\n\r\nconst PerformanceSection = ({ title, performanceData = {} }) => {\r\n const revenueData = [3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000];\r\n const visitorsData = [100, 200, 150, 250, 300, 275, 325, 350, 280];\r\n const categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep'];\r\n\r\n const revPerVisData = Array.isArray(performanceData?.revenuePerVisitor) ? performanceData.revenuePerVisitor : [];\r\n const revPerVisValues = revPerVisData.length > 0 ? revPerVisData.map(item => item.value) : revenueData;\r\n const revPerVisCategories = revPerVisData.length > 0 ? revPerVisData.map(item => item.date) : categories;\r\n const revPerVisTotal = revPerVisData.length > 0 ? (revPerVisValues.reduce((sum, val) => sum + val, 0) / revPerVisValues.length) : 5.12;\r\n\r\n const totalVisData = Array.isArray(performanceData?.totalVisits) ? performanceData.totalVisits : [];\r\n const totalVisValues = totalVisData.length > 0 ? totalVisData.map(item => item.value) : visitorsData;\r\n const totalVisCategories = totalVisData.length > 0 ? totalVisData.map(item => item.date) : categories;\r\n const totalVisTotal = totalVisData.length > 0 ? totalVisValues.reduce((sum, val) => sum + val, 0) : 1200;\r\n\r\n const upSellData = Array.isArray(performanceData?.upSellRaisedAmount) ? performanceData.upSellRaisedAmount : [];\r\n const upSellValues = upSellData.length > 0 ? upSellData.map(item => item.value) : revenueData;\r\n const upSellCategories = upSellData.length > 0 ? upSellData.map(item => item.date) : categories;\r\n const upSellTotal = upSellData.length > 0 ? upSellValues.reduce((sum, val) => sum + val, 0) : 11050;\r\n\r\n const downSellData = Array.isArray(performanceData?.downSellRaisedAmount) ? performanceData.downSellRaisedAmount : [];\r\n const downSellValues = downSellData.length > 0 ? downSellData.map(item => item.value) : revenueData;\r\n const downSellCategories = downSellData.length > 0 ? downSellData.map(item => item.date) : categories;\r\n const downSellTotal = downSellData.length > 0 ? downSellValues.reduce((sum, val) => sum + val, 0) : 1200;\r\n\r\n const abandonedData = Array.isArray(performanceData?.abandonedDonationRecoveryCount) ? performanceData.abandonedDonationRecoveryCount : [];\r\n const abandonedValues = abandonedData.length > 0 ? abandonedData.map(item => item.value) : visitorsData;\r\n const abandonedCategories = abandonedData.length > 0 ? abandonedData.map(item => item.date) : categories;\r\n const abandonedTotal = abandonedData.length > 0 ? abandonedValues.reduce((sum, val) => sum + val, 0) : 14;\r\n\r\n const primaryCharts = [\r\n {\r\n label: 'Revenue per Visitor',\r\n value: performanceData?.revenuePerVisitor ? `$${revPerVisTotal.toFixed(2)}` : '$5.12',\r\n data: revPerVisValues,\r\n categories: revPerVisCategories,\r\n },\r\n {\r\n label: 'Visitors',\r\n value: performanceData?.totalVisits ? totalVisTotal.toLocaleString() : '1200',\r\n data: totalVisValues,\r\n categories: totalVisCategories,\r\n },\r\n ];\r\n\r\n const secondaryCharts = [\r\n {\r\n label: 'Upsell Acceptance Rate',\r\n value: '23%',\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n {\r\n label: 'Upsell Raised Amount',\r\n value: performanceData?.upSellRaisedAmount ? `$${upSellTotal.toLocaleString()}` : '$1,1050',\r\n data: upSellValues,\r\n categories: upSellCategories,\r\n },\r\n ]\r\n\r\n const tertiaryCharts = [\r\n {\r\n label: 'Downsell Acceptance Rate',\r\n value: '15%',\r\n data: visitorsData,\r\n categories: categories\r\n },\r\n {\r\n label: 'Downsell Raised Amount',\r\n value: performanceData?.downSellRaisedAmount ? `$${downSellTotal.toLocaleString()}` : '$1,200',\r\n data: downSellValues,\r\n categories: downSellCategories\r\n }\r\n ]\r\n\r\n const quaternaryCharts = [\r\n {\r\n label: 'Abandoned Donation Recovery',\r\n value: performanceData?.abandonedDonationRecoveryCount ? abandonedTotal.toLocaleString() : '14',\r\n data: abandonedValues,\r\n categories: abandonedCategories\r\n },\r\n ]\r\n\r\n return (\r\n <Box sx={{ minHeight: \"100vh\", display: \"flex\", flexDirection: \"column\", alignItems: \"stretch\" }}>\r\n <Box sx={{ display: 'flex' }}>\r\n <Typography variant=\"h4\" gutterBottom sx={{ fontWeight: \"bold\", color: \"primary.dark\", mb: 2, mt: 2 }}>\r\n Performance\r\n </Typography>\r\n </Box>\r\n <Grid container spacing={3} sx={{ mb: 1 }}>\r\n {primaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {secondaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {tertiaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {quaternaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={12} isPremium={true} />)}\r\n </Grid>\r\n </Box>\r\n );\r\n};\r\nexport default PerformanceSection;","import {\r\n Box,\r\n Card,\r\n CardContent,\r\n Typography,\r\n LinearProgress,\r\n} from '@mui/material';\r\n\r\nconst data = [\r\n { range: \"$0 – $12\", plans: 21, share: 24 },\r\n { range: \"$12 – $12\", plans: 14, share: 16 },\r\n { range: \"$12 – $18\", plans: 19, share: 22 },\r\n { range: \"$18 – $28\", plans: 18, share: 21 },\r\n { range: \"$28 and more\", plans: 15, share: 17 },\r\n];\r\n\r\nconst RecurringDonationAmounts = () => {\r\n return (\r\n <Card\r\n sx={{\r\n width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n height: \"100%\",\r\n }}\r\n >\r\n <CardContent sx={{ p: 3 }}>\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n mb: 0.5,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Recurring donation amounts\r\n </Typography>\r\n <Typography\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"13px\",\r\n mb: 3,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Overview of recurring donation plans by amount\r\n </Typography>\r\n\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 2, py: 0.5 }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"100px\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.range}\r\n </Typography>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={item.share}\r\n sx={{\r\n height: 15,\r\n borderRadius: 4,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 4,\r\n bgcolor: \"#6366F1\",\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#111\",\r\n minWidth: \"60px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {`${item.plans} · ${item.share}%`}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n </CardContent>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default RecurringDonationAmounts;\r\n","import { Box, Grid, Typography } from \"@mui/material\"\r\nimport RenderChartCard from \"../RenderChartCard\"\r\nimport RecurringDonationAmounts from \"../RecurringDonationAmounts\"\r\n\r\nconst RecurringRevenueSection = () => {\r\n\r\n const revenueData = [3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000];\r\n const visitorsData = [100, 200, 150, 250, 300, 275, 325, 350, 280];\r\n const categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep'];\r\n\r\n\r\n\r\n const primaryCharts = [\r\n {\r\n label: 'MRR',\r\n value: '$1026.52',\r\n data: revenueData,\r\n categories: categories,\r\n },\r\n {\r\n label: 'MRR growth rate',\r\n value: '24.65%',\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ];\r\n\r\n const secondaryCharts = [\r\n {\r\n label: 'Share of recurring revenue',\r\n value: '21.5%',\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ]\r\n\r\n const tertiaryCharts = [\r\n {\r\n label: 'Average revenue per plan',\r\n value: '$38.44',\r\n data: revenueData,\r\n categories: categories,\r\n },\r\n {\r\n label: 'Churn rate',\r\n value: '5.4%',\r\n data: visitorsData,\r\n categories: categories,\r\n }\r\n ]\r\n\r\n return (\r\n <Box sx={{ minHeight: \"100vh\", display: \"flex\", flexDirection: \"column\", alignItems: \"stretch\" }}>\r\n <Box sx={{ display: 'flex' }}>\r\n <Typography variant=\"h4\" gutterBottom sx={{ fontWeight: \"bold\", color: \"primary.dark\", mb: 2, mt: 2 }}>\r\n Recurring revenue\r\n </Typography>\r\n </Box>\r\n <Grid container spacing={3} sx={{ mb: 1 }}>\r\n {primaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {secondaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n <Grid item xs={12} md={6} sx={{ display: 'flex' }}>\r\n <RecurringDonationAmounts />\r\n </Grid>\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {tertiaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n </Box>\r\n )\r\n}\r\n\r\nexport default RecurringRevenueSection\r\n","import React, { useState } from \"react\";\r\nimport {\r\n Box, Typography, Table, TableBody, TableCell,\r\n TableContainer, TableHead, TableRow, IconButton,\r\n Menu, MenuItem\r\n} from \"@mui/material\";\r\nimport { MoreVert as MoreVertIcon, Check as CheckIcon, MoreHoriz as MoreHorizIcon } from \"@mui/icons-material\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport MetricSelector from \"../../MetricSelector\";\r\n\r\nconst UTM_COLORS = [\r\n \"#1877F2\", // Facebook blue\r\n \"#4267B2\", // FB darker blue\r\n \"#C13584\", // Instagram pink/purple\r\n \"#000000\", // Threads black\r\n];\r\n\r\nconst rawData = [\r\n {\r\n source: \"facebook\",\r\n donations: 156,\r\n totalRaised: 4520.50,\r\n series: {\r\n Revenue: [120, 250, 230, 670, 890, 340, 1221, 780, 900, 230],\r\n Donations: [12, 25, 23, 67, 89, 34, 121, 78, 90, 23]\r\n }\r\n },\r\n {\r\n source: \"fb\",\r\n donations: 89,\r\n totalRaised: 2150.25,\r\n series: {\r\n Revenue: [50, 100, 180, 250, 120, 80, 1150, 220, 450, 300],\r\n Donations: [5, 10, 18, 25, 12, 8, 115, 22, 45, 30]\r\n }\r\n },\r\n {\r\n source: \"ig\",\r\n donations: 245,\r\n totalRaised: 8950.75,\r\n series: {\r\n Revenue: [80, 150, 180, 120, 200, 150, 100, 1180, 250, 400],\r\n Donations: [8, 15, 18, 12, 20, 15, 10, 118, 25, 40]\r\n }\r\n },\r\n {\r\n source: \"th\",\r\n donations: 34,\r\n totalRaised: 850.00,\r\n series: {\r\n Revenue: [20, 50, 80, 120, 50, 1120, 1450, 850, 500, 800],\r\n Donations: [2, 5, 8, 12, 5, 112, 145, 85, 50, 80]\r\n }\r\n },\r\n];\r\n\r\nconst SORT_OPTIONS = [\r\n { label: \"Sort ascending\", value: \"asc\" },\r\n { label: \"Sort descending\", value: \"desc\" },\r\n];\r\n\r\nconst dateCategories = Array.from({ length: 10 }, (_, i) => {\r\n const d = new Date(2024, 2, 16 + i);\r\n return `${d.toLocaleString(\"default\", { month: \"short\" })} ${d.getDate()}`;\r\n});\r\n\r\nconst UTMPerformance = () => {\r\n const [sortMode, setSortMode] = useState(\"desc\");\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n const [metric, setMetric] = useState(\"Revenue\");\r\n const [parameter, setParameter] = useState(\"utm_source\");\r\n\r\n const sortedData = [...rawData].sort((a, b) => {\r\n const valA = metric === \"Revenue\" ? a.totalRaised : a.donations;\r\n const valB = metric === \"Revenue\" ? b.totalRaised : b.donations;\r\n if (sortMode === \"asc\") return valA - valB;\r\n if (sortMode === \"desc\") return valB - valA;\r\n return 0;\r\n });\r\n\r\n const chartSeries = rawData.map((d, i) => ({\r\n name: d.source,\r\n data: d.series[metric],\r\n color: UTM_COLORS[i],\r\n }));\r\n\r\n const chartOptions = {\r\n chart: {\r\n type: \"line\", height: 320, toolbar: { show: false },\r\n zoom: { enabled: false },\r\n animations: { enabled: false },\r\n },\r\n stroke: { curve: \"straight\", width: 1.5 },\r\n colors: UTM_COLORS,\r\n xaxis: {\r\n categories: dateCategories,\r\n tickAmount: 2,\r\n labels: { style: { fontSize: \"11px\", colors: \"#888\" } },\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n },\r\n yaxis: {\r\n opposite: true,\r\n min: 0,\r\n tickAmount: 3,\r\n labels: {\r\n formatter: (v) => metric === \"Revenue\" ? `$${Math.round(v)}` : Math.round(v),\r\n style: { fontSize: \"11px\", colors: \"#888\" },\r\n },\r\n },\r\n grid: { borderColor: \"#f0f0f0\", strokeDashArray: 0, padding: { left: 20 } },\r\n legend: { show: false },\r\n tooltip: {\r\n shared: true,\r\n custom: ({ dataPointIndex, w }) => {\r\n const date = dateCategories[dataPointIndex];\r\n const items = w.config.series.map((s, i) => {\r\n const val = s.data[dataPointIndex];\r\n return `<div style=\"display:flex;justify-content:space-between;gap:24px;padding:3px 0;font-size:12px\">\r\n <span style=\"display:flex;align-items:center;gap:6px\">\r\n <span style=\"display:inline-block;width:8px;height:8px;border-radius:50%;background:${UTM_COLORS[i]}\"></span>\r\n <span style=\"color:#333\">${s.name}</span>\r\n </span>\r\n <span style=\"font-weight:600;color:#111\">${metric === \"Revenue\" ? `$${val.toFixed(2)}` : val}</span>\r\n </div>`;\r\n }).join(\"\");\r\n return `<div style=\"background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:12px 16px;min-width:200px;box-shadow:0 4px 16px rgba(0,0,0,0.08)\">\r\n <div style=\"font-weight:600;font-size:13px;color:#111;margin-bottom:8px\">${date}</div>\r\n ${items}\r\n </div>`;\r\n },\r\n },\r\n markers: { size: 0 },\r\n };\r\n\r\n const BORDER = \"1px solid #f0f0f0\";\r\n const headerCellSx = {\r\n fontWeight: 600, fontSize: \"0.78rem\", color: \"#555\",\r\n borderBottom: \"1.5px solid #e8e8e8\", py: 1.5, px: 2,\r\n bgcolor: \"#fff\",\r\n };\r\n const cellSx = {\r\n fontSize: \"0.85rem\", color: \"#333\",\r\n borderBottom: BORDER, py: 1.5, px: 2,\r\n verticalAlign: \"middle\",\r\n };\r\n\r\n return (\r\n <Box sx={{ mt: 4 }}>\r\n <Typography variant=\"h4\" sx={{ fontWeight: \"bold\", color: \"primary.dark\", mb: 3, textAlign: \"left\" }}>\r\n UTM Parameters\r\n </Typography>\r\n\r\n <Box sx={{ bgcolor: \"#ffffffff\", borderRadius: 4, border: BORDER, boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\", p: 2, overflow: \"hidden\" }}>\r\n <Box sx={{ display: 'flex', justifyContent: 'flex-start', gap: 1, mb: 2 }}>\r\n <MetricSelector\r\n metric={parameter}\r\n onMetricChange={setParameter}\r\n options={[\"utm_source\", \"utm_medium\", \"utm_campaign\", \"utm_content\", \"utm_term\"]}\r\n label=\"Parameter\"\r\n />\r\n <MetricSelector\r\n metric={metric}\r\n onMetricChange={setMetric}\r\n options={[\"Revenue\", \"Donations\"]}\r\n label=\"Metric\"\r\n />\r\n <IconButton\r\n sx={{\r\n border: \"1px solid #E9E9EB\",\r\n borderRadius: \"8px\",\r\n color: \"#000\",\r\n height: \"40px\",\r\n width: \"40px\",\r\n \"&:hover\": {\r\n borderColor: \"primary.main\",\r\n bgcolor: \"rgba(99, 99, 230, 0.04)\",\r\n },\r\n }}\r\n >\r\n <MoreHorizIcon sx={{ fontSize: \"1.2rem\" }} />\r\n </IconButton>\r\n </Box>\r\n <ReactApexChart options={chartOptions} series={chartSeries} type=\"line\" height={320} />\r\n\r\n <TableContainer>\r\n <Table sx={{ borderCollapse: \"collapse\" }}>\r\n <TableHead>\r\n <TableRow>\r\n <TableCell sx={{ ...headerCellSx }}>Parameter values</TableCell>\r\n <TableCell sx={{ ...headerCellSx, textAlign: \"right\" }}>Donations</TableCell>\r\n <TableCell sx={{ ...headerCellSx, textAlign: \"right\" }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", justifyContent: \"flex-end\", gap: 0.5 }}>\r\n Total raised ↓\r\n <IconButton size=\"small\" onClick={(e) => setAnchorEl(e.currentTarget)} sx={{ ml: 0.5, p: 0.3 }}>\r\n <MoreVertIcon fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {sortedData.map((row, i) => {\r\n const colorIdx = rawData.findIndex(d => d.source === row.source);\r\n const color = UTM_COLORS[colorIdx] || \"#ccc\";\r\n return (\r\n <TableRow key={row.source} sx={{ \"&:hover\": { bgcolor: \"#fafafa\" } }}>\r\n <TableCell sx={{ ...cellSx }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\r\n <Box sx={{ width: 20, height: 3, bgcolor: color, borderRadius: 2, flexShrink: 0 }} />\r\n <Typography variant=\"body2\" fontWeight={500}>{row.source}</Typography>\r\n </Box>\r\n </TableCell>\r\n <TableCell sx={{ ...cellSx, textAlign: \"right\" }}>{row.donations}</TableCell>\r\n <TableCell sx={{ ...cellSx, textAlign: \"right\", fontWeight: 600 }}>${row.totalRaised.toFixed(2)}</TableCell>\r\n </TableRow>\r\n );\r\n })}\r\n </TableBody>\r\n </Table>\r\n </TableContainer>\r\n </Box>\r\n\r\n <Menu\r\n anchorEl={anchorEl}\r\n open={Boolean(anchorEl)}\r\n onClose={() => setAnchorEl(null)}\r\n PaperProps={{ sx: { borderRadius: 2, boxShadow: \"0 4px 16px rgba(0,0,0,0.1)\", border: \"1px solid #f0f0f0\", minWidth: 200 } }}\r\n >\r\n {SORT_OPTIONS.map((opt) => (\r\n <MenuItem\r\n key={opt.value}\r\n onClick={() => { setSortMode(opt.value); setAnchorEl(null); }}\r\n sx={{ fontSize: \"13px\", display: \"flex\", justifyContent: \"space-between\", gap: 2 }}\r\n >\r\n {opt.label}\r\n {sortMode === opt.value && <CheckIcon sx={{ fontSize: \"16px\", color: \"primary.main\" }} />}\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default UTMPerformance;\r\n","import { Box, Card, CardContent, Typography, LinearProgress } from \"@mui/material\";\r\n\r\nconst data = [\r\n { step: \"Step 1: Amount Selection\", share: 22 },\r\n { step: \"Step 2: Add Payment\", share: 18 },\r\n { step: \"Step 3: Option Details\", share: 10 },\r\n { step: \"Step 4: Review and Pay\", share: 5 },\r\n];\r\n\r\nconst DropOffPoints = () => {\r\n return (\r\n <Card\r\n sx={{\r\n width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n height: \"100%\",\r\n }}\r\n >\r\n <CardContent sx={{ p: 3 }}>\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n mb: 0.5,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Drop off points in donation flow\r\n </Typography>\r\n <Typography\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"13px\",\r\n mb: 3,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Points where donors exit the donation flow\r\n </Typography>\r\n\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 2, py: 0.5 }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"160px\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.step}\r\n </Typography>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={item.share}\r\n sx={{\r\n height: 15,\r\n borderRadius: 4,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 4,\r\n bgcolor: \"#6366F1\",\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#111\",\r\n minWidth: \"40px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {item.share}%\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n </CardContent>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default DropOffPoints;\r\n","import { Box, Grid, Typography } from \"@mui/material\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport DropOffPoints from \"../DropOffPoints\";\r\n\r\nconst DonorBehavior = () => {\r\n const revenueData = [3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000];\r\n const visitorsData = [100, 200, 150, 250, 300, 275, 325, 350, 280];\r\n const categories = [\r\n \"Jan\",\r\n \"Feb\",\r\n \"Mar\",\r\n \"Apr\",\r\n \"May\",\r\n \"Jun\",\r\n \"Jul\",\r\n \"Aug\",\r\n \"Sep\",\r\n ];\r\n\r\n const primaryCharts = [\r\n {\r\n label: \"Average Donations per Donor\",\r\n value: \"2.1\",\r\n subValue: \"Avg. Donation Amount: $45.20\",\r\n data: revenueData,\r\n categories: categories,\r\n },\r\n {\r\n label: \"Avg Donor Lifetime Value (LTV)\",\r\n value: \"$185.75\",\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ];\r\n\r\n const secondaryCharts = [\r\n {\r\n label: \"New Vs Returning Donors\",\r\n value: \"35%\",\r\n subValue: \"New Donors: 65%\",\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ];\r\n\r\n const tertiaryCharts = [\r\n {\r\n label: \"Repeater donation rate\",\r\n value: \"28%\",\r\n subValue: \"Calculated from 3-month avg\",\r\n data: revenueData,\r\n categories: categories,\r\n },\r\n {\r\n label: \"Time Between Donations\",\r\n value: \"48 days\",\r\n subValue: \"Average for active donors\",\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ];\r\n return (\r\n <Box\r\n sx={{\r\n // p: 4,\r\n // bgcolor: \"primary.mainLight\",\r\n minHeight: \"100vh\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"stretch\",\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\" }}>\r\n <Typography\r\n variant=\"h4\"\r\n gutterBottom\r\n sx={{ fontWeight: \"bold\", color: \"primary.dark\", mb: 2, mt: 2 }}\r\n >\r\n Donor Behavior\r\n </Typography>\r\n </Box>\r\n <Grid container spacing={3} sx={{ mb: 1 }}>\r\n {primaryCharts.map((item, index) => (\r\n <RenderChartCard item={item} index={index} md={6} isPremium={true} />\r\n ))}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n <Grid item xs={12} md={6} sx={{ display: \"flex\" }}>\r\n <DropOffPoints />\r\n </Grid>\r\n {secondaryCharts.map((item, index) => (\r\n <RenderChartCard item={item} index={index} md={6} isPremium={true} />\r\n ))}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {tertiaryCharts.map((item, index) => (\r\n <RenderChartCard item={item} index={index} md={6} isPremium={true} />\r\n ))}\r\n </Grid>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default DonorBehavior;\r\n","import React from \"react\";\r\nimport {\r\n Box, Typography, IconButton, Table, TableBody,\r\n TableCell, TableContainer, TableHead, TableRow,\r\n} from \"@mui/material\";\r\nimport { InfoOutlined, Settings } from \"@mui/icons-material\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\n\r\nconst miniChartOptions = (color = \"#6363e6\") => ({\r\n chart: { type: \"area\", sparkline: { enabled: true }, animations: { enabled: false } },\r\n stroke: { curve: \"smooth\", width: 2 },\r\n fill: { type: \"gradient\", gradient: { shadeIntensity: 0.4, opacityFrom: 5, opacityTo: 5 } },\r\n colors: [color],\r\n tooltip: { enabled: false },\r\n});\r\n\r\nconst MiniChart = ({ data, color }) => (\r\n <ReactApexChart options={miniChartOptions(color)} series={[{ data }]} type=\"area\" width={90} height={40} />\r\n);\r\n\r\nconst rows = [\r\n {\r\n title: \"Reminder 1 (1hr)\",\r\n abandoned: \"1,240\", sent: \"1,240\",\r\n openRate: \"42.1%\", openCount: \"(522)\",\r\n clickRate: \"18.3%\", clickCount: \"(227)\",\r\n recoveryRate: \"8.2%\",\r\n recoveryData: [1, 2, 3, 4, 5, 6, 7, 7, 8],\r\n revenue: \"$3,850\",\r\n revenueData: [2, 3, 4, 5, 4, 6, 5, 7, 6],\r\n recovered: \"102\",\r\n recoveredData: [1, 2, 3, 4, 3, 5, 4, 6, 5],\r\n },\r\n {\r\n title: \"Reminder 2 (24hr)\",\r\n abandoned: \"1,138\", sent: \"1,138\",\r\n openRate: \"31.4%\", openCount: \"(357)\",\r\n clickRate: \"12.6%\", clickCount: \"(143)\",\r\n recoveryRate: \"4.1%\",\r\n recoveryData: [2, 3, 2, 4, 3, 4, 3, 4, 4],\r\n revenue: \"$1,920\",\r\n revenueData: [2, 3, 3, 4, 3, 5, 4, 5, 4],\r\n recovered: \"47\",\r\n recoveredData: [1, 2, 2, 3, 2, 3, 3, 4, 3],\r\n },\r\n {\r\n title: \"Reminder 3 (72hr)\",\r\n abandoned: \"1,091\", sent: \"1,091\",\r\n openRate: \"22.8%\", openCount: \"(249)\",\r\n clickRate: \"8.9%\", clickCount: \"(97)\",\r\n recoveryRate: \"2.3%\",\r\n recoveryData: [1, 2, 1, 2, 2, 2, 3, 2, 3],\r\n revenue: \"$890\",\r\n revenueData: [1, 2, 2, 3, 2, 3, 2, 3, 3],\r\n recovered: \"25\",\r\n recoveredData: [1, 1, 2, 1, 2, 2, 2, 2, 3],\r\n },\r\n];\r\n\r\nconst aggregates = {\r\n abandoned: \"1,240\", sent: \"3,469\", sentData: [2, 3, 4, 5, 4, 6, 5, 7, 8],\r\n openRate: \"32.1%\", openCount: \"(1,128)\", openRateData: [5, 6, 5, 7, 6, 7, 6, 8, 7],\r\n clickRate: \"13.3%\", clickCount: \"(467)\", clickRateData: [3, 4, 5, 4, 5, 4, 5, 5, 6],\r\n recoveryRate: \"14.6%\", recoveryData: [2, 3, 4, 5, 5, 6, 6, 7, 8],\r\n revenue: \"$6,660\", revenueData: [3, 4, 5, 6, 5, 7, 6, 8, 7],\r\n recovered: \"174\", recoveredData: [2, 3, 4, 5, 4, 6, 5, 7, 6],\r\n};\r\n\r\nconst BORDER = \"1px solid #e0e0e0\";\r\n\r\nconst headerCellSx = {\r\n fontWeight: 900, fontSize: \"0.78rem\", color: \"#111\", bgcolor: \"#f3f3f3\",\r\n borderBottom: BORDER, borderRight: BORDER, py: \"20px\", px: \"5px\",\r\n lineHeight: 1.4, textAlign: \"center\", \"&:last-child\": { borderRight: 0 },\r\n};\r\n\r\nconst cellSx = {\r\n fontSize: \"0.85rem\", color: \"#333\", borderBottom: BORDER, borderRight: BORDER,\r\n py: \"10px\", px: \"5px\", verticalAlign: \"middle\", textAlign: \"center\",\r\n \"&:last-child\": { borderRight: 0 },\r\n};\r\n\r\nconst aggCellSx = { ...cellSx, bgcolor: \"#f3f3f3\", fontWeight: 900 };\r\n\r\nconst AbandonedDonationRecovery = () => {\r\n return (\r\n <Box sx={{ bgcolor: \"#fff\", borderRadius: 4, border: \"1px solid #f0f0f0\", boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\", overflow: \"hidden\", width: \"100%\" }}>\r\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", px: 3, py: 2 }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\r\n <Typography variant=\"subtitle2\" sx={{ fontWeight: 600, color: \"#111\" }}>Abandoned Donation Recovery</Typography>\r\n <InfoOutlined sx={{ fontSize: \"1rem\", color: \"#9e9e9e\" }} />\r\n <Settings sx={{ fontSize: \"1rem\", color: \"#9e9e9e\" }} />\r\n </Box>\r\n <IconButton sx={{ border: \"1px solid #E9E9EB\", borderRadius: \"8px\", height: \"36px\", width: \"36px\" }}>\r\n <Settings sx={{ fontSize: \"1.1rem\", color: \"#555\" }} />\r\n </IconButton>\r\n </Box>\r\n\r\n <TableContainer sx={{ pb: 2, overflowX: \"auto\", width: \"100%\", boxSizing: \"border-box\" }}>\r\n <Box sx={{ px: \"25px\" }}>\r\n <Table sx={{ borderCollapse: \"separate\", borderSpacing: 0, border: BORDER, borderRadius: \"12px\", overflow: \"hidden\", width: \"100%\", minWidth: 800 }}>\r\n <TableHead>\r\n <TableRow>\r\n <TableCell sx={{ ...headerCellSx, textAlign: \"left\", minWidth: 160 }}>Reminder Email</TableCell>\r\n <TableCell sx={headerCellSx}>Abandoned Count</TableCell>\r\n <TableCell sx={headerCellSx}>Emails Sent</TableCell>\r\n <TableCell sx={headerCellSx}>Open Rate (No.)</TableCell>\r\n <TableCell sx={headerCellSx}>Click Rate (No.)</TableCell>\r\n <TableCell sx={headerCellSx}>Recovery Rate</TableCell>\r\n <TableCell sx={headerCellSx}>Recovered Revenue</TableCell>\r\n <TableCell sx={headerCellSx}>Recovered Donations</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {rows.map((row, i) => (\r\n <TableRow key={i} sx={{ \"&:hover\": { bgcolor: \"#fafafa\" } }}>\r\n <TableCell sx={{ ...cellSx, textAlign: \"left\", fontWeight: 500 }}>{row.title}</TableCell>\r\n <TableCell sx={cellSx}>{row.abandoned}</TableCell>\r\n <TableCell sx={cellSx}>{row.sent}</TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500}>{row.openRate}</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>{row.openCount}</Typography>\r\n </TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500}>{row.clickRate}</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>{row.clickCount}</Typography>\r\n </TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500} >{row.recoveryRate}</Typography>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={row.recoveryData} /></Box>\r\n </TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500}>{row.revenue}</Typography>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={row.revenueData} /></Box>\r\n </TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500}>{row.recovered}</Typography>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={row.recoveredData} /></Box>\r\n </TableCell>\r\n </TableRow>\r\n ))}\r\n\r\n {/* Aggregates */}\r\n <TableRow sx={{ \"& td\": { borderBottom: 0 } }}>\r\n <TableCell sx={{ ...aggCellSx, textAlign: \"left\" }}>\r\n <Typography variant=\"body2\" fontWeight={700}>Total Aggregates</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\">(Mar 3 - Apr 3)</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}><Typography variant=\"body2\" fontWeight={700}>{aggregates.abandoned}</Typography></TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}><Typography variant=\"body2\" fontWeight={700}>{aggregates.sent}</Typography></Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.sentData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}>\r\n <Typography variant=\"body2\" fontWeight={700}>{aggregates.openRate}</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>{aggregates.openCount}</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.openRateData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}>\r\n <Typography variant=\"body2\" fontWeight={700}>{aggregates.clickRate}</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>{aggregates.clickCount}</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.clickRateData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}><Typography variant=\"body2\" fontWeight={700}>{aggregates.recoveryRate}</Typography></Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.recoveryData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}><Typography variant=\"body2\" fontWeight={700}>{aggregates.revenue}</Typography></Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.revenueData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}><Typography variant=\"body2\" fontWeight={700}>{aggregates.recovered}</Typography></Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.recoveredData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </Box>\r\n </TableContainer>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default AbandonedDonationRecovery;","/**\r\n * Theme colors for server components\r\n *\r\n * These are plain JavaScript objects that can be safely imported\r\n * in both server and client components without triggering\r\n * client-only code in server components.\r\n *\r\n * For client components, use the full theme from @/config/customTheme\r\n */\r\n\r\nexport const themeColors = {\r\n primary: {\r\n main: \"#6363E6\",\r\n mainLight: \"#F7F7FF\",\r\n light: \"#FFFFFF\",\r\n gray: \"#A1A1A8\",\r\n lightGreen: \"#E1FBF2\",\r\n green: \"#0CAB72\",\r\n red: \"#E61D1D\",\r\n lightRed: \"#FFEDED\",\r\n lightGray: \"#E9E9EB\",\r\n darkGray: \"#606062\",\r\n dark: \"#090909\",\r\n },\r\n text: {\r\n primary: \"#666666\",\r\n },\r\n secondary: {\r\n main: \"#E0C2FF\",\r\n light: \"#F5EBFF\",\r\n contrastText: \"#47008F\",\r\n },\r\n white: {\r\n main: \"#FFFFFF\",\r\n light: \"#F8F8F8\",\r\n },\r\n gradients: {\r\n primary: \"linear-gradient(90deg, #6363E6 0.05%, #59C9F9 99.96%)\",\r\n secondary: \"linear-gradient(180deg, #E9E9FF 0%, #C9EEFF 100%)\",\r\n },\r\n};\r\n\r\n// Typography settings for server components\r\nexport const themeTypography = {\r\n fontFamily: [\r\n \"var(--font-league-spartan)\",\r\n \"var(--font-noto-sans-arabic)\",\r\n \"-apple-system\",\r\n \"BlinkMacSystemFont\",\r\n \"Segoe UI\",\r\n \"Roboto\",\r\n \"Helvetica Neue\",\r\n \"Arial\",\r\n \"sans-serif\",\r\n \"Apple Color Emoji\",\r\n \"Segoe UI Emoji\",\r\n \"Segoe UI Symbol\",\r\n ].join(\",\"),\r\n};\r\n","import { Box, Typography, LinearProgress, Avatar } from \"@mui/material\";\r\n\r\nconst ActiveCampaignsCard = ({\r\n title = \"Active campaigns\",\r\n subtitle = \"Live fundraisers ranked by velocity\",\r\n columns = [\"Campaign\", \"Raised\", \"Progress\", \"Donors\", \"Avg gift\",],\r\n rows = [],\r\n gridTemplateColumns = \"3fr 1fr 1.5fr 0.8fr 1fr \",\r\n height\r\n}) => {\r\n return (\r\n <Box\r\n sx={{\r\n bgcolor: \"#fff\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n p: 3,\r\n height: height,\r\n // height: \"100%\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"flex-start\",\r\n mb: 3,\r\n }}\r\n >\r\n <Box>\r\n <Typography\r\n sx={{\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.4)\", mt: 0.2 }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ overflowX: \"auto\" }}>\r\n <Box sx={{ minWidth: \"600px\" }}>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: gridTemplateColumns,\r\n gap: 2,\r\n pb: 2.5,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n {columns.map((header) => (\r\n <Typography\r\n key={header}\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {header}\r\n </Typography>\r\n ))}\r\n </Box>\r\n\r\n <Box sx={{ mt: 1 }}>\r\n {rows.map((row, idx) => (\r\n <Box\r\n key={idx}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: gridTemplateColumns,\r\n gap: 2,\r\n py: 1.2,\r\n alignItems: \"center\",\r\n borderBottom:\r\n idx === rows.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n {/* Column 1: Item with Avatar/Icon */}\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\r\n {row.id && (\r\n <Avatar\r\n sx={{\r\n width: 28,\r\n height: 28,\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n bgcolor: row.avatarBg || \"#F3F4F6\",\r\n color: \"rgb(99, 99, 230)\",\r\n }}\r\n >\r\n {row.id}\r\n </Avatar>\r\n )}\r\n {row.icon && (\r\n <Box\r\n sx={{\r\n color: row.iconColor || \"inherit\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <row.icon sx={{ fontSize: \"18px\" }} />\r\n </Box>\r\n )}\r\n <Typography\r\n sx={{ fontSize: \"12px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {row.name}\r\n </Typography>\r\n </Box>\r\n\r\n {/* Column 2: Value 1 (Spent/Raised) */}\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 600,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {row.val1}\r\n </Typography>\r\n\r\n {/* Column 3: Progress or Value 2 */}\r\n {row.type === \"progress\" ? (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5, }}>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={row.progress}\r\n sx={{\r\n height: 8,\r\n borderRadius: 4,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 4,\r\n bgcolor: row.progressColor || \"rgb(99, 99, 230)\",\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"11px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"30px\",\r\n }}\r\n >\r\n {row.progress}%\r\n </Typography>\r\n </Box>\r\n ) : (\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 600,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {row.val2}\r\n </Typography>\r\n )}\r\n\r\n {/* Column 4: Value 3 or highlighted ROAS */}\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: row.highlightVal3 ? 700 : 500,\r\n color: row.highlightVal3\r\n ? row.val3Color || \"#22C55E\"\r\n : \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {row.val3}\r\n </Typography>\r\n\r\n {/* Column 5: Value 4 */}\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {row.val4}\r\n </Typography>\r\n\r\n {/* Column 6: Status or Trend */}\r\n {columns.length > 5 && (\r\n <Box>\r\n {row.type === \"trend\" ? (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n }}\r\n >\r\n {row.trendType === \"up\" ? (\r\n <>\r\n <Typography sx={{ fontSize: \"14px\", color: \"#22C55E\" }}>\r\n ▲\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"#22C55E\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {row.trendLabel}\r\n </Typography>\r\n </>\r\n ) : (\r\n <>\r\n <Typography sx={{ fontSize: \"14px\", color: \"#EF4444\" }}>\r\n ▼\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"#EF4444\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {row.trendLabel}\r\n </Typography>\r\n </>\r\n )}\r\n </Box>\r\n ) : (\r\n <Box\r\n sx={{\r\n display: \"inline-block\",\r\n px: 1.5,\r\n py: 0.5,\r\n borderRadius: \"100px\",\r\n bgcolor: row.statusBg,\r\n color: row.statusColor,\r\n fontSize: \"11px\",\r\n fontWeight: 700,\r\n textAlign: \"center\",\r\n }}\r\n >\r\n {row.status}\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n </Box>\r\n ))}\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default ActiveCampaignsCard;\r\n","import React from \"react\";\r\nimport { Box, Typography } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\n\r\nconst DonorMixCard = ({\r\n title = \"Donor mix\",\r\n subtitle = \"Acquisition vs retention\",\r\n series = [68, 32],\r\n labels = [\"New donors\", \"Returning\"],\r\n colors = [\"rgb(99, 99, 230)\", \"#10B981\"],\r\n centerLabel = \"donors\",\r\n centerValue = \"215\",\r\n items = [\r\n { label: \"New donors\", val: \"146 · 68%\", color: \"rgb(99, 99, 230)\" },\r\n { label: \"Returning\", val: \"69 · 32%\", color: \"#10B981\" },\r\n ],\r\n showBottomSummary = true,\r\n bottomSummaryValue = \"$130.58\",\r\n bottomSummaryTrend = \"8.4% vs last month\",\r\n sx = {},\r\n}) => {\r\n const chartOptions = {\r\n chart: {\r\n type: \"donut\",\r\n },\r\n labels: labels,\r\n colors: colors,\r\n plotOptions: {\r\n pie: {\r\n donut: {\r\n size: \"75%\",\r\n labels: {\r\n show: true,\r\n name: {\r\n show: true,\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n offsetY: 25,\r\n },\r\n value: {\r\n show: true,\r\n fontSize: \"24px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n offsetY: -15,\r\n formatter: (val) => val,\r\n },\r\n total: {\r\n show: true,\r\n label: centerLabel,\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n formatter: () => centerValue,\r\n },\r\n },\r\n },\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n legend: {\r\n show: false,\r\n },\r\n stroke: {\r\n show: false,\r\n },\r\n states: {\r\n hover: {\r\n filter: {\r\n type: \"none\",\r\n },\r\n },\r\n },\r\n };\r\n\r\n return (\r\n <Box\r\n sx={{\r\n bgcolor: \"#fff\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n p: 3,\r\n // height: \"100%\",\r\n // width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx,\r\n }}\r\n >\r\n <Box sx={{}}>\r\n <Typography\r\n sx={{\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n // mt: 0.2,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n position: \"relative\",\r\n height: \"180px\",\r\n // mb: 1,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n }}\r\n >\r\n <Chart\r\n options={chartOptions}\r\n series={series}\r\n type=\"donut\"\r\n width=\"210\"\r\n />\r\n </Box>\r\n\r\n <Box sx={{}}>\r\n {items.map((item, idx) => (\r\n <Box\r\n key={idx}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n mb: idx === items.length - 1 ? (showBottomSummary ? 1 : 0) : 1,\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\r\n <Box\r\n sx={{\r\n width: 10,\r\n height: 10,\r\n bgcolor: item.color,\r\n borderRadius: \"2px\",\r\n }}\r\n />\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n }}\r\n >\r\n {item.label}\r\n </Typography>\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#111\" }}\r\n >\r\n {item.val}\r\n </Typography>\r\n </Box>\r\n ))}\r\n\r\n {showBottomSummary && (\r\n <Box\r\n sx={{\r\n // display: \"flex\",\r\n // justifyContent: \"space-between\",\r\n // alignItems: \"center\",\r\n pt: 2,\r\n borderTop: \"1px solid #f0f0f0\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\", fontWeight: 500, color: \"rgba(0, 0, 0, 0.4)\",\r\n }}\r\n >\r\n Avg gift\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {bottomSummaryValue}\r\n </Typography>\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n color: \"#22C55E\",\r\n fontSize: \"12px\",\r\n fontWeight: 600,\r\n }}\r\n >\r\n <span>▲</span>\r\n {bottomSummaryTrend}\r\n </Box>\r\n </Box>\r\n )}\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default DonorMixCard;\r\n","import React from \"react\";\r\nimport { Box, Typography, Card, LinearProgress } from \"@mui/material\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\nconst TrafficSourceCard = ({\r\n title = \"Traffic source\",\r\n subtitle = \"Revenue by channel · 30 days\",\r\n trafficSourceData = [],\r\n total = \"$0\",\r\n sx,\r\n}) => {\r\n const paidAdsColor = \"rgb(99, 99, 230)\";\r\n const organicColor = \"#10B981\";\r\n const emailColor = \"#0EA5E9\";\r\n const directColor = \"#94A3B8\";\r\n\r\n const getSourceColor = (source) => {\r\n switch (source) {\r\n case \"Paid Ads\":\r\n return paidAdsColor;\r\n case \"Organic\":\r\n return organicColor;\r\n case \"Email\":\r\n return emailColor;\r\n case \"Direct\":\r\n return directColor;\r\n default:\r\n return \"#CBD5E1\";\r\n }\r\n };\r\n\r\n return (\r\n <Card\r\n sx={{\r\n p: 3,\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n bgcolor: \"#fff\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx,\r\n }}\r\n >\r\n <Box>\r\n <Typography\r\n sx={{\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n mt: 0.5,\r\n mb: 0.5,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1.5fr 2fr\",\r\n gap: 2,\r\n // mb: 1.5,\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n fontWeight: 700,\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n letterSpacing: \"0.05em\",\r\n }}\r\n >\r\n SOURCE\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n fontWeight: 700,\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n letterSpacing: \"0.05em\",\r\n }}\r\n >\r\n REVENUE\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n fontWeight: 700,\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n letterSpacing: \"0.05em\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n SHARE\r\n </Typography>\r\n </Box>\r\n\r\n <Box>\r\n {trafficSourceData?.map((item, index) => {\r\n const shareValue = Number(item.share || 0);\r\n\r\n return (\r\n <Box\r\n key={`${item.source}-${index}`}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1.5fr 2fr\",\r\n gap: 2,\r\n py: 0.75,\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1,\r\n minWidth: 0,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 10,\r\n height: 10,\r\n bgcolor: getSourceColor(item.source),\r\n borderRadius: \"2px\",\r\n flexShrink: 0,\r\n }}\r\n />\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 600,\r\n color: \"rgba(0, 0, 0, 0.7)\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n title={item.source}\r\n >\r\n {item.source}\r\n </Typography>\r\n </Box>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n }}\r\n >\r\n ${formatNumber(item.revenue)}\r\n </Typography>\r\n\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n justifyContent: \"flex-end\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: \"60px\",\r\n flexShrink: 0,\r\n }}\r\n >\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={Math.max(shareValue, 0)}\r\n sx={{\r\n height: 6,\r\n borderRadius: 3,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 3,\r\n bgcolor: getSourceColor(item.source),\r\n },\r\n }}\r\n />\r\n </Box>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n minWidth: \"40px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {shareValue < 1 && shareValue > 0\r\n ? `${shareValue.toFixed(2)}%`\r\n : `${shareValue.toFixed(0)}%`}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n pt: 2,\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n }}\r\n >\r\n Total\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"16px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n }}\r\n >\r\n {total}\r\n </Typography>\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default TrafficSourceCard;","import React from \"react\";\r\nimport { Box, Typography, Card } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\nconst MetricSparklineCard = ({\r\n title,\r\n subtitle,\r\n value,\r\n trend,\r\n trendColor = \"#22C55E\",\r\n chartData = [], // [{ label: \"2026-05-01\", value: 1200 }]\r\n chartColor = \"rgb(99, 99, 230)\",\r\n footerMetrics = [],\r\n sx,\r\n bottomSection = false\r\n}) => {\r\n\r\n // Extract values for chart series\r\n const series = [\r\n {\r\n name: title,\r\n data: chartData.map((item) => item.value),\r\n },\r\n ];\r\n\r\n // Extract labels for x-axis\r\n const categories = chartData.map((item) => item.label);\r\n\r\n const chartOptions = {\r\n chart: {\r\n type: \"area\",\r\n sparkline: { enabled: true },\r\n animations: { enabled: true },\r\n toolbar: { show: false },\r\n },\r\n\r\n xaxis: {\r\n categories,\r\n labels: {\r\n show: false,\r\n },\r\n },\r\n\r\n stroke: {\r\n curve: \"smooth\",\r\n width: 2,\r\n },\r\n\r\n fill: {\r\n type: \"gradient\",\r\n gradient: {\r\n shadeIntensity: 1,\r\n opacityFrom: 0.45,\r\n opacityTo: 0.05,\r\n stops: [20, 100, 100],\r\n },\r\n },\r\n\r\n colors: [chartColor],\r\n\r\n tooltip: {\r\n enabled: true,\r\n theme: \"light\",\r\n\r\n x: {\r\n show: true,\r\n formatter: (_, { dataPointIndex }) => {\r\n return categories[dataPointIndex];\r\n },\r\n },\r\n\r\n y: {\r\n formatter: (val) => {\r\n if (title?.toLowerCase().includes(\"revenue\")) {\r\n return `$${Number(val).toLocaleString()}`;\r\n }\r\n\r\n if (\r\n title?.toLowerCase().includes(\"rate\") ||\r\n title?.toLowerCase().includes(\"bounce\")\r\n ) {\r\n return `${val}%`;\r\n }\r\n\r\n return Number(val).toLocaleString();\r\n },\r\n },\r\n\r\n marker: { show: false },\r\n },\r\n };\r\n\r\n return (\r\n <Card\r\n sx={{\r\n p: 3,\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n bgcolor: \"#fff\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx\r\n }}\r\n >\r\n <Box sx={{ mb: 1 }}>\r\n <Typography\r\n sx={{\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n mt: 0.2,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n mt: 1,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"flex-start\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"24px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n }}\r\n >\r\n {value}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"11px\",\r\n fontWeight: 700,\r\n color: trendColor,\r\n mt: 0.2,\r\n }}\r\n >\r\n {trend}\r\n </Typography>\r\n </Box>\r\n\r\n <Box sx={{ height: 60, mb: 2 }}>\r\n <Chart\r\n options={chartOptions}\r\n series={series}\r\n type=\"area\"\r\n height=\"100%\"\r\n />\r\n\r\n {/* Optional custom visible dates */}\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n mt: 0.5,\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"10px\",\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n }}\r\n >\r\n {categories[0]}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"10px\",\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n }}\r\n >\r\n {categories[Math.floor(categories.length / 2)]}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"10px\",\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n }}\r\n >\r\n {categories[categories.length - 1]}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n mt: \"auto\",\r\n pt: bottomSection ? 1.5 : 3,\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n {footerMetrics.map((m, idx) => (\r\n <Box key={idx} sx={{ textAlign: \"center\" }}>\r\n <Typography\r\n sx={{\r\n fontSize: \"10px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n {m.label}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n }}\r\n >\r\n {`$${formatNumber(m.value)}`}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default MetricSparklineCard;","import React from \"react\";\r\nimport { Box, Typography, Card } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\nimport { TrendingUp, TrendingDown } from \"@mui/icons-material\";\r\n\r\nconst MetricDonutCard = ({\r\n title,\r\n subtitle,\r\n acceptanceRate,\r\n acceptanceVal,\r\n acceptanceTrend,\r\n raisedVal,\r\n raisedTrend,\r\n chartColors = [\"rgb(99, 99, 230)\", \"#88bfd290\"],\r\n sx,\r\n}) => {\r\n const chartOptions = {\r\n chart: {\r\n type: \"radialBar\",\r\n sparkline: { enabled: true },\r\n },\r\n plotOptions: {\r\n radialBar: {\r\n hollow: { size: \"45%\" },\r\n track: {\r\n background: chartColors[1] || \"#f0f0f0\",\r\n strokeWidth: \"100%\",\r\n },\r\n dataLabels: {\r\n name: {\r\n show: true,\r\n fontSize: \"11px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n offsetY: 15,\r\n },\r\n value: {\r\n show: true,\r\n fontSize: \"18px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n offsetY: -15,\r\n formatter: () => acceptanceRate + \"%\",\r\n },\r\n }\r\n }\r\n },\r\n stroke: { lineCap: \"butt\" },\r\n colors: [chartColors[0]],\r\n labels: [\"accepted\"],\r\n tooltip: {\r\n enabled: true,\r\n theme: \"dark\",\r\n y: {\r\n formatter: (val) => `${val}%`,\r\n }\r\n }\r\n };\r\n\r\n const series = [acceptanceRate];\r\n\r\n return (\r\n <Card\r\n sx={{\r\n p: 3,\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n bgcolor: \"#fff\",\r\n // height: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx\r\n }}\r\n >\r\n <Box sx={{}}>\r\n <Typography sx={{ fontWeight: 700, fontSize: \"16px\", color: \"#000\", textAlign: \"left\" }}>\r\n {title}\r\n </Typography>\r\n <Typography sx={{ fontSize: \"12px\", color: \"rgba(0, 0, 0, 0.4)\", mt: 0.2, textAlign: \"left\" }}>\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n\r\n <Box sx={{ height: 160, position: \"relative\", mt: 1, display: \"flex\", justifyContent: \"center\" }}>\r\n <Chart options={chartOptions} series={series} type=\"radialBar\" width=\"100%\" height=\"100%\" />\r\n </Box>\r\n\r\n <Box sx={{}}>\r\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\r\n <Box sx={{ width: 10, height: 10, bgcolor: chartColors[0], borderRadius: \"2px\" }} />\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>Acceptance</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\r\n <Typography sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}>{acceptanceVal}</Typography>\r\n <Typography sx={{ fontSize: \"10px\", fontWeight: 700, color: \"#22C55E\", display: \"flex\", alignItems: \"center\" }}>\r\n <TrendingUp sx={{ fontSize: \"12px\" }} /> {acceptanceTrend}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\r\n <Box sx={{ width: 10, height: 10, bgcolor: chartColors[1], borderRadius: \"2px\" }} />\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>Raised</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\r\n <Typography sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}>{raisedVal}</Typography>\r\n <Typography sx={{ fontSize: \"10px\", fontWeight: 700, color: \"#22C55E\", display: \"flex\", alignItems: \"center\" }}>\r\n <TrendingUp sx={{ fontSize: \"12px\" }} /> {raisedTrend}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default MetricDonutCard;\r\n","import React from \"react\";\r\nimport { Box, Typography, Card, CardContent } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\nconst DonationTypeBarChart = ({ sx, donationTypeData }) => {\r\n const recurringColor = \"rgb(99, 99, 230)\";\r\n const oneTimeColor = \"#10B981\";\r\n const colors = [recurringColor, oneTimeColor, \"#06B6D4\", \"#F59E0B\", \"#EF4444\"];\r\n\r\n let categories = [];\r\n let series = [];\r\n let summaries = [];\r\n let title = \"Donation Type\";\r\n let isDistributed = false;\r\n\r\n if (donationTypeData && donationTypeData.data && Array.isArray(donationTypeData.data)) {\r\n // Time series recurring vs one-time format\r\n categories = donationTypeData.data.map((item) => item.label || \"\");\r\n series = [\r\n {\r\n name: \"Recurring\",\r\n data: donationTypeData.data.map((item) => item.recurring || 0),\r\n },\r\n {\r\n name: \"One-time\",\r\n data: donationTypeData.data.map((item) => item.oneTime || 0),\r\n },\r\n ];\r\n summaries = [\r\n {\r\n label: \"Recurring\",\r\n total: donationTypeData.totalRecurringDonations || 0,\r\n color: recurringColor,\r\n },\r\n {\r\n label: \"One-time\",\r\n total: donationTypeData.totalOneTimeDonations || 0,\r\n color: oneTimeColor,\r\n },\r\n ];\r\n title = \"Recurring vs One-time\";\r\n isDistributed = false;\r\n } else if (Array.isArray(donationTypeData) && donationTypeData.length > 0 && donationTypeData[0].totalAmount !== undefined) {\r\n // New array format\r\n categories = donationTypeData.map((item) => item.type || \"\");\r\n series = [\r\n {\r\n name: \"Amount\",\r\n data: donationTypeData.map((item) => item.totalAmount || 0),\r\n },\r\n ];\r\n summaries = donationTypeData.map((item, index) => ({\r\n label: item.type || \"\",\r\n total: item.totalAmount || 0,\r\n color: colors[index % colors.length]\r\n }));\r\n isDistributed = true;\r\n if (donationTypeData.length === 2) {\r\n title = `${donationTypeData[0].type} vs ${donationTypeData[1].type}`;\r\n }\r\n } else {\r\n // Object format or simple series array\r\n const dataObj = donationTypeData || {};\r\n categories = dataObj.categories || [];\r\n series = Array.isArray(donationTypeData) ? donationTypeData : (dataObj.series || []);\r\n \r\n summaries = [\r\n {\r\n label: dataObj?.summary?.recurring?.label || \"Recurring\",\r\n total: dataObj?.summary?.recurring?.total || 0,\r\n color: recurringColor\r\n },\r\n {\r\n label: dataObj?.summary?.oneTime?.label || \"One-time\",\r\n total: dataObj?.summary?.oneTime?.total || 0,\r\n color: oneTimeColor\r\n }\r\n ];\r\n title = \"Recurring vs one-time\";\r\n isDistributed = false;\r\n }\r\n\r\n const chartOptions = {\r\n chart: {\r\n type: \"bar\",\r\n toolbar: { show: false },\r\n zoom: { enabled: false },\r\n fontFamily: \"Inter, sans-serif\",\r\n },\r\n plotOptions: {\r\n bar: {\r\n horizontal: false,\r\n columnWidth: \"50%\",\r\n borderRadius: 4,\r\n distributed: isDistributed,\r\n dataLabels: {\r\n position: \"top\",\r\n },\r\n },\r\n },\r\n dataLabels: {\r\n enabled: true,\r\n formatter: (val) => `$${formatNumber(val)}`,\r\n offsetY: -20,\r\n style: {\r\n fontSize: \"9px\",\r\n fontWeight: 600,\r\n colors: [\"#000\"],\r\n },\r\n },\r\n stroke: {\r\n show: true,\r\n width: 2,\r\n colors: [\"transparent\"],\r\n },\r\n xaxis: {\r\n categories: categories,\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n labels: {\r\n style: {\r\n colors: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"11px\",\r\n },\r\n },\r\n },\r\n yaxis: {\r\n min: 0,\r\n tickAmount: 4,\r\n labels: {\r\n formatter: (val) => `$${formatNumber(val)}`,\r\n style: {\r\n colors: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"10px\",\r\n },\r\n },\r\n },\r\n fill: {\r\n opacity: 1,\r\n },\r\n colors: colors,\r\n grid: {\r\n borderColor: \"#f1f1f1\",\r\n strokeDashArray: 4,\r\n padding: {\r\n left: 0,\r\n right: 0,\r\n },\r\n yaxis: {\r\n lines: { show: true },\r\n },\r\n },\r\n legend: {\r\n show: false,\r\n },\r\n tooltip: {\r\n y: {\r\n formatter: (val) => `$${formatNumber(val)}`,\r\n },\r\n },\r\n };\r\n\r\n return (\r\n <Card\r\n sx={{\r\n bgcolor: \"#fff\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n p: 3,\r\n ...sx\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", }}>\r\n <Box sx={{ textAlign: \"left\" }}>\r\n <Typography sx={{ fontWeight: 700, fontSize: \"18px\", color: \"#000\" }}>\r\n {title}\r\n </Typography>\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.4)\", mt: 0 }}>\r\n Donation type\r\n </Typography>\r\n </Box>\r\n\r\n <Box sx={{ display: \"flex\", gap: 1.5, mt: 0.5, flexWrap: \"wrap\" }}>\r\n {summaries.map((item, index) => (\r\n <Box key={item.label || index} sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\r\n <Box sx={{ width: 8, height: 8, bgcolor: item.color, borderRadius: \"50%\" }} />\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>\r\n {item.label}\r\n </Typography>\r\n <Typography sx={{ fontSize: \"13px\", fontWeight: 600, color: \"#000\" }}>\r\n ${formatNumber(item.total || 0)}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ height: 170, width: \"calc(100% + 48px)\", ml: -3, mr: -3, }}>\r\n <Chart options={chartOptions} series={series} type=\"bar\" height=\"100%\" />\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default DonationTypeBarChart;\r\n","import React from \"react\";\r\nimport {\r\n Box,\r\n Card,\r\n CardContent,\r\n Typography,\r\n LinearProgress,\r\n} from \"@mui/material\";\r\n\r\nconst CardWrapper = ({ title, subtitle, children, sx }) => (\r\n <Card\r\n sx={{\r\n // width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n ...sx,\r\n height: \"100%\",\r\n }}\r\n >\r\n <CardContent>\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n mb: 0.5,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n {subtitle && (\r\n <Typography\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"13px\",\r\n mb: 3,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n )}\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 1 }}>\r\n {children}\r\n </Box>\r\n </CardContent>\r\n </Card>\r\n);\r\n\r\nexport const LandingPagesCard = () => {\r\n const data = [\r\n {\r\n page: \"/yemen-orphans-appeal\",\r\n visitors: \"1,840\",\r\n donations: \"32\",\r\n revenue: \"$38,200\",\r\n cvr: \"1.7%\",\r\n },\r\n {\r\n page: \"/gaza-emergency-food\",\r\n visitors: \"1,620\",\r\n donations: \"28\",\r\n revenue: \"$28,600\",\r\n cvr: \"1.7%\",\r\n },\r\n {\r\n page: \"/why-zakat-matters\",\r\n visitors: \"1,210\",\r\n donations: \"21\",\r\n revenue: \"$24,800\",\r\n cvr: \"1.7%\",\r\n },\r\n {\r\n page: \"/somalia-masjid-build\",\r\n visitors: \"890\",\r\n donations: \"15\",\r\n revenue: \"$16,400\",\r\n cvr: \"1.7%\",\r\n },\r\n {\r\n page: \"/ramadan-giving-guide\",\r\n visitors: \"720\",\r\n donations: \"11\",\r\n revenue: \"$11,200\",\r\n cvr: \"1.5%\",\r\n },\r\n {\r\n page: \"/water-wells-pakistan\",\r\n visitors: \"510\",\r\n donations: \"11\",\r\n revenue: \"$22,980\",\r\n cvr: \"2.2%\",\r\n },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top landing pages\"\r\n subtitle=\"Pages ranked by donations attributed\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"3fr 1.2fr 1.2fr 1.2fr 0.8fr\",\r\n gap: 2,\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Page\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Visitors\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Donations\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Revenue\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n >\r\n Conv. rate\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"3fr 1.2fr 1.2fr 1.2fr 0.8fr\",\r\n gap: 2,\r\n py: 0.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.page}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.6)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.visitors}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.6)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.donations}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.6)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.revenue}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"#22C55E\",\r\n fontWeight: 700,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.cvr}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const KeywordsCard = () => {\r\n const data = [\r\n {\r\n keyword: \"zakat calculator\",\r\n clicks: \"1,240\",\r\n rank: \"#2.1\",\r\n trend: \"Improving\",\r\n trendType: \"up\",\r\n },\r\n {\r\n keyword: \"orphan sponsorship\",\r\n clicks: \"860\",\r\n rank: \"#3.4\",\r\n trend: \"Improving\",\r\n trendType: \"up\",\r\n },\r\n {\r\n keyword: \"ramadan donation guide\",\r\n clicks: \"720\",\r\n rank: \"#1.8\",\r\n trend: \"Improving\",\r\n trendType: \"up\",\r\n },\r\n {\r\n keyword: \"yemen humanitarian crisis\",\r\n clicks: \"580\",\r\n rank: \"#5.2\",\r\n trend: \"Declining\",\r\n trendType: \"down\",\r\n },\r\n {\r\n keyword: \"masjid building fund\",\r\n clicks: \"410\",\r\n rank: \"#4.1\",\r\n trend: \"Improving\",\r\n trendType: \"up\",\r\n },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top organic keywords\"\r\n subtitle=\"Search terms ranked by clicks · last 30 days\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1fr 1fr 1fr\",\r\n gap: 2,\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Keyword\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Clicks\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Position\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Trend\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1fr 1fr 1fr\",\r\n gap: 2,\r\n // py: 0.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.keyword}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.6)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.clicks}\r\n </Typography>\r\n <Box\r\n sx={{\r\n textAlign: \"left\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: \"40px\",\r\n bgcolor: \"#ebf2ffb1\",\r\n color: \"#3431e4\",\r\n // px: 0.5,\r\n p: 0.5,\r\n borderRadius: \"100px\",\r\n fontSize: \"11px\",\r\n fontWeight: 700,\r\n textAlign: \"center\",\r\n minWidth: \"45px\",\r\n }}\r\n >\r\n {item.rank}\r\n </Box>\r\n </Box>\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-start\",\r\n gap: 0.5,\r\n }}\r\n >\r\n {item.trendType === \"up\" ? (\r\n <>\r\n <Typography sx={{ fontSize: \"14px\", color: \"#22C55E\" }}>\r\n ▲\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"12px\", color: \"#22C55E\", fontWeight: 700 }}\r\n >\r\n Improving\r\n </Typography>\r\n </>\r\n ) : (\r\n <>\r\n <Typography sx={{ fontSize: \"14px\", color: \"#EF4444\" }}>\r\n ▼\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"12px\", color: \"#EF4444\", fontWeight: 700 }}\r\n >\r\n Declining\r\n </Typography>\r\n </>\r\n )}\r\n </Box>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const GeographyCard = ({\r\n subtitle = \"Top countries by organic traffic\",\r\n}) => {\r\n const data = [\r\n { country: \"United States\", stats: \"3,120 · 37%\", percentage: 37 },\r\n { country: \"United Kingdom\", stats: \"1,840 · 22%\", percentage: 22 },\r\n { country: \"Canada\", stats: \"920 · 11%\", percentage: 11 },\r\n { country: \"Australia\", stats: \"650 · 8%\", percentage: 8 },\r\n { country: \"UAE\", stats: \"580 · 7%\", percentage: 7 },\r\n { country: \"Other\", stats: \"1,310 · 16%\", percentage: 16 },\r\n ];\r\n\r\n return (\r\n <CardWrapper title=\"Geography insights\" subtitle={subtitle}>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 2, py: 0.8 }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"120px\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.country}\r\n </Typography>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={item.percentage}\r\n sx={{\r\n height: 10,\r\n borderRadius: 5,\r\n bgcolor: \"#f3f4f6ff\",\r\n \"& .MuiLinearProgress-bar\": {\r\n bgcolor: \"#6366F1\",\r\n borderRadius: 5,\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n minWidth: \"80px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {item.stats}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const TopCampaignsRaisedCard = () => {\r\n const data = [\r\n { id: \"RK\", name: \"Ramadan kickoff\", value: \"$14,200\" },\r\n { id: \"YO\", name: \"Yemen orphans drive\", value: \"$11,800\" },\r\n { id: \"GE\", name: \"Gaza emergency\", value: \"$9,400\" },\r\n { id: \"ZR\", name: \"Zakat reminder\", value: \"$7,200\" },\r\n { id: \"EA\", name: \"Eid appeal\", value: \"$6,320\" },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top campaigns by total raised\"\r\n subtitle=\"Email campaigns ranked by donations\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Campaign\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Raised\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n // py: 1.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n bgcolor: \"#ebf2ff\",\r\n color: \"#3431e4\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {item.id}\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {item.name}\r\n </Typography>\r\n </Box>\r\n <Typography sx={{ fontSize: \"13px\", color: \"#000\", fontWeight: 700 }}>\r\n {item.value}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const TopCampaignsCTRCard = () => {\r\n const data = [\r\n { id: \"RK\", name: \"Ramadan kickoff\", value: \"12.4%\" },\r\n { id: \"EA\", name: \"Eid appeal\", value: \"10.8%\" },\r\n { id: \"YO\", name: \"Yemen orphans drive\", value: \"9.7%\" },\r\n { id: \"PF\", name: \"Pakistan flood relief\", value: \"8.9%\" },\r\n { id: \"ZR\", name: \"Zakat reminder\", value: \"7.6%\" },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top campaigns by CTR\"\r\n subtitle=\"Click-through rate leaders\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Campaign\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n CTR\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n // py: 1.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n bgcolor: \"#ebf2ff\",\r\n color: \"#3431e4\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {item.id}\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {item.name}\r\n </Typography>\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", color: \"#22C55E\", fontWeight: 700 }}\r\n >\r\n {item.value}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const TopCampaignsConvRateCard = () => {\r\n const data = [\r\n { id: \"YO\", name: \"Yemen orphans drive\", value: \"5.2%\" },\r\n { id: \"RK\", name: \"Ramadan kickoff\", value: \"4.8%\" },\r\n { id: \"GE\", name: \"Gaza emergency\", value: \"4.1%\" },\r\n { id: \"PF\", name: \"Pakistan flood relief\", value: \"3.9%\" },\r\n { id: \"EA\", name: \"Eid appeal\", value: \"3.4%\" },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top campaigns by conversion\"\r\n subtitle=\"Click-to-donation conversion\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Campaign\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Conv. rate\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n // py: 1.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n bgcolor: \"#ebf2ff\",\r\n color: \"#3431e4\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {item.id}\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {item.name}\r\n </Typography>\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", color: \"#3431e4\", fontWeight: 700 }}\r\n >\r\n {item.value}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const TopPerformingCampaignsCard = () => {\r\n const data = [\r\n {\r\n id: \"YO\",\r\n // avatarBg: \"#c1cfde70\",\r\n name: \"Yemen Orphans - Meta\",\r\n spend: \"$8,200\",\r\n revenue: \"$31,400\",\r\n roas: \"3.8x\",\r\n },\r\n {\r\n id: \"GF\",\r\n // avatarBg: \"#c1cfdedb\",\r\n name: \"Gaza Food - Google\",\r\n spend: \"$7,400\",\r\n revenue: \"$25,200\",\r\n roas: \"3.4x\",\r\n },\r\n {\r\n id: \"PW\",\r\n // avatarBg: \"#c1cfdedb\",\r\n name: \"Pakistan Wells - Meta\",\r\n spend: \"$5,800\",\r\n revenue: \"$18,600\",\r\n roas: \"3.2x\",\r\n },\r\n {\r\n id: \"R\",\r\n // avatarBg: \"#c1cfdedb\",\r\n name: \"Ramadan - TikTok\",\r\n spend: \"$3,200\",\r\n revenue: \"$8,900\",\r\n roas: \"2.8x\",\r\n },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top performing campaigns\"\r\n subtitle=\"Paid campaigns ranked by ROAS\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1fr 1fr 0.8fr\",\r\n gap: 1,\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Campaign\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Spend\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Revenue\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n ROAS\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1fr 1fr 0.8fr\",\r\n gap: 1,\r\n py: 1,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\r\n <Box\r\n sx={{\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n bgcolor: \"#c1cfde71\",\r\n color: \"#3431e4ff\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {item.id}\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {item.name}\r\n </Typography>\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"#000\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.spend}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"#000\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.revenue}\r\n </Typography>\r\n <Box\r\n sx={{\r\n bgcolor: \"#48d8d620\",\r\n color: \"#157c3bff\",\r\n // px: 1,\r\n p: 0.5,\r\n width: \"40px\",\r\n // height: \"25px\",\r\n borderRadius: \"100px\",\r\n fontSize: \"11px\",\r\n fontWeight: 700,\r\n textAlign: \"center\",\r\n }}\r\n >\r\n {item.roas}\r\n </Box>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const PaidDonorGeographyCard = ({ sx, donorGeographyData }) => {\r\n const rawCountries = Array.isArray(donorGeographyData)\r\n ? donorGeographyData\r\n : (donorGeographyData?.countries || []);\r\n\r\n const data = rawCountries.map((item) => ({\r\n country: item.countryName || item.country || \"Unknown\",\r\n percentage: typeof item.percentage === \"number\" ? item.percentage : 0,\r\n value: item.donations !== undefined ? item.donations : (item.value || 0),\r\n }));\r\n\r\n return (\r\n <Card\r\n sx={{\r\n bgcolor: \"#fff\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n p: 3,\r\n // height: \"100%\",\r\n ...sx\r\n }}\r\n >\r\n <Box sx={{ textAlign: \"left\" }}>\r\n <Typography sx={{ fontWeight: 700, fontSize: \"18px\", color: \"#000\" }}>\r\n Paid donor geography\r\n </Typography>\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.4)\", mt: 0 }}>\r\n Where ad-acquired donors come from\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 2, py: 0.7 }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"100px\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.country}\r\n </Typography>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={item.percentage}\r\n sx={{\r\n height: 8,\r\n borderRadius: 4,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 4,\r\n bgcolor: \"#6366F1\",\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#111\",\r\n minWidth: \"60px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {item.value} · {item.percentage}%\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Card>\r\n );\r\n};\r\n","import React from \"react\";\nimport { Box, Typography, Card } from \"@mui/material\";\nimport Chart from \"react-apexcharts\";\n\nconst RefundsChargebacksCard = ({ sx, refundsChargebacksData = {} }) => {\n const {\n refundRate = 0,\n chargebackRate = 0,\n totalRefundedAmount = 0,\n totalRefunds = 0,\n totalChargebacks = 0,\n growthPercentage = 0,\n totalRevenue = 0,\n chartData = [],\n } = refundsChargebacksData;\n\n const categories = chartData.map((item) => item.date);\n const refundSeries = chartData.map((item) => parseFloat((item.refundRate || 0).toFixed(2)));\n const chargebackSeries = chartData.map((item) => parseFloat((item.chargebackRate || 0).toFixed(2)));\n\n const maxVal = Math.max(...chargebackSeries, ...refundSeries, 1);\n const yAxisMax = Math.ceil(maxVal * 1.2);\n\n const chartOptions = {\n chart: {\n type: \"area\",\n toolbar: { show: false },\n zoom: { enabled: false },\n fontFamily: \"Inter, sans-serif\",\n sparkline: { enabled: false },\n },\n dataLabels: { enabled: false },\n stroke: { curve: \"smooth\", width: 2 },\n fill: {\n type: \"gradient\",\n gradient: {\n shadeIntensity: 1,\n opacityFrom: 0.35,\n opacityTo: 0.02,\n stops: [20, 100],\n },\n },\n xaxis: {\n categories,\n axisBorder: { show: false },\n axisTicks: { show: false },\n labels: {\n show: categories.length <= 15,\n rotate: -45,\n style: { colors: \"rgba(0, 0, 0, 0.4)\", fontSize: \"10px\" },\n },\n },\n yaxis: {\n min: 0,\n max: yAxisMax,\n tickAmount: 4,\n labels: {\n formatter: (val) => `${parseFloat(val.toFixed(1))}%`,\n style: { colors: \"rgba(0, 0, 0, 0.4)\", fontSize: \"11px\" },\n },\n },\n grid: {\n borderColor: \"#f1f1f1\",\n strokeDashArray: 4,\n yaxis: { lines: { show: true } },\n padding: { left: 0, right: 0 },\n },\n colors: [\"#F59E0B\", \"#EF4444\"],\n legend: { show: false },\n annotations: {\n yaxis: [\n {\n y: 1,\n borderColor: \"#EF4444\",\n strokeDashArray: 3,\n label: {\n borderColor: \"transparent\",\n style: {\n color: \"#EF4444\",\n background: \"transparent\",\n fontSize: \"10px\",\n fontWeight: 700,\n },\n position: \"left\",\n offsetY: -10,\n offsetX: 10,\n },\n },\n ],\n },\n tooltip: {\n shared: true,\n y: { formatter: (val) => `${parseFloat(val.toFixed(2))}%` },\n },\n };\n\n const series = [\n { name: \"Refunds\", data: refundSeries },\n { name: \"Chargebacks\", data: chargebackSeries },\n ];\n\n const fmt = (n) =>\n n >= 1000\n ? `${(n / 1000).toFixed(1)}k`\n : parseFloat(n?.toFixed(2) ?? 0).toString();\n\n const growthColor = growthPercentage > 0 ? \"#EF4444\" : growthPercentage < 0 ? \"#22C55E\" : \"rgba(0,0,0,0.4)\";\n const growthLabel =\n growthPercentage > 0\n ? `▲ ${growthPercentage.toFixed(1)}%`\n : growthPercentage < 0\n ? `▼ ${Math.abs(growthPercentage).toFixed(1)}%`\n : \"stable\";\n\n return (\n <Card\n sx={{\n bgcolor: \"#fff\",\n borderRadius: 4,\n border: \"1px solid #f0f0f0\",\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\n p: 3,\n display: \"flex\",\n flexDirection: \"column\",\n ...sx,\n }}\n >\n {/* Header */}\n <Box sx={{ mb: 0 }}>\n <Typography sx={{ fontWeight: 700, fontSize: \"18px\", color: \"#000\", textAlign: \"left\" }}>\n Refunds &amp; chargebacks\n </Typography>\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.4)\", textAlign: \"left\" }}>\n Trust health · 30-day window\n </Typography>\n </Box>\n\n {/* Legend + Stats */}\n <Box sx={{ display: \"flex\", gap: 2, mb: 0.75, flexWrap: \"wrap\", mt: 1 }}>\n {/* Refunds */}\n <Box sx={{ display: \"flex\", alignItems: \"flex-start\", gap: 0.75 }}>\n <Box sx={{ width: 8, height: 8, bgcolor: \"#F59E0B\", borderRadius: \"50%\", mt: \"4px\", flexShrink: 0 }} />\n <Box>\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>\n Refunds\n </Typography>\n <Typography sx={{ fontSize: \"13px\", fontWeight: 600, color: \"#000\" }}>\n {refundRate.toFixed(2)}%\n </Typography>\n </Box>\n <Typography sx={{ fontSize: \"12px\", fontWeight: 600, color: \"rgba(0,0,0,0.4)\", lineHeight: 1.2, mt: 0.2 }}>\n ${fmt(totalRefundedAmount)} refunded\n </Typography>\n </Box>\n </Box>\n\n {/* Chargebacks */}\n <Box sx={{ display: \"flex\", alignItems: \"flex-start\", gap: 0.75 }}>\n <Box sx={{ width: 8, height: 8, bgcolor: \"#EF4444\", borderRadius: \"50%\", mt: \"4px\", flexShrink: 0 }} />\n <Box>\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>\n Chargebacks\n </Typography>\n <Typography sx={{ fontSize: \"13px\", fontWeight: 600, color: \"#000\" }}>\n {chargebackRate.toFixed(2)}%\n </Typography>\n </Box>\n <Typography sx={{ fontSize: \"12px\", fontWeight: 600, color: growthColor, lineHeight: 1.2, mt: 0.2 }}>\n {growthLabel}\n </Typography>\n </Box>\n </Box>\n </Box>\n\n {/* Summary line */}\n <Box sx={{ mb: 0.5 }}>\n <Typography sx={{ fontSize: \"12px\", color: \"rgba(0, 0, 0, 0.3)\", fontWeight: 500, textAlign: \"left\" }}>\n ${fmt(totalRefundedAmount)} refunded · {totalChargebacks} chargebacks · {totalRefunds} refunds\n </Typography>\n </Box>\n\n {/* Chart */}\n <Box sx={{ height: 140, width: \"100%\", flexShrink: 0 }}>\n <Chart options={chartOptions} series={series} type=\"area\" height=\"100%\" />\n </Box>\n </Card>\n );\n};\n\nexport default RefundsChargebacksCard;\n","import { Avatar, Box, Stack, Typography } from \"@mui/material\";\r\n\r\n\r\nconst MetricCard = ({\r\n title,\r\n value,\r\n caption,\r\n icon,\r\n active,\r\n warning,\r\n error,\r\n onClick\r\n}) => (\r\n <Box\r\n sx={{\r\n bgcolor: \"#fff\",\r\n border: `1.5px solid ${active ? \"#4F46E5\" : warning ? \"#F3B33D\" : error ? \"#ef4444\" : \"#F1F1F5\"}`,\r\n borderRadius: \"16px\",\r\n p: { xs: 1.75, md: 2 },\r\n paddingTop: \"10px !important\", paddingBottom: \"10px !important\",\r\n height: 92,\r\n boxShadow: \"0 14px 30px rgba(21, 26, 45, 0.06)\",\r\n }}\r\n onClick={onClick}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n justifyContent=\"space-between\"\r\n alignItems=\"center\"\r\n >\r\n <Typography\r\n sx={{\r\n color: active ? \"#818CF8\" : \"#999EAA\",\r\n fontSize: 13,\r\n fontWeight: 500,\r\n letterSpacing: 0,\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n <Avatar\r\n sx={{\r\n width: 30,\r\n height: 30,\r\n bgcolor: warning ? \"#FFF3CF\" : error ? \"#fee2e2\" : \"#EEF2FF\",\r\n color: warning ? \"#B45309\" : error ? \"#ef4444\" : \"#4F46E5\",\r\n }}\r\n >\r\n {icon}\r\n </Avatar>\r\n </Stack>\r\n <Typography\r\n sx={{\r\n // mt: 0.3,\r\n fontSize: 22,\r\n fontWeight: 700,\r\n color: active ? \"#4F46E5\" : \"#050509\",\r\n lineHeight: 1.15,\r\n }}\r\n >\r\n {value}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n // mt: 1.05,\r\n fontSize: 12,\r\n fontWeight: 500,\r\n color: caption.includes(\"failed\")\r\n ? \"#4F46E5\"\r\n : error\r\n ? \"#ef4444\"\r\n : \"#0B8F61\",\r\n }}\r\n >\r\n {caption}\r\n </Typography>\r\n </Box>\r\n);\r\n\r\nexport default MetricCard;\r\n","import { useState } from \"react\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport ActiveCampaignsCard from \"../ActiveCampaignsCard\";\r\nimport DonorMixCard from \"../DonorMixCard\";\r\nimport TrafficSourceCard from \"../TrafficSourceCard\";\r\nimport MetricSparklineCard from \"../MetricSparklineCard\";\r\nimport MetricDonutCard from \"../MetricDonutCard\";\r\nimport DonationTypeBarChart from \"../DonationTypeBarChart\";\r\nimport {\r\n PaidDonorGeographyCard,\r\n} from \"../TOPCards\";\r\nimport RefundsChargebacksCard from \"../RefundsChargebacksCard\";\r\nimport {\r\n PaidOutlined as DollarIcon,\r\n FavoriteOutlined as HeartIcon,\r\n PeopleAltOutlined as PeopleIcon,\r\n TrendingUp as TrendIcon,\r\n Adjust as AdjustIcon,\r\n} from \"@mui/icons-material\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\nimport MetricCard from \"../../advanced/MetricCard\";\r\n\r\nconst OverallSection = ({\r\n apiData = {},\r\n primaryCharts,\r\n secondaryCharts,\r\n tertiaryCharts,\r\n quaternaryCharts,\r\n dateName,\r\n}) => {\r\n const [activeMetric, setActiveMetric] = useState(\"Total Raised\");\r\n\r\n const donationTypeData = apiData?.recurringBarChartData || [];\r\n const donorGeographyData = apiData?.donorGeography || [];\r\n const trafficSourceData = apiData?.trafficSourceData || [];\r\n const orderBumpData = apiData?.orderBumpDetails || [];\r\n const upsellData = apiData?.upSellDetails || [];\r\n const downsellData = apiData?.downSellDetails || [];\r\n const referralData = apiData?.referralDetails || [];\r\n const refundsChargebacksData = apiData?.refundAndChargeBacks || [];\r\n const allCharts = [\r\n ...primaryCharts,\r\n ...secondaryCharts,\r\n ...tertiaryCharts,\r\n ...quaternaryCharts,\r\n ];\r\n\r\n const getExtendedCharts = () => {\r\n const charts = [...allCharts];\r\n const categories = apiData?.categories || [\r\n \"Jan\",\r\n \"Feb\",\r\n \"Mar\",\r\n \"Apr\",\r\n \"May\",\r\n \"Jun\",\r\n \"Jul\",\r\n \"Aug\",\r\n \"Sep\",\r\n ];\r\n\r\n if (!charts.find((c) => c.label === \"Net Raised\")) {\r\n charts.push({\r\n label: \"Net Raised\",\r\n value: apiData?.netRaised || \"$222.3K\",\r\n data: (\r\n apiData?.revenueData || [\r\n 3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000,\r\n ]\r\n ).map((v) => v * 0.92),\r\n categories,\r\n });\r\n }\r\n\r\n if (!charts.find((c) => c.label === \"Total Donors\")) {\r\n charts.push({\r\n label: \"Total Donors\",\r\n value: apiData?.totalDonors || \"215\",\r\n data: apiData?.donationsData || [15, 22, 18, 30, 25, 35, 42, 45, 28],\r\n categories,\r\n });\r\n }\r\n\r\n if (!charts.find((c) => c.label === \"ROAS\")) {\r\n charts.push({\r\n label: \"ROAS\",\r\n value: apiData?.roas || \"3.0x\",\r\n data: [2.1, 2.4, 2.2, 2.8, 2.6, 3.1, 3.1, 3.0, 2.9],\r\n categories,\r\n });\r\n }\r\n\r\n return charts;\r\n };\r\n\r\n const metricInfo = {\r\n \"Total Raised\": {\r\n value: `$${formatNumber(apiData?.overviewStats?.overview?.totalRevenue)}` || \"$0\",\r\n subValue: `${Number(apiData?.overviewStats?.overview?.growthPercentage?.totalRevenue ?? 0).toFixed(2)}% vs ${dateName || \"last month\"}`,\r\n label: \"Total Raised\",\r\n icon: <DollarIcon />,\r\n money: true,\r\n error: false,\r\n warning: false,\r\n },\r\n \"Net Raised\": {\r\n value: `$${formatNumber(apiData?.overviewStats?.overview?.netRevenue)}`,\r\n subValue: `${Number(apiData?.overviewStats?.overview.growthPercentage?.netRevenue ?? 0).toFixed(2)}% vs ${dateName ?? \"previous period\"\r\n }`,\r\n label: \"Net Raised\",\r\n icon: <HeartIcon />,\r\n money: true,\r\n error: false,\r\n warning: false,\r\n },\r\n \"Total Donors\": {\r\n value: apiData?.overviewStats?.overview?.totalDonations || \"215\",\r\n subValue: `${Number(apiData?.overviewStats?.overview.growthPercentage?.totalDonations ?? 0).toFixed(2)}%` || \"0 new\",\r\n label: \"Total Donors\",\r\n icon: <PeopleIcon />,\r\n money: false,\r\n error: false,\r\n warning: false,\r\n },\r\n \"Avg donation\": {\r\n value: `$${formatNumber(apiData?.overviewStats?.overview?.overallAVGDonations)}`,\r\n subValue: `${Number(apiData?.overviewStats?.overview.growthPercentage?.overallAVGDonations ?? 0).toFixed(2)}% vs ${dateName ?? \"last month\"\r\n }`,\r\n label: \"Average Donation Amount\",\r\n icon: <DollarIcon />,\r\n money: true,\r\n error: false,\r\n warning: false,\r\n },\r\n \"ROAS\": {\r\n value: `${formatNumber(apiData?.roasCard ?? 0)}x`,\r\n subValue: `${Number(apiData?.roasCardPrev ?? 0).toFixed(2)}x vs ${dateName ?? \"last month\"}`,\r\n label: \"ROAS\",\r\n icon: <TrendIcon />,\r\n money: false,\r\n error: false,\r\n warning: false,\r\n },\r\n \"Conversion\": {\r\n value: `${formatNumber(apiData?.overviewStats?.overview?.conversionRate)}%` || \"0.0%\",\r\n subValue: `${(apiData?.overviewStats?.overview?.growthPercentage?.conversionRate ?? 0).toFixed(2)}%` || \"0%\",\r\n label: \"Conversion Rate\",\r\n icon: <AdjustIcon />,\r\n money: false,\r\n error: false,\r\n warning: false,\r\n },\r\n };\r\n\r\n const activeCampaignsData = apiData?.activeCampaigns || [];\r\n const donorMix = apiData?.donorPieChartData;\r\n let newDonorsCount = 0;\r\n let returningDonorsCount = 0;\r\n let totalDonorsMix = 0;\r\n let newDonorsPerc = 0;\r\n let returningDonorsPerc = 0;\r\n let avgGift = 0;\r\n let donorMixPrev = 0;\r\n\r\n if (Array.isArray(donorMix)) {\r\n const newDonorsObj = donorMix.find((d) => d.type === \"New Donors\" || d.type === \"New donors\") || {};\r\n const returningDonorsObj = donorMix.find((d) => d.type === \"Returning Donors\" || d.type === \"Returning\") || {};\r\n\r\n newDonorsCount = newDonorsObj.totalDonations || 0;\r\n returningDonorsCount = returningDonorsObj.totalDonations || 0;\r\n totalDonorsMix = newDonorsCount + returningDonorsCount;\r\n\r\n newDonorsPerc = totalDonorsMix > 0 ? Math.round((newDonorsCount / totalDonorsMix) * 100) : 0;\r\n returningDonorsPerc = totalDonorsMix > 0 ? Math.round((returningDonorsCount / totalDonorsMix) * 100) : 0;\r\n\r\n const totalAmount = (newDonorsObj.totalAmount || 0) + (returningDonorsObj.totalAmount || 0);\r\n avgGift = totalDonorsMix > 0 ? Number((totalAmount / totalDonorsMix).toFixed(2)) : 0;\r\n donorMixPrev = apiData?.donorMixPrev || 0;\r\n } else if (donorMix && typeof donorMix === \"object\") {\r\n newDonorsCount = donorMix.newDonors || 0;\r\n returningDonorsCount = donorMix.returningDonors || 0;\r\n totalDonorsMix = newDonorsCount + returningDonorsCount;\r\n\r\n newDonorsPerc = totalDonorsMix > 0 ? Math.round((newDonorsCount / totalDonorsMix) * 100) : 0;\r\n returningDonorsPerc = totalDonorsMix > 0 ? Math.round((returningDonorsCount / totalDonorsMix) * 100) : 0;\r\n\r\n avgGift = donorMix.avgGift || 0;\r\n donorMixPrev = donorMix.donorMixPrev || 0;\r\n }\r\n\r\n console.log(\"DONOR MIX\", donorMix);\r\n const renderCard = (title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // onClick={() => setActiveMetric(title)}\r\n // isActive={activeMetric === title}\r\n // sx={{\r\n // // border:\r\n // // activeMetric === title\r\n // // ? \"1px solid rgb(99, 99, 230)\"\r\n // // : \"2px solid #f0f0f0\",\r\n // }}\r\n // />\r\n );\r\n\r\n const extendedCharts = getExtendedCharts();\r\n const selectedInfo = metricInfo[activeMetric];\r\n let mainChart =\r\n extendedCharts.find((c) => c.label === selectedInfo.label) ||\r\n primaryCharts[0];\r\n\r\n\r\n if (activeMetric === \"Total Raised\") {\r\n const stackedData = apiData?.overviewStats?.totalRaised;\r\n const hasStackedData = stackedData?.paidAds || stackedData?.email || stackedData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (stackedData?.organic || stackedData?.paidAds || stackedData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (stackedData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (stackedData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (stackedData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Total revenue trend\",\r\n data: undefined, // Clear single data property to force series usage\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n stroke: {\r\n curve: \"smooth\",\r\n width: 3,\r\n },\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"Net Raised\") {\r\n const netData = apiData?.overviewStats?.netRaised;\r\n const hasStackedData = netData?.paidAds || netData?.email || netData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (netData?.organic || netData?.paidAds || netData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (netData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (netData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (netData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Net revenue trend\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(netData) && netData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Net revenue trend\",\r\n data: netData.map((item) => item.value),\r\n categories: netData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"Total Donors\") {\r\n const donorsData = apiData?.overviewStats?.totalDonations;\r\n const hasStackedData = donorsData?.paidAds || donorsData?.email || donorsData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (donorsData?.organic || donorsData?.paidAds || donorsData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (donorsData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (donorsData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (donorsData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Donor trend\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(donorsData) && donorsData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Donor trend\",\r\n data: donorsData.map((item) => item.value),\r\n categories: donorsData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"ROAS\") {\r\n const roasData = apiData?.roas;\r\n const hasStackedData = roasData?.paidAds || roasData?.email || roasData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (roasData?.organic || roasData?.paidAds || roasData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (roasData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (roasData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (roasData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"ROAS\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(roasData) && roasData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"ROAS\",\r\n data: roasData.map((item) => item.value),\r\n categories: roasData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"Conversion\") {\r\n const conversionData = apiData?.overviewStats?.conversionRate;\r\n const hasStackedData = conversionData?.paidAds || conversionData?.email || conversionData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (conversionData?.organic || conversionData?.paidAds || conversionData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (conversionData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (conversionData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (conversionData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Conversion Rate\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(conversionData) && conversionData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Conversion Rate\",\r\n data: conversionData.map((item) => item.value),\r\n categories: conversionData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"Avg donation\") {\r\n const avgData = apiData?.overviewStats?.avgDonations;\r\n const hasStackedData = avgData?.paidAds || avgData?.email || avgData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (avgData?.organic || avgData?.paidAds || avgData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (avgData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (avgData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (avgData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Average donation trend\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(avgData) && avgData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Average donation trend\",\r\n data: avgData.map((item) => item.value),\r\n categories: avgData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: mainChart.label || activeMetric,\r\n value: selectedInfo.value,\r\n trend: selectedInfo.subValue,\r\n };\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr 1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(6, 1fr)\",\r\n },\r\n gap: \"6px\",\r\n mb: 0,\r\n }}\r\n >\r\n {Object.keys(metricInfo).map(renderCard)}\r\n </Box>\r\n <Grid container spacing={3} sx={{ mb: 0, mt: \"6px\" }}>\r\n <RenderChartCard\r\n item={mainChart}\r\n index={0}\r\n md={12}\r\n isPremium={true}\r\n isPrimary={true}\r\n metric={\r\n activeMetric.includes(\"Raised\") || activeMetric.includes(\"donation\")\r\n ? \"Revenue\"\r\n : \"Donors\"\r\n }\r\n />\r\n </Grid>\r\n\r\n <Grid container spacing={\"6px\"} sx={{ mt: \"6px\" }}>\r\n <Grid item xs={12} md={9} sx={{ paddingTop: \"0px !important\" }}>\r\n <ActiveCampaignsCard\r\n title=\"Active campaigns\"\r\n subtitle=\"Live fundraisers ranked by velocity\"\r\n columns={[\r\n \"Campaign\",\r\n \"Raised\",\r\n \"Progress\",\r\n \"Donors\",\r\n \"Avg gift\",\r\n // \"Status\",\r\n ]}\r\n rows={activeCampaignsData.map((campaign) => ({\r\n id: campaign.campaignName\r\n ? campaign.campaignName\r\n .split(\" \")\r\n .filter(Boolean)\r\n .map((word) => word[0])\r\n .join(\"\")\r\n .toUpperCase()\r\n .slice(0, 2)\r\n : \"??\",\r\n name: campaign.title || \"Untitled Campaign\",\r\n val1: `$${formatNumber(campaign.collectedAmount || 0)}`,\r\n type: \"progress\",\r\n progress: Math.round(\r\n ((campaign.collectedAmount || 0) / (campaign.usdTargetAmount || 1)) * 100\r\n ),\r\n val3: formatNumber(campaign.uniqueDonationsCount || 0),\r\n val4: `$${formatNumber(campaign.avgGift || 0)}`,\r\n }))}\r\n />\r\n </Grid>\r\n <Grid item xs={12} md={3} sx={{ display: \"flex\", paddingTop: \"0px !important\", marginTop: { xs: \"16px\", md: \"0px\" } }}>\r\n <DonorMixCard\r\n title=\"Donor mix\"\r\n subtitle=\"Acquisition vs retention\"\r\n series={[newDonorsCount, returningDonorsCount]}\r\n labels={[\"New donors\", \"Returning\"]}\r\n colors={[\"rgb(99, 99, 230)\", \"#10B981\"]}\r\n centerLabel=\"donors\"\r\n centerValue={totalDonorsMix.toString()}\r\n items={[\r\n {\r\n label: \"New donors\",\r\n val: `${newDonorsCount} · ${newDonorsPerc}%`,\r\n color: \"rgb(99, 99, 230)\",\r\n },\r\n {\r\n label: \"Returning\",\r\n val: `${returningDonorsCount} · ${returningDonorsPerc}%`,\r\n color: \"#10B981\",\r\n },\r\n ]}\r\n bottomSummaryValue={`$${avgGift}`}\r\n bottomSummaryTrend={`${donorMixPrev}% vs ${dateName || \"last month\"}`}\r\n sx={{ width: \"100%\" }}\r\n />\r\n </Grid>\r\n </Grid>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\", // 1 card\r\n sm: \"repeat(2, 1fr)\", // 2 cards\r\n md: \"repeat(4, 1fr)\", // 4 cards\r\n },\r\n gap: \"6px\",\r\n mt: \"6px\",\r\n alignItems: \"stretch\",\r\n }}\r\n >\r\n <DonationTypeBarChart sx={{ maxHeight: 280 }} donationTypeData={donationTypeData} />\r\n\r\n <PaidDonorGeographyCard sx={{ maxHeight: 280 }} donorGeographyData={donorGeographyData} />\r\n\r\n <RefundsChargebacksCard sx={{ maxHeight: 280 }} refundsChargebacksData={refundsChargebacksData} />\r\n\r\n <TrafficSourceCard sx={{ maxHeight: 280 }} trafficSourceData={trafficSourceData?.data || []} total={`$${formatNumber(trafficSourceData?.totalRevenue || 0)}`}\r\n />\r\n\r\n <MetricSparklineCard\r\n title=\"Order Bump\"\r\n subtitle=\"Revenue trend · last 30 days\"\r\n value={`$${formatNumber(orderBumpData?.totalRevenue || 0)}`}\r\n trend={`${orderBumpData?.growthPercentage >= 0 ? \"▲\" : \"▼\"} ${Math.abs(\r\n orderBumpData?.growthPercentage || 0\r\n ).toFixed(1)}% vs last month`}\r\n chartData={\r\n orderBumpData?.chart?.map((item) => ({\r\n label: item.label,\r\n value: item.revenue,\r\n })) || []\r\n }\r\n footerMetrics={[\r\n {\r\n label: \"Avg / Day\",\r\n value: `$${formatNumber(orderBumpData?.averagePerDay || 0)}`,\r\n },\r\n {\r\n label: \"Orders\",\r\n value: formatNumber(orderBumpData?.totalOrders || 0),\r\n },\r\n {\r\n label: \"Peak Day\",\r\n value: `$${formatNumber(orderBumpData?.peakDay?.amount || 0)}`,\r\n subValue: orderBumpData?.peakDay?.date,\r\n },\r\n ]}\r\n sx={{ maxHeight: 280 }}\r\n bottomSection\r\n />\r\n\r\n <MetricDonutCard\r\n title=\"Upsell\"\r\n subtitle=\"Acceptance & raised\"\r\n acceptanceRate={upsellData?.acceptanceRate || 0}\r\n\r\n acceptanceVal={`${formatNumber(upsellData?.totalUpsellsAttached || 0)}`}\r\n acceptanceTrend={`${upsellData?.acceptanceGrowth >= 0 ? \"▲\" : \"▼\"} ${Math.abs(\r\n upsellData?.acceptanceGrowth || 0\r\n ).toFixed(1)}%`}\r\n\r\n raisedVal={`$${formatNumber(upsellData?.raised || 0)}`}\r\n raisedTrend={`${upsellData?.raisedGrowth >= 0 ? \"▲\" : \"▼\"} ${Math.abs(\r\n upsellData?.raisedGrowth || 0\r\n ).toFixed(1)}%`}\r\n\r\n sx={{ maxHeight: 280 }}\r\n />\r\n\r\n <MetricDonutCard\r\n title=\"Downsell\"\r\n subtitle=\"Acceptance & raised\"\r\n acceptanceRate={downsellData?.acceptanceRate || 0}\r\n acceptanceVal={`${formatNumber(downsellData?.acceptanceRate || 0)}%`}\r\n acceptanceTrend={`${formatNumber(downsellData?.acceptanceGrowth || 0)}%`}\r\n raisedVal={`$${formatNumber(downsellData?.raised || 0)}`}\r\n raisedTrend={`${formatNumber(downsellData?.raisedGrowth || 0)}%`}\r\n sx={{ maxHeight: 280 }}\r\n />\r\n\r\n <MetricSparklineCard\r\n title=\"Referrals\"\r\n subtitle=\"Revenue trend · last 30 days\"\r\n value={`$${formatNumber(referralData?.totalRevenue || 0)}`}\r\n trend={`▲ ${referralData?.growthPercentage || 0}% vs last month`}\r\n chartData={\r\n referralData?.chartData?.map((item) => ({\r\n label: item.date,\r\n value: item.revenue,\r\n })) || []\r\n }\r\n // chartData={\r\n // referralData?.chartData?.map(item => item.revenue) || []\r\n // }\r\n footerMetrics={[\r\n {\r\n label: \"Referrers\",\r\n value: formatNumber(referralData?.totalReferrers || 0),\r\n },\r\n {\r\n label: \"Avg gift\",\r\n value: `$${formatNumber(referralData?.averageGift || 0)}`,\r\n },\r\n {\r\n label: \"Conv. rate\",\r\n value: `${formatNumber(referralData?.conversionRate || 0)}%`,\r\n },\r\n ]}\r\n sx={{ maxHeight: 280 }}\r\n bottomSection\r\n />\r\n </Box>\r\n\r\n\r\n </>\r\n );\r\n};\r\n\r\nexport default OverallSection;\r\n","import { useState } from \"react\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport {\r\n PaidOutlined as DollarIcon,\r\n TrendingUp as TrendIcon,\r\n Adjust as AdjustIcon,\r\n PersonOutlined as PersonOutlinedIcon,\r\n IndeterminateCheckBoxOutlined as IndeterminateCheckBoxOutlinedIcon,\r\n} from \"@mui/icons-material\";\r\nimport ActiveCampaignsCard from \"../ActiveCampaignsCard\";\r\nimport DonorMixCard from \"../DonorMixCard\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\nimport {\r\n TopPerformingCampaignsCard,\r\n PaidDonorGeographyCard,\r\n} from \"../TOPCards\";\r\nimport MetricCard from \"../../advanced/MetricCard\";\r\n\r\nconst PaidSection = () => {\r\n const [activeMetric, setActiveMetric] = useState(\"Total Spent\");\r\n const categories = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\r\n\r\n const metricInfo = {\r\n \"Total Spent\": {\r\n value: `$${formatNumber(80313)}`,\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"Daily Spend\",\r\n data: [800, 950, 700, 1100, 900, 1200, 1300],\r\n icon: <IndeterminateCheckBoxOutlinedIcon />,\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n \"Revinue Raised\": {\r\n value: `$${formatNumber(240398)}`,\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"Daily Revenue\",\r\n data: [3200, 4100, 2800, 5600, 4200, 6100, 7500],\r\n icon: <DollarIcon />,\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n ROAS: {\r\n value: \"3.0\",\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"ROAS Trend\",\r\n data: [2.5, 3.1, 2.8, 4.2, 3.8, 4.5, 5.2],\r\n icon: <TrendIcon />,\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Cost per donor\": {\r\n value: `$${formatNumber(373)}`,\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"CPA Trend\",\r\n data: [350, 380, 360, 410, 390, 370, 373],\r\n icon: <PersonOutlinedIcon />,\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n \"Conversion rate\": {\r\n value: \"3.1%\",\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"Conversion Rate\",\r\n data: [2.8, 3.0, 2.9, 3.4, 3.2, 3.1, 3.1],\r\n icon: <AdjustIcon />,\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Avg donation\": {\r\n value: `$${formatNumber(130.58)}`,\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"Average Donation\",\r\n data: [120, 135, 125, 140, 130, 128, 130.58],\r\n icon: <DollarIcon />,\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n };\r\n\r\n const renderCard = (title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // onClick={() => setActiveMetric(title)}\r\n // isActive={activeMetric === title}\r\n // sx={{\r\n // // border:\r\n // // activeMetric === title\r\n // // ? \"2px solid rgb(99, 99, 230)\"\r\n // // : \"2px solid #f0f0f0\",\r\n // }}\r\n // />\r\n );\r\n\r\n const selectedInfo = metricInfo[activeMetric];\r\n const mainChart = {\r\n label: activeMetric,\r\n value: selectedInfo.value,\r\n trend: selectedInfo.subValue,\r\n data: selectedInfo.data,\r\n categories: categories,\r\n };\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(6, 1fr)\",\r\n },\r\n gap: 2,\r\n mb: 0,\r\n }}\r\n >\r\n {Object.keys(metricInfo).map(renderCard)}\r\n </Box>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.75 }}>\r\n <RenderChartCard\r\n item={mainChart}\r\n index={0}\r\n md={12}\r\n type=\"area\"\r\n isPrimary={true}\r\n isPremium={true}\r\n />\r\n </Grid>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.25, }}>\r\n <Grid item xs={12} md={6} sx={{ paddingTop: \"0px !important\", minHeight: \"430px\" }}>\r\n <ActiveCampaignsCard\r\n title=\"Channel performance\"\r\n subtitle=\"Ad platforms ranked by ROAS\"\r\n columns={[\"channel\", \"spend\", \"revenue\", \"ROAS\", \"CPA\", \"trend\"]}\r\n gridTemplateColumns=\"2.2fr 1fr 1fr 0.8fr 0.8fr 1.2fr\"\r\n height=\"100%\"\r\n rows={[\r\n {\r\n id: \"M\",\r\n avatarBg: \"#4267B2\",\r\n name: \"Meta Ads\",\r\n val1: \"$32,800\",\r\n val2: \"$112,400\",\r\n val3: \"3.4x\",\r\n val4: \"$340\",\r\n type: \"trend\",\r\n trendType: \"up\",\r\n trendLabel: \"Improving\",\r\n highlightVal3: true,\r\n val3Color: \"#22C55E\",\r\n },\r\n {\r\n id: \"G\",\r\n avatarBg: \"#4285F4\",\r\n name: \"Google Ads\",\r\n val1: \"$28,200\",\r\n val2: \"$78,300\",\r\n val3: \"2.8x\",\r\n val4: \"$385\",\r\n type: \"trend\",\r\n trendType: \"up\",\r\n trendLabel: \"Improving\",\r\n highlightVal3: true,\r\n val3Color: \"#22C55E\",\r\n },\r\n {\r\n id: \"T\",\r\n avatarBg: \"#000000\",\r\n name: \"TikTok Ads\",\r\n val1: \"$11,400\",\r\n val2: \"$31,200\",\r\n val3: \"2.7x\",\r\n val4: \"$402\",\r\n type: \"trend\",\r\n trendType: \"up\",\r\n trendLabel: \"Improving\",\r\n highlightVal3: true,\r\n val3Color: \"#22C55E\",\r\n },\r\n {\r\n id: \"Y\",\r\n avatarBg: \"#FF0000\",\r\n name: \"YouTube\",\r\n val1: \"$5,313\",\r\n val2: \"$12,600\",\r\n val3: \"2.4x\",\r\n val4: \"$443\",\r\n type: \"trend\",\r\n trendType: \"down\",\r\n trendLabel: \"Declining\",\r\n highlightVal3: true,\r\n val3Color: \"#EF4444\",\r\n },\r\n {\r\n id: \"S\",\r\n avatarBg: \"#FFFC00\",\r\n name: \"Snapchat\",\r\n val1: \"$2,600\",\r\n val2: \"$6,438\",\r\n val3: \"2.5x\",\r\n val4: \"$418\",\r\n type: \"trend\",\r\n trendType: \"up\",\r\n trendLabel: \"Improving\",\r\n highlightVal3: true,\r\n val3Color: \"#22C55E\",\r\n },\r\n ]}\r\n />\r\n </Grid>\r\n <Grid item xs={12} md={6} sx={{ paddingTop: \"0px !important\", minHeight: \"430px\", marginTop: { xs: 3, md: \"0px\" } }}>\r\n <DonorMixCard\r\n title=\"Spend allocation\"\r\n subtitle=\"Where $80.3K went this month\"\r\n series={[40.8, 35.1, 14.2, 6.6, 3.3]}\r\n labels={[\"Meta Ads\", \"Google Ads\", \"TikTok\", \"YouTube\", \"Snapchat\"]}\r\n colors={[\"#4267B2\", \"#4285F4\", \"#cd249dff\", \"#FF0000\", \"#FFFC00\"]}\r\n centerLabel=\"total spend\"\r\n centerValue=\"$80.3K\"\r\n items={[\r\n { label: \"Meta Ads\", val: \"40.8%\", color: \"#4267B2\" },\r\n { label: \"Google Ads\", val: \"35.1%\", color: \"#4285F4\" },\r\n { label: \"TikTok\", val: \"14.2%\", color: \"#cd249dff\" },\r\n { label: \"YouTube\", val: \"6.6%\", color: \"#FF0000\" },\r\n { label: \"Snapchat\", val: \"3.3%\", color: \"#FFFC00\" },\r\n ]}\r\n showBottomSummary={false}\r\n sx={{ pb: 3.5, height: \"100%\" }}\r\n />\r\n </Grid>\r\n </Grid>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.25 }}>\r\n <Grid item xs={12} md={6} sx={{ paddingTop: \"0px !important\" }}>\r\n <TopPerformingCampaignsCard />\r\n </Grid>\r\n <Grid item xs={12} md={6} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 3, md: \"0px\" } }}>\r\n <PaidDonorGeographyCard />\r\n </Grid>\r\n </Grid>\r\n </>\r\n );\r\n};\r\n\r\nexport default PaidSection;\r\n","import { useState } from \"react\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport { LandingPagesCard, KeywordsCard, GeographyCard } from \"../TOPCards\";\r\nimport {\r\n PaidOutlined as DollarIcon,\r\n FavoriteOutlined as HeartIcon,\r\n PeopleAltOutlined as PeopleIcon,\r\n Adjust as AdjustIcon,\r\n SearchOutlined as SearchoutlinedIcon,\r\n} from \"@mui/icons-material\";\r\nimport DonorMixCard from \"../DonorMixCard\";\r\nimport MetricCard from \"../../advanced/MetricCard\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\n\r\nconst OrganicSection = ({ apiData = {} }) => {\r\n const [activeMetric, setActiveMetric] = useState(\"Organic Users\");\r\n const categories = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\r\n\r\n const metricInfo = {\r\n \"Organic Users\": {\r\n value: `${formatNumber(8420)}`,\r\n subValue: apiData?.totalRaisedTrend || \"18% vs last month\",\r\n data: [3200, 4100, 2800, 5600, 4200, 6100, 7500],\r\n icon: <PeopleIcon />,\r\n money: false,\r\n warning: false,\r\n error: false\r\n },\r\n \"Search Clicks\": {\r\n value: `${formatNumber(5842)}`,\r\n subValue: apiData?.netRaisedSub || \"92.3% pass-through\",\r\n data: [1500, 1800, 1600, 2200, 2000, 2400, 2800],\r\n icon: <SearchoutlinedIcon />,\r\n money: false,\r\n warning: false,\r\n error: false\r\n },\r\n Donations: {\r\n value: `${formatNumber(420)}`,\r\n subValue: apiData?.totalRaisedTrend || \"18% vs last month\",\r\n data: [15, 22, 18, 30, 25, 35, 42],\r\n icon: <HeartIcon />,\r\n money: false,\r\n warning: false,\r\n error: false\r\n },\r\n \"Conversion Rate\": {\r\n value: \"3.1%\",\r\n subValue: apiData?.avgDonationTrend || \"8.4% vs last month\",\r\n data: [2.5, 2.7, 2.6, 3.1, 3.0, 2.9, 3.1],\r\n icon: <AdjustIcon />,\r\n money: false,\r\n warning: false,\r\n error: false\r\n },\r\n \"Revenue raised\": {\r\n value: `$${formatNumber(240398)}`,\r\n subValue: apiData?.roasTrend || \"0.4x vs last month\",\r\n data: [2.5, 3.1, 2.8, 4.2, 3.8, 4.5, 5.2],\r\n icon: <DollarIcon />,\r\n money: true,\r\n warning: false,\r\n error: false\r\n },\r\n \"Avg donation\": {\r\n value: `$${formatNumber(130.58)}`,\r\n subValue: apiData?.totalRaisedTrend || \"18% vs last month\",\r\n data: [110, 125, 120, 135, 130, 128, 130.58],\r\n icon: <DollarIcon />,\r\n money: true,\r\n warning: false,\r\n error: false\r\n },\r\n };\r\n\r\n const renderCard = (title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // onClick={() => setActiveMetric(title)}\r\n // isActive={activeMetric === title}\r\n // sx={{\r\n // // border:\r\n // // activeMetric === title\r\n // // ? \"2px solid rgb(99, 99, 230)\"\r\n // // : \"2px solid #f0f0f0\",\r\n // }}\r\n // />\r\n );\r\n\r\n const selectedInfo = metricInfo[activeMetric];\r\n const mainChart = {\r\n label: activeMetric,\r\n value: selectedInfo.value,\r\n trend: selectedInfo.subValue,\r\n data: selectedInfo.data,\r\n categories: categories,\r\n };\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(6, 1fr)\",\r\n },\r\n gap: 2,\r\n mb: 0,\r\n }}\r\n >\r\n {Object.keys(metricInfo).map(renderCard)}\r\n </Box>\r\n {/* <Box sx={{ display: \"flex\", gap: 2, mb: 2, flexWrap: \"wrap\" }}>\r\n {Object.keys(metricInfo).map((title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // onClick={() => setActiveMetric(title)}\r\n // isActive={activeMetric === title}\r\n // sx={{\r\n // flex: 1,\r\n // // border:\r\n // // activeMetric === title\r\n // // ? \"2px solid rgb(99, 99, 230)\"\r\n // // : \"2px solid #f0f0f0\",\r\n // }}\r\n // />\r\n ))}\r\n </Box> */}\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.75 }}>\r\n <RenderChartCard\r\n item={mainChart}\r\n index={0}\r\n md={12}\r\n type=\"area\"\r\n isPrimary={true}\r\n isPremium={true}\r\n />\r\n\r\n <Grid item xs={12} md={6}>\r\n <LandingPagesCard />\r\n </Grid>\r\n\r\n <Grid item xs={12} md={6}>\r\n <DonorMixCard\r\n title=\"Source breakdown\"\r\n subtitle=\"Where organic visitors come from\"\r\n series={[40.8, 35.1, 14.2, 3.3]}\r\n labels={[\"Meta Ads\", \"Google Ads\", \"TikTok\", \"Snapchat\"]}\r\n colors={[\"#4267B2\", \"#4285F4\", \"#06510bff\", \"#f2b61dff\"]}\r\n centerLabel=\"total spend\"\r\n centerValue=\"$8.3K\"\r\n items={[\r\n { label: \"Google Search\", val: \"40.8%\", color: \"#4267B2\" },\r\n { label: \"Direct\", val: \"35.1%\", color: \"#4285F4\" },\r\n { label: \"Bing / Other\", val: \"14.2%\", color: \"#06510bff\" },\r\n { label: \"Referalls\", val: \"3.3%\", color: \"#f2b61dff\" },\r\n ]}\r\n showBottomSummary={false}\r\n sx={{ pb: 2 }}\r\n />\r\n </Grid>\r\n\r\n <Grid item xs={12} md={6}>\r\n <KeywordsCard />\r\n </Grid>\r\n <Grid item xs={12} md={6}>\r\n <GeographyCard subtitle=\"Top countries by organic traffic\" />\r\n </Grid>\r\n </Grid>\r\n </>\r\n );\r\n};\r\n\r\nexport default OrganicSection;\r\n","import React from \"react\";\r\nimport { Box, Typography, Card } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\n\r\nconst EmailTrendCard = ({\r\n title,\r\n subtitle,\r\n value,\r\n trend,\r\n series,\r\n colors,\r\n yAxisMax = 60,\r\n yAxisTickAmount = 3,\r\n yAxisFormatter = (val) => `${val}%`\r\n}) => {\r\n const chartOptions = {\r\n chart: {\r\n type: \"area\",\r\n toolbar: { show: false },\r\n sparkline: { enabled: false },\r\n fontFamily: \"Inter, sans-serif\"\r\n },\r\n stroke: {\r\n curve: \"smooth\",\r\n width: 2,\r\n dashArray: series.map(s => s.dashed ? 5 : 0)\r\n },\r\n fill: {\r\n type: \"gradient\",\r\n gradient: {\r\n shadeIntensity: 1,\r\n opacityFrom: 0.3,\r\n opacityTo: 0.8,\r\n stops: [0, 90, 100]\r\n }\r\n },\r\n colors: colors,\r\n xaxis: {\r\n categories: [\"Apr 5\", \"Apr 12\", \"Apr 19\", \"Apr 26\", \"May 4\"],\r\n labels: {\r\n show: true,\r\n style: { colors: 'rgba(0, 0, 0, 0.3)', fontSize: '10px' },\r\n offsetY: -5\r\n },\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n position: 'bottom'\r\n },\r\n yaxis: {\r\n max: yAxisMax,\r\n tickAmount: yAxisTickAmount,\r\n labels: {\r\n show: true,\r\n style: { colors: 'rgba(0, 0, 0, 0.3)', fontSize: '10px' },\r\n formatter: yAxisFormatter\r\n }\r\n },\r\n grid: {\r\n show: true,\r\n borderColor: \"rgba(0, 0, 0, 0.05)\",\r\n strokeDashArray: 0,\r\n xaxis: { lines: { show: false } },\r\n yaxis: { lines: { show: true } },\r\n padding: { left: 10, right: 10, bottom: 0 }\r\n },\r\n dataLabels: { enabled: false },\r\n legend: {\r\n show: series.length > 1,\r\n position: 'bottom',\r\n horizontalAlign: 'left',\r\n fontSize: '11px',\r\n fontFamily: 'Inter, sans-serif',\r\n offsetY: -5,\r\n markers: { width: 8, height: 8, radius: 12 },\r\n itemMargin: { horizontal: 10, vertical: 0 }\r\n },\r\n tooltip: { theme: 'light' }\r\n };\r\n\r\n return (\r\n <Card\r\n sx={{\r\n p: 3,\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n bgcolor: \"#fff\",\r\n height: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\"\r\n }}\r\n >\r\n <Box sx={{ mb: 1, textAlign: 'left' }}>\r\n <Typography sx={{ fontWeight: 700, fontSize: \"18px\", color: \"#000\" }}>{title}</Typography>\r\n <Typography sx={{ fontSize: \"12px\", color: \"rgba(0, 0, 0, 0.4)\", fontWeight: 500 }}>{subtitle}</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5, mb: 1 }}>\r\n <Typography sx={{ fontSize: \"28px\", fontWeight: 700, color: \"#000\" }}>{value}</Typography>\r\n <Box\r\n sx={{\r\n bgcolor: \"#ebfcf4\",\r\n color: \"#10b981\",\r\n px: 1,\r\n py: 0.4,\r\n borderRadius: \"100px\",\r\n fontSize: \"12px\",\r\n fontWeight: 700,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.3\r\n }}\r\n >\r\n <span style={{ fontSize: '10px' }}>▲</span> {trend}\r\n </Box>\r\n </Box>\r\n <Box sx={{ flexGrow: 1, height: 150, ml: -2, mr: -1 }}>\r\n <Chart options={chartOptions} series={series} type=\"area\" height=\"100%\" />\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default EmailTrendCard;\r\n","import { useState } from \"react\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport EmailTrendCard from \"../EmailTrendCard\";\r\nimport {\r\n TopCampaignsRaisedCard,\r\n TopCampaignsCTRCard,\r\n TopCampaignsConvRateCard,\r\n} from \"../TOPCards\";\r\nimport {\r\n PaidOutlined as DollarIcon,\r\n FavoriteOutlined as HeartIcon,\r\n Adjust as AdjustIcon,\r\n IndeterminateCheckBoxOutlined as IndeterminateCheckBoxOutlinedIcon,\r\n NotInterested as NotInterestedIcon,\r\n Email as EmailIcon,\r\n NearMe as NearMeIcon,\r\n HighlightOff as HighlightOffIcon,\r\n} from \"@mui/icons-material\";\r\nimport MetricCard from \"../../advanced/MetricCard\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\n\r\nconst EmailSection = () => {\r\n const [activeMetric, setActiveMetric] = useState(\"Total raised\");\r\n const categories = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\r\n\r\n const metricInfo = {\r\n \"Total raised\": {\r\n value: `$${formatNumber(48920)}`,\r\n subValue: \"12% vs last month\",\r\n icon: <DollarIcon />,\r\n data: [3200, 4100, 2800, 5600, 4200, 6100, 7500],\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n Donations: {\r\n value: \"62\",\r\n subValue: \"12% vs last month\",\r\n icon: <HeartIcon />,\r\n data: [4, 8, 5, 12, 10, 11, 12],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Conversion rate\": {\r\n value: \"3.2%\",\r\n subValue: \"12% vs last month\",\r\n icon: <AdjustIcon />,\r\n data: [2.8, 3.1, 2.9, 3.4, 3.2, 3.1, 3.2],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n CTR: {\r\n value: \"8.1%\",\r\n subValue: \"12% vs last month\",\r\n icon: <NotInterestedIcon />,\r\n data: [7.2, 8.4, 7.8, 8.9, 8.1, 8.0, 8.1],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Revenue per email\": {\r\n value: `$${formatNumber(2.45)}`,\r\n subValue: \"12% vs last month\",\r\n icon: <IndeterminateCheckBoxOutlinedIcon />,\r\n data: [2.1, 2.5, 2.3, 2.8, 2.4, 2.4, 2.45],\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n \"Open rate\": {\r\n value: \"42.3%\",\r\n subValue: \"12% vs last month\",\r\n icon: <EmailIcon />,\r\n data: [38, 44, 40, 46, 42, 41, 42.3],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n Clicks: {\r\n value: \"1,612\",\r\n subValue: \"12% vs last month\",\r\n icon: <NearMeIcon />,\r\n data: [210, 240, 220, 280, 250, 245, 245],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Unique Clicks\": {\r\n value: `${formatNumber(1148)}`,\r\n subValue: \"12% vs last month\",\r\n icon: <NearMeIcon />,\r\n data: [150, 180, 160, 210, 190, 185, 185],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Bounce rate\": {\r\n value: \"1.8%\",\r\n subValue: \"12% vs last month\",\r\n icon: <HighlightOffIcon />,\r\n data: [2.1, 1.9, 1.8, 1.7, 1.8, 1.8, 1.8],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Revenue per Click\": {\r\n value: `$${formatNumber(30.35)}`,\r\n subValue: \"12% vs last month\",\r\n icon: <HighlightOffIcon />,\r\n data: [28, 32, 29, 34, 30, 30, 30.35],\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n };\r\n\r\n const renderCard = (title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // // onClick={() => setActiveMetric(title)}\r\n // // isActive={activeMetric === title}\r\n // sx={{\r\n // }}\r\n // />\r\n );\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(5, 1fr)\",\r\n },\r\n gap: 2,\r\n mb: 0,\r\n }}\r\n >\r\n {[\r\n \"Total raised\",\r\n \"Donations\",\r\n \"Conversion rate\",\r\n \"CTR\",\r\n \"Revenue per email\",\r\n ].map(renderCard)}\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(5, 1fr)\",\r\n },\r\n gap: 2,\r\n mb: 0,\r\n mt: 2.75\r\n }}\r\n >\r\n {[\r\n \"Open rate\",\r\n \"Clicks\",\r\n \"Unique Clicks\",\r\n \"Bounce rate\",\r\n \"Revenue per Click\",\r\n ].map(renderCard)}\r\n </Box>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.25, }}>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\" }}>\r\n <EmailTrendCard\r\n title=\"Open rate trend\"\r\n subtitle=\"Daily · 30 days\"\r\n value=\"42.3%\"\r\n trend=\"2.1pp\"\r\n series={[{ name: 'Open Rate', data: [38, 42, 41, 43, 42.3] }]}\r\n colors={['rgb(99, 99, 230)']}\r\n yAxisMax={53}\r\n yAxisTickAmount={3}\r\n />\r\n </Grid>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 1, md: \"0px\" } }}>\r\n <EmailTrendCard\r\n title=\"Clicks trend\"\r\n subtitle=\"Total + unique · 30 days\"\r\n value=\"1,612\"\r\n trend=\"14%\"\r\n series={[\r\n { name: 'Total clicks', data: [56, 112, 80, 150, 112] },\r\n { name: 'Unique clicks', data: [30, 70, 45, 100, 75], dashed: true }\r\n ]}\r\n colors={['#10B981', '#10B981']}\r\n yAxisMax={168}\r\n yAxisTickAmount={3}\r\n yAxisFormatter={(val) => val}\r\n />\r\n </Grid>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 1, md: \"0px\" } }}>\r\n <EmailTrendCard\r\n title=\"Bounce rate trend\"\r\n subtitle=\"Daily · lower is better\"\r\n value=\"1.8%\"\r\n trend=\"0.3pp\"\r\n series={[{ name: 'Bounce Rate', data: [2.2, 1.9, 2.0, 1.7, 1.8] }]}\r\n colors={['#f2994a']}\r\n yAxisMax={2.5}\r\n yAxisTickAmount={3}\r\n />\r\n </Grid>\r\n </Grid>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.25 }}>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\" }}>\r\n <TopCampaignsRaisedCard />\r\n </Grid>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 2, md: \"0px\" } }}>\r\n <TopCampaignsCTRCard />\r\n </Grid>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 2, md: \"0px\" } }}>\r\n <TopCampaignsConvRateCard />\r\n </Grid>\r\n </Grid>\r\n\r\n </>\r\n );\r\n};\r\n\r\nexport default EmailSection;\r\n","/**\n * Improved text function with halign and valign support\n * Inspiration from: http://stackoverflow.com/questions/28327510/align-text-right-using-jspdf/28433113#28433113\n */\nfunction autoTableText (text, x, y, styles, doc) {\n styles = styles || {};\n var PHYSICAL_LINE_HEIGHT = 1.15;\n var k = doc.internal.scaleFactor;\n var fontSize = doc.internal.getFontSize() / k;\n var lineHeightFactor = doc.getLineHeightFactor\n ? doc.getLineHeightFactor()\n : PHYSICAL_LINE_HEIGHT;\n var lineHeight = fontSize * lineHeightFactor;\n var splitRegex = /\\r\\n|\\r|\\n/g;\n var splitText = '';\n var lineCount = 1;\n if (styles.valign === 'middle' ||\n styles.valign === 'bottom' ||\n styles.halign === 'center' ||\n styles.halign === 'right') {\n splitText = typeof text === 'string' ? text.split(splitRegex) : text;\n lineCount = splitText.length || 1;\n }\n // Align the top\n y += fontSize * (2 - PHYSICAL_LINE_HEIGHT);\n if (styles.valign === 'middle')\n y -= (lineCount / 2) * lineHeight;\n else if (styles.valign === 'bottom')\n y -= lineCount * lineHeight;\n if (styles.halign === 'center' || styles.halign === 'right') {\n var alignSize = fontSize;\n if (styles.halign === 'center')\n alignSize *= 0.5;\n if (splitText && lineCount >= 1) {\n for (var iLine = 0; iLine < splitText.length; iLine++) {\n doc.text(splitText[iLine], x - doc.getStringUnitWidth(splitText[iLine]) * alignSize, y);\n y += lineHeight;\n }\n return doc;\n }\n x -= doc.getStringUnitWidth(text) * alignSize;\n }\n if (styles.halign === 'justify') {\n doc.text(text, x, y, { maxWidth: styles.maxWidth || 100, align: 'justify' });\n }\n else {\n doc.text(text, x, y);\n }\n return doc;\n}\n\nvar globalDefaults = {};\nvar DocHandler = /** @class */ (function () {\n function DocHandler(jsPDFDocument) {\n this.jsPDFDocument = jsPDFDocument;\n this.userStyles = {\n // Black for versions of jspdf without getTextColor\n textColor: jsPDFDocument.getTextColor\n ? this.jsPDFDocument.getTextColor()\n : 0,\n fontSize: jsPDFDocument.internal.getFontSize(),\n fontStyle: jsPDFDocument.internal.getFont().fontStyle,\n font: jsPDFDocument.internal.getFont().fontName,\n // 0 for versions of jspdf without getLineWidth\n lineWidth: jsPDFDocument.getLineWidth\n ? this.jsPDFDocument.getLineWidth()\n : 0,\n // Black for versions of jspdf without getDrawColor\n lineColor: jsPDFDocument.getDrawColor\n ? this.jsPDFDocument.getDrawColor()\n : 0,\n };\n }\n DocHandler.setDefaults = function (defaults, doc) {\n if (doc === void 0) { doc = null; }\n if (doc) {\n doc.__autoTableDocumentDefaults = defaults;\n }\n else {\n globalDefaults = defaults;\n }\n };\n DocHandler.unifyColor = function (c) {\n if (Array.isArray(c)) {\n return c;\n }\n else if (typeof c === 'number') {\n return [c, c, c];\n }\n else if (typeof c === 'string') {\n return [c];\n }\n else {\n return null;\n }\n };\n DocHandler.prototype.applyStyles = function (styles, fontOnly) {\n // Font style needs to be applied before font\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/632\n var _a, _b, _c;\n if (fontOnly === void 0) { fontOnly = false; }\n if (styles.fontStyle && this.jsPDFDocument.setFontStyle) {\n this.jsPDFDocument.setFontStyle(styles.fontStyle);\n }\n var _d = this.jsPDFDocument.internal.getFont(), fontStyle = _d.fontStyle, fontName = _d.fontName;\n if (styles.font)\n fontName = styles.font;\n if (styles.fontStyle) {\n fontStyle = styles.fontStyle;\n var availableFontStyles = this.getFontList()[fontName];\n if (availableFontStyles &&\n availableFontStyles.indexOf(fontStyle) === -1 &&\n this.jsPDFDocument.setFontStyle) {\n // Common issue was that the default bold in headers\n // made custom fonts not work. For example:\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/653\n this.jsPDFDocument.setFontStyle(availableFontStyles[0]);\n fontStyle = availableFontStyles[0];\n }\n }\n this.jsPDFDocument.setFont(fontName, fontStyle);\n if (styles.fontSize)\n this.jsPDFDocument.setFontSize(styles.fontSize);\n if (fontOnly) {\n return; // Performance improvement\n }\n var color = DocHandler.unifyColor(styles.fillColor);\n if (color)\n (_a = this.jsPDFDocument).setFillColor.apply(_a, color);\n color = DocHandler.unifyColor(styles.textColor);\n if (color)\n (_b = this.jsPDFDocument).setTextColor.apply(_b, color);\n color = DocHandler.unifyColor(styles.lineColor);\n if (color)\n (_c = this.jsPDFDocument).setDrawColor.apply(_c, color);\n if (typeof styles.lineWidth === 'number') {\n this.jsPDFDocument.setLineWidth(styles.lineWidth);\n }\n };\n DocHandler.prototype.splitTextToSize = function (text, size, opts) {\n return this.jsPDFDocument.splitTextToSize(text, size, opts);\n };\n /**\n * Adds a rectangle to the PDF\n * @param x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param width Width (in units declared at inception of PDF document)\n * @param height Height (in units declared at inception of PDF document)\n * @param fillStyle A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke.\n */\n DocHandler.prototype.rect = function (x, y, width, height, fillStyle) {\n // null is excluded from fillStyle possible values because it isn't needed\n // and is prone to bugs as it's used to postpone setting the style\n // https://rawgit.com/MrRio/jsPDF/master/docs/jsPDF.html#rect\n return this.jsPDFDocument.rect(x, y, width, height, fillStyle);\n };\n DocHandler.prototype.getLastAutoTable = function () {\n return this.jsPDFDocument.lastAutoTable || null;\n };\n DocHandler.prototype.getTextWidth = function (text) {\n return this.jsPDFDocument.getTextWidth(text);\n };\n DocHandler.prototype.getDocument = function () {\n return this.jsPDFDocument;\n };\n DocHandler.prototype.setPage = function (page) {\n this.jsPDFDocument.setPage(page);\n };\n DocHandler.prototype.addPage = function () {\n return this.jsPDFDocument.addPage();\n };\n DocHandler.prototype.getFontList = function () {\n return this.jsPDFDocument.getFontList();\n };\n DocHandler.prototype.getGlobalOptions = function () {\n return globalDefaults || {};\n };\n DocHandler.prototype.getDocumentOptions = function () {\n return this.jsPDFDocument.__autoTableDocumentDefaults || {};\n };\n DocHandler.prototype.pageSize = function () {\n var pageSize = this.jsPDFDocument.internal.pageSize;\n // JSPDF 1.4 uses get functions instead of properties on pageSize\n if (pageSize.width == null) {\n pageSize = { width: pageSize.getWidth(), height: pageSize.getHeight() };\n }\n return pageSize;\n };\n DocHandler.prototype.scaleFactor = function () {\n return this.jsPDFDocument.internal.scaleFactor;\n };\n DocHandler.prototype.getLineHeightFactor = function () {\n var doc = this.jsPDFDocument;\n return doc.getLineHeightFactor ? doc.getLineHeightFactor() : 1.15;\n };\n DocHandler.prototype.getLineHeight = function (fontSize) {\n return (fontSize / this.scaleFactor()) * this.getLineHeightFactor();\n };\n DocHandler.prototype.pageNumber = function () {\n var pageInfo = this.jsPDFDocument.internal.getCurrentPageInfo();\n if (!pageInfo) {\n // Only recent versions of jspdf has pageInfo\n return this.jsPDFDocument.internal.getNumberOfPages();\n }\n return pageInfo.pageNumber;\n };\n return DocHandler;\n}());\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nvar HtmlRowInput = /** @class */ (function (_super) {\n __extends(HtmlRowInput, _super);\n function HtmlRowInput(element) {\n var _this = _super.call(this) || this;\n _this._element = element;\n return _this;\n }\n return HtmlRowInput;\n}(Array));\n// Base style for all themes\nfunction defaultStyles(scaleFactor) {\n return {\n font: 'helvetica', // helvetica, times, courier\n fontStyle: 'normal', // normal, bold, italic, bolditalic\n overflow: 'linebreak', // linebreak, ellipsize, visible or hidden\n fillColor: false, // Either false for transparent, rbg array e.g. [255, 255, 255] or gray level e.g 200\n textColor: 20,\n halign: 'left', // left, center, right, justify\n valign: 'top', // top, middle, bottom\n fontSize: 10,\n cellPadding: 5 / scaleFactor, // number or {top,left,right,left,vertical,horizontal}\n lineColor: 200,\n lineWidth: 0,\n cellWidth: 'auto', // 'auto'|'wrap'|number\n minCellHeight: 0,\n minCellWidth: 0,\n };\n}\nfunction getTheme(name) {\n var themes = {\n striped: {\n table: { fillColor: 255, textColor: 80, fontStyle: 'normal' },\n head: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n body: {},\n foot: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n alternateRow: { fillColor: 245 },\n },\n grid: {\n table: {\n fillColor: 255,\n textColor: 80,\n fontStyle: 'normal',\n lineWidth: 0.1,\n },\n head: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n body: {},\n foot: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n alternateRow: {},\n },\n plain: { head: { fontStyle: 'bold' }, foot: { fontStyle: 'bold' } },\n };\n return themes[name];\n}\n\nfunction getStringWidth(text, styles, doc) {\n doc.applyStyles(styles, true);\n var textArr = Array.isArray(text) ? text : [text];\n var widestLineWidth = textArr\n .map(function (text) { return doc.getTextWidth(text); })\n .reduce(function (a, b) { return Math.max(a, b); }, 0);\n return widestLineWidth;\n}\nfunction addTableBorder(doc, table, startPos, cursor) {\n var lineWidth = table.settings.tableLineWidth;\n var lineColor = table.settings.tableLineColor;\n doc.applyStyles({ lineWidth: lineWidth, lineColor: lineColor });\n var fillStyle = getFillStyle(lineWidth, false);\n if (fillStyle) {\n doc.rect(startPos.x, startPos.y, table.getWidth(doc.pageSize().width), cursor.y - startPos.y, fillStyle);\n }\n}\nfunction getFillStyle(lineWidth, fillColor) {\n var drawLine = lineWidth > 0;\n var drawBackground = fillColor || fillColor === 0;\n if (drawLine && drawBackground) {\n return 'DF'; // Fill then stroke\n }\n else if (drawLine) {\n return 'S'; // Only stroke (transparent background)\n }\n else if (drawBackground) {\n return 'F'; // Only fill, no stroke\n }\n else {\n return null;\n }\n}\nfunction parseSpacing(value, defaultValue) {\n var _a, _b, _c, _d;\n value = value || defaultValue;\n if (Array.isArray(value)) {\n if (value.length >= 4) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[3],\n };\n }\n else if (value.length === 3) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[1],\n };\n }\n else if (value.length === 2) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[0],\n left: value[1],\n };\n }\n else if (value.length === 1) {\n value = value[0];\n }\n else {\n value = defaultValue;\n }\n }\n if (typeof value === 'object') {\n if (typeof value.vertical === 'number') {\n value.top = value.vertical;\n value.bottom = value.vertical;\n }\n if (typeof value.horizontal === 'number') {\n value.right = value.horizontal;\n value.left = value.horizontal;\n }\n return {\n left: (_a = value.left) !== null && _a !== void 0 ? _a : defaultValue,\n top: (_b = value.top) !== null && _b !== void 0 ? _b : defaultValue,\n right: (_c = value.right) !== null && _c !== void 0 ? _c : defaultValue,\n bottom: (_d = value.bottom) !== null && _d !== void 0 ? _d : defaultValue,\n };\n }\n if (typeof value !== 'number') {\n value = defaultValue;\n }\n return { top: value, right: value, bottom: value, left: value };\n}\nfunction getPageAvailableWidth(doc, table) {\n var margins = parseSpacing(table.settings.margin, 0);\n return doc.pageSize().width - (margins.left + margins.right);\n}\n\n// Limitations\n// - No support for border spacing\n// - No support for transparency\nfunction parseCss(supportedFonts, element, scaleFactor, style, window) {\n var result = {};\n var pxScaleFactor = 96 / 72;\n var backgroundColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['backgroundColor'];\n });\n if (backgroundColor != null)\n result.fillColor = backgroundColor;\n var textColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['color'];\n });\n if (textColor != null)\n result.textColor = textColor;\n var padding = parsePadding(style, scaleFactor);\n if (padding)\n result.cellPadding = padding;\n var borderColorSide = 'borderTopColor';\n var finalScaleFactor = pxScaleFactor * scaleFactor;\n var btw = style.borderTopWidth;\n if (style.borderBottomWidth === btw &&\n style.borderRightWidth === btw &&\n style.borderLeftWidth === btw) {\n var borderWidth = (parseFloat(btw) || 0) / finalScaleFactor;\n if (borderWidth)\n result.lineWidth = borderWidth;\n }\n else {\n result.lineWidth = {\n top: (parseFloat(style.borderTopWidth) || 0) / finalScaleFactor,\n right: (parseFloat(style.borderRightWidth) || 0) / finalScaleFactor,\n bottom: (parseFloat(style.borderBottomWidth) || 0) / finalScaleFactor,\n left: (parseFloat(style.borderLeftWidth) || 0) / finalScaleFactor,\n };\n // Choose border color of first available side\n // could be improved by supporting object as lineColor\n if (!result.lineWidth.top) {\n if (result.lineWidth.right) {\n borderColorSide = 'borderRightColor';\n }\n else if (result.lineWidth.bottom) {\n borderColorSide = 'borderBottomColor';\n }\n else if (result.lineWidth.left) {\n borderColorSide = 'borderLeftColor';\n }\n }\n }\n var borderColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)[borderColorSide];\n });\n if (borderColor != null)\n result.lineColor = borderColor;\n var accepted = ['left', 'right', 'center', 'justify'];\n if (accepted.indexOf(style.textAlign) !== -1) {\n result.halign = style.textAlign;\n }\n accepted = ['middle', 'bottom', 'top'];\n if (accepted.indexOf(style.verticalAlign) !== -1) {\n result.valign = style.verticalAlign;\n }\n var res = parseInt(style.fontSize || '');\n if (!isNaN(res))\n result.fontSize = res / pxScaleFactor;\n var fontStyle = parseFontStyle(style);\n if (fontStyle)\n result.fontStyle = fontStyle;\n var font = (style.fontFamily || '').toLowerCase();\n if (supportedFonts.indexOf(font) !== -1) {\n result.font = font;\n }\n return result;\n}\nfunction parseFontStyle(style) {\n var res = '';\n if (style.fontWeight === 'bold' ||\n style.fontWeight === 'bolder' ||\n parseInt(style.fontWeight) >= 700) {\n res = 'bold';\n }\n if (style.fontStyle === 'italic' || style.fontStyle === 'oblique') {\n res += 'italic';\n }\n return res;\n}\nfunction parseColor(element, styleGetter) {\n var cssColor = realColor(element, styleGetter);\n if (!cssColor)\n return null;\n var rgba = cssColor.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d*\\.?\\d*))?\\)$/);\n if (!rgba || !Array.isArray(rgba)) {\n return null;\n }\n var color = [\n parseInt(rgba[1]),\n parseInt(rgba[2]),\n parseInt(rgba[3]),\n ];\n var alpha = parseInt(rgba[4]);\n if (alpha === 0 || isNaN(color[0]) || isNaN(color[1]) || isNaN(color[2])) {\n return null;\n }\n return color;\n}\nfunction realColor(elem, styleGetter) {\n var bg = styleGetter(elem);\n if (bg === 'rgba(0, 0, 0, 0)' ||\n bg === 'transparent' ||\n bg === 'initial' ||\n bg === 'inherit') {\n if (elem.parentElement == null) {\n return null;\n }\n return realColor(elem.parentElement, styleGetter);\n }\n else {\n return bg;\n }\n}\nfunction parsePadding(style, scaleFactor) {\n var val = [\n style.paddingTop,\n style.paddingRight,\n style.paddingBottom,\n style.paddingLeft,\n ];\n var pxScaleFactor = 96 / (72 / scaleFactor);\n var linePadding = (parseInt(style.lineHeight) - parseInt(style.fontSize)) / scaleFactor / 2;\n var inputPadding = val.map(function (n) {\n return parseInt(n || '0') / pxScaleFactor;\n });\n var padding = parseSpacing(inputPadding, 0);\n if (linePadding > padding.top) {\n padding.top = linePadding;\n }\n if (linePadding > padding.bottom) {\n padding.bottom = linePadding;\n }\n return padding;\n}\n\nfunction parseHtml(doc, input, window, includeHiddenHtml, useCss) {\n var _a, _b;\n if (includeHiddenHtml === void 0) { includeHiddenHtml = false; }\n if (useCss === void 0) { useCss = false; }\n var tableElement;\n if (typeof input === 'string') {\n tableElement = window.document.querySelector(input);\n }\n else {\n tableElement = input;\n }\n var supportedFonts = Object.keys(doc.getFontList());\n var scaleFactor = doc.scaleFactor();\n var head = [], body = [], foot = [];\n if (!tableElement) {\n console.error('Html table could not be found with input: ', input);\n return { head: head, body: body, foot: foot };\n }\n for (var i = 0; i < tableElement.rows.length; i++) {\n var element = tableElement.rows[i];\n var tagName = (_b = (_a = element === null || element === void 0 ? void 0 : element.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === null || _b === void 0 ? void 0 : _b.toLowerCase();\n var row = parseRowContent(supportedFonts, scaleFactor, window, element, includeHiddenHtml, useCss);\n if (!row)\n continue;\n if (tagName === 'thead') {\n head.push(row);\n }\n else if (tagName === 'tfoot') {\n foot.push(row);\n }\n else {\n // Add to body both if parent is tbody or table\n body.push(row);\n }\n }\n return { head: head, body: body, foot: foot };\n}\nfunction parseRowContent(supportedFonts, scaleFactor, window, row, includeHidden, useCss) {\n var resultRow = new HtmlRowInput(row);\n for (var i = 0; i < row.cells.length; i++) {\n var cell = row.cells[i];\n var style_1 = window.getComputedStyle(cell);\n if (includeHidden || style_1.display !== 'none') {\n var cellStyles = void 0;\n if (useCss) {\n cellStyles = parseCss(supportedFonts, cell, scaleFactor, style_1, window);\n }\n resultRow.push({\n rowSpan: cell.rowSpan,\n colSpan: cell.colSpan,\n styles: cellStyles,\n _element: cell,\n content: parseCellContent(cell),\n });\n }\n }\n var style = window.getComputedStyle(row);\n if (resultRow.length > 0 && (includeHidden || style.display !== 'none')) {\n return resultRow;\n }\n}\nfunction parseCellContent(orgCell) {\n // Work on cloned node to make sure no changes are applied to html table\n var cell = orgCell.cloneNode(true);\n // Remove extra space and line breaks in markup to make it more similar to\n // what would be shown in html\n cell.innerHTML = cell.innerHTML.replace(/\\n/g, '').replace(/ +/g, ' ');\n // Preserve <br> tags as line breaks in the pdf\n cell.innerHTML = cell.innerHTML\n .split(/<br.*?>/) //start with '<br' and ends with '>'.\n .map(function (part) { return part.trim(); })\n .join('\\n');\n // innerText for ie\n return cell.innerText || cell.textContent || '';\n}\n\nfunction validateInput(global, document, current) {\n for (var _i = 0, _a = [global, document, current]; _i < _a.length; _i++) {\n var options = _a[_i];\n if (options && typeof options !== 'object') {\n console.error('The options parameter should be of type object, is: ' + typeof options);\n }\n if (options.startY && typeof options.startY !== 'number') {\n console.error('Invalid value for startY option', options.startY);\n delete options.startY;\n }\n }\n}\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nfunction assign(target, s, s1, s2, s3) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n var to = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n // eslint-disable-next-line prefer-rest-params\n var nextSource = arguments[index];\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n}\n\nfunction parseInput(d, current) {\n var doc = new DocHandler(d);\n var document = doc.getDocumentOptions();\n var global = doc.getGlobalOptions();\n validateInput(global, document, current);\n var options = assign({}, global, document, current);\n var win;\n if (typeof window !== 'undefined') {\n win = window;\n }\n var styles = parseStyles(global, document, current);\n var hooks = parseHooks(global, document, current);\n var settings = parseSettings(doc, options);\n var content = parseContent$1(doc, options, win);\n return { id: current.tableId, content: content, hooks: hooks, styles: styles, settings: settings };\n}\nfunction parseStyles(gInput, dInput, cInput) {\n var styleOptions = {\n styles: {},\n headStyles: {},\n bodyStyles: {},\n footStyles: {},\n alternateRowStyles: {},\n columnStyles: {},\n };\n var _loop_1 = function (prop) {\n if (prop === 'columnStyles') {\n var global = gInput[prop];\n var document_1 = dInput[prop];\n var current = cInput[prop];\n styleOptions.columnStyles = assign({}, global, document_1, current);\n }\n else {\n var allOptions = [gInput, dInput, cInput];\n var styles = allOptions.map(function (opts) { return opts[prop] || {}; });\n styleOptions[prop] = assign({}, styles[0], styles[1], styles[2]);\n }\n };\n for (var _i = 0, _a = Object.keys(styleOptions); _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_1(prop);\n }\n return styleOptions;\n}\nfunction parseHooks(global, document, current) {\n var allOptions = [global, document, current];\n var result = {\n didParseCell: [],\n willDrawCell: [],\n didDrawCell: [],\n willDrawPage: [],\n didDrawPage: [],\n };\n for (var _i = 0, allOptions_1 = allOptions; _i < allOptions_1.length; _i++) {\n var options = allOptions_1[_i];\n if (options.didParseCell)\n result.didParseCell.push(options.didParseCell);\n if (options.willDrawCell)\n result.willDrawCell.push(options.willDrawCell);\n if (options.didDrawCell)\n result.didDrawCell.push(options.didDrawCell);\n if (options.willDrawPage)\n result.willDrawPage.push(options.willDrawPage);\n if (options.didDrawPage)\n result.didDrawPage.push(options.didDrawPage);\n }\n return result;\n}\nfunction parseSettings(doc, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var margin = parseSpacing(options.margin, 40 / doc.scaleFactor());\n var startY = (_a = getStartY(doc, options.startY)) !== null && _a !== void 0 ? _a : margin.top;\n var showFoot;\n if (options.showFoot === true) {\n showFoot = 'everyPage';\n }\n else if (options.showFoot === false) {\n showFoot = 'never';\n }\n else {\n showFoot = (_b = options.showFoot) !== null && _b !== void 0 ? _b : 'everyPage';\n }\n var showHead;\n if (options.showHead === true) {\n showHead = 'everyPage';\n }\n else if (options.showHead === false) {\n showHead = 'never';\n }\n else {\n showHead = (_c = options.showHead) !== null && _c !== void 0 ? _c : 'everyPage';\n }\n var useCss = (_d = options.useCss) !== null && _d !== void 0 ? _d : false;\n var theme = options.theme || (useCss ? 'plain' : 'striped');\n var horizontalPageBreak = !!options.horizontalPageBreak;\n var horizontalPageBreakRepeat = (_e = options.horizontalPageBreakRepeat) !== null && _e !== void 0 ? _e : null;\n return {\n includeHiddenHtml: (_f = options.includeHiddenHtml) !== null && _f !== void 0 ? _f : false,\n useCss: useCss,\n theme: theme,\n startY: startY,\n margin: margin,\n pageBreak: (_g = options.pageBreak) !== null && _g !== void 0 ? _g : 'auto',\n rowPageBreak: (_h = options.rowPageBreak) !== null && _h !== void 0 ? _h : 'auto',\n tableWidth: (_j = options.tableWidth) !== null && _j !== void 0 ? _j : 'auto',\n showHead: showHead,\n showFoot: showFoot,\n tableLineWidth: (_k = options.tableLineWidth) !== null && _k !== void 0 ? _k : 0,\n tableLineColor: (_l = options.tableLineColor) !== null && _l !== void 0 ? _l : 200,\n horizontalPageBreak: horizontalPageBreak,\n horizontalPageBreakRepeat: horizontalPageBreakRepeat,\n horizontalPageBreakBehaviour: (_m = options.horizontalPageBreakBehaviour) !== null && _m !== void 0 ? _m : 'afterAllRows',\n };\n}\nfunction getStartY(doc, userStartY) {\n var previous = doc.getLastAutoTable();\n var sf = doc.scaleFactor();\n var currentPage = doc.pageNumber();\n var isSamePageAsPreviousTable = false;\n if (previous && previous.startPageNumber) {\n var endingPage = previous.startPageNumber + previous.pageNumber - 1;\n isSamePageAsPreviousTable = endingPage === currentPage;\n }\n if (typeof userStartY === 'number') {\n return userStartY;\n }\n else if (userStartY == null || userStartY === false) {\n if (isSamePageAsPreviousTable && (previous === null || previous === void 0 ? void 0 : previous.finalY) != null) {\n // Some users had issues with overlapping tables when they used multiple\n // tables without setting startY so setting it here to a sensible default.\n return previous.finalY + 20 / sf;\n }\n }\n return null;\n}\nfunction parseContent$1(doc, options, window) {\n var head = options.head || [];\n var body = options.body || [];\n var foot = options.foot || [];\n if (options.html) {\n var hidden = options.includeHiddenHtml;\n if (window) {\n var htmlContent = parseHtml(doc, options.html, window, hidden, options.useCss) || {};\n head = htmlContent.head || head;\n body = htmlContent.body || head;\n foot = htmlContent.foot || head;\n }\n else {\n console.error('Cannot parse html in non browser environment');\n }\n }\n var columns = options.columns || parseColumns(head, body, foot);\n return { columns: columns, head: head, body: body, foot: foot };\n}\nfunction parseColumns(head, body, foot) {\n var firstRow = head[0] || body[0] || foot[0] || [];\n var result = [];\n Object.keys(firstRow)\n .filter(function (key) { return key !== '_element'; })\n .forEach(function (key) {\n var colSpan = 1;\n var input;\n if (Array.isArray(firstRow)) {\n input = firstRow[parseInt(key)];\n }\n else {\n input = firstRow[key];\n }\n if (typeof input === 'object' && !Array.isArray(input)) {\n colSpan = (input === null || input === void 0 ? void 0 : input.colSpan) || 1;\n }\n for (var i = 0; i < colSpan; i++) {\n var id = void 0;\n if (Array.isArray(firstRow)) {\n id = result.length;\n }\n else {\n id = key + (i > 0 ? \"_\".concat(i) : '');\n }\n var rowResult = { dataKey: id };\n result.push(rowResult);\n }\n });\n return result;\n}\n\nvar HookData = /** @class */ (function () {\n function HookData(doc, table, cursor) {\n this.table = table;\n this.pageNumber = table.pageNumber;\n this.settings = table.settings;\n this.cursor = cursor;\n this.doc = doc.getDocument();\n }\n return HookData;\n}());\nvar CellHookData = /** @class */ (function (_super) {\n __extends(CellHookData, _super);\n function CellHookData(doc, table, cell, row, column, cursor) {\n var _this = _super.call(this, doc, table, cursor) || this;\n _this.cell = cell;\n _this.row = row;\n _this.column = column;\n _this.section = row.section;\n return _this;\n }\n return CellHookData;\n}(HookData));\n\nvar Table = /** @class */ (function () {\n function Table(input, content) {\n this.pageNumber = 1;\n this.id = input.id;\n this.settings = input.settings;\n this.styles = input.styles;\n this.hooks = input.hooks;\n this.columns = content.columns;\n this.head = content.head;\n this.body = content.body;\n this.foot = content.foot;\n }\n Table.prototype.getHeadHeight = function (columns) {\n return this.head.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.getFootHeight = function (columns) {\n return this.foot.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.allRows = function () {\n return this.head.concat(this.body).concat(this.foot);\n };\n Table.prototype.callCellHooks = function (doc, handlers, cell, row, column, cursor) {\n for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {\n var handler = handlers_1[_i];\n var data = new CellHookData(doc, this, cell, row, column, cursor);\n var result = handler(data) === false;\n // Make sure text is always string[] since user can assign string\n cell.text = Array.isArray(cell.text) ? cell.text : [cell.text];\n if (result) {\n return false;\n }\n }\n return true;\n };\n Table.prototype.callEndPageHooks = function (doc, cursor) {\n doc.applyStyles(doc.userStyles);\n for (var _i = 0, _a = this.hooks.didDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData(doc, this, cursor));\n }\n };\n Table.prototype.callWillDrawPageHooks = function (doc, cursor) {\n for (var _i = 0, _a = this.hooks.willDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData(doc, this, cursor));\n }\n };\n Table.prototype.getWidth = function (pageWidth) {\n if (typeof this.settings.tableWidth === 'number') {\n return this.settings.tableWidth;\n }\n else if (this.settings.tableWidth === 'wrap') {\n var wrappedWidth = this.columns.reduce(function (total, col) { return total + col.wrappedWidth; }, 0);\n return wrappedWidth;\n }\n else {\n var margin = this.settings.margin;\n return pageWidth - margin.left - margin.right;\n }\n };\n return Table;\n}());\nvar Row = /** @class */ (function () {\n function Row(raw, index, section, cells, spansMultiplePages) {\n if (spansMultiplePages === void 0) { spansMultiplePages = false; }\n this.height = 0;\n this.raw = raw;\n if (raw instanceof HtmlRowInput) {\n this.raw = raw._element;\n this.element = raw._element;\n }\n this.index = index;\n this.section = section;\n this.cells = cells;\n this.spansMultiplePages = spansMultiplePages;\n }\n Row.prototype.getMaxCellHeight = function (columns) {\n var _this = this;\n return columns.reduce(function (acc, column) { var _a; return Math.max(acc, ((_a = _this.cells[column.index]) === null || _a === void 0 ? void 0 : _a.height) || 0); }, 0);\n };\n Row.prototype.hasRowSpan = function (columns) {\n var _this = this;\n return (columns.filter(function (column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return false;\n return cell.rowSpan > 1;\n }).length > 0);\n };\n Row.prototype.canEntireRowFit = function (height, columns) {\n return this.getMaxCellHeight(columns) <= height;\n };\n Row.prototype.getMinimumRowHeight = function (columns, doc) {\n var _this = this;\n return columns.reduce(function (acc, column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return 0;\n var lineHeight = doc.getLineHeight(cell.styles.fontSize);\n var vPadding = cell.padding('vertical');\n var oneRowHeight = vPadding + lineHeight;\n return oneRowHeight > acc ? oneRowHeight : acc;\n }, 0);\n };\n return Row;\n}());\nvar Cell = /** @class */ (function () {\n function Cell(raw, styles, section) {\n var _a;\n this.contentHeight = 0;\n this.contentWidth = 0;\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.height = 0;\n this.x = 0;\n this.y = 0;\n this.styles = styles;\n this.section = section;\n this.raw = raw;\n var content = raw;\n if (raw != null && typeof raw === 'object' && !Array.isArray(raw)) {\n this.rowSpan = raw.rowSpan || 1;\n this.colSpan = raw.colSpan || 1;\n content = (_a = raw.content) !== null && _a !== void 0 ? _a : raw;\n if (raw._element) {\n this.raw = raw._element;\n }\n }\n else {\n this.rowSpan = 1;\n this.colSpan = 1;\n }\n // Stringify 0 and false, but not undefined or null\n var text = content != null ? '' + content : '';\n var splitRegex = /\\r\\n|\\r|\\n/g;\n this.text = text.split(splitRegex);\n }\n Cell.prototype.getTextPos = function () {\n var y;\n if (this.styles.valign === 'top') {\n y = this.y + this.padding('top');\n }\n else if (this.styles.valign === 'bottom') {\n y = this.y + this.height - this.padding('bottom');\n }\n else {\n var netHeight = this.height - this.padding('vertical');\n y = this.y + netHeight / 2 + this.padding('top');\n }\n var x;\n if (this.styles.halign === 'right') {\n x = this.x + this.width - this.padding('right');\n }\n else if (this.styles.halign === 'center') {\n var netWidth = this.width - this.padding('horizontal');\n x = this.x + netWidth / 2 + this.padding('left');\n }\n else {\n x = this.x + this.padding('left');\n }\n return { x: x, y: y };\n };\n // TODO (v4): replace parameters with only (lineHeight)\n Cell.prototype.getContentHeight = function (scaleFactor, lineHeightFactor) {\n if (lineHeightFactor === void 0) { lineHeightFactor = 1.15; }\n var lineCount = Array.isArray(this.text) ? this.text.length : 1;\n var lineHeight = (this.styles.fontSize / scaleFactor) * lineHeightFactor;\n var height = lineCount * lineHeight + this.padding('vertical');\n return Math.max(height, this.styles.minCellHeight);\n };\n Cell.prototype.padding = function (name) {\n var padding = parseSpacing(this.styles.cellPadding, 0);\n if (name === 'vertical') {\n return padding.top + padding.bottom;\n }\n else if (name === 'horizontal') {\n return padding.left + padding.right;\n }\n else {\n return padding[name];\n }\n };\n return Cell;\n}());\nvar Column = /** @class */ (function () {\n function Column(dataKey, raw, index) {\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.dataKey = dataKey;\n this.raw = raw;\n this.index = index;\n }\n Column.prototype.getMaxCustomCellWidth = function (table) {\n var max = 0;\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n var cell = row.cells[this.index];\n if (cell && typeof cell.styles.cellWidth === 'number') {\n max = Math.max(max, cell.styles.cellWidth);\n }\n }\n return max;\n };\n return Column;\n}());\n\n/**\n * Calculate the column widths\n */\nfunction calculateWidths(doc, table) {\n calculate(doc, table);\n var resizableColumns = [];\n var initialTableWidth = 0;\n table.columns.forEach(function (column) {\n var customWidth = column.getMaxCustomCellWidth(table);\n if (customWidth) {\n // final column width\n column.width = customWidth;\n }\n else {\n // initial column width (will be resized)\n column.width = column.wrappedWidth;\n resizableColumns.push(column);\n }\n initialTableWidth += column.width;\n });\n // width difference that needs to be distributed\n var resizeWidth = table.getWidth(doc.pageSize().width) - initialTableWidth;\n // first resize attempt: with respect to minReadableWidth and minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) {\n return Math.max(column.minReadableWidth, column.minWidth);\n });\n }\n // second resize attempt: ignore minReadableWidth but respect minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) { return column.minWidth; });\n }\n resizeWidth = Math.abs(resizeWidth);\n if (!table.settings.horizontalPageBreak &&\n resizeWidth > 0.1 / doc.scaleFactor()) {\n // Table can't get smaller due to custom-width or minWidth restrictions\n // We can't really do much here. Up to user to for example\n // reduce font size, increase page size or remove custom cell widths\n // to allow more columns to be reduced in size\n resizeWidth = resizeWidth < 1 ? resizeWidth : Math.round(resizeWidth);\n console.log(\"Of the table content, \".concat(resizeWidth, \" units width could not fit page\"));\n }\n applyColSpans(table);\n fitContent(table, doc);\n applyRowSpans(table);\n}\nfunction calculate(doc, table) {\n var sf = doc.scaleFactor();\n var horizontalPageBreak = table.settings.horizontalPageBreak;\n var availablePageWidth = getPageAvailableWidth(doc, table);\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n var hooks = table.hooks.didParseCell;\n table.callCellHooks(doc, hooks, cell, row, column, null);\n var padding = cell.padding('horizontal');\n cell.contentWidth = getStringWidth(cell.text, cell.styles, doc) + padding;\n // Using [^\\S\\u00A0] instead of \\s ensures that we split the text on all\n // whitespace except non-breaking spaces (\\u00A0). We need to preserve\n // them in the split process to ensure correct word separation and width\n // calculation.\n var longestWordWidth = getStringWidth(cell.text.join(' ').split(/[^\\S\\u00A0]+/), cell.styles, doc);\n cell.minReadableWidth = longestWordWidth + cell.padding('horizontal');\n if (typeof cell.styles.cellWidth === 'number') {\n cell.minWidth = cell.styles.cellWidth;\n cell.wrappedWidth = cell.styles.cellWidth;\n }\n else if (cell.styles.cellWidth === 'wrap' ||\n horizontalPageBreak === true) {\n // cell width should not be more than available page width\n if (cell.contentWidth > availablePageWidth) {\n cell.minWidth = availablePageWidth;\n cell.wrappedWidth = availablePageWidth;\n }\n else {\n cell.minWidth = cell.contentWidth;\n cell.wrappedWidth = cell.contentWidth;\n }\n }\n else {\n // auto\n var defaultMinWidth = 10 / sf;\n cell.minWidth = cell.styles.minCellWidth || defaultMinWidth;\n cell.wrappedWidth = cell.contentWidth;\n if (cell.minWidth > cell.wrappedWidth) {\n cell.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n // For now we ignore the minWidth and wrappedWidth of colspan cells when calculating colspan widths.\n // Could probably be improved upon however.\n if (cell && cell.colSpan === 1) {\n column.wrappedWidth = Math.max(column.wrappedWidth, cell.wrappedWidth);\n column.minWidth = Math.max(column.minWidth, cell.minWidth);\n column.minReadableWidth = Math.max(column.minReadableWidth, cell.minReadableWidth);\n }\n else {\n // Respect cellWidth set in columnStyles even if there is no cells for this column\n // or if the column only have colspan cells. Since the width of colspan cells\n // does not affect the width of columns, setting columnStyles cellWidth enables the\n // user to at least do it manually.\n // Note that this is not perfect for now since for example row and table styles are\n // not accounted for\n var columnStyles = table.styles.columnStyles[column.dataKey] ||\n table.styles.columnStyles[column.index] ||\n {};\n var cellWidth = columnStyles.cellWidth || columnStyles.minCellWidth;\n if (cellWidth && typeof cellWidth === 'number') {\n column.minWidth = cellWidth;\n column.wrappedWidth = cellWidth;\n }\n }\n if (cell) {\n // Make sure all columns get at least min width even though width calculations are not based on them\n if (cell.colSpan > 1 && !column.minWidth) {\n column.minWidth = cell.minWidth;\n }\n if (cell.colSpan > 1 && !column.wrappedWidth) {\n column.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n}\n/**\n * Distribute resizeWidth on passed resizable columns\n */\nfunction resizeColumns(columns, resizeWidth, getMinWidth) {\n var initialResizeWidth = resizeWidth;\n var sumWrappedWidth = columns.reduce(function (acc, column) { return acc + column.wrappedWidth; }, 0);\n for (var i = 0; i < columns.length; i++) {\n var column = columns[i];\n var ratio = column.wrappedWidth / sumWrappedWidth;\n var suggestedChange = initialResizeWidth * ratio;\n var suggestedWidth = column.width + suggestedChange;\n var minWidth = getMinWidth(column);\n var newWidth = suggestedWidth < minWidth ? minWidth : suggestedWidth;\n resizeWidth -= newWidth - column.width;\n column.width = newWidth;\n }\n resizeWidth = Math.round(resizeWidth * 1e10) / 1e10;\n // Run the resizer again if there's remaining width needs\n // to be distributed and there're columns that can be resized\n if (resizeWidth) {\n var resizableColumns = columns.filter(function (column) {\n return resizeWidth < 0\n ? column.width > getMinWidth(column) // check if column can shrink\n : true; // check if column can grow\n });\n if (resizableColumns.length) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, getMinWidth);\n }\n }\n return resizeWidth;\n}\nfunction applyRowSpans(table) {\n var rowSpanCells = {};\n var colRowSpansLeft = 1;\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var data = rowSpanCells[column.index];\n if (colRowSpansLeft > 1) {\n colRowSpansLeft--;\n delete row.cells[column.index];\n }\n else if (data) {\n data.cell.height += row.height;\n colRowSpansLeft = data.cell.colSpan;\n delete row.cells[column.index];\n data.left--;\n if (data.left <= 1) {\n delete rowSpanCells[column.index];\n }\n }\n else {\n var cell = row.cells[column.index];\n if (!cell) {\n continue;\n }\n cell.height = row.height;\n if (cell.rowSpan > 1) {\n var remaining = all.length - rowIndex;\n var left = cell.rowSpan > remaining ? remaining : cell.rowSpan;\n rowSpanCells[column.index] = { cell: cell, left: left, row: row };\n }\n }\n }\n }\n}\nfunction applyColSpans(table) {\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n var colSpanCell = null;\n var combinedColSpanWidth = 0;\n var colSpansLeft = 0;\n for (var columnIndex = 0; columnIndex < table.columns.length; columnIndex++) {\n var column = table.columns[columnIndex];\n // Width and colspan\n colSpansLeft -= 1;\n if (colSpansLeft > 1 && table.columns[columnIndex + 1]) {\n combinedColSpanWidth += column.width;\n delete row.cells[column.index];\n }\n else if (colSpanCell) {\n var cell = colSpanCell;\n delete row.cells[column.index];\n colSpanCell = null;\n cell.width = column.width + combinedColSpanWidth;\n }\n else {\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n colSpansLeft = cell.colSpan;\n combinedColSpanWidth = 0;\n if (cell.colSpan > 1) {\n colSpanCell = cell;\n combinedColSpanWidth += column.width;\n continue;\n }\n cell.width = column.width + combinedColSpanWidth;\n }\n }\n }\n}\nfunction fitContent(table, doc) {\n var rowSpanHeight = { count: 0, height: 0 };\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n doc.applyStyles(cell.styles, true);\n var textSpace = cell.width - cell.padding('horizontal');\n if (cell.styles.overflow === 'linebreak') {\n // Add one pt to textSpace to fix rounding error\n cell.text = doc.splitTextToSize(cell.text, textSpace + 1 / doc.scaleFactor(), { fontSize: cell.styles.fontSize });\n }\n else if (cell.styles.overflow === 'ellipsize') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '...');\n }\n else if (cell.styles.overflow === 'hidden') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '');\n }\n else if (typeof cell.styles.overflow === 'function') {\n var result = cell.styles.overflow(cell.text, textSpace);\n if (typeof result === 'string') {\n cell.text = [result];\n }\n else {\n cell.text = result;\n }\n }\n cell.contentHeight = cell.getContentHeight(doc.scaleFactor(), doc.getLineHeightFactor());\n var realContentHeight = cell.contentHeight / cell.rowSpan;\n if (cell.rowSpan > 1 &&\n rowSpanHeight.count * rowSpanHeight.height <\n realContentHeight * cell.rowSpan) {\n rowSpanHeight = { height: realContentHeight, count: cell.rowSpan };\n }\n else if (rowSpanHeight && rowSpanHeight.count > 0) {\n if (rowSpanHeight.height > realContentHeight) {\n realContentHeight = rowSpanHeight.height;\n }\n }\n if (realContentHeight > row.height) {\n row.height = realContentHeight;\n }\n }\n rowSpanHeight.count--;\n }\n}\nfunction ellipsize(text, width, styles, doc, overflow) {\n return text.map(function (str) { return ellipsizeStr(str, width, styles, doc, overflow); });\n}\nfunction ellipsizeStr(text, width, styles, doc, overflow) {\n var precision = 10000 * doc.scaleFactor();\n width = Math.ceil(width * precision) / precision;\n if (width >= getStringWidth(text, styles, doc)) {\n return text;\n }\n while (width < getStringWidth(text + overflow, styles, doc)) {\n if (text.length <= 1) {\n break;\n }\n text = text.substring(0, text.length - 1);\n }\n return text.trim() + overflow;\n}\n\nfunction createTable(jsPDFDoc, input) {\n var doc = new DocHandler(jsPDFDoc);\n var content = parseContent(input, doc.scaleFactor());\n var table = new Table(input, content);\n calculateWidths(doc, table);\n doc.applyStyles(doc.userStyles);\n return table;\n}\nfunction parseContent(input, sf) {\n var content = input.content;\n var columns = createColumns(content.columns);\n // If no head or foot is set, try generating it with content from columns\n if (content.head.length === 0) {\n var sectionRow = generateSectionRow(columns, 'head');\n if (sectionRow)\n content.head.push(sectionRow);\n }\n if (content.foot.length === 0) {\n var sectionRow = generateSectionRow(columns, 'foot');\n if (sectionRow)\n content.foot.push(sectionRow);\n }\n var theme = input.settings.theme;\n var styles = input.styles;\n return {\n columns: columns,\n head: parseSection('head', content.head, columns, styles, theme, sf),\n body: parseSection('body', content.body, columns, styles, theme, sf),\n foot: parseSection('foot', content.foot, columns, styles, theme, sf),\n };\n}\nfunction parseSection(sectionName, sectionRows, columns, styleProps, theme, scaleFactor) {\n var rowSpansLeftForColumn = {};\n var result = sectionRows.map(function (rawRow, rowIndex) {\n var skippedRowForRowSpans = 0;\n var cells = {};\n var colSpansAdded = 0;\n var columnSpansLeft = 0;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n if (rowSpansLeftForColumn[column.index] == null ||\n rowSpansLeftForColumn[column.index].left === 0) {\n if (columnSpansLeft === 0) {\n var rawCell = void 0;\n if (Array.isArray(rawRow)) {\n rawCell =\n rawRow[column.index - colSpansAdded - skippedRowForRowSpans];\n }\n else {\n rawCell = rawRow[column.dataKey];\n }\n var cellInputStyles = {};\n if (typeof rawCell === 'object' && !Array.isArray(rawCell)) {\n cellInputStyles = (rawCell === null || rawCell === void 0 ? void 0 : rawCell.styles) || {};\n }\n var styles = cellStyles(sectionName, column, rowIndex, theme, styleProps, scaleFactor, cellInputStyles);\n var cell = new Cell(rawCell, styles, sectionName);\n // dataKey is not used internally no more but keep for\n // backwards compat in hooks\n cells[column.dataKey] = cell;\n cells[column.index] = cell;\n columnSpansLeft = cell.colSpan - 1;\n rowSpansLeftForColumn[column.index] = {\n left: cell.rowSpan - 1,\n times: columnSpansLeft,\n };\n }\n else {\n columnSpansLeft--;\n colSpansAdded++;\n }\n }\n else {\n rowSpansLeftForColumn[column.index].left--;\n columnSpansLeft = rowSpansLeftForColumn[column.index].times;\n skippedRowForRowSpans++;\n }\n }\n return new Row(rawRow, rowIndex, sectionName, cells);\n });\n return result;\n}\nfunction generateSectionRow(columns, section) {\n var sectionRow = {};\n columns.forEach(function (col) {\n if (col.raw != null) {\n var title = getSectionTitle(section, col.raw);\n if (title != null)\n sectionRow[col.dataKey] = title;\n }\n });\n return Object.keys(sectionRow).length > 0 ? sectionRow : null;\n}\nfunction getSectionTitle(section, column) {\n if (section === 'head') {\n if (typeof column === 'object') {\n return column.header || null;\n }\n else if (typeof column === 'string' || typeof column === 'number') {\n return column;\n }\n }\n else if (section === 'foot' && typeof column === 'object') {\n return column.footer;\n }\n return null;\n}\nfunction createColumns(columns) {\n return columns.map(function (input, index) {\n var _a;\n var key;\n if (typeof input === 'object') {\n key = (_a = input.dataKey) !== null && _a !== void 0 ? _a : index;\n }\n else {\n key = index;\n }\n return new Column(key, input, index);\n });\n}\nfunction cellStyles(sectionName, column, rowIndex, themeName, styles, scaleFactor, cellInputStyles) {\n var theme = getTheme(themeName);\n var sectionStyles;\n if (sectionName === 'head') {\n sectionStyles = styles.headStyles;\n }\n else if (sectionName === 'body') {\n sectionStyles = styles.bodyStyles;\n }\n else if (sectionName === 'foot') {\n sectionStyles = styles.footStyles;\n }\n var otherStyles = assign({}, theme.table, theme[sectionName], styles.styles, sectionStyles);\n var columnStyles = styles.columnStyles[column.dataKey] ||\n styles.columnStyles[column.index] ||\n {};\n var colStyles = sectionName === 'body' ? columnStyles : {};\n var rowStyles = sectionName === 'body' && rowIndex % 2 === 0\n ? assign({}, theme.alternateRow, styles.alternateRowStyles)\n : {};\n var defaultStyle = defaultStyles(scaleFactor);\n var themeStyles = assign({}, defaultStyle, otherStyles, rowStyles, colStyles);\n return assign(themeStyles, cellInputStyles);\n}\n\n// get columns can be fit into page\nfunction getColumnsCanFitInPage(doc, table, config) {\n var _a;\n if (config === void 0) { config = {}; }\n // Get page width\n var remainingWidth = getPageAvailableWidth(doc, table);\n // Get column data key to repeat\n var repeatColumnsMap = new Map();\n var colIndexes = [];\n var columns = [];\n var horizontalPageBreakRepeat = [];\n if (Array.isArray(table.settings.horizontalPageBreakRepeat)) {\n horizontalPageBreakRepeat = table.settings.horizontalPageBreakRepeat;\n // It can be a single value of type string or number (even number: 0)\n }\n else if (typeof table.settings.horizontalPageBreakRepeat === 'string' ||\n typeof table.settings.horizontalPageBreakRepeat === 'number') {\n horizontalPageBreakRepeat = [table.settings.horizontalPageBreakRepeat];\n }\n // Code to repeat the given column in split pages\n horizontalPageBreakRepeat.forEach(function (field) {\n var col = table.columns.find(function (item) { return item.dataKey === field || item.index === field; });\n if (col && !repeatColumnsMap.has(col.index)) {\n repeatColumnsMap.set(col.index, true);\n colIndexes.push(col.index);\n columns.push(table.columns[col.index]);\n remainingWidth -= col.wrappedWidth;\n }\n });\n var first = true;\n var i = (_a = config === null || config === void 0 ? void 0 : config.start) !== null && _a !== void 0 ? _a : 0; // make sure couter is initiated outside the loop\n while (i < table.columns.length) {\n // Prevent duplicates\n if (repeatColumnsMap.has(i)) {\n i++;\n continue;\n }\n var colWidth = table.columns[i].wrappedWidth;\n // Take at least one column even if it doesn't fit\n if (first || remainingWidth >= colWidth) {\n first = false;\n colIndexes.push(i);\n columns.push(table.columns[i]);\n remainingWidth -= colWidth;\n }\n else {\n break;\n }\n i++;\n }\n return { colIndexes: colIndexes, columns: columns, lastIndex: i - 1 };\n}\nfunction calculateAllColumnsCanFitInPage(doc, table) {\n var allResults = [];\n for (var i = 0; i < table.columns.length; i++) {\n var result = getColumnsCanFitInPage(doc, table, { start: i });\n if (result.columns.length) {\n allResults.push(result);\n i = result.lastIndex;\n }\n }\n return allResults;\n}\n\nfunction drawTable(jsPDFDoc, table) {\n var settings = table.settings;\n var startY = settings.startY;\n var margin = settings.margin;\n var cursor = { x: margin.left, y: startY };\n var sectionsHeight = table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n var minTableBottomPos = startY + margin.bottom + sectionsHeight;\n if (settings.pageBreak === 'avoid') {\n var rows = table.body;\n var tableHeight = rows.reduce(function (acc, row) { return acc + row.height; }, 0);\n minTableBottomPos += tableHeight;\n }\n var doc = new DocHandler(jsPDFDoc);\n if (settings.pageBreak === 'always' ||\n (settings.startY != null && minTableBottomPos > doc.pageSize().height)) {\n nextPage(doc);\n cursor.y = margin.top;\n }\n table.callWillDrawPageHooks(doc, cursor);\n var startPos = assign({}, cursor);\n table.startPageNumber = doc.pageNumber();\n if (settings.horizontalPageBreak) {\n // managed flow for split columns\n printTableWithHorizontalPageBreak(doc, table, startPos, cursor);\n }\n else {\n // normal flow\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' ||\n settings.showHead === 'everyPage') {\n table.head.forEach(function (row) {\n return printRow(doc, table, row, cursor, table.columns);\n });\n }\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, table.columns);\n });\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) {\n return printRow(doc, table, row, cursor, table.columns);\n });\n }\n }\n addTableBorder(doc, table, startPos, cursor);\n table.callEndPageHooks(doc, cursor);\n table.finalY = cursor.y;\n jsPDFDoc.lastAutoTable = table;\n doc.applyStyles(doc.userStyles);\n}\nfunction printTableWithHorizontalPageBreak(doc, table, startPos, cursor) {\n // calculate width of columns and render only those which can fit into page\n var allColumnsCanFitResult = calculateAllColumnsCanFitInPage(doc, table);\n var settings = table.settings;\n if (settings.horizontalPageBreakBehaviour === 'afterAllRows') {\n allColumnsCanFitResult.forEach(function (colsAndIndexes, index) {\n doc.applyStyles(doc.userStyles);\n // add page to print next columns in new page\n if (index > 0) {\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, colsAndIndexes.columns, true);\n }\n else {\n // print head for selected columns\n printHead(doc, table, cursor, colsAndIndexes.columns);\n }\n // print body & footer for selected columns\n printBody(doc, table, startPos, cursor, colsAndIndexes.columns);\n printFoot(doc, table, cursor, colsAndIndexes.columns);\n });\n }\n else {\n var lastRowIndexOfLastPage_1 = -1;\n var firstColumnsToFitResult = allColumnsCanFitResult[0];\n var _loop_1 = function () {\n // Print the first columns, taking note of the last row printed\n var lastPrintedRowIndex = lastRowIndexOfLastPage_1;\n if (firstColumnsToFitResult) {\n doc.applyStyles(doc.userStyles);\n var firstColumnsToFit = firstColumnsToFitResult.columns;\n if (lastRowIndexOfLastPage_1 >= 0) {\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, firstColumnsToFit, true);\n }\n else {\n printHead(doc, table, cursor, firstColumnsToFit);\n }\n lastPrintedRowIndex = printBodyWithoutPageBreaks(doc, table, lastRowIndexOfLastPage_1 + 1, cursor, firstColumnsToFit);\n printFoot(doc, table, cursor, firstColumnsToFit);\n }\n // Check how many rows were printed, so that the next columns would not print more rows than that\n var maxNumberOfRows = lastPrintedRowIndex - lastRowIndexOfLastPage_1;\n // Print the next columns, never exceding maxNumberOfRows\n allColumnsCanFitResult.slice(1).forEach(function (colsAndIndexes) {\n doc.applyStyles(doc.userStyles);\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, colsAndIndexes.columns, true);\n printBodyWithoutPageBreaks(doc, table, lastRowIndexOfLastPage_1 + 1, cursor, colsAndIndexes.columns, maxNumberOfRows);\n printFoot(doc, table, cursor, colsAndIndexes.columns);\n });\n lastRowIndexOfLastPage_1 = lastPrintedRowIndex;\n };\n while (lastRowIndexOfLastPage_1 < table.body.length - 1) {\n _loop_1();\n }\n }\n}\nfunction printHead(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' || settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction printBody(doc, table, startPos, cursor, columns) {\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n });\n}\nfunction printBodyWithoutPageBreaks(doc, table, startRowIndex, cursor, columns, maxNumberOfRows) {\n doc.applyStyles(doc.userStyles);\n maxNumberOfRows = maxNumberOfRows !== null && maxNumberOfRows !== void 0 ? maxNumberOfRows : table.body.length;\n var endRowIndex = Math.min(startRowIndex + maxNumberOfRows, table.body.length);\n var lastPrintedRowIndex = -1;\n var rows = table.body.slice(startRowIndex, endRowIndex);\n for (var index = 0; index < rows.length; index++) {\n var row = rows[index];\n var isLastRow = startRowIndex + index === table.body.length - 1;\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, columns)) {\n printRow(doc, table, row, cursor, columns);\n lastPrintedRowIndex = startRowIndex + index;\n }\n else {\n break;\n }\n }\n return lastPrintedRowIndex;\n}\nfunction printFoot(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction getRemainingLineCount(cell, remainingPageSpace, doc) {\n var lineHeight = doc.getLineHeight(cell.styles.fontSize);\n var vPadding = cell.padding('vertical');\n var remainingLines = Math.floor((remainingPageSpace - vPadding) / lineHeight);\n return Math.max(0, remainingLines);\n}\nfunction modifyRowToFit(row, remainingPageSpace, table, doc) {\n var cells = {};\n row.spansMultiplePages = true;\n row.height = 0;\n var rowHeight = 0;\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n if (!Array.isArray(cell.text)) {\n cell.text = [cell.text];\n }\n var remainderCell = new Cell(cell.raw, cell.styles, cell.section);\n remainderCell = assign(remainderCell, cell);\n remainderCell.text = [];\n var remainingLineCount = getRemainingLineCount(cell, remainingPageSpace, doc);\n if (cell.text.length > remainingLineCount) {\n remainderCell.text = cell.text.splice(remainingLineCount, cell.text.length);\n }\n var scaleFactor = doc.scaleFactor();\n var lineHeightFactor = doc.getLineHeightFactor();\n cell.contentHeight = cell.getContentHeight(scaleFactor, lineHeightFactor);\n if (cell.contentHeight >= remainingPageSpace) {\n cell.contentHeight = remainingPageSpace;\n remainderCell.styles.minCellHeight -= remainingPageSpace;\n }\n if (cell.contentHeight > row.height) {\n row.height = cell.contentHeight;\n }\n remainderCell.contentHeight = remainderCell.getContentHeight(scaleFactor, lineHeightFactor);\n if (remainderCell.contentHeight > rowHeight) {\n rowHeight = remainderCell.contentHeight;\n }\n cells[column.index] = remainderCell;\n }\n var remainderRow = new Row(row.raw, -1, row.section, cells, true);\n remainderRow.height = rowHeight;\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var remainderCell = remainderRow.cells[column.index];\n if (remainderCell) {\n remainderCell.height = remainderRow.height;\n }\n var cell = row.cells[column.index];\n if (cell) {\n cell.height = row.height;\n }\n }\n return remainderRow;\n}\nfunction shouldPrintOnCurrentPage(doc, row, remainingPageSpace, table) {\n var pageHeight = doc.pageSize().height;\n var margin = table.settings.margin;\n var marginHeight = margin.top + margin.bottom;\n var maxRowHeight = pageHeight - marginHeight;\n if (row.section === 'body') {\n // Should also take into account that head and foot is not\n // on every page with some settings\n maxRowHeight -=\n table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n }\n var minRowHeight = row.getMinimumRowHeight(table.columns, doc);\n var minRowFits = minRowHeight < remainingPageSpace;\n if (minRowHeight > maxRowHeight) {\n console.log(\"Will not be able to print row \".concat(row.index, \" correctly since it's minimum height is larger than page height\"));\n return true;\n }\n if (!minRowFits) {\n return false;\n }\n var rowHasRowSpanCell = row.hasRowSpan(table.columns);\n var rowHigherThanPage = row.getMaxCellHeight(table.columns) > maxRowHeight;\n if (rowHigherThanPage) {\n if (rowHasRowSpanCell) {\n console.log(\"The content of row \".concat(row.index, \" will not be drawn correctly since drawing rows with a height larger than the page height and has cells with rowspans is not supported.\"));\n }\n return true;\n }\n if (rowHasRowSpanCell) {\n // Currently a new page is required whenever a rowspan row don't fit a page.\n return false;\n }\n if (table.settings.rowPageBreak === 'avoid') {\n return false;\n }\n // In all other cases print the row on current page\n return true;\n}\nfunction printFullRow(doc, table, row, isLastRow, startPos, cursor, columns) {\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, columns)) {\n // The row fits in the current page\n printRow(doc, table, row, cursor, columns);\n }\n else if (shouldPrintOnCurrentPage(doc, row, remainingSpace, table)) {\n // The row gets split in two here, each piece in one page\n var remainderRow = modifyRowToFit(row, remainingSpace, table, doc);\n printRow(doc, table, row, cursor, columns);\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, remainderRow, isLastRow, startPos, cursor, columns);\n }\n else {\n // The row get printed entirelly on the next page\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n }\n}\nfunction printRow(doc, table, row, cursor, columns) {\n cursor.x = table.settings.margin.left;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n var cell = row.cells[column.index];\n if (!cell) {\n cursor.x += column.width;\n continue;\n }\n doc.applyStyles(cell.styles);\n cell.x = cursor.x;\n cell.y = cursor.y;\n var result = table.callCellHooks(doc, table.hooks.willDrawCell, cell, row, column, cursor);\n if (result === false) {\n cursor.x += column.width;\n continue;\n }\n drawCellRect(doc, cell, cursor);\n var textPos = cell.getTextPos();\n autoTableText(cell.text, textPos.x, textPos.y, {\n halign: cell.styles.halign,\n valign: cell.styles.valign,\n maxWidth: Math.ceil(cell.width - cell.padding('left') - cell.padding('right')),\n }, doc.getDocument());\n table.callCellHooks(doc, table.hooks.didDrawCell, cell, row, column, cursor);\n cursor.x += column.width;\n }\n cursor.y += row.height;\n}\nfunction drawCellRect(doc, cell, cursor) {\n var cellStyles = cell.styles;\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/774\n // TODO (v4): better solution?\n doc.getDocument().setFillColor(doc.getDocument().getFillColor());\n if (typeof cellStyles.lineWidth === 'number') {\n // Draw cell background with normal borders\n var fillStyle = getFillStyle(cellStyles.lineWidth, cellStyles.fillColor);\n if (fillStyle) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, fillStyle);\n }\n }\n else if (typeof cellStyles.lineWidth === 'object') {\n // Draw cell background\n if (cellStyles.fillColor) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, 'F');\n }\n // Draw cell individual borders\n drawCellBorders(doc, cell, cursor, cellStyles.lineWidth);\n }\n}\n/**\n * Draw all specified borders. Borders are centered on cell's edge and lengthened\n * to overlap with neighbours to create sharp corners.\n * @param doc\n * @param cell\n * @param cursor\n * @param fillColor\n * @param lineWidth\n */\nfunction drawCellBorders(doc, cell, cursor, lineWidth) {\n var x1, y1, x2, y2;\n if (lineWidth.top) {\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y;\n if (lineWidth.right) {\n x2 += 0.5 * lineWidth.right;\n }\n if (lineWidth.left) {\n x1 -= 0.5 * lineWidth.left;\n }\n drawLine(lineWidth.top, x1, y1, x2, y2);\n }\n if (lineWidth.bottom) {\n x1 = cursor.x;\n y1 = cursor.y + cell.height;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n if (lineWidth.right) {\n x2 += 0.5 * lineWidth.right;\n }\n if (lineWidth.left) {\n x1 -= 0.5 * lineWidth.left;\n }\n drawLine(lineWidth.bottom, x1, y1, x2, y2);\n }\n if (lineWidth.left) {\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x;\n y2 = cursor.y + cell.height;\n if (lineWidth.top) {\n y1 -= 0.5 * lineWidth.top;\n }\n if (lineWidth.bottom) {\n y2 += 0.5 * lineWidth.bottom;\n }\n drawLine(lineWidth.left, x1, y1, x2, y2);\n }\n if (lineWidth.right) {\n x1 = cursor.x + cell.width;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n if (lineWidth.top) {\n y1 -= 0.5 * lineWidth.top;\n }\n if (lineWidth.bottom) {\n y2 += 0.5 * lineWidth.bottom;\n }\n drawLine(lineWidth.right, x1, y1, x2, y2);\n }\n function drawLine(width, x1, y1, x2, y2) {\n doc.getDocument().setLineWidth(width);\n doc.getDocument().line(x1, y1, x2, y2, 'S');\n }\n}\nfunction getRemainingPageSpace(doc, table, isLastRow, cursor) {\n var bottomContentHeight = table.settings.margin.bottom;\n var showFoot = table.settings.showFoot;\n if (showFoot === 'everyPage' || (showFoot === 'lastPage' && isLastRow)) {\n bottomContentHeight += table.getFootHeight(table.columns);\n }\n return doc.pageSize().height - cursor.y - bottomContentHeight;\n}\nfunction addPage(doc, table, startPos, cursor, columns, suppressFooter) {\n if (columns === void 0) { columns = []; }\n if (suppressFooter === void 0) { suppressFooter = false; }\n doc.applyStyles(doc.userStyles);\n if (table.settings.showFoot === 'everyPage' && !suppressFooter) {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n // Add user content just before adding new page ensure it will\n // be drawn above other things on the page\n table.callEndPageHooks(doc, cursor);\n var margin = table.settings.margin;\n addTableBorder(doc, table, startPos, cursor);\n nextPage(doc);\n table.pageNumber++;\n cursor.x = margin.left;\n cursor.y = margin.top;\n startPos.y = margin.top;\n // call didAddPage hooks before any content is added to the page\n table.callWillDrawPageHooks(doc, cursor);\n if (table.settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n doc.applyStyles(doc.userStyles);\n }\n}\nfunction nextPage(doc) {\n var current = doc.pageNumber();\n doc.setPage(current + 1);\n var newCurrent = doc.pageNumber();\n if (newCurrent === current) {\n doc.addPage();\n return true;\n }\n return false;\n}\n\nfunction applyPlugin(jsPDF) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n jsPDF.API.autoTable = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var options = args[0];\n var input = parseInput(this, options);\n var table = createTable(this, input);\n drawTable(this, table);\n return this;\n };\n // Assign false to enable `doc.lastAutoTable.finalY || 40` sugar\n jsPDF.API.lastAutoTable = false;\n jsPDF.API.autoTableText = function (text, x, y, styles) {\n autoTableText(text, x, y, styles, this);\n };\n jsPDF.API.autoTableSetDefaults = function (defaults) {\n DocHandler.setDefaults(defaults, this);\n return this;\n };\n jsPDF.autoTableSetDefaults = function (defaults, doc) {\n DocHandler.setDefaults(defaults, doc);\n };\n jsPDF.API.autoTableHtmlToJson = function (tableElem, includeHiddenElements) {\n var _a;\n if (includeHiddenElements === void 0) { includeHiddenElements = false; }\n if (typeof window === 'undefined') {\n console.error('Cannot run autoTableHtmlToJson in non browser environment');\n return null;\n }\n var doc = new DocHandler(this);\n var _b = parseHtml(doc, tableElem, window, includeHiddenElements, false), head = _b.head, body = _b.body;\n var columns = ((_a = head[0]) === null || _a === void 0 ? void 0 : _a.map(function (c) { return c.content; })) || [];\n return { columns: columns, rows: body, data: body };\n };\n}\n\nvar _a;\nfunction autoTable(d, options) {\n var input = parseInput(d, options);\n var table = createTable(d, input);\n drawTable(d, table);\n}\n// Experimental export\nfunction __createTable(d, options) {\n var input = parseInput(d, options);\n return createTable(d, input);\n}\nfunction __drawTable(d, table) {\n drawTable(d, table);\n}\ntry {\n if (typeof window !== 'undefined' && window) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var anyWindow = window;\n var jsPDF = anyWindow.jsPDF || ((_a = anyWindow.jspdf) === null || _a === void 0 ? void 0 : _a.jsPDF);\n if (jsPDF) {\n applyPlugin(jsPDF);\n }\n }\n}\ncatch (error) {\n console.error('Could not apply autoTable plugin', error);\n}\n\nexport { Cell, CellHookData, Column, HookData, Row, Table, __createTable, __drawTable, applyPlugin, autoTable, autoTable as default };\n"],"names":["theme","createTheme","cssVariables","typography","fontFamily","join","palette","primary","main","mainLight","light","gray","lightGreen","green","red","lightRed","lightGray","darkGray","dark","text","secondary","contrastText","white","gradients","MetricSelector","_ref","metric","onMetricChange","_ref$options","options","_ref$label","label","_React$useState","React","useState","_React$useState2","_slicedToArray","anchorEl","setAnchorEl","open","Boolean","handleClick","event","currentTarget","handleClose","value","_jsxs","Box","sx","display","gap","children","Button","id","undefined","onClick","variant","borderRadius","borderColor","color","textTransform","fontWeight","px","height","bgcolor","_jsx","Menu","onClose","MenuListProps","PaperProps","mt","boxShadow","minWidth","map","option","MenuItem","RevenueChart","data","series","categories","_ref$height","_ref$stacked","stacked","_ref$type","type","_ref$id","colors","_ref$showLegend","showLegend","useTheme","isRadial","baseOptions","chart","toolbar","show","sparkline","enabled","animations","tooltip","y","formatter","toLowerCase","concat","toLocaleString","radialOptions","_objectSpread","labels","stroke","width","dataLabels","legend","position","horizontalAlign","plotOptions","pie","donut","size","total","w","sum","globals","seriesTotals","reduce","a","b","Math","round","linearOptions","curve","fill","gradient","shadeIntensity","opacityFrom","opacityTo","stops","xaxis","axisBorder","axisTicks","tickAmount","rotate","rotateAlways","hideOverlappingLabels","style","fontSize","val","date","Date","isNaN","getTime","toLocaleDateString","month","day","yaxis","grid","strokeDashArray","length","bar","columnWidth","chartOptions","chartSeries","_series$","processedData","Array","isArray","v","_typeof","name","ReactApexChart","RenderChartCard","item","index","_ref$isPrimary","isPrimary","_ref$isPremium","isPremium","setMetric","_ref$md","md","Grid","xs","paddingTop","Card","flexDirection","border","CardContent","p","flexGrow","justifyContent","alignItems","mb","textAlign","Typography","subtitle","JSON","stringify","trend","py","letterSpacing","subValue","hideControls","sm","leg","_Fragment","showSelector","IconButton","MoreHorizIcon","minHeight","includes","flexWrap","marginTop","footer","pt","borderTop","left","right","NewOverview","lazy","Dashboard","_ref$apiData","apiData","_ref$overviewType","overviewType","_ref$dateName","dateName","_ref$exportTrigger","exportTrigger","ThemeProvider","Suspense","fallback","CircularProgress","activeSection","formatNumber","num","toFixed","replace","toString","OverallSection","PaidSection","OrganicSection","EmailSection","activeSectionProp","initialMetric","revenueData","donationsData","_useState","_useState2","_useState3","_useState4","setActiveSection","useEffect","capitalized","charAt","toUpperCase","slice","buildAndDownloadPdf","_ref2","_asyncToGenerator","_regenerator","m","_callee","_apiData$overviewStat","_apiData$overviewStat2","_apiData$trafficSourc","_apiData$recurringBar","_apiData$recurringBar2","_apiData$roasCard","_apiData$overviewStat3","_apiData$overviewStat4","_apiData$overviewStat5","_apiData$overviewStat6","_apiData$overviewStat7","_apiData$overviewStat8","_doc$lastAutoTable","_doc$lastAutoTable2","_apiData$orderBumpDet","_apiData$orderBumpDet2","_apiData$orderBumpDet3","_apiData$orderBumpDet4","_apiData$upSellDetail","_apiData$upSellDetail2","_apiData$downSellDeta","_apiData$downSellDeta2","_apiData$referralDeta","_apiData$referralDeta2","_yield$Promise$all","_yield$Promise$all2","jsPDF","autoTableModule","autoTable","growth","overview","dateLabel","generatedAt","generatedLabel","fmtPct","fmtSigned","doc","pageWidth","marginX","contentWidth","cardGap","cardWidth","addHeader","addFooter","metricCard","donorMixRaw","newDonorsCount","returningDonorsCount","avgGift","newDonorsObj","returningDonorsObj","totalAmount","totalCount","activeCampaignRows","trafficRows","donorMixRows","recurringTotal","oneTimeTotalValue","donorGeographyRaw","donorGeographyList","donorGeoRows","refundsData","totalRaised","netRaised","totalDonors","convRate","avgDonation","totalVisits","passThrough","refundRate","chargebackRate","page1Cards","trendY","donorCardTop","cardsTop","halfGap","halfW","drawInfoCard","safeDate","_t","_context","n","Promise","all","overviewStats","growthPercentage","toLocaleTimeString","digits","arguments","Number","suffix","numeric","sign","unit","format","internal","pageSize","getWidth","setFont","setTextColor","setFontSize","activeFilters","pageNumber","totalPages","_ref3","x","title","detail","positive","trim","startsWith","setDrawColor","setFillColor","roundedRect","apply","_toConsumableArray","maxWidth","donorPieChartData","find","d","totalDonations","newDonors","returningDonors","activeCampaigns","campaign","collectedAmount","usdTargetAmount","uniqueDonationsCount","status","trafficSourceData","source","donors","revenue","raised","recurringBarChartData","oneTimeTotal","donorGeography","country","percentage","refundAndChargeBacks","totalRevenue","netRevenue","conversionRate","overallAVGDonations","medianGift","topDecileGift","roasCard","roasCardPrev","adSpend","attributedRevenue","refundRateChange","refundCount","forEach","card","idx","col","row","floor","ceil","startY","head","body","email","call","s","i","organic","paidAds","margin","styles","cellPadding","headStyles","fillColor","textColor","alternateRowStyles","addPage","align","lastAutoTable","finalY","_ref4","h","_ref4$lines","lines","line","chargebackRateChange","refundAmount","disputedAmount","orderBumpDetails","averagePerDay","totalOrders","upSellDetails","acceptanceRate","downSellDetails","referralDetails","toISOString","save","console","error","currentData","oneTimeData","oneTimeDonations","oneTimeValues","oneTimeCategories","firstInstData","firstInstallmentRevenue","firstInstValues","firstInstCategories","firstInstTotal","totalRevData","totalRevValues","totalRevCategories","totalRevTotal","avgDonData","averageDonation","avgDonValues","avgDonCategories","avgDonOverall","tipData","tipAmount","tipValues","tipCategories","tipTotal","convRateData","convRateValues","convRateCategories","convRateAvg","organicVisData","organicVisits","paidVisData","paidVisits","organicVisValues","paidVisValues","trafficCategories","primaryCharts","secondaryCharts","totalTips","tertiaryCharts","quaternaryCharts","PerformanceSection","_ref$performanceData","performanceData","visitorsData","revPerVisData","revenuePerVisitor","revPerVisValues","revPerVisCategories","revPerVisTotal","totalVisData","totalVisValues","totalVisCategories","totalVisTotal","upSellData","upSellRaisedAmount","upSellValues","upSellCategories","upSellTotal","downSellData","downSellRaisedAmount","downSellValues","downSellCategories","downSellTotal","abandonedData","abandonedDonationRecoveryCount","abandonedValues","abandonedCategories","abandonedTotal","gutterBottom","container","spacing","range","plans","share","RecurringDonationAmounts","LinearProgress","RecurringRevenueSection","UTM_COLORS","rawData","donations","Revenue","Donations","SORT_OPTIONS","dateCategories","from","_","getDate","UTMPerformance","sortMode","setSortMode","_useState5","_useState6","_useState7","_useState8","parameter","setParameter","sortedData","sort","valA","valB","zoom","opposite","min","padding","shared","custom","dataPointIndex","items","config","markers","BORDER","headerCellSx","borderBottom","cellSx","verticalAlign","overflow","TableContainer","Table","borderCollapse","TableHead","TableRow","TableCell","e","ml","MoreVertIcon","TableBody","colorIdx","findIndex","flexShrink","opt","CheckIcon","step","DropOffPoints","DonorBehavior","miniChartOptions","MiniChart","rows","abandoned","sent","openRate","openCount","clickRate","clickCount","recoveryRate","recoveryData","recovered","recoveredData","aggregates","sentData","openRateData","clickRateData","borderRight","lineHeight","aggCellSx","AbandonedDonationRecovery","InfoOutlined","Settings","pb","overflowX","boxSizing","borderSpacing","themeColors","themeTypography","ActiveCampaignsCard","_ref$title","_ref$subtitle","_ref$columns","columns","_ref$rows","_ref$gridTemplateColu","gridTemplateColumns","header","Avatar","avatarBg","icon","iconColor","val1","progress","progressColor","val2","highlightVal3","val3Color","val3","val4","trendType","trendLabel","statusBg","statusColor","DonorMixCard","_ref$series","_ref$labels","_ref$colors","_ref$centerLabel","centerLabel","_ref$centerValue","centerValue","_ref$items","_ref$showBottomSummar","showBottomSummary","_ref$bottomSummaryVal","bottomSummaryValue","_ref$bottomSummaryTre","bottomSummaryTrend","_ref$sx","offsetY","states","hover","filter","Chart","TrafficSourceCard","_ref$trafficSourceDat","_ref$total","paidAdsColor","organicColor","emailColor","directColor","getSourceColor","shareValue","textOverflow","whiteSpace","max","MetricSparklineCard","_ref$trendColor","trendColor","_ref$chartData","chartData","_ref$chartColor","chartColor","_ref$footerMetrics","footerMetrics","_ref$bottomSection","bottomSection","marker","MetricDonutCard","acceptanceVal","acceptanceTrend","raisedVal","raisedTrend","_ref$chartColors","chartColors","radialBar","hollow","track","background","strokeWidth","lineCap","TrendingUp","DonationTypeBarChart","donationTypeData","recurringColor","oneTimeColor","summaries","isDistributed","recurring","oneTime","totalRecurringDonations","totalOneTimeDonations","_dataObj$summary","_dataObj$summary2","_dataObj$summary3","_dataObj$summary4","dataObj","summary","horizontal","distributed","opacity","mr","CardWrapper","LandingPagesCard","page","visitors","cvr","KeywordsCard","keyword","clicks","rank","GeographyCard","_ref2$subtitle","stats","TopCampaignsRaisedCard","marginBottom","TopCampaignsCTRCard","TopCampaignsConvRateCard","TopPerformingCampaignsCard","spend","roas","PaidDonorGeographyCard","donorGeographyData","rawCountries","countries","countryName","RefundsChargebacksCard","_ref$refundsChargebac","refundsChargebacksData","_refundsChargebacksDa","_refundsChargebacksDa2","_refundsChargebacksDa3","totalRefundedAmount","_refundsChargebacksDa4","totalRefunds","_refundsChargebacksDa5","totalChargebacks","_refundsChargebacksDa6","_refundsChargebacksDa8","refundSeries","parseFloat","chargebackSeries","maxVal","yAxisMax","annotations","offsetX","fmt","_n$toFixed","growthColor","growthLabel","abs","MetricCard","caption","active","warning","paddingBottom","Stack","direction","_apiData$overviewStat9","_apiData$overviewStat0","_apiData$overviewStat1","_apiData$overviewStat10","_apiData$roasCardPrev","_apiData$overviewStat11","_apiData$overviewStat12","_apiData$overviewStat13","_orderBumpData$chart","_orderBumpData$peakDa","_orderBumpData$peakDa2","_referralData$chartDa","activeMetric","setActiveMetric","orderBumpData","upsellData","downsellData","referralData","allCharts","getExtendedCharts","charts","c","push","metricInfo","DollarIcon","money","HeartIcon","PeopleIcon","TrendIcon","AdjustIcon","activeCampaignsData","donorMix","totalDonorsMix","newDonorsPerc","returningDonorsPerc","donorMixPrev","log","renderCard","extendedCharts","selectedInfo","mainChart","_apiData$overviewStat14","stackedData","hasStackedData","_apiData$overviewStat15","netData","_apiData$overviewStat16","donorsData","roasData","_apiData$overviewStat17","conversionData","_apiData$overviewStat18","avgData","avgDonations","lg","Object","keys","campaignName","split","word","maxHeight","peakDay","amount","totalUpsellsAttached","acceptanceGrowth","raisedGrowth","totalReferrers","averageGift","chartLabel","IndeterminateCheckBoxOutlinedIcon","ROAS","PersonOutlinedIcon","totalRaisedTrend","netRaisedSub","SearchoutlinedIcon","avgDonationTrend","roasTrend","EmailTrendCard","_ref$yAxisMax","_ref$yAxisTickAmount","yAxisTickAmount","_ref$yAxisFormatter","yAxisFormatter","dashArray","dashed","bottom","radius","itemMargin","vertical","CTR","NotInterestedIcon","EmailIcon","Clicks","NearMeIcon","HighlightOffIcon"],"mappings":"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","x_google_ignoreList":[29]}