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

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 (50) hide show
  1. package/dist/{ApprovalCodeList-BLA2rhLB.js → ApprovalCodeList--NA0toYU.js} +2 -2
  2. package/dist/{AuditLogList-DBYdZhZl.js → AuditLogList-B-NaB6OX.js} +3 -3
  3. package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-CtCEzPbE.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-AEr2bDPY.js} +2 -2
  4. package/dist/{EmployeeList-CA7DWLmy.js → EmployeeList-idO38m7y.js} +23 -22
  5. package/dist/{GrantUserList-BYnegeEr.js → GrantUserList-B1S7yDKu.js} +3 -3
  6. package/dist/{Main-NDK7LUmm.js → Main-D5cWrqP3.js} +9 -9
  7. package/dist/{Main-Dh-gZSaa.js → Main-cdf9NV8P.js} +2 -2
  8. package/dist/{Main-BeXx0hAc.js → Main-mcCvBPvJ.js} +5 -5
  9. package/dist/{PermissionSetList-DDIacDpQ.js → PermissionSetList-3_f6sJpK.js} +17 -16
  10. package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-ONMn3v_f.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Cmin3rlY.js} +873 -873
  11. package/dist/ResponsiveContextMenu.vue_vue_type_script_setup_true_lang-mSJFKo7r.js +132 -0
  12. package/dist/{RoleList-B30FHIzu.js → RoleList-ByQelhuG.js} +19 -18
  13. package/dist/{ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-CRRguWTG.js → ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-e4YOu59G.js} +1 -1
  14. package/dist/{ScheduleGeneralPage-8gEeZbFR.js → ScheduleGeneralPage-TKWgkAoE.js} +130 -128
  15. package/dist/{ScheduleModal.vue_vue_type_script_setup_true_lang-TfxTAjO8.js → ScheduleModal.vue_vue_type_script_setup_true_lang-6bTAsmpp.js} +527 -491
  16. package/dist/SchedulePage-BpvgQYqL.js +17985 -0
  17. package/dist/{SchedulePositionPage-oGIDGneA.js → SchedulePositionPage-BjvKTHyY.js} +3 -3
  18. package/dist/{TeamMemberList-Drj6R4Y3.js → TeamMemberList-CJzF0wNK.js} +20 -19
  19. package/dist/{TimesheetList-CDQfN5LE.js → TimesheetList-CJcSs_B1.js} +5 -5
  20. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-Bx-6hjs7.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-zttvxhi-.js} +2 -2
  21. package/dist/{app-DWe_4-ct.js → app-DLiYhsK2.js} +8 -8
  22. package/dist/app.js +1 -1
  23. package/dist/{dayjs.min-QSwC9dtX.js → dayjs.min-ar-wg1yi.js} +1 -1
  24. package/dist/{employee-Bb2b3dP6.js → employee-CmUfaF0i.js} +3 -3
  25. package/dist/{iteration-TDU7bFxZ.js → iteration-uWvyRKkX.js} +1 -1
  26. package/dist/{lodash-D3Ns5VMN.js → lodash-BzVEbSHJ.js} +1 -1
  27. package/dist/{role-D57Le_-U.js → role-R2KDFlIY.js} +1 -1
  28. package/dist/{rule-DzesUEX7.js → rule-C6ELRd3E.js} +2 -2
  29. package/dist/src/composables/useDiscardConfirm.d.ts +3 -1
  30. package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +2 -1
  31. package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +1 -0
  32. package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +0 -3
  33. package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +2 -0
  34. package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +7 -0
  35. package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +2 -2
  36. package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +1 -0
  37. package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +7 -0
  38. package/dist/src/views/scheduling/composables/useScheduleOutlet.d.ts +10 -8
  39. package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +2 -0
  40. package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +1 -0
  41. package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +6 -1
  42. package/dist/src/views/scheduling/schedule-store.d.ts +13 -0
  43. package/dist/src/views/scheduling/types.d.ts +2 -0
  44. package/dist/style.css +1 -1
  45. package/dist/tsconfig.app.tsbuildinfo +1 -1
  46. package/dist/useDiscardConfirm-CzZSPyvh.js +28 -0
  47. package/dist/{useReportPermissions-Cmuead1K.js → useReportPermissions-B2U347Ey.js} +3 -3
  48. package/package.json +3 -3
  49. package/dist/SchedulePage-DQ0VXWWi.js +0 -17832
  50. package/dist/useDiscardConfirm-DPhEV6v0.js +0 -157
