@innosolutions/inno-calendar 1.0.59 → 1.0.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/AGENT.md +1783 -1721
  2. package/README.md +279 -235
  3. package/dist/agenda-widget-D6E-NQK-.cjs +2 -0
  4. package/dist/agenda-widget-D6E-NQK-.cjs.map +1 -0
  5. package/dist/{agenda-widget-wrZfO67A.js → agenda-widget-DVj4CEZE.js} +1297 -1279
  6. package/dist/agenda-widget-DVj4CEZE.js.map +1 -0
  7. package/dist/components/event/event-card.d.ts.map +1 -1
  8. package/dist/components/index.cjs +1 -1
  9. package/dist/components/index.mjs +2 -2
  10. package/dist/components/primitives/scroll-navigator.d.ts +3 -1
  11. package/dist/components/primitives/scroll-navigator.d.ts.map +1 -1
  12. package/dist/components/views/timeline-view.d.ts +1 -1
  13. package/dist/components/views/timeline-view.d.ts.map +1 -1
  14. package/dist/core/context/inno-calendar-provider.d.ts.map +1 -1
  15. package/dist/core/context/slot-selection-context.d.ts +2 -0
  16. package/dist/core/context/slot-selection-context.d.ts.map +1 -1
  17. package/dist/core/index.cjs +1 -1
  18. package/dist/core/index.mjs +115 -114
  19. package/dist/core/types.d.ts +6 -18
  20. package/dist/core/types.d.ts.map +1 -1
  21. package/dist/core/utils/event-utils.d.ts.map +1 -1
  22. package/dist/core/utils/index.d.ts +1 -0
  23. package/dist/core/utils/index.d.ts.map +1 -1
  24. package/dist/core/utils/react-node-utils.d.ts +14 -0
  25. package/dist/core/utils/react-node-utils.d.ts.map +1 -0
  26. package/dist/index.cjs +1 -1
  27. package/dist/index.mjs +207 -206
  28. package/dist/position-utils-BQpbtF6N.cjs +2 -0
  29. package/dist/position-utils-BQpbtF6N.cjs.map +1 -0
  30. package/dist/position-utils-DMVQFywD.js +936 -0
  31. package/dist/position-utils-DMVQFywD.js.map +1 -0
  32. package/dist/presets/index.cjs +1 -1
  33. package/dist/presets/index.mjs +1 -1
  34. package/dist/slot-selection-context-CRstOosL.js +604 -0
  35. package/dist/slot-selection-context-CRstOosL.js.map +1 -0
  36. package/dist/slot-selection-context-DBCZI2Dn.cjs +2 -0
  37. package/dist/slot-selection-context-DBCZI2Dn.cjs.map +1 -0
  38. package/dist/styles/index.css +1 -1
  39. package/dist/{tailwind-calendar-CVuxWXLY.js → tailwind-calendar-CNhXkxzW.js} +80 -80
  40. package/dist/{tailwind-calendar-CVuxWXLY.js.map → tailwind-calendar-CNhXkxzW.js.map} +1 -1
  41. package/dist/tailwind-calendar-VRvPJQwa.cjs +2 -0
  42. package/dist/{tailwind-calendar-DoG6s3PJ.cjs.map → tailwind-calendar-VRvPJQwa.cjs.map} +1 -1
  43. package/dist/{use-calendar-Clo9DFK4.js → use-calendar-D8XaVe44.js} +69 -69
  44. package/dist/{use-calendar-Clo9DFK4.js.map → use-calendar-D8XaVe44.js.map} +1 -1
  45. package/dist/use-calendar-DkT1_V3j.cjs +2 -0
  46. package/dist/{use-calendar-BEuelmSu.cjs.map → use-calendar-DkT1_V3j.cjs.map} +1 -1
  47. package/dist/{use-slot-selection-BCZKnZSM.js → use-slot-selection-CWRk_17s.js} +32 -32
  48. package/dist/{use-slot-selection-BCZKnZSM.js.map → use-slot-selection-CWRk_17s.js.map} +1 -1
  49. package/dist/use-slot-selection-Dj_tWg1O.cjs +2 -0
  50. package/dist/{use-slot-selection-Bwqwjiaq.cjs.map → use-slot-selection-Dj_tWg1O.cjs.map} +1 -1
  51. package/dist/utils.cjs +1 -1
  52. package/dist/utils.cjs.map +1 -1
  53. package/dist/utils.mjs +117 -920
  54. package/dist/utils.mjs.map +1 -1
  55. package/dist/week-view-C1Vu2ErD.cjs +11 -0
  56. package/dist/week-view-C1Vu2ErD.cjs.map +1 -0
  57. package/dist/{week-view-C1FxF_nk.js → week-view-DY167Wok.js} +1084 -1043
  58. package/dist/week-view-DY167Wok.js.map +1 -0
  59. package/package.json +138 -138
  60. package/dist/agenda-widget-BxZU4eGL.cjs +0 -2
  61. package/dist/agenda-widget-BxZU4eGL.cjs.map +0 -1
  62. package/dist/agenda-widget-wrZfO67A.js.map +0 -1
  63. package/dist/slot-selection-context-BwghpxKA.js +0 -597
  64. package/dist/slot-selection-context-BwghpxKA.js.map +0 -1
  65. package/dist/slot-selection-context-CHSaOPWP.cjs +0 -2
  66. package/dist/slot-selection-context-CHSaOPWP.cjs.map +0 -1
  67. package/dist/tailwind-calendar-DoG6s3PJ.cjs +0 -2
  68. package/dist/use-calendar-BEuelmSu.cjs +0 -2
  69. package/dist/use-slot-selection-Bwqwjiaq.cjs +0 -2
  70. package/dist/week-view-Bzpbti1B.cjs +0 -11
  71. package/dist/week-view-Bzpbti1B.cjs.map +0 -1
  72. package/dist/week-view-C1FxF_nk.js.map +0 -1
@@ -1,21 +1,21 @@
1
- import { jsxs as o, jsx as e, Fragment as kt } from "react/jsx-runtime";
2
- import * as Y from "react";
3
- import { forwardRef as Pe, createElement as Be, useState as Q, useEffect as ke, useCallback as W, useRef as ne, useMemo as K, useLayoutEffect as je } from "react";
4
- import { c as i, a as Dt } from "./index-DtaLkIY8.js";
5
- import * as X from "@radix-ui/react-dropdown-menu";
6
- import { formatEventTimeDisplay as J, getEventsCountInView as Ct, getRangeText as St, groupEventsByDate as Mt, isToday as ce, detectAllDayEvent as ze, isSameDay as se, getEventsForDay as Fe, separateEventsByDuration as it, calculateOverlappingPositions as st, getVisibleHoursArray as lt, isWorkingHour as dt, formatHourLabel as Ae, generateMonthGrid as Tt, startOfDay as Ke, getWeekDays as zt } from "./utils.mjs";
7
- import { j as Ve, k as ct, l as Ge } from "./slot-selection-context-BwghpxKA.js";
1
+ import { jsxs as o, jsx as e, Fragment as Be } from "react/jsx-runtime";
2
+ import * as X from "react";
3
+ import { forwardRef as je, createElement as $e, useState as Z, useEffect as ke, useCallback as L, useRef as re, useMemo as q, useLayoutEffect as Fe } from "react";
4
+ import { c as s, a as Dt } from "./index-DtaLkIY8.js";
5
+ import * as K from "@radix-ui/react-dropdown-menu";
6
+ import { U as Y, aI as Ct, a7 as St, ad as Mt, ao as Tt, az as ce, x as ze, av as ie, a8 as Ve, aK as it, v as lt, ah as dt, aB as ct, V as Ae, Z as zt, aQ as Xe, ai as At } from "./position-utils-DMVQFywD.js";
7
+ import { j as Ge, k as ut, l as Ue } from "./slot-selection-context-CRstOosL.js";
8
8
  import * as V from "@radix-ui/react-dialog";
9
9
  import * as ge from "@radix-ui/react-popover";
10
10
  import * as De from "@radix-ui/react-tooltip";
11
- const ut = (...t) => t.filter((n, r, a) => !!n && n.trim() !== "" && a.indexOf(n) === r).join(" ").trim();
12
- const At = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
13
- const Et = (t) => t.replace(
11
+ const mt = (...t) => t.filter((n, r, a) => !!n && n.trim() !== "" && a.indexOf(n) === r).join(" ").trim();
12
+ const Et = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
13
+ const Lt = (t) => t.replace(
14
14
  /^([A-Z])|[\s-_]+(\w)/g,
15
15
  (n, r, a) => a ? a.toUpperCase() : r.toLowerCase()
16
16
  );
17
- const Xe = (t) => {
18
- const n = Et(t);
17
+ const Ye = (t) => {
18
+ const n = Lt(t);
19
19
  return n.charAt(0).toUpperCase() + n.slice(1);
20
20
  };
21
21
  var Wt = {
@@ -29,81 +29,81 @@ var Wt = {
29
29
  strokeLinecap: "round",
30
30
  strokeLinejoin: "round"
31
31
  };
32
- const Lt = (t) => {
32
+ const Rt = (t) => {
33
33
  for (const n in t)
34
34
  if (n.startsWith("aria-") || n === "role" || n === "title")
35
35
  return !0;
36
36
  return !1;
37
37
  };
38
- const Rt = Pe(
38
+ const _t = je(
39
39
  ({
40
40
  color: t = "currentColor",
41
41
  size: n = 24,
42
42
  strokeWidth: r = 2,
43
43
  absoluteStrokeWidth: a,
44
44
  className: d = "",
45
- children: h,
46
- iconNode: s,
45
+ children: p,
46
+ iconNode: i,
47
47
  ...y
48
- }, k) => Be(
48
+ }, C) => $e(
49
49
  "svg",
50
50
  {
51
- ref: k,
51
+ ref: C,
52
52
  ...Wt,
53
53
  width: n,
54
54
  height: n,
55
55
  stroke: t,
56
56
  strokeWidth: a ? Number(r) * 24 / Number(n) : r,
57
- className: ut("lucide", d),
58
- ...!h && !Lt(y) && { "aria-hidden": "true" },
57
+ className: mt("lucide", d),
58
+ ...!p && !Rt(y) && { "aria-hidden": "true" },
59
59
  ...y
60
60
  },
61
61
  [
62
- ...s.map(([l, b]) => Be(l, b)),
63
- ...Array.isArray(h) ? h : [h]
62
+ ...i.map(([l, b]) => $e(l, b)),
63
+ ...Array.isArray(p) ? p : [p]
64
64
  ]
65
65
  )
66
66
  );
67
- const Le = (t, n) => {
68
- const r = Pe(
69
- ({ className: a, ...d }, h) => Be(Rt, {
70
- ref: h,
67
+ const We = (t, n) => {
68
+ const r = je(
69
+ ({ className: a, ...d }, p) => $e(_t, {
70
+ ref: p,
71
71
  iconNode: n,
72
- className: ut(
73
- `lucide-${At(Xe(t))}`,
72
+ className: mt(
73
+ `lucide-${Et(Ye(t))}`,
74
74
  `lucide-${t}`,
75
75
  a
76
76
  ),
77
77
  ...d
78
78
  })
79
79
  );
80
- return r.displayName = Xe(t), r;
80
+ return r.displayName = Ye(t), r;
81
81
  };
82
- const _t = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]], It = Le("check", _t);
83
- const Bt = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]], $t = Le("chevron-right", Bt);
84
- const Ht = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]], Ot = Le("circle", Ht);
85
- const Pt = [
82
+ const It = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]], Bt = We("check", It);
83
+ const $t = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]], Ht = We("chevron-right", $t);
84
+ const Ot = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]], Pt = We("circle", Ot);
85
+ const jt = [
86
86
  ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
87
87
  ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
88
- ], mt = Le("x", Pt), jt = V.Root, Ft = V.Trigger, Vt = V.Portal, Vn = V.Close, ht = Y.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
88
+ ], ht = We("x", jt), Ft = V.Root, Vt = V.Trigger, Gt = V.Portal, Gn = V.Close, pt = X.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
89
89
  V.Overlay,
90
90
  {
91
91
  ref: r,
92
- className: i(
92
+ className: s(
93
93
  "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
94
94
  t
95
95
  ),
96
96
  ...n
97
97
  }
98
98
  ));
