@feedmepos/mf-hrm-portal 1.1.3-dev.1 → 1.1.3-dev.11

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 (49) hide show
  1. package/dist/AuditLogList-DJljqXNX.js +462 -0
  2. package/dist/EmployeeList-jh-Jtgn7.js +626 -0
  3. package/dist/{Main-VjhiuuHr.js → Main-Bjd4gY-V.js} +28 -27
  4. package/dist/{Main-D5YEKOpl.js → Main-pGBnqjr1.js} +10 -9
  5. package/dist/PermissionSetList-De_oM6zJ.js +323 -0
  6. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-HT8O-x5x.js +3092 -0
  7. package/dist/RoleList-Be2stivK.js +494 -0
  8. package/dist/TeamMemberList-BC0on98P.js +973 -0
  9. package/dist/{TimesheetList-BTTBjTrO.js → TimesheetList-BJNNbqeI.js} +25 -24
  10. package/dist/api/audit-log/index.d.ts +4 -0
  11. package/dist/api/index.d.ts +5 -0
  12. package/dist/api/report-query/index.d.ts +5 -0
  13. package/dist/api/team/index.d.ts +2 -5
  14. package/dist/{app-CfIHEA52.js → app-B6sFazWs.js} +1566 -922
  15. package/dist/app.js +4 -4
  16. package/dist/composables/useReportPermissions.d.ts +14 -0
  17. package/dist/{dayjs.min-C8cBXLt-.js → dayjs.min-DyrmuWSw.js} +1 -1
  18. package/dist/employee-CiqtFaEs.js +144 -0
  19. package/dist/helpers/permission-set.d.ts +37 -0
  20. package/dist/helpers/rule.d.ts +1 -1
  21. package/dist/index-CUEt2D4C.js +827 -0
  22. package/dist/index-CUtOR5dv.js +10340 -0
  23. package/dist/{lodash-0EOIqOEG.js → lodash-CudL7fSp.js} +1 -1
  24. package/dist/stores/permission-set.d.ts +15 -0
  25. package/dist/stores/team.d.ts +13 -4
  26. package/dist/style.css +1 -1
  27. package/dist/team-BzRey7P9.js +30 -0
  28. package/dist/{timesheet-DTI6G4DD.js → timesheet-ppNqE2ke.js} +2 -2
  29. package/dist/tsconfig.app.tsbuildinfo +1 -1
  30. package/dist/types/permission-set.d.ts +4 -0
  31. package/dist/types/report-query.d.ts +6 -0
  32. package/dist/{useAppStore-DCpMNDxE.js → useAppStore-lxDKLJN1.js} +34 -46
  33. package/dist/{useLoading-ChLCiMQj.js → useLoading-ib83IjNC.js} +1 -1
  34. package/dist/useReportPermissions-sw6kd_sS.js +65 -0
  35. package/dist/views/audit-log/locales/index.d.ts +48 -8
  36. package/dist/views/team/locales/index.d.ts +32 -8
  37. package/package.json +4 -2
  38. package/dist/AuditLogList-qGKeg-cd.js +0 -384
  39. package/dist/EmployeeList-BWDsSFoY.js +0 -607
  40. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-yghfcQRF.js +0 -3050
  41. package/dist/RoleList-CfPD_Gk_.js +0 -496
  42. package/dist/RolePermissionList-Cu1KTuuI.js +0 -285
  43. package/dist/TeamMemberList-DEYo6_pS.js +0 -949
  44. package/dist/employee-ChJpkvUF.js +0 -172
  45. package/dist/index-CgbDOn3W.js +0 -8411
  46. package/dist/team-C2muObo8.js +0 -26
  47. package/dist/types/permission.d.ts +0 -1
  48. /package/dist/views/team/{role/RolePermissionForm.vue.d.ts → permission-set/PermissionSetForm.vue.d.ts} +0 -0
  49. /package/dist/views/team/{role/RolePermissionList.vue.d.ts → permission-set/PermissionSetList.vue.d.ts} +0 -0
