@feedmepos/mf-hrm-portal 2.3.0-dev.8 → 2.3.0-dev.9

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 (81) hide show
  1. package/dist/{ApprovalCodeList-D5E_FN3f.js → ApprovalCodeList-BDpxEJpC.js} +2 -2
  2. package/dist/{AuditLogList-CqqiS2xW.js → AuditLogList-Dgwj1gz8.js} +3 -3
  3. package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-DC_oQTsP.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-BBK2gl7r.js} +2 -2
  4. package/dist/{EmployeeList-ChMlGxmu.js → EmployeeList-C8cbVcmY.js} +4 -4
  5. package/dist/{GrantUserList-DA26W3K3.js → GrantUserList-zul0_Dlm.js} +3 -3
  6. package/dist/{Main-B27Qx8R2.js → Main-5TsFTFpc.js} +5 -5
  7. package/dist/{Main-C0gVAR92.js → Main-Cjo4FMZZ.js} +2 -2
  8. package/dist/{Main-m39gMG-a.js → Main-DSr9KbjT.js} +9 -9
  9. package/dist/{PermissionSetList-mdA65jmw.js → PermissionSetList-CDhiiu37.js} +5 -5
  10. package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Dp6bdEZp.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DoK944l0.js} +1034 -1034
  11. package/dist/{RoleList-BPayuLxA.js → RoleList-DEbOPQD_.js} +7 -7
  12. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-Cx9jFgBS.js +492 -0
  13. package/dist/ScheduleGeneralPage-B8PWNsc2.js +776 -0
  14. package/dist/{ScheduleModal.vue_vue_type_script_setup_true_lang-ABipaQiR.js → ScheduleModal.vue_vue_type_script_setup_true_lang-V1sZ_xhO.js} +765 -717
  15. package/dist/SchedulePage-ndLByVBl.js +17785 -0
  16. package/dist/{SchedulePositionPage-BUQy-Itg.js → SchedulePositionPage-Cuv4ydOK.js} +22 -22
  17. package/dist/{TeamMemberList-CIlvRlf8.js → TeamMemberList-DpCGqHCk.js} +6 -6
  18. package/dist/{TimesheetList-DFAfhWYG.js → TimesheetList-B7HAC5zS.js} +5 -5
  19. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-QGzHuY7V.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-BGD6m5M-.js} +2 -2
  20. package/dist/{app-C_EW9DFr.js → app-Lh0cqgHy.js} +8 -8
  21. package/dist/app.js +1 -1
  22. package/dist/{dayjs.min-ibysRBBa.js → dayjs.min-joq4stsa.js} +1 -1
  23. package/dist/{employee-B1BQc4gB.js → employee-BPmp9c6i.js} +3 -3
  24. package/dist/{iteration-DQVB-iz0.js → iteration-jvdTHQUx.js} +1 -1
  25. package/dist/{lodash-DOj41a0A.js → lodash-CIAEpr9s.js} +1 -1
  26. package/dist/{role-B9MSLu4B.js → role-Dd1TUMhn.js} +1 -1
  27. package/dist/{rule-e6okoXK6.js → rule-DmxI7qEY.js} +2 -2
  28. package/dist/src/api/schedule/index.d.ts +2 -1
  29. package/dist/src/types/schedule.d.ts +3 -4
  30. package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +0 -8
  31. package/dist/src/views/scheduling/components/ScheduleBoardAreaRows.vue.d.ts +0 -5
  32. package/dist/src/views/scheduling/components/ScheduleBoardEditOverlays.vue.d.ts +0 -2
  33. package/dist/src/views/scheduling/components/ScheduleBoardEmployeeRows.vue.d.ts +0 -7
  34. package/dist/src/views/scheduling/components/ScheduleBoardInteractionOverlays.vue.d.ts +0 -6
  35. package/dist/src/views/scheduling/components/ScheduleContextMenu.vue.d.ts +1 -5
  36. package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +10 -0
  37. package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +0 -10
  38. package/dist/src/views/scheduling/composables/schedule-add-employee-form.d.ts +12 -8
  39. package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +21 -9
  40. package/dist/src/views/scheduling/composables/useScheduleAreaBoard.d.ts +0 -13
  41. package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +2 -8
  42. package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +3 -0
  43. package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +29 -4
  44. package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +0 -3
  45. package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +3 -5
  46. package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +11 -3
  47. package/dist/src/views/scheduling/composables/useScheduleEmployeeAccess.d.ts +7 -2
  48. package/dist/src/views/scheduling/composables/useScheduleEmployeeAvailability.d.ts +1 -1
  49. package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +1 -0
  50. package/dist/src/views/scheduling/composables/useScheduleEmployeePersistence.d.ts +4 -0
  51. package/dist/src/views/scheduling/composables/useScheduleEmployeeValidation.d.ts +2 -0
  52. package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +2 -0
  53. package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +21 -3
  54. package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +99 -22
  55. package/dist/src/views/scheduling/composables/useSchedulePageOverlays.d.ts +0 -4
  56. package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +1 -0
  57. package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +1 -1
  58. package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +2 -0
  59. package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +24 -4
  60. package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +7 -2
  61. package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +12 -2
  62. package/dist/src/views/scheduling/composables/useScheduleShiftDraft.d.ts +1 -0
  63. package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +15 -3
  64. package/dist/src/views/scheduling/country-rules/index.d.ts +4 -4
  65. package/dist/src/views/scheduling/data.d.ts +5 -1
  66. package/dist/src/views/scheduling/schedule-state.d.ts +76 -12
  67. package/dist/src/views/scheduling/schedule-store.d.ts +12 -5
  68. package/dist/src/views/scheduling/types.d.ts +22 -5
  69. package/dist/style.css +1 -1
  70. package/dist/tsconfig.app.tsbuildinfo +1 -1
  71. package/dist/{useReportPermissions-CJ9ey1bN.js → useReportPermissions-DM3GOFCC.js} +3 -3
  72. package/package.json +1 -1
  73. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-C_EQivMd.js +0 -470
  74. package/dist/ScheduleGeneralPage-sAqR1-hf.js +0 -666
  75. package/dist/SchedulePage-DhbtCR8U.js +0 -18546
  76. package/dist/src/views/scheduling/components/ScheduleAllShiftsRow.vue.d.ts +0 -22
  77. package/dist/src/views/scheduling/components/ScheduleAssignEmployeePopover.vue.d.ts +0 -6
  78. package/dist/src/views/scheduling/components/ScheduleStackPopover.vue.d.ts +0 -14
  79. package/dist/src/views/scheduling/composables/useScheduleAllShiftsRow.d.ts +0 -77
  80. package/dist/src/views/scheduling/composables/useScheduleAssign.d.ts +0 -124
  81. package/dist/src/views/scheduling/composables/useScheduleOpenShiftCard.d.ts +0 -23
