@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.
Files changed (2) hide show
  1. package/dist/index.js +454 -436
  2. 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 Un, useContext as zn, useMemo as qe, useState as Ee, useRef as jn, useEffect as Tt, useCallback as Hn } from "react";
3
- import { Flex as h } from "@instructure/ui-flex";
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 dn, useMutation as fn } from "@tanstack/react-query";
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 $n, IconCheckMarkSolid as Bn, IconArrowStartLine as Gn, IconArrowEndLine as Wn, IconTrashLine as qn, IconArrowOpenStartLine as pn, IconArrowOpenEndLine as gn, IconXLine as Yn, IconLockLine as hn, IconDocumentLine as Kt, IconLinkLine as Vn, IconDiscussionLine as Xn, IconQuizLine as Kn, IconAssignmentLine as Zn } from "@instructure/ui-icons";
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 Qn } from "@instructure/ui-link";
15
- import { TruncateText as bn } from "@instructure/ui-truncate-text";
16
- import { Button as $, IconButton as Jn } from "@instructure/ui-buttons";
17
- import { TextArea as Tn } from "@instructure/ui-text-area";
18
- import { Badge as yn } from "@instructure/ui-badge";
19
- import { Tooltip as ei } from "@instructure/ui-tooltip";
20
- const An = Un(void 0);
21
- function Uo({
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(An.Provider, { value: e, children: n });
25
+ return /* @__PURE__ */ r(yn.Provider, { value: e, children: n });
26
26
  }
27
27
  function q() {
28
- const e = zn(An);
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 ti(e) {
39
+ function ei(e) {
40
40
  if (Array.isArray(e)) return e;
41
41
  }
42
- function ni(e, n) {
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, l, c, d, b = [], u = !0, f = !1;
45
+ var a, c, l, u, h = [], d = !0, f = !1;
46
46
  try {
47
- if (c = (o = o.call(e)).next, n !== 0) for (; !(u = (a = c.call(o)).done) && (b.push(a.value), b.length !== n); u = !0) ;
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, l = g;
49
+ f = !0, c = g;
50
50
  } finally {
51
51
  try {
52
- if (!u && o.return != null && (d = o.return(), Object(d) !== d)) return;
52
+ if (!d && o.return != null && (u = o.return(), Object(u) !== u)) return;
53
53
  } finally {
54
- if (f) throw l;
54
+ if (f) throw c;
55
55
  }
56
56
  }
57
- return b;
57
+ return h;
58
58
  }
59
59
  }
60
- function ii() {
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 oi(e, n) {
65
- return ti(e) || ni(e, n) || ri(e, n) || ii();
64
+ function ii(e, n) {
65
+ return ei(e) || ti(e, n) || oi(e, n) || ni();
66
66
  }
67
- function ri(e, n) {
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 Sn = Object.entries, Qt = Object.setPrototypeOf, si = Object.isFrozen, ai = Object.getPrototypeOf, li = Object.getOwnPropertyDescriptor;
75
- let B = Object.freeze, Y = Object.seal, _e = Object.create, _n = typeof Reflect < "u" && Reflect, yt = _n.apply, At = _n.construct;
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, l = new Array(a > 2 ? a - 2 : 0), c = 2; c < a; c++)
84
- l[c - 2] = arguments[c];
85
- return n.apply(o, l);
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), l = 1; l < o; l++)
89
- a[l - 1] = arguments[l];
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), ci = x(Array.prototype.lastIndexOf), Jt = x(Array.prototype.pop), ye = x(Array.prototype.push), mi = 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), ui = x(String.prototype.trim), di = x(Number.prototype.toString), fi = 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 = pi(TypeError);
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), l = 1; l < o; l++)
97
- a[l - 1] = arguments[l];
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 pi(e) {
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 l = n[a];
115
- if (typeof l == "string") {
116
- const c = o(l);
117
- c !== l && (si(n) || (n[a] = c), l = c);
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[l] = !0;
119
+ e[c] = !0;
120
120
  }
121
121
  return e;
122
122
  }
123
- function gi(e) {
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 Sn(e)) {
131
- var o = oi(a, 2);
132
- const l = o[0], c = o[1];
133
- D(e, l) && (H(c) ? n[l] = gi(c) : c && typeof c == "object" && c.constructor === Object ? n[l] = W(c) : n[l] = c);
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 hi(e) {
137
+ function gi(e) {
138
138
  switch (typeof e) {
139
139
  case "string":
140
140
  return e;
141
141
  case "number":
142
- return di(e);
142
+ return ui(e);
143
143
  case "boolean":
144
- return fi(e);
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 = li(e, n);
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 = ai(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 bi(e) {
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"]), Ti = 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"]), yi = 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"]), Ai = Y(/{{[\w\W]*|^[\w\W]*}}/g), Si = Y(/<%[\w\W]*|^[\w\W]*%>/g), _i = Y(/\${[\w\W]*/g), Ei = Y(/^data-[\-\w.\u00B7-\uFFFF]+$/), Ii = Y(/^aria-[\-\w]+$/), cn = Y(
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
- ), wi = Y(/^(?:\w+script|data):/i), Ci = Y(
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
- ), Di = Y(/^html$/i), Ri = Y(/^[a-z][.\w]*(-[.\w]+)+$/i), Se = {
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
- }, Oi = function() {
202
+ }, Ri = function() {
203
203
  return typeof window > "u" ? null : window;
204
- }, Ni = function(n, o) {
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 l = "data-tt-policy-suffix";
209
- o && o.hasAttribute(l) && (a = o.getAttribute(l));
210
- const c = "dompurify" + (a ? "#" + a : "");
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(c, {
213
- createHTML(d) {
214
- return d;
212
+ return n.createPolicy(l, {
213
+ createHTML(u) {
214
+ return u;
215
215
  },
216
- createScriptURL(d) {
217
- return d;
216
+ createScriptURL(u) {
217
+ return u;
218
218
  }
219
219
  });
220
220
  } catch {
221
- return console.warn("TrustedTypes policy " + c + " could not be created."), null;
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 En() {
237
- let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : Oi();
238
- const n = (p) => En(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, l = a.currentScript, c = e.DocumentFragment, d = e.HTMLTemplateElement, b = e.Node, u = 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 = u.prototype, fe = de(V, "cloneNode"), le = de(V, "remove"), M = de(V, "nextSibling"), ne = de(V, "childNodes"), O = de(V, "parentNode"), ce = b && b.prototype ? de(b.prototype, "nodeType") : null;
243
- if (typeof d == "function") {
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 Sn == "function" && typeof O == "function" && Ie && Ie.createHTMLDocument !== void 0;
251
- const ke = Ai, Me = Si, Pe = _i, Dn = Ei, Rn = Ii, On = wi, wt = Ci, Nn = Ri;
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 vn = T({}, [je, He, Q], dt);
299
+ const Nn = T({}, [je, He, Q], dt);
300
300
  let st = T({}, ["mi", "mo", "mn", "ms", "mtext"]), at = T({}, ["annotation-xml"]);
301
- const Ln = T({}, ["title", "style", "font", "a", "script"]);
301
+ const vn = T({}, ["title", "style", "font", "a", "script"]);
302
302
  let Re = null;
303
- const xn = ["application/xhtml+xml", "text/html"], kn = "text/html";
303
+ const Ln = ["application/xhtml+xml", "text/html"], xn = "text/html";
304
304
  let k = null, be = null;
305
- const Mn = o.createElement("form"), Ut = function(t) {
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
- xn.indexOf(t.PARSER_MEDIA_TYPE) === -1 ? kn : 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) : vn, 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 = bi(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"]);
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 = Ni(y, l)), E !== null && typeof N == "string" && (N = E.createHTML(""));
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, ...Ti]), jt = T({}, [...gt, ...yi]), Pn = function(t) {
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] && (Ln[m] || !zt[m]) : !!(Re === "application/xhtml+xml" && rt[t.namespaceURI]) : !1;
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 u && !Pn(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) => {
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 Mn))
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(Dn, s))) {
462
- if (!(Ot && z(Rn, s))) {
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(On, Ae(m, wt, "")))) {
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
- }, Fn = 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 !Fn[Ne(t)] && z(Nn, t);
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 : ui(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 c && mt(s.content);
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 c) {
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 = hi(p), typeof p != "string"))
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 c && mt(A.content);
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(Di, s.ownerDocument.doctype.name) && (G = "<!DOCTYPE " + s.ownerDocument.doctype.name + `>
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 = ci(j[p], t);
625
- return s === -1 ? void 0 : mi(j[p], s, 1)[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 = En();
635
- const vi = /* @__PURE__ */ new Set([
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 is included: RCE uses it legitimately (e.g. non-interactive
865
- // decorative overlays). It is not in the overlay-phishing class because it
866
- // cannot reposition elements — position/z-index remain blocked.
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
- ]), Li = /* @__PURE__ */ new Set([
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
- ]), un = /^\s*(\/\/|\\)/, xi = [
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
- ], ki = /url\s*\(\s*['"]?(?:[a-z][a-z0-9+\-.]*:|\/\/)/i, Mi = /* @__PURE__ */ new Set([
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
- ]), Pi = {
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 Fi() {
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 c = 0; c < n.length; c++) {
952
- const d = n.item(c);
953
- vi.has(d) || o.push(d);
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 c of o) n.removeProperty(c);
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
- ]), l = n.getPropertyValue("position").trim().toLowerCase();
966
- l && !a.has(l) && n.removeProperty("position");
967
- for (const c of xi) {
968
- const d = n.getPropertyValue(c);
969
- d && ki.test(d) && n.removeProperty(c);
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
- Li.has(n.attrName) && un.test(n.attrValue) && (n.keepAttr = !1);
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") || (e.getAttribute("srcset") ?? "").split(",").map((n) => n.trim().split(/\s+/)[0]).some((n) => un.test(n)) && e.removeAttribute("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) => Mi.has(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 = Pi;
991
- return Fi().sanitize(e ?? "", o);
1008
+ const o = Mi;
1009
+ return Pi().sanitize(e ?? "", o);
992
1010
  }
993
- const Ui = ae`
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
- `, zi = ae`
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
- `, ji = ae`
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
- }), Hi = i.object({
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
- }), $i = i.object({
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: Hi.nullable()
1160
- }), Bi = i.object({
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($i)
1190
+ nodes: i.array(Hi)
1173
1191
  })
1174
- }), Gi = i.object({
1175
- legacyNode: Bi,
1192
+ }), Bi = i.object({
1193
+ legacyNode: $i,
1176
1194
  course: i.object({
1177
1195
  name: i.string()
1178
1196
  })
1179
- }), In = i.object({
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
- }), wn = i.object({
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
- }), Wi = i.object({
1223
+ }), Gi = i.object({
1206
1224
  submissionComments: i.object({
1207
1225
  commentsConnection: i.object({
1208
- pageInfo: In,
1209
- nodes: i.array(wn)
1226
+ pageInfo: En,
1227
+ nodes: i.array(In)
1210
1228
  })
1211
1229
  })
1212
- }), zo = i.object({
1213
- comments: i.array(wn),
1214
- pageInfo: In
1215
- }), qi = i.object({
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
- }), Yi = i.object({
1243
+ }), qi = i.object({
1226
1244
  node: i.object({
1227
1245
  submissionHistoriesConnection: i.object({
1228
- nodes: i.array(qi)
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
- }), Vi = i.object({
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
- }), Xi = i.object({
1297
+ }), Vi = i.object({
1280
1298
  markSubmissionCommentsRead: i.object({
1281
1299
  errors: i.array(Le).nullable()
1282
1300
  })
1283
- }), jo = i.object({
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
- }), Ho = i.object(
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
- ), $o = i.object(
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 Ki({
1329
+ function Xi({
1312
1330
  courseId: e,
1313
1331
  assignmentId: n,
1314
1332
  userId: o,
1315
1333
  executeQuery: a,
1316
- enabled: l = !0
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 c = await a(Ui, {
1339
+ const l = await a(Fi, {
1322
1340
  courseId: e,
1323
1341
  assignmentId: n,
1324
1342
  userId: o
1325
- }), d = Gi.parse(c);
1343
+ }), u = Bi.parse(l);
1326
1344
  return {
1327
- ...d.legacyNode,
1328
- courseName: d.course.name
1345
+ ...u.legacyNode,
1346
+ courseName: u.course.name
1329
1347
  };
1330
1348
  },
1331
- enabled: l
1349
+ enabled: c
1332
1350
  });
1333
1351
  }
1334
- function Zi({
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(ji, { submissionId: e });
1343
- return Yi.parse(a).node.submissionHistoriesConnection.nodes.slice().sort(
1344
- (c, d) => new Date(d.submittedAt).getTime() - new Date(c.submittedAt).getTime()
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 Qi(e) {
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 Ji({
1373
+ function Qi({
1356
1374
  submission: e,
1357
1375
  isSelected: n,
1358
1376
  isDraft: o = !1,
1359
1377
  pointsPossible: a,
1360
- onClick: l
1378
+ onClick: c
1361
1379
  }) {
1362
- const c = q(), d = o ? c.submissionCurrentAttempt() : c.commentsAttempt({ number: e.attempt }), b = e.score != null && a != null ? `${e.score}/${a}` : null;
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: l,
1391
+ onClick: c,
1374
1392
  role: "button",
1375
1393
  tabIndex: 0,
1376
- onKeyDown: (u) => {
1377
- (u.key === "Enter" || u.key === " ") && (u.preventDefault(), l());
1394
+ onKeyDown: (d) => {
1395
+ (d.key === "Enter" || d.key === " ") && (d.preventDefault(), c());
1378
1396
  },
1379
- children: /* @__PURE__ */ S(h, { justifyItems: "space-between", alignItems: "center", children: [
1380
- /* @__PURE__ */ S(h, { direction: "column", gap: "xx-small", children: [
1381
- /* @__PURE__ */ S(h, { gap: "small", alignItems: "center", children: [
1382
- /* @__PURE__ */ r(_, { weight: "bold", children: d }),
1383
- o && /* @__PURE__ */ r(_t, { color: "info", children: c.submissionDraft() })
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: Qi(e.submittedAt) })
1403
+ !o && e.submittedAt && /* @__PURE__ */ r(_, { size: "small", color: "secondary", children: Zi(e.submittedAt) })
1386
1404
  ] }),
1387
- b && /* @__PURE__ */ r(_, { weight: "bold", children: b })
1405
+ h && /* @__PURE__ */ r(_, { weight: "bold", children: h })
1388
1406
  ] })
1389
1407
  }
1390
1408
  );
1391
1409
  }
1392
- function eo({
1410
+ function Ji({
1393
1411
  submissionId: e,
1394
1412
  selectedAttempt: n,
1395
1413
  onAttemptSelect: o,
1396
1414
  pointsPossible: a,
1397
- executeQuery: l
1415
+ executeQuery: c
1398
1416
  }) {
1399
- const c = q(), { data: d, isLoading: b, isError: u } = Zi({
1417
+ const l = q(), { data: u, isLoading: h, isError: d } = Ki({
1400
1418
  submissionId: e,
1401
- executeQuery: l
1419
+ executeQuery: c
1402
1420
  });
1403
- if (b)
1404
- return /* @__PURE__ */ r(h, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ r(Ye, { renderTitle: c.navigationAttempts(), size: "small" }) });
1405
- if (u)
1406
- return /* @__PURE__ */ r(h, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ r(_, { color: "danger", children: c.submissionLoadAttemptsError() }) });
1407
- const f = (d == null ? void 0 : d.filter((g) => g.attempt > 0)) ?? [];
1408
- return f.length === 0 ? /* @__PURE__ */ r(h, { padding: "medium", children: /* @__PURE__ */ r(_, { color: "secondary", children: c.submissionNoAttempts() }) }) : /* @__PURE__ */ r(h, { direction: "column", gap: "x-small", padding: "none none medium none", children: f.map((g) => /* @__PURE__ */ r(
1409
- Ji,
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 Cn({
1437
+ function wn({
1420
1438
  attachments: e,
1421
1439
  size: n = "medium"
1422
1440
  }) {
1423
- return e.length === 0 ? null : /* @__PURE__ */ r(h, { direction: "column", gap: "x-small", children: e.map((o) => /* @__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(h, { as: "div", gap: "small", width: "100%", justifyItems: "space-between", alignItems: "center", children: [
1432
- /* @__PURE__ */ r(h.Item, { shouldShrink: !0, children: /* @__PURE__ */ r(bn, { children: o.displayName }) }),
1433
- /* @__PURE__ */ r(Qn, { href: o.url, isWithinText: !1, renderIcon: /* @__PURE__ */ r($n, {}), children: /* @__PURE__ */ r(Et, { children: `Download ${o.displayName}` }) })
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 to(e) {
1457
+ function eo(e) {
1440
1458
  return /* @__PURE__ */ r("span", { dangerouslySetInnerHTML: { __html: It(e) } });
1441
1459
  }
1442
- function no({
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 l = q(), c = a ?? to, d = (e == null ? void 0 : e.submissionType) === "online_text_entry", b = (e == null ? void 0 : e.submissionType) === "online_upload", u = d ? l.submissionTextHeading() : l.submissionUploadHeading(), f = qe(() => {
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(() => c((e == null ? void 0 : e.body) ?? ""), [e == null ? void 0 : e.body, c]);
1456
- return e ? /* @__PURE__ */ r(K, { as: "div", children: /* @__PURE__ */ S(h, { direction: "column", gap: "small", children: [
1457
- o && !n && e.attempt != null && /* @__PURE__ */ r(_, { size: "small", weight: "bold", color: "secondary", children: l.submissionViewingAttempt({ number: e.attempt }) }),
1458
- /* @__PURE__ */ S(h, { gap: "x-small", alignItems: "center", children: [
1459
- /* @__PURE__ */ r(Bn, { color: "success" }),
1460
- /* @__PURE__ */ r(St, { level: "h3", children: u })
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
- d && e.body && /* @__PURE__ */ S(h, { alignItems: "stretch", gap: "small", children: [
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
- b && f.length > 0 && /* @__PURE__ */ r(Cn, { attachments: f })
1484
+ h && f.length > 0 && /* @__PURE__ */ r(wn, { attachments: f })
1467
1485
  ] }) }) : null;
1468
1486
  }
1469
- function io(e) {
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 oo() {
1491
+ function io() {
1474
1492
  return /* @__PURE__ */ r(_, { color: "secondary", size: "small", children: "|" });
1475
1493
  }
1476
- function ro({
1494
+ function oo({
1477
1495
  score: e,
1478
1496
  pointsPossible: n,
1479
1497
  gradingType: o,
1480
1498
  dueAt: a,
1481
- allowedAttempts: l,
1482
- currentAttempt: c,
1483
- isOverdue: d,
1484
- estimatedDuration: b,
1485
- labels: u
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 b && g.push(
1489
- /* @__PURE__ */ r(_, { size: "small", children: (u == null ? void 0 : u.duration) ?? f.headerDuration({ minutes: b }) }, "duration")
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: (u == null ? void 0 : u.score) ?? f.headerScore({ score: e, total: n }) }, "score")
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: (u == null ? void 0 : u.pointsPossible) ?? f.headerPointsPossible({ points: n }) }, "points")
1494
- ), l != null && (l === -1 ? g.push(
1495
- /* @__PURE__ */ r(_, { size: "small", children: (u == null ? void 0 : u.attempts) ?? f.headerAttemptsUnlimited() }, "attempts")
1496
- ) : c != null ? g.push(
1497
- /* @__PURE__ */ r(_, { size: "small", children: (u == null ? void 0 : u.attempts) ?? f.headerAttemptOf({ current: c, total: l }) }, "attempts")
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: (u == null ? void 0 : u.attempts) ?? f.headerAttemptsAllowed({ count: l }) }, "attempts")
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: (u == null ? void 0 : u.dueDate) ?? f.headerDueDate({ date: io(a) }) }, "due")
1502
- ), /* @__PURE__ */ S(h, { as: "div", direction: "row", alignItems: "center", gap: "small", children: [
1503
- g.map((C, I) => /* @__PURE__ */ S(h, { gap: "small", alignItems: "center", children: [
1504
- I > 0 && /* @__PURE__ */ r(oo, {}),
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
- d && /* @__PURE__ */ r(_t, { color: "danger", children: (u == null ? void 0 : u.overdue) ?? f.headerOverdue() })
1525
+ u && /* @__PURE__ */ r(_t, { color: "danger", children: (d == null ? void 0 : d.overdue) ?? f.headerOverdue() })
1508
1526
  ] });
1509
1527
  }
1510
- const so = ae`
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
- `, ao = ae`
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
- `, Bo = ae`
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
- `, Go = ae`
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
- `, Wo = ae`
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 lo({
1700
+ function ao({
1683
1701
  executeQuery: e
1684
1702
  }) {
1685
- const n = dn();
1686
- return fn({
1687
- mutationFn: async ({ submissionId: o, attempt: a, comment: l, fileIds: c }) => {
1688
- const d = await e(so, {
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: l,
1692
- fileIds: c
1709
+ comment: c,
1710
+ fileIds: l
1693
1711
  });
1694
- return Vi.parse(d), d;
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 co({
1721
+ function lo({
1704
1722
  submissionId: e,
1705
1723
  courseId: n,
1706
1724
  pageParams: o,
1707
1725
  direction: a,
1708
- executeQuery: l,
1709
- enabled: c
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 d = await l(zi, {
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
- }), b = Wi.parse(d);
1747
+ }), h = Gi.parse(u);
1730
1748
  return {
1731
- comments: [...b.submissionComments.commentsConnection.nodes].sort(
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: b.submissionComments.commentsConnection.pageInfo
1752
+ pageInfo: h.submissionComments.commentsConnection.pageInfo
1735
1753
  };
1736
1754
  },
1737
- enabled: c ?? !!e
1755
+ enabled: l ?? !!e
1738
1756
  });
1739
1757
  }
1740
- function mo({
1758
+ function co({
1741
1759
  executeQuery: e
1742
1760
  }) {
1743
- const n = dn();
1744
- return fn({
1761
+ const n = un();
1762
+ return dn({
1745
1763
  mutationFn: async ({ submissionId: o, submissionCommentIds: a }) => {
1746
- const l = await e(
1747
- ao,
1764
+ const c = await e(
1765
+ so,
1748
1766
  { submissionId: o, submissionCommentIds: a }
1749
1767
  );
1750
- return Xi.parse(l), l;
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: (l) => l.queryKey.includes(a.assignmentId)
1773
+ predicate: (c) => c.queryKey.includes(a.assignmentId)
1756
1774
  });
1757
1775
  }
1758
1776
  });
1759
1777
  }
1760
- function uo(e) {
1778
+ function mo(e) {
1761
1779
  return /* @__PURE__ */ r("span", { dangerouslySetInnerHTML: { __html: It(e) } });
1762
1780
  }
1763
- function fo(e) {
1781
+ function uo(e) {
1764
1782
  const n = new Date(e);
1765
1783
  return Number.isNaN(n.getTime()) ? "" : n.toLocaleString();
1766
1784
  }
1767
- function po({
1785
+ function fo({
1768
1786
  comment: e,
1769
1787
  isFullWidth: n,
1770
1788
  renderHTML: o
1771
1789
  }) {
1772
- var u;
1773
- const a = q(), l = o ?? uo, c = ((u = e.author.courseRoles) == null ? void 0 : u.includes("StudentEnrollment")) ?? !1, d = qe(() => l(e.htmlComment), [e.htmlComment, l]);
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" : c ? "none none none medium" : "none medium none none",
1783
- children: /* @__PURE__ */ S(h, { as: "div", direction: "column", gap: "small", children: [
1784
- /* @__PURE__ */ S(h, { as: "div", direction: "column", gap: "xx-small", children: [
1785
- /* @__PURE__ */ S(h, { as: "div", justifyItems: "space-between", alignItems: "center", children: [
1786
- /* @__PURE__ */ r(h.Item, { shouldShrink: !0, children: /* @__PURE__ */ r(_, { weight: "bold", size: "medium", children: /* @__PURE__ */ r(bn, { children: e.author.shortName }) }) }),
1787
- !e.read && /* @__PURE__ */ r(yn, { type: "notification", standalone: !0, children: /* @__PURE__ */ r(Et, { children: a.commentsUnreadSingle() }) })
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: fo(e.createdAt) }),
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: d }),
1810
+ /* @__PURE__ */ r(_, { size: "medium", children: u }),
1793
1811
  e.attachments && e.attachments.length > 0 && /* @__PURE__ */ r(
1794
- Cn,
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 go({
1826
+ function po({
1809
1827
  submissionId: e,
1810
1828
  courseId: n,
1811
1829
  assignmentId: o,
1812
1830
  attempt: a,
1813
- canPostComment: l,
1814
- onCommentPosted: c,
1815
- renderHTML: d,
1816
- executeQuery: b
1831
+ canPostComment: c,
1832
+ onCommentPosted: l,
1833
+ renderHTML: u,
1834
+ executeQuery: h
1817
1835
  }) {
1818
- const u = q(), [f, g] = Ee(""), [C, I] = Ee({}), w = jn(/* @__PURE__ */ new Set()), { data: y, isLoading: V, isError: fe } = co({
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: b
1824
- }), le = lo({ executeQuery: b }), M = mo({ executeQuery: b });
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(""), c == null || c();
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(h, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ r(Ye, { renderTitle: u.commentsPanelTitle(), size: "small" }) }) : fe ? /* @__PURE__ */ r(h, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ r(_, { color: "danger", children: u.commentsLoadError() }) }) : /* @__PURE__ */ S(h, { as: "div", direction: "column", justifyItems: "space-between", height: "100%", children: [
1853
- /* @__PURE__ */ S(h, { as: "div", direction: "column", children: [
1854
- y.comments.length === 0 ? /* @__PURE__ */ r(h, { justifyItems: "center", padding: "medium", children: /* @__PURE__ */ r(_, { color: "secondary", children: u.commentsEmpty() }) }) : /* @__PURE__ */ r(h, { direction: "column", gap: "x-small", children: y.comments.map((E) => /* @__PURE__ */ r(
1855
- po,
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: d
1877
+ renderHTML: u
1860
1878
  },
1861
1879
  E._id
1862
1880
  )) }),
1863
- ce && /* @__PURE__ */ S(h, { justifyItems: "space-between", padding: "small none", children: [
1881
+ ce && /* @__PURE__ */ S(b, { justifyItems: "space-between", padding: "small none", children: [
1864
1882
  /* @__PURE__ */ r(
1865
1883
  $,
1866
1884
  {
1867
- renderIcon: () => /* @__PURE__ */ r(Gn, {}),
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: u.commentsPreviousComments()
1889
+ children: d.commentsPreviousComments()
1872
1890
  }
1873
1891
  ),
1874
1892
  /* @__PURE__ */ r(
1875
1893
  $,
1876
1894
  {
1877
- renderIcon: () => /* @__PURE__ */ r(Wn, {}),
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: u.commentsNextComments()
1899
+ children: d.commentsNextComments()
1882
1900
  }
1883
1901
  )
1884
1902
  ] })
1885
1903
  ] }),
1886
- l && /* @__PURE__ */ S(h, { as: "div", direction: "column", gap: "small", padding: "small none medium", children: [
1904
+ c && /* @__PURE__ */ S(b, { as: "div", direction: "column", gap: "small", padding: "small none medium", children: [
1887
1905
  /* @__PURE__ */ r(
1888
- Tn,
1906
+ bn,
1889
1907
  {
1890
1908
  resize: "vertical",
1891
- label: /* @__PURE__ */ r(_, { weight: "bold", size: "medium", children: u.commentsPlaceholder() }),
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: u.commentsPost()
1920
+ children: d.commentsPost()
1903
1921
  }
1904
1922
  )
1905
1923
  ] })
1906
1924
  ] });
1907
1925
  }
1908
- function ho(e) {
1926
+ function go(e) {
1909
1927
  return /* @__PURE__ */ r("span", { dangerouslySetInnerHTML: { __html: It(e) } });
1910
1928
  }
1911
- function qo({
1929
+ function Wo({
1912
1930
  courseId: e,
1913
1931
  assignmentId: n,
1914
1932
  userId: o,
1915
1933
  feedbackMode: a = !1,
1916
- onError: l,
1917
- renderHTML: c,
1918
- renderPanels: d,
1919
- executeQuery: b
1934
+ onError: c,
1935
+ renderHTML: l,
1936
+ renderPanels: u,
1937
+ executeQuery: h
1920
1938
  }) {
1921
- const u = q(), f = c ?? ho, {
1939
+ const d = q(), f = l ?? go, {
1922
1940
  data: g,
1923
1941
  isLoading: C,
1924
1942
  isError: I,
1925
1943
  error: w
1926
- } = Ki({ courseId: e, assignmentId: n, userId: o, executeQuery: b }), [y, V] = Ee(null), [fe, le] = Ee(
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 = Hn((Ze) => {
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 && l && l(w);
1936
- }, [I, w, l]), Tt(() => {
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(h, { justifyItems: "center", padding: "large", children: /* @__PURE__ */ r(Ye, { renderTitle: u.progressLoading() }) });
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(h, { justifyItems: "center", padding: "large", children: /* @__PURE__ */ r(_, { color: "danger", children: u.assignmentLoadError() }) });
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
- go,
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: b
1969
+ executeQuery: h
1952
1970
  }
1953
1971
  ) : null, Xe = N && M ? /* @__PURE__ */ r(
1954
- eo,
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: b
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(h, { direction: "column", gap: "medium", children: [
1988
+ return /* @__PURE__ */ S(b, { direction: "column", gap: "medium", children: [
1971
1989
  /* @__PURE__ */ r(
1972
- ro,
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: u.assignmentInstructions() }),
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
- no,
2006
+ to,
1989
2007
  {
1990
2008
  submission: O,
1991
2009
  isLastAttempt: ce,
1992
2010
  renderHTML: f
1993
2011
  }
1994
2012
  ),
1995
- d ? d(Ke) : null
2013
+ u ? u(Ke) : null
1996
2014
  ] });
1997
2015
  }
1998
- function Yo({
2016
+ function qo({
1999
2017
  existingFiles: e,
2000
2018
  onSubmit: n,
2001
2019
  onSaveDraft: o,
2002
2020
  onDiscardDraft: a,
2003
- onSelectFiles: l,
2004
- isSubmitting: c = !1
2021
+ onSelectFiles: c,
2022
+ isSubmitting: l = !1
2005
2023
  }) {
2006
- const d = q(), [b, u] = Ee(e ?? []), f = async () => {
2007
- const w = await l();
2008
- u((y) => [...y, ...w]);
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
- u((y) => y.filter((V) => V.id !== w));
2011
- }, C = b.map((w) => w.id), I = b.length > 0 && !c;
2012
- return /* @__PURE__ */ S(h, { direction: "column", gap: "medium", children: [
2013
- b.length > 0 && /* @__PURE__ */ r(h, { direction: "column", gap: "x-small", children: b.map((w) => /* @__PURE__ */ r(
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(h, { justifyItems: "space-between", alignItems: "center", children: [
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(qn, {}),
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: d.submissionFormAddFiles() }),
2040
- /* @__PURE__ */ S(h, { gap: "small", children: [
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: d.submissionFormSubmit()
2065
+ children: u.submissionFormSubmit()
2048
2066
  }
2049
2067
  ),
2050
2068
  o && /* @__PURE__ */ r(
2051
2069
  $,
2052
2070
  {
2053
2071
  onClick: () => o(C),
2054
- interaction: b.length > 0 ? "enabled" : "disabled",
2055
- children: d.submissionFormSaveDraft()
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: d.submissionFormDiscardDraft() })
2076
+ a && e && e.length > 0 && /* @__PURE__ */ r($, { color: "primary-inverse", onClick: a, children: u.submissionFormDiscardDraft() })
2059
2077
  ] })
2060
2078
  ] });
2061
2079
  }
2062
- function Vo({
2080
+ function Yo({
2063
2081
  prevItem: e,
2064
2082
  nextItem: n,
2065
2083
  onNavigatePrev: o,
2066
2084
  onNavigateNext: a,
2067
- labels: l
2085
+ labels: c
2068
2086
  }) {
2069
- const c = q();
2087
+ const l = q();
2070
2088
  if (!e && !n)
2071
2089
  return null;
2072
- const d = (l == null ? void 0 : l.previous) ?? c.navigationPrevious(), b = (l == null ? void 0 : l.next) ?? c.navigationNext();
2073
- return /* @__PURE__ */ S(h, { justifyItems: "space-between", padding: "small none", children: [
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(pn, {}),
2095
+ renderIcon: () => /* @__PURE__ */ r(fn, {}),
2078
2096
  onClick: o,
2079
- "aria-label": `${d}: ${e.title}`,
2080
- children: d
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(gn, {}),
2104
+ renderIcon: () => /* @__PURE__ */ r(pn, {}),
2087
2105
  onClick: a,
2088
- "aria-label": `${b}: ${n.title}`,
2089
- children: b
2106
+ "aria-label": `${h}: ${n.title}`,
2107
+ children: h
2090
2108
  }
2091
2109
  ) : /* @__PURE__ */ r("div", {})
2092
2110
  ] });
2093
2111
  }
2094
- function bo(e) {
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 "Discussion":
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(Vn, {});
2124
+ return /* @__PURE__ */ r(Yn, {});
2107
2125
  default:
2108
2126
  return /* @__PURE__ */ r(Kt, {});
2109
2127
  }
2110
2128
  }
2111
- function To({
2129
+ function bo({
2112
2130
  item: e,
2113
2131
  isSelected: n,
2114
2132
  isLoadingItem: o,
2115
2133
  onClick: a
2116
2134
  }) {
2117
- var u, f, g, C, I;
2118
- const l = q(), c = ((u = e.content_details) == null ? void 0 : u.locked_for_user) ?? !1, d = (f = e.content_details) == null ? void 0 : f.lock_explanation, b = /* @__PURE__ */ r(
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: c ? "not-allowed" : "pointer",
2126
- onClick: c ? void 0 : a,
2127
- role: c ? void 0 : "button",
2128
- tabIndex: c ? void 0 : 0,
2129
- onKeyDown: c ? void 0 : (w) => {
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(h, { gap: "small", alignItems: "center", children: [
2133
- /* @__PURE__ */ r(h.Item, { children: c ? /* @__PURE__ */ r(hn, {}) : bo(e.type) }),
2134
- /* @__PURE__ */ r(h.Item, { shouldGrow: !0, shouldShrink: !0, children: /* @__PURE__ */ S(h, { direction: "column", gap: "xx-small", children: [
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: l.progressDueDate({
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: l.progressPoints({ points: e.content_details.points_possible }) })
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: l.progressLoading() }),
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 c && d ? /* @__PURE__ */ r(ei, { renderTip: d, placement: "end", children: b }) : b;
2164
+ return l && u ? /* @__PURE__ */ r(Jn, { renderTip: u, placement: "end", children: h }) : h;
2147
2165
  }
2148
- function Xo({
2166
+ function Vo({
2149
2167
  module: e,
2150
2168
  currentItemId: n,
2151
2169
  onItemClick: o,
2152
2170
  onClose: a,
2153
- onNavigateModule: l,
2154
- hasPrevModule: c = !1,
2155
- hasNextModule: d = !1,
2156
- isLoading: b = !1,
2157
- title: u
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 = u ?? f.navigationMyProgress();
2161
- return /* @__PURE__ */ S(h, { direction: "column", height: "100%", children: [
2162
- /* @__PURE__ */ S(h, { justifyItems: "space-between", alignItems: "center", padding: "small", children: [
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(Jn, { screenReaderLabel: f.navigationClosePanel(), onClick: a, size: "small", children: /* @__PURE__ */ r(Yn, {}) })
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(h, { padding: "none none small", children: /* @__PURE__ */ S(_t, { color: "warning", children: [
2168
- /* @__PURE__ */ r(hn, {}),
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(h, { direction: "column", gap: "xx-small", padding: "small none", children: (C = e.items) == null ? void 0 : C.map((I) => /* @__PURE__ */ r(
2174
- To,
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: b && I.id === n,
2196
+ isLoadingItem: h && I.id === n,
2179
2197
  onClick: () => o(I)
2180
2198
  },
2181
2199
  I.id
2182
2200
  )) })
2183
2201
  ] }),
2184
- l && /* @__PURE__ */ S(h, { justifyItems: "space-between", padding: "small", children: [
2202
+ c && /* @__PURE__ */ S(b, { justifyItems: "space-between", padding: "small", children: [
2185
2203
  /* @__PURE__ */ r(
2186
2204
  $,
2187
2205
  {
2188
- renderIcon: () => /* @__PURE__ */ r(pn, {}),
2206
+ renderIcon: () => /* @__PURE__ */ r(fn, {}),
2189
2207
  size: "small",
2190
- interaction: c ? "enabled" : "disabled",
2191
- onClick: () => l("prev"),
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(gn, {}),
2217
+ renderIcon: () => /* @__PURE__ */ r(pn, {}),
2200
2218
  size: "small",
2201
- interaction: d ? "enabled" : "disabled",
2202
- onClick: () => l("next"),
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 Ko({
2228
+ function Xo({
2211
2229
  existingDraft: e,
2212
2230
  onSubmit: n,
2213
2231
  onSaveDraft: o,
2214
2232
  onDiscardDraft: a,
2215
- isSubmitting: l = !1
2233
+ isSubmitting: c = !1
2216
2234
  }) {
2217
- const c = q(), [d, b] = Ee(e ?? ""), u = d.trim().length > 0 && !l;
2218
- return /* @__PURE__ */ S(h, { direction: "column", gap: "medium", children: [
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
- Tn,
2238
+ bn,
2221
2239
  {
2222
- label: c.submissionTextHeading(),
2223
- value: d,
2224
- onChange: (f) => b(f.target.value),
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(h, { gap: "small", children: [
2247
+ /* @__PURE__ */ S(b, { gap: "small", children: [
2230
2248
  /* @__PURE__ */ r(
2231
2249
  $,
2232
2250
  {
2233
2251
  color: "primary",
2234
- onClick: () => n(d),
2235
- interaction: u ? "enabled" : "disabled",
2236
- children: c.submissionFormSubmit()
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(d),
2243
- interaction: d.trim().length > 0 ? "enabled" : "disabled",
2244
- children: c.submissionFormSaveDraft()
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: c.submissionFormDiscardDraft() })
2265
+ a && e && /* @__PURE__ */ r($, { color: "primary-inverse", onClick: a, children: l.submissionFormDiscardDraft() })
2248
2266
  ] })
2249
2267
  ] });
2250
2268
  }
2251
- function Zo({
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(yn, { count: e, standalone: !0, children: /* @__PURE__ */ r(Et, { children: o }) });
2276
+ return /* @__PURE__ */ r(Tn, { count: e, standalone: !0, children: /* @__PURE__ */ r(Et, { children: o }) });
2259
2277
  }
2260
- function Qo({
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
- Gi as AssignmentResponseSchema,
2274
- qo as AssignmentReview,
2275
- Ji as AttemptCard,
2276
- no as AttemptView,
2277
- eo as AttemptsHistory,
2278
- Bo as CREATE_SUBMISSION,
2279
- so as CREATE_SUBMISSION_COMMENT,
2280
- Go as CREATE_SUBMISSION_DRAFT,
2281
- po as CommentCard,
2282
- Vi as CreateSubmissionCommentResponseSchema,
2283
- Ho as CreateSubmissionDraftResponseSchema,
2284
- jo as CreateSubmissionResponseSchema,
2285
- Wo as DELETE_SUBMISSION_DRAFT,
2286
- $o as DeleteSubmissionDraftResponseSchema,
2287
- Cn as DownloadButtons,
2288
- Yo as FileUploadSubmissionForm,
2289
- Ui as GET_ASSIGNMENT,
2290
- ji as GET_SUBMISSIONS,
2291
- zi as GET_SUBMISSION_COMMENTS,
2292
- ro as LearningContentHeader,
2293
- ao as MARK_SUBMISSION_COMMENTS_READ,
2294
- Xi as MarkSubmissionCommentsReadResponseSchema,
2295
- Vo as ModuleNavigation,
2296
- Xo as MyProgressPanel,
2297
- go as SubmissionComments,
2298
- zo as SubmissionCommentsDataSchema,
2299
- Wi as SubmissionCommentsQueryResponseSchema,
2300
- Yi as SubmissionsQueryResponseSchema,
2301
- Ko as TextEntrySubmissionForm,
2302
- Uo as TranslationsProvider,
2303
- Zo as UnreadCommentsBadge,
2304
- lo as useCreateSubmissionComment,
2305
- Ki as useGetAssignment,
2306
- co as useGetSubmissionComments,
2307
- Zi as useGetSubmissions,
2308
- mo as useMarkSubmissionCommentsRead,
2309
- Qo as useModuleItemSequence,
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
  };