@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,72 @@
1
+ import * as React from 'react';
2
+ import { AvatarGroup, AvatarGroupItem, AvatarGroupPopover, Badge, Body1, Button, Divider, Subtitle1, partitionAvatarGroupItems, } from '@fluentui/react-components';
3
+ import { Card, RenderLabel, Stack } from '@nuvemerudita/react-controls';
4
+ import { css } from '@emotion/css';
5
+ import strings from 'ControlStrings';
6
+ import { useUtils } from './hooks/useUtils';
7
+ var PADDING_LEFT = '32px';
8
+ var useStyles = function () {
9
+ var styles = {
10
+ banner: css({
11
+ display: 'flex',
12
+ justifyContent: 'center',
13
+ alignContent: 'center',
14
+ alignItems: 'center',
15
+ padding: "5px 10px 0px 10px",
16
+ }),
17
+ fieldContainer: css({
18
+ paddingLeft: PADDING_LEFT,
19
+ }),
20
+ };
21
+ return { styles: styles };
22
+ };
23
+ var RenderProperty = function (_a) {
24
+ var fieldLabel = _a.fieldLabel, fieldValue = _a.fieldValue, icon = _a.icon;
25
+ return (React.createElement(Stack, null,
26
+ React.createElement(RenderLabel, { label: fieldLabel, icon: icon }),
27
+ React.createElement(Stack, { paddingLeft: PADDING_LEFT },
28
+ React.createElement(Body1, null, fieldValue))));
29
+ };
30
+ export var EventDetailsPopover = function (props) {
31
+ var event = props.event;
32
+ var title = event.title, start = event.start, end = event.end, location = event.location, category = event.category, attendees = event.attendees, webLink = event.webLink;
33
+ var styles = useStyles().styles;
34
+ var formatDate = useUtils().formatDate;
35
+ var formatedStartDate = formatDate(start, 'PPp');
36
+ var formatedEndDate = formatDate(end, 'PPp');
37
+ var partitionedItems = partitionAvatarGroupItems({
38
+ items: (attendees === null || attendees === void 0 ? void 0 : attendees.map(function (attendee) { return attendee.id; })) || [],
39
+ });
40
+ var getAttendee = React.useCallback(function (id) {
41
+ return (attendees === null || attendees === void 0 ? void 0 : attendees.find(function (attendee) { return attendee.id === id; })) || undefined;
42
+ }, [attendees]);
43
+ var RenderAttendees = React.useCallback(function () {
44
+ return (React.createElement(Stack, null,
45
+ React.createElement(RenderLabel, { label: strings.CalendarControlAttendeessLabel, icon: 'ph:users-three' }),
46
+ React.createElement(Stack, { paddingLeft: PADDING_LEFT },
47
+ React.createElement(AvatarGroup, { layout: "stack" },
48
+ partitionedItems.inlineItems.map(function (id) {
49
+ var _a, _b;
50
+ return (React.createElement(AvatarGroupItem, { name: (_a = getAttendee(id)) === null || _a === void 0 ? void 0 : _a.name, key: id, image: { src: (_b = getAttendee(id)) === null || _b === void 0 ? void 0 : _b.imageUrl } }));
51
+ }),
52
+ partitionedItems.overflowItems && (React.createElement(AvatarGroupPopover, null, partitionedItems.overflowItems.map(function (id) {
53
+ var _a, _b;
54
+ return (React.createElement(AvatarGroupItem, { name: (_a = getAttendee(id)) === null || _a === void 0 ? void 0 : _a.name, key: id, image: { src: (_b = getAttendee(id)) === null || _b === void 0 ? void 0 : _b.imageUrl } }));
55
+ })))))));
56
+ }, [partitionedItems]);
57
+ return (React.createElement(React.Fragment, null,
58
+ React.createElement(Card, { appearance: "subtle", padding: "m", paddingTop: 's', width: "250px", cardBody: React.createElement(Stack, { RowGap: 10 },
59
+ React.createElement("div", { className: styles.banner },
60
+ React.createElement(Subtitle1, null, title)),
61
+ React.createElement(Divider, null),
62
+ category && (React.createElement(Stack, { horizontal: true, horizontalAlign: "end", width: '100%' },
63
+ React.createElement(Badge, { appearance: "filled" }, category))),
64
+ React.createElement(RenderProperty, { fieldLabel: "Start", fieldValue: formatedStartDate, icon: 'mingcute:time-line' }),
65
+ React.createElement(RenderProperty, { fieldLabel: "End", fieldValue: formatedEndDate, icon: 'mingcute:time-line' }),
66
+ React.createElement(RenderProperty, { fieldLabel: "Location", fieldValue: location, icon: 'mingcute:location-line' }),
67
+ React.createElement(RenderAttendees, null)), cardFooterContent: React.createElement(Stack, { horizontal: true, horizontalAlign: "end", width: "100%" },
68
+ React.createElement(Button, { appearance: "subtle", onClick: function () {
69
+ window.open(webLink, '_blank');
70
+ } }, strings.CalendarControlDetailsLabel)) })));
71
+ };
72
+ //# sourceMappingURL=EventDetailsPopover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventDetailsPopover.js","sourceRoot":"","sources":["../../../src/controls/calendar/EventDetailsPopover.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ import { IEvent } from "./models/IEvents";
3
+ interface EventPopoverCardProps {
4
+ event: IEvent;
5
+ colors: {
6
+ backgroundColor: string;
7
+ hoverColor: string;
8
+ };
9
+ spanSlots: number;
10
+ rowHeight: number;
11
+ eventIndex: number;
12
+ eventCount: number;
13
+ }
14
+ export declare const EventPopoverCard: React.FC<EventPopoverCardProps>;
15
+ export {};
16
+ //# sourceMappingURL=EventPopoverCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventPopoverCard.d.ts","sourceRoot":"","sources":["../../../src/controls/calendar/EventPopoverCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAK1C,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAoE5D,CAAC"}
@@ -0,0 +1,29 @@
1
+ import * as React from "react";
2
+ import { Caption1, Caption1Strong, Card, Popover, PopoverSurface, PopoverTrigger, mergeClasses, useId, } from "@fluentui/react-components";
3
+ import { EventDetailsPopover } from "./EventDetailsPopover";
4
+ import { Stack } from "@nuvemerudita/react-controls";
5
+ import { useUtils } from "./hooks/useUtils";
6
+ import { useWeekViewStyles } from "./hooks/useWeekViewStyles";
7
+ export var EventPopoverCard = function (_a) {
8
+ var event = _a.event, colors = _a.colors, spanSlots = _a.spanSlots, rowHeight = _a.rowHeight, eventIndex = _a.eventIndex, eventCount = _a.eventCount;
9
+ var headerId = useId();
10
+ var _b = useWeekViewStyles(), styles = _b.styles, applyEventHouverColorClass = _b.applyEventHouverColorClass, appyDynamicStyles = _b.appyDynamicStyles;
11
+ var cardRef = React.useRef(null);
12
+ var formatDate = useUtils().formatDate;
13
+ var cardContent = React.useMemo(function () { return (React.createElement("div", null,
14
+ React.createElement(Stack, { columnGap: 4, verticalAlign: "center" },
15
+ React.createElement(Caption1Strong, { className: styles.eventTitle }, event.title),
16
+ React.createElement(Stack, { columnGap: 4, horizontal: true, verticalAlign: "center", horizontalAlign: "start" },
17
+ React.createElement(Caption1, null,
18
+ formatDate(event.start, "HH:mm"),
19
+ "H"),
20
+ " - ",
21
+ React.createElement(Caption1, null,
22
+ formatDate(event.end, "HH:mm"),
23
+ "H"))))); }, [event]);
24
+ return (React.createElement(Card, { ref: cardRef, key: event.id, className: mergeClasses(styles.eventCard, applyEventHouverColorClass(colors.backgroundColor, colors.backgroundColor), appyDynamicStyles(eventIndex, eventCount, rowHeight, spanSlots)) }, event.enableOnHouver ? (React.createElement(Popover, { withArrow: true, mouseLeaveDelay: 50, closeOnScroll: true, closeOnIframeFocus: true, openOnHover: true },
25
+ React.createElement(PopoverTrigger, null, cardContent),
26
+ React.createElement(PopoverSurface, { "aria-labelledby": headerId, className: mergeClasses(styles.popoverContent) },
27
+ React.createElement(EventDetailsPopover, { event: event })))) : (cardContent)));
28
+ };
29
+ //# sourceMappingURL=EventPopoverCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventPopoverCard.js","sourceRoot":"","sources":["../../../src/controls/calendar/EventPopoverCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,OAAO,EACP,cAAc,EACd,cAAc,EACd,YAAY,EACZ,KAAK,GACN,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAO,8BAA8B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAO,kBAAkB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAW9D,MAAM,CAAC,IAAM,gBAAgB,GAAoC,UAAC,EAOjE;QANC,KAAK,WAAA,EACL,MAAM,YAAA,EACN,SAAS,eAAA,EACT,SAAS,eAAA,EACT,UAAU,gBAAA,EACV,UAAU,gBAAA;IAEV,IAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;IACnB,IAAA,KAA4D,iBAAiB,EAAE,EAA7E,MAAM,YAAA,EAAE,0BAA0B,gCAAA,EAAG,iBAAiB,uBAAuB,CAAC;IACtF,IAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC3C,IAAA,UAAU,GAAK,QAAQ,EAAE,WAAf,CAAgB;IAElC,IAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAC/B,cAAM,OAAA,CACJ;QACE,oBAAC,KAAK,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ;YACzC,oBAAC,cAAc,IAAC,SAAS,EAAE,MAAM,CAAC,UAAU,IAAG,KAAK,CAAC,KAAK,CAAkB;YAC5E,oBAAC,KAAK,IACJ,SAAS,EAAE,CAAC,EACZ,UAAU,QACV,aAAa,EAAC,QAAQ,EACtB,eAAe,EAAC,OAAO;gBAEvB,oBAAC,QAAQ;oBAAE,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;wBAAa;gBACvD,KAAK;gBACN,oBAAC,QAAQ;oBAAE,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC;wBAAa,CAChD,CACF,CACJ,CACP,EAhBK,CAgBL,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,OAAO,CACL,oBAAC,IAAI,IACH,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,KAAK,CAAC,EAAE,EACb,SAAS,EAAE,YAAY,CACrB,MAAM,CAAC,SAAS,EAChB,0BAA0B,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,EAC1E,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAChE,IAGA,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CACtB,oBAAC,OAAO,IACN,SAAS,QACT,eAAe,EAAE,EAAE,EACnB,aAAa,EAAE,IAAI,EACnB,kBAAkB,EAAE,IAAI,EACxB,WAAW;QAEX,oBAAC,cAAc,QAAE,WAAW,CAAkB;QAC9C,oBAAC,cAAc,uBACI,QAAQ,EACzB,SAAS,EAAE,YAAY,CACrB,MAAM,CAAC,cAAc,CACtB;YAED,oBAAC,mBAAmB,IAAC,KAAK,EAAE,KAAK,GAAI,CACtB,CACT,CACX,CAAC,CAAC,CAAC,CACF,WAAW,CACZ,CACI,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ import { IEvent } from './models/IEvents';
3
+ interface IEventRendererProps {
4
+ event: IEvent;
5
+ eventCount: number;
6
+ spanSlots: number;
7
+ rowHeight: number;
8
+ eventIndex: number;
9
+ view: 'day' | 'week';
10
+ }
11
+ export declare const EventRenderer: React.FC<IEventRendererProps>;
12
+ export {};
13
+ //# sourceMappingURL=EventRender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventRender.d.ts","sourceRoot":"","sources":["../../../src/controls/calendar/EventRender.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAK1C,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA4CvD,CAAC"}
@@ -0,0 +1,38 @@
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
+ /* eslint-disable @typescript-eslint/no-explicit-any */
13
+ import * as React from 'react';
14
+ import { EventPopoverCard } from './EventPopoverCard';
15
+ import { mergeClasses } from '@fluentui/react-components';
16
+ import { useUtils } from './hooks/useUtils';
17
+ import { useWeekViewStyles } from './hooks/useWeekViewStyles';
18
+ export var EventRenderer = function (_a) {
19
+ var _b, _c;
20
+ var event = _a.event, eventCount = _a.eventCount, spanSlots = _a.spanSlots, rowHeight = _a.rowHeight, eventIndex = _a.eventIndex, view = _a.view;
21
+ var _d = useWeekViewStyles(), styles = _d.styles, appyDynamicStyles = _d.appyDynamicStyles;
22
+ var getEventColors = useUtils().getEventColors;
23
+ var colors = getEventColors(event.category);
24
+ // Memoize the function that determines the custom render function
25
+ var customOnRenderEvent = view === 'day'
26
+ ? (_b = event.onRenderInDayView) === null || _b === void 0 ? void 0 : _b.call(event, event)
27
+ : (_c = event.onRenderInWeekView) === null || _c === void 0 ? void 0 : _c.call(event, event);
28
+ if (React.isValidElement(customOnRenderEvent)) {
29
+ return React.cloneElement(customOnRenderEvent, {
30
+ event: event,
31
+ className: mergeClasses(customOnRenderEvent.props.className, styles.eventCard, appyDynamicStyles(eventIndex, eventCount, rowHeight, spanSlots)),
32
+ style: __assign({}, customOnRenderEvent.props.style),
33
+ });
34
+ }
35
+ // Return default card
36
+ return (React.createElement(EventPopoverCard, { key: event.id, event: event, colors: colors, spanSlots: spanSlots, rowHeight: rowHeight, eventIndex: eventIndex, eventCount: eventCount }));
37
+ };
38
+ //# sourceMappingURL=EventRender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventRender.js","sourceRoot":"","sources":["../../../src/controls/calendar/EventRender.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,uDAAuD;AACvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAW9D,MAAM,CAAC,IAAM,aAAa,GAAkC,UAAC,EAO5D;;QANC,KAAK,WAAA,EACL,UAAU,gBAAA,EACV,SAAS,eAAA,EACT,SAAS,eAAA,EACT,UAAU,gBAAA,EACV,IAAI,UAAA;IAEE,IAAA,KAAgC,iBAAiB,EAAE,EAAjD,MAAM,YAAA,EAAE,iBAAiB,uBAAwB,CAAC;IAClD,IAAA,cAAc,GAAK,QAAQ,EAAE,eAAf,CAAgB;IACtC,IAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,QAAkB,CAAC,CAAC;IAExD,kEAAkE;IAClE,IAAM,mBAAmB,GACvB,IAAI,KAAK,KAAK;QACZ,CAAC,CAAC,MAAA,KAAK,CAAC,iBAAiB,sDAAG,KAAK,CAAC;QAClC,CAAC,CAAC,MAAA,KAAK,CAAC,kBAAkB,sDAAG,KAAK,CAAC,CAAC;IAExC,IAAI,KAAK,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE;QAC7C,OAAO,KAAK,CAAC,YAAY,CAAC,mBAAyC,EAAE;YACnE,KAAK,OAAA;YACL,SAAS,EAAE,YAAY,CACpB,mBAAmB,CAAC,KAAa,CAAC,SAAS,EAC5C,MAAM,CAAC,SAAS,EAChB,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAChE;YACD,KAAK,eACC,mBAAmB,CAAC,KAAa,CAAC,KAAK,CAC5C;SACF,CAAC,CAAC;KACJ;IAED,uBAAuB;IACvB,OAAO,CACL,oBAAC,gBAAgB,IACf,GAAG,EAAE,KAAK,CAAC,EAAE,EACb,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,GACtB,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { IEvent } from './models/IEvents';
3
+ export interface IRenderEventToDayOfMonthProps {
4
+ events: IEvent[];
5
+ date: Date;
6
+ onCardHoverChange?: (isHovered: boolean, eventTitle: string) => void;
7
+ columnHeight: number;
8
+ }
9
+ export declare const RenderEventToDayOfMonth: React.FunctionComponent<IRenderEventToDayOfMonthProps>;
10
+ //# sourceMappingURL=RenderEventToDayOfMonth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderEventToDayOfMonth.d.ts","sourceRoot":"","sources":["../../../src/controls/calendar/RenderEventToDayOfMonth.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAK1C,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,iBAAiB,CAC3D,6BAA6B,CAqI9B,CAAC"}
@@ -0,0 +1,75 @@
1
+ /* eslint-disable @typescript-eslint/explicit-function-return-type */
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ import * as React from 'react';
4
+ import { Caption1, Popover, PopoverSurface, PopoverTrigger, mergeClasses, useId, } from '@fluentui/react-components';
5
+ import { endOfDay, isWithinInterval, startOfDay } from 'date-fns';
6
+ import { Card } from '@nuvemerudita/react-controls';
7
+ import { EventDetailsPopover } from './EventDetailsPopover';
8
+ import { useCalendarStyles } from './hooks/useCalendarStyles';
9
+ import { useUtils } from './hooks/useUtils';
10
+ export var RenderEventToDayOfMonth = function (props) {
11
+ var headerId = useId();
12
+ var events = props.events, date = props.date, onCardHoverChange = props.onCardHoverChange, columnHeight = props.columnHeight;
13
+ var _a = useCalendarStyles(), styles = _a.styles, applyEventHouverColorClass = _a.applyEventHouverColorClass;
14
+ var positioningRef = React.useRef(null);
15
+ var _b = useUtils(), getEventColors = _b.getEventColors, getCalendarColors = _b.getCalendarColors;
16
+ var handleMouseEnter = React.useCallback(function (eventTitle) {
17
+ if (onCardHoverChange) {
18
+ onCardHoverChange(true, eventTitle);
19
+ }
20
+ }, [onCardHoverChange]);
21
+ var handleMouseLeave = React.useCallback(function (eventTitle) {
22
+ if (onCardHoverChange) {
23
+ onCardHoverChange(false, eventTitle);
24
+ }
25
+ }, [onCardHoverChange]);
26
+ // Set the target for the popover
27
+ var buttonRef = React.useCallback(function (el) {
28
+ var _a;
29
+ (_a = positioningRef.current) === null || _a === void 0 ? void 0 : _a.setTarget(el);
30
+ }, [positioningRef]);
31
+ // Render the card
32
+ var renderCard = React.useCallback(function (index, calEvent, colors) {
33
+ return (React.createElement("div", { ref: buttonRef },
34
+ React.createElement(Card, { key: index, className: mergeClasses(styles.eventCard, applyEventHouverColorClass(colors.backgroundColor, colors.backgroundColor)), paddingTop: "4px", paddingBottom: "4px", paddingLeft: "8px", paddingRight: "8px", marginTop: index === 0 ? '0px' : '5px', cardHeader: React.createElement(Caption1, null, calEvent.title), onMouseEnter: function () { return handleMouseEnter(calEvent.title); }, onMouseLeave: function () { return handleMouseLeave(calEvent.title); } })));
35
+ }, [handleMouseEnter, handleMouseLeave, applyEventHouverColorClass]);
36
+ var renderCardWithPopOver = React.useCallback(function (calEvent, index, colors) {
37
+ return (React.createElement(React.Fragment, null,
38
+ React.createElement(Popover, { withArrow: true, key: index, mouseLeaveDelay: 30, closeOnScroll: true, closeOnIframeFocus: true, openOnHover: true },
39
+ React.createElement(PopoverTrigger, null, renderCard(index, calEvent, colors)),
40
+ React.createElement(PopoverSurface, { "aria-labelledby": headerId, className: mergeClasses(styles.popoverContent) },
41
+ React.createElement(EventDetailsPopover, { event: calEvent })))));
42
+ }, [renderCard]);
43
+ if (!events || !(events === null || events === void 0 ? void 0 : events.length))
44
+ return React.createElement(React.Fragment, null, " ");
45
+ return (React.createElement(React.Fragment, null,
46
+ React.createElement("div", { style: { height: columnHeight }, className: styles.eventContainer }, events.map(function (calEvent, index) {
47
+ var _a;
48
+ var eventStart = startOfDay(new Date(calEvent.start));
49
+ var eventEnd = endOfDay(new Date(calEvent.end));
50
+ var isEventInDay = isWithinInterval(date, {
51
+ start: eventStart,
52
+ end: eventEnd,
53
+ });
54
+ if (!isEventInDay)
55
+ return null;
56
+ var colors = undefined;
57
+ if (calEvent.color) {
58
+ colors = getCalendarColors(calEvent.color);
59
+ }
60
+ else {
61
+ colors = getEventColors(calEvent.category);
62
+ }
63
+ var customRender = (_a = calEvent.onRenderInMonthView) === null || _a === void 0 ? void 0 : _a.call(calEvent, calEvent);
64
+ // If the event has a custom renderer, use it
65
+ if (React.isValidElement(customRender)) {
66
+ return React.cloneElement(customRender, {
67
+ className: mergeClasses(customRender.props.className, styles.eventCard),
68
+ });
69
+ }
70
+ return calEvent.enableOnHouver
71
+ ? renderCardWithPopOver(calEvent, index, colors)
72
+ : renderCard(index, calEvent, colors);
73
+ }))));
74
+ };
75
+ //# sourceMappingURL=RenderEventToDayOfMonth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderEventToDayOfMonth.js","sourceRoot":"","sources":["../../../src/controls/calendar/RenderEventToDayOfMonth.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import { ECalendarViews } from './models/ECalendarViews';
3
+ export interface ISelectCalendarViewProps {
4
+ onSelected: (view: ECalendarViews) => void;
5
+ value?: ECalendarViews;
6
+ }
7
+ export declare const SelectCalendarView: React.FunctionComponent<ISelectCalendarViewProps>;
8
+ //# sourceMappingURL=SelectCalendarView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectCalendarView.d.ts","sourceRoot":"","sources":["../../../src/controls/calendar/SelectCalendarView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAqB/B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CACtD,wBAAwB,CAgIzB,CAAC"}
@@ -0,0 +1,69 @@
1
+ import * as React from 'react';
2
+ import { CalendarDayFilled, CalendarDayRegular, CalendarMonthFilled, CalendarMonthRegular, CalendarWorkWeekFilled, CalendarWorkWeekRegular, bundleIcon, } from '@fluentui/react-icons';
3
+ import { Menu, MenuButton, MenuItemRadio, MenuList, MenuPopover, MenuTrigger, } from '@fluentui/react-components';
4
+ import { ECalendarViews } from './models/ECalendarViews';
5
+ import strings from 'ControlStrings';
6
+ export var SelectCalendarView = function (props) {
7
+ var onSelected = props.onSelected, value = props.value;
8
+ // State for selected view
9
+ var _a = React.useState(value !== null && value !== void 0 ? value : ECalendarViews.Month), selectedView = _a[0], setSelectedView = _a[1];
10
+ var _b = React.useState({
11
+ view: [value !== null && value !== void 0 ? value : ECalendarViews.Month],
12
+ }), checkedValues = _b[0], setCheckedValues = _b[1];
13
+ var DayView = React.useMemo(function () { return bundleIcon(CalendarDayFilled, CalendarDayRegular); }, []);
14
+ var MonthView = React.useMemo(function () { return bundleIcon(CalendarMonthFilled, CalendarMonthRegular); }, []);
15
+ var WeekView = React.useMemo(function () { return bundleIcon(CalendarWorkWeekFilled, CalendarWorkWeekRegular); }, []);
16
+ React.useEffect(function () {
17
+ if (value !== undefined) {
18
+ setSelectedView(value);
19
+ setCheckedValues({ view: [value] });
20
+ }
21
+ }, [value]);
22
+ var _c = React.useState(false), open = _c[0], setOpen = _c[1];
23
+ var onOpenChange = React.useCallback(function (_e, data) {
24
+ setOpen(data.open);
25
+ }, []);
26
+ var viewIcon = React.useCallback(function () {
27
+ switch (selectedView) {
28
+ case ECalendarViews.Month:
29
+ return React.createElement(MonthView, null);
30
+ case ECalendarViews.Week:
31
+ return React.createElement(WeekView, null);
32
+ case ECalendarViews.Day:
33
+ return React.createElement(DayView, null);
34
+ default:
35
+ return React.createElement(MonthView, null);
36
+ }
37
+ }, [selectedView]);
38
+ var getViewLabel = React.useCallback(function (view) {
39
+ switch (view) {
40
+ case ECalendarViews.Month:
41
+ return strings.CalendarControlViewMonthLabel;
42
+ case ECalendarViews.Week:
43
+ return strings.CalendarControlViewWeekLabel;
44
+ case ECalendarViews.Day:
45
+ return strings.CalendarControlViewDayLabel;
46
+ default:
47
+ return strings.CalendarControlViewMonthLabel;
48
+ }
49
+ }, []);
50
+ var onCheckedValueChange = React.useCallback(function (_e, _a) {
51
+ var name = _a.name, checkedItems = _a.checkedItems;
52
+ if (name === 'view') {
53
+ var newView = checkedItems[0];
54
+ setSelectedView(newView);
55
+ setCheckedValues({ view: checkedItems });
56
+ onSelected(newView);
57
+ }
58
+ }, [onSelected]);
59
+ return (React.createElement(React.Fragment, null,
60
+ React.createElement(Menu, { open: open, onOpenChange: onOpenChange },
61
+ React.createElement(MenuTrigger, { disableButtonEnhancement: true },
62
+ React.createElement(MenuButton, { shape: "circular", icon: viewIcon(), style: { minWidth: '150px' } }, getViewLabel(selectedView))),
63
+ React.createElement(MenuPopover, null,
64
+ React.createElement(MenuList, { onCheckedValueChange: onCheckedValueChange, checkedValues: checkedValues },
65
+ React.createElement(MenuItemRadio, { icon: React.createElement(DayView, null), name: "view", value: ECalendarViews.Day }, strings.CalendarControlViewDayLabel),
66
+ React.createElement(MenuItemRadio, { icon: React.createElement(WeekView, null), name: "view", value: ECalendarViews.Week }, strings.CalendarControlViewWeekLabel),
67
+ React.createElement(MenuItemRadio, { icon: React.createElement(MonthView, null), name: "view", value: ECalendarViews.Month }, strings.CalendarControlViewMonthLabel))))));
68
+ };
69
+ //# sourceMappingURL=SelectCalendarView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectCalendarView.js","sourceRoot":"","sources":["../../../src/controls/calendar/SelectCalendarView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ import { ECalendarViews } from './models/ECalendarViews';
3
+ interface ToolbarProps {
4
+ selectedView: ECalendarViews;
5
+ onSelectedView: (view: ECalendarViews) => void;
6
+ currentDate: Date;
7
+ setCurrentDate: (date: Date) => void;
8
+ onWeekChange: (date: Date) => void;
9
+ onMonthChange: (date: Date) => void;
10
+ onDayChange: (date: Date) => void;
11
+ }
12
+ export declare const Toolbar: React.FC<ToolbarProps>;
13
+ export default Toolbar;
14
+ //# sourceMappingURL=Toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../src/controls/calendar/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AASzD,UAAU,YAAY;IACpB,YAAY,EAAE,cAAc,CAAC;IAC7B,cAAc,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC/C,WAAW,EAAE,IAAI,CAAC;IAClB,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA0J1C,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,81 @@
1
+ import * as React from 'react';
2
+ import { ArrowDownFilled, ArrowDownRegular, ArrowUpFilled, ArrowUpRegular, CalendarTodayRegular, bundleIcon, } from '@fluentui/react-icons';
3
+ import { Button } from '@fluentui/react-button';
4
+ import { ECalendarViews } from './models/ECalendarViews';
5
+ import { SelectCalendarView } from './SelectCalendarView';
6
+ import { SelectDay } from '@nuvemerudita/react-controls';
7
+ import { SelectMonth } from '@nuvemerudita/react-controls';
8
+ import { SelectWeek } from '@nuvemerudita/react-controls';
9
+ import { Stack } from '@nuvemerudita/react-controls';
10
+ import { Tooltip } from '@fluentui/react-tooltip';
11
+ import strings from 'ControlStrings';
12
+ export var Toolbar = React.memo(function (_a) {
13
+ var selectedView = _a.selectedView, onSelectedView = _a.onSelectedView, currentDate = _a.currentDate, setCurrentDate = _a.setCurrentDate, onWeekChange = _a.onWeekChange, onMonthChange = _a.onMonthChange, onDayChange = _a.onDayChange;
14
+ var ArrowDown = React.useMemo(function () { return bundleIcon(ArrowDownFilled, ArrowDownRegular); }, []);
15
+ var ArrowUp = React.useMemo(function () { return bundleIcon(ArrowUpFilled, ArrowUpRegular); }, []);
16
+ var onSelectWeek = React.useCallback(function (week) {
17
+ onWeekChange(week.startDate);
18
+ setCurrentDate(week.startDate);
19
+ }, [onWeekChange, setCurrentDate]);
20
+ var onSelectMonth = React.useCallback(function (month) {
21
+ onMonthChange(month);
22
+ setCurrentDate(month);
23
+ }, [onMonthChange, setCurrentDate]);
24
+ var onSelectDay = React.useCallback(function (day) {
25
+ onDayChange(day);
26
+ setCurrentDate(day);
27
+ }, [onDayChange, setCurrentDate]);
28
+ var RenderSelectView = React.useCallback(function () {
29
+ switch (selectedView) {
30
+ case ECalendarViews.Month:
31
+ return React.createElement(SelectMonth, { onSelected: onSelectMonth, value: currentDate });
32
+ case ECalendarViews.Week:
33
+ return React.createElement(SelectWeek, { onSelected: onSelectWeek, value: currentDate });
34
+ case ECalendarViews.Day:
35
+ return React.createElement(SelectDay, { onSelected: onSelectDay, value: currentDate });
36
+ default:
37
+ return React.createElement(SelectMonth, { onSelected: onSelectMonth, value: currentDate });
38
+ }
39
+ }, [selectedView, onSelectMonth, onSelectWeek, onSelectDay, currentDate]);
40
+ var RenderToday = React.useCallback(function () { return (React.createElement(Tooltip, { content: "Today", relationship: "label" },
41
+ React.createElement(Button, { shape: "circular", icon: React.createElement(CalendarTodayRegular, null), size: "medium", onClick: function () { return onDayChange(new Date()); } }, strings.CalendarControlTodayLabel))); }, [onDayChange]);
42
+ var handleNavigation = React.useCallback(function (offset) {
43
+ var newDate = new Date(currentDate);
44
+ switch (selectedView) {
45
+ case ECalendarViews.Month:
46
+ newDate.setMonth(newDate.getMonth() + offset);
47
+ onMonthChange(newDate);
48
+ break;
49
+ case ECalendarViews.Week:
50
+ newDate.setDate(newDate.getDate() + offset * 7);
51
+ onWeekChange(newDate);
52
+ break;
53
+ case ECalendarViews.Day:
54
+ newDate.setDate(newDate.getDate() + offset);
55
+ onDayChange(newDate);
56
+ break;
57
+ default:
58
+ break;
59
+ }
60
+ setCurrentDate(newDate);
61
+ }, [
62
+ currentDate,
63
+ selectedView,
64
+ onMonthChange,
65
+ onWeekChange,
66
+ onDayChange,
67
+ setCurrentDate,
68
+ ]);
69
+ return (React.createElement(Stack, { width: "calc(100% - 40px)", height: "fit-content", horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", paddingLeft: "20px", paddingRight: "20px", paddingBottom: "10px", paddingTop: "10px", columnGap: 10, styles: { overflow: 'hidden' } },
70
+ React.createElement(Stack, { horizontal: true, horizontalAlign: "start", verticalAlign: "center", columnGap: 10 },
71
+ React.createElement(RenderToday, null),
72
+ React.createElement(RenderSelectView, null),
73
+ React.createElement(Tooltip, { content: strings.CalendarControlPreviousLabel, relationship: "label" },
74
+ React.createElement(Button, { size: "medium", icon: React.createElement(ArrowUp, { fontSize: 14 }), onClick: function () { return handleNavigation(-1); } })),
75
+ React.createElement(Tooltip, { content: strings.CalendarControlNextLabel, relationship: "label" },
76
+ React.createElement(Button, { size: "medium", icon: React.createElement(ArrowDown, { fontSize: 14 }), onClick: function () { return handleNavigation(1); } }))),
77
+ React.createElement(Stack, { horizontal: true, horizontalAlign: "start", verticalAlign: "center", columnGap: 10 },
78
+ React.createElement(SelectCalendarView, { onSelected: onSelectedView, value: selectedView }))));
79
+ });
80
+ export default Toolbar;
81
+ //# sourceMappingURL=Toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../src/controls/calendar/Toolbar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { IEvent } from './models/IEvents';
3
+ export interface IWeekViewProps {
4
+ events: IEvent[];
5
+ currentDay: Date;
6
+ height?: string | number;
7
+ }
8
+ export declare const WeekView: React.FC<IWeekViewProps>;
9
+ export default WeekView;
10
+ //# sourceMappingURL=WeekView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WeekView.d.ts","sourceRoot":"","sources":["../../../src/controls/calendar/WeekView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAO1C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAmL7C,CAAC;AAEF,eAAe,QAAQ,CAAC"}