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

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 (155) hide show
  1. package/dist/{ApprovalCodeList-cG0zmQVJ.js → ApprovalCodeList-BLA2rhLB.js} +5 -5
  2. package/dist/{AuditLogList-BTifJhO1.js → AuditLogList-DBYdZhZl.js} +4 -4
  3. package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-qr5TwLTK.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-CtCEzPbE.js} +2 -2
  4. package/dist/{EmployeeList-DzcMtxJ3.js → EmployeeList-CA7DWLmy.js} +6 -6
  5. package/dist/{GrantUserList-D5b7tJ8Y.js → GrantUserList-BYnegeEr.js} +6 -6
  6. package/dist/{Main-DFwdAWqn.js → Main-BeXx0hAc.js} +8 -8
  7. package/dist/{Main-B2r59IOW.js → Main-Dh-gZSaa.js} +5 -5
  8. package/dist/{Main-DkLBemi7.js → Main-NDK7LUmm.js} +11 -11
  9. package/dist/{PermissionSetList-B80hrfMW.js → PermissionSetList-DDIacDpQ.js} +7 -7
  10. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-ONMn3v_f.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/{RoleList-DHO4JRKF.js → RoleList-B30FHIzu.js} +9 -9
  13. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-CRRguWTG.js +492 -0
  14. package/dist/ScheduleGeneralPage-8gEeZbFR.js +776 -0
  15. package/dist/ScheduleModal.vue_vue_type_script_setup_true_lang-TfxTAjO8.js +2252 -0
  16. package/dist/SchedulePage-DQ0VXWWi.js +17832 -0
  17. package/dist/{SchedulePositionPage-C0hrO11d.js → SchedulePositionPage-oGIDGneA.js} +66 -65
  18. package/dist/{TeamMemberList-CgFWLRBM.js → TeamMemberList-Drj6R4Y3.js} +10 -10
  19. package/dist/{TimesheetList-Dp40G-0I.js → TimesheetList-CDQfN5LE.js} +7 -7
  20. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-BFjrMhUG.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-Bx-6hjs7.js} +3 -3
  21. package/dist/{app-CmBSTvaI.js → app-DWe_4-ct.js} +678 -594
  22. package/dist/app.js +1 -1
  23. package/dist/{approval-code-C9DmR4Md.js → approval-code-DHsUgc4K.js} +1 -1
  24. package/dist/{dayjs.min-CfL2DQ3d.js → dayjs.min-QSwC9dtX.js} +1 -1
  25. package/dist/{employee-DQcHjoij.js → employee-Bb2b3dP6.js} +29 -28
  26. package/dist/{grant-user-Bv-pJ9Wt.js → grant-user-qzKHFTro.js} +1 -1
  27. package/dist/{iteration-BlavheWG.js → iteration-TDU7bFxZ.js} +1 -1
  28. package/dist/{lodash-QerqayrJ.js → lodash-D3Ns5VMN.js} +1 -1
  29. package/dist/{restaurant-D7PEQjPY.js → restaurant-BbYRA_IT.js} +4 -3
  30. package/dist/{role-RM2YLO7n.js → role-D57Le_-U.js} +2 -2
  31. package/dist/{rule-DjlvYIuP.js → rule-DzesUEX7.js} +3 -3
  32. package/dist/src/api/schedule/index.d.ts +8 -1
  33. package/dist/src/components/layout/withScheduleShell.d.ts +10 -0
  34. package/dist/src/types/employee.d.ts +1 -0
  35. package/dist/src/types/schedule.d.ts +3 -4
  36. package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +0 -8
  37. package/dist/src/views/scheduling/components/ScheduleBoardAreaRows.vue.d.ts +23 -0
  38. package/dist/src/views/scheduling/components/ScheduleBoardEditOverlays.vue.d.ts +17 -0
  39. package/dist/src/views/scheduling/components/ScheduleBoardEmployeeRows.vue.d.ts +31 -0
  40. package/dist/src/views/scheduling/components/ScheduleBoardGridHeader.vue.d.ts +24 -0
  41. package/dist/src/views/scheduling/components/ScheduleBoardInteractionOverlays.vue.d.ts +32 -0
  42. package/dist/src/views/scheduling/components/ScheduleBoardOnboardingOverlays.vue.d.ts +25 -0
  43. package/dist/src/views/scheduling/components/ScheduleBoardRails.vue.d.ts +17 -0
  44. package/dist/src/views/scheduling/components/ScheduleBoardToolbar.vue.d.ts +38 -0
  45. package/dist/src/views/scheduling/components/ScheduleBoardUtilityOverlays.vue.d.ts +22 -0
  46. package/dist/src/views/scheduling/components/{ScheduleOnboardingComplete.vue.d.ts → ScheduleCompletionDialog.vue.d.ts} +8 -3
  47. package/dist/src/views/scheduling/components/{ScheduleShiftCardMenu.vue.d.ts → ScheduleContextMenu.vue.d.ts} +7 -2
  48. package/dist/src/views/scheduling/components/{SchedulePdfPreview.vue.d.ts → ScheduleExportPreview.vue.d.ts} +1 -0
  49. package/dist/src/views/scheduling/components/ScheduleLoadState.vue.d.ts +9 -0
  50. package/dist/src/views/scheduling/components/ScheduleModal.vue.d.ts +26 -0
  51. package/dist/src/views/scheduling/components/{ScheduleExportDoneDialog.vue.d.ts → ScheduleOnboardingAssignPositionModal.vue.d.ts} +2 -2
  52. package/dist/src/views/scheduling/components/{ScheduleAssignEmployeePopover.vue.d.ts → ScheduleOnboardingClosedDayConfirm.vue.d.ts} +2 -2
  53. package/dist/src/views/scheduling/components/{ScheduleEmployeeMenu.vue.d.ts → ScheduleOnboardingDemandDays.vue.d.ts} +2 -2
  54. package/dist/src/views/scheduling/components/ScheduleOnboardingDemandFooter.vue.d.ts +6 -0
  55. package/dist/src/views/scheduling/components/ScheduleOnboardingDemandHeader.vue.d.ts +6 -0
  56. package/dist/src/views/scheduling/components/ScheduleOnboardingHoursProfileNotice.vue.d.ts +10 -0
  57. package/dist/src/views/scheduling/components/ScheduleOnboardingPositions.vue.d.ts +6 -0
  58. package/dist/src/views/scheduling/components/ScheduleOnboardingReview.vue.d.ts +6 -0
  59. package/dist/src/views/scheduling/components/ScheduleOnboardingWizardFooter.vue.d.ts +6 -0
  60. package/dist/src/views/scheduling/components/ScheduleOnboardingWizardHeader.vue.d.ts +11 -0
  61. package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +17 -1
  62. package/dist/src/views/scheduling/components/ScheduleSetupBanner.vue.d.ts +12 -0
  63. package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +2 -2
  64. package/dist/src/views/scheduling/components/ScheduleStaffRail.vue.d.ts +4 -4
  65. package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +2 -12
  66. package/dist/src/views/scheduling/components/ScheduleTopbar.vue.d.ts +3 -3
  67. package/dist/src/views/scheduling/composables/onboarding-types.d.ts +1 -1
  68. package/dist/src/views/scheduling/composables/remyPrompt.d.ts +13 -0
  69. package/dist/src/views/scheduling/composables/schedule-add-employee-form.d.ts +12 -8
  70. package/dist/src/views/scheduling/composables/schedule-board-helpers.d.ts +5 -1
  71. package/dist/src/views/scheduling/composables/schedule-breaks.d.ts +7 -1
  72. package/dist/src/views/scheduling/composables/schedule-calendar.d.ts +7 -0
  73. package/dist/src/views/scheduling/composables/schedule-cost.d.ts +19 -0
  74. package/dist/src/views/scheduling/composables/schedule-day-meta.d.ts +1 -3
  75. package/dist/src/views/scheduling/composables/schedule-demand-domain.d.ts +11 -0
  76. package/dist/src/views/scheduling/composables/schedule-export-matrix.d.ts +14 -0
  77. package/dist/src/views/scheduling/composables/schedule-time.d.ts +8 -0
  78. package/dist/src/views/scheduling/composables/schedule-week-cache.d.ts +1 -4
  79. package/dist/src/views/scheduling/composables/useRemyAppStore.d.ts +15 -0
  80. package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +34 -21
  81. package/dist/src/views/scheduling/composables/useScheduleAreaBoard.d.ts +0 -13
  82. package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +2 -8
  83. package/dist/src/views/scheduling/composables/useScheduleAssignmentMutations.d.ts +13 -0
  84. package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +3 -0
  85. package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +50 -11
  86. package/dist/src/views/scheduling/composables/useScheduleCloneOutletModal.d.ts +3 -1
  87. package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +6 -1
  88. package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +1 -2
  89. package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +0 -3
  90. package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +7 -24
  91. package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +19 -5
  92. package/dist/src/views/scheduling/composables/useScheduleEmployeeAccess.d.ts +16 -0
  93. package/dist/src/views/scheduling/composables/useScheduleEmployeeAvailability.d.ts +13 -0
  94. package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +27 -0
  95. package/dist/src/views/scheduling/composables/useScheduleEmployeeCompensation.d.ts +7 -0
  96. package/dist/src/views/scheduling/composables/useScheduleEmployeeForm.d.ts +22 -0
  97. package/dist/src/views/scheduling/composables/useScheduleEmployeeIdentity.d.ts +9 -0
  98. package/dist/src/views/scheduling/composables/useScheduleEmployeeMenu.d.ts +6 -3
  99. package/dist/src/views/scheduling/composables/useScheduleEmployeePersistence.d.ts +29 -0
  100. package/dist/src/views/scheduling/composables/useScheduleEmployeeValidation.d.ts +20 -0
  101. package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +19 -11
  102. package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +5 -6
  103. package/dist/src/views/scheduling/composables/useScheduleOnboardingAvailability.d.ts +58 -0
  104. package/dist/src/views/scheduling/composables/useScheduleOnboardingDemand.d.ts +45 -0
  105. package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +205 -0
  106. package/dist/src/views/scheduling/composables/useScheduleOnboardingHours.d.ts +15 -0
  107. package/dist/src/views/scheduling/composables/useScheduleOnboardingNavigation.d.ts +11 -0
  108. package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +306 -529
  109. package/dist/src/views/scheduling/composables/useSchedulePageActions.d.ts +18 -0
  110. package/dist/src/views/scheduling/composables/useSchedulePageCellActions.d.ts +21 -0
  111. package/dist/src/views/scheduling/composables/useSchedulePageCellDrop.d.ts +18 -0
  112. package/dist/src/views/scheduling/composables/useSchedulePageEmployeeActions.d.ts +22 -0
  113. package/dist/src/views/scheduling/composables/useSchedulePageOverlays.d.ts +10 -7
  114. package/dist/src/views/scheduling/composables/useSchedulePdfExport.d.ts +19 -0
  115. package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +4 -1
  116. package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +4 -2
  117. package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +9 -1
  118. package/dist/src/views/scheduling/composables/useSchedulePublishPersistence.d.ts +11 -0
  119. package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +30 -4
  120. package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +8 -25
  121. package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +18 -3
  122. package/dist/src/views/scheduling/composables/useScheduleShiftDraft.d.ts +63 -0
  123. package/dist/src/views/scheduling/composables/useScheduleShiftPersistence.d.ts +17 -0
  124. package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +25 -8
  125. package/dist/src/views/scheduling/composables/useScheduleStatsRow.d.ts +4 -1
  126. package/dist/src/views/scheduling/composables/useScheduleTour.d.ts +6 -4
  127. package/dist/src/views/scheduling/country-rules/index.d.ts +24 -0
  128. package/dist/src/views/scheduling/data.d.ts +16 -7
  129. package/dist/src/views/scheduling/locales/index.d.ts +80 -0
  130. package/dist/src/views/scheduling/schedule-constants.d.ts +7 -0
  131. package/dist/src/views/scheduling/schedule-state.d.ts +104 -16
  132. package/dist/src/views/scheduling/schedule-store.d.ts +17 -6
  133. package/dist/src/views/scheduling/types.d.ts +27 -5
  134. package/dist/style.css +1 -1
  135. package/dist/tsconfig.app.tsbuildinfo +1 -1
  136. package/dist/{useAppStore-d_nHyK5u.js → useAppStore-BoLkvkE2.js} +1 -1
  137. package/dist/{useLoading-JFoghhRz.js → useLoading-Ch1AUYT1.js} +1 -1
  138. package/dist/{useReportPermissions-Bl6Br79r.js → useReportPermissions-Cmuead1K.js} +3 -3
  139. package/package.json +2 -1
  140. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DjNcJQM9.js +0 -4167
  141. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-B-XtB64L.js +0 -452
  142. package/dist/ScheduleGeneralPage-WlBM8bxV.js +0 -629
  143. package/dist/SchedulePage-Nm0krGVU.js +0 -17056
  144. package/dist/ScheduleSelect.vue_vue_type_script_setup_true_lang-DTDXir_7.js +0 -1150
  145. package/dist/src/components/layout/withShell.d.ts +0 -14
  146. package/dist/src/views/scheduling/components/ScheduleAllShiftsRow.vue.d.ts +0 -22
  147. package/dist/src/views/scheduling/components/ScheduleOpenShiftCardMenu.vue.d.ts +0 -14
  148. package/dist/src/views/scheduling/components/ScheduleStackPopover.vue.d.ts +0 -14
  149. package/dist/src/views/scheduling/components/ScheduleTourAllSet.vue.d.ts +0 -6
  150. package/dist/src/views/scheduling/composables/useScheduleAllShiftsRow.d.ts +0 -77
  151. package/dist/src/views/scheduling/composables/useScheduleAssign.d.ts +0 -122
  152. package/dist/src/views/scheduling/composables/useScheduleOpenShiftCard.d.ts +0 -23
  153. package/dist/src/views/scheduling/composables/useScheduleStaffRail.d.ts +0 -17
  154. package/dist/src/views/scheduling/composables/useScheduleTopbar.d.ts +0 -10
  155. /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;
