@ammarkhalidfarooq/dashboard-package 0.6.126 → 0.6.128

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -436,13 +436,13 @@ function formatCurrency(value) {
436
436
  }
437
437
  function formatNumber(num) {
438
438
  if (num >= 1000000000) {
439
- return (num / 1000000000).toFixed(1).replace(/\.0$/, "") + "B";
439
+ return (num / 1000000000).toFixed(2).replace(/\.00$/, "") + "B";
440
440
  }
441
441
  if (num >= 1000000) {
442
- return (num / 1000000).toFixed(1).replace(/\.0$/, "") + "M";
442
+ return (num / 1000000).toFixed(2).replace(/\.00$/, "") + "M";
443
443
  }
444
444
  if (num >= 1000) {
445
- return (num / 1000).toFixed(1).replace(/\.0$/, "") + "K";
445
+ return (num / 1000).toFixed(2).replace(/\.00$/, "") + "K";
446
446
  }
447
447
  return (num !== null && num !== void 0 ? num : 0).toString();
448
448
  }
@@ -1021,262 +1021,482 @@ var ActiveCampaignsCard = function ActiveCampaignsCard(_ref) {
1021
1021
  title = _ref$title === void 0 ? "Active campaigns" : _ref$title,
1022
1022
  _ref$subtitle = _ref.subtitle,
1023
1023
  subtitle = _ref$subtitle === void 0 ? "Live fundraisers ranked by velocity" : _ref$subtitle,
1024
- actionLabel = _ref.actionLabel,
1025
1024
  _ref$columns = _ref.columns,
1026
- columns = _ref$columns === void 0 ? ["Campaign", "Raised", "Progress", "Donors", "Avg Gift"] : _ref$columns,
1025
+ columns = _ref$columns === void 0 ? ["Campaign", "Raised", "Progress", "Donors", "Avg gift"] : _ref$columns,
1027
1026
  _ref$rows = _ref.rows,
1028
1027
  rows = _ref$rows === void 0 ? [] : _ref$rows,
1029
1028
  _ref$gridTemplateColu = _ref.gridTemplateColumns,
1030
- gridTemplateColumns = _ref$gridTemplateColu === void 0 ? "3fr 1fr 1.5fr 0.8fr 1fr " : _ref$gridTemplateColu,
1031
- height = _ref.height,
1032
- _ref$compact = _ref.compact,
1033
- compact = _ref$compact === void 0 ? false : _ref$compact,
1034
- _ref$sx = _ref.sx,
1035
- sx = _ref$sx === void 0 ? {} : _ref$sx,
1036
- _ref$headerSx = _ref.headerSx,
1037
- headerSx = _ref$headerSx === void 0 ? {} : _ref$headerSx,
1038
- _ref$tableSx = _ref.tableSx,
1039
- tableSx = _ref$tableSx === void 0 ? {} : _ref$tableSx;
1040
- return /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1041
- sx: _objectSpread2({
1042
- bgcolor: "#fff",
1043
- borderRadius: compact ? 3 : 4,
1044
- border: "1px solid #f0f0f0",
1045
- boxShadow: compact ? "0 2px 12px rgba(0,0,0,0.05)" : "0 4px 24px rgba(0,0,0,0.06)",
1046
- p: compact ? 1.5 : 3,
1047
- height: height
1048
- }, sx),
1049
- children: [/*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1050
- sx: _objectSpread2({
1051
- display: "flex",
1052
- justifyContent: "space-between",
1053
- alignItems: "flex-start",
1054
- mb: compact ? 1.25 : 3
1055
- }, headerSx),
1029
+ gridTemplateColumns = _ref$gridTemplateColu === void 0 ? "3fr 1fr 1.5fr 0.8fr 1fr" : _ref$gridTemplateColu;
1030
+ var theme = material.useTheme();
1031
+ var isMobile = material.useMediaQuery(theme.breakpoints.down("sm"));
1032
+ var isTablet = material.useMediaQuery(theme.breakpoints.between("sm", "md"));
1033
+
1034
+ /* ─── Desktop / Tablet: Grid Table ─── */
1035
+ if (!isMobile) {
1036
+ return /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1037
+ sx: {
1038
+ bgcolor: "#fff",
1039
+ borderRadius: 4,
1040
+ border: "1px solid #f0f0f0",
1041
+ boxShadow: "0 4px 24px rgba(0,0,0,0.06)",
1042
+ p: 3
1043
+ },
1056
1044
  children: [/*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1045
+ sx: {
1046
+ mb: 3
1047
+ },
1057
1048
  children: [/*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1058
1049
  sx: {
1059
1050
  fontWeight: 700,
1060
- fontSize: compact ? "14px" : "18px",
1061
- color: "#000",
1062
- textAlign: "left",
1063
- lineHeight: 1.15
1051
+ fontSize: "18px",
1052
+ color: "#000"
1064
1053
  },
1065
1054
  children: title
1066
1055
  }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1067
1056
  sx: {
1068
- fontSize: compact ? "10px" : "13px",
1069
- color: "rgba(0, 0, 0, 0.4)",
1070
- textAlign: "left",
1071
- lineHeight: 1.15
1057
+ fontSize: "13px",
1058
+ color: "rgba(0,0,0,0.4)",
1059
+ mt: 0.2
1072
1060
  },
1073
1061
  children: subtitle
1074
1062
  })]
1075
- }), actionLabel && /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1063
+ }), /*#__PURE__*/jsxRuntime.jsx(material.Box, {
1076
1064
  sx: {
1077
- fontSize: compact ? "10px" : "13px",
1078
- fontWeight: 600,
1079
- color: "rgb(99, 99, 230)",
1080
- cursor: "pointer"
1065
+ overflowX: "auto"
1081
1066
  },
1082
- children: actionLabel
1067
+ children: /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1068
+ sx: {
1069
+ minWidth: "600px"
1070
+ },
1071
+ children: [/*#__PURE__*/jsxRuntime.jsx(material.Box, {
1072
+ sx: {
1073
+ display: "grid",
1074
+ gridTemplateColumns: gridTemplateColumns,
1075
+ gap: 2,
1076
+ pb: 2.5,
1077
+ borderBottom: "1px solid #f0f0f0"
1078
+ },
1079
+ children: columns.map(function (header, colIdx) {
1080
+ return /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1081
+ sx: {
1082
+ fontSize: "12px",
1083
+ color: "rgba(0,0,0,0.4)",
1084
+ fontWeight: 500,
1085
+ whiteSpace: "nowrap",
1086
+ textAlign: colIdx === 0 ? "left" : "center"
1087
+ },
1088
+ children: header
1089
+ }, header);
1090
+ })
1091
+ }), /*#__PURE__*/jsxRuntime.jsx(material.Box, {
1092
+ sx: {
1093
+ mt: 1
1094
+ },
1095
+ children: rows.map(function (row, idx) {
1096
+ var isDisabled = row.comingSoon;
1097
+ return /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1098
+ sx: {
1099
+ display: "grid",
1100
+ gridTemplateColumns: gridTemplateColumns,
1101
+ gap: 2,
1102
+ py: 1.2,
1103
+ alignItems: "center",
1104
+ borderBottom: idx === rows.length - 1 ? "none" : "1px solid #f5f5f5",
1105
+ opacity: isDisabled ? 0.55 : 1,
1106
+ transition: "opacity 0.2s ease"
1107
+ },
1108
+ children: [/*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1109
+ sx: {
1110
+ display: "flex",
1111
+ alignItems: "center",
1112
+ gap: 1.5,
1113
+ minWidth: 0
1114
+ },
1115
+ children: [row.id && /*#__PURE__*/jsxRuntime.jsx(material.Avatar, {
1116
+ sx: {
1117
+ width: 28,
1118
+ height: 28,
1119
+ fontSize: "10px",
1120
+ fontWeight: 700,
1121
+ bgcolor: row.avatarBg || "#F3F4F6",
1122
+ color: row.avatarColor || "#fff",
1123
+ flexShrink: 0
1124
+ },
1125
+ children: row.id
1126
+ }), /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1127
+ sx: {
1128
+ display: "flex",
1129
+ alignItems: "center",
1130
+ gap: 0.8,
1131
+ flexWrap: "nowrap",
1132
+ minWidth: 0
1133
+ },
1134
+ children: [/*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1135
+ sx: {
1136
+ fontSize: "12px",
1137
+ fontWeight: 700,
1138
+ color: "#000",
1139
+ whiteSpace: "nowrap"
1140
+ },
1141
+ children: row.name
1142
+ }), isDisabled && /*#__PURE__*/jsxRuntime.jsx(material.Box, {
1143
+ sx: {
1144
+ display: "inline-flex",
1145
+ alignItems: "center",
1146
+ px: 0.8,
1147
+ py: 0.2,
1148
+ borderRadius: "100px",
1149
+ bgcolor: "#F3F4F6",
1150
+ border: "1px solid #E5E7EB",
1151
+ flexShrink: 0,
1152
+ whiteSpace: "nowrap"
1153
+ },
1154
+ children: /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1155
+ sx: {
1156
+ fontSize: "8px",
1157
+ fontWeight: 700,
1158
+ color: "#6B7280",
1159
+ letterSpacing: "0.3px",
1160
+ textTransform: "uppercase",
1161
+ whiteSpace: "nowrap"
1162
+ },
1163
+ children: "Coming Soon"
1164
+ })
1165
+ })]
1166
+ })]
1167
+ }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1168
+ sx: {
1169
+ fontSize: "13px",
1170
+ fontWeight: 600,
1171
+ color: isDisabled ? "#9CA3AF" : "#000",
1172
+ whiteSpace: "nowrap",
1173
+ textAlign: "center"
1174
+ },
1175
+ children: row.val1
1176
+ }), row.type === "progress" ? /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1177
+ sx: {
1178
+ display: "flex",
1179
+ alignItems: "center",
1180
+ gap: 1.5,
1181
+ justifyContent: "center"
1182
+ },
1183
+ children: [/*#__PURE__*/jsxRuntime.jsx(material.Box, {
1184
+ sx: {
1185
+ flexGrow: 1,
1186
+ maxWidth: "80px"
1187
+ },
1188
+ children: /*#__PURE__*/jsxRuntime.jsx(material.LinearProgress, {
1189
+ variant: "determinate",
1190
+ value: row.progress,
1191
+ sx: {
1192
+ height: 8,
1193
+ borderRadius: 4,
1194
+ bgcolor: "#F3F4F6",
1195
+ "& .MuiLinearProgress-bar": {
1196
+ borderRadius: 4,
1197
+ bgcolor: row.progressColor || "rgb(99,99,230)"
1198
+ }
1199
+ }
1200
+ })
1201
+ }), /*#__PURE__*/jsxRuntime.jsxs(material.Typography, {
1202
+ sx: {
1203
+ fontSize: "11px",
1204
+ color: "rgba(0,0,0,0.4)",
1205
+ minWidth: "30px",
1206
+ textAlign: "center"
1207
+ },
1208
+ children: [row.progress, "%"]
1209
+ })]
1210
+ }) : /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1211
+ sx: {
1212
+ fontSize: "13px",
1213
+ fontWeight: 600,
1214
+ color: isDisabled ? "#9CA3AF" : "#000",
1215
+ whiteSpace: "nowrap",
1216
+ textAlign: "center"
1217
+ },
1218
+ children: row.val2
1219
+ }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1220
+ sx: {
1221
+ fontSize: "13px",
1222
+ fontWeight: row.highlightVal3 ? 700 : 500,
1223
+ color: isDisabled ? "#9CA3AF" : row.highlightVal3 ? row.val3Color || "#22C55E" : "#000",
1224
+ whiteSpace: "nowrap",
1225
+ textAlign: "center"
1226
+ },
1227
+ children: row.val3
1228
+ }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1229
+ sx: {
1230
+ fontSize: "13px",
1231
+ fontWeight: 500,
1232
+ color: isDisabled ? "#9CA3AF" : "#000",
1233
+ whiteSpace: "nowrap",
1234
+ textAlign: "center"
1235
+ },
1236
+ children: row.val4
1237
+ }), columns.length > 5 && /*#__PURE__*/jsxRuntime.jsx(material.Box, {
1238
+ sx: {
1239
+ display: "flex",
1240
+ justifyContent: "center"
1241
+ },
1242
+ children: row.type === "trend" ? /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1243
+ sx: {
1244
+ display: "flex",
1245
+ alignItems: "center",
1246
+ gap: 0.5
1247
+ },
1248
+ children: [/*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1249
+ sx: {
1250
+ fontSize: "14px",
1251
+ color: row.trendType === "up" ? "#22C55E" : "#EF4444"
1252
+ },
1253
+ children: row.trendType === "up" ? "▲" : "▼"
1254
+ }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1255
+ sx: {
1256
+ fontSize: "12px",
1257
+ color: row.trendType === "up" ? "#22C55E" : "#EF4444",
1258
+ fontWeight: 700,
1259
+ whiteSpace: "nowrap"
1260
+ },
1261
+ children: isTablet ? row.trendType === "up" ? "Up" : "Down" : row.trendLabel
1262
+ })]
1263
+ }) : row.type === "comingSoon" ? /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1264
+ sx: {
1265
+ fontSize: "12px",
1266
+ color: "#9CA3AF",
1267
+ fontWeight: 500,
1268
+ textAlign: "center"
1269
+ },
1270
+ children: "\u2014"
1271
+ }) : /*#__PURE__*/jsxRuntime.jsx(material.Box, {
1272
+ sx: {
1273
+ display: "inline-block",
1274
+ px: 1.5,
1275
+ py: 0.5,
1276
+ borderRadius: "100px",
1277
+ bgcolor: row.statusBg,
1278
+ color: row.statusColor,
1279
+ fontSize: "11px",
1280
+ fontWeight: 700
1281
+ },
1282
+ children: row.status
1283
+ })
1284
+ })]
1285
+ }, idx);
1286
+ })
1287
+ })]
1288
+ })
1083
1289
  })]
