@ammarkhalidfarooq/dashboard-package 0.6.125 → 0.6.126

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":"MetricCard.cjs.js","sources":["../src/config/helper.js","../src/components/advanced/MetricCard/index.jsx"],"sourcesContent":["export const TREND_UP_COLOR = \"#22C55E\";\r\nexport const TREND_DOWN_COLOR = \"#EF4444\";\r\n\r\nexport function getTrendDirection(valueOrText) {\r\n const text = String(valueOrText ?? \"\").trim();\r\n if (text.includes(\"▼\")) return \"down\";\r\n if (text.includes(\"▲\")) return \"up\";\r\n\r\n const match = text.match(/-?\\d+(\\.\\d+)?/);\r\n if (!match) return \"neutral\";\r\n\r\n const n = Number(match[0]);\r\n if (n < 0) return \"down\";\r\n if (n > 0) return \"up\";\r\n return \"neutral\";\r\n}\r\n\r\nexport function getTrendColor(\r\n valueOrText,\r\n { up = TREND_UP_COLOR, down = TREND_DOWN_COLOR, neutral = up } = {}\r\n) {\r\n const direction = getTrendDirection(valueOrText);\r\n if (direction === \"down\") return down;\r\n if (direction === \"up\") return up;\r\n return neutral;\r\n}\r\n\r\nexport function getTrendArrow(valueOrText) {\r\n const direction = getTrendDirection(valueOrText);\r\n if (direction === \"down\") return \"▼\";\r\n if (direction === \"up\") return \"▲\";\r\n return \"\";\r\n}\r\n\r\nexport function formatCurrency(value) {\r\n return `$${Number(value ?? 0).toFixed(2)}`;\r\n}\r\n\r\nexport function formatNumber(num) {\r\n return Number(num ?? 0).toFixed(2);\r\n}","import { Avatar, Box, Stack, Typography } from \"@mui/material\";\r\nimport { getTrendColor, getTrendDirection } from \"../../../config/helper\";\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 sx = {},\r\n titleSx = {},\r\n valueSx = {},\r\n captionSx = {},\r\n avatarSx = {},\r\n}) => {\r\n const captionText = String(caption ?? \"\");\r\n const isPercentCaption = captionText.includes(\"%\");\r\n const trendDirection = isPercentCaption ? getTrendDirection(captionText) : \"neutral\";\r\n const hasTrendArrow = captionText.includes(\"▼\") || captionText.includes(\"▲\");\r\n const trendPrefix =\r\n hasTrendArrow || !isPercentCaption\r\n ? \"\"\r\n : trendDirection === \"down\"\r\n ? \"▼ \"\r\n : trendDirection === \"up\"\r\n ? \"▲ \"\r\n : \"\";\r\n const captionColor = captionText.includes(\"failed\")\r\n ? \"#4F46E5\"\r\n : error\r\n ? \"#ef4444\"\r\n : isPercentCaption\r\n ? getTrendColor(captionText, { up: \"#0B8F61\", down: \"#ef4444\" })\r\n : \"#0B8F61\";\r\n\r\n return (\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 ...sx,\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 ...titleSx,\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 p: 0.625,\r\n \"& .MuiSvgIcon-root, & svg\": {\r\n width: \"100%\",\r\n height: \"100%\",\r\n },\r\n ...avatarSx,\r\n }}\r\n >\r\n {icon}\r\n </Avatar>\r\n </Stack>\r\n <Typography\r\n sx={{\r\n fontSize: 22,\r\n fontWeight: 700,\r\n color: active ? \"#4F46E5\" : \"#050509\",\r\n lineHeight: 1.15,\r\n ...valueSx,\r\n }}\r\n >\r\n {value}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: 12,\r\n fontWeight: 500,\r\n color: captionColor,\r\n ...captionSx,\r\n }}\r\n >\r\n {`${trendPrefix}${captionText}`}\r\n </Typography>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default MetricCard;\r\n"],"names":["TREND_UP_COLOR","TREND_DOWN_COLOR","getTrendDirection","valueOrText","text","String","trim","includes","match","n","Number","getTrendColor","_ref","arguments","length","undefined","_ref$up","up","_ref$down","down","_ref$neutral","neutral","direction","MetricCard","title","value","caption","icon","active","warning","error","onClick","_ref$sx","sx","_ref$titleSx","titleSx","_ref$valueSx","valueSx","_ref$captionSx","captionSx","_ref$avatarSx","avatarSx","captionText","isPercentCaption","trendDirection","hasTrendArrow","trendPrefix","captionColor","_jsxs","Box","_objectSpread","bgcolor","border","concat","borderRadius","p","xs","md","paddingTop","paddingBottom","height","boxShadow","children","Stack","justifyContent","alignItems","_jsx","Typography","color","fontSize","fontWeight","letterSpacing","Avatar","width","lineHeight"],"mappings":"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"}
1
+ {"version":3,"file":"MetricCard.cjs.js","sources":["../src/config/helper.js","../src/components/advanced/MetricCard/index.jsx"],"sourcesContent":["export const TREND_UP_COLOR = \"#22C55E\";\r\nexport const TREND_DOWN_COLOR = \"#EF4444\";\r\n\r\nexport function getTrendDirection(valueOrText) {\r\n const text = String(valueOrText ?? \"\").trim();\r\n if (text.includes(\"▼\")) return \"down\";\r\n if (text.includes(\"▲\")) return \"up\";\r\n\r\n const match = text.match(/-?\\d+(\\.\\d+)?/);\r\n if (!match) return \"neutral\";\r\n\r\n const n = Number(match[0]);\r\n if (n < 0) return \"down\";\r\n if (n > 0) return \"up\";\r\n return \"neutral\";\r\n}\r\n\r\nexport function getTrendColor(\r\n valueOrText,\r\n { up = TREND_UP_COLOR, down = TREND_DOWN_COLOR, neutral = up } = {}\r\n) {\r\n const direction = getTrendDirection(valueOrText);\r\n if (direction === \"down\") return down;\r\n if (direction === \"up\") return up;\r\n return neutral;\r\n}\r\n\r\nexport function getTrendArrow(valueOrText) {\r\n const direction = getTrendDirection(valueOrText);\r\n if (direction === \"down\") return \"▼\";\r\n if (direction === \"up\") return \"▲\";\r\n return \"\";\r\n}\r\n\r\nexport function formatCurrency(value) {\r\n return `$${Number(value ?? 0).toLocaleString(\"en-US\")}`;\r\n}\r\n\r\nexport 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 { Avatar, Box, Stack, Typography } from \"@mui/material\";\r\nimport { getTrendColor, getTrendDirection } from \"../../../config/helper\";\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 sx = {},\r\n titleSx = {},\r\n valueSx = {},\r\n captionSx = {},\r\n avatarSx = {},\r\n}) => {\r\n const captionText = String(caption ?? \"\");\r\n const isPercentCaption = captionText.includes(\"%\");\r\n const trendDirection = isPercentCaption ? getTrendDirection(captionText) : \"neutral\";\r\n const hasTrendArrow = captionText.includes(\"▼\") || captionText.includes(\"▲\");\r\n const trendPrefix =\r\n hasTrendArrow || !isPercentCaption\r\n ? \"\"\r\n : trendDirection === \"down\"\r\n ? \"▼ \"\r\n : trendDirection === \"up\"\r\n ? \"▲ \"\r\n : \"\";\r\n const captionColor = captionText.includes(\"failed\")\r\n ? \"#4F46E5\"\r\n : error\r\n ? \"#ef4444\"\r\n : isPercentCaption\r\n ? getTrendColor(captionText, { up: \"#0B8F61\", down: \"#ef4444\" })\r\n : \"#0B8F61\";\r\n\r\n return (\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 ...sx,\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 ...titleSx,\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 p: 0.625,\r\n \"& .MuiSvgIcon-root, & svg\": {\r\n width: \"100%\",\r\n height: \"100%\",\r\n },\r\n ...avatarSx,\r\n }}\r\n >\r\n {icon}\r\n </Avatar>\r\n </Stack>\r\n <Typography\r\n sx={{\r\n fontSize: 22,\r\n fontWeight: 700,\r\n color: active ? \"#4F46E5\" : \"#050509\",\r\n lineHeight: 1.15,\r\n ...valueSx,\r\n }}\r\n >\r\n {value}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: 12,\r\n fontWeight: 500,\r\n color: captionColor,\r\n ...captionSx,\r\n }}\r\n >\r\n {`${trendPrefix}${captionText}`}\r\n </Typography>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default MetricCard;\r\n"],"names":["TREND_UP_COLOR","TREND_DOWN_COLOR","getTrendDirection","valueOrText","text","String","trim","includes","match","n","Number","getTrendColor","_ref","arguments","length","undefined","_ref$up","up","_ref$down","down","_ref$neutral","neutral","direction","MetricCard","title","value","caption","icon","active","warning","error","onClick","_ref$sx","sx","_ref$titleSx","titleSx","_ref$valueSx","valueSx","_ref$captionSx","captionSx","_ref$avatarSx","avatarSx","captionText","isPercentCaption","trendDirection","hasTrendArrow","trendPrefix","captionColor","_jsxs","Box","_objectSpread","bgcolor","border","concat","borderRadius","p","xs","md","paddingTop","paddingBottom","height","boxShadow","children","Stack","justifyContent","alignItems","_jsx","Typography","color","fontSize","fontWeight","letterSpacing","Avatar","width","lineHeight"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,cAAc,GAAG,SAAS;AAChC,IAAMC,gBAAgB,GAAG,SAAS;AAElC,SAASC,iBAAiBA,CAACC,WAAW,EAAE;AAC7C,EAAA,IAAMC,IAAI,GAAGC,MAAM,CAACF,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,GAAXA,WAAW,GAAI,EAAE,CAAC,CAACG,IAAI,EAAE;EAC7C,IAAIF,IAAI,CAACG,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,MAAM;EACrC,IAAIH,IAAI,CAACG,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,IAAI;AAEnC,EAAA,IAAMC,KAAK,GAAGJ,IAAI,CAACI,KAAK,CAAC,eAAe,CAAC;AACzC,EAAA,IAAI,CAACA,KAAK,EAAE,OAAO,SAAS;EAE5B,IAAMC,CAAC,GAAGC,MAAM,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1B,EAAA,IAAIC,CAAC,GAAG,CAAC,EAAE,OAAO,MAAM;AACxB,EAAA,IAAIA,CAAC,GAAG,CAAC,EAAE,OAAO,IAAI;AACtB,EAAA,OAAO,SAAS;AAClB;AAEO,SAASE,aAAaA,CAC3BR,WAAW,EAEX;AAAA,EAAA,IAAAS,IAAA,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GADiE,EAAE;IAAAG,OAAA,GAAAJ,IAAA,CAAjEK,EAAE;AAAFA,IAAAA,EAAE,GAAAD,OAAA,KAAA,MAAA,GAAGhB,cAAc,GAAAgB,OAAA;IAAAE,SAAA,GAAAN,IAAA,CAAEO,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAGjB,gBAAgB,GAAAiB,SAAA;IAAAE,YAAA,GAAAR,IAAA,CAAES,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAGH,EAAE,GAAAG,YAAA;AAE5D,EAAA,IAAME,SAAS,GAAGpB,iBAAiB,CAACC,WAAW,CAAC;AAChD,EAAA,IAAImB,SAAS,KAAK,MAAM,EAAE,OAAOH,IAAI;AACrC,EAAA,IAAIG,SAAS,KAAK,IAAI,EAAE,OAAOL,EAAE;AACjC,EAAA,OAAOI,OAAO;AAChB;;ACrBA,IAAME,UAAU,GAAG,SAAbA,UAAUA,CAAAX,IAAA,EAcV;AAAA,EAAA,IAbJY,KAAK,GAAAZ,IAAA,CAALY,KAAK;IACLC,KAAK,GAAAb,IAAA,CAALa,KAAK;IACLC,OAAO,GAAAd,IAAA,CAAPc,OAAO;IACPC,IAAI,GAAAf,IAAA,CAAJe,IAAI;IACJC,MAAM,GAAAhB,IAAA,CAANgB,MAAM;IACNC,OAAO,GAAAjB,IAAA,CAAPiB,OAAO;IACPC,KAAK,GAAAlB,IAAA,CAALkB,KAAK;IACLC,OAAO,GAAAnB,IAAA,CAAPmB,OAAO;IAAAC,OAAA,GAAApB,IAAA,CACPqB,EAAE;AAAFA,IAAAA,EAAE,GAAAD,OAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,OAAA;IAAAE,YAAA,GAAAtB,IAAA,CACPuB,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;IAAAE,YAAA,GAAAxB,IAAA,CACZyB,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;IAAAE,cAAA,GAAA1B,IAAA,CACZ2B,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;IAAAE,aAAA,GAAA5B,IAAA,CACd6B,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;EAEb,IAAME,WAAW,GAAGrC,MAAM,CAACqB,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAPA,OAAO,GAAI,EAAE,CAAC;AACzC,EAAA,IAAMiB,gBAAgB,GAAGD,WAAW,CAACnC,QAAQ,CAAC,GAAG,CAAC;EAClD,IAAMqC,cAAc,GAAGD,gBAAgB,GAAGzC,iBAAiB,CAACwC,WAAW,CAAC,GAAG,SAAS;AACpF,EAAA,IAAMG,aAAa,GAAGH,WAAW,CAACnC,QAAQ,CAAC,GAAG,CAAC,IAAImC,WAAW,CAACnC,QAAQ,CAAC,GAAG,CAAC;EAC5E,IAAMuC,WAAW,GACfD,aAAa,IAAI,CAACF,gBAAgB,GAC9B,EAAE,GACFC,cAAc,KAAK,MAAM,GACvB,IAAI,GACJA,cAAc,KAAK,IAAI,GACrB,IAAI,GACJ,EAAE;EACZ,IAAMG,YAAY,GAAGL,WAAW,CAACnC,QAAQ,CAAC,QAAQ,CAAC,GAC/C,SAAS,GACTuB,KAAK,GACH,SAAS,GACTa,gBAAgB,GACdhC,aAAa,CAAC+B,WAAW,EAAE;AAAEzB,IAAAA,EAAE,EAAE,SAAS;AAAEE,IAAAA,IAAI,EAAE;GAAW,CAAC,GAC9D,SAAS;EAEjB,oBACE6B,eAAA,CAACC,YAAG,EAAA;AACJhB,IAAAA,EAAE,EAAAiB,cAAA,CAAA;AACAC,MAAAA,OAAO,EAAE,MAAM;AACfC,MAAAA,MAAM,iBAAAC,MAAA,CAAiBzB,MAAM,GAAG,SAAS,GAAGC,OAAO,GAAG,SAAS,GAAGC,KAAK,GAAG,SAAS,GAAG,SAAS,CAAE;AACjGwB,MAAAA,YAAY,EAAE,MAAM;AACpBC,MAAAA,CAAC,EAAE;AAAEC,QAAAA,EAAE,EAAE,IAAI;AAAEC,QAAAA,EAAE,EAAE;OAAG;AACtBC,MAAAA,UAAU,EAAE,iBAAiB;AAAEC,MAAAA,aAAa,EAAE,iBAAiB;AAC/DC,MAAAA,MAAM,EAAE,EAAE;AACVC,MAAAA,SAAS,EAAE;AAAoC,KAAA,EAC5C5B,EAAE,CACL;AACFF,IAAAA,OAAO,EAAEA,OAAQ;IAAA+B,QAAA,EAAA,cAEjBd,eAAA,CAACe,cAAK,EAAA;AACJzC,MAAAA,SAAS,EAAC,KAAK;AACf0C,MAAAA,cAAc,EAAC,eAAe;AAC9BC,MAAAA,UAAU,EAAC,QAAQ;MAAAH,QAAA,EAAA,cAEnBI,cAAA,CAACC,mBAAU,EAAA;AACTlC,QAAAA,EAAE,EAAAiB,cAAA,CAAA;AACAkB,UAAAA,KAAK,EAAExC,MAAM,GAAG,SAAS,GAAG,SAAS;AACrCyC,UAAAA,QAAQ,EAAE,EAAE;AACZC,UAAAA,UAAU,EAAE,GAAG;AACfC,UAAAA,aAAa,EAAE;AAAC,SAAA,EACbpC,OAAO,CACV;AAAA2B,QAAAA,QAAA,EAEDtC;AAAK,OACI,CAAC,eACb0C,cAAA,CAACM,eAAM,EAAA;AACLvC,QAAAA,EAAE,EAAAiB,cAAA,CAAA;AACAuB,UAAAA,KAAK,EAAE,EAAE;AACTb,UAAAA,MAAM,EAAE,EAAE;UACVT,OAAO,EAAEtB,OAAO,GAAG,SAAS,GAAGC,KAAK,GAAG,SAAS,GAAG,SAAS;UAC5DsC,KAAK,EAAEvC,OAAO,GAAG,SAAS,GAAGC,KAAK,GAAG,SAAS,GAAG,SAAS;AAC1DyB,UAAAA,CAAC,EAAE,KAAK;AACR,UAAA,2BAA2B,EAAE;AAC3BkB,YAAAA,KAAK,EAAE,MAAM;AACbb,YAAAA,MAAM,EAAE;AACV;AAAC,SAAA,EACEnB,QAAQ,CACX;AAAAqB,QAAAA,QAAA,EAEDnC;AAAI,OACC,CAAC;AAAA,KACJ,CAAC,eACRuC,cAAA,CAACC,mBAAU,EAAA;AACTlC,MAAAA,EAAE,EAAAiB,cAAA,CAAA;AACAmB,QAAAA,QAAQ,EAAE,EAAE;AACZC,QAAAA,UAAU,EAAE,GAAG;AACfF,QAAAA,KAAK,EAAExC,MAAM,GAAG,SAAS,GAAG,SAAS;AACrC8C,QAAAA,UAAU,EAAE;AAAI,OAAA,EACbrC,OAAO,CACV;AAAAyB,MAAAA,QAAA,EAEDrC;AAAK,KACI,CAAC,eACXyC,cAAA,CAACC,mBAAU,EAAA;AACTlC,MAAAA,EAAE,EAAAiB,cAAA,CAAA;AACAmB,QAAAA,QAAQ,EAAE,EAAE;AACZC,QAAAA,UAAU,EAAE,GAAG;AACfF,QAAAA,KAAK,EAAErB;AAAY,OAAA,EAChBR,SAAS,CACZ;AAAAuB,MAAAA,QAAA,KAAAT,MAAA,CAEEP,WAAW,CAAA,CAAAO,MAAA,CAAGX,WAAW;AAAA,KACnB,CAAC;AAAA,GACV,CAAC;AAEV;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MetricCard.es.js","sources":["../src/config/helper.js","../src/components/advanced/MetricCard/index.jsx"],"sourcesContent":["export const TREND_UP_COLOR = \"#22C55E\";\r\nexport const TREND_DOWN_COLOR = \"#EF4444\";\r\n\r\nexport function getTrendDirection(valueOrText) {\r\n const text = String(valueOrText ?? \"\").trim();\r\n if (text.includes(\"▼\")) return \"down\";\r\n if (text.includes(\"▲\")) return \"up\";\r\n\r\n const match = text.match(/-?\\d+(\\.\\d+)?/);\r\n if (!match) return \"neutral\";\r\n\r\n const n = Number(match[0]);\r\n if (n < 0) return \"down\";\r\n if (n > 0) return \"up\";\r\n return \"neutral\";\r\n}\r\n\r\nexport function getTrendColor(\r\n valueOrText,\r\n { up = TREND_UP_COLOR, down = TREND_DOWN_COLOR, neutral = up } = {}\r\n) {\r\n const direction = getTrendDirection(valueOrText);\r\n if (direction === \"down\") return down;\r\n if (direction === \"up\") return up;\r\n return neutral;\r\n}\r\n\r\nexport function getTrendArrow(valueOrText) {\r\n const direction = getTrendDirection(valueOrText);\r\n if (direction === \"down\") return \"▼\";\r\n if (direction === \"up\") return \"▲\";\r\n return \"\";\r\n}\r\n\r\nexport function formatCurrency(value) {\r\n return `$${Number(value ?? 0).toFixed(2)}`;\r\n}\r\n\r\nexport function formatNumber(num) {\r\n return Number(num ?? 0).toFixed(2);\r\n}","import { Avatar, Box, Stack, Typography } from \"@mui/material\";\r\nimport { getTrendColor, getTrendDirection } from \"../../../config/helper\";\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 sx = {},\r\n titleSx = {},\r\n valueSx = {},\r\n captionSx = {},\r\n avatarSx = {},\r\n}) => {\r\n const captionText = String(caption ?? \"\");\r\n const isPercentCaption = captionText.includes(\"%\");\r\n const trendDirection = isPercentCaption ? getTrendDirection(captionText) : \"neutral\";\r\n const hasTrendArrow = captionText.includes(\"▼\") || captionText.includes(\"▲\");\r\n const trendPrefix =\r\n hasTrendArrow || !isPercentCaption\r\n ? \"\"\r\n : trendDirection === \"down\"\r\n ? \"▼ \"\r\n : trendDirection === \"up\"\r\n ? \"▲ \"\r\n : \"\";\r\n const captionColor = captionText.includes(\"failed\")\r\n ? \"#4F46E5\"\r\n : error\r\n ? \"#ef4444\"\r\n : isPercentCaption\r\n ? getTrendColor(captionText, { up: \"#0B8F61\", down: \"#ef4444\" })\r\n : \"#0B8F61\";\r\n\r\n return (\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 ...sx,\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 ...titleSx,\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 p: 0.625,\r\n \"& .MuiSvgIcon-root, & svg\": {\r\n width: \"100%\",\r\n height: \"100%\",\r\n },\r\n ...avatarSx,\r\n }}\r\n >\r\n {icon}\r\n </Avatar>\r\n </Stack>\r\n <Typography\r\n sx={{\r\n fontSize: 22,\r\n fontWeight: 700,\r\n color: active ? \"#4F46E5\" : \"#050509\",\r\n lineHeight: 1.15,\r\n ...valueSx,\r\n }}\r\n >\r\n {value}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: 12,\r\n fontWeight: 500,\r\n color: captionColor,\r\n ...captionSx,\r\n }}\r\n >\r\n {`${trendPrefix}${captionText}`}\r\n </Typography>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default MetricCard;\r\n"],"names":["TREND_UP_COLOR","TREND_DOWN_COLOR","getTrendDirection","valueOrText","text","String","trim","includes","match","n","Number","getTrendColor","_ref","arguments","length","undefined","_ref$up","up","_ref$down","down","_ref$neutral","neutral","direction","MetricCard","title","value","caption","icon","active","warning","error","onClick","_ref$sx","sx","_ref$titleSx","titleSx","_ref$valueSx","valueSx","_ref$captionSx","captionSx","_ref$avatarSx","avatarSx","captionText","isPercentCaption","trendDirection","hasTrendArrow","trendPrefix","captionColor","_jsxs","Box","_objectSpread","bgcolor","border","concat","borderRadius","p","xs","md","paddingTop","paddingBottom","height","boxShadow","children","Stack","justifyContent","alignItems","_jsx","Typography","color","fontSize","fontWeight","letterSpacing","Avatar","width","lineHeight"],"mappings":"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"}
1
+ {"version":3,"file":"MetricCard.es.js","sources":["../src/config/helper.js","../src/components/advanced/MetricCard/index.jsx"],"sourcesContent":["export const TREND_UP_COLOR = \"#22C55E\";\r\nexport const TREND_DOWN_COLOR = \"#EF4444\";\r\n\r\nexport function getTrendDirection(valueOrText) {\r\n const text = String(valueOrText ?? \"\").trim();\r\n if (text.includes(\"▼\")) return \"down\";\r\n if (text.includes(\"▲\")) return \"up\";\r\n\r\n const match = text.match(/-?\\d+(\\.\\d+)?/);\r\n if (!match) return \"neutral\";\r\n\r\n const n = Number(match[0]);\r\n if (n < 0) return \"down\";\r\n if (n > 0) return \"up\";\r\n return \"neutral\";\r\n}\r\n\r\nexport function getTrendColor(\r\n valueOrText,\r\n { up = TREND_UP_COLOR, down = TREND_DOWN_COLOR, neutral = up } = {}\r\n) {\r\n const direction = getTrendDirection(valueOrText);\r\n if (direction === \"down\") return down;\r\n if (direction === \"up\") return up;\r\n return neutral;\r\n}\r\n\r\nexport function getTrendArrow(valueOrText) {\r\n const direction = getTrendDirection(valueOrText);\r\n if (direction === \"down\") return \"▼\";\r\n if (direction === \"up\") return \"▲\";\r\n return \"\";\r\n}\r\n\r\nexport function formatCurrency(value) {\r\n return `$${Number(value ?? 0).toLocaleString(\"en-US\")}`;\r\n}\r\n\r\nexport 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 { Avatar, Box, Stack, Typography } from \"@mui/material\";\r\nimport { getTrendColor, getTrendDirection } from \"../../../config/helper\";\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 sx = {},\r\n titleSx = {},\r\n valueSx = {},\r\n captionSx = {},\r\n avatarSx = {},\r\n}) => {\r\n const captionText = String(caption ?? \"\");\r\n const isPercentCaption = captionText.includes(\"%\");\r\n const trendDirection = isPercentCaption ? getTrendDirection(captionText) : \"neutral\";\r\n const hasTrendArrow = captionText.includes(\"▼\") || captionText.includes(\"▲\");\r\n const trendPrefix =\r\n hasTrendArrow || !isPercentCaption\r\n ? \"\"\r\n : trendDirection === \"down\"\r\n ? \"▼ \"\r\n : trendDirection === \"up\"\r\n ? \"▲ \"\r\n : \"\";\r\n const captionColor = captionText.includes(\"failed\")\r\n ? \"#4F46E5\"\r\n : error\r\n ? \"#ef4444\"\r\n : isPercentCaption\r\n ? getTrendColor(captionText, { up: \"#0B8F61\", down: \"#ef4444\" })\r\n : \"#0B8F61\";\r\n\r\n return (\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 ...sx,\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 ...titleSx,\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 p: 0.625,\r\n \"& .MuiSvgIcon-root, & svg\": {\r\n width: \"100%\",\r\n height: \"100%\",\r\n },\r\n ...avatarSx,\r\n }}\r\n >\r\n {icon}\r\n </Avatar>\r\n </Stack>\r\n <Typography\r\n sx={{\r\n fontSize: 22,\r\n fontWeight: 700,\r\n color: active ? \"#4F46E5\" : \"#050509\",\r\n lineHeight: 1.15,\r\n ...valueSx,\r\n }}\r\n >\r\n {value}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: 12,\r\n fontWeight: 500,\r\n color: captionColor,\r\n ...captionSx,\r\n }}\r\n >\r\n {`${trendPrefix}${captionText}`}\r\n </Typography>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default MetricCard;\r\n"],"names":["TREND_UP_COLOR","TREND_DOWN_COLOR","getTrendDirection","valueOrText","text","String","trim","includes","match","n","Number","getTrendColor","_ref","arguments","length","undefined","_ref$up","up","_ref$down","down","_ref$neutral","neutral","direction","MetricCard","title","value","caption","icon","active","warning","error","onClick","_ref$sx","sx","_ref$titleSx","titleSx","_ref$valueSx","valueSx","_ref$captionSx","captionSx","_ref$avatarSx","avatarSx","captionText","isPercentCaption","trendDirection","hasTrendArrow","trendPrefix","captionColor","_jsxs","Box","_objectSpread","bgcolor","border","concat","borderRadius","p","xs","md","paddingTop","paddingBottom","height","boxShadow","children","Stack","justifyContent","alignItems","_jsx","Typography","color","fontSize","fontWeight","letterSpacing","Avatar","width","lineHeight"],"mappings":"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"}
@@ -137,7 +137,7 @@ function getTrendArrow(valueOrText) {
137
137
  return "";
138
138
  }