@@ -138,6 +149,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
138
149
  masterUser?: boolean | undefined;
139
150
  }[], import("../types").Employee[] | {
140
151
  id: number;
152
+ sourceId: string;
141
153
  name: string;
142
154
  employmentType: "FULLTIME" | "PARTTIME";
143
155
  role: string;
@@ -148,10 +160,12 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
148
160
  contractHours?: number | undefined;
149
161
  rate: number;
150
162
  positions: string[];
163
+ archivedPositions?: string[] | undefined;
151
164
  shifts: ({
152
165
  start: string;
153
166
  end: string;
154
167
  role: string;
168
+ positionId?: string | undefined;
155
169
  status: import("../types").ShiftStatus;
156
170
  clock?: {
157
171
  in: string | null;
@@ -173,6 +187,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
173
187
  breakPayType: "PAID" | "UNPAID";
174
188
  })[] | undefined;
175
189
  assignmentId?: string | undefined;
190
+ updatedAt?: string | undefined;
176
191
  splitGroupId?: string | undefined;
177
192
  } | {
178
193
  timeOff: "approved" | "pending";
@@ -199,6 +214,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
199
214
  start: string;
200
215
  end: string;
201
216
  role: string;
217
+ positionId?: string | undefined;
202
218
  status: import("../types").ShiftStatus;
203
219
  clock?: {
204
220
  in: string | null;
@@ -220,6 +236,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
220
236
  breakPayType: "PAID" | "UNPAID";
221
237
  })[] | undefined;
222
238
  assignmentId?: string | undefined;
239
+ updatedAt?: string | undefined;
223
240
  splitGroupId?: string | undefined;
224
241
  }[] | null)[];
