@feedmepos/mf-hrm-portal 2.0.24-dev.4 → 2.0.24-dev.6

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 (25) hide show
  1. package/dist/{AuditLogList-mfHfCrDp.js → AuditLogList-CYAykl2D.js} +391 -391
  2. package/dist/{EmployeeList-mnaGEL4R.js → EmployeeList-jGvj5Kjs.js} +6 -6
  3. package/dist/{Main-BWSMKWxB.js → Main-CCgt3-bl.js} +6 -6
  4. package/dist/{Main-B4Xf2dm4.js → Main-CMzANrJ-.js} +4 -4
  5. package/dist/{Main-DTJOj2jJ.js → Main-D07IsGsd.js} +9 -9
  6. package/dist/{PermissionSetList-CgPUMTJg.js → PermissionSetList-B8_eRM-R.js} +6 -6
  7. package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-CfHx0q1H.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-BjRb1dnQ.js} +795 -795
  8. package/dist/{PortalUserSearcher.vue_vue_type_style_index_0_scoped_a439fdd8_lang-Cod0zTbu.js → PortalUserSearcher.vue_vue_type_style_index_0_scoped_a439fdd8_lang-ZzioHV1l.js} +1 -1
  9. package/dist/{RoleList-Cg8Ye2Zk.js → RoleList-BmvFGl6T.js} +7 -7
  10. package/dist/{TeamMemberList-BoVZBjtB.js → TeamMemberList-BjeZXuOZ.js} +8 -8
  11. package/dist/{TimesheetList-BiQswrw7.js → TimesheetList-BT-HR4np.js} +6 -6
  12. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_d7ed31d7_lang-Bx5-vyxN.js → TimesheetList.vue_vue_type_style_index_0_scoped_d7ed31d7_lang-vO6F5Zc6.js} +2 -2
  13. package/dist/{app-CZLWCtKb.js → app-DXMxGLgF.js} +4 -4
  14. package/dist/app.js +1 -1
  15. package/dist/{dayjs.min-BMdREwIr.js → dayjs.min-CLlZV7c8.js} +1 -1
  16. package/dist/{employee-CHBituQX.js → employee-DnqW35Vb.js} +3 -3
  17. package/dist/{iteration-DLrwtjjD.js → iteration-CuaOtnox.js} +1 -1
  18. package/dist/{lodash-DrGn50Sb.js → lodash-CMfO1W5S.js} +1 -1
  19. package/dist/{rule-BFOjocRa.js → rule-C5hRUHsA.js} +2 -2
  20. package/dist/style.css +1 -1
  21. package/dist/tsconfig.app.tsbuildinfo +1 -1
  22. package/dist/{useAppStore-C1TRO_QU.js → useAppStore-DqFkF7Pg.js} +1 -1
  23. package/dist/{useLoading-BBHvBcQn.js → useLoading-kPp1XRGN.js} +1 -1
  24. package/dist/{useReportPermissions-DhyumGy6.js → useReportPermissions-DUhrchnA.js} +3 -3
  25. package/package.json +1 -1
