@innosolutions/inno-calendar 1.0.48 → 1.0.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/agenda-widget-B-AVTnqM.cjs +2 -0
  2. package/dist/agenda-widget-B-AVTnqM.cjs.map +1 -0
  3. package/dist/{agenda-widget-DzXBzBfm.js → agenda-widget-DhCPt2vI.js} +941 -929
  4. package/dist/agenda-widget-DhCPt2vI.js.map +1 -0
  5. package/dist/components/event/event-card.d.ts.map +1 -1
  6. package/dist/components/index.cjs +1 -1
  7. package/dist/components/index.mjs +2 -2
  8. package/dist/components/inno-calendar.d.ts +11 -0
  9. package/dist/components/inno-calendar.d.ts.map +1 -1
  10. package/dist/core/context/inno-calendar-provider.d.ts +15 -1
  11. package/dist/core/context/inno-calendar-provider.d.ts.map +1 -1
  12. package/dist/core/index.cjs +1 -1
  13. package/dist/core/index.mjs +43 -43
  14. package/dist/core/types.d.ts +12 -0
  15. package/dist/core/types.d.ts.map +1 -1
  16. package/dist/index.cjs +1 -1
  17. package/dist/index.mjs +62 -62
  18. package/dist/presets/index.cjs +1 -1
  19. package/dist/presets/index.mjs +1 -1
  20. package/dist/slot-selection-context-BCsC7WT7.cjs +2 -0
  21. package/dist/slot-selection-context-BCsC7WT7.cjs.map +1 -0
  22. package/dist/slot-selection-context-D1495hEJ.js +595 -0
  23. package/dist/slot-selection-context-D1495hEJ.js.map +1 -0
  24. package/dist/{tailwind-calendar-Ba5BO9tj.js → tailwind-calendar-BmJa4HhQ.js} +2 -2
  25. package/dist/{tailwind-calendar-Ba5BO9tj.js.map → tailwind-calendar-BmJa4HhQ.js.map} +1 -1
  26. package/dist/{tailwind-calendar-4FkVdxbr.cjs → tailwind-calendar-CJmOutn1.cjs} +2 -2
  27. package/dist/{tailwind-calendar-4FkVdxbr.cjs.map → tailwind-calendar-CJmOutn1.cjs.map} +1 -1
  28. package/dist/use-calendar-BEuelmSu.cjs +2 -0
  29. package/dist/use-calendar-BEuelmSu.cjs.map +1 -0
  30. package/dist/use-calendar-Clo9DFK4.js +175 -0
  31. package/dist/use-calendar-Clo9DFK4.js.map +1 -0
  32. package/dist/{use-slot-selection-BJHlyfxL.js → use-slot-selection-BCZKnZSM.js} +2 -2
  33. package/dist/{use-slot-selection-BJHlyfxL.js.map → use-slot-selection-BCZKnZSM.js.map} +1 -1
  34. package/dist/{use-slot-selection-CTFC2-xS.cjs → use-slot-selection-Bwqwjiaq.cjs} +2 -2
  35. package/dist/{use-slot-selection-CTFC2-xS.cjs.map → use-slot-selection-Bwqwjiaq.cjs.map} +1 -1
  36. package/dist/week-view-D19YRBQC.cjs +11 -0
  37. package/dist/week-view-D19YRBQC.cjs.map +1 -0
  38. package/dist/{week-view-CVbu7Qh2.js → week-view-aRPB2cjn.js} +934 -916
  39. package/dist/week-view-aRPB2cjn.js.map +1 -0
  40. package/package.json +1 -1
  41. package/dist/agenda-widget-D_DbVHjB.cjs +0 -2
  42. package/dist/agenda-widget-D_DbVHjB.cjs.map +0 -1
  43. package/dist/agenda-widget-DzXBzBfm.js.map +0 -1
  44. package/dist/slot-selection-context-Bx3FKJfR.cjs +0 -2
  45. package/dist/slot-selection-context-Bx3FKJfR.cjs.map +0 -1
  46. package/dist/slot-selection-context-D2eu2o-7.js +0 -203
  47. package/dist/slot-selection-context-D2eu2o-7.js.map +0 -1
  48. package/dist/use-calendar-DR2emWYC.js +0 -555
  49. package/dist/use-calendar-DR2emWYC.js.map +0 -1
  50. package/dist/use-calendar-DR89bZu5.cjs +0 -2
  51. package/dist/use-calendar-DR89bZu5.cjs.map +0 -1
  52. package/dist/week-view-7r6Vhahg.cjs +0 -11
  53. package/dist/week-view-7r6Vhahg.cjs.map +0 -1
  54. package/dist/week-view-CVbu7Qh2.js.map +0 -1