225
242
  remarks: {
@@ -236,9 +253,16 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
236
253
  payBasis?: "hourly" | "monthly" | undefined;
237
254
  payAmount?: number | undefined;
238
255
  maxHours?: number | undefined;
239
- maxOtHours?: number | undefined;
240
256
  minHours?: number | undefined;
241
- otAfterDaily?: number | undefined;
257
+ minHoursPerDay?: number | undefined;
258
+ workingHours?: {
259
+ minHoursPerDay: number | null;
260
+ maxHoursPerDay: number | null;
261
+ maxHoursPerWeek: number | null;
262
+ } | undefined;
263
+ overtime?: {
264
+ maxHoursPerMonth: number | null;
265
+ } | undefined;
242
266
  preferences?: string[] | undefined;
243
267
  seniority?: "senior" | "junior" | "" | undefined;
244
268
  availDays?: boolean[] | undefined;
@@ -285,7 +309,6 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
285
309
  end: string;
286
310
  breakMins?: number | undefined;
287
311
  }[]>;
288
- highlightEmpId: import("vue").Ref<number | null, number | null>;
289
312
  rangeStart: import("vue").Ref<Date, Date>;
290
313
  weekOffset: import("vue").ComputedRef<number>;
291
314
  peekWeek: (offset: number) => import("./schedule-week-cache").WeekBucket;
@@ -294,11 +317,13 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
294
317
  dayLocked: (dayIdx: number) => boolean;
