@code-rhapsodie/react-scheduler 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/LICENSE +7 -0
  2. package/dist/App.d.ts +3 -0
  3. package/dist/assets/icons/index.d.ts +3 -0
  4. package/dist/assets/icons/types.d.ts +5 -0
  5. package/dist/components/Calendar/Calendar.d.ts +4 -0
  6. package/dist/components/Calendar/Grid/Grid.d.ts +5 -0
  7. package/dist/components/Calendar/Grid/index.d.ts +1 -0
  8. package/dist/components/Calendar/Grid/styles.d.ts +6 -0
  9. package/dist/components/Calendar/Grid/types.d.ts +10 -0
  10. package/dist/components/Calendar/Header/Header.d.ts +4 -0
  11. package/dist/components/Calendar/Header/Topbar/Topbar.d.ts +4 -0
  12. package/dist/components/Calendar/Header/Topbar/index.d.ts +1 -0
  13. package/dist/components/Calendar/Header/Topbar/styles.d.ts +8 -0
  14. package/dist/components/Calendar/Header/Topbar/types.d.ts +5 -0
  15. package/dist/components/Calendar/Header/index.d.ts +1 -0
  16. package/dist/components/Calendar/Header/styles.d.ts +4 -0
  17. package/dist/components/Calendar/Header/types.d.ts +6 -0
  18. package/dist/components/Calendar/index.d.ts +1 -0
  19. package/dist/components/Calendar/styles.d.ts +4 -0
  20. package/dist/components/Calendar/types.d.ts +12 -0
  21. package/dist/components/ConfigPanel/ConfigPanel.d.ts +4 -0
  22. package/dist/components/ConfigPanel/index.d.ts +1 -0
  23. package/dist/components/ConfigPanel/styles.d.ts +8 -0
  24. package/dist/components/ConfigPanel/types.d.ts +5 -0
  25. package/dist/components/EmptyBox/EmptyBox.d.ts +3 -0
  26. package/dist/components/EmptyBox/index.d.ts +1 -0
  27. package/dist/components/EmptyBox/styles.d.ts +3 -0
  28. package/dist/components/Icon/Icon.d.ts +4 -0
  29. package/dist/components/Icon/index.d.ts +2 -0
  30. package/dist/components/Icon/types.d.ts +8 -0
  31. package/dist/components/IconButton/IconButton.d.ts +4 -0
  32. package/dist/components/IconButton/index.d.ts +1 -0
  33. package/dist/components/IconButton/styles.d.ts +2 -0
  34. package/dist/components/IconButton/types.d.ts +10 -0
  35. package/dist/components/LeftColumn/LeftColumn.d.ts +4 -0
  36. package/dist/components/LeftColumn/LeftColumnItem/LeftColumnItem.d.ts +4 -0
  37. package/dist/components/LeftColumn/LeftColumnItem/index.d.ts +1 -0
  38. package/dist/components/LeftColumn/LeftColumnItem/styles.d.ts +7 -0
  39. package/dist/components/LeftColumn/LeftColumnItem/types.d.ts +14 -0
  40. package/dist/components/LeftColumn/index.d.ts +1 -0
  41. package/dist/components/LeftColumn/styles.d.ts +5 -0
  42. package/dist/components/LeftColumn/types.d.ts +15 -0
  43. package/dist/components/Loader/Loader.d.ts +4 -0
  44. package/dist/components/Loader/index.d.ts +1 -0
  45. package/dist/components/Loader/styles.d.ts +3 -0
  46. package/dist/components/Loader/types.d.ts +6 -0
  47. package/dist/components/PaginationButton/PaginationButton.d.ts +4 -0
  48. package/dist/components/PaginationButton/index.d.ts +1 -0
  49. package/dist/components/PaginationButton/styles.d.ts +5 -0
  50. package/dist/components/PaginationButton/types.d.ts +11 -0
  51. package/dist/components/Scheduler/Scheduler.d.ts +4 -0
  52. package/dist/components/Scheduler/styles.d.ts +3 -0
  53. package/dist/components/Scheduler/types.d.ts +16 -0
  54. package/dist/components/Tiles/Tile/Tile.d.ts +4 -0
  55. package/dist/components/Tiles/Tile/index.d.ts +1 -0
  56. package/dist/components/Tiles/Tile/styles.d.ts +6 -0
  57. package/dist/components/Tiles/Tile/types.d.ts +10 -0
  58. package/dist/components/Tiles/Tiles.d.ts +4 -0
  59. package/dist/components/Tiles/index.d.ts +1 -0
  60. package/dist/components/Tiles/types.d.ts +8 -0
  61. package/dist/components/Toggle/Toggle.d.ts +4 -0
  62. package/dist/components/Toggle/index.d.ts +1 -0
  63. package/dist/components/Toggle/styles.d.ts +4 -0
  64. package/dist/components/Toggle/types.d.ts +3 -0
  65. package/dist/components/Tooltip/Tooltip.d.ts +4 -0
  66. package/dist/components/Tooltip/index.d.ts +1 -0
  67. package/dist/components/Tooltip/styles.d.ts +9 -0
  68. package/dist/components/Tooltip/types.d.ts +5 -0
  69. package/dist/components/index.d.ts +16 -0
  70. package/dist/constants.d.ts +50 -0
  71. package/dist/context/CalendarProvider/CalendarProvider.d.ts +6 -0
  72. package/dist/context/CalendarProvider/calendarContext.d.ts +3 -0
  73. package/dist/context/CalendarProvider/index.d.ts +1 -0
  74. package/dist/context/CalendarProvider/types.d.ts +38 -0
  75. package/dist/context/LocaleProvider/LocaleProvider.d.ts +6 -0
  76. package/dist/context/LocaleProvider/index.d.ts +1 -0
  77. package/dist/context/LocaleProvider/localeContext.d.ts +3 -0
  78. package/dist/context/LocaleProvider/locales.d.ts +9 -0
  79. package/dist/context/LocaleProvider/types.d.ts +34 -0
  80. package/dist/hooks/types.d.ts +39 -0
  81. package/dist/hooks/usePagination.d.ts +3 -0
  82. package/dist/index.cjs +554 -0
  83. package/dist/index.css +2 -0
  84. package/dist/index.d.ts +5 -0
  85. package/dist/index.js +4875 -0
  86. package/dist/locales/de.d.ts +17 -0
  87. package/dist/locales/en.d.ts +17 -0
  88. package/dist/locales/es.d.ts +17 -0
  89. package/dist/locales/fr.d.ts +17 -0
  90. package/dist/locales/he.d.ts +17 -0
  91. package/dist/locales/index.d.ts +10 -0
  92. package/dist/locales/it.d.ts +17 -0
  93. package/dist/locales/lt.d.ts +17 -0
  94. package/dist/locales/pl.d.ts +17 -0
  95. package/dist/locales/ptBR.d.ts +17 -0
  96. package/dist/locales/ro.d.ts +17 -0
  97. package/dist/main.d.ts +1 -0
  98. package/dist/mock/appMock.d.ts +5 -0
  99. package/dist/styles.d.ts +15 -0
  100. package/dist/types/global.d.ts +172 -0
  101. package/dist/types/guards.d.ts +2 -0
  102. package/dist/utils/dates.d.ts +6 -0
  103. package/dist/utils/drawDashedLine.d.ts +2 -0
  104. package/dist/utils/drawGrid/drawCell.d.ts +2 -0
  105. package/dist/utils/drawGrid/drawGrid.d.ts +3 -0
  106. package/dist/utils/drawGrid/drawHourlyView.d.ts +3 -0
  107. package/dist/utils/drawGrid/drawMonthlyView.d.ts +3 -0
  108. package/dist/utils/drawGrid/drawYearlyView.d.ts +3 -0
  109. package/dist/utils/drawHeader/drawHeader.d.ts +3 -0
  110. package/dist/utils/drawHeader/drawRows/DrawZoom2MonthsOnTop.d.ts +3 -0
  111. package/dist/utils/drawHeader/drawRows/drawDaysOnBottom.d.ts +3 -0
  112. package/dist/utils/drawHeader/drawRows/drawMonthsInMiddle.d.ts +3 -0
  113. package/dist/utils/drawHeader/drawRows/drawMonthsOnTop.d.ts +3 -0
  114. package/dist/utils/drawHeader/drawRows/drawWeeksInMiddle.d.ts +3 -0
  115. package/dist/utils/drawHeader/drawRows/drawWeeksOnBottom.d.ts +3 -0
  116. package/dist/utils/drawHeader/drawRows/drawYearsOnTop.d.ts +3 -0
  117. package/dist/utils/drawHeader/drawRows/drawZoom2DaysInMiddle.d.ts +3 -0
  118. package/dist/utils/drawHeader/drawRows/drawZoom2HoursOnBottom.d.ts +3 -0
  119. package/dist/utils/drawRow.d.ts +3 -0
  120. package/dist/utils/getBoxFillStyle.d.ts +3 -0
  121. package/dist/utils/getCanvasWidth.d.ts +1 -0
  122. package/dist/utils/getCols.d.ts +2 -0
  123. package/dist/utils/getDatesRange.d.ts +11 -0
  124. package/dist/utils/getDayOccupancy.d.ts +3 -0
  125. package/dist/utils/getDuration.d.ts +2 -0
  126. package/dist/utils/getHourOccupancy.d.ts +3 -0
  127. package/dist/utils/getOccupancy.d.ts +3 -0
  128. package/dist/utils/getProjectsOnGrid.d.ts +5 -0
  129. package/dist/utils/getTextStyle.d.ts +3 -0
  130. package/dist/utils/getTileProperties.d.ts +3 -0
  131. package/dist/utils/getTileTextColor.d.ts +13 -0
  132. package/dist/utils/getTileXAndWidth.d.ts +5 -0
  133. package/dist/utils/getTimeOccupancy.d.ts +2 -0
  134. package/dist/utils/getTooltipData.d.ts +2 -0
  135. package/dist/utils/getTotalHoursAndMinutes.d.ts +5 -0
  136. package/dist/utils/getTotalRowsPerPage.d.ts +2 -0
  137. package/dist/utils/getWeekOccupancy.d.ts +3 -0
  138. package/dist/utils/resizeCanvas.d.ts +1 -0
  139. package/dist/utils/setProjectsInRows.d.ts +2 -0
  140. package/dist/utils/splitToPages.d.ts +2 -0
  141. package/package.json +98 -0
  142. package/readme.md +369 -0
