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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/{ApprovalCodeList-BgPrC2H1.js → ApprovalCodeList-rL8dh-6s.js} +5 -5
  2. package/dist/{AuditLogList-B9k56ux1.js → AuditLogList-NvISIfUq.js} +4 -4
  3. package/dist/ConditionBuilderForm.vue_vue_type_script_setup_true_lang-BJgpH-kw.js +438 -0
  4. package/dist/{EmployeeList-f05XEwMS.js → EmployeeList-C3VvVY6A.js} +6 -6
  5. package/dist/{GrantUserList-Db4_e87R.js → GrantUserList-DjZ4O0VB.js} +6 -6
  6. package/dist/{Main-DPmBwatV.js → Main-ByWrRV70.js} +8 -8
  7. package/dist/{Main-C83-6ZYQ.js → Main-DVTx58X9.js} +11 -11
  8. package/dist/{Main-CZoUt9IM.js → Main-LaAbAOfs.js} +5 -5
  9. package/dist/{PermissionSetList-CqcbzdXp.js → PermissionSetList-DD45SSY3.js} +19 -19
  10. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-yDPvNHiW.js +4169 -0
  11. package/dist/{PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-DVVSBIx2.js → PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-XHuHin8t.js} +1 -1
  12. package/dist/RoleList-BDxgwmAV.js +725 -0
  13. package/dist/{TeamMemberList-DuP1QWAS.js → TeamMemberList-DrLbMN34.js} +9 -9
  14. package/dist/{TimesheetList-D_Xq4ESR.js → TimesheetList-CdaxlO97.js} +7 -7
  15. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_2c7a177a_lang-O2_M0Ktw.js → TimesheetList.vue_vue_type_style_index_0_scoped_2c7a177a_lang-ogjfztLs.js} +3 -3
  16. package/dist/{app-3bHRu-TD.js → app-B8eo04d6.js} +169 -158
  17. package/dist/app.js +1 -1
  18. package/dist/{approval-code-Q4666xp5.js → approval-code-jIjkeVEb.js} +1 -1
  19. package/dist/{dayjs.min-BjrK6J3b.js → dayjs.min-DZEHW2QB.js} +1 -1
  20. package/dist/{employee-Ck_DJyl9.js → employee-DX0CZF-B.js} +4 -4
  21. package/dist/{grant-user-CQZaTzVt.js → grant-user-SNiDV22U.js} +1 -1
  22. package/dist/{iteration-Bl07BT2c.js → iteration-yBS4dpFh.js} +1 -1
  23. package/dist/{lodash-CwAowwGK.js → lodash-344d5Ope.js} +1 -1
  24. package/dist/{restaurant-YOVMuuFY.js → restaurant-BTpBmfBV.js} +12 -14
  25. package/dist/role-BXBuBxs5.js +92 -0
  26. package/dist/rule-DWlFon04.js +1094 -0
  27. package/dist/src/composables/useReportPermissions.d.ts +1 -0
  28. package/dist/src/helpers/rule.d.ts +10 -1
  29. package/dist/src/stores/role.d.ts +6 -6
  30. package/dist/src/views/team/components/PortalConditionForm.vue.d.ts +44 -0
  31. package/dist/src/views/team/condition-builders/ConditionBuilderForm.vue.d.ts +39 -0
  32. package/dist/src/views/team/locales/index.d.ts +4 -0
  33. package/dist/tsconfig.app.tsbuildinfo +1 -1
  34. package/dist/{useAppStore-DNTlIeMv.js → useAppStore-DCwd8GWN.js} +1 -1
  35. package/dist/{useLoading-BH02lYns.js → useLoading-CXzTpIVv.js} +1 -1
  36. package/dist/useReportPermissions-C0exkIxU.js +71 -0
  37. package/package.json +2 -2
  38. package/dist/ConditionFormHost.vue_vue_type_script_setup_true_lang-BKxQPhjZ.js +0 -387
  39. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DMS04nsd.js +0 -4122
  40. package/dist/RoleList-DsINcxpz.js +0 -685
  41. package/dist/role-Z1BT4HFT.js +0 -82
  42. package/dist/rule-DYmHm3nE.js +0 -1066
  43. package/dist/useReportPermissions-DCF1U1Us.js +0 -70
@@ -1,14 +1,14 @@
1
1
  import { defineComponent as re, ref as K, computed as g, resolveComponent as b, createBlock as O, openBlock as _, withCtx as $, createElementVNode as s, createElementBlock as S, createCommentVNode as Y, toDisplayString as C, unref as a, Fragment as H, renderList as te, createVNode as c, renderSlot as xe, isRef as ue, withModifiers as de, createTextVNode as be, normalizeClass as ke, h as x } from "vue";