295
318
  pendingChanges: import("vue").Ref<{
296
319
  empId: number;
320
+ employeeKey: string;
297
321
  dayIdx: number;
298
322
  kind: "add" | "change" | "remove";
299
323
  label: string;
300
324
  }[], import("../types").PendingChange[] | {
301
325
  empId: number;
326
+ employeeKey: string;
302
327
  dayIdx: number;
303
328
  kind: "add" | "change" | "remove";
304
329
  label: string;
@@ -308,7 +333,8 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
308
333
  empId: number;
309
334
  dayIdx: number;
310
335
  slot: import("../types").WorkSlot;
311
- }>) => Promise<void>;
336
+ }>) => Promise<boolean>;
337
+ flushAssignmentWrites: () => Promise<void>;
312
338
  recordChange: (empId: number, dayIdx: number, kind: import("../types").PendingChange["kind"], label: string) => void;
313
339
  scheduleVersions: import("vue").Ref<{
314
340
  v: number;
@@ -325,6 +351,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
325
351
  start: string;
326
352
  end: string;
327
353
  role: string;
354
+ positionId?: string | undefined;
328
355
  status: import("../types").ShiftStatus;
329
356
  clock?: {
330
357
  in: string | null;
@@ -346,6 +373,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
346
373
  breakPayType: "PAID" | "UNPAID";
347
374
  })[] | undefined;
348
375
  assignmentId?: string | undefined;
376
+ updatedAt?: string | undefined;
349
377
  splitGroupId?: string | undefined;
350
378
  } | {
351
379
  timeOff: "approved" | "pending";
@@ -372,6 +400,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
372
400
  start: string;
373
401
  end: string;
374
402
  role: string;
403
+ positionId?: string | undefined;
375
404
  status: import("../types").ShiftStatus;
376
405
  clock?: {
377
406
  in: string | null;
@@ -393,6 +422,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
393
422
  breakPayType: "PAID" | "UNPAID";
394
423
  })[] | undefined;
395
424
  assignmentId?: string | undefined;
425
+ updatedAt?: string | undefined;
396
426
  splitGroupId?: string | undefined;
397
427
  }[] | null)[];
398
428
  }[];
@@ -411,6 +441,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
411
441
  start: string;
412
442
  end: string;
413
443
  role: string;
444
+ positionId?: string | undefined;
414
445
  status: import("../types").ShiftStatus;
415
446
  clock?: {
416
447
  in: string | null;
@@ -432,6 +463,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
432
463
  breakPayType: "PAID" | "UNPAID";
433
464
  })[] | undefined;
434
465
  assignmentId?: string | undefined;
466
+ updatedAt?: string | undefined;
435
467
  splitGroupId?: string | undefined;
436
468
  } | {
437
469
  timeOff: "approved" | "pending";
@@ -458,6 +490,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
458
490
  start: string;
459
491
  end: string;
460
492
  role: string;
493
+ positionId?: string | undefined;
461
494
  status: import("../types").ShiftStatus;
462
495
  clock?: {
463
496
  in: string | null;
@@ -479,6 +512,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
479
512
  breakPayType: "PAID" | "UNPAID";
480
513
  })[] | undefined;
481
514
  assignmentId?: string | undefined;
515
+ updatedAt?: string | undefined;
482
516
  splitGroupId?: string | undefined;
483
517
  }[] | null)[];
484
518
  }[];
@@ -502,6 +536,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
502
536
  rangeLabel: import("vue").ComputedRef<string>;
503
537
  isToday: (dayIdx: number) => boolean;
504
538
  dateKey: (dayIdx: number) => string | null;
539
+ dateKeyAt: (offset: number, dayIdx: number) => string | null;
505
540
  navigate: (delta: number) => void;
506
541
  goToday: () => void;
507
542
  membersOf: (sectionId: string) => import("../types").Employee[];
@@ -512,6 +547,10 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
512
547
  commitShiftAt: (offset: number, empId: number, dayIdx: number, slot: import("../types").WorkSlot | import("../types").WorkSlot[], replaceIndex?: number, replaceCount?: number) => void;
513
548
  removeShift: (empId: number, dayIdx: number, slotIndex?: number, count?: number) => void;
514
549
  removeShiftAt: (offset: number, empId: number, dayIdx: number, slotIndex?: number, count?: number) => void;
550
+ employeeShiftsToClear: (empId: number) => number[];
551
+ clearEmployeeShifts: (empId: number) => {
552
+ shifts: number;
553
+ };
515
554
  moveShift: (fromEmpId: number, fromDayIdx: number, toEmpId: number, toDayIdx: number, fromSlotIndex?: number, fromSlotCount?: number) => boolean;
516
555
  swapShifts: (empIdA: number, empIdB: number, dayA: number, dayB?: number, slotIndexA?: number, slotIndexB?: number, slotCountA?: number) => boolean;
517
556
  clearShiftsInRange: () => {
@@ -548,7 +587,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
548
587
  pendingDeleteId: import("vue").Ref<string | null, string | null>;
549
588
  saving: import("vue").Ref<boolean, boolean>;
550
589
  error: import("vue").Ref<string | null, string | null>;
551
- usageCountFor: (name: string) => number;
590
+ usageCountFor: (positionId: string) => number;
552
591
  startAdd: () => void;
553
592
  cancelAdd: () => void;
554
593
  confirmAdd: () => Promise<void>;
@@ -558,7 +597,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
558
597
  };
559
598
  steps: ScheduleOnboardingStep[];
560
599
  isSkippable: import("vue").ComputedRef<boolean>;
561
- hours: import("vue").Reactive<ScheduleOnboardingDayHours[]>;
600
+ hours: import("vue").Reactive<import("./onboarding-types").ScheduleOnboardingDayHours[]>;
562
601
  hoursMatchProfile: import("vue").ComputedRef<boolean>;
563
602
  openDayCount: import("vue").ComputedRef<number>;
564
603
  resetHours: () => void;
@@ -566,7 +605,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
566
605
  addSession: (dayIdx: number) => void;
567
606
  removeSession: (dayIdx: number, sessionIdx: number) => void;
568
607
  setSessionTime: (dayIdx: number, sessionIdx: number, field: "from" | "to", value: string) => void;
