@ammarkhalidfarooq/dashboard-package 0.6.62 → 0.6.63

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
@@ -1635,7 +1635,6 @@ var buildReportData = function buildReportData() {
1635
1635
  var W = 794;
1636
1636
  var MIN_H = 1123;
1637
1637
  var MX = 32; // horizontal margin
1638
- var CW = W - MX * 2; // 730 px usable width
1639
1638
  var THEME = {
1640
1639
  pageBg: "#F8FAFC",
1641
1640
  panelBg: "#FFFFFF",
@@ -1805,120 +1804,14 @@ var Sparkline = function Sparkline(_ref3) {
1805
1804
  });
1806
1805
  };
1807
1806
 
1808
- // ─── SVG multi-series line chart ──────────────────────────────────────────────
1809
- var LineChart = function LineChart(_ref4) {
1810
- var _ref4$series = _ref4.series,
1811
- series = _ref4$series === void 0 ? [] : _ref4$series,
1812
- _ref4$categories = _ref4.categories,
1813
- categories = _ref4$categories === void 0 ? [] : _ref4$categories,
1814
- _ref4$width = _ref4.width,
1815
- width = _ref4$width === void 0 ? CW : _ref4$width,
1816
- _ref4$height = _ref4.height,
1817
- height = _ref4$height === void 0 ? 180 : _ref4$height;
1818
- var allVals = series.flatMap(function (s) {
1819
- return s.data || [];
1820
- });
1821
- if (!allVals.length) {
1822
- return /*#__PURE__*/jsx("div", {
1823
- style: {
1824
- height: height,
1825
- background: THEME.tableAltBg,
1826
- borderRadius: 6
1827
- }
1828
- });
1829
- }
1830
- var COLORS = ["#6366F1", "#10B981", "#06B6D4"];
1831
- var seriesColor = function seriesColor(name) {
1832
- if (/email/i.test(name)) return COLORS[2];
1833
- if (/organic/i.test(name)) return COLORS[1];
1834
- return COLORS[0];
1835
- };
1836
- var PL = 46,
1837
- PR = 8,
1838
- PT = 8,
1839
- PB = 22;
1840
- var IW = width - PL - PR;
1841
- var IH = height - PT - PB;
1842
- var max = Math.max.apply(Math, _toConsumableArray(allVals).concat([0]));
1843
- var min = 0;
1844
- var range = max - min || 1;
1845
- var xp = function xp(i, n) {
1846
- return PL + i / Math.max(n - 1, 1) * IW;
1847
- };
1848
- var yp = function yp(v) {
1849
- return PT + IH - (v - min) / range * IH;
1850
- };
1851
- var yTicks = [0, 0.25, 0.5, 0.75, 1].map(function (t) {
1852
- return min + t * range;
1853
- });
1854
- var step = Math.max(1, Math.floor(categories.length / 6));
1855
- var shownCats = categories.filter(function (_, i) {
1856
- return i % step === 0 || i === categories.length - 1;
1857
- });
1858
- return /*#__PURE__*/jsxs("svg", {
1859
- width: width,
1860
- height: height,
1861
- style: {
1862
- display: "block"
1863
- },
1864
- children: [yTicks.map(function (v, i) {
1865
- var y = yp(v);
1866
- var label = v >= 10000 ? "$".concat((v / 1000).toFixed(0), "K") : v >= 1000 ? "$".concat((v / 1000).toFixed(1), "K") : "$".concat(v.toFixed(0));
1867
- return /*#__PURE__*/jsxs("g", {
1868
- children: [/*#__PURE__*/jsx("line", {
1869
- x1: PL,
1870
- y1: y,
1871
- x2: width - PR,
1872
- y2: y,
1873
- stroke: "#E5EAF1",
1874
- strokeWidth: 1
1875
- }), /*#__PURE__*/jsx("text", {
1876
- x: PL - 4,
1877
- y: y + 3.5,
1878
- textAnchor: "end",
1879
- fontSize: 9,
1880
- fill: THEME.muted,
1881
- children: label
1882
- })]
1883
- }, i);
1884
- }), series.map(function (s, si) {
1885
- var data = s.data || [];
1886
- if (!data.length) return null;
1887
- var points = data.map(function (v, i) {
1888
- return [xp(i, data.length), yp(v)];
1889
- });
1890
- var pathD = buildSmoothPath(points);
1891
- return /*#__PURE__*/jsx("path", {
1892
- d: pathD,
1893
- fill: "none",
1894
- stroke: seriesColor(s.name),
1895
- strokeWidth: 2,
1896
- strokeLinecap: "round",
1897
- strokeLinejoin: "round"
1898
- }, si);
1899
- }), shownCats.map(function (label, i) {
1900
- var origIdx = categories.indexOf(label);
1901
- var x = xp(origIdx < 0 ? i * step : origIdx, categories.length);
1902
- return /*#__PURE__*/jsx("text", {
1903
- x: x,
1904
- y: height - 5,
1905
- textAnchor: "middle",
1906
- fontSize: 9,
1907
- fill: THEME.muted,
1908
- children: label
1909
- }, i);
1910
- })]
1911
- });
1912
- };
1913
-
1914
1807
  // ─── SVG donut ────────────────────────────────────────────────────────────────
