@pie-element/explicit-constructed-response 11.1.2-next.3 → 11.1.2-next.31

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 (61) hide show
  1. package/author.js +2 -0
  2. package/dist/author/alternateResponses.js +2 -2
  3. package/dist/author/alternateSection.js +34 -33
  4. package/dist/author/defaults.js +1 -1
  5. package/dist/author/ecr-toolbar.js +1 -1
  6. package/dist/author/index.d.ts +1 -0
  7. package/dist/author/index.js +5 -2
  8. package/dist/author/main.js +3 -3
  9. package/dist/author/markupUtils.js +1 -1
  10. package/dist/browser/assets/Symbola-4c507403.woff2 +0 -0
  11. package/dist/browser/author/index.js +15 -12
  12. package/dist/browser/author/index.js.map +1 -1
  13. package/dist/browser/{browser-BC3WygxE.js → browser-xPiwYICU.js} +6 -2
  14. package/dist/browser/browser-xPiwYICU.js.map +1 -0
  15. package/dist/browser/controller/index.js +5 -5
  16. package/dist/browser/controller/index.js.map +1 -1
  17. package/dist/browser/delivery/index.js +71 -11
  18. package/dist/browser/delivery/index.js.map +1 -1
  19. package/dist/browser/dist-BS-FasHI.js +41122 -0
  20. package/dist/browser/dist-BS-FasHI.js.map +1 -0
  21. package/dist/browser/{dist-D9ARZhQk.js → dist-DCmVXYeO.js} +109 -7
  22. package/dist/browser/dist-DCmVXYeO.js.map +1 -0
  23. package/dist/browser/editor-runtime/assets/Symbola-4c507403.woff2 +0 -0
  24. package/dist/browser/editor-runtime/author/index.js +3381 -0
  25. package/dist/browser/editor-runtime/author/index.js.map +1 -0
  26. package/dist/browser/editor-runtime/browser-Dj-HJ-qm.js +364 -0
  27. package/dist/browser/editor-runtime/browser-Dj-HJ-qm.js.map +1 -0
  28. package/dist/browser/editor-runtime/controller/index.js +4152 -0
  29. package/dist/browser/editor-runtime/controller/index.js.map +1 -0
  30. package/dist/browser/editor-runtime/delivery/index.js +156 -0
  31. package/dist/browser/editor-runtime/delivery/index.js.map +1 -0
  32. package/dist/browser/editor-runtime/dist-DCmVXYeO.js +1528 -0
  33. package/dist/browser/editor-runtime/dist-DCmVXYeO.js.map +1 -0
  34. package/dist/browser/editor-runtime/dist-DQJ9JiLG.js +24713 -0
  35. package/dist/browser/editor-runtime/dist-DQJ9JiLG.js.map +1 -0
  36. package/dist/browser/{main-Cek7SQzj.js → editor-runtime/main-C1bVJQRL.js} +250 -255
  37. package/dist/browser/editor-runtime/main-C1bVJQRL.js.map +1 -0
  38. package/dist/browser/editor-runtime/print/index.js +42 -0
  39. package/dist/browser/editor-runtime/print/index.js.map +1 -0
  40. package/dist/browser/main-ATRnthrr.js +954 -0
  41. package/dist/browser/main-ATRnthrr.js.map +1 -0
  42. package/dist/browser/print/index.js +7 -5
  43. package/dist/browser/print/index.js.map +1 -1
  44. package/dist/controller/defaults.js +1 -1
  45. package/dist/controller/index.d.ts +1 -1
  46. package/dist/controller/index.js +1 -1
  47. package/dist/delivery/index.js +19 -9
  48. package/dist/delivery/main.d.ts +0 -2
  49. package/dist/delivery/main.js +36 -38
  50. package/dist/index.iife.js +102 -146
  51. package/dist/print/index.js +5 -3
  52. package/module/assets/Symbola-4c507403.woff2 +0 -0
  53. package/{dist/browser/dist-DGLbICOs.js → module/print.js} +41064 -42848
  54. package/module/print.js.map +1 -0
  55. package/package.json +45 -28
  56. package/print.js +2 -0
  57. package/dist/browser/browser-BC3WygxE.js.map +0 -1
  58. package/dist/browser/dist-D9ARZhQk.js.map +0 -1
  59. package/dist/browser/dist-DGLbICOs.js.map +0 -1
  60. package/dist/browser/explicit-constructed-response.css +0 -2
  61. package/dist/browser/main-Cek7SQzj.js.map +0 -1