569
- demand: import("vue").Reactive<ScheduleOnboardingRange[][]>;
608
+ demand: import("vue").Reactive<import("./onboarding-types").ScheduleOnboardingRange[][]>;
570
609
  dmDay: import("vue").Ref<number, number>;
571
610
  dayClosedConfirm: {
572
611
  state: {
@@ -593,20 +632,20 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
593
632
  dmPeak: (dayIdx: number) => number;
594
633
  daySpan: (dayIdx: number) => string;
595
634
  selectDay: (dayIdx: number) => void;
596
- setRangeTime: (j: number, field: "from" | "to", value: string) => void;
597
- setRangeCount: (j: number, value: string) => void;
635
+ setRangeTime: (index: number, field: "from" | "to", value: string) => void;
636
+ setRangeCount: (index: number, value: string) => void;
598
637
  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;
638
+ removeRange: (index: number) => void;
639
+ addRole: (index: number) => void;
640
+ setRole: (index: number, roleIndex: number, field: "position" | "n", value: string) => void;
641
+ removeRole: (index: number, roleIndex: number) => void;
642
+ namedTotal: (range: import("./onboarding-types").ScheduleOnboardingRange) => number;
604
643
  copyDay: (mode: "all" | "wk" | "we") => void;
605
644
  addPositionNamed: (name?: string) => void;
606
645
  removePosition: (id: string) => void;
607
646
  reviewRows: import("vue").ComputedRef<ReviewRow[]>;
608
647
  goTo: (target: ScheduleOnboardingStep) => void;
609
- avail: Record<number, AvailRow>;
648
+ avail: Record<number, import("./onboarding-types").AvailRow>;
610
649
  avTab: import("vue").Ref<"full" | "part", "full" | "part">;
611
650
  avPicked: Record<number, boolean>;
612
651
  avBulkOpen: import("vue").Ref<boolean, boolean>;
@@ -618,240 +657,40 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
618
657
  };
619
658
  avBulkReady: import("vue").ComputedRef<boolean>;
620
659
  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;
660
+ emp: import("../types").Employee;
661
+ row: import("./onboarding-types").TeamRow;
735
662
  }[]>;
736
663
  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;
664
+ emp: import("../types").Employee;
665
+ row: import("./onboarding-types").TeamRow;
851
666
  }[]>;
852
667
  avGroup: import("vue").ComputedRef<{
668
+ emp: import("../types").Employee;
669
+ row: import("./onboarding-types").TeamRow;
670
+ }[]>;
671
+ avSelected: import("vue").ComputedRef<{
672
+ emp: import("../types").Employee;
673
+ row: import("./onboarding-types").TeamRow;
674
+ }[]>;
675
+ avFullDone: import("vue").ComputedRef<number>;
676
+ avPartDone: import("vue").ComputedRef<number>;
677
+ avOffCount: (dayIdx: number) => number | null;
678
+ avFullSub: (empId: number) => string;
679
+ avPartSummary: (empId: number) => string;
680
+ avShowsByDay: (empId: number) => boolean;
681
+ canDays: (empId: number) => number[];
682
+ avPickAll: (checked: boolean) => void;
683
+ toggleOff: (empId: number, dayIdx: number) => void;
684
+ toggleCan: (empId: number, dayIdx: number) => void;
685
+ setAvailTime: (empId: number, dayIdx: number | null, field: "from" | "to", value: string) => void;
686
+ toggleVary: (empId: number) => void;
687
+ bulkDay: (which: "off" | "on", dayIdx: number) => void;
688
+ applyAvBulk: () => void;
689
+ skip: () => void;
690
+ teamRows: import("vue").ComputedRef<{
853
691
  emp: {
854
692
  id: number;
693
+ sourceId: string;
855
694
  name: string;
856
695
  employmentType: "FULLTIME" | "PARTTIME";
857
696
  role: string;
@@ -862,10 +701,12 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
862
701
  contractHours?: number | undefined;
863
702
  rate: number;
864
703
  positions: string[];
704
+ archivedPositions?: string[] | undefined;
865
705
  shifts: ({
866
706
  start: string;
867
707
  end: string;
868
708
  role: string;
709
+ positionId?: string | undefined;
869
710
  status: import("../types").ShiftStatus;
870
711
  clock?: {
871
712
  in: string | null;
@@ -887,6 +728,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
887
728
  breakPayType: "PAID" | "UNPAID";
888
729
  })[] | undefined;
889
730
  assignmentId?: string | undefined;
731
+ updatedAt?: string | undefined;
890
732
  splitGroupId?: string | undefined;
891
733
  } | {
892
734
  timeOff: "approved" | "pending";
@@ -913,6 +755,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
913
755
  start: string;
914
756
  end: string;
915
757
  role: string;
758
+ positionId?: string | undefined;
916
759
  status: import("../types").ShiftStatus;
917
760
  clock?: {
918
761
  in: string | null;
@@ -934,6 +777,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
934
777
  breakPayType: "PAID" | "UNPAID";
935
778
  })[] | undefined;
936
779
  assignmentId?: string | undefined;
780
+ updatedAt?: string | undefined;
937
781
  splitGroupId?: string | undefined;
938
782
  }[] | null)[];
939
783
  remarks: {
@@ -950,9 +794,16 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
950
794
  payBasis?: "hourly" | "monthly" | undefined;
951
795
  payAmount?: number | undefined;
952
796
  maxHours?: number | undefined;
953
- maxOtHours?: number | undefined;
954
797
  minHours?: number | undefined;
955
- otAfterDaily?: number | undefined;
798
+ minHoursPerDay?: number | undefined;
799
+ workingHours?: {
800
+ minHoursPerDay: number | null;
801
+ maxHoursPerDay: number | null;
802
+ maxHoursPerWeek: number | null;
803
+ } | undefined;
804
+ overtime?: {
805
+ maxHoursPerMonth: number | null;
806
+ } | undefined;
956
807
  preferences?: string[] | undefined;
957
808
  seniority?: "senior" | "junior" | "" | undefined;
958
809
  availDays?: boolean[] | undefined;
@@ -963,272 +814,25 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
963
814
  passcode?: string | undefined;
964
815
  masterUser?: boolean | undefined;
965
816
  };
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;
817
+ row: import("./onboarding-types").TeamRow;
1214
818
  }[]>;
