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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/{ApprovalCodeList-cG0zmQVJ.js → ApprovalCodeList-SjyWZghY.js} +2 -2
  2. package/dist/{AuditLogList-BTifJhO1.js → AuditLogList-aTI3QeO0.js} +3 -3
  3. package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-qr5TwLTK.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang--JTV7non.js} +2 -2
  4. package/dist/{EmployeeList-DzcMtxJ3.js → EmployeeList-D2Q_2ZE0.js} +4 -4
  5. package/dist/{GrantUserList-D5b7tJ8Y.js → GrantUserList-6YXLPuHR.js} +3 -3
  6. package/dist/{Main-DFwdAWqn.js → Main-B-a6F9g8.js} +5 -5
  7. package/dist/{Main-B2r59IOW.js → Main-CFIWlIaC.js} +2 -2
  8. package/dist/{Main-DkLBemi7.js → Main-dSqOeBRJ.js} +9 -9
  9. package/dist/{PermissionSetList-B80hrfMW.js → PermissionSetList-DxkaPCMs.js} +5 -5
  10. package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DjNcJQM9.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DnKckKZ0.js} +1165 -1165
  11. package/dist/{RoleList-DHO4JRKF.js → RoleList-DQZ_w5uM.js} +7 -7
  12. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-Dr6QruG6.js +470 -0
  13. package/dist/{ScheduleGeneralPage-WlBM8bxV.js → ScheduleGeneralPage-CvskrXcV.js} +273 -236
  14. package/dist/ScheduleModal.vue_vue_type_script_setup_true_lang-C4On5sVD.js +2157 -0
  15. package/dist/SchedulePage-CW-K836l.js +18248 -0
  16. package/dist/{SchedulePositionPage-C0hrO11d.js → SchedulePositionPage-BGrZBU3g.js} +67 -66
  17. package/dist/{TeamMemberList-CgFWLRBM.js → TeamMemberList-BiTHVJwE.js} +6 -6
  18. package/dist/{TimesheetList-Dp40G-0I.js → TimesheetList-CUkYacGW.js} +5 -5
  19. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-BFjrMhUG.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-B1Y587O-.js} +2 -2
  20. package/dist/{app-CmBSTvaI.js → app-CAKCDrbJ.js} +657 -577
  21. package/dist/app.js +1 -1
  22. package/dist/{dayjs.min-CfL2DQ3d.js → dayjs.min-CZ8QYRoc.js} +1 -1
  23. package/dist/{employee-DQcHjoij.js → employee-D56eWEFe.js} +28 -27
  24. package/dist/{iteration-BlavheWG.js → iteration-BVJdyLNq.js} +1 -1
  25. package/dist/{lodash-QerqayrJ.js → lodash-BcIRkQPW.js} +1 -1
  26. package/dist/{role-RM2YLO7n.js → role-B-eZDaBX.js} +1 -1
  27. package/dist/{rule-DjlvYIuP.js → rule-D6AIfx8b.js} +2 -2
  28. package/dist/src/api/schedule/index.d.ts +6 -4
  29. package/dist/src/components/layout/withScheduleShell.d.ts +10 -0
  30. package/dist/src/composables/useMessage.d.ts +2 -8
  31. package/dist/src/types/employee.d.ts +1 -0
  32. package/dist/src/types/schedule.d.ts +1 -1
  33. package/dist/src/views/scheduling/components/ScheduleBoardAreaRows.vue.d.ts +28 -0
  34. package/dist/src/views/scheduling/components/ScheduleBoardEditOverlays.vue.d.ts +19 -0
  35. package/dist/src/views/scheduling/components/ScheduleBoardEmployeeRows.vue.d.ts +38 -0
  36. package/dist/src/views/scheduling/components/ScheduleBoardGridHeader.vue.d.ts +24 -0
  37. package/dist/src/views/scheduling/components/ScheduleBoardInteractionOverlays.vue.d.ts +38 -0
  38. package/dist/src/views/scheduling/components/ScheduleBoardOnboardingOverlays.vue.d.ts +25 -0
  39. package/dist/src/views/scheduling/components/ScheduleBoardRails.vue.d.ts +17 -0
  40. package/dist/src/views/scheduling/components/ScheduleBoardToolbar.vue.d.ts +39 -0
  41. package/dist/src/views/scheduling/components/ScheduleBoardUtilityOverlays.vue.d.ts +22 -0
  42. package/dist/src/views/scheduling/components/{ScheduleOnboardingComplete.vue.d.ts → ScheduleCompletionDialog.vue.d.ts} +8 -3
  43. package/dist/src/views/scheduling/components/{ScheduleOpenShiftCardMenu.vue.d.ts → ScheduleContextMenu.vue.d.ts} +10 -3
  44. package/dist/src/views/scheduling/components/{SchedulePdfPreview.vue.d.ts → ScheduleExportPreview.vue.d.ts} +1 -0
  45. package/dist/src/views/scheduling/components/ScheduleLoadState.vue.d.ts +10 -0
  46. package/dist/src/views/scheduling/components/ScheduleModal.vue.d.ts +26 -0
  47. package/dist/src/views/scheduling/components/{ScheduleExportDoneDialog.vue.d.ts → ScheduleOnboardingClosedDayConfirm.vue.d.ts} +2 -2
  48. package/dist/src/views/scheduling/components/{ScheduleAutoScheduleDetailsModal.vue.d.ts → ScheduleOnboardingDemandDays.vue.d.ts} +2 -2
  49. package/dist/src/views/scheduling/components/{ScheduleEmployeeMenu.vue.d.ts → ScheduleOnboardingDemandFooter.vue.d.ts} +2 -2
  50. package/dist/src/views/scheduling/components/ScheduleOnboardingDemandHeader.vue.d.ts +6 -0
  51. package/dist/src/views/scheduling/components/ScheduleOnboardingHoursProfileNotice.vue.d.ts +10 -0
  52. package/dist/src/views/scheduling/components/ScheduleOnboardingPositions.vue.d.ts +6 -0
  53. package/dist/src/views/scheduling/components/ScheduleOnboardingReview.vue.d.ts +6 -0
  54. package/dist/src/views/scheduling/components/ScheduleOnboardingWizardFooter.vue.d.ts +6 -0
  55. package/dist/src/views/scheduling/components/ScheduleOnboardingWizardHeader.vue.d.ts +11 -0
  56. package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +7 -1
  57. package/dist/src/views/scheduling/components/ScheduleSetupBanner.vue.d.ts +12 -0
  58. package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +2 -2
  59. package/dist/src/views/scheduling/components/ScheduleStaffRail.vue.d.ts +4 -4
  60. package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +2 -2
  61. package/dist/src/views/scheduling/components/ScheduleTopbar.vue.d.ts +3 -3
  62. package/dist/src/views/scheduling/composables/onboarding-types.d.ts +1 -1
  63. package/dist/src/views/scheduling/composables/schedule-board-helpers.d.ts +1 -1
  64. package/dist/src/views/scheduling/composables/schedule-breaks.d.ts +7 -1
  65. package/dist/src/views/scheduling/composables/schedule-calendar.d.ts +7 -0
  66. package/dist/src/views/scheduling/composables/schedule-cost.d.ts +19 -0
  67. package/dist/src/views/scheduling/composables/schedule-demand-domain.d.ts +11 -0
  68. package/dist/src/views/scheduling/composables/schedule-export-matrix.d.ts +14 -0
  69. package/dist/src/views/scheduling/composables/schedule-time.d.ts +8 -0
  70. package/dist/src/views/scheduling/composables/schedule-week-cache.d.ts +1 -4
  71. package/dist/src/views/scheduling/composables/scheduleAutoSolver.d.ts +23 -0
  72. package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +14 -13
  73. package/dist/src/views/scheduling/composables/useScheduleAssign.d.ts +3 -1
  74. package/dist/src/views/scheduling/composables/useScheduleAssignmentMutations.d.ts +13 -0
  75. package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +4 -114
  76. package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +18 -2
  77. package/dist/src/views/scheduling/composables/useScheduleCloneOutletModal.d.ts +3 -1
  78. package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +6 -1
  79. package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +1 -1
  80. package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +4 -19
  81. package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +12 -2
  82. package/dist/src/views/scheduling/composables/useScheduleEmployeeAccess.d.ts +11 -0
  83. package/dist/src/views/scheduling/composables/useScheduleEmployeeAvailability.d.ts +13 -0
  84. package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +26 -0
  85. package/dist/src/views/scheduling/composables/useScheduleEmployeeCompensation.d.ts +7 -0
  86. package/dist/src/views/scheduling/composables/useScheduleEmployeeForm.d.ts +22 -0
  87. package/dist/src/views/scheduling/composables/useScheduleEmployeeIdentity.d.ts +9 -0
  88. package/dist/src/views/scheduling/composables/useScheduleEmployeeMenu.d.ts +6 -3
  89. package/dist/src/views/scheduling/composables/useScheduleEmployeePersistence.d.ts +25 -0
  90. package/dist/src/views/scheduling/composables/useScheduleEmployeeValidation.d.ts +18 -0
  91. package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +19 -11
  92. package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +3 -6
  93. package/dist/src/views/scheduling/composables/useScheduleOnboardingAvailability.d.ts +58 -0
  94. package/dist/src/views/scheduling/composables/useScheduleOnboardingDemand.d.ts +45 -0
  95. package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +187 -0
  96. package/dist/src/views/scheduling/composables/useScheduleOnboardingHours.d.ts +15 -0
  97. package/dist/src/views/scheduling/composables/useScheduleOnboardingNavigation.d.ts +11 -0
  98. package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +64 -487
  99. package/dist/src/views/scheduling/composables/useSchedulePageActions.d.ts +18 -0
  100. package/dist/src/views/scheduling/composables/useSchedulePageCellActions.d.ts +21 -0
  101. package/dist/src/views/scheduling/composables/useSchedulePageCellDrop.d.ts +18 -0
  102. package/dist/src/views/scheduling/composables/useSchedulePageEmployeeActions.d.ts +22 -0
  103. package/dist/src/views/scheduling/composables/useSchedulePageOverlays.d.ts +10 -3
  104. package/dist/src/views/scheduling/composables/useSchedulePdfExport.d.ts +19 -0
  105. package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +3 -1
  106. package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +3 -1
  107. package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +7 -1
  108. package/dist/src/views/scheduling/composables/useSchedulePublishPersistence.d.ts +11 -0
  109. package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +6 -0
  110. package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +2 -24
  111. package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +6 -1
  112. package/dist/src/views/scheduling/composables/useScheduleShiftDraft.d.ts +62 -0
  113. package/dist/src/views/scheduling/composables/useScheduleShiftPersistence.d.ts +17 -0
  114. package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +10 -5
  115. package/dist/src/views/scheduling/composables/useScheduleStatsRow.d.ts +4 -1
  116. package/dist/src/views/scheduling/composables/useScheduleTour.d.ts +6 -4
  117. package/dist/src/views/scheduling/country-rules/index.d.ts +24 -0
  118. package/dist/src/views/scheduling/data.d.ts +11 -6
  119. package/dist/src/views/scheduling/locales/index.d.ts +80 -0
  120. package/dist/src/views/scheduling/schedule-constants.d.ts +7 -0
  121. package/dist/src/views/scheduling/schedule-state.d.ts +134 -110
  122. package/dist/src/views/scheduling/schedule-store.d.ts +6 -5
  123. package/dist/src/views/scheduling/types.d.ts +5 -3
  124. package/dist/style.css +1 -1
  125. package/dist/tsconfig.app.tsbuildinfo +1 -1
  126. package/dist/{useReportPermissions-Bl6Br79r.js → useReportPermissions-DHA0jrIr.js} +3 -3
  127. package/package.json +1 -1
  128. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-B-XtB64L.js +0 -452
  129. package/dist/SchedulePage-Nm0krGVU.js +0 -17056
  130. package/dist/ScheduleSelect.vue_vue_type_script_setup_true_lang-DTDXir_7.js +0 -1150
  131. package/dist/src/components/layout/AppSidebar.vue.d.ts +0 -2
  132. package/dist/src/components/layout/withShell.d.ts +0 -14
  133. package/dist/src/views/scheduling/components/ScheduleShiftCardMenu.vue.d.ts +0 -12
  134. package/dist/src/views/scheduling/components/ScheduleTourAllSet.vue.d.ts +0 -6
  135. package/dist/src/views/scheduling/composables/auto-schedule-mapping.d.ts +0 -33
  136. package/dist/src/views/scheduling/composables/useScheduleStaffRail.d.ts +0 -17
  137. package/dist/src/views/scheduling/composables/useScheduleTopbar.d.ts +0 -10