@@ -0,0 +1,17 @@
1
+ export declare const de: {
2
+ feelingEmpty: string;
3
+ free: string;
4
+ loadNext: string;
5
+ loadPrevious: string;
6
+ over: string;
7
+ taken: string;
8
+ topbar: {
9
+ filters: string;
10
+ next: string;
11
+ prev: string;
12
+ today: string;
13
+ view: string;
14
+ };
15
+ search: string;
16
+ week: string;
17
+ };
@@ -0,0 +1,17 @@
1
+ export declare const en: {
2
+ feelingEmpty: string;
3
+ free: string;
4
+ loadNext: string;
5
+ loadPrevious: string;
6
+ over: string;
7
+ taken: string;
8
+ topbar: {
9
+ filters: string;
10
+ next: string;
11
+ prev: string;
12
+ today: string;
13
+ view: string;
14
+ };
15
+ search: string;
16
+ week: string;
17
+ };
@@ -0,0 +1,17 @@
1
+ export declare const es: {
2
+ feelingEmpty: string;
3
+ free: string;
4
+ loadNext: string;
5
+ loadPrevious: string;
6
+ over: string;
7
+ taken: string;
8
+ topbar: {
9
+ filters: string;
10
+ next: string;
11
+ prev: string;
12
+ today: string;
13
+ view: string;
14
+ };
15
+ search: string;
16
+ week: string;
17
+ };
@@ -0,0 +1,17 @@
1
+ export declare const fr: {
2
+ feelingEmpty: string;
3
+ free: string;
4
+ loadNext: string;
5
+ loadPrevious: string;
6
+ over: string;
7
+ taken: string;
8
+ topbar: {
9
+ filters: string;
10
+ next: string;
11
+ prev: string;
12
+ today: string;
13
+ view: string;
14
+ };
15
+ search: string;
16
+ week: string;
17
+ };
@@ -0,0 +1,17 @@
1
+ export declare const he: {
2
+ feelingEmpty: string;
3
+ free: string;
4
+ loadNext: string;
5
+ loadPrevious: string;
6
+ over: string;
7
+ taken: string;
8
+ topbar: {
9
+ filters: string;
10
+ next: string;
11
+ prev: string;
12
+ today: string;
13
+ view: string;
14
+ };
15
+ search: string;
16
+ week: string;
17
+ };
@@ -0,0 +1,10 @@
1
+ export { pl } from "./pl";
2
+ export { en } from "./en";
3
+ export { de } from "./de";
4
+ export { lt } from "./lt";
5
+ export { fr } from "./fr";
6
+ export { it } from "./it";
7
+ export { ptBR } from "./ptBR";
8
+ export { es } from "./es";
9
+ export { he } from "./he";
10
+ export { ro } from "./ro";
@@ -0,0 +1,17 @@
1
+ export declare const it: {
2
+ feelingEmpty: string;
3
+ free: string;
4
+ loadNext: string;
5
+ loadPrevious: string;
6
+ over: string;
7
+ taken: string;
8
+ topbar: {
9
+ filters: string;
10
+ next: string;
11
+ prev: string;
12
+ today: string;
13
+ view: string;
14
+ };
15
+ search: string;
16
+ week: string;
17
+ };
@@ -0,0 +1,17 @@
1
+ export declare const lt: {
2
+ feelingEmpty: string;
3
+ free: string;
4
+ loadNext: string;
5
+ loadPrevious: string;
6
+ over: string;
7
+ taken: string;
8
+ topbar: {
9
+ filters: string;
10
+ next: string;
11
+ prev: string;
12
+ today: string;
13
+ view: string;
14
+ };
15
+ search: string;
16
+ week: string;
17
+ };
@@ -0,0 +1,17 @@
1
+ export declare const pl: {
2
+ feelingEmpty: string;
3
+ free: string;
4
+ loadNext: string;
5
+ loadPrevious: string;
6
+ over: string;
7
+ taken: string;
8
+ topbar: {
9
+ filters: string;
10
+ next: string;
11
+ prev: string;
12
+ today: string;
13
+ view: string;
14
+ };
15
+ search: string;
16
+ week: string;
17
+ };
@@ -0,0 +1,17 @@
1
+ export declare const ptBR: {
2
+ feelingEmpty: string;
3
+ free: string;
4
+ loadNext: string;
5
+ loadPrevious: string;
6
+ over: string;
7
+ taken: string;
8
+ topbar: {
9
+ filters: string;
10
+ next: string;
11
+ prev: string;
12
+ today: string;
13
+ view: string;
14
+ };
15
+ search: string;
16
+ week: string;
17
+ };
@@ -0,0 +1,17 @@
1
+ export declare const ro: {
2
+ feelingEmpty: string;
3
+ free: string;
4
+ loadNext: string;
5
+ loadPrevious: string;
6
+ over: string;
7
+ taken: string;
8
+ topbar: {
9
+ filters: string;
10
+ next: string;
11
+ prev: string;
12
+ today: string;
13
+ view: string;
14
+ };
15
+ search: string;
16
+ week: string;
17
+ };
package/dist/main.d.ts ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import { SchedulerData, SchedulerProjectData } from "@/types/global";
2
+ import { ParsedDatesRange } from "@/utils/getDatesRange";
3
+ export declare const mockedOnRangeChange: (range: ParsedDatesRange, data: SchedulerData) => void;
4
+ export declare const generateProjects: (years: number, maxProjectsPerYear: number, amountOfDscWords: number | undefined, title: string) => SchedulerProjectData[];
5
+ export declare const createMockData: (amountOfPeople: number, years: number, maxProjectsPerYear: number, amountOfDscWords?: number) => SchedulerData;
@@ -0,0 +1,15 @@
1
+ import { type DefaultTheme, IStyledComponent } from "styled-components";
2
+ import { NamedExoticComponent } from "react";
3
+ export declare const prefixId = "reactSchedulerOutsideWrapper";
4
+ export declare const GlobalStyle: NamedExoticComponent;
5
+ export type ColorType = "background" | "gridBackground" | "primary" | "secondary" | "tertiary" | "textPrimary" | "textSecondary" | "accent" | "disabled" | "border" | "placeholder" | "warning" | "button" | "tooltip" | "defaultTile" | "hover";
6
+ export type Theme = {
7
+ colors: Record<ColorType, string>;
8
+ navHeight: string;
9
+ mode: "light" | "dark";
10
+ };
11
+ export declare const theme: DefaultTheme;
12
+ export declare const darkTheme: Theme;
13
+ export declare const marginPaddingReset = "\nmargin: 0;\npadding: 0;\n";
14
+ export declare const truncate = "\noverflow: hidden;\ntext-overflow: ellipsis;\nwhite-space: nowrap;\n";
15
+ export declare const StyledSchedulerFrame: IStyledComponent<any, any>;
@@ -0,0 +1,172 @@
1
+ import { LocaleType } from "@/context/LocaleProvider/types";
2
+ import { ColorType } from "@/styles";
3
+ export declare const allZoomLevel: readonly [0, 1, 2];
4
+ export type FilterButtonState = -1 | 0 | 1;
5
+ type ZoomLevelTuple = typeof allZoomLevel;
6
+ export type ZoomLevel = ZoomLevelTuple[number];
7
+ export type LangCodes = "en" | "es" | "pl" | "de" | "lt" | "fr" | "it" | "pt-BR" | "he" | "ro";
8
+ export type Config = {
9
+ zoom: ZoomLevel;
10
+ /**
11
+ * Dictates filter button behavior
12
+ * - `< 0` - filter button is hidden
13
+ * - `0` - filter button is visible, no filter had been applied
14
+ * - `> 0` - filter button visible - filters had been applied
15
+ */
16
+ filterButtonState?: number;
17
+ /**
18
+ * Language code: "en" | "es" | "pl" | "de" | "lt" | "fr" | "it" | "pt-BR" | "he" | "ro"
19
+ */
20
+ lang?: LangCodes | string;
21
+ isFiltersButtonVisible?: boolean;
22
+ maxRecordsPerPage?: number;
23
+ /**
24
+ * property for changing behavior of showing tooltip hours
25
+ * true - will show taken hours same as business days
26
+ * false - will always show 0 taken hours on weekends in day view
27
+ * @default false
28
+ */
29
+ includeTakenHoursOnWeekendsInDayView?: boolean;
30
+ /**
31
+ * show tooltip when hovering over tiles items
32
+ * @default true
33
+ */
34
+ showTooltip?: boolean;
35
+ translations?: LocaleType[];
36
+ /**
37
+ * show toggle button for changing theme (light/dark)
38
+ */
39
+ showThemeToggle?: boolean;
40
+ /**
41
+ * default theme (light/dark)
42
+ * when theme toggle is displayed - this is a default value of the toggle
43
+ * @default "light"
44
+ */
45
+ defaultTheme?: "light" | "dark";
46
+ theme?: Theme;
47
+ };
48
+ export type Theme = {
49
+ light?: Partial<Record<ColorType, string>>;
50
+ dark?: Partial<Record<ColorType, string>>;
51
+ };
52
+ export type SchedulerData = SchedulerRow[];
53
+ export type SchedulerRow = {
54
+ id: string;
55
+ label: SchedulerRowLabel;
56
+ data: SchedulerProjectData[];
57
+ };
58
+ export type SchedulerItemClickData = Omit<SchedulerRow, "data">;
59
+ export type PaginatedSchedulerData = PaginatedSchedulerRow[];
60
+ export type PaginatedSchedulerRow = {
61
+ id: string;
62
+ label: SchedulerRowLabel;
63
+ data: SchedulerProjectData[][];
64
+ };
65
+ export type SchedulerRowLabel = {
66
+ icon: string;
67
+ title: string;
68
+ subtitle: string;
69
+ };
70
+ export type SchedulerProjectData = {
71
+ /**
72
+ * Unique Id of item
73
+ */
74
+ id: string;
75
+ /**
76
+ * Represents start date of from which tile will render
77
+ */
78
+ startDate: Date;
79
+ /**
80
+ * Represents end date to which tile will render
81
+ */
82
+ endDate: Date;
83
+ /**
84
+ * Indicates how much time is spent per day. Given in seconds and converted by Scheduler to hours/minutes
85
+ */
86
+ occupancy: number;
87
+ /**
88
+ * Title of item
89
+ */
90
+ title: string;
91
+ /**
92
+ * Subtitle of item. Optional
93
+ */
94
+ subtitle?: string;
95
+ /**
96
+ * Short description displayed on tile. Optional
97
+ */
98
+ description?: string;
99
+ /**
100
+ * Background color of the tile, given in rgb color model. If not given, default color (rgb(114, 141,226 )) is set. Optional
101
+ */
102
+ bgColor?: string;
103
+ };
104
+ export type Day = {
105
+ hour: number;
106
+ dayName: string;
107
+ dayOfMonth: number;
108
+ weekOfYear: number;
109
+ month: number;
110
+ monthName: string;
111
+ isBusinessDay: boolean;
112
+ isCurrentDay: boolean;
113
+ year: number;
114
+ };
115
+ export type TextAndBoxStyleConfig = {
116
+ isCurrent: boolean;
117
+ isBusinessDay?: boolean;
118
+ variant?: "yearView" | "bottomRow";
119
+ };
120
+ type BottomRowText = {
121
+ y: number;
122
+ label: string;
123
+ font: string;
124
+ color: string;
125
+ };
126
+ export type DrawRowConfig = {
127
+ ctx: CanvasRenderingContext2D;
128
+ x: number;
129
+ y: number;
130
+ width: number;
131
+ height: number;
132
+ textYPos?: number;
133
+ label?: string;
134
+ font?: string;
135
+ isBottomRow?: boolean;
136
+ fillStyle?: string;
137
+ topText?: BottomRowText;
138
+ bottomText?: BottomRowText;
139
+ labelBetweenCells?: boolean;
140
+ };
141
+ export type TileProperties = {
142
+ x: number;
143
+ y: number;
144
+ width: number;
145
+ };
146
+ export type ConfigFormValues = {
147
+ peopleCount: number;
148
+ projectsPerYear: number;
149
+ yearsCovered: number;
150
+ maxRecordsPerPage: number;
151
+ isFullscreen: boolean;
152
+ startDate?: string;
153
+ };
154
+ export type Coords = {
155
+ x: number;
156
+ y: number;
157
+ };
158
+ export type TimeUnits = {
159
+ hours: number;
160
+ minutes: number;
161
+ };
162
+ export type OccupancyData = {
163
+ taken: TimeUnits;
164
+ free: TimeUnits;
165
+ overtime: TimeUnits;
166
+ };
167
+ export type TooltipData = {
168
+ coords: Coords;
169
+ resourceIndex: number;
170
+ disposition: OccupancyData;
171
+ };
172
+ export {};
@@ -0,0 +1,2 @@
1
+ import { ZoomLevel } from "./global";
2
+ export declare const isAvailableZoom: (value: number) => value is ZoomLevel;
@@ -0,0 +1,6 @@
1
+ import dayjs from "dayjs";
2
+ import { Day } from "@/types/global";
3
+ export declare const daysInYear: (year: number) => 365 | 366;
4
+ export declare const getIsBusinessDay: (date: dayjs.Dayjs) => boolean;
5
+ export declare const getDaysInMonths: (date: Day, iterator: number) => number;
6
+ export declare const parseDay: (data: dayjs.Dayjs) => Day;
@@ -0,0 +1,2 @@
1
+ import { Theme } from "@/styles";
2
+ export declare const drawDashedLine: (ctx: CanvasRenderingContext2D, startPos: number, lineLength: number, theme: Theme) => void;
@@ -0,0 +1,2 @@
1
+ import { Theme } from "@/styles";
2
+ export declare const drawCell: (ctx: CanvasRenderingContext2D, x: number, y: number, width: number, isBusinessDay: boolean, isCurrentDay: boolean, theme: Theme) => void;
@@ -0,0 +1,3 @@
1
+ import { Day } from "@/types/global";
2
+ import { Theme } from "@/styles";
3
+ export declare const drawGrid: (ctx: CanvasRenderingContext2D, zoom: number, rows: number, cols: number, parsedStartDate: Day, theme: Theme) => void;
@@ -0,0 +1,3 @@
1
+ import { Day } from "@/types/global";
2
+ import { Theme } from "@/styles";
3
+ export declare const drawHourlyView: (ctx: CanvasRenderingContext2D, rows: number, cols: number, startDate: Day, theme: Theme) => void;
@@ -0,0 +1,3 @@
1
+ import { Day } from "@/types/global";
2
+ import { Theme } from "@/styles";
3
+ export declare const drawMonthlyView: (ctx: CanvasRenderingContext2D, rows: number, cols: number, startDate: Day, theme: Theme) => void;
@@ -0,0 +1,3 @@
1
+ import { Day } from "@/types/global";
2
+ import { Theme } from "@/styles";
3
+ export declare const drawYearlyView: (ctx: CanvasRenderingContext2D, rows: number, cols: number, startDate: Day, theme: Theme) => void;
@@ -0,0 +1,3 @@
1
+ import { Day } from "@/types/global";
2
+ import { Theme } from "@/styles";
3
+ export declare const drawHeader: (ctx: CanvasRenderingContext2D, zoom: number, cols: number, startDate: Day, weekLabel: string, dayOfYear: number, theme: Theme) => void;
@@ -0,0 +1,3 @@
1
+ import { Day } from "@/types/global";
2
+ import { Theme } from "@/styles";
3
+ export declare const drawZoom2MonthsOnTop: (ctx: CanvasRenderingContext2D, cols: number, startDate: Day, theme: Theme) => void;
@@ -0,0 +1,3 @@
1
+ import { Day } from "@/types/global";
2
+ import { Theme } from "@/styles";
3
+ export declare const drawDaysOnBottom: (ctx: CanvasRenderingContext2D, cols: number, startDate: Day, theme: Theme) => void;
@@ -0,0 +1,3 @@
1
+ import { Day } from "@/types/global";
2
+ import { Theme } from "@/styles";
3
+ export declare const drawMonthsInMiddle: (ctx: CanvasRenderingContext2D, cols: number, startDate: Day, theme: Theme) => void;
@@ -0,0 +1,3 @@
1
+ import { Day } from "@/types/global";
2
+ import { Theme } from "@/styles";
3
+ export declare const drawMonthsOnTop: (ctx: CanvasRenderingContext2D, startDate: Day, theme: Theme) => void;
@@ -0,0 +1,3 @@
1
+ import { Day } from "@/types/global";
2
+ import { Theme } from "@/styles";
3
+ export declare const drawWeeksInMiddle: (ctx: CanvasRenderingContext2D, startDate: Day, weekLabel: string, theme: Theme) => void;
@@ -0,0 +1,3 @@
1
+ import { Day } from "@/types/global";
2
+ import { Theme } from "@/styles";
3
+ export declare const drawWeeksOnBottom: (ctx: CanvasRenderingContext2D, cols: number, startDate: Day, weekLabel: string, theme: Theme) => void;
@@ -0,0 +1,3 @@
1
+ import { Theme } from "@/styles";
2
+ import { Day } from "@/types/global";
3
+ export declare const drawYearsOnTop: (ctx: CanvasRenderingContext2D, startDate: Day, dayOfYear: number, theme: Theme) => void;
@@ -0,0 +1,3 @@
1
+ import { Day } from "@/types/global";
2
+ import { Theme } from "@/styles";
3
+ export declare const drawZoom2DaysInMiddle: (ctx: CanvasRenderingContext2D, cols: number, startDate: Day, theme: Theme) => void;
@@ -0,0 +1,3 @@
1
+ import { Day } from "@/types/global";
2
+ import { Theme } from "@/styles";
3
+ export declare const drawZoom2HoursOnBottom: (ctx: CanvasRenderingContext2D, cols: number, startDate: Day, theme: Theme) => void;
@@ -0,0 +1,3 @@
1
+ import { Theme } from "@/styles";
2
+ import { DrawRowConfig } from "@/types/global";
3
+ export declare const drawRow: (config: DrawRowConfig, theme: Theme) => void;
@@ -0,0 +1,3 @@
1
+ import { Theme } from "@/styles";
2
+ import { TextAndBoxStyleConfig } from "@/types/global";
3
+ export declare const getBoxFillStyle: (config: TextAndBoxStyleConfig, theme: Theme) => string;
@@ -0,0 +1 @@
1
+ export declare const getCanvasWidth: () => number;
@@ -0,0 +1,2 @@
1
+ export declare const getCols: (zoom: number) => number;
2
+ export declare const getVisibleCols: (zoom: number) => number;
@@ -0,0 +1,11 @@
1
+ import dayjs from "dayjs";
2
+ export type DatesRange = {
3
+ startDate: dayjs.Dayjs;
4
+ endDate: dayjs.Dayjs;
5
+ };
6
+ export type ParsedDatesRange = {
7
+ startDate: Date;
8
+ endDate: Date;
9
+ };
10
+ export declare const getDatesRange: (date: dayjs.Dayjs, zoom: number) => DatesRange;
11
+ export declare const getParsedDatesRange: (date: dayjs.Dayjs, zoom: number) => ParsedDatesRange;
@@ -0,0 +1,3 @@
1
+ import dayjs from "dayjs";
2
+ import { OccupancyData, SchedulerProjectData } from "@/types/global";
3
+ export declare const getDayOccupancy: (occupancy: SchedulerProjectData[], focusedDate: dayjs.Dayjs, zoom: number, includeTakenHoursOnWeekendsInDayView: boolean) => OccupancyData;
@@ -0,0 +1,2 @@
1
+ import { TimeUnits } from "@/types/global";
2
+ export declare const getDuration: (seconds: number) => TimeUnits;
@@ -0,0 +1,3 @@
1
+ import dayjs from "dayjs";
2
+ import { OccupancyData, SchedulerProjectData } from "@/types/global";
3
+ export declare const getHourOccupancy: (occupancy: SchedulerProjectData[], focusedDate: dayjs.Dayjs) => OccupancyData;
@@ -0,0 +1,3 @@
1
+ import dayjs from "dayjs";
2
+ import { SchedulerProjectData, OccupancyData, ZoomLevel } from "@/types/global";
3
+ export declare const getOccupancy: (resource: SchedulerProjectData[][], resourceIndex: number, focusedDate: dayjs.Dayjs, zoom: ZoomLevel, includeTakenHoursOnWeekendsInDayView?: boolean) => OccupancyData;
@@ -0,0 +1,5 @@
1
+ import { SchedulerData, SchedulerProjectData, ZoomLevel } from "@/types/global";
2
+ export declare const projectsOnGrid: (data: SchedulerData, zoomLevel?: ZoomLevel) => {
3
+ projectsPerPerson: SchedulerProjectData[][][];
4
+ rowsPerPerson: number[];
5
+ };
@@ -0,0 +1,3 @@
1
+ import { Theme } from "@/styles";
2
+ import { TextAndBoxStyleConfig } from "@/types/global";
3
+ export declare const getTextStyle: (config: TextAndBoxStyleConfig, theme: Theme) => string;
@@ -0,0 +1,3 @@
1
+ import dayjs from "dayjs";
2
+ import { TileProperties } from "@/types/global";
3
+ export declare const getTileProperties: (row: number, startDate: dayjs.Dayjs, endDate: dayjs.Dayjs, resourceStartDate: Date, resourceEndDate: Date, zoom: number) => TileProperties;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * calculates whether or not text on given hex color should be black or white
3
+ * based on WCAG 2.0 recommendations
4
+ * @param hexColor - color of the background on which font will be placed
5
+ * @returns font color that matches contrast recommended by WCAG 2.0 (black or white)
6
+ * @example
7
+ * // returns "black"
8
+ * getTextColor("#FFFFFF")
9
+ * @example
10
+ * // returns "white"
11
+ * getTextColor("#000000");
12
+ */
13
+ export declare const getTileTextColor: (hexColor: string) => "black" | "white";
@@ -0,0 +1,5 @@
1
+ import { DatesRange } from "./getDatesRange";
2
+ export declare const getTileXAndWidth: (item: DatesRange, range: DatesRange, zoom: number) => {
3
+ x: number;
4
+ width: number;
5
+ };
@@ -0,0 +1,2 @@
1
+ import { OccupancyData, TimeUnits } from "@/types/global";
2
+ export declare const getTimeOccupancy: (timeUnits: TimeUnits, zoom: number) => Omit<OccupancyData, "taken">;
@@ -0,0 +1,2 @@
1
+ import { Day, Coords, SchedulerProjectData, TooltipData, ZoomLevel } from "@/types/global";
2
+ export declare const getTooltipData: (startDate: Day, cursorPosition: Coords, rowsPerPerson: number[], resourcesData: SchedulerProjectData[][][], zoom: ZoomLevel, includeTakenHoursOnWeekendsInDayView?: boolean) => TooltipData;
@@ -0,0 +1,5 @@
1
+ import { TimeUnits } from "@/types/global";
2
+ export declare const getTotalHoursAndMinutes: (item: TimeUnits[]) => {
3
+ hours: number;
4
+ minutes: number;
5
+ };
@@ -0,0 +1,2 @@
1
+ import { PaginatedSchedulerData } from "@/types/global";
2
+ export declare const getTotalRowsPerPage: (page: PaginatedSchedulerData) => number;
@@ -0,0 +1,3 @@
1
+ import dayjs from "dayjs";
2
+ import { OccupancyData, SchedulerProjectData, ZoomLevel } from "@/types/global";
3
+ export declare const getWeekOccupancy: (occupancy: SchedulerProjectData[], focusedDate: dayjs.Dayjs, zoom: ZoomLevel) => OccupancyData;
@@ -0,0 +1 @@
1
+ export declare const resizeCanvas: (ctx: CanvasRenderingContext2D, width: number, height: number) => void;
@@ -0,0 +1,2 @@
1
+ import { SchedulerProjectData, ZoomLevel } from "@/types/global";
2
+ export declare const setProjectsInRows: (projects: SchedulerProjectData[], zoomLevel?: ZoomLevel) => SchedulerProjectData[][];
@@ -0,0 +1,2 @@
1
+ import { PaginatedSchedulerData, SchedulerData, SchedulerProjectData } from "@/types/global";
2
+ export declare const splitToPages: (data: SchedulerData, projectsPerPerson: SchedulerProjectData[][][], rowsPerPerson: number[], recordsThreshold: number) => PaginatedSchedulerData[];