1215
819
  teamPicked: import("vue").ComputedRef<number>;
1216
820
  teamAllPicked: import("vue").ComputedRef<boolean>;
1217
821
  teamSomePicked: import("vue").ComputedRef<boolean>;
1218
822
  pickAll: (checked: boolean) => void;
1219
823
  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;
824
+ setEmployment: (empId: number, kind: import("./onboarding-types").TeamEmployment) => void;
825
+ setHours: (empId: number, value: string) => void;
826
+ setRate: (empId: number, value: string) => void;
1223
827
  bulkOpen: import("vue").Ref<boolean, boolean>;
1224
828
  bulk: {
1225
829
  scope: "all" | "full" | "part" | "nopos" | "nopay";
1226
830
  position: string;
1227
831
  second: string;
1228
- employment: "" | TeamEmployment;
832
+ employment: "" | import("./onboarding-types").TeamEmployment;
1229
833
  maxHours: string;
1230
834
  rate: string;
1231
- basis: "" | TeamBasis;
835
+ basis: "" | import("./onboarding-types").TeamBasis;
1232
836
  };
1233
837
  bulkCount: import("vue").ComputedRef<number>;
1234
838
  applyBulk: () => void;
@@ -1237,6 +841,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1237
841
  ANY_POSITION_KEY: string;
1238
842
  holdersOf: (key: string) => {
1239
843
  id: number;
844
+ sourceId: string;
1240
845
  name: string;
1241
846
  employmentType: "FULLTIME" | "PARTTIME";
1242
847
  role: string;
@@ -1247,10 +852,12 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1247
852
  contractHours?: number | undefined;
1248
853
  rate: number;
1249
854
  positions: string[];
855
+ archivedPositions?: string[] | undefined;
1250
856
  shifts: ({
1251
857
  start: string;
1252
858
  end: string;
1253
859
  role: string;
860
+ positionId?: string | undefined;
1254
861
  status: import("../types").ShiftStatus;
1255
862
  clock?: {
1256
863
  in: string | null;
@@ -1272,6 +879,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1272
879
  breakPayType: "PAID" | "UNPAID";
1273
880
  })[] | undefined;
1274
881
  assignmentId?: string | undefined;
882
+ updatedAt?: string | undefined;
1275
883
  splitGroupId?: string | undefined;
1276
884
  } | {
1277
885
  timeOff: "approved" | "pending";
@@ -1298,6 +906,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1298
906
  start: string;
1299
907
  end: string;
1300
908
  role: string;
909
+ positionId?: string | undefined;
1301
910
  status: import("../types").ShiftStatus;
1302
911
  clock?: {
1303
912
  in: string | null;
@@ -1319,6 +928,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1319
928
  breakPayType: "PAID" | "UNPAID";
1320
929
  })[] | undefined;
1321
930
  assignmentId?: string | undefined;
931
+ updatedAt?: string | undefined;
1322
932
  splitGroupId?: string | undefined;
1323
933
  }[] | null)[];
1324
934
  remarks: {
@@ -1335,9 +945,16 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1335
945
  payBasis?: "hourly" | "monthly" | undefined;
1336
946
  payAmount?: number | undefined;
1337
947
  maxHours?: number | undefined;
1338
- maxOtHours?: number | undefined;
1339
948
  minHours?: number | undefined;
1340
- otAfterDaily?: number | undefined;
949
+ minHoursPerDay?: number | undefined;
950
+ workingHours?: {
951
+ minHoursPerDay: number | null;
952
+ maxHoursPerDay: number | null;
953
+ maxHoursPerWeek: number | null;
954
+ } | undefined;
955
+ overtime?: {
956
+ maxHoursPerMonth: number | null;
957
+ } | undefined;
1341
958
  preferences?: string[] | undefined;
1342
959
  seniority?: "senior" | "junior" | "" | undefined;
1343
960
  availDays?: boolean[] | undefined;
@@ -1350,6 +967,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1350
967
  }[];
1351
968
  candidatesFor: (key: string) => {
1352
969
  id: number;
970
+ sourceId: string;
1353
971
  name: string;
1354
972
  employmentType: "FULLTIME" | "PARTTIME";
1355
973
  role: string;
@@ -1360,10 +978,12 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1360
978
  contractHours?: number | undefined;
1361
979
  rate: number;
1362
980
  positions: string[];
981
+ archivedPositions?: string[] | undefined;
1363
982
  shifts: ({
1364
983
  start: string;
1365
984
  end: string;
1366
985
  role: string;
986
+ positionId?: string | undefined;
1367
987
  status: import("../types").ShiftStatus;
1368
988
  clock?: {
1369
989
  in: string | null;
@@ -1385,6 +1005,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1385
1005
  breakPayType: "PAID" | "UNPAID";
1386
1006
  })[] | undefined;
1387
1007
  assignmentId?: string | undefined;
1008
+ updatedAt?: string | undefined;
1388
1009
  splitGroupId?: string | undefined;
1389
1010
  } | {
1390
1011
  timeOff: "approved" | "pending";
@@ -1411,6 +1032,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1411
1032
  start: string;
1412
1033
  end: string;
1413
1034
  role: string;
1035
+ positionId?: string | undefined;
1414
1036
  status: import("../types").ShiftStatus;
1415
1037
  clock?: {
1416
1038
  in: string | null;
@@ -1432,6 +1054,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1432
1054
  breakPayType: "PAID" | "UNPAID";
1433
1055
  })[] | undefined;
1434
1056
  assignmentId?: string | undefined;
1057
+ updatedAt?: string | undefined;
1435
1058
  splitGroupId?: string | undefined;
1436
1059
  }[] | null)[];
