@feedmepos/mf-hrm-portal 2.3.0-dev.3 → 2.3.0-dev.30

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 (137) hide show
  1. package/dist/{ApprovalCodeList-SjyWZghY.js → ApprovalCodeList-CaDmeGvQ.js} +7 -7
  2. package/dist/{AuditLogList-aTI3QeO0.js → AuditLogList-hnICcJxN.js} +18 -19
  3. package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang--JTV7non.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-CM3AAsUP.js} +2 -2
  4. package/dist/{EmployeeList-D2Q_2ZE0.js → EmployeeList-DjfBIMQV.js} +255 -266
  5. package/dist/{FormItem.vue_vue_type_script_setup_true_lang-CUnlKsxk.js → FormItem.vue_vue_type_script_setup_true_lang-CTGlmY6t.js} +6 -6
  6. package/dist/{GrantUserList-6YXLPuHR.js → GrantUserList-DH1HXfV4.js} +8 -8
  7. package/dist/{Main-dSqOeBRJ.js → Main-1GboTunP.js} +11 -11
  8. package/dist/{Main-B-a6F9g8.js → Main-C4S5bpnK.js} +8 -8
  9. package/dist/{Main-CFIWlIaC.js → Main-D0o-aQHX.js} +5 -5
  10. package/dist/{PermissionSetList-DxkaPCMs.js → PermissionSetList-CSONq6qt.js} +19 -18
  11. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-fU3Feetb.js +4167 -0
  12. package/dist/{PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-fe-Rdwn4.js → PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-DQcgZ0nF.js} +1 -1
  13. package/dist/ResponsiveContextMenu.vue_vue_type_script_setup_true_lang-mSJFKo7r.js +132 -0
  14. package/dist/{RoleList-DQZ_w5uM.js → RoleList-WdgayfhL.js} +21 -20
  15. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-Bx1P_UAW.js +530 -0
  16. package/dist/ScheduleGeneralPage-XUX2-_Vc.js +776 -0
  17. package/dist/ScheduleModal.vue_vue_type_script_setup_true_lang-CECio4Kc.js +2457 -0
  18. package/dist/SchedulePage-LQ7-8VUw.js +19366 -0
  19. package/dist/{SchedulePositionPage-BGrZBU3g.js → SchedulePositionPage-DcUbTYV6.js} +79 -81
  20. package/dist/{SelectFilter-CG13h83-.js → SelectFilter-BbkPuYP_.js} +1 -1
  21. package/dist/{TeamMemberList-BiTHVJwE.js → TeamMemberList-BMdMDYBF.js} +27 -27
  22. package/dist/{TimesheetList-CUkYacGW.js → TimesheetList-B6vZEmgb.js} +52 -53
  23. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-B1Y587O-.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-Bna8vHO7.js} +3 -3
  24. package/dist/{app-CAKCDrbJ.js → app-DwBKX4e9.js} +2891 -2474
  25. package/dist/app.js +1 -1
  26. package/dist/{approval-code-C9DmR4Md.js → approval-code-BXUiojPH.js} +1 -1
  27. package/dist/{dayjs.min-CZ8QYRoc.js → dayjs.min-DAKzxOMD.js} +1 -1
  28. package/dist/{employee-D56eWEFe.js → employee-GhYyAhwS.js} +51 -47
  29. package/dist/{grant-user-Bv-pJ9Wt.js → grant-user-CBJ3gEgW.js} +1 -1
  30. package/dist/{iteration-BVJdyLNq.js → iteration-Da8377p8.js} +1 -1
  31. package/dist/{lodash-BcIRkQPW.js → lodash-DChu1GU2.js} +1 -1
  32. package/dist/object-Dwyg2LgX.js +16 -0
  33. package/dist/{restaurant-D7PEQjPY.js → restaurant-D2mfKHaH.js} +48 -48
  34. package/dist/{role-B-eZDaBX.js → role-CyynUSdG.js} +2 -2
  35. package/dist/{rule-D6AIfx8b.js → rule-Cnn7MV1z.js} +3 -3
  36. package/dist/src/api/employee/index.d.ts +2 -2
  37. package/dist/src/api/schedule/index.d.ts +17 -2
  38. package/dist/src/components/layout/SchedulePromoBanner.vue.d.ts +2 -0
  39. package/dist/src/composables/useDiscardConfirm.d.ts +3 -1
  40. package/dist/src/composables/useMessage.d.ts +8 -2
  41. package/dist/src/stores/employee.d.ts +12 -12
  42. package/dist/src/types/schedule.d.ts +3 -4
  43. package/dist/src/views/audit-log/locales/index.d.ts +252 -0
  44. package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +4 -8
  45. package/dist/src/views/scheduling/components/{ScheduleAssignEmployeePopover.vue.d.ts → ScheduleAutoScheduleDetailsModal.vue.d.ts} +2 -2
  46. package/dist/src/views/scheduling/components/ScheduleAutoScheduleDoneArt.vue.d.ts +2 -0
  47. package/dist/src/views/scheduling/components/ScheduleBoardAreaRows.vue.d.ts +1 -4
  48. package/dist/src/views/scheduling/components/ScheduleBoardEditOverlays.vue.d.ts +0 -2
  49. package/dist/src/views/scheduling/components/ScheduleBoardEmployeeRows.vue.d.ts +0 -7
  50. package/dist/src/views/scheduling/components/ScheduleBoardGridHeader.vue.d.ts +5 -0
  51. package/dist/src/views/scheduling/components/ScheduleBoardInteractionOverlays.vue.d.ts +2 -6
  52. package/dist/src/views/scheduling/components/ScheduleBoardOnboardingOverlays.vue.d.ts +1 -0
  53. package/dist/src/views/scheduling/components/ScheduleBoardToolbar.vue.d.ts +0 -1
  54. package/dist/src/views/scheduling/components/ScheduleCompletionDialog.vue.d.ts +1 -1
  55. package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +4 -1
  56. package/dist/src/views/scheduling/components/ScheduleContextMenu.vue.d.ts +1 -5
  57. package/dist/src/views/scheduling/components/ScheduleDayTimeline.vue.d.ts +5 -0
  58. package/dist/src/views/scheduling/components/ScheduleLoadState.vue.d.ts +0 -1
  59. package/dist/src/views/scheduling/components/ScheduleOnboardingAssignPositionModal.vue.d.ts +6 -0
  60. package/dist/src/views/scheduling/components/ScheduleOnboardingSettings.vue.d.ts +6 -0
  61. package/dist/src/views/scheduling/components/SchedulePublishShareArt.vue.d.ts +2 -0
  62. package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +10 -0
  63. package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +1 -1
  64. package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +0 -10
  65. package/dist/src/views/scheduling/composables/auto-schedule-mapping.d.ts +33 -0
  66. package/dist/src/views/scheduling/composables/onboarding-types.d.ts +2 -1
  67. package/dist/src/views/scheduling/composables/remyPrompt.d.ts +15 -0
  68. package/dist/src/views/scheduling/composables/schedule-add-employee-form.d.ts +12 -8
  69. package/dist/src/views/scheduling/composables/schedule-board-helpers.d.ts +4 -0
  70. package/dist/src/views/scheduling/composables/schedule-day-meta.d.ts +1 -3
  71. package/dist/src/views/scheduling/composables/schedule-demand-domain.d.ts +13 -1
  72. package/dist/src/views/scheduling/composables/schedule-error.d.ts +1 -0
  73. package/dist/src/views/scheduling/composables/schedule-quick-pick.d.ts +22 -0
  74. package/dist/src/views/scheduling/composables/schedule-shift-time.d.ts +3 -0
  75. package/dist/src/views/scheduling/composables/useRemyAppStore.d.ts +16 -0
  76. package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +46 -11
  77. package/dist/src/views/scheduling/composables/useScheduleAddPick.d.ts +3 -11
  78. package/dist/src/views/scheduling/composables/useScheduleAreaBoard.d.ts +0 -13
  79. package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +2 -9
  80. package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +126 -4
  81. package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +86 -11
  82. package/dist/src/views/scheduling/composables/useScheduleCopyWeek.d.ts +3 -10
  83. package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +13 -1
  84. package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +0 -1
  85. package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +16 -5
  86. package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +3 -5
  87. package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +14 -3
  88. package/dist/src/views/scheduling/composables/useScheduleDragDrop.d.ts +1 -0
  89. package/dist/src/views/scheduling/composables/useScheduleEmployeeAccess.d.ts +20 -7
  90. package/dist/src/views/scheduling/composables/useScheduleEmployeeAvailability.d.ts +1 -1
  91. package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +26 -3
  92. package/dist/src/views/scheduling/composables/useScheduleEmployeePersistence.d.ts +7 -0
  93. package/dist/src/views/scheduling/composables/useScheduleEmployeeValidation.d.ts +2 -2
  94. package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +2 -0
  95. package/dist/src/views/scheduling/composables/useScheduleOnboardingDemand.d.ts +1 -1
  96. package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +48 -4
  97. package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +425 -29
  98. package/dist/src/views/scheduling/composables/useScheduleOutlet.d.ts +11 -8
  99. package/dist/src/views/scheduling/composables/useSchedulePageActions.d.ts +1 -1
  100. package/dist/src/views/scheduling/composables/useSchedulePageCellDrop.d.ts +3 -1
  101. package/dist/src/views/scheduling/composables/useSchedulePageClearActions.d.ts +1 -0
  102. package/dist/src/views/scheduling/composables/useSchedulePageOverlays.d.ts +0 -4
  103. package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +1 -0
  104. package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +7 -1
  105. package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +3 -0
  106. package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +70 -4
  107. package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +7 -2
  108. package/dist/src/views/scheduling/composables/useScheduleSetupBanner.d.ts +2 -2
  109. package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +41 -3
  110. package/dist/src/views/scheduling/composables/useScheduleShiftDraft.d.ts +1 -0
  111. package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +47 -6
  112. package/dist/src/views/scheduling/country-rules/index.d.ts +9 -4
  113. package/dist/src/views/scheduling/data.d.ts +22 -1
  114. package/dist/src/views/scheduling/locales/index.d.ts +28 -0
  115. package/dist/src/views/scheduling/schedule-state.d.ts +362 -298
  116. package/dist/src/views/scheduling/schedule-store.d.ts +41 -12
  117. package/dist/src/views/scheduling/types.d.ts +33 -5
  118. package/dist/style.css +1 -1
  119. package/dist/tsconfig.app.tsbuildinfo +1 -1
  120. package/dist/{useAppStore-d_nHyK5u.js → useAppStore-DZCdxlCd.js} +1 -1
  121. package/dist/useDiscardConfirm-CzZSPyvh.js +28 -0
  122. package/dist/{useLoading-JFoghhRz.js → useLoading-Nygx2zn8.js} +1 -1
  123. package/dist/{useReportPermissions-DHA0jrIr.js → useReportPermissions-B3OMJ4QX.js} +3 -3
  124. package/package.json +3 -2
  125. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DnKckKZ0.js +0 -4167
  126. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-Dr6QruG6.js +0 -470
  127. package/dist/ScheduleGeneralPage-CvskrXcV.js +0 -666
  128. package/dist/ScheduleModal.vue_vue_type_script_setup_true_lang-C4On5sVD.js +0 -2157
  129. package/dist/SchedulePage-CW-K836l.js +0 -18248
  130. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -9
  131. package/dist/src/views/scheduling/components/ScheduleAllShiftsRow.vue.d.ts +0 -22
  132. package/dist/src/views/scheduling/components/ScheduleStackPopover.vue.d.ts +0 -14
  133. package/dist/src/views/scheduling/composables/scheduleAutoSolver.d.ts +0 -23
  134. package/dist/src/views/scheduling/composables/useScheduleAllShiftsRow.d.ts +0 -77
  135. package/dist/src/views/scheduling/composables/useScheduleAssign.d.ts +0 -124
  136. package/dist/src/views/scheduling/composables/useScheduleOpenShiftCard.d.ts +0 -23
  137. package/dist/useDiscardConfirm-DPhEV6v0.js +0 -157
