@innosolutions/inno-calendar 1.0.60 → 1.0.62
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/AGENT.md +31 -4
- package/dist/{agenda-widget-COpTIR70.js → agenda-widget-Couk7jMB.js} +1314 -1296
- package/dist/agenda-widget-Couk7jMB.js.map +1 -0
- package/dist/agenda-widget-DZkEXTh-.cjs +2 -0
- package/dist/agenda-widget-DZkEXTh-.cjs.map +1 -0
- package/dist/components/event/event-card.d.ts.map +1 -1
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.mjs +2 -2
- package/dist/components/primitives/scroll-navigator.d.ts +3 -1
- package/dist/components/primitives/scroll-navigator.d.ts.map +1 -1
- package/dist/components/views/timeline-view.d.ts +1 -1
- package/dist/components/views/timeline-view.d.ts.map +1 -1
- package/dist/core/context/slot-selection-context.d.ts +2 -0
- package/dist/core/context/slot-selection-context.d.ts.map +1 -1
- package/dist/core/index.cjs +1 -1
- package/dist/core/index.mjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +4 -4
- package/dist/presets/index.cjs +1 -1
- package/dist/presets/index.mjs +1 -1
- package/dist/slot-selection-context-CRstOosL.js +604 -0
- package/dist/{slot-selection-context-CKGT_45R.js.map → slot-selection-context-CRstOosL.js.map} +1 -1
- package/dist/slot-selection-context-DBCZI2Dn.cjs +2 -0
- package/dist/{slot-selection-context-CS1te8uo.cjs.map → slot-selection-context-DBCZI2Dn.cjs.map} +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/{tailwind-calendar-C3DidCJ5.js → tailwind-calendar-CNhXkxzW.js} +2 -2
- package/dist/{tailwind-calendar-C3DidCJ5.js.map → tailwind-calendar-CNhXkxzW.js.map} +1 -1
- package/dist/{tailwind-calendar-iFeIx0Ci.cjs → tailwind-calendar-VRvPJQwa.cjs} +2 -2
- package/dist/{tailwind-calendar-iFeIx0Ci.cjs.map → tailwind-calendar-VRvPJQwa.cjs.map} +1 -1
- package/dist/week-view-C1Vu2ErD.cjs +11 -0
- package/dist/week-view-C1Vu2ErD.cjs.map +1 -0
- package/dist/{week-view-CNbtlkE_.js → week-view-DY167Wok.js} +700 -670
- package/dist/week-view-DY167Wok.js.map +1 -0
- package/package.json +1 -1
- package/dist/agenda-widget-BtjS59HE.cjs +0 -2
- package/dist/agenda-widget-BtjS59HE.cjs.map +0 -1
- package/dist/agenda-widget-COpTIR70.js.map +0 -1
- package/dist/slot-selection-context-CKGT_45R.js +0 -598
- package/dist/slot-selection-context-CS1te8uo.cjs +0 -2
- package/dist/week-view-B9_48WmF.cjs +0 -11
- package/dist/week-view-B9_48WmF.cjs.map +0 -1
- package/dist/week-view-CNbtlkE_.js.map +0 -1
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { jsxs as o, jsx as e, Fragment as
|
|
2
|
-
import * as
|
|
3
|
-
import { forwardRef as
|
|
1
|
+
import { jsxs as o, jsx as e, Fragment as Be } from "react/jsx-runtime";
|
|
2
|
+
import * as X from "react";
|
|
3
|
+
import { forwardRef as je, createElement as $e, useState as Z, useEffect as ke, useCallback as L, useRef as re, useMemo as q, useLayoutEffect as Fe } from "react";
|
|
4
4
|
import { c as s, a as Dt } from "./index-DtaLkIY8.js";
|
|
5
|
-
import * as
|
|
6
|
-
import { U as
|
|
7
|
-
import { j as
|
|
5
|
+
import * as K from "@radix-ui/react-dropdown-menu";
|
|
6
|
+
import { U as Y, aI as Ct, a7 as St, ad as Mt, ao as Tt, az as ce, x as ze, av as ie, a8 as Ve, aK as it, v as lt, ah as dt, aB as ct, V as Ae, Z as zt, aQ as Xe, ai as At } from "./position-utils-DMVQFywD.js";
|
|
7
|
+
import { j as Ge, k as ut, l as Ue } from "./slot-selection-context-CRstOosL.js";
|
|
8
8
|
import * as V from "@radix-ui/react-dialog";
|
|
9
9
|
import * as ge from "@radix-ui/react-popover";
|
|
10
10
|
import * as De from "@radix-ui/react-tooltip";
|
|
11
|
-
const
|
|
11
|
+
const mt = (...t) => t.filter((n, r, a) => !!n && n.trim() !== "" && a.indexOf(n) === r).join(" ").trim();
|
|
12
12
|
const Et = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
13
13
|
const Lt = (t) => t.replace(
|
|
14
14
|
/^([A-Z])|[\s-_]+(\w)/g,
|
|
15
15
|
(n, r, a) => a ? a.toUpperCase() : r.toLowerCase()
|
|
16
16
|
);
|
|
17
|
-
const
|
|
17
|
+
const Ye = (t) => {
|
|
18
18
|
const n = Lt(t);
|
|
19
19
|
return n.charAt(0).toUpperCase() + n.slice(1);
|
|
20
20
|
};
|
|
@@ -35,7 +35,7 @@ const Rt = (t) => {
|
|
|
35
35
|
return !0;
|
|
36
36
|
return !1;
|
|
37
37
|
};
|
|
38
|
-
const _t =
|
|
38
|
+
const _t = je(
|
|
39
39
|
({
|
|
40
40
|
color: t = "currentColor",
|
|
41
41
|
size: n = 24,
|
|
@@ -45,39 +45,39 @@ const _t = Pe(
|
|
|
45
45
|
children: p,
|
|
46
46
|
iconNode: i,
|
|
47
47
|
...y
|
|
48
|
-
},
|
|
48
|
+
}, C) => $e(
|
|
49
49
|
"svg",
|
|
50
50
|
{
|
|
51
|
-
ref:
|
|
51
|
+
ref: C,
|
|
52
52
|
...Wt,
|
|
53
53
|
width: n,
|
|
54
54
|
height: n,
|
|
55
55
|
stroke: t,
|
|
56
56
|
strokeWidth: a ? Number(r) * 24 / Number(n) : r,
|
|
57
|
-
className:
|
|
57
|
+
className: mt("lucide", d),
|
|
58
58
|
...!p && !Rt(y) && { "aria-hidden": "true" },
|
|
59
59
|
...y
|
|
60
60
|
},
|
|
61
61
|
[
|
|
62
|
-
...i.map(([l, b]) =>
|
|
62
|
+
...i.map(([l, b]) => $e(l, b)),
|
|
63
63
|
...Array.isArray(p) ? p : [p]
|
|
64
64
|
]
|
|
65
65
|
)
|
|
66
66
|
);
|
|
67
67
|
const We = (t, n) => {
|
|
68
|
-
const r =
|
|
69
|
-
({ className: a, ...d }, p) =>
|
|
68
|
+
const r = je(
|
|
69
|
+
({ className: a, ...d }, p) => $e(_t, {
|
|
70
70
|
ref: p,
|
|
71
71
|
iconNode: n,
|
|
72
|
-
className:
|
|
73
|
-
`lucide-${Et(
|
|
72
|
+
className: mt(
|
|
73
|
+
`lucide-${Et(Ye(t))}`,
|
|
74
74
|
`lucide-${t}`,
|
|
75
75
|
a
|
|
76
76
|
),
|
|
77
77
|
...d
|
|
78
78
|
})
|
|
79
79
|
);
|
|
80
|
-
return r.displayName =
|
|
80
|
+
return r.displayName = Ye(t), r;
|
|
81
81
|
};
|
|
82
82
|
const It = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]], Bt = We("check", It);
|
|
83
83
|
const $t = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]], Ht = We("chevron-right", $t);
|
|
@@ -85,7 +85,7 @@ const Ot = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]], Pt = We
|
|
|
85
85
|
const jt = [
|
|
86
86
|
["path", { d: "M18 6 6 18", key: "1bl5f8" }],
|
|
87
87
|
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
|
|
88
|
-
],
|
|
88
|
+
], ht = We("x", jt), Ft = V.Root, Vt = V.Trigger, Gt = V.Portal, Gn = V.Close, pt = X.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
|
|
89
89
|
V.Overlay,
|
|
90
90
|
{
|
|
91
91
|
ref: r,
|
|
@@ -96,9 +96,9 @@ const jt = [
|
|
|
96
96
|
...n
|
|
97
97
|
}
|
|
98
98
|
));
|
|
99
|
-
|
|
100
|
-
const
|
|
101
|
-
/* @__PURE__ */ e(
|
|
99
|
+
pt.displayName = V.Overlay.displayName;
|
|
100
|
+
const ft = X.forwardRef(({ className: t, children: n, ...r }, a) => /* @__PURE__ */ o(Gt, { children: [
|
|
101
|
+
/* @__PURE__ */ e(pt, {}),
|
|
102
102
|
/* @__PURE__ */ o(
|
|
103
103
|
V.Content,
|
|
104
104
|
{
|
|
@@ -111,14 +111,14 @@ const pt = Y.forwardRef(({ className: t, children: n, ...r }, a) => /* @__PURE__
|
|
|
111
111
|
children: [
|
|
112
112
|
n,
|
|
113
113
|
/* @__PURE__ */ o(V.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
|
|
114
|
-
/* @__PURE__ */ e(
|
|
114
|
+
/* @__PURE__ */ e(ht, { className: "size-4" }),
|
|
115
115
|
/* @__PURE__ */ e("span", { className: "sr-only", children: "Close" })
|
|
116
116
|
] })
|
|
117
117
|
]
|
|
118
118
|
}
|
|
119
119
|
)
|
|
120
120
|
] }));
|
|
121
|
-
|
|
121
|
+
ft.displayName = V.Content.displayName;
|
|
122
122
|
const Ut = ({
|
|
123
123
|
className: t,
|
|
124
124
|
...n
|
|
@@ -130,7 +130,7 @@ const Ut = ({
|
|
|
130
130
|
}
|
|
131
131
|
);
|
|
132
132
|
Ut.displayName = "DialogHeader";
|
|
133
|
-
const qt =
|
|
133
|
+
const qt = X.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
|
|
134
134
|
V.Title,
|
|
135
135
|
{
|
|
136
136
|
ref: r,
|
|
@@ -139,7 +139,7 @@ const qt = Y.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
|
|
|
139
139
|
}
|
|
140
140
|
));
|
|
141
141
|
qt.displayName = V.Title.displayName;
|
|
142
|
-
const Kt =
|
|
142
|
+
const Kt = X.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
|
|
143
143
|
V.Description,
|
|
144
144
|
{
|
|
145
145
|
ref: r,
|
|
@@ -148,7 +148,7 @@ const Kt = Y.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
|
|
|
148
148
|
}
|
|
149
149
|
));
|
|
150
150
|
Kt.displayName = V.Description.displayName;
|
|
151
|
-
const ue = ge.Root, me = ge.Trigger, Un = ge.Anchor, le =
|
|
151
|
+
const ue = ge.Root, me = ge.Trigger, Un = ge.Anchor, le = X.forwardRef(({ className: t, align: n = "center", sideOffset: r = 4, ...a }, d) => /* @__PURE__ */ e(ge.Portal, { children: /* @__PURE__ */ e(
|
|
152
152
|
ge.Content,
|
|
153
153
|
{
|
|
154
154
|
ref: d,
|
|
@@ -162,7 +162,7 @@ const ue = ge.Root, me = ge.Trigger, Un = ge.Anchor, le = Y.forwardRef(({ classN
|
|
|
162
162
|
}
|
|
163
163
|
) }));
|
|
164
164
|
le.displayName = ge.Content.displayName;
|
|
165
|
-
const Xt = V.Root, Yt = V.Trigger, qn = V.Close, Jt = V.Portal,
|
|
165
|
+
const Xt = V.Root, Yt = V.Trigger, qn = V.Close, Jt = V.Portal, gt = X.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
|
|
166
166
|
V.Overlay,
|
|
167
167
|
{
|
|
168
168
|
className: s(
|
|
@@ -173,9 +173,9 @@ const Xt = V.Root, Yt = V.Trigger, qn = V.Close, Jt = V.Portal, ft = Y.forwardRe
|
|
|
173
173
|
ref: r
|
|
174
174
|
}
|
|
175
175
|
));
|
|
176
|
-
|
|
177
|
-
const
|
|
178
|
-
/* @__PURE__ */ e(
|
|
176
|
+
gt.displayName = V.Overlay.displayName;
|
|
177
|
+
const xt = X.forwardRef(({ className: t, children: n, ...r }, a) => /* @__PURE__ */ o(Jt, { children: [
|
|
178
|
+
/* @__PURE__ */ e(gt, {}),
|
|
179
179
|
/* @__PURE__ */ o(
|
|
180
180
|
V.Content,
|
|
181
181
|
{
|
|
@@ -190,14 +190,14 @@ const gt = Y.forwardRef(({ className: t, children: n, ...r }, a) => /* @__PURE__
|
|
|
190
190
|
children: [
|
|
191
191
|
n,
|
|
192
192
|
/* @__PURE__ */ o(V.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
|
|
193
|
-
/* @__PURE__ */ e(
|
|
193
|
+
/* @__PURE__ */ e(ht, { className: "size-4" }),
|
|
194
194
|
/* @__PURE__ */ e("span", { className: "sr-only", children: "Close" })
|
|
195
195
|
] })
|
|
196
196
|
]
|
|
197
197
|
}
|
|
198
198
|
)
|
|
199
199
|
] }));
|
|
200
|
-
|
|
200
|
+
xt.displayName = "SheetContent";
|
|
201
201
|
const Zt = ({
|
|
202
202
|
className: t,
|
|
203
203
|
...n
|
|
@@ -209,7 +209,7 @@ const Zt = ({
|
|
|
209
209
|
}
|
|
210
210
|
);
|
|
211
211
|
Zt.displayName = "SheetHeader";
|
|
212
|
-
const Qt =
|
|
212
|
+
const Qt = X.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
|
|
213
213
|
V.Title,
|
|
214
214
|
{
|
|
215
215
|
ref: r,
|
|
@@ -218,7 +218,7 @@ const Qt = Y.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
|
|
|
218
218
|
}
|
|
219
219
|
));
|
|
220
220
|
Qt.displayName = V.Title.displayName;
|
|
221
|
-
const en =
|
|
221
|
+
const en = X.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
|
|
222
222
|
V.Description,
|
|
223
223
|
{
|
|
224
224
|
ref: r,
|
|
@@ -227,7 +227,7 @@ const en = Y.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
|
|
|
227
227
|
}
|
|
228
228
|
));
|
|
229
229
|
en.displayName = V.Description.displayName;
|
|
230
|
-
const Kn = De.Provider, ae = De.Root, se = De.Trigger,
|
|
230
|
+
const Kn = De.Provider, ae = De.Root, se = De.Trigger, oe = X.forwardRef(({ className: t, sideOffset: n = 4, ...r }, a) => /* @__PURE__ */ e(
|
|
231
231
|
De.Content,
|
|
232
232
|
{
|
|
233
233
|
ref: a,
|
|
@@ -239,7 +239,7 @@ const Kn = De.Provider, ae = De.Root, se = De.Trigger, re = Y.forwardRef(({ clas
|
|
|
239
239
|
...r
|
|
240
240
|
}
|
|
241
241
|
));
|
|
242
|
-
|
|
242
|
+
oe.displayName = De.Content.displayName;
|
|
243
243
|
function de(t) {
|
|
244
244
|
return {
|
|
245
245
|
blue: {
|
|
@@ -324,7 +324,7 @@ function de(t) {
|
|
|
324
324
|
}
|
|
325
325
|
}[t ?? "blue"];
|
|
326
326
|
}
|
|
327
|
-
function
|
|
327
|
+
function yt(t) {
|
|
328
328
|
const n = new Date(t);
|
|
329
329
|
return n.setHours(0, 0, 0, 0), n;
|
|
330
330
|
}
|
|
@@ -337,7 +337,7 @@ function Ee({
|
|
|
337
337
|
showTime: p = !0,
|
|
338
338
|
showDescription: i = !1,
|
|
339
339
|
showParticipants: y = !1,
|
|
340
|
-
style:
|
|
340
|
+
style: C,
|
|
341
341
|
disablePopover: l = !1,
|
|
342
342
|
renderPopover: b,
|
|
343
343
|
enableDrag: v = !1,
|
|
@@ -346,106 +346,106 @@ function Ee({
|
|
|
346
346
|
eventDetailMode: f = "popover",
|
|
347
347
|
renderEventDetail: N
|
|
348
348
|
}) {
|
|
349
|
-
const g = de(t.color), [W,
|
|
349
|
+
const g = de(t.color), [W, S] = Z(!1), [T, I] = Z(!1), [G, F] = Z(!1), [O, A] = Z(null), E = re(null), $ = Ge(), P = ut();
|
|
350
350
|
ke(() => {
|
|
351
|
-
if (!l &&
|
|
352
|
-
const
|
|
353
|
-
|
|
351
|
+
if (!l && P?.focusEventId && P.focusEventId === t.id) {
|
|
352
|
+
const U = setTimeout(() => {
|
|
353
|
+
S(!0), P.clearFocusEventId();
|
|
354
354
|
}, 300);
|
|
355
|
-
return () => clearTimeout(
|
|
355
|
+
return () => clearTimeout(U);
|
|
356
356
|
}
|
|
357
|
-
}, [
|
|
358
|
-
const
|
|
359
|
-
if (!
|
|
357
|
+
}, [P?.focusEventId, t.id, l]);
|
|
358
|
+
const k = t.endDate < yt(/* @__PURE__ */ new Date()), h = t.isCanceled ?? !1, R = v && $ && !h && !k, _ = t.data, B = _?.meetingTookPlace ?? t.meetingTookPlace ?? !1, w = h ? /* @__PURE__ */ e(nn, { className: "h-3 w-3 text-zinc-800 dark:text-zinc-200" }) : B ? /* @__PURE__ */ e(tn, { className: s("h-3 w-3", g.text) }) : null, c = _?.productName, m = _?.extendedProps, M = _?.nrParticipant, D = _?.siteName, H = _?.siteCity, Q = !!D || !!H, z = L(() => {
|
|
359
|
+
if (!T) {
|
|
360
360
|
if (l && a) {
|
|
361
361
|
a(t);
|
|
362
362
|
return;
|
|
363
363
|
}
|
|
364
364
|
if (u && E.current) {
|
|
365
|
-
const
|
|
366
|
-
|
|
367
|
-
} else l ||
|
|
365
|
+
const U = E.current.getBoundingClientRect();
|
|
366
|
+
A(U), F(!0);
|
|
367
|
+
} else l || S(!0);
|
|
368
368
|
}
|
|
369
|
-
}, [
|
|
369
|
+
}, [T, l, a, t, u]);
|
|
370
370
|
L(() => {
|
|
371
|
-
|
|
371
|
+
F(!1), A(null), l || S(!0);
|
|
372
372
|
}, [l]);
|
|
373
|
-
const
|
|
374
|
-
|
|
375
|
-
}, []),
|
|
376
|
-
(
|
|
377
|
-
|
|
373
|
+
const j = L(() => {
|
|
374
|
+
S(!1);
|
|
375
|
+
}, []), te = L(
|
|
376
|
+
(U) => {
|
|
377
|
+
R && (U.dataTransfer.effectAllowed = "move", U.dataTransfer.setData("text/plain", t.id), I(!0), $?.startDrag?.(t));
|
|
378
378
|
},
|
|
379
|
-
[
|
|
380
|
-
),
|
|
381
|
-
|
|
382
|
-
}, [
|
|
379
|
+
[R, t, $]
|
|
380
|
+
), J = L(() => {
|
|
381
|
+
I(!1), $?.isDragging && $.endDrag?.();
|
|
382
|
+
}, [$]), ee = N ? N({ event: t, onClose: j }) : b ? b({ event: t, onClose: j }) : /* @__PURE__ */ e(Ke, { event: t, onClose: j }), xe = (U) => {
|
|
383
383
|
switch (f) {
|
|
384
384
|
case "dialog":
|
|
385
|
-
return /* @__PURE__ */ o(Ft, { open: W, onOpenChange:
|
|
386
|
-
/* @__PURE__ */ e(Vt, { asChild: !0, children:
|
|
387
|
-
/* @__PURE__ */ e(
|
|
385
|
+
return /* @__PURE__ */ o(Ft, { open: W, onOpenChange: S, children: [
|
|
386
|
+
/* @__PURE__ */ e(Vt, { asChild: !0, children: U }),
|
|
387
|
+
/* @__PURE__ */ e(ft, { className: "sm:max-w-md", children: ee })
|
|
388
388
|
] });
|
|
389
389
|
case "sheet":
|
|
390
|
-
return /* @__PURE__ */ o(Xt, { open: W, onOpenChange:
|
|
391
|
-
/* @__PURE__ */ e(Yt, { asChild: !0, children:
|
|
392
|
-
/* @__PURE__ */ e(
|
|
390
|
+
return /* @__PURE__ */ o(Xt, { open: W, onOpenChange: S, children: [
|
|
391
|
+
/* @__PURE__ */ e(Yt, { asChild: !0, children: U }),
|
|
392
|
+
/* @__PURE__ */ e(xt, { children: ee })
|
|
393
393
|
] });
|
|
394
394
|
case "custom":
|
|
395
|
-
return
|
|
395
|
+
return U;
|
|
396
396
|
default:
|
|
397
|
-
return /* @__PURE__ */ o(ue, { open: W, onOpenChange:
|
|
398
|
-
/* @__PURE__ */ e(me, { asChild: !0, children:
|
|
397
|
+
return /* @__PURE__ */ o(ue, { open: W, onOpenChange: S, children: [
|
|
398
|
+
/* @__PURE__ */ e(me, { asChild: !0, children: U }),
|
|
399
399
|
/* @__PURE__ */ e(le, { className: "w-80", children: ee })
|
|
400
400
|
] });
|
|
401
401
|
}
|
|
402
402
|
};
|
|
403
403
|
if (n === "dot") {
|
|
404
|
-
const
|
|
404
|
+
const U = /* @__PURE__ */ e(
|
|
405
405
|
"button",
|
|
406
406
|
{
|
|
407
407
|
type: "button",
|
|
408
|
-
onClick:
|
|
408
|
+
onClick: z,
|
|
409
409
|
className: s(
|
|
410
410
|
"size-2 rounded-full cursor-pointer transition-opacity",
|
|
411
411
|
g.dot,
|
|
412
412
|
t.isCanceled && "opacity-50",
|
|
413
413
|
d
|
|
414
414
|
),
|
|
415
|
-
style:
|
|
415
|
+
style: C,
|
|
416
416
|
"aria-label": Ct(t.title)
|
|
417
417
|
}
|
|
418
418
|
);
|
|
419
419
|
return l ? /* @__PURE__ */ o(ae, { children: [
|
|
420
|
-
/* @__PURE__ */ e(se, { asChild: !0, children:
|
|
421
|
-
/* @__PURE__ */ e(
|
|
420
|
+
/* @__PURE__ */ e(se, { asChild: !0, children: U }),
|
|
421
|
+
/* @__PURE__ */ e(oe, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
|
|
422
422
|
/* @__PURE__ */ e("div", { className: "font-medium", children: t.title }),
|
|
423
|
-
/* @__PURE__ */ e("div", { className: "text-xs opacity-80", children:
|
|
423
|
+
/* @__PURE__ */ e("div", { className: "text-xs opacity-80", children: Y(t) })
|
|
424
424
|
] }) })
|
|
425
425
|
] }) : xe(
|
|
426
426
|
/* @__PURE__ */ o(ae, { children: [
|
|
427
|
-
/* @__PURE__ */ e(se, { asChild: !0, children:
|
|
428
|
-
/* @__PURE__ */ e(
|
|
427
|
+
/* @__PURE__ */ e(se, { asChild: !0, children: U }),
|
|
428
|
+
/* @__PURE__ */ e(oe, { children: /* @__PURE__ */ e("div", { className: "font-medium", children: t.title }) })
|
|
429
429
|
] })
|
|
430
430
|
);
|
|
431
431
|
}
|
|
432
432
|
if (n === "compact") {
|
|
433
|
-
const
|
|
433
|
+
const U = /* @__PURE__ */ o(
|
|
434
434
|
"div",
|
|
435
435
|
{
|
|
436
436
|
role: "button",
|
|
437
437
|
tabIndex: 0,
|
|
438
|
-
draggable: !!
|
|
439
|
-
onDragStart:
|
|
440
|
-
onDragEnd:
|
|
441
|
-
onClick: l ?
|
|
438
|
+
draggable: !!R,
|
|
439
|
+
onDragStart: te,
|
|
440
|
+
onDragEnd: J,
|
|
441
|
+
onClick: l ? z : void 0,
|
|
442
442
|
onKeyDown: (be) => {
|
|
443
|
-
(be.key === "Enter" || be.key === " ") && (be.preventDefault(),
|
|
443
|
+
(be.key === "Enter" || be.key === " ") && (be.preventDefault(), z());
|
|
444
444
|
},
|
|
445
445
|
className: s(
|
|
446
446
|
"group flex w-full relative items-center shadow-[0_0_1px_rgba(0,0,0,0.3)] gap-0 rounded px-1.5 py-1 text-left text-xs transition-colors hover:opacity-80",
|
|
447
|
-
|
|
448
|
-
|
|
447
|
+
R ? "cursor-grab active:cursor-grabbing" : "cursor-pointer",
|
|
448
|
+
T && "opacity-50",
|
|
449
449
|
// Cancelled events get gray background with strikethrough
|
|
450
450
|
h ? "bg-zinc-100 dark:bg-zinc-800 text-zinc-500 dark:text-zinc-400 line-through" : [
|
|
451
451
|
r === "colored" && [g.bg, g.text],
|
|
@@ -454,7 +454,7 @@ function Ee({
|
|
|
454
454
|
],
|
|
455
455
|
d
|
|
456
456
|
),
|
|
457
|
-
style:
|
|
457
|
+
style: C,
|
|
458
458
|
children: [
|
|
459
459
|
["dot", "mixed"].includes(r) && !h && /* @__PURE__ */ e(
|
|
460
460
|
"svg",
|
|
@@ -492,7 +492,7 @@ function Ee({
|
|
|
492
492
|
"w-fit mt-0.5 text-[10px] px-1 py-0.5 border border-dashed rounded-full font-medium",
|
|
493
493
|
g.border
|
|
494
494
|
),
|
|
495
|
-
children:
|
|
495
|
+
children: Y(t)
|
|
496
496
|
}
|
|
497
497
|
)
|
|
498
498
|
] }) }),
|
|
@@ -501,18 +501,18 @@ function Ee({
|
|
|
501
501
|
}
|
|
502
502
|
);
|
|
503
503
|
return l ? /* @__PURE__ */ o(ae, { children: [
|
|
504
|
-
/* @__PURE__ */ e(se, { asChild: !0, children:
|
|
505
|
-
/* @__PURE__ */ e(
|
|
504
|
+
/* @__PURE__ */ e(se, { asChild: !0, children: U }),
|
|
505
|
+
/* @__PURE__ */ e(oe, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
|
|
506
506
|
/* @__PURE__ */ e("div", { className: "font-medium", children: t.title }),
|
|
507
|
-
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children:
|
|
507
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: Y(t) })
|
|
508
508
|
] }) })
|
|
509
|
-
] }) : xe(
|
|
509
|
+
] }) : xe(U);
|
|
510
510
|
}
|
|
511
511
|
const ye = /* @__PURE__ */ o(
|
|
512
512
|
"button",
|
|
513
513
|
{
|
|
514
514
|
type: "button",
|
|
515
|
-
onClick:
|
|
515
|
+
onClick: z,
|
|
516
516
|
className: s(
|
|
517
517
|
"group relative flex w-full flex-col gap-1 rounded-md border-l-[3px] px-2 py-1.5 text-left transition-all",
|
|
518
518
|
"shadow-[0_1px_3px_rgba(0,0,0,0.08)] hover:shadow-[0_2px_6px_rgba(0,0,0,0.12)]",
|
|
@@ -533,7 +533,7 @@ function Ee({
|
|
|
533
533
|
],
|
|
534
534
|
d
|
|
535
535
|
),
|
|
536
|
-
style:
|
|
536
|
+
style: C,
|
|
537
537
|
children: [
|
|
538
538
|
/* @__PURE__ */ o("div", { className: "flex items-start justify-between gap-1", children: [
|
|
539
539
|
/* @__PURE__ */ o("div", { className: "flex items-center gap-1.5 min-w-0", children: [
|
|
@@ -564,9 +564,9 @@ function Ee({
|
|
|
564
564
|
w
|
|
565
565
|
] }),
|
|
566
566
|
c && /* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground truncate", children: c }),
|
|
567
|
-
m && m.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-col text-xs text-muted-foreground", children: m.map((
|
|
567
|
+
m && m.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-col text-xs text-muted-foreground", children: m.map((U, be) => /* @__PURE__ */ e("div", { children: U }, be)) }),
|
|
568
568
|
M != null && M > 0 && /* @__PURE__ */ o("div", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
|
|
569
|
-
/* @__PURE__ */ e(
|
|
569
|
+
/* @__PURE__ */ e(He, { className: "h-3 w-3 shrink-0" }),
|
|
570
570
|
/* @__PURE__ */ o("span", { children: [
|
|
571
571
|
M,
|
|
572
572
|
" participant",
|
|
@@ -574,34 +574,34 @@ function Ee({
|
|
|
574
574
|
] })
|
|
575
575
|
] }),
|
|
576
576
|
p && /* @__PURE__ */ o("div", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
|
|
577
|
-
/* @__PURE__ */ e(
|
|
578
|
-
/* @__PURE__ */ e("span", { children:
|
|
577
|
+
/* @__PURE__ */ e(qe, { className: "h-3 w-3 shrink-0" }),
|
|
578
|
+
/* @__PURE__ */ e("span", { children: Y(t) })
|
|
579
579
|
] }),
|
|
580
|
-
|
|
581
|
-
/* @__PURE__ */ e(
|
|
580
|
+
Q && /* @__PURE__ */ o("div", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
|
|
581
|
+
/* @__PURE__ */ e(bt, { className: "h-3 w-3 shrink-0" }),
|
|
582
582
|
/* @__PURE__ */ o("span", { className: "truncate", children: [
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
583
|
+
D,
|
|
584
|
+
D && H ? ", " : "",
|
|
585
|
+
H
|
|
586
586
|
] })
|
|
587
587
|
] }),
|
|
588
588
|
i && t.description && /* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground line-clamp-2", children: t.description }),
|
|
589
589
|
y && t.participants && t.participants.length > 0 && /* @__PURE__ */ o("div", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
|
|
590
|
-
/* @__PURE__ */ e(
|
|
591
|
-
/* @__PURE__ */ e("span", { className: "truncate", children: t.participants.map((
|
|
590
|
+
/* @__PURE__ */ e(He, { className: "h-3 w-3 shrink-0" }),
|
|
591
|
+
/* @__PURE__ */ e("span", { className: "truncate", children: t.participants.map((U) => U.name).join(", ") })
|
|
592
592
|
] })
|
|
593
593
|
]
|
|
594
594
|
}
|
|
595
595
|
);
|
|
596
596
|
return l ? /* @__PURE__ */ o(ae, { children: [
|
|
597
597
|
/* @__PURE__ */ e(se, { asChild: !0, children: ye }),
|
|
598
|
-
/* @__PURE__ */ e(
|
|
598
|
+
/* @__PURE__ */ e(oe, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
|
|
599
599
|
/* @__PURE__ */ e("div", { className: "font-medium", children: t.title }),
|
|
600
|
-
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children:
|
|
600
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: Y(t) })
|
|
601
601
|
] }) })
|
|
602
602
|
] }) : xe(ye);
|
|
603
603
|
}
|
|
604
|
-
function
|
|
604
|
+
function qe({ className: t }) {
|
|
605
605
|
return /* @__PURE__ */ o(
|
|
606
606
|
"svg",
|
|
607
607
|
{
|
|
@@ -655,7 +655,7 @@ function nn({ className: t }) {
|
|
|
655
655
|
}
|
|
656
656
|
);
|
|
657
657
|
}
|
|
658
|
-
function
|
|
658
|
+
function He({ className: t }) {
|
|
659
659
|
return /* @__PURE__ */ o(
|
|
660
660
|
"svg",
|
|
661
661
|
{
|
|
@@ -676,7 +676,7 @@ function $e({ className: t }) {
|
|
|
676
676
|
}
|
|
677
677
|
);
|
|
678
678
|
}
|
|
679
|
-
function
|
|
679
|
+
function bt({ className: t }) {
|
|
680
680
|
return /* @__PURE__ */ o(
|
|
681
681
|
"svg",
|
|
682
682
|
{
|
|
@@ -695,7 +695,7 @@ function yt({ className: t }) {
|
|
|
695
695
|
}
|
|
696
696
|
);
|
|
697
697
|
}
|
|
698
|
-
function
|
|
698
|
+
function Ke({
|
|
699
699
|
event: t,
|
|
700
700
|
onClose: n
|
|
701
701
|
}) {
|
|
@@ -715,8 +715,8 @@ function qe({
|
|
|
715
715
|
}
|
|
716
716
|
),
|
|
717
717
|
/* @__PURE__ */ o("div", { className: "flex items-center gap-1 text-sm text-muted-foreground mt-1", children: [
|
|
718
|
-
/* @__PURE__ */ e(
|
|
719
|
-
/* @__PURE__ */ e("span", { className: "tabular-nums", children:
|
|
718
|
+
/* @__PURE__ */ e(qe, { className: "h-4 w-4 shrink-0" }),
|
|
719
|
+
/* @__PURE__ */ e("span", { className: "tabular-nums", children: Y(t) })
|
|
720
720
|
] })
|
|
721
721
|
] })
|
|
722
722
|
] }),
|
|
@@ -737,7 +737,7 @@ function qe({
|
|
|
737
737
|
) })
|
|
738
738
|
] });
|
|
739
739
|
}
|
|
740
|
-
function
|
|
740
|
+
function wt({
|
|
741
741
|
event: t,
|
|
742
742
|
position: n,
|
|
743
743
|
hourHeight: r = 96,
|
|
@@ -746,72 +746,73 @@ function bt({
|
|
|
746
746
|
className: p,
|
|
747
747
|
disablePopover: i = !1,
|
|
748
748
|
renderPopover: y,
|
|
749
|
-
enableDrag:
|
|
749
|
+
enableDrag: C = !0
|
|
750
750
|
}) {
|
|
751
|
-
const l = de(t.color), [b, v] =
|
|
751
|
+
const l = de(t.color), [b, v] = Z(!1), [u, x] = Z(!1), f = Ge(), N = ut();
|
|
752
752
|
ke(() => {
|
|
753
753
|
if (!i && N?.focusEventId && N.focusEventId === t.id) {
|
|
754
|
-
const
|
|
754
|
+
const z = setTimeout(() => {
|
|
755
755
|
v(!0), N.clearFocusEventId();
|
|
756
756
|
}, 300);
|
|
757
|
-
return () => clearTimeout(
|
|
757
|
+
return () => clearTimeout(z);
|
|
758
758
|
}
|
|
759
759
|
}, [N?.focusEventId, t.id, i]);
|
|
760
|
-
const g = (t.endDate.getTime() - t.startDate.getTime()) / (1e3 * 60), W = g / 60 * r - 8,
|
|
760
|
+
const g = (t.endDate.getTime() - t.startDate.getTime()) / (1e3 * 60), W = g / 60 * r - 8, S = t.endDate < yt(/* @__PURE__ */ new Date()), T = t.isCanceled ?? !1, I = C && f && !T && !S, G = g <= 20, F = g < 35, O = g > 20, A = g >= 45, E = t.data, $ = E?.productName, P = E?.extendedProps, k = E?.nrParticipant, h = E?.siteName, R = E?.siteCity, _ = !!h || !!R, B = a === "dot", w = L(() => {
|
|
761
761
|
u || (i && d ? d(t) : i || v(!0));
|
|
762
|
-
}, [u, i, d, t]),
|
|
762
|
+
}, [u, i, d, t]), c = L(() => {
|
|
763
763
|
v(!1);
|
|
764
|
-
}, []),
|
|
765
|
-
(
|
|
766
|
-
if (!
|
|
767
|
-
|
|
768
|
-
const
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
764
|
+
}, []), m = L(
|
|
765
|
+
(z) => {
|
|
766
|
+
if (!I) return;
|
|
767
|
+
z.dataTransfer.effectAllowed = "move", z.dataTransfer.setData("text/plain", t.id);
|
|
768
|
+
const j = z.currentTarget, te = j.getBoundingClientRect();
|
|
769
|
+
z.dataTransfer.setDragImage(
|
|
770
|
+
j,
|
|
771
|
+
z.clientX - te.left,
|
|
772
|
+
z.clientY - te.top
|
|
773
773
|
), x(!0), f?.startDrag?.(t);
|
|
774
774
|
},
|
|
775
|
-
[
|
|
776
|
-
),
|
|
775
|
+
[I, t, f]
|
|
776
|
+
), M = L(() => {
|
|
777
777
|
x(!1), f?.isDragging && f.endDrag?.();
|
|
778
|
-
}, [f]),
|
|
779
|
-
(
|
|
780
|
-
(
|
|
778
|
+
}, [f]), D = L(
|
|
779
|
+
(z) => {
|
|
780
|
+
(z.key === "Enter" || z.key === " ") && (z.preventDefault(), w());
|
|
781
781
|
},
|
|
782
|
-
[
|
|
783
|
-
),
|
|
782
|
+
[w]
|
|
783
|
+
), H = /* @__PURE__ */ e(
|
|
784
784
|
"div",
|
|
785
785
|
{
|
|
786
786
|
role: "button",
|
|
787
787
|
tabIndex: 0,
|
|
788
|
-
draggable: !!
|
|
789
|
-
onDragStart:
|
|
790
|
-
onDragEnd:
|
|
791
|
-
onKeyDown:
|
|
792
|
-
onClick: u ? void 0 :
|
|
788
|
+
draggable: !!I,
|
|
789
|
+
onDragStart: m,
|
|
790
|
+
onDragEnd: M,
|
|
791
|
+
onKeyDown: D,
|
|
792
|
+
onClick: u ? void 0 : w,
|
|
793
793
|
className: s(
|
|
794
|
-
"group flex w-full select-none
|
|
794
|
+
"group flex w-full select-none overflow-hidden rounded-md border-l-[3px] text-xs text-left",
|
|
795
795
|
"shadow-[0_1px_3px_rgba(0,0,0,0.08)] hover:shadow-[0_2px_6px_rgba(0,0,0,0.12)]",
|
|
796
796
|
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
797
797
|
"transition-all",
|
|
798
|
-
|
|
798
|
+
I ? "cursor-grab active:cursor-grabbing" : "cursor-pointer",
|
|
799
799
|
u && "opacity-50",
|
|
800
800
|
// Cancelled events get gray background with strikethrough
|
|
801
|
-
|
|
801
|
+
T ? "bg-zinc-100 dark:bg-zinc-800 border-l-zinc-400 dark:border-l-zinc-600 text-zinc-500 dark:text-zinc-400 line-through" : [
|
|
802
802
|
// Colored/mixed variants
|
|
803
|
-
!
|
|
803
|
+
!B && [l.bg, l.accentBorder, l.text],
|
|
804
804
|
// Dot variant - neutral background
|
|
805
|
-
|
|
805
|
+
B && "bg-neutral-50 dark:bg-neutral-900 border-l-neutral-400 dark:border-l-neutral-600"
|
|
806
806
|
],
|
|
807
|
-
//
|
|
808
|
-
|
|
807
|
+
// Very short events: single-row inline layout
|
|
808
|
+
G ? "flex-row items-center gap-1.5 px-2 py-0" : F ? "flex-col gap-0.5 px-2 py-0 justify-center" : "flex-col gap-0.5 px-2 py-1.5",
|
|
809
809
|
p
|
|
810
810
|
),
|
|
811
811
|
style: { height: `${Math.max(W, 20)}px` },
|
|
812
|
-
children:
|
|
813
|
-
/*
|
|
814
|
-
|
|
812
|
+
children: G ? (
|
|
813
|
+
/* Single-row layout for very short events (≤20min) */
|
|
814
|
+
/* @__PURE__ */ o(Be, { children: [
|
|
815
|
+
["mixed", "dot"].includes(a) && !T && /* @__PURE__ */ e(
|
|
815
816
|
"svg",
|
|
816
817
|
{
|
|
817
818
|
width: "8",
|
|
@@ -823,100 +824,129 @@ function bt({
|
|
|
823
824
|
children: /* @__PURE__ */ e("circle", { cx: "4", cy: "4", r: "4", className: l.dotFill })
|
|
824
825
|
}
|
|
825
826
|
),
|
|
826
|
-
/* @__PURE__ */ e(
|
|
827
|
-
"
|
|
827
|
+
/* @__PURE__ */ e(
|
|
828
|
+
"span",
|
|
828
829
|
{
|
|
829
830
|
className: s(
|
|
830
|
-
"font-semibold truncate leading-
|
|
831
|
-
!
|
|
831
|
+
"font-semibold truncate leading-none text-[11px]",
|
|
832
|
+
!T && B && "text-foreground"
|
|
832
833
|
),
|
|
833
834
|
children: t.title
|
|
834
835
|
}
|
|
835
|
-
)
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
),
|
|
854
|
-
children: _.map((P, $) => /* @__PURE__ */ e("div", { children: P }, $))
|
|
855
|
-
}
|
|
856
|
-
),
|
|
857
|
-
H != null && H > 0 && /* @__PURE__ */ o(
|
|
858
|
-
"div",
|
|
859
|
-
{
|
|
860
|
-
className: s(
|
|
861
|
-
"flex items-center gap-1 text-[11px] leading-tight",
|
|
862
|
-
A ? "text-muted-foreground" : "opacity-80"
|
|
863
|
-
),
|
|
864
|
-
children: [
|
|
865
|
-
/* @__PURE__ */ e($e, { className: "h-3 w-3 shrink-0" }),
|
|
866
|
-
/* @__PURE__ */ o("span", { children: [
|
|
867
|
-
H,
|
|
868
|
-
" participant",
|
|
869
|
-
H !== 1 ? "s" : ""
|
|
870
|
-
] })
|
|
871
|
-
]
|
|
872
|
-
}
|
|
873
|
-
),
|
|
874
|
-
j && /* @__PURE__ */ o(
|
|
875
|
-
"div",
|
|
876
|
-
{
|
|
877
|
-
className: s(
|
|
878
|
-
"flex items-center gap-1 text-[11px] tabular-nums leading-tight",
|
|
879
|
-
A ? "text-muted-foreground" : "opacity-90"
|
|
880
|
-
),
|
|
881
|
-
children: [
|
|
882
|
-
/* @__PURE__ */ e(Ue, { className: "h-3 w-3 shrink-0" }),
|
|
883
|
-
/* @__PURE__ */ e("span", { children: J(t) })
|
|
884
|
-
]
|
|
885
|
-
}
|
|
886
|
-
),
|
|
887
|
-
I && B && /* @__PURE__ */ o(
|
|
888
|
-
"div",
|
|
889
|
-
{
|
|
890
|
-
className: s(
|
|
891
|
-
"flex items-center gap-1 text-[11px] truncate leading-tight",
|
|
892
|
-
A ? "text-muted-foreground" : "opacity-80"
|
|
836
|
+
),
|
|
837
|
+
/* @__PURE__ */ e("span", { className: "shrink-0 text-[10px] leading-none opacity-75 tabular-nums", children: Y(t) })
|
|
838
|
+
] })
|
|
839
|
+
) : (
|
|
840
|
+
/* Standard stacked layout for events > 20min */
|
|
841
|
+
/* @__PURE__ */ o(Be, { children: [
|
|
842
|
+
/* @__PURE__ */ o("div", { className: "flex items-start gap-1.5 min-w-0", children: [
|
|
843
|
+
["mixed", "dot"].includes(a) && !T && /* @__PURE__ */ e(
|
|
844
|
+
"svg",
|
|
845
|
+
{
|
|
846
|
+
width: "8",
|
|
847
|
+
height: "8",
|
|
848
|
+
viewBox: "0 0 8 8",
|
|
849
|
+
className: "event-dot shrink-0",
|
|
850
|
+
"aria-hidden": "true",
|
|
851
|
+
focusable: "false",
|
|
852
|
+
children: /* @__PURE__ */ e("circle", { cx: "4", cy: "4", r: "4", className: l.dotFill })
|
|
853
|
+
}
|
|
893
854
|
),
|
|
894
|
-
children:
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
855
|
+
/* @__PURE__ */ e("div", { className: "flex-1 min-w-0 overflow-hidden", children: /* @__PURE__ */ e(
|
|
856
|
+
"p",
|
|
857
|
+
{
|
|
858
|
+
className: s(
|
|
859
|
+
"font-semibold truncate leading-tight",
|
|
860
|
+
!T && B && "text-foreground"
|
|
861
|
+
),
|
|
862
|
+
children: t.title
|
|
863
|
+
}
|
|
864
|
+
) })
|
|
865
|
+
] }),
|
|
866
|
+
A && $ && /* @__PURE__ */ e(
|
|
867
|
+
"p",
|
|
868
|
+
{
|
|
869
|
+
className: s(
|
|
870
|
+
"text-[11px] truncate leading-tight",
|
|
871
|
+
B ? "text-muted-foreground" : "opacity-80"
|
|
872
|
+
),
|
|
873
|
+
children: $
|
|
874
|
+
}
|
|
875
|
+
),
|
|
876
|
+
A && P && P.length > 0 && /* @__PURE__ */ e(
|
|
877
|
+
"div",
|
|
878
|
+
{
|
|
879
|
+
className: s(
|
|
880
|
+
"flex flex-col text-[11px] leading-tight",
|
|
881
|
+
B ? "text-muted-foreground" : "opacity-80"
|
|
882
|
+
),
|
|
883
|
+
children: P.map((z, j) => /* @__PURE__ */ e("div", { children: z }, j))
|
|
884
|
+
}
|
|
885
|
+
),
|
|
886
|
+
k != null && k > 0 && /* @__PURE__ */ o(
|
|
887
|
+
"div",
|
|
888
|
+
{
|
|
889
|
+
className: s(
|
|
890
|
+
"flex items-center gap-1 text-[11px] leading-tight",
|
|
891
|
+
B ? "text-muted-foreground" : "opacity-80"
|
|
892
|
+
),
|
|
893
|
+
children: [
|
|
894
|
+
/* @__PURE__ */ e(He, { className: "h-3 w-3 shrink-0" }),
|
|
895
|
+
/* @__PURE__ */ o("span", { children: [
|
|
896
|
+
k,
|
|
897
|
+
" participant",
|
|
898
|
+
k !== 1 ? "s" : ""
|
|
899
|
+
] })
|
|
900
|
+
]
|
|
901
|
+
}
|
|
902
|
+
),
|
|
903
|
+
O && /* @__PURE__ */ o(
|
|
904
|
+
"div",
|
|
905
|
+
{
|
|
906
|
+
className: s(
|
|
907
|
+
"flex items-center gap-1 text-[11px] tabular-nums leading-tight",
|
|
908
|
+
B ? "text-muted-foreground" : "opacity-90"
|
|
909
|
+
),
|
|
910
|
+
children: [
|
|
911
|
+
/* @__PURE__ */ e(qe, { className: "h-3 w-3 shrink-0" }),
|
|
912
|
+
/* @__PURE__ */ e("span", { children: Y(t) })
|
|
913
|
+
]
|
|
914
|
+
}
|
|
915
|
+
),
|
|
916
|
+
A && _ && /* @__PURE__ */ o(
|
|
917
|
+
"div",
|
|
918
|
+
{
|
|
919
|
+
className: s(
|
|
920
|
+
"flex items-center gap-1 text-[11px] truncate leading-tight",
|
|
921
|
+
B ? "text-muted-foreground" : "opacity-80"
|
|
922
|
+
),
|
|
923
|
+
children: [
|
|
924
|
+
/* @__PURE__ */ e(bt, { className: "h-3 w-3 shrink-0" }),
|
|
925
|
+
/* @__PURE__ */ o("span", { className: "truncate", children: [
|
|
926
|
+
h,
|
|
927
|
+
h && R ? ", " : "",
|
|
928
|
+
R
|
|
929
|
+
] })
|
|
930
|
+
]
|
|
931
|
+
}
|
|
932
|
+
)
|
|
933
|
+
] })
|
|
934
|
+
)
|
|
905
935
|
}
|
|
906
|
-
),
|
|
936
|
+
), Q = /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
|
|
907
937
|
/* @__PURE__ */ e("div", { className: "font-medium", children: t.title }),
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
938
|
+
$ && /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: $ }),
|
|
939
|
+
P && P.length > 0 && P.map((z, j) => /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: z }, j)),
|
|
940
|
+
k != null && /* @__PURE__ */ o("div", { className: "text-xs text-muted-foreground", children: [
|
|
941
|
+
k,
|
|
912
942
|
" participant",
|
|
913
|
-
|
|
943
|
+
k !== 1 ? "s" : ""
|
|
914
944
|
] }),
|
|
915
|
-
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children:
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
945
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: Y(t) }),
|
|
946
|
+
_ && /* @__PURE__ */ o("div", { className: "text-xs text-muted-foreground", children: [
|
|
947
|
+
h,
|
|
948
|
+
h && R ? ", " : "",
|
|
949
|
+
R
|
|
920
950
|
] })
|
|
921
951
|
] }) });
|
|
922
952
|
return i ? /* @__PURE__ */ e(
|
|
@@ -930,8 +960,8 @@ function bt({
|
|
|
930
960
|
minWidth: n.minWidth ? `${n.minWidth}px` : void 0
|
|
931
961
|
},
|
|
932
962
|
children: /* @__PURE__ */ o(ae, { children: [
|
|
933
|
-
/* @__PURE__ */ e(se, { asChild: !0, children:
|
|
934
|
-
|
|
963
|
+
/* @__PURE__ */ e(se, { asChild: !0, children: H }),
|
|
964
|
+
Q
|
|
935
965
|
] })
|
|
936
966
|
}
|
|
937
967
|
) : /* @__PURE__ */ e(
|
|
@@ -945,8 +975,8 @@ function bt({
|
|
|
945
975
|
minWidth: n.minWidth ? `${n.minWidth}px` : void 0
|
|
946
976
|
},
|
|
947
977
|
children: /* @__PURE__ */ o(ue, { open: b, onOpenChange: v, children: [
|
|
948
|
-
/* @__PURE__ */ e(me, { asChild: !0, children:
|
|
949
|
-
/* @__PURE__ */ e(le, { className: "w-80", children: y ? y({ event: t, onClose:
|
|
978
|
+
/* @__PURE__ */ e(me, { asChild: !0, children: H }),
|
|
979
|
+
/* @__PURE__ */ e(le, { className: "w-80", children: y ? y({ event: t, onClose: c }) : /* @__PURE__ */ e(Ke, { event: t, onClose: c }) })
|
|
950
980
|
] })
|
|
951
981
|
}
|
|
952
982
|
);
|
|
@@ -961,7 +991,7 @@ function Xn({
|
|
|
961
991
|
disablePopover: i = !1,
|
|
962
992
|
renderPopover: y
|
|
963
993
|
}) {
|
|
964
|
-
const
|
|
994
|
+
const C = de(t.color), [l, b] = Z(!1), v = t.isCanceled ?? !1, u = L(() => {
|
|
965
995
|
i && d ? d(t) : i || b(!0);
|
|
966
996
|
}, [i, d, t]), x = L(() => {
|
|
967
997
|
b(!1);
|
|
@@ -973,7 +1003,7 @@ function Xn({
|
|
|
973
1003
|
className: s(
|
|
974
1004
|
"flex h-5 items-center px-1.5 text-xs font-medium transition-opacity hover:opacity-80",
|
|
975
1005
|
// Cancelled events get gray background with strikethrough
|
|
976
|
-
v ? "bg-zinc-200 dark:bg-zinc-700 text-zinc-500 dark:text-zinc-400 line-through" : [
|
|
1006
|
+
v ? "bg-zinc-200 dark:bg-zinc-700 text-zinc-500 dark:text-zinc-400 line-through" : [C.dot, "text-white"],
|
|
977
1007
|
r && "rounded-l",
|
|
978
1008
|
a && "rounded-r",
|
|
979
1009
|
!r && "border-l-0",
|
|
@@ -983,16 +1013,16 @@ function Xn({
|
|
|
983
1013
|
style: { width: `${n * 100}%` },
|
|
984
1014
|
children: r && /* @__PURE__ */ e("span", { className: "truncate", children: t.title })
|
|
985
1015
|
}
|
|
986
|
-
), N = /* @__PURE__ */ e(
|
|
1016
|
+
), N = /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
|
|
987
1017
|
/* @__PURE__ */ e("div", { className: "font-medium", children: t.title }),
|
|
988
|
-
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children:
|
|
1018
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: Y(t) })
|
|
989
1019
|
] }) });
|
|
990
1020
|
return i ? /* @__PURE__ */ o(ae, { children: [
|
|
991
1021
|
/* @__PURE__ */ e(se, { asChild: !0, children: f }),
|
|
992
1022
|
N
|
|
993
1023
|
] }) : /* @__PURE__ */ o(ue, { open: l, onOpenChange: b, children: [
|
|
994
1024
|
/* @__PURE__ */ e(me, { asChild: !0, children: f }),
|
|
995
|
-
/* @__PURE__ */ e(le, { className: "w-80", children: y ? y({ event: t, onClose: x }) : /* @__PURE__ */ e(
|
|
1025
|
+
/* @__PURE__ */ e(le, { className: "w-80", children: y ? y({ event: t, onClose: x }) : /* @__PURE__ */ e(Ke, { event: t, onClose: x }) })
|
|
996
1026
|
] });
|
|
997
1027
|
}
|
|
998
1028
|
if (typeof window < "u" && !document.getElementById("inno-calendar-event-marquee-style")) {
|
|
@@ -1008,18 +1038,18 @@ if (typeof window < "u" && !document.getElementById("inno-calendar-event-marquee
|
|
|
1008
1038
|
}
|
|
1009
1039
|
`, document.head.appendChild(t);
|
|
1010
1040
|
}
|
|
1011
|
-
const
|
|
1041
|
+
const Je = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, Ze = Dt, vt = (t, n) => (r) => {
|
|
1012
1042
|
var a;
|
|
1013
|
-
if (n?.variants == null) return
|
|
1043
|
+
if (n?.variants == null) return Ze(t, r?.class, r?.className);
|
|
1014
1044
|
const { variants: d, defaultVariants: p } = n, i = Object.keys(d).map((l) => {
|
|
1015
1045
|
const b = r?.[l], v = p?.[l];
|
|
1016
1046
|
if (b === null) return null;
|
|
1017
|
-
const u =
|
|
1047
|
+
const u = Je(b) || Je(v);
|
|
1018
1048
|
return d[l][u];
|
|
1019
1049
|
}), y = r && Object.entries(r).reduce((l, b) => {
|
|
1020
1050
|
let [v, u] = b;
|
|
1021
1051
|
return u === void 0 || (l[v] = u), l;
|
|
1022
|
-
}, {}),
|
|
1052
|
+
}, {}), C = n == null || (a = n.compoundVariants) === null || a === void 0 ? void 0 : a.reduce((l, b) => {
|
|
1023
1053
|
let { class: v, className: u, ...x } = b;
|
|
1024
1054
|
return Object.entries(x).every((f) => {
|
|
1025
1055
|
let [N, g] = f;
|
|
@@ -1036,8 +1066,8 @@ const Ye = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, Je = Dt, w
|
|
|
1036
1066
|
u
|
|
1037
1067
|
] : l;
|
|
1038
1068
|
}, []);
|
|
1039
|
-
return
|
|
1040
|
-
}, rn =
|
|
1069
|
+
return Ze(t, i, C, r?.class, r?.className);
|
|
1070
|
+
}, rn = vt(
|
|
1041
1071
|
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
1042
1072
|
{
|
|
1043
1073
|
variants: {
|
|
@@ -1061,7 +1091,7 @@ const Ye = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, Je = Dt, w
|
|
|
1061
1091
|
size: "default"
|
|
1062
1092
|
}
|
|
1063
1093
|
}
|
|
1064
|
-
), pe =
|
|
1094
|
+
), pe = je(
|
|
1065
1095
|
({ className: t, variant: n, size: r, loading: a, disabled: d, children: p, ...i }, y) => /* @__PURE__ */ o(
|
|
1066
1096
|
"button",
|
|
1067
1097
|
{
|
|
@@ -1106,8 +1136,8 @@ const Ye = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, Je = Dt, w
|
|
|
1106
1136
|
)
|
|
1107
1137
|
);
|
|
1108
1138
|
pe.displayName = "Button";
|
|
1109
|
-
const
|
|
1110
|
-
|
|
1139
|
+
const Qe = K.Root, et = K.Trigger, on = X.forwardRef(({ className: t, inset: n, children: r, ...a }, d) => /* @__PURE__ */ o(
|
|
1140
|
+
K.SubTrigger,
|
|
1111
1141
|
{
|
|
1112
1142
|
ref: d,
|
|
1113
1143
|
className: s(
|
|
@@ -1122,9 +1152,9 @@ const Ze = X.Root, Qe = X.Trigger, on = Y.forwardRef(({ className: t, inset: n,
|
|
|
1122
1152
|
]
|
|
1123
1153
|
}
|
|
1124
1154
|
));
|
|
1125
|
-
on.displayName =
|
|
1126
|
-
const an =
|
|
1127
|
-
|
|
1155
|
+
on.displayName = K.SubTrigger.displayName;
|
|
1156
|
+
const an = X.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
|
|
1157
|
+
K.SubContent,
|
|
1128
1158
|
{
|
|
1129
1159
|
ref: r,
|
|
1130
1160
|
className: s(
|
|
@@ -1134,9 +1164,9 @@ const an = Y.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
|
|
|
1134
1164
|
...n
|
|
1135
1165
|
}
|
|
1136
1166
|
));
|
|
1137
|
-
an.displayName =
|
|
1138
|
-
const
|
|
1139
|
-
|
|
1167
|
+
an.displayName = K.SubContent.displayName;
|
|
1168
|
+
const Oe = X.forwardRef(({ className: t, sideOffset: n = 4, ...r }, a) => /* @__PURE__ */ e(K.Portal, { children: /* @__PURE__ */ e(
|
|
1169
|
+
K.Content,
|
|
1140
1170
|
{
|
|
1141
1171
|
ref: a,
|
|
1142
1172
|
sideOffset: n,
|
|
@@ -1147,9 +1177,9 @@ const He = Y.forwardRef(({ className: t, sideOffset: n = 4, ...r }, a) => /* @__
|
|
|
1147
1177
|
...r
|
|
1148
1178
|
}
|
|
1149
1179
|
) }));
|
|
1150
|
-
|
|
1151
|
-
const
|
|
1152
|
-
|
|
1180
|
+
Oe.displayName = K.Content.displayName;
|
|
1181
|
+
const Pe = X.forwardRef(({ className: t, inset: n, ...r }, a) => /* @__PURE__ */ e(
|
|
1182
|
+
K.Item,
|
|
1153
1183
|
{
|
|
1154
1184
|
ref: a,
|
|
1155
1185
|
className: s(
|
|
@@ -1160,9 +1190,9 @@ const Oe = Y.forwardRef(({ className: t, inset: n, ...r }, a) => /* @__PURE__ */
|
|
|
1160
1190
|
...r
|
|
1161
1191
|
}
|
|
1162
1192
|
));
|
|
1163
|
-
|
|
1164
|
-
const sn =
|
|
1165
|
-
|
|
1193
|
+
Pe.displayName = K.Item.displayName;
|
|
1194
|
+
const sn = X.forwardRef(({ className: t, children: n, checked: r = !1, ...a }, d) => /* @__PURE__ */ o(
|
|
1195
|
+
K.CheckboxItem,
|
|
1166
1196
|
{
|
|
1167
1197
|
ref: d,
|
|
1168
1198
|
className: s(
|
|
@@ -1172,14 +1202,14 @@ const sn = Y.forwardRef(({ className: t, children: n, checked: r = !1, ...a }, d
|
|
|
1172
1202
|
checked: r,
|
|
1173
1203
|
...a,
|
|
1174
1204
|
children: [
|
|
1175
|
-
/* @__PURE__ */ e("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ e(
|
|
1205
|
+
/* @__PURE__ */ e("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ e(K.ItemIndicator, { children: /* @__PURE__ */ e(Bt, { className: "h-4 w-4" }) }) }),
|
|
1176
1206
|
n
|
|
1177
1207
|
]
|
|
1178
1208
|
}
|
|
1179
1209
|
));
|
|
1180
|
-
sn.displayName =
|
|
1181
|
-
const ln =
|
|
1182
|
-
|
|
1210
|
+
sn.displayName = K.CheckboxItem.displayName;
|
|
1211
|
+
const ln = X.forwardRef(({ className: t, children: n, ...r }, a) => /* @__PURE__ */ o(
|
|
1212
|
+
K.RadioItem,
|
|
1183
1213
|
{
|
|
1184
1214
|
ref: a,
|
|
1185
1215
|
className: s(
|
|
@@ -1188,31 +1218,31 @@ const ln = Y.forwardRef(({ className: t, children: n, ...r }, a) => /* @__PURE__
|
|
|
1188
1218
|
),
|
|
1189
1219
|
...r,
|
|
1190
1220
|
children: [
|
|
1191
|
-
/* @__PURE__ */ e("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ e(
|
|
1221
|
+
/* @__PURE__ */ e("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ e(K.ItemIndicator, { children: /* @__PURE__ */ e(Pt, { className: "h-2 w-2 fill-current" }) }) }),
|
|
1192
1222
|
n
|
|
1193
1223
|
]
|
|
1194
1224
|
}
|
|
1195
1225
|
));
|
|
1196
|
-
ln.displayName =
|
|
1197
|
-
const dn =
|
|
1198
|
-
|
|
1226
|
+
ln.displayName = K.RadioItem.displayName;
|
|
1227
|
+
const dn = X.forwardRef(({ className: t, inset: n, ...r }, a) => /* @__PURE__ */ e(
|
|
1228
|
+
K.Label,
|
|
1199
1229
|
{
|
|
1200
1230
|
ref: a,
|
|
1201
1231
|
className: s("px-2 py-1.5 text-sm font-semibold", n && "pl-8", t),
|
|
1202
1232
|
...r
|
|
1203
1233
|
}
|
|
1204
1234
|
));
|
|
1205
|
-
dn.displayName =
|
|
1206
|
-
const cn =
|
|
1207
|
-
|
|
1235
|
+
dn.displayName = K.Label.displayName;
|
|
1236
|
+
const cn = X.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
|
|
1237
|
+
K.Separator,
|
|
1208
1238
|
{
|
|
1209
1239
|
ref: r,
|
|
1210
1240
|
className: s("-mx-1 my-1 h-px bg-muted", t),
|
|
1211
1241
|
...n
|
|
1212
1242
|
}
|
|
1213
1243
|
));
|
|
1214
|
-
cn.displayName =
|
|
1215
|
-
const un =
|
|
1244
|
+
cn.displayName = K.Separator.displayName;
|
|
1245
|
+
const un = vt(
|
|
1216
1246
|
"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
1217
1247
|
{
|
|
1218
1248
|
variants: {
|
|
@@ -1289,11 +1319,11 @@ function gn({
|
|
|
1289
1319
|
showEventCount: i = !0,
|
|
1290
1320
|
className: y
|
|
1291
1321
|
}) {
|
|
1292
|
-
const
|
|
1322
|
+
const C = fn[t.getMonth()], l = t.getFullYear(), b = i ? St(r, t, n, p) : 0, v = Mt(t, n);
|
|
1293
1323
|
return /* @__PURE__ */ o("div", { className: s("min-w-0 flex-1", y), children: [
|
|
1294
1324
|
/* @__PURE__ */ o("div", { className: "flex items-center gap-1.5 sm:gap-2 flex-wrap", children: [
|
|
1295
1325
|
/* @__PURE__ */ o("span", { className: "text-base sm:text-lg font-semibold truncate", children: [
|
|
1296
|
-
|
|
1326
|
+
C,
|
|
1297
1327
|
" ",
|
|
1298
1328
|
l
|
|
1299
1329
|
] }),
|
|
@@ -1410,7 +1440,7 @@ function fe({ className: t }) {
|
|
|
1410
1440
|
}
|
|
1411
1441
|
);
|
|
1412
1442
|
}
|
|
1413
|
-
function
|
|
1443
|
+
function tt({ className: t }) {
|
|
1414
1444
|
return /* @__PURE__ */ e(
|
|
1415
1445
|
"svg",
|
|
1416
1446
|
{
|
|
@@ -1449,7 +1479,7 @@ function wn({ className: t }) {
|
|
|
1449
1479
|
}
|
|
1450
1480
|
);
|
|
1451
1481
|
}
|
|
1452
|
-
function
|
|
1482
|
+
function nt({ className: t }) {
|
|
1453
1483
|
return /* @__PURE__ */ o(
|
|
1454
1484
|
"svg",
|
|
1455
1485
|
{
|
|
@@ -1568,7 +1598,7 @@ const Cn = [
|
|
|
1568
1598
|
{ value: "month", label: "Month", icon: kn },
|
|
1569
1599
|
{ value: "year", label: "Year", icon: Dn }
|
|
1570
1600
|
// { value: 'agenda', label: 'Agenda', icon: ListIcon }, NOTE: Not needed currently
|
|
1571
|
-
],
|
|
1601
|
+
], rt = [
|
|
1572
1602
|
{ value: "timeline-day", label: "1 Day", icon: fe },
|
|
1573
1603
|
{ value: "timeline-3day", label: "3 Days", icon: fe },
|
|
1574
1604
|
{ value: "timeline-week", label: "7 Days", icon: fe }
|
|
@@ -1585,7 +1615,7 @@ function Yn({
|
|
|
1585
1615
|
onNavigateNext: p,
|
|
1586
1616
|
onNavigate: i,
|
|
1587
1617
|
onViewChange: y,
|
|
1588
|
-
onAddEvent:
|
|
1618
|
+
onAddEvent: C,
|
|
1589
1619
|
availableViews: l = ["day", "week", "month", "agenda"],
|
|
1590
1620
|
showTimelineViews: b = !1,
|
|
1591
1621
|
timelineViews: v,
|
|
@@ -1595,128 +1625,128 @@ function Yn({
|
|
|
1595
1625
|
actions: N,
|
|
1596
1626
|
className: g,
|
|
1597
1627
|
weekStartsOn: W = 1,
|
|
1598
|
-
headerConfig:
|
|
1599
|
-
labels:
|
|
1628
|
+
headerConfig: S,
|
|
1629
|
+
labels: T = {}
|
|
1600
1630
|
}) {
|
|
1601
|
-
const
|
|
1631
|
+
const I = S?.showToday ?? !0, G = S?.showDateNavigator ?? !0, F = S?.showCalendarViews ?? !0, O = S?.showResourceViews ?? b, A = S?.showSettings ?? x, E = S?.showAddEvent ?? !0, $ = S?.showFilters ?? !0, P = q(
|
|
1602
1632
|
() => ({
|
|
1603
1633
|
today: "Today",
|
|
1604
1634
|
addEvent: "Add Event",
|
|
1605
1635
|
calendarView: "Calendar View",
|
|
1606
1636
|
resourceView: "Resource View",
|
|
1607
|
-
...
|
|
1637
|
+
...T
|
|
1608
1638
|
}),
|
|
1609
|
-
[
|
|
1610
|
-
),
|
|
1639
|
+
[T]
|
|
1640
|
+
), k = () => {
|
|
1611
1641
|
a?.(), i?.("today");
|
|
1612
1642
|
}, h = () => {
|
|
1613
1643
|
d?.(), i?.("prev");
|
|
1614
|
-
},
|
|
1644
|
+
}, R = () => {
|
|
1615
1645
|
p?.(), i?.("next");
|
|
1616
|
-
},
|
|
1646
|
+
}, _ = ["day", "week", "month", "year", "agenda"].includes(
|
|
1617
1647
|
n
|
|
1618
|
-
),
|
|
1619
|
-
(
|
|
1620
|
-
), c =
|
|
1648
|
+
), B = n.startsWith("timeline-") || n.startsWith("resource-"), w = Cn.filter(
|
|
1649
|
+
(D) => l.includes(D.value)
|
|
1650
|
+
), c = _ ? w.find((D) => D.value === n) : null, m = [...rt, ...Sn], M = B ? m.find((D) => D.value === n) : null;
|
|
1621
1651
|
return /* @__PURE__ */ o("div", { className: s("flex flex-col w-full gap-3 mb-2", g), children: [
|
|
1622
1652
|
/* @__PURE__ */ o("div", { className: "flex lg:flex-row flex-col w-full justify-between gap-3", children: [
|
|
1623
1653
|
/* @__PURE__ */ o("div", { className: "flex items-center justify-between gap-2", children: [
|
|
1624
1654
|
/* @__PURE__ */ o("div", { className: "flex items-center gap-2 sm:gap-3 min-w-0", children: [
|
|
1625
|
-
|
|
1626
|
-
|
|
1655
|
+
I && /* @__PURE__ */ e(yn, { onClick: k }),
|
|
1656
|
+
G && /* @__PURE__ */ e(
|
|
1627
1657
|
gn,
|
|
1628
1658
|
{
|
|
1629
1659
|
date: t,
|
|
1630
1660
|
view: n,
|
|
1631
1661
|
events: r,
|
|
1632
1662
|
onNavigatePrev: h,
|
|
1633
|
-
onNavigateNext:
|
|
1663
|
+
onNavigateNext: R,
|
|
1634
1664
|
weekStartsOn: W
|
|
1635
1665
|
}
|
|
1636
1666
|
)
|
|
1637
1667
|
] }),
|
|
1638
|
-
E &&
|
|
1668
|
+
E && C && /* @__PURE__ */ e(
|
|
1639
1669
|
pe,
|
|
1640
1670
|
{
|
|
1641
1671
|
size: "icon",
|
|
1642
1672
|
className: "shrink-0 lg:hidden",
|
|
1643
|
-
onClick:
|
|
1644
|
-
children: /* @__PURE__ */ e(
|
|
1673
|
+
onClick: C,
|
|
1674
|
+
children: /* @__PURE__ */ e(nt, { className: "size-4" })
|
|
1645
1675
|
}
|
|
1646
1676
|
)
|
|
1647
1677
|
] }),
|
|
1648
1678
|
/* @__PURE__ */ o("div", { className: "flex items-center gap-1.5 sm:gap-2 overflow-x-auto pb-1 -mb-1 scrollbar-none", children: [
|
|
1649
|
-
|
|
1679
|
+
F && y && w.length > 0 && /* @__PURE__ */ o(Qe, { children: [
|
|
1650
1680
|
/* @__PURE__ */ o(
|
|
1651
|
-
|
|
1681
|
+
et,
|
|
1652
1682
|
{
|
|
1653
1683
|
className: s(
|
|
1654
1684
|
"inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors",
|
|
1655
1685
|
"h-10 px-2 sm:px-3 gap-1 sm:gap-1.5 shrink-0",
|
|
1656
|
-
|
|
1686
|
+
_ ? "bg-primary text-primary-foreground hover:bg-primary/90" : "border border-input bg-background hover:bg-accent hover:text-accent-foreground"
|
|
1657
1687
|
),
|
|
1658
1688
|
children: [
|
|
1659
1689
|
/* @__PURE__ */ e(bn, { className: "size-4" }),
|
|
1660
|
-
/* @__PURE__ */ e("span", { className: "text-xs sm:text-sm font-medium", children: c?.label ??
|
|
1661
|
-
/* @__PURE__ */ e(
|
|
1690
|
+
/* @__PURE__ */ e("span", { className: "text-xs sm:text-sm font-medium", children: c?.label ?? P.calendarView }),
|
|
1691
|
+
/* @__PURE__ */ e(tt, { className: "size-3 opacity-60" })
|
|
1662
1692
|
]
|
|
1663
1693
|
}
|
|
1664
1694
|
),
|
|
1665
|
-
/* @__PURE__ */ e(
|
|
1666
|
-
const
|
|
1695
|
+
/* @__PURE__ */ e(Oe, { align: "start", className: "min-w-[120px]", children: w.map((D) => {
|
|
1696
|
+
const H = D.icon;
|
|
1667
1697
|
return /* @__PURE__ */ o(
|
|
1668
|
-
|
|
1698
|
+
Pe,
|
|
1669
1699
|
{
|
|
1670
|
-
onClick: () => y(
|
|
1700
|
+
onClick: () => y(D.value),
|
|
1671
1701
|
className: s(
|
|
1672
1702
|
"gap-2",
|
|
1673
|
-
n ===
|
|
1703
|
+
n === D.value && "bg-accent"
|
|
1674
1704
|
),
|
|
1675
1705
|
children: [
|
|
1676
|
-
/* @__PURE__ */ e(
|
|
1677
|
-
/* @__PURE__ */ e("span", { children:
|
|
1706
|
+
/* @__PURE__ */ e(H, { className: "size-4" }),
|
|
1707
|
+
/* @__PURE__ */ e("span", { children: D.label })
|
|
1678
1708
|
]
|
|
1679
1709
|
},
|
|
1680
|
-
|
|
1710
|
+
D.value
|
|
1681
1711
|
);
|
|
1682
1712
|
}) })
|
|
1683
1713
|
] }),
|
|
1684
|
-
|
|
1714
|
+
O && y && /* @__PURE__ */ o(Qe, { children: [
|
|
1685
1715
|
/* @__PURE__ */ o(
|
|
1686
|
-
|
|
1716
|
+
et,
|
|
1687
1717
|
{
|
|
1688
1718
|
className: s(
|
|
1689
1719
|
"inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors",
|
|
1690
1720
|
"h-10 px-2 sm:px-3 gap-1 sm:gap-1.5 shrink-0",
|
|
1691
|
-
|
|
1721
|
+
B ? "bg-primary text-primary-foreground hover:bg-primary/90" : "border border-input bg-white hover:bg-zinc-50 hover:text-accent-foreground"
|
|
1692
1722
|
),
|
|
1693
1723
|
children: [
|
|
1694
1724
|
/* @__PURE__ */ e(fe, { className: "size-4" }),
|
|
1695
|
-
/* @__PURE__ */ e("span", { className: "text-xs sm:text-sm font-medium", children: M?.label ??
|
|
1696
|
-
/* @__PURE__ */ e(
|
|
1725
|
+
/* @__PURE__ */ e("span", { className: "text-xs sm:text-sm font-medium", children: M?.label ?? P.resourceView }),
|
|
1726
|
+
/* @__PURE__ */ e(tt, { className: "size-3 opacity-60" })
|
|
1697
1727
|
]
|
|
1698
1728
|
}
|
|
1699
1729
|
),
|
|
1700
|
-
/* @__PURE__ */ e(
|
|
1701
|
-
const
|
|
1730
|
+
/* @__PURE__ */ e(Oe, { align: "start", className: "min-w-[120px]", children: rt.map((D) => {
|
|
1731
|
+
const H = D.icon;
|
|
1702
1732
|
return /* @__PURE__ */ o(
|
|
1703
|
-
|
|
1733
|
+
Pe,
|
|
1704
1734
|
{
|
|
1705
|
-
onClick: () => y(
|
|
1735
|
+
onClick: () => y(D.value),
|
|
1706
1736
|
className: s(
|
|
1707
1737
|
"gap-2",
|
|
1708
|
-
n ===
|
|
1738
|
+
n === D.value && "bg-accent"
|
|
1709
1739
|
),
|
|
1710
1740
|
children: [
|
|
1711
|
-
/* @__PURE__ */ e(
|
|
1712
|
-
/* @__PURE__ */ e("span", { children:
|
|
1741
|
+
/* @__PURE__ */ e(H, { className: "size-4" }),
|
|
1742
|
+
/* @__PURE__ */ e("span", { children: D.label })
|
|
1713
1743
|
]
|
|
1714
1744
|
},
|
|
1715
|
-
|
|
1745
|
+
D.value
|
|
1716
1746
|
);
|
|
1717
1747
|
}) })
|
|
1718
1748
|
] }),
|
|
1719
|
-
|
|
1749
|
+
A && u && /* @__PURE__ */ o(ue, { children: [
|
|
1720
1750
|
/* @__PURE__ */ e(me, { asChild: !0, children: /* @__PURE__ */ e(
|
|
1721
1751
|
pe,
|
|
1722
1752
|
{
|
|
@@ -1737,20 +1767,20 @@ function Yn({
|
|
|
1737
1767
|
)
|
|
1738
1768
|
] }),
|
|
1739
1769
|
N,
|
|
1740
|
-
E &&
|
|
1770
|
+
E && C && /* @__PURE__ */ o(
|
|
1741
1771
|
pe,
|
|
1742
1772
|
{
|
|
1743
1773
|
className: "hidden lg:flex shrink-0 max-h-10",
|
|
1744
|
-
onClick:
|
|
1774
|
+
onClick: C,
|
|
1745
1775
|
children: [
|
|
1746
|
-
/* @__PURE__ */ e(
|
|
1747
|
-
|
|
1776
|
+
/* @__PURE__ */ e(nt, { className: "size-4" }),
|
|
1777
|
+
P.addEvent
|
|
1748
1778
|
]
|
|
1749
1779
|
}
|
|
1750
1780
|
)
|
|
1751
1781
|
] })
|
|
1752
1782
|
] }),
|
|
1753
|
-
|
|
1783
|
+
$ && f && /* @__PURE__ */ e("div", { className: "flex items-center gap-2 pb-1 -mb-1 scrollbar-none", children: f })
|
|
1754
1784
|
] });
|
|
1755
1785
|
}
|
|
1756
1786
|
function Jn({
|
|
@@ -1762,15 +1792,15 @@ function Jn({
|
|
|
1762
1792
|
className: p,
|
|
1763
1793
|
renderEvent: i,
|
|
1764
1794
|
renderPopover: y,
|
|
1765
|
-
slots:
|
|
1795
|
+
slots: C,
|
|
1766
1796
|
classNames: l
|
|
1767
1797
|
}) {
|
|
1768
|
-
const b =
|
|
1798
|
+
const b = q(() => {
|
|
1769
1799
|
const u = new Date(n);
|
|
1770
1800
|
u.setHours(0, 0, 0, 0);
|
|
1771
1801
|
const x = new Date(u);
|
|
1772
1802
|
return x.setDate(x.getDate() + r), t.filter((f) => f.endDate >= u && f.startDate <= x);
|
|
1773
|
-
}, [t, r, n]), v =
|
|
1803
|
+
}, [t, r, n]), v = q(() => {
|
|
1774
1804
|
const u = Tt(b), x = [];
|
|
1775
1805
|
for (const [f, N] of u)
|
|
1776
1806
|
x.push({
|
|
@@ -1793,7 +1823,7 @@ function Jn({
|
|
|
1793
1823
|
] })
|
|
1794
1824
|
] }) }),
|
|
1795
1825
|
/* @__PURE__ */ e("div", { className: "flex-1", children: v.map(({ date: u, dateKey: x, events: f }) => {
|
|
1796
|
-
const N = ce(u), g = u.toLocaleDateString([], { weekday: "short" }), W = u.getDate(),
|
|
1826
|
+
const N = ce(u), g = u.toLocaleDateString([], { weekday: "short" }), W = u.getDate(), S = u.toLocaleDateString([], { month: "short" });
|
|
1797
1827
|
return /* @__PURE__ */ o("div", { className: s("", l?.agendaDayGroup), children: [
|
|
1798
1828
|
/* @__PURE__ */ e(
|
|
1799
1829
|
"div",
|
|
@@ -1827,7 +1857,7 @@ function Jn({
|
|
|
1827
1857
|
)
|
|
1828
1858
|
] }),
|
|
1829
1859
|
/* @__PURE__ */ o("span", { className: "text-sm text-muted-foreground", children: [
|
|
1830
|
-
|
|
1860
|
+
S,
|
|
1831
1861
|
" ",
|
|
1832
1862
|
u.getFullYear()
|
|
1833
1863
|
] })
|
|
@@ -1835,10 +1865,10 @@ function Jn({
|
|
|
1835
1865
|
}
|
|
1836
1866
|
),
|
|
1837
1867
|
/* @__PURE__ */ e("div", { className: "px-4 py-3 space-y-2 border-b last:border-b-0", children: f.map(
|
|
1838
|
-
(
|
|
1868
|
+
(T) => i ? /* @__PURE__ */ e("div", { children: i({ event: T, variant: "full" }) }, T.id) : /* @__PURE__ */ e(
|
|
1839
1869
|
Ee,
|
|
1840
1870
|
{
|
|
1841
|
-
event:
|
|
1871
|
+
event: T,
|
|
1842
1872
|
variant: "full",
|
|
1843
1873
|
badgeVariant: a,
|
|
1844
1874
|
onClick: d,
|
|
@@ -1849,7 +1879,7 @@ function Jn({
|
|
|
1849
1879
|
showParticipants: !0,
|
|
1850
1880
|
...l?.eventCard && { className: l.eventCard }
|
|
1851
1881
|
},
|
|
1852
|
-
|
|
1882
|
+
T.id
|
|
1853
1883
|
)
|
|
1854
1884
|
) })
|
|
1855
1885
|
] }, x);
|
|
@@ -1866,31 +1896,31 @@ function Mn({
|
|
|
1866
1896
|
badgeVariant: p = "colored",
|
|
1867
1897
|
onEventClick: i,
|
|
1868
1898
|
renderEvent: y,
|
|
1869
|
-
renderPopover:
|
|
1899
|
+
renderPopover: C,
|
|
1870
1900
|
className: l
|
|
1871
1901
|
}) {
|
|
1872
|
-
const b =
|
|
1902
|
+
const b = re(null), v = re(null), [u, x] = Z("closed"), f = re(null);
|
|
1873
1903
|
d && (f.current = d);
|
|
1874
|
-
const N = d ?? f.current, g =
|
|
1875
|
-
() => [...a].sort((
|
|
1904
|
+
const N = d ?? f.current, g = q(
|
|
1905
|
+
() => [...a].sort((A, E) => A.startDate.getTime() - E.startDate.getTime()),
|
|
1876
1906
|
[a]
|
|
1877
|
-
), W =
|
|
1878
|
-
const
|
|
1879
|
-
if (!
|
|
1907
|
+
), W = q(() => {
|
|
1908
|
+
const A = N;
|
|
1909
|
+
if (!A)
|
|
1880
1910
|
return {
|
|
1881
1911
|
top: 0,
|
|
1882
1912
|
left: 0,
|
|
1883
1913
|
width: Ce,
|
|
1884
1914
|
maxHeight: Se
|
|
1885
1915
|
};
|
|
1886
|
-
const E = typeof window < "u" ? window.innerWidth : 1200,
|
|
1887
|
-
let
|
|
1888
|
-
|
|
1889
|
-
const
|
|
1890
|
-
let h =
|
|
1891
|
-
return h = Math.max(16, Math.min(h,
|
|
1916
|
+
const E = typeof window < "u" ? window.innerWidth : 1200, $ = typeof window < "u" ? window.innerHeight : 800;
|
|
1917
|
+
let P = A.left + A.width / 2 - Ce / 2;
|
|
1918
|
+
P = Math.max(16, Math.min(P, E - Ce - 16));
|
|
1919
|
+
const k = Math.min(a.length * 68 + 80, Se);
|
|
1920
|
+
let h = A.top + A.height / 2 - k / 2;
|
|
1921
|
+
return h = Math.max(16, Math.min(h, $ - k - 16)), { top: h, left: P, width: Ce, maxHeight: Se };
|
|
1892
1922
|
}, [N, a.length]);
|
|
1893
|
-
|
|
1923
|
+
Fe(() => {
|
|
1894
1924
|
if (t && N)
|
|
1895
1925
|
x("entering"), requestAnimationFrame(() => {
|
|
1896
1926
|
requestAnimationFrame(() => {
|
|
@@ -1899,35 +1929,35 @@ function Mn({
|
|
|
1899
1929
|
});
|
|
1900
1930
|
else if (!t && (u === "open" || u === "entering")) {
|
|
1901
1931
|
x("exiting");
|
|
1902
|
-
const
|
|
1932
|
+
const A = setTimeout(() => {
|
|
1903
1933
|
x("closed"), f.current = null;
|
|
1904
1934
|
}, Re);
|
|
1905
|
-
return () => clearTimeout(
|
|
1935
|
+
return () => clearTimeout(A);
|
|
1906
1936
|
}
|
|
1907
1937
|
}, [t, N]), ke(() => {
|
|
1908
1938
|
if (u === "closed") return;
|
|
1909
|
-
const
|
|
1939
|
+
const A = (E) => {
|
|
1910
1940
|
E.key === "Escape" && (E.stopPropagation(), n());
|
|
1911
1941
|
};
|
|
1912
|
-
return document.addEventListener("keydown",
|
|
1942
|
+
return document.addEventListener("keydown", A), () => document.removeEventListener("keydown", A);
|
|
1913
1943
|
}, [u, n]), ke(() => {
|
|
1914
1944
|
u === "open" && v.current && v.current.focus();
|
|
1915
1945
|
}, [u]);
|
|
1916
|
-
const
|
|
1917
|
-
(
|
|
1918
|
-
|
|
1946
|
+
const S = L(
|
|
1947
|
+
(A) => {
|
|
1948
|
+
A.target === b.current && n();
|
|
1919
1949
|
},
|
|
1920
1950
|
[n]
|
|
1921
1951
|
);
|
|
1922
1952
|
if (u === "closed") return null;
|
|
1923
|
-
const
|
|
1953
|
+
const T = u === "entering" || u === "exiting", I = N, G = T && I ? {
|
|
1924
1954
|
// Collapsed state: match the day cell exactly
|
|
1925
1955
|
position: "fixed",
|
|
1926
|
-
top:
|
|
1927
|
-
left:
|
|
1928
|
-
width:
|
|
1929
|
-
height:
|
|
1930
|
-
maxHeight:
|
|
1956
|
+
top: I.top,
|
|
1957
|
+
left: I.left,
|
|
1958
|
+
width: I.width,
|
|
1959
|
+
height: I.height,
|
|
1960
|
+
maxHeight: I.height,
|
|
1931
1961
|
opacity: u === "entering" ? 0.7 : 0,
|
|
1932
1962
|
transform: "scale(1)",
|
|
1933
1963
|
borderRadius: "8px"
|
|
@@ -1941,25 +1971,25 @@ function Mn({
|
|
|
1941
1971
|
opacity: 1,
|
|
1942
1972
|
transform: "scale(1)",
|
|
1943
1973
|
borderRadius: "12px"
|
|
1944
|
-
},
|
|
1974
|
+
}, F = T ? 0 : 1, O = r.toLocaleDateString(void 0, {
|
|
1945
1975
|
weekday: "long",
|
|
1946
1976
|
month: "long",
|
|
1947
1977
|
day: "numeric"
|
|
1948
1978
|
});
|
|
1949
|
-
return /* @__PURE__ */ o(
|
|
1979
|
+
return /* @__PURE__ */ o(Be, { children: [
|
|
1950
1980
|
/* @__PURE__ */ e(
|
|
1951
1981
|
"div",
|
|
1952
1982
|
{
|
|
1953
1983
|
ref: b,
|
|
1954
1984
|
role: "presentation",
|
|
1955
|
-
onClick:
|
|
1985
|
+
onClick: S,
|
|
1956
1986
|
className: "ic-expansion-backdrop",
|
|
1957
1987
|
style: {
|
|
1958
1988
|
position: "fixed",
|
|
1959
1989
|
inset: 0,
|
|
1960
1990
|
zIndex: 40,
|
|
1961
1991
|
backgroundColor: "rgba(0, 0, 0, 0.2)",
|
|
1962
|
-
opacity:
|
|
1992
|
+
opacity: F,
|
|
1963
1993
|
transition: `opacity ${Re}ms cubic-bezier(0.32, 0.72, 0, 1)`
|
|
1964
1994
|
}
|
|
1965
1995
|
}
|
|
@@ -1970,7 +2000,7 @@ function Mn({
|
|
|
1970
2000
|
ref: v,
|
|
1971
2001
|
role: "dialog",
|
|
1972
2002
|
"aria-modal": "true",
|
|
1973
|
-
"aria-label": `Events for ${
|
|
2003
|
+
"aria-label": `Events for ${O}`,
|
|
1974
2004
|
tabIndex: -1,
|
|
1975
2005
|
className: s(
|
|
1976
2006
|
"ic-expansion-panel",
|
|
@@ -1979,7 +2009,7 @@ function Mn({
|
|
|
1979
2009
|
l
|
|
1980
2010
|
),
|
|
1981
2011
|
style: {
|
|
1982
|
-
...
|
|
2012
|
+
...G,
|
|
1983
2013
|
zIndex: 41,
|
|
1984
2014
|
transition: `all ${Re}ms cubic-bezier(0.32, 0.72, 0, 1)`,
|
|
1985
2015
|
willChange: "top, left, width, height, max-height, opacity, border-radius"
|
|
@@ -1987,7 +2017,7 @@ function Mn({
|
|
|
1987
2017
|
children: [
|
|
1988
2018
|
/* @__PURE__ */ o("div", { className: "flex items-center justify-between px-4 py-3 border-b bg-muted/30", children: [
|
|
1989
2019
|
/* @__PURE__ */ o("div", { className: "flex flex-col", children: [
|
|
1990
|
-
/* @__PURE__ */ e("span", { className: "text-sm font-semibold text-foreground", children:
|
|
2020
|
+
/* @__PURE__ */ e("span", { className: "text-sm font-semibold text-foreground", children: O }),
|
|
1991
2021
|
/* @__PURE__ */ o("span", { className: "text-xs text-muted-foreground", children: [
|
|
1992
2022
|
a.length,
|
|
1993
2023
|
" event",
|
|
@@ -2027,17 +2057,17 @@ function Mn({
|
|
|
2027
2057
|
className: "overflow-y-auto px-3 py-2 space-y-1.5",
|
|
2028
2058
|
style: { maxHeight: `${Se - 64}px` },
|
|
2029
2059
|
children: [
|
|
2030
|
-
g.map((
|
|
2060
|
+
g.map((A) => /* @__PURE__ */ e("div", { onPointerDown: (E) => E.stopPropagation(), children: y ? y({ event: A, variant: "compact" }) : /* @__PURE__ */ e(
|
|
2031
2061
|
Ee,
|
|
2032
2062
|
{
|
|
2033
|
-
event:
|
|
2063
|
+
event: A,
|
|
2034
2064
|
variant: "compact",
|
|
2035
2065
|
badgeVariant: p,
|
|
2036
2066
|
onClick: i,
|
|
2037
|
-
renderPopover:
|
|
2067
|
+
renderPopover: C,
|
|
2038
2068
|
showTime: !0
|
|
2039
2069
|
}
|
|
2040
|
-
) },
|
|
2070
|
+
) }, A.id)),
|
|
2041
2071
|
a.length === 0 && /* @__PURE__ */ e("div", { className: "py-6 text-center text-sm text-muted-foreground", children: "No events" })
|
|
2042
2072
|
]
|
|
2043
2073
|
}
|
|
@@ -2054,7 +2084,7 @@ function Tn({
|
|
|
2054
2084
|
disablePopover: a,
|
|
2055
2085
|
renderPopover: d
|
|
2056
2086
|
}) {
|
|
2057
|
-
const [p, i] =
|
|
2087
|
+
const [p, i] = Z(!1), y = de(t.color), C = ze(t), l = ie(t.startDate, n), b = ie(t.endDate, n), v = C && ie(t.startDate, t.endDate), u = L(() => {
|
|
2058
2088
|
a && r ? r(t) : a || i(!0);
|
|
2059
2089
|
}, [a, r, t]), x = L(() => {
|
|
2060
2090
|
i(!1);
|
|
@@ -2063,7 +2093,7 @@ function Tn({
|
|
|
2063
2093
|
{
|
|
2064
2094
|
type: "button",
|
|
2065
2095
|
onClick: u,
|
|
2066
|
-
title:
|
|
2096
|
+
title: Y(t),
|
|
2067
2097
|
className: s(
|
|
2068
2098
|
"inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] font-medium transition-opacity hover:opacity-80",
|
|
2069
2099
|
"sm:px-2 sm:py-1 sm:text-xs",
|
|
@@ -2079,9 +2109,9 @@ function Tn({
|
|
|
2079
2109
|
v && /* @__PURE__ */ e("span", { className: "text-[9px] opacity-70 sm:text-[10px]", children: "All day" })
|
|
2080
2110
|
]
|
|
2081
2111
|
}
|
|
2082
|
-
), N = /* @__PURE__ */ e(
|
|
2112
|
+
), N = /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
|
|
2083
2113
|
/* @__PURE__ */ e("div", { className: "font-medium", children: t.title }),
|
|
2084
|
-
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children:
|
|
2114
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: Y(t) })
|
|
2085
2115
|
] }) });
|
|
2086
2116
|
return a ? /* @__PURE__ */ o(ae, { children: [
|
|
2087
2117
|
/* @__PURE__ */ e(se, { asChild: !0, children: f }),
|
|
@@ -2101,7 +2131,7 @@ function zn({
|
|
|
2101
2131
|
/* @__PURE__ */ e("div", { className: s("size-4 rounded shrink-0 mt-0.5", r.dot) }),
|
|
2102
2132
|
/* @__PURE__ */ o("div", { className: "flex-1 min-w-0", children: [
|
|
2103
2133
|
/* @__PURE__ */ e("h3", { className: s("font-semibold text-lg", a && "line-through opacity-50"), children: t.title }),
|
|
2104
|
-
/* @__PURE__ */ e("div", { className: "flex items-center gap-1 text-sm text-muted-foreground mt-1 tabular-nums", children:
|
|
2134
|
+
/* @__PURE__ */ e("div", { className: "flex items-center gap-1 text-sm text-muted-foreground mt-1 tabular-nums", children: Y(t) })
|
|
2105
2135
|
] })
|
|
2106
2136
|
] }),
|
|
2107
2137
|
t.description && /* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: t.description }),
|
|
@@ -2131,9 +2161,9 @@ function An({
|
|
|
2131
2161
|
if (t.length === 0) return null;
|
|
2132
2162
|
const i = t.some((l) => ze(l) && ie(l.startDate, l.endDate)), y = t.some(
|
|
2133
2163
|
(l) => !ie(l.startDate, l.endDate) || ze(l) && !ie(l.startDate, l.endDate)
|
|
2134
|
-
),
|
|
2164
|
+
), C = i && y ? "All day / Multi-day" : i ? "All day" : "Multi-day";
|
|
2135
2165
|
return /* @__PURE__ */ o("div", { className: s("border-b bg-muted/20 px-2 py-1.5 space-y-1", "sm:px-4 sm:py-2", p), children: [
|
|
2136
|
-
/* @__PURE__ */ e("span", { className: "text-[10px] font-medium text-muted-foreground sm:text-xs", children:
|
|
2166
|
+
/* @__PURE__ */ e("span", { className: "text-[10px] font-medium text-muted-foreground sm:text-xs", children: C }),
|
|
2137
2167
|
/* @__PURE__ */ e("div", { className: "flex flex-wrap gap-1", children: t.map((l) => /* @__PURE__ */ e(
|
|
2138
2168
|
Tn,
|
|
2139
2169
|
{
|
|
@@ -2148,7 +2178,7 @@ function An({
|
|
|
2148
2178
|
] });
|
|
2149
2179
|
}
|
|
2150
2180
|
const En = 5;
|
|
2151
|
-
function
|
|
2181
|
+
function Nt({
|
|
2152
2182
|
slot: t,
|
|
2153
2183
|
onSelectionStart: n,
|
|
2154
2184
|
onSelectionMove: r,
|
|
@@ -2157,58 +2187,58 @@ function vt({
|
|
|
2157
2187
|
isSelecting: p = !1,
|
|
2158
2188
|
disabled: i = !1,
|
|
2159
2189
|
ariaLabel: y,
|
|
2160
|
-
children:
|
|
2190
|
+
children: C,
|
|
2161
2191
|
className: l,
|
|
2162
2192
|
height: b,
|
|
2163
2193
|
style: v,
|
|
2164
2194
|
dataAttributes: u
|
|
2165
2195
|
}) {
|
|
2166
|
-
const x =
|
|
2167
|
-
(
|
|
2168
|
-
i ||
|
|
2196
|
+
const x = re(null), f = re(!1), N = re(!1), g = re(null), [W, S] = Z(!1), T = Ge(), I = L(
|
|
2197
|
+
(k) => {
|
|
2198
|
+
i || k.button !== 0 && k.pointerType === "mouse" || (k.preventDefault(), x.current = { x: k.clientX, y: k.clientY }, f.current = !1, N.current = !0, n?.(t));
|
|
2169
2199
|
},
|
|
2170
2200
|
[i, t, n]
|
|
2171
|
-
),
|
|
2172
|
-
(
|
|
2201
|
+
), G = L(
|
|
2202
|
+
(k) => {
|
|
2173
2203
|
if (!(x.current && N.current && !i)) return;
|
|
2174
|
-
const h =
|
|
2175
|
-
Math.sqrt(h * h +
|
|
2204
|
+
const h = k.clientX - x.current.x, R = k.clientY - x.current.y;
|
|
2205
|
+
Math.sqrt(h * h + R * R) >= En && (f.current = !0);
|
|
2176
2206
|
},
|
|
2177
2207
|
[i]
|
|
2178
|
-
),
|
|
2179
|
-
(
|
|
2180
|
-
i || (
|
|
2208
|
+
), F = L(
|
|
2209
|
+
(k) => {
|
|
2210
|
+
i || (k.buttons > 0 || p) && r?.(t);
|
|
2181
2211
|
},
|
|
2182
2212
|
[i, p, t, r]
|
|
2183
|
-
),
|
|
2213
|
+
), O = L(() => {
|
|
2184
2214
|
i || (a?.(), x.current = null, f.current = !1, N.current = !1);
|
|
2185
|
-
}, [i, a]),
|
|
2186
|
-
(
|
|
2187
|
-
if (!
|
|
2188
|
-
|
|
2189
|
-
const h = /* @__PURE__ */ new Date(),
|
|
2190
|
-
|
|
2215
|
+
}, [i, a]), A = L(
|
|
2216
|
+
(k) => {
|
|
2217
|
+
if (!T?.isDragging || i) return;
|
|
2218
|
+
k.preventDefault(), k.dataTransfer.dropEffect = "move", S(!0);
|
|
2219
|
+
const h = /* @__PURE__ */ new Date(), R = t.hour ?? h.getHours(), _ = t.minute ?? (h.getMinutes() >= 30 ? 30 : 0);
|
|
2220
|
+
T.updateDragPreview?.(t.date, R, _);
|
|
2191
2221
|
},
|
|
2192
|
-
[
|
|
2222
|
+
[T, i, t]
|
|
2193
2223
|
), E = L(() => {
|
|
2194
|
-
|
|
2195
|
-
}, []),
|
|
2196
|
-
(
|
|
2197
|
-
|
|
2224
|
+
S(!1);
|
|
2225
|
+
}, []), $ = L(
|
|
2226
|
+
(k) => {
|
|
2227
|
+
k.preventDefault(), S(!1), !(!T?.isDragging || i) && T.endDrag?.();
|
|
2198
2228
|
},
|
|
2199
|
-
[
|
|
2229
|
+
[T, i]
|
|
2200
2230
|
);
|
|
2201
2231
|
ke(() => {
|
|
2202
|
-
const
|
|
2232
|
+
const k = () => {
|
|
2203
2233
|
N.current && (N.current = !1, x.current = null, f.current = !1);
|
|
2204
2234
|
};
|
|
2205
|
-
return window.addEventListener("pointerup",
|
|
2206
|
-
window.removeEventListener("pointerup",
|
|
2235
|
+
return window.addEventListener("pointerup", k), window.addEventListener("pointercancel", k), () => {
|
|
2236
|
+
window.removeEventListener("pointerup", k), window.removeEventListener("pointercancel", k);
|
|
2207
2237
|
};
|
|
2208
2238
|
}, []);
|
|
2209
|
-
const
|
|
2210
|
-
(
|
|
2211
|
-
i || (
|
|
2239
|
+
const P = L(
|
|
2240
|
+
(k) => {
|
|
2241
|
+
i || (k.key === "Enter" || k.key === " ") && (k.preventDefault(), n?.(t), a?.());
|
|
2212
2242
|
},
|
|
2213
2243
|
[i, t, n, a]
|
|
2214
2244
|
);
|
|
@@ -2221,14 +2251,14 @@ function vt({
|
|
|
2221
2251
|
"aria-disabled": i,
|
|
2222
2252
|
"aria-pressed": d,
|
|
2223
2253
|
disabled: i,
|
|
2224
|
-
onPointerDown:
|
|
2225
|
-
onPointerMove:
|
|
2226
|
-
onPointerUp:
|
|
2227
|
-
onPointerEnter:
|
|
2228
|
-
onKeyDown:
|
|
2229
|
-
onDragOver:
|
|
2254
|
+
onPointerDown: I,
|
|
2255
|
+
onPointerMove: G,
|
|
2256
|
+
onPointerUp: O,
|
|
2257
|
+
onPointerEnter: F,
|
|
2258
|
+
onKeyDown: P,
|
|
2259
|
+
onDragOver: A,
|
|
2230
2260
|
onDragLeave: E,
|
|
2231
|
-
onDrop:
|
|
2261
|
+
onDrop: $,
|
|
2232
2262
|
className: s(
|
|
2233
2263
|
"select-none touch-none cursor-pointer transition-colors",
|
|
2234
2264
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",
|
|
@@ -2244,11 +2274,11 @@ function vt({
|
|
|
2244
2274
|
),
|
|
2245
2275
|
style: { height: b, ...v },
|
|
2246
2276
|
...u,
|
|
2247
|
-
children:
|
|
2277
|
+
children: C
|
|
2248
2278
|
}
|
|
2249
2279
|
);
|
|
2250
2280
|
}
|
|
2251
|
-
function
|
|
2281
|
+
function kt({
|
|
2252
2282
|
slot: t,
|
|
2253
2283
|
date: n,
|
|
2254
2284
|
hour: r,
|
|
@@ -2257,11 +2287,11 @@ function Nt({
|
|
|
2257
2287
|
...p
|
|
2258
2288
|
}) {
|
|
2259
2289
|
const i = t ?? { date: n, hour: r ?? 0, minute: a ?? 0 }, y = d ?? `Add event at ${(i.hour ?? 0).toString().padStart(2, "0")}:${(i.minute ?? 0).toString().padStart(2, "0")} on ${i.date.toLocaleDateString()}`;
|
|
2260
|
-
return /* @__PURE__ */ e(
|
|
2290
|
+
return /* @__PURE__ */ e(Nt, { slot: i, ariaLabel: y, ...p });
|
|
2261
2291
|
}
|
|
2262
2292
|
function Ln({ slot: t, date: n, ariaLabel: r, ...a }) {
|
|
2263
2293
|
const d = t ?? { date: n }, p = r ?? `Select ${d.date.toLocaleDateString()}`;
|
|
2264
|
-
return /* @__PURE__ */ e(
|
|
2294
|
+
return /* @__PURE__ */ e(Nt, { slot: d, ariaLabel: p, ...a });
|
|
2265
2295
|
}
|
|
2266
2296
|
const we = 96, _e = 72, Ie = 80;
|
|
2267
2297
|
function Zn({
|
|
@@ -2273,38 +2303,38 @@ function Zn({
|
|
|
2273
2303
|
badgeVariant: p = "colored",
|
|
2274
2304
|
onEventClick: i,
|
|
2275
2305
|
onSlotSelect: y,
|
|
2276
|
-
className:
|
|
2306
|
+
className: C,
|
|
2277
2307
|
renderEvent: l,
|
|
2278
2308
|
renderPopover: b,
|
|
2279
2309
|
slots: v,
|
|
2280
2310
|
classNames: u
|
|
2281
2311
|
}) {
|
|
2282
|
-
const x = 60 / d, f = 100 / x, N =
|
|
2312
|
+
const x = 60 / d, f = 100 / x, N = q(() => {
|
|
2283
2313
|
const w = [];
|
|
2284
2314
|
for (let c = 0; c < x; c++)
|
|
2285
2315
|
w.push(c * d);
|
|
2286
2316
|
return w;
|
|
2287
|
-
}, [x, d]), g =
|
|
2288
|
-
const w =
|
|
2317
|
+
}, [x, d]), g = q(() => Ve(t, n), [t, n]), { singleDay: W, multiDay: S } = q(() => it(g), [g]), T = q(() => {
|
|
2318
|
+
const w = lt(W, n, r, we), c = /* @__PURE__ */ new Map();
|
|
2289
2319
|
for (const m of w)
|
|
2290
2320
|
c.set(m.event.id, m.position);
|
|
2291
2321
|
return c;
|
|
2292
|
-
}, [W, n, r]),
|
|
2293
|
-
if (!
|
|
2294
|
-
const w =
|
|
2322
|
+
}, [W, n, r]), I = q(() => dt(r), [r]), G = /* @__PURE__ */ new Date(), F = ce(n), O = q(() => {
|
|
2323
|
+
if (!F) return 0;
|
|
2324
|
+
const w = G.getHours() + G.getMinutes() / 60;
|
|
2295
2325
|
return w < r.startHour || w > r.endHour ? -1 : (w - r.startHour) * we;
|
|
2296
|
-
}, [
|
|
2297
|
-
|
|
2298
|
-
const w =
|
|
2326
|
+
}, [F, r, G]), A = re(null);
|
|
2327
|
+
Fe(() => {
|
|
2328
|
+
const w = A.current;
|
|
2299
2329
|
if (!w) return;
|
|
2300
2330
|
const c = () => {
|
|
2301
2331
|
let m;
|
|
2302
|
-
if (
|
|
2303
|
-
const
|
|
2304
|
-
m = Math.max(
|
|
2332
|
+
if (F) {
|
|
2333
|
+
const D = (/* @__PURE__ */ new Date()).getHours();
|
|
2334
|
+
m = Math.max(D - 1, r.startHour);
|
|
2305
2335
|
} else {
|
|
2306
|
-
const
|
|
2307
|
-
|
|
2336
|
+
const D = n.getDay(), H = a?.[D];
|
|
2337
|
+
H?.enabled && H.from > 0 ? m = Math.max(H.from - 1, r.startHour) : m = Math.max(7, r.startHour);
|
|
2308
2338
|
}
|
|
2309
2339
|
const M = (m - r.startHour) * we;
|
|
2310
2340
|
w.scrollTo({
|
|
@@ -2315,33 +2345,33 @@ function Zn({
|
|
|
2315
2345
|
requestAnimationFrame(() => {
|
|
2316
2346
|
requestAnimationFrame(c);
|
|
2317
2347
|
});
|
|
2318
|
-
}, [n, a, r,
|
|
2319
|
-
const E =
|
|
2348
|
+
}, [n, a, r, F]);
|
|
2349
|
+
const E = Ue(), $ = L(
|
|
2320
2350
|
(w) => {
|
|
2321
2351
|
E?.startSelection(w);
|
|
2322
2352
|
},
|
|
2323
2353
|
[E]
|
|
2324
|
-
),
|
|
2354
|
+
), P = L(
|
|
2325
2355
|
(w) => {
|
|
2326
2356
|
E?.updateSelection(w);
|
|
2327
2357
|
},
|
|
2328
2358
|
[E]
|
|
2329
|
-
),
|
|
2359
|
+
), k = L(() => {
|
|
2330
2360
|
E?.endSelection();
|
|
2331
2361
|
}, [E]), h = L(
|
|
2332
2362
|
(w) => {
|
|
2333
2363
|
i?.(w);
|
|
2334
2364
|
},
|
|
2335
2365
|
[i]
|
|
2336
|
-
),
|
|
2337
|
-
return /* @__PURE__ */ o("div", { className: s("flex flex-col h-full",
|
|
2366
|
+
), R = n.toLocaleDateString([], { weekday: "short" }), _ = n.getDate(), B = ce(n);
|
|
2367
|
+
return /* @__PURE__ */ o("div", { className: s("flex flex-col h-full", C), children: [
|
|
2338
2368
|
/* @__PURE__ */ e(
|
|
2339
2369
|
"div",
|
|
2340
2370
|
{
|
|
2341
2371
|
className: s(
|
|
2342
2372
|
"flex items-center gap-3 border-b px-4 py-3",
|
|
2343
2373
|
u?.columnHeader,
|
|
2344
|
-
|
|
2374
|
+
B && u?.columnHeaderToday
|
|
2345
2375
|
),
|
|
2346
2376
|
children: /* @__PURE__ */ o("div", { className: "flex flex-col items-center", children: [
|
|
2347
2377
|
/* @__PURE__ */ e(
|
|
@@ -2349,9 +2379,9 @@ function Zn({
|
|
|
2349
2379
|
{
|
|
2350
2380
|
className: s(
|
|
2351
2381
|
"text-[11px] font-medium uppercase tracking-wide",
|
|
2352
|
-
|
|
2382
|
+
B ? "text-primary" : "text-muted-foreground"
|
|
2353
2383
|
),
|
|
2354
|
-
children:
|
|
2384
|
+
children: R
|
|
2355
2385
|
}
|
|
2356
2386
|
),
|
|
2357
2387
|
/* @__PURE__ */ e(
|
|
@@ -2360,18 +2390,18 @@ function Zn({
|
|
|
2360
2390
|
className: s(
|
|
2361
2391
|
"flex items-center justify-center rounded-full mt-0.5",
|
|
2362
2392
|
"size-12 text-3xl font-normal",
|
|
2363
|
-
|
|
2393
|
+
B ? "bg-primary text-primary-foreground" : "text-foreground"
|
|
2364
2394
|
),
|
|
2365
|
-
children:
|
|
2395
|
+
children: _
|
|
2366
2396
|
}
|
|
2367
2397
|
)
|
|
2368
2398
|
] })
|
|
2369
2399
|
}
|
|
2370
2400
|
),
|
|
2371
|
-
|
|
2401
|
+
S.length > 0 && /* @__PURE__ */ e(
|
|
2372
2402
|
An,
|
|
2373
2403
|
{
|
|
2374
|
-
events:
|
|
2404
|
+
events: S,
|
|
2375
2405
|
date: n,
|
|
2376
2406
|
onEventClick: h,
|
|
2377
2407
|
disablePopover: !!i && !b,
|
|
@@ -2382,11 +2412,11 @@ function Zn({
|
|
|
2382
2412
|
/* @__PURE__ */ e(
|
|
2383
2413
|
"div",
|
|
2384
2414
|
{
|
|
2385
|
-
ref:
|
|
2415
|
+
ref: A,
|
|
2386
2416
|
className: s("flex-1", u?.scrollContainer),
|
|
2387
2417
|
children: /* @__PURE__ */ o("div", { className: "relative min-h-full", children: [
|
|
2388
|
-
|
|
2389
|
-
const M = !
|
|
2418
|
+
I.map((w, c) => {
|
|
2419
|
+
const M = !ct(n, w, a);
|
|
2390
2420
|
return /* @__PURE__ */ o(
|
|
2391
2421
|
"div",
|
|
2392
2422
|
{
|
|
@@ -2419,36 +2449,36 @@ function Zn({
|
|
|
2419
2449
|
}
|
|
2420
2450
|
),
|
|
2421
2451
|
/* @__PURE__ */ o("div", { className: "relative flex-1", children: [
|
|
2422
|
-
|
|
2452
|
+
F && !M && /* @__PURE__ */ e("div", { className: "absolute inset-0 bg-primary/5" }),
|
|
2423
2453
|
c !== 0 && /* @__PURE__ */ e("div", { className: "pointer-events-none absolute inset-x-0 top-0 border-b border-border/50" }),
|
|
2424
|
-
N.slice(1).map((
|
|
2454
|
+
N.slice(1).map((D) => /* @__PURE__ */ e(
|
|
2425
2455
|
"div",
|
|
2426
2456
|
{
|
|
2427
2457
|
className: "pointer-events-none absolute inset-x-0 border-b border-dashed border-border/30",
|
|
2428
|
-
style: { top: `${
|
|
2458
|
+
style: { top: `${D / 60 * 100}%` }
|
|
2429
2459
|
},
|
|
2430
|
-
|
|
2460
|
+
D
|
|
2431
2461
|
)),
|
|
2432
|
-
N.map((
|
|
2433
|
-
const
|
|
2462
|
+
N.map((D, H) => {
|
|
2463
|
+
const Q = { date: n, hour: w, minute: D };
|
|
2434
2464
|
return /* @__PURE__ */ e(
|
|
2435
|
-
|
|
2465
|
+
kt,
|
|
2436
2466
|
{
|
|
2437
|
-
slot:
|
|
2438
|
-
onSelectionStart:
|
|
2439
|
-
onSelectionMove:
|
|
2440
|
-
onSelectionEnd:
|
|
2441
|
-
isSelected: E?.isSlotSelected(
|
|
2467
|
+
slot: Q,
|
|
2468
|
+
onSelectionStart: $,
|
|
2469
|
+
onSelectionMove: P,
|
|
2470
|
+
onSelectionEnd: k,
|
|
2471
|
+
isSelected: E?.isSlotSelected(Q) ?? !1,
|
|
2442
2472
|
isSelecting: E?.isSelecting ?? !1,
|
|
2443
2473
|
disabled: M,
|
|
2444
2474
|
className: "absolute inset-x-0",
|
|
2445
2475
|
style: {
|
|
2446
|
-
top: `${
|
|
2476
|
+
top: `${H * f}%`,
|
|
2447
2477
|
height: `${f}%`
|
|
2448
2478
|
},
|
|
2449
|
-
ariaLabel: `Add event at ${Ae(w)}:${String(
|
|
2479
|
+
ariaLabel: `Add event at ${Ae(w)}:${String(D).padStart(2, "0")}`
|
|
2450
2480
|
},
|
|
2451
|
-
|
|
2481
|
+
D
|
|
2452
2482
|
);
|
|
2453
2483
|
})
|
|
2454
2484
|
] })
|
|
@@ -2463,7 +2493,7 @@ function Zn({
|
|
|
2463
2493
|
className: "absolute top-0 bottom-0 right-0 pointer-events-none",
|
|
2464
2494
|
style: { left: _e },
|
|
2465
2495
|
children: W.map((w) => {
|
|
2466
|
-
const c =
|
|
2496
|
+
const c = T.get(w.id);
|
|
2467
2497
|
if (!c) return null;
|
|
2468
2498
|
const m = `calc(${c.width}% - 2px)`, M = `max(${Ie}px, ${m})`;
|
|
2469
2499
|
return l ? /* @__PURE__ */ e(
|
|
@@ -2480,7 +2510,7 @@ function Zn({
|
|
|
2480
2510
|
},
|
|
2481
2511
|
w.id
|
|
2482
2512
|
) : /* @__PURE__ */ e(
|
|
2483
|
-
|
|
2513
|
+
wt,
|
|
2484
2514
|
{
|
|
2485
2515
|
event: w,
|
|
2486
2516
|
position: {
|
|
@@ -2501,7 +2531,7 @@ function Zn({
|
|
|
2501
2531
|
})
|
|
2502
2532
|
}
|
|
2503
2533
|
),
|
|
2504
|
-
|
|
2534
|
+
F && O >= 0 && /* @__PURE__ */ o(
|
|
2505
2535
|
"div",
|
|
2506
2536
|
{
|
|
2507
2537
|
className: s(
|
|
@@ -2509,7 +2539,7 @@ function Zn({
|
|
|
2509
2539
|
u?.currentTimeIndicator
|
|
2510
2540
|
),
|
|
2511
2541
|
style: {
|
|
2512
|
-
top:
|
|
2542
|
+
top: O,
|
|
2513
2543
|
left: _e
|
|
2514
2544
|
},
|
|
2515
2545
|
children: [
|
|
@@ -2549,38 +2579,38 @@ function Qn({
|
|
|
2549
2579
|
onSlotSelect: p,
|
|
2550
2580
|
onDayClick: i,
|
|
2551
2581
|
className: y,
|
|
2552
|
-
renderEvent:
|
|
2582
|
+
renderEvent: C,
|
|
2553
2583
|
renderPopover: l,
|
|
2554
2584
|
showMoreMode: b,
|
|
2555
2585
|
showMoreEventsInPopover: v = !1,
|
|
2556
2586
|
slots: u,
|
|
2557
2587
|
classNames: x
|
|
2558
2588
|
}) {
|
|
2559
|
-
const f = b ?? (v ? "popover" : "expand"), N = u?.dayCellHeader, g = u?.dayCellFooter, [W,
|
|
2589
|
+
const f = b ?? (v ? "popover" : "expand"), N = u?.dayCellHeader, g = u?.dayCellFooter, [W, S] = Z(null), [T, I] = Z(null), G = q(() => zt(n, r), [n, r]), F = q(() => {
|
|
2560
2590
|
const h = /* @__PURE__ */ new Map();
|
|
2561
|
-
for (const
|
|
2562
|
-
const
|
|
2563
|
-
|
|
2591
|
+
for (const R of G) {
|
|
2592
|
+
const _ = R.date.toDateString(), B = Ve(t, R.date);
|
|
2593
|
+
B.sort((w, c) => w.startDate.getTime() - c.startDate.getTime()), h.set(_, B);
|
|
2564
2594
|
}
|
|
2565
2595
|
return h;
|
|
2566
|
-
}, [
|
|
2596
|
+
}, [G, t]), O = Ue(), A = L(
|
|
2567
2597
|
(h) => {
|
|
2568
|
-
|
|
2598
|
+
O?.startSelection(h);
|
|
2569
2599
|
},
|
|
2570
|
-
[
|
|
2600
|
+
[O]
|
|
2571
2601
|
), E = L(
|
|
2572
2602
|
(h) => {
|
|
2573
|
-
|
|
2603
|
+
O?.updateSelection(h);
|
|
2574
2604
|
},
|
|
2575
|
-
[
|
|
2576
|
-
),
|
|
2577
|
-
|
|
2578
|
-
}, [
|
|
2605
|
+
[O]
|
|
2606
|
+
), $ = L(() => {
|
|
2607
|
+
O?.endSelection();
|
|
2608
|
+
}, [O]), P = L(
|
|
2579
2609
|
(h) => {
|
|
2580
2610
|
i?.(h);
|
|
2581
2611
|
},
|
|
2582
2612
|
[i]
|
|
2583
|
-
),
|
|
2613
|
+
), k = r === 0 ? Rn : Wn;
|
|
2584
2614
|
return /* @__PURE__ */ o("div", { className: s("flex flex-col h-full overflow-hidden", y), children: [
|
|
2585
2615
|
/* @__PURE__ */ e("div", { className: "flex flex-col flex-1 overflow-auto", children: /* @__PURE__ */ o("div", { className: "flex flex-col flex-1 min-w-[560px] sm:min-w-0", children: [
|
|
2586
2616
|
/* @__PURE__ */ e(
|
|
@@ -2590,12 +2620,12 @@ function Qn({
|
|
|
2590
2620
|
"grid grid-cols-7 border-b !sticky !top-0 bg-background z-10",
|
|
2591
2621
|
x?.weekdayHeader
|
|
2592
2622
|
),
|
|
2593
|
-
children:
|
|
2623
|
+
children: k.map((h, R) => /* @__PURE__ */ o(
|
|
2594
2624
|
"div",
|
|
2595
2625
|
{
|
|
2596
2626
|
className: s(
|
|
2597
2627
|
"py-2 sm:py-2.5 text-center text-[11px] uppercase font-medium tracking-wide text-muted-foreground",
|
|
2598
|
-
|
|
2628
|
+
R >= 5 && "text-muted-foreground/70",
|
|
2599
2629
|
// Weekend
|
|
2600
2630
|
x?.weekdayLabel
|
|
2601
2631
|
),
|
|
@@ -2608,29 +2638,29 @@ function Qn({
|
|
|
2608
2638
|
))
|
|
2609
2639
|
}
|
|
2610
2640
|
),
|
|
2611
|
-
/* @__PURE__ */ e("div", { className: s("grid grid-cols-7 auto-rows-min", x?.monthGrid), children:
|
|
2612
|
-
const
|
|
2641
|
+
/* @__PURE__ */ e("div", { className: s("grid grid-cols-7 auto-rows-min", x?.monthGrid), children: G.map((h) => {
|
|
2642
|
+
const R = h.date.toDateString(), _ = F.get(R) || [], B = ce(h.date), w = h.date.getDay() === 0 || h.date.getDay() === 6, c = _.length > ve;
|
|
2613
2643
|
return /* @__PURE__ */ o(
|
|
2614
2644
|
Ln,
|
|
2615
2645
|
{
|
|
2616
2646
|
date: h.date,
|
|
2617
|
-
dataAttributes: { "data-day-key":
|
|
2618
|
-
onSelectionStart:
|
|
2647
|
+
dataAttributes: { "data-day-key": R },
|
|
2648
|
+
onSelectionStart: A,
|
|
2619
2649
|
onSelectionMove: E,
|
|
2620
|
-
onSelectionEnd:
|
|
2621
|
-
isSelected:
|
|
2622
|
-
isSelecting:
|
|
2650
|
+
onSelectionEnd: $,
|
|
2651
|
+
isSelected: O?.isSlotSelected({ date: h.date }) ?? !1,
|
|
2652
|
+
isSelecting: O?.isSelecting ?? !1,
|
|
2623
2653
|
className: s(
|
|
2624
2654
|
"relative flex flex-col border-r border-b text-left min-h-[80px] sm:min-h-[100px] overflow-hidden",
|
|
2625
2655
|
"[&:nth-child(7n)]:border-r-0",
|
|
2626
2656
|
!h.isCurrentMonth && "bg-muted/20",
|
|
2627
2657
|
w && h.isCurrentMonth && "bg-muted/10",
|
|
2628
2658
|
x?.dayCell,
|
|
2629
|
-
|
|
2659
|
+
B && x?.dayCellToday,
|
|
2630
2660
|
!h.isCurrentMonth && x?.dayCellOutside,
|
|
2631
2661
|
w && x?.dayCellWeekend
|
|
2632
2662
|
),
|
|
2633
|
-
ariaLabel: `${h.date.toLocaleDateString()} - ${
|
|
2663
|
+
ariaLabel: `${h.date.toLocaleDateString()} - ${_.length} events. Click to create event, double-click to view day.`,
|
|
2634
2664
|
children: [
|
|
2635
2665
|
/* @__PURE__ */ e(
|
|
2636
2666
|
"div",
|
|
@@ -2645,12 +2675,12 @@ function Qn({
|
|
|
2645
2675
|
{
|
|
2646
2676
|
type: "button",
|
|
2647
2677
|
onClick: (m) => {
|
|
2648
|
-
m.stopPropagation(),
|
|
2678
|
+
m.stopPropagation(), P(h.date);
|
|
2649
2679
|
},
|
|
2650
2680
|
className: s(
|
|
2651
2681
|
"flex items-center justify-center rounded-full transition-colors",
|
|
2652
2682
|
"size-7 text-sm font-normal",
|
|
2653
|
-
|
|
2683
|
+
B ? "bg-primary text-primary-foreground" : "hover:bg-muted"
|
|
2654
2684
|
),
|
|
2655
2685
|
children: h.date.getDate()
|
|
2656
2686
|
}
|
|
@@ -2661,8 +2691,8 @@ function Qn({
|
|
|
2661
2691
|
N,
|
|
2662
2692
|
{
|
|
2663
2693
|
date: h.date,
|
|
2664
|
-
events:
|
|
2665
|
-
isToday:
|
|
2694
|
+
events: _,
|
|
2695
|
+
isToday: B,
|
|
2666
2696
|
isCurrentMonth: h.isCurrentMonth,
|
|
2667
2697
|
isWeekend: w,
|
|
2668
2698
|
view: "month"
|
|
@@ -2676,13 +2706,13 @@ function Qn({
|
|
|
2676
2706
|
x?.dayCellContent
|
|
2677
2707
|
),
|
|
2678
2708
|
children: [
|
|
2679
|
-
|
|
2709
|
+
_.slice(0, ve).map((m) => /* @__PURE__ */ e(
|
|
2680
2710
|
"div",
|
|
2681
2711
|
{
|
|
2682
2712
|
onPointerDown: (M) => {
|
|
2683
2713
|
M.stopPropagation();
|
|
2684
2714
|
},
|
|
2685
|
-
children:
|
|
2715
|
+
children: C ? C({ event: m, variant: "compact" }) : /* @__PURE__ */ e(
|
|
2686
2716
|
Ee,
|
|
2687
2717
|
{
|
|
2688
2718
|
event: m,
|
|
@@ -2708,10 +2738,10 @@ function Qn({
|
|
|
2708
2738
|
onPointerDown: (m) => m.stopPropagation(),
|
|
2709
2739
|
onClick: (m) => {
|
|
2710
2740
|
m.stopPropagation();
|
|
2711
|
-
const M = document.querySelector(`[data-day-key="${
|
|
2712
|
-
|
|
2741
|
+
const M = document.querySelector(`[data-day-key="${R}"]`);
|
|
2742
|
+
I({
|
|
2713
2743
|
date: h.date,
|
|
2714
|
-
events:
|
|
2744
|
+
events: _,
|
|
2715
2745
|
rect: M?.getBoundingClientRect() ?? new DOMRect(window.innerWidth / 2 - 180, window.innerHeight / 2 - 240, 0, 0)
|
|
2716
2746
|
});
|
|
2717
2747
|
},
|
|
@@ -2721,7 +2751,7 @@ function Qn({
|
|
|
2721
2751
|
),
|
|
2722
2752
|
children: [
|
|
2723
2753
|
"+",
|
|
2724
|
-
|
|
2754
|
+
_.length - ve,
|
|
2725
2755
|
" more"
|
|
2726
2756
|
]
|
|
2727
2757
|
}
|
|
@@ -2729,8 +2759,8 @@ function Qn({
|
|
|
2729
2759
|
c && f === "popover" && /* @__PURE__ */ o(
|
|
2730
2760
|
ue,
|
|
2731
2761
|
{
|
|
2732
|
-
open: W ===
|
|
2733
|
-
onOpenChange: (m) =>
|
|
2762
|
+
open: W === R,
|
|
2763
|
+
onOpenChange: (m) => S(m ? R : null),
|
|
2734
2764
|
children: [
|
|
2735
2765
|
/* @__PURE__ */ e(me, { asChild: !0, children: /* @__PURE__ */ o(
|
|
2736
2766
|
"button",
|
|
@@ -2738,7 +2768,7 @@ function Qn({
|
|
|
2738
2768
|
type: "button",
|
|
2739
2769
|
onPointerDown: (m) => m.stopPropagation(),
|
|
2740
2770
|
onClick: (m) => {
|
|
2741
|
-
m.stopPropagation(),
|
|
2771
|
+
m.stopPropagation(), S(R);
|
|
2742
2772
|
},
|
|
2743
2773
|
className: s(
|
|
2744
2774
|
"w-full text-left text-xs text-muted-foreground hover:text-foreground hover:underline px-1.5 cursor-pointer",
|
|
@@ -2746,7 +2776,7 @@ function Qn({
|
|
|
2746
2776
|
),
|
|
2747
2777
|
children: [
|
|
2748
2778
|
"+",
|
|
2749
|
-
|
|
2779
|
+
_.length - ve,
|
|
2750
2780
|
" more"
|
|
2751
2781
|
]
|
|
2752
2782
|
}
|
|
@@ -2767,18 +2797,18 @@ function Qn({
|
|
|
2767
2797
|
day: "numeric"
|
|
2768
2798
|
}) }),
|
|
2769
2799
|
/* @__PURE__ */ o("span", { className: "text-xs text-muted-foreground", children: [
|
|
2770
|
-
|
|
2800
|
+
_.length,
|
|
2771
2801
|
" events"
|
|
2772
2802
|
] })
|
|
2773
2803
|
] }),
|
|
2774
|
-
/* @__PURE__ */ e("div", { className: "space-y-1.5", children:
|
|
2804
|
+
/* @__PURE__ */ e("div", { className: "space-y-1.5", children: _.map((m) => /* @__PURE__ */ e("div", { children: C ? C({ event: m, variant: "compact" }) : /* @__PURE__ */ e(
|
|
2775
2805
|
Ee,
|
|
2776
2806
|
{
|
|
2777
2807
|
event: m,
|
|
2778
2808
|
variant: "compact",
|
|
2779
2809
|
badgeVariant: a,
|
|
2780
2810
|
onClick: (M) => {
|
|
2781
|
-
|
|
2811
|
+
S(null), d?.(M);
|
|
2782
2812
|
},
|
|
2783
2813
|
disablePopover: !!d && !l,
|
|
2784
2814
|
renderPopover: l,
|
|
@@ -2795,7 +2825,7 @@ function Qn({
|
|
|
2795
2825
|
"div",
|
|
2796
2826
|
{
|
|
2797
2827
|
onPointerDown: (m) => {
|
|
2798
|
-
m.stopPropagation(),
|
|
2828
|
+
m.stopPropagation(), P(h.date);
|
|
2799
2829
|
},
|
|
2800
2830
|
className: s(
|
|
2801
2831
|
"w-full text-left text-xs text-muted-foreground hover:text-foreground hover:underline px-1.5 cursor-pointer",
|
|
@@ -2803,7 +2833,7 @@ function Qn({
|
|
|
2803
2833
|
),
|
|
2804
2834
|
children: [
|
|
2805
2835
|
"+",
|
|
2806
|
-
|
|
2836
|
+
_.length - ve,
|
|
2807
2837
|
" more"
|
|
2808
2838
|
]
|
|
2809
2839
|
}
|
|
@@ -2815,8 +2845,8 @@ function Qn({
|
|
|
2815
2845
|
g,
|
|
2816
2846
|
{
|
|
2817
2847
|
date: h.date,
|
|
2818
|
-
events:
|
|
2819
|
-
isToday:
|
|
2848
|
+
events: _,
|
|
2849
|
+
isToday: B,
|
|
2820
2850
|
isCurrentMonth: h.isCurrentMonth,
|
|
2821
2851
|
isWeekend: w,
|
|
2822
2852
|
view: "month"
|
|
@@ -2824,35 +2854,35 @@ function Qn({
|
|
|
2824
2854
|
)
|
|
2825
2855
|
]
|
|
2826
2856
|
},
|
|
2827
|
-
|
|
2857
|
+
R
|
|
2828
2858
|
);
|
|
2829
2859
|
}) })
|
|
2830
2860
|
] }) }),
|
|
2831
2861
|
/* @__PURE__ */ e(
|
|
2832
2862
|
Mn,
|
|
2833
2863
|
{
|
|
2834
|
-
isOpen:
|
|
2835
|
-
onClose: () =>
|
|
2836
|
-
date:
|
|
2837
|
-
events:
|
|
2838
|
-
anchorRect:
|
|
2864
|
+
isOpen: T !== null,
|
|
2865
|
+
onClose: () => I(null),
|
|
2866
|
+
date: T?.date ?? /* @__PURE__ */ new Date(),
|
|
2867
|
+
events: T?.events ?? [],
|
|
2868
|
+
anchorRect: T?.rect ?? null,
|
|
2839
2869
|
badgeVariant: a,
|
|
2840
2870
|
onEventClick: d,
|
|
2841
|
-
renderEvent:
|
|
2871
|
+
renderEvent: C,
|
|
2842
2872
|
renderPopover: l
|
|
2843
2873
|
}
|
|
2844
2874
|
)
|
|
2845
2875
|
] });
|
|
2846
2876
|
}
|
|
2847
|
-
const Le = 26,
|
|
2848
|
-
function
|
|
2849
|
-
const r =
|
|
2877
|
+
const Le = 26, ot = 2, Me = 4;
|
|
2878
|
+
function at(t, n) {
|
|
2879
|
+
const r = Xe(t);
|
|
2850
2880
|
for (let d = 0; d < n.length; d++) {
|
|
2851
2881
|
const p = n[d];
|
|
2852
2882
|
if (p && ie(r, p)) return d;
|
|
2853
2883
|
}
|
|
2854
2884
|
const a = n[0];
|
|
2855
|
-
return a && r <
|
|
2885
|
+
return a && r < Xe(a) ? -1 : 7;
|
|
2856
2886
|
}
|
|
2857
2887
|
function _n(t) {
|
|
2858
2888
|
const n = [...t].sort((a, d) => {
|
|
@@ -2864,13 +2894,13 @@ function _n(t) {
|
|
|
2864
2894
|
for (let i = 0; i < r.length; i++) {
|
|
2865
2895
|
const y = r[i];
|
|
2866
2896
|
if (!y) continue;
|
|
2867
|
-
let
|
|
2897
|
+
let C = !0;
|
|
2868
2898
|
for (let l = a.startCol; l <= a.endCol; l++)
|
|
2869
2899
|
if (y[l]) {
|
|
2870
|
-
|
|
2900
|
+
C = !1;
|
|
2871
2901
|
break;
|
|
2872
2902
|
}
|
|
2873
|
-
if (
|
|
2903
|
+
if (C) {
|
|
2874
2904
|
d = i;
|
|
2875
2905
|
break;
|
|
2876
2906
|
}
|
|
@@ -2889,9 +2919,9 @@ function In({
|
|
|
2889
2919
|
disablePopover: r,
|
|
2890
2920
|
renderPopover: a
|
|
2891
2921
|
}) {
|
|
2892
|
-
const [d, p] =
|
|
2922
|
+
const [d, p] = Z(!1), i = de(t.event.color), y = L(() => {
|
|
2893
2923
|
r && n ? n(t.event) : r || p(!0);
|
|
2894
|
-
}, [r, n, t.event]),
|
|
2924
|
+
}, [r, n, t.event]), C = L(() => {
|
|
2895
2925
|
p(!1);
|
|
2896
2926
|
}, []), l = /* @__PURE__ */ o(
|
|
2897
2927
|
"button",
|
|
@@ -2920,9 +2950,9 @@ function In({
|
|
|
2920
2950
|
t.continuesAfter && /* @__PURE__ */ e("span", { className: "text-[9px] opacity-60 flex-shrink-0", children: "▸" })
|
|
2921
2951
|
]
|
|
2922
2952
|
}
|
|
2923
|
-
), b = /* @__PURE__ */ e(
|
|
2953
|
+
), b = /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
|
|
2924
2954
|
/* @__PURE__ */ e("div", { className: "font-medium", children: t.event.title }),
|
|
2925
|
-
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children:
|
|
2955
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: Y(t.event) })
|
|
2926
2956
|
] }) }), v = {
|
|
2927
2957
|
gridColumn: `${t.startCol + 2} / ${t.endCol + 3}`,
|
|
2928
2958
|
gridRow: t.row + 1
|
|
@@ -2932,7 +2962,7 @@ function In({
|
|
|
2932
2962
|
b
|
|
2933
2963
|
] }) }) : /* @__PURE__ */ e("div", { style: v, children: /* @__PURE__ */ o(ue, { open: d, onOpenChange: p, children: [
|
|
2934
2964
|
/* @__PURE__ */ e(me, { asChild: !0, children: l }),
|
|
2935
|
-
/* @__PURE__ */ e(le, { className: "w-80", children: a ? a({ event: t.event, onClose:
|
|
2965
|
+
/* @__PURE__ */ e(le, { className: "w-80", children: a ? a({ event: t.event, onClose: C }) : /* @__PURE__ */ e(Bn, { event: t.event, onClose: C }) })
|
|
2936
2966
|
] }) });
|
|
2937
2967
|
}
|
|
2938
2968
|
function Bn({
|
|
@@ -2954,7 +2984,7 @@ function Bn({
|
|
|
2954
2984
|
children: t.title
|
|
2955
2985
|
}
|
|
2956
2986
|
),
|
|
2957
|
-
/* @__PURE__ */ e("div", { className: "flex items-center gap-1 text-sm text-muted-foreground mt-1 tabular-nums", children:
|
|
2987
|
+
/* @__PURE__ */ e("div", { className: "flex items-center gap-1 text-sm text-muted-foreground mt-1 tabular-nums", children: Y(t) })
|
|
2958
2988
|
] })
|
|
2959
2989
|
] }),
|
|
2960
2990
|
t.description && /* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: t.description }),
|
|
@@ -2982,20 +3012,20 @@ function $n({
|
|
|
2982
3012
|
onEventClick: p,
|
|
2983
3013
|
disablePopover: i = !1,
|
|
2984
3014
|
renderPopover: y,
|
|
2985
|
-
className:
|
|
3015
|
+
className: C
|
|
2986
3016
|
}) {
|
|
2987
|
-
const l =
|
|
3017
|
+
const l = q(() => {
|
|
2988
3018
|
if (t.length === 0) return [];
|
|
2989
3019
|
const g = t.map((W) => {
|
|
2990
|
-
const
|
|
2991
|
-
if (
|
|
2992
|
-
const
|
|
3020
|
+
const S = at(W.startDate, n), T = at(W.endDate, n), I = Math.max(0, S), G = Math.min(6, T);
|
|
3021
|
+
if (I > 6 || G < 0) return null;
|
|
3022
|
+
const F = S < 0, O = T > 6, E = ze(W) && ie(W.startDate, W.endDate);
|
|
2993
3023
|
return {
|
|
2994
3024
|
event: W,
|
|
2995
|
-
startCol:
|
|
2996
|
-
endCol:
|
|
2997
|
-
continuesBefore:
|
|
2998
|
-
continuesAfter:
|
|
3025
|
+
startCol: I,
|
|
3026
|
+
endCol: G,
|
|
3027
|
+
continuesBefore: F,
|
|
3028
|
+
continuesAfter: O,
|
|
2999
3029
|
isSingleDayAllDay: E
|
|
3000
3030
|
};
|
|
3001
3031
|
}).filter(Boolean);
|
|
@@ -3005,19 +3035,19 @@ function $n({
|
|
|
3005
3035
|
const b = Math.max(...l.map((g) => g.row)) + 1, v = Math.min(b, Me), u = b > Me, x = u ? l.filter((g) => g.row >= Me).length : 0, f = [
|
|
3006
3036
|
`${r}px`,
|
|
3007
3037
|
...d.map((g) => g > a ? `${g}px` : `minmax(${a}px, 1fr)`)
|
|
3008
|
-
].join(" "), N = v * Le + (v - 1) *
|
|
3038
|
+
].join(" "), N = v * Le + (v - 1) * ot + 8;
|
|
3009
3039
|
return /* @__PURE__ */ o(
|
|
3010
3040
|
"div",
|
|
3011
3041
|
{
|
|
3012
3042
|
className: s(
|
|
3013
3043
|
"ic-all-day-row border-b bg-muted/20 relative",
|
|
3014
|
-
|
|
3044
|
+
C
|
|
3015
3045
|
),
|
|
3016
3046
|
style: {
|
|
3017
3047
|
display: "grid",
|
|
3018
3048
|
gridTemplateColumns: f,
|
|
3019
3049
|
gridTemplateRows: `repeat(${v}, ${Le}px)`,
|
|
3020
|
-
gap: `${
|
|
3050
|
+
gap: `${ot}px 0`,
|
|
3021
3051
|
paddingTop: 4,
|
|
3022
3052
|
paddingBottom: 4,
|
|
3023
3053
|
minHeight: N
|
|
@@ -3074,7 +3104,7 @@ function $n({
|
|
|
3074
3104
|
}
|
|
3075
3105
|
);
|
|
3076
3106
|
}
|
|
3077
|
-
const he = 96, Ne = 56,
|
|
3107
|
+
const he = 96, Ne = 56, st = 72, ne = 120, Te = 100, Hn = 3;
|
|
3078
3108
|
function er({
|
|
3079
3109
|
events: t,
|
|
3080
3110
|
date: n,
|
|
@@ -3084,7 +3114,7 @@ function er({
|
|
|
3084
3114
|
slotDuration: p = 30,
|
|
3085
3115
|
badgeVariant: i = "colored",
|
|
3086
3116
|
onEventClick: y,
|
|
3087
|
-
onSlotSelect:
|
|
3117
|
+
onSlotSelect: C,
|
|
3088
3118
|
onDayClick: l,
|
|
3089
3119
|
className: b,
|
|
3090
3120
|
renderEvent: v,
|
|
@@ -3092,118 +3122,118 @@ function er({
|
|
|
3092
3122
|
slots: x,
|
|
3093
3123
|
classNames: f
|
|
3094
3124
|
}) {
|
|
3095
|
-
const N = 60 / p, g = 100 / N, W =
|
|
3125
|
+
const N = 60 / p, g = 100 / N, W = q(() => {
|
|
3096
3126
|
const c = [];
|
|
3097
3127
|
for (let m = 0; m < N; m++)
|
|
3098
3128
|
c.push(m * p);
|
|
3099
3129
|
return c;
|
|
3100
|
-
}, [N, p]),
|
|
3130
|
+
}, [N, p]), S = q(
|
|
3101
3131
|
() => At(n, r),
|
|
3102
3132
|
[n, r]
|
|
3103
|
-
),
|
|
3104
|
-
() =>
|
|
3133
|
+
), T = q(
|
|
3134
|
+
() => dt(a),
|
|
3105
3135
|
[a]
|
|
3106
|
-
),
|
|
3136
|
+
), I = q(() => {
|
|
3107
3137
|
const c = /* @__PURE__ */ new Map();
|
|
3108
|
-
for (const m of
|
|
3109
|
-
const M = m.toDateString(),
|
|
3110
|
-
|
|
3138
|
+
for (const m of S) {
|
|
3139
|
+
const M = m.toDateString(), D = Ve(t, m), { singleDay: H, multiDay: Q } = it(D), z = lt(
|
|
3140
|
+
H,
|
|
3111
3141
|
m,
|
|
3112
3142
|
a,
|
|
3113
3143
|
he
|
|
3114
|
-
),
|
|
3115
|
-
let
|
|
3116
|
-
for (const
|
|
3117
|
-
if (
|
|
3118
|
-
const ee = Math.round(100 /
|
|
3119
|
-
|
|
3144
|
+
), j = /* @__PURE__ */ new Map();
|
|
3145
|
+
let te = 1;
|
|
3146
|
+
for (const J of z)
|
|
3147
|
+
if (j.set(J.event.id, J.position), J.position.width > 0) {
|
|
3148
|
+
const ee = Math.round(100 / J.position.width);
|
|
3149
|
+
te = Math.max(te, ee);
|
|
3120
3150
|
}
|
|
3121
3151
|
c.set(M, {
|
|
3122
|
-
singleDay:
|
|
3123
|
-
multiDay:
|
|
3124
|
-
positions:
|
|
3125
|
-
maxOverlapping:
|
|
3152
|
+
singleDay: H,
|
|
3153
|
+
multiDay: Q,
|
|
3154
|
+
positions: j,
|
|
3155
|
+
maxOverlapping: te
|
|
3126
3156
|
});
|
|
3127
3157
|
}
|
|
3128
3158
|
return c;
|
|
3129
|
-
}, [
|
|
3159
|
+
}, [S, t, a]), G = q(() => {
|
|
3130
3160
|
const c = /* @__PURE__ */ new Map();
|
|
3131
|
-
for (const { multiDay: m } of
|
|
3161
|
+
for (const { multiDay: m } of I.values())
|
|
3132
3162
|
for (const M of m)
|
|
3133
3163
|
c.set(M.id, M);
|
|
3134
3164
|
return Array.from(c.values());
|
|
3135
|
-
}, [
|
|
3136
|
-
if (
|
|
3137
|
-
const c =
|
|
3165
|
+
}, [I]), F = /* @__PURE__ */ new Date(), O = S.findIndex((c) => ce(c)), A = q(() => {
|
|
3166
|
+
if (O < 0) return -1;
|
|
3167
|
+
const c = F.getHours() + F.getMinutes() / 60;
|
|
3138
3168
|
return c < a.startHour || c > a.endHour ? -1 : (c - a.startHour) * he;
|
|
3139
|
-
}, [
|
|
3140
|
-
|
|
3169
|
+
}, [O, a, F]), E = re(null);
|
|
3170
|
+
Fe(() => {
|
|
3141
3171
|
const c = E.current;
|
|
3142
3172
|
if (!c) return;
|
|
3143
3173
|
const m = () => {
|
|
3144
3174
|
let M;
|
|
3145
|
-
if (
|
|
3146
|
-
const
|
|
3147
|
-
M = Math.max(
|
|
3175
|
+
if (O !== -1) {
|
|
3176
|
+
const H = (/* @__PURE__ */ new Date()).getHours();
|
|
3177
|
+
M = Math.max(H - 1, a.startHour);
|
|
3148
3178
|
} else {
|
|
3149
|
-
const
|
|
3150
|
-
let
|
|
3151
|
-
if (
|
|
3152
|
-
const
|
|
3153
|
-
|
|
3179
|
+
const Q = (/* @__PURE__ */ new Date()).getDay();
|
|
3180
|
+
let z = d?.[Q];
|
|
3181
|
+
if (!z?.enabled || z.from === 0) {
|
|
3182
|
+
const j = d?.[1];
|
|
3183
|
+
j?.enabled && (z = j);
|
|
3154
3184
|
}
|
|
3155
|
-
|
|
3156
|
-
|
|
3185
|
+
z?.enabled && z.from > 0 ? M = Math.max(
|
|
3186
|
+
z.from - 1,
|
|
3157
3187
|
a.startHour
|
|
3158
3188
|
) : M = Math.max(7, a.startHour);
|
|
3159
3189
|
}
|
|
3160
|
-
const
|
|
3190
|
+
const D = (M - a.startHour) * he;
|
|
3161
3191
|
c.scrollTo({
|
|
3162
|
-
top:
|
|
3192
|
+
top: D,
|
|
3163
3193
|
behavior: "instant"
|
|
3164
3194
|
});
|
|
3165
3195
|
};
|
|
3166
3196
|
requestAnimationFrame(() => {
|
|
3167
3197
|
requestAnimationFrame(m);
|
|
3168
3198
|
});
|
|
3169
|
-
}, [n, d, a,
|
|
3170
|
-
const
|
|
3199
|
+
}, [n, d, a, O]);
|
|
3200
|
+
const $ = Ue(), P = L(
|
|
3171
3201
|
(c) => {
|
|
3172
|
-
|
|
3202
|
+
$?.startSelection(c);
|
|
3173
3203
|
},
|
|
3174
|
-
[
|
|
3175
|
-
),
|
|
3204
|
+
[$]
|
|
3205
|
+
), k = L(
|
|
3176
3206
|
(c) => {
|
|
3177
|
-
|
|
3207
|
+
$?.updateSelection(c);
|
|
3178
3208
|
},
|
|
3179
|
-
[
|
|
3209
|
+
[$]
|
|
3180
3210
|
), h = L(() => {
|
|
3181
|
-
|
|
3182
|
-
}, [
|
|
3211
|
+
$?.endSelection();
|
|
3212
|
+
}, [$]), R = L(
|
|
3183
3213
|
(c) => {
|
|
3184
3214
|
y?.(c);
|
|
3185
3215
|
},
|
|
3186
3216
|
[y]
|
|
3187
|
-
),
|
|
3217
|
+
), _ = Ne + 7 * ne, B = q(() => {
|
|
3188
3218
|
const c = [];
|
|
3189
|
-
for (const m of
|
|
3190
|
-
const M = m.toDateString(),
|
|
3191
|
-
|
|
3192
|
-
Math.max(
|
|
3193
|
-
) : c.push(
|
|
3219
|
+
for (const m of S) {
|
|
3220
|
+
const M = m.toDateString(), H = I.get(M)?.maxOverlapping ?? 1;
|
|
3221
|
+
H > Hn ? c.push(
|
|
3222
|
+
Math.max(ne, H * Te)
|
|
3223
|
+
) : c.push(ne);
|
|
3194
3224
|
}
|
|
3195
3225
|
return c;
|
|
3196
|
-
}, [
|
|
3226
|
+
}, [S, I]), w = Ne + B.reduce((c, m) => c + m, 0);
|
|
3197
3227
|
return /* @__PURE__ */ o("div", { className: s("ic-week-view flex flex-col h-full", b), children: [
|
|
3198
|
-
|
|
3228
|
+
G.length > 0 && /* @__PURE__ */ e(
|
|
3199
3229
|
$n,
|
|
3200
3230
|
{
|
|
3201
|
-
events:
|
|
3202
|
-
weekDays:
|
|
3231
|
+
events: G,
|
|
3232
|
+
weekDays: S,
|
|
3203
3233
|
hourColumnWidth: Ne,
|
|
3204
|
-
minDayColumnWidth:
|
|
3205
|
-
dayColumnWidths:
|
|
3206
|
-
onEventClick:
|
|
3234
|
+
minDayColumnWidth: ne,
|
|
3235
|
+
dayColumnWidths: B,
|
|
3236
|
+
onEventClick: R,
|
|
3207
3237
|
disablePopover: !!y && !u,
|
|
3208
3238
|
renderPopover: u,
|
|
3209
3239
|
...f?.multiDayBanner && {
|
|
@@ -3219,13 +3249,13 @@ function er({
|
|
|
3219
3249
|
"ic-week-scroll-container flex-1",
|
|
3220
3250
|
f?.scrollContainer
|
|
3221
3251
|
),
|
|
3222
|
-
children: /* @__PURE__ */ o("div", { style: { minWidth: Math.max(
|
|
3252
|
+
children: /* @__PURE__ */ o("div", { style: { minWidth: Math.max(_, w) }, children: [
|
|
3223
3253
|
/* @__PURE__ */ e("div", { className: "ic-week-header sticky top-0 z-20 border-b bg-background", children: /* @__PURE__ */ o("div", { className: "flex", children: [
|
|
3224
3254
|
/* @__PURE__ */ e(
|
|
3225
3255
|
"div",
|
|
3226
3256
|
{
|
|
3227
3257
|
className: "flex-shrink-0 flex items-end justify-center pb-2 text-[10px] text-muted-foreground/70",
|
|
3228
|
-
style: { width: Ne, height:
|
|
3258
|
+
style: { width: Ne, height: st },
|
|
3229
3259
|
children: /* @__PURE__ */ o("span", { className: "hidden sm:inline", children: [
|
|
3230
3260
|
"GMT",
|
|
3231
3261
|
(() => {
|
|
@@ -3235,8 +3265,8 @@ function er({
|
|
|
3235
3265
|
] })
|
|
3236
3266
|
}
|
|
3237
3267
|
),
|
|
3238
|
-
|
|
3239
|
-
const M = ce(c),
|
|
3268
|
+
S.map((c, m) => {
|
|
3269
|
+
const M = ce(c), D = B[m] ?? ne, H = D > ne;
|
|
3240
3270
|
return /* @__PURE__ */ o(
|
|
3241
3271
|
"div",
|
|
3242
3272
|
{
|
|
@@ -3246,8 +3276,8 @@ function er({
|
|
|
3246
3276
|
M && f?.columnHeaderToday
|
|
3247
3277
|
),
|
|
3248
3278
|
style: {
|
|
3249
|
-
height:
|
|
3250
|
-
minWidth:
|
|
3279
|
+
height: st,
|
|
3280
|
+
minWidth: H ? D : ne
|
|
3251
3281
|
},
|
|
3252
3282
|
children: [
|
|
3253
3283
|
/* @__PURE__ */ e(
|
|
@@ -3288,7 +3318,7 @@ function er({
|
|
|
3288
3318
|
f?.timeGutter
|
|
3289
3319
|
),
|
|
3290
3320
|
style: { width: Ne },
|
|
3291
|
-
children:
|
|
3321
|
+
children: T.map((c, m) => /* @__PURE__ */ e(
|
|
3292
3322
|
"div",
|
|
3293
3323
|
{
|
|
3294
3324
|
className: "relative",
|
|
@@ -3308,20 +3338,20 @@ function er({
|
|
|
3308
3338
|
))
|
|
3309
3339
|
}
|
|
3310
3340
|
),
|
|
3311
|
-
/* @__PURE__ */ e("div", { className: "ic-week-grid relative flex-1", children: /* @__PURE__ */ e("div", { className: "flex divide-x", children:
|
|
3312
|
-
const M = c.toDateString(),
|
|
3341
|
+
/* @__PURE__ */ e("div", { className: "ic-week-grid relative flex-1", children: /* @__PURE__ */ e("div", { className: "flex divide-x", children: S.map((c, m) => {
|
|
3342
|
+
const M = c.toDateString(), D = I.get(M), H = B[m] ?? ne, Q = H > ne;
|
|
3313
3343
|
return /* @__PURE__ */ o(
|
|
3314
3344
|
"div",
|
|
3315
3345
|
{
|
|
3316
3346
|
className: "ic-day-column relative flex-1",
|
|
3317
3347
|
style: {
|
|
3318
|
-
minWidth:
|
|
3348
|
+
minWidth: Q ? H : ne
|
|
3319
3349
|
},
|
|
3320
3350
|
children: [
|
|
3321
|
-
|
|
3322
|
-
const
|
|
3351
|
+
T.map((z, j) => {
|
|
3352
|
+
const J = !ct(
|
|
3323
3353
|
c,
|
|
3324
|
-
|
|
3354
|
+
z,
|
|
3325
3355
|
d
|
|
3326
3356
|
);
|
|
3327
3357
|
return /* @__PURE__ */ o(
|
|
@@ -3329,14 +3359,14 @@ function er({
|
|
|
3329
3359
|
{
|
|
3330
3360
|
className: s(
|
|
3331
3361
|
"relative",
|
|
3332
|
-
|
|
3333
|
-
ce(c) && !
|
|
3362
|
+
J && "bg-calendar-disabled-hour",
|
|
3363
|
+
ce(c) && !J && "bg-primary/5",
|
|
3334
3364
|
f?.timeSlot,
|
|
3335
|
-
|
|
3365
|
+
J ? f?.timeSlotNonWorking : f?.timeSlotWorking
|
|
3336
3366
|
),
|
|
3337
3367
|
style: { height: he },
|
|
3338
3368
|
children: [
|
|
3339
|
-
|
|
3369
|
+
j !== 0 && /* @__PURE__ */ e("div", { className: "pointer-events-none absolute inset-x-0 top-0 border-b border-border/50" }),
|
|
3340
3370
|
W.slice(1).map((ee) => /* @__PURE__ */ e(
|
|
3341
3371
|
"div",
|
|
3342
3372
|
{
|
|
@@ -3348,59 +3378,59 @@ function er({
|
|
|
3348
3378
|
W.map((ee, xe) => {
|
|
3349
3379
|
const ye = {
|
|
3350
3380
|
date: c,
|
|
3351
|
-
hour:
|
|
3381
|
+
hour: z,
|
|
3352
3382
|
minute: ee
|
|
3353
3383
|
};
|
|
3354
3384
|
return /* @__PURE__ */ e(
|
|
3355
|
-
|
|
3385
|
+
kt,
|
|
3356
3386
|
{
|
|
3357
3387
|
slot: ye,
|
|
3358
|
-
onSelectionStart:
|
|
3359
|
-
onSelectionMove:
|
|
3388
|
+
onSelectionStart: P,
|
|
3389
|
+
onSelectionMove: k,
|
|
3360
3390
|
onSelectionEnd: h,
|
|
3361
|
-
isSelected:
|
|
3362
|
-
isSelecting:
|
|
3363
|
-
disabled:
|
|
3391
|
+
isSelected: $?.isSlotSelected(ye) ?? !1,
|
|
3392
|
+
isSelecting: $?.isSelecting ?? !1,
|
|
3393
|
+
disabled: J,
|
|
3364
3394
|
className: "absolute inset-x-0",
|
|
3365
3395
|
style: {
|
|
3366
3396
|
top: `${xe * g}%`,
|
|
3367
3397
|
height: `${g}%`
|
|
3368
3398
|
},
|
|
3369
|
-
ariaLabel: `Add event on ${c.toLocaleDateString()} at ${Ae(
|
|
3399
|
+
ariaLabel: `Add event on ${c.toLocaleDateString()} at ${Ae(z)}:${String(ee).padStart(2, "0")}`
|
|
3370
3400
|
},
|
|
3371
3401
|
ee
|
|
3372
3402
|
);
|
|
3373
3403
|
})
|
|
3374
3404
|
]
|
|
3375
3405
|
},
|
|
3376
|
-
|
|
3406
|
+
z
|
|
3377
3407
|
);
|
|
3378
3408
|
}),
|
|
3379
|
-
|
|
3380
|
-
const
|
|
3381
|
-
if (!
|
|
3382
|
-
const
|
|
3409
|
+
D?.singleDay.map((z) => {
|
|
3410
|
+
const j = D.positions.get(z.id);
|
|
3411
|
+
if (!j) return null;
|
|
3412
|
+
const te = `calc(${j.width}% - 2px)`, J = `max(${Te}px, ${te})`;
|
|
3383
3413
|
return v ? /* @__PURE__ */ e(
|
|
3384
3414
|
"div",
|
|
3385
3415
|
{
|
|
3386
3416
|
className: "absolute pointer-events-auto p-0.5",
|
|
3387
3417
|
style: {
|
|
3388
|
-
top: `${
|
|
3389
|
-
left: `${
|
|
3390
|
-
width:
|
|
3418
|
+
top: `${j.top}px`,
|
|
3419
|
+
left: `${j.left}%`,
|
|
3420
|
+
width: J,
|
|
3391
3421
|
minWidth: `${Te}px`
|
|
3392
3422
|
},
|
|
3393
|
-
children: v({ event:
|
|
3423
|
+
children: v({ event: z, position: j })
|
|
3394
3424
|
},
|
|
3395
|
-
|
|
3425
|
+
z.id
|
|
3396
3426
|
) : /* @__PURE__ */ e(
|
|
3397
|
-
|
|
3427
|
+
wt,
|
|
3398
3428
|
{
|
|
3399
|
-
event:
|
|
3429
|
+
event: z,
|
|
3400
3430
|
position: {
|
|
3401
|
-
top:
|
|
3402
|
-
left:
|
|
3403
|
-
width:
|
|
3431
|
+
top: j.top,
|
|
3432
|
+
left: j.left,
|
|
3433
|
+
width: j.width,
|
|
3404
3434
|
minWidth: Te
|
|
3405
3435
|
},
|
|
3406
3436
|
hourHeight: he,
|
|
@@ -3413,17 +3443,17 @@ function er({
|
|
|
3413
3443
|
f?.eventCard
|
|
3414
3444
|
)
|
|
3415
3445
|
},
|
|
3416
|
-
|
|
3446
|
+
z.id
|
|
3417
3447
|
);
|
|
3418
3448
|
}),
|
|
3419
|
-
m ===
|
|
3449
|
+
m === O && A >= 0 && /* @__PURE__ */ o(
|
|
3420
3450
|
"div",
|
|
3421
3451
|
{
|
|
3422
3452
|
className: s(
|
|
3423
3453
|
"absolute left-0 right-0 z-20 flex items-center pointer-events-none",
|
|
3424
3454
|
f?.currentTimeIndicator
|
|
3425
3455
|
),
|
|
3426
|
-
style: { top:
|
|
3456
|
+
style: { top: A },
|
|
3427
3457
|
children: [
|
|
3428
3458
|
/* @__PURE__ */ e("div", { className: "h-2 w-2 -ml-1 rounded-full bg-red-500" }),
|
|
3429
3459
|
/* @__PURE__ */ e("div", { className: "flex-1 h-0.5 bg-red-500" })
|
|
@@ -3446,26 +3476,26 @@ export {
|
|
|
3446
3476
|
pe as B,
|
|
3447
3477
|
Yn as C,
|
|
3448
3478
|
gn as D,
|
|
3449
|
-
|
|
3479
|
+
wt as E,
|
|
3450
3480
|
se as F,
|
|
3451
3481
|
rn as G,
|
|
3452
3482
|
de as H,
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3483
|
+
Qe as I,
|
|
3484
|
+
et as J,
|
|
3485
|
+
Oe as K,
|
|
3486
|
+
Pe as L,
|
|
3457
3487
|
Qn as M,
|
|
3458
3488
|
mn as N,
|
|
3459
3489
|
ue as P,
|
|
3460
3490
|
Xt as S,
|
|
3461
|
-
|
|
3491
|
+
kt as T,
|
|
3462
3492
|
er as W,
|
|
3463
3493
|
Mn as a,
|
|
3464
3494
|
Ln as b,
|
|
3465
3495
|
Zn as c,
|
|
3466
3496
|
Ft as d,
|
|
3467
3497
|
Gn as e,
|
|
3468
|
-
|
|
3498
|
+
ft as f,
|
|
3469
3499
|
Kt as g,
|
|
3470
3500
|
Ut as h,
|
|
3471
3501
|
qt as i,
|
|
@@ -3477,14 +3507,14 @@ export {
|
|
|
3477
3507
|
le as o,
|
|
3478
3508
|
me as p,
|
|
3479
3509
|
qn as q,
|
|
3480
|
-
|
|
3510
|
+
xt as r,
|
|
3481
3511
|
en as s,
|
|
3482
3512
|
Zt as t,
|
|
3483
3513
|
Qt as u,
|
|
3484
3514
|
Yt as v,
|
|
3485
3515
|
yn as w,
|
|
3486
3516
|
ae as x,
|
|
3487
|
-
|
|
3517
|
+
oe as y,
|
|
3488
3518
|
Kn as z
|
|
3489
3519
|
};
|
|
3490
|
-
//# sourceMappingURL=week-view-
|
|
3520
|
+
//# sourceMappingURL=week-view-DY167Wok.js.map
|