1437
1060
  remarks: {
@@ -1448,9 +1071,16 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1448
1071
  payBasis?: "hourly" | "monthly" | undefined;
1449
1072
  payAmount?: number | undefined;
1450
1073
  maxHours?: number | undefined;
1451
- maxOtHours?: number | undefined;
1452
1074
  minHours?: number | undefined;
1453
- otAfterDaily?: number | undefined;
1075
+ minHoursPerDay?: number | undefined;
1076
+ workingHours?: {
1077
+ minHoursPerDay: number | null;
1078
+ maxHoursPerDay: number | null;
1079
+ maxHoursPerWeek: number | null;
1080
+ } | undefined;
1081
+ overtime?: {
1082
+ maxHoursPerMonth: number | null;
1083
+ } | undefined;
1454
1084
  preferences?: string[] | undefined;
1455
1085
  seniority?: "senior" | "junior" | "" | undefined;
1456
1086
  availDays?: boolean[] | undefined;
@@ -1462,7 +1092,142 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1462
1092
  masterUser?: boolean | undefined;
1463
1093
  }[];
1464
1094
  posPicker: import("vue").Ref<string | null, string | null>;
1465
- togglePicker: (key: string) => void;
1095
+ posPickerLabel: import("vue").Ref<string, string>;
1096
+ posPickQuery: import("vue").Ref<string, string>;
1097
+ posPickSelected: import("vue").Ref<Set<number> & Omit<Set<number>, keyof Set<any>>, Set<number> | (Set<number> & Omit<Set<number>, keyof Set<any>>)>;
1098
+ pickerCandidates: import("vue").ComputedRef<{
1099
+ id: number;
1100
+ sourceId: string;
1101
+ name: string;
1102
+ employmentType: "FULLTIME" | "PARTTIME";
1103
+ role: string;
1104
+ initials: string;
1105
+ color: string;
1106
+ weekHours: number;
1107
+ pct: number;
1108
+ contractHours?: number | undefined;
1109
+ rate: number;
1110
+ positions: string[];
1111
+ archivedPositions?: string[] | undefined;
1112
+ shifts: ({
1113
+ start: string;
1114
+ end: string;
1115
+ role: string;
1116
+ positionId?: string | undefined;
1117
+ status: import("../types").ShiftStatus;
1118
+ clock?: {
1119
+ in: string | null;
1120
+ out: string | null;
1121
+ status: "on-time" | "late" | "early-out" | "absent";
1122
+ } | undefined;
1123
+ conflict?: boolean | undefined;
1124
+ conflictReason?: string | undefined;
1125
+ openId?: number | undefined;
1126
+ breakMins?: number | undefined;
1127
+ breaks?: ({
1128
+ type: "DURATION";
1129
+ minutes: number;
1130
+ breakPayType: "PAID" | "UNPAID";
1131
+ } | {
1132
+ type: "TIME_RANGE";
1133
+ startTime: string;
1134
+ endTime: string;
1135
+ breakPayType: "PAID" | "UNPAID";
1136
+ })[] | undefined;
1137
+ assignmentId?: string | undefined;
1138
+ updatedAt?: string | undefined;
1139
+ splitGroupId?: string | undefined;
1140
+ } | {
1141
+ timeOff: "approved" | "pending";
1142
+ requestId?: string | undefined;
1143
+ type?: "OFF_DAY" | "LEAVE" | undefined;
1144
+ leaveType?: "ANNUAL" | "MEDICAL" | "EMERGENCY" | "UNPAID" | undefined;
1145
+ reason: string;
1146
+ half?: boolean | undefined;
1147
+ halfPart?: "AM" | "PM" | undefined;
1148
+ from?: string | undefined;
1149
+ to?: string | undefined;
1150
+ appliedOn?: string | undefined;
1151
+ note?: string | undefined;
1152
+ cert?: {
1153
+ name: string;
1154
+ size: string;
1155
+ } | null | undefined;
1156
+ bal?: {
1157
+ type: string;
1158
+ entitled: number;
1159
+ used: number;
1160
+ } | undefined;
1161
+ } | {
1162
+ start: string;
1163
+ end: string;
1164
+ role: string;
1165
+ positionId?: string | undefined;
1166
+ status: import("../types").ShiftStatus;
1167
+ clock?: {
1168
+ in: string | null;
1169
+ out: string | null;
1170
+ status: "on-time" | "late" | "early-out" | "absent";
1171
+ } | undefined;
1172
+ conflict?: boolean | undefined;
1173
+ conflictReason?: string | undefined;
1174
+ openId?: number | undefined;
1175
+ breakMins?: number | undefined;
1176
+ breaks?: ({
1177
+ type: "DURATION";
1178
+ minutes: number;
1179
+ breakPayType: "PAID" | "UNPAID";
1180
+ } | {
1181
+ type: "TIME_RANGE";
1182
+ startTime: string;
1183
+ endTime: string;
1184
+ breakPayType: "PAID" | "UNPAID";
1185
+ })[] | undefined;
1186
+ assignmentId?: string | undefined;
1187
+ updatedAt?: string | undefined;
1188
+ splitGroupId?: string | undefined;
1189
+ }[] | null)[];
1190
+ remarks: {
1191
+ author: string;
1192
+ date: string;
1193
+ type: "note" | "warning" | "praise";
1194
+ text: string;
1195
+ }[];
1196
+ section: string;
1197
+ compGroup?: string | undefined;
1198
+ mobile?: string | undefined;
1199
+ dial?: string | undefined;
1200
+ locations?: string[] | undefined;
1201
+ payBasis?: "hourly" | "monthly" | undefined;
1202
+ payAmount?: number | undefined;
1203
+ maxHours?: number | undefined;
1204
+ minHours?: number | undefined;
1205
+ minHoursPerDay?: number | undefined;
1206
+ workingHours?: {
1207
+ minHoursPerDay: number | null;
1208
+ maxHoursPerDay: number | null;
1209
+ maxHoursPerWeek: number | null;
1210
+ } | undefined;
1211
+ overtime?: {
1212
+ maxHoursPerMonth: number | null;
1213
+ } | undefined;
1214
+ preferences?: string[] | undefined;
1215
+ seniority?: "senior" | "junior" | "" | undefined;
1216
+ availDays?: boolean[] | undefined;
1217
+ availHours?: {
1218
+ from: string;
1219
+ to: string;
1220
+ }[] | undefined;
1221
+ passcode?: string | undefined;
1222
+ masterUser?: boolean | undefined;
1223
+ }[]>;
1224
+ pickerAllChecked: import("vue").ComputedRef<boolean>;
1225
+ pickerSomeChecked: import("vue").ComputedRef<boolean>;
1226
+ openPositionPicker: (key: string, label: string) => void;
1227
+ closePositionPicker: () => void;
1228
+ pickerToggleOne: (empId: number, checked: boolean) => void;
1229
+ pickerToggleAll: (checked: boolean) => void;
1230
+ applyPositionPicker: () => Promise<void>;
1466
1231
  assignTo: (empId: number, key: string) => Promise<void>;