139
139
  function formatCurrency(value) {
140
- return "$".concat(Number(value !== null && value !== void 0 ? value : 0).toFixed(2));
140
+ return "$".concat(Number(value !== null && value !== void 0 ? value : 0).toLocaleString("en-US"));
141
141
  }
142
142
 
143
143
  var RevenueChart = function RevenueChart(_ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"RenderChartCard.cjs.js","sources":["../src/config/helper.js","../src/components/RevenueChart.jsx","../src/components/MetricSelector.jsx","../src/components/UI/RenderChartCard/index.jsx"],"sourcesContent":["export const TREND_UP_COLOR = \"#22C55E\";\r\nexport const TREND_DOWN_COLOR = \"#EF4444\";\r\n\r\nexport function getTrendDirection(valueOrText) {\r\n const text = String(valueOrText ?? \"\").trim();\r\n if (text.includes(\"▼\")) return \"down\";\r\n if (text.includes(\"▲\")) return \"up\";\r\n\r\n const match = text.match(/-?\\d+(\\.\\d+)?/);\r\n if (!match) return \"neutral\";\r\n\r\n const n = Number(match[0]);\r\n if (n < 0) return \"down\";\r\n if (n > 0) return \"up\";\r\n return \"neutral\";\r\n}\r\n\r\nexport function getTrendColor(\r\n valueOrText,\r\n { up = TREND_UP_COLOR, down = TREND_DOWN_COLOR, neutral = up } = {}\r\n) {\r\n const direction = getTrendDirection(valueOrText);\r\n if (direction === \"down\") return down;\r\n if (direction === \"up\") return up;\r\n return neutral;\r\n}\r\n\r\nexport function getTrendArrow(valueOrText) {\r\n const direction = getTrendDirection(valueOrText);\r\n if (direction === \"down\") return \"▼\";\r\n if (direction === \"up\") return \"▲\";\r\n return \"\";\r\n}\r\n\r\nexport function formatCurrency(value) {\r\n return `$${Number(value ?? 0).toFixed(2)}`;\r\n}\r\n\r\nexport function formatNumber(num) {\r\n return Number(num ?? 0).toFixed(2);\r\n}","import React from 'react';\r\nimport ReactApexChart from 'react-apexcharts';\r\nimport { formatCurrency } from '../config/helper';\r\n\r\nconst RevenueChart = ({ metric, data, series, categories, height = 350, stacked = false, type = \"area\", id = \"revenue-chart\", colors, showLegend = true, isAmount = false, xAxisTickAmount = 5 }) => {\r\n const isRadial = type === 'donut' || type === 'pie';\r\n const isCurrency = isAmount || metric?.toLowerCase() === 'revenue';\r\n const isPercent = metric?.toLowerCase() === 'percent';\r\n\r\n const formatValue = (value) => {\r\n if (isCurrency) return formatCurrency(value);\r\n if (isPercent) return `${Number(value ?? 0).toLocaleString('en-US')}%`;\r\n return Number(value ?? 0).toLocaleString('en-US');\r\n };\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 || ['#4F46E5', '#4B4BC2', '#7E7EE6', '#A3A3F0', '#C8C8FA'],\r\n tooltip: {\r\n theme: 'light',\r\n y: {\r\n formatter: (value) => formatValue(value)\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 isCurrency ? formatCurrency(Math.round(sum)) : Math.round(sum).toLocaleString('en-US');\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: type === 'line' ? 'solid' : 'gradient',\r\n opacity: type === 'line' ? 0 : 1,\r\n gradient: type === 'line' ? undefined : {\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 type: 'category',\r\n categories: categories || [],\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n tickAmount: xAxisTickAmount,\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 return val;\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) => formatValue(value)\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 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 {\r\n Box,\r\n Card,\r\n CardContent,\r\n Grid,\r\n IconButton,\r\n Typography,\r\n useMediaQuery,\r\n useTheme,\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\nimport { getTrendArrow, getTrendColor } from \"../../../config/helper\";\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 numberOfDays = 30,\r\n type = \"area\",\r\n sx = {},\r\n cardSx = {},\r\n contentSx = {},\r\n}) => {\r\n const theme = useTheme();\r\n const isMobile = useMediaQuery(theme.breakpoints.down(\"sm\"));\r\n const daysLabel = `${numberOfDays} day${numberOfDays === 1 ? \"\" : \"s\"}`;\r\n const trendText = item.trend || \"18%\";\r\n const trendColor = getTrendColor(trendText, { up: \"#054835ff\", down: \"#EF4444\" });\r\n const trendArrow = getTrendArrow(trendText);\r\n const trendBadgeBg = trendColor === \"#EF4444\" ? \"#fee2e2\" : \"#8df3be9a\";\r\n\r\n const resolveChartMetric = () => {\r\n if (\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 ) {\r\n return \"Percent\";\r\n }\r\n if (item.isAmount || metric?.toLowerCase() === \"revenue\") {\r\n return \"Revenue\";\r\n }\r\n if (item.stacked && item.label.includes(\"Traffic\")) {\r\n return \"Visitors\";\r\n }\r\n if (item.stacked) {\r\n return \"Donors\";\r\n }\r\n return metric;\r\n };\r\n\r\n const chartMetric = resolveChartMetric();\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\", ...sx }}\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 ...cardSx,\r\n }}\r\n >\r\n <CardContent\r\n sx={{\r\n p: item.exportMode ? 2 : 3,\r\n flexGrow: 1,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...contentSx,\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: item.exportMode ? 2 : isPremium ? 1.5 : 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 lineHeight: 1.15,\r\n }}\r\n >\r\n {item.label}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 400,\r\n fontSize: \"12px\",\r\n lineHeight: 1.15,\r\n display: \"block\",\r\n mb: 1.5,\r\n }}\r\n >\r\n {item.subtitle || `Last ${daysLabel} - 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: trendBadgeBg,\r\n color: trendColor,\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 {trendArrow && <span>{trendArrow}</span>}\r\n {trendText === \"18%\" && !item.trend ? \"18% vs last month\" : trendText}\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: item.exportMode ? \"flex\" : { xs: \"none\", sm: \"flex\" },\r\n gap: 2,\r\n alignItems: \"center\",\r\n }}\r\n >\r\n {[\r\n { label: \"Paid Ads\", color: \"#4F46E5\" },\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={chartMetric}\r\n isAmount={item.isAmount}\r\n data={item.data}\r\n series={item.series}\r\n categories={item.categories}\r\n height={item.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 xAxisTickAmount={isMobile ? 3 : 5}\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: \"#4F46E5\" },\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"],"names":["TREND_UP_COLOR","TREND_DOWN_COLOR","getTrendDirection","valueOrText","text","String","trim","includes","match","n","Number","getTrendColor","_ref","arguments","length","undefined","_ref$up","up","_ref$down","down","_ref$neutral","neutral","direction","getTrendArrow","formatCurrency","value","concat","toFixed","RevenueChart","metric","data","series","categories","_ref$height","height","_ref$stacked","stacked","_ref$type","type","_ref$id","id","colors","_ref$showLegend","showLegend","_ref$isAmount","isAmount","_ref$xAxisTickAmount","xAxisTickAmount","isRadial","isCurrency","toLowerCase","isPercent","formatValue","toLocaleString","baseOptions","chart","toolbar","show","sparkline","enabled","animations","tooltip","theme","y","formatter","radialOptions","_objectSpread","labels","stroke","width","dataLabels","legend","position","horizontalAlign","plotOptions","pie","donut","size","total","label","w","sum","globals","seriesTotals","reduce","a","b","Math","round","linearOptions","curve","fill","opacity","gradient","shadeIntensity","opacityFrom","opacityTo","stops","xaxis","axisBorder","axisTicks","tickAmount","rotate","rotateAlways","hideOverlappingLabels","style","fontSize","val","yaxis","grid","borderColor","strokeDashArray","bar","borderRadius","columnWidth","chartOptions","chartSeries","_series$","processedData","Array","isArray","map","v","_typeof","name","_jsx","ReactApexChart","options","MetricSelector","onMetricChange","_ref$options","_ref$label","_React$useState","React","useState","_React$useState2","_slicedToArray","anchorEl","setAnchorEl","open","Boolean","handleClick","event","currentTarget","handleClose","_jsxs","Box","sx","display","gap","children","Button","onClick","variant","color","textTransform","fontWeight","px","bgcolor","Menu","onClose","MenuListProps","PaperProps","mt","boxShadow","minWidth","option","MenuItem","RenderChartCard","item","index","_ref$isPrimary","isPrimary","_ref$isPremium","isPremium","setMetric","_ref$md","md","_ref$numberOfDays","numberOfDays","_ref$sx","_ref$cardSx","cardSx","_ref$contentSx","contentSx","useTheme","isMobile","useMediaQuery","breakpoints","daysLabel","trendText","trend","trendColor","trendArrow","trendBadgeBg","resolveChartMetric","chartMetric","Grid","xs","paddingTop","Card","flexDirection","border","CardContent","p","exportMode","flexGrow","justifyContent","alignItems","mb","textAlign","Typography","lineHeight","subtitle","JSON","stringify","py","letterSpacing","subValue","hideControls","sm","leg","_Fragment","showSelector","IconButton","MoreHorizIcon","minHeight","flexWrap","marginTop","footer","pt","borderTop","left","right"],"mappings":"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"}
