@feedmepos/mf-hrm-portal 2.3.2-dev → 2.3.2-dev.3

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 (292) hide show
  1. package/dist/{ApprovalCodeList-xOyDG5ug.js → ApprovalCodeList-D3U4nvlF.js} +7 -7
  2. package/dist/AuditLogList-qGCW7tf0.js +1950 -0
  3. package/dist/ConditionBuilderForm.vue_vue_type_script_setup_true_lang-B0VcRYUg.js +438 -0
  4. package/dist/EmployeeList-Bd73xDCX.js +776 -0
  5. package/dist/{FormItem.vue_vue_type_script_setup_true_lang-DPT2FoIc.js → FormItem.vue_vue_type_script_setup_true_lang-cLEnrtC6.js} +6 -6
  6. package/dist/{GrantUserList-CUkuf3VV.js → GrantUserList-C71pal0N.js} +8 -8
  7. package/dist/{Main-Cg9SOzcz.js → Main-BWJPyEU1.js} +5 -5
  8. package/dist/{Main-BcixH7R5.js → Main-CCdTWngg.js} +11 -11
  9. package/dist/Main-DGf0bQvy.js +96 -0
  10. package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js +243 -0
  11. package/dist/{PermissionSetList-I3u2_qHR.js → PermissionSetList-BS-oBunI.js} +35 -33
  12. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-CkOAT-oX.js +4167 -0
  13. package/dist/PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-DQcgZ0nF.js +35 -0
  14. package/dist/ResponsiveContextMenu.vue_vue_type_script_setup_true_lang-mSJFKo7r.js +132 -0
  15. package/dist/{RoleList-ALmAwN0U.js → RoleList-B_7UnVNb.js} +21 -20
  16. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-BXihM4sl.js +544 -0
  17. package/dist/ScheduleGeneralPage-DpNvWNGs.js +811 -0
  18. package/dist/ScheduleModal.vue_vue_type_script_setup_true_lang-DIYLOF9N.js +2556 -0
  19. package/dist/SchedulePage-QW-cYvu2.js +19458 -0
  20. package/dist/SchedulePositionPage-BtFfVo2N.js +282 -0
  21. package/dist/SelectFilter-BXeVKgHN.js +264 -0
  22. package/dist/TeamMemberList-DoisBYnk.js +1154 -0
  23. package/dist/{TimesheetList-CECFKt7H.js → TimesheetList-D-bESKe5.js} +11 -11
  24. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-RIyoAmeb.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-D0zAVqCa.js} +3 -3
  25. package/dist/{app-CdrnR_Pw.js → app-D-MUq9Ab.js} +11435 -6652
  26. package/dist/app.js +3 -3
  27. package/dist/{approval-code-Bwvwehz9.js → approval-code-BXUiojPH.js} +1 -1
  28. package/dist/{dayjs.min-BO8bcI17.js → dayjs.min-BZ1pM-6M.js} +13 -13
  29. package/dist/{employee-Dg-J9goA.js → employee-HQEU8fjb.js} +66 -62
  30. package/dist/{grant-user-whFOaPZI.js → grant-user-CBJ3gEgW.js} +1 -1
  31. package/dist/{iteration-ZpERYj3o.js → iteration-ogxW2-Tv.js} +1 -1
  32. package/dist/{lodash-7SZBZ8VQ.js → lodash-Def4gaas.js} +1 -1
  33. package/dist/object-Dwyg2LgX.js +16 -0
  34. package/dist/restaurant-D2mfKHaH.js +1880 -0
  35. package/dist/{role-C6hFKOfU.js → role-JDoDFVd9.js} +4 -5
  36. package/dist/{rule-BlMymDXm.js → rule-DPtqlnz-.js} +94 -99
  37. package/dist/src/api/audit-log/index.d.ts +4 -0
  38. package/dist/src/api/employee/index.d.ts +2 -2
  39. package/dist/src/api/restaurant/index.d.ts +2 -0
  40. package/dist/src/api/schedule/index.d.ts +68 -0
  41. package/dist/src/components/AppForm.vue.d.ts +2 -2
  42. package/dist/src/components/CheckboxInput.vue.d.ts +2 -2
  43. package/dist/src/components/CollapsibleWrapper.vue.d.ts +3 -11
  44. package/dist/src/components/layout/PortalShell.vue.d.ts +12 -0
  45. package/dist/src/components/layout/withScheduleShell.d.ts +10 -0
  46. package/dist/src/composables/useDiscardConfirm.d.ts +3 -1
  47. package/dist/src/composables/useMessage.d.ts +8 -2
  48. package/dist/src/helpers/string.d.ts +1 -10
  49. package/dist/src/router/shared.d.ts +3 -2
  50. package/dist/src/stores/employee.d.ts +12 -12
  51. package/dist/src/stores/restaurant.d.ts +7 -7
  52. package/dist/src/stores/team.d.ts +0 -30
  53. package/dist/src/types/employee.d.ts +1 -0
  54. package/dist/src/types/schedule.d.ts +23 -0
  55. package/dist/src/types/team.d.ts +1 -17
  56. package/dist/src/views/audit-log/constants.d.ts +9 -30
  57. package/dist/src/views/audit-log/locales/index.d.ts +488 -0
  58. package/dist/src/views/audit-log/pos-row.d.ts +27 -0
  59. package/dist/src/views/hr/locales/index.d.ts +4 -4
  60. package/dist/src/views/scheduling/ScheduleGeneralPage.vue.d.ts +3 -0
  61. package/dist/src/views/scheduling/SchedulePage.vue.d.ts +3 -0
  62. package/dist/src/views/scheduling/SchedulePositionPage.vue.d.ts +3 -0
  63. package/dist/src/views/scheduling/components/ScheduleAddEmployeeIdentitySection.vue.d.ts +6 -0
  64. package/dist/src/views/scheduling/components/ScheduleAddEmployeeModal.vue.d.ts +12 -0
  65. package/dist/src/views/scheduling/components/ScheduleAddEmployeeModeStep.vue.d.ts +6 -0
  66. package/dist/src/views/scheduling/components/ScheduleAddEmployeePosAccessSection.vue.d.ts +6 -0
  67. package/dist/src/views/scheduling/components/ScheduleAddEmployeePositionsSection.vue.d.ts +10 -0
  68. package/dist/src/views/scheduling/components/ScheduleAddEmployeeSchedulingSection.vue.d.ts +6 -0
  69. package/dist/src/views/scheduling/components/ScheduleAddPickPopover.vue.d.ts +6 -0
  70. package/dist/src/views/scheduling/components/ScheduleAddPositionModal.vue.d.ts +6 -0
  71. package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +41 -0
  72. package/dist/src/views/scheduling/components/ScheduleAutoScheduleDetailsModal.vue.d.ts +6 -0
  73. package/dist/src/views/scheduling/components/ScheduleAutoScheduleDoneArt.vue.d.ts +2 -0
  74. package/dist/src/views/{team/member/ExistingMemberNotice.vue.d.ts → scheduling/components/ScheduleAutoScheduleModal.vue.d.ts} +5 -6
  75. package/dist/src/views/scheduling/components/ScheduleBoardAreaRows.vue.d.ts +25 -0
  76. package/dist/src/views/scheduling/components/ScheduleBoardEditOverlays.vue.d.ts +17 -0
  77. package/dist/src/views/scheduling/components/ScheduleBoardEmployeeRows.vue.d.ts +31 -0
  78. package/dist/src/views/scheduling/components/ScheduleBoardGridHeader.vue.d.ts +29 -0
  79. package/dist/src/views/scheduling/components/ScheduleBoardInteractionOverlays.vue.d.ts +34 -0
  80. package/dist/src/views/scheduling/components/ScheduleBoardOnboardingOverlays.vue.d.ts +26 -0
  81. package/dist/src/views/scheduling/components/ScheduleBoardRails.vue.d.ts +17 -0
  82. package/dist/src/views/scheduling/components/ScheduleBoardToolbar.vue.d.ts +38 -0
  83. package/dist/src/views/scheduling/components/ScheduleBoardUtilityOverlays.vue.d.ts +22 -0
  84. package/dist/src/views/scheduling/components/ScheduleButton.vue.d.ts +23 -0
  85. package/dist/src/views/scheduling/components/ScheduleChangeEmployeeModal.vue.d.ts +8 -0
  86. package/dist/src/views/scheduling/components/ScheduleCloneOutletModal.vue.d.ts +6 -0
  87. package/dist/src/views/scheduling/components/ScheduleCoach.vue.d.ts +6 -0
  88. package/dist/src/views/scheduling/components/ScheduleCompletionDialog.vue.d.ts +15 -0
  89. package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +33 -0
  90. package/dist/src/views/scheduling/components/ScheduleContextMenu.vue.d.ts +17 -0
  91. package/dist/src/views/scheduling/components/ScheduleCostRail.vue.d.ts +8 -0
  92. package/dist/src/views/scheduling/components/ScheduleCostRailEmptyArt.vue.d.ts +2 -0
  93. package/dist/src/views/scheduling/components/ScheduleDateRangePopover.vue.d.ts +6 -0
  94. package/dist/src/views/scheduling/components/ScheduleDayNotePopover.vue.d.ts +6 -0
  95. package/dist/src/views/scheduling/components/ScheduleDayTimeline.vue.d.ts +17 -0
  96. package/dist/src/views/scheduling/components/ScheduleDemandRow.vue.d.ts +23 -0
  97. package/dist/src/views/scheduling/components/ScheduleDemandSheet.vue.d.ts +10 -0
  98. package/dist/src/views/scheduling/components/ScheduleDotsIcon.vue.d.ts +2 -0
  99. package/dist/src/views/scheduling/components/ScheduleEmployeeDetailPanel.vue.d.ts +12 -0
  100. package/dist/src/views/scheduling/components/ScheduleEmployeeIdentity.vue.d.ts +17 -0
  101. package/dist/src/views/scheduling/components/ScheduleExportPreview.vue.d.ts +7 -0
  102. package/dist/src/views/scheduling/components/ScheduleFilterBar.vue.d.ts +18 -0
  103. package/dist/src/views/scheduling/components/ScheduleGapPopover.vue.d.ts +6 -0
  104. package/dist/src/views/scheduling/components/ScheduleGridHeader.vue.d.ts +18 -0
  105. package/dist/src/views/scheduling/components/ScheduleGridSkeleton.vue.d.ts +2 -0
  106. package/dist/src/views/scheduling/components/ScheduleLeaveEditModal.vue.d.ts +6 -0
  107. package/dist/src/views/scheduling/components/ScheduleLoadState.vue.d.ts +9 -0
  108. package/dist/src/views/scheduling/components/ScheduleModal.vue.d.ts +26 -0
  109. package/dist/src/views/scheduling/components/ScheduleOnboardingAssignPositionModal.vue.d.ts +6 -0
  110. package/dist/src/views/scheduling/components/ScheduleOnboardingClosedDayConfirm.vue.d.ts +6 -0
  111. package/dist/src/views/scheduling/components/ScheduleOnboardingDemandDays.vue.d.ts +6 -0
  112. package/dist/src/views/scheduling/components/ScheduleOnboardingDemandFooter.vue.d.ts +6 -0
  113. package/dist/src/views/scheduling/components/ScheduleOnboardingDemandHeader.vue.d.ts +6 -0
  114. package/dist/src/views/scheduling/components/ScheduleOnboardingDoneArt.vue.d.ts +2 -0
  115. package/dist/src/views/scheduling/components/ScheduleOnboardingHoursProfileNotice.vue.d.ts +10 -0
  116. package/dist/src/views/scheduling/components/ScheduleOnboardingPositions.vue.d.ts +6 -0
  117. package/dist/src/views/scheduling/components/ScheduleOnboardingReview.vue.d.ts +6 -0
  118. package/dist/src/views/scheduling/components/ScheduleOnboardingSettings.vue.d.ts +6 -0
  119. package/dist/src/views/scheduling/components/ScheduleOnboardingWelcome.vue.d.ts +11 -0
  120. package/dist/src/views/scheduling/components/ScheduleOnboardingWizard.vue.d.ts +9 -0
  121. package/dist/src/views/scheduling/components/ScheduleOnboardingWizardFooter.vue.d.ts +6 -0
  122. package/dist/src/views/scheduling/components/ScheduleOnboardingWizardHeader.vue.d.ts +11 -0
  123. package/dist/src/views/scheduling/components/SchedulePublishModal.vue.d.ts +8 -0
  124. package/dist/src/views/scheduling/components/SchedulePublishShareArt.vue.d.ts +2 -0
  125. package/dist/src/views/scheduling/components/ScheduleReviewBar.vue.d.ts +12 -0
  126. package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +70 -0
  127. package/dist/src/views/scheduling/components/ScheduleSelectExistingEmployeeModal.vue.d.ts +6 -0
  128. package/dist/src/views/scheduling/components/ScheduleSetupBanner.vue.d.ts +12 -0
  129. package/dist/src/views/scheduling/components/ScheduleShiftCell.vue.d.ts +35 -0
  130. package/dist/src/views/scheduling/components/ScheduleShiftHeadcountEditor.vue.d.ts +10 -0
  131. package/dist/src/views/scheduling/components/ScheduleShiftImpact.vue.d.ts +6 -0
  132. package/dist/src/views/scheduling/components/ScheduleShiftMoreOptions.vue.d.ts +8 -0
  133. package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +16 -0
  134. package/dist/src/views/scheduling/components/ScheduleShiftRepeatDaysRow.vue.d.ts +8 -0
  135. package/dist/src/views/scheduling/components/ScheduleShiftSegmentsEditor.vue.d.ts +8 -0
  136. package/dist/src/views/scheduling/components/ScheduleShiftWhoPicker.vue.d.ts +25 -0
  137. package/dist/src/views/scheduling/components/ScheduleStaffRail.vue.d.ts +16 -0
  138. package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +50 -0
  139. package/dist/src/views/scheduling/components/ScheduleStatsRow.vue.d.ts +12 -0
  140. package/dist/src/views/scheduling/components/ScheduleSwapShiftsModal.vue.d.ts +8 -0
  141. package/dist/src/views/scheduling/components/ScheduleTimePickerPopover.vue.d.ts +6 -0
  142. package/dist/src/views/scheduling/components/ScheduleTopbar.vue.d.ts +20 -0
  143. package/dist/src/views/scheduling/composables/auto-schedule-mapping.d.ts +35 -0
  144. package/dist/src/views/scheduling/composables/onboarding-constants.d.ts +7 -0
  145. package/dist/src/views/scheduling/composables/onboarding-hours.d.ts +7 -0
  146. package/dist/src/views/scheduling/composables/onboarding-types.d.ts +51 -0
  147. package/dist/src/views/scheduling/composables/remyPrompt.d.ts +15 -0
  148. package/dist/src/views/scheduling/composables/schedule-add-employee-form.d.ts +82 -0
  149. package/dist/src/views/scheduling/composables/schedule-board-helpers.d.ts +63 -0
  150. package/dist/src/views/scheduling/composables/schedule-breaks.d.ts +9 -0
  151. package/dist/src/views/scheduling/composables/schedule-calendar.d.ts +17 -0
  152. package/dist/src/views/scheduling/composables/schedule-cost.d.ts +24 -0
  153. package/dist/src/views/scheduling/composables/schedule-currency.d.ts +22 -0
  154. package/dist/src/views/scheduling/composables/schedule-day-meta.d.ts +21 -0
  155. package/dist/src/views/scheduling/composables/schedule-demand-domain.d.ts +23 -0
  156. package/dist/src/views/scheduling/composables/schedule-employee-profile.d.ts +7 -0
  157. package/dist/src/views/scheduling/composables/schedule-error.d.ts +1 -0
  158. package/dist/src/views/scheduling/composables/schedule-export-matrix.d.ts +14 -0
  159. package/dist/src/views/scheduling/composables/schedule-leave-split.d.ts +9 -0
  160. package/dist/src/views/scheduling/composables/schedule-popover-position.d.ts +16 -0
  161. package/dist/src/views/scheduling/composables/schedule-quick-pick.d.ts +23 -0
  162. package/dist/src/views/scheduling/composables/schedule-shift-time.d.ts +29 -0
  163. package/dist/src/views/scheduling/composables/schedule-time.d.ts +8 -0
  164. package/dist/src/views/scheduling/composables/schedule-week-cache.d.ts +9 -0
  165. package/dist/src/views/scheduling/composables/useCollapsedList.d.ts +9 -0
  166. package/dist/src/views/scheduling/composables/useRemyAppStore.d.ts +16 -0
  167. package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +137 -0
  168. package/dist/src/views/scheduling/composables/useScheduleAddPick.d.ts +75 -0
  169. package/dist/src/views/scheduling/composables/useScheduleAreaBoard.d.ts +50 -0
  170. package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +11 -0
  171. package/dist/src/views/scheduling/composables/useScheduleAssignmentMutations.d.ts +13 -0
  172. package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +301 -0
  173. package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +615 -0
  174. package/dist/src/views/scheduling/composables/useScheduleCellState.d.ts +27 -0
  175. package/dist/src/views/scheduling/composables/useScheduleClashDetection.d.ts +28 -0
  176. package/dist/src/views/scheduling/composables/useScheduleCloneOutletModal.d.ts +21 -0
  177. package/dist/src/views/scheduling/composables/useScheduleCoach.d.ts +80 -0
  178. package/dist/src/views/scheduling/composables/useScheduleCopyWeek.d.ts +12 -0
  179. package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +60 -0
  180. package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +44 -0
  181. package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +111 -0
  182. package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +59 -0
  183. package/dist/src/views/scheduling/composables/useScheduleDemandRow.d.ts +47 -0
  184. package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +166 -0
  185. package/dist/src/views/scheduling/composables/useScheduleDragDrop.d.ts +55 -0
  186. package/dist/src/views/scheduling/composables/useScheduleEmployeeAccess.d.ts +24 -0
  187. package/dist/src/views/scheduling/composables/useScheduleEmployeeAvailability.d.ts +13 -0
  188. package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +49 -0
  189. package/dist/src/views/scheduling/composables/useScheduleEmployeeCompensation.d.ts +7 -0
  190. package/dist/src/views/scheduling/composables/useScheduleEmployeeForm.d.ts +22 -0
  191. package/dist/src/views/scheduling/composables/useScheduleEmployeeIdentity.d.ts +50 -0
  192. package/dist/src/views/scheduling/composables/useScheduleEmployeeMenu.d.ts +38 -0
  193. package/dist/src/views/scheduling/composables/useScheduleEmployeePersistence.d.ts +32 -0
  194. package/dist/src/views/scheduling/composables/useScheduleEmployeeProfile.d.ts +16 -0
  195. package/dist/src/views/scheduling/composables/useScheduleEmployeeValidation.d.ts +18 -0
  196. package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +52 -0
  197. package/dist/src/views/scheduling/composables/useScheduleFilterBar.d.ts +14 -0
  198. package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +79 -0
  199. package/dist/src/views/scheduling/composables/useScheduleLeave.d.ts +60 -0
  200. package/dist/src/views/scheduling/composables/useScheduleLegend.d.ts +15 -0
  201. package/dist/src/views/scheduling/composables/useScheduleOnboardingAvailability.d.ts +58 -0
  202. package/dist/src/views/scheduling/composables/useScheduleOnboardingDemand.d.ts +45 -0
  203. package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +231 -0
  204. package/dist/src/views/scheduling/composables/useScheduleOnboardingFlow.d.ts +9 -0
  205. package/dist/src/views/scheduling/composables/useScheduleOnboardingHours.d.ts +15 -0
  206. package/dist/src/views/scheduling/composables/useScheduleOnboardingNavigation.d.ts +11 -0
  207. package/dist/src/views/scheduling/composables/useScheduleOnboardingPersistence.d.ts +13 -0
  208. package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +1543 -0
  209. package/dist/src/views/scheduling/composables/useScheduleOutlet.d.ts +25 -0
  210. package/dist/src/views/scheduling/composables/useSchedulePageActions.d.ts +18 -0
  211. package/dist/src/views/scheduling/composables/useSchedulePageBootstrap.d.ts +9 -0
  212. package/dist/src/views/scheduling/composables/useSchedulePageCellActions.d.ts +21 -0
  213. package/dist/src/views/scheduling/composables/useSchedulePageCellDrop.d.ts +20 -0
  214. package/dist/src/views/scheduling/composables/useSchedulePageClearActions.d.ts +33 -0
  215. package/dist/src/views/scheduling/composables/useSchedulePageEmployeeActions.d.ts +22 -0
  216. package/dist/src/views/scheduling/composables/useSchedulePageOverlays.d.ts +21 -0
  217. package/dist/src/views/scheduling/composables/useSchedulePdfExport.d.ts +19 -0
  218. package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +55 -0
  219. package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +35 -0
  220. package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +127 -0
  221. package/dist/src/views/scheduling/composables/useSchedulePublishPersistence.d.ts +11 -0
  222. package/dist/src/views/scheduling/composables/useScheduleRangeCalendar.d.ts +27 -0
  223. package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +313 -0
  224. package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +40 -0
  225. package/dist/src/views/scheduling/composables/useScheduleSetupBanner.d.ts +17 -0
  226. package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +245 -0
  227. package/dist/src/views/scheduling/composables/useScheduleShiftDraft.d.ts +63 -0
  228. package/dist/src/views/scheduling/composables/useScheduleShiftPersistence.d.ts +17 -0
  229. package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +255 -0
  230. package/dist/src/views/scheduling/composables/useScheduleStatsRow.d.ts +27 -0
  231. package/dist/src/views/scheduling/composables/useScheduleTimePicker.d.ts +49 -0
  232. package/dist/src/views/scheduling/composables/useScheduleTour.d.ts +95 -0
  233. package/dist/src/views/scheduling/composables/useScheduleViewportFit.d.ts +9 -0
  234. package/dist/src/views/scheduling/country-rules/index.d.ts +33 -0
  235. package/dist/src/views/scheduling/data.d.ts +123 -0
  236. package/dist/src/views/scheduling/locales/index.d.ts +6988 -0
  237. package/dist/src/views/scheduling/schedule-constants.d.ts +7 -0
  238. package/dist/src/views/scheduling/schedule-state.d.ts +767 -0
  239. package/dist/src/views/scheduling/schedule-store.d.ts +140 -0
  240. package/dist/src/views/scheduling/types.d.ts +381 -0
  241. package/dist/src/views/team/components/BasePermission.vue.d.ts +0 -11
  242. package/dist/src/views/team/components/ConditionPermission.vue.d.ts +0 -11
  243. package/dist/src/views/team/components/PortalConditionForm.vue.d.ts +2 -2
  244. package/dist/src/views/team/components/PortalPermissionEditor.vue.d.ts +0 -21
  245. package/dist/src/views/team/components/PosRolePermission.vue.d.ts +0 -11
  246. package/dist/src/views/team/condition-builders/ConditionBuilderForm.vue.d.ts +2 -2
  247. package/dist/src/views/team/locales/index.d.ts +0 -716
  248. package/dist/src/views/team/member/AddMemberForm.vue.d.ts +3 -50
  249. package/dist/src/views/team/{components/MemberStatusBadge.vue.d.ts → member/MemberInfo.vue.d.ts} +2 -2
  250. package/dist/src/views/team/member/TeamMemberList.vue.d.ts +0 -1
  251. package/dist/src/views/team/member/TeamMemberMasterUser.vue.d.ts +0 -2
  252. package/dist/string-VNuQNweN.js +15 -0
  253. package/dist/style.css +1 -1
  254. package/dist/tsconfig.app.tsbuildinfo +1 -1
  255. package/dist/{useAppStore-CL6EEDuw.js → useAppStore-DZCdxlCd.js} +1 -1
  256. package/dist/useDiscardConfirm-CzZSPyvh.js +28 -0
  257. package/dist/{useLoading-BBjBUzGJ.js → useLoading-Nygx2zn8.js} +1 -1
  258. package/dist/{useReportPermissions-Bg0fma6m.js → useReportPermissions-CxV7Dz1B.js} +3 -3
  259. package/package.json +5 -3
  260. package/dist/AuditLogList-Dd6HyFhk.js +0 -1777
  261. package/dist/ConditionBuilderForm.vue_vue_type_script_setup_true_lang-Cixg_icC.js +0 -459
  262. package/dist/EmployeeList-BG2KPvOB.js +0 -908
  263. package/dist/Main-BSHf8gTE.js +0 -100
  264. package/dist/MyPosProfile-CN8Bj3aV.js +0 -301
  265. package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-TXPEqa46.js +0 -126
  266. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-BBoRXQPn.js +0 -4243
  267. package/dist/PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-B5QDOF0L.js +0 -1840
  268. package/dist/SelectFilter-ATOm0hdn.js +0 -269
  269. package/dist/TeamMemberList-DZfEnOs1.js +0 -2097
  270. package/dist/member-grant-C46lvrh2.js +0 -55
  271. package/dist/restaurant-CKhT6kgj.js +0 -45
  272. package/dist/src/api/my-pos-profile/index.d.ts +0 -5
  273. package/dist/src/api/staff-invite/index.d.ts +0 -17
  274. package/dist/src/components/form/SegmentedTabs.vue.d.ts +0 -23
  275. package/dist/src/composables/useMenuAccess.d.ts +0 -56
  276. package/dist/src/composables/useStaffInviteProviders.d.ts +0 -19
  277. package/dist/src/helpers/member-grant.d.ts +0 -36
  278. package/dist/src/helpers/my-pos-profile.d.ts +0 -37
  279. package/dist/src/helpers/pos-assignment-rows.d.ts +0 -26
  280. package/dist/src/helpers/staff-invite.d.ts +0 -51
  281. package/dist/src/router/menu-access-guard.d.ts +0 -17
  282. package/dist/src/types/my-pos-profile.d.ts +0 -25
  283. package/dist/src/types/staff-invite.d.ts +0 -100
  284. package/dist/src/views/my-pos-profile/components/PasscodeChangedDialog.vue.d.ts +0 -4
  285. package/dist/src/views/my-pos-profile/locales/index.d.ts +0 -200
  286. package/dist/src/views/team/components/MemberGrantFields.vue.d.ts +0 -55
  287. package/dist/src/views/team/components/PosAssignmentRows.vue.d.ts +0 -46
  288. package/dist/src/views/team/member/MemberDetailsCard.vue.d.ts +0 -35
  289. package/dist/src/views/team/member/MemberHeaderCard.vue.d.ts +0 -19
  290. package/dist/string-DZQ1uNjn.js +0 -22
  291. package/dist/useDiscardConfirm-DPhEV6v0.js +0 -157
  292. /package/dist/src/{views/my-pos-profile/MyPosProfile.vue.d.ts → components/layout/SchedulePromoBanner.vue.d.ts} +0 -0