@@ -1,9 +1,9 @@
1
- import { defineComponent as M, ref as A, onMounted as x, computed as z, createElementBlock as a, openBlock as l, createElementVNode as o, createVNode as i, withCtx as d, unref as s, toDisplayString as c, createTextVNode as r, normalizeClass as h, createCommentVNode as E, withDirectives as S, withKeys as k, vModelText as P, Fragment as C, renderList as V, withModifiers as g } from "vue";
1
+ import { defineComponent as M, ref as A, onMounted as x, computed as z, createElementBlock as l, openBlock as a, createElementVNode as o, createVNode as i, withCtx as d, unref as s, toDisplayString as c, createTextVNode as r, normalizeClass as h, createCommentVNode as E, withDirectives as S, withKeys as b, vModelText as P, Fragment as C, renderList as V, withModifiers as g } from "vue";
2
2
  import { useRouter as F } from "vue-router";
3
3
  import { useSnackbar as B } from "@feedmepos/ui-library";
4
- import { R as I } from "./app-C_EW9DFr.js";
5
- import { ao as L, ap as O, a7 as R, al as u, am as K } from "./ScheduleModal.vue_vue_type_script_setup_true_lang-ABipaQiR.js";
6
- import { u as T, a as U, _ as W } from "./ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-C_EQivMd.js";
4
+ import { R as I } from "./app-Lh0cqgHy.js";
5
+ import { as as L, at as O, aa as R, ao as u, ap as K } from "./ScheduleModal.vue_vue_type_script_setup_true_lang-V1sZ_xhO.js";
6
+ import { u as T, a as U, _ as W } from "./ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-Cx9jFgBS.js";
7
7
  import { _ as j } from "./_plugin-vue_export-helper-CHgC5LLL.js";