1467
1232
  unassign: (empId: number, key: string) => Promise<void>;
1468
1233
  employeeCount: import("vue").ComputedRef<number>;
@@ -1480,10 +1245,11 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1480
1245
  payBasis: "hourly" | "monthly";
1481
1246
  payAmount: string;
1482
1247
  maxHours: string;
1248
+ maxHoursPerDay: string;
1483
1249
  minHours: string;
1484
- otEnabled: boolean;
1485
- otAfterDaily: string;
1486
- maxOtHours: string;
1250
+ workingHoursEnabled: boolean;
1251
+ overtimeEnabled: boolean;
1252
+ maxHoursPerMonth: string;
1487
1253
  availDays: boolean[];
1488
1254
  availHours: {
1489
1255
  from: string;
@@ -1497,7 +1263,10 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1497
1263
  masterUser: boolean;
1498
1264
  masterCode: string;
1499
1265
  posAccessEnabled: boolean;
1500
- posRoleId: string;
1266
+ posRoles: {
1267
+ outlet: string;
1268
+ roleId: string;
1269
+ }[];
1501
1270
  };
1502
1271
  sectionId: import("vue").Ref<string, string>;
1503
1272
  isEditing: import("vue").ComputedRef<boolean>;
@@ -1506,12 +1275,14 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1506
1275
  secOpen: import("vue").Ref<boolean, boolean>;
1507
1276
  secondaryOptions: import("vue").ComputedRef<string[]>;
1508
1277
  isPart: import("vue").ComputedRef<boolean>;
1509
- dayLit: (i: number) => boolean;
1278
+ dayLit: (index: number) => boolean;
1510
1279
  avLabel: import("vue").ComputedRef<"Weekly availability" | "Time off days">;
1511
1280
  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;
1281
+ maxHoursPlaceholder: import("vue").ComputedRef<string>;
1282
+ minHoursPlaceholder: import("vue").ComputedRef<string>;
1283
+ maxHoursPerDayPlaceholder: import("vue").ComputedRef<string>;
1284
+ maxHoursPerMonthPlaceholder: import("vue").ComputedRef<string>;
1285
+ toggleOvertime: () => void;
1515
1286
  payUnit: import("vue").ComputedRef<"/month" | "/hour">;
1516
1287
  effectiveRate: import("vue").ComputedRef<number>;
1517
1288
  passcodeValue: import("vue").ComputedRef<string>;
@@ -1526,6 +1297,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1526
1297
  payLine: import("vue").ComputedRef<string>;
1527
1298
  nameError: import("vue").ComputedRef<boolean>;
1528
1299
  passError: import("vue").ComputedRef<boolean>;
1300
+ posRolesError: import("vue").ComputedRef<boolean>;
1529
1301
  availabilityError: import("vue").ComputedRef<boolean>;
1530
1302
  saving: import("vue").Ref<boolean, boolean>;
1531
1303
  saveError: import("vue").Ref<string | null, string | null>;
@@ -1541,21 +1313,26 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1541
1313
  next: () => void;
1542
1314
  back: () => void;
1543
1315
  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;
1316
+ toggleLocation: (location: string) => void;
1317
+ removeLocation: (location: string) => void;
1318
+ toggleSecondary: (position: string) => void;
1319
+ removeSecondary: (position: string) => void;
1320
+ setPrimaryPosition: (position: string) => void;
1549
1321
  setPayBasis: (basis: "hourly" | "monthly") => void;
1550
- toggleAvailDay: (i: number) => void;
1322
+ toggleAvailDay: (index: number) => void;
1551
1323
  availAll: () => void;
1552
- setAvailHour: (i: number, field: "from" | "to", value: string) => void;
1553
- copyAvailHourDown: (i: number) => void;
1554
- setPasscodeDigit: (i: number, value: string) => void;
1324
+ setAvailHour: (index: number, field: "from" | "to", value: string) => void;
1325
+ copyAvailHourDown: (index: number) => void;
1326
+ setPasscodeDigit: (index: number, value: string) => void;
1555
1327
  generatePasscode: () => void;
1556
1328
  togglePosAccess: () => void;
1557
- setPosRole: (roleId: string) => void;
1558
- posRoleOptions: import("vue").ComputedRef<import("../../../types/role").Role[]>;
1329
+ addPosRoleRow: () => void;
1330
+ removePosRoleRow: (index: number) => void;
1331
+ isCurrentOutletRow: (index: number) => boolean;
1332
+ setPosRoleOutlet: (index: number, outlet: string) => void;
1333
+ setPosRoleId: (index: number, roleId: string) => void;
1334
+ posRoleOptionsFor: (outlet: string) => import("../../../types/role").Role[];
1335
+ 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
1336
  create: () => Promise<boolean>;
1560
1337
  };
1561
1338
  openWizard: () => void;