@@ -1,21 +1,22 @@
1
- import { defineComponent as V, ref as u, computed as B, watch as A, resolveComponent as c, createBlock as i, openBlock as s, withCtx as p, createElementVNode as C, createVNode as d, resolveDynamicComponent as T, createCommentVNode as k } from "vue";
2
- import { useRouter as F, useRoute as N } from "vue-router";
3
- import { useI18n as g } from "@feedmepos/mf-common";
4
- import { _ as h } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
5
- import { _ as w } from "./PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js";
1
+ import { defineComponent as V, ref as u, computed as B, watch as A, resolveComponent as i, createBlock as s, openBlock as c, withCtx as p, createElementVNode as C, createVNode as d, resolveDynamicComponent as T, createCommentVNode as S } from "vue";
2
+ import { useRouter as k, useRoute as F } from "vue-router";
3
+ import { useI18n as N } from "@feedmepos/mf-common";
4
+ import { _ as g } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js";
5
+ import { _ as h } from "./PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js";
6
6
  import "@feedmepos/ui-library";
7
- import "./index-CgbDOn3W.js";
8
- import { R as v } from "./app-CfIHEA52.js";
9
- import "./useAppStore-DCpMNDxE.js";
7
+ import "./index-CUtOR5dv.js";
8
+ import { R as v } from "./app-B6sFazWs.js";
9
+ import "./useAppStore-lxDKLJN1.js";
10
+ import "./index-CUEt2D4C.js";
10
11
  /* empty css */
11
12
  /* empty css */
