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

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 (134) hide show
  1. package/dist/{ApprovalCodeList-cG0zmQVJ.js → ApprovalCodeList-CJaNPHZC.js} +2 -2
  2. package/dist/{AuditLogList-BTifJhO1.js → AuditLogList-CHA98ZqW.js} +3 -3
  3. package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-qr5TwLTK.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-C7rvthEI.js} +2 -2
  4. package/dist/{EmployeeList-DzcMtxJ3.js → EmployeeList-CVmMKt71.js} +4 -4
  5. package/dist/{GrantUserList-D5b7tJ8Y.js → GrantUserList-MYjgt5-F.js} +3 -3
  6. package/dist/{Main-DkLBemi7.js → Main-BgB9lD4K.js} +9 -9
  7. package/dist/{Main-DFwdAWqn.js → Main-C0cnqQ3B.js} +5 -5
  8. package/dist/{Main-B2r59IOW.js → Main-hlcHtrsc.js} +2 -2
  9. package/dist/{PermissionSetList-B80hrfMW.js → PermissionSetList-5f1WIaVa.js} +5 -5
  10. package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DjNcJQM9.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-CFoTAGIX.js} +823 -823
  11. package/dist/{RoleList-DHO4JRKF.js → RoleList-DNR4miXr.js} +7 -7
  12. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-B4VUyKW3.js +470 -0
  13. package/dist/{ScheduleGeneralPage-WlBM8bxV.js → ScheduleGeneralPage-Cd5AlY4z.js} +273 -236
  14. package/dist/ScheduleModal.vue_vue_type_script_setup_true_lang-Cf0l2MRg.js +2188 -0
  15. package/dist/SchedulePage-C8m0-m3l.js +18257 -0
  16. package/dist/{SchedulePositionPage-C0hrO11d.js → SchedulePositionPage-DyRckyUx.js} +67 -66
  17. package/dist/{TeamMemberList-CgFWLRBM.js → TeamMemberList-mw5OveZG.js} +6 -6
  18. package/dist/{TimesheetList-Dp40G-0I.js → TimesheetList-BzXarZbM.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-Dq5i4poN.js} +2 -2
  20. package/dist/{app-CmBSTvaI.js → app-DSsdRLHg.js} +657 -577
  21. package/dist/app.js +1 -1
  22. package/dist/{dayjs.min-CfL2DQ3d.js → dayjs.min-B6xBXQtU.js} +1 -1
  23. package/dist/{employee-DQcHjoij.js → employee-hMhzuqk1.js} +28 -27
  24. package/dist/{iteration-BlavheWG.js → iteration-B34AvpNC.js} +1 -1
  25. package/dist/{lodash-QerqayrJ.js → lodash-1Vyuy7Mu.js} +1 -1
  26. package/dist/{role-RM2YLO7n.js → role-DKOrgO6f.js} +1 -1
  27. package/dist/{rule-DjlvYIuP.js → rule-CBzQ3GeV.js} +2 -2
  28. package/dist/src/api/schedule/index.d.ts +5 -1
  29. package/dist/src/components/layout/withScheduleShell.d.ts +10 -0
  30. package/dist/src/types/employee.d.ts +1 -0
  31. package/dist/src/types/schedule.d.ts +1 -1
  32. package/dist/src/views/scheduling/components/ScheduleBoardAreaRows.vue.d.ts +28 -0
  33. package/dist/src/views/scheduling/components/ScheduleBoardEditOverlays.vue.d.ts +19 -0
  34. package/dist/src/views/scheduling/components/ScheduleBoardEmployeeRows.vue.d.ts +38 -0
  35. package/dist/src/views/scheduling/components/ScheduleBoardGridHeader.vue.d.ts +24 -0
  36. package/dist/src/views/scheduling/components/ScheduleBoardInteractionOverlays.vue.d.ts +38 -0
  37. package/dist/src/views/scheduling/components/ScheduleBoardOnboardingOverlays.vue.d.ts +25 -0
  38. package/dist/src/views/scheduling/components/ScheduleBoardRails.vue.d.ts +17 -0
  39. package/dist/src/views/scheduling/components/ScheduleBoardToolbar.vue.d.ts +39 -0
  40. package/dist/src/views/scheduling/components/ScheduleBoardUtilityOverlays.vue.d.ts +22 -0
  41. package/dist/src/views/scheduling/components/{ScheduleOnboardingComplete.vue.d.ts → ScheduleCompletionDialog.vue.d.ts} +8 -3
  42. package/dist/src/views/scheduling/components/{ScheduleOpenShiftCardMenu.vue.d.ts → ScheduleContextMenu.vue.d.ts} +10 -3
  43. package/dist/src/views/scheduling/components/{SchedulePdfPreview.vue.d.ts → ScheduleExportPreview.vue.d.ts} +1 -0
  44. package/dist/src/views/scheduling/components/ScheduleLoadState.vue.d.ts +10 -0
  45. package/dist/src/views/scheduling/components/ScheduleModal.vue.d.ts +26 -0
  46. package/dist/src/views/scheduling/components/{ScheduleTourAllSet.vue.d.ts → ScheduleOnboardingClosedDayConfirm.vue.d.ts} +2 -2
  47. package/dist/src/views/scheduling/components/{ScheduleEmployeeMenu.vue.d.ts → ScheduleOnboardingDemandDays.vue.d.ts} +2 -2
  48. package/dist/src/views/scheduling/components/{ScheduleExportDoneDialog.vue.d.ts → ScheduleOnboardingDemandFooter.vue.d.ts} +2 -2
  49. package/dist/src/views/scheduling/components/ScheduleOnboardingDemandHeader.vue.d.ts +6 -0
  50. package/dist/src/views/scheduling/components/ScheduleOnboardingHoursProfileNotice.vue.d.ts +10 -0
  51. package/dist/src/views/scheduling/components/ScheduleOnboardingPositions.vue.d.ts +6 -0
  52. package/dist/src/views/scheduling/components/ScheduleOnboardingReview.vue.d.ts +6 -0
  53. package/dist/src/views/scheduling/components/ScheduleOnboardingWizardFooter.vue.d.ts +6 -0
  54. package/dist/src/views/scheduling/components/ScheduleOnboardingWizardHeader.vue.d.ts +11 -0
  55. package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +7 -1
  56. package/dist/src/views/scheduling/components/ScheduleSetupBanner.vue.d.ts +12 -0
  57. package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +2 -2
  58. package/dist/src/views/scheduling/components/ScheduleStaffRail.vue.d.ts +4 -4
  59. package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +2 -2
  60. package/dist/src/views/scheduling/components/ScheduleTopbar.vue.d.ts +3 -3
  61. package/dist/src/views/scheduling/composables/onboarding-types.d.ts +1 -1
  62. package/dist/src/views/scheduling/composables/remyPrompt.d.ts +13 -0
  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/useRemyAppStore.d.ts +10 -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/useScheduleBoard.d.ts +18 -2
  76. package/dist/src/views/scheduling/composables/useScheduleCloneOutletModal.d.ts +3 -1
  77. package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +6 -1
  78. package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +1 -1
  79. package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +4 -19
  80. package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +13 -2
  81. package/dist/src/views/scheduling/composables/useScheduleEmployeeAccess.d.ts +11 -0
  82. package/dist/src/views/scheduling/composables/useScheduleEmployeeAvailability.d.ts +13 -0
  83. package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +26 -0
  84. package/dist/src/views/scheduling/composables/useScheduleEmployeeCompensation.d.ts +7 -0
  85. package/dist/src/views/scheduling/composables/useScheduleEmployeeForm.d.ts +22 -0
  86. package/dist/src/views/scheduling/composables/useScheduleEmployeeIdentity.d.ts +9 -0
  87. package/dist/src/views/scheduling/composables/useScheduleEmployeeMenu.d.ts +6 -3
  88. package/dist/src/views/scheduling/composables/useScheduleEmployeePersistence.d.ts +25 -0
  89. package/dist/src/views/scheduling/composables/useScheduleEmployeeValidation.d.ts +18 -0
  90. package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +19 -11
  91. package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +3 -6
  92. package/dist/src/views/scheduling/composables/useScheduleOnboardingAvailability.d.ts +58 -0
  93. package/dist/src/views/scheduling/composables/useScheduleOnboardingDemand.d.ts +45 -0
  94. package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +187 -0
  95. package/dist/src/views/scheduling/composables/useScheduleOnboardingHours.d.ts +15 -0
  96. package/dist/src/views/scheduling/composables/useScheduleOnboardingNavigation.d.ts +11 -0
  97. package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +64 -487
  98. package/dist/src/views/scheduling/composables/useSchedulePageActions.d.ts +18 -0
  99. package/dist/src/views/scheduling/composables/useSchedulePageCellActions.d.ts +21 -0
  100. package/dist/src/views/scheduling/composables/useSchedulePageCellDrop.d.ts +18 -0
  101. package/dist/src/views/scheduling/composables/useSchedulePageEmployeeActions.d.ts +22 -0
  102. package/dist/src/views/scheduling/composables/useSchedulePageOverlays.d.ts +10 -3
  103. package/dist/src/views/scheduling/composables/useSchedulePdfExport.d.ts +19 -0
  104. package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +3 -1
  105. package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +3 -1
  106. package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +7 -1
  107. package/dist/src/views/scheduling/composables/useSchedulePublishPersistence.d.ts +11 -0
  108. package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +6 -0
  109. package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +2 -24
  110. package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +6 -1
  111. package/dist/src/views/scheduling/composables/useScheduleShiftDraft.d.ts +62 -0
  112. package/dist/src/views/scheduling/composables/useScheduleShiftPersistence.d.ts +17 -0
  113. package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +10 -5
  114. package/dist/src/views/scheduling/composables/useScheduleStatsRow.d.ts +4 -1
  115. package/dist/src/views/scheduling/composables/useScheduleTour.d.ts +6 -4
  116. package/dist/src/views/scheduling/country-rules/index.d.ts +24 -0
  117. package/dist/src/views/scheduling/data.d.ts +11 -6
  118. package/dist/src/views/scheduling/locales/index.d.ts +80 -0
  119. package/dist/src/views/scheduling/schedule-constants.d.ts +7 -0
  120. package/dist/src/views/scheduling/schedule-state.d.ts +32 -8
  121. package/dist/src/views/scheduling/schedule-store.d.ts +4 -1
  122. package/dist/src/views/scheduling/types.d.ts +5 -0
  123. package/dist/style.css +1 -1
  124. package/dist/tsconfig.app.tsbuildinfo +1 -1
  125. package/dist/{useReportPermissions-Bl6Br79r.js → useReportPermissions-B2ev0j4w.js} +3 -3
  126. package/package.json +2 -1
  127. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-B-XtB64L.js +0 -452
  128. package/dist/SchedulePage-Nm0krGVU.js +0 -17056
  129. package/dist/ScheduleSelect.vue_vue_type_script_setup_true_lang-DTDXir_7.js +0 -1150
  130. package/dist/src/components/layout/AppSidebar.vue.d.ts +0 -2
  131. package/dist/src/components/layout/withShell.d.ts +0 -14
  132. package/dist/src/views/scheduling/components/ScheduleShiftCardMenu.vue.d.ts +0 -12
  133. package/dist/src/views/scheduling/composables/useScheduleStaffRail.d.ts +0 -17
  134. package/dist/src/views/scheduling/composables/useScheduleTopbar.d.ts +0 -10
