@oneclick.dev/cms-core-modules 0.0.110 → 0.0.111
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/{Acquisition-Dt2rREU8.js → Acquisition-DgzDQH51.js} +1 -1
- package/dist/{Acquisition-DNCy8nQz.mjs → Acquisition-FV3QpaUX.mjs} +2 -2
- package/dist/{Audience-Bs7b0TNm.js → Audience-BSgNvcVb.js} +1 -1
- package/dist/{Audience-CUeMVYRy.mjs → Audience-ka0b7YPE.mjs} +2 -2
- package/dist/{ContentEditor-D9-1SJ5F.mjs → ContentEditor-pZPfo0qN.mjs} +4384 -4282
- package/dist/{ContentEditor-BprPiHMJ.js → ContentEditor-tYkh4vRV.js} +42 -42
- package/dist/{Create-89z41K73.js → Create--MOBOTA-.js} +1 -1
- package/dist/{Create-BCklc_T1.mjs → Create-BXNLRQag.mjs} +1 -1
- package/dist/DateFormatter-CSAbE3BC.js +1 -0
- package/dist/{DateFormatter-DUxlo8X8.mjs → DateFormatter-qbhRYxI_.mjs} +226 -222
- package/dist/{Detail-CNlljBfH.mjs → Detail-ChD5XurA.mjs} +1 -1
- package/dist/{Detail-C857g62L.js → Detail-RISEJJab.js} +1 -1
- package/dist/{Find-DIISO5GO.mjs → Find-zN_dKz4p.mjs} +1 -1
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Baqy-rTT.js +1 -0
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Dx4Bpa2m.mjs +1263 -0
- package/dist/{Overview-Di84CsR5.mjs → Overview-98nkJUWN.mjs} +162 -157
- package/dist/{Overview-C-Jb_BxY.mjs → Overview-BR_y8x3W.mjs} +1 -1
- package/dist/{Overview-DC9io1bk.js → Overview-CX-n6W7d.js} +1 -1
- package/dist/Overview-Dl8cMlsr.js +1 -0
- package/dist/{Overview-BKAti8nc.mjs → Overview-MpgkLB6m.mjs} +36 -36
- package/dist/{SeoHealth-az1YuNF2.js → SeoHealth-C5npw7mE.js} +1 -1
- package/dist/{SeoHealth-MC3lSCOY.mjs → SeoHealth-bVQj_Xgm.mjs} +29 -29
- package/dist/{TableView-DXHhJ-jm.mjs → TableView-Bf1fdJrD.mjs} +1838 -1822
- package/dist/TableView-DNcXyIMu.js +4 -0
- package/dist/{agenda-IOqtALWf.js → agenda-BaJu3-1c.js} +1 -1
- package/dist/{agenda-DcatSSYQ.mjs → agenda-BwVY_8oM.mjs} +3 -3
- package/dist/cms-core-modules.css +1 -1
- package/dist/{exceptions-CI0B4xVj.js → exceptions-B6P9UiCj.js} +1 -1
- package/dist/{exceptions-YCQkHa6a.mjs → exceptions-De9-FvdP.mjs} +67 -67
- package/dist/{index-CpzDEMeC.mjs → index-B8GvmAwh.mjs} +438 -478
- package/dist/{index-wjkEPsNx.mjs → index-BIF2RB7k.mjs} +1212 -1316
- package/dist/index-ByRsp77L.js +70 -0
- package/dist/{index-BhWvXMOp.mjs → index-CFzn2Lus.mjs} +5 -9
- package/dist/{index-BFLV54kw.mjs → index-CkVwMqpn.mjs} +1114 -1100
- package/dist/index-DL6orwdK.js +35 -0
- package/dist/index-DUlYrnXH.js +58 -0
- package/dist/index-DZV720u-.mjs +439 -0
- package/dist/index-D_nfGegA.js +184 -0
- package/dist/index-DtSvAFLL.js +54 -0
- package/dist/{index-D30apIn-.mjs → index-L54VBzwJ.mjs} +2 -3
- package/dist/{index-BzWmWCo5.mjs → index-hH3e-IYz.mjs} +267 -267
- package/dist/index.cjs.js +1 -1
- package/dist/index.mjs +15 -15
- package/dist/math-BJ-oX_IM.mjs +80 -0
- package/dist/math-emotyaF6.js +1 -0
- package/dist/{resources-CYOb5Bl6.mjs → resources-DwYxn2Vi.mjs} +1 -1
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/ScopedSelectAll.d.ts +1 -2
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/useFocus.d.ts +1 -0
- package/package.json +2 -2
- package/dist/DateFormatter-CYAD4GBN.js +0 -1
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Ceoje52V.js +0 -1
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Dh9jzvE0.mjs +0 -1255
- package/dist/Overview-UoZHUMUz.js +0 -1
- package/dist/TableView-DQW0A1oG.js +0 -4
- package/dist/array-CbATeQbk.js +0 -1
- package/dist/array-DT5pE8Gm.mjs +0 -108
- package/dist/index-A2kp8Isi.js +0 -75
- package/dist/index-B5aBwdxY.js +0 -54
- package/dist/index-BiT55eU0.js +0 -58
- package/dist/index-G7cIlnGN.js +0 -158
- package/dist/index-V78huaSJ.mjs +0 -442
- package/dist/index-vHmvbEwa.js +0 -35
package/dist/index.mjs
CHANGED
|
@@ -54,7 +54,7 @@ const I = "data:image/webp;base64,UklGRg5VAABXRUJQVlA4WAoAAAAMAAAA4wAA4wAAVlA4IJ
|
|
|
54
54
|
default: !1
|
|
55
55
|
}
|
|
56
56
|
}), l = [
|
|
57
|
-
{ path: "", component: () => import("./TableView-
|
|
57
|
+
{ path: "", component: () => import("./TableView-Bf1fdJrD.mjs") }
|
|
58
58
|
], p = [], rA = {
|
|
59
59
|
component: () => import("./index-Bkq58CeQ.mjs"),
|
|
60
60
|
metadata: C,
|
|
@@ -98,7 +98,7 @@ const I = "data:image/webp;base64,UklGRg5VAABXRUJQVlA4WAoAAAAMAAAA4wAA4wAAVlA4IJ
|
|
|
98
98
|
default: "https://preview.com/shop/{{slug}}"
|
|
99
99
|
}
|
|
100
100
|
}), M = [
|
|
101
|
-
{ path: "", component: () => import("./Overview-
|
|
101
|
+
{ path: "", component: () => import("./Overview-BR_y8x3W.mjs") },
|
|
102
102
|
{ path: "/:productId", component: () => import("./Detail-Btzwo0Y3.mjs") },
|
|
103
103
|
{ path: "/new", component: () => import("./Detail-Btzwo0Y3.mjs") }
|
|
104
104
|
], s = [
|
|
@@ -186,9 +186,9 @@ const I = "data:image/webp;base64,UklGRg5VAABXRUJQVlA4WAoAAAAMAAAA4wAA4wAAVlA4IJ
|
|
|
186
186
|
default: "promo-codes"
|
|
187
187
|
}
|
|
188
188
|
}), y = [
|
|
189
|
-
{ path: "", component: () => import("./Create-
|
|
190
|
-
{ path: "/promo-codes", component: () => import("./Find-
|
|
191
|
-
{ path: "/promo-codes/:promoCodeId", component: () => import("./Detail-
|
|
189
|
+
{ path: "", component: () => import("./Create-BXNLRQag.mjs") },
|
|
190
|
+
{ path: "/promo-codes", component: () => import("./Find-zN_dKz4p.mjs") },
|
|
191
|
+
{ path: "/promo-codes/:promoCodeId", component: () => import("./Detail-ChD5XurA.mjs") }
|
|
192
192
|
], u = [
|
|
193
193
|
{ key: "create-promo-codes", name: "Create promo codes", description: "Team member can create promo codes" },
|
|
194
194
|
{ key: "view-promo-codes", name: "View promo codes", description: "Team member can view promo codes" },
|
|
@@ -293,11 +293,11 @@ const I = "data:image/webp;base64,UklGRg5VAABXRUJQVlA4WAoAAAAMAAAA4wAA4wAAVlA4IJ
|
|
|
293
293
|
description: "Optional. When set, the module will fetch real keyword data from Google Search Console. Use the same site URL format as shown in Search Console."
|
|
294
294
|
}
|
|
295
295
|
}), x = [
|
|
296
|
-
{ path: "", component: () => import("./Overview-
|
|
297
|
-
{ path: "/acquisition", component: () => import("./Acquisition-
|
|
296
|
+
{ path: "", component: () => import("./Overview-MpgkLB6m.mjs") },
|
|
297
|
+
{ path: "/acquisition", component: () => import("./Acquisition-FV3QpaUX.mjs") },
|
|
298
298
|
{ path: "/content", component: () => import("./Content-CYOZKvWK.mjs") },
|
|
299
|
-
{ path: "/audience", component: () => import("./Audience-
|
|
300
|
-
{ path: "/seo", component: () => import("./SeoHealth-
|
|
299
|
+
{ path: "/audience", component: () => import("./Audience-ka0b7YPE.mjs") },
|
|
300
|
+
{ path: "/seo", component: () => import("./SeoHealth-bVQj_Xgm.mjs") }
|
|
301
301
|
], K = [], S = [
|
|
302
302
|
{
|
|
303
303
|
name: "getTopPages",
|
|
@@ -557,7 +557,7 @@ const I = "data:image/webp;base64,UklGRg5VAABXRUJQVlA4WAoAAAAMAAAA4wAA4wAAVlA4IJ
|
|
|
557
557
|
{ path: "", component: () => import("./Overview-lWAyyenp.mjs") },
|
|
558
558
|
{ path: "/collections", component: () => import("./Overview-lWAyyenp.mjs") },
|
|
559
559
|
{ path: "/collections/:collectionId", component: () => import("./Entries-BdhUyJR5.mjs") },
|
|
560
|
-
{ path: "/collections/:collectionId/:entryId", component: () => import("./ContentEditor-
|
|
560
|
+
{ path: "/collections/:collectionId/:entryId", component: () => import("./ContentEditor-pZPfo0qN.mjs") },
|
|
561
561
|
{ path: "/components", component: () => import("./Components-C83O-xlF.mjs") },
|
|
562
562
|
{ path: "/global-styling", component: () => import("./GlobalStyling-C9VthHWK.mjs") }
|
|
563
563
|
], q = [
|
|
@@ -632,17 +632,17 @@ const I = "data:image/webp;base64,UklGRg5VAABXRUJQVlA4WAoAAAAMAAAA4wAA4wAAVlA4IJ
|
|
|
632
632
|
default: "reserved_spots"
|
|
633
633
|
}
|
|
634
634
|
}), tA = [
|
|
635
|
-
{ path: "", component: () => import("./Overview-
|
|
635
|
+
{ path: "", component: () => import("./Overview-98nkJUWN.mjs") },
|
|
636
636
|
{ path: "/create", component: () => import("./index-DrXxXB2F.mjs") },
|
|
637
637
|
{ path: "/create/regular", component: () => import("./regular-_05oq5Tx.mjs") },
|
|
638
638
|
// { path: '/create/full-day', component: () => import('./pages/create/full-day.vue') },
|
|
639
639
|
// { path: '/create/multi-day', component: () => import('./pages/create/multi-day.vue') },
|
|
640
|
-
{ path: "/edit/:id", component: () => import("./index-
|
|
641
|
-
{ path: "/edit/:id/agenda", component: () => import("./agenda-
|
|
642
|
-
{ path: "/edit/:id/exceptions", component: () => import("./exceptions-
|
|
640
|
+
{ path: "/edit/:id", component: () => import("./index-hH3e-IYz.mjs") },
|
|
641
|
+
{ path: "/edit/:id/agenda", component: () => import("./agenda-BwVY_8oM.mjs") },
|
|
642
|
+
{ path: "/edit/:id/exceptions", component: () => import("./exceptions-De9-FvdP.mjs") },
|
|
643
643
|
{ path: "/edit/:id/availability", component: () => import("./availability-CMrRa5y2.mjs") },
|
|
644
644
|
{ path: "/edit/:id/payment", component: () => import("./payment-C3ohkehF.mjs") },
|
|
645
|
-
{ path: "/edit/:id/resources", component: () => import("./resources-
|
|
645
|
+
{ path: "/edit/:id/resources", component: () => import("./resources-DwYxn2Vi.mjs") },
|
|
646
646
|
{ path: "/edit/:id/orders", component: () => import("./orders-C65SlpJy.mjs") },
|
|
647
647
|
{ path: "/edit/:id/booking-data", component: () => import("./booking-data-DgJd0BcM.mjs") }
|
|
648
648
|
], iA = [
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
var p = Math.PI, x = 2 * p, f = 1e-6, L = x - f;
|
|
2
|
+
function y() {
|
|
3
|
+
this._x0 = this._y0 = // start of current subpath
|
|
4
|
+
this._x1 = this._y1 = null, this._ = "";
|
|
5
|
+
}
|
|
6
|
+
function C() {
|
|
7
|
+
return new y();
|
|
8
|
+
}
|
|
9
|
+
y.prototype = C.prototype = {
|
|
10
|
+
constructor: y,
|
|
11
|
+
moveTo: function(t, i) {
|
|
12
|
+
this._ += "M" + (this._x0 = this._x1 = +t) + "," + (this._y0 = this._y1 = +i);
|
|
13
|
+
},
|
|
14
|
+
closePath: function() {
|
|
15
|
+
this._x1 !== null && (this._x1 = this._x0, this._y1 = this._y0, this._ += "Z");
|
|
16
|
+
},
|
|
17
|
+
lineTo: function(t, i) {
|
|
18
|
+
this._ += "L" + (this._x1 = +t) + "," + (this._y1 = +i);
|
|
19
|
+
},
|
|
20
|
+
quadraticCurveTo: function(t, i, s, h) {
|
|
21
|
+
this._ += "Q" + +t + "," + +i + "," + (this._x1 = +s) + "," + (this._y1 = +h);
|
|
22
|
+
},
|
|
23
|
+
bezierCurveTo: function(t, i, s, h, a, o) {
|
|
24
|
+
this._ += "C" + +t + "," + +i + "," + +s + "," + +h + "," + (this._x1 = +a) + "," + (this._y1 = +o);
|
|
25
|
+
},
|
|
26
|
+
arcTo: function(t, i, s, h, a) {
|
|
27
|
+
t = +t, i = +i, s = +s, h = +h, a = +a;
|
|
28
|
+
var o = this._x1, c = this._y1, u = s - t, e = h - i, n = o - t, r = c - i, _ = n * n + r * r;
|
|
29
|
+
if (a < 0) throw new Error("negative radius: " + a);
|
|
30
|
+
if (this._x1 === null)
|
|
31
|
+
this._ += "M" + (this._x1 = t) + "," + (this._y1 = i);
|
|
32
|
+
else if (_ > f) if (!(Math.abs(r * u - e * n) > f) || !a)
|
|
33
|
+
this._ += "L" + (this._x1 = t) + "," + (this._y1 = i);
|
|
34
|
+
else {
|
|
35
|
+
var M = s - o, v = h - c, d = u * u + e * e, A = M * M + v * v, m = Math.sqrt(d), q = Math.sqrt(_), P = a * Math.tan((p - Math.acos((d + _ - A) / (2 * m * q))) / 2), l = P / q, T = P / m;
|
|
36
|
+
Math.abs(l - 1) > f && (this._ += "L" + (t + l * n) + "," + (i + l * r)), this._ += "A" + a + "," + a + ",0,0," + +(r * M > n * v) + "," + (this._x1 = t + T * u) + "," + (this._y1 = i + T * e);
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
arc: function(t, i, s, h, a, o) {
|
|
40
|
+
t = +t, i = +i, s = +s, o = !!o;
|
|
41
|
+
var c = s * Math.cos(h), u = s * Math.sin(h), e = t + c, n = i + u, r = 1 ^ o, _ = o ? h - a : a - h;
|
|
42
|
+
if (s < 0) throw new Error("negative radius: " + s);
|
|
43
|
+
this._x1 === null ? this._ += "M" + e + "," + n : (Math.abs(this._x1 - e) > f || Math.abs(this._y1 - n) > f) && (this._ += "L" + e + "," + n), s && (_ < 0 && (_ = _ % x + x), _ > L ? this._ += "A" + s + "," + s + ",0,1," + r + "," + (t - c) + "," + (i - u) + "A" + s + "," + s + ",0,1," + r + "," + (this._x1 = e) + "," + (this._y1 = n) : _ > f && (this._ += "A" + s + "," + s + ",0," + +(_ >= p) + "," + r + "," + (this._x1 = t + s * Math.cos(a)) + "," + (this._y1 = i + s * Math.sin(a))));
|
|
44
|
+
},
|
|
45
|
+
rect: function(t, i, s, h) {
|
|
46
|
+
this._ += "M" + (this._x0 = this._x1 = +t) + "," + (this._y0 = this._y1 = +i) + "h" + +s + "v" + +h + "h" + -s + "Z";
|
|
47
|
+
},
|
|
48
|
+
toString: function() {
|
|
49
|
+
return this._;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
function E(t) {
|
|
53
|
+
return function() {
|
|
54
|
+
return t;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
var $ = Math.abs, w = Math.atan2, I = Math.cos, Z = Math.max, j = Math.min, k = Math.sin, z = Math.sqrt, Q = 1e-12, b = Math.PI, g = b / 2, S = 2 * b;
|
|
58
|
+
function B(t) {
|
|
59
|
+
return t > 1 ? 0 : t < -1 ? b : Math.acos(t);
|
|
60
|
+
}
|
|
61
|
+
function D(t) {
|
|
62
|
+
return t >= 1 ? g : t <= -1 ? -g : Math.asin(t);
|
|
63
|
+
}
|
|
64
|
+
export {
|
|
65
|
+
$ as a,
|
|
66
|
+
B as b,
|
|
67
|
+
D as c,
|
|
68
|
+
w as d,
|
|
69
|
+
E as e,
|
|
70
|
+
I as f,
|
|
71
|
+
Q as g,
|
|
72
|
+
g as h,
|
|
73
|
+
j as i,
|
|
74
|
+
b as j,
|
|
75
|
+
z as k,
|
|
76
|
+
Z as m,
|
|
77
|
+
C as p,
|
|
78
|
+
k as s,
|
|
79
|
+
S as t
|
|
80
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var x=Math.PI,y=2*x,c=1e-6,C=y-c;function b(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function L(){return new b}b.prototype=L.prototype={constructor:b,moveTo:function(t,s){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+s)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,s){this._+="L"+(this._x1=+t)+","+(this._y1=+s)},quadraticCurveTo:function(t,s,i,h){this._+="Q"+ +t+","+ +s+","+(this._x1=+i)+","+(this._y1=+h)},bezierCurveTo:function(t,s,i,h,a,o){this._+="C"+ +t+","+ +s+","+ +i+","+ +h+","+(this._x1=+a)+","+(this._y1=+o)},arcTo:function(t,s,i,h,a){t=+t,s=+s,i=+i,h=+h,a=+a;var o=this._x1,f=this._y1,r=i-t,e=h-s,n=o-t,u=f-s,_=n*n+u*u;if(a<0)throw new Error("negative radius: "+a);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=s);else if(_>c)if(!(Math.abs(u*r-e*n)>c)||!a)this._+="L"+(this._x1=t)+","+(this._y1=s);else{var v=i-o,l=h-f,d=r*r+e*e,g=v*v+l*l,q=Math.sqrt(d),P=Math.sqrt(_),T=a*Math.tan((x-Math.acos((d+_-g)/(2*q*P)))/2),p=T/P,A=T/q;Math.abs(p-1)>c&&(this._+="L"+(t+p*n)+","+(s+p*u)),this._+="A"+a+","+a+",0,0,"+ +(u*v>n*l)+","+(this._x1=t+A*r)+","+(this._y1=s+A*e)}},arc:function(t,s,i,h,a,o){t=+t,s=+s,i=+i,o=!!o;var f=i*Math.cos(h),r=i*Math.sin(h),e=t+f,n=s+r,u=1^o,_=o?h-a:a-h;if(i<0)throw new Error("negative radius: "+i);this._x1===null?this._+="M"+e+","+n:(Math.abs(this._x1-e)>c||Math.abs(this._y1-n)>c)&&(this._+="L"+e+","+n),i&&(_<0&&(_=_%y+y),_>C?this._+="A"+i+","+i+",0,1,"+u+","+(t-f)+","+(s-r)+"A"+i+","+i+",0,1,"+u+","+(this._x1=e)+","+(this._y1=n):_>c&&(this._+="A"+i+","+i+",0,"+ +(_>=x)+","+u+","+(this._x1=t+i*Math.cos(a))+","+(this._y1=s+i*Math.sin(a))))},rect:function(t,s,i,h){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+s)+"h"+ +i+"v"+ +h+"h"+-i+"Z"},toString:function(){return this._}};function E(t){return function(){return t}}var $=Math.abs,w=Math.atan2,I=Math.cos,Z=Math.max,z=Math.min,Q=Math.sin,S=Math.sqrt,j=1e-12,M=Math.PI,m=M/2,k=2*M;function B(t){return t>1?0:t<-1?M:Math.acos(t)}function D(t){return t>=1?m:t<=-1?-m:Math.asin(t)}exports.abs=$;exports.acos=B;exports.asin=D;exports.atan2=w;exports.constant=E;exports.cos=I;exports.epsilon=j;exports.halfPi=m;exports.max=Z;exports.min=z;exports.path=L;exports.pi=M;exports.sin=Q;exports.sqrt=S;exports.tau=k;
|
|
@@ -2,7 +2,7 @@ import { defineComponent as ce, ref as S, reactive as xe, computed as O, resolve
|
|
|
2
2
|
import { _ as be } from "./EditLayout.vue_vue_type_script_setup_true_lang-DWMqQvHl.mjs";
|
|
3
3
|
import { Clock as _e, MoreHorizontal as we, Trash2 as pe, Plus as de, Pencil as ye, Copy as ke, Users as ue, CircleAlert as Ce } from "lucide-vue-next";
|
|
4
4
|
import { useModuleRoute as De, useConfirmation as Ve, useModule as he, useFirebaseIntegration as Se } from "@oneclick.dev/cms-kit";
|
|
5
|
-
import { a as Re } from "./index-
|
|
5
|
+
import { a as Re } from "./index-CFzn2Lus.mjs";
|
|
6
6
|
const Ae = { class: "space-y-5 py-4" }, Me = { class: "flex flex-wrap gap-2 mt-2" }, ze = ["onClick"], Le = { class: "space-y-2" }, $e = { class: "flex items-center justify-between mb-2" }, Ee = { class: "text-sm font-medium" }, Ie = { class: "flex items-center gap-1" }, Ue = { class: "space-y-2" }, Ne = {
|
|
7
7
|
key: 0,
|
|
8
8
|
class: "text-sm text-muted-foreground italic py-1"
|
package/dist/src/contentManager/components/content-editor/tiptap-extensions/ScopedSelectAll.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Extension } from '@tiptap/core';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* instead of selecting all content across all containers
|
|
3
|
+
* Scope Cmd+A/Ctrl+A to the editor document instead of the surrounding page.
|
|
5
4
|
*/
|
|
6
5
|
export declare const ScopedSelectAll: Extension<any, any>;
|
|
7
6
|
export default ScopedSelectAll;
|
package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/useFocus.d.ts
CHANGED
|
@@ -4,5 +4,6 @@ declare const useFocus: (node: any) => {
|
|
|
4
4
|
isInsideNode: globalThis.ComputedRef<boolean>;
|
|
5
5
|
isPerformingAction: globalThis.ComputedRef<boolean>;
|
|
6
6
|
isPerformingActionOutside: globalThis.ComputedRef<boolean>;
|
|
7
|
+
hasTextSelection: globalThis.ComputedRef<boolean>;
|
|
7
8
|
};
|
|
8
9
|
export default useFocus;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oneclick.dev/cms-core-modules",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.111",
|
|
4
4
|
"main": "dist/index.cjs.js",
|
|
5
5
|
"module": "dist/index.mjs",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"@formkit/drag-and-drop": "^0.5.3",
|
|
30
30
|
"@internationalized/date": "^3.8.0",
|
|
31
|
-
"@oneclick.dev/cms-kit": "0.0.
|
|
31
|
+
"@oneclick.dev/cms-kit": "0.0.125",
|
|
32
32
|
"@tanstack/vue-table": "^8.21.3",
|
|
33
33
|
"@vee-validate/zod": "^4.15.0",
|
|
34
34
|
"@vue-flow/core": "^1.48.1",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";function R(e,t){return e-t*Math.floor(e/t)}const G=1721426;function v(e,t,r,n){t=q(e,t);let a=t-1,o=-2;return r<=2?o=0:T(t)&&(o=-1),G-1+365*a+Math.floor(a/4)-Math.floor(a/100)+Math.floor(a/400)+Math.floor((367*r-362)/12+o+n)}function T(e){return e%4===0&&(e%100!==0||e%400===0)}function q(e,t){return e==="BC"?1-t:t}function de(e){let t="AD";return e<=0&&(t="BC",e=1-e),[t,e]}const $e={standard:[31,28,31,30,31,30,31,31,30,31,30,31],leapyear:[31,29,31,30,31,30,31,31,30,31,30,31]};class D{fromJulianDay(t){let r=t,n=r-G,a=Math.floor(n/146097),o=R(n,146097),c=Math.floor(o/36524),s=R(o,36524),i=Math.floor(s/1461),u=R(s,1461),M=Math.floor(u/365),g=a*400+c*100+i*4+M+(c!==4&&M!==4?1:0),[w,m]=de(g),y=r-v(w,m,1,1),O=2;r<v(w,m,3,1)?O=0:T(m)&&(O=1);let z=Math.floor(((y+O)*12+373)/367),fe=r-v(w,m,z,1)+1;return new p(w,m,z,fe)}toJulianDay(t){return v(t.era,t.year,t.month,t.day)}getDaysInMonth(t){return $e[T(t.year)?"leapyear":"standard"][t.month-1]}getMonthsInYear(t){return 12}getDaysInYear(t){return T(t.year)?366:365}getMaximumMonthsInYear(){return 12}getMaximumDaysInMonth(){return 31}getYearsInEra(t){return 9999}getEras(){return["BC","AD"]}isInverseEra(t){return t.era==="BC"}balanceDate(t){t.year<=0&&(t.era=t.era==="BC"?"AD":"BC",t.year=1-t.year)}constructor(){this.identifier="gregory"}}function ye(e,t){return e.isEqual?.(t)??t.isEqual?.(e)??e.identifier===t.identifier}function me(e){return d(Date.now(),e)}function be(e){return De(me(e))}function Q(e,t){return e.calendar.toJulianDay(e)-t.calendar.toJulianDay(t)}function pe(e,t){return W(e)-W(t)}function W(e){return e.hour*36e5+e.minute*6e4+e.second*1e3+e.millisecond}let P=null,Me=!1;function J(){return P==null&&(P=new Intl.DateTimeFormat().resolvedOptions().timeZone),P}function X(){return Me}function x(e){e=h(e,new D);let t=q(e.era,e.year);return ee(t,e.month,e.day,e.hour,e.minute,e.second,e.millisecond)}function ee(e,t,r,n,a,o,c){let s=new Date;return s.setUTCHours(n,a,o,c),s.setUTCFullYear(e,t-1,r),s.getTime()}function k(e,t){if(t==="UTC")return 0;if(e>0&&t===J()&&!X())return new Date(e).getTimezoneOffset()*-6e4;let{year:r,month:n,day:a,hour:o,minute:c,second:s}=te(e,t);return ee(r,n,a,o,c,s,0)-Math.floor(e/1e3)*1e3}const K=new Map;function te(e,t){let r=K.get(t);r||(r=new Intl.DateTimeFormat("en-US",{timeZone:t,hour12:!1,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),K.set(t,r));let n=r.formatToParts(new Date(e)),a={};for(let o of n)o.type!=="literal"&&(a[o.type]=o.value);return{year:a.era==="BC"||a.era==="B"?-a.year+1:+a.year,month:+a.month,day:+a.day,hour:a.hour==="24"?0:+a.hour,minute:+a.minute,second:+a.second}}const _=864e5;function ge(e,t,r,n){return(r===n?[r]:[r,n]).filter(o=>we(e,t,o))}function we(e,t,r){let n=te(r,t);return e.year===n.year&&e.month===n.month&&e.day===n.day&&e.hour===n.hour&&e.minute===n.minute&&e.second===n.second}function f(e,t,r="compatible"){let n=I(e);if(t==="UTC")return x(n);if(t===J()&&r==="compatible"&&!X()){n=h(n,new D);let i=new Date,u=q(n.era,n.year);return i.setFullYear(u,n.month-1,n.day),i.setHours(n.hour,n.minute,n.second,n.millisecond),i.getTime()}let a=x(n),o=k(a-_,t),c=k(a+_,t),s=ge(n,t,a-o,a-c);if(s.length===1)return s[0];if(s.length>1)switch(r){case"compatible":case"earlier":return s[0];case"later":return s[s.length-1];case"reject":throw new RangeError("Multiple possible absolute times found")}switch(r){case"earlier":return Math.min(a-o,a-c);case"compatible":case"later":return Math.max(a-o,a-c);case"reject":throw new RangeError("No such absolute time found")}}function re(e,t,r="compatible"){return new Date(f(e,t,r))}function d(e,t){let r=k(e,t),n=new Date(e+r),a=n.getUTCFullYear(),o=n.getUTCMonth()+1,c=n.getUTCDate(),s=n.getUTCHours(),i=n.getUTCMinutes(),u=n.getUTCSeconds(),M=n.getUTCMilliseconds();return new E(a<1?"BC":"AD",a<1?-a+1:a,o,c,t,r,s,i,u,M)}function De(e){return new p(e.calendar,e.era,e.year,e.month,e.day)}function I(e,t){let r=0,n=0,a=0,o=0;if("timeZone"in e)({hour:r,minute:n,second:a,millisecond:o}=e);else if("hour"in e&&!t)return e;return t&&({hour:r,minute:n,second:a,millisecond:o}=t),new C(e.calendar,e.era,e.year,e.month,e.day,r,n,a,o)}function h(e,t){if(ye(e.calendar,t))return e;let r=t.fromJulianDay(e.calendar.toJulianDay(e)),n=e.copy();return n.calendar=t,n.era=r.era,n.year=r.year,n.month=r.month,n.day=r.day,b(n),n}function xe(e,t,r){if(e instanceof E)return e.timeZone===t?e:Se(e,t);let n=f(e,t,r);return d(n,t)}function Ie(e){let t=x(e)-e.offset;return new Date(t)}function Se(e,t){let r=x(e)-e.offset;return h(d(r,t),e.calendar)}const S=36e5;function B(e,t){let r=e.copy(),n="hour"in r?Ye(r,t):0;F(r,t.years||0),r.calendar.balanceYearMonth&&r.calendar.balanceYearMonth(r,e),r.month+=t.months||0,j(r),ne(r),r.day+=(t.weeks||0)*7,r.day+=t.days||0,r.day+=n,Ce(r),r.calendar.balanceDate&&r.calendar.balanceDate(r),r.year<1&&(r.year=1,r.month=1,r.day=1);let a=r.calendar.getYearsInEra(r);if(r.year>a){let c=r.calendar.isInverseEra?.(r);r.year=a,r.month=c?1:r.calendar.getMonthsInYear(r),r.day=c?1:r.calendar.getDaysInMonth(r)}r.month<1&&(r.month=1,r.day=1);let o=r.calendar.getMonthsInYear(r);return r.month>o&&(r.month=o,r.day=r.calendar.getDaysInMonth(r)),r.day=Math.max(1,Math.min(r.calendar.getDaysInMonth(r),r.day)),r}function F(e,t){e.calendar.isInverseEra?.(e)&&(t=-t),e.year+=t}function j(e){for(;e.month<1;)F(e,-1),e.month+=e.calendar.getMonthsInYear(e);let t=0;for(;e.month>(t=e.calendar.getMonthsInYear(e));)e.month-=t,F(e,1)}function Ce(e){for(;e.day<1;)e.month--,j(e),e.day+=e.calendar.getDaysInMonth(e);for(;e.day>e.calendar.getDaysInMonth(e);)e.day-=e.calendar.getDaysInMonth(e),e.month++,j(e)}function ne(e){e.month=Math.max(1,Math.min(e.calendar.getMonthsInYear(e),e.month)),e.day=Math.max(1,Math.min(e.calendar.getDaysInMonth(e),e.day))}function b(e){e.calendar.constrainDate&&e.calendar.constrainDate(e),e.year=Math.max(1,Math.min(e.calendar.getYearsInEra(e),e.year)),ne(e)}function ae(e){let t={};for(let r in e)typeof e[r]=="number"&&(t[r]=-e[r]);return t}function oe(e,t){return B(e,ae(t))}function N(e,t){let r=e.copy();return t.era!=null&&(r.era=t.era),t.year!=null&&(r.year=t.year),t.month!=null&&(r.month=t.month),t.day!=null&&(r.day=t.day),b(r),r}function U(e,t){let r=e.copy();return t.hour!=null&&(r.hour=t.hour),t.minute!=null&&(r.minute=t.minute),t.second!=null&&(r.second=t.second),t.millisecond!=null&&(r.millisecond=t.millisecond),ve(r),r}function Ee(e){e.second+=Math.floor(e.millisecond/1e3),e.millisecond=Y(e.millisecond,1e3),e.minute+=Math.floor(e.second/60),e.second=Y(e.second,60),e.hour+=Math.floor(e.minute/60),e.minute=Y(e.minute,60);let t=Math.floor(e.hour/24);return e.hour=Y(e.hour,24),t}function ve(e){e.millisecond=Math.max(0,Math.min(e.millisecond,1e3)),e.second=Math.max(0,Math.min(e.second,59)),e.minute=Math.max(0,Math.min(e.minute,59)),e.hour=Math.max(0,Math.min(e.hour,23))}function Y(e,t){let r=e%t;return r<0&&(r+=t),r}function Ye(e,t){return e.hour+=t.hours||0,e.minute+=t.minutes||0,e.second+=t.seconds||0,e.millisecond+=t.milliseconds||0,Ee(e)}function V(e,t,r,n){let a=e.copy();switch(t){case"era":{let o=e.calendar.getEras(),c=o.indexOf(e.era);if(c<0)throw new Error("Invalid era: "+e.era);c=$(c,r,0,o.length-1,n?.round),a.era=o[c],b(a);break}case"year":a.calendar.isInverseEra?.(a)&&(r=-r),a.year=$(e.year,r,-1/0,9999,n?.round),a.year===-1/0&&(a.year=1),a.calendar.balanceYearMonth&&a.calendar.balanceYearMonth(a,e);break;case"month":a.month=$(e.month,r,1,e.calendar.getMonthsInYear(e),n?.round);break;case"day":a.day=$(e.day,r,1,e.calendar.getDaysInMonth(e),n?.round);break;default:throw new Error("Unsupported field "+t)}return e.calendar.balanceDate&&e.calendar.balanceDate(a),b(a),a}function ce(e,t,r,n){let a=e.copy();switch(t){case"hour":{let o=e.hour,c=0,s=23;if(n?.hourCycle===12){let i=o>=12;c=i?12:0,s=i?23:11}a.hour=$(o,r,c,s,n?.round);break}case"minute":a.minute=$(e.minute,r,0,59,n?.round);break;case"second":a.second=$(e.second,r,0,59,n?.round);break;case"millisecond":a.millisecond=$(e.millisecond,r,0,999,n?.round);break;default:throw new Error("Unsupported field "+t)}return a}function $(e,t,r,n,a=!1){if(a){e+=Math.sign(t),e<r&&(e=n);let o=Math.abs(t);t>0?e=Math.ceil(e/o)*o:e=Math.floor(e/o)*o,e>n&&(e=r)}else e+=t,e<r?e=n-(r-e-1):e>n&&(e=r+(e-n-1));return e}function se(e,t){let r;if(t.years!=null&&t.years!==0||t.months!=null&&t.months!==0||t.weeks!=null&&t.weeks!==0||t.days!=null&&t.days!==0){let a=B(I(e),{years:t.years,months:t.months,weeks:t.weeks,days:t.days});r=f(a,e.timeZone)}else r=x(e)-e.offset;r+=t.milliseconds||0,r+=(t.seconds||0)*1e3,r+=(t.minutes||0)*6e4,r+=(t.hours||0)*36e5;let n=d(r,e.timeZone);return h(n,e.calendar)}function Te(e,t){return se(e,ae(t))}function Ue(e,t,r,n){switch(t){case"hour":{let a=0,o=23;if(n?.hourCycle===12){let y=e.hour>=12;a=y?12:0,o=y?23:11}let c=I(e),s=h(U(c,{hour:a}),new D),i=[f(s,e.timeZone,"earlier"),f(s,e.timeZone,"later")].filter(y=>d(y,e.timeZone).day===s.day)[0],u=h(U(c,{hour:o}),new D),M=[f(u,e.timeZone,"earlier"),f(u,e.timeZone,"later")].filter(y=>d(y,e.timeZone).day===u.day).pop(),g=x(e)-e.offset,w=Math.floor(g/S),m=g%S;return g=$(w,r,Math.floor(i/S),Math.floor(M/S),n?.round)*S+m,h(d(g,e.timeZone),e.calendar)}case"minute":case"second":case"millisecond":return ce(e,t,r,n);case"era":case"year":case"month":case"day":{let a=V(I(e),t,r,n),o=f(a,e.timeZone);return h(d(o,e.timeZone),e.calendar)}default:throw new Error("Unsupported field "+t)}}function Be(e,t,r){let n=I(e),a=U(N(n,t),t);if(a.compare(n)===0)return e;let o=f(a,e.timeZone,r);return h(d(o,e.timeZone),e.calendar)}const Oe=/^([+-]\d{6}|\d{4})-(\d{2})-(\d{2})$/,Re=/^([+-]\d{6}|\d{4})-(\d{2})-(\d{2})(?:T(\d{2}))?(?::(\d{2}))?(?::(\d{2}))?(\.\d+)?$/,ie=/^([+-]\d{6}|\d{4})-(\d{2})-(\d{2})(?:T(\d{2}))?(?::(\d{2}))?(?::(\d{2}))?(\.\d+)?(?:(?:([+-]\d{2})(?::?(\d{2}))?)|Z)$/;function Pe(e){let t=e.match(Oe);if(!t)throw ie.test(e)?new Error(`Invalid ISO 8601 date string: ${e}. Use parseAbsolute() instead.`):new Error("Invalid ISO 8601 date string: "+e);let r=new p(l(t[1],0,9999),l(t[2],1,12),1);return r.day=l(t[3],1,r.calendar.getDaysInMonth(r)),r}function Ae(e){let t=e.match(Re);if(!t)throw ie.test(e)?new Error(`Invalid ISO 8601 date time string: ${e}. Use parseAbsolute() instead.`):new Error("Invalid ISO 8601 date time string: "+e);let r=l(t[1],-9999,9999),n=r<1?"BC":"AD",a=new C(n,r<1?-r+1:r,l(t[2],1,12),1,t[4]?l(t[4],0,23):0,t[5]?l(t[5],0,59):0,t[6]?l(t[6],0,59):0,t[7]?l(t[7],0,1/0)*1e3:0);return a.day=l(t[3],0,a.calendar.getDaysInMonth(a)),a}function l(e,t,r){let n=Number(e);if(n<t||n>r)throw new RangeError(`Value out of range: ${t} <= ${n} <= ${r}`);return n}function Ze(e){return`${String(e.hour).padStart(2,"0")}:${String(e.minute).padStart(2,"0")}:${String(e.second).padStart(2,"0")}${e.millisecond?String(e.millisecond/1e3).slice(1):""}`}function le(e){let t=h(e,new D),r;return t.era==="BC"?r=t.year===1?"0000":"-"+String(Math.abs(1-t.year)).padStart(6,"00"):r=String(t.year).padStart(4,"0"),`${r}-${String(t.month).padStart(2,"0")}-${String(t.day).padStart(2,"0")}`}function he(e){return`${le(e)}T${Ze(e)}`}function He(e){let t=Math.sign(e)<0?"-":"+";e=Math.abs(e);let r=Math.floor(e/36e5),n=Math.floor(e%36e5/6e4),a=Math.floor(e%36e5%6e4/1e3),o=`${t}${String(r).padStart(2,"0")}:${String(n).padStart(2,"0")}`;return a!==0&&(o+=`:${String(a).padStart(2,"0")}`),o}function ke(e){return`${he(e)}${He(e.offset)}[${e.timeZone}]`}function L(e){let t=typeof e[0]=="object"?e.shift():new D,r;if(typeof e[0]=="string")r=e.shift();else{let c=t.getEras();r=c[c.length-1]}let n=e.shift(),a=e.shift(),o=e.shift();return[t,r,n,a,o]}class p{#e;constructor(...t){let[r,n,a,o,c]=L(t);this.calendar=r,this.era=n,this.year=a,this.month=o,this.day=c,b(this)}copy(){return this.era?new p(this.calendar,this.era,this.year,this.month,this.day):new p(this.calendar,this.year,this.month,this.day)}add(t){return B(this,t)}subtract(t){return oe(this,t)}set(t){return N(this,t)}cycle(t,r,n){return V(this,t,r,n)}toDate(t){return re(this,t)}toString(){return le(this)}compare(t){return Q(this,t)}}class C{#e;constructor(...t){let[r,n,a,o,c]=L(t);this.calendar=r,this.era=n,this.year=a,this.month=o,this.day=c,this.hour=t.shift()||0,this.minute=t.shift()||0,this.second=t.shift()||0,this.millisecond=t.shift()||0,b(this)}copy(){return this.era?new C(this.calendar,this.era,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond):new C(this.calendar,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond)}add(t){return B(this,t)}subtract(t){return oe(this,t)}set(t){return N(U(this,t),t)}cycle(t,r,n){switch(t){case"era":case"year":case"month":case"day":return V(this,t,r,n);default:return ce(this,t,r,n)}}toDate(t,r){return re(this,t,r)}toString(){return he(this)}compare(t){let r=Q(this,t);return r===0?pe(this,I(t)):r}}class E{#e;constructor(...t){let[r,n,a,o,c]=L(t),s=t.shift(),i=t.shift();this.calendar=r,this.era=n,this.year=a,this.month=o,this.day=c,this.timeZone=s,this.offset=i,this.hour=t.shift()||0,this.minute=t.shift()||0,this.second=t.shift()||0,this.millisecond=t.shift()||0,b(this)}copy(){return this.era?new E(this.calendar,this.era,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond):new E(this.calendar,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond)}add(t){return se(this,t)}subtract(t){return Te(this,t)}set(t,r){return Be(this,t,r)}cycle(t,r,n){return Ue(this,t,r,n)}toDate(){return Ie(this)}toString(){return ke(this)}toAbsoluteString(){return this.toDate().toISOString()}compare(t){return this.toDate().getTime()-xe(t,this.timeZone).toDate().getTime()}}let A=new Map;class Fe{constructor(t,r={}){this.formatter=ue(t,r),this.options=r}format(t){return this.formatter.format(t)}formatToParts(t){return this.formatter.formatToParts(t)}formatRange(t,r){if(typeof this.formatter.formatRange=="function")return this.formatter.formatRange(t,r);if(r<t)throw new RangeError("End date must be >= start date");return`${this.formatter.format(t)} – ${this.formatter.format(r)}`}formatRangeToParts(t,r){if(typeof this.formatter.formatRangeToParts=="function")return this.formatter.formatRangeToParts(t,r);if(r<t)throw new RangeError("End date must be >= start date");let n=this.formatter.formatToParts(t),a=this.formatter.formatToParts(r);return[...n.map(o=>({...o,source:"startRange"})),{type:"literal",value:" – ",source:"shared"},...a.map(o=>({...o,source:"endRange"}))]}resolvedOptions(){let t=this.formatter.resolvedOptions();return Je()&&(this.resolvedHourCycle||(this.resolvedHourCycle=Ne(t.locale,this.options)),t.hourCycle=this.resolvedHourCycle,t.hour12=this.resolvedHourCycle==="h11"||this.resolvedHourCycle==="h12"),t.calendar==="ethiopic-amete-alem"&&(t.calendar="ethioaa"),t}}const je={true:{ja:"h11"},false:{}};function ue(e,t={}){if(typeof t.hour12=="boolean"&&qe()){t={...t};let a=je[String(t.hour12)][e.split("-")[0]],o=t.hour12?"h12":"h23";t.hourCycle=a??o,delete t.hour12}let r=e+(t?Object.entries(t).sort((a,o)=>a[0]<o[0]?-1:1).join():"");if(A.has(r))return A.get(r);let n=new Intl.DateTimeFormat(e,t);return A.set(r,n),n}let Z=null;function qe(){return Z==null&&(Z=new Intl.DateTimeFormat("en-US",{hour:"numeric",hour12:!1}).format(new Date(2020,2,3,0))==="24"),Z}let H=null;function Je(){return H==null&&(H=new Intl.DateTimeFormat("fr",{hour:"numeric",hour12:!1}).resolvedOptions().hourCycle==="h12"),H}function Ne(e,t){if(!t.timeStyle&&!t.hour)return;e=e.replace(/(-u-)?-nu-[a-zA-Z0-9]+/,""),e+=(e.includes("-u-")?"":"-u")+"-nu-latn";let r=ue(e,{...t,timeZone:void 0}),n=parseInt(r.formatToParts(new Date(2020,2,3,0)).find(o=>o.type==="hour").value,10),a=parseInt(r.formatToParts(new Date(2020,2,3,23)).find(o=>o.type==="hour").value,10);if(n===0&&a===23)return"h23";if(n===24&&a===23)return"h24";if(n===0&&a===11)return"h11";if(n===12&&a===11)return"h12";throw new Error("Unexpected hour cycle result")}exports.$12a3c853105e5a70$export$ad991b66133851cf=Fe;exports.$2aaf608024c21ca1$export$99faa760c7908e4f=p;exports.$58246871e4652552$export$588937bcd60ade55=Ae;exports.$58246871e4652552$export$6b862160d295c8e=Pe;exports.$ad063034c8620db8$export$aa8b41735afcabd2=J;exports.$ad063034c8620db8$export$d0bdf45af03a6ea3=be;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),M=require("lucide-vue-next"),W=require("@oneclick.dev/cms-kit"),Z=require("./utils-Yd6F5mea.js"),Y=require("./DateFormatter-CYAD4GBN.js"),te=require("./_plugin-vue_export-helper-BHFhmbuH.js"),ne={class:"space-y-3"},ae={class:"grid gap-4 @md/modal:grid-cols-2 @2xl/modal:grid-cols-3 @4xl/modal:grid-cols-4 overflow-hidden p-1"},re={key:0,class:"flex items-center gap-3 min-h-9"},le={key:0,class:"italic text-xs opacity-50"},se={key:0,class:"italic text-xs opacity-50"},ie={key:0,class:"italic text-xs opacity-50"},ce={key:0,class:"italic text-xs opacity-50"},de={key:0,class:"text-red-400"},ue={class:"list-disc pl-4"},me=e.defineComponent({__name:"CustomerInformation",props:{agendaData:{}},setup(w,{expose:B}){const y=[{id:"firstName",fieldName:"First Name",fieldType:"text",required:!0,visible:!0},{id:"lastName",fieldName:"Last Name",fieldType:"text",required:!0,visible:!0},{id:"phone",fieldName:"Phone No",fieldType:"tel",required:!0,visible:!0},{id:"email",fieldName:"Email",fieldType:"email",required:!0,visible:!0},{id:"birthdate",fieldName:"Birthdate",fieldType:"date",required:!0,visible:!0}],E=new Set(["firstName","email"]),D=w,T=e.ref([]),p=e.reactive({}),V=e.computed(()=>{const d=D.agendaData?.customerInformationFields,u=(Array.isArray(d)&&d.length>0?d:y).filter(b=>b?.id&&(b.visible!==!1||E.has(b.id))).map(b=>({...b,required:E.has(b.id),visible:!0})),h=y.filter(b=>E.has(b.id)&&!u.some(P=>P.id===b.id)).map(b=>({...b,required:!0,visible:!0}));return[...u,...h]}),N=d=>d.fieldName||d.id,R=d=>d.replace(/[^A-Za-z0-9_-]/g,"-"),f=(d,v)=>["new-res-customer-info",d.id,v].filter(Boolean).map(h=>R(h)).join("-"),k=d=>d.fieldType==="email"||d.fieldType==="tel"||d.fieldType==="date"?d.fieldType:"text",g=d=>Array.isArray(d.options)?d.options.filter(Boolean):[],$=d=>d.fieldType==="checkbox"?!1:"",I=(d=!1)=>{const v=new Set(V.value.map(u=>u.id));Object.keys(p).forEach(u=>{v.has(u)||delete p[u]}),V.value.forEach(u=>{const h=$(u);(d||p[u.id]===void 0||typeof p[u.id]!=typeof h)&&(p[u.id]=h)})},O=()=>{const d=V.value.reduce((v,u)=>{const h=p[u.id];return v[u.id]=typeof h=="string"?h.trim():!!h,v},{});return Object.entries(d).forEach(([v,u])=>{p[v]=u}),d},F=(d,v)=>d.fieldType==="checkbox"?v===!0:typeof v=="string"?v.trim().length>0:v!=null,z=()=>{T.value=[],I(!0)},L=()=>{const d=[],v=O();return V.value.forEach(u=>{const h=v[u.id],b=N(u);u.required&&!F(u,h)&&d.push(`Please fill in ${b}.`),u.fieldType==="email"&&F(u,h)&&typeof h=="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(h)===!1&&d.push(`Please fill in a correct ${b}.`)}),T.value=d,d.length===0};return e.watch(V,()=>{I()},{immediate:!0}),B({getCustomerInfo:O,reset:z,validateForm:L}),(d,v)=>{const u=e.resolveComponent("Checkbox"),h=e.resolveComponent("Label"),b=e.resolveComponent("SelectValue"),P=e.resolveComponent("SelectTrigger"),A=e.resolveComponent("SelectItem"),q=e.resolveComponent("SelectGroup"),j=e.resolveComponent("SelectContent"),U=e.resolveComponent("Select"),s=e.resolveComponent("RadioGroupItem"),t=e.resolveComponent("RadioGroup"),a=e.resolveComponent("Input");return e.openBlock(),e.createElementBlock("div",ne,[v[0]||(v[0]=e.createElementVNode("h2",{class:"text-sm font-medium"},"Customer Information",-1)),e.createElementVNode("div",ae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,n=>(e.openBlock(),e.createElementBlock("div",{key:n.id,class:e.normalizeClass(["grid gap-2",n.fieldType==="checkbox"?"@md/modal:col-span-2":""])},[n.fieldType==="checkbox"?(e.openBlock(),e.createElementBlock("div",re,[e.createVNode(u,{id:f(n),modelValue:p[n.id],"onUpdate:modelValue":r=>p[n.id]=r},null,8,["id","modelValue","onUpdate:modelValue"]),e.createVNode(h,{for:f(n),class:"font-normal cursor-pointer"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(N(n))+" ",1),n.required?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",le,"optional"))]),_:2},1032,["for"])])):n.fieldType==="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(h,{for:f(n)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(N(n))+" ",1),n.required?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",se,"optional"))]),_:2},1032,["for"]),e.createVNode(U,{modelValue:p[n.id],"onUpdate:modelValue":r=>p[n.id]=r},{default:e.withCtx(()=>[e.createVNode(P,{id:f(n),class:"w-full"},{default:e.withCtx(()=>[e.createVNode(b,{placeholder:`Select ${N(n)}`},null,8,["placeholder"])]),_:2},1032,["id"]),e.createVNode(j,null,{default:e.withCtx(()=>[e.createVNode(q,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g(n),r=>(e.openBlock(),e.createBlock(A,{key:r,value:r},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r),1)]),_:2},1032,["value"]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])],64)):n.fieldType==="radio"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createVNode(h,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(N(n))+" ",1),n.required?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",ie,"optional"))]),_:2},1024),e.createVNode(t,{modelValue:p[n.id],"onUpdate:modelValue":r=>p[n.id]=r,class:"grid gap-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g(n),r=>(e.openBlock(),e.createElementBlock("div",{key:r,class:"flex items-center gap-2"},[e.createVNode(s,{id:f(n,r),value:r},null,8,["id","value"]),e.createVNode(h,{for:f(n,r),class:"font-normal cursor-pointer"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r),1)]),_:2},1032,["for"])]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createVNode(h,{for:f(n)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(N(n))+" ",1),n.required?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",ce,"optional"))]),_:2},1032,["for"]),e.createVNode(a,{modelValue:p[n.id],"onUpdate:modelValue":r=>p[n.id]=r,id:f(n),type:k(n),autocomplete:"off"},null,8,["modelValue","onUpdate:modelValue","id","type"])],64))],2))),128))]),T.value.length>0?(e.openBlock(),e.createElementBlock("div",de,[e.createElementVNode("ul",ue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.value,n=>(e.openBlock(),e.createElementBlock("li",{key:n},e.toDisplayString(n),1))),128))])])):e.createCommentVNode("",!0)])}}});function pe(w={}){const B=e.ref(null),y=e.ref(!1),E=e.ref(!1),D=e.ref(!1),T=e.ref(!1),p=w.dragSpeed??1.1,V=w.dragThreshold??10,N=w.edgeThreshold??10,R=w.ignoreDragSelector??'input, select, textarea, [contenteditable="true"], [data-horizontal-scroll-ignore-drag]';let f=null,k=0,g=0,$=!1,I=null,O=null,F=null;const z=()=>{I===null||typeof window>"u"||(window.clearTimeout(I),I=null)},L=()=>{const o=B.value;if(!o){E.value=!1,D.value=!1,T.value=!1;return}const c=Math.max(o.scrollWidth-o.clientWidth,0);E.value=c>N,D.value=E.value&&o.scrollLeft>N,T.value=E.value&&o.scrollLeft<c-N},d=()=>{e.nextTick(()=>{if(typeof window>"u"){L();return}window.requestAnimationFrame(()=>L())})},v=()=>{if(typeof w.scrollStep=="number")return w.scrollStep;const o=B.value;return o?Math.max(Math.floor(o.clientWidth*.72),180):240},u=(o,c="smooth")=>{const l=B.value;if(l){if(l.scrollBy({left:o,behavior:c}),c==="auto"){L();return}d()}},h=()=>{u(-v())},b=()=>{u(v())},P=()=>{const o=B.value;f!==null&&o?.hasPointerCapture?.(f)&&o.releasePointerCapture(f),y.value&&($=!0,z(),typeof window<"u"&&(I=window.setTimeout(()=>{$=!1,I=null},0))),f=null,y.value=!1,o&&(o.style.userSelect="",o.style.cursor=""),L()},A=()=>{L()},q=o=>{const c=B.value;if(!c||!E.value||Math.abs(o.deltaY)<=Math.abs(o.deltaX))return;const l=o.deltaY<0,C=o.deltaY>0;l&&!D.value||C&&!T.value||(o.preventDefault(),c.scrollLeft+=o.deltaY,L())},j=o=>o instanceof Element?!!o.closest(R):!1,U=o=>{const c=B.value;!c||!E.value||o.pointerType!=="touch"&&o.button===0&&(j(o.target)||(f=o.pointerId,k=o.clientX,g=c.scrollLeft,$=!1))},s=o=>{const c=B.value;if(!c||f!==o.pointerId)return;const l=o.clientX-k;!y.value&&Math.abs(l)<V||(y.value||(y.value=!0,c.style.userSelect="none",c.style.cursor="grabbing",c.setPointerCapture?.(o.pointerId)),o.preventDefault(),c.scrollLeft=g-l*p,L())},t=o=>{f===o.pointerId&&P()},a=()=>{f!==null&&P()},n=o=>{$&&(o.preventDefault(),o.stopPropagation(),$=!1)},r=o=>{typeof ResizeObserver<"u"&&(O=new ResizeObserver(()=>L()),O.observe(o)),w.observeMutations!==!1&&typeof MutationObserver<"u"&&(F=new MutationObserver(()=>d()),F.observe(o,{childList:!0,subtree:!0,characterData:!0}))},S=()=>{O?.disconnect(),F?.disconnect(),O=null,F=null},_=o=>{o.addEventListener("scroll",A),o.addEventListener("wheel",q,{passive:!1}),o.addEventListener("pointerdown",U),o.addEventListener("pointermove",s),o.addEventListener("pointerup",t),o.addEventListener("pointercancel",a),o.addEventListener("lostpointercapture",a),o.addEventListener("click",n,!0),r(o),d()},i=o=>{o.removeEventListener("scroll",A),o.removeEventListener("wheel",q),o.removeEventListener("pointerdown",U),o.removeEventListener("pointermove",s),o.removeEventListener("pointerup",t),o.removeEventListener("pointercancel",a),o.removeEventListener("lostpointercapture",a),o.removeEventListener("click",n,!0),S()};return e.watch(B,(o,c)=>{c&&i(c),o?_(o):L()}),e.onMounted(()=>{d()}),e.onBeforeUnmount(()=>{z(),B.value&&i(B.value),$=!1,P()}),{canScrollLeft:e.computed(()=>D.value),canScrollRight:e.computed(()=>T.value),containerRef:B,isDragging:y,isScrollable:E,refresh:d,scrollNext:b,scrollPrev:h,showLeftShadow:D,showRightShadow:T}}const fe={class:"flex items-start justify-between gap-3"},ge={class:"text-sm font-medium"},ve={key:0,class:"mt-1 text-xs text-muted-foreground"},he={class:"grid gap-4 @md/quick-adder:grid-cols-2 @2xl/quick-adder:grid-cols-3 @4xl/quick-adder:grid-cols-4"},_e={class:"grid gap-2"},ke={key:0,class:"grid gap-2"},Ne={key:1,class:"grid gap-2"},xe={key:2,class:"grid gap-2"},Ve={class:"grid gap-2"},be={key:0,class:"rounded-md border border-dashed bg-muted/20 px-4 py-4 text-sm text-muted-foreground"},ye={key:1,class:"relative flex items-center gap-2 overflow-hidden"},Ce={class:"relative min-w-0 flex-1 overflow-hidden"},we={key:0,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"},Se={key:1,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"},Ee={key:0,class:"absolute -top-1 -right-1 flex items-center justify-center bg-primary rounded-full text-background size-4"},Te={class:"flex flex-wrap gap-2"},Be=["onClick"],De={key:0},$e={key:1},Re={key:2},Ie=e.defineComponent({__name:"QuickReservationAdder",props:{agendaData:{},surface:{default:"card"}},emits:["add"],setup(w,{emit:B}){const y=w,E=B,D=new Y.$12a3c853105e5a70$export$ad991b66133851cf("en-US",{dateStyle:"long"}),T=Y.$ad063034c8620db8$export$d0bdf45af03a6ea3(Y.$ad063034c8620db8$export$aa8b41735afcabd2()),p=e.computed(()=>y.surface==="popover"),V=e.ref(""),N=e.ref(void 0),R=e.ref(""),f=e.ref(""),k=e.ref([]),g=e.ref(1),$=e.computed(()=>y.agendaData?.resources?.find(i=>i.id===R.value)),I=i=>{const[o,c]=i.split(":").map(Number);return o*60+c},O=i=>{const o=Math.floor(i/60),c=i%60;return`${o.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}`},F=()=>{if(!$.value)return[];const i=$.value.interval||60;let o=null,c=null;for(const C of Object.values($.value.openingHours||{}))for(const m of C){const H=I(m.start),Q=I(m.end);(o===null||H<o)&&(o=H),(c===null||Q>c)&&(c=Q)}if(o===null||c===null)return[];const l=[];for(let C=o;C<c;C+=i)l.push(O(C));return l},z=e.computed(()=>N.value&&R.value&&f.value&&k.value.length>0),L=e.computed(()=>F()),{canScrollLeft:d,canScrollRight:v,containerRef:u,isDragging:h,isScrollable:b,scrollNext:P,scrollPrev:A,showLeftShadow:q,showRightShadow:j}=pe(),U=i=>k.value.includes(i),s=i=>{if(U(i)){k.value=k.value.filter(o=>o!==i);return}k.value=[...k.value,i].sort((o,c)=>I(o)-I(c))},t=(i,o)=>{N.value=i?e.markRaw(i):void 0,V.value=i?`${i}`:"",o()},a=e.ref(""),n=e.ref(""),r=e.ref([]),S=()=>{E("add",{date:N.value,resourceId:R.value,pricingOptionId:f.value,startTimes:k.value,spots:g.value}),k.value=[],r.value=[],n.value="",a.value=""},_=()=>{V.value=T.toString(),N.value=T,R.value=y.agendaData?.resources?.[0]?.id||"",f.value=y.agendaData?.pricingOptions?.find(i=>i.isDefault)?.id||y.agendaData?.pricingOptions?.[0]?.id||"",k.value=[],g.value=1,a.value=""};return e.onMounted(()=>{_()}),(i,o)=>{const c=e.resolveComponent("Label"),l=e.resolveComponent("Button"),C=e.resolveComponent("PopoverTrigger"),m=e.resolveComponent("Calendar"),H=e.resolveComponent("PopoverContent"),Q=e.resolveComponent("Popover"),K=e.resolveComponent("DynamicSelectOption"),J=e.resolveComponent("DynamicSelect"),oe=e.resolveComponent("Input");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(Z.classNames)("@container/quick-adder grid gap-4 overflow-hidden bg-background",e.unref(p)?"p-5 sm:p-6":"rounded-md border p-4"))},[e.createElementVNode("div",fe,[e.createElementVNode("div",null,[e.createElementVNode("h3",ge,e.toDisplayString(e.unref(p)?"Quick add reservations":"Add reservations"),1),e.unref(p)?(e.openBlock(),e.createElementBlock("p",ve," Choose one date and add multiple timeslots in one pass. ")):e.createCommentVNode("",!0)])]),e.createElementVNode("div",he,[e.createElementVNode("div",_e,[e.createVNode(c,null,{default:e.withCtx(()=>[...o[3]||(o[3]=[e.createTextVNode("Date",-1)])]),_:1}),e.createVNode(Q,null,{default:e.withCtx(({close:x})=>[e.createVNode(C,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(l,{type:"button",variant:"outline",class:e.normalizeClass(e.unref(Z.classNames)("w-full justify-start text-left font-normal",!e.unref(N)&&"text-muted-foreground"))},{default:e.withCtx(()=>[e.createVNode(e.unref(M.CalendarIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(N)?e.unref(D).format(e.unref(N).toDate(e.unref(Y.$ad063034c8620db8$export$aa8b41735afcabd2)())):"Pick a date"),1)]),_:1},8,["class"])]),_:1}),e.createVNode(H,{class:"w-auto p-0",align:"start"},{default:e.withCtx(()=>[e.createVNode(m,{"model-value":e.unref(N),"default-placeholder":e.unref(T),layout:"month-and-year","initial-focus":"","onUpdate:modelValue":G=>t(G,x),minValue:e.unref(Y.$ad063034c8620db8$export$d0bdf45af03a6ea3)(e.unref(Y.$ad063034c8620db8$export$aa8b41735afcabd2)())},null,8,["model-value","default-placeholder","onUpdate:modelValue","minValue"])]),_:2},1024)]),_:1})]),w.agendaData.resources?.length>1?(e.openBlock(),e.createElementBlock("div",ke,[e.createVNode(c,null,{default:e.withCtx(()=>[...o[4]||(o[4]=[e.createTextVNode("Resource",-1)])]),_:1}),e.createVNode(J,{modelValue:e.unref(R),"onUpdate:modelValue":o[0]||(o[0]=x=>e.isRef(R)?R.value=x:null),"wrapper-class":"w-full",class:"w-full",placeholder:"Select resource"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.agendaData.resources||[],x=>(e.openBlock(),e.createBlock(K,{key:x.id,value:x.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),w.agendaData.pricingOptions?.length>1?(e.openBlock(),e.createElementBlock("div",Ne,[e.createVNode(c,null,{default:e.withCtx(()=>[...o[5]||(o[5]=[e.createTextVNode("Type",-1)])]),_:1}),e.createVNode(J,{modelValue:e.unref(f),"onUpdate:modelValue":o[1]||(o[1]=x=>e.isRef(f)?f.value=x:null),"wrapper-class":"w-full",class:"w-full",placeholder:"Select type"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.agendaData.pricingOptions||[],x=>(e.openBlock(),e.createBlock(K,{key:x.id,value:x.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.name)+" ("+e.toDisplayString(x.duration)+"min) ",1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),w.agendaData?.maxTicketsPerReservation>1?(e.openBlock(),e.createElementBlock("div",xe,[e.createVNode(c,null,{default:e.withCtx(()=>[...o[6]||(o[6]=[e.createTextVNode("Spots/tickets",-1)])]),_:1}),e.createVNode(oe,{modelValue:e.unref(g),"onUpdate:modelValue":o[2]||(o[2]=x=>e.isRef(g)?g.value=x:null),modelModifiers:{number:!0},type:"number",min:"1",class:"no-spinner",autocomplete:"off"},null,8,["modelValue"])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ve,[e.createVNode(c,null,{default:e.withCtx(()=>[...o[7]||(o[7]=[e.createTextVNode("Available hours",-1)])]),_:1}),e.unref(L).length===0?(e.openBlock(),e.createElementBlock("div",be," No preset hours are available for this resource. You can still add a custom time below. ")):(e.openBlock(),e.createElementBlock("div",ye,[e.unref(d)?(e.openBlock(),e.createBlock(l,{key:0,type:"button",size:"icon",variant:"outline",class:"hidden absolute size-8 shrink-0 rounded-full shadow-sm md:inline-flex z-[11] left-0.5",onClick:e.unref(A)},{default:e.withCtx(()=>[e.createVNode(e.unref(M.ChevronLeft),{class:"size-4"})]),_:1},8,["onClick"])):e.createCommentVNode("",!0),e.createElementVNode("div",Ce,[e.unref(q)?(e.openBlock(),e.createElementBlock("div",we)):e.createCommentVNode("",!0),e.unref(j)?(e.openBlock(),e.createElementBlock("div",Se)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"hourScrollContainer",ref:u,class:e.normalizeClass(e.unref(Z.classNames)("hour-scroll-track flex w-full min-w-0 gap-2 overflow-x-auto overscroll-contain py-2",e.unref(b)&&!e.unref(h)&&"cursor-grab",e.unref(h)&&"cursor-grabbing select-none"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(L),x=>(e.openBlock(),e.createBlock(l,{key:x,type:"button",variant:"outline",class:e.normalizeClass(["relative h-12 shrink-0",U(x)?"border-primary!":""]),onClick:G=>s(x)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x)+" ",1),U(x)?(e.openBlock(),e.createElementBlock("div",Ee,[e.createVNode(e.unref(M.Check),{class:"size-3"})])):e.createCommentVNode("",!0)]),_:2},1032,["class","onClick"]))),128))],2)]),e.unref(v)?(e.openBlock(),e.createBlock(l,{key:1,type:"button",size:"icon",variant:"outline",class:"hidden absolute size-8 shrink-0 rounded-full shadow-sm md:inline-flex z-[11] right-0.5",onClick:e.unref(P)},{default:e.withCtx(()=>[e.createVNode(e.unref(M.ChevronRight),{class:"size-4"})]),_:1},8,["onClick"])):e.createCommentVNode("",!0)])),e.createElementVNode("div",Te,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),x=>(e.openBlock(),e.createElementBlock("div",{key:x,class:"relative"},[e.createVNode(l,{type:"button",variant:"outline",class:"h-12 px-4 py-2"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x),1)]),_:2},1024),e.createElementVNode("div",{class:"absolute -top-1 -right-1 flex items-center justify-center bg-red-500 rounded-full text-white size-4 cursor-pointer",onClick:G=>{r.value=e.unref(r).filter(X=>X!==x),k.value=e.unref(k).filter(X=>X!==x)}},[e.createVNode(e.unref(M.X),{class:"size-3"})],8,Be)]))),128))])]),e.createElementVNode("div",null,[e.createVNode(l,{disabled:!e.unref(z),onClick:S},{default:e.withCtx(()=>[e.unref(k).length===0?(e.openBlock(),e.createElementBlock("span",De,"Select at least one timeslot")):e.unref(k).length===1?(e.openBlock(),e.createElementBlock("span",$e,"Add 1 reservation")):(e.openBlock(),e.createElementBlock("span",Re,"Add "+e.toDisplayString(e.unref(k).length)+" reservations",1))]),_:1},8,["disabled"])])],2)}}}),Le=te._export_sfc(Ie,[["__scopeId","data-v-c7529556"]]),Fe={class:"space-y-3"},Oe={class:"flex flex-wrap items-center justify-between gap-3"},Pe={class:"text-xs text-muted-foreground"},Me={class:"flex flex-wrap items-center gap-2"},Ue={key:0,class:"rounded-md border border-dashed bg-muted/20 px-4 py-6 text-sm text-muted-foreground"},ze={key:1,class:"space-y-3"},Ae={class:"flex items-start gap-2 p-3 md:hidden"},qe=["aria-expanded","onClick"],je={class:"mt-0.5 flex size-10 shrink-0 items-center justify-center rounded-full bg-muted text-sm font-semibold text-muted-foreground"},He={class:"min-w-0 flex-1"},Qe={class:"flex items-start justify-between gap-3"},Ye={class:"min-w-0"},Ge={class:"block truncate text-base font-semibold"},Xe={class:"mt-1 block truncate text-xs text-muted-foreground"},We={class:"mt-1 block truncate text-xs text-muted-foreground"},Ze={class:"flex size-10 shrink-0 items-center justify-center rounded-xl border border-border/70 text-muted-foreground"},Ke={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-1 text-sm text-muted-foreground"},Je={class:"inline-flex items-center gap-1.5"},et={class:"inline-flex items-center gap-1.5"},tt={class:"hidden items-start justify-between gap-3 p-4 pb-0 md:flex"},ot={class:"text-sm font-medium"},nt={class:"text-xs text-muted-foreground"},at={class:"grid gap-4 border-t pt-3 md:grid-cols-2 md:border-0 md:pt-4 xl:grid-cols-5"},rt={class:"grid gap-2"},lt={key:0,class:"text-xs text-orange-500"},st={class:"grid gap-2"},it={class:"grid gap-2"},ct={class:"grid gap-2"},dt={key:0,class:"grid gap-2"},ut=e.defineComponent({__name:"ReservationLines",props:{modelValue:{},agendaData:{}},emits:["add","quick-add","update:modelValue"],setup(w,{emit:B}){const y=w,E=B,D=e.computed(()=>y.modelValue??[]),T=e.computed(()=>Number(y.agendaData?.maxTicketsPerReservation)>1),p=e.ref(null),V=e.ref(!1),N=e.computed(()=>String(y.agendaData?.currency||"EUR").toUpperCase()),R=e.computed(()=>{try{return new Intl.NumberFormat("en-US",{style:"currency",currency:N.value,minimumFractionDigits:2,maximumFractionDigits:2})}catch{return new Intl.NumberFormat("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}}),f=s=>{E("update:modelValue",s)},k=(s,t,a)=>{f(D.value.map(n=>n.id!==s?n:t==="date"?{...n,date:String(a??""),dateValue:a||void 0}:{...n,[t]:a}))},g=(s,t)=>{const a=Number(t);k(s,"paid",Number.isFinite(a)?a:0)},$=(s,t)=>{const a=Number(t);k(s,"spots",Number.isFinite(a)&&a>0?a:1)},I=s=>{f(D.value.filter(t=>t.id!==s))},O=s=>{E("quick-add",s),V.value=!1},F=s=>y.agendaData?.pricingOptions?.find(t=>t.id===s.pricingOption),z=s=>{const t=F(s);return t?t.duration?`${t.name} (${t.duration}min)`:t.name:"Reservation"},L=s=>y.agendaData?.resources?.find(t=>t.id===s.resourceId),d=s=>L(s)?.name||"Unknown resource",v=s=>{if(!s.startTime)return"";const t=Number(F(s)?.duration);if(!Number.isFinite(t)||t<=0)return"";const[a,n]=s.startTime.split(":").map(Number);if(!Number.isFinite(a)||!Number.isFinite(n))return"";const r=a*60+n+t,S=Math.floor(r/60)%24,_=r%60;return`${S.toString().padStart(2,"0")}:${_.toString().padStart(2,"0")}`},u=s=>{if(!s.startTime)return"Select time";const t=v(s);return t?`${s.startTime} - ${t}`:s.startTime},h=s=>{const t=Number(s);if(!Number.isFinite(t))return N.value==="EUR"?"€0.00":"0.00";try{return R.value.format(t)}catch{return`${t.toFixed(2)}`}},b=s=>{const t=Number(s.spots),a=Number.isFinite(t)&&t>0?t:1;return a===1?"1 spot":`${a} spots`},P=s=>{if(!/^\d{4}-\d{2}-\d{2}$/.test(s))return null;const[t,a,n]=s.split("-").map(Number),r=new Date(t,a-1,n);return Number.isNaN(r.getTime())||r.getFullYear()!==t||r.getMonth()!==a-1||r.getDate()!==n?null:(r.setHours(0,0,0,0),r)},A=s=>{const t=P(String(s.date||"").trim());if(!t)return"";const a=new Date;if(a.setHours(0,0,0,0),t<a)return"This date is in the past. Double-check it before saving.";const n=new Date(a);return n.setFullYear(n.getFullYear()+1),t>n?"This date is more than a year ahead. Double-check it before saving.":""},q=s=>!s.date||!s.startTime||!s.resourceId||!s.pricingOption,j=s=>p.value===s,U=s=>{p.value=p.value===s?null:s};return e.watch(D,s=>{const t=new Set(s.map(a=>a.id));if(p.value&&!t.has(p.value)&&(p.value=null),!p.value){const a=s.find(q);a&&(p.value=a.id)}},{immediate:!0}),(s,t)=>{const a=e.resolveComponent("Button"),n=e.resolveComponent("PopoverTrigger"),r=e.resolveComponent("PopoverContent"),S=e.resolveComponent("Popover"),_=e.resolveComponent("Label"),i=e.resolveComponent("Input"),o=e.resolveComponent("DynamicSelectOption"),c=e.resolveComponent("DynamicSelect");return e.openBlock(),e.createElementBlock("div",Fe,[e.createElementVNode("div",Oe,[e.createElementVNode("p",Pe,e.toDisplayString(D.value.length===1?"1 reservation line":`${D.value.length} reservation lines`),1),e.createElementVNode("div",Me,[e.createVNode(S,{open:V.value,"onUpdate:open":t[0]||(t[0]=l=>V.value=l)},{default:e.withCtx(()=>[e.createVNode(n,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(a,{type:"button",variant:"outline",size:"sm",class:"gap-2"},{default:e.withCtx(()=>[e.createVNode(e.unref(M.Zap),{class:"size-4 text-primary"}),t[2]||(t[2]=e.createTextVNode(" Quick add ",-1))]),_:1})]),_:1}),e.createVNode(r,{align:"end",class:"max-h-[80vh] w-[min(34rem,calc(100vw-2rem))] overflow-y-auto p-0"},{default:e.withCtx(()=>[V.value?(e.openBlock(),e.createBlock(Le,{key:0,surface:"popover",agendaData:w.agendaData,onAdd:O},null,8,["agendaData"])):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["open"]),e.createVNode(a,{type:"button",variant:"outline",size:"sm",onClick:t[1]||(t[1]=l=>E("add"))},{default:e.withCtx(()=>[e.createVNode(e.unref(M.Plus),{class:"size-4"}),t[3]||(t[3]=e.createTextVNode(" Add line ",-1))]),_:1})])]),D.value.length===0?(e.openBlock(),e.createElementBlock("div",Ue," Use Quick add to create filled reservation lines, or add an empty line manually. ")):(e.openBlock(),e.createElementBlock("div",ze,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value,(l,C)=>(e.openBlock(),e.createElementBlock("div",{key:l.id,class:"rounded-xl border bg-background"},[e.createElementVNode("div",Ae,[e.createElementVNode("button",{type:"button",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","aria-expanded":j(l.id),onClick:m=>U(l.id)},[e.createElementVNode("span",je,e.toDisplayString(C+1),1),e.createElementVNode("span",He,[e.createElementVNode("span",Qe,[e.createElementVNode("span",Ye,[e.createElementVNode("span",Ge,e.toDisplayString(u(l)),1),e.createElementVNode("span",Xe,e.toDisplayString(l.date||"No date selected"),1),e.createElementVNode("span",We,e.toDisplayString(d(l))+" · "+e.toDisplayString(z(l)),1)]),e.createElementVNode("span",Ze,[e.createVNode(e.unref(M.Pencil),{class:"size-4"})])]),e.createElementVNode("span",Ke,[e.createElementVNode("span",Je,[e.createVNode(e.unref(M.Users),{class:"size-4"}),e.createTextVNode(" "+e.toDisplayString(b(l)),1)]),e.createElementVNode("span",et,[e.createVNode(e.unref(M.Tag),{class:"size-4"}),e.createTextVNode(" "+e.toDisplayString(h(l.paid)),1)])])])],8,qe),e.createVNode(a,{type:"button",variant:"ghost",size:"icon",class:"mt-1 shrink-0",onClick:m=>I(l.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(M.Trash2),{class:"size-4"})]),_:1},8,["onClick"])]),e.createElementVNode("div",tt,[e.createElementVNode("div",null,[e.createElementVNode("p",ot,"Reservation "+e.toDisplayString(C+1),1),e.createElementVNode("p",nt,e.toDisplayString(d(l))+" · "+e.toDisplayString(z(l)),1)]),e.createVNode(a,{type:"button",variant:"ghost",size:"icon",class:"shrink-0",onClick:m=>I(l.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(M.Trash2),{class:"size-4"})]),_:1},8,["onClick"])]),e.createElementVNode("div",{class:e.normalizeClass(["px-3 pb-3 md:px-4 md:pb-4 overflow-hidden",j(l.id)?"block":"hidden md:block"])},[e.createElementVNode("div",at,[e.createElementVNode("div",rt,[e.createVNode(_,null,{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode("Date",-1)])]),_:1}),e.createVNode(i,{"model-value":l.date,type:"date","onUpdate:modelValue":m=>k(l.id,"date",String(m??""))},null,8,["model-value","onUpdate:modelValue"]),A(l)?(e.openBlock(),e.createElementBlock("p",lt,e.toDisplayString(A(l)),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",st,[e.createVNode(_,{for:`new_reservation_res_line_${C}_time`},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode("Time",-1)])]),_:1},8,["for"]),e.createVNode(i,{id:`new_reservation_res_line_${C}_time`,"model-value":l.startTime,type:"time",class:"reservation-time-input","onUpdate:modelValue":m=>k(l.id,"startTime",String(m??""))},null,8,["id","model-value","onUpdate:modelValue"])]),e.createElementVNode("div",it,[e.createVNode(_,null,{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode("Resource",-1)])]),_:1}),e.createVNode(c,{"model-value":l.resourceId,"wrapper-class":"w-full",class:"w-full",placeholder:"Select resource","onUpdate:modelValue":m=>k(l.id,"resourceId",String(m??""))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.agendaData?.resources||[],m=>(e.openBlock(),e.createBlock(o,{key:m.id,value:m.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["model-value","onUpdate:modelValue"])]),e.createElementVNode("div",ct,[e.createVNode(_,null,{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode("Type",-1)])]),_:1}),e.createVNode(c,{"model-value":l.pricingOption,"wrapper-class":"w-full",class:"w-full",placeholder:"Select type","onUpdate:modelValue":m=>k(l.id,"pricingOption",String(m??""))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.agendaData?.pricingOptions||[],m=>(e.openBlock(),e.createBlock(o,{key:m.id,value:m.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["model-value","onUpdate:modelValue"])]),e.createElementVNode("div",{class:e.normalizeClass(["grid gap-4",T.value?"md:grid-cols-2 xl:grid-cols-2 xl:col-span-1":""])},[T.value?(e.openBlock(),e.createElementBlock("div",dt,[e.createVNode(_,null,{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode("Spots",-1)])]),_:1}),e.createVNode(i,{"model-value":l.spots,type:"number",min:"1",class:"no-spinner","onUpdate:modelValue":m=>$(l.id,m)},null,8,["model-value","onUpdate:modelValue"])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["grid gap-2",T.value?"":"md:col-span-2 xl:col-span-1"])},[e.createVNode(_,null,{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode("Paid",-1)])]),_:1}),e.createVNode(i,{"model-value":l.paid,type:"number",min:"0",step:"1",class:"no-spinner","onUpdate:modelValue":m=>g(l.id,m)},null,8,["model-value","onUpdate:modelValue"])],2)],2)])],2)]))),128))]))])}}}),mt=te._export_sfc(ut,[["__scopeId","data-v-9b860aae"]]),pt={class:"space-y-5 md:mt-5"},ft={class:"space-y-3"},gt={class:"mt-4 text-red-400"},vt={class:"list-disc pl-4"},ht={key:0},_t={key:1},ee="00:00",kt=e.defineComponent({__name:"NewReservationDialog",props:{agendaData:{}},setup(w){const B=w,{params:y}=W.useModuleRoute(),{config:E}=W.useModule(),D=W.useFirebaseIntegration(E.project),T=e.computed(()=>y.value?.id??y.id??""),p=e.inject("agendaData",e.ref({})),V=e.computed(()=>B.agendaData??p.value??{}),N=e.ref(!1),R=e.ref(!1),f=e.ref([]),k=/^([01]\d|2[0-3]):[0-5]\d$/,g=e.ref([]),$=e.ref(null),I=()=>V.value?.resources?.[0]?.id??"",O=()=>V.value?.pricingOptions?.find(t=>t.isDefault===!0)?.id??V.value?.pricingOptions?.[0]?.id??"",F=t=>{let a=t?.pricingOption??O(),n=V.value?.pricingOptions?.find(S=>S.id===a)?.price??0;typeof n=="string"&&(n=Number(n));let r=t?.paid??n;return typeof r=="string"&&(r=Number(r)),{id:`reservation_${Date.now()}_${Math.random().toString(36).substring(2,9)}`,spots:Number(t?.spots)||1,paid:Number.isFinite(r)?r:0,resourceId:t?.resourceId??I(),pricingOption:a,date:t?.date??"",dateValue:t?.dateValue,startTime:t?.startTime??ee}},z=()=>{g.value=[F()]},L=t=>!t.date&&t.startTime===ee,d=()=>{const t=g.value[g.value.length-1];g.value=[...g.value,F(t?{...t}:void 0)]},v=t=>V.value?.pricingOptions?.find(a=>a.id===t.pricingOption),u=t=>V.value?.resources?.find(a=>a.id===t.resourceId),h=()=>{const t=Number(V.value?.maxTicketsPerReservation);return Number.isFinite(t)&&t>0?t:null},b=t=>`Reservation ${t+1}`,P=t=>{const a=String(t.date||"").trim(),n=String(t.startTime||"").trim(),r=String(t.resourceId||"").trim();return!a||!n||!r?"":`${r}_${a}_${n}`},A=()=>{const t=[],a=new Map,n=h();return g.value.forEach((r,S)=>{const _=b(S),i=String(r.date||"").trim(),o=String(r.startTime||"").trim(),c=String(r.resourceId||"").trim(),l=String(r.pricingOption||"").trim(),C=Number(r.spots),m=Number(r.paid);i||t.push(`${_}: please select a date.`),o?k.test(o)||t.push(`${_}: please enter a valid time.`):t.push(`${_}: please select a time.`),c?u(r)||t.push(`${_}: the selected resource is no longer available.`):t.push(`${_}: please select a resource.`),l?v(r)||t.push(`${_}: the selected type is no longer available.`):t.push(`${_}: please select a type.`),!Number.isFinite(C)||C<=0?t.push(`${_}: spots must be at least 1.`):n!==null&&C>n&&t.push(`${_}: spots cannot be more than ${n}.`),(!Number.isFinite(m)||m<0)&&t.push(`${_}: paid amount must be 0 or higher.`);const H=P(r);if(H){const Q=a.get(H);Q!==void 0?t.push(`${_}: duplicate of ${b(Q).toLowerCase()}.`):a.set(H,S)}}),t},q=t=>{const a=t.startTimes.map(n=>F({date:t.date?`${t.date}`:"",dateValue:t.date,pricingOption:t.pricingOptionId,resourceId:t.resourceId,spots:t.spots,startTime:n}));if(a.length!==0){if(g.value.length===1&&L(g.value[0])){g.value=a;return}g.value=[...g.value,...a]}},j=t=>{if(!t.startTime||!t.pricingOption)return"";const a=v(t);if(!a?.duration)return t.startTime;const[n,r]=t.startTime.split(":").map(Number);if(isNaN(n)||isNaN(r))return"";const S=n*60+r+a.duration,_=Math.floor(S/60)%24,i=S%60;return`${_.toString().padStart(2,"0")}:${i.toString().padStart(2,"0")}`};e.watch(N,async t=>{t&&(f.value=[],z(),await e.nextTick(),$.value?.reset())});const U=()=>{const t=[];f.value=[];const a=$.value,n=a?a.validateForm():!1;return a||t.push("Customer information form is unavailable."),g.value.length===0&&t.push("Please add at least one reservation."),t.push(...A()),f.value=t,t.length===0&&n},s=async()=>{const t=$.value;if(!t||!U())return;let a=!1;try{R.value=!0;const n=t.getCustomerInfo(),r=g.value.map(i=>{const o=Number(i.paid)||0,c=Number(i.spots)||1,l=v(i),C=u(i),m=i.date;return{paidAmount:o,flattenedReservationDate:`${i.resourceId}_${m}`,flattenedReservation:`${i.resourceId}_${m}_${i.startTime.replace(":","")}`,reservation:{status:"approved",totalPrice:Number(o.toFixed(2)),basePrice:Number((o/c).toFixed(2)),addOnsPrice:0,addOns:[],date:m,id:`res_${Date.now()}_${Math.random().toString(36).substring(2,9)}`,pricingOption:{duration:l?.duration||"",id:l?.id||"",name:l?.name||"",price:l?.price||""},pricingOptionId:i.pricingOption,resource:{avatarLabel:C?.avatarLabel||"",color:C?.color||"",description:C?.description||"",id:C?.id||"",name:C?.name||""},resourceId:i.resourceId,spots:c,timeslot:{startTime:i.startTime,endTime:j(i)}}}}),S=Number(r.reduce((i,o)=>i+o.paidAmount,0).toFixed(2)),_={agendaId:T.value,customerInfo:n,metadata:{},amountPaid:S,amountDue:0,subtotal:S,total:S,createdAt:new Date,updatedAt:new Date,discount:0,flattenedReservationDates:Array.from(new Set(r.map(i=>i.flattenedReservationDate))),flattenedReservations:r.map(i=>i.flattenedReservation),paymentStatus:"paid",paymentType:"full",reservations:r.map(i=>i.reservation),status:"confirmed"};await D.add(E.reservationsCollection,_),a=!0}catch(n){console.error("Error creating reservation:",n)}finally{R.value=!1,a&&(N.value=!1)}};return(t,a)=>{const n=e.resolveComponent("Button"),r=e.resolveComponent("ResponsiveModalTrigger"),S=e.resolveComponent("ResponsiveModalTitle"),_=e.resolveComponent("ResponsiveModalHeader"),i=e.resolveComponent("ResponsiveModalFooter"),o=e.resolveComponent("ResponsiveModalScrollContent"),c=e.resolveComponent("ResponsiveModal");return e.openBlock(),e.createBlock(c,{open:N.value,"onUpdate:open":a[1]||(a[1]=l=>N.value=l)},{default:e.withCtx(()=>[e.createVNode(r,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(n,null,{default:e.withCtx(()=>[e.createVNode(e.unref(M.Plus),{class:"size-4"}),a[2]||(a[2]=e.createTextVNode(" Add Reservation ",-1))]),_:1})]),_:1}),e.createVNode(o,{class:"@container/modal sm:max-w-7xl"},{default:e.withCtx(()=>[e.createVNode(_,null,{default:e.withCtx(()=>[e.createVNode(S,null,{default:e.withCtx(()=>[...a[3]||(a[3]=[e.createTextVNode("Create new reservation",-1)])]),_:1})]),_:1}),e.createElementVNode("div",pt,[e.createVNode(me,{ref_key:"customerInformationRef",ref:$,agendaData:V.value},null,8,["agendaData"]),a[5]||(a[5]=e.createElementVNode("div",{class:"w-full h-[1px] bg-border my-8"},null,-1)),e.createElementVNode("div",ft,[a[4]||(a[4]=e.createElementVNode("div",{class:"flex items-center justify-between gap-3"},[e.createElementVNode("h2",{class:"text-sm font-medium"},"Reservations")],-1)),e.createVNode(mt,{modelValue:g.value,"onUpdate:modelValue":a[0]||(a[0]=l=>g.value=l),agendaData:V.value,onAdd:d,onQuickAdd:q},null,8,["modelValue","agendaData"])]),e.createElementVNode("div",gt,[e.createElementVNode("ul",vt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,l=>(e.openBlock(),e.createElementBlock("li",{key:l},e.toDisplayString(l),1))),128))])])]),e.createVNode(i,{class:"gap-2"},{default:e.withCtx(()=>[e.createVNode(n,{onClick:s,disabled:R.value},{default:e.withCtx(()=>[R.value?(e.openBlock(),e.createElementBlock("span",ht,"Creating...")):(e.openBlock(),e.createElementBlock("span",_t,e.toDisplayString(g.value.length>1?`Create ${g.value.length} reservations`:"Create reservation"),1))]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])}}});exports._sfc_main=kt;
|