@instructure/platform-assignment-review 0.0.1

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.
@@ -0,0 +1,7 @@
1
+ import { DocumentNode } from 'graphql';
2
+ export declare const CREATE_SUBMISSION_COMMENT: DocumentNode;
3
+ export declare const MARK_SUBMISSION_COMMENTS_READ: DocumentNode;
4
+ export declare const CREATE_SUBMISSION: DocumentNode;
5
+ export declare const CREATE_SUBMISSION_DRAFT: DocumentNode;
6
+ export declare const DELETE_SUBMISSION_DRAFT: DocumentNode;
7
+ //# sourceMappingURL=mutations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../src/graphql/mutations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG3C,eAAO,MAAM,yBAAyB,EAAE,YA0FvC,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,YAiB3C,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,YA4B/B,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,YA0BrC,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,YAUrC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { DocumentNode } from 'graphql';
2
+ export declare const GET_ASSIGNMENT: DocumentNode;
3
+ export declare const GET_SUBMISSION_COMMENTS: DocumentNode;
4
+ export declare const GET_SUBMISSIONS: DocumentNode;
5
+ //# sourceMappingURL=queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/graphql/queries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG3C,eAAO,MAAM,cAAc,EAAE,YA2D5B,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,YAiDrC,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,YAkC7B,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { ZodType } from 'zod';
2
+ import { SubmissionCommentsData, SubmissionCommentsQueryResponse } from '../types/comment';
3
+ import { CreateSubmissionCommentResponse, CreateSubmissionDraftResponse, CreateSubmissionResponse, DeleteSubmissionDraftResponse, MarkSubmissionCommentsReadResponse, SubmissionsQueryResponse } from './types';
4
+ export declare const AssignmentResponseSchema: ZodType;
5
+ export declare const SubmissionCommentsQueryResponseSchema: ZodType<SubmissionCommentsQueryResponse>;
6
+ export declare const SubmissionCommentsDataSchema: ZodType<SubmissionCommentsData>;
7
+ export declare const SubmissionsQueryResponseSchema: ZodType<SubmissionsQueryResponse>;
8
+ export declare const CreateSubmissionCommentResponseSchema: ZodType<CreateSubmissionCommentResponse>;
9
+ export declare const MarkSubmissionCommentsReadResponseSchema: ZodType<MarkSubmissionCommentsReadResponse>;
10
+ export declare const CreateSubmissionResponseSchema: ZodType<CreateSubmissionResponse>;
11
+ export declare const CreateSubmissionDraftResponseSchema: ZodType<CreateSubmissionDraftResponse>;
12
+ export declare const DeleteSubmissionDraftResponseSchema: ZodType<DeleteSubmissionDraftResponse>;
13
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/graphql/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAElC,OAAO,KAAK,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAA;AAC/F,OAAO,KAAK,EACV,+BAA+B,EAC/B,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,kCAAkC,EAClC,wBAAwB,EACzB,MAAM,SAAS,CAAA;AAiDhB,eAAO,MAAM,wBAAwB,EAAE,OAKrC,CAAA;AAkCF,eAAO,MAAM,qCAAqC,EAAE,OAAO,CAAC,+BAA+B,CAQvF,CAAA;AAEJ,eAAO,MAAM,4BAA4B,EAAE,OAAO,CAAC,sBAAsB,CAGvE,CAAA;AAcF,eAAO,MAAM,8BAA8B,EAAE,OAAO,CAAC,wBAAwB,CAM3E,CAAA;AAOF,eAAO,MAAM,qCAAqC,EAAE,OAAO,CAAC,+BAA+B,CAoDvF,CAAA;AAEJ,eAAO,MAAM,wCAAwC,EAAE,OAAO,CAAC,kCAAkC,CAK7F,CAAA;AAEJ,eAAO,MAAM,8BAA8B,EAAE,OAAO,CAAC,wBAAwB,CAa3E,CAAA;AAEF,eAAO,MAAM,mCAAmC,EAAE,OAAO,CAAC,6BAA6B,CAWtF,CAAA;AAED,eAAO,MAAM,mCAAmC,EAAE,OAAO,CAAC,6BAA6B,CAOtF,CAAA"}
@@ -0,0 +1,169 @@
1
+ import { AssignmentQueryResponse } from '../types/assignment';
2
+ import { SubmissionCommentsQueryResponse } from '../types/comment';
3
+ export interface AssignmentQueryVariables {
4
+ courseId: string;
5
+ assignmentId: string;
6
+ userId: string;
7
+ }
8
+ export type { AssignmentQueryResponse };
9
+ export interface SubmissionCommentsQueryVariables {
10
+ submissionId: string;
11
+ courseId: string | null;
12
+ beforeCursor: string | null;
13
+ afterCursor: string | null;
14
+ first: number | null;
15
+ last: number | null;
16
+ }
17
+ export type { SubmissionCommentsQueryResponse };
18
+ export interface SubmissionsQueryVariables {
19
+ submissionId: string;
20
+ }
21
+ export interface SubmissionsQueryResponse {
22
+ node: {
23
+ submissionHistoriesConnection: {
24
+ nodes: Array<{
25
+ submittedAt: string;
26
+ body: string | null;
27
+ grade: string | null;
28
+ score: number | null;
29
+ submissionType: string;
30
+ state: string;
31
+ attempt: number;
32
+ attachment: {
33
+ _id: string;
34
+ displayName: string;
35
+ id: string;
36
+ mimeClass: string;
37
+ url: string;
38
+ contentType: string;
39
+ submissionPreviewUrl: string | null;
40
+ } | null;
41
+ attachments: Array<{
42
+ _id: string;
43
+ displayName: string;
44
+ id: string;
45
+ mimeClass: string;
46
+ url: string;
47
+ contentType: string;
48
+ submissionPreviewUrl: string | null;
49
+ }> | null;
50
+ }>;
51
+ };
52
+ };
53
+ }
54
+ export interface CreateSubmissionCommentVariables {
55
+ id: string;
56
+ submissionAttempt: number;
57
+ comment: string;
58
+ fileIds?: string[];
59
+ mediaObjectId?: string;
60
+ mediaObjectType?: string;
61
+ reviewerSubmissionId?: string;
62
+ }
63
+ export interface CreateSubmissionCommentResponse {
64
+ createSubmissionComment: {
65
+ submissionComment: {
66
+ _id: string;
67
+ attachments: Array<{
68
+ _id: string;
69
+ displayName: string;
70
+ id: string;
71
+ mimeClass: string;
72
+ url: string;
73
+ }> | null;
74
+ author: {
75
+ avatarUrl: string | null;
76
+ shortName: string;
77
+ };
78
+ htmlComment: string;
79
+ mediaObject: {
80
+ id: string;
81
+ _id: string;
82
+ mediaSources: Array<{
83
+ height: string;
84
+ src: string;
85
+ type: string;
86
+ width: string;
87
+ }>;
88
+ mediaTracks: Array<{
89
+ _id: string;
90
+ locale: string;
91
+ content: string;
92
+ kind: string;
93
+ }>;
94
+ mediaType: string;
95
+ title: string;
96
+ } | null;
97
+ read: boolean;
98
+ updatedAt: string;
99
+ } | null;
100
+ errors: Array<{
101
+ attribute: string;
102
+ message: string;
103
+ }> | null;
104
+ };
105
+ }
106
+ export interface MarkSubmissionCommentsReadVariables {
107
+ submissionId: string;
108
+ submissionCommentIds: string[];
109
+ }
110
+ export interface MarkSubmissionCommentsReadResponse {
111
+ markSubmissionCommentsRead: {
112
+ errors: Array<{
113
+ attribute: string;
114
+ message: string;
115
+ }> | null;
116
+ };
117
+ }
118
+ export interface CreateSubmissionVariables {
119
+ assignmentLid: string;
120
+ submissionType: string;
121
+ body?: string;
122
+ fileIds?: string[];
123
+ }
124
+ export interface CreateSubmissionResponse {
125
+ createSubmission: {
126
+ submission: {
127
+ _id: string;
128
+ createdAt: string;
129
+ attempt: number;
130
+ submittedAt: string | null;
131
+ score: number | null;
132
+ } | null;
133
+ errors: Array<{
134
+ attribute: string;
135
+ message: string;
136
+ }> | null;
137
+ };
138
+ }
139
+ export interface CreateSubmissionDraftVariables {
140
+ submissionId: string;
141
+ submissionType: string;
142
+ attempt: number;
143
+ body?: string;
144
+ fileIds?: string[];
145
+ }
146
+ export interface CreateSubmissionDraftResponse {
147
+ createSubmissionDraft: {
148
+ submissionDraft: {
149
+ _id: string;
150
+ } | null;
151
+ errors: Array<{
152
+ attribute: string;
153
+ message: string;
154
+ }> | null;
155
+ };
156
+ }
157
+ export interface DeleteSubmissionDraftVariables {
158
+ submissionId: string;
159
+ }
160
+ export interface DeleteSubmissionDraftResponse {
161
+ deleteSubmissionDraft: {
162
+ submissionDraftIds: string[] | null;
163
+ errors: Array<{
164
+ attribute: string;
165
+ message: string;
166
+ }> | null;
167
+ };
168
+ }
169
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/graphql/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { UseMutationResult } from '@tanstack/react-query';
2
+ import { CreateSubmissionCommentResponse } from '../graphql/types';
3
+ export interface UseCreateSubmissionCommentOptions {
4
+ executeQuery: <TResult>(query: unknown, variables: Record<string, unknown>) => Promise<TResult>;
5
+ }
6
+ export interface CreateSubmissionCommentInput {
7
+ submissionId: string;
8
+ attempt: number;
9
+ comment: string;
10
+ fileIds?: string[];
11
+ }
12
+ export declare function useCreateSubmissionComment({ executeQuery, }: UseCreateSubmissionCommentOptions): UseMutationResult<CreateSubmissionCommentResponse, Error, CreateSubmissionCommentInput>;
13
+ //# sourceMappingURL=useCreateSubmissionComment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCreateSubmissionComment.d.ts","sourceRoot":"","sources":["../../src/hooks/useCreateSubmissionComment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAI9D,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAA;AAEvE,MAAM,WAAW,iCAAiC;IAChD,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAChG;AAED,MAAM,WAAW,4BAA4B;IAC3C,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,wBAAgB,0BAA0B,CAAC,EACzC,YAAY,GACb,EAAE,iCAAiC,GAAG,iBAAiB,CACtD,+BAA+B,EAC/B,KAAK,EACL,4BAA4B,CAC7B,CAoBA"}
@@ -0,0 +1,11 @@
1
+ import { UseQueryResult } from '@tanstack/react-query';
2
+ import { Assignment } from '../types/assignment';
3
+ export interface UseGetAssignmentOptions {
4
+ courseId: string;
5
+ assignmentId: string;
6
+ userId: string;
7
+ executeQuery: <TResult>(query: unknown, variables: Record<string, unknown>) => Promise<TResult>;
8
+ enabled?: boolean;
9
+ }
10
+ export declare function useGetAssignment({ courseId, assignmentId, userId, executeQuery, enabled, }: UseGetAssignmentOptions): UseQueryResult<Assignment, Error>;
11
+ //# sourceMappingURL=useGetAssignment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGetAssignment.d.ts","sourceRoot":"","sources":["../../src/hooks/useGetAssignment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAK3D,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,qBAAqB,CAAA;AAE9E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/F,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,OAAc,GACf,EAAE,uBAAuB,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAiB7D"}
@@ -0,0 +1,12 @@
1
+ import { UseQueryResult } from '@tanstack/react-query';
2
+ import { CommentsPageInfo, PaginationDirection, SubmissionCommentsData } from '../types/comment';
3
+ export interface UseGetSubmissionCommentsOptions {
4
+ submissionId: string;
5
+ courseId: string;
6
+ pageParams?: CommentsPageInfo;
7
+ direction?: PaginationDirection;
8
+ executeQuery: <TResult>(query: unknown, variables: Record<string, unknown>) => Promise<TResult>;
9
+ enabled?: boolean;
10
+ }
11
+ export declare function useGetSubmissionComments({ submissionId, courseId, pageParams, direction, executeQuery, enabled, }: UseGetSubmissionCommentsOptions): UseQueryResult<SubmissionCommentsData, Error>;
12
+ //# sourceMappingURL=useGetSubmissionComments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGetSubmissionComments.d.ts","sourceRoot":"","sources":["../../src/hooks/useGetSubmissionComments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAI3D,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EAEvB,MAAM,kBAAkB,CAAA;AAEzB,MAAM,WAAW,+BAA+B;IAC9C,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B,SAAS,CAAC,EAAE,mBAAmB,CAAA;IAC/B,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/F,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,wBAAwB,CAAC,EACvC,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,SAAS,EACT,YAAY,EACZ,OAAO,GACR,EAAE,+BAA+B,GAAG,cAAc,CAAC,sBAAsB,EAAE,KAAK,CAAC,CA+BjF"}
@@ -0,0 +1,9 @@
1
+ import { UseQueryResult } from '@tanstack/react-query';
2
+ import { Submission } from '../types/assignment';
3
+ export interface UseGetSubmissionsOptions {
4
+ submissionId: string;
5
+ executeQuery: <TResult>(query: unknown, variables: Record<string, unknown>) => Promise<TResult>;
6
+ enabled?: boolean;
7
+ }
8
+ export declare function useGetSubmissions({ submissionId, executeQuery, enabled, }: UseGetSubmissionsOptions): UseQueryResult<Submission[], Error>;
9
+ //# sourceMappingURL=useGetSubmissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGetSubmissions.d.ts","sourceRoot":"","sources":["../../src/hooks/useGetSubmissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAK3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAErD,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/F,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,YAAY,EACZ,YAAY,EACZ,OAAc,GACf,EAAE,wBAAwB,GAAG,cAAc,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,CAehE"}
@@ -0,0 +1,12 @@
1
+ import { UseMutationResult } from '@tanstack/react-query';
2
+ import { MarkSubmissionCommentsReadResponse } from '../graphql/types';
3
+ export interface UseMarkSubmissionCommentsReadOptions {
4
+ executeQuery: <TResult>(query: unknown, variables: Record<string, unknown>) => Promise<TResult>;
5
+ }
6
+ export interface MarkSubmissionCommentsReadInput {
7
+ submissionId: string;
8
+ assignmentId: string;
9
+ submissionCommentIds: string[];
10
+ }
11
+ export declare function useMarkSubmissionCommentsRead({ executeQuery, }: UseMarkSubmissionCommentsReadOptions): UseMutationResult<MarkSubmissionCommentsReadResponse, Error, MarkSubmissionCommentsReadInput>;
12
+ //# sourceMappingURL=useMarkSubmissionCommentsRead.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMarkSubmissionCommentsRead.d.ts","sourceRoot":"","sources":["../../src/hooks/useMarkSubmissionCommentsRead.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAI9D,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,kBAAkB,CAAA;AAE1E,MAAM,WAAW,oCAAoC;IACnD,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAChG;AAED,MAAM,WAAW,+BAA+B;IAC9C,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,oBAAoB,EAAE,MAAM,EAAE,CAAA;CAC/B;AAED,wBAAgB,6BAA6B,CAAC,EAC5C,YAAY,GACb,EAAE,oCAAoC,GAAG,iBAAiB,CACzD,kCAAkC,EAClC,KAAK,EACL,+BAA+B,CAChC,CAmBA"}
@@ -0,0 +1,19 @@
1
+ export { CREATE_SUBMISSION, CREATE_SUBMISSION_COMMENT, CREATE_SUBMISSION_DRAFT, DELETE_SUBMISSION_DRAFT, MARK_SUBMISSION_COMMENTS_READ, } from './graphql/mutations';
2
+ export { GET_ASSIGNMENT, GET_SUBMISSION_COMMENTS, GET_SUBMISSIONS, } from './graphql/queries';
3
+ export { AssignmentResponseSchema, CreateSubmissionCommentResponseSchema, CreateSubmissionDraftResponseSchema, CreateSubmissionResponseSchema, DeleteSubmissionDraftResponseSchema, MarkSubmissionCommentsReadResponseSchema, SubmissionCommentsDataSchema, SubmissionCommentsQueryResponseSchema, SubmissionsQueryResponseSchema, } from './graphql/schemas';
4
+ export type { AssignmentQueryVariables, CreateSubmissionCommentResponse, CreateSubmissionCommentVariables, CreateSubmissionDraftResponse, CreateSubmissionDraftVariables, CreateSubmissionResponse, CreateSubmissionVariables, DeleteSubmissionDraftResponse, DeleteSubmissionDraftVariables, MarkSubmissionCommentsReadResponse, MarkSubmissionCommentsReadVariables, SubmissionCommentsQueryVariables, SubmissionsQueryResponse, SubmissionsQueryVariables, } from './graphql/types';
5
+ export type { CreateSubmissionCommentInput, UseCreateSubmissionCommentOptions, } from './hooks/useCreateSubmissionComment';
6
+ export { useCreateSubmissionComment } from './hooks/useCreateSubmissionComment';
7
+ export type { UseGetAssignmentOptions } from './hooks/useGetAssignment';
8
+ export { useGetAssignment } from './hooks/useGetAssignment';
9
+ export type { UseGetSubmissionCommentsOptions } from './hooks/useGetSubmissionComments';
10
+ export { useGetSubmissionComments } from './hooks/useGetSubmissionComments';
11
+ export type { UseGetSubmissionsOptions } from './hooks/useGetSubmissions';
12
+ export { useGetSubmissions } from './hooks/useGetSubmissions';
13
+ export type { MarkSubmissionCommentsReadInput, UseMarkSubmissionCommentsReadOptions, } from './hooks/useMarkSubmissionCommentsRead';
14
+ export { useMarkSubmissionCommentsRead } from './hooks/useMarkSubmissionCommentsRead';
15
+ export type { Assignment, AssignmentQueryResponse, Attachment, CreatedSubmission, DraftableSubmissionType, LatestSubmission, OnlineSubmissionType, Submission, SubmissionDraft, SubmissionType, } from './types/assignment';
16
+ export type { CommentAttachment, CommentAuthor, CommentsPageInfo, MediaObject, MediaSource, MediaTrack, PaginationDirection, SubmissionComment, SubmissionCommentsData, SubmissionCommentsQueryResponse, } from './types/comment';
17
+ export type { CompletionRequirement, ContentDetails, Module, ModuleItem, ModuleItemType, ModuleState, } from './types/module';
18
+ export type { AssignmentReviewProps, AttemptsHistoryProps, AttemptViewProps, CommentCardProps, DownloadButtonsProps, LearningContentHeaderProps, ModuleNavigationProps, MyProgressPanelProps, SubmissionCommentsProps, } from './types/props';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,6BAA6B,GAC9B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACL,wBAAwB,EACxB,qCAAqC,EACrC,mCAAmC,EACnC,8BAA8B,EAC9B,mCAAmC,EACnC,wCAAwC,EACxC,4BAA4B,EAC5B,qCAAqC,EACrC,8BAA8B,GAC/B,MAAM,mBAAmB,CAAA;AAE1B,YAAY,EACV,wBAAwB,EACxB,+BAA+B,EAC/B,gCAAgC,EAChC,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,yBAAyB,EACzB,6BAA6B,EAC7B,8BAA8B,EAC9B,kCAAkC,EAClC,mCAAmC,EACnC,gCAAgC,EAChC,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,4BAA4B,EAC5B,iCAAiC,GAClC,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AAC/E,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,YAAY,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAA;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAC3E,YAAY,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,YAAY,EACV,+BAA+B,EAC/B,oCAAoC,GACrC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAA;AACrF,YAAY,EACV,UAAU,EACV,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,eAAe,EACf,cAAc,GACf,MAAM,oBAAoB,CAAA;AAE3B,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,iBAAiB,CAAA;AAExB,YAAY,EACV,qBAAqB,EACrB,cAAc,EACd,MAAM,EACN,UAAU,EACV,cAAc,EACd,WAAW,GACZ,MAAM,gBAAgB,CAAA;AAEvB,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,eAAe,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,633 @@
1
+ import m from "graphql-tag";
2
+ import { z as e } from "zod";
3
+ import { useQueryClient as c, useMutation as g, useQuery as l } from "@tanstack/react-query";
4
+ const I = m`
5
+ mutation CreateSubmissionComment(
6
+ $id: ID!
7
+ $submissionAttempt: Int!
8
+ $comment: String!
9
+ $fileIds: [ID!]
10
+ $mediaObjectId: ID
11
+ $mediaObjectType: String
12
+ $reviewerSubmissionId: ID
13
+ ) {
14
+ createSubmissionComment(
15
+ input: {
16
+ submissionId: $id
17
+ attempt: $submissionAttempt
18
+ comment: $comment
19
+ fileIds: $fileIds
20
+ mediaObjectId: $mediaObjectId
21
+ mediaObjectType: $mediaObjectType
22
+ reviewerSubmissionId: $reviewerSubmissionId
23
+ }
24
+ ) {
25
+ submissionComment {
26
+ ...SubmissionHtmlComment
27
+ }
28
+ errors {
29
+ ...Error
30
+ }
31
+ }
32
+ }
33
+
34
+ fragment Error on ValidationError {
35
+ attribute
36
+ message
37
+ }
38
+
39
+ fragment SubmissionHtmlComment on SubmissionComment {
40
+ _id
41
+ attachments {
42
+ ...SubmissionCommentFile
43
+ }
44
+ author {
45
+ ...SubmissionCommentAuthor
46
+ }
47
+ htmlComment
48
+ mediaObject {
49
+ ...MediaObject
50
+ }
51
+ read
52
+ updatedAt
53
+ }
54
+
55
+ fragment MediaObject on MediaObject {
56
+ id
57
+ _id
58
+ mediaSources {
59
+ ...MediaSource
60
+ }
61
+ mediaTracks {
62
+ ...MediaTrack
63
+ }
64
+ mediaType
65
+ title
66
+ }
67
+
68
+ fragment MediaSource on MediaSource {
69
+ height
70
+ src: url
71
+ type: contentType
72
+ width
73
+ }
74
+
75
+ fragment MediaTrack on MediaTrack {
76
+ _id
77
+ locale
78
+ content
79
+ kind
80
+ }
81
+
82
+ fragment SubmissionCommentAuthor on User {
83
+ avatarUrl
84
+ shortName
85
+ }
86
+
87
+ fragment SubmissionCommentFile on File {
88
+ _id
89
+ displayName
90
+ id
91
+ mimeClass
92
+ url
93
+ }
94
+ `, f = m`
95
+ mutation MarkSubmissionCommentsRead(
96
+ $submissionId: ID!
97
+ $submissionCommentIds: [ID!]!
98
+ ) {
99
+ markSubmissionCommentsRead(
100
+ input: {
101
+ submissionCommentIds: $submissionCommentIds
102
+ submissionId: $submissionId
103
+ }
104
+ ) {
105
+ errors {
106
+ attribute
107
+ message
108
+ }
109
+ }
110
+ }
111
+ `, q = m`
112
+ mutation CreateSubmission(
113
+ $assignmentLid: ID!
114
+ $submissionType: OnlineSubmissionType!
115
+ $body: String
116
+ $fileIds: [ID!]
117
+ ) {
118
+ createSubmission(
119
+ input: {
120
+ assignmentLid: $assignmentLid
121
+ submissionType: $submissionType
122
+ body: $body
123
+ fileIds: $fileIds
124
+ }
125
+ ) {
126
+ submission {
127
+ _id
128
+ createdAt
129
+ attempt
130
+ submittedAt
131
+ score
132
+ }
133
+ errors {
134
+ attribute
135
+ message
136
+ }
137
+ }
138
+ }
139
+ `, k = m`
140
+ mutation CreateSubmissionDraft(
141
+ $submissionId: ID!
142
+ $submissionType: DraftableSubmissionType!
143
+ $attempt: Int!
144
+ $body: String
145
+ $fileIds: [ID!]
146
+ ) {
147
+ createSubmissionDraft(
148
+ input: {
149
+ submissionId: $submissionId
150
+ activeSubmissionType: $submissionType
151
+ attempt: $attempt
152
+ body: $body
153
+ fileIds: $fileIds
154
+ }
155
+ ) {
156
+ submissionDraft {
157
+ _id
158
+ }
159
+ errors {
160
+ attribute
161
+ message
162
+ }
163
+ }
164
+ }
165
+ `, G = m`
166
+ mutation DeleteSubmissionDraft($submissionId: ID!) {
167
+ deleteSubmissionDraft(input: { submissionId: $submissionId }) {
168
+ submissionDraftIds
169
+ errors {
170
+ attribute
171
+ message
172
+ }
173
+ }
174
+ }
175
+ `, $ = m`
176
+ query GetAssignment($courseId: ID!, $assignmentId: ID!, $userId: ID!) {
177
+ legacyNode(_id: $assignmentId, type: Assignment) {
178
+ ... on Assignment {
179
+ _id
180
+ name
181
+ description
182
+ allowedAttempts
183
+ allowedExtensions
184
+ dueAt(applyOverrides: true)
185
+ pointsPossible
186
+ submissionTypes
187
+ gradingType
188
+ published
189
+ submissionsConnection(
190
+ filter: { userId: $userId, includeUnsubmitted: true }
191
+ orderBy: { field: submitted_at, direction: descending }
192
+ first: 1
193
+ ) {
194
+ nodes {
195
+ id
196
+ submittedAt
197
+ body
198
+ grade
199
+ score
200
+ submissionType
201
+ attempt
202
+ unreadCommentCount
203
+ submissionDraft {
204
+ _id
205
+ activeSubmissionType
206
+ attachments {
207
+ ...SubmissionFile
208
+ }
209
+ body(rewriteUrls: false)
210
+ }
211
+ attachment {
212
+ ...SubmissionFile
213
+ }
214
+ attachments {
215
+ ...SubmissionFile
216
+ }
217
+ }
218
+ }
219
+ }
220
+ }
221
+ course(id: $courseId) {
222
+ name
223
+ }
224
+ }
225
+ fragment SubmissionFile on File {
226
+ _id
227
+ displayName
228
+ id
229
+ mimeClass
230
+ url
231
+ contentType
232
+ submissionPreviewUrl
233
+ }
234
+ `, T = m`
235
+ query GetSubmissionComments(
236
+ $submissionId: ID!
237
+ $courseId: String
238
+ $beforeCursor: String
239
+ $afterCursor: String
240
+ $first: Int
241
+ $last: Int
242
+ ) {
243
+ submissionComments: node(id: $submissionId) {
244
+ ... on Submission {
245
+ commentsConnection(
246
+ first: $first
247
+ last: $last
248
+ sortOrder: asc
249
+ before: $beforeCursor
250
+ after: $afterCursor
251
+ filter: { allComments: true }
252
+ ) {
253
+ pageInfo {
254
+ startCursor
255
+ endCursor
256
+ hasPreviousPage
257
+ hasNextPage
258
+ }
259
+ nodes {
260
+ _id
261
+ attempt
262
+ author {
263
+ avatarUrl
264
+ shortName
265
+ courseRoles(courseId: $courseId)
266
+ }
267
+ htmlComment
268
+ read
269
+ updatedAt
270
+ createdAt
271
+ attachments {
272
+ url
273
+ mimeClass
274
+ displayName
275
+ contentType
276
+ id
277
+ }
278
+ }
279
+ }
280
+ }
281
+ }
282
+ }
283
+ `, h = m`
284
+ query getSubmissions($submissionId: ID!) {
285
+ node(id: $submissionId) {
286
+ ... on Submission {
287
+ submissionHistoriesConnection {
288
+ nodes {
289
+ submittedAt
290
+ body
291
+ grade
292
+ score
293
+ submissionType
294
+ state
295
+ attempt
296
+ attachment {
297
+ ...SubmissionFile
298
+ }
299
+ attachments {
300
+ ...SubmissionFile
301
+ }
302
+ }
303
+ }
304
+ }
305
+ }
306
+ }
307
+
308
+ fragment SubmissionFile on File {
309
+ _id
310
+ displayName
311
+ id
312
+ mimeClass
313
+ url
314
+ contentType
315
+ submissionPreviewUrl
316
+ }
317
+ `, u = e.object({
318
+ _id: e.string(),
319
+ displayName: e.string(),
320
+ id: e.string(),
321
+ mimeClass: e.string(),
322
+ url: e.string(),
323
+ contentType: e.string(),
324
+ submissionPreviewUrl: e.string().nullable()
325
+ }), j = e.object({
326
+ _id: e.string(),
327
+ activeSubmissionType: e.string(),
328
+ body: e.string().nullable(),
329
+ attachments: e.array(u).nullable()
330
+ }), D = e.object({
331
+ id: e.string(),
332
+ submittedAt: e.string(),
333
+ body: e.string().nullable(),
334
+ grade: e.string().nullable(),
335
+ score: e.number().nullable(),
336
+ submissionType: e.string(),
337
+ attempt: e.number(),
338
+ unreadCommentCount: e.number(),
339
+ attachment: u.nullable(),
340
+ attachments: e.array(u).nullable(),
341
+ submissionDraft: j.nullable()
342
+ }), A = e.object({
343
+ _id: e.string(),
344
+ name: e.string(),
345
+ description: e.string().nullable(),
346
+ allowedExtensions: e.array(e.string()).nullable(),
347
+ allowedAttempts: e.number().nullable(),
348
+ dueAt: e.string().nullable(),
349
+ pointsPossible: e.number().nullable(),
350
+ submissionTypes: e.array(e.string()),
351
+ gradingType: e.string(),
352
+ published: e.boolean().nullable().optional(),
353
+ submissionsConnection: e.object({
354
+ nodes: e.array(D)
355
+ })
356
+ }), _ = e.object({
357
+ legacyNode: A,
358
+ course: e.object({
359
+ name: e.string()
360
+ })
361
+ }), S = e.object({
362
+ startCursor: e.string(),
363
+ endCursor: e.string(),
364
+ hasPreviousPage: e.boolean(),
365
+ hasNextPage: e.boolean()
366
+ }), y = e.object({
367
+ _id: e.string(),
368
+ attempt: e.number(),
369
+ author: e.object({
370
+ avatarUrl: e.string().nullable(),
371
+ shortName: e.string(),
372
+ courseRoles: e.string().nullable()
373
+ }),
374
+ htmlComment: e.string(),
375
+ read: e.boolean(),
376
+ updatedAt: e.string(),
377
+ createdAt: e.string(),
378
+ attachments: e.array(
379
+ e.object({
380
+ url: e.string(),
381
+ mimeClass: e.string(),
382
+ displayName: e.string(),
383
+ contentType: e.string(),
384
+ id: e.string()
385
+ })
386
+ ).nullable()
387
+ }), v = e.object({
388
+ submissionComments: e.object({
389
+ commentsConnection: e.object({
390
+ pageInfo: S,
391
+ nodes: e.array(y)
392
+ })
393
+ })
394
+ }), B = e.object({
395
+ comments: e.array(y),
396
+ pageInfo: S
397
+ }), N = e.object({
398
+ submittedAt: e.string(),
399
+ body: e.string().nullable(),
400
+ grade: e.string().nullable(),
401
+ score: e.number().nullable(),
402
+ submissionType: e.string(),
403
+ state: e.string(),
404
+ attempt: e.number(),
405
+ attachment: u.nullable(),
406
+ attachments: e.array(u).nullable()
407
+ }), M = e.object({
408
+ node: e.object({
409
+ submissionHistoriesConnection: e.object({
410
+ nodes: e.array(N)
411
+ })
412
+ })
413
+ }), b = e.object({
414
+ attribute: e.string(),
415
+ message: e.string()
416
+ }), w = e.object({
417
+ createSubmissionComment: e.object({
418
+ submissionComment: e.object({
419
+ _id: e.string(),
420
+ attachments: e.array(
421
+ e.object({
422
+ _id: e.string(),
423
+ displayName: e.string(),
424
+ id: e.string(),
425
+ mimeClass: e.string(),
426
+ url: e.string()
427
+ })
428
+ ).nullable(),
429
+ author: e.object({
430
+ avatarUrl: e.string().nullable(),
431
+ shortName: e.string()
432
+ }),
433
+ htmlComment: e.string(),
434
+ mediaObject: e.object({
435
+ id: e.string(),
436
+ _id: e.string(),
437
+ mediaSources: e.array(
438
+ e.object({
439
+ height: e.string(),
440
+ src: e.string(),
441
+ type: e.string(),
442
+ width: e.string()
443
+ })
444
+ ),
445
+ mediaTracks: e.array(
446
+ e.object({
447
+ _id: e.string(),
448
+ locale: e.string(),
449
+ content: e.string(),
450
+ kind: e.string()
451
+ })
452
+ ),
453
+ mediaType: e.string(),
454
+ title: e.string()
455
+ }).nullable(),
456
+ read: e.boolean(),
457
+ updatedAt: e.string()
458
+ }).nullable(),
459
+ errors: e.array(b).nullable()
460
+ })
461
+ }), O = e.object({
462
+ markSubmissionCommentsRead: e.object({
463
+ errors: e.array(b).nullable()
464
+ })
465
+ }), Z = e.object({
466
+ createSubmission: e.object({
467
+ submission: e.object({
468
+ _id: e.string(),
469
+ createdAt: e.string(),
470
+ attempt: e.number(),
471
+ submittedAt: e.string().nullable(),
472
+ score: e.number().nullable()
473
+ }).nullable(),
474
+ errors: e.array(b).nullable()
475
+ })
476
+ }), x = e.object(
477
+ {
478
+ createSubmissionDraft: e.object({
479
+ submissionDraft: e.object({
480
+ _id: e.string()
481
+ }).nullable(),
482
+ errors: e.array(b).nullable()
483
+ })
484
+ }
485
+ ), K = e.object(
486
+ {
487
+ deleteSubmissionDraft: e.object({
488
+ submissionDraftIds: e.array(e.string()).nullable(),
489
+ errors: e.array(b).nullable()
490
+ })
491
+ }
492
+ );
493
+ function H({
494
+ executeQuery: n
495
+ }) {
496
+ const i = c();
497
+ return g({
498
+ mutationFn: async ({ submissionId: s, attempt: t, comment: o, fileIds: a }) => {
499
+ const r = await n(I, {
500
+ id: s,
501
+ submissionAttempt: t,
502
+ comment: o,
503
+ fileIds: a
504
+ });
505
+ return w.parse(r), r;
506
+ },
507
+ onSuccess: (s, t) => {
508
+ i.invalidateQueries({
509
+ queryKey: ["assignment-review", "submission-comments", t.submissionId]
510
+ });
511
+ }
512
+ });
513
+ }
514
+ function Q({
515
+ courseId: n,
516
+ assignmentId: i,
517
+ userId: s,
518
+ executeQuery: t,
519
+ enabled: o = !0
520
+ }) {
521
+ return l({
522
+ queryKey: ["assignment-review", "assignment", n, i, s],
523
+ queryFn: async () => {
524
+ const a = await t($, {
525
+ courseId: n,
526
+ assignmentId: i,
527
+ userId: s
528
+ }), r = _.parse(a);
529
+ return {
530
+ ...r.legacyNode,
531
+ courseName: r.course.name
532
+ };
533
+ },
534
+ enabled: o
535
+ });
536
+ }
537
+ function L({
538
+ submissionId: n,
539
+ courseId: i,
540
+ pageParams: s,
541
+ direction: t,
542
+ executeQuery: o,
543
+ enabled: a
544
+ }) {
545
+ return l({
546
+ queryKey: [
547
+ "assignment-review",
548
+ "submission-comments",
549
+ n,
550
+ i,
551
+ s == null ? void 0 : s.startCursor,
552
+ s == null ? void 0 : s.endCursor,
553
+ t
554
+ ],
555
+ queryFn: async () => {
556
+ const r = await o(T, {
557
+ submissionId: n,
558
+ courseId: i,
559
+ beforeCursor: t === "prev" ? (s == null ? void 0 : s.startCursor) ?? null : null,
560
+ afterCursor: t === "next" ? (s == null ? void 0 : s.endCursor) ?? null : null,
561
+ first: t === "next" ? 5 : null,
562
+ last: t === "prev" || !t ? 5 : null
563
+ }), d = v.parse(r);
564
+ return {
565
+ comments: [...d.submissionComments.commentsConnection.nodes].sort(
566
+ (C, p) => new Date(C.createdAt).getTime() - new Date(p.createdAt).getTime()
567
+ ),
568
+ pageInfo: d.submissionComments.commentsConnection.pageInfo
569
+ };
570
+ },
571
+ enabled: a ?? !!n
572
+ });
573
+ }
574
+ function V({
575
+ submissionId: n,
576
+ executeQuery: i,
577
+ enabled: s = !0
578
+ }) {
579
+ return l({
580
+ queryKey: ["assignment-review", "submissions", n],
581
+ queryFn: async () => {
582
+ const t = await i(h, { submissionId: n });
583
+ return M.parse(t).node.submissionHistoriesConnection.nodes.slice().sort(
584
+ (a, r) => new Date(r.submittedAt).getTime() - new Date(a.submittedAt).getTime()
585
+ );
586
+ },
587
+ enabled: s
588
+ });
589
+ }
590
+ function z({
591
+ executeQuery: n
592
+ }) {
593
+ const i = c();
594
+ return g({
595
+ mutationFn: async ({ submissionId: s, submissionCommentIds: t }) => {
596
+ const o = await n(
597
+ f,
598
+ { submissionId: s, submissionCommentIds: t }
599
+ );
600
+ return O.parse(o), o;
601
+ },
602
+ onSuccess: (s, t) => {
603
+ i.invalidateQueries({
604
+ queryKey: ["assignment-review", "assignment"],
605
+ predicate: (o) => o.queryKey.includes(t.assignmentId)
606
+ });
607
+ }
608
+ });
609
+ }
610
+ export {
611
+ _ as AssignmentResponseSchema,
612
+ q as CREATE_SUBMISSION,
613
+ I as CREATE_SUBMISSION_COMMENT,
614
+ k as CREATE_SUBMISSION_DRAFT,
615
+ w as CreateSubmissionCommentResponseSchema,
616
+ x as CreateSubmissionDraftResponseSchema,
617
+ Z as CreateSubmissionResponseSchema,
618
+ G as DELETE_SUBMISSION_DRAFT,
619
+ K as DeleteSubmissionDraftResponseSchema,
620
+ $ as GET_ASSIGNMENT,
621
+ h as GET_SUBMISSIONS,
622
+ T as GET_SUBMISSION_COMMENTS,
623
+ f as MARK_SUBMISSION_COMMENTS_READ,
624
+ O as MarkSubmissionCommentsReadResponseSchema,
625
+ B as SubmissionCommentsDataSchema,
626
+ v as SubmissionCommentsQueryResponseSchema,
627
+ M as SubmissionsQueryResponseSchema,
628
+ H as useCreateSubmissionComment,
629
+ Q as useGetAssignment,
630
+ L as useGetSubmissionComments,
631
+ V as useGetSubmissions,
632
+ z as useMarkSubmissionCommentsRead
633
+ };
@@ -0,0 +1,64 @@
1
+ export type SubmissionType = 'attendance' | 'basic_lti_launch' | 'discussion_topic' | 'external_tool' | 'media_recording' | 'none' | 'not_graded' | 'on_paper' | 'online_quiz' | 'online_text_entry' | 'online_upload' | 'online_url' | 'student_annotation' | 'wiki_page';
2
+ export type OnlineSubmissionType = 'online_text_entry' | 'online_upload' | 'online_url' | 'media_recording' | 'student_annotation';
3
+ export type DraftableSubmissionType = 'online_text_entry' | 'online_upload' | 'online_url' | 'student_annotation';
4
+ export interface Attachment {
5
+ _id: string;
6
+ displayName: string;
7
+ id: string;
8
+ mimeClass: string;
9
+ url: string;
10
+ contentType: string;
11
+ submissionPreviewUrl: string | null;
12
+ }
13
+ export interface SubmissionDraft {
14
+ _id: string;
15
+ activeSubmissionType: string;
16
+ body: string | null;
17
+ attachments: Attachment[] | null;
18
+ }
19
+ export interface Submission {
20
+ submittedAt: string;
21
+ body: string | null;
22
+ grade: string | null;
23
+ score: number | null;
24
+ submissionType: string;
25
+ state?: string;
26
+ attempt: number;
27
+ unreadCommentCount: number;
28
+ attachment: Attachment | null;
29
+ attachments: Attachment[] | null;
30
+ }
31
+ export interface LatestSubmission extends Submission {
32
+ id: string;
33
+ submissionDraft: SubmissionDraft | null;
34
+ }
35
+ export interface Assignment {
36
+ _id: string;
37
+ name: string;
38
+ description: string | null;
39
+ allowedExtensions: string[] | null;
40
+ allowedAttempts: number | null;
41
+ dueAt: string | null;
42
+ pointsPossible: number | null;
43
+ submissionTypes: SubmissionType[];
44
+ gradingType: string;
45
+ courseName: string;
46
+ published: boolean | null;
47
+ submissionsConnection: {
48
+ nodes: LatestSubmission[];
49
+ };
50
+ }
51
+ export interface AssignmentQueryResponse {
52
+ legacyNode: Omit<Assignment, 'courseName'>;
53
+ course: {
54
+ name: string;
55
+ };
56
+ }
57
+ export interface CreatedSubmission {
58
+ _id: string;
59
+ createdAt: string;
60
+ attempt: number;
61
+ submittedAt: string | null;
62
+ score: number | null;
63
+ }
64
+ //# sourceMappingURL=assignment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assignment.d.ts","sourceRoot":"","sources":["../../src/types/assignment.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,YAAY,GACZ,kBAAkB,GAClB,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,MAAM,GACN,YAAY,GACZ,UAAU,GACV,aAAa,GACb,mBAAmB,GACnB,eAAe,GACf,YAAY,GACZ,oBAAoB,GACpB,WAAW,CAAA;AAEf,MAAM,MAAM,oBAAoB,GAC5B,mBAAmB,GACnB,eAAe,GACf,YAAY,GACZ,iBAAiB,GACjB,oBAAoB,CAAA;AAExB,MAAM,MAAM,uBAAuB,GAC/B,mBAAmB,GACnB,eAAe,GACf,YAAY,GACZ,oBAAoB,CAAA;AAExB,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,oBAAoB,EAAE,MAAM,CAAA;IAC5B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,EAAE,MAAM,CAAA;IAC1B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;IAC7B,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;CACjC;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,EAAE,EAAE,MAAM,CAAA;IACV,eAAe,EAAE,eAAe,GAAG,IAAI,CAAA;CACxC;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,iBAAiB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAClC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,eAAe,EAAE,cAAc,EAAE,CAAA;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,OAAO,GAAG,IAAI,CAAA;IACzB,qBAAqB,EAAE;QACrB,KAAK,EAAE,gBAAgB,EAAE,CAAA;KAC1B,CAAA;CACF;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IAC1C,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB"}
@@ -0,0 +1,64 @@
1
+ export interface CommentAuthor {
2
+ avatarUrl: string | null;
3
+ shortName: string;
4
+ courseRoles: string | null;
5
+ }
6
+ export interface CommentAttachment {
7
+ _id?: string;
8
+ url: string;
9
+ mimeClass: string;
10
+ displayName: string;
11
+ contentType: string;
12
+ id: string;
13
+ }
14
+ export interface MediaSource {
15
+ height: string;
16
+ width: string;
17
+ src: string;
18
+ type: string;
19
+ }
20
+ export interface MediaTrack {
21
+ _id: string;
22
+ locale: string;
23
+ content: string;
24
+ kind: string;
25
+ }
26
+ export interface MediaObject {
27
+ id: string;
28
+ _id: string;
29
+ mediaSources: MediaSource[];
30
+ mediaTracks: MediaTrack[];
31
+ mediaType: 'audio' | 'video';
32
+ title: string;
33
+ }
34
+ export interface SubmissionComment {
35
+ _id: string;
36
+ attempt: number;
37
+ author: CommentAuthor;
38
+ htmlComment: string;
39
+ read: boolean;
40
+ updatedAt: string;
41
+ createdAt: string;
42
+ attachments: CommentAttachment[] | null;
43
+ mediaObject?: MediaObject | null;
44
+ }
45
+ export interface CommentsPageInfo {
46
+ startCursor: string;
47
+ endCursor: string;
48
+ hasPreviousPage: boolean;
49
+ hasNextPage: boolean;
50
+ }
51
+ export interface SubmissionCommentsQueryResponse {
52
+ submissionComments: {
53
+ commentsConnection: {
54
+ pageInfo: CommentsPageInfo;
55
+ nodes: SubmissionComment[];
56
+ };
57
+ };
58
+ }
59
+ export interface SubmissionCommentsData {
60
+ comments: SubmissionComment[];
61
+ pageInfo: CommentsPageInfo;
62
+ }
63
+ export type PaginationDirection = 'next' | 'prev';
64
+ //# sourceMappingURL=comment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment.d.ts","sourceRoot":"","sources":["../../src/types/comment.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,SAAS,EAAE,OAAO,GAAG,OAAO,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,aAAa,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAA;IACvC,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,+BAA+B;IAC9C,kBAAkB,EAAE;QAClB,kBAAkB,EAAE;YAClB,QAAQ,EAAE,gBAAgB,CAAA;YAC1B,KAAK,EAAE,iBAAiB,EAAE,CAAA;SAC3B,CAAA;KACF,CAAA;CACF;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,iBAAiB,EAAE,CAAA;IAC7B,QAAQ,EAAE,gBAAgB,CAAA;CAC3B;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,CAAA"}
@@ -0,0 +1,46 @@
1
+ export type ModuleItemType = 'File' | 'Page' | 'Discussion' | 'Assignment' | 'Quiz' | 'SubHeader' | 'ExternalUrl' | 'ExternalTool';
2
+ export interface CompletionRequirement {
3
+ type: 'must_view' | 'must_submit' | 'must_mark_done' | 'min_score' | 'must_contribute';
4
+ completed: boolean;
5
+ min_score?: number;
6
+ }
7
+ export interface ContentDetails {
8
+ points_possible?: number;
9
+ due_at?: string;
10
+ unlock_at?: string;
11
+ lock_at?: string;
12
+ locked_for_user?: boolean;
13
+ lock_explanation?: string;
14
+ }
15
+ export interface ModuleItem {
16
+ id: string;
17
+ module_id: string;
18
+ position: number;
19
+ title: string;
20
+ indent: number;
21
+ type: ModuleItemType;
22
+ html_url?: string;
23
+ url?: string;
24
+ page_url?: string;
25
+ external_url?: string;
26
+ new_tab?: boolean;
27
+ completion_requirement?: CompletionRequirement;
28
+ content_details?: ContentDetails;
29
+ estimated_duration: string | null;
30
+ content_id?: string;
31
+ quiz_lti: boolean;
32
+ published?: boolean | null;
33
+ }
34
+ export type ModuleState = 'locked' | 'unlocked' | 'started' | 'completed';
35
+ export interface Module {
36
+ id: string;
37
+ name: string | null;
38
+ state: ModuleState | null;
39
+ position: number;
40
+ items?: ModuleItem[];
41
+ items_count: number;
42
+ published: boolean;
43
+ require_sequential_progress: boolean;
44
+ estimated_duration: string | null;
45
+ }
46
+ //# sourceMappingURL=module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/types/module.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,MAAM,GACN,WAAW,GACX,aAAa,GACb,cAAc,CAAA;AAElB,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,gBAAgB,GAAG,WAAW,GAAG,iBAAiB,CAAA;IACtF,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,sBAAsB,CAAC,EAAE,qBAAqB,CAAA;IAC9C,eAAe,CAAC,EAAE,cAAc,CAAA;IAChC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;CAC3B;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAA;AAEzE,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,2BAA2B,EAAE,OAAO,CAAA;IACpC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC"}
@@ -0,0 +1,87 @@
1
+ import { ReactNode } from 'react';
2
+ import { Attachment, Submission } from './assignment';
3
+ import { SubmissionComment } from './comment';
4
+ import { Module, ModuleItem } from './module';
5
+ export interface CommentCardProps {
6
+ comment: SubmissionComment;
7
+ isFullWidth: boolean;
8
+ renderHTML?: (html: string) => ReactNode;
9
+ }
10
+ export interface SubmissionCommentsProps {
11
+ submissionId: string;
12
+ courseId: string;
13
+ attempt: number;
14
+ canPostComment: boolean;
15
+ onCommentPosted?: () => void;
16
+ }
17
+ export interface AttemptViewProps {
18
+ submission: Submission;
19
+ attemptNumber?: number;
20
+ showLabel?: boolean;
21
+ renderHTML?: (html: string) => ReactNode;
22
+ }
23
+ export interface AttemptsHistoryProps {
24
+ submissions: Submission[];
25
+ selectedAttempt: number;
26
+ onAttemptSelect: (attempt: number) => void;
27
+ }
28
+ export interface DownloadButtonsProps {
29
+ attachments: Attachment[];
30
+ size?: 'small' | 'medium';
31
+ }
32
+ export interface LearningContentHeaderProps {
33
+ score?: number | string | null;
34
+ pointsPossible?: number | null;
35
+ gradingType?: string;
36
+ dueAt?: string | null;
37
+ allowedAttempts?: number | null;
38
+ currentAttempt?: number;
39
+ isOverdue?: boolean;
40
+ estimatedDuration?: number | null;
41
+ labels?: {
42
+ score?: string;
43
+ pointsPossible?: string;
44
+ dueDate?: string;
45
+ overdue?: string;
46
+ attempts?: string;
47
+ duration?: string;
48
+ };
49
+ }
50
+ export interface AssignmentReviewProps {
51
+ courseId: string;
52
+ assignmentId: string;
53
+ userId: string;
54
+ feedbackMode?: boolean;
55
+ onNavigateToAssignment?: (assignmentId: string) => void;
56
+ onError?: (error: Error) => void;
57
+ renderHTML?: (html: string) => ReactNode;
58
+ }
59
+ export interface ModuleNavigationProps {
60
+ prevItem?: {
61
+ id: string;
62
+ title: string;
63
+ type: string;
64
+ } | null;
65
+ nextItem?: {
66
+ id: string;
67
+ title: string;
68
+ type: string;
69
+ } | null;
70
+ onNavigatePrev?: () => void;
71
+ onNavigateNext?: () => void;
72
+ labels?: {
73
+ previous?: string;
74
+ next?: string;
75
+ };
76
+ }
77
+ export interface MyProgressPanelProps {
78
+ module: Module;
79
+ currentItemId?: string;
80
+ onItemClick: (item: ModuleItem) => void;
81
+ onClose: () => void;
82
+ onNavigateModule?: (direction: 'prev' | 'next') => void;
83
+ hasPrevModule?: boolean;
84
+ hasNextModule?: boolean;
85
+ title?: string;
86
+ }
87
+ //# sourceMappingURL=props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/types/props.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "@instructure/platform-assignment-review",
3
+ "version": "0.0.1",
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
+ "./styles": "./dist/style.css"
14
+ },
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "peerDependencies": {
19
+ "@tanstack/react-query": "^5.0.0",
20
+ "react": "^18.0.0",
21
+ "react-dom": "^18.0.0"
22
+ },
23
+ "dependencies": {
24
+ "graphql": "^16.0.0",
25
+ "graphql-tag": "^2.12.0",
26
+ "i18next": "^25.0.0",
27
+ "react-i18next": "^16.0.0",
28
+ "zod": "^3.23.8"
29
+ },
30
+ "devDependencies": {
31
+ "@testing-library/jest-dom": "^6.9.1",
32
+ "@testing-library/react": "^16.0.0",
33
+ "@testing-library/user-event": "^14.0.0",
34
+ "@types/react": "^18.3.0",
35
+ "@types/react-dom": "^18.3.0",
36
+ "@vitejs/plugin-react": "^4.0.0",
37
+ "jsdom": "^25.0.0",
38
+ "msw": "^2.7.0",
39
+ "typescript": "^5.3.0",
40
+ "vite": "^6.0.0",
41
+ "vite-plugin-dts": "^4.0.0",
42
+ "vitest": "^4.0.0"
43
+ },
44
+ "scripts": {
45
+ "build": "vite build",
46
+ "dev": "vite build --watch",
47
+ "test": "vitest",
48
+ "test:coverage": "vitest run --coverage",
49
+ "type-check": "tsc --noEmit"
50
+ }
51
+ }