@pie-element/complex-rubric 7.1.2-next.2 → 7.1.2-next.21

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 (42) hide show
  1. package/author.js +2 -0
  2. package/dist/author/index.js +39 -36
  3. package/dist/author/main.d.ts +2 -0
  4. package/dist/author/main.js +55 -52
  5. package/dist/browser/assets/Symbola-4c507403.woff2 +0 -0
  6. package/dist/browser/author/index.js +42047 -6775
  7. package/dist/browser/author/index.js.map +1 -1
  8. package/dist/browser/controller/index.js.map +1 -1
  9. package/dist/browser/delivery/index.js +22 -21
  10. package/dist/browser/delivery/index.js.map +1 -1
  11. package/dist/browser/delivery-BndFOWez.js +728 -0
  12. package/dist/browser/delivery-BndFOWez.js.map +1 -0
  13. package/dist/browser/editor-runtime/assets/Symbola-4c507403.woff2 +0 -0
  14. package/dist/browser/editor-runtime/author/index.js +26270 -0
  15. package/dist/browser/editor-runtime/author/index.js.map +1 -0
  16. package/dist/browser/editor-runtime/controller/index.js +145 -0
  17. package/dist/browser/editor-runtime/controller/index.js.map +1 -0
  18. package/dist/browser/editor-runtime/delivery/index.js +97 -0
  19. package/dist/browser/editor-runtime/delivery/index.js.map +1 -0
  20. package/dist/browser/editor-runtime/delivery-Bsx36s2O.js +728 -0
  21. package/dist/browser/editor-runtime/delivery-Bsx36s2O.js.map +1 -0
  22. package/dist/browser/editor-runtime/print/index.js +85 -0
  23. package/dist/browser/editor-runtime/print/index.js.map +1 -0
  24. package/dist/browser/editor-runtime/private-tags-ok_j1Rzm.js +9273 -0
  25. package/dist/browser/editor-runtime/private-tags-ok_j1Rzm.js.map +1 -0
  26. package/dist/browser/editor-runtime/rolldown-runtime-CHQKHQ89.js +32 -0
  27. package/dist/browser/print/index.js +25 -24
  28. package/dist/browser/print/index.js.map +1 -1
  29. package/dist/browser/private-tags-DGB41-ey.js +9273 -0
  30. package/dist/browser/private-tags-DGB41-ey.js.map +1 -0
  31. package/dist/browser/rolldown-runtime-CWhphoD1.js +32 -0
  32. package/dist/delivery/index.js +25 -24
  33. package/dist/index.iife.js +30 -30
  34. package/dist/print/index.js +26 -25
  35. package/dist/private-tags.d.ts +4 -0
  36. package/dist/private-tags.js +3 -0
  37. package/module/print.js +15960 -0
  38. package/module/print.js.map +1 -0
  39. package/package.json +43 -22
  40. package/print.js +2 -0
  41. package/dist/browser/dist-DJUOd5EZ.js +0 -19
  42. package/dist/browser/dist-DJUOd5EZ.js.map +0 -1