@@ -0,0 +1,595 @@
1
+ import { jsx as j } from "react/jsx-runtime";
2
+ import { useState as k, useCallback as w, useContext as L, createContext as A, useMemo as W, useEffect as N, useRef as De } from "react";
3
+ const $ = A(void 0);
4
+ function We({
5
+ children: n,
6
+ onEventDrop: t
7
+ }) {
8
+ const [e, r] = k(null), u = w((o) => {
9
+ const f = typeof o.startDate == "string" ? new Date(o.startDate) : o.startDate, m = typeof o.endDate == "string" ? new Date(o.endDate) : o.endDate;
10
+ r({
11
+ event: o,
12
+ originalStartDate: f,
13
+ originalEndDate: m
14
+ });
15
+ }, []), a = w((o, f, m) => {
16
+ r((i) => i ? {
17
+ ...i,
18
+ previewDate: o,
19
+ previewHour: f,
20
+ previewMinute: m
21
+ } : null);
22
+ }, []), d = w(() => {
23
+ if (!e) return null;
24
+ const { event: o, originalStartDate: f, originalEndDate: m, previewDate: i, previewHour: h, previewMinute: v } = e, O = m.getTime() - f.getTime();
25
+ let b;
26
+ i ? (b = new Date(i), typeof h == "number" ? b.setHours(h, v ?? 0, 0, 0) : b.setHours(
27
+ f.getHours(),
28
+ f.getMinutes(),
29
+ f.getSeconds(),
30
+ 0
31
+ )) : b = f;
32
+ const l = new Date(b.getTime() + O), D = {
33
+ event: o,
34
+ newStartDate: b,
35
+ newEndDate: l
36
+ };
37
+ return r(null), t?.(D), D;
38
+ }, [e, t]), c = w(() => {
39
+ r(null);
40
+ }, []);
41
+ return /* @__PURE__ */ j(
42
+ $.Provider,
43
+ {
44
+ value: {
45
+ dragState: e,
46
+ isDragging: e !== null,
47
+ startDrag: u,
48
+ updateDragPreview: a,
49
+ endDrag: d,
50
+ cancelDrag: c
51
+ },
52
+ children: n
53
+ }
54
+ );
55
+ }
56
+ function Le() {
57
+ const n = L($);
58
+ if (!n)
59
+ throw new Error("useDragDrop must be used within a DragDropProvider");
60
+ return n;
61
+ }
62
+ function Ve() {
63
+ return L($) ?? null;
64
+ }
65
+ const Se = "inno-calendar-preferences", me = {
66
+ from: 0,
67
+ to: 24
68
+ }, pe = {
69
+ 0: { enabled: !1, from: 8, to: 18 },
70
+ // Sunday - disabled
71
+ 1: { enabled: !0, from: 8, to: 18 },
72
+ // Monday
73
+ 2: { enabled: !0, from: 8, to: 18 },
74
+ // Tuesday
75
+ 3: { enabled: !0, from: 8, to: 18 },
76
+ // Wednesday
77
+ 4: { enabled: !0, from: 8, to: 18 },
78
+ // Thursday
79
+ 5: { enabled: !0, from: 8, to: 18 },
80
+ // Friday
81
+ 6: { enabled: !1, from: 8, to: 18 }
82
+ // Saturday - disabled
83
+ }, be = 30, He = {
84
+ view: "month",
85
+ badgeVariant: "colored",
86
+ slotDuration: be,
87
+ visibleHours: me,
88
+ workingHours: pe,
89
+ showWorkingHoursOnly: !1,
90
+ showWeekends: !0,
91
+ firstDayOfWeek: 1
92
+ };
93
+ function ye(n) {
94
+ if (typeof window > "u") return {};
95
+ try {
96
+ const t = localStorage.getItem(n);
97
+ if (!t) return {};
98
+ const e = JSON.parse(t), r = {};
99
+ return e.view && typeof e.view == "string" && (r.view = e.view), e.badgeVariant && typeof e.badgeVariant == "string" && (r.badgeVariant = e.badgeVariant), e.slotDuration && typeof e.slotDuration == "number" && (r.slotDuration = e.slotDuration), e.visibleHours && typeof e.visibleHours == "object" && (r.visibleHours = e.visibleHours), e.workingHours && typeof e.workingHours == "object" && (r.workingHours = e.workingHours), typeof e.showWorkingHoursOnly == "boolean" && (r.showWorkingHoursOnly = e.showWorkingHoursOnly), typeof e.showWeekends == "boolean" && (r.showWeekends = e.showWeekends), typeof e.firstDayOfWeek == "number" && (r.firstDayOfWeek = e.firstDayOfWeek), r;
100
+ } catch {
101
+ return console.warn("[InnoCalendar] Failed to load preferences from localStorage"), {};
102
+ }
103
+ }
104
+ function ke(n, t) {
105
+ if (!(typeof window > "u"))
106
+ try {
107
+ localStorage.setItem(n, JSON.stringify(t));
108
+ } catch {
109
+ console.warn("[InnoCalendar] Failed to save preferences to localStorage");
110
+ }
111
+ }
112
+ function he(n = {}) {
113
+ const {
114
+ modes: t = {},
115
+ locked: e = {},
116
+ defaults: r = {},
117
+ storageKey: u = Se,
118
+ disableStorage: a = !1
119
+ } = n, d = W(
120
+ () => ({
121
+ ...He,
122
+ ...r
123
+ }),
124
+ [r]
125
+ ), [c, o] = k(() => a ? {} : ye(u)), [f, m] = k({});
126
+ N(() => {
127
+ a || ke(u, c);
128
+ }, [c, u, a]);
129
+ const i = w(
130
+ (g) => t[g] ?? "user",
131
+ [t]
132
+ ), h = w(
133
+ (g) => i(g) === "locked",
134
+ [i]
135
+ ), v = w(
136
+ (g) => i(g) === "user" && !a,
137
+ [i, a]
138
+ ), O = W(() => {
139
+ const g = { ...d };
140
+ for (const S of Object.keys(g)) {
141
+ const y = i(S);
142
+ y === "locked" && S in e ? g[S] = e[S] : y === "session" && S in f ? g[S] = f[S] : y === "user" && S in c && (g[S] = c[S]);
143
+ }
144
+ return g;
145
+ }, [d, c, f, e, i]), b = w(
146
+ (g, S) => {
147
+ const y = i(g);
148
+ if (y === "locked") {
149
+ console.warn(`[InnoCalendar] Preference "${g}" is locked and cannot be modified`);
150
+ return;
151
+ }
152
+ y === "session" ? m((p) => ({ ...p, [g]: S })) : o((p) => ({ ...p, [g]: S }));
153
+ },
154
+ [i]
155
+ ), l = w(
156
+ (g) => {
157
+ const S = {}, y = {};
158
+ for (const p of Object.keys(g)) {
159
+ const T = i(p), P = g[p];
160
+ if (P !== void 0) {
161
+ if (T === "locked") {
162
+ console.warn(`[InnoCalendar] Preference "${p}" is locked and cannot be modified`);
163
+ continue;
164
+ }
165
+ T === "session" ? S[p] = P : y[p] = P;
166
+ }
167
+ }
168
+ Object.keys(S).length > 0 && m((p) => ({ ...p, ...S })), Object.keys(y).length > 0 && o((p) => ({ ...p, ...y }));
169
+ },
170
+ [i]
171
+ ), D = w(() => {
172
+ o({}), m({}), a || localStorage.removeItem(u);
173
+ }, [u, a]), C = w(
174
+ (g) => {
175
+ const S = i(g);
176
+ if (S === "locked") {
177
+ console.warn(`[InnoCalendar] Preference "${g}" is locked and cannot be reset`);
178
+ return;
179
+ }
180
+ S === "session" ? m((y) => {
181
+ const { [g]: p, ...T } = y;
182
+ return T;
183
+ }) : o((y) => {
184
+ const { [g]: p, ...T } = y;
185
+ return T;
186
+ });
187
+ },
188
+ [i]
189
+ );
190
+ return {
191
+ preferences: O,
192
+ setPreference: b,
193
+ setPreferences: l,
194
+ resetPreferences: D,
195
+ resetPreference: C,
196
+ isLocked: h,
197
+ isPersisted: v,
198
+ getMode: i
199
+ };
200
+ }
201
+ const z = A(void 0), ae = {
202
+ 0: { enabled: !1, from: 8, to: 17 },
203
+ // Sunday
204
+ 1: { enabled: !0, from: 8, to: 17 },
205
+ // Monday
206
+ 2: { enabled: !0, from: 8, to: 17 },
207
+ // Tuesday
208
+ 3: { enabled: !0, from: 8, to: 17 },
209
+ // Wednesday
210
+ 4: { enabled: !0, from: 8, to: 17 },
211
+ // Thursday
212
+ 5: { enabled: !0, from: 8, to: 17 },
213
+ // Friday
214
+ 6: { enabled: !0, from: 8, to: 12 }
215
+ // Saturday
216
+ }, Ie = { start: 0, end: 24 };
217
+ function Ue({
218
+ children: n,
219
+ initialEvents: t = [],
220
+ initialUsers: e = [],
221
+ initialScheduleTypes: r = [],
222
+ initialView: u,
223
+ initialDate: a,
224
+ initialSelectedUserId: d = "all",
225
+ initialScheduleTypeIds: c = [],
226
+ initialParticipantIds: o = [],
227
+ initialWorkingHoursView: f = "default",
228
+ initialSearchQuery: m = "",
229
+ preferencesConfig: i,
230
+ initialFocusEventId: h = null,
231
+ onDateChange: v,
232
+ onViewChange: O
233
+ }) {
234
+ const { preferences: b, setPreference: l, isLocked: D } = he(i), [C, g] = k(
235
+ u ?? b.view ?? "week"
236
+ ), [S, y] = k(
237
+ a ?? /* @__PURE__ */ new Date()
238
+ ), [p, T] = k(
239
+ d
240
+ ), P = b.badgeVariant ?? "colored", Q = w(
241
+ (s) => {
242
+ D("badgeVariant") || l("badgeVariant", s);
243
+ },
244
+ [l, D]
245
+ ), Y = b.workingHours ?? ae, B = w(
246
+ (s) => {
247
+ if (!D("workingHours")) {
248
+ const H = b.workingHours ?? ae, I = typeof s == "function" ? s(H) : s;
249
+ l("workingHours", I);
250
+ }
251
+ },
252
+ [l, D, b.workingHours]
253
+ ), E = b.visibleHours, x = W(() => E ? {
254
+ start: E.start ?? E.from ?? 0,
255
+ end: E.end ?? E.to ?? 24
256
+ } : Ie, [E]), G = w(
257
+ (s) => {
258
+ if (!D("visibleHours")) {
259
+ const H = typeof s == "function" ? s(x) : s;
260
+ l("visibleHours", {
261
+ from: H.start,
262
+ to: H.end
263
+ });
264
+ }
265
+ },
266
+ [l, D, x]
267
+ ), [le, ue] = k(
268
+ f === "enabled" ? !0 : f === "disabled" ? !1 : b.showWorkingHoursOnly ?? !1
269
+ ), J = le, q = w(
270
+ (s) => {
271
+ ue(s), D("showWorkingHoursOnly") || l("showWorkingHoursOnly", s);
272
+ },
273
+ [l, D]
274
+ ), X = b.slotDuration ?? 30, Z = w(
275
+ (s) => {
276
+ D("slotDuration") || l("slotDuration", s);
277
+ },
278
+ [l, D]
279
+ ), [R, ee] = k(t);
280
+ N(() => {
281
+ ee(t);
282
+ }, [t]);
283
+ const [V, de] = k(c), [M, Ce] = k(o), [U, fe] = k(m), [te, ne] = k(
284
+ h ?? null
285
+ );
286
+ N(() => {
287
+ h && ne(h);
288
+ }, [h]);
289
+ const re = w(() => ne(null), []), oe = w(
290
+ (s) => {
291
+ g(s), D("view") || l("view", s), O?.(s);
292
+ },
293
+ [O, l, D]
294
+ ), se = w(
295
+ (s, H) => {
296
+ y(s), v?.(s, H ?? C);
297
+ },
298
+ [v, C]
299
+ ), ie = W(() => {
300
+ let s = R;
301
+ if (V.length > 0 && (s = s.filter(
302
+ (H) => H.scheduleTypeId !== void 0 && V.includes(H.scheduleTypeId)
303
+ )), M.length > 0 && (s = s.filter((H) => H.participants?.length ? H.participants.some(
304
+ (I) => M.includes(I.id)
305
+ ) : !1)), p !== "all" && (s = s.filter(
306
+ (H) => H.participants?.some((I) => I.id === p)
307
+ )), U.trim()) {
308
+ const H = U.toLowerCase();
309
+ s = s.filter(
310
+ (I) => I.title.toLowerCase().includes(H) || I.description?.toLowerCase().includes(H) || I.scheduleTypeName?.toLowerCase().includes(H) || I.participants?.some((we) => we.name.toLowerCase().includes(H))
311
+ );
312
+ }
313
+ return s;
314
+ }, [
315
+ R,
316
+ V,
317
+ M,
318
+ p,
319
+ U
320
+ ]), ge = W(
321
+ () => ({
322
+ // View & Navigation
323
+ view: C,
324
+ setView: oe,
325
+ selectedDate: S,
326
+ setSelectedDate: se,
327
+ // User Filtering
328
+ selectedUserId: p,
329
+ setSelectedUserId: T,
330
+ // Visual Customization
331
+ badgeVariant: P,
332
+ setBadgeVariant: Q,
333
+ // Time Configuration
334
+ workingHours: Y,
335
+ setWorkingHours: B,
336
+ visibleHours: x,
337
+ setVisibleHours: G,
338
+ showWorkingHoursOnly: J,
339
+ setShowWorkingHoursOnly: q,
340
+ slotDuration: X,
341
+ setSlotDuration: Z,
342
+ // Preferences
343
+ isPreferenceLocked: D,
344
+ // Data
345
+ events: R,
346
+ setEvents: ee,
347
+ users: e,
348
+ scheduleTypes: r,
349
+ // Filters
350
+ selectedScheduleTypeIds: V,
351
+ setSelectedScheduleTypeIds: de,
352
+ // Search
353
+ searchQuery: U,
354
+ setSearchQuery: fe,
355
+ // Computed
356
+ filteredEvents: ie,
357
+ // Focus Event
358
+ focusEventId: te,
359
+ clearFocusEventId: re
360
+ }),
361
+ [
362
+ C,
363
+ oe,
364
+ S,
365
+ se,
366
+ p,
367
+ P,
368
+ Q,
369
+ Y,
370
+ B,
371
+ x,
372
+ G,
373
+ J,
374
+ q,
375
+ X,
376
+ Z,
377
+ D,
378
+ R,
379
+ e,
380
+ r,
381
+ V,
382
+ U,
383
+ ie,
384
+ te,
385
+ re
386
+ ]
387
+ );
388
+ return /* @__PURE__ */ j(z.Provider, { value: ge, children: n });
389
+ }
390
+ function F() {
391
+ const n = L(z);
392
+ if (!n)
393
+ throw new Error(
394
+ "useInnoCalendar must be used within an InnoCalendarProvider"
395
+ );
396
+ return n;
397
+ }
398
+ function _e() {
399
+ return L(z);
400
+ }
401
+ function xe() {
402
+ const { view: n, setView: t, selectedDate: e, setSelectedDate: r, slotDuration: u } = F();
403
+ return { view: n, setView: t, selectedDate: e, setSelectedDate: r, slotDuration: u };
404
+ }
405
+ function Re() {
406
+ const { events: n, setEvents: t, filteredEvents: e } = F();
407
+ return { events: n, setEvents: t, filteredEvents: e };
408
+ }
409
+ function Fe() {
410
+ const {
411
+ selectedScheduleTypeIds: n,
412
+ setSelectedScheduleTypeIds: t,
413
+ selectedUserId: e,
414
+ setSelectedUserId: r,
415
+ searchQuery: u,
416
+ setSearchQuery: a
417
+ } = F();
418
+ return {
419
+ selectedScheduleTypeIds: n,
420
+ setSelectedScheduleTypeIds: t,
421
+ selectedUserId: e,
422
+ setSelectedUserId: r,
423
+ searchQuery: u,
424
+ setSearchQuery: a
425
+ };
426
+ }
427
+ function Me() {
428
+ const {
429
+ workingHours: n,
430
+ setWorkingHours: t,
431
+ visibleHours: e,
432
+ setVisibleHours: r,
433
+ showWorkingHoursOnly: u,
434
+ setShowWorkingHoursOnly: a
435
+ } = F();
436
+ return {
437
+ workingHours: n,
438
+ setWorkingHours: t,
439
+ visibleHours: e,
440
+ setVisibleHours: r,
441
+ showWorkingHoursOnly: u,
442
+ setShowWorkingHoursOnly: a
443
+ };
444
+ }
445
+ const K = A(void 0);
446
+ function _(n) {
447
+ const t = new Date(n.date);
448
+ return typeof n.hour == "number" && t.setHours(n.hour, n.minute ?? 0, 0, 0), t;
449
+ }
450
+ function ve(n) {
451
+ const t = new Date(n), e = t.getMinutes(), r = Math.floor(e / 30) * 30;
452
+ return t.setMinutes(r, 0, 0), t;
453
+ }
454
+ function Oe(n, t) {
455
+ return n.getFullYear() === t.getFullYear() && n.getMonth() === t.getMonth() && n.getDate() === t.getDate();
456
+ }
457
+ function ce(n, t, e, r, u = 30) {
458
+ const a = _(n), d = _(t);
459
+ let c = a, o = d;
460
+ if (d < a && (c = d, o = a), e === "day")
461
+ if (Oe(c, o)) {
462
+ const m = ve(/* @__PURE__ */ new Date());
463
+ c = new Date(c), c.setHours(m.getHours(), m.getMinutes(), 0, 0), o = new Date(c.getTime() + r * 60 * 1e3);
464
+ } else
465
+ c.setHours(0, 0, 0, 0), o.setHours(23, 59, 59, 999);
466
+ else {
467
+ const f = u * 60 * 1e3;
468
+ o = new Date(o.getTime() + f);
469
+ const m = o.getTime() - c.getTime(), i = r * 60 * 1e3;
470
+ m < i && (o = new Date(c.getTime() + i));
471
+ }
472
+ return {
473
+ startDate: c,
474
+ endDate: o
475
+ };
476
+ }
477
+ function Te(n, t, e, r) {
478
+ const u = _(n), a = _(t), d = _(e), c = a <= d ? a : d, o = a <= d ? d : a;
479
+ if (r === "day") {
480
+ const f = new Date(u);
481
+ f.setHours(0, 0, 0, 0);
482
+ const m = new Date(c);
483
+ m.setHours(0, 0, 0, 0);
484
+ const i = new Date(o);
485
+ return i.setHours(0, 0, 0, 0), f >= m && f <= i;
486
+ }
487
+ return u >= c && u <= o;
488
+ }
489
+ function Ne({
490
+ children: n,
491
+ mode: t = "time",
492
+ onSelect: e,
493
+ minDurationMinutes: r = 30,
494
+ slotDurationMinutes: u = 30,
495
+ enabled: a = !0
496
+ }) {
497
+ const [d, c] = k(null), o = De(!1), f = w(
498
+ (l) => {
499
+ a && (o.current = !0, c({
500
+ start: l,
501
+ end: l,
502
+ isSelecting: !0
503
+ }));
504
+ },
505
+ [a]
506
+ ), m = w(
507
+ (l) => {
508
+ a && o.current && c((D) => D ? {
509
+ ...D,
510
+ end: l
511
+ } : null);
512
+ },
513
+ [a]
514
+ ), i = w(() => {
515
+ o.current && (o.current = !1, c((l) => {
516
+ if (!l) return null;
517
+ const D = ce(
518
+ l.start,
519
+ l.end,
520
+ t,
521
+ r,
522
+ u
523
+ );
524
+ return e?.(D), {
525
+ ...l,
526
+ isSelecting: !1
527
+ };
528
+ }), setTimeout(() => {
529
+ c(null);
530
+ }, 100));
531
+ }, [t, r, u, e]), h = w(() => {
532
+ o.current = !1, c(null);
533
+ }, []), v = w(
534
+ (l) => d ? Te(l, d.start, d.end, t) : !1,
535
+ [d, t]
536
+ ), O = w(() => d ? ce(
537
+ d.start,
538
+ d.end,
539
+ t,
540
+ r,
541
+ u
542
+ ) : null, [d, t, r, u]), b = W(
543
+ () => ({
544
+ isSelecting: d?.isSelecting ?? !1,
545
+ startSelection: f,
546
+ updateSelection: m,
547
+ endSelection: i,
548
+ cancelSelection: h,
549
+ isSlotSelected: v,
550
+ getSelectionResult: O,
551
+ mode: t
552
+ }),
553
+ [
554
+ d?.isSelecting,
555
+ f,
556
+ m,
557
+ i,
558
+ h,
559
+ v,
560
+ O,
561
+ t
562
+ ]
563
+ );
564
+ return /* @__PURE__ */ j(K.Provider, { value: b, children: n });
565
+ }
566
+ function je() {
567
+ const n = L(K);
568
+ if (!n)
569
+ throw new Error("useSlotSelectionContext must be used within a SlotSelectionProvider");
570
+ return n;
571
+ }
572
+ function Ae() {
573
+ return L(K);
574
+ }
575
+ export {
576
+ We as D,
577
+ Ue as I,
578
+ Se as P,
579
+ Ne as S,
580
+ be as a,
581
+ me as b,
582
+ pe as c,
583
+ Le as d,
584
+ F as e,
585
+ Re as f,
586
+ Fe as g,
587
+ Me as h,
588
+ xe as i,
589
+ Ve as j,
590
+ _e as k,
591
+ Ae as l,
592
+ je as m,
593
+ he as u
594
+ };
595
+ //# sourceMappingURL=slot-selection-context-D1495hEJ.js.map