@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.
- package/dist/{ApprovalCodeList-xOyDG5ug.js → ApprovalCodeList-D3U4nvlF.js} +7 -7
- package/dist/AuditLogList-qGCW7tf0.js +1950 -0
- package/dist/ConditionBuilderForm.vue_vue_type_script_setup_true_lang-B0VcRYUg.js +438 -0
- package/dist/EmployeeList-Bd73xDCX.js +776 -0
- package/dist/{FormItem.vue_vue_type_script_setup_true_lang-DPT2FoIc.js → FormItem.vue_vue_type_script_setup_true_lang-cLEnrtC6.js} +6 -6
- package/dist/{GrantUserList-CUkuf3VV.js → GrantUserList-C71pal0N.js} +8 -8
- package/dist/{Main-Cg9SOzcz.js → Main-BWJPyEU1.js} +5 -5
- package/dist/{Main-BcixH7R5.js → Main-CCdTWngg.js} +11 -11
- package/dist/Main-DGf0bQvy.js +96 -0
- package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js +243 -0
- package/dist/{PermissionSetList-I3u2_qHR.js → PermissionSetList-BS-oBunI.js} +35 -33
- package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-CkOAT-oX.js +4167 -0
- package/dist/PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-DQcgZ0nF.js +35 -0
- package/dist/ResponsiveContextMenu.vue_vue_type_script_setup_true_lang-mSJFKo7r.js +132 -0
- package/dist/{RoleList-ALmAwN0U.js → RoleList-B_7UnVNb.js} +21 -20
- package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-BXihM4sl.js +544 -0
- package/dist/ScheduleGeneralPage-DpNvWNGs.js +811 -0
- package/dist/ScheduleModal.vue_vue_type_script_setup_true_lang-DIYLOF9N.js +2556 -0
- package/dist/SchedulePage-QW-cYvu2.js +19458 -0
- package/dist/SchedulePositionPage-BtFfVo2N.js +282 -0
- package/dist/SelectFilter-BXeVKgHN.js +264 -0
- package/dist/TeamMemberList-DoisBYnk.js +1154 -0
- package/dist/{TimesheetList-CECFKt7H.js → TimesheetList-D-bESKe5.js} +11 -11
- 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
- package/dist/{app-CdrnR_Pw.js → app-D-MUq9Ab.js} +11435 -6652
- package/dist/app.js +3 -3
- package/dist/{approval-code-Bwvwehz9.js → approval-code-BXUiojPH.js} +1 -1
- package/dist/{dayjs.min-BO8bcI17.js → dayjs.min-BZ1pM-6M.js} +13 -13
- package/dist/{employee-Dg-J9goA.js → employee-HQEU8fjb.js} +66 -62
- package/dist/{grant-user-whFOaPZI.js → grant-user-CBJ3gEgW.js} +1 -1
- package/dist/{iteration-ZpERYj3o.js → iteration-ogxW2-Tv.js} +1 -1
- package/dist/{lodash-7SZBZ8VQ.js → lodash-Def4gaas.js} +1 -1
- package/dist/object-Dwyg2LgX.js +16 -0
- package/dist/restaurant-D2mfKHaH.js +1880 -0
- package/dist/{role-C6hFKOfU.js → role-JDoDFVd9.js} +4 -5
- package/dist/{rule-BlMymDXm.js → rule-DPtqlnz-.js} +94 -99
- package/dist/src/api/audit-log/index.d.ts +4 -0
- package/dist/src/api/employee/index.d.ts +2 -2
- package/dist/src/api/restaurant/index.d.ts +2 -0
- package/dist/src/api/schedule/index.d.ts +68 -0
- package/dist/src/components/AppForm.vue.d.ts +2 -2
- package/dist/src/components/CheckboxInput.vue.d.ts +2 -2
- package/dist/src/components/CollapsibleWrapper.vue.d.ts +3 -11
- package/dist/src/components/layout/PortalShell.vue.d.ts +12 -0
- package/dist/src/components/layout/withScheduleShell.d.ts +10 -0
- package/dist/src/composables/useDiscardConfirm.d.ts +3 -1
- package/dist/src/composables/useMessage.d.ts +8 -2
- package/dist/src/helpers/string.d.ts +1 -10
- package/dist/src/router/shared.d.ts +3 -2
- package/dist/src/stores/employee.d.ts +12 -12
- package/dist/src/stores/restaurant.d.ts +7 -7
- package/dist/src/stores/team.d.ts +0 -30
- package/dist/src/types/employee.d.ts +1 -0
- package/dist/src/types/schedule.d.ts +23 -0
- package/dist/src/types/team.d.ts +1 -17
- package/dist/src/views/audit-log/constants.d.ts +9 -30
- package/dist/src/views/audit-log/locales/index.d.ts +488 -0
- package/dist/src/views/audit-log/pos-row.d.ts +27 -0
- package/dist/src/views/hr/locales/index.d.ts +4 -4
- package/dist/src/views/scheduling/ScheduleGeneralPage.vue.d.ts +3 -0
- package/dist/src/views/scheduling/SchedulePage.vue.d.ts +3 -0
- package/dist/src/views/scheduling/SchedulePositionPage.vue.d.ts +3 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeIdentitySection.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeModal.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeModeStep.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeePosAccessSection.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeePositionsSection.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeSchedulingSection.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddPickPopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddPositionModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +41 -0
- package/dist/src/views/scheduling/components/ScheduleAutoScheduleDetailsModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAutoScheduleDoneArt.vue.d.ts +2 -0
- package/dist/src/views/{team/member/ExistingMemberNotice.vue.d.ts → scheduling/components/ScheduleAutoScheduleModal.vue.d.ts} +5 -6
- package/dist/src/views/scheduling/components/ScheduleBoardAreaRows.vue.d.ts +25 -0
- package/dist/src/views/scheduling/components/ScheduleBoardEditOverlays.vue.d.ts +17 -0
- package/dist/src/views/scheduling/components/ScheduleBoardEmployeeRows.vue.d.ts +31 -0
- package/dist/src/views/scheduling/components/ScheduleBoardGridHeader.vue.d.ts +29 -0
- package/dist/src/views/scheduling/components/ScheduleBoardInteractionOverlays.vue.d.ts +34 -0
- package/dist/src/views/scheduling/components/ScheduleBoardOnboardingOverlays.vue.d.ts +26 -0
- package/dist/src/views/scheduling/components/ScheduleBoardRails.vue.d.ts +17 -0
- package/dist/src/views/scheduling/components/ScheduleBoardToolbar.vue.d.ts +38 -0
- package/dist/src/views/scheduling/components/ScheduleBoardUtilityOverlays.vue.d.ts +22 -0
- package/dist/src/views/scheduling/components/ScheduleButton.vue.d.ts +23 -0
- package/dist/src/views/scheduling/components/ScheduleChangeEmployeeModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleCloneOutletModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleCoach.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleCompletionDialog.vue.d.ts +15 -0
- package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +33 -0
- package/dist/src/views/scheduling/components/ScheduleContextMenu.vue.d.ts +17 -0
- package/dist/src/views/scheduling/components/ScheduleCostRail.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleCostRailEmptyArt.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleDateRangePopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleDayNotePopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleDayTimeline.vue.d.ts +17 -0
- package/dist/src/views/scheduling/components/ScheduleDemandRow.vue.d.ts +23 -0
- package/dist/src/views/scheduling/components/ScheduleDemandSheet.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleDotsIcon.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleEmployeeDetailPanel.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleEmployeeIdentity.vue.d.ts +17 -0
- package/dist/src/views/scheduling/components/ScheduleExportPreview.vue.d.ts +7 -0
- package/dist/src/views/scheduling/components/ScheduleFilterBar.vue.d.ts +18 -0
- package/dist/src/views/scheduling/components/ScheduleGapPopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleGridHeader.vue.d.ts +18 -0
- package/dist/src/views/scheduling/components/ScheduleGridSkeleton.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleLeaveEditModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleLoadState.vue.d.ts +9 -0
- package/dist/src/views/scheduling/components/ScheduleModal.vue.d.ts +26 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingAssignPositionModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingClosedDayConfirm.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingDemandDays.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingDemandFooter.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingDemandHeader.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingDoneArt.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingHoursProfileNotice.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingPositions.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingReview.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingSettings.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWelcome.vue.d.ts +11 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWizard.vue.d.ts +9 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWizardFooter.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWizardHeader.vue.d.ts +11 -0
- package/dist/src/views/scheduling/components/SchedulePublishModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/SchedulePublishShareArt.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleReviewBar.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +70 -0
- package/dist/src/views/scheduling/components/ScheduleSelectExistingEmployeeModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleSetupBanner.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleShiftCell.vue.d.ts +35 -0
- package/dist/src/views/scheduling/components/ScheduleShiftHeadcountEditor.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleShiftImpact.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleShiftMoreOptions.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +16 -0
- package/dist/src/views/scheduling/components/ScheduleShiftRepeatDaysRow.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleShiftSegmentsEditor.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleShiftWhoPicker.vue.d.ts +25 -0
- package/dist/src/views/scheduling/components/ScheduleStaffRail.vue.d.ts +16 -0
- package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +50 -0
- package/dist/src/views/scheduling/components/ScheduleStatsRow.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleSwapShiftsModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleTimePickerPopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleTopbar.vue.d.ts +20 -0
- package/dist/src/views/scheduling/composables/auto-schedule-mapping.d.ts +35 -0
- package/dist/src/views/scheduling/composables/onboarding-constants.d.ts +7 -0
- package/dist/src/views/scheduling/composables/onboarding-hours.d.ts +7 -0
- package/dist/src/views/scheduling/composables/onboarding-types.d.ts +51 -0
- package/dist/src/views/scheduling/composables/remyPrompt.d.ts +15 -0
- package/dist/src/views/scheduling/composables/schedule-add-employee-form.d.ts +82 -0
- package/dist/src/views/scheduling/composables/schedule-board-helpers.d.ts +63 -0
- package/dist/src/views/scheduling/composables/schedule-breaks.d.ts +9 -0
- package/dist/src/views/scheduling/composables/schedule-calendar.d.ts +17 -0
- package/dist/src/views/scheduling/composables/schedule-cost.d.ts +24 -0
- package/dist/src/views/scheduling/composables/schedule-currency.d.ts +22 -0
- package/dist/src/views/scheduling/composables/schedule-day-meta.d.ts +21 -0
- package/dist/src/views/scheduling/composables/schedule-demand-domain.d.ts +23 -0
- package/dist/src/views/scheduling/composables/schedule-employee-profile.d.ts +7 -0
- package/dist/src/views/scheduling/composables/schedule-error.d.ts +1 -0
- package/dist/src/views/scheduling/composables/schedule-export-matrix.d.ts +14 -0
- package/dist/src/views/scheduling/composables/schedule-leave-split.d.ts +9 -0
- package/dist/src/views/scheduling/composables/schedule-popover-position.d.ts +16 -0
- package/dist/src/views/scheduling/composables/schedule-quick-pick.d.ts +23 -0
- package/dist/src/views/scheduling/composables/schedule-shift-time.d.ts +29 -0
- package/dist/src/views/scheduling/composables/schedule-time.d.ts +8 -0
- package/dist/src/views/scheduling/composables/schedule-week-cache.d.ts +9 -0
- package/dist/src/views/scheduling/composables/useCollapsedList.d.ts +9 -0
- package/dist/src/views/scheduling/composables/useRemyAppStore.d.ts +16 -0
- package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +137 -0
- package/dist/src/views/scheduling/composables/useScheduleAddPick.d.ts +75 -0
- package/dist/src/views/scheduling/composables/useScheduleAreaBoard.d.ts +50 -0
- package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +11 -0
- package/dist/src/views/scheduling/composables/useScheduleAssignmentMutations.d.ts +13 -0
- package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +301 -0
- package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +615 -0
- package/dist/src/views/scheduling/composables/useScheduleCellState.d.ts +27 -0
- package/dist/src/views/scheduling/composables/useScheduleClashDetection.d.ts +28 -0
- package/dist/src/views/scheduling/composables/useScheduleCloneOutletModal.d.ts +21 -0
- package/dist/src/views/scheduling/composables/useScheduleCoach.d.ts +80 -0
- package/dist/src/views/scheduling/composables/useScheduleCopyWeek.d.ts +12 -0
- package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +60 -0
- package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +44 -0
- package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +111 -0
- package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +59 -0
- package/dist/src/views/scheduling/composables/useScheduleDemandRow.d.ts +47 -0
- package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +166 -0
- package/dist/src/views/scheduling/composables/useScheduleDragDrop.d.ts +55 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeAccess.d.ts +24 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeAvailability.d.ts +13 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +49 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeCompensation.d.ts +7 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeForm.d.ts +22 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeIdentity.d.ts +50 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeMenu.d.ts +38 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeePersistence.d.ts +32 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeProfile.d.ts +16 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeValidation.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +52 -0
- package/dist/src/views/scheduling/composables/useScheduleFilterBar.d.ts +14 -0
- package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +79 -0
- package/dist/src/views/scheduling/composables/useScheduleLeave.d.ts +60 -0
- package/dist/src/views/scheduling/composables/useScheduleLegend.d.ts +15 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingAvailability.d.ts +58 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingDemand.d.ts +45 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +231 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingFlow.d.ts +9 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingHours.d.ts +15 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingNavigation.d.ts +11 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingPersistence.d.ts +13 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +1543 -0
- package/dist/src/views/scheduling/composables/useScheduleOutlet.d.ts +25 -0
- package/dist/src/views/scheduling/composables/useSchedulePageActions.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useSchedulePageBootstrap.d.ts +9 -0
- package/dist/src/views/scheduling/composables/useSchedulePageCellActions.d.ts +21 -0
- package/dist/src/views/scheduling/composables/useSchedulePageCellDrop.d.ts +20 -0
- package/dist/src/views/scheduling/composables/useSchedulePageClearActions.d.ts +33 -0
- package/dist/src/views/scheduling/composables/useSchedulePageEmployeeActions.d.ts +22 -0
- package/dist/src/views/scheduling/composables/useSchedulePageOverlays.d.ts +21 -0
- package/dist/src/views/scheduling/composables/useSchedulePdfExport.d.ts +19 -0
- package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +55 -0
- package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +35 -0
- package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +127 -0
- package/dist/src/views/scheduling/composables/useSchedulePublishPersistence.d.ts +11 -0
- package/dist/src/views/scheduling/composables/useScheduleRangeCalendar.d.ts +27 -0
- package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +313 -0
- package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +40 -0
- package/dist/src/views/scheduling/composables/useScheduleSetupBanner.d.ts +17 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +245 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftDraft.d.ts +63 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftPersistence.d.ts +17 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +255 -0
- package/dist/src/views/scheduling/composables/useScheduleStatsRow.d.ts +27 -0
- package/dist/src/views/scheduling/composables/useScheduleTimePicker.d.ts +49 -0
- package/dist/src/views/scheduling/composables/useScheduleTour.d.ts +95 -0
- package/dist/src/views/scheduling/composables/useScheduleViewportFit.d.ts +9 -0
- package/dist/src/views/scheduling/country-rules/index.d.ts +33 -0
- package/dist/src/views/scheduling/data.d.ts +123 -0
- package/dist/src/views/scheduling/locales/index.d.ts +6988 -0
- package/dist/src/views/scheduling/schedule-constants.d.ts +7 -0
- package/dist/src/views/scheduling/schedule-state.d.ts +767 -0
- package/dist/src/views/scheduling/schedule-store.d.ts +140 -0
- package/dist/src/views/scheduling/types.d.ts +381 -0
- package/dist/src/views/team/components/BasePermission.vue.d.ts +0 -11
- package/dist/src/views/team/components/ConditionPermission.vue.d.ts +0 -11
- package/dist/src/views/team/components/PortalConditionForm.vue.d.ts +2 -2
- package/dist/src/views/team/components/PortalPermissionEditor.vue.d.ts +0 -21
- package/dist/src/views/team/components/PosRolePermission.vue.d.ts +0 -11
- package/dist/src/views/team/condition-builders/ConditionBuilderForm.vue.d.ts +2 -2
- package/dist/src/views/team/locales/index.d.ts +0 -716
- package/dist/src/views/team/member/AddMemberForm.vue.d.ts +3 -50
- package/dist/src/views/team/{components/MemberStatusBadge.vue.d.ts → member/MemberInfo.vue.d.ts} +2 -2
- package/dist/src/views/team/member/TeamMemberList.vue.d.ts +0 -1
- package/dist/src/views/team/member/TeamMemberMasterUser.vue.d.ts +0 -2
- package/dist/string-VNuQNweN.js +15 -0
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useAppStore-CL6EEDuw.js → useAppStore-DZCdxlCd.js} +1 -1
- package/dist/useDiscardConfirm-CzZSPyvh.js +28 -0
- package/dist/{useLoading-BBjBUzGJ.js → useLoading-Nygx2zn8.js} +1 -1
- package/dist/{useReportPermissions-Bg0fma6m.js → useReportPermissions-CxV7Dz1B.js} +3 -3
- package/package.json +5 -3
- package/dist/AuditLogList-Dd6HyFhk.js +0 -1777
- package/dist/ConditionBuilderForm.vue_vue_type_script_setup_true_lang-Cixg_icC.js +0 -459
- package/dist/EmployeeList-BG2KPvOB.js +0 -908
- package/dist/Main-BSHf8gTE.js +0 -100
- package/dist/MyPosProfile-CN8Bj3aV.js +0 -301
- package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-TXPEqa46.js +0 -126
- package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-BBoRXQPn.js +0 -4243
- package/dist/PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-B5QDOF0L.js +0 -1840
- package/dist/SelectFilter-ATOm0hdn.js +0 -269
- package/dist/TeamMemberList-DZfEnOs1.js +0 -2097
- package/dist/member-grant-C46lvrh2.js +0 -55
- package/dist/restaurant-CKhT6kgj.js +0 -45
- package/dist/src/api/my-pos-profile/index.d.ts +0 -5
- package/dist/src/api/staff-invite/index.d.ts +0 -17
- package/dist/src/components/form/SegmentedTabs.vue.d.ts +0 -23
- package/dist/src/composables/useMenuAccess.d.ts +0 -56
- package/dist/src/composables/useStaffInviteProviders.d.ts +0 -19
- package/dist/src/helpers/member-grant.d.ts +0 -36
- package/dist/src/helpers/my-pos-profile.d.ts +0 -37
- package/dist/src/helpers/pos-assignment-rows.d.ts +0 -26
- package/dist/src/helpers/staff-invite.d.ts +0 -51
- package/dist/src/router/menu-access-guard.d.ts +0 -17
- package/dist/src/types/my-pos-profile.d.ts +0 -25
- package/dist/src/types/staff-invite.d.ts +0 -100
- package/dist/src/views/my-pos-profile/components/PasscodeChangedDialog.vue.d.ts +0 -4
- package/dist/src/views/my-pos-profile/locales/index.d.ts +0 -200
- package/dist/src/views/team/components/MemberGrantFields.vue.d.ts +0 -55
- package/dist/src/views/team/components/PosAssignmentRows.vue.d.ts +0 -46
- package/dist/src/views/team/member/MemberDetailsCard.vue.d.ts +0 -35
- package/dist/src/views/team/member/MemberHeaderCard.vue.d.ts +0 -19
- package/dist/string-DZQ1uNjn.js +0 -22
- package/dist/useDiscardConfirm-DPhEV6v0.js +0 -157
- /package/dist/src/{views/my-pos-profile/MyPosProfile.vue.d.ts → components/layout/SchedulePromoBanner.vue.d.ts} +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ScheduleSelectOption } from '../components/ScheduleSelect.vue';
|
|
2
|
+
/** Which outlet the board is scheduling, and the picker that changes it.
|
|
3
|
+
*
|
|
4
|
+
* On entry the outlet last picked in the schedule wins, remembered per business in localStorage.
|
|
5
|
+
* The host shell (mf-common) resets its own `currentRestaurant` to the first manageable outlet
|
|
6
|
+
* and rewrites `?restaurantId=` on every reload, so neither the URL nor the shell's selection
|
|
7
|
+
* can carry the user's pick across a refresh. Only when nothing was ever picked here does the
|
|
8
|
+
* shell's selection decide, so arriving from elsewhere in the portal lands on the outlet that
|
|
9
|
+
* was already being looked at. Failing that it falls back to the first outlet in the business,
|
|
10
|
+
* which is better than an empty board. The picker offers only restaurants the user can manage.
|
|
11
|
+
*
|
|
12
|
+
* Switching from the picker saves the pick and writes the new id back into `?restaurantId=` too,
|
|
13
|
+
* via `router.replace`, not a navigation, so it does not reload the page or add a history entry.
|
|
14
|
+
* The picker already re-fetches everything the new outlet needs (see switchTo below); this just
|
|
15
|
+
* keeps the address bar honest about which one is on screen. */
|
|
16
|
+
export declare function useScheduleOutlet(): {
|
|
17
|
+
options: import("vue").ComputedRef<ScheduleSelectOption[]>;
|
|
18
|
+
ready: import("vue").Ref<boolean, boolean>;
|
|
19
|
+
outletId: import("vue").Ref<string, string>;
|
|
20
|
+
resolve: () => Promise<string>;
|
|
21
|
+
resolveOutlet: () => Promise<string>;
|
|
22
|
+
switchTo: (restaurantId: string, weekStart: Date) => Promise<boolean>;
|
|
23
|
+
setBeforeSwitch: (handler: (restaurantId: string) => boolean | Promise<boolean>) => void;
|
|
24
|
+
};
|
|
25
|
+
export type ScheduleOutletApi = ReturnType<typeof useScheduleOutlet>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { ScheduleAutoScheduleApi } from './useScheduleAutoSchedule';
|
|
3
|
+
import type { SchedulePublishApi } from './useSchedulePublish';
|
|
4
|
+
interface UseSchedulePageActionsOptions {
|
|
5
|
+
board: ScheduleBoardApi;
|
|
6
|
+
autoSchedule: ScheduleAutoScheduleApi;
|
|
7
|
+
publish: SchedulePublishApi;
|
|
8
|
+
notify: (message: string, type: 'info' | 'success') => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function useSchedulePageActions(options: UseSchedulePageActionsOptions): {
|
|
11
|
+
comingSoon: () => void;
|
|
12
|
+
onSchedStatusClick: () => void;
|
|
13
|
+
onApplyProposals: (count: number) => void;
|
|
14
|
+
onApplyAndPublishProposals: (count: number) => Promise<void>;
|
|
15
|
+
onProposalDragStart: (id: number, event: DragEvent) => void;
|
|
16
|
+
onScroll: (delta: number) => void;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { ScheduleDemandApi } from './useScheduleDemand';
|
|
3
|
+
import type { ScheduleOutletApi } from './useScheduleOutlet';
|
|
4
|
+
/** Owns SchedulePage's data bootstrap and loading lifecycle, separate from rendering concerns. */
|
|
5
|
+
export declare function useSchedulePageBootstrap(board: ScheduleBoardApi, demand: ScheduleDemandApi, outlet: ScheduleOutletApi): {
|
|
6
|
+
booting: import("vue").Ref<boolean, boolean>;
|
|
7
|
+
showSkeleton: import("vue").ComputedRef<boolean>;
|
|
8
|
+
applyStoredDemand: () => void;
|
|
9
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { ScheduleClashDetectionApi } from './useScheduleClashDetection';
|
|
3
|
+
import type { ScheduleDemandApi } from './useScheduleDemand';
|
|
4
|
+
import type { ScheduleAddPickApi } from './useScheduleAddPick';
|
|
5
|
+
import type { ScheduleShiftPopoverApi } from './useScheduleShiftPopover';
|
|
6
|
+
import type { ScheduleDemandSheetApi } from './useScheduleDemandSheet';
|
|
7
|
+
interface UseSchedulePageCellActionsOptions {
|
|
8
|
+
board: ScheduleBoardApi;
|
|
9
|
+
clash: ScheduleClashDetectionApi;
|
|
10
|
+
demand: ScheduleDemandApi;
|
|
11
|
+
addPick: ScheduleAddPickApi;
|
|
12
|
+
popover: ScheduleShiftPopoverApi;
|
|
13
|
+
demandSheet: ScheduleDemandSheetApi;
|
|
14
|
+
}
|
|
15
|
+
export declare function useSchedulePageCellActions(options: UseSchedulePageCellActionsOptions): {
|
|
16
|
+
dayHasAnyShift: (dayIdx: number) => boolean;
|
|
17
|
+
onAddShift: (empId: number, dayIdx: number, anchor: HTMLElement) => void;
|
|
18
|
+
onEditShift: (empId: number, dayIdx: number, slotIndex?: number) => void;
|
|
19
|
+
onOpenDemandSheet: (dayIdx: number) => void;
|
|
20
|
+
};
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { ScheduleClashDetectionApi } from './useScheduleClashDetection';
|
|
3
|
+
import type { ScheduleDragDropApi } from './useScheduleDragDrop';
|
|
4
|
+
import type { ScheduleShiftActionsApi } from './useScheduleShiftActions';
|
|
5
|
+
import type { ScheduleAutoScheduleApi } from './useScheduleAutoSchedule';
|
|
6
|
+
interface UseSchedulePageCellDropOptions {
|
|
7
|
+
board: ScheduleBoardApi;
|
|
8
|
+
autoSchedule: ScheduleAutoScheduleApi;
|
|
9
|
+
dragDrop: ScheduleDragDropApi;
|
|
10
|
+
shiftActions: ScheduleShiftActionsApi;
|
|
11
|
+
clash: ScheduleClashDetectionApi;
|
|
12
|
+
dayHasAnyShift: (dayIdx: number) => boolean;
|
|
13
|
+
notify: (message: string, type: 'error') => void;
|
|
14
|
+
}
|
|
15
|
+
export declare function useSchedulePageCellDrop(options: UseSchedulePageCellDropOptions): {
|
|
16
|
+
onCellDrop: (empId: number, dayIdx: number, event: DragEvent, targetSlotIndex?: number, kind?: "employee" | "position") => void;
|
|
17
|
+
confirmPositionSwap: (toEmpId: number, toDayIdx: number, onConfirm: () => void) => void;
|
|
18
|
+
confirmPositionDrop: (targetDayIdx: number, onConfirm: () => void) => void;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { ScheduleDemandApi } from './useScheduleDemand';
|
|
3
|
+
export type ClearKind = 'both' | 'shifts' | 'demand';
|
|
4
|
+
export declare const CLEAR_COPY: Record<ClearKind, {
|
|
5
|
+
title: string;
|
|
6
|
+
message: string;
|
|
7
|
+
confirm: string;
|
|
8
|
+
}>;
|
|
9
|
+
/** i18n keys behind each confirm dialog — `CLEAR_COPY` above is the English fallback kept for
|
|
10
|
+
* existing callers; prefer the translated `clearCopy` the composable returns. */
|
|
11
|
+
export declare const CLEAR_COPY_KEYS: Record<ClearKind, {
|
|
12
|
+
title: string;
|
|
13
|
+
message: string;
|
|
14
|
+
confirm: string;
|
|
15
|
+
}>;
|
|
16
|
+
type Snackbar = {
|
|
17
|
+
open: (options: {
|
|
18
|
+
message: string;
|
|
19
|
+
type: 'error' | 'info' | 'success';
|
|
20
|
+
}) => void;
|
|
21
|
+
};
|
|
22
|
+
export declare function useSchedulePageClearActions(board: ScheduleBoardApi, demand: ScheduleDemandApi, snackbar: Snackbar): {
|
|
23
|
+
clearKind: import("vue").Ref<ClearKind | null, ClearKind | null>;
|
|
24
|
+
clearCopy: import("vue").ComputedRef<{
|
|
25
|
+
title: string;
|
|
26
|
+
message: string;
|
|
27
|
+
confirm: string;
|
|
28
|
+
} | null>;
|
|
29
|
+
clearing: import("vue").Ref<boolean, boolean>;
|
|
30
|
+
onConfirmClear: () => Promise<void>;
|
|
31
|
+
};
|
|
32
|
+
export type SchedulePageClearActionsApi = ReturnType<typeof useSchedulePageClearActions>;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { Ref } from 'vue';
|
|
3
|
+
import { useScheduleEmployeeProfile } from './useScheduleEmployeeProfile';
|
|
4
|
+
import type { ScheduleAddEmployeeApi } from './useScheduleAddEmployee';
|
|
5
|
+
import type { ScheduleClashDetectionApi } from './useScheduleClashDetection';
|
|
6
|
+
type ScheduleEmployeeProfileApi = ReturnType<typeof useScheduleEmployeeProfile>;
|
|
7
|
+
interface UseSchedulePageEmployeeActionsOptions {
|
|
8
|
+
board: ScheduleBoardApi;
|
|
9
|
+
employeeProfile: ScheduleEmployeeProfileApi;
|
|
10
|
+
addEmployee: ScheduleAddEmployeeApi;
|
|
11
|
+
removeEmployeeId: Ref<number | null>;
|
|
12
|
+
clash: ScheduleClashDetectionApi;
|
|
13
|
+
notify: (message: string, type: 'error' | 'info' | 'success') => void;
|
|
14
|
+
}
|
|
15
|
+
export declare function useSchedulePageEmployeeActions(options: UseSchedulePageEmployeeActionsOptions): {
|
|
16
|
+
onOpenEmployeeMenu: (empId: number) => void;
|
|
17
|
+
onEditEmployee: () => void;
|
|
18
|
+
onClearAllShifts: (empId: number) => void;
|
|
19
|
+
onRemoveEmployee: () => void;
|
|
20
|
+
onConfirmRemoveEmployee: () => Promise<void>;
|
|
21
|
+
};
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ref } from 'vue';
|
|
2
|
+
import type { ScheduleAddPickApi } from './useScheduleAddPick';
|
|
3
|
+
import type { ScheduleDayNoteApi } from './useScheduleDayNote';
|
|
4
|
+
import type { ScheduleGapPopoverApi } from './useScheduleGapPopover';
|
|
5
|
+
import type { ScheduleShiftActionsApi } from './useScheduleShiftActions';
|
|
6
|
+
import type { ScheduleTimePickerApi } from './useScheduleTimePicker';
|
|
7
|
+
export type ScheduleTopbarMenu = 'actions' | 'export';
|
|
8
|
+
export interface ScheduleTopbarApi {
|
|
9
|
+
openMenu: ReturnType<typeof ref<ScheduleTopbarMenu | null>>;
|
|
10
|
+
toggleMenu: (id: ScheduleTopbarMenu) => void;
|
|
11
|
+
closeMenus: () => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function useSchedulePageOverlays(apis: {
|
|
14
|
+
dayNote: ScheduleDayNoteApi;
|
|
15
|
+
gap: ScheduleGapPopoverApi;
|
|
16
|
+
timePicker: ScheduleTimePickerApi;
|
|
17
|
+
addPick: ScheduleAddPickApi;
|
|
18
|
+
shiftActions: ScheduleShiftActionsApi;
|
|
19
|
+
}): {
|
|
20
|
+
topbar: ScheduleTopbarApi;
|
|
21
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ComputedRef, type Ref } from 'vue';
|
|
2
|
+
export interface SchedulePdfCanvas {
|
|
3
|
+
canvas: HTMLCanvasElement;
|
|
4
|
+
}
|
|
5
|
+
export interface SchedulePdfExportOptions {
|
|
6
|
+
subtitle: ComputedRef<string>;
|
|
7
|
+
title: ComputedRef<string>;
|
|
8
|
+
buildCanvas: () => SchedulePdfCanvas | null;
|
|
9
|
+
buildSheetImage: (onReady: () => void) => void;
|
|
10
|
+
jpgPreviewOpen: Ref<boolean>;
|
|
11
|
+
releaseSheetImage: () => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function useSchedulePdfExport(options: SchedulePdfExportOptions): {
|
|
14
|
+
previewOpen: Ref<boolean, boolean>;
|
|
15
|
+
barMeta: ComputedRef<string>;
|
|
16
|
+
openPreview: () => void;
|
|
17
|
+
closePreview: () => void;
|
|
18
|
+
printNow: () => void;
|
|
19
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export interface PositionModalPerson {
|
|
2
|
+
employeeId: string;
|
|
3
|
+
name: string;
|
|
4
|
+
initials: string;
|
|
5
|
+
/** Positions they already hold, main first — the row's second line. */
|
|
6
|
+
held: string[];
|
|
7
|
+
heldPositionIds: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface PositionModalDone {
|
|
10
|
+
name: string;
|
|
11
|
+
assigned: number;
|
|
12
|
+
failed: number;
|
|
13
|
+
}
|
|
14
|
+
/** The "Add position" popup: a name, plus who on this outlet's roster can work it.
|
|
15
|
+
*
|
|
16
|
+
* Saving creates the (business-wide) position, then adds it to each ticked person's profile —
|
|
17
|
+
* as their main position when they have none yet, otherwise as one more they are trained in.
|
|
18
|
+
* The profile write replaces `secondaryPositions` wholesale, so a person's existing ones are
|
|
19
|
+
* sent back with the new one rather than being dropped. */
|
|
20
|
+
export declare function useSchedulePositionModal(onCreated?: (positionName: string) => void, options?: {
|
|
21
|
+
notify?: (message: string, type?: 'success' | 'error' | 'info') => void;
|
|
22
|
+
}): {
|
|
23
|
+
open: import("vue").Ref<boolean, boolean>;
|
|
24
|
+
name: import("vue").Ref<string, string>;
|
|
25
|
+
search: import("vue").Ref<string, string>;
|
|
26
|
+
picks: Record<string, boolean>;
|
|
27
|
+
saving: import("vue").Ref<boolean, boolean>;
|
|
28
|
+
error: import("vue").Ref<string | null, string | null>;
|
|
29
|
+
done: import("vue").Ref<{
|
|
30
|
+
name: string;
|
|
31
|
+
assigned: number;
|
|
32
|
+
failed: number;
|
|
33
|
+
} | null, PositionModalDone | {
|
|
34
|
+
name: string;
|
|
35
|
+
assigned: number;
|
|
36
|
+
failed: number;
|
|
37
|
+
} | null>;
|
|
38
|
+
nameError: import("vue").Ref<boolean, boolean>;
|
|
39
|
+
people: import("vue").ComputedRef<PositionModalPerson[]>;
|
|
40
|
+
visible: import("vue").ComputedRef<PositionModalPerson[]>;
|
|
41
|
+
pickedIds: import("vue").ComputedRef<string[]>;
|
|
42
|
+
allPicked: import("vue").ComputedRef<boolean>;
|
|
43
|
+
nameTaken: import("vue").ComputedRef<boolean>;
|
|
44
|
+
canSave: import("vue").ComputedRef<boolean>;
|
|
45
|
+
editingId: import("vue").Ref<string | null, string | null>;
|
|
46
|
+
openNew: () => void;
|
|
47
|
+
openEdit: (id: string, currentName: string) => void;
|
|
48
|
+
close: () => void;
|
|
49
|
+
toggle: (employeeId: string) => void;
|
|
50
|
+
toggleAll: () => void;
|
|
51
|
+
save: () => Promise<boolean>;
|
|
52
|
+
saveAndAnother: () => Promise<void>;
|
|
53
|
+
another: () => void;
|
|
54
|
+
};
|
|
55
|
+
export type SchedulePositionModalApi = ReturnType<typeof useSchedulePositionModal>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface SchedulePositionRow {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function useSchedulePositions(options?: {
|
|
6
|
+
notify?: (message: string, type?: 'success' | 'error' | 'info') => void;
|
|
7
|
+
deferWrites?: boolean;
|
|
8
|
+
}): {
|
|
9
|
+
positions: import("vue").Ref<{
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
}[], SchedulePositionRow[] | {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
}[]>;
|
|
16
|
+
pendingCreates: string[];
|
|
17
|
+
pendingDeletes: Set<string>;
|
|
18
|
+
count: import("vue").ComputedRef<number>;
|
|
19
|
+
isAdding: import("vue").Ref<boolean, boolean>;
|
|
20
|
+
newName: import("vue").Ref<string, string>;
|
|
21
|
+
pendingDeleteId: import("vue").Ref<string | null, string | null>;
|
|
22
|
+
saving: import("vue").Ref<boolean, boolean>;
|
|
23
|
+
error: import("vue").Ref<string | null, string | null>;
|
|
24
|
+
usageCountFor: (positionId: string) => number;
|
|
25
|
+
startAdd: () => void;
|
|
26
|
+
cancelAdd: () => void;
|
|
27
|
+
confirmAdd: () => Promise<void>;
|
|
28
|
+
askDelete: (id: string) => void;
|
|
29
|
+
cancelDelete: () => void;
|
|
30
|
+
confirmDelete: (id: string) => Promise<void>;
|
|
31
|
+
commitCreates: () => Promise<void>;
|
|
32
|
+
commitDeletes: () => Promise<void>;
|
|
33
|
+
discardPending: () => void;
|
|
34
|
+
};
|
|
35
|
+
export type SchedulePositionsApi = ReturnType<typeof useSchedulePositions>;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
import type { ScheduleVersion } from '../types';
|
|
3
|
+
export interface VersionDiffRow {
|
|
4
|
+
name: string;
|
|
5
|
+
day: string;
|
|
6
|
+
kind: 'add' | 'rem' | 'chg';
|
|
7
|
+
from: string | null;
|
|
8
|
+
to: string | null;
|
|
9
|
+
}
|
|
10
|
+
/** The mockup's Publish modal (openPublish/renderPublish/confirmPublish) — draft vs. published
|
|
11
|
+
* stamps, a conflict-acknowledgement gate, the pending-change list, and per-version diffing
|
|
12
|
+
* against the previous version. The mockup's WhatsApp/push/email notify-channel block is not
|
|
13
|
+
* ported: it depends on per-employee notification-preference data that doesn't exist anywhere
|
|
14
|
+
* in this mock model, and building it would mean inventing a whole notification-preferences
|
|
15
|
+
* concept with no other consumer — publish here just publishes. */
|
|
16
|
+
export declare function useSchedulePublish(board: ScheduleBoardApi): {
|
|
17
|
+
isOpen: import("vue").Ref<boolean, boolean>;
|
|
18
|
+
pubAcked: import("vue").Ref<boolean, boolean>;
|
|
19
|
+
showAllVersions: import("vue").Ref<boolean, boolean>;
|
|
20
|
+
expandedVersion: import("vue").Ref<number | null, number | null>;
|
|
21
|
+
open: () => void;
|
|
22
|
+
close: () => void;
|
|
23
|
+
conflicts: import("vue").ComputedRef<number>;
|
|
24
|
+
confirmDisabled: import("vue").ComputedRef<boolean>;
|
|
25
|
+
publishing: import("vue").Ref<boolean, boolean>;
|
|
26
|
+
visibleVersions: import("vue").ComputedRef<{
|
|
27
|
+
v: number;
|
|
28
|
+
at: Date;
|
|
29
|
+
by: string;
|
|
30
|
+
note: string;
|
|
31
|
+
changeCount: number;
|
|
32
|
+
staffAffected: number;
|
|
33
|
+
snapshot: {
|
|
34
|
+
id: number;
|
|
35
|
+
name: string;
|
|
36
|
+
weekHours: number;
|
|
37
|
+
shifts: ({
|
|
38
|
+
start: string;
|
|
39
|
+
end: string;
|
|
40
|
+
role: string;
|
|
41
|
+
positionId?: string | undefined;
|
|
42
|
+
status: import("../types").ShiftStatus;
|
|
43
|
+
clock?: {
|
|
44
|
+
in: string | null;
|
|
45
|
+
out: string | null;
|
|
46
|
+
status: "on-time" | "late" | "early-out" | "absent";
|
|
47
|
+
} | undefined;
|
|
48
|
+
conflict?: boolean | undefined;
|
|
49
|
+
conflictReason?: string | undefined;
|
|
50
|
+
openId?: number | undefined;
|
|
51
|
+
breakMins?: number | undefined;
|
|
52
|
+
breaks?: ({
|
|
53
|
+
type: "DURATION";
|
|
54
|
+
minutes: number;
|
|
55
|
+
breakPayType: "PAID" | "UNPAID";
|
|
56
|
+
} | {
|
|
57
|
+
type: "TIME_RANGE";
|
|
58
|
+
startTime: string;
|
|
59
|
+
endTime: string;
|
|
60
|
+
breakPayType: "PAID" | "UNPAID";
|
|
61
|
+
})[] | undefined;
|
|
62
|
+
assignmentId?: string | undefined;
|
|
63
|
+
updatedAt?: string | undefined;
|
|
64
|
+
splitGroupId?: string | undefined;
|
|
65
|
+
} | {
|
|
66
|
+
timeOff: "approved" | "pending";
|
|
67
|
+
requestId?: string | undefined;
|
|
68
|
+
type?: "OFF_DAY" | "LEAVE" | undefined;
|
|
69
|
+
leaveType?: "ANNUAL" | "MEDICAL" | "EMERGENCY" | "UNPAID" | undefined;
|
|
70
|
+
reason: string;
|
|
71
|
+
half?: boolean | undefined;
|
|
72
|
+
halfPart?: "AM" | "PM" | undefined;
|
|
73
|
+
from?: string | undefined;
|
|
74
|
+
to?: string | undefined;
|
|
75
|
+
appliedOn?: string | undefined;
|
|
76
|
+
note?: string | undefined;
|
|
77
|
+
cert?: {
|
|
78
|
+
name: string;
|
|
79
|
+
size: string;
|
|
80
|
+
} | null | undefined;
|
|
81
|
+
bal?: {
|
|
82
|
+
type: string;
|
|
83
|
+
entitled: number;
|
|
84
|
+
used: number;
|
|
85
|
+
} | undefined;
|
|
86
|
+
} | {
|
|
87
|
+
start: string;
|
|
88
|
+
end: string;
|
|
89
|
+
role: string;
|
|
90
|
+
positionId?: string | undefined;
|
|
91
|
+
status: import("../types").ShiftStatus;
|
|
92
|
+
clock?: {
|
|
93
|
+
in: string | null;
|
|
94
|
+
out: string | null;
|
|
95
|
+
status: "on-time" | "late" | "early-out" | "absent";
|
|
96
|
+
} | undefined;
|
|
97
|
+
conflict?: boolean | undefined;
|
|
98
|
+
conflictReason?: string | undefined;
|
|
99
|
+
openId?: number | undefined;
|
|
100
|
+
breakMins?: number | undefined;
|
|
101
|
+
breaks?: ({
|
|
102
|
+
type: "DURATION";
|
|
103
|
+
minutes: number;
|
|
104
|
+
breakPayType: "PAID" | "UNPAID";
|
|
105
|
+
} | {
|
|
106
|
+
type: "TIME_RANGE";
|
|
107
|
+
startTime: string;
|
|
108
|
+
endTime: string;
|
|
109
|
+
breakPayType: "PAID" | "UNPAID";
|
|
110
|
+
})[] | undefined;
|
|
111
|
+
assignmentId?: string | undefined;
|
|
112
|
+
updatedAt?: string | undefined;
|
|
113
|
+
splitGroupId?: string | undefined;
|
|
114
|
+
}[] | null)[];
|
|
115
|
+
}[];
|
|
116
|
+
}[]>;
|
|
117
|
+
toggleAllVersions: () => void;
|
|
118
|
+
toggleVersionDiff: (v: number) => void;
|
|
119
|
+
diffFor: (version: ScheduleVersion) => VersionDiffRow[];
|
|
120
|
+
confirm: () => Promise<void>;
|
|
121
|
+
shareOpen: import("vue").Ref<boolean, boolean>;
|
|
122
|
+
shareVersion: import("vue").Ref<number | null, number | null>;
|
|
123
|
+
shareStaffAffected: import("vue").Ref<number, number>;
|
|
124
|
+
showShareCompletion: (changeCount: number, staffAffected: number) => void;
|
|
125
|
+
closeShare: () => void;
|
|
126
|
+
};
|
|
127
|
+
export type SchedulePublishApi = ReturnType<typeof useSchedulePublish>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { WorkSlot } from '../types';
|
|
2
|
+
export interface SchedulePublishPersistenceOptions {
|
|
3
|
+
recoverPersistFailure: (error: unknown, fallback: string) => Promise<void>;
|
|
4
|
+
}
|
|
5
|
+
export declare function useSchedulePublishPersistence(options: SchedulePublishPersistenceOptions): {
|
|
6
|
+
persistPublish: (items: Array<{
|
|
7
|
+
empId: number;
|
|
8
|
+
dayIdx: number;
|
|
9
|
+
slot: WorkSlot;
|
|
10
|
+
}>) => Promise<boolean>;
|
|
11
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
2
|
+
/** Range-calendar popover behind the topbar's date label — month grid + Today/This
|
|
3
|
+
* week/Next week presets, matching the mockup's range calendar. */
|
|
4
|
+
export declare function useScheduleRangeCalendar(board: ScheduleBoardApi): {
|
|
5
|
+
open: import("vue").Ref<boolean, boolean>;
|
|
6
|
+
pos: {
|
|
7
|
+
left: number;
|
|
8
|
+
top: number;
|
|
9
|
+
};
|
|
10
|
+
toggle: (anchor?: HTMLElement) => void;
|
|
11
|
+
close: () => void;
|
|
12
|
+
cursorMonth: import("vue").Ref<Date, Date>;
|
|
13
|
+
shiftMonth: (delta: number) => void;
|
|
14
|
+
monthLabel: import("vue").ComputedRef<string>;
|
|
15
|
+
calendarDays: import("vue").ComputedRef<{
|
|
16
|
+
date: Date | null;
|
|
17
|
+
}[]>;
|
|
18
|
+
isInRange: (date: Date) => boolean;
|
|
19
|
+
isStart: (date: Date) => boolean;
|
|
20
|
+
isEnd: (date: Date) => boolean;
|
|
21
|
+
isToday: (date: Date) => boolean;
|
|
22
|
+
rangeLabel: import("vue").ComputedRef<string>;
|
|
23
|
+
rangeDays: import("vue").ComputedRef<number>;
|
|
24
|
+
pickDate: (date: Date) => void;
|
|
25
|
+
presetToday: () => void;
|
|
26
|
+
presetNextWeek: () => void;
|
|
27
|
+
};
|