@pie-element/multiple-choice 13.2.1-next.2 → 13.2.2-next.0
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.
- package/configure.js +2 -0
- package/controller.js +1 -0
- package/dist/browser/_Uint8Array-CUOjhemR.js +396 -0
- package/dist/browser/_Uint8Array-CUOjhemR.js.map +1 -0
- package/dist/browser/_baseClone-fFvdZAu5.js +245 -0
- package/dist/browser/_baseClone-fFvdZAu5.js.map +1 -0
- package/dist/browser/author/index.js +40187 -0
- package/dist/browser/author/index.js.map +1 -0
- package/dist/browser/controller/index.js +199 -0
- package/dist/browser/controller/index.js.map +1 -0
- package/dist/browser/debounce-PkR6OuzU.js +9669 -0
- package/dist/browser/debounce-PkR6OuzU.js.map +1 -0
- package/dist/browser/delivery/index.js +250 -0
- package/dist/browser/delivery/index.js.map +1 -0
- package/dist/browser/isEqual-CnAlrBXo.js +182 -0
- package/dist/browser/isEqual-CnAlrBXo.js.map +1 -0
- package/dist/browser/isObject-B-uKF3Sg.js +38 -0
- package/dist/browser/isObject-B-uKF3Sg.js.map +1 -0
- package/dist/browser/main-CmP4Uwst.js +2440 -0
- package/dist/browser/main-CmP4Uwst.js.map +1 -0
- package/dist/browser/multiple-choice.css +2 -0
- package/dist/browser/print/index.js +48 -0
- package/dist/browser/print/index.js.map +1 -0
- package/package.json +34 -7
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Gt as e, I as t, t as n, z as r } from "../debounce-PkR6OuzU.js";
|
|
2
|
+
import { t as i } from "../main-CmP4Uwst.js";
|
|
3
|
+
import { t as a } from "../_baseClone-fFvdZAu5.js";
|
|
4
|
+
import o from "react";
|
|
5
|
+
import { createRoot as s } from "react-dom/client";
|
|
6
|
+
//#region ../../../node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/cloneDeep.js
|
|
7
|
+
var c = 1, l = 4;
|
|
8
|
+
function u(e) {
|
|
9
|
+
return a(e, c | l);
|
|
10
|
+
}
|
|
11
|
+
var d = (0, (/* @__PURE__ */ e(r(), 1)).default)("pie-element:multiple-choice:print"), f = (e, t) => {
|
|
12
|
+
let n = t.role === "instructor";
|
|
13
|
+
return e.prompt = e.promptEnabled === !1 ? void 0 : e.prompt, e.teacherInstructions = n && e.teacherInstructionsEnabled !== !1 ? e.teacherInstructions : void 0, e.showTeacherInstructions = n, e.alwaysShowCorrect = n, e.mode = n ? "evaluate" : e.mode, e.disabled = !0, e.animationsDisabled = !0, e.lockChoiceOrder = !0, e.choicesLayout = e.choicesLayout || "vertical", e.choices = u(e.choices).map((t) => (t.rationale = n && e.rationaleEnabled !== !1 ? t.rationale : void 0, t.hideTick = n, t.feedback = void 0, t)), e.keyMode = e.choicePrefix || "letters", e;
|
|
14
|
+
}, p = class extends HTMLElement {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(), this._options = null, this._model = null, this._session = [], this._root = null, this._rerender = n(() => {
|
|
17
|
+
if (this._model && this._session) {
|
|
18
|
+
let e = f(this._model, this._options), n = this._options && o.createElement(i, {
|
|
19
|
+
model: e,
|
|
20
|
+
session: {},
|
|
21
|
+
options: this._options
|
|
22
|
+
});
|
|
23
|
+
this._root ||= s(this), this._root.render(n), requestAnimationFrame(() => {
|
|
24
|
+
requestAnimationFrame(() => {
|
|
25
|
+
d("render complete - render math"), t(this);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
} else d("skip");
|
|
29
|
+
}, 50, {
|
|
30
|
+
leading: !1,
|
|
31
|
+
trailing: !0
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
set options(e) {
|
|
35
|
+
this._options = e;
|
|
36
|
+
}
|
|
37
|
+
set model(e) {
|
|
38
|
+
this._model = e, this._rerender();
|
|
39
|
+
}
|
|
40
|
+
connectedCallback() {}
|
|
41
|
+
disconnectedCallback() {
|
|
42
|
+
this._root && this._root.unmount();
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
//#endregion
|
|
46
|
+
export { p as default };
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/cloneDeep.js","../../../src/print/index.tsx"],"sourcesContent":["import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nexport default cloneDeep;\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/multiple-choice/src/print.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 { cloneDeep, debounce } from 'lodash-es';\nimport Main from '../delivery/main.js';\nimport { renderMath } from '@pie-element/shared-math-rendering-mathjax';\nimport debug from 'debug';\n\nconst log = debug('pie-element:multiple-choice:print');\n\n/**\n * Live in same package as main element - so we can access some of the shared comps!\n *\n * - update pslb to build print if src/print.js is there\n * - update demo el\n * - get configure/controller building\n */\n\nconst preparePrintModel = (model, opts) => {\n const instr = opts.role === 'instructor';\n\n model.prompt = model.promptEnabled !== false ? model.prompt : undefined;\n model.teacherInstructions =\n instr && model.teacherInstructionsEnabled !== false ? model.teacherInstructions : undefined;\n model.showTeacherInstructions = instr;\n model.alwaysShowCorrect = instr;\n model.mode = instr ? 'evaluate' : model.mode;\n\n model.disabled = true;\n model.animationsDisabled = true;\n model.lockChoiceOrder = true;\n model.choicesLayout = model.choicesLayout || 'vertical';\n\n const choices = cloneDeep(model.choices);\n\n model.choices = choices.map((c) => {\n c.rationale = instr && model.rationaleEnabled !== false ? c.rationale : undefined;\n c.hideTick = instr;\n c.feedback = undefined;\n return c;\n });\n\n model.keyMode = model.choicePrefix || 'letters';\n\n return model;\n};\n\nexport default class MultipleChoicePrint extends HTMLElement {\n constructor() {\n super();\n this._options = null;\n this._model = null;\n this._session = [];\n this._root = null;\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n const printModel = preparePrintModel(this._model, this._options);\n\n const element =\n this._options &&\n React.createElement(Main, {\n model: printModel,\n session: {},\n options: this._options,\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(element);\n // Use double requestAnimationFrame so React has committed to the DOM before we render math\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n log('render complete - render math');\n renderMath(this);\n });\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n set options(o) {\n this._options = o;\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n connectedCallback() {}\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;;;AAGA,IAAI,IAAkB,GAClB,IAAqB;AAoBzB,SAAS,EAAU,GAAO;CACxB,OAAO,EAAU,GAAO,IAAkB,CAAkB;AAC9D;ACTA,IAAM,KAAA,IAAA,wBAAA,GAAA,SAAY,mCAAmC,GAU/C,KAAqB,GAAO,MAAS;CACzC,IAAM,IAAQ,EAAK,SAAS;CAyB5B,OAvBA,EAAM,SAAS,EAAM,kBAAkB,KAAuB,KAAA,IAAf,EAAM,QACrD,EAAM,sBACJ,KAAS,EAAM,+BAA+B,KAAQ,EAAM,sBAAsB,KAAA,GACpF,EAAM,0BAA0B,GAChC,EAAM,oBAAoB,GAC1B,EAAM,OAAO,IAAQ,aAAa,EAAM,MAExC,EAAM,WAAW,IACjB,EAAM,qBAAqB,IAC3B,EAAM,kBAAkB,IACxB,EAAM,gBAAgB,EAAM,iBAAiB,YAI7C,EAAM,UAFU,EAAU,EAAM,OAEhB,EAAQ,KAAK,OAC3B,EAAE,YAAY,KAAS,EAAM,qBAAqB,KAAQ,EAAE,YAAY,KAAA,GACxE,EAAE,WAAW,GACb,EAAE,WAAW,KAAA,GACN,EACR,GAED,EAAM,UAAU,EAAM,gBAAgB,WAE/B;AACT,GAEqB,IAArB,cAAiD,YAAY;CAC3D,cAAc;EAMZ,AALA,MAAM,GACN,KAAK,WAAW,MAChB,KAAK,SAAS,MACd,KAAK,WAAW,CAAC,GACjB,KAAK,QAAQ,MACb,KAAK,YAAY,QACT;GACJ,IAAI,KAAK,UAAU,KAAK,UAAU;IAChC,IAAM,IAAa,EAAkB,KAAK,QAAQ,KAAK,QAAQ,GAEzD,IACJ,KAAK,YACL,EAAM,cAAc,GAAM;KACxB,OAAO;KACP,SAAS,CAAC;KACV,SAAS,KAAK;IAChB,CAAC;IAOH,AALA,AACE,KAAK,UAAQ,EAAW,IAAI,GAE9B,KAAK,MAAM,OAAO,CAAO,GAEzB,4BAA4B;KAC1B,4BAA4B;MAE1B,AADA,EAAI,+BAA+B,GACnC,EAAW,IAAI;KACjB,CAAC;IACH,CAAC;GACH,OACE,EAAI,MAAM;EAEd,GACA,IACA;GAAE,SAAS;GAAO,UAAU;EAAK,CACnC;CACF;CACA,IAAI,QAAQ,GAAG;EACb,KAAK,WAAW;CAClB;CAEA,IAAI,MAAM,GAAG;EAEX,AADA,KAAK,SAAS,GACd,KAAK,UAAU;CACjB;CAEA,oBAAoB,CAAC;CAErB,uBAAuB;EACrB,AAAI,KAAK,SACP,KAAK,MAAM,QAAQ;CAEvB;AACF"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/multiple-choice",
|
|
3
|
-
"version": "13.2.
|
|
3
|
+
"version": "13.2.2-next.0",
|
|
4
4
|
"description": "React implementation of multiple-choice element synced from pie-elements",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@emotion/react": "^11.14.0",
|
|
7
7
|
"@emotion/style": "^0.8.0",
|
|
8
8
|
"@mui/icons-material": "^7.3.4",
|
|
9
9
|
"@mui/material": "^7.3.4",
|
|
10
|
-
"@pie-lib/correct-answer-toggle": "4.0.
|
|
11
|
-
"@pie-lib/render-ui": "6.1.
|
|
10
|
+
"@pie-lib/correct-answer-toggle": "4.0.2",
|
|
11
|
+
"@pie-lib/render-ui": "6.1.0",
|
|
12
12
|
"@pie-lib/translator": "4.0.2",
|
|
13
13
|
"classnames": "^2.2.6",
|
|
14
14
|
"debug": "^4.1.1",
|
|
@@ -16,11 +16,12 @@
|
|
|
16
16
|
"prop-types": "^15.8.1",
|
|
17
17
|
"react-transition-group": "^4.4.5",
|
|
18
18
|
"@pie-element/shared-configure-events": "0.1.0",
|
|
19
|
-
"@pie-lib/config-ui": "13.0.
|
|
20
|
-
"@pie-lib/editable-html-tip-tap": "2.1.
|
|
19
|
+
"@pie-lib/config-ui": "13.0.3",
|
|
20
|
+
"@pie-lib/editable-html-tip-tap": "2.1.1",
|
|
21
21
|
"@pie-element/shared-controller-utils": "0.1.1-next.1",
|
|
22
22
|
"@pie-element/shared-player-events": "0.1.0",
|
|
23
|
-
"@pie-element/shared-math-rendering-mathjax": "0.1.0"
|
|
23
|
+
"@pie-element/shared-math-rendering-mathjax": "0.1.0",
|
|
24
|
+
"@emotion/core": "0.x.x"
|
|
24
25
|
},
|
|
25
26
|
"peerDependencies": {
|
|
26
27
|
"react": "^18.0.0",
|
|
@@ -35,10 +36,20 @@
|
|
|
35
36
|
"types": "./dist/delivery/index.d.ts",
|
|
36
37
|
"default": "./dist/delivery/index.js"
|
|
37
38
|
},
|
|
39
|
+
"./browser/delivery": {
|
|
40
|
+
"default": "./dist/browser/delivery/index.js"
|
|
41
|
+
},
|
|
38
42
|
"./author": {
|
|
39
43
|
"types": "./dist/author/index.d.ts",
|
|
40
44
|
"default": "./dist/author/index.js"
|
|
41
45
|
},
|
|
46
|
+
"./browser/author": {
|
|
47
|
+
"default": "./dist/browser/author/index.js"
|
|
48
|
+
},
|
|
49
|
+
"./configure": {
|
|
50
|
+
"types": "./dist/author/index.d.ts",
|
|
51
|
+
"default": "./dist/author/index.js"
|
|
52
|
+
},
|
|
42
53
|
"./controller": {
|
|
43
54
|
"types": "./dist/controller/index.d.ts",
|
|
44
55
|
"default": "./dist/controller/index.js"
|
|
@@ -47,15 +58,23 @@
|
|
|
47
58
|
"types": "./dist/controller/index.d.ts",
|
|
48
59
|
"default": "./dist/controller/index.js"
|
|
49
60
|
},
|
|
61
|
+
"./browser/controller": {
|
|
62
|
+
"default": "./dist/browser/controller/index.js"
|
|
63
|
+
},
|
|
50
64
|
"./print": {
|
|
51
65
|
"types": "./dist/print/index.d.ts",
|
|
52
66
|
"default": "./dist/print/index.js"
|
|
67
|
+
},
|
|
68
|
+
"./browser/print": {
|
|
69
|
+
"default": "./dist/browser/print/index.js"
|
|
53
70
|
}
|
|
54
71
|
},
|
|
55
72
|
"type": "module",
|
|
56
73
|
"main": "./dist/index.js",
|
|
57
74
|
"types": "./dist/index.d.ts",
|
|
58
75
|
"files": [
|
|
76
|
+
"configure.js",
|
|
77
|
+
"controller.js",
|
|
59
78
|
"dist"
|
|
60
79
|
],
|
|
61
80
|
"sideEffects": false,
|
|
@@ -67,9 +86,17 @@
|
|
|
67
86
|
"@types/react-dom": "^18.2.0"
|
|
68
87
|
},
|
|
69
88
|
"scripts": {
|
|
70
|
-
"build": "bun x vite build && bun x vite build --config vite.config.iife.ts && bun x tsc --emitDeclarationOnly",
|
|
89
|
+
"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",
|
|
71
90
|
"dev": "bun x vite",
|
|
72
91
|
"demo": "bun x vite --mode demo",
|
|
73
92
|
"test": "bun x vitest run"
|
|
93
|
+
},
|
|
94
|
+
"pie": {
|
|
95
|
+
"controller": "@pie-element/multiple-choice/controller",
|
|
96
|
+
"configure": "@pie-element/multiple-choice/configure",
|
|
97
|
+
"browserSharedDependencies": {
|
|
98
|
+
"react": "18.2.0",
|
|
99
|
+
"react-dom": "18.2.0"
|
|
100
|
+
}
|
|
74
101
|
}
|
|
75
102
|
}
|