12
- import "./team-C2muObo8.js";
13
- const x = { class: "space-y-24" }, J = /* @__PURE__ */ V({
13
+ import "./team-BzRey7P9.js";
14
+ const w = { class: "space-y-24" }, P = /* @__PURE__ */ V({
14
15
  __name: "Main",
15
- setup(y) {
16
- const { t: a } = g(), f = F(), R = N(), _ = u(), b = u(), t = u("member");
16
+ setup(x) {
17
+ const { t: a } = N(), f = k(), R = F(), _ = u(), b = u(), t = u("member");
17
18
  R.name === v.TEAM_ROLE ? t.value = "role" : t.value = "member";
18
- const l = B(() => n.value.find((e) => e.value === t.value) || n.value[0]);
19
+ const r = B(() => n.value.find((e) => e.value === t.value) || n.value[0]);
19
20
  A(t, (e) => {
20
21
  e === "member" ? f.replace({ name: v.TEAM_MEMBER }) : e === "role" && f.replace({ name: v.TEAM_ROLE });
21
22
  });
@@ -30,42 +31,42 @@ const x = { class: "space-y-24" }, J = /* @__PURE__ */ V({
30
31
  }
31
32
  },
32
33
  {
33
- label: a("role.title"),
34
+ label: a("permissionSet.title"),
34
35
  value: "role",
35
- createButtonLabel: a("role.createButtonLabel"),
36
+ createButtonLabel: a("permissionSet.createButtonLabel"),
36
37
  createButtonAction: () => {
37
38
  var e;
38
39
  (e = b.value) == null || e.create();
39
40
  }
40
41
  }
41
42
  ]);
42
- return (e, r) => {
43
- const L = c("FmSpacer"), E = c("FmTabs"), M = c("RouterView");
44
- return s(), i(w, {
45
- heading: l.value.label
43
+ return (e, l) => {
44
+ const L = i("FmSpacer"), E = i("FmTabs"), M = i("RouterView");
45
+ return c(), s(h, {
46
+ heading: r.value.label
46
47
  }, {
47
48
  "append-heading": p(() => {
48
49
  var o;
49
50
  return [
50
51
  d(L),
51
- (o = l.value) != null && o.createButtonLabel ? (s(), i(h, {
52
+ (o = r.value) != null && o.createButtonLabel ? (c(), s(g, {
52
53
  key: 0,
53
54
  icon: "add",
54
- label: l.value.createButtonLabel,
55
- onClick: r[0] || (r[0] = (m) => l.value.createButtonAction())
56
- }, null, 8, ["label"])) : k("", !0)
55
+ label: r.value.createButtonLabel,
56
+ onClick: l[0] || (l[0] = (m) => r.value.createButtonAction())
57
+ }, null, 8, ["label"])) : S("", !0)
57
58
  ];
58
59
  }),
59
60
  default: p(() => [
60
- C("div", x, [
61
+ C("div", w, [
61
62
  d(E, {
62
63
  modelValue: t.value,
63
- "onUpdate:modelValue": r[1] || (r[1] = (o) => t.value = o),
64
+ "onUpdate:modelValue": l[1] || (l[1] = (o) => t.value = o),
64
65
  items: n.value
65
66
  }, null, 8, ["modelValue", "items"]),
66
67
  d(M, null, {
67
68
  default: p(({ Component: o }) => [
68
- (s(), i(T(o), {
69
+ (c(), s(T(o), {
69
70
  ref: (m) => {
70
71
  t.value === "member" && (_.value = m), t.value === "role" && (b.value = m);
71
72
  }
@@ -81,5 +82,5 @@ const x = { class: "space-y-24" }, J = /* @__PURE__ */ V({
81
82
  }
82
83
  });
83
84
  export {
84
- J as default
85
+ P as default
85
86
  };
@@ -3,15 +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-DCpMNDxE.js";
6
+ import { u as df } from "./useAppStore-lxDKLJN1.js";
7
7
  import "@feedmepos/ui-library";
8
8
  /* empty css */
9
- import { u as mf } from "./employee-ChJpkvUF.js";
10
- import "./lodash-0EOIqOEG.js";
11
- import "./index-CgbDOn3W.js";
12
- import { R as vt } from "./app-CfIHEA52.js";
13
- import "./dayjs.min-C8cBXLt-.js";
14
- import "./timesheet-DTI6G4DD.js";
9
+ import { u as mf } from "./employee-CiqtFaEs.js";
10
+ import "./lodash-CudL7fSp.js";
11
+ import "./index-CUtOR5dv.js";
12
+ import { R as vt } from "./app-B6sFazWs.js";
13
+ import "./useReportPermissions-sw6kd_sS.js";
14
+ import "./dayjs.min-DyrmuWSw.js";
15
+ import "./timesheet-ppNqE2ke.js";
15
16
  var In = {};
16
17
  /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */
17
18
  var jt = {};
@@ -15482,7 +15483,7 @@ var Yt = {
15482
15483
  const f2 = {
15483
15484
  key: 0,
15484
15485
  class: "mr-16"
15485
- }, l2 = { class: "space-y-24" }, A2 = /* @__PURE__ */ rf({
15486
+ }, l2 = { class: "space-y-24" }, y2 = /* @__PURE__ */ rf({
15486
15487
  __name: "Main",
15487
15488
  setup(e) {
15488
15489
  const t = of(), r = cf(), { readTeamMemberPosUserIds: n } = mf(), { restaurants: a, currentBusiness: i, readRestaurants: s } = hf(), { readRoles: f, roles: o } = df(), { t: l } = uf(), c = yn(), d = yn(), p = yn(), v = On({
@@ -15602,5 +15603,5 @@ const f2 = {
15602
15603
  }
15603
15604
  });
15604
15605
  export {
15605
- A2 as default
15606
+ y2 as default
15606
15607
  };
@@ -0,0 +1,323 @@
1
+ import { defineComponent as W, computed as g, resolveComponent as c, createElementBlock as B, openBlock as F, createElementVNode as P, createVNode as i, toDisplayString as N, unref as r, withCtx as y, createTextVNode as H, Fragment as O, renderList as J, ref as _, createBlock as M, nextTick as Q, onMounted as X, h as U } from "vue";
2
+ import { useI18n as j, useCoreStore as Y } from "@feedmepos/mf-common";
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
+ 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-CUtOR5dv.js";
6
+ import { u as ue } from "./useLoading-ib83IjNC.js";
7
+ import { a as ce } from "./PortalPermissionEditor.vue_vue_type_script_setup_true_lang-HT8O-x5x.js";
8
+ const de = { class: "flex flex-row items-center gap-8" }, pe = /* @__PURE__ */ W({
9
+ __name: "PermissionWithTooltip",
10
+ props: {
11
+ modelValue: {
12
+ type: Array,
13
+ required: !0
14
+ }
15
+ },
16
+ setup(T) {
17
+ const w = T, e = g(() => le(w.modelValue)), { t: l } = j();
18
+ return (m, $) => {
19
+ const f = c("FmIcon"), V = c("FmTooltip");
20
+ return F(), B("div", de, [
21
+ P("span", null, N(r(l)("team.labels.allowed", { count: e.value.length })), 1),
22
+ i(V, {
23
+ variant: "plain",
24
+ placement: "top"
25
+ }, {
26
+ content: y(() => [
27
+ P("div", null, [
28
+ H(N(r(l)("team.labels.permission")) + " ", 1),
29
+ (F(!0), B(O, null, J(e.value, (v, a) => (F(), B("div", {
30
+ key: `${v}-${a}`
31
+ }, " - " + N(v), 1))), 128))
32
+ ])
33
+ ]),
34
+ default: y(() => [
35
+ i(f, {
36
+ name: "info",
37
+ class: "cursor-pointer text-fm-color-neutral-gray-300"
38
+ })
39
+ ]),
40
+ _: 1
41
+ })
42
+ ]);
43
+ };
44
+ }
45
+ }), fe = { class: "fm-typo-en-title-md-600" }, ve = { class: "flex items-center justify-start gap-8" }, Se = /* @__PURE__ */ W({
46
+ __name: "PermissionSetForm",
47
+ props: {
48
+ modelValue: {
49
+ type: Object,
50
+ default: () => ({})
51
+ }
52
+ },
53
+ setup(T, { expose: w }) {
54
+ const e = T, { t: l } = j(), m = _(!1), $ = g(() => {
55
+ var t;
56
+ return (t = e.modelValue) != null && t.id ? l("permissionSet.form.update.title") : l("permissionSet.form.create.title");
57
+ }), f = _(), V = q(), v = ue(V), a = K(), d = _({ ...e.modelValue }), u = _([]), h = _([]), A = [(t) => !!t || "Permission set name is required"], D = g(() => {
58
+ var t;
59
+ return (t = e.modelValue) != null && t.id ? l("permissionSet.form.update.confirmButtonLabel") : l("permissionSet.form.create.confirmButtonLabel");
60
+ }), z = g(
61
+ () => a.permissionSets.value.filter((t) => {
62
+ var s;
63
+ return t.id !== ((s = e.modelValue) == null ? void 0 : s.id);
64
+ }).map((t) => ({ label: t.name, value: t.id }))
65
+ ), x = g(
66
+ () => G(u.value, a.permissionSets.value)
67
+ );
68
+ async function n() {
69
+ var s, b;
70
+ await Q(), m.value = !m.value, d.value = { ...e.modelValue }, u.value = ((s = e.modelValue) == null ? void 0 : s.permissionSetIds) ?? [];
71
+ const t = ((b = e.modelValue) == null ? void 0 : b.permissions) ?? [];
72
+ h.value = ie(
73
+ R(x.value),
74
+ t
75
+ );
76
+ }
77
+ function o() {
78
+ const t = R(x.value), s = ae(h.value);
79
+ return re(t, s);
80
+ }
81
+ function p() {
82
+ h.value = R(x.value);
83
+ }
84
+ async function k() {
85
+ var b, E;
86
+ const t = await ((b = f.value) == null ? void 0 : b.validateInputsWithoutSubmit()), s = (E = Y().currentBusiness.value) == null ? void 0 : E.id;
87
+ !(t != null && t.length) && s && v.minor(async () => {
88
+ var C;
89
+ const L = o();
90
+ if ((C = e.modelValue) != null && C.id) {
91
+ const I = {
92
+ name: d.value.name,
93
+ permissions: L,
94
+ permissionSetIds: u.value,
95
+ businessId: d.value.businessId
96
+ };
97
+ await a.updatePermissionSet(e.modelValue.id, I);
98
+ } else {
99
+ const I = {
100
+ name: d.value.name,
101
+ businessId: s,
102
+ permissions: L,
103
+ permissionSetIds: u.value
104
+ };
105
+ await a.createPermissionSet(I);
106
+ }
107
+ m.value = !1;
108
+ });
109
+ }
110
+ return w({
111
+ trigger: n
112
+ }), (t, s) => {
113
+ const b = c("FmTextField"), E = c("FmSelect"), L = c("FmForm"), C = c("FmButton"), I = c("FmSideSheet");
114
+ return F(), M(I, {
115
+ modelValue: m.value,
116
+ "onUpdate:modelValue": s[4] || (s[4] = (S) => m.value = S),
117
+ "max-width": 560,
118
+ "dismiss-away": ""
119
+ }, {
120
+ "side-sheet-header": y(() => [
121
+ P("p", fe, N($.value), 1)
122
+ ]),
123
+ "side-sheet-footer": y(() => [
124
+ P("div", ve, [
125
+ i(C, {
126
+ label: D.value,
127
+ size: "md",
128
+ variant: "primary",
129
+ type: "submit",
130
+ onClick: k
131
+ }, null, 8, ["label"]),
132
+ i(C, {
133
+ label: r(l)("common.cancel"),
134
+ size: "md",
135
+ variant: "secondary",
136
+ onClick: s[3] || (s[3] = (S) => m.value = !1)
137
+ }, null, 8, ["label"])
138
+ ])
139
+ ]),
140
+ default: y(() => [
141
+ i(L, {
142
+ ref_key: "formRef",
143
+ ref: f
144
+ }, {
145
+ default: y(() => [
146
+ i(b, {
147
+ modelValue: d.value.name,
148
+ "onUpdate:modelValue": s[0] || (s[0] = (S) => d.value.name = S),
149
+ label: r(l)("permissionSet.form.name"),
150
+ placeholder: r(l)("permissionSet.form.namePlaceholder"),
151
+ rules: A
152
+ }, null, 8, ["modelValue", "label", "placeholder"]),
153
+ i(E, {
154
+ modelValue: u.value,
155
+ "onUpdate:modelValue": [
156
+ s[1] || (s[1] = (S) => u.value = S),
157
+ p
158
+ ],
159
+ multiselect: "",
160
+ searchable: "",
161
+ "search-debounce": 300,
162
+ items: z.value,
163
+ label: r(l)("permissionSet.form.includedSets"),
164
+ placeholder: r(l)("permissionSet.form.includedSetsPlaceholder"),
165
+ class: "mt-16"
166
+ }, null, 8, ["modelValue", "items", "label", "placeholder"]),
167
+ i(ce, {
168
+ modelValue: h.value,
169
+ "onUpdate:modelValue": s[2] || (s[2] = (S) => h.value = S),
170
+ "inherit-permissions": x.value,
171
+ class: "mt-24"
172
+ }, null, 8, ["modelValue", "inherit-permissions"])
173
+ ]),
174
+ _: 1
175
+ }, 512)
176
+ ]),
177
+ _: 1
178
+ }, 8, ["modelValue"]);
179
+ };
180
+ }
181
+ }), _e = { class: "space-y-8" }, he = { class: "flex justify-end xs:px-16" }, be = {
182
+ key: 0,
183
+ class: "overflow-auto"
184
+ }, ge = { class: "pb-64" }, Ce = /* @__PURE__ */ W({
185
+ __name: "PermissionSetList",
186
+ setup(T, { expose: w }) {
187
+ const { t: e } = j(), l = q(), m = Z(), { breakpoints: $ } = ee(), f = _(""), V = g(() => {
188
+ var n;
189
+ return (n = d.value) == null ? void 0 : n.filter((o) => {
190
+ const p = f.value.toLowerCase();
191
+ return o.name.toLowerCase().includes(p);
192
+ });
193
+ }), v = _(), a = K(), d = g(
194
+ () => a.permissionSets.value
195
+ ), u = _();
196
+ async function h() {
197
+ await a.readPermissionSets();
198
+ }
199
+ function A(n) {
200
+ var o;
201
+ u.value = n, (o = v.value) == null || o.trigger();
202
+ }
203
+ const D = [
204
+ {
205
+ accessorKey: "name",
206
+ header: () => e("permissionSet.table.columns.name")
207
+ },
208
+ {
209
+ accessorKey: "permission",
210
+ header: () => e("permissionSet.table.columns.permissions"),
211
+ enableSorting: !1,
212
+ cell(n) {
213
+ const o = n.row.original, p = G(
214
+ [o.id],
215
+ a.permissionSets.value
216
+ ), k = R(p);
217
+ return U(pe, { modelValue: k });
218
+ }
219
+ },
220
+ {
221
+ id: "action",
222
+ meta: {
223
+ cellClass: "pl-16",
224
+ headerContentClass: "-mx-16"
225
+ },
226
+ cell(n) {
227
+ return U("div", { class: "w-full flex justify-end items-center" }, [
228
+ U(se.FmButton, {
229
+ prependIcon: "delete",
230
+ variant: oe.Tertiary,
231
+ textColor: te.NeutralGray400,
232
+ class: "flex flex-end",
233
+ onClick: (o) => {
234
+ o.stopPropagation(), x(n.row.original);
235
+ }
236
+ })
237
+ ]);
238
+ },
239
+ enableSorting: !1
240
+ }
241
+ ];
242
+ function z() {
243
+ var n;
244
+ u.value = void 0, (n = v.value) == null || n.trigger();
245
+ }
246
+ async function x(n) {
247
+ m.open({
248
+ title: e("permissionSet.form.delete.title"),
249
+ message: e("permissionSet.form.delete.confirmationMessage", { permissionSetName: n.name }),
250
+ minWidth: $.value.lg ? 588 : 0,
251
+ primaryActions: {
252
+ text: e("common.remove"),
253
+ close: !1,
254
+ variant: "destructive"
255
+ },
256
+ secondaryActions: { text: e("common.cancel"), close: !0 }
257
+ }).onPrimary(async () => {
258
+ try {
259
+ await a.deletePermissionSet(n.id), l.open({
260
+ message: e("permissionSet.form.delete.successMessage", { permissionSetName: n.name }),
261
+ type: "success"
262
+ });
263
+ } catch (o) {
264
+ const p = o instanceof me && o.status === 409 ? o.message.includes("referenced by") ? e("permissionSet.form.delete.setReferencedConflictError", {
265
+ permissionSetName: n.name
266
+ }) : e("permissionSet.form.delete.conflictError", { permissionSetName: n.name }) : o instanceof Error ? o.message : `${o}`;
267
+ l.open({ message: p, type: "error" });
268
+ }
269
+ m.close();
270
+ });
271
+ }
272
+ return X(() => {
273
+ h();
274
+ }), w({
275
+ create: z
276
+ }), (n, o) => {
277
+ const p = c("FmSearch"), k = c("FmTable"), t = c("FullWrapper");
278
+ return F(), B(O, null, [
279
+ i(Se, {
280
+ ref_key: "permissionSetFormRef",
281
+ ref: v,
282
+ "model-value": u.value
283
+ }, null, 8, ["model-value"]),
284
+ P("div", _e, [
285
+ P("div", he, [
286
+ i(p, {
287
+ modelValue: f.value,
288
+ "onUpdate:modelValue": o[0] || (o[0] = (s) => f.value = s),
289
+ class: "w-[320px] xs:w-full",
290
+ autofocus: "",
291
+ placeholder: r(e)("permissionSet.search.placeholder")
292
+ }, null, 8, ["modelValue", "placeholder"])
293
+ ]),
294
+ d.value.length > 0 ? (F(), B("div", be, [
295
+ P("div", ge, [
296
+ i(t, null, {
297
+ default: y(() => [
298
+ i(k, {
299
+ "column-defs": D,
300
+ "row-data": V.value,
301
+ "page-size": V.value.length,
302
+ "pin-header-row": "",
303
+ "hide-footer": "",
304
+ "shrink-at": !1,
305
+ onRowClick: o[1] || (o[1] = (s) => A(s.original))
306
+ }, null, 8, ["row-data", "page-size"])
307
+ ]),
308
+ _: 1
309
+ })
310
+ ])
311
+ ])) : (F(), M(r(ne), {
312
+ key: 1,
313
+ title: r(e)("permissionSet.noData.title"),
314
+ subtitle: r(e)("permissionSet.noData.subtitle")
315
+ }, null, 8, ["title", "subtitle"]))
316
+ ])
317
+ ], 64);
318
+ };
319
+ }
320
+ });
321
+ export {
322
+ Ce as default
323
+ };