@instructure/platform-assignment-review 0.2.0 → 0.4.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.
- package/dist/TranslationsProvider.d.ts +9 -0
- package/dist/TranslationsProvider.d.ts.map +1 -0
- package/dist/components/AttemptsHistory.d.ts.map +1 -1
- package/dist/components/MyProgressPanel.d.ts.map +1 -1
- package/dist/i18n.d.ts +83 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +456 -455
- package/package.json +32 -19
package/dist/index.js
CHANGED
|
@@ -1,35 +1,47 @@
|
|
|
1
|
-
import { jsx as i, jsxs as
|
|
1
|
+
import { jsx as i, jsxs as _ } from "react/jsx-runtime";
|
|
2
|
+
import { createContext as In, useContext as Cn, useMemo as je, useState as ge, useRef as Dn, useEffect as ct, useCallback as Rn } from "react";
|
|
2
3
|
import { Flex as h } from "@instructure/ui-flex";
|
|
3
4
|
import { Heading as dt } from "@instructure/ui-heading";
|
|
4
5
|
import { Spinner as He } from "@instructure/ui-spinner";
|
|
5
6
|
import { Text as y } from "@instructure/ui-text";
|
|
6
7
|
import { View as Y } from "@instructure/ui-view";
|
|
7
|
-
import {
|
|
8
|
-
import { useTranslation as B } from "react-i18next";
|
|
9
|
-
import { useQuery as $e, useQueryClient as Vt, useMutation as Kt } from "@tanstack/react-query";
|
|
8
|
+
import { useQuery as $e, useQueryClient as Xt, useMutation as Kt } from "@tanstack/react-query";
|
|
10
9
|
import ne from "graphql-tag";
|
|
11
10
|
import { z as n } from "zod";
|
|
12
|
-
import { Pill as
|
|
13
|
-
import { IconDownloadLine as
|
|
14
|
-
import { ScreenReaderContent as
|
|
15
|
-
import { Link as
|
|
11
|
+
import { Pill as ft } from "@instructure/ui-pill";
|
|
12
|
+
import { IconDownloadLine as Ln, IconCheckMarkSolid as wn, IconArrowStartLine as vn, IconArrowEndLine as Nn, IconTrashLine as On, IconArrowOpenStartLine as Zt, IconArrowOpenEndLine as Qt, IconXLine as Mn, IconLockLine as Jt, IconDocumentLine as jt, IconLinkLine as xn, IconDiscussionLine as kn, IconQuizLine as Pn, IconAssignmentLine as Un } from "@instructure/ui-icons";
|
|
13
|
+
import { ScreenReaderContent as pt } from "@instructure/ui-a11y-content";
|
|
14
|
+
import { Link as Fn } from "@instructure/ui-link";
|
|
16
15
|
import { TruncateText as en } from "@instructure/ui-truncate-text";
|
|
17
|
-
import { Button as z, IconButton as
|
|
16
|
+
import { Button as z, IconButton as zn } from "@instructure/ui-buttons";
|
|
18
17
|
import { TextArea as tn } from "@instructure/ui-text-area";
|
|
19
18
|
import { Badge as nn } from "@instructure/ui-badge";
|
|
20
|
-
import { Tooltip as
|
|
19
|
+
import { Tooltip as jn } from "@instructure/ui-tooltip";
|
|
20
|
+
const rn = In(void 0);
|
|
21
|
+
function ar({
|
|
22
|
+
translations: t,
|
|
23
|
+
children: r
|
|
24
|
+
}) {
|
|
25
|
+
return /* @__PURE__ */ i(rn.Provider, { value: t, children: r });
|
|
26
|
+
}
|
|
27
|
+
function B() {
|
|
28
|
+
const t = Cn(rn);
|
|
29
|
+
if (!t)
|
|
30
|
+
throw new Error("useTranslations must be used within TranslationsProvider");
|
|
31
|
+
return t;
|
|
32
|
+
}
|
|
21
33
|
/*! @license DOMPurify 3.3.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.3/LICENSE */
|
|
22
34
|
const {
|
|
23
|
-
entries:
|
|
35
|
+
entries: on,
|
|
24
36
|
setPrototypeOf: Ht,
|
|
25
|
-
isFrozen:
|
|
26
|
-
getPrototypeOf:
|
|
27
|
-
getOwnPropertyDescriptor:
|
|
37
|
+
isFrozen: Hn,
|
|
38
|
+
getPrototypeOf: $n,
|
|
39
|
+
getOwnPropertyDescriptor: Gn
|
|
28
40
|
} = Object;
|
|
29
41
|
let {
|
|
30
42
|
freeze: j,
|
|
31
43
|
seal: W,
|
|
32
|
-
create:
|
|
44
|
+
create: Fe
|
|
33
45
|
} = Object, {
|
|
34
46
|
apply: mt,
|
|
35
47
|
construct: ut
|
|
@@ -50,7 +62,7 @@ ut || (ut = function(r) {
|
|
|
50
62
|
s[l - 1] = arguments[l];
|
|
51
63
|
return new r(...s);
|
|
52
64
|
});
|
|
53
|
-
const Pe = H(Array.prototype.forEach),
|
|
65
|
+
const Pe = H(Array.prototype.forEach), Bn = H(Array.prototype.lastIndexOf), $t = H(Array.prototype.pop), Se = H(Array.prototype.push), Wn = H(Array.prototype.splice), ze = H(String.prototype.toLowerCase), it = H(String.prototype.toString), rt = H(String.prototype.match), ye = H(String.prototype.replace), qn = H(String.prototype.indexOf), Yn = H(String.prototype.trim), G = H(Object.prototype.hasOwnProperty), F = H(RegExp.prototype.test), Ee = Vn(TypeError);
|
|
54
66
|
function H(t) {
|
|
55
67
|
return function(r) {
|
|
56
68
|
r instanceof RegExp && (r.lastIndex = 0);
|
|
@@ -59,14 +71,14 @@ function H(t) {
|
|
|
59
71
|
return mt(t, r, s);
|
|
60
72
|
};
|
|
61
73
|
}
|
|
62
|
-
function
|
|
74
|
+
function Vn(t) {
|
|
63
75
|
return function() {
|
|
64
76
|
for (var r = arguments.length, o = new Array(r), s = 0; s < r; s++)
|
|
65
77
|
o[s] = arguments[s];
|
|
66
78
|
return ut(t, o);
|
|
67
79
|
};
|
|
68
80
|
}
|
|
69
|
-
function
|
|
81
|
+
function A(t, r) {
|
|
70
82
|
let o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : ze;
|
|
71
83
|
Ht && Ht(t, null);
|
|
72
84
|
let s = r.length;
|
|
@@ -74,58 +86,58 @@ function _(t, r) {
|
|
|
74
86
|
let l = r[s];
|
|
75
87
|
if (typeof l == "string") {
|
|
76
88
|
const c = o(l);
|
|
77
|
-
c !== l && (
|
|
89
|
+
c !== l && (Hn(r) || (r[s] = c), l = c);
|
|
78
90
|
}
|
|
79
91
|
t[l] = !0;
|
|
80
92
|
}
|
|
81
93
|
return t;
|
|
82
94
|
}
|
|
83
|
-
function
|
|
95
|
+
function Xn(t) {
|
|
84
96
|
for (let r = 0; r < t.length; r++)
|
|
85
97
|
G(t, r) || (t[r] = null);
|
|
86
98
|
return t;
|
|
87
99
|
}
|
|
88
100
|
function Z(t) {
|
|
89
|
-
const r =
|
|
90
|
-
for (const [o, s] of
|
|
91
|
-
G(t, o) && (Array.isArray(s) ? r[o] =
|
|
101
|
+
const r = Fe(null);
|
|
102
|
+
for (const [o, s] of on(t))
|
|
103
|
+
G(t, o) && (Array.isArray(s) ? r[o] = Xn(s) : s && typeof s == "object" && s.constructor === Object ? r[o] = Z(s) : r[o] = s);
|
|
92
104
|
return r;
|
|
93
105
|
}
|
|
94
106
|
function Ie(t, r) {
|
|
95
107
|
for (; t !== null; ) {
|
|
96
|
-
const s =
|
|
108
|
+
const s = Gn(t, r);
|
|
97
109
|
if (s) {
|
|
98
110
|
if (s.get)
|
|
99
111
|
return H(s.get);
|
|
100
112
|
if (typeof s.value == "function")
|
|
101
113
|
return H(s.value);
|
|
102
114
|
}
|
|
103
|
-
t =
|
|
115
|
+
t = $n(t);
|
|
104
116
|
}
|
|
105
117
|
function o() {
|
|
106
118
|
return null;
|
|
107
119
|
}
|
|
108
120
|
return o;
|
|
109
121
|
}
|
|
110
|
-
const Gt = j(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "search", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]), ot = j(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "enterkeyhint", "exportparts", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "inputmode", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "part", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]), st = j(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]),
|
|
122
|
+
const Gt = j(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "search", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]), ot = j(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "enterkeyhint", "exportparts", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "inputmode", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "part", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]), st = j(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]), Kn = j(["animate", "color-profile", "cursor", "discard", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignobject", "hatch", "hatchpath", "mesh", "meshgradient", "meshpatch", "meshrow", "missing-glyph", "script", "set", "solidcolor", "unknown", "use"]), at = j(["math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover", "mprescripts"]), Zn = j(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]), Bt = j(["#text"]), Wt = j(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "exportparts", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inert", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "part", "pattern", "placeholder", "playsinline", "popover", "popovertarget", "popovertargetaction", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "slot", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "wrap", "xmlns", "slot"]), lt = j(["accent-height", "accumulate", "additive", "alignment-baseline", "amplitude", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "exponent", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "intercept", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "mask-type", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "slope", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "tablevalues", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]), qt = j(["accent", "accentunder", "align", "bevelled", "close", "columnsalign", "columnlines", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lspace", "lquote", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns"]), Ue = j(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), Qn = W(/\{\{[\w\W]*|[\w\W]*\}\}/gm), Jn = W(/<%[\w\W]*|[\w\W]*%>/gm), ei = W(/\$\{[\w\W]*/gm), ti = W(/^data-[\-\w.\u00B7-\uFFFF]+$/), ni = W(/^aria-[\-\w]+$/), sn = W(
|
|
111
123
|
/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
|
|
112
124
|
// eslint-disable-line no-useless-escape
|
|
113
|
-
),
|
|
125
|
+
), ii = W(/^(?:\w+script|data):/i), ri = W(
|
|
114
126
|
/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g
|
|
115
127
|
// eslint-disable-line no-control-regex
|
|
116
|
-
),
|
|
128
|
+
), an = W(/^html$/i), oi = W(/^[a-z][.\w]*(-[.\w]+)+$/i);
|
|
117
129
|
var Yt = /* @__PURE__ */ Object.freeze({
|
|
118
130
|
__proto__: null,
|
|
119
|
-
ARIA_ATTR:
|
|
120
|
-
ATTR_WHITESPACE:
|
|
121
|
-
CUSTOM_ELEMENT:
|
|
122
|
-
DATA_ATTR:
|
|
123
|
-
DOCTYPE_NAME:
|
|
124
|
-
ERB_EXPR:
|
|
125
|
-
IS_ALLOWED_URI:
|
|
126
|
-
IS_SCRIPT_OR_DATA:
|
|
127
|
-
MUSTACHE_EXPR:
|
|
128
|
-
TMPLIT_EXPR:
|
|
131
|
+
ARIA_ATTR: ni,
|
|
132
|
+
ATTR_WHITESPACE: ri,
|
|
133
|
+
CUSTOM_ELEMENT: oi,
|
|
134
|
+
DATA_ATTR: ti,
|
|
135
|
+
DOCTYPE_NAME: an,
|
|
136
|
+
ERB_EXPR: Jn,
|
|
137
|
+
IS_ALLOWED_URI: sn,
|
|
138
|
+
IS_SCRIPT_OR_DATA: ii,
|
|
139
|
+
MUSTACHE_EXPR: Qn,
|
|
140
|
+
TMPLIT_EXPR: ei
|
|
129
141
|
});
|
|
130
142
|
const Ce = {
|
|
131
143
|
element: 1,
|
|
@@ -134,9 +146,9 @@ const Ce = {
|
|
|
134
146
|
progressingInstruction: 7,
|
|
135
147
|
comment: 8,
|
|
136
148
|
document: 9
|
|
137
|
-
},
|
|
149
|
+
}, si = function() {
|
|
138
150
|
return typeof window > "u" ? null : window;
|
|
139
|
-
},
|
|
151
|
+
}, ai = function(r, o) {
|
|
140
152
|
if (typeof r != "object" || typeof r.createPolicy != "function")
|
|
141
153
|
return null;
|
|
142
154
|
let s = null;
|
|
@@ -145,17 +157,17 @@ const Ce = {
|
|
|
145
157
|
const c = "dompurify" + (s ? "#" + s : "");
|
|
146
158
|
try {
|
|
147
159
|
return r.createPolicy(c, {
|
|
148
|
-
createHTML(
|
|
149
|
-
return
|
|
160
|
+
createHTML(f) {
|
|
161
|
+
return f;
|
|
150
162
|
},
|
|
151
|
-
createScriptURL(
|
|
152
|
-
return
|
|
163
|
+
createScriptURL(f) {
|
|
164
|
+
return f;
|
|
153
165
|
}
|
|
154
166
|
});
|
|
155
167
|
} catch {
|
|
156
168
|
return console.warn("TrustedTypes policy " + c + " could not be created."), null;
|
|
157
169
|
}
|
|
158
|
-
},
|
|
170
|
+
}, Vt = function() {
|
|
159
171
|
return {
|
|
160
172
|
afterSanitizeAttributes: [],
|
|
161
173
|
afterSanitizeElements: [],
|
|
@@ -168,9 +180,9 @@ const Ce = {
|
|
|
168
180
|
uponSanitizeShadowNode: []
|
|
169
181
|
};
|
|
170
182
|
};
|
|
171
|
-
function
|
|
172
|
-
let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] :
|
|
173
|
-
const r = (d) =>
|
|
183
|
+
function ln() {
|
|
184
|
+
let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : si();
|
|
185
|
+
const r = (d) => ln(d);
|
|
174
186
|
if (r.version = "3.3.3", r.removed = [], !t || !t.document || t.document.nodeType !== Ce.document || !t.Element)
|
|
175
187
|
return r.isSupported = !1, r;
|
|
176
188
|
let {
|
|
@@ -178,20 +190,20 @@ function an() {
|
|
|
178
190
|
} = t;
|
|
179
191
|
const s = o, l = s.currentScript, {
|
|
180
192
|
DocumentFragment: c,
|
|
181
|
-
HTMLTemplateElement:
|
|
193
|
+
HTMLTemplateElement: f,
|
|
182
194
|
Node: b,
|
|
183
195
|
Element: m,
|
|
184
|
-
NodeFilter:
|
|
196
|
+
NodeFilter: p,
|
|
185
197
|
NamedNodeMap: g = t.NamedNodeMap || t.MozNamedAttrMap,
|
|
186
198
|
HTMLFormElement: D,
|
|
187
199
|
DOMParser: I,
|
|
188
200
|
trustedTypes: E
|
|
189
|
-
} = t, T = m.prototype, ie = Ie(T, "cloneNode"), ae = Ie(T, "remove"), re = Ie(T, "nextSibling"),
|
|
190
|
-
if (typeof
|
|
201
|
+
} = t, T = m.prototype, ie = Ie(T, "cloneNode"), ae = Ie(T, "remove"), re = Ie(T, "nextSibling"), v = Ie(T, "childNodes"), q = Ie(T, "parentNode");
|
|
202
|
+
if (typeof f == "function") {
|
|
191
203
|
const d = o.createElement("template");
|
|
192
204
|
d.content && d.content.ownerDocument && (o = d.content.ownerDocument);
|
|
193
205
|
}
|
|
194
|
-
let S,
|
|
206
|
+
let S, V = "";
|
|
195
207
|
const {
|
|
196
208
|
implementation: k,
|
|
197
209
|
createNodeIterator: P,
|
|
@@ -200,25 +212,25 @@ function an() {
|
|
|
200
212
|
} = o, {
|
|
201
213
|
importNode: Be
|
|
202
214
|
} = s;
|
|
203
|
-
let
|
|
204
|
-
r.isSupported = typeof
|
|
215
|
+
let O = Vt();
|
|
216
|
+
r.isSupported = typeof on == "function" && typeof q == "function" && k && k.createHTMLDocument !== void 0;
|
|
205
217
|
const {
|
|
206
218
|
MUSTACHE_EXPR: he,
|
|
207
219
|
ERB_EXPR: be,
|
|
208
220
|
TMPLIT_EXPR: We,
|
|
209
|
-
DATA_ATTR:
|
|
210
|
-
ARIA_ATTR:
|
|
221
|
+
DATA_ATTR: dn,
|
|
222
|
+
ARIA_ATTR: fn,
|
|
211
223
|
IS_SCRIPT_OR_DATA: pn,
|
|
212
224
|
ATTR_WHITESPACE: ht,
|
|
213
|
-
CUSTOM_ELEMENT:
|
|
225
|
+
CUSTOM_ELEMENT: gn
|
|
214
226
|
} = Yt;
|
|
215
227
|
let {
|
|
216
228
|
IS_ALLOWED_URI: bt
|
|
217
|
-
} = Yt,
|
|
218
|
-
const Tt =
|
|
229
|
+
} = Yt, N = null;
|
|
230
|
+
const Tt = A({}, [...Gt, ...ot, ...st, ...at, ...Bt]);
|
|
219
231
|
let M = null;
|
|
220
|
-
const
|
|
221
|
-
let R = Object.seal(
|
|
232
|
+
const At = A({}, [...Wt, ...lt, ...qt, ...Ue]);
|
|
233
|
+
let R = Object.seal(Fe(null, {
|
|
222
234
|
tagNameCheck: {
|
|
223
235
|
writable: !0,
|
|
224
236
|
configurable: !1,
|
|
@@ -237,8 +249,8 @@ function an() {
|
|
|
237
249
|
enumerable: !0,
|
|
238
250
|
value: !1
|
|
239
251
|
}
|
|
240
|
-
})), Te = null,
|
|
241
|
-
const te = Object.seal(
|
|
252
|
+
})), Te = null, Le = null;
|
|
253
|
+
const te = Object.seal(Fe(null, {
|
|
242
254
|
tagCheck: {
|
|
243
255
|
writable: !0,
|
|
244
256
|
configurable: !1,
|
|
@@ -252,45 +264,45 @@ function an() {
|
|
|
252
264
|
value: null
|
|
253
265
|
}
|
|
254
266
|
}));
|
|
255
|
-
let
|
|
256
|
-
const
|
|
257
|
-
let
|
|
258
|
-
const Ke =
|
|
267
|
+
let _t = !0, qe = !0, St = !1, yt = !0, ce = !1, we = !0, oe = !1, Ye = !1, Ve = !1, me = !1, ve = !1, Ne = !1, Et = !0, It = !1;
|
|
268
|
+
const hn = "user-content-";
|
|
269
|
+
let Xe = !0, Ae = !1, ue = {}, X = null;
|
|
270
|
+
const Ke = A({}, ["annotation-xml", "audio", "colgroup", "desc", "foreignobject", "head", "iframe", "math", "mi", "mn", "mo", "ms", "mtext", "noembed", "noframes", "noscript", "plaintext", "script", "style", "svg", "template", "thead", "title", "video", "xmp"]);
|
|
259
271
|
let Ct = null;
|
|
260
|
-
const Dt =
|
|
272
|
+
const Dt = A({}, ["audio", "video", "img", "source", "image", "track"]);
|
|
261
273
|
let Ze = null;
|
|
262
|
-
const Rt =
|
|
274
|
+
const Rt = A({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]), Oe = "http://www.w3.org/1998/Math/MathML", Me = "http://www.w3.org/2000/svg", Q = "http://www.w3.org/1999/xhtml";
|
|
263
275
|
let de = Q, Qe = !1, Je = null;
|
|
264
|
-
const
|
|
265
|
-
let xe =
|
|
266
|
-
const
|
|
267
|
-
let
|
|
268
|
-
const
|
|
269
|
-
let
|
|
270
|
-
const
|
|
276
|
+
const bn = A({}, [Oe, Me, Q], it);
|
|
277
|
+
let xe = A({}, ["mi", "mo", "mn", "ms", "mtext"]), ke = A({}, ["annotation-xml"]);
|
|
278
|
+
const Tn = A({}, ["title", "style", "font", "a", "script"]);
|
|
279
|
+
let _e = null;
|
|
280
|
+
const An = ["application/xhtml+xml", "text/html"], _n = "text/html";
|
|
281
|
+
let w = null, fe = null;
|
|
282
|
+
const Sn = o.createElement("form"), Lt = function(e) {
|
|
271
283
|
return e instanceof RegExp || e instanceof Function;
|
|
272
284
|
}, et = function() {
|
|
273
285
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
274
|
-
if (!(
|
|
275
|
-
if ((!e || typeof e != "object") && (e = {}), e = Z(e),
|
|
276
|
-
|
|
286
|
+
if (!(fe && fe === e)) {
|
|
287
|
+
if ((!e || typeof e != "object") && (e = {}), e = Z(e), _e = // eslint-disable-next-line unicorn/prefer-includes
|
|
288
|
+
An.indexOf(e.PARSER_MEDIA_TYPE) === -1 ? _n : e.PARSER_MEDIA_TYPE, w = _e === "application/xhtml+xml" ? it : ze, N = G(e, "ALLOWED_TAGS") ? A({}, e.ALLOWED_TAGS, w) : Tt, M = G(e, "ALLOWED_ATTR") ? A({}, e.ALLOWED_ATTR, w) : At, Je = G(e, "ALLOWED_NAMESPACES") ? A({}, e.ALLOWED_NAMESPACES, it) : bn, Ze = G(e, "ADD_URI_SAFE_ATTR") ? A(Z(Rt), e.ADD_URI_SAFE_ATTR, w) : Rt, Ct = G(e, "ADD_DATA_URI_TAGS") ? A(Z(Dt), e.ADD_DATA_URI_TAGS, w) : Dt, X = G(e, "FORBID_CONTENTS") ? A({}, e.FORBID_CONTENTS, w) : Ke, Te = G(e, "FORBID_TAGS") ? A({}, e.FORBID_TAGS, w) : Z({}), Le = G(e, "FORBID_ATTR") ? A({}, e.FORBID_ATTR, w) : Z({}), ue = G(e, "USE_PROFILES") ? e.USE_PROFILES : !1, _t = e.ALLOW_ARIA_ATTR !== !1, qe = e.ALLOW_DATA_ATTR !== !1, St = e.ALLOW_UNKNOWN_PROTOCOLS || !1, yt = e.ALLOW_SELF_CLOSE_IN_ATTR !== !1, ce = e.SAFE_FOR_TEMPLATES || !1, we = e.SAFE_FOR_XML !== !1, oe = e.WHOLE_DOCUMENT || !1, me = e.RETURN_DOM || !1, ve = e.RETURN_DOM_FRAGMENT || !1, Ne = e.RETURN_TRUSTED_TYPE || !1, Ve = e.FORCE_BODY || !1, Et = e.SANITIZE_DOM !== !1, It = e.SANITIZE_NAMED_PROPS || !1, Xe = e.KEEP_CONTENT !== !1, Ae = e.IN_PLACE || !1, bt = e.ALLOWED_URI_REGEXP || sn, de = e.NAMESPACE || Q, xe = e.MATHML_TEXT_INTEGRATION_POINTS || xe, ke = e.HTML_INTEGRATION_POINTS || ke, R = e.CUSTOM_ELEMENT_HANDLING || {}, e.CUSTOM_ELEMENT_HANDLING && Lt(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (R.tagNameCheck = e.CUSTOM_ELEMENT_HANDLING.tagNameCheck), e.CUSTOM_ELEMENT_HANDLING && Lt(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (R.attributeNameCheck = e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), e.CUSTOM_ELEMENT_HANDLING && typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (R.allowCustomizedBuiltInElements = e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), ce && (qe = !1), ve && (me = !0), ue && (N = A({}, Bt), M = Fe(null), ue.html === !0 && (A(N, Gt), A(M, Wt)), ue.svg === !0 && (A(N, ot), A(M, lt), A(M, Ue)), ue.svgFilters === !0 && (A(N, st), A(M, lt), A(M, Ue)), ue.mathMl === !0 && (A(N, at), A(M, qt), A(M, Ue))), G(e, "ADD_TAGS") || (te.tagCheck = null), G(e, "ADD_ATTR") || (te.attributeCheck = null), e.ADD_TAGS && (typeof e.ADD_TAGS == "function" ? te.tagCheck = e.ADD_TAGS : (N === Tt && (N = Z(N)), A(N, e.ADD_TAGS, w))), e.ADD_ATTR && (typeof e.ADD_ATTR == "function" ? te.attributeCheck = e.ADD_ATTR : (M === At && (M = Z(M)), A(M, e.ADD_ATTR, w))), e.ADD_URI_SAFE_ATTR && A(Ze, e.ADD_URI_SAFE_ATTR, w), e.FORBID_CONTENTS && (X === Ke && (X = Z(X)), A(X, e.FORBID_CONTENTS, w)), e.ADD_FORBID_CONTENTS && (X === Ke && (X = Z(X)), A(X, e.ADD_FORBID_CONTENTS, w)), Xe && (N["#text"] = !0), oe && A(N, ["html", "head", "body"]), N.table && (A(N, ["tbody"]), delete Te.tbody), e.TRUSTED_TYPES_POLICY) {
|
|
277
289
|
if (typeof e.TRUSTED_TYPES_POLICY.createHTML != "function")
|
|
278
290
|
throw Ee('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
|
|
279
291
|
if (typeof e.TRUSTED_TYPES_POLICY.createScriptURL != "function")
|
|
280
292
|
throw Ee('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');
|
|
281
|
-
S = e.TRUSTED_TYPES_POLICY,
|
|
293
|
+
S = e.TRUSTED_TYPES_POLICY, V = S.createHTML("");
|
|
282
294
|
} else
|
|
283
|
-
S === void 0 && (S =
|
|
284
|
-
j && j(e),
|
|
295
|
+
S === void 0 && (S = ai(E, l)), S !== null && typeof V == "string" && (V = S.createHTML(""));
|
|
296
|
+
j && j(e), fe = e;
|
|
285
297
|
}
|
|
286
|
-
},
|
|
298
|
+
}, wt = A({}, [...ot, ...st, ...Kn]), vt = A({}, [...at, ...Zn]), yn = function(e) {
|
|
287
299
|
let a = q(e);
|
|
288
300
|
(!a || !a.tagName) && (a = {
|
|
289
301
|
namespaceURI: de,
|
|
290
302
|
tagName: "template"
|
|
291
303
|
});
|
|
292
304
|
const u = ze(e.tagName), C = ze(a.tagName);
|
|
293
|
-
return Je[e.namespaceURI] ? e.namespaceURI === Me ? a.namespaceURI === Q ? u === "svg" : a.namespaceURI ===
|
|
305
|
+
return Je[e.namespaceURI] ? e.namespaceURI === Me ? a.namespaceURI === Q ? u === "svg" : a.namespaceURI === Oe ? u === "svg" && (C === "annotation-xml" || xe[C]) : !!wt[u] : e.namespaceURI === Oe ? a.namespaceURI === Q ? u === "math" : a.namespaceURI === Me ? u === "math" && ke[C] : !!vt[u] : e.namespaceURI === Q ? a.namespaceURI === Me && !ke[C] || a.namespaceURI === Oe && !xe[C] ? !1 : !vt[u] && (Tn[u] || !wt[u]) : !!(_e === "application/xhtml+xml" && Je[e.namespaceURI]) : !1;
|
|
294
306
|
}, K = function(e) {
|
|
295
307
|
Se(r.removed, {
|
|
296
308
|
element: e
|
|
@@ -313,7 +325,7 @@ function an() {
|
|
|
313
325
|
});
|
|
314
326
|
}
|
|
315
327
|
if (a.removeAttribute(e), e === "is")
|
|
316
|
-
if (me ||
|
|
328
|
+
if (me || ve)
|
|
317
329
|
try {
|
|
318
330
|
K(a);
|
|
319
331
|
} catch {
|
|
@@ -323,36 +335,36 @@ function an() {
|
|
|
323
335
|
a.setAttribute(e, "");
|
|
324
336
|
} catch {
|
|
325
337
|
}
|
|
326
|
-
},
|
|
338
|
+
}, Nt = function(e) {
|
|
327
339
|
let a = null, u = null;
|
|
328
|
-
if (
|
|
340
|
+
if (Ve)
|
|
329
341
|
e = "<remove></remove>" + e;
|
|
330
342
|
else {
|
|
331
|
-
const
|
|
332
|
-
u =
|
|
343
|
+
const L = rt(e, /^[\r\n\t ]+/);
|
|
344
|
+
u = L && L[0];
|
|
333
345
|
}
|
|
334
|
-
|
|
346
|
+
_e === "application/xhtml+xml" && de === Q && (e = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + e + "</body></html>");
|
|
335
347
|
const C = S ? S.createHTML(e) : e;
|
|
336
348
|
if (de === Q)
|
|
337
349
|
try {
|
|
338
|
-
a = new I().parseFromString(C,
|
|
350
|
+
a = new I().parseFromString(C, _e);
|
|
339
351
|
} catch {
|
|
340
352
|
}
|
|
341
353
|
if (!a || !a.documentElement) {
|
|
342
354
|
a = k.createDocument(de, "template", null);
|
|
343
355
|
try {
|
|
344
|
-
a.documentElement.innerHTML = Qe ?
|
|
356
|
+
a.documentElement.innerHTML = Qe ? V : C;
|
|
345
357
|
} catch {
|
|
346
358
|
}
|
|
347
359
|
}
|
|
348
|
-
const
|
|
349
|
-
return e && u &&
|
|
350
|
-
},
|
|
360
|
+
const U = a.body || a.documentElement;
|
|
361
|
+
return e && u && U.insertBefore(o.createTextNode(u), U.childNodes[0] || null), de === Q ? Ge.call(a, oe ? "html" : "body")[0] : oe ? a.documentElement : U;
|
|
362
|
+
}, Ot = function(e) {
|
|
351
363
|
return P.call(
|
|
352
364
|
e.ownerDocument || e,
|
|
353
365
|
e,
|
|
354
366
|
// eslint-disable-next-line no-bitwise
|
|
355
|
-
|
|
367
|
+
p.SHOW_ELEMENT | p.SHOW_COMMENT | p.SHOW_TEXT | p.SHOW_PROCESSING_INSTRUCTION | p.SHOW_CDATA_SECTION,
|
|
356
368
|
null
|
|
357
369
|
);
|
|
358
370
|
}, tt = function(e) {
|
|
@@ -362,58 +374,58 @@ function an() {
|
|
|
362
374
|
};
|
|
363
375
|
function J(d, e, a) {
|
|
364
376
|
Pe(d, (u) => {
|
|
365
|
-
u.call(r, e, a,
|
|
377
|
+
u.call(r, e, a, fe);
|
|
366
378
|
});
|
|
367
379
|
}
|
|
368
380
|
const xt = function(e) {
|
|
369
381
|
let a = null;
|
|
370
|
-
if (J(
|
|
382
|
+
if (J(O.beforeSanitizeElements, e, null), tt(e))
|
|
371
383
|
return K(e), !0;
|
|
372
|
-
const u =
|
|
373
|
-
if (J(
|
|
384
|
+
const u = w(e.nodeName);
|
|
385
|
+
if (J(O.uponSanitizeElement, e, {
|
|
374
386
|
tagName: u,
|
|
375
|
-
allowedTags:
|
|
376
|
-
}),
|
|
387
|
+
allowedTags: N
|
|
388
|
+
}), we && e.hasChildNodes() && !Mt(e.firstElementChild) && F(/<[/\w!]/g, e.innerHTML) && F(/<[/\w!]/g, e.textContent) || e.nodeType === Ce.progressingInstruction || we && e.nodeType === Ce.comment && F(/<[/\w]/g, e.data))
|
|
377
389
|
return K(e), !0;
|
|
378
|
-
if (!(te.tagCheck instanceof Function && te.tagCheck(u)) && (!
|
|
379
|
-
if (!Te[u] && Pt(u) && (R.tagNameCheck instanceof RegExp &&
|
|
390
|
+
if (!(te.tagCheck instanceof Function && te.tagCheck(u)) && (!N[u] || Te[u])) {
|
|
391
|
+
if (!Te[u] && Pt(u) && (R.tagNameCheck instanceof RegExp && F(R.tagNameCheck, u) || R.tagNameCheck instanceof Function && R.tagNameCheck(u)))
|
|
380
392
|
return !1;
|
|
381
|
-
if (
|
|
382
|
-
const C = q(e) || e.parentNode,
|
|
383
|
-
if (
|
|
384
|
-
const
|
|
385
|
-
for (let $ =
|
|
386
|
-
const ee = ie(
|
|
393
|
+
if (Xe && !X[u]) {
|
|
394
|
+
const C = q(e) || e.parentNode, U = v(e) || e.childNodes;
|
|
395
|
+
if (U && C) {
|
|
396
|
+
const L = U.length;
|
|
397
|
+
for (let $ = L - 1; $ >= 0; --$) {
|
|
398
|
+
const ee = ie(U[$], !0);
|
|
387
399
|
ee.__removalCount = (e.__removalCount || 0) + 1, C.insertBefore(ee, re(e));
|
|
388
400
|
}
|
|
389
401
|
}
|
|
390
402
|
}
|
|
391
403
|
return K(e), !0;
|
|
392
404
|
}
|
|
393
|
-
return e instanceof m && !
|
|
405
|
+
return e instanceof m && !yn(e) || (u === "noscript" || u === "noembed" || u === "noframes") && F(/<\/no(script|embed|frames)/i, e.innerHTML) ? (K(e), !0) : (ce && e.nodeType === Ce.text && (a = e.textContent, Pe([he, be, We], (C) => {
|
|
394
406
|
a = ye(a, C, " ");
|
|
395
407
|
}), e.textContent !== a && (Se(r.removed, {
|
|
396
408
|
element: e.cloneNode()
|
|
397
|
-
}), e.textContent = a)), J(
|
|
409
|
+
}), e.textContent = a)), J(O.afterSanitizeElements, e, null), !1);
|
|
398
410
|
}, kt = function(e, a, u) {
|
|
399
|
-
if (
|
|
411
|
+
if (Le[a] || Et && (a === "id" || a === "name") && (u in o || u in Sn))
|
|
400
412
|
return !1;
|
|
401
|
-
if (!(qe && !
|
|
402
|
-
if (!(
|
|
413
|
+
if (!(qe && !Le[a] && F(dn, a))) {
|
|
414
|
+
if (!(_t && F(fn, a))) {
|
|
403
415
|
if (!(te.attributeCheck instanceof Function && te.attributeCheck(a, e))) {
|
|
404
|
-
if (!M[a] ||
|
|
416
|
+
if (!M[a] || Le[a]) {
|
|
405
417
|
if (
|
|
406
418
|
// First condition does a very basic check if a) it's basically a valid custom element tagname AND
|
|
407
419
|
// b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
408
420
|
// and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
|
|
409
|
-
!(Pt(e) && (R.tagNameCheck instanceof RegExp &&
|
|
421
|
+
!(Pt(e) && (R.tagNameCheck instanceof RegExp && F(R.tagNameCheck, e) || R.tagNameCheck instanceof Function && R.tagNameCheck(e)) && (R.attributeNameCheck instanceof RegExp && F(R.attributeNameCheck, a) || R.attributeNameCheck instanceof Function && R.attributeNameCheck(a, e)) || // Alternative, second condition checks if it's an `is`-attribute, AND
|
|
410
422
|
// the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
411
|
-
a === "is" && R.allowCustomizedBuiltInElements && (R.tagNameCheck instanceof RegExp &&
|
|
423
|
+
a === "is" && R.allowCustomizedBuiltInElements && (R.tagNameCheck instanceof RegExp && F(R.tagNameCheck, u) || R.tagNameCheck instanceof Function && R.tagNameCheck(u)))
|
|
412
424
|
) return !1;
|
|
413
425
|
} else if (!Ze[a]) {
|
|
414
|
-
if (!
|
|
415
|
-
if (!((a === "src" || a === "xlink:href" || a === "href") && e !== "script" &&
|
|
416
|
-
if (!(St && !
|
|
426
|
+
if (!F(bt, ye(u, ht, ""))) {
|
|
427
|
+
if (!((a === "src" || a === "xlink:href" || a === "href") && e !== "script" && qn(u, "data:") === 0 && Ct[e])) {
|
|
428
|
+
if (!(St && !F(pn, ye(u, ht, "")))) {
|
|
417
429
|
if (u)
|
|
418
430
|
return !1;
|
|
419
431
|
}
|
|
@@ -425,9 +437,9 @@ function an() {
|
|
|
425
437
|
}
|
|
426
438
|
return !0;
|
|
427
439
|
}, Pt = function(e) {
|
|
428
|
-
return e !== "annotation-xml" && rt(e,
|
|
429
|
-
},
|
|
430
|
-
J(
|
|
440
|
+
return e !== "annotation-xml" && rt(e, gn);
|
|
441
|
+
}, Ut = function(e) {
|
|
442
|
+
J(O.beforeSanitizeAttributes, e, null);
|
|
431
443
|
const {
|
|
432
444
|
attributes: a
|
|
433
445
|
} = e;
|
|
@@ -442,40 +454,40 @@ function an() {
|
|
|
442
454
|
};
|
|
443
455
|
let C = a.length;
|
|
444
456
|
for (; C--; ) {
|
|
445
|
-
const
|
|
446
|
-
name:
|
|
457
|
+
const U = a[C], {
|
|
458
|
+
name: L,
|
|
447
459
|
namespaceURI: $,
|
|
448
460
|
value: ee
|
|
449
|
-
} =
|
|
450
|
-
let x =
|
|
451
|
-
if (u.attrName =
|
|
452
|
-
se(
|
|
461
|
+
} = U, pe = w(L), nt = ee;
|
|
462
|
+
let x = L === "value" ? nt : Yn(nt);
|
|
463
|
+
if (u.attrName = pe, u.attrValue = x, u.keepAttr = !0, u.forceKeepAttr = void 0, J(O.uponSanitizeAttribute, e, u), x = u.attrValue, It && (pe === "id" || pe === "name") && (se(L, e), x = hn + x), we && F(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, x)) {
|
|
464
|
+
se(L, e);
|
|
453
465
|
continue;
|
|
454
466
|
}
|
|
455
|
-
if (
|
|
456
|
-
se(
|
|
467
|
+
if (pe === "attributename" && rt(x, "href")) {
|
|
468
|
+
se(L, e);
|
|
457
469
|
continue;
|
|
458
470
|
}
|
|
459
471
|
if (u.forceKeepAttr)
|
|
460
472
|
continue;
|
|
461
473
|
if (!u.keepAttr) {
|
|
462
|
-
se(
|
|
474
|
+
se(L, e);
|
|
463
475
|
continue;
|
|
464
476
|
}
|
|
465
|
-
if (!yt &&
|
|
466
|
-
se(
|
|
477
|
+
if (!yt && F(/\/>/i, x)) {
|
|
478
|
+
se(L, e);
|
|
467
479
|
continue;
|
|
468
480
|
}
|
|
469
481
|
ce && Pe([he, be, We], (zt) => {
|
|
470
482
|
x = ye(x, zt, " ");
|
|
471
483
|
});
|
|
472
|
-
const
|
|
473
|
-
if (!kt(
|
|
474
|
-
se(
|
|
484
|
+
const Ft = w(e.nodeName);
|
|
485
|
+
if (!kt(Ft, pe, x)) {
|
|
486
|
+
se(L, e);
|
|
475
487
|
continue;
|
|
476
488
|
}
|
|
477
489
|
if (S && typeof E == "object" && typeof E.getAttributeType == "function" && !$)
|
|
478
|
-
switch (E.getAttributeType(
|
|
490
|
+
switch (E.getAttributeType(Ft, pe)) {
|
|
479
491
|
case "TrustedHTML": {
|
|
480
492
|
x = S.createHTML(x);
|
|
481
493
|
break;
|
|
@@ -487,21 +499,21 @@ function an() {
|
|
|
487
499
|
}
|
|
488
500
|
if (x !== nt)
|
|
489
501
|
try {
|
|
490
|
-
$ ? e.setAttributeNS($,
|
|
502
|
+
$ ? e.setAttributeNS($, L, x) : e.setAttribute(L, x), tt(e) ? K(e) : $t(r.removed);
|
|
491
503
|
} catch {
|
|
492
|
-
se(
|
|
504
|
+
se(L, e);
|
|
493
505
|
}
|
|
494
506
|
}
|
|
495
|
-
J(
|
|
496
|
-
},
|
|
507
|
+
J(O.afterSanitizeAttributes, e, null);
|
|
508
|
+
}, En = function d(e) {
|
|
497
509
|
let a = null;
|
|
498
|
-
const u =
|
|
499
|
-
for (J(
|
|
500
|
-
J(
|
|
501
|
-
J(
|
|
510
|
+
const u = Ot(e);
|
|
511
|
+
for (J(O.beforeSanitizeShadowDOM, e, null); a = u.nextNode(); )
|
|
512
|
+
J(O.uponSanitizeShadowNode, a, null), xt(a), Ut(a), a.content instanceof c && d(a.content);
|
|
513
|
+
J(O.afterSanitizeShadowDOM, e, null);
|
|
502
514
|
};
|
|
503
515
|
return r.sanitize = function(d) {
|
|
504
|
-
let e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = null, u = null, C = null,
|
|
516
|
+
let e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = null, u = null, C = null, U = null;
|
|
505
517
|
if (Qe = !d, Qe && (d = "<!-->"), typeof d != "string" && !Mt(d))
|
|
506
518
|
if (typeof d.toString == "function") {
|
|
507
519
|
if (d = d.toString(), typeof d != "string")
|
|
@@ -510,65 +522,65 @@ function an() {
|
|
|
510
522
|
throw Ee("toString is not a function");
|
|
511
523
|
if (!r.isSupported)
|
|
512
524
|
return d;
|
|
513
|
-
if (Ye || et(e), r.removed = [], typeof d == "string" && (
|
|
525
|
+
if (Ye || et(e), r.removed = [], typeof d == "string" && (Ae = !1), Ae) {
|
|
514
526
|
if (d.nodeName) {
|
|
515
|
-
const ee =
|
|
516
|
-
if (!
|
|
527
|
+
const ee = w(d.nodeName);
|
|
528
|
+
if (!N[ee] || Te[ee])
|
|
517
529
|
throw Ee("root node is forbidden and cannot be sanitized in-place");
|
|
518
530
|
}
|
|
519
531
|
} else if (d instanceof b)
|
|
520
|
-
a =
|
|
532
|
+
a = Nt("<!---->"), u = a.ownerDocument.importNode(d, !0), u.nodeType === Ce.element && u.nodeName === "BODY" || u.nodeName === "HTML" ? a = u : a.appendChild(u);
|
|
521
533
|
else {
|
|
522
534
|
if (!me && !ce && !oe && // eslint-disable-next-line unicorn/prefer-includes
|
|
523
535
|
d.indexOf("<") === -1)
|
|
524
|
-
return S &&
|
|
525
|
-
if (a =
|
|
526
|
-
return me ? null :
|
|
536
|
+
return S && Ne ? S.createHTML(d) : d;
|
|
537
|
+
if (a = Nt(d), !a)
|
|
538
|
+
return me ? null : Ne ? V : "";
|
|
527
539
|
}
|
|
528
|
-
a &&
|
|
529
|
-
const
|
|
530
|
-
for (; C =
|
|
531
|
-
xt(C),
|
|
532
|
-
if (
|
|
540
|
+
a && Ve && K(a.firstChild);
|
|
541
|
+
const L = Ot(Ae ? d : a);
|
|
542
|
+
for (; C = L.nextNode(); )
|
|
543
|
+
xt(C), Ut(C), C.content instanceof c && En(C.content);
|
|
544
|
+
if (Ae)
|
|
533
545
|
return d;
|
|
534
546
|
if (me) {
|
|
535
|
-
if (
|
|
536
|
-
for (
|
|
537
|
-
|
|
547
|
+
if (ve)
|
|
548
|
+
for (U = le.call(a.ownerDocument); a.firstChild; )
|
|
549
|
+
U.appendChild(a.firstChild);
|
|
538
550
|
else
|
|
539
|
-
|
|
540
|
-
return (M.shadowroot || M.shadowrootmode) && (
|
|
551
|
+
U = a;
|
|
552
|
+
return (M.shadowroot || M.shadowrootmode) && (U = Be.call(s, U, !0)), U;
|
|
541
553
|
}
|
|
542
554
|
let $ = oe ? a.outerHTML : a.innerHTML;
|
|
543
|
-
return oe &&
|
|
555
|
+
return oe && N["!doctype"] && a.ownerDocument && a.ownerDocument.doctype && a.ownerDocument.doctype.name && F(an, a.ownerDocument.doctype.name) && ($ = "<!DOCTYPE " + a.ownerDocument.doctype.name + `>
|
|
544
556
|
` + $), ce && Pe([he, be, We], (ee) => {
|
|
545
557
|
$ = ye($, ee, " ");
|
|
546
|
-
}), S &&
|
|
558
|
+
}), S && Ne ? S.createHTML($) : $;
|
|
547
559
|
}, r.setConfig = function() {
|
|
548
560
|
let d = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
549
561
|
et(d), Ye = !0;
|
|
550
562
|
}, r.clearConfig = function() {
|
|
551
|
-
|
|
563
|
+
fe = null, Ye = !1;
|
|
552
564
|
}, r.isValidAttribute = function(d, e, a) {
|
|
553
|
-
|
|
554
|
-
const u =
|
|
565
|
+
fe || et({});
|
|
566
|
+
const u = w(d), C = w(e);
|
|
555
567
|
return kt(u, C, a);
|
|
556
568
|
}, r.addHook = function(d, e) {
|
|
557
|
-
typeof e == "function" && Se(
|
|
569
|
+
typeof e == "function" && Se(O[d], e);
|
|
558
570
|
}, r.removeHook = function(d, e) {
|
|
559
571
|
if (e !== void 0) {
|
|
560
|
-
const a =
|
|
561
|
-
return a === -1 ? void 0 :
|
|
572
|
+
const a = Bn(O[d], e);
|
|
573
|
+
return a === -1 ? void 0 : Wn(O[d], a, 1)[0];
|
|
562
574
|
}
|
|
563
|
-
return $t(
|
|
575
|
+
return $t(O[d]);
|
|
564
576
|
}, r.removeHooks = function(d) {
|
|
565
|
-
|
|
577
|
+
O[d] = [];
|
|
566
578
|
}, r.removeAllHooks = function() {
|
|
567
|
-
|
|
579
|
+
O = Vt();
|
|
568
580
|
}, r;
|
|
569
581
|
}
|
|
570
|
-
var gt =
|
|
571
|
-
const
|
|
582
|
+
var gt = ln();
|
|
583
|
+
const li = ne`
|
|
572
584
|
query GetAssignment($courseId: ID!, $assignmentId: ID!, $userId: ID!) {
|
|
573
585
|
legacyNode(_id: $assignmentId, type: Assignment) {
|
|
574
586
|
... on Assignment {
|
|
@@ -627,7 +639,7 @@ const oi = ne`
|
|
|
627
639
|
contentType
|
|
628
640
|
submissionPreviewUrl
|
|
629
641
|
}
|
|
630
|
-
`,
|
|
642
|
+
`, ci = ne`
|
|
631
643
|
query GetSubmissionComments(
|
|
632
644
|
$submissionId: ID!
|
|
633
645
|
$courseId: String
|
|
@@ -676,7 +688,7 @@ const oi = ne`
|
|
|
676
688
|
}
|
|
677
689
|
}
|
|
678
690
|
}
|
|
679
|
-
`,
|
|
691
|
+
`, mi = ne`
|
|
680
692
|
query getSubmissions($submissionId: ID!) {
|
|
681
693
|
node(id: $submissionId) {
|
|
682
694
|
... on Submission {
|
|
@@ -718,12 +730,12 @@ const oi = ne`
|
|
|
718
730
|
url: n.string(),
|
|
719
731
|
contentType: n.string(),
|
|
720
732
|
submissionPreviewUrl: n.string().nullable()
|
|
721
|
-
}),
|
|
733
|
+
}), ui = n.object({
|
|
722
734
|
_id: n.string(),
|
|
723
735
|
activeSubmissionType: n.string(),
|
|
724
736
|
body: n.string().nullable(),
|
|
725
737
|
attachments: n.array(De).nullable()
|
|
726
|
-
}),
|
|
738
|
+
}), di = n.object({
|
|
727
739
|
id: n.string(),
|
|
728
740
|
submittedAt: n.string(),
|
|
729
741
|
body: n.string().nullable(),
|
|
@@ -734,8 +746,8 @@ const oi = ne`
|
|
|
734
746
|
unreadCommentCount: n.number(),
|
|
735
747
|
attachment: De.nullable(),
|
|
736
748
|
attachments: n.array(De).nullable(),
|
|
737
|
-
submissionDraft:
|
|
738
|
-
}),
|
|
749
|
+
submissionDraft: ui.nullable()
|
|
750
|
+
}), fi = n.object({
|
|
739
751
|
_id: n.string(),
|
|
740
752
|
name: n.string(),
|
|
741
753
|
description: n.string().nullable(),
|
|
@@ -747,19 +759,19 @@ const oi = ne`
|
|
|
747
759
|
gradingType: n.string(),
|
|
748
760
|
published: n.boolean().nullable().optional(),
|
|
749
761
|
submissionsConnection: n.object({
|
|
750
|
-
nodes: n.array(
|
|
762
|
+
nodes: n.array(di)
|
|
751
763
|
})
|
|
752
|
-
}),
|
|
753
|
-
legacyNode:
|
|
764
|
+
}), pi = n.object({
|
|
765
|
+
legacyNode: fi,
|
|
754
766
|
course: n.object({
|
|
755
767
|
name: n.string()
|
|
756
768
|
})
|
|
757
|
-
}),
|
|
769
|
+
}), cn = n.object({
|
|
758
770
|
startCursor: n.string(),
|
|
759
771
|
endCursor: n.string(),
|
|
760
772
|
hasPreviousPage: n.boolean(),
|
|
761
773
|
hasNextPage: n.boolean()
|
|
762
|
-
}),
|
|
774
|
+
}), mn = n.object({
|
|
763
775
|
_id: n.string(),
|
|
764
776
|
attempt: n.number(),
|
|
765
777
|
author: n.object({
|
|
@@ -780,17 +792,17 @@ const oi = ne`
|
|
|
780
792
|
id: n.string()
|
|
781
793
|
})
|
|
782
794
|
).nullable()
|
|
783
|
-
}),
|
|
795
|
+
}), gi = n.object({
|
|
784
796
|
submissionComments: n.object({
|
|
785
797
|
commentsConnection: n.object({
|
|
786
|
-
pageInfo:
|
|
787
|
-
nodes: n.array(
|
|
798
|
+
pageInfo: cn,
|
|
799
|
+
nodes: n.array(mn)
|
|
788
800
|
})
|
|
789
801
|
})
|
|
790
|
-
}),
|
|
791
|
-
comments: n.array(
|
|
792
|
-
pageInfo:
|
|
793
|
-
}),
|
|
802
|
+
}), lr = n.object({
|
|
803
|
+
comments: n.array(mn),
|
|
804
|
+
pageInfo: cn
|
|
805
|
+
}), hi = n.object({
|
|
794
806
|
submittedAt: n.string(),
|
|
795
807
|
body: n.string().nullable(),
|
|
796
808
|
grade: n.string().nullable(),
|
|
@@ -800,16 +812,16 @@ const oi = ne`
|
|
|
800
812
|
attempt: n.number(),
|
|
801
813
|
attachment: De.nullable(),
|
|
802
814
|
attachments: n.array(De).nullable()
|
|
803
|
-
}),
|
|
815
|
+
}), bi = n.object({
|
|
804
816
|
node: n.object({
|
|
805
817
|
submissionHistoriesConnection: n.object({
|
|
806
|
-
nodes: n.array(
|
|
818
|
+
nodes: n.array(hi)
|
|
807
819
|
})
|
|
808
820
|
})
|
|
809
821
|
}), Re = n.object({
|
|
810
822
|
attribute: n.string(),
|
|
811
823
|
message: n.string()
|
|
812
|
-
}),
|
|
824
|
+
}), Ti = n.object({
|
|
813
825
|
createSubmissionComment: n.object({
|
|
814
826
|
submissionComment: n.object({
|
|
815
827
|
_id: n.string(),
|
|
@@ -854,11 +866,11 @@ const oi = ne`
|
|
|
854
866
|
}).nullable(),
|
|
855
867
|
errors: n.array(Re).nullable()
|
|
856
868
|
})
|
|
857
|
-
}),
|
|
869
|
+
}), Ai = n.object({
|
|
858
870
|
markSubmissionCommentsRead: n.object({
|
|
859
871
|
errors: n.array(Re).nullable()
|
|
860
872
|
})
|
|
861
|
-
}),
|
|
873
|
+
}), cr = n.object({
|
|
862
874
|
createSubmission: n.object({
|
|
863
875
|
submission: n.object({
|
|
864
876
|
_id: n.string(),
|
|
@@ -869,7 +881,7 @@ const oi = ne`
|
|
|
869
881
|
}).nullable(),
|
|
870
882
|
errors: n.array(Re).nullable()
|
|
871
883
|
})
|
|
872
|
-
}),
|
|
884
|
+
}), mr = n.object(
|
|
873
885
|
{
|
|
874
886
|
createSubmissionDraft: n.object({
|
|
875
887
|
submissionDraft: n.object({
|
|
@@ -878,7 +890,7 @@ const oi = ne`
|
|
|
878
890
|
errors: n.array(Re).nullable()
|
|
879
891
|
})
|
|
880
892
|
}
|
|
881
|
-
),
|
|
893
|
+
), ur = n.object(
|
|
882
894
|
{
|
|
883
895
|
deleteSubmissionDraft: n.object({
|
|
884
896
|
submissionDraftIds: n.array(n.string()).nullable(),
|
|
@@ -886,7 +898,7 @@ const oi = ne`
|
|
|
886
898
|
})
|
|
887
899
|
}
|
|
888
900
|
);
|
|
889
|
-
function
|
|
901
|
+
function _i({
|
|
890
902
|
courseId: t,
|
|
891
903
|
assignmentId: r,
|
|
892
904
|
userId: o,
|
|
@@ -896,20 +908,20 @@ function bi({
|
|
|
896
908
|
return $e({
|
|
897
909
|
queryKey: ["assignment-review", "assignment", t, r, o],
|
|
898
910
|
queryFn: async () => {
|
|
899
|
-
const c = await s(
|
|
911
|
+
const c = await s(li, {
|
|
900
912
|
courseId: t,
|
|
901
913
|
assignmentId: r,
|
|
902
914
|
userId: o
|
|
903
|
-
}),
|
|
915
|
+
}), f = pi.parse(c);
|
|
904
916
|
return {
|
|
905
|
-
...
|
|
906
|
-
courseName:
|
|
917
|
+
...f.legacyNode,
|
|
918
|
+
courseName: f.course.name
|
|
907
919
|
};
|
|
908
920
|
},
|
|
909
921
|
enabled: l
|
|
910
922
|
});
|
|
911
923
|
}
|
|
912
|
-
function
|
|
924
|
+
function Si({
|
|
913
925
|
submissionId: t,
|
|
914
926
|
executeQuery: r,
|
|
915
927
|
enabled: o = !0
|
|
@@ -917,27 +929,27 @@ function Ti({
|
|
|
917
929
|
return $e({
|
|
918
930
|
queryKey: ["assignment-review", "submissions", t],
|
|
919
931
|
queryFn: async () => {
|
|
920
|
-
const s = await r(
|
|
921
|
-
return
|
|
922
|
-
(c,
|
|
932
|
+
const s = await r(mi, { submissionId: t });
|
|
933
|
+
return bi.parse(s).node.submissionHistoriesConnection.nodes.slice().sort(
|
|
934
|
+
(c, f) => new Date(f.submittedAt).getTime() - new Date(c.submittedAt).getTime()
|
|
923
935
|
);
|
|
924
936
|
},
|
|
925
937
|
enabled: o
|
|
926
938
|
});
|
|
927
939
|
}
|
|
928
|
-
function
|
|
940
|
+
function yi(t) {
|
|
929
941
|
if (!t) return "";
|
|
930
942
|
const r = new Date(t);
|
|
931
943
|
return Number.isNaN(r.getTime()) ? "" : r.toLocaleDateString();
|
|
932
944
|
}
|
|
933
|
-
function
|
|
945
|
+
function Ei({
|
|
934
946
|
submission: t,
|
|
935
947
|
isSelected: r,
|
|
936
948
|
isDraft: o = !1,
|
|
937
949
|
pointsPossible: s,
|
|
938
950
|
onClick: l
|
|
939
951
|
}) {
|
|
940
|
-
const
|
|
952
|
+
const c = B(), f = o ? c.submissionCurrentAttempt() : c.commentsAttempt({ number: t.attempt }), b = t.score != null && s != null ? `${t.score}/${s}` : null;
|
|
941
953
|
return /* @__PURE__ */ i(
|
|
942
954
|
Y,
|
|
943
955
|
{
|
|
@@ -954,40 +966,37 @@ function Ai({
|
|
|
954
966
|
onKeyDown: (m) => {
|
|
955
967
|
(m.key === "Enter" || m.key === " ") && (m.preventDefault(), l());
|
|
956
968
|
},
|
|
957
|
-
children: /* @__PURE__ */
|
|
958
|
-
/* @__PURE__ */
|
|
959
|
-
/* @__PURE__ */
|
|
960
|
-
/* @__PURE__ */ i(y, { weight: "bold", children:
|
|
961
|
-
o && /* @__PURE__ */ i(
|
|
969
|
+
children: /* @__PURE__ */ _(h, { justifyItems: "space-between", alignItems: "center", children: [
|
|
970
|
+
/* @__PURE__ */ _(h, { direction: "column", gap: "xx-small", children: [
|
|
971
|
+
/* @__PURE__ */ _(h, { gap: "small", alignItems: "center", children: [
|
|
972
|
+
/* @__PURE__ */ i(y, { weight: "bold", children: f }),
|
|
973
|
+
o && /* @__PURE__ */ i(ft, { color: "info", children: c.submissionDraft() })
|
|
962
974
|
] }),
|
|
963
|
-
!o && t.submittedAt && /* @__PURE__ */ i(y, { size: "small", color: "secondary", children:
|
|
975
|
+
!o && t.submittedAt && /* @__PURE__ */ i(y, { size: "small", color: "secondary", children: yi(t.submittedAt) })
|
|
964
976
|
] }),
|
|
965
977
|
b && /* @__PURE__ */ i(y, { weight: "bold", children: b })
|
|
966
978
|
] })
|
|
967
979
|
}
|
|
968
980
|
);
|
|
969
981
|
}
|
|
970
|
-
function
|
|
982
|
+
function Ii({
|
|
971
983
|
submissionId: t,
|
|
972
984
|
selectedAttempt: r,
|
|
973
985
|
onAttemptSelect: o,
|
|
974
986
|
pointsPossible: s,
|
|
975
987
|
executeQuery: l
|
|
976
988
|
}) {
|
|
977
|
-
const
|
|
989
|
+
const c = B(), { data: f, isLoading: b, isError: m } = Si({
|
|
978
990
|
submissionId: t,
|
|
979
991
|
executeQuery: l
|
|
980
992
|
});
|
|
981
993
|
if (b)
|
|
982
|
-
return /* @__PURE__ */ i(h, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ i(He, { renderTitle: c(
|
|
994
|
+
return /* @__PURE__ */ i(h, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ i(He, { renderTitle: c.navigationAttempts(), size: "small" }) });
|
|
983
995
|
if (m)
|
|
984
|
-
return /* @__PURE__ */ i(h, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ i(y, { color: "danger", children: c(
|
|
985
|
-
const
|
|
986
|
-
return
|
|
987
|
-
|
|
988
|
-
"This assignment allows multiple attempts. Once you've made a submission, you can view it here."
|
|
989
|
-
) }) }) : /* @__PURE__ */ i(h, { direction: "column", gap: "x-small", padding: "none none medium none", children: f.map((g) => /* @__PURE__ */ i(
|
|
990
|
-
Ai,
|
|
996
|
+
return /* @__PURE__ */ i(h, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ i(y, { color: "danger", children: c.submissionLoadAttemptsError() }) });
|
|
997
|
+
const p = (f == null ? void 0 : f.filter((g) => g.attempt > 0)) ?? [];
|
|
998
|
+
return p.length === 0 ? /* @__PURE__ */ i(h, { padding: "medium", children: /* @__PURE__ */ i(y, { color: "secondary", children: c.submissionNoAttempts() }) }) : /* @__PURE__ */ i(h, { direction: "column", gap: "x-small", padding: "none none medium none", children: p.map((g) => /* @__PURE__ */ i(
|
|
999
|
+
Ei,
|
|
991
1000
|
{
|
|
992
1001
|
submission: g,
|
|
993
1002
|
isSelected: r === g.attempt,
|
|
@@ -997,7 +1006,7 @@ function Si({
|
|
|
997
1006
|
g.attempt
|
|
998
1007
|
)) });
|
|
999
1008
|
}
|
|
1000
|
-
function
|
|
1009
|
+
function un({
|
|
1001
1010
|
attachments: t,
|
|
1002
1011
|
size: r = "medium"
|
|
1003
1012
|
}) {
|
|
@@ -1009,24 +1018,24 @@ function mn({
|
|
|
1009
1018
|
borderColor: "primary",
|
|
1010
1019
|
borderWidth: "small",
|
|
1011
1020
|
borderRadius: "medium",
|
|
1012
|
-
children: /* @__PURE__ */
|
|
1021
|
+
children: /* @__PURE__ */ _(h, { as: "div", gap: "small", width: "100%", justifyItems: "space-between", alignItems: "center", children: [
|
|
1013
1022
|
/* @__PURE__ */ i(h.Item, { shouldShrink: !0, children: /* @__PURE__ */ i(en, { children: o.displayName }) }),
|
|
1014
|
-
/* @__PURE__ */ i(
|
|
1023
|
+
/* @__PURE__ */ i(Fn, { href: o.url, isWithinText: !1, renderIcon: /* @__PURE__ */ i(Ln, {}), children: /* @__PURE__ */ i(pt, { children: `Download ${o.displayName}` }) })
|
|
1015
1024
|
] })
|
|
1016
1025
|
},
|
|
1017
1026
|
o.id
|
|
1018
1027
|
)) });
|
|
1019
1028
|
}
|
|
1020
|
-
function
|
|
1029
|
+
function Ci(t) {
|
|
1021
1030
|
return /* @__PURE__ */ i("span", { dangerouslySetInnerHTML: { __html: gt.sanitize(t) } });
|
|
1022
1031
|
}
|
|
1023
|
-
function
|
|
1032
|
+
function Di({
|
|
1024
1033
|
submission: t,
|
|
1025
1034
|
isLastAttempt: r = !0,
|
|
1026
1035
|
showAttemptLabel: o = !0,
|
|
1027
1036
|
renderHTML: s
|
|
1028
1037
|
}) {
|
|
1029
|
-
const
|
|
1038
|
+
const l = B(), c = s ?? Ci, f = (t == null ? void 0 : t.submissionType) === "online_text_entry", b = (t == null ? void 0 : t.submissionType) === "online_upload", m = f ? l.submissionTextHeading() : l.submissionUploadHeading(), p = je(() => {
|
|
1030
1039
|
if (!t) return [];
|
|
1031
1040
|
const D = [];
|
|
1032
1041
|
if (t.attachment && D.push(t.attachment), t.attachments)
|
|
@@ -1034,61 +1043,61 @@ function Ei({
|
|
|
1034
1043
|
D.some((E) => E.id === I.id) || D.push(I);
|
|
1035
1044
|
return D;
|
|
1036
1045
|
}, [t]), g = je(() => c((t == null ? void 0 : t.body) ?? ""), [t == null ? void 0 : t.body, c]);
|
|
1037
|
-
return t ? /* @__PURE__ */ i(Y, { as: "div", children: /* @__PURE__ */
|
|
1038
|
-
o && !r && t.attempt != null && /* @__PURE__ */ i(y, { size: "small", weight: "bold", color: "secondary", children: l(
|
|
1039
|
-
/* @__PURE__ */
|
|
1040
|
-
/* @__PURE__ */ i(
|
|
1046
|
+
return t ? /* @__PURE__ */ i(Y, { as: "div", children: /* @__PURE__ */ _(h, { direction: "column", gap: "small", children: [
|
|
1047
|
+
o && !r && t.attempt != null && /* @__PURE__ */ i(y, { size: "small", weight: "bold", color: "secondary", children: l.submissionViewingAttempt({ number: t.attempt }) }),
|
|
1048
|
+
/* @__PURE__ */ _(h, { gap: "x-small", alignItems: "center", children: [
|
|
1049
|
+
/* @__PURE__ */ i(wn, { color: "success" }),
|
|
1041
1050
|
/* @__PURE__ */ i(dt, { level: "h3", children: m })
|
|
1042
1051
|
] }),
|
|
1043
|
-
|
|
1052
|
+
f && t.body && /* @__PURE__ */ _(h, { alignItems: "stretch", gap: "small", children: [
|
|
1044
1053
|
/* @__PURE__ */ i(Y, { as: "div", width: "4px", background: "primary", borderRadius: "small" }),
|
|
1045
1054
|
/* @__PURE__ */ i(Y, { as: "div", children: /* @__PURE__ */ i(y, { children: g }) })
|
|
1046
1055
|
] }),
|
|
1047
|
-
b &&
|
|
1056
|
+
b && p.length > 0 && /* @__PURE__ */ i(un, { attachments: p })
|
|
1048
1057
|
] }) }) : null;
|
|
1049
1058
|
}
|
|
1050
|
-
function
|
|
1059
|
+
function Ri(t) {
|
|
1051
1060
|
const r = new Date(t);
|
|
1052
1061
|
return Number.isNaN(r.getTime()) ? "" : r.toLocaleDateString(void 0, { month: "short", day: "numeric", year: "numeric" });
|
|
1053
1062
|
}
|
|
1054
|
-
function
|
|
1063
|
+
function Li() {
|
|
1055
1064
|
return /* @__PURE__ */ i(y, { color: "secondary", size: "small", children: "|" });
|
|
1056
1065
|
}
|
|
1057
|
-
function
|
|
1066
|
+
function wi({
|
|
1058
1067
|
score: t,
|
|
1059
1068
|
pointsPossible: r,
|
|
1060
1069
|
gradingType: o,
|
|
1061
1070
|
dueAt: s,
|
|
1062
1071
|
allowedAttempts: l,
|
|
1063
1072
|
currentAttempt: c,
|
|
1064
|
-
isOverdue:
|
|
1073
|
+
isOverdue: f,
|
|
1065
1074
|
estimatedDuration: b,
|
|
1066
1075
|
labels: m
|
|
1067
1076
|
}) {
|
|
1068
|
-
const
|
|
1077
|
+
const p = B(), g = [];
|
|
1069
1078
|
return b && g.push(
|
|
1070
|
-
/* @__PURE__ */ i(y, { size: "small", children: (m == null ? void 0 : m.duration) ??
|
|
1079
|
+
/* @__PURE__ */ i(y, { size: "small", children: (m == null ? void 0 : m.duration) ?? p.headerDuration({ minutes: b }) }, "duration")
|
|
1071
1080
|
), t != null && r != null ? g.push(
|
|
1072
|
-
/* @__PURE__ */ i(y, { size: "small", children: (m == null ? void 0 : m.score) ??
|
|
1081
|
+
/* @__PURE__ */ i(y, { size: "small", children: (m == null ? void 0 : m.score) ?? p.headerScore({ score: t, total: r }) }, "score")
|
|
1073
1082
|
) : r != null && o !== "not_graded" && g.push(
|
|
1074
|
-
/* @__PURE__ */ i(y, { size: "small", children: (m == null ? void 0 : m.pointsPossible) ??
|
|
1083
|
+
/* @__PURE__ */ i(y, { size: "small", children: (m == null ? void 0 : m.pointsPossible) ?? p.headerPointsPossible({ points: r }) }, "points")
|
|
1075
1084
|
), l != null && (l === -1 ? g.push(
|
|
1076
|
-
/* @__PURE__ */ i(y, { size: "small", children: (m == null ? void 0 : m.attempts) ??
|
|
1085
|
+
/* @__PURE__ */ i(y, { size: "small", children: (m == null ? void 0 : m.attempts) ?? p.headerAttemptsUnlimited() }, "attempts")
|
|
1077
1086
|
) : c != null ? g.push(
|
|
1078
|
-
/* @__PURE__ */ i(y, { size: "small", children: (m == null ? void 0 : m.attempts) ??
|
|
1087
|
+
/* @__PURE__ */ i(y, { size: "small", children: (m == null ? void 0 : m.attempts) ?? p.headerAttemptOf({ current: c, total: l }) }, "attempts")
|
|
1079
1088
|
) : g.push(
|
|
1080
|
-
/* @__PURE__ */ i(y, { size: "small", children: (m == null ? void 0 : m.attempts) ??
|
|
1089
|
+
/* @__PURE__ */ i(y, { size: "small", children: (m == null ? void 0 : m.attempts) ?? p.headerAttemptsAllowed({ count: l }) }, "attempts")
|
|
1081
1090
|
)), s && g.push(
|
|
1082
|
-
/* @__PURE__ */ i(y, { size: "small", children: (m == null ? void 0 : m.dueDate) ??
|
|
1083
|
-
), /* @__PURE__ */
|
|
1084
|
-
g.map((D, I) => /* @__PURE__ */
|
|
1085
|
-
I > 0 && /* @__PURE__ */ i(
|
|
1091
|
+
/* @__PURE__ */ i(y, { size: "small", children: (m == null ? void 0 : m.dueDate) ?? p.headerDueDate({ date: Ri(s) }) }, "due")
|
|
1092
|
+
), /* @__PURE__ */ _(h, { as: "div", direction: "row", alignItems: "center", gap: "small", children: [
|
|
1093
|
+
g.map((D, I) => /* @__PURE__ */ _(h, { gap: "small", alignItems: "center", children: [
|
|
1094
|
+
I > 0 && /* @__PURE__ */ i(Li, {}),
|
|
1086
1095
|
D
|
|
1087
1096
|
] }, `item-${String(I)}`)),
|
|
1088
|
-
|
|
1097
|
+
f && /* @__PURE__ */ i(ft, { color: "danger", children: (m == null ? void 0 : m.overdue) ?? p.headerOverdue() })
|
|
1089
1098
|
] });
|
|
1090
1099
|
}
|
|
1091
|
-
const
|
|
1100
|
+
const vi = ne`
|
|
1092
1101
|
mutation CreateSubmissionComment(
|
|
1093
1102
|
$id: ID!
|
|
1094
1103
|
$submissionAttempt: Int!
|
|
@@ -1178,7 +1187,7 @@ const Ri = ne`
|
|
|
1178
1187
|
mimeClass
|
|
1179
1188
|
url
|
|
1180
1189
|
}
|
|
1181
|
-
`,
|
|
1190
|
+
`, Ni = ne`
|
|
1182
1191
|
mutation MarkSubmissionCommentsRead(
|
|
1183
1192
|
$submissionId: ID!
|
|
1184
1193
|
$submissionCommentIds: [ID!]!
|
|
@@ -1195,7 +1204,7 @@ const Ri = ne`
|
|
|
1195
1204
|
}
|
|
1196
1205
|
}
|
|
1197
1206
|
}
|
|
1198
|
-
`,
|
|
1207
|
+
`, dr = ne`
|
|
1199
1208
|
mutation CreateSubmission(
|
|
1200
1209
|
$assignmentLid: ID!
|
|
1201
1210
|
$submissionType: OnlineSubmissionType!
|
|
@@ -1223,7 +1232,7 @@ const Ri = ne`
|
|
|
1223
1232
|
}
|
|
1224
1233
|
}
|
|
1225
1234
|
}
|
|
1226
|
-
`,
|
|
1235
|
+
`, fr = ne`
|
|
1227
1236
|
mutation CreateSubmissionDraft(
|
|
1228
1237
|
$submissionId: ID!
|
|
1229
1238
|
$submissionType: DraftableSubmissionType!
|
|
@@ -1249,7 +1258,7 @@ const Ri = ne`
|
|
|
1249
1258
|
}
|
|
1250
1259
|
}
|
|
1251
1260
|
}
|
|
1252
|
-
`,
|
|
1261
|
+
`, pr = ne`
|
|
1253
1262
|
mutation DeleteSubmissionDraft($submissionId: ID!) {
|
|
1254
1263
|
deleteSubmissionDraft(input: { submissionId: $submissionId }) {
|
|
1255
1264
|
submissionDraftIds
|
|
@@ -1260,19 +1269,19 @@ const Ri = ne`
|
|
|
1260
1269
|
}
|
|
1261
1270
|
}
|
|
1262
1271
|
`;
|
|
1263
|
-
function
|
|
1272
|
+
function Oi({
|
|
1264
1273
|
executeQuery: t
|
|
1265
1274
|
}) {
|
|
1266
|
-
const r =
|
|
1275
|
+
const r = Xt();
|
|
1267
1276
|
return Kt({
|
|
1268
1277
|
mutationFn: async ({ submissionId: o, attempt: s, comment: l, fileIds: c }) => {
|
|
1269
|
-
const
|
|
1278
|
+
const f = await t(vi, {
|
|
1270
1279
|
id: o,
|
|
1271
1280
|
submissionAttempt: s,
|
|
1272
1281
|
comment: l,
|
|
1273
1282
|
fileIds: c
|
|
1274
1283
|
});
|
|
1275
|
-
return
|
|
1284
|
+
return Ti.parse(f), f;
|
|
1276
1285
|
},
|
|
1277
1286
|
onSuccess: (o, s) => {
|
|
1278
1287
|
r.invalidateQueries({
|
|
@@ -1281,7 +1290,7 @@ function vi({
|
|
|
1281
1290
|
}
|
|
1282
1291
|
});
|
|
1283
1292
|
}
|
|
1284
|
-
function
|
|
1293
|
+
function Mi({
|
|
1285
1294
|
submissionId: t,
|
|
1286
1295
|
courseId: r,
|
|
1287
1296
|
pageParams: o,
|
|
@@ -1300,17 +1309,17 @@ function Li({
|
|
|
1300
1309
|
s
|
|
1301
1310
|
],
|
|
1302
1311
|
queryFn: async () => {
|
|
1303
|
-
const
|
|
1312
|
+
const f = await l(ci, {
|
|
1304
1313
|
submissionId: t,
|
|
1305
1314
|
courseId: r,
|
|
1306
1315
|
beforeCursor: s === "prev" ? (o == null ? void 0 : o.startCursor) ?? null : null,
|
|
1307
1316
|
afterCursor: s === "next" ? (o == null ? void 0 : o.endCursor) ?? null : null,
|
|
1308
1317
|
first: s === "next" ? 5 : null,
|
|
1309
1318
|
last: s === "prev" || !s ? 5 : null
|
|
1310
|
-
}), b =
|
|
1319
|
+
}), b = gi.parse(f);
|
|
1311
1320
|
return {
|
|
1312
1321
|
comments: [...b.submissionComments.commentsConnection.nodes].sort(
|
|
1313
|
-
(
|
|
1322
|
+
(p, g) => new Date(p.createdAt).getTime() - new Date(g.createdAt).getTime()
|
|
1314
1323
|
),
|
|
1315
1324
|
pageInfo: b.submissionComments.commentsConnection.pageInfo
|
|
1316
1325
|
};
|
|
@@ -1318,17 +1327,17 @@ function Li({
|
|
|
1318
1327
|
enabled: c ?? !!t
|
|
1319
1328
|
});
|
|
1320
1329
|
}
|
|
1321
|
-
function
|
|
1330
|
+
function xi({
|
|
1322
1331
|
executeQuery: t
|
|
1323
1332
|
}) {
|
|
1324
|
-
const r =
|
|
1333
|
+
const r = Xt();
|
|
1325
1334
|
return Kt({
|
|
1326
1335
|
mutationFn: async ({ submissionId: o, submissionCommentIds: s }) => {
|
|
1327
1336
|
const l = await t(
|
|
1328
|
-
|
|
1337
|
+
Ni,
|
|
1329
1338
|
{ submissionId: o, submissionCommentIds: s }
|
|
1330
1339
|
);
|
|
1331
|
-
return
|
|
1340
|
+
return Ai.parse(l), l;
|
|
1332
1341
|
},
|
|
1333
1342
|
onSuccess: (o, s) => {
|
|
1334
1343
|
r.invalidateQueries({
|
|
@@ -1338,20 +1347,20 @@ function Oi({
|
|
|
1338
1347
|
}
|
|
1339
1348
|
});
|
|
1340
1349
|
}
|
|
1341
|
-
function
|
|
1350
|
+
function ki(t) {
|
|
1342
1351
|
return /* @__PURE__ */ i("span", { dangerouslySetInnerHTML: { __html: gt.sanitize(t) } });
|
|
1343
1352
|
}
|
|
1344
|
-
function
|
|
1353
|
+
function Pi(t) {
|
|
1345
1354
|
const r = new Date(t);
|
|
1346
1355
|
return Number.isNaN(r.getTime()) ? "" : r.toLocaleString();
|
|
1347
1356
|
}
|
|
1348
|
-
function
|
|
1357
|
+
function Ui({
|
|
1349
1358
|
comment: t,
|
|
1350
1359
|
isFullWidth: r,
|
|
1351
1360
|
renderHTML: o
|
|
1352
1361
|
}) {
|
|
1353
1362
|
var m;
|
|
1354
|
-
const
|
|
1363
|
+
const s = B(), l = o ?? ki, c = ((m = t.author.courseRoles) == null ? void 0 : m.includes("StudentEnrollment")) ?? !1, f = je(() => l(t.htmlComment), [t.htmlComment, l]);
|
|
1355
1364
|
return /* @__PURE__ */ i(
|
|
1356
1365
|
Y,
|
|
1357
1366
|
{
|
|
@@ -1361,22 +1370,22 @@ function xi({
|
|
|
1361
1370
|
borderColor: "primary",
|
|
1362
1371
|
borderRadius: "medium",
|
|
1363
1372
|
margin: r ? "none" : c ? "none none none medium" : "none medium none none",
|
|
1364
|
-
children: /* @__PURE__ */
|
|
1365
|
-
/* @__PURE__ */
|
|
1366
|
-
/* @__PURE__ */
|
|
1373
|
+
children: /* @__PURE__ */ _(h, { as: "div", direction: "column", gap: "small", children: [
|
|
1374
|
+
/* @__PURE__ */ _(h, { as: "div", direction: "column", gap: "xx-small", children: [
|
|
1375
|
+
/* @__PURE__ */ _(h, { as: "div", justifyItems: "space-between", alignItems: "center", children: [
|
|
1367
1376
|
/* @__PURE__ */ i(h.Item, { shouldShrink: !0, children: /* @__PURE__ */ i(y, { weight: "bold", size: "medium", children: /* @__PURE__ */ i(en, { children: t.author.shortName }) }) }),
|
|
1368
|
-
!t.read && /* @__PURE__ */ i(nn, { type: "notification", standalone: !0, children: /* @__PURE__ */ i(
|
|
1377
|
+
!t.read && /* @__PURE__ */ i(nn, { type: "notification", standalone: !0, children: /* @__PURE__ */ i(pt, { children: s.commentsUnreadSingle() }) })
|
|
1369
1378
|
] }),
|
|
1370
|
-
/* @__PURE__ */ i(y, { size: "small", color: "secondary", children:
|
|
1371
|
-
t.attempt > 0 && /* @__PURE__ */ i(y, { size: "small", color: "secondary", children: s(
|
|
1379
|
+
/* @__PURE__ */ i(y, { size: "small", color: "secondary", children: Pi(t.createdAt) }),
|
|
1380
|
+
t.attempt > 0 && /* @__PURE__ */ i(y, { size: "small", color: "secondary", children: s.commentsAttempt({ number: t.attempt }) })
|
|
1372
1381
|
] }),
|
|
1373
|
-
/* @__PURE__ */ i(y, { size: "medium", children:
|
|
1382
|
+
/* @__PURE__ */ i(y, { size: "medium", children: f }),
|
|
1374
1383
|
t.attachments && t.attachments.length > 0 && /* @__PURE__ */ i(
|
|
1375
|
-
|
|
1384
|
+
un,
|
|
1376
1385
|
{
|
|
1377
|
-
attachments: t.attachments.map((
|
|
1378
|
-
...
|
|
1379
|
-
_id:
|
|
1386
|
+
attachments: t.attachments.map((p) => ({
|
|
1387
|
+
...p,
|
|
1388
|
+
_id: p._id ?? p.id,
|
|
1380
1389
|
submissionPreviewUrl: null
|
|
1381
1390
|
})),
|
|
1382
1391
|
size: "small"
|
|
@@ -1386,23 +1395,23 @@ function xi({
|
|
|
1386
1395
|
}
|
|
1387
1396
|
);
|
|
1388
1397
|
}
|
|
1389
|
-
function
|
|
1398
|
+
function Fi({
|
|
1390
1399
|
submissionId: t,
|
|
1391
1400
|
courseId: r,
|
|
1392
1401
|
assignmentId: o,
|
|
1393
1402
|
attempt: s,
|
|
1394
1403
|
canPostComment: l,
|
|
1395
1404
|
onCommentPosted: c,
|
|
1396
|
-
renderHTML:
|
|
1405
|
+
renderHTML: f,
|
|
1397
1406
|
executeQuery: b
|
|
1398
1407
|
}) {
|
|
1399
|
-
const
|
|
1408
|
+
const m = B(), [p, g] = ge(""), [D, I] = ge({}), E = Dn(/* @__PURE__ */ new Set()), { data: T, isLoading: ie, isError: ae } = Mi({
|
|
1400
1409
|
submissionId: t,
|
|
1401
1410
|
courseId: r,
|
|
1402
1411
|
pageParams: D.pageParams,
|
|
1403
1412
|
direction: D.direction,
|
|
1404
1413
|
executeQuery: b
|
|
1405
|
-
}), re =
|
|
1414
|
+
}), re = Oi({ executeQuery: b }), v = xi({ executeQuery: b });
|
|
1406
1415
|
ct(() => {
|
|
1407
1416
|
if (!(T != null && T.comments) || T.comments.length === 0) return;
|
|
1408
1417
|
const k = T.comments.filter((P) => !P.read && !E.current.has(P._id)).filter((P) => {
|
|
@@ -1412,65 +1421,65 @@ function ki({
|
|
|
1412
1421
|
if (k.length > 0) {
|
|
1413
1422
|
for (const P of k)
|
|
1414
1423
|
E.current.add(P);
|
|
1415
|
-
|
|
1424
|
+
v.mutate({ submissionId: t, assignmentId: o, submissionCommentIds: k });
|
|
1416
1425
|
}
|
|
1417
|
-
}, [T == null ? void 0 : T.comments, t, o,
|
|
1426
|
+
}, [T == null ? void 0 : T.comments, t, o, v]);
|
|
1418
1427
|
const q = T == null ? void 0 : T.comments.some(
|
|
1419
1428
|
(k) => {
|
|
1420
1429
|
var P;
|
|
1421
1430
|
return !((P = k.author.courseRoles) != null && P.includes("StudentEnrollment"));
|
|
1422
1431
|
}
|
|
1423
1432
|
), S = () => {
|
|
1424
|
-
|
|
1425
|
-
{ submissionId: t, attempt: s, comment:
|
|
1433
|
+
p.trim() && re.mutate(
|
|
1434
|
+
{ submissionId: t, attempt: s, comment: p },
|
|
1426
1435
|
{
|
|
1427
1436
|
onSuccess: () => {
|
|
1428
1437
|
g(""), c == null || c();
|
|
1429
1438
|
}
|
|
1430
1439
|
}
|
|
1431
1440
|
);
|
|
1432
|
-
},
|
|
1433
|
-
return ie || !T && !ae ? /* @__PURE__ */ i(h, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ i(He, { renderTitle: m(
|
|
1434
|
-
/* @__PURE__ */
|
|
1435
|
-
T.comments.length === 0 ? /* @__PURE__ */ i(h, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ i(y, { color: "secondary", children: m(
|
|
1436
|
-
|
|
1441
|
+
}, V = (T == null ? void 0 : T.pageInfo.hasNextPage) || (T == null ? void 0 : T.pageInfo.hasPreviousPage);
|
|
1442
|
+
return ie || !T && !ae ? /* @__PURE__ */ i(h, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ i(He, { renderTitle: m.commentsPanelTitle(), size: "small" }) }) : ae ? /* @__PURE__ */ i(h, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ i(y, { color: "danger", children: m.commentsLoadError() }) }) : /* @__PURE__ */ _(h, { as: "div", direction: "column", justifyItems: "space-between", height: "100%", children: [
|
|
1443
|
+
/* @__PURE__ */ _(h, { as: "div", direction: "column", children: [
|
|
1444
|
+
T.comments.length === 0 ? /* @__PURE__ */ i(h, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ i(y, { color: "secondary", children: m.commentsEmpty() }) }) : /* @__PURE__ */ i(h, { direction: "column", gap: "x-small", children: T.comments.map((k) => /* @__PURE__ */ i(
|
|
1445
|
+
Ui,
|
|
1437
1446
|
{
|
|
1438
1447
|
comment: k,
|
|
1439
1448
|
isFullWidth: !q,
|
|
1440
|
-
renderHTML:
|
|
1449
|
+
renderHTML: f
|
|
1441
1450
|
},
|
|
1442
1451
|
k._id
|
|
1443
1452
|
)) }),
|
|
1444
|
-
|
|
1453
|
+
V && /* @__PURE__ */ _(h, { justifyItems: "space-between", padding: "small none", children: [
|
|
1445
1454
|
/* @__PURE__ */ i(
|
|
1446
1455
|
z,
|
|
1447
1456
|
{
|
|
1448
|
-
renderIcon: () => /* @__PURE__ */ i(
|
|
1457
|
+
renderIcon: () => /* @__PURE__ */ i(vn, {}),
|
|
1449
1458
|
size: "small",
|
|
1450
1459
|
interaction: T.pageInfo.hasPreviousPage ? "enabled" : "disabled",
|
|
1451
1460
|
onClick: () => I({ pageParams: T.pageInfo, direction: "prev" }),
|
|
1452
|
-
children: m(
|
|
1461
|
+
children: m.commentsPreviousComments()
|
|
1453
1462
|
}
|
|
1454
1463
|
),
|
|
1455
1464
|
/* @__PURE__ */ i(
|
|
1456
1465
|
z,
|
|
1457
1466
|
{
|
|
1458
|
-
renderIcon: () => /* @__PURE__ */ i(
|
|
1467
|
+
renderIcon: () => /* @__PURE__ */ i(Nn, {}),
|
|
1459
1468
|
size: "small",
|
|
1460
1469
|
interaction: T.pageInfo.hasNextPage ? "enabled" : "disabled",
|
|
1461
1470
|
onClick: () => I({ pageParams: T.pageInfo, direction: "next" }),
|
|
1462
|
-
children: m(
|
|
1471
|
+
children: m.commentsNextComments()
|
|
1463
1472
|
}
|
|
1464
1473
|
)
|
|
1465
1474
|
] })
|
|
1466
1475
|
] }),
|
|
1467
|
-
l && /* @__PURE__ */
|
|
1476
|
+
l && /* @__PURE__ */ _(h, { as: "div", direction: "column", gap: "small", padding: "small none medium", children: [
|
|
1468
1477
|
/* @__PURE__ */ i(
|
|
1469
1478
|
tn,
|
|
1470
1479
|
{
|
|
1471
1480
|
resize: "vertical",
|
|
1472
|
-
label: /* @__PURE__ */ i(y, { weight: "bold", size: "medium", children: m(
|
|
1473
|
-
value:
|
|
1481
|
+
label: /* @__PURE__ */ i(y, { weight: "bold", size: "medium", children: m.commentsPlaceholder() }),
|
|
1482
|
+
value: p,
|
|
1474
1483
|
onChange: (k) => g(k.target.value)
|
|
1475
1484
|
}
|
|
1476
1485
|
),
|
|
@@ -1479,37 +1488,37 @@ function ki({
|
|
|
1479
1488
|
{
|
|
1480
1489
|
color: "primary",
|
|
1481
1490
|
onClick: S,
|
|
1482
|
-
interaction:
|
|
1483
|
-
children: m(
|
|
1491
|
+
interaction: p.trim().length > 0 && !re.isPending ? "enabled" : "disabled",
|
|
1492
|
+
children: m.commentsPost()
|
|
1484
1493
|
}
|
|
1485
1494
|
)
|
|
1486
1495
|
] })
|
|
1487
1496
|
] });
|
|
1488
1497
|
}
|
|
1489
|
-
function
|
|
1498
|
+
function zi(t) {
|
|
1490
1499
|
return /* @__PURE__ */ i("span", { dangerouslySetInnerHTML: { __html: gt.sanitize(t) } });
|
|
1491
1500
|
}
|
|
1492
|
-
function
|
|
1501
|
+
function gr({
|
|
1493
1502
|
courseId: t,
|
|
1494
1503
|
assignmentId: r,
|
|
1495
1504
|
userId: o,
|
|
1496
1505
|
feedbackMode: s = !1,
|
|
1497
1506
|
onError: l,
|
|
1498
1507
|
renderHTML: c,
|
|
1499
|
-
renderPanels:
|
|
1508
|
+
renderPanels: f,
|
|
1500
1509
|
executeQuery: b
|
|
1501
1510
|
}) {
|
|
1502
|
-
const
|
|
1511
|
+
const m = B(), p = c ?? zi, {
|
|
1503
1512
|
data: g,
|
|
1504
1513
|
isLoading: D,
|
|
1505
1514
|
isError: I,
|
|
1506
1515
|
error: E
|
|
1507
|
-
} =
|
|
1516
|
+
} = _i({ courseId: t, assignmentId: r, userId: o, executeQuery: b }), [T, ie] = ge(null), [ae, re] = ge(
|
|
1508
1517
|
s ? "comments" : null
|
|
1509
|
-
),
|
|
1518
|
+
), v = je(
|
|
1510
1519
|
() => (g == null ? void 0 : g.submissionsConnection.nodes[0]) ?? null,
|
|
1511
1520
|
[g]
|
|
1512
|
-
), q =
|
|
1521
|
+
), q = v != null && v.attempt > 0, S = T ?? v, V = T == null || T.attempt === (v == null ? void 0 : v.attempt), k = q && V, P = ((g == null ? void 0 : g.allowedAttempts) ?? 0) !== 1, le = Rn((be) => {
|
|
1513
1522
|
ie(be);
|
|
1514
1523
|
}, []);
|
|
1515
1524
|
if (ct(() => {
|
|
@@ -1517,24 +1526,24 @@ function dr({
|
|
|
1517
1526
|
}, [I, E, l]), ct(() => {
|
|
1518
1527
|
s && q && re("comments");
|
|
1519
1528
|
}, [s, q]), D)
|
|
1520
|
-
return /* @__PURE__ */ i(h, { justifyItems: "center", padding: "large", children: /* @__PURE__ */ i(He, { renderTitle: m(
|
|
1529
|
+
return /* @__PURE__ */ i(h, { justifyItems: "center", padding: "large", children: /* @__PURE__ */ i(He, { renderTitle: m.progressLoading() }) });
|
|
1521
1530
|
if (I || !g)
|
|
1522
|
-
return /* @__PURE__ */ i(h, { justifyItems: "center", padding: "large", children: /* @__PURE__ */ i(y, { color: "danger", children: m(
|
|
1523
|
-
const Ge = !!g.dueAt && new Date(g.dueAt) < /* @__PURE__ */ new Date() && !q, Be =
|
|
1524
|
-
|
|
1531
|
+
return /* @__PURE__ */ i(h, { justifyItems: "center", padding: "large", children: /* @__PURE__ */ i(y, { color: "danger", children: m.assignmentLoadError() }) });
|
|
1532
|
+
const Ge = !!g.dueAt && new Date(g.dueAt) < /* @__PURE__ */ new Date() && !q, Be = v ? /* @__PURE__ */ i(
|
|
1533
|
+
Fi,
|
|
1525
1534
|
{
|
|
1526
|
-
submissionId:
|
|
1535
|
+
submissionId: v.id,
|
|
1527
1536
|
courseId: t,
|
|
1528
1537
|
assignmentId: r,
|
|
1529
1538
|
attempt: (S == null ? void 0 : S.attempt) ?? 0,
|
|
1530
1539
|
canPostComment: k,
|
|
1531
|
-
renderHTML:
|
|
1540
|
+
renderHTML: p,
|
|
1532
1541
|
executeQuery: b
|
|
1533
1542
|
}
|
|
1534
|
-
) : null,
|
|
1535
|
-
|
|
1543
|
+
) : null, O = P && v ? /* @__PURE__ */ i(
|
|
1544
|
+
Ii,
|
|
1536
1545
|
{
|
|
1537
|
-
submissionId:
|
|
1546
|
+
submissionId: v.id,
|
|
1538
1547
|
selectedAttempt: S == null ? void 0 : S.attempt,
|
|
1539
1548
|
onAttemptSelect: le,
|
|
1540
1549
|
pointsPossible: g.pointsPossible,
|
|
@@ -1542,15 +1551,15 @@ function dr({
|
|
|
1542
1551
|
}
|
|
1543
1552
|
) : null, he = {
|
|
1544
1553
|
commentsPanel: Be,
|
|
1545
|
-
attemptsPanel:
|
|
1554
|
+
attemptsPanel: O,
|
|
1546
1555
|
activePanel: ae,
|
|
1547
1556
|
setActivePanel: re,
|
|
1548
|
-
unreadCommentCount: (
|
|
1557
|
+
unreadCommentCount: (v == null ? void 0 : v.unreadCommentCount) ?? 0,
|
|
1549
1558
|
hasMultipleAttempts: P
|
|
1550
1559
|
};
|
|
1551
|
-
return /* @__PURE__ */
|
|
1560
|
+
return /* @__PURE__ */ _(h, { direction: "column", gap: "medium", children: [
|
|
1552
1561
|
/* @__PURE__ */ i(
|
|
1553
|
-
|
|
1562
|
+
wi,
|
|
1554
1563
|
{
|
|
1555
1564
|
score: S == null ? void 0 : S.score,
|
|
1556
1565
|
pointsPossible: g.pointsPossible,
|
|
@@ -1561,22 +1570,22 @@ function dr({
|
|
|
1561
1570
|
isOverdue: Ge
|
|
1562
1571
|
}
|
|
1563
1572
|
),
|
|
1564
|
-
g.description && /* @__PURE__ */
|
|
1565
|
-
/* @__PURE__ */ i(dt, { level: "h3", children: m(
|
|
1566
|
-
/* @__PURE__ */ i(Y, { as: "div", margin: "small none large none", children:
|
|
1573
|
+
g.description && /* @__PURE__ */ _(Y, { as: "div", children: [
|
|
1574
|
+
/* @__PURE__ */ i(dt, { level: "h3", children: m.assignmentInstructions() }),
|
|
1575
|
+
/* @__PURE__ */ i(Y, { as: "div", margin: "small none large none", children: p(g.description) })
|
|
1567
1576
|
] }),
|
|
1568
1577
|
/* @__PURE__ */ i(
|
|
1569
|
-
|
|
1578
|
+
Di,
|
|
1570
1579
|
{
|
|
1571
1580
|
submission: S,
|
|
1572
|
-
isLastAttempt:
|
|
1573
|
-
renderHTML:
|
|
1581
|
+
isLastAttempt: V,
|
|
1582
|
+
renderHTML: p
|
|
1574
1583
|
}
|
|
1575
1584
|
),
|
|
1576
|
-
|
|
1585
|
+
f ? f(he) : null
|
|
1577
1586
|
] });
|
|
1578
1587
|
}
|
|
1579
|
-
function
|
|
1588
|
+
function hr({
|
|
1580
1589
|
existingFiles: t,
|
|
1581
1590
|
onSubmit: r,
|
|
1582
1591
|
onSaveDraft: o,
|
|
@@ -1584,13 +1593,13 @@ function pr({
|
|
|
1584
1593
|
onSelectFiles: l,
|
|
1585
1594
|
isSubmitting: c = !1
|
|
1586
1595
|
}) {
|
|
1587
|
-
const
|
|
1596
|
+
const f = B(), [b, m] = ge(t ?? []), p = async () => {
|
|
1588
1597
|
const E = await l();
|
|
1589
1598
|
m((T) => [...T, ...E]);
|
|
1590
1599
|
}, g = (E) => {
|
|
1591
1600
|
m((T) => T.filter((ie) => ie.id !== E));
|
|
1592
1601
|
}, D = b.map((E) => E.id), I = b.length > 0 && !c;
|
|
1593
|
-
return /* @__PURE__ */
|
|
1602
|
+
return /* @__PURE__ */ _(h, { direction: "column", gap: "medium", children: [
|
|
1594
1603
|
b.length > 0 && /* @__PURE__ */ i(h, { direction: "column", gap: "x-small", children: b.map((E) => /* @__PURE__ */ i(
|
|
1595
1604
|
Y,
|
|
1596
1605
|
{
|
|
@@ -1599,15 +1608,15 @@ function pr({
|
|
|
1599
1608
|
borderWidth: "small",
|
|
1600
1609
|
borderColor: "primary",
|
|
1601
1610
|
borderRadius: "medium",
|
|
1602
|
-
children: /* @__PURE__ */
|
|
1611
|
+
children: /* @__PURE__ */ _(h, { justifyItems: "space-between", alignItems: "center", children: [
|
|
1603
1612
|
/* @__PURE__ */ i(y, { children: E.name }),
|
|
1604
1613
|
/* @__PURE__ */ i(
|
|
1605
1614
|
z,
|
|
1606
1615
|
{
|
|
1607
1616
|
size: "small",
|
|
1608
|
-
renderIcon: () => /* @__PURE__ */ i(
|
|
1617
|
+
renderIcon: () => /* @__PURE__ */ i(On, {}),
|
|
1609
1618
|
onClick: () => g(E.id),
|
|
1610
|
-
children: /* @__PURE__ */
|
|
1619
|
+
children: /* @__PURE__ */ _("span", { className: "screenreader-only", children: [
|
|
1611
1620
|
"Remove ",
|
|
1612
1621
|
E.name
|
|
1613
1622
|
] })
|
|
@@ -1617,15 +1626,15 @@ function pr({
|
|
|
1617
1626
|
},
|
|
1618
1627
|
E.id
|
|
1619
1628
|
)) }),
|
|
1620
|
-
/* @__PURE__ */ i(z, { onClick:
|
|
1621
|
-
/* @__PURE__ */
|
|
1629
|
+
/* @__PURE__ */ i(z, { onClick: p, children: f.submissionFormAddFiles() }),
|
|
1630
|
+
/* @__PURE__ */ _(h, { gap: "small", children: [
|
|
1622
1631
|
/* @__PURE__ */ i(
|
|
1623
1632
|
z,
|
|
1624
1633
|
{
|
|
1625
1634
|
color: "primary",
|
|
1626
1635
|
onClick: () => r(D),
|
|
1627
1636
|
interaction: I ? "enabled" : "disabled",
|
|
1628
|
-
children:
|
|
1637
|
+
children: f.submissionFormSubmit()
|
|
1629
1638
|
}
|
|
1630
1639
|
),
|
|
1631
1640
|
o && /* @__PURE__ */ i(
|
|
@@ -1633,32 +1642,32 @@ function pr({
|
|
|
1633
1642
|
{
|
|
1634
1643
|
onClick: () => o(D),
|
|
1635
1644
|
interaction: b.length > 0 ? "enabled" : "disabled",
|
|
1636
|
-
children:
|
|
1645
|
+
children: f.submissionFormSaveDraft()
|
|
1637
1646
|
}
|
|
1638
1647
|
),
|
|
1639
|
-
s && t && t.length > 0 && /* @__PURE__ */ i(z, { color: "primary-inverse", onClick: s, children:
|
|
1648
|
+
s && t && t.length > 0 && /* @__PURE__ */ i(z, { color: "primary-inverse", onClick: s, children: f.submissionFormDiscardDraft() })
|
|
1640
1649
|
] })
|
|
1641
1650
|
] });
|
|
1642
1651
|
}
|
|
1643
|
-
function
|
|
1652
|
+
function br({
|
|
1644
1653
|
prevItem: t,
|
|
1645
1654
|
nextItem: r,
|
|
1646
1655
|
onNavigatePrev: o,
|
|
1647
1656
|
onNavigateNext: s,
|
|
1648
1657
|
labels: l
|
|
1649
1658
|
}) {
|
|
1650
|
-
const
|
|
1659
|
+
const c = B();
|
|
1651
1660
|
if (!t && !r)
|
|
1652
1661
|
return null;
|
|
1653
|
-
const
|
|
1654
|
-
return /* @__PURE__ */
|
|
1662
|
+
const f = (l == null ? void 0 : l.previous) ?? c.navigationPrevious(), b = (l == null ? void 0 : l.next) ?? c.navigationNext();
|
|
1663
|
+
return /* @__PURE__ */ _(h, { justifyItems: "space-between", padding: "small none", children: [
|
|
1655
1664
|
t ? /* @__PURE__ */ i(
|
|
1656
1665
|
z,
|
|
1657
1666
|
{
|
|
1658
1667
|
renderIcon: () => /* @__PURE__ */ i(Zt, {}),
|
|
1659
1668
|
onClick: o,
|
|
1660
|
-
"aria-label": `${
|
|
1661
|
-
children:
|
|
1669
|
+
"aria-label": `${f}: ${t.title}`,
|
|
1670
|
+
children: f
|
|
1662
1671
|
}
|
|
1663
1672
|
) : /* @__PURE__ */ i("div", {}),
|
|
1664
1673
|
r ? /* @__PURE__ */ i(
|
|
@@ -1672,31 +1681,31 @@ function fr({
|
|
|
1672
1681
|
) : /* @__PURE__ */ i("div", {})
|
|
1673
1682
|
] });
|
|
1674
1683
|
}
|
|
1675
|
-
function
|
|
1684
|
+
function ji(t) {
|
|
1676
1685
|
switch (t) {
|
|
1677
1686
|
case "Assignment":
|
|
1678
|
-
return /* @__PURE__ */ i(
|
|
1687
|
+
return /* @__PURE__ */ i(Un, {});
|
|
1679
1688
|
case "Quiz":
|
|
1680
|
-
return /* @__PURE__ */ i(
|
|
1689
|
+
return /* @__PURE__ */ i(Pn, {});
|
|
1681
1690
|
case "Discussion":
|
|
1682
|
-
return /* @__PURE__ */ i(
|
|
1691
|
+
return /* @__PURE__ */ i(kn, {});
|
|
1683
1692
|
case "Page":
|
|
1684
1693
|
return /* @__PURE__ */ i(jt, {});
|
|
1685
1694
|
case "ExternalUrl":
|
|
1686
1695
|
case "ExternalTool":
|
|
1687
|
-
return /* @__PURE__ */ i(
|
|
1696
|
+
return /* @__PURE__ */ i(xn, {});
|
|
1688
1697
|
default:
|
|
1689
1698
|
return /* @__PURE__ */ i(jt, {});
|
|
1690
1699
|
}
|
|
1691
1700
|
}
|
|
1692
|
-
function
|
|
1701
|
+
function Hi({
|
|
1693
1702
|
item: t,
|
|
1694
1703
|
isSelected: r,
|
|
1695
1704
|
isLoadingItem: o,
|
|
1696
1705
|
onClick: s
|
|
1697
1706
|
}) {
|
|
1698
|
-
var m,
|
|
1699
|
-
const
|
|
1707
|
+
var m, p, g, D, I;
|
|
1708
|
+
const l = B(), c = ((m = t.content_details) == null ? void 0 : m.locked_for_user) ?? !1, f = (p = t.content_details) == null ? void 0 : p.lock_explanation, b = /* @__PURE__ */ i(
|
|
1700
1709
|
Y,
|
|
1701
1710
|
{
|
|
1702
1711
|
as: "div",
|
|
@@ -1710,59 +1719,49 @@ function Ui({
|
|
|
1710
1719
|
onKeyDown: c ? void 0 : (E) => {
|
|
1711
1720
|
(E.key === "Enter" || E.key === " ") && (E.preventDefault(), s());
|
|
1712
1721
|
},
|
|
1713
|
-
children: /* @__PURE__ */
|
|
1714
|
-
/* @__PURE__ */ i(h.Item, { children: c ? /* @__PURE__ */ i(Jt, {}) :
|
|
1715
|
-
/* @__PURE__ */ i(h.Item, { shouldGrow: !0, shouldShrink: !0, children: /* @__PURE__ */
|
|
1722
|
+
children: /* @__PURE__ */ _(h, { gap: "small", alignItems: "center", children: [
|
|
1723
|
+
/* @__PURE__ */ i(h.Item, { children: c ? /* @__PURE__ */ i(Jt, {}) : ji(t.type) }),
|
|
1724
|
+
/* @__PURE__ */ i(h.Item, { shouldGrow: !0, shouldShrink: !0, children: /* @__PURE__ */ _(h, { direction: "column", gap: "xx-small", children: [
|
|
1716
1725
|
/* @__PURE__ */ i(y, { weight: r ? "bold" : "normal", size: "small", children: t.title }),
|
|
1717
|
-
((g = t.content_details) == null ? void 0 : g.due_at) && /* @__PURE__ */ i(y, { size: "x-small", color: "secondary", children: l(
|
|
1726
|
+
((g = t.content_details) == null ? void 0 : g.due_at) && /* @__PURE__ */ i(y, { size: "x-small", color: "secondary", children: l.progressDueDate({
|
|
1718
1727
|
date: new Date(t.content_details.due_at).toLocaleDateString()
|
|
1719
1728
|
}) }),
|
|
1720
|
-
((D = t.content_details) == null ? void 0 : D.points_possible) != null && /* @__PURE__ */ i(y, { size: "x-small", color: "secondary", children: l(
|
|
1721
|
-
points: t.content_details.points_possible
|
|
1722
|
-
}) })
|
|
1729
|
+
((D = t.content_details) == null ? void 0 : D.points_possible) != null && /* @__PURE__ */ i(y, { size: "x-small", color: "secondary", children: l.progressPoints({ points: t.content_details.points_possible }) })
|
|
1723
1730
|
] }) }),
|
|
1724
|
-
o && /* @__PURE__ */ i(He, { size: "x-small", renderTitle: l(
|
|
1731
|
+
o && /* @__PURE__ */ i(He, { size: "x-small", renderTitle: l.progressLoading() }),
|
|
1725
1732
|
((I = t.completion_requirement) == null ? void 0 : I.completed) && /* @__PURE__ */ i(y, { color: "success", size: "small", children: "✓" })
|
|
1726
1733
|
] })
|
|
1727
1734
|
}
|
|
1728
1735
|
);
|
|
1729
|
-
return c &&
|
|
1736
|
+
return c && f ? /* @__PURE__ */ i(jn, { renderTip: f, placement: "end", children: b }) : b;
|
|
1730
1737
|
}
|
|
1731
|
-
function
|
|
1738
|
+
function Tr({
|
|
1732
1739
|
module: t,
|
|
1733
1740
|
currentItemId: r,
|
|
1734
1741
|
onItemClick: o,
|
|
1735
1742
|
onClose: s,
|
|
1736
1743
|
onNavigateModule: l,
|
|
1737
1744
|
hasPrevModule: c = !1,
|
|
1738
|
-
hasNextModule:
|
|
1745
|
+
hasNextModule: f = !1,
|
|
1739
1746
|
isLoading: b = !1,
|
|
1740
1747
|
title: m
|
|
1741
1748
|
}) {
|
|
1742
1749
|
var D;
|
|
1743
|
-
const
|
|
1744
|
-
return /* @__PURE__ */
|
|
1745
|
-
/* @__PURE__ */
|
|
1750
|
+
const p = B(), g = m ?? p.navigationMyProgress();
|
|
1751
|
+
return /* @__PURE__ */ _(h, { direction: "column", height: "100%", children: [
|
|
1752
|
+
/* @__PURE__ */ _(h, { justifyItems: "space-between", alignItems: "center", padding: "small", children: [
|
|
1746
1753
|
/* @__PURE__ */ i(dt, { level: "h3", children: g }),
|
|
1747
|
-
/* @__PURE__ */ i(
|
|
1748
|
-
Pn,
|
|
1749
|
-
{
|
|
1750
|
-
screenReaderLabel: f("navigation.closePanel", "Close"),
|
|
1751
|
-
onClick: s,
|
|
1752
|
-
size: "small",
|
|
1753
|
-
children: /* @__PURE__ */ i(Ln, {})
|
|
1754
|
-
}
|
|
1755
|
-
)
|
|
1754
|
+
/* @__PURE__ */ i(zn, { screenReaderLabel: p.navigationClosePanel(), onClick: s, size: "small", children: /* @__PURE__ */ i(Mn, {}) })
|
|
1756
1755
|
] }),
|
|
1757
|
-
/* @__PURE__ */
|
|
1758
|
-
t.state === "locked" && /* @__PURE__ */ i(h, { padding: "none none small", children: /* @__PURE__ */
|
|
1756
|
+
/* @__PURE__ */ _(Y, { as: "div", padding: "none small", overflowY: "auto", children: [
|
|
1757
|
+
t.state === "locked" && /* @__PURE__ */ i(h, { padding: "none none small", children: /* @__PURE__ */ _(ft, { color: "warning", children: [
|
|
1759
1758
|
/* @__PURE__ */ i(Jt, {}),
|
|
1760
1759
|
" ",
|
|
1761
|
-
|
|
1760
|
+
p.progressLocked()
|
|
1762
1761
|
] }) }),
|
|
1763
1762
|
/* @__PURE__ */ i(y, { weight: "bold", size: "medium", children: t.name }),
|
|
1764
1763
|
/* @__PURE__ */ i(h, { direction: "column", gap: "xx-small", padding: "small none", children: (D = t.items) == null ? void 0 : D.map((I) => /* @__PURE__ */ i(
|
|
1765
|
-
|
|
1764
|
+
Hi,
|
|
1766
1765
|
{
|
|
1767
1766
|
item: I,
|
|
1768
1767
|
isSelected: I.id === r,
|
|
@@ -1772,7 +1771,7 @@ function gr({
|
|
|
1772
1771
|
I.id
|
|
1773
1772
|
)) })
|
|
1774
1773
|
] }),
|
|
1775
|
-
l && /* @__PURE__ */
|
|
1774
|
+
l && /* @__PURE__ */ _(h, { justifyItems: "space-between", padding: "small", children: [
|
|
1776
1775
|
/* @__PURE__ */ i(
|
|
1777
1776
|
z,
|
|
1778
1777
|
{
|
|
@@ -1780,8 +1779,8 @@ function gr({
|
|
|
1780
1779
|
size: "small",
|
|
1781
1780
|
interaction: c ? "enabled" : "disabled",
|
|
1782
1781
|
onClick: () => l("prev"),
|
|
1783
|
-
"aria-label":
|
|
1784
|
-
children:
|
|
1782
|
+
"aria-label": p.navigationPreviousModule(),
|
|
1783
|
+
children: p.navigationPrevious()
|
|
1785
1784
|
}
|
|
1786
1785
|
),
|
|
1787
1786
|
/* @__PURE__ */ i(
|
|
@@ -1789,66 +1788,66 @@ function gr({
|
|
|
1789
1788
|
{
|
|
1790
1789
|
renderIcon: () => /* @__PURE__ */ i(Qt, {}),
|
|
1791
1790
|
size: "small",
|
|
1792
|
-
interaction:
|
|
1791
|
+
interaction: f ? "enabled" : "disabled",
|
|
1793
1792
|
onClick: () => l("next"),
|
|
1794
|
-
"aria-label":
|
|
1795
|
-
children:
|
|
1793
|
+
"aria-label": p.navigationNextModule(),
|
|
1794
|
+
children: p.navigationNext()
|
|
1796
1795
|
}
|
|
1797
1796
|
)
|
|
1798
1797
|
] })
|
|
1799
1798
|
] });
|
|
1800
1799
|
}
|
|
1801
|
-
function
|
|
1800
|
+
function Ar({
|
|
1802
1801
|
existingDraft: t,
|
|
1803
1802
|
onSubmit: r,
|
|
1804
1803
|
onSaveDraft: o,
|
|
1805
1804
|
onDiscardDraft: s,
|
|
1806
1805
|
isSubmitting: l = !1
|
|
1807
1806
|
}) {
|
|
1808
|
-
const
|
|
1809
|
-
return /* @__PURE__ */
|
|
1807
|
+
const c = B(), [f, b] = ge(t ?? ""), m = f.trim().length > 0 && !l;
|
|
1808
|
+
return /* @__PURE__ */ _(h, { direction: "column", gap: "medium", children: [
|
|
1810
1809
|
/* @__PURE__ */ i(
|
|
1811
1810
|
tn,
|
|
1812
1811
|
{
|
|
1813
|
-
label: c(
|
|
1814
|
-
value:
|
|
1815
|
-
onChange: (
|
|
1812
|
+
label: c.submissionTextHeading(),
|
|
1813
|
+
value: f,
|
|
1814
|
+
onChange: (p) => b(p.target.value),
|
|
1816
1815
|
resize: "vertical",
|
|
1817
1816
|
height: "200px"
|
|
1818
1817
|
}
|
|
1819
1818
|
),
|
|
1820
|
-
/* @__PURE__ */
|
|
1819
|
+
/* @__PURE__ */ _(h, { gap: "small", children: [
|
|
1821
1820
|
/* @__PURE__ */ i(
|
|
1822
1821
|
z,
|
|
1823
1822
|
{
|
|
1824
1823
|
color: "primary",
|
|
1825
|
-
onClick: () => r(
|
|
1824
|
+
onClick: () => r(f),
|
|
1826
1825
|
interaction: m ? "enabled" : "disabled",
|
|
1827
|
-
children: c(
|
|
1826
|
+
children: c.submissionFormSubmit()
|
|
1828
1827
|
}
|
|
1829
1828
|
),
|
|
1830
1829
|
o && /* @__PURE__ */ i(
|
|
1831
1830
|
z,
|
|
1832
1831
|
{
|
|
1833
|
-
onClick: () => o(
|
|
1834
|
-
interaction:
|
|
1835
|
-
children: c(
|
|
1832
|
+
onClick: () => o(f),
|
|
1833
|
+
interaction: f.trim().length > 0 ? "enabled" : "disabled",
|
|
1834
|
+
children: c.submissionFormSaveDraft()
|
|
1836
1835
|
}
|
|
1837
1836
|
),
|
|
1838
|
-
s && t && /* @__PURE__ */ i(z, { color: "primary-inverse", onClick: s, children: c(
|
|
1837
|
+
s && t && /* @__PURE__ */ i(z, { color: "primary-inverse", onClick: s, children: c.submissionFormDiscardDraft() })
|
|
1839
1838
|
] })
|
|
1840
1839
|
] });
|
|
1841
1840
|
}
|
|
1842
|
-
function
|
|
1841
|
+
function _r({
|
|
1843
1842
|
unreadCount: t
|
|
1844
1843
|
}) {
|
|
1845
|
-
const
|
|
1844
|
+
const r = B();
|
|
1846
1845
|
if (t === 0)
|
|
1847
1846
|
return null;
|
|
1848
|
-
const o = t === 1 ? r(
|
|
1849
|
-
return /* @__PURE__ */ i(nn, { count: t, standalone: !0, children: /* @__PURE__ */ i(
|
|
1847
|
+
const o = t === 1 ? r.commentsUnreadSingle() : r.commentsUnread({ count: t });
|
|
1848
|
+
return /* @__PURE__ */ i(nn, { count: t, standalone: !0, children: /* @__PURE__ */ i(pt, { children: o }) });
|
|
1850
1849
|
}
|
|
1851
|
-
function
|
|
1850
|
+
function Sr({
|
|
1852
1851
|
courseId: t,
|
|
1853
1852
|
moduleItemId: r,
|
|
1854
1853
|
fetchSequence: o,
|
|
@@ -1861,40 +1860,42 @@ function Tr({
|
|
|
1861
1860
|
});
|
|
1862
1861
|
}
|
|
1863
1862
|
export {
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1863
|
+
pi as AssignmentResponseSchema,
|
|
1864
|
+
gr as AssignmentReview,
|
|
1865
|
+
Ei as AttemptCard,
|
|
1866
|
+
Di as AttemptView,
|
|
1867
|
+
Ii as AttemptsHistory,
|
|
1868
|
+
dr as CREATE_SUBMISSION,
|
|
1869
|
+
vi as CREATE_SUBMISSION_COMMENT,
|
|
1870
|
+
fr as CREATE_SUBMISSION_DRAFT,
|
|
1871
|
+
Ui as CommentCard,
|
|
1872
|
+
Ti as CreateSubmissionCommentResponseSchema,
|
|
1873
|
+
mr as CreateSubmissionDraftResponseSchema,
|
|
1874
|
+
cr as CreateSubmissionResponseSchema,
|
|
1875
|
+
pr as DELETE_SUBMISSION_DRAFT,
|
|
1876
|
+
ur as DeleteSubmissionDraftResponseSchema,
|
|
1877
|
+
un as DownloadButtons,
|
|
1878
|
+
hr as FileUploadSubmissionForm,
|
|
1879
|
+
li as GET_ASSIGNMENT,
|
|
1880
|
+
mi as GET_SUBMISSIONS,
|
|
1881
|
+
ci as GET_SUBMISSION_COMMENTS,
|
|
1882
|
+
wi as LearningContentHeader,
|
|
1883
|
+
Ni as MARK_SUBMISSION_COMMENTS_READ,
|
|
1884
|
+
Ai as MarkSubmissionCommentsReadResponseSchema,
|
|
1885
|
+
br as ModuleNavigation,
|
|
1886
|
+
Tr as MyProgressPanel,
|
|
1887
|
+
Fi as SubmissionComments,
|
|
1888
|
+
lr as SubmissionCommentsDataSchema,
|
|
1889
|
+
gi as SubmissionCommentsQueryResponseSchema,
|
|
1890
|
+
bi as SubmissionsQueryResponseSchema,
|
|
1891
|
+
Ar as TextEntrySubmissionForm,
|
|
1892
|
+
ar as TranslationsProvider,
|
|
1893
|
+
_r as UnreadCommentsBadge,
|
|
1894
|
+
Oi as useCreateSubmissionComment,
|
|
1895
|
+
_i as useGetAssignment,
|
|
1896
|
+
Mi as useGetSubmissionComments,
|
|
1897
|
+
Si as useGetSubmissions,
|
|
1898
|
+
xi as useMarkSubmissionCommentsRead,
|
|
1899
|
+
Sr as useModuleItemSequence,
|
|
1900
|
+
B as useTranslations
|
|
1900
1901
|
};
|