@instructure/platform-widget-dashboard 0.1.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 (117) hide show
  1. package/README.md +365 -0
  2. package/dist/components/CoursesTab.canvas.d.ts +5 -0
  3. package/dist/components/CoursesTab.canvas.d.ts.map +1 -0
  4. package/dist/components/CoursesTabWrapper.d.ts +5 -0
  5. package/dist/components/CoursesTabWrapper.d.ts.map +1 -0
  6. package/dist/components/DashboardNotifications.d.ts +5 -0
  7. package/dist/components/DashboardNotifications.d.ts.map +1 -0
  8. package/dist/components/DashboardTab.d.ts +5 -0
  9. package/dist/components/DashboardTab.d.ts.map +1 -0
  10. package/dist/components/DashboardTabs.d.ts +5 -0
  11. package/dist/components/DashboardTabs.d.ts.map +1 -0
  12. package/dist/components/EnrollmentInvitation.d.ts +22 -0
  13. package/dist/components/EnrollmentInvitation.d.ts.map +1 -0
  14. package/dist/components/FeedbackQuestionTile.d.ts +5 -0
  15. package/dist/components/FeedbackQuestionTile.d.ts.map +1 -0
  16. package/dist/components/NotificationAlert.d.ts +19 -0
  17. package/dist/components/NotificationAlert.d.ts.map +1 -0
  18. package/dist/components/WidgetDashboardContainer.d.ts +5 -0
  19. package/dist/components/WidgetDashboardContainer.d.ts.map +1 -0
  20. package/dist/components/WidgetGrid.d.ts +10 -0
  21. package/dist/components/WidgetGrid.d.ts.map +1 -0
  22. package/dist/components/WidgetRenderer.d.ts +8 -0
  23. package/dist/components/WidgetRenderer.d.ts.map +1 -0
  24. package/dist/components/shared/CourseCode.d.ts +18 -0
  25. package/dist/components/shared/CourseCode.d.ts.map +1 -0
  26. package/dist/components/shared/CourseFilterSelect.d.ts +14 -0
  27. package/dist/components/shared/CourseFilterSelect.d.ts.map +1 -0
  28. package/dist/components/shared/CourseName.d.ts +9 -0
  29. package/dist/components/shared/CourseName.d.ts.map +1 -0
  30. package/dist/components/shared/CourseWorkFilters.d.ts +23 -0
  31. package/dist/components/shared/CourseWorkFilters.d.ts.map +1 -0
  32. package/dist/components/shared/StatisticsCard.d.ts +10 -0
  33. package/dist/components/shared/StatisticsCard.d.ts.map +1 -0
  34. package/dist/components/shared/StatisticsCardsGrid.d.ts +14 -0
  35. package/dist/components/shared/StatisticsCardsGrid.d.ts.map +1 -0
  36. package/dist/components/shared/WidgetContextMenu.d.ts +12 -0
  37. package/dist/components/shared/WidgetContextMenu.d.ts.map +1 -0
  38. package/dist/components/widgets/AnnouncementsWidget/AnnouncementItem.d.ts +11 -0
  39. package/dist/components/widgets/AnnouncementsWidget/AnnouncementItem.d.ts.map +1 -0
  40. package/dist/components/widgets/AnnouncementsWidget/AnnouncementsWidget.d.ts +6 -0
  41. package/dist/components/widgets/AnnouncementsWidget/AnnouncementsWidget.d.ts.map +1 -0
  42. package/dist/components/widgets/AnnouncementsWidget/utils.d.ts +2 -0
  43. package/dist/components/widgets/AnnouncementsWidget/utils.d.ts.map +1 -0
  44. package/dist/components/widgets/CourseGradesWidget/CourseGradeCard.d.ts +6 -0
  45. package/dist/components/widgets/CourseGradesWidget/CourseGradeCard.d.ts.map +1 -0
  46. package/dist/components/widgets/CourseGradesWidget/CourseGradesWidget.d.ts +6 -0
  47. package/dist/components/widgets/CourseGradesWidget/CourseGradesWidget.d.ts.map +1 -0
  48. package/dist/components/widgets/CourseWorkSummaryWidget/CourseWorkSummaryWidget.d.ts +6 -0
  49. package/dist/components/widgets/CourseWorkSummaryWidget/CourseWorkSummaryWidget.d.ts.map +1 -0
  50. package/dist/components/widgets/CourseWorkSummaryWidget/index.d.ts +2 -0
  51. package/dist/components/widgets/CourseWorkSummaryWidget/index.d.ts.map +1 -0
  52. package/dist/components/widgets/CourseWorkWidget/CourseWorkWidget.d.ts +6 -0
  53. package/dist/components/widgets/CourseWorkWidget/CourseWorkWidget.d.ts.map +1 -0
  54. package/dist/components/widgets/CourseWorkWidget/utils.d.ts +15 -0
  55. package/dist/components/widgets/CourseWorkWidget/utils.d.ts.map +1 -0
  56. package/dist/components/widgets/InboxWidget/InboxWidget.d.ts +6 -0
  57. package/dist/components/widgets/InboxWidget/InboxWidget.d.ts.map +1 -0
  58. package/dist/components/widgets/InboxWidget/MessageItem.d.ts +9 -0
  59. package/dist/components/widgets/InboxWidget/MessageItem.d.ts.map +1 -0
  60. package/dist/components/widgets/PeopleWidget/PeopleWidget.d.ts +6 -0
  61. package/dist/components/widgets/PeopleWidget/PeopleWidget.d.ts.map +1 -0
  62. package/dist/components/widgets/PeopleWidget/index.d.ts +2 -0
  63. package/dist/components/widgets/PeopleWidget/index.d.ts.map +1 -0
  64. package/dist/components/widgets/ProgressOverviewWidget/CourseProgressBar.d.ts +19 -0
  65. package/dist/components/widgets/ProgressOverviewWidget/CourseProgressBar.d.ts.map +1 -0
  66. package/dist/components/widgets/ProgressOverviewWidget/CourseProgressItem.d.ts +9 -0
  67. package/dist/components/widgets/ProgressOverviewWidget/CourseProgressItem.d.ts.map +1 -0
  68. package/dist/components/widgets/ProgressOverviewWidget/ProgressOverviewWidget.d.ts +6 -0
  69. package/dist/components/widgets/ProgressOverviewWidget/ProgressOverviewWidget.d.ts.map +1 -0
  70. package/dist/components/widgets/ProgressOverviewWidget/index.d.ts +2 -0
  71. package/dist/components/widgets/ProgressOverviewWidget/index.d.ts.map +1 -0
  72. package/dist/components/widgets/RecentGradesWidget/GradeItem.d.ts +6 -0
  73. package/dist/components/widgets/RecentGradesWidget/GradeItem.d.ts.map +1 -0
  74. package/dist/components/widgets/RecentGradesWidget/RecentGradesWidget.d.ts +6 -0
  75. package/dist/components/widgets/RecentGradesWidget/RecentGradesWidget.d.ts.map +1 -0
  76. package/dist/components/widgets/TemplateWidget/TemplateWidget.d.ts +25 -0
  77. package/dist/components/widgets/TemplateWidget/TemplateWidget.d.ts.map +1 -0
  78. package/dist/components/widgets/TemplateWidget/index.d.ts +3 -0
  79. package/dist/components/widgets/TemplateWidget/index.d.ts.map +1 -0
  80. package/dist/components/widgets/TodoListWidget/CreateTodoModal.d.ts +26 -0
  81. package/dist/components/widgets/TodoListWidget/CreateTodoModal.d.ts.map +1 -0
  82. package/dist/components/widgets/TodoListWidget/TodoItem.d.ts +9 -0
  83. package/dist/components/widgets/TodoListWidget/TodoItem.d.ts.map +1 -0
  84. package/dist/components/widgets/TodoListWidget/TodoListWidget.d.ts +6 -0
  85. package/dist/components/widgets/TodoListWidget/TodoListWidget.d.ts.map +1 -0
  86. package/dist/components/widgets/TodoListWidget/api.d.ts +43 -0
  87. package/dist/components/widgets/TodoListWidget/api.d.ts.map +1 -0
  88. package/dist/components/widgets/TodoListWidget/hooks/usePlannerItems.d.ts +23 -0
  89. package/dist/components/widgets/TodoListWidget/hooks/usePlannerItems.d.ts.map +1 -0
  90. package/dist/components/widgets/TodoListWidget/types.d.ts +63 -0
  91. package/dist/components/widgets/TodoListWidget/types.d.ts.map +1 -0
  92. package/dist/components/widgets/TodoListWidget/utils.d.ts +8 -0
  93. package/dist/components/widgets/TodoListWidget/utils.d.ts.map +1 -0
  94. package/dist/constants/pagination.d.ts +10 -0
  95. package/dist/constants/pagination.d.ts.map +1 -0
  96. package/dist/hooks/useProgressOverview.d.ts +26 -0
  97. package/dist/hooks/useProgressOverview.d.ts.map +1 -0
  98. package/dist/hooks/useResponsiveContext.d.ts +16 -0
  99. package/dist/hooks/useResponsiveContext.d.ts.map +1 -0
  100. package/dist/hooks/useSharedCourses.d.ts +20 -0
  101. package/dist/hooks/useSharedCourses.d.ts.map +1 -0
  102. package/dist/hooks/useWidgetConfig.d.ts +13 -0
  103. package/dist/hooks/useWidgetConfig.d.ts.map +1 -0
  104. package/dist/index.d.ts +11 -0
  105. package/dist/index.d.ts.map +1 -0
  106. package/dist/index.js +13387 -0
  107. package/dist/types/env.d.ts +54 -0
  108. package/dist/types/env.d.ts.map +1 -0
  109. package/dist/types/index.d.ts +3 -0
  110. package/dist/types/index.d.ts.map +1 -0
  111. package/dist/types/widget.d.ts +141 -0
  112. package/dist/types/widget.d.ts.map +1 -0
  113. package/dist/utils/graphql.d.ts +20 -0
  114. package/dist/utils/graphql.d.ts.map +1 -0
  115. package/dist/widgetRegistry.d.ts +4 -0
  116. package/dist/widgetRegistry.d.ts.map +1 -0
  117. package/package.json +86 -0
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+ import { Announcement } from '../../../types';
3
+ import { FilterOption } from './utils';
4
+
5
+ interface AnnouncementItemProps {
6
+ announcementItem: Announcement;
7
+ filter: FilterOption;
8
+ }
9
+ declare const AnnouncementItem: React.FC<AnnouncementItemProps>;
10
+ export default AnnouncementItem;
11
+ //# sourceMappingURL=AnnouncementItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnnouncementItem.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/AnnouncementsWidget/AnnouncementItem.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAIhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AA4C3C,UAAU,qBAAqB;IAC7B,gBAAgB,EAAE,YAAY,CAAA;IAC9B,MAAM,EAAE,YAAY,CAAA;CACrB;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAkMrD,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ import { BaseWidgetProps } from '../../../types';
3
+
4
+ declare const AnnouncementsWidget: React.FC<BaseWidgetProps>;
5
+ export default AnnouncementsWidget;
6
+ //# sourceMappingURL=AnnouncementsWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnnouncementsWidget.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/AnnouncementsWidget/AnnouncementsWidget.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAKjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAKrD,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAqIlD,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export type FilterOption = 'unread' | 'read' | 'all';
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/AnnouncementsWidget/utils.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ import { CourseGradeCardProps } from '../../../types';
3
+
4
+ declare const CourseGradeCard: React.FC<CourseGradeCardProps>;
5
+ export default CourseGradeCard;
6
+ //# sourceMappingURL=CourseGradeCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourseGradeCard.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/CourseGradesWidget/CourseGradeCard.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAK1D,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA4JnD,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ import { BaseWidgetProps } from '../../../types';
3
+
4
+ declare const CourseGradesWidget: React.FC<BaseWidgetProps>;
5
+ export default CourseGradesWidget;
6
+ //# sourceMappingURL=CourseGradesWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourseGradesWidget.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/CourseGradesWidget/CourseGradesWidget.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAKlD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAKrD,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4JjD,CAAA;AAED,eAAe,kBAAkB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ import { BaseWidgetProps } from '../../../types';
3
+
4
+ declare const CourseWorkSummaryWidget: React.FC<BaseWidgetProps>;
5
+ export default CourseWorkSummaryWidget;
6
+ //# sourceMappingURL=CourseWorkSummaryWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourseWorkSummaryWidget.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/CourseWorkSummaryWidget/CourseWorkSummaryWidget.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAItC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAsCrD,QAAA,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsEtD,CAAA;AAED,eAAe,uBAAuB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default } from './CourseWorkSummaryWidget';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/CourseWorkSummaryWidget/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ import { BaseWidgetProps } from '../../../types';
3
+
4
+ declare const CourseWorkWidget: React.FC<BaseWidgetProps>;
5
+ export default CourseWorkWidget;
6
+ //# sourceMappingURL=CourseWorkWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourseWorkWidget.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/CourseWorkWidget/CourseWorkWidget.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAK1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AASrD,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAyH/C,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,15 @@
1
+ type TranslateFunction = (key: string, options?: Record<string, unknown>) => string;
2
+ export interface SubmissionStatus {
3
+ type: 'submitted' | 'late' | 'missing' | 'pending_review' | 'due_soon' | 'not_submitted';
4
+ label: string;
5
+ color: {
6
+ background: string;
7
+ textColor: string;
8
+ };
9
+ icon?: any;
10
+ iconColor?: string;
11
+ }
12
+ export declare function formatDueDate(dueAt: string | null, t: TranslateFunction): string;
13
+ export declare function getSubmissionStatus(late: boolean, missing: boolean, state: string, dueAt: string | null, t: TranslateFunction): SubmissionStatus;
14
+ export {};
15
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/CourseWorkWidget/utils.tsx"],"names":[],"mappings":"AAqBA,KAAK,iBAAiB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAA;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,gBAAgB,GAAG,UAAU,GAAG,eAAe,CAAA;IACxF,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IAChD,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AASD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAoBhF;AAiBD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,CAAC,EAAE,iBAAiB,GACnB,gBAAgB,CAsDlB"}
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ import { BaseWidgetProps } from '../../../types';
3
+
4
+ declare const InboxWidget: React.FC<BaseWidgetProps>;
5
+ export default InboxWidget;
6
+ //# sourceMappingURL=InboxWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InboxWidget.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/InboxWidget/InboxWidget.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIrD,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsF1C,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ import { InboxMessage } from '../../../types';
3
+
4
+ interface MessageItemProps {
5
+ message: InboxMessage;
6
+ }
7
+ declare const MessageItem: React.FC<MessageItemProps>;
8
+ export default MessageItem;
9
+ //# sourceMappingURL=MessageItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageItem.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/InboxWidget/MessageItem.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAuClD,UAAU,gBAAgB;IACxB,OAAO,EAAE,YAAY,CAAA;CACtB;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA8D3C,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ import { BaseWidgetProps } from '../../../types';
3
+
4
+ declare const PeopleWidget: React.FC<BaseWidgetProps>;
5
+ export default PeopleWidget;
6
+ //# sourceMappingURL=PeopleWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PeopleWidget.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/PeopleWidget/PeopleWidget.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAKhD,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,gBAAgB,CAAA;AAcnE,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA6L3C,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default } from './PeopleWidget';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/PeopleWidget/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface CourseProgressBarProps {
4
+ submittedAndGradedCount: number;
5
+ submittedNotGradedCount: number;
6
+ missingSubmissionsCount: number;
7
+ submissionsDueCount: number;
8
+ courseId: string;
9
+ }
10
+ export interface ProgressSegment {
11
+ color: string;
12
+ percentage: number;
13
+ label: string;
14
+ testId: string;
15
+ }
16
+ export declare function calculateProgressSegments(submittedAndGradedCount: number, submittedNotGradedCount: number, missingSubmissionsCount: number, submissionsDueCount: number): ProgressSegment[];
17
+ declare const CourseProgressBar: React.FC<CourseProgressBarProps>;
18
+ export default CourseProgressBar;
19
+ //# sourceMappingURL=CourseProgressBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourseProgressBar.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/ProgressOverviewWidget/CourseProgressBar.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,WAAW,sBAAsB;IACrC,uBAAuB,EAAE,MAAM,CAAA;IAC/B,uBAAuB,EAAE,MAAM,CAAA;IAC/B,uBAAuB,EAAE,MAAM,CAAA;IAC/B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,yBAAyB,CACvC,uBAAuB,EAAE,MAAM,EAC/B,uBAAuB,EAAE,MAAM,EAC/B,uBAAuB,EAAE,MAAM,EAC/B,mBAAmB,EAAE,MAAM,GAC1B,eAAe,EAAE,CAyDnB;AAED,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAgDvD,CAAA;AAED,eAAe,iBAAiB,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ import { CourseProgress } from '../../../hooks/useProgressOverview';
3
+
4
+ interface CourseProgressItemProps {
5
+ course: CourseProgress;
6
+ }
7
+ declare const CourseProgressItem: React.FC<CourseProgressItemProps>;
8
+ export default CourseProgressItem;
9
+ //# sourceMappingURL=CourseProgressItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourseProgressItem.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/ProgressOverviewWidget/CourseProgressItem.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAIxE,UAAU,uBAAuB;IAC/B,MAAM,EAAE,cAAc,CAAA;CACvB;AAED,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAqDzD,CAAA;AAED,eAAe,kBAAkB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ import { BaseWidgetProps } from '../../../types';
3
+
4
+ declare const ProgressOverviewWidget: React.FC<BaseWidgetProps>;
5
+ export default ProgressOverviewWidget;
6
+ //# sourceMappingURL=ProgressOverviewWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressOverviewWidget.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/ProgressOverviewWidget/ProgressOverviewWidget.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIrD,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAkDrD,CAAA;AAED,eAAe,sBAAsB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default } from './ProgressOverviewWidget';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/ProgressOverviewWidget/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ import { GradeItemProps } from '../../../types';
3
+
4
+ declare const GradeItem: React.FC<GradeItemProps>;
5
+ export default GradeItem;
6
+ //# sourceMappingURL=GradeItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GradeItem.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/RecentGradesWidget/GradeItem.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AA6BpD,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAiGvC,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ import { BaseWidgetProps } from '../../../types';
3
+
4
+ declare const RecentGradesWidget: React.FC<BaseWidgetProps>;
5
+ export default RecentGradesWidget;
6
+ //# sourceMappingURL=RecentGradesWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecentGradesWidget.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/RecentGradesWidget/RecentGradesWidget.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAOrD,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA8FjD,CAAA;AAED,eAAe,kBAAkB,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { default as React } from 'react';
2
+ import { BaseWidgetProps } from '../../../types';
3
+
4
+ export interface PaginationProps {
5
+ currentPage: number;
6
+ totalPages: number;
7
+ onPageChange: (page: number) => void;
8
+ ariaLabel: string;
9
+ isLoading?: boolean;
10
+ }
11
+ export interface TemplateWidgetProps extends BaseWidgetProps {
12
+ title?: string;
13
+ children: React.ReactNode;
14
+ actions?: React.ReactNode;
15
+ showHeader?: boolean;
16
+ headerActions?: React.ReactNode;
17
+ loadingText?: string;
18
+ pagination?: PaginationProps;
19
+ footerActions?: React.ReactNode;
20
+ isEditMode?: boolean;
21
+ dragHandleProps?: any;
22
+ }
23
+ declare const TemplateWidget: React.FC<TemplateWidgetProps>;
24
+ export default TemplateWidget;
25
+ //# sourceMappingURL=TemplateWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateWidget.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/TemplateWidget/TemplateWidget.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGrD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,eAAe,CAAC,EAAE,GAAG,CAAA;CACtB;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA+LjD,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,3 @@
1
+ export type { PaginationProps, TemplateWidgetProps } from './TemplateWidget';
2
+ export { default } from './TemplateWidget';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/TemplateWidget/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface Course {
4
+ id: string;
5
+ longName?: string;
6
+ long_name?: string;
7
+ enrollmentType?: string;
8
+ is_student?: boolean;
9
+ }
10
+ interface CreateTodoModalProps {
11
+ open: boolean;
12
+ onDismiss: () => void;
13
+ onSubmit: (data: {
14
+ title: string;
15
+ todo_date: string;
16
+ details?: string;
17
+ course_id?: string;
18
+ }) => void;
19
+ isCreating: boolean;
20
+ courses: Course[];
21
+ locale: string;
22
+ timeZone: string;
23
+ }
24
+ declare const CreateTodoModal: React.FC<CreateTodoModalProps>;
25
+ export default CreateTodoModal;
26
+ //# sourceMappingURL=CreateTodoModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateTodoModal.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/TodoListWidget/CreateTodoModal.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAMhD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,UAAU,oBAAoB;IAC5B,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE;QACf,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,KAAK,IAAI,CAAA;IACV,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAiPnD,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ import { PlannerItem } from './types';
3
+
4
+ interface TodoItemProps {
5
+ item: PlannerItem;
6
+ }
7
+ declare const TodoItem: React.FC<TodoItemProps>;
8
+ export default TodoItem;
9
+ //# sourceMappingURL=TodoItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TodoItem.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/TodoListWidget/TodoItem.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAG1C,UAAU,aAAa;IACrB,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAsIrC,CAAA;AAED,eAAe,QAAQ,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ import { BaseWidgetProps } from '../../../types';
3
+
4
+ declare const TodoListWidget: React.FC<BaseWidgetProps>;
5
+ export default TodoListWidget;
6
+ //# sourceMappingURL=TodoListWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TodoListWidget.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/TodoListWidget/TodoListWidget.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAIhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAmBrD,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsK7C,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,43 @@
1
+ import { PlannerItem, PlannerOverride } from './types';
2
+
3
+ export interface FetchPlannerItemsParams {
4
+ start_date?: string;
5
+ end_date?: string;
6
+ per_page?: number;
7
+ order?: 'asc' | 'desc';
8
+ filter?: 'new_activity' | 'ungraded_todo_items' | 'all_ungraded_todo_items' | 'incomplete_items' | 'complete_items';
9
+ }
10
+ export interface FetchPlannerItemsResponse {
11
+ items: PlannerItem[];
12
+ nextUrl: string | null;
13
+ }
14
+ export declare function fetchPlannerItems(params: FetchPlannerItemsParams, nextUrl?: string | null): Promise<FetchPlannerItemsResponse>;
15
+ export interface CreatePlannerOverrideParams {
16
+ plannable_type: string;
17
+ plannable_id: string;
18
+ marked_complete: boolean;
19
+ }
20
+ export declare function createPlannerOverride(params: CreatePlannerOverrideParams): Promise<PlannerOverride>;
21
+ export interface UpdatePlannerOverrideParams {
22
+ marked_complete: boolean;
23
+ }
24
+ export declare function updatePlannerOverride(overrideId: number, params: UpdatePlannerOverrideParams): Promise<PlannerOverride>;
25
+ export interface CreatePlannerNoteParams {
26
+ title: string;
27
+ todo_date: string;
28
+ details?: string;
29
+ course_id?: string;
30
+ }
31
+ export interface PlannerNote {
32
+ id: number;
33
+ title: string;
34
+ description: string;
35
+ user_id: number;
36
+ workflow_state: string;
37
+ course_id: number | null;
38
+ todo_date: string;
39
+ created_at: string;
40
+ updated_at: string;
41
+ }
42
+ export declare function createPlannerNote(params: CreatePlannerNoteParams): Promise<PlannerNote>;
43
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/TodoListWidget/api.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AA2D3D,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IACtB,MAAM,CAAC,EACH,cAAc,GACd,qBAAqB,GACrB,yBAAyB,GACzB,kBAAkB,GAClB,gBAAgB,CAAA;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,uBAAuB,EAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,yBAAyB,CAAC,CA6BpC;AAED,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,OAAO,CAAA;CACzB;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,eAAe,CAAC,CAY1B;AAED,MAAM,WAAW,2BAA2B;IAC1C,eAAe,EAAE,OAAO,CAAA;CACzB;AAED,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,eAAe,CAAC,CAY1B;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,CAY7F"}
@@ -0,0 +1,23 @@
1
+ import { PlannerItem } from '../types';
2
+
3
+ export declare const PLANNER_ITEMS_QUERY_KEY = "plannerItems";
4
+ interface UsePlannerItemsOptions {
5
+ perPage?: number;
6
+ startDate?: string;
7
+ endDate?: string;
8
+ order?: 'asc' | 'desc';
9
+ filter?: 'new_activity' | 'ungraded_todo_items' | 'all_ungraded_todo_items' | 'incomplete_items' | 'complete_items';
10
+ }
11
+ interface UsePlannerItemsResult {
12
+ currentPage: PlannerItem[];
13
+ currentPageIndex: number;
14
+ totalPages: number;
15
+ goToPage: (page: number) => void;
16
+ resetPagination: () => void;
17
+ isLoading: boolean;
18
+ error: Error | null;
19
+ refetch: () => void;
20
+ }
21
+ export declare function usePlannerItems(options?: UsePlannerItemsOptions): UsePlannerItemsResult;
22
+ export {};
23
+ //# sourceMappingURL=usePlannerItems.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePlannerItems.d.ts","sourceRoot":"","sources":["../../../../../src/components/widgets/TodoListWidget/hooks/usePlannerItems.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,eAAO,MAAM,uBAAuB,iBAAiB,CAAA;AAErD,UAAU,sBAAsB;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IACtB,MAAM,CAAC,EACH,cAAc,GACd,qBAAqB,GACrB,yBAAyB,GACzB,kBAAkB,GAClB,gBAAgB,CAAA;CACrB;AAED,UAAU,qBAAqB;IAC7B,WAAW,EAAE,WAAW,EAAE,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,qBAAqB,CA+G3F"}
@@ -0,0 +1,63 @@
1
+ export type PlannableType = 'assignment' | 'quiz' | 'discussion_topic' | 'announcement' | 'wiki_page' | 'calendar_event' | 'planner_note' | 'assessment_request' | 'discussion_topic_checkpoint';
2
+ export interface PlannerOverride {
3
+ id: number;
4
+ plannable_type: string;
5
+ plannable_id: string;
6
+ user_id: number;
7
+ workflow_state: string;
8
+ marked_complete: boolean;
9
+ dismissed: boolean;
10
+ deleted_at: string | null;
11
+ created_at: string;
12
+ updated_at: string;
13
+ }
14
+ export interface SubmissionStatus {
15
+ submitted: boolean;
16
+ excused: boolean;
17
+ graded: boolean;
18
+ late: boolean;
19
+ missing: boolean;
20
+ needs_grading: boolean;
21
+ has_feedback: boolean;
22
+ }
23
+ export interface Plannable {
24
+ id: string;
25
+ title: string;
26
+ course_id?: string;
27
+ todo_date?: string;
28
+ due_at?: string;
29
+ points_possible?: number;
30
+ details?: string;
31
+ unread_count?: number;
32
+ read_state?: string;
33
+ created_at: string;
34
+ updated_at: string;
35
+ assignment_id?: string;
36
+ location_name?: string;
37
+ url?: string;
38
+ all_day?: boolean;
39
+ start_at?: string;
40
+ end_at?: string;
41
+ user_id?: number;
42
+ workflow_state?: string;
43
+ sub_assignment_tag?: string;
44
+ restrict_quantitative_data?: boolean;
45
+ }
46
+ export interface PlannerItem {
47
+ plannable_id: string;
48
+ plannable_type: PlannableType;
49
+ plannable: Plannable;
50
+ plannable_date: string;
51
+ submissions?: SubmissionStatus | false;
52
+ planner_override: PlannerOverride | null;
53
+ new_activity: boolean;
54
+ context_type?: string;
55
+ context_name?: string;
56
+ context_image?: string;
57
+ course_id?: string;
58
+ html_url?: string;
59
+ details?: {
60
+ reply_to_entry_required_count?: number;
61
+ };
62
+ }
63
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/TodoListWidget/types.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,aAAa,GACrB,YAAY,GACZ,MAAM,GACN,kBAAkB,GAClB,cAAc,GACd,WAAW,GACX,gBAAgB,GAChB,cAAc,GACd,oBAAoB,GACpB,6BAA6B,CAAA;AAEjC,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,OAAO,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,0BAA0B,CAAC,EAAE,OAAO,CAAA;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,aAAa,CAAA;IAC7B,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAA;IACtC,gBAAgB,EAAE,eAAe,GAAG,IAAI,CAAA;IACxC,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE;QACR,6BAA6B,CAAC,EAAE,MAAM,CAAA;KACvC,CAAA;CACF"}
@@ -0,0 +1,8 @@
1
+ import { PlannableType } from './types';
2
+
3
+ type TranslationFunction = (key: string, options?: Record<string, any>) => string;
4
+ export declare function formatDate(dateString: string | undefined, t: TranslationFunction): string;
5
+ export declare function getPlannableTypeLabel(type: PlannableType, t: TranslationFunction): string;
6
+ export declare function isOverdue(dateString: string | undefined): boolean;
7
+ export {};
8
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/TodoListWidget/utils.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,KAAK,mBAAmB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAA;AAEjF,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAqCzF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAuBzF;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAKjE"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Default page sizes for different widget types
3
+ */
4
+ export declare const DEFAULT_PAGE_SIZE: {
5
+ readonly COURSE_WORK: 4;
6
+ readonly COURSE_WORK_COMBINED: 6;
7
+ readonly PEOPLE: 5;
8
+ readonly PROGRESS_OVERVIEW: 5;
9
+ };
10
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/constants/pagination.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { UseQueryResult } from '@tanstack/react-query';
2
+
3
+ export interface CourseProgress {
4
+ courseId: string;
5
+ courseName: string;
6
+ courseCode: string;
7
+ submittedAndGradedCount: number;
8
+ submittedNotGradedCount: number;
9
+ missingSubmissionsCount: number;
10
+ submissionsDueCount: number;
11
+ }
12
+ export declare function useProgressOverview(): UseQueryResult<CourseProgress[], Error>;
13
+ export interface UseProgressOverviewPaginatedResult {
14
+ data: CourseProgress[] | undefined;
15
+ currentPageIndex: number;
16
+ totalPages: number;
17
+ totalCount: number | null;
18
+ goToPage: (pageNumber: number) => void;
19
+ resetPagination: () => void;
20
+ refetch: () => void;
21
+ isLoading: boolean;
22
+ error: Error | null;
23
+ pageSize: number;
24
+ }
25
+ export declare function useProgressOverviewPaginated(): UseProgressOverviewPaginatedResult;
26
+ //# sourceMappingURL=useProgressOverview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProgressOverview.d.ts","sourceRoot":"","sources":["../../src/hooks/useProgressOverview.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAU3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,uBAAuB,EAAE,MAAM,CAAA;IAC/B,uBAAuB,EAAE,MAAM,CAAA;IAC/B,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAmFD,wBAAgB,mBAAmB,IAAI,cAAc,CAAC,cAAc,EAAE,EAAE,KAAK,CAAC,CAe7E;AAqBD,MAAM,WAAW,kCAAkC;IACjD,IAAI,EAAE,cAAc,EAAE,GAAG,SAAS,CAAA;IAClC,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB;AA8ED,wBAAgB,4BAA4B,IAAI,kCAAkC,CAyEjF"}
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+
3
+ interface ResponsiveContextValue {
4
+ isMobile: boolean;
5
+ isTablet: boolean;
6
+ isDesktop: boolean;
7
+ matches: string[];
8
+ }
9
+ interface ResponsiveProviderProps {
10
+ matches: string[];
11
+ children: React.ReactNode;
12
+ }
13
+ export declare const ResponsiveProvider: React.FC<ResponsiveProviderProps>;
14
+ export declare const useResponsiveContext: () => ResponsiveContextValue;
15
+ export {};
16
+ //# sourceMappingURL=useResponsiveContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResponsiveContext.d.ts","sourceRoot":"","sources":["../../src/hooks/useResponsiveContext.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AASD,UAAU,uBAAuB;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAahE,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,sBAMvC,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { CourseGrade } from '../types';
2
+
3
+ interface UseSharedCoursesOptions {
4
+ limit?: number;
5
+ }
6
+ interface UseSharedCoursesResult {
7
+ data: CourseGrade[];
8
+ isLoading: boolean;
9
+ error: Error | null;
10
+ hasNextPage: boolean;
11
+ hasPreviousPage: boolean;
12
+ fetchNextPage: () => void;
13
+ fetchPreviousPage: () => void;
14
+ goToPage: (pageNumber: number) => void;
15
+ currentPage: number;
16
+ totalPages: number;
17
+ }
18
+ export declare function useSharedCourses(options?: UseSharedCoursesOptions): UseSharedCoursesResult;
19
+ export {};
20
+ //# sourceMappingURL=useSharedCourses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSharedCourses.d.ts","sourceRoot":"","sources":["../../src/hooks/useSharedCourses.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAG3C,UAAU,uBAAuB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,WAAW,EAAE,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,iBAAiB,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB;AAaD,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,sBAAsB,CA4D9F"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Generic hook for managing widget-specific configuration that persists to the backend.
3
+ * Currently stores config under widget_dashboard_config.filters[widgetId].
4
+ * This will be extended in the future to support widget positioning and other config types.
5
+ *
6
+ * @param widgetId - Unique identifier for the widget
7
+ * @param configKey - The key within the widget's config object (e.g., 'selectedCourse', 'selectedDateFilter')
8
+ * @param defaultValue - Default value if no persisted value exists or validation fails
9
+ * @param validator - Optional type guard function to validate persisted values (falls back to default if invalid)
10
+ * @returns Tuple of [currentValue, setValue] similar to useState
11
+ */
12
+ export declare function useWidgetConfig<T>(widgetId: string, configKey: string, defaultValue: T, validator?: (value: unknown) => value is T): [T, (value: T) => void];
13
+ //# sourceMappingURL=useWidgetConfig.d.ts.map