1084
- }), /*#__PURE__*/jsxRuntime.jsx(material.Box, {
1085
- sx: _objectSpread2({
1086
- overflowX: compact ? "hidden" : "auto"
1087
- }, tableSx),
1088
- children: /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1290
+ });
1291
+ }
1292
+
1293
+ /* ─── Mobile: Stacked Card Layout ─── */
1294
+ return /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1295
+ sx: {
1296
+ bgcolor: "#fff",
1297
+ borderRadius: 4,
1298
+ border: "1px solid #f0f0f0",
1299
+ boxShadow: "0 4px 24px rgba(0,0,0,0.06)",
1300
+ p: 2
1301
+ },
1302
+ children: [/*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1303
+ sx: {
1304
+ mb: 2
1305
+ },
1306
+ children: [/*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1089
1307
  sx: {
1090
- minWidth: compact ? 0 : "600px"
1308
+ fontWeight: 700,
1309
+ fontSize: "16px",
1310
+ color: "#000"
1091
1311
  },
1092
- children: [/*#__PURE__*/jsxRuntime.jsx(material.Box, {
1312
+ children: title
1313
+ }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1314
+ sx: {
1315
+ fontSize: "11px",
1316
+ color: "rgba(0,0,0,0.4)",
1317
+ mt: 0.2
1318
+ },
1319
+ children: subtitle
1320
+ })]
1321
+ }), /*#__PURE__*/jsxRuntime.jsx(material.Box, {
1322
+ sx: {
1323
+ display: "flex",
1324
+ flexDirection: "column",
1325
+ gap: 1.5
1326
+ },
1327
+ children: rows.map(function (row, idx) {
1328
+ var isDisabled = row.comingSoon;
1329
+ return /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1093
1330
  sx: {
1094
- display: "grid",
1095
- gridTemplateColumns: gridTemplateColumns,
1096
- gap: compact ? 1 : 2,
1097
- pb: compact ? 1 : 2.5,
1098
- borderBottom: "1px solid #f0f0f0"
1331
+ p: 2,
1332
+ borderRadius: 3,
1333
+ border: isDisabled ? "1px dashed #E5E7EB" : "1px solid #F3F4F6",
1334
+ bgcolor: isDisabled ? "#FAFAFA" : "#fff",
1335
+ opacity: isDisabled ? 0.7 : 1,
1336
+ transition: "opacity 0.2s ease"
1099
1337
  },
1100
- children: columns.map(function (header) {
1101
- return /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1338
+ children: [/*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1339
+ sx: {
1340
+ display: "flex",
1341
+ alignItems: "center",
1342
+ gap: 1.5,
1343
+ mb: isDisabled ? 0 : 1.5
1344
+ },
1345
+ children: [row.id && /*#__PURE__*/jsxRuntime.jsx(material.Avatar, {
1102
1346
  sx: {
1103
- fontSize: compact ? "9px" : "12px",
1104
- color: "rgba(0, 0, 0, 0.4)",
1105
- fontWeight: 500,
1106
- textAlign: "left"
1347
+ width: 32,
1348
+ height: 32,
1349
+ fontSize: "11px",
1350
+ fontWeight: 700,
1351
+ bgcolor: row.avatarBg || "#F3F4F6",
1352
+ color: row.avatarColor || "#fff",
1353
+ flexShrink: 0
1107
1354
  },
1108
- children: header
1109
- }, header);
1110
- })
1111
- }), /*#__PURE__*/jsxRuntime.jsx(material.Box, {
1112
- sx: {
1113
- mt: 1
1114
- },
1115
- children: rows.map(function (row, idx) {
1116
- var _row$progress;
1117
- return /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1355
+ children: row.id
1356
+ }), /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1118
1357
  sx: {
1119
- display: "grid",
1120
- gridTemplateColumns: gridTemplateColumns,
1121
- gap: compact ? 1 : 2,
1122
- py: compact ? 0.5 : 1.2,
1358
+ display: "flex",
1123
1359
  alignItems: "center",
1124
- borderBottom: idx === rows.length - 1 ? "none" : "1px solid #f5f5f5"
1360
+ gap: 1,
1361
+ flex: 1,
1362
+ flexWrap: "nowrap"
1125
1363
  },
1126
- children: [/*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1364
+ children: [/*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1127
1365
  sx: {
1128
- display: "flex",
1366
+ fontSize: "14px",
1367
+ fontWeight: 700,
1368
+ color: "#000"
1369
+ },
1370
+ children: row.name
1371
+ }), isDisabled && /*#__PURE__*/jsxRuntime.jsx(material.Box, {
1372
+ sx: {
1373
+ display: "inline-flex",
1129
1374
  alignItems: "center",
1130
- gap: 1.5
1375
+ px: 1,
1376
+ py: 0.3,
1377
+ borderRadius: "100px",
1378
+ bgcolor: "#F3F4F6",
1379
+ border: "1px solid #E5E7EB",
1380
+ flexShrink: 0
1131
1381
  },
1132
- children: [row.id && /*#__PURE__*/jsxRuntime.jsx(material.Avatar, {
1133
- sx: {
1134
- width: compact ? 22 : 28,
1135
- height: compact ? 22 : 28,
1136
- fontSize: compact ? "8px" : "10px",
1137
- fontWeight: 700,
1138
- bgcolor: row.avatarBg || "#F3F4F6",
1139
- color: "rgb(99, 99, 230)"
1140
- },
1141
- children: row.id
1142
- }), row.icon && /*#__PURE__*/jsxRuntime.jsx(material.Box, {
1143
- sx: {
1144
- color: row.iconColor || "inherit",
1145
- display: "flex",
1146
- alignItems: "center"
1147
- },
1148
- children: /*#__PURE__*/jsxRuntime.jsx(row.icon, {
1149
- sx: {
1150
- fontSize: "18px"
1151
- }
1152
- })
1153
- }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1382
+ children: /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1154
1383
  sx: {
1155
- fontSize: compact ? "10px" : "12px",
1384
+ fontSize: "8px",
1156
1385
  fontWeight: 700,
1157
- color: "#000"
1386
+ color: "#6B7280",
1387
+ letterSpacing: "0.3px",
1388
+ textTransform: "uppercase"
1158
1389
  },
1159
- children: row.name
1160
- })]
1390
+ children: "Coming Soon"
1391
+ })
1392
+ })]
1393
+ }), row.type === "trend" && /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1394
+ sx: {
1395
+ display: "flex",
1396
+ alignItems: "center",
1397
+ gap: 0.3,
1398
+ flexShrink: 0
1399
+ },
1400
+ children: [/*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1401
+ sx: {
1402
+ fontSize: "12px",
1403
+ color: row.trendType === "up" ? "#22C55E" : "#EF4444"
1404
+ },
1405
+ children: row.trendType === "up" ? "▲" : "▼"
1161
1406
  }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1162
1407
  sx: {
1163
- fontSize: compact ? "10px" : "13px",
1408
+ fontSize: "11px",
1409
+ color: row.trendType === "up" ? "#22C55E" : "#EF4444",
1410
+ fontWeight: 700
1411
+ },
1412
+ children: row.trendType === "up" ? "Up" : "Down"
1413
+ })]
1414
+ })]
1415
+ }), !isDisabled && /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1416
+ sx: {
1417
+ display: "grid",
1418
+ gridTemplateColumns: "1fr 1fr 1fr 1fr",
1419
+ gap: 1
1420
+ },
1421
+ children: [/*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1422
+ children: [/*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1423
+ sx: {
1424
+ fontSize: "9px",
1425
+ color: "#9CA3AF",
1164
1426
  fontWeight: 600,
1427
+ textTransform: "uppercase",
1428
+ letterSpacing: "0.3px"
1429
+ },
1430
+ children: "Spend"
1431
+ }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1432
+ sx: {
1433
+ fontSize: "13px",
1434
+ fontWeight: 700,
1165
1435
  color: "#000",
1166
- textAlign: "left"
1436
+ mt: 0.3
1167
1437
  },
1168
1438
  children: row.val1
1169
- }), row.type === "progress" ? /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1439
+ })]
1440
+ }), /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1441
+ children: [/*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1170
1442
  sx: {
1171
- display: "flex",
1172
- alignItems: "center",
1173
- gap: 1.5
1443
+ fontSize: "9px",
1444
+ color: "#9CA3AF",
1445
+ fontWeight: 600,
1446
+ textTransform: "uppercase",
1447
+ letterSpacing: "0.3px"
1174
1448
  },
1175
- children: [/*#__PURE__*/jsxRuntime.jsx(material.Box, {
1176
- sx: {
1177
- flexGrow: 1
1178
- },
1179
- children: /*#__PURE__*/jsxRuntime.jsx(material.LinearProgress, {
1180
- variant: "determinate",
1181
- value: Math.min(100, Math.max(0, (_row$progress = row.progress) !== null && _row$progress !== void 0 ? _row$progress : 0)),
1182
- sx: {
1183
- height: compact ? 6 : 8,
1184
- borderRadius: 4,
1185
- bgcolor: "#F3F4F6",
1186
- "& .MuiLinearProgress-bar": {
1187
- borderRadius: 4,
1188
- bgcolor: row.progressColor || "rgb(99, 99, 230)"
1189
- }
1190
- }
1191
- })
1192
- }), /*#__PURE__*/jsxRuntime.jsxs(material.Typography, {
1193
- sx: {
1194
- fontSize: compact ? "9px" : "11px",
1195
- color: "rgba(0, 0, 0, 0.4)",
1196
- minWidth: "30px"
1197
- },
1198
- children: [row.progress, "%"]
1199
- })]
1200
- }) : /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1449
+ children: "Revenue"
1450
+ }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1201
1451
  sx: {
1202
1452
  fontSize: "13px",
1203
- fontWeight: 600,
1453
+ fontWeight: 700,
1204
1454
  color: "#000",
1205
- textAlign: "left"
1455
+ mt: 0.3
1206
1456
  },
1207
1457
  children: row.val2
