@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.
Files changed (238) hide show
  1. package/CHANGELOG.json +3 -2
  2. package/CHANGELOG.md +3 -2
  3. package/lib/Calendar.d.ts +2 -0
  4. package/lib/Calendar.d.ts.map +1 -0
  5. package/lib/Calendar.js +2 -0
  6. package/lib/Calendar.js.map +1 -0
  7. package/lib/common/telemetry/version.js +1 -1
  8. package/lib/common/utilities/CustomFormatting.d.ts +0 -1
  9. package/lib/common/utilities/CustomFormatting.d.ts.map +1 -1
  10. package/lib/common/utilities/FieldRendererHelper.d.ts +0 -1
  11. package/lib/common/utilities/FieldRendererHelper.d.ts.map +1 -1
  12. package/lib/controls/LivePersona/ILivePersonaProps.d.ts +0 -1
  13. package/lib/controls/LivePersona/ILivePersonaProps.d.ts.map +1 -1
  14. package/lib/controls/MyTeams/components/ShowMessage/IShowMessageProps.d.ts +0 -1
  15. package/lib/controls/MyTeams/components/ShowMessage/IShowMessageProps.d.ts.map +1 -1
  16. package/lib/controls/accessibleAccordion/components/Accordion.d.ts +0 -1
  17. package/lib/controls/accessibleAccordion/components/Accordion.d.ts.map +1 -1
  18. package/lib/controls/accessibleAccordion/components/AccordionItem.d.ts +0 -1
  19. package/lib/controls/accessibleAccordion/components/AccordionItem.d.ts.map +1 -1
  20. package/lib/controls/accessibleAccordion/components/AccordionItemPanel.d.ts +0 -1
  21. package/lib/controls/accessibleAccordion/components/AccordionItemPanel.d.ts.map +1 -1
  22. package/lib/controls/adaptiveCardDesignerHost/AdaptiveCardDesigner.d.ts +0 -1
  23. package/lib/controls/adaptiveCardDesignerHost/AdaptiveCardDesigner.d.ts.map +1 -1
  24. package/lib/controls/adaptiveCardDesignerHost/AdaptiveCardDesignerHost.d.ts +0 -1
  25. package/lib/controls/adaptiveCardDesignerHost/AdaptiveCardDesignerHost.d.ts.map +1 -1
  26. package/lib/controls/adaptiveCardHost/AdaptiveCardHost.d.ts +0 -1
  27. package/lib/controls/adaptiveCardHost/AdaptiveCardHost.d.ts.map +1 -1
  28. package/lib/controls/calendar/Calendar.d.ts +5 -0
  29. package/lib/controls/calendar/Calendar.d.ts.map +1 -0
  30. package/lib/controls/calendar/Calendar.js +157 -0
  31. package/lib/controls/calendar/Calendar.js.map +1 -0
  32. package/lib/controls/calendar/Day.d.ts +12 -0
  33. package/lib/controls/calendar/Day.d.ts.map +1 -0
  34. package/lib/controls/calendar/Day.js +30 -0
  35. package/lib/controls/calendar/Day.js.map +1 -0
  36. package/lib/controls/calendar/DayView.d.ts +10 -0
  37. package/lib/controls/calendar/DayView.d.ts.map +1 -0
  38. package/lib/controls/calendar/DayView.js +103 -0
  39. package/lib/controls/calendar/DayView.js.map +1 -0
  40. package/lib/controls/calendar/EventDetailsPopover.d.ts +7 -0
  41. package/lib/controls/calendar/EventDetailsPopover.d.ts.map +1 -0
  42. package/lib/controls/calendar/EventDetailsPopover.js +72 -0
  43. package/lib/controls/calendar/EventDetailsPopover.js.map +1 -0
  44. package/lib/controls/calendar/EventPopoverCard.d.ts +16 -0
  45. package/lib/controls/calendar/EventPopoverCard.d.ts.map +1 -0
  46. package/lib/controls/calendar/EventPopoverCard.js +29 -0
  47. package/lib/controls/calendar/EventPopoverCard.js.map +1 -0
  48. package/lib/controls/calendar/EventRender.d.ts +13 -0
  49. package/lib/controls/calendar/EventRender.d.ts.map +1 -0
  50. package/lib/controls/calendar/EventRender.js +38 -0
  51. package/lib/controls/calendar/EventRender.js.map +1 -0
  52. package/lib/controls/calendar/RenderEventToDayOfMonth.d.ts +10 -0
  53. package/lib/controls/calendar/RenderEventToDayOfMonth.d.ts.map +1 -0
  54. package/lib/controls/calendar/RenderEventToDayOfMonth.js +75 -0
  55. package/lib/controls/calendar/RenderEventToDayOfMonth.js.map +1 -0
  56. package/lib/controls/calendar/SelectCalendarView.d.ts +8 -0
  57. package/lib/controls/calendar/SelectCalendarView.d.ts.map +1 -0
  58. package/lib/controls/calendar/SelectCalendarView.js +69 -0
  59. package/lib/controls/calendar/SelectCalendarView.js.map +1 -0
  60. package/lib/controls/calendar/Toolbar.d.ts +14 -0
  61. package/lib/controls/calendar/Toolbar.d.ts.map +1 -0
  62. package/lib/controls/calendar/Toolbar.js +81 -0
  63. package/lib/controls/calendar/Toolbar.js.map +1 -0
  64. package/lib/controls/calendar/WeekView.d.ts +10 -0
  65. package/lib/controls/calendar/WeekView.d.ts.map +1 -0
  66. package/lib/controls/calendar/WeekView.js +115 -0
  67. package/lib/controls/calendar/WeekView.js.map +1 -0
  68. package/lib/controls/calendar/hooks/useCalendar.d.ts +17 -0
  69. package/lib/controls/calendar/hooks/useCalendar.d.ts.map +1 -0
  70. package/lib/controls/calendar/hooks/useCalendar.js +104 -0
  71. package/lib/controls/calendar/hooks/useCalendar.js.map +1 -0
  72. package/lib/controls/calendar/hooks/useCalendarStyles.d.ts +21 -0
  73. package/lib/controls/calendar/hooks/useCalendarStyles.d.ts.map +1 -0
  74. package/lib/controls/calendar/hooks/useCalendarStyles.js +118 -0
  75. package/lib/controls/calendar/hooks/useCalendarStyles.js.map +1 -0
  76. package/lib/controls/calendar/hooks/useDayViewStyles.d.ts +23 -0
  77. package/lib/controls/calendar/hooks/useDayViewStyles.d.ts.map +1 -0
  78. package/lib/controls/calendar/hooks/useDayViewStyles.js +181 -0
  79. package/lib/controls/calendar/hooks/useDayViewStyles.js.map +1 -0
  80. package/lib/controls/calendar/hooks/useUtils.d.ts +19 -0
  81. package/lib/controls/calendar/hooks/useUtils.d.ts.map +1 -0
  82. package/lib/controls/calendar/hooks/useUtils.js +270 -0
  83. package/lib/controls/calendar/hooks/useUtils.js.map +1 -0
  84. package/lib/controls/calendar/hooks/useWeekViewStyles.d.ts +29 -0
  85. package/lib/controls/calendar/hooks/useWeekViewStyles.d.ts.map +1 -0
  86. package/lib/controls/calendar/hooks/useWeekViewStyles.js +213 -0
  87. package/lib/controls/calendar/hooks/useWeekViewStyles.js.map +1 -0
  88. package/lib/controls/calendar/index.d.ts +4 -0
  89. package/lib/controls/calendar/index.d.ts.map +1 -0
  90. package/lib/controls/calendar/index.js +4 -0
  91. package/lib/controls/calendar/index.js.map +1 -0
  92. package/lib/controls/calendar/models/ECalendarViews.d.ts +6 -0
  93. package/lib/controls/calendar/models/ECalendarViews.d.ts.map +1 -0
  94. package/lib/controls/calendar/models/ECalendarViews.js +7 -0
  95. package/lib/controls/calendar/models/ECalendarViews.js.map +1 -0
  96. package/lib/controls/calendar/models/IAttendee.d.ts +8 -0
  97. package/lib/controls/calendar/models/IAttendee.d.ts.map +1 -0
  98. package/lib/controls/calendar/models/IAttendee.js +2 -0
  99. package/lib/controls/calendar/models/IAttendee.js.map +1 -0
  100. package/lib/controls/calendar/models/ICalendarControlProps.d.ts +17 -0
  101. package/lib/controls/calendar/models/ICalendarControlProps.d.ts.map +1 -0
  102. package/lib/controls/calendar/models/ICalendarControlProps.js +2 -0
  103. package/lib/controls/calendar/models/ICalendarControlProps.js.map +1 -0
  104. package/lib/controls/calendar/models/ICalendarDay.d.ts +6 -0
  105. package/lib/controls/calendar/models/ICalendarDay.d.ts.map +1 -0
  106. package/lib/controls/calendar/models/ICalendarDay.js +2 -0
  107. package/lib/controls/calendar/models/ICalendarDay.js.map +1 -0
  108. package/lib/controls/calendar/models/IEventColors.d.ts +5 -0
  109. package/lib/controls/calendar/models/IEventColors.d.ts.map +1 -0
  110. package/lib/controls/calendar/models/IEventColors.js +2 -0
  111. package/lib/controls/calendar/models/IEventColors.js.map +1 -0
  112. package/lib/controls/calendar/models/IEvents.d.ts +26 -0
  113. package/lib/controls/calendar/models/IEvents.d.ts.map +1 -0
  114. package/lib/controls/calendar/models/IEvents.js +2 -0
  115. package/lib/controls/calendar/models/IEvents.js.map +1 -0
  116. package/lib/controls/chartControl/AccessibleChartTable.types.d.ts +0 -1
  117. package/lib/controls/chartControl/AccessibleChartTable.types.d.ts.map +1 -1
  118. package/lib/controls/chartControl/ChartControl.types.d.ts +0 -1
  119. package/lib/controls/chartControl/ChartControl.types.d.ts.map +1 -1
  120. package/lib/controls/dashboard/DashboardCallout.d.ts +0 -1
  121. package/lib/controls/dashboard/DashboardCallout.d.ts.map +1 -1
  122. package/lib/controls/dashboard/widget/WidgetBody.d.ts +0 -1
  123. package/lib/controls/dashboard/widget/WidgetBody.d.ts.map +1 -1
  124. package/lib/controls/dashboard/widget/WidgetFooter.d.ts +0 -1
  125. package/lib/controls/dashboard/widget/WidgetFooter.d.ts.map +1 -1
  126. package/lib/controls/dashboard/widget/WidgetTitle.d.ts +0 -1
  127. package/lib/controls/dashboard/widget/WidgetTitle.d.ts.map +1 -1
  128. package/lib/controls/dynamicForm/IDynamicFormState.d.ts +0 -1
  129. package/lib/controls/dynamicForm/IDynamicFormState.d.ts.map +1 -1
  130. package/lib/controls/enhancedThemeProvider/EnhancedThemeProvider.d.ts +0 -1
  131. package/lib/controls/enhancedThemeProvider/EnhancedThemeProvider.d.ts.map +1 -1
  132. package/lib/controls/fieldCollectionData/ICustomCollectionField.d.ts +0 -1
  133. package/lib/controls/fieldCollectionData/ICustomCollectionField.d.ts.map +1 -1
  134. package/lib/controls/filePicker/IFilePickerProps.d.ts +0 -1
  135. package/lib/controls/filePicker/IFilePickerProps.d.ts.map +1 -1
  136. package/lib/controls/filePicker/LinkFilePickerTab/ILinkFilePickerTabProps.d.ts +0 -1
  137. package/lib/controls/filePicker/LinkFilePickerTab/ILinkFilePickerTabProps.d.ts.map +1 -1
  138. package/lib/controls/filePicker/MultipleUploadFilePickerTab/IMultipleUploadFilePickerTabProps.d.ts +0 -1
  139. package/lib/controls/filePicker/MultipleUploadFilePickerTab/IMultipleUploadFilePickerTabProps.d.ts.map +1 -1
  140. package/lib/controls/filePicker/UploadFilePickerTab/IUploadFilePickerTabProps.d.ts +0 -1
  141. package/lib/controls/filePicker/UploadFilePickerTab/IUploadFilePickerTabProps.d.ts.map +1 -1
  142. package/lib/controls/filterBar/OverflowPill.d.ts +0 -1
  143. package/lib/controls/filterBar/OverflowPill.d.ts.map +1 -1
  144. package/lib/controls/filterBar/Pill.d.ts +0 -1
  145. package/lib/controls/filterBar/Pill.d.ts.map +1 -1
  146. package/lib/controls/gridLayout/GridLayout.types.d.ts +0 -1
  147. package/lib/controls/gridLayout/GridLayout.types.d.ts.map +1 -1
  148. package/lib/controls/imagePicker/ImagePicker.d.ts.map +1 -1
  149. package/lib/controls/imagePicker/ImagePicker.js +4 -4
  150. package/lib/controls/imagePicker/ImagePicker.js.map +1 -1
  151. package/lib/controls/listView/IListView.d.ts +0 -1
  152. package/lib/controls/listView/IListView.d.ts.map +1 -1
  153. package/lib/controls/modernTaxonomyPicker/ModernTaxonomyPicker.d.ts +0 -1
  154. package/lib/controls/modernTaxonomyPicker/ModernTaxonomyPicker.d.ts.map +1 -1
  155. package/lib/controls/modernTaxonomyPicker/termItem/TermItemSuggestion.d.ts +0 -1
  156. package/lib/controls/modernTaxonomyPicker/termItem/TermItemSuggestion.d.ts.map +1 -1
  157. package/lib/controls/securityTrimmedControl/ISecurityTrimmedControlProps.d.ts +0 -1
  158. package/lib/controls/securityTrimmedControl/ISecurityTrimmedControlProps.d.ts.map +1 -1
  159. package/lib/controls/toolbar/InFlowToolbarItem.d.ts +0 -1
  160. package/lib/controls/toolbar/InFlowToolbarItem.d.ts.map +1 -1
  161. package/lib/controls/toolbar/Toolbar.d.ts +0 -1
  162. package/lib/controls/toolbar/Toolbar.d.ts.map +1 -1
  163. package/lib/controls/toolbar/ToolbarActionsUtils.d.ts +0 -1
  164. package/lib/controls/toolbar/ToolbarActionsUtils.d.ts.map +1 -1
  165. package/lib/controls/toolbar/ToolbarFilter.d.ts +0 -1
  166. package/lib/controls/toolbar/ToolbarFilter.d.ts.map +1 -1
  167. package/lib/controls/treeView/ITreeViewProps.d.ts +0 -1
  168. package/lib/controls/treeView/ITreeViewProps.d.ts.map +1 -1
  169. package/lib/controls/userPicker/IUserPickerProps.d.ts +0 -1
  170. package/lib/controls/userPicker/IUserPickerProps.d.ts.map +1 -1
  171. package/lib/controls/variantThemeProvider/VariantThemeProvider.d.ts +0 -1
  172. package/lib/controls/variantThemeProvider/VariantThemeProvider.d.ts.map +1 -1
  173. package/lib/index.d.ts +1 -0
  174. package/lib/index.d.ts.map +1 -1
  175. package/lib/index.js +1 -0
  176. package/lib/index.js.map +1 -1
  177. package/lib/loc/bg-bg.js +1 -0
  178. package/lib/loc/bg-bg.js.map +1 -1
  179. package/lib/loc/ca-es.js +1 -0
  180. package/lib/loc/ca-es.js.map +1 -1
  181. package/lib/loc/da-dk.js +1 -0
  182. package/lib/loc/da-dk.js.map +1 -1
  183. package/lib/loc/de-de.js +1 -0
  184. package/lib/loc/de-de.js.map +1 -1
  185. package/lib/loc/el-gr.js +1 -0
  186. package/lib/loc/el-gr.js.map +1 -1
  187. package/lib/loc/en-us.js +17 -1
  188. package/lib/loc/en-us.js.map +1 -1
  189. package/lib/loc/es-es.js +1 -0
  190. package/lib/loc/es-es.js.map +1 -1
  191. package/lib/loc/et-ee.js +1 -0
  192. package/lib/loc/et-ee.js.map +1 -1
  193. package/lib/loc/eu-es.js +1 -0
  194. package/lib/loc/eu-es.js.map +1 -1
  195. package/lib/loc/fi-fi.js +1 -0
  196. package/lib/loc/fi-fi.js.map +1 -1
  197. package/lib/loc/fr-ca.js +1 -0
  198. package/lib/loc/fr-ca.js.map +1 -1
  199. package/lib/loc/fr-fr.js +1 -0
  200. package/lib/loc/fr-fr.js.map +1 -1
  201. package/lib/loc/it-it.js +1 -0
  202. package/lib/loc/it-it.js.map +1 -1
  203. package/lib/loc/ja-jp.js +1 -0
  204. package/lib/loc/ja-jp.js.map +1 -1
  205. package/lib/loc/lt-lt.js +1 -0
  206. package/lib/loc/lt-lt.js.map +1 -1
  207. package/lib/loc/lv-lv.js +1 -0
  208. package/lib/loc/lv-lv.js.map +1 -1
  209. package/lib/loc/nb-no.js +1 -0
  210. package/lib/loc/nb-no.js.map +1 -1
  211. package/lib/loc/nl-nl.js +1 -0
  212. package/lib/loc/nl-nl.js.map +1 -1
  213. package/lib/loc/pl-pl.js +1 -0
  214. package/lib/loc/pl-pl.js.map +1 -1
  215. package/lib/loc/pt-br.js +1 -0
  216. package/lib/loc/pt-br.js.map +1 -1
  217. package/lib/loc/pt-pt.js +1 -0
  218. package/lib/loc/pt-pt.js.map +1 -1
  219. package/lib/loc/ro-ro.js +1 -0
  220. package/lib/loc/ro-ro.js.map +1 -1
  221. package/lib/loc/ru-ru.js +1 -0
  222. package/lib/loc/ru-ru.js.map +1 -1
  223. package/lib/loc/sk-sk.js +1 -0
  224. package/lib/loc/sk-sk.js.map +1 -1
  225. package/lib/loc/sr-latn-rs.js +1 -0
  226. package/lib/loc/sr-latn-rs.js.map +1 -1
  227. package/lib/loc/sv-se.js +1 -0
  228. package/lib/loc/sv-se.js.map +1 -1
  229. package/lib/loc/tr-tr.js +1 -0
  230. package/lib/loc/tr-tr.js.map +1 -1
  231. package/lib/loc/vi-vn.js +1 -0
  232. package/lib/loc/vi-vn.js.map +1 -1
  233. package/lib/loc/zh-cn.js +1 -0
  234. package/lib/loc/zh-cn.js.map +1 -1
  235. package/lib/loc/zh-tw.js +1 -0
  236. package/lib/loc/zh-tw.js.map +1 -1
  237. package/package.json +3 -1
  238. 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":"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"}
@@ -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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"}