@oneclick.dev/cms-core-modules 0.0.117 → 0.0.119
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.
- package/dist/{ContentEditor-DWoXc0T_.js → ContentEditor-BnOVpmsQ.js} +36 -36
- package/dist/{ContentEditor-CUe6-NwF.mjs → ContentEditor-Cm28u_14.mjs} +3289 -3251
- package/dist/{NewReservationDialog.vue_vue_type_script_setup_true_lang-BXTkYCm_.mjs → NewReservationDialog.vue_vue_type_script_setup_true_lang-CcMEKZzd.mjs} +95 -95
- package/dist/{NewReservationDialog.vue_vue_type_script_setup_true_lang-C2zwt5UF.js → NewReservationDialog.vue_vue_type_script_setup_true_lang-CkFsdcvP.js} +1 -1
- package/dist/{TableView-BQI3CWll.mjs → TableView-Ctnep-Qu.mjs} +1174 -1161
- package/dist/TableView-DJqyJL9L.js +4 -0
- package/dist/agenda-BtmnpFmi.js +1 -0
- package/dist/agenda-D0QBOJUy.mjs +1258 -0
- package/dist/cms-core-modules.css +1 -1
- package/dist/index-BnFWz40Q.mjs +1261 -0
- package/dist/index-DcGPR_vt.js +35 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.mjs +5 -5
- package/dist/{orders-D41GbzIa.mjs → orders-C5NT99Fy.mjs} +82 -82
- package/dist/orders-lO3dZ5un.js +1 -0
- package/dist/src/appointments/components/edit/EventDialog/BookingsList.vue.d.ts +1 -0
- package/dist/src/shims-vue.d.ts +6 -0
- package/dist/src/table/components/DataTableAction.vue.d.ts +1 -0
- package/dist/src/table/flow-builder-extensions/row-item.d.ts +5 -5
- package/package.json +2 -2
- package/dist/TableView-Cwal0BPW.js +0 -4
- package/dist/agenda-B3nj388v.mjs +0 -1253
- package/dist/agenda-Bev1mO7E.js +0 -1
- package/dist/index-Djp4EBb0.mjs +0 -1245
- package/dist/index-DliTZzwI.js +0 -35
- package/dist/orders-1swJVKw2.js +0 -1
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import { defineComponent as we, ref as j, reactive as Ue, computed as oe, watch as Re, resolveComponent as b, openBlock as i, createElementBlock as c, createElementVNode as f, Fragment as K, renderList as me, normalizeClass as _e, createVNode as r, withCtx as d, createTextVNode as w, toDisplayString as k, createCommentVNode as W, createBlock as he, onMounted as Fe, onBeforeUnmount as ze, nextTick as Le, unref as m, isRef as Ne, markRaw as Be, inject as qe } from "vue";
|
|
2
2
|
import { CalendarIcon as je, ChevronLeft as He, Check as Qe, ChevronRight as Ye, X as We, Zap as Ge, Plus as Pe, Pencil as Xe, Users as Ze, Tag as Je, Trash2 as Me } from "lucide-vue-next";
|
|
3
|
-
import { useModuleRoute as Ke, useModule as et,
|
|
3
|
+
import { useModuleRoute as Ke, useModule as et, useLogs as tt, useFirebaseIntegration as nt } from "@oneclick.dev/cms-kit";
|
|
4
4
|
import { c as Oe } from "./utils-CanmrIWO.mjs";
|
|
5
|
-
import { $ as
|
|
6
|
-
import { _ as
|
|
7
|
-
const
|
|
5
|
+
import { $ as st, a as Ae, b as Ve } from "./DateFormatter-BkKoSf_l.mjs";
|
|
6
|
+
import { _ as at } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
|
|
7
|
+
const ot = { class: "space-y-3" }, rt = { class: "grid gap-4 @md/modal:grid-cols-2 @2xl/modal:grid-cols-3 @4xl/modal:grid-cols-4 overflow-hidden p-1" }, it = {
|
|
8
8
|
key: 0,
|
|
9
9
|
class: "flex items-center gap-3 min-h-9"
|
|
10
|
-
}, it = {
|
|
11
|
-
key: 0,
|
|
12
|
-
class: "italic text-xs opacity-50"
|
|
13
10
|
}, lt = {
|
|
14
11
|
key: 0,
|
|
15
12
|
class: "italic text-xs opacity-50"
|
|
@@ -20,9 +17,12 @@ const at = { class: "space-y-3" }, ot = { class: "grid gap-4 @md/modal:grid-cols
|
|
|
20
17
|
key: 0,
|
|
21
18
|
class: "italic text-xs opacity-50"
|
|
22
19
|
}, ct = {
|
|
20
|
+
key: 0,
|
|
21
|
+
class: "italic text-xs opacity-50"
|
|
22
|
+
}, pt = {
|
|
23
23
|
key: 0,
|
|
24
24
|
class: "text-red-400"
|
|
25
|
-
},
|
|
25
|
+
}, mt = { class: "list-disc pl-4" }, ft = /* @__PURE__ */ we({
|
|
26
26
|
__name: "CustomerInformation",
|
|
27
27
|
props: {
|
|
28
28
|
agendaData: {}
|
|
@@ -108,14 +108,14 @@ const at = { class: "space-y-3" }, ot = { class: "grid gap-4 @md/modal:grid-cols
|
|
|
108
108
|
validateForm: J
|
|
109
109
|
}), (g, D) => {
|
|
110
110
|
const x = b("Checkbox"), I = b("Label"), C = b("SelectValue"), le = b("SelectTrigger"), ge = b("SelectItem"), be = b("SelectGroup"), fe = b("SelectContent"), te = b("Select"), ye = b("RadioGroupItem"), ne = b("RadioGroup"), de = b("Input");
|
|
111
|
-
return i(), c("div",
|
|
111
|
+
return i(), c("div", ot, [
|
|
112
112
|
D[0] || (D[0] = f("h2", { class: "text-sm font-medium" }, "Customer Information", -1)),
|
|
113
|
-
f("div",
|
|
113
|
+
f("div", rt, [
|
|
114
114
|
(i(!0), c(K, null, me(F.value, (v) => (i(), c("div", {
|
|
115
115
|
key: v.id,
|
|
116
116
|
class: _e(["grid gap-2", v.fieldType === "checkbox" ? "@md/modal:col-span-2" : ""])
|
|
117
117
|
}, [
|
|
118
|
-
v.fieldType === "checkbox" ? (i(), c("div",
|
|
118
|
+
v.fieldType === "checkbox" ? (i(), c("div", it, [
|
|
119
119
|
r(x, {
|
|
120
120
|
id: $(v),
|
|
121
121
|
modelValue: O[v.id],
|
|
@@ -127,7 +127,7 @@ const at = { class: "space-y-3" }, ot = { class: "grid gap-4 @md/modal:grid-cols
|
|
|
127
127
|
}, {
|
|
128
128
|
default: d(() => [
|
|
129
129
|
w(k(L(v)) + " ", 1),
|
|
130
|
-
v.required ? W("", !0) : (i(), c("span",
|
|
130
|
+
v.required ? W("", !0) : (i(), c("span", lt, "optional"))
|
|
131
131
|
]),
|
|
132
132
|
_: 2
|
|
133
133
|
}, 1032, ["for"])
|
|
@@ -137,7 +137,7 @@ const at = { class: "space-y-3" }, ot = { class: "grid gap-4 @md/modal:grid-cols
|
|
|
137
137
|
}, {
|
|
138
138
|
default: d(() => [
|
|
139
139
|
w(k(L(v)) + " ", 1),
|
|
140
|
-
v.required ? W("", !0) : (i(), c("span",
|
|
140
|
+
v.required ? W("", !0) : (i(), c("span", ut, "optional"))
|
|
141
141
|
]),
|
|
142
142
|
_: 2
|
|
143
143
|
}, 1032, ["for"]),
|
|
@@ -183,7 +183,7 @@ const at = { class: "space-y-3" }, ot = { class: "grid gap-4 @md/modal:grid-cols
|
|
|
183
183
|
r(I, null, {
|
|
184
184
|
default: d(() => [
|
|
185
185
|
w(k(L(v)) + " ", 1),
|
|
186
|
-
v.required ? W("", !0) : (i(), c("span",
|
|
186
|
+
v.required ? W("", !0) : (i(), c("span", dt, "optional"))
|
|
187
187
|
]),
|
|
188
188
|
_: 2
|
|
189
189
|
}, 1024),
|
|
@@ -220,7 +220,7 @@ const at = { class: "space-y-3" }, ot = { class: "grid gap-4 @md/modal:grid-cols
|
|
|
220
220
|
}, {
|
|
221
221
|
default: d(() => [
|
|
222
222
|
w(k(L(v)) + " ", 1),
|
|
223
|
-
v.required ? W("", !0) : (i(), c("span",
|
|
223
|
+
v.required ? W("", !0) : (i(), c("span", ct, "optional"))
|
|
224
224
|
]),
|
|
225
225
|
_: 2
|
|
226
226
|
}, 1032, ["for"]),
|
|
@@ -234,8 +234,8 @@ const at = { class: "space-y-3" }, ot = { class: "grid gap-4 @md/modal:grid-cols
|
|
|
234
234
|
], 64))
|
|
235
235
|
], 2))), 128))
|
|
236
236
|
]),
|
|
237
|
-
z.value.length > 0 ? (i(), c("div",
|
|
238
|
-
f("ul",
|
|
237
|
+
z.value.length > 0 ? (i(), c("div", pt, [
|
|
238
|
+
f("ul", mt, [
|
|
239
239
|
(i(!0), c(K, null, me(z.value, (v) => (i(), c("li", { key: v }, k(v), 1))), 128))
|
|
240
240
|
])
|
|
241
241
|
])) : W("", !0)
|
|
@@ -243,7 +243,7 @@ const at = { class: "space-y-3" }, ot = { class: "grid gap-4 @md/modal:grid-cols
|
|
|
243
243
|
};
|
|
244
244
|
}
|
|
245
245
|
});
|
|
246
|
-
function
|
|
246
|
+
function gt(U = {}) {
|
|
247
247
|
const Z = j(null), E = j(!1), Q = j(!1), ue = j(!1), z = j(!1), O = U.dragSpeed ?? 1.1, F = U.dragThreshold ?? 10, L = U.edgeThreshold ?? 10, B = U.ignoreDragSelector ?? 'input, select, textarea, [contenteditable="true"], [data-horizontal-scroll-ignore-drag]';
|
|
248
248
|
let $ = null, A = 0, Y = 0, G = !1, P = null, re = null, T = null;
|
|
249
249
|
const ie = () => {
|
|
@@ -339,34 +339,34 @@ function ft(U = {}) {
|
|
|
339
339
|
showRightShadow: z
|
|
340
340
|
};
|
|
341
341
|
}
|
|
342
|
-
const
|
|
342
|
+
const vt = { class: "flex items-start justify-between gap-3" }, _t = { class: "text-sm font-medium" }, ht = {
|
|
343
343
|
key: 0,
|
|
344
344
|
class: "mt-1 text-xs text-muted-foreground"
|
|
345
|
-
},
|
|
345
|
+
}, bt = { class: "grid gap-4 @md/quick-adder:grid-cols-2 @2xl/quick-adder:grid-cols-3 @4xl/quick-adder:grid-cols-4" }, yt = { class: "grid gap-2" }, xt = {
|
|
346
346
|
key: 0,
|
|
347
347
|
class: "grid gap-2"
|
|
348
|
-
},
|
|
348
|
+
}, St = {
|
|
349
349
|
key: 1,
|
|
350
350
|
class: "grid gap-2"
|
|
351
|
-
},
|
|
351
|
+
}, kt = {
|
|
352
352
|
key: 2,
|
|
353
353
|
class: "grid gap-2"
|
|
354
|
-
},
|
|
354
|
+
}, $t = { class: "grid gap-2" }, Tt = {
|
|
355
355
|
key: 0,
|
|
356
356
|
class: "rounded-md border border-dashed bg-muted/20 px-4 py-4 text-sm text-muted-foreground"
|
|
357
|
-
},
|
|
357
|
+
}, It = {
|
|
358
358
|
key: 1,
|
|
359
359
|
class: "relative flex items-center gap-2 overflow-hidden"
|
|
360
|
-
},
|
|
360
|
+
}, Rt = { class: "relative min-w-0 flex-1 overflow-hidden" }, wt = {
|
|
361
361
|
key: 0,
|
|
362
362
|
class: "pointer-events-none absolute inset-y-0 left-0 z-10 w-10 md:w-20 bg-gradient-to-r from-background via-background/95 to-transparent"
|
|
363
|
-
},
|
|
363
|
+
}, Dt = {
|
|
364
364
|
key: 1,
|
|
365
365
|
class: "pointer-events-none absolute inset-y-0 right-0 z-10 w-10 md:w-20 bg-gradient-to-l from-background via-background/95 to-transparent"
|
|
366
|
-
},
|
|
366
|
+
}, Ct = {
|
|
367
367
|
key: 0,
|
|
368
368
|
class: "absolute -top-1 -right-1 flex items-center justify-center bg-primary rounded-full text-background size-4"
|
|
369
|
-
},
|
|
369
|
+
}, Nt = { class: "flex flex-wrap gap-2" }, Ot = ["onClick"], Vt = { key: 0 }, Mt = { key: 1 }, At = { key: 2 }, Et = /* @__PURE__ */ we({
|
|
370
370
|
__name: "QuickReservationAdder",
|
|
371
371
|
props: {
|
|
372
372
|
agendaData: {},
|
|
@@ -374,7 +374,7 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
374
374
|
},
|
|
375
375
|
emits: ["add"],
|
|
376
376
|
setup(U, { emit: Z }) {
|
|
377
|
-
const E = U, Q = Z, ue = new
|
|
377
|
+
const E = U, Q = Z, ue = new st("en-US", {
|
|
378
378
|
dateStyle: "long"
|
|
379
379
|
}), z = Ae(Ve()), O = oe(() => E.surface === "popover"), F = j(""), L = j(void 0), B = j(""), $ = j(""), A = j([]), Y = j(1), G = oe(() => E.agendaData?.resources?.find((N) => N.id === B.value)), P = (N) => {
|
|
380
380
|
const [n, _] = N.split(":").map(Number);
|
|
@@ -406,7 +406,7 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
406
406
|
scrollPrev: ge,
|
|
407
407
|
showLeftShadow: be,
|
|
408
408
|
showRightShadow: fe
|
|
409
|
-
} =
|
|
409
|
+
} = gt(), te = (N) => A.value.includes(N), ye = (N) => {
|
|
410
410
|
if (te(N)) {
|
|
411
411
|
A.value = A.value.filter((n) => n !== N);
|
|
412
412
|
return;
|
|
@@ -435,14 +435,14 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
435
435
|
m(O) ? "p-5 sm:p-6" : "rounded-md border p-4"
|
|
436
436
|
))
|
|
437
437
|
}, [
|
|
438
|
-
f("div",
|
|
438
|
+
f("div", vt, [
|
|
439
439
|
f("div", null, [
|
|
440
|
-
f("h3",
|
|
441
|
-
m(O) ? (i(), c("p",
|
|
440
|
+
f("h3", _t, k(m(O) ? "Quick add reservations" : "Add reservations"), 1),
|
|
441
|
+
m(O) ? (i(), c("p", ht, " Choose one date and add multiple timeslots in one pass. ")) : W("", !0)
|
|
442
442
|
])
|
|
443
443
|
]),
|
|
444
|
-
f("div",
|
|
445
|
-
f("div",
|
|
444
|
+
f("div", bt, [
|
|
445
|
+
f("div", yt, [
|
|
446
446
|
r(_, null, {
|
|
447
447
|
default: d(() => [...n[3] || (n[3] = [
|
|
448
448
|
w("Date", -1)
|
|
@@ -487,7 +487,7 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
487
487
|
_: 1
|
|
488
488
|
})
|
|
489
489
|
]),
|
|
490
|
-
U.agendaData.resources?.length > 1 ? (i(), c("div",
|
|
490
|
+
U.agendaData.resources?.length > 1 ? (i(), c("div", xt, [
|
|
491
491
|
r(_, null, {
|
|
492
492
|
default: d(() => [...n[4] || (n[4] = [
|
|
493
493
|
w("Resource", -1)
|
|
@@ -515,7 +515,7 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
515
515
|
_: 1
|
|
516
516
|
}, 8, ["modelValue"])
|
|
517
517
|
])) : W("", !0),
|
|
518
|
-
U.agendaData.pricingOptions?.length > 1 ? (i(), c("div",
|
|
518
|
+
U.agendaData.pricingOptions?.length > 1 ? (i(), c("div", St, [
|
|
519
519
|
r(_, null, {
|
|
520
520
|
default: d(() => [...n[5] || (n[5] = [
|
|
521
521
|
w("Type", -1)
|
|
@@ -543,7 +543,7 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
543
543
|
_: 1
|
|
544
544
|
}, 8, ["modelValue"])
|
|
545
545
|
])) : W("", !0),
|
|
546
|
-
U.agendaData?.maxTicketsPerReservation > 1 ? (i(), c("div",
|
|
546
|
+
U.agendaData?.maxTicketsPerReservation > 1 ? (i(), c("div", kt, [
|
|
547
547
|
r(_, null, {
|
|
548
548
|
default: d(() => [...n[6] || (n[6] = [
|
|
549
549
|
w("Spots/tickets", -1)
|
|
@@ -561,14 +561,14 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
561
561
|
}, null, 8, ["modelValue"])
|
|
562
562
|
])) : W("", !0)
|
|
563
563
|
]),
|
|
564
|
-
f("div",
|
|
564
|
+
f("div", $t, [
|
|
565
565
|
r(_, null, {
|
|
566
566
|
default: d(() => [...n[7] || (n[7] = [
|
|
567
567
|
w("Available hours", -1)
|
|
568
568
|
])]),
|
|
569
569
|
_: 1
|
|
570
570
|
}),
|
|
571
|
-
m(J).length === 0 ? (i(), c("div",
|
|
571
|
+
m(J).length === 0 ? (i(), c("div", Tt, " No preset hours are available for this resource. You can still add a custom time below. ")) : (i(), c("div", It, [
|
|
572
572
|
m(g) ? (i(), he(H, {
|
|
573
573
|
key: 0,
|
|
574
574
|
type: "button",
|
|
@@ -582,9 +582,9 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
582
582
|
]),
|
|
583
583
|
_: 1
|
|
584
584
|
}, 8, ["onClick"])) : W("", !0),
|
|
585
|
-
f("div",
|
|
586
|
-
m(be) ? (i(), c("div",
|
|
587
|
-
m(fe) ? (i(), c("div",
|
|
585
|
+
f("div", Rt, [
|
|
586
|
+
m(be) ? (i(), c("div", wt)) : W("", !0),
|
|
587
|
+
m(fe) ? (i(), c("div", Dt)) : W("", !0),
|
|
588
588
|
f("div", {
|
|
589
589
|
ref_key: "hourScrollContainer",
|
|
590
590
|
ref: x,
|
|
@@ -603,7 +603,7 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
603
603
|
}, {
|
|
604
604
|
default: d(() => [
|
|
605
605
|
w(k(h) + " ", 1),
|
|
606
|
-
te(h) ? (i(), c("div",
|
|
606
|
+
te(h) ? (i(), c("div", Ct, [
|
|
607
607
|
r(m(Qe), { class: "size-3" })
|
|
608
608
|
])) : W("", !0)
|
|
609
609
|
]),
|
|
@@ -625,7 +625,7 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
625
625
|
_: 1
|
|
626
626
|
}, 8, ["onClick"])) : W("", !0)
|
|
627
627
|
])),
|
|
628
|
-
f("div",
|
|
628
|
+
f("div", Nt, [
|
|
629
629
|
(i(!0), c(K, null, me(m(V), (h) => (i(), c("div", {
|
|
630
630
|
key: h,
|
|
631
631
|
class: "relative"
|
|
@@ -647,7 +647,7 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
647
647
|
}
|
|
648
648
|
}, [
|
|
649
649
|
r(m(We), { class: "size-3" })
|
|
650
|
-
], 8,
|
|
650
|
+
], 8, Ot)
|
|
651
651
|
]))), 128))
|
|
652
652
|
])
|
|
653
653
|
]),
|
|
@@ -657,7 +657,7 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
657
657
|
onClick: se
|
|
658
658
|
}, {
|
|
659
659
|
default: d(() => [
|
|
660
|
-
m(A).length === 0 ? (i(), c("span",
|
|
660
|
+
m(A).length === 0 ? (i(), c("span", Vt, "Select at least one timeslot")) : m(A).length === 1 ? (i(), c("span", Mt, "Add 1 reservation")) : (i(), c("span", At, "Add " + k(m(A).length) + " reservations", 1))
|
|
661
661
|
]),
|
|
662
662
|
_: 1
|
|
663
663
|
}, 8, ["disabled"])
|
|
@@ -665,25 +665,25 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
665
665
|
], 2);
|
|
666
666
|
};
|
|
667
667
|
}
|
|
668
|
-
}),
|
|
668
|
+
}), Ft = /* @__PURE__ */ at(Et, [["__scopeId", "data-v-c7529556"]]), Lt = { class: "space-y-3" }, Pt = { class: "flex flex-wrap items-center justify-between gap-3" }, Ut = { class: "text-xs text-muted-foreground" }, zt = { class: "flex flex-wrap items-center gap-2" }, Bt = {
|
|
669
669
|
key: 0,
|
|
670
670
|
class: "rounded-md border border-dashed bg-muted/20 px-4 py-6 text-sm text-muted-foreground"
|
|
671
|
-
},
|
|
671
|
+
}, qt = {
|
|
672
672
|
key: 1,
|
|
673
673
|
class: "space-y-3"
|
|
674
|
-
},
|
|
674
|
+
}, jt = { class: "flex items-start gap-2 p-3 md:hidden" }, Ht = ["aria-expanded", "onClick"], Qt = { class: "mt-0.5 flex size-10 shrink-0 items-center justify-center rounded-full bg-muted text-sm font-semibold text-muted-foreground" }, Yt = { class: "min-w-0 flex-1" }, Wt = { class: "flex items-start justify-between gap-3" }, Gt = { class: "min-w-0" }, Xt = { class: "block truncate text-base font-semibold" }, Zt = { class: "mt-1 block truncate text-xs text-muted-foreground" }, Jt = { class: "mt-1 block truncate text-xs text-muted-foreground" }, Kt = { class: "flex size-10 shrink-0 items-center justify-center rounded-xl border border-border/70 text-muted-foreground" }, en = { class: "mt-3 flex flex-wrap items-center gap-x-4 gap-y-1 text-sm text-muted-foreground" }, tn = { class: "inline-flex items-center gap-1.5" }, nn = { class: "inline-flex items-center gap-1.5" }, sn = { class: "hidden items-start justify-between gap-3 p-4 pb-0 md:flex" }, an = { class: "text-sm font-medium" }, on = { class: "text-xs text-muted-foreground" }, rn = { class: "grid gap-4 border-t pt-3 md:grid-cols-2 md:border-0 md:pt-4 xl:grid-cols-5" }, ln = { class: "grid gap-2" }, un = { class: "grid gap-2" }, dn = {
|
|
675
675
|
key: 0,
|
|
676
676
|
class: "text-xs text-orange-500"
|
|
677
|
-
},
|
|
677
|
+
}, cn = { class: "grid gap-2" }, pn = {
|
|
678
678
|
key: 0,
|
|
679
679
|
class: "text-xs text-muted-foreground"
|
|
680
|
-
},
|
|
680
|
+
}, mn = {
|
|
681
681
|
key: 1,
|
|
682
682
|
class: "flex items-center h-[36px] text-sm"
|
|
683
|
-
},
|
|
683
|
+
}, fn = { key: 0 }, gn = { key: 1 }, vn = { key: 2 }, _n = {
|
|
684
684
|
key: 0,
|
|
685
685
|
class: "grid gap-2"
|
|
686
|
-
},
|
|
686
|
+
}, hn = /* @__PURE__ */ we({
|
|
687
687
|
__name: "ReservationLines",
|
|
688
688
|
props: {
|
|
689
689
|
modelValue: {},
|
|
@@ -832,10 +832,10 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
832
832
|
}
|
|
833
833
|
}, { immediate: !0 }), (a, s) => {
|
|
834
834
|
const p = b("Button"), S = b("PopoverTrigger"), M = b("PopoverContent"), ae = b("Popover"), h = b("Label"), pe = b("DynamicSelectOption"), ve = b("DynamicSelect"), xe = b("Input"), De = b("SelectValue"), Ce = b("SelectTrigger"), e = b("SelectItem"), o = b("SelectContent"), u = b("Select");
|
|
835
|
-
return i(), c("div",
|
|
836
|
-
f("div",
|
|
837
|
-
f("p",
|
|
838
|
-
f("div",
|
|
835
|
+
return i(), c("div", Lt, [
|
|
836
|
+
f("div", Pt, [
|
|
837
|
+
f("p", Ut, k(z.value.length === 1 ? "1 reservation line" : `${z.value.length} reservation lines`), 1),
|
|
838
|
+
f("div", zt, [
|
|
839
839
|
r(ae, {
|
|
840
840
|
open: L.value,
|
|
841
841
|
"onUpdate:open": s[0] || (s[0] = (t) => L.value = t)
|
|
@@ -863,7 +863,7 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
863
863
|
class: "max-h-[80vh] w-[min(34rem,calc(100vw-2rem))] overflow-y-auto p-0"
|
|
864
864
|
}, {
|
|
865
865
|
default: d(() => [
|
|
866
|
-
L.value ? (i(), he(
|
|
866
|
+
L.value ? (i(), he(Ft, {
|
|
867
867
|
key: 0,
|
|
868
868
|
surface: "popover",
|
|
869
869
|
agendaData: U.agendaData,
|
|
@@ -889,46 +889,46 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
889
889
|
})
|
|
890
890
|
])
|
|
891
891
|
]),
|
|
892
|
-
z.value.length === 0 ? (i(), c("div",
|
|
892
|
+
z.value.length === 0 ? (i(), c("div", Bt, " Use Quick add to create filled reservation lines, or add an empty line manually. ")) : (i(), c("div", qt, [
|
|
893
893
|
(i(!0), c(K, null, me(z.value, (t, y) => (i(), c("div", {
|
|
894
894
|
key: t.id,
|
|
895
895
|
class: "rounded-xl border bg-background"
|
|
896
896
|
}, [
|
|
897
|
-
f("div",
|
|
897
|
+
f("div", jt, [
|
|
898
898
|
f("button", {
|
|
899
899
|
type: "button",
|
|
900
900
|
class: "flex min-w-0 flex-1 items-start gap-3 rounded-lg px-1 py-1 text-left outline-none transition-colors hover:bg-muted/40 focus-visible:ring-2 focus-visible:ring-ring/50",
|
|
901
901
|
"aria-expanded": H(t.id),
|
|
902
902
|
onClick: (l) => ce(t.id)
|
|
903
903
|
}, [
|
|
904
|
-
f("span",
|
|
905
|
-
f("span",
|
|
906
|
-
f("span",
|
|
907
|
-
f("span",
|
|
908
|
-
f("span",
|
|
909
|
-
f("span",
|
|
910
|
-
f("span",
|
|
904
|
+
f("span", Qt, k(y + 1), 1),
|
|
905
|
+
f("span", Yt, [
|
|
906
|
+
f("span", Wt, [
|
|
907
|
+
f("span", Gt, [
|
|
908
|
+
f("span", Xt, k(de(t)), 1),
|
|
909
|
+
f("span", Zt, k(t.date || "No date selected"), 1),
|
|
910
|
+
f("span", Jt, k(I(t)) + " · " + k(D(t)), 1),
|
|
911
911
|
se(t)?.message ? (i(), c("span", {
|
|
912
912
|
key: 0,
|
|
913
913
|
class: _e(["mt-1 block text-xs font-medium", ke(t)])
|
|
914
914
|
}, k(se(t)?.message), 3)) : W("", !0)
|
|
915
915
|
]),
|
|
916
|
-
f("span",
|
|
916
|
+
f("span", Kt, [
|
|
917
917
|
r(m(Xe), { class: "size-4" })
|
|
918
918
|
])
|
|
919
919
|
]),
|
|
920
|
-
f("span",
|
|
921
|
-
f("span",
|
|
920
|
+
f("span", en, [
|
|
921
|
+
f("span", tn, [
|
|
922
922
|
r(m(Ze), { class: "size-4" }),
|
|
923
923
|
w(" " + k(V(t)), 1)
|
|
924
924
|
]),
|
|
925
|
-
f("span",
|
|
925
|
+
f("span", nn, [
|
|
926
926
|
r(m(Je), { class: "size-4" }),
|
|
927
927
|
w(" " + k(v(t.paid)), 1)
|
|
928
928
|
])
|
|
929
929
|
])
|
|
930
930
|
])
|
|
931
|
-
], 8,
|
|
931
|
+
], 8, Ht),
|
|
932
932
|
r(p, {
|
|
933
933
|
type: "button",
|
|
934
934
|
variant: "ghost",
|
|
@@ -942,10 +942,10 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
942
942
|
_: 1
|
|
943
943
|
}, 8, ["onClick"])
|
|
944
944
|
]),
|
|
945
|
-
f("div",
|
|
945
|
+
f("div", sn, [
|
|
946
946
|
f("div", null, [
|
|
947
|
-
f("p",
|
|
948
|
-
f("p",
|
|
947
|
+
f("p", an, "Reservation " + k(y + 1), 1),
|
|
948
|
+
f("p", on, k(I(t)) + " · " + k(D(t)), 1),
|
|
949
949
|
se(t)?.message ? (i(), c("p", {
|
|
950
950
|
key: 0,
|
|
951
951
|
class: _e(["mt-1 text-xs font-medium", ke(t)])
|
|
@@ -967,8 +967,8 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
967
967
|
f("div", {
|
|
968
968
|
class: _e(["px-3 pb-3 md:px-4 md:pb-4 overflow-hidden", H(t.id) ? "block" : "hidden md:block"])
|
|
969
969
|
}, [
|
|
970
|
-
f("div",
|
|
971
|
-
f("div",
|
|
970
|
+
f("div", rn, [
|
|
971
|
+
f("div", ln, [
|
|
972
972
|
r(h, null, {
|
|
973
973
|
default: d(() => [...s[4] || (s[4] = [
|
|
974
974
|
w("Resource", -1)
|
|
@@ -996,7 +996,7 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
996
996
|
_: 1
|
|
997
997
|
}, 8, ["model-value", "onUpdate:modelValue"])
|
|
998
998
|
]),
|
|
999
|
-
f("div",
|
|
999
|
+
f("div", un, [
|
|
1000
1000
|
r(h, null, {
|
|
1001
1001
|
default: d(() => [...s[5] || (s[5] = [
|
|
1002
1002
|
w("Date", -1)
|
|
@@ -1008,9 +1008,9 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
1008
1008
|
type: "date",
|
|
1009
1009
|
"onUpdate:modelValue": (l) => P(t.id, "date", String(l ?? ""))
|
|
1010
1010
|
}, null, 8, ["model-value", "onUpdate:modelValue"]),
|
|
1011
|
-
n(t) ? (i(), c("p",
|
|
1011
|
+
n(t) ? (i(), c("p", dn, k(n(t)), 1)) : W("", !0)
|
|
1012
1012
|
]),
|
|
1013
|
-
f("div",
|
|
1013
|
+
f("div", cn, [
|
|
1014
1014
|
r(h, {
|
|
1015
1015
|
for: `new_reservation_res_line_${y}_time`
|
|
1016
1016
|
}, {
|
|
@@ -1051,9 +1051,9 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
1051
1051
|
]),
|
|
1052
1052
|
_: 2
|
|
1053
1053
|
}, 1032, ["model-value", "onUpdate:modelValue"]),
|
|
1054
|
-
t.resourceId && t.date && ne(t).length === 0 ? (i(), c("p",
|
|
1055
|
-
], 64)) : (i(), c("p",
|
|
1056
|
-
!t.resourceId && !t.date ? (i(), c("span",
|
|
1054
|
+
t.resourceId && t.date && ne(t).length === 0 ? (i(), c("p", pn, " No times are available for this resource on the selected date. ")) : W("", !0)
|
|
1055
|
+
], 64)) : (i(), c("p", mn, [
|
|
1056
|
+
!t.resourceId && !t.date ? (i(), c("span", fn, "Please select a resource and date.")) : t.resourceId ? t.date ? W("", !0) : (i(), c("span", vn, "Please select a date.")) : (i(), c("span", gn, "Please select a resource."))
|
|
1057
1057
|
]))
|
|
1058
1058
|
]),
|
|
1059
1059
|
f("div", {
|
|
@@ -1089,7 +1089,7 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
1089
1089
|
f("div", {
|
|
1090
1090
|
class: _e(["grid gap-4", O.value ? "md:grid-cols-2 xl:grid-cols-2 xl:col-span-1" : ""])
|
|
1091
1091
|
}, [
|
|
1092
|
-
O.value ? (i(), c("div",
|
|
1092
|
+
O.value ? (i(), c("div", _n, [
|
|
1093
1093
|
r(h, null, {
|
|
1094
1094
|
default: d(() => [...s[8] || (s[8] = [
|
|
1095
1095
|
w("Spots", -1)
|
|
@@ -1130,13 +1130,13 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
1130
1130
|
]);
|
|
1131
1131
|
};
|
|
1132
1132
|
}
|
|
1133
|
-
}),
|
|
1133
|
+
}), bn = { class: "space-y-5 md:mt-5" }, yn = { class: "space-y-3" }, xn = { class: "mt-4 text-red-400" }, Sn = { class: "list-disc pl-4" }, kn = { key: 0 }, $n = { key: 1 }, Tn = { key: 2 }, Ee = "", On = /* @__PURE__ */ we({
|
|
1134
1134
|
__name: "NewReservationDialog",
|
|
1135
1135
|
props: {
|
|
1136
1136
|
agendaData: {}
|
|
1137
1137
|
},
|
|
1138
1138
|
setup(U) {
|
|
1139
|
-
const Z = U, { params: E } = Ke(), { config: Q } = et(), { log: ue, logError: z } =
|
|
1139
|
+
const Z = U, { params: E } = Ke(), { config: Q } = et(), { log: ue, logError: z } = tt(), O = nt(Q.project), F = oe(() => E.value?.id ?? E.id ?? ""), L = qe("agendaData", j({})), B = oe(() => Z.agendaData ?? L.value ?? {}), $ = j(!1), A = j(!1), Y = j({});
|
|
1140
1140
|
let G = 0;
|
|
1141
1141
|
const P = j([]), re = /^([01]\d|2[0-3]):[0-5]\d$/, T = j([]), ie = j(null), J = oe(() => Object.values(Y.value).some((e) => e.status === "checking")), g = oe(() => Object.values(Y.value).some((e) => e.status === "unavailable")), D = () => B.value?.resources?.[0]?.id ?? "", x = () => B.value?.pricingOptions?.find((e) => e.isDefault === !0)?.id ?? B.value?.pricingOptions?.[0]?.id ?? "", I = () => {
|
|
1142
1142
|
const e = /* @__PURE__ */ new Date(), o = e.getFullYear(), u = `${e.getMonth() + 1}`.padStart(2, "0"), t = `${e.getDate()}`.padStart(2, "0");
|
|
@@ -1422,18 +1422,18 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
1422
1422
|
]),
|
|
1423
1423
|
_: 1
|
|
1424
1424
|
}),
|
|
1425
|
-
f("div",
|
|
1426
|
-
r(
|
|
1425
|
+
f("div", bn, [
|
|
1426
|
+
r(ft, {
|
|
1427
1427
|
ref_key: "customerInformationRef",
|
|
1428
1428
|
ref: ie,
|
|
1429
1429
|
agendaData: B.value
|
|
1430
1430
|
}, null, 8, ["agendaData"]),
|
|
1431
1431
|
o[5] || (o[5] = f("div", { class: "w-full h-[1px] bg-border my-8" }, null, -1)),
|
|
1432
|
-
f("div",
|
|
1432
|
+
f("div", yn, [
|
|
1433
1433
|
o[4] || (o[4] = f("div", { class: "flex items-center justify-between gap-3" }, [
|
|
1434
1434
|
f("h2", { class: "text-sm font-medium" }, "Reservations")
|
|
1435
1435
|
], -1)),
|
|
1436
|
-
r(
|
|
1436
|
+
r(hn, {
|
|
1437
1437
|
modelValue: T.value,
|
|
1438
1438
|
"onUpdate:modelValue": o[0] || (o[0] = (ee) => T.value = ee),
|
|
1439
1439
|
agendaData: B.value,
|
|
@@ -1442,8 +1442,8 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
1442
1442
|
onQuickAdd: V
|
|
1443
1443
|
}, null, 8, ["modelValue", "agendaData", "availability-by-reservation"])
|
|
1444
1444
|
]),
|
|
1445
|
-
f("div",
|
|
1446
|
-
f("ul",
|
|
1445
|
+
f("div", xn, [
|
|
1446
|
+
f("ul", Sn, [
|
|
1447
1447
|
(i(!0), c(K, null, me(P.value, (ee) => (i(), c("li", { key: ee }, k(ee), 1))), 128))
|
|
1448
1448
|
])
|
|
1449
1449
|
])
|
|
@@ -1455,7 +1455,7 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
1455
1455
|
disabled: A.value || J.value || g.value
|
|
1456
1456
|
}, {
|
|
1457
1457
|
default: d(() => [
|
|
1458
|
-
A.value ? (i(), c("span",
|
|
1458
|
+
A.value ? (i(), c("span", kn, "Creating...")) : J.value ? (i(), c("span", $n, "Checking availability...")) : (i(), c("span", Tn, k(T.value.length > 1 ? `Create ${T.value.length} reservations` : "Create reservation"), 1))
|
|
1459
1459
|
]),
|
|
1460
1460
|
_: 1
|
|
1461
1461
|
}, 8, ["disabled"])
|
|
@@ -1472,5 +1472,5 @@ const gt = { class: "flex items-start justify-between gap-3" }, vt = { class: "t
|
|
|
1472
1472
|
}
|
|
1473
1473
|
});
|
|
1474
1474
|
export {
|
|
1475
|
-
|
|
1475
|
+
On as _
|
|
1476
1476
|
};
|