@feedmepos/mf-hrm-portal 2.3.1 → 2.3.2-dev.10

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 (121) hide show
  1. package/dist/{ApprovalCodeList-CcvVEriB.js → ApprovalCodeList-RKU5B8SO.js} +14 -15
  2. package/dist/{AuditLogList-C61-SnWG.js → AuditLogList-DuDCMjGR.js} +796 -720
  3. package/dist/ConditionBuilderForm.vue_vue_type_script_setup_true_lang-pL2zRc67.js +459 -0
  4. package/dist/EmployeeList-nrYsS5uz.js +896 -0
  5. package/dist/FormSection.vue_vue_type_script_setup_true_lang-7S2w36aY.js +90 -0
  6. package/dist/{GrantUserList-1ErIV7b7.js → GrantUserList-BSjeC4MC.js} +15 -16
  7. package/dist/{Main-R0qyd8Ea.js → Main-CpuHaXU6.js} +5 -5
  8. package/dist/Main-DbdoVLCE.js +101 -0
  9. package/dist/{Main-CD8OS1rM.js → Main-DtmCBbTR.js} +1005 -999
  10. package/dist/MyPosProfile-CsTCfGNT.js +360 -0
  11. package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-TXPEqa46.js +126 -0
  12. package/dist/{PermissionSetList-ig3oxdhh.js → PermissionSetList-B1c-uGZO.js} +80 -80
  13. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Toq6qrLx.js +4208 -0
  14. package/dist/PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-D6Z9z_Yt.js +1831 -0
  15. package/dist/RoleForm.vue_vue_type_script_setup_true_lang-TWTVo_9Y.js +547 -0
  16. package/dist/RoleList-CwaGNsFy.js +265 -0
  17. package/dist/{ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-Dg7S6nFO.js → ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-C2ekVXdR.js} +1 -1
  18. package/dist/{ScheduleGeneralPage-QYijA95u.js → ScheduleGeneralPage-BVtXmxtp.js} +2 -2
  19. package/dist/{ScheduleModal.vue_vue_type_script_setup_true_lang-Bnyqna_E.js → ScheduleModal.vue_vue_type_script_setup_true_lang-DdsQ8v-5.js} +187 -186
  20. package/dist/{SchedulePage-BrBZmuMj.js → SchedulePage-3qksmT2I.js} +193 -205
  21. package/dist/{SchedulePositionPage-NCvNg8v5.js → SchedulePositionPage-DAU20KPZ.js} +3 -3
  22. package/dist/{SelectFilter-r-QOCO99.js → SelectFilter-BpzBwBmQ.js} +2 -3
  23. package/dist/TeamMemberList-Bdpm40i3.js +2087 -0
  24. package/dist/TimesheetList-CL_eJp2h.js +437 -0
  25. package/dist/{app-DKHtjxyC.js → app-DEZT4wdV.js} +7789 -3967
  26. package/dist/app.js +3 -3
  27. package/dist/{approval-code-BIpLingm.js → approval-code-BZTz5OXK.js} +4 -4
  28. package/dist/{dayjs.min-CNNMpacl.js → dayjs.min-B55I-uhI.js} +21 -21
  29. package/dist/employee-C6z5i6O4.js +172 -0
  30. package/dist/{grant-user-uZmvD_bw.js → grant-user-B2rYztyf.js} +2 -2
  31. package/dist/{iteration-DkcNkScw.js → index-Bfdseotz.js} +698 -726
  32. package/dist/iteration-CcXrOMQe.js +30 -0
  33. package/dist/{lodash-g-62RoFP.js → lodash-B8bqa6a9.js} +1 -1
  34. package/dist/member-grant-BIpKkuu8.js +54 -0
  35. package/dist/restaurant-ejyX2jEG.js +52 -0
  36. package/dist/role-C_t3DDlG.js +98 -0
  37. package/dist/rule-Ccopk8R_.js +843 -0
  38. package/dist/src/api/audit-log/index.d.ts +2 -0
  39. package/dist/src/api/employee/index.d.ts +1 -2
  40. package/dist/src/api/my-pos-profile/index.d.ts +3 -0
  41. package/dist/src/api/sso-provider/index.d.ts +5 -0
  42. package/dist/src/api/staff-invite/index.d.ts +16 -0
  43. package/dist/src/api/timesheet/index.d.ts +1 -1
  44. package/dist/src/components/CollapsibleWrapper.vue.d.ts +11 -3
  45. package/dist/src/components/form/SegmentedTabs.vue.d.ts +23 -0
  46. package/dist/src/composables/useMenuAccess.d.ts +56 -0
  47. package/dist/src/composables/useSsoProviders.d.ts +19 -0
  48. package/dist/src/composables/useStaffInviteProviders.d.ts +8 -0
  49. package/dist/src/helpers/member-grant.d.ts +36 -0
  50. package/dist/src/helpers/my-pos-profile.d.ts +37 -0
  51. package/dist/src/helpers/permission-set.d.ts +1 -102
  52. package/dist/src/helpers/pos-assignment-rows.d.ts +28 -0
  53. package/dist/src/helpers/rule.d.ts +2 -2
  54. package/dist/src/helpers/staff-invite.d.ts +54 -0
  55. package/dist/src/helpers/string.d.ts +10 -1
  56. package/dist/src/router/menu-access-guard.d.ts +17 -0
  57. package/dist/src/router/shared.d.ts +3 -1
  58. package/dist/src/stores/approval-code.d.ts +1 -1
  59. package/dist/src/stores/employee.d.ts +3 -9
  60. package/dist/src/stores/grant-user.d.ts +1 -1
  61. package/dist/src/stores/permission-assignment.d.ts +2 -2
  62. package/dist/src/stores/permission-set.d.ts +2 -2
  63. package/dist/src/stores/restaurant.d.ts +70 -10
  64. package/dist/src/stores/role.d.ts +2 -2
  65. package/dist/src/stores/team.d.ts +31 -1
  66. package/dist/src/stores/timesheet.d.ts +68 -53
  67. package/dist/src/types/my-pos-profile.d.ts +24 -0
  68. package/dist/src/types/sso-provider.d.ts +10 -0
  69. package/dist/src/types/staff-invite.d.ts +100 -0
  70. package/dist/src/types/team.d.ts +17 -1
  71. package/dist/src/types/timesheet.d.ts +3 -0
  72. package/dist/src/views/audit-log/locales/index.d.ts +40 -0
  73. package/dist/src/views/audit-log/useTraceIdDeepLink.d.ts +19 -0
  74. package/dist/src/views/hr/locales/index.d.ts +24 -4
  75. package/dist/src/views/hr/role/RoleForm.vue.d.ts +29 -2
  76. package/dist/src/views/my-pos-profile/MyPosProfile.vue.d.ts +2 -0
  77. package/dist/src/views/my-pos-profile/components/PasscodeChangedDialog.vue.d.ts +4 -0
  78. package/dist/src/views/my-pos-profile/locales/index.d.ts +236 -0
  79. package/dist/src/views/scheduling/composables/useScheduleOnboardingAvailability.d.ts +1 -1
  80. package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +1 -1
  81. package/dist/src/views/scheduling/composables/useScheduleShiftDraft.d.ts +1 -1
  82. package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +1 -1
  83. package/dist/src/views/team/components/BasePermission.vue.d.ts +11 -0
  84. package/dist/src/views/team/components/ConditionPermission.vue.d.ts +11 -0
  85. package/dist/src/views/team/components/MemberGrantFields.vue.d.ts +51 -0
  86. package/dist/src/views/team/{member/MemberInfo.vue.d.ts → components/MemberStatusBadge.vue.d.ts} +2 -2
  87. package/dist/src/views/team/components/PortalPermissionEditor.vue.d.ts +21 -0
  88. package/dist/src/views/team/components/PosAssignmentRows.vue.d.ts +44 -0
  89. package/dist/src/views/team/components/PosRolePermission.vue.d.ts +11 -0
  90. package/dist/src/views/team/locales/index.d.ts +716 -0
  91. package/dist/src/views/team/member/AddMemberForm.vue.d.ts +48 -3
  92. package/dist/src/views/team/member/ExistingMemberNotice.vue.d.ts +11 -0
  93. package/dist/src/views/team/member/MemberDetailsCard.vue.d.ts +35 -0
  94. package/dist/src/views/team/member/MemberHeaderCard.vue.d.ts +19 -0
  95. package/dist/src/views/team/member/TeamMemberList.vue.d.ts +1 -0
  96. package/dist/string-DZQ1uNjn.js +22 -0
  97. package/dist/style.css +1 -1
  98. package/dist/timesheet-CZHcebqS.js +76 -0
  99. package/dist/tsconfig.app.tsbuildinfo +1 -1
  100. package/dist/{useAppStore-Bp0PwbAN.js → useAppStore-DfqsbhT2.js} +1 -1
  101. package/dist/{useLoading-sgL8DRUz.js → useLoading-CQnX5WjI.js} +1 -1
  102. package/dist/useMessage-_ywT_N9X.js +17 -0
  103. package/dist/{useReportPermissions-CcIHwTRI.js → useReportPermissions-kTjftFk7.js} +13 -13
  104. package/package.json +4 -4
  105. package/dist/ConditionBuilderForm.vue_vue_type_script_setup_true_lang-BZ-ZDviW.js +0 -438
  106. package/dist/EmployeeList-Cucr2mxn.js +0 -776
  107. package/dist/FormItem.vue_vue_type_script_setup_true_lang-4XV2qPxn.js +0 -45
  108. package/dist/FormSection.vue_vue_type_script_setup_true_lang-DknXTYiK.js +0 -49
  109. package/dist/Main-B-F_cdM_.js +0 -96
  110. package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js +0 -243
  111. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-ClG4YhnF.js +0 -4167
  112. package/dist/PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-DaAx79pC.js +0 -35
  113. package/dist/RoleList-BqR_Vf8H.js +0 -740
  114. package/dist/TeamMemberList-B6ZnfKV0.js +0 -1154
  115. package/dist/TimesheetList-BvsUk6kd.js +0 -402
  116. package/dist/TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-D3--3EhR.js +0 -58
  117. package/dist/employee-H2J0xRqJ.js +0 -209
  118. package/dist/restaurant-CHpkjUPy.js +0 -1880
  119. package/dist/role-CkxDtfst.js +0 -92
  120. package/dist/rule-BWvSqhBk.js +0 -783
  121. package/dist/string-VNuQNweN.js +0 -15