1915
- var Donut = function Donut(_ref5) {
1916
- var _ref5$segments = _ref5.segments,
1917
- segments = _ref5$segments === void 0 ? [] : _ref5$segments,
1918
- _ref5$size = _ref5.size,
1919
- size = _ref5$size === void 0 ? 88 : _ref5$size,
1920
- centerVal = _ref5.centerVal,
1921
- centerLabel = _ref5.centerLabel;
1808
+ var Donut = function Donut(_ref4) {
1809
+ var _ref4$segments = _ref4.segments,
1810
+ segments = _ref4$segments === void 0 ? [] : _ref4$segments,
1811
+ _ref4$size = _ref4.size,
1812
+ size = _ref4$size === void 0 ? 88 : _ref4$size,
1813
+ centerVal = _ref4.centerVal,
1814
+ centerLabel = _ref4.centerLabel;
1922
1815
  var total = segments.reduce(function (s, g) {
1923
1816
  return s + (g.value || 0);
1924
1817
  }, 0) || 1;
@@ -1976,11 +1869,11 @@ var Donut = function Donut(_ref5) {
1976
1869
  };
1977
1870
 
1978
1871
  // ─── Shared primitives ────────────────────────────────────────────────────────
1979
- var Divider = function Divider(_ref6) {
1980
- var _ref6$mt = _ref6.mt,
1981
- mt = _ref6$mt === void 0 ? 0 : _ref6$mt,
1982
- _ref6$mb = _ref6.mb,
1983
- mb = _ref6$mb === void 0 ? 0 : _ref6$mb;
1872
+ var Divider = function Divider(_ref5) {
1873
+ var _ref5$mt = _ref5.mt,
1874
+ mt = _ref5$mt === void 0 ? 0 : _ref5$mt,
1875
+ _ref5$mb = _ref5.mb,
1876
+ mb = _ref5$mb === void 0 ? 0 : _ref5$mb;
1984
1877
  return /*#__PURE__*/jsx("div", {
1985
1878
  style: {
1986
1879
  borderTop: "1px solid #E5EAF1",
@@ -1989,13 +1882,13 @@ var Divider = function Divider(_ref6) {
1989
1882
  }
1990
1883
  });
1991
1884
  };
1992
- var Panel = function Panel(_ref7) {
1993
- var children = _ref7.children,
1994
- title = _ref7.title,
1995
- subtitle = _ref7.subtitle,
1996
- action = _ref7.action,
1997
- _ref7$style = _ref7.style,
1998
- style = _ref7$style === void 0 ? {} : _ref7$style;
1885
+ var Panel = function Panel(_ref6) {
1886
+ var children = _ref6.children,
1887
+ title = _ref6.title,
1888
+ subtitle = _ref6.subtitle,
1889
+ action = _ref6.action,
1890
+ _ref6$style = _ref6.style,
1891
+ style = _ref6$style === void 0 ? {} : _ref6$style;
1999
1892
  return /*#__PURE__*/jsxs("div", {
2000
1893
  style: _objectSpread2({
2001
1894
  border: "1px solid ".concat(THEME.panelBorder),
@@ -2044,13 +1937,13 @@ var Panel = function Panel(_ref7) {
2044
1937
  }), children]
2045
1938
  });
2046
1939
  };
2047
- var MiniTable = function MiniTable(_ref8) {
2048
- var _ref8$head = _ref8.head,
2049
- head = _ref8$head === void 0 ? [] : _ref8$head,
2050
- _ref8$rows = _ref8.rows,
2051
- rows = _ref8$rows === void 0 ? [] : _ref8$rows,
2052
- _ref8$colAlign = _ref8.colAlign,
2053
- colAlign = _ref8$colAlign === void 0 ? [] : _ref8$colAlign;
1940
+ var MiniTable = function MiniTable(_ref7) {
1941
+ var _ref7$head = _ref7.head,
1942
+ head = _ref7$head === void 0 ? [] : _ref7$head,
1943
+ _ref7$rows = _ref7.rows,
1944
+ rows = _ref7$rows === void 0 ? [] : _ref7$rows,
1945
+ _ref7$colAlign = _ref7.colAlign,
1946
+ colAlign = _ref7$colAlign === void 0 ? [] : _ref7$colAlign;
2054
1947
  return /*#__PURE__*/jsxs("table", {
2055
1948
  style: {
2056
1949
  width: "100%",
@@ -2102,12 +1995,12 @@ var MiniTable = function MiniTable(_ref8) {
2102
1995
  })]
2103
1996
  });
2104
1997
  };
2105
- var ProgressBar = function ProgressBar(_ref9) {
2106
- var value = _ref9.value,
2107
- _ref9$color = _ref9.color,
2108
- color = _ref9$color === void 0 ? "rgb(99, 99, 230)" : _ref9$color,
2109
- _ref9$height = _ref9.height,
2110
- height = _ref9$height === void 0 ? 6 : _ref9$height;
1998
+ var ProgressBar = function ProgressBar(_ref8) {
1999
+ var value = _ref8.value,
2000
+ _ref8$color = _ref8.color,
2001
+ color = _ref8$color === void 0 ? "rgb(99, 99, 230)" : _ref8$color,
2002
+ _ref8$height = _ref8.height,
2003
+ height = _ref8$height === void 0 ? 6 : _ref8$height;
2111
2004
  var pct = Math.max(0, Number(value !== null && value !== void 0 ? value : 0));
2112
2005
  var barWidth = Math.min(100, pct);
2113
2006
  return /*#__PURE__*/jsxs("div", {
@@ -2150,15 +2043,15 @@ var ProgressBar = function ProgressBar(_ref9) {
2150
2043
  })]
2151
2044
  });
2152
2045
  };
2153
- var KpiCard = function KpiCard(_ref0) {
2154
- var title = _ref0.title,
2155
- value = _ref0.value,
2156
- trend = _ref0.trend,
2157
- detail = _ref0.detail,
2158
- _ref0$variant = _ref0.variant,
2159
- variant = _ref0$variant === void 0 ? "secondary" : _ref0$variant,
2160
- _ref0$trendPositiveWh = _ref0.trendPositiveWhenNegative,
2161
- trendPositiveWhenNegative = _ref0$trendPositiveWh === void 0 ? false : _ref0$trendPositiveWh;
2046
+ var KpiCard = function KpiCard(_ref9) {
2047
+ var title = _ref9.title,
2048
+ value = _ref9.value,
2049
+ trend = _ref9.trend,
2050
+ detail = _ref9.detail,
2051
+ _ref9$variant = _ref9.variant,
2052
+ variant = _ref9$variant === void 0 ? "secondary" : _ref9$variant,
2053
+ _ref9$trendPositiveWh = _ref9.trendPositiveWhenNegative,
2054
+ trendPositiveWhenNegative = _ref9$trendPositiveWh === void 0 ? false : _ref9$trendPositiveWh;
2162
2055
  var displayTrend = withTrendArrow(trend);
2163
2056
  var isPrimary = variant === "primary";
2164
2057
  return /*#__PURE__*/jsxs("div", {
@@ -2209,10 +2102,10 @@ var KpiCard = function KpiCard(_ref0) {
2209
2102
  })]
2210
2103
  });
2211
2104
  };
2212
- var StatPair = function StatPair(_ref1) {
2213
- var label = _ref1.label,
2214
- val = _ref1.val,
2215
- trend = _ref1.trend;
2105
+ var StatPair = function StatPair(_ref0) {
2106
+ var label = _ref0.label,
2107
+ val = _ref0.val,
2108
+ trend = _ref0.trend;
2216
2109
  var displayTrend = withTrendArrow(trend);
2217
2110
  return /*#__PURE__*/jsxs("div", {
2218
2111
  style: {
@@ -2249,12 +2142,12 @@ var StatPair = function StatPair(_ref1) {
2249
2142
  })]
2250
2143
  });
2251
2144
  };
2252
- var PageHeader = function PageHeader(_ref10) {
2253
- var dateLabel = _ref10.dateLabel,
2254
- generatedLabel = _ref10.generatedLabel,
2255
- activeFilters = _ref10.activeFilters,
2256
- page = _ref10.page,
2257
- windowLabel = _ref10.windowLabel;
2145
+ var PageHeader = function PageHeader(_ref1) {
2146
+ var dateLabel = _ref1.dateLabel,
2147
+ generatedLabel = _ref1.generatedLabel,
2148
+ activeFilters = _ref1.activeFilters,
2149
+ page = _ref1.page,
2150
+ windowLabel = _ref1.windowLabel;
2258
2151
  return /*#__PURE__*/jsxs("div", {
2259
2152
  style: {
2260
2153
  padding: "22px ".concat(MX, "px 12px"),
@@ -2360,9 +2253,9 @@ var PageHeader = function PageHeader(_ref10) {
2360
2253
  })]
2361
2254
  });
2362
2255
  };
2363
- var PageFooter = function PageFooter(_ref11) {
2364
- var generatedLabel = _ref11.generatedLabel,
2365
- page = _ref11.page;
2256
+ var PageFooter = function PageFooter(_ref10) {
2257
+ var generatedLabel = _ref10.generatedLabel,
2258
+ page = _ref10.page;
2366
2259
  return /*#__PURE__*/jsx("div", {
2367
2260
  style: {
2368
2261
  padding: "7px ".concat(MX, "px"),
@@ -2382,16 +2275,16 @@ var PageFooter = function PageFooter(_ref11) {
2382
2275
  };
2383
2276
 
2384
2277
  // ─── Main component ───────────────────────────────────────────────────────────
2385
- var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref12, ref) {
2386
- var _apiData$overviewStat, _overview$totalRevenu, _overview$netRevenue, _overview$overallAVGD, _overview$conversionR, _apiData$totalVisits, _refundsRaw$refundRat, _refundsRaw$chargebac, _apiData$trafficSourc2, _metricByTitle$NetRa, _metricByTitle$Total, _metricByTitle$Total2, _metricByTitle$Total3, _metricByTitle$AvgDo, _metricByTitle$AvgDo2, _apiData$medianGift, _apiData$topDecileGif, _apiData$roasCard, _metricByTitle$ROAS, _apiData$roasCardPrev, _metricByTitle$ROAS2, _apiData$adSpend, _apiData$attributedRe, _metricByTitle$Conver, _metricByTitle$Conver2, _metricByTitle$Refund, _metricByTitle$Refund2, _refundsRaw$refundCou, _metricByTitle$Refund3, _ref15, _refundsRaw$refundRat2, _ob$growthPercentage, _ob$peakDay, _refCard$growthPercen;
2387
- var _ref12$apiData = _ref12.apiData,
2388
- apiData = _ref12$apiData === void 0 ? {} : _ref12$apiData,
2389
- _ref12$dateName = _ref12.dateName,
2390
- dateName = _ref12$dateName === void 0 ? "Last Period" : _ref12$dateName,
2391
- _ref12$numberOfDays = _ref12.numberOfDays,
2392
- numberOfDays = _ref12$numberOfDays === void 0 ? 30 : _ref12$numberOfDays,
2393
- _ref12$activeFilters = _ref12.activeFilters,
2394
- activeFilters = _ref12$activeFilters === void 0 ? [] : _ref12$activeFilters;
2278
+ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref11, ref) {
2279
+ var _apiData$overviewStat, _overview$totalRevenu, _overview$netRevenue, _overview$overallAVGD, _overview$conversionR, _apiData$totalVisits, _refundsRaw$refundRat, _refundsRaw$chargebac, _apiData$trafficSourc2, _metricByTitle$NetRa, _metricByTitle$Total, _metricByTitle$Total2, _metricByTitle$Total3, _metricByTitle$AvgDo, _metricByTitle$AvgDo2, _apiData$medianGift, _apiData$topDecileGif, _apiData$roasCard, _metricByTitle$ROAS, _apiData$roasCardPrev, _metricByTitle$ROAS2, _apiData$adSpend, _apiData$attributedRe, _metricByTitle$Conver, _metricByTitle$Conver2, _metricByTitle$Refund, _metricByTitle$Refund2, _refundsRaw$refundCou, _metricByTitle$Refund3, _mainChart$stacked, _ref14, _refundsRaw$refundRat2, _ob$growthPercentage, _ob$peakDay, _refCard$growthPercen;
2280
+ var _ref11$apiData = _ref11.apiData,
2281
+ apiData = _ref11$apiData === void 0 ? {} : _ref11$apiData,
2282
+ _ref11$dateName = _ref11.dateName,
2283
+ dateName = _ref11$dateName === void 0 ? "Last Period" : _ref11$dateName,
2284
+ _ref11$numberOfDays = _ref11.numberOfDays,
2285
+ numberOfDays = _ref11$numberOfDays === void 0 ? 30 : _ref11$numberOfDays,
2286
+ _ref11$activeFilters = _ref11.activeFilters,
2287
+ activeFilters = _ref11$activeFilters === void 0 ? [] : _ref11$activeFilters;
2395
2288
  var now = new Date();
2396
2289
  var daysLabel = "".concat(numberOfDays, " day").concat(numberOfDays === 1 ? "" : "s");
2397
2290
  var windowLabel = "".concat(numberOfDays, "-day window");
@@ -2703,10 +2596,10 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref12, ref) {
2703
2596
  gap: 14,
2704
2597
  marginBottom: 6
2705
2598
  },
2706
- children: [["Email", C.cyan], ["Organic", C.emerald], ["Paid Ads", C.indigo]].map(function (_ref13) {
2707
- var _ref14 = _slicedToArray(_ref13, 2),
2708
- name = _ref14[0],
2709
- color = _ref14[1];
2599
+ children: [["Email", C.cyan], ["Organic", C.emerald], ["Paid Ads", C.indigo]].map(function (_ref12) {
2600
+ var _ref13 = _slicedToArray(_ref12, 2),
2601
+ name = _ref13[0],
2602
+ color = _ref13[1];
2710
2603
  return /*#__PURE__*/jsxs("div", {
2711
2604
  style: {
2712
2605
  display: "flex",
@@ -2729,11 +2622,22 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref12, ref) {
2729
2622
  })]
2730
2623
  }, name);
2731
2624
  })
2732
- }), /*#__PURE__*/jsx(LineChart, {
2733
- series: revSeries,
2734
- categories: revCats,
2735
- width: CW - 28,
2736
- height: 300
2625
+ }), /*#__PURE__*/jsx("div", {
2626
+ style: {
2627
+ width: "100%",
2628
+ minHeight: 300
2629
+ },
2630
+ children: /*#__PURE__*/jsx(RevenueChart, {
2631
+ id: "pdf-total-revenue-trend",
2632
+ metric: "Revenue",
2633
+ series: revSeries,
2634
+ categories: revCats,
2635
+ height: 300,
2636
+ stacked: (_mainChart$stacked = mainChart.stacked) !== null && _mainChart$stacked !== void 0 ? _mainChart$stacked : true,
2637
+ type: "area",
2638
+ colors: mainChart.colors || ["#6366F1", "#10B981", "#06B6D4"],
2639
+ showLegend: false
2640
+ })
2737
2641
  })]
2738
2642
  })]
2739
2643
  }), /*#__PURE__*/jsx(PageFooter, {
@@ -2871,7 +2775,7 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref12, ref) {
2871
2775
  style: {
2872
2776
  fontSize: 9
2873
2777
  },
2874
- children: "".concat(Number((_ref15 = donorMixPrev !== null && donorMixPrev !== void 0 ? donorMixPrev : growth === null || growth === void 0 ? void 0 : growth.overallAVGDonations) !== null && _ref15 !== void 0 ? _ref15 : 0).toFixed(2), "% vs pp")
2778
+ children: "".concat(Number((_ref14 = donorMixPrev !== null && donorMixPrev !== void 0 ? donorMixPrev : growth === null || growth === void 0 ? void 0 : growth.overallAVGDonations) !== null && _ref14 !== void 0 ? _ref14 : 0).toFixed(2), "% vs pp")
2875
2779
  })
