@feedmepos/mf-hrm-portal 2.2.5 → 2.3.0-dev

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 (186) hide show
  1. package/dist/{ApprovalCodeList-Df5_U7Fj.js → ApprovalCodeList-cG0zmQVJ.js} +7 -7
  2. package/dist/{AuditLogList-BT-YM-CP.js → AuditLogList-BTifJhO1.js} +19 -18
  3. package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-Df3IHAyZ.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-qr5TwLTK.js} +2 -2
  4. package/dist/{EmployeeList-BfhG5ktC.js → EmployeeList-DzcMtxJ3.js} +31 -30
  5. package/dist/{FormItem.vue_vue_type_script_setup_true_lang-DPT2FoIc.js → FormItem.vue_vue_type_script_setup_true_lang-CUnlKsxk.js} +1 -1
  6. package/dist/{GrantUserList-B_WhIR9L.js → GrantUserList-D5b7tJ8Y.js} +8 -8
  7. package/dist/{Main-CGrtJkUl.js → Main-B2r59IOW.js} +5 -5
  8. package/dist/{Main-DKOPDO1K.js → Main-DFwdAWqn.js} +8 -8
  9. package/dist/{Main-Cxwiaabw.js → Main-DkLBemi7.js} +11 -11
  10. package/dist/{PermissionSetList-CqiLsqaj.js → PermissionSetList-B80hrfMW.js} +7 -7
  11. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DjNcJQM9.js +4167 -0
  12. package/dist/{PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-Z-DH7ouY.js → PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-fe-Rdwn4.js} +1 -1
  13. package/dist/{RoleList-iudKGaCg.js → RoleList-DHO4JRKF.js} +9 -9
  14. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-B-XtB64L.js +452 -0
  15. package/dist/ScheduleGeneralPage-WlBM8bxV.js +629 -0
  16. package/dist/SchedulePage-Nm0krGVU.js +17056 -0
  17. package/dist/SchedulePositionPage-C0hrO11d.js +263 -0
  18. package/dist/ScheduleSelect.vue_vue_type_script_setup_true_lang-DTDXir_7.js +1150 -0
  19. package/dist/SelectFilter-CG13h83-.js +264 -0
  20. package/dist/{TeamMemberList-D_8d24Vw.js → TeamMemberList-CgFWLRBM.js} +38 -37
  21. package/dist/{TimesheetList-VvIiAVLt.js → TimesheetList-Dp40G-0I.js} +54 -53
  22. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-Bmiz85Y3.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-BFjrMhUG.js} +3 -3
  23. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  24. package/dist/{app-CVqQjVFY.js → app-CmBSTvaI.js} +3024 -2327
  25. package/dist/app.js +1 -1
  26. package/dist/{approval-code-BRClD2HN.js → approval-code-C9DmR4Md.js} +1 -1
  27. package/dist/{dayjs.min-Bhe9FtFt.js → dayjs.min-CfL2DQ3d.js} +1 -1
  28. package/dist/{employee-thZndJWE.js → employee-DQcHjoij.js} +4 -4
  29. package/dist/{grant-user-Dhi3ilC_.js → grant-user-Bv-pJ9Wt.js} +1 -1
  30. package/dist/{iteration-Cd5fl3-x.js → iteration-BlavheWG.js} +1 -1
  31. package/dist/{lodash-DiJ9xZIF.js → lodash-QerqayrJ.js} +1 -1
  32. package/dist/{restaurant-DiYb0pCm.js → restaurant-D7PEQjPY.js} +258 -252
  33. package/dist/{role-DdizOTVB.js → role-RM2YLO7n.js} +2 -2
  34. package/dist/{rule-CYFm43rI.js → rule-DjlvYIuP.js} +36 -36
  35. package/dist/src/api/restaurant/index.d.ts +2 -0
  36. package/dist/src/api/schedule/index.d.ts +51 -0
  37. package/dist/src/components/layout/AppSidebar.vue.d.ts +2 -0
  38. package/dist/src/components/layout/PortalShell.vue.d.ts +12 -0
  39. package/dist/src/components/layout/withShell.d.ts +14 -0
  40. package/dist/src/composables/useMessage.d.ts +8 -2
  41. package/dist/src/router/shared.d.ts +4 -1
  42. package/dist/src/types/schedule.d.ts +24 -0
  43. package/dist/src/views/scheduling/ScheduleGeneralPage.vue.d.ts +3 -0
  44. package/dist/src/views/scheduling/SchedulePage.vue.d.ts +3 -0
  45. package/dist/src/views/scheduling/SchedulePositionPage.vue.d.ts +3 -0
  46. package/dist/src/views/scheduling/components/ScheduleAddEmployeeIdentitySection.vue.d.ts +6 -0
  47. package/dist/src/views/scheduling/components/ScheduleAddEmployeeModal.vue.d.ts +12 -0
  48. package/dist/src/views/scheduling/components/ScheduleAddEmployeeModeStep.vue.d.ts +6 -0
  49. package/dist/src/views/scheduling/components/ScheduleAddEmployeePosAccessSection.vue.d.ts +6 -0
  50. package/dist/src/views/scheduling/components/ScheduleAddEmployeePositionsSection.vue.d.ts +10 -0
  51. package/dist/src/views/scheduling/components/ScheduleAddEmployeeSchedulingSection.vue.d.ts +6 -0
  52. package/dist/src/views/scheduling/components/ScheduleAddPickPopover.vue.d.ts +6 -0
  53. package/dist/src/views/scheduling/components/ScheduleAddPositionModal.vue.d.ts +6 -0
  54. package/dist/src/views/scheduling/components/ScheduleAllShiftsRow.vue.d.ts +22 -0
  55. package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +45 -0
  56. package/dist/src/views/scheduling/components/ScheduleAssignEmployeePopover.vue.d.ts +6 -0
  57. package/dist/src/views/scheduling/components/ScheduleAutoScheduleDetailsModal.vue.d.ts +6 -0
  58. package/dist/src/views/scheduling/components/ScheduleAutoScheduleModal.vue.d.ts +10 -0
  59. package/dist/src/views/scheduling/components/ScheduleButton.vue.d.ts +23 -0
  60. package/dist/src/views/scheduling/components/ScheduleChangeEmployeeModal.vue.d.ts +8 -0
  61. package/dist/src/views/scheduling/components/ScheduleCloneOutletModal.vue.d.ts +6 -0
  62. package/dist/src/views/scheduling/components/ScheduleCoach.vue.d.ts +6 -0
  63. package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +32 -0
  64. package/dist/src/views/scheduling/components/ScheduleCostRail.vue.d.ts +8 -0
  65. package/dist/src/views/scheduling/components/ScheduleCostRailEmptyArt.vue.d.ts +2 -0
  66. package/dist/src/views/scheduling/components/ScheduleDateRangePopover.vue.d.ts +6 -0
  67. package/dist/src/views/scheduling/components/ScheduleDayNotePopover.vue.d.ts +6 -0
  68. package/dist/src/views/scheduling/components/ScheduleDayTimeline.vue.d.ts +12 -0
  69. package/dist/src/views/scheduling/components/ScheduleDemandRow.vue.d.ts +23 -0
  70. package/dist/src/views/scheduling/components/ScheduleDemandSheet.vue.d.ts +10 -0
  71. package/dist/src/views/scheduling/components/ScheduleDotsIcon.vue.d.ts +2 -0
  72. package/dist/src/views/scheduling/components/ScheduleEmployeeDetailPanel.vue.d.ts +12 -0
  73. package/dist/src/views/scheduling/components/ScheduleEmployeeIdentity.vue.d.ts +17 -0
  74. package/dist/src/views/scheduling/components/ScheduleEmployeeMenu.vue.d.ts +6 -0
  75. package/dist/src/views/scheduling/components/ScheduleExportDoneDialog.vue.d.ts +6 -0
  76. package/dist/src/views/scheduling/components/ScheduleFilterBar.vue.d.ts +18 -0
  77. package/dist/src/views/scheduling/components/ScheduleGapPopover.vue.d.ts +6 -0
  78. package/dist/src/views/scheduling/components/ScheduleGridHeader.vue.d.ts +18 -0
  79. package/dist/src/views/scheduling/components/ScheduleGridSkeleton.vue.d.ts +2 -0
  80. package/dist/src/views/scheduling/components/ScheduleLeaveEditModal.vue.d.ts +6 -0
  81. package/dist/src/views/scheduling/components/ScheduleOnboardingComplete.vue.d.ts +10 -0
  82. package/dist/src/views/scheduling/components/ScheduleOnboardingDoneArt.vue.d.ts +2 -0
  83. package/dist/src/views/scheduling/components/ScheduleOnboardingWelcome.vue.d.ts +11 -0
  84. package/dist/src/views/scheduling/components/ScheduleOnboardingWizard.vue.d.ts +9 -0
  85. package/dist/src/views/scheduling/components/ScheduleOpenShiftCardMenu.vue.d.ts +14 -0
  86. package/dist/src/views/scheduling/components/SchedulePdfPreview.vue.d.ts +6 -0
  87. package/dist/src/views/scheduling/components/SchedulePublishModal.vue.d.ts +8 -0
  88. package/dist/src/views/scheduling/components/ScheduleReviewBar.vue.d.ts +12 -0
  89. package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +54 -0
  90. package/dist/src/views/scheduling/components/ScheduleSelectExistingEmployeeModal.vue.d.ts +6 -0
  91. package/dist/src/views/scheduling/components/ScheduleShiftCardMenu.vue.d.ts +12 -0
  92. package/dist/src/views/scheduling/components/ScheduleShiftCell.vue.d.ts +35 -0
  93. package/dist/src/views/scheduling/components/ScheduleShiftHeadcountEditor.vue.d.ts +10 -0
  94. package/dist/src/views/scheduling/components/ScheduleShiftImpact.vue.d.ts +6 -0
  95. package/dist/src/views/scheduling/components/ScheduleShiftMoreOptions.vue.d.ts +8 -0
  96. package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +16 -0
  97. package/dist/src/views/scheduling/components/ScheduleShiftRepeatDaysRow.vue.d.ts +8 -0
  98. package/dist/src/views/scheduling/components/ScheduleShiftSegmentsEditor.vue.d.ts +8 -0
  99. package/dist/src/views/scheduling/components/ScheduleShiftWhoPicker.vue.d.ts +25 -0
  100. package/dist/src/views/scheduling/components/ScheduleStackPopover.vue.d.ts +14 -0
  101. package/dist/src/views/scheduling/components/ScheduleStaffRail.vue.d.ts +16 -0
  102. package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +60 -0
  103. package/dist/src/views/scheduling/components/ScheduleStatsRow.vue.d.ts +12 -0
  104. package/dist/src/views/scheduling/components/ScheduleSwapShiftsModal.vue.d.ts +8 -0
  105. package/dist/src/views/scheduling/components/ScheduleTimePickerPopover.vue.d.ts +6 -0
  106. package/dist/src/views/scheduling/components/ScheduleTopbar.vue.d.ts +20 -0
  107. package/dist/src/views/scheduling/components/ScheduleTourAllSet.vue.d.ts +6 -0
  108. package/dist/src/views/scheduling/composables/auto-schedule-mapping.d.ts +33 -0
  109. package/dist/src/views/scheduling/composables/onboarding-constants.d.ts +5 -0
  110. package/dist/src/views/scheduling/composables/onboarding-hours.d.ts +7 -0
  111. package/dist/src/views/scheduling/composables/onboarding-types.d.ts +50 -0
  112. package/dist/src/views/scheduling/composables/schedule-add-employee-form.d.ts +78 -0
  113. package/dist/src/views/scheduling/composables/schedule-board-helpers.d.ts +59 -0
  114. package/dist/src/views/scheduling/composables/schedule-breaks.d.ts +3 -0
  115. package/dist/src/views/scheduling/composables/schedule-day-meta.d.ts +23 -0
  116. package/dist/src/views/scheduling/composables/schedule-employee-profile.d.ts +7 -0
  117. package/dist/src/views/scheduling/composables/schedule-popover-position.d.ts +16 -0
  118. package/dist/src/views/scheduling/composables/schedule-shift-time.d.ts +26 -0
  119. package/dist/src/views/scheduling/composables/schedule-week-cache.d.ts +10 -0
  120. package/dist/src/views/scheduling/composables/useCollapsedList.d.ts +9 -0
  121. package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +101 -0
  122. package/dist/src/views/scheduling/composables/useScheduleAddPick.d.ts +81 -0
  123. package/dist/src/views/scheduling/composables/useScheduleAllShiftsRow.d.ts +77 -0
  124. package/dist/src/views/scheduling/composables/useScheduleAreaBoard.d.ts +63 -0
  125. package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +18 -0
  126. package/dist/src/views/scheduling/composables/useScheduleAssign.d.ts +122 -0
  127. package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +289 -0
  128. package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +523 -0
  129. package/dist/src/views/scheduling/composables/useScheduleCellState.d.ts +27 -0
  130. package/dist/src/views/scheduling/composables/useScheduleClashDetection.d.ts +28 -0
  131. package/dist/src/views/scheduling/composables/useScheduleCloneOutletModal.d.ts +19 -0
  132. package/dist/src/views/scheduling/composables/useScheduleCoach.d.ts +80 -0
  133. package/dist/src/views/scheduling/composables/useScheduleCopyWeek.d.ts +19 -0
  134. package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +43 -0
  135. package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +45 -0
  136. package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +100 -0
  137. package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +76 -0
  138. package/dist/src/views/scheduling/composables/useScheduleDemandRow.d.ts +47 -0
  139. package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +145 -0
  140. package/dist/src/views/scheduling/composables/useScheduleDragDrop.d.ts +54 -0
  141. package/dist/src/views/scheduling/composables/useScheduleEmployeeIdentity.d.ts +41 -0
  142. package/dist/src/views/scheduling/composables/useScheduleEmployeeMenu.d.ts +35 -0
  143. package/dist/src/views/scheduling/composables/useScheduleEmployeeProfile.d.ts +16 -0
  144. package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +43 -0
  145. package/dist/src/views/scheduling/composables/useScheduleFilterBar.d.ts +14 -0
  146. package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +80 -0
  147. package/dist/src/views/scheduling/composables/useScheduleLeave.d.ts +59 -0
  148. package/dist/src/views/scheduling/composables/useScheduleLegend.d.ts +15 -0
  149. package/dist/src/views/scheduling/composables/useScheduleOnboardingFlow.d.ts +9 -0
  150. package/dist/src/views/scheduling/composables/useScheduleOnboardingPersistence.d.ts +13 -0
  151. package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +1568 -0
  152. package/dist/src/views/scheduling/composables/useScheduleOpenShiftCard.d.ts +23 -0
  153. package/dist/src/views/scheduling/composables/useScheduleOutlet.d.ts +22 -0
  154. package/dist/src/views/scheduling/composables/useSchedulePageBootstrap.d.ts +9 -0
  155. package/dist/src/views/scheduling/composables/useSchedulePageClearActions.d.ts +20 -0
  156. package/dist/src/views/scheduling/composables/useSchedulePageOverlays.d.ts +18 -0
  157. package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +52 -0
  158. package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +27 -0
  159. package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +118 -0
  160. package/dist/src/views/scheduling/composables/useScheduleRangeCalendar.d.ts +27 -0
  161. package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +241 -0
  162. package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +57 -0
  163. package/dist/src/views/scheduling/composables/useScheduleSetupBanner.d.ts +17 -0
  164. package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +202 -0
  165. package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +209 -0
  166. package/dist/src/views/scheduling/composables/useScheduleStaffRail.d.ts +17 -0
  167. package/dist/src/views/scheduling/composables/useScheduleStatsRow.d.ts +24 -0
  168. package/dist/src/views/scheduling/composables/useScheduleTimePicker.d.ts +49 -0
  169. package/dist/src/views/scheduling/composables/useScheduleTopbar.d.ts +10 -0
  170. package/dist/src/views/scheduling/composables/useScheduleTour.d.ts +93 -0
  171. package/dist/src/views/scheduling/composables/useScheduleViewportFit.d.ts +9 -0
  172. package/dist/src/views/scheduling/data.d.ts +97 -0
  173. package/dist/src/views/scheduling/locales/index.d.ts +608 -0
  174. package/dist/src/views/scheduling/schedule-state.d.ts +679 -0
  175. package/dist/src/views/scheduling/schedule-store.d.ts +107 -0
  176. package/dist/src/views/scheduling/types.d.ts +351 -0
  177. package/dist/src/views/team/components/PortalConditionForm.vue.d.ts +2 -2
  178. package/dist/src/views/team/condition-builders/ConditionBuilderForm.vue.d.ts +2 -2
  179. package/dist/style.css +1 -1
  180. package/dist/tsconfig.app.tsbuildinfo +1 -1
  181. package/dist/{useAppStore-BGhlB1_1.js → useAppStore-d_nHyK5u.js} +1 -1
  182. package/dist/{useLoading-CvgqVDbF.js → useLoading-JFoghhRz.js} +1 -1
  183. package/dist/{useReportPermissions-hVMtRNmj.js → useReportPermissions-Bl6Br79r.js} +3 -3
  184. package/package.json +3 -2
  185. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-CmNTqB0v.js +0 -4167
  186. package/dist/SelectFilter-ATOm0hdn.js +0 -269
