@reservi/preact 2.0.0-beta.0 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,18 +1,58 @@
1
- import { render as X, h as st } from "preact";
2
- import { getLocaleText as E, dl as l, timeStringToMinutes as z, computeDrop as A, pxToSnappedMinutes as lt, computeResize as ct, themeToStyle as vt, CalendarApi as ut, eventsToICS as mt } from "@reservi/core";
3
- import { dayGridPlugin as Kt, definePlugin as Wt, defineTheme as Xt, eventsToICS as zt, listPlugin as qt, multiMonthPlugin as Jt, parseICS as Qt, resourcePlugin as Zt, themeToStyle as te, timeGridPlugin as ee, timelinePlugin as re } from "@reservi/core";
4
- import { jsxs as v, jsx as n, Fragment as ht } from "preact/jsx-runtime";
1
+ import { render as At, h as Ce } from "preact";
2
+ import { getLocaleText as V, dl as m, timeStringToMinutes as X, computeDrop as ht, pxToSnappedMinutes as It, computeResize as $t, THEME_TOKEN_VARS as xe, themeToStyle as Pe, CalendarApi as Ae, eventsToICS as Ie } from "@reservi/core";
3
+ import { dayGridPlugin as Sn, definePlugin as On, defineTheme as Tn, eventsToICS as En, listPlugin as Mn, multiMonthPlugin as kn, parseICS as Cn, resourcePlugin as xn, themeToStyle as Pn, timeGridPlugin as An, timelinePlugin as In } from "@reservi/core";
4
+ import { jsx as u, jsxs as k, Fragment as $e } from "preact/jsx-runtime";
5
5
  import "@preact/signals";
