@savvycal/calendar 0.6.0 → 0.8.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.
- package/README.md +4 -0
- package/dist/components/day-grid-view/AllDayEventChip.d.ts.map +1 -1
- package/dist/components/day-grid-view/AllDayEventChip.js +31 -30
- package/dist/components/day-grid-view/DayGridView.d.ts.map +1 -1
- package/dist/components/day-grid-view/DayGridView.js +168 -159
- package/dist/components/day-grid-view/defaults.d.ts.map +1 -1
- package/dist/components/day-grid-view/defaults.js +1 -1
- package/dist/components/resource-grid-view/ResourceGridView.d.ts.map +1 -1
- package/dist/components/resource-grid-view/ResourceGridView.js +170 -161
- package/dist/components/shared/AllDayRow.d.ts.map +1 -1
- package/dist/components/shared/AllDayRow.js +23 -22
- package/dist/components/shared/EventChip.d.ts.map +1 -1
- package/dist/components/shared/EventChip.js +73 -69
- package/dist/components/shared/useEffectiveHourHeight.d.ts +1 -0
- package/dist/components/shared/useEffectiveHourHeight.d.ts.map +1 -1
- package/dist/components/shared/useEffectiveHourHeight.js +28 -16
- package/dist/lib/accessibility.d.ts +6 -0
- package/dist/lib/accessibility.d.ts.map +1 -0
- package/dist/lib/accessibility.js +11 -0
- package/dist/types/calendar.d.ts +3 -0
- package/dist/types/calendar.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -256,6 +256,7 @@ interface TimedCalendarEvent {
|
|
|
256
256
|
color?: string;
|
|
257
257
|
clientName?: string;
|
|
258
258
|
status?: 'confirmed' | 'canceled' | 'tentative';
|
|
259
|
+
ariaLabel?: string;
|
|
259
260
|
metadata?: Record<string, unknown>;
|
|
260
261
|
}
|
|
261
262
|
|
|
@@ -269,10 +270,13 @@ interface AllDayCalendarEvent {
|
|
|
269
270
|
color?: string;
|
|
270
271
|
clientName?: string;
|
|
271
272
|
status?: 'confirmed' | 'canceled' | 'tentative';
|
|
273
|
+
ariaLabel?: string;
|
|
272
274
|
metadata?: Record<string, unknown>;
|
|
273
275
|
}
|
|
274
276
|
```
|
|
275
277
|
|
|
278
|
+
The optional `ariaLabel` field provides a plain-text label used for `aria-label` attributes and screen reader announcements. When `title` or `clientName` are React elements (not plain strings), set `ariaLabel` to avoid `"[object Object]"` in accessible labels.
|
|
279
|
+
|
|
276
280
|
### AvailabilityRange
|
|
277
281
|
|
|
278
282
|
```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AllDayEventChip.d.ts","sourceRoot":"","sources":["../../../src/components/day-grid-view/AllDayEventChip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AllDayEventChip.d.ts","sourceRoot":"","sources":["../../../src/components/day-grid-view/AllDayEventChip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,UAAU,oBAAoB;IAC5B,UAAU,EAAE,qBAAqB,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,qBAAqB,KAAK,MAAM,CAAC;IAClD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,eAAe,4DAmG1B,CAAC"}
|
|
@@ -1,31 +1,32 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { memo as
|
|
3
|
-
import { cn as
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { jsxs as D, Fragment as E, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { memo as L } from "react";
|
|
3
|
+
import { cn as g } from "../../lib/utils.js";
|
|
4
|
+
import { getEventLabel as x, getClientNameLabel as N } from "../../lib/accessibility.js";
|
|
5
|
+
const T = L(function({
|
|
6
|
+
positioned: b,
|
|
7
|
+
laneOffset: y,
|
|
7
8
|
cls: t,
|
|
8
9
|
onEventClick: a,
|
|
9
10
|
selectedEventId: h,
|
|
10
|
-
selectedEventRef:
|
|
11
|
+
selectedEventRef: v
|
|
11
12
|
}) {
|
|
12
13
|
const {
|
|
13
14
|
event: e,
|
|
14
|
-
gridColumnStart:
|
|
15
|
+
gridColumnStart: i,
|
|
15
16
|
gridColumnSpan: r,
|
|
16
|
-
lane:
|
|
17
|
+
lane: C,
|
|
17
18
|
continuesBefore: l,
|
|
18
19
|
continuesAfter: s
|
|
19
|
-
} =
|
|
20
|
-
|
|
21
|
-
const
|
|
20
|
+
} = b, R = e.id === h, d = C + 1 + y, o = [x(e), "all day"], c = N(e);
|
|
21
|
+
c && o.push(c);
|
|
22
|
+
const m = l ? 2 : 4, p = s ? 2 : 4, u = {
|
|
22
23
|
...l ? {
|
|
23
24
|
borderTopLeftRadius: 0,
|
|
24
25
|
borderBottomLeftRadius: 0,
|
|
25
26
|
paddingLeft: 4
|
|
26
27
|
} : {},
|
|
27
28
|
...s ? { borderTopRightRadius: 0, borderBottomRightRadius: 0 } : {}
|
|
28
|
-
},
|
|
29
|
+
}, f = /* @__PURE__ */ D(E, { children: [
|
|
29
30
|
e.color && !l && /* @__PURE__ */ n(
|
|
30
31
|
"div",
|
|
31
32
|
{
|
|
@@ -35,31 +36,31 @@ const B = x(function({
|
|
|
35
36
|
),
|
|
36
37
|
/* @__PURE__ */ n("span", { className: t("allDayEventTitle"), children: e.title })
|
|
37
38
|
] });
|
|
38
|
-
return
|
|
39
|
+
return R ? /* @__PURE__ */ n(
|
|
39
40
|
"div",
|
|
40
41
|
{
|
|
41
|
-
ref:
|
|
42
|
+
ref: v,
|
|
42
43
|
style: {
|
|
43
|
-
gridColumn: `${
|
|
44
|
+
gridColumn: `${i} / span ${r}`,
|
|
44
45
|
gridRow: d,
|
|
45
46
|
display: "flex",
|
|
46
47
|
minWidth: 0,
|
|
47
|
-
marginLeft:
|
|
48
|
-
marginRight:
|
|
48
|
+
marginLeft: m,
|
|
49
|
+
marginRight: p
|
|
49
50
|
},
|
|
50
51
|
children: /* @__PURE__ */ n(
|
|
51
52
|
"button",
|
|
52
53
|
{
|
|
53
54
|
type: "button",
|
|
54
|
-
"aria-label":
|
|
55
|
-
className:
|
|
55
|
+
"aria-label": o.join(", "),
|
|
56
|
+
className: g(
|
|
56
57
|
t("allDayEvent"),
|
|
57
58
|
t("allDayEventSelected"),
|
|
58
59
|
"relative flex items-center gap-1 w-full"
|
|
59
60
|
),
|
|
60
|
-
style:
|
|
61
|
+
style: u,
|
|
61
62
|
onClick: () => a?.(e),
|
|
62
|
-
children:
|
|
63
|
+
children: f
|
|
63
64
|
}
|
|
64
65
|
)
|
|
65
66
|
}
|
|
@@ -67,20 +68,20 @@ const B = x(function({
|
|
|
67
68
|
"button",
|
|
68
69
|
{
|
|
69
70
|
type: "button",
|
|
70
|
-
"aria-label":
|
|
71
|
-
className:
|
|
71
|
+
"aria-label": o.join(", "),
|
|
72
|
+
className: g(t("allDayEvent"), "relative flex items-center gap-1"),
|
|
72
73
|
style: {
|
|
73
|
-
gridColumn: `${
|
|
74
|
+
gridColumn: `${i} / span ${r}`,
|
|
74
75
|
gridRow: d,
|
|
75
|
-
marginLeft:
|
|
76
|
-
marginRight:
|
|
77
|
-
...
|
|
76
|
+
marginLeft: m,
|
|
77
|
+
marginRight: p,
|
|
78
|
+
...u
|
|
78
79
|
},
|
|
79
80
|
onClick: () => a?.(e),
|
|
80
|
-
children:
|
|
81
|
+
children: f
|
|
81
82
|
}
|
|
82
83
|
);
|
|
83
84
|
});
|
|
84
85
|
export {
|
|
85
|
-
|
|
86
|
+
T as AllDayEventChip
|
|
86
87
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DayGridView.d.ts","sourceRoot":"","sources":["../../../src/components/day-grid-view/DayGridView.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAKV,gBAAgB,EAEjB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"DayGridView.d.ts","sourceRoot":"","sources":["../../../src/components/day-grid-view/DayGridView.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAKV,gBAAgB,EAEjB,MAAM,kBAAkB,CAAC;AAc1B,wBAAgB,WAAW,CAAC,EAC1B,WAAW,EACX,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,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,gBAAgB,2CAgalB"}
|
|
@@ -1,136 +1,144 @@
|
|
|
1
1
|
import { jsxs as F, jsx as a } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo as m, useCallback as
|
|
2
|
+
import { useMemo as m, useCallback as D, useRef as K, useState as Ht, useEffect as U } from "react";
|
|
3
3
|
import { Temporal as E } from "temporal-polyfill";
|
|
4
|
-
import { cn as
|
|
5
|
-
import { generateDateRange as
|
|
6
|
-
import { layoutAllDayEvents as
|
|
7
|
-
import { computeUnavailableBlocks as
|
|
8
|
-
import { UnavailabilityOverlay as
|
|
9
|
-
import { dayGridViewDefaults as
|
|
10
|
-
import { DayHeader as
|
|
11
|
-
import { DayColumn as
|
|
12
|
-
import { TimeGutter as
|
|
13
|
-
import { SlotInteractionLayer as
|
|
14
|
-
import { SelectionOverlay as
|
|
15
|
-
import { NowIndicator as
|
|
16
|
-
import { AllDaySection as
|
|
17
|
-
import { useEffectiveHourHeight as
|
|
18
|
-
import { useAnnouncer as
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
4
|
+
import { cn as k } from "../../lib/utils.js";
|
|
5
|
+
import { generateDateRange as bt, generateTimeSlots as vt, formatDayOfWeek as q, formatTimeRange as J } from "../../lib/time.js";
|
|
6
|
+
import { layoutAllDayEvents as Ct, computePositionedEventsByDate as $t } from "../../lib/overlap.js";
|
|
7
|
+
import { computeUnavailableBlocks as xt } from "../../lib/availability.js";
|
|
8
|
+
import { UnavailabilityOverlay as Et } from "../shared/UnavailabilityOverlay.js";
|
|
9
|
+
import { dayGridViewDefaults as kt } from "./defaults.js";
|
|
10
|
+
import { DayHeader as Nt } from "./DayHeader.js";
|
|
11
|
+
import { DayColumn as It } from "./DayColumn.js";
|
|
12
|
+
import { TimeGutter as Lt } from "../shared/TimeGutter.js";
|
|
13
|
+
import { SlotInteractionLayer as jt } from "../shared/SlotInteractionLayer.js";
|
|
14
|
+
import { SelectionOverlay as Mt } from "../shared/SelectionOverlay.js";
|
|
15
|
+
import { NowIndicator as At } from "../shared/NowIndicator.js";
|
|
16
|
+
import { AllDaySection as Bt } from "./AllDaySection.js";
|
|
17
|
+
import { useEffectiveHourHeight as Gt } from "../shared/useEffectiveHourHeight.js";
|
|
18
|
+
import { useAnnouncer as Ot } from "../shared/useAnnouncer.js";
|
|
19
|
+
import { getEventLabel as Q, getClientNameLabel as X } from "../../lib/accessibility.js";
|
|
20
|
+
function nr({
|
|
21
|
+
activeRange: d,
|
|
22
|
+
timeZone: n,
|
|
23
|
+
events: N,
|
|
23
24
|
availability: S,
|
|
24
25
|
unavailability: T,
|
|
25
26
|
defaultUnavailable: I,
|
|
26
27
|
timeAxis: w,
|
|
27
|
-
onEventClick:
|
|
28
|
-
snapDuration:
|
|
29
|
-
placeholderDuration:
|
|
30
|
-
selectedRange:
|
|
28
|
+
onEventClick: L,
|
|
29
|
+
snapDuration: j,
|
|
30
|
+
placeholderDuration: Y,
|
|
31
|
+
selectedRange: f,
|
|
31
32
|
onSelect: s,
|
|
32
33
|
onSlotClick: H,
|
|
33
|
-
className:
|
|
34
|
-
classNames:
|
|
35
|
-
hourHeight:
|
|
36
|
-
columnMinWidth:
|
|
37
|
-
renderHeader:
|
|
34
|
+
className: _,
|
|
35
|
+
classNames: M,
|
|
36
|
+
hourHeight: Z = 60,
|
|
37
|
+
columnMinWidth: tt = 120,
|
|
38
|
+
renderHeader: rt,
|
|
38
39
|
renderEvent: b,
|
|
39
|
-
selectionAppearance:
|
|
40
|
-
dragPreviewAppearance:
|
|
41
|
-
selectionRef:
|
|
40
|
+
selectionAppearance: et,
|
|
41
|
+
dragPreviewAppearance: ot,
|
|
42
|
+
selectionRef: nt,
|
|
42
43
|
selectionLingerMs: v = 0,
|
|
43
|
-
selectedEventId:
|
|
44
|
-
selectedEventRef:
|
|
45
|
-
renderCorner:
|
|
46
|
-
eventGap:
|
|
47
|
-
eventLayout:
|
|
48
|
-
stackOffset:
|
|
44
|
+
selectedEventId: A,
|
|
45
|
+
selectedEventRef: B,
|
|
46
|
+
renderCorner: it,
|
|
47
|
+
eventGap: at,
|
|
48
|
+
eventLayout: lt = "columns",
|
|
49
|
+
stackOffset: st = 8
|
|
49
50
|
}) {
|
|
50
|
-
const l = w?.startHour ?? 0, c = w?.endHour ?? 24,
|
|
51
|
-
() =>
|
|
52
|
-
[
|
|
53
|
-
),
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
51
|
+
const l = w?.startHour ?? 0, c = w?.endHour ?? 24, C = w?.intervalMinutes ?? 60, o = m(
|
|
52
|
+
() => bt(d.startDate, d.endDate),
|
|
53
|
+
[d.startDate, d.endDate]
|
|
54
|
+
), G = m(() => E.Now.plainDateISO(n).toString(), [n]), {
|
|
55
|
+
effectiveHourHeight: u,
|
|
56
|
+
rootRef: ct,
|
|
57
|
+
headerRef: mt,
|
|
58
|
+
allDayRef: dt,
|
|
59
|
+
gridRef: ut,
|
|
60
|
+
headerHeight: O
|
|
61
|
+
} = Gt(Z, c - l), i = D(
|
|
62
|
+
(t) => k(kt[t], M?.[t]),
|
|
63
|
+
[M]
|
|
64
|
+
), y = K(null), p = K(null), [ft, P] = Ht(null);
|
|
57
65
|
U(() => {
|
|
58
|
-
if (
|
|
59
|
-
|
|
66
|
+
if (f)
|
|
67
|
+
p.current !== null && (clearTimeout(p.current), p.current = null), y.current = f;
|
|
60
68
|
else if (y.current && v > 0) {
|
|
61
69
|
const t = y.current;
|
|
62
|
-
y.current = null,
|
|
63
|
-
|
|
70
|
+
y.current = null, P(t), p.current = setTimeout(() => {
|
|
71
|
+
p.current = null, P(null);
|
|
64
72
|
}, v);
|
|
65
73
|
}
|
|
66
|
-
}, [
|
|
67
|
-
const
|
|
68
|
-
() =>
|
|
69
|
-
[l, c,
|
|
70
|
-
), { allDayEvents:
|
|
74
|
+
}, [f, v]);
|
|
75
|
+
const g = f ?? ft, $ = m(
|
|
76
|
+
() => vt({ startHour: l, endHour: c, intervalMinutes: C }),
|
|
77
|
+
[l, c, C]
|
|
78
|
+
), { allDayEvents: W, timedEvents: R } = m(() => {
|
|
71
79
|
const t = [], r = [];
|
|
72
|
-
for (const
|
|
73
|
-
|
|
80
|
+
for (const e of N)
|
|
81
|
+
e.allDay ? t.push(e) : r.push(e);
|
|
74
82
|
return { allDayEvents: t, timedEvents: r };
|
|
75
|
-
}, [
|
|
76
|
-
() =>
|
|
77
|
-
[
|
|
78
|
-
),
|
|
79
|
-
() =>
|
|
83
|
+
}, [N]), pt = m(
|
|
84
|
+
() => Ct(W, o),
|
|
85
|
+
[W, o]
|
|
86
|
+
), ht = m(
|
|
87
|
+
() => $t(
|
|
80
88
|
R,
|
|
89
|
+
n,
|
|
81
90
|
o,
|
|
82
|
-
e,
|
|
83
91
|
l,
|
|
84
92
|
c,
|
|
85
|
-
|
|
93
|
+
u
|
|
86
94
|
),
|
|
87
|
-
[R,
|
|
88
|
-
),
|
|
95
|
+
[R, n, o, l, c, u]
|
|
96
|
+
), x = m(
|
|
89
97
|
() => I ? S ?? [] : S,
|
|
90
98
|
[I, S]
|
|
91
|
-
),
|
|
92
|
-
if (
|
|
99
|
+
), yt = m(() => {
|
|
100
|
+
if (x === void 0 && !T)
|
|
93
101
|
return /* @__PURE__ */ new Map();
|
|
94
102
|
const t = /* @__PURE__ */ new Map();
|
|
95
|
-
for (const r of
|
|
96
|
-
const
|
|
97
|
-
|
|
103
|
+
for (const r of o) {
|
|
104
|
+
const e = xt(
|
|
105
|
+
x,
|
|
98
106
|
T,
|
|
99
|
-
|
|
107
|
+
n,
|
|
100
108
|
r,
|
|
101
109
|
l,
|
|
102
110
|
c,
|
|
103
|
-
|
|
111
|
+
u
|
|
104
112
|
);
|
|
105
|
-
|
|
113
|
+
e.length > 0 && t.set(r.toString(), e);
|
|
106
114
|
}
|
|
107
115
|
return t;
|
|
108
116
|
}, [
|
|
109
|
-
|
|
117
|
+
x,
|
|
110
118
|
T,
|
|
119
|
+
n,
|
|
111
120
|
o,
|
|
112
|
-
e,
|
|
113
121
|
l,
|
|
114
122
|
c,
|
|
115
|
-
|
|
116
|
-
]), { message:
|
|
117
|
-
const t = q(
|
|
123
|
+
u
|
|
124
|
+
]), { message: gt, announce: h } = Ot(), Dt = m(() => {
|
|
125
|
+
const t = q(d.startDate), r = q(d.endDate);
|
|
118
126
|
return `Schedule for ${t} to ${r}`;
|
|
119
|
-
}, [
|
|
127
|
+
}, [d.startDate, d.endDate]), V = D(
|
|
120
128
|
(t) => {
|
|
121
|
-
if (s?.(null),
|
|
122
|
-
const r = [t
|
|
123
|
-
|
|
129
|
+
if (s?.(null), L?.(t), t.allDay) {
|
|
130
|
+
const r = [Q(t), "all day"], e = X(t);
|
|
131
|
+
e && r.push(e), h(`Selected: ${r.join(", ")}`);
|
|
124
132
|
} else {
|
|
125
133
|
const r = [
|
|
126
|
-
t
|
|
127
|
-
J(t.startTime, t.endTime,
|
|
128
|
-
];
|
|
129
|
-
|
|
134
|
+
Q(t),
|
|
135
|
+
J(t.startTime, t.endTime, n)
|
|
136
|
+
], e = X(t);
|
|
137
|
+
e && r.push(e), h(`Selected: ${r.join(", ")}`);
|
|
130
138
|
}
|
|
131
139
|
},
|
|
132
|
-
[s,
|
|
133
|
-
),
|
|
140
|
+
[s, L, n, h]
|
|
141
|
+
), St = D(
|
|
134
142
|
(t) => {
|
|
135
143
|
if (!t) {
|
|
136
144
|
s?.(null);
|
|
@@ -141,11 +149,11 @@ function tr({
|
|
|
141
149
|
endTime: t.endTime
|
|
142
150
|
};
|
|
143
151
|
s?.(r);
|
|
144
|
-
const
|
|
145
|
-
h(`Selected time: ${
|
|
152
|
+
const e = [J(t.startTime, t.endTime, n)];
|
|
153
|
+
h(`Selected time: ${e.join(", ")}`);
|
|
146
154
|
},
|
|
147
|
-
[s,
|
|
148
|
-
),
|
|
155
|
+
[s, n, h]
|
|
156
|
+
), Tt = D(
|
|
149
157
|
(t) => {
|
|
150
158
|
const r = E.PlainDate.from(t.columnId);
|
|
151
159
|
H?.({
|
|
@@ -157,73 +165,74 @@ function tr({
|
|
|
157
165
|
[H]
|
|
158
166
|
);
|
|
159
167
|
U(() => {
|
|
160
|
-
if (!
|
|
168
|
+
if (!f || !s) return;
|
|
161
169
|
const t = (r) => {
|
|
162
170
|
r.key === "Escape" && s(null);
|
|
163
171
|
};
|
|
164
172
|
return document.addEventListener("keydown", t), () => document.removeEventListener("keydown", t);
|
|
165
|
-
}, [
|
|
166
|
-
const
|
|
167
|
-
return /* @__PURE__ */ F("div", { ref:
|
|
173
|
+
}, [f, s]);
|
|
174
|
+
const wt = u * C / 60, z = o.find((t) => t.toString() === G);
|
|
175
|
+
return /* @__PURE__ */ F("div", { ref: ct, className: k(i("root"), _), children: [
|
|
168
176
|
/* @__PURE__ */ F(
|
|
169
177
|
"div",
|
|
170
178
|
{
|
|
179
|
+
ref: ut,
|
|
171
180
|
className: i("grid"),
|
|
172
181
|
role: "region",
|
|
173
182
|
"aria-roledescription": "calendar",
|
|
174
|
-
"aria-label":
|
|
183
|
+
"aria-label": Dt,
|
|
175
184
|
style: {
|
|
176
185
|
display: "grid",
|
|
177
|
-
gridTemplateColumns: `max-content repeat(${
|
|
178
|
-
gridTemplateRows: `auto auto repeat(${
|
|
186
|
+
gridTemplateColumns: `max-content repeat(${o.length}, minmax(${tt}px, 1fr))`,
|
|
187
|
+
gridTemplateRows: `auto auto repeat(${$.length}, ${wt}px)`
|
|
179
188
|
},
|
|
180
189
|
children: [
|
|
181
190
|
/* @__PURE__ */ a(
|
|
182
191
|
"div",
|
|
183
192
|
{
|
|
184
|
-
ref:
|
|
193
|
+
ref: mt,
|
|
185
194
|
className: i("cornerCell"),
|
|
186
195
|
style: { gridRow: 1, gridColumn: 1 },
|
|
187
|
-
children:
|
|
196
|
+
children: it?.({ timeZone: n })
|
|
188
197
|
}
|
|
189
198
|
),
|
|
190
|
-
|
|
191
|
-
|
|
199
|
+
o.map((t, r) => /* @__PURE__ */ a(
|
|
200
|
+
Nt,
|
|
192
201
|
{
|
|
193
202
|
date: t,
|
|
194
|
-
isToday: t.toString() ===
|
|
203
|
+
isToday: t.toString() === G,
|
|
195
204
|
column: r + 2,
|
|
196
205
|
cls: i,
|
|
197
|
-
renderHeader:
|
|
206
|
+
renderHeader: rt
|
|
198
207
|
},
|
|
199
208
|
t.toString()
|
|
200
209
|
)),
|
|
201
210
|
/* @__PURE__ */ a(
|
|
202
211
|
"div",
|
|
203
212
|
{
|
|
204
|
-
ref:
|
|
205
|
-
className:
|
|
213
|
+
ref: dt,
|
|
214
|
+
className: k(i("allDayCell"), "left-0 z-30"),
|
|
206
215
|
style: {
|
|
207
216
|
gridRow: 2,
|
|
208
217
|
gridColumn: 1,
|
|
209
|
-
top:
|
|
218
|
+
top: O
|
|
210
219
|
}
|
|
211
220
|
}
|
|
212
221
|
),
|
|
213
222
|
/* @__PURE__ */ a(
|
|
214
|
-
|
|
223
|
+
Bt,
|
|
215
224
|
{
|
|
216
|
-
positioned:
|
|
217
|
-
dates:
|
|
218
|
-
headerHeight:
|
|
225
|
+
positioned: pt,
|
|
226
|
+
dates: o,
|
|
227
|
+
headerHeight: O,
|
|
219
228
|
cls: i,
|
|
220
229
|
onEventClick: V,
|
|
221
|
-
selectedEventId:
|
|
222
|
-
selectedEventRef:
|
|
230
|
+
selectedEventId: A,
|
|
231
|
+
selectedEventRef: B
|
|
223
232
|
}
|
|
224
233
|
),
|
|
225
|
-
|
|
226
|
-
|
|
234
|
+
$.map((t) => /* @__PURE__ */ a(
|
|
235
|
+
Lt,
|
|
227
236
|
{
|
|
228
237
|
label: t.label,
|
|
229
238
|
row: t.index + 3,
|
|
@@ -233,100 +242,100 @@ function tr({
|
|
|
233
242
|
},
|
|
234
243
|
t.index
|
|
235
244
|
)),
|
|
236
|
-
|
|
237
|
-
(t) =>
|
|
245
|
+
$.map(
|
|
246
|
+
(t) => o.map((r, e) => /* @__PURE__ */ a(
|
|
238
247
|
"div",
|
|
239
248
|
{
|
|
240
249
|
className: i(t.isHourStart ? "bodyCell" : "bodyCellMinor"),
|
|
241
250
|
style: {
|
|
242
251
|
gridRow: t.index + 3,
|
|
243
|
-
gridColumn:
|
|
252
|
+
gridColumn: e + 2,
|
|
244
253
|
...t.isHourStart ? {} : { borderTopStyle: "dotted" },
|
|
245
254
|
...t.index === 0 ? { borderTopWidth: 0 } : {},
|
|
246
|
-
...
|
|
255
|
+
...e === o.length - 1 ? { borderRightWidth: 0 } : {}
|
|
247
256
|
}
|
|
248
257
|
},
|
|
249
258
|
`${t.index}-${r.toString()}`
|
|
250
259
|
))
|
|
251
260
|
),
|
|
252
|
-
|
|
253
|
-
const
|
|
254
|
-
return
|
|
255
|
-
|
|
261
|
+
o.map((t, r) => {
|
|
262
|
+
const e = yt.get(t.toString());
|
|
263
|
+
return e ? /* @__PURE__ */ a(
|
|
264
|
+
Et,
|
|
256
265
|
{
|
|
257
|
-
blocks:
|
|
266
|
+
blocks: e,
|
|
258
267
|
column: r + 2,
|
|
259
268
|
cls: i
|
|
260
269
|
},
|
|
261
270
|
`unavail-${t.toString()}`
|
|
262
271
|
) : null;
|
|
263
272
|
}),
|
|
264
|
-
|
|
265
|
-
|
|
273
|
+
j != null && o.map((t, r) => /* @__PURE__ */ a(
|
|
274
|
+
jt,
|
|
266
275
|
{
|
|
267
276
|
columnId: t.toString(),
|
|
268
277
|
column: r + 2,
|
|
269
278
|
date: t,
|
|
270
|
-
timeZone:
|
|
279
|
+
timeZone: n,
|
|
271
280
|
startHour: l,
|
|
272
281
|
endHour: c,
|
|
273
|
-
hourHeight:
|
|
274
|
-
snapDuration:
|
|
275
|
-
placeholderDuration:
|
|
282
|
+
hourHeight: u,
|
|
283
|
+
snapDuration: j,
|
|
284
|
+
placeholderDuration: Y ?? 15,
|
|
276
285
|
cls: i,
|
|
277
|
-
onSlotClick: H ?
|
|
278
|
-
onSelect: s ?
|
|
279
|
-
dragPreviewAppearance:
|
|
286
|
+
onSlotClick: H ? Tt : void 0,
|
|
287
|
+
onSelect: s ? St : void 0,
|
|
288
|
+
dragPreviewAppearance: ot,
|
|
280
289
|
renderEvent: b
|
|
281
290
|
},
|
|
282
291
|
`slot-${t.toString()}`
|
|
283
292
|
)),
|
|
284
|
-
|
|
285
|
-
|
|
293
|
+
o.map((t, r) => /* @__PURE__ */ a(
|
|
294
|
+
It,
|
|
286
295
|
{
|
|
287
|
-
positionedEvents:
|
|
296
|
+
positionedEvents: ht.get(t.toString()) ?? [],
|
|
288
297
|
column: r + 2,
|
|
289
|
-
timeZone:
|
|
298
|
+
timeZone: n,
|
|
290
299
|
cls: i,
|
|
291
300
|
onEventClick: V,
|
|
292
301
|
renderEvent: b,
|
|
293
|
-
eventGap:
|
|
294
|
-
eventLayout:
|
|
295
|
-
stackOffset:
|
|
296
|
-
selectedEventId:
|
|
297
|
-
selectedEventRef:
|
|
302
|
+
eventGap: at,
|
|
303
|
+
eventLayout: lt,
|
|
304
|
+
stackOffset: st,
|
|
305
|
+
selectedEventId: A,
|
|
306
|
+
selectedEventRef: B
|
|
298
307
|
},
|
|
299
308
|
t.toString()
|
|
300
309
|
)),
|
|
301
|
-
|
|
302
|
-
const t =
|
|
303
|
-
(
|
|
310
|
+
g != null && (() => {
|
|
311
|
+
const t = g.startTime.withTimeZone(n).toPlainDate(), r = o.findIndex(
|
|
312
|
+
(e) => E.PlainDate.compare(e, t) === 0
|
|
304
313
|
);
|
|
305
314
|
return r === -1 ? null : /* @__PURE__ */ a(
|
|
306
|
-
|
|
315
|
+
Mt,
|
|
307
316
|
{
|
|
308
|
-
startTime:
|
|
309
|
-
endTime:
|
|
317
|
+
startTime: g.startTime,
|
|
318
|
+
endTime: g.endTime,
|
|
310
319
|
column: r + 2,
|
|
311
|
-
viewDate:
|
|
312
|
-
timeZone:
|
|
320
|
+
viewDate: o[r],
|
|
321
|
+
timeZone: n,
|
|
313
322
|
startHour: l,
|
|
314
|
-
hourHeight:
|
|
323
|
+
hourHeight: u,
|
|
315
324
|
cls: i,
|
|
316
|
-
appearance:
|
|
317
|
-
selectionRef:
|
|
325
|
+
appearance: et,
|
|
326
|
+
selectionRef: nt,
|
|
318
327
|
renderEvent: b
|
|
319
328
|
}
|
|
320
329
|
);
|
|
321
330
|
})(),
|
|
322
331
|
z && /* @__PURE__ */ a(
|
|
323
|
-
|
|
332
|
+
At,
|
|
324
333
|
{
|
|
325
334
|
date: z,
|
|
326
|
-
timeZone:
|
|
335
|
+
timeZone: n,
|
|
327
336
|
startHour: l,
|
|
328
337
|
endHour: c,
|
|
329
|
-
hourHeight:
|
|
338
|
+
hourHeight: u,
|
|
330
339
|
cls: i
|
|
331
340
|
}
|
|
332
341
|
)
|
|
@@ -350,11 +359,11 @@ function tr({
|
|
|
350
359
|
whiteSpace: "nowrap",
|
|
351
360
|
borderWidth: 0
|
|
352
361
|
},
|
|
353
|
-
children:
|
|
362
|
+
children: gt
|
|
354
363
|
}
|
|
355
364
|
)
|
|
356
365
|
] });
|
|
357
366
|
}
|
|
358
367
|
export {
|
|
359
|
-
|
|
368
|
+
nr as DayGridView
|
|
360
369
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/components/day-grid-view/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/components/day-grid-view/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,qBAAqB,CA2C/D,CAAC"}
|