@@ -1,11 +1,5 @@
1
1
  import type { ScheduleBoardApi } from './useScheduleBoard';
2
- export interface ExportShiftCell {
3
- note: string;
4
- shifts: {
5
- when: string;
6
- pos: string;
7
- }[];
8
- }
2
+ import type { ExportShiftCell } from './schedule-export-matrix';
9
3
  export interface ExportMatrix {
10
4
  head: string[];
11
5
  body: (string | ExportShiftCell)[][];
@@ -15,19 +9,33 @@ export interface ExportMatrix {
15
9
  * and a fully-staffed week with nobody over contract totals 0.0 there. */
16
10
  shiftTotal: number;
17
11
  }
12
+ export { cellText, dayCellLines, dayHeaderLabel, esc } from './schedule-export-matrix';
13
+ export type { ExportShiftCell } from './schedule-export-matrix';
18
14
  /** The mockup's Share/export feature (buildExportMatrix/exportPDF/exportJPG) — no external
19
- * PDF/canvas library anywhere in the mockup; PDF is an HTML preview handed to window.print(),
20
- * JPG is a hand-drawn Canvas 2D table converted with toBlob. */
15
+ * PDF/canvas library here; both PDF and JPG are the same hand-drawn Canvas 2D table
16
+ * (`buildJpgCanvas`). PDF used to be a separate HTML/`<table>` rendering handed to
17
+ * window.print(), but printing the live page and CSS-hiding everything around the sheet proved
18
+ * unreliable (see printNow's own comment) — "Save as PDF" now wraps that same canvas image into a
19
+ * standalone print window instead, so PDF and JPG are guaranteed to look identical. */
21
20
  export declare function useScheduleExport(board: ScheduleBoardApi): {
22
21
  buildExportMatrix: () => ExportMatrix;
23
22
  pdfPreviewOpen: import("vue").Ref<boolean, boolean>;
24
- pdfHtml: import("vue").ComputedRef<string>;
25
23
  pdfBarMeta: import("vue").ComputedRef<string>;
26
24
  openPdfPreview: () => void;
27
25
  closePdfPreview: () => void;
28
26
  printNow: () => void;
29
- exportJpg: () => void;
27
+ jpgPreviewOpen: import("vue").Ref<boolean, boolean>;
28
+ jpgPreviewUrl: import("vue").Ref<string | null, string | null>;
29
+ jpgPreviewWidth: import("vue").Ref<number, number>;
30
+ jpgPreviewHeight: import("vue").Ref<number, number>;
31
+ jpgFilename: import("vue").Ref<string, string>;
32
+ jpgBarMeta: import("vue").ComputedRef<string>;
33
+ openJpgPreview: () => void;
34
+ closeJpgPreview: () => void;
35
+ saveJpgPreview: () => void;
30
36
  exportDoneOpen: import("vue").Ref<boolean, boolean>;
37
+ exportDoneTitle: import("vue").Ref<string, string>;
38
+ exportDoneDescription: import("vue").Ref<string, string>;
31
39
  exportDoneRecap: import("vue").Ref<{
32
40
  label: string;
33
41
  value: string;
@@ -1,11 +1,9 @@
1
1
  import type { CoverageSegment } from '../types';
2
2
  import type { ScheduleBoardApi } from './useScheduleBoard';
3
3
  import type { ScheduleDemandApi } from './useScheduleDemand';
4
- export interface ScheduleGapActions {
5
- /** Open the shift editor on a brand new shift for this day and these hours. */
6
- addShift: (dayIdx: number, position: string, start: string, end: string) => void;
7
- }
8
- export declare function useScheduleGapPopover(board: ScheduleBoardApi, demand: ScheduleDemandApi, actions: ScheduleGapActions): {
4
+ /** The gap popover: what a striped stretch of the coverage bar means. Read-only — it states the
5
+ * shortfall and which positions are missing; nothing here writes. */
6
+ export declare function useScheduleGapPopover(board: ScheduleBoardApi, demand: ScheduleDemandApi): {
9
7
  state: {
10
8
  open: boolean;
11
9
  pinned: boolean;
@@ -74,7 +72,6 @@ export declare function useScheduleGapPopover(board: ScheduleBoardApi, demand: S
74
72
  hold: () => void;
75
73
  segClick: (dayIdx: number, from: number, to: number, anchor: HTMLElement) => void;
76
74
  segFocus: (dayIdx: number, from: number, to: number, anchor: HTMLElement) => void;
77
- addShift: () => void;
78
75
  close: () => void;
79
76
  };
80
77
  export type ScheduleGapPopoverApi = ReturnType<typeof useScheduleGapPopover>;
@@ -0,0 +1,58 @@
1
+ import { type ComputedRef } from 'vue';
2
+ import type { Employee } from '../types';
3
+ import type { AvailRow, ScheduleOnboardingDayHours, TeamRow } from './onboarding-types';
4
+ import type { ScheduleBoardApi } from './useScheduleBoard';
5
+ type EmployeeRow = {
6
+ emp: Employee;
7
+ row: TeamRow;
8
+ };
9
+ type BulkMark = '' | 'y' | 'n';
10
+ export interface ScheduleOnboardingAvailabilityOptions {
11
+ board: ScheduleBoardApi;
12
+ hours: ScheduleOnboardingDayHours[];
13
+ openDays: ComputedRef<number[]>;
14
+ employeeRows: ComputedRef<EmployeeRow[]>;
15
+ isShut: (dayIdx: number) => boolean;
16
+ pendingAvail: Map<number, Array<{
17
+ dayOfWeek: number;
18
+ start: string;
19
+ end: string;
20
+ }>>;
21
+ }
22
+ export declare function useScheduleOnboardingAvailability(options: ScheduleOnboardingAvailabilityOptions): {
23
+ avail: Record<number, AvailRow>;
24
+ avTab: import("vue").Ref<"full" | "part", "full" | "part">;
25
+ avPicked: Record<number, boolean>;
26
+ avVary: Record<number, boolean>;
27
+ avBulkOpen: import("vue").Ref<boolean, boolean>;
28
+ avBulk: {
29
+ off: BulkMark[];
30
+ on: BulkMark[];
31
+ from: string;
32
+ to: string;
33
+ };
34
+ seedAvailability: (missingOnly?: boolean) => void;
35
+ avFulls: ComputedRef<EmployeeRow[]>;
36
+ avParts: ComputedRef<EmployeeRow[]>;
37
+ avGroup: ComputedRef<EmployeeRow[]>;
38
+ avSelected: ComputedRef<EmployeeRow[]>;
39
+ restDays: (empId: number) => number[];
40
+ avFullDone: ComputedRef<number>;
41
+ avPartDone: ComputedRef<number>;
42
+ avOffCount: (dayIdx: number) => number | null;
43
+ avFullSub: (empId: number) => string;
44
+ avPartSummary: (empId: number) => string;
45
+ avShowsByDay: (empId: number) => boolean;
46
+ canDays: (empId: number) => number[];
47
+ avPickAll: (checked: boolean) => void;
48
+ toggleOff: (empId: number, dayIdx: number) => void;
49
+ toggleCan: (empId: number, dayIdx: number) => void;
50
+ setAvailTime: (empId: number, dayIdx: number | null, field: "from" | "to", value: string) => void;
51
+ toggleVary: (empId: number) => void;
52
+ bulkDay: (which: "off" | "on", dayIdx: number) => void;
53
+ avBulkReady: ComputedRef<boolean>;
54
+ applyAvBulk: () => void;
55
+ saveAvailability: () => void;
56
+ };
57
+ export type ScheduleOnboardingAvailabilityApi = ReturnType<typeof useScheduleOnboardingAvailability>;
58
+ export {};
@@ -0,0 +1,45 @@
1
+ import { type Ref } from 'vue';
2
+ import type { ScheduleOnboardingDayHours, ScheduleOnboardingRange } from './onboarding-types';
3
+ import type { SchedulePositionsApi } from './useSchedulePositions';
4
+ export declare function useScheduleOnboardingDemand(hours: ScheduleOnboardingDayHours[], positions: SchedulePositionsApi, note: Ref<string>): {
5
+ demand: import("vue").Reactive<ScheduleOnboardingRange[][]>;
6
+ dmDay: Ref<number, number>;
7
+ staffingSaving: Ref<boolean, boolean>;
8
+ note: Ref<string, string>;
9
+ isShut: (dayIdx: number) => boolean;
10
+ dayClosedConfirm: {
11
+ state: {
12
+ open: boolean;
13
+ message: string;
14
+ title: string | null;
15
+ confirmLabel: string | null;
16
+ onConfirm: (() => void) | null;
17
+ };
18
+ ask: (message: string, onConfirm: () => void, opts?: {
19
+ title?: string;
20
+ confirmLabel?: string;
21
+ }) => void;
22
+ confirm: () => void;
23
+ close: () => void;
24
+ };
25
+ shutAcknowledged: Record<number, boolean>;
26
+ dmPeak: (dayIdx: number) => number;
27
+ namedPositions: import("vue").ComputedRef<string[]>;
28
+ remainingCommon: import("vue").ComputedRef<string[]>;
29
+ suggestedPositions: import("vue").ComputedRef<string[]>;
30
+ openDays: import("vue").ComputedRef<number[]>;
31
+ daysSet: import("vue").ComputedRef<number>;
32
+ daySpan: (dayIdx: number) => string;
33
+ seedDemand: () => void;
34
+ selectDay: (dayIdx: number) => void;
35
+ setRangeTime: (index: number, field: "from" | "to", value: string) => void;
36
+ setRangeCount: (index: number, value: string) => void;
37
+ addRange: () => void;
38
+ removeRange: (index: number) => void;
39
+ addRole: (index: number) => void;
40
+ setRole: (index: number, roleIndex: number, field: "position" | "n", value: string) => void;
41
+ removeRole: (index: number, roleIndex: number) => void;
42
+ namedTotal: (range: ScheduleOnboardingRange) => number;
43
+ copyDay: (mode: "all" | "wk" | "we") => void;
44
+ };
45
+ export type ScheduleOnboardingDemandApi = ReturnType<typeof useScheduleOnboardingDemand>;
@@ -0,0 +1,187 @@
1
+ import type { ScheduleBoardApi } from './useScheduleBoard';
2
+ import type { TeamBasis, TeamEmployment, TeamRow } from './onboarding-types';
3
+ export interface ScheduleOnboardingEmployeesOptions {
4
+ board: ScheduleBoardApi;
5
+ note: {
6
+ value: string;
7
+ };
8
+ }
9
+ export declare function useScheduleOnboardingEmployees(options: ScheduleOnboardingEmployeesOptions): {
10
+ team: Record<number, TeamRow>;
11
+ employeeRows: import("vue").ComputedRef<{
12
+ emp: {
13
+ id: number;
14
+ sourceId: string;
15
+ name: string;
16
+ employmentType: "FULLTIME" | "PARTTIME";
17
+ role: string;
18
+ initials: string;
19
+ color: string;
20
+ weekHours: number;
21
+ pct: number;
22
+ contractHours?: number | undefined;
23
+ rate: number;
24
+ positions: string[];
25
+ shifts: ({
26
+ start: string;
27
+ end: string;
28
+ role: string;
29
+ status: import("../types").ShiftStatus;
30
+ clock?: {
31
+ in: string | null;
32
+ out: string | null;
33
+ status: "on-time" | "late" | "early-out" | "absent";
34
+ } | undefined;
35
+ conflict?: boolean | undefined;
36
+ conflictReason?: string | undefined;
37
+ openId?: number | undefined;
38
+ breakMins?: number | undefined;
39
+ breaks?: ({
40
+ type: "DURATION";
41
+ minutes: number;
42
+ breakPayType: "PAID" | "UNPAID";
43
+ } | {
44
+ type: "TIME_RANGE";
45
+ startTime: string;
46
+ endTime: string;
47
+ breakPayType: "PAID" | "UNPAID";
48
+ })[] | undefined;
49
+ assignmentId?: string | undefined;
50
+ updatedAt?: string | undefined;
51
+ splitGroupId?: string | undefined;
52
+ } | {
53
+ timeOff: "approved" | "pending";
54
+ requestId?: string | undefined;
55
+ type?: "OFF_DAY" | "LEAVE" | undefined;
56
+ leaveType?: "ANNUAL" | "MEDICAL" | "EMERGENCY" | "UNPAID" | undefined;
57
+ reason: string;
58
+ half?: boolean | undefined;
59
+ halfPart?: "AM" | "PM" | undefined;
60
+ from?: string | undefined;
61
+ to?: string | undefined;
62
+ appliedOn?: string | undefined;
63
+ note?: string | undefined;
64
+ cert?: {
65
+ name: string;
66
+ size: string;
67
+ } | null | undefined;
68
+ bal?: {
69
+ type: string;
70
+ entitled: number;
71
+ used: number;
72
+ } | undefined;
73
+ } | {
74
+ start: string;
75
+ end: string;
76
+ role: string;
77
+ status: import("../types").ShiftStatus;
78
+ clock?: {
79
+ in: string | null;
80
+ out: string | null;
81
+ status: "on-time" | "late" | "early-out" | "absent";
82
+ } | undefined;
83
+ conflict?: boolean | undefined;
84
+ conflictReason?: string | undefined;
85
+ openId?: number | undefined;
86
+ breakMins?: number | undefined;
87
+ breaks?: ({
88
+ type: "DURATION";
89
+ minutes: number;
90
+ breakPayType: "PAID" | "UNPAID";
91
+ } | {
92
+ type: "TIME_RANGE";
93
+ startTime: string;
94
+ endTime: string;
95
+ breakPayType: "PAID" | "UNPAID";
96
+ })[] | undefined;
97
+ assignmentId?: string | undefined;
98
+ updatedAt?: string | undefined;
99
+ splitGroupId?: string | undefined;
100
+ }[] | null)[];
101
+ remarks: {
102
+ author: string;
103
+ date: string;
104
+ type: "note" | "warning" | "praise";
105
+ text: string;
106
+ }[];
107
+ section: string;
108
+ compGroup?: string | undefined;
109
+ mobile?: string | undefined;
110
+ dial?: string | undefined;
111
+ locations?: string[] | undefined;
112
+ payBasis?: "hourly" | "monthly" | undefined;
113
+ payAmount?: number | undefined;
114
+ maxHours?: number | undefined;
115
+ maxOtHours?: number | undefined;
116
+ minHours?: number | undefined;
117
+ otAfterDaily?: number | undefined;
118
+ preferences?: string[] | undefined;
119
+ seniority?: "senior" | "junior" | "" | undefined;
120
+ availDays?: boolean[] | undefined;
121
+ availHours?: {
122
+ from: string;
123
+ to: string;
124
+ }[] | undefined;
125
+ passcode?: string | undefined;
126
+ masterUser?: boolean | undefined;
127
+ };
128
+ row: TeamRow;
129
+ }[]>;
130
+ employeePicked: import("vue").ComputedRef<number>;
131
+ employeeAllPicked: import("vue").ComputedRef<boolean>;
132
+ employeeSomePicked: import("vue").ComputedRef<boolean>;
133
+ pendingTeam: Set<number>;
134
+ pendingAvail: Map<number, {
135
+ dayOfWeek: number;
136
+ start: string;
137
+ end: string;
138
+ }[]>;
139
+ rawEmployee: (empId: number) => {
140
+ name: string;
141
+ employeeId: string;
142
+ employmentType: "FULLTIME" | "PARTTIME";
143
+ workingHour: number;
144
+ wage: {
145
+ type: "HOURLY" | "MONTHLY";
146
+ amount: number;
147
+ };
148
+ primaryPosition: {
149
+ positionId: string;
150
+ positionName: string;
151
+ } | null;
152
+ secondaryPositions: {
153
+ positionId: string;
154
+ positionName: string;
155
+ }[];
156
+ availability: {
157
+ dayOfWeek: number;
158
+ start: string;
159
+ end: string;
160
+ }[];
161
+ } | undefined;
162
+ seedEmployees: (missingOnly?: boolean) => void;
163
+ pickAll: (checked: boolean) => void;
164
+ setPosition: (empId: number, value: string) => void;
165
+ setEmployment: (empId: number, kind: TeamEmployment) => void;
166
+ setHours: (empId: number, value: string) => void;
167
+ setRate: (empId: number, value: string) => void;
168
+ bulkOpen: import("vue").Ref<boolean, boolean>;
169
+ bulk: {
170
+ scope: "all" | "full" | "part" | "nopos" | "nopay";
171
+ position: string;
172
+ second: string;
173
+ employment: "" | TeamEmployment;
174
+ maxHours: string;
175
+ rate: string;
176
+ basis: "" | TeamBasis;
177
+ };
178
+ bulkCount: import("vue").ComputedRef<number>;
179
+ applyBulk: () => void;
180
+ BULK_NONE: string;
181
+ validateEmployees: () => string | null;
182
+ saveEmployees: () => void;
183
+ note: {
184
+ value: string;
185
+ };
186
+ };
187
+ export type ScheduleOnboardingEmployeesApi = ReturnType<typeof useScheduleOnboardingEmployees>;
@@ -0,0 +1,15 @@
1
+ import type { ScheduleOnboardingDayHours } from './onboarding-types';
2
+ export declare const MAX_OPERATIONAL_SESSIONS = 2;
3
+ export declare function useScheduleOnboardingHours(): {
4
+ hours: import("vue").Reactive<ScheduleOnboardingDayHours[]>;
5
+ profileSnapshot: import("vue").Ref<string, string>;
6
+ hoursSnapshot: () => string;
7
+ hoursMatchProfile: import("vue").ComputedRef<boolean>;
8
+ openDayCount: import("vue").ComputedRef<number>;
9
+ resetHours: () => void;
10
+ toggleDay: (dayIdx: number) => void;
11
+ addSession: (dayIdx: number) => void;
12
+ removeSession: (dayIdx: number, sessionIdx: number) => void;
13
+ setSessionTime: (dayIdx: number, sessionIdx: number, field: "from" | "to", value: string) => void;
14
+ };
15
+ export type ScheduleOnboardingHoursApi = ReturnType<typeof useScheduleOnboardingHours>;
@@ -0,0 +1,11 @@
1
+ import type { ScheduleOnboardingStep } from './onboarding-types';
2
+ export declare function useScheduleOnboardingNavigation(): {
3
+ step: import("vue").Ref<ScheduleOnboardingStep, ScheduleOnboardingStep>;
4
+ stepIndex: import("vue").ComputedRef<number>;
5
+ isFirstStep: import("vue").ComputedRef<boolean>;
6
+ isLastStep: import("vue").ComputedRef<boolean>;
7
+ totalSteps: number;
8
+ steps: ScheduleOnboardingStep[];
9
+ isSkippable: import("vue").ComputedRef<boolean>;
10
+ };
11
+ export type ScheduleOnboardingNavigationApi = ReturnType<typeof useScheduleOnboardingNavigation>;