8
8
  const q = { class: "main" }, H = {
9
9
  id: "viewPositions",
@@ -17,7 +17,7 @@ const q = { class: "main" }, H = {
17
17
  }, ne = {
18
18
  key: 0,
19
19
  class: "cfg-row"
20
- }, ie = { class: "cfg-main" }, ae = ["onClick"], le = { class: "cfg-main" }, de = { class: "cfg-name" }, re = {
20
+ }, ie = { class: "cfg-main" }, le = ["onClick"], ae = { class: "cfg-main" }, de = { class: "cfg-name" }, re = {
21
21
  key: 0,
22
22
  class: "cfg-confirm"
23
23
  }, ue = { class: "q" }, ce = /* @__PURE__ */ M({
@@ -25,7 +25,7 @@ const q = { class: "main" }, H = {
25
25
  setup(ve) {
26
26
  const y = A(null);
27
27
  L(y);
28
- const _ = F(), w = B(), b = (f, e = "info") => w.open({ message: f, type: e }), t = T({ notify: b }), v = O(), m = U(void 0, { notify: b });
28
+ const _ = F(), w = B(), k = (f, e = "info") => w.open({ message: f, type: e }), t = T({ notify: k }), v = O(), m = U(void 0, { notify: k });
29
29
  x(async () => {
30
30
  await v.resolve() && await R(/* @__PURE__ */ new Date());
31
31
  });
@@ -38,7 +38,7 @@ const q = { class: "main" }, H = {
38
38
  function N() {
39
39
  _.push({ name: I.SCHEDULE });
40
40
  }
41
- return (f, e) => (l(), a("div", {
41
+ return (f, e) => (a(), l("div", {
42
42
  ref_key: "rootEl",
43
43
  ref: y,
44
44
  class: "sch"
@@ -112,12 +112,12 @@ const q = { class: "main" }, H = {
112
112
  class: h(["ce-err", { show: s(t).error.value }])
113
113
  }, c(s(t).error.value), 3),
114
114
  o("div", se, [
115
- !s(t).positions.value.length && !s(t).isAdding.value ? (l(), a("div", te, [...e[14] || (e[14] = [
115
+ !s(t).positions.value.length && !s(t).isAdding.value ? (a(), l("div", te, [...e[14] || (e[14] = [
116
116
  r(" No positions yet.", -1),
117
117
  o("br", null, null, -1),
118
118
  r(" Add one and it becomes assignable on every employee. ", -1)
119
- ])])) : (l(), a("div", oe, [
120
- s(t).isAdding.value ? (l(), a("div", ne, [
119
+ ])])) : (a(), l("div", oe, [
120
+ s(t).isAdding.value ? (a(), l("div", ne, [
121
121
  o("div", ie, [
122
122
  S(o("input", {
123
123
  "onUpdate:modelValue": e[1] || (e[1] = (n) => s(t).newName.value = n),
@@ -126,8 +126,8 @@ const q = { class: "main" }, H = {
126
126
  placeholder: "New position name",
127
127
  autofocus: "",
128
128
  onKeyup: [
129
- e[2] || (e[2] = k((n) => s(t).confirmAdd(), ["enter"])),
130
- e[3] || (e[3] = k((n) => s(t).cancelAdd(), ["esc"]))
129
+ e[2] || (e[2] = b((n) => s(t).confirmAdd(), ["enter"])),
130
+ e[3] || (e[3] = b((n) => s(t).cancelAdd(), ["esc"]))
131
131
  ]
132
132
  }, null, 544), [
133
133
  [P, s(t).newName.value]
@@ -160,16 +160,16 @@ const q = { class: "main" }, H = {
160
160
  _: 1
161
161
  }, 8, ["disabled"])
162
162
  ])) : E("", !0),
163
- (l(!0), a(C, null, V(s(t).positions.value, (n) => (l(), a("div", {
163
+ (a(!0), l(C, null, V(s(t).positions.value, (n) => (a(), l("div", {
164
164
  key: n.id,
165
165
  class: h(["cfg-row", { "is-clickable": s(t).pendingDeleteId.value !== n.id }]),
166
166
  onClick: (p) => s(t).pendingDeleteId.value !== n.id && s(m).openEdit(n.id, n.name)
167
167
  }, [
168
- o("div", le, [
168
+ o("div", ae, [
169
169
  o("div", de, c(n.name), 1)
170
170
  ]),
171
- s(t).pendingDeleteId.value === n.id ? (l(), a("div", re, [
172
- o("span", ue, c(s(t).usageCountFor(n.name) ? `Remove from ${s(t).usageCountFor(n.name)} staff?` : "Delete?"), 1),
171
+ s(t).pendingDeleteId.value === n.id ? (a(), l("div", re, [
172
+ o("span", ue, c(s(t).usageCountFor(n.id) ? `Remove from ${s(t).usageCountFor(n.id)} staff?` : "Delete?"), 1),
173
173
  i(u, {
174
174
  hierarchy: "danger",
175
175
  size: "sm",
@@ -196,10 +196,10 @@ const q = { class: "main" }, H = {
196
196
  ])]),
197
197
  _: 1
198
198
  }, 8, ["disabled"])
199
- ])) : (l(), a(C, { key: 1 }, [
199
+ ])) : (a(), l(C, { key: 1 }, [
200
200
  o("span", {
201
- class: h(["cfg-used", { none: !s(t).usageCountFor(n.name) }])
202
- }, c(s(t).usageCountFor(n.name) ? `${s(t).usageCountFor(n.name)} staff` : "unused"), 3),
201
+ class: h(["cfg-used", { none: !s(t).usageCountFor(n.id) }])
202
+ }, c(s(t).usageCountFor(n.id) ? `${s(t).usageCountFor(n.id)} staff` : "unused"), 3),
203
203
  i(u, {
204
204
  hierarchy: "secondary",
205
205
  size: "sm",
@@ -247,7 +247,7 @@ const q = { class: "main" }, H = {
247
247
  _: 1
248
248
  }, 8, ["aria-label", "onClick"])
249
249
  ], 64))
250
- ], 10, ae))), 128))
250
+ ], 10, le))), 128))
251
251
  ]))
252
252
  ])
253
253
  ])
@@ -258,7 +258,7 @@ const q = { class: "main" }, H = {
258
258
  i(W, { modal: s(m) }, null, 8, ["modal"])
259
259
  ], 512));
260
260
  }
261
- }), ke = /* @__PURE__ */ j(ce, [["__scopeId", "data-v-40bada6a"]]);
261
+ }), be = /* @__PURE__ */ j(ce, [["__scopeId", "data-v-6c156586"]]);
262
262
  export {
263
- ke as default
263
+ be as default
264
264
  };
@@ -3,20 +3,20 @@ import { useI18n as Ve, useCoreStore as Ze } from "@feedmepos/mf-common";
3
3
  import { useSnackbar as Le, useDialog as Qe, useBreakpoints as Ye, components as Oe } from "@feedmepos/ui-library";
4
4
  import { u as ps } from "./useDebounce-B8ZPVS5C.js";
5
5
  import { S as ye } from "./SelectFilter-CG13h83-.js";
6
- import { v as Te, m as vs, O as fs, _ as bs, a as hs } from "./app-C_EW9DFr.js";
6
+ import { v as Te, m as vs, O as fs, _ as bs, a as hs } from "./app-Lh0cqgHy.js";
7
7
  import { u as ys, _ as gs } from "./useDiscardConfirm-DPhEV6v0.js";
8
8
  import { _ as _s } from "./TableEmptyState.vue_vue_type_script_setup_true_lang-IfAZmWr0.js";
9
9
  import { s as Us, _ as Ss, a as xs, b as Fs, c as Ps } from "./PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js";
10
10
  import { u as He } from "./useLoading-Ch1AUYT1.js";
11
11
  import { n as es } from "./string-VNuQNweN.js";
12
- import { l as Pe } from "./lodash-DOj41a0A.js";
13
- import { c as he } from "./iteration-DQVB-iz0.js";
14
- import { t as _e, u as ss, c as Ae, b as qe, m as $e, d as ts, p as Ge, i as Is, j as Ke, k as ws, l as Vs, n as ks, o as Rs, q as Cs } from "./rule-e6okoXK6.js";
15
- import { u as as } from "./role-B9MSLu4B.js";
12
+ import { l as Pe } from "./lodash-CIAEpr9s.js";
13
+ import { c as he } from "./iteration-jvdTHQUx.js";
14
+ import { t as _e, u as ss, c as Ae, b as qe, m as $e, d as ts, p as Ge, i as Is, j as Ke, k as ws, l as Vs, n as ks, o as Rs, q as Cs } from "./rule-DmxI7qEY.js";
15
+ import { u as as } from "./role-Dd1TUMhn.js";
16
16
  import { u as ls, i as $s } from "./PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-BVz6q3HE.js";
17
17
  import "./useAppStore-BoLkvkE2.js";
18
18
  import { g as ze, b as We, u as os } from "./restaurant-BbYRA_IT.js";
19
- import { _ as Ms } from "./PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Dp6bdEZp.js";
19
+ import { _ as Ms } from "./PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DoK944l0.js";
20
20
  import { _ as Ns } from "./_plugin-vue_export-helper-CHgC5LLL.js";
21
21
  var Ue = /* @__PURE__ */ ((o) => (o.Update = "Update", o.Remove = "Remove", o))(Ue || {});
22
22
  const Ie = "__unassigned__";
@@ -1,17 +1,17 @@
1
1
  import { ref as d, computed as g, defineComponent as pe, onMounted as fe, watch as Z, resolveComponent as u, createElementBlock as P, openBlock as E, Fragment as ee, createVNode as l, createElementVNode as i, unref as r, withCtx as b, createCommentVNode as ve, toDisplayString as O, createTextVNode as he, isRef as ge, renderList as we, createBlock as te, nextTick as ye } from "vue";
2
- import { d as v } from "./dayjs.min-ibysRBBa.js";
2
+ import { d as v } from "./dayjs.min-joq4stsa.js";
3
3
  import { useI18n as _e } from "@feedmepos/mf-common";
4
4
  import { useSnackbar as be, components as xe } from "@feedmepos/ui-library";
5
5
  import { S as De } from "./SelectFilter-CG13h83-.js";
6
- import { _ as Se } from "./app-C_EW9DFr.js";
6
+ import { _ as Se } from "./app-Lh0cqgHy.js";
7
7
  import { _ as Ve } from "./TableEmptyState.vue_vue_type_script_setup_true_lang-IfAZmWr0.js";
8
8
  import { u as ke } from "./useLoading-Ch1AUYT1.js";
9
- import { g as Ce, s as Fe } from "./iteration-DQVB-iz0.js";
9
+ import { g as Ce, s as Fe } from "./iteration-jvdTHQUx.js";
10
10
  import { f as Ye } from "./utils-BZkjJbju.js";
11
11
  import { n as Le } from "./string-VNuQNweN.js";
12
- import { u as Me } from "./employee-B1BQc4gB.js";
12
+ import { u as Me } from "./employee-BPmp9c6i.js";
13
13
  import { u as Te } from "./restaurant-BbYRA_IT.js";
14
- import { u as Ie } from "./TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-QGzHuY7V.js";
14
+ import { u as Ie } from "./TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-BGD6m5M-.js";
15
15
  import { _ as Re } from "./_plugin-vue_export-helper-CHgC5LLL.js";
16
16
  function $e(x, a) {
17
17
  return ["years", "months"].find((S) => {
@@ -1,8 +1,8 @@
1
- import { d as i } from "./dayjs.min-ibysRBBa.js";
1
+ import { d as i } from "./dayjs.min-joq4stsa.js";
2
2
  import { defineStore as p, storeToRefs as T } from "pinia";
3
3
  import { ref as l } from "vue";
4
4
  import { b as c, g as y } from "./restaurant-BbYRA_IT.js";
5
- import { s as S } from "./iteration-DQVB-iz0.js";
5
+ import { s as S } from "./iteration-jvdTHQUx.js";
6
6
  import { i as f, f as g } from "./utils-BZkjJbju.js";
7
7
  const u = {
8
8
  async readTimesheets(t, e) {
@@ -9833,16 +9833,16 @@ const _e = (e) => ({
9833
9833
  }
9834
9834
  ]
9835
9835
  }
9836
- }), jc = ot(pe(() => import("./Main-m39gMG-a.js"))), Ec = ot(pe(() => import("./Main-B27Qx8R2.js"))), Pc = ot(
9837
- pe(() => import("./AuditLogList-CqqiS2xW.js"))
9838
- ), Oc = ot(pe(() => import("./Main-C0gVAR92.js"))), Gc = pe(() => import("./ApprovalCodeList-D5E_FN3f.js")), Yc = pe(() => import("./GrantUserList-DA26W3K3.js")), Vc = pe(() => import("./EmployeeList-ChMlGxmu.js")), Fc = pe(() => import("./RoleList-BPayuLxA.js")), Sc = pe(() => import("./TimesheetList-DFAfhWYG.js")), kc = pe(() => import("./TeamMemberList-CIlvRlf8.js")), Rc = pe(
9839
- () => import("./PermissionSetList-mdA65jmw.js")
9836
+ }), jc = ot(pe(() => import("./Main-DSr9KbjT.js"))), Ec = ot(pe(() => import("./Main-5TsFTFpc.js"))), Pc = ot(
9837
+ pe(() => import("./AuditLogList-Dgwj1gz8.js"))
9838
+ ), Oc = ot(pe(() => import("./Main-Cjo4FMZZ.js"))), Gc = pe(() => import("./ApprovalCodeList-BDpxEJpC.js")), Yc = pe(() => import("./GrantUserList-zul0_Dlm.js")), Vc = pe(() => import("./EmployeeList-C8cbVcmY.js")), Fc = pe(() => import("./RoleList-DEbOPQD_.js")), Sc = pe(() => import("./TimesheetList-B7HAC5zS.js")), kc = pe(() => import("./TeamMemberList-DpCGqHCk.js")), Rc = pe(
9839
+ () => import("./PermissionSetList-CDhiiu37.js")
9840
9840
  ), Hc = Ws(
9841
- ot(pe(() => import("./SchedulePage-DhbtCR8U.js")))
9841
+ ot(pe(() => import("./SchedulePage-ndLByVBl.js")))
9842
9842
  ), Ic = Ws(
9843
- ot(pe(() => import("./SchedulePositionPage-BUQy-Itg.js")))
9843
+ ot(pe(() => import("./SchedulePositionPage-Cuv4ydOK.js")))
9844
9844
  ), Tc = Ws(
9845
- ot(pe(() => import("./ScheduleGeneralPage-sAqR1-hf.js")))
9845
+ ot(pe(() => import("./ScheduleGeneralPage-B8PWNsc2.js")))
9846
9846
  ), ou = [
9847
9847
  {
9848
9848
  path: "/",
@@ -10888,7 +10888,7 @@ const iu = /* @__PURE__ */ at({
10888
10888
  };
10889
10889
  }
10890
10890
  });
10891
- var xs = { name: "@feedmepos/mf-hrm-portal", version: "2.3.0-dev.8", mode: "fmmf" };
10891
+ var xs = { name: "@feedmepos/mf-hrm-portal", version: "2.3.0-dev.9", mode: "fmmf" };
10892
10892
  console.log(
10893
10893
  `%c${xs.name}%c v${xs.version} %c${xs.mode}`,
10894
10894
  "background:#1f1f1f;color:#fff;padding:2px 6px;border-radius:3px 0 0 3px",
package/dist/app.js CHANGED
@@ -1,4 +1,4 @@
1
- import { h as e, i as r, r as o } from "./app-C_EW9DFr.js";
1
+ import { h as e, i as r, r as o } from "./app-Lh0cqgHy.js";
2
2
  export {
3
3
  e as FmApp,
4
4
  r as i18nMessages,
@@ -1,4 +1,4 @@
1
- import { g as Q, f as K } from "./app-C_EW9DFr.js";
1
+ import { g as Q, f as K } from "./app-Lh0cqgHy.js";
2
2
  var E = { exports: {} };
3
3
  (function(V, X) {
4
4
  (function(W, k) {
@@ -1,10 +1,10 @@
1
- import { d as g } from "./dayjs.min-ibysRBBa.js";
1
+ import { d as g } from "./dayjs.min-joq4stsa.js";
2
2
  import { defineStore as $, storeToRefs as x } from "pinia";
3
3
  import { ref as m } from "vue";
4
- import { s as E } from "./iteration-DQVB-iz0.js";
4
+ import { s as E } from "./iteration-jvdTHQUx.js";
5
5
  import { b as l, g as f, u as I } from "./restaurant-BbYRA_IT.js";
6
6
  import { i as v } from "./utils-BZkjJbju.js";
7
- import { u as P } from "./role-B9MSLu4B.js";
7
+ import { u as P } from "./role-Dd1TUMhn.js";
8
8
  const o = {
9
9
  async readEmployees() {
10
10
  return f(await l().get("/pos-users"));
@@ -1,4 +1,4 @@
1
- import { f as B } from "./app-C_EW9DFr.js";
1
+ import { f as B } from "./app-Lh0cqgHy.js";
2
2
  var ma = {}, Zt = {}, l = {}, ji = {}, Ei = {}, Ii = {}, Dn = {};
3
3
  (function(e) {
4
4
  Object.defineProperty(e, "__esModule", { value: !0 }), e.getParsedType = e.ZodParsedType = e.util = void 0;
@@ -1,4 +1,4 @@
1
- import { f as jt } from "./app-C_EW9DFr.js";
1
+ import { f as jt } from "./app-Lh0cqgHy.js";
2
2
  var Jr = { exports: {} };
3
3
  /**
4
4
  * @license
@@ -1,7 +1,7 @@
1
1
  import { defineStore as x, storeToRefs as b } from "pinia";
2
2
  import { ref as w } from "vue";
3
3
  import { useCoreStore as B } from "@feedmepos/mf-common";
4
- import { s as v } from "./iteration-DQVB-iz0.js";
4
+ import { s as v } from "./iteration-jvdTHQUx.js";
5
5
  import { g as f, b as p, u as I } from "./restaurant-BbYRA_IT.js";
6
6
  const R = {
7
7
  async readRoles() {
@@ -1,5 +1,5 @@
1
- import { s as W, c as q, e as y } from "./iteration-DQVB-iz0.js";
2
- import { e as O, b as V, c as _, v as F, n as h, O as ee, D as M } from "./app-C_EW9DFr.js";
1
+ import { s as W, c as q, e as y } from "./iteration-jvdTHQUx.js";
2
+ import { e as O, b as V, c as _, v as F, n as h, O as ee, D as M } from "./app-Lh0cqgHy.js";
3
3
  import { s as se } from "./utils-BZkjJbju.js";
4
4
  import { g, b as v, q as x, u as te } from "./restaurant-BbYRA_IT.js";
5
5
  import { defineStore as z, storeToRefs as K } from "pinia";
@@ -1,4 +1,4 @@
1
- import type { FdtoScheduleAssignment, FdtoScheduleAutoScheduleApplyReq, FdtoScheduleAutoScheduleApplyResult, FdtoScheduleAutoScheduleCapabilities, FdtoScheduleAutoScheduleGenerateReq, FdtoScheduleAutoScheduleResult, FdtoScheduleBoard, FdtoScheduleBulkUpdateAssignmentStatusReq, FdtoScheduleBulkSaveAssignmentsReq, FdtoScheduleBulkSaveAssignmentsResult, FdtoScheduleBulkReplaceDemandReq, FdtoScheduleCreateEmployeeProfileReq, FdtoScheduleEmployeeConfig, FdtoScheduleDemand, FdtoScheduleEmployee, FdtoSchedulePosition, FdtoScheduleSaveAssignmentReq, FdtoScheduleSaveDemandReq, FdtoScheduleSaveEmployeeConfigsReq, FdtoScheduleSavePositionReq, FdtoScheduleSaveScheduleDayReq, FdtoScheduleSaveSettingsReq, FdtoScheduleReplaceDemandReq, FdtoScheduleSettings, FdtoScheduleScheduleDay, FdtoScheduleUpdateEmployeeProfileReq, FdtoScheduleCreateTimeOffReq, FdtoScheduleTimeOff, FdtoScheduleUpdateTimeOffStatusReq } from '@/types/schedule';
1
+ import type { FdtoScheduleAssignment, FdtoScheduleAutoScheduleApplyReq, FdtoScheduleAutoScheduleApplyResult, FdtoScheduleAutoScheduleCapabilities, FdtoScheduleAutoScheduleGenerateReq, FdtoScheduleAutoScheduleResult, FdtoScheduleBoard, FdtoScheduleBulkUpdateAssignmentStatusReq, FdtoScheduleBulkSaveAssignmentsReq, FdtoScheduleBulkSaveAssignmentsResult, FdtoScheduleBulkReplaceDemandReq, FdtoScheduleCreateEmployeeProfileReq, FdtoScheduleEmployeeConfig, FdtoScheduleDemand, FdtoScheduleEmployee, FdtoSchedulePosition, FdtoScheduleSaveAssignmentReq, FdtoScheduleSaveDemandReq, FdtoScheduleSaveEmployeeConfigsReq, FdtoScheduleSavePositionReq, FdtoScheduleSaveScheduleDayReq, FdtoScheduleSaveSettingsReq, FdtoScheduleReplaceDemandReq, FdtoScheduleSettings, FdtoScheduleScheduleDay, FdtoScheduleUpdateEmployeeProfileReq, FdtoScheduleValidatePosAccessReq, FdtoScheduleCreateTimeOffReq, FdtoScheduleTimeOff, FdtoScheduleUpdateTimeOffStatusReq } from '@/types/schedule';
2
2
  declare const ScheduleAPI: {
3
3
  listEmployeeProfiles(employeeIds?: string[]): Promise<FdtoScheduleEmployee[]>;
4
4
  listEmployeeConfigs(restaurantId: string): Promise<FdtoScheduleEmployeeConfig[]>;
@@ -17,6 +17,7 @@ declare const ScheduleAPI: {
17
17
  createEmployeeProfile(_restaurantId: string, req: FdtoScheduleCreateEmployeeProfileReq): Promise<FdtoScheduleEmployee>;
18
18
  /** Edits the employee's shared business-level scheduling profile. */
19
19
  updateEmployeeProfile(_restaurantId: string, employeeId: string, req: FdtoScheduleUpdateEmployeeProfileReq): Promise<FdtoScheduleEmployee>;
20
+ validatePosAccess(req: FdtoScheduleValidatePosAccessReq): Promise<void>;
20
21
  /** Positions are shared across the business. */
21
22
  createPosition(req: FdtoScheduleSavePositionReq): Promise<FdtoSchedulePosition>;
22
23
  updatePosition(id: string, req: FdtoScheduleSavePositionReq): Promise<FdtoSchedulePosition>;
@@ -5,12 +5,11 @@
5
5
  * only view-model commands that intentionally do not cross HTTP (for example
6
6
  * replacing a period made up of several persisted demand rows).
7
7
  */
8
- export type { FdtoScheduleAssignment, FdtoScheduleAutoScheduleApplyReq, FdtoScheduleAutoScheduleApplyResult, FdtoScheduleAutoScheduleCapabilities, FdtoScheduleAutoScheduleGenerateReq, FdtoScheduleAutoScheduleObjective, FdtoScheduleAutoSchedulePlanner, FdtoScheduleAutoScheduleProposal, FdtoScheduleAutoScheduleRejection, FdtoScheduleAutoScheduleResult, FdtoScheduleAutoScheduleTiming, FdtoScheduleAutoScheduleUnfilledNeed, FdtoScheduleBoard, FdtoScheduleBulkUpdateAssignmentStatusReq, FdtoScheduleBulkSaveAssignmentsReq, FdtoScheduleBulkSaveAssignmentsResult, FdtoScheduleBulkReplaceDemandReq, FdtoScheduleBreak, FdtoScheduleCreateEmployeeProfileReq, FdtoScheduleEmployeeConfig, FdtoScheduleDayOperatingHours, FdtoScheduleDemand, FdtoScheduleEmployee, FdtoScheduleOptionalDateRange, FdtoSchedulePayRate, FdtoSchedulePosition, FdtoSchedulePositionRef, FdtoSchedulePositionSelectorReq, FdtoScheduleRestaurantProfile, FdtoScheduleSaveAssignmentReq, FdtoScheduleSaveDemandReq, FdtoScheduleReplaceDemandReq, FdtoScheduleSaveEmployeeConfigsReq, FdtoScheduleSavePositionReq, FdtoScheduleSaveScheduleDayReq, FdtoScheduleSaveSettingsReq, FdtoScheduleScheduleDay, FdtoScheduleSettings, FdtoScheduleUpdateEmployeeProfileReq, FdtoScheduleCreateTimeOffReq, FdtoScheduleTimeOff, FdtoScheduleTimeOffDayPart, FdtoScheduleTimeOffQuery, FdtoScheduleTimeOffStatus, FdtoScheduleTimeOffType, FdtoScheduleUpdateTimeOffStatusReq, } from '@feedmepos/hrm-schedule-contract';
9
- /** UI-level replacement command. The store expands these periods into flat
8
+ export type { FdtoScheduleAssignment, FdtoScheduleAutoScheduleApplyReq, FdtoScheduleAutoScheduleApplyResult, FdtoScheduleAutoScheduleCapabilities, FdtoScheduleAutoScheduleGenerateReq, FdtoScheduleAutoScheduleObjective, FdtoScheduleAutoSchedulePlanner, FdtoScheduleAutoScheduleProposal, FdtoScheduleAutoScheduleRejection, FdtoScheduleAutoScheduleResult, FdtoScheduleAutoScheduleTiming, FdtoScheduleAutoScheduleUnfilledNeed, FdtoScheduleBoard, FdtoScheduleBulkUpdateAssignmentStatusReq, FdtoScheduleBulkSaveAssignmentsReq, FdtoScheduleBulkSaveAssignmentsResult, FdtoScheduleBulkReplaceDemandReq, FdtoScheduleBreak, FdtoScheduleCreateEmployeeProfileReq, FdtoScheduleEmployeeConfig, FdtoScheduleDayOperatingHours, FdtoScheduleDemand, FdtoScheduleEmployee, FdtoScheduleOptionalDateRange, FdtoSchedulePayRate, FdtoSchedulePosition, FdtoSchedulePositionRef, FdtoSchedulePositionSelectorReq, FdtoScheduleRestaurantProfile, FdtoScheduleSaveAssignmentReq, FdtoScheduleSaveDemandReq, FdtoScheduleReplaceDemandReq, FdtoScheduleSaveEmployeeConfigsReq, FdtoScheduleSavePositionReq, FdtoScheduleSaveScheduleDayReq, FdtoScheduleSaveSettingsReq, FdtoScheduleScheduleDay, FdtoScheduleSettings, FdtoScheduleUpdateEmployeeProfileReq, FdtoScheduleValidatePosAccessReq, FdtoScheduleCreateTimeOffReq, FdtoScheduleTimeOff, FdtoScheduleTimeOffDayPart, FdtoScheduleTimeOffQuery, FdtoScheduleTimeOffStatus, FdtoScheduleTimeOffType, FdtoScheduleUpdateTimeOffStatusReq, } from '@feedmepos/hrm-schedule-contract';
9
+ /** UI-level date replacement command. The store expands these periods into flat
10
10
  * ShiftDemand rows before calling the shared HTTP contract. */
11
11
  export interface ScheduleReplaceDemandReq {
12
- date?: string;
13
- dayOfWeek?: number;
12
+ date: string;
14
13
  periods: Array<{
15
14
  startTime: string;
16
15
  endTime: string;
@@ -1,13 +1,11 @@
1
1
  import type { ScheduleBoardApi } from '../composables/useScheduleBoard';
2
2
  import type { ScheduleAreaBoardApi } from '../composables/useScheduleAreaBoard';
3
- import type { ScheduleOpenShiftCardApi } from '../composables/useScheduleOpenShiftCard';
4
3
  import type { ScheduleAreaDragDropApi } from '../composables/useScheduleAreaDragDrop';
5
4
  import type { ScheduleDragDropApi } from '../composables/useScheduleDragDrop';
6
5
  import type { ScheduleDemandRowApi } from '../composables/useScheduleDemandRow';
7
6
  type __VLS_Props = {
8
7
  board: ScheduleBoardApi;
9
8
  areaBoard: ScheduleAreaBoardApi;
10
- openShiftCard: ScheduleOpenShiftCardApi;
11
9
  dragDrop: ScheduleAreaDragDropApi;
12
10
  /** A card's own drag — dropping it on another card offers a swap, dropping it on empty cell
13
11
  * space moves it to that day, the same two gestures the employee view's grid has. Distinct
@@ -17,27 +15,21 @@ type __VLS_Props = {
17
15
  };
18
16
  declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
19
17
  editShift: (empId: number, dayIdx: number) => any;
20
- openAssign: (openId: number) => any;
21
- openOpenShiftMenu: (openId: number, anchor: HTMLElement) => any;
22
18
  segEnter: (dayIdx: number, from: number, to: number, anchor: HTMLElement) => any;
23
19
  segLeave: () => any;
24
20
  segClick: (dayIdx: number, from: number, to: number, anchor: HTMLElement) => any;
25
21
  segFocus: (dayIdx: number, from: number, to: number, anchor: HTMLElement) => any;
26
22
  openDemandSheet: (dayIdx: number) => any;
27
- openNewShift: (dayIdx: number, position: string) => any;
28
23
  addPosition: () => any;
29
24
  scheduleByPerson: () => any;
30
25
  openSwap: (fromEmpId: number, fromDayIdx: number, toEmpId: number, toDayIdx: number, slotIndex: number) => any;
31
26
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
32
27
  onEditShift?: ((empId: number, dayIdx: number) => any) | undefined;
33
- onOpenAssign?: ((openId: number) => any) | undefined;
34
- onOpenOpenShiftMenu?: ((openId: number, anchor: HTMLElement) => any) | undefined;
35
28
  onSegEnter?: ((dayIdx: number, from: number, to: number, anchor: HTMLElement) => any) | undefined;
36
29
  onSegLeave?: (() => any) | undefined;
37
30
  onSegClick?: ((dayIdx: number, from: number, to: number, anchor: HTMLElement) => any) | undefined;
38
31
  onSegFocus?: ((dayIdx: number, from: number, to: number, anchor: HTMLElement) => any) | undefined;
39
32
  onOpenDemandSheet?: ((dayIdx: number) => any) | undefined;
40
- onOpenNewShift?: ((dayIdx: number, position: string) => any) | undefined;
41
33
  onAddPosition?: (() => any) | undefined;
42
34
  onScheduleByPerson?: (() => any) | undefined;
43
35
  onOpenSwap?: ((fromEmpId: number, fromDayIdx: number, toEmpId: number, toDayIdx: number, slotIndex: number) => any) | undefined;
@@ -1,20 +1,15 @@
1
1
  import type { ScheduleBoardApi } from '../composables/useScheduleBoard';
2
2
  import type { ScheduleAreaBoardApi } from '../composables/useScheduleAreaBoard';
3
- import type { ScheduleOpenShiftCardApi } from '../composables/useScheduleOpenShiftCard';
4
3
  import type { ScheduleAreaDragDropApi } from '../composables/useScheduleAreaDragDrop';
5
4
  import type { ScheduleDragDropApi } from '../composables/useScheduleDragDrop';
6
5
  import type { ScheduleDemandRowApi } from '../composables/useScheduleDemandRow';
7
6
  type __VLS_Props = {
8
7
  board: ScheduleBoardApi;
9
8
  areaBoard: ScheduleAreaBoardApi;
10
- openShiftCard: ScheduleOpenShiftCardApi;
11
9
  dragDrop: ScheduleAreaDragDropApi;
12
10
  shiftDragDrop: ScheduleDragDropApi;
13
11
  demandRow: ScheduleDemandRowApi;
14
12
  onEditShift: (...args: any[]) => void;
15
- onOpenAssign: (...args: any[]) => void;
16
- onOpenNewShift: (...args: any[]) => void;
17
- onOpenOpenShiftMenu: (...args: any[]) => void;
18
13
  onOpenDemandSheet: (...args: any[]) => void;
19
14
  onSegEnter: (...args: any[]) => void;
20
15
  onSegLeave: (...args: any[]) => void;
@@ -2,7 +2,6 @@ import type { ScheduleBoardApi } from '../composables/useScheduleBoard';
2
2
  import type { ScheduleShiftPopoverApi } from '../composables/useScheduleShiftPopover';
3
3
  import type { ScheduleTimePickerApi } from '../composables/useScheduleTimePicker';
4
4
  import type { ScheduleShiftActionsApi } from '../composables/useScheduleShiftActions';
5
- import type { ScheduleAssignApi } from '../composables/useScheduleAssign';
6
5
  import type { ScheduleLeaveApi } from '../composables/useScheduleLeave';
7
6
  import type { ScheduleClashDetectionApi } from '../composables/useScheduleClashDetection';
8
7
  type __VLS_Props = {
@@ -10,7 +9,6 @@ type __VLS_Props = {
10
9
  popover: ScheduleShiftPopoverApi;
11
10
  timePicker: ScheduleTimePickerApi;
12
11
  shiftActions: ScheduleShiftActionsApi;
13
- assign: ScheduleAssignApi;
14
12
  leave: ScheduleLeaveApi;
15
13
  clash: ScheduleClashDetectionApi;
16
14
  onNewPosition: (assign: (name: string) => void) => void;
@@ -1,16 +1,12 @@
1
1
  import type { ScheduleBoardApi } from '../composables/useScheduleBoard';
2
2
  import type { ScheduleDragDropApi } from '../composables/useScheduleDragDrop';
3
3
  import type { ScheduleRosterApi } from '../composables/useScheduleRoster';
4
- import type { ScheduleOpenShiftCardApi } from '../composables/useScheduleOpenShiftCard';
5
- import type { ScheduleAllShiftsRowApi } from '../composables/useScheduleAllShiftsRow';
6
4
  import type { ScheduleDemandRowApi } from '../composables/useScheduleDemandRow';
7
5
  import type { ScheduleAutoScheduleApi } from '../composables/useScheduleAutoSchedule';
8
6
  type __VLS_Props = {
9
7
  board: ScheduleBoardApi;
10
8
  dragDrop: ScheduleDragDropApi;
11
9
  roster: ScheduleRosterApi;
12
- openShiftCard: ScheduleOpenShiftCardApi;
13
- allShiftsRow: ScheduleAllShiftsRowApi;
14
10
  demandRow: ScheduleDemandRowApi;
15
11
  autoSchedule: ScheduleAutoScheduleApi;
16
12
  onAddShift: (...args: any[]) => void;
@@ -23,11 +19,8 @@ type __VLS_Props = {
23
19
  onDropCell: (...args: any[]) => void;
24
20
  onProposalDragStart: (...args: any[]) => void;
25
21
  onProposalDragEnd: () => void;
26
- onOpenAssign: (...args: any[]) => void;
27
- onOpenOpenShiftMenu: (...args: any[]) => void;
28
22
  onToggleProposal: (...args: any[]) => void;
29
23
  onAddEmployee: () => void;
30
- onAddOpenShift: (...args: any[]) => void;
31
24
  onOpenDemandSheet: (...args: any[]) => void;
32
25
  onSegEnter: (...args: any[]) => void;
33
26
  onSegLeave: () => void;
@@ -7,9 +7,6 @@ import type { ScheduleShiftActionsApi } from '../composables/useScheduleShiftAct
7
7
  import type { ScheduleShiftPopoverApi } from '../composables/useScheduleShiftPopover';
8
8
  import type { ScheduleAutoScheduleApi } from '../composables/useScheduleAutoSchedule';
9
9
  import type { ScheduleDemandSheetApi } from '../composables/useScheduleDemandSheet';
10
- import type { ScheduleAllShiftsRowApi } from '../composables/useScheduleAllShiftsRow';
11
- import type { ScheduleAssignApi } from '../composables/useScheduleAssign';
12
- import type { ScheduleOpenShiftCardApi } from '../composables/useScheduleOpenShiftCard';
13
10
  type ScheduleEmployeeProfileApi = ReturnType<typeof useScheduleEmployeeProfile>;
14
11
  type __VLS_Props = {
15
12
  board: ScheduleBoardApi;
@@ -21,9 +18,6 @@ type __VLS_Props = {
21
18
  popover: ScheduleShiftPopoverApi;
22
19
  autoSchedule: ScheduleAutoScheduleApi;
23
20
  demandSheet: ScheduleDemandSheetApi;
24
- allShiftsRow: ScheduleAllShiftsRowApi;
25
- assign: ScheduleAssignApi;
26
- openShiftCard: ScheduleOpenShiftCardApi;
27
21
  removeEmployeeOpen: boolean;
28
22
  removeEmployeeName: string;
29
23
  onEditEmployee: () => void;
@@ -1,21 +1,17 @@
1
1
  import type { ScheduleBoardApi } from '../composables/useScheduleBoard';
2
2
  import type { ScheduleShiftActionsApi } from '../composables/useScheduleShiftActions';
3
- import type { ScheduleOpenShiftCardApi } from '../composables/useScheduleOpenShiftCard';
4
3
  import type { ScheduleShiftPopoverApi } from '../composables/useScheduleShiftPopover';
5
4
  import type { ScheduleEmployeeMenuApi } from '../composables/useScheduleEmployeeMenu';
6
5
  type __VLS_Props = {
7
- kind: 'shift' | 'open-shift' | 'employee';
6
+ kind: 'shift' | 'employee';
8
7
  board?: ScheduleBoardApi;
9
8
  actions?: ScheduleShiftActionsApi;
10
- openShiftMenu?: ScheduleOpenShiftCardApi;
11
9
  popover?: ScheduleShiftPopoverApi;
12
10
  employeeMenu?: ScheduleEmployeeMenuApi;
13
11
  };
14
12
  declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
13
  editShift: (empId: number, dayIdx: number, slotIndex: number) => any;
16
- assign: (openId: number) => any;
17
14
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
18
15
  onEditShift?: ((empId: number, dayIdx: number, slotIndex: number) => any) | undefined;
19
- onAssign?: ((openId: number) => any) | undefined;
20
16
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
17
  export default _default;
@@ -5,6 +5,8 @@
5
5
  export interface ScheduleSelectOption {
6
6
  value: string;
7
7
  label: string;
8
+ /** Stable identity used when two options can share the same display value. */
9
+ id?: string;
8
10
  disabled?: boolean;
9
11
  group?: string;
10
12
  /** Second line under the label. Any option carrying one switches the menu to the rich
@@ -22,8 +24,12 @@ declare const _default: import("vue").DefineComponent<{
22
24
  * close the menu and emit `update:modelValue`. */
23
25
  multiple?: boolean;
24
26
  selected?: string[];
27
+ /** Stable selected identity for single-select menus whose labels may be duplicated. */
28
+ selectedId?: string;
25
29
  /** Closed-control text while a multi-select has nothing picked. */
26
30
  placeholder?: string;
31
+ /** Optional closed-control text for a selected value that is not available in the menu. */
32
+ selectedLabel?: string;
27
33
  disabled?: boolean;
28
34
  /** Heading over the menu. Also switches to the rich layout. */
29
35
  menuTitle?: string;
@@ -42,8 +48,12 @@ declare const _default: import("vue").DefineComponent<{
42
48
  * close the menu and emit `update:modelValue`. */
43
49
  multiple?: boolean;
44
50
  selected?: string[];
51
+ /** Stable selected identity for single-select menus whose labels may be duplicated. */
52
+ selectedId?: string;
45
53
  /** Closed-control text while a multi-select has nothing picked. */
46
54
  placeholder?: string;
55
+ /** Optional closed-control text for a selected value that is not available in the menu. */
56
+ selectedLabel?: string;
47
57
  disabled?: boolean;
48
58
  /** Heading over the menu. Also switches to the rich layout. */
49
59
  menuTitle?: string;
@@ -2,15 +2,11 @@ import type { Proposal } from '../types';
2
2
  import type { ScheduleBoardApi } from '../composables/useScheduleBoard';
3
3
  import type { ScheduleDragDropApi } from '../composables/useScheduleDragDrop';
4
4
  import type { ScheduleRosterApi } from '../composables/useScheduleRoster';
5
- import type { ScheduleOpenShiftCardApi } from '../composables/useScheduleOpenShiftCard';
6
- import type { ScheduleAllShiftsRowApi } from '../composables/useScheduleAllShiftsRow';
7
5
  import type { ScheduleDemandRowApi } from '../composables/useScheduleDemandRow';
8
6
  type __VLS_Props = {
9
7
  board: ScheduleBoardApi;
10
8
  dragDrop: ScheduleDragDropApi;
11
9
  roster: ScheduleRosterApi;
12
- openShiftCard: ScheduleOpenShiftCardApi;
13
- allShiftsRow: ScheduleAllShiftsRowApi;
14
10
  demandRow: ScheduleDemandRowApi;
15
11
  proposalAt?: (empId: number, dayIdx: number) => Proposal | undefined;
16
12
  };
@@ -23,9 +19,6 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
23
19
  toggleProposal: (id: number) => any;
24
20
  proposalDragStart: (id: number, ev: DragEvent) => any;
25
21
  proposalDragEnd: () => any;
26
- openAssign: (openId: number) => any;
27
- openOpenShiftMenu: (openId: number, anchor: HTMLElement) => any;
28
- addOpenShift: (dayIdx: number) => any;
29
22
  segEnter: (dayIdx: number, from: number, to: number, anchor: HTMLElement) => any;
30
23
  segLeave: () => any;
31
24
  segClick: (dayIdx: number, from: number, to: number, anchor: HTMLElement) => any;
@@ -44,9 +37,6 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
44
37
  onToggleProposal?: ((id: number) => any) | undefined;
45
38
  onProposalDragStart?: ((id: number, ev: DragEvent) => any) | undefined;
46
39
  onProposalDragEnd?: (() => any) | undefined;
47
- onOpenAssign?: ((openId: number) => any) | undefined;
48
- onOpenOpenShiftMenu?: ((openId: number, anchor: HTMLElement) => any) | undefined;
49
- onAddOpenShift?: ((dayIdx: number) => any) | undefined;
50
40
  onSegEnter?: ((dayIdx: number, from: number, to: number, anchor: HTMLElement) => any) | undefined;
51
41
  onSegLeave?: (() => any) | undefined;
52
42
  onSegClick?: ((dayIdx: number, from: number, to: number, anchor: HTMLElement) => any) | undefined;
@@ -11,12 +11,12 @@ export interface ScheduleAddEmployeeForm {
11
11
  payBasis: 'hourly' | 'monthly';
12
12
  payAmount: string;
13
13
  maxHours: string;
14
+ maxHoursPerDay: string;
14
15
  minHours: string;
15
- /** Overtime is opt-in: off is "no rule", not "zero overtime" — a 0 sitting in the fields
16
- * below by default would read as "every hour is overtime", the opposite of unset. */
17
- otEnabled: boolean;
18
- otAfterDaily: string;
19
- maxOtHours: string;
16
+ workingHoursEnabled: boolean;
17
+ overtimeEnabled: boolean;
18
+ /** Blank means no employee override; the outlet overtime setting is inherited. */
19
+ maxHoursPerMonth: string;
20
20
  /** For a part-timer: days they CAN work. For a full-timer: days they're OFF — the
21
21
  * mockup inverts the same array's meaning by employment type. */
22
22
  availDays: boolean[];
@@ -31,9 +31,13 @@ export interface ScheduleAddEmployeeForm {
31
31
  masterCode: string;
32
32
  /** Gates the fields below it — someone can be fully scheduled with this off. */
33
33
  posAccessEnabled: boolean;
34
- /** WHAT the passcode opens the till as, at this outlet — the one this person is being added
35
- * to. The outlet itself isn't a choice here: this wizard is already scoped to it. */
36
- posRoleId: string;
34
+ /** WHAT the passcode opens the till as, and WHERE — a row per outlet. Not restricted to the
35
+ * outlets picked in Work locations above: a floating manager can be rostered at one outlet
36
+ * and hold POS admin at several others. */
37
+ posRoles: {
38
+ outlet: string;
39
+ roleId: string;
40
+ }[];
37
41
  }
38
42
  /** A salaried month, for converting a monthly figure into the hourly one the cost rail
39
43
  * actually reads. Ported verbatim from the mockup's MONTH_HOURS. */