@feedmepos/mf-hrm-portal 1.1.3-dev.8 → 1.1.3-dev.9

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-CVOicxwC.js → AuditLogList-FDOzktEG.js} +101 -105
  2. package/dist/{EmployeeList-CSBiU32b.js → EmployeeList-BlULf09V.js} +5 -5
  3. package/dist/{Main-D9xZDqBk.js → Main-BEXtYa2u.js} +5 -5
  4. package/dist/{Main-BTCSW3JL.js → Main-r19cnUfU.js} +8 -8
  5. package/dist/{PermissionSetList-r1ZvAW01.js → PermissionSetList-CNfiMPnB.js} +3 -3
  6. package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DXsl8Y5d.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Bu-eBtus.js} +389 -389
  7. package/dist/{RoleList-Ca2gg1OL.js → RoleList-BGmWrKAP.js} +6 -6
  8. package/dist/TeamMemberList-_DLS33js.js +965 -0
  9. package/dist/{TimesheetList-DGRLp8ZY.js → TimesheetList-_iQScXAp.js} +6 -6
  10. package/dist/{app-c-GiPrdn.js → app-BwF4Swnp.js} +16 -8
  11. package/dist/app.js +1 -1
  12. package/dist/{dayjs.min-CJ2WQsea.js → dayjs.min-DVWcfk3W.js} +1 -1
  13. package/dist/{employee-8oXtifwK.js → employee-09CJRs3Q.js} +3 -3
  14. package/dist/{index-DSwL5tAm.js → index-BIzqz5Rs.js} +5 -3
  15. package/dist/{index-AdCh0qd6.js → index-C-0bzcOw.js} +1 -1
  16. package/dist/{lodash-C7JpKSnW.js → lodash-f-cIBAzV.js} +1 -1
  17. package/dist/{team-Fs4KPQg5.js → team-doxRPLFp.js} +1 -1
  18. package/dist/{timesheet-D05cQ6a7.js → timesheet-Dd_xXYAz.js} +2 -2
  19. package/dist/tsconfig.app.tsbuildinfo +1 -1
  20. package/dist/{useAppStore-D1eLjzj4.js → useAppStore-CbDp946u.js} +1 -1
  21. package/dist/{useLoading-DB77wFeJ.js → useLoading-s8etox00.js} +1 -1
  22. package/dist/{useReportPermissions-p2VZ4ugv.js → useReportPermissions-BphupOls.js} +2 -2
  23. package/dist/views/team/locales/index.d.ts +8 -0
  24. package/package.json +2 -2
  25. package/dist/TeamMemberList-D__tUUst.js +0 -945
@@ -1,22 +1,22 @@
1
- import { defineComponent as le, ref as f, computed as k, watch as B, resolveComponent as w, createElementBlock as r, openBlock as d, Fragment as D, createVNode as n, unref as i, withCtx as V, createElementVNode as e, createBlock as K, createCommentVNode as p, toDisplayString as s, renderList as se } from "vue";
2
- import { d as ie } from "./dayjs.min-CJ2WQsea.js";
1
+ import { defineComponent as le, ref as f, computed as k, watch as U, resolveComponent as w, createElementBlock as u, openBlock as d, Fragment as V, createVNode as n, unref as i, withCtx as j, createElementVNode as e, createBlock as K, createCommentVNode as _, toDisplayString as s, renderList as se } from "vue";
2
+ import { d as ie } from "./dayjs.min-DVWcfk3W.js";
3
3
  import { useI18n as ne, useCoreStore as de } from "@feedmepos/mf-common";
4
- import { _ as re, G as ce } from "./app-c-GiPrdn.js";
4
+ import { _ as re, G as ce } from "./app-BwF4Swnp.js";
5
5
  import { _ as ue } from "./PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js";
6
6
  import { _ as me } from "./index.vue_vue_type_script_setup_true_lang-Vc5ARO29.js";
7
7
  import { components as $ } from "@feedmepos/ui-library";
8
- import { g as fe, b as pe, p as z } from "./index-DSwL5tAm.js";
9
- import { u as _e } from "./team-Fs4KPQg5.js";
8
+ import { g as fe, b as pe, p as z } from "./index-BIzqz5Rs.js";
9
+ import { u as _e } from "./team-doxRPLFp.js";
10
10
  import { S as C } from "./SelectFilter-NbXrJ4iH.js";
