@argusoft/medplat-core 1.0.17 → 1.0.19

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.
Files changed (64) hide show
  1. package/dist/{AddMenuConfiguration-QWfpcnuP.js → AddMenuConfiguration-DsnY0Rws.js} +544 -544
  2. package/dist/AddMenuConfiguration-DsnY0Rws.js.map +1 -0
  3. package/dist/{AddRoleDrawer-SvntLdRu.js → AddRoleDrawer-Bc655LQU.js} +17 -17
  4. package/dist/{AddRoleDrawer-SvntLdRu.js.map → AddRoleDrawer-Bc655LQU.js.map} +1 -1
  5. package/dist/ChangePasswordModalCore-50EzprTk.js +5495 -0
  6. package/dist/ChangePasswordModalCore-50EzprTk.js.map +1 -0
  7. package/dist/{ConditionConfig-DB0FqwgG.js → ConditionConfig-D2hOAa4n.js} +2 -2
  8. package/dist/{ConditionConfig-DB0FqwgG.js.map → ConditionConfig-D2hOAa4n.js.map} +1 -1
  9. package/dist/{EntityManagement-DQKXnEzz.js → EntityManagement-D4nG7wUX.js} +2 -2
  10. package/dist/{EntityManagement-DQKXnEzz.js.map → EntityManagement-D4nG7wUX.js.map} +1 -1
  11. package/dist/ImmunizationConfigurationBase-C5wnjI_-.js +5706 -0
  12. package/dist/ImmunizationConfigurationBase-C5wnjI_-.js.map +1 -0
  13. package/dist/ImmunizationConfigurationBase.css +1 -1
  14. package/dist/{ManageDynamicFeature-CsIett5x.js → ManageDynamicFeature-i6ARKe36.js} +2 -2
  15. package/dist/{ManageDynamicFeature-CsIett5x.js.map → ManageDynamicFeature-i6ARKe36.js.map} +1 -1
  16. package/dist/{ManageEventConfiguration-0YBDaxOI.js → ManageEventConfiguration-CHugu2vQ.js} +92 -92
  17. package/dist/ManageEventConfiguration-CHugu2vQ.js.map +1 -0
  18. package/dist/{ManageUser-eBS0yC5k.js → ManageUser-C6dlK-Mr.js} +3 -4
  19. package/dist/{ManageUser-eBS0yC5k.js.map → ManageUser-C6dlK-Mr.js.map} +1 -1
  20. package/dist/{MobileMenuManagement-BmrO-7MN.js → MobileMenuManagement-CV6QCeos.js} +15 -15
  21. package/dist/MobileMenuManagement-CV6QCeos.js.map +1 -0
  22. package/dist/{MobileTypeEventConfigModal-Ltm529jG.js → MobileTypeEventConfigModal-2w0WQ3WY.js} +2 -2
  23. package/dist/{MobileTypeEventConfigModal-Ltm529jG.js.map → MobileTypeEventConfigModal-2w0WQ3WY.js.map} +1 -1
  24. package/dist/{NewServerManagement-5YcAtF-g.js → NewServerManagement-Cxe0dV0O.js} +5 -5
  25. package/dist/NewServerManagement-Cxe0dV0O.js.map +1 -0
  26. package/dist/{OtherTypeEventConfigModal-dXt2qDg_.js → OtherTypeEventConfigModal-D1p8M39y.js} +43 -43
  27. package/dist/{OtherTypeEventConfigModal-dXt2qDg_.js.map → OtherTypeEventConfigModal-D1p8M39y.js.map} +1 -1
  28. package/dist/{QueryManagement-DGHV_-d5.js → QueryManagement-CRykYGum.js} +3 -3
  29. package/dist/QueryManagement-CRykYGum.js.map +1 -0
  30. package/dist/SecurityAuditLogList-Dod711KT.js +874 -0
  31. package/dist/SecurityAuditLogList-Dod711KT.js.map +1 -0
  32. package/dist/{TableDetails-DztbjsIA.js → TableDetails-Cf_YfnY2.js} +235 -235
  33. package/dist/TableDetails-Cf_YfnY2.js.map +1 -0
  34. package/dist/{TableList-DYwotUDO.js → TableList-HGbEN4bv.js} +28 -28
  35. package/dist/TableList-HGbEN4bv.js.map +1 -0
  36. package/dist/{TypeConfiguration-DYbBG_hZ.js → TypeConfiguration-D-3xNcyd.js} +2 -2
  37. package/dist/{TypeConfiguration-DYbBG_hZ.js.map → TypeConfiguration-D-3xNcyd.js.map} +1 -1
  38. package/dist/{UserList-BAeAFeXZ.js → UserList-D7GL7jvO.js} +420 -421
  39. package/dist/UserList-D7GL7jvO.js.map +1 -0
  40. package/dist/{WidgetList-D-fIf3N2.js → WidgetList-B3Sm9weK.js} +2 -2
  41. package/dist/{WidgetList-D-fIf3N2.js.map → WidgetList-B3Sm9weK.js.map} +1 -1
  42. package/dist/index-D9YNFPn9.js +1439 -0
  43. package/dist/index-D9YNFPn9.js.map +1 -0
  44. package/dist/index.css +1 -1
  45. package/dist/index.js +189 -174
  46. package/dist/index.js.map +1 -1
  47. package/dist/{index-BFznsakV.js → pdfmake-Cf-381ou.js} +13951 -15385
  48. package/dist/pdfmake-Cf-381ou.js.map +1 -0
  49. package/package.json +1 -1
  50. package/dist/AddMenuConfiguration-QWfpcnuP.js.map +0 -1
  51. package/dist/ChangePasswordModalCore-ClND1mel.js +0 -181
  52. package/dist/ChangePasswordModalCore-ClND1mel.js.map +0 -1
  53. package/dist/ImmunizationConfigurationBase-VqVvVR57.js +0 -5389
  54. package/dist/ImmunizationConfigurationBase-VqVvVR57.js.map +0 -1
  55. package/dist/ManageEventConfiguration-0YBDaxOI.js.map +0 -1
  56. package/dist/MobileMenuManagement-BmrO-7MN.js.map +0 -1
  57. package/dist/NewServerManagement-5YcAtF-g.js.map +0 -1
  58. package/dist/QueryManagement-DGHV_-d5.js.map +0 -1
  59. package/dist/SecurityAuditLogList-DHTcOtbx.js +0 -748
  60. package/dist/SecurityAuditLogList-DHTcOtbx.js.map +0 -1
  61. package/dist/TableDetails-DztbjsIA.js.map +0 -1
  62. package/dist/TableList-DYwotUDO.js.map +0 -1
  63. package/dist/UserList-BAeAFeXZ.js.map +0 -1
  64. package/dist/index-BFznsakV.js.map +0 -1
