@feedmepos/mf-hrm-portal 1.1.6-dev → 2.0.1-dev

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 (98) hide show
  1. package/dist/AuditLogList-DZENrFVl.js +474 -0
  2. package/dist/EmployeeList-DJ-Lx4RI.js +626 -0
  3. package/dist/{main-C370wsCl.js → Main-BiTy1HOn.js} +1502 -1531
  4. package/dist/Main-Dp5EpNkO.js +86 -0
  5. package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-DuwNwJDM.js → PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js} +2 -2
  6. package/dist/PermissionSetList-_pXwG00F.js +323 -0
  7. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DrU4O0ww.js +3092 -0
  8. package/dist/ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js +38 -0
  9. package/dist/RoleList-Ky-QqbsY.js +497 -0
  10. package/dist/{useSearch-C25VELOk.js → SelectFilter-NbXrJ4iH.js} +90 -101
  11. package/dist/TeamMemberList-DRrHuY31.js +973 -0
  12. package/dist/{TimesheetList-qaolOL4w.js → TimesheetList-BHHH42rb.js} +31 -29
  13. package/dist/api/audit-log/index.d.ts +14 -0
  14. package/dist/api/index.d.ts +5 -0
  15. package/dist/api/permission-assignment/index.d.ts +10 -0
  16. package/dist/api/permission-set/index.d.ts +8 -0
  17. package/dist/api/report-query/index.d.ts +5 -0
  18. package/dist/api/team/index.d.ts +2 -1
  19. package/dist/app-BA8Bg7Fs.js +3286 -0
  20. package/dist/app.js +1 -1
  21. package/dist/components/AppForm.vue.d.ts +3 -2
  22. package/dist/components/CheckboxInput.vue.d.ts +10 -4
  23. package/dist/components/CollapsibleWrapper.vue.d.ts +3 -2
  24. package/dist/components/form/SelectFilter.vue.d.ts +3 -2
  25. package/dist/components/layout/FormColumn.vue.d.ts +6 -3
  26. package/dist/components/layout/FormItem.vue.d.ts +2 -1
  27. package/dist/components/layout/FormSection.vue.d.ts +2 -1
  28. package/dist/components/layout/FullWrapper.vue.d.ts +6 -3
  29. package/dist/components/layout/PageLayout.vue.d.ts +2 -1
  30. package/dist/components/menu/BottomSheetMenu.vue.d.ts +2 -1
  31. package/dist/components/menu/BottomSheetMenuItem.vue.d.ts +6 -3
  32. package/dist/components/table/EmptyDataTemplate/index.vue.d.ts +6 -3
  33. package/dist/composables/useAppStore.d.ts +6 -6
  34. package/dist/composables/useDateRange.d.ts +1 -1
  35. package/dist/composables/useReportPermissions.d.ts +14 -0
  36. package/dist/composables/useRestaurantMap.d.ts +4 -8
  37. package/dist/composables/useSheet.d.ts +1 -1
  38. package/dist/dayjs.min-CEZE1nhx.js +282 -0
  39. package/dist/employee-pAypR6MP.js +144 -0
  40. package/dist/helpers/permission-set.d.ts +69 -0
  41. package/dist/helpers/portal-user.d.ts +8 -0
  42. package/dist/helpers/rule.d.ts +5 -4
  43. package/dist/index-C-bqkIkl.js +827 -0
  44. package/dist/index-bp5uff_3.js +10340 -0
  45. package/dist/{empty-placeholder-ey8LJtN1.js → index.vue_vue_type_script_setup_true_lang-Vc5ARO29.js} +43 -2
  46. package/dist/{lodash-B5BTJU4_.js → lodash-D4y44Bjw.js} +326 -343
  47. package/dist/router/shared.d.ts +4 -1
  48. package/dist/stores/employee.d.ts +4 -4
  49. package/dist/stores/permission-assignment.d.ts +277 -0
  50. package/dist/stores/permission-set.d.ts +265 -0
  51. package/dist/stores/role.d.ts +4 -4
  52. package/dist/stores/team.d.ts +300 -0
  53. package/dist/stores/timesheet.d.ts +19 -19
  54. package/dist/style.css +1 -1
  55. package/dist/team-DcE1JQXZ.js +33 -0
  56. package/dist/{timesheet-Cy-jSzje.js → timesheet-DLosZfP0.js} +14 -14
  57. package/dist/tsconfig.app.tsbuildinfo +1 -1
  58. package/dist/types/audit-log.d.ts +1 -0
  59. package/dist/types/permission-assignment.d.ts +20 -0
  60. package/dist/types/permission-set.d.ts +24 -0
  61. package/dist/types/report-query.d.ts +6 -0
  62. package/dist/types/team.d.ts +13 -3
  63. package/dist/useAppStore-BMisdZ57.js +168 -0
  64. package/dist/useLoading-JdhZp_cM.js +99 -0
  65. package/dist/useReportPermissions-OjM-nHtC.js +65 -0
  66. package/dist/{useRestaurantMap-CpS9-OSq.js → useRestaurantMap-D5BNPLKh.js} +7 -7
  67. package/dist/useSearch-B6WK1LBB.js +15 -0
  68. package/dist/views/audit-log/locales/index.d.ts +295 -0
  69. package/dist/views/hr/employee/{components/EmployeeForm.vue.d.ts → EmployeeForm.vue.d.ts} +10 -7
  70. package/dist/views/team/Main.vue.d.ts +2 -0
  71. package/dist/views/team/components/BasePermission.vue.d.ts +64 -0
  72. package/dist/views/team/components/{TeamMemberConditionPermission.vue.d.ts → ConditionPermission.vue.d.ts} +14 -1
  73. package/dist/views/team/components/InheritPermissionTooltip.vue.d.ts +14 -0
  74. package/dist/views/team/components/PermissionWithTooltip.vue.d.ts +14 -0
  75. package/dist/views/team/components/PortalPermissionEditor.vue.d.ts +68 -28
  76. package/dist/views/team/components/{TeamMemberRolePermission.vue.d.ts → PosRolePermission.vue.d.ts} +14 -1
  77. package/dist/views/team/locales/index.d.ts +200 -4
  78. package/dist/views/team/{components → member}/AddMemberForm.vue.d.ts +1 -0
  79. package/dist/views/team/member/TeamMemberList.vue.d.ts +4 -0
  80. package/dist/views/team/member/TeamMemberMasterUser.vue.d.ts +55 -0
  81. package/dist/views/team/permission-set/PermissionSetForm.vue.d.ts +19 -0
  82. package/dist/views/team/permission-set/PermissionSetList.vue.d.ts +5 -0
  83. package/package.json +15 -8
  84. package/dist/EmployeeList-CP42mLpi.js +0 -605
  85. package/dist/RoleList-CsctaXlu.js +0 -492
  86. package/dist/TeamMemberList-DtXoUa5K.js +0 -1508
  87. package/dist/app-G_Dbs0OJ.js +0 -1202
  88. package/dist/employee-BTWpYxn5.js +0 -449
  89. package/dist/index-8ift6lz3.js +0 -57
  90. package/dist/rule-CM7JgjNr.js +0 -142112
  91. package/dist/types/permission.d.ts +0 -4
  92. package/dist/useAppStore-zINIo0LR.js +0 -93
  93. package/dist/useLoading-CWBRIBiy.js +0 -141
  94. package/dist/views/team/components/TeamMemberBasePermission.vue.d.ts +0 -36
  95. package/dist/views/team/components/TeamMemberMasterUser.vue.d.ts +0 -718
  96. /package/dist/views/{hr/main.vue.d.ts → audit-log/AuditLogList.vue.d.ts} +0 -0
  97. /package/dist/views/{team/TeamMemberList.vue.d.ts → hr/Main.vue.d.ts} +0 -0
  98. /package/dist/views/team/{components → member}/MemberInfo.vue.d.ts +0 -0
