@feedmepos/mf-hrm-portal 2.2.5-dev → 2.2.5-dev.4

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 (160) hide show
  1. package/dist/{ApprovalCodeList-DgcWZ3SZ.js → ApprovalCodeList-D0B_X3Sf.js} +4 -4
  2. package/dist/{AuditLogList-vWKMMGvd.js → AuditLogList-D9anf4YQ.js} +18 -17
  3. package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-DuhXogXK.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-4oENMRO3.js} +2 -2
  4. package/dist/EmployeeList-DREDu3Ou.js +788 -0
  5. package/dist/{FormItem.vue_vue_type_script_setup_true_lang-DPT2FoIc.js → FormItem.vue_vue_type_script_setup_true_lang-CUnlKsxk.js} +1 -1
  6. package/dist/{GrantUserList-BAW0C1bA.js → GrantUserList-CLDshEN9.js} +5 -5
  7. package/dist/{Main-Wr6cTqfM.js → Main-DtMaG42L.js} +2 -2
  8. package/dist/{Main-NzpdRNB3.js → Main-QhQxU593.js} +5 -5
  9. package/dist/{Main-B7Nn8CLQ.js → Main-lqlb8tPw.js} +9 -9
  10. package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js +243 -0
  11. package/dist/{PermissionSetList-D6AFOleD.js → PermissionSetList-BK8yBpJJ.js} +22 -21
  12. package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Bzq2_BMn.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-uSdvH81B.js} +924 -923
  13. package/dist/{RoleList-BuqpmXn_.js → RoleList-D6AX6BqB.js} +7 -7
  14. package/dist/ScheduleGeneralPage-DAECTCDu.js +242 -0
  15. package/dist/SchedulePage-CdFR7JuO.js +10751 -0
  16. package/dist/SchedulePositionPage-DTtKg0sx.js +220 -0
  17. package/dist/ScheduleSelect.vue_vue_type_script_setup_true_lang-BiuUrr50.js +199 -0
  18. package/dist/SelectFilter-CG13h83-.js +264 -0
  19. package/dist/TeamMemberList-BM5JoR6J.js +1155 -0
  20. package/dist/{TimesheetList-B5FyVyCz.js → TimesheetList-Ch_f_PD5.js} +54 -53
  21. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-C99Jr6Ax.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-CxqxqwyD.js} +2 -2
  22. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  23. package/dist/{app-8samJY5z.js → app-tDHL6k4G.js} +3092 -2499
  24. package/dist/app.js +1 -1
  25. package/dist/{dayjs.min-Ba4X_9nY.js → dayjs.min-B_XWc0Hu.js} +1 -1
  26. package/dist/employee-Bs_2vqBY.js +139 -0
  27. package/dist/index-Cz2b95YF.js +70 -0
  28. package/dist/{iteration-Dhdew1jW.js → index-jxRluZiW.js} +698 -726
  29. package/dist/iteration-CcXrOMQe.js +30 -0
  30. package/dist/{lodash-CJ3mHku0.js → lodash-D5vM3paU.js} +1 -1
  31. package/dist/{role-BViYS7RK.js → role-7ccipEEe.js} +4 -3
  32. package/dist/{rule-Dxt1ZSQS.js → rule-7faruCdz.js} +282 -277
  33. package/dist/src/api/schedule/index.d.ts +44 -0
  34. package/dist/src/components/form/OutletRoleAssignment.vue.d.ts +16 -0
  35. package/dist/src/components/layout/AppSidebar.vue.d.ts +2 -0
  36. package/dist/src/components/layout/PortalShell.vue.d.ts +12 -0
  37. package/dist/src/components/layout/withShell.d.ts +14 -0
  38. package/dist/src/helpers/outlet-role-assignment.d.ts +40 -0
  39. package/dist/src/helpers/rule.d.ts +15 -0
  40. package/dist/src/router/shared.d.ts +4 -1
  41. package/dist/src/types/schedule.d.ts +232 -0
  42. package/dist/src/views/scheduling/ScheduleGeneralPage.vue.d.ts +4 -0
  43. package/dist/src/views/scheduling/SchedulePage.vue.d.ts +4 -0
  44. package/dist/src/views/scheduling/SchedulePositionPage.vue.d.ts +4 -0
  45. package/dist/src/views/scheduling/components/ScheduleAddEmployeeIdentitySection.vue.d.ts +6 -0
  46. package/dist/src/views/scheduling/components/ScheduleAddEmployeeModal.vue.d.ts +6 -0
  47. package/dist/src/views/scheduling/components/ScheduleAddEmployeeModeStep.vue.d.ts +6 -0
  48. package/dist/src/views/scheduling/components/ScheduleAddEmployeePosAccessSection.vue.d.ts +6 -0
  49. package/dist/src/views/scheduling/components/ScheduleAddEmployeePositionsSection.vue.d.ts +6 -0
  50. package/dist/src/views/scheduling/components/ScheduleAddEmployeeSchedulingSection.vue.d.ts +6 -0
  51. package/dist/src/views/scheduling/components/ScheduleAddPickPopover.vue.d.ts +6 -0
  52. package/dist/src/views/scheduling/components/ScheduleAllShiftsRow.vue.d.ts +22 -0
  53. package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +34 -0
  54. package/dist/src/views/scheduling/components/ScheduleAssignEmployeePopover.vue.d.ts +6 -0
  55. package/dist/src/views/scheduling/components/ScheduleAutoScheduleModal.vue.d.ts +6 -0
  56. package/dist/src/views/scheduling/components/ScheduleChangeEmployeeModal.vue.d.ts +8 -0
  57. package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +24 -0
  58. package/dist/src/views/scheduling/components/ScheduleCostRail.vue.d.ts +8 -0
  59. package/dist/src/views/scheduling/components/ScheduleDateRangePopover.vue.d.ts +6 -0
  60. package/dist/src/views/scheduling/components/ScheduleDayNotePopover.vue.d.ts +6 -0
  61. package/dist/src/views/scheduling/components/ScheduleDayTimeline.vue.d.ts +12 -0
  62. package/dist/src/views/scheduling/components/ScheduleDemandRow.vue.d.ts +23 -0
  63. package/dist/src/views/scheduling/components/ScheduleDemandSheet.vue.d.ts +10 -0
  64. package/dist/src/views/scheduling/components/ScheduleDotsIcon.vue.d.ts +2 -0
  65. package/dist/src/views/scheduling/components/ScheduleEmployeeDetailPanel.vue.d.ts +12 -0
  66. package/dist/src/views/scheduling/components/ScheduleEmployeeIdentity.vue.d.ts +17 -0
  67. package/dist/src/views/scheduling/components/ScheduleFilterBar.vue.d.ts +18 -0
  68. package/dist/src/views/scheduling/components/ScheduleGapPopover.vue.d.ts +6 -0
  69. package/dist/src/views/scheduling/components/ScheduleGridHeader.vue.d.ts +18 -0
  70. package/dist/src/views/scheduling/components/ScheduleLeaveEditModal.vue.d.ts +6 -0
  71. package/dist/src/views/scheduling/components/ScheduleLegendBar.vue.d.ts +6 -0
  72. package/dist/src/views/scheduling/components/ScheduleOnboardingWelcome.vue.d.ts +12 -0
  73. package/dist/src/views/scheduling/components/ScheduleOnboardingWizard.vue.d.ts +6 -0
  74. package/dist/src/views/scheduling/components/ScheduleOpenShiftCardMenu.vue.d.ts +14 -0
  75. package/dist/src/views/scheduling/components/SchedulePdfPreview.vue.d.ts +6 -0
  76. package/dist/src/views/scheduling/components/SchedulePublishModal.vue.d.ts +8 -0
  77. package/dist/src/views/scheduling/components/ScheduleReviewBar.vue.d.ts +12 -0
  78. package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +24 -0
  79. package/dist/src/views/scheduling/components/ScheduleSelectExistingEmployeeModal.vue.d.ts +6 -0
  80. package/dist/src/views/scheduling/components/ScheduleShiftCardMenu.vue.d.ts +12 -0
  81. package/dist/src/views/scheduling/components/ScheduleShiftCell.vue.d.ts +31 -0
  82. package/dist/src/views/scheduling/components/ScheduleShiftHeadcountEditor.vue.d.ts +6 -0
  83. package/dist/src/views/scheduling/components/ScheduleShiftImpact.vue.d.ts +6 -0
  84. package/dist/src/views/scheduling/components/ScheduleShiftMoreOptions.vue.d.ts +6 -0
  85. package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +14 -0
  86. package/dist/src/views/scheduling/components/ScheduleShiftRepeatDaysRow.vue.d.ts +8 -0
  87. package/dist/src/views/scheduling/components/ScheduleShiftSegmentsEditor.vue.d.ts +8 -0
  88. package/dist/src/views/scheduling/components/ScheduleShiftWhoPicker.vue.d.ts +25 -0
  89. package/dist/src/views/scheduling/components/ScheduleStackPopover.vue.d.ts +14 -0
  90. package/dist/src/views/scheduling/components/ScheduleStaffRail.vue.d.ts +16 -0
  91. package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +54 -0
  92. package/dist/src/views/scheduling/components/ScheduleStatsRow.vue.d.ts +12 -0
  93. package/dist/src/views/scheduling/components/ScheduleSwapShiftsModal.vue.d.ts +8 -0
  94. package/dist/src/views/scheduling/components/ScheduleTimePickerPopover.vue.d.ts +6 -0
  95. package/dist/src/views/scheduling/components/ScheduleTopbar.vue.d.ts +22 -0
  96. package/dist/src/views/scheduling/composables/schedule-add-employee-form.d.ts +67 -0
  97. package/dist/src/views/scheduling/composables/schedule-board-helpers.d.ts +38 -0
  98. package/dist/src/views/scheduling/composables/schedule-day-meta.d.ts +29 -0
  99. package/dist/src/views/scheduling/composables/schedule-employee-profile.d.ts +7 -0
  100. package/dist/src/views/scheduling/composables/schedule-shift-time.d.ts +14 -0
  101. package/dist/src/views/scheduling/composables/schedule-week-cache.d.ts +10 -0
  102. package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +86 -0
  103. package/dist/src/views/scheduling/composables/useScheduleAddPick.d.ts +66 -0
  104. package/dist/src/views/scheduling/composables/useScheduleAllShiftsRow.d.ts +77 -0
  105. package/dist/src/views/scheduling/composables/useScheduleAreaBoard.d.ts +50 -0
  106. package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +18 -0
  107. package/dist/src/views/scheduling/composables/useScheduleAssign.d.ts +113 -0
  108. package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +136 -0
  109. package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +415 -0
  110. package/dist/src/views/scheduling/composables/useScheduleCellState.d.ts +27 -0
  111. package/dist/src/views/scheduling/composables/useScheduleClashDetection.d.ts +18 -0
  112. package/dist/src/views/scheduling/composables/useScheduleCopyWeek.d.ts +17 -0
  113. package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +43 -0
  114. package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +48 -0
  115. package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +82 -0
  116. package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +68 -0
  117. package/dist/src/views/scheduling/composables/useScheduleDemandRow.d.ts +45 -0
  118. package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +139 -0
  119. package/dist/src/views/scheduling/composables/useScheduleDragDrop.d.ts +22 -0
  120. package/dist/src/views/scheduling/composables/useScheduleEmployeeIdentity.d.ts +32 -0
  121. package/dist/src/views/scheduling/composables/useScheduleEmployeeProfile.d.ts +16 -0
  122. package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +26 -0
  123. package/dist/src/views/scheduling/composables/useScheduleFilterBar.d.ts +14 -0
  124. package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +80 -0
  125. package/dist/src/views/scheduling/composables/useScheduleLeave.d.ts +20 -0
  126. package/dist/src/views/scheduling/composables/useScheduleLegend.d.ts +15 -0
  127. package/dist/src/views/scheduling/composables/useScheduleLegendBar.d.ts +35 -0
  128. package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +179 -0
  129. package/dist/src/views/scheduling/composables/useScheduleOpenShiftCard.d.ts +23 -0
  130. package/dist/src/views/scheduling/composables/useScheduleOutlet.d.ts +19 -0
  131. package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +32 -0
  132. package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +91 -0
  133. package/dist/src/views/scheduling/composables/useScheduleRangeCalendar.d.ts +18 -0
  134. package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +183 -0
  135. package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +54 -0
  136. package/dist/src/views/scheduling/composables/useScheduleSetupBanner.d.ts +18 -0
  137. package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +225 -0
  138. package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +174 -0
  139. package/dist/src/views/scheduling/composables/useScheduleStaffRail.d.ts +20 -0
  140. package/dist/src/views/scheduling/composables/useScheduleStatsRow.d.ts +25 -0
  141. package/dist/src/views/scheduling/composables/useScheduleTimePicker.d.ts +44 -0
  142. package/dist/src/views/scheduling/composables/useScheduleTopbar.d.ts +10 -0
  143. package/dist/src/views/scheduling/data.d.ts +105 -0
  144. package/dist/src/views/scheduling/locales/index.d.ts +496 -0
  145. package/dist/src/views/scheduling/schedule-store.d.ts +116 -0
  146. package/dist/src/views/scheduling/types.d.ts +311 -0
  147. package/dist/src/views/team/components/PortalConditionForm.vue.d.ts +2 -2
  148. package/dist/src/views/team/condition-builders/ConditionBuilderForm.vue.d.ts +2 -2
  149. package/dist/src/views/team/member/TeamMemberMasterUser.vue.d.ts +12 -3
  150. package/dist/style.css +1 -1
  151. package/dist/tsconfig.app.tsbuildinfo +1 -1
  152. package/dist/{useReportPermissions-BiyAfGvZ.js → useReportPermissions-FieO4EAD.js} +3 -3
  153. package/dist/useScheduleOutlet-CmIG5dwQ.js +557 -0
  154. package/dist/useSchedulePositions-DPVAgdB2.js +103 -0
  155. package/package.json +1 -1
  156. package/dist/EmployeeList-Cu4RxVQX.js +0 -889
  157. package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-BUI0Xsgc.js +0 -85
  158. package/dist/SelectFilter-ATOm0hdn.js +0 -269
  159. package/dist/TeamMemberList-M6HA9BWu.js +0 -1248
  160. package/dist/employee-BcFgm8Rt.js +0 -204