1
+ {"version":3,"file":"RenderChartCard.cjs.js","sources":["../src/config/helper.js","../src/components/RevenueChart.jsx","../src/components/MetricSelector.jsx","../src/components/UI/RenderChartCard/index.jsx"],"sourcesContent":["export const TREND_UP_COLOR = \"#22C55E\";\r\nexport const TREND_DOWN_COLOR = \"#EF4444\";\r\n\r\nexport function getTrendDirection(valueOrText) {\r\n const text = String(valueOrText ?? \"\").trim();\r\n if (text.includes(\"▼\")) return \"down\";\r\n if (text.includes(\"▲\")) return \"up\";\r\n\r\n const match = text.match(/-?\\d+(\\.\\d+)?/);\r\n if (!match) return \"neutral\";\r\n\r\n const n = Number(match[0]);\r\n if (n < 0) return \"down\";\r\n if (n > 0) return \"up\";\r\n return \"neutral\";\r\n}\r\n\r\nexport function getTrendColor(\r\n valueOrText,\r\n { up = TREND_UP_COLOR, down = TREND_DOWN_COLOR, neutral = up } = {}\r\n) {\r\n const direction = getTrendDirection(valueOrText);\r\n if (direction === \"down\") return down;\r\n if (direction === \"up\") return up;\r\n return neutral;\r\n}\r\n\r\nexport function getTrendArrow(valueOrText) {\r\n const direction = getTrendDirection(valueOrText);\r\n if (direction === \"down\") return \"▼\";\r\n if (direction === \"up\") return \"▲\";\r\n return \"\";\r\n}\r\n\r\nexport function formatCurrency(value) {\r\n return `$${Number(value ?? 0).toLocaleString(\"en-US\")}`;\r\n}\r\n\r\nexport 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 React from 'react';\r\nimport ReactApexChart from 'react-apexcharts';\r\nimport { formatCurrency } from '../config/helper';\r\n\r\nconst RevenueChart = ({ metric, data, series, categories, height = 350, stacked = false, type = \"area\", id = \"revenue-chart\", colors, showLegend = true, isAmount = false, xAxisTickAmount = 5 }) => {\r\n const isRadial = type === 'donut' || type === 'pie';\r\n const isCurrency = isAmount || metric?.toLowerCase() === 'revenue';\r\n const isPercent = metric?.toLowerCase() === 'percent';\r\n\r\n const formatValue = (value) => {\r\n if (isCurrency) return formatCurrency(value);\r\n if (isPercent) return `${Number(value ?? 0).toLocaleString('en-US')}%`;\r\n return Number(value ?? 0).toLocaleString('en-US');\r\n };\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 || ['#4F46E5', '#4B4BC2', '#7E7EE6', '#A3A3F0', '#C8C8FA'],\r\n tooltip: {\r\n theme: 'light',\r\n y: {\r\n formatter: (value) => formatValue(value)\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 isCurrency ? formatCurrency(Math.round(sum)) : Math.round(sum).toLocaleString('en-US');\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: type === 'line' ? 'solid' : 'gradient',\r\n opacity: type === 'line' ? 0 : 1,\r\n gradient: type === 'line' ? undefined : {\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 type: 'category',\r\n categories: categories || [],\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n tickAmount: xAxisTickAmount,\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 return val;\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) => formatValue(value)\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 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 {\r\n Box,\r\n Card,\r\n CardContent,\r\n Grid,\r\n IconButton,\r\n Typography,\r\n useMediaQuery,\r\n useTheme,\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\nimport { getTrendArrow, getTrendColor } from \"../../../config/helper\";\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 numberOfDays = 30,\r\n type = \"area\",\r\n sx = {},\r\n cardSx = {},\r\n contentSx = {},\r\n}) => {\r\n const theme = useTheme();\r\n const isMobile = useMediaQuery(theme.breakpoints.down(\"sm\"));\r\n const daysLabel = `${numberOfDays} day${numberOfDays === 1 ? \"\" : \"s\"}`;\r\n const trendText = item.trend || \"18%\";\r\n const trendColor = getTrendColor(trendText, { up: \"#054835ff\", down: \"#EF4444\" });\r\n const trendArrow = getTrendArrow(trendText);\r\n const trendBadgeBg = trendColor === \"#EF4444\" ? \"#fee2e2\" : \"#8df3be9a\";\r\n\r\n const resolveChartMetric = () => {\r\n if (\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 ) {\r\n return \"Percent\";\r\n }\r\n if (item.isAmount || metric?.toLowerCase() === \"revenue\") {\r\n return \"Revenue\";\r\n }\r\n if (item.stacked && item.label.includes(\"Traffic\")) {\r\n return \"Visitors\";\r\n }\r\n if (item.stacked) {\r\n return \"Donors\";\r\n }\r\n return metric;\r\n };\r\n\r\n const chartMetric = resolveChartMetric();\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\", ...sx }}\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 ...cardSx,\r\n }}\r\n >\r\n <CardContent\r\n sx={{\r\n p: item.exportMode ? 2 : 3,\r\n flexGrow: 1,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...contentSx,\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: item.exportMode ? 2 : isPremium ? 1.5 : 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 lineHeight: 1.15,\r\n }}\r\n >\r\n {item.label}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 400,\r\n fontSize: \"12px\",\r\n lineHeight: 1.15,\r\n display: \"block\",\r\n mb: 1.5,\r\n }}\r\n >\r\n {item.subtitle || `Last ${daysLabel} - 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: trendBadgeBg,\r\n color: trendColor,\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 {trendArrow && <span>{trendArrow}</span>}\r\n {trendText === \"18%\" && !item.trend ? \"18% vs last month\" : trendText}\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: item.exportMode ? \"flex\" : { xs: \"none\", sm: \"flex\" },\r\n gap: 2,\r\n alignItems: \"center\",\r\n }}\r\n >\r\n {[\r\n { label: \"Paid Ads\", color: \"#4F46E5\" },\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={chartMetric}\r\n isAmount={item.isAmount}\r\n data={item.data}\r\n series={item.series}\r\n categories={item.categories}\r\n height={item.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 xAxisTickAmount={isMobile ? 3 : 5}\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: \"#4F46E5\" },\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"],"names":["TREND_UP_COLOR","TREND_DOWN_COLOR","getTrendDirection","valueOrText","text","String","trim","includes","match","n","Number","getTrendColor","_ref","arguments","length","undefined","_ref$up","up","_ref$down","down","_ref$neutral","neutral","direction","getTrendArrow","formatCurrency","value","concat","toLocaleString","RevenueChart","metric","data","series","categories","_ref$height","height","_ref$stacked","stacked","_ref$type","type","_ref$id","id","colors","_ref$showLegend","showLegend","_ref$isAmount","isAmount","_ref$xAxisTickAmount","xAxisTickAmount","isRadial","isCurrency","toLowerCase","isPercent","formatValue","baseOptions","chart","toolbar","show","sparkline","enabled","animations","tooltip","theme","y","formatter","radialOptions","_objectSpread","labels","stroke","width","dataLabels","legend","position","horizontalAlign","plotOptions","pie","donut","size","total","label","w","sum","globals","seriesTotals","reduce","a","b","Math","round","linearOptions","curve","fill","opacity","gradient","shadeIntensity","opacityFrom","opacityTo","stops","xaxis","axisBorder","axisTicks","tickAmount","rotate","rotateAlways","hideOverlappingLabels","style","fontSize","val","yaxis","grid","borderColor","strokeDashArray","bar","borderRadius","columnWidth","chartOptions","chartSeries","_series$","processedData","Array","isArray","map","v","_typeof","name","_jsx","ReactApexChart","options","MetricSelector","onMetricChange","_ref$options","_ref$label","_React$useState","React","useState","_React$useState2","_slicedToArray","anchorEl","setAnchorEl","open","Boolean","handleClick","event","currentTarget","handleClose","_jsxs","Box","sx","display","gap","children","Button","onClick","variant","color","textTransform","fontWeight","px","bgcolor","Menu","onClose","MenuListProps","PaperProps","mt","boxShadow","minWidth","option","MenuItem","RenderChartCard","item","index","_ref$isPrimary","isPrimary","_ref$isPremium","isPremium","setMetric","_ref$md","md","_ref$numberOfDays","numberOfDays","_ref$sx","_ref$cardSx","cardSx","_ref$contentSx","contentSx","useTheme","isMobile","useMediaQuery","breakpoints","daysLabel","trendText","trend","trendColor","trendArrow","trendBadgeBg","resolveChartMetric","chartMetric","Grid","xs","paddingTop","Card","flexDirection","border","CardContent","p","exportMode","flexGrow","justifyContent","alignItems","mb","textAlign","Typography","lineHeight","subtitle","JSON","stringify","py","letterSpacing","subValue","hideControls","sm","leg","_Fragment","showSelector","IconButton","MoreHorizIcon","minHeight","flexWrap","marginTop","footer","pt","borderTop","left","right"],"mappings":"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"}
@@ -135,7 +135,7 @@ function getTrendArrow(valueOrText) {
135
135
  return "";
136
136
  }
137
137
  function formatCurrency(value) {
138
- return "$".concat(Number(value !== null && value !== void 0 ? value : 0).toFixed(2));
138
+ return "$".concat(Number(value !== null && value !== void 0 ? value : 0).toLocaleString("en-US"));
139
139
  }
140
140
 
141
141
  var RevenueChart = function RevenueChart(_ref) {