@feedmepos/mf-hrm-portal 2.3.0-dev → 2.3.0-dev.11

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 (160) hide show
  1. package/dist/{ApprovalCodeList-cG0zmQVJ.js → ApprovalCodeList-Ce9BWzt9.js} +5 -5
  2. package/dist/{AuditLogList-BTifJhO1.js → AuditLogList-Cw7WN8K4.js} +4 -4
  3. package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-qr5TwLTK.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-BuofBFPC.js} +2 -2
  4. package/dist/{EmployeeList-DzcMtxJ3.js → EmployeeList-B8qWPNvj.js} +25 -24
  5. package/dist/{GrantUserList-D5b7tJ8Y.js → GrantUserList-CgigJIPF.js} +6 -6
  6. package/dist/{Main-DFwdAWqn.js → Main-BfoVdxlY.js} +8 -8
  7. package/dist/{Main-B2r59IOW.js → Main-Cg2vC_cj.js} +5 -5
  8. package/dist/{Main-DkLBemi7.js → Main-D26pgKy1.js} +11 -11
  9. package/dist/{PermissionSetList-B80hrfMW.js → PermissionSetList-CbtDiF4k.js} +19 -18
  10. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DW1oBTbb.js +4167 -0
  11. package/dist/{PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-fe-Rdwn4.js → PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-BVz6q3HE.js} +1 -1
  12. package/dist/ResponsiveContextMenu.vue_vue_type_script_setup_true_lang-mSJFKo7r.js +132 -0
  13. package/dist/{RoleList-DHO4JRKF.js → RoleList-D0I8mbyI.js} +21 -20
  14. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-Ctwukt6o.js +492 -0
  15. package/dist/ScheduleGeneralPage-Kv4pnxCL.js +778 -0
  16. package/dist/ScheduleModal.vue_vue_type_script_setup_true_lang-CSA0aaqJ.js +2285 -0
  17. package/dist/SchedulePage-BMWd0bod.js +17942 -0
  18. package/dist/{SchedulePositionPage-C0hrO11d.js → SchedulePositionPage-5Xvx6Dk5.js} +66 -65
  19. package/dist/{TeamMemberList-CgFWLRBM.js → TeamMemberList-Bh7i5l16.js} +24 -23
  20. package/dist/{TimesheetList-Dp40G-0I.js → TimesheetList-BJKU-hnk.js} +7 -7
  21. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-BFjrMhUG.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-MMWnb9bj.js} +3 -3
  22. package/dist/{app-CmBSTvaI.js → app-BDJ5qxhF.js} +678 -594
  23. package/dist/app.js +1 -1
  24. package/dist/{approval-code-C9DmR4Md.js → approval-code-DHsUgc4K.js} +1 -1
  25. package/dist/{dayjs.min-CfL2DQ3d.js → dayjs.min-BWM0vY4w.js} +1 -1
  26. package/dist/{employee-DQcHjoij.js → employee-bBSuAJUr.js} +29 -28
  27. package/dist/{grant-user-Bv-pJ9Wt.js → grant-user-qzKHFTro.js} +1 -1
  28. package/dist/{iteration-BlavheWG.js → iteration-Dg7VAkAn.js} +1 -1
  29. package/dist/{lodash-QerqayrJ.js → lodash-BknY3p4o.js} +1 -1
  30. package/dist/{restaurant-D7PEQjPY.js → restaurant-BbYRA_IT.js} +4 -3
  31. package/dist/{role-RM2YLO7n.js → role-BJnJnNd_.js} +2 -2
  32. package/dist/{rule-DjlvYIuP.js → rule-BEuOY7Wf.js} +3 -3
  33. package/dist/src/api/schedule/index.d.ts +8 -1
  34. package/dist/src/components/layout/withScheduleShell.d.ts +10 -0
  35. package/dist/src/composables/useDiscardConfirm.d.ts +3 -1
  36. package/dist/src/types/employee.d.ts +1 -0
  37. package/dist/src/types/schedule.d.ts +3 -4
  38. package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +0 -8
  39. package/dist/src/views/scheduling/components/ScheduleBoardAreaRows.vue.d.ts +23 -0
  40. package/dist/src/views/scheduling/components/ScheduleBoardEditOverlays.vue.d.ts +17 -0
  41. package/dist/src/views/scheduling/components/ScheduleBoardEmployeeRows.vue.d.ts +31 -0
  42. package/dist/src/views/scheduling/components/ScheduleBoardGridHeader.vue.d.ts +24 -0
  43. package/dist/src/views/scheduling/components/ScheduleBoardInteractionOverlays.vue.d.ts +32 -0
  44. package/dist/src/views/scheduling/components/ScheduleBoardOnboardingOverlays.vue.d.ts +25 -0
  45. package/dist/src/views/scheduling/components/ScheduleBoardRails.vue.d.ts +17 -0
  46. package/dist/src/views/scheduling/components/ScheduleBoardToolbar.vue.d.ts +38 -0
  47. package/dist/src/views/scheduling/components/ScheduleBoardUtilityOverlays.vue.d.ts +22 -0
  48. package/dist/src/views/scheduling/components/{ScheduleOnboardingComplete.vue.d.ts → ScheduleCompletionDialog.vue.d.ts} +8 -3
  49. package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +2 -1
  50. package/dist/src/views/scheduling/components/{ScheduleShiftCardMenu.vue.d.ts → ScheduleContextMenu.vue.d.ts} +7 -2
  51. package/dist/src/views/scheduling/components/{SchedulePdfPreview.vue.d.ts → ScheduleExportPreview.vue.d.ts} +1 -0
  52. package/dist/src/views/scheduling/components/ScheduleLoadState.vue.d.ts +9 -0
  53. package/dist/src/views/scheduling/components/ScheduleModal.vue.d.ts +26 -0
  54. package/dist/src/views/scheduling/components/{ScheduleExportDoneDialog.vue.d.ts → ScheduleOnboardingAssignPositionModal.vue.d.ts} +2 -2
  55. package/dist/src/views/scheduling/components/{ScheduleAssignEmployeePopover.vue.d.ts → ScheduleOnboardingClosedDayConfirm.vue.d.ts} +2 -2
  56. package/dist/src/views/scheduling/components/{ScheduleEmployeeMenu.vue.d.ts → ScheduleOnboardingDemandDays.vue.d.ts} +2 -2
  57. package/dist/src/views/scheduling/components/ScheduleOnboardingDemandFooter.vue.d.ts +6 -0
  58. package/dist/src/views/scheduling/components/ScheduleOnboardingDemandHeader.vue.d.ts +6 -0
  59. package/dist/src/views/scheduling/components/ScheduleOnboardingHoursProfileNotice.vue.d.ts +10 -0
  60. package/dist/src/views/scheduling/components/ScheduleOnboardingPositions.vue.d.ts +6 -0
  61. package/dist/src/views/scheduling/components/ScheduleOnboardingReview.vue.d.ts +6 -0
  62. package/dist/src/views/scheduling/components/ScheduleOnboardingWizardFooter.vue.d.ts +6 -0
  63. package/dist/src/views/scheduling/components/ScheduleOnboardingWizardHeader.vue.d.ts +11 -0
  64. package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +17 -1
  65. package/dist/src/views/scheduling/components/ScheduleSetupBanner.vue.d.ts +12 -0
  66. package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +2 -2
  67. package/dist/src/views/scheduling/components/ScheduleStaffRail.vue.d.ts +4 -4
  68. package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +2 -12
  69. package/dist/src/views/scheduling/components/ScheduleTopbar.vue.d.ts +3 -3
  70. package/dist/src/views/scheduling/composables/onboarding-types.d.ts +1 -1
  71. package/dist/src/views/scheduling/composables/remyPrompt.d.ts +13 -0
  72. package/dist/src/views/scheduling/composables/schedule-add-employee-form.d.ts +12 -8
  73. package/dist/src/views/scheduling/composables/schedule-board-helpers.d.ts +5 -1
  74. package/dist/src/views/scheduling/composables/schedule-breaks.d.ts +7 -1
  75. package/dist/src/views/scheduling/composables/schedule-calendar.d.ts +7 -0
  76. package/dist/src/views/scheduling/composables/schedule-cost.d.ts +19 -0
  77. package/dist/src/views/scheduling/composables/schedule-day-meta.d.ts +1 -3
  78. package/dist/src/views/scheduling/composables/schedule-demand-domain.d.ts +11 -0
  79. package/dist/src/views/scheduling/composables/schedule-export-matrix.d.ts +14 -0
  80. package/dist/src/views/scheduling/composables/schedule-time.d.ts +8 -0
  81. package/dist/src/views/scheduling/composables/schedule-week-cache.d.ts +1 -4
  82. package/dist/src/views/scheduling/composables/useRemyAppStore.d.ts +15 -0
  83. package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +35 -21
  84. package/dist/src/views/scheduling/composables/useScheduleAreaBoard.d.ts +0 -13
  85. package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +2 -8
  86. package/dist/src/views/scheduling/composables/useScheduleAssignmentMutations.d.ts +13 -0
  87. package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +3 -3
  88. package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +52 -11
  89. package/dist/src/views/scheduling/composables/useScheduleCloneOutletModal.d.ts +3 -1
  90. package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +6 -1
  91. package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +1 -2
  92. package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +0 -3
  93. package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +7 -24
  94. package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +26 -5
  95. package/dist/src/views/scheduling/composables/useScheduleEmployeeAccess.d.ts +16 -0
  96. package/dist/src/views/scheduling/composables/useScheduleEmployeeAvailability.d.ts +13 -0
  97. package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +27 -0
  98. package/dist/src/views/scheduling/composables/useScheduleEmployeeCompensation.d.ts +7 -0
  99. package/dist/src/views/scheduling/composables/useScheduleEmployeeForm.d.ts +22 -0
  100. package/dist/src/views/scheduling/composables/useScheduleEmployeeIdentity.d.ts +9 -0
  101. package/dist/src/views/scheduling/composables/useScheduleEmployeeMenu.d.ts +6 -3
  102. package/dist/src/views/scheduling/composables/useScheduleEmployeePersistence.d.ts +29 -0
  103. package/dist/src/views/scheduling/composables/useScheduleEmployeeValidation.d.ts +20 -0
  104. package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +19 -11
  105. package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +5 -6
  106. package/dist/src/views/scheduling/composables/useScheduleOnboardingAvailability.d.ts +58 -0
  107. package/dist/src/views/scheduling/composables/useScheduleOnboardingDemand.d.ts +45 -0
  108. package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +206 -0
  109. package/dist/src/views/scheduling/composables/useScheduleOnboardingHours.d.ts +15 -0
  110. package/dist/src/views/scheduling/composables/useScheduleOnboardingNavigation.d.ts +11 -0
  111. package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +313 -529
  112. package/dist/src/views/scheduling/composables/useSchedulePageActions.d.ts +18 -0
  113. package/dist/src/views/scheduling/composables/useSchedulePageCellActions.d.ts +21 -0
  114. package/dist/src/views/scheduling/composables/useSchedulePageCellDrop.d.ts +18 -0
  115. package/dist/src/views/scheduling/composables/useSchedulePageEmployeeActions.d.ts +22 -0
  116. package/dist/src/views/scheduling/composables/useSchedulePageOverlays.d.ts +10 -7
  117. package/dist/src/views/scheduling/composables/useSchedulePdfExport.d.ts +19 -0
  118. package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +4 -1
  119. package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +4 -2
  120. package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +9 -1
  121. package/dist/src/views/scheduling/composables/useSchedulePublishPersistence.d.ts +11 -0
  122. package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +32 -4
  123. package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +8 -25
  124. package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +19 -3
  125. package/dist/src/views/scheduling/composables/useScheduleShiftDraft.d.ts +63 -0
  126. package/dist/src/views/scheduling/composables/useScheduleShiftPersistence.d.ts +17 -0
  127. package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +31 -9
  128. package/dist/src/views/scheduling/composables/useScheduleStatsRow.d.ts +4 -1
  129. package/dist/src/views/scheduling/composables/useScheduleTour.d.ts +6 -4
  130. package/dist/src/views/scheduling/country-rules/index.d.ts +24 -0
  131. package/dist/src/views/scheduling/data.d.ts +16 -7
  132. package/dist/src/views/scheduling/locales/index.d.ts +80 -0
  133. package/dist/src/views/scheduling/schedule-constants.d.ts +7 -0
  134. package/dist/src/views/scheduling/schedule-state.d.ts +104 -16
  135. package/dist/src/views/scheduling/schedule-store.d.ts +30 -6
  136. package/dist/src/views/scheduling/types.d.ts +29 -5
  137. package/dist/style.css +1 -1
  138. package/dist/tsconfig.app.tsbuildinfo +1 -1
  139. package/dist/{useAppStore-d_nHyK5u.js → useAppStore-BoLkvkE2.js} +1 -1
  140. package/dist/useDiscardConfirm-CzZSPyvh.js +28 -0
  141. package/dist/{useLoading-JFoghhRz.js → useLoading-Ch1AUYT1.js} +1 -1
  142. package/dist/{useReportPermissions-Bl6Br79r.js → useReportPermissions-D8hJ5W0t.js} +3 -3
  143. package/package.json +2 -1
  144. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DjNcJQM9.js +0 -4167
  145. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-B-XtB64L.js +0 -452
  146. package/dist/ScheduleGeneralPage-WlBM8bxV.js +0 -629
  147. package/dist/SchedulePage-Nm0krGVU.js +0 -17056
  148. package/dist/ScheduleSelect.vue_vue_type_script_setup_true_lang-DTDXir_7.js +0 -1150
  149. package/dist/src/components/layout/withShell.d.ts +0 -14
  150. package/dist/src/views/scheduling/components/ScheduleAllShiftsRow.vue.d.ts +0 -22
  151. package/dist/src/views/scheduling/components/ScheduleOpenShiftCardMenu.vue.d.ts +0 -14
  152. package/dist/src/views/scheduling/components/ScheduleStackPopover.vue.d.ts +0 -14
  153. package/dist/src/views/scheduling/components/ScheduleTourAllSet.vue.d.ts +0 -6
  154. package/dist/src/views/scheduling/composables/useScheduleAllShiftsRow.d.ts +0 -77
  155. package/dist/src/views/scheduling/composables/useScheduleAssign.d.ts +0 -122
  156. package/dist/src/views/scheduling/composables/useScheduleOpenShiftCard.d.ts +0 -23
  157. package/dist/src/views/scheduling/composables/useScheduleStaffRail.d.ts +0 -17
  158. package/dist/src/views/scheduling/composables/useScheduleTopbar.d.ts +0 -10
  159. package/dist/useDiscardConfirm-DPhEV6v0.js +0 -157
  160. /package/dist/src/{components/layout/AppSidebar.vue.d.ts → views/scheduling/components/SchedulePublishShareArt.vue.d.ts} +0 -0