1458
+ })]
1459
+ }), /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1460
+ children: [/*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1461
+ sx: {
1462
+ fontSize: "9px",
1463
+ color: "#9CA3AF",
1464
+ fontWeight: 600,
1465
+ textTransform: "uppercase",
1466
+ letterSpacing: "0.3px"
1467
+ },
1468
+ children: "ROAS"
1208
1469
  }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1209
1470
  sx: {
1210
- fontSize: compact ? "10px" : "13px",
1211
- fontWeight: row.highlightVal3 ? 700 : 500,
1212
- color: row.highlightVal3 ? row.val3Color || "#22C55E" : "#000",
1213
- textAlign: "left"
1471
+ fontSize: "13px",
1472
+ fontWeight: 700,
1473
+ color: row.val3Color || "#22C55E",
1474
+ mt: 0.3
1214
1475
  },
1215
1476
  children: row.val3
1477
+ })]
1478
+ }), /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1479
+ children: [/*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1480
+ sx: {
1481
+ fontSize: "9px",
1482
+ color: "#9CA3AF",
1483
+ fontWeight: 600,
1484
+ textTransform: "uppercase",
1485
+ letterSpacing: "0.3px"
1486
+ },
1487
+ children: "CPA"
1216
1488
  }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1217
1489
  sx: {
1218
1490
  fontSize: "13px",
1219
- fontWeight: 500,
1491
+ fontWeight: 700,
1220
1492
  color: "#000",
1221
- textAlign: "left"
1493
+ mt: 0.3
1222
1494
  },
1223
1495
  children: row.val4
1224
- }), columns.length > 5 && /*#__PURE__*/jsxRuntime.jsx(material.Box, {
1225
- children: row.type === "trend" ? /*#__PURE__*/jsxRuntime.jsx(material.Box, {
1226
- sx: {
1227
- display: "flex",
1228
- alignItems: "center",
1229
- gap: 0.5
1230
- },
1231
- children: row.trendType === "up" ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
1232
- children: [/*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1233
- sx: {
1234
- fontSize: "14px",
1235
- color: "#22C55E"
1236
- },
1237
- children: "\u25B2"
1238
- }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1239
- sx: {
1240
- fontSize: "12px",
1241
- color: "#22C55E",
1242
- fontWeight: 700
1243
- },
1244
- children: row.trendLabel
1245
- })]
1246
- }) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
1247
- children: [/*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1248
- sx: {
1249
- fontSize: "14px",
1250
- color: "#EF4444"
1251
- },
1252
- children: "\u25BC"
1253
- }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1254
- sx: {
1255
- fontSize: "12px",
1256
- color: "#EF4444",
1257
- fontWeight: 700
1258
- },
1259
- children: row.trendLabel
1260
- })]
1261
- })
1262
- }) : /*#__PURE__*/jsxRuntime.jsx(material.Box, {
1263
- sx: {
1264
- display: "inline-block",
1265
- px: compact ? 1 : 1.5,
1266
- py: compact ? 0.25 : 0.5,
1267
- borderRadius: "100px",
1268
- bgcolor: row.statusBg,
1269
- color: row.statusColor,
1270
- fontSize: compact ? "9px" : "11px",
1271
- fontWeight: 700,
1272
- textAlign: "center"
1273
- },
1274
- children: row.status
1275
- })
1276
1496
  })]
1277
- }, idx);
1278
- })
1279
- })]
1497
+ })]
1498
+ })]
1499
+ }, idx);
1280
1500
  })
1281
1501
  })]
1282
1502
  });
@@ -1370,6 +1590,99 @@ var MetricCard$1 = function MetricCard(_ref) {
1370
1590
  });
1371
1591
  };
1372
1592
 
1593
+ var DisplayCard = function DisplayCard(_ref) {
1594
+ var title = _ref.title,
1595
+ value = _ref.value,
1596
+ subValue = _ref.subValue,
1597
+ Icon = _ref.icon,
1598
+ onClick = _ref.onClick,
1599
+ _ref$sx = _ref.sx,
1600
+ sx = _ref$sx === void 0 ? {} : _ref$sx,
1601
+ _ref$isActive = _ref.isActive,
1602
+ isActive = _ref$isActive === void 0 ? false : _ref$isActive;
1603
+ return /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1604
+ onClick: onClick,
1605
+ sx: _objectSpread2({
1606
+ height: "100px",
1607
+ borderRadius: "24px",
1608
+ display: "flex",
1609
+ justifyContent: "space-between",
1610
+ alignItems: "center",
1611
+ boxShadow: "rgba(0, 0, 0, 0.06) 0px 4px 15px 0px",
1612
+ // boxShadow: "0 4px 24px rgba(0,0,0,0.06)",
1613
+ // padding: "16px 16px 16px 18px",
1614
+ py: "10px",
1615
+ px: "16px",
1616
+ cursor: "pointer",
1617
+ bgcolor: "#fff",
1618
+ border: isActive ? "1px solid rgb(99, 99, 230)" : "none",
1619
+ // border: "2px solid #f0f0f0",
1620
+ transition: "all 0.3s ease"
1621
+ }, sx),
1622
+ children: [/*#__PURE__*/jsxRuntime.jsxs(material.Box, {
1623
+ sx: {
1624
+ display: "flex",
1625
+ flexDirection: "column",
1626
+ gap: 0.5
1627
+ },
1628
+ children: [/*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1629
+ sx: {
1630
+ fontWeight: "400",
1631
+ color: isActive ? "#c1c1f5" : "#a1a1a8",
1632
+ fontSize: "14px",
1633
+ lineHeight: "16px",
1634
+ textAlign: "left"
1635
+ },
1636
+ children: title
1637
+ }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
1638
+ sx: {
1639
+ lineHeight: "1.2",
1640
+ textAlign: "left",
1641
+ color: isActive ? "#6363e6" : "#000",
1642
+ fontSize: "20px",
1643
+ fontWeight: "700",
1644
+ mb: 0.5
1645
+ },
1646
+ children: statusValue(value)
1647
+ }), subValue && /*#__PURE__*/jsxRuntime.jsxs(material.Typography, {
1648
+ sx: {
1649
+ fontSize: "11px",
1650
+ color: typeof subValue === "string" && (subValue.includes("%") || subValue.includes("new") || subValue.includes("x")) && !subValue.includes("/") && !subValue.includes("pass-through") ? "#22C55E" : "rgba(0, 0, 0, 0.4)",
1651
+ fontWeight: "500",
1652
+ display: "flex",
1653
+ alignItems: "center",
1654
+ gap: 0.5
1655
+ },
1656
+ children: [typeof subValue === "string" && (subValue.includes("%") || subValue.includes("new") || subValue.includes("x")) && !subValue.includes("/") && !subValue.includes("pass-through") && /*#__PURE__*/jsxRuntime.jsx("span", {
1657
+ style: {
1658
+ fontSize: "14px"
1659
+ },
1660
+ children: "\u25B2"
1661
+ }), subValue]
1662
+ })]
1663
+ }), Icon && /*#__PURE__*/jsxRuntime.jsx(material.Box, {
1664
+ sx: {
1665
+ width: "44px",
1666
+ height: "44px",
1667
+ borderRadius: "50%",
1668
+ backgroundColor: "#f7f7ff",
1669
+ display: "flex",
1670
+ alignItems: "center",
1671
+ justifyContent: "center",
1672
+ color: "rgb(99, 99, 230)"
1673
+ },
1674
+ children: /*#__PURE__*/jsxRuntime.jsx(Icon, {
1675
+ sx: {
1676
+ fontSize: "20px"
1677
+ }
1678
+ })
1679
+ })]
1680
+ });
1681
+ };
1682
+ var statusValue = function statusValue(value) {
1683
+ return _typeof(value) === "object" && value !== null ? value.value !== undefined ? value.value : JSON.stringify(value) : value;
1684
+ };
1685
+
1373
1686
  var PURPLE = "#6363E6";
1374
1687
  var REPORT_COLORS = {
1375
1688
  purple: PURPLE};
@@ -1747,8 +2060,8 @@ var kpiRoas = function kpiRoas(v) {
1747
2060
  };
1748
2061
  var d$Compact = function d$Compact(v) {
1749
2062
  var n = Number(v !== null && v !== void 0 ? v : 0);
1750
- if (n >= 1000000) return "$".concat((n / 1000000).toFixed(1), "M");
1751
- if (n >= 1000) return "$".concat((n / 1000).toFixed(1), "K");
2063
+ if (n >= 1000000) return "$".concat((n / 1000000).toFixed(2), "M");
2064
+ if (n >= 1000) return "$".concat((n / 1000).toFixed(2), "K");
1752
2065
  return d$(n);
1753
2066
  };
1754
2067
  var pct = function pct(v) {
@@ -3758,9 +4071,9 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref34, ref) {
3758
4071
  });
3759
4072
  ExportPdfLayout.displayName = "ExportPdfLayout";
3760
4073
 
3761
- /**
3762
- * Captures [data-export-page] elements and saves a multi-page PDF.
3763
- * Each page uses a custom size matching the captured content so nothing is cropped.
4074
+ /**
4075
+ * Captures [data-export-page] elements and saves a multi-page PDF.
4076
+ * Each page uses a custom size matching the captured content so nothing is cropped.
3764
4077
  */
3765
4078
  function exportReportPdf(_x, _x2) {
3766
4079
  return _exportReportPdf.apply(this, arguments);
@@ -4603,8 +4916,6 @@ var DonorMixCard = function DonorMixCard(_ref) {
4603
4916
  border: "1px solid #f0f0f0",
4604
4917
  boxShadow: "0 4px 24px rgba(0,0,0,0.06)",
4605
4918
  p: compact ? 1.5 : 3,
4606
- // height: "100%",
4607
- // width: "100%",
4608
4919
  display: "flex",
4609
4920
  flexDirection: "column"
4610
4921
  }, sx),
@@ -4634,7 +4945,6 @@ var DonorMixCard = function DonorMixCard(_ref) {
4634
4945
  sx: {
4635
4946
  position: "relative",
4636
4947
  height: compact ? "110px" : "180px",
4637
- // mb: 1,
4638
4948
  display: "flex",
4639
4949
  justifyContent: "center"
4640
4950
  },
@@ -4645,13 +4955,16 @@ var DonorMixCard = function DonorMixCard(_ref) {
4645
4955
  width: compact ? "140" : "210"
4646
4956
  })
4647
4957
  }), /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
4648
- sx: {},
4649
4958
  children: [items.map(function (item, idx) {
4959
+ var isComingSoon = item.comingSoon;
4650
4960
  return /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
4651
4961
  sx: {
4652
4962
  display: "flex",
4653
4963
  justifyContent: "space-between",
4654
- mb: idx === items.length - 1 ? showBottomSummary ? compact ? 0.5 : 0 : 0 : compact ? 0.5 : 0
4964
+ alignItems: "center",
4965
+ mb: idx === items.length - 1 ? showBottomSummary ? compact ? 0.5 : 0 : 0 : compact ? 0.5 : 0,
4966
+ opacity: isComingSoon ? 0.55 : 1,
4967
+ transition: "opacity 0.2s ease"
4655
4968
  },
4656
4969
  children: [/*#__PURE__*/jsxRuntime.jsxs(material.Box, {
4657
4970
  sx: {
@@ -4670,11 +4983,32 @@ var DonorMixCard = function DonorMixCard(_ref) {
4670
4983
  sx: {
4671
4984
  fontSize: compact ? "10px" : "13px",
4672
4985
  fontWeight: 500,
4673
- color: "rgba(0, 0, 0, 0.4)"
4986
+ color: isComingSoon ? "#9CA3AF" : "rgba(0, 0, 0, 0.4)"
4674
4987
  },
4675
4988
  children: item.label
4676
4989
  })]
4677
- }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
4990
+ }), isComingSoon ? /*#__PURE__*/jsxRuntime.jsx(material.Box, {
4991
+ sx: {
4992
+ display: "inline-flex",
4993
+ alignItems: "center",
4994
+ px: 1,
4995
+ py: 0.3,
4996
+ borderRadius: "100px",
4997
+ bgcolor: "#F3F4F6",
4998
+ border: "1px solid #E5E7EB"
4999
+ },
5000
+ children: /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
5001
+ sx: {
5002
+ fontSize: "9px",
5003
+ fontWeight: 700,
5004
+ color: "#6B7280",
5005
+ letterSpacing: "0.3px",
5006
+ textTransform: "uppercase",
5007
+ lineHeight: 1
5008
+ },
5009
+ children: "Coming Soon"
5010
+ })
5011
+ }) : /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
4678
5012
  sx: {
4679
5013
  fontSize: compact ? "10px" : "13px",
4680
5014
  fontWeight: 700,
@@ -4685,9 +5019,6 @@ var DonorMixCard = function DonorMixCard(_ref) {
4685
5019
  }, idx);