99
- ht.displayName = V.Overlay.displayName;
100
- const pt = Y.forwardRef(({ className: t, children: n, ...r }, a) => /* @__PURE__ */ o(Vt, { children: [
101
- /* @__PURE__ */ e(ht, {}),
99
+ pt.displayName = V.Overlay.displayName;
100
+ const ft = X.forwardRef(({ className: t, children: n, ...r }, a) => /* @__PURE__ */ o(Gt, { children: [
101
+ /* @__PURE__ */ e(pt, {}),
102
102
  /* @__PURE__ */ o(
103
103
  V.Content,
104
104
  {
105
105
  ref: a,
106
- className: i(
106
+ className: s(
107
107
  "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] rounded-lg",
108
108
  t
109
109
  ),
@@ -111,50 +111,50 @@ const pt = Y.forwardRef(({ className: t, children: n, ...r }, a) => /* @__PURE__
111
111
  children: [
112
112
  n,
113
113
  /* @__PURE__ */ o(V.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
114
- /* @__PURE__ */ e(mt, { className: "size-4" }),
114
+ /* @__PURE__ */ e(ht, { className: "size-4" }),
115
115
  /* @__PURE__ */ e("span", { className: "sr-only", children: "Close" })
116
116
  ] })
117
117
  ]
118
118
  }
119
119
  )
120
120
  ] }));
121
- pt.displayName = V.Content.displayName;
122
- const Gt = ({
121
+ ft.displayName = V.Content.displayName;
122
+ const Ut = ({
123
123
  className: t,
124
124
  ...n
125
125
  }) => /* @__PURE__ */ e(
126
126
  "div",
127
127
  {
128
- className: i("flex flex-col space-y-1.5 text-center sm:text-left", t),
128
+ className: s("flex flex-col space-y-1.5 text-center sm:text-left", t),
129
129
  ...n
130
130
  }
131
131
  );
132
- Gt.displayName = "DialogHeader";
133
- const Ut = Y.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
132
+ Ut.displayName = "DialogHeader";
133
+ const qt = X.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
134
134
  V.Title,
135
135
  {
136
136
  ref: r,
137
- className: i("text-lg font-semibold leading-none tracking-tight", t),
137
+ className: s("text-lg font-semibold leading-none tracking-tight", t),
138
138
  ...n
139
139
  }
140
140
  ));
141
- Ut.displayName = V.Title.displayName;
142
- const qt = Y.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
141
+ qt.displayName = V.Title.displayName;
142
+ const Kt = X.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
143
143
  V.Description,
144
144
  {
145
145
  ref: r,
146
- className: i("text-sm text-muted-foreground", t),
146
+ className: s("text-sm text-muted-foreground", t),
147
147
  ...n
148
148
  }
149
149
  ));
150
- qt.displayName = V.Description.displayName;
151
- const ue = ge.Root, me = ge.Trigger, Gn = ge.Anchor, le = Y.forwardRef(({ className: t, align: n = "center", sideOffset: r = 4, ...a }, d) => /* @__PURE__ */ e(ge.Portal, { children: /* @__PURE__ */ e(
150
+ Kt.displayName = V.Description.displayName;
151
+ const ue = ge.Root, me = ge.Trigger, Un = ge.Anchor, le = X.forwardRef(({ className: t, align: n = "center", sideOffset: r = 4, ...a }, d) => /* @__PURE__ */ e(ge.Portal, { children: /* @__PURE__ */ e(
152
152
  ge.Content,
153
153
  {
154
154
  ref: d,
155
155
  align: n,
156
156
  sideOffset: r,
157
- className: i(
157
+ className: s(
158
158
  "z-50 w-72 rounded-xl border bg-white text-popover-foreground outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
159
159
  t
160
160
  ),
@@ -162,10 +162,10 @@ const ue = ge.Root, me = ge.Trigger, Gn = ge.Anchor, le = Y.forwardRef(({ classN
162
162
  }
163
163
  ) }));
164
164
  le.displayName = ge.Content.displayName;
165
- const Kt = V.Root, Xt = V.Trigger, Un = V.Close, Yt = V.Portal, ft = Y.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
165
+ const Xt = V.Root, Yt = V.Trigger, qn = V.Close, Jt = V.Portal, gt = X.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
166
166
  V.Overlay,
167
167
  {
168
- className: i(
168
+ className: s(
169
169
  "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
170
170
  t
171
171
  ),
@@ -173,14 +173,14 @@ const Kt = V.Root, Xt = V.Trigger, Un = V.Close, Yt = V.Portal, ft = Y.forwardRe
173
173
  ref: r
174
174
  }
175
175
  ));
176
- ft.displayName = V.Overlay.displayName;
177
- const gt = Y.forwardRef(({ className: t, children: n, ...r }, a) => /* @__PURE__ */ o(Yt, { children: [
178
- /* @__PURE__ */ e(ft, {}),
176
+ gt.displayName = V.Overlay.displayName;
177
+ const xt = X.forwardRef(({ className: t, children: n, ...r }, a) => /* @__PURE__ */ o(Jt, { children: [
178
+ /* @__PURE__ */ e(gt, {}),
179
179
  /* @__PURE__ */ o(
180
180
  V.Content,
181
181
  {
182
182
  ref: a,
183
- className: i(
183
+ className: s(
184
184
  "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
185
185
  // Right-side slide
186
186
  "inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right",
@@ -190,56 +190,56 @@ const gt = Y.forwardRef(({ className: t, children: n, ...r }, a) => /* @__PURE__
190
190
  children: [
191
191
  n,
192
192
  /* @__PURE__ */ o(V.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
193
- /* @__PURE__ */ e(mt, { className: "size-4" }),
193
+ /* @__PURE__ */ e(ht, { className: "size-4" }),
194
194
  /* @__PURE__ */ e("span", { className: "sr-only", children: "Close" })
195
195
  ] })
196
196
  ]
197
197
  }
198
198
  )
199
199
  ] }));
200
- gt.displayName = "SheetContent";
201
- const Jt = ({
200
+ xt.displayName = "SheetContent";
201
+ const Zt = ({
202
202
  className: t,
203
203
  ...n
204
204
  }) => /* @__PURE__ */ e(
205
205
  "div",
206
206
  {
207
- className: i("flex flex-col space-y-2 text-center sm:text-left", t),
207
+ className: s("flex flex-col space-y-2 text-center sm:text-left", t),
208
208
  ...n
209
209
  }
210
210
  );
211
- Jt.displayName = "SheetHeader";
212
- const Zt = Y.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
211
+ Zt.displayName = "SheetHeader";
212
+ const Qt = X.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
213
213
  V.Title,
214
214
  {
215
215
  ref: r,
216
- className: i("text-lg font-semibold text-foreground", t),
216
+ className: s("text-lg font-semibold text-foreground", t),
217
217
  ...n
218
218
  }
219
219
  ));
220
- Zt.displayName = V.Title.displayName;
221
- const Qt = Y.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
220
+ Qt.displayName = V.Title.displayName;
221
+ const en = X.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
222
222
  V.Description,
223
223
  {
224
224
  ref: r,
225
- className: i("text-sm text-muted-foreground", t),
225
+ className: s("text-sm text-muted-foreground", t),
226
226
  ...n
227
227
  }
228
228
  ));
229
- Qt.displayName = V.Description.displayName;
230
- const qn = De.Provider, ae = De.Root, ie = De.Trigger, re = Y.forwardRef(({ className: t, sideOffset: n = 4, ...r }, a) => /* @__PURE__ */ e(
229
+ en.displayName = V.Description.displayName;
230
+ const Kn = De.Provider, ae = De.Root, se = De.Trigger, oe = X.forwardRef(({ className: t, sideOffset: n = 4, ...r }, a) => /* @__PURE__ */ e(
231
231
  De.Content,
232
232
  {
233
233
  ref: a,
234
234
  sideOffset: n,
235
- className: i(
235
+ className: s(
236
236
  "z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
237
237
  t
238
238
  ),
239
239
  ...r
240
240
  }
241
241
  ));
242
- re.displayName = De.Content.displayName;
242
+ oe.displayName = De.Content.displayName;
243
243
  function de(t) {
244
244
  return {
245
245
  blue: {
@@ -324,7 +324,7 @@ function de(t) {
324
324
  }
325
325
  }[t ?? "blue"];
326
326
  }
327
- function xt(t) {
327
+ function yt(t) {
328
328
  const n = new Date(t);
329
329
  return n.setHours(0, 0, 0, 0), n;
330
330
  }
@@ -334,129 +334,129 @@ function Ee({
334
334
  badgeVariant: r = "colored",
335
335
  onClick: a,
336
336
  className: d,
337
- showTime: h = !0,
338
- showDescription: s = !1,
337
+ showTime: p = !0,
338
+ showDescription: i = !1,
339
339
  showParticipants: y = !1,
340
- style: k,
340
+ style: C,
341
341
  disablePopover: l = !1,
342
342
  renderPopover: b,
343
343
  enableDrag: v = !1,
344
344
  enablePageTransition: u = !1,
345
345
  pageTransitionDuration: x = 400,
346
- eventDetailMode: p = "popover",
346
+ eventDetailMode: f = "popover",
347
347
  renderEventDetail: N
348
348
  }) {
349
- const g = de(t.color), [L, D] = Q(!1), [T, _] = Q(!1), [U, j] = Q(!1), [B, M] = Q(null), E = ne(null), I = Ve(), H = ct();
349
+ const g = de(t.color), [W, S] = Z(!1), [T, I] = Z(!1), [G, F] = Z(!1), [O, A] = Z(null), E = re(null), $ = Ge(), P = ut();
350
350
  ke(() => {
351
- if (!l && H?.focusEventId && H.focusEventId === t.id) {
352
- const q = setTimeout(() => {
353
- D(!0), H.clearFocusEventId();
351
+ if (!l && P?.focusEventId && P.focusEventId === t.id) {
352
+ const U = setTimeout(() => {
353
+ S(!0), P.clearFocusEventId();
354
354
  }, 300);
355
- return () => clearTimeout(q);
355
+ return () => clearTimeout(U);
356
356
  }
357
- }, [H?.focusEventId, t.id, l]);
358
- const z = t.endDate < xt(/* @__PURE__ */ new Date()), f = t.isCanceled ?? !1, R = v && I && !f && !z, A = t.data, F = A?.meetingTookPlace ?? t.meetingTookPlace ?? !1, w = f ? /* @__PURE__ */ e(tn, { className: "h-3 w-3 text-zinc-800 dark:text-zinc-200" }) : F ? /* @__PURE__ */ e(en, { className: i("h-3 w-3", g.text) }) : null, c = A?.productName, m = A?.extendedProps, S = A?.nrParticipant, C = A?.siteName, P = A?.siteCity, O = [C, P].filter(Boolean).join(", "), $ = W(() => {
357
+ }, [P?.focusEventId, t.id, l]);
358
+ const k = t.endDate < yt(/* @__PURE__ */ new Date()), h = t.isCanceled ?? !1, R = v && $ && !h && !k, _ = t.data, B = _?.meetingTookPlace ?? t.meetingTookPlace ?? !1, w = h ? /* @__PURE__ */ e(nn, { className: "h-3 w-3 text-zinc-800 dark:text-zinc-200" }) : B ? /* @__PURE__ */ e(tn, { className: s("h-3 w-3", g.text) }) : null, c = _?.productName, m = _?.extendedProps, M = _?.nrParticipant, D = _?.siteName, H = _?.siteCity, Q = !!D || !!H, z = L(() => {
359
359
  if (!T) {
360
360
  if (l && a) {
361
361
  a(t);
362
362
  return;
363
363
  }
364
364
  if (u && E.current) {
365
- const q = E.current.getBoundingClientRect();
366
- M(q), j(!0);
367
- } else l || D(!0);
365
+ const U = E.current.getBoundingClientRect();
366
+ A(U), F(!0);
367
+ } else l || S(!0);
368
368
  }
369
369
  }, [T, l, a, t, u]);
370
- W(() => {
371
- j(!1), M(null), l || D(!0);
370
+ L(() => {
371
+ F(!1), A(null), l || S(!0);
372
372
  }, [l]);
373
- const G = W(() => {
374
- D(!1);
375
- }, []), oe = W(
376
- (q) => {
377
- R && (q.dataTransfer.effectAllowed = "move", q.dataTransfer.setData("text/plain", t.id), _(!0), I?.startDrag?.(t));
373
+ const j = L(() => {
374
+ S(!1);
375
+ }, []), te = L(
376
+ (U) => {
377
+ R && (U.dataTransfer.effectAllowed = "move", U.dataTransfer.setData("text/plain", t.id), I(!0), $?.startDrag?.(t));
378
378
  },
379
- [R, t, I]
380
- ), Z = W(() => {
381
- _(!1), I?.isDragging && I.endDrag?.();
382
- }, [I]), ee = N ? N({ event: t, onClose: G }) : b ? b({ event: t, onClose: G }) : /* @__PURE__ */ e(qe, { event: t, onClose: G }), xe = (q) => {
383
- switch (p) {
379
+ [R, t, $]
380
+ ), J = L(() => {
381
+ I(!1), $?.isDragging && $.endDrag?.();
382
+ }, [$]), ee = N ? N({ event: t, onClose: j }) : b ? b({ event: t, onClose: j }) : /* @__PURE__ */ e(Ke, { event: t, onClose: j }), xe = (U) => {
383
+ switch (f) {
384
384
  case "dialog":
385
- return /* @__PURE__ */ o(jt, { open: L, onOpenChange: D, children: [
386
- /* @__PURE__ */ e(Ft, { asChild: !0, children: q }),
387
- /* @__PURE__ */ e(pt, { className: "sm:max-w-md", children: ee })
385
+ return /* @__PURE__ */ o(Ft, { open: W, onOpenChange: S, children: [
386
+ /* @__PURE__ */ e(Vt, { asChild: !0, children: U }),
387
+ /* @__PURE__ */ e(ft, { className: "sm:max-w-md", children: ee })
388
388
  ] });
389
389
  case "sheet":
390
- return /* @__PURE__ */ o(Kt, { open: L, onOpenChange: D, children: [
391
- /* @__PURE__ */ e(Xt, { asChild: !0, children: q }),
392
- /* @__PURE__ */ e(gt, { children: ee })
390
+ return /* @__PURE__ */ o(Xt, { open: W, onOpenChange: S, children: [
391
+ /* @__PURE__ */ e(Yt, { asChild: !0, children: U }),
392
+ /* @__PURE__ */ e(xt, { children: ee })
393
393
  ] });
394
394
  case "custom":
395
- return q;
395
+ return U;
396
396
  default:
397
- return /* @__PURE__ */ o(ue, { open: L, onOpenChange: D, children: [
398
- /* @__PURE__ */ e(me, { asChild: !0, children: q }),
397
+ return /* @__PURE__ */ o(ue, { open: W, onOpenChange: S, children: [
398
+ /* @__PURE__ */ e(me, { asChild: !0, children: U }),
399
399
  /* @__PURE__ */ e(le, { className: "w-80", children: ee })
400
400
  ] });
401
401
  }
402
402
  };
403
403
  if (n === "dot") {
404
- const q = /* @__PURE__ */ e(
404
+ const U = /* @__PURE__ */ e(
405
405
  "button",
406
406
  {
407
407
  type: "button",
408
- onClick: $,
409
- className: i(
408
+ onClick: z,
409
+ className: s(
410
410
  "size-2 rounded-full cursor-pointer transition-opacity",
411
411
  g.dot,
412
412
  t.isCanceled && "opacity-50",
413
413
  d
414
414
  ),
415
- style: k,
416
- "aria-label": t.title
415
+ style: C,
416
+ "aria-label": Ct(t.title)
417
417
  }
418
418
  );
419
419
  return l ? /* @__PURE__ */ o(ae, { children: [
420
- /* @__PURE__ */ e(ie, { asChild: !0, children: q }),
421
- /* @__PURE__ */ e(re, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
420
+ /* @__PURE__ */ e(se, { asChild: !0, children: U }),
421
+ /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
422
422
  /* @__PURE__ */ e("div", { className: "font-medium", children: t.title }),
423
- /* @__PURE__ */ e("div", { className: "text-xs opacity-80", children: J(t) })
423
+ /* @__PURE__ */ e("div", { className: "text-xs opacity-80", children: Y(t) })
424
424
  ] }) })
425
425
  ] }) : xe(
426
426
  /* @__PURE__ */ o(ae, { children: [
427
- /* @__PURE__ */ e(ie, { asChild: !0, children: q }),
428
- /* @__PURE__ */ e(re, { children: /* @__PURE__ */ e("div", { className: "font-medium", children: t.title }) })
427
+ /* @__PURE__ */ e(se, { asChild: !0, children: U }),
428
+ /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ e("div", { className: "font-medium", children: t.title }) })
429
429
  ] })
430
430
  );
431
431
  }
432
432
  if (n === "compact") {
433
- const q = /* @__PURE__ */ o(
433
+ const U = /* @__PURE__ */ o(
434
434
  "div",
435
435
  {
436
436
  role: "button",
437
437
  tabIndex: 0,
438
438
  draggable: !!R,
439
- onDragStart: oe,
440
- onDragEnd: Z,
441
- onClick: l ? $ : void 0,
439
+ onDragStart: te,
440
+ onDragEnd: J,
441
+ onClick: l ? z : void 0,
442
442
  onKeyDown: (be) => {
443
- (be.key === "Enter" || be.key === " ") && (be.preventDefault(), $());
443
+ (be.key === "Enter" || be.key === " ") && (be.preventDefault(), z());
444
444
  },
445
- className: i(
445
+ className: s(
446
446
  "group flex w-full relative items-center shadow-[0_0_1px_rgba(0,0,0,0.3)] gap-0 rounded px-1.5 py-1 text-left text-xs transition-colors hover:opacity-80",
447
447
  R ? "cursor-grab active:cursor-grabbing" : "cursor-pointer",
448
448
  T && "opacity-50",
449
449
  // Cancelled events get gray background with strikethrough
450
- f ? "bg-zinc-100 dark:bg-zinc-800 text-zinc-500 dark:text-zinc-400 line-through" : [
450
+ h ? "bg-zinc-100 dark:bg-zinc-800 text-zinc-500 dark:text-zinc-400 line-through" : [
451
451
  r === "colored" && [g.bg, g.text],
452
452
  r === "mixed" && [g.bg, g.text],
453
453
  r === "dot" && "bg-muted/50"
454
454
  ],
455
455
  d
456
456
  ),
457
- style: k,
457
+ style: C,
458
458
  children: [
459
- ["dot", "mixed"].includes(r) && !f && /* @__PURE__ */ e(
459
+ ["dot", "mixed"].includes(r) && !h && /* @__PURE__ */ e(
460
460
  "svg",
461
461
  {
462
462
  width: "8",
@@ -488,11 +488,11 @@ function Ee({
488
488
  /* @__PURE__ */ e(
489
489
  "div",
490
490
  {
491
- className: i(
491
+ className: s(
492
492
  "w-fit mt-0.5 text-[10px] px-1 py-0.5 border border-dashed rounded-full font-medium",
493
493
  g.border
494
494
  ),
495
- children: J(t)
495
+ children: Y(t)
496
496
  }
497
497
  )
498
498
  ] }) }),
@@ -501,24 +501,24 @@ function Ee({
501
501
  }
502
502
  );
503
503
  return l ? /* @__PURE__ */ o(ae, { children: [
504
- /* @__PURE__ */ e(ie, { asChild: !0, children: q }),
505
- /* @__PURE__ */ e(re, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
504
+ /* @__PURE__ */ e(se, { asChild: !0, children: U }),
505
+ /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
506
506
  /* @__PURE__ */ e("div", { className: "font-medium", children: t.title }),
507
- /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: J(t) })
507
+ /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: Y(t) })
508
508
  ] }) })
509
- ] }) : xe(q);
509
+ ] }) : xe(U);
510
510
  }
511
511
  const ye = /* @__PURE__ */ o(
512
512
  "button",
513
513
  {
514
514
  type: "button",
515
- onClick: $,
516
- className: i(
515
+ onClick: z,
516
+ className: s(
517
517
  "group relative flex w-full flex-col gap-1 rounded-md border-l-[3px] px-2 py-1.5 text-left transition-all",
518
518
  "shadow-[0_1px_3px_rgba(0,0,0,0.08)] hover:shadow-[0_2px_6px_rgba(0,0,0,0.12)]",
519
519
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
520
520
  // Cancelled events get gray background with strikethrough
521
- f ? "bg-zinc-100 dark:bg-zinc-800 border-l-zinc-400 dark:border-l-zinc-600 text-zinc-500 dark:text-zinc-400 line-through" : [
521
+ h ? "bg-zinc-100 dark:bg-zinc-800 border-l-zinc-400 dark:border-l-zinc-600 text-zinc-500 dark:text-zinc-400 line-through" : [
522
522
  r === "colored" && [
523
523
  g.bg,
524
524
  g.accentBorder,
@@ -533,11 +533,11 @@ function Ee({
533
533
  ],
534
534
  d
535
535
  ),
536
- style: k,
536
+ style: C,
537
537
  children: [
538
538
  /* @__PURE__ */ o("div", { className: "flex items-start justify-between gap-1", children: [
539
539
  /* @__PURE__ */ o("div", { className: "flex items-center gap-1.5 min-w-0", children: [
540
- ["dot", "mixed"].includes(r) && !f && /* @__PURE__ */ e(
540
+ ["dot", "mixed"].includes(r) && !h && /* @__PURE__ */ e(
541
541
  "svg",
542
542
  {
543
543
  width: "8",
@@ -552,10 +552,10 @@ function Ee({
552
552
  /* @__PURE__ */ e(
553
553
  "span",
554
554
  {
555
- className: i(
555
+ className: s(
556
556
  "text-sm font-medium truncate",
557
- !f && r !== "dot" && g.text,
558
- f && "line-through"
557
+ !h && r !== "dot" && g.text,
558
+ h && "line-through"
559
559
  ),
560
560
  children: t.title
561
561
  }
@@ -564,40 +564,44 @@ function Ee({
564
564
  w
565
565
  ] }),
566
566
  c && /* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground truncate", children: c }),
567
- m && m.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-col", children: m.map((q, be) => /* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground truncate", children: q }, be)) }),
568
- S != null && S > 0 && /* @__PURE__ */ o("div", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
569
- /* @__PURE__ */ e($e, { className: "h-3 w-3 shrink-0" }),
567
+ m && m.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-col text-xs text-muted-foreground", children: m.map((U, be) => /* @__PURE__ */ e("div", { children: U }, be)) }),
568
+ M != null && M > 0 && /* @__PURE__ */ o("div", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
569
+ /* @__PURE__ */ e(He, { className: "h-3 w-3 shrink-0" }),
570
570
  /* @__PURE__ */ o("span", { children: [
571
- S,
571
+ M,
572
572
  " participant",
573
- S !== 1 ? "s" : ""
573
+ M !== 1 ? "s" : ""
574
574
  ] })
575
575
  ] }),
576
- h && /* @__PURE__ */ o("div", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
577
- /* @__PURE__ */ e(Ue, { className: "h-3 w-3 shrink-0" }),
578
- /* @__PURE__ */ e("span", { children: J(t) })
576
+ p && /* @__PURE__ */ o("div", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
577
+ /* @__PURE__ */ e(qe, { className: "h-3 w-3 shrink-0" }),
578
+ /* @__PURE__ */ e("span", { children: Y(t) })
579
579
  ] }),
580
- O && /* @__PURE__ */ o("div", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
581
- /* @__PURE__ */ e(yt, { className: "h-3 w-3 shrink-0" }),
582
- /* @__PURE__ */ e("span", { className: "truncate", children: O })
580
+ Q && /* @__PURE__ */ o("div", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
581
+ /* @__PURE__ */ e(bt, { className: "h-3 w-3 shrink-0" }),
582
+ /* @__PURE__ */ o("span", { className: "truncate", children: [
583
+ D,
584
+ D && H ? ", " : "",
585
+ H
586
+ ] })
583
587
  ] }),
584
- s && t.description && /* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground line-clamp-2", children: t.description }),
588
+ i && t.description && /* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground line-clamp-2", children: t.description }),
585
589
  y && t.participants && t.participants.length > 0 && /* @__PURE__ */ o("div", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
586
- /* @__PURE__ */ e($e, { className: "h-3 w-3 shrink-0" }),
587
- /* @__PURE__ */ e("span", { className: "truncate", children: t.participants.map((q) => q.name).join(", ") })
590
+ /* @__PURE__ */ e(He, { className: "h-3 w-3 shrink-0" }),
591
+ /* @__PURE__ */ e("span", { className: "truncate", children: t.participants.map((U) => U.name).join(", ") })
588
592
  ] })
589
593
  ]
590
594
  }
591
595
  );
592
596
  return l ? /* @__PURE__ */ o(ae, { children: [
593
- /* @__PURE__ */ e(ie, { asChild: !0, children: ye }),
594
- /* @__PURE__ */ e(re, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
597
+ /* @__PURE__ */ e(se, { asChild: !0, children: ye }),
598
+ /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
595
599
  /* @__PURE__ */ e("div", { className: "font-medium", children: t.title }),
596
- /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: J(t) })
600
+ /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: Y(t) })
597
601
  ] }) })
598
602
  ] }) : xe(ye);
599
603
  }
600
- function Ue({ className: t }) {
604
+ function qe({ className: t }) {
601
605
  return /* @__PURE__ */ o(
602
606
  "svg",
603
607
  {
@@ -616,7 +620,7 @@ function Ue({ className: t }) {
616
620
  }
617
621
  );
618
622
  }
619
- function en({ className: t }) {
623
+ function tn({ className: t }) {
620
624
  return /* @__PURE__ */ e(
621
625
  "svg",
622
626
  {
@@ -632,7 +636,7 @@ function en({ className: t }) {
632
636
  }
633
637
  );
634
638
  }
635
- function tn({ className: t }) {
639
+ function nn({ className: t }) {
636
640
  return /* @__PURE__ */ o(
637
641
  "svg",
638
642
  {
@@ -651,7 +655,7 @@ function tn({ className: t }) {
651
655
  }
652
656
  );
653
657
  }
654
- function $e({ className: t }) {
658
+ function He({ className: t }) {
655
659
  return /* @__PURE__ */ o(
656
660
  "svg",
657
661
  {
@@ -672,7 +676,7 @@ function $e({ className: t }) {
672
676
  }
673
677
  );
674
678
  }
675
- function yt({ className: t }) {
679
+ function bt({ className: t }) {
676
680
  return /* @__PURE__ */ o(
677
681
  "svg",
678
682
  {
@@ -691,19 +695,19 @@ function yt({ className: t }) {
691
695
  }
692
696
  );
693
697
  }
694
- function qe({
698
+ function Ke({
695
699
  event: t,
696
700
  onClose: n
697
701
  }) {
698
702
  const r = de(t.color), a = t.isCanceled ?? !1;
699
703
  return /* @__PURE__ */ o("div", { className: "space-y-3", children: [
700
704
  /* @__PURE__ */ o("div", { className: "flex items-start gap-3", children: [
701
- /* @__PURE__ */ e("div", { className: i("size-4 rounded shrink-0 mt-0.5", r.dot) }),
705
+ /* @__PURE__ */ e("div", { className: s("size-4 rounded shrink-0 mt-0.5", r.dot) }),
702
706
  /* @__PURE__ */ o("div", { className: "flex-1 min-w-0", children: [
703
707
  /* @__PURE__ */ e(
704
708
  "h3",
705
709
  {
706
- className: i(
710
+ className: s(
707
711
  "font-semibold text-lg",
708
712
  a && "line-through opacity-50"
709
713
  ),
@@ -711,8 +715,8 @@ function qe({
711
715
  }
712
716
  ),
713
717
  /* @__PURE__ */ o("div", { className: "flex items-center gap-1 text-sm text-muted-foreground mt-1", children: [
714
- /* @__PURE__ */ e(Ue, { className: "h-4 w-4 shrink-0" }),
715
- /* @__PURE__ */ e("span", { className: "tabular-nums", children: J(t) })
718
+ /* @__PURE__ */ e(qe, { className: "h-4 w-4 shrink-0" }),
719
+ /* @__PURE__ */ e("span", { className: "tabular-nums", children: Y(t) })
716
720
  ] })
717
721
  ] })
718
722
  ] }),
@@ -733,80 +737,81 @@ function qe({
733
737
  ) })
734
738
  ] });
735
739
  }
736
- function bt({
740
+ function wt({
737
741
  event: t,
738
742
  position: n,
739
743
  hourHeight: r = 96,
740
744
  badgeVariant: a = "colored",
741
745
  onClick: d,
742
- className: h,
743
- disablePopover: s = !1,
746
+ className: p,
747
+ disablePopover: i = !1,
744
748
  renderPopover: y,
745
- enableDrag: k = !0
749
+ enableDrag: C = !0
746
750
  }) {
747
- const l = de(t.color), [b, v] = Q(!1), [u, x] = Q(!1), p = Ve(), N = ct();
751
+ const l = de(t.color), [b, v] = Z(!1), [u, x] = Z(!1), f = Ge(), N = ut();
748
752
  ke(() => {
749
- if (!s && N?.focusEventId && N.focusEventId === t.id) {
750
- const O = setTimeout(() => {
753
+ if (!i && N?.focusEventId && N.focusEventId === t.id) {
754
+ const z = setTimeout(() => {
751
755
  v(!0), N.clearFocusEventId();
752
756
  }, 300);
753
- return () => clearTimeout(O);
757
+ return () => clearTimeout(z);
754
758
  }
755
- }, [N?.focusEventId, t.id, s]);
756
- const g = (t.endDate.getTime() - t.startDate.getTime()) / (1e3 * 60), L = g / 60 * r - 8, D = t.endDate < xt(/* @__PURE__ */ new Date()), T = t.isCanceled ?? !1, _ = k && p && !T && !D, U = g < 35, j = g > 25, B = g >= 45, M = t.data, E = M?.productName, I = M?.extendedProps, H = M?.nrParticipant, z = M?.siteName, f = M?.siteCity, R = [z, f].filter(Boolean).join(", "), A = a === "dot", F = W(() => {
757
- u || (s && d ? d(t) : s || v(!0));
758
- }, [u, s, d, t]), w = W(() => {
759
+ }, [N?.focusEventId, t.id, i]);
760
+ const g = (t.endDate.getTime() - t.startDate.getTime()) / (1e3 * 60), W = g / 60 * r - 8, S = t.endDate < yt(/* @__PURE__ */ new Date()), T = t.isCanceled ?? !1, I = C && f && !T && !S, G = g <= 20, F = g < 35, O = g > 20, A = g >= 45, E = t.data, $ = E?.productName, P = E?.extendedProps, k = E?.nrParticipant, h = E?.siteName, R = E?.siteCity, _ = !!h || !!R, B = a === "dot", w = L(() => {
761
+ u || (i && d ? d(t) : i || v(!0));
762
+ }, [u, i, d, t]), c = L(() => {
759
763
  v(!1);
760
- }, []), c = W(
761
- (O) => {
762
- if (!_) return;
763
- O.dataTransfer.effectAllowed = "move", O.dataTransfer.setData("text/plain", t.id);
764
- const $ = O.currentTarget, G = $.getBoundingClientRect();
765
- O.dataTransfer.setDragImage(
766
- $,
767
- O.clientX - G.left,
768
- O.clientY - G.top
769
- ), x(!0), p?.startDrag?.(t);
764
+ }, []), m = L(
765
+ (z) => {
766
+ if (!I) return;
767
+ z.dataTransfer.effectAllowed = "move", z.dataTransfer.setData("text/plain", t.id);
768
+ const j = z.currentTarget, te = j.getBoundingClientRect();
769
+ z.dataTransfer.setDragImage(
770
+ j,
771
+ z.clientX - te.left,
772
+ z.clientY - te.top
773
+ ), x(!0), f?.startDrag?.(t);
770
774
  },
771
- [_, t, p]
772
- ), m = W(() => {
773
- x(!1), p?.isDragging && p.endDrag?.();
774
- }, [p]), S = W(
775
- (O) => {
776
- (O.key === "Enter" || O.key === " ") && (O.preventDefault(), F());
775
+ [I, t, f]
776
+ ), M = L(() => {
777
+ x(!1), f?.isDragging && f.endDrag?.();
778
+ }, [f]), D = L(
779
+ (z) => {
780
+ (z.key === "Enter" || z.key === " ") && (z.preventDefault(), w());
777
781
  },
778
- [F]
779
- ), C = /* @__PURE__ */ o(
782
+ [w]
783
+ ), H = /* @__PURE__ */ e(
780
784
  "div",
781
785
  {
782
786
  role: "button",
783
787
  tabIndex: 0,
784
- draggable: !!_,
785
- onDragStart: c,
786
- onDragEnd: m,
787
- onKeyDown: S,
788
- onClick: u ? void 0 : F,
789
- className: i(
790
- "group flex w-full select-none flex-col gap-0.5 overflow-hidden rounded-md border-l-[3px] px-2 py-1.5 text-xs text-left",
788
+ draggable: !!I,
789
+ onDragStart: m,
790
+ onDragEnd: M,
791
+ onKeyDown: D,
792
+ onClick: u ? void 0 : w,
793
+ className: s(
794
+ "group flex w-full select-none overflow-hidden rounded-md border-l-[3px] text-xs text-left",
791
795
  "shadow-[0_1px_3px_rgba(0,0,0,0.08)] hover:shadow-[0_2px_6px_rgba(0,0,0,0.12)]",
792
796
  "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
793
797
  "transition-all",
794
- _ ? "cursor-grab active:cursor-grabbing" : "cursor-pointer",
798
+ I ? "cursor-grab active:cursor-grabbing" : "cursor-pointer",
795
799
  u && "opacity-50",
796
800
  // Cancelled events get gray background with strikethrough
797
801
  T ? "bg-zinc-100 dark:bg-zinc-800 border-l-zinc-400 dark:border-l-zinc-600 text-zinc-500 dark:text-zinc-400 line-through" : [
798
802
  // Colored/mixed variants
799
- !A && [l.bg, l.accentBorder, l.text],
803
+ !B && [l.bg, l.accentBorder, l.text],
800
804
  // Dot variant - neutral background
801
- A && "bg-neutral-50 dark:bg-neutral-900 border-l-neutral-400 dark:border-l-neutral-600"
805
+ B && "bg-neutral-50 dark:bg-neutral-900 border-l-neutral-400 dark:border-l-neutral-600"
802
806
  ],
803
- // Short events center content
804
- U && "py-0 justify-center",
805
- h
807
+ // Very short events: single-row inline layout
808
+ G ? "flex-row items-center gap-1.5 px-2 py-0" : F ? "flex-col gap-0.5 px-2 py-0 justify-center" : "flex-col gap-0.5 px-2 py-1.5",
809
+ p
806
810
  ),
807
- style: { height: `${Math.max(L, 20)}px` },
808
- children: [
809
- /* @__PURE__ */ o("div", { className: "flex items-start gap-1.5 min-w-0", children: [
811
+ style: { height: `${Math.max(W, 20)}px` },
812
+ children: G ? (
813
+ /* Single-row layout for very short events (≤20min) */
814
+ /* @__PURE__ */ o(Be, { children: [
810
815
  ["mixed", "dot"].includes(a) && !T && /* @__PURE__ */ e(
811
816
  "svg",
812
817
  {
@@ -819,96 +824,132 @@ function bt({
819
824
  children: /* @__PURE__ */ e("circle", { cx: "4", cy: "4", r: "4", className: l.dotFill })
820
825
  }
821
826
  ),
822
- /* @__PURE__ */ e("div", { className: "flex-1 min-w-0 overflow-hidden", children: /* @__PURE__ */ e(
823
- "p",
827
+ /* @__PURE__ */ e(
828
+ "span",
824
829
  {
825
- className: i(
826
- "font-semibold truncate leading-tight",
827
- !T && A && "text-foreground"
830
+ className: s(
831
+ "font-semibold truncate leading-none text-[11px]",
832
+ !T && B && "text-foreground"
828
833
  ),
829
834
  children: t.title
830
835
  }
831
- ) })
832
- ] }),
833
- B && E && /* @__PURE__ */ e(
834
- "p",
835
- {
836
- className: i(
837
- "text-[11px] truncate leading-tight",
838
- A ? "text-muted-foreground" : "opacity-80"
839
- ),
840
- children: E
841
- }
842
- ),
843
- B && I && I.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-col", children: I.map((O, $) => /* @__PURE__ */ e(
844
- "p",
845
- {
846
- className: i(
847
- "text-[11px] truncate leading-tight",
848
- A ? "text-muted-foreground" : "opacity-80"
849
- ),
850
- children: O
851
- },
852
- $
853
- )) }),
854
- H != null && H > 0 && /* @__PURE__ */ o(
855
- "div",
856
- {
857
- className: i(
858
- "flex items-center gap-1 text-[11px] leading-tight",
859
- A ? "text-muted-foreground" : "opacity-80"
860
- ),
861
- children: [
862
- /* @__PURE__ */ e($e, { className: "h-3 w-3 shrink-0" }),
863
- /* @__PURE__ */ o("span", { children: [
864
- H,
865
- " participant",
866
- H !== 1 ? "s" : ""
867
- ] })
868
- ]
869
- }
870
- ),
871
- j && /* @__PURE__ */ o(
872
- "div",
873
- {
874
- className: i(
875
- "flex items-center gap-1 text-[11px] tabular-nums leading-tight",
876
- A ? "text-muted-foreground" : "opacity-90"
877
- ),
878
- children: [
879
- /* @__PURE__ */ e(Ue, { className: "h-3 w-3 shrink-0" }),
880
- /* @__PURE__ */ e("span", { children: J(t) })
881
- ]
882
- }
883
- ),
884
- B && R && /* @__PURE__ */ o(
885
- "div",
886
- {
887
- className: i(
888
- "flex items-center gap-1 text-[11px] truncate leading-tight",
889
- A ? "text-muted-foreground" : "opacity-80"
836
+ ),
837
+ /* @__PURE__ */ e("span", { className: "shrink-0 text-[10px] leading-none opacity-75 tabular-nums", children: Y(t) })
838
+ ] })
839
+ ) : (
840
+ /* Standard stacked layout for events > 20min */
841
+ /* @__PURE__ */ o(Be, { children: [
842
+ /* @__PURE__ */ o("div", { className: "flex items-start gap-1.5 min-w-0", children: [
843
+ ["mixed", "dot"].includes(a) && !T && /* @__PURE__ */ e(
844
+ "svg",
845
+ {
846
+ width: "8",
847
+ height: "8",
848
+ viewBox: "0 0 8 8",
849
+ className: "event-dot shrink-0",
850
+ "aria-hidden": "true",
851
+ focusable: "false",
852
+ children: /* @__PURE__ */ e("circle", { cx: "4", cy: "4", r: "4", className: l.dotFill })
853
+ }
890
854
  ),
891
- children: [
892
- /* @__PURE__ */ e(yt, { className: "h-3 w-3 shrink-0" }),
893
- /* @__PURE__ */ e("span", { className: "truncate", children: R })
894
- ]
895
- }
896
- )
897
- ]
855
+ /* @__PURE__ */ e("div", { className: "flex-1 min-w-0 overflow-hidden", children: /* @__PURE__ */ e(
856
+ "p",
857
+ {
858
+ className: s(
859
+ "font-semibold truncate leading-tight",
860
+ !T && B && "text-foreground"
861
+ ),
862
+ children: t.title
863
+ }
864
+ ) })
865
+ ] }),
866
+ A && $ && /* @__PURE__ */ e(
867
+ "p",
868
+ {
869
+ className: s(
870
+ "text-[11px] truncate leading-tight",
871
+ B ? "text-muted-foreground" : "opacity-80"
872
+ ),
873
+ children: $
874
+ }
875
+ ),
876
+ A && P && P.length > 0 && /* @__PURE__ */ e(
877
+ "div",
878
+ {
879
+ className: s(
880
+ "flex flex-col text-[11px] leading-tight",
881
+ B ? "text-muted-foreground" : "opacity-80"
882
+ ),
883
+ children: P.map((z, j) => /* @__PURE__ */ e("div", { children: z }, j))
884
+ }
885
+ ),
886
+ k != null && k > 0 && /* @__PURE__ */ o(
887
+ "div",
888
+ {
889
+ className: s(
890
+ "flex items-center gap-1 text-[11px] leading-tight",
891
+ B ? "text-muted-foreground" : "opacity-80"
892
+ ),
893
+ children: [
894
+ /* @__PURE__ */ e(He, { className: "h-3 w-3 shrink-0" }),
895
+ /* @__PURE__ */ o("span", { children: [
896
+ k,
897
+ " participant",
898
+ k !== 1 ? "s" : ""
899
+ ] })
900
+ ]
901
+ }
902
+ ),
903
+ O && /* @__PURE__ */ o(
904
+ "div",
905
+ {
906
+ className: s(
907
+ "flex items-center gap-1 text-[11px] tabular-nums leading-tight",
908
+ B ? "text-muted-foreground" : "opacity-90"
909
+ ),
910
+ children: [
911
+ /* @__PURE__ */ e(qe, { className: "h-3 w-3 shrink-0" }),
912
+ /* @__PURE__ */ e("span", { children: Y(t) })
913
+ ]
914
+ }
915
+ ),
916
+ A && _ && /* @__PURE__ */ o(
917
+ "div",
918
+ {
919
+ className: s(
920
+ "flex items-center gap-1 text-[11px] truncate leading-tight",
921
+ B ? "text-muted-foreground" : "opacity-80"
922
+ ),
923
+ children: [
924
+ /* @__PURE__ */ e(bt, { className: "h-3 w-3 shrink-0" }),
925
+ /* @__PURE__ */ o("span", { className: "truncate", children: [
926
+ h,
927
+ h && R ? ", " : "",
928
+ R
929
+ ] })
930
+ ]
931
+ }
932
+ )
933
+ ] })
934
+ )
898
935
  }
899
- ), P = /* @__PURE__ */ e(re, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
936
+ ), Q = /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
900
937
  /* @__PURE__ */ e("div", { className: "font-medium", children: t.title }),
901
- E && /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: E }),
902
- I && I.length > 0 && I.map((O, $) => /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: O }, $)),
903
- H != null && /* @__PURE__ */ o("div", { className: "text-xs text-muted-foreground", children: [
904
- H,
938
+ $ && /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: $ }),
939
+ P && P.length > 0 && P.map((z, j) => /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: z }, j)),
940
+ k != null && /* @__PURE__ */ o("div", { className: "text-xs text-muted-foreground", children: [
941
+ k,
905
942
  " participant",
906
- H !== 1 ? "s" : ""
943
+ k !== 1 ? "s" : ""
907
944
  ] }),
908
- /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: J(t) }),
909
- R && /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: R })
945
+ /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: Y(t) }),
946
+ _ && /* @__PURE__ */ o("div", { className: "text-xs text-muted-foreground", children: [
947
+ h,
948
+ h && R ? ", " : "",
949
+ R
950
+ ] })
910
951
  ] }) });
911
- return s ? /* @__PURE__ */ e(
952
+ return i ? /* @__PURE__ */ e(
912
953
  "div",
913
954
  {
914
955
  className: "absolute p-0.5",
@@ -919,8 +960,8 @@ function bt({
919
960
  minWidth: n.minWidth ? `${n.minWidth}px` : void 0
920
961
  },
921
962
  children: /* @__PURE__ */ o(ae, { children: [
922
- /* @__PURE__ */ e(ie, { asChild: !0, children: C }),
923
- P
963
+ /* @__PURE__ */ e(se, { asChild: !0, children: H }),
964
+ Q
924
965
  ] })
925
966
  }
926
967
  ) : /* @__PURE__ */ e(
@@ -934,54 +975,54 @@ function bt({
934
975
  minWidth: n.minWidth ? `${n.minWidth}px` : void 0
935
976
  },
936
977
  children: /* @__PURE__ */ o(ue, { open: b, onOpenChange: v, children: [
937
- /* @__PURE__ */ e(me, { asChild: !0, children: C }),
938
- /* @__PURE__ */ e(le, { className: "w-80", children: y ? y({ event: t, onClose: w }) : /* @__PURE__ */ e(qe, { event: t, onClose: w }) })
978
+ /* @__PURE__ */ e(me, { asChild: !0, children: H }),
979
+ /* @__PURE__ */ e(le, { className: "w-80", children: y ? y({ event: t, onClose: c }) : /* @__PURE__ */ e(Ke, { event: t, onClose: c }) })
939
980
  ] })
940
981
  }
941
982
  );
942
983
  }
943
- function Kn({
984
+ function Xn({
944
985
  event: t,
945
986
  spanDays: n,
946
987
  isStart: r,
947
988
  isEnd: a,
948
989
  onClick: d,
949
- className: h,
950
- disablePopover: s = !1,
990
+ className: p,
991
+ disablePopover: i = !1,
951
992
  renderPopover: y
952
993
  }) {
953
- const k = de(t.color), [l, b] = Q(!1), v = t.isCanceled ?? !1, u = W(() => {
954
- s && d ? d(t) : s || b(!0);
955
- }, [s, d, t]), x = W(() => {
994
+ const C = de(t.color), [l, b] = Z(!1), v = t.isCanceled ?? !1, u = L(() => {
995
+ i && d ? d(t) : i || b(!0);
996
+ }, [i, d, t]), x = L(() => {
956
997
  b(!1);
957
- }, []), p = /* @__PURE__ */ e(
998
+ }, []), f = /* @__PURE__ */ e(
958
999
  "button",
959
1000
  {
960
1001
  type: "button",
961
1002
  onClick: u,
962
- className: i(
1003
+ className: s(
963
1004
  "flex h-5 items-center px-1.5 text-xs font-medium transition-opacity hover:opacity-80",
964
1005
  // Cancelled events get gray background with strikethrough
965
- v ? "bg-zinc-200 dark:bg-zinc-700 text-zinc-500 dark:text-zinc-400 line-through" : [k.dot, "text-white"],
1006
+ v ? "bg-zinc-200 dark:bg-zinc-700 text-zinc-500 dark:text-zinc-400 line-through" : [C.dot, "text-white"],
966
1007
  r && "rounded-l",
967
1008
  a && "rounded-r",
968
1009
  !r && "border-l-0",
969
1010
  !a && "border-r-0",
970
- h
1011
+ p
971
1012
  ),
972
1013
  style: { width: `${n * 100}%` },
973
1014
  children: r && /* @__PURE__ */ e("span", { className: "truncate", children: t.title })
974
1015
  }
975
- ), N = /* @__PURE__ */ e(re, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
1016
+ ), N = /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
976
1017
  /* @__PURE__ */ e("div", { className: "font-medium", children: t.title }),
977
- /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: J(t) })
1018
+ /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: Y(t) })
978
1019
  ] }) });
979
- return s ? /* @__PURE__ */ o(ae, { children: [
980
- /* @__PURE__ */ e(ie, { asChild: !0, children: p }),
1020
+ return i ? /* @__PURE__ */ o(ae, { children: [
1021
+ /* @__PURE__ */ e(se, { asChild: !0, children: f }),
981
1022
  N
982
1023
  ] }) : /* @__PURE__ */ o(ue, { open: l, onOpenChange: b, children: [
983
- /* @__PURE__ */ e(me, { asChild: !0, children: p }),
984
- /* @__PURE__ */ e(le, { className: "w-80", children: y ? y({ event: t, onClose: x }) : /* @__PURE__ */ e(qe, { event: t, onClose: x }) })
1024
+ /* @__PURE__ */ e(me, { asChild: !0, children: f }),
1025
+ /* @__PURE__ */ e(le, { className: "w-80", children: y ? y({ event: t, onClose: x }) : /* @__PURE__ */ e(Ke, { event: t, onClose: x }) })
985
1026
  ] });
986
1027
  }
987
1028
  if (typeof window < "u" && !document.getElementById("inno-calendar-event-marquee-style")) {
@@ -997,26 +1038,26 @@ if (typeof window < "u" && !document.getElementById("inno-calendar-event-marquee
997
1038
  }
998
1039
  `, document.head.appendChild(t);
999
1040
  }
1000
- const Ye = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, Je = Dt, wt = (t, n) => (r) => {
1041
+ const Je = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, Ze = Dt, vt = (t, n) => (r) => {
1001
1042
  var a;
1002
- if (n?.variants == null) return Je(t, r?.class, r?.className);
1003
- const { variants: d, defaultVariants: h } = n, s = Object.keys(d).map((l) => {
1004
- const b = r?.[l], v = h?.[l];
1043
+ if (n?.variants == null) return Ze(t, r?.class, r?.className);
1044
+ const { variants: d, defaultVariants: p } = n, i = Object.keys(d).map((l) => {
1045
+ const b = r?.[l], v = p?.[l];
1005
1046
  if (b === null) return null;
1006
- const u = Ye(b) || Ye(v);
1047
+ const u = Je(b) || Je(v);
1007
1048
  return d[l][u];
1008
1049
  }), y = r && Object.entries(r).reduce((l, b) => {
1009
1050
  let [v, u] = b;
1010
1051
  return u === void 0 || (l[v] = u), l;
1011
- }, {}), k = n == null || (a = n.compoundVariants) === null || a === void 0 ? void 0 : a.reduce((l, b) => {
1052
+ }, {}), C = n == null || (a = n.compoundVariants) === null || a === void 0 ? void 0 : a.reduce((l, b) => {
1012
1053
  let { class: v, className: u, ...x } = b;
1013
- return Object.entries(x).every((p) => {
1014
- let [N, g] = p;
1054
+ return Object.entries(x).every((f) => {
1055
+ let [N, g] = f;
1015
1056
  return Array.isArray(g) ? g.includes({
1016
- ...h,
1057
+ ...p,
1017
1058
  ...y
1018
1059
  }[N]) : {
1019
- ...h,
1060
+ ...p,
1020
1061
  ...y
1021
1062
  }[N] === g;
1022
1063
  }) ? [
@@ -1025,8 +1066,8 @@ const Ye = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, Je = Dt, w
1025
1066
  u
1026
1067
  ] : l;
1027
1068
  }, []);
1028
- return Je(t, s, k, r?.class, r?.className);
1029
- }, nn = wt(
1069
+ return Ze(t, i, C, r?.class, r?.className);
1070
+ }, rn = vt(
1030
1071
  "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
1031
1072
  {
1032
1073
  variants: {
@@ -1050,14 +1091,14 @@ const Ye = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, Je = Dt, w
1050
1091
  size: "default"
1051
1092
  }
1052
1093
  }
1053
- ), pe = Pe(
1054
- ({ className: t, variant: n, size: r, loading: a, disabled: d, children: h, ...s }, y) => /* @__PURE__ */ o(
1094
+ ), pe = je(
1095
+ ({ className: t, variant: n, size: r, loading: a, disabled: d, children: p, ...i }, y) => /* @__PURE__ */ o(
1055
1096
  "button",
1056
1097
  {
1057
- className: i(nn({ variant: n, size: r, className: t })),
1098
+ className: s(rn({ variant: n, size: r, className: t })),
1058
1099
  ref: y,
1059
1100
  disabled: d || a,
1060
- ...s,
1101
+ ...i,
1061
1102
  children: [
1062
1103
  a && /* @__PURE__ */ o(
1063
1104
  "svg",
@@ -1089,17 +1130,17 @@ const Ye = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, Je = Dt, w
1089
1130
  ]
1090
1131
  }
1091
1132
  ),
1092
- h
1133
+ p
1093
1134
  ]
1094
1135
  }
1095
1136
  )
1096
1137
  );
1097
1138
  pe.displayName = "Button";
1098
- const Ze = X.Root, Qe = X.Trigger, rn = Y.forwardRef(({ className: t, inset: n, children: r, ...a }, d) => /* @__PURE__ */ o(
1099
- X.SubTrigger,
1139
+ const Qe = K.Root, et = K.Trigger, on = X.forwardRef(({ className: t, inset: n, children: r, ...a }, d) => /* @__PURE__ */ o(
1140
+ K.SubTrigger,
1100
1141
  {
1101
1142
  ref: d,
1102
- className: i(
1143
+ className: s(
1103
1144
  "flex cursor-default select-none items-center rounded-lg px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",
1104
1145
  n && "pl-8",
1105
1146
  t
@@ -1107,41 +1148,41 @@ const Ze = X.Root, Qe = X.Trigger, rn = Y.forwardRef(({ className: t, inset: n,
1107
1148
  ...a,
1108
1149
  children: [
1109
1150
  r,
1110
- /* @__PURE__ */ e($t, { className: "ml-auto h-4 w-4" })
1151
+ /* @__PURE__ */ e(Ht, { className: "ml-auto h-4 w-4" })
1111
1152
  ]
1112
1153
  }
1113
1154
  ));
1114
- rn.displayName = X.SubTrigger.displayName;
1115
- const on = Y.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
1116
- X.SubContent,
1155
+ on.displayName = K.SubTrigger.displayName;
1156
+ const an = X.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
1157
+ K.SubContent,
1117
1158
  {
1118
1159
  ref: r,
1119
- className: i(
1160
+ className: s(
1120
1161
  "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
1121
1162
  t
1122
1163
  ),
1123
1164
  ...n
1124
1165
  }
1125
1166
  ));
1126
- on.displayName = X.SubContent.displayName;
1127
- const He = Y.forwardRef(({ className: t, sideOffset: n = 4, ...r }, a) => /* @__PURE__ */ e(X.Portal, { children: /* @__PURE__ */ e(
1128
- X.Content,
1167
+ an.displayName = K.SubContent.displayName;
1168
+ const Oe = X.forwardRef(({ className: t, sideOffset: n = 4, ...r }, a) => /* @__PURE__ */ e(K.Portal, { children: /* @__PURE__ */ e(
1169
+ K.Content,
1129
1170
  {
1130
1171
  ref: a,
1131
1172
  sideOffset: n,
1132
- className: i(
1173
+ className: s(
1133
1174
  "z-50 rounded-xl border bg-popover p-1 text-popover-foreground shadow-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
1134
1175
  t
1135
1176
  ),
1136
1177
  ...r
1137
1178
  }
1138
1179
  ) }));
1139
- He.displayName = X.Content.displayName;
1140
- const Oe = Y.forwardRef(({ className: t, inset: n, ...r }, a) => /* @__PURE__ */ e(
1141
- X.Item,
1180
+ Oe.displayName = K.Content.displayName;
1181
+ const Pe = X.forwardRef(({ className: t, inset: n, ...r }, a) => /* @__PURE__ */ e(
1182
+ K.Item,
1142
1183
  {
1143
1184
  ref: a,
1144
- className: i(
1185
+ className: s(
1145
1186
  "relative flex cursor-pointer select-none items-center rounded-lg px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1146
1187
  n && "pl-8",
1147
1188
  t
@@ -1149,59 +1190,59 @@ const Oe = Y.forwardRef(({ className: t, inset: n, ...r }, a) => /* @__PURE__ */
1149
1190
  ...r
1150
1191
  }
1151
1192
  ));
1152
- Oe.displayName = X.Item.displayName;
1153
- const an = Y.forwardRef(({ className: t, children: n, checked: r = !1, ...a }, d) => /* @__PURE__ */ o(
1154
- X.CheckboxItem,
1193
+ Pe.displayName = K.Item.displayName;
1194
+ const sn = X.forwardRef(({ className: t, children: n, checked: r = !1, ...a }, d) => /* @__PURE__ */ o(
1195
+ K.CheckboxItem,
1155
1196
  {
1156
1197
  ref: d,
1157
- className: i(
1198
+ className: s(
1158
1199
  "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1159
1200
  t
1160
1201
  ),
1161
1202
  checked: r,
1162
1203
  ...a,
1163
1204
  children: [
1164
- /* @__PURE__ */ e("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ e(X.ItemIndicator, { children: /* @__PURE__ */ e(It, { className: "h-4 w-4" }) }) }),
1205
+ /* @__PURE__ */ e("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ e(K.ItemIndicator, { children: /* @__PURE__ */ e(Bt, { className: "h-4 w-4" }) }) }),
1165
1206
  n
1166
1207
  ]
1167
1208
  }
1168
1209
  ));
1169
- an.displayName = X.CheckboxItem.displayName;
1170
- const sn = Y.forwardRef(({ className: t, children: n, ...r }, a) => /* @__PURE__ */ o(
1171
- X.RadioItem,
1210
+ sn.displayName = K.CheckboxItem.displayName;
1211
+ const ln = X.forwardRef(({ className: t, children: n, ...r }, a) => /* @__PURE__ */ o(
1212
+ K.RadioItem,
1172
1213
  {
1173
1214
  ref: a,
1174
- className: i(
1215
+ className: s(
1175
1216
  "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1176
1217
  t
1177
1218
  ),
1178
1219
  ...r,
1179
1220
  children: [
1180
- /* @__PURE__ */ e("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ e(X.ItemIndicator, { children: /* @__PURE__ */ e(Ot, { className: "h-2 w-2 fill-current" }) }) }),
1221
+ /* @__PURE__ */ e("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ e(K.ItemIndicator, { children: /* @__PURE__ */ e(Pt, { className: "h-2 w-2 fill-current" }) }) }),
1181
1222
  n
1182
1223
  ]
1183
1224
  }
1184
1225
  ));
1185
- sn.displayName = X.RadioItem.displayName;
1186
- const ln = Y.forwardRef(({ className: t, inset: n, ...r }, a) => /* @__PURE__ */ e(
1187
- X.Label,
1226
+ ln.displayName = K.RadioItem.displayName;
1227
+ const dn = X.forwardRef(({ className: t, inset: n, ...r }, a) => /* @__PURE__ */ e(
1228
+ K.Label,
1188
1229
  {
1189
1230
  ref: a,
1190
- className: i("px-2 py-1.5 text-sm font-semibold", n && "pl-8", t),
1231
+ className: s("px-2 py-1.5 text-sm font-semibold", n && "pl-8", t),
1191
1232
  ...r
1192
1233
  }
1193
1234
  ));
1194
- ln.displayName = X.Label.displayName;
1195
- const dn = Y.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
1196
- X.Separator,
1235
+ dn.displayName = K.Label.displayName;
1236
+ const cn = X.forwardRef(({ className: t, ...n }, r) => /* @__PURE__ */ e(
1237
+ K.Separator,
1197
1238
  {
1198
1239
  ref: r,
1199
- className: i("-mx-1 my-1 h-px bg-muted", t),
1240
+ className: s("-mx-1 my-1 h-px bg-muted", t),
1200
1241
  ...n
1201
1242
  }
1202
1243
  ));
1203
- dn.displayName = X.Separator.displayName;
1204
- const cn = wt(
1244
+ cn.displayName = K.Separator.displayName;
1245
+ const un = vt(
1205
1246
  "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
1206
1247
  {
1207
1248
  variants: {
@@ -1215,10 +1256,10 @@ const cn = wt(
1215
1256
  defaultVariants: { variant: "default" }
1216
1257
  }
1217
1258
  );
1218
- function un({ className: t, variant: n, ...r }) {
1219
- return /* @__PURE__ */ e("div", { className: i(cn({ variant: n }), t), ...r });
1259
+ function mn({ className: t, variant: n, ...r }) {
1260
+ return /* @__PURE__ */ e("div", { className: s(un({ variant: n }), t), ...r });
1220
1261
  }
1221
- function mn({ className: t }) {
1262
+ function hn({ className: t }) {
1222
1263
  return /* @__PURE__ */ e(
1223
1264
  "svg",
1224
1265
  {
@@ -1236,7 +1277,7 @@ function mn({ className: t }) {
1236
1277
  }
1237
1278
  );
1238
1279
  }
1239
- function hn({ className: t }) {
1280
+ function pn({ className: t }) {
1240
1281
  return /* @__PURE__ */ e(
1241
1282
  "svg",
1242
1283
  {
@@ -1254,7 +1295,7 @@ function hn({ className: t }) {
1254
1295
  }
1255
1296
  );
1256
1297
  }
1257
- const pn = [
1298
+ const fn = [
1258
1299
  "January",
1259
1300
  "February",
1260
1301
  "March",
@@ -1268,25 +1309,25 @@ const pn = [
1268
1309
  "November",
1269
1310
  "December"
1270
1311
  ];
1271
- function fn({
1312
+ function gn({
1272
1313
  date: t,
1273
1314
  view: n,
1274
1315
  events: r = [],
1275
1316
  onNavigatePrev: a,
1276
1317
  onNavigateNext: d,
1277
- weekStartsOn: h = 1,
1278
- showEventCount: s = !0,
1318
+ weekStartsOn: p = 1,
1319
+ showEventCount: i = !0,
1279
1320
  className: y
1280
1321
  }) {
1281
- const k = pn[t.getMonth()], l = t.getFullYear(), b = s ? Ct(r, t, n, h) : 0, v = St(t, n);
1282
- return /* @__PURE__ */ o("div", { className: i("min-w-0 flex-1", y), children: [
1322
+ const C = fn[t.getMonth()], l = t.getFullYear(), b = i ? St(r, t, n, p) : 0, v = Mt(t, n);
1323
+ return /* @__PURE__ */ o("div", { className: s("min-w-0 flex-1", y), children: [
1283
1324
  /* @__PURE__ */ o("div", { className: "flex items-center gap-1.5 sm:gap-2 flex-wrap", children: [
1284
1325
  /* @__PURE__ */ o("span", { className: "text-base sm:text-lg font-semibold truncate", children: [
1285
- k,
1326
+ C,
1286
1327
  " ",
1287
1328
  l
1288
1329
  ] }),
1289
- s && /* @__PURE__ */ e(un, { variant: "outline", className: "px-1 sm:px-1.5 text-[10px] sm:text-xs shrink-0", children: b })
1330
+ i && /* @__PURE__ */ e(mn, { variant: "outline", className: "px-1 sm:px-1.5 text-[10px] sm:text-xs shrink-0", children: b })
1290
1331
  ] }),
1291
1332
  /* @__PURE__ */ o("div", { className: "flex items-center gap-1.5 sm:gap-2", children: [
1292
1333
  /* @__PURE__ */ e(
@@ -1296,7 +1337,7 @@ function fn({
1296
1337
  size: "icon",
1297
1338
  className: "size-5 sm:size-6 [&_svg]:size-3 sm:[&_svg]:size-4",
1298
1339
  onClick: a,
1299
- children: /* @__PURE__ */ e(mn, {})
1340
+ children: /* @__PURE__ */ e(hn, {})
1300
1341
  }
1301
1342
  ),
1302
1343
  /* @__PURE__ */ e("p", { className: "text-xs sm:text-sm text-muted-foreground truncate", children: v }),
@@ -1307,13 +1348,13 @@ function fn({
1307
1348
  size: "icon",
1308
1349
  className: "size-5 sm:size-6 [&_svg]:size-3 sm:[&_svg]:size-4",
1309
1350
  onClick: d,
1310
- children: /* @__PURE__ */ e(hn, {})
1351
+ children: /* @__PURE__ */ e(pn, {})
1311
1352
  }
1312
1353
  )
1313
1354
  ] })
1314
1355
  ] });
1315
1356
  }
1316
- const gn = [
1357
+ const xn = [
1317
1358
  "JAN",
1318
1359
  "FEB",
1319
1360
  "MAR",
@@ -1327,13 +1368,13 @@ const gn = [
1327
1368
  "NOV",
1328
1369
  "DEC"
1329
1370
  ];
1330
- function xn({ onClick: t, className: n }) {
1371
+ function yn({ onClick: t, className: n }) {
1331
1372
  const r = /* @__PURE__ */ new Date();
1332
1373
  return /* @__PURE__ */ o(
1333
1374
  "button",
1334
1375
  {
1335
1376
  type: "button",
1336
- className: i(
1377
+ className: s(
1337
1378
  "flex size-11 sm:size-14 flex-col items-start overflow-hidden rounded-lg border shrink-0",
1338
1379
  "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
1339
1380
  "hover:bg-accent/50 transition-colors",
@@ -1341,13 +1382,13 @@ function xn({ onClick: t, className: n }) {
1341
1382
  ),
1342
1383
  onClick: t,
1343
1384
  children: [
1344
- /* @__PURE__ */ e("p", { className: "flex h-4 sm:h-6 w-full items-center justify-center bg-primary text-center text-[10px] sm:text-xs font-semibold text-primary-foreground", children: gn[r.getMonth()] }),
1385
+ /* @__PURE__ */ e("p", { className: "flex h-4 sm:h-6 w-full items-center justify-center bg-primary text-center text-[10px] sm:text-xs font-semibold text-primary-foreground", children: xn[r.getMonth()] }),
1345
1386
  /* @__PURE__ */ e("p", { className: "flex w-full flex-1 items-center justify-center text-sm sm:text-lg font-bold", children: r.getDate() })
1346
1387
  ]
1347
1388
  }
1348
1389
  );
1349
1390
  }
1350
- function yn({ className: t }) {
1391
+ function bn({ className: t }) {
1351
1392
  return /* @__PURE__ */ o(
1352
1393
  "svg",
1353
1394
  {
@@ -1399,7 +1440,7 @@ function fe({ className: t }) {
1399
1440
  }
1400
1441
  );
1401
1442
  }
1402
- function et({ className: t }) {
1443
+ function tt({ className: t }) {
1403
1444
  return /* @__PURE__ */ e(
1404
1445
  "svg",
1405
1446
  {
@@ -1417,7 +1458,7 @@ function et({ className: t }) {
1417
1458
  }
1418
1459
  );
1419
1460
  }
1420
- function bn({ className: t }) {
1461
+ function wn({ className: t }) {
1421
1462
  return /* @__PURE__ */ o(
1422
1463
  "svg",
1423
1464
  {
@@ -1438,7 +1479,7 @@ function bn({ className: t }) {
1438
1479
  }
1439
1480
  );
1440
1481
  }
1441
- function tt({ className: t }) {
1482
+ function nt({ className: t }) {
1442
1483
  return /* @__PURE__ */ o(
1443
1484
  "svg",
1444
1485
  {
@@ -1459,7 +1500,7 @@ function tt({ className: t }) {
1459
1500
  }
1460
1501
  );
1461
1502
  }
1462
- function wn({ className: t }) {
1503
+ function vn({ className: t }) {
1463
1504
  return /* @__PURE__ */ o(
1464
1505
  "svg",
1465
1506
  {
@@ -1484,7 +1525,7 @@ function wn({ className: t }) {
1484
1525
  }
1485
1526
  );
1486
1527
  }
1487
- function vn({ className: t }) {
1528
+ function Nn({ className: t }) {
1488
1529
  return /* @__PURE__ */ o(
1489
1530
  "svg",
1490
1531
  {
@@ -1505,7 +1546,7 @@ function vn({ className: t }) {
1505
1546
  }
1506
1547
  );
1507
1548
  }
1508
- function Nn({ className: t }) {
1549
+ function kn({ className: t }) {
1509
1550
  return /* @__PURE__ */ o(
1510
1551
  "svg",
1511
1552
  {
@@ -1527,7 +1568,7 @@ function Nn({ className: t }) {
1527
1568
  }
1528
1569
  );
1529
1570
  }
1530
- function kn({ className: t }) {
1571
+ function Dn({ className: t }) {
1531
1572
  return /* @__PURE__ */ o(
1532
1573
  "svg",
1533
1574
  {
@@ -1551,43 +1592,43 @@ function kn({ className: t }) {
1551
1592
  }
1552
1593
  );
1553
1594
  }
1554
- const Dn = [
1555
- { value: "day", label: "Day", icon: wn },
1556
- { value: "week", label: "Week", icon: vn },
1557
- { value: "month", label: "Month", icon: Nn },
1558
- { value: "year", label: "Year", icon: kn }
1595
+ const Cn = [
1596
+ { value: "day", label: "Day", icon: vn },
1597
+ { value: "week", label: "Week", icon: Nn },
1598
+ { value: "month", label: "Month", icon: kn },
1599
+ { value: "year", label: "Year", icon: Dn }
1559
1600
  // { value: 'agenda', label: 'Agenda', icon: ListIcon }, NOTE: Not needed currently
1560
- ], nt = [
1601
+ ], rt = [
1561
1602
  { value: "timeline-day", label: "1 Day", icon: fe },
1562
1603
  { value: "timeline-3day", label: "3 Days", icon: fe },
1563
1604
  { value: "timeline-week", label: "7 Days", icon: fe }
1564
- ], Cn = [
1605
+ ], Sn = [
1565
1606
  { value: "resource-day", label: "1 Day", icon: fe },
1566
1607
  { value: "resource-week", label: "7 Days", icon: fe }
1567
1608
  ];
1568
- function Xn({
1609
+ function Yn({
1569
1610
  currentDate: t,
1570
1611
  view: n,
1571
1612
  events: r = [],
1572
1613
  onNavigateToday: a,
1573
1614
  onNavigatePrev: d,
1574
- onNavigateNext: h,
1575
- onNavigate: s,
1615
+ onNavigateNext: p,
1616
+ onNavigate: i,
1576
1617
  onViewChange: y,
1577
- onAddEvent: k,
1618
+ onAddEvent: C,
1578
1619
  availableViews: l = ["day", "week", "month", "agenda"],
1579
1620
  showTimelineViews: b = !1,
1580
1621
  timelineViews: v,
1581
1622
  settingsContent: u,
1582
1623
  showSettings: x = !1,
1583
- filterContent: p,
1624
+ filterContent: f,
1584
1625
  actions: N,
1585
1626
  className: g,
1586
- weekStartsOn: L = 1,
1587
- headerConfig: D,
1627
+ weekStartsOn: W = 1,
1628
+ headerConfig: S,
1588
1629
  labels: T = {}
1589
1630
  }) {
1590
- const _ = D?.showToday ?? !0, U = D?.showDateNavigator ?? !0, j = D?.showCalendarViews ?? !0, B = D?.showResourceViews ?? b, M = D?.showSettings ?? x, E = D?.showAddEvent ?? !0, I = D?.showFilters ?? !0, H = K(
1631
+ const I = S?.showToday ?? !0, G = S?.showDateNavigator ?? !0, F = S?.showCalendarViews ?? !0, O = S?.showResourceViews ?? b, A = S?.showSettings ?? x, E = S?.showAddEvent ?? !0, $ = S?.showFilters ?? !0, P = q(
1591
1632
  () => ({
1592
1633
  today: "Today",
1593
1634
  addEvent: "Add Event",
@@ -1596,123 +1637,123 @@ function Xn({
1596
1637
  ...T
1597
1638
  }),
1598
1639
  [T]
1599
- ), z = () => {
1600
- a?.(), s?.("today");
1601
- }, f = () => {
1602
- d?.(), s?.("prev");
1640
+ ), k = () => {
1641
+ a?.(), i?.("today");
1642
+ }, h = () => {
1643
+ d?.(), i?.("prev");
1603
1644
  }, R = () => {
1604
- h?.(), s?.("next");
1605
- }, A = ["day", "week", "month", "year", "agenda"].includes(
1645
+ p?.(), i?.("next");
1646
+ }, _ = ["day", "week", "month", "year", "agenda"].includes(
1606
1647
  n
1607
- ), F = n.startsWith("timeline-") || n.startsWith("resource-"), w = Dn.filter(
1608
- (C) => l.includes(C.value)
1609
- ), c = A ? w.find((C) => C.value === n) : null, m = [...nt, ...Cn], S = F ? m.find((C) => C.value === n) : null;
1610
- return /* @__PURE__ */ o("div", { className: i("flex flex-col w-full gap-3 mb-2", g), children: [
1648
+ ), B = n.startsWith("timeline-") || n.startsWith("resource-"), w = Cn.filter(
1649
+ (D) => l.includes(D.value)
1650
+ ), c = _ ? w.find((D) => D.value === n) : null, m = [...rt, ...Sn], M = B ? m.find((D) => D.value === n) : null;
1651
+ return /* @__PURE__ */ o("div", { className: s("flex flex-col w-full gap-3 mb-2", g), children: [
1611
1652
  /* @__PURE__ */ o("div", { className: "flex lg:flex-row flex-col w-full justify-between gap-3", children: [
1612
1653
  /* @__PURE__ */ o("div", { className: "flex items-center justify-between gap-2", children: [
1613
1654
  /* @__PURE__ */ o("div", { className: "flex items-center gap-2 sm:gap-3 min-w-0", children: [
1614
- _ && /* @__PURE__ */ e(xn, { onClick: z }),
1615
- U && /* @__PURE__ */ e(
1616
- fn,
1655
+ I && /* @__PURE__ */ e(yn, { onClick: k }),
1656
+ G && /* @__PURE__ */ e(
1657
+ gn,
1617
1658
  {
1618
1659
  date: t,
1619
1660
  view: n,
1620
1661
  events: r,
1621
- onNavigatePrev: f,
1662
+ onNavigatePrev: h,
1622
1663
  onNavigateNext: R,
1623
- weekStartsOn: L
1664
+ weekStartsOn: W
1624
1665
  }
1625
1666
  )
1626
1667
  ] }),
1627
- E && k && /* @__PURE__ */ e(
1668
+ E && C && /* @__PURE__ */ e(
1628
1669
  pe,
1629
1670
  {
1630
1671
  size: "icon",
1631
1672
  className: "shrink-0 lg:hidden",
1632
- onClick: k,
1633
- children: /* @__PURE__ */ e(tt, { className: "size-4" })
1673
+ onClick: C,
1674
+ children: /* @__PURE__ */ e(nt, { className: "size-4" })
1634
1675
  }
1635
1676
  )
1636
1677
  ] }),
1637
1678
  /* @__PURE__ */ o("div", { className: "flex items-center gap-1.5 sm:gap-2 overflow-x-auto pb-1 -mb-1 scrollbar-none", children: [
1638
- j && y && w.length > 0 && /* @__PURE__ */ o(Ze, { children: [
1679
+ F && y && w.length > 0 && /* @__PURE__ */ o(Qe, { children: [
1639
1680
  /* @__PURE__ */ o(
1640
- Qe,
1681
+ et,
1641
1682
  {
1642
- className: i(
1683
+ className: s(
1643
1684
  "inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors",
1644
1685
  "h-10 px-2 sm:px-3 gap-1 sm:gap-1.5 shrink-0",
1645
- A ? "bg-primary text-primary-foreground hover:bg-primary/90" : "border border-input bg-background hover:bg-accent hover:text-accent-foreground"
1686
+ _ ? "bg-primary text-primary-foreground hover:bg-primary/90" : "border border-input bg-background hover:bg-accent hover:text-accent-foreground"
1646
1687
  ),
1647
1688
  children: [
1648
- /* @__PURE__ */ e(yn, { className: "size-4" }),
1649
- /* @__PURE__ */ e("span", { className: "text-xs sm:text-sm font-medium", children: c?.label ?? H.calendarView }),
1650
- /* @__PURE__ */ e(et, { className: "size-3 opacity-60" })
1689
+ /* @__PURE__ */ e(bn, { className: "size-4" }),
1690
+ /* @__PURE__ */ e("span", { className: "text-xs sm:text-sm font-medium", children: c?.label ?? P.calendarView }),
1691
+ /* @__PURE__ */ e(tt, { className: "size-3 opacity-60" })
1651
1692
  ]
1652
1693
  }
1653
1694
  ),
1654
- /* @__PURE__ */ e(He, { align: "start", className: "min-w-[120px]", children: w.map((C) => {
1655
- const P = C.icon;
1695
+ /* @__PURE__ */ e(Oe, { align: "start", className: "min-w-[120px]", children: w.map((D) => {
1696
+ const H = D.icon;
1656
1697
  return /* @__PURE__ */ o(
1657
- Oe,
1698
+ Pe,
1658
1699
  {
1659
- onClick: () => y(C.value),
1660
- className: i(
1700
+ onClick: () => y(D.value),
1701
+ className: s(
1661
1702
  "gap-2",
1662
- n === C.value && "bg-accent"
1703
+ n === D.value && "bg-accent"
1663
1704
  ),
1664
1705
  children: [
1665
- /* @__PURE__ */ e(P, { className: "size-4" }),
1666
- /* @__PURE__ */ e("span", { children: C.label })
1706
+ /* @__PURE__ */ e(H, { className: "size-4" }),
1707
+ /* @__PURE__ */ e("span", { children: D.label })
1667
1708
  ]
1668
1709
  },
1669
- C.value
1710
+ D.value
1670
1711
  );
1671
1712
  }) })
1672
1713
  ] }),
1673
- B && y && /* @__PURE__ */ o(Ze, { children: [
1714
+ O && y && /* @__PURE__ */ o(Qe, { children: [
1674
1715
  /* @__PURE__ */ o(
1675
- Qe,
1716
+ et,
1676
1717
  {
1677
- className: i(
1718
+ className: s(
1678
1719
  "inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors",
1679
1720
  "h-10 px-2 sm:px-3 gap-1 sm:gap-1.5 shrink-0",
1680
- F ? "bg-primary text-primary-foreground hover:bg-primary/90" : "border border-input bg-white hover:bg-zinc-50 hover:text-accent-foreground"
1721
+ B ? "bg-primary text-primary-foreground hover:bg-primary/90" : "border border-input bg-white hover:bg-zinc-50 hover:text-accent-foreground"
1681
1722
  ),
1682
1723
  children: [
1683
1724
  /* @__PURE__ */ e(fe, { className: "size-4" }),
1684
- /* @__PURE__ */ e("span", { className: "text-xs sm:text-sm font-medium", children: S?.label ?? H.resourceView }),
1685
- /* @__PURE__ */ e(et, { className: "size-3 opacity-60" })
1725
+ /* @__PURE__ */ e("span", { className: "text-xs sm:text-sm font-medium", children: M?.label ?? P.resourceView }),
1726
+ /* @__PURE__ */ e(tt, { className: "size-3 opacity-60" })
1686
1727
  ]
1687
1728
  }
1688
1729
  ),
1689
- /* @__PURE__ */ e(He, { align: "start", className: "min-w-[120px]", children: nt.map((C) => {
1690
- const P = C.icon;
1730
+ /* @__PURE__ */ e(Oe, { align: "start", className: "min-w-[120px]", children: rt.map((D) => {
1731
+ const H = D.icon;
1691
1732
  return /* @__PURE__ */ o(
1692
- Oe,
1733
+ Pe,
1693
1734
  {
1694
- onClick: () => y(C.value),
1695
- className: i(
1735
+ onClick: () => y(D.value),
1736
+ className: s(
1696
1737
  "gap-2",
1697
- n === C.value && "bg-accent"
1738
+ n === D.value && "bg-accent"
1698
1739
  ),
1699
1740
  children: [
1700
- /* @__PURE__ */ e(P, { className: "size-4" }),
1701
- /* @__PURE__ */ e("span", { children: C.label })
1741
+ /* @__PURE__ */ e(H, { className: "size-4" }),
1742
+ /* @__PURE__ */ e("span", { children: D.label })
1702
1743
  ]
1703
1744
  },
1704
- C.value
1745
+ D.value
1705
1746
  );
1706
1747
  }) })
1707
1748
  ] }),
1708
- M && u && /* @__PURE__ */ o(ue, { children: [
1749
+ A && u && /* @__PURE__ */ o(ue, { children: [
1709
1750
  /* @__PURE__ */ e(me, { asChild: !0, children: /* @__PURE__ */ e(
1710
1751
  pe,
1711
1752
  {
1712
1753
  variant: "outline",
1713
1754
  size: "icon",
1714
1755
  className: "min-w-10 min-h-10 shrink-0 mx-0",
1715
- children: /* @__PURE__ */ e(bn, { className: "size-4 sm:size-5" })
1756
+ children: /* @__PURE__ */ e(wn, { className: "size-4 sm:size-5" })
1716
1757
  }
1717
1758
  ) }),
1718
1759
  /* @__PURE__ */ e(
@@ -1726,53 +1767,53 @@ function Xn({
1726
1767
  )
1727
1768
  ] }),
1728
1769
  N,
1729
- E && k && /* @__PURE__ */ o(
1770
+ E && C && /* @__PURE__ */ o(
1730
1771
  pe,
1731
1772
  {
1732
1773
  className: "hidden lg:flex shrink-0 max-h-10",
1733
- onClick: k,
1774
+ onClick: C,
1734
1775
  children: [
1735
- /* @__PURE__ */ e(tt, { className: "size-4" }),
1736
- H.addEvent
1776
+ /* @__PURE__ */ e(nt, { className: "size-4" }),
1777
+ P.addEvent
1737
1778
  ]
1738
1779
  }
1739
1780
  )
1740
1781
  ] })
1741
1782
  ] }),
1742
- I && p && /* @__PURE__ */ e("div", { className: "flex items-center gap-2 pb-1 -mb-1 scrollbar-none", children: p })
1783
+ $ && f && /* @__PURE__ */ e("div", { className: "flex items-center gap-2 pb-1 -mb-1 scrollbar-none", children: f })
1743
1784
  ] });
1744
1785
  }
1745
- function Yn({
1786
+ function Jn({
1746
1787
  events: t,
1747
1788
  date: n,
1748
1789
  daysAhead: r = 60,
1749
1790
  badgeVariant: a = "colored",
1750
1791
  onEventClick: d,
1751
- className: h,
1752
- renderEvent: s,
1792
+ className: p,
1793
+ renderEvent: i,
1753
1794
  renderPopover: y,
1754
- slots: k,
1795
+ slots: C,
1755
1796
  classNames: l
1756
1797
  }) {
1757
- const b = K(() => {
1798
+ const b = q(() => {
1758
1799
  const u = new Date(n);
1759
1800
  u.setHours(0, 0, 0, 0);
1760
1801
  const x = new Date(u);
1761
- return x.setDate(x.getDate() + r), t.filter((p) => p.endDate >= u && p.startDate <= x);
1762
- }, [t, r, n]), v = K(() => {
1763
- const u = Mt(b), x = [];
1764
- for (const [p, N] of u)
1802
+ return x.setDate(x.getDate() + r), t.filter((f) => f.endDate >= u && f.startDate <= x);
1803
+ }, [t, r, n]), v = q(() => {
1804
+ const u = Tt(b), x = [];
1805
+ for (const [f, N] of u)
1765
1806
  x.push({
1766
- date: new Date(p),
1767
- dateKey: p,
1807
+ date: new Date(f),
1808
+ dateKey: f,
1768
1809
  events: N
1769
1810
  });
1770
- return x.sort((p, N) => p.date.getTime() - N.date.getTime()), x;
1811
+ return x.sort((f, N) => f.date.getTime() - N.date.getTime()), x;
1771
1812
  }, [b]);
1772
- return v.length === 0 ? /* @__PURE__ */ e("div", { className: i("flex flex-col items-center justify-center h-full py-12", h), children: /* @__PURE__ */ o("div", { className: "text-center", children: [
1813
+ return v.length === 0 ? /* @__PURE__ */ e("div", { className: s("flex flex-col items-center justify-center h-full py-12", p), children: /* @__PURE__ */ o("div", { className: "text-center", children: [
1773
1814
  /* @__PURE__ */ e("p", { className: "text-muted-foreground", children: "No events found" }),
1774
1815
  /* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground/70", children: "No events scheduled for this period" })
1775
- ] }) }) : /* @__PURE__ */ o("div", { className: i("flex flex-col h-full overflow-auto", l?.agendaList, h), children: [
1816
+ ] }) }) : /* @__PURE__ */ o("div", { className: s("flex flex-col h-full overflow-auto", l?.agendaList, p), children: [
1776
1817
  /* @__PURE__ */ e("div", { className: "sticky top-0 z-10 bg-background border-b px-4 py-3", children: /* @__PURE__ */ o("div", { className: "flex items-center justify-between", children: [
1777
1818
  /* @__PURE__ */ e("h2", { className: "text-lg font-medium", children: "Schedule" }),
1778
1819
  /* @__PURE__ */ o("span", { className: "text-sm text-muted-foreground", children: [
@@ -1781,13 +1822,13 @@ function Yn({
1781
1822
  b.length !== 1 ? "s" : ""
1782
1823
  ] })
1783
1824
  ] }) }),
1784
- /* @__PURE__ */ e("div", { className: "flex-1", children: v.map(({ date: u, dateKey: x, events: p }) => {
1785
- const N = ce(u), g = u.toLocaleDateString([], { weekday: "short" }), L = u.getDate(), D = u.toLocaleDateString([], { month: "short" });
1786
- return /* @__PURE__ */ o("div", { className: i("", l?.agendaDayGroup), children: [
1825
+ /* @__PURE__ */ e("div", { className: "flex-1", children: v.map(({ date: u, dateKey: x, events: f }) => {
1826
+ const N = ce(u), g = u.toLocaleDateString([], { weekday: "short" }), W = u.getDate(), S = u.toLocaleDateString([], { month: "short" });
1827
+ return /* @__PURE__ */ o("div", { className: s("", l?.agendaDayGroup), children: [
1787
1828
  /* @__PURE__ */ e(
1788
1829
  "div",
1789
1830
  {
1790
- className: i(
1831
+ className: s(
1791
1832
  "sticky top-[52px] z-10 bg-background px-4 py-3 border-b",
1792
1833
  l?.agendaDayHeader
1793
1834
  ),
@@ -1796,7 +1837,7 @@ function Yn({
1796
1837
  /* @__PURE__ */ e(
1797
1838
  "span",
1798
1839
  {
1799
- className: i(
1840
+ className: s(
1800
1841
  "text-[11px] font-medium uppercase tracking-wide",
1801
1842
  N ? "text-primary" : "text-muted-foreground"
1802
1843
  ),
@@ -1806,25 +1847,25 @@ function Yn({
1806
1847
  /* @__PURE__ */ e(
1807
1848
  "span",
1808
1849
  {
1809
- className: i(
1850
+ className: s(
1810
1851
  "flex items-center justify-center rounded-full mt-0.5",
1811
1852
  "size-10 text-xl font-normal",
1812
1853
  N ? "bg-primary text-primary-foreground" : "text-foreground"
1813
1854
  ),
1814
- children: L
1855
+ children: W
1815
1856
  }
1816
1857
  )
1817
1858
  ] }),
1818
1859
  /* @__PURE__ */ o("span", { className: "text-sm text-muted-foreground", children: [
1819
- D,
1860
+ S,
1820
1861
  " ",
1821
1862
  u.getFullYear()
1822
1863
  ] })
1823
1864
  ] })
1824
1865
  }
1825
1866
  ),
1826
- /* @__PURE__ */ e("div", { className: "px-4 py-3 space-y-2 border-b last:border-b-0", children: p.map(
1827
- (T) => s ? /* @__PURE__ */ e("div", { children: s({ event: T, variant: "full" }) }, T.id) : /* @__PURE__ */ e(
1867
+ /* @__PURE__ */ e("div", { className: "px-4 py-3 space-y-2 border-b last:border-b-0", children: f.map(
1868
+ (T) => i ? /* @__PURE__ */ e("div", { children: i({ event: T, variant: "full" }) }, T.id) : /* @__PURE__ */ e(
1828
1869
  Ee,
1829
1870
  {
1830
1871
  event: T,
@@ -1846,40 +1887,40 @@ function Yn({
1846
1887
  ] });
1847
1888
  }
1848
1889
  const Ce = 360, Se = 480, Re = 280;
1849
- function Sn({
1890
+ function Mn({
1850
1891
  isOpen: t,
1851
1892
  onClose: n,
1852
1893
  date: r,
1853
1894
  events: a,
1854
1895
  anchorRect: d,
1855
- badgeVariant: h = "colored",
1856
- onEventClick: s,
1896
+ badgeVariant: p = "colored",
1897
+ onEventClick: i,
1857
1898
  renderEvent: y,
1858
- renderPopover: k,
1899
+ renderPopover: C,
1859
1900
  className: l
1860
1901
  }) {
1861
- const b = ne(null), v = ne(null), [u, x] = Q("closed"), p = ne(null);
1862
- d && (p.current = d);
1863
- const N = d ?? p.current, g = K(
1864
- () => [...a].sort((M, E) => M.startDate.getTime() - E.startDate.getTime()),
1902
+ const b = re(null), v = re(null), [u, x] = Z("closed"), f = re(null);
1903
+ d && (f.current = d);
1904
+ const N = d ?? f.current, g = q(
1905
+ () => [...a].sort((A, E) => A.startDate.getTime() - E.startDate.getTime()),
1865
1906
  [a]
1866
- ), L = K(() => {
1867
- const M = N;
1868
- if (!M)
1907
+ ), W = q(() => {
1908
+ const A = N;
1909
+ if (!A)
1869
1910
  return {
1870
1911
  top: 0,
1871
1912
  left: 0,
1872
1913
  width: Ce,
1873
1914
  maxHeight: Se
1874
1915
  };
1875
- const E = typeof window < "u" ? window.innerWidth : 1200, I = typeof window < "u" ? window.innerHeight : 800;
1876
- let H = M.left + M.width / 2 - Ce / 2;
1877
- H = Math.max(16, Math.min(H, E - Ce - 16));
1878
- const z = Math.min(a.length * 68 + 80, Se);
1879
- let f = M.top + M.height / 2 - z / 2;
1880
- return f = Math.max(16, Math.min(f, I - z - 16)), { top: f, left: H, width: Ce, maxHeight: Se };
1916
+ const E = typeof window < "u" ? window.innerWidth : 1200, $ = typeof window < "u" ? window.innerHeight : 800;
1917
+ let P = A.left + A.width / 2 - Ce / 2;
1918
+ P = Math.max(16, Math.min(P, E - Ce - 16));
1919
+ const k = Math.min(a.length * 68 + 80, Se);
1920
+ let h = A.top + A.height / 2 - k / 2;
1921
+ return h = Math.max(16, Math.min(h, $ - k - 16)), { top: h, left: P, width: Ce, maxHeight: Se };
1881
1922
  }, [N, a.length]);
1882
- je(() => {
1923
+ Fe(() => {
1883
1924
  if (t && N)
1884
1925
  x("entering"), requestAnimationFrame(() => {
1885
1926
  requestAnimationFrame(() => {
@@ -1888,67 +1929,67 @@ function Sn({
1888
1929
  });
1889
1930
  else if (!t && (u === "open" || u === "entering")) {
1890
1931
  x("exiting");
1891
- const M = setTimeout(() => {
1892
- x("closed"), p.current = null;
1932
+ const A = setTimeout(() => {
1933
+ x("closed"), f.current = null;
1893
1934
  }, Re);
1894
- return () => clearTimeout(M);
1935
+ return () => clearTimeout(A);
1895
1936
  }
1896
1937
  }, [t, N]), ke(() => {
1897
1938
  if (u === "closed") return;
1898
- const M = (E) => {
1939
+ const A = (E) => {
1899
1940
  E.key === "Escape" && (E.stopPropagation(), n());
1900
1941
  };
1901
- return document.addEventListener("keydown", M), () => document.removeEventListener("keydown", M);
1942
+ return document.addEventListener("keydown", A), () => document.removeEventListener("keydown", A);
1902
1943
  }, [u, n]), ke(() => {
1903
1944
  u === "open" && v.current && v.current.focus();
1904
1945
  }, [u]);
1905
- const D = W(
1906
- (M) => {
1907
- M.target === b.current && n();
1946
+ const S = L(
1947
+ (A) => {
1948
+ A.target === b.current && n();
1908
1949
  },
1909
1950
  [n]
1910
1951
  );
1911
1952
  if (u === "closed") return null;
1912
- const T = u === "entering" || u === "exiting", _ = N, U = T && _ ? {
1953
+ const T = u === "entering" || u === "exiting", I = N, G = T && I ? {
1913
1954
  // Collapsed state: match the day cell exactly
1914
1955
  position: "fixed",
1915
- top: _.top,
1916
- left: _.left,
1917
- width: _.width,
1918
- height: _.height,
1919
- maxHeight: _.height,
1956
+ top: I.top,
1957
+ left: I.left,
1958
+ width: I.width,
1959
+ height: I.height,
1960
+ maxHeight: I.height,
1920
1961
  opacity: u === "entering" ? 0.7 : 0,
1921
1962
  transform: "scale(1)",
1922
1963
  borderRadius: "8px"
1923
1964
  } : {
1924
1965
  // Expanded state: full panel
1925
1966
  position: "fixed",
1926
- top: L.top,
1927
- left: L.left,
1928
- width: L.width,
1929
- maxHeight: L.maxHeight,
1967
+ top: W.top,
1968
+ left: W.left,
1969
+ width: W.width,
1970
+ maxHeight: W.maxHeight,
1930
1971
  opacity: 1,
1931
1972
  transform: "scale(1)",
1932
1973
  borderRadius: "12px"
1933
- }, j = T ? 0 : 1, B = r.toLocaleDateString(void 0, {
1974
+ }, F = T ? 0 : 1, O = r.toLocaleDateString(void 0, {
1934
1975
  weekday: "long",
1935
1976
  month: "long",
1936
1977
  day: "numeric"
1937
1978
  });
1938
- return /* @__PURE__ */ o(kt, { children: [
1979
+ return /* @__PURE__ */ o(Be, { children: [
1939
1980
  /* @__PURE__ */ e(
1940
1981
  "div",
1941
1982
  {
1942
1983
  ref: b,
1943
1984
  role: "presentation",
1944
- onClick: D,
1985
+ onClick: S,
1945
1986
  className: "ic-expansion-backdrop",
1946
1987
  style: {
1947
1988
  position: "fixed",
1948
1989
  inset: 0,
1949
1990
  zIndex: 40,
1950
1991
  backgroundColor: "rgba(0, 0, 0, 0.2)",
1951
- opacity: j,
1992
+ opacity: F,
1952
1993
  transition: `opacity ${Re}ms cubic-bezier(0.32, 0.72, 0, 1)`
1953
1994
  }
1954
1995
  }
@@ -1959,16 +2000,16 @@ function Sn({
1959
2000
  ref: v,
1960
2001
  role: "dialog",
1961
2002
  "aria-modal": "true",
1962
- "aria-label": `Events for ${B}`,
2003
+ "aria-label": `Events for ${O}`,
1963
2004
  tabIndex: -1,
1964
- className: i(
2005
+ className: s(
1965
2006
  "ic-expansion-panel",
1966
2007
  "!bg-white border border-border shadow-2xl overflow-hidden",
1967
2008
  "focus:outline-none",
1968
2009
  l
1969
2010
  ),
1970
2011
  style: {
1971
- ...U,
2012
+ ...G,
1972
2013
  zIndex: 41,
1973
2014
  transition: `all ${Re}ms cubic-bezier(0.32, 0.72, 0, 1)`,
1974
2015
  willChange: "top, left, width, height, max-height, opacity, border-radius"
@@ -1976,7 +2017,7 @@ function Sn({
1976
2017
  children: [
1977
2018
  /* @__PURE__ */ o("div", { className: "flex items-center justify-between px-4 py-3 border-b bg-muted/30", children: [
1978
2019
  /* @__PURE__ */ o("div", { className: "flex flex-col", children: [
1979
- /* @__PURE__ */ e("span", { className: "text-sm font-semibold text-foreground", children: B }),
2020
+ /* @__PURE__ */ e("span", { className: "text-sm font-semibold text-foreground", children: O }),
1980
2021
  /* @__PURE__ */ o("span", { className: "text-xs text-muted-foreground", children: [
1981
2022
  a.length,
1982
2023
  " event",
@@ -2016,17 +2057,17 @@ function Sn({
2016
2057
  className: "overflow-y-auto px-3 py-2 space-y-1.5",
2017
2058
  style: { maxHeight: `${Se - 64}px` },
2018
2059
  children: [
2019
- g.map((M) => /* @__PURE__ */ e("div", { onPointerDown: (E) => E.stopPropagation(), children: y ? y({ event: M, variant: "compact" }) : /* @__PURE__ */ e(
2060
+ g.map((A) => /* @__PURE__ */ e("div", { onPointerDown: (E) => E.stopPropagation(), children: y ? y({ event: A, variant: "compact" }) : /* @__PURE__ */ e(
2020
2061
  Ee,
2021
2062
  {
2022
- event: M,
2063
+ event: A,
2023
2064
  variant: "compact",
2024
- badgeVariant: h,
2025
- onClick: s,
2026
- renderPopover: k,
2065
+ badgeVariant: p,
2066
+ onClick: i,
2067
+ renderPopover: C,
2027
2068
  showTime: !0
2028
2069
  }
2029
- ) }, M.id)),
2070
+ ) }, A.id)),
2030
2071
  a.length === 0 && /* @__PURE__ */ e("div", { className: "py-6 text-center text-sm text-muted-foreground", children: "No events" })
2031
2072
  ]
2032
2073
  }
@@ -2036,24 +2077,24 @@ function Sn({
2036
2077
  )
2037
2078
  ] });
2038
2079
  }
2039
- function Mn({
2080
+ function Tn({
2040
2081
  event: t,
2041
2082
  date: n,
2042
2083
  onEventClick: r,
2043
2084
  disablePopover: a,
2044
2085
  renderPopover: d
2045
2086
  }) {
2046
- const [h, s] = Q(!1), y = de(t.color), k = ze(t), l = se(t.startDate, n), b = se(t.endDate, n), v = k && se(t.startDate, t.endDate), u = W(() => {
2047
- a && r ? r(t) : a || s(!0);
2048
- }, [a, r, t]), x = W(() => {
2049
- s(!1);
2050
- }, []), p = /* @__PURE__ */ o(
2087
+ const [p, i] = Z(!1), y = de(t.color), C = ze(t), l = ie(t.startDate, n), b = ie(t.endDate, n), v = C && ie(t.startDate, t.endDate), u = L(() => {
2088
+ a && r ? r(t) : a || i(!0);
2089
+ }, [a, r, t]), x = L(() => {
2090
+ i(!1);
2091
+ }, []), f = /* @__PURE__ */ o(
2051
2092
  "button",
2052
2093
  {
2053
2094
  type: "button",
2054
2095
  onClick: u,
2055
- title: J(t),
2056
- className: i(
2096
+ title: Y(t),
2097
+ className: s(
2057
2098
  "inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] font-medium transition-opacity hover:opacity-80",
2058
2099
  "sm:px-2 sm:py-1 sm:text-xs",
2059
2100
  y.bg,
@@ -2068,29 +2109,29 @@ function Mn({
2068
2109
  v && /* @__PURE__ */ e("span", { className: "text-[9px] opacity-70 sm:text-[10px]", children: "All day" })
2069
2110
  ]
2070
2111
  }
2071
- ), N = /* @__PURE__ */ e(re, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
2112
+ ), N = /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
2072
2113
  /* @__PURE__ */ e("div", { className: "font-medium", children: t.title }),
2073
- /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: J(t) })
2114
+ /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: Y(t) })
2074
2115
  ] }) });
2075
2116
  return a ? /* @__PURE__ */ o(ae, { children: [
2076
- /* @__PURE__ */ e(ie, { asChild: !0, children: p }),
2117
+ /* @__PURE__ */ e(se, { asChild: !0, children: f }),
2077
2118
  N
2078
- ] }) : /* @__PURE__ */ o(ue, { open: h, onOpenChange: s, children: [
2079
- /* @__PURE__ */ e(me, { asChild: !0, children: p }),
2080
- /* @__PURE__ */ e(le, { className: "w-80", children: d ? d({ event: t, onClose: x }) : /* @__PURE__ */ e(Tn, { event: t, onClose: x }) })
2119
+ ] }) : /* @__PURE__ */ o(ue, { open: p, onOpenChange: i, children: [
2120
+ /* @__PURE__ */ e(me, { asChild: !0, children: f }),
2121
+ /* @__PURE__ */ e(le, { className: "w-80", children: d ? d({ event: t, onClose: x }) : /* @__PURE__ */ e(zn, { event: t, onClose: x }) })
2081
2122
  ] });
2082
2123
  }
2083
- function Tn({
2124
+ function zn({
2084
2125
  event: t,
2085
2126
  onClose: n
2086
2127
  }) {
2087
2128
  const r = de(t.color), a = t.isCanceled ?? !1;
2088
2129
  return /* @__PURE__ */ o("div", { className: "space-y-3", children: [
2089
2130
  /* @__PURE__ */ o("div", { className: "flex items-start gap-3", children: [
2090
- /* @__PURE__ */ e("div", { className: i("size-4 rounded shrink-0 mt-0.5", r.dot) }),
2131
+ /* @__PURE__ */ e("div", { className: s("size-4 rounded shrink-0 mt-0.5", r.dot) }),
2091
2132
  /* @__PURE__ */ o("div", { className: "flex-1 min-w-0", children: [
2092
- /* @__PURE__ */ e("h3", { className: i("font-semibold text-lg", a && "line-through opacity-50"), children: t.title }),
2093
- /* @__PURE__ */ e("div", { className: "flex items-center gap-1 text-sm text-muted-foreground mt-1 tabular-nums", children: J(t) })
2133
+ /* @__PURE__ */ e("h3", { className: s("font-semibold text-lg", a && "line-through opacity-50"), children: t.title }),
2134
+ /* @__PURE__ */ e("div", { className: "flex items-center gap-1 text-sm text-muted-foreground mt-1 tabular-nums", children: Y(t) })
2094
2135
  ] })
2095
2136
  ] }),
2096
2137
  t.description && /* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: t.description }),
@@ -2109,22 +2150,22 @@ function Tn({
2109
2150
  ) })
2110
2151
  ] });
2111
2152
  }
2112
- function zn({
2153
+ function An({
2113
2154
  events: t,
2114
2155
  date: n,
2115
2156
  onEventClick: r,
2116
2157
  disablePopover: a = !1,
2117
2158
  renderPopover: d,
2118
- className: h
2159
+ className: p
2119
2160
  }) {
2120
2161
  if (t.length === 0) return null;
2121
- const s = t.some((l) => ze(l) && se(l.startDate, l.endDate)), y = t.some(
2122
- (l) => !se(l.startDate, l.endDate) || ze(l) && !se(l.startDate, l.endDate)
2123
- ), k = s && y ? "All day / Multi-day" : s ? "All day" : "Multi-day";
2124
- return /* @__PURE__ */ o("div", { className: i("border-b bg-muted/20 px-2 py-1.5 space-y-1", "sm:px-4 sm:py-2", h), children: [
2125
- /* @__PURE__ */ e("span", { className: "text-[10px] font-medium text-muted-foreground sm:text-xs", children: k }),
2162
+ const i = t.some((l) => ze(l) && ie(l.startDate, l.endDate)), y = t.some(
2163
+ (l) => !ie(l.startDate, l.endDate) || ze(l) && !ie(l.startDate, l.endDate)
2164
+ ), C = i && y ? "All day / Multi-day" : i ? "All day" : "Multi-day";
2165
+ return /* @__PURE__ */ o("div", { className: s("border-b bg-muted/20 px-2 py-1.5 space-y-1", "sm:px-4 sm:py-2", p), children: [
2166
+ /* @__PURE__ */ e("span", { className: "text-[10px] font-medium text-muted-foreground sm:text-xs", children: C }),
2126
2167
  /* @__PURE__ */ e("div", { className: "flex flex-wrap gap-1", children: t.map((l) => /* @__PURE__ */ e(
2127
- Mn,
2168
+ Tn,
2128
2169
  {
2129
2170
  event: l,
2130
2171
  date: n,
@@ -2136,70 +2177,70 @@ function zn({
2136
2177
  )) })
2137
2178
  ] });
2138
2179
  }
2139
- const An = 5;
2140
- function vt({
2180
+ const En = 5;
2181
+ function Nt({
2141
2182
  slot: t,
2142
2183
  onSelectionStart: n,
2143
2184
  onSelectionMove: r,
2144
2185
  onSelectionEnd: a,
2145
2186
  isSelected: d = !1,
2146
- isSelecting: h = !1,
2147
- disabled: s = !1,
2187
+ isSelecting: p = !1,
2188
+ disabled: i = !1,
2148
2189
  ariaLabel: y,
2149
- children: k,
2190
+ children: C,
2150
2191
  className: l,
2151
2192
  height: b,
2152
2193
  style: v,
2153
2194
  dataAttributes: u
2154
2195
  }) {
2155
- const x = ne(null), p = ne(!1), N = ne(!1), g = ne(null), [L, D] = Q(!1), T = Ve(), _ = W(
2156
- (z) => {
2157
- s || z.button !== 0 && z.pointerType === "mouse" || (z.preventDefault(), x.current = { x: z.clientX, y: z.clientY }, p.current = !1, N.current = !0, n?.(t));
2196
+ const x = re(null), f = re(!1), N = re(!1), g = re(null), [W, S] = Z(!1), T = Ge(), I = L(
2197
+ (k) => {
2198
+ i || k.button !== 0 && k.pointerType === "mouse" || (k.preventDefault(), x.current = { x: k.clientX, y: k.clientY }, f.current = !1, N.current = !0, n?.(t));
2158
2199
  },
2159
- [s, t, n]
2160
- ), U = W(
2161
- (z) => {
2162
- if (!(x.current && N.current && !s)) return;
2163
- const f = z.clientX - x.current.x, R = z.clientY - x.current.y;
2164
- Math.sqrt(f * f + R * R) >= An && (p.current = !0);
2200
+ [i, t, n]
2201
+ ), G = L(
2202
+ (k) => {
2203
+ if (!(x.current && N.current && !i)) return;
2204
+ const h = k.clientX - x.current.x, R = k.clientY - x.current.y;
2205
+ Math.sqrt(h * h + R * R) >= En && (f.current = !0);
2165
2206
  },
2166
- [s]
2167
- ), j = W(
2168
- (z) => {
2169
- s || (z.buttons > 0 || h) && r?.(t);
2207
+ [i]
2208
+ ), F = L(
2209
+ (k) => {
2210
+ i || (k.buttons > 0 || p) && r?.(t);
2170
2211
  },
2171
- [s, h, t, r]
2172
- ), B = W(() => {
2173
- s || (a?.(), x.current = null, p.current = !1, N.current = !1);
2174
- }, [s, a]), M = W(
2175
- (z) => {
2176
- if (!T?.isDragging || s) return;
2177
- z.preventDefault(), z.dataTransfer.dropEffect = "move", D(!0);
2178
- const f = /* @__PURE__ */ new Date(), R = t.hour ?? f.getHours(), A = t.minute ?? (f.getMinutes() >= 30 ? 30 : 0);
2179
- T.updateDragPreview?.(t.date, R, A);
2212
+ [i, p, t, r]
2213
+ ), O = L(() => {
2214
+ i || (a?.(), x.current = null, f.current = !1, N.current = !1);
2215
+ }, [i, a]), A = L(
2216
+ (k) => {
2217
+ if (!T?.isDragging || i) return;
2218
+ k.preventDefault(), k.dataTransfer.dropEffect = "move", S(!0);
2219
+ const h = /* @__PURE__ */ new Date(), R = t.hour ?? h.getHours(), _ = t.minute ?? (h.getMinutes() >= 30 ? 30 : 0);
2220
+ T.updateDragPreview?.(t.date, R, _);
2180
2221
  },
2181
- [T, s, t]
2182
- ), E = W(() => {
2183
- D(!1);
2184
- }, []), I = W(
2185
- (z) => {
2186
- z.preventDefault(), D(!1), !(!T?.isDragging || s) && T.endDrag?.();
2222
+ [T, i, t]
2223
+ ), E = L(() => {
2224
+ S(!1);
2225
+ }, []), $ = L(
2226
+ (k) => {
2227
+ k.preventDefault(), S(!1), !(!T?.isDragging || i) && T.endDrag?.();
2187
2228
  },
2188
- [T, s]
2229
+ [T, i]
2189
2230
  );
2190
2231
  ke(() => {
2191
- const z = () => {
2192
- N.current && (N.current = !1, x.current = null, p.current = !1);
2232
+ const k = () => {
2233
+ N.current && (N.current = !1, x.current = null, f.current = !1);
2193
2234
  };
2194
- return window.addEventListener("pointerup", z), window.addEventListener("pointercancel", z), () => {
2195
- window.removeEventListener("pointerup", z), window.removeEventListener("pointercancel", z);
2235
+ return window.addEventListener("pointerup", k), window.addEventListener("pointercancel", k), () => {
2236
+ window.removeEventListener("pointerup", k), window.removeEventListener("pointercancel", k);
2196
2237
  };
2197
2238
  }, []);
2198
- const H = W(
2199
- (z) => {
2200
- s || (z.key === "Enter" || z.key === " ") && (z.preventDefault(), n?.(t), a?.());
2239
+ const P = L(
2240
+ (k) => {
2241
+ i || (k.key === "Enter" || k.key === " ") && (k.preventDefault(), n?.(t), a?.());
2201
2242
  },
2202
- [s, t, n, a]
2243
+ [i, t, n, a]
2203
2244
  );
2204
2245
  return /* @__PURE__ */ e(
2205
2246
  "button",
@@ -2207,138 +2248,138 @@ function vt({
2207
2248
  ref: g,
2208
2249
  type: "button",
2209
2250
  "aria-label": y,
2210
- "aria-disabled": s,
2251
+ "aria-disabled": i,
2211
2252
  "aria-pressed": d,
2212
- disabled: s,
2213
- onPointerDown: _,
2214
- onPointerMove: U,
2215
- onPointerUp: B,
2216
- onPointerEnter: j,
2217
- onKeyDown: H,
2218
- onDragOver: M,
2253
+ disabled: i,
2254
+ onPointerDown: I,
2255
+ onPointerMove: G,
2256
+ onPointerUp: O,
2257
+ onPointerEnter: F,
2258
+ onKeyDown: P,
2259
+ onDragOver: A,
2219
2260
  onDragLeave: E,
2220
- onDrop: I,
2221
- className: i(
2261
+ onDrop: $,
2262
+ className: s(
2222
2263
  "select-none touch-none cursor-pointer transition-colors",
2223
2264
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",
2224
2265
  // Hover state (only when not in selection)
2225
- !(h || s) && "hover:bg-blue-50/60",
2266
+ !(p || i) && "hover:bg-blue-50/60",
2226
2267
  // Selection state — blue tint matching the primary color
2227
2268
  d && "bg-blue-100/70",
2228
2269
  // Drag over state - visual feedback when event is dragged over
2229
- L && "bg-primary/20 ring-2 ring-primary ring-inset",
2270
+ W && "bg-primary/20 ring-2 ring-primary ring-inset",
2230
2271
  // Disabled state
2231
- s && "cursor-not-allowed opacity-50",
2272
+ i && "cursor-not-allowed opacity-50",
2232
2273
  l
2233
2274
  ),
2234
2275
  style: { height: b, ...v },
2235
2276
  ...u,
2236
- children: k
2277
+ children: C
2237
2278
  }
2238
2279
  );
2239
2280
  }
2240
- function Nt({
2281
+ function kt({
2241
2282
  slot: t,
2242
2283
  date: n,
2243
2284
  hour: r,
2244
2285
  minute: a,
2245
2286
  ariaLabel: d,
2246
- ...h
2287
+ ...p
2247
2288
  }) {
2248
- const s = t ?? { date: n, hour: r ?? 0, minute: a ?? 0 }, y = d ?? `Add event at ${(s.hour ?? 0).toString().padStart(2, "0")}:${(s.minute ?? 0).toString().padStart(2, "0")} on ${s.date.toLocaleDateString()}`;
2249
- return /* @__PURE__ */ e(vt, { slot: s, ariaLabel: y, ...h });
2289
+ const i = t ?? { date: n, hour: r ?? 0, minute: a ?? 0 }, y = d ?? `Add event at ${(i.hour ?? 0).toString().padStart(2, "0")}:${(i.minute ?? 0).toString().padStart(2, "0")} on ${i.date.toLocaleDateString()}`;
2290
+ return /* @__PURE__ */ e(Nt, { slot: i, ariaLabel: y, ...p });
2250
2291
  }
2251
- function En({ slot: t, date: n, ariaLabel: r, ...a }) {
2252
- const d = t ?? { date: n }, h = r ?? `Select ${d.date.toLocaleDateString()}`;
2253
- return /* @__PURE__ */ e(vt, { slot: d, ariaLabel: h, ...a });
2292
+ function Ln({ slot: t, date: n, ariaLabel: r, ...a }) {
2293
+ const d = t ?? { date: n }, p = r ?? `Select ${d.date.toLocaleDateString()}`;
2294
+ return /* @__PURE__ */ e(Nt, { slot: d, ariaLabel: p, ...a });
2254
2295
  }
2255
2296
  const we = 96, _e = 72, Ie = 80;
2256
- function Jn({
2297
+ function Zn({
2257
2298
  events: t,
2258
2299
  date: n,
2259
2300
  visibleHours: r = { startHour: 0, endHour: 24 },
2260
2301
  workingHours: a,
2261
2302
  slotDuration: d = 30,
2262
- badgeVariant: h = "colored",
2263
- onEventClick: s,
2303
+ badgeVariant: p = "colored",
2304
+ onEventClick: i,
2264
2305
  onSlotSelect: y,
2265
- className: k,
2306
+ className: C,
2266
2307
  renderEvent: l,
2267
2308
  renderPopover: b,
2268
2309
  slots: v,
2269
2310
  classNames: u
2270
2311
  }) {
2271
- const x = 60 / d, p = 100 / x, N = K(() => {
2312
+ const x = 60 / d, f = 100 / x, N = q(() => {
2272
2313
  const w = [];
2273
2314
  for (let c = 0; c < x; c++)
2274
2315
  w.push(c * d);
2275
2316
  return w;
2276
- }, [x, d]), g = K(() => Fe(t, n), [t, n]), { singleDay: L, multiDay: D } = K(() => it(g), [g]), T = K(() => {
2277
- const w = st(L, n, r, we), c = /* @__PURE__ */ new Map();
2317
+ }, [x, d]), g = q(() => Ve(t, n), [t, n]), { singleDay: W, multiDay: S } = q(() => it(g), [g]), T = q(() => {
2318
+ const w = lt(W, n, r, we), c = /* @__PURE__ */ new Map();
2278
2319
  for (const m of w)
2279
2320
  c.set(m.event.id, m.position);
2280
2321
  return c;
2281
- }, [L, n, r]), _ = K(() => lt(r), [r]), U = /* @__PURE__ */ new Date(), j = ce(n), B = K(() => {
2282
- if (!j) return 0;
2283
- const w = U.getHours() + U.getMinutes() / 60;
2322
+ }, [W, n, r]), I = q(() => dt(r), [r]), G = /* @__PURE__ */ new Date(), F = ce(n), O = q(() => {
2323
+ if (!F) return 0;
2324
+ const w = G.getHours() + G.getMinutes() / 60;
2284
2325
  return w < r.startHour || w > r.endHour ? -1 : (w - r.startHour) * we;
2285
- }, [j, r, U]), M = ne(null);
2286
- je(() => {
2287
- const w = M.current;
2326
+ }, [F, r, G]), A = re(null);
2327
+ Fe(() => {
2328
+ const w = A.current;
2288
2329
  if (!w) return;
2289
2330
  const c = () => {
2290
2331
  let m;
2291
- if (j) {
2292
- const C = (/* @__PURE__ */ new Date()).getHours();
2293
- m = Math.max(C - 1, r.startHour);
2332
+ if (F) {
2333
+ const D = (/* @__PURE__ */ new Date()).getHours();
2334
+ m = Math.max(D - 1, r.startHour);
2294
2335
  } else {
2295
- const C = n.getDay(), P = a?.[C];
2296
- P?.enabled && P.from > 0 ? m = Math.max(P.from - 1, r.startHour) : m = Math.max(7, r.startHour);
2336
+ const D = n.getDay(), H = a?.[D];
2337
+ H?.enabled && H.from > 0 ? m = Math.max(H.from - 1, r.startHour) : m = Math.max(7, r.startHour);
2297
2338
  }
2298
- const S = (m - r.startHour) * we;
2339
+ const M = (m - r.startHour) * we;
2299
2340
  w.scrollTo({
2300
- top: S,
2341
+ top: M,
2301
2342
  behavior: "instant"
2302
2343
  });
2303
2344
  };
2304
2345
  requestAnimationFrame(() => {
2305
2346
  requestAnimationFrame(c);
2306
2347
  });
2307
- }, [n, a, r, j]);
2308
- const E = Ge(), I = W(
2348
+ }, [n, a, r, F]);
2349
+ const E = Ue(), $ = L(
2309
2350
  (w) => {
2310
2351
  E?.startSelection(w);
2311
2352
  },
2312
2353
  [E]
2313
- ), H = W(
2354
+ ), P = L(
2314
2355
  (w) => {
2315
2356
  E?.updateSelection(w);
2316
2357
  },
2317
2358
  [E]
2318
- ), z = W(() => {
2359
+ ), k = L(() => {
2319
2360
  E?.endSelection();
2320
- }, [E]), f = W(
2361
+ }, [E]), h = L(
2321
2362
  (w) => {
2322
- s?.(w);
2363
+ i?.(w);
2323
2364
  },
2324
- [s]
2325
- ), R = n.toLocaleDateString([], { weekday: "short" }), A = n.getDate(), F = ce(n);
2326
- return /* @__PURE__ */ o("div", { className: i("flex flex-col h-full", k), children: [
2365
+ [i]
2366
+ ), R = n.toLocaleDateString([], { weekday: "short" }), _ = n.getDate(), B = ce(n);
2367
+ return /* @__PURE__ */ o("div", { className: s("flex flex-col h-full", C), children: [
2327
2368
  /* @__PURE__ */ e(
2328
2369
  "div",
2329
2370
  {
2330
- className: i(
2371
+ className: s(
2331
2372
  "flex items-center gap-3 border-b px-4 py-3",
2332
2373
  u?.columnHeader,
2333
- F && u?.columnHeaderToday
2374
+ B && u?.columnHeaderToday
2334
2375
  ),
2335
2376
  children: /* @__PURE__ */ o("div", { className: "flex flex-col items-center", children: [
2336
2377
  /* @__PURE__ */ e(
2337
2378
  "span",
2338
2379
  {
2339
- className: i(
2380
+ className: s(
2340
2381
  "text-[11px] font-medium uppercase tracking-wide",
2341
- F ? "text-primary" : "text-muted-foreground"
2382
+ B ? "text-primary" : "text-muted-foreground"
2342
2383
  ),
2343
2384
  children: R
2344
2385
  }
@@ -2346,24 +2387,24 @@ function Jn({
2346
2387
  /* @__PURE__ */ e(
2347
2388
  "span",
2348
2389
  {
2349
- className: i(
2390
+ className: s(
2350
2391
  "flex items-center justify-center rounded-full mt-0.5",
2351
2392
  "size-12 text-3xl font-normal",
2352
- F ? "bg-primary text-primary-foreground" : "text-foreground"
2393
+ B ? "bg-primary text-primary-foreground" : "text-foreground"
2353
2394
  ),
2354
- children: A
2395
+ children: _
2355
2396
  }
2356
2397
  )
2357
2398
  ] })
2358
2399
  }
2359
2400
  ),
2360
- D.length > 0 && /* @__PURE__ */ e(
2361
- zn,
2401
+ S.length > 0 && /* @__PURE__ */ e(
2402
+ An,
2362
2403
  {
2363
- events: D,
2404
+ events: S,
2364
2405
  date: n,
2365
- onEventClick: f,
2366
- disablePopover: !!s && !b,
2406
+ onEventClick: h,
2407
+ disablePopover: !!i && !b,
2367
2408
  renderPopover: b,
2368
2409
  ...u?.multiDayBanner && { className: u.multiDayBanner }
2369
2410
  }
@@ -2371,26 +2412,26 @@ function Jn({
2371
2412
  /* @__PURE__ */ e(
2372
2413
  "div",
2373
2414
  {
2374
- ref: M,
2375
- className: i("flex-1", u?.scrollContainer),
2415
+ ref: A,
2416
+ className: s("flex-1", u?.scrollContainer),
2376
2417
  children: /* @__PURE__ */ o("div", { className: "relative min-h-full", children: [
2377
- _.map((w, c) => {
2378
- const S = !dt(n, w, a);
2418
+ I.map((w, c) => {
2419
+ const M = !ct(n, w, a);
2379
2420
  return /* @__PURE__ */ o(
2380
2421
  "div",
2381
2422
  {
2382
- className: i(
2423
+ className: s(
2383
2424
  "relative flex",
2384
- S && "bg-calendar-disabled-hour",
2425
+ M && "bg-calendar-disabled-hour",
2385
2426
  u?.timeSlot,
2386
- S ? u?.timeSlotNonWorking : u?.timeSlotWorking
2427
+ M ? u?.timeSlotNonWorking : u?.timeSlotWorking
2387
2428
  ),
2388
2429
  style: { height: we },
2389
2430
  children: [
2390
2431
  /* @__PURE__ */ e(
2391
2432
  "div",
2392
2433
  {
2393
- className: i(
2434
+ className: s(
2394
2435
  "relative flex-shrink-0 border-r border-border/50 bg-zinc-50 dark:bg-zinc-900",
2395
2436
  u?.timeGutter
2396
2437
  ),
@@ -2398,7 +2439,7 @@ function Jn({
2398
2439
  children: /* @__PURE__ */ e("div", { className: "absolute -top-2.5 right-1 sm:right-2 flex h-5 items-center", children: c !== 0 && /* @__PURE__ */ e(
2399
2440
  "span",
2400
2441
  {
2401
- className: i(
2442
+ className: s(
2402
2443
  "text-[10px] sm:text-xs text-muted-foreground",
2403
2444
  u?.timeGutterLabel
2404
2445
  ),
@@ -2408,36 +2449,36 @@ function Jn({
2408
2449
  }
2409
2450
  ),
2410
2451
  /* @__PURE__ */ o("div", { className: "relative flex-1", children: [
2411
- j && !S && /* @__PURE__ */ e("div", { className: "absolute inset-0 bg-primary/5" }),
2452
+ F && !M && /* @__PURE__ */ e("div", { className: "absolute inset-0 bg-primary/5" }),
2412
2453
  c !== 0 && /* @__PURE__ */ e("div", { className: "pointer-events-none absolute inset-x-0 top-0 border-b border-border/50" }),
2413
- N.slice(1).map((C) => /* @__PURE__ */ e(
2454
+ N.slice(1).map((D) => /* @__PURE__ */ e(
2414
2455
  "div",
2415
2456
  {
2416
2457
  className: "pointer-events-none absolute inset-x-0 border-b border-dashed border-border/30",
2417
- style: { top: `${C / 60 * 100}%` }
2458
+ style: { top: `${D / 60 * 100}%` }
2418
2459
  },
2419
- C
2460
+ D
2420
2461
  )),
2421
- N.map((C, P) => {
2422
- const O = { date: n, hour: w, minute: C };
2462
+ N.map((D, H) => {
2463
+ const Q = { date: n, hour: w, minute: D };
2423
2464
  return /* @__PURE__ */ e(
2424
- Nt,
2465
+ kt,
2425
2466
  {
2426
- slot: O,
2427
- onSelectionStart: I,
2428
- onSelectionMove: H,
2429
- onSelectionEnd: z,
2430
- isSelected: E?.isSlotSelected(O) ?? !1,
2467
+ slot: Q,
2468
+ onSelectionStart: $,
2469
+ onSelectionMove: P,
2470
+ onSelectionEnd: k,
2471
+ isSelected: E?.isSlotSelected(Q) ?? !1,
2431
2472
  isSelecting: E?.isSelecting ?? !1,
2432
- disabled: S,
2473
+ disabled: M,
2433
2474
  className: "absolute inset-x-0",
2434
2475
  style: {
2435
- top: `${P * p}%`,
2436
- height: `${p}%`
2476
+ top: `${H * f}%`,
2477
+ height: `${f}%`
2437
2478
  },
2438
- ariaLabel: `Add event at ${Ae(w)}:${String(C).padStart(2, "0")}`
2479
+ ariaLabel: `Add event at ${Ae(w)}:${String(D).padStart(2, "0")}`
2439
2480
  },
2440
- C
2481
+ D
2441
2482
  );
2442
2483
  })
2443
2484
  ] })
@@ -2451,10 +2492,10 @@ function Jn({
2451
2492
  {
2452
2493
  className: "absolute top-0 bottom-0 right-0 pointer-events-none",
2453
2494
  style: { left: _e },
2454
- children: L.map((w) => {
2495
+ children: W.map((w) => {
2455
2496
  const c = T.get(w.id);
2456
2497
  if (!c) return null;
2457
- const m = `calc(${c.width}% - 2px)`, S = `max(${Ie}px, ${m})`;
2498
+ const m = `calc(${c.width}% - 2px)`, M = `max(${Ie}px, ${m})`;
2458
2499
  return l ? /* @__PURE__ */ e(
2459
2500
  "div",
2460
2501
  {
@@ -2462,14 +2503,14 @@ function Jn({
2462
2503
  style: {
2463
2504
  top: `${c.top}px`,
2464
2505
  left: `${c.left}%`,
2465
- width: S,
2506
+ width: M,
2466
2507
  minWidth: `${Ie}px`
2467
2508
  },
2468
2509
  children: l({ event: w, position: c })
2469
2510
  },
2470
2511
  w.id
2471
2512
  ) : /* @__PURE__ */ e(
2472
- bt,
2513
+ wt,
2473
2514
  {
2474
2515
  event: w,
2475
2516
  position: {
@@ -2479,26 +2520,26 @@ function Jn({
2479
2520
  minWidth: Ie
2480
2521
  },
2481
2522
  hourHeight: we,
2482
- badgeVariant: h,
2483
- onClick: s,
2484
- disablePopover: !!s && !b,
2523
+ badgeVariant: p,
2524
+ onClick: i,
2525
+ disablePopover: !!i && !b,
2485
2526
  renderPopover: b,
2486
- className: i("pointer-events-auto", u?.eventCard)
2527
+ className: s("pointer-events-auto", u?.eventCard)
2487
2528
  },
2488
2529
  w.id
2489
2530
  );
2490
2531
  })
2491
2532
  }
2492
2533
  ),
2493
- j && B >= 0 && /* @__PURE__ */ o(
2534
+ F && O >= 0 && /* @__PURE__ */ o(
2494
2535
  "div",
2495
2536
  {
2496
- className: i(
2537
+ className: s(
2497
2538
  "absolute left-0 right-0 z-20 flex items-center pointer-events-none",
2498
2539
  u?.currentTimeIndicator
2499
2540
  ),
2500
2541
  style: {
2501
- top: B,
2542
+ top: O,
2502
2543
  left: _e
2503
2544
  },
2504
2545
  children: [
@@ -2520,7 +2561,7 @@ const Wn = [
2520
2561
  { full: "Friday", short: "Fri", tiny: "F" },
2521
2562
  { full: "Saturday", short: "Sat", tiny: "S" },
2522
2563
  { full: "Sunday", short: "Sun", tiny: "S" }
2523
- ], Ln = [
2564
+ ], Rn = [
2524
2565
  { full: "Sunday", short: "Sun", tiny: "S" },
2525
2566
  { full: "Monday", short: "Mon", tiny: "M" },
2526
2567
  { full: "Tuesday", short: "Tue", tiny: "T" },
@@ -2529,104 +2570,104 @@ const Wn = [
2529
2570
  { full: "Friday", short: "Fri", tiny: "F" },
2530
2571
  { full: "Saturday", short: "Sat", tiny: "S" }
2531
2572
  ], ve = 3;
2532
- function Zn({
2573
+ function Qn({
2533
2574
  events: t,
2534
2575
  date: n,
2535
2576
  weekStartsOn: r = 1,
2536
2577
  badgeVariant: a = "colored",
2537
2578
  onEventClick: d,
2538
- onSlotSelect: h,
2539
- onDayClick: s,
2579
+ onSlotSelect: p,
2580
+ onDayClick: i,
2540
2581
  className: y,
2541
- renderEvent: k,
2582
+ renderEvent: C,
2542
2583
  renderPopover: l,
2543
2584
  showMoreMode: b,
2544
2585
  showMoreEventsInPopover: v = !1,
2545
2586
  slots: u,
2546
2587
  classNames: x
2547
2588
  }) {
2548
- const p = b ?? (v ? "popover" : "expand"), N = u?.dayCellHeader, g = u?.dayCellFooter, [L, D] = Q(null), [T, _] = Q(null), U = K(() => Tt(n, r), [n, r]), j = K(() => {
2549
- const f = /* @__PURE__ */ new Map();
2550
- for (const R of U) {
2551
- const A = R.date.toDateString(), F = Fe(t, R.date);
2552
- F.sort((w, c) => w.startDate.getTime() - c.startDate.getTime()), f.set(A, F);
2589
+ const f = b ?? (v ? "popover" : "expand"), N = u?.dayCellHeader, g = u?.dayCellFooter, [W, S] = Z(null), [T, I] = Z(null), G = q(() => zt(n, r), [n, r]), F = q(() => {
2590
+ const h = /* @__PURE__ */ new Map();
2591
+ for (const R of G) {
2592
+ const _ = R.date.toDateString(), B = Ve(t, R.date);
2593
+ B.sort((w, c) => w.startDate.getTime() - c.startDate.getTime()), h.set(_, B);
2553
2594
  }
2554
- return f;
2555
- }, [U, t]), B = Ge(), M = W(
2556
- (f) => {
2557
- B?.startSelection(f);
2595
+ return h;
2596
+ }, [G, t]), O = Ue(), A = L(
2597
+ (h) => {
2598
+ O?.startSelection(h);
2558
2599
  },
2559
- [B]
2560
- ), E = W(
2561
- (f) => {
2562
- B?.updateSelection(f);
2600
+ [O]
2601
+ ), E = L(
2602
+ (h) => {
2603
+ O?.updateSelection(h);
2563
2604
  },
2564
- [B]
2565
- ), I = W(() => {
2566
- B?.endSelection();
2567
- }, [B]), H = W(
2568
- (f) => {
2569
- s?.(f);
2605
+ [O]
2606
+ ), $ = L(() => {
2607
+ O?.endSelection();
2608
+ }, [O]), P = L(
2609
+ (h) => {
2610
+ i?.(h);
2570
2611
  },
2571
- [s]
2572
- ), z = r === 0 ? Ln : Wn;
2573
- return /* @__PURE__ */ o("div", { className: i("flex flex-col h-full overflow-hidden", y), children: [
2612
+ [i]
2613
+ ), k = r === 0 ? Rn : Wn;
2614
+ return /* @__PURE__ */ o("div", { className: s("flex flex-col h-full overflow-hidden", y), children: [
2574
2615
  /* @__PURE__ */ e("div", { className: "flex flex-col flex-1 overflow-auto", children: /* @__PURE__ */ o("div", { className: "flex flex-col flex-1 min-w-[560px] sm:min-w-0", children: [
2575
2616
  /* @__PURE__ */ e(
2576
2617
  "div",
2577
2618
  {
2578
- className: i(
2619
+ className: s(
2579
2620
  "grid grid-cols-7 border-b !sticky !top-0 bg-background z-10",
2580
2621
  x?.weekdayHeader
2581
2622
  ),
2582
- children: z.map((f, R) => /* @__PURE__ */ o(
2623
+ children: k.map((h, R) => /* @__PURE__ */ o(
2583
2624
  "div",
2584
2625
  {
2585
- className: i(
2626
+ className: s(
2586
2627
  "py-2 sm:py-2.5 text-center text-[11px] uppercase font-medium tracking-wide text-muted-foreground",
2587
2628
  R >= 5 && "text-muted-foreground/70",
2588
2629
  // Weekend
2589
2630
  x?.weekdayLabel
2590
2631
  ),
2591
2632
  children: [
2592
- /* @__PURE__ */ e("span", { className: "sm:hidden", children: f.short }),
2593
- /* @__PURE__ */ e("span", { className: "hidden sm:inline", children: f.short })
2633
+ /* @__PURE__ */ e("span", { className: "sm:hidden", children: h.short }),
2634
+ /* @__PURE__ */ e("span", { className: "hidden sm:inline", children: h.short })
2594
2635
  ]
2595
2636
  },
2596
- f.full
2637
+ h.full
2597
2638
  ))
2598
2639
  }
2599
2640
  ),
2600
- /* @__PURE__ */ e("div", { className: i("grid grid-cols-7 auto-rows-min", x?.monthGrid), children: U.map((f) => {
2601
- const R = f.date.toDateString(), A = j.get(R) || [], F = ce(f.date), w = f.date.getDay() === 0 || f.date.getDay() === 6, c = A.length > ve;
2641
+ /* @__PURE__ */ e("div", { className: s("grid grid-cols-7 auto-rows-min", x?.monthGrid), children: G.map((h) => {
2642
+ const R = h.date.toDateString(), _ = F.get(R) || [], B = ce(h.date), w = h.date.getDay() === 0 || h.date.getDay() === 6, c = _.length > ve;
2602
2643
  return /* @__PURE__ */ o(
2603
- En,
2644
+ Ln,
2604
2645
  {
2605
- date: f.date,
2646
+ date: h.date,
2606
2647
  dataAttributes: { "data-day-key": R },
2607
- onSelectionStart: M,
2648
+ onSelectionStart: A,
2608
2649
  onSelectionMove: E,
2609
- onSelectionEnd: I,
2610
- isSelected: B?.isSlotSelected({ date: f.date }) ?? !1,
2611
- isSelecting: B?.isSelecting ?? !1,
2612
- className: i(
2650
+ onSelectionEnd: $,
2651
+ isSelected: O?.isSlotSelected({ date: h.date }) ?? !1,
2652
+ isSelecting: O?.isSelecting ?? !1,
2653
+ className: s(
2613
2654
  "relative flex flex-col border-r border-b text-left min-h-[80px] sm:min-h-[100px] overflow-hidden",
2614
2655
  "[&:nth-child(7n)]:border-r-0",
2615
- !f.isCurrentMonth && "bg-muted/20",
2616
- w && f.isCurrentMonth && "bg-muted/10",
2656
+ !h.isCurrentMonth && "bg-muted/20",
2657
+ w && h.isCurrentMonth && "bg-muted/10",
2617
2658
  x?.dayCell,
2618
- F && x?.dayCellToday,
2619
- !f.isCurrentMonth && x?.dayCellOutside,
2659
+ B && x?.dayCellToday,
2660
+ !h.isCurrentMonth && x?.dayCellOutside,
2620
2661
  w && x?.dayCellWeekend
2621
2662
  ),
2622
- ariaLabel: `${f.date.toLocaleDateString()} - ${A.length} events. Click to create event, double-click to view day.`,
2663
+ ariaLabel: `${h.date.toLocaleDateString()} - ${_.length} events. Click to create event, double-click to view day.`,
2623
2664
  children: [
2624
2665
  /* @__PURE__ */ e(
2625
2666
  "div",
2626
2667
  {
2627
- className: i(
2668
+ className: s(
2628
2669
  "flex items-center justify-center p-1",
2629
- !f.isCurrentMonth && "text-muted-foreground/40",
2670
+ !h.isCurrentMonth && "text-muted-foreground/40",
2630
2671
  x?.dayCellNumber
2631
2672
  ),
2632
2673
  children: /* @__PURE__ */ e(
@@ -2634,14 +2675,14 @@ function Zn({
2634
2675
  {
2635
2676
  type: "button",
2636
2677
  onClick: (m) => {
2637
- m.stopPropagation(), H(f.date);
2678
+ m.stopPropagation(), P(h.date);
2638
2679
  },
2639
- className: i(
2680
+ className: s(
2640
2681
  "flex items-center justify-center rounded-full transition-colors",
2641
2682
  "size-7 text-sm font-normal",
2642
- F ? "bg-primary text-primary-foreground" : "hover:bg-muted"
2683
+ B ? "bg-primary text-primary-foreground" : "hover:bg-muted"
2643
2684
  ),
2644
- children: f.date.getDate()
2685
+ children: h.date.getDate()
2645
2686
  }
2646
2687
  )
2647
2688
  }
@@ -2649,10 +2690,10 @@ function Zn({
2649
2690
  N && /* @__PURE__ */ e(
2650
2691
  N,
2651
2692
  {
2652
- date: f.date,
2653
- events: A,
2654
- isToday: F,
2655
- isCurrentMonth: f.isCurrentMonth,
2693
+ date: h.date,
2694
+ events: _,
2695
+ isToday: B,
2696
+ isCurrentMonth: h.isCurrentMonth,
2656
2697
  isWeekend: w,
2657
2698
  view: "month"
2658
2699
  }
@@ -2660,18 +2701,18 @@ function Zn({
2660
2701
  /* @__PURE__ */ o(
2661
2702
  "div",
2662
2703
  {
2663
- className: i(
2704
+ className: s(
2664
2705
  "flex-1 overflow-hidden px-2 pt-1 pb-1 space-y-1",
2665
2706
  x?.dayCellContent
2666
2707
  ),
2667
2708
  children: [
2668
- A.slice(0, ve).map((m) => /* @__PURE__ */ e(
2709
+ _.slice(0, ve).map((m) => /* @__PURE__ */ e(
2669
2710
  "div",
2670
2711
  {
2671
- onPointerDown: (S) => {
2672
- S.stopPropagation();
2712
+ onPointerDown: (M) => {
2713
+ M.stopPropagation();
2673
2714
  },
2674
- children: k ? k({ event: m, variant: "compact" }) : /* @__PURE__ */ e(
2715
+ children: C ? C({ event: m, variant: "compact" }) : /* @__PURE__ */ e(
2675
2716
  Ee,
2676
2717
  {
2677
2718
  event: m,
@@ -2690,36 +2731,36 @@ function Zn({
2690
2731
  },
2691
2732
  m.id
2692
2733
  )),
2693
- c && p === "expand" && /* @__PURE__ */ o(
2734
+ c && f === "expand" && /* @__PURE__ */ o(
2694
2735
  "button",
2695
2736
  {
2696
2737
  type: "button",
2697
2738
  onPointerDown: (m) => m.stopPropagation(),
2698
2739
  onClick: (m) => {
2699
2740
  m.stopPropagation();
2700
- const S = document.querySelector(`[data-day-key="${R}"]`);
2701
- _({
2702
- date: f.date,
2703
- events: A,
2704
- rect: S?.getBoundingClientRect() ?? new DOMRect(window.innerWidth / 2 - 180, window.innerHeight / 2 - 240, 0, 0)
2741
+ const M = document.querySelector(`[data-day-key="${R}"]`);
2742
+ I({
2743
+ date: h.date,
2744
+ events: _,
2745
+ rect: M?.getBoundingClientRect() ?? new DOMRect(window.innerWidth / 2 - 180, window.innerHeight / 2 - 240, 0, 0)
2705
2746
  });
2706
2747
  },
2707
- className: i(
2748
+ className: s(
2708
2749
  "w-full text-left text-xs text-muted-foreground hover:text-foreground hover:underline px-1.5 cursor-pointer",
2709
2750
  x?.moreEventsIndicator
2710
2751
  ),
2711
2752
  children: [
2712
2753
  "+",
2713
- A.length - ve,
2754
+ _.length - ve,
2714
2755
  " more"
2715
2756
  ]
2716
2757
  }
2717
2758
  ),
2718
- c && p === "popover" && /* @__PURE__ */ o(
2759
+ c && f === "popover" && /* @__PURE__ */ o(
2719
2760
  ue,
2720
2761
  {
2721
- open: L === R,
2722
- onOpenChange: (m) => D(m ? R : null),
2762
+ open: W === R,
2763
+ onOpenChange: (m) => S(m ? R : null),
2723
2764
  children: [
2724
2765
  /* @__PURE__ */ e(me, { asChild: !0, children: /* @__PURE__ */ o(
2725
2766
  "button",
@@ -2727,15 +2768,15 @@ function Zn({
2727
2768
  type: "button",
2728
2769
  onPointerDown: (m) => m.stopPropagation(),
2729
2770
  onClick: (m) => {
2730
- m.stopPropagation(), D(R);
2771
+ m.stopPropagation(), S(R);
2731
2772
  },
2732
- className: i(
2773
+ className: s(
2733
2774
  "w-full text-left text-xs text-muted-foreground hover:text-foreground hover:underline px-1.5 cursor-pointer",
2734
2775
  x?.moreEventsIndicator
2735
2776
  ),
2736
2777
  children: [
2737
2778
  "+",
2738
- A.length - ve,
2779
+ _.length - ve,
2739
2780
  " more"
2740
2781
  ]
2741
2782
  }
@@ -2750,24 +2791,24 @@ function Zn({
2750
2791
  onPointerDown: (m) => m.stopPropagation(),
2751
2792
  children: [
2752
2793
  /* @__PURE__ */ o("div", { className: "flex items-center justify-between mb-2 pb-2 border-b", children: [
2753
- /* @__PURE__ */ e("span", { className: "text-sm font-medium", children: f.date.toLocaleDateString(void 0, {
2794
+ /* @__PURE__ */ e("span", { className: "text-sm font-medium", children: h.date.toLocaleDateString(void 0, {
2754
2795
  weekday: "short",
2755
2796
  month: "short",
2756
2797
  day: "numeric"
2757
2798
  }) }),
2758
2799
  /* @__PURE__ */ o("span", { className: "text-xs text-muted-foreground", children: [
2759
- A.length,
2800
+ _.length,
2760
2801
  " events"
2761
2802
  ] })
2762
2803
  ] }),
2763
- /* @__PURE__ */ e("div", { className: "space-y-1.5", children: A.map((m) => /* @__PURE__ */ e("div", { children: k ? k({ event: m, variant: "compact" }) : /* @__PURE__ */ e(
2804
+ /* @__PURE__ */ e("div", { className: "space-y-1.5", children: _.map((m) => /* @__PURE__ */ e("div", { children: C ? C({ event: m, variant: "compact" }) : /* @__PURE__ */ e(
2764
2805
  Ee,
2765
2806
  {
2766
2807
  event: m,
2767
2808
  variant: "compact",
2768
2809
  badgeVariant: a,
2769
- onClick: (S) => {
2770
- D(null), d?.(S);
2810
+ onClick: (M) => {
2811
+ S(null), d?.(M);
2771
2812
  },
2772
2813
  disablePopover: !!d && !l,
2773
2814
  renderPopover: l,
@@ -2780,19 +2821,19 @@ function Zn({
2780
2821
  ]
2781
2822
  }
2782
2823
  ),
2783
- c && p === "dayView" && /* @__PURE__ */ o(
2824
+ c && f === "dayView" && /* @__PURE__ */ o(
2784
2825
  "div",
2785
2826
  {
2786
2827
  onPointerDown: (m) => {
2787
- m.stopPropagation(), H(f.date);
2828
+ m.stopPropagation(), P(h.date);
2788
2829
  },
2789
- className: i(
2830
+ className: s(
2790
2831
  "w-full text-left text-xs text-muted-foreground hover:text-foreground hover:underline px-1.5 cursor-pointer",
2791
2832
  x?.moreEventsIndicator
2792
2833
  ),
2793
2834
  children: [
2794
2835
  "+",
2795
- A.length - ve,
2836
+ _.length - ve,
2796
2837
  " more"
2797
2838
  ]
2798
2839
  }
@@ -2803,10 +2844,10 @@ function Zn({
2803
2844
  g && /* @__PURE__ */ e(
2804
2845
  g,
2805
2846
  {
2806
- date: f.date,
2807
- events: A,
2808
- isToday: F,
2809
- isCurrentMonth: f.isCurrentMonth,
2847
+ date: h.date,
2848
+ events: _,
2849
+ isToday: B,
2850
+ isCurrentMonth: h.isCurrentMonth,
2810
2851
  isWeekend: w,
2811
2852
  view: "month"
2812
2853
  }
@@ -2818,87 +2859,87 @@ function Zn({
2818
2859
  }) })
2819
2860
  ] }) }),
2820
2861
  /* @__PURE__ */ e(
2821
- Sn,
2862
+ Mn,
2822
2863
  {
2823
2864
  isOpen: T !== null,
2824
- onClose: () => _(null),
2865
+ onClose: () => I(null),
2825
2866
  date: T?.date ?? /* @__PURE__ */ new Date(),
2826
2867
  events: T?.events ?? [],
2827
2868
  anchorRect: T?.rect ?? null,
2828
2869
  badgeVariant: a,
2829
2870
  onEventClick: d,
2830
- renderEvent: k,
2871
+ renderEvent: C,
2831
2872
  renderPopover: l
2832
2873
  }
2833
2874
  )
2834
2875
  ] });
2835
2876
  }
2836
- const We = 26, rt = 2, Me = 4;
2837
- function ot(t, n) {
2838
- const r = Ke(t);
2877
+ const Le = 26, ot = 2, Me = 4;
2878
+ function at(t, n) {
2879
+ const r = Xe(t);
2839
2880
  for (let d = 0; d < n.length; d++) {
2840
- const h = n[d];
2841
- if (h && se(r, h)) return d;
2881
+ const p = n[d];
2882
+ if (p && ie(r, p)) return d;
2842
2883
  }
2843
2884
  const a = n[0];
2844
- return a && r < Ke(a) ? -1 : 7;
2885
+ return a && r < Xe(a) ? -1 : 7;
2845
2886
  }
2846
- function Rn(t) {
2887
+ function _n(t) {
2847
2888
  const n = [...t].sort((a, d) => {
2848
- const h = a.endCol - a.startCol, s = d.endCol - d.startCol;
2849
- return s !== h ? s - h : a.startCol - d.startCol;
2889
+ const p = a.endCol - a.startCol, i = d.endCol - d.startCol;
2890
+ return i !== p ? i - p : a.startCol - d.startCol;
2850
2891
  }), r = [];
2851
2892
  return n.map((a) => {
2852
2893
  let d = -1;
2853
- for (let s = 0; s < r.length; s++) {
2854
- const y = r[s];
2894
+ for (let i = 0; i < r.length; i++) {
2895
+ const y = r[i];
2855
2896
  if (!y) continue;
2856
- let k = !0;
2897
+ let C = !0;
2857
2898
  for (let l = a.startCol; l <= a.endCol; l++)
2858
2899
  if (y[l]) {
2859
- k = !1;
2900
+ C = !1;
2860
2901
  break;
2861
2902
  }
2862
- if (k) {
2863
- d = s;
2903
+ if (C) {
2904
+ d = i;
2864
2905
  break;
2865
2906
  }
2866
2907
  }
2867
2908
  d === -1 && (d = r.length, r.push(new Array(7).fill(!1)));
2868
- const h = r[d];
2869
- if (h)
2870
- for (let s = a.startCol; s <= a.endCol; s++)
2871
- h[s] = !0;
2909
+ const p = r[d];
2910
+ if (p)
2911
+ for (let i = a.startCol; i <= a.endCol; i++)
2912
+ p[i] = !0;
2872
2913
  return { ...a, row: d };
2873
2914
  });
2874
2915
  }
2875
- function _n({
2916
+ function In({
2876
2917
  pe: t,
2877
2918
  onEventClick: n,
2878
2919
  disablePopover: r,
2879
2920
  renderPopover: a
2880
2921
  }) {
2881
- const [d, h] = Q(!1), s = de(t.event.color), y = W(() => {
2882
- r && n ? n(t.event) : r || h(!0);
2883
- }, [r, n, t.event]), k = W(() => {
2884
- h(!1);
2922
+ const [d, p] = Z(!1), i = de(t.event.color), y = L(() => {
2923
+ r && n ? n(t.event) : r || p(!0);
2924
+ }, [r, n, t.event]), C = L(() => {
2925
+ p(!1);
2885
2926
  }, []), l = /* @__PURE__ */ o(
2886
2927
  "button",
2887
2928
  {
2888
2929
  type: "button",
2889
2930
  onClick: y,
2890
- className: i(
2931
+ className: s(
2891
2932
  "inline-flex items-center gap-1 rounded text-[10px] font-medium transition-opacity hover:opacity-80 mx-0.5 overflow-hidden w-full",
2892
2933
  "sm:text-xs",
2893
- s.bg,
2894
- s.text,
2934
+ i.bg,
2935
+ i.text,
2895
2936
  t.event.isCanceled && "opacity-60 line-through",
2896
2937
  t.continuesBefore && "rounded-l-none -ml-0.5 pl-1",
2897
2938
  t.continuesAfter && "rounded-r-none -mr-0.5 pr-1"
2898
2939
  ),
2899
2940
  style: {
2900
- height: We,
2901
- lineHeight: `${We}px`,
2941
+ height: Le,
2942
+ lineHeight: `${Le}px`,
2902
2943
  paddingLeft: t.continuesBefore ? 4 : 6,
2903
2944
  paddingRight: t.continuesAfter ? 4 : 6
2904
2945
  },
@@ -2909,41 +2950,41 @@ function _n({
2909
2950
  t.continuesAfter && /* @__PURE__ */ e("span", { className: "text-[9px] opacity-60 flex-shrink-0", children: "▸" })
2910
2951
  ]
2911
2952
  }
2912
- ), b = /* @__PURE__ */ e(re, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
2953
+ ), b = /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
2913
2954
  /* @__PURE__ */ e("div", { className: "font-medium", children: t.event.title }),
2914
- /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: J(t.event) })
2955
+ /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground tabular-nums", children: Y(t.event) })
2915
2956
  ] }) }), v = {
2916
2957
  gridColumn: `${t.startCol + 2} / ${t.endCol + 3}`,
2917
2958
  gridRow: t.row + 1
2918
2959
  };
2919
2960
  return r ? /* @__PURE__ */ e("div", { style: v, children: /* @__PURE__ */ o(ae, { children: [
2920
- /* @__PURE__ */ e(ie, { asChild: !0, children: l }),
2961
+ /* @__PURE__ */ e(se, { asChild: !0, children: l }),
2921
2962
  b
2922
- ] }) }) : /* @__PURE__ */ e("div", { style: v, children: /* @__PURE__ */ o(ue, { open: d, onOpenChange: h, children: [
2963
+ ] }) }) : /* @__PURE__ */ e("div", { style: v, children: /* @__PURE__ */ o(ue, { open: d, onOpenChange: p, children: [
2923
2964
  /* @__PURE__ */ e(me, { asChild: !0, children: l }),
2924
- /* @__PURE__ */ e(le, { className: "w-80", children: a ? a({ event: t.event, onClose: k }) : /* @__PURE__ */ e(In, { event: t.event, onClose: k }) })
2965
+ /* @__PURE__ */ e(le, { className: "w-80", children: a ? a({ event: t.event, onClose: C }) : /* @__PURE__ */ e(Bn, { event: t.event, onClose: C }) })
2925
2966
  ] }) });
2926
2967
  }
2927
- function In({
2968
+ function Bn({
2928
2969
  event: t,
2929
2970
  onClose: n
2930
2971
  }) {
2931
2972
  const r = de(t.color), a = t.isCanceled ?? !1;
2932
2973
  return /* @__PURE__ */ o("div", { className: "space-y-3", children: [
2933
2974
  /* @__PURE__ */ o("div", { className: "flex items-start gap-3", children: [
2934
- /* @__PURE__ */ e("div", { className: i("size-4 rounded shrink-0 mt-0.5", r.dot) }),
2975
+ /* @__PURE__ */ e("div", { className: s("size-4 rounded shrink-0 mt-0.5", r.dot) }),
2935
2976
  /* @__PURE__ */ o("div", { className: "flex-1 min-w-0", children: [
2936
2977
  /* @__PURE__ */ e(
2937
2978
  "h3",
2938
2979
  {
2939
- className: i(
2980
+ className: s(
2940
2981
  "font-semibold text-lg",
2941
2982
  a && "line-through opacity-50"
2942
2983
  ),
2943
2984
  children: t.title
2944
2985
  }
2945
2986
  ),
2946
- /* @__PURE__ */ e("div", { className: "flex items-center gap-1 text-sm text-muted-foreground mt-1 tabular-nums", children: J(t) })
2987
+ /* @__PURE__ */ e("div", { className: "flex items-center gap-1 text-sm text-muted-foreground mt-1 tabular-nums", children: Y(t) })
2947
2988
  ] })
2948
2989
  ] }),
2949
2990
  t.description && /* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: t.description }),
@@ -2962,51 +3003,51 @@ function In({
2962
3003
  ) })
2963
3004
  ] });
2964
3005
  }
2965
- function Bn({
3006
+ function $n({
2966
3007
  events: t,
2967
3008
  weekDays: n,
2968
3009
  hourColumnWidth: r,
2969
3010
  minDayColumnWidth: a,
2970
3011
  dayColumnWidths: d,
2971
- onEventClick: h,
2972
- disablePopover: s = !1,
3012
+ onEventClick: p,
3013
+ disablePopover: i = !1,
2973
3014
  renderPopover: y,
2974
- className: k
3015
+ className: C
2975
3016
  }) {
2976
- const l = K(() => {
3017
+ const l = q(() => {
2977
3018
  if (t.length === 0) return [];
2978
- const g = t.map((L) => {
2979
- const D = ot(L.startDate, n), T = ot(L.endDate, n), _ = Math.max(0, D), U = Math.min(6, T);
2980
- if (_ > 6 || U < 0) return null;
2981
- const j = D < 0, B = T > 6, E = ze(L) && se(L.startDate, L.endDate);
3019
+ const g = t.map((W) => {
3020
+ const S = at(W.startDate, n), T = at(W.endDate, n), I = Math.max(0, S), G = Math.min(6, T);
3021
+ if (I > 6 || G < 0) return null;
3022
+ const F = S < 0, O = T > 6, E = ze(W) && ie(W.startDate, W.endDate);
2982
3023
  return {
2983
- event: L,
2984
- startCol: _,
2985
- endCol: U,
2986
- continuesBefore: j,
2987
- continuesAfter: B,
3024
+ event: W,
3025
+ startCol: I,
3026
+ endCol: G,
3027
+ continuesBefore: F,
3028
+ continuesAfter: O,
2988
3029
  isSingleDayAllDay: E
2989
3030
  };
2990
3031
  }).filter(Boolean);
2991
- return Rn(g);
3032
+ return _n(g);
2992
3033
  }, [t, n]);
2993
3034
  if (l.length === 0) return null;
2994
- const b = Math.max(...l.map((g) => g.row)) + 1, v = Math.min(b, Me), u = b > Me, x = u ? l.filter((g) => g.row >= Me).length : 0, p = [
3035
+ const b = Math.max(...l.map((g) => g.row)) + 1, v = Math.min(b, Me), u = b > Me, x = u ? l.filter((g) => g.row >= Me).length : 0, f = [
2995
3036
  `${r}px`,
2996
3037
  ...d.map((g) => g > a ? `${g}px` : `minmax(${a}px, 1fr)`)
2997
- ].join(" "), N = v * We + (v - 1) * rt + 8;
3038
+ ].join(" "), N = v * Le + (v - 1) * ot + 8;
2998
3039
  return /* @__PURE__ */ o(
2999
3040
  "div",
3000
3041
  {
3001
- className: i(
3042
+ className: s(
3002
3043
  "ic-all-day-row border-b bg-muted/20 relative",
3003
- k
3044
+ C
3004
3045
  ),
3005
3046
  style: {
3006
3047
  display: "grid",
3007
- gridTemplateColumns: p,
3008
- gridTemplateRows: `repeat(${v}, ${We}px)`,
3009
- gap: `${rt}px 0`,
3048
+ gridTemplateColumns: f,
3049
+ gridTemplateRows: `repeat(${v}, ${Le}px)`,
3050
+ gap: `${ot}px 0`,
3010
3051
  paddingTop: 4,
3011
3052
  paddingBottom: 4,
3012
3053
  minHeight: N
@@ -3023,23 +3064,23 @@ function Bn({
3023
3064
  children: /* @__PURE__ */ e("span", { className: "hidden sm:inline", children: "All day" })
3024
3065
  }
3025
3066
  ),
3026
- n.map((g, L) => /* @__PURE__ */ e(
3067
+ n.map((g, W) => /* @__PURE__ */ e(
3027
3068
  "div",
3028
3069
  {
3029
3070
  className: "pointer-events-none border-r last:border-r-0",
3030
3071
  style: {
3031
- gridColumn: L + 2,
3072
+ gridColumn: W + 2,
3032
3073
  gridRow: `1 / span ${v}`
3033
3074
  }
3034
3075
  },
3035
3076
  g.toDateString()
3036
3077
  )),
3037
3078
  l.filter((g) => g.row < Me).map((g) => /* @__PURE__ */ e(
3038
- _n,
3079
+ In,
3039
3080
  {
3040
3081
  pe: g,
3041
- onEventClick: h,
3042
- disablePopover: s,
3082
+ onEventClick: p,
3083
+ disablePopover: i,
3043
3084
  renderPopover: y
3044
3085
  },
3045
3086
  g.event.id
@@ -3063,140 +3104,140 @@ function Bn({
3063
3104
  }
3064
3105
  );
3065
3106
  }
3066
- const he = 96, Ne = 56, at = 72, te = 120, Te = 100, $n = 3;
3067
- function Qn({
3107
+ const he = 96, Ne = 56, st = 72, ne = 120, Te = 100, Hn = 3;
3108
+ function er({
3068
3109
  events: t,
3069
3110
  date: n,
3070
3111
  weekStartsOn: r = 1,
3071
3112
  visibleHours: a = { startHour: 0, endHour: 24 },
3072
3113
  workingHours: d,
3073
- slotDuration: h = 30,
3074
- badgeVariant: s = "colored",
3114
+ slotDuration: p = 30,
3115
+ badgeVariant: i = "colored",
3075
3116
  onEventClick: y,
3076
- onSlotSelect: k,
3117
+ onSlotSelect: C,
3077
3118
  onDayClick: l,
3078
3119
  className: b,
3079
3120
  renderEvent: v,
3080
3121
  renderPopover: u,
3081
3122
  slots: x,
3082
- classNames: p
3123
+ classNames: f
3083
3124
  }) {
3084
- const N = 60 / h, g = 100 / N, L = K(() => {
3125
+ const N = 60 / p, g = 100 / N, W = q(() => {
3085
3126
  const c = [];
3086
3127
  for (let m = 0; m < N; m++)
3087
- c.push(m * h);
3128
+ c.push(m * p);
3088
3129
  return c;
3089
- }, [N, h]), D = K(
3090
- () => zt(n, r),
3130
+ }, [N, p]), S = q(
3131
+ () => At(n, r),
3091
3132
  [n, r]
3092
- ), T = K(
3093
- () => lt(a),
3133
+ ), T = q(
3134
+ () => dt(a),
3094
3135
  [a]
3095
- ), _ = K(() => {
3136
+ ), I = q(() => {
3096
3137
  const c = /* @__PURE__ */ new Map();
3097
- for (const m of D) {
3098
- const S = m.toDateString(), C = Fe(t, m), { singleDay: P, multiDay: O } = it(C), $ = st(
3099
- P,
3138
+ for (const m of S) {
3139
+ const M = m.toDateString(), D = Ve(t, m), { singleDay: H, multiDay: Q } = it(D), z = lt(
3140
+ H,
3100
3141
  m,
3101
3142
  a,
3102
3143
  he
3103
- ), G = /* @__PURE__ */ new Map();
3104
- let oe = 1;
3105
- for (const Z of $)
3106
- if (G.set(Z.event.id, Z.position), Z.position.width > 0) {
3107
- const ee = Math.round(100 / Z.position.width);
3108
- oe = Math.max(oe, ee);
3144
+ ), j = /* @__PURE__ */ new Map();
3145
+ let te = 1;
3146
+ for (const J of z)
3147
+ if (j.set(J.event.id, J.position), J.position.width > 0) {
3148
+ const ee = Math.round(100 / J.position.width);
3149
+ te = Math.max(te, ee);
3109
3150
  }
3110
- c.set(S, {
3111
- singleDay: P,
3112
- multiDay: O,
3113
- positions: G,
3114
- maxOverlapping: oe
3151
+ c.set(M, {
3152
+ singleDay: H,
3153
+ multiDay: Q,
3154
+ positions: j,
3155
+ maxOverlapping: te
3115
3156
  });
3116
3157
  }
3117
3158
  return c;
3118
- }, [D, t, a]), U = K(() => {
3159
+ }, [S, t, a]), G = q(() => {
3119
3160
  const c = /* @__PURE__ */ new Map();
3120
- for (const { multiDay: m } of _.values())
3121
- for (const S of m)
3122
- c.set(S.id, S);
3161
+ for (const { multiDay: m } of I.values())
3162
+ for (const M of m)
3163
+ c.set(M.id, M);
3123
3164
  return Array.from(c.values());
3124
- }, [_]), j = /* @__PURE__ */ new Date(), B = D.findIndex((c) => ce(c)), M = K(() => {
3125
- if (B < 0) return -1;
3126
- const c = j.getHours() + j.getMinutes() / 60;
3165
+ }, [I]), F = /* @__PURE__ */ new Date(), O = S.findIndex((c) => ce(c)), A = q(() => {
3166
+ if (O < 0) return -1;
3167
+ const c = F.getHours() + F.getMinutes() / 60;
3127
3168
  return c < a.startHour || c > a.endHour ? -1 : (c - a.startHour) * he;
3128
- }, [B, a, j]), E = ne(null);
3129
- je(() => {
3169
+ }, [O, a, F]), E = re(null);
3170
+ Fe(() => {
3130
3171
  const c = E.current;
3131
3172
  if (!c) return;
3132
3173
  const m = () => {
3133
- let S;
3134
- if (B !== -1) {
3135
- const P = (/* @__PURE__ */ new Date()).getHours();
3136
- S = Math.max(P - 1, a.startHour);
3174
+ let M;
3175
+ if (O !== -1) {
3176
+ const H = (/* @__PURE__ */ new Date()).getHours();
3177
+ M = Math.max(H - 1, a.startHour);
3137
3178
  } else {
3138
- const O = (/* @__PURE__ */ new Date()).getDay();
3139
- let $ = d?.[O];
3140
- if (!$?.enabled || $.from === 0) {
3141
- const G = d?.[1];
3142
- G?.enabled && ($ = G);
3179
+ const Q = (/* @__PURE__ */ new Date()).getDay();
3180
+ let z = d?.[Q];
3181
+ if (!z?.enabled || z.from === 0) {
3182
+ const j = d?.[1];
3183
+ j?.enabled && (z = j);
3143
3184
  }
3144
- $?.enabled && $.from > 0 ? S = Math.max(
3145
- $.from - 1,
3185
+ z?.enabled && z.from > 0 ? M = Math.max(
3186
+ z.from - 1,
3146
3187
  a.startHour
3147
- ) : S = Math.max(7, a.startHour);
3188
+ ) : M = Math.max(7, a.startHour);
3148
3189
  }
3149
- const C = (S - a.startHour) * he;
3190
+ const D = (M - a.startHour) * he;
3150
3191
  c.scrollTo({
3151
- top: C,
3192
+ top: D,
3152
3193
  behavior: "instant"
3153
3194
  });
3154
3195
  };
3155
3196
  requestAnimationFrame(() => {
3156
3197
  requestAnimationFrame(m);
3157
3198
  });
3158
- }, [n, d, a, B]);
3159
- const I = Ge(), H = W(
3199
+ }, [n, d, a, O]);
3200
+ const $ = Ue(), P = L(
3160
3201
  (c) => {
3161
- I?.startSelection(c);
3202
+ $?.startSelection(c);
3162
3203
  },
3163
- [I]
3164
- ), z = W(
3204
+ [$]
3205
+ ), k = L(
3165
3206
  (c) => {
3166
- I?.updateSelection(c);
3207
+ $?.updateSelection(c);
3167
3208
  },
3168
- [I]
3169
- ), f = W(() => {
3170
- I?.endSelection();
3171
- }, [I]), R = W(
3209
+ [$]
3210
+ ), h = L(() => {
3211
+ $?.endSelection();
3212
+ }, [$]), R = L(
3172
3213
  (c) => {
3173
3214
  y?.(c);
3174
3215
  },
3175
3216
  [y]
3176
- ), A = Ne + 7 * te, F = K(() => {
3217
+ ), _ = Ne + 7 * ne, B = q(() => {
3177
3218
  const c = [];
3178
- for (const m of D) {
3179
- const S = m.toDateString(), P = _.get(S)?.maxOverlapping ?? 1;
3180
- P > $n ? c.push(
3181
- Math.max(te, P * Te)
3182
- ) : c.push(te);
3219
+ for (const m of S) {
3220
+ const M = m.toDateString(), H = I.get(M)?.maxOverlapping ?? 1;
3221
+ H > Hn ? c.push(
3222
+ Math.max(ne, H * Te)
3223
+ ) : c.push(ne);
3183
3224
  }
3184
3225
  return c;
3185
- }, [D, _]), w = Ne + F.reduce((c, m) => c + m, 0);
3186
- return /* @__PURE__ */ o("div", { className: i("ic-week-view flex flex-col h-full", b), children: [
3187
- U.length > 0 && /* @__PURE__ */ e(
3188
- Bn,
3226
+ }, [S, I]), w = Ne + B.reduce((c, m) => c + m, 0);
3227
+ return /* @__PURE__ */ o("div", { className: s("ic-week-view flex flex-col h-full", b), children: [
3228
+ G.length > 0 && /* @__PURE__ */ e(
3229
+ $n,
3189
3230
  {
3190
- events: U,
3191
- weekDays: D,
3231
+ events: G,
3232
+ weekDays: S,
3192
3233
  hourColumnWidth: Ne,
3193
- minDayColumnWidth: te,
3194
- dayColumnWidths: F,
3234
+ minDayColumnWidth: ne,
3235
+ dayColumnWidths: B,
3195
3236
  onEventClick: R,
3196
3237
  disablePopover: !!y && !u,
3197
3238
  renderPopover: u,
3198
- ...p?.multiDayBanner && {
3199
- className: p.multiDayBanner
3239
+ ...f?.multiDayBanner && {
3240
+ className: f.multiDayBanner
3200
3241
  }
3201
3242
  }
3202
3243
  ),
@@ -3204,47 +3245,47 @@ function Qn({
3204
3245
  "div",
3205
3246
  {
3206
3247
  ref: E,
3207
- className: i(
3248
+ className: s(
3208
3249
  "ic-week-scroll-container flex-1",
3209
- p?.scrollContainer
3250
+ f?.scrollContainer
3210
3251
  ),
3211
- children: /* @__PURE__ */ o("div", { style: { minWidth: Math.max(A, w) }, children: [
3252
+ children: /* @__PURE__ */ o("div", { style: { minWidth: Math.max(_, w) }, children: [
3212
3253
  /* @__PURE__ */ e("div", { className: "ic-week-header sticky top-0 z-20 border-b bg-background", children: /* @__PURE__ */ o("div", { className: "flex", children: [
3213
3254
  /* @__PURE__ */ e(
3214
3255
  "div",
3215
3256
  {
3216
3257
  className: "flex-shrink-0 flex items-end justify-center pb-2 text-[10px] text-muted-foreground/70",
3217
- style: { width: Ne, height: at },
3258
+ style: { width: Ne, height: st },
3218
3259
  children: /* @__PURE__ */ o("span", { className: "hidden sm:inline", children: [
3219
3260
  "GMT",
3220
3261
  (() => {
3221
- const c = (/* @__PURE__ */ new Date()).getTimezoneOffset(), m = Math.abs(Math.floor(c / 60)), S = c <= 0 ? "+" : "-";
3222
- return m > 0 ? `${S}${String(m).padStart(2, "0")}` : "";
3262
+ const c = (/* @__PURE__ */ new Date()).getTimezoneOffset(), m = Math.abs(Math.floor(c / 60)), M = c <= 0 ? "+" : "-";
3263
+ return m > 0 ? `${M}${String(m).padStart(2, "0")}` : "";
3223
3264
  })()
3224
3265
  ] })
3225
3266
  }
3226
3267
  ),
3227
- D.map((c, m) => {
3228
- const S = ce(c), C = F[m] ?? te, P = C > te;
3268
+ S.map((c, m) => {
3269
+ const M = ce(c), D = B[m] ?? ne, H = D > ne;
3229
3270
  return /* @__PURE__ */ o(
3230
3271
  "div",
3231
3272
  {
3232
- className: i(
3273
+ className: s(
3233
3274
  "flex-1 flex flex-col items-center justify-center border-r last:border-r-0 py-2",
3234
- p?.columnHeader,
3235
- S && p?.columnHeaderToday
3275
+ f?.columnHeader,
3276
+ M && f?.columnHeaderToday
3236
3277
  ),
3237
3278
  style: {
3238
- height: at,
3239
- minWidth: P ? C : te
3279
+ height: st,
3280
+ minWidth: H ? D : ne
3240
3281
  },
3241
3282
  children: [
3242
3283
  /* @__PURE__ */ e(
3243
3284
  "span",
3244
3285
  {
3245
- className: i(
3286
+ className: s(
3246
3287
  "text-[11px] font-medium uppercase tracking-wide",
3247
- S ? "text-primary" : "text-muted-foreground"
3288
+ M ? "text-primary" : "text-muted-foreground"
3248
3289
  ),
3249
3290
  children: c.toLocaleDateString([], { weekday: "short" })
3250
3291
  }
@@ -3254,10 +3295,10 @@ function Qn({
3254
3295
  {
3255
3296
  type: "button",
3256
3297
  onClick: () => l?.(c),
3257
- className: i(
3298
+ className: s(
3258
3299
  "flex items-center justify-center rounded-full transition-colors mt-0.5",
3259
3300
  "size-10 text-2xl font-normal",
3260
- S ? "bg-primary text-primary-foreground" : "text-foreground hover:bg-muted"
3301
+ M ? "bg-primary text-primary-foreground" : "text-foreground hover:bg-muted"
3261
3302
  ),
3262
3303
  children: c.getDate()
3263
3304
  }
@@ -3272,9 +3313,9 @@ function Qn({
3272
3313
  /* @__PURE__ */ e(
3273
3314
  "div",
3274
3315
  {
3275
- className: i(
3316
+ className: s(
3276
3317
  "ic-hour-column sticky left-0 z-10 bg-zinc-50 border-r",
3277
- p?.timeGutter
3318
+ f?.timeGutter
3278
3319
  ),
3279
3320
  style: { width: Ne },
3280
3321
  children: T.map((c, m) => /* @__PURE__ */ e(
@@ -3285,9 +3326,9 @@ function Qn({
3285
3326
  children: /* @__PURE__ */ e("div", { className: "absolute -top-2.5 right-1 sm:right-2 flex h-5 items-center", children: m !== 0 && /* @__PURE__ */ e(
3286
3327
  "span",
3287
3328
  {
3288
- className: i(
3329
+ className: s(
3289
3330
  "text-[10px] sm:text-xs text-muted-foreground",
3290
- p?.timeGutterLabel
3331
+ f?.timeGutterLabel
3291
3332
  ),
3292
3333
  children: Ae(c)
3293
3334
  }
@@ -3297,36 +3338,36 @@ function Qn({
3297
3338
  ))
3298
3339
  }
3299
3340
  ),
3300
- /* @__PURE__ */ e("div", { className: "ic-week-grid relative flex-1", children: /* @__PURE__ */ e("div", { className: "flex divide-x", children: D.map((c, m) => {
3301
- const S = c.toDateString(), C = _.get(S), P = F[m] ?? te, O = P > te;
3341
+ /* @__PURE__ */ e("div", { className: "ic-week-grid relative flex-1", children: /* @__PURE__ */ e("div", { className: "flex divide-x", children: S.map((c, m) => {
3342
+ const M = c.toDateString(), D = I.get(M), H = B[m] ?? ne, Q = H > ne;
3302
3343
  return /* @__PURE__ */ o(
3303
3344
  "div",
3304
3345
  {
3305
3346
  className: "ic-day-column relative flex-1",
3306
3347
  style: {
3307
- minWidth: O ? P : te
3348
+ minWidth: Q ? H : ne
3308
3349
  },
3309
3350
  children: [
3310
- T.map(($, G) => {
3311
- const Z = !dt(
3351
+ T.map((z, j) => {
3352
+ const J = !ct(
3312
3353
  c,
3313
- $,
3354
+ z,
3314
3355
  d
3315
3356
  );
3316
3357
  return /* @__PURE__ */ o(
3317
3358
  "div",
3318
3359
  {
3319
- className: i(
3360
+ className: s(
3320
3361
  "relative",
3321
- Z && "bg-calendar-disabled-hour",
3322
- ce(c) && !Z && "bg-primary/5",
3323
- p?.timeSlot,
3324
- Z ? p?.timeSlotNonWorking : p?.timeSlotWorking
3362
+ J && "bg-calendar-disabled-hour",
3363
+ ce(c) && !J && "bg-primary/5",
3364
+ f?.timeSlot,
3365
+ J ? f?.timeSlotNonWorking : f?.timeSlotWorking
3325
3366
  ),
3326
3367
  style: { height: he },
3327
3368
  children: [
3328
- G !== 0 && /* @__PURE__ */ e("div", { className: "pointer-events-none absolute inset-x-0 top-0 border-b border-border/50" }),
3329
- L.slice(1).map((ee) => /* @__PURE__ */ e(
3369
+ j !== 0 && /* @__PURE__ */ e("div", { className: "pointer-events-none absolute inset-x-0 top-0 border-b border-border/50" }),
3370
+ W.slice(1).map((ee) => /* @__PURE__ */ e(
3330
3371
  "div",
3331
3372
  {
3332
3373
  className: "pointer-events-none absolute inset-x-0 border-b border-dashed border-border/30",
@@ -3334,85 +3375,85 @@ function Qn({
3334
3375
  },
3335
3376
  ee
3336
3377
  )),
3337
- L.map((ee, xe) => {
3378
+ W.map((ee, xe) => {
3338
3379
  const ye = {
3339
3380
  date: c,
3340
- hour: $,
3381
+ hour: z,
3341
3382
  minute: ee
3342
3383
  };
3343
3384
  return /* @__PURE__ */ e(
3344
- Nt,
3385
+ kt,
3345
3386
  {
3346
3387
  slot: ye,
3347
- onSelectionStart: H,
3348
- onSelectionMove: z,
3349
- onSelectionEnd: f,
3350
- isSelected: I?.isSlotSelected(ye) ?? !1,
3351
- isSelecting: I?.isSelecting ?? !1,
3352
- disabled: Z,
3388
+ onSelectionStart: P,
3389
+ onSelectionMove: k,
3390
+ onSelectionEnd: h,
3391
+ isSelected: $?.isSlotSelected(ye) ?? !1,
3392
+ isSelecting: $?.isSelecting ?? !1,
3393
+ disabled: J,
3353
3394
  className: "absolute inset-x-0",
3354
3395
  style: {
3355
3396
  top: `${xe * g}%`,
3356
3397
  height: `${g}%`
3357
3398
  },
3358
- ariaLabel: `Add event on ${c.toLocaleDateString()} at ${Ae($)}:${String(ee).padStart(2, "0")}`
3399
+ ariaLabel: `Add event on ${c.toLocaleDateString()} at ${Ae(z)}:${String(ee).padStart(2, "0")}`
3359
3400
  },
3360
3401
  ee
3361
3402
  );
3362
3403
  })
3363
3404
  ]
3364
3405
  },
3365
- $
3406
+ z
3366
3407
  );
3367
3408
  }),
3368
- C?.singleDay.map(($) => {
3369
- const G = C.positions.get($.id);
3370
- if (!G) return null;
3371
- const oe = `calc(${G.width}% - 2px)`, Z = `max(${Te}px, ${oe})`;
3409
+ D?.singleDay.map((z) => {
3410
+ const j = D.positions.get(z.id);
3411
+ if (!j) return null;
3412
+ const te = `calc(${j.width}% - 2px)`, J = `max(${Te}px, ${te})`;
3372
3413
  return v ? /* @__PURE__ */ e(
3373
3414
  "div",
3374
3415
  {
3375
3416
  className: "absolute pointer-events-auto p-0.5",
3376
3417
  style: {
3377
- top: `${G.top}px`,
3378
- left: `${G.left}%`,
3379
- width: Z,
3418
+ top: `${j.top}px`,
3419
+ left: `${j.left}%`,
3420
+ width: J,
3380
3421
  minWidth: `${Te}px`
3381
3422
  },
3382
- children: v({ event: $, position: G })
3423
+ children: v({ event: z, position: j })
3383
3424
  },
3384
- $.id
3425
+ z.id
3385
3426
  ) : /* @__PURE__ */ e(
3386
- bt,
3427
+ wt,
3387
3428
  {
3388
- event: $,
3429
+ event: z,
3389
3430
  position: {
3390
- top: G.top,
3391
- left: G.left,
3392
- width: G.width,
3431
+ top: j.top,
3432
+ left: j.left,
3433
+ width: j.width,
3393
3434
  minWidth: Te
3394
3435
  },
3395
3436
  hourHeight: he,
3396
- badgeVariant: s,
3437
+ badgeVariant: i,
3397
3438
  onClick: y,
3398
3439
  disablePopover: !!y && !u,
3399
3440
  renderPopover: u,
3400
- className: i(
3441
+ className: s(
3401
3442
  "pointer-events-auto",
3402
- p?.eventCard
3443
+ f?.eventCard
3403
3444
  )
3404
3445
  },
3405
- $.id
3446
+ z.id
3406
3447
  );
3407
3448
  }),
3408
- m === B && M >= 0 && /* @__PURE__ */ o(
3449
+ m === O && A >= 0 && /* @__PURE__ */ o(
3409
3450
  "div",
3410
3451
  {
3411
- className: i(
3452
+ className: s(
3412
3453
  "absolute left-0 right-0 z-20 flex items-center pointer-events-none",
3413
- p?.currentTimeIndicator
3454
+ f?.currentTimeIndicator
3414
3455
  ),
3415
- style: { top: M },
3456
+ style: { top: A },
3416
3457
  children: [
3417
3458
  /* @__PURE__ */ e("div", { className: "h-2 w-2 -ml-1 rounded-full bg-red-500" }),
3418
3459
  /* @__PURE__ */ e("div", { className: "flex-1 h-0.5 bg-red-500" })
@@ -3431,49 +3472,49 @@ function Qn({
3431
3472
  ] });
3432
3473
  }
3433
3474
  export {
3434
- Yn as A,
3475
+ Jn as A,
3435
3476
  pe as B,
3436
- Xn as C,
3437
- fn as D,
3438
- bt as E,
3439
- ie as F,
3440
- nn as G,
3477
+ Yn as C,
3478
+ gn as D,
3479
+ wt as E,
3480
+ se as F,
3481
+ rn as G,
3441
3482
  de as H,
3442
- Ze as I,
3443
- Qe as J,
3444
- He as K,
3445
- Oe as L,
3446
- Zn as M,
3447
- un as N,
3483
+ Qe as I,
3484
+ et as J,
3485
+ Oe as K,
3486
+ Pe as L,
3487
+ Qn as M,
3488
+ mn as N,
3448
3489
  ue as P,
3449
- Kt as S,
3450
- Nt as T,
3451
- Qn as W,
3452
- Sn as a,
3453
- En as b,
3454
- Jn as c,
3455
- jt as d,
3456
- Vn as e,
3457
- pt as f,
3458
- qt as g,
3459
- Gt as h,
3460
- Ut as i,
3461
- Ft as j,
3490
+ Xt as S,
3491
+ kt as T,
3492
+ er as W,
3493
+ Mn as a,
3494
+ Ln as b,
3495
+ Zn as c,
3496
+ Ft as d,
3497
+ Gn as e,
3498
+ ft as f,
3499
+ Kt as g,
3500
+ Ut as h,
3501
+ qt as i,
3502
+ Vt as j,
3462
3503
  Ee as k,
3463
- zn as l,
3464
- Kn as m,
3465
- Gn as n,
3504
+ An as l,
3505
+ Xn as m,
3506
+ Un as n,
3466
3507
  le as o,
3467
3508
  me as p,
3468
- Un as q,
3469
- gt as r,
3470
- Qt as s,
3471
- Jt as t,
3472
- Zt as u,
3473
- Xt as v,
3474
- xn as w,
3509
+ qn as q,
3510
+ xt as r,
3511
+ en as s,
3512
+ Zt as t,
3513
+ Qt as u,
3514
+ Yt as v,
3515
+ yn as w,
3475
3516
  ae as x,
3476
- re as y,
3477
- qn as z
3517
+ oe as y,
3518
+ Kn as z
3478
3519
  };
3479
- //# sourceMappingURL=week-view-C1FxF_nk.js.map
3520
+ //# sourceMappingURL=week-view-DY167Wok.js.map