@feedmepos/mf-hrm-portal 2.2.5-dev → 2.2.5-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 (167) hide show
  1. package/dist/{ApprovalCodeList-DgcWZ3SZ.js → ApprovalCodeList-BsDMMSIz.js} +4 -4
  2. package/dist/{AuditLogList-vWKMMGvd.js → AuditLogList-CGNZdtmn.js} +18 -17
  3. package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-DuhXogXK.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-C6MoToqi.js} +2 -2
  4. package/dist/EmployeeList-B_OuDWWQ.js +787 -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-Bd0lXmFo.js} +5 -5
  7. package/dist/{Main-NzpdRNB3.js → Main-B66lSeOv.js} +5 -5
  8. package/dist/{Main-Wr6cTqfM.js → Main-CzHSNHsH.js} +2 -2
  9. package/dist/{Main-B7Nn8CLQ.js → Main-njRQ1tFk.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-GTI6Cwj5.js} +18 -18
  12. package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Bzq2_BMn.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-C-QEQ-js.js} +1052 -1052
  13. package/dist/{RoleList-BuqpmXn_.js → RoleList-CmHgtM0m.js} +7 -7
  14. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-SFqxftRx.js +426 -0
  15. package/dist/ScheduleButton.vue_vue_type_script_setup_true_lang-CrWfo-zF.js +690 -0
  16. package/dist/ScheduleGeneralPage-DxFxJN5j.js +320 -0
  17. package/dist/SchedulePage-cJDI3-E7.js +14647 -0
  18. package/dist/SchedulePositionPage-n1wUShIM.js +293 -0
  19. package/dist/ScheduleSelect.vue_vue_type_script_setup_true_lang-B8W4sTsA.js +242 -0
  20. package/dist/SelectFilter-CG13h83-.js +264 -0
  21. package/dist/TeamMemberList-ByZt3VqN.js +1154 -0
  22. package/dist/{TimesheetList-B5FyVyCz.js → TimesheetList-Dv0-W--W.js} +54 -53
  23. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-C99Jr6Ax.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-DIo6h5-a.js} +2 -2
  24. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  25. package/dist/{app-8samJY5z.js → app-SCXGJ95F.js} +3146 -2553
  26. package/dist/app.js +1 -1
  27. package/dist/{dayjs.min-Ba4X_9nY.js → dayjs.min-DqMLPYv-.js} +1 -1
  28. package/dist/{employee-BcFgm8Rt.js → employee-DT_xYQkz.js} +3 -3
  29. package/dist/{iteration-Dhdew1jW.js → iteration-B5dB9ecy.js} +1 -1
  30. package/dist/{lodash-CJ3mHku0.js → lodash-CRHFapxI.js} +1 -1
  31. package/dist/{role-BViYS7RK.js → role-CJm8pXaw.js} +1 -1
  32. package/dist/{rule-Dxt1ZSQS.js → rule-AJm-eVzJ.js} +276 -272
  33. package/dist/src/api/schedule/index.d.ts +41 -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 +3 -0
  43. package/dist/src/views/scheduling/SchedulePage.vue.d.ts +3 -0
  44. package/dist/src/views/scheduling/SchedulePositionPage.vue.d.ts +3 -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 +10 -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 +10 -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/ScheduleAddPositionModal.vue.d.ts +6 -0
  53. package/dist/src/views/scheduling/components/ScheduleAllShiftsRow.vue.d.ts +22 -0
  54. package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +34 -0
  55. package/dist/src/views/scheduling/components/ScheduleAssignEmployeePopover.vue.d.ts +6 -0
  56. package/dist/src/views/scheduling/components/ScheduleAutoScheduleModal.vue.d.ts +10 -0
  57. package/dist/src/views/scheduling/components/ScheduleButton.vue.d.ts +23 -0
  58. package/dist/src/views/scheduling/components/ScheduleChangeEmployeeModal.vue.d.ts +8 -0
  59. package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +24 -0
  60. package/dist/src/views/scheduling/components/ScheduleCostRail.vue.d.ts +8 -0
  61. package/dist/src/views/scheduling/components/ScheduleDateRangePopover.vue.d.ts +6 -0
  62. package/dist/src/views/scheduling/components/ScheduleDayNotePopover.vue.d.ts +6 -0
  63. package/dist/src/views/scheduling/components/ScheduleDayTimeline.vue.d.ts +12 -0
  64. package/dist/src/views/scheduling/components/ScheduleDemandRow.vue.d.ts +23 -0
  65. package/dist/src/views/scheduling/components/ScheduleDemandSheet.vue.d.ts +10 -0
  66. package/dist/src/views/scheduling/components/ScheduleDotsIcon.vue.d.ts +2 -0
  67. package/dist/src/views/scheduling/components/ScheduleEmployeeDetailPanel.vue.d.ts +12 -0
  68. package/dist/src/views/scheduling/components/ScheduleEmployeeIdentity.vue.d.ts +17 -0
  69. package/dist/src/views/scheduling/components/ScheduleEmployeeMenu.vue.d.ts +6 -0
  70. package/dist/src/views/scheduling/components/ScheduleFilterBar.vue.d.ts +18 -0
  71. package/dist/src/views/scheduling/components/ScheduleGapPopover.vue.d.ts +6 -0
  72. package/dist/src/views/scheduling/components/ScheduleGridHeader.vue.d.ts +18 -0
  73. package/dist/src/views/scheduling/components/ScheduleGridSkeleton.vue.d.ts +2 -0
  74. package/dist/src/views/scheduling/components/ScheduleLeaveEditModal.vue.d.ts +8 -0
  75. package/dist/src/views/scheduling/components/ScheduleLegendBar.vue.d.ts +6 -0
  76. package/dist/src/views/scheduling/components/ScheduleOnboardingWelcome.vue.d.ts +12 -0
  77. package/dist/src/views/scheduling/components/ScheduleOnboardingWizard.vue.d.ts +9 -0
  78. package/dist/src/views/scheduling/components/ScheduleOpenShiftCardMenu.vue.d.ts +14 -0
  79. package/dist/src/views/scheduling/components/SchedulePdfPreview.vue.d.ts +6 -0
  80. package/dist/src/views/scheduling/components/SchedulePublishModal.vue.d.ts +8 -0
  81. package/dist/src/views/scheduling/components/ScheduleReviewBar.vue.d.ts +12 -0
  82. package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +54 -0
  83. package/dist/src/views/scheduling/components/ScheduleSelectExistingEmployeeModal.vue.d.ts +6 -0
  84. package/dist/src/views/scheduling/components/ScheduleShiftCardMenu.vue.d.ts +12 -0
  85. package/dist/src/views/scheduling/components/ScheduleShiftCell.vue.d.ts +35 -0
  86. package/dist/src/views/scheduling/components/ScheduleShiftHeadcountEditor.vue.d.ts +10 -0
  87. package/dist/src/views/scheduling/components/ScheduleShiftImpact.vue.d.ts +6 -0
  88. package/dist/src/views/scheduling/components/ScheduleShiftMoreOptions.vue.d.ts +6 -0
  89. package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +16 -0
  90. package/dist/src/views/scheduling/components/ScheduleShiftRepeatDaysRow.vue.d.ts +8 -0
  91. package/dist/src/views/scheduling/components/ScheduleShiftSegmentsEditor.vue.d.ts +8 -0
  92. package/dist/src/views/scheduling/components/ScheduleShiftWhoPicker.vue.d.ts +25 -0
  93. package/dist/src/views/scheduling/components/ScheduleStackPopover.vue.d.ts +14 -0
  94. package/dist/src/views/scheduling/components/ScheduleStaffRail.vue.d.ts +18 -0
  95. package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +60 -0
  96. package/dist/src/views/scheduling/components/ScheduleStatsRow.vue.d.ts +12 -0
  97. package/dist/src/views/scheduling/components/ScheduleSwapShiftsModal.vue.d.ts +8 -0
  98. package/dist/src/views/scheduling/components/ScheduleTimePickerPopover.vue.d.ts +6 -0
  99. package/dist/src/views/scheduling/components/ScheduleTopbar.vue.d.ts +20 -0
  100. package/dist/src/views/scheduling/composables/schedule-add-employee-form.d.ts +72 -0
  101. package/dist/src/views/scheduling/composables/schedule-board-helpers.d.ts +38 -0
  102. package/dist/src/views/scheduling/composables/schedule-day-meta.d.ts +29 -0
  103. package/dist/src/views/scheduling/composables/schedule-employee-profile.d.ts +7 -0
  104. package/dist/src/views/scheduling/composables/schedule-popover-position.d.ts +16 -0
  105. package/dist/src/views/scheduling/composables/schedule-shift-time.d.ts +14 -0
  106. package/dist/src/views/scheduling/composables/schedule-week-cache.d.ts +10 -0
  107. package/dist/src/views/scheduling/composables/scheduleAutoSolver.d.ts +21 -0
  108. package/dist/src/views/scheduling/composables/useCollapsedList.d.ts +9 -0
  109. package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +98 -0
  110. package/dist/src/views/scheduling/composables/useScheduleAddPick.d.ts +73 -0
  111. package/dist/src/views/scheduling/composables/useScheduleAllShiftsRow.d.ts +77 -0
  112. package/dist/src/views/scheduling/composables/useScheduleAreaBoard.d.ts +50 -0
  113. package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +18 -0
  114. package/dist/src/views/scheduling/composables/useScheduleAssign.d.ts +122 -0
  115. package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +143 -0
  116. package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +426 -0
  117. package/dist/src/views/scheduling/composables/useScheduleCellState.d.ts +27 -0
  118. package/dist/src/views/scheduling/composables/useScheduleClashDetection.d.ts +18 -0
  119. package/dist/src/views/scheduling/composables/useScheduleCopyWeek.d.ts +19 -0
  120. package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +43 -0
  121. package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +48 -0
  122. package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +77 -0
  123. package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +76 -0
  124. package/dist/src/views/scheduling/composables/useScheduleDemandRow.d.ts +45 -0
  125. package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +145 -0
  126. package/dist/src/views/scheduling/composables/useScheduleDragDrop.d.ts +22 -0
  127. package/dist/src/views/scheduling/composables/useScheduleEmployeeIdentity.d.ts +41 -0
  128. package/dist/src/views/scheduling/composables/useScheduleEmployeeMenu.d.ts +35 -0
  129. package/dist/src/views/scheduling/composables/useScheduleEmployeeProfile.d.ts +16 -0
  130. package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +26 -0
  131. package/dist/src/views/scheduling/composables/useScheduleFilterBar.d.ts +14 -0
  132. package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +82 -0
  133. package/dist/src/views/scheduling/composables/useScheduleLeave.d.ts +70 -0
  134. package/dist/src/views/scheduling/composables/useScheduleLegend.d.ts +15 -0
  135. package/dist/src/views/scheduling/composables/useScheduleLegendBar.d.ts +35 -0
  136. package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +1316 -0
  137. package/dist/src/views/scheduling/composables/useScheduleOpenShiftCard.d.ts +23 -0
  138. package/dist/src/views/scheduling/composables/useScheduleOutlet.d.ts +20 -0
  139. package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +50 -0
  140. package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +32 -0
  141. package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +93 -0
  142. package/dist/src/views/scheduling/composables/useScheduleRangeCalendar.d.ts +27 -0
  143. package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +189 -0
  144. package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +54 -0
  145. package/dist/src/views/scheduling/composables/useScheduleSetupBanner.d.ts +18 -0
  146. package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +163 -0
  147. package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +181 -0
  148. package/dist/src/views/scheduling/composables/useScheduleStaffRail.d.ts +23 -0
  149. package/dist/src/views/scheduling/composables/useScheduleStatsRow.d.ts +25 -0
  150. package/dist/src/views/scheduling/composables/useScheduleTimePicker.d.ts +49 -0
  151. package/dist/src/views/scheduling/composables/useScheduleTopbar.d.ts +10 -0
  152. package/dist/src/views/scheduling/composables/useScheduleViewportFit.d.ts +9 -0
  153. package/dist/src/views/scheduling/data.d.ts +110 -0
  154. package/dist/src/views/scheduling/locales/index.d.ts +496 -0
  155. package/dist/src/views/scheduling/schedule-store.d.ts +151 -0
  156. package/dist/src/views/scheduling/types.d.ts +324 -0
  157. package/dist/src/views/team/components/PortalConditionForm.vue.d.ts +2 -2
  158. package/dist/src/views/team/condition-builders/ConditionBuilderForm.vue.d.ts +2 -2
  159. package/dist/src/views/team/member/TeamMemberMasterUser.vue.d.ts +12 -3
  160. package/dist/style.css +1 -1
  161. package/dist/tsconfig.app.tsbuildinfo +1 -1
  162. package/dist/{useReportPermissions-BiyAfGvZ.js → useReportPermissions-Cg3lV70m.js} +3 -3
  163. package/package.json +1 -1
  164. package/dist/EmployeeList-Cu4RxVQX.js +0 -889
  165. package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-BUI0Xsgc.js +0 -85
  166. package/dist/SelectFilter-ATOm0hdn.js +0 -269
  167. package/dist/TeamMemberList-M6HA9BWu.js +0 -1248
