@pnp/spfx-controls-react 3.21.0-beta.1365660 → 3.21.0-beta.1370835
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/CHANGELOG.json +3 -2
- package/CHANGELOG.md +3 -2
- package/lib/Calendar.d.ts +2 -0
- package/lib/Calendar.d.ts.map +1 -0
- package/lib/Calendar.js +2 -0
- package/lib/Calendar.js.map +1 -0
- package/lib/common/telemetry/version.js +1 -1
- package/lib/common/utilities/CustomFormatting.d.ts +0 -1
- package/lib/common/utilities/CustomFormatting.d.ts.map +1 -1
- package/lib/common/utilities/FieldRendererHelper.d.ts +0 -1
- package/lib/common/utilities/FieldRendererHelper.d.ts.map +1 -1
- package/lib/controls/LivePersona/ILivePersonaProps.d.ts +0 -1
- package/lib/controls/LivePersona/ILivePersonaProps.d.ts.map +1 -1
- package/lib/controls/MyTeams/components/ShowMessage/IShowMessageProps.d.ts +0 -1
- package/lib/controls/MyTeams/components/ShowMessage/IShowMessageProps.d.ts.map +1 -1
- package/lib/controls/accessibleAccordion/components/Accordion.d.ts +0 -1
- package/lib/controls/accessibleAccordion/components/Accordion.d.ts.map +1 -1
- package/lib/controls/accessibleAccordion/components/AccordionItem.d.ts +0 -1
- package/lib/controls/accessibleAccordion/components/AccordionItem.d.ts.map +1 -1
- package/lib/controls/accessibleAccordion/components/AccordionItemPanel.d.ts +0 -1
- package/lib/controls/accessibleAccordion/components/AccordionItemPanel.d.ts.map +1 -1
- package/lib/controls/adaptiveCardDesignerHost/AdaptiveCardDesigner.d.ts +0 -1
- package/lib/controls/adaptiveCardDesignerHost/AdaptiveCardDesigner.d.ts.map +1 -1
- package/lib/controls/adaptiveCardDesignerHost/AdaptiveCardDesignerHost.d.ts +0 -1
- package/lib/controls/adaptiveCardDesignerHost/AdaptiveCardDesignerHost.d.ts.map +1 -1
- package/lib/controls/adaptiveCardHost/AdaptiveCardHost.d.ts +0 -1
- package/lib/controls/adaptiveCardHost/AdaptiveCardHost.d.ts.map +1 -1
- package/lib/controls/calendar/Calendar.d.ts +5 -0
- package/lib/controls/calendar/Calendar.d.ts.map +1 -0
- package/lib/controls/calendar/Calendar.js +157 -0
- package/lib/controls/calendar/Calendar.js.map +1 -0
- package/lib/controls/calendar/Day.d.ts +12 -0
- package/lib/controls/calendar/Day.d.ts.map +1 -0
- package/lib/controls/calendar/Day.js +30 -0
- package/lib/controls/calendar/Day.js.map +1 -0
- package/lib/controls/calendar/DayView.d.ts +10 -0
- package/lib/controls/calendar/DayView.d.ts.map +1 -0
- package/lib/controls/calendar/DayView.js +103 -0
- package/lib/controls/calendar/DayView.js.map +1 -0
- package/lib/controls/calendar/EventDetailsPopover.d.ts +7 -0
- package/lib/controls/calendar/EventDetailsPopover.d.ts.map +1 -0
- package/lib/controls/calendar/EventDetailsPopover.js +72 -0
- package/lib/controls/calendar/EventDetailsPopover.js.map +1 -0
- package/lib/controls/calendar/EventPopoverCard.d.ts +16 -0
- package/lib/controls/calendar/EventPopoverCard.d.ts.map +1 -0
- package/lib/controls/calendar/EventPopoverCard.js +29 -0
- package/lib/controls/calendar/EventPopoverCard.js.map +1 -0
- package/lib/controls/calendar/EventRender.d.ts +13 -0
- package/lib/controls/calendar/EventRender.d.ts.map +1 -0
- package/lib/controls/calendar/EventRender.js +38 -0
- package/lib/controls/calendar/EventRender.js.map +1 -0
- package/lib/controls/calendar/RenderEventToDayOfMonth.d.ts +10 -0
- package/lib/controls/calendar/RenderEventToDayOfMonth.d.ts.map +1 -0
- package/lib/controls/calendar/RenderEventToDayOfMonth.js +75 -0
- package/lib/controls/calendar/RenderEventToDayOfMonth.js.map +1 -0
- package/lib/controls/calendar/SelectCalendarView.d.ts +8 -0
- package/lib/controls/calendar/SelectCalendarView.d.ts.map +1 -0
- package/lib/controls/calendar/SelectCalendarView.js +69 -0
- package/lib/controls/calendar/SelectCalendarView.js.map +1 -0
- package/lib/controls/calendar/Toolbar.d.ts +14 -0
- package/lib/controls/calendar/Toolbar.d.ts.map +1 -0
- package/lib/controls/calendar/Toolbar.js +81 -0
- package/lib/controls/calendar/Toolbar.js.map +1 -0
- package/lib/controls/calendar/WeekView.d.ts +10 -0
- package/lib/controls/calendar/WeekView.d.ts.map +1 -0
- package/lib/controls/calendar/WeekView.js +115 -0
- package/lib/controls/calendar/WeekView.js.map +1 -0
- package/lib/controls/calendar/hooks/useCalendar.d.ts +17 -0
- package/lib/controls/calendar/hooks/useCalendar.d.ts.map +1 -0
- package/lib/controls/calendar/hooks/useCalendar.js +104 -0
- package/lib/controls/calendar/hooks/useCalendar.js.map +1 -0
- package/lib/controls/calendar/hooks/useCalendarStyles.d.ts +21 -0
- package/lib/controls/calendar/hooks/useCalendarStyles.d.ts.map +1 -0
- package/lib/controls/calendar/hooks/useCalendarStyles.js +118 -0
- package/lib/controls/calendar/hooks/useCalendarStyles.js.map +1 -0
- package/lib/controls/calendar/hooks/useDayViewStyles.d.ts +23 -0
- package/lib/controls/calendar/hooks/useDayViewStyles.d.ts.map +1 -0
- package/lib/controls/calendar/hooks/useDayViewStyles.js +181 -0
- package/lib/controls/calendar/hooks/useDayViewStyles.js.map +1 -0
- package/lib/controls/calendar/hooks/useUtils.d.ts +19 -0
- package/lib/controls/calendar/hooks/useUtils.d.ts.map +1 -0
- package/lib/controls/calendar/hooks/useUtils.js +270 -0
- package/lib/controls/calendar/hooks/useUtils.js.map +1 -0
- package/lib/controls/calendar/hooks/useWeekViewStyles.d.ts +29 -0
- package/lib/controls/calendar/hooks/useWeekViewStyles.d.ts.map +1 -0
- package/lib/controls/calendar/hooks/useWeekViewStyles.js +213 -0
- package/lib/controls/calendar/hooks/useWeekViewStyles.js.map +1 -0
- package/lib/controls/calendar/index.d.ts +4 -0
- package/lib/controls/calendar/index.d.ts.map +1 -0
- package/lib/controls/calendar/index.js +4 -0
- package/lib/controls/calendar/index.js.map +1 -0
- package/lib/controls/calendar/models/ECalendarViews.d.ts +6 -0
- package/lib/controls/calendar/models/ECalendarViews.d.ts.map +1 -0
- package/lib/controls/calendar/models/ECalendarViews.js +7 -0
- package/lib/controls/calendar/models/ECalendarViews.js.map +1 -0
- package/lib/controls/calendar/models/IAttendee.d.ts +8 -0
- package/lib/controls/calendar/models/IAttendee.d.ts.map +1 -0
- package/lib/controls/calendar/models/IAttendee.js +2 -0
- package/lib/controls/calendar/models/IAttendee.js.map +1 -0
- package/lib/controls/calendar/models/ICalendarControlProps.d.ts +17 -0
- package/lib/controls/calendar/models/ICalendarControlProps.d.ts.map +1 -0
- package/lib/controls/calendar/models/ICalendarControlProps.js +2 -0
- package/lib/controls/calendar/models/ICalendarControlProps.js.map +1 -0
- package/lib/controls/calendar/models/ICalendarDay.d.ts +6 -0
- package/lib/controls/calendar/models/ICalendarDay.d.ts.map +1 -0
- package/lib/controls/calendar/models/ICalendarDay.js +2 -0
- package/lib/controls/calendar/models/ICalendarDay.js.map +1 -0
- package/lib/controls/calendar/models/IEventColors.d.ts +5 -0
- package/lib/controls/calendar/models/IEventColors.d.ts.map +1 -0
- package/lib/controls/calendar/models/IEventColors.js +2 -0
- package/lib/controls/calendar/models/IEventColors.js.map +1 -0
- package/lib/controls/calendar/models/IEvents.d.ts +26 -0
- package/lib/controls/calendar/models/IEvents.d.ts.map +1 -0
- package/lib/controls/calendar/models/IEvents.js +2 -0
- package/lib/controls/calendar/models/IEvents.js.map +1 -0
- package/lib/controls/chartControl/AccessibleChartTable.types.d.ts +0 -1
- package/lib/controls/chartControl/AccessibleChartTable.types.d.ts.map +1 -1
- package/lib/controls/chartControl/ChartControl.types.d.ts +0 -1
- package/lib/controls/chartControl/ChartControl.types.d.ts.map +1 -1
- package/lib/controls/dashboard/DashboardCallout.d.ts +0 -1
- package/lib/controls/dashboard/DashboardCallout.d.ts.map +1 -1
- package/lib/controls/dashboard/widget/WidgetBody.d.ts +0 -1
- package/lib/controls/dashboard/widget/WidgetBody.d.ts.map +1 -1
- package/lib/controls/dashboard/widget/WidgetFooter.d.ts +0 -1
- package/lib/controls/dashboard/widget/WidgetFooter.d.ts.map +1 -1
- package/lib/controls/dashboard/widget/WidgetTitle.d.ts +0 -1
- package/lib/controls/dashboard/widget/WidgetTitle.d.ts.map +1 -1
- package/lib/controls/dynamicForm/IDynamicFormState.d.ts +0 -1
- package/lib/controls/dynamicForm/IDynamicFormState.d.ts.map +1 -1
- package/lib/controls/enhancedThemeProvider/EnhancedThemeProvider.d.ts +0 -1
- package/lib/controls/enhancedThemeProvider/EnhancedThemeProvider.d.ts.map +1 -1
- package/lib/controls/fieldCollectionData/ICustomCollectionField.d.ts +0 -1
- package/lib/controls/fieldCollectionData/ICustomCollectionField.d.ts.map +1 -1
- package/lib/controls/filePicker/IFilePickerProps.d.ts +0 -1
- package/lib/controls/filePicker/IFilePickerProps.d.ts.map +1 -1
- package/lib/controls/filePicker/LinkFilePickerTab/ILinkFilePickerTabProps.d.ts +0 -1
- package/lib/controls/filePicker/LinkFilePickerTab/ILinkFilePickerTabProps.d.ts.map +1 -1
- package/lib/controls/filePicker/MultipleUploadFilePickerTab/IMultipleUploadFilePickerTabProps.d.ts +0 -1
- package/lib/controls/filePicker/MultipleUploadFilePickerTab/IMultipleUploadFilePickerTabProps.d.ts.map +1 -1
- package/lib/controls/filePicker/UploadFilePickerTab/IUploadFilePickerTabProps.d.ts +0 -1
- package/lib/controls/filePicker/UploadFilePickerTab/IUploadFilePickerTabProps.d.ts.map +1 -1
- package/lib/controls/filterBar/OverflowPill.d.ts +0 -1
- package/lib/controls/filterBar/OverflowPill.d.ts.map +1 -1
- package/lib/controls/filterBar/Pill.d.ts +0 -1
- package/lib/controls/filterBar/Pill.d.ts.map +1 -1
- package/lib/controls/gridLayout/GridLayout.types.d.ts +0 -1
- package/lib/controls/gridLayout/GridLayout.types.d.ts.map +1 -1
- package/lib/controls/imagePicker/ImagePicker.d.ts.map +1 -1
- package/lib/controls/imagePicker/ImagePicker.js +4 -4
- package/lib/controls/imagePicker/ImagePicker.js.map +1 -1
- package/lib/controls/listView/IListView.d.ts +0 -1
- package/lib/controls/listView/IListView.d.ts.map +1 -1
- package/lib/controls/modernTaxonomyPicker/ModernTaxonomyPicker.d.ts +0 -1
- package/lib/controls/modernTaxonomyPicker/ModernTaxonomyPicker.d.ts.map +1 -1
- package/lib/controls/modernTaxonomyPicker/termItem/TermItemSuggestion.d.ts +0 -1
- package/lib/controls/modernTaxonomyPicker/termItem/TermItemSuggestion.d.ts.map +1 -1
- package/lib/controls/securityTrimmedControl/ISecurityTrimmedControlProps.d.ts +0 -1
- package/lib/controls/securityTrimmedControl/ISecurityTrimmedControlProps.d.ts.map +1 -1
- package/lib/controls/toolbar/InFlowToolbarItem.d.ts +0 -1
- package/lib/controls/toolbar/InFlowToolbarItem.d.ts.map +1 -1
- package/lib/controls/toolbar/Toolbar.d.ts +0 -1
- package/lib/controls/toolbar/Toolbar.d.ts.map +1 -1
- package/lib/controls/toolbar/ToolbarActionsUtils.d.ts +0 -1
- package/lib/controls/toolbar/ToolbarActionsUtils.d.ts.map +1 -1
- package/lib/controls/toolbar/ToolbarFilter.d.ts +0 -1
- package/lib/controls/toolbar/ToolbarFilter.d.ts.map +1 -1
- package/lib/controls/treeView/ITreeViewProps.d.ts +0 -1
- package/lib/controls/treeView/ITreeViewProps.d.ts.map +1 -1
- package/lib/controls/userPicker/IUserPickerProps.d.ts +0 -1
- package/lib/controls/userPicker/IUserPickerProps.d.ts.map +1 -1
- package/lib/controls/variantThemeProvider/VariantThemeProvider.d.ts +0 -1
- package/lib/controls/variantThemeProvider/VariantThemeProvider.d.ts.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/loc/bg-bg.js +1 -0
- package/lib/loc/bg-bg.js.map +1 -1
- package/lib/loc/ca-es.js +1 -0
- package/lib/loc/ca-es.js.map +1 -1
- package/lib/loc/da-dk.js +1 -0
- package/lib/loc/da-dk.js.map +1 -1
- package/lib/loc/de-de.js +1 -0
- package/lib/loc/de-de.js.map +1 -1
- package/lib/loc/el-gr.js +1 -0
- package/lib/loc/el-gr.js.map +1 -1
- package/lib/loc/en-us.js +17 -1
- package/lib/loc/en-us.js.map +1 -1
- package/lib/loc/es-es.js +1 -0
- package/lib/loc/es-es.js.map +1 -1
- package/lib/loc/et-ee.js +1 -0
- package/lib/loc/et-ee.js.map +1 -1
- package/lib/loc/eu-es.js +1 -0
- package/lib/loc/eu-es.js.map +1 -1
- package/lib/loc/fi-fi.js +1 -0
- package/lib/loc/fi-fi.js.map +1 -1
- package/lib/loc/fr-ca.js +1 -0
- package/lib/loc/fr-ca.js.map +1 -1
- package/lib/loc/fr-fr.js +1 -0
- package/lib/loc/fr-fr.js.map +1 -1
- package/lib/loc/it-it.js +1 -0
- package/lib/loc/it-it.js.map +1 -1
- package/lib/loc/ja-jp.js +1 -0
- package/lib/loc/ja-jp.js.map +1 -1
- package/lib/loc/lt-lt.js +1 -0
- package/lib/loc/lt-lt.js.map +1 -1
- package/lib/loc/lv-lv.js +1 -0
- package/lib/loc/lv-lv.js.map +1 -1
- package/lib/loc/nb-no.js +1 -0
- package/lib/loc/nb-no.js.map +1 -1
- package/lib/loc/nl-nl.js +1 -0
- package/lib/loc/nl-nl.js.map +1 -1
- package/lib/loc/pl-pl.js +1 -0
- package/lib/loc/pl-pl.js.map +1 -1
- package/lib/loc/pt-br.js +1 -0
- package/lib/loc/pt-br.js.map +1 -1
- package/lib/loc/pt-pt.js +1 -0
- package/lib/loc/pt-pt.js.map +1 -1
- package/lib/loc/ro-ro.js +1 -0
- package/lib/loc/ro-ro.js.map +1 -1
- package/lib/loc/ru-ru.js +1 -0
- package/lib/loc/ru-ru.js.map +1 -1
- package/lib/loc/sk-sk.js +1 -0
- package/lib/loc/sk-sk.js.map +1 -1
- package/lib/loc/sr-latn-rs.js +1 -0
- package/lib/loc/sr-latn-rs.js.map +1 -1
- package/lib/loc/sv-se.js +1 -0
- package/lib/loc/sv-se.js.map +1 -1
- package/lib/loc/tr-tr.js +1 -0
- package/lib/loc/tr-tr.js.map +1 -1
- package/lib/loc/vi-vn.js +1 -0
- package/lib/loc/vi-vn.js.map +1 -1
- package/lib/loc/zh-cn.js +1 -0
- package/lib/loc/zh-cn.js.map +1 -1
- package/lib/loc/zh-tw.js +1 -0
- package/lib/loc/zh-tw.js.map +1 -1
- package/package.json +3 -1
- package/release/manifests/45165954-80f9-44c1-9967-cd38ae92a33b.manifest.json +10 -10
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Body1, Body1Strong, Caption1Strong, Text, mergeClasses, } from '@fluentui/react-components';
|
|
3
|
+
import { addDays, format, isToday, startOfWeek } from 'date-fns';
|
|
4
|
+
import { useEffect, useRef, useState } from 'react';
|
|
5
|
+
import { EventRenderer } from './EventRender';
|
|
6
|
+
import { ResizeObserver } from '@juggle/resize-observer';
|
|
7
|
+
import strings from 'ControlStrings';
|
|
8
|
+
import { useCalendar } from './hooks/useCalendar';
|
|
9
|
+
import { useUtils } from './hooks/useUtils';
|
|
10
|
+
import { useWeekViewStyles } from './hooks/useWeekViewStyles';
|
|
11
|
+
export var WeekView = function (props) {
|
|
12
|
+
var events = props.events, currentDay = props.currentDay, height = props.height;
|
|
13
|
+
var styles = useWeekViewStyles().styles;
|
|
14
|
+
var currentDate = useState(currentDay)[0];
|
|
15
|
+
var _a = useState(32), rowHeight = _a[0], setRowHeight = _a[1]; // Default row height
|
|
16
|
+
var calendarRef = useRef(null);
|
|
17
|
+
var _b = useUtils(), getSpanSlots = _b.getSpanSlots, getEventColors = _b.getEventColors, getCalendarColors = _b.getCalendarColors, formatDate = _b.formatDate;
|
|
18
|
+
var weekStart = startOfWeek(currentDate, { weekStartsOn: 0 });
|
|
19
|
+
var timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
20
|
+
var getWeekEvents = useCalendar(timeZone).getWeekEvents;
|
|
21
|
+
// Dynamic row height calculation using ResizeObserver
|
|
22
|
+
useEffect(function () {
|
|
23
|
+
var observer = new ResizeObserver(function () {
|
|
24
|
+
if (calendarRef.current) {
|
|
25
|
+
var firstRowCell = calendarRef.current.querySelector('.dayCell');
|
|
26
|
+
if (firstRowCell) {
|
|
27
|
+
setRowHeight(firstRowCell.offsetHeight);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
if (calendarRef.current) {
|
|
32
|
+
observer.observe(calendarRef.current);
|
|
33
|
+
}
|
|
34
|
+
return function () {
|
|
35
|
+
observer.disconnect();
|
|
36
|
+
};
|
|
37
|
+
}, []);
|
|
38
|
+
var renderTimeColumn = React.useCallback(function () {
|
|
39
|
+
return Array.from({ length: 24 }, function (_, hour) { return (React.createElement(React.Fragment, null,
|
|
40
|
+
React.createElement("div", { className: styles.timeCell },
|
|
41
|
+
React.createElement(Body1Strong, null,
|
|
42
|
+
" ",
|
|
43
|
+
hour,
|
|
44
|
+
":00 ")),
|
|
45
|
+
React.createElement("div", { className: styles.timeCell }))); });
|
|
46
|
+
}, []);
|
|
47
|
+
var renderDayHeaders = React.useCallback(function () {
|
|
48
|
+
return (React.createElement(React.Fragment, null,
|
|
49
|
+
React.createElement("div", { className: styles.blankHeader }),
|
|
50
|
+
Array.from({ length: 7 }, function (_, dayIndex) {
|
|
51
|
+
var day = addDays(weekStart, dayIndex);
|
|
52
|
+
var isTodayClass = isToday(day) ? styles.todayHeaderCell : '';
|
|
53
|
+
return (React.createElement("div", { key: dayIndex, className: mergeClasses(styles.dayHeaderCell, isTodayClass) },
|
|
54
|
+
React.createElement(Text, { weight: "regular", size: 600, style: { paddingRight: 10 } }, formatDate(day.toISOString(), 'dd')),
|
|
55
|
+
React.createElement(Body1, null, formatDate(day.toISOString(), 'EEE'))));
|
|
56
|
+
})));
|
|
57
|
+
}, [weekStart, styles]);
|
|
58
|
+
var renderFullDayEvents = React.useCallback(function () {
|
|
59
|
+
var weekEvents = getWeekEvents(events, weekStart.toISOString());
|
|
60
|
+
return (React.createElement(React.Fragment, null,
|
|
61
|
+
React.createElement("div", { className: styles.fullDayLabel },
|
|
62
|
+
React.createElement(Body1, null, strings.CalendarControlFullDaylabel)),
|
|
63
|
+
Array.from({ length: 7 }, function (_, dayIndex) {
|
|
64
|
+
var weekDay = formatDate(addDays(weekStart, dayIndex).toISOString(), 'yyyy-MM-dd');
|
|
65
|
+
var dayEvents = weekEvents.find(function (day) { return day.date === weekDay; });
|
|
66
|
+
var fullDayEvents = (dayEvents === null || dayEvents === void 0 ? void 0 : dayEvents.fullDayEvents) || [];
|
|
67
|
+
return (React.createElement("div", { key: dayIndex, className: styles.fullDayCell }, fullDayEvents.map(function (event) { return (React.createElement("div", { key: event.id, className: styles.fullDayEvent, style: {
|
|
68
|
+
gridColumn: "".concat(dayIndex + 2),
|
|
69
|
+
backgroundColor: event.color
|
|
70
|
+
? getCalendarColors(event.color).backgroundColor
|
|
71
|
+
: getEventColors(event.category).backgroundColor,
|
|
72
|
+
} },
|
|
73
|
+
React.createElement(Caption1Strong, { className: styles.eventTitle }, event.title))); })));
|
|
74
|
+
})));
|
|
75
|
+
}, [
|
|
76
|
+
weekStart,
|
|
77
|
+
styles,
|
|
78
|
+
getWeekEvents,
|
|
79
|
+
getCalendarColors,
|
|
80
|
+
getEventColors,
|
|
81
|
+
events,
|
|
82
|
+
]);
|
|
83
|
+
var renderDayCells = React.useCallback(function () {
|
|
84
|
+
var weekEvents = getWeekEvents(events, weekStart.toISOString());
|
|
85
|
+
return Array.from({ length: 7 }, function (_, dayIndex) {
|
|
86
|
+
var weekDay = format(addDays(weekStart, dayIndex), 'yyyy-MM-dd');
|
|
87
|
+
var dayEvents = weekEvents.find(function (day) { return day.date === weekDay; });
|
|
88
|
+
return (React.createElement(React.Fragment, null, dayEvents === null || dayEvents === void 0 ? void 0 : dayEvents.timeSlots.map(function (timeSlot, slotIndex) {
|
|
89
|
+
var eventCount = timeSlot.events.length; // Total events in the slot
|
|
90
|
+
return (React.createElement("div", { key: slotIndex, className: styles.dayCell, style: {
|
|
91
|
+
gridRow: slotIndex + 3, // Offset to account for header and full-day row
|
|
92
|
+
} }, timeSlot.events.map(function (event, eventIndex) {
|
|
93
|
+
var startDate = new Date(event.start);
|
|
94
|
+
var endDate = new Date(event.end);
|
|
95
|
+
// Calculate the start and end slots based on event times
|
|
96
|
+
var _a = getSpanSlots(startDate, endDate), spanSlots = _a.spanSlots, startSlot = _a.startSlot;
|
|
97
|
+
// Only render the event in its starting timeslot
|
|
98
|
+
if (slotIndex === startSlot) {
|
|
99
|
+
// Event Render
|
|
100
|
+
return (React.createElement(EventRenderer, { key: event.id, event: event, eventCount: eventCount, spanSlots: spanSlots, rowHeight: rowHeight, eventIndex: eventIndex, view: "week" }));
|
|
101
|
+
}
|
|
102
|
+
return null; // Skip rendering for non-starting slots
|
|
103
|
+
})));
|
|
104
|
+
})));
|
|
105
|
+
});
|
|
106
|
+
}, [weekStart, styles, getWeekEvents, getSpanSlots, rowHeight, events]);
|
|
107
|
+
return (React.createElement("div", { className: styles.container, style: { height: height } },
|
|
108
|
+
React.createElement("div", { ref: calendarRef, className: styles.weekGrid },
|
|
109
|
+
React.createElement("div", { className: styles.timeColumn }, renderTimeColumn()),
|
|
110
|
+
renderDayHeaders(),
|
|
111
|
+
renderFullDayEvents(),
|
|
112
|
+
renderDayCells())));
|
|
113
|
+
};
|
|
114
|
+
export default WeekView;
|
|
115
|
+
//# sourceMappingURL=WeekView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WeekView.js","sourceRoot":"","sources":["../../../src/controls/calendar/WeekView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,KAAK,EACL,WAAW,EACX,cAAc,EACd,IAAI,EACJ,YAAY,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAQ9D,MAAM,CAAC,IAAM,QAAQ,GAA6B,UAAC,KAAqB;IAC9D,IAAA,MAAM,GAAyB,KAAK,OAA9B,EAAE,UAAU,GAAa,KAAK,WAAlB,EAAE,MAAM,GAAK,KAAK,OAAV,CAAW;IACrC,IAAA,MAAM,GAAK,iBAAiB,EAAE,OAAxB,CAAyB;IAChC,IAAA,WAAW,GAAI,QAAQ,CAAC,UAAU,CAAC,GAAxB,CAAyB;IACrC,IAAA,KAA4B,QAAQ,CAAS,EAAE,CAAC,EAA/C,SAAS,QAAA,EAAE,YAAY,QAAwB,CAAC,CAAC,qBAAqB;IAC7E,IAAM,WAAW,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC3C,IAAA,KACJ,QAAQ,EAAE,EADJ,YAAY,kBAAA,EAAE,cAAc,oBAAA,EAAE,iBAAiB,uBAAA,EAAE,UAAU,gBACvD,CAAC;IACb,IAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;IAChE,IAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;IAE1D,IAAA,aAAa,GAAK,WAAW,CAAC,QAAQ,CAAC,cAA1B,CAA2B;IAEhD,sDAAsD;IACtD,SAAS,CAAC;QACR,IAAM,QAAQ,GAAG,IAAI,cAAc,CAAC;YAClC,IAAI,WAAW,CAAC,OAAO,EAAE;gBACvB,IAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CACpD,UAAU,CACO,CAAC;gBACpB,IAAI,YAAY,EAAE;oBAChB,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;iBACzC;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,WAAW,CAAC,OAAO,EAAE;YACvB,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SACvC;QACD,OAAO;YACL,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC;QACzC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,UAAC,CAAC,EAAE,IAAI,IAAK,OAAA,CAC7C;YACE,6BAAK,SAAS,EAAE,MAAM,CAAC,QAAQ;gBAC7B,oBAAC,WAAW;;oBAAG,IAAI;2BAAmB,CAClC;YACN,6BAAK,SAAS,EAAE,MAAM,CAAC,QAAQ,GAAI,CAClC,CACJ,EAP8C,CAO9C,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC;QACzC,OAAO,CACL;YAEE,6BAAK,SAAS,EAAE,MAAM,CAAC,WAAW,GAAI;YAErC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,UAAC,CAAC,EAAE,QAAQ;gBACrC,IAAM,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACzC,IAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,OAAO,CACL,6BACE,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC;oBAE3D,oBAAC,IAAI,IAAC,MAAM,EAAC,SAAS,EAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAC1D,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAC/B;oBACP,oBAAC,KAAK,QAAE,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAS,CACjD,CACP,CAAC;YACJ,CAAC,CAAC,CACD,CACJ,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAExB,IAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC;QAC5C,IAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,OAAO,CACL;YACE,6BAAK,SAAS,EAAE,MAAM,CAAC,YAAY;gBACjC,oBAAC,KAAK,QAAE,OAAO,CAAC,2BAA2B,CAAS,CAChD;YACL,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,UAAC,CAAC,EAAE,QAAQ;gBACrC,IAAM,OAAO,GAAG,UAAU,CACxB,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE,EAC1C,YAAY,CACb,CAAC;gBACF,IAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,KAAK,OAAO,EAApB,CAAoB,CAAC,CAAC;gBACjE,IAAM,aAAa,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,KAAI,EAAE,CAAC;gBAErD,OAAO,CACL,6BAAK,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,WAAW,IAC9C,aAAa,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,CAC5B,6BACE,GAAG,EAAE,KAAK,CAAC,EAAE,EACb,SAAS,EAAE,MAAM,CAAC,YAAY,EAC9B,KAAK,EAAE;wBACL,UAAU,EAAE,UAAG,QAAQ,GAAG,CAAC,CAAE;wBAC7B,eAAe,EAAE,KAAK,CAAC,KAAK;4BAC1B,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,eAAe;4BAChD,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,QAAS,CAAC,CAAC,eAAe;qBACpD;oBAED,oBAAC,cAAc,IAAC,SAAS,EAAE,MAAM,CAAC,UAAU,IACzC,KAAK,CAAC,KAAK,CACG,CACb,CACP,EAf6B,CAe7B,CAAC,CACE,CACP,CAAC;YACJ,CAAC,CAAC,CACD,CACJ,CAAC;IACJ,CAAC,EAAE;QACD,SAAS;QACT,MAAM;QACN,aAAa;QACb,iBAAiB;QACjB,cAAc;QACd,MAAM;KACP,CAAC,CAAC;IAEH,IAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC;QACvC,IAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,UAAC,CAAC,EAAE,QAAQ;YAC3C,IAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;YACnE,IAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,KAAK,OAAO,EAApB,CAAoB,CAAC,CAAC;YAEjE,OAAO,CACL,0CACG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAC,GAAG,CAAC,UAAC,QAAQ,EAAE,SAAS;gBAC5C,IAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,2BAA2B;gBAEtE,OAAO,CACL,6BACE,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,MAAM,CAAC,OAAO,EACzB,KAAK,EAAE;wBACL,OAAO,EAAE,SAAS,GAAG,CAAC,EAAE,gDAAgD;qBACzE,IAEA,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,UAAU;oBACrC,IAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACxC,IAAM,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpC,yDAAyD;oBACnD,IAAA,KAA2B,YAAY,CAC3C,SAAS,EACT,OAAO,CACR,EAHO,SAAS,eAAA,EAAE,SAAS,eAG3B,CAAC;oBACF,iDAAiD;oBACjD,IAAI,SAAS,KAAK,SAAS,EAAE;wBAC3B,eAAe;wBACf,OAAO,CACL,oBAAC,aAAa,IACZ,GAAG,EAAE,KAAK,CAAC,EAAE,EACb,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAC,MAAM,GACX,CACH,CAAC;qBACH;oBACD,OAAO,IAAI,CAAC,CAAC,wCAAwC;gBACvD,CAAC,CAAC,CACE,CACP,CAAC;YACJ,CAAC,CAAC,CACD,CACJ,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAExE,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;QAEzD,6BAAK,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ;YAC/C,6BAAK,SAAS,EAAE,MAAM,CAAC,UAAU,IAAG,gBAAgB,EAAE,CAAO;YAC5D,gBAAgB,EAAE;YAClB,mBAAmB,EAAE;YACrB,cAAc,EAAE,CACb,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IEvent } from '../models/IEvents';
|
|
2
|
+
export interface TimeSlot {
|
|
3
|
+
time: string;
|
|
4
|
+
events: IEvent[];
|
|
5
|
+
}
|
|
6
|
+
export interface DayEvents {
|
|
7
|
+
date: string;
|
|
8
|
+
fullDayEvents: IEvent[];
|
|
9
|
+
timeSlots: TimeSlot[];
|
|
10
|
+
}
|
|
11
|
+
export interface IUseCalendar {
|
|
12
|
+
getMonthCalendar: (events: IEvent[], year: number, month: number) => Record<string, IEvent[]>;
|
|
13
|
+
getWeekEvents: (events: IEvent[], startDate: string) => DayEvents[];
|
|
14
|
+
}
|
|
15
|
+
export declare const useCalendar: (timezone: string) => IUseCalendar;
|
|
16
|
+
export default useCalendar;
|
|
17
|
+
//# sourceMappingURL=useCalendar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCalendar.d.ts","sourceRoot":"","sources":["../../../../src/controls/calendar/hooks/useCalendar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,CAChB,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9B,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;CACrE;AAED,eAAO,MAAM,WAAW,aAAc,MAAM,KAAG,YAoI9C,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { useCallback, } from 'react';
|
|
13
|
+
import { v4 as uuidv4 } from 'uuid'; // Use UUID for generating unique IDs
|
|
14
|
+
export var useCalendar = function (timezone) {
|
|
15
|
+
// Initialize events with a unique ID
|
|
16
|
+
var initializeEventsWithId = useCallback(function (events) {
|
|
17
|
+
return events.map(function (event) { return (__assign(__assign({}, event), { id: event.id || uuidv4() })); });
|
|
18
|
+
}, []);
|
|
19
|
+
// Memoized helper for timezone handling
|
|
20
|
+
var toLocalDate = useCallback(function (dateString) {
|
|
21
|
+
return new Date(new Date(dateString).toLocaleString(undefined, { timeZone: timezone }));
|
|
22
|
+
}, [timezone]);
|
|
23
|
+
// Memoize getMonthCalendar to avoid re-creation unless dependencies change
|
|
24
|
+
var getMonthCalendar = useCallback(function (events, year, month) {
|
|
25
|
+
var eventsWithId = initializeEventsWithId(events);
|
|
26
|
+
var daysInMonth = new Date(year, month + 1, 0).getDate();
|
|
27
|
+
var calendarEventsByDay = {};
|
|
28
|
+
for (var day = 1; day <= daysInMonth; day++) {
|
|
29
|
+
var date = new Date(year, month, day);
|
|
30
|
+
var dateString = date.toISOString().split('T')[0];
|
|
31
|
+
calendarEventsByDay[dateString] = [];
|
|
32
|
+
}
|
|
33
|
+
eventsWithId.forEach(function (event) {
|
|
34
|
+
var eventStart = toLocalDate(event.start);
|
|
35
|
+
var eventEnd = toLocalDate(event.end);
|
|
36
|
+
var currentDate = new Date(eventStart);
|
|
37
|
+
while (currentDate <= eventEnd) {
|
|
38
|
+
var dateString = currentDate.toISOString().split('T')[0];
|
|
39
|
+
if (calendarEventsByDay[dateString]) {
|
|
40
|
+
calendarEventsByDay[dateString].push(event);
|
|
41
|
+
}
|
|
42
|
+
currentDate.setDate(currentDate.getDate() + 1);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
return calendarEventsByDay;
|
|
46
|
+
}, [toLocalDate]);
|
|
47
|
+
// Memoize getWeekEvents to avoid unnecessary re-computation
|
|
48
|
+
var getWeekEvents = useCallback(function (events, startDate) {
|
|
49
|
+
var weekEvents = [];
|
|
50
|
+
var start = toLocalDate(startDate);
|
|
51
|
+
var eventsWithId = initializeEventsWithId(events);
|
|
52
|
+
var _loop_1 = function (i) {
|
|
53
|
+
var currentDate = new Date(start);
|
|
54
|
+
currentDate.setDate(start.getDate() + i);
|
|
55
|
+
var dateString = currentDate.toISOString().split('T')[0];
|
|
56
|
+
var dayTimeSlots = Array.from({ length: 48 }, function (_, index) { return ({
|
|
57
|
+
time: "".concat(String(Math.floor(index / 2)).padStart(2, '0'), ":").concat(index % 2 === 0 ? '00' : '30'),
|
|
58
|
+
events: [],
|
|
59
|
+
}); });
|
|
60
|
+
var fullDayEvents = [];
|
|
61
|
+
eventsWithId.forEach(function (event) {
|
|
62
|
+
var eventStart = toLocalDate(event.start);
|
|
63
|
+
var eventEnd = toLocalDate(event.end);
|
|
64
|
+
if (event.isFullDay) {
|
|
65
|
+
if (eventStart.toISOString().split('T')[0] <= dateString &&
|
|
66
|
+
eventEnd.toISOString().split('T')[0] >= dateString) {
|
|
67
|
+
fullDayEvents.push(event);
|
|
68
|
+
}
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (eventStart.toISOString().split('T')[0] <= dateString &&
|
|
72
|
+
eventEnd.toISOString().split('T')[0] >= dateString) {
|
|
73
|
+
var currentSlot = new Date(eventStart);
|
|
74
|
+
while (currentSlot <= eventEnd) {
|
|
75
|
+
var slotDateString = currentSlot.toISOString().split('T')[0];
|
|
76
|
+
if (slotDateString === dateString) {
|
|
77
|
+
var slotIndex = currentSlot.getHours() * 2 +
|
|
78
|
+
(currentSlot.getMinutes() >= 30 ? 1 : 0);
|
|
79
|
+
if (dayTimeSlots[slotIndex]) {
|
|
80
|
+
dayTimeSlots[slotIndex].events.push(event);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
currentSlot.setMinutes(currentSlot.getMinutes() + 30);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
weekEvents.push({
|
|
88
|
+
date: dateString,
|
|
89
|
+
fullDayEvents: fullDayEvents,
|
|
90
|
+
timeSlots: dayTimeSlots,
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
for (var i = 0; i < 7; i++) {
|
|
94
|
+
_loop_1(i);
|
|
95
|
+
}
|
|
96
|
+
return weekEvents;
|
|
97
|
+
}, [toLocalDate]);
|
|
98
|
+
return {
|
|
99
|
+
getMonthCalendar: getMonthCalendar,
|
|
100
|
+
getWeekEvents: getWeekEvents,
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
export default useCalendar;
|
|
104
|
+
//# sourceMappingURL=useCalendar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCalendar.js","sourceRoot":"","sources":["../../../../src/controls/calendar/hooks/useCalendar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface IUseCalendarStyles {
|
|
2
|
+
styles: ICalendarStyles;
|
|
3
|
+
applyEventHouverColorClass: (backgroundColor: string, houverColor: string) => string;
|
|
4
|
+
}
|
|
5
|
+
export interface ICalendarStyles {
|
|
6
|
+
calendarWrapper: string;
|
|
7
|
+
header: string;
|
|
8
|
+
dayHeader: string;
|
|
9
|
+
day: string;
|
|
10
|
+
otherMonthDay: string;
|
|
11
|
+
cardDay: string;
|
|
12
|
+
cardDayOnHover: string;
|
|
13
|
+
currentDay: string;
|
|
14
|
+
currentDayLabel: string;
|
|
15
|
+
eventCard: string;
|
|
16
|
+
eventContainer: string;
|
|
17
|
+
eventCardWeekView: string;
|
|
18
|
+
popoverContent: string;
|
|
19
|
+
}
|
|
20
|
+
export declare const useCalendarStyles: () => IUseCalendarStyles;
|
|
21
|
+
//# sourceMappingURL=useCalendarStyles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCalendarStyles.d.ts","sourceRoot":"","sources":["../../../../src/controls/calendar/hooks/useCalendarStyles.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,eAAe,CAAC;IACxB,0BAA0B,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;CACtF;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,iBAAiB,QAAQ,kBAuHrC,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { css } from "@emotion/css";
|
|
2
|
+
import { tokens } from "@fluentui/react-components";
|
|
3
|
+
export var useCalendarStyles = function () {
|
|
4
|
+
var styles = {
|
|
5
|
+
calendarWrapper: css({
|
|
6
|
+
padding: "20px",
|
|
7
|
+
paddingTop: "10px",
|
|
8
|
+
overflow: "auto",
|
|
9
|
+
flex: 1,
|
|
10
|
+
display: "grid",
|
|
11
|
+
gridTemplateColumns: "repeat(7, 1fr)",
|
|
12
|
+
gridTemplateRows: "auto",
|
|
13
|
+
gridAutoRows: "minmax(100px, 1fr)",
|
|
14
|
+
gap: "1px",
|
|
15
|
+
width: "calc(100% - 40px)", // Full width minus padding
|
|
16
|
+
}),
|
|
17
|
+
header: css({
|
|
18
|
+
display: "flex",
|
|
19
|
+
justifyContent: "start",
|
|
20
|
+
gap: "10px",
|
|
21
|
+
alignItems: "center",
|
|
22
|
+
padding: "16px",
|
|
23
|
+
}),
|
|
24
|
+
dayHeader: css({
|
|
25
|
+
textAlign: "start",
|
|
26
|
+
padding: "8px",
|
|
27
|
+
borderBottom: "1px solid ".concat(tokens.colorNeutralStroke1),
|
|
28
|
+
}),
|
|
29
|
+
day: css({
|
|
30
|
+
display: "flex",
|
|
31
|
+
flexDirection: "column",
|
|
32
|
+
alignItems: "center",
|
|
33
|
+
justifyContent: "center",
|
|
34
|
+
border: "1px solid ".concat(tokens.colorNeutralStroke1),
|
|
35
|
+
backgroundColor: tokens.colorNeutralBackground1,
|
|
36
|
+
position: "relative", // Ensure proper stacking context
|
|
37
|
+
}),
|
|
38
|
+
otherMonthDay: css({
|
|
39
|
+
color: tokens.colorNeutralStroke2,
|
|
40
|
+
backgroundColor: tokens.colorNeutralBackground2,
|
|
41
|
+
}),
|
|
42
|
+
cardDay: css({
|
|
43
|
+
height: "100%",
|
|
44
|
+
minHeight: 100,
|
|
45
|
+
borderRadius: 0,
|
|
46
|
+
overflow: "hidden !important",
|
|
47
|
+
}),
|
|
48
|
+
cardDayOnHover: css({
|
|
49
|
+
":hover": {
|
|
50
|
+
backgroundColor: tokens.colorNeutralBackground2,
|
|
51
|
+
},
|
|
52
|
+
}),
|
|
53
|
+
currentDay: css({
|
|
54
|
+
borderTop: "5px solid ".concat(tokens.colorBrandBackground),
|
|
55
|
+
}),
|
|
56
|
+
currentDayLabel: css({
|
|
57
|
+
color: tokens.colorBrandBackground,
|
|
58
|
+
fontWeight: 600,
|
|
59
|
+
}),
|
|
60
|
+
eventCard: css({
|
|
61
|
+
display: "flex",
|
|
62
|
+
flexDirection: "column",
|
|
63
|
+
alignItems: "flex-start",
|
|
64
|
+
zIndex: 1, // Ensure it appears above parent hover styles
|
|
65
|
+
}),
|
|
66
|
+
eventContainer: css({
|
|
67
|
+
display: "flex",
|
|
68
|
+
flexDirection: "column",
|
|
69
|
+
overflowY: "auto",
|
|
70
|
+
paddingTop: "5px",
|
|
71
|
+
paddingBottom: "5px",
|
|
72
|
+
paddingLeft: "5px",
|
|
73
|
+
paddingRight: "5px",
|
|
74
|
+
// Scrollbar styles
|
|
75
|
+
"::-webkit-scrollbar": {
|
|
76
|
+
width: "5px",
|
|
77
|
+
height: "5px", // Height for horizontal scrollbars
|
|
78
|
+
},
|
|
79
|
+
"::-webkit-scrollbar-track": {
|
|
80
|
+
background: tokens.colorNeutralBackground4,
|
|
81
|
+
borderRadius: "10px",
|
|
82
|
+
},
|
|
83
|
+
"::-webkit-scrollbar-thumb": {
|
|
84
|
+
background: tokens.colorBrandStroke2Hover,
|
|
85
|
+
borderRadius: "10px",
|
|
86
|
+
},
|
|
87
|
+
"::-webkit-scrollbar-thumb:hover": {
|
|
88
|
+
background: tokens.colorNeutralStroke2, // Dark gray for the thumb
|
|
89
|
+
},
|
|
90
|
+
}),
|
|
91
|
+
eventCardWeekView: css({
|
|
92
|
+
backgroundColor: tokens.colorBrandBackground,
|
|
93
|
+
color: tokens.colorNeutralForegroundOnBrand,
|
|
94
|
+
borderRadius: "4px",
|
|
95
|
+
padding: "4px",
|
|
96
|
+
margin: "2px",
|
|
97
|
+
overflow: "hidden",
|
|
98
|
+
textOverflow: "ellipsis",
|
|
99
|
+
whiteSpace: "nowrap",
|
|
100
|
+
height: "100%",
|
|
101
|
+
}),
|
|
102
|
+
popoverContent: css({
|
|
103
|
+
padding: 0,
|
|
104
|
+
borderTopWidth: 20,
|
|
105
|
+
borderTopStyle: "solid",
|
|
106
|
+
}),
|
|
107
|
+
};
|
|
108
|
+
var applyEventHouverColorClass = function (backgroundColor, houverColor) {
|
|
109
|
+
return css({
|
|
110
|
+
backgroundColor: backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : tokens.colorBrandBackground,
|
|
111
|
+
":hover": {
|
|
112
|
+
backgroundColor: houverColor !== null && houverColor !== void 0 ? houverColor : tokens.colorBrandBackgroundHover,
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
return { styles: styles, applyEventHouverColorClass: applyEventHouverColorClass };
|
|
117
|
+
};
|
|
118
|
+
//# sourceMappingURL=useCalendarStyles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCalendarStyles.js","sourceRoot":"","sources":["../../../../src/controls/calendar/hooks/useCalendarStyles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const useDayViewStyles: () => {
|
|
2
|
+
styles: {
|
|
3
|
+
container: string;
|
|
4
|
+
header: string;
|
|
5
|
+
dayGrid: string;
|
|
6
|
+
blankHeader: string;
|
|
7
|
+
timeColumn: string;
|
|
8
|
+
timeCell: string;
|
|
9
|
+
fullDayRow: string;
|
|
10
|
+
fullDayLabel: string;
|
|
11
|
+
fullDayCell: string;
|
|
12
|
+
fullDayEvent: string;
|
|
13
|
+
dayHeaderCell: string;
|
|
14
|
+
todayHeaderCell: string;
|
|
15
|
+
eventCard: string;
|
|
16
|
+
dayCell: string;
|
|
17
|
+
currentTimeIndicator: string;
|
|
18
|
+
currentHalfHourCell: string;
|
|
19
|
+
eventTitle: string;
|
|
20
|
+
};
|
|
21
|
+
applyEventHouverColorClass: (backgroundColor: string, houveColor: string) => string;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=useDayViewStyles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDayViewStyles.d.ts","sourceRoot":"","sources":["../../../../src/controls/calendar/hooks/useDayViewStyles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;kDA6KR,MAAM,cACX,MAAM;CAWrB,CAAC"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
2
|
+
import { css } from "@emotion/css";
|
|
3
|
+
import { tokens } from "@fluentui/react-components";
|
|
4
|
+
export var useDayViewStyles = function () {
|
|
5
|
+
var styles = {
|
|
6
|
+
container: css({
|
|
7
|
+
display: "flex",
|
|
8
|
+
flexDirection: "column",
|
|
9
|
+
width: "calc(100% - 40px)",
|
|
10
|
+
height: "100vh",
|
|
11
|
+
overflow: "hidden",
|
|
12
|
+
padding: "20px",
|
|
13
|
+
}),
|
|
14
|
+
header: css({
|
|
15
|
+
display: "flex",
|
|
16
|
+
justifyContent: "space-between",
|
|
17
|
+
alignItems: "center",
|
|
18
|
+
marginBottom: "16px",
|
|
19
|
+
borderBottom: "1px solid ".concat(tokens.colorNeutralStroke1),
|
|
20
|
+
}),
|
|
21
|
+
dayGrid: css({
|
|
22
|
+
display: "grid",
|
|
23
|
+
gridTemplateColumns: "80px 1fr",
|
|
24
|
+
gridTemplateRows: "50px 40px repeat(48, 33px)",
|
|
25
|
+
height: "calc(100vh - 100px)",
|
|
26
|
+
overflowY: "auto",
|
|
27
|
+
border: "1px solid ".concat(tokens.colorNeutralStroke1),
|
|
28
|
+
maxHeight: "fit-content",
|
|
29
|
+
scrollbarWidth: "thin",
|
|
30
|
+
scrollbarColor: "".concat(tokens.colorBrandBackground, " ").concat(tokens.colorNeutralBackground1),
|
|
31
|
+
"&::-webkit-scrollbar": {
|
|
32
|
+
width: "8px", // Width of the scrollbar
|
|
33
|
+
},
|
|
34
|
+
"&::-webkit-scrollbar-track": {
|
|
35
|
+
background: tokens.colorNeutralBackground1, // Scrollbar track background
|
|
36
|
+
},
|
|
37
|
+
"&::-webkit-scrollbar-thumb": {
|
|
38
|
+
background: tokens.colorBrandBackground,
|
|
39
|
+
borderRadius: "4px", // Rounded corners for the thumb
|
|
40
|
+
},
|
|
41
|
+
"&::-webkit-scrollbar-thumb:hover": {
|
|
42
|
+
background: tokens.colorBrandBackgroundHover, // Lighter color on hover
|
|
43
|
+
},
|
|
44
|
+
}),
|
|
45
|
+
blankHeader: css({
|
|
46
|
+
gridColumn: "1",
|
|
47
|
+
backgroundColor: tokens.colorNeutralBackground3,
|
|
48
|
+
borderBottom: "3px solid ".concat(tokens.colorNeutralStroke3),
|
|
49
|
+
position: 'sticky',
|
|
50
|
+
top: 0,
|
|
51
|
+
zIndex: 10, // Ensures it stays above the scrolling grid
|
|
52
|
+
}),
|
|
53
|
+
timeColumn: css({
|
|
54
|
+
gridColumn: "1",
|
|
55
|
+
gridRow: "3 / span 49",
|
|
56
|
+
display: "flex",
|
|
57
|
+
flexDirection: "column",
|
|
58
|
+
backgroundColor: tokens.colorNeutralBackground1,
|
|
59
|
+
borderRight: "1px solid ".concat(tokens.colorNeutralStroke1),
|
|
60
|
+
}),
|
|
61
|
+
timeCell: css({
|
|
62
|
+
height: "100%",
|
|
63
|
+
maxHeight: "32px",
|
|
64
|
+
minHeight: "32px",
|
|
65
|
+
display: "flex",
|
|
66
|
+
alignItems: "center",
|
|
67
|
+
fontSize: "12px",
|
|
68
|
+
color: tokens.colorNeutralForeground3,
|
|
69
|
+
borderBottom: "1px solid ".concat(tokens.colorNeutralStroke1),
|
|
70
|
+
justifyContent: "center",
|
|
71
|
+
}),
|
|
72
|
+
fullDayRow: css({
|
|
73
|
+
gridRow: "2",
|
|
74
|
+
display: "grid",
|
|
75
|
+
gridTemplateColumns: "80px 33px",
|
|
76
|
+
gap: "0",
|
|
77
|
+
padding: "0",
|
|
78
|
+
backgroundColor: tokens.colorNeutralBackground2,
|
|
79
|
+
borderBottom: "3px solid ".concat(tokens.colorNeutralStroke2), // Bottom border for the row
|
|
80
|
+
}),
|
|
81
|
+
fullDayLabel: css({
|
|
82
|
+
gridColumn: "1",
|
|
83
|
+
display: "flex",
|
|
84
|
+
alignItems: "center",
|
|
85
|
+
justifyContent: "center",
|
|
86
|
+
alignContent: "center",
|
|
87
|
+
color: tokens.colorBrandBackground,
|
|
88
|
+
padding: "5px",
|
|
89
|
+
borderRight: "1px solid ".concat(tokens.colorNeutralStroke1),
|
|
90
|
+
borderBottom: "3px solid ".concat(tokens.colorNeutralStroke2), // Bottom border for the cell
|
|
91
|
+
}),
|
|
92
|
+
fullDayCell: css({
|
|
93
|
+
borderRight: "1px solid ".concat(tokens.colorNeutralStroke1),
|
|
94
|
+
display: "flex",
|
|
95
|
+
flexDirection: "row",
|
|
96
|
+
gap: "2px",
|
|
97
|
+
padding: "4px",
|
|
98
|
+
borderBottom: "3px solid ".concat(tokens.colorNeutralStroke2),
|
|
99
|
+
overflow: "hidden", // Ensure events don’t overflow the cell
|
|
100
|
+
}),
|
|
101
|
+
fullDayEvent: css({
|
|
102
|
+
flex: "1 1 auto",
|
|
103
|
+
minWidth: "24px",
|
|
104
|
+
height: "24px",
|
|
105
|
+
padding: "4px 8px",
|
|
106
|
+
backgroundColor: tokens.colorBrandBackground,
|
|
107
|
+
borderRadius: "4px",
|
|
108
|
+
overflow: "hidden",
|
|
109
|
+
display: "flex",
|
|
110
|
+
alignItems: "center",
|
|
111
|
+
justifyContent: "center",
|
|
112
|
+
}),
|
|
113
|
+
dayHeaderCell: css({
|
|
114
|
+
textAlign: "center",
|
|
115
|
+
backgroundColor: tokens.colorNeutralBackground2,
|
|
116
|
+
padding: "8px",
|
|
117
|
+
fontWeight: "bold",
|
|
118
|
+
borderBottom: "1px solid ".concat(tokens.colorNeutralStroke1),
|
|
119
|
+
position: 'sticky',
|
|
120
|
+
top: 0,
|
|
121
|
+
zIndex: 10, // Ensures it stays above the scrolling grid
|
|
122
|
+
}),
|
|
123
|
+
todayHeaderCell: css({
|
|
124
|
+
borderTop: "5px solid ".concat(tokens.colorBrandBackground),
|
|
125
|
+
}),
|
|
126
|
+
eventCard: css({
|
|
127
|
+
alignItems: "center",
|
|
128
|
+
justifyContent: "center",
|
|
129
|
+
marginRight: "2px",
|
|
130
|
+
zIndex: 1,
|
|
131
|
+
position: "absolute",
|
|
132
|
+
alignContent: "center",
|
|
133
|
+
overflow: "hidden",
|
|
134
|
+
/* ':hover': {
|
|
135
|
+
pointerEvents: 'auto',
|
|
136
|
+
cursor: 'pointer',
|
|
137
|
+
opacity: 0.8,
|
|
138
|
+
color: tokens.colorNeutralForegroundOnBrand,
|
|
139
|
+
}, */
|
|
140
|
+
}),
|
|
141
|
+
dayCell: css({
|
|
142
|
+
borderBottom: "1px solid ".concat(tokens.colorNeutralStroke1),
|
|
143
|
+
borderRight: "1px solid ".concat(tokens.colorNeutralStroke1),
|
|
144
|
+
position: "relative",
|
|
145
|
+
overflow: "visible",
|
|
146
|
+
FlexDirection: "column",
|
|
147
|
+
gap: "4px",
|
|
148
|
+
}),
|
|
149
|
+
currentTimeIndicator: css({
|
|
150
|
+
position: "absolute",
|
|
151
|
+
left: 0,
|
|
152
|
+
height: "2px",
|
|
153
|
+
backgroundColor: tokens.colorPaletteRedBorderActive,
|
|
154
|
+
width: "100%",
|
|
155
|
+
zIndex: 1,
|
|
156
|
+
}),
|
|
157
|
+
currentHalfHourCell: css({
|
|
158
|
+
border: "2px solid ".concat(tokens.colorPaletteRedBorderActive), // Highlight with a red border
|
|
159
|
+
}),
|
|
160
|
+
eventTitle: css({
|
|
161
|
+
display: "-webkit-box",
|
|
162
|
+
"-webkit-line-clamp": "1",
|
|
163
|
+
"-webkit-box-orient": "vertical",
|
|
164
|
+
textAlign: "start",
|
|
165
|
+
textOverflow: "ellipsis",
|
|
166
|
+
paddingLeft: "8px",
|
|
167
|
+
wordBreak: "break-word",
|
|
168
|
+
overflow: "hidden",
|
|
169
|
+
}),
|
|
170
|
+
};
|
|
171
|
+
var applyEventHouverColorClass = function (backgroundColor, houveColor) {
|
|
172
|
+
return css({
|
|
173
|
+
backgroundColor: backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : tokens.colorBrandBackground,
|
|
174
|
+
":hover": {
|
|
175
|
+
backgroundColor: houveColor !== null && houveColor !== void 0 ? houveColor : tokens.colorBrandBackgroundHover,
|
|
176
|
+
},
|
|
177
|
+
});
|
|
178
|
+
};
|
|
179
|
+
return { styles: styles, applyEventHouverColorClass: applyEventHouverColorClass };
|
|
180
|
+
};
|
|
181
|
+
//# sourceMappingURL=useDayViewStyles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDayViewStyles.js","sourceRoot":"","sources":["../../../../src/controls/calendar/hooks/useDayViewStyles.ts"],"names":[],"mappings":"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"}
|