2
- import { d as Ve } from "./dayjs.min-BjrK6J3b.js";
2
+ import { d as Ve } from "./dayjs.min-DZEHW2QB.js";
3
3
  import { useI18n as ne } from "@feedmepos/mf-common";
4
4
  import { useSnackbar as ie, components as z, useDialog as we, useBreakpoints as Fe, FmButtonVariant as se } from "@feedmepos/ui-library";
5
5
  import { S as q } from "./SelectFilter-ATOm0hdn.js";
6
- import { _ as $e } from "./app-3bHRu-TD.js";
6
+ import { _ as $e } from "./app-B8eo04d6.js";
7
7
  import { _ as pe, u as Se, H as Ae } from "./FormItem.vue_vue_type_script_setup_true_lang-DPT2FoIc.js";
8
8
  import { _ as Pe } from "./index.vue_vue_type_script_setup_true_lang-BVVwfd7B.js";
9
- import { u as ve } from "./useLoading-BH02lYns.js";
10
- import { u as fe } from "./approval-code-Q4666xp5.js";
11
- import { u as ce } from "./restaurant-YOVMuuFY.js";
9
+ import { u as ve } from "./useLoading-CXzTpIVv.js";
10
+ import { u as fe } from "./approval-code-jIjkeVEb.js";
11
+ import { u as ce } from "./restaurant-BTpBmfBV.js";
12
12
  import { _ as Be } from "./FormSection.vue_vue_type_script_setup_true_lang-DknXTYiK.js";
