@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,17 @@
1
+ import type { ComputedRef } from 'vue';
2
+ import type { ScheduleBoardApi } from './useScheduleBoard';
3
+ import { useScheduleShiftDraft } from './useScheduleShiftDraft';
4
+ type ShiftDraft = ReturnType<typeof useScheduleShiftDraft>;
5
+ interface UseScheduleShiftPersistenceOptions {
6
+ draft: ShiftDraft;
7
+ saveDisabled: ComputedRef<boolean>;
8
+ showGrantSkill: ComputedRef<boolean>;
9
+ onToast?: (message: string, type?: 'success' | 'error' | 'info') => void;
10
+ }
11
+ /** Mutations for the shift popover. Draft editing stays separate so the UI can preview and
12
+ * validate without owning board writes. */
13
+ export declare function useScheduleShiftPersistence(board: ScheduleBoardApi, options: UseScheduleShiftPersistenceOptions): {
14
+ save: () => void;
15
+ remove: () => void;
16
+ };
17
+ export {};
@@ -0,0 +1,255 @@
1
+ import type { ScheduleBoardApi } from './useScheduleBoard';
2
+ import type { ScheduleDemandApi } from './useScheduleDemand';
3
+ import { type ScheduleShiftSegment } from './schedule-shift-time';
4
+ export type { ScheduleBreakChoice, ScheduleShiftSegment } from './schedule-shift-time';
5
+ export interface ScheduleHeadcountRole {
6
+ position: string;
7
+ count: number;
8
+ sen: '' | 'senior' | 'junior';
9
+ }
10
+ export interface ScheduleWarningPart {
11
+ text: string;
12
+ emphasis?: boolean;
13
+ }
14
+ /** The unified shift popover — ported from the mockup's single `.shift-pop`, which answers
15
+ * both "who is on this shift" and "what does this shift need" from one form. Picking a real
16
+ * person in the `who` select turns it into an assignment; leaving it on "Empty shift" turns
17
+ * it into open demand. Opened three ways: for an employee's cell (assign/edit), for a brand
18
+ * new open shift (multi-position headcount authoring), or to edit one existing open-shift
19
+ * record (single position, like an assigned shift's "Position needed" row). */
20
+ export declare function useScheduleShiftPopover(board: ScheduleBoardApi, demand: ScheduleDemandApi, options?: {
21
+ onToast?: (message: string, type?: 'success' | 'error' | 'info') => void;
22
+ onAvailabilityWarning?: (message: string, onConfirm: () => void) => void;
23
+ }): {
24
+ open: import("vue").Ref<boolean, boolean>;
25
+ dayIdx: import("vue").Ref<number | null, number | null>;
26
+ empId: import("vue").Ref<number | null, number | null>;
27
+ originalEmpId: import("vue").Ref<number | null, number | null>;
28
+ editingOpenShiftId: import("vue").Ref<number | null, number | null>;
29
+ isNew: import("vue").Ref<boolean, boolean>;
30
+ name: import("vue").Ref<string, string>;
31
+ segments: import("vue").Ref<{
32
+ start: string;
33
+ end: string;
34
+ }[], ScheduleShiftSegment[] | {
35
+ start: string;
36
+ end: string;
37
+ }[]>;
38
+ role: import("vue").Ref<string, string>;
39
+ positionId: import("vue").Ref<string | undefined, string | undefined>;
40
+ required: import("vue").Ref<number, number>;
41
+ sen: import("vue").Ref<"" | "senior" | "junior", "" | "senior" | "junior">;
42
+ empType: import("vue").Ref<"" | "full" | "part", "" | "full" | "part">;
43
+ roles: import("vue").Ref<{
44
+ position: string;
45
+ count: number;
46
+ sen: "" | "senior" | "junior";
47
+ }[], import("./useScheduleShiftDraft").ScheduleHeadcountRole[] | {
48
+ position: string;
49
+ count: number;
50
+ sen: "" | "senior" | "junior";
51
+ }[]>;
52
+ impact: import("vue").ComputedRef<{
53
+ when: string;
54
+ pctBefore: number;
55
+ pctAfter: number;
56
+ stillShort: number;
57
+ before: {
58
+ required: number;
59
+ scheduled: number;
60
+ };
61
+ after: {
62
+ required: number;
63
+ scheduled: number;
64
+ };
65
+ beforeSegs: import("../types").CoverageSegment[];
66
+ afterSegs: import("../types").CoverageSegment[];
67
+ axis: import("./schedule-demand-domain").ScheduleCoverageAxis;
68
+ } | null>;
69
+ requiresAssignment: import("vue").ComputedRef<boolean>;
70
+ saveDisabled: import("vue").ComputedRef<boolean>;
71
+ dailyLimitExceeded: import("vue").ComputedRef<boolean>;
72
+ saveTitle: import("vue").ComputedRef<string>;
73
+ saveLabel: import("vue").ComputedRef<string>;
74
+ breakChoice: import("vue").Ref<import("./schedule-shift-time").ScheduleBreakChoice, import("./schedule-shift-time").ScheduleBreakChoice>;
75
+ breakCustomMins: import("vue").Ref<number, number>;
76
+ breakCustomUnit: import("vue").Ref<"mins" | "hrs", "mins" | "hrs">;
77
+ breakMode: import("vue").Ref<"time" | "duration", "time" | "duration">;
78
+ breakStartTime: import("vue").Ref<string, string>;
79
+ breakEndTime: import("vue").Ref<string, string>;
80
+ repeatDays: import("vue").Ref<boolean[], boolean[]>;
81
+ gapNote: import("vue").Ref<string | null, string | null>;
82
+ conflictNote: import("vue").Ref<string | null, string | null>;
83
+ availabilityConflictNote: import("vue").ComputedRef<string | null>;
84
+ grantSkill: import("vue").Ref<boolean, boolean>;
85
+ showGrantSkill: import("vue").ComputedRef<boolean>;
86
+ unassignMode: import("vue").Ref<boolean, boolean>;
87
+ positionOptions: import("vue").ComputedRef<string[]>;
88
+ whoOptions: import("vue").ComputedRef<{
89
+ id: number;
90
+ sourceId: string;
91
+ name: string;
92
+ employmentType: "FULLTIME" | "PARTTIME";
93
+ role: string;
94
+ initials: string;
95
+ color: string;
96
+ weekHours: number;
97
+ pct: number;
98
+ contractHours?: number | undefined;
99
+ rate: number;
100
+ positions: string[];
101
+ archivedPositions?: string[] | undefined;
102
+ shifts: ({
103
+ start: string;
104
+ end: string;
105
+ role: string;
106
+ positionId?: string | undefined;
107
+ status: import("../types").ShiftStatus;
108
+ clock?: {
109
+ in: string | null;
110
+ out: string | null;
111
+ status: "on-time" | "late" | "early-out" | "absent";
112
+ } | undefined;
113
+ conflict?: boolean | undefined;
114
+ conflictReason?: string | undefined;
115
+ openId?: number | undefined;
116
+ breakMins?: number | undefined;
117
+ breaks?: ({
118
+ type: "DURATION";
119
+ minutes: number;
120
+ breakPayType: "PAID" | "UNPAID";
121
+ } | {
122
+ type: "TIME_RANGE";
123
+ startTime: string;
124
+ endTime: string;
125
+ breakPayType: "PAID" | "UNPAID";
126
+ })[] | undefined;
127
+ assignmentId?: string | undefined;
128
+ updatedAt?: string | undefined;
129
+ splitGroupId?: string | undefined;
130
+ } | {
131
+ timeOff: "approved" | "pending";
132
+ requestId?: string | undefined;
133
+ type?: "OFF_DAY" | "LEAVE" | undefined;
134
+ leaveType?: "ANNUAL" | "MEDICAL" | "EMERGENCY" | "UNPAID" | undefined;
135
+ reason: string;
136
+ half?: boolean | undefined;
137
+ halfPart?: "AM" | "PM" | undefined;
138
+ from?: string | undefined;
139
+ to?: string | undefined;
140
+ appliedOn?: string | undefined;
141
+ note?: string | undefined;
142
+ cert?: {
143
+ name: string;
144
+ size: string;
145
+ } | null | undefined;
146
+ bal?: {
147
+ type: string;
148
+ entitled: number;
149
+ used: number;
150
+ } | undefined;
151
+ } | {
152
+ start: string;
153
+ end: string;
154
+ role: string;
155
+ positionId?: string | undefined;
156
+ status: import("../types").ShiftStatus;
157
+ clock?: {
158
+ in: string | null;
159
+ out: string | null;
160
+ status: "on-time" | "late" | "early-out" | "absent";
161
+ } | undefined;
162
+ conflict?: boolean | undefined;
163
+ conflictReason?: string | undefined;
164
+ openId?: number | undefined;
165
+ breakMins?: number | undefined;
166
+ breaks?: ({
167
+ type: "DURATION";
168
+ minutes: number;
169
+ breakPayType: "PAID" | "UNPAID";
170
+ } | {
171
+ type: "TIME_RANGE";
172
+ startTime: string;
173
+ endTime: string;
174
+ breakPayType: "PAID" | "UNPAID";
175
+ })[] | undefined;
176
+ assignmentId?: string | undefined;
177
+ updatedAt?: string | undefined;
178
+ splitGroupId?: string | undefined;
179
+ }[] | null)[];
180
+ timeOff?: ({
181
+ timeOff: "approved" | "pending";
182
+ requestId?: string | undefined;
183
+ type?: "OFF_DAY" | "LEAVE" | undefined;
184
+ leaveType?: "ANNUAL" | "MEDICAL" | "EMERGENCY" | "UNPAID" | undefined;
185
+ reason: string;
186
+ half?: boolean | undefined;
187
+ halfPart?: "AM" | "PM" | undefined;
188
+ from?: string | undefined;
189
+ to?: string | undefined;
190
+ appliedOn?: string | undefined;
191
+ note?: string | undefined;
192
+ cert?: {
193
+ name: string;
194
+ size: string;
195
+ } | null | undefined;
196
+ bal?: {
197
+ type: string;
198
+ entitled: number;
199
+ used: number;
200
+ } | undefined;
201
+ } | null)[] | undefined;
202
+ remarks: {
203
+ author: string;
204
+ date: string;
205
+ type: "note" | "warning" | "praise";
206
+ text: string;
207
+ }[];
208
+ section: string;
209
+ compGroup?: string | undefined;
210
+ mobile?: string | undefined;
211
+ dial?: string | undefined;
212
+ locations?: string[] | undefined;
213
+ payBasis?: "hourly" | "monthly" | undefined;
214
+ payAmount?: number | undefined;
215
+ maxHours?: number | undefined;
216
+ minHours?: number | undefined;
217
+ minHoursPerDay?: number | undefined;
218
+ workingHours?: {
219
+ minHoursPerDay: number | null;
220
+ maxHoursPerDay: number | null;
221
+ maxHoursPerWeek: number | null;
222
+ } | undefined;
223
+ overtime?: {
224
+ maxHoursPerMonth: number | null;
225
+ } | undefined;
226
+ preferences?: string[] | undefined;
227
+ seniority?: "senior" | "junior" | "" | undefined;
228
+ availDays?: boolean[] | undefined;
229
+ availHours?: {
230
+ from: string;
231
+ to: string;
232
+ }[] | undefined;
233
+ passcode?: string | undefined;
234
+ code?: string | undefined;
235
+ masterUser?: boolean | undefined;
236
+ }[]>;
237
+ isAssigned: import("vue").ComputedRef<boolean>;
238
+ isReleasingToOpen: import("vue").ComputedRef<boolean>;
239
+ isEditingOpenShift: import("vue").ComputedRef<boolean>;
240
+ isNewOpenShift: import("vue").ComputedRef<boolean>;
241
+ isSingleOpenRecord: import("vue").ComputedRef<boolean>;
242
+ totalHours: import("vue").ComputedRef<number>;
243
+ totalLabel: import("vue").ComputedRef<string>;
244
+ warnings: import("vue").ComputedRef<ScheduleWarningPart[][]>;
245
+ openForEmployee: (forEmpId: number, day: number, roleHint?: string, hours?: ScheduleShiftSegment, slotIndex?: number, warnAvailability?: boolean) => void;
246
+ openForNewOpenShift: (day: number, roleHint?: string, hours?: ScheduleShiftSegment, requireAssignment?: boolean) => void;
247
+ openForEditOpenShift: (openShiftId: number) => void;
248
+ close: () => void;
249
+ removeSegment: (i: number) => void;
250
+ addRole: () => void;
251
+ removeRole: (i: number) => void;
252
+ save: () => void;
253
+ remove: () => void;
254
+ };
255
+ export type ScheduleShiftPopoverApi = ReturnType<typeof useScheduleShiftPopover>;
@@ -0,0 +1,27 @@
1
+ import type { ScheduleBoardApi } from './useScheduleBoard';
2
+ import type { ScheduleCostRailApi } from './useScheduleCostRail';
3
+ import type { useScheduleLegend } from './useScheduleLegend';
4
+ /** The collapsible weekly-summary band under the day header: totals when collapsed,
5
+ * a per-day cost/hours/forecast breakdown when open. Ported from the mockup's
6
+ * buildStatsRow() — the band always mirrors whatever days the grid currently shows
7
+ * (board.visibleDayIndices), collapsing to one day's figures in Daily view exactly like
8
+ * the reference's renderedDays()-scoped totals. The 7-day RULES.salesForecast/SALES_CURVE
9
+ * baseline underneath it stays weekly regardless — only the on-screen total and the
10
+ * redistribution on edit are span-scoped. */
11
+ export declare function useScheduleStatsRow(board: ScheduleBoardApi, costRail: ScheduleCostRailApi, legend: ReturnType<typeof useScheduleLegend>, handlers?: {
12
+ onPersistError?: (message: string) => void;
13
+ onPersistSuccess?: (message: string) => void;
14
+ }): {
15
+ open: import("vue").Ref<boolean, boolean>;
16
+ toggle: () => void;
17
+ forecast: import("vue").Ref<number, number>;
18
+ visibleForecast: import("vue").ComputedRef<number>;
19
+ visibleCost: import("vue").ComputedRef<number>;
20
+ visibleHours: import("vue").ComputedRef<number>;
21
+ salesFor: (dayIdx: number) => number;
22
+ isDayOverridden: (dayIdx: number) => boolean;
23
+ setDayForecast: (dayIdx: number, value: string) => void;
24
+ labourPct: (dayIdx: number) => number | null;
25
+ isShort: (dayIdx: number) => boolean;
26
+ };
27
+ export type ScheduleStatsRowApi = ReturnType<typeof useScheduleStatsRow>;
@@ -0,0 +1,49 @@
1
+ export interface ScheduleTimePickerOption {
2
+ value: string;
3
+ label: string;
4
+ am: boolean;
5
+ sel: boolean;
6
+ typed: boolean;
7
+ /** An existing value that doesn't land on the half hour — kept in the list rather than
8
+ * snapped, because silently moving somebody's 11:20 start is a change to their shift, not
9
+ * a rounding. */
10
+ odd: boolean;
11
+ }
12
+ export interface ScheduleTimePickerState {
13
+ open: boolean;
14
+ /** The field's own value when the popover opened — what `.sel` marks, and what an off-grid
15
+ * value gets read from to appear in the list at all. */
16
+ value: string;
17
+ query: string;
18
+ /** Which trigger button opened it, so only that one wears the open state. */
19
+ key: string;
20
+ left: number;
21
+ top: number;
22
+ }
23
+ /** "8:00 AM", "10:15 PM" — the picker's own display face, and the trigger button's label. */
24
+ export declare function formatTime12(hhmm: string): string;
25
+ /** The time-of-day combobox behind every `sp2-time.tp-btn` field on the board (demand periods,
26
+ * shift segments) — one popover instance shared across all of them, the same way the add-pick
27
+ * and gap popovers are. Half-hour options grouped AM/PM, plus a type-in field for anything the
28
+ * grid doesn't land on and a search over the same list. */
29
+ export declare function useScheduleTimePicker(): {
30
+ state: {
31
+ open: boolean;
32
+ value: string;
33
+ query: string;
34
+ key: string;
35
+ left: number;
36
+ top: number;
37
+ };
38
+ options: import("vue").ComputedRef<ScheduleTimePickerOption[]>;
39
+ amOptions: import("vue").ComputedRef<ScheduleTimePickerOption[]>;
40
+ pmOptions: import("vue").ComputedRef<ScheduleTimePickerOption[]>;
41
+ typedValue: import("vue").ComputedRef<string | null>;
42
+ openFor: (anchor: HTMLElement, value: string, pick: (hhmm: string) => void, key?: string) => void;
43
+ anchorRect: () => DOMRect | null;
44
+ isOpenFor: (key: string) => boolean;
45
+ close: () => void;
46
+ pick: (value: string) => void;
47
+ submitQuery: () => void;
48
+ };
49
+ export type ScheduleTimePickerApi = ReturnType<typeof useScheduleTimePicker>;
@@ -0,0 +1,95 @@
1
+ import { type Ref } from 'vue';
2
+ import type { ScheduleBoardApi } from './useScheduleBoard';
3
+ import type { ScheduleDemandRowApi } from './useScheduleDemandRow';
4
+ import type { ScheduleDemandSheetApi } from './useScheduleDemandSheet';
5
+ import type { ScheduleGapPopoverApi } from './useScheduleGapPopover';
6
+ import type { ScheduleAutoScheduleApi } from './useScheduleAutoSchedule';
7
+ import type { SchedulePublishApi } from './useSchedulePublish';
8
+ import type { ScheduleExportApi } from './useScheduleExport';
9
+ import type { IntroRecapRow } from './onboarding-types';
10
+ interface TourDeps {
11
+ rootEl: Ref<HTMLElement | null>;
12
+ board: ScheduleBoardApi;
13
+ demandRow: ScheduleDemandRowApi;
14
+ demandSheet: ScheduleDemandSheetApi;
15
+ gap: ScheduleGapPopoverApi;
16
+ autoSchedule: ScheduleAutoScheduleApi;
17
+ publish: SchedulePublishApi;
18
+ exportApi: ScheduleExportApi;
19
+ onToast: (message: string) => void;
20
+ }
21
+ /** The guided tour: one coachmark at a time, walking from where demand is set through to
22
+ * sharing the published week. Ported from V6.2's `OBA_TOUR` / `obaTourGo` — same six stops,
23
+ * same "open the real surface, then point at it" steps for the demand sheet and the gap
24
+ * popover. No Back button, matching the source: the only way on is Next or Skip. */
25
+ export declare function useScheduleTour(deps: TourDeps): {
26
+ coach: {
27
+ open: Ref<boolean, boolean>;
28
+ placing: Ref<boolean, boolean>;
29
+ tip: Ref<{
30
+ title: string;
31
+ body: string;
32
+ count?: string | undefined;
33
+ nextLabel?: string | undefined;
34
+ skipLabel?: string | undefined;
35
+ next?: (() => void) | undefined;
36
+ skip?: (() => void) | undefined;
37
+ } | null, import("./useScheduleCoach").CoachTipData | {
38
+ title: string;
39
+ body: string;
40
+ count?: string | undefined;
41
+ nextLabel?: string | undefined;
42
+ skipLabel?: string | undefined;
43
+ next?: (() => void) | undefined;
44
+ skip?: (() => void) | undefined;
45
+ } | null>;
46
+ maskT: {
47
+ left: number;
48
+ top: number;
49
+ width: number;
50
+ height: number;
51
+ };
52
+ maskB: {
53
+ left: number;
54
+ top: number;
55
+ width: number;
56
+ height: number;
57
+ };
58
+ maskL: {
59
+ left: number;
60
+ top: number;
61
+ width: number;
62
+ height: number;
63
+ };
64
+ maskR: {
65
+ left: number;
66
+ top: number;
67
+ width: number;
68
+ height: number;
69
+ };
70
+ spot: {
71
+ left: number;
72
+ top: number;
73
+ width: number;
74
+ height: number;
75
+ };
76
+ tipPos: {
77
+ left: number;
78
+ top: number;
79
+ };
80
+ arrow: {
81
+ side: "top" | "bottom" | "left" | "right";
82
+ offset: number;
83
+ };
84
+ start: (el: HTMLElement, data: import("./useScheduleCoach").CoachTipData, onMiss?: () => void) => void;
85
+ end: () => void;
86
+ next: () => void;
87
+ skip: () => void;
88
+ };
89
+ start: () => void;
90
+ allSetOpen: Ref<boolean, boolean>;
91
+ allSetRecap: import("vue").ComputedRef<IntroRecapRow[]>;
92
+ closeAllSet: () => void;
93
+ };
94
+ export type ScheduleTourApi = ReturnType<typeof useScheduleTour>;
95
+ export {};
@@ -0,0 +1,9 @@
1
+ import { type Ref } from 'vue';
2
+ /** Pins the scheduling screen to the viewport so only the grid scrolls.
3
+ *
4
+ * `PortalShell` wraps every route in two unstyled divs, and the height chain above them is the
5
+ * host app's, not ours: with no definite height anywhere up there, `.sch { height: 100% }` has
6
+ * nothing to resolve against, the whole page grows to its content and the browser scrolls it —
7
+ * header rows included. Measuring where the shell starts and giving it the rest of the viewport
8
+ * is the one thing that does not depend on how the host lays itself out. */
9
+ export declare function useScheduleViewportFit(rootEl: Ref<HTMLElement | null | undefined>): void;
@@ -0,0 +1,33 @@
1
+ import type { PayRate } from '../types';
2
+ export interface CountryScheduleRules {
3
+ countryCode: string;
4
+ timezone: string;
5
+ payRate: PayRate;
6
+ overtime: {
7
+ maxHoursPerMonth: number | null;
8
+ };
9
+ workingHours: {
10
+ fullTime: {
11
+ minHoursPerDay: number | null;
12
+ maxHoursPerDay: number | null;
13
+ maxHoursPerWeek: number | null;
14
+ };
15
+ partTime: {
16
+ maxHoursPerWeek: number | null;
17
+ };
18
+ };
19
+ recurringPublicHolidays: Array<{
20
+ month: number;
21
+ day: number;
22
+ name: string;
23
+ }>;
24
+ publicHolidays: Record<string, Record<string, string>>;
25
+ /** Local holiday names keyed by language (e.g. "th") then by the English name above. */
26
+ holidayNames?: Record<string, Record<string, string>>;
27
+ }
28
+ export declare function normalizeCountryCode(country: unknown): string;
29
+ export declare function getCountryScheduleRules(country?: unknown): CountryScheduleRules;
30
+ /** The holiday on `date`, in the UI language when the country has a name for it (`locale` like
31
+ * "th-TH"), otherwise the English name. */
32
+ export declare function holidayNameForDate(rules: CountryScheduleRules, date: string, locale?: string): string | null;
33
+ export declare const SUPPORTED_SCHEDULE_COUNTRIES: string[];
@@ -0,0 +1,123 @@
1
+ import type { Employee, OpenShift, Section } from './types';
2
+ import type { FdtoSchedulePositionSelectorReq } from '@/types/schedule';
3
+ export { COMPGRP_META, COMPGRP_OPTIONS, DEPT_OPTIONS, EXISTING_STAFF, LOCATION_LABEL_BY_ID, LOCATION_OPTIONS, OUTLET, POSITION_RECORDS, POSITIONS, ROLE_POSITIONS, RULES, SHIFT_TEMPLATES, } from './schedule-state';
4
+ export declare const UNASSIGNED = "unassigned";
5
+ export declare const WEEKDAYS: string[];
6
+ export declare const ALL_STATIONS = "All Stations";
7
+ /** Employment seniority is a closed set in the model, not something an outlet configures. */
8
+ export declare const SENIORITY_OPTIONS: Array<'senior' | 'junior'>;
9
+ /** The one section every board has. Scheduling sections are not a Mongo concept yet, so the
10
+ * whole roster sits in this bucket and its `roles` list stays empty. Labelled "Assigned" rather
11
+ * than the id's own `UNASSIGNED` — this is where every shift's actual cost lives (the cost rail
12
+ * is the only place this label shows), and "Unassigned" read like a warning that nobody was
13
+ * covering those hours rather than just "not sorted into a work area yet". */
14
+ export declare const SECTIONS: Section[];
15
+ /** The position catalogue, from the Positions collection. Name-only: this is read as plain
16
+ * strings everywhere on this board (dropdown options, coverage-matrix keys, role lookups), and
17
+ * changing its shape would touch every one of those. */
18
+ /** The same catalogue, kept with its real backend id — the id-less `POSITIONS` above can't
19
+ * identify which document to edit or delete. Only the Position management page reads this. */
20
+ /** Resolves a position name (every picker on this board only ever offers a name — see
21
+ * `POSITIONS` above) to its backend id, for save requests that can now name a position by id
22
+ * instead. `undefined` when the catalogue hasn't loaded yet or the name no longer matches one —
23
+ * callers still send the name alongside, so the backend's own by-name lookup is the fallback. */
24
+ export declare function positionIdOf(name: string): string | undefined;
25
+ /** The selector shape every position-carrying save request wants — `undefined` for a blank
26
+ * name (the field itself has nothing to name), a resolved id alongside the name otherwise. */
27
+ export declare function positionSelectorOf(name: string | undefined, positionId?: string): FdtoSchedulePositionSelectorReq | undefined;
28
+ /** Position IDs are authoritative after a rename. Keep the stored name only as a fallback for
29
+ * archived or legacy references that cannot be resolved back to the active catalogue. */
30
+ export declare function positionNameOf(position: {
31
+ positionId?: string | null;
32
+ positionName: string;
33
+ } | null | undefined, catalogue?: readonly {
34
+ id: string;
35
+ name: string;
36
+ }[]): string | undefined;
37
+ /** Resolves a position only when it still exists in the active catalogue. */
38
+ export declare function activePositionNameOf(position: {
39
+ positionId?: string | null;
40
+ positionName: string;
41
+ } | null | undefined, catalogue?: readonly {
42
+ id: string;
43
+ name: string;
44
+ }[]): string | undefined;
45
+ /** A saved position reference can outlive its catalogue entry after a soft delete. */
46
+ export declare function isArchivedPosition(name: string | undefined, positionId?: string): boolean;
47
+ /** Which coverage positions a station label counts toward. Positions ARE the roles in this
48
+ * model — a shift records the position it is for — so nothing needs translating and this stays
49
+ * empty, which makes `positionKeyOf()` pass a role through unchanged. */
50
+ /** The outlet this board is scheduling, from the Restaurants document. An object rather than a
51
+ * bare string so the two components that name it re-render when it arrives. */
52
+ /** Outlets a person may be rostered at. Filled by useScheduleOutlet from the restaurant store
53
+ * — the board payload only ever describes the one outlet it was asked for. */
54
+ /** Outlet id → name, so a person's POS `restaurantRole` (outlet ids) can be shown as the same
55
+ * labels LOCATION_OPTIONS offers. Filled alongside it by useScheduleOutlet. */
56
+ /** No Mongo source: departments and compensation groups are not modelled. The Add Employee
57
+ * form renders these as empty pickers rather than offering choices nobody configured. */
58
+ /** Candidates for "add an employee who already exists elsewhere in the business". No source
59
+ * yet — EmployeeProfiles is per-outlet, and the business-wide directory lives in CouchDB. */
60
+ /** The venue's shift patterns. No collection holds these yet; consumers already handle an empty
61
+ * list by falling back to the trading window in RULES. */
62
+ /** Mon → Sun weighting used to spread a weekly sales forecast across days. Flat while there is
63
+ * no real forecast to shape: a curve invented here would make one day look busier than another
64
+ * for no reason anybody could point at. */
65
+ export declare const SALES_CURVE: number[];
66
+ /** Scheduling configuration, from two places and no others: pay rates, setup state, and the
67
+ * monthly OT cap come from the ScheduleSettings document, and the trading window comes from the
68
+ * outlet's own Restaurants profile (see `restaurantProfile` on the DTO).
69
+ *
70
+ * The fields with no Mongo source stay zero rather than being guessed: `coverage` (per-template
71
+ * headcount matrices), `salesForecast`, `labourTarget`, `budget`, and notification channels.
72
+ * Nothing on screen derived from them is a figure this file made up.
73
+ *
74
+ * `openFrom`/`openTo` are the one pair that must never be blank — they are the axis every
75
+ * coverage bar, day timeline and shift form is drawn against, and there is no such thing as a
76
+ * zero-length day to draw. A neutral 00:00–24:00 stands in until a real window lands.
77
+ *
78
+ * `payRate` defaults to the same statutory baseline the API does when an outlet hasn't saved its
79
+ * own rates: 1.5× normal-day OT, 2× off-day OT, 3× public-holiday OT; 1× off-day regular, 2×
80
+ * public-holiday regular. */
81
+ /** JS `getDay()` (0 = Sunday) → grid column (0 = Monday). */
82
+ export declare function gridDayIdx(dayOfWeek: number): number;
83
+ /** Grid column (0 = Monday) → JS `getDay()` (0 = Sunday). Inverse of gridDayIdx — needed
84
+ * wherever the board writes a day back to Mongo instead of reading one from it. */
85
+ export declare function jsDayOfWeek(gridIdx: number): number;
86
+ export declare function employeeIdOf(num: number): string | undefined;
87
+ export declare function employeeNumberOf(employeeId: string): number;
88
+ /** Stable identity for change tracking. Keep the numeric id only for legacy board lookups. */
89
+ export declare function employeeKeyOf(employee: Pick<Employee, 'sourceId' | 'id'>): string;
90
+ /** The outlets a person is rostered at, by name, from the POS roster's `restaurantRole`. */
91
+ /** The outlet being scheduled goes first in a list of locations; the rest keep their order. */
92
+ export declare function currentLocationFirst(locations: string[]): string[];
93
+ export declare function createScheduleEmployees(dates?: Date[]): Employee[];
94
+ /** Open shifts backed by a persisted Shift requirement never shipped — the backend never
95
+ * carried that collection, so this always produced an empty list in practice. Kept as a stub,
96
+ * rather than removed, so the week cache's seed call (`schedule-week-cache.ts`) doesn't need
97
+ * its own special-casing: every open-shift row on the board today is added ad hoc through the
98
+ * shift popover instead (`useScheduleShiftPopover`'s `pushOpenShift`), entirely in local state. */
99
+ export declare function createScheduleOpenShifts(): OpenShift[];
100
+ /** Staffing demand for the held window, in the shape useScheduleDemand stores it: dated
101
+ * overrides keyed by ISO date, standing rules keyed by grid weekday. */
102
+ export declare function scheduleDemand(): {
103
+ byDate: Record<string, Array<{
104
+ from: string;
105
+ to: string;
106
+ n: number;
107
+ roles: Array<{
108
+ position: string;
109
+ positionId?: string;
110
+ n: number;
111
+ }>;
112
+ }>>;
113
+ byWeekday: Record<number, Array<{
114
+ from: string;
115
+ to: string;
116
+ n: number;
117
+ roles: Array<{
118
+ position: string;
119
+ positionId?: string;
120
+ n: number;
121
+ }>;
122
+ }>>;
123
+ };