@@ -1,14 +1,14 @@
1
- import { defineComponent as Be, ref as g, computed as _, onMounted as wt, onBeforeUnmount as Mt, watch as fe, resolveComponent as U, createElementBlock as S, openBlock as f, createBlock as Z, createCommentVNode as C, createElementVNode as l, Fragment as ee, renderList as ue, withCtx as B, createVNode as h, toDisplayString as u, unref as n, nextTick as Ft } from "vue";
2
- import { d as y } from "./dayjs.min-BMdREwIr.js";
3
- import { useI18n as Ke, useCoreStore as Dt } from "@feedmepos/mf-common";
4
- import { G as Ee, _ as It } from "./app-CZLWCtKb.js";
5
- import { components as Re } from "@feedmepos/ui-library";
6
- import { g as Ce, b as Ue } from "./iteration-DLrwtjjD.js";
7
- import { S as me, _ as Ot } from "./SelectFilter-C61IZSID.js";
8
- import { _ as Tt } from "./PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js";
9
- import { _ as jt } from "./index.vue_vue_type_script_setup_true_lang-Vc5ARO29.js";
10
- import { t as Pt, p as $e } from "./rule-BFOjocRa.js";
11
- import { defineStore as Vt } from "pinia";
1
+ import { defineComponent as Ke, ref as b, computed as y, onMounted as Mt, onBeforeUnmount as Ft, watch as ue, resolveComponent as C, createElementBlock as I, openBlock as h, createBlock as Q, createCommentVNode as N, createElementVNode as l, Fragment as Z, renderList as ie, withCtx as B, createVNode as p, toDisplayString as u, unref as n, nextTick as Dt } from "vue";
2
+ import { d as _ } from "./dayjs.min-CLlZV7c8.js";
3
+ import { useI18n as ze, useCoreStore as It } from "@feedmepos/mf-common";
4
+ import { G as Re, _ as Ot } from "./app-DXMxGLgF.js";
5
+ import { components as Ce } from "@feedmepos/ui-library";
6
+ import { g as Ue, b as $e } from "./iteration-CuaOtnox.js";
7
+ import { S as fe, _ as Tt } from "./SelectFilter-C61IZSID.js";
8
+ import { _ as jt } from "./PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js";
9
+ import { _ as Pt } from "./index.vue_vue_type_script_setup_true_lang-Vc5ARO29.js";
10
+ import { t as Vt, p as Ye } from "./rule-C5hRUHsA.js";
11
+ import { defineStore as At } from "pinia";
12
12
  const se = [
13
13
  { key: "all", label: "All", subjectPrefixes: [] },
14
14
  { key: "inventory", label: "Inventory", subjectPrefixes: ["business::inventory", "inventory"] },
@@ -19,65 +19,65 @@ const se = [
19
19
  { key: "crm", label: "CRM", subjectPrefixes: ["business::crm", "crm"] }
20
20
  // Add more as modules are revamped with new actionguard:
21
21
  // { key: 'restaurantOperation', label: 'Restaurant Operation', subjectPrefixes: ['restaurant'] },
22
- ], Ye = "/audit-logs", _e = {
22
+ ], Ne = "/audit-logs", _e = {
23
23
  async count(a) {
24
- var w, j, M, k, s;
24
+ var w, P, M, S, s;
25
25
  const o = {
26
26
  ...a != null && a.from ? { from: a.from } : {},
27
27
  ...a != null && a.to ? { to: a.to } : {},
28
28
  ...(w = a == null ? void 0 : a.userIds) != null && w.length ? { userIds: a.userIds } : {},
29
- ...(j = a == null ? void 0 : a.subjects) != null && j.length ? { subjects: a.subjects } : {},
29
+ ...(P = a == null ? void 0 : a.subjects) != null && P.length ? { subjects: a.subjects } : {},
30
30
  ...(M = a == null ? void 0 : a.subjectPrefixes) != null && M.length ? { subjectPrefixes: a.subjectPrefixes } : {},
31
- ...(k = a == null ? void 0 : a.actions) != null && k.length ? { actions: a.actions } : {},
31
+ ...(S = a == null ? void 0 : a.actions) != null && S.length ? { actions: a.actions } : {},
32
32
  ...(s = a == null ? void 0 : a.outcomes) != null && s.length ? { outcomes: a.outcomes } : {}
33
33
  };
34
- return (await Ce(
35
- await Ue().get(`${Ye}/count`, {
34
+ return (await Ue(
35
+ await $e().get(`${Ne}/count`, {
36
36
  params: o,
37
37
  paramsSerializer: (O) => {
38
- const P = new URLSearchParams();
38
+ const V = new URLSearchParams();
39
39
  for (const [c, F] of Object.entries(O))
40
40
  if (Array.isArray(F))
41
- for (const K of F) P.append(c, String(K));
42
- else F != null && P.append(c, String(F));
43
- return P.toString();
41
+ for (const K of F) V.append(c, String(K));
42
+ else F != null && V.append(c, String(F));
43
+ return V.toString();
44
44
  }
45
45
  })
46
46
  )).total;
47
47
  },
48
48
  async read(a) {
49
- var v, w, j, M, k;
49
+ var f, w, P, M, S;
50
50
  const o = {
51
51
  limit: (a == null ? void 0 : a.limit) ?? 100,
52
52
  offset: (a == null ? void 0 : a.offset) ?? 0,
53
53
  ...a != null && a.from ? { from: a.from } : {},
54
54
  ...a != null && a.to ? { to: a.to } : {},
55
- ...(v = a == null ? void 0 : a.userIds) != null && v.length ? { userIds: a.userIds } : {},
55
+ ...(f = a == null ? void 0 : a.userIds) != null && f.length ? { userIds: a.userIds } : {},
56
56
  ...(w = a == null ? void 0 : a.subjects) != null && w.length ? { subjects: a.subjects } : {},
57
- ...(j = a == null ? void 0 : a.subjectPrefixes) != null && j.length ? { subjectPrefixes: a.subjectPrefixes } : {},
57
+ ...(P = a == null ? void 0 : a.subjectPrefixes) != null && P.length ? { subjectPrefixes: a.subjectPrefixes } : {},
58
58
  ...(M = a == null ? void 0 : a.actions) != null && M.length ? { actions: a.actions } : {},
59
- ...(k = a == null ? void 0 : a.outcomes) != null && k.length ? { outcomes: a.outcomes } : {}
59
+ ...(S = a == null ? void 0 : a.outcomes) != null && S.length ? { outcomes: a.outcomes } : {}
60
60
  };
61
- return Ce(
62
- await Ue().get(Ye, {
61
+ return Ue(
62
+ await $e().get(Ne, {
63
63
  params: o,
64
64
  // Serialize arrays as repeated params: key=val1&key=val2
65
65
  // (NestJS @Query expects this; axios default adds brackets which break matching)
66
66
  paramsSerializer: (s) => {
67
67
  const O = new URLSearchParams();
68
- for (const [P, c] of Object.entries(s))
68
+ for (const [V, c] of Object.entries(s))
69
69
  if (Array.isArray(c))
70
- for (const F of c) O.append(P, String(F));
71
- else c != null && O.append(P, String(c));
70
+ for (const F of c) O.append(V, String(F));
71
+ else c != null && O.append(V, String(c));
72
72
  return O.toString();
73
73
  }
74
74
  })
75
75
  );
76
76
  }
77
- }, At = { class: "flex h-[46px] items-center gap-8 rounded-sm px-16 hover:bg-fm-color-opacity-sm" }, Et = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, Rt = {
77
+ }, Et = { class: "flex h-[46px] items-center gap-8 rounded-sm px-16 hover:bg-fm-color-opacity-sm" }, Rt = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, Ct = {
78
78
  "data-more-measure": "",
79
79
  class: "flex h-[46px] items-center gap-8 rounded-sm px-16"
80
- }, Ct = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, Ut = /* @__PURE__ */ Be({
80
+ }, Ut = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, $t = /* @__PURE__ */ Ke({
81
81
  __name: "AuditLogModuleTabs",
82
82
  props: {
83
83
  modelValue: {},
@@ -85,73 +85,73 @@ const se = [
85
85
  },
86
86
  emits: ["update:modelValue"],
87
87
  setup(a, { emit: o }) {
88
- const v = a, w = o, { t: j } = Ke(), M = g(!1), k = g(null), s = g(null), O = g([]), P = g(0), c = g(0);
88
+ const f = a, w = o, { t: P } = ze(), M = b(!1), S = b(null), s = b(null), O = b([]), V = b(0), c = b(0);
89
89
  let F = null;
90
90
  async function K() {
91
- if (await Ft(), !s.value) return;
92
- const b = s.value.querySelectorAll("[data-tab-measure]");
93
- O.value = Array.from(b).map((D) => D.offsetWidth);
91
+ if (await Dt(), !s.value) return;
92
+ const v = s.value.querySelectorAll("[data-tab-measure]");
93
+ O.value = Array.from(v).map((k) => k.offsetWidth);
94
94
  const m = s.value.querySelector("[data-more-measure]");
95
- P.value = (m == null ? void 0 : m.offsetWidth) ?? 0;
95
+ V.value = (m == null ? void 0 : m.offsetWidth) ?? 0;
96
96
  }
97
- const ve = _(() => {
98
- const b = v.items.length;
99
- if (b === 0) return 0;
100
- if (!c.value || O.value.length !== b) return b;
97
+ const ve = y(() => {
98
+ const v = f.items.length;
99
+ if (v === 0) return 0;
100
+ if (!c.value || O.value.length !== v) return v;
101
101
  const m = O.value;
102
- if (m.reduce((r, H) => r + H, 0) <= c.value) return b;
103
- const x = P.value;
104
- let T = 0, V = 0;
105
- for (let r = 0; r < b && !(T + m[r] + x > c.value); r++)
106
- T += m[r], V++;
107
- return V;
108
- }), J = _(() => {
109
- const b = ve.value, m = v.items.length;
110
- if (b >= m) return [...v.items];
111
- const D = v.items.slice(0, b), x = v.items.find((E) => E.value === v.modelValue);
112
- if (!x || D.some((E) => E.value === x.value)) return D;
113
- if (b === 0) return [x];
114
- const T = v.items.findIndex((E) => E.value === x.value), V = O.value, r = P.value, H = V[T] ?? 0;
115
- let N = b, ae = V.slice(0, N - 1).reduce((E, z) => E + z, 0);
116
- for (; N > 1 && ae + H + r > c.value; )
117
- N--, ae = V.slice(0, N - 1).reduce((E, z) => E + z, 0);
118
- return [...v.items.slice(0, Math.max(N - 1, 0)), x];
119
- }), te = _(() => {
120
- const b = new Set(J.value.map((m) => m.value));
121
- return v.items.filter((m) => !b.has(m.value));
102
+ if (m.reduce((r, q) => r + q, 0) <= c.value) return v;
103
+ const x = V.value;
104
+ let T = 0, j = 0;
105
+ for (let r = 0; r < v && !(T + m[r] + x > c.value); r++)
106
+ T += m[r], j++;
107
+ return j;
108
+ }), W = y(() => {
109
+ const v = ve.value, m = f.items.length;
110
+ if (v >= m) return [...f.items];
111
+ const k = f.items.slice(0, v), x = f.items.find((E) => E.value === f.modelValue);
112
+ if (!x || k.some((E) => E.value === x.value)) return k;
113
+ if (v === 0) return [x];
114
+ const T = f.items.findIndex((E) => E.value === x.value), j = O.value, r = V.value, q = j[T] ?? 0;
115
+ let Y = v, oe = j.slice(0, Y - 1).reduce((E, ae) => E + ae, 0);
116
+ for (; Y > 1 && oe + q + r > c.value; )
117
+ Y--, oe = j.slice(0, Y - 1).reduce((E, ae) => E + ae, 0);
118
+ return [...f.items.slice(0, Math.max(Y - 1, 0)), x];
119
+ }), ee = y(() => {
120
+ const v = new Set(W.value.map((m) => m.value));
121
+ return f.items.filter((m) => !v.has(m.value));
122
122
  });
123
- function oe(b) {
124
- M.value = !1, w("update:modelValue", b);
123
+ function te(v) {
124
+ M.value = !1, w("update:modelValue", v);
125
125
  }
126
- return wt(async () => {
127
- await K(), k.value && (c.value = k.value.clientWidth, F = new ResizeObserver(() => {
128
- k.value && (c.value = k.value.clientWidth);
129
- }), F.observe(k.value));
130
- }), Mt(() => {
126
+ return Mt(async () => {
127
+ await K(), S.value && (c.value = S.value.clientWidth, F = new ResizeObserver(() => {
128
+ S.value && (c.value = S.value.clientWidth);
129
+ }), F.observe(S.value));
130
+ }), Ft(() => {
131
131
  F == null || F.disconnect(), F = null;
132
- }), fe(
133
- () => v.items,
132
+ }), ue(
133
+ () => f.items,
134
134
  () => {
135
135
  K();
136
136
  },
137
137
  { deep: !0 }
138
- ), (b, m) => {
139
- const D = U("FmTab"), x = U("FmIcon"), T = U("FmMenuItem"), V = U("FmMenu");
140
- return f(), S("div", {
138
+ ), (v, m) => {
139
+ const k = C("FmTab"), x = C("FmIcon"), T = C("FmMenuItem"), j = C("FmMenu");
140
+ return h(), I("div", {
141
141
  ref_key: "containerRef",
142
- ref: k,
142
+ ref: S,
143
143
  class: "relative flex w-full flex-row items-center"
144
144
  }, [
145
- (f(!0), S(ee, null, ue(J.value, (r) => (f(), Z(D, {
145
+ (h(!0), I(Z, null, ie(W.value, (r) => (h(), Q(k, {
146
146
  key: r.value,
147
147
  "model-value": a.modelValue,
148
148
  label: r.label,
149
149
  badge: r.badge,
150
150
  disabled: r.disabled,
151
151
  value: r.value,
152
- "onUpdate:modelValue": oe
152
+ "onUpdate:modelValue": te
153
153
  }, null, 8, ["model-value", "label", "badge", "disabled", "value"]))), 128)),
154
- te.value.length > 0 ? (f(), Z(V, {
154
+ ee.value.length > 0 ? (h(), Q(j, {
155
155
  key: 0,
156
156
  "show-menu": M.value,
157
157
  class: "max-w-[360px] min-w-[90px] rounded-sm",
@@ -159,33 +159,33 @@ const se = [
159
159
  onMenuChanged: m[0] || (m[0] = (r) => M.value = r)
160
160
  }, {
161
161
  "menu-button": B(() => [
162
- l("div", At, [
163
- h(x, { name: "more_vert" }),
164
- l("span", Et, u(n(j)("auditLog.modules.more")), 1)
162
+ l("div", Et, [
163
+ p(x, { name: "more_vert" }),
164
+ l("span", Rt, u(n(P)("auditLog.modules.more")), 1)
165
165
  ])
166
166
  ]),
167
167
  default: B(() => [
168
- (f(!0), S(ee, null, ue(te.value, (r) => (f(), Z(T, {
168
+ (h(!0), I(Z, null, ie(ee.value, (r) => (h(), Q(T, {
169
169
  key: r.value,
170
170
  "model-value": a.modelValue === r.value,
171
171
  label: r.label,
172
172
  disabled: r.disabled,
173
- onClick: (H) => oe(r.value)
173
+ onClick: (q) => te(r.value)
174
174
  }, null, 8, ["model-value", "label", "disabled", "onClick"]))), 128))
175
175
  ]),
176
176
  _: 1
177
- }, 8, ["show-menu"])) : C("", !0),
177
+ }, 8, ["show-menu"])) : N("", !0),
178
178
  l("div", {
179
179
  ref_key: "measurerRef",
180
180
  ref: s,
181
181
  "aria-hidden": "true",
182
182
  class: "pointer-events-none invisible absolute -left-[9999px] -top-[9999px] flex flex-row items-center"
183
183
  }, [
184
- (f(!0), S(ee, null, ue(a.items, (r) => (f(), S("div", {
184
+ (h(!0), I(Z, null, ie(a.items, (r) => (h(), I("div", {
185
185
  key: `measure-${r.value}`,
186
186
  "data-tab-measure": ""
187
187
  }, [
188
- h(D, {
188
+ p(k, {
189
189
  "model-value": a.modelValue,
190
190
  label: r.label,
191
191
  badge: r.badge,
@@ -193,28 +193,28 @@ const se = [
193
193
  value: r.value
194
194
  }, null, 8, ["model-value", "label", "badge", "disabled", "value"])
195
195
  ]))), 128)),
196
- l("div", Rt, [
197
- h(x, { name: "more_vert" }),
198
- l("span", Ct, u(n(j)("auditLog.modules.more")), 1)
196
+ l("div", Ct, [
197
+ p(x, { name: "more_vert" }),
198
+ l("span", Ut, u(n(P)("auditLog.modules.more")), 1)
199
199
  ])
200
200
  ], 512)
201
201
  ], 512);
202
202
  };
203
203
  }
204
- }), $t = Vt("team", () => {
205
- const a = g([]), o = g(!1), v = g(!1), w = _(
204
+ }), Yt = At("team", () => {
205
+ const a = b([]), o = b(!1), f = b(!1), w = y(
206
206
  () => Object.fromEntries(a.value.map((s) => [s.doc.userId, s.name]))
207
- ), j = _(
207
+ ), P = y(
208
208
  () => Object.fromEntries(a.value.map((s) => [s.doc.userId, s.email]))
209
- ), M = _(
209
+ ), M = y(
210
210
  () => Object.fromEntries(a.value.map((s) => [s.doc.userId, s.phoneNumber]))
211
211
  );
212
- async function k({ force: s = !1 } = {}) {
212
+ async function S({ force: s = !1 } = {}) {
213
213
  if (!(!s && a.value.length > 0))
214
214
  try {
215
215
  o.value = !0;
216
- const O = await Pt.readTeamMembers();
217
- a.value = O.sort((P, c) => P.doc.isOwner ? -1 : P.name.localeCompare(c.name)), v.value = !0;
216
+ const O = await Vt.readTeamMembers();
217
+ a.value = O.sort((V, c) => V.doc.isOwner ? -1 : V.name.localeCompare(c.name)), f.value = !0;
218
218
  } finally {
219
219
  o.value = !1;
220
220
  }
@@ -222,151 +222,149 @@ const se = [
222
222
  return {
223
223
  members: a,
224
224
  isLoading: o,
225
- hasLoaded: v,
225
+ hasLoaded: f,
226
226
  userIdToName: w,
227
- userIdToEmail: j,
227
+ userIdToEmail: P,
228
228
  userIdToPhone: M,
229
- readTeamMembers: k
229
+ readTeamMembers: S
230
230
  };
231
- }), Yt = {
231
+ }), Nt = {
232
232
  class: "flex flex-col gap-4 p-12 w-[260px]"
233
- }, Nt = {
234
- class: "text-xs font-semibold text-fm-color-typo-secondary mb-4"
235
233
  }, Bt = {
236
- class: "flex min-h-0 flex-1 flex-col gap-16"
234
+ class: "text-xs font-semibold text-fm-color-typo-secondary mb-4"
237
235
  }, Kt = {
238
- class: "space-y-16"
236
+ class: "flex min-h-0 flex-1 flex-col gap-16"
239
237
  }, zt = {
240
- class: "flex flex-wrap items-center gap-8"
238
+ class: "space-y-16"
241
239
  }, qt = {
242
- class: "w-fit"
240
+ class: "flex flex-wrap items-center gap-8"
243
241
  }, Ht = {
244
- key: 0,
245
242
  class: "w-fit"
246
243
  }, Wt = {
247
244
  class: "w-fit"
248
245
  }, Jt = {
249
246
  class: "w-fit"
250
247
  }, Gt = {
248
+ class: "w-fit"
249
+ }, Xt = {
251
250
  key: 0,
252
251
  class: "space-y-12 p-4 text-sm"
253
- }, Xt = {
254
- class: "flex items-start justify-between gap-8 rounded-lg border border-fm-color-border-default p-12"
255
252
  }, Qt = {
256
- class: "min-w-0 flex-1"
253
+ class: "flex items-start justify-between gap-8 rounded-lg border border-fm-color-border-default p-12"
257
254
  }, Zt = {
258
- class: "audit-log-operation-label-detail text-base font-bold leading-snug text-fm-color-typo-primary"
255
+ class: "min-w-0 flex-1"
259
256
  }, eo = {
260
- class: "rounded-lg border border-fm-color-border-default p-12"
257
+ class: "audit-log-operation-label-detail text-base font-bold leading-snug text-fm-color-typo-primary"
261
258
  }, to = {
262
- class: "space-y-12"
259
+ class: "rounded-lg border border-fm-color-border-default p-12"
263
260
  }, oo = {
264
- class: "text-xs text-fm-color-typo-secondary"
261
+ class: "space-y-12"
265
262
  }, ao = {
266
- class: "font-semibold"
267
- }, lo = {
268
263
  class: "text-xs text-fm-color-typo-secondary"
269
- }, so = {
264
+ }, lo = {
270
265
  class: "font-semibold"
271
- }, no = {
266
+ }, so = {
272
267
  class: "text-xs text-fm-color-typo-secondary"
268
+ }, no = {
269
+ class: "font-semibold"
273
270
  }, uo = {
274
- class: "break-all font-semibold"
271
+ class: "text-xs text-fm-color-typo-secondary"
275
272
  }, io = {
276
- key: 0
273
+ class: "break-all font-semibold"
277
274
  }, ro = {
278
- class: "text-xs text-fm-color-typo-secondary"
275
+ key: 0
279
276
  }, co = {
280
- class: "break-all font-mono text-xs font-semibold"
281
- }, mo = {
282
277
  class: "text-xs text-fm-color-typo-secondary"
283
- }, fo = {
278
+ }, mo = {
284
279
  class: "break-all font-mono text-xs font-semibold"
285
- }, vo = {
280
+ }, fo = {
286
281
  class: "text-xs text-fm-color-typo-secondary"
282
+ }, vo = {
283
+ class: "break-all font-mono text-xs font-semibold"
287
284
  }, bo = {
288
- class: "font-semibold"
285
+ class: "text-xs text-fm-color-typo-secondary"
289
286
  }, go = {
290
- key: 0,
291
- class: "rounded-lg border border-fm-color-border-default"
287
+ class: "font-semibold"
292
288
  }, po = {
293
- class: "p-12"
289
+ class: "rounded-lg border border-fm-color-border-default"
294
290
  }, ho = {
295
- class: "text-base font-bold text-fm-color-typo-primary"
291
+ class: "p-12"
296
292
  }, yo = {
297
- class: "space-y-12 p-12"
293
+ class: "text-base font-bold text-fm-color-typo-primary"
298
294
  }, _o = {
299
- class: "text-xs text-fm-color-typo-secondary"
295
+ class: "space-y-12 p-12"
300
296
  }, xo = {
301
- class: "font-semibold"
297
+ class: "text-xs text-fm-color-typo-secondary"
302
298
  }, Lo = {
303
- class: "rounded-lg border border-fm-color-border-default"
299
+ class: "font-semibold"
304
300
  }, So = {
305
- class: "p-12"
301
+ class: "rounded-lg border border-fm-color-border-default"
306
302
  }, ko = {
307
- class: "text-base font-bold text-fm-color-typo-primary"
303
+ class: "p-12"
308
304
  }, wo = {
309
- class: "space-y-12 p-12"
305
+ class: "text-base font-bold text-fm-color-typo-primary"
310
306
  }, Mo = {
311
- class: "text-xs text-fm-color-typo-secondary"
307
+ class: "space-y-12 p-12"
312
308
  }, Fo = {
313
- class: "font-semibold"
309
+ class: "text-xs text-fm-color-typo-secondary"
314
310
  }, Do = {
315
- key: 0
311
+ class: "font-semibold"
316
312
  }, Io = {
317
- class: "text-xs text-fm-color-typo-secondary"
313
+ key: 0
318
314
  }, Oo = {
315
+ class: "text-xs text-fm-color-typo-secondary"
316
+ }, To = {
319
317
  key: 0,
320
318
  class: "font-semibold"
321
- }, To = {
319
+ }, jo = {
322
320
  key: 1,
323
321
  class: "break-all font-mono text-xs text-fm-color-typo-secondary"
324
- }, jo = {
325
- key: 1
326
322
  }, Po = {
327
- class: "text-xs text-fm-color-typo-secondary"
323
+ key: 1
328
324
  }, Vo = {
329
- class: "font-semibold whitespace-pre-line"
330
- }, Ao = {
331
325
  class: "text-xs text-fm-color-typo-secondary"
326
+ }, Ao = {
327
+ class: "font-semibold whitespace-pre-line"
332
328
  }, Eo = {
333
- class: "font-semibold"
334
- }, Ro = {
335
329
  class: "text-xs text-fm-color-typo-secondary"
330
+ }, Ro = {
331
+ class: "font-semibold"
336
332
  }, Co = {
337
- class: "break-all font-mono text-xs font-semibold"
333
+ class: "text-xs text-fm-color-typo-secondary"
338
334
  }, Uo = {
339
- key: 2
335
+ class: "break-all font-mono text-xs font-semibold"
340
336
  }, $o = {
341
- class: "text-xs text-fm-color-typo-secondary"
337
+ key: 2
342
338
  }, Yo = {
343
- class: "mt-4 space-y-4"
339
+ class: "text-xs text-fm-color-typo-secondary"
344
340
  }, No = {
345
- class: "flex h-16 w-16 shrink-0 items-center justify-center rounded-full bg-fm-color-primary-default text-xs font-bold text-white"
341
+ class: "mt-4 space-y-4"
346
342
  }, Bo = {
347
- class: "text-xs font-semibold"
343
+ class: "flex h-16 w-16 shrink-0 items-center justify-center rounded-full bg-fm-color-primary-default text-xs font-bold text-white"
348
344
  }, Ko = {
345
+ class: "text-xs font-semibold"
346
+ }, zo = {
349
347
  key: 0,
350
348
  class: "text-fm-color-typo-secondary"
351
- }, zo = {
352
- key: 3
353
349
  }, qo = {
354
- class: "text-xs text-fm-color-typo-secondary"
350
+ key: 3
355
351
  }, Ho = {
352
+ class: "text-xs text-fm-color-typo-secondary"
353
+ }, Wo = {
356
354
  class: "mt-4 max-h-[400px] overflow-auto rounded bg-gray-100 p-8 font-mono text-xs leading-relaxed shadow-inner whitespace-pre-wrap break-all"
357
- }, ne = 100, xe = 1e3, Wo = "D MMM YYYY h:mm A", Jo = "YYYY-MM-DD HH:mm", A = "YYYY-MM-DD", Ne = "audit-log-export-fields", Go = /* @__PURE__ */ Be({
355
+ }, ne = 100, xe = 1e3, Jo = "D MMM YYYY h:mm A", Go = "YYYY-MM-DD HH:mm", A = "YYYY-MM-DD", Be = "audit-log-export-fields", Xo = /* @__PURE__ */ Ke({
358
356
  __name: "AuditLogList",
359
357
  setup(a) {
360
358
  const {
361
359
  t: o
362
- } = Ke(), v = Dt(), w = $t(), j = g(!1), M = g(!1), k = g([]), s = g(null), O = g(!1);
363
- async function P(e) {
364
- const t = Uint8Array.from(atob(e), (p) => p.charCodeAt(0)), i = new DecompressionStream("gzip"), L = i.writable.getWriter();
360
+ } = ze(), f = It(), w = Yt(), P = b(!1), M = b(!1), S = b([]), s = b(null), O = b(!1);
361
+ async function V(e) {
362
+ const t = Uint8Array.from(atob(e), (g) => g.charCodeAt(0)), i = new DecompressionStream("gzip"), L = i.writable.getWriter();
365
363
  return await L.write(t), await L.close(), new Response(i.readable).text();
366
364
  }
367
- const c = g("");
365
+ const c = b("");
368
366
  let F = 0;
369
- fe(() => {
367
+ ue(() => {
370
368
  var e, t;
371
369
  return (t = (e = s.value) == null ? void 0 : e.metadata) == null ? void 0 : t.requestBody;
372
370
  }, async (e) => {
@@ -381,7 +379,7 @@ const se = [
381
379
  }
382
380
  if (e.startsWith("gzip:")) {
383
381
  try {
384
- const i = await P(e.slice(5));
382
+ const i = await V(e.slice(5));
385
383
  if (t !== F) return;
386
384
  c.value = JSON.stringify(JSON.parse(i), null, 2);
387
385
  } catch {
@@ -398,88 +396,88 @@ const se = [
398
396
  }, {
399
397
  immediate: !0
400
398
  });
401
- const K = g(1), ve = g(!1), J = g(0), te = _(() => Math.max(1, Math.ceil(J.value / ne))), oe = y().format("YYYY-MM-DD"), b = g({
402
- startDate: `${oe} 00:00`,
403
- endDate: `${oe} 23:59`
404
- }), m = g(), D = g(), x = g(), T = g(), V = g("all");
399
+ const K = b(1), ve = b(!1), W = b(0), ee = y(() => Math.max(1, Math.ceil(W.value / ne))), te = _().format("YYYY-MM-DD"), v = b({
400
+ startDate: `${te} 00:00`,
401
+ endDate: `${te} 23:59`
402
+ }), m = b(), k = b(), x = b(), T = b(), j = b("all");
405
403
  function r(e) {
406
404
  return typeof e == "string" ? [e] : Array.isArray(e) ? e.filter((t) => typeof t == "string") : [];
407
405
  }
408
- const H = se.filter((e) => e.key !== "all").map((e) => e.key);
409
- function N(e) {
406
+ const q = se.filter((e) => e.key !== "all").map((e) => e.key);
407
+ function Y(e) {
410
408
  const t = se.find((i) => i.key !== "all" && i.subjectPrefixes.some((L) => e.startsWith(L)));
411
409
  return (t == null ? void 0 : t.key) ?? "other";
412
410
  }
413
- function ae(e) {
414
- const t = H.indexOf(e);
415
- return t === -1 ? H.length : t;
411
+ function oe(e) {
412
+ const t = q.indexOf(e);
413
+ return t === -1 ? q.length : t;
416
414
  }
417
- const Le = _(() => se.map(({
415
+ const Le = y(() => se.map(({
418
416
  key: e
419
417
  }) => ({
420
418
  label: o(`auditLog.modules.${e}`),
421
419
  value: e
422
- }))), E = _(() => se.find((e) => e.key === V.value) ?? se[0]), z = _(() => V.value === "all"), ze = _(() => w.members.map((e) => ({
420
+ }))), E = y(() => se.find((e) => e.key === j.value) ?? se[0]), ae = y(() => j.value === "all"), qe = y(() => w.members.map((e) => ({
423
421
  label: e.name,
424
422
  value: e.doc.userId
425
- }))), qe = _(() => {
426
- const e = $e.flatMap((p) => r(p.subject).map((I) => ({
427
- label: p.label,
428
- value: I
429
- }))), t = Object.entries(Ee).map(([p, I]) => ({
430
- label: I,
431
- value: p
423
+ }))), Se = y(() => {
424
+ const e = Ye.flatMap((g) => r(g.subject).map((D) => ({
425
+ label: g.label,
426
+ value: D
427
+ }))), t = Object.entries(Re).map(([g, D]) => ({
428
+ label: D,
429
+ value: g
432
430
  })), i = /* @__PURE__ */ new Set(), L = [];
433
- for (const p of [...e, ...t])
434
- if (!i.has(p.value)) {
435
- i.add(p.value);
436
- const I = N(p.value);
431
+ for (const g of [...e, ...t])
432
+ if (!i.has(g.value)) {
433
+ i.add(g.value);
434
+ const D = Y(g.value);
437
435
  L.push({
438
- ...p,
439
- group: o(`auditLog.modules.${I}`)
436
+ ...g,
437
+ group: o(`auditLog.modules.${D}`)
440
438
  });
441
439
  }
442
- return L.sort((p, I) => ae(N(p.value)) - ae(N(I.value)));
443
- });
444
- function He(e, t) {
440
+ return L.sort((g, D) => oe(Y(g.value)) - oe(Y(D.value)));
441
+ }), He = y(() => ae.value ? Se.value : Se.value.filter((e) => Y(e.value) === j.value));
442
+ function We(e, t) {
445
443
  const i = t.toLowerCase();
446
444
  return e.label.toLowerCase().includes(i) || e.value.replace(/^business::/, "").toLowerCase().includes(i) ? !0 : e.value.toLowerCase().includes(i);
447
445
  }
448
- const $ = _(() => ({
446
+ const U = y(() => ({
449
447
  manage: o("auditLog.action.manage"),
450
448
  create: o("auditLog.action.create"),
451
449
  read: o("auditLog.action.read"),
452
450
  update: o("auditLog.action.update"),
453
451
  delete: o("auditLog.action.delete")
454
- })), We = _(() => [{
455
- label: $.value.manage,
452
+ })), Je = y(() => [{
453
+ label: U.value.manage,
456
454
  value: "manage"
457
455
  }, {
458
- label: $.value.create,
456
+ label: U.value.create,
459
457
  value: "create"
460
458
  }, {
461
- label: $.value.read,
459
+ label: U.value.read,
462
460
  value: "read"
463
461
  }, {
464
- label: $.value.update,
462
+ label: U.value.update,
465
463
  value: "update"
466
464
  }, {
467
- label: $.value.delete,
465
+ label: U.value.delete,
468
466
  value: "delete"
469
- }]), ie = _(() => ({
467
+ }]), re = y(() => ({
470
468
  allowed: o("auditLog.outcome.success"),
471
469
  denied: o("auditLog.outcome.failed"),
472
470
  skipped: o("auditLog.outcome.skipped")
473
- })), Je = _(() => [{
474
- label: ie.value.allowed,
471
+ })), Ge = y(() => [{
472
+ label: re.value.allowed,
475
473
  value: "allowed"
476
474
  }, {
477
- label: ie.value.denied,
475
+ label: re.value.denied,
478
476
  value: "denied"
479
477
  }, {
480
- label: ie.value.skipped,
478
+ label: re.value.skipped,
481
479
  value: "skipped"
482
- }]), Ge = _(() => ({
480
+ }]), Xe = y(() => ({
483
481
  admin: o("auditLog.detail.resolvedFromValue.admin"),
484
482
  staff: o("auditLog.detail.resolvedFromValue.staff"),
485
483
  permissionSet: o("auditLog.detail.resolvedFromValue.permissionSet"),
@@ -487,126 +485,126 @@ const se = [
487
485
  custom: o("auditLog.detail.resolvedFromValue.custom"),
488
486
  "no-match": o("auditLog.detail.resolvedFromValue.noMatch"),
489
487
  unknown: o("auditLog.detail.resolvedFromValue.unknown")
490
- })), Xe = _(() => ({
491
- GET: $.value.read,
492
- POST: $.value.create,
493
- PUT: $.value.update,
494
- PATCH: $.value.update,
495
- DELETE: $.value.delete
496
- })), Se = {
488
+ })), Qe = y(() => ({
489
+ GET: U.value.read,
490
+ POST: U.value.create,
491
+ PUT: U.value.update,
492
+ PATCH: U.value.update,
493
+ DELETE: U.value.delete
494
+ })), ke = {
497
495
  allowed: "success",
498
496
  denied: "critical",
499
497
  skipped: "warning"
500
498
  };
501
- function re(e) {
502
- return y(e).format(Wo);
499
+ function de(e) {
500
+ return _(e).format(Jo);
503
501
  }
504
- const Qe = _(() => {
502
+ const Ze = y(() => {
505
503
  const {
506
504
  startDate: e,
507
505
  endDate: t
508
- } = b.value;
509
- return e && t ? `${re(e)} – ${re(t)}` : e ? re(e) : t ? re(t) : o("auditLog.dateRange.placeholder");
510
- }), Ze = _(() => [{
506
+ } = v.value;
507
+ return e && t ? `${de(e)} – ${de(t)}` : e ? de(e) : t ? de(t) : o("auditLog.dateRange.placeholder");
508
+ }), et = y(() => [{
511
509
  label: o("date.predefinedRanges.today"),
512
510
  value: {
513
- startDate: y().format(A),
514
- endDate: y().format(A)
511
+ startDate: _().format(A),
512
+ endDate: _().format(A)
515
513
  }
516
514
  }, {
517
515
  label: o("date.predefinedRanges.yesterday"),
518
516
  value: {
519
- startDate: y().subtract(1, "day").format(A),
520
- endDate: y().subtract(1, "day").format(A)
517
+ startDate: _().subtract(1, "day").format(A),
518
+ endDate: _().subtract(1, "day").format(A)
521
519
  }
522
520
  }, {
523
521
  label: o("date.predefinedRanges.thisWeek"),
524
522
  value: {
525
- startDate: y().startOf("week").format(A),
526
- endDate: y().endOf("week").format(A)
523
+ startDate: _().startOf("week").format(A),
524
+ endDate: _().endOf("week").format(A)
527
525
  }
528
526
  }, {
529
527
  label: o("date.predefinedRanges.lastWeek"),
530
528
  value: {
531
- startDate: y().subtract(1, "week").startOf("week").format(A),
532
- endDate: y().subtract(1, "week").endOf("week").format(A)
529
+ startDate: _().subtract(1, "week").startOf("week").format(A),
530
+ endDate: _().subtract(1, "week").endOf("week").format(A)
533
531
  }
534
532
  }, {
535
533
  label: o("date.predefinedRanges.last7Days"),
536
534
  value: {
537
- startDate: y().subtract(7, "day").format(A),
538
- endDate: y().subtract(1, "day").format(A)
535
+ startDate: _().subtract(7, "day").format(A),
536
+ endDate: _().subtract(1, "day").format(A)
539
537
  }
540
538
  }, {
541
539
  label: o("date.predefinedRanges.thisMonth"),
542
540
  value: {
543
- startDate: y().startOf("month").format(A),
544
- endDate: y().endOf("month").format(A)
541
+ startDate: _().startOf("month").format(A),
542
+ endDate: _().endOf("month").format(A)
545
543
  }
546
544
  }, {
547
545
  label: o("date.predefinedRanges.lastMonth"),
548
546
  value: {
549
- startDate: y().subtract(1, "month").startOf("month").format(A),
550
- endDate: y().subtract(1, "month").endOf("month").format(A)
547
+ startDate: _().subtract(1, "month").startOf("month").format(A),
548
+ endDate: _().subtract(1, "month").endOf("month").format(A)
551
549
  }
552
550
  }]);
553
551
  function be(e) {
554
552
  var t;
555
- return ((t = $e.find((i) => i.subject === e)) == null ? void 0 : t.label) ?? Ee[e];
553
+ return ((t = Ye.find((i) => i.subject === e)) == null ? void 0 : t.label) ?? Re[e];
556
554
  }
557
- function de(e) {
555
+ function ce(e) {
558
556
  var i;
559
557
  const t = w.userIdToName[e.userId];
560
- return t || (w.hasLoaded ? (i = v.sessionUser.value) != null && i.isInternal ? `${e.actorName ?? e.userId} (${o("auditLog.user.feedmeAdmin")})` : o("auditLog.user.feedmeAdmin") : e.userId);
561
- }
562
- function ke(e) {
563
- return w.userIdToPhone[e.userId] || "-";
564
- }
565
- function et(e) {
566
- return w.userIdToEmail[e.userId] || "-";
558
+ return t || (w.hasLoaded ? (i = f.sessionUser.value) != null && i.isInternal ? `${e.actorName ?? e.userId} (${o("auditLog.user.feedmeAdmin")})` : o("auditLog.user.feedmeAdmin") : e.userId);
567
559
  }
568
560
  function we(e) {
569
- return y(e).format("DD MMM YYYY, HH:mm");
561
+ return w.userIdToPhone[e.userId] || "-";
570
562
  }
571
563
  function tt(e) {
572
- return y(e).format("DD MMM YYYY, HH:mm:ss").toUpperCase();
564
+ return w.userIdToEmail[e.userId] || "-";
573
565
  }
574
566
  function Me(e) {
575
- return $.value[e] ?? e;
567
+ return _(e).format("DD MMM YYYY, HH:mm");
568
+ }
569
+ function ot(e) {
570
+ return _(e).format("DD MMM YYYY, HH:mm:ss").toUpperCase();
576
571
  }
577
572
  function Fe(e) {
578
- return e.metadata.operationLabel ?? Me(e.action);
573
+ return U.value[e] ?? e;
579
574
  }
580
- function ot(e) {
575
+ function De(e) {
576
+ return e.metadata.operationLabel ?? Fe(e.action);
577
+ }
578
+ function at(e) {
581
579
  return be(e.subject) ?? e.subject;
582
580
  }
583
581
  function ge(e) {
584
- return ie.value[e];
585
- }
586
- function at(e) {
587
- return Ge.value[e] ?? e;
582
+ return re.value[e];
588
583
  }
589
584
  function lt(e) {
590
- return e.metadata.requestMethod ? Xe.value[e.metadata.requestMethod] ?? e.metadata.requestMethod : Me(e.action);
585
+ return Xe.value[e] ?? e;
591
586
  }
592
- function De(e) {
587
+ function st(e) {
588
+ return e.metadata.requestMethod ? Qe.value[e.metadata.requestMethod] ?? e.metadata.requestMethod : Fe(e.action);
589
+ }
590
+ function Ie(e) {
593
591
  const t = String(e ?? "");
594
592
  return `"${(/^[=+\-@\t\r]/.test(t) ? `'${t}` : t).replace(/"/g, '""')}"`;
595
593
  }
596
594
  const pe = [{
597
595
  key: "timestamp",
598
596
  labelKey: "auditLog.exportFields.timestamp",
599
- getValue: (e) => we(e.timestamp),
597
+ getValue: (e) => Me(e.timestamp),
600
598
  defaultSelected: !0
601
599
  }, {
602
600
  key: "userName",
603
601
  labelKey: "auditLog.exportFields.userName",
604
- getValue: (e) => de(e),
602
+ getValue: (e) => ce(e),
605
603
  defaultSelected: !0
606
604
  }, {
607
605
  key: "userPhone",
608
606
  labelKey: "auditLog.exportFields.userPhone",
609
- getValue: (e) => ke(e),
607
+ getValue: (e) => we(e),
610
608
  defaultSelected: !0
611
609
  }, {
612
610
  key: "subject",
@@ -621,7 +619,7 @@ const se = [
621
619
  }, {
622
620
  key: "operation",
623
621
  labelKey: "auditLog.exportFields.operation",
624
- getValue: (e) => Fe(e),
622
+ getValue: (e) => De(e),
625
623
  defaultSelected: !0
626
624
  }, {
627
625
  key: "outcome",
@@ -668,9 +666,9 @@ const se = [
668
666
  },
669
667
  defaultSelected: !1
670
668
  }];
671
- function st() {
669
+ function nt() {
672
670
  try {
673
- const e = localStorage.getItem(Ne);
671
+ const e = localStorage.getItem(Be);
674
672
  if (e) {
675
673
  const t = JSON.parse(e);
676
674
  if (Array.isArray(t) && t.length > 0) return new Set(t);
@@ -679,41 +677,41 @@ const se = [
679
677
  }
680
678
  return new Set(pe.filter((e) => e.defaultSelected).map((e) => e.key));
681
679
  }
682
- const G = g(st());
683
- function nt(e) {
684
- const t = new Set(G.value);
680
+ const J = b(nt());
681
+ function ut(e) {
682
+ const t = new Set(J.value);
685
683
  if (t.has(e)) {
686
684
  if (t.size <= 1) return;
687
685
  t.delete(e);
688
686
  } else
689
687
  t.add(e);
690
- G.value = t;
688
+ J.value = t;
691
689
  try {
692
- localStorage.setItem(Ne, JSON.stringify([...t]));
690
+ localStorage.setItem(Be, JSON.stringify([...t]));
693
691
  } catch {
694
692
  }
695
693
  }
696
- async function ut() {
697
- var e, t, i, L, p, I;
694
+ async function it() {
695
+ var e, t, i, L, g, D;
698
696
  if (!M.value) {
699
697
  M.value = !0;
700
698
  try {
701
699
  const {
702
- startDate: Y,
703
- endDate: q
704
- } = b.value, W = E.value.subjectPrefixes, ce = (/* @__PURE__ */ new Date()).toISOString().slice(0, 19).replace("T", " "), d = q ? X(q) : null, Q = d && d < ce ? d : ce, ft = {
705
- ...Y ? {
706
- from: X(Y)
700
+ startDate: $,
701
+ endDate: z
702
+ } = v.value, H = E.value.subjectPrefixes, me = (/* @__PURE__ */ new Date()).toISOString().slice(0, 19).replace("T", " "), d = z ? G(z) : null, X = d && d < me ? d : me, vt = {
703
+ ...$ ? {
704
+ from: G($)
707
705
  } : {},
708
- to: Q,
706
+ to: X,
709
707
  ...(e = m.value) != null && e.length ? {
710
708
  userIds: m.value
711
709
  } : {},
712
- ...z.value && ((t = D.value) != null && t.length) ? {
713
- subjects: D.value
710
+ ...(t = k.value) != null && t.length ? {
711
+ subjects: k.value
714
712
  } : {},
715
- ...W.length ? {
716
- subjectPrefixes: [...W]
713
+ ...H.length ? {
714
+ subjectPrefixes: [...H]
717
715
  } : {},
718
716
  ...(i = T.value) != null && i.length ? {
719
717
  actions: T.value
@@ -721,32 +719,32 @@ const se = [
721
719
  ...(L = x.value) != null && L.length ? {
722
720
  outcomes: x.value
723
721
  } : {}
724
- }, Te = [];
725
- let je = 0;
722
+ }, je = [];
723
+ let Pe = 0;
726
724
  for (; ; ) {
727
725
  const R = await _e.read({
728
- ...ft,
726
+ ...vt,
729
727
  limit: xe,
730
- offset: je
728
+ offset: Pe
731
729
  });
732
- if (Te.push(...R), R.length < xe) break;
733
- je += xe;
730
+ if (je.push(...R), R.length < xe) break;
731
+ Pe += xe;
734
732
  }
735
- const Pe = pe.filter((R) => G.value.has(R.key)), vt = Pe.map((R) => o(R.labelKey)), bt = Te.map((R) => Pe.map((kt) => kt.getValue(R) ?? "")), ye = -(/* @__PURE__ */ new Date()).getTimezoneOffset(), gt = ye >= 0 ? "+" : "-", pt = String(Math.floor(Math.abs(ye) / 60)).padStart(2, "0"), ht = String(Math.abs(ye) % 60).padStart(2, "0"), yt = `UTC${gt}${pt}:${ht}`, Ve = ((p = v.currentBusiness.value) == null ? void 0 : p.name) || "", _t = [Y, q].filter(Boolean).join(" – "), xt = [...[[o("auditLog.title")], [`${o("auditLog.frontMatter.date")}: ${_t}`], ...Ve ? [[`${o("auditLog.frontMatter.business")}: ${Ve}`]] : [], [`${o("auditLog.frontMatter.generatedBy")}: ${y().format("DD MMM YYYY, HH:mm")} (${yt})`], []].map((R) => R.map(De).join(",")), ...[vt, ...bt].map((R) => R.map(De).join(","))].join(`
736
- `), Lt = `audit-log_${(((I = v.currentBusiness.value) == null ? void 0 : I.name) || "business").replace(/[^a-z0-9_-]+/gi, "_")}_${y().format("YYYYMMDD_HHmmss")}.csv`, St = new Blob([`\uFEFF${xt}`], {
733
+ const Ve = pe.filter((R) => J.value.has(R.key)), bt = Ve.map((R) => o(R.labelKey)), gt = je.map((R) => Ve.map((wt) => wt.getValue(R) ?? "")), ye = -(/* @__PURE__ */ new Date()).getTimezoneOffset(), pt = ye >= 0 ? "+" : "-", ht = String(Math.floor(Math.abs(ye) / 60)).padStart(2, "0"), yt = String(Math.abs(ye) % 60).padStart(2, "0"), _t = `UTC${pt}${ht}:${yt}`, Ae = ((g = f.currentBusiness.value) == null ? void 0 : g.name) || "", xt = [$, z].filter(Boolean).join(" – "), Lt = [...[[o("auditLog.title")], [`${o("auditLog.frontMatter.date")}: ${xt}`], ...Ae ? [[`${o("auditLog.frontMatter.business")}: ${Ae}`]] : [], [`${o("auditLog.frontMatter.generatedBy")}: ${_().format("DD MMM YYYY, HH:mm")} (${_t})`], []].map((R) => R.map(Ie).join(",")), ...[bt, ...gt].map((R) => R.map(Ie).join(","))].join(`
734
+ `), St = `audit-log_${(((D = f.currentBusiness.value) == null ? void 0 : D.name) || "business").replace(/[^a-z0-9_-]+/gi, "_")}_${_().format("YYYYMMDD_HHmmss")}.csv`, kt = new Blob([`\uFEFF${Lt}`], {
737
735
  type: "text/csv;charset=utf-8;"
738
- }), Ae = window.URL.createObjectURL(St), le = document.createElement("a");
739
- le.href = Ae, le.download = Lt, document.body.appendChild(le), le.click(), le.remove(), window.URL.revokeObjectURL(Ae);
736
+ }), Ee = window.URL.createObjectURL(kt), le = document.createElement("a");
737
+ le.href = Ee, le.download = St, document.body.appendChild(le), le.click(), le.remove(), window.URL.revokeObjectURL(Ee);
740
738
  } finally {
741
739
  M.value = !1;
742
740
  }
743
741
  }
744
742
  }
745
- const it = [{
743
+ const rt = [{
746
744
  accessorKey: "timestamp",
747
745
  header: () => o("auditLog.columns.timestamp"),
748
746
  cell(e) {
749
- return we(e.row.original.timestamp);
747
+ return Me(e.row.original.timestamp);
750
748
  }
751
749
  }, {
752
750
  accessorKey: "userId",
@@ -755,19 +753,19 @@ const se = [
755
753
  size: 220,
756
754
  cell(e) {
757
755
  const t = e.row.original;
758
- return h("div", {
756
+ return p("div", {
759
757
  class: "flex items-center gap-8"
760
- }, [h(Re.FmAvatar, {
761
- name: de(t),
758
+ }, [p(Ce.FmAvatar, {
759
+ name: ce(t),
762
760
  size: "sm",
763
761
  class: "shrink-0"
764
- }, null), h("div", {
762
+ }, null), p("div", {
765
763
  class: "min-w-0"
766
- }, [h("p", {
764
+ }, [p("p", {
767
765
  class: "truncate font-semibold"
768
- }, [de(t)]), h("p", {
766
+ }, [ce(t)]), p("p", {
769
767
  class: "truncate text-fm-color-typo-secondary"
770
- }, [ke(t)])])]);
768
+ }, [we(t)])])]);
771
769
  }
772
770
  }, {
773
771
  accessorKey: "subject",
@@ -785,7 +783,7 @@ const se = [
785
783
  cellSpanClass: "audit-log-action-label"
786
784
  },
787
785
  cell(e) {
788
- return Fe(e.row.original);
786
+ return De(e.row.original);
789
787
  }
790
788
  }, {
791
789
  accessorKey: "outcome",
@@ -793,41 +791,41 @@ const se = [
793
791
  enableSorting: !1,
794
792
  cell(e) {
795
793
  const t = e.row.original;
796
- return h(Re.FmChip, {
797
- variant: Se[t.outcome] ?? "neutral",
794
+ return p(Ce.FmChip, {
795
+ variant: ke[t.outcome] ?? "neutral",
798
796
  label: ge(t.outcome),
799
797
  compact: !0
800
798
  }, null);
801
799
  }
802
800
  }];
803
- function X(e) {
804
- const t = y(e, Jo);
801
+ function G(e) {
802
+ const t = _(e, Go);
805
803
  return new Date(t.year(), t.month(), t.date(), t.hour(), t.minute(), 0).toISOString().slice(0, 19).replace("T", " ");
806
804
  }
807
- async function Ie() {
805
+ async function Oe() {
808
806
  var e, t, i, L;
809
- j.value = !0;
807
+ P.value = !0;
810
808
  try {
811
809
  const {
812
- startDate: p,
813
- endDate: I
814
- } = b.value, Y = (K.value - 1) * ne, q = E.value.subjectPrefixes, W = await _e.read({
810
+ startDate: g,
811
+ endDate: D
812
+ } = v.value, $ = (K.value - 1) * ne, z = E.value.subjectPrefixes, H = await _e.read({
815
813
  limit: ne,
816
- offset: Y,
817
- ...p ? {
818
- from: X(p)
814
+ offset: $,
815
+ ...g ? {
816
+ from: G(g)
819
817
  } : {},
820
- ...I ? {
821
- to: X(I)
818
+ ...D ? {
819
+ to: G(D)
822
820
  } : {},
823
821
  ...(e = m.value) != null && e.length ? {
824
822
  userIds: m.value
825
823
  } : {},
826
- ...z.value && ((t = D.value) != null && t.length) ? {
827
- subjects: D.value
824
+ ...(t = k.value) != null && t.length ? {
825
+ subjects: k.value
828
826
  } : {},
829
- ...q.length ? {
830
- subjectPrefixes: [...q]
827
+ ...z.length ? {
828
+ subjectPrefixes: [...z]
831
829
  } : {},
832
830
  ...(i = T.value) != null && i.length ? {
833
831
  actions: T.value
@@ -836,219 +834,221 @@ const se = [
836
834
  outcomes: x.value
837
835
  } : {}
838
836
  });
839
- k.value = W, ve.value = W.length === ne;
837
+ S.value = H, ve.value = H.length === ne;
840
838
  } finally {
841
- j.value = !1;
839
+ P.value = !1;
842
840
  }
843
841
  }
844
- const Oe = _(() => {
842
+ const Te = y(() => {
845
843
  var e;
846
844
  return JSON.stringify({
847
- businessId: ((e = v.currentBusiness.value) == null ? void 0 : e._id) ?? "",
848
- dateRange: b.value,
845
+ businessId: ((e = f.currentBusiness.value) == null ? void 0 : e._id) ?? "",
846
+ dateRange: v.value,
849
847
  users: [...m.value ?? []].sort(),
850
- subjects: [...D.value ?? []].sort(),
848
+ subjects: [...k.value ?? []].sort(),
851
849
  outcomes: [...x.value ?? []].sort(),
852
850
  actions: [...T.value ?? []].sort(),
853
- moduleKey: V.value
851
+ moduleKey: j.value
854
852
  });
855
853
  });
856
- async function rt() {
857
- var L, p, I, Y;
854
+ async function dt() {
855
+ var L, g, D, $;
858
856
  const {
859
857
  startDate: e,
860
858
  endDate: t
861
- } = b.value, i = E.value.subjectPrefixes;
862
- J.value = await _e.count({
859
+ } = v.value, i = E.value.subjectPrefixes;
860
+ W.value = await _e.count({
863
861
  ...e ? {
864
- from: X(e)
862
+ from: G(e)
865
863
  } : {},
866
864
  ...t ? {
867
- to: X(t)
865
+ to: G(t)
868
866
  } : {},
869
867
  ...(L = m.value) != null && L.length ? {
870
868
  userIds: m.value
871
869
  } : {},
872
- ...z.value && ((p = D.value) != null && p.length) ? {
873
- subjects: D.value
870
+ ...(g = k.value) != null && g.length ? {
871
+ subjects: k.value
874
872
  } : {},
875
873
  ...i.length ? {
876
874
  subjectPrefixes: [...i]
877
875
  } : {},
878
- ...(I = T.value) != null && I.length ? {
876
+ ...(D = T.value) != null && D.length ? {
879
877
  actions: T.value
880
878
  } : {},
881
- ...(Y = x.value) != null && Y.length ? {
879
+ ...($ = x.value) != null && $.length ? {
882
880
  outcomes: x.value
883
881
  } : {}
884
882
  });
885
883
  }
886
- fe(Oe, async () => {
884
+ ue(Te, async () => {
887
885
  var e;
888
- K.value = 1, (e = v.currentBusiness.value) != null && e._id && await Promise.all([rt(), Ie()]);
886
+ K.value = 1, (e = f.currentBusiness.value) != null && e._id && await Promise.all([dt(), Oe()]);
889
887
  }, {
890
888
  immediate: !0
889
+ }), ue(j, () => {
890
+ k.value = void 0;
891
891
  });
892
892
  let he = !1;
893
- async function dt({
893
+ async function ct({
894
894
  pageIndex: e
895
895
  }) {
896
896
  var t;
897
- if ((t = v.currentBusiness.value) != null && t._id && e !== 0 && !he) {
897
+ if ((t = f.currentBusiness.value) != null && t._id && e !== 0 && !he) {
898
898
  he = !0, K.value = e + 1;
899
899
  try {
900
- await Ie();
900
+ await Oe();
901
901
  } finally {
902
902
  he = !1;
903
903
  }
904
904
  }
905
905
  }
906
- function ct(e) {
906
+ function mt(e) {
907
907
  s.value = e, O.value = !0;
908
908
  }
909
- function mt() {
909
+ function ft() {
910
910
  O.value = !1, s.value = null;
911
911
  }
912
- return fe(v.currentBusiness, (e) => {
912
+ return ue(f.currentBusiness, (e) => {
913
913
  e && w.readTeamMembers();
914
914
  }, {
915
915
  immediate: !0
916
916
  }), (e, t) => {
917
- const i = U("FmSpacer"), L = U("FmButton"), p = U("FmMenuItem"), I = U("FmMenu"), Y = U("FmChip"), q = U("FmDateRangePicker"), W = U("FmTable"), ce = U("FmSideSheet");
918
- return f(), S(ee, null, [h(Tt, {
917
+ const i = C("FmSpacer"), L = C("FmButton"), g = C("FmMenuItem"), D = C("FmMenu"), $ = C("FmChip"), z = C("FmDateRangePicker"), H = C("FmTable"), me = C("FmSideSheet");
918
+ return h(), I(Z, null, [p(jt, {
919
919
  heading: n(o)("auditLog.title")
920
920
  }, {
921
- "append-heading": B(() => [h(i), h(L, {
921
+ "append-heading": B(() => [p(i), p(L, {
922
922
  variant: "primary",
923
923
  "prepend-icon": "upload",
924
924
  label: n(o)("auditLog.export"),
925
- disabled: k.value.length === 0 || M.value || n(w).isLoading || n(w).members.length === 0,
925
+ disabled: S.value.length === 0 || M.value || n(w).isLoading || n(w).members.length === 0,
926
926
  loading: M.value,
927
- onClick: ut
928
- }, null, 8, ["label", "disabled", "loading"]), h(I, {
927
+ onClick: it
928
+ }, null, 8, ["label", "disabled", "loading"]), p(D, {
929
929
  "close-on-click": !1,
930
930
  "z-index": 50
931
931
  }, {
932
- "menu-button": B(() => [h(L, {
932
+ "menu-button": B(() => [p(L, {
933
933
  variant: "tertiary",
934
934
  icon: "settings",
935
935
  "aria-label": n(o)("auditLog.exportSettings.title"),
936
936
  disabled: M.value
937
937
  }, null, 8, ["aria-label", "disabled"])]),
938
- default: B(() => [l("div", Yt, [l("p", Nt, u(n(o)("auditLog.exportSettings.title")), 1), (f(), S(ee, null, ue(pe, (d) => h(p, {
938
+ default: B(() => [l("div", Nt, [l("p", Bt, u(n(o)("auditLog.exportSettings.title")), 1), (h(), I(Z, null, ie(pe, (d) => p(g, {
939
939
  key: d.key,
940
940
  label: n(o)(d.labelKey),
941
941
  "has-checkbox": "",
942
- "model-value": G.value.has(d.key),
943
- disabled: G.value.has(d.key) && G.value.size === 1,
944
- onClick: (Q) => nt(d.key)
942
+ "model-value": J.value.has(d.key),
943
+ disabled: J.value.has(d.key) && J.value.size === 1,
944
+ onClick: (X) => ut(d.key)
945
945
  }, null, 8, ["label", "model-value", "disabled", "onClick"])), 64))])]),
946
946
  _: 1
947
947
  })]),
948
- default: B(() => [l("div", Bt, [l("div", Kt, [h(Ut, {
949
- modelValue: V.value,
950
- "onUpdate:modelValue": t[0] || (t[0] = (d) => V.value = d),
948
+ default: B(() => [l("div", Kt, [l("div", zt, [p($t, {
949
+ modelValue: j.value,
950
+ "onUpdate:modelValue": t[0] || (t[0] = (d) => j.value = d),
951
951
  items: Le.value
952
- }, null, 8, ["modelValue", "items"]), l("div", zt, [h(q, {
953
- modelValue: b.value,
954
- "onUpdate:modelValue": t[1] || (t[1] = (d) => b.value = d),
952
+ }, null, 8, ["modelValue", "items"]), l("div", qt, [p(z, {
953
+ modelValue: v.value,
954
+ "onUpdate:modelValue": t[1] || (t[1] = (d) => v.value = d),
955
955
  "show-predefined-range": "",
956
956
  "show-time": "",
957
- "predefined-range": Ze.value
957
+ "predefined-range": et.value
958
958
  }, {
959
- "trigger-button": B(() => [h(Y, {
960
- label: Qe.value,
959
+ "trigger-button": B(() => [p($, {
960
+ label: Ze.value,
961
961
  icon: "calendar_month"
962
962
  }, null, 8, ["label"])]),
963
963
  _: 1
964
- }, 8, ["modelValue", "predefined-range"]), l("div", qt, [h(me, {
964
+ }, 8, ["modelValue", "predefined-range"]), l("div", Ht, [p(fe, {
965
965
  modelValue: m.value,
966
966
  "onUpdate:modelValue": t[2] || (t[2] = (d) => m.value = d),
967
- items: ze.value,
967
+ items: qe.value,
968
968
  multiple: "",
969
969
  variant: "dark",
970
970
  placeholder: n(o)("auditLog.filter.user_placeholder"),
971
971
  "selected-prefix": n(o)("auditLog.filter.selected_user_prefix"),
972
972
  "chip-icon": "account_circle"
973
- }, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])]), z.value ? (f(), S("div", Ht, [h(me, {
974
- modelValue: D.value,
975
- "onUpdate:modelValue": t[3] || (t[3] = (d) => D.value = d),
976
- items: qe.value,
977
- "filter-fn": He,
973
+ }, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])]), l("div", Wt, [p(fe, {
974
+ modelValue: k.value,
975
+ "onUpdate:modelValue": t[3] || (t[3] = (d) => k.value = d),
976
+ items: He.value,
977
+ "filter-fn": We,
978
978
  multiple: "",
979
979
  variant: "dark",
980
980
  placeholder: n(o)("auditLog.filter.subject_placeholder"),
981
981
  "selected-prefix": n(o)("auditLog.filter.selected_subject_prefix"),
982
982
  "chip-icon": "badge"
983
- }, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])])) : C("", !0), l("div", Wt, [h(me, {
983
+ }, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])]), l("div", Jt, [p(fe, {
984
984
  modelValue: T.value,
985
985
  "onUpdate:modelValue": t[4] || (t[4] = (d) => T.value = d),
986
- items: We.value,
986
+ items: Je.value,
987
987
  multiple: "",
988
988
  variant: "dark",
989
989
  placeholder: n(o)("auditLog.filter.action_placeholder"),
990
990
  "selected-prefix": n(o)("auditLog.filter.selected_action_prefix"),
991
991
  searchable: !1
992
- }, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])]), l("div", Jt, [h(me, {
992
+ }, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])]), l("div", Gt, [p(fe, {
993
993
  modelValue: x.value,
994
994
  "onUpdate:modelValue": t[5] || (t[5] = (d) => x.value = d),
995
- items: Je.value,
995
+ items: Ge.value,
996
996
  multiple: "",
997
997
  variant: "dark",
998
998
  placeholder: n(o)("auditLog.filter.status_placeholder"),
999
999
  "selected-prefix": n(o)("auditLog.filter.selected_status_prefix"),
1000
1000
  searchable: !1,
1001
1001
  "chip-icon": "check_circle"
1002
- }, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])])])]), !j.value && k.value.length === 0 ? (f(), Z(n(jt), {
1002
+ }, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])])])]), !P.value && S.value.length === 0 ? (h(), Q(n(Pt), {
1003
1003
  key: 0,
1004
1004
  title: n(o)("auditLog.noData.title"),
1005
1005
  subtitle: n(o)("auditLog.noData.subtitle")
1006
- }, null, 8, ["title", "subtitle"])) : (f(), Z(It, {
1006
+ }, null, 8, ["title", "subtitle"])) : (h(), Q(Ot, {
1007
1007
  key: 1
1008
1008
  }, {
1009
- default: B(() => [(f(), Z(W, {
1010
- key: Oe.value,
1011
- "column-defs": it,
1012
- "row-data": k.value,
1009
+ default: B(() => [(h(), Q(H, {
1010
+ key: Te.value,
1011
+ "column-defs": rt,
1012
+ "row-data": S.value,
1013
1013
  "page-size": ne,
1014
- "page-count": te.value,
1015
- "row-count": J.value,
1016
- "fetch-fn": dt,
1017
- "hide-footer": te.value <= 1,
1018
- loading: j.value,
1014
+ "page-count": ee.value,
1015
+ "row-count": W.value,
1016
+ "fetch-fn": ct,
1017
+ "hide-footer": ee.value <= 1,
1018
+ loading: P.value,
1019
1019
  "pin-header-row": "",
1020
1020
  class: "audit-log-list-table min-h-0 flex-1 cursor-pointer",
1021
- onRowClick: t[6] || (t[6] = (d) => ct(d.original))
1021
+ onRowClick: t[6] || (t[6] = (d) => mt(d.original))
1022
1022
  }, null, 8, ["row-data", "page-count", "row-count", "hide-footer", "loading"]))]),
1023
1023
  _: 1
1024
1024
  }))])]),
1025
1025
  _: 1
1026
- }, 8, ["heading"]), h(ce, {
1026
+ }, 8, ["heading"]), p(me, {
1027
1027
  header: n(o)("auditLog.detail.header"),
1028
1028
  "model-value": O.value,
1029
1029
  "max-width": 480,
1030
1030
  "dismiss-away": "",
1031
1031
  "onUpdate:modelValue": t[7] || (t[7] = (d) => {
1032
- d || mt();
1032
+ d || ft();
1033
1033
  })
1034
1034
  }, {
1035
- default: B(() => [s.value ? (f(), S("div", Gt, [l("div", Xt, [l("div", Qt, [l("p", Zt, u(ot(s.value)), 1)]), h(Y, {
1036
- variant: Se[s.value.outcome] ?? "neutral",
1035
+ default: B(() => [s.value ? (h(), I("div", Xt, [l("div", Qt, [l("div", Zt, [l("p", eo, u(at(s.value)), 1)]), p($, {
1036
+ variant: ke[s.value.outcome] ?? "neutral",
1037
1037
  label: ge(s.value.outcome),
1038
1038
  compact: ""
1039
- }, null, 8, ["variant", "label"])]), l("div", eo, [l("div", to, [l("div", null, [l("p", oo, u(n(o)("auditLog.detail.date")), 1), l("p", ao, u(tt(s.value.timestamp)), 1)]), l("div", null, [l("p", lo, u(n(o)("auditLog.detail.user")), 1), l("p", so, u(de(s.value)), 1)]), l("div", null, [l("p", no, u(n(o)("auditLog.detail.email")), 1), l("p", uo, u(et(s.value)), 1)]), s.value.field ? (f(), S("div", io, [l("p", ro, u(n(o)("auditLog.detail.field")), 1), l("p", co, u(s.value.field), 1)])) : C("", !0), l("div", null, [l("p", mo, u(n(o)("auditLog.detail.business")), 1), l("p", fo, u(s.value.businessId || "-"), 1)]), l("div", null, [l("p", vo, u(n(o)("auditLog.detail.restaurant")), 1), l("p", bo, u(s.value.restaurantId || "-"), 1)])])]), s.value.metadata.operationLabel ? (f(), S("div", go, [l("div", po, [l("p", ho, u(n(o)("auditLog.detail.eventDetails")), 1)]), t[8] || (t[8] = l("hr", {
1039
+ }, null, 8, ["variant", "label"])]), l("div", to, [l("div", oo, [l("div", null, [l("p", ao, u(n(o)("auditLog.detail.date")), 1), l("p", lo, u(ot(s.value.timestamp)), 1)]), l("div", null, [l("p", so, u(n(o)("auditLog.detail.user")), 1), l("p", no, u(ce(s.value)), 1)]), l("div", null, [l("p", uo, u(n(o)("auditLog.detail.email")), 1), l("p", io, u(tt(s.value)), 1)]), s.value.field ? (h(), I("div", ro, [l("p", co, u(n(o)("auditLog.detail.field")), 1), l("p", mo, u(s.value.field), 1)])) : N("", !0), l("div", null, [l("p", fo, u(n(o)("auditLog.detail.business")), 1), l("p", vo, u(s.value.businessId || "-"), 1)]), l("div", null, [l("p", bo, u(n(o)("auditLog.detail.restaurant")), 1), l("p", go, u(s.value.restaurantId || "-"), 1)])])]), l("div", po, [l("div", ho, [l("p", yo, u(n(o)("auditLog.detail.eventDetails")), 1)]), t[8] || (t[8] = l("hr", {
1040
1040
  class: "border-fm-color-border-default"
1041
- }, null, -1)), l("div", yo, [l("div", null, [l("p", _o, u(n(o)("auditLog.detail.actionDescription")), 1), l("p", xo, u(s.value.metadata.operationLabel), 1)])])])) : C("", !0), l("div", Lo, [l("div", So, [l("p", ko, u(n(o)("auditLog.detail.metadata")), 1)]), t[9] || (t[9] = l("hr", {
1041
+ }, null, -1)), l("div", _o, [l("div", null, [l("p", xo, u(n(o)("auditLog.detail.actionDescription")), 1), l("p", Lo, u(s.value.metadata.operationLabel || "-"), 1)])])]), l("div", So, [l("div", ko, [l("p", wo, u(n(o)("auditLog.detail.metadata")), 1)]), t[9] || (t[9] = l("hr", {
1042
1042
  class: "border-fm-color-border-default"
1043
- }, null, -1)), l("div", wo, [l("div", null, [l("p", Mo, u(n(o)("auditLog.detail.resolvedFrom")), 1), l("p", Fo, u(at(s.value.metadata.resolvedFrom)), 1)]), (s.value.metadata.resolvedFrom === "permissionSet" || s.value.metadata.resolvedFrom === "systemPermissionSet") && (s.value.metadata.permissionSetName || s.value.metadata.permissionSetId) ? (f(), S("div", Do, [l("p", Io, u(n(o)("auditLog.detail.permissionSet")), 1), s.value.metadata.permissionSetName ? (f(), S("p", Oo, u(s.value.metadata.permissionSetName), 1)) : C("", !0), s.value.metadata.permissionSetId ? (f(), S("p", To, u(s.value.metadata.permissionSetId), 1)) : C("", !0)])) : C("", !0), s.value.metadata.reason ? (f(), S("div", jo, [l("p", Po, u(n(o)("auditLog.detail.reason")), 1), l("p", Vo, u(s.value.metadata.reason), 1)])) : C("", !0), l("div", null, [l("p", Ao, u(n(o)("auditLog.detail.requestMethod")), 1), l("p", Eo, u(lt(s.value)), 1)]), l("div", null, [l("p", Ro, u(n(o)("auditLog.detail.requestPath")), 1), l("p", Co, u(s.value.metadata.requestPath || "-"), 1)]), s.value.metadata.trace && s.value.metadata.trace.length > 0 ? (f(), S("div", Uo, [l("p", $o, u(n(o)("auditLog.detail.permissionTrace")), 1), l("ol", Yo, [(f(!0), S(ee, null, ue(s.value.metadata.trace, (d, Q) => (f(), S("li", {
1044
- key: Q,
1043
+ }, null, -1)), l("div", Mo, [l("div", null, [l("p", Fo, u(n(o)("auditLog.detail.resolvedFrom")), 1), l("p", Do, u(lt(s.value.metadata.resolvedFrom)), 1)]), (s.value.metadata.resolvedFrom === "permissionSet" || s.value.metadata.resolvedFrom === "systemPermissionSet") && (s.value.metadata.permissionSetName || s.value.metadata.permissionSetId) ? (h(), I("div", Io, [l("p", Oo, u(n(o)("auditLog.detail.permissionSet")), 1), s.value.metadata.permissionSetName ? (h(), I("p", To, u(s.value.metadata.permissionSetName), 1)) : N("", !0), s.value.metadata.permissionSetId ? (h(), I("p", jo, u(s.value.metadata.permissionSetId), 1)) : N("", !0)])) : N("", !0), s.value.metadata.reason ? (h(), I("div", Po, [l("p", Vo, u(n(o)("auditLog.detail.reason")), 1), l("p", Ao, u(s.value.metadata.reason), 1)])) : N("", !0), l("div", null, [l("p", Eo, u(n(o)("auditLog.detail.requestMethod")), 1), l("p", Ro, u(st(s.value)), 1)]), l("div", null, [l("p", Co, u(n(o)("auditLog.detail.requestPath")), 1), l("p", Uo, u(s.value.metadata.requestPath || "-"), 1)]), s.value.metadata.trace && s.value.metadata.trace.length > 0 ? (h(), I("div", $o, [l("p", Yo, u(n(o)("auditLog.detail.permissionTrace")), 1), l("ol", No, [(h(!0), I(Z, null, ie(s.value.metadata.trace, (d, X) => (h(), I("li", {
1044
+ key: X,
1045
1045
  class: "flex items-center gap-6"
1046
- }, [l("span", No, u(Q + 1), 1), l("span", Bo, u(d), 1), Q < s.value.metadata.trace.length - 1 ? (f(), S("span", Ko, "→")) : C("", !0)]))), 128))])])) : C("", !0), c.value ? (f(), S("div", zo, [l("p", qo, u(n(o)("auditLog.detail.requestBody")), 1), l("pre", Ho, u(c.value), 1)])) : C("", !0)])])])) : C("", !0)]),
1046
+ }, [l("span", Bo, u(X + 1), 1), l("span", Ko, u(d), 1), X < s.value.metadata.trace.length - 1 ? (h(), I("span", zo, "→")) : N("", !0)]))), 128))])])) : N("", !0), c.value ? (h(), I("div", qo, [l("p", Ho, u(n(o)("auditLog.detail.requestBody")), 1), l("pre", Wo, u(c.value), 1)])) : N("", !0)])])])) : N("", !0)]),
1047
1047
  _: 1
1048
1048
  }, 8, ["header", "model-value"])], 64);
1049
1049
  };
1050
1050
  }
1051
- }), da = /* @__PURE__ */ Ot(Go, [["__scopeId", "data-v-61b74784"]]);
1051
+ }), ca = /* @__PURE__ */ Tt(Xo, [["__scopeId", "data-v-cf386576"]]);
1052
1052
  export {
1053
- da as default
1053
+ ca as default
1054
1054
  };