13
13
  function Ie(d) {
14
14
  var e;
@@ -1,13 +1,13 @@
1
1
  import { defineComponent as St, ref as y, computed as w, onMounted as po, onBeforeUnmount as go, watch as ne, resolveComponent as U, createElementBlock as b, openBlock as v, createBlock as Ce, createCommentVNode as F, createElementVNode as l, Fragment as J, renderList as re, withCtx as B, createVNode as m, toDisplayString as r, unref as d, nextTick as ho, onUnmounted as bo, normalizeClass as yo, createTextVNode as We } from "vue";
2
- import { d as A } from "./dayjs.min-BjrK6J3b.js";
2
+ import { d as A } from "./dayjs.min-DZEHW2QB.js";
3
3
  import { useI18n as wt, useCoreStore as _o } from "@feedmepos/mf-common";
4
- import { G as ht, _ as xo } from "./app-3bHRu-TD.js";
4
+ import { G as ht, _ as xo } from "./app-B8eo04d6.js";
5
5
  import { components as _e } from "@feedmepos/ui-library";
6
- import { g as qe, b as Ge } from "./restaurant-YOVMuuFY.js";
6
+ import { g as qe, b as Ge } from "./restaurant-BTpBmfBV.js";
7
7
  import { S as je, _ as Lo } from "./SelectFilter-ATOm0hdn.js";
8
8
  import { _ as So } from "./PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js";
9
9
  import { _ as wo } from "./TableEmptyState.vue_vue_type_script_setup_true_lang-IfAZmWr0.js";
10
- import { t as ko, p as bt } from "./rule-DYmHm3nE.js";
10
+ import { t as ko, p as bt } from "./rule-DWlFon04.js";
11
11
  import { defineStore as Io } from "pinia";
12
12
  import { u as Mo } from "./useDebounce-B8ZPVS5C.js";
13
13
  const xe = [
@@ -0,0 +1,438 @@
1
+ import { defineComponent as M, ref as S, onMounted as ae, nextTick as le, onUnmounted as ue, resolveComponent as F, createElementBlock as p, openBlock as s, Fragment as C, createElementVNode as U, renderSlot as _, createCommentVNode as w, toDisplayString as J, createVNode as E, normalizeStyle as re, watch as X, defineAsyncComponent as se, computed as z, renderList as T, createBlock as h, withCtx as H, unref as x, resolveDynamicComponent as ie, normalizeClass as de } from "vue";
2
+ import { useI18n as q, useCoreStore as me } from "@feedmepos/mf-common";
3
+ import { O as j, f as ce, U as L } from "./app-B8eo04d6.js";
4
+ import { l as fe } from "./lodash-344d5Ope.js";
5
+ const ye = { class: "flex items-center" }, be = {
6
+ key: 0,
7
+ class: "ml-8 fm-typo-en-body-sm-400 text-fm-color-typo-secondary"
8
+ }, ve = { class: "ml-auto" }, Be = /* @__PURE__ */ M({
9
+ __name: "CollapsibleWrapper",
10
+ props: {
11
+ title: { default: "" },
12
+ subtitle: { default: "" },
13
+ initiallyCollapsed: { type: Boolean, default: !1 }
14
+ },
15
+ setup(t) {
16
+ const a = S(t.initiallyCollapsed), c = S(), f = S(0);
17
+ let m;
18
+ function g() {
19
+ a.value = !a.value;
20
+ }
21
+ function d() {
22
+ c.value && (f.value = c.value.scrollHeight);
23
+ }
24
+ return ae(async () => {
25
+ await le(), c.value && (m = new ResizeObserver(() => {
26
+ d();
27
+ }), m.observe(c.value));
28
+ }), ue(() => {
29
+ m == null || m.disconnect();
30
+ }), (b, r) => {
31
+ const y = F("FmButton");
32
+ return s(), p(C, null, [
33
+ U("div", { onClick: g }, [
34
+ U("div", ye, [
35
+ _(b.$slots, "title"),
36
+ a.value && t.subtitle ? (s(), p("span", be, J(t.subtitle), 1)) : w("", !0),
37
+ U("div", ve, [
38
+ E(y, {
39
+ icon: a.value ? "keyboard_arrow_down" : "keyboard_arrow_up",
40
+ "text-color": "neutral-gray-400",
41
+ variant: "tertiary",
42
+ size: "md"
43
+ }, null, 8, ["icon"])
44
+ ])
45
+ ])
46
+ ]),
47
+ U("div", {
48
+ ref_key: "contentRef",
49
+ ref: c,
50
+ class: "transition-all duration-300 ease-in-out overflow-hidden",
51
+ style: re({ maxHeight: a.value ? "0" : f.value + "px" })
52
+ }, [
53
+ _(b.$slots, "default")
54
+ ], 4)
55
+ ], 64);
56
+ };
57
+ }
58
+ });
59
+ function I(t) {
60
+ return `${t.subject}::${t.builderKey}`;
61
+ }
62
+ function Oe(t) {
63
+ const u = S(/* @__PURE__ */ new Map());
64
+ function a(r, y) {
65
+ const k = new Map(u.value);
66
+ k.set(I(r), y), u.value = k;
67
+ }
68
+ function c(r) {
69
+ return u.value.get(I(r));
70
+ }
71
+ function f(r) {
72
+ for (const y of u.value.keys())
73
+ if (y.startsWith(`${r}::`)) return !0;
74
+ return !1;
75
+ }
76
+ function m(r) {
77
+ const y = /* @__PURE__ */ new Map();
78
+ for (const [k, A] of u.value.entries())
79
+ k.startsWith(`${r}::`) && y.set(k, A);
80
+ return y;
81
+ }
82
+ function g(r) {
83
+ const y = new Map(u.value);
84
+ for (const k of Array.from(y.keys()))
85
+ k.startsWith(`${r}::`) && y.delete(k);
86
+ u.value = y;
87
+ }
88
+ function d() {
89
+ u.value = /* @__PURE__ */ new Map();
90
+ }
91
+ function b(r) {
92
+ const y = new Map(u.value);
93
+ y.delete(I(r)), u.value = y;
94
+ }
95
+ return t && X(
96
+ t,
97
+ () => {
98
+ d();
99
+ },
100
+ { deep: !0 }
101
+ ), {
102
+ drafts: u,
103
+ setDraft: a,
104
+ getDraft: c,
105
+ hasDraftsForSubject: f,
106
+ getDraftsForSubject: m,
107
+ clearDraftsForSubject: g,
108
+ clearAllDrafts: d,
109
+ clearDraft: b
110
+ };
111
+ }
112
+ const pe = {}, W = /* @__PURE__ */ new Map();
113
+ function ke(t) {
114
+ const u = W.get(t);
115
+ if (u) return u;
116
+ const a = pe[t];
117
+ if (!a) return;
118
+ const c = se(a);
119
+ return W.set(t, c), c;
120
+ }
121
+ function he(t, u) {
122
+ return !fe.isEqual(t, u);
123
+ }
124
+ const Ve = { class: "flex flex-col gap-8" }, Fe = { class: "flex flex-col gap-4" }, ge = "condition-form-select-menu", Z = 120, Ce = 220, De = /* @__PURE__ */ M({
125
+ __name: "ConditionFormRenderer",
126
+ props: {
127
+ config: {},
128
+ modelValue: {},
129
+ disabled: { type: Boolean, default: !1 },
130
+ optionProviders: { default: () => ({}) }
131
+ },
132
+ emits: ["update:modelValue"],
133
+ setup(t, { emit: u }) {
134
+ const a = t, c = u, { t: f } = q(), m = me(), g = z(() => j(a.config, a.modelValue));
135
+ let d = a.modelValue;
136
+ X(
137
+ () => a.modelValue,
138
+ (e) => {
139
+ d = e;
140
+ }
141
+ );
142
+ function b(e) {
143
+ return "static" in e ? e.static.map((n) => ({ value: n.value, label: f(n.labelKey) })) : a.optionProviders[e.provider] ?? [];
144
+ }
145
+ function r(e, n) {
146
+ const l = y(
147
+ ce(a.config, { ...a.modelValue, [e]: n })
148
+ );
149
+ he(l, d) && (d = l, c("update:modelValue", l));
150
+ }
151
+ function y(e) {
152
+ const n = { ...e };
153
+ for (const l of j(a.config, n))
154
+ l.kind === "date" && !n[l.key] && (n[l.key] = P(Y()));
155
+ return n;
156
+ }
157
+ function k() {
158
+ const e = m.currentBusiness.value;
159
+ if (e != null && e.timezone) return e.timezone;
160
+ if (e != null && e.timeZone) return e.timeZone;
161
+ const n = (e == null ? void 0 : e.country) ?? (m.currentCountry.value instanceof Object ? m.currentCountry.value.code : m.currentCountry.value);
162
+ return A(n);
163
+ }
164
+ function A(e) {
165
+ switch ((e || "").toUpperCase()) {
166
+ case "MY":
167
+ return "Asia/Kuala_Lumpur";
168
+ case "SG":
169
+ return "Asia/Singapore";
170
+ case "TH":
171
+ return "Asia/Bangkok";
172
+ case "ID":
173
+ return "Asia/Jakarta";
174
+ case "MO":
175
+ return "Asia/Macau";
176
+ case "BN":
177
+ return "Asia/Brunei";
178
+ case "PK":
179
+ return "Asia/Karachi";
180
+ case "MV":
181
+ return "Indian/Maldives";
182
+ case "VN":
183
+ return "Asia/Ho_Chi_Minh";
184
+ case "JP":
185
+ return "Asia/Tokyo";
186
+ case "AU":
187
+ return "Australia/Sydney";
188
+ case "AE":
189
+ return "Asia/Dubai";
190
+ case "UK":
191
+ return "Europe/London";
192
+ default:
193
+ return Intl.DateTimeFormat().resolvedOptions().timeZone;
194
+ }
195
+ }
196
+ function K(e, n) {
197
+ const l = new Intl.DateTimeFormat("en-CA", {
198
+ timeZone: n,
199
+ year: "numeric",
200
+ month: "2-digit",
201
+ day: "2-digit",
202
+ hour: "2-digit",
203
+ minute: "2-digit",
204
+ second: "2-digit",
205
+ hourCycle: "h23"
206
+ }).formatToParts(e), v = Object.fromEntries(
207
+ l.filter((V) => V.type !== "literal").map((V) => [V.type, V.value])
208
+ );
209
+ return {
210
+ year: Number(v.year),
211
+ month: Number(v.month),
212
+ day: Number(v.day),
213
+ hour: Number(v.hour),
214
+ minute: Number(v.minute),
215
+ second: Number(v.second)
216
+ };
217
+ }
218
+ function R(e, n) {
219
+ try {
220
+ const l = K(n, e);
221
+ return (Date.UTC(
222
+ l.year,
223
+ l.month - 1,
224
+ l.day,
225
+ l.hour,
226
+ l.minute,
227
+ l.second
228
+ ) - n.getTime()) / 6e4;
229
+ } catch {
230
+ return 0;
231
+ }
232
+ }
233
+ function P(e) {
234
+ const [n, l, v] = e.split("-").map(Number);
235
+ if (!n || !l || !v) return "";
236
+ const V = k(), D = new Date(Date.UTC(n, l - 1, v, 0, 0, 0, 0)), O = R(V, D), N = new Date(D.getTime() - O * 6e4), $ = R(V, N);
237
+ return new Date(D.getTime() - $ * 6e4).toISOString();
238
+ }
239
+ function G(e) {
240
+ const n = new Date(e);
241
+ if (Number.isNaN(n.getTime())) return "";
242
+ try {
243
+ const l = K(n, k());
244
+ return `${String(l.year).padStart(4, "0")}-${String(l.month).padStart(2, "0")}-${String(l.day).padStart(2, "0")}`;
245
+ } catch {
246
+ return e.slice(0, 10);
247
+ }
248
+ }
249
+ function Y() {
250
+ return G((/* @__PURE__ */ new Date()).toISOString());
251
+ }
252
+ function B(e) {
253
+ return "options" in e ? b(e.options) : [];
254
+ }
255
+ function Q(e) {
256
+ const n = a.modelValue[e];
257
+ return n == null ? "" : String(n);
258
+ }
259
+ function ee(e) {
260
+ const n = a.modelValue[e];
261
+ return typeof n != "string" || !n ? "" : G(n);
262
+ }
263
+ function te(e, n) {
264
+ r(e, n ? P(n) : "");
265
+ }
266
+ function ne(e, n) {
267
+ let l = Math.floor(Number(n) || (e.min ?? 0));
268
+ e.min !== void 0 && (l = Math.max(e.min, l)), e.max !== void 0 && (l = Math.min(e.max, l)), r(e.key, l);
269
+ }
270
+ return (e, n) => {
271
+ const l = F("FmRadio"), v = F("FmRadioGroup"), V = F("FmSelect"), D = F("FmTextField"), O = F("FmDatePicker"), N = F("FmCheckbox"), $ = F("FmFormGroup");
272
+ return s(), p("div", Ve, [
273
+ (s(!0), p(C, null, T(g.value, (o) => (s(), p(C, {
274
+ key: o.key
275
+ }, [
276
+ o.kind === "radio" ? (s(), h(v, {
277
+ key: 0,
278
+ "model-value": t.modelValue[o.key],
279
+ disabled: t.disabled,
280
+ "onUpdate:modelValue": (i) => r(o.key, i)
281
+ }, {
282
+ default: H(() => [
283
+ (s(!0), p(C, null, T(B(o), (i) => (s(), h(l, {
284
+ key: i.value,
285
+ value: i.value,
286
+ label: i.label
287
+ }, null, 8, ["value", "label"]))), 128))
288
+ ]),
289
+ _: 2
290
+ }, 1032, ["model-value", "disabled", "onUpdate:modelValue"])) : o.kind === "select" ? (s(), h(V, {
291
+ key: 1,
292
+ "model-value": t.modelValue[o.key],
293
+ label: x(f)(o.labelKey),
294
+ items: B(o),
295
+ "menu-id": ge,
296
+ "menu-z-index": Z,
297
+ "max-height": Ce,
298
+ "shift-menu": "",
299
+ placement: "bottom-start",
300
+ disabled: t.disabled,
301
+ "onUpdate:modelValue": (i) => r(o.key, i)
302
+ }, null, 8, ["model-value", "label", "items", "disabled", "onUpdate:modelValue"])) : o.kind === "number" ? (s(), h(D, {
303
+ key: 2,
304
+ "model-value": Q(o.key),
305
+ type: "number",
306
+ class: "!w-[120px] ml-32",
307
+ label: x(f)(o.labelKey),
308
+ disabled: t.disabled,
309
+ "onUpdate:modelValue": (i) => ne(o, i)
310
+ }, null, 8, ["model-value", "label", "disabled", "onUpdate:modelValue"])) : o.kind === "text" ? (s(), h(D, {
311
+ key: 3,
312
+ "model-value": t.modelValue[o.key] ?? "",
313
+ label: x(f)(o.labelKey),
314
+ disabled: t.disabled,
315
+ "onUpdate:modelValue": (i) => r(o.key, i)
316
+ }, null, 8, ["model-value", "label", "disabled", "onUpdate:modelValue"])) : o.kind === "date" ? (s(), h(O, {
317
+ key: 4,
318
+ "model-value": ee(o.key),
319
+ label: x(f)(o.labelKey),
320
+ "z-index": Z,
321
+ disabled: t.disabled,
322
+ "onUpdate:modelValue": (i) => te(o.key, i)
323
+ }, null, 8, ["model-value", "label", "disabled", "onUpdate:modelValue"])) : o.kind === "switch" ? (s(), h(N, {
324
+ key: 5,
325
+ "model-value": !!t.modelValue[o.key],
326
+ value: !0,
327
+ label: x(f)(o.labelKey),
328
+ disabled: t.disabled,
329
+ "onUpdate:modelValue": (i) => r(o.key, i)
330
+ }, null, 8, ["model-value", "label", "disabled", "onUpdate:modelValue"])) : o.kind === "multiselect" ? (s(), h($, {
331
+ key: 6,
332
+ "model-value": t.modelValue[o.key] ?? [],
333
+ "onUpdate:modelValue": (i) => r(o.key, i)
334
+ }, {
335
+ default: H(() => [
336
+ U("div", Fe, [
337
+ (s(!0), p(C, null, T(B(o), (i) => (s(), h(N, {
338
+ key: i.value,
339
+ "model-value": t.modelValue[o.key] ?? [],
340
+ value: i.value,
341
+ label: i.label,
342
+ disabled: t.disabled,
343
+ "onUpdate:modelValue": (oe) => r(o.key, oe)
344
+ }, null, 8, ["model-value", "value", "label", "disabled", "onUpdate:modelValue"]))), 128))
345
+ ])
346
+ ]),
347
+ _: 2
348
+ }, 1032, ["model-value", "onUpdate:modelValue"])) : w("", !0)
349
+ ], 64))), 128))
350
+ ]);
351
+ };
352
+ }
353
+ }), xe = /* @__PURE__ */ M({
354
+ __name: "ConditionFormHost",
355
+ props: {
356
+ builder: {},
357
+ modelValue: {},
358
+ disable: { type: Boolean, default: !1 },
359
+ optionProviders: { default: () => ({}) }
360
+ },
361
+ emits: ["update:modelValue"],
362
+ setup(t, { emit: u }) {
363
+ const a = t, c = u, f = z(
364
+ () => a.builder.form && L(a.builder.form) ? a.builder.form : void 0
365
+ ), m = z(
366
+ () => a.builder.form && !L(a.builder.form) ? ke(a.builder.form.component) : void 0
367
+ );
368
+ return (g, d) => f.value ? (s(), h(De, {
369
+ key: 0,
370
+ config: f.value,
371
+ "model-value": t.modelValue ?? f.value.defaults,
372
+ disabled: t.disable,
373
+ "option-providers": t.optionProviders,
374
+ "onUpdate:modelValue": d[0] || (d[0] = (b) => c("update:modelValue", b))
375
+ }, null, 8, ["config", "model-value", "disabled", "option-providers"])) : m.value ? (s(), h(ie(m.value), {
376
+ key: 1,
377
+ "model-value": t.modelValue,
378
+ disable: t.disable,
379
+ "onUpdate:modelValue": d[1] || (d[1] = (b) => c("update:modelValue", b))
380
+ }, null, 8, ["model-value", "disable"])) : w("", !0);
381
+ }
382
+ }), Ue = {
383
+ key: 0,
384
+ class: "fm-typo-en-title-sm-600"
385
+ }, we = {
386
+ key: 0,
387
+ class: "h-px w-full bg-fm-color-neutral-gray-200"
388
+ }, Ne = { class: "flex justify-end pt-8" }, $e = /* @__PURE__ */ M({
389
+ __name: "ConditionBuilderForm",
390
+ props: {
391
+ builders: {},
392
+ formValueFor: {},
393
+ hasChanges: { type: Boolean },
394
+ title: { default: "" },
395
+ disable: { type: Boolean, default: !1 },
396
+ fullWidth: { type: Boolean, default: !1 }
397
+ },
398
+ emits: ["update-form", "apply"],
399
+ setup(t, { emit: u }) {
400
+ const a = u, { t: c } = q();
401
+ return (f, m) => {
402
+ const g = F("FmButton");
403
+ return s(), p("div", {
404
+ class: de(["flex flex-col gap-12 p-16", t.fullWidth ? "w-full" : "w-[320px]"])
405
+ }, [
406
+ t.title ? (s(), p("p", Ue, J(t.title), 1)) : w("", !0),
407
+ (s(!0), p(C, null, T(t.builders, (d, b) => (s(), p(C, {
408
+ key: d.builderKey
409
+ }, [
410
+ b > 0 ? (s(), p("div", we)) : w("", !0),
411
+ _(f.$slots, "section", { builder: d }, () => [
412
+ E(xe, {
413
+ builder: d,
414
+ "model-value": t.formValueFor(d),
415
+ disable: t.disable,
416
+ "onUpdate:modelValue": (r) => a("update-form", { builder: d, form: r })
417
+ }, null, 8, ["builder", "model-value", "disable", "onUpdate:modelValue"])
418
+ ])
419
+ ], 64))), 128)),
420
+ U("div", Ne, [
421
+ E(g, {
422
+ label: x(c)("team.memberForm.permissions.conditionApply"),
423
+ size: "md",
424
+ variant: "primary",
425
+ disabled: t.disable || !t.hasChanges,
426
+ onClick: m[0] || (m[0] = (d) => a("apply"))
427
+ }, null, 8, ["label", "disabled"])
428
+ ])
429
+ ], 2);
430
+ };
431
+ }
432
+ });
433
+ export {
434
+ Be as _,
435
+ $e as a,
436
+ xe as b,
437
+ Oe as u
438
+ };
@@ -2,18 +2,18 @@ import { toRaw as je, defineComponent as Ae, ref as v, computed as x, watch as a
2
2
  import { useI18n as De, useCoreStore as We } from "@feedmepos/mf-common";
3
3
  import { useSnackbar as Ne, components as ze, useDialog as Qe, useBreakpoints as Ye } from "@feedmepos/ui-library";
4
4
  import { S as fe, _ as Ze } from "./SelectFilter-ATOm0hdn.js";
5
- import { _ as Xe, a as ea } from "./app-3bHRu-TD.js";
5
+ import { _ as Xe, a as ea } from "./app-B8eo04d6.js";
6
6
  import { _ as Re, u as aa, H as la } from "./FormItem.vue_vue_type_script_setup_true_lang-DPT2FoIc.js";
7
7
  import { u as ta, _ as sa } from "./useDiscardConfirm-DPhEV6v0.js";
8
8
  import { _ as oa } from "./TableEmptyState.vue_vue_type_script_setup_true_lang-IfAZmWr0.js";
9
9
  import { _ as Ue } from "./Skeleton.vue_vue_type_script_setup_true_lang-B4PxNMwq.js";
10
10
  import { u as ra } from "./useDebounce-B8ZPVS5C.js";
11
- import { u as Ke, E as na } from "./employee-Ck_DJyl9.js";
12
- import { u as Oe } from "./restaurant-YOVMuuFY.js";
13
- import { l as ia } from "./lodash-CwAowwGK.js";
11
+ import { u as Ke, E as na } from "./employee-DX0CZF-B.js";
12
+ import { u as Oe } from "./restaurant-BTpBmfBV.js";
13
+ import { l as ia } from "./lodash-344d5Ope.js";
14
14
  import { _ as $e } from "./FormSection.vue_vue_type_script_setup_true_lang-DknXTYiK.js";
15
- import { u as Be } from "./useLoading-BH02lYns.js";
16
- import { u as Ee } from "./role-Z1BT4HFT.js";
15
+ import { u as Be } from "./useLoading-CXzTpIVv.js";
16
+ import { u as Ee } from "./role-BXBuBxs5.js";
17
17
  /* empty css */
18
18
  function Me(z) {
19
19
  return JSON.parse(JSON.stringify(z));
@@ -1,15 +1,15 @@
1
1
  import { defineComponent as X, ref as S, computed as f, watch as ue, resolveComponent as v, createElementBlock as D, openBlock as w, Fragment as E, renderSlot as de, createVNode as l, unref as s, withCtx as g, createElementVNode as o, toDisplayString as _, isRef as H, renderList as me, createBlock as pe, createCommentVNode as fe, withModifiers as W, createTextVNode as J, normalizeClass as ve, h as p } from "vue";
2
- import { d as ge } from "./dayjs.min-BjrK6J3b.js";
2
+ import { d as ge } from "./dayjs.min-DZEHW2QB.js";
3
3
  import { useI18n as Z } from "@feedmepos/mf-common";
4
4
  import { useSnackbar as ee, components as K, useDialog as _e, useBreakpoints as ye, FmButtonVariant as O } from "@feedmepos/ui-library";
5
5
  import { S as A } from "./SelectFilter-ATOm0hdn.js";
6
- import { _ as he } from "./app-3bHRu-TD.js";
6
+ import { _ as he } from "./app-B8eo04d6.js";
7
7
  import { _ as Q, u as Ue, H as xe } from "./FormItem.vue_vue_type_script_setup_true_lang-DPT2FoIc.js";
8
8
  import { _ as be } from "./TableEmptyState.vue_vue_type_script_setup_true_lang-IfAZmWr0.js";
9
- import { u as te } from "./useLoading-BH02lYns.js";
10
- import { u as ae } from "./grant-user-CQZaTzVt.js";
11
- import { u as se } from "./restaurant-YOVMuuFY.js";
12
- import { u as re } from "./role-Z1BT4HFT.js";
9
+ import { u as te } from "./useLoading-CXzTpIVv.js";
10
+ import { u as ae } from "./grant-user-SNiDV22U.js";
11
+ import { u as se } from "./restaurant-BTpBmfBV.js";
12
+ import { u as re } from "./role-BXBuBxs5.js";
13
13
  import { _ as Ve } from "./FormSection.vue_vue_type_script_setup_true_lang-DknXTYiK.js";
14
14
  const ke = { class: "fm-typo-en-title-md-600" }, Fe = { class: "space-y-40" }, we = { class: "flex gap-8 items-center justify-start" }, Se = /* @__PURE__ */ X({
15
15
  __name: "GrantUserForm",
@@ -3,16 +3,16 @@ import { useRouter as N, useRoute as h } from "vue-router";
3
3
  import { useI18n as k } from "@feedmepos/mf-common";
4
4
  import { _ as x } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-QrqYEy8i.js";
5
5
  import { _ as F } from "./PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js";
6
- import { u as w } from "./restaurant-YOVMuuFY.js";
6
+ import { u as w } from "./restaurant-BTpBmfBV.js";
7
7
  import "@feedmepos/ui-library";
8
- import "./rule-DYmHm3nE.js";
9
- import "./lodash-CwAowwGK.js";
10
- import "./iteration-Bl07BT2c.js";
11
- import "./useAppStore-DNTlIeMv.js";
12
- import { R as v } from "./app-3bHRu-TD.js";
13
- import "./role-Z1BT4HFT.js";
8
+ import "./rule-DWlFon04.js";
9
+ import "./lodash-344d5Ope.js";
10
+ import "./iteration-yBS4dpFh.js";
11
+ import "./useAppStore-DCwd8GWN.js";
12
+ import { R as v } from "./app-B8eo04d6.js";
13
+ import "./role-BXBuBxs5.js";
14
14
  /* empty css */
15
- import "./PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-DVVSBIx2.js";
15
+ import "./PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-XHuHin8t.js";
16
16
  const $ = { class: "space-y-24" }, Z = /* @__PURE__ */ M({
17
17
  __name: "Main",
18
18
  setup(q) {
@@ -4,19 +4,19 @@ import { useCoreStore as uf, useI18n as vf } from "@feedmepos/mf-common";
4
4
  import { useSnackbar as pf } from "@feedmepos/ui-library";
5
5
  import { _ as df } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-QrqYEy8i.js";
6
6
  import { _ as mf } from "./PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js";
7
- import { u as gf } from "./restaurant-YOVMuuFY.js";
8
- import { u as _f } from "./role-Z1BT4HFT.js";
7
+ import { u as gf } from "./restaurant-BTpBmfBV.js";
8
+ import { u as _f } from "./role-BXBuBxs5.js";
9
9
  /* empty css */
10
- import "./employee-Ck_DJyl9.js";
11
- import "./lodash-CwAowwGK.js";
12
- import "./useAppStore-DNTlIeMv.js";
13
- import "./iteration-Bl07BT2c.js";
10
+ import "./employee-DX0CZF-B.js";
11
+ import "./lodash-344d5Ope.js";
12
+ import "./useAppStore-DCwd8GWN.js";
13
+ import "./iteration-yBS4dpFh.js";
14
14
  /* empty css */
15
- import { R as pt } from "./app-3bHRu-TD.js";
16
- import "./rule-DYmHm3nE.js";
17
- import "./useReportPermissions-DCF1U1Us.js";
18
- import "./dayjs.min-BjrK6J3b.js";
19
- import "./TimesheetList.vue_vue_type_style_index_0_scoped_2c7a177a_lang-O2_M0Ktw.js";
15
+ import { R as pt } from "./app-B8eo04d6.js";
16
+ import "./rule-DWlFon04.js";
17
+ import "./useReportPermissions-C0exkIxU.js";
18
+ import "./dayjs.min-DZEHW2QB.js";
19
+ import "./TimesheetList.vue_vue_type_style_index_0_scoped_2c7a177a_lang-ogjfztLs.js";
20
20
  var Nn = {};
21
21
  /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */
22
22
  var qt = {};
@@ -4,11 +4,11 @@ import { useI18n as E, useCoreStore as $ } from "@feedmepos/mf-common";
4
4
  import { useSnackbar as I } from "@feedmepos/ui-library";
5
5
  import { _ as z } from "./ResponsiveFabButton.vue_vue_type_script_setup_true_lang-QrqYEy8i.js";
6
6
  import { _ as M } from "./PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js";
7
- import { u as j } from "./restaurant-YOVMuuFY.js";
8
- import { u as H } from "./role-Z1BT4HFT.js";
9
- import { u as J } from "./grant-user-CQZaTzVt.js";
10
- import { u as K } from "./approval-code-Q4666xp5.js";
11
- import { R as n } from "./app-3bHRu-TD.js";
7
+ import { u as j } from "./restaurant-BTpBmfBV.js";
8
+ import { u as H } from "./role-BXBuBxs5.js";
9
+ import { u as J } from "./grant-user-SNiDV22U.js";
10
+ import { u as K } from "./approval-code-jIjkeVEb.js";
11
+ import { R as n } from "./app-B8eo04d6.js";
12
12
  const Q = { class: "space-y-24" }, ue = /* @__PURE__ */ D({
13
13
  __name: "Main",
14
14
  setup(W) {