@feedmepos/mf-hrm-portal 2.3.0-dev.13 → 2.3.0-dev.15

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 (65) hide show
  1. package/dist/{ApprovalCodeList-D3egZFML.js → ApprovalCodeList-CY0ox1dX.js} +4 -4
  2. package/dist/{AuditLogList-BzbaEsSj.js → AuditLogList-CBkA-KQT.js} +17 -18
  3. package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-Do52KbKm.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-B8cb8yqV.js} +2 -2
  4. package/dist/{EmployeeList-BiM8dRwZ.js → EmployeeList-0PrcuHPJ.js} +255 -267
  5. package/dist/{FormItem.vue_vue_type_script_setup_true_lang-CUnlKsxk.js → FormItem.vue_vue_type_script_setup_true_lang-rjDE1B4E.js} +6 -6
  6. package/dist/{GrantUserList-Dj2ms20E.js → GrantUserList-Dw923P2j.js} +5 -5
  7. package/dist/{Main-DmpwTPaI.js → Main-BqX7n1ik.js} +9 -9
  8. package/dist/{Main-C2z7Jf9A.js → Main-C0bcn2NY.js} +5 -5
  9. package/dist/{Main-DklZWoKj.js → Main-Dpf2KdSH.js} +2 -2
  10. package/dist/{PermissionSetList-C-qgCcRO.js → PermissionSetList-xrI130SW.js} +5 -5
  11. package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-ggZB5zWW.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-3_8qycrF.js} +465 -465
  12. package/dist/{RoleList-ohfin77B.js → RoleList-DPkG5dg9.js} +7 -7
  13. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-DYLLW46A.js +501 -0
  14. package/dist/{ScheduleGeneralPage-aCljFf21.js → ScheduleGeneralPage-CISbuAff.js} +141 -143
  15. package/dist/{ScheduleModal.vue_vue_type_script_setup_true_lang-x_-BYkcc.js → ScheduleModal.vue_vue_type_script_setup_true_lang-BeTuMw3f.js} +989 -858
  16. package/dist/SchedulePage-Dn6_TiBS.js +18757 -0
  17. package/dist/{SchedulePositionPage-CID91orD.js → SchedulePositionPage-Cu3WRfH-.js} +79 -81
  18. package/dist/{SelectFilter-CG13h83-.js → SelectFilter-ssnRUIN6.js} +1 -1
  19. package/dist/{TeamMemberList-DJIKL4dE.js → TeamMemberList-DTqNCDJb.js} +35 -36
  20. package/dist/{TimesheetList-BPXWPNfT.js → TimesheetList-CA19TmKm.js} +52 -53
  21. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-DVcV0knM.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-B1jnsZpD.js} +2 -2
  22. package/dist/{app-Bz8568j8.js → app-3xGY2Rn0.js} +2062 -1800
  23. package/dist/app.js +1 -1
  24. package/dist/{dayjs.min-DhSRKSu4.js → dayjs.min-C_c8OoEU.js} +1 -1
  25. package/dist/{employee-BM44u8b-.js → employee-Dt0y51t3.js} +3 -3
  26. package/dist/{iteration-BHDxs89d.js → iteration-C4YvbrCe.js} +1 -1
  27. package/dist/{lodash-DgSYLwYD.js → lodash-huRs3Cbj.js} +1 -1
  28. package/dist/object-Dwyg2LgX.js +16 -0
  29. package/dist/{role-BMJ7LEHN.js → role-fM58UmtC.js} +1 -1
  30. package/dist/{rule-CCo7_ckA.js → rule-CCN0QCPF.js} +2 -2
  31. package/dist/src/views/audit-log/locales/index.d.ts +252 -0
  32. package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +2 -0
  33. package/dist/src/views/scheduling/components/ScheduleBoardAreaRows.vue.d.ts +1 -0
  34. package/dist/src/views/scheduling/components/ScheduleOnboardingSettings.vue.d.ts +6 -0
  35. package/dist/src/views/scheduling/composables/onboarding-types.d.ts +2 -1
  36. package/dist/src/views/scheduling/composables/schedule-demand-domain.d.ts +13 -1
  37. package/dist/src/views/scheduling/composables/schedule-error.d.ts +3 -0
  38. package/dist/src/views/scheduling/composables/schedule-quick-pick.d.ts +22 -0
  39. package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +5 -2
  40. package/dist/src/views/scheduling/composables/useScheduleAddPick.d.ts +3 -11
  41. package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +7 -0
  42. package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +45 -1
  43. package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +13 -1
  44. package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +2 -2
  45. package/dist/src/views/scheduling/composables/useScheduleDragDrop.d.ts +1 -0
  46. package/dist/src/views/scheduling/composables/useScheduleEmployeeAccess.d.ts +14 -6
  47. package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +3 -0
  48. package/dist/src/views/scheduling/composables/useScheduleEmployeeValidation.d.ts +0 -2
  49. package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +25 -0
  50. package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +163 -4
  51. package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +44 -0
  52. package/dist/src/views/scheduling/composables/useScheduleSetupBanner.d.ts +2 -2
  53. package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +22 -0
  54. package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +26 -2
  55. package/dist/src/views/scheduling/country-rules/index.d.ts +8 -3
  56. package/dist/src/views/scheduling/data.d.ts +17 -0
  57. package/dist/src/views/scheduling/schedule-store.d.ts +7 -7
  58. package/dist/src/views/scheduling/types.d.ts +5 -0
  59. package/dist/style.css +1 -1
  60. package/dist/tsconfig.app.tsbuildinfo +1 -1
  61. package/dist/{useReportPermissions-C_Cd__n1.js → useReportPermissions-BlX_Mk5f.js} +3 -3
  62. package/package.json +1 -1
  63. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-diuWysro.js +0 -492
  64. package/dist/SchedulePage-DdMHF6kX.js +0 -17993
  65. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -9
