@pie-element/multiple-choice 14.0.7 → 14.0.8-next.20261023175726
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/dist/browser/author/index.js +1 -1
- package/dist/browser/controller/index.js +1 -1
- package/dist/browser/delivery/index.js +2 -2
- package/dist/browser/editor-runtime/author/index.js +1 -1
- package/dist/browser/editor-runtime/controller/index.js +1 -1
- package/dist/browser/editor-runtime/delivery/index.js +2 -2
- package/dist/browser/editor-runtime/{main-BbuEYePU.js → main-CHDASqeA.js} +8 -6
- package/dist/browser/editor-runtime/{main-BbuEYePU.js.map → main-CHDASqeA.js.map} +1 -1
- package/dist/browser/editor-runtime/print/index.js +2 -2
- package/dist/browser/{main-BwFvix_I.js → main-DJz2ldoI.js} +8 -6
- package/dist/browser/{main-BwFvix_I.js.map → main-DJz2ldoI.js.map} +1 -1
- package/dist/browser/print/index.js +2 -2
- package/dist/delivery/__tests__/interface-locale.test.d.ts +1 -0
- package/dist/delivery/main.d.ts +1 -0
- package/dist/delivery/main.js +7 -5
- package/dist/index.iife.js +1 -1
- package/dist/schemas/configuration.schema.json +1 -1
- package/dist/schemas/model.schema.json +1 -1
- package/dist/schemas/session.schema.json +1 -1
- package/module/print.js +7 -5
- package/module/print.js.map +1 -1
- package/package.json +14 -14
|
@@ -45903,7 +45903,7 @@ var uK = He, dK = uK.default, fK = dK && typeof dK == "object" ? dK : uK, pK = l
|
|
|
45903
45903
|
}
|
|
45904
45904
|
}, LK = Object.freeze({
|
|
45905
45905
|
name: "@pie-element/multiple-choice",
|
|
45906
|
-
version: "14.0.
|
|
45906
|
+
version: "14.0.8-next.20261023175726"
|
|
45907
45907
|
});
|
|
45908
45908
|
//#endregion
|
|
45909
45909
|
export { IK as default, LK as piePackage };
|
|
@@ -201,7 +201,7 @@ var x = (e, t) => new Promise((n) => {
|
|
|
201
201
|
return t(s) || (l.choices = s), t(c) || (l.rationale = c), l;
|
|
202
202
|
}, w = Object.freeze({
|
|
203
203
|
name: "@pie-element/multiple-choice",
|
|
204
|
-
version: "14.0.
|
|
204
|
+
version: "14.0.8-next.20261023175726"
|
|
205
205
|
});
|
|
206
206
|
//#endregion
|
|
207
207
|
export { x as createCorrectResponseSession, h as createDefaultModel, y as getLogTrace, v as getScore, _ as model, g as normalize, b as outcome, w as piePackage, C as validate };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { G as e, M as t, Mt as n, Nt as r, Pt as i, U as a, W as o, Z as s, on as c, q as l, s as u } from "../Radio-Caxs6Ior.js";
|
|
2
|
-
import { n as d, r as f, t as p } from "../main-
|
|
2
|
+
import { n as d, r as f, t as p } from "../main-DJz2ldoI.js";
|
|
3
3
|
import { a as m } from "../dist-BLNO0pKP.js";
|
|
4
4
|
import h from "react";
|
|
5
5
|
import { createRoot as g } from "react-dom/client";
|
|
@@ -432,7 +432,7 @@ var Q = class extends HTMLElement {
|
|
|
432
432
|
}
|
|
433
433
|
}, $ = Object.freeze({
|
|
434
434
|
name: "@pie-element/multiple-choice",
|
|
435
|
-
version: "14.0.
|
|
435
|
+
version: "14.0.8-next.20261023175726"
|
|
436
436
|
});
|
|
437
437
|
//#endregion
|
|
438
438
|
export { Q as default, Y as isComplete, $ as piePackage };
|
|
@@ -29383,7 +29383,7 @@ var CT = Be, wT = CT.default, TT = wT && typeof wT == "object" ? wT : CT, ET = S
|
|
|
29383
29383
|
}
|
|
29384
29384
|
}, XT = Object.freeze({
|
|
29385
29385
|
name: "@pie-element/multiple-choice",
|
|
29386
|
-
version: "14.0.
|
|
29386
|
+
version: "14.0.8-next.20261023175726"
|
|
29387
29387
|
});
|
|
29388
29388
|
//#endregion
|
|
29389
29389
|
export { YT as default, XT as piePackage };
|
|
@@ -201,7 +201,7 @@ var x = (e, t) => new Promise((n) => {
|
|
|
201
201
|
return t(s) || (l.choices = s), t(c) || (l.rationale = c), l;
|
|
202
202
|
}, w = Object.freeze({
|
|
203
203
|
name: "@pie-element/multiple-choice",
|
|
204
|
-
version: "14.0.
|
|
204
|
+
version: "14.0.8-next.20261023175726"
|
|
205
205
|
});
|
|
206
206
|
//#endregion
|
|
207
207
|
export { x as createCorrectResponseSession, h as createDefaultModel, y as getLogTrace, v as getScore, _ as model, g as normalize, b as outcome, w as piePackage, C as validate };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { G as e, M as t, Mt as n, Nt as r, Pt as i, U as a, W as o, Z as s, cn as c, q as l, s as u } from "../Radio-B_54gEbk.js";
|
|
2
|
-
import { n as d, r as f, t as p } from "../main-
|
|
2
|
+
import { n as d, r as f, t as p } from "../main-CHDASqeA.js";
|
|
3
3
|
import { a as m } from "../dist-BLNO0pKP.js";
|
|
4
4
|
import h from "react";
|
|
5
5
|
import { createRoot as g } from "react-dom/client";
|
|
@@ -432,7 +432,7 @@ var Q = class extends HTMLElement {
|
|
|
432
432
|
}
|
|
433
433
|
}, $ = Object.freeze({
|
|
434
434
|
name: "@pie-element/multiple-choice",
|
|
435
|
-
version: "14.0.
|
|
435
|
+
version: "14.0.8-next.20261023175726"
|
|
436
436
|
});
|
|
437
437
|
//#endregion
|
|
438
438
|
export { Q as default, Y as isComplete, $ as piePackage };
|
|
@@ -1197,17 +1197,18 @@ var Ke = _, $ = Ke.default, qe = $ && typeof $ == "object" ? $ : Ke, Je = Ge(b,
|
|
|
1197
1197
|
baseHeadingLevel: E.default.number,
|
|
1198
1198
|
includeSrHeading: E.default.bool,
|
|
1199
1199
|
eliminatedChoices: E.default.arrayOf(E.default.string),
|
|
1200
|
-
mathOutsideNames: E.default.bool
|
|
1200
|
+
mathOutsideNames: E.default.bool,
|
|
1201
|
+
language: E.default.string
|
|
1201
1202
|
};
|
|
1202
1203
|
static defaultProps = {
|
|
1203
1204
|
model: {},
|
|
1204
1205
|
session: {}
|
|
1205
1206
|
};
|
|
1206
1207
|
render() {
|
|
1207
|
-
let { model: e, onChoiceChanged: t, session: n, onShowCorrectToggle: r, options: i, baseHeadingLevel: a, includeSrHeading: o, eliminatedChoices: s, mathOutsideNames: c } = this.props, { extraCSSRules:
|
|
1208
|
+
let { model: e, onChoiceChanged: t, session: n, onShowCorrectToggle: r, options: i, baseHeadingLevel: a, includeSrHeading: o, eliminatedChoices: s, mathOutsideNames: c, language: l } = this.props, { extraCSSRules: u, fontSizeFactor: d } = e;
|
|
1208
1209
|
return /* @__PURE__ */ w(Je, {
|
|
1209
|
-
extraCSSRules:
|
|
1210
|
-
fontSizeFactor:
|
|
1210
|
+
extraCSSRules: u,
|
|
1211
|
+
fontSizeFactor: d,
|
|
1211
1212
|
classes: {},
|
|
1212
1213
|
children: /* @__PURE__ */ w(We, {
|
|
1213
1214
|
...e,
|
|
@@ -1218,7 +1219,8 @@ var Ke = _, $ = Ke.default, qe = $ && typeof $ == "object" ? $ : Ke, Je = Ge(b,
|
|
|
1218
1219
|
baseHeadingLevel: a,
|
|
1219
1220
|
includeSrHeading: o,
|
|
1220
1221
|
eliminatedChoices: s,
|
|
1221
|
-
mathOutsideNames: c
|
|
1222
|
+
mathOutsideNames: c,
|
|
1223
|
+
language: l ?? e.language
|
|
1222
1224
|
})
|
|
1223
1225
|
});
|
|
1224
1226
|
}
|
|
@@ -1226,4 +1228,4 @@ var Ke = _, $ = Ke.default, qe = $ && typeof $ == "object" ? $ : Ke, Je = Ge(b,
|
|
|
1226
1228
|
//#endregion
|
|
1227
1229
|
export { Ae as n, B as r, Ye as t };
|
|
1228
1230
|
|
|
1229
|
-
//# sourceMappingURL=main-
|
|
1231
|
+
//# sourceMappingURL=main-CHDASqeA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main-BbuEYePU.js","names":["i","e","a","o","r","s","e","r","t","i","t","a","o","n","s","u","d","t","f","e","r","i","defineCatalogs","enUS","color","PropTypes","isRenderableReactInteropType","unwrapReactInteropSymbol","renderUiNamespaceAny","RenderUiNamespace","renderUiDefaultMaybe","renderUi","PreviewPrompt","PreviewPromptImport","FeedbackImport","color","SrOnly","PropTypes","createUniqueId","_Fragment","classNames","color","PropTypes","isRenderableReactInteropType","unwrapReactInteropSymbol","renderUiNamespaceAny","RenderUiNamespace","renderUiDefaultMaybe","renderUi","PreviewPromptImport","CollapsibleImport","color","PropTypes","createUniqueId","transformDataHeadings","classNames","CorrectAnswerToggle","RenderUiNamespace","PreviewLayoutImport","PropTypes","TransitionGroup","CSSTransition","y$1","w$1","styled","t","clsx","__toESM","S$1","i$2","FormControlLabel","p$1","m$1","Checkbox","Box","e$2","require_prop_types","dist_exports","Radio","ee","o$2","React","import_prop_types","i$1","r","a$1","i","o$1","s$1","n","a","o","s","c","useRef","p","m","h","g","_","v","y","b","x","S","C","w","T","n$1","s$2","u","d","catalogs","FeedbackTickContainer","StyledSVG","TransitionWrapper","FeedbackTick","props","icon","correctness","isRenderableReactInteropType$2","value","unwrapReactInteropSymbol$2","maybeSymbol","namedExport","renderUiNamespaceAny$2","renderUiDefaultMaybe$2","\"default\"","renderUi$2","PreviewPrompt$1","Feedback","MATH_MARKERS","labelContent","html","label","marker","CLASS_NAME","Row","CheckboxHolder","BelowSelectionComponent","theme","SrOnly$1","StyledFormControlLabel","colorStyle","varName","fallback","getInputStyles","key","k","StyledCheckboxBase","prop","styles","StyledCheckbox","inputRef","ariaLabelledBy","StyledRadioBase","StyledRadio","tagName","ChoiceInput","event","choiceMode","isArrowDown","isArrowUp","currentEl","fieldset","groupCheckboxes","currentIndex","el","nextEl","Tag","classSuffix","holderSx","choicesLayout","isSelectionButtonBelow","content","namedByNote","displayKey","mathOutsideNames","keyText","screenReaderLabel","note","pickTheAnswerBelow","choicelabel","Fragment","tagProps","control","className","hideTick","isEvaluateMode","rationale","ChoiceContainer","noBorder","horizontalLayout","Choice","disabled","checked","onChoiceChanged","choice","choiceClass","index","choicesLength","feedback","showCorrect","choiceProps","normalizeStrokeWidth","width","trimmed","hasSelectedStroke","selectedAnswerStrokeColor","hasHoverStroke","hoverAnswerStrokeColor","currentStrokeColor","currentStrokeWidth","currentBackgroundColor","selectedAnswerStrokeWidth","isHovered","hoverAnswerStrokeWidth","selectedAnswerBackgroundColor","hoverAnswerBackgroundColor","hasStroke","strokeStyle","reachedMaxSelections","maxSelections","count","exceedsMaxSelections","isRenderableReactInteropType$1","unwrapReactInteropSymbol$1","renderUiNamespaceAny$1","renderUiDefaultMaybe$1","renderUi$1","PreviewPrompt","Collapsible","MainContainer","PartLabel","TeacherInstructions","HorizontalLayout","GridLayout","StyledFieldset","srOnly","SrOnly","AnswerChoicesLegend","ErrorText","MultipleChoice","sessionValue","session","nextProps","isCorrect","isChecked","partLabel","includeSrHeading","mode","clampedLevel","baseHeadingLevel","HeadingTag","language","showCorrectAnswerToggle","responseCorrect","columnsStyle","gridColumns","selections","contentHeadingLevel","offset","transformPrompt","teacherInstructionsDiv","teacherInstructions","i18n","getMultipleChoiceMinSelectionErrorMessage","minSelections","LayoutComponent","animationsDisabled","prompt","options","alwaysShowCorrect","choices","eliminatedChoices","maxSelectionsErrorState","isRenderableReactInteropType","unwrapReactInteropSymbol","renderUiNamespaceAny","renderUiDefaultMaybe","renderUi","PreviewLayout","Main","model"],"sources":["../../../../../lib-react/icons/dist/correct-response-icon.js","../../../../../lib-react/correct-answer-toggle/dist/expander.js","../../../../../lib-react/correct-answer-toggle/dist/i18n/en-US.js","../../../../../lib-react/correct-answer-toggle/dist/i18n/index.js","../../../../../lib-react/correct-answer-toggle/dist/index.js","../../../src/i18n/en-US.ts","../../../src/i18n/index.ts","../../../src/delivery/feedback-tick.tsx","../../../src/delivery/choice-input.tsx","../../../src/delivery/choice.tsx","../../../src/delivery/utils.ts","../../../src/delivery/multiple-choice.tsx","../../../src/delivery/main.tsx"],"sourcesContent":["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\t\"aria-hidden\": \"true\",\n\tfocusable: \"false\",\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\t\"aria-hidden\": \"true\",\n\tfocusable: \"false\",\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 = !1, 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};\n//#endregion\nexport { s as default };\n","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","//#region src/i18n/en-US.ts\nvar e = {\n\tshowCorrectAnswer: \"Show correct answer\",\n\thideCorrectAnswer: \"Hide correct answer\"\n};\n//#endregion\nexport { e as default };\n","import e from \"./en-US.js\";\nimport { defineCatalogs as t } from \"@pie-element/shared-i18n\";\n//#region src/i18n/index.ts\nvar n = t({\n\tpackageName: \"@pie-lib/correct-answer-toggle\",\n\tsource: e,\n\tloaders: {\n\t\tes: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./es.js\"\n),\n\t\t\"th-TH\": () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./th-TH.js\"\n),\n\t\t\"en-GB\": () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./en-GB.js\"\n),\n\t\t\"en-AU\": () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./en-AU.js\"\n),\n\t\tfr: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./fr.js\"\n),\n\t\tar: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./ar.js\"\n),\n\t\tpt: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./pt.js\"\n),\n\t\tko: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./ko.js\"\n),\n\t\tja: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./ja.js\"\n),\n\t\tzh: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./zh.js\"\n),\n\t\tcy: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./cy.js\"\n),\n\t\tsv: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./sv.js\"\n),\n\t\t\"nl-NL\": () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./nl-NL.js\"\n),\n\t\tro: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./ro.js\"\n)\n\t}\n});\n//#endregion\nexport { n as catalogs };\n","import e from \"./expander.js\";\nimport { catalogs as t } from \"./i18n/index.js\";\nimport { styled as n } from \"@mui/material/styles\";\nimport { CSSTransition as r } from \"react-transition-group\";\nimport { CorrectResponse as i } from \"@pie-lib/icons\";\nimport * as a from \"@pie-lib/render-ui\";\nimport { Readable as o, color as s } from \"@pie-lib/render-ui\";\nimport { jsx as c, jsxs as l } from \"react/jsx-runtime\";\nimport u from \"react\";\nimport d from \"prop-types\";\nimport { elementLanguageAttributes as f } from \"@pie-element/shared-i18n\";\n//#region src/index.tsx\nfunction p(e) {\n\treturn typeof e == \"function\" || typeof e == \"object\" && !!e && typeof e.$$typeof == \"symbol\";\n}\nfunction m(e, t) {\n\treturn !e || p(e) ? e : p(e.default) ? e.default : t && p(e[t]) ? e[t] : t && p(e[t]?.default) ? e[t].default : e;\n}\nvar h = a, g = h.default, _ = g && typeof g == \"object\" ? g : h, v = m(o, \"Readable\") || m(_.Readable, \"Readable\"), y = {\n\tWebkitTouchCallout: \"none\",\n\tWebkitUserSelect: \"none\",\n\tKhtmlUserSelect: \"none\",\n\tMozUserSelect: \"none\",\n\tmsUserSelect: \"none\",\n\tuserSelect: \"none\"\n}, b = n(\"div\")(() => ({\n\twidth: \"100%\",\n\tcursor: \"pointer\"\n})), x = n(\"button\")(() => ({\n\tmargin: \"0 auto\",\n\ttextAlign: \"center\",\n\tdisplay: \"flex\",\n\tminWidth: \"24px\",\n\tminHeight: \"24px\",\n\tpadding: 0,\n\tborder: 0,\n\tbackground: \"none\",\n\tcolor: \"inherit\",\n\tfont: \"inherit\",\n\tcursor: \"pointer\",\n\t\"&:focus-visible\": {\n\t\toutline: `2px solid ${s.buttonFocusOutline()}`,\n\t\toutlineOffset: \"-2px\"\n\t}\n})), S = n(\"div\")(() => ({\n\twidth: \"fit-content\",\n\tminWidth: \"140px\",\n\talignSelf: \"center\",\n\tverticalAlign: \"middle\",\n\tcolor: `var(--correct-answer-toggle-label-color, ${s.text()})`,\n\tfontWeight: \"normal\",\n\t...y\n})), C = n(\"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 = n(\"div\")(() => ({\n\twidth: \"25px\",\n\tmarginRight: \"5px\",\n\tdisplay: \"flex\",\n\talignItems: \"center\"\n})), T = class extends u.Component {\n\tstatic propTypes = {\n\t\tonToggle: d.func,\n\t\ttoggled: d.bool,\n\t\tshow: d.bool,\n\t\thideMessage: d.string,\n\t\tshowMessage: d.string,\n\t\tclassName: d.string,\n\t\tlanguage: d.string\n\t};\n\tstatic defaultProps = {\n\t\tshow: !1,\n\t\ttoggled: !1\n\t};\n\tconstructor(e) {\n\t\tsuper(e), this.state = { show: e.show }, this.openIconRef = u.createRef(), this.closedIconRef = u.createRef();\n\t}\n\trelabel = () => this.forceUpdate();\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 });\n\t}\n\trender() {\n\t\tlet { className: n, toggled: a, language: o } = this.props, s = t.forLocale(o, this.relabel), u = this.props.hideMessage ?? s.t(\"hideCorrectAnswer\"), d = this.props.showMessage ?? s.t(\"showCorrectAnswer\"), p = f(o);\n\t\treturn /* @__PURE__ */ c(b, {\n\t\t\tclassName: n,\n\t\t\t...p,\n\t\t\tchildren: /* @__PURE__ */ c(e, {\n\t\t\t\tshow: this.state.show,\n\t\t\t\tchildren: /* @__PURE__ */ l(x, {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-pressed\": !!a,\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__ */ l(w, { children: [/* @__PURE__ */ c(r, {\n\t\t\t\t\t\tnodeRef: this.openIconRef,\n\t\t\t\t\t\ttimeout: 400,\n\t\t\t\t\t\tin: a,\n\t\t\t\t\t\texit: !a,\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__ */ c(C, {\n\t\t\t\t\t\t\tref: this.openIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ c(i, { open: a }, \"correct-open\")\n\t\t\t\t\t\t})\n\t\t\t\t\t}), /* @__PURE__ */ c(r, {\n\t\t\t\t\t\tnodeRef: this.closedIconRef,\n\t\t\t\t\t\ttimeout: 5e3,\n\t\t\t\t\t\tin: !a,\n\t\t\t\t\t\texit: a,\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__ */ c(C, {\n\t\t\t\t\t\t\tref: this.closedIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ c(i, { open: a }, \"correct-closed\")\n\t\t\t\t\t\t})\n\t\t\t\t\t})] }), /* @__PURE__ */ c(v, {\n\t\t\t\t\t\tfalse: !0,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ c(S, {\n\t\t\t\t\t\t\t\"aria-hidden\": !this.state.show,\n\t\t\t\t\t\t\tchildren: a ? u : d\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","/** The interface strings `@pie-element/multiple-choice` renders; the source for every other locale. */\nexport default {\n /** Region name and screen-reader heading of a single-answer question. */\n multipleChoiceQuestion: 'Multiple Choice Question',\n /** Region name of a multiple-answer question. */\n multipleCorrectAnswerQuestion: 'Multiple Correct Answer Question',\n /** Screen-reader heading of a multiple-answer question. */\n multipleSelectQuestion: 'Multiple Select Question',\n minSelections: 'Select at least {minSelections}.',\n minmaxSelectionsEqual: 'Select {minSelections}.',\n minmaxSelectionsRange: 'Select between {minSelections} and {maxSelections}.',\n maxSelections: {\n one: 'Only {count} answer is allowed.',\n other: 'Only {count} answers are allowed.',\n },\n showTeacherInstructions: 'Show Teacher Instructions',\n hideTeacherInstructions: 'Hide Teacher Instructions',\n /** Visually hidden name of the answer choices' group; the prompt renders before it (PIE-1244). */\n answerChoicesA11y: 'Answer choices',\n /** The same group's name in a two-part question, so its parts' groups stay apart. */\n partAnswerChoicesA11y: '{partLabel}, answer choices',\n /** Visually hidden note after a choice's key, naming a choice whose math is read in the content. */\n pickTheAnswerBelowA11y: 'Pick the answer below',\n};\n","import { defineCatalogs } from '@pie-element/shared-i18n';\nimport enUS from './en-US.js';\n\nexport const catalogs = defineCatalogs({\n packageName: '@pie-element/multiple-choice',\n source: enUS,\n loaders: {\n es: () => import(/* webpackMode: \"eager\" */ './es.js'),\n 'th-TH': () => import(/* webpackMode: \"eager\" */ './th-TH.js'),\n 'en-GB': () => import(/* webpackMode: \"eager\" */ './en-GB.js'),\n 'en-AU': () => import(/* webpackMode: \"eager\" */ './en-AU.js'),\n fr: () => import(/* webpackMode: \"eager\" */ './fr.js'),\n ar: () => import(/* webpackMode: \"eager\" */ './ar.js'),\n pt: () => import(/* webpackMode: \"eager\" */ './pt.js'),\n ko: () => import(/* webpackMode: \"eager\" */ './ko.js'),\n ja: () => import(/* webpackMode: \"eager\" */ './ja.js'),\n zh: () => import(/* webpackMode: \"eager\" */ './zh.js'),\n cy: () => import(/* webpackMode: \"eager\" */ './cy.js'),\n sv: () => import(/* webpackMode: \"eager\" */ './sv.js'),\n 'nl-NL': () => import(/* webpackMode: \"eager\" */ './nl-NL.js'),\n ro: () => import(/* webpackMode: \"eager\" */ './ro.js'),\n },\n});\n","// @ts-nocheck\n\nimport React from 'react';\nimport { TransitionGroup, CSSTransition } from 'react-transition-group';\nimport { styled } from '@mui/material/styles';\nimport Box from '@mui/material/Box';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\n\nconst FeedbackTickContainer: any = styled(Box)({\n width: '33px',\n height: '33px',\n '& svg': {\n position: 'absolute',\n display: 'inline-block',\n width: '33px',\n height: '33px',\n verticalAlign: 'middle',\n '& hide': {\n display: 'none',\n },\n },\n});\n\n// The marks take the status colours: the --feedback-*-bg-color hooks hold the pale panel fills.\nconst StyledSVG: any = styled('svg')({\n '& .incorrect-fill': {\n fill: color.incorrect(),\n },\n '& .correct-fill': {\n fill: color.correct(),\n },\n});\n\nconst TransitionWrapper: any = styled('div')({\n position: 'relative',\n '&.feedback-tick-enter': {\n opacity: '0',\n left: '-50px',\n },\n '&.feedback-tick-enter-active': {\n opacity: '1',\n left: '0px',\n transition: 'left 500ms ease-in 200ms, opacity 500ms linear 200ms',\n },\n '&.feedback-tick-exit': {\n opacity: '1',\n left: '0px',\n },\n '&.feedback-tick-exit-active': {\n opacity: '0',\n left: '-50px',\n transition: 'left 300ms ease-in, opacity 300ms',\n },\n});\n\nclass FeedbackTick extends React.Component {\n static propTypes = {\n correctness: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n this.nodeRef = React.createRef();\n }\n\n getIncorrectIcon = () => (\n <StyledSVG\n key=\"1\"\n preserveAspectRatio=\"xMinYMin meet\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 44 40\"\n style={{ enableBackground: 'new 0 0 44 40' }}\n >\n <g>\n <rect\n x=\"11\"\n y=\"17.3\"\n transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -7.852 19.2507)\"\n className=\"incorrect-fill\"\n width=\"16.6\"\n height=\"3.7\"\n />\n <rect\n x=\"17.4\"\n y=\"10.7\"\n transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -7.8175 19.209)\"\n className=\"incorrect-fill\"\n width=\"3.7\"\n height=\"16.6\"\n />\n </g>\n </StyledSVG>\n );\n\n getCorrectIcon = () => (\n <StyledSVG\n key=\"2\"\n preserveAspectRatio=\"xMinYMin meet\"\n version=\"1.1\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 44 40\"\n style={{ enableBackground: 'new 0 0 44 40' }}\n >\n <polygon\n className=\"correct-fill\"\n points=\"19.1,28.6 11.8,22.3 14.4,19.2 17.9,22.1 23.9,11.4 27.5,13.4\"\n />\n </StyledSVG>\n );\n\n render() {\n const { correctness } = this.props;\n\n const icon = (() => {\n if (correctness === 'incorrect') {\n return this.getIncorrectIcon();\n } else if (correctness === 'correct') {\n return this.getCorrectIcon();\n }\n return null;\n })();\n\n return (\n <FeedbackTickContainer>\n <TransitionGroup>\n {correctness && (\n <CSSTransition\n nodeRef={this.nodeRef}\n classNames={{\n enter: 'feedback-tick-enter',\n enterActive: 'feedback-tick-enter-active',\n exit: 'feedback-tick-exit',\n exitActive: 'feedback-tick-exit-active',\n }}\n timeout={{ enter: 700, exit: 300 }}\n >\n <TransitionWrapper ref={this.nodeRef}>{icon}</TransitionWrapper>\n </CSSTransition>\n )}\n </TransitionGroup>\n </FeedbackTickContainer>\n );\n }\n}\n\nexport default FeedbackTick;\n","// @ts-nocheck\n\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Box from '@mui/material/Box';\nimport Checkbox from '@mui/material/Checkbox';\nimport { Feedback as FeedbackImport, color, createUniqueId, PreviewPrompt as PreviewPromptImport } 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}\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;\nconst PreviewPrompt = unwrapReactInteropSymbol(PreviewPromptImport, 'PreviewPrompt') || unwrapReactInteropSymbol(renderUi.PreviewPrompt, 'PreviewPrompt');\nconst Feedback = unwrapReactInteropSymbol(FeedbackImport, 'Feedback') || unwrapReactInteropSymbol(renderUi.Feedback, 'Feedback');\nimport Radio from '@mui/material/Radio';\nimport classNames from 'clsx';\n\nimport FeedbackTick from './feedback-tick.js';\n\nconst MATH_MARKERS = ['<math', '\\\\(', '\\\\[', 'data-latex', 'data-raw', '<mjx-container'];\n\n/**\n * What a choice's label holds that its accessible name cannot carry as text: browsers leave MathML\n * out of a name, a table read as a name is a run of cells, and an image is named by its alt text.\n */\nconst labelContent = (label) => {\n const html = typeof label === 'string' ? label : '';\n return {\n math: MATH_MARKERS.some((marker) => html.includes(marker)),\n table: html.includes('<table'),\n image: html.includes('<img'),\n };\n};\n\nconst CLASS_NAME = 'multiple-choice-component';\n\nconst Row: any = styled(Box)({\n display: 'flex',\n alignItems: 'center',\n backgroundColor: color.background(),\n});\n\nconst CheckboxHolder: any = styled(Box)({\n display: 'flex',\n alignItems: 'center',\n backgroundColor: color.background(),\n flex: 1,\n '& .MuiFormControlLabel-root': {\n marginLeft: '-14px', // to be consistent to previous versions before MUI v5 upgrade\n },\n '& label': {\n color: color.text(),\n '& > span': {\n fontSize: 'inherit',\n },\n '& > .MuiButtonBase-root': {\n padding: '12px', // to be consistent to previous versions before MUI v5 upgrade\n },\n },\n});\n\nconst BelowSelectionComponent: any = styled('span')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n '& > span': {\n // visually reduce right padding, but maintain accessibility padding for checkbox indicators to be circles\n marginLeft: `-${theme.spacing(1)}`,\n },\n}));\n\nconst SrOnly: any = styled('span')({\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n});\n\nexport const StyledFormControlLabel: any = styled(FormControlLabel)({\n '& .MuiFormControlLabel-label': {\n color: `${color.text()} !important`,\n backgroundColor: color.background(),\n letterSpacing: 'normal',\n },\n '&.Mui-disabled *': {\n cursor: 'not-allowed !important',\n },\n});\n\nconst colorStyle = (varName, fallback) => ({\n [`&.${CLASS_NAME}`]: {\n color: `var(--choice-input-${varName}, ${fallback}) !important`,\n },\n});\n\nconst getInputStyles = (correctness) => {\n const key = (k) => (correctness ? `${correctness}-${k}` : k);\n\n return {\n [key('root')]: {\n ...colorStyle('color', color.text()),\n ...(correctness === 'correct' ? colorStyle('correct-color', color.text()) : {}),\n ...(correctness === 'incorrect' ? colorStyle('incorrect-color', color.incorrect()) : {}),\n },\n [key('checked')]: {\n ...(correctness === 'correct' ? colorStyle('correct-selected-color', color.correct()) : {}),\n ...(correctness === 'incorrect' ? colorStyle('incorrect-checked', color.incorrect()) : {}),\n ...(!correctness ? colorStyle('selected-color', color.primary()) : {}),\n },\n [key('disabled')]: {\n ...colorStyle('disabled-color', color.text()),\n ...(correctness === 'correct' ? colorStyle('correct-disabled-color', color.disabled()) : {}),\n ...(correctness === 'incorrect' ? colorStyle('incorrect-disabled-color', color.disabled()) : {}),\n opacity: 0.6,\n cursor: 'not-allowed !important',\n pointerEvents: 'initial !important',\n },\n focusVisibleUnchecked: {\n outline: `2px solid ${color.focusOutline()}`,\n backgroundColor: 'transparent',\n },\n focusVisibleChecked: {\n outline: `2px solid ${color.focusOutline()}`,\n backgroundColor: 'transparent',\n },\n };\n};\n\nconst StyledCheckboxBase: any = styled(Checkbox, {\n shouldForwardProp: (prop) => prop !== 'correctness',\n})(({ correctness }) => {\n const styles = getInputStyles(correctness);\n const key = (k) => (correctness ? `${correctness}-${k}` : k);\n\n return {\n [`&.${CLASS_NAME}`]: {\n ...styles[key('root')],\n '&.Mui-checked': styles[key('checked')],\n '&.Mui-disabled': correctness ? {} : styles[key('disabled')],\n '@media (hover: hover)': {\n '&:hover:not(.Mui-disabled) svg': {\n boxShadow: `0px 0px 0px 2px ${color.focusOutline()}`,\n borderRadius: '4px',\n },\n },\n },\n '&.Mui-focusVisible': {\n '&:not(.Mui-checked)': styles.focusVisibleUnchecked,\n '&.Mui-checked': styles.focusVisibleChecked,\n },\n };\n});\n\nexport const StyledCheckbox = (props) => {\n const { correctness, checked, onChange, disabled, value, id, onKeyDown, inputRef, ariaLabelledBy } = props;\n\n const miniProps = { checked, onChange, disabled, value };\n\n return (\n <StyledCheckboxBase\n id={id}\n slotProps={{ input: { ref: inputRef, 'aria-labelledby': ariaLabelledBy } }}\n onKeyDown={onKeyDown}\n disableRipple\n {...miniProps}\n correctness={correctness}\n className={CLASS_NAME}\n />\n );\n};\n\nconst StyledRadioBase: any = styled(Radio, {\n shouldForwardProp: (prop) => prop !== 'correctness',\n})(({ correctness }) => {\n const styles = getInputStyles(correctness);\n const key = (k) => (correctness ? `${correctness}-${k}` : k);\n\n return {\n [`&.${CLASS_NAME}`]: {\n ...styles[key('root')],\n '&.Mui-checked': styles[key('checked')],\n '&.Mui-disabled': correctness ? {} : styles[key('disabled')],\n '&.Mui-focusVisible:not(.Mui-checked)': styles.focusVisibleUnchecked,\n '&.Mui-focusVisible.Mui-checked': styles.focusVisibleChecked,\n '@media (hover: hover)': {\n '&:hover:not(.Mui-disabled) svg': {\n boxShadow: `0px 0px 0px 2px ${color.focusOutline()}`,\n borderRadius: '50%',\n },\n },\n },\n '&.Mui-focusVisible': {\n '& input': { outline: 0 },\n '& .MuiTouchRipple-root': { display: 'none' },\n },\n };\n});\n\nexport const StyledRadio = (props) => {\n const { correctness, checked, onChange, disabled, value, id, tagName, inputRef, ariaLabelledBy } = props;\n\n const miniProps = { checked, onChange, disabled, value };\n\n return (\n <StyledRadioBase\n id={id}\n slotProps={{ input: { ref: inputRef, 'aria-labelledby': ariaLabelledBy } }}\n disableRipple\n {...miniProps}\n correctness={correctness}\n className={CLASS_NAME}\n name={tagName}\n />\n );\n};\n\nexport class ChoiceInput extends React.Component {\n static propTypes = {\n choiceMode: PropTypes.oneOf(['radio', 'checkbox']),\n displayKey: PropTypes.string,\n checked: PropTypes.bool.isRequired,\n correctness: PropTypes.string,\n disabled: PropTypes.bool.isRequired,\n feedback: PropTypes.string,\n label: PropTypes.string.isRequired,\n rationale: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired,\n className: PropTypes.string,\n tagName: PropTypes.string,\n hideTick: PropTypes.bool,\n isEvaluateMode: PropTypes.bool,\n choicesLayout: PropTypes.oneOf(['vertical', 'grid', 'horizontal']),\n isSelectionButtonBelow: PropTypes.bool,\n mathOutsideNames: PropTypes.bool,\n // The translated note a math choice's name ends with when math is kept out of names.\n pickTheAnswerBelow: PropTypes.string,\n };\n\n static defaultProps = {\n rationale: null,\n checked: false,\n isEvaluateMode: false,\n };\n\n constructor(props) {\n super(props);\n this.onToggleChoice = this.onToggleChoice.bind(this);\n this.choiceId = createUniqueId('choice');\n this.descId = `${this.choiceId}-desc`;\n this.noteId = `${this.choiceId}-note`;\n }\n\n onToggleChoice(event) {\n this.props.onChange(event);\n }\n\n handleKeyDown: any = (event) => {\n const { choiceMode } = this.props;\n\n if (choiceMode !== 'checkbox') return;\n\n const isArrowDown = event.key === 'ArrowDown';\n const isArrowUp = event.key === 'ArrowUp';\n\n if (!isArrowDown && !isArrowUp) return;\n\n event.preventDefault();\n\n const currentEl = document.getElementById(this.choiceId);\n if (!currentEl) return;\n\n const fieldset = currentEl.closest('fieldset');\n if (!fieldset) return;\n\n const groupCheckboxes = Array.from(fieldset.querySelectorAll('input[type=\"checkbox\"]'));\n\n const currentIndex = groupCheckboxes.findIndex((el) => el === currentEl);\n if (currentIndex === -1) return;\n\n const nextIndex = isArrowDown ? currentIndex + 1 : currentIndex - 1;\n const nextEl = groupCheckboxes[nextIndex];\n\n if (nextEl) {\n nextEl.focus();\n }\n };\n\n render() {\n const {\n choiceMode,\n disabled,\n displayKey,\n feedback,\n label,\n correctness,\n className,\n rationale,\n hideTick,\n isEvaluateMode,\n choicesLayout,\n value,\n checked,\n tagName,\n isSelectionButtonBelow,\n mathOutsideNames,\n pickTheAnswerBelow,\n } = this.props;\n\n const Tag = choiceMode === 'checkbox' ? StyledCheckbox : StyledRadio;\n const classSuffix = choiceMode === 'checkbox' ? 'checkbox' : 'radio-button';\n\n const holderSx = {\n ...(choicesLayout === 'horizontal' && {\n [`& .${CLASS_NAME}`]: {\n padding: '8px',\n margin: '4px 0 4px 4px',\n },\n }),\n ...(isSelectionButtonBelow && choicesLayout !== 'grid' && {\n '& > label': {\n alignItems: 'flex-start',\n },\n }),\n ...(isSelectionButtonBelow && choicesLayout === 'grid' && {\n justifyContent: 'center',\n '& > label': {\n alignItems: 'center',\n },\n }),\n };\n\n // By default a choice is named from its label, the renderer labelling its math with speech.\n // With math kept out of names, which the Player switches on to compare the two patterns, a\n // lettered choice holding math is named from its key and a note that the answer follows,\n // \"A. Pick the answer below\", and the screen reader reads its MathML in the content. A choice\n // with no key keeps its label as its name (PIE-1244).\n const content = labelContent(label);\n const namedByNote = Boolean(displayKey) && mathOutsideNames && (content.math || content.table);\n\n // The default key text is the one choices carried before this change, read-aloud included.\n let keyText = displayKey;\n if (namedByNote) keyText = `${displayKey}.`;\n else if (content.math || content.image) keyText = `Pick the answer below, ${displayKey}`;\n\n const screenReaderLabel = displayKey ? (\n <SrOnly id={this.descId} className={namedByNote ? 'pie-sr-only' : undefined}>\n {keyText}\n </SrOnly>\n ) : null;\n\n const note = namedByNote ? (\n <SrOnly id={this.noteId} className=\"pie-sr-only\">\n {pickTheAnswerBelow}\n </SrOnly>\n ) : null;\n\n const choicelabel = (\n <>\n {displayKey && !isSelectionButtonBelow ? (\n <Row component=\"span\">\n <span aria-hidden=\"true\">{displayKey}.{'\\u00A0'}</span>\n <PreviewPrompt className=\"prompt-label\" prompt={label} tagName=\"span\" />\n </Row>\n ) : (\n <PreviewPrompt className=\"prompt-label\" prompt={label} tagName=\"span\" />\n )}\n </>\n );\n\n const tagProps = {\n disabled,\n checked,\n correctness,\n tagName,\n value,\n id: this.choiceId,\n onChange: this.onToggleChoice,\n onKeyDown: this.handleKeyDown,\n ariaLabelledBy: namedByNote ? `${this.descId} ${this.noteId}` : undefined,\n };\n\n const control = isSelectionButtonBelow ? (\n <BelowSelectionComponent>\n {screenReaderLabel}\n {note}\n <Tag {...tagProps} style={{ padding: 0 }} />\n <span aria-hidden=\"true\">{displayKey ? `${displayKey}.` : ''}</span>\n </BelowSelectionComponent>\n ) : (\n <>\n {screenReaderLabel}\n {note}\n <Tag {...tagProps} />\n </>\n );\n\n return (\n <div className={classNames(className, 'corespring-' + classSuffix, 'choice-input')}>\n <Row>\n {!hideTick && isEvaluateMode && <FeedbackTick correctness={correctness} />}\n <CheckboxHolder className=\"checkbox-holder\" sx={holderSx}>\n <StyledFormControlLabel\n label={choicelabel}\n value={value}\n htmlFor={this.choiceId}\n labelPlacement={isSelectionButtonBelow ? 'top' : undefined}\n control={control}\n />\n </CheckboxHolder>\n </Row>\n {rationale && <PreviewPrompt className=\"rationale\" defaultClassName=\"rationale\" prompt={rationale} />}\n <Feedback feedback={feedback} correctness={correctness} />\n </div>\n );\n }\n}\n\nexport default ChoiceInput;\n","// @ts-nocheck\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Box from '@mui/material/Box';\nimport { color } from '@pie-lib/render-ui';\n\nimport ChoiceInput from './choice-input.js';\n\nconst ChoiceContainer: any = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'noBorder' && prop !== 'horizontalLayout',\n})(({ theme, noBorder, horizontalLayout }) => ({\n paddingTop: theme.spacing(2.5),\n paddingBottom: `calc(${theme.spacing(1)} + 2px)`,\n paddingLeft: `calc(${theme.spacing(1)} + 2px)`,\n paddingRight: `calc(${theme.spacing(1)} + 2px)`,\n /*\n * The separator between answer choices. MUI's grey[300] does not follow `--pie-*`,\n * so it stayed #e0e0e0 on every scheme -- about 1.1:1 against black-on-rose's own\n * background, which is where George reported it. `--pie-border` is stepped per\n * scheme and holds at least 3.23:1 everywhere.\n */\n borderBottom: noBorder ? 'none' : `1px solid ${color.border()}`,\n ...(horizontalLayout && {\n paddingRight: theme.spacing(2.5),\n '& label': {\n marginRight: theme.spacing(1),\n },\n }),\n}));\n\nexport class Choice extends React.Component {\n static propTypes = {};\n\n state = {\n isHovered: false,\n };\n\n handleMouseEnter: any = () => {\n const { disabled, checked } = this.props;\n\n if (!disabled && !checked) {\n this.setState({ isHovered: true });\n }\n };\n\n handleMouseLeave: any = () => {\n this.setState({ isHovered: false });\n };\n\n onChange: any = (choice) => {\n const { disabled, onChoiceChanged } = this.props;\n\n if (!disabled) {\n onChoiceChanged(choice);\n }\n };\n\n render() {\n const {\n choice,\n index,\n choicesLength,\n showCorrect,\n isEvaluateMode,\n choiceMode,\n disabled,\n checked,\n correctness,\n displayKey,\n choicesLayout,\n gridColumns,\n isSelectionButtonBelow,\n selectedAnswerBackgroundColor,\n selectedAnswerStrokeColor,\n selectedAnswerStrokeWidth,\n hoverAnswerBackgroundColor,\n hoverAnswerStrokeColor,\n hoverAnswerStrokeWidth,\n tagName,\n mathOutsideNames,\n pickTheAnswerBelow,\n } = this.props;\n \n const { isHovered } = this.state;\n const choiceClass = 'choice' + (index === choicesLength - 1 ? ' last' : '');\n\n const feedback = !isEvaluateMode || showCorrect ? '' : choice.feedback;\n\n const choiceProps = {\n ...choice,\n checked,\n choiceMode,\n disabled,\n feedback,\n correctness,\n displayKey,\n index,\n choicesLayout,\n gridColumns,\n onChange: this.onChange,\n isEvaluateMode,\n isSelectionButtonBelow,\n selectedAnswerStrokeColor,\n selectedAnswerStrokeWidth,\n tagName,\n mathOutsideNames,\n pickTheAnswerBelow,\n };\n\n const normalizeStrokeWidth = (width) => {\n if (!width) return '2px'; // default\n const trimmed = String(width).trim();\n \n // add 'px' if the value is a number\n if (/^\\d+(\\.\\d+)?$/.test(trimmed)) {\n return `${trimmed}px`;\n }\n\n return trimmed;\n };\n\n const hasSelectedStroke = selectedAnswerStrokeColor && selectedAnswerStrokeColor !== 'initial';\n const hasHoverStroke = hoverAnswerStrokeColor && hoverAnswerStrokeColor !== 'initial';\n \n let currentStrokeColor = 'transparent';\n let currentStrokeWidth = '2px';\n let currentBackgroundColor = 'initial';\n \n if ((hasSelectedStroke || hasHoverStroke)) {\n if (checked && hasSelectedStroke) {\n // selected state takes priority when selected stroke is configured\n currentStrokeColor = selectedAnswerStrokeColor;\n currentStrokeWidth = selectedAnswerStrokeWidth;\n } else if (isHovered && !disabled && hasHoverStroke) {\n // hover state when not selected and not disabled, and hover stroke is configured\n currentStrokeColor = hoverAnswerStrokeColor;\n currentStrokeWidth = hoverAnswerStrokeWidth;\n }\n }\n \n if (checked && selectedAnswerBackgroundColor && selectedAnswerBackgroundColor !== 'initial') {\n currentBackgroundColor = selectedAnswerBackgroundColor;\n } else if (isHovered && !disabled && hoverAnswerBackgroundColor && hoverAnswerBackgroundColor !== 'initial') {\n currentBackgroundColor = hoverAnswerBackgroundColor;\n }\n\n const hasStroke = hasSelectedStroke || hasHoverStroke;\n const strokeStyle = hasStroke ? {\n border: `${normalizeStrokeWidth(currentStrokeWidth)} solid ${currentStrokeColor}`,\n borderRadius: '8px',\n } : {};\n\n const noBorder = index === choicesLength - 1 || choicesLayout !== 'vertical' || hasStroke;\n const horizontalLayout = choicesLayout === 'horizontal';\n\n const choiceBackground = currentBackgroundColor !== 'initial' ? currentBackgroundColor : 'initial';\n\n return (\n <div \n className={choiceClass} \n key={index} \n style={{ backgroundColor: choiceBackground, ...strokeStyle }}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <ChoiceContainer \n component=\"div\"\n noBorder={noBorder}\n horizontalLayout={horizontalLayout}\n >\n <ChoiceInput {...choiceProps} />\n </ChoiceContainer>\n </div>\n );\n }\n}\n\nChoice.propTypes = {\n choiceMode: PropTypes.oneOf(['radio', 'checkbox']),\n choice: PropTypes.object,\n disabled: PropTypes.bool.isRequired,\n onChoiceChanged: PropTypes.func,\n index: PropTypes.number,\n choicesLength: PropTypes.number,\n showCorrect: PropTypes.bool,\n isEvaluateMode: PropTypes.bool,\n checked: PropTypes.bool,\n correctness: PropTypes.string,\n displayKey: PropTypes.string,\n choicesLayout: PropTypes.oneOf(['vertical', 'grid', 'horizontal']),\n gridColumns: PropTypes.string,\n selectedAnswerBackgroundColor: PropTypes.string,\n selectedAnswerStrokeColor: PropTypes.string,\n selectedAnswerStrokeWidth: PropTypes.string,\n hoverAnswerBackgroundColor: PropTypes.string,\n hoverAnswerStrokeColor: PropTypes.string,\n hoverAnswerStrokeWidth: PropTypes.string,\n tagName: PropTypes.string,\n isSelectionButtonBelow: PropTypes.bool,\n mathOutsideNames: PropTypes.bool,\n pickTheAnswerBelow: PropTypes.string,\n};\n\nexport default Choice;\n","// @ts-nocheck\n\n// Returns true when count is at or above maxSelections (use to block the next selection).\nexport const reachedMaxSelections = (count, maxSelections) =>\n maxSelections != null && count >= maxSelections;\n\n// Returns true when count strictly exceeds maxSelections (use for validation / isComplete checks).\nexport const exceedsMaxSelections = (count, maxSelections) =>\n maxSelections != null && count > maxSelections;\n","// @ts-nocheck\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport classNames from 'clsx';\nimport { styled } from '@mui/material/styles';\nimport Box from '@mui/material/Box';\nimport { color, Collapsible as CollapsibleImport, createUniqueId, PreviewPrompt as PreviewPromptImport, transformDataHeadings } 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}\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;\nconst PreviewPrompt = unwrapReactInteropSymbol(PreviewPromptImport, 'PreviewPrompt') || unwrapReactInteropSymbol(renderUi.PreviewPrompt, 'PreviewPrompt');\nconst Collapsible = unwrapReactInteropSymbol(CollapsibleImport, 'Collapsible') || unwrapReactInteropSymbol(renderUi.Collapsible, 'Collapsible');\nimport { catalogs } from '../i18n/index.js';\n\nimport Choice from './choice.js';\nimport { reachedMaxSelections } from './utils.js';\n\nconst MainContainer: any = styled(Box)({\n color: color.text(),\n backgroundColor: color.background(),\n '& *': {\n '-webkit-font-smoothing': 'antialiased',\n },\n position: 'relative',\n // remove border from legend tags inside main to override the OT default styles\n '& legend': {\n border: 'none !important',\n },\n});\n\nconst PartLabel: any = styled('h2')(({ theme }) => ({\n display: 'block',\n fontSize: 'inherit',\n margin: '0',\n fontWeight: 'normal',\n paddingBottom: theme.spacing(2),\n}));\n\nconst TeacherInstructions: any = styled(Box)(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst HorizontalLayout: any = styled(Box)({\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n});\n\nconst GridLayout: any = styled(Box)({\n display: 'grid',\n});\n\nconst StyledFieldset: any = styled('fieldset')({\n border: '0px',\n padding: '0.01em 0 0 0',\n margin: '0px',\n minWidth: '0px',\n});\n\nconst srOnly = {\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n};\n\nconst SrOnly: any = styled('h3')(srOnly);\n\n// The group's name. The prompt renders before the fieldset instead of as its legend, because a\n// name built from the prompt leaves its MathML out (PIE-1244). An EBSR part names its group with its\n// part label, so its parts' groups stay apart. `pie-sr-only` keeps read-aloud off it, and the\n// `!important` keeps it hidden from authored CSS that styles `legend`, as prompts were legends.\nconst AnswerChoicesLegend = styled('legend')({\n ...Object.fromEntries(Object.entries(srOnly).map(([key, value]) => [key, `${value} !important`])),\n padding: '0 !important',\n border: '0 !important',\n clip: 'rect(0 0 0 0) !important',\n whiteSpace: 'nowrap !important',\n});\n\n// --pie-missing holds 4.5:1 on the page in every pie-players scheme; the layout theme's error red\n// falls to 1.59:1 under yellow-on-navy.\nconst ErrorText: any = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: color.missing(),\n paddingTop: theme.spacing(1),\n}));\n\nexport class MultipleChoice extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n mode: PropTypes.oneOf(['gather', 'view', 'evaluate']),\n choiceMode: PropTypes.oneOf(['radio', 'checkbox']),\n keyMode: PropTypes.oneOf(['numbers', 'letters', 'none']),\n choices: PropTypes.array,\n partLabel: PropTypes.string,\n prompt: PropTypes.string,\n teacherInstructions: PropTypes.string,\n session: PropTypes.object,\n disabled: PropTypes.bool,\n // Choice values struck out by the answer eliminator, which cannot be selected.\n eliminatedChoices: PropTypes.arrayOf(PropTypes.string),\n mathOutsideNames: PropTypes.bool,\n onChoiceChanged: PropTypes.func,\n responseCorrect: PropTypes.bool,\n correctResponse: PropTypes.array,\n choicesLayout: PropTypes.oneOf(['vertical', 'grid', 'horizontal']),\n gridColumns: PropTypes.string,\n alwaysShowCorrect: PropTypes.bool,\n animationsDisabled: PropTypes.bool,\n language: PropTypes.string,\n selectedAnswerBackgroundColor: PropTypes.string,\n selectedAnswerStrokeColor: PropTypes.string,\n selectedAnswerStrokeWidth: PropTypes.string,\n hoverAnswerBackgroundColor: PropTypes.string,\n hoverAnswerStrokeColor: PropTypes.string,\n hoverAnswerStrokeWidth: PropTypes.string,\n onShowCorrectToggle: PropTypes.func,\n isSelectionButtonBelow: PropTypes.bool,\n minSelections: PropTypes.number,\n maxSelections: PropTypes.number,\n autoplayAudioEnabled: PropTypes.bool,\n autoplayAudioHeld: PropTypes.bool,\n customAudioButton: {\n playImage: PropTypes.string,\n pauseImage: PropTypes.string,\n },\n options: PropTypes.object,\n baseHeadingLevel: PropTypes.number,\n includeSrHeading: PropTypes.bool,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCorrect: (this.props.options && this.props.alwaysShowCorrect) || false,\n maxSelectionsErrorState: false,\n };\n\n this.onToggle = this.onToggle.bind(this);\n\n // Unique radio `name` attribute per instance, so separate MultipleChoice\n // instances (e.g. Part A and Part B inside EBSR, or two EBSRs on the same\n // page) are always treated as independent radio groups by the browser,\n // regardless of any label-related model settings or bundle deduplication.\n this.groupName = `mc-group-${Math.random().toString(36).slice(2, 10)}`;\n // The delivery element finds the container by its class, which authored CSS may also target.\n this.mainContainerId = createUniqueId('main-container');\n }\n\n /** Re-renders once the item language's catalog lands, where no element preloaded it. */\n relabel = () => this.forceUpdate();\n\n isSelected(value) {\n const sessionValue = this.props.session && this.props.session.value;\n\n return sessionValue && sessionValue.indexOf && sessionValue.indexOf(value) >= 0;\n }\n\n // handleChange was added for accessibility. Please see comments and videos from PD-2441.\n handleChange: any = (event) => {\n const { value, checked } = event.target;\n const { choiceMode, maxSelections, onChoiceChanged, session } = this.props;\n\n if (choiceMode !== 'radio' && session.value && reachedMaxSelections(session.value.length, maxSelections)) {\n // show/hide max selections error when user select/deselect an answer\n this.setState({ maxSelectionsErrorState: checked });\n\n if (checked) {\n // prevent selecting more answers\n return;\n }\n }\n\n onChoiceChanged({ value, selected: checked, selector: 'Mouse' });\n };\n\n onToggle: any = () => {\n if (this.props.mode === 'evaluate') {\n this.setState({ showCorrect: !this.state.showCorrect }, () => {\n if (this.props.onShowCorrectToggle) {\n this.props.onShowCorrectToggle();\n }\n });\n }\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (!nextProps.correctResponse && this.state.showCorrect !== false) {\n this.setState({ showCorrect: false }, () => {\n if (this.props.onShowCorrectToggle) {\n this.props.onShowCorrectToggle();\n }\n });\n }\n\n if (nextProps.options && nextProps.alwaysShowCorrect && this.state.showCorrect !== true) {\n this.setState({ showCorrect: true }, () => {\n if (this.props.onShowCorrectToggle) {\n this.props.onShowCorrectToggle();\n }\n });\n }\n }\n\n indexToSymbol(index) {\n if (this.props.keyMode === 'numbers') {\n return `${index + 1}`;\n }\n\n if (this.props.keyMode === 'letters') {\n return String.fromCharCode(97 + index).toUpperCase();\n }\n\n return '';\n }\n\n getCorrectness: any = (choice = {}) => {\n const isCorrect = choice.correct;\n const isChecked = this.isSelected(choice.value);\n\n if (this.state.showCorrect) {\n return isCorrect ? 'correct' : undefined;\n }\n\n if (isCorrect) {\n if (isChecked) {\n // A correct answer is selected: marked with a green checkmark\n return 'correct';\n } else {\n // A correct answer is NOT selected: marked with an orange X\n return 'incorrect';\n }\n } else {\n if (isChecked) {\n // An incorrect answer is selected: marked with an orange X\n return 'incorrect';\n } else {\n // An incorrect answer is NOT selected: not marked\n return undefined;\n }\n }\n };\n\n getChecked(choice) {\n // check for print context: options prop is passed from print.js and alwaysShowCorrect is true\n const isPrintMode = this.props.options && this.props.alwaysShowCorrect;\n\n if (isPrintMode) {\n return choice.correct || false;\n }\n\n // evaluate mode with show correct toggled\n const isEvaluateMode = this.state.showCorrect && this.props.mode === 'evaluate';\n\n if (isEvaluateMode) {\n return choice.correct || false;\n }\n\n // default behavior: show what the user has selected\n return this.isSelected(choice.value);\n }\n\n // renderHeading function was added for accessibility.\n renderHeading() {\n const { mode, choiceMode, includeSrHeading, baseHeadingLevel, partLabel, language } = this.props;\n\n // When a part label is present the item is an EBSR part — the SR heading\n // is provided by the EBSR element, not here.\n const shouldRenderSrHeading = !partLabel && includeSrHeading !== false;\n\n if (!shouldRenderSrHeading || mode !== 'gather') {\n return null;\n }\n\n const clampedLevel = baseHeadingLevel ? Math.min(6, baseHeadingLevel) : 2;\n const HeadingTag = SrOnly.withComponent(`h${clampedLevel}`);\n const label = catalogs\n .forLocale(language, this.relabel)\n .t(choiceMode === 'radio' ? 'multipleChoiceQuestion' : 'multipleSelectQuestion');\n\n return <HeadingTag>{label}</HeadingTag>;\n }\n\n render() {\n const {\n mode,\n disabled,\n className,\n choices = [],\n choiceMode,\n gridColumns,\n partLabel,\n prompt,\n responseCorrect,\n teacherInstructions,\n alwaysShowCorrect,\n animationsDisabled,\n language,\n isSelectionButtonBelow,\n minSelections,\n maxSelections,\n autoplayAudioEnabled,\n autoplayAudioHeld,\n session,\n customAudioButton,\n options,\n baseHeadingLevel,\n eliminatedChoices = [],\n mathOutsideNames,\n } = this.props;\n const { showCorrect, maxSelectionsErrorState } = this.state;\n const isEvaluateMode = mode === 'evaluate';\n const showCorrectAnswerToggle = isEvaluateMode && !responseCorrect;\n const columnsStyle = gridColumns > 1 ? { gridTemplateColumns: `repeat(${gridColumns}, 1fr)` } : undefined;\n const selections = (session.value && session.value.length) || 0;\n\n // Heading levels are optional and only applied when baseHeadingLevel is provided.\n const getContentHeadingLevel = () => {\n if (!baseHeadingLevel) return undefined;\n // SR heading (rendered or external) sits at baseHeadingLevel.\n // Content is always one below that; part label (EBSR) sits between them.\n let offset = 1; // content default: baseHeadingLevel + 1\n if (partLabel) offset += 1; // part label at base + 1, content pushed to base + 2\n return Math.min(6, baseHeadingLevel + offset);\n };\n const contentHeadingLevel = getContentHeadingLevel();\n const transformPrompt = (html) => (html && contentHeadingLevel) ? transformDataHeadings(html, contentHeadingLevel) : html;\n\n const teacherInstructionsDiv = (\n <PreviewPrompt\n tagName=\"div\"\n className=\"prompt\"\n defaultClassName=\"teacher-instructions\"\n prompt={teacherInstructions}\n />\n );\n\n const i18n = catalogs.forLocale(language, this.relabel);\n\n const getMultipleChoiceMinSelectionErrorMessage = () => {\n if (minSelections && maxSelections) {\n return minSelections === maxSelections\n ? i18n.t('minmaxSelectionsEqual', { minSelections })\n : i18n.t('minmaxSelectionsRange', { minSelections, maxSelections });\n }\n\n if (minSelections) {\n return i18n.t('minSelections', { minSelections });\n }\n\n return '';\n };\n\n const LayoutComponent = this.props.choicesLayout === 'grid'\n ? GridLayout\n : this.props.choicesLayout === 'horizontal'\n ? HorizontalLayout\n : Box;\n\n return (\n <MainContainer id={this.mainContainerId} className={classNames(className, 'multiple-choice', 'main-container')}>\n {partLabel && <PartLabel as={baseHeadingLevel ? `h${Math.min(6, baseHeadingLevel + 1)}` : 'h2'}>{partLabel}</PartLabel>}\n\n {this.renderHeading()}\n\n {teacherInstructions && (\n <TeacherInstructions>\n {!animationsDisabled ? (\n <Collapsible\n labels={{\n hidden: i18n.t('showTeacherInstructions'),\n visible: i18n.t('hideTeacherInstructions'),\n }}\n >\n {teacherInstructionsDiv}\n </Collapsible>\n ) : (\n teacherInstructionsDiv\n )}\n </TeacherInstructions>\n )}\n\n {/* The `legend` class keeps the layout and the authored-CSS hooks the prompt had as a legend. */}\n <PreviewPrompt\n className=\"prompt legend\"\n defaultClassName=\"prompt\"\n prompt={transformPrompt(prompt)}\n tagName=\"div\"\n autoplayAudioEnabled={autoplayAudioEnabled}\n autoplayAudioHeld={autoplayAudioHeld}\n customAudioButton={customAudioButton}\n language={language}\n />\n\n <StyledFieldset role={choiceMode === 'radio' ? 'radiogroup' : 'group'}>\n <AnswerChoicesLegend className=\"pie-sr-only\">\n {partLabel ? i18n.t('partAnswerChoicesA11y', { partLabel }) : i18n.t('answerChoicesA11y')}\n </AnswerChoicesLegend>\n\n {!(options && alwaysShowCorrect) && (\n <CorrectAnswerToggle\n show={showCorrectAnswerToggle}\n toggled={showCorrect}\n onToggle={this.onToggle.bind(this)}\n language={language}\n />\n )}\n\n <LayoutComponent style={columnsStyle}>\n {choices.map((choice, index) => (\n <Choice\n choicesLayout={this.props.choicesLayout}\n selectedAnswerBackgroundColor={this.props.selectedAnswerBackgroundColor}\n selectedAnswerStrokeColor={this.props.selectedAnswerStrokeColor}\n selectedAnswerStrokeWidth={this.props.selectedAnswerStrokeWidth}\n hoverAnswerBackgroundColor={this.props.hoverAnswerBackgroundColor}\n hoverAnswerStrokeColor={this.props.hoverAnswerStrokeColor}\n hoverAnswerStrokeWidth={this.props.hoverAnswerStrokeWidth}\n gridColumns={gridColumns}\n key={`choice-${index}`}\n choice={choice}\n index={index}\n choicesLength={choices.length}\n showCorrect={showCorrect}\n isEvaluateMode={isEvaluateMode}\n choiceMode={choiceMode}\n disabled={disabled || eliminatedChoices.includes(String(choice.value))}\n tagName={this.groupName}\n onChoiceChanged={this.handleChange}\n hideTick={choice.hideTick}\n checked={this.getChecked(choice)}\n correctness={isEvaluateMode ? this.getCorrectness(choice) : undefined}\n displayKey={this.indexToSymbol(index)}\n isSelectionButtonBelow={isSelectionButtonBelow}\n mathOutsideNames={mathOutsideNames}\n pickTheAnswerBelow={i18n.t('pickTheAnswerBelowA11y')}\n />\n ))}\n </LayoutComponent>\n </StyledFieldset>\n\n {choiceMode === 'checkbox' && selections < minSelections && (\n <ErrorText>{getMultipleChoiceMinSelectionErrorMessage()}</ErrorText>\n )}\n {choiceMode === 'checkbox' && maxSelectionsErrorState && (\n <ErrorText>\n {i18n.plural('maxSelections', { count: maxSelections })}\n </ErrorText>\n )}\n </MainContainer>\n );\n }\n}\n\nMultipleChoice.defaultProps = {\n session: {\n value: [],\n },\n};\n\nexport default MultipleChoice;\n","// @ts-nocheck\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { PreviewLayout as PreviewLayoutImport } 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}\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;\nconst PreviewLayout = unwrapReactInteropSymbol(PreviewLayoutImport, 'PreviewLayout') || unwrapReactInteropSymbol(renderUi.PreviewLayout, 'PreviewLayout');\nimport MultipleChoice from './multiple-choice.js';\n\nclass Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n options: PropTypes.object,\n onChoiceChanged: PropTypes.func,\n onShowCorrectToggle: PropTypes.func,\n extraCSSRules: PropTypes.shape({\n names: PropTypes.arrayOf(PropTypes.string),\n rules: PropTypes.string,\n }),\n baseHeadingLevel: PropTypes.number,\n includeSrHeading: PropTypes.bool,\n eliminatedChoices: PropTypes.arrayOf(PropTypes.string),\n mathOutsideNames: PropTypes.bool,\n };\n\n static defaultProps = {\n model: {},\n session: {},\n };\n\n render() {\n const {\n model,\n onChoiceChanged,\n session,\n onShowCorrectToggle,\n options,\n baseHeadingLevel,\n includeSrHeading,\n eliminatedChoices,\n mathOutsideNames,\n } = this.props;\n const { extraCSSRules, fontSizeFactor } = model;\n\n // model.partLabel is a property used for ebsr\n return (\n <PreviewLayout extraCSSRules={extraCSSRules} fontSizeFactor={fontSizeFactor} classes={{}}>\n <MultipleChoice\n {...model}\n options={options}\n session={session}\n onChoiceChanged={onChoiceChanged}\n onShowCorrectToggle={onShowCorrectToggle}\n baseHeadingLevel={baseHeadingLevel}\n includeSrHeading={includeSrHeading}\n eliminatedChoices={eliminatedChoices}\n mathOutsideNames={mathOutsideNames}\n />\n </PreviewLayout>\n );\n }\n}\n\nexport default Main;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main-CHDASqeA.js","names":["i","e","a","o","r","s","e","r","t","i","t","a","o","n","s","u","d","t","f","e","r","i","defineCatalogs","enUS","color","PropTypes","isRenderableReactInteropType","unwrapReactInteropSymbol","renderUiNamespaceAny","RenderUiNamespace","renderUiDefaultMaybe","renderUi","PreviewPrompt","PreviewPromptImport","FeedbackImport","color","SrOnly","PropTypes","createUniqueId","_Fragment","classNames","color","PropTypes","isRenderableReactInteropType","unwrapReactInteropSymbol","renderUiNamespaceAny","RenderUiNamespace","renderUiDefaultMaybe","renderUi","PreviewPromptImport","CollapsibleImport","color","PropTypes","createUniqueId","transformDataHeadings","classNames","CorrectAnswerToggle","RenderUiNamespace","PreviewLayoutImport","PropTypes","TransitionGroup","CSSTransition","y$1","w$1","styled","t","clsx","__toESM","S$1","i$2","FormControlLabel","p$1","m$1","Checkbox","Box","e$2","require_prop_types","dist_exports","Radio","ee","o$2","React","import_prop_types","i$1","r","a$1","i","o$1","s$1","n","a","o","s","c","useRef","p","m","h","g","_","v","y","b","x","S","C","w","T","n$1","s$2","u","d","catalogs","FeedbackTickContainer","StyledSVG","TransitionWrapper","FeedbackTick","props","icon","correctness","isRenderableReactInteropType$2","value","unwrapReactInteropSymbol$2","maybeSymbol","namedExport","renderUiNamespaceAny$2","renderUiDefaultMaybe$2","\"default\"","renderUi$2","PreviewPrompt$1","Feedback","MATH_MARKERS","labelContent","html","label","marker","CLASS_NAME","Row","CheckboxHolder","BelowSelectionComponent","theme","SrOnly$1","StyledFormControlLabel","colorStyle","varName","fallback","getInputStyles","key","k","StyledCheckboxBase","prop","styles","StyledCheckbox","inputRef","ariaLabelledBy","StyledRadioBase","StyledRadio","tagName","ChoiceInput","event","choiceMode","isArrowDown","isArrowUp","currentEl","fieldset","groupCheckboxes","currentIndex","el","nextEl","Tag","classSuffix","holderSx","choicesLayout","isSelectionButtonBelow","content","namedByNote","displayKey","mathOutsideNames","keyText","screenReaderLabel","note","pickTheAnswerBelow","choicelabel","Fragment","tagProps","control","className","hideTick","isEvaluateMode","rationale","ChoiceContainer","noBorder","horizontalLayout","Choice","disabled","checked","onChoiceChanged","choice","choiceClass","index","choicesLength","feedback","showCorrect","choiceProps","normalizeStrokeWidth","width","trimmed","hasSelectedStroke","selectedAnswerStrokeColor","hasHoverStroke","hoverAnswerStrokeColor","currentStrokeColor","currentStrokeWidth","currentBackgroundColor","selectedAnswerStrokeWidth","isHovered","hoverAnswerStrokeWidth","selectedAnswerBackgroundColor","hoverAnswerBackgroundColor","hasStroke","strokeStyle","reachedMaxSelections","maxSelections","count","exceedsMaxSelections","isRenderableReactInteropType$1","unwrapReactInteropSymbol$1","renderUiNamespaceAny$1","renderUiDefaultMaybe$1","renderUi$1","PreviewPrompt","Collapsible","MainContainer","PartLabel","TeacherInstructions","HorizontalLayout","GridLayout","StyledFieldset","srOnly","SrOnly","AnswerChoicesLegend","ErrorText","MultipleChoice","sessionValue","session","nextProps","isCorrect","isChecked","partLabel","includeSrHeading","mode","clampedLevel","baseHeadingLevel","HeadingTag","language","showCorrectAnswerToggle","responseCorrect","columnsStyle","gridColumns","selections","contentHeadingLevel","offset","transformPrompt","teacherInstructionsDiv","teacherInstructions","i18n","getMultipleChoiceMinSelectionErrorMessage","minSelections","LayoutComponent","animationsDisabled","prompt","options","alwaysShowCorrect","choices","eliminatedChoices","maxSelectionsErrorState","isRenderableReactInteropType","unwrapReactInteropSymbol","renderUiNamespaceAny","renderUiDefaultMaybe","renderUi","PreviewLayout","Main","model"],"sources":["../../../../../lib-react/icons/dist/correct-response-icon.js","../../../../../lib-react/correct-answer-toggle/dist/expander.js","../../../../../lib-react/correct-answer-toggle/dist/i18n/en-US.js","../../../../../lib-react/correct-answer-toggle/dist/i18n/index.js","../../../../../lib-react/correct-answer-toggle/dist/index.js","../../../src/i18n/en-US.ts","../../../src/i18n/index.ts","../../../src/delivery/feedback-tick.tsx","../../../src/delivery/choice-input.tsx","../../../src/delivery/choice.tsx","../../../src/delivery/utils.ts","../../../src/delivery/multiple-choice.tsx","../../../src/delivery/main.tsx"],"sourcesContent":["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\t\"aria-hidden\": \"true\",\n\tfocusable: \"false\",\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\t\"aria-hidden\": \"true\",\n\tfocusable: \"false\",\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 = !1, 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};\n//#endregion\nexport { s as default };\n","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","//#region src/i18n/en-US.ts\nvar e = {\n\tshowCorrectAnswer: \"Show correct answer\",\n\thideCorrectAnswer: \"Hide correct answer\"\n};\n//#endregion\nexport { e as default };\n","import e from \"./en-US.js\";\nimport { defineCatalogs as t } from \"@pie-element/shared-i18n\";\n//#region src/i18n/index.ts\nvar n = t({\n\tpackageName: \"@pie-lib/correct-answer-toggle\",\n\tsource: e,\n\tloaders: {\n\t\tes: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./es.js\"\n),\n\t\t\"th-TH\": () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./th-TH.js\"\n),\n\t\t\"en-GB\": () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./en-GB.js\"\n),\n\t\t\"en-AU\": () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./en-AU.js\"\n),\n\t\tfr: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./fr.js\"\n),\n\t\tar: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./ar.js\"\n),\n\t\tpt: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./pt.js\"\n),\n\t\tko: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./ko.js\"\n),\n\t\tja: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./ja.js\"\n),\n\t\tzh: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./zh.js\"\n),\n\t\tcy: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./cy.js\"\n),\n\t\tsv: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./sv.js\"\n),\n\t\t\"nl-NL\": () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./nl-NL.js\"\n),\n\t\tro: () => import(\n\t\t\t/* webpackMode: \"eager\" */\n\t\t\t\"./ro.js\"\n)\n\t}\n});\n//#endregion\nexport { n as catalogs };\n","import e from \"./expander.js\";\nimport { catalogs as t } from \"./i18n/index.js\";\nimport { styled as n } from \"@mui/material/styles\";\nimport { CSSTransition as r } from \"react-transition-group\";\nimport { CorrectResponse as i } from \"@pie-lib/icons\";\nimport * as a from \"@pie-lib/render-ui\";\nimport { Readable as o, color as s } from \"@pie-lib/render-ui\";\nimport { jsx as c, jsxs as l } from \"react/jsx-runtime\";\nimport u from \"react\";\nimport d from \"prop-types\";\nimport { elementLanguageAttributes as f } from \"@pie-element/shared-i18n\";\n//#region src/index.tsx\nfunction p(e) {\n\treturn typeof e == \"function\" || typeof e == \"object\" && !!e && typeof e.$$typeof == \"symbol\";\n}\nfunction m(e, t) {\n\treturn !e || p(e) ? e : p(e.default) ? e.default : t && p(e[t]) ? e[t] : t && p(e[t]?.default) ? e[t].default : e;\n}\nvar h = a, g = h.default, _ = g && typeof g == \"object\" ? g : h, v = m(o, \"Readable\") || m(_.Readable, \"Readable\"), y = {\n\tWebkitTouchCallout: \"none\",\n\tWebkitUserSelect: \"none\",\n\tKhtmlUserSelect: \"none\",\n\tMozUserSelect: \"none\",\n\tmsUserSelect: \"none\",\n\tuserSelect: \"none\"\n}, b = n(\"div\")(() => ({\n\twidth: \"100%\",\n\tcursor: \"pointer\"\n})), x = n(\"button\")(() => ({\n\tmargin: \"0 auto\",\n\ttextAlign: \"center\",\n\tdisplay: \"flex\",\n\tminWidth: \"24px\",\n\tminHeight: \"24px\",\n\tpadding: 0,\n\tborder: 0,\n\tbackground: \"none\",\n\tcolor: \"inherit\",\n\tfont: \"inherit\",\n\tcursor: \"pointer\",\n\t\"&:focus-visible\": {\n\t\toutline: `2px solid ${s.buttonFocusOutline()}`,\n\t\toutlineOffset: \"-2px\"\n\t}\n})), S = n(\"div\")(() => ({\n\twidth: \"fit-content\",\n\tminWidth: \"140px\",\n\talignSelf: \"center\",\n\tverticalAlign: \"middle\",\n\tcolor: `var(--correct-answer-toggle-label-color, ${s.text()})`,\n\tfontWeight: \"normal\",\n\t...y\n})), C = n(\"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 = n(\"div\")(() => ({\n\twidth: \"25px\",\n\tmarginRight: \"5px\",\n\tdisplay: \"flex\",\n\talignItems: \"center\"\n})), T = class extends u.Component {\n\tstatic propTypes = {\n\t\tonToggle: d.func,\n\t\ttoggled: d.bool,\n\t\tshow: d.bool,\n\t\thideMessage: d.string,\n\t\tshowMessage: d.string,\n\t\tclassName: d.string,\n\t\tlanguage: d.string\n\t};\n\tstatic defaultProps = {\n\t\tshow: !1,\n\t\ttoggled: !1\n\t};\n\tconstructor(e) {\n\t\tsuper(e), this.state = { show: e.show }, this.openIconRef = u.createRef(), this.closedIconRef = u.createRef();\n\t}\n\trelabel = () => this.forceUpdate();\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 });\n\t}\n\trender() {\n\t\tlet { className: n, toggled: a, language: o } = this.props, s = t.forLocale(o, this.relabel), u = this.props.hideMessage ?? s.t(\"hideCorrectAnswer\"), d = this.props.showMessage ?? s.t(\"showCorrectAnswer\"), p = f(o);\n\t\treturn /* @__PURE__ */ c(b, {\n\t\t\tclassName: n,\n\t\t\t...p,\n\t\t\tchildren: /* @__PURE__ */ c(e, {\n\t\t\t\tshow: this.state.show,\n\t\t\t\tchildren: /* @__PURE__ */ l(x, {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-pressed\": !!a,\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__ */ l(w, { children: [/* @__PURE__ */ c(r, {\n\t\t\t\t\t\tnodeRef: this.openIconRef,\n\t\t\t\t\t\ttimeout: 400,\n\t\t\t\t\t\tin: a,\n\t\t\t\t\t\texit: !a,\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__ */ c(C, {\n\t\t\t\t\t\t\tref: this.openIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ c(i, { open: a }, \"correct-open\")\n\t\t\t\t\t\t})\n\t\t\t\t\t}), /* @__PURE__ */ c(r, {\n\t\t\t\t\t\tnodeRef: this.closedIconRef,\n\t\t\t\t\t\ttimeout: 5e3,\n\t\t\t\t\t\tin: !a,\n\t\t\t\t\t\texit: a,\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__ */ c(C, {\n\t\t\t\t\t\t\tref: this.closedIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ c(i, { open: a }, \"correct-closed\")\n\t\t\t\t\t\t})\n\t\t\t\t\t})] }), /* @__PURE__ */ c(v, {\n\t\t\t\t\t\tfalse: !0,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ c(S, {\n\t\t\t\t\t\t\t\"aria-hidden\": !this.state.show,\n\t\t\t\t\t\t\tchildren: a ? u : d\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","/** The interface strings `@pie-element/multiple-choice` renders; the source for every other locale. */\nexport default {\n /** Region name and screen-reader heading of a single-answer question. */\n multipleChoiceQuestion: 'Multiple Choice Question',\n /** Region name of a multiple-answer question. */\n multipleCorrectAnswerQuestion: 'Multiple Correct Answer Question',\n /** Screen-reader heading of a multiple-answer question. */\n multipleSelectQuestion: 'Multiple Select Question',\n minSelections: 'Select at least {minSelections}.',\n minmaxSelectionsEqual: 'Select {minSelections}.',\n minmaxSelectionsRange: 'Select between {minSelections} and {maxSelections}.',\n maxSelections: {\n one: 'Only {count} answer is allowed.',\n other: 'Only {count} answers are allowed.',\n },\n showTeacherInstructions: 'Show Teacher Instructions',\n hideTeacherInstructions: 'Hide Teacher Instructions',\n /** Visually hidden name of the answer choices' group; the prompt renders before it (PIE-1244). */\n answerChoicesA11y: 'Answer choices',\n /** The same group's name in a two-part question, so its parts' groups stay apart. */\n partAnswerChoicesA11y: '{partLabel}, answer choices',\n /** Visually hidden note after a choice's key, naming a choice whose math is read in the content. */\n pickTheAnswerBelowA11y: 'Pick the answer below',\n};\n","import { defineCatalogs } from '@pie-element/shared-i18n';\nimport enUS from './en-US.js';\n\nexport const catalogs = defineCatalogs({\n packageName: '@pie-element/multiple-choice',\n source: enUS,\n loaders: {\n es: () => import(/* webpackMode: \"eager\" */ './es.js'),\n 'th-TH': () => import(/* webpackMode: \"eager\" */ './th-TH.js'),\n 'en-GB': () => import(/* webpackMode: \"eager\" */ './en-GB.js'),\n 'en-AU': () => import(/* webpackMode: \"eager\" */ './en-AU.js'),\n fr: () => import(/* webpackMode: \"eager\" */ './fr.js'),\n ar: () => import(/* webpackMode: \"eager\" */ './ar.js'),\n pt: () => import(/* webpackMode: \"eager\" */ './pt.js'),\n ko: () => import(/* webpackMode: \"eager\" */ './ko.js'),\n ja: () => import(/* webpackMode: \"eager\" */ './ja.js'),\n zh: () => import(/* webpackMode: \"eager\" */ './zh.js'),\n cy: () => import(/* webpackMode: \"eager\" */ './cy.js'),\n sv: () => import(/* webpackMode: \"eager\" */ './sv.js'),\n 'nl-NL': () => import(/* webpackMode: \"eager\" */ './nl-NL.js'),\n ro: () => import(/* webpackMode: \"eager\" */ './ro.js'),\n },\n});\n","// @ts-nocheck\n\nimport React from 'react';\nimport { TransitionGroup, CSSTransition } from 'react-transition-group';\nimport { styled } from '@mui/material/styles';\nimport Box from '@mui/material/Box';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\n\nconst FeedbackTickContainer: any = styled(Box)({\n width: '33px',\n height: '33px',\n '& svg': {\n position: 'absolute',\n display: 'inline-block',\n width: '33px',\n height: '33px',\n verticalAlign: 'middle',\n '& hide': {\n display: 'none',\n },\n },\n});\n\n// The marks take the status colours: the --feedback-*-bg-color hooks hold the pale panel fills.\nconst StyledSVG: any = styled('svg')({\n '& .incorrect-fill': {\n fill: color.incorrect(),\n },\n '& .correct-fill': {\n fill: color.correct(),\n },\n});\n\nconst TransitionWrapper: any = styled('div')({\n position: 'relative',\n '&.feedback-tick-enter': {\n opacity: '0',\n left: '-50px',\n },\n '&.feedback-tick-enter-active': {\n opacity: '1',\n left: '0px',\n transition: 'left 500ms ease-in 200ms, opacity 500ms linear 200ms',\n },\n '&.feedback-tick-exit': {\n opacity: '1',\n left: '0px',\n },\n '&.feedback-tick-exit-active': {\n opacity: '0',\n left: '-50px',\n transition: 'left 300ms ease-in, opacity 300ms',\n },\n});\n\nclass FeedbackTick extends React.Component {\n static propTypes = {\n correctness: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n this.nodeRef = React.createRef();\n }\n\n getIncorrectIcon = () => (\n <StyledSVG\n key=\"1\"\n preserveAspectRatio=\"xMinYMin meet\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 44 40\"\n style={{ enableBackground: 'new 0 0 44 40' }}\n >\n <g>\n <rect\n x=\"11\"\n y=\"17.3\"\n transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -7.852 19.2507)\"\n className=\"incorrect-fill\"\n width=\"16.6\"\n height=\"3.7\"\n />\n <rect\n x=\"17.4\"\n y=\"10.7\"\n transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -7.8175 19.209)\"\n className=\"incorrect-fill\"\n width=\"3.7\"\n height=\"16.6\"\n />\n </g>\n </StyledSVG>\n );\n\n getCorrectIcon = () => (\n <StyledSVG\n key=\"2\"\n preserveAspectRatio=\"xMinYMin meet\"\n version=\"1.1\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 44 40\"\n style={{ enableBackground: 'new 0 0 44 40' }}\n >\n <polygon\n className=\"correct-fill\"\n points=\"19.1,28.6 11.8,22.3 14.4,19.2 17.9,22.1 23.9,11.4 27.5,13.4\"\n />\n </StyledSVG>\n );\n\n render() {\n const { correctness } = this.props;\n\n const icon = (() => {\n if (correctness === 'incorrect') {\n return this.getIncorrectIcon();\n } else if (correctness === 'correct') {\n return this.getCorrectIcon();\n }\n return null;\n })();\n\n return (\n <FeedbackTickContainer>\n <TransitionGroup>\n {correctness && (\n <CSSTransition\n nodeRef={this.nodeRef}\n classNames={{\n enter: 'feedback-tick-enter',\n enterActive: 'feedback-tick-enter-active',\n exit: 'feedback-tick-exit',\n exitActive: 'feedback-tick-exit-active',\n }}\n timeout={{ enter: 700, exit: 300 }}\n >\n <TransitionWrapper ref={this.nodeRef}>{icon}</TransitionWrapper>\n </CSSTransition>\n )}\n </TransitionGroup>\n </FeedbackTickContainer>\n );\n }\n}\n\nexport default FeedbackTick;\n","// @ts-nocheck\n\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Box from '@mui/material/Box';\nimport Checkbox from '@mui/material/Checkbox';\nimport { Feedback as FeedbackImport, color, createUniqueId, PreviewPrompt as PreviewPromptImport } 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}\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;\nconst PreviewPrompt = unwrapReactInteropSymbol(PreviewPromptImport, 'PreviewPrompt') || unwrapReactInteropSymbol(renderUi.PreviewPrompt, 'PreviewPrompt');\nconst Feedback = unwrapReactInteropSymbol(FeedbackImport, 'Feedback') || unwrapReactInteropSymbol(renderUi.Feedback, 'Feedback');\nimport Radio from '@mui/material/Radio';\nimport classNames from 'clsx';\n\nimport FeedbackTick from './feedback-tick.js';\n\nconst MATH_MARKERS = ['<math', '\\\\(', '\\\\[', 'data-latex', 'data-raw', '<mjx-container'];\n\n/**\n * What a choice's label holds that its accessible name cannot carry as text: browsers leave MathML\n * out of a name, a table read as a name is a run of cells, and an image is named by its alt text.\n */\nconst labelContent = (label) => {\n const html = typeof label === 'string' ? label : '';\n return {\n math: MATH_MARKERS.some((marker) => html.includes(marker)),\n table: html.includes('<table'),\n image: html.includes('<img'),\n };\n};\n\nconst CLASS_NAME = 'multiple-choice-component';\n\nconst Row: any = styled(Box)({\n display: 'flex',\n alignItems: 'center',\n backgroundColor: color.background(),\n});\n\nconst CheckboxHolder: any = styled(Box)({\n display: 'flex',\n alignItems: 'center',\n backgroundColor: color.background(),\n flex: 1,\n '& .MuiFormControlLabel-root': {\n marginLeft: '-14px', // to be consistent to previous versions before MUI v5 upgrade\n },\n '& label': {\n color: color.text(),\n '& > span': {\n fontSize: 'inherit',\n },\n '& > .MuiButtonBase-root': {\n padding: '12px', // to be consistent to previous versions before MUI v5 upgrade\n },\n },\n});\n\nconst BelowSelectionComponent: any = styled('span')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n '& > span': {\n // visually reduce right padding, but maintain accessibility padding for checkbox indicators to be circles\n marginLeft: `-${theme.spacing(1)}`,\n },\n}));\n\nconst SrOnly: any = styled('span')({\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n});\n\nexport const StyledFormControlLabel: any = styled(FormControlLabel)({\n '& .MuiFormControlLabel-label': {\n color: `${color.text()} !important`,\n backgroundColor: color.background(),\n letterSpacing: 'normal',\n },\n '&.Mui-disabled *': {\n cursor: 'not-allowed !important',\n },\n});\n\nconst colorStyle = (varName, fallback) => ({\n [`&.${CLASS_NAME}`]: {\n color: `var(--choice-input-${varName}, ${fallback}) !important`,\n },\n});\n\nconst getInputStyles = (correctness) => {\n const key = (k) => (correctness ? `${correctness}-${k}` : k);\n\n return {\n [key('root')]: {\n ...colorStyle('color', color.text()),\n ...(correctness === 'correct' ? colorStyle('correct-color', color.text()) : {}),\n ...(correctness === 'incorrect' ? colorStyle('incorrect-color', color.incorrect()) : {}),\n },\n [key('checked')]: {\n ...(correctness === 'correct' ? colorStyle('correct-selected-color', color.correct()) : {}),\n ...(correctness === 'incorrect' ? colorStyle('incorrect-checked', color.incorrect()) : {}),\n ...(!correctness ? colorStyle('selected-color', color.primary()) : {}),\n },\n [key('disabled')]: {\n ...colorStyle('disabled-color', color.text()),\n ...(correctness === 'correct' ? colorStyle('correct-disabled-color', color.disabled()) : {}),\n ...(correctness === 'incorrect' ? colorStyle('incorrect-disabled-color', color.disabled()) : {}),\n opacity: 0.6,\n cursor: 'not-allowed !important',\n pointerEvents: 'initial !important',\n },\n focusVisibleUnchecked: {\n outline: `2px solid ${color.focusOutline()}`,\n backgroundColor: 'transparent',\n },\n focusVisibleChecked: {\n outline: `2px solid ${color.focusOutline()}`,\n backgroundColor: 'transparent',\n },\n };\n};\n\nconst StyledCheckboxBase: any = styled(Checkbox, {\n shouldForwardProp: (prop) => prop !== 'correctness',\n})(({ correctness }) => {\n const styles = getInputStyles(correctness);\n const key = (k) => (correctness ? `${correctness}-${k}` : k);\n\n return {\n [`&.${CLASS_NAME}`]: {\n ...styles[key('root')],\n '&.Mui-checked': styles[key('checked')],\n '&.Mui-disabled': correctness ? {} : styles[key('disabled')],\n '@media (hover: hover)': {\n '&:hover:not(.Mui-disabled) svg': {\n boxShadow: `0px 0px 0px 2px ${color.focusOutline()}`,\n borderRadius: '4px',\n },\n },\n },\n '&.Mui-focusVisible': {\n '&:not(.Mui-checked)': styles.focusVisibleUnchecked,\n '&.Mui-checked': styles.focusVisibleChecked,\n },\n };\n});\n\nexport const StyledCheckbox = (props) => {\n const { correctness, checked, onChange, disabled, value, id, onKeyDown, inputRef, ariaLabelledBy } = props;\n\n const miniProps = { checked, onChange, disabled, value };\n\n return (\n <StyledCheckboxBase\n id={id}\n slotProps={{ input: { ref: inputRef, 'aria-labelledby': ariaLabelledBy } }}\n onKeyDown={onKeyDown}\n disableRipple\n {...miniProps}\n correctness={correctness}\n className={CLASS_NAME}\n />\n );\n};\n\nconst StyledRadioBase: any = styled(Radio, {\n shouldForwardProp: (prop) => prop !== 'correctness',\n})(({ correctness }) => {\n const styles = getInputStyles(correctness);\n const key = (k) => (correctness ? `${correctness}-${k}` : k);\n\n return {\n [`&.${CLASS_NAME}`]: {\n ...styles[key('root')],\n '&.Mui-checked': styles[key('checked')],\n '&.Mui-disabled': correctness ? {} : styles[key('disabled')],\n '&.Mui-focusVisible:not(.Mui-checked)': styles.focusVisibleUnchecked,\n '&.Mui-focusVisible.Mui-checked': styles.focusVisibleChecked,\n '@media (hover: hover)': {\n '&:hover:not(.Mui-disabled) svg': {\n boxShadow: `0px 0px 0px 2px ${color.focusOutline()}`,\n borderRadius: '50%',\n },\n },\n },\n '&.Mui-focusVisible': {\n '& input': { outline: 0 },\n '& .MuiTouchRipple-root': { display: 'none' },\n },\n };\n});\n\nexport const StyledRadio = (props) => {\n const { correctness, checked, onChange, disabled, value, id, tagName, inputRef, ariaLabelledBy } = props;\n\n const miniProps = { checked, onChange, disabled, value };\n\n return (\n <StyledRadioBase\n id={id}\n slotProps={{ input: { ref: inputRef, 'aria-labelledby': ariaLabelledBy } }}\n disableRipple\n {...miniProps}\n correctness={correctness}\n className={CLASS_NAME}\n name={tagName}\n />\n );\n};\n\nexport class ChoiceInput extends React.Component {\n static propTypes = {\n choiceMode: PropTypes.oneOf(['radio', 'checkbox']),\n displayKey: PropTypes.string,\n checked: PropTypes.bool.isRequired,\n correctness: PropTypes.string,\n disabled: PropTypes.bool.isRequired,\n feedback: PropTypes.string,\n label: PropTypes.string.isRequired,\n rationale: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired,\n className: PropTypes.string,\n tagName: PropTypes.string,\n hideTick: PropTypes.bool,\n isEvaluateMode: PropTypes.bool,\n choicesLayout: PropTypes.oneOf(['vertical', 'grid', 'horizontal']),\n isSelectionButtonBelow: PropTypes.bool,\n mathOutsideNames: PropTypes.bool,\n // The translated note a math choice's name ends with when math is kept out of names.\n pickTheAnswerBelow: PropTypes.string,\n };\n\n static defaultProps = {\n rationale: null,\n checked: false,\n isEvaluateMode: false,\n };\n\n constructor(props) {\n super(props);\n this.onToggleChoice = this.onToggleChoice.bind(this);\n this.choiceId = createUniqueId('choice');\n this.descId = `${this.choiceId}-desc`;\n this.noteId = `${this.choiceId}-note`;\n }\n\n onToggleChoice(event) {\n this.props.onChange(event);\n }\n\n handleKeyDown: any = (event) => {\n const { choiceMode } = this.props;\n\n if (choiceMode !== 'checkbox') return;\n\n const isArrowDown = event.key === 'ArrowDown';\n const isArrowUp = event.key === 'ArrowUp';\n\n if (!isArrowDown && !isArrowUp) return;\n\n event.preventDefault();\n\n const currentEl = document.getElementById(this.choiceId);\n if (!currentEl) return;\n\n const fieldset = currentEl.closest('fieldset');\n if (!fieldset) return;\n\n const groupCheckboxes = Array.from(fieldset.querySelectorAll('input[type=\"checkbox\"]'));\n\n const currentIndex = groupCheckboxes.findIndex((el) => el === currentEl);\n if (currentIndex === -1) return;\n\n const nextIndex = isArrowDown ? currentIndex + 1 : currentIndex - 1;\n const nextEl = groupCheckboxes[nextIndex];\n\n if (nextEl) {\n nextEl.focus();\n }\n };\n\n render() {\n const {\n choiceMode,\n disabled,\n displayKey,\n feedback,\n label,\n correctness,\n className,\n rationale,\n hideTick,\n isEvaluateMode,\n choicesLayout,\n value,\n checked,\n tagName,\n isSelectionButtonBelow,\n mathOutsideNames,\n pickTheAnswerBelow,\n } = this.props;\n\n const Tag = choiceMode === 'checkbox' ? StyledCheckbox : StyledRadio;\n const classSuffix = choiceMode === 'checkbox' ? 'checkbox' : 'radio-button';\n\n const holderSx = {\n ...(choicesLayout === 'horizontal' && {\n [`& .${CLASS_NAME}`]: {\n padding: '8px',\n margin: '4px 0 4px 4px',\n },\n }),\n ...(isSelectionButtonBelow && choicesLayout !== 'grid' && {\n '& > label': {\n alignItems: 'flex-start',\n },\n }),\n ...(isSelectionButtonBelow && choicesLayout === 'grid' && {\n justifyContent: 'center',\n '& > label': {\n alignItems: 'center',\n },\n }),\n };\n\n // By default a choice is named from its label, the renderer labelling its math with speech.\n // With math kept out of names, which the Player switches on to compare the two patterns, a\n // lettered choice holding math is named from its key and a note that the answer follows,\n // \"A. Pick the answer below\", and the screen reader reads its MathML in the content. A choice\n // with no key keeps its label as its name (PIE-1244).\n const content = labelContent(label);\n const namedByNote = Boolean(displayKey) && mathOutsideNames && (content.math || content.table);\n\n // The default key text is the one choices carried before this change, read-aloud included.\n let keyText = displayKey;\n if (namedByNote) keyText = `${displayKey}.`;\n else if (content.math || content.image) keyText = `Pick the answer below, ${displayKey}`;\n\n const screenReaderLabel = displayKey ? (\n <SrOnly id={this.descId} className={namedByNote ? 'pie-sr-only' : undefined}>\n {keyText}\n </SrOnly>\n ) : null;\n\n const note = namedByNote ? (\n <SrOnly id={this.noteId} className=\"pie-sr-only\">\n {pickTheAnswerBelow}\n </SrOnly>\n ) : null;\n\n const choicelabel = (\n <>\n {displayKey && !isSelectionButtonBelow ? (\n <Row component=\"span\">\n <span aria-hidden=\"true\">{displayKey}.{'\\u00A0'}</span>\n <PreviewPrompt className=\"prompt-label\" prompt={label} tagName=\"span\" />\n </Row>\n ) : (\n <PreviewPrompt className=\"prompt-label\" prompt={label} tagName=\"span\" />\n )}\n </>\n );\n\n const tagProps = {\n disabled,\n checked,\n correctness,\n tagName,\n value,\n id: this.choiceId,\n onChange: this.onToggleChoice,\n onKeyDown: this.handleKeyDown,\n ariaLabelledBy: namedByNote ? `${this.descId} ${this.noteId}` : undefined,\n };\n\n const control = isSelectionButtonBelow ? (\n <BelowSelectionComponent>\n {screenReaderLabel}\n {note}\n <Tag {...tagProps} style={{ padding: 0 }} />\n <span aria-hidden=\"true\">{displayKey ? `${displayKey}.` : ''}</span>\n </BelowSelectionComponent>\n ) : (\n <>\n {screenReaderLabel}\n {note}\n <Tag {...tagProps} />\n </>\n );\n\n return (\n <div className={classNames(className, 'corespring-' + classSuffix, 'choice-input')}>\n <Row>\n {!hideTick && isEvaluateMode && <FeedbackTick correctness={correctness} />}\n <CheckboxHolder className=\"checkbox-holder\" sx={holderSx}>\n <StyledFormControlLabel\n label={choicelabel}\n value={value}\n htmlFor={this.choiceId}\n labelPlacement={isSelectionButtonBelow ? 'top' : undefined}\n control={control}\n />\n </CheckboxHolder>\n </Row>\n {rationale && <PreviewPrompt className=\"rationale\" defaultClassName=\"rationale\" prompt={rationale} />}\n <Feedback feedback={feedback} correctness={correctness} />\n </div>\n );\n }\n}\n\nexport default ChoiceInput;\n","// @ts-nocheck\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Box from '@mui/material/Box';\nimport { color } from '@pie-lib/render-ui';\n\nimport ChoiceInput from './choice-input.js';\n\nconst ChoiceContainer: any = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'noBorder' && prop !== 'horizontalLayout',\n})(({ theme, noBorder, horizontalLayout }) => ({\n paddingTop: theme.spacing(2.5),\n paddingBottom: `calc(${theme.spacing(1)} + 2px)`,\n paddingLeft: `calc(${theme.spacing(1)} + 2px)`,\n paddingRight: `calc(${theme.spacing(1)} + 2px)`,\n /*\n * The separator between answer choices. MUI's grey[300] does not follow `--pie-*`,\n * so it stayed #e0e0e0 on every scheme -- about 1.1:1 against black-on-rose's own\n * background, which is where George reported it. `--pie-border` is stepped per\n * scheme and holds at least 3.23:1 everywhere.\n */\n borderBottom: noBorder ? 'none' : `1px solid ${color.border()}`,\n ...(horizontalLayout && {\n paddingRight: theme.spacing(2.5),\n '& label': {\n marginRight: theme.spacing(1),\n },\n }),\n}));\n\nexport class Choice extends React.Component {\n static propTypes = {};\n\n state = {\n isHovered: false,\n };\n\n handleMouseEnter: any = () => {\n const { disabled, checked } = this.props;\n\n if (!disabled && !checked) {\n this.setState({ isHovered: true });\n }\n };\n\n handleMouseLeave: any = () => {\n this.setState({ isHovered: false });\n };\n\n onChange: any = (choice) => {\n const { disabled, onChoiceChanged } = this.props;\n\n if (!disabled) {\n onChoiceChanged(choice);\n }\n };\n\n render() {\n const {\n choice,\n index,\n choicesLength,\n showCorrect,\n isEvaluateMode,\n choiceMode,\n disabled,\n checked,\n correctness,\n displayKey,\n choicesLayout,\n gridColumns,\n isSelectionButtonBelow,\n selectedAnswerBackgroundColor,\n selectedAnswerStrokeColor,\n selectedAnswerStrokeWidth,\n hoverAnswerBackgroundColor,\n hoverAnswerStrokeColor,\n hoverAnswerStrokeWidth,\n tagName,\n mathOutsideNames,\n pickTheAnswerBelow,\n } = this.props;\n \n const { isHovered } = this.state;\n const choiceClass = 'choice' + (index === choicesLength - 1 ? ' last' : '');\n\n const feedback = !isEvaluateMode || showCorrect ? '' : choice.feedback;\n\n const choiceProps = {\n ...choice,\n checked,\n choiceMode,\n disabled,\n feedback,\n correctness,\n displayKey,\n index,\n choicesLayout,\n gridColumns,\n onChange: this.onChange,\n isEvaluateMode,\n isSelectionButtonBelow,\n selectedAnswerStrokeColor,\n selectedAnswerStrokeWidth,\n tagName,\n mathOutsideNames,\n pickTheAnswerBelow,\n };\n\n const normalizeStrokeWidth = (width) => {\n if (!width) return '2px'; // default\n const trimmed = String(width).trim();\n \n // add 'px' if the value is a number\n if (/^\\d+(\\.\\d+)?$/.test(trimmed)) {\n return `${trimmed}px`;\n }\n\n return trimmed;\n };\n\n const hasSelectedStroke = selectedAnswerStrokeColor && selectedAnswerStrokeColor !== 'initial';\n const hasHoverStroke = hoverAnswerStrokeColor && hoverAnswerStrokeColor !== 'initial';\n \n let currentStrokeColor = 'transparent';\n let currentStrokeWidth = '2px';\n let currentBackgroundColor = 'initial';\n \n if ((hasSelectedStroke || hasHoverStroke)) {\n if (checked && hasSelectedStroke) {\n // selected state takes priority when selected stroke is configured\n currentStrokeColor = selectedAnswerStrokeColor;\n currentStrokeWidth = selectedAnswerStrokeWidth;\n } else if (isHovered && !disabled && hasHoverStroke) {\n // hover state when not selected and not disabled, and hover stroke is configured\n currentStrokeColor = hoverAnswerStrokeColor;\n currentStrokeWidth = hoverAnswerStrokeWidth;\n }\n }\n \n if (checked && selectedAnswerBackgroundColor && selectedAnswerBackgroundColor !== 'initial') {\n currentBackgroundColor = selectedAnswerBackgroundColor;\n } else if (isHovered && !disabled && hoverAnswerBackgroundColor && hoverAnswerBackgroundColor !== 'initial') {\n currentBackgroundColor = hoverAnswerBackgroundColor;\n }\n\n const hasStroke = hasSelectedStroke || hasHoverStroke;\n const strokeStyle = hasStroke ? {\n border: `${normalizeStrokeWidth(currentStrokeWidth)} solid ${currentStrokeColor}`,\n borderRadius: '8px',\n } : {};\n\n const noBorder = index === choicesLength - 1 || choicesLayout !== 'vertical' || hasStroke;\n const horizontalLayout = choicesLayout === 'horizontal';\n\n const choiceBackground = currentBackgroundColor !== 'initial' ? currentBackgroundColor : 'initial';\n\n return (\n <div \n className={choiceClass} \n key={index} \n style={{ backgroundColor: choiceBackground, ...strokeStyle }}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <ChoiceContainer \n component=\"div\"\n noBorder={noBorder}\n horizontalLayout={horizontalLayout}\n >\n <ChoiceInput {...choiceProps} />\n </ChoiceContainer>\n </div>\n );\n }\n}\n\nChoice.propTypes = {\n choiceMode: PropTypes.oneOf(['radio', 'checkbox']),\n choice: PropTypes.object,\n disabled: PropTypes.bool.isRequired,\n onChoiceChanged: PropTypes.func,\n index: PropTypes.number,\n choicesLength: PropTypes.number,\n showCorrect: PropTypes.bool,\n isEvaluateMode: PropTypes.bool,\n checked: PropTypes.bool,\n correctness: PropTypes.string,\n displayKey: PropTypes.string,\n choicesLayout: PropTypes.oneOf(['vertical', 'grid', 'horizontal']),\n gridColumns: PropTypes.string,\n selectedAnswerBackgroundColor: PropTypes.string,\n selectedAnswerStrokeColor: PropTypes.string,\n selectedAnswerStrokeWidth: PropTypes.string,\n hoverAnswerBackgroundColor: PropTypes.string,\n hoverAnswerStrokeColor: PropTypes.string,\n hoverAnswerStrokeWidth: PropTypes.string,\n tagName: PropTypes.string,\n isSelectionButtonBelow: PropTypes.bool,\n mathOutsideNames: PropTypes.bool,\n pickTheAnswerBelow: PropTypes.string,\n};\n\nexport default Choice;\n","// @ts-nocheck\n\n// Returns true when count is at or above maxSelections (use to block the next selection).\nexport const reachedMaxSelections = (count, maxSelections) =>\n maxSelections != null && count >= maxSelections;\n\n// Returns true when count strictly exceeds maxSelections (use for validation / isComplete checks).\nexport const exceedsMaxSelections = (count, maxSelections) =>\n maxSelections != null && count > maxSelections;\n","// @ts-nocheck\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport classNames from 'clsx';\nimport { styled } from '@mui/material/styles';\nimport Box from '@mui/material/Box';\nimport { color, Collapsible as CollapsibleImport, createUniqueId, PreviewPrompt as PreviewPromptImport, transformDataHeadings } 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}\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;\nconst PreviewPrompt = unwrapReactInteropSymbol(PreviewPromptImport, 'PreviewPrompt') || unwrapReactInteropSymbol(renderUi.PreviewPrompt, 'PreviewPrompt');\nconst Collapsible = unwrapReactInteropSymbol(CollapsibleImport, 'Collapsible') || unwrapReactInteropSymbol(renderUi.Collapsible, 'Collapsible');\nimport { catalogs } from '../i18n/index.js';\n\nimport Choice from './choice.js';\nimport { reachedMaxSelections } from './utils.js';\n\nconst MainContainer: any = styled(Box)({\n color: color.text(),\n backgroundColor: color.background(),\n '& *': {\n '-webkit-font-smoothing': 'antialiased',\n },\n position: 'relative',\n // remove border from legend tags inside main to override the OT default styles\n '& legend': {\n border: 'none !important',\n },\n});\n\nconst PartLabel: any = styled('h2')(({ theme }) => ({\n display: 'block',\n fontSize: 'inherit',\n margin: '0',\n fontWeight: 'normal',\n paddingBottom: theme.spacing(2),\n}));\n\nconst TeacherInstructions: any = styled(Box)(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst HorizontalLayout: any = styled(Box)({\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n});\n\nconst GridLayout: any = styled(Box)({\n display: 'grid',\n});\n\nconst StyledFieldset: any = styled('fieldset')({\n border: '0px',\n padding: '0.01em 0 0 0',\n margin: '0px',\n minWidth: '0px',\n});\n\nconst srOnly = {\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n};\n\nconst SrOnly: any = styled('h3')(srOnly);\n\n// The group's name. The prompt renders before the fieldset instead of as its legend, because a\n// name built from the prompt leaves its MathML out (PIE-1244). An EBSR part names its group with its\n// part label, so its parts' groups stay apart. `pie-sr-only` keeps read-aloud off it, and the\n// `!important` keeps it hidden from authored CSS that styles `legend`, as prompts were legends.\nconst AnswerChoicesLegend = styled('legend')({\n ...Object.fromEntries(Object.entries(srOnly).map(([key, value]) => [key, `${value} !important`])),\n padding: '0 !important',\n border: '0 !important',\n clip: 'rect(0 0 0 0) !important',\n whiteSpace: 'nowrap !important',\n});\n\n// --pie-missing holds 4.5:1 on the page in every pie-players scheme; the layout theme's error red\n// falls to 1.59:1 under yellow-on-navy.\nconst ErrorText: any = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: color.missing(),\n paddingTop: theme.spacing(1),\n}));\n\nexport class MultipleChoice extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n mode: PropTypes.oneOf(['gather', 'view', 'evaluate']),\n choiceMode: PropTypes.oneOf(['radio', 'checkbox']),\n keyMode: PropTypes.oneOf(['numbers', 'letters', 'none']),\n choices: PropTypes.array,\n partLabel: PropTypes.string,\n prompt: PropTypes.string,\n teacherInstructions: PropTypes.string,\n session: PropTypes.object,\n disabled: PropTypes.bool,\n // Choice values struck out by the answer eliminator, which cannot be selected.\n eliminatedChoices: PropTypes.arrayOf(PropTypes.string),\n mathOutsideNames: PropTypes.bool,\n onChoiceChanged: PropTypes.func,\n responseCorrect: PropTypes.bool,\n correctResponse: PropTypes.array,\n choicesLayout: PropTypes.oneOf(['vertical', 'grid', 'horizontal']),\n gridColumns: PropTypes.string,\n alwaysShowCorrect: PropTypes.bool,\n animationsDisabled: PropTypes.bool,\n language: PropTypes.string,\n selectedAnswerBackgroundColor: PropTypes.string,\n selectedAnswerStrokeColor: PropTypes.string,\n selectedAnswerStrokeWidth: PropTypes.string,\n hoverAnswerBackgroundColor: PropTypes.string,\n hoverAnswerStrokeColor: PropTypes.string,\n hoverAnswerStrokeWidth: PropTypes.string,\n onShowCorrectToggle: PropTypes.func,\n isSelectionButtonBelow: PropTypes.bool,\n minSelections: PropTypes.number,\n maxSelections: PropTypes.number,\n autoplayAudioEnabled: PropTypes.bool,\n autoplayAudioHeld: PropTypes.bool,\n customAudioButton: {\n playImage: PropTypes.string,\n pauseImage: PropTypes.string,\n },\n options: PropTypes.object,\n baseHeadingLevel: PropTypes.number,\n includeSrHeading: PropTypes.bool,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCorrect: (this.props.options && this.props.alwaysShowCorrect) || false,\n maxSelectionsErrorState: false,\n };\n\n this.onToggle = this.onToggle.bind(this);\n\n // Unique radio `name` attribute per instance, so separate MultipleChoice\n // instances (e.g. Part A and Part B inside EBSR, or two EBSRs on the same\n // page) are always treated as independent radio groups by the browser,\n // regardless of any label-related model settings or bundle deduplication.\n this.groupName = `mc-group-${Math.random().toString(36).slice(2, 10)}`;\n // The delivery element finds the container by its class, which authored CSS may also target.\n this.mainContainerId = createUniqueId('main-container');\n }\n\n /** Re-renders once the item language's catalog lands, where no element preloaded it. */\n relabel = () => this.forceUpdate();\n\n isSelected(value) {\n const sessionValue = this.props.session && this.props.session.value;\n\n return sessionValue && sessionValue.indexOf && sessionValue.indexOf(value) >= 0;\n }\n\n // handleChange was added for accessibility. Please see comments and videos from PD-2441.\n handleChange: any = (event) => {\n const { value, checked } = event.target;\n const { choiceMode, maxSelections, onChoiceChanged, session } = this.props;\n\n if (choiceMode !== 'radio' && session.value && reachedMaxSelections(session.value.length, maxSelections)) {\n // show/hide max selections error when user select/deselect an answer\n this.setState({ maxSelectionsErrorState: checked });\n\n if (checked) {\n // prevent selecting more answers\n return;\n }\n }\n\n onChoiceChanged({ value, selected: checked, selector: 'Mouse' });\n };\n\n onToggle: any = () => {\n if (this.props.mode === 'evaluate') {\n this.setState({ showCorrect: !this.state.showCorrect }, () => {\n if (this.props.onShowCorrectToggle) {\n this.props.onShowCorrectToggle();\n }\n });\n }\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (!nextProps.correctResponse && this.state.showCorrect !== false) {\n this.setState({ showCorrect: false }, () => {\n if (this.props.onShowCorrectToggle) {\n this.props.onShowCorrectToggle();\n }\n });\n }\n\n if (nextProps.options && nextProps.alwaysShowCorrect && this.state.showCorrect !== true) {\n this.setState({ showCorrect: true }, () => {\n if (this.props.onShowCorrectToggle) {\n this.props.onShowCorrectToggle();\n }\n });\n }\n }\n\n indexToSymbol(index) {\n if (this.props.keyMode === 'numbers') {\n return `${index + 1}`;\n }\n\n if (this.props.keyMode === 'letters') {\n return String.fromCharCode(97 + index).toUpperCase();\n }\n\n return '';\n }\n\n getCorrectness: any = (choice = {}) => {\n const isCorrect = choice.correct;\n const isChecked = this.isSelected(choice.value);\n\n if (this.state.showCorrect) {\n return isCorrect ? 'correct' : undefined;\n }\n\n if (isCorrect) {\n if (isChecked) {\n // A correct answer is selected: marked with a green checkmark\n return 'correct';\n } else {\n // A correct answer is NOT selected: marked with an orange X\n return 'incorrect';\n }\n } else {\n if (isChecked) {\n // An incorrect answer is selected: marked with an orange X\n return 'incorrect';\n } else {\n // An incorrect answer is NOT selected: not marked\n return undefined;\n }\n }\n };\n\n getChecked(choice) {\n // check for print context: options prop is passed from print.js and alwaysShowCorrect is true\n const isPrintMode = this.props.options && this.props.alwaysShowCorrect;\n\n if (isPrintMode) {\n return choice.correct || false;\n }\n\n // evaluate mode with show correct toggled\n const isEvaluateMode = this.state.showCorrect && this.props.mode === 'evaluate';\n\n if (isEvaluateMode) {\n return choice.correct || false;\n }\n\n // default behavior: show what the user has selected\n return this.isSelected(choice.value);\n }\n\n // renderHeading function was added for accessibility.\n renderHeading() {\n const { mode, choiceMode, includeSrHeading, baseHeadingLevel, partLabel, language } = this.props;\n\n // When a part label is present the item is an EBSR part — the SR heading\n // is provided by the EBSR element, not here.\n const shouldRenderSrHeading = !partLabel && includeSrHeading !== false;\n\n if (!shouldRenderSrHeading || mode !== 'gather') {\n return null;\n }\n\n const clampedLevel = baseHeadingLevel ? Math.min(6, baseHeadingLevel) : 2;\n const HeadingTag = SrOnly.withComponent(`h${clampedLevel}`);\n const label = catalogs\n .forLocale(language, this.relabel)\n .t(choiceMode === 'radio' ? 'multipleChoiceQuestion' : 'multipleSelectQuestion');\n\n return <HeadingTag>{label}</HeadingTag>;\n }\n\n render() {\n const {\n mode,\n disabled,\n className,\n choices = [],\n choiceMode,\n gridColumns,\n partLabel,\n prompt,\n responseCorrect,\n teacherInstructions,\n alwaysShowCorrect,\n animationsDisabled,\n language,\n isSelectionButtonBelow,\n minSelections,\n maxSelections,\n autoplayAudioEnabled,\n autoplayAudioHeld,\n session,\n customAudioButton,\n options,\n baseHeadingLevel,\n eliminatedChoices = [],\n mathOutsideNames,\n } = this.props;\n const { showCorrect, maxSelectionsErrorState } = this.state;\n const isEvaluateMode = mode === 'evaluate';\n const showCorrectAnswerToggle = isEvaluateMode && !responseCorrect;\n const columnsStyle = gridColumns > 1 ? { gridTemplateColumns: `repeat(${gridColumns}, 1fr)` } : undefined;\n const selections = (session.value && session.value.length) || 0;\n\n // Heading levels are optional and only applied when baseHeadingLevel is provided.\n const getContentHeadingLevel = () => {\n if (!baseHeadingLevel) return undefined;\n // SR heading (rendered or external) sits at baseHeadingLevel.\n // Content is always one below that; part label (EBSR) sits between them.\n let offset = 1; // content default: baseHeadingLevel + 1\n if (partLabel) offset += 1; // part label at base + 1, content pushed to base + 2\n return Math.min(6, baseHeadingLevel + offset);\n };\n const contentHeadingLevel = getContentHeadingLevel();\n const transformPrompt = (html) => (html && contentHeadingLevel) ? transformDataHeadings(html, contentHeadingLevel) : html;\n\n const teacherInstructionsDiv = (\n <PreviewPrompt\n tagName=\"div\"\n className=\"prompt\"\n defaultClassName=\"teacher-instructions\"\n prompt={teacherInstructions}\n />\n );\n\n const i18n = catalogs.forLocale(language, this.relabel);\n\n const getMultipleChoiceMinSelectionErrorMessage = () => {\n if (minSelections && maxSelections) {\n return minSelections === maxSelections\n ? i18n.t('minmaxSelectionsEqual', { minSelections })\n : i18n.t('minmaxSelectionsRange', { minSelections, maxSelections });\n }\n\n if (minSelections) {\n return i18n.t('minSelections', { minSelections });\n }\n\n return '';\n };\n\n const LayoutComponent = this.props.choicesLayout === 'grid'\n ? GridLayout\n : this.props.choicesLayout === 'horizontal'\n ? HorizontalLayout\n : Box;\n\n return (\n <MainContainer id={this.mainContainerId} className={classNames(className, 'multiple-choice', 'main-container')}>\n {partLabel && <PartLabel as={baseHeadingLevel ? `h${Math.min(6, baseHeadingLevel + 1)}` : 'h2'}>{partLabel}</PartLabel>}\n\n {this.renderHeading()}\n\n {teacherInstructions && (\n <TeacherInstructions>\n {!animationsDisabled ? (\n <Collapsible\n labels={{\n hidden: i18n.t('showTeacherInstructions'),\n visible: i18n.t('hideTeacherInstructions'),\n }}\n >\n {teacherInstructionsDiv}\n </Collapsible>\n ) : (\n teacherInstructionsDiv\n )}\n </TeacherInstructions>\n )}\n\n {/* The `legend` class keeps the layout and the authored-CSS hooks the prompt had as a legend. */}\n <PreviewPrompt\n className=\"prompt legend\"\n defaultClassName=\"prompt\"\n prompt={transformPrompt(prompt)}\n tagName=\"div\"\n autoplayAudioEnabled={autoplayAudioEnabled}\n autoplayAudioHeld={autoplayAudioHeld}\n customAudioButton={customAudioButton}\n language={language}\n />\n\n <StyledFieldset role={choiceMode === 'radio' ? 'radiogroup' : 'group'}>\n <AnswerChoicesLegend className=\"pie-sr-only\">\n {partLabel ? i18n.t('partAnswerChoicesA11y', { partLabel }) : i18n.t('answerChoicesA11y')}\n </AnswerChoicesLegend>\n\n {!(options && alwaysShowCorrect) && (\n <CorrectAnswerToggle\n show={showCorrectAnswerToggle}\n toggled={showCorrect}\n onToggle={this.onToggle.bind(this)}\n language={language}\n />\n )}\n\n <LayoutComponent style={columnsStyle}>\n {choices.map((choice, index) => (\n <Choice\n choicesLayout={this.props.choicesLayout}\n selectedAnswerBackgroundColor={this.props.selectedAnswerBackgroundColor}\n selectedAnswerStrokeColor={this.props.selectedAnswerStrokeColor}\n selectedAnswerStrokeWidth={this.props.selectedAnswerStrokeWidth}\n hoverAnswerBackgroundColor={this.props.hoverAnswerBackgroundColor}\n hoverAnswerStrokeColor={this.props.hoverAnswerStrokeColor}\n hoverAnswerStrokeWidth={this.props.hoverAnswerStrokeWidth}\n gridColumns={gridColumns}\n key={`choice-${index}`}\n choice={choice}\n index={index}\n choicesLength={choices.length}\n showCorrect={showCorrect}\n isEvaluateMode={isEvaluateMode}\n choiceMode={choiceMode}\n disabled={disabled || eliminatedChoices.includes(String(choice.value))}\n tagName={this.groupName}\n onChoiceChanged={this.handleChange}\n hideTick={choice.hideTick}\n checked={this.getChecked(choice)}\n correctness={isEvaluateMode ? this.getCorrectness(choice) : undefined}\n displayKey={this.indexToSymbol(index)}\n isSelectionButtonBelow={isSelectionButtonBelow}\n mathOutsideNames={mathOutsideNames}\n pickTheAnswerBelow={i18n.t('pickTheAnswerBelowA11y')}\n />\n ))}\n </LayoutComponent>\n </StyledFieldset>\n\n {choiceMode === 'checkbox' && selections < minSelections && (\n <ErrorText>{getMultipleChoiceMinSelectionErrorMessage()}</ErrorText>\n )}\n {choiceMode === 'checkbox' && maxSelectionsErrorState && (\n <ErrorText>\n {i18n.plural('maxSelections', { count: maxSelections })}\n </ErrorText>\n )}\n </MainContainer>\n );\n }\n}\n\nMultipleChoice.defaultProps = {\n session: {\n value: [],\n },\n};\n\nexport default MultipleChoice;\n","// @ts-nocheck\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { PreviewLayout as PreviewLayoutImport } 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}\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;\nconst PreviewLayout = unwrapReactInteropSymbol(PreviewLayoutImport, 'PreviewLayout') || unwrapReactInteropSymbol(renderUi.PreviewLayout, 'PreviewLayout');\nimport MultipleChoice from './multiple-choice.js';\n\nclass Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n options: PropTypes.object,\n onChoiceChanged: PropTypes.func,\n onShowCorrectToggle: PropTypes.func,\n extraCSSRules: PropTypes.shape({\n names: PropTypes.arrayOf(PropTypes.string),\n rules: PropTypes.string,\n }),\n baseHeadingLevel: PropTypes.number,\n includeSrHeading: PropTypes.bool,\n eliminatedChoices: PropTypes.arrayOf(PropTypes.string),\n mathOutsideNames: PropTypes.bool,\n // The chrome language the element resolved: the interface locale, else the item's.\n language: PropTypes.string,\n };\n\n static defaultProps = {\n model: {},\n session: {},\n };\n\n render() {\n const {\n model,\n onChoiceChanged,\n session,\n onShowCorrectToggle,\n options,\n baseHeadingLevel,\n includeSrHeading,\n eliminatedChoices,\n mathOutsideNames,\n language,\n } = this.props;\n const { extraCSSRules, fontSizeFactor } = model;\n\n // model.partLabel is a property used for ebsr\n return (\n <PreviewLayout extraCSSRules={extraCSSRules} fontSizeFactor={fontSizeFactor} classes={{}}>\n <MultipleChoice\n {...model}\n options={options}\n session={session}\n onChoiceChanged={onChoiceChanged}\n onShowCorrectToggle={onShowCorrectToggle}\n baseHeadingLevel={baseHeadingLevel}\n includeSrHeading={includeSrHeading}\n eliminatedChoices={eliminatedChoices}\n mathOutsideNames={mathOutsideNames}\n language={language ?? model.language}\n />\n </PreviewLayout>\n );\n }\n}\n\nexport default Main;\n"],"mappings":"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"}
|