6
- import { useRef as F, useState as R, useEffect as q } from "preact/hooks";
7
- function x(a, t, r) {
8
- return a ? a(t) : r;
6
+ import { useRef as F, useLayoutEffect as jt, useState as K, useEffect as R } from "preact/hooks";
7
+ function pn(t) {
8
+ return { __rsvHost: !0, node: t };
9
9
  }
10
- function $(...a) {
11
- return a.filter(Boolean).join(" ");
10
+ function je(t) {
11
+ return typeof t == "object" && t !== null && t.__rsvHost === !0;
12
12
  }
13
- const I = { prev: "‹", next: "›" }, gt = /* @__PURE__ */ new Set(["", "title", "today", "prev", "next"]), yt = /month|year/i, L = (a) => String(a).padStart(2, "0");
14
- function ft() {
15
- return /* @__PURE__ */ v(
13
+ function L(t, e, r, n) {
14
+ if (!t) return r;
15
+ const a = t(e);
16
+ return a === void 0 ? r : je(a) ? n ? /* @__PURE__ */ u(Re, { bridge: n, node: a.node }) : r : a;
17
+ }
18
+ let Fe = 0;
19
+ function Re({ bridge: t, node: e }) {
20
+ const r = F("");
21
+ r.current || (r.current = `rsv-host-${++Fe}`);
22
+ const n = F(null), a = F(e);
23
+ a.current = e;
24
+ const o = F(!1);
25
+ return jt(() => {
26
+ const s = n.current;
27
+ if (!s) return;
28
+ const i = r.current;
29
+ return o.current = !0, t.mount(i, s, a.current), () => {
30
+ o.current = !1, t.unmount(i);
31
+ };
32
+ }, []), jt(() => {
33
+ o.current && t.update(r.current, e);
34
+ }), /* @__PURE__ */ u("div", { "data-rsv": "host", ref: n });
35
+ }
36
+ function N(...t) {
37
+ return t.filter(Boolean).join(" ");
38
+ }
39
+ const Ft = /* @__PURE__ */ new WeakSet();
40
+ function W(t, e, r) {
41
+ if (!t || !e) return;
42
+ const n = t;
43
+ Ft.has(n) || (Ft.add(n), e(Object.assign(r(), { el: n })));
44
+ }
45
+ function He(t, e) {
46
+ if (!t.length) return null;
47
+ const r = [...t].sort((a, o) => a.breakpoint - o.breakpoint);
48
+ let n = r[0].view;
49
+ for (const a of r)
50
+ e >= a.breakpoint && (n = a.view);
51
+ return n;
52
+ }
53
+ const rt = { prev: "‹", next: "›" }, Le = /* @__PURE__ */ new Set(["", "title", "today", "prev", "next"]), Ne = /month|year/i, nt = (t) => String(t).padStart(2, "0");
54
+ function Be() {
55
+ return /* @__PURE__ */ k(
16
56
  "svg",
17
57
  {
18
58
  "data-rsv": "title-icon",
@@ -26,158 +66,158 @@ function ft() {
26
66
  "stroke-linejoin": "round",
27
67
  "aria-hidden": "true",
28
68
  children: [
29
- /* @__PURE__ */ n("rect", { x: "1", y: "2.5", width: "12", height: "10.5", rx: "1.5" }),
30
- /* @__PURE__ */ n("line", { x1: "1", y1: "5.5", x2: "13", y2: "5.5" }),
31
- /* @__PURE__ */ n("line", { x1: "4.5", y1: "1", x2: "4.5", y2: "3.5" }),
32
- /* @__PURE__ */ n("line", { x1: "9.5", y1: "1", x2: "9.5", y2: "3.5" })
69
+ /* @__PURE__ */ u("rect", { x: "1", y: "2.5", width: "12", height: "10.5", rx: "1.5" }),
70
+ /* @__PURE__ */ u("line", { x1: "1", y1: "5.5", x2: "13", y2: "5.5" }),
71
+ /* @__PURE__ */ u("line", { x1: "4.5", y1: "1", x2: "4.5", y2: "3.5" }),
72
+ /* @__PURE__ */ u("line", { x1: "9.5", y1: "1", x2: "9.5", y2: "3.5" })
33
73
  ]
34
74
  }
35
75
  );
36
76
  }
37
- function pt(a) {
77
+ function Ke(t) {
38
78
  var r;
39
- if ((r = a.views) != null && r.length) return a.views;
40
- const t = a.headerToolbar;
41
- return t ? [t.start, t.center, t.end].filter((e) => !!e).flatMap((e) => e.split(/\s+/)).flatMap((e) => e.split(",")).filter((e) => !gt.has(e)) : [];
79
+ if ((r = t.views) != null && r.length) return t.views;
80
+ const e = t.headerToolbar;
81
+ return e ? [e.start, e.center, e.end].filter((n) => !!n).flatMap((n) => n.split(/\s+/)).flatMap((n) => n.split(",")).filter((n) => !Le.has(n)) : [];
42
82
  }
43
- function bt({ api: a, title: t, activeView: r, options: e }) {
44
- var T, _, P, j, U;
45
- const o = E(e.locale), i = (_ = (T = e.slots) == null ? void 0 : T.toolbarStart) == null ? void 0 : _.call(T), u = (j = (P = e.slots) == null ? void 0 : P.toolbarEnd) == null ? void 0 : j.call(P), d = pt(e), s = yt.test(r), c = e.firstDay ?? o.firstDay, h = F(null), [g, f] = R(!1), p = l.toDate(a.getDate()), y = l.toDate(e.now ? l.from(e.now) : l.now()), [w, D] = R(p.getFullYear()), [k, S] = R(p.getMonth()), M = new Intl.DateTimeFormat(e.locale, { month: "short" }), at = new Intl.DateTimeFormat(e.locale, { month: "long" }), nt = new Intl.DateTimeFormat(e.locale, { weekday: "short" }), ot = Array.from(
83
+ function Ve({ api: t, title: e, activeView: r, options: n }) {
84
+ var I, $, j, U, _;
85
+ const a = V(n.locale), o = ($ = (I = n.slots) == null ? void 0 : I.toolbarStart) == null ? void 0 : $.call(I), s = (U = (j = n.slots) == null ? void 0 : j.toolbarEnd) == null ? void 0 : U.call(j), i = Ke(n), d = Ne.test(r), l = n.firstDay ?? a.firstDay, c = F(null), [p, D] = K(!1), v = m.toDate(t.getDate()), g = m.toDate(n.now ? m.from(n.now) : m.now()), [h, b] = K(v.getFullYear()), [w, S] = K(v.getMonth()), M = new Intl.DateTimeFormat(n.locale, { month: "short" }), x = new Intl.DateTimeFormat(n.locale, { month: "long" }), y = new Intl.DateTimeFormat(n.locale, { weekday: "short" }), f = Array.from(
46
86
  { length: 12 },
47
- (m, b) => M.format(new Date(2020, b, 1))
48
- ), N = () => {
49
- const m = l.toDate(a.getDate());
50
- D(m.getFullYear()), S(m.getMonth()), f(!0);
51
- }, H = (m) => {
52
- const b = w * 12 + k + m;
53
- D(Math.floor(b / 12)), S((b % 12 + 12) % 12);
54
- }, V = (m) => {
55
- a.gotoDate(m), f(!1);
56
- };
57
- q(() => {
58
- const m = (C) => {
59
- (C.ctrlKey || C.metaKey) && (C.key === "m" || C.key === "M") ? (C.preventDefault(), N()) : C.key === "Escape" && f(!1);
60
- }, b = (C) => {
61
- h.current && !h.current.contains(C.target) && f(!1);
87
+ (O, A) => M.format(new Date(2020, A, 1))
88
+ ), T = () => {
89
+ const O = m.toDate(t.getDate());
90
+ b(O.getFullYear()), S(O.getMonth()), D(!0);
91
+ }, C = (O) => {
92
+ const A = h * 12 + w + O;
93
+ b(Math.floor(A / 12)), S((A % 12 + 12) % 12);
94
+ }, E = (O) => {
95
+ t.gotoDate(O), D(!1);
96
+ };
97
+ R(() => {
98
+ const O = (H) => {
99
+ (H.ctrlKey || H.metaKey) && (H.key === "m" || H.key === "M") ? (H.preventDefault(), T()) : H.key === "Escape" && D(!1);
100
+ }, A = (H) => {
101
+ c.current && !c.current.contains(H.target) && D(!1);
62
102
  };
63
- return document.addEventListener("keydown", m), document.addEventListener("mousedown", b), () => {
64
- document.removeEventListener("keydown", m), document.removeEventListener("mousedown", b);
103
+ return document.addEventListener("keydown", O), document.addEventListener("mousedown", A), () => {
104
+ document.removeEventListener("keydown", O), document.removeEventListener("mousedown", A);
65
105
  };
66
106
  }, []);
67
- const B = (() => {
68
- if (s) return { cells: [], dows: [] };
69
- const m = l.from(`${w}-${L(k + 1)}-01`), b = (l.dayOfWeek(m) - c + 7) % 7, C = l.subtract(m, { days: b }), K = Array.from({ length: 42 }, (W, it) => l.toDate(l.add(C, { days: it }))), dt = K.slice(0, 7).map((W) => nt.format(W));
70
- return { cells: K, dows: dt };
107
+ const P = (() => {
108
+ if (d) return { cells: [], dows: [] };
109
+ const O = m.from(`${h}-${nt(w + 1)}-01`), A = (m.dayOfWeek(O) - l + 7) % 7, H = m.subtract(O, { days: A }), xt = Array.from({ length: 42 }, (Pt, ke) => m.toDate(m.add(H, { days: ke }))), Me = xt.slice(0, 7).map((Pt) => y.format(Pt));
110
+ return { cells: xt, dows: Me };
71
111
  })();
72
- return /* @__PURE__ */ v("div", { "data-rsv": "toolbar-wrap", class: $((U = e.classNames) == null ? void 0 : U.toolbar), ref: h, children: [
73
- /* @__PURE__ */ v("div", { "data-rsv": "toolbar", children: [
74
- /* @__PURE__ */ n("div", { "data-rsv": "toolbar-section", "data-rsv-area": "start", children: i }),
75
- /* @__PURE__ */ v("div", { "data-rsv": "toolbar-section", "data-rsv-area": "nav", children: [
76
- /* @__PURE__ */ n(
112
+ return /* @__PURE__ */ k("div", { "data-rsv": "toolbar-wrap", class: N((_ = n.classNames) == null ? void 0 : _.toolbar), ref: c, children: [
113
+ /* @__PURE__ */ k("div", { "data-rsv": "toolbar", children: [
114
+ /* @__PURE__ */ u("div", { "data-rsv": "toolbar-section", "data-rsv-area": "start", children: o }),
115
+ /* @__PURE__ */ k("div", { "data-rsv": "toolbar-section", "data-rsv-area": "nav", children: [
116
+ /* @__PURE__ */ u(
77
117
  "button",
78
118
  {
79
119
  type: "button",
80
120
  "data-rsv": "button",
81
- title: o.today,
82
- "aria-label": o.today,
83
- onClick: () => a.today(),
84
- children: o.today
121
+ title: a.todayHint,
122
+ "aria-label": a.todayHint,
123
+ onClick: () => t.today(),
124
+ children: a.today
85
125
  }
86
126
  ),
87
- /* @__PURE__ */ n(
127
+ /* @__PURE__ */ u(
88
128
  "button",
89
129
  {
90
130
  type: "button",
91
131
  "data-rsv": "button",
92
132
  "data-rsv-nav": "prev",
93
- title: o.prev,
94
- "aria-label": o.prev,
95
- onClick: () => a.prev(),
96
- children: I.prev
133
+ title: a.prevHint,
134
+ "aria-label": a.prevHint,
135
+ onClick: () => t.prev(),
136
+ children: rt.prev
97
137
  }
98
138
  ),
99
- /* @__PURE__ */ v("div", { "data-rsv": "datepicker-anchor", children: [
100
- /* @__PURE__ */ v(
139
+ /* @__PURE__ */ k("div", { "data-rsv": "datepicker-anchor", children: [
140
+ /* @__PURE__ */ k(
101
141
  "button",
102
142
  {
103
143
  type: "button",
104
144
  "data-rsv": "title",
105
145
  "aria-haspopup": "dialog",
106
- "aria-expanded": g,
107
- title: `${t} · Ctrl+M`,
108
- onClick: () => g ? f(!1) : N(),
146
+ "aria-expanded": p,
147
+ title: `${e} · Ctrl+M`,
148
+ onClick: () => p ? D(!1) : T(),
109
149
  children: [
110
- /* @__PURE__ */ n(ft, {}),
111
- t
150
+ /* @__PURE__ */ u(Be, {}),
151
+ e
112
152
  ]
113
153
  }
114
154
  ),
115
- g && /* @__PURE__ */ v(
155
+ p && /* @__PURE__ */ k(
116
156
  "div",
117
157
  {
118
158
  "data-rsv": "datepicker",
119
- "data-rsv-mode": s ? "month" : "day",
159
+ "data-rsv-mode": d ? "month" : "day",
120
160
  role: "dialog",
121
- "aria-label": t,
161
+ "aria-label": e,
122
162
  children: [
123
- /* @__PURE__ */ v("div", { "data-rsv": "dp-head", children: [
124
- /* @__PURE__ */ n(
163
+ /* @__PURE__ */ k("div", { "data-rsv": "dp-head", children: [
164
+ /* @__PURE__ */ u(
125
165
  "button",
126
166
  {
127
167
  type: "button",
128
168
  "data-rsv": "dp-nav",
129
- "aria-label": o.prev,
130
- onClick: () => s ? D((m) => m - 1) : H(-1),
131
- children: I.prev
169
+ "aria-label": a.prev,
170
+ onClick: () => d ? b((O) => O - 1) : C(-1),
171
+ children: rt.prev
132
172
  }
133
173
  ),
134
- /* @__PURE__ */ n("span", { "data-rsv": "dp-label", children: s ? w : `${at.format(new Date(w, k, 1))} ${w}` }),
135
- /* @__PURE__ */ n(
174
+ /* @__PURE__ */ u("span", { "data-rsv": "dp-label", children: d ? h : `${x.format(new Date(h, w, 1))} ${h}` }),
175
+ /* @__PURE__ */ u(
136
176
  "button",
137
177
  {
138
178
  type: "button",
139
179
  "data-rsv": "dp-nav",
140
- "aria-label": o.next,
141
- onClick: () => s ? D((m) => m + 1) : H(1),
142
- children: I.next
180
+ "aria-label": a.next,
181
+ onClick: () => d ? b((O) => O + 1) : C(1),
182
+ children: rt.next
143
183
  }
144
184
  )
145
185
  ] }),
146
- s ? /* @__PURE__ */ n("div", { "data-rsv": "dp-grid", children: ot.map((m, b) => /* @__PURE__ */ n(
186
+ d ? /* @__PURE__ */ u("div", { "data-rsv": "dp-grid", children: f.map((O, A) => /* @__PURE__ */ u(
147
187
  "button",
148
188
  {
149
189
  type: "button",
150
190
  "data-rsv": "dp-month",
151
191
  "data-active": String(
152
- w === p.getFullYear() && b === p.getMonth()
192
+ h === v.getFullYear() && A === v.getMonth()
153
193
  ),
154
194
  "data-today": String(
155
- w === y.getFullYear() && b === y.getMonth()
195
+ h === g.getFullYear() && A === g.getMonth()
156
196
  ),
157
- onClick: () => V(`${w}-${L(b + 1)}-01`),
158
- children: m
197
+ onClick: () => E(`${h}-${nt(A + 1)}-01`),
198
+ children: O
159
199
  },
160
- m
161
- )) }) : /* @__PURE__ */ v("div", { "data-rsv": "dp-days", children: [
162
- B.dows.map((m, b) => /* @__PURE__ */ n("div", { "data-rsv": "dp-dow", children: m }, `dow-${b}`)),
163
- B.cells.map((m) => {
164
- const b = `${m.getFullYear()}-${L(m.getMonth() + 1)}-${L(m.getDate())}`;
165
- return /* @__PURE__ */ n(
200
+ O
201
+ )) }) : /* @__PURE__ */ k("div", { "data-rsv": "dp-days", children: [
202
+ P.dows.map((O, A) => /* @__PURE__ */ u("div", { "data-rsv": "dp-dow", children: O }, `dow-${A}`)),
203
+ P.cells.map((O) => {
204
+ const A = `${O.getFullYear()}-${nt(O.getMonth() + 1)}-${nt(O.getDate())}`;
205
+ return /* @__PURE__ */ u(
166
206
  "button",
167
207
  {
168
208
  type: "button",
169
209
  "data-rsv": "dp-day",
170
- "data-other": String(m.getMonth() !== k),
210
+ "data-other": String(O.getMonth() !== w),
171
211
  "data-active": String(
172
- m.getFullYear() === p.getFullYear() && m.getMonth() === p.getMonth() && m.getDate() === p.getDate()
212
+ O.getFullYear() === v.getFullYear() && O.getMonth() === v.getMonth() && O.getDate() === v.getDate()
173
213
  ),
174
214
  "data-today": String(
175
- m.getFullYear() === y.getFullYear() && m.getMonth() === y.getMonth() && m.getDate() === y.getDate()
215
+ O.getFullYear() === g.getFullYear() && O.getMonth() === g.getMonth() && O.getDate() === g.getDate()
176
216
  ),
177
- onClick: () => V(b),
178
- children: m.getDate()
217
+ onClick: () => E(A),
218
+ children: O.getDate()
179
219
  },
180
- b
220
+ A
181
221
  );
182
222
  })
183
223
  ] })
@@ -185,233 +225,1949 @@ function bt({ api: a, title: t, activeView: r, options: e }) {
185
225
  }
186
226
  )
187
227
  ] }),
188
- /* @__PURE__ */ n(
228
+ /* @__PURE__ */ u(
189
229
  "button",
190
230
  {
191
231
  type: "button",
192
232
  "data-rsv": "button",
193
233
  "data-rsv-nav": "next",
194
- title: o.next,
195
- "aria-label": o.next,
196
- onClick: () => a.next(),
197
- children: I.next
234
+ title: a.nextHint,
235
+ "aria-label": a.nextHint,
236
+ onClick: () => t.next(),
237
+ children: rt.next
198
238
  }
199
239
  )
200
240
  ] }),
201
- /* @__PURE__ */ v("div", { "data-rsv": "toolbar-section", "data-rsv-area": "end", children: [
202
- u,
203
- e.onAddClick && /* @__PURE__ */ v(
241
+ /* @__PURE__ */ k("div", { "data-rsv": "toolbar-section", "data-rsv-area": "end", children: [
242
+ s,
243
+ n.onAddClick && /* @__PURE__ */ k(
204
244
  "button",
205
245
  {
206
246
  type: "button",
207
247
  "data-rsv": "button",
208
248
  "data-rsv-variant": "primary",
209
- onClick: e.onAddClick,
249
+ onClick: n.onAddClick,
210
250
  children: [
211
- /* @__PURE__ */ n("span", { "data-rsv": "add-icon", "aria-hidden": "true", children: "+" }),
212
- e.addButtonText
251
+ /* @__PURE__ */ u("span", { "data-rsv": "add-icon", "aria-hidden": "true", children: "+" }),
252
+ n.addButtonText
213
253
  ]
214
254
  }
215
255
  )
216
256
  ] })
217
257
  ] }),
218
- d.length > 0 && /* @__PURE__ */ n("div", { "data-rsv": "toolbar-views", role: "tablist", children: d.map((m) => /* @__PURE__ */ n(
258
+ i.length > 0 && /* @__PURE__ */ u("div", { "data-rsv": "toolbar-views", role: "tablist", children: i.map((O) => /* @__PURE__ */ u(
219
259
  "button",
220
260
  {
221
261
  type: "button",
222
262
  "data-rsv": "view-tab",
223
263
  role: "tab",
224
- "aria-selected": m === r,
225
- "data-active": String(m === r),
226
- onClick: () => a.changeView(m),
227
- children: o.views[m] ?? m
264
+ "aria-selected": O === r,
265
+ "data-active": String(O === r),
266
+ title: a.viewHint(a.views[O] ?? O),
267
+ onClick: () => t.changeView(O),
268
+ children: a.views[O] ?? O
228
269
  },
229
- m
270
+ O
230
271
  )) })
231
272
  ] });
232
273
  }
233
- function J(a, t) {
234
- a.trigger("navLinkDay", { date: t });
235
- const r = a.hasView("timeGridDay") ? "timeGridDay" : a.hasView("dayGridDay") ? "dayGridDay" : null;
236
- r && (a.gotoDate(l.toISOString(t)), a.changeView(r));
237
- }
238
- const O = 1440;
239
- function Q(a, t) {
240
- const { api: r, event: e, kind: o } = t, i = z(t.snap ?? "00:30");
241
- let u = 0;
242
- switch (a.key) {
243
- case "ArrowLeft":
244
- u = -O;
274
+ function dt(t) {
275
+ return t < 10 ? `0${t}` : String(t);
276
+ }
277
+ function Ye(t) {
278
+ const e = (Math.round(t) % 1440 + 1440) % 1440;
279
+ return `${dt(Math.floor(e / 60))}:${dt(e % 60)}`;
280
+ }
281
+ function We(t) {
282
+ const e = Math.max(0, Math.round(t));
283
+ return `${dt(Math.floor(e / 60))}:${dt(e % 60)}:00`;
284
+ }
285
+ function ct(t, e) {
286
+ if (!e) return null;
287
+ const r = new Intl.DateTimeFormat(t, e);
288
+ return (n) => r.format(n);
289
+ }
290
+ function st(t, e, r) {
291
+ if (e === !1) return null;
292
+ const n = new Intl.DateTimeFormat(t, e ?? r);
293
+ return (a) => n.format(a);
294
+ }
295
+ function ee(t, e) {
296
+ t.trigger("navLinkDay", { date: e });
297
+ const r = t.hasView("timeGridDay") ? "timeGridDay" : t.hasView("dayGridDay") ? "dayGridDay" : null;
298
+ r && (t.gotoDate(m.toISOString(e)), t.changeView(r));
299
+ }
300
+ const at = 1440, Ge = {
301
+ moveLeft: ["ArrowLeft"],
302
+ moveRight: ["ArrowRight"],
303
+ moveUp: ["ArrowUp"],
304
+ moveDown: ["ArrowDown"],
305
+ activate: ["Enter", " "]
306
+ };
307
+ function Ue(t, e) {
308
+ const r = Object.entries(Ge);
309
+ for (const [n, a] of r)
310
+ if (((e == null ? void 0 : e[n]) ?? a).includes(t)) return n;
311
+ return null;
312
+ }
313
+ function re(t, e) {
314
+ const { api: r, event: n, kind: a } = e, o = X(e.snap ?? "00:30"), s = Ue(t.key, e.shortcuts);
315
+ if (!s) return;
316
+ if (s === "activate") {
317
+ t.preventDefault(), r.trigger("eventClick", { event: n });
318
+ return;
319
+ }
320
+ let i = 0;
321
+ switch (s) {
322
+ case "moveLeft":
323
+ i = -at;
245
324
  break;
246
- case "ArrowRight":
247
- u = O;
325
+ case "moveRight":
326
+ i = at;
248
327
  break;
249
- case "ArrowUp":
250
- u = o === "timeGrid" ? -i : -O * 7;
328
+ case "moveUp":
329
+ i = a === "timeGrid" ? -o : -at * 7;
251
330
  break;
252
- case "ArrowDown":
253
- u = o === "timeGrid" ? i : O * 7;
331
+ case "moveDown":
332
+ i = a === "timeGrid" ? o : at * 7;
254
333
  break;
255
- case "Enter":
256
- case " ":
257
- a.preventDefault(), r.trigger("eventClick", { event: e });
258
- return;
259
- default:
334
+ }
335
+ t.preventDefault();
336
+ const d = ht(n.start, n.end, i, m);
337
+ if (r.moveEvent(n.id, d.start, d.end)) {
338
+ const l = r.getEventById(n.id);
339
+ l && r.trigger("eventDrop", { event: l });
340
+ }
341
+ }
342
+ function ze(t, e) {
343
+ var n;
344
+ const r = document.elementFromPoint(t, e);
345
+ return ((n = r == null ? void 0 : r.closest('[data-rsv="day"]')) == null ? void 0 : n.dataset.date) ?? null;
346
+ }
347
+ function Xe(t, e) {
348
+ if (t.target.closest('[data-rsv="event"], [data-rsv="more-anchor"], [data-nav-link="true"]'))
349
+ return;
350
+ const { api: n } = e;
351
+ let a = e.startDate, o = !1;
352
+ const s = (d) => {
353
+ const l = ze(d.clientX, d.clientY);
354
+ l && l !== e.startDate && (o = !0), l && (a = l);
355
+ }, i = () => {
356
+ var D;
357
+ if (document.removeEventListener("pointermove", s), document.removeEventListener("pointerup", i), !o) return;
358
+ (D = e.onRangeSelect) == null || D.call(e);
359
+ const d = m.from(e.startDate), l = m.from(a), [c, p] = m.isBefore(d, l) ? [d, l] : [l, d];
360
+ n.select(m.toISOString(c), m.toISOString(m.add(p, { days: 1 })));
361
+ };
362
+ document.addEventListener("pointermove", s), document.addEventListener("pointerup", i);
363
+ }
364
+ function qe(t) {
365
+ if (Array.isArray(t)) return t;
366
+ }
367
+ function _e(t, e) {
368
+ var r = t == null ? null : typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
369
+ if (r != null) {
370
+ var n, a, o, s, i = [], d = !0, l = !1;
371
+ try {
372
+ if (o = (r = r.call(t)).next, e !== 0) for (; !(d = (n = o.call(r)).done) && (i.push(n.value), i.length !== e); d = !0) ;
373
+ } catch (c) {
374
+ l = !0, a = c;
375
+ } finally {
376
+ try {
377
+ if (!d && r.return != null && (s = r.return(), Object(s) !== s)) return;
378
+ } finally {
379
+ if (l) throw a;
380
+ }
381
+ }
382
+ return i;
383
+ }
384
+ }
385
+ function bt(t, e) {
386
+ (e == null || e > t.length) && (e = t.length);
387
+ for (var r = 0, n = Array(e); r < e; r++) n[r] = t[r];
388
+ return n;
389
+ }
390
+ function ne(t, e) {
391
+ if (t) {
392
+ if (typeof t == "string") return bt(t, e);
393
+ var r = {}.toString.call(t).slice(8, -1);
394
+ return r === "Object" && t.constructor && (r = t.constructor.name), r === "Map" || r === "Set" ? Array.from(t) : r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? bt(t, e) : void 0;
395
+ }
396
+ }
397
+ function Ze() {
398
+ throw new TypeError(`Invalid attempt to destructure non-iterable instance.
399
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
400
+ }
401
+ function ae(t, e) {
402
+ return qe(t) || _e(t, e) || ne(t, e) || Ze();
403
+ }
404
+ var ft = {}, Z = {}, Rt;
405
+ function oe() {
406
+ if (Rt) return Z;
407
+ Rt = 1, Object.defineProperty(Z, "__esModule", { value: !0 }), Z.bind = void 0;
408
+ function t(e, r) {
409
+ var n = r.type, a = r.listener, o = r.options;
410
+ return e.addEventListener(n, a, o), function() {
411
+ e.removeEventListener(n, a, o);
412
+ };
413
+ }
414
+ return Z.bind = t, Z;
415
+ }
416
+ var Y = {}, Ht;
417
+ function Je() {
418
+ if (Ht) return Y;
419
+ Ht = 1;
420
+ var t = Y && Y.__assign || function() {
421
+ return t = Object.assign || function(o) {
422
+ for (var s, i = 1, d = arguments.length; i < d; i++) {
423
+ s = arguments[i];
424
+ for (var l in s) Object.prototype.hasOwnProperty.call(s, l) && (o[l] = s[l]);
425
+ }
426
+ return o;
427
+ }, t.apply(this, arguments);
428
+ };
429
+ Object.defineProperty(Y, "__esModule", { value: !0 }), Y.bindAll = void 0;
430
+ var e = /* @__PURE__ */ oe();
431
+ function r(o) {
432
+ if (!(typeof o > "u"))
433
+ return typeof o == "boolean" ? {
434
+ capture: o
435
+ } : o;
436
+ }
437
+ function n(o, s) {
438
+ if (s == null)
439
+ return o;
440
+ var i = t(t({}, o), { options: t(t({}, r(s)), r(o.options)) });
441
+ return i;
442
+ }
443
+ function a(o, s, i) {
444
+ var d = s.map(function(l) {
445
+ var c = n(l, i);
446
+ return (0, e.bind)(o, c);
447
+ });
448
+ return function() {
449
+ d.forEach(function(c) {
450
+ return c();
451
+ });
452
+ };
453
+ }
454
+ return Y.bindAll = a, Y;
455
+ }
456
+ var Lt;
457
+ function Qe() {
458
+ return Lt || (Lt = 1, (function(t) {
459
+ Object.defineProperty(t, "__esModule", { value: !0 }), t.bindAll = t.bind = void 0;
460
+ var e = /* @__PURE__ */ oe();
461
+ Object.defineProperty(t, "bind", { enumerable: !0, get: function() {
462
+ return e.bind;
463
+ } });
464
+ var r = /* @__PURE__ */ Je();
465
+ Object.defineProperty(t, "bindAll", { enumerable: !0, get: function() {
466
+ return r.bindAll;
467
+ } });
468
+ })(ft)), ft;
469
+ }
470
+ var q = /* @__PURE__ */ Qe(), ie = "data-pdnd-honey-pot";
471
+ function de(t) {
472
+ return t instanceof Element && t.hasAttribute(ie);
473
+ }
474
+ function se(t) {
475
+ var e = document.elementsFromPoint(t.x, t.y), r = ae(e, 2), n = r[0], a = r[1];
476
+ return n ? de(n) ? a ?? null : n : null;
477
+ }
478
+ function Q(t) {
479
+ "@babel/helpers - typeof";
480
+ return Q = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
481
+ return typeof e;
482
+ } : function(e) {
483
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
484
+ }, Q(t);
485
+ }
486
+ function tr(t, e) {
487
+ if (Q(t) != "object" || !t) return t;
488
+ var r = t[Symbol.toPrimitive];
489
+ if (r !== void 0) {
490
+ var n = r.call(t, e);
491
+ if (Q(n) != "object") return n;
492
+ throw new TypeError("@@toPrimitive must return a primitive value.");
493
+ }
494
+ return (e === "string" ? String : Number)(t);
495
+ }
496
+ function er(t) {
497
+ var e = tr(t, "string");
498
+ return Q(e) == "symbol" ? e : e + "";
499
+ }
500
+ function ut(t, e, r) {
501
+ return (e = er(e)) in t ? Object.defineProperty(t, e, {
502
+ value: r,
503
+ enumerable: !0,
504
+ configurable: !0,
505
+ writable: !0
506
+ }) : t[e] = r, t;
507
+ }
508
+ var le = 2147483647, ce = {
509
+ inset: "unset",
510
+ border: "none",
511
+ padding: 0,
512
+ margin: 0,
513
+ overflow: "visible",
514
+ color: "inherit",
515
+ background: "transparent",
516
+ width: "auto",
517
+ height: "auto"
518
+ };
519
+ function G(t) {
520
+ var e = null;
521
+ return function() {
522
+ if (!e) {
523
+ for (var n = arguments.length, a = new Array(n), o = 0; o < n; o++)
524
+ a[o] = arguments[o];
525
+ var s = t.apply(this, a);
526
+ e = {
527
+ result: s
528
+ };
529
+ }
530
+ return e.result;
531
+ };
532
+ }
533
+ var z = G(function() {
534
+ return typeof HTMLElement < "u" && typeof HTMLElement.prototype.showPopover == "function";
535
+ });
536
+ function Nt(t, e) {
537
+ var r = Object.keys(t);
538
+ if (Object.getOwnPropertySymbols) {
539
+ var n = Object.getOwnPropertySymbols(t);
540
+ e && (n = n.filter(function(a) {
541
+ return Object.getOwnPropertyDescriptor(t, a).enumerable;
542
+ })), r.push.apply(r, n);
543
+ }
544
+ return r;
545
+ }
546
+ function Bt(t) {
547
+ for (var e = 1; e < arguments.length; e++) {
548
+ var r = arguments[e] != null ? arguments[e] : {};
549
+ e % 2 ? Nt(Object(r), !0).forEach(function(n) {
550
+ ut(t, n, r[n]);
551
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(r)) : Nt(Object(r)).forEach(function(n) {
552
+ Object.defineProperty(t, n, Object.getOwnPropertyDescriptor(r, n));
553
+ });
554
+ }
555
+ return t;
556
+ }
557
+ var tt = 2, Kt = tt / 2;
558
+ function rr(t) {
559
+ return {
560
+ x: Math.floor(t.x),
561
+ y: Math.floor(t.y)
562
+ };
563
+ }
564
+ function nr(t) {
565
+ return {
566
+ x: t.x - Kt,
567
+ y: t.y - Kt
568
+ };
569
+ }
570
+ function ar(t) {
571
+ return {
572
+ x: Math.max(t.x, 0),
573
+ y: Math.max(t.y, 0)
574
+ };
575
+ }
576
+ function or(t) {
577
+ return {
578
+ x: Math.min(t.x, window.innerWidth - tt),
579
+ y: Math.min(t.y, window.innerHeight - tt)
580
+ };
581
+ }
582
+ function Vt(t) {
583
+ var e = t.client, r = or(ar(nr(rr(e))));
584
+ return DOMRect.fromRect({
585
+ x: r.x,
586
+ y: r.y,
587
+ width: tt,
588
+ height: tt
589
+ });
590
+ }
591
+ function Yt(t) {
592
+ var e = t.clientRect;
593
+ return {
594
+ left: "".concat(e.left, "px"),
595
+ top: "".concat(e.top, "px"),
596
+ width: "".concat(e.width, "px"),
597
+ height: "".concat(e.height, "px")
598
+ };
599
+ }
600
+ function ir(t) {
601
+ var e = t.client, r = t.clientRect;
602
+ return (
603
+ // is within horizontal bounds
604
+ e.x >= r.x && e.x <= r.x + r.width && // is within vertical bounds
605
+ e.y >= r.y && e.y <= r.y + r.height
606
+ );
607
+ }
608
+ function dr(t) {
609
+ var e = t.initial, r = document.createElement("div");
610
+ r.setAttribute(ie, "true"), z() && r.setAttribute("popover", "manual");
611
+ var n = Vt({
612
+ client: e
613
+ });
614
+ Object.assign(r.style, Bt(Bt({
615
+ position: "fixed"
616
+ }, z() ? (
617
+ // needs to come first as it has 'inset: unset' which
618
+ // needs to be overridden by our top / left values
619
+ ce
620
+ ) : {
621
+ // Fallback: using maximum possible z-index so that this element
622
+ // will always be on top of other positioned content.
623
+ zIndex: le
624
+ }), {}, {
625
+ // Setting a background color explicitly to avoid any inherited styles.
626
+ // Looks like this could be `opacity: 0`, but worried that _might_
627
+ // cause the element to be ignored on some platforms.
628
+ // When debugging, set backgroundColor to something like "red".
629
+ backgroundColor: "transparent",
630
+ // Being explicit to avoid inheriting styles
631
+ padding: 0,
632
+ margin: 0,
633
+ boxSizing: "border-box",
634
+ // We want this element to absorb pointer events,
635
+ // it's kind of the whole point 😉
636
+ pointerEvents: "auto"
637
+ }, Yt({
638
+ clientRect: n
639
+ }))), document.body.appendChild(r), z() && r.showPopover();
640
+ var a = q.bind(window, {
641
+ type: "pointermove",
642
+ listener: function(s) {
643
+ var i = {
644
+ x: s.clientX,
645
+ y: s.clientY
646
+ };
647
+ n = Vt({
648
+ client: i
649
+ }), Object.assign(r.style, Yt({
650
+ clientRect: n
651
+ }));
652
+ },
653
+ // using capture so we are less likely to be impacted by event stopping
654
+ options: {
655
+ capture: !0
656
+ }
657
+ });
658
+ return function(s) {
659
+ var i = s.current;
660
+ if (a(), ir({
661
+ client: i,
662
+ clientRect: n
663
+ })) {
664
+ r.remove();
260
665
  return;
666
+ }
667
+ function d() {
668
+ l(), r.remove();
669
+ }
670
+ var l = q.bindAll(window, [
671
+ {
672
+ type: "pointerdown",
673
+ listener: d
674
+ },
675
+ {
676
+ type: "pointermove",
677
+ listener: d
678
+ },
679
+ {
680
+ type: "focusin",
681
+ listener: d
682
+ },
683
+ {
684
+ type: "focusout",
685
+ listener: d
686
+ },
687
+ // a 'pointerdown' should happen before 'dragstart', but just being super safe
688
+ {
689
+ type: "dragstart",
690
+ listener: d
691
+ },
692
+ // if the user has dragged something out of the window
693
+ // and then is dragging something back into the window
694
+ // the first events we will see are "dragenter" (and then "dragover").
695
+ // So if we see any of these we need to clear the post drag fix.
696
+ {
697
+ type: "dragenter",
698
+ listener: d
699
+ },
700
+ {
701
+ type: "dragover",
702
+ listener: d
703
+ }
704
+ // Not adding a "wheel" event listener, as "wheel" by itself does not
705
+ // resolve the bug.
706
+ ], {
707
+ // Using `capture` so less likely to be impacted by other code stopping events
708
+ capture: !0
709
+ });
710
+ };
711
+ }
712
+ function sr() {
713
+ var t = null;
714
+ function e() {
715
+ return t = null, q.bind(window, {
716
+ type: "pointermove",
717
+ listener: function(a) {
718
+ t = {
719
+ x: a.clientX,
720
+ y: a.clientY
721
+ };
722
+ },
723
+ // listening for pointer move in capture phase
724
+ // so we are less likely to be impacted by events being stopped.
725
+ options: {
726
+ capture: !0
727
+ }
728
+ });
261
729
  }
262
- a.preventDefault();
263
- const d = A(e.start, e.end, u, l);
264
- if (r.moveEvent(e.id, d.start, d.end)) {
265
- const s = r.getEventById(e.id);
266
- s && r.trigger("eventDrop", { event: s });
267
- }
268
- }
269
- const wt = 1440, Dt = 4;
270
- function Z(a, t) {
271
- var e;
272
- const r = document.elementFromPoint(a, t);
273
- return ((e = r == null ? void 0 : r.closest('[data-rsv="day"]')) == null ? void 0 : e.dataset.date) ?? null;
274
- }
275
- function kt(a, t) {
276
- a.stopPropagation();
277
- const { api: r, event: e, sourceDate: o } = t, i = a.clientX, u = a.clientY;
278
- let d = !1;
279
- const s = (h) => {
280
- !d && Math.hypot(h.clientX - i, h.clientY - u) > Dt && (d = !0, document.body.style.cursor = "grabbing");
281
- }, c = (h) => {
282
- var y;
283
- if (document.removeEventListener("pointermove", s), document.removeEventListener("pointerup", c), document.body.style.cursor = "", !d) return;
284
- (y = t.onMoved) == null || y.call(t);
285
- const g = Z(h.clientX, h.clientY);
286
- if (!g) return;
287
- const f = l.diff(l.from(o), l.from(g), "day");
288
- if (f === 0) return;
289
- const p = A(e.start, e.end, f * wt, l);
290
- if (r.moveEvent(e.id, p.start, p.end)) {
291
- const w = r.getEventById(e.id);
292
- w && r.trigger("eventDrop", { event: w });
293
- }
294
- };
295
- document.addEventListener("pointermove", s), document.addEventListener("pointerup", c);
296
- }
297
- function Ct(a, t) {
298
- if (a.target.closest('[data-rsv="event"], [data-rsv="more-anchor"], [data-nav-link="true"]'))
730
+ function r() {
731
+ var n = null;
732
+ return function(o) {
733
+ var s = o.eventName, i = o.payload;
734
+ if (s === "onDragStart") {
735
+ var d = i.location.initial.input, l = t ?? {
736
+ x: d.clientX,
737
+ y: d.clientY
738
+ };
739
+ n = dr({
740
+ initial: l
741
+ });
742
+ }
743
+ if (s === "onDrop") {
744
+ var c, p = i.location.current.input;
745
+ (c = n) === null || c === void 0 || c({
746
+ current: {
747
+ x: p.clientX,
748
+ y: p.clientY
749
+ }
750
+ }), n = null, t = null;
751
+ }
752
+ };
753
+ }
754
+ return {
755
+ bindEvents: e,
756
+ getOnPostDispatch: r
757
+ };
758
+ }
759
+ function lr(t) {
760
+ if (Array.isArray(t)) return bt(t);
761
+ }
762
+ function cr(t) {
763
+ if (typeof Symbol < "u" && t[Symbol.iterator] != null || t["@@iterator"] != null) return Array.from(t);
764
+ }
765
+ function ur() {
766
+ throw new TypeError(`Invalid attempt to spread non-iterable instance.
767
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
768
+ }
769
+ function ue(t) {
770
+ return lr(t) || cr(t) || ne(t) || ur();
771
+ }
772
+ var vr = G(function() {
773
+ return process.env.NODE_ENV === "test" ? !1 : navigator.userAgent.includes("Firefox");
774
+ }), vt = G(function() {
775
+ if (process.env.NODE_ENV === "test")
776
+ return !1;
777
+ var e = navigator, r = e.userAgent;
778
+ return r.includes("AppleWebKit") && !r.includes("Chrome");
779
+ });
780
+ function fr(t) {
781
+ return "nodeName" in t;
782
+ }
783
+ function gr(t) {
784
+ return fr(t) && t.ownerDocument !== document;
785
+ }
786
+ var wt = {
787
+ isLeavingWindow: Symbol("leaving"),
788
+ isEnteringWindow: Symbol("entering")
789
+ };
790
+ (function() {
791
+ if (typeof window > "u" || process.env.NODE_ENV === "test" || !vt())
792
+ return;
793
+ function e() {
794
+ return {
795
+ enterCount: 0,
796
+ isOverWindow: !1
797
+ };
798
+ }
799
+ var r = e();
800
+ function n() {
801
+ r = e();
802
+ }
803
+ q.bindAll(
804
+ window,
805
+ [{
806
+ type: "dragstart",
807
+ listener: function() {
808
+ r.enterCount = 0, r.isOverWindow = !0;
809
+ }
810
+ }, {
811
+ type: "drop",
812
+ listener: n
813
+ }, {
814
+ type: "dragend",
815
+ listener: n
816
+ }, {
817
+ type: "dragenter",
818
+ listener: function(o) {
819
+ !r.isOverWindow && r.enterCount === 0 && (o[wt.isEnteringWindow] = !0), r.isOverWindow = !0, r.enterCount++;
820
+ }
821
+ }, {
822
+ type: "dragleave",
823
+ listener: function(o) {
824
+ r.enterCount--, r.isOverWindow && r.enterCount === 0 && (o[wt.isLeavingWindow] = !0, r.isOverWindow = !1);
825
+ }
826
+ }],
827
+ // using `capture: true` so that adding event listeners
828
+ // in bubble phase will have the correct symbols
829
+ {
830
+ capture: !0
831
+ }
832
+ );
833
+ })();
834
+ function mr(t) {
835
+ var e = t.dragLeave;
836
+ return vt() ? e.hasOwnProperty(wt.isLeavingWindow) : !1;
837
+ }
838
+ function yr(t) {
839
+ var e = t.dragLeave, r = e.type, n = e.relatedTarget;
840
+ return r !== "dragleave" ? !1 : vt() ? mr({
841
+ dragLeave: e
842
+ }) : n == null ? !0 : vr() ? gr(n) : n instanceof HTMLIFrameElement;
843
+ }
844
+ function pr(t) {
845
+ var e = t.onDragEnd;
846
+ return [
847
+ // ## Detecting drag ending for removed draggables
848
+ //
849
+ // If a draggable element is removed during a drag and the user drops:
850
+ // 1. if over a valid drop target: we get a "drop" event to know the drag is finished
851
+ // 2. if not over a valid drop target (or cancelled): we get nothing
852
+ // The "dragend" event will not fire on the source draggable if it has been
853
+ // removed from the DOM.
854
+ // So we need to figure out if a drag operation has finished by looking at other events
855
+ // We can do this by looking at other events
856
+ // ### First detection: "pointermove" events
857
+ // 1. "pointermove" events cannot fire during a drag and drop operation
858
+ // according to the spec. So if we get a "pointermove" it means that
859
+ // the drag and drop operations has finished. So if we get a "pointermove"
860
+ // we know that the drag is over
861
+ // 2. 🦊😤 Drag and drop operations are _supposed_ to suppress
862
+ // other pointer events. However, firefox will allow a few
863
+ // pointer event to get through after a drag starts.
864
+ // The most I've seen is 3
865
+ {
866
+ type: "pointermove",
867
+ listener: /* @__PURE__ */ (function() {
868
+ var r = 0;
869
+ return function() {
870
+ if (r < 20) {
871
+ r++;
872
+ return;
873
+ }
874
+ e();
875
+ };
876
+ })()
877
+ },
878
+ // ### Second detection: "pointerdown" events
879
+ // If we receive this event then we know that a drag operation has finished
880
+ // and potentially another one is about to start.
881
+ // Note: `pointerdown` fires on all browsers / platforms before "dragstart"
882
+ {
883
+ type: "pointerdown",
884
+ listener: e
885
+ }
886
+ ];
887
+ }
888
+ function J(t) {
889
+ return {
890
+ altKey: t.altKey,
891
+ button: t.button,
892
+ buttons: t.buttons,
893
+ ctrlKey: t.ctrlKey,
894
+ metaKey: t.metaKey,
895
+ shiftKey: t.shiftKey,
896
+ clientX: t.clientX,
897
+ clientY: t.clientY,
898
+ pageX: t.pageX,
899
+ pageY: t.pageY
900
+ };
901
+ }
902
+ var hr = function(e) {
903
+ var r = [], n = null, a = function() {
904
+ for (var s = arguments.length, i = new Array(s), d = 0; d < s; d++)
905
+ i[d] = arguments[d];
906
+ r = i, !n && (n = requestAnimationFrame(function() {
907
+ n = null, e.apply(void 0, r);
908
+ }));
909
+ };
910
+ return a.cancel = function() {
911
+ n && (cancelAnimationFrame(n), n = null);
912
+ }, a;
913
+ }, gt = hr(function(t) {
914
+ return t();
915
+ }), ot = /* @__PURE__ */ (function() {
916
+ var t = null;
917
+ function e(n) {
918
+ var a = requestAnimationFrame(function() {
919
+ t = null, n();
920
+ });
921
+ t = {
922
+ frameId: a,
923
+ fn: n
924
+ };
925
+ }
926
+ function r() {
927
+ t && (cancelAnimationFrame(t.frameId), t.fn(), t = null);
928
+ }
929
+ return {
930
+ schedule: e,
931
+ flush: r
932
+ };
933
+ })();
934
+ function br(t) {
935
+ var e = t.source, r = t.initial, n = t.dispatchEvent, a = {
936
+ dropTargets: []
937
+ };
938
+ function o(i) {
939
+ n(i), a = {
940
+ dropTargets: i.payload.location.current.dropTargets
941
+ };
942
+ }
943
+ var s = {
944
+ start: function(d) {
945
+ var l = d.nativeSetDragImage, c = {
946
+ current: r,
947
+ previous: a,
948
+ initial: r
949
+ };
950
+ o({
951
+ eventName: "onGenerateDragPreview",
952
+ payload: {
953
+ source: e,
954
+ location: c,
955
+ nativeSetDragImage: l
956
+ }
957
+ }), ot.schedule(function() {
958
+ o({
959
+ eventName: "onDragStart",
960
+ payload: {
961
+ source: e,
962
+ location: c
963
+ }
964
+ });
965
+ });
966
+ },
967
+ dragUpdate: function(d) {
968
+ var l = d.current;
969
+ ot.flush(), gt.cancel(), o({
970
+ eventName: "onDropTargetChange",
971
+ payload: {
972
+ source: e,
973
+ location: {
974
+ initial: r,
975
+ previous: a,
976
+ current: l
977
+ }
978
+ }
979
+ });
980
+ },
981
+ drag: function(d) {
982
+ var l = d.current;
983
+ gt(function() {
984
+ ot.flush();
985
+ var c = {
986
+ initial: r,
987
+ previous: a,
988
+ current: l
989
+ };
990
+ o({
991
+ eventName: "onDrag",
992
+ payload: {
993
+ source: e,
994
+ location: c
995
+ }
996
+ });
997
+ });
998
+ },
999
+ drop: function(d) {
1000
+ var l = d.current, c = d.updatedSourcePayload;
1001
+ ot.flush(), gt.cancel(), o({
1002
+ eventName: "onDrop",
1003
+ payload: {
1004
+ source: c ?? e,
1005
+ location: {
1006
+ current: l,
1007
+ previous: a,
1008
+ initial: r
1009
+ }
1010
+ }
1011
+ });
1012
+ }
1013
+ };
1014
+ return s;
1015
+ }
1016
+ var Dt = {
1017
+ isActive: !1
1018
+ };
1019
+ function ve() {
1020
+ return !Dt.isActive;
1021
+ }
1022
+ function wr(t) {
1023
+ return t.dataTransfer ? t.dataTransfer.setDragImage.bind(t.dataTransfer) : null;
1024
+ }
1025
+ function Dr(t) {
1026
+ var e = t.current, r = t.next;
1027
+ if (e.length !== r.length)
1028
+ return !0;
1029
+ for (var n = 0; n < e.length; n++)
1030
+ if (e[n].element !== r[n].element)
1031
+ return !0;
1032
+ return !1;
1033
+ }
1034
+ function Sr(t) {
1035
+ var e = t.event, r = t.dragType, n = t.getDropTargetsOver, a = t.dispatchEvent;
1036
+ if (!ve())
299
1037
  return;
300
- const { api: e } = t;
301
- let o = t.startDate, i = !1;
302
- const u = (s) => {
303
- const c = Z(s.clientX, s.clientY);
304
- c && c !== t.startDate && (i = !0), c && (o = c);
305
- }, d = () => {
306
- var f;
307
- if (document.removeEventListener("pointermove", u), document.removeEventListener("pointerup", d), !i) return;
308
- (f = t.onRangeSelect) == null || f.call(t);
309
- const s = l.from(t.startDate), c = l.from(o), [h, g] = l.isBefore(s, c) ? [s, c] : [c, s];
310
- e.select(l.toISOString(h), l.toISOString(l.add(g, { days: 1 })));
311
- };
312
- document.addEventListener("pointermove", u), document.addEventListener("pointerup", d);
313
- }
314
- function tt({ api: a, model: t, options: r }) {
315
- var d;
316
- const e = r.locale ?? "en", o = new Intl.DateTimeFormat(e, { weekday: "short" }), i = ((d = t.weeks[0]) == null ? void 0 : d.days) ?? [], u = r.weekNumbers === !0;
317
- return /* @__PURE__ */ v(
1038
+ var o = Or({
1039
+ event: e,
1040
+ dragType: r,
1041
+ getDropTargetsOver: n
1042
+ });
1043
+ Dt.isActive = !0;
1044
+ var s = {
1045
+ current: o
1046
+ };
1047
+ mt({
1048
+ event: e,
1049
+ current: o.dropTargets
1050
+ });
1051
+ var i = br({
1052
+ source: r.payload,
1053
+ dispatchEvent: a,
1054
+ initial: o
1055
+ });
1056
+ function d(v) {
1057
+ var g = Dr({
1058
+ current: s.current.dropTargets,
1059
+ next: v.dropTargets
1060
+ });
1061
+ s.current = v, g && i.dragUpdate({
1062
+ current: s.current
1063
+ });
1064
+ }
1065
+ function l(v) {
1066
+ var g = J(v), h = de(v.target) ? se({
1067
+ x: g.clientX,
1068
+ y: g.clientY
1069
+ }) : v.target, b = n({
1070
+ target: h,
1071
+ input: g,
1072
+ source: r.payload,
1073
+ current: s.current.dropTargets
1074
+ });
1075
+ b.length && (v.preventDefault(), mt({
1076
+ event: v,
1077
+ current: b
1078
+ })), d({
1079
+ dropTargets: b,
1080
+ input: g
1081
+ });
1082
+ }
1083
+ function c() {
1084
+ s.current.dropTargets.length && d({
1085
+ dropTargets: [],
1086
+ input: s.current.input
1087
+ }), i.drop({
1088
+ current: s.current,
1089
+ updatedSourcePayload: null
1090
+ }), p();
1091
+ }
1092
+ function p() {
1093
+ Dt.isActive = !1, D();
1094
+ }
1095
+ var D = q.bindAll(
1096
+ window,
1097
+ [{
1098
+ // 👋 Note: we are repurposing the `dragover` event as our `drag` event
1099
+ // this is because firefox does not publish pointer coordinates during
1100
+ // a `drag` event, but does for every other type of drag event
1101
+ // `dragover` fires on all elements that are being dragged over
1102
+ // Because we are binding to `window` - our `dragover` is effectively the same as a `drag`
1103
+ // 🦊😤
1104
+ type: "dragover",
1105
+ listener: function(g) {
1106
+ l(g), i.drag({
1107
+ current: s.current
1108
+ });
1109
+ }
1110
+ }, {
1111
+ type: "dragenter",
1112
+ listener: l
1113
+ }, {
1114
+ type: "dragleave",
1115
+ listener: function(g) {
1116
+ yr({
1117
+ dragLeave: g
1118
+ }) && (d({
1119
+ input: s.current.input,
1120
+ dropTargets: []
1121
+ }), r.startedFrom === "external" && c());
1122
+ }
1123
+ }, {
1124
+ // A "drop" can only happen if the browser allowed the drop
1125
+ type: "drop",
1126
+ listener: function(g) {
1127
+ if (s.current = {
1128
+ dropTargets: s.current.dropTargets,
1129
+ input: J(g)
1130
+ }, !s.current.dropTargets.length) {
1131
+ c();
1132
+ return;
1133
+ }
1134
+ g.preventDefault(), mt({
1135
+ event: g,
1136
+ current: s.current.dropTargets
1137
+ }), i.drop({
1138
+ current: s.current,
1139
+ // When dropping something native, we need to extract the latest
1140
+ // `.items` from the "drop" event as it is now accessible
1141
+ updatedSourcePayload: r.type === "external" ? r.getDropPayload(g) : null
1142
+ }), p();
1143
+ }
1144
+ }, {
1145
+ // "dragend" fires when on the drag source (eg a draggable element)
1146
+ // when the drag is finished.
1147
+ // "dragend" will fire after "drop" (if there was a successful drop)
1148
+ // "dragend" does not fire if the draggable source has been removed during the drag
1149
+ // or for external drag sources (eg files)
1150
+ // This "dragend" listener will not fire if there was a successful drop
1151
+ // as we will have already removed the event listener
1152
+ type: "dragend",
1153
+ listener: function(g) {
1154
+ s.current = {
1155
+ dropTargets: s.current.dropTargets,
1156
+ input: J(g)
1157
+ }, c();
1158
+ }
1159
+ }].concat(ue(pr({
1160
+ onDragEnd: c
1161
+ }))),
1162
+ // Once we have started a managed drag operation it is important that we see / own all drag events
1163
+ // We got one adoption bug pop up where some code was stopping (`event.stopPropagation()`)
1164
+ // all "drop" events in the bubble phase on the `document.body`.
1165
+ // This meant that we never saw the "drop" event.
1166
+ {
1167
+ capture: !0
1168
+ }
1169
+ );
1170
+ i.start({
1171
+ nativeSetDragImage: wr(e)
1172
+ });
1173
+ }
1174
+ function mt(t) {
1175
+ var e, r = t.event, n = t.current, a = (e = n[0]) === null || e === void 0 ? void 0 : e.dropEffect;
1176
+ a != null && r.dataTransfer && (r.dataTransfer.dropEffect = a);
1177
+ }
1178
+ function Or(t) {
1179
+ var e = t.event, r = t.dragType, n = t.getDropTargetsOver, a = J(e);
1180
+ if (r.startedFrom === "external")
1181
+ return {
1182
+ input: a,
1183
+ dropTargets: []
1184
+ };
1185
+ var o = n({
1186
+ input: a,
1187
+ source: r.payload,
1188
+ target: e.target,
1189
+ current: []
1190
+ });
1191
+ return {
1192
+ input: a,
1193
+ dropTargets: o
1194
+ };
1195
+ }
1196
+ var Wt = {
1197
+ canStart: ve,
1198
+ start: Sr
1199
+ }, St = /* @__PURE__ */ new Map();
1200
+ function Tr(t) {
1201
+ var e = t.typeKey, r = t.mount, n = St.get(e);
1202
+ if (n)
1203
+ return n.usageCount++, n;
1204
+ var a = {
1205
+ typeKey: e,
1206
+ unmount: r(),
1207
+ usageCount: 1
1208
+ };
1209
+ return St.set(e, a), a;
1210
+ }
1211
+ function Er(t) {
1212
+ var e = Tr(t);
1213
+ return function() {
1214
+ e.usageCount--, !(e.usageCount > 0) && (e.unmount(), St.delete(t.typeKey));
1215
+ };
1216
+ }
1217
+ function Et() {
1218
+ for (var t = arguments.length, e = new Array(t), r = 0; r < t; r++)
1219
+ e[r] = arguments[r];
1220
+ return function() {
1221
+ e.forEach(function(a) {
1222
+ return a();
1223
+ });
1224
+ };
1225
+ }
1226
+ function fe(t, e) {
1227
+ var r = e.attribute, n = e.value;
1228
+ return t.setAttribute(r, n), function() {
1229
+ return t.removeAttribute(r);
1230
+ };
1231
+ }
1232
+ function Gt(t, e) {
1233
+ var r = Object.keys(t);
1234
+ if (Object.getOwnPropertySymbols) {
1235
+ var n = Object.getOwnPropertySymbols(t);
1236
+ e && (n = n.filter(function(a) {
1237
+ return Object.getOwnPropertyDescriptor(t, a).enumerable;
1238
+ })), r.push.apply(r, n);
1239
+ }
1240
+ return r;
1241
+ }
1242
+ function B(t) {
1243
+ for (var e = 1; e < arguments.length; e++) {
1244
+ var r = arguments[e] != null ? arguments[e] : {};
1245
+ e % 2 ? Gt(Object(r), !0).forEach(function(n) {
1246
+ ut(t, n, r[n]);
1247
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(r)) : Gt(Object(r)).forEach(function(n) {
1248
+ Object.defineProperty(t, n, Object.getOwnPropertyDescriptor(r, n));
1249
+ });
1250
+ }
1251
+ return t;
1252
+ }
1253
+ function yt(t, e) {
1254
+ var r = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
1255
+ if (!r) {
1256
+ if (Array.isArray(t) || (r = Mr(t)) || e) {
1257
+ r && (t = r);
1258
+ var n = 0, a = function() {
1259
+ };
1260
+ return { s: a, n: function() {
1261
+ return n >= t.length ? { done: !0 } : { done: !1, value: t[n++] };
1262
+ }, e: function(l) {
1263
+ throw l;
1264
+ }, f: a };
1265
+ }
1266
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1267
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1268
+ }
1269
+ var o, s = !0, i = !1;
1270
+ return { s: function() {
1271
+ r = r.call(t);
1272
+ }, n: function() {
1273
+ var l = r.next();
1274
+ return s = l.done, l;
1275
+ }, e: function(l) {
1276
+ i = !0, o = l;
1277
+ }, f: function() {
1278
+ try {
1279
+ s || r.return == null || r.return();
1280
+ } finally {
1281
+ if (i) throw o;
1282
+ }
1283
+ } };
1284
+ }
1285
+ function Mr(t, e) {
1286
+ if (t) {
1287
+ if (typeof t == "string") return Ut(t, e);
1288
+ var r = {}.toString.call(t).slice(8, -1);
1289
+ return r === "Object" && t.constructor && (r = t.constructor.name), r === "Map" || r === "Set" ? Array.from(t) : r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? Ut(t, e) : void 0;
1290
+ }
1291
+ }
1292
+ function Ut(t, e) {
1293
+ (e == null || e > t.length) && (e = t.length);
1294
+ for (var r = 0, n = Array(e); r < e; r++) n[r] = t[r];
1295
+ return n;
1296
+ }
1297
+ function pt(t) {
1298
+ return t.slice(0).reverse();
1299
+ }
1300
+ function kr(t) {
1301
+ var e = t.typeKey, r = t.defaultDropEffect, n = /* @__PURE__ */ new WeakMap(), a = "data-drop-target-for-".concat(e), o = "[".concat(a, "]");
1302
+ function s(v) {
1303
+ return n.set(v.element, v), function() {
1304
+ return n.delete(v.element);
1305
+ };
1306
+ }
1307
+ function i(v) {
1308
+ if (process.env.NODE_ENV !== "production") {
1309
+ var g = n.get(v.element);
1310
+ g && console.warn("You have already registered a [".concat(e, "] dropTarget on the same element"), {
1311
+ existing: g,
1312
+ proposed: v
1313
+ }), v.element instanceof HTMLIFrameElement && console.warn(`
1314
+ We recommend not registering <iframe> elements as drop targets
1315
+ as it can result in some strange browser event ordering.
1316
+ `.replace(/\s{2,}/g, " ").trim());
1317
+ }
1318
+ var h = Et(fe(v.element, {
1319
+ attribute: a,
1320
+ value: "true"
1321
+ }), s(v));
1322
+ return G(h);
1323
+ }
1324
+ function d(v) {
1325
+ var g, h, b, w, S = v.source, M = v.target, x = v.input, y = v.result, f = y === void 0 ? [] : y;
1326
+ if (M == null)
1327
+ return f;
1328
+ if (!(M instanceof Element))
1329
+ return M instanceof Node ? d({
1330
+ source: S,
1331
+ target: M.parentElement,
1332
+ input: x,
1333
+ result: f
1334
+ }) : f;
1335
+ var T = M.closest(o);
1336
+ if (T == null)
1337
+ return f;
1338
+ var C = n.get(T);
1339
+ if (C == null)
1340
+ return f;
1341
+ var E = {
1342
+ input: x,
1343
+ source: S,
1344
+ element: C.element
1345
+ };
1346
+ if (C.canDrop && !C.canDrop(E))
1347
+ return d({
1348
+ source: S,
1349
+ target: C.element.parentElement,
1350
+ input: x,
1351
+ result: f
1352
+ });
1353
+ var P = (g = (h = C.getData) === null || h === void 0 ? void 0 : h.call(C, E)) !== null && g !== void 0 ? g : {}, I = (b = (w = C.getDropEffect) === null || w === void 0 ? void 0 : w.call(C, E)) !== null && b !== void 0 ? b : r, $ = {
1354
+ data: P,
1355
+ element: C.element,
1356
+ dropEffect: I,
1357
+ // we are collecting _actual_ drop targets, so these are
1358
+ // being applied _not_ due to stickiness
1359
+ isActiveDueToStickiness: !1
1360
+ };
1361
+ return d({
1362
+ source: S,
1363
+ target: C.element.parentElement,
1364
+ input: x,
1365
+ // Using bubble ordering. Same ordering as `event.getPath()`
1366
+ result: [].concat(ue(f), [$])
1367
+ });
1368
+ }
1369
+ function l(v) {
1370
+ var g = v.eventName, h = v.payload, b = yt(h.location.current.dropTargets), w;
1371
+ try {
1372
+ for (b.s(); !(w = b.n()).done; ) {
1373
+ var S, M = w.value, x = n.get(M.element), y = B(B({}, h), {}, {
1374
+ self: M
1375
+ });
1376
+ x == null || (S = x[g]) === null || S === void 0 || S.call(
1377
+ x,
1378
+ // I cannot seem to get the types right here.
1379
+ // TS doesn't seem to like that one event can need `nativeSetDragImage`
1380
+ // @ts-expect-error
1381
+ y
1382
+ );
1383
+ }
1384
+ } catch (f) {
1385
+ b.e(f);
1386
+ } finally {
1387
+ b.f();
1388
+ }
1389
+ }
1390
+ var c = {
1391
+ onGenerateDragPreview: l,
1392
+ onDrag: l,
1393
+ onDragStart: l,
1394
+ onDrop: l,
1395
+ onDropTargetChange: function(g) {
1396
+ var h = g.payload, b = new Set(h.location.current.dropTargets.map(function(A) {
1397
+ return A.element;
1398
+ })), w = /* @__PURE__ */ new Set(), S = yt(h.location.previous.dropTargets), M;
1399
+ try {
1400
+ for (S.s(); !(M = S.n()).done; ) {
1401
+ var x, y = M.value;
1402
+ w.add(y.element);
1403
+ var f = n.get(y.element), T = b.has(y.element), C = B(B({}, h), {}, {
1404
+ self: y
1405
+ });
1406
+ if (f == null || (x = f.onDropTargetChange) === null || x === void 0 || x.call(f, C), !T) {
1407
+ var E;
1408
+ f == null || (E = f.onDragLeave) === null || E === void 0 || E.call(f, C);
1409
+ }
1410
+ }
1411
+ } catch (A) {
1412
+ S.e(A);
1413
+ } finally {
1414
+ S.f();
1415
+ }
1416
+ var P = yt(h.location.current.dropTargets), I;
1417
+ try {
1418
+ for (P.s(); !(I = P.n()).done; ) {
1419
+ var $, j, U = I.value;
1420
+ if (!w.has(U.element)) {
1421
+ var _ = B(B({}, h), {}, {
1422
+ self: U
1423
+ }), O = n.get(U.element);
1424
+ O == null || ($ = O.onDropTargetChange) === null || $ === void 0 || $.call(O, _), O == null || (j = O.onDragEnter) === null || j === void 0 || j.call(O, _);
1425
+ }
1426
+ }
1427
+ } catch (A) {
1428
+ P.e(A);
1429
+ } finally {
1430
+ P.f();
1431
+ }
1432
+ }
1433
+ };
1434
+ function p(v) {
1435
+ c[v.eventName](v);
1436
+ }
1437
+ function D(v) {
1438
+ var g = v.source, h = v.target, b = v.input, w = v.current, S = d({
1439
+ source: g,
1440
+ target: h,
1441
+ input: b
1442
+ });
1443
+ if (S.length >= w.length)
1444
+ return S;
1445
+ for (var M = pt(w), x = pt(S), y = [], f = 0; f < M.length; f++) {
1446
+ var T, C = M[f], E = x[f];
1447
+ if (E != null) {
1448
+ y.push(E);
1449
+ continue;
1450
+ }
1451
+ var P = y[f - 1], I = M[f - 1];
1452
+ if ((P == null ? void 0 : P.element) !== (I == null ? void 0 : I.element))
1453
+ break;
1454
+ var $ = n.get(C.element);
1455
+ if (!$)
1456
+ break;
1457
+ var j = {
1458
+ input: b,
1459
+ source: g,
1460
+ element: $.element
1461
+ };
1462
+ if ($.canDrop && !$.canDrop(j) || !((T = $.getIsSticky) !== null && T !== void 0 && T.call($, j)))
1463
+ break;
1464
+ y.push(B(B({}, C), {}, {
1465
+ // making it clear to consumers this drop target is active due to stickiness
1466
+ isActiveDueToStickiness: !0
1467
+ }));
1468
+ }
1469
+ return pt(y);
1470
+ }
1471
+ return {
1472
+ dropTargetForConsumers: i,
1473
+ getIsOver: D,
1474
+ dispatchEvent: p
1475
+ };
1476
+ }
1477
+ function Cr(t, e) {
1478
+ var r = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
1479
+ if (!r) {
1480
+ if (Array.isArray(t) || (r = xr(t)) || e) {
1481
+ r && (t = r);
1482
+ var n = 0, a = function() {
1483
+ };
1484
+ return { s: a, n: function() {
1485
+ return n >= t.length ? { done: !0 } : { done: !1, value: t[n++] };
1486
+ }, e: function(l) {
1487
+ throw l;
1488
+ }, f: a };
1489
+ }
1490
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1491
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1492
+ }
1493
+ var o, s = !0, i = !1;
1494
+ return { s: function() {
1495
+ r = r.call(t);
1496
+ }, n: function() {
1497
+ var l = r.next();
1498
+ return s = l.done, l;
1499
+ }, e: function(l) {
1500
+ i = !0, o = l;
1501
+ }, f: function() {
1502
+ try {
1503
+ s || r.return == null || r.return();
1504
+ } finally {
1505
+ if (i) throw o;
1506
+ }
1507
+ } };
1508
+ }
1509
+ function xr(t, e) {
1510
+ if (t) {
1511
+ if (typeof t == "string") return zt(t, e);
1512
+ var r = {}.toString.call(t).slice(8, -1);
1513
+ return r === "Object" && t.constructor && (r = t.constructor.name), r === "Map" || r === "Set" ? Array.from(t) : r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? zt(t, e) : void 0;
1514
+ }
1515
+ }
1516
+ function zt(t, e) {
1517
+ (e == null || e > t.length) && (e = t.length);
1518
+ for (var r = 0, n = Array(e); r < e; r++) n[r] = t[r];
1519
+ return n;
1520
+ }
1521
+ function Xt(t, e) {
1522
+ var r = Object.keys(t);
1523
+ if (Object.getOwnPropertySymbols) {
1524
+ var n = Object.getOwnPropertySymbols(t);
1525
+ e && (n = n.filter(function(a) {
1526
+ return Object.getOwnPropertyDescriptor(t, a).enumerable;
1527
+ })), r.push.apply(r, n);
1528
+ }
1529
+ return r;
1530
+ }
1531
+ function Pr(t) {
1532
+ for (var e = 1; e < arguments.length; e++) {
1533
+ var r = arguments[e] != null ? arguments[e] : {};
1534
+ e % 2 ? Xt(Object(r), !0).forEach(function(n) {
1535
+ ut(t, n, r[n]);
1536
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(r)) : Xt(Object(r)).forEach(function(n) {
1537
+ Object.defineProperty(t, n, Object.getOwnPropertyDescriptor(r, n));
1538
+ });
1539
+ }
1540
+ return t;
1541
+ }
1542
+ function Ar() {
1543
+ var t = /* @__PURE__ */ new Set(), e = null;
1544
+ function r(o) {
1545
+ e && (!o.canMonitor || o.canMonitor(e.canMonitorArgs)) && e.active.add(o);
1546
+ }
1547
+ function n(o) {
1548
+ var s = Pr({}, o);
1549
+ t.add(s), r(s);
1550
+ function i() {
1551
+ t.delete(s), e && e.active.delete(s);
1552
+ }
1553
+ return G(i);
1554
+ }
1555
+ function a(o) {
1556
+ var s = o.eventName, i = o.payload;
1557
+ if (s === "onGenerateDragPreview") {
1558
+ e = {
1559
+ canMonitorArgs: {
1560
+ initial: i.location.initial,
1561
+ source: i.source
1562
+ },
1563
+ active: /* @__PURE__ */ new Set()
1564
+ };
1565
+ var d = Cr(t), l;
1566
+ try {
1567
+ for (d.s(); !(l = d.n()).done; ) {
1568
+ var c = l.value;
1569
+ r(c);
1570
+ }
1571
+ } catch (b) {
1572
+ d.e(b);
1573
+ } finally {
1574
+ d.f();
1575
+ }
1576
+ }
1577
+ if (e) {
1578
+ for (var p = Array.from(e.active), D = 0, v = p; D < v.length; D++) {
1579
+ var g = v[D];
1580
+ if (e.active.has(g)) {
1581
+ var h;
1582
+ (h = g[s]) === null || h === void 0 || h.call(g, i);
1583
+ }
1584
+ }
1585
+ s === "onDrop" && (e.active.clear(), e = null);
1586
+ }
1587
+ }
1588
+ return {
1589
+ dispatchEvent: a,
1590
+ monitorForConsumers: n
1591
+ };
1592
+ }
1593
+ function Ir(t) {
1594
+ var e = t.typeKey, r = t.mount, n = t.dispatchEventToSource, a = t.onPostDispatch, o = t.defaultDropEffect, s = Ar(), i = kr({
1595
+ typeKey: e,
1596
+ defaultDropEffect: o
1597
+ });
1598
+ function d(p) {
1599
+ n == null || n(p), i.dispatchEvent(p), s.dispatchEvent(p), a == null || a(p);
1600
+ }
1601
+ function l(p) {
1602
+ var D = p.event, v = p.dragType;
1603
+ Wt.start({
1604
+ event: D,
1605
+ dragType: v,
1606
+ getDropTargetsOver: i.getIsOver,
1607
+ dispatchEvent: d
1608
+ });
1609
+ }
1610
+ function c() {
1611
+ function p() {
1612
+ var D = {
1613
+ canStart: Wt.canStart,
1614
+ start: l
1615
+ };
1616
+ return r(D);
1617
+ }
1618
+ return Er({
1619
+ typeKey: e,
1620
+ mount: p
1621
+ });
1622
+ }
1623
+ return {
1624
+ registerUsage: c,
1625
+ dropTarget: i.dropTargetForConsumers,
1626
+ monitor: s.monitorForConsumers
1627
+ };
1628
+ }
1629
+ var $r = G(function() {
1630
+ return navigator.userAgent.toLocaleLowerCase().includes("android");
1631
+ }), jr = "pdnd:android-fallback", qt = "text/plain", Fr = "text/uri-list", Rr = "application/vnd.pdnd", et = /* @__PURE__ */ new WeakMap();
1632
+ function Hr(t) {
1633
+ return et.set(t.element, t), function() {
1634
+ et.delete(t.element);
1635
+ };
1636
+ }
1637
+ var _t = sr(), Mt = Ir({
1638
+ typeKey: "element",
1639
+ defaultDropEffect: "move",
1640
+ mount: function(e) {
1641
+ return Et(_t.bindEvents(), q.bind(document, {
1642
+ type: "dragstart",
1643
+ listener: function(n) {
1644
+ var a, o, s, i, d, l;
1645
+ if (e.canStart(n) && !n.defaultPrevented) {
1646
+ if (!n.dataTransfer) {
1647
+ process.env.NODE_ENV !== "production" && console.warn(`
1648
+ It appears as though you have are not testing DragEvents correctly.
1649
+
1650
+ - If you are unit testing, ensure you have polyfilled DragEvent.
1651
+ - If you are browser testing, ensure you are dispatching drag events correctly.
1652
+
1653
+ Please see our testing guides for more information:
1654
+ https://atlassian.design/components/pragmatic-drag-and-drop/core-package/testing
1655
+ `.replace(/ {2}/g, ""));
1656
+ return;
1657
+ }
1658
+ var c = n.target;
1659
+ if (c instanceof HTMLElement) {
1660
+ var p = et.get(c);
1661
+ if (p) {
1662
+ var D = J(n), v = {
1663
+ element: p.element,
1664
+ dragHandle: (a = p.dragHandle) !== null && a !== void 0 ? a : null,
1665
+ input: D
1666
+ };
1667
+ if (p.canDrag && !p.canDrag(v)) {
1668
+ n.preventDefault();
1669
+ return;
1670
+ }
1671
+ if (p.dragHandle) {
1672
+ var g = se({
1673
+ x: D.clientX,
1674
+ y: D.clientY
1675
+ });
1676
+ if (!p.dragHandle.contains(g)) {
1677
+ n.preventDefault();
1678
+ return;
1679
+ }
1680
+ }
1681
+ var h = (o = (s = p.getInitialDataForExternal) === null || s === void 0 ? void 0 : s.call(p, v)) !== null && o !== void 0 ? o : null;
1682
+ if (h)
1683
+ for (var b = 0, w = Object.entries(h); b < w.length; b++) {
1684
+ var S = ae(w[b], 2), M = S[0], x = S[1];
1685
+ n.dataTransfer.setData(M, x ?? "");
1686
+ }
1687
+ $r() && !n.dataTransfer.types.includes(qt) && !n.dataTransfer.types.includes(Fr) && n.dataTransfer.setData(qt, jr), n.dataTransfer.setData(Rr, "");
1688
+ var y = {
1689
+ element: p.element,
1690
+ dragHandle: (i = p.dragHandle) !== null && i !== void 0 ? i : null,
1691
+ data: (d = (l = p.getInitialData) === null || l === void 0 ? void 0 : l.call(p, v)) !== null && d !== void 0 ? d : {}
1692
+ }, f = {
1693
+ type: "element",
1694
+ payload: y,
1695
+ startedFrom: "internal"
1696
+ };
1697
+ e.start({
1698
+ event: n,
1699
+ dragType: f
1700
+ });
1701
+ }
1702
+ }
1703
+ }
1704
+ }
1705
+ }));
1706
+ },
1707
+ dispatchEventToSource: function(e) {
1708
+ var r, n, a = e.eventName, o = e.payload;
1709
+ (r = et.get(o.source.element)) === null || r === void 0 || (n = r[a]) === null || n === void 0 || n.call(
1710
+ r,
1711
+ // I cannot seem to get the types right here.
1712
+ // TS doesn't seem to like that one event can need `nativeSetDragImage`
1713
+ // @ts-expect-error
1714
+ o
1715
+ );
1716
+ },
1717
+ onPostDispatch: _t.getOnPostDispatch()
1718
+ }), ge = Mt.dropTarget, kt = Mt.monitor;
1719
+ function Lr(t) {
1720
+ if (process.env.NODE_ENV !== "production" && t.dragHandle && !t.element.contains(t.dragHandle) && console.warn("Drag handle element must be contained in draggable element", {
1721
+ element: t.element,
1722
+ dragHandle: t.dragHandle
1723
+ }), process.env.NODE_ENV !== "production") {
1724
+ var e = et.get(t.element);
1725
+ e && console.warn("You have already registered a `draggable` on the same element", {
1726
+ existing: e,
1727
+ proposed: t
1728
+ });
1729
+ }
1730
+ var r = Et(
1731
+ // making the draggable register the adapter rather than drop targets
1732
+ // this is because you *must* have a draggable element to start a drag
1733
+ // but you _might_ not have any drop targets immediately
1734
+ // (You might create drop targets async)
1735
+ Mt.registerUsage(),
1736
+ Hr(t),
1737
+ fe(t.element, {
1738
+ attribute: "draggable",
1739
+ value: "true"
1740
+ })
1741
+ );
1742
+ return G(r);
1743
+ }
1744
+ function Zt(t, e) {
1745
+ var r = Object.keys(t);
1746
+ if (Object.getOwnPropertySymbols) {
1747
+ var n = Object.getOwnPropertySymbols(t);
1748
+ e && (n = n.filter(function(a) {
1749
+ return Object.getOwnPropertyDescriptor(t, a).enumerable;
1750
+ })), r.push.apply(r, n);
1751
+ }
1752
+ return r;
1753
+ }
1754
+ function Jt(t) {
1755
+ for (var e = 1; e < arguments.length; e++) {
1756
+ var r = arguments[e] != null ? arguments[e] : {};
1757
+ e % 2 ? Zt(Object(r), !0).forEach(function(n) {
1758
+ ut(t, n, r[n]);
1759
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(r)) : Zt(Object(r)).forEach(function(n) {
1760
+ Object.defineProperty(t, n, Object.getOwnPropertyDescriptor(r, n));
1761
+ });
1762
+ }
1763
+ return t;
1764
+ }
1765
+ function Nr() {
1766
+ return {
1767
+ x: 0,
1768
+ y: 0
1769
+ };
1770
+ }
1771
+ function Br(t) {
1772
+ var e = t.render, r = t.nativeSetDragImage, n = t.getOffset, a = n === void 0 ? Nr : n, o = document.createElement("div");
1773
+ z() && o.setAttribute("popover", "manual"), Object.assign(o.style, Jt(Jt({
1774
+ // Ensuring we don't cause reflow when adding the element to the page
1775
+ // Using `position:fixed` rather than `position:absolute` so we are
1776
+ // positioned on the current viewport.
1777
+ // `position:fixed` also creates a new stacking context, so we don't need to do that here
1778
+ position: "fixed"
1779
+ }, z() ? (
1780
+ // needs to come first as it has 'inset: unset' which
1781
+ // needs to be overridden by our top / left values
1782
+ ce
1783
+ ) : {
1784
+ // Fallback: using maximum possible z-index so that this element
1785
+ // will always be on top of other positioned content.
1786
+ zIndex: le
1787
+ }), {}, {
1788
+ // According to `mdn`, the element can be offscreen:
1789
+ // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/setDragImage#imgelement
1790
+ //
1791
+ // However, that information does not appear in the specs:
1792
+ // https://html.spec.whatwg.org/multipage/dnd.html#dom-datatransfer-setdragimage-dev
1793
+ //
1794
+ // If the element is _completely_ offscreen, Safari@17.1 will cancel the drag
1795
+ top: 0,
1796
+ left: 0,
1797
+ // Avoiding any additional events caused by the new element (being super safe)
1798
+ pointerEvents: "none"
1799
+ })), document.body.append(o), z() && o.showPopover();
1800
+ var s = e({
1801
+ container: o
1802
+ });
1803
+ queueMicrotask(function() {
1804
+ var l = a({
1805
+ container: o
1806
+ });
1807
+ if (vt()) {
1808
+ var c = o.getBoundingClientRect();
1809
+ if (c.width === 0)
1810
+ return;
1811
+ o.style.left = "-".concat(c.width - 1e-4, "px");
1812
+ }
1813
+ r == null || r(o, l.x, l.y);
1814
+ });
1815
+ function i() {
1816
+ d(), s == null || s(), document.body.removeChild(o);
1817
+ }
1818
+ var d = kt({
1819
+ // Remove portal in the dragstart event so that the user will never see it
1820
+ onDragStart: i,
1821
+ // Backup: remove portal when the drop finishes (this would be an error case)
1822
+ onDrop: i
1823
+ });
1824
+ }
1825
+ function Kr(t) {
1826
+ var e = t.element, r = t.input;
1827
+ return function(a) {
1828
+ var o = a.container, s = e.getBoundingClientRect(), i = o.getBoundingClientRect(), d = Math.min(
1829
+ // difference
1830
+ r.clientX - s.x,
1831
+ // don't let the difference be more than the width of the container,
1832
+ // otherwise the pointer will be off the preview
1833
+ i.width
1834
+ ), l = Math.min(
1835
+ // difference
1836
+ r.clientY - s.y,
1837
+ // don't let the difference be more than the height of the container,
1838
+ // otherwise the pointer will be off the preview
1839
+ i.height
1840
+ );
1841
+ return {
1842
+ x: d,
1843
+ y: l
1844
+ };
1845
+ };
1846
+ }
1847
+ let me = 0;
1848
+ function lt() {
1849
+ me = Date.now();
1850
+ }
1851
+ function ye(t = 300) {
1852
+ return Date.now() - me < t;
1853
+ }
1854
+ const Ct = "rsv-timegrid-event", pe = "rsv-timegrid-col";
1855
+ function he(t, e, r) {
1856
+ return r ? Lr({
1857
+ element: t,
1858
+ getInitialData: () => ({ [Ct]: !0, id: e.id }),
1859
+ onGenerateDragPreview({ location: n, nativeSetDragImage: a }) {
1860
+ Br({
1861
+ nativeSetDragImage: a,
1862
+ getOffset: Kr({ element: t, input: n.current.input }),
1863
+ render({ container: o }) {
1864
+ const s = t.cloneNode(!0);
1865
+ s.setAttribute("data-rsv-drag-preview", "true"), s.style.width = `${t.offsetWidth}px`, s.style.height = `${t.offsetHeight}px`, o.appendChild(s);
1866
+ }
1867
+ });
1868
+ }
1869
+ }) : () => {
1870
+ };
1871
+ }
1872
+ function Vr(t) {
1873
+ return ge({
1874
+ element: t,
1875
+ canDrop: ({ source: e }) => e.data[Ct] === !0,
1876
+ getData: ({ element: e }) => ({
1877
+ [pe]: !0,
1878
+ dayIndex: Number(e.dataset.rsvDayIndex ?? 0)
1879
+ })
1880
+ });
1881
+ }
1882
+ function Yr(t, e, r, n) {
1883
+ const a = t.getBoundingClientRect(), o = r.maxMinutes - r.minMinutes;
1884
+ if (a.height === 0 || o <= 0) return r.minMinutes;
1885
+ const s = r.minMinutes + (e - a.top) / a.height * o, i = Math.max(r.minMinutes, Math.min(r.maxMinutes, s));
1886
+ return Math.round(i / n) * n;
1887
+ }
1888
+ function Ot(t, e) {
1889
+ return m.diff(t, e, "minute");
1890
+ }
1891
+ function Wr(t, e, r) {
1892
+ const n = m.add(m.startOf(t, "day"), { minutes: e });
1893
+ if (Ot(n, r.start) === 0) return null;
1894
+ const a = r.end ? Ot(r.start, r.end) : 0;
1895
+ return {
1896
+ start: n,
1897
+ end: r.end ? m.add(n, { minutes: a }) : null
1898
+ };
1899
+ }
1900
+ function Gr({
1901
+ api: t,
1902
+ getModel: e,
1903
+ snap: r,
1904
+ onPreview: n,
1905
+ onDragging: a
1906
+ }) {
1907
+ const o = X(r ?? "00:15") || 15, s = (i) => {
1908
+ const d = i.current.dropTargets.find((c) => c.data[pe] === !0);
1909
+ if (!d) return null;
1910
+ const l = Yr(
1911
+ d.element,
1912
+ i.current.input.clientY,
1913
+ e(),
1914
+ o
1915
+ );
1916
+ return { target: d, inicio: l };
1917
+ };
1918
+ return kt({
1919
+ canMonitor: ({ source: i }) => i.data[Ct] === !0,
1920
+ onDragStart: ({ source: i }) => {
1921
+ lt(), a(String(i.data.id));
1922
+ },
1923
+ onDrag: ({ source: i, location: d }) => {
1924
+ const l = s(d);
1925
+ if (!l) return;
1926
+ const c = t.getEventById(String(i.data.id));
1927
+ if (!c) return;
1928
+ const p = c.end ? Math.max(o, Ot(c.start, c.end)) : o;
1929
+ n({
1930
+ dayIndex: Number(l.target.data.dayIndex),
1931
+ startMin: l.inicio,
1932
+ endMin: l.inicio + p
1933
+ });
1934
+ },
1935
+ onDrop: ({ source: i, location: d }) => {
1936
+ var v;
1937
+ lt(), n(null), a(null);
1938
+ const l = s(d);
1939
+ if (!l) return;
1940
+ const c = t.getEventById(String(i.data.id));
1941
+ if (!c) return;
1942
+ const p = (v = e().days[Number(l.target.data.dayIndex)]) == null ? void 0 : v.date;
1943
+ if (!p) return;
1944
+ const D = Wr(p, l.inicio, c);
1945
+ if (D && t.moveEvent(c.id, D.start, D.end)) {
1946
+ const g = t.getEventById(c.id);
1947
+ g && t.trigger("eventDrop", { event: g });
1948
+ }
1949
+ }
1950
+ });
1951
+ }
1952
+ const be = "rsv-timegrid-event", we = "rsv-daygrid-day";
1953
+ function Ur(t, e) {
1954
+ const r = m.diff(m.startOf(e.start, "day"), m.startOf(t, "day"), "day");
1955
+ return r === 0 ? null : {
1956
+ start: m.add(e.start, { days: r }),
1957
+ end: e.end ? m.add(e.end, { days: r }) : null
1958
+ };
1959
+ }
1960
+ function zr(t) {
1961
+ return ge({
1962
+ element: t,
1963
+ canDrop: ({ source: e }) => e.data[be] === !0,
1964
+ // Sin capturas: la fecha se lee del DOM al soltar, porque Preact reutiliza
1965
+ // la celda al navegar de mes.
1966
+ getData: ({ element: e }) => ({
1967
+ [we]: !0,
1968
+ fechaISO: e.dataset.date ?? ""
1969
+ })
1970
+ });
1971
+ }
1972
+ function Xr({
1973
+ api: t,
1974
+ onPreview: e,
1975
+ onDragging: r
1976
+ }) {
1977
+ const n = (a) => a.current.dropTargets.find((o) => o.data[we] === !0) ?? null;
1978
+ return kt({
1979
+ canMonitor: ({ source: a }) => a.data[be] === !0,
1980
+ onDragStart: ({ source: a }) => {
1981
+ lt(), r(String(a.data.id));
1982
+ },
1983
+ onDrag: ({ location: a }) => {
1984
+ const o = n(a);
1985
+ e(o ? String(o.data.fechaISO) : null);
1986
+ },
1987
+ onDrop: ({ source: a, location: o }) => {
1988
+ lt(), e(null), r(null);
1989
+ const s = n(o);
1990
+ if (!s) return;
1991
+ const i = t.getEventById(String(a.data.id));
1992
+ if (!i) return;
1993
+ const d = Ur(m.from(String(s.data.fechaISO)), i);
1994
+ if (d && t.moveEvent(i.id, d.start, d.end)) {
1995
+ const l = t.getEventById(i.id);
1996
+ l && t.trigger("eventDrop", { event: l });
1997
+ }
1998
+ }
1999
+ });
2000
+ }
2001
+ function De({ api: t, model: e, options: r }) {
2002
+ var v;
2003
+ const n = r.locale ?? "en", a = { type: t.getView().type }, o = st(n, r.dayHeaderFormat, { weekday: "short" }), s = ((v = e.weeks[0]) == null ? void 0 : v.days) ?? [], i = r.weekNumbers === !0, [d, l] = K(null), [c, p] = K(null), D = F(/* @__PURE__ */ new Map());
2004
+ return R(
2005
+ () => Xr({ api: t, onPreview: l, onDragging: p }),
2006
+ [t]
2007
+ ), R(() => {
2008
+ const g = D.current;
2009
+ return () => {
2010
+ for (const h of g.values()) h();
2011
+ g.clear();
2012
+ };
2013
+ }, []), /* @__PURE__ */ k(
318
2014
  "div",
319
2015
  {
320
2016
  "data-rsv": "daygrid",
321
- "data-weeknumbers": String(u),
322
- style: `--rsv-cols:${t.columnCount}`,
2017
+ "data-weeknumbers": String(i),
2018
+ style: `--rsv-cols:${e.columnCount}`,
323
2019
  children: [
324
- /* @__PURE__ */ v("div", { "data-rsv": "daygrid-header", role: "row", children: [
325
- u && /* @__PURE__ */ n("div", { "data-rsv": "daygrid-weeknum-header", role: "columnheader" }),
326
- i.map((s) => {
327
- var g;
328
- const c = l.toDate(s.date), h = o.format(c);
329
- return /* @__PURE__ */ n("div", { "data-rsv": "daygrid-dow", role: "columnheader", children: x((g = r.slots) == null ? void 0 : g.dayHeaderContent, { date: c, text: h }, h) }, s.dayOfWeek);
2020
+ /* @__PURE__ */ k("div", { "data-rsv": "daygrid-header", role: "row", children: [
2021
+ i && /* @__PURE__ */ u("div", { "data-rsv": "daygrid-weeknum-header", role: "columnheader" }),
2022
+ s.map((g) => {
2023
+ var S, M;
2024
+ const h = m.toDate(g.date), b = o ? o(h) : "", w = {
2025
+ date: h,
2026
+ text: b,
2027
+ dayOfWeek: g.dayOfWeek,
2028
+ dayNumber: m.dayOfMonth(g.date),
2029
+ isToday: g.isToday,
2030
+ view: a
2031
+ };
2032
+ return /* @__PURE__ */ u(
2033
+ "div",
2034
+ {
2035
+ "data-rsv": "daygrid-dow",
2036
+ role: "columnheader",
2037
+ "data-dow": String(g.dayOfWeek),
2038
+ class: N((S = r.classNames) == null ? void 0 : S.dayHeader),
2039
+ ref: (x) => {
2040
+ var y;
2041
+ return W(x, (y = r.hooks) == null ? void 0 : y.dayHeaderDidMount, () => w);
2042
+ },
2043
+ children: L((M = r.slots) == null ? void 0 : M.dayHeaderContent, w, b, r.hostBridge)
2044
+ },
2045
+ g.dayOfWeek
2046
+ );
330
2047
  })
331
2048
  ] }),
332
- t.weeks.map((s, c) => /* @__PURE__ */ v("div", { "data-rsv": "daygrid-week", role: "row", children: [
333
- u && /* @__PURE__ */ n("div", { "data-rsv": "daygrid-weeknum", role: "rowheader", children: s.weekNumber }),
334
- s.days.map((h) => /* @__PURE__ */ n(St, { api: a, cell: h, options: r }, l.toISOString(h.date)))
335
- ] }, c))
2049
+ e.weeks.map((g, h) => /* @__PURE__ */ k("div", { "data-rsv": "daygrid-week", role: "row", children: [
2050
+ i && /* @__PURE__ */ u("div", { "data-rsv": "daygrid-weeknum", role: "rowheader", children: g.weekNumber }),
2051
+ g.days.map((b) => /* @__PURE__ */ u(
2052
+ qr,
2053
+ {
2054
+ api: t,
2055
+ cell: b,
2056
+ options: r,
2057
+ view: a,
2058
+ dropActivo: d === m.toISOString(b.date),
2059
+ limpiezaDias: D,
2060
+ idArrastrado: c
2061
+ },
2062
+ m.toISOString(b.date)
2063
+ ))
2064
+ ] }, h))
336
2065
  ]
337
2066
  }
338
2067
  );
339
2068
  }
340
- function St({
341
- api: a,
342
- cell: t,
343
- options: r
2069
+ function qr({
2070
+ api: t,
2071
+ cell: e,
2072
+ options: r,
2073
+ view: n,
2074
+ dropActivo: a,
2075
+ limpiezaDias: o,
2076
+ idArrastrado: s
344
2077
  }) {
345
- var p;
346
- const e = l.toDate(t.date), o = l.dayOfMonth(t.date), i = r.navLinks ? /* @__PURE__ */ n(
2078
+ var S, M, x;
2079
+ const i = m.toDate(e.date), d = m.dayOfMonth(e.date), l = r.navLinks ? /* @__PURE__ */ u(
347
2080
  "a",
348
2081
  {
349
2082
  "data-rsv": "day-number",
350
2083
  "data-nav-link": "true",
351
2084
  role: "link",
352
2085
  tabIndex: 0,
2086
+ title: V(r.locale).navLinkHint(
2087
+ new Intl.DateTimeFormat(r.locale, { dateStyle: "long" }).format(i)
2088
+ ),
353
2089
  onClick: (y) => {
354
- y.stopPropagation(), J(a, t.date);
2090
+ y.stopPropagation(), ee(t, e.date);
355
2091
  },
356
- children: o
2092
+ children: d
357
2093
  }
358
- ) : /* @__PURE__ */ n("span", { "data-rsv": "day-number", children: o }), u = x(
359
- (p = r.slots) == null ? void 0 : p.dayCellContent,
360
- { date: e, dayNumber: o, isToday: t.isToday, isOther: t.isOther },
361
- i
362
- ), [d, s] = R(!1), c = l.toISOString(t.date), h = F(!1), g = () => {
2094
+ ) : /* @__PURE__ */ u("span", { "data-rsv": "day-number", children: d }), c = { date: i, dayNumber: d, isToday: e.isToday, isOther: e.isOther, view: n }, p = L(
2095
+ (S = r.slots) == null ? void 0 : S.dayCellContent,
2096
+ c,
2097
+ l,
2098
+ r.hostBridge
2099
+ ), [D, v] = K(!1), g = m.toISOString(e.date), h = F(!1), b = () => {
363
2100
  if (h.current) {
364
2101
  h.current = !1;
365
2102
  return;
366
2103
  }
367
- a.trigger("dateClick", { date: t.date }), r.selectable && a.select(c, l.toISOString(l.add(t.date, { days: 1 })));
368
- }, f = (y) => {
369
- y.stopPropagation(), s(!0), a.trigger("moreLinkClick", {
370
- date: t.date,
371
- allEvents: [...t.events, ...t.hiddenEvents],
372
- hiddenEvents: t.hiddenEvents
2104
+ t.trigger("dateClick", { date: e.date }), r.selectable && t.select(g, m.toISOString(m.add(e.date, { days: 1 })));
2105
+ }, w = (y) => {
2106
+ y.stopPropagation(), v(!0), t.trigger("moreLinkClick", {
2107
+ date: e.date,
2108
+ allEvents: [...e.events, ...e.hiddenEvents],
2109
+ hiddenEvents: e.hiddenEvents
373
2110
  });
374
2111
  };
375
- return /* @__PURE__ */ v(
2112
+ return /* @__PURE__ */ k(
376
2113
  "div",
377
2114
  {
378
2115
  "data-rsv": "day",
379
2116
  role: "gridcell",
380
- "data-date": c,
381
- "data-today": String(t.isToday),
382
- "data-other": String(t.isOther),
383
- "data-weekend": String(t.isWeekend),
384
- "data-business": String(t.isBusiness),
385
- "data-selected": String(t.isSelected),
386
- onClick: g,
387
- onPointerDown: r.selectable ? (y) => Ct(y, {
388
- api: a,
389
- startDate: c,
2117
+ "data-date": g,
2118
+ "data-rsv-drop": a ? "true" : void 0,
2119
+ "data-today": String(e.isToday),
2120
+ "data-other": String(e.isOther),
2121
+ "data-weekend": String(e.isWeekend),
2122
+ "data-business": String(e.isBusiness),
2123
+ "data-selected": String(e.isSelected),
2124
+ class: N((M = r.classNames) == null ? void 0 : M.day),
2125
+ ref: (y) => {
2126
+ var f;
2127
+ W(y, (f = r.hooks) == null ? void 0 : f.dayCellDidMount, () => c), !(!y || o.current.has(y)) && o.current.set(y, zr(y));
2128
+ },
2129
+ onClick: b,
2130
+ onPointerDown: r.selectable ? (y) => Xe(y, {
2131
+ api: t,
2132
+ startDate: g,
390
2133
  onRangeSelect: () => {
391
2134
  h.current = !0;
392
2135
  }
393
2136
  }) : void 0,
394
2137
  children: [
395
- u,
396
- t.events.filter((y) => y.display !== "none").map((y) => /* @__PURE__ */ n(
397
- et,
2138
+ p,
2139
+ e.events.filter((y) => y.display !== "none").map((y) => /* @__PURE__ */ u(
2140
+ Se,
398
2141
  {
399
- api: a,
2142
+ api: t,
400
2143
  event: y,
401
2144
  options: r,
402
- sourceDate: c
2145
+ view: n,
2146
+ arrastrandose: s === y.id
403
2147
  },
404
2148
  y.id
405
2149
  )),
406
- t.moreCount > 0 && /* @__PURE__ */ v("div", { "data-rsv": "more-anchor", children: [
407
- /* @__PURE__ */ n("button", { type: "button", "data-rsv": "more-link", onClick: f, children: E(r.locale).more(t.moreCount) }),
408
- d && /* @__PURE__ */ n(
409
- xt,
2150
+ e.moreCount > 0 && /* @__PURE__ */ k("div", { "data-rsv": "more-anchor", children: [
2151
+ /* @__PURE__ */ u("button", { type: "button", "data-rsv": "more-link", onClick: w, children: L(
2152
+ (x = r.slots) == null ? void 0 : x.moreLinkContent,
2153
+ {
2154
+ date: i,
2155
+ moreCount: e.moreCount,
2156
+ allEvents: [...e.events, ...e.hiddenEvents],
2157
+ hiddenEvents: e.hiddenEvents,
2158
+ view: n
2159
+ },
2160
+ V(r.locale).more(e.moreCount),
2161
+ r.hostBridge
2162
+ ) }),
2163
+ D && /* @__PURE__ */ u(
2164
+ _r,
410
2165
  {
411
- api: a,
412
- cell: t,
2166
+ api: t,
2167
+ cell: e,
413
2168
  options: r,
414
- onClose: () => s(!1)
2169
+ view: n,
2170
+ onClose: () => v(!1)
415
2171
  }
416
2172
  )
417
2173
  ] })
@@ -419,287 +2175,502 @@ function St({
419
2175
  }
420
2176
  );
421
2177
  }
422
- function xt({
423
- api: a,
424
- cell: t,
2178
+ function _r({
2179
+ api: t,
2180
+ cell: e,
425
2181
  options: r,
426
- onClose: e
2182
+ view: n,
2183
+ onClose: a
427
2184
  }) {
428
- const o = F(null), i = new Intl.DateTimeFormat(r.locale ?? "en", {
2185
+ const o = F(null), s = new Intl.DateTimeFormat(r.locale ?? "en", {
429
2186
  weekday: "long",
430
2187
  day: "numeric",
431
2188
  month: "long"
432
- }), u = [...t.events, ...t.hiddenEvents].filter((d) => d.display !== "none");
433
- return q(() => {
2189
+ }), i = [...e.events, ...e.hiddenEvents].filter((d) => d.display !== "none");
2190
+ return R(() => {
434
2191
  const d = (c) => {
435
- o.current && !o.current.contains(c.target) && e();
436
- }, s = (c) => {
437
- c.key === "Escape" && e();
2192
+ o.current && !o.current.contains(c.target) && a();
2193
+ }, l = (c) => {
2194
+ c.key === "Escape" && a();
438
2195
  };
439
- return document.addEventListener("mousedown", d), document.addEventListener("keydown", s), () => {
440
- document.removeEventListener("mousedown", d), document.removeEventListener("keydown", s);
2196
+ return document.addEventListener("mousedown", d), document.addEventListener("keydown", l), () => {
2197
+ document.removeEventListener("mousedown", d), document.removeEventListener("keydown", l);
441
2198
  };
442
- }, [e]), /* @__PURE__ */ v("div", { "data-rsv": "more-popover", role: "dialog", ref: o, onClick: (d) => d.stopPropagation(), children: [
443
- /* @__PURE__ */ v("div", { "data-rsv": "more-popover-header", children: [
444
- /* @__PURE__ */ n("span", { "data-rsv": "more-popover-title", children: i.format(l.toDate(t.date)) }),
445
- /* @__PURE__ */ n("button", { type: "button", "data-rsv": "more-popover-close", "aria-label": "✕", onClick: e, children: "✕" })
2199
+ }, [a]), /* @__PURE__ */ k("div", { "data-rsv": "more-popover", role: "dialog", ref: o, onClick: (d) => d.stopPropagation(), children: [
2200
+ /* @__PURE__ */ k("div", { "data-rsv": "more-popover-header", children: [
2201
+ /* @__PURE__ */ u("span", { "data-rsv": "more-popover-title", children: s.format(m.toDate(e.date)) }),
2202
+ /* @__PURE__ */ u("button", { type: "button", "data-rsv": "more-popover-close", "aria-label": "✕", onClick: a, children: "✕" })
446
2203
  ] }),
447
- /* @__PURE__ */ n("div", { "data-rsv": "more-popover-body", children: u.map((d) => /* @__PURE__ */ n(
448
- et,
2204
+ /* @__PURE__ */ u("div", { "data-rsv": "more-popover-body", children: i.map((d) => /* @__PURE__ */ u(
2205
+ Se,
449
2206
  {
450
- api: a,
2207
+ api: t,
451
2208
  event: d,
452
2209
  options: r,
453
- sourceDate: l.toISOString(t.date)
2210
+ view: n,
2211
+ arrastrandose: !1
454
2212
  },
455
2213
  d.id
456
2214
  )) })
457
2215
  ] });
458
2216
  }
459
- function et({
460
- api: a,
461
- event: t,
2217
+ function Se({
2218
+ api: t,
2219
+ event: e,
462
2220
  options: r,
463
- sourceDate: e
2221
+ view: n,
2222
+ arrastrandose: a
464
2223
  }) {
465
- var s;
466
- const o = r.editable === !0 && t.editable !== !1, i = F(!1), u = t.allDay ? "" : l.format(t.start, "HH:mm"), d = x(
467
- (s = r.slots) == null ? void 0 : s.eventContent,
468
- { event: t, isAllDay: t.allDay, timeText: u },
469
- /* @__PURE__ */ v("span", { "data-rsv": "event-title", children: [
470
- u ? `${u} ` : "",
471
- t.title
472
- ] })
2224
+ var h, b;
2225
+ const o = r.editable === !0 && e.editable !== !1, s = o && r.eventDraggable === !0, i = F(null), d = F(null);
2226
+ R(() => () => {
2227
+ var w;
2228
+ return (w = i.current) == null ? void 0 : w.call(i);
2229
+ }, []);
2230
+ const l = t.selectedEventIds.value.has(e.id), c = F(!1), p = ct(r.locale ?? "en", r.eventTimeFormat), D = e.allDay ? "" : p ? p(m.toDate(e.start)) : m.format(e.start, "HH:mm"), v = { event: e, isAllDay: e.allDay, timeText: D, view: n }, g = L(
2231
+ (h = r.slots) == null ? void 0 : h.eventContent,
2232
+ v,
2233
+ /* @__PURE__ */ k("span", { "data-rsv": "event-title", children: [
2234
+ D ? `${D} ` : "",
2235
+ e.title
2236
+ ] }),
2237
+ r.hostBridge
473
2238
  );
474
- return /* @__PURE__ */ n(
2239
+ return /* @__PURE__ */ u(
475
2240
  "div",
476
2241
  {
477
2242
  "data-rsv": "event",
478
2243
  role: "button",
479
2244
  tabIndex: 0,
480
- class: $(...t.classNames),
481
- "data-all-day": String(t.allDay),
482
- "data-display": t.display,
483
- "data-event-id": t.id,
2245
+ class: N((b = r.classNames) == null ? void 0 : b.event, ...e.classNames),
2246
+ "data-all-day": String(e.allDay),
2247
+ "data-display": e.display,
2248
+ "data-event-id": e.id,
484
2249
  "data-editable": String(o),
485
- style: `--rsv-event-bg:${t.backgroundColor};--rsv-event-fg:${t.textColor}`,
486
- onClick: (c) => {
487
- if (c.stopPropagation(), i.current) {
488
- i.current = !1;
2250
+ "data-rsv-selected": String(l),
2251
+ "data-rsv-dragging": a ? "true" : void 0,
2252
+ ref: (w) => {
2253
+ var S, M;
2254
+ W(w, (S = r.hooks) == null ? void 0 : S.eventDidMount, () => v), w !== d.current && ((M = i.current) == null || M.call(i), d.current = w, i.current = w ? he(w, e, s) : null);
2255
+ },
2256
+ style: `--rsv-event-bg:${e.backgroundColor};--rsv-event-fg:${e.textColor};--rsv-event-border:${e.borderColor}`,
2257
+ onClick: (w) => {
2258
+ if (w.stopPropagation(), c.current) {
2259
+ c.current = !1;
489
2260
  return;
490
2261
  }
491
- a.trigger("eventClick", { event: t }), t.url && window.open(t.url, "_self");
492
- },
493
- onPointerDown: o ? (c) => kt(c, {
494
- api: a,
495
- event: t,
496
- sourceDate: e,
497
- onMoved: () => {
498
- i.current = !0;
2262
+ if (w.ctrlKey || w.metaKey) {
2263
+ t.toggleEventSelection(e.id);
2264
+ return;
499
2265
  }
2266
+ t.trigger("eventClick", { event: e, el: w.currentTarget }), e.url && window.open(e.url, "_self");
2267
+ },
2268
+ onKeyDown: o ? (w) => re(w, {
2269
+ api: t,
2270
+ event: e,
2271
+ kind: "dayGrid",
2272
+ shortcuts: r.keyboardShortcuts
500
2273
  }) : void 0,
501
- onKeyDown: o ? (c) => Q(c, { api: a, event: t, kind: "dayGrid" }) : void 0,
502
- children: d
2274
+ children: g
503
2275
  }
504
2276
  );
505
2277
  }
506
- function G(a, t) {
507
- a.preventDefault(), a.stopPropagation();
508
- const { api: r, event: e, model: o, columnEl: i, snap: u = "00:15", edge: d } = t, s = i.getBoundingClientRect(), c = o.maxMinutes - o.minMinutes, h = s.height === 0 ? 0 : s.height / c, g = a.clientY, f = (p) => {
509
- document.removeEventListener("pointerup", f);
510
- const y = lt(p.clientY - g, h, u);
511
- if (y === 0) return;
512
- const w = d ? ct(e.start, e.end, d, y, l) : A(e.start, e.end, y, l);
513
- if (r.moveEvent(e.id, w.start, w.end)) {
514
- const D = r.getEventById(e.id);
515
- D && r.trigger(d ? "eventResize" : "eventDrop", { event: D });
516
- }
517
- };
518
- document.addEventListener("pointerup", f);
519
- }
520
- function Mt(a, t) {
521
- if (a.target.closest('[data-rsv="event"]')) return;
522
- const { api: r, date: e, model: o, columnEl: i, snap: u = "00:15" } = t, d = i.getBoundingClientRect(), s = o.maxMinutes - o.minMinutes, c = d.height === 0 ? 0 : d.height / s, h = z(u) || 15, g = (k) => {
523
- const S = o.minMinutes + (c === 0 ? 0 : (k - d.top) / c), M = Math.max(o.minMinutes, Math.min(o.maxMinutes, S));
524
- return Math.round(M / h) * h;
525
- }, f = g(a.clientY);
526
- let p = f, y = !1;
527
- const w = (k) => {
528
- const S = g(k.clientY);
529
- S !== f && (y = !0), p = S;
530
- }, D = () => {
531
- if (document.removeEventListener("pointermove", w), document.removeEventListener("pointerup", D), !y) return;
532
- const k = Math.min(f, p), S = Math.max(f, p), M = l.startOf(e, "day");
2278
+ const it = 40, Qt = 16, Zr = {
2279
+ update() {
2280
+ },
2281
+ getScrolled: () => 0,
2282
+ stop() {
2283
+ }
2284
+ };
2285
+ function Oe(t) {
2286
+ if (!t) return Zr;
2287
+ let e = 0, r = 0, n = 0;
2288
+ const a = () => {
2289
+ const o = t.getBoundingClientRect();
2290
+ let s = 0;
2291
+ if (e < o.top + it ? s = -Qt * (1 - Math.max(0, e - o.top) / it) : e > o.bottom - it && (s = Qt * (1 - Math.max(0, o.bottom - e) / it)), s !== 0) {
2292
+ const i = t.scrollTop;
2293
+ t.scrollTop += s, r += t.scrollTop - i;
2294
+ }
2295
+ n = requestAnimationFrame(a);
2296
+ };
2297
+ return n = requestAnimationFrame(a), {
2298
+ update(o) {
2299
+ e = o;
2300
+ },
2301
+ getScrolled: () => r,
2302
+ stop() {
2303
+ cancelAnimationFrame(n);
2304
+ }
2305
+ };
2306
+ }
2307
+ function Te(t) {
2308
+ return t.closest('[data-rsv="tg-body"]');
2309
+ }
2310
+ function te(t, e) {
2311
+ t.preventDefault(), t.stopPropagation();
2312
+ const { api: r, event: n, model: a, columnEl: o, snap: s = "00:15", edge: i, onPreview: d } = e, l = o.getBoundingClientRect(), c = a.maxMinutes - a.minMinutes, p = l.height === 0 ? 0 : l.height / c, D = t.clientY, v = Oe(Te(o));
2313
+ v.update(t.clientY);
2314
+ const g = X(s) || 15, h = (S) => {
2315
+ const M = m.toDate(S);
2316
+ return M.getHours() * 60 + M.getMinutes();
2317
+ }, b = (S) => {
2318
+ if (v.update(S.clientY), !d) return;
2319
+ const M = It(S.clientY - D + v.getScrolled(), p, s), x = i ? $t(n.start, n.end, i, M, m) : ht(n.start, n.end, M, m), y = h(x.start), f = x.end ? h(x.end) : y + g;
2320
+ d({ startMin: Math.min(y, f), endMin: Math.max(y, f) });
2321
+ }, w = (S) => {
2322
+ document.removeEventListener("pointermove", b), document.removeEventListener("pointerup", w), v.stop(), d == null || d(null);
2323
+ const M = It(S.clientY - D + v.getScrolled(), p, s);
2324
+ if (M === 0) return;
2325
+ const x = i ? $t(n.start, n.end, i, M, m) : ht(n.start, n.end, M, m);
2326
+ if (r.moveEvent(n.id, x.start, x.end)) {
2327
+ const y = r.getEventById(n.id);
2328
+ y && r.trigger(i ? "eventResize" : "eventDrop", { event: y });
2329
+ }
2330
+ };
2331
+ document.addEventListener("pointermove", b), document.addEventListener("pointerup", w);
2332
+ }
2333
+ function Jr(t, e) {
2334
+ if (t.target.closest('[data-rsv="event"]')) return;
2335
+ const { api: r, date: n, model: a, columnEl: o, snap: s = "00:15" } = e, i = a.maxMinutes - a.minMinutes, d = X(s) || 15, l = (b) => {
2336
+ const w = o.getBoundingClientRect(), S = w.height === 0 ? 0 : w.height / i, M = a.minMinutes + (S === 0 ? 0 : (b - w.top) / S), x = Math.max(a.minMinutes, Math.min(a.maxMinutes, M));
2337
+ return Math.round(x / d) * d;
2338
+ }, c = l(t.clientY);
2339
+ let p = c, D = !1;
2340
+ const v = Oe(Te(o));
2341
+ v.update(t.clientY);
2342
+ const g = (b) => {
2343
+ var S;
2344
+ v.update(b.clientY);
2345
+ const w = l(b.clientY);
2346
+ w !== c && (D = !0), p = w, D && ((S = e.onPreview) == null || S.call(e, {
2347
+ startMin: Math.min(c, p),
2348
+ endMin: Math.max(c, p)
2349
+ }));
2350
+ }, h = () => {
2351
+ var M;
2352
+ if (document.removeEventListener("pointermove", g), document.removeEventListener("pointerup", h), v.stop(), (M = e.onPreview) == null || M.call(e, null), !D) return;
2353
+ const b = Math.min(c, p), w = Math.max(c, p), S = m.startOf(n, "day");
533
2354
  r.select(
534
- l.toISOString(l.add(M, { minutes: k })),
535
- l.toISOString(l.add(M, { minutes: S }))
2355
+ m.toISOString(m.add(S, { minutes: b })),
2356
+ m.toISOString(m.add(S, { minutes: w }))
536
2357
  );
537
2358
  };
538
- document.addEventListener("pointermove", w), document.addEventListener("pointerup", D);
2359
+ document.addEventListener("pointermove", g), document.addEventListener("pointerup", h);
539
2360
  }
540
- function Et({ api: a, model: t, options: r }) {
541
- const e = r.locale ?? "en", o = new Intl.DateTimeFormat(e, { weekday: "short", day: "numeric" }), i = r.allDaySlot !== !1, u = `calc(var(--spacing-rsv-slot, 2.5rem) * ${t.slots.length})`;
542
- return /* @__PURE__ */ v("div", { "data-rsv": "timegrid", style: `--rsv-tg-days:${t.days.length}`, children: [
543
- /* @__PURE__ */ v("div", { "data-rsv": "tg-header", role: "row", children: [
544
- /* @__PURE__ */ n("div", { "data-rsv": "tg-axis-corner" }),
545
- t.days.map((d) => /* @__PURE__ */ n(
546
- "div",
547
- {
548
- "data-rsv": "tg-col-header",
549
- role: "columnheader",
550
- "data-today": String(d.isToday),
551
- "data-nav-link": r.navLinks ? "true" : void 0,
552
- onClick: r.navLinks ? () => J(a, d.date) : void 0,
553
- children: o.format(l.toDate(d.date))
554
- },
555
- l.toISOString(d.date)
556
- ))
2361
+ function Qr({ api: t, model: e, options: r }) {
2362
+ const n = r.locale ?? "en", a = { type: t.getView().type }, o = st(n, r.dayHeaderFormat, {
2363
+ weekday: "short",
2364
+ day: "numeric"
2365
+ }), s = ct(n, r.slotLabelFormat), i = r.allDaySlot !== !1, d = `calc(var(--spacing-rsv-slot, 2.5rem) * ${e.slots.length})`, l = e.maxMinutes - e.minMinutes, c = X(r.snapDuration ?? r.slotDuration ?? "00:15") || 15, p = F(null), D = F(e);
2366
+ D.current = e;
2367
+ const [v, g] = K(null), [h, b] = K(null), w = F(null), S = F(/* @__PURE__ */ new Map());
2368
+ R(() => {
2369
+ const f = S.current;
2370
+ return () => {
2371
+ for (const T of f.values()) T();
2372
+ f.clear();
2373
+ };
2374
+ }, []), R(
2375
+ () => Gr({
2376
+ api: t,
2377
+ getModel: () => D.current,
2378
+ snap: r.snapDuration ?? r.slotDuration,
2379
+ onPreview: (f) => b(f ? { id: w.current ?? "", preview: f } : null),
2380
+ onDragging: (f) => {
2381
+ w.current = f, f === null && b(null);
2382
+ }
2383
+ }),
2384
+ [t, r.snapDuration, r.slotDuration]
2385
+ ), R(() => {
2386
+ const f = p.current;
2387
+ if (!f) return;
2388
+ const T = {
2389
+ scrollToTime(C) {
2390
+ const E = D.current, P = E.maxMinutes - E.minMinutes, I = f.scrollHeight;
2391
+ if (P <= 0 || I <= 0) return;
2392
+ const j = (Math.max(E.minMinutes, Math.min(E.maxMinutes, X(C))) - E.minMinutes) / P * I;
2393
+ f.scrollTop = Math.max(0, Math.min(j, I - f.clientHeight));
2394
+ },
2395
+ getScrollTime() {
2396
+ const C = D.current, E = C.maxMinutes - C.minMinutes, P = f.scrollHeight;
2397
+ return E <= 0 || P <= 0 ? null : We(C.minMinutes + f.scrollTop / P * E);
2398
+ }
2399
+ };
2400
+ return t.setViewAdapter(T), () => t.setViewAdapter(null);
2401
+ }, [t]);
2402
+ const M = r.scrollTime;
2403
+ R(() => {
2404
+ if (!M) return;
2405
+ let f = 0;
2406
+ const T = requestAnimationFrame(() => {
2407
+ f = requestAnimationFrame(() => t.scrollToTime(M));
2408
+ });
2409
+ return () => {
2410
+ cancelAnimationFrame(T), cancelAnimationFrame(f);
2411
+ };
2412
+ }, [t]);
2413
+ const x = (f, T) => {
2414
+ const C = f.getBoundingClientRect();
2415
+ if (C.height === 0 || l <= 0) return e.minMinutes;
2416
+ const E = (T - C.top) / C.height * l, P = Math.floor(Math.max(0, Math.min(l, E)) / c) * c;
2417
+ return e.minMinutes + P;
2418
+ }, y = e.days[0];
2419
+ return /* @__PURE__ */ k("div", { "data-rsv": "timegrid", style: `--rsv-tg-days:${e.days.length}`, children: [
2420
+ /* @__PURE__ */ k("div", { "data-rsv": "tg-header", role: "row", children: [
2421
+ /* @__PURE__ */ u("div", { "data-rsv": "tg-axis-corner" }),
2422
+ e.days.map((f) => {
2423
+ var P, I;
2424
+ const T = m.toDate(f.date), C = o ? o(T) : "", E = {
2425
+ date: T,
2426
+ text: C,
2427
+ dayOfWeek: m.dayOfWeek(f.date),
2428
+ dayNumber: m.dayOfMonth(f.date),
2429
+ isToday: f.isToday,
2430
+ view: a
2431
+ };
2432
+ return /* @__PURE__ */ u(
2433
+ "div",
2434
+ {
2435
+ "data-rsv": "tg-col-header",
2436
+ role: "columnheader",
2437
+ "data-today": String(f.isToday),
2438
+ "data-date": m.toISOString(f.date),
2439
+ "data-nav-link": r.navLinks ? "true" : void 0,
2440
+ class: N((P = r.classNames) == null ? void 0 : P.dayHeader),
2441
+ ref: ($) => {
2442
+ var j;
2443
+ return W($, (j = r.hooks) == null ? void 0 : j.dayHeaderDidMount, () => E);
2444
+ },
2445
+ onClick: r.navLinks ? () => ee(t, f.date) : void 0,
2446
+ children: L((I = r.slots) == null ? void 0 : I.dayHeaderContent, E, C, r.hostBridge)
2447
+ },
2448
+ m.toISOString(f.date)
2449
+ );
2450
+ })
557
2451
  ] }),
558
- i && /* @__PURE__ */ v("div", { "data-rsv": "tg-allday", role: "row", children: [
559
- /* @__PURE__ */ n("div", { "data-rsv": "tg-axis-label", children: E(r.locale).allDay }),
560
- t.days.map((d) => /* @__PURE__ */ n("div", { "data-rsv": "tg-allday-cell", children: d.allDayEvents.filter((s) => s.display !== "none").map((s) => /* @__PURE__ */ n(
2452
+ i && /* @__PURE__ */ k("div", { "data-rsv": "tg-allday", role: "row", children: [
2453
+ /* @__PURE__ */ u("div", { "data-rsv": "tg-axis-label", children: V(r.locale).allDay }),
2454
+ e.days.map((f) => /* @__PURE__ */ u(
561
2455
  "div",
562
2456
  {
563
- "data-rsv": "event",
564
- "data-all-day": "true",
565
- class: $(...s.classNames),
566
- "data-display": s.display,
567
- style: `--rsv-event-bg:${s.backgroundColor}`,
568
- onClick: () => {
569
- a.trigger("eventClick", { event: s }), s.url && window.open(s.url, "_self");
570
- },
571
- children: s.title
2457
+ "data-rsv": "tg-allday-cell",
2458
+ onClick: () => t.trigger("dateClick", { date: f.date, allDay: !0 }),
2459
+ children: f.allDayEvents.filter((T) => T.display !== "none").map((T) => {
2460
+ var C, E;
2461
+ return /* @__PURE__ */ u(
2462
+ "div",
2463
+ {
2464
+ "data-rsv": "event",
2465
+ "data-all-day": "true",
2466
+ "data-event-id": T.id,
2467
+ class: N((C = r.classNames) == null ? void 0 : C.event, ...T.classNames),
2468
+ "data-display": T.display,
2469
+ style: `--rsv-event-bg:${T.backgroundColor};--rsv-event-fg:${T.textColor};--rsv-event-border:${T.borderColor}`,
2470
+ onClick: (P) => {
2471
+ P.stopPropagation(), t.trigger("eventClick", { event: T, el: P.currentTarget }), T.url && window.open(T.url, "_self");
2472
+ },
2473
+ children: L(
2474
+ (E = r.slots) == null ? void 0 : E.eventContent,
2475
+ { event: T, isAllDay: !0, timeText: "", view: a },
2476
+ T.title,
2477
+ r.hostBridge
2478
+ )
2479
+ },
2480
+ T.id
2481
+ );
2482
+ })
572
2483
  },
573
- s.id
574
- )) }, l.toISOString(d.date)))
2484
+ m.toISOString(f.date)
2485
+ ))
575
2486
  ] }),
576
- /* @__PURE__ */ v("div", { "data-rsv": "tg-body", children: [
577
- /* @__PURE__ */ n("div", { "data-rsv": "tg-axis", style: `height:${u}`, children: t.slots.map((d) => {
578
- var s;
579
- return /* @__PURE__ */ n("div", { "data-rsv": "tg-slot", "data-major": String(d.isMajor), children: /* @__PURE__ */ n("span", { "data-rsv": "tg-slot-label", children: x(
580
- (s = r.slots) == null ? void 0 : s.slotLabelContent,
581
- { text: d.label, minutes: d.offsetMin, isMajor: d.isMajor },
582
- d.label
583
- ) }) }, d.offsetMin);
2487
+ /* @__PURE__ */ k("div", { "data-rsv": "tg-body", ref: p, children: [
2488
+ /* @__PURE__ */ u("div", { "data-rsv": "tg-axis", style: `height:${d}`, children: e.slots.map((f) => {
2489
+ var P, I;
2490
+ const T = e.minMinutes + f.offsetMin;
2491
+ let C = "";
2492
+ f.isMajor && (C = s && y ? s(m.toDate(m.add(m.startOf(y.date, "day"), { minutes: T }))) : f.label || Ye(T));
2493
+ const E = { text: C, minutes: T, isMajor: f.isMajor, view: a };
2494
+ return /* @__PURE__ */ u("div", { "data-rsv": "tg-slot", "data-major": String(f.isMajor), children: /* @__PURE__ */ u(
2495
+ "span",
2496
+ {
2497
+ "data-rsv": "tg-slot-label",
2498
+ class: N((P = r.classNames) == null ? void 0 : P.slotLabel),
2499
+ ref: ($) => {
2500
+ var j;
2501
+ return W($, (j = r.hooks) == null ? void 0 : j.slotLabelDidMount, () => E);
2502
+ },
2503
+ children: L((I = r.slots) == null ? void 0 : I.slotLabelContent, E, C, r.hostBridge)
2504
+ }
2505
+ ) }, f.offsetMin);
584
2506
  }) }),
585
- t.days.map((d, s) => {
586
- var c;
587
- return /* @__PURE__ */ v(
2507
+ e.days.map((f, T) => {
2508
+ var C;
2509
+ return /* @__PURE__ */ k(
588
2510
  "div",
589
2511
  {
590
2512
  "data-rsv": "tg-col",
591
- "data-today": String(d.isToday),
592
- style: `height:${u}`,
593
- onClick: () => a.trigger("dateClick", { date: d.date }),
594
- onPointerDown: r.selectable ? (h) => Mt(h, {
595
- api: a,
596
- date: d.date,
597
- model: t,
598
- columnEl: h.currentTarget,
599
- snap: r.snapDuration ?? r.slotDuration
2513
+ "data-today": String(f.isToday),
2514
+ "data-date": m.toISOString(f.date),
2515
+ "data-rsv-day-index": String(T),
2516
+ ref: (E) => {
2517
+ !E || S.current.has(E) || S.current.set(E, Vr(E));
2518
+ },
2519
+ style: `height:${d}`,
2520
+ onClick: (E) => {
2521
+ if (ye()) return;
2522
+ const P = x(E.currentTarget, E.clientY);
2523
+ t.trigger("dateClick", {
2524
+ date: m.add(m.startOf(f.date, "day"), { minutes: P }),
2525
+ allDay: !1
2526
+ });
2527
+ },
2528
+ onPointerDown: r.selectable ? (E) => Jr(E, {
2529
+ api: t,
2530
+ date: f.date,
2531
+ model: e,
2532
+ columnEl: E.currentTarget,
2533
+ snap: r.snapDuration ?? r.slotDuration,
2534
+ onPreview: r.selectMirror ? (P) => g(
2535
+ P ? { dayIndex: T, startMin: P.startMin, endMin: P.endMin } : null
2536
+ ) : void 0
600
2537
  }) : void 0,
601
2538
  children: [
602
- r.businessHours && !d.businessPct && /* @__PURE__ */ n("div", { "data-rsv": "tg-nonbusiness", style: "top:0;height:100%" }),
603
- d.businessPct && /* @__PURE__ */ v(ht, { children: [
604
- /* @__PURE__ */ n("div", { "data-rsv": "tg-nonbusiness", style: `top:0;height:${d.businessPct.topPct}%` }),
605
- /* @__PURE__ */ n(
2539
+ r.businessHours && !f.businessPct && /* @__PURE__ */ u("div", { "data-rsv": "tg-nonbusiness", style: "top:0;height:100%" }),
2540
+ f.businessPct && /* @__PURE__ */ k($e, { children: [
2541
+ /* @__PURE__ */ u("div", { "data-rsv": "tg-nonbusiness", style: `top:0;height:${f.businessPct.topPct}%` }),
2542
+ /* @__PURE__ */ u(
606
2543
  "div",
607
2544
  {
608
2545
  "data-rsv": "tg-nonbusiness",
609
- style: `top:${d.businessPct.bottomPct}%;height:${100 - d.businessPct.bottomPct}%`
2546
+ style: `top:${f.businessPct.bottomPct}%;height:${100 - f.businessPct.bottomPct}%`
610
2547
  }
611
2548
  )
612
2549
  ] }),
613
- d.timedSegs.filter((h) => h.event.display !== "none").map((h) => /* @__PURE__ */ n(
614
- $t,
2550
+ (v == null ? void 0 : v.dayIndex) === T && l > 0 && /* @__PURE__ */ u(
2551
+ "div",
615
2552
  {
616
- api: a,
617
- seg: h,
618
- model: t,
619
- options: r
2553
+ "data-rsv": "select-mirror",
2554
+ style: `top:${(v.startMin - e.minMinutes) / l * 100}%;height:${(v.endMin - v.startMin) / l * 100}%`
2555
+ }
2556
+ ),
2557
+ f.timedSegs.filter((E) => E.event.display !== "none").map((E) => /* @__PURE__ */ u(
2558
+ tn,
2559
+ {
2560
+ api: t,
2561
+ seg: E,
2562
+ model: e,
2563
+ options: r,
2564
+ view: a,
2565
+ dragging: (h == null ? void 0 : h.id) === E.event.id,
2566
+ onDragPreview: (P) => b(P ? { id: E.event.id, preview: { dayIndex: T, ...P } } : null)
620
2567
  },
621
- h.event.id
2568
+ E.event.id
622
2569
  )),
623
- ((c = t.nowIndicator) == null ? void 0 : c.dayIndex) === s && /* @__PURE__ */ n("div", { "data-rsv": "now-indicator", style: `top:${t.nowIndicator.topPct}%` })
2570
+ (h == null ? void 0 : h.preview.dayIndex) === T && l > 0 && /* @__PURE__ */ u(
2571
+ "div",
2572
+ {
2573
+ "data-rsv": "drag-mirror",
2574
+ style: `top:${(h.preview.startMin - e.minMinutes) / l * 100}%;height:${(h.preview.endMin - h.preview.startMin) / l * 100}%`
2575
+ }
2576
+ ),
2577
+ ((C = e.nowIndicator) == null ? void 0 : C.dayIndex) === T && /* @__PURE__ */ u("div", { "data-rsv": "now-indicator", style: `top:${e.nowIndicator.topPct}%` })
624
2578
  ]
625
2579
  },
626
- l.toISOString(d.date)
2580
+ m.toISOString(f.date)
627
2581
  );
628
2582
  })
629
2583
  ] })
630
2584
  ] });
631
2585
  }
632
- function $t({
633
- api: a,
634
- seg: t,
2586
+ function tn({
2587
+ api: t,
2588
+ seg: e,
635
2589
  model: r,
636
- options: e
2590
+ options: n,
2591
+ view: a,
2592
+ dragging: o,
2593
+ onDragPreview: s
637
2594
  }) {
638
- var h;
639
- const { event: o } = t, i = e.editable === !0 && o.editable !== !1, u = 100 / t.colCount, d = l.format(o.start, "HH:mm"), s = x(
640
- (h = e.slots) == null ? void 0 : h.eventContent,
641
- { event: o, isAllDay: !1, timeText: d },
642
- /* @__PURE__ */ v("span", { "data-rsv": "event-title", children: [
643
- d,
2595
+ var M, x;
2596
+ const { event: i } = e, d = n.editable === !0 && i.editable !== !1, l = d && n.eventDraggable === !0, c = F(null), p = F(null);
2597
+ R(() => () => {
2598
+ var y;
2599
+ return (y = c.current) == null ? void 0 : y.call(c);
2600
+ }, []);
2601
+ const D = t.selectedEventIds.value.has(i.id), v = 100 / e.colCount, g = ct(n.locale ?? "en", n.eventTimeFormat), h = g ? g(m.toDate(i.start)) : m.format(i.start, "HH:mm"), b = { event: i, isAllDay: !1, timeText: h, view: a }, w = L(
2602
+ (M = n.slots) == null ? void 0 : M.eventContent,
2603
+ b,
2604
+ /* @__PURE__ */ k("span", { "data-rsv": "event-title", children: [
2605
+ h,
644
2606
  " ",
645
- o.title
646
- ] })
647
- ), c = (g) => g.closest('[data-rsv="tg-col"]') ?? g;
648
- return /* @__PURE__ */ v(
2607
+ i.title
2608
+ ] }),
2609
+ n.hostBridge
2610
+ ), S = (y) => y.closest('[data-rsv="tg-col"]') ?? y;
2611
+ return /* @__PURE__ */ k(
649
2612
  "div",
650
2613
  {
651
2614
  "data-rsv": "event",
652
2615
  "data-all-day": "false",
653
- "data-display": o.display,
654
- "data-event-id": o.id,
655
- class: $(...o.classNames),
2616
+ "data-display": i.display,
2617
+ "data-event-id": i.id,
2618
+ "data-rsv-selected": String(D),
2619
+ "data-rsv-dragging": o ? "true" : void 0,
2620
+ class: N((x = n.classNames) == null ? void 0 : x.event, ...i.classNames),
656
2621
  role: "button",
657
2622
  tabIndex: 0,
658
- style: `position:absolute;top:${t.topPct}%;height:${t.heightPct}%;left:${t.col * u}%;width:${u}%;--rsv-event-bg:${o.backgroundColor};--rsv-event-fg:${o.textColor}`,
659
- onClick: (g) => {
660
- g.stopPropagation(), a.trigger("eventClick", { event: o }), o.url && window.open(o.url, "_self");
2623
+ ref: (y) => {
2624
+ var f, T;
2625
+ W(y, (f = n.hooks) == null ? void 0 : f.eventDidMount, () => b), y !== p.current && ((T = c.current) == null || T.call(c), p.current = y, c.current = y ? he(y, i, l) : null);
661
2626
  },
662
- onKeyDown: i ? (g) => Q(g, {
663
- api: a,
664
- event: o,
2627
+ style: `position:absolute;top:${e.topPct}%;height:${e.heightPct}%;left:${e.col * v}%;width:${v}%;--rsv-event-bg:${i.backgroundColor};--rsv-event-fg:${i.textColor};--rsv-event-border:${i.borderColor}`,
2628
+ onClick: (y) => {
2629
+ if (y.stopPropagation(), !ye()) {
2630
+ if (y.ctrlKey || y.metaKey) {
2631
+ t.toggleEventSelection(i.id);
2632
+ return;
2633
+ }
2634
+ t.trigger("eventClick", { event: i, el: y.currentTarget }), i.url && window.open(i.url, "_self");
2635
+ }
2636
+ },
2637
+ onKeyDown: d ? (y) => re(y, {
2638
+ api: t,
2639
+ event: i,
665
2640
  kind: "timeGrid",
666
- snap: e.snapDuration ?? e.slotDuration
667
- }) : void 0,
668
- onPointerDown: i ? (g) => G(g, {
669
- api: a,
670
- event: o,
671
- model: r,
672
- columnEl: c(g.currentTarget),
673
- snap: e.snapDuration
2641
+ snap: n.snapDuration ?? n.slotDuration,
2642
+ shortcuts: n.keyboardShortcuts
674
2643
  }) : void 0,
675
2644
  children: [
676
- i && /* @__PURE__ */ n(
2645
+ d && /* @__PURE__ */ u(
677
2646
  "span",
678
2647
  {
679
2648
  "data-rsv": "resize-handle",
680
2649
  "data-edge": "start",
681
- onPointerDown: (g) => G(g, {
682
- api: a,
683
- event: o,
2650
+ onPointerDown: (y) => te(y, {
2651
+ api: t,
2652
+ event: i,
684
2653
  model: r,
685
- columnEl: c(g.currentTarget),
686
- snap: e.snapDuration,
2654
+ columnEl: S(y.currentTarget),
2655
+ snap: n.snapDuration,
2656
+ onPreview: s,
687
2657
  edge: "start"
688
2658
  })
689
2659
  }
690
2660
  ),
691
- s,
692
- i && /* @__PURE__ */ n(
2661
+ w,
2662
+ d && /* @__PURE__ */ u(
693
2663
  "span",
694
2664
  {
695
2665
  "data-rsv": "resize-handle",
696
2666
  "data-edge": "end",
697
- onPointerDown: (g) => G(g, {
698
- api: a,
699
- event: o,
2667
+ onPointerDown: (y) => te(y, {
2668
+ api: t,
2669
+ event: i,
700
2670
  model: r,
701
- columnEl: c(g.currentTarget),
702
- snap: e.snapDuration,
2671
+ columnEl: S(y.currentTarget),
2672
+ snap: n.snapDuration,
2673
+ onPreview: s,
703
2674
  edge: "end"
704
2675
  })
705
2676
  }
@@ -708,227 +2679,337 @@ function $t({
708
2679
  }
709
2680
  );
710
2681
  }
711
- function Tt({ api: a, model: t, options: r }) {
712
- const e = r.locale ?? "en", o = E(r.locale), i = new Intl.DateTimeFormat(e, {
2682
+ function en({ api: t, model: e, options: r }) {
2683
+ const n = r.locale ?? "en", a = { type: t.getView().type }, o = V(r.locale), s = st(n, r.listDayFormat, {
713
2684
  weekday: "long",
714
2685
  day: "numeric",
715
2686
  month: "long"
716
- });
717
- return t.isEmpty ? /* @__PURE__ */ n("div", { "data-rsv": "list", children: /* @__PURE__ */ n("div", { "data-rsv": "list-empty", children: o.noEvents }) }) : /* @__PURE__ */ n("div", { "data-rsv": "list", role: "list", children: t.days.map((u) => /* @__PURE__ */ v("div", { "data-rsv": "list-day", "data-today": String(u.isToday), children: [
718
- /* @__PURE__ */ n("div", { "data-rsv": "list-day-header", role: "heading", "aria-level": 3, children: i.format(l.toDate(u.date)) }),
719
- u.events.filter((d) => d.display !== "none").map((d) => {
720
- var c;
721
- const s = d.allDay ? o.allDay : l.format(d.start, "HH:mm");
722
- return /* @__PURE__ */ v(
2687
+ }), i = r.listDaySideFormat ? st(n, r.listDaySideFormat, { month: "short", day: "2-digit" }) : null, d = ct(n, r.eventTimeFormat);
2688
+ return e.isEmpty ? /* @__PURE__ */ u("div", { "data-rsv": "list", children: /* @__PURE__ */ u("div", { "data-rsv": "list-empty", children: o.noEvents }) }) : /* @__PURE__ */ u("div", { "data-rsv": "list", role: "list", children: e.days.map((l) => /* @__PURE__ */ k("div", { "data-rsv": "list-day", "data-today": String(l.isToday), children: [
2689
+ /* @__PURE__ */ k("div", { "data-rsv": "list-day-header", role: "heading", "aria-level": 3, children: [
2690
+ /* @__PURE__ */ u("span", { "data-rsv": "list-day-text", children: s ? s(m.toDate(l.date)) : "" }),
2691
+ i && /* @__PURE__ */ u("span", { "data-rsv": "list-day-side-text", children: i(m.toDate(l.date)) })
2692
+ ] }),
2693
+ l.events.filter((c) => c.display !== "none").map((c) => {
2694
+ var v, g;
2695
+ const p = c.allDay ? o.allDay : d ? d(m.toDate(c.start)) : m.format(c.start, "HH:mm"), D = { event: c, isAllDay: c.allDay, timeText: p, view: a };
2696
+ return /* @__PURE__ */ k(
723
2697
  "div",
724
2698
  {
725
2699
  "data-rsv": "list-item",
726
2700
  role: "listitem",
727
2701
  tabIndex: 0,
728
- class: $(...d.classNames),
729
- "data-display": d.display,
730
- onClick: () => {
731
- a.trigger("eventClick", { event: d }), d.url && window.open(d.url, "_self");
2702
+ "data-event-id": c.id,
2703
+ class: N((v = r.classNames) == null ? void 0 : v.event, ...c.classNames),
2704
+ "data-display": c.display,
2705
+ ref: (h) => {
2706
+ var b;
2707
+ return W(h, (b = r.hooks) == null ? void 0 : b.eventDidMount, () => D);
2708
+ },
2709
+ style: `--rsv-event-bg:${c.backgroundColor};--rsv-event-fg:${c.textColor};--rsv-event-border:${c.borderColor}`,
2710
+ onClick: (h) => {
2711
+ t.trigger("eventClick", { event: c, el: h.currentTarget }), c.url && window.open(c.url, "_self");
732
2712
  },
733
2713
  children: [
734
- /* @__PURE__ */ n("span", { "data-rsv": "list-item-time", children: s }),
735
- /* @__PURE__ */ n(
2714
+ /* @__PURE__ */ u("span", { "data-rsv": "list-item-time", children: p }),
2715
+ /* @__PURE__ */ u(
736
2716
  "span",
737
2717
  {
738
2718
  "data-rsv": "list-item-dot",
739
- style: `--rsv-event-bg:${d.backgroundColor}`
2719
+ style: `--rsv-event-bg:${c.backgroundColor}`
740
2720
  }
741
2721
  ),
742
- /* @__PURE__ */ n("span", { "data-rsv": "list-item-title", children: x(
743
- (c = r.slots) == null ? void 0 : c.eventContent,
744
- { event: d, isAllDay: d.allDay, timeText: s },
745
- d.title
2722
+ /* @__PURE__ */ u("div", { "data-rsv": "list-item-title", children: L(
2723
+ (g = r.slots) == null ? void 0 : g.eventContent,
2724
+ D,
2725
+ c.title,
2726
+ r.hostBridge
746
2727
  ) })
747
2728
  ]
748
2729
  },
749
- d.id
2730
+ c.id
750
2731
  );
751
2732
  })
752
- ] }, l.toISOString(u.date))) });
753
- }
754
- function Pt({ api: a, model: t, options: r }) {
755
- const e = r.locale ?? "en", o = new Intl.DateTimeFormat(e, { month: "long" });
756
- return /* @__PURE__ */ n("div", { "data-rsv": "multimonth", children: t.months.map((i) => /* @__PURE__ */ v("section", { "data-rsv": "mm-month", children: [
757
- /* @__PURE__ */ n("header", { "data-rsv": "mm-title", children: o.format(l.toDate(i.date)) }),
758
- /* @__PURE__ */ n(tt, { api: a, model: i.dayGrid, options: r })
759
- ] }, l.toISOString(i.date))) });
760
- }
761
- const Y = 1.6;
762
- function It({ api: a, model: t, options: r }) {
763
- return /* @__PURE__ */ v("div", { "data-rsv": "timeline", children: [
764
- /* @__PURE__ */ n("div", { "data-rsv": "tl-axis", role: "row", children: t.slots.map((e) => /* @__PURE__ */ n("div", { "data-rsv": "tl-slot", style: `left:${e.leftPct}%`, children: e.label }, e.leftPct)) }),
765
- /* @__PURE__ */ n("div", { "data-rsv": "tl-body", style: `height:${t.laneCount * Y + 0.5}rem`, children: t.segs.map((e) => /* @__PURE__ */ n(rt, { api: a, seg: e, options: r }, e.event.id)) })
2733
+ ] }, m.toISOString(l.date))) });
2734
+ }
2735
+ function rn({ api: t, model: e, options: r }) {
2736
+ const n = r.locale ?? "en", a = new Intl.DateTimeFormat(n, { month: "long" });
2737
+ return /* @__PURE__ */ u("div", { "data-rsv": "multimonth", children: e.months.map((o) => /* @__PURE__ */ k("section", { "data-rsv": "mm-month", children: [
2738
+ /* @__PURE__ */ u("header", { "data-rsv": "mm-title", children: a.format(m.toDate(o.date)) }),
2739
+ /* @__PURE__ */ u(De, { api: t, model: o.dayGrid, options: r })
2740
+ ] }, m.toISOString(o.date))) });
2741
+ }
2742
+ const Tt = 1.6;
2743
+ function nn({ api: t, model: e, options: r }) {
2744
+ return /* @__PURE__ */ k("div", { "data-rsv": "timeline", children: [
2745
+ /* @__PURE__ */ u("div", { "data-rsv": "tl-axis", role: "row", children: e.slots.map((n) => /* @__PURE__ */ u("div", { "data-rsv": "tl-slot", style: `left:${n.leftPct}%`, children: n.label }, n.leftPct)) }),
2746
+ /* @__PURE__ */ u("div", { "data-rsv": "tl-body", style: `height:${e.laneCount * Tt + 0.5}rem`, children: e.segs.map((n) => /* @__PURE__ */ u(Ee, { api: t, seg: n, options: r }, n.event.id)) })
766
2747
  ] });
767
2748
  }
768
- function rt({
769
- api: a,
770
- seg: t,
2749
+ function Ee({
2750
+ api: t,
2751
+ seg: e,
771
2752
  options: r
772
2753
  }) {
773
- var o;
774
- const { event: e } = t;
775
- return /* @__PURE__ */ n(
2754
+ var a;
2755
+ const { event: n } = e;
2756
+ return /* @__PURE__ */ u(
776
2757
  "div",
777
2758
  {
778
2759
  "data-rsv": "event",
779
- "data-event-id": e.id,
2760
+ "data-event-id": n.id,
780
2761
  role: "button",
781
2762
  tabIndex: 0,
782
- style: `position:absolute;left:${t.leftPct}%;width:${t.widthPct}%;top:${t.lane * Y}rem;height:${Y - 0.2}rem;--rsv-event-bg:${e.backgroundColor};--rsv-event-fg:${e.textColor}`,
783
- onClick: () => a.trigger("eventClick", { event: e }),
784
- children: x(
785
- (o = r.slots) == null ? void 0 : o.eventContent,
786
- { event: e, isAllDay: e.allDay, timeText: "" },
787
- e.title
2763
+ style: `position:absolute;left:${e.leftPct}%;width:${e.widthPct}%;top:${e.lane * Tt}rem;height:${Tt - 0.2}rem;--rsv-event-bg:${n.backgroundColor};--rsv-event-fg:${n.textColor};--rsv-event-border:${n.borderColor}`,
2764
+ onClick: (o) => t.trigger("eventClick", { event: n, el: o.currentTarget }),
2765
+ children: L(
2766
+ (a = r.slots) == null ? void 0 : a.eventContent,
2767
+ { event: n, isAllDay: n.allDay, timeText: "", view: { type: t.getView().type } },
2768
+ n.title,
2769
+ r.hostBridge
788
2770
  )
789
2771
  }
790
2772
  );
791
2773
  }
792
- const Lt = 1.6;
793
- function Ot({ api: a, model: t, options: r }) {
794
- return /* @__PURE__ */ v("div", { "data-rsv": "resource-timeline", children: [
795
- /* @__PURE__ */ v("div", { "data-rsv": "rt-header", role: "row", children: [
796
- /* @__PURE__ */ n("div", { "data-rsv": "resource-area-header", children: r.locale === "es" ? "Recursos" : "Resources" }),
797
- /* @__PURE__ */ n("div", { "data-rsv": "tl-axis", children: t.slots.map((e) => /* @__PURE__ */ n("div", { "data-rsv": "tl-slot", style: `left:${e.leftPct}%`, children: e.label }, e.leftPct)) })
2774
+ const an = 1.6;
2775
+ function on({ api: t, model: e, options: r }) {
2776
+ return /* @__PURE__ */ k("div", { "data-rsv": "resource-timeline", children: [
2777
+ /* @__PURE__ */ k("div", { "data-rsv": "rt-header", role: "row", children: [
2778
+ /* @__PURE__ */ u("div", { "data-rsv": "resource-area-header", children: r.locale === "es" ? "Recursos" : "Resources" }),
2779
+ /* @__PURE__ */ u("div", { "data-rsv": "tl-axis", children: e.slots.map((n) => /* @__PURE__ */ u("div", { "data-rsv": "tl-slot", style: `left:${n.leftPct}%`, children: n.label }, n.leftPct)) })
798
2780
  ] }),
799
- t.lanes.map((e) => {
800
- const o = e.laneCount * Lt + 0.4;
801
- return /* @__PURE__ */ v("div", { "data-rsv": "resource-row", role: "row", children: [
802
- /* @__PURE__ */ v(
2781
+ e.lanes.map((n) => {
2782
+ const a = n.laneCount * an + 0.4;
2783
+ return /* @__PURE__ */ k("div", { "data-rsv": "resource-row", role: "row", children: [
2784
+ /* @__PURE__ */ k(
803
2785
  "div",
804
2786
  {
805
2787
  "data-rsv": "resource-label",
806
- style: `padding-inline-start:${0.5 + e.row.depth * 1}rem`,
2788
+ style: `padding-inline-start:${0.5 + n.row.depth * 1}rem`,
807
2789
  children: [
808
- e.row.hasChildren && /* @__PURE__ */ n(
2790
+ n.row.hasChildren && /* @__PURE__ */ u(
809
2791
  "button",
810
2792
  {
811
2793
  type: "button",
812
2794
  "data-rsv": "resource-toggle",
813
- "aria-expanded": e.row.expanded,
814
- onClick: () => a.toggleResource(e.row.resource.id),
815
- children: e.row.expanded ? "▾" : "▸"
2795
+ "aria-expanded": n.row.expanded,
2796
+ onClick: () => t.toggleResource(n.row.resource.id),
2797
+ children: n.row.expanded ? "▾" : "▸"
816
2798
  }
817
2799
  ),
818
- /* @__PURE__ */ n("span", { "data-rsv": "resource-title", children: e.row.resource.title })
2800
+ /* @__PURE__ */ u("span", { "data-rsv": "resource-title", children: n.row.resource.title })
819
2801
  ]
820
2802
  }
821
2803
  ),
822
- /* @__PURE__ */ n("div", { "data-rsv": "resource-lane", style: `height:${o}rem`, children: e.segs.map((i) => /* @__PURE__ */ n(rt, { api: a, seg: i, options: r }, i.event.id)) })
823
- ] }, e.row.resource.id);
2804
+ /* @__PURE__ */ u("div", { "data-rsv": "resource-lane", style: `height:${a}rem`, children: n.segs.map((o) => /* @__PURE__ */ u(Ee, { api: t, seg: o, options: r }, o.event.id)) })
2805
+ ] }, n.row.resource.id);
824
2806
  })
825
2807
  ] });
826
2808
  }
827
- function Rt({ api: a, model: t, options: r }) {
828
- const e = `calc(var(--spacing-rsv-slot, 2.5rem) * ${t.slots.length})`;
829
- return /* @__PURE__ */ v("div", { "data-rsv": "timegrid", style: `--rsv-tg-days:${t.columns.length}`, children: [
830
- /* @__PURE__ */ v("div", { "data-rsv": "tg-header", role: "row", children: [
831
- /* @__PURE__ */ n("div", { "data-rsv": "tg-axis-corner" }),
832
- t.columns.map((o) => /* @__PURE__ */ n("div", { "data-rsv": "tg-col-header", role: "columnheader", children: o.row.resource.title }, o.row.resource.id))
2809
+ function dn({ api: t, model: e, options: r }) {
2810
+ const n = `calc(var(--spacing-rsv-slot, 2.5rem) * ${e.slots.length})`;
2811
+ return /* @__PURE__ */ k("div", { "data-rsv": "timegrid", style: `--rsv-tg-days:${e.columns.length}`, children: [
2812
+ /* @__PURE__ */ k("div", { "data-rsv": "tg-header", role: "row", children: [
2813
+ /* @__PURE__ */ u("div", { "data-rsv": "tg-axis-corner" }),
2814
+ e.columns.map((a) => /* @__PURE__ */ u("div", { "data-rsv": "tg-col-header", role: "columnheader", children: a.row.resource.title }, a.row.resource.id))
833
2815
  ] }),
834
- /* @__PURE__ */ v("div", { "data-rsv": "tg-allday", role: "row", children: [
835
- /* @__PURE__ */ n("div", { "data-rsv": "tg-axis-label", children: E(r.locale).allDay }),
836
- t.columns.map((o) => /* @__PURE__ */ n("div", { "data-rsv": "tg-allday-cell", children: o.allDayEvents.map((i) => /* @__PURE__ */ n(
2816
+ /* @__PURE__ */ k("div", { "data-rsv": "tg-allday", role: "row", children: [
2817
+ /* @__PURE__ */ u("div", { "data-rsv": "tg-axis-label", children: V(r.locale).allDay }),
2818
+ e.columns.map((a) => /* @__PURE__ */ u("div", { "data-rsv": "tg-allday-cell", children: a.allDayEvents.map((o) => /* @__PURE__ */ u(
837
2819
  "div",
838
2820
  {
839
2821
  "data-rsv": "event",
840
2822
  "data-all-day": "true",
841
- style: `--rsv-event-bg:${i.backgroundColor}`,
842
- onClick: () => a.trigger("eventClick", { event: i }),
843
- children: i.title
2823
+ style: `--rsv-event-bg:${o.backgroundColor}`,
2824
+ onClick: (s) => t.trigger("eventClick", { event: o, el: s.currentTarget }),
2825
+ children: o.title
844
2826
  },
845
- i.id
846
- )) }, o.row.resource.id))
2827
+ o.id
2828
+ )) }, a.row.resource.id))
847
2829
  ] }),
848
- /* @__PURE__ */ v("div", { "data-rsv": "tg-body", children: [
849
- /* @__PURE__ */ n("div", { "data-rsv": "tg-axis", style: `height:${e}`, children: t.slots.map((o) => /* @__PURE__ */ n("div", { "data-rsv": "tg-slot", "data-major": String(o.isMajor), children: /* @__PURE__ */ n("span", { "data-rsv": "tg-slot-label", children: o.label }) }, o.offsetMin)) }),
850
- t.columns.map((o) => /* @__PURE__ */ v(
2830
+ /* @__PURE__ */ k("div", { "data-rsv": "tg-body", children: [
2831
+ /* @__PURE__ */ u("div", { "data-rsv": "tg-axis", style: `height:${n}`, children: e.slots.map((a) => /* @__PURE__ */ u("div", { "data-rsv": "tg-slot", "data-major": String(a.isMajor), children: /* @__PURE__ */ u("span", { "data-rsv": "tg-slot-label", children: a.label }) }, a.offsetMin)) }),
2832
+ e.columns.map((a) => /* @__PURE__ */ k(
851
2833
  "div",
852
2834
  {
853
2835
  "data-rsv": "tg-col",
854
- "data-rsv-resource-id": o.row.resource.id,
855
- style: `height:${e}`,
2836
+ "data-rsv-resource-id": a.row.resource.id,
2837
+ style: `height:${n}`,
856
2838
  children: [
857
- o.timedSegs.map((i) => {
858
- const u = 100 / i.colCount;
859
- return /* @__PURE__ */ v(
2839
+ a.timedSegs.map((o) => {
2840
+ const s = 100 / o.colCount;
2841
+ return /* @__PURE__ */ k(
860
2842
  "div",
861
2843
  {
862
2844
  "data-rsv": "event",
863
2845
  "data-all-day": "false",
864
- "data-event-id": i.event.id,
2846
+ "data-event-id": o.event.id,
865
2847
  role: "button",
866
2848
  tabIndex: 0,
867
- style: `position:absolute;top:${i.topPct}%;height:${i.heightPct}%;left:${i.col * u}%;width:${u}%;--rsv-event-bg:${i.event.backgroundColor};--rsv-event-fg:${i.event.textColor}`,
868
- onClick: (d) => {
869
- d.stopPropagation(), a.trigger("eventClick", { event: i.event });
2849
+ style: `position:absolute;top:${o.topPct}%;height:${o.heightPct}%;left:${o.col * s}%;width:${s}%;--rsv-event-bg:${o.event.backgroundColor};--rsv-event-fg:${o.event.textColor}`,
2850
+ onClick: (i) => {
2851
+ i.stopPropagation(), t.trigger("eventClick", { event: o.event });
870
2852
  },
871
2853
  children: [
872
- l.format(i.event.start, "HH:mm"),
2854
+ m.format(o.event.start, "HH:mm"),
873
2855
  " ",
874
- i.event.title
2856
+ o.event.title
875
2857
  ]
876
2858
  },
877
- i.event.id
2859
+ o.event.id
878
2860
  );
879
2861
  }),
880
- t.nowTopPct != null && /* @__PURE__ */ n("div", { "data-rsv": "now-indicator", style: `top:${t.nowTopPct}%` })
2862
+ e.nowTopPct != null && /* @__PURE__ */ u("div", { "data-rsv": "now-indicator", style: `top:${e.nowTopPct}%` })
881
2863
  ]
882
2864
  },
883
- o.row.resource.id
2865
+ a.row.resource.id
884
2866
  ))
885
2867
  ] })
886
2868
  ] });
887
2869
  }
888
- function Ft({ api: a, model: t }) {
889
- return /* @__PURE__ */ v("div", { "data-rsv": "resource-daygrid", style: `--rsv-rdg-cols:${t.columns.length}`, children: [
890
- /* @__PURE__ */ n("div", { "data-rsv": "rdg-header", role: "row", children: t.columns.map((r) => /* @__PURE__ */ n("div", { "data-rsv": "rdg-col-header", role: "columnheader", children: r.row.resource.title }, r.row.resource.id)) }),
891
- /* @__PURE__ */ n("div", { "data-rsv": "rdg-body", role: "row", children: t.columns.map((r) => /* @__PURE__ */ n(
2870
+ function sn({ api: t, model: e }) {
2871
+ return /* @__PURE__ */ k("div", { "data-rsv": "resource-daygrid", style: `--rsv-rdg-cols:${e.columns.length}`, children: [
2872
+ /* @__PURE__ */ u("div", { "data-rsv": "rdg-header", role: "row", children: e.columns.map((r) => /* @__PURE__ */ u("div", { "data-rsv": "rdg-col-header", role: "columnheader", children: r.row.resource.title }, r.row.resource.id)) }),
2873
+ /* @__PURE__ */ u("div", { "data-rsv": "rdg-body", role: "row", children: e.columns.map((r) => /* @__PURE__ */ u(
892
2874
  "div",
893
2875
  {
894
2876
  "data-rsv": "rdg-col",
895
2877
  "data-rsv-resource-id": r.row.resource.id,
896
- children: r.events.map((e) => /* @__PURE__ */ v(
2878
+ children: r.events.map((n) => /* @__PURE__ */ k(
897
2879
  "div",
898
2880
  {
899
2881
  "data-rsv": "event",
900
- "data-all-day": String(e.allDay),
901
- "data-event-id": e.id,
2882
+ "data-all-day": String(n.allDay),
2883
+ "data-event-id": n.id,
902
2884
  role: "button",
903
2885
  tabIndex: 0,
904
- style: `--rsv-event-bg:${e.backgroundColor};--rsv-event-fg:${e.textColor}`,
905
- onClick: () => a.trigger("eventClick", { event: e }),
2886
+ style: `--rsv-event-bg:${n.backgroundColor};--rsv-event-fg:${n.textColor};--rsv-event-border:${n.borderColor}`,
2887
+ onClick: (a) => t.trigger("eventClick", { event: n, el: a.currentTarget }),
906
2888
  children: [
907
- e.allDay ? "" : l.format(e.start, "HH:mm") + " ",
908
- e.title
2889
+ n.allDay ? "" : m.format(n.start, "HH:mm") + " ",
2890
+ n.title
909
2891
  ]
910
2892
  },
911
- e.id
2893
+ n.id
912
2894
  ))
913
2895
  },
914
2896
  r.row.resource.id
915
2897
  )) })
916
2898
  ] });
917
2899
  }
918
- function Gt({ api: a, options: t }) {
919
- var i;
920
- const r = a.viewModel.value, e = t.direction ?? E(t.locale).direction, o = t.themeTokens ? vt(t.themeTokens) : void 0;
921
- return /* @__PURE__ */ v(
2900
+ function ln({ api: t, model: e, options: r }) {
2901
+ return /* @__PURE__ */ u("div", { "data-rsv": "resource-daygrid-month", style: `--rsv-rdgm-cols:${e.columnCount}`, children: e.weeks.map((n, a) => /* @__PURE__ */ u("div", { "data-rsv": "rdgm-week", role: "row", children: n.days.map((o) => /* @__PURE__ */ u(
2902
+ cn,
2903
+ {
2904
+ api: t,
2905
+ cell: o,
2906
+ options: r
2907
+ },
2908
+ m.toISOString(o.date)
2909
+ )) }, `week-${a}`)) });
2910
+ }
2911
+ function cn({
2912
+ api: t,
2913
+ cell: e,
2914
+ options: r
2915
+ }) {
2916
+ const n = m.dayOfMonth(e.date);
2917
+ return /* @__PURE__ */ k(
2918
+ "div",
2919
+ {
2920
+ "data-rsv": "day",
2921
+ role: "gridcell",
2922
+ "data-date": m.toISOString(e.date),
2923
+ "data-today": String(e.isToday),
2924
+ "data-other": String(e.isOther),
2925
+ children: [
2926
+ /* @__PURE__ */ u("span", { "data-rsv": "day-number", children: n }),
2927
+ /* @__PURE__ */ u("div", { "data-rsv": "rdgm-columns", children: e.columns.map((a) => /* @__PURE__ */ k("div", { "data-rsv": "rdgm-col", "data-rsv-resource-id": a.row.resource.id, children: [
2928
+ /* @__PURE__ */ u("span", { "data-rsv": "rdgm-col-label", children: a.row.resource.title }),
2929
+ a.events.map((o) => {
2930
+ const s = t.selectedEventIds.value.has(o.id);
2931
+ return /* @__PURE__ */ k(
2932
+ "div",
2933
+ {
2934
+ "data-rsv": "event",
2935
+ "data-all-day": String(o.allDay),
2936
+ "data-event-id": o.id,
2937
+ "data-rsv-selected": String(s),
2938
+ role: "button",
2939
+ tabIndex: 0,
2940
+ style: `--rsv-event-bg:${o.backgroundColor};--rsv-event-fg:${o.textColor};--rsv-event-border:${o.borderColor}`,
2941
+ onClick: (i) => {
2942
+ if (i.stopPropagation(), i.ctrlKey || i.metaKey) {
2943
+ t.toggleEventSelection(o.id);
2944
+ return;
2945
+ }
2946
+ t.trigger("eventClick", { event: o, el: i.currentTarget }), o.url && window.open(o.url, "_self");
2947
+ },
2948
+ children: [
2949
+ o.allDay ? "" : `${m.format(o.start, "HH:mm")} `,
2950
+ o.title
2951
+ ]
2952
+ },
2953
+ o.id
2954
+ );
2955
+ }),
2956
+ a.moreCount > 0 && /* @__PURE__ */ u(
2957
+ "span",
2958
+ {
2959
+ "data-rsv": "rdgm-more",
2960
+ onClick: (o) => {
2961
+ o.stopPropagation(), t.trigger("moreLinkClick", {
2962
+ date: e.date,
2963
+ allEvents: [...a.events, ...a.hiddenEvents],
2964
+ hiddenEvents: a.hiddenEvents
2965
+ });
2966
+ },
2967
+ children: V(r.locale).more(a.moreCount)
2968
+ }
2969
+ )
2970
+ ] }, a.row.resource.id)) })
2971
+ ]
2972
+ }
2973
+ );
2974
+ }
2975
+ function un({ api: t, options: e }) {
2976
+ var l;
2977
+ const r = t.viewModel.value, n = e.direction ?? V(e.locale).direction, a = t.getEffectiveOption("hourHeight", r.type), o = t.getEffectiveOption("height", r.type), s = [
2978
+ e.themeTokens ? Pe(e.themeTokens) : "",
2979
+ a ? `${xe.slotHeight}:${a}px` : "",
2980
+ o != null && o !== "auto" ? `height:${typeof o == "number" ? `${o}px` : o}` : ""
2981
+ ].filter(Boolean).join(";") || void 0, i = F(null);
2982
+ R(() => (t.setRootEl(i.current), () => t.setRootEl(null)), [t]);
2983
+ const d = F(e.responsiveViews);
2984
+ return d.current = e.responsiveViews, R(() => {
2985
+ const c = i.current;
2986
+ if (!c || typeof ResizeObserver > "u") return;
2987
+ let p = 0;
2988
+ const D = new ResizeObserver((v) => {
2989
+ const g = v[0], h = (g == null ? void 0 : g.contentRect.width) ?? c.clientWidth;
2990
+ cancelAnimationFrame(p), p = requestAnimationFrame(() => {
2991
+ const b = d.current;
2992
+ if (!(b != null && b.length)) return;
2993
+ const w = He(b, h);
2994
+ w && w !== t.getView().type && t.hasView(w) && t.changeView(w);
2995
+ });
2996
+ });
2997
+ return D.observe(c), () => {
2998
+ cancelAnimationFrame(p), D.disconnect();
2999
+ };
3000
+ }, [t]), /* @__PURE__ */ k(
922
3001
  "div",
923
3002
  {
3003
+ ref: i,
924
3004
  "data-rsv": "root",
925
- dir: e,
926
- "data-rsv-theme": t.theme,
927
- style: o,
928
- class: $((i = t.classNames) == null ? void 0 : i.root),
3005
+ dir: n,
3006
+ "data-rsv-theme": e.theme,
3007
+ "data-rsv-autoheight": o === "auto" ? "true" : void 0,
3008
+ style: s,
3009
+ class: N((l = e.classNames) == null ? void 0 : l.root),
929
3010
  children: [
930
- t.headerToolbar !== !1 && /* @__PURE__ */ n(bt, { api: a, title: r.title, activeView: r.type, options: t }),
931
- /* @__PURE__ */ n("div", { "data-rsv": "view", "data-view": r.type, children: r.dayGrid ? /* @__PURE__ */ n(tt, { api: a, model: r.dayGrid, options: t }) : r.timeGrid ? /* @__PURE__ */ n(Et, { api: a, model: r.timeGrid, options: t }) : r.list ? /* @__PURE__ */ n(Tt, { api: a, model: r.list, options: t }) : r.multiMonth ? /* @__PURE__ */ n(Pt, { api: a, model: r.multiMonth, options: t }) : r.resourceTimeGrid ? /* @__PURE__ */ n(Rt, { api: a, model: r.resourceTimeGrid, options: t }) : r.resourceDayGrid ? /* @__PURE__ */ n(Ft, { api: a, model: r.resourceDayGrid, options: t }) : r.resourceTimeline ? /* @__PURE__ */ n(Ot, { api: a, model: r.resourceTimeline, options: t }) : r.timeline ? /* @__PURE__ */ n(It, { api: a, model: r.timeline, options: t }) : /* @__PURE__ */ v("div", { "data-rsv": "unsupported", children: [
3011
+ e.headerToolbar !== !1 && /* @__PURE__ */ u(Ve, { api: t, title: r.title, activeView: r.type, options: e }),
3012
+ /* @__PURE__ */ u("div", { "data-rsv": "view", "data-view": r.type, children: r.dayGrid ? /* @__PURE__ */ u(De, { api: t, model: r.dayGrid, options: e }) : r.timeGrid ? /* @__PURE__ */ u(Qr, { api: t, model: r.timeGrid, options: e }) : r.list ? /* @__PURE__ */ u(en, { api: t, model: r.list, options: e }) : r.multiMonth ? /* @__PURE__ */ u(rn, { api: t, model: r.multiMonth, options: e }) : r.resourceTimeGrid ? /* @__PURE__ */ u(dn, { api: t, model: r.resourceTimeGrid, options: e }) : r.resourceDayGrid ? /* @__PURE__ */ u(sn, { api: t, model: r.resourceDayGrid, options: e }) : r.resourceDayGridMonth ? /* @__PURE__ */ u(ln, { api: t, model: r.resourceDayGridMonth, options: e }) : r.resourceTimeline ? /* @__PURE__ */ u(on, { api: t, model: r.resourceTimeline, options: e }) : r.timeline ? /* @__PURE__ */ u(nn, { api: t, model: r.timeline, options: e }) : /* @__PURE__ */ k("div", { "data-rsv": "unsupported", children: [
932
3013
  'La vista "',
933
3014
  r.type,
934
3015
  '" se implementa en una fase posterior.'
@@ -937,47 +3018,54 @@ function Gt({ api: a, options: t }) {
937
3018
  }
938
3019
  );
939
3020
  }
940
- function Bt(a, t) {
941
- const r = new ut(t);
942
- return X(st(Gt, { api: r, options: t }), a), {
3021
+ function hn(t, e) {
3022
+ const r = new Ae(e);
3023
+ return At(Ce(un, { api: r, options: e }), t), {
943
3024
  api: r,
944
3025
  destroy() {
945
- X(null, a), r.destroy();
3026
+ At(null, t), r.destroy();
946
3027
  }
947
3028
  };
948
3029
  }
949
- function _t(a, t = "calendar.ics") {
3030
+ function bn(t, e = "calendar.ics") {
950
3031
  if (typeof document > "u") return;
951
- const r = mt(a), e = new Blob([r], { type: "text/calendar;charset=utf-8" }), o = URL.createObjectURL(e), i = document.createElement("a");
952
- i.href = o, i.download = t, document.body.appendChild(i), i.click(), i.remove(), URL.revokeObjectURL(o);
3032
+ const r = Ie(t), n = new Blob([r], { type: "text/calendar;charset=utf-8" }), a = URL.createObjectURL(n), o = document.createElement("a");
3033
+ o.href = a, o.download = e, document.body.appendChild(o), o.click(), o.remove(), URL.revokeObjectURL(a);
953
3034
  }
954
3035
  export {
955
- Gt as Calendar,
956
- tt as DayGridView,
957
- Tt as ListView,
958
- Pt as MultiMonthView,
959
- Ft as ResourceDayGridView,
960
- Rt as ResourceTimeGridView,
961
- Ot as ResourceTimelineView,
962
- Et as TimeGridView,
963
- It as TimelineView,
964
- bt as Toolbar,
965
- $ as cx,
966
- Kt as dayGridPlugin,
967
- Wt as definePlugin,
968
- Xt as defineTheme,
969
- _t as downloadICS,
970
- zt as eventsToICS,
971
- Q as handleEventKeydown,
972
- qt as listPlugin,
973
- Bt as mount,
974
- Jt as multiMonthPlugin,
975
- Qt as parseICS,
976
- x as renderSlot,
977
- Zt as resourcePlugin,
978
- G as startEventDrag,
979
- te as themeToStyle,
980
- ee as timeGridPlugin,
981
- re as timelinePlugin
3036
+ un as Calendar,
3037
+ De as DayGridView,
3038
+ en as ListView,
3039
+ rn as MultiMonthView,
3040
+ sn as ResourceDayGridView,
3041
+ dn as ResourceTimeGridView,
3042
+ on as ResourceTimelineView,
3043
+ Qr as TimeGridView,
3044
+ nn as TimelineView,
3045
+ Ve as Toolbar,
3046
+ W as callDidMount,
3047
+ N as cx,
3048
+ st as dateFormatter,
3049
+ Sn as dayGridPlugin,
3050
+ On as definePlugin,
3051
+ Tn as defineTheme,
3052
+ bn as downloadICS,
3053
+ En as eventsToICS,
3054
+ re as handleEventKeydown,
3055
+ pn as hostSlot,
3056
+ je as isHostSlot,
3057
+ Mn as listPlugin,
3058
+ Ye as minutesToLabel,
3059
+ We as minutesToTimeString,
3060
+ hn as mount,
3061
+ kn as multiMonthPlugin,
3062
+ Cn as parseICS,
3063
+ L as renderSlot,
3064
+ xn as resourcePlugin,
3065
+ te as startEventDrag,
3066
+ Pn as themeToStyle,
3067
+ ct as timeFormatter,
3068
+ An as timeGridPlugin,
3069
+ In as timelinePlugin
982
3070
  };
983
3071
  //# sourceMappingURL=index.js.map