@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.es.js CHANGED
@@ -8,6 +8,49 @@ import Box$1 from '@mui/material/Box';
8
8
  import Typography$1 from '@mui/material/Typography';
9
9
  import ReactApexChart from 'react-apexcharts';
10
10
 
11
+ var theme = createTheme({
12
+ cssVariables: true,
13
+ // Enable CSS variables for better SSR support
14
+ typography: {
15
+ fontFamily: ["var(--font-league-spartan)", "var(--font-noto-sans-arabic)",
16
+ // Added as a fallback for Arabic text
17
+ "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"].join(",")
18
+ },
19
+ palette: {
20
+ primary: {
21
+ main: "#6363E6",
22
+ mainLight: "#F7F7FF",
23
+ light: "#FFFFFF",
24
+ gray: "#A1A1A8",
25
+ lightGreen: "#E1FBF2",
26
+ green: "#0CAB72",
27
+ red: "#E61D1D",
28
+ lightRed: "#FFEDED",
29
+ lightGray: "#E9E9EB",
30
+ darkGray: "#606062",
31
+ dark: "#090909"
32
+ },
33
+ text: {
34
+ primary: "#666666"
35
+ },
36
+ secondary: {
37
+ main: "#E0C2FF",
38
+ light: "#F5EBFF",
39
+ // dark: will be calculated from palette.secondary.main,
40
+ contrastText: "#47008F"
41
+ },
42
+ white: {
43
+ main: "#FFFFFF",
44
+ light: "#F8F8F8"
45
+ },
46
+ gradients: {
47
+ primary: "linear-gradient(90deg, #6363E6 0.05%, #59C9F9 99.96%)",
48
+ secondary: "linear-gradient(180deg, #E9E9FF 0%, #C9EEFF 100%)"
49
+ // You can add more gradients if needed
50
+ }
51
+ }
52
+ });
53
+
11
54
  function _arrayLikeToArray(r, a) {
12
55
  (null == a || a > r.length) && (a = r.length);
13
56
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
@@ -254,49 +297,6 @@ function _unsupportedIterableToArray(r, a) {
254
297
  }
255
298
  }
256
299
 