2876
2780
  })]
2877
2781
  })]
@@ -3127,10 +3031,10 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref12, ref) {
3127
3031
  display: "flex",
3128
3032
  gap: 12
3129
3033
  },
3130
- children: [["Avg/day", d$((ob === null || ob === void 0 ? void 0 : ob.averagePerDay) || 0)], ["Peak day", d$((ob === null || ob === void 0 || (_ob$peakDay = ob.peakDay) === null || _ob$peakDay === void 0 ? void 0 : _ob$peakDay.amount) || 0)], ["Orders", formatNumber((ob === null || ob === void 0 ? void 0 : ob.totalOrders) || 0)]].map(function (_ref16) {
3131
- var _ref17 = _slicedToArray(_ref16, 2),
3132
- l = _ref17[0],
3133
- v = _ref17[1];
3034
+ children: [["Avg/day", d$((ob === null || ob === void 0 ? void 0 : ob.averagePerDay) || 0)], ["Peak day", d$((ob === null || ob === void 0 || (_ob$peakDay = ob.peakDay) === null || _ob$peakDay === void 0 ? void 0 : _ob$peakDay.amount) || 0)], ["Orders", formatNumber((ob === null || ob === void 0 ? void 0 : ob.totalOrders) || 0)]].map(function (_ref15) {
3035
+ var _ref16 = _slicedToArray(_ref15, 2),
3036
+ l = _ref16[0],
3037
+ v = _ref16[1];
3134
3038
  return /*#__PURE__*/jsxs("div", {
3135
3039
  children: [/*#__PURE__*/jsx("div", {
3136
3040
  style: {
@@ -3257,10 +3161,10 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref12, ref) {
3257
3161
  display: "flex",
3258
3162
  gap: 12
3259
3163
  },
3260
- children: [["Referrers", formatNumber((refCard === null || refCard === void 0 ? void 0 : refCard.totalReferrers) || 0)], ["Avg gift", d$((refCard === null || refCard === void 0 ? void 0 : refCard.averageGift) || 0)], ["Conv. rate", pct((refCard === null || refCard === void 0 ? void 0 : refCard.conversionRate) || 0, 1)]].map(function (_ref18) {
3261
- var _ref19 = _slicedToArray(_ref18, 2),
3262
- l = _ref19[0],
3263
- v = _ref19[1];
3164
+ children: [["Referrers", formatNumber((refCard === null || refCard === void 0 ? void 0 : refCard.totalReferrers) || 0)], ["Avg gift", d$((refCard === null || refCard === void 0 ? void 0 : refCard.averageGift) || 0)], ["Conv. rate", pct((refCard === null || refCard === void 0 ? void 0 : refCard.conversionRate) || 0, 1)]].map(function (_ref17) {
3165
+ var _ref18 = _slicedToArray(_ref17, 2),
3166
+ l = _ref18[0],
3167
+ v = _ref18[1];
3264
3168
  return /*#__PURE__*/jsxs("div", {
3265
3169
  children: [/*#__PURE__*/jsx("div", {
3266
3170
  style: {
@@ -3446,7 +3350,7 @@ var NewOverview = function NewOverview(_ref) {
3446
3350
  if (!showExportLayout) return;
3447
3351
  var doPdfExport = /*#__PURE__*/function () {
3448
3352
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
3449
- var container, safeDate, _t;
3353
+ var container, waitForCharts, safeDate, _t;
3450
3354
  return _regenerator().w(function (_context) {
3451
3355
  while (1) switch (_context.p = _context.n) {
3452
3356
  case 0:
@@ -3458,37 +3362,55 @@ var NewOverview = function NewOverview(_ref) {
3458
3362
  });
3459
3363
  });
3460
3364
  case 1:
3461
- _context.n = 2;
3462
- return new Promise(function (r) {
3463
- return setTimeout(r, 400);
3464
- });
3465
- case 2:
3466
3365
  container = exportLayoutRef.current;
3467
3366
  if (container) {
3468
- _context.n = 3;
3367
+ _context.n = 2;
3469
3368
  break;
3470
3369
  }
3471
3370
  return _context.a(2);
3371
+ case 2:
3372
+ waitForCharts = function waitForCharts(root) {
3373
+ var timeoutMs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 4000;
3374
+ return new Promise(function (resolve) {
3375
+ var started = Date.now();
3376
+ var _check = function check() {
3377
+ var chartSvg = root.querySelector(".apexcharts-svg");
3378
+ if (chartSvg || Date.now() - started >= timeoutMs) {
3379
+ resolve();
3380
+ return;
3381
+ }
3382
+ requestAnimationFrame(_check);
3383
+ };
3384
+ _check();
3385
+ });
3386
+ };
3387
+ _context.n = 3;
3388
+ return waitForCharts(container);
3472
3389
  case 3:
3473
- safeDate = new Date().toISOString().slice(0, 10);
3474
3390
  _context.n = 4;
3475
- return exportReportPdf(container, "DashboardOverview_report_".concat(safeDate, ".pdf"));
3391
+ return new Promise(function (r) {
3392
+ return setTimeout(r, 300);
3393
+ });
3476
3394
  case 4:
3477
- _context.n = 6;
3478
- break;
3395
+ safeDate = new Date().toISOString().slice(0, 10);
3396
+ _context.n = 5;
3397
+ return exportReportPdf(container, "DashboardOverview_report_".concat(safeDate, ".pdf"));
3479
3398
  case 5:
3480
- _context.p = 5;
3481
- _t = _context.v;
3482
- console.error("Failed to export overall dashboard PDF:", _t);
3399
+ _context.n = 7;
3400
+ break;
3483
3401
  case 6:
3484
3402
  _context.p = 6;
3403
+ _t = _context.v;
3404
+ console.error("Failed to export overall dashboard PDF:", _t);
3405
+ case 7:
3406
+ _context.p = 7;
3485
3407
  setShowExportLayout(false);
3486
3408
  setExportLoading === null || setExportLoading === void 0 || setExportLoading(false);
3487
- return _context.f(6);
3488
- case 7:
3409
+ return _context.f(7);
3410
+ case 8:
3489
3411
  return _context.a(2);
3490
3412
  }
3491
- }, _callee, null, [[0, 5, 6, 7]]);
3413
+ }, _callee, null, [[0, 6, 7, 8]]);
3492
3414
  }));
3493
3415
  return function doPdfExport() {
3494
3416
  return _ref2.apply(this, arguments);