@ammarkhalidfarooq/dashboard-package 0.6.38 → 0.6.40

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,6 +10,49 @@ 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
+
13
56
  function _arrayLikeToArray(r, a) {
14
57
  (null == a || a > r.length) && (a = r.length);
15
58
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
@@ -256,49 +299,6 @@ function _unsupportedIterableToArray(r, a) {
256
299
  }
257
300
  }
258
301
 
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,12 +934,6 @@ 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
- });
943
937
  return /*#__PURE__*/jsxRuntime.jsx(material.ThemeProvider, {
944
938
  theme: theme,
945
939
  children: /*#__PURE__*/jsxRuntime.jsx(React.Suspense, {
@@ -1570,8 +1564,10 @@ var THEME = {
1570
1564
  pageBg: "#F8FAFC",
1571
1565
  panelBg: "#FFFFFF",
1572
1566
  panelBorder: "#DDE3EA",
1573
- kpiBg: "#F6F8FF",
1574
- kpiBorder: "#D9E0FF",
1567
+ kpiBgPrimary: "#EEF2FF",
1568
+ kpiBorderPrimary: "#C7D2FE",
1569
+ kpiBgSecondary: "#F8FAFF",
1570
+ kpiBorderSecondary: "#DDE3EA",
1575
1571
  tableHeadBg: "#EEF2FF",
1576
1572
  tableAltBg: "#F8FAFF",
1577
1573
  muted: "#94A3B8",
@@ -1956,14 +1952,17 @@ var KpiCard = function KpiCard(_ref7) {
1956
1952
  var title = _ref7.title,
1957
1953
  value = _ref7.value,
1958
1954
  trend = _ref7.trend,
1959
- detail = _ref7.detail;
1955
+ detail = _ref7.detail,
1956
+ _ref7$variant = _ref7.variant,
1957
+ variant = _ref7$variant === void 0 ? "secondary" : _ref7$variant;
1960
1958
  var neg = "".concat(trend).trim().startsWith("-");
1959
+ var isPrimary = variant === "primary";
1961
1960
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
1962
1961
  style: {
1963
- border: "1px solid ".concat(THEME.kpiBorder),
1962
+ border: "1px solid ".concat(isPrimary ? THEME.kpiBorderPrimary : THEME.kpiBorderSecondary),
1964
1963
  borderRadius: 8,
1965
1964
  padding: "10px 12px 9px",
1966
- background: THEME.kpiBg,
1965
+ background: isPrimary ? THEME.kpiBgPrimary : THEME.kpiBgSecondary,
1967
1966
  width: "100%",
1968
1967
  minWidth: 0,
1969
1968
  boxSizing: "border-box",
@@ -2237,13 +2236,6 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
2237
2236
  return "";
2238
2237
  };
2239
2238
  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);
2247
2239
  var report = buildReportData(apiData, dateName);
2248
2240
  var hero = report.hero,
2249
2241
  metrics = report.metrics,
@@ -2430,7 +2422,8 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
2430
2422
  title: "Total Raised",
2431
2423
  value: hero.value,
2432
2424
  trend: hero.trend,
2433
- detail: hero.detail
2425
+ detail: hero.detail,
2426
+ variant: "primary"
2434
2427
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
2435
2428
  style: {
2436
2429
  display: "grid",
@@ -3228,14 +3221,6 @@ var NewOverview = function NewOverview(_ref) {
3228
3221
  exportFiltersSnapshot = _useState8[0],
3229
3222
  setExportFiltersSnapshot = _useState8[1];
3230
3223
  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]);
3239
3224
  React.useEffect(function () {
3240
3225
  if (activeSectionProp) {
3241
3226
  var capitalized = activeSectionProp.charAt(0).toUpperCase() + activeSectionProp.slice(1).toLowerCase();
@@ -3246,25 +3231,10 @@ var NewOverview = function NewOverview(_ref) {
3246
3231
  // Step 1 – mount the off-screen export layout whenever the trigger fires
3247
3232
  React.useEffect(function () {
3248
3233
  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
- });
3256
3234
  setExportFiltersSnapshot(activeFilters);
3257
3235
  setShowExportLayout(true);
3258
3236
  }
3259
3237
  }, [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]);
3268
3238
 
3269
3239
  // Step 2 – once the layout is in the DOM, capture each page and build the PDF
3270
3240
  React.useEffect(function () {
@@ -3276,8 +3246,6 @@ var NewOverview = function NewOverview(_ref) {
3276
3246
  while (1) switch (_context.p = _context.n) {
3277
3247
  case 0:
3278
3248
  _context.p = 0;
3279
- console.log("[NewOverview] starting PDF export with snapshot:", exportFiltersSnapshot);
3280
- // Allow SVG layout to paint before capture
3281
3249
  _context.n = 1;
3282
3250
  return new Promise(function (r) {
3283
3251
  return requestAnimationFrame(function () {
@@ -3301,7 +3269,6 @@ var NewOverview = function NewOverview(_ref) {
3301
3269
  _context.n = 4;
3302
3270
  return exportReportPdf(container, "DashboardOverview_report_".concat(safeDate, ".pdf"));
3303
3271
  case 4:
3304
- console.log("[NewOverview] PDF export completed");
3305
3272
  _context.n = 6;
3306
3273
  break;
3307
3274
  case 5: