@instructure/platform-assignment-review 0.4.10 → 0.4.12
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/index.js +454 -436
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import { jsx as r, jsxs as S } from "react/jsx-runtime";
|
|
2
|
-
import { createContext as
|
|
3
|
-
import { Flex as
|
|
2
|
+
import { createContext as Fn, useContext as Un, useMemo as qe, useState as Ee, useRef as zn, useEffect as Tt, useCallback as jn } from "react";
|
|
3
|
+
import { Flex as b } from "@instructure/ui-flex";
|
|
4
4
|
import { Heading as St } from "@instructure/ui-heading";
|
|
5
5
|
import { Spinner as Ye } from "@instructure/ui-spinner";
|
|
6
6
|
import { Text as _ } from "@instructure/ui-text";
|
|
7
7
|
import { View as K } from "@instructure/ui-view";
|
|
8
|
-
import { useQuery as Ve, useQueryClient as
|
|
8
|
+
import { useQuery as Ve, useQueryClient as un, useMutation as dn } from "@tanstack/react-query";
|
|
9
9
|
import ae from "graphql-tag";
|
|
10
10
|
import { z as i } from "zod";
|
|
11
11
|
import { Pill as _t } from "@instructure/ui-pill";
|
|
12
|
-
import { IconDownloadLine as
|
|
12
|
+
import { IconDownloadLine as Hn, IconCheckMarkSolid as $n, IconArrowStartLine as Bn, IconArrowEndLine as Gn, IconTrashLine as Wn, IconArrowOpenStartLine as fn, IconArrowOpenEndLine as pn, IconXLine as qn, IconLockLine as gn, IconDocumentLine as Kt, IconLinkLine as Yn, IconDiscussionLine as Vn, IconQuizLine as Xn, IconAssignmentLine as Kn } from "@instructure/ui-icons";
|
|
13
13
|
import { ScreenReaderContent as Et } from "@instructure/ui-a11y-content";
|
|
14
|
-
import { Link as
|
|
15
|
-
import { TruncateText as
|
|
16
|
-
import { Button as $, IconButton as
|
|
17
|
-
import { TextArea as
|
|
18
|
-
import { Badge as
|
|
19
|
-
import { Tooltip as
|
|
20
|
-
const
|
|
21
|
-
function
|
|
14
|
+
import { Link as Zn } from "@instructure/ui-link";
|
|
15
|
+
import { TruncateText as hn } from "@instructure/ui-truncate-text";
|
|
16
|
+
import { Button as $, IconButton as Qn } from "@instructure/ui-buttons";
|
|
17
|
+
import { TextArea as bn } from "@instructure/ui-text-area";
|
|
18
|
+
import { Badge as Tn } from "@instructure/ui-badge";
|
|
19
|
+
import { Tooltip as Jn } from "@instructure/ui-tooltip";
|
|
20
|
+
const yn = Fn(void 0);
|
|
21
|
+
function Fo({
|
|
22
22
|
translations: e,
|
|
23
23
|
children: n
|
|
24
24
|
}) {
|
|
25
|
-
return /* @__PURE__ */ r(
|
|
25
|
+
return /* @__PURE__ */ r(yn.Provider, { value: e, children: n });
|
|
26
26
|
}
|
|
27
27
|
function q() {
|
|
28
|
-
const e =
|
|
28
|
+
const e = Un(yn);
|
|
29
29
|
if (!e)
|
|
30
30
|
throw new Error("useTranslations must be used within TranslationsProvider");
|
|
31
31
|
return e;
|
|
@@ -36,43 +36,43 @@ function Zt(e, n) {
|
|
|
36
36
|
for (var o = 0, a = Array(n); o < n; o++) a[o] = e[o];
|
|
37
37
|
return a;
|
|
38
38
|
}
|
|
39
|
-
function
|
|
39
|
+
function ei(e) {
|
|
40
40
|
if (Array.isArray(e)) return e;
|
|
41
41
|
}
|
|
42
|
-
function
|
|
42
|
+
function ti(e, n) {
|
|
43
43
|
var o = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
|
|
44
44
|
if (o != null) {
|
|
45
|
-
var a,
|
|
45
|
+
var a, c, l, u, h = [], d = !0, f = !1;
|
|
46
46
|
try {
|
|
47
|
-
if (
|
|
47
|
+
if (l = (o = o.call(e)).next, n !== 0) for (; !(d = (a = l.call(o)).done) && (h.push(a.value), h.length !== n); d = !0) ;
|
|
48
48
|
} catch (g) {
|
|
49
|
-
f = !0,
|
|
49
|
+
f = !0, c = g;
|
|
50
50
|
} finally {
|
|
51
51
|
try {
|
|
52
|
-
if (!
|
|
52
|
+
if (!d && o.return != null && (u = o.return(), Object(u) !== u)) return;
|
|
53
53
|
} finally {
|
|
54
|
-
if (f) throw
|
|
54
|
+
if (f) throw c;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
return
|
|
57
|
+
return h;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
function
|
|
60
|
+
function ni() {
|
|
61
61
|
throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
62
62
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
63
63
|
}
|
|
64
|
-
function
|
|
65
|
-
return
|
|
64
|
+
function ii(e, n) {
|
|
65
|
+
return ei(e) || ti(e, n) || oi(e, n) || ni();
|
|
66
66
|
}
|
|
67
|
-
function
|
|
67
|
+
function oi(e, n) {
|
|
68
68
|
if (e) {
|
|
69
69
|
if (typeof e == "string") return Zt(e, n);
|
|
70
70
|
var o = {}.toString.call(e).slice(8, -1);
|
|
71
71
|
return o === "Object" && e.constructor && (o = e.constructor.name), o === "Map" || o === "Set" ? Array.from(e) : o === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o) ? Zt(e, n) : void 0;
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
-
const
|
|
75
|
-
let B = Object.freeze, Y = Object.seal, _e = Object.create,
|
|
74
|
+
const An = Object.entries, Qt = Object.setPrototypeOf, ri = Object.isFrozen, si = Object.getPrototypeOf, ai = Object.getOwnPropertyDescriptor;
|
|
75
|
+
let B = Object.freeze, Y = Object.seal, _e = Object.create, Sn = typeof Reflect < "u" && Reflect, yt = Sn.apply, At = Sn.construct;
|
|
76
76
|
B || (B = function(n) {
|
|
77
77
|
return n;
|
|
78
78
|
});
|
|
@@ -80,25 +80,25 @@ Y || (Y = function(n) {
|
|
|
80
80
|
return n;
|
|
81
81
|
});
|
|
82
82
|
yt || (yt = function(n, o) {
|
|
83
|
-
for (var a = arguments.length,
|
|
84
|
-
l
|
|
85
|
-
return n.apply(o,
|
|
83
|
+
for (var a = arguments.length, c = new Array(a > 2 ? a - 2 : 0), l = 2; l < a; l++)
|
|
84
|
+
c[l - 2] = arguments[l];
|
|
85
|
+
return n.apply(o, c);
|
|
86
86
|
});
|
|
87
87
|
At || (At = function(n) {
|
|
88
|
-
for (var o = arguments.length, a = new Array(o > 1 ? o - 1 : 0),
|
|
89
|
-
a[
|
|
88
|
+
for (var o = arguments.length, a = new Array(o > 1 ? o - 1 : 0), c = 1; c < o; c++)
|
|
89
|
+
a[c - 1] = arguments[c];
|
|
90
90
|
return new n(...a);
|
|
91
91
|
});
|
|
92
|
-
const Te = x(Array.prototype.forEach),
|
|
92
|
+
const Te = x(Array.prototype.forEach), li = x(Array.prototype.lastIndexOf), Jt = x(Array.prototype.pop), ye = x(Array.prototype.push), ci = x(Array.prototype.splice), H = Array.isArray, Ne = x(String.prototype.toLowerCase), dt = x(String.prototype.toString), en = x(String.prototype.match), Ae = x(String.prototype.replace), tn = x(String.prototype.indexOf), mi = x(String.prototype.trim), ui = x(Number.prototype.toString), di = x(Boolean.prototype.toString), nn = typeof BigInt > "u" ? null : x(BigInt.prototype.toString), on = typeof Symbol > "u" ? null : x(Symbol.prototype.toString), D = x(Object.prototype.hasOwnProperty), Oe = x(Object.prototype.toString), z = x(RegExp.prototype.test), Ge = fi(TypeError);
|
|
93
93
|
function x(e) {
|
|
94
94
|
return function(n) {
|
|
95
95
|
n instanceof RegExp && (n.lastIndex = 0);
|
|
96
|
-
for (var o = arguments.length, a = new Array(o > 1 ? o - 1 : 0),
|
|
97
|
-
a[
|
|
96
|
+
for (var o = arguments.length, a = new Array(o > 1 ? o - 1 : 0), c = 1; c < o; c++)
|
|
97
|
+
a[c - 1] = arguments[c];
|
|
98
98
|
return yt(e, n, a);
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
|
-
function
|
|
101
|
+
function fi(e) {
|
|
102
102
|
return function() {
|
|
103
103
|
for (var n = arguments.length, o = new Array(n), a = 0; a < n; a++)
|
|
104
104
|
o[a] = arguments[a];
|
|
@@ -111,37 +111,37 @@ function T(e, n) {
|
|
|
111
111
|
return e;
|
|
112
112
|
let a = n.length;
|
|
113
113
|
for (; a--; ) {
|
|
114
|
-
let
|
|
115
|
-
if (typeof
|
|
116
|
-
const
|
|
117
|
-
|
|
114
|
+
let c = n[a];
|
|
115
|
+
if (typeof c == "string") {
|
|
116
|
+
const l = o(c);
|
|
117
|
+
l !== c && (ri(n) || (n[a] = l), c = l);
|
|
118
118
|
}
|
|
119
|
-
e[
|
|
119
|
+
e[c] = !0;
|
|
120
120
|
}
|
|
121
121
|
return e;
|
|
122
122
|
}
|
|
123
|
-
function
|
|
123
|
+
function pi(e) {
|
|
124
124
|
for (let n = 0; n < e.length; n++)
|
|
125
125
|
D(e, n) || (e[n] = null);
|
|
126
126
|
return e;
|
|
127
127
|
}
|
|
128
128
|
function W(e) {
|
|
129
129
|
const n = _e(null);
|
|
130
|
-
for (const a of
|
|
131
|
-
var o =
|
|
132
|
-
const
|
|
133
|
-
D(e,
|
|
130
|
+
for (const a of An(e)) {
|
|
131
|
+
var o = ii(a, 2);
|
|
132
|
+
const c = o[0], l = o[1];
|
|
133
|
+
D(e, c) && (H(l) ? n[c] = pi(l) : l && typeof l == "object" && l.constructor === Object ? n[c] = W(l) : n[c] = l);
|
|
134
134
|
}
|
|
135
135
|
return n;
|
|
136
136
|
}
|
|
137
|
-
function
|
|
137
|
+
function gi(e) {
|
|
138
138
|
switch (typeof e) {
|
|
139
139
|
case "string":
|
|
140
140
|
return e;
|
|
141
141
|
case "number":
|
|
142
|
-
return
|
|
142
|
+
return ui(e);
|
|
143
143
|
case "boolean":
|
|
144
|
-
return
|
|
144
|
+
return di(e);
|
|
145
145
|
case "bigint":
|
|
146
146
|
return nn ? nn(e) : "0";
|
|
147
147
|
case "symbol":
|
|
@@ -165,60 +165,60 @@ function hi(e) {
|
|
|
165
165
|
}
|
|
166
166
|
function de(e, n) {
|
|
167
167
|
for (; e !== null; ) {
|
|
168
|
-
const a =
|
|
168
|
+
const a = ai(e, n);
|
|
169
169
|
if (a) {
|
|
170
170
|
if (a.get)
|
|
171
171
|
return x(a.get);
|
|
172
172
|
if (typeof a.value == "function")
|
|
173
173
|
return x(a.value);
|
|
174
174
|
}
|
|
175
|
-
e =
|
|
175
|
+
e = si(e);
|
|
176
176
|
}
|
|
177
177
|
function o() {
|
|
178
178
|
return null;
|
|
179
179
|
}
|
|
180
180
|
return o;
|
|
181
181
|
}
|
|
182
|
-
function
|
|
182
|
+
function hi(e) {
|
|
183
183
|
try {
|
|
184
184
|
return z(e, ""), !0;
|
|
185
185
|
} catch {
|
|
186
186
|
return !1;
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
|
-
const rn = B(["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"]), ft = B(["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"]), pt = B(["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"]),
|
|
189
|
+
const rn = B(["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"]), ft = B(["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"]), pt = B(["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"]), bi = B(["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"]), gt = B(["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"]), Ti = B(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]), sn = B(["#text"]), an = B(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "command", "commandfor", "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"]), ht = B(["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"]), ln = B(["accent", "accentunder", "align", "bevelled", "close", "columnalign", "columnlines", "columnspacing", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lquote", "lspace", "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"]), We = B(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), yi = Y(/{{[\w\W]*|^[\w\W]*}}/g), Ai = Y(/<%[\w\W]*|^[\w\W]*%>/g), Si = Y(/\${[\w\W]*/g), _i = Y(/^data-[\-\w.\u00B7-\uFFFF]+$/), Ei = Y(/^aria-[\-\w]+$/), cn = Y(
|
|
190
190
|
/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
|
|
191
191
|
// eslint-disable-line no-useless-escape
|
|
192
|
-
),
|
|
192
|
+
), Ii = Y(/^(?:\w+script|data):/i), wi = Y(
|
|
193
193
|
/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g
|
|
194
194
|
// eslint-disable-line no-control-regex
|
|
195
|
-
),
|
|
195
|
+
), Ci = Y(/^html$/i), Di = Y(/^[a-z][.\w]*(-[.\w]+)+$/i), Se = {
|
|
196
196
|
element: 1,
|
|
197
197
|
text: 3,
|
|
198
198
|
// Deprecated
|
|
199
199
|
progressingInstruction: 7,
|
|
200
200
|
comment: 8,
|
|
201
201
|
document: 9
|
|
202
|
-
},
|
|
202
|
+
}, Ri = function() {
|
|
203
203
|
return typeof window > "u" ? null : window;
|
|
204
|
-
},
|
|
204
|
+
}, Oi = function(n, o) {
|
|
205
205
|
if (typeof n != "object" || typeof n.createPolicy != "function")
|
|
206
206
|
return null;
|
|
207
207
|
let a = null;
|
|
208
|
-
const
|
|
209
|
-
o && o.hasAttribute(
|
|
210
|
-
const
|
|
208
|
+
const c = "data-tt-policy-suffix";
|
|
209
|
+
o && o.hasAttribute(c) && (a = o.getAttribute(c));
|
|
210
|
+
const l = "dompurify" + (a ? "#" + a : "");
|
|
211
211
|
try {
|
|
212
|
-
return n.createPolicy(
|
|
213
|
-
createHTML(
|
|
214
|
-
return
|
|
212
|
+
return n.createPolicy(l, {
|
|
213
|
+
createHTML(u) {
|
|
214
|
+
return u;
|
|
215
215
|
},
|
|
216
|
-
createScriptURL(
|
|
217
|
-
return
|
|
216
|
+
createScriptURL(u) {
|
|
217
|
+
return u;
|
|
218
218
|
}
|
|
219
219
|
});
|
|
220
220
|
} catch {
|
|
221
|
-
return console.warn("TrustedTypes policy " +
|
|
221
|
+
return console.warn("TrustedTypes policy " + l + " could not be created."), null;
|
|
222
222
|
}
|
|
223
223
|
}, mn = function() {
|
|
224
224
|
return {
|
|
@@ -233,22 +233,22 @@ const rn = B(["a", "abbr", "acronym", "address", "area", "article", "aside", "au
|
|
|
233
233
|
uponSanitizeShadowNode: []
|
|
234
234
|
};
|
|
235
235
|
};
|
|
236
|
-
function
|
|
237
|
-
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] :
|
|
238
|
-
const n = (p) =>
|
|
236
|
+
function _n() {
|
|
237
|
+
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : Ri();
|
|
238
|
+
const n = (p) => _n(p);
|
|
239
239
|
if (n.version = "3.4.5", n.removed = [], !e || !e.document || e.document.nodeType !== Se.document || !e.Element)
|
|
240
240
|
return n.isSupported = !1, n;
|
|
241
241
|
let o = e.document;
|
|
242
|
-
const a = o,
|
|
243
|
-
if (typeof
|
|
242
|
+
const a = o, c = a.currentScript, l = e.DocumentFragment, u = e.HTMLTemplateElement, h = e.Node, d = e.Element, f = e.NodeFilter, g = e.NamedNodeMap, C = g === void 0 ? e.NamedNodeMap || e.MozNamedAttrMap : g, I = e.HTMLFormElement, w = e.DOMParser, y = e.trustedTypes, V = d.prototype, fe = de(V, "cloneNode"), le = de(V, "remove"), M = de(V, "nextSibling"), ne = de(V, "childNodes"), O = de(V, "parentNode"), ce = h && h.prototype ? de(h.prototype, "nodeType") : null;
|
|
243
|
+
if (typeof u == "function") {
|
|
244
244
|
const p = o.createElement("template");
|
|
245
245
|
p.content && p.content.ownerDocument && (o = p.content.ownerDocument);
|
|
246
246
|
}
|
|
247
247
|
let E, N = "";
|
|
248
248
|
const J = o, Ie = J.implementation, xe = J.createNodeIterator, Xe = J.createDocumentFragment, Ke = J.getElementsByTagName, Ze = a.importNode;
|
|
249
249
|
let j = mn();
|
|
250
|
-
n.isSupported = typeof
|
|
251
|
-
const ke =
|
|
250
|
+
n.isSupported = typeof An == "function" && typeof O == "function" && Ie && Ie.createHTMLDocument !== void 0;
|
|
251
|
+
const ke = yi, Me = Ai, Pe = Si, Cn = _i, Dn = Ei, Rn = Ii, wt = wi, On = Di;
|
|
252
252
|
let Ct = cn, P = null;
|
|
253
253
|
const Dt = T({}, [...rn, ...ft, ...pt, ...gt, ...sn]);
|
|
254
254
|
let U = null;
|
|
@@ -296,20 +296,20 @@ function En() {
|
|
|
296
296
|
let it = null;
|
|
297
297
|
const Ft = T({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]), je = "http://www.w3.org/1998/Math/MathML", He = "http://www.w3.org/2000/svg", Q = "http://www.w3.org/1999/xhtml";
|
|
298
298
|
let he = Q, ot = !1, rt = null;
|
|
299
|
-
const
|
|
299
|
+
const Nn = T({}, [je, He, Q], dt);
|
|
300
300
|
let st = T({}, ["mi", "mo", "mn", "ms", "mtext"]), at = T({}, ["annotation-xml"]);
|
|
301
|
-
const
|
|
301
|
+
const vn = T({}, ["title", "style", "font", "a", "script"]);
|
|
302
302
|
let Re = null;
|
|
303
|
-
const
|
|
303
|
+
const Ln = ["application/xhtml+xml", "text/html"], xn = "text/html";
|
|
304
304
|
let k = null, be = null;
|
|
305
|
-
const
|
|
305
|
+
const kn = o.createElement("form"), Ut = function(t) {
|
|
306
306
|
return t instanceof RegExp || t instanceof Function;
|
|
307
307
|
}, lt = function() {
|
|
308
308
|
let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
309
309
|
if (be && be === t)
|
|
310
310
|
return;
|
|
311
311
|
(!t || typeof t != "object") && (t = {}), t = W(t), Re = // eslint-disable-next-line unicorn/prefer-includes
|
|
312
|
-
|
|
312
|
+
Ln.indexOf(t.PARSER_MEDIA_TYPE) === -1 ? xn : t.PARSER_MEDIA_TYPE, k = Re === "application/xhtml+xml" ? dt : Ne, P = D(t, "ALLOWED_TAGS") && H(t.ALLOWED_TAGS) ? T({}, t.ALLOWED_TAGS, k) : Dt, U = D(t, "ALLOWED_ATTR") && H(t.ALLOWED_ATTR) ? T({}, t.ALLOWED_ATTR, k) : Rt, rt = D(t, "ALLOWED_NAMESPACES") && H(t.ALLOWED_NAMESPACES) ? T({}, t.ALLOWED_NAMESPACES, dt) : Nn, it = D(t, "ADD_URI_SAFE_ATTR") && H(t.ADD_URI_SAFE_ATTR) ? T(W(Ft), t.ADD_URI_SAFE_ATTR, k) : Ft, Mt = D(t, "ADD_DATA_URI_TAGS") && H(t.ADD_DATA_URI_TAGS) ? T(W(Pt), t.ADD_DATA_URI_TAGS, k) : Pt, Z = D(t, "FORBID_CONTENTS") && H(t.FORBID_CONTENTS) ? T({}, t.FORBID_CONTENTS, k) : nt, we = D(t, "FORBID_TAGS") && H(t.FORBID_TAGS) ? T({}, t.FORBID_TAGS, k) : W({}), Fe = D(t, "FORBID_ATTR") && H(t.FORBID_ATTR) ? T({}, t.FORBID_ATTR, k) : W({}), ge = D(t, "USE_PROFILES") ? t.USE_PROFILES && typeof t.USE_PROFILES == "object" ? W(t.USE_PROFILES) : t.USE_PROFILES : !1, Ot = t.ALLOW_ARIA_ATTR !== !1, Qe = t.ALLOW_DATA_ATTR !== !1, Nt = t.ALLOW_UNKNOWN_PROTOCOLS || !1, vt = t.ALLOW_SELF_CLOSE_IN_ATTR !== !1, oe = t.SAFE_FOR_TEMPLATES || !1, Ce = t.SAFE_FOR_XML !== !1, me = t.WHOLE_DOCUMENT || !1, pe = t.RETURN_DOM || !1, Ue = t.RETURN_DOM_FRAGMENT || !1, ze = t.RETURN_TRUSTED_TYPE || !1, et = t.FORCE_BODY || !1, Lt = t.SANITIZE_DOM !== !1, xt = t.SANITIZE_NAMED_PROPS || !1, tt = t.KEEP_CONTENT !== !1, De = t.IN_PLACE || !1, Ct = hi(t.ALLOWED_URI_REGEXP) ? t.ALLOWED_URI_REGEXP : cn, he = typeof t.NAMESPACE == "string" ? t.NAMESPACE : Q, st = D(t, "MATHML_TEXT_INTEGRATION_POINTS") && t.MATHML_TEXT_INTEGRATION_POINTS && typeof t.MATHML_TEXT_INTEGRATION_POINTS == "object" ? W(t.MATHML_TEXT_INTEGRATION_POINTS) : T({}, ["mi", "mo", "mn", "ms", "mtext"]), at = D(t, "HTML_INTEGRATION_POINTS") && t.HTML_INTEGRATION_POINTS && typeof t.HTML_INTEGRATION_POINTS == "object" ? W(t.HTML_INTEGRATION_POINTS) : T({}, ["annotation-xml"]);
|
|
313
313
|
const s = D(t, "CUSTOM_ELEMENT_HANDLING") && t.CUSTOM_ELEMENT_HANDLING && typeof t.CUSTOM_ELEMENT_HANDLING == "object" ? W(t.CUSTOM_ELEMENT_HANDLING) : _e(null);
|
|
314
314
|
if (R = _e(null), D(s, "tagNameCheck") && Ut(s.tagNameCheck) && (R.tagNameCheck = s.tagNameCheck), D(s, "attributeNameCheck") && Ut(s.attributeNameCheck) && (R.attributeNameCheck = s.attributeNameCheck), D(s, "allowCustomizedBuiltInElements") && typeof s.allowCustomizedBuiltInElements == "boolean" && (R.allowCustomizedBuiltInElements = s.allowCustomizedBuiltInElements), oe && (Qe = !1), Ue && (pe = !0), ge && (P = T({}, sn), U = _e(null), ge.html === !0 && (T(P, rn), T(U, an)), ge.svg === !0 && (T(P, ft), T(U, ht), T(U, We)), ge.svgFilters === !0 && (T(P, pt), T(U, ht), T(U, We)), ge.mathMl === !0 && (T(P, gt), T(U, ln), T(U, We))), ie.tagCheck = null, ie.attributeCheck = null, D(t, "ADD_TAGS") && (typeof t.ADD_TAGS == "function" ? ie.tagCheck = t.ADD_TAGS : H(t.ADD_TAGS) && (P === Dt && (P = W(P)), T(P, t.ADD_TAGS, k))), D(t, "ADD_ATTR") && (typeof t.ADD_ATTR == "function" ? ie.attributeCheck = t.ADD_ATTR : H(t.ADD_ATTR) && (U === Rt && (U = W(U)), T(U, t.ADD_ATTR, k))), D(t, "ADD_URI_SAFE_ATTR") && H(t.ADD_URI_SAFE_ATTR) && T(it, t.ADD_URI_SAFE_ATTR, k), D(t, "FORBID_CONTENTS") && H(t.FORBID_CONTENTS) && (Z === nt && (Z = W(Z)), T(Z, t.FORBID_CONTENTS, k)), D(t, "ADD_FORBID_CONTENTS") && H(t.ADD_FORBID_CONTENTS) && (Z === nt && (Z = W(Z)), T(Z, t.ADD_FORBID_CONTENTS, k)), tt && (P["#text"] = !0), me && T(P, ["html", "head", "body"]), P.table && (T(P, ["tbody"]), delete we.tbody), t.TRUSTED_TYPES_POLICY) {
|
|
315
315
|
if (typeof t.TRUSTED_TYPES_POLICY.createHTML != "function")
|
|
@@ -318,16 +318,16 @@ function En() {
|
|
|
318
318
|
throw Ge('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');
|
|
319
319
|
E = t.TRUSTED_TYPES_POLICY, N = E.createHTML("");
|
|
320
320
|
} else
|
|
321
|
-
E === void 0 && (E =
|
|
321
|
+
E === void 0 && (E = Oi(y, c)), E !== null && typeof N == "string" && (N = E.createHTML(""));
|
|
322
322
|
B && B(t), be = t;
|
|
323
|
-
}, zt = T({}, [...ft, ...pt, ...
|
|
323
|
+
}, zt = T({}, [...ft, ...pt, ...bi]), jt = T({}, [...gt, ...Ti]), Mn = function(t) {
|
|
324
324
|
let s = O(t);
|
|
325
325
|
(!s || !s.tagName) && (s = {
|
|
326
326
|
namespaceURI: he,
|
|
327
327
|
tagName: "template"
|
|
328
328
|
});
|
|
329
329
|
const m = Ne(t.tagName), A = Ne(s.tagName);
|
|
330
|
-
return rt[t.namespaceURI] ? t.namespaceURI === He ? s.namespaceURI === Q ? m === "svg" : s.namespaceURI === je ? m === "svg" && (A === "annotation-xml" || st[A]) : !!zt[m] : t.namespaceURI === je ? s.namespaceURI === Q ? m === "math" : s.namespaceURI === He ? m === "math" && at[A] : !!jt[m] : t.namespaceURI === Q ? s.namespaceURI === He && !at[A] || s.namespaceURI === je && !st[A] ? !1 : !jt[m] && (
|
|
330
|
+
return rt[t.namespaceURI] ? t.namespaceURI === He ? s.namespaceURI === Q ? m === "svg" : s.namespaceURI === je ? m === "svg" && (A === "annotation-xml" || st[A]) : !!zt[m] : t.namespaceURI === je ? s.namespaceURI === Q ? m === "math" : s.namespaceURI === He ? m === "math" && at[A] : !!jt[m] : t.namespaceURI === Q ? s.namespaceURI === He && !at[A] || s.namespaceURI === je && !st[A] ? !1 : !jt[m] && (vn[m] || !zt[m]) : !!(Re === "application/xhtml+xml" && rt[t.namespaceURI]) : !1;
|
|
331
331
|
}, X = function(t) {
|
|
332
332
|
ye(n.removed, {
|
|
333
333
|
element: t
|
|
@@ -449,17 +449,17 @@ function En() {
|
|
|
449
449
|
}
|
|
450
450
|
return X(t), !0;
|
|
451
451
|
}
|
|
452
|
-
return t instanceof
|
|
452
|
+
return t instanceof d && !Mn(t) || (m === "noscript" || m === "noembed" || m === "noframes") && z(/<\/no(script|embed|frames)/i, t.innerHTML) ? (X(t), !0) : (oe && t.nodeType === Se.text && (s = t.textContent, Te([ke, Me, Pe], (A) => {
|
|
453
453
|
s = Ae(s, A, " ");
|
|
454
454
|
}), t.textContent !== s && (ye(n.removed, {
|
|
455
455
|
element: t.cloneNode()
|
|
456
456
|
}), t.textContent = s)), ee(j.afterSanitizeElements, t, null), !1);
|
|
457
457
|
}, Wt = function(t, s, m) {
|
|
458
|
-
if (Fe[s] || Lt && (s === "id" || s === "name") && (m in o || m in
|
|
458
|
+
if (Fe[s] || Lt && (s === "id" || s === "name") && (m in o || m in kn))
|
|
459
459
|
return !1;
|
|
460
460
|
const A = U[s] || ie.attributeCheck instanceof Function && ie.attributeCheck(s, t);
|
|
461
|
-
if (!(Qe && !Fe[s] && z(
|
|
462
|
-
if (!(Ot && z(
|
|
461
|
+
if (!(Qe && !Fe[s] && z(Cn, s))) {
|
|
462
|
+
if (!(Ot && z(Dn, s))) {
|
|
463
463
|
if (!A || Fe[s]) {
|
|
464
464
|
if (
|
|
465
465
|
// First condition does a very basic check if a) it's basically a valid custom element tagname AND
|
|
@@ -472,7 +472,7 @@ function En() {
|
|
|
472
472
|
} else if (!it[s]) {
|
|
473
473
|
if (!z(Ct, Ae(m, wt, ""))) {
|
|
474
474
|
if (!((s === "src" || s === "xlink:href" || s === "href") && t !== "script" && tn(m, "data:") === 0 && Mt[t])) {
|
|
475
|
-
if (!(Nt && !z(
|
|
475
|
+
if (!(Nt && !z(Rn, Ae(m, wt, "")))) {
|
|
476
476
|
if (m)
|
|
477
477
|
return !1;
|
|
478
478
|
}
|
|
@@ -482,8 +482,8 @@ function En() {
|
|
|
482
482
|
}
|
|
483
483
|
}
|
|
484
484
|
return !0;
|
|
485
|
-
},
|
|
486
|
-
return !
|
|
485
|
+
}, Pn = T({}, ["annotation-xml", "color-profile", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "missing-glyph"]), qt = function(t) {
|
|
486
|
+
return !Pn[Ne(t)] && z(On, t);
|
|
487
487
|
}, Yt = function(t) {
|
|
488
488
|
ee(j.beforeSanitizeAttributes, t, null);
|
|
489
489
|
const s = t.attributes;
|
|
@@ -499,7 +499,7 @@ function En() {
|
|
|
499
499
|
let A = s.length;
|
|
500
500
|
for (; A--; ) {
|
|
501
501
|
const v = s[A], L = v.name, G = v.namespaceURI, re = v.value, te = k(L), ut = re;
|
|
502
|
-
let F = L === "value" ? ut :
|
|
502
|
+
let F = L === "value" ? ut : mi(ut);
|
|
503
503
|
if (m.attrName = te, m.attrValue = F, m.keepAttr = !0, m.forceKeepAttr = void 0, ee(j.uponSanitizeAttribute, t, m), F = m.attrValue, xt && (te === "id" || te === "name") && tn(F, kt) !== 0 && (ue(L, t), F = kt + F), Ce && z(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, F)) {
|
|
504
504
|
ue(L, t);
|
|
505
505
|
continue;
|
|
@@ -549,10 +549,10 @@ function En() {
|
|
|
549
549
|
let s = null;
|
|
550
550
|
const m = $t(t);
|
|
551
551
|
for (ee(j.beforeSanitizeShadowDOM, t, null); s = m.nextNode(); )
|
|
552
|
-
ee(j.uponSanitizeShadowNode, s, null), Gt(s), Yt(s), s.content instanceof
|
|
552
|
+
ee(j.uponSanitizeShadowNode, s, null), Gt(s), Yt(s), s.content instanceof l && mt(s.content);
|
|
553
553
|
ee(j.afterSanitizeShadowDOM, t, null);
|
|
554
554
|
}, Be = function(t) {
|
|
555
|
-
if (t.nodeType === Se.element && t.shadowRoot instanceof
|
|
555
|
+
if (t.nodeType === Se.element && t.shadowRoot instanceof l) {
|
|
556
556
|
const A = t.shadowRoot;
|
|
557
557
|
Be(A), mt(A);
|
|
558
558
|
}
|
|
@@ -568,7 +568,7 @@ function En() {
|
|
|
568
568
|
};
|
|
569
569
|
return n.sanitize = function(p) {
|
|
570
570
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, s = null, m = null, A = null, v = null;
|
|
571
|
-
if (ot = !p, ot && (p = "<!-->"), typeof p != "string" && !$e(p) && (p =
|
|
571
|
+
if (ot = !p, ot && (p = "<!-->"), typeof p != "string" && !$e(p) && (p = gi(p), typeof p != "string"))
|
|
572
572
|
throw Ge("dirty is not a string, aborting");
|
|
573
573
|
if (!n.isSupported)
|
|
574
574
|
return p;
|
|
@@ -592,7 +592,7 @@ function En() {
|
|
|
592
592
|
s && et && X(s.firstChild);
|
|
593
593
|
const L = $t(De ? p : s);
|
|
594
594
|
for (; A = L.nextNode(); )
|
|
595
|
-
Gt(A), Yt(A), A.content instanceof
|
|
595
|
+
Gt(A), Yt(A), A.content instanceof l && mt(A.content);
|
|
596
596
|
if (De)
|
|
597
597
|
return oe && Bt(p), p;
|
|
598
598
|
if (pe) {
|
|
@@ -604,7 +604,7 @@ function En() {
|
|
|
604
604
|
return (U.shadowroot || U.shadowrootmode) && (v = Ze.call(a, v, !0)), v;
|
|
605
605
|
}
|
|
606
606
|
let G = me ? s.outerHTML : s.innerHTML;
|
|
607
|
-
return me && P["!doctype"] && s.ownerDocument && s.ownerDocument.doctype && s.ownerDocument.doctype.name && z(
|
|
607
|
+
return me && P["!doctype"] && s.ownerDocument && s.ownerDocument.doctype && s.ownerDocument.doctype.name && z(Ci, s.ownerDocument.doctype.name) && (G = "<!DOCTYPE " + s.ownerDocument.doctype.name + `>
|
|
608
608
|
` + G), oe && Te([ke, Me, Pe], (re) => {
|
|
609
609
|
G = Ae(G, re, " ");
|
|
610
610
|
}), E && ze ? E.createHTML(G) : G;
|
|
@@ -621,8 +621,8 @@ function En() {
|
|
|
621
621
|
typeof t == "function" && ye(j[p], t);
|
|
622
622
|
}, n.removeHook = function(p, t) {
|
|
623
623
|
if (t !== void 0) {
|
|
624
|
-
const s =
|
|
625
|
-
return s === -1 ? void 0 :
|
|
624
|
+
const s = li(j[p], t);
|
|
625
|
+
return s === -1 ? void 0 : ci(j[p], s, 1)[0];
|
|
626
626
|
}
|
|
627
627
|
return Jt(j[p]);
|
|
628
628
|
}, n.removeHooks = function(p) {
|
|
@@ -631,8 +631,8 @@ function En() {
|
|
|
631
631
|
j = mn();
|
|
632
632
|
}, n;
|
|
633
633
|
}
|
|
634
|
-
var bt =
|
|
635
|
-
const
|
|
634
|
+
var bt = _n();
|
|
635
|
+
const Ni = /* @__PURE__ */ new Set([
|
|
636
636
|
// layout
|
|
637
637
|
"display",
|
|
638
638
|
"float",
|
|
@@ -861,14 +861,15 @@ const vi = /* @__PURE__ */ new Set([
|
|
|
861
861
|
"counter-increment",
|
|
862
862
|
"content",
|
|
863
863
|
// UI / interaction
|
|
864
|
-
// pointer-events
|
|
865
|
-
//
|
|
866
|
-
//
|
|
864
|
+
// pointer-events and z-index are safe: neither can reposition elements
|
|
865
|
+
// outside the container. The overlay-phishing risk comes from position:fixed/sticky,
|
|
866
|
+
// which SAFE_POSITION_VALUES strips.
|
|
867
867
|
"pointer-events",
|
|
868
|
+
"z-index",
|
|
868
869
|
"caret-color",
|
|
869
870
|
"accent-color",
|
|
870
871
|
"appearance"
|
|
871
|
-
]),
|
|
872
|
+
]), vi = /* @__PURE__ */ new Set([
|
|
872
873
|
"src",
|
|
873
874
|
"href",
|
|
874
875
|
"action",
|
|
@@ -879,7 +880,7 @@ const vi = /* @__PURE__ */ new Set([
|
|
|
879
880
|
"cite",
|
|
880
881
|
"longdesc",
|
|
881
882
|
"xlink:href"
|
|
882
|
-
]),
|
|
883
|
+
]), Li = [
|
|
883
884
|
"background",
|
|
884
885
|
"background-image",
|
|
885
886
|
"list-style",
|
|
@@ -888,7 +889,7 @@ const vi = /* @__PURE__ */ new Set([
|
|
|
888
889
|
// content: url(...) triggers an HTTP GET even on non-pseudo elements in some
|
|
889
890
|
// browsers; strip it as defense-in-depth against tracking-pixel exfiltration.
|
|
890
891
|
"content"
|
|
891
|
-
],
|
|
892
|
+
], xi = /url\s*\(\s*['"]?(?:[a-z][a-z0-9+\-.]*:|\/\/)/i, ki = /* @__PURE__ */ new Set([
|
|
892
893
|
"allow-downloads",
|
|
893
894
|
"allow-forms",
|
|
894
895
|
"allow-modals",
|
|
@@ -901,7 +902,7 @@ const vi = /* @__PURE__ */ new Set([
|
|
|
901
902
|
"allow-scripts",
|
|
902
903
|
"allow-storage-access-by-user-activation",
|
|
903
904
|
"allow-top-navigation-by-user-activation"
|
|
904
|
-
]),
|
|
905
|
+
]), Mi = {
|
|
905
906
|
ADD_TAGS: ["iframe"],
|
|
906
907
|
ADD_ATTR: [
|
|
907
908
|
"allowfullscreen",
|
|
@@ -922,7 +923,8 @@ const vi = /* @__PURE__ */ new Set([
|
|
|
922
923
|
// expressions; `arg` labels sub-expressions referenced by intent.
|
|
923
924
|
// These are plain string annotations — no URL-loading, no code execution.
|
|
924
925
|
"intent",
|
|
925
|
-
"arg"
|
|
926
|
+
"arg",
|
|
927
|
+
"loading"
|
|
926
928
|
],
|
|
927
929
|
// Rails UJS turns data-method/data-remote/etc. on clickable elements into
|
|
928
930
|
// state-changing requests carrying the victim's CSRF token. Strip them so
|
|
@@ -944,15 +946,15 @@ const vi = /* @__PURE__ */ new Set([
|
|
|
944
946
|
FORCE_BODY: !0
|
|
945
947
|
};
|
|
946
948
|
let se = null;
|
|
947
|
-
function
|
|
949
|
+
function Pi() {
|
|
948
950
|
return se || (se = typeof bt == "function" ? bt(window) : bt, se.addHook("afterSanitizeAttributes", (e) => {
|
|
949
951
|
if (!(e instanceof Element) || !e.hasAttribute("style")) return;
|
|
950
952
|
const n = e.style, o = [];
|
|
951
|
-
for (let
|
|
952
|
-
const
|
|
953
|
-
|
|
953
|
+
for (let l = 0; l < n.length; l++) {
|
|
954
|
+
const u = n.item(l);
|
|
955
|
+
Ni.has(u) || o.push(u);
|
|
954
956
|
}
|
|
955
|
-
for (const
|
|
957
|
+
for (const l of o) n.removeProperty(l);
|
|
956
958
|
const a = /* @__PURE__ */ new Set([
|
|
957
959
|
"static",
|
|
958
960
|
"relative",
|
|
@@ -962,17 +964,33 @@ function Fi() {
|
|
|
962
964
|
"unset",
|
|
963
965
|
"revert",
|
|
964
966
|
"revert-layer"
|
|
965
|
-
]),
|
|
966
|
-
|
|
967
|
-
for (const
|
|
968
|
-
const
|
|
969
|
-
|
|
967
|
+
]), c = n.getPropertyValue("position").trim().toLowerCase();
|
|
968
|
+
c && !a.has(c) && n.removeProperty("position");
|
|
969
|
+
for (const l of Li) {
|
|
970
|
+
const u = n.getPropertyValue(l);
|
|
971
|
+
u && xi.test(u) && n.removeProperty(l);
|
|
970
972
|
}
|
|
971
973
|
n.length === 0 && e.removeAttribute("style");
|
|
972
974
|
}), se.addHook("uponSanitizeAttribute", (e, n) => {
|
|
973
|
-
|
|
975
|
+
if (!vi.has(n.attrName)) return;
|
|
976
|
+
const o = n.attrValue;
|
|
977
|
+
/^\s*\/\//.test(o) ? (n.attrValue = o.trimStart().replace(/^\/\//, "https://"), n.keepAttr = !0) : /^\s*\\/.test(o) && (n.keepAttr = !1);
|
|
974
978
|
}), se.addHook("afterSanitizeAttributes", (e) => {
|
|
975
|
-
!(e instanceof Element) || !e.hasAttribute("srcset")
|
|
979
|
+
if (!(e instanceof Element) || !e.hasAttribute("srcset")) return;
|
|
980
|
+
const n = (e.getAttribute("srcset") ?? "").split(","), o = (l) => l.trim().split(/\s+/)[0];
|
|
981
|
+
if (n.some((l) => /^\s*\\/.test(o(l)))) {
|
|
982
|
+
e.removeAttribute("srcset");
|
|
983
|
+
return;
|
|
984
|
+
}
|
|
985
|
+
let a = !1;
|
|
986
|
+
const c = n.map((l) => {
|
|
987
|
+
const u = o(l);
|
|
988
|
+
if (!u.startsWith("//")) return l;
|
|
989
|
+
a = !0;
|
|
990
|
+
const h = l.indexOf(u);
|
|
991
|
+
return l.slice(0, h) + "https://" + u.slice(2) + l.slice(h + u.length);
|
|
992
|
+
});
|
|
993
|
+
a && e.setAttribute("srcset", c.join(","));
|
|
976
994
|
}), se.addHook("afterSanitizeAttributes", (e) => {
|
|
977
995
|
var n;
|
|
978
996
|
if (!(e instanceof Element) || e.tagName !== "A" && e.tagName !== "AREA" || ((n = e.getAttribute("target")) == null ? void 0 : n.toLowerCase()) !== "_blank") return;
|
|
@@ -980,17 +998,17 @@ function Fi() {
|
|
|
980
998
|
a.add("noopener"), e.setAttribute("rel", [...a].join(" "));
|
|
981
999
|
}), se.addHook("afterSanitizeAttributes", (e) => {
|
|
982
1000
|
if (!(e instanceof Element) || e.tagName !== "IFRAME" || !e.hasAttribute("sandbox")) return;
|
|
983
|
-
const n = (e.getAttribute("sandbox") ?? "").toLowerCase().split(/\s+/).filter(Boolean), o = n.filter((a) =>
|
|
1001
|
+
const n = (e.getAttribute("sandbox") ?? "").toLowerCase().split(/\s+/).filter(Boolean), o = n.filter((a) => ki.has(a));
|
|
984
1002
|
o.length !== n.length && e.setAttribute("sandbox", o.join(" "));
|
|
985
1003
|
}), se);
|
|
986
1004
|
}
|
|
987
1005
|
function It(e, n) {
|
|
988
1006
|
if (typeof window > "u")
|
|
989
1007
|
throw new Error("sanitizeHtml requires a DOM environment (window is not defined)");
|
|
990
|
-
const o =
|
|
991
|
-
return
|
|
1008
|
+
const o = Mi;
|
|
1009
|
+
return Pi().sanitize(e ?? "", o);
|
|
992
1010
|
}
|
|
993
|
-
const
|
|
1011
|
+
const Fi = ae`
|
|
994
1012
|
query GetAssignment($courseId: ID!, $assignmentId: ID!, $userId: ID!) {
|
|
995
1013
|
legacyNode(_id: $assignmentId, type: Assignment) {
|
|
996
1014
|
... on Assignment {
|
|
@@ -1049,7 +1067,7 @@ const Ui = ae`
|
|
|
1049
1067
|
contentType
|
|
1050
1068
|
submissionPreviewUrl
|
|
1051
1069
|
}
|
|
1052
|
-
`,
|
|
1070
|
+
`, Ui = ae`
|
|
1053
1071
|
query GetSubmissionComments(
|
|
1054
1072
|
$submissionId: ID!
|
|
1055
1073
|
$courseId: String
|
|
@@ -1098,7 +1116,7 @@ const Ui = ae`
|
|
|
1098
1116
|
}
|
|
1099
1117
|
}
|
|
1100
1118
|
}
|
|
1101
|
-
`,
|
|
1119
|
+
`, zi = ae`
|
|
1102
1120
|
query getSubmissions($submissionId: ID!) {
|
|
1103
1121
|
node(id: $submissionId) {
|
|
1104
1122
|
... on Submission {
|
|
@@ -1140,12 +1158,12 @@ const Ui = ae`
|
|
|
1140
1158
|
url: i.string(),
|
|
1141
1159
|
contentType: i.string(),
|
|
1142
1160
|
submissionPreviewUrl: i.string().nullable()
|
|
1143
|
-
}),
|
|
1161
|
+
}), ji = i.object({
|
|
1144
1162
|
_id: i.string(),
|
|
1145
1163
|
activeSubmissionType: i.string(),
|
|
1146
1164
|
body: i.string().nullable(),
|
|
1147
1165
|
attachments: i.array(ve).nullable()
|
|
1148
|
-
}),
|
|
1166
|
+
}), Hi = i.object({
|
|
1149
1167
|
id: i.string(),
|
|
1150
1168
|
submittedAt: i.string(),
|
|
1151
1169
|
body: i.string().nullable(),
|
|
@@ -1156,8 +1174,8 @@ const Ui = ae`
|
|
|
1156
1174
|
unreadCommentCount: i.number(),
|
|
1157
1175
|
attachment: ve.nullable(),
|
|
1158
1176
|
attachments: i.array(ve).nullable(),
|
|
1159
|
-
submissionDraft:
|
|
1160
|
-
}),
|
|
1177
|
+
submissionDraft: ji.nullable()
|
|
1178
|
+
}), $i = i.object({
|
|
1161
1179
|
_id: i.string(),
|
|
1162
1180
|
name: i.string(),
|
|
1163
1181
|
description: i.string().nullable(),
|
|
@@ -1169,19 +1187,19 @@ const Ui = ae`
|
|
|
1169
1187
|
gradingType: i.string(),
|
|
1170
1188
|
published: i.boolean().nullable().optional(),
|
|
1171
1189
|
submissionsConnection: i.object({
|
|
1172
|
-
nodes: i.array(
|
|
1190
|
+
nodes: i.array(Hi)
|
|
1173
1191
|
})
|
|
1174
|
-
}),
|
|
1175
|
-
legacyNode:
|
|
1192
|
+
}), Bi = i.object({
|
|
1193
|
+
legacyNode: $i,
|
|
1176
1194
|
course: i.object({
|
|
1177
1195
|
name: i.string()
|
|
1178
1196
|
})
|
|
1179
|
-
}),
|
|
1197
|
+
}), En = i.object({
|
|
1180
1198
|
startCursor: i.string(),
|
|
1181
1199
|
endCursor: i.string(),
|
|
1182
1200
|
hasPreviousPage: i.boolean(),
|
|
1183
1201
|
hasNextPage: i.boolean()
|
|
1184
|
-
}),
|
|
1202
|
+
}), In = i.object({
|
|
1185
1203
|
_id: i.string(),
|
|
1186
1204
|
attempt: i.number(),
|
|
1187
1205
|
author: i.object({
|
|
@@ -1202,17 +1220,17 @@ const Ui = ae`
|
|
|
1202
1220
|
id: i.string()
|
|
1203
1221
|
})
|
|
1204
1222
|
).nullable()
|
|
1205
|
-
}),
|
|
1223
|
+
}), Gi = i.object({
|
|
1206
1224
|
submissionComments: i.object({
|
|
1207
1225
|
commentsConnection: i.object({
|
|
1208
|
-
pageInfo:
|
|
1209
|
-
nodes: i.array(
|
|
1226
|
+
pageInfo: En,
|
|
1227
|
+
nodes: i.array(In)
|
|
1210
1228
|
})
|
|
1211
1229
|
})
|
|
1212
|
-
}),
|
|
1213
|
-
comments: i.array(
|
|
1214
|
-
pageInfo:
|
|
1215
|
-
}),
|
|
1230
|
+
}), Uo = i.object({
|
|
1231
|
+
comments: i.array(In),
|
|
1232
|
+
pageInfo: En
|
|
1233
|
+
}), Wi = i.object({
|
|
1216
1234
|
submittedAt: i.string(),
|
|
1217
1235
|
body: i.string().nullable(),
|
|
1218
1236
|
grade: i.string().nullable(),
|
|
@@ -1222,16 +1240,16 @@ const Ui = ae`
|
|
|
1222
1240
|
attempt: i.number(),
|
|
1223
1241
|
attachment: ve.nullable(),
|
|
1224
1242
|
attachments: i.array(ve).nullable()
|
|
1225
|
-
}),
|
|
1243
|
+
}), qi = i.object({
|
|
1226
1244
|
node: i.object({
|
|
1227
1245
|
submissionHistoriesConnection: i.object({
|
|
1228
|
-
nodes: i.array(
|
|
1246
|
+
nodes: i.array(Wi)
|
|
1229
1247
|
})
|
|
1230
1248
|
})
|
|
1231
1249
|
}), Le = i.object({
|
|
1232
1250
|
attribute: i.string(),
|
|
1233
1251
|
message: i.string()
|
|
1234
|
-
}),
|
|
1252
|
+
}), Yi = i.object({
|
|
1235
1253
|
createSubmissionComment: i.object({
|
|
1236
1254
|
submissionComment: i.object({
|
|
1237
1255
|
_id: i.string(),
|
|
@@ -1276,11 +1294,11 @@ const Ui = ae`
|
|
|
1276
1294
|
}).nullable(),
|
|
1277
1295
|
errors: i.array(Le).nullable()
|
|
1278
1296
|
})
|
|
1279
|
-
}),
|
|
1297
|
+
}), Vi = i.object({
|
|
1280
1298
|
markSubmissionCommentsRead: i.object({
|
|
1281
1299
|
errors: i.array(Le).nullable()
|
|
1282
1300
|
})
|
|
1283
|
-
}),
|
|
1301
|
+
}), zo = i.object({
|
|
1284
1302
|
createSubmission: i.object({
|
|
1285
1303
|
submission: i.object({
|
|
1286
1304
|
_id: i.string(),
|
|
@@ -1291,7 +1309,7 @@ const Ui = ae`
|
|
|
1291
1309
|
}).nullable(),
|
|
1292
1310
|
errors: i.array(Le).nullable()
|
|
1293
1311
|
})
|
|
1294
|
-
}),
|
|
1312
|
+
}), jo = i.object(
|
|
1295
1313
|
{
|
|
1296
1314
|
createSubmissionDraft: i.object({
|
|
1297
1315
|
submissionDraft: i.object({
|
|
@@ -1300,7 +1318,7 @@ const Ui = ae`
|
|
|
1300
1318
|
errors: i.array(Le).nullable()
|
|
1301
1319
|
})
|
|
1302
1320
|
}
|
|
1303
|
-
),
|
|
1321
|
+
), Ho = i.object(
|
|
1304
1322
|
{
|
|
1305
1323
|
deleteSubmissionDraft: i.object({
|
|
1306
1324
|
submissionDraftIds: i.array(i.string()).nullable(),
|
|
@@ -1308,30 +1326,30 @@ const Ui = ae`
|
|
|
1308
1326
|
})
|
|
1309
1327
|
}
|
|
1310
1328
|
);
|
|
1311
|
-
function
|
|
1329
|
+
function Xi({
|
|
1312
1330
|
courseId: e,
|
|
1313
1331
|
assignmentId: n,
|
|
1314
1332
|
userId: o,
|
|
1315
1333
|
executeQuery: a,
|
|
1316
|
-
enabled:
|
|
1334
|
+
enabled: c = !0
|
|
1317
1335
|
}) {
|
|
1318
1336
|
return Ve({
|
|
1319
1337
|
queryKey: ["assignment-review", "assignment", e, n, o],
|
|
1320
1338
|
queryFn: async () => {
|
|
1321
|
-
const
|
|
1339
|
+
const l = await a(Fi, {
|
|
1322
1340
|
courseId: e,
|
|
1323
1341
|
assignmentId: n,
|
|
1324
1342
|
userId: o
|
|
1325
|
-
}),
|
|
1343
|
+
}), u = Bi.parse(l);
|
|
1326
1344
|
return {
|
|
1327
|
-
...
|
|
1328
|
-
courseName:
|
|
1345
|
+
...u.legacyNode,
|
|
1346
|
+
courseName: u.course.name
|
|
1329
1347
|
};
|
|
1330
1348
|
},
|
|
1331
|
-
enabled:
|
|
1349
|
+
enabled: c
|
|
1332
1350
|
});
|
|
1333
1351
|
}
|
|
1334
|
-
function
|
|
1352
|
+
function Ki({
|
|
1335
1353
|
submissionId: e,
|
|
1336
1354
|
executeQuery: n,
|
|
1337
1355
|
enabled: o = !0
|
|
@@ -1339,27 +1357,27 @@ function Zi({
|
|
|
1339
1357
|
return Ve({
|
|
1340
1358
|
queryKey: ["assignment-review", "submissions", e],
|
|
1341
1359
|
queryFn: async () => {
|
|
1342
|
-
const a = await n(
|
|
1343
|
-
return
|
|
1344
|
-
(
|
|
1360
|
+
const a = await n(zi, { submissionId: e });
|
|
1361
|
+
return qi.parse(a).node.submissionHistoriesConnection.nodes.slice().sort(
|
|
1362
|
+
(l, u) => new Date(u.submittedAt).getTime() - new Date(l.submittedAt).getTime()
|
|
1345
1363
|
);
|
|
1346
1364
|
},
|
|
1347
1365
|
enabled: o
|
|
1348
1366
|
});
|
|
1349
1367
|
}
|
|
1350
|
-
function
|
|
1368
|
+
function Zi(e) {
|
|
1351
1369
|
if (!e) return "";
|
|
1352
1370
|
const n = new Date(e);
|
|
1353
1371
|
return Number.isNaN(n.getTime()) ? "" : n.toLocaleDateString();
|
|
1354
1372
|
}
|
|
1355
|
-
function
|
|
1373
|
+
function Qi({
|
|
1356
1374
|
submission: e,
|
|
1357
1375
|
isSelected: n,
|
|
1358
1376
|
isDraft: o = !1,
|
|
1359
1377
|
pointsPossible: a,
|
|
1360
|
-
onClick:
|
|
1378
|
+
onClick: c
|
|
1361
1379
|
}) {
|
|
1362
|
-
const
|
|
1380
|
+
const l = q(), u = o ? l.submissionCurrentAttempt() : l.commentsAttempt({ number: e.attempt }), h = e.score != null && a != null ? `${e.score}/${a}` : null;
|
|
1363
1381
|
return /* @__PURE__ */ r(
|
|
1364
1382
|
K,
|
|
1365
1383
|
{
|
|
@@ -1370,43 +1388,43 @@ function Ji({
|
|
|
1370
1388
|
borderRadius: "medium",
|
|
1371
1389
|
background: n ? "secondary" : "primary",
|
|
1372
1390
|
cursor: "pointer",
|
|
1373
|
-
onClick:
|
|
1391
|
+
onClick: c,
|
|
1374
1392
|
role: "button",
|
|
1375
1393
|
tabIndex: 0,
|
|
1376
|
-
onKeyDown: (
|
|
1377
|
-
(
|
|
1394
|
+
onKeyDown: (d) => {
|
|
1395
|
+
(d.key === "Enter" || d.key === " ") && (d.preventDefault(), c());
|
|
1378
1396
|
},
|
|
1379
|
-
children: /* @__PURE__ */ S(
|
|
1380
|
-
/* @__PURE__ */ S(
|
|
1381
|
-
/* @__PURE__ */ S(
|
|
1382
|
-
/* @__PURE__ */ r(_, { weight: "bold", children:
|
|
1383
|
-
o && /* @__PURE__ */ r(_t, { color: "info", children:
|
|
1397
|
+
children: /* @__PURE__ */ S(b, { justifyItems: "space-between", alignItems: "center", children: [
|
|
1398
|
+
/* @__PURE__ */ S(b, { direction: "column", gap: "xx-small", children: [
|
|
1399
|
+
/* @__PURE__ */ S(b, { gap: "small", alignItems: "center", children: [
|
|
1400
|
+
/* @__PURE__ */ r(_, { weight: "bold", children: u }),
|
|
1401
|
+
o && /* @__PURE__ */ r(_t, { color: "info", children: l.submissionDraft() })
|
|
1384
1402
|
] }),
|
|
1385
|
-
!o && e.submittedAt && /* @__PURE__ */ r(_, { size: "small", color: "secondary", children:
|
|
1403
|
+
!o && e.submittedAt && /* @__PURE__ */ r(_, { size: "small", color: "secondary", children: Zi(e.submittedAt) })
|
|
1386
1404
|
] }),
|
|
1387
|
-
|
|
1405
|
+
h && /* @__PURE__ */ r(_, { weight: "bold", children: h })
|
|
1388
1406
|
] })
|
|
1389
1407
|
}
|
|
1390
1408
|
);
|
|
1391
1409
|
}
|
|
1392
|
-
function
|
|
1410
|
+
function Ji({
|
|
1393
1411
|
submissionId: e,
|
|
1394
1412
|
selectedAttempt: n,
|
|
1395
1413
|
onAttemptSelect: o,
|
|
1396
1414
|
pointsPossible: a,
|
|
1397
|
-
executeQuery:
|
|
1415
|
+
executeQuery: c
|
|
1398
1416
|
}) {
|
|
1399
|
-
const
|
|
1417
|
+
const l = q(), { data: u, isLoading: h, isError: d } = Ki({
|
|
1400
1418
|
submissionId: e,
|
|
1401
|
-
executeQuery:
|
|
1419
|
+
executeQuery: c
|
|
1402
1420
|
});
|
|
1403
|
-
if (
|
|
1404
|
-
return /* @__PURE__ */ r(
|
|
1405
|
-
if (
|
|
1406
|
-
return /* @__PURE__ */ r(
|
|
1407
|
-
const f = (
|
|
1408
|
-
return f.length === 0 ? /* @__PURE__ */ r(
|
|
1409
|
-
|
|
1421
|
+
if (h)
|
|
1422
|
+
return /* @__PURE__ */ r(b, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ r(Ye, { renderTitle: l.navigationAttempts(), size: "small" }) });
|
|
1423
|
+
if (d)
|
|
1424
|
+
return /* @__PURE__ */ r(b, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ r(_, { color: "danger", children: l.submissionLoadAttemptsError() }) });
|
|
1425
|
+
const f = (u == null ? void 0 : u.filter((g) => g.attempt > 0)) ?? [];
|
|
1426
|
+
return f.length === 0 ? /* @__PURE__ */ r(b, { padding: "medium", children: /* @__PURE__ */ r(_, { color: "secondary", children: l.submissionNoAttempts() }) }) : /* @__PURE__ */ r(b, { direction: "column", gap: "x-small", padding: "none none medium none", children: f.map((g) => /* @__PURE__ */ r(
|
|
1427
|
+
Qi,
|
|
1410
1428
|
{
|
|
1411
1429
|
submission: g,
|
|
1412
1430
|
isSelected: n === g.attempt,
|
|
@@ -1416,11 +1434,11 @@ function eo({
|
|
|
1416
1434
|
g.attempt
|
|
1417
1435
|
)) });
|
|
1418
1436
|
}
|
|
1419
|
-
function
|
|
1437
|
+
function wn({
|
|
1420
1438
|
attachments: e,
|
|
1421
1439
|
size: n = "medium"
|
|
1422
1440
|
}) {
|
|
1423
|
-
return e.length === 0 ? null : /* @__PURE__ */ r(
|
|
1441
|
+
return e.length === 0 ? null : /* @__PURE__ */ r(b, { direction: "column", gap: "x-small", children: e.map((o) => /* @__PURE__ */ r(
|
|
1424
1442
|
K,
|
|
1425
1443
|
{
|
|
1426
1444
|
as: "div",
|
|
@@ -1428,86 +1446,86 @@ function Cn({
|
|
|
1428
1446
|
borderColor: "primary",
|
|
1429
1447
|
borderWidth: "small",
|
|
1430
1448
|
borderRadius: "medium",
|
|
1431
|
-
children: /* @__PURE__ */ S(
|
|
1432
|
-
/* @__PURE__ */ r(
|
|
1433
|
-
/* @__PURE__ */ r(
|
|
1449
|
+
children: /* @__PURE__ */ S(b, { as: "div", gap: "small", width: "100%", justifyItems: "space-between", alignItems: "center", children: [
|
|
1450
|
+
/* @__PURE__ */ r(b.Item, { shouldShrink: !0, children: /* @__PURE__ */ r(hn, { children: o.displayName }) }),
|
|
1451
|
+
/* @__PURE__ */ r(Zn, { href: o.url, isWithinText: !1, renderIcon: /* @__PURE__ */ r(Hn, {}), children: /* @__PURE__ */ r(Et, { children: `Download ${o.displayName}` }) })
|
|
1434
1452
|
] })
|
|
1435
1453
|
},
|
|
1436
1454
|
o.id
|
|
1437
1455
|
)) });
|
|
1438
1456
|
}
|
|
1439
|
-
function
|
|
1457
|
+
function eo(e) {
|
|
1440
1458
|
return /* @__PURE__ */ r("span", { dangerouslySetInnerHTML: { __html: It(e) } });
|
|
1441
1459
|
}
|
|
1442
|
-
function
|
|
1460
|
+
function to({
|
|
1443
1461
|
submission: e,
|
|
1444
1462
|
isLastAttempt: n = !0,
|
|
1445
1463
|
showAttemptLabel: o = !0,
|
|
1446
1464
|
renderHTML: a
|
|
1447
1465
|
}) {
|
|
1448
|
-
const
|
|
1466
|
+
const c = q(), l = a ?? eo, u = (e == null ? void 0 : e.submissionType) === "online_text_entry", h = (e == null ? void 0 : e.submissionType) === "online_upload", d = u ? c.submissionTextHeading() : c.submissionUploadHeading(), f = qe(() => {
|
|
1449
1467
|
if (!e) return [];
|
|
1450
1468
|
const C = [];
|
|
1451
1469
|
if (e.attachment && C.push(e.attachment), e.attachments)
|
|
1452
1470
|
for (const I of e.attachments)
|
|
1453
1471
|
C.some((w) => w.id === I.id) || C.push(I);
|
|
1454
1472
|
return C;
|
|
1455
|
-
}, [e]), g = qe(() =>
|
|
1456
|
-
return e ? /* @__PURE__ */ r(K, { as: "div", children: /* @__PURE__ */ S(
|
|
1457
|
-
o && !n && e.attempt != null && /* @__PURE__ */ r(_, { size: "small", weight: "bold", color: "secondary", children:
|
|
1458
|
-
/* @__PURE__ */ S(
|
|
1459
|
-
/* @__PURE__ */ r(
|
|
1460
|
-
/* @__PURE__ */ r(St, { level: "h3", children:
|
|
1473
|
+
}, [e]), g = qe(() => l((e == null ? void 0 : e.body) ?? ""), [e == null ? void 0 : e.body, l]);
|
|
1474
|
+
return e ? /* @__PURE__ */ r(K, { as: "div", children: /* @__PURE__ */ S(b, { direction: "column", gap: "small", children: [
|
|
1475
|
+
o && !n && e.attempt != null && /* @__PURE__ */ r(_, { size: "small", weight: "bold", color: "secondary", children: c.submissionViewingAttempt({ number: e.attempt }) }),
|
|
1476
|
+
/* @__PURE__ */ S(b, { gap: "x-small", alignItems: "center", children: [
|
|
1477
|
+
/* @__PURE__ */ r($n, { color: "success" }),
|
|
1478
|
+
/* @__PURE__ */ r(St, { level: "h3", children: d })
|
|
1461
1479
|
] }),
|
|
1462
|
-
|
|
1480
|
+
u && e.body && /* @__PURE__ */ S(b, { alignItems: "stretch", gap: "small", children: [
|
|
1463
1481
|
/* @__PURE__ */ r(K, { as: "div", width: "4px", background: "primary", borderRadius: "small" }),
|
|
1464
1482
|
/* @__PURE__ */ r(K, { as: "div", children: /* @__PURE__ */ r(_, { children: g }) })
|
|
1465
1483
|
] }),
|
|
1466
|
-
|
|
1484
|
+
h && f.length > 0 && /* @__PURE__ */ r(wn, { attachments: f })
|
|
1467
1485
|
] }) }) : null;
|
|
1468
1486
|
}
|
|
1469
|
-
function
|
|
1487
|
+
function no(e) {
|
|
1470
1488
|
const n = new Date(e);
|
|
1471
1489
|
return Number.isNaN(n.getTime()) ? "" : n.toLocaleDateString(void 0, { month: "short", day: "numeric", year: "numeric" });
|
|
1472
1490
|
}
|
|
1473
|
-
function
|
|
1491
|
+
function io() {
|
|
1474
1492
|
return /* @__PURE__ */ r(_, { color: "secondary", size: "small", children: "|" });
|
|
1475
1493
|
}
|
|
1476
|
-
function
|
|
1494
|
+
function oo({
|
|
1477
1495
|
score: e,
|
|
1478
1496
|
pointsPossible: n,
|
|
1479
1497
|
gradingType: o,
|
|
1480
1498
|
dueAt: a,
|
|
1481
|
-
allowedAttempts:
|
|
1482
|
-
currentAttempt:
|
|
1483
|
-
isOverdue:
|
|
1484
|
-
estimatedDuration:
|
|
1485
|
-
labels:
|
|
1499
|
+
allowedAttempts: c,
|
|
1500
|
+
currentAttempt: l,
|
|
1501
|
+
isOverdue: u,
|
|
1502
|
+
estimatedDuration: h,
|
|
1503
|
+
labels: d
|
|
1486
1504
|
}) {
|
|
1487
1505
|
const f = q(), g = [];
|
|
1488
|
-
return
|
|
1489
|
-
/* @__PURE__ */ r(_, { size: "small", children: (
|
|
1506
|
+
return h && g.push(
|
|
1507
|
+
/* @__PURE__ */ r(_, { size: "small", children: (d == null ? void 0 : d.duration) ?? f.headerDuration({ minutes: h }) }, "duration")
|
|
1490
1508
|
), e != null && n != null ? g.push(
|
|
1491
|
-
/* @__PURE__ */ r(_, { size: "small", children: (
|
|
1509
|
+
/* @__PURE__ */ r(_, { size: "small", children: (d == null ? void 0 : d.score) ?? f.headerScore({ score: e, total: n }) }, "score")
|
|
1492
1510
|
) : n != null && o !== "not_graded" && g.push(
|
|
1493
|
-
/* @__PURE__ */ r(_, { size: "small", children: (
|
|
1494
|
-
),
|
|
1495
|
-
/* @__PURE__ */ r(_, { size: "small", children: (
|
|
1496
|
-
) :
|
|
1497
|
-
/* @__PURE__ */ r(_, { size: "small", children: (
|
|
1511
|
+
/* @__PURE__ */ r(_, { size: "small", children: (d == null ? void 0 : d.pointsPossible) ?? f.headerPointsPossible({ points: n }) }, "points")
|
|
1512
|
+
), c != null && (c === -1 ? g.push(
|
|
1513
|
+
/* @__PURE__ */ r(_, { size: "small", children: (d == null ? void 0 : d.attempts) ?? f.headerAttemptsUnlimited() }, "attempts")
|
|
1514
|
+
) : l != null ? g.push(
|
|
1515
|
+
/* @__PURE__ */ r(_, { size: "small", children: (d == null ? void 0 : d.attempts) ?? f.headerAttemptOf({ current: l, total: c }) }, "attempts")
|
|
1498
1516
|
) : g.push(
|
|
1499
|
-
/* @__PURE__ */ r(_, { size: "small", children: (
|
|
1517
|
+
/* @__PURE__ */ r(_, { size: "small", children: (d == null ? void 0 : d.attempts) ?? f.headerAttemptsAllowed({ count: c }) }, "attempts")
|
|
1500
1518
|
)), a && g.push(
|
|
1501
|
-
/* @__PURE__ */ r(_, { size: "small", children: (
|
|
1502
|
-
), /* @__PURE__ */ S(
|
|
1503
|
-
g.map((C, I) => /* @__PURE__ */ S(
|
|
1504
|
-
I > 0 && /* @__PURE__ */ r(
|
|
1519
|
+
/* @__PURE__ */ r(_, { size: "small", children: (d == null ? void 0 : d.dueDate) ?? f.headerDueDate({ date: no(a) }) }, "due")
|
|
1520
|
+
), /* @__PURE__ */ S(b, { as: "div", direction: "row", alignItems: "center", gap: "small", children: [
|
|
1521
|
+
g.map((C, I) => /* @__PURE__ */ S(b, { gap: "small", alignItems: "center", children: [
|
|
1522
|
+
I > 0 && /* @__PURE__ */ r(io, {}),
|
|
1505
1523
|
C
|
|
1506
1524
|
] }, `item-${String(I)}`)),
|
|
1507
|
-
|
|
1525
|
+
u && /* @__PURE__ */ r(_t, { color: "danger", children: (d == null ? void 0 : d.overdue) ?? f.headerOverdue() })
|
|
1508
1526
|
] });
|
|
1509
1527
|
}
|
|
1510
|
-
const
|
|
1528
|
+
const ro = ae`
|
|
1511
1529
|
mutation CreateSubmissionComment(
|
|
1512
1530
|
$id: ID!
|
|
1513
1531
|
$submissionAttempt: Int!
|
|
@@ -1597,7 +1615,7 @@ const so = ae`
|
|
|
1597
1615
|
mimeClass
|
|
1598
1616
|
url
|
|
1599
1617
|
}
|
|
1600
|
-
`,
|
|
1618
|
+
`, so = ae`
|
|
1601
1619
|
mutation MarkSubmissionCommentsRead(
|
|
1602
1620
|
$submissionId: ID!
|
|
1603
1621
|
$submissionCommentIds: [ID!]!
|
|
@@ -1614,7 +1632,7 @@ const so = ae`
|
|
|
1614
1632
|
}
|
|
1615
1633
|
}
|
|
1616
1634
|
}
|
|
1617
|
-
`,
|
|
1635
|
+
`, $o = ae`
|
|
1618
1636
|
mutation CreateSubmission(
|
|
1619
1637
|
$assignmentLid: ID!
|
|
1620
1638
|
$submissionType: OnlineSubmissionType!
|
|
@@ -1642,7 +1660,7 @@ const so = ae`
|
|
|
1642
1660
|
}
|
|
1643
1661
|
}
|
|
1644
1662
|
}
|
|
1645
|
-
`,
|
|
1663
|
+
`, Bo = ae`
|
|
1646
1664
|
mutation CreateSubmissionDraft(
|
|
1647
1665
|
$submissionId: ID!
|
|
1648
1666
|
$submissionType: DraftableSubmissionType!
|
|
@@ -1668,7 +1686,7 @@ const so = ae`
|
|
|
1668
1686
|
}
|
|
1669
1687
|
}
|
|
1670
1688
|
}
|
|
1671
|
-
`,
|
|
1689
|
+
`, Go = ae`
|
|
1672
1690
|
mutation DeleteSubmissionDraft($submissionId: ID!) {
|
|
1673
1691
|
deleteSubmissionDraft(input: { submissionId: $submissionId }) {
|
|
1674
1692
|
submissionDraftIds
|
|
@@ -1679,19 +1697,19 @@ const so = ae`
|
|
|
1679
1697
|
}
|
|
1680
1698
|
}
|
|
1681
1699
|
`;
|
|
1682
|
-
function
|
|
1700
|
+
function ao({
|
|
1683
1701
|
executeQuery: e
|
|
1684
1702
|
}) {
|
|
1685
|
-
const n =
|
|
1686
|
-
return
|
|
1687
|
-
mutationFn: async ({ submissionId: o, attempt: a, comment:
|
|
1688
|
-
const
|
|
1703
|
+
const n = un();
|
|
1704
|
+
return dn({
|
|
1705
|
+
mutationFn: async ({ submissionId: o, attempt: a, comment: c, fileIds: l }) => {
|
|
1706
|
+
const u = await e(ro, {
|
|
1689
1707
|
id: o,
|
|
1690
1708
|
submissionAttempt: a,
|
|
1691
|
-
comment:
|
|
1692
|
-
fileIds:
|
|
1709
|
+
comment: c,
|
|
1710
|
+
fileIds: l
|
|
1693
1711
|
});
|
|
1694
|
-
return
|
|
1712
|
+
return Yi.parse(u), u;
|
|
1695
1713
|
},
|
|
1696
1714
|
onSuccess: (o, a) => {
|
|
1697
1715
|
n.invalidateQueries({
|
|
@@ -1700,13 +1718,13 @@ function lo({
|
|
|
1700
1718
|
}
|
|
1701
1719
|
});
|
|
1702
1720
|
}
|
|
1703
|
-
function
|
|
1721
|
+
function lo({
|
|
1704
1722
|
submissionId: e,
|
|
1705
1723
|
courseId: n,
|
|
1706
1724
|
pageParams: o,
|
|
1707
1725
|
direction: a,
|
|
1708
|
-
executeQuery:
|
|
1709
|
-
enabled:
|
|
1726
|
+
executeQuery: c,
|
|
1727
|
+
enabled: l
|
|
1710
1728
|
}) {
|
|
1711
1729
|
return Ve({
|
|
1712
1730
|
queryKey: [
|
|
@@ -1719,58 +1737,58 @@ function co({
|
|
|
1719
1737
|
a
|
|
1720
1738
|
],
|
|
1721
1739
|
queryFn: async () => {
|
|
1722
|
-
const
|
|
1740
|
+
const u = await c(Ui, {
|
|
1723
1741
|
submissionId: e,
|
|
1724
1742
|
courseId: n,
|
|
1725
1743
|
beforeCursor: a === "prev" ? (o == null ? void 0 : o.startCursor) ?? null : null,
|
|
1726
1744
|
afterCursor: a === "next" ? (o == null ? void 0 : o.endCursor) ?? null : null,
|
|
1727
1745
|
first: a === "next" ? 5 : null,
|
|
1728
1746
|
last: a === "prev" || !a ? 5 : null
|
|
1729
|
-
}),
|
|
1747
|
+
}), h = Gi.parse(u);
|
|
1730
1748
|
return {
|
|
1731
|
-
comments: [...
|
|
1749
|
+
comments: [...h.submissionComments.commentsConnection.nodes].sort(
|
|
1732
1750
|
(f, g) => new Date(f.createdAt).getTime() - new Date(g.createdAt).getTime()
|
|
1733
1751
|
),
|
|
1734
|
-
pageInfo:
|
|
1752
|
+
pageInfo: h.submissionComments.commentsConnection.pageInfo
|
|
1735
1753
|
};
|
|
1736
1754
|
},
|
|
1737
|
-
enabled:
|
|
1755
|
+
enabled: l ?? !!e
|
|
1738
1756
|
});
|
|
1739
1757
|
}
|
|
1740
|
-
function
|
|
1758
|
+
function co({
|
|
1741
1759
|
executeQuery: e
|
|
1742
1760
|
}) {
|
|
1743
|
-
const n =
|
|
1744
|
-
return
|
|
1761
|
+
const n = un();
|
|
1762
|
+
return dn({
|
|
1745
1763
|
mutationFn: async ({ submissionId: o, submissionCommentIds: a }) => {
|
|
1746
|
-
const
|
|
1747
|
-
|
|
1764
|
+
const c = await e(
|
|
1765
|
+
so,
|
|
1748
1766
|
{ submissionId: o, submissionCommentIds: a }
|
|
1749
1767
|
);
|
|
1750
|
-
return
|
|
1768
|
+
return Vi.parse(c), c;
|
|
1751
1769
|
},
|
|
1752
1770
|
onSuccess: (o, a) => {
|
|
1753
1771
|
n.invalidateQueries({
|
|
1754
1772
|
queryKey: ["assignment-review", "assignment"],
|
|
1755
|
-
predicate: (
|
|
1773
|
+
predicate: (c) => c.queryKey.includes(a.assignmentId)
|
|
1756
1774
|
});
|
|
1757
1775
|
}
|
|
1758
1776
|
});
|
|
1759
1777
|
}
|
|
1760
|
-
function
|
|
1778
|
+
function mo(e) {
|
|
1761
1779
|
return /* @__PURE__ */ r("span", { dangerouslySetInnerHTML: { __html: It(e) } });
|
|
1762
1780
|
}
|
|
1763
|
-
function
|
|
1781
|
+
function uo(e) {
|
|
1764
1782
|
const n = new Date(e);
|
|
1765
1783
|
return Number.isNaN(n.getTime()) ? "" : n.toLocaleString();
|
|
1766
1784
|
}
|
|
1767
|
-
function
|
|
1785
|
+
function fo({
|
|
1768
1786
|
comment: e,
|
|
1769
1787
|
isFullWidth: n,
|
|
1770
1788
|
renderHTML: o
|
|
1771
1789
|
}) {
|
|
1772
|
-
var
|
|
1773
|
-
const a = q(),
|
|
1790
|
+
var d;
|
|
1791
|
+
const a = q(), c = o ?? mo, l = ((d = e.author.courseRoles) == null ? void 0 : d.includes("StudentEnrollment")) ?? !1, u = qe(() => c(e.htmlComment), [e.htmlComment, c]);
|
|
1774
1792
|
return /* @__PURE__ */ r(
|
|
1775
1793
|
K,
|
|
1776
1794
|
{
|
|
@@ -1779,19 +1797,19 @@ function po({
|
|
|
1779
1797
|
borderWidth: "small",
|
|
1780
1798
|
borderColor: "primary",
|
|
1781
1799
|
borderRadius: "medium",
|
|
1782
|
-
margin: n ? "none" :
|
|
1783
|
-
children: /* @__PURE__ */ S(
|
|
1784
|
-
/* @__PURE__ */ S(
|
|
1785
|
-
/* @__PURE__ */ S(
|
|
1786
|
-
/* @__PURE__ */ r(
|
|
1787
|
-
!e.read && /* @__PURE__ */ r(
|
|
1800
|
+
margin: n ? "none" : l ? "none none none medium" : "none medium none none",
|
|
1801
|
+
children: /* @__PURE__ */ S(b, { as: "div", direction: "column", gap: "small", children: [
|
|
1802
|
+
/* @__PURE__ */ S(b, { as: "div", direction: "column", gap: "xx-small", children: [
|
|
1803
|
+
/* @__PURE__ */ S(b, { as: "div", justifyItems: "space-between", alignItems: "center", children: [
|
|
1804
|
+
/* @__PURE__ */ r(b.Item, { shouldShrink: !0, children: /* @__PURE__ */ r(_, { weight: "bold", size: "medium", children: /* @__PURE__ */ r(hn, { children: e.author.shortName }) }) }),
|
|
1805
|
+
!e.read && /* @__PURE__ */ r(Tn, { type: "notification", standalone: !0, children: /* @__PURE__ */ r(Et, { children: a.commentsUnreadSingle() }) })
|
|
1788
1806
|
] }),
|
|
1789
|
-
/* @__PURE__ */ r(_, { size: "small", color: "secondary", children:
|
|
1807
|
+
/* @__PURE__ */ r(_, { size: "small", color: "secondary", children: uo(e.createdAt) }),
|
|
1790
1808
|
e.attempt > 0 && /* @__PURE__ */ r(_, { size: "small", color: "secondary", children: a.commentsAttempt({ number: e.attempt }) })
|
|
1791
1809
|
] }),
|
|
1792
|
-
/* @__PURE__ */ r(_, { size: "medium", children:
|
|
1810
|
+
/* @__PURE__ */ r(_, { size: "medium", children: u }),
|
|
1793
1811
|
e.attachments && e.attachments.length > 0 && /* @__PURE__ */ r(
|
|
1794
|
-
|
|
1812
|
+
wn,
|
|
1795
1813
|
{
|
|
1796
1814
|
attachments: e.attachments.map((f) => ({
|
|
1797
1815
|
...f,
|
|
@@ -1805,23 +1823,23 @@ function po({
|
|
|
1805
1823
|
}
|
|
1806
1824
|
);
|
|
1807
1825
|
}
|
|
1808
|
-
function
|
|
1826
|
+
function po({
|
|
1809
1827
|
submissionId: e,
|
|
1810
1828
|
courseId: n,
|
|
1811
1829
|
assignmentId: o,
|
|
1812
1830
|
attempt: a,
|
|
1813
|
-
canPostComment:
|
|
1814
|
-
onCommentPosted:
|
|
1815
|
-
renderHTML:
|
|
1816
|
-
executeQuery:
|
|
1831
|
+
canPostComment: c,
|
|
1832
|
+
onCommentPosted: l,
|
|
1833
|
+
renderHTML: u,
|
|
1834
|
+
executeQuery: h
|
|
1817
1835
|
}) {
|
|
1818
|
-
const
|
|
1836
|
+
const d = q(), [f, g] = Ee(""), [C, I] = Ee({}), w = zn(/* @__PURE__ */ new Set()), { data: y, isLoading: V, isError: fe } = lo({
|
|
1819
1837
|
submissionId: e,
|
|
1820
1838
|
courseId: n,
|
|
1821
1839
|
pageParams: C.pageParams,
|
|
1822
1840
|
direction: C.direction,
|
|
1823
|
-
executeQuery:
|
|
1824
|
-
}), le =
|
|
1841
|
+
executeQuery: h
|
|
1842
|
+
}), le = ao({ executeQuery: h }), M = co({ executeQuery: h });
|
|
1825
1843
|
Tt(() => {
|
|
1826
1844
|
if (!(y != null && y.comments) || y.comments.length === 0) return;
|
|
1827
1845
|
const E = y.comments.filter((N) => !N.read && !w.current.has(N._id)).filter((N) => {
|
|
@@ -1844,51 +1862,51 @@ function go({
|
|
|
1844
1862
|
{ submissionId: e, attempt: a, comment: f },
|
|
1845
1863
|
{
|
|
1846
1864
|
onSuccess: () => {
|
|
1847
|
-
g(""),
|
|
1865
|
+
g(""), l == null || l();
|
|
1848
1866
|
}
|
|
1849
1867
|
}
|
|
1850
1868
|
);
|
|
1851
1869
|
}, ce = (y == null ? void 0 : y.pageInfo.hasNextPage) || (y == null ? void 0 : y.pageInfo.hasPreviousPage);
|
|
1852
|
-
return V || !y && !fe ? /* @__PURE__ */ r(
|
|
1853
|
-
/* @__PURE__ */ S(
|
|
1854
|
-
y.comments.length === 0 ? /* @__PURE__ */ r(
|
|
1855
|
-
|
|
1870
|
+
return V || !y && !fe ? /* @__PURE__ */ r(b, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ r(Ye, { renderTitle: d.commentsPanelTitle(), size: "small" }) }) : fe ? /* @__PURE__ */ r(b, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ r(_, { color: "danger", children: d.commentsLoadError() }) }) : /* @__PURE__ */ S(b, { as: "div", direction: "column", justifyItems: "space-between", height: "100%", children: [
|
|
1871
|
+
/* @__PURE__ */ S(b, { as: "div", direction: "column", children: [
|
|
1872
|
+
y.comments.length === 0 ? /* @__PURE__ */ r(b, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ r(_, { color: "secondary", children: d.commentsEmpty() }) }) : /* @__PURE__ */ r(b, { direction: "column", gap: "x-small", children: y.comments.map((E) => /* @__PURE__ */ r(
|
|
1873
|
+
fo,
|
|
1856
1874
|
{
|
|
1857
1875
|
comment: E,
|
|
1858
1876
|
isFullWidth: !ne,
|
|
1859
|
-
renderHTML:
|
|
1877
|
+
renderHTML: u
|
|
1860
1878
|
},
|
|
1861
1879
|
E._id
|
|
1862
1880
|
)) }),
|
|
1863
|
-
ce && /* @__PURE__ */ S(
|
|
1881
|
+
ce && /* @__PURE__ */ S(b, { justifyItems: "space-between", padding: "small none", children: [
|
|
1864
1882
|
/* @__PURE__ */ r(
|
|
1865
1883
|
$,
|
|
1866
1884
|
{
|
|
1867
|
-
renderIcon: () => /* @__PURE__ */ r(
|
|
1885
|
+
renderIcon: () => /* @__PURE__ */ r(Bn, {}),
|
|
1868
1886
|
size: "small",
|
|
1869
1887
|
interaction: y.pageInfo.hasPreviousPage ? "enabled" : "disabled",
|
|
1870
1888
|
onClick: () => I({ pageParams: y.pageInfo, direction: "prev" }),
|
|
1871
|
-
children:
|
|
1889
|
+
children: d.commentsPreviousComments()
|
|
1872
1890
|
}
|
|
1873
1891
|
),
|
|
1874
1892
|
/* @__PURE__ */ r(
|
|
1875
1893
|
$,
|
|
1876
1894
|
{
|
|
1877
|
-
renderIcon: () => /* @__PURE__ */ r(
|
|
1895
|
+
renderIcon: () => /* @__PURE__ */ r(Gn, {}),
|
|
1878
1896
|
size: "small",
|
|
1879
1897
|
interaction: y.pageInfo.hasNextPage ? "enabled" : "disabled",
|
|
1880
1898
|
onClick: () => I({ pageParams: y.pageInfo, direction: "next" }),
|
|
1881
|
-
children:
|
|
1899
|
+
children: d.commentsNextComments()
|
|
1882
1900
|
}
|
|
1883
1901
|
)
|
|
1884
1902
|
] })
|
|
1885
1903
|
] }),
|
|
1886
|
-
|
|
1904
|
+
c && /* @__PURE__ */ S(b, { as: "div", direction: "column", gap: "small", padding: "small none medium", children: [
|
|
1887
1905
|
/* @__PURE__ */ r(
|
|
1888
|
-
|
|
1906
|
+
bn,
|
|
1889
1907
|
{
|
|
1890
1908
|
resize: "vertical",
|
|
1891
|
-
label: /* @__PURE__ */ r(_, { weight: "bold", size: "medium", children:
|
|
1909
|
+
label: /* @__PURE__ */ r(_, { weight: "bold", size: "medium", children: d.commentsPlaceholder() }),
|
|
1892
1910
|
value: f,
|
|
1893
1911
|
onChange: (E) => g(E.target.value)
|
|
1894
1912
|
}
|
|
@@ -1899,48 +1917,48 @@ function go({
|
|
|
1899
1917
|
color: "primary",
|
|
1900
1918
|
onClick: O,
|
|
1901
1919
|
interaction: f.trim().length > 0 && !le.isPending ? "enabled" : "disabled",
|
|
1902
|
-
children:
|
|
1920
|
+
children: d.commentsPost()
|
|
1903
1921
|
}
|
|
1904
1922
|
)
|
|
1905
1923
|
] })
|
|
1906
1924
|
] });
|
|
1907
1925
|
}
|
|
1908
|
-
function
|
|
1926
|
+
function go(e) {
|
|
1909
1927
|
return /* @__PURE__ */ r("span", { dangerouslySetInnerHTML: { __html: It(e) } });
|
|
1910
1928
|
}
|
|
1911
|
-
function
|
|
1929
|
+
function Wo({
|
|
1912
1930
|
courseId: e,
|
|
1913
1931
|
assignmentId: n,
|
|
1914
1932
|
userId: o,
|
|
1915
1933
|
feedbackMode: a = !1,
|
|
1916
|
-
onError:
|
|
1917
|
-
renderHTML:
|
|
1918
|
-
renderPanels:
|
|
1919
|
-
executeQuery:
|
|
1934
|
+
onError: c,
|
|
1935
|
+
renderHTML: l,
|
|
1936
|
+
renderPanels: u,
|
|
1937
|
+
executeQuery: h
|
|
1920
1938
|
}) {
|
|
1921
|
-
const
|
|
1939
|
+
const d = q(), f = l ?? go, {
|
|
1922
1940
|
data: g,
|
|
1923
1941
|
isLoading: C,
|
|
1924
1942
|
isError: I,
|
|
1925
1943
|
error: w
|
|
1926
|
-
} =
|
|
1944
|
+
} = Xi({ courseId: e, assignmentId: n, userId: o, executeQuery: h }), [y, V] = Ee(null), [fe, le] = Ee(
|
|
1927
1945
|
a ? "comments" : null
|
|
1928
1946
|
), M = qe(
|
|
1929
1947
|
() => (g == null ? void 0 : g.submissionsConnection.nodes[0]) ?? null,
|
|
1930
1948
|
[g]
|
|
1931
|
-
), ne = M != null && M.attempt > 0, O = y ?? M, ce = y == null || y.attempt === (M == null ? void 0 : M.attempt), E = ne && ce, N = ((g == null ? void 0 : g.allowedAttempts) ?? 0) !== 1, J =
|
|
1949
|
+
), ne = M != null && M.attempt > 0, O = y ?? M, ce = y == null || y.attempt === (M == null ? void 0 : M.attempt), E = ne && ce, N = ((g == null ? void 0 : g.allowedAttempts) ?? 0) !== 1, J = jn((Ze) => {
|
|
1932
1950
|
V(Ze);
|
|
1933
1951
|
}, []);
|
|
1934
1952
|
if (Tt(() => {
|
|
1935
|
-
I && w &&
|
|
1936
|
-
}, [I, w,
|
|
1953
|
+
I && w && c && c(w);
|
|
1954
|
+
}, [I, w, c]), Tt(() => {
|
|
1937
1955
|
a && ne && le("comments");
|
|
1938
1956
|
}, [a, ne]), C)
|
|
1939
|
-
return /* @__PURE__ */ r(
|
|
1957
|
+
return /* @__PURE__ */ r(b, { justifyItems: "center", padding: "large", children: /* @__PURE__ */ r(Ye, { renderTitle: d.progressLoading() }) });
|
|
1940
1958
|
if (I || !g)
|
|
1941
|
-
return /* @__PURE__ */ r(
|
|
1959
|
+
return /* @__PURE__ */ r(b, { justifyItems: "center", padding: "large", children: /* @__PURE__ */ r(_, { color: "danger", children: d.assignmentLoadError() }) });
|
|
1942
1960
|
const Ie = !!g.dueAt && new Date(g.dueAt) < /* @__PURE__ */ new Date() && !ne, xe = M ? /* @__PURE__ */ r(
|
|
1943
|
-
|
|
1961
|
+
po,
|
|
1944
1962
|
{
|
|
1945
1963
|
submissionId: M.id,
|
|
1946
1964
|
courseId: e,
|
|
@@ -1948,16 +1966,16 @@ function qo({
|
|
|
1948
1966
|
attempt: (O == null ? void 0 : O.attempt) ?? 0,
|
|
1949
1967
|
canPostComment: E,
|
|
1950
1968
|
renderHTML: f,
|
|
1951
|
-
executeQuery:
|
|
1969
|
+
executeQuery: h
|
|
1952
1970
|
}
|
|
1953
1971
|
) : null, Xe = N && M ? /* @__PURE__ */ r(
|
|
1954
|
-
|
|
1972
|
+
Ji,
|
|
1955
1973
|
{
|
|
1956
1974
|
submissionId: M.id,
|
|
1957
1975
|
selectedAttempt: O == null ? void 0 : O.attempt,
|
|
1958
1976
|
onAttemptSelect: J,
|
|
1959
1977
|
pointsPossible: g.pointsPossible,
|
|
1960
|
-
executeQuery:
|
|
1978
|
+
executeQuery: h
|
|
1961
1979
|
}
|
|
1962
1980
|
) : null, Ke = {
|
|
1963
1981
|
commentsPanel: xe,
|
|
@@ -1967,9 +1985,9 @@ function qo({
|
|
|
1967
1985
|
unreadCommentCount: (M == null ? void 0 : M.unreadCommentCount) ?? 0,
|
|
1968
1986
|
hasMultipleAttempts: N
|
|
1969
1987
|
};
|
|
1970
|
-
return /* @__PURE__ */ S(
|
|
1988
|
+
return /* @__PURE__ */ S(b, { direction: "column", gap: "medium", children: [
|
|
1971
1989
|
/* @__PURE__ */ r(
|
|
1972
|
-
|
|
1990
|
+
oo,
|
|
1973
1991
|
{
|
|
1974
1992
|
score: O == null ? void 0 : O.score,
|
|
1975
1993
|
pointsPossible: g.pointsPossible,
|
|
@@ -1981,36 +1999,36 @@ function qo({
|
|
|
1981
1999
|
}
|
|
1982
2000
|
),
|
|
1983
2001
|
g.description && /* @__PURE__ */ S(K, { as: "div", children: [
|
|
1984
|
-
/* @__PURE__ */ r(St, { level: "h3", children:
|
|
2002
|
+
/* @__PURE__ */ r(St, { level: "h3", children: d.assignmentInstructions() }),
|
|
1985
2003
|
/* @__PURE__ */ r(K, { as: "div", margin: "small none large none", children: f(g.description) })
|
|
1986
2004
|
] }),
|
|
1987
2005
|
/* @__PURE__ */ r(
|
|
1988
|
-
|
|
2006
|
+
to,
|
|
1989
2007
|
{
|
|
1990
2008
|
submission: O,
|
|
1991
2009
|
isLastAttempt: ce,
|
|
1992
2010
|
renderHTML: f
|
|
1993
2011
|
}
|
|
1994
2012
|
),
|
|
1995
|
-
|
|
2013
|
+
u ? u(Ke) : null
|
|
1996
2014
|
] });
|
|
1997
2015
|
}
|
|
1998
|
-
function
|
|
2016
|
+
function qo({
|
|
1999
2017
|
existingFiles: e,
|
|
2000
2018
|
onSubmit: n,
|
|
2001
2019
|
onSaveDraft: o,
|
|
2002
2020
|
onDiscardDraft: a,
|
|
2003
|
-
onSelectFiles:
|
|
2004
|
-
isSubmitting:
|
|
2021
|
+
onSelectFiles: c,
|
|
2022
|
+
isSubmitting: l = !1
|
|
2005
2023
|
}) {
|
|
2006
|
-
const
|
|
2007
|
-
const w = await
|
|
2008
|
-
|
|
2024
|
+
const u = q(), [h, d] = Ee(e ?? []), f = async () => {
|
|
2025
|
+
const w = await c();
|
|
2026
|
+
d((y) => [...y, ...w]);
|
|
2009
2027
|
}, g = (w) => {
|
|
2010
|
-
|
|
2011
|
-
}, C =
|
|
2012
|
-
return /* @__PURE__ */ S(
|
|
2013
|
-
|
|
2028
|
+
d((y) => y.filter((V) => V.id !== w));
|
|
2029
|
+
}, C = h.map((w) => w.id), I = h.length > 0 && !l;
|
|
2030
|
+
return /* @__PURE__ */ S(b, { direction: "column", gap: "medium", children: [
|
|
2031
|
+
h.length > 0 && /* @__PURE__ */ r(b, { direction: "column", gap: "x-small", children: h.map((w) => /* @__PURE__ */ r(
|
|
2014
2032
|
K,
|
|
2015
2033
|
{
|
|
2016
2034
|
as: "div",
|
|
@@ -2018,13 +2036,13 @@ function Yo({
|
|
|
2018
2036
|
borderWidth: "small",
|
|
2019
2037
|
borderColor: "primary",
|
|
2020
2038
|
borderRadius: "medium",
|
|
2021
|
-
children: /* @__PURE__ */ S(
|
|
2039
|
+
children: /* @__PURE__ */ S(b, { justifyItems: "space-between", alignItems: "center", children: [
|
|
2022
2040
|
/* @__PURE__ */ r(_, { children: w.name }),
|
|
2023
2041
|
/* @__PURE__ */ r(
|
|
2024
2042
|
$,
|
|
2025
2043
|
{
|
|
2026
2044
|
size: "small",
|
|
2027
|
-
renderIcon: () => /* @__PURE__ */ r(
|
|
2045
|
+
renderIcon: () => /* @__PURE__ */ r(Wn, {}),
|
|
2028
2046
|
onClick: () => g(w.id),
|
|
2029
2047
|
children: /* @__PURE__ */ S("span", { className: "screenreader-only", children: [
|
|
2030
2048
|
"Remove ",
|
|
@@ -2036,159 +2054,159 @@ function Yo({
|
|
|
2036
2054
|
},
|
|
2037
2055
|
w.id
|
|
2038
2056
|
)) }),
|
|
2039
|
-
/* @__PURE__ */ r($, { onClick: f, children:
|
|
2040
|
-
/* @__PURE__ */ S(
|
|
2057
|
+
/* @__PURE__ */ r($, { onClick: f, children: u.submissionFormAddFiles() }),
|
|
2058
|
+
/* @__PURE__ */ S(b, { gap: "small", children: [
|
|
2041
2059
|
/* @__PURE__ */ r(
|
|
2042
2060
|
$,
|
|
2043
2061
|
{
|
|
2044
2062
|
color: "primary",
|
|
2045
2063
|
onClick: () => n(C),
|
|
2046
2064
|
interaction: I ? "enabled" : "disabled",
|
|
2047
|
-
children:
|
|
2065
|
+
children: u.submissionFormSubmit()
|
|
2048
2066
|
}
|
|
2049
2067
|
),
|
|
2050
2068
|
o && /* @__PURE__ */ r(
|
|
2051
2069
|
$,
|
|
2052
2070
|
{
|
|
2053
2071
|
onClick: () => o(C),
|
|
2054
|
-
interaction:
|
|
2055
|
-
children:
|
|
2072
|
+
interaction: h.length > 0 ? "enabled" : "disabled",
|
|
2073
|
+
children: u.submissionFormSaveDraft()
|
|
2056
2074
|
}
|
|
2057
2075
|
),
|
|
2058
|
-
a && e && e.length > 0 && /* @__PURE__ */ r($, { color: "primary-inverse", onClick: a, children:
|
|
2076
|
+
a && e && e.length > 0 && /* @__PURE__ */ r($, { color: "primary-inverse", onClick: a, children: u.submissionFormDiscardDraft() })
|
|
2059
2077
|
] })
|
|
2060
2078
|
] });
|
|
2061
2079
|
}
|
|
2062
|
-
function
|
|
2080
|
+
function Yo({
|
|
2063
2081
|
prevItem: e,
|
|
2064
2082
|
nextItem: n,
|
|
2065
2083
|
onNavigatePrev: o,
|
|
2066
2084
|
onNavigateNext: a,
|
|
2067
|
-
labels:
|
|
2085
|
+
labels: c
|
|
2068
2086
|
}) {
|
|
2069
|
-
const
|
|
2087
|
+
const l = q();
|
|
2070
2088
|
if (!e && !n)
|
|
2071
2089
|
return null;
|
|
2072
|
-
const
|
|
2073
|
-
return /* @__PURE__ */ S(
|
|
2090
|
+
const u = (c == null ? void 0 : c.previous) ?? l.navigationPrevious(), h = (c == null ? void 0 : c.next) ?? l.navigationNext();
|
|
2091
|
+
return /* @__PURE__ */ S(b, { justifyItems: "space-between", padding: "small none", children: [
|
|
2074
2092
|
e ? /* @__PURE__ */ r(
|
|
2075
2093
|
$,
|
|
2076
2094
|
{
|
|
2077
|
-
renderIcon: () => /* @__PURE__ */ r(
|
|
2095
|
+
renderIcon: () => /* @__PURE__ */ r(fn, {}),
|
|
2078
2096
|
onClick: o,
|
|
2079
|
-
"aria-label": `${
|
|
2080
|
-
children:
|
|
2097
|
+
"aria-label": `${u}: ${e.title}`,
|
|
2098
|
+
children: u
|
|
2081
2099
|
}
|
|
2082
2100
|
) : /* @__PURE__ */ r("div", {}),
|
|
2083
2101
|
n ? /* @__PURE__ */ r(
|
|
2084
2102
|
$,
|
|
2085
2103
|
{
|
|
2086
|
-
renderIcon: () => /* @__PURE__ */ r(
|
|
2104
|
+
renderIcon: () => /* @__PURE__ */ r(pn, {}),
|
|
2087
2105
|
onClick: a,
|
|
2088
|
-
"aria-label": `${
|
|
2089
|
-
children:
|
|
2106
|
+
"aria-label": `${h}: ${n.title}`,
|
|
2107
|
+
children: h
|
|
2090
2108
|
}
|
|
2091
2109
|
) : /* @__PURE__ */ r("div", {})
|
|
2092
2110
|
] });
|
|
2093
2111
|
}
|
|
2094
|
-
function
|
|
2112
|
+
function ho(e) {
|
|
2095
2113
|
switch (e) {
|
|
2096
2114
|
case "Assignment":
|
|
2097
|
-
return /* @__PURE__ */ r(Zn, {});
|
|
2098
|
-
case "Quiz":
|
|
2099
2115
|
return /* @__PURE__ */ r(Kn, {});
|
|
2100
|
-
case "
|
|
2116
|
+
case "Quiz":
|
|
2101
2117
|
return /* @__PURE__ */ r(Xn, {});
|
|
2118
|
+
case "Discussion":
|
|
2119
|
+
return /* @__PURE__ */ r(Vn, {});
|
|
2102
2120
|
case "Page":
|
|
2103
2121
|
return /* @__PURE__ */ r(Kt, {});
|
|
2104
2122
|
case "ExternalUrl":
|
|
2105
2123
|
case "ExternalTool":
|
|
2106
|
-
return /* @__PURE__ */ r(
|
|
2124
|
+
return /* @__PURE__ */ r(Yn, {});
|
|
2107
2125
|
default:
|
|
2108
2126
|
return /* @__PURE__ */ r(Kt, {});
|
|
2109
2127
|
}
|
|
2110
2128
|
}
|
|
2111
|
-
function
|
|
2129
|
+
function bo({
|
|
2112
2130
|
item: e,
|
|
2113
2131
|
isSelected: n,
|
|
2114
2132
|
isLoadingItem: o,
|
|
2115
2133
|
onClick: a
|
|
2116
2134
|
}) {
|
|
2117
|
-
var
|
|
2118
|
-
const
|
|
2135
|
+
var d, f, g, C, I;
|
|
2136
|
+
const c = q(), l = ((d = e.content_details) == null ? void 0 : d.locked_for_user) ?? !1, u = (f = e.content_details) == null ? void 0 : f.lock_explanation, h = /* @__PURE__ */ r(
|
|
2119
2137
|
K,
|
|
2120
2138
|
{
|
|
2121
2139
|
as: "div",
|
|
2122
2140
|
padding: "small",
|
|
2123
2141
|
background: n ? "secondary" : "primary",
|
|
2124
2142
|
borderRadius: "small",
|
|
2125
|
-
cursor:
|
|
2126
|
-
onClick:
|
|
2127
|
-
role:
|
|
2128
|
-
tabIndex:
|
|
2129
|
-
onKeyDown:
|
|
2143
|
+
cursor: l ? "not-allowed" : "pointer",
|
|
2144
|
+
onClick: l ? void 0 : a,
|
|
2145
|
+
role: l ? void 0 : "button",
|
|
2146
|
+
tabIndex: l ? void 0 : 0,
|
|
2147
|
+
onKeyDown: l ? void 0 : (w) => {
|
|
2130
2148
|
(w.key === "Enter" || w.key === " ") && (w.preventDefault(), a());
|
|
2131
2149
|
},
|
|
2132
|
-
children: /* @__PURE__ */ S(
|
|
2133
|
-
/* @__PURE__ */ r(
|
|
2134
|
-
/* @__PURE__ */ r(
|
|
2150
|
+
children: /* @__PURE__ */ S(b, { gap: "small", alignItems: "center", children: [
|
|
2151
|
+
/* @__PURE__ */ r(b.Item, { children: l ? /* @__PURE__ */ r(gn, {}) : ho(e.type) }),
|
|
2152
|
+
/* @__PURE__ */ r(b.Item, { shouldGrow: !0, shouldShrink: !0, children: /* @__PURE__ */ S(b, { direction: "column", gap: "xx-small", children: [
|
|
2135
2153
|
/* @__PURE__ */ r(_, { weight: n ? "bold" : "normal", size: "small", children: e.title }),
|
|
2136
|
-
((g = e.content_details) == null ? void 0 : g.due_at) && /* @__PURE__ */ r(_, { size: "x-small", color: "secondary", children:
|
|
2154
|
+
((g = e.content_details) == null ? void 0 : g.due_at) && /* @__PURE__ */ r(_, { size: "x-small", color: "secondary", children: c.progressDueDate({
|
|
2137
2155
|
date: new Date(e.content_details.due_at).toLocaleDateString()
|
|
2138
2156
|
}) }),
|
|
2139
|
-
((C = e.content_details) == null ? void 0 : C.points_possible) != null && /* @__PURE__ */ r(_, { size: "x-small", color: "secondary", children:
|
|
2157
|
+
((C = e.content_details) == null ? void 0 : C.points_possible) != null && /* @__PURE__ */ r(_, { size: "x-small", color: "secondary", children: c.progressPoints({ points: e.content_details.points_possible }) })
|
|
2140
2158
|
] }) }),
|
|
2141
|
-
o && /* @__PURE__ */ r(Ye, { size: "x-small", renderTitle:
|
|
2159
|
+
o && /* @__PURE__ */ r(Ye, { size: "x-small", renderTitle: c.progressLoading() }),
|
|
2142
2160
|
((I = e.completion_requirement) == null ? void 0 : I.completed) && /* @__PURE__ */ r(_, { color: "success", size: "small", children: "✓" })
|
|
2143
2161
|
] })
|
|
2144
2162
|
}
|
|
2145
2163
|
);
|
|
2146
|
-
return
|
|
2164
|
+
return l && u ? /* @__PURE__ */ r(Jn, { renderTip: u, placement: "end", children: h }) : h;
|
|
2147
2165
|
}
|
|
2148
|
-
function
|
|
2166
|
+
function Vo({
|
|
2149
2167
|
module: e,
|
|
2150
2168
|
currentItemId: n,
|
|
2151
2169
|
onItemClick: o,
|
|
2152
2170
|
onClose: a,
|
|
2153
|
-
onNavigateModule:
|
|
2154
|
-
hasPrevModule:
|
|
2155
|
-
hasNextModule:
|
|
2156
|
-
isLoading:
|
|
2157
|
-
title:
|
|
2171
|
+
onNavigateModule: c,
|
|
2172
|
+
hasPrevModule: l = !1,
|
|
2173
|
+
hasNextModule: u = !1,
|
|
2174
|
+
isLoading: h = !1,
|
|
2175
|
+
title: d
|
|
2158
2176
|
}) {
|
|
2159
2177
|
var C;
|
|
2160
|
-
const f = q(), g =
|
|
2161
|
-
return /* @__PURE__ */ S(
|
|
2162
|
-
/* @__PURE__ */ S(
|
|
2178
|
+
const f = q(), g = d ?? f.navigationMyProgress();
|
|
2179
|
+
return /* @__PURE__ */ S(b, { direction: "column", height: "100%", children: [
|
|
2180
|
+
/* @__PURE__ */ S(b, { justifyItems: "space-between", alignItems: "center", padding: "small", children: [
|
|
2163
2181
|
/* @__PURE__ */ r(St, { level: "h3", children: g }),
|
|
2164
|
-
/* @__PURE__ */ r(
|
|
2182
|
+
/* @__PURE__ */ r(Qn, { screenReaderLabel: f.navigationClosePanel(), onClick: a, size: "small", children: /* @__PURE__ */ r(qn, {}) })
|
|
2165
2183
|
] }),
|
|
2166
2184
|
/* @__PURE__ */ S(K, { as: "div", padding: "none small", overflowY: "auto", children: [
|
|
2167
|
-
e.state === "locked" && /* @__PURE__ */ r(
|
|
2168
|
-
/* @__PURE__ */ r(
|
|
2185
|
+
e.state === "locked" && /* @__PURE__ */ r(b, { padding: "none none small", children: /* @__PURE__ */ S(_t, { color: "warning", children: [
|
|
2186
|
+
/* @__PURE__ */ r(gn, {}),
|
|
2169
2187
|
" ",
|
|
2170
2188
|
f.progressLocked()
|
|
2171
2189
|
] }) }),
|
|
2172
2190
|
/* @__PURE__ */ r(_, { weight: "bold", size: "medium", children: e.name }),
|
|
2173
|
-
/* @__PURE__ */ r(
|
|
2174
|
-
|
|
2191
|
+
/* @__PURE__ */ r(b, { direction: "column", gap: "xx-small", padding: "small none", children: (C = e.items) == null ? void 0 : C.map((I) => /* @__PURE__ */ r(
|
|
2192
|
+
bo,
|
|
2175
2193
|
{
|
|
2176
2194
|
item: I,
|
|
2177
2195
|
isSelected: I.id === n,
|
|
2178
|
-
isLoadingItem:
|
|
2196
|
+
isLoadingItem: h && I.id === n,
|
|
2179
2197
|
onClick: () => o(I)
|
|
2180
2198
|
},
|
|
2181
2199
|
I.id
|
|
2182
2200
|
)) })
|
|
2183
2201
|
] }),
|
|
2184
|
-
|
|
2202
|
+
c && /* @__PURE__ */ S(b, { justifyItems: "space-between", padding: "small", children: [
|
|
2185
2203
|
/* @__PURE__ */ r(
|
|
2186
2204
|
$,
|
|
2187
2205
|
{
|
|
2188
|
-
renderIcon: () => /* @__PURE__ */ r(
|
|
2206
|
+
renderIcon: () => /* @__PURE__ */ r(fn, {}),
|
|
2189
2207
|
size: "small",
|
|
2190
|
-
interaction:
|
|
2191
|
-
onClick: () =>
|
|
2208
|
+
interaction: l ? "enabled" : "disabled",
|
|
2209
|
+
onClick: () => c("prev"),
|
|
2192
2210
|
"aria-label": f.navigationPreviousModule(),
|
|
2193
2211
|
children: f.navigationPrevious()
|
|
2194
2212
|
}
|
|
@@ -2196,10 +2214,10 @@ function Xo({
|
|
|
2196
2214
|
/* @__PURE__ */ r(
|
|
2197
2215
|
$,
|
|
2198
2216
|
{
|
|
2199
|
-
renderIcon: () => /* @__PURE__ */ r(
|
|
2217
|
+
renderIcon: () => /* @__PURE__ */ r(pn, {}),
|
|
2200
2218
|
size: "small",
|
|
2201
|
-
interaction:
|
|
2202
|
-
onClick: () =>
|
|
2219
|
+
interaction: u ? "enabled" : "disabled",
|
|
2220
|
+
onClick: () => c("next"),
|
|
2203
2221
|
"aria-label": f.navigationNextModule(),
|
|
2204
2222
|
children: f.navigationNext()
|
|
2205
2223
|
}
|
|
@@ -2207,57 +2225,57 @@ function Xo({
|
|
|
2207
2225
|
] })
|
|
2208
2226
|
] });
|
|
2209
2227
|
}
|
|
2210
|
-
function
|
|
2228
|
+
function Xo({
|
|
2211
2229
|
existingDraft: e,
|
|
2212
2230
|
onSubmit: n,
|
|
2213
2231
|
onSaveDraft: o,
|
|
2214
2232
|
onDiscardDraft: a,
|
|
2215
|
-
isSubmitting:
|
|
2233
|
+
isSubmitting: c = !1
|
|
2216
2234
|
}) {
|
|
2217
|
-
const
|
|
2218
|
-
return /* @__PURE__ */ S(
|
|
2235
|
+
const l = q(), [u, h] = Ee(e ?? ""), d = u.trim().length > 0 && !c;
|
|
2236
|
+
return /* @__PURE__ */ S(b, { direction: "column", gap: "medium", children: [
|
|
2219
2237
|
/* @__PURE__ */ r(
|
|
2220
|
-
|
|
2238
|
+
bn,
|
|
2221
2239
|
{
|
|
2222
|
-
label:
|
|
2223
|
-
value:
|
|
2224
|
-
onChange: (f) =>
|
|
2240
|
+
label: l.submissionTextHeading(),
|
|
2241
|
+
value: u,
|
|
2242
|
+
onChange: (f) => h(f.target.value),
|
|
2225
2243
|
resize: "vertical",
|
|
2226
2244
|
height: "200px"
|
|
2227
2245
|
}
|
|
2228
2246
|
),
|
|
2229
|
-
/* @__PURE__ */ S(
|
|
2247
|
+
/* @__PURE__ */ S(b, { gap: "small", children: [
|
|
2230
2248
|
/* @__PURE__ */ r(
|
|
2231
2249
|
$,
|
|
2232
2250
|
{
|
|
2233
2251
|
color: "primary",
|
|
2234
|
-
onClick: () => n(
|
|
2235
|
-
interaction:
|
|
2236
|
-
children:
|
|
2252
|
+
onClick: () => n(u),
|
|
2253
|
+
interaction: d ? "enabled" : "disabled",
|
|
2254
|
+
children: l.submissionFormSubmit()
|
|
2237
2255
|
}
|
|
2238
2256
|
),
|
|
2239
2257
|
o && /* @__PURE__ */ r(
|
|
2240
2258
|
$,
|
|
2241
2259
|
{
|
|
2242
|
-
onClick: () => o(
|
|
2243
|
-
interaction:
|
|
2244
|
-
children:
|
|
2260
|
+
onClick: () => o(u),
|
|
2261
|
+
interaction: u.trim().length > 0 ? "enabled" : "disabled",
|
|
2262
|
+
children: l.submissionFormSaveDraft()
|
|
2245
2263
|
}
|
|
2246
2264
|
),
|
|
2247
|
-
a && e && /* @__PURE__ */ r($, { color: "primary-inverse", onClick: a, children:
|
|
2265
|
+
a && e && /* @__PURE__ */ r($, { color: "primary-inverse", onClick: a, children: l.submissionFormDiscardDraft() })
|
|
2248
2266
|
] })
|
|
2249
2267
|
] });
|
|
2250
2268
|
}
|
|
2251
|
-
function
|
|
2269
|
+
function Ko({
|
|
2252
2270
|
unreadCount: e
|
|
2253
2271
|
}) {
|
|
2254
2272
|
const n = q();
|
|
2255
2273
|
if (e === 0)
|
|
2256
2274
|
return null;
|
|
2257
2275
|
const o = e === 1 ? n.commentsUnreadSingle() : n.commentsUnread({ count: e });
|
|
2258
|
-
return /* @__PURE__ */ r(
|
|
2276
|
+
return /* @__PURE__ */ r(Tn, { count: e, standalone: !0, children: /* @__PURE__ */ r(Et, { children: o }) });
|
|
2259
2277
|
}
|
|
2260
|
-
function
|
|
2278
|
+
function Zo({
|
|
2261
2279
|
courseId: e,
|
|
2262
2280
|
moduleItemId: n,
|
|
2263
2281
|
fetchSequence: o,
|
|
@@ -2270,42 +2288,42 @@ function Qo({
|
|
|
2270
2288
|
});
|
|
2271
2289
|
}
|
|
2272
2290
|
export {
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
|
|
2291
|
+
Bi as AssignmentResponseSchema,
|
|
2292
|
+
Wo as AssignmentReview,
|
|
2293
|
+
Qi as AttemptCard,
|
|
2294
|
+
to as AttemptView,
|
|
2295
|
+
Ji as AttemptsHistory,
|
|
2296
|
+
$o as CREATE_SUBMISSION,
|
|
2297
|
+
ro as CREATE_SUBMISSION_COMMENT,
|
|
2298
|
+
Bo as CREATE_SUBMISSION_DRAFT,
|
|
2299
|
+
fo as CommentCard,
|
|
2300
|
+
Yi as CreateSubmissionCommentResponseSchema,
|
|
2301
|
+
jo as CreateSubmissionDraftResponseSchema,
|
|
2302
|
+
zo as CreateSubmissionResponseSchema,
|
|
2303
|
+
Go as DELETE_SUBMISSION_DRAFT,
|
|
2304
|
+
Ho as DeleteSubmissionDraftResponseSchema,
|
|
2305
|
+
wn as DownloadButtons,
|
|
2306
|
+
qo as FileUploadSubmissionForm,
|
|
2307
|
+
Fi as GET_ASSIGNMENT,
|
|
2308
|
+
zi as GET_SUBMISSIONS,
|
|
2309
|
+
Ui as GET_SUBMISSION_COMMENTS,
|
|
2310
|
+
oo as LearningContentHeader,
|
|
2311
|
+
so as MARK_SUBMISSION_COMMENTS_READ,
|
|
2312
|
+
Vi as MarkSubmissionCommentsReadResponseSchema,
|
|
2313
|
+
Yo as ModuleNavigation,
|
|
2314
|
+
Vo as MyProgressPanel,
|
|
2315
|
+
po as SubmissionComments,
|
|
2316
|
+
Uo as SubmissionCommentsDataSchema,
|
|
2317
|
+
Gi as SubmissionCommentsQueryResponseSchema,
|
|
2318
|
+
qi as SubmissionsQueryResponseSchema,
|
|
2319
|
+
Xo as TextEntrySubmissionForm,
|
|
2320
|
+
Fo as TranslationsProvider,
|
|
2321
|
+
Ko as UnreadCommentsBadge,
|
|
2322
|
+
ao as useCreateSubmissionComment,
|
|
2323
|
+
Xi as useGetAssignment,
|
|
2324
|
+
lo as useGetSubmissionComments,
|
|
2325
|
+
Ki as useGetSubmissions,
|
|
2326
|
+
co as useMarkSubmissionCommentsRead,
|
|
2327
|
+
Zo as useModuleItemSequence,
|
|
2310
2328
|
q as useTranslations
|
|
2311
2329
|
};
|