@@ -0,0 +1,788 @@
1
+ import { toRaw as Ke, defineComponent as Fe, ref as v, computed as h, watch as X, resolveComponent as E, createElementBlock as ee, openBlock as g, Fragment as Ie, renderSlot as Ge, createVNode as i, unref as l, withCtx as y, createElementVNode as f, createBlock as I, createCommentVNode as j, toDisplayString as q, onUnmounted as Be, isRef as we, normalizeClass as ke, createTextVNode as ge, withModifiers as je, resolveDynamicComponent as qe, h as ie } from "vue";
2
+ import { useI18n as Re, useCoreStore as He } from "@feedmepos/mf-common";
3
+ import { useSnackbar as Me, components as $e, useDialog as Je, useBreakpoints as We } from "@feedmepos/ui-library";
4
+ import { S as ue } from "./SelectFilter-CG13h83-.js";
5
+ import { _ as Qe, a as Ye } from "./app-tDHL6k4G.js";
6
+ import { _ as xe, u as Ze, H as Xe } from "./FormItem.vue_vue_type_script_setup_true_lang-CUnlKsxk.js";
7
+ import { u as ea, _ as aa } from "./useDiscardConfirm-DPhEV6v0.js";
8
+ import { _ as la } from "./TableEmptyState.vue_vue_type_script_setup_true_lang-IfAZmWr0.js";
9
+ import { s as sa, _ as ta, a as oa, b as ra, c as Ee } from "./PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js";
10
+ import { u as na } from "./useDebounce-B8ZPVS5C.js";
11
+ import { n as ia } from "./string-VNuQNweN.js";
12
+ import { u as Le } from "./employee-Bs_2vqBY.js";
13
+ import { u as Pe } from "./restaurant-BTpBmfBV.js";
14
+ import { l as ua } from "./lodash-D5vM3paU.js";
15
+ import { _ as Ve } from "./FormSection.vue_vue_type_script_setup_true_lang-DknXTYiK.js";
16
+ import { u as De } from "./useLoading-CXzTpIVv.js";
17
+ import { E as ca } from "./index-Cz2b95YF.js";
18
+ import { u as he } from "./role-7ccipEEe.js";
19
+ /* empty css */
20
+ import { _ as ma } from "./_plugin-vue_export-helper-CHgC5LLL.js";
21
+ function Se($) {
22
+ return JSON.parse(JSON.stringify($));
23
+ }
24
+ function Ce($) {
25
+ if (typeof structuredClone > "u")
26
+ return Se($);
27
+ try {
28
+ return structuredClone(Ke($));
29
+ } catch {
30
+ return Se($);
31
+ }
32
+ }
33
+ const da = { class: "flex w-full items-center justify-between" }, pa = { class: "fm-typo-en-title-md-600" }, fa = { class: "space-y-40" }, va = { class: "flex flex-row gap-16" }, ya = { class: "space-y-16" }, ga = { class: "flex gap-8 items-center justify-start" }, Ue = 4, ha = /* @__PURE__ */ Fe({
34
+ __name: "EmployeeForm",
35
+ props: {
36
+ roleErrorMessage: {
37
+ type: String,
38
+ default: ""
39
+ }
40
+ },
41
+ emits: ["submitted"],
42
+ setup($, { expose: ce, emit: n }) {
43
+ const k = he(), d = Pe(), C = Le(), me = Me(), U = De(me), de = n, { t: c } = Re(), V = v(!1), R = v(!0);
44
+ function O() {
45
+ return {
46
+ restaurantId: "",
47
+ roleId: ""
48
+ };
49
+ }
50
+ function pe(u) {
51
+ if (!u) return _();
52
+ const o = Ce(u);
53
+ return {
54
+ code: o.code ?? "",
55
+ isMasterUser: o.isMasterUser ?? !1,
56
+ name: o.name ?? "",
57
+ passcode: o.passcode ?? "",
58
+ restaurants: o.restaurants.length > 0 ? o.restaurants.map(({ restaurantId: w, roleId: S }) => ({
59
+ restaurantId: w,
60
+ roleId: S
61
+ })) : [O()]
62
+ };
63
+ }
64
+ const ae = (u) => {
65
+ s.value = pe(u), b.value = Ce(s.value), J.value = u == null ? void 0 : u._id, F.value = [], s.value.passcode ? (F.value = s.value.passcode.split(""), P.value = !0) : P.value = !1, R.value = !u, V.value = !0;
66
+ };
67
+ function _() {
68
+ return {
69
+ code: "",
70
+ isMasterUser: !1,
71
+ name: "",
72
+ passcode: "",
73
+ restaurants: [O()]
74
+ };
75
+ }
76
+ const T = h(() => R.value ? c("hr.employee.form.add") : c("hr.employee.form.update")), H = h(() => R.value ? c("common.create") : c("common.update")), b = v(_()), s = v(_()), J = v(void 0), L = h(
77
+ () => sa(s.value.restaurants)
78
+ );
79
+ function le(u) {
80
+ var o;
81
+ return u ? !((o = d.restaurants.value.find((w) => w._id === u)) != null && o.managable) : !1;
82
+ }
83
+ function se(u) {
84
+ return u.isUsable;
85
+ }
86
+ const F = v([]), P = v(!1), z = v(!1), W = v(!1), te = h(() => L.value.length > 0);
87
+ async function D() {
88
+ if (te.value)
89
+ try {
90
+ const u = await U.custom(
91
+ () => ca.generateEmployeePasscode({
92
+ restaurantIds: L.value,
93
+ excludePosUserId: J.value
94
+ }),
95
+ { isLoading: W }
96
+ );
97
+ P.value = !1, F.value = u.split(""), s.value.passcode = u;
98
+ } catch {
99
+ }
100
+ }
101
+ const K = ea(
102
+ () => !ua.isEqual(s.value, b.value),
103
+ () => {
104
+ V.value = !1;
105
+ }
106
+ );
107
+ async function fe() {
108
+ const u = {
109
+ user: {
110
+ name: s.value.name,
111
+ passcode: s.value.passcode,
112
+ code: s.value.code
113
+ },
114
+ roles: s.value.restaurants
115
+ };
116
+ s.value.isMasterUser ? await C.createMasterEmployee(u) : (delete u.user.code, await C.createEmployee(u));
117
+ }
118
+ async function Q() {
119
+ var S, M;
120
+ const u = b.value, o = J.value, w = {
121
+ user: {
122
+ name: s.value.name,
123
+ passcode: s.value.passcode
124
+ },
125
+ roles: s.value.restaurants,
126
+ previousRoles: (S = u.restaurants) == null ? void 0 : S.map((x) => ({
127
+ restaurantId: x.restaurantId,
128
+ roleId: x.roleId
129
+ }))
130
+ };
131
+ if (!s.value.isMasterUser)
132
+ await C.updateEmployee(o, w);
133
+ else {
134
+ const x = {
135
+ user: {
136
+ name: s.value.name,
137
+ passcode: s.value.passcode,
138
+ code: s.value.code
139
+ },
140
+ roles: s.value.restaurants,
141
+ previousRoles: (M = u.restaurants) == null ? void 0 : M.map((N) => ({
142
+ restaurantId: N.restaurantId,
143
+ roleId: N.roleId
144
+ }))
145
+ };
146
+ b.value.isMasterUser ? await C.updateMasterEmployee(o, x) : await C.migrateToMasterUser(o, x);
147
+ }
148
+ }
149
+ async function G() {
150
+ R.value ? await U.minor(
151
+ async () => {
152
+ await fe();
153
+ },
154
+ {
155
+ successMessage: c("hr.employee.create.successMessage"),
156
+ isLoading: z
157
+ }
158
+ ) : await U.minor(
159
+ async () => {
160
+ await Q();
161
+ },
162
+ {
163
+ successMessage: c("hr.employee.update.successMessage"),
164
+ isLoading: z
165
+ }
166
+ ), de("submitted"), V.value = !1;
167
+ }
168
+ return X(
169
+ () => V.value,
170
+ (u) => {
171
+ }
172
+ ), ce({
173
+ show: V,
174
+ trigger: ae
175
+ }), (u, o) => {
176
+ const w = E("FmIcon"), S = E("FmSwitch"), M = E("FmTextField"), x = E("FmFormGroup"), N = E("fm-button"), oe = E("fm-side-sheet");
177
+ return g(), ee(Ie, null, [
178
+ Ge(u.$slots, "default", { trigger: ae }),
179
+ i(oe, {
180
+ id: "unit-form",
181
+ modelValue: V.value,
182
+ "onUpdate:modelValue": o[9] || (o[9] = (t) => V.value = t),
183
+ "is-container": l($e).FmForm,
184
+ "is-container-props": {
185
+ onValidationSuccess: G,
186
+ blameFormChildOnValidationFailed: !0
187
+ },
188
+ "max-width": 960,
189
+ "close-button": !1,
190
+ "onOn:clickedAway": l(K)
191
+ }, {
192
+ "side-sheet-header": y(() => [
193
+ f("div", da, [
194
+ f("p", pa, q(T.value), 1),
195
+ i(w, {
196
+ name: "close",
197
+ size: "md",
198
+ class: "cursor-pointer",
199
+ onClick: l(K)
200
+ }, null, 8, ["onClick"])
201
+ ])
202
+ ]),
203
+ "side-sheet-footer": y(() => [
204
+ f("div", ga, [
205
+ i(N, {
206
+ label: H.value,
207
+ size: "lg",
208
+ type: "submit",
209
+ variant: "primary",
210
+ disabled: z.value
211
+ }, null, 8, ["label", "disabled"]),
212
+ i(N, {
213
+ label: l(c)("common.cancel"),
214
+ size: "lg",
215
+ variant: "tertiary",
216
+ disabled: z.value,
217
+ onClick: l(K)
218
+ }, null, 8, ["label", "disabled", "onClick"])
219
+ ])
220
+ ]),
221
+ default: y(() => [
222
+ f("div", fa, [
223
+ i(Ve, {
224
+ title: l(c)("hr.employee.form.employeeSetting")
225
+ }, {
226
+ default: y(() => [
227
+ i(xe, {
228
+ label: l(c)("hr.employee.form.masterUserConfig")
229
+ }, {
230
+ default: y(() => [
231
+ i(S, {
232
+ modelValue: s.value.isMasterUser,
233
+ "onUpdate:modelValue": o[0] || (o[0] = (t) => s.value.isMasterUser = t),
234
+ value: "masterUser",
235
+ label: l(c)("hr.employee.form.masterUser"),
236
+ sublabel: l(c)("hr.employee.form.masterUserSublabel"),
237
+ "label-placement": "right"
238
+ }, null, 8, ["modelValue", "label", "sublabel"])
239
+ ]),
240
+ _: 1
241
+ }, 8, ["label"]),
242
+ f("div", va, [
243
+ s.value.isMasterUser ? (g(), I(M, {
244
+ key: 0,
245
+ modelValue: s.value.code,
246
+ "onUpdate:modelValue": o[1] || (o[1] = (t) => s.value.code = t),
247
+ label: l(c)("hr.employee.form.code")
248
+ }, null, 8, ["modelValue", "label"])) : j("", !0),
249
+ i(M, {
250
+ modelValue: s.value.name,
251
+ "onUpdate:modelValue": o[2] || (o[2] = (t) => s.value.name = t),
252
+ class: "w-full",
253
+ label: l(c)("hr.employee.form.name"),
254
+ rules: [(t) => !!t || l(c)("hr.employee.form.required")]
255
+ }, null, 8, ["modelValue", "label", "rules"])
256
+ ]),
257
+ i(xe, {
258
+ label: l(c)("hr.employee.form.passcode")
259
+ }, {
260
+ default: y(() => [
261
+ f("div", ya, [
262
+ i(x, {
263
+ modelValue: F.value,
264
+ "onUpdate:modelValue": o[6] || (o[6] = (t) => F.value = t),
265
+ rules: [
266
+ (t) => (t == null ? void 0 : t.filter((B) => !!B).length) !== Ue ? l(c)("hr.employee.form.passcodeRequired") : !0
267
+ ]
268
+ }, {
269
+ default: y(() => [
270
+ i(ta, {
271
+ modelValue: F.value,
272
+ "onUpdate:modelValue": o[3] || (o[3] = (t) => F.value = t),
273
+ masked: P.value,
274
+ "onUpdate:masked": o[4] || (o[4] = (t) => P.value = t),
275
+ length: Ue,
276
+ "toggle-label": l(c)("hr.employee.form.passcodeToggleVisibility"),
277
+ onComplete: o[5] || (o[5] = (t) => s.value.passcode = t)
278
+ }, null, 8, ["modelValue", "masked", "toggle-label"])
279
+ ]),
280
+ _: 1
281
+ }, 8, ["modelValue", "rules"]),
282
+ i(oa, {
283
+ label: l(c)("hr.employee.form.passcodeGenerate"),
284
+ hint: l(c)("hr.employee.form.passcodeSelectOutletFirst"),
285
+ loading: W.value,
286
+ disabled: !te.value,
287
+ onClick: D
288
+ }, null, 8, ["label", "hint", "loading", "disabled"])
289
+ ])
290
+ ]),
291
+ _: 1
292
+ }, 8, ["label"])
293
+ ]),
294
+ _: 1
295
+ }, 8, ["title"]),
296
+ i(Ve, null, {
297
+ default: y(() => [
298
+ i(x, {
299
+ modelValue: s.value.restaurants,
300
+ "onUpdate:modelValue": o[8] || (o[8] = (t) => s.value.restaurants = t),
301
+ tag: "div",
302
+ rules: [
303
+ (t) => t.length > 0 || l(c)("hr.employee.form.atLeastOneRestaurant"),
304
+ (t) => t.every((B) => B.restaurantId && B.roleId) || l(c)("hr.employee.form.roleRequired")
305
+ ]
306
+ }, {
307
+ default: y(() => [
308
+ i(ra, {
309
+ modelValue: s.value.restaurants,
310
+ "onUpdate:modelValue": o[7] || (o[7] = (t) => s.value.restaurants = t),
311
+ restaurants: l(d).restaurants.value,
312
+ roles: l(k).roles.value,
313
+ "is-role-usable": se,
314
+ "is-restaurant-locked": le,
315
+ "create-row": O,
316
+ title: l(c)("hr.employee.form.assignmentSection"),
317
+ "restaurant-label": l(c)("hr.employee.columns.restaurants"),
318
+ "role-label": l(c)("hr.employee.form.role"),
319
+ "add-label": l(c)("hr.employee.form.addAnother"),
320
+ "remove-label": l(c)("common.remove")
321
+ }, null, 8, ["modelValue", "restaurants", "roles", "title", "restaurant-label", "role-label", "add-label", "remove-label"])
322
+ ]),
323
+ _: 1
324
+ }, 8, ["modelValue", "rules"])
325
+ ]),
326
+ _: 1
327
+ })
328
+ ])
329
+ ]),
330
+ _: 1
331
+ }, 8, ["modelValue", "is-container", "is-container-props", "onOn:clickedAway"])
332
+ ], 64);
333
+ };
334
+ }
335
+ }), _a = {
336
+ class: "space-y-8"
337
+ }, ba = {
338
+ key: 0,
339
+ class: "flex w-full items-start justify-between"
340
+ }, wa = {
341
+ class: "flex items-start gap-8"
342
+ }, ka = {
343
+ class: "flex"
344
+ }, xa = {
345
+ key: 1,
346
+ class: "space-y-4"
347
+ }, Ea = {
348
+ class: "px-16"
349
+ }, Va = {
350
+ class: "px-16 flex items-start gap-8"
351
+ }, Sa = {
352
+ class: "flex h-full flex-col overflow-auto"
353
+ }, Ca = {
354
+ class: "space-y-4"
355
+ }, Ua = {
356
+ class: "fm-typo-en-body-lg-600"
357
+ }, Fa = {
358
+ key: 0,
359
+ class: "mr-4"
360
+ }, Ia = {
361
+ class: "text-fm-color-typo-secondary"
362
+ }, Ra = {
363
+ class: "line-clamp-2"
364
+ }, Ma = {
365
+ class: "font-bold"
366
+ }, A = 200, $a = /* @__PURE__ */ Fe({
367
+ __name: "EmployeeList",
368
+ setup($, {
369
+ expose: ce
370
+ }) {
371
+ const {
372
+ t: n
373
+ } = Re(), k = v(), d = Le(), C = Pe(), me = He(), {
374
+ currentBusiness: U,
375
+ sessionUser: de
376
+ } = me, c = he(), V = h(() => C.isLoading.value), R = v(c.roles.value.length === 0);
377
+ X(C.restaurants, (e) => {
378
+ if (e.length > 0 && d.listEmployees.value.length > 0) {
379
+ const a = new Map(e.map((r) => [r._id, r]));
380
+ d.listEmployees.value = d.listEmployees.value.map((r) => ({
381
+ ...r,
382
+ restaurants: r.restaurants.map((p) => {
383
+ var Y, Z;
384
+ return {
385
+ ...p,
386
+ restaurantName: ((Y = a.get(p.restaurantId)) == null ? void 0 : Y.profile.name) || p.restaurantName,
387
+ restaurantCode: ((Z = a.get(p.restaurantId)) == null ? void 0 : Z.profile.code) ?? void 0
388
+ };
389
+ })
390
+ }));
391
+ }
392
+ });
393
+ const O = h(() => C.restaurants.value.map((e) => ({
394
+ label: `${e.profile.code ? `${e.profile.code} - ` : ""}${e.profile.name}`,
395
+ value: e._id
396
+ }))), pe = X(c.roles, (e) => {
397
+ if (e.length > 0) {
398
+ if (R.value = !1, d.listEmployees.value.length > 0) {
399
+ const a = new Map(e.map((r) => [r._id, r.name]));
400
+ d.listEmployees.value = d.listEmployees.value.map((r) => ({
401
+ ...r,
402
+ restaurants: r.restaurants.map((p) => ({
403
+ ...p,
404
+ roleName: a.get(p.roleId) || p.roleName
405
+ }))
406
+ }));
407
+ }
408
+ pe();
409
+ }
410
+ }), ae = h(() => d.listEmployees.value), {
411
+ searchKey: _
412
+ } = Ze(), T = v(""), H = h(() => ae.value), b = h(() => d.totalEmployees.value), s = v(1), J = h(() => d.isLoading.value), L = v(!1), le = h(() => {
413
+ var e;
414
+ return JSON.stringify({
415
+ businessId: ((e = U.value) == null ? void 0 : e._id) ?? "",
416
+ search: T.value.trim(),
417
+ restaurantIds: [...k.value ?? []].sort(),
418
+ roleIds: [...t.value ?? []].sort()
419
+ });
420
+ }), se = (e) => {
421
+ const a = e.restaurantCode, r = e.restaurantName;
422
+ return a ? `${a} - ${r}` : r;
423
+ }, F = (e) => e.roleName || "-";
424
+ function P(e) {
425
+ return [{
426
+ label: n("hr.employee.form.update"),
427
+ onClick: () => w(e)
428
+ }, {
429
+ label: n("hr.employee.remove.title"),
430
+ onClick: () => M(e),
431
+ itemClass: "text-fm-color-typo-error"
432
+ }];
433
+ }
434
+ const z = ({
435
+ employee: e,
436
+ className: a = ""
437
+ }) => i("div", {
438
+ class: a,
439
+ onClick: (r) => {
440
+ r.stopPropagation();
441
+ }
442
+ }, [i(aa, {
443
+ items: P(e)
444
+ }, null)]), W = [{
445
+ accessorKey: "code",
446
+ size: 100,
447
+ header: () => n("hr.employee.columns.code")
448
+ }, {
449
+ accessorKey: "name",
450
+ header: () => n("hr.employee.columns.name"),
451
+ enableSorting: !1,
452
+ cell(e) {
453
+ const a = e.row.original;
454
+ return i("div", {
455
+ class: "flex items-center gap-8"
456
+ }, [i($e.FmAvatar, {
457
+ name: a.name,
458
+ initials: ia(a.name),
459
+ size: "sm",
460
+ class: "shrink-0"
461
+ }, null), i("span", {
462
+ class: "truncate"
463
+ }, [a.name])]);
464
+ }
465
+ }, {
466
+ accessorKey: "restaurants",
467
+ align: "center",
468
+ header: () => n("hr.employee.columns.restaurants"),
469
+ enableSorting: !1,
470
+ cell(e) {
471
+ return V.value || R.value ? ie(Ee) : e.row.original.restaurants.map((a, r) => {
472
+ const p = se(a);
473
+ return ie("div", {
474
+ key: a.restaurantId || r
475
+ }, (r ? `
476
+ ` : "") + p);
477
+ });
478
+ }
479
+ }, {
480
+ accessorKey: "assignedRole",
481
+ align: "center",
482
+ header: () => n("hr.employee.columns.assignedRole"),
483
+ enableSorting: !1,
484
+ cell(e) {
485
+ return V.value || R.value ? ie(Ee, {
486
+ width: "120px"
487
+ }) : e.row.original.restaurants.map((a, r) => {
488
+ const p = F(a);
489
+ return ie("div", {
490
+ key: a.restaurantId || r
491
+ }, (r ? `
492
+ ` : "") + p);
493
+ });
494
+ }
495
+ }, {
496
+ accessorKey: "since",
497
+ header: () => n("hr.employee.columns.since"),
498
+ enableSorting: !1
499
+ }, {
500
+ id: "action",
501
+ size: 52,
502
+ meta: {
503
+ cellClass: "pl-16",
504
+ headerContentClass: "-mx-16"
505
+ },
506
+ cell(e) {
507
+ return z({
508
+ employee: e.row.original,
509
+ className: "flex w-full items-center justify-end"
510
+ });
511
+ }
512
+ }], te = ({
513
+ employee: e
514
+ }) => i("div", {
515
+ class: "flex flex-col gap-4 grow p-8"
516
+ }, [W.map((a, r) => i("div", {
517
+ key: a.id ?? a.accessorKey ?? r,
518
+ class: "fm-typo-en-body-md-400 line-clamp-2 w-full"
519
+ }, [a.cell ? a.cell({
520
+ row: {
521
+ original: e
522
+ }
523
+ }) : e[a.accessorKey]]))]), D = Me(), K = Je(), fe = De(D), Q = v(!1), G = v(), u = v();
524
+ function o(e) {
525
+ const a = e.isRestricted;
526
+ return a && D.open({
527
+ message: n("hr.employee.cannotUpdateMasterUser", {
528
+ name: e.name
529
+ }),
530
+ type: "error"
531
+ }), a;
532
+ }
533
+ const w = (e) => {
534
+ var r;
535
+ e && o(e) || (r = u.value) == null || r.trigger(e);
536
+ }, {
537
+ breakpoints: S
538
+ } = We(), M = (e) => {
539
+ o(e) || K.open({
540
+ title: n("hr.employee.remove.title"),
541
+ message: n("hr.employee.remove.message", {
542
+ name: e.name
543
+ }),
544
+ minWidth: S.value.lg ? 588 : 0,
545
+ primaryActions: {
546
+ text: n("common.remove"),
547
+ close: !1,
548
+ variant: "destructive",
549
+ isLoading: Q
550
+ },
551
+ secondaryActions: {
552
+ text: n("common.cancel"),
553
+ close: !0
554
+ }
555
+ }).onPrimary(async () => {
556
+ if (Q.value) return;
557
+ const r = e.isMasterUser ? d.deleteMasterEmployee : d.deleteEmployee;
558
+ await fe.minor(async () => {
559
+ await r(e), await ve();
560
+ }, {
561
+ isLoading: Q,
562
+ successMessage: n("hr.employee.remove.successMessage", {
563
+ name: e.name
564
+ })
565
+ }).catch(() => {
566
+ }), K.close();
567
+ });
568
+ }, x = v("");
569
+ function N() {
570
+ var e;
571
+ (e = u.value) == null || e.trigger();
572
+ }
573
+ const oe = h(() => he().roles.value.map((e) => ({
574
+ label: e.name,
575
+ value: e._id
576
+ }))), t = v();
577
+ async function B() {
578
+ try {
579
+ await d.syncUsersMeta(), await ve(), D.open({
580
+ message: n("hr.employee.sync.successMessage"),
581
+ type: "success"
582
+ });
583
+ } catch (e) {
584
+ console.error("Error syncing users:", e), D.open({
585
+ message: n("hr.employee.sync.errorMessage"),
586
+ type: "error"
587
+ });
588
+ }
589
+ }
590
+ async function re(e = s.value) {
591
+ var a, r;
592
+ try {
593
+ await d.readEmployeesPage({
594
+ limit: A,
595
+ offset: (e - 1) * A,
596
+ search: T.value.trim() || void 0,
597
+ restaurantIds: (a = k.value) != null && a.length ? k.value : void 0,
598
+ roleIds: (r = t.value) != null && r.length ? t.value : void 0
599
+ });
600
+ } catch (p) {
601
+ console.error("Failed to load employees:", p), D.open({
602
+ message: p instanceof Error ? p.message : String(p),
603
+ type: "error"
604
+ });
605
+ }
606
+ }
607
+ async function ve() {
608
+ var a;
609
+ if (!((a = U.value) != null && a._id)) return;
610
+ await re(s.value);
611
+ const e = Math.max(1, Math.ceil(b.value / A));
612
+ s.value > e && (s.value = e, await re(s.value));
613
+ }
614
+ async function Ne() {
615
+ var e, a;
616
+ return await d.readAllEmployeesPage({
617
+ search: T.value.trim() || void 0,
618
+ restaurantIds: (e = k.value) != null && e.length ? k.value : void 0,
619
+ roleIds: (a = t.value) != null && a.length ? t.value : void 0
620
+ }, b.value);
621
+ }
622
+ const Ae = na(_, () => {
623
+ T.value = _.value;
624
+ }, 300);
625
+ Be(Ae);
626
+ let ye = !1;
627
+ async function Oe({
628
+ pageIndex: e
629
+ }) {
630
+ var a;
631
+ if ((a = U.value) != null && a._id && !ye && !(e === 0 && s.value === 1 && H.value.length > 0)) {
632
+ ye = !0, s.value = e + 1;
633
+ try {
634
+ await re(s.value);
635
+ } finally {
636
+ ye = !1;
637
+ }
638
+ }
639
+ }
640
+ X(le, async () => {
641
+ var e;
642
+ s.value = 1, L.value = !1, (e = U.value) != null && e._id && (await re(1), L.value = !0);
643
+ }, {
644
+ immediate: !0
645
+ }), X(() => G.value && G.value.restaurants, (e) => {
646
+ e && e.length > 0 && (x.value = "");
647
+ });
648
+ const Te = h(() => b.value > A);
649
+ return ce({
650
+ create: N,
651
+ filteredEmployees: H,
652
+ exportEmployees: Ne,
653
+ getHasPaginationFooter: () => Te.value
654
+ }), (e, a) => {
655
+ var _e, be;
656
+ const r = E("FmButton"), p = E("FmTooltip"), Y = E("FmSearch"), Z = E("FmListItem"), ze = E("FmTable");
657
+ return g(), ee(Ie, null, [i(ha, {
658
+ ref_key: "employeeFormRef",
659
+ ref: u,
660
+ modelValue: G.value,
661
+ "onUpdate:modelValue": a[0] || (a[0] = (m) => G.value = m),
662
+ "role-error-message": x.value,
663
+ class: "gap-8",
664
+ onSubmitted: ve
665
+ }, null, 8, ["modelValue", "role-error-message"]), f("div", _a, [l(S).xs ? (g(), ee("div", xa, [f("div", Ea, [i(Y, {
666
+ modelValue: l(_),
667
+ "onUpdate:modelValue": a[4] || (a[4] = (m) => we(_) ? _.value = m : null),
668
+ placeholder: l(n)("hr.employee.search.placeholder")
669
+ }, null, 8, ["modelValue", "placeholder"])]), i(Xe), f("div", Va, [i(ue, {
670
+ modelValue: k.value,
671
+ "onUpdate:modelValue": a[5] || (a[5] = (m) => k.value = m),
672
+ multiple: "",
673
+ items: O.value,
674
+ variant: "dark",
675
+ "selected-prefix": l(n)("hr.role.columns.restaurants"),
676
+ placeholder: l(n)("hr.role.columns.restaurants"),
677
+ class: "!w-auto"
678
+ }, null, 8, ["modelValue", "items", "selected-prefix", "placeholder"]), i(ue, {
679
+ modelValue: t.value,
680
+ "onUpdate:modelValue": a[6] || (a[6] = (m) => t.value = m),
681
+ multiple: "",
682
+ items: oe.value,
683
+ variant: "dark",
684
+ "selected-prefix": l(n)("hr.employee.filter.selected_role_prefix"),
685
+ placeholder: l(n)("hr.employee.filter.role_placeholder")
686
+ }, null, 8, ["modelValue", "items", "selected-prefix", "placeholder"])])])) : (g(), ee("div", ba, [f("div", wa, [i(ue, {
687
+ modelValue: k.value,
688
+ "onUpdate:modelValue": a[1] || (a[1] = (m) => k.value = m),
689
+ multiple: "",
690
+ items: O.value,
691
+ variant: "dark",
692
+ "selected-prefix": l(n)("hr.role.columns.restaurants"),
693
+ placeholder: l(n)("hr.role.columns.restaurants"),
694
+ class: "!w-auto"
695
+ }, null, 8, ["modelValue", "items", "selected-prefix", "placeholder"]), i(ue, {
696
+ modelValue: t.value,
697
+ "onUpdate:modelValue": a[2] || (a[2] = (m) => t.value = m),
698
+ multiple: "",
699
+ variant: "dark",
700
+ items: oe.value,
701
+ "selected-prefix": l(n)("hr.employee.filter.selected_role_prefix"),
702
+ placeholder: l(n)("hr.employee.filter.role_placeholder")
703
+ }, null, 8, ["modelValue", "items", "selected-prefix", "placeholder"])]), f("div", ka, [(_e = l(de)) != null && _e.role.isAdmin ? (g(), I(p, {
704
+ key: 0,
705
+ content: l(n)("hr.employee.sync.tooltip")
706
+ }, {
707
+ default: y(() => [i(r, {
708
+ icon: "refresh",
709
+ label: l(n)("hr.employee.sync.tooltip"),
710
+ variant: "tertiary",
711
+ onClick: B
712
+ }, null, 8, ["label"])]),
713
+ _: 1
714
+ }, 8, ["content"])) : j("", !0), i(Y, {
715
+ modelValue: l(_),
716
+ "onUpdate:modelValue": a[3] || (a[3] = (m) => we(_) ? _.value = m : null),
717
+ autofocus: "",
718
+ class: "pl-4 w-[320px]",
719
+ placeholder: l(n)("hr.employee.search.placeholder")
720
+ }, null, 8, ["modelValue", "placeholder"])])])), (be = l(U)) != null && be._id ? (g(), I(Qe, {
721
+ key: 2
722
+ }, {
723
+ default: y(() => [f("div", Sa, [!L.value && l(d).isLoading.value ? (g(), I(Ye, {
724
+ key: 0
725
+ })) : j("", !0), L.value ? (g(), I(la, {
726
+ key: 1,
727
+ "is-loading": l(d).isLoading.value,
728
+ "is-empty": b.value === 0,
729
+ title: l(n)("hr.employee.noData.title"),
730
+ subtitle: l(n)("hr.employee.noData.subtitle")
731
+ }, {
732
+ default: y(() => [(g(), I(ze, {
733
+ key: le.value,
734
+ class: ke(["employee-list-table h-full", {
735
+ "employee-list-table--pagination-loading": J.value
736
+ }]),
737
+ "column-defs": W,
738
+ "row-data": H.value,
739
+ "page-size": A,
740
+ "page-count": Math.ceil(b.value / A),
741
+ "row-count": b.value,
742
+ "fetch-fn": Oe,
743
+ "hide-footer": b.value <= A,
744
+ loading: l(d).isLoading.value,
745
+ virtual: !1,
746
+ "pin-header-row": "",
747
+ onRowClick: a[7] || (a[7] = (m) => w(m.original))
748
+ }, {
749
+ "list-row": y((m) => [l(S).xs ? (g(), I(Z, {
750
+ key: 0,
751
+ class: ke(["py-12 px-16 items-center justify-between", {
752
+ "border-t border-fm-color-neutral-gray-100": m.index > 0
753
+ }]),
754
+ onClick: (ne) => w(m.original)
755
+ }, {
756
+ default: y(() => [f("div", Ca, [f("p", Ua, [m.original.code ? (g(), ee("span", Fa, q(m.original.code) + ".", 1)) : j("", !0), ge(q(m.original.name), 1)]), f("div", Ia, [f("p", Ra, [f("span", Ma, q(l(n)("hr.employee.columns.restaurants")) + ":", 1), ge(" " + q(m.original.restaurants.map((ne) => se(ne)).join(", ")), 1)]), f("p", null, [a[8] || (a[8] = f("span", {
757
+ class: "font-bold"
758
+ }, "Since:", -1)), ge(" " + q(m.original.since), 1)])])]), i(r, {
759
+ icon: "delete",
760
+ variant: "tertiary",
761
+ "text-color": "neutral-gray-400",
762
+ onClick: je((ne) => M(m.original), ["stop"])
763
+ }, null, 8, ["onClick"])]),
764
+ _: 2
765
+ }, 1032, ["class", "onClick"])) : (g(), I(Z, {
766
+ key: 1,
767
+ style: {
768
+ padding: "0"
769
+ },
770
+ onClick: (ne) => w(m.original)
771
+ }, {
772
+ default: y(() => [(g(), I(qe(te), {
773
+ employee: m.original
774
+ }, null, 8, ["employee"]))]),
775
+ _: 2
776
+ }, 1032, ["onClick"]))]),
777
+ _: 1
778
+ }, 8, ["class", "row-data", "page-count", "row-count", "hide-footer", "loading"]))]),
779
+ _: 1
780
+ }, 8, ["is-loading", "is-empty", "title", "subtitle"])) : j("", !0)])]),
781
+ _: 1
782
+ })) : j("", !0)])], 64);
783
+ };
784
+ }
785
+ }), el = /* @__PURE__ */ ma($a, [["__scopeId", "data-v-5aed0d1c"]]);
786
+ export {
787
+ el as default
788
+ };