@pie-element/ebsr 14.2.1 → 14.2.2-next.1

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 (97) hide show
  1. package/configure.js +2 -0
  2. package/controller.js +1 -0
  3. package/dist/author/defaults.d.ts +348 -0
  4. package/dist/author/defaults.js +161 -0
  5. package/dist/author/index.d.ts +34 -0
  6. package/dist/author/index.js +78 -0
  7. package/dist/author/main.d.ts +22 -0
  8. package/dist/author/main.js +121 -0
  9. package/dist/browser/author/index.js +13940 -0
  10. package/dist/browser/author/index.js.map +1 -0
  11. package/dist/browser/browser-CdX8WGiZ.js +207 -0
  12. package/dist/browser/browser-CdX8WGiZ.js.map +1 -0
  13. package/dist/browser/controller/index.js +257 -0
  14. package/dist/browser/controller/index.js.map +1 -0
  15. package/dist/browser/delivery/index.js +133 -0
  16. package/dist/browser/delivery/index.js.map +1 -0
  17. package/dist/browser/dist-CaWRqnXk.js +62 -0
  18. package/dist/browser/dist-CaWRqnXk.js.map +1 -0
  19. package/dist/browser/dist-D9ARZhQk.js +1426 -0
  20. package/dist/browser/dist-D9ARZhQk.js.map +1 -0
  21. package/dist/browser/dist-DQkngCcw.js +36 -0
  22. package/dist/browser/dist-DQkngCcw.js.map +1 -0
  23. package/dist/browser/print/index.js +107 -0
  24. package/dist/browser/print/index.js.map +1 -0
  25. package/dist/controller/defaults.d.ts +15 -0
  26. package/dist/controller/defaults.js +26 -0
  27. package/dist/controller/index.d.ts +42 -0
  28. package/dist/controller/index.js +185 -0
  29. package/dist/controller/utils.d.ts +10 -0
  30. package/dist/controller/utils.js +8 -0
  31. package/dist/delivery/index.d.ts +26 -0
  32. package/dist/delivery/index.js +132 -0
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.iife.d.ts +8 -0
  35. package/dist/index.iife.js +165 -0
  36. package/dist/index.js +2 -0
  37. package/dist/print/index.d.ts +25 -0
  38. package/dist/print/index.js +106 -0
  39. package/dist/runtime-support.d.ts +12 -0
  40. package/dist/runtime-support.js +12 -0
  41. package/package.json +88 -19
  42. package/CHANGELOG.json +0 -1547
  43. package/CHANGELOG.md +0 -2285
  44. package/LICENSE.md +0 -5
  45. package/README.md +0 -62
  46. package/configure/CHANGELOG.json +0 -992
  47. package/configure/CHANGELOG.md +0 -2148
  48. package/configure/lib/defaults.js +0 -229
  49. package/configure/lib/defaults.js.map +0 -1
  50. package/configure/lib/index.js +0 -154
  51. package/configure/lib/index.js.map +0 -1
  52. package/configure/lib/main.js +0 -222
  53. package/configure/lib/main.js.map +0 -1
  54. package/configure/package.json +0 -23
  55. package/configure/src/__tests__/index.test.js +0 -492
  56. package/configure/src/defaults.js +0 -173
  57. package/configure/src/index.js +0 -174
  58. package/configure/src/main.jsx +0 -235
  59. package/controller/CHANGELOG.json +0 -552
  60. package/controller/CHANGELOG.md +0 -1286
  61. package/controller/lib/defaults.js +0 -31
  62. package/controller/lib/defaults.js.map +0 -1
  63. package/controller/lib/index.js +0 -448
  64. package/controller/lib/index.js.map +0 -1
  65. package/controller/lib/utils.js +0 -18
  66. package/controller/lib/utils.js.map +0 -1
  67. package/controller/package.json +0 -18
  68. package/controller/src/__tests__/index.test.js +0 -591
  69. package/controller/src/__tests__/utils.test.js +0 -48
  70. package/controller/src/defaults.js +0 -25
  71. package/controller/src/index.js +0 -442
  72. package/controller/src/utils.js +0 -18
  73. package/docs/config-schema.json +0 -5787
  74. package/docs/config-schema.json.md +0 -4278
  75. package/docs/demo/config.js +0 -8
  76. package/docs/demo/generate.js +0 -52
  77. package/docs/demo/index.html +0 -2
  78. package/docs/demo/session.js +0 -14
  79. package/docs/pie-schema.json +0 -2911
  80. package/docs/pie-schema.json.md +0 -2142
  81. package/ebsr.png +0 -0
  82. package/lib/index.js +0 -207
  83. package/lib/index.js.map +0 -1
  84. package/lib/print.js +0 -186
  85. package/lib/print.js.map +0 -1
  86. package/module/configure.js +0 -1
  87. package/module/controller.js +0 -5664
  88. package/module/demo.js +0 -77
  89. package/module/element.js +0 -1
  90. package/module/index.html +0 -21
  91. package/module/manifest.json +0 -14
  92. package/module/print-demo.js +0 -115
  93. package/module/print.html +0 -18
  94. package/module/print.js +0 -1
  95. package/src/__tests__/index.test.js +0 -129
  96. package/src/index.js +0 -222
  97. package/src/print.js +0 -207
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ import e from "./delivery/index.js";
2
+ export { e as default };
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/ebsr/src/print.js
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ export declare const isSessionComplete: (session: any) => boolean;
10
+ export default class Ebsr extends HTMLElement {
11
+ constructor();
12
+ onSessionUpdated: any;
13
+ set model(m: any);
14
+ set session(s: any);
15
+ _updateParts(): void;
16
+ setPartModel(part: any, key: any): void;
17
+ set options(o: any);
18
+ setPartSession(part: any, key: any): void;
19
+ dispatchSessionChanged(partSession: any, key: any): void;
20
+ get partA(): Element | null;
21
+ get partB(): Element | null;
22
+ connectedCallback(): void;
23
+ disconnectedCallback(): void;
24
+ _render(): void;
25
+ }
@@ -0,0 +1,106 @@
1
+ import { SessionChangedEvent as e } from "@pie-element/shared-player-events";
2
+ import t from "@pie-element/multiple-choice";
3
+ import { cloneDeep as n, get as r } from "@pie-element/shared-lodash";
4
+ import i from "debug";
5
+ import a from "@pie-lib/translator";
6
+ //#region src/print/index.tsx
7
+ var o = "ebsr-multiple-choice", s = e.TYPE, { translator: c } = a, l = i("pie-element:ebsr:print"), u = (e, t) => {
8
+ let r = t.role === "instructor", i = n(e);
9
+ return i.prompt = i.promptEnabled === !1 ? void 0 : i.prompt, i.teacherInstructions = r && i.teacherInstructionsEnabled !== !1 ? i.teacherInstructions : void 0, i.showTeacherInstructions = r, i.alwaysShowCorrect = r, i.mode = r ? "evaluate" : "gather", i.disabled = !0, i.animationsDisabled = !0, i.lockChoiceOrder = !0, i.choicesLayout = i.choicesLayout || "vertical", i.choices = (i.choices || []).map((e) => (e.rationale = r && i.rationaleEnabled !== !1 ? e.rationale : void 0, e.hideTick = r, e.feedback = void 0, e)), i.keyMode = i.choicePrefix || "letters", i;
10
+ }, d = class extends t {};
11
+ customElements.get(o) || customElements.define(o, d);
12
+ var f = (e) => Array.isArray(e) && e.length > 0, p = (e) => {
13
+ let t = r(e, "value.partA.value"), n = r(e, "value.partB.value");
14
+ return f(t) && f(n);
15
+ }, m = class extends HTMLElement {
16
+ constructor() {
17
+ super(), this._model = {}, this._session = {}, this._options = null;
18
+ }
19
+ onSessionUpdated = (e) => {
20
+ if (e.target === this) return;
21
+ e.preventDefault(), e.stopImmediatePropagation();
22
+ let t = e.target.getAttribute("id");
23
+ if (t) {
24
+ let n = `part${t.toUpperCase()}`;
25
+ e.update && (this._model[n] = e.update), this.dispatchSessionChanged(e.srcElement._session, n);
26
+ }
27
+ };
28
+ set model(e) {
29
+ this._model = e, this._updateParts();
30
+ }
31
+ set session(e) {
32
+ this._session = e, customElements.whenDefined(o).then(() => {
33
+ this.setPartSession(this.partA, "partA"), this.setPartSession(this.partB, "partB");
34
+ });
35
+ }
36
+ _updateParts() {
37
+ customElements.whenDefined(o).then(() => {
38
+ this.setPartModel(this.partA, "partA"), this.setPartModel(this.partB, "partB");
39
+ });
40
+ }
41
+ setPartModel(e, t) {
42
+ if (this._model && this._model[t] && e && this._options) {
43
+ let n = {
44
+ partA: void 0,
45
+ partB: void 0
46
+ };
47
+ if (this._model.partLabels) {
48
+ let e = this._model.language;
49
+ n = {
50
+ partA: c.t("ebsr.part", {
51
+ lng: e,
52
+ index: this._model.partLabelType === "Letters" ? "A" : "1"
53
+ }),
54
+ partB: c.t("ebsr.part", {
55
+ lng: e,
56
+ index: this._model.partLabelType === "Letters" ? "B" : "2"
57
+ })
58
+ };
59
+ }
60
+ e.model = {
61
+ ...u(this._model[t], this._options),
62
+ keyMode: this._model[t].choicePrefix,
63
+ partLabel: n[t]
64
+ }, e.options = this._options, e._session || (e.session = {});
65
+ }
66
+ }
67
+ set options(e) {
68
+ this._options = e, this._updateParts();
69
+ }
70
+ setPartSession(e, t) {
71
+ if (this._session && this._model && e) {
72
+ let { value: n } = this._session;
73
+ e.session = n && n[t] ? n[t] : { id: t };
74
+ }
75
+ }
76
+ dispatchSessionChanged(t, n) {
77
+ this._session.value = {
78
+ ...this._session.value,
79
+ [n]: t
80
+ }, l("[onSessionChanged] session: ", this._session);
81
+ let r = p(this._session);
82
+ this.dispatchEvent(new e(this.tagName.toLowerCase(), r));
83
+ }
84
+ get partA() {
85
+ return this.querySelector(`${o}#a`);
86
+ }
87
+ get partB() {
88
+ return this.querySelector(`${o}#b`);
89
+ }
90
+ connectedCallback() {
91
+ this._render(), this.addEventListener(s, this.onSessionUpdated);
92
+ }
93
+ disconnectedCallback() {
94
+ this.removeEventListener(s, this.onSessionUpdated);
95
+ }
96
+ _render() {
97
+ this.innerHTML = `
98
+ <div>
99
+ <${o} id="a"></${o}>
100
+ <${o} id="b"></${o}>
101
+ </div>
102
+ `;
103
+ }
104
+ };
105
+ //#endregion
106
+ export { m as default, p as isSessionComplete };
@@ -0,0 +1,12 @@
1
+ export declare const runtimeSupport: {
2
+ schemaVersion: number;
3
+ packageName: string;
4
+ supports: {
5
+ esm: {
6
+ delivery: boolean;
7
+ author: boolean;
8
+ print: boolean;
9
+ };
10
+ };
11
+ };
12
+ export default runtimeSupport;
@@ -0,0 +1,12 @@
1
+ //#region src/runtime-support.ts
2
+ var e = {
3
+ schemaVersion: 1,
4
+ packageName: "@pie-element/ebsr",
5
+ supports: { esm: {
6
+ delivery: !0,
7
+ author: !0,
8
+ print: !0
9
+ } }
10
+ };
11
+ //#endregion
12
+ export { e as default, e as runtimeSupport };
package/package.json CHANGED
@@ -1,29 +1,98 @@
1
1
  {
2
2
  "name": "@pie-element/ebsr",
3
- "repository": "pie-framework/pie-elements",
4
- "version": "14.2.1",
3
+ "version": "14.2.2-next.1",
5
4
  "description": "",
6
- "publishConfig": {
7
- "access": "public"
8
- },
9
5
  "dependencies": {
10
- "@pie-element/multiple-choice": "^13.2.1",
11
- "@pie-framework/pie-player-events": "^0.1.0",
12
- "@pie-lib/translator": "4.0.2",
13
- "classnames": "^2.2.5",
6
+ "@pie-element/multiple-choice": "13.2.2-next.1",
7
+ "@pie-lib/translator": "4.0.3-next.0",
14
8
  "debug": "^4.1.1",
15
- "lodash-es": "^4.17.23"
9
+ "@pie-element/shared-lodash": "0.1.1-next.0",
10
+ "@pie-element/shared-configure-events": "0.1.0",
11
+ "prop-types": "^15.8.1",
12
+ "@pie-lib/config-ui": "13.0.4-next.0",
13
+ "@mui/material": "^7.3.11",
14
+ "@pie-element/shared-controller-utils": "0.1.1-next.1",
15
+ "@pie-element/shared-player-events": "0.1.0",
16
+ "clsx": "^2.1.1"
16
17
  },
17
- "author": "pie framework developers",
18
- "license": "ISC",
19
- "gitHead": "103c0fbfbc458001afb7abb0f72e7b8ead258860",
20
- "scripts": {
21
- "postpublish": "../../scripts/postpublish"
18
+ "peerDependencies": {
19
+ "react": "^18.0.0",
20
+ "react-dom": "^18.0.0"
22
21
  },
23
- "main": "lib/index.js",
24
- "module": "src/index.js",
25
22
  "exports": {
26
- ".": "./src/index.js",
27
- "./print": "./src/print.js"
23
+ ".": {
24
+ "types": "./dist/index.d.ts",
25
+ "default": "./dist/index.js"
26
+ },
27
+ "./delivery": {
28
+ "types": "./dist/delivery/index.d.ts",
29
+ "default": "./dist/delivery/index.js"
30
+ },
31
+ "./browser/delivery": {
32
+ "default": "./dist/browser/delivery/index.js"
33
+ },
34
+ "./author": {
35
+ "types": "./dist/author/index.d.ts",
36
+ "default": "./dist/author/index.js"
37
+ },
38
+ "./browser/author": {
39
+ "default": "./dist/browser/author/index.js"
40
+ },
41
+ "./configure": {
42
+ "types": "./dist/author/index.d.ts",
43
+ "default": "./dist/author/index.js"
44
+ },
45
+ "./controller": {
46
+ "types": "./dist/controller/index.d.ts",
47
+ "default": "./dist/controller/index.js"
48
+ },
49
+ "./controller.js": {
50
+ "types": "./dist/controller/index.d.ts",
51
+ "default": "./dist/controller/index.js"
52
+ },
53
+ "./browser/controller": {
54
+ "default": "./dist/browser/controller/index.js"
55
+ },
56
+ "./print": {
57
+ "types": "./dist/print/index.d.ts",
58
+ "default": "./dist/print/index.js"
59
+ },
60
+ "./browser/print": {
61
+ "default": "./dist/browser/print/index.js"
62
+ },
63
+ "./runtime-support": {
64
+ "types": "./dist/runtime-support.d.ts",
65
+ "default": "./dist/runtime-support.js"
66
+ }
67
+ },
68
+ "type": "module",
69
+ "main": "./dist/index.js",
70
+ "types": "./dist/index.d.ts",
71
+ "files": [
72
+ "configure.js",
73
+ "controller.js",
74
+ "dist"
75
+ ],
76
+ "sideEffects": false,
77
+ "devDependencies": {
78
+ "vite": "^8.0.1",
79
+ "typescript": "^5.9.3",
80
+ "@vitejs/plugin-react": "^6.0.1",
81
+ "@types/react": "^18.2.0",
82
+ "@types/react-dom": "^18.2.0"
83
+ },
84
+ "scripts": {
85
+ "build": "bun x vite build && bun x vite build --config ../../../tools/vite/element-browser.config.ts && bun x vite build --config vite.config.iife.ts && bun x tsc --emitDeclarationOnly",
86
+ "dev": "bun x vite",
87
+ "demo": "bun x vite --mode demo",
88
+ "test": "bun x vitest run"
89
+ },
90
+ "pie": {
91
+ "controller": "@pie-element/ebsr/controller",
92
+ "configure": "@pie-element/ebsr/configure",
93
+ "browserSharedDependencies": {
94
+ "react": "18.2.0",
95
+ "react-dom": "18.2.0"
96
+ }
28
97
  }
29
98
  }