@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.
- package/README.md +365 -0
- package/dist/components/CoursesTab.canvas.d.ts +5 -0
- package/dist/components/CoursesTab.canvas.d.ts.map +1 -0
- package/dist/components/CoursesTabWrapper.d.ts +5 -0
- package/dist/components/CoursesTabWrapper.d.ts.map +1 -0
- package/dist/components/DashboardNotifications.d.ts +5 -0
- package/dist/components/DashboardNotifications.d.ts.map +1 -0
- package/dist/components/DashboardTab.d.ts +5 -0
- package/dist/components/DashboardTab.d.ts.map +1 -0
- package/dist/components/DashboardTabs.d.ts +5 -0
- package/dist/components/DashboardTabs.d.ts.map +1 -0
- package/dist/components/EnrollmentInvitation.d.ts +22 -0
- package/dist/components/EnrollmentInvitation.d.ts.map +1 -0
- package/dist/components/FeedbackQuestionTile.d.ts +5 -0
- package/dist/components/FeedbackQuestionTile.d.ts.map +1 -0
- package/dist/components/NotificationAlert.d.ts +19 -0
- package/dist/components/NotificationAlert.d.ts.map +1 -0
- package/dist/components/WidgetDashboardContainer.d.ts +5 -0
- package/dist/components/WidgetDashboardContainer.d.ts.map +1 -0
- package/dist/components/WidgetGrid.d.ts +10 -0
- package/dist/components/WidgetGrid.d.ts.map +1 -0
- package/dist/components/WidgetRenderer.d.ts +8 -0
- package/dist/components/WidgetRenderer.d.ts.map +1 -0
- package/dist/components/shared/CourseCode.d.ts +18 -0
- package/dist/components/shared/CourseCode.d.ts.map +1 -0
- package/dist/components/shared/CourseFilterSelect.d.ts +14 -0
- package/dist/components/shared/CourseFilterSelect.d.ts.map +1 -0
- package/dist/components/shared/CourseName.d.ts +9 -0
- package/dist/components/shared/CourseName.d.ts.map +1 -0
- package/dist/components/shared/CourseWorkFilters.d.ts +23 -0
- package/dist/components/shared/CourseWorkFilters.d.ts.map +1 -0
- package/dist/components/shared/StatisticsCard.d.ts +10 -0
- package/dist/components/shared/StatisticsCard.d.ts.map +1 -0
- package/dist/components/shared/StatisticsCardsGrid.d.ts +14 -0
- package/dist/components/shared/StatisticsCardsGrid.d.ts.map +1 -0
- package/dist/components/shared/WidgetContextMenu.d.ts +12 -0
- package/dist/components/shared/WidgetContextMenu.d.ts.map +1 -0
- package/dist/components/widgets/AnnouncementsWidget/AnnouncementItem.d.ts +11 -0
- package/dist/components/widgets/AnnouncementsWidget/AnnouncementItem.d.ts.map +1 -0
- package/dist/components/widgets/AnnouncementsWidget/AnnouncementsWidget.d.ts +6 -0
- package/dist/components/widgets/AnnouncementsWidget/AnnouncementsWidget.d.ts.map +1 -0
- package/dist/components/widgets/AnnouncementsWidget/utils.d.ts +2 -0
- package/dist/components/widgets/AnnouncementsWidget/utils.d.ts.map +1 -0
- package/dist/components/widgets/CourseGradesWidget/CourseGradeCard.d.ts +6 -0
- package/dist/components/widgets/CourseGradesWidget/CourseGradeCard.d.ts.map +1 -0
- package/dist/components/widgets/CourseGradesWidget/CourseGradesWidget.d.ts +6 -0
- package/dist/components/widgets/CourseGradesWidget/CourseGradesWidget.d.ts.map +1 -0
- package/dist/components/widgets/CourseWorkSummaryWidget/CourseWorkSummaryWidget.d.ts +6 -0
- package/dist/components/widgets/CourseWorkSummaryWidget/CourseWorkSummaryWidget.d.ts.map +1 -0
- package/dist/components/widgets/CourseWorkSummaryWidget/index.d.ts +2 -0
- package/dist/components/widgets/CourseWorkSummaryWidget/index.d.ts.map +1 -0
- package/dist/components/widgets/CourseWorkWidget/CourseWorkWidget.d.ts +6 -0
- package/dist/components/widgets/CourseWorkWidget/CourseWorkWidget.d.ts.map +1 -0
- package/dist/components/widgets/CourseWorkWidget/utils.d.ts +15 -0
- package/dist/components/widgets/CourseWorkWidget/utils.d.ts.map +1 -0
- package/dist/components/widgets/InboxWidget/InboxWidget.d.ts +6 -0
- package/dist/components/widgets/InboxWidget/InboxWidget.d.ts.map +1 -0
- package/dist/components/widgets/InboxWidget/MessageItem.d.ts +9 -0
- package/dist/components/widgets/InboxWidget/MessageItem.d.ts.map +1 -0
- package/dist/components/widgets/PeopleWidget/PeopleWidget.d.ts +6 -0
- package/dist/components/widgets/PeopleWidget/PeopleWidget.d.ts.map +1 -0
- package/dist/components/widgets/PeopleWidget/index.d.ts +2 -0
- package/dist/components/widgets/PeopleWidget/index.d.ts.map +1 -0
- package/dist/components/widgets/ProgressOverviewWidget/CourseProgressBar.d.ts +19 -0
- package/dist/components/widgets/ProgressOverviewWidget/CourseProgressBar.d.ts.map +1 -0
- package/dist/components/widgets/ProgressOverviewWidget/CourseProgressItem.d.ts +9 -0
- package/dist/components/widgets/ProgressOverviewWidget/CourseProgressItem.d.ts.map +1 -0
- package/dist/components/widgets/ProgressOverviewWidget/ProgressOverviewWidget.d.ts +6 -0
- package/dist/components/widgets/ProgressOverviewWidget/ProgressOverviewWidget.d.ts.map +1 -0
- package/dist/components/widgets/ProgressOverviewWidget/index.d.ts +2 -0
- package/dist/components/widgets/ProgressOverviewWidget/index.d.ts.map +1 -0
- package/dist/components/widgets/RecentGradesWidget/GradeItem.d.ts +6 -0
- package/dist/components/widgets/RecentGradesWidget/GradeItem.d.ts.map +1 -0
- package/dist/components/widgets/RecentGradesWidget/RecentGradesWidget.d.ts +6 -0
- package/dist/components/widgets/RecentGradesWidget/RecentGradesWidget.d.ts.map +1 -0
- package/dist/components/widgets/TemplateWidget/TemplateWidget.d.ts +25 -0
- package/dist/components/widgets/TemplateWidget/TemplateWidget.d.ts.map +1 -0
- package/dist/components/widgets/TemplateWidget/index.d.ts +3 -0
- package/dist/components/widgets/TemplateWidget/index.d.ts.map +1 -0
- package/dist/components/widgets/TodoListWidget/CreateTodoModal.d.ts +26 -0
- package/dist/components/widgets/TodoListWidget/CreateTodoModal.d.ts.map +1 -0
- package/dist/components/widgets/TodoListWidget/TodoItem.d.ts +9 -0
- package/dist/components/widgets/TodoListWidget/TodoItem.d.ts.map +1 -0
- package/dist/components/widgets/TodoListWidget/TodoListWidget.d.ts +6 -0
- package/dist/components/widgets/TodoListWidget/TodoListWidget.d.ts.map +1 -0
- package/dist/components/widgets/TodoListWidget/api.d.ts +43 -0
- package/dist/components/widgets/TodoListWidget/api.d.ts.map +1 -0
- package/dist/components/widgets/TodoListWidget/hooks/usePlannerItems.d.ts +23 -0
- package/dist/components/widgets/TodoListWidget/hooks/usePlannerItems.d.ts.map +1 -0
- package/dist/components/widgets/TodoListWidget/types.d.ts +63 -0
- package/dist/components/widgets/TodoListWidget/types.d.ts.map +1 -0
- package/dist/components/widgets/TodoListWidget/utils.d.ts +8 -0
- package/dist/components/widgets/TodoListWidget/utils.d.ts.map +1 -0
- package/dist/constants/pagination.d.ts +10 -0
- package/dist/constants/pagination.d.ts.map +1 -0
- package/dist/hooks/useProgressOverview.d.ts +26 -0
- package/dist/hooks/useProgressOverview.d.ts.map +1 -0
- package/dist/hooks/useResponsiveContext.d.ts +16 -0
- package/dist/hooks/useResponsiveContext.d.ts.map +1 -0
- package/dist/hooks/useSharedCourses.d.ts +20 -0
- package/dist/hooks/useSharedCourses.d.ts.map +1 -0
- package/dist/hooks/useWidgetConfig.d.ts +13 -0
- package/dist/hooks/useWidgetConfig.d.ts.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13387 -0
- package/dist/types/env.d.ts +54 -0
- package/dist/types/env.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/widget.d.ts +141 -0
- package/dist/types/widget.d.ts.map +1 -0
- package/dist/utils/graphql.d.ts +20 -0
- package/dist/utils/graphql.d.ts.map +1 -0
- package/dist/widgetRegistry.d.ts +4 -0
- package/dist/widgetRegistry.d.ts.map +1 -0
- package/package.json +86 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export interface ObservedUser {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
avatar_url?: string | null;
|
|
5
|
+
}
|
|
6
|
+
export interface CurrentUser {
|
|
7
|
+
id: string;
|
|
8
|
+
display_name: string;
|
|
9
|
+
avatar_image_url: string;
|
|
10
|
+
}
|
|
11
|
+
export interface DashboardPreferences {
|
|
12
|
+
dashboard_view: string;
|
|
13
|
+
hide_dashcard_color_overlays: boolean;
|
|
14
|
+
custom_colors: Record<string, string>;
|
|
15
|
+
learner_dashboard_tab_selection?: 'dashboard' | 'courses';
|
|
16
|
+
widget_dashboard_config?: {
|
|
17
|
+
filters?: Record<string, Record<string, unknown>>;
|
|
18
|
+
layout?: {
|
|
19
|
+
columns: number;
|
|
20
|
+
widgets: Array<{
|
|
21
|
+
id: string;
|
|
22
|
+
type: string;
|
|
23
|
+
position: {
|
|
24
|
+
col: number;
|
|
25
|
+
row: number;
|
|
26
|
+
relative: number;
|
|
27
|
+
};
|
|
28
|
+
title: string;
|
|
29
|
+
}>;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export interface SharedCourseData {
|
|
34
|
+
courseId: string;
|
|
35
|
+
courseCode: string;
|
|
36
|
+
courseName: string;
|
|
37
|
+
currentGrade: number | null;
|
|
38
|
+
gradingScheme: 'percentage' | Array<[string, number]>;
|
|
39
|
+
lastUpdated: string;
|
|
40
|
+
}
|
|
41
|
+
export interface DashboardFeatures {
|
|
42
|
+
widget_dashboard_customization?: boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface WidgetDashboardEnv {
|
|
45
|
+
preferences: DashboardPreferences;
|
|
46
|
+
observedUsersList: ObservedUser[];
|
|
47
|
+
canAddObservee: boolean;
|
|
48
|
+
currentUser: CurrentUser;
|
|
49
|
+
observedUserId?: string | null;
|
|
50
|
+
currentUserRoles: string[];
|
|
51
|
+
sharedCourseData: SharedCourseData[];
|
|
52
|
+
dashboardFeatures: DashboardFeatures;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/types/env.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAA;IACtB,4BAA4B,EAAE,OAAO,CAAA;IACrC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,+BAA+B,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACzD,uBAAuB,CAAC,EAAE;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;QACjD,MAAM,CAAC,EAAE;YACP,OAAO,EAAE,MAAM,CAAA;YACf,OAAO,EAAE,KAAK,CAAC;gBACb,EAAE,EAAE,MAAM,CAAA;gBACV,IAAI,EAAE,MAAM,CAAA;gBACZ,QAAQ,EAAE;oBAAE,GAAG,EAAE,MAAM,CAAC;oBAAC,GAAG,EAAE,MAAM,CAAC;oBAAC,QAAQ,EAAE,MAAM,CAAA;iBAAE,CAAA;gBACxD,KAAK,EAAE,MAAM,CAAA;aACd,CAAC,CAAA;SACH,CAAA;KACF,CAAA;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,aAAa,EAAE,YAAY,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACrD,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,8BAA8B,CAAC,EAAE,OAAO,CAAA;CACzC;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,oBAAoB,CAAA;IACjC,iBAAiB,EAAE,YAAY,EAAE,CAAA;IACjC,cAAc,EAAE,OAAO,CAAA;IACvB,WAAW,EAAE,WAAW,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,gBAAgB,EAAE,gBAAgB,EAAE,CAAA;IACpC,iBAAiB,EAAE,iBAAiB,CAAA;CACrC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type { CurrentUser, DashboardFeatures, DashboardPreferences, ObservedUser, SharedCourseData, WidgetDashboardEnv, } from './env';
|
|
2
|
+
export type { Announcement, BaseWidgetProps, ConversationParticipant, CourseGrade, CourseGradeCardProps, CourseOption, CourseWorkSummary, DashboardTab, DateRangeOption, GradeItemProps, GradingStandardData, InboxMessage, RecentGradeSubmission, TabId, Widget, WidgetConfig, WidgetPosition, WidgetRegistry, WidgetRenderer, WidgetSize, } from './widget';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAmBA,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,OAAO,CAAA;AAEd,YAAY,EACV,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,qBAAqB,EACrB,KAAK,EACL,MAAM,EACN,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,UAAU,CAAA"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
|
|
3
|
+
export type TabId = 'dashboard' | 'courses';
|
|
4
|
+
export interface DashboardTab {
|
|
5
|
+
id: TabId;
|
|
6
|
+
label: string;
|
|
7
|
+
}
|
|
8
|
+
export interface WidgetPosition {
|
|
9
|
+
col: number;
|
|
10
|
+
row: number;
|
|
11
|
+
relative: number;
|
|
12
|
+
}
|
|
13
|
+
export interface WidgetSize {
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
}
|
|
17
|
+
export interface Widget {
|
|
18
|
+
id: string;
|
|
19
|
+
type: string;
|
|
20
|
+
position: WidgetPosition;
|
|
21
|
+
title: string;
|
|
22
|
+
}
|
|
23
|
+
export interface WidgetConfig {
|
|
24
|
+
columns: number;
|
|
25
|
+
widgets: Widget[];
|
|
26
|
+
}
|
|
27
|
+
export interface CourseWorkSummary {
|
|
28
|
+
due: number;
|
|
29
|
+
missing: number;
|
|
30
|
+
submitted: number;
|
|
31
|
+
}
|
|
32
|
+
export interface CourseOption {
|
|
33
|
+
id: string;
|
|
34
|
+
name: string;
|
|
35
|
+
}
|
|
36
|
+
export interface DateRangeOption {
|
|
37
|
+
id: string;
|
|
38
|
+
label: string;
|
|
39
|
+
startDate: Date;
|
|
40
|
+
endDate: Date;
|
|
41
|
+
}
|
|
42
|
+
export interface BaseWidgetProps {
|
|
43
|
+
widget: Widget;
|
|
44
|
+
isLoading?: boolean;
|
|
45
|
+
error?: string | null;
|
|
46
|
+
onRetry?: () => void;
|
|
47
|
+
isEditMode?: boolean;
|
|
48
|
+
dragHandleProps?: any;
|
|
49
|
+
}
|
|
50
|
+
export interface WidgetRenderer {
|
|
51
|
+
component: React.ComponentType<BaseWidgetProps>;
|
|
52
|
+
displayName: string;
|
|
53
|
+
description: string;
|
|
54
|
+
}
|
|
55
|
+
export type WidgetRegistry = Record<string, WidgetRenderer>;
|
|
56
|
+
export type GradingStandardData = Array<[string, number]>;
|
|
57
|
+
export interface CourseGrade {
|
|
58
|
+
courseId: string;
|
|
59
|
+
courseCode: string;
|
|
60
|
+
courseName: string;
|
|
61
|
+
currentGrade: number | null;
|
|
62
|
+
gradingScheme: 'percentage' | GradingStandardData;
|
|
63
|
+
lastUpdated?: Date | null;
|
|
64
|
+
}
|
|
65
|
+
export interface CourseGradeCardProps {
|
|
66
|
+
courseId: string;
|
|
67
|
+
courseCode: string;
|
|
68
|
+
courseName: string;
|
|
69
|
+
currentGrade: number | null;
|
|
70
|
+
gradingScheme: 'percentage' | GradingStandardData;
|
|
71
|
+
lastUpdated?: Date | null;
|
|
72
|
+
onShowGradebook: () => void;
|
|
73
|
+
gridIndex?: number;
|
|
74
|
+
globalGradeVisibility?: boolean;
|
|
75
|
+
onGradeVisibilityChange?: (visible: boolean) => void;
|
|
76
|
+
}
|
|
77
|
+
export interface Announcement {
|
|
78
|
+
id: string;
|
|
79
|
+
title: string;
|
|
80
|
+
message: string;
|
|
81
|
+
posted_at: string;
|
|
82
|
+
html_url: string;
|
|
83
|
+
context_code: string;
|
|
84
|
+
course?: {
|
|
85
|
+
id: string;
|
|
86
|
+
name: string;
|
|
87
|
+
courseCode?: string;
|
|
88
|
+
};
|
|
89
|
+
author?: {
|
|
90
|
+
_id: string;
|
|
91
|
+
name: string;
|
|
92
|
+
avatarUrl: string;
|
|
93
|
+
} | null;
|
|
94
|
+
isRead?: boolean;
|
|
95
|
+
}
|
|
96
|
+
export interface RecentGradeSubmission {
|
|
97
|
+
_id: string;
|
|
98
|
+
submittedAt: string | null;
|
|
99
|
+
gradedAt: string | null;
|
|
100
|
+
score: number | null;
|
|
101
|
+
grade: string | null;
|
|
102
|
+
state: string;
|
|
103
|
+
assignment: {
|
|
104
|
+
_id: string;
|
|
105
|
+
name: string;
|
|
106
|
+
htmlUrl: string;
|
|
107
|
+
pointsPossible: number | null;
|
|
108
|
+
submissionTypes: string[];
|
|
109
|
+
quiz: {
|
|
110
|
+
_id: string;
|
|
111
|
+
title: string;
|
|
112
|
+
} | null;
|
|
113
|
+
discussion: {
|
|
114
|
+
_id: string;
|
|
115
|
+
title: string;
|
|
116
|
+
} | null;
|
|
117
|
+
course: {
|
|
118
|
+
_id: string;
|
|
119
|
+
name: string;
|
|
120
|
+
courseCode?: string;
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
export interface GradeItemProps {
|
|
125
|
+
submission: RecentGradeSubmission;
|
|
126
|
+
}
|
|
127
|
+
export interface ConversationParticipant {
|
|
128
|
+
id: string;
|
|
129
|
+
name: string;
|
|
130
|
+
avatarUrl?: string;
|
|
131
|
+
}
|
|
132
|
+
export interface InboxMessage {
|
|
133
|
+
id: string;
|
|
134
|
+
subject: string;
|
|
135
|
+
lastMessageAt: string;
|
|
136
|
+
messagePreview: string;
|
|
137
|
+
workflowState: 'read' | 'unread' | 'archived';
|
|
138
|
+
conversationUrl: string;
|
|
139
|
+
participants: ConversationParticipant[];
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=widget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../src/types/widget.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface BaseGraphQLResponse<T = unknown> {
|
|
2
|
+
legacyNode?: {
|
|
3
|
+
_id: string;
|
|
4
|
+
enrollments: T[];
|
|
5
|
+
} | null;
|
|
6
|
+
errors?: {
|
|
7
|
+
message: string;
|
|
8
|
+
}[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Creates query config with user-specific cache key.
|
|
12
|
+
* Pass currentUserId from usePlatformUi() context.
|
|
13
|
+
*/
|
|
14
|
+
export declare const createUserQueryConfig: (queryKey: (string | number | undefined)[], staleTimeMinutes?: number, currentUserId?: string) => {
|
|
15
|
+
staleTime: number;
|
|
16
|
+
refetchOnWindowFocus: boolean;
|
|
17
|
+
enabled: boolean;
|
|
18
|
+
queryKey: (string | number | undefined)[];
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=graphql.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../src/utils/graphql.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,mBAAmB,CAAC,CAAC,GAAG,OAAO;IAC9C,UAAU,CAAC,EAAE;QACX,GAAG,EAAE,MAAM,CAAA;QACX,WAAW,EAAE,CAAC,EAAE,CAAA;KACjB,GAAG,IAAI,CAAA;IACR,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC/B;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,UAAU,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,EACzC,mBAAkB,MAAU,EAC5B,gBAAgB,MAAM,KACrB;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAA;CAQ1C,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widgetRegistry.d.ts","sourceRoot":"","sources":["../src/widgetRegistry.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,eAAO,MAAM,cAAc,EAAE,cAmD5B,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@instructure/platform-widget-dashboard",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"module": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./locales/en.json": "./locales/en.json",
|
|
14
|
+
"./locales/es.json": "./locales/es.json"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist",
|
|
18
|
+
"locales"
|
|
19
|
+
],
|
|
20
|
+
"peerDependencies": {
|
|
21
|
+
"@instructure/ui-a11y-content": "^10.0.0",
|
|
22
|
+
"@instructure/ui-alerts": "^10.0.0",
|
|
23
|
+
"@instructure/ui-avatar": "^10.0.0",
|
|
24
|
+
"@instructure/ui-buttons": "^10.0.0",
|
|
25
|
+
"@instructure/ui-checkbox": "^10.0.0",
|
|
26
|
+
"@instructure/ui-date-time-input": "^10.0.0",
|
|
27
|
+
"@instructure/ui-flex": "^10.0.0",
|
|
28
|
+
"@instructure/ui-grid": "^10.0.0",
|
|
29
|
+
"@instructure/ui-heading": "^10.0.0",
|
|
30
|
+
"@instructure/ui-icons": "^10.0.0",
|
|
31
|
+
"@instructure/ui-link": "^10.0.0",
|
|
32
|
+
"@instructure/ui-list": "^10.0.0",
|
|
33
|
+
"@instructure/ui-menu": "^10.0.0",
|
|
34
|
+
"@instructure/ui-modal": "^10.0.0",
|
|
35
|
+
"@instructure/ui-pagination": "^10.0.0",
|
|
36
|
+
"@instructure/ui-pill": "^10.0.0",
|
|
37
|
+
"@instructure/ui-responsive": "^10.0.0",
|
|
38
|
+
"@instructure/ui-simple-select": "^10.0.0",
|
|
39
|
+
"@instructure/ui-spinner": "^10.0.0",
|
|
40
|
+
"@instructure/ui-tabs": "^10.0.0",
|
|
41
|
+
"@instructure/ui-text": "^10.0.0",
|
|
42
|
+
"@instructure/ui-text-area": "^10.0.0",
|
|
43
|
+
"@instructure/ui-text-input": "^10.0.0",
|
|
44
|
+
"@instructure/ui-tooltip": "^10.0.0",
|
|
45
|
+
"@instructure/ui-truncate-text": "^10.0.0",
|
|
46
|
+
"@instructure/ui-view": "^10.0.0",
|
|
47
|
+
"@tanstack/react-query": "^5.0.0",
|
|
48
|
+
"graphql": "^16.0.0",
|
|
49
|
+
"graphql-tag": "^2.12.0",
|
|
50
|
+
"moment-timezone": "^0.5.0",
|
|
51
|
+
"react": "^18.0.0",
|
|
52
|
+
"react-dom": "^18.0.0",
|
|
53
|
+
"@instructure/platform-provider": "0.1.1"
|
|
54
|
+
},
|
|
55
|
+
"dependencies": {
|
|
56
|
+
"@tanstack/query-persist-client-core": "^5.0.0",
|
|
57
|
+
"sanitize-html": "^2.0.0",
|
|
58
|
+
"uuid": "^10.0.0",
|
|
59
|
+
"@instructure/platform-graphql-types": "0.1.0"
|
|
60
|
+
},
|
|
61
|
+
"devDependencies": {
|
|
62
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
63
|
+
"@testing-library/react": "^16.3.0",
|
|
64
|
+
"@testing-library/user-event": "^14.5.0",
|
|
65
|
+
"@types/react": "^18.3.0",
|
|
66
|
+
"@types/react-dom": "^18.3.0",
|
|
67
|
+
"@vitejs/plugin-react": "^4.2.0",
|
|
68
|
+
"@vitest/coverage-v8": "^4.0.17",
|
|
69
|
+
"graphql": "^16.9.0",
|
|
70
|
+
"jsdom": "^25.0.0",
|
|
71
|
+
"msw": "^2.0.0",
|
|
72
|
+
"typescript": "^5.3.0",
|
|
73
|
+
"vite": "^5.0.0",
|
|
74
|
+
"vite-plugin-dts": "^3.7.0",
|
|
75
|
+
"vitest": "^4.0.10"
|
|
76
|
+
},
|
|
77
|
+
"owner": "LX",
|
|
78
|
+
"scripts": {
|
|
79
|
+
"build": "vite build",
|
|
80
|
+
"dev": "vite build --watch",
|
|
81
|
+
"test": "vitest run",
|
|
82
|
+
"test:watch": "vitest",
|
|
83
|
+
"type-check": "tsc --noEmit",
|
|
84
|
+
"pack:tarball": "pnpm build && pnpm pack"
|
|
85
|
+
}
|
|
86
|
+
}
|