4686
5020
  }), showBottomSummary && /*#__PURE__*/jsxRuntime.jsxs(material.Box, {
4687
5021
  sx: {
4688
- // display: "flex",
4689
- // justifyContent: "space-between",
4690
- // alignItems: "center",
4691
5022
  pt: compact ? 1 : 2,
4692
5023
  borderTop: "1px solid #f0f0f0",
4693
5024
  textAlign: "left"
@@ -6463,13 +6794,16 @@ var TopCampaignsConvRateCard = function TopCampaignsConvRateCard(_ref7) {
6463
6794
  })]
6464
6795
  });
6465
6796
  };
6466
- var getCampaignInitials$2 = function getCampaignInitials() {
6797
+ var getCampaignInitials$1 = function getCampaignInitials() {
6467
6798
  var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
6468
- var words = name.trim().split(/\s+/).filter(Boolean);
6799
+ var words = name.match(/[A-Za-z]+/g) || [];
6469
6800
  if (words.length >= 2) {
6470
6801
  return (words[0][0] + words[1][0]).toUpperCase();
6471
6802
  }
6472
- return name.slice(0, 2).toUpperCase() || "—";
6803
+ if (words.length === 1) {
6804
+ return words[0].slice(0, 2).toUpperCase();
6805
+ }
6806
+ return "—";
6473
6807
  };
6474
6808
  var TopPerformingCampaignsCard = function TopPerformingCampaignsCard(_ref8) {
6475
6809
  var _ref8$data = _ref8.data,
@@ -6563,20 +6897,27 @@ var TopPerformingCampaignsCard = function TopPerformingCampaignsCard(_ref8) {
6563
6897
  alignItems: "center",
6564
6898
  gap: 1.5
6565
6899
  },
6566
- children: [/*#__PURE__*/jsxRuntime.jsx(material.Box, {
6900
+ children: [/*#__PURE__*/jsxRuntime.jsx(material.Avatar, {
6901
+ src: item.image || item.avatar || item.logo || item.thumbnail || item.campaignImage || undefined,
6902
+ alt: item.name,
6903
+ imgProps: {
6904
+ style: {
6905
+ width: "100%",
6906
+ height: "100%",
6907
+ objectFit: "cover"
6908
+ }
6909
+ },
6567
6910
  sx: {
6568
6911
  width: 24,
6569
6912
  height: 24,
6913
+ flexShrink: 0,
6570
6914
  borderRadius: "50%",
6571
6915
  bgcolor: "#c1cfde71",
6572
6916
  color: "#3431e4ff",
6573
- display: "flex",
6574
- alignItems: "center",
6575
- justifyContent: "center",
6576
6917
  fontSize: "10px",
6577
6918
  fontWeight: 700
6578
6919
  },
6579
- children: item.id || getCampaignInitials$2(item.name)
6920
+ children: item.id || getCampaignInitials$1(item.name)
6580
6921
  }), /*#__PURE__*/jsxRuntime.jsx(material.Typography, {
6581
6922
  sx: {
6582
6923
  fontSize: "13px",
@@ -6923,7 +7264,7 @@ var RefundsChargebacksCard = function RefundsChargebacksCard(_ref) {
6923
7264
  }];
6924
7265
  var fmt = function fmt(n) {
6925
7266
  var _n$toFixed;
6926
- return n >= 1000 ? "".concat((n / 1000).toFixed(1), "k") : parseFloat((_n$toFixed = n === null || n === void 0 ? void 0 : n.toFixed(2)) !== null && _n$toFixed !== void 0 ? _n$toFixed : 0).toString();
7267
+ return n >= 1000 ? "".concat((n / 1000).toFixed(2), "k") : parseFloat((_n$toFixed = n === null || n === void 0 ? void 0 : n.toFixed(2)) !== null && _n$toFixed !== void 0 ? _n$toFixed : 0).toString();
6927
7268
  };
6928
7269
  var growthColor = growthPercentage > 0 ? "#EF4444" : growthPercentage < 0 ? "#22C55E" : "rgba(0,0,0,0.4)";
6929
7270
  var growthLabel = growthPercentage > 0 ? "\u25B2 ".concat(growthPercentage.toFixed(1), "%") : growthPercentage < 0 ? "\u25BC ".concat(Math.abs(growthPercentage).toFixed(1), "%") : "stable";
@@ -9092,14 +9433,14 @@ var AbandonedDonationRecovery = function AbandonedDonationRecovery() {
9092
9433
  });
9093
9434
  };
9094
9435
 
9095
- /**
9096
- * Theme colors for server components
9097
- *
9098
- * These are plain JavaScript objects that can be safely imported
9099
- * in both server and client components without triggering
9100
- * client-only code in server components.
9101
- *
9102
- * For client components, use the full theme from @/config/customTheme
9436
+ /**
9437
+ * Theme colors for server components
9438
+ *
9439
+ * These are plain JavaScript objects that can be safely imported
9440
+ * in both server and client components without triggering
9441
+ * client-only code in server components.
9442
+ *
9443
+ * For client components, use the full theme from @/config/customTheme
9103
9444
  */
9104
9445
 
9105
9446
  var themeColors = {
@@ -17439,98 +17780,15 @@ var OverallSectionSkeleton = function OverallSectionSkeleton() {
17439
17780
  height: 280
17440
17781
  }, index);
17441
17782
  })
17442
- }), /*#__PURE__*/jsxRuntime.jsx(material.Box, {
17443
- sx: fourColGridSx,
17444
- children: Array.from({
17445
- length: 4
17446
- }).map(function (_, index) {
17447
- return /*#__PURE__*/jsxRuntime.jsx(PanelCardSkeleton, {
17448
- height: 280
17449
- }, index);
17450
- })
17451
- })]
17452
- })]
17453
- });
17454
- };
17455
- var PaidSectionSkeleton = function PaidSectionSkeleton() {
17456
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
17457
- children: [/*#__PURE__*/jsxRuntime.jsx(MetricCardsSkeleton, {
17458
- count: 6,
17459
- gridTemplateColumns: {
17460
- xs: "1fr",
17461
- sm: "1fr 1fr",
17462
- md: "1fr 1fr 1fr",
17463
- lg: "repeat(6, 1fr)"
17464
- },
17465
- gap: 2
17466
- }), /*#__PURE__*/jsxRuntime.jsx(material.Grid, {
17467
- container: true,
17468
- spacing: 3,
17469
- sx: {
17470
- mt: 2.75
17471
- },
17472
- children: /*#__PURE__*/jsxRuntime.jsx(material.Grid, {
17473
- item: true,
17474
- xs: 12,
17475
- sx: {
17476
- paddingTop: "0px !important"
17477
- },
17478
- children: /*#__PURE__*/jsxRuntime.jsx(ChartCardSkeleton, {
17479
- height: 400
17480
- })
17481
- })
17482
- }), /*#__PURE__*/jsxRuntime.jsxs(material.Grid, {
17483
- container: true,
17484
- spacing: 3,
17485
- sx: {
17486
- mt: 2.25
17487
- },
17488
- children: [/*#__PURE__*/jsxRuntime.jsx(material.Grid, {
17489
- item: true,
17490
- xs: 12,
17491
- md: 6,
17492
- sx: {
17493
- paddingTop: "0px !important",
17494
- minHeight: 430
17495
- },
17496
- children: /*#__PURE__*/jsxRuntime.jsx(TableCardSkeleton, {})
17497
- }), /*#__PURE__*/jsxRuntime.jsx(material.Grid, {
17498
- item: true,
17499
- xs: 12,
17500
- md: 6,
17501
- sx: {
17502
- paddingTop: "0px !important",
17503
- minHeight: 430
17504
- },
17505
- children: /*#__PURE__*/jsxRuntime.jsx(DonutCardSkeleton, {})
17506
- })]
17507
- }), /*#__PURE__*/jsxRuntime.jsxs(material.Grid, {
17508
- container: true,
17509
- spacing: 3,
17510
- sx: {
17511
- mt: 2.25
17512
- },
17513
- children: [/*#__PURE__*/jsxRuntime.jsx(material.Grid, {
17514
- item: true,
17515
- xs: 12,
17516
- md: 6,
17517
- sx: {
17518
- paddingTop: "0px !important"
17519
- },
17520
- children: /*#__PURE__*/jsxRuntime.jsx(TableCardSkeleton, {
17521
- height: 360,
17522
- rowCount: 4
17523
- })
17524
- }), /*#__PURE__*/jsxRuntime.jsx(material.Grid, {
17525
- item: true,
17526
- xs: 12,
17527
- md: 6,
17528
- sx: {
17529
- paddingTop: "0px !important"
17530
- },
17531
- children: /*#__PURE__*/jsxRuntime.jsx(PanelCardSkeleton, {
17532
- height: 360
17533
- })
17783
+ }), /*#__PURE__*/jsxRuntime.jsx(material.Box, {
17784
+ sx: fourColGridSx,
17785
+ children: Array.from({
17786
+ length: 4
17787
+ }).map(function (_, index) {
17788
+ return /*#__PURE__*/jsxRuntime.jsx(PanelCardSkeleton, {
17789
+ height: 280
17790
+ }, index);
17791
+ })
17534
17792
  })]
17535
17793
  })]
17536
17794
  });
@@ -17675,7 +17933,7 @@ var EmailSectionSkeleton = function EmailSectionSkeleton() {
17675
17933
  });
17676
17934
  };
17677
17935
 