@@ -0,0 +1,86 @@
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
+ import "@feedmepos/ui-library";
7
+ import "./index-bp5uff_3.js";
8
+ import { R as v } from "./app-BA8Bg7Fs.js";
9
+ import "./useAppStore-BMisdZ57.js";
10
+ import "./index-C-bqkIkl.js";
11
+ /* empty css */
12
+ /* empty css */
13
+ import "./team-DcE1JQXZ.js";
14
+ const w = { class: "space-y-24" }, P = /* @__PURE__ */ V({
15
+ __name: "Main",
16
+ setup(x) {
17
+ const { t: a } = N(), f = k(), R = F(), _ = u(), b = u(), t = u("member");
18
+ R.name === v.TEAM_ROLE ? t.value = "role" : t.value = "member";
19
+ const r = B(() => n.value.find((e) => e.value === t.value) || n.value[0]);
20
+ A(t, (e) => {
21
+ e === "member" ? f.replace({ name: v.TEAM_MEMBER }) : e === "role" && f.replace({ name: v.TEAM_ROLE });
22
+ });
23
+ const n = B(() => [
24
+ {
25
+ label: a("team.title"),
26
+ value: "member",
27
+ createButtonLabel: a("team.actions.addMember"),
28
+ createButtonAction: () => {
29
+ var e;
30
+ (e = _.value) == null || e.create();
31
+ }
32
+ },
33
+ {
34
+ label: a("permissionSet.title"),
35
+ value: "role",
36
+ createButtonLabel: a("permissionSet.createButtonLabel"),
37
+ createButtonAction: () => {
38
+ var e;
39
+ (e = b.value) == null || e.create();
40
+ }
41
+ }
42
+ ]);
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
47
+ }, {
48
+ "append-heading": p(() => {
49
+ var o;
50
+ return [
51
+ d(L),
52
+ (o = r.value) != null && o.createButtonLabel ? (c(), s(g, {
53
+ key: 0,
54
+ icon: "add",
55
+ label: r.value.createButtonLabel,
56
+ onClick: l[0] || (l[0] = (m) => r.value.createButtonAction())
57
+ }, null, 8, ["label"])) : S("", !0)
58
+ ];
59
+ }),
60
+ default: p(() => [
61
+ C("div", w, [
62
+ d(E, {
63
+ modelValue: t.value,
64
+ "onUpdate:modelValue": l[1] || (l[1] = (o) => t.value = o),
65
+ items: n.value
66
+ }, null, 8, ["modelValue", "items"]),
67
+ d(M, null, {
68
+ default: p(({ Component: o }) => [
69
+ (c(), s(T(o), {
70
+ ref: (m) => {
71
+ t.value === "member" && (_.value = m), t.value === "role" && (b.value = m);
72
+ }
73
+ }, null, 512))
74
+ ]),
75
+ _: 1
76
+ })
77
+ ])
78
+ ]),
79
+ _: 1
80
+ }, 8, ["heading"]);
81
+ };
82
+ }
83
+ });
84
+ export {
85
+ P as default
86
+ };
@@ -1,4 +1,4 @@
1
- import { defineComponent as l, openBlock as a, createElementBlock as r, createElementVNode as o, renderSlot as s, toDisplayString as d, normalizeClass as t } from "vue";
1
+ import { defineComponent as l, createElementBlock as a, openBlock as r, normalizeClass as t, createElementVNode as o, renderSlot as s, toDisplayString as d } from "vue";
2
2
  const i = {
3
3
  class: /* @__PURE__ */ t([
4
4
  "flex flex-col",
@@ -19,7 +19,7 @@ const i = {
19
19
  heading: {}
20
20
  },
21
21
  setup(n) {
22
- return (e, m) => (a(), r("div", i, [
22
+ return (e, m) => (r(), a("div", i, [
23
23
  o("div", c, [
24
24
  s(e.$slots, "prepend-heading"),
25
25
  o("div", null, [
@@ -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-bp5uff_3.js";
6
+ import { u as ue } from "./useLoading-JdhZp_cM.js";
7
+ import { a as ce } from "./PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DrU4O0ww.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
+ };