@pie-element/math-inline 12.1.1-next.29 → 12.1.1-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 (123) hide show
  1. package/author.js +2 -0
  2. package/configure.js +2 -0
  3. package/controller.js +1 -0
  4. package/dist/author/configure.d.ts +25 -0
  5. package/dist/author/configure.js +114 -0
  6. package/dist/author/defaults.d.ts +186 -0
  7. package/dist/author/defaults.js +145 -0
  8. package/dist/author/general-config-block.d.ts +35 -0
  9. package/dist/author/general-config-block.js +390 -0
  10. package/dist/author/index.d.ts +61 -0
  11. package/dist/author/index.js +80 -0
  12. package/dist/author/response.d.ts +40 -0
  13. package/dist/author/response.js +238 -0
  14. package/dist/author/utils.d.ts +14 -0
  15. package/dist/author/utils.js +13 -0
  16. package/dist/browser/assets/Symbola-4c507403.woff2 +0 -0
  17. package/dist/browser/author/index.js +28211 -0
  18. package/dist/browser/author/index.js.map +1 -0
  19. package/dist/browser/controller/index.js +37791 -0
  20. package/dist/browser/controller/index.js.map +1 -0
  21. package/dist/browser/delivery/index.js +134 -0
  22. package/dist/browser/delivery/index.js.map +1 -0
  23. package/dist/browser/dist--pvq7WNe.js +324 -0
  24. package/dist/browser/dist--pvq7WNe.js.map +1 -0
  25. package/dist/browser/dist-BvAYH2DS.js +16774 -0
  26. package/dist/browser/dist-BvAYH2DS.js.map +1 -0
  27. package/dist/browser/dist-DCmVXYeO.js +1528 -0
  28. package/dist/browser/dist-DCmVXYeO.js.map +1 -0
  29. package/dist/browser/editor-runtime/assets/Symbola-4c507403.woff2 +0 -0
  30. package/dist/browser/editor-runtime/author/index.js +11825 -0
  31. package/dist/browser/editor-runtime/author/index.js.map +1 -0
  32. package/dist/browser/editor-runtime/controller/index.js +37791 -0
  33. package/dist/browser/editor-runtime/controller/index.js.map +1 -0
  34. package/dist/browser/editor-runtime/delivery/index.js +134 -0
  35. package/dist/browser/editor-runtime/delivery/index.js.map +1 -0
  36. package/dist/browser/editor-runtime/dist-CXnCisyf.js +16774 -0
  37. package/dist/browser/editor-runtime/dist-CXnCisyf.js.map +1 -0
  38. package/dist/browser/editor-runtime/dist-CiHbVK7d.js +324 -0
  39. package/dist/browser/editor-runtime/dist-CiHbVK7d.js.map +1 -0
  40. package/dist/browser/editor-runtime/dist-DCmVXYeO.js +1528 -0
  41. package/dist/browser/editor-runtime/dist-DCmVXYeO.js.map +1 -0
  42. package/dist/browser/editor-runtime/main-BvCDVTbt.js +973 -0
  43. package/dist/browser/editor-runtime/main-BvCDVTbt.js.map +1 -0
  44. package/dist/browser/editor-runtime/print/index.js +50 -0
  45. package/dist/browser/editor-runtime/print/index.js.map +1 -0
  46. package/dist/browser/main-CmzEG2JL.js +973 -0
  47. package/dist/browser/main-CmzEG2JL.js.map +1 -0
  48. package/dist/browser/print/index.js +50 -0
  49. package/dist/browser/print/index.js.map +1 -0
  50. package/dist/controller/defaults.d.ts +44 -0
  51. package/dist/controller/defaults.js +39 -0
  52. package/dist/controller/index.d.ts +22 -0
  53. package/dist/controller/index.js +171 -0
  54. package/dist/controller/utils.d.ts +12 -0
  55. package/dist/controller/utils.js +7 -0
  56. package/dist/delivery/index.d.ts +22 -0
  57. package/dist/delivery/index.js +54 -0
  58. package/dist/delivery/main.d.ts +44 -0
  59. package/dist/delivery/main.js +606 -0
  60. package/dist/delivery/simple-question-block.d.ts +27 -0
  61. package/dist/delivery/simple-question-block.js +94 -0
  62. package/dist/delivery/utils.d.ts +12 -0
  63. package/dist/delivery/utils.js +7 -0
  64. package/dist/index.d.ts +1 -0
  65. package/dist/index.iife.d.ts +8 -0
  66. package/dist/index.iife.js +224 -0
  67. package/dist/index.js +2 -0
  68. package/dist/math-inline.css +2 -0
  69. package/dist/print/index.d.ts +15 -0
  70. package/dist/print/index.js +50 -0
  71. package/dist/runtime-support.d.ts +12 -0
  72. package/dist/runtime-support.js +12 -0
  73. package/module/assets/Symbola-4c507403.woff2 +0 -0
  74. package/module/print.js +25409 -0
  75. package/module/print.js.map +1 -0
  76. package/package.json +110 -26
  77. package/print.js +2 -0
  78. package/CHANGELOG.json +0 -2627
  79. package/CHANGELOG.md +0 -2473
  80. package/LICENSE.md +0 -5
  81. package/README.md +0 -3
  82. package/configure/CHANGELOG.json +0 -1652
  83. package/configure/CHANGELOG.md +0 -2101
  84. package/configure/lib/configure.js +0 -186
  85. package/configure/lib/configure.js.map +0 -1
  86. package/configure/lib/defaults.js +0 -185
  87. package/configure/lib/defaults.js.map +0 -1
  88. package/configure/lib/general-config-block.js +0 -525
  89. package/configure/lib/general-config-block.js.map +0 -1
  90. package/configure/lib/index.js +0 -136
  91. package/configure/lib/index.js.map +0 -1
  92. package/configure/lib/response.js +0 -369
  93. package/configure/lib/response.js.map +0 -1
  94. package/configure/lib/utils.js +0 -31
  95. package/configure/lib/utils.js.map +0 -1
  96. package/configure/package.json +0 -29
  97. package/controller/CHANGELOG.json +0 -1002
  98. package/controller/CHANGELOG.md +0 -1536
  99. package/controller/lib/defaults.js +0 -43
  100. package/controller/lib/defaults.js.map +0 -1
  101. package/controller/lib/index.js +0 -383
  102. package/controller/lib/index.js.map +0 -1
  103. package/controller/lib/utils.js +0 -11
  104. package/controller/lib/utils.js.map +0 -1
  105. package/controller/package.json +0 -26
  106. package/docs/config-schema.json +0 -2071
  107. package/docs/config-schema.json.md +0 -1533
  108. package/docs/demo/config.js +0 -8
  109. package/docs/demo/generate.js +0 -41
  110. package/docs/demo/index.html +0 -1
  111. package/docs/demo/session.js +0 -11
  112. package/docs/pie-schema.json +0 -1472
  113. package/docs/pie-schema.json.md +0 -845
  114. package/lib/index.js +0 -93
  115. package/lib/index.js.map +0 -1
  116. package/lib/main.js +0 -1030
  117. package/lib/main.js.map +0 -1
  118. package/lib/print.js +0 -92
  119. package/lib/print.js.map +0 -1
  120. package/lib/simple-question-block.js +0 -148
  121. package/lib/simple-question-block.js.map +0 -1
  122. package/lib/utils.js +0 -11
  123. package/lib/utils.js.map +0 -1