@@ -0,0 +1,496 @@
1
+ import * as enUS from './en-US.json';
2
+ export type AppMessagesSchema = typeof enUS;
3
+ export declare const i18nMessages: {
4
+ 'en-US': {
5
+ scheduling: {
6
+ nav: {
7
+ section: string;
8
+ board: string;
9
+ position: string;
10
+ general: string;
11
+ };
12
+ topbar: {
13
+ today: string;
14
+ copy: string;
15
+ autoSchedule: string;
16
+ actions: string;
17
+ exportSchedule: string;
18
+ clearAllShifts: string;
19
+ comingSoon: string;
20
+ };
21
+ status: {
22
+ draft: string;
23
+ published: string;
24
+ };
25
+ staffRail: {
26
+ title: string;
27
+ dragHint: string;
28
+ searchPlaceholder: string;
29
+ sortLoad: string;
30
+ sortName: string;
31
+ sortHours: string;
32
+ sortCost: string;
33
+ addEmployee: string;
34
+ openShifts: string;
35
+ allCovered: string;
36
+ openRemaining: string;
37
+ noPositionsAdded: string;
38
+ noPositionTitle: string;
39
+ };
40
+ grid: {
41
+ employeeColumn: string;
42
+ scrollEarlier: string;
43
+ scrollLater: string;
44
+ };
45
+ costRail: {
46
+ title: string;
47
+ weekly: string;
48
+ monthlyOt: string;
49
+ used: string;
50
+ };
51
+ shiftEditor: {
52
+ title: string;
53
+ newTitle: string;
54
+ start: string;
55
+ end: string;
56
+ role: string;
57
+ headcount: string;
58
+ repeat: string;
59
+ splitShift: string;
60
+ addSplit: string;
61
+ delete: string;
62
+ save: string;
63
+ cancel: string;
64
+ };
65
+ assign: {
66
+ title: string;
67
+ searchPlaceholder: string;
68
+ noMatches: string;
69
+ assign: string;
70
+ };
71
+ leave: {
72
+ title: string;
73
+ approve: string;
74
+ reject: string;
75
+ remove: string;
76
+ appliedOn: string;
77
+ balance: string;
78
+ };
79
+ clash: {
80
+ title: string;
81
+ proceed: string;
82
+ cancel: string;
83
+ };
84
+ clearShifts: {
85
+ title: string;
86
+ body: string;
87
+ confirm: string;
88
+ cancel: string;
89
+ };
90
+ addEmployee: {
91
+ title: string;
92
+ stepDetails: string;
93
+ stepAvailability: string;
94
+ name: string;
95
+ role: string;
96
+ location: string;
97
+ department: string;
98
+ compGroup: string;
99
+ employment: string;
100
+ fullTime: string;
101
+ partTime: string;
102
+ weeklyAvailability: string;
103
+ timeOffDays: string;
104
+ selectExisting: string;
105
+ back: string;
106
+ next: string;
107
+ create: string;
108
+ };
109
+ selectExisting: {
110
+ title: string;
111
+ subtitle: string;
112
+ };
113
+ employeeProfile: {
114
+ weekHours: string;
115
+ remarks: string;
116
+ positions: string;
117
+ rate: string;
118
+ };
119
+ dateRange: {
120
+ today: string;
121
+ thisWeek: string;
122
+ nextWeek: string;
123
+ };
124
+ comingSoon: string;
125
+ };
126
+ };
127
+ 'zh-CN': {
128
+ scheduling: {
129
+ nav: {
130
+ section: string;
131
+ board: string;
132
+ position: string;
133
+ general: string;
134
+ };
135
+ topbar: {
136
+ today: string;
137
+ copy: string;
138
+ autoSchedule: string;
139
+ actions: string;
140
+ exportSchedule: string;
141
+ clearAllShifts: string;
142
+ comingSoon: string;
143
+ };
144
+ status: {
145
+ draft: string;
146
+ published: string;
147
+ };
148
+ staffRail: {
149
+ title: string;
150
+ dragHint: string;
151
+ searchPlaceholder: string;
152
+ sortLoad: string;
153
+ sortName: string;
154
+ sortHours: string;
155
+ sortCost: string;
156
+ addEmployee: string;
157
+ openShifts: string;
158
+ allCovered: string;
159
+ openRemaining: string;
160
+ noPositionsAdded: string;
161
+ noPositionTitle: string;
162
+ };
163
+ grid: {
164
+ employeeColumn: string;
165
+ scrollEarlier: string;
166
+ scrollLater: string;
167
+ };
168
+ costRail: {
169
+ title: string;
170
+ weekly: string;
171
+ monthlyOt: string;
172
+ used: string;
173
+ };
174
+ shiftEditor: {
175
+ title: string;
176
+ newTitle: string;
177
+ start: string;
178
+ end: string;
179
+ role: string;
180
+ headcount: string;
181
+ repeat: string;
182
+ splitShift: string;
183
+ addSplit: string;
184
+ delete: string;
185
+ save: string;
186
+ cancel: string;
187
+ };
188
+ assign: {
189
+ title: string;
190
+ searchPlaceholder: string;
191
+ noMatches: string;
192
+ assign: string;
193
+ };
194
+ leave: {
195
+ title: string;
196
+ approve: string;
197
+ reject: string;
198
+ remove: string;
199
+ appliedOn: string;
200
+ balance: string;
201
+ };
202
+ clash: {
203
+ title: string;
204
+ proceed: string;
205
+ cancel: string;
206
+ };
207
+ clearShifts: {
208
+ title: string;
209
+ body: string;
210
+ confirm: string;
211
+ cancel: string;
212
+ };
213
+ addEmployee: {
214
+ title: string;
215
+ stepDetails: string;
216
+ stepAvailability: string;
217
+ name: string;
218
+ role: string;
219
+ location: string;
220
+ department: string;
221
+ compGroup: string;
222
+ employment: string;
223
+ fullTime: string;
224
+ partTime: string;
225
+ weeklyAvailability: string;
226
+ timeOffDays: string;
227
+ selectExisting: string;
228
+ back: string;
229
+ next: string;
230
+ create: string;
231
+ };
232
+ selectExisting: {
233
+ title: string;
234
+ subtitle: string;
235
+ };
236
+ employeeProfile: {
237
+ weekHours: string;
238
+ remarks: string;
239
+ positions: string;
240
+ rate: string;
241
+ };
242
+ dateRange: {
243
+ today: string;
244
+ thisWeek: string;
245
+ nextWeek: string;
246
+ };
247
+ comingSoon: string;
248
+ };
249
+ };
250
+ 'th-TH': {
251
+ scheduling: {
252
+ nav: {
253
+ section: string;
254
+ board: string;
255
+ position: string;
256
+ general: string;
257
+ };
258
+ topbar: {
259
+ today: string;
260
+ copy: string;
261
+ autoSchedule: string;
262
+ actions: string;
263
+ exportSchedule: string;
264
+ clearAllShifts: string;
265
+ comingSoon: string;
266
+ };
267
+ status: {
268
+ draft: string;
269
+ published: string;
270
+ };
271
+ staffRail: {
272
+ title: string;
273
+ dragHint: string;
274
+ searchPlaceholder: string;
275
+ sortLoad: string;
276
+ sortName: string;
277
+ sortHours: string;
278
+ sortCost: string;
279
+ addEmployee: string;
280
+ openShifts: string;
281
+ allCovered: string;
282
+ openRemaining: string;
283
+ noPositionsAdded: string;
284
+ noPositionTitle: string;
285
+ };
286
+ grid: {
287
+ employeeColumn: string;
288
+ scrollEarlier: string;
289
+ scrollLater: string;
290
+ };
291
+ costRail: {
292
+ title: string;
293
+ weekly: string;
294
+ monthlyOt: string;
295
+ used: string;
296
+ };
297
+ shiftEditor: {
298
+ title: string;
299
+ newTitle: string;
300
+ start: string;
301
+ end: string;
302
+ role: string;
303
+ headcount: string;
304
+ repeat: string;
305
+ splitShift: string;
306
+ addSplit: string;
307
+ delete: string;
308
+ save: string;
309
+ cancel: string;
310
+ };
311
+ assign: {
312
+ title: string;
313
+ searchPlaceholder: string;
314
+ noMatches: string;
315
+ assign: string;
316
+ };
317
+ leave: {
318
+ title: string;
319
+ approve: string;
320
+ reject: string;
321
+ remove: string;
322
+ appliedOn: string;
323
+ balance: string;
324
+ };
325
+ clash: {
326
+ title: string;
327
+ proceed: string;
328
+ cancel: string;
329
+ };
330
+ clearShifts: {
331
+ title: string;
332
+ body: string;
333
+ confirm: string;
334
+ cancel: string;
335
+ };
336
+ addEmployee: {
337
+ title: string;
338
+ stepDetails: string;
339
+ stepAvailability: string;
340
+ name: string;
341
+ role: string;
342
+ location: string;
343
+ department: string;
344
+ compGroup: string;
345
+ employment: string;
346
+ fullTime: string;
347
+ partTime: string;
348
+ weeklyAvailability: string;
349
+ timeOffDays: string;
350
+ selectExisting: string;
351
+ back: string;
352
+ next: string;
353
+ create: string;
354
+ };
355
+ selectExisting: {
356
+ title: string;
357
+ subtitle: string;
358
+ };
359
+ employeeProfile: {
360
+ weekHours: string;
361
+ remarks: string;
362
+ positions: string;
363
+ rate: string;
364
+ };
365
+ dateRange: {
366
+ today: string;
367
+ thisWeek: string;
368
+ nextWeek: string;
369
+ };
370
+ comingSoon: string;
371
+ };
372
+ };
373
+ 'zh-Hant': {
374
+ scheduling: {
375
+ nav: {
376
+ section: string;
377
+ board: string;
378
+ position: string;
379
+ general: string;
380
+ };
381
+ topbar: {
382
+ today: string;
383
+ copy: string;
384
+ autoSchedule: string;
385
+ actions: string;
386
+ exportSchedule: string;
387
+ clearAllShifts: string;
388
+ comingSoon: string;
389
+ };
390
+ status: {
391
+ draft: string;
392
+ published: string;
393
+ };
394
+ staffRail: {
395
+ title: string;
396
+ dragHint: string;
397
+ searchPlaceholder: string;
398
+ sortLoad: string;
399
+ sortName: string;
400
+ sortHours: string;
401
+ sortCost: string;
402
+ addEmployee: string;
403
+ openShifts: string;
404
+ allCovered: string;
405
+ openRemaining: string;
406
+ noPositionsAdded: string;
407
+ noPositionTitle: string;
408
+ };
409
+ grid: {
410
+ employeeColumn: string;
411
+ scrollEarlier: string;
412
+ scrollLater: string;
413
+ };
414
+ costRail: {
415
+ title: string;
416
+ weekly: string;
417
+ monthlyOt: string;
418
+ used: string;
419
+ };
420
+ shiftEditor: {
421
+ title: string;
422
+ newTitle: string;
423
+ start: string;
424
+ end: string;
425
+ role: string;
426
+ headcount: string;
427
+ repeat: string;
428
+ splitShift: string;
429
+ addSplit: string;
430
+ delete: string;
431
+ save: string;
432
+ cancel: string;
433
+ };
434
+ assign: {
435
+ title: string;
436
+ searchPlaceholder: string;
437
+ noMatches: string;
438
+ assign: string;
439
+ };
440
+ leave: {
441
+ title: string;
442
+ approve: string;
443
+ reject: string;
444
+ remove: string;
445
+ appliedOn: string;
446
+ balance: string;
447
+ };
448
+ clash: {
449
+ title: string;
450
+ proceed: string;
451
+ cancel: string;
452
+ };
453
+ clearShifts: {
454
+ title: string;
455
+ body: string;
456
+ confirm: string;
457
+ cancel: string;
458
+ };
459
+ addEmployee: {
460
+ title: string;
461
+ stepDetails: string;
462
+ stepAvailability: string;
463
+ name: string;
464
+ role: string;
465
+ location: string;
466
+ department: string;
467
+ compGroup: string;
468
+ employment: string;
469
+ fullTime: string;
470
+ partTime: string;
471
+ weeklyAvailability: string;
472
+ timeOffDays: string;
473
+ selectExisting: string;
474
+ back: string;
475
+ next: string;
476
+ create: string;
477
+ };
478
+ selectExisting: {
479
+ title: string;
480
+ subtitle: string;
481
+ };
482
+ employeeProfile: {
483
+ weekHours: string;
484
+ remarks: string;
485
+ positions: string;
486
+ rate: string;
487
+ };
488
+ dateRange: {
489
+ today: string;
490
+ thisWeek: string;
491
+ nextWeek: string;
492
+ };
493
+ comingSoon: string;
494
+ };
495
+ };
496
+ };
@@ -0,0 +1,151 @@
1
+ import type { IFdtoPosUserSummary } from '@/types/employee';
2
+ import type { FdtoScheduleAssignment, FdtoScheduleAutoScheduleReq, FdtoScheduleAutoScheduleResult, FdtoScheduleBoard, FdtoScheduleBulkUpdateAssignmentStatusReq, FdtoScheduleCreateEmployeeProfileReq, FdtoScheduleSaveAssignmentReq, FdtoScheduleSavePositionReq, FdtoScheduleSaveScheduleDayReq, FdtoScheduleUpdateEmployeeProfileReq, ScheduleReplaceDemandReq } from '@/types/schedule';
3
+ /** dayjs-free local-date key — the board's own isoDateKey, repeated here so the store does not
4
+ * have to import a composable. Local Y/M/D, never UTC: a BSON-free 'YYYY-MM-DD' that survives
5
+ * a timezone west of Greenwich. */
6
+ export declare function isoDate(d: Date): string;
7
+ export declare const payload: import("vue").ShallowRef<FdtoScheduleBoard | null, FdtoScheduleBoard | null>;
8
+ export declare const loading: import("vue").Ref<boolean, boolean>;
9
+ /** The POS roster (who the board's rows are) is fetched separately from the board window. */
10
+ export declare const rosterLoading: import("vue").Ref<boolean, boolean>;
11
+ export declare const loadError: import("vue").Ref<string | null, string | null>;
12
+ /** Whether this outlet has finished setting up scheduling (onboarding). The schedule settings
13
+ * will carry this, but the backend has no such field yet, so it is a plain flag that defaults to
14
+ * "not finished" — the setup banner keys off it. TODO: when the field exists, set it from the
15
+ * settings payload where `payload` is applied (and flip it when the onboarding wizard finishes);
16
+ * nothing else needs to change. */
17
+ export declare const scheduleSetupCompleted: import("vue").Ref<boolean, boolean>;
18
+ /** Bumped every time `payload` is replaced. Anything that caches a derived view of the data
19
+ * — the board's per-week buckets above all — watches this and rebuilds. */
20
+ export declare const dataVersion: import("vue").Ref<number, number>;
21
+ /** The outlet the board is reading. A ref rather than a plain variable so the picker's label
22
+ * follows a switch immediately, without waiting for the new outlet's payload to land. */
23
+ export declare const outletId: import("vue").Ref<string, string>;
24
+ /** Who actually works this outlet, per the POS roster (`restaurantRole` on the pos-user
25
+ * record) — the board's roster is everyone here, not everyone with a Schedule EmployeeProfile.
26
+ * A profile stays business-wide scheduling settings for a person (pay/positions/availability);
27
+ * it no longer decides who shows up at all, only what shows once they do. */
28
+ export declare const restaurantEmployees: import("vue").Ref<{
29
+ _id: string;
30
+ name: string;
31
+ code?: string | undefined;
32
+ passcode: string;
33
+ isMasterUser: boolean;
34
+ isRestricted: boolean;
35
+ restaurantRole: {
36
+ restaurantId: string;
37
+ roleId: string;
38
+ }[];
39
+ }[], IFdtoPosUserSummary[] | {
40
+ _id: string;
41
+ name: string;
42
+ code?: string | undefined;
43
+ passcode: string;
44
+ isMasterUser: boolean;
45
+ isRestricted: boolean;
46
+ restaurantRole: {
47
+ restaurantId: string;
48
+ roleId: string;
49
+ }[];
50
+ }[]>;
51
+ /** Points the board at an outlet. Switching throws the held window away rather than widening
52
+ * it — two outlets' rosters are not one dataset, and half of each is not a schedule.
53
+ *
54
+ * Returns whether anything changed, so a caller that has to follow up with a fetch can skip
55
+ * the round trip when the picker was set to what was already showing. */
56
+ export declare function setOutlet(restaurantId: string): boolean;
57
+ /** Fetches (once per outlet) who the POS roster says works here, straight off the same
58
+ * `restaurantIds`-filterable endpoint the portal's own Employee List uses — no Schedule-side
59
+ * concept of outlet membership to keep in sync with it. Bumps `dataVersion` on arrival so the
60
+ * board's per-week employee cache (keyed off it already) picks the roster up without a second,
61
+ * separate invalidation path. A generous page size rather than looping pages: real restaurant
62
+ * headcounts sit nowhere near it. */
63
+ export declare function ensureRestaurantEmployeesLoaded(restaurantId: string): Promise<void>;
64
+ /** Re-reads this outlet's POS roster. The roster is what the board's rows are built from and is
65
+ * otherwise fetched once per outlet, so any write that changes who works here (add, remove)
66
+ * has to call this for the grid to show it. */
67
+ export declare function refreshRestaurantEmployees(): Promise<void>;
68
+ /** Gives an existing POS user a role at this outlet, so they land on its roster. */
69
+ export declare function addEmployeeToOutlet(employeeId: string, roleId: string): Promise<void>;
70
+ /** Takes a POS user off the given outlets' rosters; their other outlets are untouched. */
71
+ export declare function removeEmployeeFromOutlets(employeeId: string, restaurantIds: string[]): Promise<void>;
72
+ /** Takes a POS user off this outlet's roster only. */
73
+ export declare function removeEmployeeFromOutlet(employeeId: string): Promise<void>;
74
+ /** Every outlet each person works at (POS user id → outlet ids). The roster above is fetched
75
+ * FILTERED to one outlet, and a filtered read describes a person by that outlet alone, so the
76
+ * full list has to come from an unfiltered read. Paged until the total is covered. A failure
77
+ * leaves the map empty rather than failing the board: locations are display-only here. */
78
+ export declare const employeeOutletIds: import("vue").ShallowRef<Record<string, string[]>, Record<string, string[]>>;
79
+ /** Everyone in the business (POS user summaries: name, passcode, outlet roles), kept once and
80
+ * shared by the locations map, "select existing employee", passcode prefill and the role edits —
81
+ * the plain `/pos-users` read they used before returns every user-outlet row in one slow call. */
82
+ export declare const businessEmployees: import("vue").ShallowRef<IFdtoPosUserSummary[], IFdtoPosUserSummary[]>;
83
+ /** The cached business roster, fetched on first use. `force` re-reads it (after a write, or to
84
+ * refresh a list that is already on screen). Concurrent callers share one request. */
85
+ export declare function ensureBusinessEmployees(force?: boolean): Promise<IFdtoPosUserSummary[]>;
86
+ /** Guarantees the week starting `weekStart` is in memory, fetching a padded window around it
87
+ * if it is not. Safe to call on every navigation: a week already covered costs nothing. */
88
+ export declare function ensureWeekLoaded(weekStart: Date): Promise<void>;
89
+ /** Re-reads the currently held window from the API — what a write path calls once it has
90
+ * saved, and what the page offers after a failure. */
91
+ export declare function reload(): Promise<void>;
92
+ /** Puts an existing employee onto the current outlet's schedule. Pushes the record the API
93
+ * hands back straight onto the held payload instead of reloading — a reload re-derives every
94
+ * employee's shifts from what's actually stored, and shifts have no write path of their own
95
+ * yet, so it would silently discard any shift assigned to anyone else on the board earlier in
96
+ * the same sitting (the same bug shape saveDemand's callers used to have). data.ts's
97
+ * `employeeNumberOf` assigns the new hire a board id the next time it runs, same as it does for
98
+ * everyone loaded from the initial read, so nothing here needs to know that mapping itself.
99
+ * Throws on failure (a duplicate profile, a network error) — the caller decides how to show
100
+ * that, this just doesn't pretend it succeeded. */
101
+ export declare function createEmployeeProfile(req: FdtoScheduleCreateEmployeeProfileReq): Promise<void>;
102
+ /** Edits a profile already on this outlet's schedule. The caller (useScheduleAddEmployee's
103
+ * `updateExisting`) applies the form to the live `Employee` object itself for instant feedback,
104
+ * so this does not bump `dataVersion` — nothing needs a re-derive right now. It still patches
105
+ * the entry inside `payload.value.employees` in place, though: that raw array is what the NEXT
106
+ * re-derive (the next employee added, the next outlet reload) rebuilds every `Employee` from,
107
+ * and a stale entry there would silently revert this edit the moment something else triggers
108
+ * one, exactly the trap `createEmployeeProfile` above avoids by pushing onto the same array. */
109
+ export declare function updateEmployeeProfile(employeeId: string, req: FdtoScheduleUpdateEmployeeProfileReq): Promise<void>;
110
+ /** Positions are business-level, not per-outlet (see `ScheduleAPI.createPosition`'s own note)
111
+ * — so unlike the shift-shaped writes below, there's no "discards an unsaved shift" risk in
112
+ * refreshing the catalogue here: `payload` is reassigned as a NEW top-level object (same
113
+ * `employees`/`assignments`/etc. array references, only `positions` itself replaced) so
114
+ * data.ts's `watch(payload, applyCatalogues)` re-derives `POSITIONS`/`POSITION_RECORDS` —
115
+ * without touching `dataVersion`, which would otherwise invalidate the board's per-week
116
+ * employee cache and risk reverting a shift committed earlier in the same sitting that hasn't
117
+ * round-tripped into `payload.value.assignments` yet (see createAssignment's own note below). */
118
+ export declare function createPosition(req: FdtoScheduleSavePositionReq): Promise<void>;
119
+ export declare function updatePosition(id: string, req: FdtoScheduleSavePositionReq): Promise<void>;
120
+ export declare function deletePosition(id: string): Promise<void>;
121
+ /** Replaces one date's note/holiday-mark. Same shallow `payload` reassignment as the position
122
+ * writes above and for the same reason: `useScheduleBoard.ts` seeds its `dayNotes`/
123
+ * `manualHolidays` state from `payload.value.days` on every `payload` reassignment, so this has
124
+ * to land there for that seed to stay correct — without a `dataVersion` bump, which would
125
+ * invalidate the per-week employee cache and risk reverting an unsaved shift. */
126
+ export declare function saveScheduleDay(date: string, req: FdtoScheduleSaveScheduleDayReq): Promise<void>;
127
+ /** Replaces one date/weekday's UI demand by expanding every period into flat ShiftDemand rows.
128
+ * Position-specific headcount becomes its own row; any remaining headcount becomes an
129
+ * unpositioned row for the same time range. */
130
+ export declare function saveDemand(req: ScheduleReplaceDemandReq): Promise<void>;
131
+ /** Copies one date's own demand rows onto another date, as that date's own rows. A date that
132
+ * already has demand of its own is left alone (nothing is overwritten), and a source date with
133
+ * none has nothing to copy: the standing weekday rule already covers the same weekday in every
134
+ * week, so repeating it per date would only shadow later edits to the rule. Returns how many rows
135
+ * were written. */
136
+ export declare function copyDateDemand(fromDate: string, toDate: string): Promise<number>;
137
+ export declare function generateAutoSchedule(req: FdtoScheduleAutoScheduleReq): Promise<FdtoScheduleAutoScheduleResult>;
138
+ /** A one-off shift assignment — someone working these hours on this date, not answering any
139
+ * Shift requirement. Deliberately does not reload: unlike `createEmployeeProfile` above, there
140
+ * is nothing here a reload could bring back that the caller doesn't already have — `commitShift`
141
+ * writes `assignmentId` onto the slot itself once this resolves, and a reload would only risk
142
+ * discarding some OTHER unsaved shift elsewhere on the board (shifts have no write path of
143
+ * their own to read back from yet). */
144
+ export declare function createAssignment(req: FdtoScheduleSaveAssignmentReq): Promise<FdtoScheduleAssignment>;
145
+ export declare function updateAssignment(id: string, req: FdtoScheduleSaveAssignmentReq): Promise<FdtoScheduleAssignment | null>;
146
+ /** Deletes a batch of existing assignments in a single request — see
147
+ * `ScheduleAPI.deleteAssignments`. Deleting one is just this with a single-id array. */
148
+ export declare function deleteAssignments(ids: string[]): Promise<void>;
149
+ /** Flips a batch of existing assignments to one status in a single request — see
150
+ * `ScheduleAPI.bulkUpdateAssignmentStatus`. */
151
+ export declare function bulkUpdateAssignmentStatus(req: FdtoScheduleBulkUpdateAssignmentStatusReq): Promise<FdtoScheduleAssignment[]>;