@@ -14,8 +14,7 @@ export interface ScheduleDemandSheetOptions {
14
14
  onNeedPosition?: (periodIdx: number, roleIdx: number) => void;
15
15
  }
16
16
  /** The demand sheet — editing happens on a DRAFT, so Save is a real commit and closing is a
17
- * real cancel. The sheet also carries the recurrence choice, because "every Tuesday" is a
18
- * property of the statement being made rather than a second screen. */
17
+ * real cancel. Apply scopes are expanded into explicit dates in the visible week. */
19
18
  export declare function useScheduleDemandSheet(board: ScheduleBoardApi, demand: ScheduleDemandApi, opts: ScheduleDemandSheetOptions): {
20
19
  open: import("vue").Ref<boolean, boolean>;
21
20
  dayIdx: import("vue").Ref<number | null, number | null>;
@@ -25,6 +24,7 @@ export declare function useScheduleDemandSheet(board: ScheduleBoardApi, demand:
25
24
  n: number;
26
25
  roles?: {
27
26
  position: string;
27
+ positionId?: string | undefined;
28
28
  n: number;
29
29
  }[] | undefined;
30
30
  }[], DemandPeriod[] | {
@@ -33,6 +33,7 @@ export declare function useScheduleDemandSheet(board: ScheduleBoardApi, demand:
33
33
  n: number;
34
34
  roles?: {
35
35
  position: string;
36
+ positionId?: string | undefined;
36
37
  n: number;
37
38
  }[] | undefined;
38
39
  }[]>;
@@ -65,6 +66,13 @@ export declare function useScheduleDemandSheet(board: ScheduleBoardApi, demand:
65
66
  }[]>;
66
67
  toggleCustomDay: (i: number) => void;
67
68
  applyNote: import("vue").ComputedRef<string>;
69
+ replaceConfirmOpen: import("vue").ComputedRef<boolean>;
70
+ replaceConfirmTitle: import("vue").ComputedRef<"Replace existing demand?" | "Clear existing demand?">;
71
+ replaceConfirmActionLabel: import("vue").ComputedRef<"Confirm" | "Clear demand">;
72
+ replaceConfirmMessage: import("vue").ComputedRef<"Demand already exists on the dates below. Applying this demand will replace it on all selected dates." | "Demand exists on the dates below. Saving an empty time range will clear it on all selected dates.">;
73
+ replaceConfirmDates: import("vue").ComputedRef<string[]>;
74
+ confirmReplace: () => Promise<void>;
75
+ cancelReplace: () => void;
68
76
  overlapWarning: import("vue").ComputedRef<string>;
69
77
  whenLabel: import("vue").ComputedRef<string>;
70
78
  openFor: (idx: number) => void;
@@ -115,6 +123,7 @@ export declare function useScheduleDemandSheet(board: ScheduleBoardApi, demand:
115
123
  n: number;
116
124
  roles?: {
117
125
  position: string;
126
+ positionId?: string | undefined;
118
127
  n: number;
119
128
  }[] | undefined;
120
129
  }[];
@@ -126,6 +135,7 @@ export declare function useScheduleDemandSheet(board: ScheduleBoardApi, demand:
126
135
  n: number;
127
136
  roles?: {
128
137
  position: string;
138
+ positionId?: string | undefined;
129
139
  n: number;
130
140
  }[] | undefined;
131
141
  }[];
@@ -136,6 +146,7 @@ export declare function useScheduleDemandSheet(board: ScheduleBoardApi, demand:
136
146
  word: string;
137
147
  }[]>;
138
148
  suggest: () => void;
149
+ askRemy: () => Promise<void>;
139
150
  acceptSuggestion: () => void;
140
151
  dismissSuggestion: () => void;
141
152
  canCopy: import("vue").ComputedRef<boolean>;
@@ -150,6 +161,6 @@ export declare function useScheduleDemandSheet(board: ScheduleBoardApi, demand:
150
161
  openCopy: () => void;
151
162
  closeCopy: () => void;
152
163
  confirmCopy: () => Promise<void>;
153
- setApply: (k: DemandApplyMode) => DemandApplyMode;
164
+ setApply: (mode: DemandApplyMode) => void;
154
165
  };
155
166
  export type ScheduleDemandSheetApi = ReturnType<typeof useScheduleDemandSheet>;
@@ -50,5 +50,6 @@ export declare function useScheduleDragDrop(board: ScheduleBoardApi): {
50
50
  setDragHover: (empId: number, dayIdx: number, onCard: boolean, slotIndex: number | null) => void;
51
51
  clearDragHover: (empId: number, dayIdx: number) => void;
52
52
  dropOnCell: (targetEmpId: number, targetDayIdx: number) => void;
53
+ dropOnPosition: (targetDayIdx: number, targetPosition: string, allowLocked?: boolean) => void;
53
54
  };
54
55
  export type ScheduleDragDropApi = ReturnType<typeof useScheduleDragDrop>;
@@ -1,11 +1,24 @@
1
+ import { type ComputedRef } from 'vue';
1
2
  import type { Role } from '@/types/role';
2
- import { type ScheduleAddEmployeeForm } from './schedule-add-employee-form';
3
- export declare function useScheduleEmployeeAccess(form: ScheduleAddEmployeeForm): {
4
- passcodeValue: import("vue").ComputedRef<string>;
5
- passcodeOk: import("vue").ComputedRef<boolean>;
3
+ import type { ScheduleAddEmployeeForm } from './schedule-add-employee-form';
4
+ export declare function useScheduleEmployeeAccess(form: ScheduleAddEmployeeForm, options?: {
5
+ excludePosUserId?: ComputedRef<string | undefined>;
6
+ }): {
7
+ passcodeValue: ComputedRef<string>;
8
+ passcodeOk: ComputedRef<boolean>;
6
9
  setPasscodeDigit: (index: number, value: string) => void;
7
- generatePasscode: () => void;
10
+ generatePasscode: () => Promise<void>;
11
+ isGeneratingPasscode: import("vue").Ref<boolean, boolean>;
8
12
  togglePosAccess: () => void;
9
- setPosRole: (roleId: string) => void;
10
- posRoleOptions: import("vue").ComputedRef<Role[]>;
13
+ addPosRoleRow: () => void;
14
+ removePosRoleRow: (index: number) => void;
15
+ isCurrentOutletRow: (index: number) => boolean;
16
+ setPosRoleOutlet: (index: number, outlet: string) => void;
17
+ setPosRoleId: (index: number, roleId: string) => void;
18
+ posRoleOptionsFor: (outlet: string) => Role[];
19
+ isPosRoleUsable: (role: Role) => boolean;
20
+ setMasterUserRoleAccess: (roleIds: string[] | null | undefined) => void;
21
+ isPosOutletUsable: (outlet: string) => boolean;
22
+ setMasterUserRestaurantAccess: (restaurantIds: string[] | null | undefined) => void;
23
+ posRolesHint: ComputedRef<"" | "No outlet assigned, so their passcode will not open a till yet." | "The same outlet is listed twice — only the last role on it will apply.">;
11
24
  };
@@ -4,7 +4,7 @@ export declare function useScheduleEmployeeAvailability(form: ScheduleAddEmploye
4
4
  dayLit: (index: number) => boolean;
5
5
  avLabel: ComputedRef<"Weekly availability" | "Time off days">;
6
6
  avAllLabel: ComputedRef<"Clear all" | "Select all" | "No days off" | "Every day off">;
7
- maxHoursPlaceholder: ComputedRef<"Hours per week" | "No cap">;
7
+ maxHoursPlaceholder: ComputedRef<string>;
8
8
  ensureAvailHours: (index: number) => void;
9
9
  toggleAvailDay: (index: number) => void;
10
10
  availAll: () => void;
@@ -1,5 +1,7 @@
1
1
  import { type ComputedRef } from 'vue';
2
+ import type { IFdtoPosUserSummary } from '@/types/employee';
2
3
  import type { ScheduleAddEmployeeForm, ScheduleAddEmployeeStep } from './schedule-add-employee-form';
4
+ import type { ExistingStaffCandidate } from '../types';
3
5
  import type { ScheduleBoardApi } from './useScheduleBoard';
4
6
  interface UseScheduleEmployeeCandidatesOptions {
5
7
  board: ScheduleBoardApi;
@@ -11,15 +13,36 @@ interface UseScheduleEmployeeCandidatesOptions {
11
13
  open: {
12
14
  value: boolean;
13
15
  };
14
- onPicked: (employeeId: string) => void;
15
- onPrefillPasscode: (employeeId: string) => void;
16
+ onPicked: (employeeId: string, employee?: IFdtoPosUserSummary) => void;
17
+ onPrefillPasscode: (employeeId: string, employee?: IFdtoPosUserSummary) => void | Promise<void>;
18
+ onPrefillPosRoles: (employeeId: string, employee?: IFdtoPosUserSummary) => void | Promise<void>;
19
+ onPrefillPosRoleAccess: (roleIds: string[] | null | undefined) => void;
20
+ onPrefillPosRestaurantAccess: (restaurantIds: string[] | null | undefined) => void;
16
21
  }
17
22
  /** Directory lookup and profile prefill for the existing-employee path of the add wizard. */
18
23
  export declare function useScheduleEmployeeCandidates(options: UseScheduleEmployeeCandidatesOptions): {
19
24
  selectExistingOpen: import("vue").Ref<boolean, boolean>;
25
+ candidates: import("vue").Ref<{
26
+ employeeId: string;
27
+ name: string;
28
+ otherOutlets: string[];
29
+ locations: string[];
30
+ }[], ExistingStaffCandidate[] | {
31
+ employeeId: string;
32
+ name: string;
33
+ otherOutlets: string[];
34
+ locations: string[];
35
+ }[]>;
36
+ candidatesTotal: import("vue").Ref<number, number>;
37
+ candidatesPage: import("vue").Ref<number, number>;
38
+ candidatesPageItemCount: import("vue").Ref<number, number>;
39
+ candidatesPageSize: number;
20
40
  candidatesLoading: import("vue").Ref<boolean, boolean>;
21
41
  candidatesError: import("vue").Ref<string | null, string | null>;
22
- openSelectExisting: () => void;
42
+ selectingExisting: import("vue").Ref<boolean, boolean>;
43
+ openSelectExisting: (search?: string) => void;
44
+ searchExisting: (search: string) => void;
45
+ goToExistingPage: (page: number, search: string) => void;
23
46
  closeSelectExisting: () => void;
24
47
  pickExisting: (employeeId: string) => Promise<void>;
25
48
  };
@@ -1,9 +1,11 @@
1
1
  import type { ComputedRef, Ref } from 'vue';
2
+ import type { IFdtoPosUserSummary } from '@/types/employee';
2
3
  import { type ScheduleAddEmployeeForm } from './schedule-add-employee-form';
3
4
  import type { ScheduleBoardApi } from './useScheduleBoard';
4
5
  interface UseScheduleEmployeePersistenceOptions {
5
6
  form: ScheduleAddEmployeeForm;
6
7
  pickedEmployeeId: Ref<string | null>;
8
+ selectedBusinessEmployee: Ref<IFdtoPosUserSummary | null>;
7
9
  payAmountNumber: ComputedRef<number>;
8
10
  saving: Ref<boolean>;
9
11
  saveError: Ref<string | null>;
@@ -12,8 +14,13 @@ interface UseScheduleEmployeePersistenceOptions {
12
14
  board: ScheduleBoardApi;
13
15
  editingEmployeeId: Ref<number | null>;
14
16
  originalLocations: Ref<string[]>;
17
+ originalPosRoles: Ref<{
18
+ outlet: string;
19
+ roleId: string;
20
+ }[]>;
15
21
  effectiveRate: ComputedRef<number>;
16
22
  passcodeValue: ComputedRef<string>;
23
+ deferScheduleWrites: Ref<boolean>;
17
24
  notify?: (message: string, type?: 'success' | 'error' | 'info') => void;
18
25
  }
19
26
  /** Persistence for an existing business employee being added to this schedule. */
@@ -4,15 +4,15 @@ interface UseScheduleEmployeeValidationOptions {
4
4
  form: ScheduleAddEmployeeForm;
5
5
  submitAttempted: Ref<boolean>;
6
6
  passcodeOk: ComputedRef<boolean>;
7
- isNewUser: ComputedRef<boolean>;
8
7
  }
9
8
  /** Validation guards for the add/edit employee form. Keeping them together makes create and
10
9
  * the field-level error indicators consume the same rules. */
11
10
  export declare function useScheduleEmployeeValidation(options: UseScheduleEmployeeValidationOptions): {
12
11
  nameError: ComputedRef<boolean>;
13
12
  passError: ComputedRef<boolean>;
13
+ posRolesOk: ComputedRef<boolean>;
14
+ posRolesError: ComputedRef<boolean>;
14
15
  availabilityOk: ComputedRef<boolean>;
15
16
  availabilityError: ComputedRef<boolean>;
16
- masterCodeError: ComputedRef<boolean>;
17
17
  };
18
18
  export {};
@@ -21,6 +21,7 @@ export declare function useScheduleGapPopover(board: ScheduleBoardApi, demand: S
21
21
  over: number;
22
22
  roles: {
23
23
  position: string;
24
+ positionId?: string | undefined;
24
25
  n: number;
25
26
  required: number;
26
27
  got: number;
@@ -41,6 +42,7 @@ export declare function useScheduleGapPopover(board: ScheduleBoardApi, demand: S
41
42
  over: number;
42
43
  roles: {
43
44
  position: string;
45
+ positionId?: string | undefined;
44
46
  n: number;
45
47
  required: number;
46
48
  got: number;
@@ -1,7 +1,7 @@
1
1
  import { type Ref } from 'vue';
2
2
  import type { ScheduleOnboardingDayHours, ScheduleOnboardingRange } from './onboarding-types';
3
3
  import type { SchedulePositionsApi } from './useSchedulePositions';
4
- export declare function useScheduleOnboardingDemand(hours: ScheduleOnboardingDayHours[], positions: SchedulePositionsApi, note: Ref<string>): {
4
+ export declare function useScheduleOnboardingDemand(hours: ScheduleOnboardingDayHours[], positions: SchedulePositionsApi, note: Ref<string>, isPastDay?: (dayIdx: number) => boolean): {
5
5
  demand: import("vue").Reactive<ScheduleOnboardingRange[][]>;
6
6
  dmDay: Ref<number, number>;
7
7
  staffingSaving: Ref<boolean, boolean>;
@@ -22,10 +22,12 @@ export declare function useScheduleOnboardingEmployees(options: ScheduleOnboardi
22
22
  contractHours?: number | undefined;
23
23
  rate: number;
24
24
  positions: string[];
25
+ archivedPositions?: string[] | undefined;
25
26
  shifts: ({
26
27
  start: string;
27
28
  end: string;
28
29
  role: string;
30
+ positionId?: string | undefined;
29
31
  status: import("../types").ShiftStatus;
30
32
  clock?: {
31
33
  in: string | null;
@@ -74,6 +76,7 @@ export declare function useScheduleOnboardingEmployees(options: ScheduleOnboardi
74
76
  start: string;
75
77
  end: string;
76
78
  role: string;
79
+ positionId?: string | undefined;
77
80
  status: import("../types").ShiftStatus;
78
81
  clock?: {
79
82
  in: string | null;
@@ -98,6 +101,28 @@ export declare function useScheduleOnboardingEmployees(options: ScheduleOnboardi
98
101
  updatedAt?: string | undefined;
99
102
  splitGroupId?: string | undefined;
100
103
  }[] | null)[];
104
+ timeOff?: ({
105
+ timeOff: "approved" | "pending";
106
+ requestId?: string | undefined;
107
+ type?: "OFF_DAY" | "LEAVE" | undefined;
108
+ leaveType?: "ANNUAL" | "MEDICAL" | "EMERGENCY" | "UNPAID" | undefined;
109
+ reason: string;
110
+ half?: boolean | undefined;
111
+ halfPart?: "AM" | "PM" | undefined;
112
+ from?: string | undefined;
113
+ to?: string | undefined;
114
+ appliedOn?: string | undefined;
115
+ note?: string | undefined;
116
+ cert?: {
117
+ name: string;
118
+ size: string;
119
+ } | null | undefined;
120
+ bal?: {
121
+ type: string;
122
+ entitled: number;
123
+ used: number;
124
+ } | undefined;
125
+ } | null)[] | undefined;
101
126
  remarks: {
102
127
  author: string;
103
128
  date: string;
@@ -112,9 +137,16 @@ export declare function useScheduleOnboardingEmployees(options: ScheduleOnboardi
112
137
  payBasis?: "hourly" | "monthly" | undefined;
113
138
  payAmount?: number | undefined;
114
139
  maxHours?: number | undefined;
115
- maxOtHours?: number | undefined;
116
140
  minHours?: number | undefined;
117
- otAfterDaily?: number | undefined;
141
+ minHoursPerDay?: number | undefined;
142
+ workingHours?: {
143
+ minHoursPerDay: number | null;
144
+ maxHoursPerDay: number | null;
145
+ maxHoursPerWeek: number | null;
146
+ } | undefined;
147
+ overtime?: {
148
+ maxHoursPerMonth: number | null;
149
+ } | undefined;
118
150
  preferences?: string[] | undefined;
119
151
  seniority?: "senior" | "junior" | "" | undefined;
120
152
  availDays?: boolean[] | undefined;
@@ -123,6 +155,7 @@ export declare function useScheduleOnboardingEmployees(options: ScheduleOnboardi
123
155
  to: string;
124
156
  }[] | undefined;
125
157
  passcode?: string | undefined;
158
+ code?: string | undefined;
126
159
  masterUser?: boolean | undefined;
127
160
  };
128
161
  row: TeamRow;
@@ -137,10 +170,18 @@ export declare function useScheduleOnboardingEmployees(options: ScheduleOnboardi
137
170
  end: string;
138
171
  }[]>;
139
172
  rawEmployee: (empId: number) => {
140
- name: string;
173
+ overtime?: {
174
+ maxHoursPerMonth: number | null;
175
+ } | undefined;
176
+ minHoursPerDay?: number | null | undefined;
177
+ workingHours?: {
178
+ minHoursPerDay: number | null;
179
+ maxHoursPerDay: number | null;
180
+ maxHoursPerWeek: number | null;
181
+ } | undefined;
141
182
  employeeId: string;
183
+ name: string;
142
184
  employmentType: "FULLTIME" | "PARTTIME";
143
- workingHour: number;
144
185
  wage: {
145
186
  type: "HOURLY" | "MONTHLY";
146
187
  amount: number;
@@ -162,7 +203,10 @@ export declare function useScheduleOnboardingEmployees(options: ScheduleOnboardi
162
203
  seedEmployees: (missingOnly?: boolean) => void;
163
204
  pickAll: (checked: boolean) => void;
164
205
  setPosition: (empId: number, value: string) => void;
206
+ removePositionFromRows: (position: string) => void;
207
+ toggleSecond: (empId: number, position: string) => void;
165
208
  setEmployment: (empId: number, kind: TeamEmployment) => void;
209
+ maxHoursFor: (employment: TeamEmployment) => number | null;
166
210
  setHours: (empId: number, value: string) => void;
167
211
  setRate: (empId: number, value: string) => void;
168
212
  bulkOpen: import("vue").Ref<boolean, boolean>;