@@ -0,0 +1,134 @@
1
+ import { b as e, p as t } from "../dist-CiHbVK7d.js";
2
+ import { t as n } from "../main-BvCDVTbt.js";
3
+ import r from "react";
4
+ import { createRoot as i } from "react-dom/client";
5
+ //#region ../../shared/player-events/dist/index.js
6
+ var a = /* @__PURE__ */ e(t(), 1), o = "commitPendingSession", s = /* @__PURE__ */ new WeakMap();
7
+ function c(e, t) {
8
+ let n = s.get(e);
9
+ n || (n = /* @__PURE__ */ new Set(), s.set(e, n)), n.add(t);
10
+ }
11
+ function l(e) {
12
+ return Object.getOwnPropertyDescriptor(e, o) !== void 0;
13
+ }
14
+ function u(e) {
15
+ if (l(e)) return;
16
+ let t = e[o];
17
+ Object.defineProperty(e, o, {
18
+ value: () => {
19
+ if (typeof t == "function") try {
20
+ t.call(e);
21
+ } catch {}
22
+ f(e);
23
+ },
24
+ configurable: !0,
25
+ enumerable: !1,
26
+ writable: !0
27
+ });
28
+ }
29
+ function d(e, t, n = {}) {
30
+ let r = n.delayMs, i = typeof r == "function" ? r : () => r ?? 0, a = n.maxWaitMs, o = null, s = null, l = !1, d = () => {
31
+ o !== null && (clearTimeout(o), o = null), s !== null && (clearTimeout(s), s = null);
32
+ }, f = () => {
33
+ d(), l && (l = !1, t());
34
+ }, p = {
35
+ notify() {
36
+ l = !0, o !== null && clearTimeout(o), o = setTimeout(f, Math.max(0, i())), a !== void 0 && s === null && (s = setTimeout(f, Math.max(0, a)));
37
+ },
38
+ flush() {
39
+ if (!l) {
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 c(e, p), u(e), p;
51
+ }
52
+ function f(e) {
53
+ let t = s.get(e);
54
+ if (t) for (let e of [...t]) e.flush();
55
+ }
56
+ var p = class e extends CustomEvent {
57
+ static {
58
+ this.TYPE = "model-set";
59
+ }
60
+ constructor(t, n, r) {
61
+ super(e.TYPE, {
62
+ bubbles: !0,
63
+ composed: !0,
64
+ detail: {
65
+ complete: n,
66
+ component: t,
67
+ hasModel: r
68
+ }
69
+ }), this.component = t, this.complete = n;
70
+ }
71
+ }, m = class e extends CustomEvent {
72
+ static {
73
+ this.TYPE = "session-changed";
74
+ }
75
+ constructor(t, n) {
76
+ super(e.TYPE, {
77
+ bubbles: !0,
78
+ composed: !0,
79
+ detail: {
80
+ complete: n,
81
+ component: t
82
+ }
83
+ }), this.component = t, this.complete = n;
84
+ }
85
+ }, h = { configuration: {} }, g = (0, a.default)("pie-ui:math-inline"), _ = class extends HTMLElement {
86
+ constructor() {
87
+ super(), this._root = null, this._configuration = h.configuration, this._sessionNotifier = d(this, () => {
88
+ this.dispatchEvent(new m(this.tagName.toLowerCase(), !0));
89
+ }, { delayMs: 1e3 }), this.sessionChangedEventCaller = () => this._sessionNotifier.notify();
90
+ }
91
+ setLangAttribute() {
92
+ let e = this._model && typeof this._model.language ? this._model.language : "", t = e ? e.slice(0, 2) : "en";
93
+ this.setAttribute("lang", t);
94
+ let n = this.closest(".player-container");
95
+ n && n.setAttribute("lang", t);
96
+ }
97
+ set model(e) {
98
+ this._model = e, this.dispatchEvent(new p(this._model, !0, !!this._model)), this.setLangAttribute(), this._render();
99
+ }
100
+ set session(e) {
101
+ this._session = e, this._render();
102
+ }
103
+ get session() {
104
+ return this._session;
105
+ }
106
+ set configuration(e) {
107
+ this._configuration = e, this._render();
108
+ }
109
+ sessionChanged(e) {
110
+ Object.keys(e).map((t) => {
111
+ this._session[t] = e[t];
112
+ }), this.sessionChangedEventCaller(), g("session: ", this._session);
113
+ }
114
+ connectedCallback() {
115
+ this.setAttribute("aria-label", "Math Response Question"), this.setAttribute("role", "region"), this._render();
116
+ }
117
+ _render() {
118
+ if (!this._model || !this._session) return;
119
+ let e = r.createElement(n, {
120
+ model: this._model,
121
+ session: this._session,
122
+ configuration: this._configuration,
123
+ onSessionChange: this.sessionChanged.bind(this)
124
+ });
125
+ this._root ||= i(this), this._root.render(e);
126
+ }
127
+ disconnectedCallback() {
128
+ f(this), this._root &&= (this._root.unmount(), null);
129
+ }
130
+ };
131
+ //#endregion
132
+ export { n as Component, _ as default };
133
+
134
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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/math-inline/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 debug from 'debug';\nimport {\n ModelSetEvent,\n SessionChangedEvent,\n createSessionNotifier,\n flushSessionNotifiers,\n} from '@pie-element/shared-player-events';\n\n// Inlined from configure/lib/defaults (configure/ not synced - ESM-incompatible)\nconst defaults = {\n configuration: {\n // Minimal configuration for student-facing UI\n // Full authoring configuration is only needed in the configure package\n } as any\n};;\nimport Main from './main.js';\n\nconst log = debug('pie-ui:math-inline');\n\nexport { Main as Component };\n\nexport default class MathInline extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n this._configuration = defaults.configuration;\n // Session state is already written synchronously in `sessionChanged`; only\n // this dispatch is coalesced, and `disconnectedCallback` flushes it.\n this._sessionNotifier = createSessionNotifier(\n this,\n () => {\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), true));\n },\n { delayMs: 1000 },\n );\n this.sessionChangedEventCaller = () => this._sessionNotifier.notify();\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 // set the lang attribute for the nearest parent div with class 'player-container' for MPI items as per PD-2483\n const playerContainer = this.closest('.player-container');\n if (playerContainer) {\n playerContainer.setAttribute('lang', lang);\n }\n }\n\n set model(m) {\n this._model = m;\n this.dispatchEvent(new ModelSetEvent(this._model, true, !!this._model));\n this.setLangAttribute();\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 set configuration(c) {\n this._configuration = c;\n this._render();\n }\n\n sessionChanged(s) {\n Object.keys(s).map((key) => {\n this._session[key] = s[key];\n });\n\n this.sessionChangedEventCaller();\n log('session: ', this._session);\n }\n\n connectedCallback() {\n this.setAttribute('aria-label', 'Math Response Question');\n this.setAttribute('role', 'region');\n\n this._render();\n }\n\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n configuration: this._configuration,\n onSessionChange: this.sessionChanged.bind(this),\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\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":"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"}