qti3-item-player-vue3 0.2.13 → 0.2.14

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.
@@ -132,6 +132,16 @@ class Kg {
132
132
  getPnp() {
133
133
  return this.pnp;
134
134
  }
135
+ getAfaPnp() {
136
+ const t = {
137
+ "ext:sbac-illustrated-glossary": this.getExtSbacGlossaryIllustration() ? "on" : "off",
138
+ "keyword-translation": this.getKeywordTranslationLanguage(),
139
+ "text-appearance": {
140
+ "color-theme": this.convertColorStyleToTheme()
141
+ }
142
+ }, i = this.getProhibitSet();
143
+ return i !== null && (t["prohibit-set"] = i), { "access-for-all-pnp": t };
144
+ }
135
145
  getColorStyle() {
136
146
  return this.pnp.textAppearance.colorStyle;
137
147
  }
@@ -162,6 +172,49 @@ class Kg {
162
172
  setLayoutSingleColumn(t) {
163
173
  this.pnp.layoutSingleColumn = t;
164
174
  }
175
+ /**
176
+ * @description Convert Qti 3 Player PNP colorStyle to standard QTI color theme.
177
+ * @returns {String} QTI color theme
178
+ */
179
+ convertColorStyleToTheme() {
180
+ const t = this.getColorStyle().split("-");
181
+ if (t.length !== 4) return "default";
182
+ switch (t[3]) {
183
+ case "default":
184
+ return "default";
185
+ case "defaultreverse":
186
+ return "default-reverse";
187
+ case "blackwhite":
188
+ return "high-contrast";
189
+ case "whiteblack":
190
+ return "high-contrast-reverse";
191
+ case "blackrose":
192
+ return "black-rose";
193
+ case "roseblack":
194
+ return "rose-black";
195
+ case "yellowblue":
196
+ return "yellow-blue";
197
+ case "blueyellow":
198
+ return "blue-yellow";
199
+ case "mgraydgray":
200
+ return "medgray-darkgray";
201
+ case "dgraymgray":
202
+ return "darkgray-medgray";
203
+ case "blackcyan":
204
+ return "black-cyan";
205
+ case "cyanblack":
206
+ return "cyan-black";
207
+ case "blackcream":
208
+ return "black-cream";
209
+ case "creamblack":
210
+ return "cream-black";
211
+ default:
212
+ return "default";
213
+ }
214
+ }
215
+ getProhibitSet() {
216
+ return this.getGlossaryOnScreen() ? null : { "glossary-on-screen": "active" };
217
+ }
165
218
  evaluatePnpEvent(t) {
166
219
  let i = !1;
167
220
  switch (t) {
@@ -2139,6 +2192,9 @@ const xv = new re(), S = {
2139
2192
  case "PciGetState_Reply":
2140
2193
  console.log("[PCI Parent] PCI GetState Reply: " + e.data.identifier + ", state:", e.data.state), this.pciSaveState(e.data.identifier, e.data.state);
2141
2194
  break;
2195
+ case "PciInteractionChanged":
2196
+ console.log("[PCI Parent] PCI InteractionChanged: " + e.data.identifier + ", state: " + e.data.state), this.pciInteractionChanged(e.data.identifier, e.data.state);
2197
+ break;
2142
2198
  }
2143
2199
  },
2144
2200
  WindowResize() {
@@ -2146,6 +2202,11 @@ const xv = new re(), S = {
2146
2202
  e.interactionType === "PortableCustom" && e.node.pciResizeIframeWidthToContainer();
2147
2203
  });
2148
2204
  },
2205
+ pciSetRenderingProperties() {
2206
+ this.getInteractions().forEach((e) => {
2207
+ e.interactionType === "PortableCustom" && e.node.pciSetRenderingProperties();
2208
+ });
2209
+ },
2149
2210
  pciInitialize(e) {
2150
2211
  let t = S.getInteraction(e);
2151
2212
  typeof t > "u" || t.interactionType !== "PortableCustom" || t.node.pciInitialize();
@@ -2162,6 +2223,12 @@ const xv = new re(), S = {
2162
2223
  let i = S.getInteraction(e);
2163
2224
  typeof i > "u" || i.interactionType !== "PortableCustom" || i.node.pciSaveState(t);
2164
2225
  },
2226
+ pciInteractionChanged(e, t) {
2227
+ let i = S.getInteraction(e);
2228
+ if (typeof i > "u" || i.interactionType !== "PortableCustom") return;
2229
+ const s = JSON.parse(t);
2230
+ typeof s.valid < "u" && i.node.pciUpdateValidity(s.valid), typeof s.value < "u" && i.node.pciUpdateResponse(s.value);
2231
+ },
2165
2232
  getAsyncStateMap() {
2166
2233
  return this.state.asyncStateMap;
2167
2234
  },
@@ -8668,10 +8735,10 @@ const Jx = async (e) => {
8668
8735
  return e.byteLength;
8669
8736
  if (U.isURLSearchParams(e) && (e = e + ""), U.isString(e))
8670
8737
  return (await Xx(e)).byteLength;
8671
- }, e1 = async (e, t) => {
8738
+ }, eS = async (e, t) => {
8672
8739
  const i = U.toFiniteNumber(e.getContentLength());
8673
8740
  return i ?? Jx(t);
8674
- }, t1 = Cu && (async (e) => {
8741
+ }, tS = Cu && (async (e) => {
8675
8742
  let {
8676
8743
  url: t,
8677
8744
  method: i,
@@ -8693,7 +8760,7 @@ const Jx = async (e) => {
8693
8760
  });
8694
8761
  let T;
8695
8762
  try {
8696
- if (u && Zx && i !== "get" && i !== "head" && (T = await e1(d, s)) !== 0) {
8763
+ if (u && Zx && i !== "get" && i !== "head" && (T = await eS(d, s)) !== 0) {
8697
8764
  let j = new Request(t, {
8698
8765
  method: "POST",
8699
8766
  body: s,
@@ -8759,7 +8826,7 @@ const Jx = async (e) => {
8759
8826
  }), Wh = {
8760
8827
  http: gx,
8761
8828
  xhr: jx,
8762
- fetch: t1
8829
+ fetch: tS
8763
8830
  };
8764
8831
  U.forEach(Wh, (e, t) => {
8765
8832
  if (e) {
@@ -8770,7 +8837,7 @@ U.forEach(Wh, (e, t) => {
8770
8837
  Object.defineProperty(e, "adapterName", { value: t });
8771
8838
  }
8772
8839
  });
8773
- const lp = (e) => `- ${e}`, i1 = (e) => U.isFunction(e) || e === null || e === !1, ow = {
8840
+ const lp = (e) => `- ${e}`, iS = (e) => U.isFunction(e) || e === null || e === !1, ow = {
8774
8841
  getAdapter: (e) => {
8775
8842
  e = U.isArray(e) ? e : [e];
8776
8843
  const { length: t } = e;
@@ -8779,7 +8846,7 @@ const lp = (e) => `- ${e}`, i1 = (e) => U.isFunction(e) || e === null || e === !
8779
8846
  for (let r = 0; r < t; r++) {
8780
8847
  i = e[r];
8781
8848
  let a;
8782
- if (s = i, !i1(i) && (s = Wh[(a = String(i)).toLowerCase()], s === void 0))
8849
+ if (s = i, !iS(i) && (s = Wh[(a = String(i)).toLowerCase()], s === void 0))
8783
8850
  throw new Ce(`Unknown adapter '${a}'`);
8784
8851
  if (s)
8785
8852
  break;
@@ -8848,7 +8915,7 @@ zd.transitional = function(t, i, s) {
8848
8915
  )), t ? t(r, a, o) : !0;
8849
8916
  };
8850
8917
  };
8851
- function s1(e, t, i) {
8918
+ function sS(e, t, i) {
8852
8919
  if (typeof e != "object")
8853
8920
  throw new Ce("options must be an object", Ce.ERR_BAD_OPTION_VALUE);
8854
8921
  const s = Object.keys(e);
@@ -8866,7 +8933,7 @@ function s1(e, t, i) {
8866
8933
  }
8867
8934
  }
8868
8935
  const zh = {
8869
- assertOptions: s1,
8936
+ assertOptions: sS,
8870
8937
  validators: zd
8871
8938
  }, Ns = zh.validators;
8872
8939
  class Cn {
@@ -9063,12 +9130,12 @@ class Kd {
9063
9130
  };
9064
9131
  }
9065
9132
  }
9066
- function n1(e) {
9133
+ function nS(e) {
9067
9134
  return function(i) {
9068
9135
  return e.apply(null, i);
9069
9136
  };
9070
9137
  }
9071
- function r1(e) {
9138
+ function rS(e) {
9072
9139
  return U.isObject(e) && e.isAxiosError === !0;
9073
9140
  }
9074
9141
  const Kh = {
@@ -9157,15 +9224,15 @@ it.Cancel = it.CanceledError;
9157
9224
  it.all = function(t) {
9158
9225
  return Promise.all(t);
9159
9226
  };
9160
- it.spread = n1;
9161
- it.isAxiosError = r1;
9227
+ it.spread = nS;
9228
+ it.isAxiosError = rS;
9162
9229
  it.mergeConfig = _n;
9163
9230
  it.AxiosHeaders = kt;
9164
9231
  it.formToJSON = (e) => ew(U.isHTMLForm(e) ? new FormData(e) : e);
9165
9232
  it.getAdapter = ow.getAdapter;
9166
9233
  it.HttpStatusCode = Kh;
9167
9234
  it.default = it;
9168
- const a1 = {
9235
+ const aS = {
9169
9236
  name: "QtiStylesheet",
9170
9237
  props: {
9171
9238
  /*
@@ -9226,15 +9293,15 @@ const a1 = {
9226
9293
  throw this.isQtiValid = !1, new l(e.message);
9227
9294
  }
9228
9295
  }
9229
- }, o1 = ["innerHTML"];
9230
- function l1(e, t, i, s, n, r) {
9296
+ }, oS = ["innerHTML"];
9297
+ function lS(e, t, i, s, n, r) {
9231
9298
  return M(), N("div", {
9232
9299
  ref: "root",
9233
9300
  class: "qti-stylesheet",
9234
9301
  innerHTML: n.css
9235
- }, null, 8, o1);
9302
+ }, null, 8, oS);
9236
9303
  }
9237
- const u1 = /* @__PURE__ */ D(a1, [["render", l1]]), c1 = {
9304
+ const uS = /* @__PURE__ */ D(aS, [["render", lS]]), cS = {
9238
9305
  name: "QtiCompanionMaterialsInfo",
9239
9306
  data() {
9240
9307
  return {
@@ -9253,11 +9320,11 @@ const u1 = /* @__PURE__ */ D(a1, [["render", l1]]), c1 = {
9253
9320
  throw this.isQtiValid = !1, new l(e.message);
9254
9321
  }
9255
9322
  }
9256
- }, h1 = { class: "qti-companion-materials-info" };
9257
- function d1(e, t, i, s, n, r) {
9258
- return M(), N("div", h1);
9323
+ }, hS = { class: "qti-companion-materials-info" };
9324
+ function dS(e, t, i, s, n, r) {
9325
+ return M(), N("div", hS);
9259
9326
  }
9260
- const f1 = /* @__PURE__ */ D(c1, [["render", d1]]), sa = new G(), p1 = {
9327
+ const fS = /* @__PURE__ */ D(cS, [["render", dS]]), sa = new G(), pS = {
9261
9328
  name: "QtiMapping",
9262
9329
  props: {
9263
9330
  /*
@@ -9392,13 +9459,13 @@ const f1 = /* @__PURE__ */ D(c1, [["render", d1]]), sa = new G(), p1 = {
9392
9459
  throw this.isQtiValid = !1, new l(e.message);
9393
9460
  }
9394
9461
  }
9395
- }, m1 = { class: "qti-mapping" };
9396
- function g1(e, t, i, s, n, r) {
9397
- return M(), N("div", m1, [
9462
+ }, mS = { class: "qti-mapping" };
9463
+ function gS(e, t, i, s, n, r) {
9464
+ return M(), N("div", mS, [
9398
9465
  K(e.$slots, "default")
9399
9466
  ]);
9400
9467
  }
9401
- const y1 = /* @__PURE__ */ D(p1, [["render", g1]]), Lc = new G(), w1 = {
9468
+ const yS = /* @__PURE__ */ D(pS, [["render", gS]]), Lc = new G(), wS = {
9402
9469
  name: "QtiMapEntry",
9403
9470
  props: {
9404
9471
  /*
@@ -9498,15 +9565,15 @@ const y1 = /* @__PURE__ */ D(p1, [["render", g1]]), Lc = new G(), w1 = {
9498
9565
  caseSensitive: this.getCaseSensitive()
9499
9566
  }), console.log("[" + this.$options.name + "][Value]", this.getValue())), e.remove();
9500
9567
  }
9501
- }, b1 = { class: "qti-map-entry" }, v1 = { class: "amp-mapentry__container" };
9502
- function E1(e, t, i, s, n, r) {
9503
- return M(), N("div", b1, [
9504
- ee("div", v1, [
9568
+ }, bS = { class: "qti-map-entry" }, vS = { class: "amp-mapentry__container" };
9569
+ function ES(e, t, i, s, n, r) {
9570
+ return M(), N("div", bS, [
9571
+ ee("div", vS, [
9505
9572
  K(e.$slots, "default")
9506
9573
  ])
9507
9574
  ]);
9508
9575
  }
9509
- const C1 = /* @__PURE__ */ D(w1, [["render", E1]]), na = new G(), T1 = {
9576
+ const CS = /* @__PURE__ */ D(wS, [["render", ES]]), na = new G(), TS = {
9510
9577
  name: "QtiAreaMapping",
9511
9578
  props: {
9512
9579
  /*
@@ -9645,13 +9712,13 @@ const C1 = /* @__PURE__ */ D(w1, [["render", E1]]), na = new G(), T1 = {
9645
9712
  throw this.isQtiValid = !1, new l(e.message);
9646
9713
  }
9647
9714
  }
9648
- }, x1 = { class: "qti-area-mapping" };
9649
- function S1(e, t, i, s, n, r) {
9650
- return M(), N("div", x1, [
9715
+ }, xS = { class: "qti-area-mapping" };
9716
+ function SS(e, t, i, s, n, r) {
9717
+ return M(), N("div", xS, [
9651
9718
  K(e.$slots, "default")
9652
9719
  ]);
9653
9720
  }
9654
- const I1 = /* @__PURE__ */ D(T1, [["render", S1]]), Mc = new G(), _1 = {
9721
+ const IS = /* @__PURE__ */ D(TS, [["render", SS]]), Mc = new G(), _S = {
9655
9722
  name: "QtiAreaMapEntry",
9656
9723
  props: {
9657
9724
  /*
@@ -9791,15 +9858,15 @@ const I1 = /* @__PURE__ */ D(T1, [["render", S1]]), Mc = new G(), _1 = {
9791
9858
  mappedValue: this.getMappedValue()
9792
9859
  }), console.log("[" + this.$options.name + "][Value]", this.getValue())), e.remove();
9793
9860
  }
9794
- }, V1 = { class: "qti-area-map-entry" }, A1 = { class: "amp-areamapentry__container" };
9795
- function $1(e, t, i, s, n, r) {
9796
- return M(), N("div", V1, [
9797
- ee("div", A1, [
9861
+ }, VS = { class: "qti-area-map-entry" }, AS = { class: "amp-areamapentry__container" };
9862
+ function $S(e, t, i, s, n, r) {
9863
+ return M(), N("div", VS, [
9864
+ ee("div", AS, [
9798
9865
  K(e.$slots, "default")
9799
9866
  ])
9800
9867
  ]);
9801
9868
  }
9802
- const L1 = /* @__PURE__ */ D(_1, [["render", $1]]), Rc = new G(), M1 = {
9869
+ const LS = /* @__PURE__ */ D(_S, [["render", $S]]), Rc = new G(), MS = {
9803
9870
  name: "QtiInterpolationTable",
9804
9871
  props: {
9805
9872
  /*
@@ -9894,13 +9961,13 @@ const L1 = /* @__PURE__ */ D(_1, [["render", $1]]), Rc = new G(), M1 = {
9894
9961
  throw this.isQtiValid = !1, new l(e.message);
9895
9962
  }
9896
9963
  }
9897
- }, R1 = { class: "qti-interpolation-table" };
9898
- function N1(e, t, i, s, n, r) {
9899
- return M(), N("div", R1, [
9964
+ }, RS = { class: "qti-interpolation-table" };
9965
+ function NS(e, t, i, s, n, r) {
9966
+ return M(), N("div", RS, [
9900
9967
  K(e.$slots, "default")
9901
9968
  ]);
9902
9969
  }
9903
- const q1 = /* @__PURE__ */ D(M1, [["render", N1]]), il = new G(), O1 = {
9970
+ const qS = /* @__PURE__ */ D(MS, [["render", NS]]), il = new G(), OS = {
9904
9971
  name: "QtiInterpolationTableEntry",
9905
9972
  props: {
9906
9973
  /*
@@ -10014,15 +10081,15 @@ const q1 = /* @__PURE__ */ D(M1, [["render", N1]]), il = new G(), O1 = {
10014
10081
  includeBoundary: this.getIncludeBoundary()
10015
10082
  }), console.log("[" + this.$options.name + "][Value]", this.getValue())), e.remove();
10016
10083
  }
10017
- }, P1 = { class: "qti-interpolation-table-entry" }, k1 = { class: "amp-interpolationentry__container" };
10018
- function D1(e, t, i, s, n, r) {
10019
- return M(), N("div", P1, [
10020
- ee("div", k1, [
10084
+ }, PS = { class: "qti-interpolation-table-entry" }, kS = { class: "amp-interpolationentry__container" };
10085
+ function DS(e, t, i, s, n, r) {
10086
+ return M(), N("div", PS, [
10087
+ ee("div", kS, [
10021
10088
  K(e.$slots, "default")
10022
10089
  ])
10023
10090
  ]);
10024
10091
  }
10025
- const B1 = /* @__PURE__ */ D(O1, [["render", D1]]), Nc = new G(), Q1 = {
10092
+ const BS = /* @__PURE__ */ D(OS, [["render", DS]]), Nc = new G(), QS = {
10026
10093
  name: "QtiMatchTable",
10027
10094
  props: {
10028
10095
  /*
@@ -10117,13 +10184,13 @@ const B1 = /* @__PURE__ */ D(O1, [["render", D1]]), Nc = new G(), Q1 = {
10117
10184
  throw this.isQtiValid = !1, new l(e.message);
10118
10185
  }
10119
10186
  }
10120
- }, H1 = { class: "qti-match-table" };
10121
- function F1(e, t, i, s, n, r) {
10122
- return M(), N("div", H1, [
10187
+ }, HS = { class: "qti-match-table" };
10188
+ function FS(e, t, i, s, n, r) {
10189
+ return M(), N("div", HS, [
10123
10190
  K(e.$slots, "default")
10124
10191
  ]);
10125
10192
  }
10126
- const U1 = /* @__PURE__ */ D(Q1, [["render", F1]]), qc = new G(), G1 = {
10193
+ const US = /* @__PURE__ */ D(QS, [["render", FS]]), qc = new G(), GS = {
10127
10194
  name: "QtiMatchTableEntry",
10128
10195
  props: {
10129
10196
  /*
@@ -10217,15 +10284,15 @@ const U1 = /* @__PURE__ */ D(Q1, [["render", F1]]), qc = new G(), G1 = {
10217
10284
  targetValue: this.getTargetValue()
10218
10285
  }), console.log("[" + this.$options.name + "][Value]", this.getValue())), e.remove();
10219
10286
  }
10220
- }, j1 = { class: "qti-match-table-entry" }, W1 = { class: "amp-matchtableentry__container" };
10221
- function z1(e, t, i, s, n, r) {
10222
- return M(), N("div", j1, [
10223
- ee("div", W1, [
10287
+ }, jS = { class: "qti-match-table-entry" }, WS = { class: "amp-matchtableentry__container" };
10288
+ function zS(e, t, i, s, n, r) {
10289
+ return M(), N("div", jS, [
10290
+ ee("div", WS, [
10224
10291
  K(e.$slots, "default")
10225
10292
  ])
10226
10293
  ]);
10227
10294
  }
10228
- const K1 = /* @__PURE__ */ D(G1, [["render", z1]]), Y1 = {
10295
+ const KS = /* @__PURE__ */ D(GS, [["render", zS]]), YS = {
10229
10296
  name: "QtiDefaultValue",
10230
10297
  props: {
10231
10298
  /* A human readable interpretation of the default value. */
@@ -10311,16 +10378,16 @@ const K1 = /* @__PURE__ */ D(G1, [["render", z1]]), Y1 = {
10311
10378
  throw this.isQtiValid = !1, new l(e.message);
10312
10379
  }
10313
10380
  }
10314
- }, X1 = {
10381
+ }, XS = {
10315
10382
  ref: "root",
10316
10383
  class: "qti-default-value"
10317
10384
  };
10318
- function Z1(e, t, i, s, n, r) {
10319
- return M(), N("div", X1, [
10385
+ function ZS(e, t, i, s, n, r) {
10386
+ return M(), N("div", XS, [
10320
10387
  K(e.$slots, "default")
10321
10388
  ], 512);
10322
10389
  }
10323
- const J1 = /* @__PURE__ */ D(Y1, [["render", Z1]]), eS = {
10390
+ const JS = /* @__PURE__ */ D(YS, [["render", ZS]]), e1 = {
10324
10391
  name: "QtiCorrectResponse",
10325
10392
  props: {
10326
10393
  /* A human readable interpretation of the correct value. */
@@ -10406,13 +10473,13 @@ const J1 = /* @__PURE__ */ D(Y1, [["render", Z1]]), eS = {
10406
10473
  throw this.isQtiValid = !1, new l(e.message);
10407
10474
  }
10408
10475
  }
10409
- }, tS = { class: "qti-correct-response" };
10410
- function iS(e, t, i, s, n, r) {
10411
- return M(), N("div", tS, [
10476
+ }, t1 = { class: "qti-correct-response" };
10477
+ function i1(e, t, i, s, n, r) {
10478
+ return M(), N("div", t1, [
10412
10479
  K(e.$slots, "default")
10413
10480
  ]);
10414
10481
  }
10415
- const sS = /* @__PURE__ */ D(eS, [["render", iS]]);
10482
+ const s1 = /* @__PURE__ */ D(e1, [["render", i1]]);
10416
10483
  class cw {
10417
10484
  /**
10418
10485
  * @constructor QtiValueValidation
@@ -10483,7 +10550,7 @@ class cw {
10483
10550
  return this.isCharacterALetter(t) || this.isCharacterADigit(t);
10484
10551
  }
10485
10552
  }
10486
- const Oc = new G(), Wn = new cw(), nS = {
10553
+ const Oc = new G(), Wn = new cw(), n1 = {
10487
10554
  name: "QtiValue",
10488
10555
  props: {
10489
10556
  // This characteristic is only used for specifying the base-type of a value that forms part of a record.
@@ -10625,19 +10692,19 @@ const Oc = new G(), Wn = new cw(), nS = {
10625
10692
  }
10626
10693
  e.remove();
10627
10694
  }
10628
- }, rS = ["variable-basetype", "variable-cardinality"], aS = { class: "amp-value__container" };
10629
- function oS(e, t, i, s, n, r) {
10695
+ }, r1 = ["variable-basetype", "variable-cardinality"], a1 = { class: "amp-value__container" };
10696
+ function o1(e, t, i, s, n, r) {
10630
10697
  return M(), N("div", {
10631
10698
  class: "qti-value",
10632
10699
  "variable-basetype": n.variableBaseType,
10633
10700
  "variable-cardinality": n.variableCardinality
10634
10701
  }, [
10635
- ee("div", aS, [
10702
+ ee("div", a1, [
10636
10703
  K(e.$slots, "default")
10637
10704
  ])
10638
- ], 8, rS);
10705
+ ], 8, r1);
10639
10706
  }
10640
- const lS = /* @__PURE__ */ D(nS, [["render", oS]]), uS = new G(), cS = {
10707
+ const l1 = /* @__PURE__ */ D(n1, [["render", o1]]), u1 = new G(), c1 = {
10641
10708
  name: "QtiItemBody",
10642
10709
  emits: [
10643
10710
  "itemBodyReady"
@@ -10685,7 +10752,7 @@ const lS = /* @__PURE__ */ D(nS, [["render", oS]]), uS = new G(), cS = {
10685
10752
  return this.$el.querySelectorAll('script[type="math/mml"]');
10686
10753
  },
10687
10754
  archiveMathElement(e) {
10688
- e.hasAttribute("id") || (e.id = uS.randomString(5, "a")), this.mathElementMap.set(e.id, e.outerHTML);
10755
+ e.hasAttribute("id") || (e.id = u1.randomString(5, "a")), this.mathElementMap.set(e.id, e.outerHTML);
10689
10756
  },
10690
10757
  applyTemplateValuesToMathml(e, t) {
10691
10758
  let i = e;
@@ -10707,16 +10774,16 @@ const lS = /* @__PURE__ */ D(nS, [["render", oS]]), uS = new G(), cS = {
10707
10774
  mounted() {
10708
10775
  this.initializeTemplateMathVariables(), this.$parent.$emit("itemBodyReady", { itemBody: this });
10709
10776
  }
10710
- }, hS = {
10777
+ }, h1 = {
10711
10778
  ref: "root",
10712
10779
  class: "qti-item-body"
10713
10780
  };
10714
- function dS(e, t, i, s, n, r) {
10715
- return M(), N("div", hS, [
10781
+ function d1(e, t, i, s, n, r) {
10782
+ return M(), N("div", h1, [
10716
10783
  K(e.$slots, "default")
10717
10784
  ], 512);
10718
10785
  }
10719
- const fS = /* @__PURE__ */ D(cS, [["render", dS]]), pS = {
10786
+ const f1 = /* @__PURE__ */ D(c1, [["render", d1]]), p1 = {
10720
10787
  name: "ModalDialog",
10721
10788
  data() {
10722
10789
  return {
@@ -10731,19 +10798,19 @@ const fS = /* @__PURE__ */ D(cS, [["render", dS]]), pS = {
10731
10798
  this.$refs.mymodal.classList.add("fade", "show"), document.querySelector("body").classList.add("modal-open");
10732
10799
  }
10733
10800
  }
10734
- }, mS = {
10801
+ }, m1 = {
10735
10802
  key: 0,
10736
10803
  ref: "mymodal",
10737
10804
  class: "qti3-player-modal"
10738
- }, gS = { class: "qti3-player-modal-dialog qti3-player-modal-md qti3-player-modal-dialog-centered" }, yS = { class: "qti3-player-modal-content" }, wS = { class: "qti3-player-modal-header" }, bS = { class: "qti3-player-modal-body" }, vS = { class: "qti3-player-modal-footer" };
10739
- function ES(e, t, i, s, n, r) {
10805
+ }, g1 = { class: "qti3-player-modal-dialog qti3-player-modal-md qti3-player-modal-dialog-centered" }, y1 = { class: "qti3-player-modal-content" }, w1 = { class: "qti3-player-modal-header" }, b1 = { class: "qti3-player-modal-body" }, v1 = { class: "qti3-player-modal-footer" };
10806
+ function E1(e, t, i, s, n, r) {
10740
10807
  return M(), Ti(pv, { name: "fade" }, {
10741
10808
  default: Xt(() => [
10742
- n.visible ? (M(), N("div", mS, [
10743
- ee("div", gS, [
10809
+ n.visible ? (M(), N("div", m1, [
10810
+ ee("div", g1, [
10744
10811
  t[2] || (t[2] = ee("span", { tabindex: "0" }, null, -1)),
10745
- ee("div", yS, [
10746
- ee("header", wS, [
10812
+ ee("div", y1, [
10813
+ ee("header", w1, [
10747
10814
  K(e.$slots, "header", {}, void 0, !0),
10748
10815
  ee("button", {
10749
10816
  type: "button",
@@ -10752,10 +10819,10 @@ function ES(e, t, i, s, n, r) {
10752
10819
  onClick: t[0] || (t[0] = (a) => r.hide())
10753
10820
  }, "×")
10754
10821
  ]),
10755
- ee("div", bS, [
10822
+ ee("div", b1, [
10756
10823
  K(e.$slots, "body", {}, void 0, !0)
10757
10824
  ]),
10758
- ee("footer", vS, [
10825
+ ee("footer", v1, [
10759
10826
  K(e.$slots, "footer", {}, void 0, !0)
10760
10827
  ])
10761
10828
  ]),
@@ -10770,10 +10837,10 @@ function ES(e, t, i, s, n, r) {
10770
10837
  _: 3
10771
10838
  });
10772
10839
  }
10773
- const CS = /* @__PURE__ */ D(pS, [["render", ES], ["__scopeId", "data-v-2611a8eb"]]), ra = new G(), TS = {
10840
+ const C1 = /* @__PURE__ */ D(p1, [["render", E1], ["__scopeId", "data-v-2611a8eb"]]), ra = new G(), T1 = {
10774
10841
  name: "QtiModalFeedback",
10775
10842
  components: {
10776
- ModalDialog: CS
10843
+ ModalDialog: C1
10777
10844
  },
10778
10845
  props: {
10779
10846
  /*
@@ -10936,13 +11003,13 @@ const CS = /* @__PURE__ */ D(pS, [["render", ES], ["__scopeId", "data-v-2611a8eb
10936
11003
  throw this.isQtiValid = !1, new l(e.message);
10937
11004
  }
10938
11005
  }
10939
- }, xS = {
11006
+ }, x1 = {
10940
11007
  ref: "root",
10941
11008
  class: "qti-modal-feedback"
10942
11009
  };
10943
- function SS(e, t, i, s, n, r) {
11010
+ function S1(e, t, i, s, n, r) {
10944
11011
  const a = ft("ModalDialog");
10945
- return M(), N("div", xS, [
11012
+ return M(), N("div", x1, [
10946
11013
  ii(a, { ref: "modal" }, {
10947
11014
  header: Xt(() => [
10948
11015
  ee("h5", null, He(r.modalTitle), 1)
@@ -10960,7 +11027,7 @@ function SS(e, t, i, s, n, r) {
10960
11027
  }, 512)
10961
11028
  ], 512);
10962
11029
  }
10963
- const IS = /* @__PURE__ */ D(TS, [["render", SS]]), _S = {
11030
+ const I1 = /* @__PURE__ */ D(T1, [["render", S1]]), _1 = {
10964
11031
  name: "QtiContentBody",
10965
11032
  data() {
10966
11033
  return {
@@ -10969,16 +11036,16 @@ const IS = /* @__PURE__ */ D(TS, [["render", SS]]), _S = {
10969
11036
  },
10970
11037
  mounted() {
10971
11038
  }
10972
- }, VS = {
11039
+ }, V1 = {
10973
11040
  ref: "root",
10974
11041
  class: "qti-content-body"
10975
11042
  };
10976
- function AS(e, t, i, s, n, r) {
10977
- return M(), N("div", VS, [
11043
+ function A1(e, t, i, s, n, r) {
11044
+ return M(), N("div", V1, [
10978
11045
  K(e.$slots, "default")
10979
11046
  ], 512);
10980
11047
  }
10981
- const $S = /* @__PURE__ */ D(_S, [["render", AS]]), sl = new G(), LS = {
11048
+ const $1 = /* @__PURE__ */ D(_1, [["render", A1]]), sl = new G(), L1 = {
10982
11049
  name: "QtiTemplateInline",
10983
11050
  props: {
10984
11051
  /*
@@ -11074,16 +11141,16 @@ const $S = /* @__PURE__ */ D(_S, [["render", AS]]), sl = new G(), LS = {
11074
11141
  throw this.isQtiValid = !1, e.name === "QtiValidationException" ? new l(e.message) : e.name === "QtiEvaluationException" ? new k(e.message) : new Error(e.message);
11075
11142
  }
11076
11143
  }
11077
- }, MS = {
11144
+ }, M1 = {
11078
11145
  ref: "root",
11079
11146
  class: "qti-template-inline hidden"
11080
11147
  };
11081
- function RS(e, t, i, s, n, r) {
11082
- return M(), N("div", MS, [
11148
+ function R1(e, t, i, s, n, r) {
11149
+ return M(), N("div", M1, [
11083
11150
  K(e.$slots, "default")
11084
11151
  ], 512);
11085
11152
  }
11086
- const NS = /* @__PURE__ */ D(LS, [["render", RS]]), nl = new G(), qS = {
11153
+ const N1 = /* @__PURE__ */ D(L1, [["render", R1]]), nl = new G(), q1 = {
11087
11154
  name: "QtiTemplateBlock",
11088
11155
  props: {
11089
11156
  /*
@@ -11179,16 +11246,16 @@ const NS = /* @__PURE__ */ D(LS, [["render", RS]]), nl = new G(), qS = {
11179
11246
  throw this.isQtiValid = !1, e.name === "QtiValidationException" ? new l(e.message) : e.name === "QtiEvaluationException" ? new k(e.message) : new Error(e.message);
11180
11247
  }
11181
11248
  }
11182
- }, OS = {
11249
+ }, O1 = {
11183
11250
  ref: "root",
11184
11251
  class: "qti-template-block hidden"
11185
11252
  };
11186
- function PS(e, t, i, s, n, r) {
11187
- return M(), N("div", OS, [
11253
+ function P1(e, t, i, s, n, r) {
11254
+ return M(), N("div", O1, [
11188
11255
  K(e.$slots, "default")
11189
11256
  ], 512);
11190
11257
  }
11191
- const kS = /* @__PURE__ */ D(qS, [["render", PS]]), rl = new G(), DS = {
11258
+ const k1 = /* @__PURE__ */ D(q1, [["render", P1]]), rl = new G(), D1 = {
11192
11259
  name: "QtiFeedbackInline",
11193
11260
  props: {
11194
11261
  /*
@@ -11296,16 +11363,16 @@ const kS = /* @__PURE__ */ D(qS, [["render", PS]]), rl = new G(), DS = {
11296
11363
  throw this.isQtiValid = !1, new l(e.message);
11297
11364
  }
11298
11365
  }
11299
- }, BS = {
11366
+ }, B1 = {
11300
11367
  ref: "root",
11301
11368
  class: "qti-feedback-inline hidden"
11302
11369
  };
11303
- function QS(e, t, i, s, n, r) {
11304
- return M(), N("div", BS, [
11370
+ function Q1(e, t, i, s, n, r) {
11371
+ return M(), N("div", B1, [
11305
11372
  K(e.$slots, "default")
11306
11373
  ], 512);
11307
11374
  }
11308
- const HS = /* @__PURE__ */ D(DS, [["render", QS]]), al = new G(), FS = {
11375
+ const H1 = /* @__PURE__ */ D(D1, [["render", Q1]]), al = new G(), F1 = {
11309
11376
  name: "QtiFeedbackBlock",
11310
11377
  props: {
11311
11378
  /*
@@ -11413,16 +11480,16 @@ const HS = /* @__PURE__ */ D(DS, [["render", QS]]), al = new G(), FS = {
11413
11480
  throw this.isQtiValid = !1, new l(e.message);
11414
11481
  }
11415
11482
  }
11416
- }, US = {
11483
+ }, U1 = {
11417
11484
  ref: "root",
11418
11485
  class: "qti-feedback-block hidden"
11419
11486
  };
11420
- function GS(e, t, i, s, n, r) {
11421
- return M(), N("div", US, [
11487
+ function G1(e, t, i, s, n, r) {
11488
+ return M(), N("div", U1, [
11422
11489
  K(e.$slots, "default")
11423
11490
  ], 512);
11424
11491
  }
11425
- const jS = /* @__PURE__ */ D(FS, [["render", GS]]), WS = new G(), zS = new re(), KS = {
11492
+ const j1 = /* @__PURE__ */ D(F1, [["render", G1]]), W1 = new G(), z1 = new re(), K1 = {
11426
11493
  name: "QtiRubricBlock",
11427
11494
  props: {
11428
11495
  /*
@@ -11493,7 +11560,7 @@ const jS = /* @__PURE__ */ D(FS, [["render", GS]]), WS = new G(), zS = new re(),
11493
11560
  },
11494
11561
  created() {
11495
11562
  try {
11496
- this.rubricBlockContext = zS.computeNodeContext(this), WS.validateRubricBlockViewAttribute(this.view), this.validateChildren();
11563
+ this.rubricBlockContext = z1.computeNodeContext(this), W1.validateRubricBlockViewAttribute(this.view), this.validateChildren();
11497
11564
  } catch (e) {
11498
11565
  throw this.isQtiValid = !1, e.name === "QtiValidationException" ? new l(e.message) : new Error(e.message);
11499
11566
  }
@@ -11510,16 +11577,16 @@ const jS = /* @__PURE__ */ D(FS, [["render", GS]]), WS = new G(), zS = new re(),
11510
11577
  throw this.isQtiValid = !1, new l(e.message);
11511
11578
  }
11512
11579
  }
11513
- }, YS = {
11580
+ }, Y1 = {
11514
11581
  ref: "root",
11515
11582
  class: "qti-rubric-block hidden"
11516
11583
  };
11517
- function XS(e, t, i, s, n, r) {
11518
- return M(), N("div", YS, [
11584
+ function X1(e, t, i, s, n, r) {
11585
+ return M(), N("div", Y1, [
11519
11586
  K(e.$slots, "default")
11520
11587
  ], 512);
11521
11588
  }
11522
- const ZS = /* @__PURE__ */ D(KS, [["render", XS]]);
11589
+ const Z1 = /* @__PURE__ */ D(K1, [["render", X1]]);
11523
11590
  var Hs = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
11524
11591
  function hw(e) {
11525
11592
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
@@ -11527,7 +11594,7 @@ function hw(e) {
11527
11594
  var dw = {}, Tu = {}, fw = {}, xu = {};
11528
11595
  Object.defineProperty(xu, "__esModule", { value: !0 });
11529
11596
  xu.boolean = void 0;
11530
- const JS = function(e) {
11597
+ const J1 = function(e) {
11531
11598
  switch (Object.prototype.toString.call(e)) {
11532
11599
  case "[object String]":
11533
11600
  return ["true", "t", "yes", "y", "on", "1"].includes(e.trim().toLowerCase());
@@ -11539,7 +11606,7 @@ const JS = function(e) {
11539
11606
  return !1;
11540
11607
  }
11541
11608
  };
11542
- xu.boolean = JS;
11609
+ xu.boolean = J1;
11543
11610
  var Su = {};
11544
11611
  Object.defineProperty(Su, "__esModule", { value: !0 });
11545
11612
  Su.isBooleanable = void 0;
@@ -29281,6 +29348,7 @@ const uh = new G(), gl = new re(), jO = {
29281
29348
  baseType: null,
29282
29349
  cardinality: null,
29283
29350
  isValidResponse: !0,
29351
+ invalidResponseMessage: "Input Required",
29284
29352
  isQtiValid: !0,
29285
29353
  hasPrompts: !1,
29286
29354
  pciModuleResolver: null,
@@ -29361,7 +29429,7 @@ const uh = new G(), gl = new re(), jO = {
29361
29429
  * @return {String} custom message
29362
29430
  */
29363
29431
  getInvalidResponseMessage() {
29364
- return "";
29432
+ return this.invalidResponseMessage;
29365
29433
  },
29366
29434
  /**
29367
29435
  * @description Reset this interaction's response and UI.
@@ -29423,31 +29491,6 @@ const uh = new G(), gl = new re(), jO = {
29423
29491
  computeState() {
29424
29492
  return {};
29425
29493
  },
29426
- /**
29427
- * @description The determines an interaction's validity status.
29428
- * @return {Boolean} (true if valid, false if invalid)
29429
- */
29430
- computeIsValid() {
29431
- return !0;
29432
- },
29433
- /**
29434
- * @description Evaluate the interaction's response validity.
29435
- * Update the interaction's validity if there is a change.
29436
- */
29437
- evaluateValidity() {
29438
- const e = this.getIsValid(), t = this.computeIsValid();
29439
- e !== t && this.updateValidity(t);
29440
- },
29441
- /**
29442
- * @description Update the interaction's validity.
29443
- * @param {Boolean} isValid
29444
- */
29445
- updateValidity(e) {
29446
- this.setIsValid(e), S.setInteractionIsValidResponse({
29447
- identifier: this.responseIdentifier,
29448
- isValidResponse: e
29449
- });
29450
- },
29451
29494
  /**
29452
29495
  * @description Basic validation of the children.
29453
29496
  */
@@ -29630,6 +29673,9 @@ const uh = new G(), gl = new re(), jO = {
29630
29673
  let e = gl.valueToPciJson(this.getResponse(), this.baseType, this.cardinality), t = {};
29631
29674
  return t[this.responseIdentifier] = e, t;
29632
29675
  },
29676
+ getAfaPnp() {
29677
+ return S.getItemContextPnp().getAfaPnp();
29678
+ },
29633
29679
  /**
29634
29680
  * @description Build a PciLoadInteraction message payload and send the
29635
29681
  * message to the pciIframe. Optionally, include a priorState in the
@@ -29646,6 +29692,7 @@ const uh = new G(), gl = new re(), jO = {
29646
29692
  contextVariables: this.getContextVariables(),
29647
29693
  stylesheets: this.getStylesheets(),
29648
29694
  catalogInfo: this.getCatalogInfo(),
29695
+ pnp: this.getAfaPnp(),
29649
29696
  module: this.module,
29650
29697
  modules: this.getModules(),
29651
29698
  moduleResolution: this.getConfiguration(),
@@ -29684,12 +29731,39 @@ const uh = new G(), gl = new re(), jO = {
29684
29731
  const t = JSON.parse(e);
29685
29732
  typeof t.response < "u" ? this.setResponse(t.response) : this.setResponse(null), typeof t.state < "u" ? this.setState(t.state) : this.setState(null), this.notifyInteractionStateReady();
29686
29733
  },
29734
+ /**
29735
+ * @description Proxy to update this interaction's validity.
29736
+ * @param {Boolean} isValid
29737
+ */
29738
+ pciUpdateValidity(e) {
29739
+ this.setIsValid(e), S.setInteractionIsValidResponse({
29740
+ identifier: this.responseIdentifier,
29741
+ isValidResponse: e
29742
+ });
29743
+ },
29744
+ /**
29745
+ * @description Proxy to update this interaction's response value.
29746
+ * @param {Object} response
29747
+ */
29748
+ pciUpdateResponse(e) {
29749
+ this.setResponse(e);
29750
+ },
29687
29751
  pciSetReady() {
29688
29752
  this.isReady = !0;
29689
29753
  },
29690
29754
  pciIsReady() {
29691
29755
  return this.pciIframe !== null && this.isReady;
29692
29756
  },
29757
+ pciSetRenderingProperties() {
29758
+ const e = {
29759
+ message: "PciSetRenderingProperties",
29760
+ properties: {
29761
+ pnp: this.getAfaPnp(),
29762
+ status: S.getItemLifecycleStatus()
29763
+ }
29764
+ };
29765
+ this.pciIframe.contentWindow.postMessage(e, "*");
29766
+ },
29693
29767
  /**
29694
29768
  * @description Notify the item that this PCI's state has been retrieved
29695
29769
  * and persisted. Prior to calling this method, be sure to save the
@@ -44908,7 +44982,7 @@ const MH = /* @__PURE__ */ D(AH, [["render", LH]]), RH = new G(), Rl = new Sv(),
44908
44982
  function we(Q) {
44909
44983
  if (typeof Q.components["qti-assessment-item"] < "u") return;
44910
44984
  const Y = Q.app;
44911
- Y.component("qti-assessment-item", h0).component("qti-context-declaration", g0).component("qti-response-declaration", E0).component("qti-outcome-declaration", S0).component("qti-template-declaration", $0).component("qti-template-processing", GD).component("qti-companion-materials-info", f1).component("qti-stylesheet", u1).component("qti-item-body", fS).component("qti-catalog-info", KD).component("qti-response-processing", BD).component("qti-modal-feedback", IS), Y.component("qti-default-value", J1).component("qti-value", lS).component("qti-correct-response", sS).component("qti-mapping", y1).component("qti-map-entry", C1).component("qti-interpolation-table", q1).component("qti-interpolation-table-entry", B1).component("qti-match-table", U1).component("qti-match-table-entry", K1).component("qti-area-mapping", I1).component("qti-area-map-entry", L1), Y.component("qti-content-body", $S).component("qti-template-inline", NS).component("qti-template-block", kS).component("qti-feedback-inline", HS).component("qti-feedback-block", jS).component("qti-rubric-block", ZS).component("qti-printed-variable", lI).component("amp-style", TT).component("amp-audio", QT).component("amp-video", n0).component("qti-choice-interaction", bI).component("qti-end-attempt-interaction", WI).component("qti-extended-text-interaction", Mq).component("qti-text-entry-interaction", Zq).component("qti-inline-choice-interaction", VI).component("qti-match-interaction", nO).component("qti-gap-match-interaction", cO).component("qti-graphic-gap-match-interaction", gO).component("qti-order-interaction", AO).component("qti-hottext-interaction", PO).component("qti-hotspot-interaction", UO).component("qti-media-interaction", xO).component("qti-portable-custom-interaction", ZO).component("qti-select-point-interaction", rP).component("qti-prompt", uP).component("qti-simple-choice", EP).component("ChoiceGroup", pw).component("qti-inline-choice", pP).component("MatchGroup", lk).component("qti-simple-match-set", kP).component("qti-simple-associable-choice", _P).component("qti-associable-hotspot", MP).component("GapMatchGroup", jP).component("GraphicGapMatchGroup", ek).component("MediaGroup", Kb).component("OrderGroup", Hk).component("qti-gap-text", Wk).component("qti-gap-img", Zk).component("qti-gap", iD).component("qti-hottext", oD).component("qti-hotspot-choice", dD).component("qti-interaction-modules", yD).component("qti-interaction-module", ED).component("qti-interaction-markup", SD).component("qti-template-variable", AD).component("qti-context-variable", RD), Y.component("qti-catalog", JD).component("qti-card", sB).component("qti-card-entry", oB).component("qti-html-content", hB).component("qti-file-href", mB), Y.component("qti-response-condition", vB), Y.component("qti-response-processing-fragment", xB), Y.component("qti-set-outcome-value", VB), Y.component("qti-exit-response", MB), Y.component("qti-lookup-outcome-value", OB), Y.component("qti-response-if", BB), Y.component("qti-response-else", UB), Y.component("qti-response-else-if", zB), Y.component("qti-set-template-value", JB), Y.component("qti-template-condition", nQ), Y.component("qti-template-if", lQ), Y.component("qti-template-else", dQ), Y.component("qti-template-else-if", gQ), Y.component("qti-template-constraint", vQ), Y.component("qti-exit-template", xQ), Y.component("qti-set-correct-response", AQ), Y.component("qti-set-default-value", NQ), Y.component("qti-base-value", QQ), Y.component("qti-correct", GQ), Y.component("qti-default", KQ), Y.component("qti-variable", JQ), Y.component("qti-match", s5), Y.component("qti-map-response", o5), Y.component("qti-map-response-point", h5), Y.component("qti-is-null", m5), Y.component("qti-and", b5), Y.component("qti-or", T5), Y.component("qti-not", _5), Y.component("qti-subtract", L5), Y.component("qti-sum", q5), Y.component("qti-random", D5), Y.component("qti-multiple", F5), Y.component("qti-ordered", W5), Y.component("qti-equal", X5), Y.component("qti-equal-rounded", t3), Y.component("qti-field-value", r3), Y.component("qti-random-float", u3), Y.component("qti-random-integer", f3), Y.component("qti-inside", y3), Y.component("qti-integer-divide", E3), Y.component("qti-integer-modulus", S3), Y.component("qti-integer-to-float", A3), Y.component("qti-product", R3), Y.component("qti-index", P3), Y.component("qti-member", Q3), Y.component("qti-delete", G3), Y.component("qti-substring", K3), Y.component("qti-string-match", J3), Y.component("qti-pattern-match", s4), Y.component("qti-round", o4), Y.component("qti-round-to", h4), Y.component("qti-truncate", m4), Y.component("qti-divide", b4), Y.component("qti-gt", T4), Y.component("qti-gte", _4), Y.component("qti-lt", L4), Y.component("qti-lte", q4), Y.component("qti-max", D4), Y.component("qti-min", F4), Y.component("qti-custom-operator", Z4), Y.component("qti-math-operator", iH), Y.component("qti-math-constant", lH), Y.component("qti-repeat", dH), Y.component("qti-stats-operator", gH), Y.component("qti-gcd", vH), Y.component("qti-lcm", xH), Y.component("qti-power", VH), Y.component("qti-any-n", MH);
44985
+ Y.component("qti-assessment-item", h0).component("qti-context-declaration", g0).component("qti-response-declaration", E0).component("qti-outcome-declaration", S0).component("qti-template-declaration", $0).component("qti-template-processing", GD).component("qti-companion-materials-info", fS).component("qti-stylesheet", uS).component("qti-item-body", f1).component("qti-catalog-info", KD).component("qti-response-processing", BD).component("qti-modal-feedback", I1), Y.component("qti-default-value", JS).component("qti-value", l1).component("qti-correct-response", s1).component("qti-mapping", yS).component("qti-map-entry", CS).component("qti-interpolation-table", qS).component("qti-interpolation-table-entry", BS).component("qti-match-table", US).component("qti-match-table-entry", KS).component("qti-area-mapping", IS).component("qti-area-map-entry", LS), Y.component("qti-content-body", $1).component("qti-template-inline", N1).component("qti-template-block", k1).component("qti-feedback-inline", H1).component("qti-feedback-block", j1).component("qti-rubric-block", Z1).component("qti-printed-variable", lI).component("amp-style", TT).component("amp-audio", QT).component("amp-video", n0).component("qti-choice-interaction", bI).component("qti-end-attempt-interaction", WI).component("qti-extended-text-interaction", Mq).component("qti-text-entry-interaction", Zq).component("qti-inline-choice-interaction", VI).component("qti-match-interaction", nO).component("qti-gap-match-interaction", cO).component("qti-graphic-gap-match-interaction", gO).component("qti-order-interaction", AO).component("qti-hottext-interaction", PO).component("qti-hotspot-interaction", UO).component("qti-media-interaction", xO).component("qti-portable-custom-interaction", ZO).component("qti-select-point-interaction", rP).component("qti-prompt", uP).component("qti-simple-choice", EP).component("ChoiceGroup", pw).component("qti-inline-choice", pP).component("MatchGroup", lk).component("qti-simple-match-set", kP).component("qti-simple-associable-choice", _P).component("qti-associable-hotspot", MP).component("GapMatchGroup", jP).component("GraphicGapMatchGroup", ek).component("MediaGroup", Kb).component("OrderGroup", Hk).component("qti-gap-text", Wk).component("qti-gap-img", Zk).component("qti-gap", iD).component("qti-hottext", oD).component("qti-hotspot-choice", dD).component("qti-interaction-modules", yD).component("qti-interaction-module", ED).component("qti-interaction-markup", SD).component("qti-template-variable", AD).component("qti-context-variable", RD), Y.component("qti-catalog", JD).component("qti-card", sB).component("qti-card-entry", oB).component("qti-html-content", hB).component("qti-file-href", mB), Y.component("qti-response-condition", vB), Y.component("qti-response-processing-fragment", xB), Y.component("qti-set-outcome-value", VB), Y.component("qti-exit-response", MB), Y.component("qti-lookup-outcome-value", OB), Y.component("qti-response-if", BB), Y.component("qti-response-else", UB), Y.component("qti-response-else-if", zB), Y.component("qti-set-template-value", JB), Y.component("qti-template-condition", nQ), Y.component("qti-template-if", lQ), Y.component("qti-template-else", dQ), Y.component("qti-template-else-if", gQ), Y.component("qti-template-constraint", vQ), Y.component("qti-exit-template", xQ), Y.component("qti-set-correct-response", AQ), Y.component("qti-set-default-value", NQ), Y.component("qti-base-value", QQ), Y.component("qti-correct", GQ), Y.component("qti-default", KQ), Y.component("qti-variable", JQ), Y.component("qti-match", s5), Y.component("qti-map-response", o5), Y.component("qti-map-response-point", h5), Y.component("qti-is-null", m5), Y.component("qti-and", b5), Y.component("qti-or", T5), Y.component("qti-not", _5), Y.component("qti-subtract", L5), Y.component("qti-sum", q5), Y.component("qti-random", D5), Y.component("qti-multiple", F5), Y.component("qti-ordered", W5), Y.component("qti-equal", X5), Y.component("qti-equal-rounded", t3), Y.component("qti-field-value", r3), Y.component("qti-random-float", u3), Y.component("qti-random-integer", f3), Y.component("qti-inside", y3), Y.component("qti-integer-divide", E3), Y.component("qti-integer-modulus", S3), Y.component("qti-integer-to-float", A3), Y.component("qti-product", R3), Y.component("qti-index", P3), Y.component("qti-member", Q3), Y.component("qti-delete", G3), Y.component("qti-substring", K3), Y.component("qti-string-match", J3), Y.component("qti-pattern-match", s4), Y.component("qti-round", o4), Y.component("qti-round-to", h4), Y.component("qti-truncate", m4), Y.component("qti-divide", b4), Y.component("qti-gt", T4), Y.component("qti-gte", _4), Y.component("qti-lt", L4), Y.component("qti-lte", q4), Y.component("qti-max", D4), Y.component("qti-min", F4), Y.component("qti-custom-operator", Z4), Y.component("qti-math-operator", iH), Y.component("qti-math-constant", lH), Y.component("qti-repeat", dH), Y.component("qti-stats-operator", gH), Y.component("qti-gcd", vH), Y.component("qti-lcm", xH), Y.component("qti-power", VH), Y.component("qti-any-n", MH);
44912
44986
  }
44913
44987
  function xe() {
44914
44988
  vv(() => {