@savvycal/calendar 0.1.0 → 0.2.0

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.
@@ -1,3 +1,3 @@
1
1
  import { ResourceGridViewProps } from '../../types/calendar';
2
- export declare function ResourceGridView({ date, timeZone, resources, events, availability, unavailability, timeAxis, onEventClick, snapDuration, placeholderDuration, selectedRange, onSelect, onSlotClick, className, classNames, hourHeight, columnMinWidth, renderHeader, renderEvent, selectionAppearance, dragPreviewAppearance, selectionRef, selectedEventId, selectedEventRef, renderCorner, eventGap, eventLayout, stackOffset, }: ResourceGridViewProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function ResourceGridView({ date, timeZone, resources, events, availability, unavailability, timeAxis, onEventClick, snapDuration, placeholderDuration, selectedRange, onSelect, onSlotClick, className, classNames, hourHeight, columnMinWidth, renderHeader, renderEvent, selectionAppearance, dragPreviewAppearance, selectionRef, selectionLingerMs, selectedEventId, selectedEventRef, renderCorner, eventGap, eventLayout, stackOffset, }: ResourceGridViewProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=ResourceGridView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceGridView.d.ts","sourceRoot":"","sources":["../../../src/components/resource-grid-view/ResourceGridView.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAIV,qBAAqB,EAGtB,MAAM,kBAAkB,CAAC;AAa1B,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,MAAM,EACN,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,QAAQ,EACR,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAe,EACf,cAAoB,EACpB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,WAAuB,EACvB,WAAe,GAChB,EAAE,qBAAqB,2CAkWvB"}
1
+ {"version":3,"file":"ResourceGridView.d.ts","sourceRoot":"","sources":["../../../src/components/resource-grid-view/ResourceGridView.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAIV,qBAAqB,EAGtB,MAAM,kBAAkB,CAAC;AAa1B,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,MAAM,EACN,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,QAAQ,EACR,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAe,EACf,cAAoB,EACpB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,iBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,WAAuB,EACvB,WAAe,GAChB,EAAE,qBAAqB,2CA0XvB"}
@@ -1,315 +1,332 @@
1
- import { jsxs as M, jsx as n } from "react/jsx-runtime";
2
- import { useCallback as D, useMemo as p, useEffect as no } from "react";
3
- import { cn as R } from "../../lib/utils.js";
4
- import { generateTimeSlots as lo, formatDateLabel as ao, formatTimeRange as B } from "../../lib/time.js";
5
- import { groupByResource as mo, computePositionedEvents as so } from "../../lib/overlap.js";
6
- import { computeUnavailableBlocks as co } from "../../lib/availability.js";
7
- import { resourceGridViewDefaults as uo } from "./defaults.js";
8
- import { GridHeader as po } from "./GridHeader.js";
9
- import { TimeGutter as fo } from "./TimeGutter.js";
10
- import { ResourceColumn as ho } from "./ResourceColumn.js";
11
- import { SlotInteractionLayer as go } from "./SlotInteractionLayer.js";
12
- import { SelectionOverlay as yo } from "./SelectionOverlay.js";
13
- import { UnavailabilityOverlay as wo } from "./UnavailabilityOverlay.js";
14
- import { NowIndicator as Ho } from "./NowIndicator.js";
15
- import { AllDayRow as bo } from "./AllDayRow.js";
16
- import { useEffectiveHourHeight as Co } from "./useEffectiveHourHeight.js";
17
- import { useAnnouncer as Do } from "./useAnnouncer.js";
18
- function Uo({
19
- date: d,
1
+ import { jsxs as W, jsx as n } from "react/jsx-runtime";
2
+ import { useCallback as v, useRef as mt, useState as ut, useEffect as L, useMemo as f } from "react";
3
+ import { cn as T } from "../../lib/utils.js";
4
+ import { generateTimeSlots as pt, formatDateLabel as ft, formatTimeRange as U } from "../../lib/time.js";
5
+ import { groupByResource as ht, computePositionedEvents as gt } from "../../lib/overlap.js";
6
+ import { computeUnavailableBlocks as yt } from "../../lib/availability.js";
7
+ import { resourceGridViewDefaults as wt } from "./defaults.js";
8
+ import { GridHeader as Ht } from "./GridHeader.js";
9
+ import { TimeGutter as St } from "./TimeGutter.js";
10
+ import { ResourceColumn as Rt } from "./ResourceColumn.js";
11
+ import { SlotInteractionLayer as bt } from "./SlotInteractionLayer.js";
12
+ import { SelectionOverlay as Ct } from "./SelectionOverlay.js";
13
+ import { UnavailabilityOverlay as Dt } from "./UnavailabilityOverlay.js";
14
+ import { NowIndicator as vt } from "./NowIndicator.js";
15
+ import { AllDayRow as Tt } from "./AllDayRow.js";
16
+ import { useEffectiveHourHeight as $t } from "./useEffectiveHourHeight.js";
17
+ import { useAnnouncer as xt } from "./useAnnouncer.js";
18
+ function Pt({
19
+ date: a,
20
20
  timeZone: l,
21
- resources: i,
21
+ resources: r,
22
22
  events: $,
23
23
  availability: g,
24
24
  unavailability: y,
25
- timeAxis: w,
26
- onEventClick: v,
27
- snapDuration: x,
28
- placeholderDuration: L,
29
- selectedRange: f,
30
- onSelect: c,
31
- onSlotClick: G,
32
- className: O,
33
- classNames: S,
34
- hourHeight: W = 60,
35
- columnMinWidth: U = 120,
36
- renderHeader: V,
37
- renderEvent: H,
38
- selectionAppearance: z,
39
- dragPreviewAppearance: A,
40
- selectionRef: F,
41
- selectedEventId: T,
42
- selectedEventRef: k,
43
- renderCorner: K,
44
- eventGap: P,
45
- eventLayout: q = "columns",
46
- stackOffset: J = 8
25
+ timeAxis: H,
26
+ onEventClick: x,
27
+ snapDuration: k,
28
+ placeholderDuration: V,
29
+ selectedRange: u,
30
+ onSelect: m,
31
+ onSlotClick: z,
32
+ className: A,
33
+ classNames: N,
34
+ hourHeight: F = 60,
35
+ columnMinWidth: K = 120,
36
+ renderHeader: P,
37
+ renderEvent: S,
38
+ selectionAppearance: q,
39
+ dragPreviewAppearance: J,
40
+ selectionRef: Q,
41
+ selectionLingerMs: R = 0,
42
+ selectedEventId: E,
43
+ selectedEventRef: j,
44
+ renderCorner: X,
45
+ eventGap: Y,
46
+ eventLayout: _ = "columns",
47
+ stackOffset: Z = 8
47
48
  }) {
48
- const a = w?.startHour ?? 0, m = w?.endHour ?? 24, b = w?.intervalMinutes ?? 60, { effectiveHourHeight: s, rootRef: Q, headerRef: X, allDayRef: Y, headerHeight: N } = Co(W, m - a), e = D(
49
- (o) => R(uo[o], S?.[o]),
50
- [S]
51
- ), C = p(
52
- () => lo({ startHour: a, endHour: m, intervalMinutes: b }),
53
- [a, m, b]
54
- ), { allDayEvents: E, timedEvents: j } = p(() => {
55
- const o = [], r = [];
56
- for (const t of $)
57
- t.allDay ? o.push(t) : r.push(t);
58
- return { allDayEvents: o, timedEvents: r };
59
- }, [$]), _ = p(
60
- () => mo(E),
61
- [E]
62
- ), Z = p(
63
- () => so(
64
- j,
49
+ const d = H?.startHour ?? 0, c = H?.endHour ?? 24, b = H?.intervalMinutes ?? 60, { effectiveHourHeight: s, rootRef: tt, headerRef: et, allDayRef: ot, headerHeight: I } = $t(F, c - d), i = v(
50
+ (t) => T(wt[t], N?.[t]),
51
+ [N]
52
+ ), w = mt(null), [rt, B] = ut(
53
+ null
54
+ );
55
+ L(() => {
56
+ if (u)
57
+ w.current = u;
58
+ else if (w.current && R > 0) {
59
+ const t = w.current;
60
+ w.current = null, B(t);
61
+ const e = setTimeout(
62
+ () => B(null),
63
+ R
64
+ );
65
+ return () => clearTimeout(e);
66
+ }
67
+ }, [u, R]);
68
+ const C = u ?? rt, D = f(
69
+ () => pt({ startHour: d, endHour: c, intervalMinutes: b }),
70
+ [d, c, b]
71
+ ), { allDayEvents: M, timedEvents: G } = f(() => {
72
+ const t = [], e = [];
73
+ for (const o of $)
74
+ o.allDay ? t.push(o) : e.push(o);
75
+ return { allDayEvents: t, timedEvents: e };
76
+ }, [$]), it = f(
77
+ () => ht(M),
78
+ [M]
79
+ ), lt = f(
80
+ () => gt(
81
+ G,
65
82
  l,
66
- d,
67
83
  a,
68
- m,
84
+ d,
85
+ c,
69
86
  s
70
87
  ),
71
- [j, l, d, a, m, s]
72
- ), oo = p(() => {
88
+ [G, l, a, d, c, s]
89
+ ), nt = f(() => {
73
90
  if (!g && !y)
74
91
  return /* @__PURE__ */ new Map();
75
- const o = /* @__PURE__ */ new Set([
92
+ const t = /* @__PURE__ */ new Set([
76
93
  ...Object.keys(g ?? {}),
77
94
  ...Object.keys(y ?? {})
78
- ]), r = /* @__PURE__ */ new Map();
79
- for (const t of o) {
80
- const u = co(
81
- g?.[t],
82
- y?.[t],
95
+ ]), e = /* @__PURE__ */ new Map();
96
+ for (const o of t) {
97
+ const p = yt(
98
+ g?.[o],
99
+ y?.[o],
83
100
  l,
84
- d,
85
101
  a,
86
- m,
102
+ d,
103
+ c,
87
104
  s
88
105
  );
89
- u.length > 0 && r.set(t, u);
106
+ p.length > 0 && e.set(o, p);
90
107
  }
91
- return r;
108
+ return e;
92
109
  }, [
93
110
  g,
94
111
  y,
95
112
  l,
96
- d,
97
113
  a,
98
- m,
114
+ d,
115
+ c,
99
116
  s
100
- ]), { message: ro, announce: h } = Do(), to = p(
101
- () => `Schedule for ${ao(d)}`,
102
- [d]
103
- ), I = D(
104
- (o) => {
105
- if (c?.(null), v?.(o), o.allDay) {
106
- const r = [o.title, "all day"];
107
- o.clientName && r.push(o.clientName), h(`Selected: ${r.join(", ")}`);
117
+ ]), { message: at, announce: h } = xt(), dt = f(
118
+ () => `Schedule for ${ft(a)}`,
119
+ [a]
120
+ ), O = v(
121
+ (t) => {
122
+ if (m?.(null), x?.(t), t.allDay) {
123
+ const e = [t.title, "all day"];
124
+ t.clientName && e.push(t.clientName), h(`Selected: ${e.join(", ")}`);
108
125
  } else {
109
- const r = [
110
- o.title,
111
- B(o.startTime, o.endTime, l)
126
+ const e = [
127
+ t.title,
128
+ U(t.startTime, t.endTime, l)
112
129
  ];
113
- o.clientName && r.push(o.clientName);
114
- const t = i.find((u) => u.id === o.resourceId);
115
- t && r.push(t.name), h(`Selected: ${r.join(", ")}`);
130
+ t.clientName && e.push(t.clientName);
131
+ const o = r.find((p) => p.id === t.resourceId);
132
+ o && e.push(o.name), h(`Selected: ${e.join(", ")}`);
116
133
  }
117
134
  },
118
- [c, v, l, i, h]
119
- ), io = D(
120
- (o) => {
121
- if (c?.(o), o) {
122
- const r = [
123
- B(o.startTime, o.endTime, l)
124
- ], t = i.find((u) => u.id === o.resourceId);
125
- t && r.push(t.name), h(`Selected time: ${r.join(", ")}`);
135
+ [m, x, l, r, h]
136
+ ), ct = v(
137
+ (t) => {
138
+ if (m?.(t), t) {
139
+ const e = [
140
+ U(t.startTime, t.endTime, l)
141
+ ], o = r.find((p) => p.id === t.resourceId);
142
+ o && e.push(o.name), h(`Selected time: ${e.join(", ")}`);
126
143
  }
127
144
  },
128
- [c, l, i, h]
145
+ [m, l, r, h]
129
146
  );
130
- no(() => {
131
- if (!f || !c) return;
132
- const o = (r) => {
133
- r.key === "Escape" && c(null);
147
+ L(() => {
148
+ if (!u || !m) return;
149
+ const t = (e) => {
150
+ e.key === "Escape" && m(null);
134
151
  };
135
- return document.addEventListener("keydown", o), () => document.removeEventListener("keydown", o);
136
- }, [f, c]);
137
- const eo = s * b / 60;
138
- return /* @__PURE__ */ M("div", { ref: Q, className: R(e("root"), O), children: [
139
- /* @__PURE__ */ M(
152
+ return document.addEventListener("keydown", t), () => document.removeEventListener("keydown", t);
153
+ }, [u, m]);
154
+ const st = s * b / 60;
155
+ return /* @__PURE__ */ W("div", { ref: tt, className: T(i("root"), A), children: [
156
+ /* @__PURE__ */ W(
140
157
  "div",
141
158
  {
142
- className: e("grid"),
159
+ className: i("grid"),
143
160
  role: "region",
144
161
  "aria-roledescription": "calendar",
145
- "aria-label": to,
162
+ "aria-label": dt,
146
163
  style: {
147
164
  display: "grid",
148
- gridTemplateColumns: `max-content repeat(${i.length}, minmax(${U}px, 1fr))`,
149
- gridTemplateRows: `auto auto repeat(${C.length}, ${eo}px)`
165
+ gridTemplateColumns: `max-content repeat(${r.length}, minmax(${K}px, 1fr))`,
166
+ gridTemplateRows: `auto auto repeat(${D.length}, ${st}px)`
150
167
  },
151
168
  children: [
152
169
  /* @__PURE__ */ n(
153
170
  "div",
154
171
  {
155
- ref: X,
156
- className: e("cornerCell"),
172
+ ref: et,
173
+ className: i("cornerCell"),
157
174
  style: { gridRow: 1, gridColumn: 1 },
158
- children: K?.()
175
+ children: X?.({ timeZone: l, date: a })
159
176
  }
160
177
  ),
161
- i.map((o, r) => /* @__PURE__ */ n(
162
- po,
178
+ r.map((t, e) => /* @__PURE__ */ n(
179
+ Ht,
163
180
  {
164
- resource: o,
165
- column: r + 2,
166
- cls: e,
167
- renderHeader: V
181
+ resource: t,
182
+ column: e + 2,
183
+ cls: i,
184
+ renderHeader: P
168
185
  },
169
- o.id
186
+ t.id
170
187
  )),
171
188
  /* @__PURE__ */ n(
172
189
  "div",
173
190
  {
174
- ref: Y,
175
- className: R(e("allDayCell"), "left-0 z-30"),
191
+ ref: ot,
192
+ className: T(i("allDayCell"), "left-0 z-30"),
176
193
  style: {
177
194
  gridRow: 2,
178
195
  gridColumn: 1,
179
- top: N
196
+ top: I
180
197
  }
181
198
  }
182
199
  ),
183
- i.map((o, r) => /* @__PURE__ */ n(
200
+ r.map((t, e) => /* @__PURE__ */ n(
184
201
  "div",
185
202
  {
186
- className: e("allDayCell"),
203
+ className: i("allDayCell"),
187
204
  style: {
188
205
  gridRow: 2,
189
- gridColumn: r + 2,
190
- top: N,
191
- ...r === i.length - 1 ? { borderRightWidth: 0 } : {}
206
+ gridColumn: e + 2,
207
+ top: I,
208
+ ...e === r.length - 1 ? { borderRightWidth: 0 } : {}
192
209
  },
193
210
  children: /* @__PURE__ */ n(
194
- bo,
211
+ Tt,
195
212
  {
196
- events: _.get(o.id) ?? [],
197
- cls: e,
198
- onEventClick: I,
199
- selectedEventId: T,
200
- selectedEventRef: k
213
+ events: it.get(t.id) ?? [],
214
+ cls: i,
215
+ onEventClick: O,
216
+ selectedEventId: E,
217
+ selectedEventRef: j
201
218
  }
202
219
  )
203
220
  },
204
- `allday-${o.id}`
221
+ `allday-${t.id}`
205
222
  )),
206
- C.map((o) => /* @__PURE__ */ n(
207
- fo,
223
+ D.map((t) => /* @__PURE__ */ n(
224
+ St,
208
225
  {
209
- label: o.label,
210
- row: o.index + 3,
211
- isHourStart: o.isHourStart,
212
- isFirst: o.index === 0,
213
- cls: e
226
+ label: t.label,
227
+ row: t.index + 3,
228
+ isHourStart: t.isHourStart,
229
+ isFirst: t.index === 0,
230
+ cls: i
214
231
  },
215
- o.index
232
+ t.index
216
233
  )),
217
- C.map(
218
- (o) => i.map((r, t) => /* @__PURE__ */ n(
234
+ D.map(
235
+ (t) => r.map((e, o) => /* @__PURE__ */ n(
219
236
  "div",
220
237
  {
221
- className: e(o.isHourStart ? "bodyCell" : "bodyCellMinor"),
238
+ className: i(t.isHourStart ? "bodyCell" : "bodyCellMinor"),
222
239
  style: {
223
- gridRow: o.index + 3,
224
- gridColumn: t + 2,
225
- ...o.isHourStart ? {} : { borderTopStyle: "dotted" },
226
- ...o.index === 0 ? { borderTopWidth: 0 } : {},
227
- ...t === i.length - 1 ? { borderRightWidth: 0 } : {}
240
+ gridRow: t.index + 3,
241
+ gridColumn: o + 2,
242
+ ...t.isHourStart ? {} : { borderTopStyle: "dotted" },
243
+ ...t.index === 0 ? { borderTopWidth: 0 } : {},
244
+ ...o === r.length - 1 ? { borderRightWidth: 0 } : {}
228
245
  }
229
246
  },
230
- `${o.index}-${r.id}`
247
+ `${t.index}-${e.id}`
231
248
  ))
232
249
  ),
233
- i.map((o, r) => {
234
- const t = oo.get(o.id);
235
- return t ? /* @__PURE__ */ n(
236
- wo,
250
+ r.map((t, e) => {
251
+ const o = nt.get(t.id);
252
+ return o ? /* @__PURE__ */ n(
253
+ Dt,
237
254
  {
238
- blocks: t,
239
- column: r + 2,
240
- cls: e
255
+ blocks: o,
256
+ column: e + 2,
257
+ cls: i
241
258
  },
242
- `unavail-${o.id}`
259
+ `unavail-${t.id}`
243
260
  ) : null;
244
261
  }),
245
- x != null && i.map((o, r) => /* @__PURE__ */ n(
246
- go,
262
+ k != null && r.map((t, e) => /* @__PURE__ */ n(
263
+ bt,
247
264
  {
248
- resource: o,
249
- column: r + 2,
250
- date: d,
265
+ resource: t,
266
+ column: e + 2,
267
+ date: a,
251
268
  timeZone: l,
252
- startHour: a,
253
- endHour: m,
269
+ startHour: d,
270
+ endHour: c,
254
271
  hourHeight: s,
255
- snapDuration: x,
256
- placeholderDuration: L ?? 15,
257
- cls: e,
258
- onSlotClick: G,
259
- onSelect: io,
260
- dragPreviewAppearance: A,
261
- renderEvent: H
272
+ snapDuration: k,
273
+ placeholderDuration: V ?? 15,
274
+ cls: i,
275
+ onSlotClick: z,
276
+ onSelect: ct,
277
+ dragPreviewAppearance: J,
278
+ renderEvent: S
262
279
  },
263
- `slot-${o.id}`
280
+ `slot-${t.id}`
264
281
  )),
265
- i.map((o, r) => /* @__PURE__ */ n(
266
- ho,
282
+ r.map((t, e) => /* @__PURE__ */ n(
283
+ Rt,
267
284
  {
268
- resource: o,
269
- positionedEvents: Z.get(o.id) ?? [],
270
- column: r + 2,
285
+ resource: t,
286
+ positionedEvents: lt.get(t.id) ?? [],
287
+ column: e + 2,
271
288
  timeZone: l,
272
- cls: e,
273
- onEventClick: I,
274
- renderEvent: H,
275
- eventGap: P,
276
- eventLayout: q,
277
- stackOffset: J,
278
- selectedEventId: T,
279
- selectedEventRef: k
289
+ cls: i,
290
+ onEventClick: O,
291
+ renderEvent: S,
292
+ eventGap: Y,
293
+ eventLayout: _,
294
+ stackOffset: Z,
295
+ selectedEventId: E,
296
+ selectedEventRef: j
280
297
  },
281
- o.id
298
+ t.id
282
299
  )),
283
- f != null && (() => {
284
- const o = i.findIndex(
285
- (r) => r.id === f.resourceId
300
+ C != null && (() => {
301
+ const t = r.findIndex(
302
+ (e) => e.id === C.resourceId
286
303
  );
287
- return o === -1 ? null : /* @__PURE__ */ n(
288
- yo,
304
+ return t === -1 ? null : /* @__PURE__ */ n(
305
+ Ct,
289
306
  {
290
- selectedRange: f,
291
- column: o + 2,
292
- resource: i[o],
293
- viewDate: d,
307
+ selectedRange: C,
308
+ column: t + 2,
309
+ resource: r[t],
310
+ viewDate: a,
294
311
  timeZone: l,
295
- startHour: a,
312
+ startHour: d,
296
313
  hourHeight: s,
297
- cls: e,
298
- appearance: z,
299
- selectionRef: F,
300
- renderEvent: H
314
+ cls: i,
315
+ appearance: q,
316
+ selectionRef: Q,
317
+ renderEvent: S
301
318
  }
302
319
  );
303
320
  })(),
304
321
  /* @__PURE__ */ n(
305
- Ho,
322
+ vt,
306
323
  {
307
- date: d,
324
+ date: a,
308
325
  timeZone: l,
309
- startHour: a,
310
- endHour: m,
326
+ startHour: d,
327
+ endHour: c,
311
328
  hourHeight: s,
312
- cls: e
329
+ cls: i
313
330
  }
314
331
  )
315
332
  ]
@@ -332,11 +349,11 @@ function Uo({
332
349
  whiteSpace: "nowrap",
333
350
  borderWidth: 0
334
351
  },
335
- children: ro
352
+ children: at
336
353
  }
337
354
  )
338
355
  ] });
339
356
  }
340
357
  export {
341
- Uo as ResourceGridView
358
+ Pt as ResourceGridView
342
359
  };
package/dist/index.d.ts CHANGED
@@ -3,4 +3,6 @@ export { ResourceGridView } from './components/resource-grid-view';
3
3
  export { resourceGridViewDefaults } from './components/resource-grid-view';
4
4
  export type { CalendarResource, CalendarEvent, TimedCalendarEvent, AllDayCalendarEvent, TimeSlot, AvailabilityRange, TimeAxisConfig, ResourceGridViewProps, ResourceGridViewClassNames, PositionedEvent, SelectedRange, SelectionAppearance, SelectionEventData, EventLayout, } from './types/calendar';
5
5
  export { cn } from './lib/utils';
6
+ export { timedEvent, allDayEvent } from './lib/events';
7
+ export { selectedRangeToComponents, selectedRangeToISO, groupAvailabilityByResource, } from './lib/ranges';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,10 +1,17 @@
1
- import { Temporal as o } from "temporal-polyfill";
1
+ import { Temporal as r } from "temporal-polyfill";
2
2
  import { cn as m } from "./lib/utils.js";
3
- import { ResourceGridView as t } from "./components/resource-grid-view/ResourceGridView.js";
4
- import { resourceGridViewDefaults as x } from "./components/resource-grid-view/defaults.js";
3
+ import { allDayEvent as a, timedEvent as i } from "./lib/events.js";
4
+ import { groupAvailabilityByResource as f, selectedRangeToComponents as n, selectedRangeToISO as s } from "./lib/ranges.js";
5
+ import { ResourceGridView as x } from "./components/resource-grid-view/ResourceGridView.js";
6
+ import { resourceGridViewDefaults as u } from "./components/resource-grid-view/defaults.js";
5
7
  export {
6
- t as ResourceGridView,
7
- o as Temporal,
8
+ x as ResourceGridView,
9
+ r as Temporal,
10
+ a as allDayEvent,
8
11
  m as cn,
9
- x as resourceGridViewDefaults
12
+ f as groupAvailabilityByResource,
13
+ u as resourceGridViewDefaults,
14
+ n as selectedRangeToComponents,
15
+ s as selectedRangeToISO,
16
+ i as timedEvent
10
17
  };
@@ -0,0 +1,6 @@
1
+ import { AllDayCalendarEvent, TimedCalendarEvent } from '../types/calendar';
2
+ /** Create a timed calendar event (sets allDay to false automatically) */
3
+ export declare function timedEvent(data: Omit<TimedCalendarEvent, 'allDay'>): TimedCalendarEvent;
4
+ /** Create an all-day calendar event (sets allDay to true automatically) */
5
+ export declare function allDayEvent(data: Omit<AllDayCalendarEvent, 'allDay'>): AllDayCalendarEvent;
6
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/lib/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,yEAAyE;AACzE,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,GACvC,kBAAkB,CAEpB;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CACzB,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GACxC,mBAAmB,CAErB"}
@@ -0,0 +1,10 @@
1
+ function e(t) {
2
+ return { ...t, allDay: !1 };
3
+ }
4
+ function n(t) {
5
+ return { ...t, allDay: !0 };
6
+ }
7
+ export {
8
+ n as allDayEvent,
9
+ e as timedEvent
10
+ };
@@ -0,0 +1,34 @@
1
+ import { AvailabilityRange, SelectedRange } from '../types/calendar';
2
+ /** Decompose a SelectedRange into plain date/time component objects */
3
+ export declare function selectedRangeToComponents(range: SelectedRange): {
4
+ startDate: {
5
+ year: number;
6
+ month: number;
7
+ day: number;
8
+ };
9
+ startTime: {
10
+ hour: number;
11
+ minute: number;
12
+ };
13
+ endDate: {
14
+ year: number;
15
+ month: number;
16
+ day: number;
17
+ };
18
+ endTime: {
19
+ hour: number;
20
+ minute: number;
21
+ };
22
+ resourceId: string;
23
+ };
24
+ /** Convert a SelectedRange to ISO string representations */
25
+ export declare function selectedRangeToISO(range: SelectedRange): {
26
+ startDate: string;
27
+ startTime: string;
28
+ endDate: string;
29
+ endTime: string;
30
+ resourceId: string;
31
+ };
32
+ /** Group items by resource ID into a Record of AvailabilityRange arrays */
33
+ export declare function groupAvailabilityByResource<T>(items: T[], getResourceId: (item: T) => string, getRange: (item: T) => AvailabilityRange): Record<string, AvailabilityRange[]>;
34
+ //# sourceMappingURL=ranges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ranges.d.ts","sourceRoot":"","sources":["../../src/lib/ranges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEzE,uEAAuE;AACvE,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;EAsB7D;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa;;;;;;EAUtD;AAED,2EAA2E;AAC3E,wBAAgB,2BAA2B,CAAC,CAAC,EAC3C,KAAK,EAAE,CAAC,EAAE,EACV,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAClC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,iBAAiB,GACvC,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAUrC"}
@@ -0,0 +1,45 @@
1
+ function r(t) {
2
+ return {
3
+ startDate: {
4
+ year: t.startTime.year,
5
+ month: t.startTime.month,
6
+ day: t.startTime.day
7
+ },
8
+ startTime: {
9
+ hour: t.startTime.hour,
10
+ minute: t.startTime.minute
11
+ },
12
+ endDate: {
13
+ year: t.endTime.year,
14
+ month: t.endTime.month,
15
+ day: t.endTime.day
16
+ },
17
+ endTime: {
18
+ hour: t.endTime.hour,
19
+ minute: t.endTime.minute
20
+ },
21
+ resourceId: t.resourceId
22
+ };
23
+ }
24
+ function s(t) {
25
+ return {
26
+ startDate: t.startTime.toPlainDate().toString(),
27
+ startTime: t.startTime.toPlainTime().toString({ smallestUnit: "minute" }),
28
+ endDate: t.endTime.toPlainDate().toString(),
29
+ endTime: t.endTime.toPlainTime().toString({ smallestUnit: "minute" }),
30
+ resourceId: t.resourceId
31
+ };
32
+ }
33
+ function u(t, m, n) {
34
+ const e = {};
35
+ for (const o of t) {
36
+ const i = m(o);
37
+ e[i] || (e[i] = []), e[i].push(n(o));
38
+ }
39
+ return e;
40
+ }
41
+ export {
42
+ u as groupAvailabilityByResource,
43
+ r as selectedRangeToComponents,
44
+ s as selectedRangeToISO
45
+ };
@@ -13,7 +13,6 @@ interface BaseCalendarEvent {
13
13
  color?: string;
14
14
  clientName?: ReactNode;
15
15
  status?: 'confirmed' | 'canceled' | 'tentative';
16
- metadata?: Record<string, unknown>;
17
16
  }
18
17
  export interface TimedCalendarEvent extends BaseCalendarEvent {
19
18
  allDay?: false;
@@ -117,9 +116,14 @@ export interface ResourceGridViewProps {
117
116
  selectionAppearance?: SelectionAppearance;
118
117
  dragPreviewAppearance?: SelectionAppearance;
119
118
  selectionRef?: Ref<HTMLDivElement>;
119
+ /** How long (ms) the selection overlay remains in DOM after clearing, to allow popover close transitions. Default: 0 */
120
+ selectionLingerMs?: number;
120
121
  selectedEventId?: string | null;
121
122
  selectedEventRef?: Ref<HTMLDivElement>;
122
- renderCorner?: () => ReactNode;
123
+ renderCorner?: (props: {
124
+ timeZone: string;
125
+ date: Temporal.PlainDate;
126
+ }) => ReactNode;
123
127
  eventGap?: number;
124
128
  eventLayout?: EventLayout;
125
129
  stackOffset?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../src/types/calendar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../src/types/calendar.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@savvycal/calendar",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -10,6 +10,7 @@
10
10
  },
11
11
  "publishConfig": {
12
12
  "access": "public",
13
+ "provenance": true,
13
14
  "registry": "https://registry.npmjs.org/"
14
15
  },
15
16
  "main": "./dist/index.js",