@@ -1,8 +1,8 @@
1
1
  import type { ScheduleBoardApi } from './useScheduleBoard';
2
2
  import type { ScheduleAddEmployeeApi } from './useScheduleAddEmployee';
3
- import type { AvailRow, IntroRecapRow, ReviewRow, ScheduleOnboardingDayHours, ScheduleOnboardingRange, ScheduleOnboardingStep, TeamBasis, TeamEmployment, TeamRow } from './onboarding-types';
3
+ import type { IntroRecapRow, ReviewRow, ScheduleOnboardingStep } from './onboarding-types';
4
4
  export declare const STEP_LABELS: Record<ScheduleOnboardingStep, string>;
5
- export declare const MAX_OPERATIONAL_SESSIONS = 2;
5
+ export { MAX_OPERATIONAL_SESSIONS } from './useScheduleOnboardingHours';
6
6
  /** Steps that can be passed over without answering — the footer shows "Skip for now" on these. */
7
7
  /** "Set up scheduling", step by step — V6.2's six-step flow. Positions, staffing demand and the
8
8
  * team are real screens over real pieces. Operational hours start from and are written back to
@@ -12,20 +12,19 @@ export declare const MAX_OPERATIONAL_SESSIONS = 2;
12
12
  export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, addEmployee: ScheduleAddEmployeeApi, onDemandChanged?: () => void | Promise<void>): {
13
13
  board: {
14
14
  dayNote: (dayIdx: number) => import("../types").ScheduleDayNote | null;
15
- setDayNote: (dayIdx: number, title: string, desc: string) => void;
15
+ setDayNote: (dayIdx: number, title: string, desc: string, isPublicHoliday?: boolean) => void;
16
16
  clearDayNote: (dayIdx: number) => void;
17
17
  isStandingClosedWeekday: (dayIdx: number) => boolean;
18
18
  holidayName: (dayIdx: number) => string | null;
19
- holidayIsAuto: (dayIdx: number) => boolean;
20
19
  isPublicHoliday: (dayIdx: number) => boolean;
21
20
  holidayRateApplies: (dayIdx: number) => boolean;
22
- setHolidayNormal: (dayIdx: number, toNormal: boolean) => void;
23
21
  setPublicHoliday: (dayIdx: number, on: boolean) => void;
24
22
  otRateOn: (dayIdx: number) => number;
25
23
  regularRateOn: (dayIdx: number) => number;
26
24
  isHoliday: (dayIdx: number) => boolean;
27
25
  employees: import("vue").Ref<{
28
26
  id: number;
27
+ sourceId: string;
29
28
  name: string;
30
29
  employmentType: "FULLTIME" | "PARTTIME";
31
30
  role: string;
@@ -36,10 +35,12 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
36
35
  contractHours?: number | undefined;
37
36
  rate: number;
38
37
  positions: string[];
38
+ archivedPositions?: string[] | undefined;
39
39
  shifts: ({
40
40
  start: string;
41
41
  end: string;
42
42
  role: string;
43
+ positionId?: string | undefined;
43
44
  status: import("../types").ShiftStatus;
44
45
  clock?: {
45
46
  in: string | null;
@@ -61,6 +62,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
61
62
  breakPayType: "PAID" | "UNPAID";
62
63
  })[] | undefined;
63
64
  assignmentId?: string | undefined;
65
+ updatedAt?: string | undefined;
64
66
  splitGroupId?: string | undefined;
65
67
  } | {
66
68
  timeOff: "approved" | "pending";
@@ -87,6 +89,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
87
89
  start: string;
88
90
  end: string;
89
91
  role: string;
92
+ positionId?: string | undefined;
90
93
  status: import("../types").ShiftStatus;
91
94
  clock?: {
92
95
  in: string | null;
@@ -108,6 +111,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
108
111
  breakPayType: "PAID" | "UNPAID";
109
112
  })[] | undefined;
110
113
  assignmentId?: string | undefined;
114
+ updatedAt?: string | undefined;
111
115
  splitGroupId?: string | undefined;
112
116
  }[] | null)[];
113
117
  remarks: {
@@ -124,9 +128,16 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
124
128
  payBasis?: "hourly" | "monthly" | undefined;
125
129
  payAmount?: number | undefined;
126
130
  maxHours?: number | undefined;
127
- maxOtHours?: number | undefined;
128
131
  minHours?: number | undefined;
129
- otAfterDaily?: number | undefined;
132
+ minHoursPerDay?: number | undefined;
133
+ workingHours?: {
134
+ minHoursPerDay: number | null;
135
+ maxHoursPerDay: number | null;
136
+ maxHoursPerWeek: number | null;
137
+ } | undefined;
138
+ overtime?: {
139
+ maxHoursPerMonth: number | null;
140
+ } | undefined;
130
141
  preferences?: string[] | undefined;
131
142
  seniority?: "senior" | "junior" | "" | undefined;
132
143
  availDays?: boolean[] | undefined;
@@ -135,9 +146,11 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
135
146
  to: string;
136
147
  }[] | undefined;
137
148
  passcode?: string | undefined;
149
+ code?: string | undefined;
138
150
  masterUser?: boolean | undefined;
139
151
  }[], import("../types").Employee[] | {
140
152
  id: number;
153
+ sourceId: string;
141
154
  name: string;
142
155
  employmentType: "FULLTIME" | "PARTTIME";
143
156
  role: string;
@@ -148,10 +161,12 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
148
161
  contractHours?: number | undefined;
149
162
  rate: number;
150
163
  positions: string[];
164
+ archivedPositions?: string[] | undefined;
151
165
  shifts: ({
152
166
  start: string;
153
167
  end: string;
154
168
  role: string;
169
+ positionId?: string | undefined;
155
170
  status: import("../types").ShiftStatus;
156
171
  clock?: {
157
172
  in: string | null;
@@ -173,6 +188,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
173
188
  breakPayType: "PAID" | "UNPAID";
174
189
  })[] | undefined;
175
190
  assignmentId?: string | undefined;
191
+ updatedAt?: string | undefined;
176
192
  splitGroupId?: string | undefined;
177
193
  } | {
178
194
  timeOff: "approved" | "pending";
@@ -199,6 +215,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
199
215
  start: string;
200
216
  end: string;
201
217
  role: string;
218
+ positionId?: string | undefined;
202
219
  status: import("../types").ShiftStatus;
203
220
  clock?: {
204
221
  in: string | null;
@@ -220,6 +237,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
220
237
  breakPayType: "PAID" | "UNPAID";
221
238
  })[] | undefined;
222
239
  assignmentId?: string | undefined;
240
+ updatedAt?: string | undefined;
223
241
  splitGroupId?: string | undefined;
224
242
  }[] | null)[];
225
243
  remarks: {
@@ -236,9 +254,16 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
236
254
  payBasis?: "hourly" | "monthly" | undefined;
237
255
  payAmount?: number | undefined;
238
256
  maxHours?: number | undefined;
239
- maxOtHours?: number | undefined;
240
257
  minHours?: number | undefined;
241
- otAfterDaily?: number | undefined;
258
+ minHoursPerDay?: number | undefined;
259
+ workingHours?: {
260
+ minHoursPerDay: number | null;
261
+ maxHoursPerDay: number | null;
262
+ maxHoursPerWeek: number | null;
263
+ } | undefined;
264
+ overtime?: {
265
+ maxHoursPerMonth: number | null;
266
+ } | undefined;
242
267
  preferences?: string[] | undefined;
243
268
  seniority?: "senior" | "junior" | "" | undefined;
244
269
  availDays?: boolean[] | undefined;
@@ -247,6 +272,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
247
272
  to: string;
248
273
  }[] | undefined;
249
274
  passcode?: string | undefined;
275
+ code?: string | undefined;
250
276
  masterUser?: boolean | undefined;
251
277
  }[]>;
252
278
  sections: import("vue").Ref<{
@@ -285,7 +311,6 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
285
311
  end: string;
286
312
  breakMins?: number | undefined;
287
313
  }[]>;
288
- highlightEmpId: import("vue").Ref<number | null, number | null>;
289
314
  rangeStart: import("vue").Ref<Date, Date>;
290
315
  weekOffset: import("vue").ComputedRef<number>;
291
316
  peekWeek: (offset: number) => import("./schedule-week-cache").WeekBucket;
@@ -294,11 +319,13 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
294
319
  dayLocked: (dayIdx: number) => boolean;
295
320
  pendingChanges: import("vue").Ref<{
296
321
  empId: number;
322
+ employeeKey: string;
297
323
  dayIdx: number;
298
324
  kind: "add" | "change" | "remove";
299
325
  label: string;
300
326
  }[], import("../types").PendingChange[] | {
301
327
  empId: number;
328
+ employeeKey: string;
302
329
  dayIdx: number;
303
330
  kind: "add" | "change" | "remove";
304
331
  label: string;
@@ -308,7 +335,8 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
308
335
  empId: number;
309
336
  dayIdx: number;
310
337
  slot: import("../types").WorkSlot;
311
- }>) => Promise<void>;
338
+ }>) => Promise<boolean>;
339
+ flushAssignmentWrites: () => Promise<void>;
312
340
  recordChange: (empId: number, dayIdx: number, kind: import("../types").PendingChange["kind"], label: string) => void;
313
341
  scheduleVersions: import("vue").Ref<{
314
342
  v: number;
@@ -325,6 +353,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
325
353
  start: string;
326
354
  end: string;
327
355
  role: string;
356
+ positionId?: string | undefined;
328
357
  status: import("../types").ShiftStatus;
329
358
  clock?: {
330
359
  in: string | null;
@@ -346,6 +375,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
346
375
  breakPayType: "PAID" | "UNPAID";
347
376
  })[] | undefined;
348
377
  assignmentId?: string | undefined;
378
+ updatedAt?: string | undefined;
349
379
  splitGroupId?: string | undefined;
350
380
  } | {
351
381
  timeOff: "approved" | "pending";
@@ -372,6 +402,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
372
402
  start: string;
373
403
  end: string;
374
404
  role: string;
405
+ positionId?: string | undefined;
375
406
  status: import("../types").ShiftStatus;
376
407
  clock?: {
377
408
  in: string | null;
@@ -393,6 +424,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
393
424
  breakPayType: "PAID" | "UNPAID";
394
425
  })[] | undefined;
395
426
  assignmentId?: string | undefined;
427
+ updatedAt?: string | undefined;
396
428
  splitGroupId?: string | undefined;
397
429
  }[] | null)[];
398
430
  }[];
@@ -411,6 +443,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
411
443
  start: string;
412
444
  end: string;
413
445
  role: string;
446
+ positionId?: string | undefined;
414
447
  status: import("../types").ShiftStatus;
415
448
  clock?: {
416
449
  in: string | null;
@@ -432,6 +465,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
432
465
  breakPayType: "PAID" | "UNPAID";
433
466
  })[] | undefined;
434
467
  assignmentId?: string | undefined;
468
+ updatedAt?: string | undefined;
435
469
  splitGroupId?: string | undefined;
436
470
  } | {
437
471
  timeOff: "approved" | "pending";
@@ -458,6 +492,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
458
492
  start: string;
459
493
  end: string;
460
494
  role: string;
495
+ positionId?: string | undefined;
461
496
  status: import("../types").ShiftStatus;
462
497
  clock?: {
463
498
  in: string | null;
@@ -479,6 +514,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
479
514
  breakPayType: "PAID" | "UNPAID";
480
515
  })[] | undefined;
481
516
  assignmentId?: string | undefined;
517
+ updatedAt?: string | undefined;
482
518
  splitGroupId?: string | undefined;
483
519
  }[] | null)[];
484
520
  }[];
@@ -502,6 +538,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
502
538
  rangeLabel: import("vue").ComputedRef<string>;
503
539
  isToday: (dayIdx: number) => boolean;
504
540
  dateKey: (dayIdx: number) => string | null;
541
+ dateKeyAt: (offset: number, dayIdx: number) => string | null;
505
542
  navigate: (delta: number) => void;
506
543
  goToday: () => void;
507
544
  membersOf: (sectionId: string) => import("../types").Employee[];
@@ -512,6 +549,10 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
512
549
  commitShiftAt: (offset: number, empId: number, dayIdx: number, slot: import("../types").WorkSlot | import("../types").WorkSlot[], replaceIndex?: number, replaceCount?: number) => void;
513
550
  removeShift: (empId: number, dayIdx: number, slotIndex?: number, count?: number) => void;
514
551
  removeShiftAt: (offset: number, empId: number, dayIdx: number, slotIndex?: number, count?: number) => void;
552
+ employeeShiftsToClear: (empId: number) => number[];
553
+ clearEmployeeShifts: (empId: number) => {
554
+ shifts: number;
555
+ };
515
556
  moveShift: (fromEmpId: number, fromDayIdx: number, toEmpId: number, toDayIdx: number, fromSlotIndex?: number, fromSlotCount?: number) => boolean;
516
557
  swapShifts: (empIdA: number, empIdB: number, dayA: number, dayB?: number, slotIndexA?: number, slotIndexB?: number, slotCountA?: number) => boolean;
517
558
  clearShiftsInRange: () => {
@@ -548,7 +589,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
548
589
  pendingDeleteId: import("vue").Ref<string | null, string | null>;
549
590
  saving: import("vue").Ref<boolean, boolean>;
550
591
  error: import("vue").Ref<string | null, string | null>;
551
- usageCountFor: (name: string) => number;
592
+ usageCountFor: (positionId: string) => number;
552
593
  startAdd: () => void;
553
594
  cancelAdd: () => void;
554
595
  confirmAdd: () => Promise<void>;
@@ -558,7 +599,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
558
599
  };
559
600
  steps: ScheduleOnboardingStep[];
560
601
  isSkippable: import("vue").ComputedRef<boolean>;
561
- hours: import("vue").Reactive<ScheduleOnboardingDayHours[]>;
602
+ hours: import("vue").Reactive<import("./onboarding-types").ScheduleOnboardingDayHours[]>;
562
603
  hoursMatchProfile: import("vue").ComputedRef<boolean>;
563
604
  openDayCount: import("vue").ComputedRef<number>;
564
605
  resetHours: () => void;
@@ -566,7 +607,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
566
607
  addSession: (dayIdx: number) => void;
567
608
  removeSession: (dayIdx: number, sessionIdx: number) => void;
568
609
  setSessionTime: (dayIdx: number, sessionIdx: number, field: "from" | "to", value: string) => void;
569
- demand: import("vue").Reactive<ScheduleOnboardingRange[][]>;
610
+ demand: import("vue").Reactive<import("./onboarding-types").ScheduleOnboardingRange[][]>;
570
611
  dmDay: import("vue").Ref<number, number>;
571
612
  dayClosedConfirm: {
572
613
  state: {
@@ -593,20 +634,20 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
593
634
  dmPeak: (dayIdx: number) => number;
594
635
  daySpan: (dayIdx: number) => string;
595
636
  selectDay: (dayIdx: number) => void;
596
- setRangeTime: (j: number, field: "from" | "to", value: string) => void;
597
- setRangeCount: (j: number, value: string) => void;
637
+ setRangeTime: (index: number, field: "from" | "to", value: string) => void;
638
+ setRangeCount: (index: number, value: string) => void;
598
639
  addRange: () => void;
599
- removeRange: (j: number) => void;
600
- addRole: (j: number) => void;
601
- setRole: (j: number, k: number, field: "position" | "n", value: string) => void;
602
- removeRole: (j: number, k: number) => void;
603
- namedTotal: (r: ScheduleOnboardingRange) => number;
640
+ removeRange: (index: number) => void;
641
+ addRole: (index: number) => void;
642
+ setRole: (index: number, roleIndex: number, field: "position" | "n", value: string) => void;
643
+ removeRole: (index: number, roleIndex: number) => void;
644
+ namedTotal: (range: import("./onboarding-types").ScheduleOnboardingRange) => number;
604
645
  copyDay: (mode: "all" | "wk" | "we") => void;
605
646
  addPositionNamed: (name?: string) => void;
606
647
  removePosition: (id: string) => void;
607
648
  reviewRows: import("vue").ComputedRef<ReviewRow[]>;
608
649
  goTo: (target: ScheduleOnboardingStep) => void;
609
- avail: Record<number, AvailRow>;
650
+ avail: Record<number, import("./onboarding-types").AvailRow>;
610
651
  avTab: import("vue").Ref<"full" | "part", "full" | "part">;
611
652
  avPicked: Record<number, boolean>;
612
653
  avBulkOpen: import("vue").Ref<boolean, boolean>;
@@ -618,240 +659,40 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
618
659
  };
619
660
  avBulkReady: import("vue").ComputedRef<boolean>;
620
661
  avFulls: import("vue").ComputedRef<{
621
- emp: {
622
- id: number;
623
- name: string;
624
- employmentType: "FULLTIME" | "PARTTIME";
625
- role: string;
626
- initials: string;
627
- color: string;
628
- weekHours: number;
629
- pct: number;
630
- contractHours?: number | undefined;
631
- rate: number;
632
- positions: string[];
633
- shifts: ({
634
- start: string;
635
- end: string;
636
- role: string;
637
- status: import("../types").ShiftStatus;
638
- clock?: {
639
- in: string | null;
640
- out: string | null;
641
- status: "on-time" | "late" | "early-out" | "absent";
642
- } | undefined;
643
- conflict?: boolean | undefined;
644
- conflictReason?: string | undefined;
645
- openId?: number | undefined;
646
- breakMins?: number | undefined;
647
- breaks?: ({
648
- type: "DURATION";
649
- minutes: number;
650
- breakPayType: "PAID" | "UNPAID";
651
- } | {
652
- type: "TIME_RANGE";
653
- startTime: string;
654
- endTime: string;
655
- breakPayType: "PAID" | "UNPAID";
656
- })[] | undefined;
657
- assignmentId?: string | undefined;
658
- splitGroupId?: string | undefined;
659
- } | {
660
- timeOff: "approved" | "pending";
661
- requestId?: string | undefined;
662
- type?: "OFF_DAY" | "LEAVE" | undefined;
663
- leaveType?: "ANNUAL" | "MEDICAL" | "EMERGENCY" | "UNPAID" | undefined;
664
- reason: string;
665
- half?: boolean | undefined;
666
- halfPart?: "AM" | "PM" | undefined;
667
- from?: string | undefined;
668
- to?: string | undefined;
669
- appliedOn?: string | undefined;
670
- note?: string | undefined;
671
- cert?: {
672
- name: string;
673
- size: string;
674
- } | null | undefined;
675
- bal?: {
676
- type: string;
677
- entitled: number;
678
- used: number;
679
- } | undefined;
680
- } | {
681
- start: string;
682
- end: string;
683
- role: string;
684
- status: import("../types").ShiftStatus;
685
- clock?: {
686
- in: string | null;
687
- out: string | null;
688
- status: "on-time" | "late" | "early-out" | "absent";
689
- } | undefined;
690
- conflict?: boolean | undefined;
691
- conflictReason?: string | undefined;
692
- openId?: number | undefined;
693
- breakMins?: number | undefined;
694
- breaks?: ({
695
- type: "DURATION";
696
- minutes: number;
697
- breakPayType: "PAID" | "UNPAID";
698
- } | {
699
- type: "TIME_RANGE";
700
- startTime: string;
701
- endTime: string;
702
- breakPayType: "PAID" | "UNPAID";
703
- })[] | undefined;
704
- assignmentId?: string | undefined;
705
- splitGroupId?: string | undefined;
706
- }[] | null)[];
707
- remarks: {
708
- author: string;
709
- date: string;
710
- type: "note" | "warning" | "praise";
711
- text: string;
712
- }[];
713
- section: string;
714
- compGroup?: string | undefined;
715
- mobile?: string | undefined;
716
- dial?: string | undefined;
717
- locations?: string[] | undefined;
718
- payBasis?: "hourly" | "monthly" | undefined;
719
- payAmount?: number | undefined;
720
- maxHours?: number | undefined;
721
- maxOtHours?: number | undefined;
722
- minHours?: number | undefined;
723
- otAfterDaily?: number | undefined;
724
- preferences?: string[] | undefined;
725
- seniority?: "senior" | "junior" | "" | undefined;
726
- availDays?: boolean[] | undefined;
727
- availHours?: {
728
- from: string;
729
- to: string;
730
- }[] | undefined;
731
- passcode?: string | undefined;
732
- masterUser?: boolean | undefined;
733
- };
734
- row: TeamRow;
662
+ emp: import("../types").Employee;
663
+ row: import("./onboarding-types").TeamRow;
735
664
  }[]>;
736
665
  avParts: import("vue").ComputedRef<{
737
- emp: {
738
- id: number;
739
- name: string;
740
- employmentType: "FULLTIME" | "PARTTIME";
741
- role: string;
742
- initials: string;
743
- color: string;
744
- weekHours: number;
745
- pct: number;
746
- contractHours?: number | undefined;
747
- rate: number;
748
- positions: string[];
749
- shifts: ({
750
- start: string;
751
- end: string;
752
- role: string;
753
- status: import("../types").ShiftStatus;
754
- clock?: {
755
- in: string | null;
756
- out: string | null;
757
- status: "on-time" | "late" | "early-out" | "absent";
758
- } | undefined;
759
- conflict?: boolean | undefined;
760
- conflictReason?: string | undefined;
761
- openId?: number | undefined;
762
- breakMins?: number | undefined;
763
- breaks?: ({
764
- type: "DURATION";
765
- minutes: number;
766
- breakPayType: "PAID" | "UNPAID";
767
- } | {
768
- type: "TIME_RANGE";
769
- startTime: string;
770
- endTime: string;
771
- breakPayType: "PAID" | "UNPAID";
772
- })[] | undefined;
773
- assignmentId?: string | undefined;
774
- splitGroupId?: string | undefined;
775
- } | {
776
- timeOff: "approved" | "pending";
777
- requestId?: string | undefined;
778
- type?: "OFF_DAY" | "LEAVE" | undefined;
779
- leaveType?: "ANNUAL" | "MEDICAL" | "EMERGENCY" | "UNPAID" | undefined;
780
- reason: string;
781
- half?: boolean | undefined;
782
- halfPart?: "AM" | "PM" | undefined;
783
- from?: string | undefined;
784
- to?: string | undefined;
785
- appliedOn?: string | undefined;
786
- note?: string | undefined;
787
- cert?: {
788
- name: string;
789
- size: string;
790
- } | null | undefined;
791
- bal?: {
792
- type: string;
793
- entitled: number;
794
- used: number;
795
- } | undefined;
796
- } | {
797
- start: string;
798
- end: string;
799
- role: string;
800
- status: import("../types").ShiftStatus;
801
- clock?: {
802
- in: string | null;
803
- out: string | null;
804
- status: "on-time" | "late" | "early-out" | "absent";
805
- } | undefined;
806
- conflict?: boolean | undefined;
807
- conflictReason?: string | undefined;
808
- openId?: number | undefined;
809
- breakMins?: number | undefined;
810
- breaks?: ({
811
- type: "DURATION";
812
- minutes: number;
813
- breakPayType: "PAID" | "UNPAID";
814
- } | {
815
- type: "TIME_RANGE";
816
- startTime: string;
817
- endTime: string;
818
- breakPayType: "PAID" | "UNPAID";
819
- })[] | undefined;
820
- assignmentId?: string | undefined;
821
- splitGroupId?: string | undefined;
822
- }[] | null)[];
823
- remarks: {
824
- author: string;
825
- date: string;
826
- type: "note" | "warning" | "praise";
827
- text: string;
828
- }[];
829
- section: string;
830
- compGroup?: string | undefined;
831
- mobile?: string | undefined;
832
- dial?: string | undefined;
833
- locations?: string[] | undefined;
834
- payBasis?: "hourly" | "monthly" | undefined;
835
- payAmount?: number | undefined;
836
- maxHours?: number | undefined;
837
- maxOtHours?: number | undefined;
838
- minHours?: number | undefined;
839
- otAfterDaily?: number | undefined;
840
- preferences?: string[] | undefined;
841
- seniority?: "senior" | "junior" | "" | undefined;
842
- availDays?: boolean[] | undefined;
843
- availHours?: {
844
- from: string;
845
- to: string;
846
- }[] | undefined;
847
- passcode?: string | undefined;
848
- masterUser?: boolean | undefined;
849
- };
850
- row: TeamRow;
666
+ emp: import("../types").Employee;
667
+ row: import("./onboarding-types").TeamRow;
851
668
  }[]>;
852
669
  avGroup: import("vue").ComputedRef<{
670
+ emp: import("../types").Employee;
671
+ row: import("./onboarding-types").TeamRow;
672
+ }[]>;
673
+ avSelected: import("vue").ComputedRef<{
674
+ emp: import("../types").Employee;
675
+ row: import("./onboarding-types").TeamRow;
676
+ }[]>;
677
+ avFullDone: import("vue").ComputedRef<number>;
678
+ avPartDone: import("vue").ComputedRef<number>;
679
+ avOffCount: (dayIdx: number) => number | null;
680
+ avFullSub: (empId: number) => string;
681
+ avPartSummary: (empId: number) => string;
682
+ avShowsByDay: (empId: number) => boolean;
683
+ canDays: (empId: number) => number[];
684
+ avPickAll: (checked: boolean) => void;
685
+ toggleOff: (empId: number, dayIdx: number) => void;
686
+ toggleCan: (empId: number, dayIdx: number) => void;
687
+ setAvailTime: (empId: number, dayIdx: number | null, field: "from" | "to", value: string) => void;
688
+ toggleVary: (empId: number) => void;
689
+ bulkDay: (which: "off" | "on", dayIdx: number) => void;
690
+ applyAvBulk: () => void;
691
+ skip: () => void;
692
+ teamRows: import("vue").ComputedRef<{
853
693
  emp: {
854
694
  id: number;
695
+ sourceId: string;
855
696
  name: string;
856
697
  employmentType: "FULLTIME" | "PARTTIME";
857
698
  role: string;
@@ -862,10 +703,12 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
862
703
  contractHours?: number | undefined;
863
704
  rate: number;
864
705
  positions: string[];
706
+ archivedPositions?: string[] | undefined;
865
707
  shifts: ({
866
708
  start: string;
867
709
  end: string;
868
710
  role: string;
711
+ positionId?: string | undefined;
869
712
  status: import("../types").ShiftStatus;
870
713
  clock?: {
871
714
  in: string | null;
@@ -887,6 +730,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
887
730
  breakPayType: "PAID" | "UNPAID";
888
731
  })[] | undefined;
889
732
  assignmentId?: string | undefined;
733
+ updatedAt?: string | undefined;
890
734
  splitGroupId?: string | undefined;
891
735
  } | {
892
736
  timeOff: "approved" | "pending";
@@ -913,6 +757,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
913
757
  start: string;
914
758
  end: string;
915
759
  role: string;
760
+ positionId?: string | undefined;
916
761
  status: import("../types").ShiftStatus;
917
762
  clock?: {
918
763
  in: string | null;
@@ -934,6 +779,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
934
779
  breakPayType: "PAID" | "UNPAID";
935
780
  })[] | undefined;
936
781
  assignmentId?: string | undefined;
782
+ updatedAt?: string | undefined;
937
783
  splitGroupId?: string | undefined;
938
784
  }[] | null)[];
939
785
  remarks: {
@@ -950,9 +796,16 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
950
796
  payBasis?: "hourly" | "monthly" | undefined;
951
797
  payAmount?: number | undefined;
952
798
  maxHours?: number | undefined;
953
- maxOtHours?: number | undefined;
954
799
  minHours?: number | undefined;
955
- otAfterDaily?: number | undefined;
800
+ minHoursPerDay?: number | undefined;
801
+ workingHours?: {
802
+ minHoursPerDay: number | null;
803
+ maxHoursPerDay: number | null;
804
+ maxHoursPerWeek: number | null;
805
+ } | undefined;
806
+ overtime?: {
807
+ maxHoursPerMonth: number | null;
808
+ } | undefined;
956
809
  preferences?: string[] | undefined;
957
810
  seniority?: "senior" | "junior" | "" | undefined;
958
811
  availDays?: boolean[] | undefined;
@@ -961,274 +814,28 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
961
814
  to: string;
962
815
  }[] | undefined;
963
816
  passcode?: string | undefined;
817
+ code?: string | undefined;
964
818
  masterUser?: boolean | undefined;
965
819
  };
966
- row: TeamRow;
967
- }[]>;
968
- avSelected: import("vue").ComputedRef<{
969
- emp: {
970
- id: number;
971
- name: string;
972
- employmentType: "FULLTIME" | "PARTTIME";
973
- role: string;
974
- initials: string;
975
- color: string;
976
- weekHours: number;
977
- pct: number;
978
- contractHours?: number | undefined;
979
- rate: number;
980
- positions: string[];
981
- shifts: ({
982
- start: string;
983
- end: string;
984
- role: string;
985
- status: import("../types").ShiftStatus;
986
- clock?: {
987
- in: string | null;
988
- out: string | null;
989
- status: "on-time" | "late" | "early-out" | "absent";
990
- } | undefined;
991
- conflict?: boolean | undefined;
992
- conflictReason?: string | undefined;
993
- openId?: number | undefined;
994
- breakMins?: number | undefined;
995
- breaks?: ({
996
- type: "DURATION";
997
- minutes: number;
998
- breakPayType: "PAID" | "UNPAID";
999
- } | {
1000
- type: "TIME_RANGE";
1001
- startTime: string;
1002
- endTime: string;
1003
- breakPayType: "PAID" | "UNPAID";
1004
- })[] | undefined;
1005
- assignmentId?: string | undefined;
1006
- splitGroupId?: string | undefined;
1007
- } | {
1008
- timeOff: "approved" | "pending";
1009
- requestId?: string | undefined;
1010
- type?: "OFF_DAY" | "LEAVE" | undefined;
1011
- leaveType?: "ANNUAL" | "MEDICAL" | "EMERGENCY" | "UNPAID" | undefined;
1012
- reason: string;
1013
- half?: boolean | undefined;
1014
- halfPart?: "AM" | "PM" | undefined;
1015
- from?: string | undefined;
1016
- to?: string | undefined;
1017
- appliedOn?: string | undefined;
1018
- note?: string | undefined;
1019
- cert?: {
1020
- name: string;
1021
- size: string;
1022
- } | null | undefined;
1023
- bal?: {
1024
- type: string;
1025
- entitled: number;
1026
- used: number;
1027
- } | undefined;
1028
- } | {
1029
- start: string;
1030
- end: string;
1031
- role: string;
1032
- status: import("../types").ShiftStatus;
1033
- clock?: {
1034
- in: string | null;
1035
- out: string | null;
1036
- status: "on-time" | "late" | "early-out" | "absent";
1037
- } | undefined;
1038
- conflict?: boolean | undefined;
1039
- conflictReason?: string | undefined;
1040
- openId?: number | undefined;
1041
- breakMins?: number | undefined;
1042
- breaks?: ({
1043
- type: "DURATION";
1044
- minutes: number;
1045
- breakPayType: "PAID" | "UNPAID";
1046
- } | {
1047
- type: "TIME_RANGE";
1048
- startTime: string;
1049
- endTime: string;
1050
- breakPayType: "PAID" | "UNPAID";
1051
- })[] | undefined;
1052
- assignmentId?: string | undefined;
1053
- splitGroupId?: string | undefined;
1054
- }[] | null)[];
1055
- remarks: {
1056
- author: string;
1057
- date: string;
1058
- type: "note" | "warning" | "praise";
1059
- text: string;
1060
- }[];
1061
- section: string;
1062
- compGroup?: string | undefined;
1063
- mobile?: string | undefined;
1064
- dial?: string | undefined;
1065
- locations?: string[] | undefined;
1066
- payBasis?: "hourly" | "monthly" | undefined;
1067
- payAmount?: number | undefined;
1068
- maxHours?: number | undefined;
1069
- maxOtHours?: number | undefined;
1070
- minHours?: number | undefined;
1071
- otAfterDaily?: number | undefined;
1072
- preferences?: string[] | undefined;
1073
- seniority?: "senior" | "junior" | "" | undefined;
1074
- availDays?: boolean[] | undefined;
1075
- availHours?: {
1076
- from: string;
1077
- to: string;
1078
- }[] | undefined;
1079
- passcode?: string | undefined;
1080
- masterUser?: boolean | undefined;
1081
- };
1082
- row: TeamRow;
1083
- }[]>;
1084
- avFullDone: import("vue").ComputedRef<number>;
1085
- avPartDone: import("vue").ComputedRef<number>;
1086
- avOffCount: (dayIdx: number) => number | null;
1087
- avFullSub: (empId: number) => string;
1088
- avPartSummary: (empId: number) => string;
1089
- avShowsByDay: (empId: number) => boolean;
1090
- canDays: (empId: number) => number[];
1091
- avPickAll: (checked: boolean) => void;
1092
- toggleOff: (empId: number, dayIdx: number) => void;
1093
- toggleCan: (empId: number, dayIdx: number) => void;
1094
- setAvailTime: (empId: number, dayIdx: number | null, field: "from" | "to", v: string) => void;
1095
- toggleVary: (empId: number) => void;
1096
- bulkDay: (which: "off" | "on", dayIdx: number) => void;
1097
- applyAvBulk: () => void;
1098
- skip: () => void;
1099
- teamRows: import("vue").ComputedRef<{
1100
- emp: {
1101
- id: number;
1102
- name: string;
1103
- employmentType: "FULLTIME" | "PARTTIME";
1104
- role: string;
1105
- initials: string;
1106
- color: string;
1107
- weekHours: number;
1108
- pct: number;
1109
- contractHours?: number | undefined;
1110
- rate: number;
1111
- positions: string[];
1112
- shifts: ({
1113
- start: string;
1114
- end: string;
1115
- role: string;
1116
- status: import("../types").ShiftStatus;
1117
- clock?: {
1118
- in: string | null;
1119
- out: string | null;
1120
- status: "on-time" | "late" | "early-out" | "absent";
1121
- } | undefined;
1122
- conflict?: boolean | undefined;
1123
- conflictReason?: string | undefined;
1124
- openId?: number | undefined;
1125
- breakMins?: number | undefined;
1126
- breaks?: ({
1127
- type: "DURATION";
1128
- minutes: number;
1129
- breakPayType: "PAID" | "UNPAID";
1130
- } | {
1131
- type: "TIME_RANGE";
1132
- startTime: string;
1133
- endTime: string;
1134
- breakPayType: "PAID" | "UNPAID";
1135
- })[] | undefined;
1136
- assignmentId?: string | undefined;
1137
- splitGroupId?: string | undefined;
1138
- } | {
1139
- timeOff: "approved" | "pending";
1140
- requestId?: string | undefined;
1141
- type?: "OFF_DAY" | "LEAVE" | undefined;
1142
- leaveType?: "ANNUAL" | "MEDICAL" | "EMERGENCY" | "UNPAID" | undefined;
1143
- reason: string;
1144
- half?: boolean | undefined;
1145
- halfPart?: "AM" | "PM" | undefined;
1146
- from?: string | undefined;
1147
- to?: string | undefined;
1148
- appliedOn?: string | undefined;
1149
- note?: string | undefined;
1150
- cert?: {
1151
- name: string;
1152
- size: string;
1153
- } | null | undefined;
1154
- bal?: {
1155
- type: string;
1156
- entitled: number;
1157
- used: number;
1158
- } | undefined;
1159
- } | {
1160
- start: string;
1161
- end: string;
1162
- role: string;
1163
- status: import("../types").ShiftStatus;
1164
- clock?: {
1165
- in: string | null;
1166
- out: string | null;
1167
- status: "on-time" | "late" | "early-out" | "absent";
1168
- } | undefined;
1169
- conflict?: boolean | undefined;
1170
- conflictReason?: string | undefined;
1171
- openId?: number | undefined;
1172
- breakMins?: number | undefined;
1173
- breaks?: ({
1174
- type: "DURATION";
1175
- minutes: number;
1176
- breakPayType: "PAID" | "UNPAID";
1177
- } | {
1178
- type: "TIME_RANGE";
1179
- startTime: string;
1180
- endTime: string;
1181
- breakPayType: "PAID" | "UNPAID";
1182
- })[] | undefined;
1183
- assignmentId?: string | undefined;
1184
- splitGroupId?: string | undefined;
1185
- }[] | null)[];
1186
- remarks: {
1187
- author: string;
1188
- date: string;
1189
- type: "note" | "warning" | "praise";
1190
- text: string;
1191
- }[];
1192
- section: string;
1193
- compGroup?: string | undefined;
1194
- mobile?: string | undefined;
1195
- dial?: string | undefined;
1196
- locations?: string[] | undefined;
1197
- payBasis?: "hourly" | "monthly" | undefined;
1198
- payAmount?: number | undefined;
1199
- maxHours?: number | undefined;
1200
- maxOtHours?: number | undefined;
1201
- minHours?: number | undefined;
1202
- otAfterDaily?: number | undefined;
1203
- preferences?: string[] | undefined;
1204
- seniority?: "senior" | "junior" | "" | undefined;
1205
- availDays?: boolean[] | undefined;
1206
- availHours?: {
1207
- from: string;
1208
- to: string;
1209
- }[] | undefined;
1210
- passcode?: string | undefined;
1211
- masterUser?: boolean | undefined;
1212
- };
1213
- row: TeamRow;
820
+ row: import("./onboarding-types").TeamRow;
1214
821
  }[]>;
1215
822
  teamPicked: import("vue").ComputedRef<number>;
1216
823
  teamAllPicked: import("vue").ComputedRef<boolean>;
1217
824
  teamSomePicked: import("vue").ComputedRef<boolean>;
1218
825
  pickAll: (checked: boolean) => void;
1219
826
  setPosition: (empId: number, value: string) => void;
1220
- setEmployment: (empId: number, kind: TeamEmployment) => void;
1221
- setHours: (empId: number, v: string) => void;
1222
- setRate: (empId: number, v: string) => void;
827
+ setEmployment: (empId: number, kind: import("./onboarding-types").TeamEmployment) => void;
828
+ setHours: (empId: number, value: string) => void;
829
+ setRate: (empId: number, value: string) => void;
1223
830
  bulkOpen: import("vue").Ref<boolean, boolean>;
1224
831
  bulk: {
1225
832
  scope: "all" | "full" | "part" | "nopos" | "nopay";
1226
833
  position: string;
1227
834
  second: string;
1228
- employment: "" | TeamEmployment;
835
+ employment: "" | import("./onboarding-types").TeamEmployment;
1229
836
  maxHours: string;
1230
837
  rate: string;
1231
- basis: "" | TeamBasis;
838
+ basis: "" | import("./onboarding-types").TeamBasis;
1232
839
  };
1233
840
  bulkCount: import("vue").ComputedRef<number>;
1234
841
  applyBulk: () => void;
@@ -1237,6 +844,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1237
844
  ANY_POSITION_KEY: string;
1238
845
  holdersOf: (key: string) => {
1239
846
  id: number;
847
+ sourceId: string;
1240
848
  name: string;
1241
849
  employmentType: "FULLTIME" | "PARTTIME";
1242
850
  role: string;
@@ -1247,10 +855,12 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1247
855
  contractHours?: number | undefined;
1248
856
  rate: number;
1249
857
  positions: string[];
858
+ archivedPositions?: string[] | undefined;
1250
859
  shifts: ({
1251
860
  start: string;
1252
861
  end: string;
1253
862
  role: string;
863
+ positionId?: string | undefined;
1254
864
  status: import("../types").ShiftStatus;
1255
865
  clock?: {
1256
866
  in: string | null;
@@ -1272,6 +882,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1272
882
  breakPayType: "PAID" | "UNPAID";
1273
883
  })[] | undefined;
1274
884
  assignmentId?: string | undefined;
885
+ updatedAt?: string | undefined;
1275
886
  splitGroupId?: string | undefined;
1276
887
  } | {
1277
888
  timeOff: "approved" | "pending";
@@ -1298,6 +909,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1298
909
  start: string;
1299
910
  end: string;
1300
911
  role: string;
912
+ positionId?: string | undefined;
1301
913
  status: import("../types").ShiftStatus;
1302
914
  clock?: {
1303
915
  in: string | null;
@@ -1319,6 +931,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1319
931
  breakPayType: "PAID" | "UNPAID";
1320
932
  })[] | undefined;
1321
933
  assignmentId?: string | undefined;
934
+ updatedAt?: string | undefined;
1322
935
  splitGroupId?: string | undefined;
1323
936
  }[] | null)[];
1324
937
  remarks: {
@@ -1335,9 +948,16 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1335
948
  payBasis?: "hourly" | "monthly" | undefined;
1336
949
  payAmount?: number | undefined;
1337
950
  maxHours?: number | undefined;
1338
- maxOtHours?: number | undefined;
1339
951
  minHours?: number | undefined;
1340
- otAfterDaily?: number | undefined;
952
+ minHoursPerDay?: number | undefined;
953
+ workingHours?: {
954
+ minHoursPerDay: number | null;
955
+ maxHoursPerDay: number | null;
956
+ maxHoursPerWeek: number | null;
957
+ } | undefined;
958
+ overtime?: {
959
+ maxHoursPerMonth: number | null;
960
+ } | undefined;
1341
961
  preferences?: string[] | undefined;
1342
962
  seniority?: "senior" | "junior" | "" | undefined;
1343
963
  availDays?: boolean[] | undefined;
@@ -1346,10 +966,12 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1346
966
  to: string;
1347
967
  }[] | undefined;
1348
968
  passcode?: string | undefined;
969
+ code?: string | undefined;
1349
970
  masterUser?: boolean | undefined;
1350
971
  }[];
1351
972
  candidatesFor: (key: string) => {
1352
973
  id: number;
974
+ sourceId: string;
1353
975
  name: string;
1354
976
  employmentType: "FULLTIME" | "PARTTIME";
1355
977
  role: string;
@@ -1360,10 +982,12 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1360
982
  contractHours?: number | undefined;
1361
983
  rate: number;
1362
984
  positions: string[];
985
+ archivedPositions?: string[] | undefined;
1363
986
  shifts: ({
1364
987
  start: string;
1365
988
  end: string;
1366
989
  role: string;
990
+ positionId?: string | undefined;
1367
991
  status: import("../types").ShiftStatus;
1368
992
  clock?: {
1369
993
  in: string | null;
@@ -1385,6 +1009,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1385
1009
  breakPayType: "PAID" | "UNPAID";
1386
1010
  })[] | undefined;
1387
1011
  assignmentId?: string | undefined;
1012
+ updatedAt?: string | undefined;
1388
1013
  splitGroupId?: string | undefined;
1389
1014
  } | {
1390
1015
  timeOff: "approved" | "pending";
@@ -1411,6 +1036,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1411
1036
  start: string;
1412
1037
  end: string;
1413
1038
  role: string;
1039
+ positionId?: string | undefined;
1414
1040
  status: import("../types").ShiftStatus;
1415
1041
  clock?: {
1416
1042
  in: string | null;
@@ -1432,6 +1058,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1432
1058
  breakPayType: "PAID" | "UNPAID";
1433
1059
  })[] | undefined;
1434
1060
  assignmentId?: string | undefined;
1061
+ updatedAt?: string | undefined;
1435
1062
  splitGroupId?: string | undefined;
1436
1063
  }[] | null)[];
1437
1064
  remarks: {
@@ -1448,9 +1075,16 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1448
1075
  payBasis?: "hourly" | "monthly" | undefined;
1449
1076
  payAmount?: number | undefined;
1450
1077
  maxHours?: number | undefined;
1451
- maxOtHours?: number | undefined;
1452
1078
  minHours?: number | undefined;
1453
- otAfterDaily?: number | undefined;
1079
+ minHoursPerDay?: number | undefined;
1080
+ workingHours?: {
1081
+ minHoursPerDay: number | null;
1082
+ maxHoursPerDay: number | null;
1083
+ maxHoursPerWeek: number | null;
1084
+ } | undefined;
1085
+ overtime?: {
1086
+ maxHoursPerMonth: number | null;
1087
+ } | undefined;
1454
1088
  preferences?: string[] | undefined;
1455
1089
  seniority?: "senior" | "junior" | "" | undefined;
1456
1090
  availDays?: boolean[] | undefined;
@@ -1459,10 +1093,147 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1459
1093
  to: string;
1460
1094
  }[] | undefined;
1461
1095
  passcode?: string | undefined;
1096
+ code?: string | undefined;
1462
1097
  masterUser?: boolean | undefined;
1463
1098
  }[];
1464
1099
  posPicker: import("vue").Ref<string | null, string | null>;
1465
- togglePicker: (key: string) => void;
1100
+ posPickerLabel: import("vue").Ref<string, string>;
1101
+ posPickQuery: import("vue").Ref<string, string>;
1102
+ posPickSelected: import("vue").Ref<Set<number> & Omit<Set<number>, keyof Set<any>>, Set<number> | (Set<number> & Omit<Set<number>, keyof Set<any>>)>;
1103
+ pickerCandidates: import("vue").ComputedRef<{
1104
+ id: number;
1105
+ sourceId: string;
1106
+ name: string;
1107
+ employmentType: "FULLTIME" | "PARTTIME";
1108
+ role: string;
1109
+ initials: string;
1110
+ color: string;
1111
+ weekHours: number;
1112
+ pct: number;
1113
+ contractHours?: number | undefined;
1114
+ rate: number;
1115
+ positions: string[];
1116
+ archivedPositions?: string[] | undefined;
1117
+ shifts: ({
1118
+ start: string;
1119
+ end: string;
1120
+ role: string;
1121
+ positionId?: string | undefined;
1122
+ status: import("../types").ShiftStatus;
1123
+ clock?: {
1124
+ in: string | null;
1125
+ out: string | null;
1126
+ status: "on-time" | "late" | "early-out" | "absent";
1127
+ } | undefined;
1128
+ conflict?: boolean | undefined;
1129
+ conflictReason?: string | undefined;
1130
+ openId?: number | undefined;
1131
+ breakMins?: number | undefined;
1132
+ breaks?: ({
1133
+ type: "DURATION";
1134
+ minutes: number;
1135
+ breakPayType: "PAID" | "UNPAID";
1136
+ } | {
1137
+ type: "TIME_RANGE";
1138
+ startTime: string;
1139
+ endTime: string;
1140
+ breakPayType: "PAID" | "UNPAID";
1141
+ })[] | undefined;
1142
+ assignmentId?: string | undefined;
1143
+ updatedAt?: string | undefined;
1144
+ splitGroupId?: string | undefined;
1145
+ } | {
1146
+ timeOff: "approved" | "pending";
1147
+ requestId?: string | undefined;
1148
+ type?: "OFF_DAY" | "LEAVE" | undefined;
1149
+ leaveType?: "ANNUAL" | "MEDICAL" | "EMERGENCY" | "UNPAID" | undefined;
1150
+ reason: string;
1151
+ half?: boolean | undefined;
1152
+ halfPart?: "AM" | "PM" | undefined;
1153
+ from?: string | undefined;
1154
+ to?: string | undefined;
1155
+ appliedOn?: string | undefined;
1156
+ note?: string | undefined;
1157
+ cert?: {
1158
+ name: string;
1159
+ size: string;
1160
+ } | null | undefined;
1161
+ bal?: {
1162
+ type: string;
1163
+ entitled: number;
1164
+ used: number;
1165
+ } | undefined;
1166
+ } | {
1167
+ start: string;
1168
+ end: string;
1169
+ role: string;
1170
+ positionId?: string | undefined;
1171
+ status: import("../types").ShiftStatus;
1172
+ clock?: {
1173
+ in: string | null;
1174
+ out: string | null;
1175
+ status: "on-time" | "late" | "early-out" | "absent";
1176
+ } | undefined;
1177
+ conflict?: boolean | undefined;
1178
+ conflictReason?: string | undefined;
1179
+ openId?: number | undefined;
1180
+ breakMins?: number | undefined;
1181
+ breaks?: ({
1182
+ type: "DURATION";
1183
+ minutes: number;
1184
+ breakPayType: "PAID" | "UNPAID";
1185
+ } | {
1186
+ type: "TIME_RANGE";
1187
+ startTime: string;
1188
+ endTime: string;
1189
+ breakPayType: "PAID" | "UNPAID";
1190
+ })[] | undefined;
1191
+ assignmentId?: string | undefined;
1192
+ updatedAt?: string | undefined;
1193
+ splitGroupId?: string | undefined;
1194
+ }[] | null)[];
1195
+ remarks: {
1196
+ author: string;
1197
+ date: string;
1198
+ type: "note" | "warning" | "praise";
1199
+ text: string;
1200
+ }[];
1201
+ section: string;
1202
+ compGroup?: string | undefined;
1203
+ mobile?: string | undefined;
1204
+ dial?: string | undefined;
1205
+ locations?: string[] | undefined;
1206
+ payBasis?: "hourly" | "monthly" | undefined;
1207
+ payAmount?: number | undefined;
1208
+ maxHours?: number | undefined;
1209
+ minHours?: number | undefined;
1210
+ minHoursPerDay?: number | undefined;
1211
+ workingHours?: {
1212
+ minHoursPerDay: number | null;
1213
+ maxHoursPerDay: number | null;
1214
+ maxHoursPerWeek: number | null;
1215
+ } | undefined;
1216
+ overtime?: {
1217
+ maxHoursPerMonth: number | null;
1218
+ } | undefined;
1219
+ preferences?: string[] | undefined;
1220
+ seniority?: "senior" | "junior" | "" | undefined;
1221
+ availDays?: boolean[] | undefined;
1222
+ availHours?: {
1223
+ from: string;
1224
+ to: string;
1225
+ }[] | undefined;
1226
+ passcode?: string | undefined;
1227
+ code?: string | undefined;
1228
+ masterUser?: boolean | undefined;
1229
+ }[]>;
1230
+ pickerAllChecked: import("vue").ComputedRef<boolean>;
1231
+ pickerSomeChecked: import("vue").ComputedRef<boolean>;
1232
+ openPositionPicker: (key: string, label: string) => void;
1233
+ closePositionPicker: () => void;
1234
+ pickerToggleOne: (empId: number, checked: boolean) => void;
1235
+ pickerToggleAll: (checked: boolean) => void;
1236
+ applyPositionPicker: () => Promise<void>;
1466
1237
  assignTo: (empId: number, key: string) => Promise<void>;
1467
1238
  unassign: (empId: number, key: string) => Promise<void>;
1468
1239
  employeeCount: import("vue").ComputedRef<number>;
@@ -1480,10 +1251,11 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1480
1251
  payBasis: "hourly" | "monthly";
1481
1252
  payAmount: string;
1482
1253
  maxHours: string;
1254
+ maxHoursPerDay: string;
1483
1255
  minHours: string;
1484
- otEnabled: boolean;
1485
- otAfterDaily: string;
1486
- maxOtHours: string;
1256
+ workingHoursEnabled: boolean;
1257
+ overtimeEnabled: boolean;
1258
+ maxHoursPerMonth: string;
1487
1259
  availDays: boolean[];
1488
1260
  availHours: {
1489
1261
  from: string;
@@ -1497,7 +1269,10 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1497
1269
  masterUser: boolean;
1498
1270
  masterCode: string;
1499
1271
  posAccessEnabled: boolean;
1500
- posRoleId: string;
1272
+ posRoles: {
1273
+ outlet: string;
1274
+ roleId: string;
1275
+ }[];
1501
1276
  };
1502
1277
  sectionId: import("vue").Ref<string, string>;
1503
1278
  isEditing: import("vue").ComputedRef<boolean>;
@@ -1506,12 +1281,14 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1506
1281
  secOpen: import("vue").Ref<boolean, boolean>;
1507
1282
  secondaryOptions: import("vue").ComputedRef<string[]>;
1508
1283
  isPart: import("vue").ComputedRef<boolean>;
1509
- dayLit: (i: number) => boolean;
1284
+ dayLit: (index: number) => boolean;
1510
1285
  avLabel: import("vue").ComputedRef<"Weekly availability" | "Time off days">;
1511
1286
  avAllLabel: import("vue").ComputedRef<"Clear all" | "Select all" | "No days off" | "Every day off">;
1512
- maxHoursPlaceholder: import("vue").ComputedRef<"Hours per week" | "No cap">;
1513
- otAfterDailyPlaceholder: import("vue").ComputedRef<string>;
1514
- toggleOt: () => void;
1287
+ maxHoursPlaceholder: import("vue").ComputedRef<string>;
1288
+ minHoursPlaceholder: import("vue").ComputedRef<string>;
1289
+ maxHoursPerDayPlaceholder: import("vue").ComputedRef<string>;
1290
+ maxHoursPerMonthPlaceholder: import("vue").ComputedRef<string>;
1291
+ toggleOvertime: () => void;
1515
1292
  payUnit: import("vue").ComputedRef<"/month" | "/hour">;
1516
1293
  effectiveRate: import("vue").ComputedRef<number>;
1517
1294
  passcodeValue: import("vue").ComputedRef<string>;
@@ -1526,6 +1303,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1526
1303
  payLine: import("vue").ComputedRef<string>;
1527
1304
  nameError: import("vue").ComputedRef<boolean>;
1528
1305
  passError: import("vue").ComputedRef<boolean>;
1306
+ posRolesError: import("vue").ComputedRef<boolean>;
1529
1307
  availabilityError: import("vue").ComputedRef<boolean>;
1530
1308
  saving: import("vue").Ref<boolean, boolean>;
1531
1309
  saveError: import("vue").Ref<string | null, string | null>;
@@ -1533,6 +1311,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1533
1311
  candidatesError: import("vue").Ref<string | null, string | null>;
1534
1312
  openWizard: (section: string) => void;
1535
1313
  openEditFor: (emp: import("../types").Employee) => void;
1314
+ confirmClose: () => void;
1536
1315
  close: () => void;
1537
1316
  setMode: (m: import("./schedule-add-employee-form").ScheduleAddEmployeeMode) => void;
1538
1317
  openSelectExisting: () => void;
@@ -1541,21 +1320,26 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1541
1320
  next: () => void;
1542
1321
  back: () => void;
1543
1322
  toggleMulti: (which: "loc" | "sec") => void;
1544
- toggleLocation: (loc: string) => void;
1545
- removeLocation: (loc: string) => void;
1546
- toggleSecondary: (pos: string) => void;
1547
- removeSecondary: (pos: string) => void;
1548
- setPrimaryPosition: (pos: string) => void;
1323
+ toggleLocation: (location: string) => void;
1324
+ removeLocation: (location: string) => void;
1325
+ toggleSecondary: (position: string) => void;
1326
+ removeSecondary: (position: string) => void;
1327
+ setPrimaryPosition: (position: string) => void;
1549
1328
  setPayBasis: (basis: "hourly" | "monthly") => void;
1550
- toggleAvailDay: (i: number) => void;
1329
+ toggleAvailDay: (index: number) => void;
1551
1330
  availAll: () => void;
1552
- setAvailHour: (i: number, field: "from" | "to", value: string) => void;
1553
- copyAvailHourDown: (i: number) => void;
1554
- setPasscodeDigit: (i: number, value: string) => void;
1331
+ setAvailHour: (index: number, field: "from" | "to", value: string) => void;
1332
+ copyAvailHourDown: (index: number) => void;
1333
+ setPasscodeDigit: (index: number, value: string) => void;
1555
1334
  generatePasscode: () => void;
1556
1335
  togglePosAccess: () => void;
1557
- setPosRole: (roleId: string) => void;
1558
- posRoleOptions: import("vue").ComputedRef<import("../../../types/role").Role[]>;
1336
+ addPosRoleRow: () => void;
1337
+ removePosRoleRow: (index: number) => void;
1338
+ isCurrentOutletRow: (index: number) => boolean;
1339
+ setPosRoleOutlet: (index: number, outlet: string) => void;
1340
+ setPosRoleId: (index: number, roleId: string) => void;
1341
+ posRoleOptionsFor: (outlet: string) => import("../../../types/role").Role[];
1342
+ posRolesHint: import("vue").ComputedRef<"" | "No outlet assigned, so their passcode will not open a till yet." | "The same outlet is listed twice — only the last role on it will apply.">;
1559
1343
  create: () => Promise<boolean>;
1560
1344
  };
1561
1345
  openWizard: () => void;