@ammarkhalidfarooq/dashboard-package 0.6.36 → 0.6.38

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
@@ -10,49 +10,6 @@ var Box = require('@mui/material/Box');
10
10
  var Typography = require('@mui/material/Typography');
11
11
  var ReactApexChart = require('react-apexcharts');
12
12
 
13
- var theme = styles.createTheme({
14
- cssVariables: true,
15
- // Enable CSS variables for better SSR support
16
- typography: {
17
- fontFamily: ["var(--font-league-spartan)", "var(--font-noto-sans-arabic)",
18
- // Added as a fallback for Arabic text
19
- "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"].join(",")
20
- },
21
- palette: {
22
- primary: {
23
- main: "#6363E6",
24
- mainLight: "#F7F7FF",
25
- light: "#FFFFFF",
26
- gray: "#A1A1A8",
27
- lightGreen: "#E1FBF2",
28
- green: "#0CAB72",
29
- red: "#E61D1D",
30
- lightRed: "#FFEDED",
31
- lightGray: "#E9E9EB",
32
- darkGray: "#606062",
33
- dark: "#090909"
34
- },
35
- text: {
36
- primary: "#666666"
37
- },
38
- secondary: {
39
- main: "#E0C2FF",
40
- light: "#F5EBFF",
41
- // dark: will be calculated from palette.secondary.main,
42
- contrastText: "#47008F"
43
- },
44
- white: {
45
- main: "#FFFFFF",
46
- light: "#F8F8F8"
47
- },
48
- gradients: {
49
- primary: "linear-gradient(90deg, #6363E6 0.05%, #59C9F9 99.96%)",
50
- secondary: "linear-gradient(180deg, #E9E9FF 0%, #C9EEFF 100%)"
51
- // You can add more gradients if needed
52
- }
53
- }
54
- });
55
-
56
13
  function _arrayLikeToArray(r, a) {
57
14
  (null == a || a > r.length) && (a = r.length);
58
15
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
@@ -299,6 +256,49 @@ function _unsupportedIterableToArray(r, a) {
299
256
  }
300
257
  }
301
258
 