@@ -1,9 +1,59 @@
1
- import { at as e } from "../dist-DGLbICOs.js";
2
- import { t } from "../main-Cek7SQzj.js";
1
+ import { at as e } from "../dist-BS-FasHI.js";
2
+ import { t } from "../main-ATRnthrr.js";
3
3
  import n from "react";
4
4
  import { createRoot as r } from "react-dom/client";
5
5
  //#region ../../shared/player-events/dist/index.js
6
- var i = class e extends CustomEvent {
6
+ var i = "commitPendingSession", a = /* @__PURE__ */ new WeakMap();
7
+ function o(e, t) {
8
+ let n = a.get(e);
9
+ n || (n = /* @__PURE__ */ new Set(), a.set(e, n)), n.add(t);
10
+ }
11
+ function s(e) {
12
+ return Object.getOwnPropertyDescriptor(e, i) !== void 0;
13
+ }
14
+ function c(e) {
15
+ if (s(e)) return;
16
+ let t = e[i];
17
+ Object.defineProperty(e, i, {
18
+ value: () => {
19
+ if (typeof t == "function") try {
20
+ t.call(e);
21
+ } catch {}
22
+ u(e);
23
+ },
24
+ configurable: !0,
25
+ enumerable: !1,
26
+ writable: !0
27
+ });
28
+ }
29
+ function l(e, t, n = {}) {
30
+ let r = n.delayMs, i = typeof r == "function" ? r : () => r ?? 0, a = n.maxWaitMs, s = null, l = null, u = !1, d = () => {
31
+ s !== null && (clearTimeout(s), s = null), l !== null && (clearTimeout(l), l = null);
32
+ }, f = () => {
33
+ d(), u && (u = !1, t());
34
+ }, p = {
35
+ notify() {
36
+ u = !0, s !== null && clearTimeout(s), s = setTimeout(f, Math.max(0, i())), a !== void 0 && l === null && (l = setTimeout(f, Math.max(0, a)));
37
+ },
38
+ flush() {
39
+ if (!u) {
40
+ d();
41
+ return;
42
+ }
43
+ try {
44
+ f();
45
+ } catch (e) {
46
+ console.warn("[session-notifier] a committed session-changed dispatch threw", e);
47
+ }
48
+ }
49
+ };
50
+ return o(e, p), c(e), p;
51
+ }
52
+ function u(e) {
53
+ let t = a.get(e);
54
+ if (t) for (let e of [...t]) e.flush();
55
+ }
56
+ var d = class e extends CustomEvent {
7
57
  static {
8
58
  this.TYPE = "model-set";
9
59
  }
@@ -18,7 +68,7 @@ var i = class e extends CustomEvent {
18
68
  }
19
69
  }), this.component = t, this.complete = n;
20
70
  }
21
- }, a = class e extends CustomEvent {
71
+ }, f = class e extends CustomEvent {
22
72
  static {
23
73
  this.TYPE = "session-changed";
24
74
  }
@@ -32,16 +82,26 @@ var i = class e extends CustomEvent {
32
82
  }
33
83
  }), this.component = t, this.complete = n;
34
84
  }