@@ -0,0 +1,137 @@
1
+ import type { Employee } from '../types';
2
+ import type { ScheduleBoardApi } from './useScheduleBoard';
3
+ import { type ScheduleAddEmployeeMode, type ScheduleAddEmployeeStep } from './schedule-add-employee-form';
4
+ export type { ScheduleAddEmployeeForm, ScheduleAddEmployeeMode, ScheduleAddEmployeeStep, } from './schedule-add-employee-form';
5
+ /** Add-employee wizard: a "how do you want to add them" step, then one detail form covering
6
+ * identity, locations, pay, scheduling caps, availability, positions and POS access — plus
7
+ * the "select existing POS staff" side dialog the first step can hand off to. */
8
+ export declare function useScheduleAddEmployee(board: ScheduleBoardApi, options?: {
9
+ notify?: (message: string, type?: 'success' | 'error' | 'info') => void;
10
+ }): {
11
+ open: import("vue").Ref<boolean, boolean>;
12
+ selectExistingOpen: import("vue").Ref<boolean, boolean>;
13
+ step: import("vue").Ref<ScheduleAddEmployeeStep, ScheduleAddEmployeeStep>;
14
+ mode: import("vue").Ref<ScheduleAddEmployeeMode, ScheduleAddEmployeeMode>;
15
+ form: {
16
+ name: string;
17
+ mobile: string;
18
+ dial: string;
19
+ employment: "full" | "part";
20
+ locations: string[];
21
+ payBasis: "hourly" | "monthly";
22
+ payAmount: string;
23
+ maxHours: string;
24
+ maxHoursPerDay: string;
25
+ minHours: string;
26
+ workingHoursEnabled: boolean;
27
+ overtimeEnabled: boolean;
28
+ maxHoursPerMonth: string;
29
+ availDays: boolean[];
30
+ availHours: {
31
+ from: string;
32
+ to: string;
33
+ }[];
34
+ preferences: string;
35
+ primaryPosition: string;
36
+ secondaryPositions: string[];
37
+ seniority: "" | "senior" | "junior";
38
+ passcode: string[];
39
+ masterUser: boolean;
40
+ masterCode: string;
41
+ posAccessEnabled: boolean;
42
+ posRoles: {
43
+ outlet: string;
44
+ roleId: string;
45
+ }[];
46
+ };
47
+ sectionId: import("vue").Ref<string, string>;
48
+ isEditing: import("vue").ComputedRef<boolean>;
49
+ editingEmployeeId: import("vue").Ref<number | null, number | null>;
50
+ locOpen: import("vue").Ref<boolean, boolean>;
51
+ secOpen: import("vue").Ref<boolean, boolean>;
52
+ secondaryOptions: import("vue").ComputedRef<string[]>;
53
+ isPart: import("vue").ComputedRef<boolean>;
54
+ dayLit: (index: number) => boolean;
55
+ avLabel: import("vue").ComputedRef<string>;
56
+ avAllLabel: import("vue").ComputedRef<string>;
57
+ maxHoursPlaceholder: import("vue").ComputedRef<string>;
58
+ minHoursPlaceholder: import("vue").ComputedRef<string>;
59
+ maxHoursPerDayPlaceholder: import("vue").ComputedRef<string>;
60
+ maxHoursPerMonthPlaceholder: import("vue").ComputedRef<string>;
61
+ toggleOvertime: () => void;
62
+ payUnit: import("vue").ComputedRef<string>;
63
+ effectiveRate: import("vue").ComputedRef<number>;
64
+ passcodeValue: import("vue").ComputedRef<string>;
65
+ passcodeOk: import("vue").ComputedRef<boolean>;
66
+ currentLocationLabel: import("vue").ComputedRef<string>;
67
+ locationOptions: import("vue").Reactive<string[]>;
68
+ isNewUser: import("vue").ComputedRef<boolean>;
69
+ footerHint: import("vue").ComputedRef<string>;
70
+ primaryRoleLabel: import("vue").ComputedRef<string>;
71
+ locationsSummary: import("vue").ComputedRef<string>;
72
+ payLine: import("vue").ComputedRef<string>;
73
+ nameError: import("vue").ComputedRef<boolean>;
74
+ passError: import("vue").ComputedRef<boolean>;
75
+ posRolesError: import("vue").ComputedRef<boolean>;
76
+ availabilityError: import("vue").ComputedRef<boolean>;
77
+ saving: import("vue").Ref<boolean, boolean>;
78
+ saveError: import("vue").Ref<string | null, string | null>;
79
+ deferScheduleWrites: import("vue").Ref<boolean, boolean>;
80
+ candidatesLoading: import("vue").Ref<boolean, boolean>;
81
+ candidatesError: import("vue").Ref<string | null, string | null>;
82
+ selectingExisting: import("vue").Ref<boolean, boolean>;
83
+ candidates: import("vue").Ref<{
84
+ employeeId: string;
85
+ name: string;
86
+ otherOutlets: string[];
87
+ locations: string[];
88
+ }[], import("../types").ExistingStaffCandidate[] | {
89
+ employeeId: string;
90
+ name: string;
91
+ otherOutlets: string[];
92
+ locations: string[];
93
+ }[]>;
94
+ candidatesTotal: import("vue").Ref<number, number>;
95
+ candidatesPage: import("vue").Ref<number, number>;
96
+ candidatesPageItemCount: import("vue").Ref<number, number>;
97
+ candidatesPageSize: number;
98
+ searchExisting: (search: string) => void;
99
+ goToExistingPage: (page: number, search: string) => void;
100
+ openWizard: (section: string) => void;
101
+ openEditFor: (emp: Employee) => void;
102
+ confirmClose: () => void;
103
+ close: () => void;
104
+ setMode: (m: ScheduleAddEmployeeMode) => void;
105
+ openSelectExisting: () => void;
106
+ closeSelectExisting: () => void;
107
+ pickExisting: (employeeId: string) => Promise<void>;
108
+ next: () => void;
109
+ back: () => void;
110
+ toggleMulti: (which: "loc" | "sec") => void;
111
+ toggleLocation: (location: string) => void;
112
+ removeLocation: (location: string) => void;
113
+ toggleSecondary: (position: string) => void;
114
+ removeSecondary: (position: string) => void;
115
+ setPrimaryPosition: (position: string) => void;
116
+ setPayBasis: (basis: "hourly" | "monthly") => void;
117
+ toggleAvailDay: (index: number) => void;
118
+ availAll: () => void;
119
+ setAvailHour: (index: number, field: "from" | "to", value: string) => void;
120
+ copyAvailHourDown: (index: number) => void;
121
+ setPasscodeDigit: (index: number, value: string) => void;
122
+ generatePasscode: () => Promise<void>;
123
+ isGeneratingPasscode: import("vue").Ref<boolean, boolean>;
124
+ togglePosAccess: () => void;
125
+ addPosRoleRow: () => void;
126
+ removePosRoleRow: (index: number) => void;
127
+ isCurrentOutletRow: (index: number) => boolean;
128
+ setPosRoleOutlet: (index: number, outlet: string) => void;
129
+ setPosRoleId: (index: number, roleId: string) => void;
130
+ posRoleOptionsFor: (outlet: string) => import("../../../types/role").Role[];
131
+ isPosRoleUsable: (role: import("../../../types/role").Role) => boolean;
132
+ setMasterUserRoleAccess: (roleIds: string[] | null | undefined) => void;
133
+ isPosOutletUsable: (outlet: string) => boolean;
134
+ posRolesHint: import("vue").ComputedRef<string>;
135
+ create: () => Promise<boolean>;
136
+ };
137
+ export type ScheduleAddEmployeeApi = ReturnType<typeof useScheduleAddEmployee>;
@@ -0,0 +1,75 @@
1
+ import type { ScheduleBoardApi } from './useScheduleBoard';
2
+ import type { ScheduleDemandApi } from './useScheduleDemand';
3
+ import { type QuickPickCandidate } from './schedule-quick-pick';
4
+ import { type ScheduleAnchorRect } from './schedule-popover-position';
5
+ export interface ScheduleAddPickState {
6
+ open: boolean;
7
+ empId: number | null;
8
+ dayIdx: number | null;
9
+ /** Measured rect of the cell the popup opened from; the popup component places itself from it
10
+ * once rendered (V6.2 placePopover), writing the result to `left`/`top`. */
11
+ anchor: ScheduleAnchorRect | null;
12
+ left: number;
13
+ top: number;
14
+ }
15
+ export interface ScheduleAddPickLeaveOption {
16
+ reason: string;
17
+ /** i18n key for the row's label — `reason` itself is an id and stays English. */
18
+ labelKey: string;
19
+ swatch: string;
20
+ }
21
+ /** The "+ Add" quick-pick popover on an employee's empty cell — ported from the mockup's
22
+ * openAddShiftPicker()/renderAddPickList(), scoped to what this board actually has: our one
23
+ * active shift pattern, a fixed leave-reason list, and a demand-gap suggestion, all committed
24
+ * directly (no clash confirmation dialogs — this board has no such infrastructure yet, and none
25
+ * of its existing write paths gate on one either). Leave picks write a full-day approved leave
26
+ * immediately rather than opening a creation form — there's no "book a leave" authoring flow
27
+ * anywhere in this port yet, only the existing pending-request review modal, which assumes the
28
+ * leave already exists. The mockup's "On this day" (join an existing open-shift group) section is
29
+ * left out — it needs split-shift/group-joining machinery this board doesn't model. */
30
+ export declare function useScheduleAddPick(board: ScheduleBoardApi, demand: ScheduleDemandApi, handlers: {
31
+ onCommitted: (message: string) => void;
32
+ onOpenFullEditor: (empId: number, dayIdx: number, slotIndex: number) => void;
33
+ /** The leave editor, on this cell. `reason` is the row's own type, or null for the plain "Leave" row. */
34
+ onOpenLeave: (empId: number, dayIdx: number, reason: string | null) => void;
35
+ }): {
36
+ state: {
37
+ open: boolean;
38
+ empId: number | null;
39
+ dayIdx: number | null;
40
+ anchor: {
41
+ left: number;
42
+ right: number;
43
+ top: number;
44
+ bottom: number;
45
+ } | null;
46
+ left: number;
47
+ top: number;
48
+ };
49
+ query: import("vue").Ref<string, string>;
50
+ parsedRange: import("vue").ComputedRef<{
51
+ start: string;
52
+ end: string;
53
+ } | null>;
54
+ suggestions: import("vue").ComputedRef<QuickPickCandidate[]>;
55
+ filteredPatterns: import("vue").ComputedRef<{
56
+ key: string;
57
+ label: string;
58
+ start: string;
59
+ end: string;
60
+ color: string;
61
+ active: boolean;
62
+ breakMins: number;
63
+ }[]>;
64
+ filteredLeaves: import("vue").ComputedRef<ScheduleAddPickLeaveOption[]>;
65
+ hasResults: import("vue").ComputedRef<boolean>;
66
+ openFor: (empId: number, dayIdx: number, anchor: HTMLElement) => void;
67
+ close: () => void;
68
+ pickSuggested: (index: number) => void;
69
+ pickPattern: (key: string) => void;
70
+ pickTypedRange: (start: string, end: string) => void;
71
+ pickLeave: (reason: string) => void;
72
+ submitQuery: () => void;
73
+ openBlank: () => void;
74
+ };
75
+ export type ScheduleAddPickApi = ReturnType<typeof useScheduleAddPick>;
@@ -0,0 +1,50 @@
1
+ import type { ScheduleBoardApi } from './useScheduleBoard';
2
+ import type { Employee, WorkSlot } from '../types';
3
+ export interface ScheduleAssignedSlot {
4
+ emp: Employee;
5
+ slot: WorkSlot;
6
+ /** This slot's position within the employee's day — what a drag of this card has to hand
7
+ * `board.moveShift`/`swapShifts` to pick the right period out of a day holding more than one. */
8
+ slotIndex: number;
9
+ }
10
+ export interface SchedulePositionCellMeta {
11
+ required: number;
12
+ filled: number;
13
+ open: number;
14
+ short: number;
15
+ }
16
+ /** Shared by the week and day area views, so a position's colour never disagrees between them. */
17
+ export declare function positionSwatchClass(position: string): string;
18
+ /** Where shifts and employees go that name no station at all — either because the outlet
19
+ * hasn't named its positions yet, or because a shift deliberately names none. Rostering
20
+ * shouldn't be blocked on the Positions page being filled in first, so this row exists
21
+ * whenever there's anyone or anything to put in it (see `positionRows`). */
22
+ export declare const ANY_POSITION_ROW = "Any position";
23
+ /** Every other row is named after the position its shifts carry, so the row name and the
24
+ * position key are the same string. This one differs: it collects records that name nothing,
25
+ * so anything that queries BY position — qualifiedFor, assignedOn, a new shift's role — has to
26
+ * ask for '' instead, or the row would answer "nobody holds Any position". */
27
+ export declare function rowAsk(row: string): string;
28
+ /** Whether this employee can be put on `position` — ported from the mockup's qualifiedFor().
29
+ * Nobody having a named position yet reads as "any station", the same way an unspecialised
30
+ * new-account roster does in the reference: rostering shouldn't be blocked on the Positions
31
+ * page being filled in first. */
32
+ export declare function qualifiedFor(emp: Employee, position: string): boolean;
33
+ /** Week-by-area grouping: rows are positions (a RULES.coverage.full key), not employees.
34
+ * Ported from the mockup's positionRows()/renderPositionBlock() — scoped to this board's single
35
+ * "Unassigned" section and its existing WorkSlot/OpenShift model, so no split shifts and
36
+ * no locked/closed-day states (neither exists anywhere in this port yet). */
37
+ export declare function useScheduleAreaBoard(board: ScheduleBoardApi): {
38
+ positionRows: import("vue").ComputedRef<string[]>;
39
+ assignedOn: (dayIdx: number, position: string) => ScheduleAssignedSlot[];
40
+ poolFor: (position: string) => Employee[];
41
+ cellMeta: (dayIdx: number, position: string) => SchedulePositionCellMeta;
42
+ positionWeekMeta: (position: string) => {
43
+ required: number;
44
+ filled: number;
45
+ open: number;
46
+ short: number;
47
+ pool: number;
48
+ };
49
+ };
50
+ export type ScheduleAreaBoardApi = ReturnType<typeof useScheduleAreaBoard>;
@@ -0,0 +1,11 @@
1
+ import type { ScheduleBoardApi } from './useScheduleBoard';
2
+ /** Dragging a person from the staff rail onto a position/day cell opens a normal assigned shift. */
3
+ export declare function useScheduleAreaDragDrop(board: ScheduleBoardApi, handlers: {
4
+ onCreateShift: (empId: number, dayIdx: number, position: string) => void;
5
+ }): {
6
+ draggingEmpId: import("vue").Ref<number | null, number | null>;
7
+ startRailDrag: (empId: number) => void;
8
+ endRailDrag: () => void;
9
+ dropOnCell: (dayIdx: number, position: string) => void;
10
+ };
11
+ export type ScheduleAreaDragDropApi = ReturnType<typeof useScheduleAreaDragDrop>;
@@ -0,0 +1,13 @@
1
+ import type { DaySlot, Employee, WorkSlot } from '../types';
2
+ export interface ScheduleAssignmentMutationOptions {
3
+ dateFor: (offset: number, dayIdx: number) => string | null;
4
+ employeeAt: (offset: number, employeeId: number) => Employee | undefined;
5
+ currentOffset: () => number;
6
+ onPersistError?: (message: string) => void;
7
+ }
8
+ export declare function useScheduleAssignmentMutations(options: ScheduleAssignmentMutationOptions): {
9
+ persistSlot: (empId: number, dayIdx: number, oldSlot: DaySlot, newSlot: WorkSlot | WorkSlot[], dateOverride?: string | null, offset?: number, restoreDaySlot?: DaySlot) => Promise<void>;
10
+ persistRemoval: (oldSlot: DaySlot) => Promise<void>;
11
+ persistMove: (toEmpId: number, dayIdx: number, slot: WorkSlot | WorkSlot[], dateOverride?: string | null) => Promise<void>;
12
+ recoverPersistFailure: (error: unknown, fallback: string) => Promise<void>;
13
+ };
@@ -0,0 +1,301 @@
1
+ import type { FdtoScheduleAutoScheduleObjective } from '@/types/schedule';
2
+ import type { Proposal } from '../types';
3
+ import type { ScheduleBoardApi } from './useScheduleBoard';
4
+ import type { ScheduleDemandApi } from './useScheduleDemand';
5
+ export type ScheduleAutoScheduleStep = 'options' | 'summary';
6
+ export interface ScheduleAutoScheduleOptions {
7
+ fillGaps: boolean;
8
+ objective: FdtoScheduleAutoScheduleObjective;
9
+ allowOvertime: boolean;
10
+ /** Shown as preferences in the dialog but not sent: the generator takes no input for them yet
11
+ * (availability and time off are always respected; patterns and cost ride on the objective). */
12
+ respectAvailability: boolean;
13
+ followPatterns: boolean;
14
+ costEfficient: boolean;
15
+ }
16
+ /** Backend-powered draft generation and local proposal review — the engine lives in hr-backend;
17
+ * this composable only maps its result onto the board and lets a manager review it. Generation
18
+ * never writes; accepted proposals use the board's existing assignment persistence path. */
19
+ export declare function useScheduleAutoSchedule(board: ScheduleBoardApi, demand: ScheduleDemandApi): {
20
+ wizardOpen: import("vue").Ref<boolean, boolean>;
21
+ step: import("vue").Ref<ScheduleAutoScheduleStep, ScheduleAutoScheduleStep>;
22
+ options: {
23
+ fillGaps: boolean;
24
+ objective: FdtoScheduleAutoScheduleObjective;
25
+ allowOvertime: boolean;
26
+ respectAvailability: boolean;
27
+ followPatterns: boolean;
28
+ costEfficient: boolean;
29
+ };
30
+ generating: import("vue").Ref<boolean, boolean>;
31
+ generateError: import("vue").Ref<string | null, string | null>;
32
+ result: import("vue").Ref<{
33
+ objective: "BALANCED" | "SERVICE" | "LOWER_COST" | "STABLE_HOURS";
34
+ allowOvertime: boolean;
35
+ model: string | null;
36
+ proposals: {
37
+ rejectReason?: string | null | undefined | undefined;
38
+ date: string;
39
+ startTime: string;
40
+ endTime: string;
41
+ employeeId: string;
42
+ positionId: string | null;
43
+ employeeName: string;
44
+ position: string;
45
+ reason: string;
46
+ }[];
47
+ unfilledCount: number;
48
+ unfilledNeeds: {
49
+ date: string;
50
+ startTime: string;
51
+ endTime: string;
52
+ position: string | null;
53
+ short: number;
54
+ excluded: {
55
+ occupied: number;
56
+ notQualified: number;
57
+ weeklyCap: number;
58
+ dailyCap: number;
59
+ rest: number;
60
+ dayOff: number;
61
+ };
62
+ }[];
63
+ metrics: {
64
+ minimumCoveragePercent: number;
65
+ recommendedCoveragePercent: number;
66
+ totalHours: number;
67
+ estimatedLabourCost: number | null;
68
+ costCoveragePercent: number;
69
+ overtimeHours: number;
70
+ targetHoursVariance: number;
71
+ unfilledIntervals: number;
72
+ };
73
+ readiness: {
74
+ ready: boolean;
75
+ capabilities: string[];
76
+ issues: {
77
+ code: string;
78
+ message: string;
79
+ severity: "BLOCKER" | "WARNING" | "INFO";
80
+ }[];
81
+ coverage: {
82
+ wage: number;
83
+ availability: number;
84
+ position: number;
85
+ targetHours: number;
86
+ };
87
+ };
88
+ explanations: string[];
89
+ solver: string;
90
+ week: {
91
+ from: string;
92
+ to: string;
93
+ };
94
+ timing: {
95
+ totalMs: number;
96
+ modelMs: number | null;
97
+ };
98
+ } | null, {
99
+ objective: "BALANCED" | "SERVICE" | "LOWER_COST" | "STABLE_HOURS";
100
+ allowOvertime: boolean;
101
+ model: string | null;
102
+ proposals: {
103
+ rejectReason?: string | null | undefined;
104
+ date: string;
105
+ startTime: string;
106
+ endTime: string;
107
+ employeeId: string;
108
+ positionId: string | null;
109
+ employeeName: string;
110
+ position: string;
111
+ reason: string;
112
+ }[];
113
+ unfilledCount: number;
114
+ unfilledNeeds: {
115
+ date: string;
116
+ startTime: string;
117
+ endTime: string;
118
+ position: string | null;
119
+ short: number;
120
+ excluded: {
121
+ occupied: number;
122
+ notQualified: number;
123
+ weeklyCap: number;
124
+ dailyCap: number;
125
+ rest: number;
126
+ dayOff: number;
127
+ };
128
+ }[];
129
+ metrics: {
130
+ minimumCoveragePercent: number;
131
+ recommendedCoveragePercent: number;
132
+ totalHours: number;
133
+ estimatedLabourCost: number | null;
134
+ costCoveragePercent: number;
135
+ overtimeHours: number;
136
+ targetHoursVariance: number;
137
+ unfilledIntervals: number;
138
+ };
139
+ readiness: {
140
+ ready: boolean;
141
+ capabilities: string[];
142
+ issues: {
143
+ code: string;
144
+ message: string;
145
+ severity: "BLOCKER" | "WARNING" | "INFO";
146
+ }[];
147
+ coverage: {
148
+ wage: number;
149
+ availability: number;
150
+ position: number;
151
+ targetHours: number;
152
+ };
153
+ };
154
+ explanations: string[];
155
+ solver: string;
156
+ week: {
157
+ from: string;
158
+ to: string;
159
+ };
160
+ timing: {
161
+ totalMs: number;
162
+ modelMs: number | null;
163
+ };
164
+ } | {
165
+ objective: "BALANCED" | "SERVICE" | "LOWER_COST" | "STABLE_HOURS";
166
+ allowOvertime: boolean;
167
+ model: string | null;
168
+ proposals: {
169
+ rejectReason?: string | null | undefined | undefined;
170
+ date: string;
171
+ startTime: string;
172
+ endTime: string;
173
+ employeeId: string;
174
+ positionId: string | null;
175
+ employeeName: string;
176
+ position: string;
177
+ reason: string;
178
+ }[];
179
+ unfilledCount: number;
180
+ unfilledNeeds: {
181
+ date: string;
182
+ startTime: string;
183
+ endTime: string;
184
+ position: string | null;
185
+ short: number;
186
+ excluded: {
187
+ occupied: number;
188
+ notQualified: number;
189
+ weeklyCap: number;
190
+ dailyCap: number;
191
+ rest: number;
192
+ dayOff: number;
193
+ };
194
+ }[];
195
+ metrics: {
196
+ minimumCoveragePercent: number;
197
+ recommendedCoveragePercent: number;
198
+ totalHours: number;
199
+ estimatedLabourCost: number | null;
200
+ costCoveragePercent: number;
201
+ overtimeHours: number;
202
+ targetHoursVariance: number;
203
+ unfilledIntervals: number;
204
+ };
205
+ readiness: {
206
+ ready: boolean;
207
+ capabilities: string[];
208
+ issues: {
209
+ code: string;
210
+ message: string;
211
+ severity: "BLOCKER" | "WARNING" | "INFO";
212
+ }[];
213
+ coverage: {
214
+ wage: number;
215
+ availability: number;
216
+ position: number;
217
+ targetHours: number;
218
+ };
219
+ };
220
+ explanations: string[];
221
+ solver: string;
222
+ week: {
223
+ from: string;
224
+ to: string;
225
+ };
226
+ timing: {
227
+ totalMs: number;
228
+ modelMs: number | null;
229
+ };
230
+ } | null>;
231
+ gapCount: import("vue").ComputedRef<number>;
232
+ hasDemand: import("vue").ComputedRef<boolean>;
233
+ noDemandOpen: import("vue").Ref<boolean, boolean>;
234
+ rangeLabel: import("vue").ComputedRef<string>;
235
+ openWizard: (fromSetup?: boolean) => void;
236
+ closeWizard: () => void;
237
+ next: () => void;
238
+ back: () => void;
239
+ generate: () => Promise<void>;
240
+ reviewMode: import("vue").ComputedRef<boolean>;
241
+ hasPendingChanges: import("vue").ComputedRef<boolean>;
242
+ proposals: import("vue").ComputedRef<{
243
+ id: number;
244
+ empId: number;
245
+ dayIdx: number;
246
+ start: string;
247
+ end: string;
248
+ role: string;
249
+ positionId?: string | null | undefined;
250
+ openId?: number | undefined;
251
+ status: "pending" | "rejected";
252
+ weekKey?: string | undefined;
253
+ reason?: string | undefined;
254
+ rejectReason?: string | undefined;
255
+ }[]>;
256
+ weekHasProposals: import("vue").ComputedRef<boolean>;
257
+ unmetCount: import("vue").Ref<number, number>;
258
+ acceptedCount: import("vue").ComputedRef<number>;
259
+ rejectedCount: import("vue").ComputedRef<number>;
260
+ removedCount: import("vue").ComputedRef<number>;
261
+ changedCount: import("vue").ComputedRef<number>;
262
+ unqualifiedCount: import("vue").ComputedRef<number>;
263
+ conflictCount: import("vue").ComputedRef<number>;
264
+ projectedCost: import("vue").ComputedRef<number | null>;
265
+ proposalAt: (empId: number, dayIdx: number) => Proposal | undefined;
266
+ draggingId: import("vue").Ref<number | null, number | null>;
267
+ moveProposal: (id: number, empId: number, dayIdx: number) => string | null;
268
+ toggleReject: (id: number) => void;
269
+ rejectAll: () => void;
270
+ exitReview: () => void;
271
+ completionOpen: import("vue").Ref<boolean, boolean>;
272
+ completionCount: import("vue").Ref<number, number>;
273
+ completionPublished: import("vue").Ref<boolean, boolean>;
274
+ completionFromSetup: import("vue").Ref<boolean, boolean>;
275
+ closeCompletion: () => void;
276
+ leaveReviewOpen: import("vue").Ref<boolean, boolean>;
277
+ confirmLeaveReview: () => void;
278
+ cancelLeaveReview: () => void;
279
+ apply: (showCompletion?: boolean, status?: "DRAFT" | "PUBLISHED") => Promise<number | null>;
280
+ applying: import("vue").Ref<boolean, boolean>;
281
+ applyRejections: import("vue").Ref<{
282
+ employeeName: string;
283
+ day: string;
284
+ time: string;
285
+ message: string;
286
+ }[], {
287
+ employeeName: string;
288
+ day: string;
289
+ time: string;
290
+ message: string;
291
+ }[] | {
292
+ employeeName: string;
293
+ day: string;
294
+ time: string;
295
+ message: string;
296
+ }[]>;
297
+ applyError: import("vue").Ref<string | null, string | null>;
298
+ detailsOpen: import("vue").Ref<boolean, boolean>;
299
+ toggleDetails: () => void;
300
+ };
301
+ export type ScheduleAutoScheduleApi = ReturnType<typeof useScheduleAutoSchedule>;