259
+ var theme = styles.createTheme({
260
+ cssVariables: true,
261
+ // Enable CSS variables for better SSR support
262
+ typography: {
263
+ fontFamily: ["var(--font-league-spartan)", "var(--font-noto-sans-arabic)",
264
+ // Added as a fallback for Arabic text
265
+ "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"].join(",")
266
+ },
267
+ palette: {
268
+ primary: {
269
+ main: "#6363E6",
270
+ mainLight: "#F7F7FF",
271
+ light: "#FFFFFF",
272
+ gray: "#A1A1A8",
273
+ lightGreen: "#E1FBF2",
274
+ green: "#0CAB72",
275
+ red: "#E61D1D",
276
+ lightRed: "#FFEDED",
277
+ lightGray: "#E9E9EB",
278
+ darkGray: "#606062",
279
+ dark: "#090909"
280
+ },
281
+ text: {
282
+ primary: "#666666"
283
+ },
284
+ secondary: {
285
+ main: "#E0C2FF",
286
+ light: "#F5EBFF",
287
+ // dark: will be calculated from palette.secondary.main,
288
+ contrastText: "#47008F"
289
+ },
290
+ white: {
291
+ main: "#FFFFFF",
292
+ light: "#F8F8F8"
293
+ },
294
+ gradients: {
295
+ primary: "linear-gradient(90deg, #6363E6 0.05%, #59C9F9 99.96%)",
296
+ secondary: "linear-gradient(180deg, #E9E9FF 0%, #C9EEFF 100%)"
297
+ // You can add more gradients if needed
298
+ }
299
+ }
300
+ });
301
+
302
302
  var MetricSelector = function MetricSelector(_ref) {
303
303
  var metric = _ref.metric,
304
304
  onMetricChange = _ref.onMetricChange,
@@ -934,6 +934,12 @@ var Dashboard = function Dashboard(_ref) {
934
934
  numberOfDays = _ref$numberOfDays === void 0 ? 1 : _ref$numberOfDays,
935
935
  _ref$activeFilters = _ref.activeFilters,
936
936
  activeFilters = _ref$activeFilters === void 0 ? [] : _ref$activeFilters;
937
+ console.log("[Dashboard] activeFilters prop:", {
938
+ value: activeFilters,
939
+ type: _typeof(activeFilters),
940
+ isArray: Array.isArray(activeFilters),
941
+ length: Array.isArray(activeFilters) ? activeFilters.length : undefined
942
+ });
937
943
  return /*#__PURE__*/jsxRuntime.jsx(material.ThemeProvider, {
938
944
  theme: theme,
939
945
  children: /*#__PURE__*/jsxRuntime.jsx(React.Suspense, {
@@ -2125,24 +2131,26 @@ var PageHeader = function PageHeader(_ref9) {
2125
2131
  }), !!"".concat(activeFilters || "").trim() && /*#__PURE__*/jsxRuntime.jsxs("div", {
2126
2132
  style: {
2127
2133
  marginTop: 7,
2128
- display: "inline-flex",
2129
- gap: 5,
2134
+ display: "inline-block",
2130
2135
  background: "#EEF2FF",
2131
2136
  border: "1px solid #D7DEFF",
2132
2137
  borderRadius: 4,
2133
- padding: "3px 9px",
2134
- fontSize: 8.5
2138
+ padding: "4px 9px",
2139
+ fontSize: 9,
2140
+ lineHeight: 1.35,
2141
+ color: "#374151",
2142
+ maxWidth: "100%"
2135
2143
  },
2136
2144
  children: [/*#__PURE__*/jsxRuntime.jsx("span", {
2137
2145
  style: {
2138
2146
  fontWeight: 700,
2139
- color: "#374151",
2140
- letterSpacing: "0.4px"
2147
+ letterSpacing: "0.3px"
2141
2148
  },
2142
- children: "ACTIVE FILTERS"
2143
- }), /*#__PURE__*/jsxRuntime.jsx("span", {
2149
+ children: "ACTIVE FILTERS:"
2150
+ }), " ", /*#__PURE__*/jsxRuntime.jsx("span", {
2144
2151
  style: {
2145
- color: "#6B7280"
2152
+ fontWeight: 500,
2153
+ color: "#334155"
2146
2154
  },
2147
2155
  children: activeFilters
2148
2156
  })]
@@ -2229,6 +2237,13 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
2229
2237
  return "";
2230
2238
  };
2231
2239
  var formattedActiveFilters = _normalizeFiltersText(activeFilters);
2240
+ console.log("[ExportPdfLayout] activeFilters prop received:", {
2241
+ value: activeFilters,
2242
+ type: _typeof(activeFilters),
2243
+ isArray: Array.isArray(activeFilters),
2244
+ length: Array.isArray(activeFilters) ? activeFilters.length : undefined
2245
+ });
2246
+ console.log("[ExportPdfLayout] formattedActiveFilters:", formattedActiveFilters);
2232
2247
  var report = buildReportData(apiData, dateName);
2233
2248
  var hero = report.hero,
2234
2249
  metrics = report.metrics,
@@ -3213,6 +3228,14 @@ var NewOverview = function NewOverview(_ref) {
3213
3228
  exportFiltersSnapshot = _useState8[0],
3214
3229
  setExportFiltersSnapshot = _useState8[1];
3215
3230
  var exportLayoutRef = React.useRef(null);
3231
+ React.useEffect(function () {
3232
+ console.log("[NewOverview] activeFilters prop changed:", {
3233
+ value: activeFilters,
3234
+ type: _typeof(activeFilters),
3235
+ isArray: Array.isArray(activeFilters),
3236
+ length: Array.isArray(activeFilters) ? activeFilters.length : undefined
3237
+ });
3238
+ }, [activeFilters]);
3216
3239
  React.useEffect(function () {
3217
3240
  if (activeSectionProp) {
3218
3241
  var capitalized = activeSectionProp.charAt(0).toUpperCase() + activeSectionProp.slice(1).toLowerCase();
@@ -3223,10 +3246,25 @@ var NewOverview = function NewOverview(_ref) {
3223
3246
  // Step 1 – mount the off-screen export layout whenever the trigger fires
3224
3247
  React.useEffect(function () {
3225
3248
  if (exportTrigger > 0) {
3249
+ console.log("[NewOverview] exportTrigger received:", exportTrigger);
3250
+ console.log("[NewOverview] snapshotting filters for export:", {
3251
+ value: activeFilters,
3252
+ type: _typeof(activeFilters),
3253
+ isArray: Array.isArray(activeFilters),
3254
+ length: Array.isArray(activeFilters) ? activeFilters.length : undefined
3255
+ });
3226
3256
  setExportFiltersSnapshot(activeFilters);
3227
3257
  setShowExportLayout(true);
3228
3258
  }
3229
3259
  }, [exportTrigger, activeFilters]);
3260
+ React.useEffect(function () {
3261
+ console.log("[NewOverview] exportFiltersSnapshot updated:", {
3262
+ value: exportFiltersSnapshot,
3263
+ type: _typeof(exportFiltersSnapshot),
3264
+ isArray: Array.isArray(exportFiltersSnapshot),
3265
+ length: Array.isArray(exportFiltersSnapshot) ? exportFiltersSnapshot.length : undefined
3266
+ });
3267
+ }, [exportFiltersSnapshot]);
3230
3268
 
3231
3269
  // Step 2 – once the layout is in the DOM, capture each page and build the PDF
3232
3270
  React.useEffect(function () {
@@ -3238,6 +3276,8 @@ var NewOverview = function NewOverview(_ref) {
3238
3276
  while (1) switch (_context.p = _context.n) {
3239
3277
  case 0:
3240
3278
  _context.p = 0;
3279
+ console.log("[NewOverview] starting PDF export with snapshot:", exportFiltersSnapshot);
3280
+ // Allow SVG layout to paint before capture
3241
3281
  _context.n = 1;
3242
3282
  return new Promise(function (r) {
3243
3283
  return requestAnimationFrame(function () {
@@ -3261,6 +3301,7 @@ var NewOverview = function NewOverview(_ref) {
3261
3301
  _context.n = 4;
3262
3302
  return exportReportPdf(container, "DashboardOverview_report_".concat(safeDate, ".pdf"));
3263
3303
  case 4:
3304
+ console.log("[NewOverview] PDF export completed");
3264
3305
  _context.n = 6;
3265
3306
  break;
3266
3307
  case 5:
@@ -3281,7 +3322,7 @@ var NewOverview = function NewOverview(_ref) {
3281
3322
  };
3282
3323
  }();
3283
3324
  doPdfExport();
3284
- }, [showExportLayout]);
3325
+ }, [showExportLayout, exportFiltersSnapshot]);
3285
3326
  var currentData = metric === "Revenue" ? revenueData : donationsData;
3286
3327
  var oneTimeData = (apiData === null || apiData === void 0 ? void 0 : apiData.oneTimeDonations) || [];
3287
3328
  var oneTimeValues = oneTimeData.length > 0 ? oneTimeData.map(function (item) {