@ammarkhalidfarooq/dashboard-package 0.6.11 → 0.6.13

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.es.js CHANGED
@@ -474,6 +474,7 @@ var RevenueChart = function RevenueChart(_ref) {
474
474
  }
475
475
  },
476
476
  xaxis: {
477
+ type: 'category',
477
478
  categories: categories || [],
478
479
  axisBorder: {
479
480
  show: false
@@ -481,7 +482,6 @@ var RevenueChart = function RevenueChart(_ref) {
481
482
  axisTicks: {
482
483
  show: false
483
484
  },
484
- tickAmount: 5,
485
485
  labels: {
486
486
  rotate: 0,
487
487
  rotateAlways: false,
@@ -491,13 +491,7 @@ var RevenueChart = function RevenueChart(_ref) {
491
491
  fontSize: '12px'
492
492
  },
493
493
  formatter: function formatter(val) {
494
- if (!val || typeof val !== 'string') return val;
495
- var date = new Date(val);
496
- if (isNaN(date.getTime())) return val;
497
- return date.toLocaleDateString('en-US', {
498
- month: 'short',
499
- day: 'numeric'
500
- });
494
+ return val;
501
495
  }
502
496
  }
503
497
  },
@@ -1181,6 +1175,14 @@ var MetricCard$1 = function MetricCard(_ref) {
1181
1175
  captionSx = _ref$captionSx === void 0 ? {} : _ref$captionSx,
1182
1176
  _ref$avatarSx = _ref.avatarSx,
1183
1177
  avatarSx = _ref$avatarSx === void 0 ? {} : _ref$avatarSx;
1178
+ var captionText = String(caption !== null && caption !== void 0 ? caption : "");
1179
+ var isPercentCaption = captionText.includes("%");
1180
+ var firstNumberMatch = captionText.match(/-?\d+(\.\d+)?/);
1181
+ var trendValue = firstNumberMatch ? Number(firstNumberMatch[0]) : null;
1182
+ var isNegativeTrend = isPercentCaption && trendValue !== null && trendValue < 0;
1183
+ var isPositiveTrend = isPercentCaption && trendValue !== null && trendValue > 0;
1184
+ var trendPrefix = isNegativeTrend ? "▼ " : isPositiveTrend ? "▲ " : "";
1185
+ var captionColor = captionText.includes("failed") ? "#4F46E5" : error || isNegativeTrend ? "#ef4444" : "#0B8F61";
1184
1186
  return /*#__PURE__*/jsxs(Box, {
1185
1187
  sx: _objectSpread2({
1186
1188
  bgcolor: "#fff",
@@ -1229,9 +1231,9 @@ var MetricCard$1 = function MetricCard(_ref) {
1229
1231
  sx: _objectSpread2({
1230
1232
  fontSize: 12,
1231
1233
  fontWeight: 500,
1232
- color: caption !== null && caption !== void 0 && caption.includes("failed") ? "#4F46E5" : error ? "#ef4444" : "#0B8F61"
1234
+ color: captionColor
1233
1235
  }, captionSx),
1234
- children: caption
1236
+ children: "".concat(trendPrefix).concat(captionText)
1235
1237
  })]
1236
1238
  });
1237
1239
  };
@@ -15161,7 +15163,7 @@ var OverallSection = function OverallSection(_ref) {
15161
15163
  var allCharts = [].concat(_toConsumableArray(primaryCharts), _toConsumableArray(secondaryCharts), _toConsumableArray(tertiaryCharts), _toConsumableArray(quaternaryCharts));
15162
15164
  var getExtendedCharts = function getExtendedCharts() {
15163
15165
  var charts = _toConsumableArray(allCharts);
15164
- var categories = (apiData === null || apiData === void 0 ? void 0 : apiData.categories) || ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep"];
15166
+ var categories = (apiData === null || apiData === void 0 ? void 0 : apiData.categories) || [];
15165
15167
  if (!charts.find(function (c) {
15166
15168
  return c.label === "Net Raised";
15167
15169
  })) {
@@ -15326,30 +15328,58 @@ var OverallSection = function OverallSection(_ref) {
15326
15328
  var mainChart = extendedCharts.find(function (c) {
15327
15329
  return c.label === selectedInfo.label;
15328
15330
  }) || primaryCharts[0];
15329
- if (activeMetric === "Total Raised") {
15330
- var _apiData$overviewStat17;
15331
- var stackedData = apiData === null || apiData === void 0 || (_apiData$overviewStat17 = apiData.overviewStats) === null || _apiData$overviewStat17 === void 0 ? void 0 : _apiData$overviewStat17.totalRaised;
15332
- var hasStackedData = (stackedData === null || stackedData === void 0 ? void 0 : stackedData.paidAds) || (stackedData === null || stackedData === void 0 ? void 0 : stackedData.email) || (stackedData === null || stackedData === void 0 ? void 0 : stackedData.organic);
15333
- if (hasStackedData) {
15334
- var categories = ((stackedData === null || stackedData === void 0 ? void 0 : stackedData.organic) || (stackedData === null || stackedData === void 0 ? void 0 : stackedData.paidAds) || (stackedData === null || stackedData === void 0 ? void 0 : stackedData.email) || []).map(function (item) {
15331
+ var buildStackedSeries = function buildStackedSeries() {
15332
+ var stackedSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
15333
+ var sourceKeys = ["paidAds", "organic", "email"];
15334
+ var allDates = sourceKeys.flatMap(function (key) {
15335
+ return ((stackedSource === null || stackedSource === void 0 ? void 0 : stackedSource[key]) || []).map(function (item) {
15335
15336
  return item.date;
15336
15337
  });
15337
- var series = [{
15338
+ }).filter(Boolean);
15339
+ var categories = _toConsumableArray(new Set(allDates));
15340
+ var mapByDate = function mapByDate() {
15341
+ var rows = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
15342
+ return new Map(rows.filter(function (item) {
15343
+ return item === null || item === void 0 ? void 0 : item.date;
15344
+ }).map(function (item) {
15345
+ var _item$value;
15346
+ return [item.date, (_item$value = item.value) !== null && _item$value !== void 0 ? _item$value : 0];
15347
+ }));
15348
+ };
15349
+ var paidMap = mapByDate((stackedSource === null || stackedSource === void 0 ? void 0 : stackedSource.paidAds) || []);
15350
+ var organicMap = mapByDate((stackedSource === null || stackedSource === void 0 ? void 0 : stackedSource.organic) || []);
15351
+ var emailMap = mapByDate((stackedSource === null || stackedSource === void 0 ? void 0 : stackedSource.email) || []);
15352
+ return {
15353
+ categories: categories,
15354
+ series: [{
15338
15355
  name: "Paid Ads",
15339
- data: ((stackedData === null || stackedData === void 0 ? void 0 : stackedData.paidAds) || []).map(function (item) {
15340
- return item.value;
15356
+ data: categories.map(function (date) {
15357
+ var _paidMap$get;
15358
+ return (_paidMap$get = paidMap.get(date)) !== null && _paidMap$get !== void 0 ? _paidMap$get : 0;
15341
15359
  })
15342
15360
  }, {
15343
15361
  name: "Organic",
15344
- data: ((stackedData === null || stackedData === void 0 ? void 0 : stackedData.organic) || []).map(function (item) {
15345
- return item.value;
15362
+ data: categories.map(function (date) {
15363
+ var _organicMap$get;
15364
+ return (_organicMap$get = organicMap.get(date)) !== null && _organicMap$get !== void 0 ? _organicMap$get : 0;
15346
15365
  })
15347
15366
  }, {
15348
15367
  name: "Email",
15349
- data: ((stackedData === null || stackedData === void 0 ? void 0 : stackedData.email) || []).map(function (item) {
15350
- return item.value;
15368
+ data: categories.map(function (date) {
15369
+ var _emailMap$get;
15370
+ return (_emailMap$get = emailMap.get(date)) !== null && _emailMap$get !== void 0 ? _emailMap$get : 0;
15351
15371
  })
15352
- }];
15372
+ }]
15373
+ };
15374
+ };
15375
+ if (activeMetric === "Total Raised") {
15376
+ var _apiData$overviewStat17;
15377
+ var stackedData = apiData === null || apiData === void 0 || (_apiData$overviewStat17 = apiData.overviewStats) === null || _apiData$overviewStat17 === void 0 ? void 0 : _apiData$overviewStat17.totalRaised;
15378
+ var hasStackedData = (stackedData === null || stackedData === void 0 ? void 0 : stackedData.paidAds) || (stackedData === null || stackedData === void 0 ? void 0 : stackedData.email) || (stackedData === null || stackedData === void 0 ? void 0 : stackedData.organic);
15379
+ if (hasStackedData) {
15380
+ var _buildStackedSeries = buildStackedSeries(stackedData),
15381
+ categories = _buildStackedSeries.categories,
15382
+ series = _buildStackedSeries.series;
15353
15383
  mainChart = _objectSpread2(_objectSpread2({}, mainChart), {}, {
15354
15384
  label: "Total revenue trend",
15355
15385
  data: undefined,
@@ -15371,25 +15401,9 @@ var OverallSection = function OverallSection(_ref) {
15371
15401
  var netData = apiData === null || apiData === void 0 || (_apiData$overviewStat18 = apiData.overviewStats) === null || _apiData$overviewStat18 === void 0 ? void 0 : _apiData$overviewStat18.netRaised;
15372
15402
  var _hasStackedData = (netData === null || netData === void 0 ? void 0 : netData.paidAds) || (netData === null || netData === void 0 ? void 0 : netData.email) || (netData === null || netData === void 0 ? void 0 : netData.organic);
15373
15403
  if (_hasStackedData) {
15374
- var _categories = ((netData === null || netData === void 0 ? void 0 : netData.organic) || (netData === null || netData === void 0 ? void 0 : netData.paidAds) || (netData === null || netData === void 0 ? void 0 : netData.email) || []).map(function (item) {
15375
- return item.date;
15376
- });
15377
- var _series = [{
15378
- name: "Paid Ads",
15379
- data: ((netData === null || netData === void 0 ? void 0 : netData.paidAds) || []).map(function (item) {
15380
- return item.value;
15381
- })
15382
- }, {
15383
- name: "Organic",
15384
- data: ((netData === null || netData === void 0 ? void 0 : netData.organic) || []).map(function (item) {
15385
- return item.value;
15386
- })
15387
- }, {
15388
- name: "Email",
15389
- data: ((netData === null || netData === void 0 ? void 0 : netData.email) || []).map(function (item) {
15390
- return item.value;
15391
- })
15392
- }];
15404
+ var _buildStackedSeries2 = buildStackedSeries(netData),
15405
+ _categories = _buildStackedSeries2.categories,
15406
+ _series = _buildStackedSeries2.series;
15393
15407
  mainChart = _objectSpread2(_objectSpread2({}, mainChart), {}, {
15394
15408
  label: "Net revenue trend",
15395
15409
  data: undefined,
@@ -15419,25 +15433,9 @@ var OverallSection = function OverallSection(_ref) {
15419
15433
  var donorsData = apiData === null || apiData === void 0 || (_apiData$overviewStat19 = apiData.overviewStats) === null || _apiData$overviewStat19 === void 0 ? void 0 : _apiData$overviewStat19.totalDonations;
15420
15434
  var _hasStackedData2 = (donorsData === null || donorsData === void 0 ? void 0 : donorsData.paidAds) || (donorsData === null || donorsData === void 0 ? void 0 : donorsData.email) || (donorsData === null || donorsData === void 0 ? void 0 : donorsData.organic);
15421
15435
  if (_hasStackedData2) {
15422
- var _categories2 = ((donorsData === null || donorsData === void 0 ? void 0 : donorsData.organic) || (donorsData === null || donorsData === void 0 ? void 0 : donorsData.paidAds) || (donorsData === null || donorsData === void 0 ? void 0 : donorsData.email) || []).map(function (item) {
15423
- return item.date;
15424
- });
15425
- var _series2 = [{
15426
- name: "Paid Ads",
15427
- data: ((donorsData === null || donorsData === void 0 ? void 0 : donorsData.paidAds) || []).map(function (item) {
15428
- return item.value;
15429
- })
15430
- }, {
15431
- name: "Organic",
15432
- data: ((donorsData === null || donorsData === void 0 ? void 0 : donorsData.organic) || []).map(function (item) {
15433
- return item.value;
15434
- })
15435
- }, {
15436
- name: "Email",
15437
- data: ((donorsData === null || donorsData === void 0 ? void 0 : donorsData.email) || []).map(function (item) {
15438
- return item.value;
15439
- })
15440
- }];
15436
+ var _buildStackedSeries3 = buildStackedSeries(donorsData),
15437
+ _categories2 = _buildStackedSeries3.categories,
15438
+ _series2 = _buildStackedSeries3.series;
15441
15439
  mainChart = _objectSpread2(_objectSpread2({}, mainChart), {}, {
15442
15440
  label: "Donor trend",
15443
15441
  data: undefined,
@@ -15466,25 +15464,9 @@ var OverallSection = function OverallSection(_ref) {
15466
15464
  var roasData = apiData === null || apiData === void 0 ? void 0 : apiData.roas;
15467
15465
  var _hasStackedData3 = (roasData === null || roasData === void 0 ? void 0 : roasData.paidAds) || (roasData === null || roasData === void 0 ? void 0 : roasData.email) || (roasData === null || roasData === void 0 ? void 0 : roasData.organic);
15468
15466
  if (_hasStackedData3) {
15469
- var _categories3 = ((roasData === null || roasData === void 0 ? void 0 : roasData.organic) || (roasData === null || roasData === void 0 ? void 0 : roasData.paidAds) || (roasData === null || roasData === void 0 ? void 0 : roasData.email) || []).map(function (item) {
15470
- return item.date;
15471
- });
15472
- var _series3 = [{
15473
- name: "Paid Ads",
15474
- data: ((roasData === null || roasData === void 0 ? void 0 : roasData.paidAds) || []).map(function (item) {
15475
- return item.value;
15476
- })
15477
- }, {
15478
- name: "Organic",
15479
- data: ((roasData === null || roasData === void 0 ? void 0 : roasData.organic) || []).map(function (item) {
15480
- return item.value;
15481
- })
15482
- }, {
15483
- name: "Email",
15484
- data: ((roasData === null || roasData === void 0 ? void 0 : roasData.email) || []).map(function (item) {
15485
- return item.value;
15486
- })
15487
- }];
15467
+ var _buildStackedSeries4 = buildStackedSeries(roasData),
15468
+ _categories3 = _buildStackedSeries4.categories,
15469
+ _series3 = _buildStackedSeries4.series;
15488
15470
  mainChart = _objectSpread2(_objectSpread2({}, mainChart), {}, {
15489
15471
  label: "ROAS",
15490
15472
  data: undefined,
@@ -15514,25 +15496,9 @@ var OverallSection = function OverallSection(_ref) {
15514
15496
  var conversionData = apiData === null || apiData === void 0 || (_apiData$overviewStat20 = apiData.overviewStats) === null || _apiData$overviewStat20 === void 0 ? void 0 : _apiData$overviewStat20.conversionRate;
15515
15497
  var _hasStackedData4 = (conversionData === null || conversionData === void 0 ? void 0 : conversionData.paidAds) || (conversionData === null || conversionData === void 0 ? void 0 : conversionData.email) || (conversionData === null || conversionData === void 0 ? void 0 : conversionData.organic);
15516
15498
  if (_hasStackedData4) {
15517
- var _categories4 = ((conversionData === null || conversionData === void 0 ? void 0 : conversionData.organic) || (conversionData === null || conversionData === void 0 ? void 0 : conversionData.paidAds) || (conversionData === null || conversionData === void 0 ? void 0 : conversionData.email) || []).map(function (item) {
15518
- return item.date;
15519
- });
15520
- var _series4 = [{
15521
- name: "Paid Ads",
15522
- data: ((conversionData === null || conversionData === void 0 ? void 0 : conversionData.paidAds) || []).map(function (item) {
15523
- return item.value;
15524
- })
15525
- }, {
15526
- name: "Organic",
15527
- data: ((conversionData === null || conversionData === void 0 ? void 0 : conversionData.organic) || []).map(function (item) {
15528
- return item.value;
15529
- })
15530
- }, {
15531
- name: "Email",
15532
- data: ((conversionData === null || conversionData === void 0 ? void 0 : conversionData.email) || []).map(function (item) {
15533
- return item.value;
15534
- })
15535
- }];
15499
+ var _buildStackedSeries5 = buildStackedSeries(conversionData),
15500
+ _categories4 = _buildStackedSeries5.categories,
15501
+ _series4 = _buildStackedSeries5.series;
15536
15502
  mainChart = _objectSpread2(_objectSpread2({}, mainChart), {}, {
15537
15503
  label: "Conversion Rate",
15538
15504
  data: undefined,
@@ -15562,25 +15528,9 @@ var OverallSection = function OverallSection(_ref) {
15562
15528
  var avgData = apiData === null || apiData === void 0 || (_apiData$overviewStat21 = apiData.overviewStats) === null || _apiData$overviewStat21 === void 0 ? void 0 : _apiData$overviewStat21.avgDonations;
15563
15529
  var _hasStackedData5 = (avgData === null || avgData === void 0 ? void 0 : avgData.paidAds) || (avgData === null || avgData === void 0 ? void 0 : avgData.email) || (avgData === null || avgData === void 0 ? void 0 : avgData.organic);
15564
15530
  if (_hasStackedData5) {
15565
- var _categories5 = ((avgData === null || avgData === void 0 ? void 0 : avgData.organic) || (avgData === null || avgData === void 0 ? void 0 : avgData.paidAds) || (avgData === null || avgData === void 0 ? void 0 : avgData.email) || []).map(function (item) {
15566
- return item.date;
15567
- });
15568
- var _series5 = [{
15569
- name: "Paid Ads",
15570
- data: ((avgData === null || avgData === void 0 ? void 0 : avgData.paidAds) || []).map(function (item) {
15571
- return item.value;
15572
- })
15573
- }, {
15574
- name: "Organic",
15575
- data: ((avgData === null || avgData === void 0 ? void 0 : avgData.organic) || []).map(function (item) {
15576
- return item.value;
15577
- })
15578
- }, {
15579
- name: "Email",
15580
- data: ((avgData === null || avgData === void 0 ? void 0 : avgData.email) || []).map(function (item) {
15581
- return item.value;
15582
- })
15583
- }];
15531
+ var _buildStackedSeries6 = buildStackedSeries(avgData),
15532
+ _categories5 = _buildStackedSeries6.categories,
15533
+ _series5 = _buildStackedSeries6.series;
15584
15534
  mainChart = _objectSpread2(_objectSpread2({}, mainChart), {}, {
15585
15535
  label: "Average donation trend",
15586
15536
  data: undefined,