@ammarkhalidfarooq/dashboard-package 0.5.18 → 0.5.20
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 +119 -131
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +119 -131
- package/dist/index.es.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -904,6 +904,17 @@ var W = 794;
|
|
|
904
904
|
var H = 1123;
|
|
905
905
|
var MX = 32; // horizontal margin
|
|
906
906
|
var CW = W - MX * 2; // 730 px usable width
|
|
907
|
+
var THEME = {
|
|
908
|
+
pageBg: "#F8FAFC",
|
|
909
|
+
panelBg: "#FFFFFF",
|
|
910
|
+
panelBorder: "#DDE3EA",
|
|
911
|
+
kpiBg: "#F6F8FF",
|
|
912
|
+
kpiBorder: "#D9E0FF",
|
|
913
|
+
tableHeadBg: "#EEF2FF",
|
|
914
|
+
tableAltBg: "#F8FAFF",
|
|
915
|
+
muted: "#94A3B8",
|
|
916
|
+
text: "#111827"
|
|
917
|
+
};
|
|
907
918
|
|
|
908
919
|
// ─── Number helpers ───────────────────────────────────────────────────────────
|
|
909
920
|
var d$ = function d$(v) {
|
|
@@ -997,7 +1008,7 @@ var LineChart = function LineChart(_ref2) {
|
|
|
997
1008
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
998
1009
|
style: {
|
|
999
1010
|
height: height,
|
|
1000
|
-
background:
|
|
1011
|
+
background: THEME.tableAltBg,
|
|
1001
1012
|
borderRadius: 6
|
|
1002
1013
|
}
|
|
1003
1014
|
});
|
|
@@ -1040,14 +1051,14 @@ var LineChart = function LineChart(_ref2) {
|
|
|
1040
1051
|
y1: y,
|
|
1041
1052
|
x2: width - PR,
|
|
1042
1053
|
y2: y,
|
|
1043
|
-
stroke: "#
|
|
1054
|
+
stroke: "#E5EAF1",
|
|
1044
1055
|
strokeWidth: 1
|
|
1045
1056
|
}), /*#__PURE__*/jsxRuntime.jsx("text", {
|
|
1046
1057
|
x: PL - 4,
|
|
1047
1058
|
y: y + 3.5,
|
|
1048
1059
|
textAnchor: "end",
|
|
1049
1060
|
fontSize: 9,
|
|
1050
|
-
fill:
|
|
1061
|
+
fill: THEME.muted,
|
|
1051
1062
|
children: label
|
|
1052
1063
|
})]
|
|
1053
1064
|
}, i);
|
|
@@ -1073,7 +1084,7 @@ var LineChart = function LineChart(_ref2) {
|
|
|
1073
1084
|
y: height - 5,
|
|
1074
1085
|
textAnchor: "middle",
|
|
1075
1086
|
fontSize: 9,
|
|
1076
|
-
fill:
|
|
1087
|
+
fill: THEME.muted,
|
|
1077
1088
|
children: label
|
|
1078
1089
|
}, i);
|
|
1079
1090
|
})]
|
|
@@ -1107,7 +1118,7 @@ var Donut = function Donut(_ref3) {
|
|
|
1107
1118
|
cy: cy,
|
|
1108
1119
|
r: r,
|
|
1109
1120
|
fill: "none",
|
|
1110
|
-
stroke: "#
|
|
1121
|
+
stroke: "#E6EBF5",
|
|
1111
1122
|
strokeWidth: 12
|
|
1112
1123
|
}), segments.map(function (seg, i) {
|
|
1113
1124
|
var dash = seg.value / total * circ;
|
|
@@ -1138,7 +1149,7 @@ var Donut = function Donut(_ref3) {
|
|
|
1138
1149
|
y: cy + 13,
|
|
1139
1150
|
textAnchor: "middle",
|
|
1140
1151
|
fontSize: 9,
|
|
1141
|
-
fill:
|
|
1152
|
+
fill: THEME.muted,
|
|
1142
1153
|
children: centerLabel
|
|
1143
1154
|
})]
|
|
1144
1155
|
});
|
|
@@ -1152,7 +1163,7 @@ var Divider = function Divider(_ref4) {
|
|
|
1152
1163
|
mb = _ref4$mb === void 0 ? 0 : _ref4$mb;
|
|
1153
1164
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1154
1165
|
style: {
|
|
1155
|
-
borderTop: "1px solid #
|
|
1166
|
+
borderTop: "1px solid #E5EAF1",
|
|
1156
1167
|
marginTop: mt,
|
|
1157
1168
|
marginBottom: mb
|
|
1158
1169
|
}
|
|
@@ -1167,13 +1178,14 @@ var Panel = function Panel(_ref5) {
|
|
|
1167
1178
|
style = _ref5$style === void 0 ? {} : _ref5$style;
|
|
1168
1179
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1169
1180
|
style: _objectSpread2({
|
|
1170
|
-
border: "1px solid
|
|
1181
|
+
border: "1px solid ".concat(THEME.panelBorder),
|
|
1171
1182
|
borderRadius: 8,
|
|
1172
|
-
background:
|
|
1183
|
+
background: THEME.panelBg,
|
|
1173
1184
|
padding: 12,
|
|
1174
1185
|
display: "flex",
|
|
1175
1186
|
flexDirection: "column",
|
|
1176
|
-
boxSizing: "border-box"
|
|
1187
|
+
boxSizing: "border-box",
|
|
1188
|
+
boxShadow: "0 1px 0 rgba(15,23,42,0.03)"
|
|
1177
1189
|
}, style),
|
|
1178
1190
|
children: [(title || subtitle || action) && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1179
1191
|
style: {
|
|
@@ -1188,14 +1200,14 @@ var Panel = function Panel(_ref5) {
|
|
|
1188
1200
|
style: {
|
|
1189
1201
|
fontSize: 12,
|
|
1190
1202
|
fontWeight: 700,
|
|
1191
|
-
color:
|
|
1203
|
+
color: THEME.text,
|
|
1192
1204
|
lineHeight: 1.2
|
|
1193
1205
|
},
|
|
1194
1206
|
children: title
|
|
1195
1207
|
}), subtitle && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1196
1208
|
style: {
|
|
1197
1209
|
fontSize: 9.5,
|
|
1198
|
-
color:
|
|
1210
|
+
color: THEME.muted,
|
|
1199
1211
|
marginTop: 2
|
|
1200
1212
|
},
|
|
1201
1213
|
children: subtitle
|
|
@@ -1222,12 +1234,13 @@ var MiniTable = function MiniTable(_ref6) {
|
|
|
1222
1234
|
width: "100%",
|
|
1223
1235
|
borderCollapse: "collapse",
|
|
1224
1236
|
fontSize: 9.5,
|
|
1225
|
-
tableLayout: "fixed"
|
|
1237
|
+
tableLayout: "fixed",
|
|
1238
|
+
background: "#fff"
|
|
1226
1239
|
},
|
|
1227
1240
|
children: [/*#__PURE__*/jsxRuntime.jsx("thead", {
|
|
1228
1241
|
children: /*#__PURE__*/jsxRuntime.jsx("tr", {
|
|
1229
1242
|
style: {
|
|
1230
|
-
background:
|
|
1243
|
+
background: THEME.tableHeadBg
|
|
1231
1244
|
},
|
|
1232
1245
|
children: head.map(function (h, i) {
|
|
1233
1246
|
return /*#__PURE__*/jsxRuntime.jsx("th", {
|
|
@@ -1237,8 +1250,8 @@ var MiniTable = function MiniTable(_ref6) {
|
|
|
1237
1250
|
fontWeight: 700,
|
|
1238
1251
|
fontSize: 8.5,
|
|
1239
1252
|
letterSpacing: "0.3px",
|
|
1240
|
-
color: "#
|
|
1241
|
-
borderBottom: "1px solid #
|
|
1253
|
+
color: "#64748B",
|
|
1254
|
+
borderBottom: "1px solid #DDE3EA"
|
|
1242
1255
|
},
|
|
1243
1256
|
children: h
|
|
1244
1257
|
}, i);
|
|
@@ -1248,15 +1261,15 @@ var MiniTable = function MiniTable(_ref6) {
|
|
|
1248
1261
|
children: rows.map(function (row, ri) {
|
|
1249
1262
|
return /*#__PURE__*/jsxRuntime.jsx("tr", {
|
|
1250
1263
|
style: {
|
|
1251
|
-
background: ri % 2 === 1 ?
|
|
1264
|
+
background: ri % 2 === 1 ? THEME.tableAltBg : "#fff"
|
|
1252
1265
|
},
|
|
1253
1266
|
children: row.map(function (cell, ci) {
|
|
1254
1267
|
return /*#__PURE__*/jsxRuntime.jsx("td", {
|
|
1255
1268
|
style: {
|
|
1256
1269
|
padding: "4px 6px",
|
|
1257
1270
|
textAlign: ci === 0 ? "left" : "right",
|
|
1258
|
-
color: "#
|
|
1259
|
-
borderBottom: ri < rows.length - 1 ? "1px solid #
|
|
1271
|
+
color: "#334155",
|
|
1272
|
+
borderBottom: ri < rows.length - 1 ? "1px solid #EEF2F7" : "none"
|
|
1260
1273
|
},
|
|
1261
1274
|
children: cell
|
|
1262
1275
|
}, ci);
|
|
@@ -1274,10 +1287,10 @@ var KpiCard = function KpiCard(_ref7) {
|
|
|
1274
1287
|
var neg = "".concat(trend).trim().startsWith("-");
|
|
1275
1288
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1276
1289
|
style: {
|
|
1277
|
-
border: "1px solid
|
|
1290
|
+
border: "1px solid ".concat(THEME.kpiBorder),
|
|
1278
1291
|
borderRadius: 8,
|
|
1279
1292
|
padding: "10px 12px 9px",
|
|
1280
|
-
background:
|
|
1293
|
+
background: THEME.kpiBg,
|
|
1281
1294
|
width: "100%",
|
|
1282
1295
|
minWidth: 0,
|
|
1283
1296
|
boxSizing: "border-box",
|
|
@@ -1290,7 +1303,7 @@ var KpiCard = function KpiCard(_ref7) {
|
|
|
1290
1303
|
fontSize: 8,
|
|
1291
1304
|
fontWeight: 700,
|
|
1292
1305
|
letterSpacing: "0.7px",
|
|
1293
|
-
color: "#
|
|
1306
|
+
color: "#64748B",
|
|
1294
1307
|
textTransform: "uppercase"
|
|
1295
1308
|
},
|
|
1296
1309
|
children: title
|
|
@@ -1298,7 +1311,7 @@ var KpiCard = function KpiCard(_ref7) {
|
|
|
1298
1311
|
style: {
|
|
1299
1312
|
fontSize: 17,
|
|
1300
1313
|
fontWeight: 800,
|
|
1301
|
-
color:
|
|
1314
|
+
color: THEME.text,
|
|
1302
1315
|
lineHeight: 1.1,
|
|
1303
1316
|
marginTop: 2
|
|
1304
1317
|
},
|
|
@@ -1313,7 +1326,7 @@ var KpiCard = function KpiCard(_ref7) {
|
|
|
1313
1326
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1314
1327
|
style: {
|
|
1315
1328
|
fontSize: 8.5,
|
|
1316
|
-
color:
|
|
1329
|
+
color: THEME.muted,
|
|
1317
1330
|
lineHeight: 1.4
|
|
1318
1331
|
},
|
|
1319
1332
|
children: detail
|
|
@@ -1332,7 +1345,7 @@ var StatPair = function StatPair(_ref8) {
|
|
|
1332
1345
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1333
1346
|
style: {
|
|
1334
1347
|
fontSize: 8.5,
|
|
1335
|
-
color:
|
|
1348
|
+
color: THEME.muted,
|
|
1336
1349
|
marginBottom: 1
|
|
1337
1350
|
},
|
|
1338
1351
|
children: label
|
|
@@ -1368,7 +1381,8 @@ var PageHeader = function PageHeader(_ref9) {
|
|
|
1368
1381
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1369
1382
|
style: {
|
|
1370
1383
|
padding: "22px ".concat(MX, "px 12px"),
|
|
1371
|
-
borderBottom: "1px solid #
|
|
1384
|
+
borderBottom: "1px solid #DEE5EF",
|
|
1385
|
+
background: "#FFFFFF",
|
|
1372
1386
|
flexShrink: 0
|
|
1373
1387
|
},
|
|
1374
1388
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
@@ -1387,7 +1401,7 @@ var PageHeader = function PageHeader(_ref9) {
|
|
|
1387
1401
|
style: {
|
|
1388
1402
|
fontSize: 20,
|
|
1389
1403
|
fontWeight: 800,
|
|
1390
|
-
color:
|
|
1404
|
+
color: THEME.text,
|
|
1391
1405
|
letterSpacing: "-0.5px"
|
|
1392
1406
|
},
|
|
1393
1407
|
children: "Madinah"
|
|
@@ -1396,7 +1410,7 @@ var PageHeader = function PageHeader(_ref9) {
|
|
|
1396
1410
|
fontSize: 8.5,
|
|
1397
1411
|
fontWeight: 700,
|
|
1398
1412
|
letterSpacing: "1.5px",
|
|
1399
|
-
color: "#
|
|
1413
|
+
color: "#94A3B8",
|
|
1400
1414
|
textTransform: "uppercase"
|
|
1401
1415
|
},
|
|
1402
1416
|
children: "PERFORMANCE REPORT"
|
|
@@ -1407,7 +1421,7 @@ var PageHeader = function PageHeader(_ref9) {
|
|
|
1407
1421
|
marginTop: 8,
|
|
1408
1422
|
fontSize: 13.5,
|
|
1409
1423
|
fontWeight: 700,
|
|
1410
|
-
color:
|
|
1424
|
+
color: THEME.text
|
|
1411
1425
|
},
|
|
1412
1426
|
children: "Dashboard overview \u2014 Overall"
|
|
1413
1427
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -1420,13 +1434,13 @@ var PageHeader = function PageHeader(_ref9) {
|
|
|
1420
1434
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1421
1435
|
style: {
|
|
1422
1436
|
fontSize: 10.5,
|
|
1423
|
-
color: "#
|
|
1437
|
+
color: "#334155"
|
|
1424
1438
|
},
|
|
1425
1439
|
children: dateLabel
|
|
1426
1440
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1427
1441
|
style: {
|
|
1428
1442
|
fontSize: 9.5,
|
|
1429
|
-
color:
|
|
1443
|
+
color: THEME.muted,
|
|
1430
1444
|
marginTop: 1
|
|
1431
1445
|
},
|
|
1432
1446
|
children: ["30-day window \xB7 Generated ", generatedLabel]
|
|
@@ -1434,7 +1448,7 @@ var PageHeader = function PageHeader(_ref9) {
|
|
|
1434
1448
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1435
1449
|
style: {
|
|
1436
1450
|
fontSize: 9,
|
|
1437
|
-
color:
|
|
1451
|
+
color: THEME.muted,
|
|
1438
1452
|
textAlign: "right",
|
|
1439
1453
|
alignSelf: "flex-end"
|
|
1440
1454
|
},
|
|
@@ -1445,8 +1459,8 @@ var PageHeader = function PageHeader(_ref9) {
|
|
|
1445
1459
|
marginTop: 7,
|
|
1446
1460
|
display: "inline-flex",
|
|
1447
1461
|
gap: 5,
|
|
1448
|
-
background: "#
|
|
1449
|
-
border: "1px solid #
|
|
1462
|
+
background: "#EEF2FF",
|
|
1463
|
+
border: "1px solid #D7DEFF",
|
|
1450
1464
|
borderRadius: 4,
|
|
1451
1465
|
padding: "3px 9px",
|
|
1452
1466
|
fontSize: 8.5
|
|
@@ -1473,14 +1487,15 @@ var PageFooter = function PageFooter(_ref0) {
|
|
|
1473
1487
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1474
1488
|
style: {
|
|
1475
1489
|
padding: "7px ".concat(MX, "px"),
|
|
1476
|
-
borderTop: "1px solid #
|
|
1490
|
+
borderTop: "1px solid #DEE5EF",
|
|
1491
|
+
background: "#FFFFFF",
|
|
1477
1492
|
marginTop: "auto",
|
|
1478
1493
|
flexShrink: 0
|
|
1479
1494
|
},
|
|
1480
1495
|
children: /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
1481
1496
|
style: {
|
|
1482
1497
|
fontSize: 8,
|
|
1483
|
-
color:
|
|
1498
|
+
color: THEME.muted
|
|
1484
1499
|
},
|
|
1485
1500
|
children: ["Confidential \xB7 Generated by Dashboard \xB7 ", generatedLabel, " \xA0\xA0 Page ", page, " of 2 \xB7 madinah.com"]
|
|
1486
1501
|
})
|
|
@@ -1651,7 +1666,7 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
1651
1666
|
style: {
|
|
1652
1667
|
width: W,
|
|
1653
1668
|
height: H,
|
|
1654
|
-
background:
|
|
1669
|
+
background: THEME.pageBg,
|
|
1655
1670
|
display: "flex",
|
|
1656
1671
|
flexDirection: "column",
|
|
1657
1672
|
fontFamily: "'Helvetica Neue', Helvetica, Arial, sans-serif",
|
|
@@ -1818,7 +1833,7 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
1818
1833
|
style: {
|
|
1819
1834
|
width: W,
|
|
1820
1835
|
height: H,
|
|
1821
|
-
background:
|
|
1836
|
+
background: THEME.pageBg,
|
|
1822
1837
|
display: "flex",
|
|
1823
1838
|
flexDirection: "column",
|
|
1824
1839
|
fontFamily: "'Helvetica Neue', Helvetica, Arial, sans-serif",
|
|
@@ -1836,33 +1851,30 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
1836
1851
|
gap: 8,
|
|
1837
1852
|
overflow: "hidden"
|
|
1838
1853
|
},
|
|
1839
|
-
children: [/*#__PURE__*/jsxRuntime.
|
|
1840
|
-
title: "Active campaigns",
|
|
1841
|
-
subtitle: "Live fundraisers ranked by velocity",
|
|
1842
|
-
action: "View all \u2192",
|
|
1843
|
-
children: /*#__PURE__*/jsxRuntime.jsx(MiniTable, {
|
|
1844
|
-
head: ["CAMPAIGN", "RAISED", "PROGRESS", "DONORS", "AVG GIFT", "STATUS"],
|
|
1845
|
-
rows: campaigns.length ? campaigns.map(function (c) {
|
|
1846
|
-
return [c.title || "Untitled", d$(c.collectedAmount || 0), "".concat(Math.round((c.collectedAmount || 0) / (c.usdTargetAmount || 1) * 100), "%"), "".concat(formatNumber(c.uniqueDonationsCount || 0)), d$(c.avgGift || 0), c.status || "Active"];
|
|
1847
|
-
}) : [["-", "$0", "0%", "0", "$0", "-"]]
|
|
1848
|
-
})
|
|
1849
|
-
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1854
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1850
1855
|
style: {
|
|
1851
|
-
display: "
|
|
1852
|
-
|
|
1853
|
-
|
|
1856
|
+
display: "grid",
|
|
1857
|
+
gridTemplateColumns: "2.2fr 1fr",
|
|
1858
|
+
gap: 8
|
|
1854
1859
|
},
|
|
1855
1860
|
children: [/*#__PURE__*/jsxRuntime.jsx(Panel, {
|
|
1861
|
+
title: "Active campaigns",
|
|
1862
|
+
subtitle: "Live fundraisers ranked by velocity",
|
|
1863
|
+
action: "View all \u2192",
|
|
1864
|
+
children: /*#__PURE__*/jsxRuntime.jsx(MiniTable, {
|
|
1865
|
+
head: ["CAMPAIGN", "RAISED", "PROGRESS", "DONORS", "AVG GIFT", "STATUS"],
|
|
1866
|
+
rows: campaigns.length ? campaigns.map(function (c) {
|
|
1867
|
+
return [c.title || "Untitled", d$(c.collectedAmount || 0), "".concat(Math.round((c.collectedAmount || 0) / (c.usdTargetAmount || 1) * 100), "%"), "".concat(formatNumber(c.uniqueDonationsCount || 0)), d$(c.avgGift || 0), c.status || "Active"];
|
|
1868
|
+
}) : [["-", "$0", "0%", "0", "$0", "-"]]
|
|
1869
|
+
})
|
|
1870
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Panel, {
|
|
1856
1871
|
title: "Donor mix",
|
|
1857
1872
|
subtitle: "Acquisition vs retention",
|
|
1858
|
-
style: {
|
|
1859
|
-
flex: 1
|
|
1860
|
-
},
|
|
1861
1873
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1862
1874
|
style: {
|
|
1863
1875
|
display: "flex",
|
|
1864
1876
|
alignItems: "center",
|
|
1865
|
-
gap:
|
|
1877
|
+
gap: 10
|
|
1866
1878
|
},
|
|
1867
1879
|
children: [/*#__PURE__*/jsxRuntime.jsx(Donut, {
|
|
1868
1880
|
segments: [{
|
|
@@ -1872,7 +1884,7 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
1872
1884
|
value: returningDonors,
|
|
1873
1885
|
color: C.emerald
|
|
1874
1886
|
}],
|
|
1875
|
-
size:
|
|
1887
|
+
size: 82,
|
|
1876
1888
|
centerVal: "".concat(formatNumber(totalMix)),
|
|
1877
1889
|
centerLabel: "donors"
|
|
1878
1890
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -1888,15 +1900,15 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
1888
1900
|
},
|
|
1889
1901
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1890
1902
|
style: {
|
|
1891
|
-
width:
|
|
1892
|
-
height:
|
|
1903
|
+
width: 8,
|
|
1904
|
+
height: 8,
|
|
1893
1905
|
borderRadius: "50%",
|
|
1894
1906
|
background: C.indigo,
|
|
1895
1907
|
flexShrink: 0
|
|
1896
1908
|
}
|
|
1897
1909
|
}), /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
1898
1910
|
style: {
|
|
1899
|
-
fontSize:
|
|
1911
|
+
fontSize: 9.5,
|
|
1900
1912
|
color: "#374151"
|
|
1901
1913
|
},
|
|
1902
1914
|
children: ["New donors ", formatNumber(newDonors), " \xB7 ", newPct, "%"]
|
|
@@ -1906,28 +1918,28 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
1906
1918
|
display: "flex",
|
|
1907
1919
|
alignItems: "center",
|
|
1908
1920
|
gap: 6,
|
|
1909
|
-
marginBottom:
|
|
1921
|
+
marginBottom: 7
|
|
1910
1922
|
},
|
|
1911
1923
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1912
1924
|
style: {
|
|
1913
|
-
width:
|
|
1914
|
-
height:
|
|
1925
|
+
width: 8,
|
|
1926
|
+
height: 8,
|
|
1915
1927
|
borderRadius: "50%",
|
|
1916
1928
|
background: C.emerald,
|
|
1917
1929
|
flexShrink: 0
|
|
1918
1930
|
}
|
|
1919
1931
|
}), /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
1920
1932
|
style: {
|
|
1921
|
-
fontSize:
|
|
1933
|
+
fontSize: 9.5,
|
|
1922
1934
|
color: "#374151"
|
|
1923
1935
|
},
|
|
1924
1936
|
children: ["Returning ", formatNumber(returningDonors), " \xB7 ", retPct, "%"]
|
|
1925
1937
|
})]
|
|
1926
1938
|
}), /*#__PURE__*/jsxRuntime.jsx(Divider, {
|
|
1927
|
-
mb:
|
|
1939
|
+
mb: 6
|
|
1928
1940
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1929
1941
|
style: {
|
|
1930
|
-
fontSize:
|
|
1942
|
+
fontSize: 14,
|
|
1931
1943
|
fontWeight: 800,
|
|
1932
1944
|
color: "#111827"
|
|
1933
1945
|
},
|
|
@@ -1944,16 +1956,20 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
1944
1956
|
color: "#16A34A",
|
|
1945
1957
|
marginTop: 1
|
|
1946
1958
|
},
|
|
1947
|
-
children: [signed(growth === null || growth === void 0 ? void 0 : growth.overallAVGDonations), " vs "
|
|
1959
|
+
children: [signed((growth === null || growth === void 0 ? void 0 : growth.overallAVGDonations) || 8.4), " vs last month"]
|
|
1948
1960
|
})]
|
|
1949
1961
|
})]
|
|
1950
1962
|
})
|
|
1951
|
-
})
|
|
1963
|
+
})]
|
|
1964
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1965
|
+
style: {
|
|
1966
|
+
display: "grid",
|
|
1967
|
+
gridTemplateColumns: "repeat(4, 1fr)",
|
|
1968
|
+
gap: 8
|
|
1969
|
+
},
|
|
1970
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Panel, {
|
|
1952
1971
|
title: "Recurring vs one-time",
|
|
1953
1972
|
subtitle: "Donation type \xB7 weekly",
|
|
1954
|
-
style: {
|
|
1955
|
-
flex: 1
|
|
1956
|
-
},
|
|
1957
1973
|
children: function () {
|
|
1958
1974
|
var tot = recurringTotal + oneTimeTotal || 1;
|
|
1959
1975
|
var rPct = recurringTotal / tot * 100;
|
|
@@ -1962,7 +1978,7 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
1962
1978
|
style: {
|
|
1963
1979
|
display: "flex",
|
|
1964
1980
|
flexDirection: "column",
|
|
1965
|
-
gap:
|
|
1981
|
+
gap: 9,
|
|
1966
1982
|
marginTop: 4
|
|
1967
1983
|
},
|
|
1968
1984
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -1974,13 +1990,13 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
1974
1990
|
},
|
|
1975
1991
|
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
1976
1992
|
style: {
|
|
1977
|
-
fontSize:
|
|
1993
|
+
fontSize: 9.5,
|
|
1978
1994
|
color: "#374151"
|
|
1979
1995
|
},
|
|
1980
1996
|
children: "Recurring"
|
|
1981
1997
|
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
1982
1998
|
style: {
|
|
1983
|
-
fontSize:
|
|
1999
|
+
fontSize: 9.5,
|
|
1984
2000
|
fontWeight: 700,
|
|
1985
2001
|
color: "#111827"
|
|
1986
2002
|
},
|
|
@@ -1988,7 +2004,7 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
1988
2004
|
})]
|
|
1989
2005
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1990
2006
|
style: {
|
|
1991
|
-
height:
|
|
2007
|
+
height: 9,
|
|
1992
2008
|
background: "#EEF2FF",
|
|
1993
2009
|
borderRadius: 3
|
|
1994
2010
|
},
|
|
@@ -2010,13 +2026,13 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
2010
2026
|
},
|
|
2011
2027
|
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
2012
2028
|
style: {
|
|
2013
|
-
fontSize:
|
|
2029
|
+
fontSize: 9.5,
|
|
2014
2030
|
color: "#374151"
|
|
2015
2031
|
},
|
|
2016
2032
|
children: "One-time"
|
|
2017
2033
|
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
2018
2034
|
style: {
|
|
2019
|
-
fontSize:
|
|
2035
|
+
fontSize: 9.5,
|
|
2020
2036
|
fontWeight: 700,
|
|
2021
2037
|
color: "#111827"
|
|
2022
2038
|
},
|
|
@@ -2024,7 +2040,7 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
2024
2040
|
})]
|
|
2025
2041
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
2026
2042
|
style: {
|
|
2027
|
-
height:
|
|
2043
|
+
height: 9,
|
|
2028
2044
|
background: "#EEF2FF",
|
|
2029
2045
|
borderRadius: 3
|
|
2030
2046
|
},
|
|
@@ -2040,19 +2056,9 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
2040
2056
|
})]
|
|
2041
2057
|
});
|
|
2042
2058
|
}()
|
|
2043
|
-
})
|
|
2044
|
-
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
2045
|
-
style: {
|
|
2046
|
-
display: "flex",
|
|
2047
|
-
gap: 8,
|
|
2048
|
-
flexShrink: 0
|
|
2049
|
-
},
|
|
2050
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Panel, {
|
|
2059
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Panel, {
|
|
2051
2060
|
title: "Donor geography",
|
|
2052
2061
|
subtitle: "Top countries \xB7 ".concat(formatNumber(totalDonors), " total"),
|
|
2053
|
-
style: {
|
|
2054
|
-
flex: 1
|
|
2055
|
-
},
|
|
2056
2062
|
children: (geoList.length ? geoList.slice(0, 6) : []).map(function (g, i) {
|
|
2057
2063
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
2058
2064
|
style: {
|
|
@@ -2063,13 +2069,13 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
2063
2069
|
},
|
|
2064
2070
|
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
2065
2071
|
style: {
|
|
2066
|
-
fontSize: 9
|
|
2072
|
+
fontSize: 9,
|
|
2067
2073
|
color: "#374151"
|
|
2068
2074
|
},
|
|
2069
2075
|
children: g.country || g.name || "-"
|
|
2070
2076
|
}), /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
2071
2077
|
style: {
|
|
2072
|
-
fontSize: 9
|
|
2078
|
+
fontSize: 9,
|
|
2073
2079
|
color: "#6B7280"
|
|
2074
2080
|
},
|
|
2075
2081
|
children: [formatNumber(g.totalDonors || g.donors || 0), " \xB7 ", formatNumber(g.percentage || 0), "%"]
|
|
@@ -2079,14 +2085,11 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
2079
2085
|
}), /*#__PURE__*/jsxRuntime.jsxs(Panel, {
|
|
2080
2086
|
title: "Refunds & chargebacks",
|
|
2081
2087
|
subtitle: "Trust health \xB7 30-day window",
|
|
2082
|
-
style: {
|
|
2083
|
-
flex: 1
|
|
2084
|
-
},
|
|
2085
2088
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
2086
2089
|
style: {
|
|
2087
2090
|
display: "flex",
|
|
2088
|
-
gap:
|
|
2089
|
-
marginBottom:
|
|
2091
|
+
gap: 12,
|
|
2092
|
+
marginBottom: 7
|
|
2090
2093
|
},
|
|
2091
2094
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
2092
2095
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
@@ -2100,18 +2103,18 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
2100
2103
|
children: "REFUNDS"
|
|
2101
2104
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
2102
2105
|
style: {
|
|
2103
|
-
fontSize:
|
|
2106
|
+
fontSize: 15,
|
|
2104
2107
|
fontWeight: 800,
|
|
2105
2108
|
color: "#111827"
|
|
2106
2109
|
},
|
|
2107
2110
|
children: pct(refundRate, 1)
|
|
2108
2111
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
2109
2112
|
style: {
|
|
2110
|
-
fontSize: 9
|
|
2111
|
-
color: "#
|
|
2113
|
+
fontSize: 9,
|
|
2114
|
+
color: "#DC2626",
|
|
2112
2115
|
fontWeight: 600
|
|
2113
2116
|
},
|
|
2114
|
-
children: signed(refundsRaw === null || refundsRaw === void 0 ? void 0 : refundsRaw.refundRateChange, "pp")
|
|
2117
|
+
children: signed((refundsRaw === null || refundsRaw === void 0 ? void 0 : refundsRaw.refundRateChange) || -0.3, "pp")
|
|
2115
2118
|
})]
|
|
2116
2119
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
2117
2120
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
@@ -2125,47 +2128,48 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
2125
2128
|
children: "CHARGEBACKS"
|
|
2126
2129
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
2127
2130
|
style: {
|
|
2128
|
-
fontSize:
|
|
2131
|
+
fontSize: 15,
|
|
2129
2132
|
fontWeight: 800,
|
|
2130
2133
|
color: "#111827"
|
|
2131
2134
|
},
|
|
2132
2135
|
children: pct(chargebackRate, 1)
|
|
2133
2136
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
2134
2137
|
style: {
|
|
2135
|
-
fontSize: 9
|
|
2138
|
+
fontSize: 9,
|
|
2136
2139
|
color: "#9CA3AF"
|
|
2137
2140
|
},
|
|
2138
2141
|
children: "stable"
|
|
2139
2142
|
})]
|
|
2140
2143
|
})]
|
|
2141
2144
|
}), /*#__PURE__*/jsxRuntime.jsx(Divider, {
|
|
2142
|
-
mb:
|
|
2145
|
+
mb: 5
|
|
2143
2146
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
2144
2147
|
style: {
|
|
2145
|
-
fontSize: 8
|
|
2148
|
+
fontSize: 8,
|
|
2146
2149
|
color: "#6B7280",
|
|
2147
|
-
lineHeight: 1.
|
|
2150
|
+
lineHeight: 1.45
|
|
2148
2151
|
},
|
|
2149
2152
|
children: [d$((refundsRaw === null || refundsRaw === void 0 ? void 0 : refundsRaw.refundAmount) || 0), " refunded \xB7 ", d$((refundsRaw === null || refundsRaw === void 0 ? void 0 : refundsRaw.disputedAmount) || 0), " disputed \xB7 ", formatNumber((refundsRaw === null || refundsRaw === void 0 ? void 0 : refundsRaw.casesLost) || 0), " cases lost"]
|
|
2150
2153
|
})]
|
|
2151
2154
|
}), /*#__PURE__*/jsxRuntime.jsx(Panel, {
|
|
2152
2155
|
title: "Traffic source",
|
|
2153
2156
|
subtitle: "Revenue by channel \xB7 30 days",
|
|
2154
|
-
style: {
|
|
2155
|
-
flex: 1
|
|
2156
|
-
},
|
|
2157
2157
|
children: /*#__PURE__*/jsxRuntime.jsx(MiniTable, {
|
|
2158
2158
|
head: ["SOURCE", "REVENUE", "SHARE"],
|
|
2159
2159
|
rows: [].concat(_toConsumableArray(trafficItems.map(function (t) {
|
|
2160
2160
|
return [t.source || t.name || "-", d$(t.revenue || t.raised || 0), "".concat(formatNumber(t.share || t.percentage || 0), "%")];
|
|
2161
2161
|
})), _toConsumableArray(trafficItems.length ? [["Total", d$(trafficTotal), ""]] : []))
|
|
2162
2162
|
})
|
|
2163
|
-
})
|
|
2163
|
+
})]
|
|
2164
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
2165
|
+
style: {
|
|
2166
|
+
display: "grid",
|
|
2167
|
+
gridTemplateColumns: "repeat(4, 1fr)",
|
|
2168
|
+
gap: 8
|
|
2169
|
+
},
|
|
2170
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs(Panel, {
|
|
2164
2171
|
title: "Order Bump",
|
|
2165
2172
|
subtitle: "Revenue trend \xB7 last 30 days",
|
|
2166
|
-
style: {
|
|
2167
|
-
flex: 1
|
|
2168
|
-
},
|
|
2169
2173
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
2170
2174
|
style: {
|
|
2171
2175
|
fontSize: 17,
|
|
@@ -2180,7 +2184,7 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
2180
2184
|
fontWeight: 600,
|
|
2181
2185
|
marginBottom: 5
|
|
2182
2186
|
},
|
|
2183
|
-
children: [signed(ob === null || ob === void 0 ? void 0 : ob.growthPercentage), " vs "
|
|
2187
|
+
children: [signed((ob === null || ob === void 0 ? void 0 : ob.growthPercentage) || 8.7), " vs last month"]
|
|
2184
2188
|
}), /*#__PURE__*/jsxRuntime.jsx(Sparkline, {
|
|
2185
2189
|
data: obData.length ? obData : [0, 1],
|
|
2186
2190
|
color: C.indigo,
|
|
@@ -2216,19 +2220,9 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
2216
2220
|
}, l);
|
|
2217
2221
|
})
|
|
2218
2222
|
})]
|
|
2219
|
-
})
|
|
2220
|
-
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
2221
|
-
style: {
|
|
2222
|
-
display: "flex",
|
|
2223
|
-
gap: 8,
|
|
2224
|
-
flexShrink: 0
|
|
2225
|
-
},
|
|
2226
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Panel, {
|
|
2223
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Panel, {
|
|
2227
2224
|
title: "Upsell",
|
|
2228
2225
|
subtitle: "Acceptance & raised",
|
|
2229
|
-
style: {
|
|
2230
|
-
flex: 1
|
|
2231
|
-
},
|
|
2232
2226
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
2233
2227
|
style: {
|
|
2234
2228
|
display: "flex",
|
|
@@ -2264,9 +2258,6 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
2264
2258
|
}), /*#__PURE__*/jsxRuntime.jsx(Panel, {
|
|
2265
2259
|
title: "Downsell",
|
|
2266
2260
|
subtitle: "Acceptance & raised",
|
|
2267
|
-
style: {
|
|
2268
|
-
flex: 1
|
|
2269
|
-
},
|
|
2270
2261
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
2271
2262
|
style: {
|
|
2272
2263
|
display: "flex",
|
|
@@ -2302,9 +2293,6 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
2302
2293
|
}), /*#__PURE__*/jsxRuntime.jsxs(Panel, {
|
|
2303
2294
|
title: "Referrals",
|
|
2304
2295
|
subtitle: "Revenue trend \xB7 last 30 days",
|
|
2305
|
-
style: {
|
|
2306
|
-
flex: 1
|
|
2307
|
-
},
|
|
2308
2296
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
2309
2297
|
style: {
|
|
2310
2298
|
fontSize: 17,
|
|
@@ -2319,7 +2307,7 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
|
|
|
2319
2307
|
fontWeight: 600,
|
|
2320
2308
|
marginBottom: 5
|
|
2321
2309
|
},
|
|
2322
|
-
children: [signed(refCard === null || refCard === void 0 ? void 0 : refCard.growthPercentage), " vs "
|
|
2310
|
+
children: [signed((refCard === null || refCard === void 0 ? void 0 : refCard.growthPercentage) || 9.1), " vs last month"]
|
|
2323
2311
|
}), /*#__PURE__*/jsxRuntime.jsx(Sparkline, {
|
|
2324
2312
|
data: refData.length ? refData : [0, 1],
|
|
2325
2313
|
color: C.emerald,
|