35
- }, o = class extends HTMLElement {
85
+ }, p = 200;
86
+ function m(e) {
87
+ let t = e && e.maxLengthPerChoice;
88
+ return Array.isArray(t) && t.length > 0 && t.every((e) => e === 1) ? 0 : p;
89
+ }
90
+ var h = class extends HTMLElement {
36
91
  constructor() {
37
- super(), this._model = null, this._session = null, this._root = null;
92
+ super(), this._model = null, this._session = null, this._root = null, this._sessionNotifier = l(this, () => {
93
+ this.dispatchChangedEvent(), this._render();
94
+ }, {
95
+ delayMs: () => m(this._model),
96
+ maxWaitMs: p
97
+ });
38
98
  }
39
99
  setLangAttribute() {
40
100
  let e = this._model && typeof this._model.language ? this._model.language : "", t = e ? e.slice(0, 2) : "en";
41
101
  this.setAttribute("lang", t);
42
102
  }
43
103
  set model(e) {
44
- this._model = e, this.dispatchEvent(new i(this.tagName.toLowerCase(), this.session && !!this.session.value, !!this._model)), this.setLangAttribute(), this._render();
104
+ this._model = e, this.dispatchEvent(new d(this.tagName.toLowerCase(), this.session && !!this.session.value, !!this._model)), this.setLangAttribute(), this._render();
45
105
  }
46
106
  set session(e) {
47
107
  this._session = e, this._render();
@@ -78,19 +138,19 @@ var i = class e extends CustomEvent {
78
138
  }
79
139
  };
80
140
  dispatchChangedEvent = () => {
81
- this.dispatchEvent(new a(this.tagName.toLowerCase(), this.session && !!this.session.value));
141
+ this.dispatchEvent(new f(this.tagName.toLowerCase(), this.session && !!this.session.value));
82
142
  };
83
143
  changeSession = (e) => {
84
- this.session.value = e, this.dispatchChangedEvent(), this._render();
144
+ this.session.value = e, this._sessionNotifier.notify();
85
145
  };
86
146
  connectedCallback() {
87
147
  this.setAttribute("aria-label", "Fill in the Blank Question"), this.setAttribute("role", "region"), this._render();
88
148
  }
89
149
  disconnectedCallback() {
90
- this._root && this._root.unmount();
150
+ u(this), this._root &&= (this._root.unmount(), null);
91
151
  }
92
152
  };
93
153
  //#endregion
94
- export { o as default };
154
+ export { h as default };
95
155
 