@@ -0,0 +1,97 @@
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. */
11
+ export declare const SECTIONS: Section[];
12
+ /** The position catalogue, from the Positions collection. Name-only: this is read as plain
13
+ * strings everywhere on this board (dropdown options, coverage-matrix keys, role lookups), and
14
+ * changing its shape would touch every one of those. */
15
+ /** The same catalogue, kept with its real backend id — the id-less `POSITIONS` above can't
16
+ * identify which document to edit or delete. Only the Position management page reads this. */
17
+ /** Resolves a position name (every picker on this board only ever offers a name — see
18
+ * `POSITIONS` above) to its backend id, for save requests that can now name a position by id
19
+ * instead. `undefined` when the catalogue hasn't loaded yet or the name no longer matches one —
20
+ * callers still send the name alongside, so the backend's own by-name lookup is the fallback. */
21
+ export declare function positionIdOf(name: string): string | undefined;
22
+ /** The selector shape every position-carrying save request wants — `undefined` for a blank
23
+ * name (the field itself has nothing to name), a resolved id alongside the name otherwise. */
24
+ export declare function positionSelectorOf(name: string | undefined): FdtoSchedulePositionSelectorReq | undefined;
25
+ /** Which coverage positions a station label counts toward. Positions ARE the roles in this
26
+ * model — a shift records the position it is for — so nothing needs translating and this stays
27
+ * empty, which makes `positionKeyOf()` pass a role through unchanged. */
28
+ /** The outlet this board is scheduling, from the Restaurants document. An object rather than a
29
+ * bare string so the two components that name it re-render when it arrives. */
30
+ /** Outlets a person may be rostered at. Filled by useScheduleOutlet from the restaurant store
31
+ * — the board payload only ever describes the one outlet it was asked for. */
32
+ /** Outlet id → name, so a person's POS `restaurantRole` (outlet ids) can be shown as the same
33
+ * labels LOCATION_OPTIONS offers. Filled alongside it by useScheduleOutlet. */
34
+ /** No Mongo source: departments and compensation groups are not modelled. The Add Employee
35
+ * form renders these as empty pickers rather than offering choices nobody configured. */
36
+ /** Candidates for "add an employee who already exists elsewhere in the business". No source
37
+ * yet — EmployeeProfiles is per-outlet, and the business-wide directory lives in CouchDB. */
38
+ /** The venue's shift patterns. No collection holds these yet; consumers already handle an empty
39
+ * list by falling back to the trading window in RULES. */
40
+ /** Mon → Sun weighting used to spread a weekly sales forecast across days. Flat while there is
41
+ * no real forecast to shape: a curve invented here would make one day look busier than another
42
+ * for no reason anybody could point at. */
43
+ export declare const SALES_CURVE: number[];
44
+ /** Scheduling configuration, from two places and no others: `payRate` is the whole content of
45
+ * the ScheduleSettings document, and the trading window comes from the outlet's own Restaurants
46
+ * profile (see `restaurantProfile` on the DTO).
47
+ *
48
+ * The fields with no Mongo source stay zero rather than being guessed: `coverage` (per-template
49
+ * headcount matrices), `salesForecast`, `labourTarget`, `budget`, the OT caps and the
50
+ * notification channels. Nothing on screen derived from them is a figure this file made up.
51
+ *
52
+ * `openFrom`/`openTo` are the one pair that must never be blank — they are the axis every
53
+ * coverage bar, day timeline and shift form is drawn against, and there is no such thing as a
54
+ * zero-length day to draw. A neutral 00:00–24:00 stands in until a real window lands.
55
+ *
56
+ * `payRate` defaults to the same statutory baseline the API does when an outlet hasn't saved its
57
+ * own rates: 1.5× normal-day OT, 2× off-day OT, 3× public-holiday OT; 1× off-day regular, 2×
58
+ * public-holiday regular. */
59
+ /** JS `getDay()` (0 = Sunday) → grid column (0 = Monday). */
60
+ export declare function gridDayIdx(dayOfWeek: number): number;
61
+ /** Grid column (0 = Monday) → JS `getDay()` (0 = Sunday). Inverse of gridDayIdx — needed
62
+ * wherever the board writes a day back to Mongo instead of reading one from it. */
63
+ export declare function jsDayOfWeek(gridIdx: number): number;
64
+ export declare function employeeIdOf(num: number): string | undefined;
65
+ export declare function employeeNumberOf(employeeId: string): number;
66
+ /** The outlets a person is rostered at, by name, from the POS roster's `restaurantRole`. */
67
+ /** The outlet being scheduled goes first in a list of locations; the rest keep their order. */
68
+ export declare function currentLocationFirst(locations: string[]): string[];
69
+ export declare function createScheduleEmployees(dates?: Date[]): Employee[];
70
+ /** Open shifts backed by a persisted Shift requirement never shipped — the backend never
71
+ * carried that collection, so this always produced an empty list in practice. Kept as a stub,
72
+ * rather than removed, so the week cache's seed call (`schedule-week-cache.ts`) doesn't need
73
+ * its own special-casing: every open-shift row on the board today is added ad hoc through the
74
+ * shift popover instead (`useScheduleShiftPopover`'s `pushOpenShift`), entirely in local state. */
75
+ export declare function createScheduleOpenShifts(): OpenShift[];
76
+ /** Staffing demand for the held window, in the shape useScheduleDemand stores it: dated
77
+ * overrides keyed by ISO date, standing rules keyed by grid weekday. */
78
+ export declare function scheduleDemand(): {
79
+ byDate: Record<string, Array<{
80
+ from: string;
81
+ to: string;
82
+ n: number;
83
+ roles: Array<{
84
+ position: string;
85
+ n: number;
86
+ }>;
87
+ }>>;
88
+ byWeekday: Record<number, Array<{
89
+ from: string;
90
+ to: string;
91
+ n: number;
92
+ roles: Array<{
93
+ position: string;
94
+ n: number;
95
+ }>;
96
+ }>>;
97
+ };
@@ -0,0 +1,608 @@
1
+ import * as enUS from './en-US.json';
2
+ export type AppMessagesSchema = typeof enUS;
3
+ export declare const i18nMessages: {
4
+ 'en-US': {
5
+ scheduling: {
6
+ nav: {
7
+ section: string;
8
+ board: string;
9
+ position: string;
10
+ general: string;
11
+ };
12
+ topbar: {
13
+ title: string;
14
+ today: string;
15
+ autoSchedule: string;
16
+ actions: string;
17
+ share: string;
18
+ publish: string;
19
+ settings: string;
20
+ copyFromLastWeek: string;
21
+ copyToNextWeek: string;
22
+ demandAndShifts: string;
23
+ demandOnly: string;
24
+ clear: string;
25
+ clearShiftsAndDemand: string;
26
+ clearShifts: string;
27
+ clearDemand: string;
28
+ pdfDescription: string;
29
+ imageDescription: string;
30
+ exportSchedule: string;
31
+ clearAllShifts: string;
32
+ comingSoon: string;
33
+ };
34
+ welcome: {
35
+ eyebrow: string;
36
+ outletSetup: string;
37
+ title: string;
38
+ subtitle: string;
39
+ setUp: string;
40
+ skip: string;
41
+ previewLabel: string;
42
+ cap1Label: string;
43
+ cap1Description: string;
44
+ cap2Label: string;
45
+ cap2Description: string;
46
+ cap3Label: string;
47
+ cap3Description: string;
48
+ };
49
+ status: {
50
+ draft: string;
51
+ published: string;
52
+ };
53
+ staffRail: {
54
+ title: string;
55
+ dragHint: string;
56
+ searchPlaceholder: string;
57
+ sortLoad: string;
58
+ sortName: string;
59
+ sortHours: string;
60
+ sortCost: string;
61
+ addEmployee: string;
62
+ openShifts: string;
63
+ allCovered: string;
64
+ openRemaining: string;
65
+ noPositionsAdded: string;
66
+ noPositionTitle: string;
67
+ };
68
+ grid: {
69
+ employeeColumn: string;
70
+ scrollEarlier: string;
71
+ scrollLater: string;
72
+ };
73
+ costRail: {
74
+ title: string;
75
+ weekly: string;
76
+ monthlyOt: string;
77
+ used: string;
78
+ };
79
+ shiftEditor: {
80
+ title: string;
81
+ newTitle: string;
82
+ start: string;
83
+ end: string;
84
+ role: string;
85
+ headcount: string;
86
+ repeat: string;
87
+ splitShift: string;
88
+ addSplit: string;
89
+ delete: string;
90
+ save: string;
91
+ cancel: string;
92
+ };
93
+ assign: {
94
+ title: string;
95
+ searchPlaceholder: string;
96
+ noMatches: string;
97
+ assign: string;
98
+ };
99
+ leave: {
100
+ title: string;
101
+ approve: string;
102
+ reject: string;
103
+ remove: string;
104
+ appliedOn: string;
105
+ balance: string;
106
+ };
107
+ clash: {
108
+ title: string;
109
+ proceed: string;
110
+ cancel: string;
111
+ };
112
+ clearShifts: {
113
+ title: string;
114
+ body: string;
115
+ confirm: string;
116
+ cancel: string;
117
+ };
118
+ addEmployee: {
119
+ title: string;
120
+ stepDetails: string;
121
+ stepAvailability: string;
122
+ name: string;
123
+ role: string;
124
+ location: string;
125
+ department: string;
126
+ compGroup: string;
127
+ employment: string;
128
+ fullTime: string;
129
+ partTime: string;
130
+ weeklyAvailability: string;
131
+ timeOffDays: string;
132
+ selectExisting: string;
133
+ back: string;
134
+ next: string;
135
+ create: string;
136
+ };
137
+ selectExisting: {
138
+ title: string;
139
+ subtitle: string;
140
+ };
141
+ employeeProfile: {
142
+ weekHours: string;
143
+ remarks: string;
144
+ positions: string;
145
+ rate: string;
146
+ };
147
+ dateRange: {
148
+ today: string;
149
+ thisWeek: string;
150
+ nextWeek: string;
151
+ };
152
+ comingSoon: string;
153
+ };
154
+ };
155
+ 'zh-CN': {
156
+ scheduling: {
157
+ nav: {
158
+ section: string;
159
+ board: string;
160
+ position: string;
161
+ general: string;
162
+ };
163
+ topbar: {
164
+ title: string;
165
+ today: string;
166
+ autoSchedule: string;
167
+ actions: string;
168
+ share: string;
169
+ publish: string;
170
+ settings: string;
171
+ copyFromLastWeek: string;
172
+ copyToNextWeek: string;
173
+ demandAndShifts: string;
174
+ demandOnly: string;
175
+ clear: string;
176
+ clearShiftsAndDemand: string;
177
+ clearShifts: string;
178
+ clearDemand: string;
179
+ pdfDescription: string;
180
+ imageDescription: string;
181
+ exportSchedule: string;
182
+ clearAllShifts: string;
183
+ comingSoon: string;
184
+ };
185
+ welcome: {
186
+ eyebrow: string;
187
+ outletSetup: string;
188
+ title: string;
189
+ subtitle: string;
190
+ setUp: string;
191
+ skip: string;
192
+ previewLabel: string;
193
+ cap1Label: string;
194
+ cap1Description: string;
195
+ cap2Label: string;
196
+ cap2Description: string;
197
+ cap3Label: string;
198
+ cap3Description: string;
199
+ };
200
+ status: {
201
+ draft: string;
202
+ published: string;
203
+ };
204
+ staffRail: {
205
+ title: string;
206
+ dragHint: string;
207
+ searchPlaceholder: string;
208
+ sortLoad: string;
209
+ sortName: string;
210
+ sortHours: string;
211
+ sortCost: string;
212
+ addEmployee: string;
213
+ openShifts: string;
214
+ allCovered: string;
215
+ openRemaining: string;
216
+ noPositionsAdded: string;
217
+ noPositionTitle: string;
218
+ };
219
+ grid: {
220
+ employeeColumn: string;
221
+ scrollEarlier: string;
222
+ scrollLater: string;
223
+ };
224
+ costRail: {
225
+ title: string;
226
+ weekly: string;
227
+ monthlyOt: string;
228
+ used: string;
229
+ };
230
+ shiftEditor: {
231
+ title: string;
232
+ newTitle: string;
233
+ start: string;
234
+ end: string;
235
+ role: string;
236
+ headcount: string;
237
+ repeat: string;
238
+ splitShift: string;
239
+ addSplit: string;
240
+ delete: string;
241
+ save: string;
242
+ cancel: string;
243
+ };
244
+ assign: {
245
+ title: string;
246
+ searchPlaceholder: string;
247
+ noMatches: string;
248
+ assign: string;
249
+ };
250
+ leave: {
251
+ title: string;
252
+ approve: string;
253
+ reject: string;
254
+ remove: string;
255
+ appliedOn: string;
256
+ balance: string;
257
+ };
258
+ clash: {
259
+ title: string;
260
+ proceed: string;
261
+ cancel: string;
262
+ };
263
+ clearShifts: {
264
+ title: string;
265
+ body: string;
266
+ confirm: string;
267
+ cancel: string;
268
+ };
269
+ addEmployee: {
270
+ title: string;
271
+ stepDetails: string;
272
+ stepAvailability: string;
273
+ name: string;
274
+ role: string;
275
+ location: string;
276
+ department: string;
277
+ compGroup: string;
278
+ employment: string;
279
+ fullTime: string;
280
+ partTime: string;
281
+ weeklyAvailability: string;
282
+ timeOffDays: string;
283
+ selectExisting: string;
284
+ back: string;
285
+ next: string;
286
+ create: string;
287
+ };
288
+ selectExisting: {
289
+ title: string;
290
+ subtitle: string;
291
+ };
292
+ employeeProfile: {
293
+ weekHours: string;
294
+ remarks: string;
295
+ positions: string;
296
+ rate: string;
297
+ };
298
+ dateRange: {
299
+ today: string;
300
+ thisWeek: string;
301
+ nextWeek: string;
302
+ };
303
+ comingSoon: string;
304
+ };
305
+ };
306
+ 'th-TH': {
307
+ scheduling: {
308
+ nav: {
309
+ section: string;
310
+ board: string;
311
+ position: string;
312
+ general: string;
313
+ };
314
+ topbar: {
315
+ title: string;
316
+ today: string;
317
+ autoSchedule: string;
318
+ actions: string;
319
+ share: string;
320
+ publish: string;
321
+ settings: string;
322
+ copyFromLastWeek: string;
323
+ copyToNextWeek: string;
324
+ demandAndShifts: string;
325
+ demandOnly: string;
326
+ clear: string;
327
+ clearShiftsAndDemand: string;
328
+ clearShifts: string;
329
+ clearDemand: string;
330
+ pdfDescription: string;
331
+ imageDescription: string;
332
+ exportSchedule: string;
333
+ clearAllShifts: string;
334
+ comingSoon: string;
335
+ };
336
+ welcome: {
337
+ eyebrow: string;
338
+ outletSetup: string;
339
+ title: string;
340
+ subtitle: string;
341
+ setUp: string;
342
+ skip: string;
343
+ previewLabel: string;
344
+ cap1Label: string;
345
+ cap1Description: string;
346
+ cap2Label: string;
347
+ cap2Description: string;
348
+ cap3Label: string;
349
+ cap3Description: string;
350
+ };
351
+ status: {
352
+ draft: string;
353
+ published: string;
354
+ };
355
+ staffRail: {
356
+ title: string;
357
+ dragHint: string;
358
+ searchPlaceholder: string;
359
+ sortLoad: string;
360
+ sortName: string;
361
+ sortHours: string;
362
+ sortCost: string;
363
+ addEmployee: string;
364
+ openShifts: string;
365
+ allCovered: string;
366
+ openRemaining: string;
367
+ noPositionsAdded: string;
368
+ noPositionTitle: string;
369
+ };
370
+ grid: {
371
+ employeeColumn: string;
372
+ scrollEarlier: string;
373
+ scrollLater: string;
374
+ };
375
+ costRail: {
376
+ title: string;
377
+ weekly: string;
378
+ monthlyOt: string;
379
+ used: string;
380
+ };
381
+ shiftEditor: {
382
+ title: string;
383
+ newTitle: string;
384
+ start: string;
385
+ end: string;
386
+ role: string;
387
+ headcount: string;
388
+ repeat: string;
389
+ splitShift: string;
390
+ addSplit: string;
391
+ delete: string;
392
+ save: string;
393
+ cancel: string;
394
+ };
395
+ assign: {
396
+ title: string;
397
+ searchPlaceholder: string;
398
+ noMatches: string;
399
+ assign: string;
400
+ };
401
+ leave: {
402
+ title: string;
403
+ approve: string;
404
+ reject: string;
405
+ remove: string;
406
+ appliedOn: string;
407
+ balance: string;
408
+ };
409
+ clash: {
410
+ title: string;
411
+ proceed: string;
412
+ cancel: string;
413
+ };
414
+ clearShifts: {
415
+ title: string;
416
+ body: string;
417
+ confirm: string;
418
+ cancel: string;
419
+ };
420
+ addEmployee: {
421
+ title: string;
422
+ stepDetails: string;
423
+ stepAvailability: string;
424
+ name: string;
425
+ role: string;
426
+ location: string;
427
+ department: string;
428
+ compGroup: string;
429
+ employment: string;
430
+ fullTime: string;
431
+ partTime: string;
432
+ weeklyAvailability: string;
433
+ timeOffDays: string;
434
+ selectExisting: string;
435
+ back: string;
436
+ next: string;
437
+ create: string;
438
+ };
439
+ selectExisting: {
440
+ title: string;
441
+ subtitle: string;
442
+ };
443
+ employeeProfile: {
444
+ weekHours: string;
445
+ remarks: string;
446
+ positions: string;
447
+ rate: string;
448
+ };
449
+ dateRange: {
450
+ today: string;
451
+ thisWeek: string;
452
+ nextWeek: string;
453
+ };
454
+ comingSoon: string;
455
+ };
456
+ };
457
+ 'zh-Hant': {
458
+ scheduling: {
459
+ nav: {
460
+ section: string;
461
+ board: string;
462
+ position: string;
463
+ general: string;
464
+ };
465
+ topbar: {
466
+ title: string;
467
+ today: string;
468
+ autoSchedule: string;
469
+ actions: string;
470
+ share: string;
471
+ publish: string;
472
+ settings: string;
473
+ copyFromLastWeek: string;
474
+ copyToNextWeek: string;
475
+ demandAndShifts: string;
476
+ demandOnly: string;
477
+ clear: string;
478
+ clearShiftsAndDemand: string;
479
+ clearShifts: string;
480
+ clearDemand: string;
481
+ pdfDescription: string;
482
+ imageDescription: string;
483
+ exportSchedule: string;
484
+ clearAllShifts: string;
485
+ comingSoon: string;
486
+ };
487
+ welcome: {
488
+ eyebrow: string;
489
+ outletSetup: string;
490
+ title: string;
491
+ subtitle: string;
492
+ setUp: string;
493
+ skip: string;
494
+ previewLabel: string;
495
+ cap1Label: string;
496
+ cap1Description: string;
497
+ cap2Label: string;
498
+ cap2Description: string;
499
+ cap3Label: string;
500
+ cap3Description: string;
501
+ };
502
+ status: {
503
+ draft: string;
504
+ published: string;
505
+ };
506
+ staffRail: {
507
+ title: string;
508
+ dragHint: string;
509
+ searchPlaceholder: string;
510
+ sortLoad: string;
511
+ sortName: string;
512
+ sortHours: string;
513
+ sortCost: string;
514
+ addEmployee: string;
515
+ openShifts: string;
516
+ allCovered: string;
517
+ openRemaining: string;
518
+ noPositionsAdded: string;
519
+ noPositionTitle: string;
520
+ };
521
+ grid: {
522
+ employeeColumn: string;
523
+ scrollEarlier: string;
524
+ scrollLater: string;
525
+ };
526
+ costRail: {
527
+ title: string;
528
+ weekly: string;
529
+ monthlyOt: string;
530
+ used: string;
531
+ };
532
+ shiftEditor: {
533
+ title: string;
534
+ newTitle: string;
535
+ start: string;
536
+ end: string;
537
+ role: string;
538
+ headcount: string;
539
+ repeat: string;
540
+ splitShift: string;
541
+ addSplit: string;
542
+ delete: string;
543
+ save: string;
544
+ cancel: string;
545
+ };
546
+ assign: {
547
+ title: string;
548
+ searchPlaceholder: string;
549
+ noMatches: string;
550
+ assign: string;
551
+ };
552
+ leave: {
553
+ title: string;
554
+ approve: string;
555
+ reject: string;
556
+ remove: string;
557
+ appliedOn: string;
558
+ balance: string;
559
+ };
560
+ clash: {
561
+ title: string;
562
+ proceed: string;
563
+ cancel: string;
564
+ };
565
+ clearShifts: {
566
+ title: string;
567
+ body: string;
568
+ confirm: string;
569
+ cancel: string;
570
+ };
571
+ addEmployee: {
572
+ title: string;
573
+ stepDetails: string;
574
+ stepAvailability: string;
575
+ name: string;
576
+ role: string;
577
+ location: string;
578
+ department: string;
579
+ compGroup: string;
580
+ employment: string;
581
+ fullTime: string;
582
+ partTime: string;
583
+ weeklyAvailability: string;
584
+ timeOffDays: string;
585
+ selectExisting: string;
586
+ back: string;
587
+ next: string;
588
+ create: string;
589
+ };
590
+ selectExisting: {
591
+ title: string;
592
+ subtitle: string;
593
+ };
594
+ employeeProfile: {
595
+ weekHours: string;
596
+ remarks: string;
597
+ positions: string;
598
+ rate: string;
599
+ };
600
+ dateRange: {
601
+ today: string;
602
+ thisWeek: string;
603
+ nextWeek: string;
604
+ };
605
+ comingSoon: string;
606
+ };
607
+ };
608
+ };