@@ -1,9 +1,9 @@
1
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 k, 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-DWe_4-ct.js";
5
- import { as as L, at as O, ab as R, ao as u, ap as K } from "./ScheduleModal.vue_vue_type_script_setup_true_lang-TfxTAjO8.js";
6
- import { u as T, a as U, _ as W } from "./ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-CRRguWTG.js";
4
+ import { R as I } from "./app-DLiYhsK2.js";
5
+ import { as as L, at as O, ab as R, ao as u, ap as K } from "./ScheduleModal.vue_vue_type_script_setup_true_lang-6bTAsmpp.js";
6
+ import { u as T, a as U, _ as W } from "./ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-e4YOu59G.js";
7
7
  import { _ as j } from "./_plugin-vue_export-helper-CHgC5LLL.js";
8
8
  const q = { class: "main" }, H = {
9
9
  id: "viewPositions",
@@ -3,20 +3,21 @@ 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-DWe_4-ct.js";
7
- import { u as ys, _ as gs } from "./useDiscardConfirm-DPhEV6v0.js";
8
- import { _ as _s } from "./TableEmptyState.vue_vue_type_script_setup_true_lang-IfAZmWr0.js";
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";
6
+ import { v as Te, m as vs, O as fs, _ as bs, a as hs } from "./app-DLiYhsK2.js";
7
+ import { _ as ys } from "./ResponsiveContextMenu.vue_vue_type_script_setup_true_lang-mSJFKo7r.js";
8
+ import { _ as gs } from "./TableEmptyState.vue_vue_type_script_setup_true_lang-IfAZmWr0.js";
9
+ import { s as _s, _ as Us, a as Ss, b as xs, c as Fs } from "./PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js";
10
10
  import { u as He } from "./useLoading-Ch1AUYT1.js";
11
+ import { u as Ps } from "./useDiscardConfirm-CzZSPyvh.js";
11
12
  import { n as es } from "./string-VNuQNweN.js";
12
- import { l as Pe } from "./lodash-D3Ns5VMN.js";
13
- import { c as he } from "./iteration-TDU7bFxZ.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-DzesUEX7.js";
15
- import { u as as } from "./role-D57Le_-U.js";
13
+ import { l as Pe } from "./lodash-BzVEbSHJ.js";
14
+ import { c as he } from "./iteration-uWvyRKkX.js";
15
+ 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-C6ELRd3E.js";
16
+ import { u as as } from "./role-R2KDFlIY.js";
16
17
  import { u as ls, i as $s } from "./PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-BVz6q3HE.js";
17
18
  import "./useAppStore-BoLkvkE2.js";
18
19
  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-ONMn3v_f.js";
20
+ import { _ as Ms } from "./PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Cmin3rlY.js";
20
21
  import { _ as Ns } from "./_plugin-vue_export-helper-CHgC5LLL.js";
21
22
  var Ue = /* @__PURE__ */ ((o) => (o.Update = "Update", o.Remove = "Remove", o))(Ue || {});
22
23
  const Ie = "__unassigned__";
@@ -245,7 +246,7 @@ const Es = { class: "w-full flex flex-col gap-16" }, Ds = { class: "flex items-c
245
246
  }
246
247
  const C = S(() => {
247
248
  var n;
248
- return Us(((n = v.modelValue) == null ? void 0 : n.roles) ?? []);
249
+ return _s(((n = v.modelValue) == null ? void 0 : n.roles) ?? []);
249
250
  });
250
251
  function d(n) {
251
252
  return v.usableRoleIds === null || v.usableRoleIds.includes(n._id);
@@ -348,7 +349,7 @@ const Es = { class: "w-full flex flex-col gap-16" }, Ds = { class: "flex items-c
348
349
  ]
349
350
  }, {
350
351
  default: ie(() => [
351
- i(Ss, {
352
+ i(Us, {
352
353
  modelValue: R.value,
353
354
  "onUpdate:modelValue": b[2] || (b[2] = (r) => R.value = r),
354
355
  masked: I.value,
@@ -360,7 +361,7 @@ const Es = { class: "w-full flex flex-col gap-16" }, Ds = { class: "flex items-c
360
361
  ]),
361
362
  _: 1
362
363
  }, 8, ["modelValue", "rules"]),
363
- i(xs, {
364
+ i(Ss, {
364
365
  label: l(m)("team.memberForm.masterUser.passcodeGenerate"),
365
366
  hint: l(m)("team.memberForm.masterUser.passcodeSelectOutletFirst"),
366
367
  loading: E.value,
@@ -378,7 +379,7 @@ const Es = { class: "w-full flex flex-col gap-16" }, Ds = { class: "flex items-c
378
379
  ]
379
380
  }, {
380
381
  default: ie(() => [
381
- i(Fs, {
382
+ i(xs, {
382
383
  "model-value": o.modelValue.roles,
383
384
  restaurants: o.restaurants,
384
385
  roles: o.roles,
@@ -684,7 +685,7 @@ const Es = { class: "w-full flex flex-col gap-16" }, Ds = { class: "flex items-c
684
685
  var ee = /* @__PURE__ */ function(o) {
685
686
  return o[o.ADD = 0] = "ADD", o[o.UPDATE = 1] = "UPDATE", o[o.CLOSED = 2] = "CLOSED", o;
686
687
  }(ee || {});
687
- const Ht = /* @__PURE__ */ we({
688
+ const ea = /* @__PURE__ */ we({
688
689
  __name: "TeamMemberList",
689
690
  setup(o, {
690
691
  expose: N
@@ -723,7 +724,7 @@ const Ht = /* @__PURE__ */ we({
723
724
  onClick: () => se(Ue.Remove, e),
724
725
  itemClass: "text-fm-color-typo-error"
725
726
  }, re = e.doc.isOwner ? [_] : [_, x];
726
- return i(gs, {
727
+ return i(ys, {
727
728
  class: t,
728
729
  items: re
729
730
  }, null);
@@ -754,7 +755,7 @@ const Ht = /* @__PURE__ */ we({
754
755
  enableSorting: !1,
755
756
  cell(e) {
756
757
  if (j.value)
757
- return ds(Ps);
758
+ return ds(Fs);
758
759
  const t = e.row.original;
759
760
  return U(t);
760
761
  }
@@ -870,7 +871,7 @@ const Ht = /* @__PURE__ */ we({
870
871
  function ve() {
871
872
  X++, ue.value = !1, B.value = ee.CLOSED;
872
873
  }
873
- const fe = ys(() => {
874
+ const fe = Ps(() => {
874
875
  var e;
875
876
  return ((e = Y.value) == null ? void 0 : e.isModified()) ?? !1;
876
877
  }, ve);
@@ -1086,7 +1087,7 @@ const Ht = /* @__PURE__ */ we({
1086
1087
  }, {
1087
1088
  default: ie(() => [u("div", kt, [f.value ? q("", !0) : (y(), G(hs, {
1088
1089
  key: 0
1089
- })), f.value ? (y(), G(_s, {
1090
+ })), f.value ? (y(), G(gs, {
1090
1091
  key: 1,
1091
1092
  "is-loading": d.value,
1092
1093
  "is-empty": D.value === 0,
@@ -1150,5 +1151,5 @@ const Ht = /* @__PURE__ */ we({
1150
1151
  }
1151
1152
  });
1152
1153
  export {
1153
- Ht as default
1154
+ ea as default
1154
1155
  };
@@ -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-QSwC9dtX.js";
2
+ import { d as v } from "./dayjs.min-ar-wg1yi.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-DWe_4-ct.js";
6
+ import { _ as Se } from "./app-DLiYhsK2.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-TDU7bFxZ.js";
9
+ import { g as Ce, s as Fe } from "./iteration-uWvyRKkX.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-Bb2b3dP6.js";
12
+ import { u as Me } from "./employee-CmUfaF0i.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-Bx-6hjs7.js";
14
+ import { u as Ie } from "./TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-zttvxhi-.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-QSwC9dtX.js";
1
+ import { d as i } from "./dayjs.min-ar-wg1yi.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-TDU7bFxZ.js";
5
+ import { s as S } from "./iteration-uWvyRKkX.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-NDK7LUmm.js"))), Ec = ot(pe(() => import("./Main-BeXx0hAc.js"))), Pc = ot(
9837
- pe(() => import("./AuditLogList-DBYdZhZl.js"))
9838
- ), Oc = ot(pe(() => import("./Main-Dh-gZSaa.js"))), Gc = pe(() => import("./ApprovalCodeList-BLA2rhLB.js")), Yc = pe(() => import("./GrantUserList-BYnegeEr.js")), Vc = pe(() => import("./EmployeeList-CA7DWLmy.js")), Fc = pe(() => import("./RoleList-B30FHIzu.js")), Sc = pe(() => import("./TimesheetList-CDQfN5LE.js")), kc = pe(() => import("./TeamMemberList-Drj6R4Y3.js")), Rc = pe(
9839
- () => import("./PermissionSetList-DDIacDpQ.js")
9836
+ }), jc = ot(pe(() => import("./Main-D5cWrqP3.js"))), Ec = ot(pe(() => import("./Main-mcCvBPvJ.js"))), Pc = ot(
9837
+ pe(() => import("./AuditLogList-B-NaB6OX.js"))
9838
+ ), Oc = ot(pe(() => import("./Main-cdf9NV8P.js"))), Gc = pe(() => import("./ApprovalCodeList--NA0toYU.js")), Yc = pe(() => import("./GrantUserList-B1S7yDKu.js")), Vc = pe(() => import("./EmployeeList-idO38m7y.js")), Fc = pe(() => import("./RoleList-ByQelhuG.js")), Sc = pe(() => import("./TimesheetList-CJcSs_B1.js")), kc = pe(() => import("./TeamMemberList-CJzF0wNK.js")), Rc = pe(
9839
+ () => import("./PermissionSetList-3_f6sJpK.js")
9840
9840
  ), Hc = Ws(
9841
- ot(pe(() => import("./SchedulePage-DQ0VXWWi.js")))
9841
+ ot(pe(() => import("./SchedulePage-BpvgQYqL.js")))
9842
9842
  ), Ic = Ws(
9843
- ot(pe(() => import("./SchedulePositionPage-oGIDGneA.js")))
9843
+ ot(pe(() => import("./SchedulePositionPage-BjvKTHyY.js")))
9844
9844
  ), Tc = Ws(
9845
- ot(pe(() => import("./ScheduleGeneralPage-8gEeZbFR.js")))
9845
+ ot(pe(() => import("./ScheduleGeneralPage-TKWgkAoE.js")))
9846
9846
  ), ou = [
9847
9847
  {
9848
9848
  path: "/",
@@ -10892,7 +10892,7 @@ const iu = /* @__PURE__ */ at({
10892
10892
  };
10893
10893
  }
10894
10894
  });
10895
- var xs = { name: "@feedmepos/mf-hrm-portal", version: "2.3.0-dev.10", mode: "fmmf" };
10895
+ var xs = { name: "@feedmepos/mf-hrm-portal", version: "2.3.0-dev.12", mode: "fmmf" };
10896
10896
  console.log(
10897
10897
  `%c${xs.name}%c v${xs.version} %c${xs.mode}`,
10898
10898
  "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-DWe_4-ct.js";
1
+ import { h as e, i as r, r as o } from "./app-DLiYhsK2.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-DWe_4-ct.js";
1
+ import { g as Q, f as K } from "./app-DLiYhsK2.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-QSwC9dtX.js";
1
+ import { d as g } from "./dayjs.min-ar-wg1yi.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-TDU7bFxZ.js";
4
+ import { s as E } from "./iteration-uWvyRKkX.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-D57Le_-U.js";
7
+ import { u as P } from "./role-R2KDFlIY.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-DWe_4-ct.js";
1
+ import { f as B } from "./app-DLiYhsK2.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-DWe_4-ct.js";
1
+ import { f as jt } from "./app-DLiYhsK2.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-TDU7bFxZ.js";
4
+ import { s as v } from "./iteration-uWvyRKkX.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-TDU7bFxZ.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-DWe_4-ct.js";
1
+ import { s as W, c as q, e as y } from "./iteration-uWvyRKkX.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-DLiYhsK2.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 +1,3 @@
1
- export declare function useDiscardConfirm(isModified: () => boolean, onConfirm: () => void): () => void;
1
+ export declare function useDiscardConfirm(isModified: () => boolean, onConfirm: () => void, options?: {
2
+ zIndex?: number;
3
+ }): () => void;
@@ -2,6 +2,7 @@ type __VLS_Props = {
2
2
  open: boolean;
3
3
  title: string;
4
4
  message: string;
5
+ affectedDates?: string[];
5
6
  /** `clash-q` gives the message an orange warning-callout background instead of plain text —
6
7
  * used by the "might conflict" dialog, kept as an opt-in rather than the default look. */
7
8
  messageClass?: string;
@@ -25,8 +26,8 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
25
26
  }>, {
26
27
  icon: boolean;
27
28
  confirmLabel: string;
28
- tone: "primary" | "danger";
29
29
  messageClass: string;
30
30
  cancelLabel: string;
31
+ tone: "primary" | "danger";
31
32
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
32
33
  export default _default;
@@ -81,6 +81,7 @@ export declare function useScheduleAddEmployee(board: ScheduleBoardApi, options?
81
81
  candidatesError: import("vue").Ref<string | null, string | null>;
82
82
  openWizard: (section: string) => void;
83
83
  openEditFor: (emp: Employee) => void;
84
+ confirmClose: () => void;
84
85
  close: () => void;
85
86
  setMode: (m: ScheduleAddEmployeeMode) => void;
86
87
  openSelectExisting: () => void;
@@ -60,7 +60,6 @@ export declare function useScheduleAutoSchedule(board: ScheduleBoardApi, demand:
60
60
  dailyCap: number;
61
61
  rest: number;
62
62
  dayOff: number;
63
- dayCap: number;
64
63
  };
65
64
  }[];
66
65
  metrics: {
@@ -125,7 +124,6 @@ export declare function useScheduleAutoSchedule(board: ScheduleBoardApi, demand:
125
124
  dailyCap: number;
126
125
  rest: number;
127
126
  dayOff: number;
128
- dayCap: number;
129
127
  };
130
128
  }[];
131
129
  metrics: {
@@ -190,7 +188,6 @@ export declare function useScheduleAutoSchedule(board: ScheduleBoardApi, demand:
190
188
  dailyCap: number;
191
189
  rest: number;
192
190
  dayOff: number;
193
- dayCap: number;
194
191
  };
195
192
  }[];
196
193
  metrics: {
@@ -142,6 +142,7 @@ export declare function useScheduleBoard(handlers?: {
142
142
  to: string;
143
143
  }[] | undefined;
144
144
  passcode?: string | undefined;
145
+ code?: string | undefined;
145
146
  masterUser?: boolean | undefined;
146
147
  }[], Employee[] | {
147
148
  id: number;
@@ -267,6 +268,7 @@ export declare function useScheduleBoard(handlers?: {
267
268
  to: string;
268
269
  }[] | undefined;
269
270
  passcode?: string | undefined;
271
+ code?: string | undefined;
270
272
  masterUser?: boolean | undefined;
271
273
  }[]>;
272
274
  sections: import("vue").Ref<{
@@ -66,6 +66,13 @@ export declare function useScheduleDemandSheet(board: ScheduleBoardApi, demand:
66
66
  }[]>;
67
67
  toggleCustomDay: (i: number) => void;
68
68
  applyNote: import("vue").ComputedRef<string>;
69
+ replaceConfirmOpen: import("vue").ComputedRef<boolean>;
70
+ replaceConfirmTitle: import("vue").ComputedRef<"Replace existing demand?" | "Clear existing demand?">;
71
+ replaceConfirmActionLabel: import("vue").ComputedRef<"Confirm" | "Clear demand">;
72
+ replaceConfirmMessage: import("vue").ComputedRef<"Demand already exists on the dates below. Applying this demand will replace it on all selected dates." | "Demand exists on the dates below. Saving an empty time range will clear it on all selected dates.">;
73
+ replaceConfirmDates: import("vue").ComputedRef<string[]>;
74
+ confirmReplace: () => Promise<void>;
75
+ cancelReplace: () => void;
69
76
  overlapWarning: import("vue").ComputedRef<string>;
70
77
  whenLabel: import("vue").ComputedRef<string>;
71
78
  openFor: (idx: number) => void;
@@ -12,8 +12,8 @@ interface UseScheduleEmployeeCandidatesOptions {
12
12
  value: boolean;
13
13
  };
14
14
  onPicked: (employeeId: string) => void;
15
- onPrefillPasscode: (employeeId: string) => void;
16
- onPrefillPosRoles: (employeeId: string) => void;
15
+ onPrefillPasscode: (employeeId: string) => void | Promise<void>;
16
+ onPrefillPosRoles: (employeeId: string) => void | Promise<void>;
17
17
  }
18
18
  /** Directory lookup and profile prefill for the existing-employee path of the add wizard. */
19
19
  export declare function useScheduleEmployeeCandidates(options: UseScheduleEmployeeCandidatesOptions): {
@@ -133,6 +133,7 @@ export declare function useScheduleOnboardingEmployees(options: ScheduleOnboardi
133
133
  to: string;
134
134
  }[] | undefined;
135
135
  passcode?: string | undefined;
136
+ code?: string | undefined;
136
137
  masterUser?: boolean | undefined;
137
138
  };
138
139
  row: TeamRow;
@@ -146,6 +146,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
146
146
  to: string;
147
147
  }[] | undefined;
148
148
  passcode?: string | undefined;
149
+ code?: string | undefined;
149
150
  masterUser?: boolean | undefined;
150
151
  }[], import("../types").Employee[] | {
151
152
  id: number;
@@ -271,6 +272,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
271
272
  to: string;
272
273
  }[] | undefined;
273
274
  passcode?: string | undefined;
275
+ code?: string | undefined;
274
276
  masterUser?: boolean | undefined;
275
277
  }[]>;
276
278
  sections: import("vue").Ref<{
@@ -812,6 +814,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
812
814
  to: string;
813
815
  }[] | undefined;
814
816
  passcode?: string | undefined;
817
+ code?: string | undefined;
815
818
  masterUser?: boolean | undefined;
816
819
  };
817
820
  row: import("./onboarding-types").TeamRow;
@@ -963,6 +966,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
963
966
  to: string;
964
967
  }[] | undefined;
965
968
  passcode?: string | undefined;
969
+ code?: string | undefined;
966
970
  masterUser?: boolean | undefined;
967
971
  }[];
968
972
  candidatesFor: (key: string) => {
@@ -1089,6 +1093,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1089
1093
  to: string;
1090
1094
  }[] | undefined;
1091
1095
  passcode?: string | undefined;
1096
+ code?: string | undefined;
1092
1097
  masterUser?: boolean | undefined;
1093
1098
  }[];
1094
1099
  posPicker: import("vue").Ref<string | null, string | null>;
@@ -1219,6 +1224,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1219
1224
  to: string;
1220
1225
  }[] | undefined;
1221
1226
  passcode?: string | undefined;
1227
+ code?: string | undefined;
1222
1228
  masterUser?: boolean | undefined;
1223
1229
  }[]>;
1224
1230
  pickerAllChecked: import("vue").ComputedRef<boolean>;
@@ -1305,6 +1311,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1305
1311
  candidatesError: import("vue").Ref<string | null, string | null>;
1306
1312
  openWizard: (section: string) => void;
1307
1313
  openEditFor: (emp: import("../types").Employee) => void;
1314
+ confirmClose: () => void;
1308
1315
  close: () => void;
1309
1316
  setMode: (m: import("./schedule-add-employee-form").ScheduleAddEmployeeMode) => void;
1310
1317
  openSelectExisting: () => void;
@@ -1,16 +1,18 @@
1
1
  import type { ScheduleSelectOption } from '../components/ScheduleSelect.vue';
2
2
  /** Which outlet the board is scheduling, and the picker that changes it.
3
3
  *
4
- * On entry the host shell's own selection wins — mf-common keeps `currentRestaurant` in sync
5
- * with the `?restaurantId=` in the URL, so arriving from anywhere else in the portal lands on
6
- * the outlet that was already being looked at. Only when the shell has no opinion does this
7
- * fall back to the first outlet in the business, which is better than an empty board.
4
+ * On entry the outlet last picked in the schedule wins, remembered per business in localStorage.
5
+ * The host shell (mf-common) resets its own `currentRestaurant` to the first manageable outlet
6
+ * and rewrites `?restaurantId=` on every reload, so neither the URL nor the shell's selection
7
+ * can carry the user's pick across a refresh. Only when nothing was ever picked here does the
8
+ * shell's selection decide, so arriving from elsewhere in the portal lands on the outlet that
9
+ * was already being looked at. Failing that it falls back to the first outlet in the business,
10
+ * which is better than an empty board.
8
11
  *
9
- * Switching from the picker writes the new id back into `?restaurantId=` too — via
10
- * `router.replace`, not a navigation, so it does not reload the page or add a history entry.
12
+ * Switching from the picker saves the pick and writes the new id back into `?restaurantId=` too,
13
+ * via `router.replace`, not a navigation, so it does not reload the page or add a history entry.
11
14
  * The picker already re-fetches everything the new outlet needs (see switchTo below); this just
12
- * keeps the address bar honest about which one is on screen, so a refresh or a copied link lands
13
- * back on it instead of silently snapping to whatever the shell had before. */
15
+ * keeps the address bar honest about which one is on screen. */
14
16
  export declare function useScheduleOutlet(): {
15
17
  options: import("vue").ComputedRef<ScheduleSelectOption[]>;
16
18
  ready: import("vue").Ref<boolean, boolean>;
@@ -133,6 +133,7 @@ export declare function useScheduleRoster(board: ScheduleBoardApi): {
133
133
  to: string;
134
134
  }[] | undefined;
135
135
  passcode?: string | undefined;
136
+ code?: string | undefined;
136
137
  masterUser?: boolean | undefined;
137
138
  }[]>;
138
139
  orderedEmployees: import("vue").ComputedRef<{
@@ -259,6 +260,7 @@ export declare function useScheduleRoster(board: ScheduleBoardApi): {
259
260
  to: string;
260
261
  }[] | undefined;
261
262
  passcode?: string | undefined;
263
+ code?: string | undefined;
262
264
  masterUser?: boolean | undefined;
263
265
  }[]>;
264
266
  order: import("vue").Ref<number[], number[]>;
@@ -180,6 +180,7 @@ export declare function useScheduleShiftActions(board: ScheduleBoardApi, options
180
180
  to: string;
181
181
  }[] | undefined;
182
182
  passcode?: string | undefined;
183
+ code?: string | undefined;
183
184
  masterUser?: boolean | undefined;
184
185
  }[]>;
185
186
  openChange: (empId: number, dayIdx: number, slotIndex?: number) => void;
@@ -7,6 +7,10 @@ export interface ScheduleHeadcountRole {
7
7
  count: number;
8
8
  sen: '' | 'senior' | 'junior';
9
9
  }
10
+ export interface ScheduleWarningPart {
11
+ text: string;
12
+ emphasis?: boolean;
13
+ }
10
14
  /** The unified shift popover — ported from the mockup's single `.shift-pop`, which answers
11
15
  * both "who is on this shift" and "what does this shift need" from one form. Picking a real
12
16
  * person in the `who` select turns it into an assignment; leaving it on "Empty shift" turns
@@ -203,6 +207,7 @@ export declare function useScheduleShiftPopover(board: ScheduleBoardApi, demand:
203
207
  to: string;
204
208
  }[] | undefined;
205
209
  passcode?: string | undefined;
210
+ code?: string | undefined;
206
211
  masterUser?: boolean | undefined;
207
212
  }[]>;
208
213
  isAssigned: import("vue").ComputedRef<boolean>;
@@ -212,7 +217,7 @@ export declare function useScheduleShiftPopover(board: ScheduleBoardApi, demand:
212
217
  isSingleOpenRecord: import("vue").ComputedRef<boolean>;
213
218
  totalHours: import("vue").ComputedRef<number>;
214
219
  totalLabel: import("vue").ComputedRef<string>;
215
- warnings: import("vue").ComputedRef<string[]>;
220
+ warnings: import("vue").ComputedRef<ScheduleWarningPart[][]>;
216
221
  openForEmployee: (forEmpId: number, day: number, roleHint?: string, hours?: ScheduleShiftSegment, slotIndex?: number) => void;
217
222
  openForNewOpenShift: (day: number, roleHint?: string, hours?: ScheduleShiftSegment) => void;
218
223
  openForEditOpenShift: (openShiftId: number) => void;
@@ -43,6 +43,19 @@ export declare function setEmployeePosRoles(employeeId: string, assignments: {
43
43
  restaurantId: string;
44
44
  roleId: string;
45
45
  }[]): Promise<void>;
46
+ /** Saves the POS-owned part of an existing scheduling employee. The scheduling profile and the
47
+ * POS user are separate records, so passcode/master-user changes must use the POS user API too.
48
+ * A normalized comparison avoids rewriting the POS user when the employee form was unchanged. */
49
+ export declare function saveEmployeePosAccess(employeeId: string, request: {
50
+ name: string;
51
+ passcode: string;
52
+ masterUser: boolean;
53
+ masterCode: string;
54
+ roles: {
55
+ restaurantId: string;
56
+ roleId: string;
57
+ }[];
58
+ }): Promise<void>;
46
59
  /** The cached business roster, fetched on first use. `force` re-reads it (after a write, or to
47
60
  * refresh a list that is already on screen). Concurrent callers share one request. */
48
61
  export declare function ensureBusinessEmployees(force?: boolean): Promise<IFdtoPosUserSummary[]>;
@@ -141,6 +141,8 @@ export interface Employee {
141
141
  availHours?: EmployeeAvailHours[];
142
142
  /** POS sign-in code. Optional: rostering, costing and publishing never depend on it. */
143
143
  passcode?: string;
144
+ /** POS master-user code, when this employee is a master user. */
145
+ code?: string;
144
146
  masterUser?: boolean;
145
147
  }
146
148
  export interface Section {