96
156
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../shared/player-events/dist/index.js","../../../src/delivery/index.ts"],"sourcesContent":["//#region src/index.ts\nvar e = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"model-set\";\n\t}\n\tconstructor(t, n, r) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t,\n\t\t\t\thasModel: r\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n}, t = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"session-changed\";\n\t}\n\tconstructor(t, n) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n};\n//#endregion\nexport { e as ModelSetEvent, t as SessionChangedEvent };\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/explicit-constructed-response/src/index.js\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { ModelSetEvent, SessionChangedEvent } from '@pie-element/shared-player-events';\nimport { renderMath } from '@pie-element/shared-math-rendering-mathjax';\n\nimport Main from './main.js';\n\nexport default class InlineDropdown extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = null;\n this._root = null;\n }\n\n setLangAttribute() {\n const language = this._model && typeof this._model.language ? this._model.language : '';\n const lang = language ? language.slice(0, 2) : 'en';\n this.setAttribute('lang', lang);\n }\n\n set model(m) {\n this._model = m;\n this.dispatchEvent(\n new ModelSetEvent(this.tagName.toLowerCase(), this.session && !!this.session.value, !!this._model),\n );\n this.setLangAttribute();\n\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n _render: any = () => {\n if (this._model && this._session) {\n let elem = React.createElement(Main, {\n choices: this._model.choices,\n disabled: this._model.disabled,\n displayType: this._model.displayType,\n feedback: this._model.feedback,\n language: this._model.language,\n markup: this._model.markup,\n maxLengthPerChoice: this._model.maxLengthPerChoice,\n maxLengthPerChoiceEnabled: this._model.maxLengthPerChoiceEnabled,\n mode: this._model.mode,\n note: this._model.note,\n onChange: this.changeSession,\n playerSpellCheckEnabled: this._model.playerSpellCheckEnabled,\n prompt: this._model.prompt,\n rationale: this._model.rationale,\n role: this._model.role,\n showNote: this._model.showNote,\n teacherInstructions: this._model.teacherInstructions,\n value: this._session.value,\n responseAreaInputConfiguration: this._model.responseAreaInputConfiguration,\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(elem);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n };\n\n dispatchChangedEvent: any = () => {\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.session && !!this.session.value));\n };\n\n changeSession: any = (value) => {\n this.session.value = value;\n this.dispatchChangedEvent();\n this._render();\n };\n\n connectedCallback() {\n this.setAttribute('aria-label', 'Fill in the Blank Question');\n this.setAttribute('role', 'region');\n\n this._render();\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":";;;;;AACA,IAAI,IAAI,MAAM,UAAU,YAAY;CACnC;EACC,KAAK,OAAO;CACb;CACA,YAAY,GAAG,GAAG,GAAG;EACpB,MAAM,EAAE,MAAM;GACb,SAAS,CAAC;GACV,UAAU,CAAC;GACX,QAAQ;IACP,UAAU;IACV,WAAW;IACX,UAAU;GACX;EACD,CAAC,GAAG,KAAK,YAAY,GAAG,KAAK,WAAW;CACzC;AACD,GAAG,IAAI,MAAM,UAAU,YAAY;CAClC;EACC,KAAK,OAAO;CACb;CACA,YAAY,GAAG,GAAG;EACjB,MAAM,EAAE,MAAM;GACb,SAAS,CAAC;GACV,UAAU,CAAC;GACX,QAAQ;IACP,UAAU;IACV,WAAW;GACZ;EACD,CAAC,GAAG,KAAK,YAAY,GAAG,KAAK,WAAW;CACzC;AACD,GCbqB,IAArB,cAA4C,YAAY;CACtD,cAAc;EAIZ,AAHA,MAAM,GACN,KAAK,SAAS,MACd,KAAK,WAAW,MAChB,KAAK,QAAQ;CACf;CAEA,mBAAmB;EACjB,IAAM,IAAW,KAAK,UAAU,OAAO,KAAK,OAAO,WAAW,KAAK,OAAO,WAAW,IAC/E,IAAO,IAAW,EAAS,MAAM,GAAG,CAAC,IAAI;EAC/C,KAAK,aAAa,QAAQ,CAAI;CAChC;CAEA,IAAI,MAAM,GAAG;EAOX,AANA,KAAK,SAAS,GACd,KAAK,cACH,IAAI,EAAc,KAAK,QAAQ,YAAY,GAAG,KAAK,WAAW,CAAC,CAAC,KAAK,QAAQ,OAAO,CAAC,CAAC,KAAK,MAAM,CACnG,GACA,KAAK,iBAAiB,GAEtB,KAAK,QAAQ;CACf;CAEA,IAAI,QAAQ,GAAG;EAEb,AADA,KAAK,WAAW,GAChB,KAAK,QAAQ;CACf;CAEA,IAAI,UAAU;EACZ,OAAO,KAAK;CACd;CAEA,gBAAqB;EACnB,IAAI,KAAK,UAAU,KAAK,UAAU;GAChC,IAAI,IAAO,EAAM,cAAc,GAAM;IACnC,SAAS,KAAK,OAAO;IACrB,UAAU,KAAK,OAAO;IACtB,aAAa,KAAK,OAAO;IACzB,UAAU,KAAK,OAAO;IACtB,UAAU,KAAK,OAAO;IACtB,QAAQ,KAAK,OAAO;IACpB,oBAAoB,KAAK,OAAO;IAChC,2BAA2B,KAAK,OAAO;IACvC,MAAM,KAAK,OAAO;IAClB,MAAM,KAAK,OAAO;IAClB,UAAU,KAAK;IACf,yBAAyB,KAAK,OAAO;IACrC,QAAQ,KAAK,OAAO;IACpB,WAAW,KAAK,OAAO;IACvB,MAAM,KAAK,OAAO;IAClB,UAAU,KAAK,OAAO;IACtB,qBAAqB,KAAK,OAAO;IACjC,OAAO,KAAK,SAAS;IACrB,gCAAgC,KAAK,OAAO;GAC9C,CAAC;GAMD,AAJA,AACE,KAAK,UAAQ,EAAW,IAAI,GAE9B,KAAK,MAAM,OAAO,CAAI,GACtB,qBAAqB;IACnB,EAAW,IAAI;GACjB,CAAC;EACH;CACF;CAEA,6BAAkC;EAChC,KAAK,cAAc,IAAI,EAAoB,KAAK,QAAQ,YAAY,GAAG,KAAK,WAAW,CAAC,CAAC,KAAK,QAAQ,KAAK,CAAC;CAC9G;CAEA,iBAAsB,MAAU;EAG9B,AAFA,KAAK,QAAQ,QAAQ,GACrB,KAAK,qBAAqB,GAC1B,KAAK,QAAQ;CACf;CAEA,oBAAoB;EAIlB,AAHA,KAAK,aAAa,cAAc,4BAA4B,GAC5D,KAAK,aAAa,QAAQ,QAAQ,GAElC,KAAK,QAAQ;CACf;CAEA,uBAAuB;EACrB,AAAI,KAAK,SACP,KAAK,MAAM,QAAQ;CAEvB;AACF"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../shared/player-events/dist/index.js","../../../src/delivery/index.ts"],"sourcesContent":["//#region src/session-notifier.ts\nvar e = \"commitPendingSession\", t = /* @__PURE__ */ new WeakMap();\nfunction n(e, n) {\n\tlet r = t.get(e);\n\tr || (r = /* @__PURE__ */ new Set(), t.set(e, r)), r.add(n);\n}\nfunction r(t) {\n\treturn Object.getOwnPropertyDescriptor(t, e) !== void 0;\n}\nfunction i(t) {\n\tif (r(t)) return;\n\tlet n = t[e];\n\tObject.defineProperty(t, e, {\n\t\tvalue: () => {\n\t\t\tif (typeof n == \"function\") try {\n\t\t\t\tn.call(t);\n\t\t\t} catch {}\n\t\t\to(t);\n\t\t},\n\t\tconfigurable: !0,\n\t\tenumerable: !1,\n\t\twritable: !0\n\t});\n}\nfunction a(e, t, r = {}) {\n\tlet a = r.delayMs, o = typeof a == \"function\" ? a : () => a ?? 0, s = r.maxWaitMs, c = null, l = null, u = !1, d = () => {\n\t\tc !== null && (clearTimeout(c), c = null), l !== null && (clearTimeout(l), l = null);\n\t}, f = () => {\n\t\td(), u && (u = !1, t());\n\t}, p = {\n\t\tnotify() {\n\t\t\tu = !0, c !== null && clearTimeout(c), c = setTimeout(f, Math.max(0, o())), s !== void 0 && l === null && (l = setTimeout(f, Math.max(0, s)));\n\t\t},\n\t\tflush() {\n\t\t\tif (!u) {\n\t\t\t\td();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tf();\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(\"[session-notifier] a committed session-changed dispatch threw\", e);\n\t\t\t}\n\t\t}\n\t};\n\treturn n(e, p), i(e), p;\n}\nfunction o(e) {\n\tlet n = t.get(e);\n\tif (n) for (let e of [...n]) e.flush();\n}\n//#endregion\n//#region src/index.ts\nvar s = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"model-set\";\n\t}\n\tconstructor(t, n, r) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t,\n\t\t\t\thasModel: r\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n}, c = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"session-changed\";\n\t}\n\tconstructor(t, n) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n};\n//#endregion\nexport { s as ModelSetEvent, e as SESSION_COMMIT_METHOD, c as SessionChangedEvent, a as createSessionNotifier, o as flushSessionNotifiers };\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/explicit-constructed-response/src/index.js\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport {\n ModelSetEvent,\n SessionChangedEvent,\n createSessionNotifier,\n flushSessionNotifiers,\n} from '@pie-element/shared-player-events';\nimport { renderMath } from '@pie-element/shared-math-rendering-mathjax';\n\nimport Main from './main.js';\n\nconst SESSION_NOTIFY_DELAY_MS = 200;\n\n// Every blank capped at one character means each keystroke is a whole response,\n// so there is nothing to coalesce and the dispatch goes out on the next tick.\nfunction notifyDelayForModel(model) {\n const lengths = model && model.maxLengthPerChoice;\n const singleCharacterBlanks =\n Array.isArray(lengths) && lengths.length > 0 && lengths.every((length) => length === 1);\n return singleCharacterBlanks ? 0 : SESSION_NOTIFY_DELAY_MS;\n}\n\nexport default class InlineDropdown extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = null;\n this._root = null;\n\n // The session is written synchronously on commit; the dispatch and the\n // re-render are what get coalesced, which keeps the render cadence the\n // value-path debounce used to set while leaving `.session` readable at any\n // point. `disconnectedCallback` flushes what is still pending.\n this._sessionNotifier = createSessionNotifier(\n this,\n () => {\n this.dispatchChangedEvent();\n this._render();\n },\n { delayMs: () => notifyDelayForModel(this._model), maxWaitMs: SESSION_NOTIFY_DELAY_MS },\n );\n }\n\n setLangAttribute() {\n const language = this._model && typeof this._model.language ? this._model.language : '';\n const lang = language ? language.slice(0, 2) : 'en';\n this.setAttribute('lang', lang);\n }\n\n set model(m) {\n this._model = m;\n this.dispatchEvent(\n new ModelSetEvent(this.tagName.toLowerCase(), this.session && !!this.session.value, !!this._model),\n );\n this.setLangAttribute();\n\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n _render: any = () => {\n if (this._model && this._session) {\n let elem = React.createElement(Main, {\n choices: this._model.choices,\n disabled: this._model.disabled,\n displayType: this._model.displayType,\n feedback: this._model.feedback,\n language: this._model.language,\n markup: this._model.markup,\n maxLengthPerChoice: this._model.maxLengthPerChoice,\n maxLengthPerChoiceEnabled: this._model.maxLengthPerChoiceEnabled,\n mode: this._model.mode,\n note: this._model.note,\n onChange: this.changeSession,\n playerSpellCheckEnabled: this._model.playerSpellCheckEnabled,\n prompt: this._model.prompt,\n rationale: this._model.rationale,\n role: this._model.role,\n showNote: this._model.showNote,\n teacherInstructions: this._model.teacherInstructions,\n value: this._session.value,\n responseAreaInputConfiguration: this._model.responseAreaInputConfiguration,\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(elem);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n };\n\n dispatchChangedEvent: any = () => {\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.session && !!this.session.value));\n };\n\n changeSession: any = (value) => {\n this.session.value = value;\n this._sessionNotifier.notify();\n };\n\n connectedCallback() {\n this.setAttribute('aria-label', 'Fill in the Blank Question');\n this.setAttribute('role', 'region');\n\n this._render();\n }\n\n disconnectedCallback() {\n flushSessionNotifiers(this);\n\n if (this._root) {\n this._root.unmount();\n this._root = null;\n }\n }\n}\n"],"mappings":";;;;;AACA,IAAI,IAAI,wBAAwB,oBAAoB,IAAI,QAAQ;AAChE,SAAS,EAAE,GAAG,GAAG;CAChB,IAAI,IAAI,EAAE,IAAI,CAAC;CACf,MAAM,oBAAoB,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAC3D;AACA,SAAS,EAAE,GAAG;CACb,OAAO,OAAO,yBAAyB,GAAG,CAAC,MAAM,KAAK;AACvD;AACA,SAAS,EAAE,GAAG;CACb,IAAI,EAAE,CAAC,GAAG;CACV,IAAI,IAAI,EAAE;CACV,OAAO,eAAe,GAAG,GAAG;EAC3B,aAAa;GACZ,IAAI,OAAO,KAAK,YAAY,IAAI;IAC/B,EAAE,KAAK,CAAC;GACT,QAAQ,CAAC;GACT,EAAE,CAAC;EACJ;EACA,cAAc,CAAC;EACf,YAAY,CAAC;EACb,UAAU,CAAC;CACZ,CAAC;AACF;AACA,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG;CACxB,IAAI,IAAI,EAAE,SAAS,IAAI,OAAO,KAAK,aAAa,UAAU,KAAK,GAAG,IAAI,EAAE,WAAW,IAAI,MAAM,IAAI,MAAM,IAAI,CAAC,GAAG,UAAU;EACxH,MAAM,SAAS,aAAa,CAAC,GAAG,IAAI,OAAO,MAAM,SAAS,aAAa,CAAC,GAAG,IAAI;CAChF,GAAG,UAAU;EACZ,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE;CACtB,GAAG,IAAI;EACN,SAAS;GACR,IAAI,CAAC,GAAG,MAAM,QAAQ,aAAa,CAAC,GAAG,IAAI,WAAW,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,MAAM,KAAK,KAAK,MAAM,SAAS,IAAI,WAAW,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC;EAC5I;EACA,QAAQ;GACP,IAAI,CAAC,GAAG;IACP,EAAE;IACF;GACD;GACA,IAAI;IACH,EAAE;GACH,SAAS,GAAG;IACX,QAAQ,KAAK,iEAAiE,CAAC;GAChF;EACD;CACD;CACA,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG;AACvB;AACA,SAAS,EAAE,GAAG;CACb,IAAI,IAAI,EAAE,IAAI,CAAC;CACf,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM;AACtC;AAGA,IAAI,IAAI,MAAM,UAAU,YAAY;CACnC;EACC,KAAK,OAAO;CACb;CACA,YAAY,GAAG,GAAG,GAAG;EACpB,MAAM,EAAE,MAAM;GACb,SAAS,CAAC;GACV,UAAU,CAAC;GACX,QAAQ;IACP,UAAU;IACV,WAAW;IACX,UAAU;GACX;EACD,CAAC,GAAG,KAAK,YAAY,GAAG,KAAK,WAAW;CACzC;AACD,GAAG,IAAI,MAAM,UAAU,YAAY;CAClC;EACC,KAAK,OAAO;CACb;CACA,YAAY,GAAG,GAAG;EACjB,MAAM,EAAE,MAAM;GACb,SAAS,CAAC;GACV,UAAU,CAAC;GACX,QAAQ;IACP,UAAU;IACV,WAAW;GACZ;EACD,CAAC,GAAG,KAAK,YAAY,GAAG,KAAK,WAAW;CACzC;AACD,GC5DM,IAA0B;AAIhC,SAAS,EAAoB,GAAO;CAClC,IAAM,IAAU,KAAS,EAAM;CAG/B,OADE,MAAM,QAAQ,CAAO,KAAK,EAAQ,SAAS,KAAK,EAAQ,OAAO,MAAW,MAAW,CAAC,IACzD,IAAI;AACrC;AAEA,IAAqB,IAArB,cAA4C,YAAY;CACtD,cAAc;EAUZ,AATA,MAAM,GACN,KAAK,SAAS,MACd,KAAK,WAAW,MAChB,KAAK,QAAQ,MAMb,KAAK,mBAAmB,EACtB,YACM;GAEJ,AADA,KAAK,qBAAqB,GAC1B,KAAK,QAAQ;EACf,GACA;GAAE,eAAe,EAAoB,KAAK,MAAM;GAAG,WAAW;EAAwB,CACxF;CACF;CAEA,mBAAmB;EACjB,IAAM,IAAW,KAAK,UAAU,OAAO,KAAK,OAAO,WAAW,KAAK,OAAO,WAAW,IAC/E,IAAO,IAAW,EAAS,MAAM,GAAG,CAAC,IAAI;EAC/C,KAAK,aAAa,QAAQ,CAAI;CAChC;CAEA,IAAI,MAAM,GAAG;EAOX,AANA,KAAK,SAAS,GACd,KAAK,cACH,IAAI,EAAc,KAAK,QAAQ,YAAY,GAAG,KAAK,WAAW,CAAC,CAAC,KAAK,QAAQ,OAAO,CAAC,CAAC,KAAK,MAAM,CACnG,GACA,KAAK,iBAAiB,GAEtB,KAAK,QAAQ;CACf;CAEA,IAAI,QAAQ,GAAG;EAEb,AADA,KAAK,WAAW,GAChB,KAAK,QAAQ;CACf;CAEA,IAAI,UAAU;EACZ,OAAO,KAAK;CACd;CAEA,gBAAqB;EACnB,IAAI,KAAK,UAAU,KAAK,UAAU;GAChC,IAAI,IAAO,EAAM,cAAc,GAAM;IACnC,SAAS,KAAK,OAAO;IACrB,UAAU,KAAK,OAAO;IACtB,aAAa,KAAK,OAAO;IACzB,UAAU,KAAK,OAAO;IACtB,UAAU,KAAK,OAAO;IACtB,QAAQ,KAAK,OAAO;IACpB,oBAAoB,KAAK,OAAO;IAChC,2BAA2B,KAAK,OAAO;IACvC,MAAM,KAAK,OAAO;IAClB,MAAM,KAAK,OAAO;IAClB,UAAU,KAAK;IACf,yBAAyB,KAAK,OAAO;IACrC,QAAQ,KAAK,OAAO;IACpB,WAAW,KAAK,OAAO;IACvB,MAAM,KAAK,OAAO;IAClB,UAAU,KAAK,OAAO;IACtB,qBAAqB,KAAK,OAAO;IACjC,OAAO,KAAK,SAAS;IACrB,gCAAgC,KAAK,OAAO;GAC9C,CAAC;GAMD,AAJA,AACE,KAAK,UAAQ,EAAW,IAAI,GAE9B,KAAK,MAAM,OAAO,CAAI,GACtB,qBAAqB;IACnB,EAAW,IAAI;GACjB,CAAC;EACH;CACF;CAEA,6BAAkC;EAChC,KAAK,cAAc,IAAI,EAAoB,KAAK,QAAQ,YAAY,GAAG,KAAK,WAAW,CAAC,CAAC,KAAK,QAAQ,KAAK,CAAC;CAC9G;CAEA,iBAAsB,MAAU;EAE9B,AADA,KAAK,QAAQ,QAAQ,GACrB,KAAK,iBAAiB,OAAO;CAC/B;CAEA,oBAAoB;EAIlB,AAHA,KAAK,aAAa,cAAc,4BAA4B,GAC5D,KAAK,aAAa,QAAQ,QAAQ,GAElC,KAAK,QAAQ;CACf;CAEA,uBAAuB;EAGrB,AAFA,EAAsB,IAAI,GAE1B,AAEE,KAAK,WADL,KAAK,MAAM,QAAQ,GACN;CAEjB;AACF"}