@pie-element/explicit-constructed-response 11.1.2-next.2 → 11.1.2
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/CHANGELOG.json +1102 -0
- package/CHANGELOG.md +2194 -0
- package/LICENSE.md +5 -0
- package/README.md +1 -0
- package/configure/CHANGELOG.json +652 -0
- package/configure/CHANGELOG.md +1935 -0
- package/configure/lib/alternateResponses.js +199 -0
- package/configure/lib/alternateResponses.js.map +1 -0
- package/configure/lib/alternateSection.js +329 -0
- package/configure/lib/alternateSection.js.map +1 -0
- package/configure/lib/defaults.js +184 -0
- package/configure/lib/defaults.js.map +1 -0
- package/configure/lib/ecr-toolbar.js +181 -0
- package/configure/lib/ecr-toolbar.js.map +1 -0
- package/configure/lib/index.js +161 -0
- package/configure/lib/index.js.map +1 -0
- package/configure/lib/main.js +501 -0
- package/configure/lib/main.js.map +1 -0
- package/configure/lib/markupUtils.js +70 -0
- package/configure/lib/markupUtils.js.map +1 -0
- package/configure/lib/utils.js +15 -0
- package/configure/lib/utils.js.map +1 -0
- package/configure/package.json +22 -0
- package/controller/CHANGELOG.json +517 -0
- package/controller/CHANGELOG.md +1344 -0
- package/controller/lib/defaults.js +23 -0
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +368 -0
- package/controller/lib/index.js.map +1 -0
- package/controller/package.json +18 -0
- package/docs/config-schema.json +2629 -0
- package/docs/config-schema.json.md +1941 -0
- package/docs/demo/config.js +8 -0
- package/docs/demo/generate.js +20 -0
- package/docs/demo/index.html +1 -0
- package/docs/demo/session.js +10 -0
- package/docs/pie-schema.json +1130 -0
- package/docs/pie-schema.json.md +814 -0
- package/lib/index.js +91 -0
- package/lib/index.js.map +1 -0
- package/lib/main.js +205 -0
- package/lib/main.js.map +1 -0
- package/lib/print.js +71 -0
- package/lib/print.js.map +1 -0
- package/module/configure.js +1 -0
- package/module/controller.js +6534 -0
- package/module/demo.js +45 -0
- package/module/element.js +1 -0
- package/module/index.html +21 -0
- package/module/manifest.json +18 -0
- package/module/print-demo.js +83 -0
- package/module/print.html +18 -0
- package/module/print.js +1 -0
- package/package.json +25 -92
- package/configure.js +0 -2
- package/controller.js +0 -1
- package/dist/_virtual/_rolldown/runtime.js +0 -4
- package/dist/author/alternateResponses.d.ts +0 -34
- package/dist/author/alternateResponses.js +0 -113
- package/dist/author/alternateSection.d.ts +0 -58
- package/dist/author/alternateSection.js +0 -213
- package/dist/author/defaults.d.ts +0 -186
- package/dist/author/defaults.js +0 -128
- package/dist/author/ecr-toolbar.d.ts +0 -41
- package/dist/author/ecr-toolbar.js +0 -100
- package/dist/author/index.d.ts +0 -42
- package/dist/author/index.js +0 -96
- package/dist/author/main.d.ts +0 -38
- package/dist/author/main.js +0 -291
- package/dist/author/markupUtils.d.ts +0 -14
- package/dist/author/markupUtils.js +0 -13
- package/dist/author/utils.d.ts +0 -9
- package/dist/author/utils.js +0 -7
- package/dist/browser/author/index.js +0 -3378
- package/dist/browser/author/index.js.map +0 -1
- package/dist/browser/browser-BC3WygxE.js +0 -360
- package/dist/browser/browser-BC3WygxE.js.map +0 -1
- package/dist/browser/controller/index.js +0 -4152
- package/dist/browser/controller/index.js.map +0 -1
- package/dist/browser/delivery/index.js +0 -96
- package/dist/browser/delivery/index.js.map +0 -1
- package/dist/browser/dist-B5QyKMGD.js +0 -45663
- package/dist/browser/dist-B5QyKMGD.js.map +0 -1
- package/dist/browser/dist-D9ARZhQk.js +0 -1426
- package/dist/browser/dist-D9ARZhQk.js.map +0 -1
- package/dist/browser/explicit-constructed-response.css +0 -2
- package/dist/browser/main-Czk7a-Zt.js +0 -959
- package/dist/browser/main-Czk7a-Zt.js.map +0 -1
- package/dist/browser/print/index.js +0 -40
- package/dist/browser/print/index.js.map +0 -1
- package/dist/controller/defaults.d.ts +0 -25
- package/dist/controller/defaults.js +0 -19
- package/dist/controller/index.d.ts +0 -64
- package/dist/controller/index.js +0 -139
- package/dist/delivery/index.d.ts +0 -20
- package/dist/delivery/index.js +0 -66
- package/dist/delivery/main.d.ts +0 -48
- package/dist/delivery/main.js +0 -115
- package/dist/explicit-constructed-response.css +0 -2
- package/dist/index.d.ts +0 -1
- package/dist/index.iife.d.ts +0 -8
- package/dist/index.iife.js +0 -393
- package/dist/index.js +0 -2
- package/dist/node_modules/.bun/he@1.2.0/node_modules/he/he.js +0 -3993
- package/dist/print/index.d.ts +0 -15
- package/dist/print/index.js +0 -40
- package/dist/runtime-support.d.ts +0 -12
- package/dist/runtime-support.js +0 -12
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main-Czk7a-Zt.js","names":["t","t","t","n","t","t","n","t","t","n","t","t","s","i","a","o","n","r","t","n","t","t","t","t","l","a","i","r","o","s","c","t","r","n","t","a","t","n","r","i"],"sources":["../../../../lib-react/correct-answer-toggle/dist/expander.js","../../../../lib-react/icons/dist/correct-response-icon.js","../../../../lib-react/correct-answer-toggle/dist/index.js","../../../../lib-react/mask-markup/dist/componentize.js","../../../../lib-react/mask-markup/dist/_virtual/_rolldown/runtime.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/prefixProperties.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/cssUnitless.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/toUpperFirst.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/prefixInfo.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/hyphenRe.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/camelize.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/separate.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/hyphenate.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/toLowerFirst.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/prefixer.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/cssPrefix.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/hasOwn.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/isObject.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/isFunction.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/toStyleObject.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/toStyleString.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/to-style@1.3.3/node_modules/to-style/index.js","../../../../lib-react/mask-markup/dist/serialization.js","../../../../lib-react/mask-markup/dist/mask.js","../../../../lib-react/mask-markup/dist/with-mask.js","../../../../lib-react/mask-markup/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js","../../../../lib-react/mask-markup/dist/constructed-response.js","../../src/delivery/main.tsx"],"sourcesContent":["import { styled as e } from \"@mui/material/styles\";\nimport { CSSTransition as t } from \"react-transition-group\";\nimport { jsx as n } from \"react/jsx-runtime\";\nimport { useRef as r } from \"react\";\nimport i from \"prop-types\";\n//#region src/expander.tsx\nvar a = \"height ease-in 300ms, opacity ease-in 300ms\", o = e(\"div\")(() => ({\n\tposition: \"relative\",\n\theight: 0,\n\toverflow: \"hidden\",\n\tdisplay: \"flex\",\n\tvisibility: \"hidden\",\n\twidth: 0,\n\t\"&.enter\": {\n\t\ttransition: a,\n\t\topacity: 1,\n\t\theight: \"auto\",\n\t\twidth: \"auto\",\n\t\tvisibility: \"visible\",\n\t\tminHeight: \"25px\"\n\t},\n\t\"&.enter-done\": {\n\t\theight: \"auto\",\n\t\tvisibility: \"visible\",\n\t\twidth: \"auto\",\n\t\tminHeight: \"25px\"\n\t},\n\t\"&.exit\": {\n\t\ttransition: a,\n\t\topacity: 0,\n\t\theight: 0,\n\t\tvisibility: \"visible\",\n\t\twidth: 0\n\t},\n\t\"&.exit-done\": {\n\t\topacity: 0,\n\t\tvisibility: \"hidden\",\n\t\theight: 0,\n\t\twidth: 0\n\t}\n})), s = (e) => {\n\tlet { show: i, children: a, className: s } = e, c = r(null);\n\treturn /* @__PURE__ */ n(t, {\n\t\tnodeRef: c,\n\t\tin: i,\n\t\tappear: !0,\n\t\tmountOnEnter: !1,\n\t\ttimeout: 300,\n\t\tclassNames: {\n\t\t\tenter: \"enter\",\n\t\t\tenterDone: \"enter-done\",\n\t\t\texit: \"exit\",\n\t\t\texitDone: \"exit-done\"\n\t\t},\n\t\tchildren: /* @__PURE__ */ n(o, {\n\t\t\tref: c,\n\t\t\tclassName: s,\n\t\t\tchildren: a\n\t\t})\n\t});\n};\ns.propTypes = {\n\tshow: i.bool.isRequired,\n\tclassName: i.string,\n\tchildren: i.oneOfType([i.arrayOf(i.node), i.node]).isRequired\n};\n//#endregion\nexport { s as default };\n","import \"react\";\nimport e from \"prop-types\";\nimport { jsx as t, jsxs as n } from \"react/jsx-runtime\";\nimport { styled as r } from \"@mui/material/styles\";\n//#region src/correct-response-icon.tsx\nvar i = ({ bgFill: e, fgFill: r }) => /* @__PURE__ */ n(\"svg\", {\n\tpreserveAspectRatio: \"xMinYMin meet\",\n\tversion: \"1.1\",\n\tviewBox: \"-283 359 34 35\",\n\tstyle: { enableBackground: \"new -283 359 34 35\" },\n\tchildren: [\n\t\t/* @__PURE__ */ t(\"circle\", {\n\t\t\tcx: \"-266\",\n\t\t\tcy: \"375.9\",\n\t\t\tr: \"14\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\td: \"M-280.5,375.9c0-8,6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5s-6.5,14.5-14.5,14.5S-280.5,383.9-280.5,375.9z\\n M-279.5,375.9c0,7.4,6.1,13.5,13.5,13.5c7.4,0,13.5-6.1,13.5-13.5s-6.1-13.5-13.5-13.5C-273.4,362.4-279.5,368.5-279.5,375.9z\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"polygon\", {\n\t\t\tpoints: \"-265.4,383.1 -258.6,377.2 -261.2,374.2 -264.3,376.9 -268.9,368.7 -272.4,370.6\",\n\t\t\tfill: r\n\t\t})\n\t]\n});\ni.propTypes = {\n\tbgFill: e.string.isRequired,\n\tfgFill: e.string.isRequired\n};\nvar a = ({ bgFill: e, fgFill: r, borderFill: i }) => /* @__PURE__ */ n(\"svg\", {\n\tpreserveAspectRatio: \"xMinYMin meet\",\n\tversion: \"1.1\",\n\tviewBox: \"-129.5 127 34 35\",\n\tstyle: { enableBackground: \"new -129.5 127 34 35\" },\n\tchildren: [\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\tstyle: {\n\t\t\t\tfill: \"#D0CAC5\",\n\t\t\t\tstroke: \"#E6E3E0\",\n\t\t\t\tstrokeWidth: .75,\n\t\t\t\tstrokeMiterlimit: 10\n\t\t\t},\n\t\t\td: \"M-112.9,160.4c-8.5,0-15.5-6.9-15.5-15.5c0-8.5,6.9-15.5,15.5-15.5s15.5,6.9,15.5,15.5\\n C-97.4,153.5-104.3,160.4-112.9,160.4z\"\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\tstyle: {\n\t\t\t\tfill: \"#B3ABA4\",\n\t\t\t\tstroke: \"#CDC7C2\",\n\t\t\t\tstrokeWidth: .5,\n\t\t\t\tstrokeMiterlimit: 10\n\t\t\t},\n\t\t\td: \"M-113.2,159c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-105.2,159-113.2,159z\"\n\t\t}),\n\t\t/* @__PURE__ */ t(\"circle\", {\n\t\t\tcx: \"-114.2\",\n\t\t\tcy: \"143.5\",\n\t\t\tr: \"14\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\td: \"M-114.2,158c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-106.2,158-114.2,158z\\n M-114.2,130c-7.4,0-13.5,6.1-13.5,13.5s6.1,13.5,13.5,13.5s13.5-6.1,13.5-13.5S-106.8,130-114.2,130z\",\n\t\t\tfill: i\n\t\t}),\n\t\t/* @__PURE__ */ t(\"polygon\", {\n\t\t\tpoints: \"-114.8,150.7 -121.6,144.8 -119,141.8 -115.9,144.5 -111.3,136.3 -107.8,138.2\",\n\t\t\tfill: r\n\t\t})\n\t]\n});\na.propTypes = {\n\tbgFill: e.string.isRequired,\n\tfgFill: e.string.isRequired,\n\tborderFill: e.string.isRequired\n};\nvar o = r(\"div\")(({ size: e }) => ({\n\twidth: e || \"25px\",\n\theight: e || \"25px\"\n})), s = ({ open: e, size: n }) => /* @__PURE__ */ t(o, {\n\tsize: n,\n\tchildren: e ? /* @__PURE__ */ t(i, {\n\t\tbgFill: \"#bce2ff\",\n\t\tfgFill: \"#1a9cff\"\n\t}) : /* @__PURE__ */ t(a, {\n\t\tbgFill: \"white\",\n\t\tfgFill: \"#1a9cff\",\n\t\tborderFill: \"#bce2ff\"\n\t})\n});\ns.propTypes = {\n\topen: e.bool,\n\tsize: e.string\n}, s.defaultProps = { open: !1 };\n//#endregion\nexport { s as default };\n","import e from \"./expander.js\";\nimport { styled as t } from \"@mui/material/styles\";\nimport { CSSTransition as n } from \"react-transition-group\";\nimport { CorrectResponse as r } from \"@pie-lib/icons\";\nimport * as i from \"@pie-lib/render-ui\";\nimport { Readable as a, color as o } from \"@pie-lib/render-ui\";\nimport { jsx as s, jsxs as c } from \"react/jsx-runtime\";\nimport l from \"react\";\nimport u from \"prop-types\";\nimport d from \"@pie-lib/translator\";\n//#region src/index.tsx\nfunction f(e) {\n\treturn typeof e == \"function\" || typeof e == \"object\" && !!e && typeof e.$$typeof == \"symbol\";\n}\nfunction p(e, t) {\n\treturn !e || f(e) ? e : f(e.default) ? e.default : t && f(e[t]) ? e[t] : t && f(e[t]?.default) ? e[t].default : e;\n}\nvar m = p(a, \"Readable\") || p(_.Readable, \"Readable\"), h = i, g = h.default, _ = g && typeof g == \"object\" ? g : h, { translator: v } = d, y = {\n\tWebkitTouchCallout: \"none\",\n\tWebkitUserSelect: \"none\",\n\tKhtmlUserSelect: \"none\",\n\tMozUserSelect: \"none\",\n\tmsUserSelect: \"none\",\n\tuserSelect: \"none\"\n}, b = t(\"div\")(() => ({\n\twidth: \"100%\",\n\tcursor: \"pointer\"\n})), x = t(\"div\")(() => ({\n\tmargin: \"0 auto\",\n\ttextAlign: \"center\",\n\tdisplay: \"flex\"\n})), S = t(\"div\")(() => ({\n\twidth: \"fit-content\",\n\tminWidth: \"140px\",\n\talignSelf: \"center\",\n\tverticalAlign: \"middle\",\n\tcolor: `var(--correct-answer-toggle-label-color, ${o.text()})`,\n\tfontWeight: \"normal\",\n\t...y\n})), C = t(\"div\")(() => ({\n\tposition: \"absolute\",\n\twidth: \"25px\",\n\t\"&.enter\": { opacity: \"0\" },\n\t\"&.enter-active\": {\n\t\topacity: \"1\",\n\t\ttransition: \"opacity 0.3s ease-in\"\n\t},\n\t\"&.exit\": { opacity: \"1\" },\n\t\"&.exit-active\": {\n\t\topacity: \"0\",\n\t\ttransition: \"opacity 0.3s ease-in\"\n\t}\n})), w = t(\"div\")(() => ({\n\twidth: \"25px\",\n\tmarginRight: \"5px\",\n\tdisplay: \"flex\",\n\talignItems: \"center\"\n})), T = class t extends l.Component {\n\tstatic propTypes = {\n\t\tonToggle: u.func,\n\t\ttoggled: u.bool,\n\t\tshow: u.bool,\n\t\thideMessage: u.string,\n\t\tshowMessage: u.string,\n\t\tclassName: u.string,\n\t\tlanguage: u.string\n\t};\n\tstatic defaultProps = {\n\t\tshowMessage: \"Show correct answer\",\n\t\thideMessage: \"Hide correct answer\",\n\t\tshow: !1,\n\t\ttoggled: !1\n\t};\n\tconstructor(e) {\n\t\tsuper(e), this.state = { show: e.show }, this.openIconRef = l.createRef(), this.closedIconRef = l.createRef(), t.defaultProps = {\n\t\t\t...t.defaultProps,\n\t\t\tshowMessage: v.t(\"common:showCorrectAnswer\", { lng: e.language }),\n\t\t\thideMessage: v.t(\"common:hideCorrectAnswer\", { lng: e.language })\n\t\t};\n\t}\n\tonClick() {\n\t\tthis.props.onToggle(!this.props.toggled);\n\t}\n\tonTouch(e) {\n\t\te.preventDefault(), this.props.onToggle(!this.props.toggled);\n\t}\n\tUNSAFE_componentWillReceiveProps(e) {\n\t\tthis.setState({ show: e.show }), e.language !== this.props?.language && (t.defaultProps = {\n\t\t\t...t.defaultProps,\n\t\t\tshowMessage: v.t(\"common:showCorrectAnswer\", { lng: e.language }),\n\t\t\thideMessage: v.t(\"common:hideCorrectAnswer\", { lng: e.language })\n\t\t});\n\t}\n\trender() {\n\t\tlet { className: t, toggled: i, hideMessage: a, showMessage: o } = this.props;\n\t\treturn /* @__PURE__ */ s(b, {\n\t\t\tclassName: t,\n\t\t\tchildren: /* @__PURE__ */ s(e, {\n\t\t\t\tshow: this.state.show,\n\t\t\t\tchildren: /* @__PURE__ */ c(x, {\n\t\t\t\t\tonClick: this.onClick.bind(this),\n\t\t\t\t\tonTouchEnd: this.onTouch.bind(this),\n\t\t\t\t\tchildren: [/* @__PURE__ */ c(w, { children: [/* @__PURE__ */ s(n, {\n\t\t\t\t\t\tnodeRef: this.openIconRef,\n\t\t\t\t\t\ttimeout: 400,\n\t\t\t\t\t\tin: i,\n\t\t\t\t\t\texit: !i,\n\t\t\t\t\t\tclassNames: {\n\t\t\t\t\t\t\tenter: \"enter\",\n\t\t\t\t\t\t\tenterActive: \"enter-active\",\n\t\t\t\t\t\t\texit: \"exit\",\n\t\t\t\t\t\t\texitActive: \"exit-active\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(C, {\n\t\t\t\t\t\t\tref: this.openIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ s(r, { open: i }, \"correct-open\")\n\t\t\t\t\t\t})\n\t\t\t\t\t}), /* @__PURE__ */ s(n, {\n\t\t\t\t\t\tnodeRef: this.closedIconRef,\n\t\t\t\t\t\ttimeout: 5e3,\n\t\t\t\t\t\tin: !i,\n\t\t\t\t\t\texit: i,\n\t\t\t\t\t\tclassNames: {\n\t\t\t\t\t\t\tenter: \"enter\",\n\t\t\t\t\t\t\tenterActive: \"enter-active\",\n\t\t\t\t\t\t\texit: \"exit\",\n\t\t\t\t\t\t\texitActive: \"exit-active\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(C, {\n\t\t\t\t\t\t\tref: this.closedIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ s(r, { open: i }, \"correct-closed\")\n\t\t\t\t\t\t})\n\t\t\t\t\t})] }), /* @__PURE__ */ s(m, {\n\t\t\t\t\t\tfalse: !0,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(S, {\n\t\t\t\t\t\t\t\"aria-hidden\": !this.state.show,\n\t\t\t\t\t\t\tchildren: i ? a : o\n\t\t\t\t\t\t})\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t})\n\t\t});\n\t}\n};\n//#endregion\nexport { T as CorrectAnswerToggle, T as default };\n","//#region src/componentize.tsx\nvar e = /\\{\\{(\\d+)\\}\\}/g, t = (t, n) => t ? { markup: t.replace(e, (e, t) => `<span data-component=\"${n}\" data-id=\"${t}\"></span>`) } : { markup: \"\" };\n//#endregion\nexport { t as default };\n","//#region \\0rolldown/runtime.js\nvar e = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports);\n//#endregion\nexport { e as __commonJSMin };\n","import { __commonJSMin as e } from \"../../../../../../_virtual/_rolldown/runtime.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/prefixProperties.js\nvar t = /* @__PURE__ */ e(((e, t) => {\n\tt.exports = {\n\t\t\"border-radius\": 1,\n\t\t\"border-top-left-radius\": 1,\n\t\t\"border-top-right-radius\": 1,\n\t\t\"border-bottom-left-radius\": 1,\n\t\t\"border-bottom-right-radius\": 1,\n\t\t\"box-shadow\": 1,\n\t\torder: 1,\n\t\tflex: function(e, t) {\n\t\t\treturn [t + \"box-flex\"];\n\t\t},\n\t\t\"box-flex\": 1,\n\t\t\"box-align\": 1,\n\t\tanimation: 1,\n\t\t\"animation-duration\": 1,\n\t\t\"animation-name\": 1,\n\t\ttransition: 1,\n\t\t\"transition-duration\": 1,\n\t\ttransform: 1,\n\t\t\"transform-style\": 1,\n\t\t\"transform-origin\": 1,\n\t\t\"backface-visibility\": 1,\n\t\tperspective: 1,\n\t\t\"box-pack\": 1\n\t};\n}));\n//#endregion\nexport default t();\nexport { t as require_prefixProperties };\n","\"use exports\";\nimport { __commonJSMin as e } from \"../../../../../../_virtual/_rolldown/runtime.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/cssUnitless.js\nvar t = /* @__PURE__ */ e(((e, t) => {\n\tt.exports = {\n\t\tanimation: 1,\n\t\t\"column-count\": 1,\n\t\tcolumns: 1,\n\t\t\"font-weight\": 1,\n\t\topacity: 1,\n\t\t\"order \": 1,\n\t\t\"z-index\": 1,\n\t\tzoom: 1,\n\t\tflex: 1,\n\t\t\"box-flex\": 1,\n\t\ttransform: 1,\n\t\tperspective: 1,\n\t\t\"box-pack\": 1,\n\t\t\"box-align\": 1,\n\t\tcolspan: 1,\n\t\trowspan: 1\n\t};\n}));\n//#endregion\nexport default t();\nexport { t as require_cssUnitless };\n","import { __commonJSMin as e } from \"../../../../../../../_virtual/_rolldown/runtime.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/toUpperFirst.js\nvar t = /* @__PURE__ */ e(((e, t) => {\n\tt.exports = function(e) {\n\t\treturn e.length ? e.charAt(0).toUpperCase() + e.substring(1) : e;\n\t};\n}));\n//#endregion\nexport default t();\nexport { t as require_toUpperFirst };\n","import { __commonJSMin as e } from \"../../../../../../_virtual/_rolldown/runtime.js\";\nimport { require_toUpperFirst as t } from \"./stringUtils/toUpperFirst.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/prefixInfo.js\nvar n = /* @__PURE__ */ e(((e, n) => {\n\tvar r = t(), i = /^(Moz|Webkit|Khtml|O|ms|Icab)(?=[A-Z])/, a = typeof document > \"u\" ? {} : document.documentElement.style;\n\tn.exports = (function() {\n\t\tvar e = (function() {\n\t\t\tfor (var e in a) if (i.test(e)) return e.match(i)[0];\n\t\t\treturn \"WebkitOpacity\" in a ? \"Webkit\" : \"KhtmlOpacity\" in a ? \"Khtml\" : \"\";\n\t\t})();\n\t\treturn {\n\t\t\tstyle: e,\n\t\t\tcss: \"-\" + e.toLowerCase() + \"-\",\n\t\t\tdom: {\n\t\t\t\tWebkit: \"WebKit\",\n\t\t\t\tms: \"MS\",\n\t\t\t\to: \"WebKit\"\n\t\t\t}[e] || r(e)\n\t\t};\n\t})();\n}));\n//#endregion\nexport default n();\nexport { n as require_prefixInfo };\n","import { __commonJSMin as e } from \"../../../../../../../_virtual/_rolldown/runtime.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/hyphenRe.js\nvar t = /* @__PURE__ */ e(((e, t) => {\n\tt.exports = /[-\\s]+(.)?/g;\n}));\n//#endregion\nexport default t();\nexport { t as require_hyphenRe };\n","import { __commonJSMin as e } from \"../../../../../../../_virtual/_rolldown/runtime.js\";\nimport { require_hyphenRe as t } from \"./hyphenRe.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/camelize.js\nvar n = /* @__PURE__ */ e(((e, n) => {\n\tvar r = function(e, t) {\n\t\treturn t ? t.toUpperCase() : \"\";\n\t}, i = t();\n\tn.exports = function(e) {\n\t\treturn e ? e.replace(i, r) : \"\";\n\t};\n}));\n//#endregion\nexport default n();\nexport { n as require_camelize };\n","import { __commonJSMin as e } from \"../../../../../../../_virtual/_rolldown/runtime.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/separate.js\nvar t = /* @__PURE__ */ e(((e, t) => {\n\tvar n = /::/g, r = /([A-Z]+)([A-Z][a-z])/g, i = /([a-z\\d])([A-Z])/g, a = /_/g;\n\tt.exports = function(e, t) {\n\t\treturn e ? e.replace(n, \"/\").replace(r, \"$1_$2\").replace(i, \"$1_$2\").replace(a, t || \"-\") : \"\";\n\t};\n}));\n//#endregion\nexport default t();\nexport { t as require_separate };\n","import { __commonJSMin as e } from \"../../../../../../../_virtual/_rolldown/runtime.js\";\nimport { require_separate as t } from \"./separate.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/hyphenate.js\nvar n = /* @__PURE__ */ e(((e, n) => {\n\tvar r = t();\n\tn.exports = function(e) {\n\t\treturn r(e).toLowerCase();\n\t};\n}));\n//#endregion\nexport default n();\nexport { n as require_hyphenate };\n","import { __commonJSMin as e } from \"../../../../../../../_virtual/_rolldown/runtime.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/stringUtils/toLowerFirst.js\nvar t = /* @__PURE__ */ e(((e, t) => {\n\tt.exports = function(e) {\n\t\treturn e.length ? e.charAt(0).toLowerCase() + e.substring(1) : e;\n\t};\n}));\n//#endregion\nexport default t();\nexport { t as require_toLowerFirst };\n","import { __commonJSMin as e } from \"../../../../../../_virtual/_rolldown/runtime.js\";\nimport { require_prefixProperties as t } from \"./prefixProperties.js\";\nimport { require_toUpperFirst as n } from \"./stringUtils/toUpperFirst.js\";\nimport { require_prefixInfo as r } from \"./prefixInfo.js\";\nimport { require_camelize as i } from \"./stringUtils/camelize.js\";\nimport { require_hyphenate as a } from \"./stringUtils/hyphenate.js\";\nimport { require_toLowerFirst as o } from \"./stringUtils/toLowerFirst.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/prefixer.js\nvar s = /* @__PURE__ */ e(((e, s) => {\n\tvar c = i(), l = a(), u = o(), d = n(), f = r(), p = t(), m = typeof document > \"u\" ? {} : document.documentElement.style;\n\ts.exports = function(e) {\n\t\treturn function(t, n) {\n\t\t\tn ||= {};\n\t\t\tvar r = u(c(t)), i = l(t), a = e ? r : i, o = f.style ? e ? f.style : f.css : \"\";\n\t\t\tif (r in m) return n.asString ? a : [a];\n\t\t\tvar s = a, h = p[i], g = [];\n\t\t\tif (e && (s = d(a)), typeof h == \"function\") {\n\t\t\t\tvar _ = h(a, o) || [];\n\t\t\t\t_ && !Array.isArray(_) && (_ = [_]), _.length && (_ = _.map(function(t) {\n\t\t\t\t\treturn e ? u(c(t)) : l(t);\n\t\t\t\t})), g = g.concat(_);\n\t\t\t}\n\t\t\treturn o && g.push(o + s), g.push(a), n.asString || g.length == 1 ? g[0] : g;\n\t\t};\n\t};\n}));\n//#endregion\nexport default s();\nexport { s as require_prefixer };\n","import { __commonJSMin as e } from \"../../../../../../_virtual/_rolldown/runtime.js\";\nimport { require_prefixer as t } from \"./prefixer.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/cssPrefix.js\nvar n = /* @__PURE__ */ e(((e, n) => {\n\tn.exports = t()();\n}));\n//#endregion\nexport default n();\nexport { n as require_cssPrefix };\n","import { __commonJSMin as e } from \"../../../../../../_virtual/_rolldown/runtime.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/hasOwn.js\nvar t = /* @__PURE__ */ e(((e, t) => {\n\tvar n = Object.prototype.hasOwnProperty;\n\tt.exports = function(e, t) {\n\t\treturn n.call(e, t);\n\t};\n}));\n//#endregion\nexport default t();\nexport { t as require_hasOwn };\n","import { __commonJSMin as e } from \"../../../../../../_virtual/_rolldown/runtime.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/isObject.js\nvar t = /* @__PURE__ */ e(((e, t) => {\n\tvar n = Object.prototype.toString;\n\tt.exports = function(e) {\n\t\treturn !!e && n.call(e) === \"[object Object]\";\n\t};\n}));\n//#endregion\nexport default t();\nexport { t as require_isObject };\n","import { __commonJSMin as e } from \"../../../../../../_virtual/_rolldown/runtime.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/isFunction.js\nvar t = /* @__PURE__ */ e(((e, t) => {\n\tvar n = Object.prototype.toString;\n\tt.exports = function(e) {\n\t\treturn n.apply(e) === \"[object Function]\";\n\t};\n}));\n//#endregion\nexport default t();\nexport { t as require_isFunction };\n","import { __commonJSMin as e } from \"../../../../../../_virtual/_rolldown/runtime.js\";\nimport { require_cssUnitless as t } from \"./cssUnitless.js\";\nimport { require_prefixInfo as n } from \"./prefixInfo.js\";\nimport { require_camelize as r } from \"./stringUtils/camelize.js\";\nimport { require_hyphenate as i } from \"./stringUtils/hyphenate.js\";\nimport { require_cssPrefix as a } from \"./cssPrefix.js\";\nimport { require_hasOwn as o } from \"./hasOwn.js\";\nimport { require_isObject as s } from \"./isObject.js\";\nimport { require_isFunction as c } from \"./isFunction.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/toStyleObject.js\nvar l = /* @__PURE__ */ e(((e, l) => {\n\tn();\n\tvar u = a(), d = i(), f = r(), p = o(), m = s(), h = c(), g = function(e, t, n, r) {\n\t\tu(t).forEach(function(t) {\n\t\t\te[r ? r(t) : t] = n;\n\t\t});\n\t}, _ = function(e) {\n\t\te = (e || \"\").split(\";\");\n\t\tvar t = {};\n\t\treturn e.forEach(function(e) {\n\t\t\tvar n = e.split(\":\");\n\t\t\tn.length == 2 && (t[n[0].trim()] = n[1].trim());\n\t\t}), t;\n\t}, v = { cssUnitless: t() }, y = function(e, t, n, r) {\n\t\ttypeof e == \"string\" && (e = _(e)), t ||= v, t.cssUnitless = t.cssUnitless || v.cssUnitless, r ||= {};\n\t\tvar i = t.scope || {}, a = t.addUnits == null ? i && i.addUnits != null ? i.addUnits : !0 : t.addUnits, o = (t.cssUnitless == null ? i ? i.cssUnitless : null : t.cssUnitless) || {}, s = (t.cssUnit || i ? i.cssUnit : null) || \"px\", c = t.prefixProperties || (i ? i.prefixProperties : null) || {}, l = t.camelize ? f : d, u, b, x, S, C, w, T, E;\n\t\tfor (x in e) if (p(e, x)) {\n\t\t\tif (S = e[x], b = d(n ? n + x : x), u = !1, E = !1, h(S) && (T = S.call(i || e, S, x, b, e), m(T) && T.value != null ? (S = T.value, E = T.prefix, b = T.name ? d(T.name) : b) : S = T), C = typeof S, w = C == \"number\" || C == \"string\" && S != \"\" && S * 1 == S, S == null || b == null || b === \"\") continue;\n\t\t\tif ((w || C == \"string\") && (u = !0), !u && S.value != null && S.prefix && (u = !0, E = S.prefix, S = S.value), u) {\n\t\t\t\tif (E ||= !!c[b], w && (S = a && !(b in o) ? S + s : S + \"\"), (b == \"border\" || !b.indexOf(\"border\") && !~b.indexOf(\"radius\") && !~b.indexOf(\"width\")) && w && (b += \"-width\"), !b.indexOf(\"border-radius-\") && (b.replace(/border(-radius)(-(.*))/, function(e, t, n) {\n\t\t\t\t\tvar r = {\n\t\t\t\t\t\t\"-top\": [\"-top-left\", \"-top-right\"],\n\t\t\t\t\t\t\"-left\": [\"-top-left\", \"-bottom-left\"],\n\t\t\t\t\t\t\"-right\": [\"-top-right\", \"-bottom-right\"],\n\t\t\t\t\t\t\"-bottom\": [\"-bottom-left\", \"-bottom-right\"]\n\t\t\t\t\t};\n\t\t\t\t\tn in r ? (b = [], r[n].forEach(function(e) {\n\t\t\t\t\t\tb.push(\"border\" + e + t);\n\t\t\t\t\t})) : b = \"border\" + n + t;\n\t\t\t\t}), Array.isArray(b))) {\n\t\t\t\t\tb.forEach(function(e) {\n\t\t\t\t\t\tE ? g(r, e, S, l) : r[l(e)] = S;\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tE ? g(r, b, S, l) : r[l(b)] = S;\n\t\t\t} else y(S, t, b + \"-\", r);\n\t\t}\n\t\treturn r;\n\t};\n\tl.exports = y;\n}));\n//#endregion\nexport default l();\nexport { l as require_toStyleObject };\n","import { __commonJSMin as e } from \"../../../../../../_virtual/_rolldown/runtime.js\";\nimport { require_hasOwn as t } from \"./hasOwn.js\";\nimport { require_toStyleObject as n } from \"./toStyleObject.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/src/toStyleString.js\nvar r = /* @__PURE__ */ e(((e, r) => {\n\tvar i = n(), a = t();\n\tr.exports = function(e, t) {\n\t\te = i(e, t);\n\t\tvar n = [], r;\n\t\tfor (r in e) a(e, r) && n.push(r + \": \" + e[r]);\n\t\treturn n.join(\"; \");\n\t};\n}));\n//#endregion\nexport default r();\nexport { r as require_toStyleString };\n","import { __commonJSMin as e } from \"../../../../../_virtual/_rolldown/runtime.js\";\nimport { require_prefixProperties as t } from \"./src/prefixProperties.js\";\nimport { require_cssUnitless as n } from \"./src/cssUnitless.js\";\nimport { require_toStyleObject as r } from \"./src/toStyleObject.js\";\nimport { require_toStyleString as i } from \"./src/toStyleString.js\";\n//#region ../../../node_modules/.bun/to-style@1.3.3/node_modules/to-style/index.js\nvar a = /* @__PURE__ */ e(((e, a) => {\n\ta.exports = {\n\t\tprefixProperties: t(),\n\t\tcssUnitless: n(),\n\t\tobject: r(),\n\t\tstring: i()\n\t};\n}));\n//#endregion\nexport default a();\nexport { a as require_to_style };\n","import { require_to_style as e } from \"./node_modules/.bun/to-style@1.3.3/node_modules/to-style/index.js\";\nimport t from \"debug\";\n//#region src/serialization.ts\nvar n = e(), r = t(\"@pie-lib:mask-markup:serialization\"), i = [\"span\"], a = [\n\t\"em\",\n\t\"strong\",\n\t\"u\"\n], o = 3, s = 8, c = 1, l = (e) => {\n\tif (!e.attributes || e.attributes.length <= 0) return;\n\tlet t = {}, n;\n\tfor (n = 0; n < e.attributes.length; n++) {\n\t\tlet r = e.attributes[n];\n\t\tt[r.name] = r.value;\n\t}\n\treturn t;\n}, u = (e) => i.includes(e) ? \"inline\" : a.includes(e) ? \"mark\" : \"block\", d = (e) => {\n\tlet t = /([\\w-]*)\\s*:\\s*([^;]*)/g, n, r = {};\n\tfor (; n = t.exec(e);) r[n[1]] = n[2].trim();\n\treturn r;\n}, f = (e) => (0, n.object)(e, {\n\tcamelize: !0,\n\taddUnits: !1\n}), p = (e, t) => f(d(e.getAttribute(t))), m = (e, t, n) => {\n\tlet r = e.getAttribute(n);\n\treturn delete t.class, r;\n}, h = (e) => (t, n) => {\n\tif (!e.getAttribute) return t;\n\tif (e.getAttribute(n)) switch (n) {\n\t\tcase \"style\":\n\t\t\tt.style = p(e, n);\n\t\t\tbreak;\n\t\tcase \"class\":\n\t\t\tt.className = m(e, t, n);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tt[n] = e.getAttribute(n);\n\t\t\tbreak;\n\t}\n\treturn t;\n}, g = [\n\t\"border\",\n\t\"class\",\n\t\"style\"\n], _ = {\n\tb: \"bold\",\n\tem: \"italic\",\n\tu: \"underline\",\n\ts: \"strikethrough\",\n\tcode: \"code\",\n\tstrong: \"strong\"\n}, v = (e, t = []) => {\n\tif (e.nodeType === s) return null;\n\tif (e.nodeType === o) {\n\t\tlet n = { text: e.textContent };\n\t\treturn t.length > 0 && (n.marks = t.map((e) => ({\n\t\t\ttype: e,\n\t\t\tdata: void 0\n\t\t}))), {\n\t\t\tobject: \"text\",\n\t\t\tleaves: [n]\n\t\t};\n\t}\n\tif (e.nodeType === c) {\n\t\tlet n = e.tagName.toLowerCase(), i = _[n];\n\t\tif (i) return r(\"[deserialize] mark: \", i), {\n\t\t\t_flatten: !0,\n\t\t\tnodes: y(e.childNodes, [...t, i])\n\t\t};\n\t\tif (n === \"math\") return {\n\t\t\tisMath: !0,\n\t\t\tnodes: [e]\n\t\t};\n\t\tlet a = l(e) || {};\n\t\tn === \"audio\" && a.controls === \"\" && (a.controls = !0);\n\t\tlet o = g.reduce(h(e), { ...a }), s = u(n), c = y(e.childNodes, t);\n\t\treturn {\n\t\t\tobject: s,\n\t\t\ttype: n,\n\t\t\tdata: {\n\t\t\t\tdataset: { ...e.dataset },\n\t\t\t\tattributes: { ...o }\n\t\t\t},\n\t\t\tnodes: c\n\t\t};\n\t}\n\treturn null;\n}, y = (e, t = []) => {\n\tlet n = [];\n\tfor (let r = 0; r < e.length; r++) {\n\t\tlet i = v(e[r], t);\n\t\ti !== null && (i._flatten && i.nodes ? n.push(...i.nodes) : n.push(i));\n\t}\n\treturn n;\n}, b = (e) => {\n\tif (!e || !e.trim()) return {\n\t\tobject: \"value\",\n\t\tdocument: {\n\t\t\tobject: \"document\",\n\t\t\tdata: {},\n\t\t\tnodes: [{\n\t\t\t\tobject: \"block\",\n\t\t\t\ttype: \"span\",\n\t\t\t\tdata: {},\n\t\t\t\tisVoid: !1,\n\t\t\t\tnodes: []\n\t\t\t}]\n\t\t}\n\t};\n\tlet t = y(new DOMParser().parseFromString(e, \"text/html\").body.childNodes);\n\treturn !t.some((e) => e.object === \"block\" || e.object === \"inline\") && t.length > 0 && (t = [{\n\t\tobject: \"block\",\n\t\ttype: \"span\",\n\t\tdata: {},\n\t\tisVoid: !1,\n\t\tnodes: t\n\t}]), t.length === 0 && (t = [{\n\t\tobject: \"block\",\n\t\ttype: \"span\",\n\t\tdata: {},\n\t\tisVoid: !1,\n\t\tnodes: []\n\t}]), {\n\t\tobject: \"value\",\n\t\tdocument: {\n\t\t\tobject: \"document\",\n\t\t\tdata: {},\n\t\t\tnodes: t\n\t\t}\n\t};\n};\n//#endregion\nexport { _ as MARK_TAGS, b as deserialize };\n","import { MARK_TAGS as e } from \"./serialization.js\";\nimport t from \"react\";\nimport n from \"prop-types\";\nimport { get as r } from \"@pie-element/shared-lodash\";\nimport { styled as i } from \"@mui/material/styles\";\nimport { renderMath as a } from \"@pie-element/shared-math-rendering-mathjax\";\nimport { jsx as o } from \"react/jsx-runtime\";\n//#region src/mask.tsx\nvar s = i(\"div\")(({ theme: e }) => ({\n\tpaddingTop: e.spacing(.5),\n\tpaddingBottom: e.spacing(.5)\n})), c = i(\"span\")(() => ({\n\tdisplay: \"inline-block\",\n\twidth: \".75em\"\n})), l = [\"tbody\", \"tr\"], u = (e, t) => {\n\tlet n = t.trim() === \"\", r = e && e.type;\n\tif (!(n && l.includes(r))) return t;\n}, d = (e) => {\n\tlet t = e.leaves.find((e) => r(e, \"marks\", []).length);\n\treturn t ? t.marks[0] : null;\n}, f = (t, n, r, i, a, l) => {\n\tif (!n) return null;\n\tlet p = [];\n\treturn (t.nodes || []).forEach((t, m) => {\n\t\tlet h = t.type ? `${t.type}-${m}` : `${m}`;\n\t\tif (t.isMath) return p.push(/* @__PURE__ */ o(\"span\", { dangerouslySetInnerHTML: { __html: `<math displaystyle=\"true\">${t.nodes[0].innerHTML}</math>` } })), p;\n\t\tif (i) {\n\t\t\tlet e = i(t, n, r);\n\t\t\tif (e) {\n\t\t\t\tlet n = t.data?.dataset?.component === \"blank\";\n\t\t\t\tn && p.push(/* @__PURE__ */ o(c, {}, `spacer-${m}`)), p.push(e), n && p.push(/* @__PURE__ */ o(c, {}, `spacer-${m}`));\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (t.object === \"text\") {\n\t\t\tlet n = t.leaves.reduce((e, t) => {\n\t\t\t\tlet n = t.text, r = u(a, n);\n\t\t\t\treturn r ? e + r : e;\n\t\t\t}, \"\"), r = d(t);\n\t\t\tif (r) {\n\t\t\t\tlet t;\n\t\t\t\tfor (t in e) if (e[t] === r.type) {\n\t\t\t\t\tlet e = t;\n\t\t\t\t\tp.push(/* @__PURE__ */ o(e, { children: n }, h));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else n.length > 0 && p.push(n);\n\t\t} else {\n\t\t\tlet e = f(t, n, r, i, t, l);\n\t\t\tif (t.type === \"p\" || t.type === \"paragraph\") p.push(/* @__PURE__ */ o(s, { children: e }, h));\n\t\t\telse {\n\t\t\t\tlet n = t.type;\n\t\t\t\tt.nodes && t.nodes.length > 0 ? p.push(/* @__PURE__ */ o(n, {\n\t\t\t\t\t...t.data.attributes,\n\t\t\t\t\tchildren: e\n\t\t\t\t}, h)) : p.push(/* @__PURE__ */ o(n, { ...t.data.attributes }, h));\n\t\t\t}\n\t\t}\n\t}), p;\n}, p = i(\"div\")(() => ({\n\tdisplay: \"initial\",\n\t\"&:not(.MathJax) table\": { borderCollapse: \"collapse\" },\n\t\"&:not(.MathJax) table td, &:not(.MathJax) table th\": {\n\t\tpadding: \"8px 12px\",\n\t\ttextAlign: \"left\"\n\t}\n})), m = class extends t.Component {\n\tconstructor(e) {\n\t\tsuper(e), this.internalContainerRef = t.createRef();\n\t}\n\tstatic propTypes = {\n\t\trenderChildren: n.func,\n\t\tlayout: n.object,\n\t\tvalue: n.object,\n\t\tonChange: n.func,\n\t\telementType: n.string,\n\t\tcontainerRef: n.oneOfType([n.func, n.shape({ current: n.instanceOf(Element) })])\n\t};\n\tcomponentDidMount() {\n\t\tlet e = this.props.containerRef || this.internalContainerRef;\n\t\te.current && typeof a == \"function\" && a(e.current);\n\t}\n\thandleChange = (e, t) => {\n\t\tlet n = {\n\t\t\t...this.props.value,\n\t\t\t[e]: t\n\t\t};\n\t\tthis.props.onChange(n);\n\t};\n\trender() {\n\t\tlet { value: e, layout: t, elementType: n, containerRef: r } = this.props, i = f(t, e, this.handleChange, this.props.renderChildren, null, n);\n\t\treturn /* @__PURE__ */ o(p, {\n\t\t\tref: r || this.internalContainerRef,\n\t\t\tchildren: i\n\t\t});\n\t}\n};\n//#endregion\nexport { m as default };\n","import { deserialize as e } from \"./serialization.js\";\nimport t from \"./mask.js\";\nimport n from \"./componentize.js\";\nimport r from \"react\";\nimport i from \"prop-types\";\nimport { jsx as a } from \"react/jsx-runtime\";\n//#region src/with-mask.tsx\nvar o = (t, r) => {\n\tlet { markup: i } = n(t, r);\n\treturn e(i).document;\n}, s = (e, n) => class extends r.Component {\n\tstatic propTypes = {\n\t\tmarkup: i.string,\n\t\tlayout: i.object,\n\t\tvalue: i.object,\n\t\tonChange: i.func,\n\t\tcustomMarkMarkupComponent: i.func,\n\t\telementType: i.string\n\t};\n\tconstructor(e) {\n\t\tsuper(e), this.containerRef = r.createRef();\n\t}\n\tcomponentDidUpdate(e) {\n\t\tif (this.props.markup !== e.markup) {\n\t\t\tlet e = this.containerRef.current;\n\t\t\t(e && e.querySelectorAll(\"[data-latex][data-math-handled=\\\"true\\\"]\") || []).forEach((e) => {\n\t\t\t\tlet t = e.querySelector(\"mjx-container\");\n\t\t\t\tt && e.removeChild(t), e.innerHTML = e.getAttribute(\"data-raw\"), e.removeAttribute(\"data-math-handled\");\n\t\t\t});\n\t\t}\n\t}\n\trender() {\n\t\tlet { markup: r, layout: i, value: s, onChange: c, elementType: l } = this.props, u = i || o(r, e);\n\t\treturn /* @__PURE__ */ a(t, {\n\t\t\tcontainerRef: this.containerRef,\n\t\t\telementType: l,\n\t\t\tlayout: u,\n\t\t\tvalue: s,\n\t\t\tonChange: c,\n\t\t\trenderChildren: n(this.props)\n\t\t});\n\t}\n};\n//#endregion\nexport { o as buildLayoutFromMarkup, s as withMask };\n","//#region ../../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs\nfunction e(t) {\n\tvar n, r, i = \"\";\n\tif (typeof t == \"string\" || typeof t == \"number\") i += t;\n\telse if (typeof t == \"object\") if (Array.isArray(t)) {\n\t\tvar a = t.length;\n\t\tfor (n = 0; n < a; n++) t[n] && (r = e(t[n])) && (i && (i += \" \"), i += r);\n\t} else for (r in t) t[r] && (i && (i += \" \"), i += r);\n\treturn i;\n}\nfunction t() {\n\tfor (var t, n, r = 0, i = \"\", a = arguments.length; r < a; r++) (t = arguments[r]) && (n = e(t)) && (i && (i += \" \"), i += n);\n\treturn i;\n}\n//#endregion\nexport { t as default };\n","import { withMask as e } from \"./with-mask.js\";\nimport t from \"./node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js\";\nimport \"react\";\nimport { styled as n } from \"@mui/material/styles\";\nimport { jsx as r } from \"react/jsx-runtime\";\nimport { color as i } from \"@pie-lib/render-ui\";\nimport a from \"@pie-lib/editable-html-tip-tap\";\n//#region src/constructed-response.tsx\nvar o = n(a)(() => ({\n\tdisplay: \"inline-block\",\n\tverticalAlign: \"middle\",\n\tmargin: \"4px\",\n\tborderRadius: \"4px\",\n\tborder: `1px solid ${i.black()}`,\n\t\"&.correct\": { border: `1px solid ${i.correct()}` },\n\t\"&.incorrect\": { border: `1px solid ${i.incorrect()}` }\n})), s = e(\"input\", (e) => (n, i) => {\n\tlet { adjustedLimit: a, disabled: s, feedback: c, showCorrectAnswer: l, maxLength: u, spellCheck: d, pluginProps: f, onChange: p } = e, m = n.data?.dataset || {};\n\tif (m.component === \"input\") {\n\t\tlet h = (e.choices && m && e.choices[m.id] || [])[0], g = l ? h && h.label : i[m.id] || \"\", _ = u && u[m.id], v = c && c[m.id], y = l || v === \"correct\", b = !l && v === \"incorrect\";\n\t\treturn /* @__PURE__ */ r(o, {\n\t\t\tid: m.id,\n\t\t\tdisabled: l || s,\n\t\t\tdisableUnderline: !0,\n\t\t\tonChange: (e) => {\n\t\t\t\tp({\n\t\t\t\t\t...i,\n\t\t\t\t\t[m.id]: e\n\t\t\t\t});\n\t\t\t},\n\t\t\tmarkup: g || \"\",\n\t\t\tcharactersLimit: a ? _ : 25,\n\t\t\tactivePlugins: [\"languageCharacters\"],\n\t\t\tpluginProps: f,\n\t\t\tlanguageCharactersProps: [{ language: \"spanish\" }],\n\t\t\tspellCheck: d,\n\t\t\tadjustWidthForLimit: !0,\n\t\t\tonKeyDown: (e) => {\n\t\t\t\tif (e.key === \"Enter\" || e.keyCode === 13) return !0;\n\t\t\t},\n\t\t\tautoWidthToolbar: !0,\n\t\t\ttoolbarOpts: {\n\t\t\t\tminWidth: \"auto\",\n\t\t\t\tnoBorder: !0,\n\t\t\t\tisHidden: !!f?.characters?.disabled\n\t\t\t},\n\t\t\tclassName: t({\n\t\t\t\tcorrect: y,\n\t\t\t\tincorrect: b\n\t\t\t})\n\t\t}, `${n.type}-input-${m.id}`);\n\t}\n});\n//#endregion\nexport { s as default };\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/explicit-constructed-response/src/main.jsx\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 PropTypes from 'prop-types';\nimport { isEmpty, isEqual, debounce } from '@pie-element/shared-lodash';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { ConstructedResponse } from '@pie-lib/mask-markup';\nimport { color, Collapsible as CollapsibleImport, hasText, hasMedia, PreviewPrompt as PreviewPromptImport, UiLayout as UiLayoutImport } from '@pie-lib/render-ui';\n\nfunction isRenderableReactInteropType(value: any) {\n return (\n typeof value === 'function' ||\n (typeof value === 'object' && value !== null && typeof value.$$typeof === 'symbol')\n );\n}\n\nfunction unwrapReactInteropSymbol(maybeSymbol: any, namedExport?: string) {\n if (!maybeSymbol) return maybeSymbol;\n if (isRenderableReactInteropType(maybeSymbol)) return maybeSymbol;\n if (isRenderableReactInteropType(maybeSymbol.default)) return maybeSymbol.default;\n if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport])) {\n return maybeSymbol[namedExport];\n }\n if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport]?.default)) {\n return maybeSymbol[namedExport].default;\n }\n return maybeSymbol;\n}\nconst UiLayout = unwrapReactInteropSymbol(UiLayoutImport, 'UiLayout') || unwrapReactInteropSymbol(renderUi.UiLayout, 'UiLayout');\nconst PreviewPrompt = unwrapReactInteropSymbol(PreviewPromptImport, 'PreviewPrompt') || unwrapReactInteropSymbol(renderUi.PreviewPrompt, 'PreviewPrompt');\nconst Collapsible = unwrapReactInteropSymbol(CollapsibleImport, 'Collapsible') || unwrapReactInteropSymbol(renderUi.Collapsible, 'Collapsible');\nimport * as RenderUiNamespace from '@pie-lib/render-ui';\nconst renderUiNamespaceAny = RenderUiNamespace as any;\nconst renderUiDefaultMaybe = renderUiNamespaceAny['default'];\nconst renderUi =\n renderUiDefaultMaybe && typeof renderUiDefaultMaybe === 'object'\n ? renderUiDefaultMaybe\n : renderUiNamespaceAny;\nimport { styled } from '@mui/material/styles';\nimport Translator from '@pie-lib/translator';\n\nconst { translator } = Translator;\n\nconst MainContainer: any = styled(UiLayout)(({ alwaysShowCorrect }) => ({\n color: color.text(),\n backgroundColor: color.background(),\n ...(alwaysShowCorrect && {\n '& *': {\n borderColor: `${color.text()} !important`,\n },\n }),\n}));\n\nconst NoteContainer: any = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst CollapsibleContainer: any = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst SrOnly: any = styled('h2')({\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n alwaysShowCorrect: PropTypes.bool,\n animationsDisabled: PropTypes.bool,\n disabled: PropTypes.bool,\n displayType: PropTypes.string,\n feedback: PropTypes.object,\n language: PropTypes.string,\n markup: PropTypes.string,\n maxLengthPerChoice: PropTypes.array,\n maxLengthPerChoiceEnabled: PropTypes.bool,\n mode: PropTypes.string,\n note: PropTypes.string,\n onChange: PropTypes.func,\n playerSpellCheckEnabled: PropTypes.bool,\n prompt: PropTypes.string,\n rationale: PropTypes.string,\n role: PropTypes.string,\n showNote: PropTypes.bool,\n teacherInstructions: PropTypes.string,\n value: PropTypes.object,\n responseAreaInputConfiguration: PropTypes.object,\n model: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n value: {},\n };\n\n state = {\n showCorrectAnswer: this.props.alwaysShowCorrect || false,\n };\n\n // if for all responses max length is 1, call onChange for each keystroke\n getChangeSession = (maxLengthPerChoice) =>\n maxLengthPerChoice && maxLengthPerChoice.every((val, _i, arr) => val === arr[0] && val === 1)\n ? this.props.onChange\n : debounce(this.props.onChange, 200, { maxWait: 200 });\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { maxLengthPerChoice, language } = this.props;\n let { note } = this.props;\n\n if (isEmpty(nextProps.feedback)) {\n this.setState({ showCorrectAnswer: false });\n }\n\n if (nextProps.alwaysShowCorrect) {\n this.setState({ showCorrectAnswer: true });\n }\n\n if (maxLengthPerChoice && !isEqual(maxLengthPerChoice, nextProps.maxLengthPerChoice)) {\n this.changeSession = this.getChangeSession(nextProps.maxLengthPerChoice);\n }\n\n // check if the note is the default one for prev language and change to the default one for new language\n // this check is necessary in order to diferanciate between default and authour defined note\n // and only change between languages for default ones\n if (\n note &&\n language &&\n language !== nextProps.language &&\n note === translator.t('common:commonCorrectAnswerWithAlternates', { lng: language })\n ) {\n note = translator.t('common:commonCorrectAnswerWithAlternates', { lng: nextProps.language });\n }\n }\n\n toggleShowCorrect: any = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n changeSession = this.getChangeSession(this.props.maxLengthPerChoice);\n\n onChange: any = (value) => {\n this.changeSession(value);\n };\n\n render() {\n const { showCorrectAnswer } = this.state;\n const {\n alwaysShowCorrect,\n animationsDisabled,\n mode,\n displayType,\n role,\n language,\n maxLengthPerChoice,\n maxLengthPerChoiceEnabled,\n note,\n playerSpellCheckEnabled,\n prompt,\n rationale,\n showNote,\n teacherInstructions,\n responseAreaInputConfiguration,\n model,\n value,\n } = this.props;\n\n const { extraCSSRules } = model || {};\n const displayNote = (showCorrectAnswer || (mode === 'view' && role === 'instructor')) && showNote && note;\n\n const teacherInstructionsDiv = (\n <PreviewPrompt defaultClassName=\"teacher-instructions\" prompt={teacherInstructions} />\n );\n\n const rationaleDiv = <PreviewPrompt prompt={rationale} />;\n\n const showRationale = rationale && (hasText(rationale) || hasMedia(rationale));\n const showTeacherInstructions =\n teacherInstructions && (hasText(teacherInstructions) || hasMedia(teacherInstructions));\n\n return (\n <MainContainer\n extraCSSRules={extraCSSRules}\n alwaysShowCorrect={alwaysShowCorrect}\n style={{ display: `${displayType}` }}\n >\n {mode === 'gather' && <SrOnly>Fill in the Blank Question</SrOnly>}\n\n {showTeacherInstructions && (\n <CollapsibleContainer>\n {!animationsDisabled ? (\n <Collapsible labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}>\n {teacherInstructionsDiv}\n </Collapsible>\n ) : (\n teacherInstructionsDiv\n )}\n </CollapsibleContainer>\n )}\n\n {prompt && <PreviewPrompt prompt={prompt} />}\n\n {!alwaysShowCorrect && mode === 'evaluate' && (\n <CorrectAnswerToggle\n show\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n language={language}\n />\n )}\n\n <ConstructedResponse\n {...this.props}\n onChange={this.onChange}\n showCorrectAnswer={showCorrectAnswer}\n value={value}\n maxLength={maxLengthPerChoice}\n adjustedLimit={maxLengthPerChoiceEnabled}\n spellCheck={playerSpellCheckEnabled}\n pluginProps={responseAreaInputConfiguration}\n />\n\n {displayNote && <NoteContainer dangerouslySetInnerHTML={{ __html: note }} />}\n\n {showRationale && (\n <CollapsibleContainer>\n {!animationsDisabled ? (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>{rationaleDiv}</Collapsible>\n ) : (\n rationaleDiv\n )}\n </CollapsibleContainer>\n )}\n </MainContainer>\n );\n }\n}\n\nexport default Main;\n"],"x_google_ignoreList":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,25],"mappings":"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"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { E as e, m as t, t as n } from "../browser-BC3WygxE.js";
|
|
2
|
-
import { at as r } from "../dist-B5QyKMGD.js";
|
|
3
|
-
import { t as i } from "../main-Czk7a-Zt.js";
|
|
4
|
-
import a from "react";
|
|
5
|
-
import { createRoot as o } from "react-dom/client";
|
|
6
|
-
var s = (0, (/* @__PURE__ */ e(n(), 1)).default)("pie-element:explicit-constructed-response:print"), c = (e, t) => {
|
|
7
|
-
let n = t.role === "instructor";
|
|
8
|
-
return e.prompt = e.promptEnabled === !1 ? void 0 : e.prompt, e.teacherInstructions = n && e.teacherInstructionsEnabled !== !1 ? e.teacherInstructions : void 0, e.rationale = n && e.rationaleEnabled !== !1 ? e.rationale : void 0, e.alwaysShowCorrect = n, e.mode = n ? "evaluate" : e.mode, e.disabled = !0, e.animationsDisabled = !0, e;
|
|
9
|
-
}, l = class extends HTMLElement {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(), this._options = null, this._model = null, this._session = [], this._root = null, this._rerender = t(() => {
|
|
12
|
-
if (this._model && this._session) {
|
|
13
|
-
let e = c(this._model, this._options), t = this._options && a.createElement(i, {
|
|
14
|
-
...e,
|
|
15
|
-
onChange: () => {}
|
|
16
|
-
});
|
|
17
|
-
this._root ||= o(this), this._root.render(t), queueMicrotask(() => {
|
|
18
|
-
s("render complete - render math"), r(this);
|
|
19
|
-
});
|
|
20
|
-
} else s("skip");
|
|
21
|
-
}, 50, {
|
|
22
|
-
leading: !1,
|
|
23
|
-
trailing: !0
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
set options(e) {
|
|
27
|
-
this._options = e;
|
|
28
|
-
}
|
|
29
|
-
set model(e) {
|
|
30
|
-
this._model = e, this._rerender();
|
|
31
|
-
}
|
|
32
|
-
connectedCallback() {}
|
|
33
|
-
disconnectedCallback() {
|
|
34
|
-
this._root && this._root.unmount();
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
//#endregion
|
|
38
|
-
export { l as default };
|
|
39
|
-
|
|
40
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/print/index.tsx"],"sourcesContent":["// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/explicit-constructed-response/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 { debounce } from '@pie-element/shared-lodash';\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:explicit-constructed-response:print');\n\nconst preparePrintModel = (model, opts) => {\n const isInstructor = opts.role === 'instructor';\n\n model.prompt = model.promptEnabled !== false ? model.prompt : undefined;\n model.teacherInstructions =\n isInstructor && model.teacherInstructionsEnabled !== false ? model.teacherInstructions : undefined;\n model.rationale = isInstructor && model.rationaleEnabled !== false ? model.rationale : undefined;\n model.alwaysShowCorrect = isInstructor;\n model.mode = isInstructor ? 'evaluate' : model.mode;\n model.disabled = true;\n model.animationsDisabled = true;\n\n return model;\n};\n\nexport default class ExplicitConstructedResponsePrint extends HTMLElement {\n constructor() {\n super();\n this._options = null;\n this._model = null;\n this._session = [];\n this._root = null;\n\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 ...printModel,\n onChange: () => {},\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(element);\n queueMicrotask(() => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\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"],"mappings":";;;;;AAiBA,IAAM,KAAA,IAAA,wBAAA,GAAA,SAAY,iDAAiD,GAE7D,KAAqB,GAAO,MAAS;CACzC,IAAM,IAAe,EAAK,SAAS;CAWnC,OATA,EAAM,SAAS,EAAM,kBAAkB,KAAuB,KAAA,IAAf,EAAM,QACrD,EAAM,sBACJ,KAAgB,EAAM,+BAA+B,KAAQ,EAAM,sBAAsB,KAAA,GAC3F,EAAM,YAAY,KAAgB,EAAM,qBAAqB,KAAQ,EAAM,YAAY,KAAA,GACvF,EAAM,oBAAoB,GAC1B,EAAM,OAAO,IAAe,aAAa,EAAM,MAC/C,EAAM,WAAW,IACjB,EAAM,qBAAqB,IAEpB;AACT,GAEqB,IAArB,cAA8D,YAAY;CACxE,cAAc;EAOZ,AANA,MAAM,GACN,KAAK,WAAW,MAChB,KAAK,SAAS,MACd,KAAK,WAAW,CAAC,GACjB,KAAK,QAAQ,MAEb,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,GAAG;KACH,gBAAgB,CAAC;IACnB,CAAC;IAMH,AAJA,AACE,KAAK,UAAQ,EAAW,IAAI,GAE9B,KAAK,MAAM,OAAO,CAAO,GACzB,qBAAqB;KAEnB,AADA,EAAI,+BAA+B,GACnC,EAAW,IAAI;IACjB,CAAC;GACH,OACE,EAAI,MAAM;EAEd,GACA,IACA;GAAE,SAAS;GAAO,UAAU;EAAK,CACnC;CACF;CAEA,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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @synced-from pie-elements/packages/explicit-constructed-response/controller/src/defaults.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
|
-
declare const _default: {
|
|
10
|
-
choices: {};
|
|
11
|
-
displayType: string;
|
|
12
|
-
markup: string;
|
|
13
|
-
maxLengthPerChoiceEnabled: boolean;
|
|
14
|
-
playerSpellCheckEnabled: boolean;
|
|
15
|
-
prompt: string;
|
|
16
|
-
promptEnabled: boolean;
|
|
17
|
-
rationale: string;
|
|
18
|
-
rationaleEnabled: boolean;
|
|
19
|
-
spellCheckEnabled: boolean;
|
|
20
|
-
studentInstructionsEnabled: boolean;
|
|
21
|
-
teacherInstructions: string;
|
|
22
|
-
teacherInstructionsEnabled: boolean;
|
|
23
|
-
toolbarEditorPosition: string;
|
|
24
|
-
};
|
|
25
|
-
export default _default;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
//#region src/controller/defaults.ts
|
|
2
|
-
var e = {
|
|
3
|
-
choices: {},
|
|
4
|
-
displayType: "block",
|
|
5
|
-
markup: "",
|
|
6
|
-
maxLengthPerChoiceEnabled: !0,
|
|
7
|
-
playerSpellCheckEnabled: !0,
|
|
8
|
-
prompt: "",
|
|
9
|
-
promptEnabled: !0,
|
|
10
|
-
rationale: "",
|
|
11
|
-
rationaleEnabled: !0,
|
|
12
|
-
spellCheckEnabled: !0,
|
|
13
|
-
studentInstructionsEnabled: !0,
|
|
14
|
-
teacherInstructions: "",
|
|
15
|
-
teacherInstructionsEnabled: !0,
|
|
16
|
-
toolbarEditorPosition: "bottom"
|
|
17
|
-
};
|
|
18
|
-
//#endregion
|
|
19
|
-
export { e as default };
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @synced-from pie-elements/packages/explicit-constructed-response/controller/src/index.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 prepareChoice: (mode: any, defaultFeedback: any) => (choice: any) => {
|
|
10
|
-
label: any;
|
|
11
|
-
value: any;
|
|
12
|
-
};
|
|
13
|
-
export declare const normalize: (question: any) => any;
|
|
14
|
-
/**
|
|
15
|
-
*
|
|
16
|
-
* @param {*} question
|
|
17
|
-
* @param {*} session
|
|
18
|
-
* @param {*} env
|
|
19
|
-
*/
|
|
20
|
-
export declare function model(question: any, session: any, env: any): Promise<{
|
|
21
|
-
choices: {};
|
|
22
|
-
disabled: boolean;
|
|
23
|
-
displayType: any;
|
|
24
|
-
mode: any;
|
|
25
|
-
role: any;
|
|
26
|
-
feedback: {};
|
|
27
|
-
language: any;
|
|
28
|
-
markup: any;
|
|
29
|
-
maxLengthPerChoice: any;
|
|
30
|
-
maxLengthPerChoiceEnabled: any;
|
|
31
|
-
note: any;
|
|
32
|
-
playerSpellCheckEnabled: any;
|
|
33
|
-
prompt: any;
|
|
34
|
-
rationale: string;
|
|
35
|
-
responseCorrect: boolean | undefined;
|
|
36
|
-
showNote: boolean;
|
|
37
|
-
teacherInstructions: string;
|
|
38
|
-
responseAreaInputConfiguration: any;
|
|
39
|
-
extraCSSRules: any;
|
|
40
|
-
}>;
|
|
41
|
-
export declare const prepareVal: (html: any) => any;
|
|
42
|
-
export declare const getScore: (config: any, session: any) => number;
|
|
43
|
-
/**
|
|
44
|
-
* Generates detailed trace log for scoring evaluation
|
|
45
|
-
* @param {Object} model - the question model
|
|
46
|
-
* @param {Object} session - the student session
|
|
47
|
-
* @param {Object} env - the environment
|
|
48
|
-
* @returns {Array} traceLog - array of trace messages
|
|
49
|
-
*/
|
|
50
|
-
export declare const getLogTrace: (model: any, session: any, env: any) => string[];
|
|
51
|
-
/**
|
|
52
|
-
* The score is partial by default for checkbox mode, allOrNothing for radio mode.
|
|
53
|
-
* To disable partial scoring for checkbox mode you either set model.partialScoring = false or env.partialScoring =
|
|
54
|
-
* false. the value in `env` will override the value in `model`.
|
|
55
|
-
* @param {Object} model - the main model
|
|
56
|
-
* @param {boolean} model.partialScoring - is partial scoring enabled (if undefined set to to true)
|
|
57
|
-
* @param {*} session
|
|
58
|
-
* @param {Object} env
|
|
59
|
-
* @param {boolean} env.partialScoring - is partial scoring enabled (if undefined default to true) This overrides
|
|
60
|
-
* `model.partialScoring`.
|
|
61
|
-
*/
|
|
62
|
-
export declare function outcome(model: any, session: any, env?: {}): Promise<unknown>;
|
|
63
|
-
export declare const createCorrectResponseSession: (question: any, env: any) => Promise<unknown>;
|
|
64
|
-
export declare const validate: (model?: {}, config?: {}) => {};
|
package/dist/controller/index.js
DELETED
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { require_he as e } from "../node_modules/.bun/he@1.2.0/node_modules/he/he.js";
|
|
2
|
-
import t from "./defaults.js";
|
|
3
|
-
import { find as n, isEmpty as r, map as i, reduce as a } from "@pie-element/shared-lodash";
|
|
4
|
-
import o from "@pie-lib/translator";
|
|
5
|
-
import s from "debug";
|
|
6
|
-
import { partialScoring as c } from "@pie-element/shared-controller-utils";
|
|
7
|
-
//#region src/controller/index.ts
|
|
8
|
-
var l = e(), { translator: u } = o, d = s("explicit-constructed-response:controller"), f = (e, t) => (n) => {
|
|
9
|
-
let r = {
|
|
10
|
-
label: n.label,
|
|
11
|
-
value: n.value
|
|
12
|
-
};
|
|
13
|
-
if (e === "evaluate") {
|
|
14
|
-
r.correct = !0;
|
|
15
|
-
let e = n.feedback && n.feedback.type || "none";
|
|
16
|
-
e === "default" ? r.feedback = t.correct : e === "custom" && (r.feedback = n.feedback.value);
|
|
17
|
-
}
|
|
18
|
-
return r;
|
|
19
|
-
}, p = (e) => e ? "correct" : "incorrect", m = (e) => Math.abs(e) === Infinity ? 2 : e <= 2 ? e + 2 : e <= 4 ? e + 3 : e <= 6 ? e + 4 : e + 5, h = (e) => e ? e.replace(/</g, "<").replace(/>/g, ">").replace(/"/g, "\"").replace(/'|'/g, "'").replace(/&/g, "&") : "", g = (e) => ({
|
|
20
|
-
...t,
|
|
21
|
-
...e
|
|
22
|
-
});
|
|
23
|
-
async function _(e, o, s) {
|
|
24
|
-
e.choices && Object.keys(e.choices).forEach((t) => {
|
|
25
|
-
e.choices[t] = (e.choices[t] || []).map((e, t) => e.value ? e : (d("Choice does not contain \"value\" property, which is required.", e), {
|
|
26
|
-
value: `${t}`,
|
|
27
|
-
...e
|
|
28
|
-
}));
|
|
29
|
-
});
|
|
30
|
-
let c = g(e), l = Object.assign({
|
|
31
|
-
correct: "Correct",
|
|
32
|
-
incorrect: "Incorrect"
|
|
33
|
-
}, c.defaultFeedback), _ = f(s.mode, l), b = a(c.choices, (e, t, n) => (e[n] = i(t, _), e), {}), { value: x = {} } = o || {}, S = s.mode === "evaluate" ? a(c.choices, (e, t, i) => {
|
|
34
|
-
let a = x && x[i];
|
|
35
|
-
return e[i] = p(!r(a) && n(t, (e) => v(e.label) === v(a))), e;
|
|
36
|
-
}, {}) : {}, C = Object.values(b).some((e) => e?.length > 1), w = c.note || u.t("common:commonCorrectAnswerWithAlternates", { lng: c.language }), { maxLengthPerChoice: T = [], maxLengthPerChoiceEnabled: E } = c, D = !T.length;
|
|
37
|
-
Object.values(b).forEach((e, t) => {
|
|
38
|
-
let n = (e || []).map((e) => h(e.label || "").length), r = Math.max(...n);
|
|
39
|
-
(D || !T[t] || T[t] < r || T[t] > r + 10) && (T[t] = m(r));
|
|
40
|
-
});
|
|
41
|
-
let O = {
|
|
42
|
-
choices: b,
|
|
43
|
-
disabled: s.mode !== "gather",
|
|
44
|
-
displayType: c.displayType,
|
|
45
|
-
mode: s.mode,
|
|
46
|
-
role: s.role,
|
|
47
|
-
feedback: S,
|
|
48
|
-
language: c.language,
|
|
49
|
-
markup: c.markup,
|
|
50
|
-
maxLengthPerChoice: T,
|
|
51
|
-
maxLengthPerChoiceEnabled: E,
|
|
52
|
-
note: w,
|
|
53
|
-
playerSpellCheckEnabled: c.playerSpellCheckEnabled,
|
|
54
|
-
prompt: c.promptEnabled ? c.prompt : t.prompt,
|
|
55
|
-
rationale: t.rationale,
|
|
56
|
-
responseCorrect: s.mode === "evaluate" ? y(c, o) === 1 : void 0,
|
|
57
|
-
showNote: C,
|
|
58
|
-
teacherInstructions: t.teacherInstructions,
|
|
59
|
-
responseAreaInputConfiguration: c.responseAreaInputConfiguration,
|
|
60
|
-
extraCSSRules: c.extraCSSRules
|
|
61
|
-
};
|
|
62
|
-
return s.role === "instructor" && (s.mode === "view" || s.mode === "evaluate") && (O.rationale = c.rationaleEnabled ? c.rationale : t.rationale, O.teacherInstructions = c.teacherInstructionsEnabled ? c.teacherInstructions : t.teacherInstructions), O;
|
|
63
|
-
}
|
|
64
|
-
var v = (e) => w(C(e).trim()), y = (e, t) => {
|
|
65
|
-
let { value: i } = t || {};
|
|
66
|
-
if (!t || r(t) || !i) return 0;
|
|
67
|
-
let o = e.markup && e.markup.match(/\{\{(.+?)\}\}/g), s = o ? o.length : 0, c = a(e.choices, (e, t, a) => {
|
|
68
|
-
let o = i && i[a];
|
|
69
|
-
return r(o) || !n(t, (e) => v(e.label) === v(o)) ? e : e + 1;
|
|
70
|
-
}, 0), l = s ? (c / s).toFixed(2) : 0;
|
|
71
|
-
return parseFloat(l);
|
|
72
|
-
}, b = (e, t, n) => {
|
|
73
|
-
let i = [], { value: a } = t || {}, { choices: o, markup: s } = e || {}, l = s ? s.match(/\{\{(.+?)\}\}/g) : [], u = l ? l.length : 0;
|
|
74
|
-
if (i.push(`${u} response area(s) defined in this question.`), a && Object.keys(a).length > 0) {
|
|
75
|
-
let e = Object.entries(a).filter(([e, t]) => t && t.trim()).length;
|
|
76
|
-
i.push(`Student filled ${e} out of ${u} response area(s).`), Object.keys(o || {}).forEach((e) => {
|
|
77
|
-
let t = a && a[e] || "", n = o[e] || [], s = !r(t.trim()) && n.some((e) => v(e.label) === v(t));
|
|
78
|
-
t.trim() ? i.push(`Response area ${parseInt(e) + 1}: ${s ? "CORRECT" : "INCORRECT"}.`) : i.push(`Response area ${parseInt(e) + 1}: left empty.`);
|
|
79
|
-
});
|
|
80
|
-
} else i.push("Student did not fill any response areas.");
|
|
81
|
-
if (Object.values(o || {}).some((e) => e.length > 1) && i.push("Alternate answers are accepted for some response areas."), c.enabled(e, n)) {
|
|
82
|
-
if (i.push("Score calculated using partial scoring."), i.push("Student receives credit for each correctly filled response area."), a && Object.keys(a).length > 0) {
|
|
83
|
-
let e = 0;
|
|
84
|
-
Object.keys(o || {}).forEach((t) => {
|
|
85
|
-
let n = a && a[t] || "", i = o[t] || [];
|
|
86
|
-
!r(n.trim()) && i.some((e) => v(e.label) === v(n)) && e++;
|
|
87
|
-
}), i.push(`Partial scoring: ${e} correct out of ${u} response areas.`);
|
|
88
|
-
}
|
|
89
|
-
} else i.push("Score calculated using all-or-nothing scoring."), i.push("Student must fill all response areas correctly to receive full credit.");
|
|
90
|
-
let d = y(e, t);
|
|
91
|
-
return i.push(`Score: ${d}.`), i;
|
|
92
|
-
};
|
|
93
|
-
function x(e, t, n = {}) {
|
|
94
|
-
return new Promise((i) => {
|
|
95
|
-
if (!t || r(t)) i({
|
|
96
|
-
score: 0,
|
|
97
|
-
empty: !0,
|
|
98
|
-
traceLog: ["Student did not fill any response areas. Score: 0."]
|
|
99
|
-
});
|
|
100
|
-
else {
|
|
101
|
-
let r = b(e, t, n), a = c.enabled(e, n), o = y(e, t);
|
|
102
|
-
i({
|
|
103
|
-
score: a ? o : +(o === 1),
|
|
104
|
-
empty: !1,
|
|
105
|
-
traceLog: r
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
var S = (e, t) => new Promise((n) => {
|
|
111
|
-
if (t.mode !== "evaluate" && t.role === "instructor") {
|
|
112
|
-
let { choices: t } = e, r = {};
|
|
113
|
-
Object.keys(t).forEach((e, n) => {
|
|
114
|
-
r[n] = t[e][0].label;
|
|
115
|
-
}), n({
|
|
116
|
-
id: "1",
|
|
117
|
-
value: r
|
|
118
|
-
});
|
|
119
|
-
} else n(null);
|
|
120
|
-
}), C = (e) => typeof e == "string" ? typeof e.replaceAll == "function" ? e.replaceAll(/<[^>]*>/g, "") : e.replace(/<[^>]*>/g, "") : "", w = (e) => (0, l.decode)(e), T = (e) => (e || "").replace(/(<(?!img|iframe|source)([^>]+)>)/gi, ""), E = (e = {}, t = {}) => {
|
|
121
|
-
let { choices: n, markup: i } = e, { maxResponseAreas: a } = t, o = {}, s = {};
|
|
122
|
-
[
|
|
123
|
-
"teacherInstructions",
|
|
124
|
-
"prompt",
|
|
125
|
-
"rationale"
|
|
126
|
-
].forEach((n) => {
|
|
127
|
-
t[n]?.required && !T(e[n]) && (s[n] = "This field is required.");
|
|
128
|
-
}), Object.entries(n || {}).forEach(([e, t]) => {
|
|
129
|
-
let n = [...t || []].reverse(), i = {};
|
|
130
|
-
n.forEach((e, t) => {
|
|
131
|
-
let { value: r, label: a } = e;
|
|
132
|
-
a === "" || a === "<div></div>" ? i[r] = "Content should not be empty." : n.slice(t + 1).some((e) => e.label === a) && (i[r] = "Content should be unique.");
|
|
133
|
-
}), r(i) || (o[e] = i);
|
|
134
|
-
});
|
|
135
|
-
let c = (i.match(/\{\{(\d+)\}\}/g) || []).length;
|
|
136
|
-
return c > a ? s.responseAreas = `No more than ${a} response areas should be defined.` : c < 1 && (s.responseAreas = "There should be at least 1 response area defined."), r(o) || (s.choices = o), s;
|
|
137
|
-
};
|
|
138
|
-
//#endregion
|
|
139
|
-
export { S as createCorrectResponseSession, b as getLogTrace, y as getScore, _ as model, g as normalize, x as outcome, f as prepareChoice, v as prepareVal, E as validate };
|
package/dist/delivery/index.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @synced-from pie-elements/packages/explicit-constructed-response/src/index.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 default class InlineDropdown extends HTMLElement {
|
|
10
|
-
constructor();
|
|
11
|
-
setLangAttribute(): void;
|
|
12
|
-
set model(m: any);
|
|
13
|
-
set session(s: any);
|
|
14
|
-
get session(): any;
|
|
15
|
-
_render: any;
|
|
16
|
-
dispatchChangedEvent: any;
|
|
17
|
-
changeSession: any;
|
|
18
|
-
connectedCallback(): void;
|
|
19
|
-
disconnectedCallback(): void;
|
|
20
|
-
}
|
package/dist/delivery/index.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import e from "./main.js";
|
|
2
|
-
import t from "react";
|
|
3
|
-
import { createRoot as n } from "react-dom/client";
|
|
4
|
-
import { ModelSetEvent as r, SessionChangedEvent as i } from "@pie-element/shared-player-events";
|
|
5
|
-
import { renderMath as a } from "@pie-element/shared-math-rendering-mathjax";
|
|
6
|
-
//#region src/delivery/index.ts
|
|
7
|
-
var o = class extends HTMLElement {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(), this._model = null, this._session = null, this._root = null;
|
|
10
|
-
}
|
|
11
|
-
setLangAttribute() {
|
|
12
|
-
let e = this._model && typeof this._model.language ? this._model.language : "", t = e ? e.slice(0, 2) : "en";
|
|
13
|
-
this.setAttribute("lang", t);
|
|
14
|
-
}
|
|
15
|
-
set model(e) {
|
|
16
|
-
this._model = e, this.dispatchEvent(new r(this.tagName.toLowerCase(), this.session && !!this.session.value, !!this._model)), this.setLangAttribute(), this._render();
|
|
17
|
-
}
|
|
18
|
-
set session(e) {
|
|
19
|
-
this._session = e, this._render();
|
|
20
|
-
}
|
|
21
|
-
get session() {
|
|
22
|
-
return this._session;
|
|
23
|
-
}
|
|
24
|
-
_render = () => {
|
|
25
|
-
if (this._model && this._session) {
|
|
26
|
-
let r = t.createElement(e, {
|
|
27
|
-
choices: this._model.choices,
|
|
28
|
-
disabled: this._model.disabled,
|
|
29
|
-
displayType: this._model.displayType,
|
|
30
|
-
feedback: this._model.feedback,
|
|
31
|
-
language: this._model.language,
|
|
32
|
-
markup: this._model.markup,
|
|
33
|
-
maxLengthPerChoice: this._model.maxLengthPerChoice,
|
|
34
|
-
maxLengthPerChoiceEnabled: this._model.maxLengthPerChoiceEnabled,
|
|
35
|
-
mode: this._model.mode,
|
|
36
|
-
note: this._model.note,
|
|
37
|
-
onChange: this.changeSession,
|
|
38
|
-
playerSpellCheckEnabled: this._model.playerSpellCheckEnabled,
|
|
39
|
-
prompt: this._model.prompt,
|
|
40
|
-
rationale: this._model.rationale,
|
|
41
|
-
role: this._model.role,
|
|
42
|
-
showNote: this._model.showNote,
|
|
43
|
-
teacherInstructions: this._model.teacherInstructions,
|
|
44
|
-
value: this._session.value,
|
|
45
|
-
responseAreaInputConfiguration: this._model.responseAreaInputConfiguration
|
|
46
|
-
});
|
|
47
|
-
this._root ||= n(this), this._root.render(r), queueMicrotask(() => {
|
|
48
|
-
a(this);
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
dispatchChangedEvent = () => {
|
|
53
|
-
this.dispatchEvent(new i(this.tagName.toLowerCase(), this.session && !!this.session.value));
|
|
54
|
-
};
|
|
55
|
-
changeSession = (e) => {
|
|
56
|
-
this.session.value = e, this.dispatchChangedEvent(), this._render();
|
|
57
|
-
};
|
|
58
|
-
connectedCallback() {
|
|
59
|
-
this.setAttribute("aria-label", "Fill in the Blank Question"), this.setAttribute("role", "region"), this._render();
|
|
60
|
-
}
|
|
61
|
-
disconnectedCallback() {
|
|
62
|
-
this._root && this._root.unmount();
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
//#endregion
|
|
66
|
-
export { o as default };
|
package/dist/delivery/main.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @synced-from pie-elements/packages/explicit-constructed-response/src/main.jsx
|
|
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
|
-
import React from 'react';
|
|
10
|
-
import PropTypes from 'prop-types';
|
|
11
|
-
export declare class Main extends React.Component {
|
|
12
|
-
static propTypes: {
|
|
13
|
-
alwaysShowCorrect: PropTypes.Requireable<boolean>;
|
|
14
|
-
animationsDisabled: PropTypes.Requireable<boolean>;
|
|
15
|
-
disabled: PropTypes.Requireable<boolean>;
|
|
16
|
-
displayType: PropTypes.Requireable<string>;
|
|
17
|
-
feedback: PropTypes.Requireable<object>;
|
|
18
|
-
language: PropTypes.Requireable<string>;
|
|
19
|
-
markup: PropTypes.Requireable<string>;
|
|
20
|
-
maxLengthPerChoice: PropTypes.Requireable<any[]>;
|
|
21
|
-
maxLengthPerChoiceEnabled: PropTypes.Requireable<boolean>;
|
|
22
|
-
mode: PropTypes.Requireable<string>;
|
|
23
|
-
note: PropTypes.Requireable<string>;
|
|
24
|
-
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
25
|
-
playerSpellCheckEnabled: PropTypes.Requireable<boolean>;
|
|
26
|
-
prompt: PropTypes.Requireable<string>;
|
|
27
|
-
rationale: PropTypes.Requireable<string>;
|
|
28
|
-
role: PropTypes.Requireable<string>;
|
|
29
|
-
showNote: PropTypes.Requireable<boolean>;
|
|
30
|
-
teacherInstructions: PropTypes.Requireable<string>;
|
|
31
|
-
value: PropTypes.Requireable<object>;
|
|
32
|
-
responseAreaInputConfiguration: PropTypes.Requireable<object>;
|
|
33
|
-
model: PropTypes.Validator<object>;
|
|
34
|
-
};
|
|
35
|
-
static defaultProps: {
|
|
36
|
-
value: {};
|
|
37
|
-
};
|
|
38
|
-
state: {
|
|
39
|
-
showCorrectAnswer: any;
|
|
40
|
-
};
|
|
41
|
-
getChangeSession: (maxLengthPerChoice: any) => any;
|
|
42
|
-
UNSAFE_componentWillReceiveProps(nextProps: any): void;
|
|
43
|
-
toggleShowCorrect: any;
|
|
44
|
-
changeSession: any;
|
|
45
|
-
onChange: any;
|
|
46
|
-
render(): React.JSX.Element;
|
|
47
|
-
}
|
|
48
|
-
export default Main;
|