@khanacademy/perseus-score 9.0.11 → 9.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -5,18 +5,18 @@ import { ErrorCodes as s, Errors as c, GrapherUtil as l, PerseusError as u, Regi
5
5
  import b from "underscore";
6
6
  import x from "tiny-invariant";
7
7
  //#region \0rolldown/runtime.js
8
- var S = "@khanacademy/perseus-score", C = "9.0.11";
8
+ var S = "@khanacademy/perseus-score", C = "9.0.12";
9
9
  e(S, C);
10
10
  //#endregion
11
11
  //#region packages/perseus-score/src/util/answer-types.ts
12
- var w = 2 ** -42, T = {
12
+ var w = 2 ** -42, T = /^([+-]?\s*\d+\s*(?:\/\s*(?:[+-]\s*)?\d+\s*)?)(?:\*\s*)?(\\?pi|p|\u03c0|\\?tau|t|\u03c4|pau)$/i, E = /^([+-]?)\s*(\d+)\s+([+-]?\d+)\s*\/\s*([+-]?\d+)\s*(?:\*\s*)?(\\?pi|p|\u03c0|\\?tau|t|\u03c4|pau)$/i, D = /^([+-]?\s*\d+)\s*(?:\*\s*)?(\\?pi|p|\u03c0|\\?tau|t|\u03c4|pau)\s*(?:\/\s*((?:[+-]\s*)?\d+))?$/i, O = /^([+-]?)\s*(?:\*\s*)?(\\?pi|p|\u03c0|\\?tau|t|\u03c4|pau)\s*(?:\/\s*([+-]?\d+))?$/i, k = /^(\S+)\s*(?:\*\s*)?(\\?pi|p|\u03c0|\\?tau|t|\u03c4|pau)$/i, A = {
13
13
  predicate: {
14
14
  defaultForms: "integer, proper, improper, mixed, decimal",
15
15
  createValidatorFunctional: function(e, t) {
16
16
  let r = {
17
17
  simplify: "required",
18
18
  ratio: !1,
19
- forms: T.predicate.defaultForms,
19
+ forms: A.predicate.defaultForms,
20
20
  ...t
21
21
  }, i;
22
22
  i = Array.isArray(r.forms) ? r.forms : r.forms.split(/\s*,\s*/), r.inexact === void 0 && (r.maxError = 0);
@@ -53,22 +53,22 @@ var w = 2 ** -42, T = {
53
53
  value: parseFloat(t[1] + "1"),
54
54
  exact: !0
55
55
  }];
56
- else if (t = e.match(/^([+-]?\s*\d+\s*(?:\/\s*[+-]?\s*\d+)?)\s*\*?\s*(\\?pi|p|\u03c0|\\?tau|t|\u03c4|pau)$/i)) r = fractionTransformer(t[1]);
57
- else if (t = e.match(/^([+-]?)\s*(\d+)\s*([+-]?\d+)\s*\/\s*([+-]?\d+)\s*\*?\s*(\\?pi|p|\u03c0|\\?tau|t|\u03c4|pau)$/i)) {
56
+ else if (t = e.match(T)) r = fractionTransformer(t[1]);
57
+ else if (t = e.match(E)) {
58
58
  let e = parseFloat(t[1] + "1"), i = parseFloat(t[2]), a = parseFloat(t[3]), o = parseFloat(t[4]), s = a < o && n.getGCD(a, o) === 1;
59
59
  r = [{
60
60
  value: e * (i + a / o),
61
61
  exact: s
62
62
  }];
63
- } else if (t = e.match(/^([+-]?\s*\d+)\s*\*?\s*(\\?pi|p|\u03c0|\\?tau|t|\u03c4|pau)\s*(?:\/\s*([+-]?\s*\d+))?$/i)) r = fractionTransformer(t[1] + "/" + t[3]);
64
- else if (t = e.match(/^([+-]?)\s*\*?\s*(\\?pi|p|\u03c0|\\?tau|t|\u03c4|pau)\s*(?:\/\s*([+-]?\d+))?$/i)) r = fractionTransformer(t[1] + "1/" + t[3]);
63
+ } else if (t = e.match(D)) r = fractionTransformer(t[1] + "/" + t[3]);
64
+ else if (t = e.match(O)) r = fractionTransformer(t[1] + "1/" + t[3]);
65
65
  else if (e === "0") r = [{
66
66
  value: 0,
67
67
  exact: !0
68
68
  }];
69
- else if (t = e.match(/^(.+)\s*\*?\s*(\\?pi|p|\u03c0|\\?tau|t|\u03c4|pau)$/i)) r = o.decimal(t[1]);
69
+ else if (t = e.match(k)) r = o.decimal(t[1]);
70
70
  else {
71
- r = b.reduce(T.predicate.defaultForms.split(/\s*,\s*/), function(t, n) {
71
+ r = b.reduce(A.predicate.defaultForms.split(/\s*,\s*/), function(t, n) {
72
72
  return t.concat(o[n](e));
73
73
  }, []);
74
74
  let t = !1, n = parseFloat(e);
@@ -176,7 +176,7 @@ var w = 2 ** -42, T = {
176
176
  },
177
177
  number: { createValidatorFunctional: function(e, t) {
178
178
  let n = parseFloat(e);
179
- return T.predicate.createValidatorFunctional((e, t) => Math.abs(e - n) < t, { ...t });
179
+ return A.predicate.createValidatorFunctional((e, t) => Math.abs(e - n) < t, { ...t });
180
180
  } },
181
181
  expression: {
182
182
  parseSolution: function(e, n) {
@@ -197,7 +197,7 @@ var w = 2 ** -42, T = {
197
197
  if (!r) return i.empty = !0, i;
198
198
  let a = t.parse(r, n);
199
199
  if (!a.parsed) return i.empty = !0, i;
200
- typeof e == "string" && (e = T.expression.parseSolution(e, n));
200
+ typeof e == "string" && (e = A.expression.parseSolution(e, n));
201
201
  let o = t.compare(a.expr, e, n);
202
202
  if (o.equal) i.correct = !0;
203
203
  else if (o.message) i.message = o.message;
@@ -311,7 +311,7 @@ function scoreExpression(e, n, r) {
311
311
  /* c8 ignore next */
312
312
  throw new u("Unable to parse solution answer for expression", c.InvalidInput, { metadata: { rubric: JSON.stringify(n) } });
313
313
  let a = getVarError(o, r.expr.getVars(), n.extraKeys ?? []);
314
- return a == null ? T.expression.createValidatorFunctional(r.expr, {
314
+ return a == null ? A.expression.createValidatorFunctional(r.expr, {
315
315
  ...i,
316
316
  simplify: e.simplify,
317
317
  form: e.form
@@ -430,13 +430,13 @@ function scoreIframe(e) {
430
430
  }
431
431
  //#endregion
432
432
  //#region packages/perseus-score/src/widgets/interactive-graph/sub-scorers/score-absolute-value.ts
433
- var { getAbsoluteValueCoefficients: E } = i;
433
+ var { getAbsoluteValueCoefficients: j } = i;
434
434
  function scoreAbsoluteValue(e, t) {
435
435
  if (!e.coords || !t.coords) return {
436
436
  type: "invalid",
437
437
  message: null
438
438
  };
439
- let n = E(e.coords), r = E(t.coords);
439
+ let n = j(e.coords), r = j(t.coords);
440
440
  return {
441
441
  type: "points",
442
442
  earned: +!!f(n, r),
@@ -446,22 +446,22 @@ function scoreAbsoluteValue(e, t) {
446
446
  }
447
447
  //#endregion
448
448
  //#region packages/perseus-score/src/widgets/interactive-graph/sub-scorers/score-angle.ts
449
- var { collinear: D, clockwise: O } = a, { getClockwiseAngle: k } = r;
449
+ var { collinear: M, clockwise: N } = a, { getClockwiseAngle: P } = r;
450
450
  function scoreAngle(e, t) {
451
451
  let n = e.coords, r = t.coords, i = t.allowReflexAngles;
452
452
  if (!n) return {
453
453
  type: "invalid",
454
454
  message: null
455
455
  };
456
- let a = O([
456
+ let a = N([
457
457
  n[0],
458
458
  n[2],
459
459
  n[1]
460
460
  ]) && !i ? n.slice().reverse() : n, o;
461
461
  if (t.match === "congruent") {
462
- let e = k(a, i), t = r ? k(r, i) : null;
462
+ let e = P(a, i), t = r ? P(r, i) : null;
463
463
  o = t !== null && p(e, t);
464
- } else o = r != null && f(a[1], r[1]) && D(r[1], r[0], a[0]) && D(r[1], r[2], a[2]);
464
+ } else o = r != null && f(a[1], r[1]) && M(r[1], r[0], a[0]) && M(r[1], r[2], a[2]);
465
465
  return {
466
466
  type: "points",
467
467
  earned: +!!o,
@@ -484,13 +484,13 @@ function scoreCircle(e, t) {
484
484
  }
485
485
  //#endregion
486
486
  //#region packages/perseus-score/src/widgets/interactive-graph/sub-scorers/score-exponential.ts
487
- var { getExponentialCoefficients: A } = i;
487
+ var { getExponentialCoefficients: F } = i;
488
488
  function scoreExponential(e, t) {
489
489
  if (!e.coords || e.asymptote == null || !t.coords || t.asymptote == null) return {
490
490
  type: "invalid",
491
491
  message: null
492
492
  };
493
- let n = A(e.coords, e.asymptote), r = A(t.coords, t.asymptote);
493
+ let n = F(e.coords, e.asymptote), r = F(t.coords, t.asymptote);
494
494
  return {
495
495
  type: "points",
496
496
  earned: n != null && r != null && f([
@@ -508,7 +508,7 @@ function scoreExponential(e, t) {
508
508
  }
509
509
  //#endregion
510
510
  //#region packages/perseus-score/src/widgets/interactive-graph/sub-scorers/score-linear.ts
511
- var { collinear: j } = a;
511
+ var { collinear: I } = a;
512
512
  function scoreLinear(e, t) {
513
513
  if (!e.coords || !t.coords) return {
514
514
  type: "invalid",
@@ -517,14 +517,14 @@ function scoreLinear(e, t) {
517
517
  let n = e.coords, r = t.coords;
518
518
  return {
519
519
  type: "points",
520
- earned: j(r[0], r[1], n[0]) && j(r[0], r[1], n[1]) ? 1 : 0,
520
+ earned: I(r[0], r[1], n[0]) && I(r[0], r[1], n[1]) ? 1 : 0,
521
521
  total: 1,
522
522
  message: null
523
523
  };
524
524
  }
525
525
  //#endregion
526
526
  //#region packages/perseus-score/src/widgets/interactive-graph/sub-scorers/score-linear-system.ts
527
- var { collinear: M } = a;
527
+ var { collinear: L } = a;
528
528
  function scoreLinearSystem(e, t) {
529
529
  if (!e.coords || !t.coords) return {
530
530
  type: "invalid",
@@ -533,20 +533,20 @@ function scoreLinearSystem(e, t) {
533
533
  let n = e.coords, r = t.coords;
534
534
  return {
535
535
  type: "points",
536
- earned: M(r[0][0], r[0][1], n[0][0]) && M(r[0][0], r[0][1], n[0][1]) && M(r[1][0], r[1][1], n[1][0]) && M(r[1][0], r[1][1], n[1][1]) || M(r[0][0], r[0][1], n[1][0]) && M(r[0][0], r[0][1], n[1][1]) && M(r[1][0], r[1][1], n[0][0]) && M(r[1][0], r[1][1], n[0][1]) ? 1 : 0,
536
+ earned: L(r[0][0], r[0][1], n[0][0]) && L(r[0][0], r[0][1], n[0][1]) && L(r[1][0], r[1][1], n[1][0]) && L(r[1][0], r[1][1], n[1][1]) || L(r[0][0], r[0][1], n[1][0]) && L(r[0][0], r[0][1], n[1][1]) && L(r[1][0], r[1][1], n[0][0]) && L(r[1][0], r[1][1], n[0][1]) ? 1 : 0,
537
537
  total: 1,
538
538
  message: null
539
539
  };
540
540
  }
541
541
  //#endregion
542
542
  //#region packages/perseus-score/src/widgets/interactive-graph/sub-scorers/score-logarithm.ts
543
- var { getLogarithmCoefficients: N } = i;
543
+ var { getLogarithmCoefficients: R } = i;
544
544
  function scoreLogarithm(e, t) {
545
545
  if (!e.coords || e.asymptote == null || !t.coords || t.asymptote == null) return {
546
546
  type: "invalid",
547
547
  message: null
548
548
  };
549
- let n = N(e.coords, e.asymptote), r = N(t.coords, t.asymptote);
549
+ let n = R(e.coords, e.asymptote), r = R(t.coords, t.asymptote);
550
550
  return {
551
551
  type: "points",
552
552
  earned: n != null && r != null && f([
@@ -580,14 +580,14 @@ function scorePoint(e, t) {
580
580
  }
581
581
  //#endregion
582
582
  //#region packages/perseus-score/src/widgets/interactive-graph/sub-scorers/score-polygon.ts
583
- var { similar: P } = a;
583
+ var { similar: z } = a;
584
584
  function scorePolygon(e, t) {
585
585
  if (!e.coords || !t.coords) return {
586
586
  type: "invalid",
587
587
  message: null
588
588
  };
589
589
  let n = e.coords.slice(), r = t.coords.slice(), i;
590
- return t.match === "similar" ? i = P(n, r, Infinity) : t.match === "congruent" ? i = P(n, r, o.DEFAULT_TOLERANCE) : t.match === "approx" ? i = P(n, r, .1) : (n.sort(), r.sort(), i = f(n, r)), {
590
+ return t.match === "similar" ? i = z(n, r, Infinity) : t.match === "congruent" ? i = z(n, r, o.DEFAULT_TOLERANCE) : t.match === "approx" ? i = z(n, r, .1) : (n.sort(), r.sort(), i = f(n, r)), {
591
591
  type: "points",
592
592
  earned: +!!i,
593
593
  total: 1,
@@ -596,13 +596,13 @@ function scorePolygon(e, t) {
596
596
  }
597
597
  //#endregion
598
598
  //#region packages/perseus-score/src/widgets/interactive-graph/sub-scorers/score-quadratic.ts
599
- var { getQuadraticCoefficients: F } = i;
599
+ var { getQuadraticCoefficients: B } = i;
600
600
  function scoreQuadratic(e, t) {
601
601
  if (!e.coords || !t.coords) return {
602
602
  type: "invalid",
603
603
  message: null
604
604
  };
605
- let n = F(e.coords), r = F(t.coords);
605
+ let n = B(e.coords), r = B(t.coords);
606
606
  return {
607
607
  type: "points",
608
608
  earned: +!!f(n, r),
@@ -612,7 +612,7 @@ function scoreQuadratic(e, t) {
612
612
  }
613
613
  //#endregion
614
614
  //#region packages/perseus-score/src/widgets/interactive-graph/sub-scorers/score-ray.ts
615
- var { collinear: I } = a;
615
+ var { collinear: V } = a;
616
616
  function scoreRay(e, t) {
617
617
  if (!e.coords || !t.coords) return {
618
618
  type: "invalid",
@@ -621,7 +621,7 @@ function scoreRay(e, t) {
621
621
  let n = e.coords, r = t.coords;
622
622
  return {
623
623
  type: "points",
624
- earned: f(n[0], r[0]) && I(r[0], r[1], n[1]) ? 1 : 0,
624
+ earned: f(n[0], r[0]) && V(r[0], r[1], n[1]) ? 1 : 0,
625
625
  total: 1,
626
626
  message: null
627
627
  };
@@ -643,13 +643,13 @@ function scoreSegment(e, t) {
643
643
  }
644
644
  //#endregion
645
645
  //#region packages/perseus-score/src/widgets/interactive-graph/sub-scorers/score-sinusoid.ts
646
- var { getSinusoidCoefficients: L } = i, { canonicalSineCoefficients: R } = a;
646
+ var { getSinusoidCoefficients: H } = i, { canonicalSineCoefficients: U } = a;
647
647
  function scoreSinusoid(e, t) {
648
648
  if (!e.coords || !t.coords) return {
649
649
  type: "invalid",
650
650
  message: null
651
651
  };
652
- let n = L(e.coords), r = L(t.coords), i = R(n), a = R(r);
652
+ let n = H(e.coords), r = H(t.coords), i = U(n), a = U(r);
653
653
  return {
654
654
  type: "points",
655
655
  earned: +!!f(i, a),
@@ -659,13 +659,13 @@ function scoreSinusoid(e, t) {
659
659
  }
660
660
  //#endregion
661
661
  //#region packages/perseus-score/src/widgets/interactive-graph/sub-scorers/score-tangent.ts
662
- var { getTangentCoefficients: z } = i, { canonicalTangentCoefficients: B } = a;
662
+ var { getTangentCoefficients: W } = i, { canonicalTangentCoefficients: G } = a;
663
663
  function scoreTangent(e, t) {
664
664
  if (!e.coords || !t.coords) return {
665
665
  type: "invalid",
666
666
  message: null
667
667
  };
668
- let n = z(e.coords), r = z(t.coords), i = B(n), a = B(r);
668
+ let n = W(e.coords), r = W(t.coords), i = G(n), a = G(r);
669
669
  return {
670
670
  type: "points",
671
671
  earned: +!!f(i, a),
@@ -759,7 +759,7 @@ function scoreMatrix(e, t) {
759
759
  type: "invalid",
760
760
  message: null
761
761
  };
762
- let n = t.answers, r = e.answers, i = v(n), a = v(r), o = i[0] !== a[0] || i[1] !== a[1], s = T.number.createValidatorFunctional, c = null, l = !1;
762
+ let n = t.answers, r = e.answers, i = v(n), a = v(r), o = i[0] !== a[0] || i[1] !== a[1], s = A.number.createValidatorFunctional, c = null, l = !1;
763
763
  return b(a[0]).times((e) => {
764
764
  b(a[1]).times((t) => {
765
765
  if (!o) {
@@ -870,7 +870,7 @@ function parseTex(e) {
870
870
  }
871
871
  //#endregion
872
872
  //#region packages/perseus-score/src/widgets/numeric-input/score-numeric-input.ts
873
- var V = [
873
+ var K = [
874
874
  {
875
875
  title: "Integers",
876
876
  value: "integer",
@@ -912,9 +912,9 @@ function scoreNumericInput(e, t, n) {
912
912
  type: "invalid",
913
913
  message: null
914
914
  };
915
- let r = V.map((e) => e.value).filter((e) => e !== "pi"), createValidator = (e) => {
915
+ let r = K.map((e) => e.value).filter((e) => e !== "pi"), createValidator = (e) => {
916
916
  let t = `${e.value}`, i = [...e.answerForms ?? []];
917
- return (!e.strict || i.length === 0) && i.push(...r), T.number.createValidatorFunctional(t, {
917
+ return (!e.strict || i.length === 0) && i.push(...r), A.number.createValidatorFunctional(t, {
918
918
  message: e.message,
919
919
  simplify: e.status === "correct" ? e.simplify : "optional",
920
920
  inexact: !0,
@@ -1076,7 +1076,7 @@ function scoreTable(e, t) {
1076
1076
  total: 1,
1077
1077
  message: null
1078
1078
  };
1079
- let a = T.number.createValidatorFunctional, o = null;
1079
+ let a = A.number.createValidatorFunctional, o = null;
1080
1080
  return {
1081
1081
  type: "points",
1082
1082
  earned: +!!i.every(function(e) {
@@ -1092,7 +1092,7 @@ function scoreTable(e, t) {
1092
1092
  }
1093
1093
  //#endregion
1094
1094
  //#region packages/perseus-score/src/widgets/input-number/score-input-number.ts
1095
- var H = scoreNumericInput, U = {
1095
+ var q = scoreNumericInput, J = {
1096
1096
  type: "points",
1097
1097
  earned: 0,
1098
1098
  total: 0,
@@ -1118,7 +1118,7 @@ function combineScores(e, t) {
1118
1118
  } });
1119
1119
  }
1120
1120
  function flattenScores(e) {
1121
- return Object.values(e).reduce(combineScores, U);
1121
+ return Object.values(e).reduce(combineScores, J);
1122
1122
  }
1123
1123
  //#endregion
1124
1124
  //#region packages/perseus-score/src/widgets/free-response/score-free-response.ts
@@ -1222,16 +1222,16 @@ function scoreMockWidget(e, t) {
1222
1222
  }
1223
1223
  //#endregion
1224
1224
  //#region packages/perseus-score/src/widgets/widget-registry.ts
1225
- var W = new d("Score widget registry");
1225
+ var Y = new d("Score widget registry");
1226
1226
  function registerWidget(e, t, n) {
1227
1227
  let r = {
1228
1228
  scorer: t,
1229
1229
  validator: n
1230
1230
  };
1231
- W.set(e, r);
1231
+ Y.set(e, r);
1232
1232
  }
1233
- var getWidgetValidator = (e) => W.get(e)?.validator ?? null, getWidgetScorer = (e) => W.get(e)?.scorer ?? null;
1234
- registerWidget("categorizer", scoreCategorizer, validateCategorizer), registerWidget("cs-program", scoreCSProgram), registerWidget("dropdown", scoreDropdown, validateDropdown), registerWidget("expression", scoreExpression, validateExpression), registerWidget("free-response", scoreFreeResponse, validateFreeResponse), registerWidget("grapher", scoreGrapher), registerWidget("group", scoreGroup, validateGroup), registerWidget("iframe", scoreIframe), registerWidget("input-number", H), registerWidget("interactive-graph", scoreInteractiveGraph), registerWidget("label-image", scoreLabelImage, validateLabelImage), registerWidget("matcher", scoreMatcher), registerWidget("matrix", scoreMatrix, validateMatrix), registerWidget("mock-widget", scoreMockWidget, scoreMockWidget), registerWidget("number-line", scoreNumberLine), registerWidget("numeric-input", scoreNumericInput), registerWidget("orderer", scoreOrderer, validateOrderer), registerWidget("plotter", scorePlotter, validatePlotter), registerWidget("radio", scoreRadio, validateRadio), registerWidget("sorter", scoreSorter, validateSorter), registerWidget("table", scoreTable, validateTable);
1233
+ var getWidgetValidator = (e) => Y.get(e)?.validator ?? null, getWidgetScorer = (e) => Y.get(e)?.scorer ?? null;
1234
+ registerWidget("categorizer", scoreCategorizer, validateCategorizer), registerWidget("cs-program", scoreCSProgram), registerWidget("dropdown", scoreDropdown, validateDropdown), registerWidget("expression", scoreExpression, validateExpression), registerWidget("free-response", scoreFreeResponse, validateFreeResponse), registerWidget("grapher", scoreGrapher), registerWidget("group", scoreGroup, validateGroup), registerWidget("iframe", scoreIframe), registerWidget("input-number", q), registerWidget("interactive-graph", scoreInteractiveGraph), registerWidget("label-image", scoreLabelImage, validateLabelImage), registerWidget("matcher", scoreMatcher), registerWidget("matrix", scoreMatrix, validateMatrix), registerWidget("mock-widget", scoreMockWidget, scoreMockWidget), registerWidget("number-line", scoreNumberLine), registerWidget("numeric-input", scoreNumericInput), registerWidget("orderer", scoreOrderer, validateOrderer), registerWidget("plotter", scorePlotter, validatePlotter), registerWidget("radio", scoreRadio, validateRadio), registerWidget("sorter", scoreSorter, validateSorter), registerWidget("table", scoreTable, validateTable);
1235
1235
  //#endregion
1236
1236
  //#region packages/perseus-score/src/util/is-widget-scoreable.ts
1237
1237
  function isWidgetScoreable(e) {
@@ -1292,6 +1292,6 @@ function hasEmptyDINERWidgets(e, t) {
1292
1292
  return !1;
1293
1293
  }
1294
1294
  //#endregion
1295
- export { T as KhanAnswerTypes, emptyWidgetsFunctional, flattenScores, getWidgetScorer, getWidgetValidator, hasEmptyDINERWidgets, isWidgetScoreable, C as libVersion, registerWidget, scoreCSProgram, scoreCategorizer, scoreDropdown, scoreExpression, scoreGrapher, scoreIframe, H as scoreInputNumber, scoreInteractiveGraph, scoreLabelImage, scoreLabelImageMarker, scoreMatcher, scoreMatrix, scoreNumberLine, scoreNumericInput, scoreOrderer, scorePerseusItem, scorePlotter, scoreRadio, scoreSorter, scoreTable, scoreWidgetsFunctional, validateCategorizer, validateDropdown, validateExpression, validateMatrix, validateOrderer, validatePlotter, validateRadio, validateSorter, validateTable, validateUserInput };
1295
+ export { A as KhanAnswerTypes, emptyWidgetsFunctional, flattenScores, getWidgetScorer, getWidgetValidator, hasEmptyDINERWidgets, isWidgetScoreable, C as libVersion, registerWidget, scoreCSProgram, scoreCategorizer, scoreDropdown, scoreExpression, scoreGrapher, scoreIframe, q as scoreInputNumber, scoreInteractiveGraph, scoreLabelImage, scoreLabelImageMarker, scoreMatcher, scoreMatrix, scoreNumberLine, scoreNumericInput, scoreOrderer, scorePerseusItem, scorePlotter, scoreRadio, scoreSorter, scoreTable, scoreWidgetsFunctional, validateCategorizer, validateDropdown, validateExpression, validateMatrix, validateOrderer, validatePlotter, validateRadio, validateSorter, validateTable, validateUserInput };
1296
1296
 
1297
1297
  //# sourceMappingURL=index.js.map