@@ -0,0 +1,728 @@
1
+ import { a as e } from "./rolldown-runtime-CHQKHQ89.js";
2
+ import { Ct as t, D as n, E as r, I as i, J as a, L as o, Ot as s, St as c, Tt as l, X as u, Y as d, _t as f, b as p, bt as m, c as h, dt as g, l as _, mt as v, o as y, ot as ee, s as te, st as ne, tt as b, w as re, wt as x } from "./private-tags-ok_j1Rzm.js";
3
+ import * as S from "react";
4
+ import C from "react";
5
+ import { jsx as w, jsxs as T } from "react/jsx-runtime";
6
+ import { createRoot as E } from "react-dom/client";
7
+ //#region ../rubric/dist/delivery/main.js
8
+ var D = /* @__PURE__ */ e(s(), 1);
9
+ function O(e) {
10
+ return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
11
+ }
12
+ function k(e, t) {
13
+ return !e || O(e) ? e : O(e.default) ? e.default : t && O(e[t]) ? e[t] : t && O(e[t]?.default) ? e[t].default : e;
14
+ }
15
+ var ie = k(p, "UiLayout") || k(ae.UiLayout, "UiLayout"), A = _, j = A.default, ae = j && typeof j == "object" ? j : A, oe = g(ie)({
16
+ color: i.text(),
17
+ backgroundColor: i.background(),
18
+ "&:not(.MathJax) table": { borderCollapse: "collapse" },
19
+ "&:not(.MathJax) table td, &:not(.MathJax) table th": {
20
+ padding: "8px 12px",
21
+ textAlign: "left"
22
+ },
23
+ "& ul p, & ol p": {
24
+ marginBottom: 0,
25
+ marginTop: 0,
26
+ lineHeight: "normal"
27
+ }
28
+ }), M = g(u)({
29
+ display: "flex",
30
+ flexDirection: "column",
31
+ alignItems: "flex-start",
32
+ padding: "12px 0px"
33
+ }), N = g("div")({ color: i.text() }), se = g("h3")({
34
+ color: i.text(),
35
+ fontSize: "16px",
36
+ fontWeight: "700",
37
+ margin: 0,
38
+ paddingBottom: "6px"
39
+ }), ce = g("h4")({
40
+ color: i.text(),
41
+ fontSize: "16px",
42
+ fontWeight: "normal",
43
+ margin: 0,
44
+ paddingBottom: "6px"
45
+ }), le = g("h2")(({ theme: e }) => ({
46
+ display: "flex",
47
+ alignItems: "center",
48
+ cursor: "pointer",
49
+ userSelect: "none",
50
+ fontSize: e.typography.fontSize,
51
+ fontWeight: "500",
52
+ color: i.tertiary(),
53
+ margin: 0
54
+ })), ue = g("span")({
55
+ display: "inline-flex",
56
+ transition: "transform 0.2s",
57
+ marginLeft: 2,
58
+ alignSelf: "center"
59
+ }), P = g("h2")({
60
+ position: "absolute",
61
+ width: "1px",
62
+ height: "1px",
63
+ padding: 0,
64
+ margin: "-1px",
65
+ overflow: "hidden",
66
+ clip: "rect(0,0,0,0)",
67
+ border: 0,
68
+ whiteSpace: "nowrap"
69
+ }), F = D.default.shape({
70
+ excludeZero: D.default.bool,
71
+ points: D.default.arrayOf(D.default.string),
72
+ sampleAnswers: D.default.arrayOf(D.default.string),
73
+ animationsDisabled: D.default.bool
74
+ }), I = class extends C.Component {
75
+ dudUrl = "javascript:;";
76
+ constructor(e) {
77
+ super(e), this.state = {
78
+ rubricOpen: !1,
79
+ linkPrefix: "Show"
80
+ }, this.toggleRubric = this.toggleRubric.bind(this);
81
+ }
82
+ static propTypes = {
83
+ model: D.default.object.isRequired,
84
+ animationsDisabled: D.default.bool,
85
+ value: F
86
+ };
87
+ toggleRubric() {
88
+ this.setState({ rubricOpen: !this.state.rubricOpen }), this.setState({ linkPrefix: this.state.rubricOpen ? "Show" : "Hide" });
89
+ }
90
+ shouldRenderPoint = (e, t) => !t.excludeZero || e !== 0;
91
+ render() {
92
+ let { model: e, value: t } = this.props, { animationsDisabled: n } = this.props;
93
+ if (n ||= t.animationsDisabled, t && t.points) {
94
+ let { extraCSSRules: r } = e || {}, { points: i, sampleAnswers: a } = t, s = /* @__PURE__ */ w(d, {
95
+ component: "nav",
96
+ children: i.slice(0).reverse().map((e, n) => {
97
+ n = i.length - n - 1;
98
+ let r = t.excludeZero ? n + 1 : n;
99
+ return /* @__PURE__ */ T(C.Fragment, { children: [/* @__PURE__ */ T(M, { children: [/* @__PURE__ */ w(se, { children: r === 1 ? `${r} PT` : `${r} PTS` }), /* @__PURE__ */ w(N, { dangerouslySetInnerHTML: { __html: e } })] }, `P${n}`), a && a[n] && /* @__PURE__ */ T(M, { children: [/* @__PURE__ */ w(ce, { children: "Sample Answer" }), /* @__PURE__ */ w(N, { dangerouslySetInnerHTML: { __html: a[n] } })] }, `S${n}`)] }, n);
100
+ })
101
+ });
102
+ return /* @__PURE__ */ T(oe, {
103
+ extraCSSRules: r,
104
+ children: [/* @__PURE__ */ w(P, { children: "Rubric" }), n ? s : /* @__PURE__ */ T(C.Fragment, { children: [/* @__PURE__ */ T(le, {
105
+ id: "rubric-toggle",
106
+ tabIndex: 0,
107
+ role: "button",
108
+ "aria-expanded": this.state.rubricOpen,
109
+ onClick: this.toggleRubric,
110
+ onKeyPress: (e) => {
111
+ (e.key === "Enter" || e.key === " ") && this.toggleRubric();
112
+ },
113
+ children: [
114
+ this.state.linkPrefix,
115
+ " Rubric",
116
+ /* @__PURE__ */ w(ue, {
117
+ "aria-hidden": "true",
118
+ children: this.state.rubricOpen ? /* @__PURE__ */ w("svg", {
119
+ width: "20",
120
+ height: "20",
121
+ viewBox: "0 0 24 24",
122
+ fill: "none",
123
+ stroke: "currentColor",
124
+ strokeWidth: "2",
125
+ strokeLinecap: "round",
126
+ strokeLinejoin: "round",
127
+ children: /* @__PURE__ */ w("polyline", { points: "18 15 12 9 6 15" })
128
+ }) : /* @__PURE__ */ w("svg", {
129
+ width: "20",
130
+ height: "20",
131
+ viewBox: "0 0 24 24",
132
+ fill: "none",
133
+ stroke: "currentColor",
134
+ strokeWidth: "2",
135
+ strokeLinecap: "round",
136
+ strokeLinejoin: "round",
137
+ children: /* @__PURE__ */ w("polyline", { points: "6 9 12 15 18 9" })
138
+ })
139
+ })
140
+ ]
141
+ }), /* @__PURE__ */ w(o, {
142
+ in: this.state.rubricOpen,
143
+ timeout: {
144
+ enter: 225,
145
+ exit: 195
146
+ },
147
+ children: s
148
+ })] })]
149
+ });
150
+ } else return null;
151
+ }
152
+ }, L = /* @__PURE__ */ e(n(), 1), R = class extends HTMLElement {
153
+ constructor() {
154
+ super(), L.log("constructor called"), this.onModelChanged = this.onModelChanged.bind(this), this._root = null, this._mathObserver = null, this._mathRenderPending = !1;
155
+ }
156
+ _scheduleMathRender = () => {
157
+ this._mathRenderPending || (this._mathRenderPending = !0, requestAnimationFrame(() => {
158
+ this._mathObserver && this._mathObserver.disconnect(), r(this), this._mathRenderPending = !1, setTimeout(() => {
159
+ this._mathObserver && this._mathObserver.observe(this, {
160
+ childList: !0,
161
+ subtree: !0
162
+ });
163
+ }, 50);
164
+ }));
165
+ };
166
+ _initMathObserver() {
167
+ this._mathObserver || (this._mathObserver = new MutationObserver(this._scheduleMathRender), this._mathObserver.observe(this, {
168
+ childList: !0,
169
+ subtree: !0
170
+ }));
171
+ }
172
+ _disconnectMathObserver() {
173
+ this._mathObserver &&= (this._mathObserver.disconnect(), null);
174
+ }
175
+ set model(e) {
176
+ this._model = e, this._render();
177
+ }
178
+ onModelChanged(e) {
179
+ this._model = e, this._render();
180
+ }
181
+ connectedCallback() {
182
+ this._initMathObserver(), this._render();
183
+ }
184
+ _render() {
185
+ if (this._model) {
186
+ this._initMathObserver();
187
+ let e = C.createElement(I, { value: this._model });
188
+ this._root ||= E(this), this._root.render(e);
189
+ }
190
+ }
191
+ disconnectedCallback() {
192
+ this._disconnectMathObserver(), this._root && this._root.unmount();
193
+ }
194
+ }, z = g("td")({
195
+ color: i.primaryDark(),
196
+ verticalAlign: "middle"
197
+ }), B = g("div")({
198
+ color: i.secondaryBackground(),
199
+ textAlign: "center"
200
+ }), V = (e) => {
201
+ let { trait: t, traitIndex: n, scaleIndex: r, showStandards: i, showDescription: a, scorePointsValues: o } = e, { name: s, standards: c, scorePointsDescriptors: l, description: u } = t || {};
202
+ return /* @__PURE__ */ T("tr", { children: [
203
+ /* @__PURE__ */ w(z, { children: /* @__PURE__ */ w("div", { dangerouslySetInnerHTML: { __html: s } }) }),
204
+ i ? /* @__PURE__ */ w("td", { children: /* @__PURE__ */ w("div", { dangerouslySetInnerHTML: { __html: c.join(",") } }) }) : null,
205
+ a ? /* @__PURE__ */ w("td", { children: /* @__PURE__ */ w("div", { dangerouslySetInnerHTML: { __html: u } }) }) : null,
206
+ o && o.map((e, t) => {
207
+ let n;
208
+ try {
209
+ n = l[o.length - t - 1] || "";
210
+ } catch {
211
+ n = "";
212
+ }
213
+ return /* @__PURE__ */ w("td", { children: n ? /* @__PURE__ */ w("div", { dangerouslySetInnerHTML: { __html: n } }) : /* @__PURE__ */ w(B, { dangerouslySetInnerHTML: { __html: "No Description" } }) }, `table-cell-${t}`);
214
+ })
215
+ ] }, `scale-${r}-trait-${n}`);
216
+ };
217
+ V.propTypes = {
218
+ showStandards: D.default.bool,
219
+ showDescription: D.default.bool,
220
+ scorePointsValues: D.default.arrayOf(D.default.number),
221
+ scaleIndex: D.default.number,
222
+ traitIndex: D.default.number,
223
+ trait: D.default.shape({
224
+ name: D.default.string,
225
+ standards: D.default.arrayOf(D.default.string),
226
+ scorePointsDescriptors: D.default.arrayOf(D.default.string),
227
+ description: D.default.string
228
+ })
229
+ };
230
+ //#endregion
231
+ //#region ../multi-trait-rubric/dist/delivery/scale.js
232
+ var H = g("div")({
233
+ display: "flex",
234
+ position: "relative"
235
+ }), U = g("div")({
236
+ width: "100%",
237
+ overflow: "auto"
238
+ }), de = g("table")(({ theme: e }) => ({
239
+ borderSpacing: 0,
240
+ marginBottom: e.spacing(2),
241
+ borderRadius: "4px",
242
+ color: i.text(),
243
+ fontSize: e.typography.fontSize,
244
+ lineHeight: "16px",
245
+ overflow: "unset",
246
+ "& ul, ol": {
247
+ marginBlockStart: 0,
248
+ paddingInlineStart: e.spacing(2)
249
+ },
250
+ "& th": {
251
+ padding: e.spacing(2),
252
+ textAlign: "left",
253
+ backgroundColor: i.secondaryBackground(),
254
+ verticalAlign: "bottom"
255
+ },
256
+ "& th div": { width: "200px" },
257
+ "& td": {
258
+ width: "200px",
259
+ padding: `${e.spacing(2)} ${e.spacing(1)}`,
260
+ verticalAlign: "top"
261
+ }
262
+ })), fe = g("table")({ "& td": {
263
+ border: 0,
264
+ padding: 0,
265
+ textAlign: "center",
266
+ minWidth: "200px"
267
+ } }), pe = g("div")({ marginBottom: "4px" }), me = g("td")({ fontWeight: "normal" }), W = ({ show: e, onClick: t, extraStyles: n, children: r }) => /* @__PURE__ */ w("div", {
268
+ style: {
269
+ height: "calc(100% - 1px)",
270
+ top: "1px",
271
+ display: e ? "flex" : "none",
272
+ width: "50px",
273
+ margin: "auto",
274
+ position: "absolute",
275
+ alignItems: "center",
276
+ justifyContent: "center",
277
+ cursor: "pointer",
278
+ ...n
279
+ },
280
+ onClick: t,
281
+ children: r
282
+ });
283
+ W.propTypes = {
284
+ show: D.default.bool,
285
+ onClick: D.default.func,
286
+ extraStyles: D.default.object,
287
+ children: D.default.object
288
+ };
289
+ var G = class extends C.Component {
290
+ state = {};
291
+ componentDidMount() {
292
+ this.tableWrapper && this.tableWrapper.offsetWidth < this.tableWrapper.scrollWidth && this.setState({ showRight: !0 });
293
+ }
294
+ scrollLeft = () => {
295
+ this.tableWrapper.scrollLeft -= this.tableWrapper.offsetWidth / 2, this.setState({
296
+ showRight: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,
297
+ showLeft: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0
298
+ });
299
+ };
300
+ scrollRight = () => {
301
+ let e = this.tableWrapper.scrollLeft;
302
+ this.tableWrapper.scrollLeft += this.tableWrapper.offsetWidth / 2, this.setState({
303
+ showRight: e !== this.tableWrapper.scrollLeft && this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,
304
+ showLeft: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0
305
+ });
306
+ };
307
+ render() {
308
+ let { showRight: e, showLeft: t } = this.state, { scale: n, scaleIndex: r, showDescription: a, showPointsLabels: o, showStandards: s, arrowsDisabled: c } = this.props, { excludeZero: l, maxPoints: u, traitLabel: d, traits: f, scorePointsLabels: p } = n || {}, m = [], g, _, v;
309
+ try {
310
+ for (let e = u; +(e >= l); --e) m.push(e);
311
+ let { traitStandards: e, traitDescriptions: t } = f.reduce((e, t) => ({
312
+ traitStandards: [...e.traitStandards, ...t.standards || []],
313
+ traitDescriptions: [...e.traitDescriptions, ...t.description || []]
314
+ }), {
315
+ traitStandards: [],
316
+ traitDescriptions: []
317
+ });
318
+ g = a && t.length, _ = o && p.length, v = s && e.length;
319
+ } catch {
320
+ g = !1, _ = !1, v = !1;
321
+ }
322
+ return /* @__PURE__ */ T(H, { children: [
323
+ /* @__PURE__ */ w(W, {
324
+ show: t && !c,
325
+ onClick: this.scrollLeft,
326
+ extraStyles: {
327
+ left: 0,
328
+ background: `linear-gradient(to right, white, ${i.background()})`
329
+ },
330
+ children: /* @__PURE__ */ w(h, {})
331
+ }),
332
+ /* @__PURE__ */ T(U, {
333
+ ref: (e) => {
334
+ this.tableWrapper = e;
335
+ },
336
+ onScroll: () => {
337
+ this.setState({
338
+ showRight: this.tableWrapper.scrollLeft + this.tableWrapper.offsetWidth < this.tableWrapper.scrollWidth - 5 && this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,
339
+ showLeft: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0
340
+ });
341
+ },
342
+ children: [c && (e || t) ? /* @__PURE__ */ w("div", { children: "The item is too large to fit in print mode." }) : null, /* @__PURE__ */ T(de, { children: [/* @__PURE__ */ w("thead", { children: /* @__PURE__ */ T("tr", { children: [
343
+ /* @__PURE__ */ w("th", { children: /* @__PURE__ */ w("div", { dangerouslySetInnerHTML: { __html: d } }) }),
344
+ v ? /* @__PURE__ */ w("th", { children: /* @__PURE__ */ w("div", { children: "Standard(s)" }) }) : null,
345
+ g ? /* @__PURE__ */ w("th", { children: /* @__PURE__ */ w("div", { children: "Description" }) }) : null,
346
+ m && m.map((e, t) => {
347
+ let n = "";
348
+ try {
349
+ n = p[m.length - t - 1] || "";
350
+ } catch {
351
+ n = "";
352
+ }
353
+ return /* @__PURE__ */ w("th", { children: /* @__PURE__ */ w(fe, { children: /* @__PURE__ */ T("thead", { children: [_ ? /* @__PURE__ */ w("tr", { children: /* @__PURE__ */ w("td", { children: /* @__PURE__ */ w(pe, { dangerouslySetInnerHTML: { __html: n } }) }) }) : null, /* @__PURE__ */ w("tr", { children: /* @__PURE__ */ w(me, { children: e === 1 ? `${e} point` : `${e} points` }) })] }) }) }, `table-header-${t}`);
354
+ })
355
+ ] }) }), /* @__PURE__ */ w("tbody", { children: f && f.map((e, t) => /* @__PURE__ */ w(V, {
356
+ trait: e,
357
+ traitIndex: t,
358
+ showDescription: !!g,
359
+ showStandards: !!v,
360
+ scaleIndex: r,
361
+ scorePointsValues: m,
362
+ excludeZero: l
363
+ }, `trait_${r}_${t}`)) })] }, `scale-${r}`)]
364
+ }),
365
+ /* @__PURE__ */ w(W, {
366
+ show: e && !c,
367
+ onClick: this.scrollRight,
368
+ extraStyles: {
369
+ right: 0,
370
+ background: `linear-gradient(to left, white, ${i.background()})`
371
+ },
372
+ children: /* @__PURE__ */ w(te, {})
373
+ })
374
+ ] });
375
+ }
376
+ };
377
+ G.propTypes = {
378
+ scaleIndex: D.default.number,
379
+ scale: D.default.shape({
380
+ excludeZero: D.default.bool,
381
+ maxPoints: D.default.number,
382
+ scorePointsLabels: D.default.arrayOf(D.default.string),
383
+ traitLabel: D.default.string,
384
+ traits: D.default.arrayOf(D.default.shape({
385
+ name: D.default.string,
386
+ standards: D.default.arrayOf(D.default.string),
387
+ scorePointsDescriptors: D.default.arrayOf(D.default.string),
388
+ description: D.default.string
389
+ }))
390
+ }),
391
+ showPointsLabels: D.default.bool,
392
+ showDescription: D.default.bool,
393
+ showStandards: D.default.bool,
394
+ arrowsDisabled: D.default.bool
395
+ };
396
+ //#endregion
397
+ //#region ../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Link/linkClasses.js
398
+ function he(e) {
399
+ return t("MuiLink", e);
400
+ }
401
+ var ge = c("MuiLink", [
402
+ "root",
403
+ "underlineNone",
404
+ "underlineHover",
405
+ "underlineAlways",
406
+ "button",
407
+ "focusVisible"
408
+ ]), _e = ({ theme: e, ownerState: t }) => {
409
+ let n = t.color;
410
+ if ("colorSpace" in e && e.colorSpace) {
411
+ let r = l(e, `palette.${n}.main`) || l(e, `palette.${n}`) || t.color;
412
+ return e.alpha(r, .4);
413
+ }
414
+ let r = l(e, `palette.${n}.main`, !1) || l(e, `palette.${n}`, !1) || t.color, i = l(e, `palette.${n}.mainChannel`) || l(e, `palette.${n}Channel`);
415
+ return "vars" in e && i ? `rgba(${i} / 0.4)` : m(r, .4);
416
+ }, K = {
417
+ primary: !0,
418
+ secondary: !0,
419
+ error: !0,
420
+ info: !0,
421
+ success: !0,
422
+ warning: !0,
423
+ textPrimary: !0,
424
+ textSecondary: !0,
425
+ textDisabled: !0
426
+ }, q = (e) => {
427
+ let { classes: t, component: n, focusVisible: r, underline: i } = e;
428
+ return f({ root: [
429
+ "root",
430
+ `underline${a(i)}`,
431
+ n === "button" && "button",
432
+ r && "focusVisible"
433
+ ] }, he, t);
434
+ }, ve = g(y, {
435
+ name: "MuiLink",
436
+ slot: "Root",
437
+ overridesResolver: (e, t) => {
438
+ let { ownerState: n } = e;
439
+ return [
440
+ t.root,
441
+ t[`underline${a(n.underline)}`],
442
+ n.component === "button" && t.button
443
+ ];
444
+ }
445
+ })(ne(({ theme: e }) => ({ variants: [
446
+ {
447
+ props: { underline: "none" },
448
+ style: { textDecoration: "none" }
449
+ },
450
+ {
451
+ props: { underline: "hover" },
452
+ style: {
453
+ textDecoration: "none",
454
+ "&:hover": { textDecoration: "underline" }
455
+ }
456
+ },
457
+ {
458
+ props: { underline: "always" },
459
+ style: {
460
+ textDecoration: "underline",
461
+ "&:hover": { textDecorationColor: "inherit" }
462
+ }
463
+ },
464
+ {
465
+ props: ({ underline: e, ownerState: t }) => e === "always" && t.color !== "inherit",
466
+ style: { textDecorationColor: "var(--Link-underlineColor)" }
467
+ },
468
+ {
469
+ props: ({ underline: e, ownerState: t }) => e === "always" && t.color === "inherit",
470
+ style: e.colorSpace ? { textDecorationColor: e.alpha("currentColor", .4) } : null
471
+ },
472
+ ...Object.entries(e.palette).filter(re()).map(([t]) => ({
473
+ props: {
474
+ underline: "always",
475
+ color: t
476
+ },
477
+ style: { "--Link-underlineColor": e.alpha((e.vars || e).palette[t].main, .4) }
478
+ })),
479
+ {
480
+ props: {
481
+ underline: "always",
482
+ color: "textPrimary"
483
+ },
484
+ style: { "--Link-underlineColor": e.alpha((e.vars || e).palette.text.primary, .4) }
485
+ },
486
+ {
487
+ props: {
488
+ underline: "always",
489
+ color: "textSecondary"
490
+ },
491
+ style: { "--Link-underlineColor": e.alpha((e.vars || e).palette.text.secondary, .4) }
492
+ },
493
+ {
494
+ props: {
495
+ underline: "always",
496
+ color: "textDisabled"
497
+ },
498
+ style: { "--Link-underlineColor": (e.vars || e).palette.text.disabled }
499
+ },
500
+ {
501
+ props: { component: "button" },
502
+ style: {
503
+ position: "relative",
504
+ WebkitTapHighlightColor: "transparent",
505
+ backgroundColor: "transparent",
506
+ outline: 0,
507
+ border: 0,
508
+ margin: 0,
509
+ borderRadius: 0,
510
+ padding: 0,
511
+ cursor: "pointer",
512
+ userSelect: "none",
513
+ verticalAlign: "middle",
514
+ MozAppearance: "none",
515
+ WebkitAppearance: "none",
516
+ "&::-moz-focus-inner": { borderStyle: "none" },
517
+ [`&.${ge.focusVisible}`]: { outline: "auto" }
518
+ }
519
+ }
520
+ ] }))), ye = /*#__PURE__*/ S.forwardRef(function(e, t) {
521
+ let n = ee({
522
+ props: e,
523
+ name: "MuiLink"
524
+ }), r = v(), { className: i, color: a = "primary", component: o = "a", onBlur: s, onFocus: c, TypographyClasses: l, underline: u = "always", variant: d = "inherit", sx: f, ...p } = n, [m, h] = S.useState(!1), g = (e) => {
525
+ b(e.target) || h(!1), s && s(e);
526
+ }, _ = (e) => {
527
+ b(e.target) && h(!0), c && c(e);
528
+ }, y = {
529
+ ...n,
530
+ color: a,
531
+ component: o,
532
+ focusVisible: m,
533
+ underline: u,
534
+ variant: d
535
+ };
536
+ return /*#__PURE__*/ w(ve, {
537
+ color: a,
538
+ className: x(q(y).root, i),
539
+ classes: l,
540
+ component: o,
541
+ onBlur: g,
542
+ onFocus: _,
543
+ ref: t,
544
+ ownerState: y,
545
+ variant: d,
546
+ ...p,
547
+ sx: [...K[a] === void 0 ? [{ color: a }] : [], ...Array.isArray(f) ? f : [f]],
548
+ style: {
549
+ ...p.style,
550
+ ...u === "always" && a !== "inherit" && !K[a] && { "--Link-underlineColor": _e({
551
+ theme: r,
552
+ ownerState: y
553
+ }) }
554
+ }
555
+ });
556
+ });
557
+ //#endregion
558
+ //#region ../multi-trait-rubric/dist/delivery/main.js
559
+ function J(e) {
560
+ return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
561
+ }
562
+ function Y(e, t) {
563
+ return !e || J(e) ? e : J(e.default) ? e.default : t && J(e[t]) ? e[t] : t && J(e[t]?.default) ? e[t].default : e;
564
+ }
565
+ var X = Y(p, "UiLayout") || Y(be.UiLayout, "UiLayout"), Z = _, Q = Z.default, be = Q && typeof Q == "object" ? Q : Z, $ = class extends C.Component {
566
+ constructor(e) {
567
+ super(e), this.state = {
568
+ rubricOpen: !1,
569
+ linkPrefix: "Show"
570
+ }, this.toggleRubric = this.toggleRubric.bind(this);
571
+ }
572
+ toggleRubric() {
573
+ this.setState({ rubricOpen: !this.state.rubricOpen }), this.setState({ linkPrefix: this.state.rubricOpen ? "Show" : "Hide" });
574
+ }
575
+ render() {
576
+ let { model: e } = this.props, { animationsDisabled: t } = this.props, { extraCSSRules: n, halfScoring: r, scales: a, visible: s, pointLabels: c, description: l, standards: u, arrowsDisabled: d } = e || {};
577
+ if (t ||= e.animationsDisabled, !a || !s) return null;
578
+ let f = /* @__PURE__ */ T(X, {
579
+ extraCSSRules: n,
580
+ style: {
581
+ fontFamily: "Cerebri Sans",
582
+ color: i.text(),
583
+ backgroundColor: i.background()
584
+ },
585
+ children: [r ? /* @__PURE__ */ w("div", {
586
+ style: { marginBottom: "16px" },
587
+ children: "* Half-point or in-between scores are permitted under this rubric."
588
+ }) : null, a.map((e, t) => /* @__PURE__ */ w(G, {
589
+ scale: e,
590
+ scaleIndex: t,
591
+ showPointsLabels: c,
592
+ showDescription: l,
593
+ showStandards: u,
594
+ arrowsDisabled: d
595
+ }, `scale_${t}`))]
596
+ });
597
+ return t ? f : /* @__PURE__ */ T(X, {
598
+ extraCSSRules: n,
599
+ style: {
600
+ color: i.text(),
601
+ backgroundColor: i.background()
602
+ },
603
+ children: [/* @__PURE__ */ T(ye, {
604
+ style: { backgroundColor: i.background() },
605
+ href: this.dudUrl,
606
+ onClick: this.toggleRubric,
607
+ children: [this.state.linkPrefix, " Rubric"]
608
+ }), /* @__PURE__ */ w(o, {
609
+ style: { marginTop: "16px" },
610
+ in: this.state.rubricOpen,
611
+ timeout: {
612
+ enter: 225,
613
+ exit: 195
614
+ },
615
+ children: f
616
+ })]
617
+ });
618
+ }
619
+ };
620
+ $.propTypes = {
621
+ model: D.default.shape({
622
+ halfScoring: D.default.bool,
623
+ scales: D.default.arrayOf(D.default.shape({
624
+ excludeZero: D.default.bool,
625
+ maxPoints: D.default.number,
626
+ scorePointsLabels: D.default.arrayOf(D.default.string),
627
+ traitLabel: D.default.string,
628
+ traits: D.default.arrayOf(D.default.shape({
629
+ name: D.default.string,
630
+ description: D.default.string,
631
+ scorePointsDescriptors: D.default.arrayOf(D.default.string),
632
+ standards: D.default.arrayOf(D.default.string)
633
+ }))
634
+ })),
635
+ visible: D.default.bool,
636
+ pointLabels: D.default.bool,
637
+ description: D.default.bool,
638
+ standards: D.default.bool,
639
+ animationsDisabled: D.default.bool
640
+ }),
641
+ animationsDisabled: D.default.bool
642
+ };
643
+ //#endregion
644
+ //#region ../../shared/player-events/dist/index.js
645
+ var xe = class e extends CustomEvent {
646
+ static {
647
+ this.TYPE = "model-set";
648
+ }
649
+ constructor(t, n, r) {
650
+ super(e.TYPE, {
651
+ bubbles: !0,
652
+ composed: !0,
653
+ detail: {
654
+ complete: n,
655
+ component: t,
656
+ hasModel: r
657
+ }
658
+ }), this.component = t, this.complete = n;
659
+ }
660
+ };
661
+ (class e extends CustomEvent {
662
+ static {
663
+ this.TYPE = "session-changed";
664
+ }
665
+ constructor(t, n) {
666
+ super(e.TYPE, {
667
+ bubbles: !0,
668
+ composed: !0,
669
+ detail: {
670
+ complete: n,
671
+ component: t
672
+ }
673
+ }), this.component = t, this.complete = n;
674
+ }
675
+ });
676
+ //#endregion
677
+ //#region ../multi-trait-rubric/dist/delivery/index.js
678
+ var Se = class extends HTMLElement {
679
+ constructor() {
680
+ super(), this._model = {}, this._session = null, this._root = null, this._mathObserver = null, this._mathRenderPending = !1;
681
+ }
682
+ _scheduleMathRender = () => {
683
+ this._mathRenderPending || (this._mathRenderPending = !0, requestAnimationFrame(() => {
684
+ this._mathObserver && this._mathObserver.disconnect(), r(this), this._mathRenderPending = !1, setTimeout(() => {
685
+ this._mathObserver && this._mathObserver.observe(this, {
686
+ childList: !0,
687
+ subtree: !0
688
+ });
689
+ }, 50);
690
+ }));
691
+ };
692
+ _initMathObserver() {
693
+ this._mathObserver || (this._mathObserver = new MutationObserver(this._scheduleMathRender), this._mathObserver.observe(this, {
694
+ childList: !0,
695
+ subtree: !0
696
+ }));
697
+ }
698
+ _disconnectMathObserver() {
699
+ this._mathObserver &&= (this._mathObserver.disconnect(), null);
700
+ }
701
+ set model(e) {
702
+ this._model = e, this.dispatchEvent(new xe(this.tagName.toLowerCase(), this._session, !!this._model)), this._render();
703
+ }
704
+ set session(e) {
705
+ this._session = e;
706
+ }
707
+ get session() {
708
+ return this._session;
709
+ }
710
+ connectedCallback() {
711
+ this._initMathObserver(), this._render();
712
+ }
713
+ _render() {
714
+ this._initMathObserver();
715
+ let e = C.createElement($, {
716
+ model: this._model,
717
+ session: this._session
718
+ });
719
+ this._root ||= E(this), this._root.render(e);
720
+ }
721
+ disconnectedCallback() {
722
+ this._disconnectMathObserver(), this._root &&= (this._root.unmount(), null);
723
+ }
724
+ };
725
+ //#endregion
726
+ export { R as n, Se as t };
727
+
728
+ //# sourceMappingURL=delivery-Bsx36s2O.js.map