@@ -1,141 +1,165 @@
1
- import { ref as m, reactive as E, computed as T, defineComponent as I, createElementBlock as u, createCommentVNode as L, openBlock as d, withModifiers as H, createElementVNode as e, createVNode as f, withCtx as g, Fragment as M, createTextVNode as b, toDisplayString as c, withDirectives as k, vModelText as S, renderList as A, createBlock as U, onMounted as P, unref as i, normalizeClass as D } from "vue";
2
- import { useRouter as V } from "vue-router";
3
- import { R as z } from "./app-CmBSTvaI.js";
4
- import { b as n, w as x, x as B, a4 as w, a6 as F, a7 as J, T as Y, a5 as q } from "./ScheduleSelect.vue_vue_type_script_setup_true_lang-DTDXir_7.js";
5
- import "./iteration-BlavheWG.js";
1
+ import { ref as f, reactive as V, computed as I, defineComponent as P, createBlock as T, openBlock as u, withCtx as g, createElementVNode as e, createVNode as b, createElementBlock as p, Fragment as D, createTextVNode as w, toDisplayString as y, withDirectives as S, vModelText as R, createCommentVNode as E, renderList as B, onMounted as z, unref as o, normalizeClass as U } from "vue";
2
+ import { useRouter as Y } from "vue-router";
3
+ import { useSnackbar as q } from "@feedmepos/ui-library";
4
+ import { R as G } from "./app-DSsdRLHg.js";
5
+ import { b as h, o as H, K as N, am as F, ak as C, an as j, ao as W, a7 as J, al as K } from "./ScheduleModal.vue_vue_type_script_setup_true_lang-Cf0l2MRg.js";
6
+ import "./iteration-B34AvpNC.js";
6
7
  import "@feedmepos/mf-common";