17678
- var formatKpi$3 = function formatKpi(value) {
17936
+ var formatKpi$2 = function formatKpi(value) {
17679
17937
  return Number(value !== null && value !== void 0 ? value : 0).toLocaleString("en-US", {
17680
17938
  minimumFractionDigits: 2,
17681
17939
  maximumFractionDigits: 2
@@ -17753,7 +18011,7 @@ var OverallSection = function OverallSection(_ref) {
17753
18011
  };
17754
18012
  var metricInfo = {
17755
18013
  "Total Raised": {
17756
- value: "$".concat(formatKpi$3((_apiData$overviewStat = apiData === null || apiData === void 0 || (_apiData$overviewStat2 = apiData.overviewStats) === null || _apiData$overviewStat2 === void 0 || (_apiData$overviewStat2 = _apiData$overviewStat2.overview) === null || _apiData$overviewStat2 === void 0 ? void 0 : _apiData$overviewStat2.totalRevenue) !== null && _apiData$overviewStat !== void 0 ? _apiData$overviewStat : 0)) || "$0",
18014
+ value: "$".concat(formatKpi$2((_apiData$overviewStat = apiData === null || apiData === void 0 || (_apiData$overviewStat2 = apiData.overviewStats) === null || _apiData$overviewStat2 === void 0 || (_apiData$overviewStat2 = _apiData$overviewStat2.overview) === null || _apiData$overviewStat2 === void 0 ? void 0 : _apiData$overviewStat2.totalRevenue) !== null && _apiData$overviewStat !== void 0 ? _apiData$overviewStat : 0)) || "$0",
17757
18015
  subValue: "".concat(Number((_apiData$overviewStat3 = apiData === null || apiData === void 0 || (_apiData$overviewStat4 = apiData.overviewStats) === null || _apiData$overviewStat4 === void 0 || (_apiData$overviewStat4 = _apiData$overviewStat4.overview) === null || _apiData$overviewStat4 === void 0 || (_apiData$overviewStat4 = _apiData$overviewStat4.growthPercentage) === null || _apiData$overviewStat4 === void 0 ? void 0 : _apiData$overviewStat4.totalRevenue) !== null && _apiData$overviewStat3 !== void 0 ? _apiData$overviewStat3 : 0).toFixed(2), "% vs pp"),
17758
18016
  label: "Total Raised",
17759
18017
  icon: /*#__PURE__*/jsxRuntime.jsx(iconsMaterial.PaidOutlined, {}),
@@ -17762,7 +18020,7 @@ var OverallSection = function OverallSection(_ref) {
17762
18020
  warning: false
17763
18021
  },
17764
18022
  "Net Raised": {
17765
- value: "$".concat(formatKpi$3((_apiData$overviewStat5 = apiData === null || apiData === void 0 || (_apiData$overviewStat6 = apiData.overviewStats) === null || _apiData$overviewStat6 === void 0 || (_apiData$overviewStat6 = _apiData$overviewStat6.overview) === null || _apiData$overviewStat6 === void 0 ? void 0 : _apiData$overviewStat6.netRevenue) !== null && _apiData$overviewStat5 !== void 0 ? _apiData$overviewStat5 : 0)),
18023
+ value: "$".concat(formatKpi$2((_apiData$overviewStat5 = apiData === null || apiData === void 0 || (_apiData$overviewStat6 = apiData.overviewStats) === null || _apiData$overviewStat6 === void 0 || (_apiData$overviewStat6 = _apiData$overviewStat6.overview) === null || _apiData$overviewStat6 === void 0 ? void 0 : _apiData$overviewStat6.netRevenue) !== null && _apiData$overviewStat5 !== void 0 ? _apiData$overviewStat5 : 0)),
17766
18024
  subValue: "".concat(Number((_apiData$overviewStat7 = apiData === null || apiData === void 0 || (_apiData$overviewStat8 = apiData.overviewStats) === null || _apiData$overviewStat8 === void 0 || (_apiData$overviewStat8 = _apiData$overviewStat8.overview.growthPercentage) === null || _apiData$overviewStat8 === void 0 ? void 0 : _apiData$overviewStat8.netRevenue) !== null && _apiData$overviewStat7 !== void 0 ? _apiData$overviewStat7 : 0).toFixed(2), "% vs pp\n "),
17767
18025
  label: "Net Raised",
17768
18026
  icon: /*#__PURE__*/jsxRuntime.jsx(iconsMaterial.RequestQuoteOutlined, {}),
@@ -17771,7 +18029,7 @@ var OverallSection = function OverallSection(_ref) {
17771
18029
  warning: false
17772
18030
  },
17773
18031
  "Total Donors": {
17774
- value: formatKpi$3((_apiData$overviewStat9 = apiData === null || apiData === void 0 || (_apiData$overviewStat0 = apiData.overviewStats) === null || _apiData$overviewStat0 === void 0 || (_apiData$overviewStat0 = _apiData$overviewStat0.overview) === null || _apiData$overviewStat0 === void 0 ? void 0 : _apiData$overviewStat0.totalDonations) !== null && _apiData$overviewStat9 !== void 0 ? _apiData$overviewStat9 : 0),
18032
+ value: formatKpi$2((_apiData$overviewStat9 = apiData === null || apiData === void 0 || (_apiData$overviewStat0 = apiData.overviewStats) === null || _apiData$overviewStat0 === void 0 || (_apiData$overviewStat0 = _apiData$overviewStat0.overview) === null || _apiData$overviewStat0 === void 0 ? void 0 : _apiData$overviewStat0.totalDonations) !== null && _apiData$overviewStat9 !== void 0 ? _apiData$overviewStat9 : 0),
17775
18033
  subValue: "".concat(Number((_apiData$overviewStat1 = apiData === null || apiData === void 0 || (_apiData$overviewStat10 = apiData.overviewStats) === null || _apiData$overviewStat10 === void 0 || (_apiData$overviewStat10 = _apiData$overviewStat10.overview.growthPercentage) === null || _apiData$overviewStat10 === void 0 ? void 0 : _apiData$overviewStat10.totalDonations) !== null && _apiData$overviewStat1 !== void 0 ? _apiData$overviewStat1 : 0).toFixed(2), "%") || "0 new",
17776
18034
  label: "Total Donors",
17777
18035
  icon: /*#__PURE__*/jsxRuntime.jsx(iconsMaterial.PeopleAltOutlined, {}),
@@ -17780,7 +18038,7 @@ var OverallSection = function OverallSection(_ref) {
17780
18038
  warning: false
17781
18039
  },
17782
18040
  "Avg Donation": {
17783
- value: "$".concat(formatKpi$3((_apiData$overviewStat11 = apiData === null || apiData === void 0 || (_apiData$overviewStat12 = apiData.overviewStats) === null || _apiData$overviewStat12 === void 0 || (_apiData$overviewStat12 = _apiData$overviewStat12.overview) === null || _apiData$overviewStat12 === void 0 ? void 0 : _apiData$overviewStat12.overallAVGDonations) !== null && _apiData$overviewStat11 !== void 0 ? _apiData$overviewStat11 : 0)),
18041
+ value: "$".concat(formatKpi$2((_apiData$overviewStat11 = apiData === null || apiData === void 0 || (_apiData$overviewStat12 = apiData.overviewStats) === null || _apiData$overviewStat12 === void 0 || (_apiData$overviewStat12 = _apiData$overviewStat12.overview) === null || _apiData$overviewStat12 === void 0 ? void 0 : _apiData$overviewStat12.overallAVGDonations) !== null && _apiData$overviewStat11 !== void 0 ? _apiData$overviewStat11 : 0)),
17784
18042
  subValue: "".concat(Number((_apiData$overviewStat13 = apiData === null || apiData === void 0 || (_apiData$overviewStat14 = apiData.overviewStats) === null || _apiData$overviewStat14 === void 0 || (_apiData$overviewStat14 = _apiData$overviewStat14.overview.growthPercentage) === null || _apiData$overviewStat14 === void 0 ? void 0 : _apiData$overviewStat14.overallAVGDonations) !== null && _apiData$overviewStat13 !== void 0 ? _apiData$overviewStat13 : 0).toFixed(2), "% vs pp\n "),
17785
18043
  label: "Average Donation Amount",
17786
18044
  icon: /*#__PURE__*/jsxRuntime.jsx(AverageDonationIcon, {}),
@@ -17789,7 +18047,7 @@ var OverallSection = function OverallSection(_ref) {
17789
18047
  warning: false
17790
18048
  },
17791
18049
  "ROAS": {
17792
- value: "".concat(formatKpi$3((_apiData$overviewStat15 = apiData === null || apiData === void 0 || (_apiData$overviewStat16 = apiData.overviewStats) === null || _apiData$overviewStat16 === void 0 || (_apiData$overviewStat16 = _apiData$overviewStat16.overview) === null || _apiData$overviewStat16 === void 0 ? void 0 : _apiData$overviewStat16.roas) !== null && _apiData$overviewStat15 !== void 0 ? _apiData$overviewStat15 : 0), "x"),
18050
+ value: "".concat(formatKpi$2((_apiData$overviewStat15 = apiData === null || apiData === void 0 || (_apiData$overviewStat16 = apiData.overviewStats) === null || _apiData$overviewStat16 === void 0 || (_apiData$overviewStat16 = _apiData$overviewStat16.overview) === null || _apiData$overviewStat16 === void 0 ? void 0 : _apiData$overviewStat16.roas) !== null && _apiData$overviewStat15 !== void 0 ? _apiData$overviewStat15 : 0), "x"),
17793
18051
  subValue: "".concat(Number((_apiData$overviewStat17 = apiData === null || apiData === void 0 || (_apiData$overviewStat18 = apiData.overviewStats) === null || _apiData$overviewStat18 === void 0 || (_apiData$overviewStat18 = _apiData$overviewStat18.overview) === null || _apiData$overviewStat18 === void 0 || (_apiData$overviewStat18 = _apiData$overviewStat18.growthPercentage) === null || _apiData$overviewStat18 === void 0 ? void 0 : _apiData$overviewStat18.roas) !== null && _apiData$overviewStat17 !== void 0 ? _apiData$overviewStat17 : 0).toFixed(2), "x vs pp"),
17794
18052
  label: "ROAS",
17795
18053
  icon: /*#__PURE__*/jsxRuntime.jsx(iconsMaterial.TrendingUp, {}),
@@ -17798,7 +18056,7 @@ var OverallSection = function OverallSection(_ref) {
17798
18056
  warning: false
17799
18057
  },
17800
18058
  "Conversion": {
17801
- value: "".concat(formatKpi$3((_apiData$overviewStat19 = apiData === null || apiData === void 0 || (_apiData$overviewStat20 = apiData.overviewStats) === null || _apiData$overviewStat20 === void 0 || (_apiData$overviewStat20 = _apiData$overviewStat20.overview) === null || _apiData$overviewStat20 === void 0 ? void 0 : _apiData$overviewStat20.conversionRate) !== null && _apiData$overviewStat19 !== void 0 ? _apiData$overviewStat19 : 0), "%"),
18059
+ value: "".concat(formatKpi$2((_apiData$overviewStat19 = apiData === null || apiData === void 0 || (_apiData$overviewStat20 = apiData.overviewStats) === null || _apiData$overviewStat20 === void 0 || (_apiData$overviewStat20 = _apiData$overviewStat20.overview) === null || _apiData$overviewStat20 === void 0 ? void 0 : _apiData$overviewStat20.conversionRate) !== null && _apiData$overviewStat19 !== void 0 ? _apiData$overviewStat19 : 0), "%"),
17802
18060
  subValue: "".concat(((_apiData$overviewStat21 = apiData === null || apiData === void 0 || (_apiData$overviewStat22 = apiData.overviewStats) === null || _apiData$overviewStat22 === void 0 || (_apiData$overviewStat22 = _apiData$overviewStat22.overview) === null || _apiData$overviewStat22 === void 0 || (_apiData$overviewStat22 = _apiData$overviewStat22.growthPercentage) === null || _apiData$overviewStat22 === void 0 ? void 0 : _apiData$overviewStat22.conversionRate) !== null && _apiData$overviewStat21 !== void 0 ? _apiData$overviewStat21 : 0).toFixed(2), "%") || "0%",
17803
18061
  label: "Conversion Rate",
17804
18062
  icon: /*#__PURE__*/jsxRuntime.jsx(ConversionRateIcon, {}),
@@ -18184,448 +18442,93 @@ var OverallSection$1 = /*#__PURE__*/Object.freeze({
18184
18442
  default: OverallSection
18185
18443
  });
18186
18444
 
18187
- var formatKpi$2 = function formatKpi(value) {
18188
- return Number(value !== null && value !== void 0 ? value : 0).toLocaleString("en-US", {
18189
- minimumFractionDigits: 2,
18190
- maximumFractionDigits: 2
18191
- });
18192
- };
18193
- var CHANNEL_STYLES = {
18194
- "Meta Ads": {
18195
- id: "M",
18196
- avatarBg: "#4267B2",
18197
- color: "#4267B2"
18198
- },
18199
- "Google Ads": {
18200
- id: "G",
18201
- avatarBg: "#4285F4",
18202
- color: "#4285F4"
18203
- },
18204
- "TikTok Ads": {
18205
- id: "T",
18206
- avatarBg: "#000000",
18207
- color: "#cd249dff"
18208
- },
18209
- YouTube: {
18210
- id: "Y",
18211
- avatarBg: "#FF0000",
18212
- color: "#FF0000"
18213
- },
18214
- Snapchat: {
18215
- id: "S",
18216
- avatarBg: "#FFFC00",
18217
- color: "#FFFC00"
18218
- }
18219
- };
18220
- var formatGrowth$2 = function formatGrowth(value) {
18221
- return "".concat(Number(value !== null && value !== void 0 ? value : 0).toFixed(2), "% vs pp");
18222
- };
18223
- var mapTimeSeries$2 = function mapTimeSeries(series) {
18224
- if (!Array.isArray(series) || series.length === 0) {
18225
- return {
18226
- categories: [],
18227
- data: []
18228
- };
18229
- }
18230
- return {
18231
- categories: series.map(function (item) {
18232
- return item.date;
18233
- }),
18234
- data: series.map(function (item) {
18235
- var _item$value;
18236
- return (_item$value = item.value) !== null && _item$value !== void 0 ? _item$value : 0;
18237
- })
18238
- };
18239
- };
18240
- var getChannelStyle = function getChannelStyle() {
18241
- var channel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
18242
- return CHANNEL_STYLES[channel] || {
18243
- id: channel.slice(0, 1).toUpperCase() || "?",
18244
- avatarBg: "#F3F4F6",
18245
- color: "#6366F1"
18246
- };
18247
- };
18248
- var mapChannelTrend = function mapChannelTrend(trend) {
18249
- var normalized = (trend || "stable").toLowerCase();
18250
- if (normalized === "down" || normalized === "declining") {
18251
- return {
18252
- type: "trend",
18253
- trendType: "down",
18254
- trendLabel: "Declining"
18255
- };
18256
- }
18257
- if (normalized === "up" || normalized === "improving") {
18258
- return {
18259
- type: "trend",
18260
- trendType: "up",
18261
- trendLabel: "Improving"
18262
- };
18263
- }
18264
- return {
18265
- type: "status",
18266
- status: "Stable",
18267
- statusBg: "#F3F4F6",
18268
- statusColor: "#6B7280"
18269
- };
18270
- };
18271
- var getRoasColor = function getRoasColor(roas) {
18272
- return Number(roas !== null && roas !== void 0 ? roas : 0) >= 2.5 ? "#22C55E" : "#EF4444";
18273
- };
18274
- var getCampaignInitials$1 = function getCampaignInitials() {
18275
- var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
18276
- var words = name.trim().split(/\s+/).filter(Boolean);
18277
- if (words.length >= 2) {
18278
- return (words[0][0] + words[1][0]).toUpperCase();
18279
- }
18280
- return name.slice(0, 2).toUpperCase() || "—";
18281
- };
18282
- var buildEmptySpendAllocation = function buildEmptySpendAllocation() {
18283
- var channels = Object.keys(CHANNEL_STYLES);
18284
- return {
18285
- series: channels.map(function () {
18286
- return 0;
18287
- }),
18288
- labels: channels,
18289
- colors: channels.map(function (channel) {
18290
- return CHANNEL_STYLES[channel].color;
18291
- }),
18292
- centerLabel: "total spend",
18293
- centerValue: "$".concat(formatNumber(0)),
18294
- subtitle: "Where $".concat(formatNumber(0), " went"),
18295
- items: channels.map(function (channel) {
18296
- return {
18297
- label: channel,
18298
- val: "0.0%",
18299
- color: CHANNEL_STYLES[channel].color
18300
- };
18301
- })
18302
- };
18303
- };
18304
- var PaidSection = function PaidSection(_ref) {
18305
- var _ref2, _rawOverview$totalSpe, _ref3, _rawOverview$totalRev, _ref4, _rawOverview$roas, _ref5, _rawOverview$costPerD, _rawOverview$conversi, _ref6, _rawOverview$averageD, _ref7, _rawOverview$totalDon, _ref8, _rawOverview$growthPe, _rawOverview$growthPe2, _ref9, _rawOverview$growthPe3, _rawOverview$growthPe4, _ref0, _rawOverview$growthPe5, _rawOverview$growthPe6, _rawOverview$growthPe7, _rawOverview$growthPe8, _rawOverview$growthPe9, _rawOverview$growthPe0, _rawOverview$growthPe1, _rawOverview$growthPe10, _apiData$spendVsReven, _apiData$spendVsReven2, _selectedInfo$categor, _spendAllocation$subt, _spendAllocation$seri, _spendAllocation$labe, _spendAllocation$colo, _spendAllocation$cent, _spendAllocation$cent2, _spendAllocation$item;
18306
- var _ref$apiData = _ref.apiData,
18307
- apiData = _ref$apiData === void 0 ? {} : _ref$apiData;
18308
- _ref.dateName;
18309
- var _ref$apiLoading = _ref.apiLoading,
18310
- apiLoading = _ref$apiLoading === void 0 ? false : _ref$apiLoading,
18311
- _ref$numberOfDays = _ref.numberOfDays,
18312
- numberOfDays = _ref$numberOfDays === void 0 ? 30 : _ref$numberOfDays;
18445
+ var PaidSection = function PaidSection() {
18313
18446
  var _useState = React.useState("Total Spent"),
18314
18447
  _useState2 = _slicedToArray(_useState, 2),
18315
18448
  activeMetric = _useState2[0],
18316
18449
  setActiveMetric = _useState2[1];
18317
- var rawOverview = (apiData === null || apiData === void 0 ? void 0 : apiData.overview) || {};
18318
- var metaSummary = (apiData === null || apiData === void 0 ? void 0 : apiData.metaSummary) || {};
18319
- var overview = {
18320
- totalSpent: (_ref2 = (_rawOverview$totalSpe = rawOverview.totalSpent) !== null && _rawOverview$totalSpe !== void 0 ? _rawOverview$totalSpe : metaSummary.metaSpend) !== null && _ref2 !== void 0 ? _ref2 : 0,
18321
- totalRevenue: (_ref3 = (_rawOverview$totalRev = rawOverview.totalRevenue) !== null && _rawOverview$totalRev !== void 0 ? _rawOverview$totalRev : metaSummary.attributedAmount) !== null && _ref3 !== void 0 ? _ref3 : 0,
18322
- roas: (_ref4 = (_rawOverview$roas = rawOverview.roas) !== null && _rawOverview$roas !== void 0 ? _rawOverview$roas : metaSummary.roas) !== null && _ref4 !== void 0 ? _ref4 : 0,
18323
- costPerDonor: (_ref5 = (_rawOverview$costPerD = rawOverview.costPerDonor) !== null && _rawOverview$costPerD !== void 0 ? _rawOverview$costPerD : metaSummary.cpa) !== null && _ref5 !== void 0 ? _ref5 : 0,
18324
- conversionRate: (_rawOverview$conversi = rawOverview.conversionRate) !== null && _rawOverview$conversi !== void 0 ? _rawOverview$conversi : 0,
18325
- averageDonation: (_ref6 = (_rawOverview$averageD = rawOverview.averageDonation) !== null && _rawOverview$averageD !== void 0 ? _rawOverview$averageD : metaSummary.averageGift) !== null && _ref6 !== void 0 ? _ref6 : 0,
18326
- totalDonations: (_ref7 = (_rawOverview$totalDon = rawOverview.totalDonations) !== null && _rawOverview$totalDon !== void 0 ? _rawOverview$totalDon : metaSummary.donationsCount) !== null && _ref7 !== void 0 ? _ref7 : 0
18327
- };
18328
- var growth = {
18329
- totalSpent: (_ref8 = (_rawOverview$growthPe = (_rawOverview$growthPe2 = rawOverview.growthPercentage) === null || _rawOverview$growthPe2 === void 0 ? void 0 : _rawOverview$growthPe2.totalSpent) !== null && _rawOverview$growthPe !== void 0 ? _rawOverview$growthPe : metaSummary.metaSpendChangePercent) !== null && _ref8 !== void 0 ? _ref8 : 0,
18330
- totalRevenue: (_ref9 = (_rawOverview$growthPe3 = (_rawOverview$growthPe4 = rawOverview.growthPercentage) === null || _rawOverview$growthPe4 === void 0 ? void 0 : _rawOverview$growthPe4.totalRevenue) !== null && _rawOverview$growthPe3 !== void 0 ? _rawOverview$growthPe3 : metaSummary.attributedChangePercent) !== null && _ref9 !== void 0 ? _ref9 : 0,
18331
- roas: (_ref0 = (_rawOverview$growthPe5 = (_rawOverview$growthPe6 = rawOverview.growthPercentage) === null || _rawOverview$growthPe6 === void 0 ? void 0 : _rawOverview$growthPe6.roas) !== null && _rawOverview$growthPe5 !== void 0 ? _rawOverview$growthPe5 : metaSummary.roasChange) !== null && _ref0 !== void 0 ? _ref0 : 0,
18332
- costPerDonor: (_rawOverview$growthPe7 = (_rawOverview$growthPe8 = rawOverview.growthPercentage) === null || _rawOverview$growthPe8 === void 0 ? void 0 : _rawOverview$growthPe8.costPerDonor) !== null && _rawOverview$growthPe7 !== void 0 ? _rawOverview$growthPe7 : 0,
18333
- conversionRate: (_rawOverview$growthPe9 = (_rawOverview$growthPe0 = rawOverview.growthPercentage) === null || _rawOverview$growthPe0 === void 0 ? void 0 : _rawOverview$growthPe0.conversionRate) !== null && _rawOverview$growthPe9 !== void 0 ? _rawOverview$growthPe9 : 0,
18334
- averageDonation: (_rawOverview$growthPe1 = (_rawOverview$growthPe10 = rawOverview.growthPercentage) === null || _rawOverview$growthPe10 === void 0 ? void 0 : _rawOverview$growthPe10.averageDonation) !== null && _rawOverview$growthPe1 !== void 0 ? _rawOverview$growthPe1 : 0
18335
- };
18336
- var hasPaidOverview = Boolean(apiData === null || apiData === void 0 ? void 0 : apiData.overview);
18337
- var spendSeries = mapTimeSeries$2(apiData === null || apiData === void 0 || (_apiData$spendVsReven = apiData.spendVsRevenue) === null || _apiData$spendVsReven === void 0 ? void 0 : _apiData$spendVsReven.spend);
18338
- var revenueSeries = mapTimeSeries$2(apiData === null || apiData === void 0 || (_apiData$spendVsReven2 = apiData.spendVsRevenue) === null || _apiData$spendVsReven2 === void 0 ? void 0 : _apiData$spendVsReven2.revenue);
18339
- var roasChartData = React.useMemo(function () {
18340
- if (spendSeries.data.length === 0 || revenueSeries.data.length === 0) {
18341
- return [];
18450
+ var categories = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"];
18451
+ var metricInfo = {
18452
+ "Total Spent": {
18453
+ value: "$80,313",
18454
+ subValue: "12% vs last month",
18455
+ chartLabel: "Daily Spend",
18456
+ data: [800, 950, 700, 1100, 900, 1200, 1300],
18457
+ icon: iconsMaterial.IndeterminateCheckBoxOutlined
18458
+ },
18459
+ "Revinue Raised": {
18460
+ value: "$240,398",
18461
+ subValue: "12% vs last month",
18462
+ chartLabel: "Daily Revenue",
18463
+ data: [3200, 4100, 2800, 5600, 4200, 6100, 7500],
18464
+ icon: iconsMaterial.PaidOutlined
18465
+ },
18466
+ ROAS: {
18467
+ value: "3.0",
18468
+ subValue: "12% vs last month",
18469
+ chartLabel: "ROAS Trend",
18470
+ data: [2.5, 3.1, 2.8, 4.2, 3.8, 4.5, 5.2],
18471
+ icon: iconsMaterial.TrendingUp
18472
+ },
18473
+ "Cost per donor": {
18474
+ value: "$373",
18475
+ subValue: "12% vs last month",
18476
+ chartLabel: "CPA Trend",
18477
+ data: [350, 380, 360, 410, 390, 370, 373],
18478
+ icon: iconsMaterial.PersonOutlined
18479
+ },
18480
+ "Conversion rate": {
18481
+ value: "3.1%",
18482
+ subValue: "12% vs last month",
18483
+ chartLabel: "Conversion Rate",
18484
+ data: [2.8, 3.0, 2.9, 3.4, 3.2, 3.1, 3.1],
18485
+ icon: iconsMaterial.Adjust
18486
+ },
18487
+ "Avg donation": {
18488
+ value: "$130.58",
18489
+ subValue: "12% vs last month",
18490
+ chartLabel: "Average Donation",
18491
+ data: [120, 135, 125, 140, 130, 128, 130.58],
18492
+ icon: iconsMaterial.PaidOutlined
18342
18493
  }
18343
- var length = Math.min(spendSeries.data.length, revenueSeries.data.length);
18344
- return Array.from({
18345
- length: length
18346
- }, function (_, index) {
18347
- var _spendSeries$data$ind, _revenueSeries$data$i;
18348
- var spend = (_spendSeries$data$ind = spendSeries.data[index]) !== null && _spendSeries$data$ind !== void 0 ? _spendSeries$data$ind : 0;
18349
- var revenue = (_revenueSeries$data$i = revenueSeries.data[index]) !== null && _revenueSeries$data$i !== void 0 ? _revenueSeries$data$i : 0;
18350
- return spend > 0 ? revenue / spend : 0;
18351
- });
18352
- }, [spendSeries.data, revenueSeries.data]);
18353
- var fallbackCategories = spendSeries.categories.length ? spendSeries.categories : revenueSeries.categories.length ? revenueSeries.categories : ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"];
18354
- var flatSeries = function flatSeries(value) {
18355
- return fallbackCategories.length > 0 ? fallbackCategories.map(function () {
18356
- return Number(value !== null && value !== void 0 ? value : 0);
18357
- }) : [Number(value !== null && value !== void 0 ? value : 0)];
18358
18494
  };
18359
- var metricInfo = React.useMemo(function () {
18360
- if (!hasPaidOverview) {
18361
- return {
18362
- "Total Spent": {
18363
- value: "$".concat(formatKpi$2(0)),
18364
- subValue: formatGrowth$2(0),
18365
- data: flatSeries(0),
18366
- categories: fallbackCategories,
18367
- icon: /*#__PURE__*/jsxRuntime.jsx(iconsMaterial.IndeterminateCheckBoxOutlined, {}),
18368
- money: true,
18369
- error: false,
18370
- warning: false
18371
- },
18372
- "Revenue Raised": {
18373
- value: "$".concat(formatKpi$2(0)),
18374
- subValue: formatGrowth$2(0),
18375
- data: flatSeries(0),
18376
- categories: fallbackCategories,
18377
- icon: /*#__PURE__*/jsxRuntime.jsx(iconsMaterial.PaidOutlined, {}),
18378
- money: true,
18379
- error: false,
18380
- warning: false
18381
- },
18382
- ROAS: {
18383
- value: "".concat(formatKpi$2(0), "x"),
18384
- subValue: formatGrowth$2(0),
18385
- data: flatSeries(0),
18386
- categories: fallbackCategories,
18387
- icon: /*#__PURE__*/jsxRuntime.jsx(iconsMaterial.TrendingUp, {}),
18388
- money: false,
18389
- error: false,
18390
- warning: false
18391
- },
18392
- "Cost Per Donor": {
18393
- value: "$".concat(formatKpi$2(0)),
18394
- subValue: formatGrowth$2(0),
18395
- data: flatSeries(0),
18396
- categories: fallbackCategories,
18397
- icon: /*#__PURE__*/jsxRuntime.jsx(iconsMaterial.PersonOutlined, {}),
18398
- money: true,
18399
- error: false,
18400
- warning: false
18401
- },
18402
- "Conversion Rate": {
18403
- value: "".concat(formatKpi$2(0), "%"),
18404
- subValue: formatGrowth$2(0),
18405
- data: flatSeries(0),
18406
- categories: fallbackCategories,
18407
- icon: /*#__PURE__*/jsxRuntime.jsx(ConversionRateIcon, {}),
18408
- money: false,
18409
- error: false,
18410
- warning: false
18411
- },
18412
- "Avg Donation": {
18413
- value: "$".concat(formatKpi$2(0)),
18414
- subValue: formatGrowth$2(0),
18415
- data: flatSeries(0),
18416
- categories: fallbackCategories,
18417
- icon: /*#__PURE__*/jsxRuntime.jsx(AverageDonationIcon, {}),
18418
- money: true,
18419
- error: false,
18420
- warning: false
18421
- }
18422
- };
18423
- }
18424
- var chartCategories = spendSeries.categories.length > 0 ? spendSeries.categories : revenueSeries.categories.length > 0 ? revenueSeries.categories : fallbackCategories;
18425
- return {
18426
- "Total Spent": {
18427
- value: "$".concat(formatKpi$2(overview.totalSpent)),
18428
- subValue: formatGrowth$2(growth.totalSpent),
18429
- data: spendSeries.data.length > 0 ? spendSeries.data : flatSeries(0),
18430
- categories: chartCategories,
18431
- icon: /*#__PURE__*/jsxRuntime.jsx(iconsMaterial.IndeterminateCheckBoxOutlined, {}),
18432
- money: true,
18433
- error: false,
18434
- warning: false
18435
- },
18436
- "Revenue Raised": {
18437
- value: "$".concat(formatKpi$2(overview.totalRevenue)),
18438
- subValue: formatGrowth$2(growth.totalRevenue),
18439
- data: revenueSeries.data.length > 0 ? revenueSeries.data : flatSeries(0),
18440
- categories: chartCategories,
18441
- icon: /*#__PURE__*/jsxRuntime.jsx(iconsMaterial.PaidOutlined, {}),
18442
- money: true,
18443
- error: false,
18444
- warning: false
18445
- },
18446
- ROAS: {
18447
- value: "".concat(formatKpi$2(overview.roas), "x"),
18448
- subValue: formatGrowth$2(growth.roas),
18449
- data: roasChartData.length > 0 ? roasChartData : flatSeries(0),
18450
- categories: chartCategories,
18451
- icon: /*#__PURE__*/jsxRuntime.jsx(iconsMaterial.TrendingUp, {}),
18452
- money: false,
18453
- error: false,
18454
- warning: false
18455
- },
18456
- "Cost Per Donor": {
18457
- value: "$".concat(formatKpi$2(overview.costPerDonor)),
18458
- subValue: formatGrowth$2(growth.costPerDonor),
18459
- data: flatSeries(overview.costPerDonor),
18460
- categories: chartCategories,
18461
- icon: /*#__PURE__*/jsxRuntime.jsx(iconsMaterial.PersonOutlined, {}),
18462
- money: true,
18463
- error: false,
18464
- warning: false
18465
- },
18466
- "Conversion Rate": {
18467
- value: "".concat(formatKpi$2(overview.conversionRate), "%"),
18468
- subValue: formatGrowth$2(growth.conversionRate),
18469
- data: flatSeries(overview.conversionRate),
18470
- categories: chartCategories,
18471
- icon: /*#__PURE__*/jsxRuntime.jsx(ConversionRateIcon, {}),
18472
- money: false,
18473
- error: false,
18474
- warning: false
18475
- },
18476
- "Avg Donation": {
18477
- value: "$".concat(formatKpi$2(overview.averageDonation)),
18478
- subValue: formatGrowth$2(growth.averageDonation),
18479
- data: flatSeries(overview.averageDonation),
18480
- categories: chartCategories,
18481
- icon: /*#__PURE__*/jsxRuntime.jsx(AverageDonationIcon, {}),
18482
- money: true,
18483
- error: false,
18484
- warning: false
18485
- }
18486
- };
18487
- }, [fallbackCategories, growth, hasPaidOverview, overview, revenueSeries, roasChartData, spendSeries]);
18488
- var channelRows = React.useMemo(function () {
18489
- var channels = apiData === null || apiData === void 0 ? void 0 : apiData.channelPerformance;
18490
- if (!hasPaidOverview) return [];
18491
- if (!Array.isArray(channels) || channels.length === 0) return [];
18492
- return channels.map(function (item) {
18493
- var _item$roas, _item$spend, _item$revenue, _item$cpa;
18494
- var style = getChannelStyle(item.channel);
18495
- var roas = Number((_item$roas = item.roas) !== null && _item$roas !== void 0 ? _item$roas : 0);
18496
- return _objectSpread2({
18497
- id: style.id,
18498
- avatarBg: style.avatarBg,
18499
- name: item.channel,
18500
- val1: "$".concat(formatNumber((_item$spend = item.spend) !== null && _item$spend !== void 0 ? _item$spend : 0)),
18501
- val2: "$".concat(formatNumber((_item$revenue = item.revenue) !== null && _item$revenue !== void 0 ? _item$revenue : 0)),
18502
- val3: "".concat(roas.toFixed(1), "x"),
18503
- val4: "$".concat(formatNumber((_item$cpa = item.cpa) !== null && _item$cpa !== void 0 ? _item$cpa : 0)),
18504
- highlightVal3: true,
18505
- val3Color: getRoasColor(roas)
18506
- }, mapChannelTrend(item.trend));
18507
- });
18508
- }, [apiData === null || apiData === void 0 ? void 0 : apiData.channelPerformance, hasPaidOverview]);
18509
- var spendAllocation = React.useMemo(function () {
18510
- var _allocation$totalSpen, _allocation$totalSpen2;
18511
- var allocation = apiData === null || apiData === void 0 ? void 0 : apiData.spendAllocation;
18512
- if (!hasPaidOverview) return [];
18513
- if (!allocation || !Array.isArray(allocation.data) || allocation.data.length === 0) {
18514
- return buildEmptySpendAllocation();
18515
- }
18516
- var items = allocation.data.map(function (item) {
18517
- var _item$percentage, _item$spend2, _item$percentage2;
18518
- var style = getChannelStyle(item.channel);
18519
- return {
18520
- label: item.channel,
18521
- val: "".concat(Number((_item$percentage = item.percentage) !== null && _item$percentage !== void 0 ? _item$percentage : 0).toFixed(1), "%"),
18522
- color: style.color,
18523
- spend: (_item$spend2 = item.spend) !== null && _item$spend2 !== void 0 ? _item$spend2 : 0,
18524
- percentage: (_item$percentage2 = item.percentage) !== null && _item$percentage2 !== void 0 ? _item$percentage2 : 0
18525
- };
18526
- });
18527
- return {
18528
- series: items.map(function (item) {
18529
- return item.percentage;
18530
- }),
18531
- labels: items.map(function (item) {
18532
- return item.label;
18533
- }),
18534
- colors: items.map(function (item) {
18535
- return item.color;
18536
- }),
18537
- centerLabel: "total spend",
18538
- centerValue: "$".concat(formatNumber((_allocation$totalSpen = allocation.totalSpend) !== null && _allocation$totalSpen !== void 0 ? _allocation$totalSpen : 0)),
18539
- subtitle: "Where $".concat(formatNumber((_allocation$totalSpen2 = allocation.totalSpend) !== null && _allocation$totalSpen2 !== void 0 ? _allocation$totalSpen2 : 0), " went"),
18540
- items: items.map(function (_ref1) {
18541
- var label = _ref1.label,
18542
- val = _ref1.val,
18543
- color = _ref1.color;
18544
- return {
18545
- label: label,
18546
- val: val,
18547
- color: color
18548
- };
18549
- })
18550
- };
18551
- }, [apiData === null || apiData === void 0 ? void 0 : apiData.spendAllocation, hasPaidOverview]);
18552
- var topCampaignsData = React.useMemo(function () {
18553
- var campaigns = apiData === null || apiData === void 0 ? void 0 : apiData.topCampaigns;
18554
- if (!hasPaidOverview) return [];
18555
- if (!Array.isArray(campaigns)) return [];
18556
- if (campaigns.length === 0) return [];
18557
- return campaigns.map(function (item) {
18558
- var _item$spend3, _item$revenue2, _item$roas2;
18559
- var name = item.campaignName || item.campaign || item.name || "Unknown";
18560
- return {
18561
- id: getCampaignInitials$1(name),
18562
- name: name,
18563
- spend: "$".concat(formatNumber((_item$spend3 = item.spend) !== null && _item$spend3 !== void 0 ? _item$spend3 : 0)),
18564
- revenue: "$".concat(formatNumber((_item$revenue2 = item.revenue) !== null && _item$revenue2 !== void 0 ? _item$revenue2 : 0)),
18565
- roas: "".concat(Number((_item$roas2 = item.roas) !== null && _item$roas2 !== void 0 ? _item$roas2 : 0).toFixed(1), "x")
18566
- };
18567
- });
18568
- }, [apiData === null || apiData === void 0 ? void 0 : apiData.topCampaigns, hasPaidOverview]);
18569
- var donorGeographyData = React.useMemo(function () {
18570
- var geography = apiData === null || apiData === void 0 ? void 0 : apiData.donorGeography;
18571
- if (!hasPaidOverview) return [];
18572
- var rawCountries = Array.isArray(geography) ? geography : (geography === null || geography === void 0 ? void 0 : geography.countries) || (geography === null || geography === void 0 ? void 0 : geography.data) || [];
18573
- return Array.isArray(rawCountries) ? rawCountries : [];
18574
- }, [apiData === null || apiData === void 0 ? void 0 : apiData.donorGeography, hasPaidOverview]);
18575
18495
  var renderCard = function renderCard(title) {
18576
- return /*#__PURE__*/jsxRuntime.jsx(MetricCard$1, {
18496
+ return /*#__PURE__*/jsxRuntime.jsx(DisplayCard, {
18577
18497
  title: title,
18578
18498
  value: metricInfo[title].value,
18579
- caption: metricInfo[title].subValue,
18499
+ subValue: metricInfo[title].subValue,
18580
18500
  icon: metricInfo[title].icon,
18581
- error: metricInfo[title].error,
18582
- active: activeMetric === title,
18583
18501
  onClick: function onClick() {
18584
18502
  return setActiveMetric(title);
18585
18503
  },
18586
- sx: metricInfo[title].error ? {
18587
- border: "2px solid #ef4444",
18588
- bgcolor: "#fffafa",
18589
- cursor: "pointer"
18590
- } : {
18591
- cursor: "pointer"
18504
+ isActive: activeMetric === title,
18505
+ sx: {
18506
+ flex: 1
18592
18507
  }
18593
- });
18508
+ }, title);
18594
18509
  };
18595
- var selectedInfo = metricInfo[activeMetric] || metricInfo["Total Spent"];
18596
- var emptySpendAllocation = buildEmptySpendAllocation();
18597
- var chartCategories = ((_selectedInfo$categor = selectedInfo.categories) === null || _selectedInfo$categor === void 0 ? void 0 : _selectedInfo$categor.length) > 0 ? selectedInfo.categories : fallbackCategories;
18510
+ var selectedInfo = metricInfo[activeMetric];
18598
18511
  var mainChart = {
18599
18512
  label: activeMetric,
18600
18513
  value: selectedInfo.value,
18601
18514
  trend: selectedInfo.subValue,
18602
18515
  data: selectedInfo.data,
18603
- categories: chartCategories,
18604
- hideControls: true,
18605
- isAmount: selectedInfo.money
18516
+ categories: categories
18606
18517
  };
18607
- if (apiLoading) {
18608
- return /*#__PURE__*/jsxRuntime.jsx(PaidSectionSkeleton, {});
18609
- }
18610
18518
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
18611
18519
  children: [/*#__PURE__*/jsxRuntime.jsx(material.Box, {
18612
18520
  sx: {
18613
- display: "grid",
18614
- gridTemplateColumns: {
18615
- xs: "1fr",
18616
- sm: "1fr 1fr",
18617
- md: "1fr 1fr 1fr",
18618
- lg: "repeat(6, 1fr)"
18619
- },
18620
- gap: "6px",
18621
- mb: 0
18521
+ display: "flex",
18522
+ gap: 2,
18523
+ mb: 1,
18524
+ flexWrap: "wrap"
18622
18525
  },
18623
18526
  children: Object.keys(metricInfo).map(renderCard)
18624
18527
  }), /*#__PURE__*/jsxRuntime.jsx(material.Grid, {
18625
18528
  container: true,
18626
18529
  spacing: 3,
18627
18530
  sx: {
18628
- mt: "12px"
18531
+ mt: 1
18629
18532
  },
18630
18533
  children: /*#__PURE__*/jsxRuntime.jsx(RenderChartCard, {
18631
18534
  item: mainChart,
@@ -18633,61 +18536,125 @@ var PaidSection = function PaidSection(_ref) {
18633
18536
  md: 12,
18634
18537
  type: "area",
18635
18538
  isPrimary: true,
18636
- isPremium: true,
18637
- numberOfDays: numberOfDays,
18638
- metric: activeMetric === "Conversion Rate" ? "Percent" : activeMetric === "ROAS" ? "ROAS" : selectedInfo.money ? "Revenue" : "Donors"
18539
+ isPremium: true
18639
18540
  })
18640
18541
  }), /*#__PURE__*/jsxRuntime.jsxs(material.Grid, {
18641
18542
  container: true,
18642
18543
  spacing: 3,
18643
18544
  sx: {
18644
- mt: "6px"
18545
+ mt: 3
18645
18546
  },
18646
18547
  children: [/*#__PURE__*/jsxRuntime.jsx(material.Grid, {
18647
18548
  item: true,
18648
18549
  xs: 12,
18649
18550
  md: 6,
18650
- sx: {
18651
- paddingTop: "0px !important",
18652
- minHeight: "430px"
18653
- },
18654
18551
  children: /*#__PURE__*/jsxRuntime.jsx(ActiveCampaignsCard, {
18655
- title: "Channel Performance",
18552
+ title: "Channel performance",
18656
18553
  subtitle: "Ad platforms ranked by ROAS",
18657
- columns: ["Channel", "Ppend", "Revenue", "ROAS", "CPA", "Trend"],
18554
+ columns: ["channel", "spend", "revenue", "ROAS", "CPA", "trend"],
18658
18555
  gridTemplateColumns: "2.2fr 1fr 1fr 0.8fr 0.8fr 1.2fr",
18659
- height: "100%",
18660
- rows: channelRows !== null && channelRows !== void 0 ? channelRows : []
18556
+ rows: [{
18557
+ id: "M",
18558
+ avatarBg: "#4267B2",
18559
+ avatarColor: "#fff",
18560
+ name: "Meta Ads",
18561
+ val1: "$32,800",
18562
+ val2: "$112,400",
18563
+ val3: "3.4x",
18564
+ val4: "$340",
18565
+ type: "trend",
18566
+ trendType: "up",
18567
+ trendLabel: "Improving",
18568
+ highlightVal3: true,
18569
+ val3Color: "#22C55E",
18570
+ comingSoon: false
18571
+ }, {
18572
+ id: "G",
18573
+ avatarBg: "#C4C4C4",
18574
+ avatarColor: "#fff",
18575
+ name: "Google Ads",
18576
+ val1: "—",
18577
+ val2: "—",
18578
+ val3: "—",
18579
+ val4: "—",
18580
+ type: "comingSoon",
18581
+ comingSoon: true
18582
+ }, {
18583
+ id: "T",
18584
+ avatarBg: "#C4C4C4",
18585
+ avatarColor: "#fff",
18586
+ name: "TikTok Ads",
18587
+ val1: "—",
18588
+ val2: "—",
18589
+ val3: "—",
18590
+ val4: "—",
18591
+ type: "comingSoon",
18592
+ comingSoon: true
18593
+ }, {
18594
+ id: "Y",
18595
+ avatarBg: "#C4C4C4",
18596
+ avatarColor: "#fff",
18597
+ name: "YouTube",
18598
+ val1: "—",
18599
+ val2: "—",
18600
+ val3: "—",
18601
+ val4: "—",
18602
+ type: "comingSoon",
18603
+ comingSoon: true
18604
+ }, {
18605
+ id: "S",
18606
+ avatarBg: "#C4C4C4",
18607
+ avatarColor: "#fff",
18608
+ name: "Snapchat",
18609
+ val1: "—",
18610
+ val2: "—",
18611
+ val3: "—",
18612
+ val4: "—",
18613
+ type: "comingSoon",
18614
+ comingSoon: true
18615
+ }]
18661
18616
  })
18662
18617
  }), /*#__PURE__*/jsxRuntime.jsx(material.Grid, {
18663
18618
  item: true,
18664
18619
  xs: 12,
18665
18620
  md: 6,
18666
- sx: {
18667
- paddingTop: "0px !important",
18668
- minHeight: "430px",
18669
- paddingLeft: {
18670
- xs: "24px !important",
18671
- md: "6px !important"
18672
- },
18673
- marginTop: {
18674
- xs: "6px",
18675
- md: "0px"
18676
- }
18677
- },
18678
18621
  children: /*#__PURE__*/jsxRuntime.jsx(DonorMixCard, {
18679
- title: "Spend Allocation",
18680
- subtitle: (_spendAllocation$subt = spendAllocation === null || spendAllocation === void 0 ? void 0 : spendAllocation.subtitle) !== null && _spendAllocation$subt !== void 0 ? _spendAllocation$subt : emptySpendAllocation.subtitle,
18681
- series: (_spendAllocation$seri = spendAllocation === null || spendAllocation === void 0 ? void 0 : spendAllocation.series) !== null && _spendAllocation$seri !== void 0 ? _spendAllocation$seri : emptySpendAllocation.series,
18682
- labels: (_spendAllocation$labe = spendAllocation === null || spendAllocation === void 0 ? void 0 : spendAllocation.labels) !== null && _spendAllocation$labe !== void 0 ? _spendAllocation$labe : emptySpendAllocation.labels,
18683
- colors: (_spendAllocation$colo = spendAllocation === null || spendAllocation === void 0 ? void 0 : spendAllocation.colors) !== null && _spendAllocation$colo !== void 0 ? _spendAllocation$colo : emptySpendAllocation.colors,
18684
- centerLabel: (_spendAllocation$cent = spendAllocation === null || spendAllocation === void 0 ? void 0 : spendAllocation.centerLabel) !== null && _spendAllocation$cent !== void 0 ? _spendAllocation$cent : "total spend",
18685
- centerValue: (_spendAllocation$cent2 = spendAllocation === null || spendAllocation === void 0 ? void 0 : spendAllocation.centerValue) !== null && _spendAllocation$cent2 !== void 0 ? _spendAllocation$cent2 : emptySpendAllocation.centerValue,
18686
- items: (_spendAllocation$item = spendAllocation === null || spendAllocation === void 0 ? void 0 : spendAllocation.items) !== null && _spendAllocation$item !== void 0 ? _spendAllocation$item : emptySpendAllocation.items,
18622
+ title: "Spend allocation",
18623
+ subtitle: "Where $80.3K went this month",
18624
+ series: [100],
18625
+ labels: ["Meta Ads"],
18626
+ colors: ["#4267B2"],
18627
+ centerLabel: "total spend",
18628
+ centerValue: "$80.3K",
18629
+ items: [{
18630
+ label: "Meta Ads",
18631
+ val: "100%",
18632
+ color: "#4267B2",
18633
+ comingSoon: false
18634
+ }, {
18635
+ label: "Google Ads",
18636
+ val: "Coming Soon",
18637
+ color: "#C4C4C4",
18638
+ comingSoon: true
18639
+ }, {
18640
+ label: "TikTok",
18641
+ val: "Coming Soon",
18642
+ color: "#C4C4C4",
18643
+ comingSoon: true
18644
+ }, {
18645
+ label: "YouTube",
18646
+ val: "Coming Soon",
18647
+ color: "#C4C4C4",
18648
+ comingSoon: true
18649
+ }, {
18650
+ label: "Snapchat",
18651
+ val: "Coming Soon",
18652
+ color: "#C4C4C4",
18653
+ comingSoon: true
18654
+ }],
18687
18655
  showBottomSummary: false,
18688
18656
  sx: {
18689
- pb: 3.5,
18690
- height: "100%"
18657
+ pb: 3.5
18691
18658
  }
18692
18659
  })
18693
18660
  })]
@@ -18695,44 +18662,18 @@ var PaidSection = function PaidSection(_ref) {
18695
18662
  container: true,
18696
18663
  spacing: 3,
18697
18664
  sx: {
18698
- mt: "6px",
18699
- alignItems: "stretch"
18665
+ mt: 3
18700
18666
  },
18701
18667
  children: [/*#__PURE__*/jsxRuntime.jsx(material.Grid, {
18702
18668
  item: true,
18703
18669
  xs: 12,
18704
18670
  md: 6,
18705
- sx: {
18706
- paddingTop: "0px !important",
18707
- display: "flex"
18708
- },
18709
- children: /*#__PURE__*/jsxRuntime.jsx(material.Box, {
18710
- sx: {
18711
- width: "100%"
18712
- },
18713
- children: /*#__PURE__*/jsxRuntime.jsx(TopPerformingCampaignsCard, {
18714
- data: topCampaignsData !== null && topCampaignsData !== void 0 ? topCampaignsData : []
18715
- })
18716
- })
18671
+ children: /*#__PURE__*/jsxRuntime.jsx(TopPerformingCampaignsCard, {})
18717
18672
  }), /*#__PURE__*/jsxRuntime.jsx(material.Grid, {
18718
18673
  item: true,
18719
18674
  xs: 12,
18720
18675
  md: 6,
18721
- sx: {
18722
- paddingTop: "0px !important",
18723
- paddingLeft: {
18724
- xs: "24px !important",
18725
- md: "6px !important"
18726
- },
18727
- marginTop: {
18728
- xs: "6px",
18729
- md: "0px"
18730
- },
18731
- display: "flex"
18732
- },
18733
- children: /*#__PURE__*/jsxRuntime.jsx(PaidDonorGeographyCard, {
18734
- donorGeographyData: donorGeographyData
18735
- })
18676
+ children: /*#__PURE__*/jsxRuntime.jsx(PaidDonorGeographyCard, {})
18736
18677
  })]
18737
18678
  })]
18738
18679
  });