257
- var theme = createTheme({
258
- cssVariables: true,
259
- // Enable CSS variables for better SSR support
260
- typography: {
261
- fontFamily: ["var(--font-league-spartan)", "var(--font-noto-sans-arabic)",
262
- // Added as a fallback for Arabic text
263
- "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"].join(",")
264
- },
265
- palette: {
266
- primary: {
267
- main: "#6363E6",
268
- mainLight: "#F7F7FF",
269
- light: "#FFFFFF",
270
- gray: "#A1A1A8",
271
- lightGreen: "#E1FBF2",
272
- green: "#0CAB72",
273
- red: "#E61D1D",
274
- lightRed: "#FFEDED",
275
- lightGray: "#E9E9EB",
276
- darkGray: "#606062",
277
- dark: "#090909"
278
- },
279
- text: {
280
- primary: "#666666"
281
- },
282
- secondary: {
283
- main: "#E0C2FF",
284
- light: "#F5EBFF",
285
- // dark: will be calculated from palette.secondary.main,
286
- contrastText: "#47008F"
287
- },
288
- white: {
289
- main: "#FFFFFF",
290
- light: "#F8F8F8"
291
- },
292
- gradients: {
293
- primary: "linear-gradient(90deg, #6363E6 0.05%, #59C9F9 99.96%)",
294
- secondary: "linear-gradient(180deg, #E9E9FF 0%, #C9EEFF 100%)"
295
- // You can add more gradients if needed
296
- }
297
- }
298
- });
299
-
300
300
  var MetricSelector = function MetricSelector(_ref) {
301
301
  var metric = _ref.metric,
302
302
  onMetricChange = _ref.onMetricChange,
@@ -932,12 +932,6 @@ var Dashboard = function Dashboard(_ref) {
932
932
  numberOfDays = _ref$numberOfDays === void 0 ? 1 : _ref$numberOfDays,
933
933
  _ref$activeFilters = _ref.activeFilters,
934
934
  activeFilters = _ref$activeFilters === void 0 ? [] : _ref$activeFilters;
935
- console.log("[Dashboard] activeFilters prop:", {
936
- value: activeFilters,
937
- type: _typeof(activeFilters),
938
- isArray: Array.isArray(activeFilters),
939
- length: Array.isArray(activeFilters) ? activeFilters.length : undefined
940
- });
941
935
  return /*#__PURE__*/jsx(ThemeProvider, {
942
936
  theme: theme,
943
937
  children: /*#__PURE__*/jsx(Suspense, {
@@ -1568,8 +1562,10 @@ var THEME = {
1568
1562
  pageBg: "#F8FAFC",
1569
1563
  panelBg: "#FFFFFF",
1570
1564
  panelBorder: "#DDE3EA",
1571
- kpiBg: "#F6F8FF",
1572
- kpiBorder: "#D9E0FF",
1565
+ kpiBgPrimary: "#EEF2FF",
1566
+ kpiBorderPrimary: "#C7D2FE",
1567
+ kpiBgSecondary: "#F8FAFF",
1568
+ kpiBorderSecondary: "#DDE3EA",
1573
1569
  tableHeadBg: "#EEF2FF",
1574
1570
  tableAltBg: "#F8FAFF",
1575
1571
  muted: "#94A3B8",
@@ -1954,14 +1950,17 @@ var KpiCard = function KpiCard(_ref7) {
1954
1950
  var title = _ref7.title,
1955
1951
  value = _ref7.value,
1956
1952
  trend = _ref7.trend,
1957
- detail = _ref7.detail;
1953
+ detail = _ref7.detail,
1954
+ _ref7$variant = _ref7.variant,
1955
+ variant = _ref7$variant === void 0 ? "secondary" : _ref7$variant;
1958
1956
  var neg = "".concat(trend).trim().startsWith("-");
1957
+ var isPrimary = variant === "primary";
1959
1958
  return /*#__PURE__*/jsxs("div", {
1960
1959
  style: {
1961
- border: "1px solid ".concat(THEME.kpiBorder),
1960
+ border: "1px solid ".concat(isPrimary ? THEME.kpiBorderPrimary : THEME.kpiBorderSecondary),
1962
1961
  borderRadius: 8,
1963
1962
  padding: "10px 12px 9px",
1964
- background: THEME.kpiBg,
1963
+ background: isPrimary ? THEME.kpiBgPrimary : THEME.kpiBgSecondary,
1965
1964
  width: "100%",
1966
1965
  minWidth: 0,
1967
1966
  boxSizing: "border-box",
@@ -2235,13 +2234,6 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
2235
2234
  return "";
2236
2235
  };
2237
2236
  var formattedActiveFilters = _normalizeFiltersText(activeFilters);
2238
- console.log("[ExportPdfLayout] activeFilters prop received:", {
2239
- value: activeFilters,
2240
- type: _typeof(activeFilters),
2241
- isArray: Array.isArray(activeFilters),
2242
- length: Array.isArray(activeFilters) ? activeFilters.length : undefined
2243
- });
2244
- console.log("[ExportPdfLayout] formattedActiveFilters:", formattedActiveFilters);
2245
2237
  var report = buildReportData(apiData, dateName);
2246
2238
  var hero = report.hero,
2247
2239
  metrics = report.metrics,
@@ -2428,7 +2420,8 @@ var ExportPdfLayout = /*#__PURE__*/React.forwardRef(function (_ref1, ref) {
2428
2420
  title: "Total Raised",
2429
2421
  value: hero.value,
2430
2422
  trend: hero.trend,
2431
- detail: hero.detail
2423
+ detail: hero.detail,
2424
+ variant: "primary"
2432
2425
  }), /*#__PURE__*/jsxs("div", {
2433
2426
  style: {
2434
2427
  display: "grid",
@@ -3226,14 +3219,6 @@ var NewOverview = function NewOverview(_ref) {
3226
3219
  exportFiltersSnapshot = _useState8[0],
3227
3220
  setExportFiltersSnapshot = _useState8[1];
3228
3221
  var exportLayoutRef = useRef(null);
3229
- useEffect(function () {
3230
- console.log("[NewOverview] activeFilters prop changed:", {
3231
- value: activeFilters,
3232
- type: _typeof(activeFilters),
3233
- isArray: Array.isArray(activeFilters),
3234
- length: Array.isArray(activeFilters) ? activeFilters.length : undefined
3235
- });
3236
- }, [activeFilters]);
3237
3222
  useEffect(function () {
3238
3223
  if (activeSectionProp) {
3239
3224
  var capitalized = activeSectionProp.charAt(0).toUpperCase() + activeSectionProp.slice(1).toLowerCase();
@@ -3244,25 +3229,10 @@ var NewOverview = function NewOverview(_ref) {
3244
3229
  // Step 1 – mount the off-screen export layout whenever the trigger fires
3245
3230
  useEffect(function () {
3246
3231
  if (exportTrigger > 0) {
3247
- console.log("[NewOverview] exportTrigger received:", exportTrigger);
3248
- console.log("[NewOverview] snapshotting filters for export:", {
3249
- value: activeFilters,
3250
- type: _typeof(activeFilters),
3251
- isArray: Array.isArray(activeFilters),
3252
- length: Array.isArray(activeFilters) ? activeFilters.length : undefined
3253
- });
3254
3232
  setExportFiltersSnapshot(activeFilters);
3255
3233
  setShowExportLayout(true);
3256
3234
  }
3257
3235
  }, [exportTrigger, activeFilters]);
3258
- useEffect(function () {
3259
- console.log("[NewOverview] exportFiltersSnapshot updated:", {
3260
- value: exportFiltersSnapshot,
3261
- type: _typeof(exportFiltersSnapshot),
3262
- isArray: Array.isArray(exportFiltersSnapshot),
3263
- length: Array.isArray(exportFiltersSnapshot) ? exportFiltersSnapshot.length : undefined
3264
- });
3265
- }, [exportFiltersSnapshot]);
3266
3236
 
3267
3237
  // Step 2 – once the layout is in the DOM, capture each page and build the PDF
3268
3238
  useEffect(function () {
@@ -3274,8 +3244,6 @@ var NewOverview = function NewOverview(_ref) {
3274
3244
  while (1) switch (_context.p = _context.n) {
3275
3245
  case 0:
3276
3246
  _context.p = 0;
3277
- console.log("[NewOverview] starting PDF export with snapshot:", exportFiltersSnapshot);
3278
- // Allow SVG layout to paint before capture
3279
3247
  _context.n = 1;
3280
3248
  return new Promise(function (r) {
3281
3249
  return requestAnimationFrame(function () {
@@ -3299,7 +3267,6 @@ var NewOverview = function NewOverview(_ref) {
3299
3267
  _context.n = 4;
3300
3268
  return exportReportPdf(container, "DashboardOverview_report_".concat(safeDate, ".pdf"));
3301
3269
  case 4:
3302
- console.log("[NewOverview] PDF export completed");
3303
3270
  _context.n = 6;
3304
3271
  break;
3305
3272
  case 5: