@innosolutions/inno-calendar 1.0.59 → 1.0.61

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