@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 +55 -88
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +55 -88
- package/dist/index.es.js.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
1574
|
-
|
|
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.
|
|
1962
|
+
border: "1px solid ".concat(isPrimary ? THEME.kpiBorderPrimary : THEME.kpiBorderSecondary),
|
|
1964
1963
|
borderRadius: 8,
|
|
1965
1964
|
padding: "10px 12px 9px",
|
|
1966
|
-
background: THEME.
|
|
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:
|