@@ -0,0 +1,90 @@
1
+ import { createElementBlock as s, openBlock as o, createElementVNode as n, ref as y, computed as h, defineComponent as d, renderSlot as r, createCommentVNode as i, toDisplayString as a, normalizeClass as m, createVNode as _, withCtx as b } from "vue";
2
+ import { a as x } from "./app-DEZT4wdV.js";
3
+ const $ = {};
4
+ function k(e, t) {
5
+ return o(), s("div", null, [...t[0] || (t[0] = [
6
+ n("div", { class: "h-px w-full bg-fm-color-neutral-gray-100" }, null, -1)
7
+ ])]);
8
+ }
9
+ const E = /* @__PURE__ */ x($, [["render", k]]), H = (e) => {
10
+ const t = y("");
11
+ function l(c) {
12
+ return `${c}`.trim().toLowerCase();
13
+ }
14
+ const u = h(() => l(t.value));
15
+ function f(c) {
16
+ return u.value ? c.some((p) => l(p).includes(u.value)) : !0;
17
+ }
18
+ return { searchKey: t, filter: f };
19
+ }, v = { class: "space-y-8" }, w = { class: "flex items-center justify-between" }, C = { class: "space-y-8" }, S = { class: "fm-typo-en-body-lg-600" }, g = {
20
+ key: 0,
21
+ class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary"
22
+ }, K = /* @__PURE__ */ d({
23
+ __name: "FormItem",
24
+ props: {
25
+ label: {},
26
+ description: {}
27
+ },
28
+ setup(e) {
29
+ return (t, l) => (o(), s("div", v, [
30
+ n("div", w, [
31
+ n("div", C, [
32
+ n("p", S, a(e.label), 1),
33
+ e.description ? (o(), s("p", g, a(e.description), 1)) : i("", !0)
34
+ ]),
35
+ r(t.$slots, "append")
36
+ ]),
37
+ r(t.$slots, "default")
38
+ ]));
39
+ }
40
+ }), B = /* @__PURE__ */ d({
41
+ __name: "FormColumn",
42
+ props: {
43
+ shrinkable: { type: Boolean }
44
+ },
45
+ setup(e) {
46
+ return (t, l) => (o(), s("div", {
47
+ class: m(["flex-1 flex flex-col space-y-24", { "min-h-0": e.shrinkable }])
48
+ }, [
49
+ r(t.$slots, "default")
50
+ ], 2));
51
+ }
52
+ }), V = {
53
+ key: 0,
54
+ class: "flex flex-row justify-between items-center"
55
+ }, F = { class: "space-y-4" }, N = { class: "fm-typo-en-title-sm-600" }, T = {
56
+ key: 0,
57
+ class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary"
58
+ }, D = /* @__PURE__ */ d({
59
+ __name: "FormSection",
60
+ props: {
61
+ title: {},
62
+ subTitle: {},
63
+ shrinkable: { type: Boolean }
64
+ },
65
+ setup(e) {
66
+ return (t, l) => (o(), s("div", {
67
+ class: m(["flex flex-col space-y-16", { "min-h-0": e.shrinkable }])
68
+ }, [
69
+ e.title ? (o(), s("div", V, [
70
+ n("div", F, [
71
+ n("p", N, a(e.title), 1),
72
+ e.subTitle ? (o(), s("p", T, a(e.subTitle), 1)) : i("", !0)
73
+ ]),
74
+ r(t.$slots, "append-title")
75
+ ])) : i("", !0),
76
+ _(B, { shrinkable: e.shrinkable }, {
77
+ default: b(() => [
78
+ r(t.$slots, "default")
79
+ ]),
80
+ _: 3
81
+ }, 8, ["shrinkable"])
82
+ ], 2));
83
+ }
84
+ });
85
+ export {
86
+ E as H,
87
+ D as _,
88
+ K as a,
89
+ H as u
90
+ };
@@ -1,16 +1,15 @@
1
1
  import { defineComponent as X, ref as S, computed as f, watch as ue, resolveComponent as v, createElementBlock as D, openBlock as w, Fragment as E, renderSlot as de, createVNode as l, unref as s, withCtx as g, createElementVNode as o, toDisplayString as _, isRef as H, renderList as me, createBlock as pe, createCommentVNode as fe, withModifiers as W, createTextVNode as J, normalizeClass as ve, h as p } from "vue";