@@ -0,0 +1,874 @@
1
+ import { jsxs as N, jsx as a } from "react/jsx-runtime";
2
+ import { useTranslateProvider as xe } from "@/common/languageTranslator/TranslationContext";
3
+ import { showToast as P } from "@/common/toaster/toaster.jsx";
4
+ import Ee from "@/hooks/usePagination.js";
5
+ import Me from "@/views/custom-components/CustomizedTable/CustomizedTableV2";
6
+ import ze from "@/views/custom-components/SideOverlay.jsx";
7
+ import { useState as g, useEffect as ie, useMemo as Oe, useCallback as $e } from "react";
8
+ import { useTheme as Le, alpha as C, Box as k, Typography as Y, TextField as J, Button as de, Tooltip as Ue, IconButton as Ye, CircularProgress as be, Dialog as Pe, DialogTitle as Fe, DialogContent as Ve } from "@mui/material";
9
+ import { FontAwesomeIcon as O } from "@fortawesome/react-fontawesome";
10
+ import { faCalendar as We, faSearch as Be, faEye as je, faChartLine as Ge, faSync as He, faFilePdf as he, faFileExcel as we } from "@fortawesome/free-solid-svg-icons";
11
+ import { DateRange as Je } from "react-date-range";
12
+ import "react-date-range/dist/styles.css";
13
+ import "react-date-range/dist/theme/default.css";
14
+ import { useTheme as qe, alpha as ne } from "@mui/material/styles";
15
+ import { execute as Ke } from "@/common/services/GlobalApis";
16
+ import u from "@mui/material/Grid2";
17
+ import { F as Qe } from "./FileSaver.min-CN9EpL2h.js";
18
+ import Xe from "@/hooks/useTrackEvent";
19
+ import { x as Z } from "./xlsx.min-D1LFqt_b.js";
20
+ import { p as M } from "./pdfmake-Cf-381ou.js";
21
+ import ye from "@/assets/fonts/vfs_fonts";
22
+ import z from "dayjs";
23
+ import le from "moment";
24
+ function Ze({
25
+ filter: A,
26
+ setFilter: s,
27
+ handleOverlayState: F
28
+ }) {
29
+ const { translate: R } = xe(), o = Le(), q = o.palette.mode === "dark", [D, V] = g(A), [K, $] = g(!1), [ee, W] = g([
30
+ {
31
+ startDate: A.startTime ? new Date(A.startTime) : /* @__PURE__ */ new Date(),
32
+ endDate: A.endTime ? new Date(A.endTime) : /* @__PURE__ */ new Date(),
33
+ key: "selection"
34
+ }
35
+ ]);
36
+ ie(() => {
37
+ V(A), W([
38
+ {
39
+ startDate: A.startTime ? new Date(A.startTime) : /* @__PURE__ */ new Date(),
40
+ endDate: A.endTime ? new Date(A.endTime) : /* @__PURE__ */ new Date(),
41
+ key: "selection"
42
+ }
43
+ ]);
44
+ }, [A]);
45
+ const te = (i) => {
46
+ const { selection: y } = i;
47
+ W([y]);
48
+ const j = y.startDate ? B(y.startDate) : null, G = y.endDate ? B(y.endDate) : null;
49
+ V((H) => ({
50
+ ...H,
51
+ startTime: j,
52
+ endTime: G
53
+ }));
54
+ }, B = (i) => {
55
+ if (!i) return null;
56
+ const y = new Date(i);
57
+ return `${y.getFullYear()}-${String(y.getMonth() + 1).padStart(2, "0")}-${String(y.getDate()).padStart(2, "0")}`;
58
+ }, Q = () => {
59
+ if (!D.startTime && !D.endTime) return "Select date range";
60
+ const i = D.startTime ? new Date(D.startTime).toLocaleDateString() : "", y = D.endTime ? new Date(D.endTime).toLocaleDateString() : "";
61
+ return `${i} - ${y}`;
62
+ }, m = (i, y) => {
63
+ V((j) => ({ ...j, [i]: y }));
64
+ }, ae = () => {
65
+ s(D), F();
66
+ }, b = {
67
+ "& .MuiInputLabel-root": {
68
+ color: o.palette.text.secondary,
69
+ fontSize: "0.85rem",
70
+ fontWeight: 500,
71
+ transform: "translate(0, -1.5px) scale(1)",
72
+ "&.Mui-focused": { color: o.palette.primary.main }
73
+ },
74
+ "& .MuiInputBase-root": {
75
+ backgroundColor: C(o.palette.text.primary, 0.05),
76
+ borderRadius: "12px",
77
+ color: o.palette.text.primary,
78
+ marginTop: "20px",
79
+ "& fieldset": {
80
+ borderColor: C(o.palette.text.primary, 0.1),
81
+ borderRadius: "12px"
82
+ },
83
+ "&:hover fieldset": { borderColor: C(o.palette.text.primary, 0.3) },
84
+ "&.Mui-focused fieldset": { borderColor: o.palette.primary.main, borderWidth: "2px" }
85
+ },
86
+ "& .MuiInputBase-input": {
87
+ padding: "10px 14px",
88
+ colorScheme: q ? "dark" : "light"
89
+ }
90
+ };
91
+ return /* @__PURE__ */ N(k, { className: "flex flex-col gap-6 p-6", children: [
92
+ /* @__PURE__ */ N(k, { className: "flex flex-col gap-1.5 pt-1", children: [
93
+ /* @__PURE__ */ a(Y, { variant: "caption", sx: { color: o.palette.text.secondary, fontWeight: 500, fontSize: "0.85rem", transform: "translate(0, -1.5px)" }, children: R("Date Range") }),
94
+ /* @__PURE__ */ N(
95
+ k,
96
+ {
97
+ onClick: () => $(!K),
98
+ className: "flex items-center justify-between gap-2 px-3 py-2.5 rounded-xl cursor-pointer transition-all",
99
+ sx: {
100
+ backgroundColor: C(o.palette.text.primary, 0.05),
101
+ border: `1px solid ${C(o.palette.text.primary, 0.1)}`,
102
+ "&:hover": { borderColor: C(o.palette.text.primary, 0.3) }
103
+ },
104
+ children: [
105
+ /* @__PURE__ */ a(Y, { variant: "body2", sx: { color: o.palette.text.primary, fontSize: "0.875rem" }, children: Q() }),
106
+ /* @__PURE__ */ a(O, { icon: We, className: "opacity-50 text-sm" })
107
+ ]
108
+ }
109
+ ),
110
+ K && /* @__PURE__ */ a(
111
+ k,
112
+ {
113
+ className: "mt-2 p-2 rounded-xl flex justify-center overflow-hidden border",
114
+ sx: {
115
+ backgroundColor: o.palette.background.paper,
116
+ borderColor: C(o.palette.text.primary, 0.1),
117
+ "& .rdrCalendarWrapper": {
118
+ backgroundColor: o.palette.background.paper,
119
+ color: o.palette.text.primary
120
+ },
121
+ "& .rdrDateDisplayWrapper": {
122
+ backgroundColor: C(o.palette.text.primary, 0.05)
123
+ },
124
+ "& .rdrMonthAndYearWrapper": {
125
+ color: o.palette.text.primary
126
+ },
127
+ "& .rdrMonthName": {
128
+ color: o.palette.text.primary
129
+ },
130
+ "& .rdrDayNumber span": {
131
+ color: o.palette.text.primary
132
+ },
133
+ "& .rdrDayDisabled": {
134
+ backgroundColor: "transparent",
135
+ "& .rdrDayNumber span": {
136
+ color: C(o.palette.text.primary, 0.25)
137
+ }
138
+ },
139
+ "& .rdrDayPassive": {
140
+ "& .rdrDayNumber span": {
141
+ color: C(o.palette.text.primary, 0.3)
142
+ }
143
+ }
144
+ },
145
+ children: /* @__PURE__ */ a(
146
+ Je,
147
+ {
148
+ editableDateInputs: !1,
149
+ onChange: te,
150
+ moveRangeOnFirstSelection: !1,
151
+ ranges: ee,
152
+ rangeColors: [o.palette.primary.main]
153
+ }
154
+ )
155
+ }
156
+ )
157
+ ] }),
158
+ /* @__PURE__ */ N(k, { className: "flex flex-col gap-4 pt-2", children: [
159
+ /* @__PURE__ */ a(
160
+ J,
161
+ {
162
+ label: R("User ID"),
163
+ placeholder: R("e.g. 101"),
164
+ value: D.userId || "",
165
+ onChange: (i) => m("userId", i.target.value),
166
+ fullWidth: !0,
167
+ size: "small",
168
+ slotProps: { inputLabel: { shrink: !0 } },
169
+ sx: b
170
+ }
171
+ ),
172
+ /* @__PURE__ */ a(
173
+ J,
174
+ {
175
+ label: R("IP Address"),
176
+ placeholder: "192.168.1.1",
177
+ value: D.ip || "",
178
+ onChange: (i) => m("ip", i.target.value),
179
+ fullWidth: !0,
180
+ size: "small",
181
+ slotProps: { inputLabel: { shrink: !0 } },
182
+ sx: b
183
+ }
184
+ ),
185
+ /* @__PURE__ */ a(
186
+ J,
187
+ {
188
+ label: R("Session ID"),
189
+ placeholder: R("e.g. E561890..."),
190
+ value: D.sessionId || "",
191
+ onChange: (i) => m("sessionId", i.target.value),
192
+ fullWidth: !0,
193
+ size: "small",
194
+ slotProps: { inputLabel: { shrink: !0 } },
195
+ sx: b
196
+ }
197
+ ),
198
+ /* @__PURE__ */ a(
199
+ J,
200
+ {
201
+ label: R("Event Type"),
202
+ placeholder: "LOGIN_SUCCESS",
203
+ value: D.eventType || "",
204
+ onChange: (i) => m("eventType", i.target.value),
205
+ fullWidth: !0,
206
+ size: "small",
207
+ slotProps: { inputLabel: { shrink: !0 } },
208
+ sx: b
209
+ }
210
+ ),
211
+ /* @__PURE__ */ a(
212
+ J,
213
+ {
214
+ label: R("Resource Path"),
215
+ placeholder: "/api/v1/...",
216
+ value: D.resource || "",
217
+ onChange: (i) => m("resource", i.target.value),
218
+ fullWidth: !0,
219
+ size: "small",
220
+ slotProps: { inputLabel: { shrink: !0 } },
221
+ sx: b
222
+ }
223
+ )
224
+ ] }),
225
+ /* @__PURE__ */ a(k, { className: "flex justify-stretch mt-4", children: /* @__PURE__ */ a(
226
+ de,
227
+ {
228
+ variant: "contained",
229
+ onClick: ae,
230
+ fullWidth: !0,
231
+ startIcon: /* @__PURE__ */ a(O, { icon: Be }),
232
+ sx: {
233
+ backgroundColor: o.palette.primary.main,
234
+ height: "45px",
235
+ borderRadius: "12px",
236
+ fontWeight: "bold",
237
+ textTransform: "uppercase",
238
+ letterSpacing: "1px",
239
+ "&:hover": { backgroundColor: o.palette.primary.dark }
240
+ },
241
+ children: R("Apply Filters")
242
+ }
243
+ ) })
244
+ ] });
245
+ }
246
+ const _ = (A) => /[\u0A80-\u0AFF]/.test(A);
247
+ function Dt() {
248
+ const A = (e) => {
249
+ if (!e) return "N/A";
250
+ const r = le(), p = le(e), d = le.duration(r.diff(p)), f = d.years(), t = d.months(), c = d.days(), n = d.hours(), l = d.minutes(), v = d.seconds();
251
+ if (f > 0) return `${f} year${f > 1 ? "s" : ""} ago`;
252
+ if (t > 0) return `${t} month${t > 1 ? "s" : ""} ago`;
253
+ if (c > 0) return `${c} day${c > 1 ? "s" : ""} ago`;
254
+ let h = [];
255
+ return n > 0 && h.push(`${n} hour${n > 1 ? "s" : ""}`), l > 0 && h.push(`${l} minute${l > 1 ? "s" : ""}`), v > 0 && n === 0 && h.push(`${v} second${v > 1 ? "s" : ""}`), h.length === 0 ? "Just now" : h.join(" ") + " ago";
256
+ };
257
+ Xe();
258
+ const s = qe(), F = s.palette.mode === "dark", [R, o] = g(!1), [q, D] = g(""), [V, K] = g(""), [$, ee] = g([]), [W, te] = g(!0), [B, Q] = g(!1), [m, ae] = g({
259
+ sortColumn: "timestamp",
260
+ sortOrder: "desc"
261
+ }), [b, i] = g({
262
+ startTime: null,
263
+ endTime: null,
264
+ userId: null,
265
+ username: null,
266
+ ip: null,
267
+ sessionId: null,
268
+ eventType: null,
269
+ resource: null
270
+ }), y = 50, { translate: j } = xe(), [G, H] = g(!1), [ve, re] = g(!1), [ce, ge] = g(null);
271
+ ie(() => {
272
+ const e = setTimeout(() => {
273
+ K(q);
274
+ }, 1e3);
275
+ return () => clearTimeout(e);
276
+ }, [q]);
277
+ const Ae = Oe(
278
+ () => [
279
+ { field: "Sr. No.", label: "#", align: "left" },
280
+ {
281
+ field: "timestamp",
282
+ label: "Time".toUpperCase(),
283
+ sortable: !0,
284
+ sortOrder: m.sortColumn === "timestamp" ? m.sortOrder : "asc",
285
+ align: "left",
286
+ render: (e) => /* @__PURE__ */ a(Ue, { title: A(e == null ? void 0 : e.timestamp), arrow: !0, placement: "top", children: /* @__PURE__ */ a(k, { className: "flex items-center h-full cursor-pointer", children: z(e == null ? void 0 : e.timestamp).format("DD/MM/YYYY hh:mm:ss A") }) })
287
+ },
288
+ {
289
+ field: "session_id",
290
+ label: "Session ID".toUpperCase(),
291
+ align: "left",
292
+ render: (e) => /* @__PURE__ */ a(Y, { variant: "caption", className: "font-mono opacity-70", children: (e == null ? void 0 : e.session_id) || "N/A" })
293
+ },
294
+ {
295
+ field: "user_id",
296
+ label: "User ID".toUpperCase(),
297
+ sortable: !0,
298
+ sortOrder: m.sortColumn === "user_id" ? m.sortOrder : "asc",
299
+ align: "left",
300
+ render: (e) => /* @__PURE__ */ a(Y, { variant: "body2", className: "font-bold", sx: { color: s.palette.text.primary }, children: (e == null ? void 0 : e.user_id) || "System" })
301
+ },
302
+ {
303
+ field: "resource",
304
+ label: "Resource".toUpperCase(),
305
+ sortable: !0,
306
+ sortOrder: m.sortColumn === "resource" ? m.sortOrder : "asc",
307
+ align: "left",
308
+ render: (e) => /* @__PURE__ */ a(k, { className: "max-w-xs truncate font-mono text-[0.7rem] opacity-80", title: e == null ? void 0 : e.resource, children: (e == null ? void 0 : e.resource) || "N/A" })
309
+ },
310
+ {
311
+ field: "Actions",
312
+ label: "View Details".toUpperCase(),
313
+ align: "center"
314
+ }
315
+ ],
316
+ [m]
317
+ ), Se = $e(
318
+ (e) => [
319
+ {
320
+ label: "",
321
+ icon: /* @__PURE__ */ a(O, { icon: je, size: "lg", title: "View Event Details" }),
322
+ onClick: () => {
323
+ ge(e), re(!0);
324
+ },
325
+ iconColor: s.palette.primary.main,
326
+ backgroundColor: ne(s.palette.primary.main, 0.1),
327
+ hoverBackgroundColor: s.palette.primary.main,
328
+ hoverIconColor: "white",
329
+ borderColor: s.palette.primary.main
330
+ },
331
+ {
332
+ label: "Trace Detailed Session Logs",
333
+ icon: /* @__PURE__ */ a(O, { icon: Ge, size: "lg", title: "Filter Activity Analytics by this Session ID" }),
334
+ onClick: () => {
335
+ if (e.session_id) {
336
+ const r = window.location.origin + window.location.pathname.split("/medplat/")[0];
337
+ let p = {};
338
+ try {
339
+ e.attributes && (p = JSON.parse(e.attributes));
340
+ } catch {
341
+ }
342
+ e.user_id && (p.user_id = e.user_id);
343
+ const d = `&attributes=${encodeURIComponent(JSON.stringify(p))}`, f = `${r}/medplat/manage/activityAnalytics?sessionId=${e.session_id}${d}`;
344
+ window.open(f, "_blank");
345
+ } else
346
+ P({ message: "No Session ID available for this log", type: "warning" });
347
+ },
348
+ iconColor: s.palette.secondary.main,
349
+ backgroundColor: ne(s.palette.secondary.main, 0.1),
350
+ hoverBackgroundColor: s.palette.secondary.main,
351
+ hoverIconColor: "white",
352
+ borderColor: s.palette.secondary.main
353
+ }
354
+ ],
355
+ [s]
356
+ ), De = async (e) => {
357
+ const r = m.sortColumn === e.field && m.sortOrder === "asc" ? "desc" : "asc";
358
+ ae({ sortColumn: e.field, sortOrder: r });
359
+ }, ue = () => {
360
+ Q(!B);
361
+ }, Ne = () => {
362
+ i({
363
+ startTime: null,
364
+ endTime: null,
365
+ userId: null,
366
+ username: null,
367
+ ip: null,
368
+ sessionId: null,
369
+ eventType: null,
370
+ resource: null
371
+ }), D(""), Q(!1);
372
+ };
373
+ async function Re(e, r) {
374
+ var p;
375
+ try {
376
+ r && H(!0);
377
+ const d = {
378
+ limit: e.limit,
379
+ offset: e.offset,
380
+ userId: b.userId || null,
381
+ ip: b.ip || null,
382
+ sessionId: b.sessionId || null,
383
+ eventType: b.eventType || null,
384
+ resource: b.resource || null,
385
+ startTime: b.startTime ? z(b.startTime).startOf("day").valueOf() : null,
386
+ endTime: b.endTime ? z(b.endTime).endOf("day").valueOf() : null,
387
+ sortBy: m.sortColumn,
388
+ sortOrder: m.sortOrder
389
+ }, f = await Ke(
390
+ {
391
+ code: "GET_SECURITY_AUDIT_LOGS",
392
+ parameters: d
393
+ },
394
+ { showLoader: !1 }
395
+ ), c = (((p = f == null ? void 0 : f.data) == null ? void 0 : p.result) || []).map((n) => {
396
+ let l = null;
397
+ if (n.attributes)
398
+ try {
399
+ l = JSON.parse(n.attributes);
400
+ } catch {
401
+ }
402
+ return { ...n, parsedAttributes: l };
403
+ });
404
+ return r && H(!1), c;
405
+ } catch (d) {
406
+ return P({ message: `Error fetching logs: ${d.message}`, type: "error" }), H(!1), [];
407
+ }
408
+ }
409
+ const {
410
+ data: X,
411
+ fetchNextPage: Te,
412
+ hasNextPage: pe
413
+ } = Ee({
414
+ key: [
415
+ "security_audit_logs",
416
+ V,
417
+ m.sortOrder,
418
+ m.sortColumn,
419
+ b,
420
+ R
421
+ ],
422
+ queryFn: ({ pageParam: e }) => {
423
+ const r = !(e != null && e.offset) || (e == null ? void 0 : e.offset) === 0;
424
+ return Re(e, r);
425
+ },
426
+ limit: y
427
+ });
428
+ ie(() => {
429
+ var r;
430
+ const e = ((r = X == null ? void 0 : X.pages) == null ? void 0 : r.flat()) || [];
431
+ te(e.length > 0 ? pe : !1), ee(e);
432
+ }, [X, pe]);
433
+ const [me, se] = g(!1), ke = async () => {
434
+ try {
435
+ let e = function(t) {
436
+ const c = new ArrayBuffer(t.length), n = new Uint8Array(c);
437
+ for (let l = 0; l !== t.length; ++l) n[l] = t.charCodeAt(l) & 255;
438
+ return c;
439
+ };
440
+ if ($.length === 0) {
441
+ P({ message: "No data to export", type: "warning" });
442
+ return;
443
+ }
444
+ se(!0);
445
+ const r = [
446
+ ["SECURITY AUDIT LOGS REPORT"],
447
+ [`Server Instance: ${window.location.hostname || "NA"}`],
448
+ [],
449
+ // blank spacer row
450
+ // Table Headers
451
+ [
452
+ "No.",
453
+ "TIME",
454
+ "EVENT CATEGORY",
455
+ "EVENT TYPE",
456
+ "SEVERITY",
457
+ "USER ID",
458
+ "USERNAME",
459
+ "NAME",
460
+ "ROLE ID",
461
+ "IP ADDRESS",
462
+ "SESSION ID",
463
+ "HTTP METHOD",
464
+ "RESOURCE",
465
+ "RESPONSE CODE",
466
+ "USER AGENT"
467
+ ]
468
+ ];
469
+ $.forEach((t, c) => {
470
+ var n, l, v, h, T;
471
+ r.push([
472
+ c + 1,
473
+ z(t == null ? void 0 : t.timestamp).format("DD/MM/YYYY hh:mm:ss A"),
474
+ (t == null ? void 0 : t.event_category) || "NA",
475
+ (t == null ? void 0 : t.event_type) || "NA",
476
+ (t == null ? void 0 : t.severity) || "NA",
477
+ (t == null ? void 0 : t.user_id) || "NA",
478
+ ((n = t == null ? void 0 : t.parsedAttributes) == null ? void 0 : n.user_name) || "NA",
479
+ ((l = t == null ? void 0 : t.parsedAttributes) == null ? void 0 : l.name) || "NA",
480
+ ((v = t == null ? void 0 : t.parsedAttributes) == null ? void 0 : v.role_id) || "NA",
481
+ ((h = t == null ? void 0 : t.parsedAttributes) == null ? void 0 : h.ip) || (t == null ? void 0 : t.ip_address) || "NA",
482
+ (t == null ? void 0 : t.session_id) || "NA",
483
+ (t == null ? void 0 : t.http_method) || "NA",
484
+ (t == null ? void 0 : t.resource) || "NA",
485
+ (t == null ? void 0 : t.response_code) || "NA",
486
+ ((T = t == null ? void 0 : t.parsedAttributes) == null ? void 0 : T.user_agent) || (t == null ? void 0 : t.user_agent) || "NA"
487
+ ]);
488
+ });
489
+ const p = Z.utils.aoa_to_sheet(r), d = Z.utils.book_new();
490
+ Z.utils.book_append_sheet(d, p, "Logs");
491
+ const f = Z.write(d, { bookType: "xlsx", type: "binary" });
492
+ Qe.saveAs(new Blob([e(f)], { type: "application/octet-stream" }), `SecurityAuditLogs-${(/* @__PURE__ */ new Date()).getTime()}.xlsx`), se(!1);
493
+ } catch {
494
+ se(!1), P({ message: "Error in downloading excel", type: "error" });
495
+ }
496
+ }, [fe, oe] = g(!1), Ce = async () => {
497
+ try {
498
+ if ($.length === 0) {
499
+ P({ message: "No data to export", type: "warning" });
500
+ return;
501
+ }
502
+ oe(!0);
503
+ const e = (t, c = 10) => {
504
+ var n;
505
+ return t ? ((n = t.match(new RegExp(`.{1,${c}}`, "g"))) == null ? void 0 : n.join("​")) || t : "NA";
506
+ }, r = ["S.No", "TIME", "CATEGORY", "TYPE", "USER ID", "USERNAME", "IP", "STATUS", "METHOD", "URI"], p = $.map((t, c) => {
507
+ var E, w;
508
+ const n = z(t.timestamp).format("DD/MM/YYYY hh:mm:ss A"), l = t.event_category || "NA", v = e(t.event_type || "NA", 15), h = t.user_id || "NA", T = e(((E = t.parsedAttributes) == null ? void 0 : E.user_name) || "NA", 12), L = e(((w = t.parsedAttributes) == null ? void 0 : w.ip) || t.ip_address || "NA", 15), U = t.response_code || "NA", S = t.http_method || "NA", I = e(t.resource || "NA", 10);
509
+ return [
510
+ { text: c + 1, fontSize: 8, font: "Roboto" },
511
+ { text: n, fontSize: 8, font: "Roboto" },
512
+ { text: l, fontSize: 8, font: _(l) ? "MuktaVaani" : "Roboto" },
513
+ { text: v, fontSize: 8, font: _(v) ? "MuktaVaani" : "Roboto" },
514
+ { text: h, fontSize: 8, font: _(h) ? "MuktaVaani" : "Roboto" },
515
+ { text: T, fontSize: 8, font: _(T) ? "MuktaVaani" : "Roboto" },
516
+ { text: L, fontSize: 8, font: "Roboto" },
517
+ { text: U, fontSize: 8, font: "Roboto" },
518
+ { text: S, fontSize: 8, font: "Roboto" },
519
+ { text: I, fontSize: 8, font: _(I) ? "MuktaVaani" : "Roboto" }
520
+ ];
521
+ });
522
+ M.vfs = { ...ye, ...M.vfs }, M.addFonts({
523
+ Roboto: {
524
+ normal: "Roboto-Regular.ttf",
525
+ bold: "Roboto-Medium.ttf",
526
+ italics: "Roboto-Regular.ttf",
527
+ bolditalics: "Roboto-Regular.ttf"
528
+ },
529
+ MuktaVaani: {
530
+ normal: "MuktaVaani-Regular.ttf",
531
+ bold: "MuktaVaani-Regular.ttf",
532
+ italics: "MuktaVaani-Regular.ttf",
533
+ bolditalics: "MuktaVaani-Regular.ttf"
534
+ }
535
+ });
536
+ const f = {
537
+ pageOrientation: "landscape",
538
+ content: [
539
+ ...[
540
+ "SECURITY AUDIT LOGS REPORT",
541
+ `Server Instance: ${window.location.hostname || "NA"}`
542
+ ].map((t) => ({
543
+ text: t,
544
+ font: _(t) ? "MuktaVaani" : "Roboto",
545
+ alignment: "center",
546
+ fontSize: 12,
547
+ bold: !0,
548
+ margin: [0, 2]
549
+ })),
550
+ {
551
+ table: {
552
+ headerRows: 1,
553
+ widths: [25, 110, 70, 80, 45, 75, 75, 40, 45, "*"],
554
+ body: [
555
+ r.map((t) => ({
556
+ text: t,
557
+ fillColor: "#243a50",
558
+ color: "#ffffff",
559
+ bold: !0,
560
+ fontSize: 8.5,
561
+ font: _(t) ? "MuktaVaani" : "Roboto"
562
+ })),
563
+ ...p
564
+ ]
565
+ },
566
+ layout: {
567
+ fillColor: (t) => t === 0 ? "#243a50" : null,
568
+ hLineWidth: () => 0.1,
569
+ vLineWidth: () => 0.1
570
+ },
571
+ margin: [0, 8]
572
+ }
573
+ ],
574
+ footer: (t, c) => ({
575
+ text: `Page ${t} of ${c} | Audit Log Report`,
576
+ alignment: "left",
577
+ margin: [14, 0],
578
+ fontSize: 7,
579
+ font: "Roboto"
580
+ }),
581
+ header: {
582
+ text: "Security Audit Logs",
583
+ alignment: "left",
584
+ margin: [14, 8],
585
+ fontSize: 8,
586
+ font: "Roboto"
587
+ },
588
+ defaultStyle: {
589
+ font: "MuktaVaani"
590
+ }
591
+ };
592
+ M.createPdf(f).download(`AuditLogs-${(/* @__PURE__ */ new Date()).getTime()}.pdf`), oe(!1);
593
+ } catch (e) {
594
+ oe(!1), console.error(e), P({ message: "Error in downloading pdf", type: "error" });
595
+ }
596
+ }, _e = (e) => {
597
+ var n, l, v, h, T, L, U;
598
+ if (!e) return;
599
+ const r = (S, I = 15) => {
600
+ var E;
601
+ return S ? ((E = S.match(new RegExp(`.{1,${I}}`, "g"))) == null ? void 0 : E.join("​")) || S : "N/A";
602
+ }, d = [
603
+ { label: "User ID", value: String(e.user_id || "N/A") },
604
+ { label: "Username", value: r(((n = e.parsedAttributes) == null ? void 0 : n.user_name) || "N/A", 15) },
605
+ { label: "Name", value: r(((l = e.parsedAttributes) == null ? void 0 : l.name) || "N/A", 15) },
606
+ { label: "Role ID", value: String(((v = e.parsedAttributes) == null ? void 0 : v.role_id) || "N/A") },
607
+ { label: "Role Name", value: String(((h = e.parsedAttributes) == null ? void 0 : h.role_name) || "N/A") },
608
+ { label: "Role Code", value: String(((T = e.parsedAttributes) == null ? void 0 : T.role_code) || "N/A") },
609
+ { label: "Event Timestamp", value: z(e.timestamp).format("DD/MM/YYYY hh:mm:ss A") },
610
+ { label: "Event Category", value: String(e.event_category || "N/A") },
611
+ { label: "Event Type", value: r(e.event_type || "N/A", 15) },
612
+ { label: "Severity", value: String(e.severity || "N/A") },
613
+ { label: "IP Address", value: String(((L = e.parsedAttributes) == null ? void 0 : L.ip) || e.ip_address || "N/A") },
614
+ { label: "Session ID", value: r(e.session_id || "N/A", 15) },
615
+ { label: "HTTP Method", value: String(e.http_method || "N/A") },
616
+ { label: "Request URI", value: r(e.resource || "N/A", 15) },
617
+ { label: "Response Code", value: String(e.response_code || "N/A") },
618
+ { label: "Server Instance", value: String(window.location.hostname || "N/A") },
619
+ { label: "User Agent", value: r(((U = e.parsedAttributes) == null ? void 0 : U.user_agent) || e.user_agent || "N/A", 15) }
620
+ ].map((S, I) => {
621
+ const E = S.label, w = S.value;
622
+ return [
623
+ { text: I + 1, fontSize: 9, font: "Roboto" },
624
+ { text: E, fontSize: 9, font: _(E) ? "MuktaVaani" : "Roboto", bold: !0 },
625
+ { text: w, fontSize: 9, font: _(w) ? "MuktaVaani" : "Roboto" }
626
+ ];
627
+ });
628
+ M.vfs = { ...ye, ...M.vfs }, M.addFonts({
629
+ Roboto: {
630
+ normal: "Roboto-Regular.ttf",
631
+ bold: "Roboto-Medium.ttf",
632
+ italics: "Roboto-Regular.ttf",
633
+ bolditalics: "Roboto-Regular.ttf"
634
+ },
635
+ MuktaVaani: {
636
+ normal: "MuktaVaani-Regular.ttf",
637
+ bold: "MuktaVaani-Regular.ttf",
638
+ italics: "MuktaVaani-Regular.ttf",
639
+ bolditalics: "MuktaVaani-Regular.ttf"
640
+ }
641
+ });
642
+ const f = `Security Audit Log - Entry #${e.id || ""}`, t = `Generated on ${(/* @__PURE__ */ new Date()).toLocaleString()}`, c = {
643
+ pageOrientation: "portrait",
644
+ content: [
645
+ {
646
+ table: {
647
+ headerRows: 1,
648
+ widths: [30, 120, "*"],
649
+ body: [
650
+ ["S.No", "Field", "Value"].map((S) => ({
651
+ text: S,
652
+ fillColor: "#243a50",
653
+ color: "#ffffff",
654
+ bold: !0,
655
+ fontSize: 9.5,
656
+ font: _(S) ? "MuktaVaani" : "Roboto"
657
+ })),
658
+ ...d
659
+ ]
660
+ },
661
+ layout: {
662
+ fillColor: (S) => S === 0 ? "#243a50" : null,
663
+ hLineWidth: () => 0.1,
664
+ vLineWidth: () => 0.1
665
+ },
666
+ margin: [0, 10]
667
+ }
668
+ ],
669
+ footer: (S, I) => ({
670
+ text: `Page ${S} of ${I} | ${t}`,
671
+ alignment: "left",
672
+ margin: [14, 0],
673
+ fontSize: 7.5,
674
+ font: "Roboto"
675
+ }),
676
+ header: {
677
+ text: f,
678
+ alignment: "left",
679
+ margin: [14, 8],
680
+ fontSize: 8.5,
681
+ font: "Roboto"
682
+ },
683
+ defaultStyle: {
684
+ font: "MuktaVaani"
685
+ }
686
+ };
687
+ M.createPdf(c).download(`AuditLog_Detail_${e.id || (/* @__PURE__ */ new Date()).getTime()}.pdf`);
688
+ }, Ie = (e) => {
689
+ var r, p, d, f, t, c, n, l, v, h, T, L, U;
690
+ return e ? (z(e.timestamp).format("DD/MM/YYYY hh:mm:ss A"), e.event_category, e.event_type, e.severity, e.user_id, (r = e.parsedAttributes) == null || r.user_name, (p = e.parsedAttributes) == null || p.name, (d = e.parsedAttributes) == null || d.role_id, (f = e.parsedAttributes) == null || f.role_name, (t = e.parsedAttributes) == null || t.role_code, (c = e.parsedAttributes) != null && c.ip || e.ip_address, e.session_id, e.http_method, e.resource, e.response_code, /* @__PURE__ */ N(u, { container: !0, spacing: 2, children: [
691
+ /* @__PURE__ */ a(u, { size: 6, children: /* @__PURE__ */ a(x, { label: "Event Category", value: e.event_category }) }),
692
+ /* @__PURE__ */ a(u, { size: 6, children: /* @__PURE__ */ a(x, { label: "Event Type", value: e.event_type }) }),
693
+ /* @__PURE__ */ a(u, { size: 6, children: /* @__PURE__ */ a(x, { label: "User ID", value: e.user_id }) }),
694
+ /* @__PURE__ */ a(u, { size: 6, children: /* @__PURE__ */ a(x, { label: "Username", value: ((n = e.parsedAttributes) == null ? void 0 : n.user_name) || "N/A" }) }),
695
+ /* @__PURE__ */ a(u, { size: 6, children: /* @__PURE__ */ a(x, { label: "Name", value: ((l = e.parsedAttributes) == null ? void 0 : l.name) || "N/A" }) }),
696
+ /* @__PURE__ */ a(u, { size: 6, children: /* @__PURE__ */ a(x, { label: "Role ID", value: ((v = e.parsedAttributes) == null ? void 0 : v.role_id) || "N/A" }) }),
697
+ /* @__PURE__ */ a(u, { size: 6, children: /* @__PURE__ */ a(x, { label: "Role Name", value: ((h = e.parsedAttributes) == null ? void 0 : h.role_name) || "N/A" }) }),
698
+ /* @__PURE__ */ a(u, { size: 6, children: /* @__PURE__ */ a(x, { label: "Role Code", value: ((T = e.parsedAttributes) == null ? void 0 : T.role_code) || "N/A" }) }),
699
+ /* @__PURE__ */ a(u, { size: 6, children: /* @__PURE__ */ a(x, { label: "HTTP Method", value: e.http_method }) }),
700
+ /* @__PURE__ */ a(u, { size: 6, children: /* @__PURE__ */ a(x, { label: "Resource", value: e.resource }) }),
701
+ /* @__PURE__ */ a(u, { size: 6, children: /* @__PURE__ */ a(x, { label: "Response Code", value: e.response_code }) }),
702
+ /* @__PURE__ */ a(u, { size: 6, children: /* @__PURE__ */ a(x, { label: "Severity", value: e.severity }) }),
703
+ /* @__PURE__ */ a(u, { size: 6, children: /* @__PURE__ */ a(x, { label: "IP Address", value: ((L = e.parsedAttributes) == null ? void 0 : L.ip) || e.ip_address || "N/A" }) }),
704
+ /* @__PURE__ */ a(u, { size: 6, children: /* @__PURE__ */ a(x, { label: "Timestamp", value: z(e.timestamp).format("DD/MM/YYYY hh:mm:ss A") }) }),
705
+ /* @__PURE__ */ a(u, { size: 12, children: /* @__PURE__ */ a(x, { label: "Session ID", value: e.session_id || "N/A" }) }),
706
+ /* @__PURE__ */ a(u, { size: 12, children: /* @__PURE__ */ a(x, { label: "User Agent", value: ((U = e.parsedAttributes) == null ? void 0 : U.user_agent) || e.user_agent || "N/A" }) })
707
+ ] })) : null;
708
+ }, x = ({ label: e, value: r, isCode: p }) => /* @__PURE__ */ N(k, { sx: { mb: 1, borderBottom: `1px solid ${s.palette.divider}`, pb: 0.5 }, children: [
709
+ /* @__PURE__ */ a(Y, { variant: "caption", sx: { color: s.palette.text.secondary, textTransform: "uppercase", fontWeight: "bold", fontSize: "0.65rem" }, children: e }),
710
+ /* @__PURE__ */ a(
711
+ Y,
712
+ {
713
+ variant: "body2",
714
+ sx: {
715
+ color: s.palette.text.primary,
716
+ wordBreak: "break-word",
717
+ whiteSpace: p ? "pre-wrap" : "normal",
718
+ fontFamily: p ? "monospace" : "inherit",
719
+ fontSize: p ? "0.75rem" : "0.875rem"
720
+ },
721
+ children: String(r || "N/A")
722
+ }
723
+ )
724
+ ] });
725
+ return /* @__PURE__ */ N(u, { className: "w-[98%] mt-4", children: [
726
+ /* @__PURE__ */ N(
727
+ u,
728
+ {
729
+ container: !0,
730
+ spacing: 2,
731
+ className: "mb-4 justify-between items-center",
732
+ children: [
733
+ /* @__PURE__ */ a(u, { size: { xs: 12, md: 4 }, children: /* @__PURE__ */ a(
734
+ Y,
735
+ {
736
+ variant: "h6",
737
+ sx: { fontWeight: "bold", color: s.palette.primary.main, textTransform: "uppercase" },
738
+ children: j("Security Audit Logs")
739
+ }
740
+ ) }),
741
+ /* @__PURE__ */ N(u, { size: { xs: 12, md: 8 }, className: "flex flex-col md:flex-row gap-3 justify-end items-center", children: [
742
+ /* @__PURE__ */ a("div", { className: "flex items-center gap-3 w-full md:w-auto", children: /* @__PURE__ */ a(
743
+ Ye,
744
+ {
745
+ color: "primary",
746
+ onClick: () => o((e) => !e),
747
+ className: "rounded-xl border border-slate-200 dark:border-slate-800 shadow-sm",
748
+ sx: {
749
+ backgroundColor: ne(s.palette.primary.main, 0.1),
750
+ width: 40,
751
+ height: 40,
752
+ "&:hover": { backgroundColor: s.palette.primary.main, color: "white" }
753
+ },
754
+ children: /* @__PURE__ */ a(O, { icon: He, className: "text-sm" })
755
+ }
756
+ ) }),
757
+ /* @__PURE__ */ a("div", { className: "flex items-center gap-3", children: /* @__PURE__ */ N("div", { className: `flex items-center rounded-2xl p-1 shadow-sm transition-all border ${F ? "bg-slate-900 border-slate-800" : "bg-white border-slate-200"}`, children: [
758
+ /* @__PURE__ */ N(
759
+ "button",
760
+ {
761
+ disabled: fe || G,
762
+ onClick: Ce,
763
+ className: `px-4 py-2 rounded-xl transition-all flex items-center gap-2 text-xs font-black uppercase tracking-wider ${F ? "text-slate-400 hover:text-slate-100 hover:bg-slate-800" : "text-slate-600 hover:text-red-600 hover:bg-slate-50"}`,
764
+ children: [
765
+ fe ? /* @__PURE__ */ a(be, { size: 14, sx: { color: "inherit" } }) : /* @__PURE__ */ a(O, { icon: he }),
766
+ "Pdf"
767
+ ]
768
+ }
769
+ ),
770
+ /* @__PURE__ */ N(
771
+ "button",
772
+ {
773
+ disabled: me || G,
774
+ onClick: ke,
775
+ className: `px-4 py-2 rounded-xl transition-all flex items-center gap-2 text-xs font-black uppercase tracking-wider ml-1 ${F ? "bg-slate-800 text-slate-100 hover:bg-slate-700" : "bg-[var(--color-tableHeader)] text-white hover:bg-[var(--color-tableHeader)]"}`,
776
+ children: [
777
+ me ? /* @__PURE__ */ a(be, { size: 14, sx: { color: "inherit" } }) : /* @__PURE__ */ a(O, { icon: we }),
778
+ "Excel Data"
779
+ ]
780
+ }
781
+ )
782
+ ] }) })
783
+ ] })
784
+ ]
785
+ }
786
+ ),
787
+ /* @__PURE__ */ a(
788
+ Me,
789
+ {
790
+ columns: Ae,
791
+ tableData: $,
792
+ actions: Se,
793
+ paginationConfig: {
794
+ pagination: !0,
795
+ paginationType: "infinite-scroll",
796
+ rowsPerPageInTable: y,
797
+ hasMore: W,
798
+ loadMore: () => W && Te({ cancelRefetch: !1 })
799
+ },
800
+ isLoading: G,
801
+ handleSort: De
802
+ }
803
+ ),
804
+ /* @__PURE__ */ a(
805
+ ze,
806
+ {
807
+ title: "Audit Filter",
808
+ resetButtonLabel: "Reset",
809
+ onResetClick: Ne,
810
+ FormBody: Ze,
811
+ handleOverlayState: ue,
812
+ overlayOpen: B,
813
+ dataTestId: "security-audit-log-filter",
814
+ ModalProps: {
815
+ sx: {
816
+ "& .MuiDrawer-paper": {
817
+ backgroundColor: s.palette.background.paper,
818
+ color: s.palette.text.primary,
819
+ "& .p-2\\.5": {
820
+ backgroundColor: s.palette.background.paper,
821
+ borderBottom: `1px solid ${s.palette.divider}`,
822
+ color: s.palette.primary.main,
823
+ fontWeight: "bold",
824
+ letterSpacing: "1px"
825
+ }
826
+ }
827
+ }
828
+ },
829
+ formProps: {
830
+ filter: b,
831
+ setFilter: i,
832
+ handleOverlayState: ue
833
+ }
834
+ }
835
+ ),
836
+ /* @__PURE__ */ N(
837
+ Pe,
838
+ {
839
+ open: ve,
840
+ onClose: () => re(!1),
841
+ maxWidth: "sm",
842
+ fullWidth: !0,
843
+ PaperProps: {
844
+ sx: {
845
+ backgroundColor: s.palette.background.paper,
846
+ color: s.palette.text.primary
847
+ }
848
+ },
849
+ children: [
850
+ /* @__PURE__ */ a(Fe, { sx: { borderBottom: `1px solid ${s.palette.divider}`, fontWeight: "bold", color: s.palette.primary.main }, children: "Log Entry Details" }),
851
+ /* @__PURE__ */ a(Ve, { dividers: !0, sx: { borderColor: s.palette.divider }, children: /* @__PURE__ */ a(k, { className: "p-2", children: Ie(ce) }) }),
852
+ /* @__PURE__ */ N(k, { sx: { p: 2, display: "flex", justifyContent: "flex-end", gap: 2 }, children: [
853
+ /* @__PURE__ */ a(
854
+ de,
855
+ {
856
+ onClick: () => _e(ce),
857
+ variant: "outlined",
858
+ color: "primary",
859
+ startIcon: /* @__PURE__ */ a(O, { icon: he }),
860
+ sx: { borderRadius: "12px" },
861
+ children: "Download PDF"
862
+ }
863
+ ),
864
+ /* @__PURE__ */ a(de, { onClick: () => re(!1), variant: "contained", color: "primary", sx: { borderRadius: "12px" }, children: "Close" })
865
+ ] })
866
+ ]
867
+ }
868
+ )
869
+ ] });
870
+ }
871
+ export {
872
+ Dt as default
873
+ };
874
+ //# sourceMappingURL=SecurityAuditLogList-Dod711KT.js.map