7
- import "./employee-DQcHjoij.js";
8
- const j = [
8
+ import "./employee-hMhzuqk1.js";
9
+ const Q = [
9
10
  { key: "payrates", label: "Pay rates" },
10
11
  { key: "overtime", label: "Overtime" }
11
12
  ];
12
- function N() {
13
- return JSON.parse(
14
- JSON.stringify({
15
- salesForecast: n.salesForecast,
16
- labourTarget: n.labourTarget,
17
- budgetFromSales: n.budgetFromSales,
18
- budget: n.budget,
19
- payRate: n.payRate,
20
- otCapHours: n.otCapHours,
21
- otBudget: n.otBudget,
22
- notify: n.notify
23
- })
24
- );
13
+ function A() {
14
+ return structuredClone({
15
+ // RULES is reactive, so spreading each rate tier first gives structuredClone plain
16
+ // objects instead of Vue Proxy instances, which structuredClone cannot clone.
17
+ payRate: {
18
+ NORMAL: { ...h.payRate.NORMAL },
19
+ REST_DAY: { ...h.payRate.REST_DAY },
20
+ PUBLIC_HOLIDAY: { ...h.payRate.PUBLIC_HOLIDAY }
21
+ },
22
+ otCapHours: h.otCapHours
23
+ });
25
24
  }
26
- function G() {
27
- const l = m(!1), p = m("payrates"), a = E(N()), s = m(!1);
28
- async function r() {
29
- if (x.value) {
30
- s.value = !0;
31
- try {
32
- const y = await B.getSettings(x.value);
33
- n.payRate = JSON.parse(JSON.stringify(y.payRate));
34
- } finally {
35
- s.value = !1;
36
- }
25
+ function X() {
26
+ const l = f(!1), v = f("payrates"), s = V(A()), i = f(!1);
27
+ let a = 0;
28
+ async function d() {
29
+ if (!H.value) return;
30
+ const m = ++a, O = H.value;
31
+ i.value = !0;
32
+ try {
33
+ const n = await N.getSettings(O);
34
+ if (m !== a || H.value !== O) return;
35
+ h.payRate = structuredClone(n.payRate), h.otCapHours = n.overtime.maxMonthlyHours;
36
+ } finally {
37
+ m === a && (i.value = !1);
37
38
  }
38
39
  }
39
- function h(y) {
40
- Object.assign(a, N()), p.value = y ?? "payrates", l.value = !0;
40
+ function k(m) {
41
+ Object.assign(s, A()), v.value = m ?? "payrates", l.value = !0;
41
42
  }
42
- const v = T(() => JSON.stringify(a) !== JSON.stringify(N()));
43
- function C() {
44
- return v.value ? !1 : (l.value = !1, !0);
43
+ const c = I(() => JSON.stringify(s) !== JSON.stringify(A()));
44
+ function x() {
45
+ return c.value ? !1 : (l.value = !1, !0);
45
46
  }
46
- function O() {
47
- Object.assign(a, N()), l.value = !1;
47
+ function $() {
48
+ Object.assign(s, A()), l.value = !1;
48
49
  }
49
- async function R() {
50
- if (!x.value) throw new Error("No outlet selected");
51
- const y = await B.saveSettings(x.value, { payRate: a.payRate });
52
- n.salesForecast = a.salesForecast, n.labourTarget = a.labourTarget, n.budgetFromSales = a.budgetFromSales, n.budget = a.budget, n.payRate = JSON.parse(JSON.stringify(y.payRate)), n.otCapHours = a.otCapHours, n.otBudget = a.otBudget, n.notify = JSON.parse(JSON.stringify(a.notify)), l.value = !1;
50
+ async function L() {
51
+ if (!H.value) throw new Error("No outlet selected");
52
+ const m = await N.saveSettings(H.value, {
53
+ payRate: s.payRate,
54
+ overtime: { maxMonthlyHours: s.otCapHours }
55
+ });
56
+ h.payRate = structuredClone(m.payRate), h.otCapHours = m.overtime.maxMonthlyHours, l.value = !1;
53
57
  }
54
- return { isOpen: l, activeSection: p, draft: a, dirty: v, loading: s, load: r, open: h, close: C, discard: O, save: R };
58
+ return { isOpen: l, activeSection: v, draft: s, dirty: c, loading: i, load: d, open: k, close: x, discard: $, save: L };
55
59
  }
56
- function W(l) {
57
- const p = m(!1), a = m(""), s = m(/* @__PURE__ */ new Set()), r = m(!1), h = m(null), v = T(
60
+ function Z(l, v = {}) {
61
+ const s = f(!1), i = f(""), a = f(/* @__PURE__ */ new Set()), d = f(!1), k = f(null), c = I(
58
62
  () => {
59
- var t;
60
- return ((t = l.options.value.find((o) => o.value === l.outletId.value)) == null ? void 0 : t.label) ?? "";
63
+ var n;
64
+ return ((n = l.options.value.find((t) => t.value === l.outletId.value)) == null ? void 0 : n.label) ?? "";
61
65
  }
62
- ), C = T(() => {
63
- const t = a.value.trim().toLowerCase();
66
+ ), x = I(() => {
67
+ const n = i.value.trim().toLowerCase();
64
68
  return l.options.value.filter(
65
- (o) => o.value !== l.outletId.value && (!t || o.label.toLowerCase().includes(t))
69
+ (t) => t.value !== l.outletId.value && (!n || t.label.toLowerCase().includes(n))
66
70
  );
67
71
  });
68
- function O() {
69
- a.value = "", s.value = /* @__PURE__ */ new Set(), r.value = !1, h.value = null, p.value = !0;
72
+ function $() {
73
+ i.value = "", a.value = /* @__PURE__ */ new Set(), d.value = !1, k.value = null, s.value = !0;
70
74
  }
71
- function R() {
72
- p.value = !1;
75
+ function L() {
76
+ s.value = !1;
73
77
  }
74
- function y(t) {
75
- const o = new Set(s.value);
76
- o.has(t) ? o.delete(t) : o.add(t), s.value = o;
78
+ function m(n) {
79
+ const t = new Set(a.value);
80
+ t.has(n) ? t.delete(n) : t.add(n), a.value = t;
77
81
  }
78
- async function $() {
79
- const t = [...s.value];
80
- if (!(!t.length || r.value)) {
81
- r.value = !0;
82
+ async function O() {
83
+ var t, r;
84
+ const n = [...a.value];
85
+ if (!(!n.length || d.value)) {
86
+ d.value = !0;
82
87
  try {
83
- await Promise.all(t.map((o) => B.saveSettings(o, { payRate: n.payRate }))), h.value = t.length;
88
+ await Promise.all(
89
+ n.map(
90
+ (M) => N.saveSettings(M, {
91
+ payRate: h.payRate,
92
+ overtime: { maxMonthlyHours: h.otCapHours }
93
+ })
94
+ )
95
+ ), k.value = n.length, (t = v.notify) == null || t.call(
96
+ v,
97
+ `Setup copied to ${n.length} outlet${n.length === 1 ? "" : "s"}`,
98
+ "success"
99
+ );
100
+ } catch (M) {
101
+ (r = v.notify) == null || r.call(
102
+ v,
103
+ M instanceof Error ? M.message : "Could not clone outlet setup",
104
+ "error"
105
+ );
84
106
  } finally {
85
- r.value = !1;
107
+ d.value = !1;
86
108
  }
87
109
  }
88
110
  }
89
111
  return {
90
- open: p,
91
- query: a,
92
- selected: s,
93
- saving: r,
94
- done: h,
95
- sourceLabel: v,
96
- targets: C,
97
- openModal: O,
98
- close: R,
99
- toggle: y,
100
- confirm: $
112
+ open: s,
113
+ query: i,
114
+ selected: a,
115
+ saving: d,
116
+ done: k,
117
+ sourceLabel: c,
118
+ targets: x,
119
+ openModal: $,
120
+ close: L,
121
+ toggle: m,
122
+ confirm: O
101
123
  };
102
124
  }
103
- const K = {
104
- class: "ce-modal",
105
- style: { width: "min(460px, 95vw)" }
106
- }, Q = { class: "am-head" }, X = { class: "ce-body" }, Z = {
125
+ const _ = { class: "am-head" }, ee = { class: "ce-body" }, te = {
107
126
  class: "ce-hint",
108
127
  style: { "margin-bottom": "var(--fm-spacing-10)" }
109
- }, _ = { class: "sch-search" }, ee = { class: "asg-list" }, te = ["checked", "onChange"], se = { class: "asg-id" }, ae = { class: "asg-nm" }, le = {
128
+ }, se = { class: "sch-search" }, ae = { class: "asg-list" }, le = ["checked", "onChange"], oe = { class: "asg-id" }, ne = { class: "asg-nm" }, ie = {
110
129
  key: 0,
111
130
  class: "asg-empty"
112
- }, oe = {
131
+ }, re = {
113
132
  key: 1,
114
133
  class: "cg-done"
115
- }, ie = { class: "cg-st-main" }, ne = { class: "am-foot" }, re = { class: "am-cost-preview" }, de = { class: "am-foot-btns" }, ue = /* @__PURE__ */ I({
134
+ }, de = { class: "cg-st-main" }, ue = { class: "am-foot" }, ve = { class: "am-cost-preview" }, ce = { class: "am-foot-btns" }, pe = /* @__PURE__ */ P({
116
135
  __name: "ScheduleCloneOutletModal",
117
136
  props: {
118
137
  modal: {}
119
138
  },
120
139
  setup(l) {
121
- return (p, a) => l.modal.open.value ? (d(), u("div", {
122
- key: 0,
123
- class: "modal-overlay open",
124
- onClick: a[5] || (a[5] = H((s) => l.modal.close(), ["self"]))
125
- }, [
126
- e("div", K, [
127
- e("div", Q, [
128
- a[7] || (a[7] = e("div", { class: "am-title" }, "Clone outlet setup", -1)),
129
- f(w, {
140
+ return (v, s) => (u(), T(F, {
141
+ open: l.modal.open.value,
142
+ "panel-class": "ce-modal",
143
+ "panel-style": "width: min(460px, 95vw)",
144
+ "labelled-by": "schedule-clone-title",
145
+ onClose: s[5] || (s[5] = (i) => l.modal.close())
146
+ }, {
147
+ default: g(() => [
148
+ e("div", _, [
149
+ s[7] || (s[7] = e("div", {
150
+ id: "schedule-clone-title",
151
+ class: "am-title"
152
+ }, "Clone outlet setup", -1)),
153
+ b(C, {
130
154
  hierarchy: "ghost",
131
155
  size: "xs",
132
156
  "icon-only": "",
133
157
  class: "ce-close-x",
134
158
  type: "button",
135
159
  "aria-label": "Close",
136
- onClick: a[0] || (a[0] = (s) => l.modal.close())
160
+ onClick: s[0] || (s[0] = (i) => l.modal.close())
137
161
  }, {
138
- default: g(() => [...a[6] || (a[6] = [
162
+ default: g(() => [...s[6] || (s[6] = [
139
163
  e("svg", {
140
164
  width: "20",
141
165
  height: "20",
@@ -152,15 +176,15 @@ const K = {
152
176
  _: 1
153
177
  })
154
178
  ]),
155
- e("div", X, [
156
- l.modal.done.value === null ? (d(), u(M, { key: 0 }, [
157
- e("div", Z, [
158
- a[8] || (a[8] = b(" Copy ", -1)),
159
- e("b", null, c(l.modal.sourceLabel.value), 1),
160
- a[9] || (a[9] = b("'s pay rates to: ", -1))
179
+ e("div", ee, [
180
+ l.modal.done.value === null ? (u(), p(D, { key: 0 }, [
181
+ e("div", te, [
182
+ s[8] || (s[8] = w(" Copy ", -1)),
183
+ e("b", null, y(l.modal.sourceLabel.value), 1),
184
+ s[9] || (s[9] = w("'s pay rates to: ", -1))
161
185
  ]),
162
- e("div", _, [
163
- a[10] || (a[10] = e("svg", {
186
+ e("div", se, [
187
+ s[10] || (s[10] = e("svg", {
164
188
  width: "16",
165
189
  height: "16",
166
190
  viewBox: "0 0 16 16",
@@ -181,146 +205,159 @@ const K = {
181
205
  "stroke-linecap": "round"
182
206
  })
183
207
  ], -1)),
184
- k(e("input", {
185
- "onUpdate:modelValue": a[1] || (a[1] = (s) => l.modal.query.value = s),
208
+ S(e("input", {
209
+ "onUpdate:modelValue": s[1] || (s[1] = (i) => l.modal.query.value = i),
186
210
  type: "search",
187
211
  placeholder: "Search outlets",
188
212
  "aria-label": "Search outlets",
189
213
  autocomplete: "off"
190
214
  }, null, 512), [
191
- [S, l.modal.query.value]
215
+ [R, l.modal.query.value]
192
216
  ])
193
217
  ]),
194
- e("div", ee, [
195
- (d(!0), u(M, null, A(l.modal.targets.value, (s) => (d(), u("label", {
196
- key: s.value,
218
+ e("div", ae, [
219
+ (u(!0), p(D, null, B(l.modal.targets.value, (i) => (u(), p("label", {
220
+ key: i.value,
197
221
  class: "asg-row"
198
222
  }, [
199
223
  e("input", {
200
224
  type: "checkbox",
201
225
  class: "sch-checkbox",
202
226
  "data-platform": "desktop",
203
- checked: l.modal.selected.value.has(s.value),
204
- onChange: (r) => l.modal.toggle(s.value)
205
- }, null, 40, te),
206
- e("span", se, [
207
- e("span", ae, c(s.label), 1)
227
+ checked: l.modal.selected.value.has(i.value),
228
+ onChange: (a) => l.modal.toggle(i.value)
229
+ }, null, 40, le),
230
+ e("span", oe, [
231
+ e("span", ne, y(i.label), 1)
208
232
  ])
209
233
  ]))), 128)),
210
- l.modal.targets.value.length ? L("", !0) : (d(), u("div", le, c(l.modal.query.value ? "No outlet matches that search." : "No other outlets."), 1))
234
+ l.modal.targets.value.length ? E("", !0) : (u(), p("div", ie, y(l.modal.query.value ? "No outlet matches that search." : "No other outlets."), 1))
211
235
  ]),
212
- a[11] || (a[11] = e("div", {
236
+ s[11] || (s[11] = e("div", {
213
237
  class: "ce-hint",
214
238
  style: { "margin-top": "var(--fm-spacing-10)" }
215
239
  }, " Copies this outlet's pay rates to the outlets you tick. Their current pay rates are replaced. ", -1))
216
- ], 64)) : (d(), u("div", oe, [
217
- a[13] || (a[13] = e("span", {
240
+ ], 64)) : (u(), p("div", re, [
241
+ s[13] || (s[13] = e("span", {
218
242
  class: "cg-done-tick",
219
243
  "aria-hidden": "true"
220
244
  }, "✓", -1)),
221
- e("div", ie, [
222
- a[12] || (a[12] = e("b", null, "Pay rates copied", -1)),
223
- e("small", null, "Sent to " + c(l.modal.done.value) + " outlet" + c(l.modal.done.value === 1 ? "" : "s"), 1)
245
+ e("div", de, [
246
+ s[12] || (s[12] = e("b", null, "Pay rates copied", -1)),
247
+ e("small", null, "Sent to " + y(l.modal.done.value) + " outlet" + y(l.modal.done.value === 1 ? "" : "s"), 1)
224
248
  ])
225
249
  ]))
226
250
  ]),
227
- e("div", ne, [
228
- e("div", re, c(l.modal.done.value === null && l.modal.selected.value.size ? `${l.modal.selected.value.size} outlet${l.modal.selected.value.size === 1 ? "" : "s"} selected` : ""), 1),
229
- e("div", de, [
230
- l.modal.done.value === null ? (d(), u(M, { key: 0 }, [
231
- f(w, {
251
+ e("div", ue, [
252
+ e("div", ve, y(l.modal.done.value === null && l.modal.selected.value.size ? `${l.modal.selected.value.size} outlet${l.modal.selected.value.size === 1 ? "" : "s"} selected` : ""), 1),
253
+ e("div", ce, [
254
+ l.modal.done.value === null ? (u(), p(D, { key: 0 }, [
255
+ b(C, {
232
256
  hierarchy: "secondary",
233
257
  size: "sm",
234
258
  class: "am-btn am-btn-sec",
235
259
  type: "button",
236
- onClick: a[2] || (a[2] = (s) => l.modal.close())
260
+ onClick: s[2] || (s[2] = (i) => l.modal.close())
237
261
  }, {
238
- default: g(() => [...a[14] || (a[14] = [
239
- b(" Cancel ", -1)
262
+ default: g(() => [...s[14] || (s[14] = [
263
+ w(" Cancel ", -1)
240
264
  ])]),
241
265
  _: 1
242
266
  }),
243
- f(w, {
267
+ b(C, {
244
268
  hierarchy: "primary",
245
269
  size: "sm",
246
270
  class: "am-btn am-btn-primary",
247
271
  type: "button",
248
272
  disabled: !l.modal.selected.value.size || l.modal.saving.value,
249
- onClick: a[3] || (a[3] = (s) => l.modal.confirm())
273
+ onClick: s[3] || (s[3] = (i) => l.modal.confirm())
250
274
  }, {
251
275
  default: g(() => [
252
- b(c(l.modal.saving.value ? "Copying…" : "Copy setup"), 1)
276
+ w(y(l.modal.saving.value ? "Copying…" : "Copy setup"), 1)
253
277
  ]),
254
278
  _: 1
255
279
  }, 8, ["disabled"])
256
- ], 64)) : (d(), U(w, {
280
+ ], 64)) : (u(), T(C, {
257
281
  key: 1,
258
282
  hierarchy: "primary",
259
283
  size: "sm",
260
284
  class: "am-btn am-btn-primary",
261
285
  type: "button",
262
- onClick: a[4] || (a[4] = (s) => l.modal.close())
286
+ onClick: s[4] || (s[4] = (i) => l.modal.close())
263
287
  }, {
264
- default: g(() => [...a[15] || (a[15] = [
265
- b(" Done ", -1)
288
+ default: g(() => [...s[15] || (s[15] = [
289
+ w(" Done ", -1)
266
290
  ])]),
267
291
  _: 1
268
292
  }))
269
293
  ])
270
294
  ])
271
- ])
272
- ])) : L("", !0);
295
+ ]),
296
+ _: 1
297
+ }, 8, ["open"]));
273
298
  }
274
- }), ve = { class: "main" }, pe = {
299
+ }), me = { class: "main" }, ye = {
275
300
  id: "viewSettings",
276
301
  class: "view"
277
- }, ce = { class: "sp-head" }, me = { class: "outlet-bar" }, ye = { class: "sp-body" }, fe = { class: "sp-tabs" }, be = ["onClick"], he = { class: "sp-content" }, ge = { class: "sp-panel" }, we = {
302
+ }, fe = { class: "sp-head" }, he = { class: "outlet-bar" }, be = { class: "sp-body" }, ge = { class: "sp-tabs" }, we = ["onClick"], ke = { class: "sp-content" }, Ce = { class: "sp-panel" }, Se = {
278
303
  key: 0,
279
304
  id: "sp-payrates",
280
305
  class: "sp-sec"
281
- }, ke = { class: "sp-card" }, Se = { class: "sp-row" }, Ce = { class: "sp-field" }, Oe = { class: "sp-row" }, Re = { class: "sp-field" }, $e = { class: "sp-row" }, xe = { class: "sp-field" }, Ne = { class: "sp-card" }, Me = { class: "sp-row" }, Te = { class: "sp-field" }, Le = { class: "sp-row" }, Be = { class: "sp-field" }, De = {
306
+ }, Re = { class: "sp-card" }, Oe = { class: "sp-row" }, xe = { class: "sp-field" }, $e = { class: "sp-row" }, Le = { class: "sp-field" }, Me = { class: "sp-row" }, He = { class: "sp-field" }, Ae = { class: "sp-card" }, De = { class: "sp-row" }, Ie = { class: "sp-field" }, Ee = { class: "sp-row" }, Ne = { class: "sp-field" }, Te = {
282
307
  key: 1,
283
308
  id: "sp-overtime",
284
309
  class: "sp-sec"
285
- }, Ie = { class: "sp-card" }, Ae = { class: "sp-row" }, Ee = { class: "sp-save-txt" }, He = { key: 0 }, je = /* @__PURE__ */ I({
310
+ }, Ue = { class: "sp-card" }, Pe = { class: "sp-row" }, Be = { class: "sp-save-txt" }, Ve = { key: 0 }, Ke = /* @__PURE__ */ P({
286
311
  __name: "ScheduleGeneralPage",
287
312
  setup(l) {
288
- const p = m(null);
289
- F(p);
290
- const a = V(), s = G(), r = J(), h = W(r), v = m(!1);
291
- P(async () => {
292
- await r.resolve() && await Y(/* @__PURE__ */ new Date()), await s.load(), s.open();
313
+ const v = f(null);
314
+ j(v);
315
+ const s = Y(), i = q(), a = X(), d = W(), k = Z(d, {
316
+ notify: (n, t) => i.open({ message: n, type: t })
317
+ }), c = f(!1);
318
+ z(async () => {
319
+ await d.resolve() && await J(/* @__PURE__ */ new Date()), await a.load(), a.open();
293
320
  });
294
- const C = T(
295
- () => r.options.value.length ? r.options.value : [{ value: "", label: "No outlet selected", disabled: !0 }]
321
+ const x = I(
322
+ () => d.options.value.length ? d.options.value : [{ value: "", label: "No outlet selected", disabled: !0 }]
296
323
  );
297
- async function O($) {
298
- s.dirty.value || await r.switchTo($, /* @__PURE__ */ new Date()) && (await s.load(), s.open());
324
+ async function $(n) {
325
+ a.dirty.value || await d.switchTo(n, /* @__PURE__ */ new Date()) && (await a.load(), a.open());
299
326
  }
300
- function R() {
301
- s.close() && a.push({ name: z.SCHEDULE });
327
+ function L() {
328
+ a.close() && s.push({ name: G.SCHEDULE });
302
329
  }
303
- function y() {
304
- if (!v.value) {
305
- v.value = !0;
330
+ function m() {
331
+ if (!c.value) {
332
+ c.value = !0;
306
333
  return;
307
334
  }
308
- v.value = !1, s.discard();
335
+ c.value = !1, a.discard();
336
+ }
337
+ async function O() {
338
+ try {
339
+ await a.save(), i.open({ message: "General settings saved", type: "success" });
340
+ } catch (n) {
341
+ i.open({
342
+ message: n instanceof Error ? n.message : "Could not save general settings",
343
+ type: "error"
344
+ });
345
+ }
309
346
  }
310
- return ($, t) => (d(), u("div", {
347
+ return (n, t) => (u(), p("div", {
311
348
  ref_key: "rootEl",
312
- ref: p,
349
+ ref: v,
313
350
  class: "sch"
314
351
  }, [
315
- e("div", ve, [
316
- e("div", pe, [
317
- e("div", ce, [
318
- f(w, {
352
+ e("div", me, [
353
+ e("div", ye, [
354
+ e("div", fe, [
355
+ b(C, {
319
356
  hierarchy: "ghost",
320
357
  size: "sm",
321
358
  class: "sp-back",
322
359
  type: "button",
323
- onClick: R
360
+ onClick: L
324
361
  }, {
325
362
  default: g(() => [...t[9] || (t[9] = [
326
363
  e("svg", {
@@ -343,27 +380,27 @@ const K = {
343
380
  _: 1
344
381
  }),
345
382
  t[12] || (t[12] = e("div", { class: "sp-title" }, "General Settings", -1)),
346
- t[13] || (t[13] = e("div", { class: "sp-sub" }, "Pay multipliers for this outlet.", -1)),
347
- e("div", me, [
383
+ t[13] || (t[13] = e("div", { class: "sp-sub" }, "Pay multipliers and overtime limit for this outlet.", -1)),
384
+ e("div", he, [
348
385
  t[11] || (t[11] = e("span", { class: "outlet-bar-lbl" }, "Outlet", -1)),
349
- f(q, {
386
+ b(K, {
350
387
  class: "outlet-sel",
351
388
  "aria-label": "Outlet being configured",
352
389
  searchable: "",
353
- disabled: i(s).dirty.value || i(s).loading.value,
354
- title: i(s).dirty.value ? "Save or discard changes before switching outlets" : "Which outlet these pay rates apply to",
355
- "model-value": i(r).outletId.value,
356
- options: C.value,
357
- "onUpdate:modelValue": O
390
+ disabled: o(a).dirty.value || o(a).loading.value,
391
+ title: o(a).dirty.value ? "Save or discard changes before switching outlets" : "Which outlet these pay rates apply to",
392
+ "model-value": o(d).outletId.value,
393
+ options: x.value,
394
+ "onUpdate:modelValue": $
358
395
  }, null, 8, ["disabled", "title", "model-value", "options"]),
359
- f(w, {
396
+ b(C, {
360
397
  hierarchy: "secondary",
361
398
  size: "sm",
362
399
  class: "outlet-clone",
363
400
  type: "button",
364
- disabled: i(s).dirty.value || i(s).loading.value || !i(r).outletId.value,
365
- title: i(s).dirty.value ? "Save or discard changes before cloning" : "Copy this outlet's pay rates to other outlets",
366
- onClick: t[0] || (t[0] = (o) => i(h).openModal())
401
+ disabled: o(a).dirty.value || o(a).loading.value || !o(d).outletId.value,
402
+ title: o(a).dirty.value ? "Save or discard changes before cloning" : "Copy this outlet's pay rates to other outlets",
403
+ onClick: t[0] || (t[0] = (r) => o(k).openModal())
367
404
  }, {
368
405
  default: g(() => [...t[10] || (t[10] = [
369
406
  e("svg", {
@@ -389,42 +426,42 @@ const K = {
389
426
  "stroke-linecap": "round"
390
427
  })
391
428
  ], -1),
392
- b(" Clone setup to… ", -1)
429
+ w(" Clone setup to… ", -1)
393
430
  ])]),
394
431
  _: 1
395
432
  }, 8, ["disabled", "title"])
396
433
  ])
397
434
  ]),
398
- e("div", ye, [
399
- e("nav", fe, [
400
- (d(!0), u(M, null, A(i(j), (o) => (d(), u("button", {
401
- key: o.key,
435
+ e("div", be, [
436
+ e("nav", ge, [
437
+ (u(!0), p(D, null, B(o(Q), (r) => (u(), p("button", {
438
+ key: r.key,
402
439
  type: "button",
403
- class: D(["sch-tab sp-tab", { active: i(s).activeSection.value === o.key }]),
440
+ class: U(["sch-tab sp-tab", { active: o(a).activeSection.value === r.key }]),
404
441
  "data-active": "false",
405
- onClick: (Ue) => i(s).activeSection.value = o.key
406
- }, c(o.label), 11, be))), 128))
442
+ onClick: (M) => o(a).activeSection.value = r.key
443
+ }, y(r.label), 11, we))), 128))
407
444
  ]),
408
- e("div", he, [
409
- e("div", ge, [
410
- i(s).activeSection.value === "payrates" ? (d(), u("section", we, [
445
+ e("div", ke, [
446
+ e("div", Ce, [
447
+ o(a).activeSection.value === "payrates" ? (u(), p("section", Se, [
411
448
  t[26] || (t[26] = e("div", { class: "sp-sec-head" }, [
412
449
  e("div", { class: "sp-panel-title" }, "Pay rates")
413
450
  ], -1)),
414
451
  t[27] || (t[27] = e("div", { class: "sp-panel-desc" }, "Pay multipliers by kind of day.", -1)),
415
- e("div", ke, [
452
+ e("div", Re, [
416
453
  t[20] || (t[20] = e("div", { class: "sp-card-head" }, [
417
454
  e("div", { class: "sp-card-title" }, "Overtime rate"),
418
455
  e("div", { class: "sp-card-note" }, "Multiplier on every OT hour")
419
456
  ], -1)),
420
- e("div", Se, [
457
+ e("div", Oe, [
421
458
  t[15] || (t[15] = e("div", { class: "sp-row-main" }, [
422
459
  e("div", { class: "sp-row-label" }, "Normal operations day"),
423
460
  e("div", { class: "sp-row-hint" }, " Multiplier on their rate for hours past the weekly contract. ")
424
461
  ], -1)),
425
- e("div", Ce, [
426
- k(e("input", {
427
- "onUpdate:modelValue": t[1] || (t[1] = (o) => i(s).draft.payRate.NORMAL.overtime = o),
462
+ e("div", xe, [
463
+ S(e("input", {
464
+ "onUpdate:modelValue": t[1] || (t[1] = (r) => o(a).draft.payRate.NORMAL.overtime = r),
428
465
  class: "sch-input sp-num",
429
466
  type: "number",
430
467
  min: "1",
@@ -433,8 +470,8 @@ const K = {
433
470
  "aria-label": "Overtime rate on a normal day"
434
471
  }, null, 512), [
435
472
  [
436
- S,
437
- i(s).draft.payRate.NORMAL.overtime,
473
+ R,
474
+ o(a).draft.payRate.NORMAL.overtime,
438
475
  void 0,
439
476
  { number: !0 }
440
477
  ]
@@ -442,14 +479,14 @@ const K = {
442
479
  t[14] || (t[14] = e("span", { class: "sp-unit" }, "×", -1))
443
480
  ])
444
481
  ]),
445
- e("div", Oe, [
482
+ e("div", $e, [
446
483
  t[17] || (t[17] = e("div", { class: "sp-row-main" }, [
447
484
  e("div", { class: "sp-row-label" }, "Off day"),
448
485
  e("div", { class: "sp-row-hint" }, " For a shift on the person's off day, weekly or booked. Check the rate with HR. ")
449
486
  ], -1)),
450
- e("div", Re, [
451
- k(e("input", {
452
- "onUpdate:modelValue": t[2] || (t[2] = (o) => i(s).draft.payRate.REST_DAY.overtime = o),
487
+ e("div", Le, [
488
+ S(e("input", {
489
+ "onUpdate:modelValue": t[2] || (t[2] = (r) => o(a).draft.payRate.REST_DAY.overtime = r),
453
490
  class: "sch-input sp-num",
454
491
  type: "number",
455
492
  min: "1",
@@ -458,8 +495,8 @@ const K = {
458
495
  "aria-label": "Overtime rate on an off day"
459
496
  }, null, 512), [
460
497
  [
461
- S,
462
- i(s).draft.payRate.REST_DAY.overtime,
498
+ R,
499
+ o(a).draft.payRate.REST_DAY.overtime,
463
500
  void 0,
464
501
  { number: !0 }
465
502
  ]
@@ -467,14 +504,14 @@ const K = {
467
504
  t[16] || (t[16] = e("span", { class: "sp-unit" }, "×", -1))
468
505
  ])
469
506
  ]),
470
- e("div", $e, [
507
+ e("div", Me, [
471
508
  t[19] || (t[19] = e("div", { class: "sp-row-main" }, [
472
509
  e("div", { class: "sp-row-label" }, "Public holiday"),
473
510
  e("div", { class: "sp-row-hint" }, " For dates on the holiday calendar. Wins over an off day on the same date. ")
474
511
  ], -1)),
475
- e("div", xe, [
476
- k(e("input", {
477
- "onUpdate:modelValue": t[3] || (t[3] = (o) => i(s).draft.payRate.PUBLIC_HOLIDAY.overtime = o),
512
+ e("div", He, [
513
+ S(e("input", {
514
+ "onUpdate:modelValue": t[3] || (t[3] = (r) => o(a).draft.payRate.PUBLIC_HOLIDAY.overtime = r),
478
515
  class: "sch-input sp-num",
479
516
  type: "number",
480
517
  min: "1",
@@ -483,8 +520,8 @@ const K = {
483
520
  "aria-label": "Overtime rate on a public holiday"
484
521
  }, null, 512), [
485
522
  [
486
- S,
487
- i(s).draft.payRate.PUBLIC_HOLIDAY.overtime,
523
+ R,
524
+ o(a).draft.payRate.PUBLIC_HOLIDAY.overtime,
488
525
  void 0,
489
526
  { number: !0 }
490
527
  ]
@@ -493,19 +530,19 @@ const K = {
493
530
  ])
494
531
  ])
495
532
  ]),
496
- e("div", Ne, [
533
+ e("div", Ae, [
497
534
  t[25] || (t[25] = e("div", { class: "sp-card-head" }, [
498
535
  e("div", { class: "sp-card-title" }, "Regular rate"),
499
536
  e("div", { class: "sp-card-note" }, "Multiplier on ordinary hours")
500
537
  ], -1)),
501
- e("div", Me, [
538
+ e("div", De, [
502
539
  t[22] || (t[22] = e("div", { class: "sp-row-main" }, [
503
540
  e("div", { class: "sp-row-label" }, "Off day"),
504
541
  e("div", { class: "sp-row-hint" }, "Ordinary hours worked on the person's off day.")
505
542
  ], -1)),
506
- e("div", Te, [
507
- k(e("input", {
508
- "onUpdate:modelValue": t[4] || (t[4] = (o) => i(s).draft.payRate.REST_DAY.regular = o),
543
+ e("div", Ie, [
544
+ S(e("input", {
545
+ "onUpdate:modelValue": t[4] || (t[4] = (r) => o(a).draft.payRate.REST_DAY.regular = r),
509
546
  class: "sch-input sp-num",
510
547
  type: "number",
511
548
  min: "1",
@@ -514,8 +551,8 @@ const K = {
514
551
  "aria-label": "Regular rate on an off day"
515
552
  }, null, 512), [
516
553
  [
517
- S,
518
- i(s).draft.payRate.REST_DAY.regular,
554
+ R,
555
+ o(a).draft.payRate.REST_DAY.regular,
519
556
  void 0,
520
557
  { number: !0 }
521
558
  ]
@@ -523,14 +560,14 @@ const K = {
523
560
  t[21] || (t[21] = e("span", { class: "sp-unit" }, "×", -1))
524
561
  ])
525
562
  ]),
526
- e("div", Le, [
563
+ e("div", Ee, [
527
564
  t[24] || (t[24] = e("div", { class: "sp-row-main" }, [
528
565
  e("div", { class: "sp-row-label" }, "Public holiday"),
529
566
  e("div", { class: "sp-row-hint" }, " Ordinary hours worked on a date on the holiday calendar. ")
530
567
  ], -1)),
531
- e("div", Be, [
532
- k(e("input", {
533
- "onUpdate:modelValue": t[5] || (t[5] = (o) => i(s).draft.payRate.PUBLIC_HOLIDAY.regular = o),
568
+ e("div", Ne, [
569
+ S(e("input", {
570
+ "onUpdate:modelValue": t[5] || (t[5] = (r) => o(a).draft.payRate.PUBLIC_HOLIDAY.regular = r),
534
571
  class: "sch-input sp-num",
535
572
  type: "number",
536
573
  min: "1",
@@ -539,8 +576,8 @@ const K = {
539
576
  "aria-label": "Regular rate on a public holiday"
540
577
  }, null, 512), [
541
578
  [
542
- S,
543
- i(s).draft.payRate.PUBLIC_HOLIDAY.regular,
579
+ R,
580
+ o(a).draft.payRate.PUBLIC_HOLIDAY.regular,
544
581
  void 0,
545
582
  { number: !0 }
546
583
  ]
@@ -549,23 +586,23 @@ const K = {
549
586
  ])
550
587
  ])
551
588
  ])
552
- ])) : i(s).activeSection.value === "overtime" ? (d(), u("section", De, [
589
+ ])) : o(a).activeSection.value === "overtime" ? (u(), p("section", Te, [
553
590
  t[30] || (t[30] = e("div", { class: "sp-sec-head" }, [
554
591
  e("div", { class: "sp-panel-title" }, "Overtime")
555
592
  ], -1)),
556
593
  t[31] || (t[31] = e("div", { class: "sp-panel-desc" }, "The monthly statutory cap on overtime hours.", -1)),
557
- e("div", Ie, [
594
+ e("div", Ue, [
558
595
  t[29] || (t[29] = e("div", { class: "sp-card-head" }, [
559
596
  e("div", { class: "sp-card-title" }, "Maximum OT Hours"),
560
597
  e("div", { class: "sp-card-note" }, "Enforced")
561
598
  ], -1)),
562
- e("div", Ae, [
599
+ e("div", Pe, [
563
600
  t[28] || (t[28] = e("div", { class: "sp-row-main" }, [
564
601
  e("div", { class: "sp-row-label" }, "Monthly OT cap"),
565
602
  e("div", { class: "sp-row-hint" }, " Hours per person per month. Auto-Schedule never exceeds it. ")
566
603
  ], -1)),
567
- k(e("input", {
568
- "onUpdate:modelValue": t[6] || (t[6] = (o) => i(s).draft.otCapHours = o),
604
+ S(e("input", {
605
+ "onUpdate:modelValue": t[6] || (t[6] = (r) => o(a).draft.otCapHours = r),
569
606
  class: "sch-input sp-num",
570
607
  type: "number",
571
608
  min: "0",
@@ -574,45 +611,45 @@ const K = {
574
611
  "aria-label": "Monthly OT cap in hours"
575
612
  }, null, 512), [
576
613
  [
577
- S,
578
- i(s).draft.otCapHours,
614
+ R,
615
+ o(a).draft.otCapHours,
579
616
  void 0,
580
617
  { number: !0 }
581
618
  ]
582
619
  ])
583
620
  ])
584
621
  ])
585
- ])) : L("", !0)
622
+ ])) : E("", !0)
586
623
  ])
587
624
  ]),
588
625
  e("div", {
589
- class: D(["sp-save", { dirty: i(s).dirty.value, arming: v.value }])
626
+ class: U(["sp-save", { dirty: o(a).dirty.value, arming: c.value }])
590
627
  }, [
591
- e("div", Ee, [
592
- b(c(v.value ? "Discard unsaved changes?" : "Unsaved changes") + " ", 1),
593
- v.value ? L("", !0) : (d(), u("span", He, "— save or discard before leaving."))
628
+ e("div", Be, [
629
+ w(y(c.value ? "Discard unsaved changes?" : "Unsaved changes") + " ", 1),
630
+ c.value ? E("", !0) : (u(), p("span", Ve, "— save or discard before leaving."))
594
631
  ]),
595
- f(w, {
632
+ b(C, {
596
633
  hierarchy: "secondary",
597
634
  size: "sm",
598
635
  class: "am-btn am-btn-sec",
599
636
  type: "button",
600
- onClick: t[7] || (t[7] = (o) => y())
637
+ onClick: t[7] || (t[7] = (r) => m())
601
638
  }, {
602
639
  default: g(() => [
603
- b(c(v.value ? "Confirm discard" : "Discard"), 1)
640
+ w(y(c.value ? "Confirm discard" : "Discard"), 1)
604
641
  ]),
605
642
  _: 1
606
643
  }),
607
- f(w, {
644
+ b(C, {
608
645
  hierarchy: "primary",
609
646
  size: "sm",
610
647
  class: "am-btn am-btn-primary",
611
648
  type: "button",
612
- onClick: t[8] || (t[8] = (o) => i(s).save())
649
+ onClick: t[8] || (t[8] = (r) => O())
613
650
  }, {
614
651
  default: g(() => [...t[32] || (t[32] = [
615
- b(" Save changes ", -1)
652
+ w(" Save changes ", -1)
616
653
  ])]),
617
654
  _: 1
618
655
  })
@@ -620,10 +657,10 @@ const K = {
620
657
  ])
621
658
  ])
622
659
  ]),
623
- f(ue, { modal: i(h) }, null, 8, ["modal"])
660
+ b(pe, { modal: o(k) }, null, 8, ["modal"])
624
661
  ], 512));
625
662
  }
626
663
  });
627
664
  export {
628
- je as default
665
+ Ke as default
629
666
  };