@innosolutions/inno-calendar 1.0.21 → 1.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agenda-dropdown-D8rfvI3Q.js → agenda-dropdown-B76IBhmH.js} +777 -769
- package/dist/agenda-dropdown-B76IBhmH.js.map +1 -0
- package/dist/agenda-dropdown-DMtt0PMz.cjs +2 -0
- package/dist/agenda-dropdown-DMtt0PMz.cjs.map +1 -0
- package/dist/{agenda-view-CRI1J_KB.js → agenda-view-5sPzr1GA.js} +795 -733
- package/dist/{agenda-view-CRI1J_KB.js.map → agenda-view-5sPzr1GA.js.map} +1 -1
- package/dist/agenda-view-BhD-XJn-.cjs +11 -0
- package/dist/{agenda-view-BotvTTEB.cjs.map → agenda-view-BhD-XJn-.cjs.map} +1 -1
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.mjs +2 -2
- package/dist/components/inno-calendar.d.ts +7 -1
- package/dist/components/inno-calendar.d.ts.map +1 -1
- package/dist/components/views/month-view.d.ts +7 -1
- package/dist/components/views/month-view.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/index.cjs +1 -1
- package/dist/core/index.mjs +3 -3
- package/dist/core/utils/date-utils.d.ts +2 -0
- package/dist/core/utils/date-utils.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +6 -6
- package/dist/{inno-calendar-provider-BAcxjBGI.cjs → inno-calendar-provider-CEO8ZyR2.cjs} +2 -2
- package/dist/{inno-calendar-provider-BAcxjBGI.cjs.map → inno-calendar-provider-CEO8ZyR2.cjs.map} +1 -1
- package/dist/{inno-calendar-provider-Cy72EfJy.js → inno-calendar-provider-CbnwQSuI.js} +2 -2
- package/dist/{inno-calendar-provider-Cy72EfJy.js.map → inno-calendar-provider-CbnwQSuI.js.map} +1 -1
- package/dist/presets/index.cjs +1 -1
- package/dist/presets/index.mjs +1 -1
- package/dist/slot-selection-context-BnE5w6aV.cjs +2 -0
- package/dist/slot-selection-context-BnE5w6aV.cjs.map +1 -0
- package/dist/{slot-selection-context-CZjfJAcp.js → slot-selection-context-CMaE5Bc5.js} +103 -103
- package/dist/slot-selection-context-CMaE5Bc5.js.map +1 -0
- package/dist/styles/index.css +1 -1
- package/dist/{tailwind-calendar-Y9dn5uKm.js → tailwind-calendar-BEf7QDjd.js} +3 -3
- package/dist/{tailwind-calendar-Y9dn5uKm.js.map → tailwind-calendar-BEf7QDjd.js.map} +1 -1
- package/dist/{tailwind-calendar-CQBD-ljO.cjs → tailwind-calendar-Cur19bSK.cjs} +2 -2
- package/dist/{tailwind-calendar-CQBD-ljO.cjs.map → tailwind-calendar-Cur19bSK.cjs.map} +1 -1
- package/dist/{use-calendar-time-config-CLYhL81Z.js → use-calendar-time-config-C_ZU8YAc.js} +3 -3
- package/dist/{use-calendar-time-config-CLYhL81Z.js.map → use-calendar-time-config-C_ZU8YAc.js.map} +1 -1
- package/dist/{use-calendar-time-config-BQ1Yni0n.cjs → use-calendar-time-config-bm7Fn31s.cjs} +2 -2
- package/dist/{use-calendar-time-config-BQ1Yni0n.cjs.map → use-calendar-time-config-bm7Fn31s.cjs.map} +1 -1
- package/package.json +1 -1
- package/dist/agenda-dropdown-D8rfvI3Q.js.map +0 -1
- package/dist/agenda-dropdown-oY4qocpp.cjs +0 -2
- package/dist/agenda-dropdown-oY4qocpp.cjs.map +0 -1
- package/dist/agenda-view-BotvTTEB.cjs +0 -11
- package/dist/slot-selection-context-B_YLI-x7.cjs +0 -2
- package/dist/slot-selection-context-B_YLI-x7.cjs.map +0 -1
- package/dist/slot-selection-context-CZjfJAcp.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as e, jsxs as n, Fragment as K } from "react/jsx-runtime";
|
|
2
|
-
import { o as Fe, c as Ge, C as Ke, I as Je, j as Xe } from "./inno-calendar-provider-
|
|
3
|
-
import { c as
|
|
4
|
-
import { useMemo as
|
|
5
|
-
import { an as Ze, Z as qe, a8 as et, az as J, aO as me, I as Pe, h as tt, S as rt, U as nt, o as
|
|
6
|
-
import { c as st, C as at, M as ke, A as ot, W as it, b as lt, P as
|
|
2
|
+
import { o as Fe, c as Ge, C as Ke, I as Je, j as Xe } from "./inno-calendar-provider-CbnwQSuI.js";
|
|
3
|
+
import { c as u } from "./index-DtaLkIY8.js";
|
|
4
|
+
import { useMemo as H, useRef as Qe, useCallback as ee, forwardRef as ye, useState as te, useEffect as be } from "react";
|
|
5
|
+
import { an as Ze, Z as qe, a8 as et, az as J, aO as me, I as Pe, h as tt, S as rt, U as nt, o as Oe } from "./slot-selection-context-CMaE5Bc5.js";
|
|
6
|
+
import { c as st, C as at, M as ke, A as ot, W as it, b as lt, P as _e, h as Ve, g as Re, l as V, p as ct, q as dt, B as q, r as ut, s as Ce, j as R, m as U, k as Y, t as ht } from "./agenda-view-5sPzr1GA.js";
|
|
7
7
|
function mt({ view: t, className: r = "" }) {
|
|
8
8
|
return /* @__PURE__ */ e(
|
|
9
9
|
"div",
|
|
@@ -35,40 +35,40 @@ function Pr(t) {
|
|
|
35
35
|
const {
|
|
36
36
|
events: r,
|
|
37
37
|
resources: s,
|
|
38
|
-
scheduleTypes:
|
|
38
|
+
scheduleTypes: o,
|
|
39
39
|
initialView: i = "week",
|
|
40
40
|
initialDate: l,
|
|
41
41
|
initialFilters: m,
|
|
42
42
|
preferences: f,
|
|
43
|
-
locale:
|
|
44
|
-
slots:
|
|
45
|
-
renderEvent:
|
|
46
|
-
onViewChange:
|
|
47
|
-
onDateChange:
|
|
48
|
-
onEventClick:
|
|
49
|
-
onSlotSelect:
|
|
43
|
+
locale: d,
|
|
44
|
+
slots: g,
|
|
45
|
+
renderEvent: M,
|
|
46
|
+
onViewChange: x,
|
|
47
|
+
onDateChange: y,
|
|
48
|
+
onEventClick: w,
|
|
49
|
+
onSlotSelect: b,
|
|
50
50
|
onFiltersChange: D,
|
|
51
51
|
className: z,
|
|
52
|
-
children:
|
|
53
|
-
} = t,
|
|
54
|
-
if (
|
|
55
|
-
return /* @__PURE__ */ e("div", { className: z, style: { position: "relative" }, children:
|
|
56
|
-
const
|
|
52
|
+
children: N
|
|
53
|
+
} = t, C = Fe();
|
|
54
|
+
if (C)
|
|
55
|
+
return /* @__PURE__ */ e("div", { className: z, style: { position: "relative" }, children: N ?? /* @__PURE__ */ e(De, { view: C.view, className: z }) });
|
|
56
|
+
const E = Ge({
|
|
57
57
|
events: r,
|
|
58
58
|
resources: s,
|
|
59
|
-
scheduleTypes:
|
|
59
|
+
scheduleTypes: o,
|
|
60
60
|
initialView: i,
|
|
61
61
|
initialDate: l,
|
|
62
62
|
initialFilters: m,
|
|
63
63
|
preferences: f,
|
|
64
|
-
locale:
|
|
65
|
-
onViewChange:
|
|
66
|
-
onDateChange:
|
|
67
|
-
onEventClick:
|
|
68
|
-
onSlotSelect:
|
|
64
|
+
locale: d,
|
|
65
|
+
onViewChange: x,
|
|
66
|
+
onDateChange: y,
|
|
67
|
+
onEventClick: w,
|
|
68
|
+
onSlotSelect: b,
|
|
69
69
|
onFiltersChange: D
|
|
70
70
|
});
|
|
71
|
-
return /* @__PURE__ */ e(Ke, { value:
|
|
71
|
+
return /* @__PURE__ */ e(Ke, { value: E, children: /* @__PURE__ */ e("div", { className: z, style: { position: "relative" }, children: N ?? /* @__PURE__ */ e(De, { view: E.view, className: z }) }) });
|
|
72
72
|
}
|
|
73
73
|
const ft = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], gt = [
|
|
74
74
|
"January",
|
|
@@ -92,7 +92,7 @@ function xt({
|
|
|
92
92
|
day: t,
|
|
93
93
|
date: r,
|
|
94
94
|
events: s,
|
|
95
|
-
isCurrentMonth:
|
|
95
|
+
isCurrentMonth: o,
|
|
96
96
|
onDayClick: i
|
|
97
97
|
}) {
|
|
98
98
|
const l = J(r), m = 3, f = s.length;
|
|
@@ -101,38 +101,38 @@ function xt({
|
|
|
101
101
|
{
|
|
102
102
|
type: "button",
|
|
103
103
|
onClick: () => i?.(r),
|
|
104
|
-
className:
|
|
104
|
+
className: u(
|
|
105
105
|
"flex h-9 sm:h-11 flex-1 flex-col items-center justify-start gap-0.5 rounded-md pt-0.5 sm:pt-1",
|
|
106
106
|
"hover:bg-accent focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
107
107
|
"transition-colors",
|
|
108
|
-
!
|
|
108
|
+
!o && "opacity-40"
|
|
109
109
|
),
|
|
110
110
|
children: [
|
|
111
111
|
/* @__PURE__ */ e(
|
|
112
112
|
"div",
|
|
113
113
|
{
|
|
114
|
-
className:
|
|
114
|
+
className: u(
|
|
115
115
|
"flex size-5 sm:size-6 items-center justify-center rounded-full text-[10px] sm:text-xs font-medium",
|
|
116
116
|
l && "bg-primary font-semibold text-primary-foreground"
|
|
117
117
|
),
|
|
118
118
|
children: t
|
|
119
119
|
}
|
|
120
120
|
),
|
|
121
|
-
f > 0 && /* @__PURE__ */ e("div", { className: "mt-0.5 flex items-center gap-0.5", children: f <= m ? s.map((
|
|
121
|
+
f > 0 && /* @__PURE__ */ e("div", { className: "mt-0.5 flex items-center gap-0.5", children: f <= m ? s.map((d) => /* @__PURE__ */ e(
|
|
122
122
|
"div",
|
|
123
123
|
{
|
|
124
124
|
className: "size-1 sm:size-1.5 rounded-full bg-primary",
|
|
125
|
-
style: Me(
|
|
125
|
+
style: Me(d)
|
|
126
126
|
},
|
|
127
|
-
|
|
127
|
+
d.id
|
|
128
128
|
)) : /* @__PURE__ */ n(K, { children: [
|
|
129
|
-
s.slice(0, m).map((
|
|
129
|
+
s.slice(0, m).map((d) => /* @__PURE__ */ e(
|
|
130
130
|
"div",
|
|
131
131
|
{
|
|
132
132
|
className: "size-1 sm:size-1.5 rounded-full bg-primary",
|
|
133
|
-
style: Me(
|
|
133
|
+
style: Me(d)
|
|
134
134
|
},
|
|
135
|
-
|
|
135
|
+
d.id
|
|
136
136
|
)),
|
|
137
137
|
/* @__PURE__ */ n("span", { className: "text-[6px] sm:text-[7px] font-medium text-muted-foreground", children: [
|
|
138
138
|
"+",
|
|
@@ -147,16 +147,16 @@ function pt({
|
|
|
147
147
|
date: t,
|
|
148
148
|
events: r,
|
|
149
149
|
onMonthClick: s,
|
|
150
|
-
onDayClick:
|
|
150
|
+
onDayClick: o
|
|
151
151
|
}) {
|
|
152
|
-
const i =
|
|
152
|
+
const i = H(() => qe(t, 0), [t]);
|
|
153
153
|
return /* @__PURE__ */ n("div", { className: "flex flex-col", children: [
|
|
154
154
|
/* @__PURE__ */ e(
|
|
155
155
|
"button",
|
|
156
156
|
{
|
|
157
157
|
type: "button",
|
|
158
158
|
onClick: () => s?.(t),
|
|
159
|
-
className:
|
|
159
|
+
className: u(
|
|
160
160
|
"w-full rounded-t-lg border px-2 sm:px-3 py-1.5 sm:py-2 text-xs sm:text-sm font-semibold",
|
|
161
161
|
"hover:bg-accent focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
162
162
|
"transition-colors"
|
|
@@ -185,7 +185,7 @@ function pt({
|
|
|
185
185
|
date: l.date,
|
|
186
186
|
events: f,
|
|
187
187
|
isCurrentMonth: l.isCurrentMonth,
|
|
188
|
-
onDayClick:
|
|
188
|
+
onDayClick: o
|
|
189
189
|
},
|
|
190
190
|
`${m + 1}-${l.date.toISOString()}`
|
|
191
191
|
);
|
|
@@ -197,11 +197,11 @@ function vt({
|
|
|
197
197
|
events: t,
|
|
198
198
|
year: r,
|
|
199
199
|
onMonthClick: s,
|
|
200
|
-
onDayClick:
|
|
200
|
+
onDayClick: o,
|
|
201
201
|
className: i
|
|
202
202
|
}) {
|
|
203
|
-
const l =
|
|
204
|
-
return /* @__PURE__ */ n("div", { className:
|
|
203
|
+
const l = H(() => Ze(r), [r]);
|
|
204
|
+
return /* @__PURE__ */ n("div", { className: u("flex flex-col h-full", i), children: [
|
|
205
205
|
/* @__PURE__ */ e("div", { className: "flex items-center justify-center border-b px-4 py-3", children: /* @__PURE__ */ e("h2", { className: "text-lg font-semibold", children: r }) }),
|
|
206
206
|
/* @__PURE__ */ e("div", { className: "flex-1 overflow-auto p-4", children: /* @__PURE__ */ e("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4", children: l.map((m) => /* @__PURE__ */ e(
|
|
207
207
|
pt,
|
|
@@ -209,7 +209,7 @@ function vt({
|
|
|
209
209
|
date: m,
|
|
210
210
|
events: t,
|
|
211
211
|
onMonthClick: s,
|
|
212
|
-
onDayClick:
|
|
212
|
+
onDayClick: o
|
|
213
213
|
},
|
|
214
214
|
m.getMonth()
|
|
215
215
|
)) }) })
|
|
@@ -221,18 +221,18 @@ function Nt(t) {
|
|
|
221
221
|
}
|
|
222
222
|
function kt(t, r) {
|
|
223
223
|
const s = [];
|
|
224
|
-
for (let
|
|
224
|
+
for (let o = 0; o < r; o++) {
|
|
225
225
|
const i = new Date(t);
|
|
226
|
-
i.setDate(i.getDate() +
|
|
226
|
+
i.setDate(i.getDate() + o), s.push(i);
|
|
227
227
|
}
|
|
228
228
|
return s;
|
|
229
229
|
}
|
|
230
230
|
function Ct(t, r, s) {
|
|
231
|
-
const
|
|
231
|
+
const o = [];
|
|
232
232
|
return t.forEach((i, l) => {
|
|
233
233
|
for (let m = r; m < s; m++)
|
|
234
|
-
|
|
235
|
-
}),
|
|
234
|
+
o.push({ hour: m, dayIndex: l, date: i });
|
|
235
|
+
}), o;
|
|
236
236
|
}
|
|
237
237
|
function Dt(t) {
|
|
238
238
|
return `${t.toString().padStart(2, "0")}:00`;
|
|
@@ -245,25 +245,25 @@ function Mt(t) {
|
|
|
245
245
|
});
|
|
246
246
|
}
|
|
247
247
|
function Te(t) {
|
|
248
|
-
const r = [...t].sort((i, l) => i.startCol !== l.startCol ? i.startCol - l.startCol : l.spanCols - i.spanCols), s = [],
|
|
248
|
+
const r = [...t].sort((i, l) => i.startCol !== l.startCol ? i.startCol - l.startCol : l.spanCols - i.spanCols), s = [], o = [];
|
|
249
249
|
for (const i of r) {
|
|
250
250
|
let l = 0;
|
|
251
|
-
for (;
|
|
251
|
+
for (; o[l] !== void 0 && o[l] > i.startCol; )
|
|
252
252
|
l++;
|
|
253
|
-
|
|
253
|
+
o[l] = i.startCol + i.spanCols, s.push({
|
|
254
254
|
...i,
|
|
255
255
|
stackIndex: l
|
|
256
256
|
});
|
|
257
257
|
}
|
|
258
258
|
return s;
|
|
259
259
|
}
|
|
260
|
-
function zt({ src: t, alt: r, fallback: s, className:
|
|
260
|
+
function zt({ src: t, alt: r, fallback: s, className: o }) {
|
|
261
261
|
return /* @__PURE__ */ e(
|
|
262
262
|
"div",
|
|
263
263
|
{
|
|
264
|
-
className:
|
|
264
|
+
className: u(
|
|
265
265
|
"relative flex shrink-0 overflow-hidden rounded-sm border bg-muted",
|
|
266
|
-
|
|
266
|
+
o
|
|
267
267
|
),
|
|
268
268
|
children: t ? /* @__PURE__ */ e(
|
|
269
269
|
"img",
|
|
@@ -281,79 +281,79 @@ function xe({
|
|
|
281
281
|
daysToShow: t = Et,
|
|
282
282
|
events: r,
|
|
283
283
|
users: s = [],
|
|
284
|
-
selectedDate:
|
|
284
|
+
selectedDate: o,
|
|
285
285
|
onDateChange: i,
|
|
286
286
|
onEventClick: l,
|
|
287
287
|
visibleHours: m,
|
|
288
288
|
className: f,
|
|
289
|
-
getEventUserId:
|
|
290
|
-
renderPopover:
|
|
289
|
+
getEventUserId: d,
|
|
290
|
+
renderPopover: g
|
|
291
291
|
}) {
|
|
292
|
-
const
|
|
293
|
-
const
|
|
292
|
+
const M = Qe(null), x = o ?? /* @__PURE__ */ new Date(), y = !0, w = m?.from ?? bt, b = m?.to ?? yt, D = b - w, z = H(() => {
|
|
293
|
+
const h = new Date(x);
|
|
294
294
|
if (t === 1 || t === 3)
|
|
295
|
-
return
|
|
296
|
-
const
|
|
297
|
-
return
|
|
298
|
-
}, [
|
|
295
|
+
return h.setHours(0, 0, 0, 0), h;
|
|
296
|
+
const c = h.getDay(), a = c === 0 ? -6 : 1 - c;
|
|
297
|
+
return h.setDate(h.getDate() + a), h.setHours(0, 0, 0, 0), h;
|
|
298
|
+
}, [x, t]), N = H(
|
|
299
299
|
() => kt(z, t),
|
|
300
300
|
[z, t]
|
|
301
|
-
),
|
|
302
|
-
() => Ct(w, b
|
|
303
|
-
[
|
|
304
|
-
), T =
|
|
305
|
-
if (
|
|
306
|
-
const
|
|
307
|
-
if (
|
|
308
|
-
if (
|
|
309
|
-
return String(
|
|
310
|
-
if (
|
|
311
|
-
}),
|
|
312
|
-
const
|
|
313
|
-
for (const
|
|
314
|
-
|
|
315
|
-
id:
|
|
316
|
-
name:
|
|
317
|
-
avatar:
|
|
318
|
-
email:
|
|
301
|
+
), C = H(
|
|
302
|
+
() => Ct(N, w, b),
|
|
303
|
+
[y, N, w, b]
|
|
304
|
+
), T = d ?? ((h) => {
|
|
305
|
+
if (h.user?.id) return h.user.id;
|
|
306
|
+
const c = h.data;
|
|
307
|
+
if (c?.userId) return String(c.userId);
|
|
308
|
+
if (c?.user && typeof c.user == "object" && c.user.id)
|
|
309
|
+
return String(c.user.id);
|
|
310
|
+
if (h.participants?.[0]?.id) return h.participants[0].id;
|
|
311
|
+
}), W = H(() => {
|
|
312
|
+
const h = /* @__PURE__ */ new Map();
|
|
313
|
+
for (const c of s)
|
|
314
|
+
h.set(c.id, {
|
|
315
|
+
id: c.id,
|
|
316
|
+
name: c.name,
|
|
317
|
+
avatar: c.avatar ?? void 0,
|
|
318
|
+
email: c.email
|
|
319
319
|
});
|
|
320
|
-
for (const
|
|
321
|
-
|
|
322
|
-
id:
|
|
323
|
-
name:
|
|
324
|
-
avatar:
|
|
325
|
-
email:
|
|
320
|
+
for (const c of r) {
|
|
321
|
+
c.user?.id && !h.has(c.user.id) && h.set(c.user.id, {
|
|
322
|
+
id: c.user.id,
|
|
323
|
+
name: c.user.name,
|
|
324
|
+
avatar: c.user.avatar ?? void 0,
|
|
325
|
+
email: c.user.email
|
|
326
326
|
});
|
|
327
|
-
for (const
|
|
328
|
-
|
|
329
|
-
id:
|
|
330
|
-
name:
|
|
331
|
-
avatar:
|
|
332
|
-
email:
|
|
327
|
+
for (const a of c.participants || [])
|
|
328
|
+
a.id && !h.has(a.id) && h.set(a.id, {
|
|
329
|
+
id: a.id,
|
|
330
|
+
name: a.name,
|
|
331
|
+
avatar: a.avatar ?? void 0,
|
|
332
|
+
email: a.email
|
|
333
333
|
});
|
|
334
334
|
}
|
|
335
|
-
return Array.from(
|
|
336
|
-
}, [s, r]),
|
|
337
|
-
const
|
|
338
|
-
for (const
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
for (const
|
|
342
|
-
const
|
|
343
|
-
(
|
|
335
|
+
return Array.from(h.values());
|
|
336
|
+
}, [s, r]), S = H(() => {
|
|
337
|
+
const h = [], c = /* @__PURE__ */ new Map();
|
|
338
|
+
for (const v of W)
|
|
339
|
+
c.set(v.id, []);
|
|
340
|
+
c.set("unassigned", []);
|
|
341
|
+
for (const v of r) {
|
|
342
|
+
const k = T(v) ?? "unassigned";
|
|
343
|
+
(c.get(k) ?? c.get("unassigned")).push(v);
|
|
344
344
|
}
|
|
345
|
-
const
|
|
346
|
-
const
|
|
347
|
-
for (const
|
|
348
|
-
const
|
|
349
|
-
for (let $ = 0; $ <
|
|
350
|
-
const re =
|
|
351
|
-
if (
|
|
352
|
-
let Q =
|
|
353
|
-
if (
|
|
354
|
-
const de = $ * D + Math.floor(Q -
|
|
355
|
-
|
|
356
|
-
event:
|
|
345
|
+
const a = (v) => {
|
|
346
|
+
const k = [];
|
|
347
|
+
for (const L of v) {
|
|
348
|
+
const O = L.startDate.getHours() + L.startDate.getMinutes() / 60, X = L.endDate.getHours() + L.endDate.getMinutes() / 60;
|
|
349
|
+
for (let $ = 0; $ < N.length; $++) {
|
|
350
|
+
const re = N[$], ce = me(re), se = Pe(re);
|
|
351
|
+
if (L.startDate <= se && L.endDate >= ce) {
|
|
352
|
+
let Q = w, Z = b;
|
|
353
|
+
if (L.startDate >= ce && (Q = Math.max(w, O)), L.endDate <= se && (Z = Math.min(b, X)), Q = Math.max(w, Math.min(b, Q)), Z = Math.max(w, Math.min(b, Z)), Z > Q) {
|
|
354
|
+
const de = $ * D + Math.floor(Q - w), ue = $ * D + Math.ceil(Z - w);
|
|
355
|
+
k.push({
|
|
356
|
+
event: L,
|
|
357
357
|
startCol: de,
|
|
358
358
|
spanCols: Math.max(1, ue - de)
|
|
359
359
|
});
|
|
@@ -361,63 +361,63 @@ function xe({
|
|
|
361
361
|
}
|
|
362
362
|
}
|
|
363
363
|
}
|
|
364
|
-
return
|
|
364
|
+
return k;
|
|
365
365
|
};
|
|
366
|
-
for (const
|
|
367
|
-
const
|
|
366
|
+
for (const v of W) {
|
|
367
|
+
const k = c.get(v.id) ?? [], L = a(k), O = Te(L), X = O.reduce(
|
|
368
368
|
($, re) => Math.max($, re.stackIndex + 1),
|
|
369
369
|
0
|
|
370
370
|
);
|
|
371
|
-
|
|
372
|
-
user:
|
|
373
|
-
events:
|
|
371
|
+
h.push({
|
|
372
|
+
user: v,
|
|
373
|
+
events: O,
|
|
374
374
|
maxStack: Math.max(X, 1)
|
|
375
375
|
});
|
|
376
376
|
}
|
|
377
|
-
const
|
|
378
|
-
if (
|
|
379
|
-
const
|
|
380
|
-
(
|
|
377
|
+
const p = c.get("unassigned") ?? [];
|
|
378
|
+
if (p.length > 0) {
|
|
379
|
+
const v = a(p), k = Te(v), L = k.reduce(
|
|
380
|
+
(O, X) => Math.max(O, X.stackIndex + 1),
|
|
381
381
|
0
|
|
382
382
|
);
|
|
383
|
-
|
|
383
|
+
h.push({
|
|
384
384
|
user: {
|
|
385
385
|
id: "unassigned",
|
|
386
386
|
name: "Unassigned",
|
|
387
387
|
avatar: void 0,
|
|
388
388
|
email: void 0
|
|
389
389
|
},
|
|
390
|
-
events:
|
|
391
|
-
maxStack: Math.max(
|
|
390
|
+
events: k,
|
|
391
|
+
maxStack: Math.max(L, 1)
|
|
392
392
|
});
|
|
393
393
|
}
|
|
394
|
-
return
|
|
395
|
-
}, [
|
|
396
|
-
const
|
|
397
|
-
for (const
|
|
398
|
-
for (const
|
|
399
|
-
if (
|
|
400
|
-
const
|
|
401
|
-
|
|
394
|
+
return h.filter((v) => v.events.length > 0);
|
|
395
|
+
}, [W, r, N, y, D, w, b, T]), A = H(() => {
|
|
396
|
+
const h = /* @__PURE__ */ new Map();
|
|
397
|
+
for (const c of S)
|
|
398
|
+
for (const a of c.events)
|
|
399
|
+
if (a.spanCols === 1) {
|
|
400
|
+
const p = h.get(a.startCol) ?? 0;
|
|
401
|
+
h.set(a.startCol, p + 1);
|
|
402
402
|
}
|
|
403
|
-
return
|
|
404
|
-
}, [
|
|
405
|
-
const
|
|
406
|
-
for (let
|
|
407
|
-
const
|
|
408
|
-
|
|
403
|
+
return h;
|
|
404
|
+
}, [S]), j = H(() => {
|
|
405
|
+
const h = C.length, c = ge, a = [];
|
|
406
|
+
for (let p = 0; p < h; p++) {
|
|
407
|
+
const v = A.get(p) ?? 0;
|
|
408
|
+
v > Le ? a.push(Se + (v - Le) * 20) : v > 0 ? a.push(Math.max(c, Se)) : a.push(c);
|
|
409
409
|
}
|
|
410
|
-
return
|
|
411
|
-
}, [
|
|
410
|
+
return a;
|
|
411
|
+
}, [y, C.length, N.length, A]), P = (h) => Math.max(
|
|
412
412
|
wt,
|
|
413
|
-
|
|
414
|
-
),
|
|
415
|
-
const
|
|
416
|
-
for (let
|
|
417
|
-
|
|
418
|
-
return
|
|
413
|
+
h * (fe + ze) + Ee * 2
|
|
414
|
+
), B = oe + j.reduce((h, c) => h + c, 0), I = H(() => {
|
|
415
|
+
const h = [0];
|
|
416
|
+
for (let c = 0; c < j.length; c++)
|
|
417
|
+
h.push(h[c] + j[c]);
|
|
418
|
+
return h;
|
|
419
419
|
}, [j]);
|
|
420
|
-
return /* @__PURE__ */ e("div", { className:
|
|
420
|
+
return /* @__PURE__ */ e("div", { className: u("flex h-full flex-col", f), children: /* @__PURE__ */ e("div", { className: "ic-timeline-scroll-container flex-1", ref: M, children: /* @__PURE__ */ n("div", { className: "relative", style: { minWidth: B }, children: [
|
|
421
421
|
// Hour mode: Day headers + Hour sub-headers - sticky wrapper with flex child (sticky + flex breaks sticky)
|
|
422
422
|
/* @__PURE__ */ e("div", { className: "ic-timeline-header sticky top-0 z-20 border-b bg-background", children: /* @__PURE__ */ n("div", { className: "flex flex-col", children: [
|
|
423
423
|
t > 1 && /* @__PURE__ */ n("div", { className: "flex border-b", children: [
|
|
@@ -429,19 +429,19 @@ function xe({
|
|
|
429
429
|
children: /* @__PURE__ */ e("span", { className: "text-[10px] font-medium uppercase text-muted-foreground", children: "Resources" })
|
|
430
430
|
}
|
|
431
431
|
),
|
|
432
|
-
|
|
433
|
-
const
|
|
432
|
+
N.map((h, c) => {
|
|
433
|
+
const a = J(h), p = c * D, v = j.slice(p, p + D).reduce((k, L) => k + L, 0);
|
|
434
434
|
return /* @__PURE__ */ e(
|
|
435
435
|
"div",
|
|
436
436
|
{
|
|
437
|
-
className:
|
|
437
|
+
className: u(
|
|
438
438
|
"flex shrink-0 items-center justify-center border-r py-1.5 font-medium",
|
|
439
|
-
|
|
439
|
+
a ? "bg-primary/10 text-primary" : "bg-muted/30"
|
|
440
440
|
),
|
|
441
|
-
style: { width:
|
|
442
|
-
children: /* @__PURE__ */ e("span", { className: "text-xs", children: Mt(
|
|
441
|
+
style: { width: v },
|
|
442
|
+
children: /* @__PURE__ */ e("span", { className: "text-xs", children: Mt(h) })
|
|
443
443
|
},
|
|
444
|
-
`day-${
|
|
444
|
+
`day-${h.toISOString()}`
|
|
445
445
|
);
|
|
446
446
|
})
|
|
447
447
|
] }),
|
|
@@ -461,31 +461,31 @@ function xe({
|
|
|
461
461
|
style: { width: oe }
|
|
462
462
|
}
|
|
463
463
|
),
|
|
464
|
-
|
|
465
|
-
const
|
|
464
|
+
C.map((h, c) => {
|
|
465
|
+
const a = h.hour === w, p = J(h.date), v = j[c] ?? ge;
|
|
466
466
|
return /* @__PURE__ */ e(
|
|
467
467
|
"div",
|
|
468
468
|
{
|
|
469
|
-
className:
|
|
469
|
+
className: u(
|
|
470
470
|
"flex shrink-0 items-center justify-center py-1.5 text-[10px] text-muted-foreground",
|
|
471
|
-
|
|
472
|
-
|
|
471
|
+
a && c > 0 ? "border-l-2 border-l-border" : "border-r border-r-border/50",
|
|
472
|
+
p && "bg-primary/5"
|
|
473
473
|
),
|
|
474
|
-
style: { width:
|
|
475
|
-
children: Dt(
|
|
474
|
+
style: { width: v },
|
|
475
|
+
children: Dt(h.hour)
|
|
476
476
|
},
|
|
477
|
-
`hour-${
|
|
477
|
+
`hour-${h.dayIndex}-${h.hour}`
|
|
478
478
|
);
|
|
479
479
|
})
|
|
480
480
|
] })
|
|
481
481
|
] }) }),
|
|
482
|
-
|
|
483
|
-
const
|
|
482
|
+
S.map((h) => {
|
|
483
|
+
const c = P(h.maxStack);
|
|
484
484
|
return /* @__PURE__ */ n(
|
|
485
485
|
"div",
|
|
486
486
|
{
|
|
487
487
|
className: "relative flex border-b",
|
|
488
|
-
style: { height:
|
|
488
|
+
style: { height: c },
|
|
489
489
|
children: [
|
|
490
490
|
/* @__PURE__ */ e(
|
|
491
491
|
"div",
|
|
@@ -497,66 +497,66 @@ function xe({
|
|
|
497
497
|
zt,
|
|
498
498
|
{
|
|
499
499
|
className: "size-7",
|
|
500
|
-
src:
|
|
501
|
-
alt:
|
|
502
|
-
fallback: Nt(
|
|
500
|
+
src: h.user.avatar,
|
|
501
|
+
alt: h.user.name,
|
|
502
|
+
fallback: Nt(h.user.name)
|
|
503
503
|
}
|
|
504
504
|
),
|
|
505
|
-
/* @__PURE__ */ e("span", { className: "truncate text-xs sm:text-sm font-medium", children:
|
|
505
|
+
/* @__PURE__ */ e("span", { className: "truncate text-xs sm:text-sm font-medium", children: h.user.name })
|
|
506
506
|
] })
|
|
507
507
|
}
|
|
508
508
|
),
|
|
509
509
|
/* @__PURE__ */ n("div", { className: "relative flex", children: [
|
|
510
510
|
// Hour mode cells
|
|
511
|
-
|
|
512
|
-
const
|
|
511
|
+
C.map((a, p) => {
|
|
512
|
+
const v = a.hour === w && p > 0, k = j[p] ?? ge;
|
|
513
513
|
return /* @__PURE__ */ e(
|
|
514
514
|
"div",
|
|
515
515
|
{
|
|
516
|
-
className:
|
|
516
|
+
className: u(
|
|
517
517
|
"shrink-0",
|
|
518
|
-
|
|
519
|
-
J(
|
|
518
|
+
v ? "border-l-2 border-l-border" : "border-r border-r-border/50",
|
|
519
|
+
J(a.date) && "bg-primary/5"
|
|
520
520
|
),
|
|
521
|
-
style: { width:
|
|
521
|
+
style: { width: k }
|
|
522
522
|
},
|
|
523
|
-
`cell-${
|
|
523
|
+
`cell-${a.dayIndex}-${a.hour}`
|
|
524
524
|
);
|
|
525
525
|
}),
|
|
526
|
-
|
|
527
|
-
const
|
|
526
|
+
h.events.map((a) => {
|
|
527
|
+
const p = (I[a.startCol] ?? 0) + 2, v = I[a.startCol + a.spanCols] ?? I[I.length - 1] ?? 0, k = I[a.startCol] ?? 0, L = v - k - 4, O = Ee + a.stackIndex * (fe + ze);
|
|
528
528
|
return /* @__PURE__ */ e(
|
|
529
529
|
"div",
|
|
530
530
|
{
|
|
531
531
|
className: "absolute",
|
|
532
532
|
style: {
|
|
533
|
-
left:
|
|
534
|
-
width: Math.max(
|
|
533
|
+
left: p,
|
|
534
|
+
width: Math.max(L, 0),
|
|
535
535
|
// No forced minimum - columns are guaranteed wide enough
|
|
536
|
-
top:
|
|
536
|
+
top: O,
|
|
537
537
|
height: fe
|
|
538
538
|
},
|
|
539
539
|
children: /* @__PURE__ */ e(
|
|
540
540
|
st,
|
|
541
541
|
{
|
|
542
|
-
event:
|
|
542
|
+
event: a.event,
|
|
543
543
|
variant: "compact",
|
|
544
544
|
onClick: l,
|
|
545
|
-
renderPopover:
|
|
545
|
+
renderPopover: g,
|
|
546
546
|
className: "h-full w-full"
|
|
547
547
|
}
|
|
548
548
|
)
|
|
549
549
|
},
|
|
550
|
-
|
|
550
|
+
a.event.id
|
|
551
551
|
);
|
|
552
552
|
})
|
|
553
553
|
] })
|
|
554
554
|
]
|
|
555
555
|
},
|
|
556
|
-
|
|
556
|
+
h.user.id
|
|
557
557
|
);
|
|
558
558
|
}),
|
|
559
|
-
|
|
559
|
+
S.length === 0 && /* @__PURE__ */ e("div", { className: "flex items-center justify-center py-20 text-muted-foreground", children: "No users or events to display" })
|
|
560
560
|
] }) }) });
|
|
561
561
|
}
|
|
562
562
|
function St(t) {
|
|
@@ -572,119 +572,125 @@ function Lt({
|
|
|
572
572
|
onEventClick: t,
|
|
573
573
|
onSlotClick: r,
|
|
574
574
|
onSlotSelect: s,
|
|
575
|
-
onAddEvent:
|
|
575
|
+
onAddEvent: o,
|
|
576
576
|
className: i,
|
|
577
577
|
showHeader: l = !0,
|
|
578
578
|
minSelectionMinutes: m = 30,
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
579
|
+
showMoreEventsInPopover: f = !1,
|
|
580
|
+
settingsContent: d,
|
|
581
|
+
filterContent: g,
|
|
582
|
+
renderPopover: M
|
|
582
583
|
}) {
|
|
583
584
|
const {
|
|
584
|
-
view:
|
|
585
|
-
setView:
|
|
586
|
-
selectedDate:
|
|
585
|
+
view: x,
|
|
586
|
+
setView: y,
|
|
587
|
+
selectedDate: w,
|
|
587
588
|
setSelectedDate: b,
|
|
588
|
-
slotDuration:
|
|
589
|
-
filteredEvents:
|
|
590
|
-
users:
|
|
591
|
-
visibleHours:
|
|
592
|
-
workingHours:
|
|
593
|
-
badgeVariant:
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
endHour:
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
589
|
+
slotDuration: D,
|
|
590
|
+
filteredEvents: z,
|
|
591
|
+
users: N,
|
|
592
|
+
visibleHours: C,
|
|
593
|
+
workingHours: E,
|
|
594
|
+
badgeVariant: T,
|
|
595
|
+
showWorkingHoursOnly: W
|
|
596
|
+
} = Xe(), S = H(() => {
|
|
597
|
+
if (!W || !E)
|
|
598
|
+
return { startHour: C.start, endHour: C.end };
|
|
599
|
+
let a = 24, p = 0;
|
|
600
|
+
for (const v of Object.keys(E)) {
|
|
601
|
+
const k = E[Number(v)];
|
|
602
|
+
!k || k.enabled === !1 || (k.from < a && (a = k.from), k.to > p && (p = k.to));
|
|
603
|
+
}
|
|
604
|
+
return a >= p ? { startHour: C.start, endHour: C.end } : { startHour: a, endHour: p };
|
|
605
|
+
}, [W, E, C]), A = S, j = H(() => St(x), [x]), P = ee(
|
|
606
|
+
(a) => {
|
|
602
607
|
if (s) {
|
|
603
|
-
s(
|
|
608
|
+
s(a);
|
|
604
609
|
return;
|
|
605
610
|
}
|
|
606
611
|
if (r) {
|
|
607
|
-
const
|
|
608
|
-
r(
|
|
612
|
+
const p = a.startDate.getHours();
|
|
613
|
+
r(a.startDate, p);
|
|
609
614
|
}
|
|
610
615
|
},
|
|
611
616
|
[s, r]
|
|
612
|
-
),
|
|
613
|
-
(
|
|
614
|
-
|
|
617
|
+
), B = ee(
|
|
618
|
+
(a) => {
|
|
619
|
+
y("day"), b(a, "day");
|
|
615
620
|
},
|
|
616
|
-
[b,
|
|
617
|
-
),
|
|
618
|
-
(
|
|
619
|
-
|
|
621
|
+
[b, y]
|
|
622
|
+
), I = ee(
|
|
623
|
+
(a) => {
|
|
624
|
+
y("month"), b(a, "month");
|
|
620
625
|
},
|
|
621
|
-
[b,
|
|
622
|
-
),
|
|
623
|
-
(
|
|
624
|
-
t?.(
|
|
626
|
+
[b, y]
|
|
627
|
+
), h = ee(
|
|
628
|
+
(a) => {
|
|
629
|
+
t?.(a);
|
|
625
630
|
},
|
|
626
631
|
[t]
|
|
627
|
-
),
|
|
628
|
-
const
|
|
629
|
-
switch (
|
|
632
|
+
), c = () => {
|
|
633
|
+
const a = z, p = h, v = M;
|
|
634
|
+
switch (x) {
|
|
630
635
|
case "day":
|
|
631
636
|
return /* @__PURE__ */ e(
|
|
632
637
|
lt,
|
|
633
638
|
{
|
|
634
|
-
events:
|
|
635
|
-
date:
|
|
636
|
-
visibleHours:
|
|
637
|
-
workingHours:
|
|
638
|
-
slotDuration:
|
|
639
|
-
badgeVariant:
|
|
640
|
-
onEventClick:
|
|
641
|
-
renderPopover:
|
|
639
|
+
events: a,
|
|
640
|
+
date: w,
|
|
641
|
+
visibleHours: A,
|
|
642
|
+
workingHours: E,
|
|
643
|
+
slotDuration: D,
|
|
644
|
+
badgeVariant: T,
|
|
645
|
+
onEventClick: p,
|
|
646
|
+
renderPopover: v
|
|
642
647
|
}
|
|
643
648
|
);
|
|
644
649
|
case "week":
|
|
645
650
|
return /* @__PURE__ */ e(
|
|
646
651
|
it,
|
|
647
652
|
{
|
|
648
|
-
events:
|
|
649
|
-
date:
|
|
650
|
-
visibleHours:
|
|
651
|
-
workingHours:
|
|
652
|
-
slotDuration:
|
|
653
|
-
badgeVariant:
|
|
654
|
-
onEventClick:
|
|
655
|
-
renderPopover:
|
|
653
|
+
events: a,
|
|
654
|
+
date: w,
|
|
655
|
+
visibleHours: A,
|
|
656
|
+
workingHours: E,
|
|
657
|
+
slotDuration: D,
|
|
658
|
+
badgeVariant: T,
|
|
659
|
+
onEventClick: p,
|
|
660
|
+
renderPopover: v
|
|
656
661
|
}
|
|
657
662
|
);
|
|
658
663
|
case "month":
|
|
659
664
|
return /* @__PURE__ */ e(
|
|
660
665
|
ke,
|
|
661
666
|
{
|
|
662
|
-
events:
|
|
663
|
-
date:
|
|
664
|
-
badgeVariant:
|
|
665
|
-
onEventClick:
|
|
666
|
-
onDayClick:
|
|
667
|
-
renderPopover:
|
|
667
|
+
events: a,
|
|
668
|
+
date: w,
|
|
669
|
+
badgeVariant: T,
|
|
670
|
+
onEventClick: p,
|
|
671
|
+
onDayClick: B,
|
|
672
|
+
renderPopover: v,
|
|
673
|
+
showMoreEventsInPopover: f
|
|
668
674
|
}
|
|
669
675
|
);
|
|
670
676
|
case "year":
|
|
671
677
|
return /* @__PURE__ */ e(
|
|
672
678
|
vt,
|
|
673
679
|
{
|
|
674
|
-
events:
|
|
675
|
-
year:
|
|
676
|
-
onMonthClick:
|
|
677
|
-
onDayClick:
|
|
680
|
+
events: a,
|
|
681
|
+
year: w.getFullYear(),
|
|
682
|
+
onMonthClick: I,
|
|
683
|
+
onDayClick: B
|
|
678
684
|
}
|
|
679
685
|
);
|
|
680
686
|
case "agenda":
|
|
681
687
|
return /* @__PURE__ */ e(
|
|
682
688
|
ot,
|
|
683
689
|
{
|
|
684
|
-
events:
|
|
685
|
-
date:
|
|
686
|
-
onEventClick:
|
|
687
|
-
renderPopover:
|
|
690
|
+
events: a,
|
|
691
|
+
date: w,
|
|
692
|
+
onEventClick: p,
|
|
693
|
+
renderPopover: v
|
|
688
694
|
}
|
|
689
695
|
);
|
|
690
696
|
// Timeline views
|
|
@@ -693,15 +699,15 @@ function Lt({
|
|
|
693
699
|
xe,
|
|
694
700
|
{
|
|
695
701
|
daysToShow: 1,
|
|
696
|
-
events:
|
|
697
|
-
users:
|
|
698
|
-
selectedDate:
|
|
702
|
+
events: a,
|
|
703
|
+
users: N,
|
|
704
|
+
selectedDate: w,
|
|
699
705
|
visibleHours: {
|
|
700
|
-
from:
|
|
701
|
-
to:
|
|
706
|
+
from: S.startHour,
|
|
707
|
+
to: S.endHour
|
|
702
708
|
},
|
|
703
|
-
onEventClick:
|
|
704
|
-
renderPopover:
|
|
709
|
+
onEventClick: p,
|
|
710
|
+
renderPopover: v
|
|
705
711
|
}
|
|
706
712
|
);
|
|
707
713
|
case "timeline-3day":
|
|
@@ -709,15 +715,15 @@ function Lt({
|
|
|
709
715
|
xe,
|
|
710
716
|
{
|
|
711
717
|
daysToShow: 3,
|
|
712
|
-
events:
|
|
713
|
-
users:
|
|
714
|
-
selectedDate:
|
|
718
|
+
events: a,
|
|
719
|
+
users: N,
|
|
720
|
+
selectedDate: w,
|
|
715
721
|
visibleHours: {
|
|
716
|
-
from:
|
|
717
|
-
to:
|
|
722
|
+
from: S.startHour,
|
|
723
|
+
to: S.endHour
|
|
718
724
|
},
|
|
719
|
-
onEventClick:
|
|
720
|
-
renderPopover:
|
|
725
|
+
onEventClick: p,
|
|
726
|
+
renderPopover: v
|
|
721
727
|
}
|
|
722
728
|
);
|
|
723
729
|
case "timeline-week":
|
|
@@ -725,26 +731,26 @@ function Lt({
|
|
|
725
731
|
xe,
|
|
726
732
|
{
|
|
727
733
|
daysToShow: 7,
|
|
728
|
-
events:
|
|
729
|
-
users:
|
|
730
|
-
selectedDate:
|
|
734
|
+
events: a,
|
|
735
|
+
users: N,
|
|
736
|
+
selectedDate: w,
|
|
731
737
|
visibleHours: {
|
|
732
|
-
from:
|
|
733
|
-
to:
|
|
738
|
+
from: S.startHour,
|
|
739
|
+
to: S.endHour
|
|
734
740
|
},
|
|
735
|
-
onEventClick:
|
|
736
|
-
renderPopover:
|
|
741
|
+
onEventClick: p,
|
|
742
|
+
renderPopover: v
|
|
737
743
|
}
|
|
738
744
|
);
|
|
739
745
|
default:
|
|
740
746
|
return /* @__PURE__ */ e(
|
|
741
747
|
ke,
|
|
742
748
|
{
|
|
743
|
-
events:
|
|
744
|
-
date:
|
|
745
|
-
badgeVariant:
|
|
746
|
-
onEventClick:
|
|
747
|
-
onDayClick:
|
|
749
|
+
events: a,
|
|
750
|
+
date: w,
|
|
751
|
+
badgeVariant: T,
|
|
752
|
+
onEventClick: p,
|
|
753
|
+
onDayClick: B
|
|
748
754
|
}
|
|
749
755
|
);
|
|
750
756
|
}
|
|
@@ -752,27 +758,27 @@ function Lt({
|
|
|
752
758
|
return /* @__PURE__ */ e(
|
|
753
759
|
rt,
|
|
754
760
|
{
|
|
755
|
-
mode:
|
|
756
|
-
onSelect:
|
|
761
|
+
mode: j,
|
|
762
|
+
onSelect: P,
|
|
757
763
|
minDurationMinutes: m,
|
|
758
|
-
slotDurationMinutes:
|
|
764
|
+
slotDurationMinutes: D,
|
|
759
765
|
enabled: !!(s || r),
|
|
760
|
-
children: /* @__PURE__ */ n("div", { className:
|
|
766
|
+
children: /* @__PURE__ */ n("div", { className: u("flex flex-col h-full p-4", i), children: [
|
|
761
767
|
l && /* @__PURE__ */ e(
|
|
762
768
|
at,
|
|
763
769
|
{
|
|
764
|
-
currentDate:
|
|
765
|
-
view:
|
|
766
|
-
events:
|
|
767
|
-
onViewChange:
|
|
768
|
-
onNavigateToday: () => b(/* @__PURE__ */ new Date(),
|
|
770
|
+
currentDate: w,
|
|
771
|
+
view: x,
|
|
772
|
+
events: z,
|
|
773
|
+
onViewChange: y,
|
|
774
|
+
onNavigateToday: () => b(/* @__PURE__ */ new Date(), x),
|
|
769
775
|
onNavigatePrev: () => {
|
|
770
|
-
const
|
|
771
|
-
|
|
776
|
+
const a = new Date(w);
|
|
777
|
+
x === "day" || x === "timeline-day" ? a.setDate(a.getDate() - 1) : x === "timeline-3day" ? a.setDate(a.getDate() - 3) : x === "week" || x === "timeline-week" ? a.setDate(a.getDate() - 7) : x === "month" ? a.setMonth(a.getMonth() - 1) : x === "year" ? a.setFullYear(a.getFullYear() - 1) : a.setDate(a.getDate() - 7), b(a, x);
|
|
772
778
|
},
|
|
773
779
|
onNavigateNext: () => {
|
|
774
|
-
const
|
|
775
|
-
|
|
780
|
+
const a = new Date(w);
|
|
781
|
+
x === "day" || x === "timeline-day" ? a.setDate(a.getDate() + 1) : x === "timeline-3day" ? a.setDate(a.getDate() + 3) : x === "week" || x === "timeline-week" ? a.setDate(a.getDate() + 7) : x === "month" ? a.setMonth(a.getMonth() + 1) : x === "year" ? a.setFullYear(a.getFullYear() + 1) : a.setDate(a.getDate() + 7), b(a, x);
|
|
776
782
|
},
|
|
777
783
|
availableViews: [
|
|
778
784
|
"day",
|
|
@@ -782,42 +788,43 @@ function Lt({
|
|
|
782
788
|
"agenda"
|
|
783
789
|
],
|
|
784
790
|
showTimelineViews: !0,
|
|
785
|
-
showSettings: !!
|
|
786
|
-
...
|
|
787
|
-
settingsContent:
|
|
788
|
-
filterContent:
|
|
791
|
+
showSettings: !!d,
|
|
792
|
+
...o && { onAddEvent: o },
|
|
793
|
+
settingsContent: d,
|
|
794
|
+
filterContent: g
|
|
789
795
|
}
|
|
790
796
|
),
|
|
791
|
-
/* @__PURE__ */ e("div", { className: "flex-1 border rounded-lg bg-white overflow-x-auto", children:
|
|
797
|
+
/* @__PURE__ */ e("div", { className: "flex-1 border rounded-lg bg-white overflow-x-auto", children: c() })
|
|
792
798
|
] })
|
|
793
799
|
}
|
|
794
800
|
);
|
|
795
801
|
}
|
|
796
|
-
function
|
|
802
|
+
function Or({
|
|
797
803
|
events: t,
|
|
798
804
|
users: r = [],
|
|
799
805
|
scheduleTypes: s = [],
|
|
800
|
-
initialView:
|
|
806
|
+
initialView: o = "week",
|
|
801
807
|
initialDate: i,
|
|
802
808
|
initialSelectedUserId: l,
|
|
803
809
|
initialScheduleTypeIds: m,
|
|
804
810
|
initialParticipantIds: f,
|
|
805
|
-
initialWorkingHoursView:
|
|
806
|
-
initialSearchQuery:
|
|
807
|
-
preferencesConfig:
|
|
808
|
-
onEventClick:
|
|
809
|
-
onSlotClick:
|
|
810
|
-
onSlotSelect:
|
|
811
|
-
onAddEvent:
|
|
811
|
+
initialWorkingHoursView: d,
|
|
812
|
+
initialSearchQuery: g,
|
|
813
|
+
preferencesConfig: M,
|
|
814
|
+
onEventClick: x,
|
|
815
|
+
onSlotClick: y,
|
|
816
|
+
onSlotSelect: w,
|
|
817
|
+
onAddEvent: b,
|
|
812
818
|
onEventDrop: D,
|
|
813
819
|
onDateChange: z,
|
|
814
|
-
onViewChange:
|
|
815
|
-
className:
|
|
816
|
-
showHeader:
|
|
820
|
+
onViewChange: N,
|
|
821
|
+
className: C,
|
|
822
|
+
showHeader: E = !0,
|
|
817
823
|
minSelectionMinutes: T = 30,
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
824
|
+
showMoreEventsInPopover: W = !1,
|
|
825
|
+
renderPopover: S,
|
|
826
|
+
settingsContent: A,
|
|
827
|
+
filterContent: j
|
|
821
828
|
}) {
|
|
822
829
|
return /* @__PURE__ */ e(tt, { ...D && { onEventDrop: D }, children: /* @__PURE__ */ e(
|
|
823
830
|
Je,
|
|
@@ -825,40 +832,41 @@ function _r({
|
|
|
825
832
|
initialEvents: t,
|
|
826
833
|
initialUsers: r,
|
|
827
834
|
initialScheduleTypes: s,
|
|
828
|
-
initialView:
|
|
835
|
+
initialView: o,
|
|
829
836
|
...i && { initialDate: i },
|
|
830
837
|
...l && { initialSelectedUserId: l },
|
|
831
838
|
...m && { initialScheduleTypeIds: m },
|
|
832
839
|
...f && { initialParticipantIds: f },
|
|
833
|
-
...
|
|
834
|
-
...
|
|
835
|
-
...
|
|
840
|
+
...d && { initialWorkingHoursView: d },
|
|
841
|
+
...g && { initialSearchQuery: g },
|
|
842
|
+
...M && { preferencesConfig: M },
|
|
836
843
|
...z && { onDateChange: z },
|
|
837
|
-
...
|
|
844
|
+
...N && { onViewChange: N },
|
|
838
845
|
children: /* @__PURE__ */ e(
|
|
839
846
|
Lt,
|
|
840
847
|
{
|
|
841
|
-
...
|
|
842
|
-
...
|
|
843
|
-
...
|
|
844
|
-
...
|
|
845
|
-
...
|
|
846
|
-
className:
|
|
847
|
-
showHeader:
|
|
848
|
+
...x && { onEventClick: x },
|
|
849
|
+
...y && { onSlotClick: y },
|
|
850
|
+
...w && { onSlotSelect: w },
|
|
851
|
+
...b && { onAddEvent: b },
|
|
852
|
+
...S && { renderPopover: S },
|
|
853
|
+
className: C,
|
|
854
|
+
showHeader: E,
|
|
848
855
|
minSelectionMinutes: T,
|
|
849
|
-
|
|
850
|
-
|
|
856
|
+
showMoreEventsInPopover: W,
|
|
857
|
+
settingsContent: A,
|
|
858
|
+
filterContent: j
|
|
851
859
|
}
|
|
852
860
|
)
|
|
853
861
|
}
|
|
854
862
|
) });
|
|
855
863
|
}
|
|
856
864
|
const G = ye(
|
|
857
|
-
({ className: t, children: r, ...s },
|
|
865
|
+
({ className: t, children: r, ...s }, o) => /* @__PURE__ */ e(
|
|
858
866
|
"select",
|
|
859
867
|
{
|
|
860
|
-
ref:
|
|
861
|
-
className:
|
|
868
|
+
ref: o,
|
|
869
|
+
className: u(
|
|
862
870
|
"flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm",
|
|
863
871
|
"ring-offset-background",
|
|
864
872
|
"focus:outline-none focus:ring-1 focus:ring-ring",
|
|
@@ -872,12 +880,12 @@ const G = ye(
|
|
|
872
880
|
)
|
|
873
881
|
);
|
|
874
882
|
G.displayName = "Select";
|
|
875
|
-
const
|
|
883
|
+
const _ = ye(
|
|
876
884
|
({ className: t, ...r }, s) => /* @__PURE__ */ e(
|
|
877
885
|
"label",
|
|
878
886
|
{
|
|
879
887
|
ref: s,
|
|
880
|
-
className:
|
|
888
|
+
className: u(
|
|
881
889
|
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
|
|
882
890
|
t
|
|
883
891
|
),
|
|
@@ -885,7 +893,7 @@ const O = ye(
|
|
|
885
893
|
}
|
|
886
894
|
)
|
|
887
895
|
);
|
|
888
|
-
|
|
896
|
+
_.displayName = "Label";
|
|
889
897
|
function Tt({ className: t }) {
|
|
890
898
|
return /* @__PURE__ */ n(
|
|
891
899
|
"svg",
|
|
@@ -946,7 +954,7 @@ function he({ className: t }) {
|
|
|
946
954
|
}
|
|
947
955
|
);
|
|
948
956
|
}
|
|
949
|
-
function
|
|
957
|
+
function Ht({ className: t }) {
|
|
950
958
|
return /* @__PURE__ */ n(
|
|
951
959
|
"svg",
|
|
952
960
|
{
|
|
@@ -1000,7 +1008,7 @@ function jt({ className: t }) {
|
|
|
1000
1008
|
}
|
|
1001
1009
|
);
|
|
1002
1010
|
}
|
|
1003
|
-
function
|
|
1011
|
+
function It({ className: t }) {
|
|
1004
1012
|
return /* @__PURE__ */ e(
|
|
1005
1013
|
"svg",
|
|
1006
1014
|
{
|
|
@@ -1110,7 +1118,7 @@ function ne({ className: t }) {
|
|
|
1110
1118
|
strokeWidth: "2",
|
|
1111
1119
|
strokeLinecap: "round",
|
|
1112
1120
|
strokeLinejoin: "round",
|
|
1113
|
-
className:
|
|
1121
|
+
className: u("animate-spin", t),
|
|
1114
1122
|
children: /* @__PURE__ */ e("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
|
|
1115
1123
|
}
|
|
1116
1124
|
);
|
|
@@ -1141,18 +1149,18 @@ const Ft = {
|
|
|
1141
1149
|
deleteConfirmTitle: "Delete Event",
|
|
1142
1150
|
deleteConfirmDescription: "Are you sure you want to delete this event? This action cannot be undone."
|
|
1143
1151
|
}, le = ye(
|
|
1144
|
-
({ onClick: t, label: r, children: s, className:
|
|
1152
|
+
({ onClick: t, label: r, children: s, className: o, variant: i = "ghost", ...l }, m) => /* @__PURE__ */ n(R, { children: [
|
|
1145
1153
|
/* @__PURE__ */ e(U, { asChild: !0, children: /* @__PURE__ */ e(
|
|
1146
1154
|
"button",
|
|
1147
1155
|
{
|
|
1148
1156
|
type: "button",
|
|
1149
1157
|
ref: m,
|
|
1150
1158
|
onClick: t,
|
|
1151
|
-
className:
|
|
1159
|
+
className: u(
|
|
1152
1160
|
"h-8 w-8 rounded-full flex items-center justify-center transition-colors",
|
|
1153
1161
|
i === "ghost" && "hover:bg-zinc-100 dark:hover:bg-zinc-800 text-zinc-600 dark:text-zinc-400",
|
|
1154
1162
|
i === "destructive" && "hover:bg-red-50 dark:hover:bg-red-950/30 text-zinc-600 dark:text-zinc-400 hover:text-red-600",
|
|
1155
|
-
|
|
1163
|
+
o
|
|
1156
1164
|
),
|
|
1157
1165
|
"aria-label": r,
|
|
1158
1166
|
...l,
|
|
@@ -1163,14 +1171,14 @@ const Ft = {
|
|
|
1163
1171
|
] })
|
|
1164
1172
|
);
|
|
1165
1173
|
le.displayName = "IconButton";
|
|
1166
|
-
function Pt({ src: t, alt: r, initials: s, className:
|
|
1174
|
+
function Pt({ src: t, alt: r, initials: s, className: o, isClient: i }) {
|
|
1167
1175
|
const [l, m] = te(!1);
|
|
1168
1176
|
return /* @__PURE__ */ e(
|
|
1169
1177
|
"div",
|
|
1170
1178
|
{
|
|
1171
|
-
className:
|
|
1179
|
+
className: u(
|
|
1172
1180
|
"relative h-7 w-7 rounded-full overflow-hidden shrink-0",
|
|
1173
|
-
|
|
1181
|
+
o
|
|
1174
1182
|
),
|
|
1175
1183
|
children: t && !l ? /* @__PURE__ */ e(
|
|
1176
1184
|
"img",
|
|
@@ -1183,7 +1191,7 @@ function Pt({ src: t, alt: r, initials: s, className: a, isClient: i }) {
|
|
|
1183
1191
|
) : /* @__PURE__ */ e(
|
|
1184
1192
|
"div",
|
|
1185
1193
|
{
|
|
1186
|
-
className:
|
|
1194
|
+
className: u(
|
|
1187
1195
|
"h-full w-full flex items-center justify-center text-[10px] font-medium",
|
|
1188
1196
|
i ? "bg-amber-100 dark:bg-amber-900/30 text-amber-700 dark:text-amber-300" : "bg-zinc-200 dark:bg-zinc-700 text-zinc-700 dark:text-zinc-300"
|
|
1189
1197
|
),
|
|
@@ -1193,52 +1201,52 @@ function Pt({ src: t, alt: r, initials: s, className: a, isClient: i }) {
|
|
|
1193
1201
|
}
|
|
1194
1202
|
);
|
|
1195
1203
|
}
|
|
1196
|
-
function
|
|
1204
|
+
function He({
|
|
1197
1205
|
participant: t,
|
|
1198
1206
|
isEventCanceled: r = !1,
|
|
1199
1207
|
labels: s
|
|
1200
1208
|
}) {
|
|
1201
|
-
const
|
|
1209
|
+
const o = t.name || "Unknown", i = o.split(" ").map((y) => y[0]).join("").toUpperCase().slice(0, 2), l = t.isOrganizer ?? !1, m = t.isConfirmed, f = m === !0, d = m === !1, g = t.isClient ?? !1, M = t.profilePicture || t.avatar, x = r;
|
|
1202
1210
|
return /* @__PURE__ */ n(
|
|
1203
1211
|
"div",
|
|
1204
1212
|
{
|
|
1205
|
-
className:
|
|
1213
|
+
className: u(
|
|
1206
1214
|
"flex items-center gap-3 py-0",
|
|
1207
|
-
|
|
1215
|
+
x && "opacity-60"
|
|
1208
1216
|
),
|
|
1209
1217
|
children: [
|
|
1210
1218
|
/* @__PURE__ */ n("div", { className: "relative", children: [
|
|
1211
1219
|
/* @__PURE__ */ e(
|
|
1212
1220
|
Pt,
|
|
1213
1221
|
{
|
|
1214
|
-
src:
|
|
1215
|
-
alt:
|
|
1222
|
+
src: M,
|
|
1223
|
+
alt: o,
|
|
1216
1224
|
initials: i,
|
|
1217
|
-
isClient:
|
|
1218
|
-
className:
|
|
1225
|
+
isClient: g,
|
|
1226
|
+
className: u(x && "grayscale")
|
|
1219
1227
|
}
|
|
1220
1228
|
),
|
|
1221
|
-
|
|
1229
|
+
x || d ? /* @__PURE__ */ e("div", { className: "absolute -bottom-0.5 -right-0.5 h-3.5 w-3.5 rounded-full bg-white dark:bg-zinc-900 flex items-center justify-center", children: /* @__PURE__ */ e("div", { className: "h-3 w-3 rounded-full bg-red-100 dark:bg-red-900/50 flex items-center justify-center", children: /* @__PURE__ */ e(he, { className: "h-2 w-2 text-red-600 dark:text-red-400 stroke-[3]" }) }) }) : f ? /* @__PURE__ */ e("div", { className: "absolute -bottom-0.5 -right-0.5 h-3.5 w-3.5 rounded-full bg-white dark:bg-zinc-900 flex items-center justify-center", children: /* @__PURE__ */ e("div", { className: "h-3 w-3 rounded-full bg-green-100 dark:bg-green-900/50 flex items-center justify-center", children: /* @__PURE__ */ e(ie, { className: "h-2 w-2 text-green-600 dark:text-green-400 stroke-[3]" }) }) }) : null
|
|
1222
1230
|
] }),
|
|
1223
1231
|
/* @__PURE__ */ n("div", { className: "!h-fit min-w-0 gap-0", children: [
|
|
1224
1232
|
/* @__PURE__ */ e("div", { className: "gap-0", children: /* @__PURE__ */ e(
|
|
1225
1233
|
"span",
|
|
1226
1234
|
{
|
|
1227
|
-
className:
|
|
1235
|
+
className: u(
|
|
1228
1236
|
"text-sm text-zinc-900 dark:text-zinc-100 truncate",
|
|
1229
|
-
|
|
1237
|
+
x && "line-through text-zinc-500 dark:text-zinc-500"
|
|
1230
1238
|
),
|
|
1231
|
-
children:
|
|
1239
|
+
children: o
|
|
1232
1240
|
}
|
|
1233
1241
|
) }),
|
|
1234
|
-
|
|
1235
|
-
l && !
|
|
1242
|
+
g && /* @__PURE__ */ e("div", { className: "text-[10px] px-1.5 w-fit py-0.5 rounded bg-amber-100 dark:bg-amber-900/30 text-amber-700 dark:text-amber-300 font-medium", children: s.client }),
|
|
1243
|
+
l && !x && /* @__PURE__ */ e("div", { className: "text-xs text-zinc-500", children: s.organizer })
|
|
1236
1244
|
] })
|
|
1237
1245
|
]
|
|
1238
1246
|
}
|
|
1239
1247
|
);
|
|
1240
1248
|
}
|
|
1241
|
-
function
|
|
1249
|
+
function Ot({ open: t, onOpenChange: r, title: s, children: o }) {
|
|
1242
1250
|
return be(() => {
|
|
1243
1251
|
if (!t) return;
|
|
1244
1252
|
const i = (l) => {
|
|
@@ -1260,15 +1268,15 @@ function _t({ open: t, onOpenChange: r, title: s, children: a }) {
|
|
|
1260
1268
|
),
|
|
1261
1269
|
/* @__PURE__ */ e("div", { className: "fixed inset-x-4 top-[50%] translate-y-[-50%] max-w-md mx-auto", children: /* @__PURE__ */ n("div", { className: "bg-white dark:bg-zinc-900 rounded-2xl shadow-xl overflow-hidden", children: [
|
|
1262
1270
|
s && /* @__PURE__ */ e("div", { className: "sr-only", children: s }),
|
|
1263
|
-
|
|
1271
|
+
o
|
|
1264
1272
|
] }) })
|
|
1265
1273
|
] }) : null;
|
|
1266
1274
|
}
|
|
1267
|
-
function
|
|
1275
|
+
function _t({
|
|
1268
1276
|
open: t,
|
|
1269
1277
|
onOpenChange: r,
|
|
1270
1278
|
title: s,
|
|
1271
|
-
description:
|
|
1279
|
+
description: o,
|
|
1272
1280
|
cancelLabel: i,
|
|
1273
1281
|
confirmLabel: l,
|
|
1274
1282
|
onConfirm: m,
|
|
@@ -1280,14 +1288,14 @@ function Ot({
|
|
|
1280
1288
|
{
|
|
1281
1289
|
className: "fixed inset-0 bg-black/50 backdrop-blur-sm",
|
|
1282
1290
|
onClick: () => r(!1),
|
|
1283
|
-
onKeyDown: (
|
|
1284
|
-
(
|
|
1291
|
+
onKeyDown: (d) => {
|
|
1292
|
+
(d.key === "Enter" || d.key === " ") && r(!1);
|
|
1285
1293
|
}
|
|
1286
1294
|
}
|
|
1287
1295
|
),
|
|
1288
1296
|
/* @__PURE__ */ e("div", { className: "fixed inset-x-4 top-[50%] translate-y-[-50%] max-w-md mx-auto", children: /* @__PURE__ */ n("div", { className: "bg-white dark:bg-zinc-900 rounded-lg shadow-xl p-6", children: [
|
|
1289
1297
|
/* @__PURE__ */ e("h2", { className: "text-lg font-semibold text-zinc-900 dark:text-zinc-100", children: s }),
|
|
1290
|
-
/* @__PURE__ */ e("p", { className: "mt-2 text-sm text-zinc-600 dark:text-zinc-400", children:
|
|
1298
|
+
/* @__PURE__ */ e("p", { className: "mt-2 text-sm text-zinc-600 dark:text-zinc-400", children: o }),
|
|
1291
1299
|
/* @__PURE__ */ n("div", { className: "mt-4 flex justify-end gap-3", children: [
|
|
1292
1300
|
/* @__PURE__ */ e(
|
|
1293
1301
|
q,
|
|
@@ -1344,53 +1352,53 @@ function Yt(t) {
|
|
|
1344
1352
|
const [r, s] = te(() => typeof window < "u" ? window.matchMedia(t).matches : !1);
|
|
1345
1353
|
return be(() => {
|
|
1346
1354
|
if (typeof window > "u") return;
|
|
1347
|
-
const
|
|
1348
|
-
return
|
|
1355
|
+
const o = window.matchMedia(t), i = (l) => s(l.matches);
|
|
1356
|
+
return o.addEventListener("change", i), () => o.removeEventListener("change", i);
|
|
1349
1357
|
}, [t]), r;
|
|
1350
1358
|
}
|
|
1351
1359
|
function je({
|
|
1352
1360
|
event: t,
|
|
1353
1361
|
labels: r,
|
|
1354
1362
|
isLoading: s,
|
|
1355
|
-
onClose:
|
|
1363
|
+
onClose: o,
|
|
1356
1364
|
onEdit: i,
|
|
1357
1365
|
onDelete: l,
|
|
1358
1366
|
onCancel: m,
|
|
1359
1367
|
onAccept: f,
|
|
1360
|
-
onDecline:
|
|
1361
|
-
onConfirmMeeting:
|
|
1362
|
-
canEdit:
|
|
1363
|
-
canDelete:
|
|
1364
|
-
canCancel:
|
|
1365
|
-
isCurrentUserParticipant:
|
|
1366
|
-
isCurrentUserClient:
|
|
1368
|
+
onDecline: d,
|
|
1369
|
+
onConfirmMeeting: g,
|
|
1370
|
+
canEdit: M = !0,
|
|
1371
|
+
canDelete: x = !1,
|
|
1372
|
+
canCancel: y = !0,
|
|
1373
|
+
isCurrentUserParticipant: w = !1,
|
|
1374
|
+
isCurrentUserClient: b = !1,
|
|
1367
1375
|
currentUserAcceptStatus: D,
|
|
1368
1376
|
isAcceptLoading: z = !1,
|
|
1369
|
-
isDeclineLoading:
|
|
1370
|
-
isConfirmLoading:
|
|
1371
|
-
isDeleteLoading:
|
|
1377
|
+
isDeclineLoading: N = !1,
|
|
1378
|
+
isConfirmLoading: C = !1,
|
|
1379
|
+
isDeleteLoading: E = !1,
|
|
1372
1380
|
renderParticipant: T,
|
|
1373
|
-
renderHeaderActions:
|
|
1374
|
-
renderCancelReason:
|
|
1381
|
+
renderHeaderActions: W,
|
|
1382
|
+
renderCancelReason: S,
|
|
1375
1383
|
renderDeleteConfirmation: A,
|
|
1376
1384
|
formatDate: j = Vt,
|
|
1377
|
-
formatTimeRange:
|
|
1385
|
+
formatTimeRange: P = Rt
|
|
1378
1386
|
}) {
|
|
1379
|
-
const [
|
|
1380
|
-
|
|
1387
|
+
const [B, I] = te(!1), h = !(t.isCanceled || t.meetingTookPlace), c = t.isRecurring ?? !1, a = t.participantDetails, p = t.participantsNames || [], v = a && a.length > 0, k = D === !0, L = D === !1, O = w && !b && h, X = v ? a.filter((F) => F.isConfirmed).length : t.isAccepted ? p.length : 0, $ = v ? a.length : p.length, re = t.scheduleTypeColor || t.hexColor || "#039BE5", ce = ee(() => t.startDate ? j(t.startDate) : r.noDateProvided, [t.startDate, j, r.noDateProvided]), se = ee(() => t.startDate && t.endDate ? P(t.startDate, t.endDate) : null, [t.startDate, t.endDate, P]), Q = () => {
|
|
1388
|
+
o(), i?.(t);
|
|
1381
1389
|
}, Z = () => {
|
|
1382
|
-
|
|
1390
|
+
o(), m?.(t);
|
|
1383
1391
|
}, de = () => {
|
|
1384
|
-
|
|
1392
|
+
I(!0);
|
|
1385
1393
|
}, ue = () => {
|
|
1386
|
-
l?.(t),
|
|
1394
|
+
l?.(t), I(!1);
|
|
1387
1395
|
};
|
|
1388
1396
|
return s ? /* @__PURE__ */ e("div", { className: "flex h-48 items-center justify-center", children: /* @__PURE__ */ e(ne, { className: "h-6 w-6 text-zinc-400" }) }) : /* @__PURE__ */ n(V, { delayDuration: 300, children: [
|
|
1389
1397
|
/* @__PURE__ */ n("div", { className: "flex flex-col gap-0.5 p-3", children: [
|
|
1390
|
-
/* @__PURE__ */ e("div", { className: "flex items-start justify-end gap-0.5", children:
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1398
|
+
/* @__PURE__ */ e("div", { className: "flex items-start justify-end gap-0.5", children: W ? W({ onClose: o }) : /* @__PURE__ */ n(K, { children: [
|
|
1399
|
+
h && M && i && /* @__PURE__ */ e(le, { onClick: Q, label: r.edit, children: /* @__PURE__ */ e(Tt, { className: "h-[18px] w-[18px]" }) }),
|
|
1400
|
+
h && y && m && /* @__PURE__ */ e(le, { onClick: Z, label: r.cancel, children: /* @__PURE__ */ e(Ht, { className: "h-[18px] w-[18px]" }) }),
|
|
1401
|
+
x && l && /* @__PURE__ */ e(
|
|
1394
1402
|
le,
|
|
1395
1403
|
{
|
|
1396
1404
|
onClick: de,
|
|
@@ -1399,7 +1407,7 @@ function je({
|
|
|
1399
1407
|
children: /* @__PURE__ */ e(Ue, { className: "h-[18px] w-[18px]" })
|
|
1400
1408
|
}
|
|
1401
1409
|
),
|
|
1402
|
-
/* @__PURE__ */ e(le, { onClick:
|
|
1410
|
+
/* @__PURE__ */ e(le, { onClick: o, label: r.close, children: /* @__PURE__ */ e(he, { className: "h-[18px] w-[18px]" }) })
|
|
1403
1411
|
] }) }),
|
|
1404
1412
|
/* @__PURE__ */ e("div", { children: /* @__PURE__ */ n("div", { className: "flex items-start gap-2", children: [
|
|
1405
1413
|
/* @__PURE__ */ e(
|
|
@@ -1414,7 +1422,7 @@ function je({
|
|
|
1414
1422
|
/* @__PURE__ */ e(
|
|
1415
1423
|
"h2",
|
|
1416
1424
|
{
|
|
1417
|
-
className:
|
|
1425
|
+
className: u(
|
|
1418
1426
|
"text-[22px] font-normal text-zinc-900 dark:text-zinc-100 leading-tight",
|
|
1419
1427
|
t.isCanceled && "line-through opacity-60"
|
|
1420
1428
|
),
|
|
@@ -1437,10 +1445,10 @@ function je({
|
|
|
1437
1445
|
/* @__PURE__ */ e("span", { children: se() })
|
|
1438
1446
|
] })
|
|
1439
1447
|
] }),
|
|
1440
|
-
|
|
1448
|
+
c && t.recurrenceSummary && /* @__PURE__ */ e("div", { className: "text-sm text-zinc-500 dark:text-zinc-500", children: t.recurrenceSummary })
|
|
1441
1449
|
] })
|
|
1442
1450
|
] }) }),
|
|
1443
|
-
t.isCanceled && /* @__PURE__ */ e("div", { className: "mx-4 p-3 rounded-lg bg-red-50 dark:bg-red-950/30", children:
|
|
1451
|
+
t.isCanceled && /* @__PURE__ */ e("div", { className: "mx-4 p-3 rounded-lg bg-red-50 dark:bg-red-950/30", children: S ? S(t) : /* @__PURE__ */ e("div", { className: "flex items-start gap-0", children: /* @__PURE__ */ n("div", { className: "flex-1 min-w-0", children: [
|
|
1444
1452
|
/* @__PURE__ */ e("div", { className: "text-sm font-medium text-red-700 dark:text-red-400", children: r.cancellationNote }),
|
|
1445
1453
|
t.cancelReason && /* @__PURE__ */ n("div", { className: "mt-1 text-sm text-red-600/80 dark:text-red-400/80 italic", children: [
|
|
1446
1454
|
'"',
|
|
@@ -1458,7 +1466,7 @@ function je({
|
|
|
1458
1466
|
/* @__PURE__ */ e(At, { className: "h-5 w-5 text-zinc-400 mt-0.5 shrink-0" }),
|
|
1459
1467
|
/* @__PURE__ */ e("span", { className: "text-sm text-zinc-700 dark:text-zinc-300", children: t.address })
|
|
1460
1468
|
] }),
|
|
1461
|
-
(
|
|
1469
|
+
(v || p.length > 0) && /* @__PURE__ */ n("div", { className: "flex items-start gap-2 py-0", children: [
|
|
1462
1470
|
/* @__PURE__ */ e(Wt, { className: "h-5 w-5 text-zinc-400 mt-0.5 shrink-0" }),
|
|
1463
1471
|
/* @__PURE__ */ n("div", { className: "flex-1", children: [
|
|
1464
1472
|
/* @__PURE__ */ n("div", { className: "flex items-center gap-0", children: [
|
|
@@ -1476,33 +1484,33 @@ function je({
|
|
|
1476
1484
|
] })
|
|
1477
1485
|
] }),
|
|
1478
1486
|
/* @__PURE__ */ n("div", { className: "mt-2 space-y-2", children: [
|
|
1479
|
-
|
|
1480
|
-
(
|
|
1481
|
-
|
|
1487
|
+
v ? a.slice(0, 6).map(
|
|
1488
|
+
(F, ae) => T ? T(F, ae) : /* @__PURE__ */ e(
|
|
1489
|
+
He,
|
|
1482
1490
|
{
|
|
1483
|
-
participant:
|
|
1491
|
+
participant: F,
|
|
1484
1492
|
isEventCanceled: t.isCanceled,
|
|
1485
1493
|
labels: r
|
|
1486
1494
|
},
|
|
1487
|
-
|
|
1495
|
+
F.id
|
|
1488
1496
|
)
|
|
1489
|
-
) :
|
|
1497
|
+
) : p.slice(0, 6).map((F, ae) => {
|
|
1490
1498
|
const Ne = {
|
|
1491
1499
|
id: String(ae),
|
|
1492
|
-
name:
|
|
1500
|
+
name: F,
|
|
1493
1501
|
email: "",
|
|
1494
1502
|
isConfirmed: t.isAccepted,
|
|
1495
1503
|
isOrganizer: ae === 0,
|
|
1496
1504
|
isClient: !1
|
|
1497
1505
|
};
|
|
1498
1506
|
return T ? T(Ne, ae) : /* @__PURE__ */ e(
|
|
1499
|
-
|
|
1507
|
+
He,
|
|
1500
1508
|
{
|
|
1501
1509
|
participant: Ne,
|
|
1502
1510
|
isEventCanceled: t.isCanceled,
|
|
1503
1511
|
labels: r
|
|
1504
1512
|
},
|
|
1505
|
-
|
|
1513
|
+
F
|
|
1506
1514
|
);
|
|
1507
1515
|
}),
|
|
1508
1516
|
$ > 6 && /* @__PURE__ */ n("div", { className: "text-xs text-zinc-500 py-1.5 pl-10", children: [
|
|
@@ -1520,27 +1528,27 @@ function je({
|
|
|
1520
1528
|
] }),
|
|
1521
1529
|
/* @__PURE__ */ n("div", { className: "flex items-start gap-2", children: [
|
|
1522
1530
|
/* @__PURE__ */ e($t, { className: "h-5 w-5 text-zinc-400 mt-0.5 shrink-0" }),
|
|
1523
|
-
/* @__PURE__ */ e("div", { className: "text-sm text-zinc-700 dark:text-zinc-300", children:
|
|
1531
|
+
/* @__PURE__ */ e("div", { className: "text-sm text-zinc-700 dark:text-zinc-300", children: v && a.find((F) => F.isOrganizer)?.name || p[0] || "Calendar" })
|
|
1524
1532
|
] })
|
|
1525
1533
|
] }),
|
|
1526
|
-
|
|
1527
|
-
|
|
1534
|
+
O && f && d && /* @__PURE__ */ e("div", { className: "border-t border-zinc-100 dark:border-zinc-800 mt-3 py-3", children: /* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
|
|
1535
|
+
c ? /* @__PURE__ */ n(ct, { children: [
|
|
1528
1536
|
/* @__PURE__ */ e(dt, { asChild: !0, children: /* @__PURE__ */ n("div", { className: "flex", children: [
|
|
1529
1537
|
/* @__PURE__ */ e(
|
|
1530
1538
|
q,
|
|
1531
1539
|
{
|
|
1532
1540
|
size: "sm",
|
|
1533
1541
|
variant: "outline",
|
|
1534
|
-
className:
|
|
1542
|
+
className: u(
|
|
1535
1543
|
"rounded-r-none gap-1.5 h-8 !border-none !bg-green-100 text-green-800 hover:!bg-green-200",
|
|
1536
|
-
|
|
1544
|
+
k && "!bg-green-700 !text-white hover:!bg-green-700"
|
|
1537
1545
|
),
|
|
1538
|
-
onClick: (
|
|
1539
|
-
|
|
1546
|
+
onClick: (F) => {
|
|
1547
|
+
F.stopPropagation(), k || f(t);
|
|
1540
1548
|
},
|
|
1541
1549
|
disabled: z,
|
|
1542
1550
|
children: z ? /* @__PURE__ */ e(ne, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ n(K, { children: [
|
|
1543
|
-
|
|
1551
|
+
k && /* @__PURE__ */ e(ie, { className: "h-3.5 w-3.5" }),
|
|
1544
1552
|
r.going
|
|
1545
1553
|
] })
|
|
1546
1554
|
}
|
|
@@ -1550,11 +1558,11 @@ function je({
|
|
|
1550
1558
|
{
|
|
1551
1559
|
size: "sm",
|
|
1552
1560
|
variant: "outline",
|
|
1553
|
-
className:
|
|
1561
|
+
className: u(
|
|
1554
1562
|
"rounded-l-none px-1.5 h-8 !border-none !bg-green-100 text-green-800 hover:!bg-green-200",
|
|
1555
|
-
|
|
1563
|
+
k && "!bg-green-700 !text-white hover:!bg-green-700"
|
|
1556
1564
|
),
|
|
1557
|
-
children: /* @__PURE__ */ e(
|
|
1565
|
+
children: /* @__PURE__ */ e(It, { className: "h-3.5 w-3.5" })
|
|
1558
1566
|
}
|
|
1559
1567
|
)
|
|
1560
1568
|
] }) }),
|
|
@@ -1562,9 +1570,9 @@ function je({
|
|
|
1562
1570
|
/* @__PURE__ */ n(
|
|
1563
1571
|
Ce,
|
|
1564
1572
|
{
|
|
1565
|
-
className:
|
|
1573
|
+
className: u(
|
|
1566
1574
|
"gap-1.5 h-8 !border-none !bg-green-50 text-green-800 hover:!bg-green-100",
|
|
1567
|
-
|
|
1575
|
+
k && "!bg-green-700 !text-white hover:!bg-green-700"
|
|
1568
1576
|
),
|
|
1569
1577
|
onClick: () => f(t),
|
|
1570
1578
|
children: [
|
|
@@ -1583,16 +1591,16 @@ function je({
|
|
|
1583
1591
|
{
|
|
1584
1592
|
size: "sm",
|
|
1585
1593
|
variant: "outline",
|
|
1586
|
-
className:
|
|
1594
|
+
className: u(
|
|
1587
1595
|
"gap-1.5 h-8 !border-none !bg-green-100 text-green-800 hover:!bg-green-200",
|
|
1588
|
-
|
|
1596
|
+
k && "!bg-green-700 !text-white hover:!bg-green-700"
|
|
1589
1597
|
),
|
|
1590
1598
|
onClick: () => {
|
|
1591
|
-
|
|
1599
|
+
k || f(t);
|
|
1592
1600
|
},
|
|
1593
1601
|
disabled: z,
|
|
1594
1602
|
children: z ? /* @__PURE__ */ e(ne, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ n(K, { children: [
|
|
1595
|
-
|
|
1603
|
+
k && /* @__PURE__ */ e(ie, { className: "h-3.5 w-3.5" }),
|
|
1596
1604
|
r.going
|
|
1597
1605
|
] })
|
|
1598
1606
|
}
|
|
@@ -1602,138 +1610,138 @@ function je({
|
|
|
1602
1610
|
{
|
|
1603
1611
|
size: "sm",
|
|
1604
1612
|
variant: "outline",
|
|
1605
|
-
className:
|
|
1613
|
+
className: u(
|
|
1606
1614
|
"gap-1.5 h-8 !border-none !bg-rose-100 text-rose-800 hover:!bg-rose-200",
|
|
1607
|
-
|
|
1615
|
+
L && "!bg-rose-700 !text-white hover:!bg-rose-700"
|
|
1608
1616
|
),
|
|
1609
1617
|
onClick: () => {
|
|
1610
|
-
|
|
1618
|
+
L || d(t);
|
|
1611
1619
|
},
|
|
1612
|
-
disabled:
|
|
1613
|
-
children:
|
|
1614
|
-
|
|
1620
|
+
disabled: N,
|
|
1621
|
+
children: N ? /* @__PURE__ */ e(ne, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ n(K, { children: [
|
|
1622
|
+
L && /* @__PURE__ */ e(he, { className: "h-3.5 w-3.5" }),
|
|
1615
1623
|
r.notGoing
|
|
1616
1624
|
] })
|
|
1617
1625
|
}
|
|
1618
1626
|
)
|
|
1619
1627
|
] }) }),
|
|
1620
|
-
|
|
1628
|
+
w && k && !t.meetingTookPlace && !t.isCanceled && g && /* @__PURE__ */ e("div", { className: "border-t border-zinc-100 dark:border-zinc-800 py-3", children: /* @__PURE__ */ n(
|
|
1621
1629
|
q,
|
|
1622
1630
|
{
|
|
1623
1631
|
size: "sm",
|
|
1624
1632
|
variant: "outline",
|
|
1625
1633
|
className: "w-full h-9 hover:!bg-green-100 hover:text-green-700 text-green-700 !bg-green-100 !border-none dark:text-green-400 dark:hover:bg-green-950/30",
|
|
1626
|
-
onClick: () =>
|
|
1627
|
-
disabled:
|
|
1634
|
+
onClick: () => g(t),
|
|
1635
|
+
disabled: C,
|
|
1628
1636
|
children: [
|
|
1629
|
-
|
|
1637
|
+
C && /* @__PURE__ */ e(ne, { className: "h-4 w-4 mr-2" }),
|
|
1630
1638
|
r.confirmMeeting
|
|
1631
1639
|
]
|
|
1632
1640
|
}
|
|
1633
1641
|
) })
|
|
1634
1642
|
] }),
|
|
1635
|
-
A ?
|
|
1643
|
+
A ? B && A({
|
|
1636
1644
|
onConfirm: ue,
|
|
1637
|
-
onCancel: () =>
|
|
1638
|
-
isLoading:
|
|
1645
|
+
onCancel: () => I(!1),
|
|
1646
|
+
isLoading: E
|
|
1639
1647
|
}) : /* @__PURE__ */ e(
|
|
1640
|
-
|
|
1648
|
+
_t,
|
|
1641
1649
|
{
|
|
1642
|
-
open:
|
|
1643
|
-
onOpenChange:
|
|
1650
|
+
open: B,
|
|
1651
|
+
onOpenChange: I,
|
|
1644
1652
|
title: r.deleteConfirmTitle,
|
|
1645
1653
|
description: r.deleteConfirmDescription,
|
|
1646
1654
|
cancelLabel: r.cancel,
|
|
1647
1655
|
confirmLabel: r.delete,
|
|
1648
1656
|
onConfirm: ue,
|
|
1649
|
-
isLoading:
|
|
1657
|
+
isLoading: E
|
|
1650
1658
|
}
|
|
1651
1659
|
)
|
|
1652
1660
|
] });
|
|
1653
1661
|
}
|
|
1654
|
-
function
|
|
1662
|
+
function _r({
|
|
1655
1663
|
event: t,
|
|
1656
1664
|
children: r,
|
|
1657
1665
|
open: s,
|
|
1658
|
-
onOpenChange:
|
|
1666
|
+
onOpenChange: o,
|
|
1659
1667
|
isLoading: i,
|
|
1660
1668
|
labels: l,
|
|
1661
1669
|
onEdit: m,
|
|
1662
1670
|
onDelete: f,
|
|
1663
|
-
onCancel:
|
|
1664
|
-
onAccept:
|
|
1665
|
-
onDecline:
|
|
1666
|
-
onConfirmMeeting:
|
|
1667
|
-
canEdit:
|
|
1668
|
-
canDelete:
|
|
1669
|
-
canCancel:
|
|
1671
|
+
onCancel: d,
|
|
1672
|
+
onAccept: g,
|
|
1673
|
+
onDecline: M,
|
|
1674
|
+
onConfirmMeeting: x,
|
|
1675
|
+
canEdit: y = !0,
|
|
1676
|
+
canDelete: w = !1,
|
|
1677
|
+
canCancel: b = !0,
|
|
1670
1678
|
isCurrentUserParticipant: D,
|
|
1671
1679
|
isCurrentUserClient: z,
|
|
1672
|
-
currentUserAcceptStatus:
|
|
1673
|
-
isAcceptLoading:
|
|
1674
|
-
isDeclineLoading:
|
|
1680
|
+
currentUserAcceptStatus: N,
|
|
1681
|
+
isAcceptLoading: C,
|
|
1682
|
+
isDeclineLoading: E,
|
|
1675
1683
|
isConfirmLoading: T,
|
|
1676
|
-
isDeleteLoading:
|
|
1677
|
-
renderParticipant:
|
|
1684
|
+
isDeleteLoading: W,
|
|
1685
|
+
renderParticipant: S,
|
|
1678
1686
|
renderHeaderActions: A,
|
|
1679
1687
|
renderCancelReason: j,
|
|
1680
|
-
renderDeleteConfirmation:
|
|
1681
|
-
formatDate:
|
|
1682
|
-
formatTimeRange:
|
|
1683
|
-
className:
|
|
1684
|
-
width:
|
|
1688
|
+
renderDeleteConfirmation: P,
|
|
1689
|
+
formatDate: B,
|
|
1690
|
+
formatTimeRange: I,
|
|
1691
|
+
className: h,
|
|
1692
|
+
width: c = 360
|
|
1685
1693
|
}) {
|
|
1686
|
-
const
|
|
1687
|
-
|
|
1688
|
-
}, [
|
|
1694
|
+
const a = Yt("(min-width: 768px)"), p = { ...Ft, ...l }, v = ee(() => {
|
|
1695
|
+
o?.(!1);
|
|
1696
|
+
}, [o]), k = {
|
|
1689
1697
|
event: t,
|
|
1690
|
-
labels:
|
|
1698
|
+
labels: p,
|
|
1691
1699
|
isLoading: i,
|
|
1692
|
-
onClose:
|
|
1700
|
+
onClose: v,
|
|
1693
1701
|
onEdit: m,
|
|
1694
1702
|
onDelete: f,
|
|
1695
|
-
onCancel:
|
|
1696
|
-
onAccept:
|
|
1697
|
-
onDecline:
|
|
1698
|
-
onConfirmMeeting:
|
|
1699
|
-
canEdit:
|
|
1700
|
-
canDelete:
|
|
1701
|
-
canCancel:
|
|
1703
|
+
onCancel: d,
|
|
1704
|
+
onAccept: g,
|
|
1705
|
+
onDecline: M,
|
|
1706
|
+
onConfirmMeeting: x,
|
|
1707
|
+
canEdit: y,
|
|
1708
|
+
canDelete: w,
|
|
1709
|
+
canCancel: b,
|
|
1702
1710
|
isCurrentUserParticipant: D,
|
|
1703
1711
|
isCurrentUserClient: z,
|
|
1704
|
-
currentUserAcceptStatus:
|
|
1705
|
-
isAcceptLoading:
|
|
1706
|
-
isDeclineLoading:
|
|
1712
|
+
currentUserAcceptStatus: N,
|
|
1713
|
+
isAcceptLoading: C,
|
|
1714
|
+
isDeclineLoading: E,
|
|
1707
1715
|
isConfirmLoading: T,
|
|
1708
|
-
isDeleteLoading:
|
|
1709
|
-
renderParticipant:
|
|
1716
|
+
isDeleteLoading: W,
|
|
1717
|
+
renderParticipant: S,
|
|
1710
1718
|
renderHeaderActions: A,
|
|
1711
1719
|
renderCancelReason: j,
|
|
1712
|
-
renderDeleteConfirmation:
|
|
1713
|
-
formatDate:
|
|
1714
|
-
formatTimeRange:
|
|
1720
|
+
renderDeleteConfirmation: P,
|
|
1721
|
+
formatDate: B,
|
|
1722
|
+
formatTimeRange: I
|
|
1715
1723
|
};
|
|
1716
|
-
return
|
|
1724
|
+
return a ? /* @__PURE__ */ n(_e, { open: s ?? !1, onOpenChange: o ?? (() => {
|
|
1717
1725
|
}), children: [
|
|
1718
1726
|
/* @__PURE__ */ e(Ve, { asChild: !0, children: r }),
|
|
1719
1727
|
/* @__PURE__ */ e(
|
|
1720
1728
|
Re,
|
|
1721
1729
|
{
|
|
1722
|
-
className:
|
|
1730
|
+
className: u(
|
|
1723
1731
|
"p-0 shadow-lg !rounded-2xl bg-white dark:bg-zinc-900 overflow-hidden border z-50",
|
|
1724
|
-
|
|
1732
|
+
h
|
|
1725
1733
|
),
|
|
1726
|
-
style: { width:
|
|
1734
|
+
style: { width: c },
|
|
1727
1735
|
align: "center",
|
|
1728
1736
|
side: "bottom",
|
|
1729
1737
|
sideOffset: 4,
|
|
1730
|
-
children: /* @__PURE__ */ e(je, { ...
|
|
1738
|
+
children: /* @__PURE__ */ e(je, { ...k })
|
|
1731
1739
|
}
|
|
1732
1740
|
)
|
|
1733
1741
|
] }) : /* @__PURE__ */ n(K, { children: [
|
|
1734
1742
|
r,
|
|
1735
|
-
/* @__PURE__ */ e(
|
|
1736
|
-
}), title: t.title, children: /* @__PURE__ */ e(je, { ...
|
|
1743
|
+
/* @__PURE__ */ e(Ot, { open: s ?? !1, onOpenChange: o ?? (() => {
|
|
1744
|
+
}), title: t.title, children: /* @__PURE__ */ e(je, { ...k }) })
|
|
1737
1745
|
] });
|
|
1738
1746
|
}
|
|
1739
1747
|
function Gt({ className: t }) {
|
|
@@ -1788,7 +1796,7 @@ function Vr({
|
|
|
1788
1796
|
value: t,
|
|
1789
1797
|
onChange: r,
|
|
1790
1798
|
isLocked: s = !1,
|
|
1791
|
-
className:
|
|
1799
|
+
className: o,
|
|
1792
1800
|
labels: i = {}
|
|
1793
1801
|
}) {
|
|
1794
1802
|
const l = {
|
|
@@ -1799,9 +1807,9 @@ function Vr({
|
|
|
1799
1807
|
}, m = (f) => {
|
|
1800
1808
|
s || r(Number(f.target.value));
|
|
1801
1809
|
};
|
|
1802
|
-
return /* @__PURE__ */ n("div", { className:
|
|
1810
|
+
return /* @__PURE__ */ n("div", { className: u("flex flex-col gap-3", o), children: [
|
|
1803
1811
|
/* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
|
|
1804
|
-
/* @__PURE__ */ e(
|
|
1812
|
+
/* @__PURE__ */ e(_, { className: "text-sm font-semibold", children: l.title }),
|
|
1805
1813
|
s ? /* @__PURE__ */ e(V, { delayDuration: 100, children: /* @__PURE__ */ n(R, { children: [
|
|
1806
1814
|
/* @__PURE__ */ e(U, { children: /* @__PURE__ */ e(Kt, { className: "size-3 text-muted-foreground" }) }),
|
|
1807
1815
|
/* @__PURE__ */ e(Y, { children: /* @__PURE__ */ e("p", { children: l.lockedMessage }) })
|
|
@@ -1875,7 +1883,7 @@ function Rr({
|
|
|
1875
1883
|
value: t,
|
|
1876
1884
|
onChange: r,
|
|
1877
1885
|
isLocked: s = !1,
|
|
1878
|
-
className:
|
|
1886
|
+
className: o,
|
|
1879
1887
|
labels: i = {}
|
|
1880
1888
|
}) {
|
|
1881
1889
|
const l = {
|
|
@@ -1885,18 +1893,18 @@ function Rr({
|
|
|
1885
1893
|
lockedMessage: "This setting is locked by the administrator",
|
|
1886
1894
|
infoMessage: "Set the visible hour range for day and week views. Hours outside this range will be hidden.",
|
|
1887
1895
|
...i
|
|
1888
|
-
}, m = Zt(), f = (
|
|
1896
|
+
}, m = Zt(), f = (g) => {
|
|
1889
1897
|
if (s) return;
|
|
1890
|
-
const
|
|
1891
|
-
|
|
1892
|
-
},
|
|
1898
|
+
const M = Number(g.target.value);
|
|
1899
|
+
M < t.endHour && r({ ...t, startHour: M });
|
|
1900
|
+
}, d = (g) => {
|
|
1893
1901
|
if (s) return;
|
|
1894
|
-
const
|
|
1895
|
-
|
|
1902
|
+
const M = Number(g.target.value);
|
|
1903
|
+
M > t.startHour && r({ ...t, endHour: M });
|
|
1896
1904
|
};
|
|
1897
|
-
return /* @__PURE__ */ n("div", { className:
|
|
1905
|
+
return /* @__PURE__ */ n("div", { className: u("flex flex-col gap-3", o), children: [
|
|
1898
1906
|
/* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
|
|
1899
|
-
/* @__PURE__ */ e(
|
|
1907
|
+
/* @__PURE__ */ e(_, { className: "text-sm font-semibold", children: l.title }),
|
|
1900
1908
|
s ? /* @__PURE__ */ e(V, { delayDuration: 100, children: /* @__PURE__ */ n(R, { children: [
|
|
1901
1909
|
/* @__PURE__ */ e(U, { children: /* @__PURE__ */ e(Qt, { className: "size-3 text-muted-foreground" }) }),
|
|
1902
1910
|
/* @__PURE__ */ e(Y, { children: /* @__PURE__ */ e("p", { children: l.lockedMessage }) })
|
|
@@ -1907,7 +1915,7 @@ function Rr({
|
|
|
1907
1915
|
] }),
|
|
1908
1916
|
/* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
|
|
1909
1917
|
/* @__PURE__ */ n("div", { className: "flex flex-col gap-1", children: [
|
|
1910
|
-
/* @__PURE__ */ e(
|
|
1918
|
+
/* @__PURE__ */ e(_, { className: "text-xs text-muted-foreground", children: l.from }),
|
|
1911
1919
|
/* @__PURE__ */ e(
|
|
1912
1920
|
G,
|
|
1913
1921
|
{
|
|
@@ -1915,36 +1923,36 @@ function Rr({
|
|
|
1915
1923
|
onChange: f,
|
|
1916
1924
|
disabled: s,
|
|
1917
1925
|
className: "h-9 w-[88px] text-sm",
|
|
1918
|
-
children: m.map((
|
|
1926
|
+
children: m.map((g) => /* @__PURE__ */ e(
|
|
1919
1927
|
"option",
|
|
1920
1928
|
{
|
|
1921
|
-
value:
|
|
1922
|
-
disabled:
|
|
1923
|
-
children:
|
|
1929
|
+
value: g.value.toString(),
|
|
1930
|
+
disabled: g.value >= t.endHour,
|
|
1931
|
+
children: g.label
|
|
1924
1932
|
},
|
|
1925
|
-
|
|
1933
|
+
g.value
|
|
1926
1934
|
))
|
|
1927
1935
|
}
|
|
1928
1936
|
)
|
|
1929
1937
|
] }),
|
|
1930
1938
|
/* @__PURE__ */ e("span", { className: "mt-5 text-muted-foreground", children: "—" }),
|
|
1931
1939
|
/* @__PURE__ */ n("div", { className: "flex flex-col gap-1", children: [
|
|
1932
|
-
/* @__PURE__ */ e(
|
|
1940
|
+
/* @__PURE__ */ e(_, { className: "text-xs text-muted-foreground", children: l.to }),
|
|
1933
1941
|
/* @__PURE__ */ e(
|
|
1934
1942
|
G,
|
|
1935
1943
|
{
|
|
1936
1944
|
value: t.endHour.toString(),
|
|
1937
|
-
onChange:
|
|
1945
|
+
onChange: d,
|
|
1938
1946
|
disabled: s,
|
|
1939
1947
|
className: "h-9 w-[88px] text-sm",
|
|
1940
|
-
children: m.map((
|
|
1948
|
+
children: m.map((g) => /* @__PURE__ */ e(
|
|
1941
1949
|
"option",
|
|
1942
1950
|
{
|
|
1943
|
-
value:
|
|
1944
|
-
disabled:
|
|
1945
|
-
children:
|
|
1951
|
+
value: g.value.toString(),
|
|
1952
|
+
disabled: g.value <= t.startHour,
|
|
1953
|
+
children: g.label
|
|
1946
1954
|
},
|
|
1947
|
-
|
|
1955
|
+
g.value
|
|
1948
1956
|
))
|
|
1949
1957
|
}
|
|
1950
1958
|
)
|
|
@@ -2004,7 +2012,7 @@ function Ur({
|
|
|
2004
2012
|
value: t,
|
|
2005
2013
|
onChange: r,
|
|
2006
2014
|
isLocked: s = !1,
|
|
2007
|
-
className:
|
|
2015
|
+
className: o,
|
|
2008
2016
|
labels: i = {}
|
|
2009
2017
|
}) {
|
|
2010
2018
|
const l = {
|
|
@@ -2017,12 +2025,12 @@ function Ur({
|
|
|
2017
2025
|
mixed: "Mixed"
|
|
2018
2026
|
},
|
|
2019
2027
|
...i
|
|
2020
|
-
}, m = (
|
|
2021
|
-
s || r(
|
|
2028
|
+
}, m = (d) => l.options?.[d] ?? d, f = (d) => {
|
|
2029
|
+
s || r(d.target.value);
|
|
2022
2030
|
};
|
|
2023
|
-
return /* @__PURE__ */ n("div", { className:
|
|
2031
|
+
return /* @__PURE__ */ n("div", { className: u("flex flex-col gap-3", o), children: [
|
|
2024
2032
|
/* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
|
|
2025
|
-
/* @__PURE__ */ e(
|
|
2033
|
+
/* @__PURE__ */ e(_, { className: "text-sm font-semibold", children: l.title }),
|
|
2026
2034
|
s ? /* @__PURE__ */ e(V, { delayDuration: 100, children: /* @__PURE__ */ n(R, { children: [
|
|
2027
2035
|
/* @__PURE__ */ e(U, { children: /* @__PURE__ */ e(er, { className: "size-3 text-muted-foreground" }) }),
|
|
2028
2036
|
/* @__PURE__ */ e(Y, { children: /* @__PURE__ */ e("p", { children: l.lockedMessage }) })
|
|
@@ -2038,7 +2046,7 @@ function Ur({
|
|
|
2038
2046
|
onChange: f,
|
|
2039
2047
|
disabled: s,
|
|
2040
2048
|
className: "h-9 w-[128px] text-sm",
|
|
2041
|
-
children: tr.map((
|
|
2049
|
+
children: tr.map((d) => /* @__PURE__ */ e("option", { value: d.value, children: m(d.value) }, d.value))
|
|
2042
2050
|
}
|
|
2043
2051
|
)
|
|
2044
2052
|
] });
|
|
@@ -2119,7 +2127,7 @@ function or() {
|
|
|
2119
2127
|
label: `${String(r).padStart(2, "0")}:00`
|
|
2120
2128
|
}));
|
|
2121
2129
|
}
|
|
2122
|
-
const
|
|
2130
|
+
const Ie = {
|
|
2123
2131
|
sunday: "Sun",
|
|
2124
2132
|
monday: "Mon",
|
|
2125
2133
|
tuesday: "Tue",
|
|
@@ -2132,19 +2140,19 @@ function ir({
|
|
|
2132
2140
|
dayLabel: t,
|
|
2133
2141
|
config: r,
|
|
2134
2142
|
onChange: s,
|
|
2135
|
-
disabled:
|
|
2143
|
+
disabled: o,
|
|
2136
2144
|
hourOptions: i
|
|
2137
2145
|
}) {
|
|
2138
2146
|
const l = () => {
|
|
2139
|
-
|
|
2140
|
-
}, m = (
|
|
2141
|
-
if (
|
|
2142
|
-
const
|
|
2143
|
-
|
|
2144
|
-
}, f = (
|
|
2145
|
-
if (
|
|
2146
|
-
const
|
|
2147
|
-
|
|
2147
|
+
o || s({ ...r, enabled: !r.enabled });
|
|
2148
|
+
}, m = (d) => {
|
|
2149
|
+
if (o) return;
|
|
2150
|
+
const g = Number(d.target.value);
|
|
2151
|
+
g < r.to && s({ ...r, from: g });
|
|
2152
|
+
}, f = (d) => {
|
|
2153
|
+
if (o) return;
|
|
2154
|
+
const g = Number(d.target.value);
|
|
2155
|
+
g > r.from && s({ ...r, to: g });
|
|
2148
2156
|
};
|
|
2149
2157
|
return /* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
|
|
2150
2158
|
/* @__PURE__ */ e(
|
|
@@ -2155,11 +2163,11 @@ function ir({
|
|
|
2155
2163
|
"aria-checked": r.enabled,
|
|
2156
2164
|
"aria-label": `Enable ${t}`,
|
|
2157
2165
|
onClick: l,
|
|
2158
|
-
disabled:
|
|
2159
|
-
className:
|
|
2166
|
+
disabled: o,
|
|
2167
|
+
className: u(
|
|
2160
2168
|
"flex size-5 shrink-0 items-center justify-center rounded border transition-colors",
|
|
2161
2169
|
r.enabled ? "border-primary bg-primary text-primary-foreground" : "border-input bg-background",
|
|
2162
|
-
|
|
2170
|
+
o && "cursor-not-allowed opacity-50"
|
|
2163
2171
|
),
|
|
2164
2172
|
children: r.enabled && /* @__PURE__ */ e(sr, { className: "size-3" })
|
|
2165
2173
|
}
|
|
@@ -2167,7 +2175,7 @@ function ir({
|
|
|
2167
2175
|
/* @__PURE__ */ e(
|
|
2168
2176
|
"span",
|
|
2169
2177
|
{
|
|
2170
|
-
className:
|
|
2178
|
+
className: u(
|
|
2171
2179
|
"w-10 text-sm",
|
|
2172
2180
|
!r.enabled && "text-muted-foreground"
|
|
2173
2181
|
),
|
|
@@ -2179,16 +2187,16 @@ function ir({
|
|
|
2179
2187
|
{
|
|
2180
2188
|
value: r.from.toString(),
|
|
2181
2189
|
onChange: m,
|
|
2182
|
-
disabled:
|
|
2190
|
+
disabled: o || !r.enabled,
|
|
2183
2191
|
className: "h-8 w-[76px] text-xs",
|
|
2184
|
-
children: i.map((
|
|
2192
|
+
children: i.map((d) => /* @__PURE__ */ e(
|
|
2185
2193
|
"option",
|
|
2186
2194
|
{
|
|
2187
|
-
value:
|
|
2188
|
-
disabled:
|
|
2189
|
-
children:
|
|
2195
|
+
value: d.value.toString(),
|
|
2196
|
+
disabled: d.value >= r.to,
|
|
2197
|
+
children: d.label
|
|
2190
2198
|
},
|
|
2191
|
-
|
|
2199
|
+
d.value
|
|
2192
2200
|
))
|
|
2193
2201
|
}
|
|
2194
2202
|
),
|
|
@@ -2198,16 +2206,16 @@ function ir({
|
|
|
2198
2206
|
{
|
|
2199
2207
|
value: r.to.toString(),
|
|
2200
2208
|
onChange: f,
|
|
2201
|
-
disabled:
|
|
2209
|
+
disabled: o || !r.enabled,
|
|
2202
2210
|
className: "h-8 w-[76px] text-xs",
|
|
2203
|
-
children: i.map((
|
|
2211
|
+
children: i.map((d) => /* @__PURE__ */ e(
|
|
2204
2212
|
"option",
|
|
2205
2213
|
{
|
|
2206
|
-
value:
|
|
2207
|
-
disabled:
|
|
2208
|
-
children:
|
|
2214
|
+
value: d.value.toString(),
|
|
2215
|
+
disabled: d.value <= r.from,
|
|
2216
|
+
children: d.label
|
|
2209
2217
|
},
|
|
2210
|
-
|
|
2218
|
+
d.value
|
|
2211
2219
|
))
|
|
2212
2220
|
}
|
|
2213
2221
|
)
|
|
@@ -2217,21 +2225,21 @@ function Yr({
|
|
|
2217
2225
|
value: t,
|
|
2218
2226
|
onChange: r,
|
|
2219
2227
|
isLocked: s = !1,
|
|
2220
|
-
className:
|
|
2228
|
+
className: o,
|
|
2221
2229
|
labels: i = {}
|
|
2222
2230
|
}) {
|
|
2223
2231
|
const l = {
|
|
2224
2232
|
title: "Working hours",
|
|
2225
2233
|
lockedMessage: "This setting is locked by the administrator",
|
|
2226
2234
|
infoMessage: "Configure working hours for each day of the week. Non-working hours will be grayed out in day and week views.",
|
|
2227
|
-
days:
|
|
2235
|
+
days: Ie,
|
|
2228
2236
|
...i
|
|
2229
|
-
}, m = or(), f = (
|
|
2230
|
-
s || r({ ...t, [
|
|
2237
|
+
}, m = or(), f = (d, g) => {
|
|
2238
|
+
s || r({ ...t, [d]: g });
|
|
2231
2239
|
};
|
|
2232
|
-
return /* @__PURE__ */ n("div", { className:
|
|
2240
|
+
return /* @__PURE__ */ n("div", { className: u("flex flex-col gap-3", o), children: [
|
|
2233
2241
|
/* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
|
|
2234
|
-
/* @__PURE__ */ e(
|
|
2242
|
+
/* @__PURE__ */ e(_, { className: "text-sm font-semibold", children: l.title }),
|
|
2235
2243
|
s ? /* @__PURE__ */ e(V, { delayDuration: 100, children: /* @__PURE__ */ n(R, { children: [
|
|
2236
2244
|
/* @__PURE__ */ e(U, { children: /* @__PURE__ */ e(nr, { className: "size-3 text-muted-foreground" }) }),
|
|
2237
2245
|
/* @__PURE__ */ e(Y, { children: /* @__PURE__ */ e("p", { children: l.lockedMessage }) })
|
|
@@ -2240,16 +2248,16 @@ function Yr({
|
|
|
2240
2248
|
/* @__PURE__ */ e(Y, { className: "max-w-64 text-center", children: /* @__PURE__ */ e("p", { children: l.infoMessage }) })
|
|
2241
2249
|
] }) })
|
|
2242
2250
|
] }),
|
|
2243
|
-
/* @__PURE__ */ e("div", { className: "flex flex-col gap-2", children: ar.map((
|
|
2251
|
+
/* @__PURE__ */ e("div", { className: "flex flex-col gap-2", children: ar.map((d) => /* @__PURE__ */ e(
|
|
2244
2252
|
ir,
|
|
2245
2253
|
{
|
|
2246
|
-
dayLabel: l.days?.[
|
|
2247
|
-
config: t[
|
|
2248
|
-
onChange: (
|
|
2254
|
+
dayLabel: l.days?.[d] ?? Ie[d],
|
|
2255
|
+
config: t[d],
|
|
2256
|
+
onChange: (g) => f(d, g),
|
|
2249
2257
|
disabled: s,
|
|
2250
2258
|
hourOptions: m
|
|
2251
2259
|
},
|
|
2252
|
-
|
|
2260
|
+
d
|
|
2253
2261
|
)) })
|
|
2254
2262
|
] });
|
|
2255
2263
|
}
|
|
@@ -2289,15 +2297,15 @@ function Kr({
|
|
|
2289
2297
|
users: t,
|
|
2290
2298
|
value: r,
|
|
2291
2299
|
onChange: s,
|
|
2292
|
-
allLabel:
|
|
2300
|
+
allLabel: o = "All users",
|
|
2293
2301
|
className: i,
|
|
2294
2302
|
label: l
|
|
2295
2303
|
}) {
|
|
2296
2304
|
const m = (f) => {
|
|
2297
2305
|
s(f.target.value);
|
|
2298
2306
|
};
|
|
2299
|
-
return /* @__PURE__ */ n("div", { className:
|
|
2300
|
-
l && /* @__PURE__ */ e(
|
|
2307
|
+
return /* @__PURE__ */ n("div", { className: u("flex flex-col gap-1", i), children: [
|
|
2308
|
+
l && /* @__PURE__ */ e(_, { className: "text-xs text-muted-foreground", children: l }),
|
|
2301
2309
|
/* @__PURE__ */ n("div", { className: "relative", children: [
|
|
2302
2310
|
/* @__PURE__ */ e(lr, { className: "pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }),
|
|
2303
2311
|
/* @__PURE__ */ n(
|
|
@@ -2307,7 +2315,7 @@ function Kr({
|
|
|
2307
2315
|
onChange: m,
|
|
2308
2316
|
className: "h-9 w-full min-w-[120px] pl-8 pr-8 text-sm",
|
|
2309
2317
|
children: [
|
|
2310
|
-
/* @__PURE__ */ e("option", { value: "all", children:
|
|
2318
|
+
/* @__PURE__ */ e("option", { value: "all", children: o }),
|
|
2311
2319
|
t.map((f) => /* @__PURE__ */ e("option", { value: f.id, children: f.name }, f.id))
|
|
2312
2320
|
]
|
|
2313
2321
|
}
|
|
@@ -2340,17 +2348,17 @@ function Jr({
|
|
|
2340
2348
|
scheduleTypes: t,
|
|
2341
2349
|
value: r,
|
|
2342
2350
|
onChange: s,
|
|
2343
|
-
allLabel:
|
|
2351
|
+
allLabel: o = "All types",
|
|
2344
2352
|
className: i,
|
|
2345
2353
|
label: l
|
|
2346
2354
|
}) {
|
|
2347
|
-
const m = (
|
|
2348
|
-
s(
|
|
2355
|
+
const m = (d) => {
|
|
2356
|
+
s(d.target.value);
|
|
2349
2357
|
}, f = t.find(
|
|
2350
|
-
(
|
|
2358
|
+
(d) => String(d.id) === r
|
|
2351
2359
|
);
|
|
2352
|
-
return /* @__PURE__ */ n("div", { className:
|
|
2353
|
-
l && /* @__PURE__ */ e(
|
|
2360
|
+
return /* @__PURE__ */ n("div", { className: u("flex flex-col gap-1", i), children: [
|
|
2361
|
+
l && /* @__PURE__ */ e(_, { className: "text-xs text-muted-foreground", children: l }),
|
|
2354
2362
|
/* @__PURE__ */ n("div", { className: "relative", children: [
|
|
2355
2363
|
f ? /* @__PURE__ */ e(
|
|
2356
2364
|
"span",
|
|
@@ -2366,8 +2374,8 @@ function Jr({
|
|
|
2366
2374
|
onChange: m,
|
|
2367
2375
|
className: "h-9 w-full min-w-[140px] pl-8 pr-8 text-sm",
|
|
2368
2376
|
children: [
|
|
2369
|
-
/* @__PURE__ */ e("option", { value: "all", children:
|
|
2370
|
-
t.map((
|
|
2377
|
+
/* @__PURE__ */ e("option", { value: "all", children: o }),
|
|
2378
|
+
t.map((d) => /* @__PURE__ */ e("option", { value: String(d.id), children: d.label }, d.id))
|
|
2371
2379
|
]
|
|
2372
2380
|
}
|
|
2373
2381
|
)
|
|
@@ -2428,7 +2436,7 @@ function ur({ className: t }) {
|
|
|
2428
2436
|
}
|
|
2429
2437
|
);
|
|
2430
2438
|
}
|
|
2431
|
-
function ve({ checked: t, onCheckedChange: r, className: s, children:
|
|
2439
|
+
function ve({ checked: t, onCheckedChange: r, className: s, children: o }) {
|
|
2432
2440
|
return /* @__PURE__ */ e(
|
|
2433
2441
|
"button",
|
|
2434
2442
|
{
|
|
@@ -2437,18 +2445,18 @@ function ve({ checked: t, onCheckedChange: r, className: s, children: a }) {
|
|
|
2437
2445
|
"aria-checked": t,
|
|
2438
2446
|
onClick: () => r(!t),
|
|
2439
2447
|
className: s,
|
|
2440
|
-
children:
|
|
2448
|
+
children: o
|
|
2441
2449
|
}
|
|
2442
2450
|
);
|
|
2443
2451
|
}
|
|
2444
|
-
function hr({ src: t, alt: r, fallback: s, className:
|
|
2452
|
+
function hr({ src: t, alt: r, fallback: s, className: o }) {
|
|
2445
2453
|
const [i, l] = te(!1);
|
|
2446
2454
|
return !t || i ? /* @__PURE__ */ e(
|
|
2447
2455
|
"div",
|
|
2448
2456
|
{
|
|
2449
|
-
className:
|
|
2457
|
+
className: u(
|
|
2450
2458
|
"flex items-center justify-center bg-zinc-200 text-zinc-600 font-medium text-sm",
|
|
2451
|
-
|
|
2459
|
+
o
|
|
2452
2460
|
),
|
|
2453
2461
|
children: s || "?"
|
|
2454
2462
|
}
|
|
@@ -2457,13 +2465,13 @@ function hr({ src: t, alt: r, fallback: s, className: a }) {
|
|
|
2457
2465
|
{
|
|
2458
2466
|
src: t,
|
|
2459
2467
|
alt: r || "",
|
|
2460
|
-
className:
|
|
2468
|
+
className: u("object-cover", o),
|
|
2461
2469
|
onError: () => l(!0)
|
|
2462
2470
|
}
|
|
2463
2471
|
);
|
|
2464
2472
|
}
|
|
2465
|
-
function We({ value: t, onChange: r, placeholder: s, className:
|
|
2466
|
-
return /* @__PURE__ */ n("div", { className:
|
|
2473
|
+
function We({ value: t, onChange: r, placeholder: s, className: o }) {
|
|
2474
|
+
return /* @__PURE__ */ n("div", { className: u("relative", o), children: [
|
|
2467
2475
|
/* @__PURE__ */ e(dr, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }),
|
|
2468
2476
|
/* @__PURE__ */ e(
|
|
2469
2477
|
"input",
|
|
@@ -2477,7 +2485,7 @@ function We({ value: t, onChange: r, placeholder: s, className: a }) {
|
|
|
2477
2485
|
)
|
|
2478
2486
|
] });
|
|
2479
2487
|
}
|
|
2480
|
-
function Ae(t, r, s,
|
|
2488
|
+
function Ae(t, r, s, o = 0.3) {
|
|
2481
2489
|
if (!r.trim()) return t;
|
|
2482
2490
|
const i = r.toLowerCase();
|
|
2483
2491
|
return t.filter((l) => s(l).some((f) => f ? f.toLowerCase().includes(i) : !1));
|
|
@@ -2499,75 +2507,75 @@ function Xr({
|
|
|
2499
2507
|
scheduleTypes: t,
|
|
2500
2508
|
users: r,
|
|
2501
2509
|
selectedScheduleTypeIds: s,
|
|
2502
|
-
onScheduleTypeChange:
|
|
2510
|
+
onScheduleTypeChange: o,
|
|
2503
2511
|
selectedUserIds: i,
|
|
2504
2512
|
onUserChange: l,
|
|
2505
2513
|
onClearAll: m,
|
|
2506
2514
|
className: f,
|
|
2507
|
-
scheduleTypesLoading:
|
|
2508
|
-
usersLoading:
|
|
2509
|
-
labels:
|
|
2510
|
-
getScheduleTypeName:
|
|
2515
|
+
scheduleTypesLoading: d = !1,
|
|
2516
|
+
usersLoading: g = !1,
|
|
2517
|
+
labels: M,
|
|
2518
|
+
getScheduleTypeName: x
|
|
2511
2519
|
}) {
|
|
2512
|
-
const
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
]) : t, [t,
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
]) : r, [r, D]),
|
|
2519
|
-
const
|
|
2520
|
-
|
|
2520
|
+
const y = { ...mr, ...M }, [w, b] = te(""), [D, z] = te(""), N = H(() => w.trim() ? Ae(t, w, (c) => [
|
|
2521
|
+
c.name,
|
|
2522
|
+
x?.(c) || c.name
|
|
2523
|
+
]) : t, [t, w, x]), C = H(() => D.trim() ? Ae(r, D, (c) => [
|
|
2524
|
+
c.name,
|
|
2525
|
+
c.email || ""
|
|
2526
|
+
]) : r, [r, D]), E = N.length > 0 && N.every((c) => s.includes(c.id)), T = C.length > 0 && C.every((c) => i.includes(c.id)), W = s.length + i.length, S = (c, a) => {
|
|
2527
|
+
const p = a ? [...s, c] : s.filter((v) => v !== c);
|
|
2528
|
+
o(p);
|
|
2521
2529
|
}, A = () => {
|
|
2522
|
-
if (
|
|
2523
|
-
const
|
|
2524
|
-
|
|
2530
|
+
if (E) {
|
|
2531
|
+
const c = new Set(N.map((a) => a.id));
|
|
2532
|
+
o(s.filter((a) => !c.has(a)));
|
|
2525
2533
|
} else {
|
|
2526
|
-
const
|
|
2534
|
+
const c = /* @__PURE__ */ new Set([
|
|
2527
2535
|
...s,
|
|
2528
|
-
...
|
|
2536
|
+
...N.map((a) => a.id)
|
|
2529
2537
|
]);
|
|
2530
|
-
|
|
2538
|
+
o(Array.from(c));
|
|
2531
2539
|
}
|
|
2532
|
-
}, j = (
|
|
2533
|
-
const
|
|
2534
|
-
l(
|
|
2535
|
-
},
|
|
2540
|
+
}, j = (c, a) => {
|
|
2541
|
+
const p = a ? [...i, c] : i.filter((v) => v !== c);
|
|
2542
|
+
l(p);
|
|
2543
|
+
}, P = () => {
|
|
2536
2544
|
if (T) {
|
|
2537
|
-
const
|
|
2538
|
-
l(i.filter((
|
|
2545
|
+
const c = new Set(C.map((a) => a.id));
|
|
2546
|
+
l(i.filter((a) => !c.has(a)));
|
|
2539
2547
|
} else {
|
|
2540
|
-
const
|
|
2548
|
+
const c = /* @__PURE__ */ new Set([
|
|
2541
2549
|
...i,
|
|
2542
|
-
...
|
|
2550
|
+
...C.map((a) => a.id)
|
|
2543
2551
|
]);
|
|
2544
|
-
l(Array.from(
|
|
2552
|
+
l(Array.from(c));
|
|
2545
2553
|
}
|
|
2546
|
-
},
|
|
2547
|
-
|
|
2548
|
-
},
|
|
2554
|
+
}, B = () => {
|
|
2555
|
+
o([]), l([]), m?.();
|
|
2556
|
+
}, I = (c) => x ? x(c) : c.name, h = (c) => c.colorHex || c.color || "#069AD7";
|
|
2549
2557
|
return /* @__PURE__ */ n(
|
|
2550
2558
|
"div",
|
|
2551
2559
|
{
|
|
2552
|
-
className:
|
|
2560
|
+
className: u(
|
|
2553
2561
|
"flex min-w-72 max-w-72 flex-col rounded-lg border bg-white shadow-sm",
|
|
2554
2562
|
f
|
|
2555
2563
|
),
|
|
2556
2564
|
children: [
|
|
2557
2565
|
/* @__PURE__ */ n("header", { className: "flex items-start justify-between gap-2 px-4 pb-2 pt-4", children: [
|
|
2558
2566
|
/* @__PURE__ */ n("div", { className: "flex flex-col", children: [
|
|
2559
|
-
/* @__PURE__ */ e("h3", { className: "text-base font-semibold text-foreground", children:
|
|
2560
|
-
/* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground", children:
|
|
2567
|
+
/* @__PURE__ */ e("h3", { className: "text-base font-semibold text-foreground", children: y.title }),
|
|
2568
|
+
/* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground", children: y.subtitle })
|
|
2561
2569
|
] }),
|
|
2562
|
-
|
|
2570
|
+
W > 0 && /* @__PURE__ */ n(
|
|
2563
2571
|
"button",
|
|
2564
2572
|
{
|
|
2565
2573
|
type: "button",
|
|
2566
|
-
onClick:
|
|
2574
|
+
onClick: B,
|
|
2567
2575
|
className: "flex h-auto items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-destructive transition-colors hover:bg-destructive/10",
|
|
2568
2576
|
children: [
|
|
2569
2577
|
/* @__PURE__ */ e(ur, { className: "h-3.5 w-3.5" }),
|
|
2570
|
-
|
|
2578
|
+
y.clearAll
|
|
2571
2579
|
]
|
|
2572
2580
|
}
|
|
2573
2581
|
)
|
|
@@ -2575,29 +2583,29 @@ function Xr({
|
|
|
2575
2583
|
/* @__PURE__ */ e("div", { className: "h-px w-full bg-border/60" }),
|
|
2576
2584
|
/* @__PURE__ */ n("section", { className: "flex flex-col", children: [
|
|
2577
2585
|
/* @__PURE__ */ n("div", { className: "flex items-center justify-between px-4 py-3", children: [
|
|
2578
|
-
/* @__PURE__ */ e("h4", { className: "text-sm font-medium text-foreground", children:
|
|
2586
|
+
/* @__PURE__ */ e("h4", { className: "text-sm font-medium text-foreground", children: y.scheduleTypes }),
|
|
2579
2587
|
/* @__PURE__ */ e(
|
|
2580
2588
|
"button",
|
|
2581
2589
|
{
|
|
2582
2590
|
type: "button",
|
|
2583
2591
|
onClick: A,
|
|
2584
2592
|
className: "text-xs font-medium text-primary transition-colors hover:text-primary/80",
|
|
2585
|
-
children:
|
|
2593
|
+
children: E ? y.unselectAll : y.selectAll
|
|
2586
2594
|
}
|
|
2587
2595
|
)
|
|
2588
2596
|
] }),
|
|
2589
2597
|
t.length > 6 && /* @__PURE__ */ e("div", { className: "px-4 pb-3", children: /* @__PURE__ */ e(
|
|
2590
2598
|
We,
|
|
2591
2599
|
{
|
|
2592
|
-
value:
|
|
2593
|
-
onChange:
|
|
2594
|
-
placeholder:
|
|
2600
|
+
value: w,
|
|
2601
|
+
onChange: b,
|
|
2602
|
+
placeholder: y.searchScheduleTypes
|
|
2595
2603
|
}
|
|
2596
2604
|
) }),
|
|
2597
2605
|
/* @__PURE__ */ n("div", { className: "flex max-h-[220px] flex-col gap-2 overflow-y-auto px-4 pb-2 scrollbar-thin", children: [
|
|
2598
|
-
|
|
2606
|
+
d ? (
|
|
2599
2607
|
// Loading skeletons
|
|
2600
|
-
Array.from({ length: 4 }).map((
|
|
2608
|
+
Array.from({ length: 4 }).map((c, a) => /* @__PURE__ */ n(
|
|
2601
2609
|
"div",
|
|
2602
2610
|
{
|
|
2603
2611
|
className: "flex animate-pulse items-center gap-2 rounded-md border border-border/60 bg-muted/40 p-2",
|
|
@@ -2606,61 +2614,61 @@ function Xr({
|
|
|
2606
2614
|
/* @__PURE__ */ e("div", { className: "h-3 w-24 rounded bg-muted-foreground/20" })
|
|
2607
2615
|
]
|
|
2608
2616
|
},
|
|
2609
|
-
`skeleton-${
|
|
2617
|
+
`skeleton-${a}`
|
|
2610
2618
|
))
|
|
2611
|
-
) :
|
|
2612
|
-
const
|
|
2619
|
+
) : N.map((c) => {
|
|
2620
|
+
const a = s.includes(c.id), p = h(c);
|
|
2613
2621
|
return /* @__PURE__ */ n(
|
|
2614
2622
|
ve,
|
|
2615
2623
|
{
|
|
2616
|
-
checked:
|
|
2617
|
-
onCheckedChange: (
|
|
2618
|
-
className:
|
|
2624
|
+
checked: a,
|
|
2625
|
+
onCheckedChange: (v) => S(c.id, v),
|
|
2626
|
+
className: u(
|
|
2619
2627
|
"relative flex w-full cursor-pointer items-center justify-between gap-3 rounded-md border border-border bg-white px-3 py-2 transition-colors hover:border-primary/50",
|
|
2620
|
-
|
|
2628
|
+
a && "border-primary bg-primary/5"
|
|
2621
2629
|
),
|
|
2622
2630
|
children: [
|
|
2623
2631
|
/* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
|
|
2624
2632
|
/* @__PURE__ */ e(
|
|
2625
2633
|
"span",
|
|
2626
2634
|
{
|
|
2627
|
-
className:
|
|
2635
|
+
className: u(
|
|
2628
2636
|
"flex h-4 w-4 items-center justify-center rounded border border-border text-xs transition-colors",
|
|
2629
|
-
|
|
2637
|
+
a && "border-primary bg-primary text-primary-foreground"
|
|
2630
2638
|
),
|
|
2631
|
-
children:
|
|
2639
|
+
children: a && /* @__PURE__ */ e(pe, { className: "h-3 w-3" })
|
|
2632
2640
|
}
|
|
2633
2641
|
),
|
|
2634
|
-
/* @__PURE__ */ e("span", { className: "text-sm font-medium text-foreground", children:
|
|
2642
|
+
/* @__PURE__ */ e("span", { className: "text-sm font-medium text-foreground", children: I(c) })
|
|
2635
2643
|
] }),
|
|
2636
2644
|
/* @__PURE__ */ e(
|
|
2637
2645
|
"div",
|
|
2638
2646
|
{
|
|
2639
2647
|
className: "h-4 w-4 rounded-full border",
|
|
2640
2648
|
style: {
|
|
2641
|
-
backgroundColor:
|
|
2642
|
-
borderColor:
|
|
2649
|
+
backgroundColor: p,
|
|
2650
|
+
borderColor: p
|
|
2643
2651
|
}
|
|
2644
2652
|
}
|
|
2645
2653
|
)
|
|
2646
2654
|
]
|
|
2647
2655
|
},
|
|
2648
|
-
|
|
2656
|
+
c.id
|
|
2649
2657
|
);
|
|
2650
2658
|
}),
|
|
2651
|
-
!
|
|
2659
|
+
!d && N.length === 0 && /* @__PURE__ */ e("p", { className: "px-2 py-1 text-xs text-muted-foreground", children: y.noScheduleTypes })
|
|
2652
2660
|
] })
|
|
2653
2661
|
] }),
|
|
2654
2662
|
/* @__PURE__ */ e("div", { className: "h-px w-full bg-border/60" }),
|
|
2655
2663
|
/* @__PURE__ */ n("section", { className: "flex flex-col", children: [
|
|
2656
2664
|
/* @__PURE__ */ n("div", { className: "flex items-center justify-between px-4 py-3", children: [
|
|
2657
|
-
/* @__PURE__ */ e("h4", { className: "text-sm font-medium text-foreground", children:
|
|
2665
|
+
/* @__PURE__ */ e("h4", { className: "text-sm font-medium text-foreground", children: y.participants }),
|
|
2658
2666
|
/* @__PURE__ */ e(
|
|
2659
2667
|
ve,
|
|
2660
2668
|
{
|
|
2661
2669
|
checked: T,
|
|
2662
|
-
onCheckedChange: () =>
|
|
2663
|
-
className:
|
|
2670
|
+
onCheckedChange: () => P(),
|
|
2671
|
+
className: u(
|
|
2664
2672
|
"flex h-5 w-5 items-center justify-center rounded border border-border bg-white transition-colors hover:border-primary/50",
|
|
2665
2673
|
T && "border-primary bg-primary text-primary-foreground"
|
|
2666
2674
|
),
|
|
@@ -2673,13 +2681,13 @@ function Xr({
|
|
|
2673
2681
|
{
|
|
2674
2682
|
value: D,
|
|
2675
2683
|
onChange: z,
|
|
2676
|
-
placeholder:
|
|
2684
|
+
placeholder: y.searchParticipants
|
|
2677
2685
|
}
|
|
2678
2686
|
) }),
|
|
2679
2687
|
/* @__PURE__ */ n("div", { className: "flex max-h-[400px] flex-col gap-2 overflow-y-auto px-4 pb-4 scrollbar-thin", children: [
|
|
2680
|
-
|
|
2688
|
+
g ? (
|
|
2681
2689
|
// Loading skeletons
|
|
2682
|
-
Array.from({ length: 4 }).map((
|
|
2690
|
+
Array.from({ length: 4 }).map((c, a) => /* @__PURE__ */ n(
|
|
2683
2691
|
"div",
|
|
2684
2692
|
{
|
|
2685
2693
|
className: "flex animate-pulse items-center gap-3 rounded-md border border-border/60 bg-muted/40 p-3",
|
|
@@ -2692,58 +2700,58 @@ function Xr({
|
|
|
2692
2700
|
] })
|
|
2693
2701
|
]
|
|
2694
2702
|
},
|
|
2695
|
-
`p-skeleton-${
|
|
2703
|
+
`p-skeleton-${a}`
|
|
2696
2704
|
))
|
|
2697
|
-
) :
|
|
2698
|
-
const
|
|
2705
|
+
) : C.map((c) => {
|
|
2706
|
+
const a = i.includes(c.id);
|
|
2699
2707
|
return /* @__PURE__ */ n(
|
|
2700
2708
|
ve,
|
|
2701
2709
|
{
|
|
2702
|
-
checked:
|
|
2703
|
-
onCheckedChange: (
|
|
2704
|
-
className:
|
|
2710
|
+
checked: a,
|
|
2711
|
+
onCheckedChange: (p) => j(c.id, p),
|
|
2712
|
+
className: u(
|
|
2705
2713
|
"relative flex w-full cursor-pointer items-start gap-2 rounded-lg border border-border bg-white p-2 transition-colors hover:border-primary/50",
|
|
2706
|
-
|
|
2714
|
+
a && "border-primary bg-zinc-50"
|
|
2707
2715
|
),
|
|
2708
2716
|
children: [
|
|
2709
2717
|
/* @__PURE__ */ e(
|
|
2710
2718
|
"span",
|
|
2711
2719
|
{
|
|
2712
|
-
className:
|
|
2720
|
+
className: u(
|
|
2713
2721
|
"flex h-4 w-4 flex-shrink-0 items-center justify-center rounded border border-border transition-colors",
|
|
2714
|
-
|
|
2722
|
+
a && "border-primary bg-primary text-primary-foreground"
|
|
2715
2723
|
),
|
|
2716
|
-
children:
|
|
2724
|
+
children: a && /* @__PURE__ */ e(pe, { className: "h-2.5 w-2.5" })
|
|
2717
2725
|
}
|
|
2718
2726
|
),
|
|
2719
2727
|
/* @__PURE__ */ n("div", { className: "flex flex-1 items-start gap-2", children: [
|
|
2720
2728
|
/* @__PURE__ */ e(
|
|
2721
2729
|
hr,
|
|
2722
2730
|
{
|
|
2723
|
-
src:
|
|
2724
|
-
alt:
|
|
2725
|
-
fallback:
|
|
2731
|
+
src: c.avatar ?? null,
|
|
2732
|
+
alt: c.name,
|
|
2733
|
+
fallback: c.name?.[0]?.toUpperCase() ?? "?",
|
|
2726
2734
|
className: "h-10 w-10 rounded-lg"
|
|
2727
2735
|
}
|
|
2728
2736
|
),
|
|
2729
2737
|
/* @__PURE__ */ n("div", { className: "flex max-w-[140px] flex-col gap-0.5 overflow-hidden", children: [
|
|
2730
|
-
/* @__PURE__ */ e("span", { className: "line-clamp-1 text-sm font-medium text-foreground", children:
|
|
2738
|
+
/* @__PURE__ */ e("span", { className: "line-clamp-1 text-sm font-medium text-foreground", children: c.name }),
|
|
2731
2739
|
/* @__PURE__ */ e(
|
|
2732
2740
|
"span",
|
|
2733
2741
|
{
|
|
2734
2742
|
className: "truncate text-[11px] text-muted-foreground",
|
|
2735
|
-
title:
|
|
2736
|
-
children:
|
|
2743
|
+
title: c.email,
|
|
2744
|
+
children: c.email
|
|
2737
2745
|
}
|
|
2738
2746
|
)
|
|
2739
2747
|
] })
|
|
2740
2748
|
] })
|
|
2741
2749
|
]
|
|
2742
2750
|
},
|
|
2743
|
-
|
|
2751
|
+
c.id
|
|
2744
2752
|
);
|
|
2745
2753
|
}),
|
|
2746
|
-
!
|
|
2754
|
+
!g && C.length === 0 && /* @__PURE__ */ e("p", { className: "px-4 text-xs text-muted-foreground", children: y.noParticipants })
|
|
2747
2755
|
] })
|
|
2748
2756
|
] })
|
|
2749
2757
|
]
|
|
@@ -2798,8 +2806,8 @@ function gr(t) {
|
|
|
2798
2806
|
return r.setDate(r.getDate() + 1), t.getFullYear() === r.getFullYear() && t.getMonth() === r.getMonth() && t.getDate() === r.getDate();
|
|
2799
2807
|
}
|
|
2800
2808
|
function $e(t) {
|
|
2801
|
-
const r = t.getHours(), s = t.getMinutes(),
|
|
2802
|
-
return `${r % 12 || 12}:${s.toString().padStart(2, "0")} ${
|
|
2809
|
+
const r = t.getHours(), s = t.getMinutes(), o = r >= 12 ? "PM" : "AM";
|
|
2810
|
+
return `${r % 12 || 12}:${s.toString().padStart(2, "0")} ${o}`;
|
|
2803
2811
|
}
|
|
2804
2812
|
function xr(t) {
|
|
2805
2813
|
return new Intl.DateTimeFormat("en-US", {
|
|
@@ -2817,21 +2825,21 @@ function vr(t) {
|
|
|
2817
2825
|
}
|
|
2818
2826
|
function wr(t, r) {
|
|
2819
2827
|
const s = /* @__PURE__ */ new Map();
|
|
2820
|
-
for (const
|
|
2821
|
-
const i = nt(
|
|
2822
|
-
l.push(
|
|
2828
|
+
for (const o of t) {
|
|
2829
|
+
const i = nt(o.startDate), l = s.get(i) ?? [];
|
|
2830
|
+
l.push(o), s.set(i, l);
|
|
2823
2831
|
}
|
|
2824
|
-
return Array.from(s.entries()).map(([
|
|
2832
|
+
return Array.from(s.entries()).map(([o, i]) => {
|
|
2825
2833
|
const l = [...i].sort(
|
|
2826
|
-
(f,
|
|
2834
|
+
(f, d) => f.startDate.getTime() - d.startDate.getTime()
|
|
2827
2835
|
), m = r > 0 ? l.slice(0, r) : l;
|
|
2828
2836
|
return {
|
|
2829
|
-
date: new Date(
|
|
2830
|
-
dateKey:
|
|
2837
|
+
date: new Date(o),
|
|
2838
|
+
dateKey: o,
|
|
2831
2839
|
events: m,
|
|
2832
2840
|
hasMore: r > 0 && l.length > r
|
|
2833
2841
|
};
|
|
2834
|
-
}).sort((
|
|
2842
|
+
}).sort((o, i) => o.date.getTime() - i.date.getTime());
|
|
2835
2843
|
}
|
|
2836
2844
|
function br({ event: t, onClick: r, compact: s }) {
|
|
2837
2845
|
return /* @__PURE__ */ n(
|
|
@@ -2839,7 +2847,7 @@ function br({ event: t, onClick: r, compact: s }) {
|
|
|
2839
2847
|
{
|
|
2840
2848
|
type: "button",
|
|
2841
2849
|
onClick: () => r?.(t),
|
|
2842
|
-
className:
|
|
2850
|
+
className: u(
|
|
2843
2851
|
"w-full text-left rounded-lg transition-colors",
|
|
2844
2852
|
"hover:bg-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
2845
2853
|
"flex items-start gap-3",
|
|
@@ -2849,16 +2857,16 @@ function br({ event: t, onClick: r, compact: s }) {
|
|
|
2849
2857
|
/* @__PURE__ */ e(
|
|
2850
2858
|
"div",
|
|
2851
2859
|
{
|
|
2852
|
-
className:
|
|
2860
|
+
className: u("shrink-0 rounded-full mt-1", s ? "size-2" : "size-2.5"),
|
|
2853
2861
|
style: { backgroundColor: t.color ?? "#3b82f6" }
|
|
2854
2862
|
}
|
|
2855
2863
|
),
|
|
2856
2864
|
/* @__PURE__ */ n("div", { className: "min-w-0 flex-1", children: [
|
|
2857
|
-
/* @__PURE__ */ e("p", { className:
|
|
2865
|
+
/* @__PURE__ */ e("p", { className: u("font-medium truncate", s ? "text-xs" : "text-sm"), children: t.title }),
|
|
2858
2866
|
/* @__PURE__ */ e(
|
|
2859
2867
|
"p",
|
|
2860
2868
|
{
|
|
2861
|
-
className:
|
|
2869
|
+
className: u(
|
|
2862
2870
|
"text-muted-foreground truncate",
|
|
2863
2871
|
s ? "text-[10px]" : "text-xs"
|
|
2864
2872
|
),
|
|
@@ -2869,7 +2877,7 @@ function br({ event: t, onClick: r, compact: s }) {
|
|
|
2869
2877
|
r && /* @__PURE__ */ e(
|
|
2870
2878
|
Ye,
|
|
2871
2879
|
{
|
|
2872
|
-
className:
|
|
2880
|
+
className: u(
|
|
2873
2881
|
"shrink-0 text-muted-foreground/50",
|
|
2874
2882
|
s ? "size-3" : "size-4"
|
|
2875
2883
|
)
|
|
@@ -2883,23 +2891,23 @@ function yr({
|
|
|
2883
2891
|
group: t,
|
|
2884
2892
|
onEventClick: r,
|
|
2885
2893
|
onViewMore: s,
|
|
2886
|
-
compact:
|
|
2894
|
+
compact: o
|
|
2887
2895
|
}) {
|
|
2888
2896
|
return /* @__PURE__ */ n("div", { className: "space-y-1", children: [
|
|
2889
2897
|
/* @__PURE__ */ n(
|
|
2890
2898
|
"div",
|
|
2891
2899
|
{
|
|
2892
|
-
className:
|
|
2900
|
+
className: u(
|
|
2893
2901
|
"flex items-center justify-between px-2",
|
|
2894
|
-
|
|
2902
|
+
o ? "py-1" : "py-1.5"
|
|
2895
2903
|
),
|
|
2896
2904
|
children: [
|
|
2897
2905
|
/* @__PURE__ */ e(
|
|
2898
2906
|
"h3",
|
|
2899
2907
|
{
|
|
2900
|
-
className:
|
|
2908
|
+
className: u(
|
|
2901
2909
|
"font-semibold",
|
|
2902
|
-
|
|
2910
|
+
o ? "text-xs" : "text-sm",
|
|
2903
2911
|
J(t.date) && "text-primary"
|
|
2904
2912
|
),
|
|
2905
2913
|
children: vr(t.date)
|
|
@@ -2910,9 +2918,9 @@ function yr({
|
|
|
2910
2918
|
{
|
|
2911
2919
|
type: "button",
|
|
2912
2920
|
onClick: () => s(t.date),
|
|
2913
|
-
className:
|
|
2921
|
+
className: u(
|
|
2914
2922
|
"text-primary hover:underline",
|
|
2915
|
-
|
|
2923
|
+
o ? "text-[10px]" : "text-xs"
|
|
2916
2924
|
),
|
|
2917
2925
|
children: "+more"
|
|
2918
2926
|
}
|
|
@@ -2925,7 +2933,7 @@ function yr({
|
|
|
2925
2933
|
{
|
|
2926
2934
|
event: i,
|
|
2927
2935
|
onClick: r,
|
|
2928
|
-
compact:
|
|
2936
|
+
compact: o
|
|
2929
2937
|
},
|
|
2930
2938
|
i.id
|
|
2931
2939
|
)) })
|
|
@@ -2935,55 +2943,55 @@ function Qr({
|
|
|
2935
2943
|
events: t,
|
|
2936
2944
|
daysAhead: r = 7,
|
|
2937
2945
|
maxEventsPerDay: s = 3,
|
|
2938
|
-
onEventClick:
|
|
2946
|
+
onEventClick: o,
|
|
2939
2947
|
onViewAll: i,
|
|
2940
2948
|
className: l,
|
|
2941
2949
|
emptyState: m,
|
|
2942
2950
|
title: f = "Upcoming",
|
|
2943
|
-
showHeader:
|
|
2944
|
-
compact:
|
|
2951
|
+
showHeader: d = !0,
|
|
2952
|
+
compact: g = !1
|
|
2945
2953
|
}) {
|
|
2946
|
-
const
|
|
2947
|
-
const
|
|
2948
|
-
return
|
|
2949
|
-
}, [
|
|
2950
|
-
() => wr(
|
|
2951
|
-
[
|
|
2952
|
-
), z =
|
|
2953
|
-
return D.length === 0 ? /* @__PURE__ */ n("div", { className:
|
|
2954
|
-
|
|
2954
|
+
const M = Fe(), x = M?.filteredEvents, y = M?.currentDate ?? /* @__PURE__ */ new Date(), w = t ?? x ?? [], b = H(() => {
|
|
2955
|
+
const N = me(y), C = new Date(N);
|
|
2956
|
+
return C.setDate(C.getDate() + r), w.filter((E) => E.endDate >= N && E.startDate < C);
|
|
2957
|
+
}, [w, r, y]), D = H(
|
|
2958
|
+
() => wr(b, s),
|
|
2959
|
+
[b, s]
|
|
2960
|
+
), z = b.length;
|
|
2961
|
+
return D.length === 0 ? /* @__PURE__ */ n("div", { className: u("rounded-lg border bg-card", l), children: [
|
|
2962
|
+
d && /* @__PURE__ */ e(
|
|
2955
2963
|
"div",
|
|
2956
2964
|
{
|
|
2957
|
-
className:
|
|
2965
|
+
className: u(
|
|
2958
2966
|
"border-b px-4 flex items-center justify-between",
|
|
2959
|
-
|
|
2967
|
+
g ? "py-2" : "py-3"
|
|
2960
2968
|
),
|
|
2961
|
-
children: /* @__PURE__ */ e("h2", { className:
|
|
2969
|
+
children: /* @__PURE__ */ e("h2", { className: u("font-semibold", g ? "text-sm" : "text-base"), children: f })
|
|
2962
2970
|
}
|
|
2963
2971
|
),
|
|
2964
2972
|
/* @__PURE__ */ e(
|
|
2965
2973
|
"div",
|
|
2966
2974
|
{
|
|
2967
|
-
className:
|
|
2975
|
+
className: u(
|
|
2968
2976
|
"flex flex-col items-center justify-center text-center",
|
|
2969
|
-
|
|
2977
|
+
g ? "py-6 px-4" : "py-10 px-6"
|
|
2970
2978
|
),
|
|
2971
2979
|
children: m ?? /* @__PURE__ */ n(K, { children: [
|
|
2972
2980
|
/* @__PURE__ */ e(
|
|
2973
2981
|
fr,
|
|
2974
2982
|
{
|
|
2975
|
-
className:
|
|
2983
|
+
className: u(
|
|
2976
2984
|
"text-muted-foreground/50 mb-2",
|
|
2977
|
-
|
|
2985
|
+
g ? "size-8" : "size-10"
|
|
2978
2986
|
)
|
|
2979
2987
|
}
|
|
2980
2988
|
),
|
|
2981
2989
|
/* @__PURE__ */ e(
|
|
2982
2990
|
"p",
|
|
2983
2991
|
{
|
|
2984
|
-
className:
|
|
2992
|
+
className: u(
|
|
2985
2993
|
"text-muted-foreground",
|
|
2986
|
-
|
|
2994
|
+
g ? "text-xs" : "text-sm"
|
|
2987
2995
|
),
|
|
2988
2996
|
children: "No upcoming events"
|
|
2989
2997
|
}
|
|
@@ -2991,23 +2999,23 @@ function Qr({
|
|
|
2991
2999
|
] })
|
|
2992
3000
|
}
|
|
2993
3001
|
)
|
|
2994
|
-
] }) : /* @__PURE__ */ n("div", { className:
|
|
2995
|
-
|
|
3002
|
+
] }) : /* @__PURE__ */ n("div", { className: u("rounded-lg border bg-card overflow-hidden", l), children: [
|
|
3003
|
+
d && /* @__PURE__ */ n(
|
|
2996
3004
|
"div",
|
|
2997
3005
|
{
|
|
2998
|
-
className:
|
|
3006
|
+
className: u(
|
|
2999
3007
|
"border-b px-4 flex items-center justify-between",
|
|
3000
|
-
|
|
3008
|
+
g ? "py-2" : "py-3"
|
|
3001
3009
|
),
|
|
3002
3010
|
children: [
|
|
3003
3011
|
/* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
|
|
3004
|
-
/* @__PURE__ */ e("h2", { className:
|
|
3012
|
+
/* @__PURE__ */ e("h2", { className: u("font-semibold", g ? "text-sm" : "text-base"), children: f }),
|
|
3005
3013
|
/* @__PURE__ */ e(
|
|
3006
3014
|
"span",
|
|
3007
3015
|
{
|
|
3008
|
-
className:
|
|
3016
|
+
className: u(
|
|
3009
3017
|
"text-muted-foreground bg-muted rounded-full px-2",
|
|
3010
|
-
|
|
3018
|
+
g ? "text-[10px] py-0" : "text-xs py-0.5"
|
|
3011
3019
|
),
|
|
3012
3020
|
children: z
|
|
3013
3021
|
}
|
|
@@ -3018,9 +3026,9 @@ function Qr({
|
|
|
3018
3026
|
{
|
|
3019
3027
|
type: "button",
|
|
3020
3028
|
onClick: () => i(),
|
|
3021
|
-
className:
|
|
3029
|
+
className: u(
|
|
3022
3030
|
"text-primary hover:underline flex items-center gap-0.5",
|
|
3023
|
-
|
|
3031
|
+
g ? "text-xs" : "text-sm"
|
|
3024
3032
|
),
|
|
3025
3033
|
children: [
|
|
3026
3034
|
"View all",
|
|
@@ -3034,19 +3042,19 @@ function Qr({
|
|
|
3034
3042
|
/* @__PURE__ */ e(
|
|
3035
3043
|
"div",
|
|
3036
3044
|
{
|
|
3037
|
-
className:
|
|
3045
|
+
className: u(
|
|
3038
3046
|
"divide-y overflow-auto",
|
|
3039
|
-
|
|
3047
|
+
g ? "p-2 max-h-[280px]" : "p-3 max-h-[400px]"
|
|
3040
3048
|
),
|
|
3041
|
-
children: D.map((
|
|
3049
|
+
children: D.map((N) => /* @__PURE__ */ e(
|
|
3042
3050
|
yr,
|
|
3043
3051
|
{
|
|
3044
|
-
group:
|
|
3045
|
-
onEventClick:
|
|
3046
|
-
onViewMore: i ? (
|
|
3047
|
-
compact:
|
|
3052
|
+
group: N,
|
|
3053
|
+
onEventClick: o,
|
|
3054
|
+
onViewMore: i ? (C) => i(C) : void 0,
|
|
3055
|
+
compact: g
|
|
3048
3056
|
},
|
|
3049
|
-
|
|
3057
|
+
N.dateKey
|
|
3050
3058
|
))
|
|
3051
3059
|
}
|
|
3052
3060
|
)
|
|
@@ -3139,61 +3147,61 @@ function Dr({ className: t }) {
|
|
|
3139
3147
|
);
|
|
3140
3148
|
}
|
|
3141
3149
|
function Mr(t) {
|
|
3142
|
-
const r = t.getFullYear(), s = String(t.getMonth() + 1).padStart(2, "0"),
|
|
3143
|
-
return `${r}-${s}-${
|
|
3150
|
+
const r = t.getFullYear(), s = String(t.getMonth() + 1).padStart(2, "0"), o = String(t.getDate()).padStart(2, "0");
|
|
3151
|
+
return `${r}-${s}-${o}`;
|
|
3144
3152
|
}
|
|
3145
3153
|
function Be(t) {
|
|
3146
|
-
const r = t.getHours(), s = t.getMinutes(),
|
|
3147
|
-
return `${i}:${l} ${
|
|
3154
|
+
const r = t.getHours(), s = t.getMinutes(), o = r >= 12 ? "PM" : "AM", i = r % 12 || 12, l = String(s).padStart(2, "0");
|
|
3155
|
+
return `${i}:${l} ${o}`;
|
|
3148
3156
|
}
|
|
3149
3157
|
function zr(t) {
|
|
3150
3158
|
const r = Be(t.startDate), s = Be(t.endDate);
|
|
3151
3159
|
return `${r} - ${s}`;
|
|
3152
3160
|
}
|
|
3153
3161
|
function Er(t) {
|
|
3154
|
-
const r =
|
|
3162
|
+
const r = Oe(/* @__PURE__ */ new Date(), 1);
|
|
3155
3163
|
return t.getFullYear() === r.getFullYear() && t.getMonth() === r.getMonth() && t.getDate() === r.getDate();
|
|
3156
3164
|
}
|
|
3157
3165
|
function Sr(t) {
|
|
3158
3166
|
if (J(t)) return "Today";
|
|
3159
3167
|
if (Er(t)) return "Tomorrow";
|
|
3160
|
-
const r = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], s = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
|
3161
|
-
return `${
|
|
3168
|
+
const r = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], s = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], o = r[t.getDay()], i = s[t.getMonth()], l = t.getDate();
|
|
3169
|
+
return `${o}, ${i} ${l}`;
|
|
3162
3170
|
}
|
|
3163
3171
|
function Lr(t, r) {
|
|
3164
3172
|
const s = /* @__PURE__ */ new Map();
|
|
3165
|
-
for (const
|
|
3166
|
-
const i = Mr(
|
|
3167
|
-
l.push(
|
|
3173
|
+
for (const o of t) {
|
|
3174
|
+
const i = Mr(o.startDate), l = s.get(i) ?? [];
|
|
3175
|
+
l.push(o), s.set(i, l);
|
|
3168
3176
|
}
|
|
3169
|
-
return Array.from(s.entries()).map(([
|
|
3177
|
+
return Array.from(s.entries()).map(([o, i]) => {
|
|
3170
3178
|
const l = [...i].sort(
|
|
3171
|
-
(f,
|
|
3179
|
+
(f, d) => f.startDate.getTime() - d.startDate.getTime()
|
|
3172
3180
|
), m = r > 0 ? l.slice(0, r) : l;
|
|
3173
3181
|
return {
|
|
3174
|
-
date: new Date(
|
|
3175
|
-
dateKey:
|
|
3182
|
+
date: new Date(o),
|
|
3183
|
+
dateKey: o,
|
|
3176
3184
|
events: m,
|
|
3177
3185
|
hasMore: r > 0 && l.length > r
|
|
3178
3186
|
};
|
|
3179
|
-
}).sort((
|
|
3187
|
+
}).sort((o, i) => o.date.getTime() - i.date.getTime());
|
|
3180
3188
|
}
|
|
3181
3189
|
function Tr(t) {
|
|
3182
3190
|
const r = me(/* @__PURE__ */ new Date()), s = Pe(/* @__PURE__ */ new Date());
|
|
3183
3191
|
return t.filter(
|
|
3184
|
-
(
|
|
3192
|
+
(o) => o.startDate >= r && o.startDate <= s
|
|
3185
3193
|
).length;
|
|
3186
3194
|
}
|
|
3187
3195
|
function we({ className: t }) {
|
|
3188
|
-
return /* @__PURE__ */ e("div", { className:
|
|
3196
|
+
return /* @__PURE__ */ e("div", { className: u("animate-pulse rounded-md bg-muted", t) });
|
|
3189
3197
|
}
|
|
3190
|
-
function
|
|
3198
|
+
function Hr({ event: t, onClick: r }) {
|
|
3191
3199
|
return /* @__PURE__ */ n(
|
|
3192
3200
|
"button",
|
|
3193
3201
|
{
|
|
3194
3202
|
type: "button",
|
|
3195
3203
|
onClick: () => r?.(t),
|
|
3196
|
-
className:
|
|
3204
|
+
className: u(
|
|
3197
3205
|
"w-full text-left rounded-lg transition-colors",
|
|
3198
3206
|
"hover:bg-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
3199
3207
|
"flex items-start gap-3 p-2"
|
|
@@ -3221,7 +3229,7 @@ function jr({ group: t, onEventClick: r }) {
|
|
|
3221
3229
|
/* @__PURE__ */ e(
|
|
3222
3230
|
"h3",
|
|
3223
3231
|
{
|
|
3224
|
-
className:
|
|
3232
|
+
className: u(
|
|
3225
3233
|
"text-xs font-semibold",
|
|
3226
3234
|
J(t.date) && "text-primary"
|
|
3227
3235
|
),
|
|
@@ -3234,45 +3242,45 @@ function jr({ group: t, onEventClick: r }) {
|
|
|
3234
3242
|
" more"
|
|
3235
3243
|
] })
|
|
3236
3244
|
] }),
|
|
3237
|
-
/* @__PURE__ */ e("div", { className: "space-y-0.5", children: t.events.map((s) => /* @__PURE__ */ e(
|
|
3245
|
+
/* @__PURE__ */ e("div", { className: "space-y-0.5", children: t.events.map((s) => /* @__PURE__ */ e(Hr, { event: s, onClick: r }, s.id)) })
|
|
3238
3246
|
] });
|
|
3239
3247
|
}
|
|
3240
3248
|
function Zr({
|
|
3241
3249
|
events: t,
|
|
3242
3250
|
isLoading: r = !1,
|
|
3243
3251
|
className: s,
|
|
3244
|
-
daysAhead:
|
|
3252
|
+
daysAhead: o = 7,
|
|
3245
3253
|
maxEventsPerDay: i = 3,
|
|
3246
3254
|
onEventClick: l,
|
|
3247
3255
|
onNavigateToAgenda: m
|
|
3248
3256
|
}) {
|
|
3249
|
-
const [f,
|
|
3250
|
-
const
|
|
3251
|
-
return t.filter((z) => z.endDate >=
|
|
3252
|
-
}, [t,
|
|
3253
|
-
() => Lr(
|
|
3254
|
-
[
|
|
3255
|
-
),
|
|
3256
|
-
|
|
3257
|
-
},
|
|
3258
|
-
|
|
3257
|
+
const [f, d] = te(!1), g = H(() => {
|
|
3258
|
+
const b = me(/* @__PURE__ */ new Date()), D = Oe(b, o);
|
|
3259
|
+
return t.filter((z) => z.endDate >= b && z.startDate < D);
|
|
3260
|
+
}, [t, o]), M = H(
|
|
3261
|
+
() => Lr(g, i),
|
|
3262
|
+
[g, i]
|
|
3263
|
+
), x = H(() => Tr(t), [t]), y = (b) => {
|
|
3264
|
+
d(!1), l?.(b);
|
|
3265
|
+
}, w = () => {
|
|
3266
|
+
d(!1), m?.();
|
|
3259
3267
|
};
|
|
3260
|
-
return /* @__PURE__ */ n(
|
|
3268
|
+
return /* @__PURE__ */ n(_e, { open: f, onOpenChange: d, children: [
|
|
3261
3269
|
/* @__PURE__ */ n(
|
|
3262
3270
|
Ve,
|
|
3263
3271
|
{
|
|
3264
|
-
className:
|
|
3272
|
+
className: u(
|
|
3265
3273
|
"relative rounded-xl hover:text-zinc-700 hover:!bg-zinc-300 !bg-zinc-200 text-zinc-600 shadow-none !px-2.5 p-2 max-h-10",
|
|
3266
3274
|
s
|
|
3267
3275
|
),
|
|
3268
3276
|
children: [
|
|
3269
3277
|
/* @__PURE__ */ e(Nr, { className: "h-4 w-4" }),
|
|
3270
|
-
|
|
3278
|
+
x > 0 && /* @__PURE__ */ e(
|
|
3271
3279
|
ht,
|
|
3272
3280
|
{
|
|
3273
3281
|
variant: "destructive",
|
|
3274
3282
|
className: "absolute -right-4 -top-4 m-3 flex h-5 w-5 items-center justify-center rounded-full bg-primary p-0 text-[10px] font-medium hover:bg-primary",
|
|
3275
|
-
children:
|
|
3283
|
+
children: x > 99 ? "99+" : x
|
|
3276
3284
|
}
|
|
3277
3285
|
)
|
|
3278
3286
|
]
|
|
@@ -3282,13 +3290,13 @@ function Zr({
|
|
|
3282
3290
|
/* @__PURE__ */ n("div", { className: "flex items-center justify-between border-b p-4", children: [
|
|
3283
3291
|
/* @__PURE__ */ n("div", { children: [
|
|
3284
3292
|
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold", children: "Upcoming" }),
|
|
3285
|
-
/* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground", children:
|
|
3293
|
+
/* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground", children: x > 0 ? `${x} event${x > 1 ? "s" : ""} today` : "No events today" })
|
|
3286
3294
|
] }),
|
|
3287
3295
|
m && /* @__PURE__ */ n(
|
|
3288
3296
|
"button",
|
|
3289
3297
|
{
|
|
3290
3298
|
type: "button",
|
|
3291
|
-
onClick:
|
|
3299
|
+
onClick: w,
|
|
3292
3300
|
className: "text-xs text-primary hover:underline flex items-center gap-1",
|
|
3293
3301
|
children: [
|
|
3294
3302
|
"View all",
|
|
@@ -3297,27 +3305,27 @@ function Zr({
|
|
|
3297
3305
|
}
|
|
3298
3306
|
)
|
|
3299
3307
|
] }),
|
|
3300
|
-
/* @__PURE__ */ e("div", { className: "max-h-80 overflow-y-auto p-2", children: r ? /* @__PURE__ */ e("div", { className: "space-y-2 p-2", children: Array.from({ length: 3 }).map((
|
|
3308
|
+
/* @__PURE__ */ e("div", { className: "max-h-80 overflow-y-auto p-2", children: r ? /* @__PURE__ */ e("div", { className: "space-y-2 p-2", children: Array.from({ length: 3 }).map((b, D) => /* @__PURE__ */ n("div", { className: "flex space-x-3", children: [
|
|
3301
3309
|
/* @__PURE__ */ e(we, { className: "h-2 w-2 rounded-full mt-2" }),
|
|
3302
3310
|
/* @__PURE__ */ n("div", { className: "flex-1 space-y-2", children: [
|
|
3303
3311
|
/* @__PURE__ */ e(we, { className: "h-4 w-full" }),
|
|
3304
3312
|
/* @__PURE__ */ e(we, { className: "h-3 w-3/4" })
|
|
3305
3313
|
] })
|
|
3306
|
-
] }, D)) }) :
|
|
3314
|
+
] }, D)) }) : M.length === 0 ? /* @__PURE__ */ n("div", { className: "flex flex-col items-center justify-center py-8 text-center", children: [
|
|
3307
3315
|
/* @__PURE__ */ e(kr, { className: "mb-2 h-8 w-8 text-muted-foreground/50" }),
|
|
3308
3316
|
/* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: "No upcoming events" }),
|
|
3309
3317
|
/* @__PURE__ */ n("p", { className: "text-xs text-muted-foreground/70", children: [
|
|
3310
3318
|
"Your schedule is clear for the next ",
|
|
3311
|
-
|
|
3319
|
+
o,
|
|
3312
3320
|
" days"
|
|
3313
3321
|
] })
|
|
3314
|
-
] }) : /* @__PURE__ */ e("div", { className: "space-y-3 divide-y", children:
|
|
3322
|
+
] }) : /* @__PURE__ */ e("div", { className: "space-y-3 divide-y", children: M.map((b) => /* @__PURE__ */ e(
|
|
3315
3323
|
jr,
|
|
3316
3324
|
{
|
|
3317
|
-
group:
|
|
3318
|
-
onEventClick:
|
|
3325
|
+
group: b,
|
|
3326
|
+
onEventClick: y
|
|
3319
3327
|
},
|
|
3320
|
-
|
|
3328
|
+
b.dateKey
|
|
3321
3329
|
)) }) })
|
|
3322
3330
|
] })
|
|
3323
3331
|
] });
|
|
@@ -3327,8 +3335,8 @@ export {
|
|
|
3327
3335
|
Ur as B,
|
|
3328
3336
|
Pr as C,
|
|
3329
3337
|
Gr as D,
|
|
3330
|
-
|
|
3331
|
-
|
|
3338
|
+
_r as E,
|
|
3339
|
+
Or as I,
|
|
3332
3340
|
Jr as S,
|
|
3333
3341
|
xe as T,
|
|
3334
3342
|
Kr as U,
|
|
@@ -3339,4 +3347,4 @@ export {
|
|
|
3339
3347
|
Xr as b,
|
|
3340
3348
|
Vr as c
|
|
3341
3349
|
};
|
|
3342
|
-
//# sourceMappingURL=agenda-dropdown-
|
|
3350
|
+
//# sourceMappingURL=agenda-dropdown-B76IBhmH.js.map
|