11
11
  const ve = "/audit-logs", ge = {
12
- async read(c) {
12
+ async read(r) {
13
13
  return fe(
14
14
  await pe().get(ve, {
15
15
  params: {
16
- limit: (c == null ? void 0 : c.limit) ?? 100,
17
- offset: (c == null ? void 0 : c.offset) ?? 0,
18
- ...c != null && c.from ? { from: c.from } : {},
19
- ...c != null && c.to ? { to: c.to } : {}
16
+ limit: (r == null ? void 0 : r.limit) ?? 100,
17
+ offset: (r == null ? void 0 : r.offset) ?? 0,
18
+ ...r != null && r.from ? { from: r.from } : {},
19
+ ...r != null && r.to ? { to: r.to } : {}
20
20
  }
21
21
  })
22
22
  );
@@ -40,125 +40,121 @@ const ve = "/audit-logs", ge = {
40
40
  class: "flex shrink-0 items-center justify-end border-t border-fm-color-border-default py-4"
41
41
  }, Ie = {
42
42
  class: "text-sm text-fm-color-typo-secondary"
43
- }, je = {
43
+ }, Te = {
44
44
  key: 0,
45
45
  class: "space-y-12 p-4 text-sm"
46
- }, Te = {
47
- class: "rounded-lg border border-fm-color-border-default"
48
46
  }, De = {
49
- class: "flex items-start justify-between gap-8 p-12"
47
+ class: "rounded-lg border border-fm-color-border-default"
50
48
  }, Ve = {
49
+ class: "flex items-start justify-between gap-8 p-12"
50
+ }, je = {
51
51
  class: "text-base font-bold leading-snug text-fm-color-typo-primary"
52
52
  }, Ce = {
53
- class: "space-y-12 p-12"
53
+ class: "font-semibold"
54
54
  }, Oe = {
55
- class: "text-xs text-fm-color-typo-secondary"
55
+ class: "space-y-12 p-12"
56
56
  }, Pe = {
57
- class: "font-semibold"
57
+ class: "text-xs text-fm-color-typo-secondary"
58
58
  }, Fe = {
59
- key: 0
59
+ class: "font-semibold"
60
60
  }, Ne = {
61
- class: "text-xs text-fm-color-typo-secondary"
61
+ key: 0
62
62
  }, Ue = {
63
- class: "font-semibold"
64
- }, Be = {
65
63
  class: "text-xs text-fm-color-typo-secondary"
64
+ }, Be = {
65
+ class: "font-semibold"
66
66
  }, Ae = {
67
- class: "break-all font-mono text-xs font-semibold"
68
- }, Ee = {
69
67
  class: "text-xs text-fm-color-typo-secondary"
68
+ }, Ee = {
69
+ class: "break-all font-mono text-xs font-semibold"
70
70
  }, Re = {
71
- class: "font-semibold"
71
+ class: "text-xs text-fm-color-typo-secondary"
72
72
  }, qe = {
73
- key: 1
73
+ class: "font-semibold"
74
74
  }, Me = {
75
75
  class: "text-xs text-fm-color-typo-secondary"
76
76
  }, Ke = {
77
77
  class: "font-semibold"
78
78
  }, $e = {
79
- class: "text-xs text-fm-color-typo-secondary"
79
+ key: 1
80
80
  }, ze = {
81
- class: "font-semibold"
81
+ class: "text-xs text-fm-color-typo-secondary"
82
82
  }, Ye = {
83
- key: 2
83
+ class: "font-semibold"
84
84
  }, Ge = {
85
85
  class: "text-xs text-fm-color-typo-secondary"
86
86
  }, Je = {
87
- class: "font-semibold"
87
+ class: "break-all font-mono text-xs font-semibold"
88
88
  }, Ze = {
89
89
  class: "text-xs text-fm-color-typo-secondary"
90
90
  }, He = {
91
- class: "break-all font-mono text-xs font-semibold"
91
+ class: "font-semibold"
92
92
  }, Qe = {
93
- class: "text-xs text-fm-color-typo-secondary"
93
+ class: "rounded-lg border border-fm-color-border-default"
94
94
  }, We = {
95
- class: "font-semibold"
95
+ class: "p-12"
96
96
  }, Xe = {
97
- class: "rounded-lg border border-fm-color-border-default"
97
+ class: "text-base font-bold text-fm-color-typo-primary"
98
98
  }, et = {
99
- class: "p-12"
99
+ class: "space-y-12 p-12"
100
100
  }, tt = {
101
- class: "text-base font-bold text-fm-color-typo-primary"
101
+ key: 0
102
102
  }, ot = {
103
- class: "space-y-12 p-12"
103
+ class: "text-xs text-fm-color-typo-secondary"
104
104
  }, at = {
105
- key: 0
105
+ class: "font-semibold"
106
106
  }, lt = {
107
107
  class: "text-xs text-fm-color-typo-secondary"
108
108
  }, st = {
109
109
  class: "font-semibold"
110
110
  }, it = {
111
- class: "text-xs text-fm-color-typo-secondary"
111
+ key: 1
112
112
  }, nt = {
113
- class: "font-semibold"
113
+ class: "text-xs text-fm-color-typo-secondary"
114
114
  }, dt = {
115
- key: 1
115
+ class: "font-semibold"
116
116
  }, rt = {
117
- class: "text-xs text-fm-color-typo-secondary"
117
+ class: "break-all font-mono text-xs text-fm-color-typo-secondary"
118
118
  }, ct = {
119
119
  class: "font-semibold"
120
120
  }, ut = {
121
- class: "break-all font-mono text-xs text-fm-color-typo-secondary"
122
- }, mt = {
123
- class: "font-semibold"
124
- }, ft = {
125
121
  key: 0,
126
122
  class: "break-all font-mono text-xs text-fm-color-typo-secondary"
127
- }, pt = {
123
+ }, mt = {
128
124
  key: 2
129
- }, _t = {
125
+ }, ft = {
130
126
  class: "text-xs text-fm-color-typo-secondary"
131
- }, vt = {
127
+ }, pt = {
132
128
  class: "mt-4 space-y-4"
133
- }, gt = {
129
+ }, _t = {
134
130
  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"
135
- }, ht = {
131
+ }, vt = {
136
132
  class: "text-xs font-semibold"
137
- }, xt = {
133
+ }, gt = {
138
134
  key: 0,
139
135
  class: "text-fm-color-typo-secondary"
140
- }, bt = {
136
+ }, ht = {
141
137
  class: "text-xs text-fm-color-typo-secondary"
142
- }, yt = {
138
+ }, xt = {
143
139
  class: "font-mono text-xs font-semibold"
144
- }, Lt = {
140
+ }, bt = {
145
141
  class: "text-xs text-fm-color-typo-secondary"
146
- }, kt = {
142
+ }, yt = {
147
143
  class: "break-all font-mono text-xs font-semibold"
148
- }, St = {
144
+ }, Lt = {
149
145
  key: 3
150
- }, wt = {
146
+ }, kt = {
151
147
  class: "text-xs text-fm-color-typo-secondary"
152
- }, It = {
148
+ }, St = {
153
149
  class: "mt-4 max-h-[400px] overflow-auto rounded bg-gray-100 p-8 font-mono text-xs leading-relaxed shadow-inner"
154
- }, A = 100, Bt = /* @__PURE__ */ le({
150
+ }, B = 100, Nt = /* @__PURE__ */ le({
155
151
  __name: "AuditLogList",
156
- setup(c) {
152
+ setup(r) {
157
153
  const {
158
154
  t: o
159
- } = ne(), Y = de(), v = _e(), I = f(!1), E = f([]), l = f(null), O = f(!1), _ = f(1), j = f(!1), R = ie().format("YYYY-MM-DD"), S = f({
160
- startDate: R,
161
- endDate: R
155
+ } = ne(), Y = de(), v = _e(), I = f(!1), A = f([]), l = f(null), O = f(!1), p = f(1), T = f(!1), E = ie().format("YYYY-MM-DD"), S = f({
156
+ startDate: E,
157
+ endDate: E
162
158
  }), g = f(), h = f(), x = f(), b = f(), G = k(() => v.members.map((a) => ({
163
159
  label: a.name,
164
160
  value: a.doc.userId
@@ -196,10 +192,10 @@ const ve = "/audit-logs", ge = {
196
192
  } = S.value;
197
193
  return a && t ? `${a} – ${t}` : a || t || o("auditLog.dateRange.placeholder");
198
194
  }), P = k(() => {
199
- let a = E.value;
195
+ let a = A.value;
200
196
  return g.value && g.value.length > 0 && (a = a.filter((t) => g.value.includes(t.userId))), h.value && h.value.length > 0 && (a = a.filter((t) => h.value.includes(t.subject))), x.value && x.value.length > 0 && (a = a.filter((t) => x.value.includes(t.outcome))), b.value && b.value.length > 0 && (a = a.filter((t) => b.value.includes(t.action))), a;
201
197
  });
202
- function F(a) {
198
+ function R(a) {
203
199
  var t;
204
200
  return ((t = z.find((m) => m.subject === a)) == null ? void 0 : t.label) ?? ce[a];
205
201
  }
@@ -234,7 +230,7 @@ const ve = "/audit-logs", ge = {
234
230
  cellClass: "text-left"
235
231
  },
236
232
  cell(a) {
237
- const t = a.row.original, m = F(t.subject);
233
+ const t = a.row.original, m = R(t.subject);
238
234
  return m ? n("div", {
239
235
  class: "text-left"
240
236
  }, [n("span", null, [m]), n("p", {
@@ -269,17 +265,17 @@ const ve = "/audit-logs", ge = {
269
265
  }
270
266
  }];
271
267
  function M(a, t = !1) {
272
- const [m, y, N] = a.split("-").map(Number), L = new Date(m, y - 1, N);
268
+ const [m, y, F] = a.split("-").map(Number), L = new Date(m, y - 1, F);
273
269
  return t && L.setDate(L.getDate() + 1), L.toISOString().slice(0, 19).replace("T", " ");
274
270
  }
275
- async function T() {
271
+ async function D() {
276
272
  I.value = !0;
277
273
  try {
278
274
  const {
279
275
  startDate: a,
280
276
  endDate: t
281
- } = S.value, m = (_.value - 1) * A, [y] = await Promise.all([ge.read({
282
- limit: A,
277
+ } = S.value, m = (p.value - 1) * B, [y] = await Promise.all([ge.read({
278
+ limit: B,
283
279
  offset: m,
284
280
  // Convert local date boundaries to UTC ISO strings so ClickHouse
285
281
  // (which stores timestamps in UTC) receives the correct range.
@@ -290,21 +286,21 @@ const ve = "/audit-logs", ge = {
290
286
  to: M(t, !0)
291
287
  } : {}
292
288
  }), v.readTeamMembers()]);
293
- E.value = y, j.value = y.length === A;
289
+ A.value = y, T.value = y.length === B;
294
290
  } finally {
295
291
  I.value = !1;
296
292
  }
297
293
  }
298
- B(S, () => {
299
- _.value = 1, T();
300
- }), B([g, h, x, b], () => {
301
- _.value = 1;
294
+ U(S, () => {
295
+ p.value = 1, D();
296
+ }), U([g, h, x, b], () => {
297
+ p.value = 1;
302
298
  });
303
299
  async function X() {
304
- _.value > 1 && (_.value--, await T());
300
+ p.value > 1 && (p.value--, await D());
305
301
  }
306
302
  async function ee() {
307
- j.value && (_.value++, await T());
303
+ T.value && (p.value++, await D());
308
304
  }
309
305
  function te(a) {
310
306
  l.value = a, O.value = !0;
@@ -312,28 +308,28 @@ const ve = "/audit-logs", ge = {
312
308
  function oe() {
313
309
  O.value = !1, l.value = null;
314
310
  }
315
- return B(Y.currentBusiness, (a) => {
316
- a && (_.value = 1, T());
311
+ return U(Y.currentBusiness, (a) => {
312
+ a && (p.value = 1, D());
317
313
  }, {
318
314
  immediate: !0
319
315
  }), (a, t) => {
320
- const m = w("FmChip"), y = w("FmDateRangePicker"), N = w("FmTable"), L = w("FmButton"), ae = w("FmSideSheet");
321
- return d(), r(D, null, [n(ue, {
316
+ const m = w("FmChip"), y = w("FmDateRangePicker"), F = w("FmTable"), L = w("FmButton"), ae = w("FmSideSheet");
317
+ return d(), u(V, null, [n(ue, {
322
318
  heading: i(o)("auditLog.title")
323
319
  }, {
324
- default: V(() => [e("div", he, [e("div", xe, [n(y, {
320
+ default: j(() => [e("div", he, [e("div", xe, [n(y, {
325
321
  modelValue: S.value,
326
- "onUpdate:modelValue": t[0] || (t[0] = (u) => S.value = u),
322
+ "onUpdate:modelValue": t[0] || (t[0] = (c) => S.value = c),
327
323
  "show-predefined-range": ""
328
324
  }, {
329
- "trigger-button": V(() => [n(m, {
325
+ "trigger-button": j(() => [n(m, {
330
326
  label: Q.value,
331
327
  icon: "calendar_month"
332
328
  }, null, 8, ["label"])]),
333
329
  _: 1
334
330
  }, 8, ["modelValue"]), e("div", be, [n(C, {
335
331
  modelValue: g.value,
336
- "onUpdate:modelValue": t[1] || (t[1] = (u) => g.value = u),
332
+ "onUpdate:modelValue": t[1] || (t[1] = (c) => g.value = c),
337
333
  items: G.value,
338
334
  multiple: "",
339
335
  variant: "dark",
@@ -342,7 +338,7 @@ const ve = "/audit-logs", ge = {
342
338
  "chip-icon": "account_circle"
343
339
  }, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])]), e("div", ye, [n(C, {
344
340
  modelValue: h.value,
345
- "onUpdate:modelValue": t[2] || (t[2] = (u) => h.value = u),
341
+ "onUpdate:modelValue": t[2] || (t[2] = (c) => h.value = c),
346
342
  items: J.value,
347
343
  multiple: "",
348
344
  variant: "dark",
@@ -351,7 +347,7 @@ const ve = "/audit-logs", ge = {
351
347
  "chip-icon": "badge"
352
348
  }, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])]), e("div", Le, [n(C, {
353
349
  modelValue: b.value,
354
- "onUpdate:modelValue": t[3] || (t[3] = (u) => b.value = u),
350
+ "onUpdate:modelValue": t[3] || (t[3] = (c) => b.value = c),
355
351
  items: Z.value,
356
352
  multiple: "",
357
353
  variant: "dark",
@@ -360,7 +356,7 @@ const ve = "/audit-logs", ge = {
360
356
  searchable: !1
361
357
  }, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])]), e("div", ke, [n(C, {
362
358
  modelValue: x.value,
363
- "onUpdate:modelValue": t[4] || (t[4] = (u) => x.value = u),
359
+ "onUpdate:modelValue": t[4] || (t[4] = (c) => x.value = c),
364
360
  items: H.value,
365
361
  multiple: "",
366
362
  variant: "dark",
@@ -375,7 +371,7 @@ const ve = "/audit-logs", ge = {
375
371
  }, null, 8, ["title", "subtitle"])) : (d(), K(re, {
376
372
  key: 1
377
373
  }, {
378
- default: V(() => [e("div", Se, [n(N, {
374
+ default: j(() => [e("div", Se, [n(F, {
379
375
  "column-defs": W,
380
376
  "row-data": P.value,
381
377
  "page-size": P.value.length,
@@ -383,22 +379,22 @@ const ve = "/audit-logs", ge = {
383
379
  "pin-header-row": "",
384
380
  "hide-footer": "",
385
381
  class: "min-h-0 flex-1 cursor-pointer",
386
- onRowClick: t[5] || (t[5] = (u) => te(u.original))
387
- }, null, 8, ["row-data", "page-size", "loading"]), _.value > 1 || j.value ? (d(), r("div", we, [n(L, {
382
+ onRowClick: t[5] || (t[5] = (c) => te(c.original))
383
+ }, null, 8, ["row-data", "page-size", "loading"]), p.value > 1 || T.value ? (d(), u("div", we, [n(L, {
388
384
  variant: "tertiary",
389
385
  icon: "chevron_left",
390
- disabled: _.value === 1,
386
+ disabled: p.value === 1,
391
387
  "aria-label": i(o)("auditLog.pagination.prevPage"),
392
388
  onClick: X
393
389
  }, null, 8, ["disabled", "aria-label"]), e("span", Ie, s(i(o)("auditLog.pagination.page", {
394
- page: _.value
390
+ page: p.value
395
391
  })), 1), n(L, {
396
392
  variant: "tertiary",
397
393
  icon: "chevron_right",
398
- disabled: !j.value,
394
+ disabled: !T.value,
399
395
  "aria-label": i(o)("auditLog.pagination.nextPage"),
400
396
  onClick: ee
401
- }, null, 8, ["disabled", "aria-label"])])) : p("", !0)])]),
397
+ }, null, 8, ["disabled", "aria-label"])])) : _("", !0)])]),
402
398
  _: 1
403
399
  }))])]),
404
400
  _: 1
@@ -407,31 +403,31 @@ const ve = "/audit-logs", ge = {
407
403
  "model-value": O.value,
408
404
  "max-width": 480,
409
405
  "dismiss-away": "",
410
- "onUpdate:modelValue": t[6] || (t[6] = (u) => {
411
- u || oe();
406
+ "onUpdate:modelValue": t[6] || (t[6] = (c) => {
407
+ c || oe();
412
408
  })
413
409
  }, {
414
- default: V(() => [l.value ? (d(), r("div", je, [e("div", Te, [e("div", De, [e("span", Ve, s(F(l.value.subject) || l.value.subject), 1), n(m, {
410
+ default: j(() => [l.value ? (d(), u("div", Te, [e("div", De, [e("div", Ve, [e("span", je, [e("p", Ce, s(l.value.metadata.operationLabel), 1)]), n(m, {
415
411
  variant: q[l.value.outcome] ?? "neutral",
416
412
  label: l.value.outcome,
417
413
  compact: ""
418
414
  }, null, 8, ["variant", "label"])]), t[7] || (t[7] = e("hr", {
419
415
  class: "border-fm-color-border-default"
420
- }, null, -1)), e("div", Ce, [e("div", null, [e("p", Oe, s(i(o)("auditLog.detail.timestamp")), 1), e("p", Pe, s(new Date(l.value.timestamp).toLocaleString()), 1)]), i(v).userIdToName[l.value.userId] ? (d(), r("div", Fe, [e("p", Ne, s(i(o)("auditLog.detail.user")), 1), e("p", Ue, s(i(v).userIdToName[l.value.userId]), 1)])) : p("", !0), e("div", null, [e("p", Be, s(i(o)("auditLog.detail.email")), 1), e("p", Ae, s(i(v).userIdToEmail[l.value.userId] || l.value.userId), 1)]), e("div", null, [e("p", Ee, s(i(o)("auditLog.detail.action")), 1), e("p", Re, s(l.value.action), 1)]), l.value.metadata.operationLabel ? (d(), r("div", qe, [e("p", Me, s(i(o)("auditLog.detail.operation")), 1), e("p", Ke, s(l.value.metadata.operationLabel), 1)])) : p("", !0), e("div", null, [e("p", $e, s(i(o)("auditLog.detail.subject")), 1), e("p", ze, s(F(l.value.subject) || l.value.subject), 1)]), l.value.field ? (d(), r("div", Ye, [e("p", Ge, s(i(o)("auditLog.detail.field")), 1), e("p", Je, s(l.value.field), 1)])) : p("", !0), e("div", null, [e("p", Ze, s(i(o)("auditLog.detail.business")), 1), e("p", He, s(l.value.businessId || "-"), 1)]), e("div", null, [e("p", Qe, s(i(o)("auditLog.detail.restaurant")), 1), e("p", We, s(l.value.restaurantId || "-"), 1)])])]), e("div", Xe, [e("div", et, [e("p", tt, s(i(o)("auditLog.detail.metadata")), 1)]), t[8] || (t[8] = e("hr", {
416
+ }, null, -1)), e("div", Oe, [e("div", null, [e("p", Pe, s(i(o)("auditLog.detail.timestamp")), 1), e("p", Fe, s(new Date(l.value.timestamp).toLocaleString()), 1)]), i(v).userIdToName[l.value.userId] ? (d(), u("div", Ne, [e("p", Ue, s(i(o)("auditLog.detail.user")), 1), e("p", Be, s(i(v).userIdToName[l.value.userId]), 1)])) : _("", !0), e("div", null, [e("p", Ae, s(i(o)("auditLog.detail.email")), 1), e("p", Ee, s(i(v).userIdToEmail[l.value.userId] || l.value.userId), 1)]), e("div", null, [e("p", Re, s(i(o)("auditLog.detail.action")), 1), e("p", qe, s(l.value.action), 1)]), e("div", null, [e("p", Me, s(i(o)("auditLog.detail.subject")), 1), e("p", Ke, s(R(l.value.subject) || l.value.subject), 1)]), l.value.field ? (d(), u("div", $e, [e("p", ze, s(i(o)("auditLog.detail.field")), 1), e("p", Ye, s(l.value.field), 1)])) : _("", !0), e("div", null, [e("p", Ge, s(i(o)("auditLog.detail.business")), 1), e("p", Je, s(l.value.businessId || "-"), 1)]), e("div", null, [e("p", Ze, s(i(o)("auditLog.detail.restaurant")), 1), e("p", He, s(l.value.restaurantId || "-"), 1)])])]), e("div", Qe, [e("div", We, [e("p", Xe, s(i(o)("auditLog.detail.metadata")), 1)]), t[8] || (t[8] = e("hr", {
421
417
  class: "border-fm-color-border-default"
422
- }, null, -1)), e("div", ot, [l.value.metadata.reason ? (d(), r("div", at, [e("p", lt, s(i(o)("auditLog.detail.reason")), 1), e("p", st, s(l.value.metadata.reason), 1)])) : p("", !0), e("div", null, [e("p", it, s(i(o)("auditLog.detail.resolvedFrom")), 1), e("p", nt, s(l.value.metadata.resolvedFrom), 1)]), l.value.metadata.permissionSetId ? (d(), r("div", dt, [e("p", rt, s(i(o)("auditLog.detail.permissionSet")), 1), l.value.metadata.resolvedFrom === "systemPermissionSet" ? (d(), r(D, {
418
+ }, null, -1)), e("div", et, [l.value.metadata.reason ? (d(), u("div", tt, [e("p", ot, s(i(o)("auditLog.detail.reason")), 1), e("p", at, s(l.value.metadata.reason), 1)])) : _("", !0), e("div", null, [e("p", lt, s(i(o)("auditLog.detail.resolvedFrom")), 1), e("p", st, s(l.value.metadata.resolvedFrom), 1)]), l.value.metadata.permissionSetId ? (d(), u("div", it, [e("p", nt, s(i(o)("auditLog.detail.permissionSet")), 1), l.value.metadata.resolvedFrom === "systemPermissionSet" ? (d(), u(V, {
423
419
  key: 0
424
- }, [e("p", ct, s(l.value.metadata.permissionSetName) + " (system)", 1), e("p", ut, s(l.value.metadata.permissionSetId), 1)], 64)) : (d(), r(D, {
420
+ }, [e("p", dt, s(l.value.metadata.permissionSetName) + " (system)", 1), e("p", rt, s(l.value.metadata.permissionSetId), 1)], 64)) : (d(), u(V, {
425
421
  key: 1
426
- }, [e("p", mt, s(l.value.metadata.permissionSetName || l.value.metadata.permissionSetId), 1), l.value.metadata.permissionSetName ? (d(), r("p", ft, s(l.value.metadata.permissionSetId), 1)) : p("", !0)], 64))])) : p("", !0), l.value.metadata.trace && l.value.metadata.trace.length > 0 ? (d(), r("div", pt, [e("p", _t, s(i(o)("auditLog.detail.permissionTrace")), 1), e("ol", vt, [(d(!0), r(D, null, se(l.value.metadata.trace, (u, U) => (d(), r("li", {
427
- key: U,
422
+ }, [e("p", ct, s(l.value.metadata.permissionSetName || l.value.metadata.permissionSetId), 1), l.value.metadata.permissionSetName ? (d(), u("p", ut, s(l.value.metadata.permissionSetId), 1)) : _("", !0)], 64))])) : _("", !0), l.value.metadata.trace && l.value.metadata.trace.length > 0 ? (d(), u("div", mt, [e("p", ft, s(i(o)("auditLog.detail.permissionTrace")), 1), e("ol", pt, [(d(!0), u(V, null, se(l.value.metadata.trace, (c, N) => (d(), u("li", {
423
+ key: N,
428
424
  class: "flex items-center gap-6"
429
- }, [e("span", gt, s(U + 1), 1), e("span", ht, s(u), 1), U < l.value.metadata.trace.length - 1 ? (d(), r("span", xt, "→")) : p("", !0)]))), 128))])])) : p("", !0), e("div", null, [e("p", bt, s(i(o)("auditLog.detail.requestMethod")), 1), e("p", yt, s(l.value.metadata.requestMethod), 1)]), e("div", null, [e("p", Lt, s(i(o)("auditLog.detail.requestPath")), 1), e("p", kt, s(l.value.metadata.requestPath), 1)]), l.value.metadata.requestBody && Object.keys(l.value.metadata.requestBody).length > 0 ? (d(), r("div", St, [e("p", wt, s(i(o)("auditLog.detail.requestBody")), 1), e("pre", It, s(JSON.stringify(l.value.metadata.requestBody, null, 2)), 1)])) : p("", !0)])])])) : p("", !0)]),
425
+ }, [e("span", _t, s(N + 1), 1), e("span", vt, s(c), 1), N < l.value.metadata.trace.length - 1 ? (d(), u("span", gt, "→")) : _("", !0)]))), 128))])])) : _("", !0), e("div", null, [e("p", ht, s(i(o)("auditLog.detail.requestMethod")), 1), e("p", xt, s(l.value.metadata.requestMethod), 1)]), e("div", null, [e("p", bt, s(i(o)("auditLog.detail.requestPath")), 1), e("p", yt, s(l.value.metadata.requestPath), 1)]), l.value.metadata.requestBody && Object.keys(l.value.metadata.requestBody).length > 0 ? (d(), u("div", Lt, [e("p", kt, s(i(o)("auditLog.detail.requestBody")), 1), e("pre", St, s(JSON.stringify(l.value.metadata.requestBody, null, 2)), 1)])) : _("", !0)])])])) : _("", !0)]),
430
426
  _: 1
431
427
  }, 8, ["header", "model-value"])], 64);
432
428
  };
433
429
  }
434
430
  });
435
431
  export {
436
- Bt as default
432
+ Nt as default
437
433
  };
@@ -2,14 +2,14 @@ import { createElementBlock as $, openBlock as _, createElementVNode as d, toRaw
2
2
  import { useCoreStore as Fe, useI18n as xe, RestaurantSelector as ce } from "@feedmepos/mf-common";
3
3
  import { useSnackbar as we, components as ke, useDialog as Ne, useBreakpoints as Be, FmButtonVariant as De } from "@feedmepos/ui-library";
4
4
  import { _ as Pe, S as pe } from "./SelectFilter-NbXrJ4iH.js";
5
- import { _ as Te } from "./app-c-GiPrdn.js";
5
+ import { _ as Te } from "./app-BwF4Swnp.js";
6
6
  import { _ as ze } from "./index.vue_vue_type_script_setup_true_lang-Vc5ARO29.js";
7
7
  import { u as Ue } from "./useSearch-B6WK1LBB.js";
8
- import { u as Se, E as Ae } from "./employee-8oXtifwK.js";
9
- import { l as je } from "./lodash-C7JpKSnW.js";
8
+ import { u as Se, E as Ae } from "./employee-09CJRs3Q.js";
9
+ import { l as je } from "./lodash-f-cIBAzV.js";
10
10
  import { u as Ke, _ as ve, a as fe, b as Ge } from "./useRestaurantMap-D5BNPLKh.js";
11
- import { u as qe } from "./useLoading-DB77wFeJ.js";
12
- import { u as ue } from "./useAppStore-D1eLjzj4.js";
11
+ import { u as qe } from "./useLoading-s8etox00.js";
12
+ import { u as ue } from "./useAppStore-CbDp946u.js";
13
13
  const He = {};
14
14
  function Je(S, O) {
15
15
  return _(), $("div", null, [...O[0] || (O[0] = [
@@ -4,13 +4,13 @@ import { useI18n as N } from "@feedmepos/mf-common";
4
4
  import { _ as g } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
5
5
  import { _ as h } from "./PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js";
6
6
  import "@feedmepos/ui-library";
7
- import "./index-DSwL5tAm.js";
8
- import { R as v } from "./app-c-GiPrdn.js";
9
- import "./useAppStore-D1eLjzj4.js";
10
- import "./index-AdCh0qd6.js";
7
+ import "./index-BIzqz5Rs.js";
8
+ import { R as v } from "./app-BwF4Swnp.js";
9
+ import "./useAppStore-CbDp946u.js";
10
+ import "./index-C-0bzcOw.js";
11
11
  /* empty css */
12
12
  /* empty css */
13
- import "./team-Fs4KPQg5.js";
13
+ import "./team-doxRPLFp.js";
14
14
  const w = { class: "space-y-24" }, P = /* @__PURE__ */ V({
15
15
  __name: "Main",
16
16
  setup(x) {
@@ -3,16 +3,16 @@ import { useRouter as of, useRoute as cf } from "vue-router";
3
3
  import { useCoreStore as hf, useI18n as uf } from "@feedmepos/mf-common";
4
4
  import { _ as vf } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
5
5
  import { _ as pf } from "./PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js";
6
- import { u as df } from "./useAppStore-D1eLjzj4.js";
6
+ import { u as df } from "./useAppStore-CbDp946u.js";
7
7
  import "@feedmepos/ui-library";
8
8
  /* empty css */
9
- import { u as mf } from "./employee-8oXtifwK.js";
10
- import "./lodash-C7JpKSnW.js";
11
- import "./index-DSwL5tAm.js";
12
- import { R as vt } from "./app-c-GiPrdn.js";
13
- import "./useReportPermissions-p2VZ4ugv.js";
14
- import "./dayjs.min-CJ2WQsea.js";
15
- import "./timesheet-D05cQ6a7.js";
9
+ import { u as mf } from "./employee-09CJRs3Q.js";
10
+ import "./lodash-f-cIBAzV.js";
11
+ import "./index-BIzqz5Rs.js";
12
+ import { R as vt } from "./app-BwF4Swnp.js";
13
+ import "./useReportPermissions-BphupOls.js";
14
+ import "./dayjs.min-DVWcfk3W.js";
15
+ import "./timesheet-Dd_xXYAz.js";
16
16
  var In = {};
17
17
  /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */
18
18
  var jt = {};
@@ -2,9 +2,9 @@ import { defineComponent as W, computed as g, resolveComponent as c, createEleme
2
2
  import { useI18n as j, useCoreStore as Y } from "@feedmepos/mf-common";
3
3
  import { useSnackbar as q, useDialog as Z, useBreakpoints as ee, components as se, FmButtonColorThemeVariant as te, FmButtonVariant as oe } from "@feedmepos/ui-library";
4
4
  import { _ as ne } from "./index.vue_vue_type_script_setup_true_lang-Vc5ARO29.js";
5
- import { z as le, u as K, m as G, n as ie, o as R, w as ae, x as re, A as me } from "./index-DSwL5tAm.js";
6
- import { u as ue } from "./useLoading-DB77wFeJ.js";
7
- import { a as ce } from "./PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DXsl8Y5d.js";
5
+ import { z as le, u as K, m as G, n as ie, o as R, w as ae, x as re, A as me } from "./index-BIzqz5Rs.js";
6
+ import { u as ue } from "./useLoading-s8etox00.js";
7
+ import { a as ce } from "./PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Bu-eBtus.js";
8
8
  const de = { class: "flex flex-row items-center gap-8" }, pe = /* @__PURE__ */ W({
9
9
  __name: "PermissionWithTooltip",
10
10
  props: {