@@ -1,17 +1,15 @@
1
- import { ref as w, reactive as W, computed as E, defineComponent as T, createBlock as I, openBlock as p, withCtx as b, createElementVNode as e, createVNode as k, createElementBlock as m, Fragment as L, createTextVNode as H, toDisplayString as h, withDirectives as f, vModelText as g, createCommentVNode as N, renderList as V, onMounted as B, unref as l, normalizeClass as U } from "vue";
2
- import { useRouter as z } from "vue-router";
3
- import { useSnackbar as Y } from "@feedmepos/ui-library";
4
- import { R as q } from "./app-Bz8568j8.js";
5
- import { b as v, o as M, M as A, g as G, aq as F, ao as x, as as j, at as J, ab as K, ap as Q } from "./ScheduleModal.vue_vue_type_script_setup_true_lang-x_-BYkcc.js";
6
- import "./iteration-BHDxs89d.js";
7
- import { useCoreStore as X } from "@feedmepos/mf-common";
8
- import "./employee-BM44u8b-.js";
9
- const Z = [
1
+ import { ref as w, reactive as B, computed as N, defineComponent as T, createBlock as I, openBlock as p, withCtx as k, createElementVNode as e, createVNode as b, createElementBlock as m, Fragment as L, createTextVNode as H, toDisplayString as h, withDirectives as f, vModelText as g, createCommentVNode as A, renderList as V, onMounted as z, createStaticVNode as Y, unref as l, normalizeClass as U } from "vue";
2
+ import { useRouter as q } from "vue-router";
3
+ import { useSnackbar as F } from "@feedmepos/ui-library";
4
+ import { R as G } from "./app-3xGY2Rn0.js";
5
+ import { b as v, o as $, Q as j, $ as W, p as E, g as J, at as Q, ar as x, av as K, aw as X, ag as Z, as as _ } from "./ScheduleModal.vue_vue_type_script_setup_true_lang-BeTuMw3f.js";
6
+ import { useCoreStore as ee } from "@feedmepos/mf-common";
7
+ const se = [
10
8
  { key: "payrates", label: "Pay rates" },
11
9
  { key: "overtime", label: "Overtime" },
12
10
  { key: "workingHours", label: "Working hours" }
13
11
  ];
14
- function $() {
12
+ function M() {
15
13
  return structuredClone({
16
14
  // RULES is reactive, so spreading each rate tier first gives structuredClone plain
17
15
  // objects instead of Vue Proxy instances, which structuredClone cannot clone.
@@ -24,38 +22,39 @@ function $() {
24
22
  workingHours: { ...v.workingHours }
25
23
  });
26
24
  }
27
- function _() {
28
- const r = X(), d = w(!1), a = w("payrates"), n = W($()), t = w(!1);
25
+ function te() {
26
+ const r = ee(), d = w(!1), a = w("payrates"), n = B(M()), t = w(!1);
29
27
  let u = 0;
30
28
  async function C() {
31
- if (!M.value) return;
32
- const c = ++u, o = M.value;
29
+ if (!$.value) return;
30
+ const c = ++u, o = $.value;
33
31
  t.value = !0;
34
32
  try {
35
- const s = await A.getSettings(o);
36
- if (c !== u || M.value !== o) return;
37
- const i = G(r.currentCountry.value);
33
+ const s = await W.getSettings(o);
34
+ if (c !== u || $.value !== o) return;
35
+ E.value && (E.value = { ...E.value, settings: s });
36
+ const i = J(r.currentCountry.value);
38
37
  v.payRate = structuredClone(s.settingsConfigured ? s.payRate : i.payRate), v.otCapHours = s.settingsConfigured ? s.overtime.maxHoursPerMonth : i.overtime.maxHoursPerMonth, v.workingHours = s.settingsConfigured ? structuredClone(s.workingHours) : {
39
38
  minHoursPerDay: null,
40
- maxHoursPerDay: i.workingHours.maxHoursPerDay,
41
- maxHoursPerWeek: i.workingHours.maxHoursPerWeek
39
+ maxHoursPerDay: i.workingHours.fullTime.maxHoursPerDay,
40
+ maxHoursPerWeek: i.workingHours.fullTime.maxHoursPerWeek
42
41
  };
43
42
  } finally {
44
43
  c === u && (t.value = !1);
45
44
  }
46
45
  }
47
46
  function y(c) {
48
- Object.assign(n, $()), a.value = c ?? "payrates", d.value = !0;
47
+ Object.assign(n, M()), a.value = c ?? "payrates", d.value = !0;
49
48
  }
50
- const S = E(() => JSON.stringify(n) !== JSON.stringify($()));
49
+ const S = N(() => JSON.stringify(n) !== JSON.stringify(M()));
51
50
  function P() {
52
51
  return S.value ? !1 : (d.value = !1, !0);
53
52
  }
54
53
  function D() {
55
- Object.assign(n, $()), d.value = !1;
54
+ Object.assign(n, M()), d.value = !1;
56
55
  }
57
56
  async function R() {
58
- if (!M.value) throw new Error("No outlet selected");
57
+ if (!$.value) throw new Error("No outlet selected");
59
58
  const c = n.otCapHours === 0 ? null : n.otCapHours;
60
59
  if (c != null && c <= 0)
61
60
  throw new Error("Maximum monthly overtime hours must be greater than zero");
@@ -68,7 +67,7 @@ function _() {
68
67
  throw new Error("Working-hour limits must be in ascending order");
69
68
  if (o.maxHoursPerDay != null && o.maxHoursPerWeek != null && o.maxHoursPerDay > o.maxHoursPerWeek)
70
69
  throw new Error("Working-hour limits must be in ascending order");
71
- const s = await A.saveSettings(M.value, {
70
+ const s = await j({
72
71
  payRate: n.payRate,
73
72
  overtime: { maxHoursPerMonth: c },
74
73
  workingHours: o
@@ -77,13 +76,13 @@ function _() {
77
76
  }
78
77
  return { isOpen: d, activeSection: a, draft: n, dirty: S, loading: t, load: C, open: y, close: P, discard: D, save: R };
79
78
  }
80
- function ee(r, d = {}) {
81
- const a = w(!1), n = w(""), t = w(/* @__PURE__ */ new Set()), u = w(!1), C = w(null), y = E(
79
+ function ae(r, d = {}) {
80
+ const a = w(!1), n = w(""), t = w(/* @__PURE__ */ new Set()), u = w(!1), C = w(null), y = N(
82
81
  () => {
83
82
  var o;
84
83
  return ((o = r.options.value.find((s) => s.value === r.outletId.value)) == null ? void 0 : o.label) ?? "";
85
84
  }
86
- ), S = E(() => {
85
+ ), S = N(() => {
87
86
  const o = n.value.trim().toLowerCase();
88
87
  return r.options.value.filter(
89
88
  (s) => s.value !== r.outletId.value && (!o || s.label.toLowerCase().includes(o))
@@ -107,7 +106,7 @@ function ee(r, d = {}) {
107
106
  try {
108
107
  await Promise.all(
109
108
  o.map(
110
- (O) => A.saveSettings(O, {
109
+ (O) => W.saveSettings(O, {
111
110
  payRate: v.payRate,
112
111
  overtime: { maxHoursPerMonth: v.otCapHours },
113
112
  workingHours: v.workingHours
@@ -143,35 +142,35 @@ function ee(r, d = {}) {
143
142
  confirm: c
144
143
  };
145
144
  }
146
- const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
145
+ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
147
146
  class: "ce-hint",
148
147
  style: { "margin-bottom": "var(--fm-spacing-10)" }
149
- }, oe = { class: "sch-search" }, le = { class: "asg-list" }, re = ["checked", "onChange"], ne = { class: "asg-id" }, ie = { class: "asg-nm" }, ue = {
148
+ }, ne = { class: "sch-search" }, ie = { class: "asg-list" }, ue = ["checked", "onChange"], de = { class: "asg-id" }, pe = { class: "asg-nm" }, ve = {
150
149
  key: 0,
151
150
  class: "asg-empty"
152
- }, de = {
151
+ }, me = {
153
152
  key: 1,
154
153
  class: "cg-done"
155
- }, pe = { class: "cg-st-main" }, ve = { class: "am-foot" }, me = { class: "am-cost-preview" }, ce = { class: "am-foot-btns" }, ye = /* @__PURE__ */ T({
154
+ }, ce = { class: "cg-st-main" }, ye = { class: "am-foot" }, fe = { class: "am-cost-preview" }, ge = { class: "am-foot-btns" }, he = /* @__PURE__ */ T({
156
155
  __name: "ScheduleCloneOutletModal",
157
156
  props: {
158
157
  modal: {}
159
158
  },
160
159
  setup(r) {
161
- return (d, a) => (p(), I(F, {
160
+ return (d, a) => (p(), I(Q, {
162
161
  open: r.modal.open.value,
163
162
  "panel-class": "ce-modal",
164
163
  "panel-style": "width: min(460px, 95vw)",
165
164
  "labelled-by": "schedule-clone-title",
166
165
  onClose: a[5] || (a[5] = (n) => r.modal.close())
167
166
  }, {
168
- default: b(() => [
169
- e("div", se, [
167
+ default: k(() => [
168
+ e("div", oe, [
170
169
  a[7] || (a[7] = e("div", {
171
170
  id: "schedule-clone-title",
172
171
  class: "am-title"
173
172
  }, "Clone outlet setup", -1)),
174
- k(x, {
173
+ b(x, {
175
174
  hierarchy: "ghost",
176
175
  size: "xs",
177
176
  "icon-only": "",
@@ -180,7 +179,7 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
180
179
  "aria-label": "Close",
181
180
  onClick: a[0] || (a[0] = (n) => r.modal.close())
182
181
  }, {
183
- default: b(() => [...a[6] || (a[6] = [
182
+ default: k(() => [...a[6] || (a[6] = [
184
183
  e("svg", {
185
184
  width: "20",
186
185
  height: "20",
@@ -197,14 +196,14 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
197
196
  _: 1
198
197
  })
199
198
  ]),
200
- e("div", te, [
199
+ e("div", le, [
201
200
  r.modal.done.value === null ? (p(), m(L, { key: 0 }, [
202
- e("div", ae, [
201
+ e("div", re, [
203
202
  a[8] || (a[8] = H(" Copy ", -1)),
204
203
  e("b", null, h(r.modal.sourceLabel.value), 1),
205
204
  a[9] || (a[9] = H("'s pay rates to: ", -1))
206
205
  ]),
207
- e("div", oe, [
206
+ e("div", ne, [
208
207
  a[10] || (a[10] = e("svg", {
209
208
  width: "16",
210
209
  height: "16",
@@ -236,7 +235,7 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
236
235
  [g, r.modal.query.value]
237
236
  ])
238
237
  ]),
239
- e("div", le, [
238
+ e("div", ie, [
240
239
  (p(!0), m(L, null, V(r.modal.targets.value, (n) => (p(), m("label", {
241
240
  key: n.value,
242
241
  class: "asg-row"
@@ -247,45 +246,45 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
247
246
  "data-platform": "desktop",
248
247
  checked: r.modal.selected.value.has(n.value),
249
248
  onChange: (t) => r.modal.toggle(n.value)
250
- }, null, 40, re),
251
- e("span", ne, [
252
- e("span", ie, h(n.label), 1)
249
+ }, null, 40, ue),
250
+ e("span", de, [
251
+ e("span", pe, h(n.label), 1)
253
252
  ])
254
253
  ]))), 128)),
255
- r.modal.targets.value.length ? N("", !0) : (p(), m("div", ue, h(r.modal.query.value ? "No outlet matches that search." : "No other outlets."), 1))
254
+ r.modal.targets.value.length ? A("", !0) : (p(), m("div", ve, h(r.modal.query.value ? "No outlet matches that search." : "No other outlets."), 1))
256
255
  ]),
257
256
  a[11] || (a[11] = e("div", {
258
257
  class: "ce-hint",
259
258
  style: { "margin-top": "var(--fm-spacing-10)" }
260
259
  }, " Copies this outlet's pay rates to the outlets you tick. Their current pay rates are replaced. ", -1))
261
- ], 64)) : (p(), m("div", de, [
260
+ ], 64)) : (p(), m("div", me, [
262
261
  a[13] || (a[13] = e("span", {
263
262
  class: "cg-done-tick",
264
263
  "aria-hidden": "true"
265
264
  }, "✓", -1)),
266
- e("div", pe, [
265
+ e("div", ce, [
267
266
  a[12] || (a[12] = e("b", null, "Pay rates copied", -1)),
268
267
  e("small", null, "Sent to " + h(r.modal.done.value) + " outlet" + h(r.modal.done.value === 1 ? "" : "s"), 1)
269
268
  ])
270
269
  ]))
271
270
  ]),
272
- e("div", ve, [
273
- e("div", me, h(r.modal.done.value === null && r.modal.selected.value.size ? `${r.modal.selected.value.size} outlet${r.modal.selected.value.size === 1 ? "" : "s"} selected` : ""), 1),
274
- e("div", ce, [
271
+ e("div", ye, [
272
+ e("div", fe, h(r.modal.done.value === null && r.modal.selected.value.size ? `${r.modal.selected.value.size} outlet${r.modal.selected.value.size === 1 ? "" : "s"} selected` : ""), 1),
273
+ e("div", ge, [
275
274
  r.modal.done.value === null ? (p(), m(L, { key: 0 }, [
276
- k(x, {
275
+ b(x, {
277
276
  hierarchy: "secondary",
278
277
  size: "sm",
279
278
  class: "am-btn am-btn-sec",
280
279
  type: "button",
281
280
  onClick: a[2] || (a[2] = (n) => r.modal.close())
282
281
  }, {
283
- default: b(() => [...a[14] || (a[14] = [
282
+ default: k(() => [...a[14] || (a[14] = [
284
283
  H(" Cancel ", -1)
285
284
  ])]),
286
285
  _: 1
287
286
  }),
288
- k(x, {
287
+ b(x, {
289
288
  hierarchy: "primary",
290
289
  size: "sm",
291
290
  class: "am-btn am-btn-primary",
@@ -293,7 +292,7 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
293
292
  disabled: !r.modal.selected.value.size || r.modal.saving.value,
294
293
  onClick: a[3] || (a[3] = (n) => r.modal.confirm())
295
294
  }, {
296
- default: b(() => [
295
+ default: k(() => [
297
296
  H(h(r.modal.saving.value ? "Copying…" : "Copy setup"), 1)
298
297
  ]),
299
298
  _: 1
@@ -306,7 +305,7 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
306
305
  type: "button",
307
306
  onClick: a[4] || (a[4] = (n) => r.modal.close())
308
307
  }, {
309
- default: b(() => [...a[15] || (a[15] = [
308
+ default: k(() => [...a[15] || (a[15] = [
310
309
  H(" Done ", -1)
311
310
  ])]),
312
311
  _: 1
@@ -317,40 +316,40 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
317
316
  _: 1
318
317
  }, 8, ["open"]));
319
318
  }
320
- }), fe = { class: "main" }, ge = {
319
+ }), we = { class: "main" }, be = {
321
320
  id: "viewSettings",
322
321
  class: "view"
323
- }, he = { class: "sp-head" }, we = { class: "outlet-bar" }, ke = { class: "sp-body" }, be = { class: "sp-tabs" }, He = ["onClick"], Ce = { class: "sp-content" }, xe = { class: "sp-panel" }, Se = {
322
+ }, ke = { class: "sp-head" }, He = { class: "outlet-bar" }, Ce = { class: "sp-body" }, xe = { class: "sp-tabs" }, Se = ["onClick"], Pe = { class: "sp-content" }, De = { class: "sp-panel" }, Re = {
324
323
  key: 0,
325
324
  id: "sp-payrates",
326
325
  class: "sp-sec"
327
- }, Pe = { class: "sp-card" }, De = { class: "sp-row" }, Re = { class: "sp-field" }, Oe = { class: "sp-row" }, Me = { class: "sp-field" }, $e = { class: "sp-row" }, Le = { class: "sp-field" }, Ee = { class: "sp-card" }, Ne = { class: "sp-row" }, Ae = { class: "sp-field" }, Ie = { class: "sp-row" }, Ue = { class: "sp-field" }, Te = {
326
+ }, Oe = { class: "sp-card" }, $e = { class: "sp-row" }, Me = { class: "sp-field" }, Le = { class: "sp-row" }, Ne = { class: "sp-field" }, Ee = { class: "sp-row" }, Ae = { class: "sp-field" }, Ie = { class: "sp-card" }, Ue = { class: "sp-row" }, Te = { class: "sp-field" }, Ve = { class: "sp-row" }, We = { class: "sp-field" }, Be = {
328
327
  key: 1,
329
328
  id: "sp-working-hours",
330
329
  class: "sp-sec"
331
- }, Ve = { class: "sp-card" }, We = { class: "sp-row" }, Be = { class: "sp-field" }, ze = { class: "sp-row" }, Ye = { class: "sp-field" }, qe = { class: "sp-row" }, Ge = { class: "sp-field" }, Fe = {
330
+ }, ze = { class: "sp-card" }, Ye = { class: "sp-row" }, qe = { class: "sp-field" }, Fe = { class: "sp-row" }, Ge = { class: "sp-field" }, je = { class: "sp-row" }, Je = { class: "sp-field" }, Qe = {
332
331
  key: 2,
333
332
  id: "sp-overtime",
334
333
  class: "sp-sec"
335
- }, je = { class: "sp-card" }, Je = { class: "sp-row" }, Ke = { class: "sp-save-txt" }, Qe = { key: 0 }, ls = /* @__PURE__ */ T({
334
+ }, Ke = { class: "sp-card" }, Xe = { class: "sp-row" }, Ze = { class: "sp-save-txt" }, _e = { key: 0 }, rs = /* @__PURE__ */ T({
336
335
  __name: "ScheduleGeneralPage",
337
336
  setup(r) {
338
337
  const d = w(null);
339
- j(d);
340
- const a = z(), n = Y(), t = _(), u = J(), C = ee(u, {
338
+ K(d);
339
+ const a = q(), n = F(), t = te(), u = X(), C = ae(u, {
341
340
  notify: (o, s) => n.open({ message: o, type: s })
342
341
  }), y = w(!1);
343
- B(async () => {
344
- await u.resolve() && await K(/* @__PURE__ */ new Date()), await t.load(), t.open();
342
+ z(async () => {
343
+ await u.resolve() && await Z(/* @__PURE__ */ new Date()), await t.load(), t.open();
345
344
  });
346
- const S = E(
345
+ const S = N(
347
346
  () => u.options.value.length ? u.options.value : [{ value: "", label: "No outlet selected", disabled: !0 }]
348
347
  );
349
348
  async function P(o) {
350
349
  t.dirty.value || await u.switchTo(o, /* @__PURE__ */ new Date()) && (await t.load(), t.open());
351
350
  }
352
351
  function D() {
353
- t.close() && a.push({ name: q.SCHEDULE });
352
+ t.close() && a.push({ name: G.SCHEDULE });
354
353
  }
355
354
  function R() {
356
355
  if (!y.value) {
@@ -374,17 +373,17 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
374
373
  ref: d,
375
374
  class: "sch"
376
375
  }, [
377
- e("div", fe, [
378
- e("div", ge, [
379
- e("div", he, [
380
- k(x, {
376
+ e("div", we, [
377
+ e("div", be, [
378
+ e("div", ke, [
379
+ b(x, {
381
380
  hierarchy: "ghost",
382
381
  size: "sm",
383
382
  class: "sp-back",
384
383
  type: "button",
385
384
  onClick: D
386
385
  }, {
387
- default: b(() => [...s[12] || (s[12] = [
386
+ default: k(() => [...s[12] || (s[12] = [
388
387
  e("svg", {
389
388
  width: "12",
390
389
  height: "12",
@@ -404,11 +403,10 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
404
403
  ])]),
405
404
  _: 1
406
405
  }),
407
- s[15] || (s[15] = e("div", { class: "sp-title" }, "General Settings", -1)),
408
- s[16] || (s[16] = e("div", { class: "sp-sub" }, "Pay multipliers and overtime limit for this outlet.", -1)),
409
- e("div", we, [
406
+ s[15] || (s[15] = Y('<div class="sp-title-row"><div class="sp-title">General Settings</div><span class="page-tags"><span class="sch-badge page-tag-premium" data-color="brand">Premium</span><span class="sch-badge" data-color="info">Free until 31 Dec 2026</span></span></div><div class="sp-sub">Pay multipliers and overtime limit for this outlet.</div>', 2)),
407
+ e("div", He, [
410
408
  s[14] || (s[14] = e("span", { class: "outlet-bar-lbl" }, "Outlet", -1)),
411
- k(Q, {
409
+ b(_, {
412
410
  class: "outlet-sel",
413
411
  "aria-label": "Outlet being configured",
414
412
  searchable: "",
@@ -418,7 +416,7 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
418
416
  options: S.value,
419
417
  "onUpdate:modelValue": P
420
418
  }, null, 8, ["disabled", "title", "model-value", "options"]),
421
- k(x, {
419
+ b(x, {
422
420
  hierarchy: "secondary",
423
421
  size: "sm",
424
422
  class: "outlet-clone",
@@ -427,7 +425,7 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
427
425
  title: l(t).dirty.value ? "Save or discard changes before cloning" : "Copy this outlet's pay rates to other outlets",
428
426
  onClick: s[0] || (s[0] = (i) => l(C).openModal())
429
427
  }, {
430
- default: b(() => [...s[13] || (s[13] = [
428
+ default: k(() => [...s[13] || (s[13] = [
431
429
  e("svg", {
432
430
  width: "12",
433
431
  height: "12",
@@ -457,34 +455,34 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
457
455
  }, 8, ["disabled", "title"])
458
456
  ])
459
457
  ]),
460
- e("div", ke, [
461
- e("nav", be, [
462
- (p(!0), m(L, null, V(l(Z), (i) => (p(), m("button", {
458
+ e("div", Ce, [
459
+ e("nav", xe, [
460
+ (p(!0), m(L, null, V(l(se), (i) => (p(), m("button", {
463
461
  key: i.key,
464
462
  type: "button",
465
463
  class: U(["sch-tab sp-tab", { active: l(t).activeSection.value === i.key }]),
466
464
  "data-active": "false",
467
465
  onClick: (O) => l(t).activeSection.value = i.key
468
- }, h(i.label), 11, He))), 128))
466
+ }, h(i.label), 11, Se))), 128))
469
467
  ]),
470
- e("div", Ce, [
471
- e("div", xe, [
472
- l(t).activeSection.value === "payrates" ? (p(), m("section", Se, [
473
- s[29] || (s[29] = e("div", { class: "sp-sec-head" }, [
468
+ e("div", Pe, [
469
+ e("div", De, [
470
+ l(t).activeSection.value === "payrates" ? (p(), m("section", Re, [
471
+ s[28] || (s[28] = e("div", { class: "sp-sec-head" }, [
474
472
  e("div", { class: "sp-panel-title" }, "Pay rates")
475
473
  ], -1)),
476
- s[30] || (s[30] = e("div", { class: "sp-panel-desc" }, "Pay multipliers by kind of day.", -1)),
477
- e("div", Pe, [
478
- s[23] || (s[23] = e("div", { class: "sp-card-head" }, [
474
+ s[29] || (s[29] = e("div", { class: "sp-panel-desc" }, "Pay multipliers by kind of day.", -1)),
475
+ e("div", Oe, [
476
+ s[22] || (s[22] = e("div", { class: "sp-card-head" }, [
479
477
  e("div", { class: "sp-card-title" }, "Overtime rate"),
480
478
  e("div", { class: "sp-card-note" }, "Multiplier on every OT hour")
481
479
  ], -1)),
482
- e("div", De, [
483
- s[18] || (s[18] = e("div", { class: "sp-row-main" }, [
480
+ e("div", $e, [
481
+ s[17] || (s[17] = e("div", { class: "sp-row-main" }, [
484
482
  e("div", { class: "sp-row-label" }, "Normal operations day"),
485
483
  e("div", { class: "sp-row-hint" }, " Multiplier on their rate for hours past the weekly contract. ")
486
484
  ], -1)),
487
- e("div", Re, [
485
+ e("div", Me, [
488
486
  f(e("input", {
489
487
  "onUpdate:modelValue": s[1] || (s[1] = (i) => l(t).draft.payRate.NORMAL.overtime = i),
490
488
  class: "sch-input sp-num",
@@ -501,15 +499,15 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
501
499
  { number: !0 }
502
500
  ]
503
501
  ]),
504
- s[17] || (s[17] = e("span", { class: "sp-unit" }, "×", -1))
502
+ s[16] || (s[16] = e("span", { class: "sp-unit" }, "×", -1))
505
503
  ])
506
504
  ]),
507
- e("div", Oe, [
508
- s[20] || (s[20] = e("div", { class: "sp-row-main" }, [
505
+ e("div", Le, [
506
+ s[19] || (s[19] = e("div", { class: "sp-row-main" }, [
509
507
  e("div", { class: "sp-row-label" }, "Off day"),
510
508
  e("div", { class: "sp-row-hint" }, " For a shift on the person's off day, weekly or booked. Check the rate with HR. ")
511
509
  ], -1)),
512
- e("div", Me, [
510
+ e("div", Ne, [
513
511
  f(e("input", {
514
512
  "onUpdate:modelValue": s[2] || (s[2] = (i) => l(t).draft.payRate.REST_DAY.overtime = i),
515
513
  class: "sch-input sp-num",
@@ -526,15 +524,15 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
526
524
  { number: !0 }
527
525
  ]
528
526
  ]),
529
- s[19] || (s[19] = e("span", { class: "sp-unit" }, "×", -1))
527
+ s[18] || (s[18] = e("span", { class: "sp-unit" }, "×", -1))
530
528
  ])
531
529
  ]),
532
- e("div", $e, [
533
- s[22] || (s[22] = e("div", { class: "sp-row-main" }, [
530
+ e("div", Ee, [
531
+ s[21] || (s[21] = e("div", { class: "sp-row-main" }, [
534
532
  e("div", { class: "sp-row-label" }, "Public holiday"),
535
533
  e("div", { class: "sp-row-hint" }, " For dates on the holiday calendar. Wins over an off day on the same date. ")
536
534
  ], -1)),
537
- e("div", Le, [
535
+ e("div", Ae, [
538
536
  f(e("input", {
539
537
  "onUpdate:modelValue": s[3] || (s[3] = (i) => l(t).draft.payRate.PUBLIC_HOLIDAY.overtime = i),
540
538
  class: "sch-input sp-num",
@@ -551,21 +549,21 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
551
549
  { number: !0 }
552
550
  ]
553
551
  ]),
554
- s[21] || (s[21] = e("span", { class: "sp-unit" }, "×", -1))
552
+ s[20] || (s[20] = e("span", { class: "sp-unit" }, "×", -1))
555
553
  ])
556
554
  ])
557
555
  ]),
558
- e("div", Ee, [
559
- s[28] || (s[28] = e("div", { class: "sp-card-head" }, [
556
+ e("div", Ie, [
557
+ s[27] || (s[27] = e("div", { class: "sp-card-head" }, [
560
558
  e("div", { class: "sp-card-title" }, "Regular rate"),
561
559
  e("div", { class: "sp-card-note" }, "Multiplier on ordinary hours")
562
560
  ], -1)),
563
- e("div", Ne, [
564
- s[25] || (s[25] = e("div", { class: "sp-row-main" }, [
561
+ e("div", Ue, [
562
+ s[24] || (s[24] = e("div", { class: "sp-row-main" }, [
565
563
  e("div", { class: "sp-row-label" }, "Off day"),
566
564
  e("div", { class: "sp-row-hint" }, "Ordinary hours worked on the person's off day.")
567
565
  ], -1)),
568
- e("div", Ae, [
566
+ e("div", Te, [
569
567
  f(e("input", {
570
568
  "onUpdate:modelValue": s[4] || (s[4] = (i) => l(t).draft.payRate.REST_DAY.regular = i),
571
569
  class: "sch-input sp-num",
@@ -582,15 +580,15 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
582
580
  { number: !0 }
583
581
  ]
584
582
  ]),
585
- s[24] || (s[24] = e("span", { class: "sp-unit" }, "×", -1))
583
+ s[23] || (s[23] = e("span", { class: "sp-unit" }, "×", -1))
586
584
  ])
587
585
  ]),
588
- e("div", Ie, [
589
- s[27] || (s[27] = e("div", { class: "sp-row-main" }, [
586
+ e("div", Ve, [
587
+ s[26] || (s[26] = e("div", { class: "sp-row-main" }, [
590
588
  e("div", { class: "sp-row-label" }, "Public holiday"),
591
589
  e("div", { class: "sp-row-hint" }, " Ordinary hours worked on a date on the holiday calendar. ")
592
590
  ], -1)),
593
- e("div", Ue, [
591
+ e("div", We, [
594
592
  f(e("input", {
595
593
  "onUpdate:modelValue": s[5] || (s[5] = (i) => l(t).draft.payRate.PUBLIC_HOLIDAY.regular = i),
596
594
  class: "sch-input sp-num",
@@ -607,25 +605,25 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
607
605
  { number: !0 }
608
606
  ]
609
607
  ]),
610
- s[26] || (s[26] = e("span", { class: "sp-unit" }, "×", -1))
608
+ s[25] || (s[25] = e("span", { class: "sp-unit" }, "×", -1))
611
609
  ])
612
610
  ])
613
611
  ])
614
- ])) : l(t).activeSection.value === "workingHours" ? (p(), m("section", Te, [
615
- s[38] || (s[38] = e("div", { class: "sp-sec-head" }, [
612
+ ])) : l(t).activeSection.value === "workingHours" ? (p(), m("section", Be, [
613
+ s[37] || (s[37] = e("div", { class: "sp-sec-head" }, [
616
614
  e("div", { class: "sp-panel-title" }, "Working hours")
617
615
  ], -1)),
618
- s[39] || (s[39] = e("div", { class: "sp-panel-desc" }, "Default employee working-hour limits when no individual setting is provided.", -1)),
619
- e("div", Ve, [
620
- s[37] || (s[37] = e("div", { class: "sp-card-head" }, [
616
+ s[38] || (s[38] = e("div", { class: "sp-panel-desc" }, "Default employee working-hour limits when no individual setting is provided.", -1)),
617
+ e("div", ze, [
618
+ s[36] || (s[36] = e("div", { class: "sp-card-head" }, [
621
619
  e("div", { class: "sp-card-title" }, "Default working hours"),
622
620
  e("div", { class: "sp-card-note" }, "Used as the employee default")
623
621
  ], -1)),
624
- e("div", We, [
625
- s[32] || (s[32] = e("div", { class: "sp-row-main" }, [
622
+ e("div", Ye, [
623
+ s[31] || (s[31] = e("div", { class: "sp-row-main" }, [
626
624
  e("div", { class: "sp-row-label" }, "Min hours per day")
627
625
  ], -1)),
628
- e("div", Be, [
626
+ e("div", qe, [
629
627
  f(e("input", {
630
628
  "onUpdate:modelValue": s[6] || (s[6] = (i) => l(t).draft.workingHours.minHoursPerDay = i),
631
629
  class: "sch-input sp-num",
@@ -643,14 +641,14 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
643
641
  { number: !0 }
644
642
  ]
645
643
  ]),
646
- s[31] || (s[31] = e("span", { class: "sp-unit" }, "hours / day", -1))
644
+ s[30] || (s[30] = e("span", { class: "sp-unit" }, "hours / day", -1))
647
645
  ])
648
646
  ]),
649
- e("div", ze, [
650
- s[34] || (s[34] = e("div", { class: "sp-row-main" }, [
647
+ e("div", Fe, [
648
+ s[33] || (s[33] = e("div", { class: "sp-row-main" }, [
651
649
  e("div", { class: "sp-row-label" }, "Max hours per day")
652
650
  ], -1)),
653
- e("div", Ye, [
651
+ e("div", Ge, [
654
652
  f(e("input", {
655
653
  "onUpdate:modelValue": s[7] || (s[7] = (i) => l(t).draft.workingHours.maxHoursPerDay = i),
656
654
  class: "sch-input sp-num",
@@ -668,14 +666,14 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
668
666
  { number: !0 }
669
667
  ]
670
668
  ]),
671
- s[33] || (s[33] = e("span", { class: "sp-unit" }, "hours / day", -1))
669
+ s[32] || (s[32] = e("span", { class: "sp-unit" }, "hours / day", -1))
672
670
  ])
673
671
  ]),
674
- e("div", qe, [
675
- s[36] || (s[36] = e("div", { class: "sp-row-main" }, [
672
+ e("div", je, [
673
+ s[35] || (s[35] = e("div", { class: "sp-row-main" }, [
676
674
  e("div", { class: "sp-row-label" }, "Max hours per week")
677
675
  ], -1)),
678
- e("div", Ge, [
676
+ e("div", Je, [
679
677
  f(e("input", {
680
678
  "onUpdate:modelValue": s[8] || (s[8] = (i) => l(t).draft.workingHours.maxHoursPerWeek = i),
681
679
  class: "sch-input sp-num",
@@ -693,22 +691,22 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
693
691
  { number: !0 }
694
692
  ]
695
693
  ]),
696
- s[35] || (s[35] = e("span", { class: "sp-unit" }, "hours / week", -1))
694
+ s[34] || (s[34] = e("span", { class: "sp-unit" }, "hours / week", -1))
697
695
  ])
698
696
  ])
699
697
  ])
700
- ])) : l(t).activeSection.value === "overtime" ? (p(), m("section", Fe, [
701
- s[42] || (s[42] = e("div", { class: "sp-sec-head" }, [
698
+ ])) : l(t).activeSection.value === "overtime" ? (p(), m("section", Qe, [
699
+ s[41] || (s[41] = e("div", { class: "sp-sec-head" }, [
702
700
  e("div", { class: "sp-panel-title" }, "Overtime")
703
701
  ], -1)),
704
- s[43] || (s[43] = e("div", { class: "sp-panel-desc" }, "The monthly statutory cap on overtime hours.", -1)),
705
- e("div", je, [
706
- s[41] || (s[41] = e("div", { class: "sp-card-head" }, [
702
+ s[42] || (s[42] = e("div", { class: "sp-panel-desc" }, "The monthly statutory cap on overtime hours.", -1)),
703
+ e("div", Ke, [
704
+ s[40] || (s[40] = e("div", { class: "sp-card-head" }, [
707
705
  e("div", { class: "sp-card-title" }, "Maximum OT Hours"),
708
706
  e("div", { class: "sp-card-note" }, "Enforced")
709
707
  ], -1)),
710
- e("div", Je, [
711
- s[40] || (s[40] = e("div", { class: "sp-row-main" }, [
708
+ e("div", Xe, [
709
+ s[39] || (s[39] = e("div", { class: "sp-row-main" }, [
712
710
  e("div", { class: "sp-row-label" }, "Monthly OT cap"),
713
711
  e("div", { class: "sp-row-hint" }, " Hours per person per month. Auto-Schedule never exceeds it. ")
714
712
  ], -1)),
@@ -731,36 +729,36 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
731
729
  ])
732
730
  ])
733
731
  ])
734
- ])) : N("", !0)
732
+ ])) : A("", !0)
735
733
  ])
736
734
  ]),
737
735
  e("div", {
738
736
  class: U(["sp-save", { dirty: l(t).dirty.value, arming: y.value }])
739
737
  }, [
740
- e("div", Ke, [
738
+ e("div", Ze, [
741
739
  H(h(y.value ? "Discard unsaved changes?" : "Unsaved changes") + " ", 1),
742
- y.value ? N("", !0) : (p(), m("span", Qe, "— save or discard before leaving."))
740
+ y.value ? A("", !0) : (p(), m("span", _e, "— save or discard before leaving."))
743
741
  ]),
744
- k(x, {
742
+ b(x, {
745
743
  hierarchy: "secondary",
746
744
  size: "sm",
747
745
  class: "am-btn am-btn-sec",
748
746
  type: "button",
749
747
  onClick: s[10] || (s[10] = (i) => R())
750
748
  }, {
751
- default: b(() => [
749
+ default: k(() => [
752
750
  H(h(y.value ? "Confirm discard" : "Discard"), 1)
753
751
  ]),
754
752
  _: 1
755
753
  }),
756
- k(x, {
754
+ b(x, {
757
755
  hierarchy: "primary",
758
756
  size: "sm",
759
757
  class: "am-btn am-btn-primary",
760
758
  type: "button",
761
759
  onClick: s[11] || (s[11] = (i) => c())
762
760
  }, {
763
- default: b(() => [...s[44] || (s[44] = [
761
+ default: k(() => [...s[43] || (s[43] = [
764
762
  H(" Save changes ", -1)
765
763
  ])]),
766
764
  _: 1
@@ -769,10 +767,10 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
769
767
  ])
770
768
  ])
771
769
  ]),
772
- k(ye, { modal: l(C) }, null, 8, ["modal"])
770
+ b(he, { modal: l(C) }, null, 8, ["modal"])
773
771
  ], 512));
774
772
  }
775
773
  });
776
774
  export {
777
- ls as default
775
+ rs as default
778
776
  };