@pie-element/math-inline 13.0.8-next.20261024044430 → 13.0.8-next.20261024053312

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.
@@ -37233,7 +37233,7 @@ var XI = class extends z.Component {
37233
37233
  }
37234
37234
  }, pL = Object.freeze({
37235
37235
  name: "@pie-element/math-inline",
37236
- version: "13.0.8-next.20261024044430"
37236
+ version: "13.0.8-next.20261024053312"
37237
37237
  });
37238
37238
  //#endregion
37239
37239
  export { fL as default, pL as piePackage };
@@ -37656,21 +37656,56 @@ var ke = /* @__PURE__ */ r(((e) => {
37656
37656
  Object.defineProperty(e, "__esModule", { value: !0 }), e.latexEqual = void 0;
37657
37657
  var t = E_();
37658
37658
  e.latexEqual = (e, n, r) => t.latexEqual(e, n, r);
37659
- })))(), 1), { translator: O_ } = a, k_ = (0, c.default)("@pie-element:math-inline:controller"), A_ = (e, t, n) => {
37659
+ })))(), 1), O_ = /[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069\u0640]/g, k_ = /[\uFB50-\uFDFF\uFE70-\uFEFC]+/g, A_ = /\p{Nd}/u, j_ = /(?![0-9])\p{Nd}/gu, M_ = /\u066B/g, N_ = /\u066C/g, P_ = /[\u0622\u0623\u0625\u0671]/g, F_ = /[\u064B-\u065F\u0670]/g, I_ = /* @__PURE__ */ new Map(), L_ = (e) => {
37660
+ let t = I_.get(e);
37661
+ if (t !== void 0) return t;
37662
+ let n = 0;
37663
+ for (; A_.test(String.fromCodePoint(e - n - 1));) n++;
37664
+ let r = n % 10;
37665
+ return I_.set(e, r), r;
37666
+ }, R_ = (e) => e.replace(j_, (e) => String(L_(e.codePointAt(0)))), z_ = {
37667
+ decimal: ".",
37668
+ group: ","
37669
+ }, B_ = /* @__PURE__ */ new Map(), V_ = (e) => {
37670
+ if (!e) return z_;
37671
+ let t = B_.get(e);
37672
+ if (t) return t;
37673
+ let n = z_;
37674
+ try {
37675
+ if (Intl.NumberFormat.supportedLocalesOf(e).length > 0) {
37676
+ let t = new Intl.NumberFormat(e, { numberingSystem: "latn" }).formatToParts(12345.6);
37677
+ n = {
37678
+ decimal: t.find((e) => e.type === "decimal")?.value ?? ".",
37679
+ group: t.find((e) => e.type === "group")?.value ?? ","
37680
+ };
37681
+ }
37682
+ } catch {}
37683
+ return B_.set(e, n), n;
37684
+ }, H_ = /^(tr|az)(-|$)/i, U_ = (e, t) => {
37685
+ if (!t || !H_.test(t)) return e.toLowerCase();
37686
+ try {
37687
+ return e.toLocaleLowerCase(t);
37688
+ } catch {
37689
+ return e.toLowerCase();
37690
+ }
37691
+ }, W_ = (e, t = {}) => {
37692
+ let n = V_(t.language), r = (t.ignoreCase ? U_(e, t.language) : e).replace(O_, "").replace(k_, (e) => e.normalize("NFKC")).normalize("NFC");
37693
+ return r = R_(r).replace(M_, n.decimal).replace(N_, n.group), t.foldLetterVariants && (r = r.replace(F_, "").replace(P_, "ا").replace(/\u0629/g, "ه").replace(/\u0649/g, "ي")), r;
37694
+ }, { translator: G_ } = a, K_ = (0, c.default)("@pie-element:math-inline:controller"), q_ = (e, t, n) => {
37660
37695
  let r = e.responses, i = e.responseType === m.advanced;
37661
37696
  if (!t) return {
37662
37697
  correctness: "unanswered",
37663
37698
  score: n ? 0 : "0%",
37664
37699
  correct: !1
37665
37700
  };
37666
- let a = j_(i ? r : r.slice(0, 1), t), o = {
37701
+ let a = Y_(i ? r : r.slice(0, 1), t), o = {
37667
37702
  correctness: "incorrect",
37668
37703
  score: n ? 0 : "0%",
37669
37704
  correct: !1
37670
37705
  };
37671
37706
  return a && (o.correctness = "correct", o.score = n ? 1 : "100%", o.correct = !0), o;
37672
- };
37673
- function j_(e, t) {
37707
+ }, J_ = (e) => typeof e == "string" ? W_(e) : e;
37708
+ function Y_(e, t) {
37674
37709
  let n = !1;
37675
37710
  return (e || []).forEach((e) => {
37676
37711
  if (n) return;
@@ -37681,20 +37716,20 @@ function j_(e, t) {
37681
37716
  });
37682
37717
  let i = e.alternates || {}, a = [e.answer].concat(Object.keys(i).map((e) => i[e]));
37683
37718
  for (let e = 0; e < a.length; e++) try {
37684
- if (D_.latexEqual(t, a[e], r)) {
37719
+ if (D_.latexEqual(J_(t), J_(a[e]), r)) {
37685
37720
  n = !0;
37686
37721
  break;
37687
37722
  }
37688
37723
  } catch (n) {
37689
- k_("Parse failure when evaluating math", a[e], t, n);
37724
+ K_("Parse failure when evaluating math", a[e], t, n);
37690
37725
  continue;
37691
37726
  }
37692
37727
  }), n;
37693
37728
  }
37694
- var M_ = (e, t, n, r) => {
37695
- if (t.mode === "evaluate") return A_(e, e.responseType === m.advanced ? n && n.completeAnswer || "" : n && n.response, r);
37729
+ var X_ = (e, t, n, r) => {
37730
+ if (t.mode === "evaluate") return q_(e, e.responseType === m.advanced ? n && n.completeAnswer || "" : n && n.response, r);
37696
37731
  };
37697
- function N_(e = {}) {
37732
+ function Z_(e = {}) {
37698
37733
  return new Promise((t) => {
37699
37734
  t({ config: {
37700
37735
  ...h,
@@ -37702,7 +37737,7 @@ function N_(e = {}) {
37702
37737
  } });
37703
37738
  });
37704
37739
  }
37705
- var P_ = (e, t, n) => {
37740
+ var Q_ = (e, t, n) => {
37706
37741
  let r = [];
37707
37742
  if (!t || !t.response && !t.completeAnswer) return r.push("Student did not enter a response."), r;
37708
37743
  let i = e?.responseType === m.advanced, a = i ? t.completeAnswer : t.response, o = a ? a.replace(/\\/g, "") : "";
@@ -37718,22 +37753,22 @@ var P_ = (e, t, n) => {
37718
37753
  let a = t.alternates || {}, o = [t.answer].concat(Object.keys(a).map((e) => a[e]));
37719
37754
  o.length > 1 && r.push(`Accepted answers: ${o.length} (including alternates).`);
37720
37755
  });
37721
- let c = M_(e, n, t, !0);
37756
+ let c = X_(e, n, t, !0);
37722
37757
  return c.correctness === "correct" ? r.push("Student answer matches one of the accepted responses.") : c.correctness === "incorrect" ? r.push("Student answer does not match any of the accepted responses.") : r.push("Student answer could not be evaluated."), r.push(`Response evaluated as ${c.correctness}.`), r.push(`Final score: ${c.score}.`), r;
37723
- }, F_ = (e, t, n) => new Promise((r) => {
37758
+ }, $_ = (e, t, n) => new Promise((r) => {
37724
37759
  n.mode === "evaluate" ? !t || o(t) ? r({
37725
37760
  score: 0,
37726
37761
  empty: !0,
37727
37762
  logTrace: ["Student did not enter a response."]
37728
37763
  }) : r({
37729
- score: M_(e, n, t, !0).score,
37730
- logTrace: P_(e, t, n)
37764
+ score: X_(e, n, t, !0).score,
37765
+ logTrace: Q_(e, t, n)
37731
37766
  }) : r({
37732
37767
  score: void 0,
37733
37768
  completed: void 0,
37734
37769
  logTrace: []
37735
37770
  });
37736
- }), I_ = (e) => (o(e.responses) || (e.responses = e.responses.map((t) => ({
37771
+ }), ev = (e) => (o(e.responses) || (e.responses = e.responses.map((t) => ({
37737
37772
  ...t,
37738
37773
  validation: t.validation || e.validationDefault,
37739
37774
  allowTrailingZeros: t.allowTrailingZeros || e.allowTrailingZerosDefault,
@@ -37741,8 +37776,8 @@ var P_ = (e, t, n) => {
37741
37776
  }))), {
37742
37777
  ...h,
37743
37778
  ...e
37744
- }), L_ = (e, t, n) => new Promise((r) => {
37745
- let i = I_(e), a = M_(i, n, t), { extraCSSRules: o, responses: s, language: c, ...l } = i, u = l;
37779
+ }), tv = (e, t, n) => new Promise((r) => {
37780
+ let i = ev(e), a = X_(i, n, t), { extraCSSRules: o, responses: s, language: c, ...l } = i, u = l;
37746
37781
  u.responses = u.responseType === m.simple ? s.slice(0, 1) : s;
37747
37782
  let d = {
37748
37783
  extraCSSRules: o,
@@ -37751,16 +37786,16 @@ var P_ = (e, t, n) => {
37751
37786
  feedback: n.mode === "evaluate" && i.feedbackEnabled ? f(a?.correctness, i.feedback) : void 0,
37752
37787
  disabled: n.mode !== "gather",
37753
37788
  view: n.mode === "view"
37754
- }, p = i.note || O_.t("mathInline.primaryCorrectWithAlternates", { lng: c }), h = (u?.responses?.length ?? 0) > 1 || (u?.responses || []).some((e) => e.validation === "symbolic" || Object.keys(e.alternates || {}).length > 0);
37755
- n.mode === "evaluate" ? (d.correctResponse = {}, d.config.showNote = h, d.config.note = p) : (d.config.responses = [], d.config.showNote = !1), n.role === "instructor" && (n.mode === "view" || n.mode === "evaluate") ? (d.rationale = i.rationaleEnabled ? i.rationale : null, d.teacherInstructions = i.teacherInstructionsEnabled ? i.teacherInstructions : null) : (d.rationale = null, d.teacherInstructions = null, d.config.rationale = null, d.config.teacherInstructions = null), d.config.env = n, d.config.prompt = i.promptEnabled ? i.prompt : null, d.language = c, k_("out: ", d), r(d);
37756
- }), R_ = (e) => e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), z_ = (e) => new Promise((t) => {
37789
+ }, p = i.note || G_.t("mathInline.primaryCorrectWithAlternates", { lng: c }), h = (u?.responses?.length ?? 0) > 1 || (u?.responses || []).some((e) => e.validation === "symbolic" || Object.keys(e.alternates || {}).length > 0);
37790
+ n.mode === "evaluate" ? (d.correctResponse = {}, d.config.showNote = h, d.config.note = p) : (d.config.responses = [], d.config.showNote = !1), n.role === "instructor" && (n.mode === "view" || n.mode === "evaluate") ? (d.rationale = i.rationaleEnabled ? i.rationale : null, d.teacherInstructions = i.teacherInstructionsEnabled ? i.teacherInstructions : null) : (d.rationale = null, d.teacherInstructions = null, d.config.rationale = null, d.config.teacherInstructions = null), d.config.env = n, d.config.prompt = i.promptEnabled ? i.prompt : null, d.language = c, K_("out: ", d), r(d);
37791
+ }), nv = (e) => e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), rv = (e) => new Promise((t) => {
37757
37792
  let { responses: n, id: r } = e, { answer: i } = n && n.length ? n[0] : {};
37758
37793
  t({
37759
37794
  id: r,
37760
37795
  response: i || "",
37761
37796
  completeAnswer: i || ""
37762
37797
  });
37763
- }), B_ = (e) => e.endsWith("\\") ? e.slice(0, -1) : e, V_ = (e) => new Promise((t) => {
37798
+ }), iv = (e) => e.endsWith("\\") ? e.slice(0, -1) : e, av = (e) => new Promise((t) => {
37764
37799
  let { responses: n, id: r } = e, { answer: i } = n && n.length ? n[0] : {};
37765
37800
  if (!i) t({
37766
37801
  id: r,
@@ -37768,7 +37803,7 @@ var P_ = (e, t, n) => {
37768
37803
  completeAnswer: ""
37769
37804
  });
37770
37805
  else try {
37771
- let n = e.expression, o = R_(n).split(/\\{\\{\s*response\s*\\}\\}/g), s = o.map((e) => e === "" ? e : e.replace(/\s+/g, () => "\\s*")).join("(.*)"), c = i.match(new RegExp(s)), l = o.length - 1;
37806
+ let n = e.expression, o = nv(n).split(/\\{\\{\s*response\s*\\}\\}/g), s = o.map((e) => e === "" ? e : e.replace(/\s+/g, () => "\\s*")).join("(.*)"), c = i.match(new RegExp(s)), l = o.length - 1;
37772
37807
  if (!c) {
37773
37808
  t({
37774
37809
  id: r,
@@ -37779,7 +37814,7 @@ var P_ = (e, t, n) => {
37779
37814
  }
37780
37815
  c.shift();
37781
37816
  let u = {};
37782
- for (var a = 0; a < l; a++) u[`r${a + 1}`] = { value: B_(c[a].trim()) };
37817
+ for (var a = 0; a < l; a++) u[`r${a + 1}`] = { value: iv(c[a].trim()) };
37783
37818
  t({
37784
37819
  id: r,
37785
37820
  answers: u,
@@ -37792,14 +37827,14 @@ var P_ = (e, t, n) => {
37792
37827
  completeAnswer: i
37793
37828
  }), console.error(e.toString());
37794
37829
  }
37795
- }), H_ = (e, t) => t.mode === "evaluate" || t.role !== "instructor" ? (console.error("can not create correct response session if mode is evaluate or role is not instructor"), Promise.resolve(null)) : (e.responseType || "").toLowerCase() === "simple" ? z_(e) : V_(e), U_ = (e) => (e || "").replace(/(<(?!img|iframe|source)([^>]+)>)/gi, ""), W_ = (e = {}, t = {}) => {
37830
+ }), ov = (e, t) => t.mode === "evaluate" || t.role !== "instructor" ? (console.error("can not create correct response session if mode is evaluate or role is not instructor"), Promise.resolve(null)) : (e.responseType || "").toLowerCase() === "simple" ? rv(e) : av(e), sv = (e) => (e || "").replace(/(<(?!img|iframe|source)([^>]+)>)/gi, ""), cv = (e = {}, t = {}) => {
37796
37831
  let { expression: n = "", responses: r, responseType: i } = e, { maxResponseAreas: a } = t, s = {}, c = {};
37797
37832
  if ([
37798
37833
  "teacherInstructions",
37799
37834
  "prompt",
37800
37835
  "rationale"
37801
37836
  ].forEach((n) => {
37802
- t[n]?.required && !U_(e[n]) && (c[n] = "This field is required.");
37837
+ t[n]?.required && !sv(e[n]) && (c[n] = "This field is required.");
37803
37838
  }), (r || []).forEach((e, t) => {
37804
37839
  let { answer: n } = e, r = [...Object.entries(e.alternates || {})].reverse(), i = {}, a = {};
37805
37840
  n === "" && (a.answer = "Content should not be empty."), r.forEach(([e, t], a) => {
@@ -37813,11 +37848,11 @@ var P_ = (e, t, n) => {
37813
37848
  e > a ? c.responseAreasError = `No more than ${a} response areas should be defined.` : e < 1 && (c.responseAreasError = "There should be at least 1 response area defined.");
37814
37849
  }
37815
37850
  return o(s) || (c.responsesErrors = s), c;
37816
- }, G_ = Object.freeze({
37851
+ }, lv = Object.freeze({
37817
37852
  name: "@pie-element/math-inline",
37818
- version: "13.0.8-next.20261024044430"
37853
+ version: "13.0.8-next.20261024053312"
37819
37854
  });
37820
37855
  //#endregion
37821
- export { H_ as createCorrectResponseSession, N_ as createDefaultModel, P_ as getLogTrace, L_ as model, I_ as normalize, F_ as outcome, G_ as piePackage, W_ as validate };
37856
+ export { ov as createCorrectResponseSession, Z_ as createDefaultModel, Q_ as getLogTrace, tv as model, ev as normalize, $_ as outcome, lv as piePackage, cv as validate };
37822
37857
 
37823
37858
  //# sourceMappingURL=index.js.map