2
- import { d as ge } from "./dayjs.min-CNNMpacl.js";
2
+ import { d as ge } from "./dayjs.min-B55I-uhI.js";
3
3
  import { useI18n as Z } from "@feedmepos/mf-common";
4
4
  import { useSnackbar as ee, components as K, useDialog as _e, useBreakpoints as ye, FmButtonVariant as O } from "@feedmepos/ui-library";
5
- import { S as A } from "./SelectFilter-r-QOCO99.js";
6
- import { _ as he } from "./app-DKHtjxyC.js";
7
- import { _ as Q, u as Ue, H as xe } from "./FormItem.vue_vue_type_script_setup_true_lang-4XV2qPxn.js";
8
- import { _ as be } from "./TableEmptyState.vue_vue_type_script_setup_true_lang-IfAZmWr0.js";
9
- import { u as te } from "./useLoading-sgL8DRUz.js";
10
- import { u as ae } from "./grant-user-uZmvD_bw.js";
11
- import { u as se } from "./restaurant-CHpkjUPy.js";
12
- import { u as re } from "./role-CkxDtfst.js";
13
- import { _ as Ve } from "./FormSection.vue_vue_type_script_setup_true_lang-DknXTYiK.js";
5
+ import { S as A } from "./SelectFilter-BpzBwBmQ.js";
6
+ import { _ as he } from "./app-DEZT4wdV.js";
7
+ import { _ as Ue, a as Q, u as xe, H as be } from "./FormSection.vue_vue_type_script_setup_true_lang-7S2w36aY.js";
8
+ import { _ as Ve } from "./TableEmptyState.vue_vue_type_script_setup_true_lang-IfAZmWr0.js";
9
+ import { u as te } from "./useLoading-CQnX5WjI.js";
10
+ import { u as ae } from "./grant-user-B2rYztyf.js";
11
+ import { u as se } from "./restaurant-ejyX2jEG.js";
12
+ import { u as re } from "./role-C_t3DDlG.js";
14
13
  const ke = { class: "fm-typo-en-title-md-600" }, Fe = { class: "space-y-40" }, we = { class: "flex gap-8 items-center justify-start" }, Se = /* @__PURE__ */ X({
15
14
  __name: "GrantUserForm",
16
15
  setup(le, { expose: M }) {
@@ -88,7 +87,7 @@ const ke = { class: "fm-typo-en-title-md-600" }, Fe = { class: "space-y-40" }, w
88
87
  ]),
89
88
  default: g(() => [
90
89
  o("div", Fe, [
91
- l(Ve, {
90
+ l(Ue, {
92
91
  title: s(d)("grantUser.form.section")
93
92
  }, {
94
93
  default: g(() => [
@@ -172,7 +171,7 @@ const ke = { class: "fm-typo-en-title-md-600" }, Fe = { class: "space-y-40" }, w
172
171
  }, Ee = {
173
172
  key: 0,
174
173
  class: "flex flex-col gap-4"
175
- }, rt = /* @__PURE__ */ X({
174
+ }, st = /* @__PURE__ */ X({
176
175
  __name: "GrantUserList",
177
176
  setup(le, {
178
177
  expose: M
@@ -186,7 +185,7 @@ const ke = { class: "fm-typo-en-title-md-600" }, Fe = { class: "space-y-40" }, w
186
185
  } = re(), h = f(() => x.grantUsers), {
187
186
  searchKey: n,
188
187
  filter: B
189
- } = Ue(), U = f(() => {
188
+ } = xe(), U = f(() => {
190
189
  var e;
191
190
  return (e = h.value) == null ? void 0 : e.filter((t) => {
192
191
  const m = !y.value || y.value.includes(t.restaurantId), G = !k.value || k.value.includes(t.status), L = b.value[t.restaurantId] || "", j = V.value[t.roleId] || "";
@@ -395,7 +394,7 @@ const ke = { class: "fm-typo-en-title-md-600" }, Fe = { class: "space-y-40" }, w
395
394
  "onUpdate:modelValue": t[3] || (t[3] = (r) => H(n) ? n.value = r : null),
396
395
  autofocus: "",
397
396
  placeholder: s(a)("grantUser.search.placeholder")
398
- }, null, 8, ["modelValue", "placeholder"])]), l(xe), o("div", Re, [l(A, {
397
+ }, null, 8, ["modelValue", "placeholder"])]), l(be), o("div", Re, [l(A, {
399
398
  modelValue: y.value,
400
399
  "onUpdate:modelValue": t[4] || (t[4] = (r) => y.value = r),
401
400
  multiple: "",
@@ -413,7 +412,7 @@ const ke = { class: "fm-typo-en-title-md-600" }, Fe = { class: "space-y-40" }, w
413
412
  "selected-prefix": s(a)("grantUser.filter.selected_status_prefix"),
414
413
  placeholder: s(a)("grantUser.filter.status_placeholder")
415
414
  }, null, 8, ["modelValue", "items", "selected-prefix", "placeholder"])])]), l(he, null, {
416
- default: g(() => [o("div", ze, [l(be, {
415
+ default: g(() => [o("div", ze, [l(Ve, {
417
416
  "is-loading": s(x).isLoading,
418
417
  "is-empty": U.value.length === 0,
419
418
  title: s(a)("grantUser.noData.title"),
@@ -460,5 +459,5 @@ const ke = { class: "fm-typo-en-title-md-600" }, Fe = { class: "space-y-40" }, w
460
459
  }
461
460
  });
462
461
  export {
463
- rt as default
462
+ st as default
464
463
  };
@@ -4,11 +4,11 @@ import { useI18n as E, useCoreStore as $ } from "@feedmepos/mf-common";
4
4
  import { useSnackbar as I } from "@feedmepos/ui-library";
5
5
  import { _ as z } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-QrqYEy8i.js";
6
6
  import { _ as M } from "./PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js";
7
- import { u as j } from "./restaurant-CHpkjUPy.js";
8
- import { u as H } from "./role-CkxDtfst.js";
9
- import { u as J } from "./grant-user-uZmvD_bw.js";
10
- import { u as K } from "./approval-code-BIpLingm.js";
11
- import { R as n } from "./app-DKHtjxyC.js";
7
+ import { u as j } from "./restaurant-ejyX2jEG.js";
8
+ import { u as H } from "./role-C_t3DDlG.js";
9
+ import { u as J } from "./grant-user-B2rYztyf.js";
10
+ import { u as K } from "./approval-code-BZTz5OXK.js";
11
+ import { R as n } from "./app-DEZT4wdV.js";
12
12
  const Q = { class: "space-y-24" }, ue = /* @__PURE__ */ D({
13
13
  __name: "Main",
14
14
  setup(W) {
@@ -0,0 +1,101 @@
1
+ import { defineComponent as M, ref as R, computed as i, watch as g, resolveComponent as c, createBlock as p, openBlock as d, withCtx as u, createElementVNode as A, createVNode as v, resolveDynamicComponent as h, createCommentVNode as k, createTextVNode as N, toDisplayString as w } from "vue";
2
+ import { useRouter as x, useRoute as F } from "vue-router";
3
+ import { useI18n as I, useCoreStore as O } from "@feedmepos/mf-common";
4
+ import { _ as $ } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-QrqYEy8i.js";
5
+ import { _ as q } from "./PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js";
6
+ import { u as D } from "./PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-D6Z9z_Yt.js";
7
+ import { u as P } from "./restaurant-ejyX2jEG.js";
8
+ import "@feedmepos/ui-library";
9
+ import "./rule-Ccopk8R_.js";
10
+ import "./lodash-B8bqa6a9.js";
11
+ import "./index-Bfdseotz.js";
12
+ import "./useAppStore-DfqsbhT2.js";
13
+ import { R as B } from "./app-DEZT4wdV.js";
14
+ import "./member-grant-BIpKkuu8.js";
15
+ import "./role-C_t3DDlG.js";
16
+ /* empty css */
17
+ import "./useReportPermissions-kTjftFk7.js";
18
+ const U = { class: "space-y-24" }, se = /* @__PURE__ */ M({
19
+ __name: "Main",
20
+ setup(j) {
21
+ const { t: o } = I(), b = x(), S = F(), T = O(), { readRestaurants: V } = P(), { loadProviders: L } = D(), f = R(), _ = R(), s = {
22
+ member: B.TEAM_MEMBER,
23
+ role: B.TEAM_ROLE
24
+ }, a = i({
25
+ get: () => Object.keys(s).find((e) => s[e] === S.name) ?? "member",
26
+ set: (e) => {
27
+ b.push({
28
+ name: s[e],
29
+ query: b.currentRoute.value.query
30
+ });
31
+ }
32
+ });
33
+ V(), g(T.currentBusiness, () => L(), { immediate: !0 });
34
+ const r = i(() => l.value.find((e) => e.value === a.value) || l.value[0]), l = i(() => [
35
+ {
36
+ label: o("team.title"),
37
+ subTitle: o("team.subtitle"),
38
+ value: "member",
39
+ createButtonLabel: o("team.actions.addMember"),
40
+ createButtonAction: () => {
41
+ var e;
42
+ (e = f.value) == null || e.create();
43
+ }
44
+ },
45
+ {
46
+ label: o("permissionSet.title"),
47
+ value: "role",
48
+ createButtonLabel: o("permissionSet.createButtonLabel"),
49
+ createButtonAction: () => {
50
+ var e;
51
+ (e = _.value) == null || e.create();
52
+ }
53
+ }
54
+ ]);
55
+ return (e, n) => {
56
+ const y = c("FmSpacer"), C = c("FmTabs"), E = c("RouterView");
57
+ return d(), p(q, {
58
+ heading: r.value.label
59
+ }, {
60
+ "sub-heading": u(() => [
61
+ N(w(r.value.subTitle), 1)
62
+ ]),
63
+ "append-heading": u(() => {
64
+ var t;
65
+ return [
66
+ v(y),
67
+ (t = r.value) != null && t.createButtonLabel ? (d(), p($, {
68
+ key: 0,
69
+ icon: "add",
70
+ label: r.value.createButtonLabel,
71
+ onClick: n[0] || (n[0] = (m) => r.value.createButtonAction())
72
+ }, null, 8, ["label"])) : k("", !0)
73
+ ];
74
+ }),
75
+ default: u(() => [
76
+ A("div", U, [
77
+ v(C, {
78
+ modelValue: a.value,
79
+ "onUpdate:modelValue": n[1] || (n[1] = (t) => a.value = t),
80
+ items: l.value
81
+ }, null, 8, ["modelValue", "items"]),
82
+ v(E, null, {
83
+ default: u(({ Component: t }) => [
84
+ (d(), p(h(t), {
85
+ ref: (m) => {
86
+ a.value === "member" && (f.value = m), a.value === "role" && (_.value = m);
87
+ }
88
+ }, null, 512))
89
+ ]),
90
+ _: 1
91
+ })
92
+ ])
93
+ ]),
94
+ _: 1
95
+ }, 8, ["heading"]);
96
+ };
97
+ }
98
+ });
99
+ export {
100
+ se as default
101
+ };