@yungu-fed/question-editor 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/dist/index.js +7043 -5593
- package/dist/index.mjs +5573 -0
- package/dist/package.json +3 -0
- package/package.json +11 -11
- package/dist/index.cjs +0 -3
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yungu-fed/question-editor",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.2",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"main": "./dist/index.
|
|
7
|
-
"module": "./dist/index.
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.mjs",
|
|
8
|
+
"browser": "./dist/index.js",
|
|
8
9
|
"sideEffects": [
|
|
9
10
|
"**/*.css"
|
|
10
11
|
],
|
|
@@ -12,11 +13,8 @@
|
|
|
12
13
|
"exports": {
|
|
13
14
|
".": {
|
|
14
15
|
"types": "./dist/index.d.ts",
|
|
15
|
-
"import": "./dist/index.
|
|
16
|
-
"require": "./dist/index.
|
|
17
|
-
},
|
|
18
|
-
"./style.css": {
|
|
19
|
-
"default": "./dist/index.css"
|
|
16
|
+
"import": "./dist/index.mjs",
|
|
17
|
+
"require": "./dist/index.js"
|
|
20
18
|
}
|
|
21
19
|
},
|
|
22
20
|
"files": [
|
|
@@ -34,10 +32,13 @@
|
|
|
34
32
|
}
|
|
35
33
|
},
|
|
36
34
|
"devDependencies": {
|
|
35
|
+
"@babel/core": "^7.29.0",
|
|
36
|
+
"@babel/preset-env": "^7.29.7",
|
|
37
37
|
"@eslint/js": "^10.0.1",
|
|
38
38
|
"@ladle/react": "2.17.2",
|
|
39
39
|
"@testing-library/jest-dom": "^6.9.1",
|
|
40
40
|
"@testing-library/react": "12.1.5",
|
|
41
|
+
"@types/babel__core": "latest",
|
|
41
42
|
"@types/node": "^24.12.3",
|
|
42
43
|
"@types/react": "16.14.70",
|
|
43
44
|
"@types/react-dom": "16.9.25",
|
|
@@ -66,10 +67,9 @@
|
|
|
66
67
|
"vitest": "^4.1.8"
|
|
67
68
|
},
|
|
68
69
|
"dependencies": {
|
|
69
|
-
"
|
|
70
|
-
"
|
|
70
|
+
"ulid": "^3.0.2",
|
|
71
|
+
"@yungu-fed/rich-text-editor": "^0.1.2"
|
|
71
72
|
},
|
|
72
|
-
"//": "@yungu-fed/rich-text-editor: workspace:^",
|
|
73
73
|
"scripts": {
|
|
74
74
|
"build": "pnpm run typecheck && vite build && tsc -p tsconfig.types.json",
|
|
75
75
|
"build:watch": "vite build --watch",
|
package/dist/index.cjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});require('./index.css');let e=require(`@yungu-fed/rich-text-editor`),t=require(`react/jsx-runtime`),n=require(`react`);var r={nodes:[{codecs:{html:{deserialize:({element:e})=>{var t;return e.dataset.rteNode===`blank`?{blankId:(t=e.dataset.blankId)==null?``:t,children:[{text:``}],type:`blank`}:null},serialize:({node:e})=>e.type===`blank`?`<span data-rte-node="blank" data-blank-id="${a(e.blankId)}"></span>`:null},json:{deserialize:({input:e})=>i(e)?{blankId:a(e.blankId),children:[{text:``}],type:`blank`}:null,serialize:({node:e})=>e.type===`blank`?{blankId:a(e.blankId),type:`blank`}:null}},type:`blank`}]};function i(e){return!!(e&&typeof e==`object`&&`type`in e&&e.type===`blank`)}function a(e){return typeof e==`string`?e:``}function o(e=``){return s({json:u(e)})}function s(e){let t=l(e);return{html:m(t),json:t,text:f(t)}}function c(e,t){let n=s(e);return g(n.json)||!n.text.includes(`____`)?n:s({json:d(n.text,t)})}function l(t){var n;return t!=null&&t.json?(0,e.deserializeRichTextEditorJson)(t.json,{plugins:[r]}):t!=null&&t.html?(0,e.deserializeRichTextEditorHtml)(t.html,{plugins:[r]}):u((n=t==null?void 0:t.text)==null?``:n)}function u(e){return[{children:[{text:e}],type:`paragraph`}]}function d(e,t){let n=e.split(`____`).reduce((e,n,r)=>{let i=t.find((e,t)=>t===r);return i?[...e,...n?[{text:n}]:[],{blankId:i.id,children:[{text:``}],type:`blank`}]:[...e,...n?[{text:n}]:[]]},[]);return[{children:n.length>0?n:[{text:e}],type:`paragraph`}]}function f(e){return e.map(p).join(`
|
|
2
|
-
`)}function p(e){return`text`in e&&typeof e.text==`string`?e.text:h(e)?e.type===`blank`?`____`:e.children.map(p).join(``):``}function m(t){return(0,e.serializeRichTextEditorHtml)(t,{plugins:[r]})}function h(e){return!!(e&&typeof e==`object`&&`children`in e&&Array.isArray(e.children))}function g(e){return e.some(_)}function _(e){return h(e)?e.type===`blank`||e.children.some(e=>_(e)):!1}var v=[`A`,`B`,`C`,`D`];function y(e){let t=x(e.config.renderer),n=te(t);return{answers:{optionIds:[n[0].id]},columns:t,elementId:e.id,options:n,type:`choice`}}function b(e,t){if((t==null?void 0:t.type)!==`choice`)return y(e);let n=ee(t.columns,e.config.renderer),r=ne(t.options,n);return{answers:S(t.answers,r,e.config.selectionType),columns:n,elementId:e.id,options:r,type:`choice`}}function x(e){return e===`table`?[re(`column-1`),re(`column-2`)]:[{content:o(`选项`),id:`column-1`}]}function ee(e,t){let n=e.map((e,t)=>({content:s(e.content),id:String(e.id||C(`column`,t+1))}));return n.length>0?n:x(t)}function te(e){return v.map((t,n)=>({cells:e.map((e,n)=>o(n===0?`选项 ${t}`:``)),id:`option-${String.fromCharCode(97+n)}`}))}function ne(e,t){let n=e.map((e,n)=>({cells:t.map((t,n)=>s(e.cells.find((e,t)=>t===n))),id:String(e.id||C(`option`,n+1))}));return n.length>0?n:te(t)}function S(e,t,n){var r;let i=new Set(t.map(e=>e.id)),a=((r=e==null?void 0:e.optionIds)==null?[]:r).filter((e,t,n)=>i.has(e)&&n.indexOf(e)===t);return{optionIds:n===`single`?a.slice(0,1):a}}function re(e){return{content:o(`列 ${ie(e)}`),id:e}}function C(e,t){return`${e}-${t}`}function ie(e){let t=e.split(`-`),n=Number(t[t.length-1]);return Number.isFinite(n)&&n>0?n:1}var ae=[`true`,`false`],w={choice:{createDataElement:e=>y(e),createTypeElement:(e,t)=>({config:{optionLabelStyle:`upperAlpha`,renderer:`standard`,selectionType:`single`},id:e,name:`选择`,type:`choice`,version:t}),idPrefix:`choice`,normalizeDataElement:(e,t)=>b(e,t),normalizeResponseItem:(e,t,n)=>je(e,t,n),paletteGroup:`answer`},fill:{createDataElement:e=>ue(e),createTypeElement:(e,t)=>({config:{},id:e,name:`填空`,type:`fill`,version:t}),idPrefix:`fill`,normalizeDataElement:(e,t)=>de(e,t),normalizeResponseItem:(e,t,n)=>Me(e,t,n),paletteGroup:`answer`},inlineFill:{createDataElement:e=>fe(e),createTypeElement:(e,t)=>({config:{candidateMode:`none`,selectionType:`single`},id:e,name:`题干内填空`,type:`inlineFill`,version:t}),idPrefix:`inline`,normalizeDataElement:(e,t)=>pe(e,t),normalizeResponseItem:(e,t,n)=>Ne(e,t,n),paletteGroup:`answer`},judgement:{createDataElement:e=>Oe(e),createTypeElement:(e,t)=>({config:{judgementMode:`correctWrong`},id:e,name:`判断`,type:`judgement`,version:t}),idPrefix:`judgement`,normalizeDataElement:(e,t)=>ke(e,t),normalizeResponseItem:(e,t,n)=>Ie(e,t,n),paletteGroup:`answer`},richText:{createDataElement:e=>ce(e),createTypeElement:(e,t)=>({config:{},id:e,name:`文本`,type:`richText`,version:t}),idPrefix:`stem`,normalizeDataElement:(e,t)=>le(e,t),paletteGroup:`stem`}};function oe(e){switch(e){case`choice`:return w.choice;case`fill`:return w.fill;case`inlineFill`:return w.inlineFill;case`judgement`:return w.judgement;case`richText`:return w.richText}}se(`stem`),se(`answer`);function se(e){return Object.keys(w).filter(t=>oe(t).paletteGroup===e)}function ce(e){return{content:o(``),elementId:e.id,type:`richText`}}function le(e,t){return{content:s((t==null?void 0:t.type)===`richText`?t.content:void 0),elementId:e.id,type:`richText`}}function ue(e){return{answers:[{answers:[o(``)],blankIds:[`blank-1`]}],blanks:[{id:`blank-1`,label:`空 1`}],elementId:e.id,type:`fill`}}function de(e,t){if((t==null?void 0:t.type)!==`fill`)return ue(e);let n=me(t.blanks);return{answers:he(t.answers,n),blanks:n,elementId:e.id,type:`fill`}}function fe(e){let t=[{id:`inline-blank-1`,label:`空 1`}];return{answers:[{allowReuse:!1,answer:{"inline-blank-1":[o(``)]},blankIds:[`inline-blank-1`],options:[]}],blanks:t,content:c(o(`请在____处填空。`),t),elementId:e.id,type:`inlineFill`}}function pe(e,t){if((t==null?void 0:t.type)!==`inlineFill`)return fe(e);let n=me(t.blanks,`inline-blank`),r=_e(e.config.candidateMode);return{answers:ve(t.answers,n,r,e.config.selectionType),blanks:n,content:c(t.content,n),elementId:e.id,type:`inlineFill`}}function me(e,t=`blank`){let n=(e==null?[]:e).map((e,n)=>({id:String(e.id||`${t}-${n+1}`),label:String(e.label||`空 ${n+1}`)}));return n.length>0?n:[{id:`${t}-1`,label:`空 1`}]}function he(e,t){let n=new Set(t.map(e=>e.id)),r=(e==null?[]:e).map(e=>({answers:ge(e.answers),blankIds:e.blankIds.filter((e,t,r)=>n.has(e)&&r.indexOf(e)===t)})).filter(e=>e.blankIds.length>0),i=new Set(r.reduce((e,t)=>[...e,...t.blankIds],[])),a=t.filter(e=>!i.has(e.id)).map(e=>({answers:[o(``)],blankIds:[e.id]}));return[...r,...a]}function ge(e){let t=(e==null?[]:e).map(e=>s(e));return t.length>0?t:[o(``)]}function _e(e){return Le.includes(e)?e:`none`}function ve(e,t,n,r){let i=xe(e,t);return n===`sharedPool`?[ye(i,t.map(e=>e.id),n,r)]:t.map(e=>ye(i,[e.id],n,r))}function ye(e,t,n,r){var i;let a=e.filter(e=>e.blankIds.some(e=>t.includes(e))),o=n===`none`?[]:Se((i=a.find(e=>e.options.length>0))==null?void 0:i.options),s=new Set(o.map(e=>e.id));return{allowReuse:a.some(e=>e.allowReuse),answer:Ce(t,e=>we(be(a,e),n,s,r)),blankIds:t,options:o}}function be(e,t){return e.map(e=>{var n;return(n=Object.entries(e.answer).find(([e])=>e===t))==null?void 0:n[1]}).find(e=>!!e)}function xe(e,t){let n=new Set(t.map(e=>e.id)),r=new Set;return(e==null?[]:e).reduce((e,t)=>{let i=t.blankIds.filter((e,t,i)=>!n.has(e)||i.indexOf(e)!==t||r.has(e)?!1:(r.add(e),!0));return i.length>0?[...e,{allowReuse:!!t.allowReuse,answer:t.answer,blankIds:i,options:t.options}]:e},[])}function Se(e){let t=(e==null?[]:e).map((e,t)=>({content:s(e.content),id:String(e.id||De(t))})).filter((e,t,n)=>n.findIndex(t=>t.id===e.id)===t);return t.length>0?t:Ee()}function Ce(e,t){return e.reduce((e,n)=>({...e,[n]:t(n)}),{})}function we(e,t,n,r){var i;if(t===`none`){let t=(e==null?[]:e).filter(Te).map(e=>s(e));return t.length>0?t:[o(``)]}let a=(e==null?[]:e).filter(e=>typeof e==`string`).filter((e,t,r)=>n.has(e)&&r.indexOf(e)===t),c=r===`single`?a.slice(0,1):a;return c.length>0?c:[(i=n.values().next().value)==null?``:i].filter(Boolean)}function Te(e){return!!(e&&typeof e==`object`)}function Ee(){return[`A`,`B`,`C`,`D`].map((e,t)=>({content:o(`选项 ${e}`),id:De(t)}))}function De(e){return`option-${String.fromCharCode(97+e)}`}function Oe(e){return{answers:[`true`],elementId:e.id,type:`judgement`}}function ke(e,t){return{answers:(t==null?void 0:t.type)===`judgement`?Ae(t.answers):[`true`],elementId:e.id,type:`judgement`}}function Ae(e){let t=(e==null?[]:e).filter((e,t,n)=>ae.includes(e)&&n.indexOf(e)===t);return t.length>0?t:[`true`]}function je(e,t,n){let r=(t==null?void 0:t.type)===`choice`?t.options:y(e).options;return{answers:S((n==null?void 0:n.type)===`choice`?n.answers:void 0,r,e.config.selectionType),elementId:e.id,type:`choice`}}function Me(e,t,n){let r=(t==null?void 0:t.type)===`fill`?t.blanks:ue(e).blanks;return{answers:Fe((n==null?void 0:n.type)===`fill`?n.answers:void 0,r),elementId:e.id,type:`fill`}}function Ne(e,t,n){let r=(t==null?void 0:t.type)===`inlineFill`?t:fe(e);return{answers:Pe((n==null?void 0:n.type)===`inlineFill`?n.answers:void 0,r,_e(e.config.candidateMode),e.config.selectionType),elementId:e.id,type:`inlineFill`}}function Pe(e,t,n,r){let i=new Set(t.blanks.map(e=>e.id));return(e==null?[]:e).filter(e=>i.has(e.blankId)).map(e=>{var i;let a=t.answers.find(t=>t.blankIds.includes(e.blankId)),o=new Set((i=a==null?void 0:a.options.map(e=>e.id))==null?[]:i);return{blankId:e.blankId,values:we(e.values,n,o,r)}})}function Fe(e,t){let n=new Set(t.map(e=>e.id));return(e==null?[]:e).filter(e=>n.has(e.blankId)).map(e=>({answers:ge(e.answers),blankId:e.blankId}))}function Ie(e,t,n){return{answers:(n==null?void 0:n.type)===`judgement`?Ae(n.answers):[],elementId:e.id,type:`judgement`}}var Le=[`none`,`optionGroups`,`sharedPool`];function Re(e){return{children:[],elements:He(e)?[]:e.elements.map(Ye),id:``,questionTypeId:e.id,version:`1`}}function ze(e,t,n={}){var r,i;return{children:Ke(t==null?void 0:t.children,n),elements:He(e)?[]:e.elements.map(e=>Xe(e,t==null?void 0:t.elements)),id:(r=t==null?void 0:t.id)==null?``:r,questionTypeId:e.id,version:(i=t==null?void 0:t.version)==null?`1`:i}}function Be(e,t){var n;return Ve(e,t,{children:[],items:[],questionId:(n=t==null?void 0:t.id)==null?``:n,questionTypeId:e.id,version:`1`})}function Ve(e,t,n,r={}){return{children:qe(t==null?void 0:t.children,n==null?void 0:n.children,r),items:He(e)?[]:Ze(e,t,n==null?void 0:n.items),questionId:Ue(t,n),questionTypeId:e.id,version:We(n)}}function He(e){return e.globalConfig.kind===`composite`}function Ue(e,t){var n,r;return(n=(r=t==null?void 0:t.questionId)==null?e==null?void 0:e.id:r)==null?``:n}function We(e){var t;return(t=e==null?void 0:e.version)==null?`1`:t}function Ge(e,t){if(t.children.length>0)return[];let n=e.elements.map(e=>e.id),r=t.elements.map(e=>e.elementId),i=[];return n.forEach((e,t)=>{if(!r.includes(e)){i.push({code:`missingElement`,elementId:e,message:`Missing question data element ${e}.`});return}r.find((e,n)=>n===t)!==e&&i.push({code:`elementOrderMismatch`,elementId:e,message:`Question data element ${e} is not aligned with QuestionType order.`})}),r.forEach(e=>{n.includes(e)||i.push({code:`unknownElement`,elementId:e,message:`Question data element ${e} is not defined in QuestionType.`})}),i}function Ke(e,t){return(e==null?[]:e).map(e=>{var n;let r=(n=t.questionTypes)==null?void 0:n.find(t=>t.id===e.questionTypeId);return r?ze(r,e,t):e})}function qe(e,t,n){return(e==null?[]:e).map((e,r)=>{var i,a;let o=(i=n.questionTypes)==null?void 0:i.find(t=>t.id===e.questionTypeId),s=(a=t==null?void 0:t.find(t=>t.questionId===e.id))==null?t==null?void 0:t.find((e,t)=>t===r):a;return o?Ve(o,e,s,n):Je(e,s)})}function Je(e,t){var n,r,i;return{children:[],items:(n=t==null?void 0:t.items)==null?[]:n,questionId:(r=t==null?void 0:t.questionId)==null?e.id:r,questionTypeId:e.questionTypeId,version:(i=t==null?void 0:t.version)==null?e.version:i}}function Ye(e){return w[e.type].createDataElement(e)}function Xe(e,t){let n=t==null?void 0:t.find(t=>t.elementId===e.id);return w[e.type].normalizeDataElement(e,n)}function Ze(e,t,n){return e.elements.reduce((e,r)=>{let i=w[r.type];if(!i.normalizeResponseItem)return e;let a=t==null?void 0:t.elements.find(e=>e.elementId===r.id),o=n==null?void 0:n.find(e=>e.elementId===r.id);return[...e,i.normalizeResponseItem(r,a,o)]},[])}var Qe=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`,$e=32,et=16,tt=0xffffffffffff,T;(function(e){e.Base32IncorrectEncoding=`B32_ENC_INVALID`,e.DecodeTimeInvalidCharacter=`DEC_TIME_CHAR`,e.DecodeTimeValueMalformed=`DEC_TIME_MALFORMED`,e.EncodeTimeNegative=`ENC_TIME_NEG`,e.EncodeTimeSizeExceeded=`ENC_TIME_SIZE_EXCEED`,e.EncodeTimeValueMalformed=`ENC_TIME_MALFORMED`,e.PRNGDetectFailure=`PRNG_DETECT`,e.ULIDInvalid=`ULID_INVALID`,e.Unexpected=`UNEXPECTED`,e.UUIDInvalid=`UUID_INVALID`})(T||(T={}));var nt=class extends Error{constructor(e,t){super(`${t} (${e})`),this.name=`ULIDError`,this.code=e}};function rt(e){let t=Math.floor(e()*$e)%$e;return Qe.charAt(t)}function it(e){let t=at(),n=t&&(t.crypto||t.msCrypto)||null;if(typeof(n==null?void 0:n.getRandomValues)==`function`)return()=>{let e=new Uint8Array(1);return n.getRandomValues(e),e[0]/256};if(typeof(n==null?void 0:n.randomBytes)==`function`)return()=>n.randomBytes(1).readUInt8()/256;throw new nt(T.PRNGDetectFailure,`Failed to find a reliable PRNG`)}function at(){return ct()?self:typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:null}function ot(e,t){let n=``;for(;e>0;e--)n=rt(t)+n;return n}function st(e,t=10){if(isNaN(e))throw new nt(T.EncodeTimeValueMalformed,`Time must be a number: ${e}`);if(e>0xffffffffffff)throw new nt(T.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${tt}: ${e}`);if(e<0)throw new nt(T.EncodeTimeNegative,`Time must be positive: ${e}`);if(Number.isInteger(e)===!1)throw new nt(T.EncodeTimeValueMalformed,`Time must be an integer: ${e}`);let n,r=``;for(let i=t;i>0;i--)n=e%$e,r=Qe.charAt(n)+r,e=(e-n)/$e;return r}function ct(){return typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope}function lt(e,t){let n=t||it();return st(!e||isNaN(e)?Date.now():e,10)+ot(et,n)}var ut=[`richText`,`inlineFill`,`fill`,`choice`,`judgement`],dt=[`solvingProcess`,`solvingStrategy`,`keyInformation`,`commonMistake`,`solvingHint`,`scoringRule`,`sampleAnswer`,`extensionExplanation`],ft={commonMistake:`易错提醒`,extensionExplanation:`拓展讲解`,keyInformation:`关键信息`,sampleAnswer:`示例作答`,scoringRule:`评分规则`,solvingHint:`解题提示`,solvingProcess:`解题过程`,solvingStrategy:`解题策略`},pt={commonMistake:`Common mistake reminder`,extensionExplanation:`Extension explanation`,keyInformation:`Key information`,sampleAnswer:`Sample answer`,scoringRule:`Scoring rule`,solvingHint:`Solving hint`,solvingProcess:`Solving process`,solvingStrategy:`Solving strategy`},mt={choice:`选择`,fill:`填空`,inlineFill:`题干内填空`,judgement:`判断`,richText:`文本`},ht={choice:`Choice`,fill:`Blank group`,inlineFill:`Inline fill`,judgement:`Judgement`,richText:`Text`};function gt(){return{elements:[],extra:[],globalConfig:{canPrint:!0,enName:``,hasAnswer:!0,id:``,name:``,description:``},version:``}}function _t(e,t=[]){return{clientId:Ot(),enName:Et(e),name:Tt(e),type:e}}function vt(e,t=[]){let n=Ot();switch(e){case`fill`:case`richText`:return kt(e,n);case`inlineFill`:return{clientId:n,config:{allowCandidateReuse:!1,candidateMode:`none`},enName:D(e),name:E(e),type:e};case`judgement`:return{clientId:n,config:{judgeAnswerMode:`correctWrong`},enName:D(e),name:E(e),type:e};case`choice`:return{clientId:n,config:{optionLabelStyle:`upperAlpha`,renderer:`standard`,selectionType:`single`},enName:D(e),name:E(e),type:e}}}function yt(e,t){return{...e,extra:e.extra.filter(e=>e.clientId!==t)}}function bt(e,t){return{...e,elements:e.elements.filter(e=>e.clientId!==t)}}function xt(e,t,n){let r=e.elements.findIndex(e=>e.clientId===t),i=r+n;if(r<0||i<0||i>=e.elements.length)return e;let a=At(e.elements,r),o=At(e.elements,i);return!a||!o?e:{...e,elements:e.elements.map((e,t)=>t===r?o:t===i?a:e)}}function St(e,t,n){return{...e,extra:e.extra.map(e=>e.clientId===t?n:e)}}function Ct(e,t,n){return{...e,elements:e.elements.map(e=>e.clientId===t?n:e)}}function wt(e,t){return{...e,globalConfig:{...e.globalConfig,...t}}}function E(e){switch(e){case`choice`:return mt.choice;case`fill`:return mt.fill;case`inlineFill`:return mt.inlineFill;case`judgement`:return mt.judgement;case`richText`:return mt.richText}}function D(e){switch(e){case`choice`:return ht.choice;case`fill`:return ht.fill;case`inlineFill`:return ht.inlineFill;case`judgement`:return ht.judgement;case`richText`:return ht.richText}}function Tt(e){return Dt(ft,e)}function Et(e){return Dt(pt,e)}function Dt(e,t){var n,r;return(n=(r=Object.entries(e).find(([e])=>e===t))==null?void 0:r[1])==null?``:n}function Ot(){return lt()}function kt(e,t){return{clientId:t,config:{},enName:D(e),name:E(e),type:e}}function At(e,t){return e.find((e,n)=>n===t)}var jt={"blank-underline":`_blank-underline_1wnlx_1`},Mt={nodes:[{codecs:{html:{deserialize:({element:e})=>{var t,n;return e.dataset.rteNode===`blank`?{blankId:(t=e.dataset.blankId)==null?``:t,label:(n=e.dataset.label)==null?``:n,children:[{text:``}],type:`blank`}:null},serialize:({node:e})=>e.type===`blank`?`<span data-rte-node="blank" data-blank-id="${O(e.blankId)}" data-label="${O(e.label)}"></span>`:null},json:{deserialize:({input:e})=>Nt(e)?{blankId:O(e.blankId),label:O(e.label),children:[{text:``}],type:`blank`}:null,serialize:({node:e})=>e.type===`blank`?{blankId:O(e.blankId),label:O(e.label),type:`blank`}:null}},commands:{insert:({payload:e})=>({blankId:Pt(e),label:Ft(e),type:`blank`})},object:{inline:!0,markable:!0,render:({element:e,selected:n})=>(0,t.jsx)(`span`,{className:jt[`blank-underline`],"data-selected":n?`true`:void 0,children:O(e.label)||O(e.blankId)||`Blank`})},type:`blank`}]};function Nt(e){return!!(e&&typeof e==`object`&&`type`in e&&e.type===`blank`)}function Pt(e){return e&&typeof e==`object`&&`blankId`in e?O(e.blankId):``}function Ft(e){return e&&typeof e==`object`&&`label`in e?O(e.label):``}function O(e){return typeof e==`string`?e:``}var It=1,Lt=4,Rt=2,zt=2,Bt=`composite`;function k(e){return e.systemQuestionType===Bt}function Vt(e,t=null){return{questionTypeKey:t,children:[],elements:e.elements.map(t=>En(t,e.hasAnswer)),extra:e.extra.map(Dn),id:null,version:``}}function A(e=``,t){return Ht(t==null?Nn(e):t)}function Ht(t){let n=Vn(t);return{contentHtml:(0,e.serializeRichTextEditorHtml)(n,{plugins:[Mt]}),contentJson:n,contentText:Pn(n)}}function Ut(e){return Bn(e.contentJson)?e.contentJson:Nn(e.contentText)}function j(e,t,n){var r;return(r=e.elements.find(e=>e.elementKey===t.elementKey))==null?En(t,n):r}function Wt(e,t){var n;return(n=e.extra.find(e=>e.extraKey===t.extraKey))==null?Dn(t):n}function M(e,t){switch(e){case`lowerAlpha`:return String.fromCharCode(97+t);case`number`:return String(t+1);case`upperAlpha`:return String.fromCharCode(65+t)}}function Gt(e){switch(e){case`checkCross`:return[`✓`,`✕`];case`correctWrong`:return[`正确`,`错误`];case`rightWrong`:return[`对`,`错`];case`tf`:return[`T`,`F`];case`validInvalid`:return[`成立`,`不成立`];case`yesNo`:return[`是`,`否`]}}function Kt(e){return e.elements.every(Hn)&&e.extra.every(e=>F(e.content))&&e.children.every(Kt)}function qt(e){return{questionTypeKey:e.questionTypeKey,children:e.children.map(qt),elements:e.elements.map(Yn),extra:e.extra.map(Qn),id:e.id,version:e.version}}function Jt(e,t){var n,r,i;let a=new Set,o=new Set;return{questionTypeKey:(n=t.questionTypeKey)==null?null:n,children:(r=t.children)==null?[]:r,elements:e.elements.map(n=>{let r=t.elements.findIndex((e,t)=>!a.has(t)&&e.type===n.type);return r<0?En(n,e.hasAnswer):(a.add(r),Xn(t.elements.slice(r,r+1)[0],n.elementKey))}),extra:e.extra.map(e=>{var n,r;let i=(n=(r=t.extra)==null?void 0:r.findIndex((t,n)=>!o.has(n)&&t.type===e.type))==null?-1:n;return i<0||!t.extra?Dn(e):(o.add(i),Zn(t.extra.slice(i,i+1)[0],e.extraKey))}),id:(i=t.id)==null?null:i,version:t.version}}function Yt(e,t){let n=e.elements.some(e=>e.elementKey===t.elementKey);return{...e,elements:n?e.elements.map(e=>e.elementKey===t.elementKey?t:e):[...e.elements,t]}}function Xt(e,t){let n=e.extra.some(e=>e.extraKey===t.extraKey);return{...e,extra:n?e.extra.map(e=>e.extraKey===t.extraKey?t:e):[...e.extra,t]}}function Zt(e){let t=[];return In(e,e=>{if(!Rn(e)||e.type!==`blank`)return;let n=Ln(e,`blankId`);n&&!t.includes(n)&&t.push(n)}),t}function Qt(e){return Mn(e)}function $t(e,t,n,r){let i=Zt(t.contentJson);return N({...e,blanks:i,content:t},r,n)}function N(e,t,n){if(t.config.candidateMode===`sharedPool`){let r=tn(e.candidateOptions,`option_`);return{...e,answer:n?on(e.answer,e.blanks,r.map(e=>e.optionId),t.config.allowCandidateReuse):[],blankOptionGroups:void 0,candidateOptions:r}}if(t.config.candidateMode===`perBlankOptions`){let t=rn(e.blankOptionGroups,e.blanks),r=new Map(t.map(e=>[e.blankId,e.options.map(e=>e.optionId)]));return{...e,answer:n?sn(e.answer,e.blanks,r):[],blankOptionGroups:t,candidateOptions:void 0}}return{...e,answer:n?P(e.answer,e.blanks):[],blankOptionGroups:void 0,candidateOptions:void 0}}function en(e,t=A()){return{content:t,optionId:e}}function tn(e,t=`option_`,n=1){var r;let i=new Set,a=(r=e==null?void 0:e.map((e,n)=>{let r=e.optionId||jn(n,t);return i.has(r)?en(jn(n,t),e.content):(i.add(r),en(r,e.content))}).filter(e=>e.optionId.length>0))==null?[]:r;return a.length?a:Array.from({length:n},(e,r)=>en(jn(r,t),n===Lt?A(`选项 ${M(`upperAlpha`,r)}`):A()))}function nn(e,t){return{blankId:t,options:tn(e==null?void 0:e.options,`${t}_option_`,Lt)}}function rn(e,t){let n=new Map((e==null?[]:e).map(e=>[e.blankId,e]));return t.map(e=>({...nn(n.get(e),e)}))}function an(e){return e&&`answerOptionIds`in e?e.answerOptionIds:[]}function on(e,t,n,r){let i=new Set,a=new Set,o=new Set(n);return[...e.filter(e=>`answerOptionIds`in e).map(e=>{let n=e.blankIds.filter(e=>!t.includes(e)||i.has(e)?!1:(i.add(e),!0));return{answerOptionIds:an(e).filter(e=>!o.has(e)||!r&&a.has(e)?!1:(a.add(e),!0)),blankIds:n}}).filter(e=>e.blankIds.length>0),...t.filter(e=>!i.has(e)).map(e=>({answerOptionIds:[],blankIds:[e]}))]}function sn(e,t,n){let r=new Map(e.filter(e=>`answerOptionId`in e).map(e=>[e.blankId,e.answerOptionId]));return t.map(e=>{var t,i;let a=(t=n.get(e))==null?[]:t,o=r.get(e);return{answerOptionId:o&&a.includes(o)?o:(i=a[0])==null?``:i,blankId:e}})}function cn(e){let t=Mn(e.blanks),n=[...e.blanks,t];return{...e,answer:P([...e.answer,{answerPools:[A()],blankIds:[t]}],n),blanks:n}}function ln(e,t){if(e.blanks.length<=1)return e;let n=e.blanks.filter(e=>e!==t),r=P(e.answer.map(e=>({...e,blankIds:e.blankIds.filter(e=>e!==t)})).filter(e=>e.blankIds.length>0),n);return{...e,answer:r,blanks:n.length?n:e.blanks}}function P(e,t){let n=new Set;return[...e.filter(e=>`answerPools`in e).map(e=>{let r=e.blankIds.filter(e=>!t.includes(e)||n.has(e)?!1:(n.add(e),!0));return{answerPools:I(`answerPools`in e?e.answerPools:[]),blankIds:r}}).filter(e=>e.blankIds.length>0),...t.filter(e=>!n.has(e)).map(e=>({answerPools:[A()],blankIds:[e]}))]}function un(e){return e.reduce((e,t,n)=>(t.blankIds.length>=2&&e.push({group:t,groupIndex:n}),e),[])}function dn(e,t,n){let r=e.answer.find(e=>e.blankIds.includes(t)),i=e.answer.slice(n,n+1)[0];return!i||i.blankIds.length<2||i.blankIds.includes(t)?e:{...e,answer:P(e.answer.map((e,r)=>r===n?{...e,answerPools:I(e.answerPools),blankIds:[...e.blankIds,t]}:{...e,answerPools:I(e.answerPools),blankIds:e.blankIds.filter(e=>e!==t)}),e.blanks).map(e=>{var n;return e.blankIds.includes(t)&&e.blankIds.length>1?{...e,answerPools:i.answerPools.length>0?I(i.answerPools):I((n=r==null?void 0:r.answerPools)==null?[]:n)}:e})}}function fn(e,t,n){var r;if(t===n||!e.blanks.includes(t)||!e.blanks.includes(n))return e;let i=e.answer.find(e=>e.blankIds.includes(t));return{...e,answer:P([...e.answer.map(e=>({...e,blankIds:e.blankIds.filter(e=>e!==t&&e!==n)})),{answerPools:I((r=i==null?void 0:i.answerPools)==null?[]:r),blankIds:[t,n]}],e.blanks)}}function pn(e,t){var n;let r=e.answer.find(e=>e.blankIds.includes(t));return{...e,answer:P([...e.answer.map(e=>({...e,blankIds:e.blankIds.filter(e=>e!==t)})),{answerPools:I((n=r==null?void 0:r.answerPools)==null?[]:n),blankIds:[t]}],e.blanks)}}function mn(e,t,n){return{...e,answer:P(e.answer.map((e,r)=>r===t?{...e,answerPools:I(n)}:e),e.blanks)}}function hn(e){var t;return{...e,options:[...(t=e.options)==null?[]:t,A()]}}function gn(e,t,n){return e.map((e,r)=>r===t?n:e)}function _n(e,t){var n;let r=(n=e.options)==null?[]:n;return r.length<=1?e:{...e,answer:Jn(e.answer,t),options:r.filter((e,n)=>n!==t)}}function vn(e,t,n){return n===`single`?e.includes(t)?[]:[t]:e.includes(t)?e.filter(e=>e!==t):[...e,t].sort((e,t)=>e-t)}function yn(e){return{data:e.data.map(e=>[...e,A()]),headers:[...e.headers,A()]}}function bn(e,t){return e.headers.length<=1?e:{data:e.data.map(e=>e.filter((e,n)=>n!==t)),headers:e.headers.filter((e,n)=>n!==t)}}function xn(e){let t=Tn(e);return{...e,tableOptions:{...t,data:[...t.data,t.headers.map(()=>A())]}}}function Sn(e,t){let n=Tn(e);return n.data.length<=1?e:{...e,answer:Jn(e.answer,t),tableOptions:{...n,data:n.data.filter((e,n)=>n!==t)}}}function Cn(e,t,n,r){return{...e,data:e.data.map((e,i)=>i===t?gn(e,n,r):e)}}function wn(e,t,n){return{...e,headers:gn(e.headers,t,n)}}function Tn(e){var t;return(t=e.tableOptions)==null?On():t}function En(e,t){switch(e.type){case`inlineFill`:return N({answer:[],blanks:[],content:A(),elementKey:e.elementKey,type:`inlineFill`},e,t);case`fill`:{let n=Array.from({length:It},(e,t)=>An(t));return{answer:t?[{answerPools:[A()],blankIds:n}]:[],blanks:n,elementKey:e.elementKey,type:`fill`}}case`choice`:return kn(e);case`judgement`:return{answer:[],elementKey:e.elementKey,type:`judgement`};case`richText`:return{content:A(),elementKey:e.elementKey,type:`richText`}}}function Dn(e){return{content:A(),extraKey:e.extraKey,type:e.type}}function On(){return{data:Array.from({length:zt},()=>Array.from({length:Rt},()=>A())),headers:Array.from({length:Rt},()=>A())}}function kn(e){return e.config.renderer===`table`?{answer:[],elementKey:e.elementKey,tableOptions:On(),type:`choice`}:{answer:[],elementKey:e.elementKey,options:Array.from({length:Lt},()=>A()),type:`choice`}}function An(e){return`blank_${e}`}function jn(e,t){return`${t}${e+1}`}function Mn(e){return An(e.reduce((e,t)=>{let n=/^blank_(\d+)$/u.exec(t),r=n!=null&&n[1]?Number(n[1]):-1;return Math.max(e,r)},-1)+1)}function F(e){return e.contentText.trim()===``}function Nn(e){return[{children:[{text:e}],type:`paragraph`}]}function Pn(e){return e.map(e=>Fn(e)).filter(e=>e.length>0).join(`
|
|
3
|
-
`)}function Fn(e){return zn(e)?e.text:Rn(e)?e.type===`blank`?`[${Ln(e,`label`)||Ln(e,`blankId`)||`Blank`}]`:e.children.map(e=>Fn(e)).join(``):``}function In(e,t){e.forEach(e=>{t(e),Rn(e)&&In(e.children,t)})}function Ln(e,t){let n=t===`blankId`?e.blankId:e.label;return typeof n==`string`?n:``}function Rn(e){return typeof e==`object`&&!!e&&`type`in e&&typeof e.type==`string`&&`children`in e&&Array.isArray(e.children)}function zn(e){return typeof e==`object`&&!!e&&`text`in e&&typeof e.text==`string`}function Bn(e){return Array.isArray(e)&&e.length>0}function Vn(t){return Bn(t)?(0,e.deserializeRichTextEditorJson)(t,{plugins:[Mt]}):Nn(``)}function Hn(e){switch(e.type){case`inlineFill`:return Un(e);case`fill`:return e.answer.every(Wn);case`choice`:return Kn(e);case`judgement`:return e.answer.length===0;case`richText`:return F(e.content)}}function Un(e){var t,n,r,i;return F(e.content)&&e.answer.every(Wn)&&((t=(n=e.candidateOptions)==null?void 0:n.every(e=>F(e.content)))==null?!0:t)&&((r=(i=e.blankOptionGroups)==null?void 0:i.every(Gn))==null?!0:r)}function Wn(e){return`answerOptionIds`in e?e.answerOptionIds.length===0:`answerOptionId`in e?e.answerOptionId.length===0:e.answerPools.every(F)}function Gn(e){var t;return(t=e==null?void 0:e.options.every(e=>F(e.content)))==null?!0:t}function Kn(e){var t,n;return e.answer.length===0&&((t=(n=e.options)==null?void 0:n.every(F))==null?!0:t)&&(e.tableOptions?qn(e.tableOptions):!0)}function qn(e){return e.headers.every(F)&&e.data.every(e=>e.every(F))}function I(e){return e.length?e:[A()]}function Jn(e,t){return e.filter(e=>e!==t).map(e=>e>t?e-1:e)}function Yn(e){switch(e.type){case`inlineFill`:return $n(e);case`fill`:return{answer:e.answer,blanks:e.blanks,type:`fill`};case`choice`:return er(e);case`judgement`:return{answer:e.answer,type:`judgement`};case`richText`:return{content:e.content,type:`richText`}}}function Xn(e,t){return{...e,elementKey:t}}function Zn(e,t){return{...e,extraKey:t}}function Qn(e){return{content:e.content,type:e.type}}function $n(e){return{answer:e.answer,...e.blankOptionGroups?{blankOptionGroups:e.blankOptionGroups}:{},blanks:e.blanks,...e.candidateOptions?{candidateOptions:e.candidateOptions}:{},content:e.content,type:`inlineFill`}}function er(e){var t;return e.tableOptions?{answer:e.answer,tableOptions:e.tableOptions,type:`choice`}:{answer:e.answer,options:(t=e.options)==null?[]:t,type:`choice`}}var tr=(0,n.createContext)(!1);function nr(){return(0,n.useContext)(tr)}var rr={"en-US":{actions:{addAnswerGroup:`Add Answer Group`,addAnswerPool:`Answer`,addBlank:`Add Blank`,addBlankOption:`Add Option`,addCandidateOption:`Add Candidate`,addOption:`Add Option`,addTableColumn:`Add Column`,addTableRow:`Add Row`,cancel:`Cancel`,confirmCreateAnswerGroup:`Create Group`,close:`Close`,deleteAnswerGroup:`Delete Group`,deleteAnswerPool:`Delete`,deleteBlank:`Delete Blank {{index}}`,deleteOption:`Delete option {{marker}}`,deleteTableColumn:`Delete`,deleteTableRow:`Delete`,insertInlineBlank:`Insert Blank`},blank:{answer:`Answer`,answerAssignmentAria:`Blank {{index}} answer group`,answerGroup:`Answer Group {{index}}`,answerPool:`Group {{groupIndex}} answer {{poolIndex}}`,answerSelectAria:`Blank {{index}} answer`,checkbox:`Blank {{index}} ({{blankId}})`,count:`{{count}} blanks`,correctAnswer:`Correct Answer`,correctAnswerAria:`Blank {{index}} correct answer`,createGroupDescription:`Choose another blank to share answers with.`,createGroupTitle:`Create Answer Group`,groupsTitle:`Blanks and Answer Groups`,label:`Blank {{index}}`,memberDetach:`Blank {{index}} Detach`,newAnswerGroup:`New Answer Group`,optionGroupsTitle:`Option Groups`,sharedAnswer:`Shared Answer`,shortLabel:`Blank {{index}}`,singleAnswer:`Single Answer`},candidateMode:{none:`No candidate list`,perBlankOptions:`Candidate groups configured in structure`,sharedPool:`Candidates configured in structure`},elementType:{fill:`Blank`,inlineFill:`Inline Blank`,judgement:`Judgement`,choice:`Choice`,richText:`Text`},fields:{candidateOption:`Candidate {{index}}`,candidateOptions:`Candidate Options`,fillTextContent:`Inline Blank Stem`,textContent:`Text Content`},judgement:{answerAria:`Set {{option}} as the judgement answer`,noAnswer:`This structure does not require a reference answer.`},option:{answerAria:`Mark option {{index}} as answer`,answerSettings:`Answer Settings`,optionAria:`Option {{marker}} content`},placeholders:{blankAnswer:`Enter the reference answer`,candidateOption:`Enter candidate content`,fillTextContent:`Write the stem and insert blanks where students answer`,option:`Option {{marker}}`,tableHeader:`Column {{index}}`,textContent:`Enter the question stem, material, or prompt`},subquestion:{addChild:`Add Child`,childTitle:`Child {{index}}`,deleteChild:`Delete child {{index}}`,editorTitle:`Composite Editor`,emptyNodes:`No child questions yet.`,emptyTemplate:`This business type has no supported structure.`,moveChildDown:`Move child {{index}} down`,moveChildUp:`Move child {{index}} up`,questionKind:`Question`,selectTemplate:`Select business type`,structureCheck:`Structure check: {{nodeCount}} child nodes`},table:{actions:`Actions`,cellAria:`Row {{row}} column {{column}} content`,headerAria:`Column {{index}} header`,optionColumn:`Option`}},"zh-CN":{actions:{addAnswerGroup:`新增答案组`,addAnswerPool:`答案`,addBlank:`添加空位`,addBlankOption:`添加选项`,addCandidateOption:`新增候选项`,addOption:`新增选项`,addTableColumn:`添加列`,addTableRow:`添加选项行`,cancel:`取消`,confirmCreateAnswerGroup:`创建答案组`,close:`关闭`,deleteAnswerGroup:`删除答案组`,deleteAnswerPool:`删除`,deleteBlank:`删空`,deleteOption:`删除选项 {{marker}}`,deleteTableColumn:`删除`,deleteTableRow:`删除`,insertInlineBlank:`插入空位`},blank:{answer:`答案`,answerAssignmentAria:`空 {{index}} 答案组`,answerGroup:`答案组 {{index}}`,answerPool:`第 {{groupIndex}} 组答案 {{poolIndex}}`,answerSelectAria:`空 {{index}} 答案`,checkbox:`第 {{index}} 空({{blankId}})`,count:`{{count}} 个空位`,correctAnswer:`正确答案`,correctAnswerAria:`空 {{index}} 正确答案`,createGroupDescription:`选择另一个空位,与当前空位共用答案。`,createGroupTitle:`新建答案组`,groupsTitle:`空位与答案组`,label:`第 {{index}} 空`,memberDetach:`第 {{index}} 空 拆出`,newAnswerGroup:`新建答案组`,optionGroupsTitle:`选项组`,sharedAnswer:`共用答案`,shortLabel:`空 {{index}}`,singleAnswer:`单独答案`},candidateMode:{none:`不使用候选项`,perBlankOptions:`结构已配置候选组`,sharedPool:`结构已配置候选项`},elementType:{fill:`填空`,inlineFill:`题干内填空`,judgement:`判断`,choice:`选择`,richText:`文本`},fields:{candidateOption:`候选项 {{index}}`,candidateOptions:`候选项`,fillTextContent:`题干内填空内容`,textContent:`文本内容`},judgement:{answerAria:`设置{{option}}为判断答案`,noAnswer:`当前结构不需要设置参考答案。`},option:{answerAria:`设置第 {{index}} 项为答案`,answerSettings:`答案设置`,optionAria:`选项 {{marker}} 内容`},placeholders:{blankAnswer:`请输入参考答案`,candidateOption:`请输入候选项内容`,fillTextContent:`请输入题干,并在需要作答的位置插入空位`,option:`选项 {{marker}}`,tableHeader:`第 {{index}} 列`,textContent:`请输入题干、材料或提示文本`},subquestion:{addChild:`新增子题`,childTitle:`第 {{index}} 题`,deleteChild:`删除第 {{index}} 题`,editorTitle:`组合题编辑`,emptyNodes:`暂无子题。`,emptyTemplate:`该业务题型暂无可支持的结构。`,moveChildDown:`下移第 {{index}} 题`,moveChildUp:`上移第 {{index}} 题`,questionKind:`题目`,selectTemplate:`选择业务题型`,structureCheck:`结构检查:{{nodeCount}} 个子题节点`},table:{actions:`操作`,cellAria:`第 {{row}} 行第 {{column}} 列内容`,headerAria:`第 {{index}} 列表头`,optionColumn:`选项`}}};function ir(e=`zh-CN`){let t=or(e);return{t:(e,n)=>sr(ar(t,e),n)}}function ar(e,t){let n=(t.startsWith(`questionContentEditor.`)?t.slice(22):t).split(`.`).reduce((e,t)=>{var n;return typeof e==`object`&&e?(n=Object.entries(e).find(([e])=>e===t))==null?void 0:n[1]:void 0},e);return typeof n==`string`?n:t}function or(e){switch(e){case`en-US`:return rr[`en-US`];case`zh-CN`:return rr[`zh-CN`]}}function sr(e,t={}){return Object.entries(t).reduce((e,[t,n])=>e.split(`{{${t}}}`).join(n==null?``:String(n)),e)}var cr={root:`_root_1ojgr_1`,"rich-text-root":`_rich-text-root_1ojgr_28`,"rich-text-toolbar":`_rich-text-toolbar_1ojgr_37`},L={button:`_button_8wkgm_1`,"button-small":`_button-small_8wkgm_35`,"button-danger":`_button-danger_8wkgm_41`,"button-dashed":`_button-dashed_8wkgm_50`,icon:`_icon_8wkgm_55`,select:`_select_8wkgm_61`,text:`_text_8wkgm_84`,secondary:`_secondary_8wkgm_88`,strong:`_strong_8wkgm_92`,space:`_space_8wkgm_96`,"space-wrap":`_space-wrap_8wkgm_102`,empty:`_empty_8wkgm_106`,"modal-backdrop":`_modal-backdrop_8wkgm_114`,"modal-panel":`_modal-panel_8wkgm_125`,"modal-head":`_modal-head_8wkgm_137`,"modal-title":`_modal-title_8wkgm_143`,"modal-actions":`_modal-actions_8wkgm_148`,"radio-group":`_radio-group_8wkgm_155`,"radio-item":`_radio-item_8wkgm_160`,"table-wrap":`_table-wrap_8wkgm_175`,table:`_table_8wkgm_175`};function R({children:e,className:n,danger:r=!1,icon:i,size:a,type:o,...s}){return(0,t.jsxs)(`button`,{className:[L.button,r?L[`button-danger`]:``,a===`small`?L[`button-small`]:``,o===`dashed`?L[`button-dashed`]:``,n==null?``:n].filter(Boolean).join(` `),type:`button`,...s,children:[i?(0,t.jsx)(`span`,{className:L.icon,children:i}):null,e]})}function lr({"aria-label":e,allowClear:n=!1,className:r,disabled:i,onChange:a,options:o,placeholder:s,value:c}){function l(e){let t=e.target.value;a(t===``?void 0:t)}return(0,t.jsxs)(`select`,{"aria-label":e,className:[L.select,r==null?``:r].filter(Boolean).join(` `),disabled:i,onChange:l,value:c==null?``:c,children:[n||s?(0,t.jsx)(`option`,{value:``,children:s==null?``:s}):null,o.map(e=>(0,t.jsx)(`option`,{disabled:e.disabled,value:e.value,children:e.label},e.value))]})}function ur({cancelText:e,children:n,closeLabel:r,okButtonProps:i,okText:a,onCancel:o,onOk:s,open:c,title:l}){return c?(0,t.jsx)(`div`,{className:L[`modal-backdrop`],role:`presentation`,children:(0,t.jsxs)(`section`,{"aria-modal":`true`,className:L[`modal-panel`],role:`dialog`,children:[(0,t.jsxs)(`div`,{className:L[`modal-head`],children:[(0,t.jsx)(`strong`,{className:L[`modal-title`],children:l}),(0,t.jsx)(R,{"aria-label":r,onClick:o,size:`small`,children:`x`})]}),n,(0,t.jsxs)(`div`,{className:L[`modal-actions`],children:[(0,t.jsx)(R,{onClick:o,children:e}),(0,t.jsx)(R,{disabled:i==null?void 0:i.disabled,onClick:s,children:a})]})]})}):null}function dr({onChange:e,options:n,value:r}){return(0,t.jsx)(`div`,{className:L[`radio-group`],children:n.map(n=>(0,t.jsxs)(`label`,{className:L[`radio-item`],children:[(0,t.jsx)(`input`,{checked:r===n.value,disabled:n.disabled,onChange:()=>e({target:{value:n.value}}),type:`radio`}),(0,t.jsx)(`span`,{children:n.label})]},n.value))})}var fr={Group:dr};function pr({description:e}){return(0,t.jsx)(`div`,{className:L.empty,children:e})}function mr({children:e,className:n,size:r=8,wrap:i=!1}){return(0,t.jsx)(`span`,{className:[L.space,i?L[`space-wrap`]:``,n==null?``:n].filter(Boolean).join(` `),style:{gap:r},children:e})}function hr({children:e,className:n,strong:r=!1,type:i}){return(0,t.jsx)(`span`,{className:[L.text,r?L.strong:``,i===`secondary`?L.secondary:``,n==null?``:n].filter(Boolean).join(` `),children:e})}var z={Text:hr};function gr({columns:e,dataSource:n,rowKey:r}){return(0,t.jsx)(`div`,{className:L[`table-wrap`],children:(0,t.jsxs)(`table`,{className:L.table,children:[(0,t.jsx)(`thead`,{children:(0,t.jsx)(`tr`,{children:e.map(e=>(0,t.jsx)(`th`,{style:{width:e.width},children:e.title},e.key))})}),(0,t.jsx)(`tbody`,{children:n.map((n,i)=>(0,t.jsx)(`tr`,{children:e.map(e=>{let r=_r(n,e.dataIndex);return(0,t.jsx)(`td`,{children:e.render?e.render(r,n,i):vr(r)},e.key)})},r(n)))})]})})}function _r(e,t){var n;if(!t||typeof e!=`object`||!e)return;let r=String(t);return(n=Object.entries(e).find(([e])=>e===r))==null?void 0:n[1]}function vr(e){return typeof e==`boolean`||typeof e==`number`||typeof e==`string`?String(e):``}var B={field:`_field_1e4cl_1`,toolbar:`_toolbar_1e4cl_6`,"toolbar-button":`_toolbar-button_1e4cl_10`,editor:`_editor_1e4cl_31`,compact:`_compact_1e4cl_45`,textarea:`_textarea_1e4cl_61`};function yr({toolbarExtra:e}){return(0,t.jsxs)(`div`,{className:B.toolbar,role:`toolbar`,children:[(0,t.jsx)(`button`,{className:B[`toolbar-button`],type:`button`,children:`B`}),(0,t.jsx)(`button`,{className:B[`toolbar-button`],type:`button`,children:`I`}),(0,t.jsx)(`button`,{className:B[`toolbar-button`],type:`button`,children:`U`}),(0,t.jsx)(`button`,{className:B[`toolbar-button`],type:`button`,children:`Table`}),e]})}function br({apiRef:n,ariaLabel:r,compact:i=!1,onChange:a,plugins:c=[],toolbarExtra:l,value:u}){let d=nr()&&c.length===0&&!l;return xr()?(0,t.jsxs)(`div`,{className:Sr(i),children:[(0,t.jsx)(yr,{toolbarExtra:l}),(0,t.jsx)(`textarea`,{"aria-label":r,className:`${B.textarea} rich-content-editor-surface`,onChange:e=>a(o(e.target.value)),value:u.text})]}):d?(0,t.jsx)(`div`,{className:Sr(i),children:wr({apiRef:n,ariaLabel:r,compact:i,onChange:a,value:u})}):(0,t.jsx)(`div`,{className:Sr(i),children:(0,t.jsxs)(e.RichTextEditor.Root,{plugins:c,children:[(0,t.jsxs)(e.RichTextEditor.Toolbar,{"aria-label":`${r} toolbar`,children:[(0,t.jsxs)(e.RichTextEditor.Toolbar.Section,{"aria-label":`History`,children:[(0,t.jsx)(e.RichTextEditor.Toolbar.UndoButton,{"aria-label":`Undo`}),(0,t.jsx)(e.RichTextEditor.Toolbar.RedoButton,{"aria-label":`Redo`})]}),(0,t.jsx)(e.RichTextEditor.Toolbar.Separator,{}),(0,t.jsxs)(e.RichTextEditor.Toolbar.Section,{"aria-label":`Text style`,children:[(0,t.jsx)(e.RichTextEditor.Toolbar.BoldToggle,{"aria-label":`Bold`}),(0,t.jsx)(e.RichTextEditor.Toolbar.ItalicToggle,{"aria-label":`Italic`}),(0,t.jsx)(e.RichTextEditor.Toolbar.UnderlineToggle,{"aria-label":`Underline`})]}),(0,t.jsx)(e.RichTextEditor.Toolbar.Separator,{}),(0,t.jsx)(e.RichTextEditor.Toolbar.Section,{"aria-label":`Insert`,children:(0,t.jsx)(e.RichTextEditor.Toolbar.TableButton,{"aria-label":`Table`})}),l]}),(0,t.jsx)(e.RichTextEditor.Editor,{apiRef:n,"aria-label":r,className:Cr(i),initialValue:u.json,onChange:e=>a(s({json:e}))})]})})}function xr(){return typeof navigator<`u`&&navigator.userAgent.toLowerCase().includes(`jsdom`)}function Sr(e){return e?`${B.field} ${B.compact} rich-content-editor is-compact`:`${B.field} rich-content-editor`}function Cr(e){return e?`${B.editor} ${B.compact} rich-content-editor-surface is-compact`:`${B.editor} rich-content-editor-surface`}function wr({apiRef:n,ariaLabel:r,compact:i,onChange:a,value:o}){return(0,t.jsx)(e.RichTextEditor.Editor,{apiRef:n,"aria-label":r,className:Cr(i),initialValue:o.json,onChange:e=>a(s({json:e}))})}function V({controls:e,disabled:n,editorRef:r,label:i,onChange:a,placeholder:o,value:s,variant:c=`default`}){return(0,t.jsxs)(`div`,{"aria-disabled":n,className:n?`pointer-events-none opacity-70`:void 0,children:[(0,t.jsx)(br,{apiRef:r,ariaLabel:i,compact:c===`compact`,onChange:e=>a(Er(e)),plugins:e.plugins.length>0?[]:e.plugins,value:Tr(s)}),o?(0,t.jsx)(`span`,{hidden:!0,children:o}):null]})}function Tr(e){return{html:e.contentHtml,json:e.contentJson,text:e.contentText}}function Er(e){return{contentHtml:e.html,contentJson:e.json,contentText:e.text}}function Dr({disabled:e,hasAnswer:r,item:i,onChange:a,richTextControls:o,translator:s}){let{t:c}=s,[l,u]=(0,n.useState)(null),[d,f]=(0,n.useState)(null),p=r?P(i.answer,i.blanks):[],m=un(p);function h(e){a({...e,answer:r?P(e.answer,e.blanks):[]})}function g(e,t,n){let r=Or(p,e);r&&h(mn({...i,answer:p},e,r.answerPools.map((e,r)=>r===t?n:e)))}function _(e){let t=Or(p,e);t&&h(mn({...i,answer:p},e,[...t.answerPools,A()]))}function v(e,t){let n=Or(p,e);n&&h(mn({...i,answer:p},e,n.answerPools.filter((e,n)=>n!==t)))}function y(e,t){if(t===`__single__`){h(pn({...i,answer:p},e));return}if(t===`__new__`){x(e);return}let n=Number(t.replace(`group:`,``));Number.isNaN(n)||h(dn({...i,answer:p},e,n))}function b(e){return p.filter(e=>e.blankIds.length===1).map(e=>e.blankIds[0]).filter(t=>!!t&&t!==e)}function x(e){let t=b(e)[0];t&&(u(e),f(t))}function ee(){u(null),f(null)}function te(){!l||!d||(h(fn({...i,answer:p},l,d)),ee())}function ne(n,r){return(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-start gap-3`,children:[r.answerPools.map((i,a)=>(0,t.jsxs)(`div`,{className:`flex max-w-xl min-w-72 flex-1 items-start gap-2`,children:[(0,t.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,t.jsx)(V,{controls:o,disabled:e,label:c(`questionContentEditor.blank.answerPool`,{groupIndex:n+1,poolIndex:a+1}),onChange:e=>g(n,a,e),placeholder:c(`questionContentEditor.placeholders.blankAnswer`),value:i,variant:`compact`})}),r.answerPools.length>1?(0,t.jsx)(R,{"aria-label":c(`questionContentEditor.actions.deleteAnswerPool`),danger:!0,disabled:e,onClick:()=>v(n,a),children:c(`questionContentEditor.actions.deleteAnswerPool`)}):null]},a)),(0,t.jsx)(R,{"aria-label":c(`questionContentEditor.actions.addAnswerPool`),disabled:e,icon:`+`,onClick:()=>_(n),type:`dashed`,children:c(`questionContentEditor.actions.addAnswerPool`)})]})}function S(n,r,a,o){let s=b(n);return(0,t.jsxs)(`section`,{className:`flex min-w-0 flex-wrap items-center gap-4 rounded-md border border-slate-200 bg-white px-4 py-3`,children:[(0,t.jsx)(z.Text,{className:`w-20`,strong:!0,children:c(`questionContentEditor.blank.shortLabel`,{index:r+1})}),(0,t.jsxs)(`label`,{className:`flex min-w-0 items-center gap-2`,children:[(0,t.jsx)(z.Text,{children:c(`questionContentEditor.blank.answer`)}),(0,t.jsx)(lr,{"aria-label":c(`questionContentEditor.blank.answerSelectAria`,{index:r+1}),className:`w-48`,disabled:e,onChange:e=>y(n,e==null?`__single__`:e),options:[{label:c(`questionContentEditor.blank.singleAnswer`),value:`__single__`},...m.map(({groupIndex:e},t)=>({label:c(`questionContentEditor.blank.answerGroup`,{index:t+1}),value:`group:${e}`})),...s.length>0?[{label:c(`questionContentEditor.blank.newAnswerGroup`),value:`__new__`}]:[]],value:`__single__`})]}),(0,t.jsx)(`div`,{className:`min-w-72 flex-1`,children:ne(a,o)}),(0,t.jsx)(R,{"aria-label":c(`questionContentEditor.actions.deleteBlank`,{index:r+1}),danger:!0,disabled:e||i.blanks.length<=1,onClick:()=>h(ln({...i,answer:p},n)),children:c(`questionContentEditor.actions.deleteBlank`,{index:r+1})})]},n)}function re(n,r,a){return(0,t.jsxs)(`section`,{className:`flex min-w-0 flex-col gap-3 rounded-md border border-blue-200 bg-blue-50/40 px-4 py-3`,children:[(0,t.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,t.jsx)(z.Text,{strong:!0,children:c(`questionContentEditor.blank.answerGroup`,{index:a+1})}),n.blankIds.map(n=>(0,t.jsx)(R,{disabled:e,onClick:()=>h(pn({...i,answer:p},n)),size:`small`,children:c(`questionContentEditor.blank.memberDetach`,{index:i.blanks.indexOf(n)+1})},n))]}),(0,t.jsx)(z.Text,{strong:!0,children:c(`questionContentEditor.blank.sharedAnswer`)})]}),ne(r,n)]},`shared-group-${r}`)}function C(){let e=new Set;return i.blanks.reduce((t,n,r)=>{let i=p.findIndex(e=>e.blankIds.includes(n)),a=Or(p,i);if(!a)return t;if(a.blankIds.length>1){if(e.has(i))return t;let n=m.findIndex(e=>e.groupIndex===i);return e.add(i),t.push(re(a,i,n)),t}return t.push(S(n,r,i,a)),t},[])}return r?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(`div`,{className:`flex min-w-0 flex-col gap-4`,children:(0,t.jsx)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:C()})}),(0,t.jsx)(ur,{cancelText:c(`questionContentEditor.actions.cancel`),closeLabel:c(`questionContentEditor.actions.close`),okButtonProps:{disabled:!d},okText:c(`questionContentEditor.actions.confirmCreateAnswerGroup`),onCancel:ee,onOk:te,open:!!l,title:c(`questionContentEditor.blank.createGroupTitle`),children:(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[(0,t.jsx)(z.Text,{type:`secondary`,children:c(`questionContentEditor.blank.createGroupDescription`)}),(0,t.jsx)(fr.Group,{onChange:e=>f(String(e.target.value)),options:b(l==null?``:l).map(e=>({label:c(`questionContentEditor.blank.shortLabel`,{index:i.blanks.indexOf(e)+1}),value:e})),value:d})]})})]}):(0,t.jsx)(`div`,{className:`flex min-w-0 flex-col gap-4`,children:(0,t.jsx)(z.Text,{type:`secondary`,children:c(`questionContentEditor.blank.count`,{count:i.blanks.length})})})}function Or(e,t){return e.slice(t,t+1)[0]}function kr({disabled:e,element:r,hasAnswer:i,item:a,onChange:o,richTextControls:s,title:c,translator:l}){let{t:u}=l,d=(0,n.useRef)(null),[f,p]=(0,n.useState)({}),[m,h]=(0,n.useState)(null),[g,_]=(0,n.useState)(null),v=N(a,r,i),y={answer:v.answer.filter(e=>`answerPools`in e),blanks:v.blanks,elementKey:v.elementKey,type:`fill`};function b(){var e;let t=Qt(a.blanks);(e=d.current)==null||e.insertNode(`blank`,{blankId:t,label:u(`questionContentEditor.blank.shortLabel`,{index:a.blanks.length+1})})}function x(e){o(N(e,r,i))}function ee(e){e.type===`fill`&&x({...v,answer:i?e.answer:[],blanks:e.blanks})}function te(e){x({...v,candidateOptions:tn(e,`option_`)})}function ne(e,t){let n=rn(v.blankOptionGroups,v.blanks).map(n=>n.blankId===e?{...t,blankId:e}:n);x({...v,blankOptionGroups:n})}function S(){return v.answer.filter(e=>`answerOptionIds`in e)}function re(e){return e.blankIds.join(`__`)}function C(e){x({...v,answer:e})}function ie(e,t,n){let r=S(),i=r.slice(e,e+1)[0];if(!i)return;let a=re(i),o=(t<i.answerOptionIds.length?i.answerOptionIds.map((e,r)=>r===t?n:e):[...i.answerOptionIds,n]).filter((e,t,n)=>!!e&&n.indexOf(e)===t);t>=i.answerOptionIds.length&&n&&p(e=>({...e,[a]:Math.max(0,Ar(e,a)-1)})),C(r.map((t,n)=>n===e?{...t,answerOptionIds:o}:t))}function ae(e){let t=rn(v.blankOptionGroups,v.blanks).find(t=>t.blankId===e);if(!t)throw Error(`Missing option group for blank ${e}.`);return t}function w(e,t,n,r){t(e.map(e=>e.optionId===n?{...e,content:r}:e))}function oe(e,t,n){t(e.filter(e=>e.optionId!==n))}function se(){return S().reduce((e,t,n)=>(t.blankIds.length>=2&&e.push({group:t,groupIndex:n}),e),[])}function ce(e){return S().filter(e=>e.blankIds.length===1).map(e=>e.blankIds[0]).filter(t=>!!t&&t!==e)}function le(e,t){if(t===`__single__`){he(e);return}if(t===`__new__`){de(e);return}let n=Number(t.replace(`group:`,``));Number.isNaN(n)||ue(e,n)}function ue(e,t){let n=S(),r=n.slice(t,t+1)[0];!r||r.blankIds.length<2||r.blankIds.includes(e)||C(n.map((n,r)=>r===t?{...n,blankIds:[...n.blankIds,e]}:{...n,blankIds:n.blankIds.filter(t=>t!==e)}).filter(e=>e.blankIds.length>0))}function de(e){let t=ce(e)[0];t&&(h(e),_(t))}function fe(){h(null),_(null)}function pe(){!m||!g||(me(m,g),fe())}function me(e,t){var n;if(e===t)return;let r=S(),i=r.find(t=>t.blankIds.includes(e));C([...r.map(n=>({...n,blankIds:n.blankIds.filter(n=>n!==e&&n!==t)})),{answerOptionIds:(n=i==null?void 0:i.answerOptionIds)==null?[]:n,blankIds:[e,t]}].filter(e=>e.blankIds.length>0))}function he(e){var t;let n=S(),r=n.find(t=>t.blankIds.includes(e));C([...n.map(t=>({...t,blankIds:t.blankIds.filter(t=>t!==e)})),{answerOptionIds:(t=r==null?void 0:r.answerOptionIds)==null?[]:t,blankIds:[e]}].filter(e=>e.blankIds.length>0))}function ge(e){let t=re(e);p(e=>({...e,[t]:Ar(e,t)+1}))}function _e(e,t){return[{label:u(`questionContentEditor.blank.singleAnswer`),value:`__single__`},...t.map(({groupIndex:e},t)=>({label:u(`questionContentEditor.blank.answerGroup`,{index:t+1}),value:`group:${e}`})),...ce(e).length>0?[{label:u(`questionContentEditor.blank.newAnswerGroup`),value:`__new__`}]:[]]}function ve(){return ce(m==null?``:m).map(e=>({label:u(`questionContentEditor.blank.shortLabel`,{index:v.blanks.indexOf(e)+1}),value:e}))}function ye(e,t){let n=new Set(e.map(e=>e.optionId)),r=e.length+1,i=`${t}${r}`;for(;n.has(i);)r+=1,i=`${t}${r}`;return i}function be(n,r){return(0,t.jsx)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:n.map((i,a)=>{let o=M(`upperAlpha`,a);return(0,t.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[2rem_minmax(0,1fr)_auto] items-center gap-2`,children:[(0,t.jsx)(z.Text,{className:`text-center`,strong:!0,children:o}),(0,t.jsx)(V,{controls:s,disabled:e,label:u(`questionContentEditor.fields.candidateOption`,{index:a+1}),onChange:e=>w(n,r,i.optionId,e),placeholder:u(`questionContentEditor.placeholders.candidateOption`),value:i.content,variant:`compact`}),(0,t.jsx)(R,{"aria-label":u(`questionContentEditor.actions.deleteOption`,{marker:o}),danger:!0,disabled:e||n.length<=1,icon:`×`,onClick:()=>oe(n,r,i.optionId),size:`small`})]},i.optionId)})})}function xe(n,r,i,a){return(0,t.jsxs)(`section`,{className:`flex min-w-0 flex-col gap-3 rounded-md border border-slate-200 bg-white px-4 py-3`,children:[(0,t.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,t.jsx)(z.Text,{strong:!0,children:i}),(0,t.jsx)(R,{disabled:e,icon:`+`,onClick:()=>r([...n,en(ye(n,a))]),size:`small`,children:u(`questionContentEditor.actions.addCandidateOption`)})]}),be(n,r)]})}function Se(){var e;return(e=v.candidateOptions)==null?[]:e}function Ce(e){if(r.config.candidateMode!==`sharedPool`||r.config.allowCandidateReuse)return new Set;let t=new Set(e.blankIds);return new Set(S().filter(e=>e.blankIds.every(e=>!t.has(e))).reduce((e,t)=>[...e,...t.answerOptionIds],[]))}function we(n,r){let i=re(n),a=an(n),o=a.length?[...a,...Array.from({length:Ar(f,i)},()=>``)]:Array.from({length:Ar(f,i)+1},()=>``),s=Ce(n),c=Se().map((e,t)=>{let n=M(`upperAlpha`,t),r=a.includes(e.optionId);return{disabled:s.has(e.optionId)&&!r,label:`${n}. ${e.content.contentText||u(`questionContentEditor.fields.candidateOption`,{index:t+1})}`,value:e.optionId}});return(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-3`,children:[o.map((n,a)=>(0,t.jsx)(lr,{allowClear:!0,"aria-label":u(`questionContentEditor.blank.answerPool`,{groupIndex:r+1,poolIndex:a+1}),className:`min-w-60`,disabled:e,onChange:e=>ie(r,a,e),options:c,placeholder:u(`questionContentEditor.placeholders.blankAnswer`),value:n||void 0},`${i}-${a}`)),(0,t.jsx)(R,{"aria-label":u(`questionContentEditor.actions.addAnswerPool`),disabled:e,icon:`+`,onClick:()=>ge(n),type:`dashed`,children:u(`questionContentEditor.actions.addAnswerPool`)})]})}function Te(n){return(0,t.jsx)(R,{disabled:e,onClick:()=>he(n),size:`small`,children:u(`questionContentEditor.blank.memberDetach`,{index:v.blanks.indexOf(n)+1})},n)}function Ee(e,n,r){return(0,t.jsxs)(`section`,{className:`flex min-w-0 flex-col gap-3 rounded-md border border-blue-200 bg-blue-50/40 px-4 py-3`,children:[(0,t.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,t.jsx)(z.Text,{strong:!0,children:u(`questionContentEditor.blank.answerGroup`,{index:r+1})}),e.blankIds.map(Te)]}),(0,t.jsx)(z.Text,{strong:!0,children:u(`questionContentEditor.blank.sharedAnswer`)})]}),we(e,n)]},`candidate-shared-group-${n}`)}function De(n,r,i,a,o){return(0,t.jsxs)(`section`,{className:`flex min-w-0 flex-wrap items-center gap-4 rounded-md border border-slate-200 bg-white px-4 py-3`,children:[(0,t.jsx)(z.Text,{className:`w-20`,strong:!0,children:u(`questionContentEditor.blank.shortLabel`,{index:r+1})}),(0,t.jsx)(lr,{"aria-label":u(`questionContentEditor.blank.answerAssignmentAria`,{index:r+1}),className:`w-48`,disabled:e,onChange:e=>le(n,e==null?`__single__`:e),options:_e(n,o),value:`__single__`}),(0,t.jsx)(`div`,{className:`min-w-72 flex-1`,children:we(i,a)})]},n)}function Oe(){return S().map((e,t)=>({firstBlankIndex:Math.min(...e.blankIds.map(e=>v.blanks.indexOf(e))),group:e,groupIndex:t})).sort((e,t)=>e.firstBlankIndex-t.firstBlankIndex)}function ke(){let e=se();return(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[(0,t.jsx)(z.Text,{strong:!0,children:u(`questionContentEditor.blank.groupsTitle`)}),Oe().map(({group:t,groupIndex:n})=>{if(t.blankIds.length>1)return Ee(t,n,e.findIndex(e=>e.groupIndex===n));let r=t.blankIds[0];return r?De(r,v.blanks.indexOf(r),t,n,e):null})]})}function Ae(e){var t,n;let r=v.answer.find(t=>`answerOptionId`in t&&t.blankId===e),i=(t=(n=ae(e).options[0])==null?void 0:n.optionId)==null?``:t;return{answerOptionId:(r==null?void 0:r.answerOptionId)||i,blankId:e}}function je(e,t){x({...v,answer:v.answer.map(n=>`answerOptionId`in n&&n.blankId===e?{...n,answerOptionId:t}:n)})}function Me(e,t){ne(e,{blankId:e,options:t})}function Ne(n,r){let a=Ae(n.blankId),o=n.options.map((e,t)=>({label:`${M(`upperAlpha`,t)}. ${e.content.contentText||u(`questionContentEditor.fields.candidateOption`,{index:t+1})}`,value:e.optionId}));return(0,t.jsxs)(`section`,{className:`flex min-w-0 flex-col gap-3 rounded-md border border-slate-200 bg-white px-4 py-3`,children:[(0,t.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,t.jsx)(z.Text,{strong:!0,children:u(`questionContentEditor.blank.shortLabel`,{index:r+1})}),(0,t.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[i?(0,t.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,t.jsx)(z.Text,{strong:!0,children:u(`questionContentEditor.blank.correctAnswer`)}),(0,t.jsx)(lr,{"aria-label":u(`questionContentEditor.blank.correctAnswerAria`,{index:r+1}),className:`min-w-48`,disabled:e,onChange:e=>e?je(n.blankId,e):void 0,options:o,value:a.answerOptionId})]}):null,(0,t.jsx)(R,{disabled:e,onClick:()=>Me(n.blankId,[...n.options,en(ye(n.options,`${n.blankId}_option_`))]),size:`small`,children:u(`questionContentEditor.actions.addBlankOption`)})]})]}),be(n.options,e=>Me(n.blankId,e))]},n.blankId)}function Pe(){if(r.config.candidateMode===`sharedPool`){var e;return(0,t.jsxs)(t.Fragment,{children:[xe((e=v.candidateOptions)==null?[]:e,te,u(`questionContentEditor.fields.candidateOptions`),`option_`),i?ke():null]})}let n=rn(v.blankOptionGroups,v.blanks);return(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[(0,t.jsx)(z.Text,{strong:!0,children:u(`questionContentEditor.blank.optionGroupsTitle`)}),n.map(Ne)]})}return(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-4`,children:[(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center justify-between gap-2`,children:[(0,t.jsx)(z.Text,{strong:!0,children:c}),(0,t.jsx)(R,{"aria-label":u(`questionContentEditor.actions.insertInlineBlank`),disabled:e,icon:`+`,onClick:b,size:`small`,children:u(`questionContentEditor.actions.insertInlineBlank`)})]}),(0,t.jsx)(V,{controls:s,disabled:e,editorRef:d,label:u(`questionContentEditor.fields.fillTextContent`),onChange:e=>{o($t(v,e,i,r))},placeholder:u(`questionContentEditor.placeholders.fillTextContent`),value:v.content}),r.config.candidateMode===`none`?(0,t.jsx)(Dr,{disabled:e,hasAnswer:i,item:y,onChange:ee,richTextControls:s,translator:l}):Pe(),(0,t.jsx)(ur,{cancelText:u(`questionContentEditor.actions.cancel`),closeLabel:u(`questionContentEditor.actions.close`),okButtonProps:{disabled:!g},okText:u(`questionContentEditor.actions.confirmCreateAnswerGroup`),onCancel:fe,onOk:pe,open:!!m,title:u(`questionContentEditor.blank.createGroupTitle`),children:(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[(0,t.jsx)(z.Text,{type:`secondary`,children:u(`questionContentEditor.blank.createGroupDescription`)}),(0,t.jsx)(fr.Group,{onChange:e=>_(String(e.target.value)),options:ve(),value:g})]})})]})}function Ar(e,t){var n,r;return(n=(r=Object.entries(e).find(([e])=>e===t))==null?void 0:r[1])==null?0:n}function jr({disabled:e,element:n,hasAnswer:r,item:i,onChange:a,translator:o}){let{t:s}=o,c=Gt(n.config.judgeAnswerMode),l=r?i.answer.filter(e=>c.includes(e)).slice(0,1):[];function u(e){a({...i,answer:l.includes(e)?[]:[e]})}return(0,t.jsx)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:r?(0,t.jsx)(`div`,{className:`grid min-w-0 grid-cols-1 gap-3 md:grid-cols-2`,children:c.map(n=>(0,t.jsx)(`button`,{"aria-label":s(`questionContentEditor.judgement.answerAria`,{option:n}),"aria-pressed":l.includes(n),className:`min-h-16 rounded-md border px-4 py-3 text-left text-base font-medium transition ${l.includes(n)?`border-blue-600 bg-blue-50 text-blue-700`:`border-slate-200 bg-white text-slate-900 hover:border-blue-300`}`,disabled:e,onClick:()=>u(n),type:`button`,children:n},n))}):(0,t.jsx)(z.Text,{type:`secondary`,children:s(`questionContentEditor.judgement.noAnswer`)})})}function Mr({disabled:e,element:n,hasAnswer:r,item:i,onChange:a,richTextControls:o,translator:s}){let{t:c}=s,l=r?i.answer:[],u=n.config.renderer===`table`;function d(e){a({...e,answer:r?e.answer:[]})}function f(e){d({answer:l.filter(t=>t<e.length),elementKey:i.elementKey,options:e,type:`choice`})}function p(e){d({answer:l.filter(t=>t<e.data.length),elementKey:i.elementKey,tableOptions:e,type:`choice`})}function m(e,t,n){f(gn(e,t,n))}function h(e,t,n,r){p(Cn(e,t,n,r))}function g(e,t,n){p(wn(e,t,n))}function _(e){d({...i,answer:vn(l,e,n.config.selectionType)})}function v(n,r,i){return(0,t.jsxs)(`button`,{"aria-label":c(`questionContentEditor.option.answerAria`,{index:n+1}),"aria-pressed":l.includes(n),className:`min-h-12 rounded-md border px-3 py-2 text-left text-sm font-medium transition ${l.includes(n)?`border-blue-600 bg-blue-50 text-blue-700`:`border-slate-200 bg-white text-slate-900 hover:border-blue-300`}`,disabled:e,onClick:()=>_(n),type:`button`,children:[r,`. `,i]},`answer-option-${n}`)}function y(){let r=i.options&&i.options.length?i.options:[A()];return(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[(0,t.jsx)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:r.map((a,s)=>{let l=M(n.config.optionLabelStyle,s);return(0,t.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[2rem_minmax(0,1fr)_auto] items-center gap-2`,children:[(0,t.jsx)(z.Text,{className:`text-center`,strong:!0,children:l}),(0,t.jsx)(V,{controls:o,disabled:e,label:c(`questionContentEditor.option.optionAria`,{marker:l}),onChange:e=>m(r,s,e),placeholder:c(`questionContentEditor.placeholders.option`,{marker:l}),value:a,variant:`compact`}),(0,t.jsx)(R,{"aria-label":c(`questionContentEditor.actions.deleteOption`,{marker:l}),danger:!0,disabled:e||r.length<=1,icon:`×`,onClick:()=>d(_n(i,s)),size:`small`})]},`standard-option-${s}`)})}),(0,t.jsx)(R,{"aria-label":c(`questionContentEditor.actions.addOption`),disabled:e,icon:`+`,onClick:()=>d(hn({...i,options:r})),children:c(`questionContentEditor.actions.addOption`)})]})}function b(n,r,i,a){var s;return(0,t.jsx)(V,{controls:o,disabled:e,label:c(`questionContentEditor.table.cellAria`,{column:r+1,row:a.rowIndex+1}),onChange:e=>h(n,a.rowIndex,r,e),value:(s=i.slice(r,r+1)[0])==null?A():s,variant:`compact`})}function x(){let r=Tn(i),a=r.data.map((e,t)=>({cells:e,rowIndex:t}));return(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[(0,t.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,t.jsx)(R,{"aria-label":c(`questionContentEditor.actions.addTableColumn`),disabled:e,icon:`+`,onClick:()=>p(yn(r)),size:`small`,children:c(`questionContentEditor.actions.addTableColumn`)}),(0,t.jsx)(R,{"aria-label":c(`questionContentEditor.actions.addTableRow`),disabled:e,icon:`+`,onClick:()=>d(xn({...i,tableOptions:r})),size:`small`,children:c(`questionContentEditor.actions.addTableRow`)})]}),(0,t.jsx)(`div`,{className:`max-w-full overflow-x-auto`,children:(0,t.jsx)(gr,{columns:[{dataIndex:`rowIndex`,key:`answer`,render:(e,r)=>(0,t.jsx)(z.Text,{strong:!0,children:M(n.config.optionLabelStyle,r.rowIndex)}),title:c(`questionContentEditor.table.optionColumn`),width:96},...r.headers.map((n,i)=>({dataIndex:`cells`,key:`column-${i}`,render:(e,t)=>b(r,i,e,t),title:(0,t.jsxs)(`div`,{className:`flex min-w-72 items-start gap-2`,children:[(0,t.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,t.jsx)(V,{controls:o,disabled:e,label:c(`questionContentEditor.table.headerAria`,{index:i+1}),onChange:e=>g(r,i,e),placeholder:c(`questionContentEditor.placeholders.tableHeader`,{index:i+1}),value:n,variant:`compact`})}),(0,t.jsx)(R,{"aria-label":c(`questionContentEditor.actions.deleteTableColumn`),danger:!0,disabled:e||r.headers.length<=1,onClick:()=>p(bn(r,i)),children:c(`questionContentEditor.actions.deleteTableColumn`)})]}),width:320})),{dataIndex:`rowIndex`,key:`actions`,render:(n,a)=>(0,t.jsx)(R,{"aria-label":c(`questionContentEditor.actions.deleteTableRow`),danger:!0,disabled:e||r.data.length<=1,onClick:()=>d(Sn(i,a.rowIndex)),size:`small`,children:c(`questionContentEditor.actions.deleteTableRow`)}),title:c(`questionContentEditor.table.actions`),width:96}],dataSource:a,pagination:!1,rowKey:e=>`table-row-${e.rowIndex}`,scroll:{x:`max-content`},size:`small`})})]})}function ee(){return(i.options&&i.options.length?i.options:[A()]).map((e,t)=>{let r=M(n.config.optionLabelStyle,t);return{contentText:e.contentText||c(`questionContentEditor.placeholders.option`,{marker:r}),marker:r}})}function te(){return Tn(i).data.map((e,t)=>{let r=M(n.config.optionLabelStyle,t);return{contentText:e.map(e=>e.contentText.trim()).filter(Boolean).join(` / `)||c(`questionContentEditor.placeholders.option`,{marker:r}),marker:r}})}function ne(){if(!r)return null;let e=u?te():ee();return(0,t.jsxs)(`div`,{className:`mt-2 border-t border-slate-200 pt-4`,children:[(0,t.jsx)(z.Text,{className:`mb-3 block text-base`,strong:!0,children:c(`questionContentEditor.option.answerSettings`)}),(0,t.jsx)(`div`,{className:`grid min-w-0 grid-cols-1 gap-2 md:grid-cols-2 xl:grid-cols-4`,children:e.map(({contentText:e,marker:t},n)=>v(n,t,e))})]})}return(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[u?x():y(),ne()]})}function Nr({disabled:e,item:n,onChange:r,richTextControls:i,translator:a}){let{t:o}=a;return(0,t.jsx)(V,{controls:i,disabled:e,label:o(`questionContentEditor.fields.textContent`),onChange:e=>r({...n,content:e}),placeholder:o(`questionContentEditor.placeholders.textContent`),value:n.content})}function Pr({disabled:e,element:n,hasAnswer:r,item:i,onChange:a,richTextControls:o,title:s,translator:c}){let{t:l}=c;switch(n.type){case`inlineFill`:return(0,t.jsx)(kr,{disabled:e,element:n,hasAnswer:r,item:i,onChange:a,richTextControls:o,title:s,translator:c});case`fill`:return Fr(s,(0,t.jsx)(R,{"aria-label":l(`questionContentEditor.actions.addBlank`),disabled:e,icon:`+`,onClick:()=>a(Ir(i,r)),children:l(`questionContentEditor.actions.addBlank`)}),(0,t.jsx)(Dr,{disabled:e,hasAnswer:r,item:i,onChange:a,richTextControls:o,translator:c}));case`choice`:return Fr(s,null,(0,t.jsx)(Mr,{disabled:e,element:n,hasAnswer:r,item:i,onChange:a,richTextControls:o,translator:c}));case`judgement`:return Fr(s,null,(0,t.jsx)(jr,{disabled:e,element:n,hasAnswer:r,item:i,onChange:a,translator:c}));case`richText`:return Fr(s,null,(0,t.jsx)(Nr,{disabled:e,item:i,onChange:a,richTextControls:o,translator:c}))}}function Fr(e,n,r){return(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center justify-between gap-2`,children:[(0,t.jsx)(z.Text,{strong:!0,children:e}),n]}),r]})}function Ir(e,t){let n=cn(e);return t?n:{...n,answer:[]}}function Lr(e,t){return Vt(zr(e.structure,t),e.questionTypeKey)}function Rr(e){return e}function zr(e,t){return{...e,hasAnswer:t&&e.hasAnswer}}function Br(e,t,n){let r=t+n;return t<0||r<0||r>=e.length?e:e.map((n,i)=>{if(i===t){var a;return(a=e.slice(r,r+1)[0])==null?n:a}if(i===r){var o;return(o=e.slice(t,t+1)[0])==null?n:o}return n})}function Vr({disabled:e,hasAnswer:r,onAddChild:i,subquestionTemplates:a,translator:o}){var s,c,l;let{t:u}=o,d=(0,n.useMemo)(()=>Rr(a),[a]),f=(0,n.useMemo)(()=>new Map(d.map(e=>[String(e.questionTypeKey),e])),[d]),p=(0,n.useMemo)(()=>d.map(e=>({label:e.label,value:String(e.questionTypeKey)})),[d]),[m,h]=(0,n.useState)((s=(c=p[0])==null?void 0:c.value)==null?``:s),g=f.has(m)?m:((l=p[0])==null?void 0:l.value)||``;function _(){let e=f.get(g);e&&i(Lr(e,r))}let v=e||d.length===0;return(0,t.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[p.length>1?(0,t.jsx)(lr,{"aria-label":u(`questionContentEditor.subquestion.selectTemplate`),disabled:e,onChange:e=>h(e==null?``:e),options:p,value:g}):null,(0,t.jsx)(R,{disabled:v,icon:`+`,onClick:_,children:u(`questionContentEditor.subquestion.addChild`)})]})}function Hr(e){return e.map(e=>String(e+1)).join(`.`)}function Ur({child:e,disabled:n,onChange:r,richTextControls:i,structure:a,translator:o}){let{t:s}=o;function c(t){r({...e,...Yt(e,t)})}function l(t){r({...e,...Xt(e,t)})}return a.elements.length===0&&a.extra.length===0?(0,t.jsx)(pr,{description:s(`questionContentEditor.subquestion.emptyTemplate`)}):(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[a.elements.map(r=>(0,t.jsx)(`section`,{className:`flex min-w-0 flex-col gap-3 border-t border-slate-100 py-3 first:border-t-0 first:pt-0 last:pb-0`,children:(0,t.jsx)(Pr,{disabled:n,element:r,hasAnswer:a.hasAnswer,item:j(e,r,a.hasAnswer),onChange:c,richTextControls:i,title:r.name||s(`questionContentEditor.elementType.${r.type}`),translator:o})},r.elementKey)),a.extra.map(r=>{let s=Wt(e,r);return(0,t.jsx)(`section`,{className:`flex min-w-0 flex-col gap-3 border-t border-slate-100 py-3 first:border-t-0 first:pt-0 last:pb-0`,children:(0,t.jsx)(Pr,{disabled:n,element:Wr(r),hasAnswer:a.hasAnswer,item:Gr(s),onChange:e=>l({content:e.content,extraKey:r.extraKey,type:r.type}),richTextControls:i,title:r.name,translator:o})},r.extraKey)})]})}function Wr(e){return{config:{},elementKey:e.extraKey,name:e.name,type:`richText`}}function Gr(e){return{content:e.content,elementKey:e.extraKey,type:`richText`}}function Kr({child:e,childIndex:n,disabled:r,hasAnswer:i,numberPath:a,onChange:o,onDelete:s,onMove:c,richTextControls:l,siblingCount:u,subquestionTemplates:d,translator:f}){let{t:p}=f,m=a==null?[n]:a,h=Hr(m),g=qr(e,d),_=Jr(g,i),v=k(_),y={...e,...Jt(_,e),children:e.children};function b(e){o({...y,children:[...y.children,e]})}function x(e,t){o({...y,children:y.children.map((n,r)=>r===e?t:n)})}function ee(e){o({...y,children:y.children.filter((t,n)=>n!==e)})}function te(e,t){o({...y,children:Br(y.children,e,t)})}return(0,t.jsxs)(`section`,{className:`flex min-w-0 flex-col gap-3 border-b border-l-2 border-slate-200 border-l-blue-600 bg-white py-4 pr-0 pl-3 last:border-b-0 sm:pl-4`,children:[(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-start justify-between gap-3`,children:[(0,t.jsxs)(`span`,{className:`min-w-0`,children:[(0,t.jsx)(z.Text,{strong:!0,children:p(`questionContentEditor.subquestion.childTitle`,{index:h})}),(0,t.jsxs)(z.Text,{className:`block`,type:`secondary`,children:[p(`questionContentEditor.subquestion.questionKind`),` ·`,` `,Yr(g,e)]})]}),(0,t.jsxs)(mr,{size:4,wrap:!0,children:[(0,t.jsx)(Vr,{disabled:r,hasAnswer:i,onAddChild:b,subquestionTemplates:d,translator:f}),(0,t.jsx)(R,{"aria-label":p(`questionContentEditor.subquestion.moveChildUp`,{index:h}),disabled:r||n===0,icon:`↑`,onClick:()=>c(-1),size:`small`}),(0,t.jsx)(R,{"aria-label":p(`questionContentEditor.subquestion.moveChildDown`,{index:h}),disabled:r||n===u-1,icon:`↓`,onClick:()=>c(1),size:`small`}),(0,t.jsx)(R,{"aria-label":p(`questionContentEditor.subquestion.deleteChild`,{index:h}),danger:!0,disabled:r,icon:`×`,onClick:s,size:`small`})]})]}),Xr(v,r,y,o,l,_,f),y.children.length===0?null:(0,t.jsx)(`div`,{className:`ml-3 flex min-w-0 flex-col pl-3 sm:ml-4 sm:pl-4`,children:y.children.map((e,n)=>(0,t.jsx)(Kr,{child:e,childIndex:n,disabled:r,hasAnswer:i,numberPath:[...m,n],onChange:e=>x(n,e),onDelete:()=>ee(n),onMove:e=>te(n,e),richTextControls:l,siblingCount:y.children.length,subquestionTemplates:d,translator:f},Zr(e,n)))})]})}function qr(e,t){return t.find(t=>t.questionTypeKey===e.questionTypeKey)}function Jr(e,t){return zr(e?e.structure:{elements:[],extra:[],hasAnswer:t,systemQuestionType:``},t)}function Yr(e,t){return e?e.label:t.questionTypeKey}function Xr(e,n,r,i,a,o,s){return e?null:(0,t.jsx)(Ur,{child:r,disabled:n,onChange:i,richTextControls:a,structure:o,translator:s})}function Zr(e,t){return`child-${e.questionTypeKey}-${t}`}function Qr({disabled:e,hasAnswer:n,item:r,onChange:i,richTextControls:a,subquestionTemplates:o,translator:s}){let{t:c}=s,l=r.children.length;function u(e){i({...r,children:e,elements:[]})}function d(e){u([...r.children,e])}function f(e,t){u(r.children.map((n,r)=>r===e?t:n))}function p(e){u(r.children.filter((t,n)=>n!==e))}function m(e,t){u(Br(r.children,e,t))}function h(i,c){var l;return(0,t.jsx)(Kr,{child:i,childIndex:c,disabled:e,hasAnswer:n,onChange:e=>f(c,e),onDelete:()=>p(c),onMove:e=>m(c,e),richTextControls:a,siblingCount:r.children.length,subquestionTemplates:o,translator:s},`child-${(l=i.questionTypeKey)==null?`unknown`:l}-${c}`)}return(0,t.jsxs)(`section`,{className:`flex min-w-0 flex-col gap-4 rounded-md border border-slate-200 bg-white p-4`,children:[(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-start justify-between gap-3 border-b border-slate-200 pb-3`,children:[(0,t.jsxs)(`span`,{className:`min-w-0`,children:[(0,t.jsx)(z.Text,{strong:!0,children:c(`questionContentEditor.subquestion.editorTitle`)}),(0,t.jsx)(z.Text,{className:`block`,type:`secondary`,children:c(`questionContentEditor.subquestion.structureCheck`,{nodeCount:l})})]}),(0,t.jsx)(mr,{className:`min-w-0 justify-end`,wrap:!0,children:(0,t.jsx)(Vr,{disabled:e,hasAnswer:n,onAddChild:d,subquestionTemplates:o,translator:s})})]}),(0,t.jsx)(`div`,{className:`flex min-w-0 flex-col`,children:l===0?(0,t.jsx)(pr,{description:c(`questionContentEditor.subquestion.emptyNodes`)}):r.children.map(h)})]})}function $r({disabled:r=!1,locale:i=`zh-CN`,onChange:a,structure:o,subquestionTemplates:s=[],value:c}){let l=ir(i),{t:u}=l,d=(0,n.useMemo)(()=>({plugins:[Mt]}),[]);function f(e){a(Yt(c,e))}function p(e){a(Xt(c,e))}function m(e){let n=j(c,e,o.hasAnswer);return(0,t.jsx)(Pr,{disabled:r,element:e,hasAnswer:o.hasAnswer,item:n,onChange:f,richTextControls:d,title:e.name||u(`questionContentEditor.elementType.${e.type}`),translator:l})}function h(e){let n=Wt(c,e);return(0,t.jsx)(Pr,{disabled:r,element:ei(e),hasAnswer:o.hasAnswer,item:ti(n),onChange:t=>p({content:t.content,extraKey:e.extraKey,type:e.type}),richTextControls:d,title:e.name,translator:l})}let g=k(o)?(0,t.jsx)(Qr,{disabled:r,hasAnswer:o.hasAnswer,item:{...c,elements:[]},onChange:a,richTextControls:d,subquestionTemplates:s,translator:l}):(0,t.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-4`,children:[o.elements.map(e=>(0,t.jsx)(`section`,{className:`flex min-w-0 flex-col gap-3 rounded-md border border-slate-200 bg-white p-4`,children:m(e)},e.elementKey)),o.extra.map(e=>(0,t.jsx)(`section`,{className:`flex min-w-0 flex-col gap-3 rounded-md border border-slate-200 bg-white p-4`,children:h(e)},e.extraKey))]});return(0,t.jsxs)(e.RichTextEditor.Root,{className:[`question-content-editor`,cr.root,cr[`rich-text-root`]].join(` `),plugins:d.plugins,children:[r?null:(0,t.jsx)(e.RichTextEditor.Toolbar,{"aria-label":`Rich text toolbar`,className:cr[`rich-text-toolbar`]}),(0,t.jsx)(tr.Provider,{value:!0,children:g})]})}function ei(e){return{config:{},elementKey:e.extraKey,name:e.name,type:`richText`}}function ti(e){return{content:e.content,elementKey:e.extraKey,type:`richText`}}function ni(e,t){return{elements:e.elements.map(e=>fi(e,t)),extra:e.extra.map(e=>({extraKey:e.clientId,name:pi(e,Tt(e.type),Et(e.type),t),type:e.type})),hasAnswer:e.globalConfig.hasAnswer,systemQuestionType:``}}function ri(e,t,n){return!e||!t?null:{...Jt(t,oi(e)),children:e.children.map(e=>{let t=n.find(t=>t.questionTypeKey===e.questionTypeKey);return t?ri(e,t.structure,n):null}).filter(e=>!!e)}}function ii(e){return{elements:e.elements.map(li),extra:e.extra.map(di),globalConfig:{...e.globalConfig},version:e.version}}function ai(e,t){return e.globalConfig.hasAnswer!==t.globalConfig.hasAnswer||e.elements.length!==t.elements.length||e.extra.length!==t.extra.length||si(e.elements,t.elements)||ci(e.extra,t.extra)?`shape`:`metadata`}function oi(e){return{questionTypeKey:e.questionTypeKey,children:[],elements:e.elements,extra:e.extra,id:e.id,version:e.version}}function si(e,t){return e.some((e,n)=>{let r=t.slice(n,n+1)[0];return!r||e.clientId!==r.clientId||e.type!==r.type||JSON.stringify(e.config)!==JSON.stringify(r.config)})}function ci(e,t){return e.some((e,n)=>{let r=t.slice(n,n+1)[0];return!r||e.clientId!==r.clientId||e.type!==r.type})}function li(e){switch(e.type){case`fill`:return ui(e);case`richText`:return ui(e);case`inlineFill`:return{config:{...e.config},enName:e.enName,name:e.name,type:`inlineFill`};case`judgement`:return{config:{...e.config},enName:e.enName,name:e.name,type:`judgement`};case`choice`:return{config:{...e.config},enName:e.enName,name:e.name,type:`choice`}}}function ui(e){return{config:{},enName:e.enName,name:e.name,type:e.type}}function di(e){return{enName:e.enName,name:e.name,type:e.type}}function fi(e,t){switch(e.type){case`fill`:case`richText`:return{config:{},elementKey:e.clientId,name:pi(e,E(e.type),D(e.type),t),type:e.type};case`inlineFill`:return{config:{allowCandidateReuse:!!e.config.allowCandidateReuse,candidateMode:e.config.candidateMode},elementKey:e.clientId,name:pi(e,E(`inlineFill`),D(`inlineFill`),t),type:`inlineFill`};case`judgement`:return{config:{judgeAnswerMode:e.config.judgeAnswerMode},elementKey:e.clientId,name:pi(e,E(`judgement`),D(`judgement`),t),type:`judgement`};case`choice`:return{config:{optionLabelStyle:e.config.optionLabelStyle,renderer:e.config.renderer,selectionType:e.config.selectionType},elementKey:e.clientId,name:pi(e,E(`choice`),D(`choice`),t),type:`choice`}}}function pi(e,t,n,r){var i;if(r===`en-US`){var a;return((a=e.enName)==null?void 0:a.trim())||n}return((i=e.name)==null?void 0:i.trim())||t}function mi(e,t,n=[]){let r=k(t);return{questionTypeKey:e.questionTypeKey,children:e.children.map(e=>Ci(e,n)),id:e.id,items:r?[]:t.elements.reduce((n,r)=>{let i=wi(r,j(e,r,t.hasAnswer));return i?[...n,i]:n},[]),version:e.version}}function hi(e,t){var n;return(n=Di(e,t,`choice`))==null?{elementKey:t,selectedIndexes:[],type:`choice`}:n}function gi(e,t,n){var r;return(r=Di(e,t,`fill`))==null?{answers:Ti(n),elementKey:t,type:`fill`}:r}function _i(e,t,n){var r;return(r=Di(e,t.elementKey,`inlineFill`))==null?{answers:Ei(t,n),elementKey:t.elementKey,type:`inlineFill`}:r}function vi(e,t){var n;return(n=Di(e,t,`judgement`))==null?{elementKey:t,selectedValues:[],type:`judgement`}:n}function yi(e,t){let n=e.items.some(e=>e.elementKey===t.elementKey&&e.type===t.type);return{...e,items:n?e.items.map(e=>e.elementKey===t.elementKey&&e.type===t.type?t:e):[...e.items,t]}}function bi(e,t,n){return{...e,children:e.children.map((e,r)=>r===t?n:e)}}function xi(e,t,n){return n===`single`?e.includes(t)?[]:[t]:e.includes(t)?e.filter(e=>e!==t):[...e,t]}function Si(e,t,n=`single`){return{kind:`option`,optionIds:Oi((e==null?void 0:e.kind)===`option`?e.optionIds:[],t,n)}}function Ci(e,t){var n;let r=t.find(t=>t.questionTypeKey===e.questionTypeKey);return mi(e,(n=r==null?void 0:r.structure)==null?{elements:[],extra:[],hasAnswer:!0,systemQuestionType:``}:n,t)}function wi(e,t){switch(e.type){case`richText`:return null;case`choice`:return{elementKey:e.elementKey,selectedIndexes:[],type:`choice`};case`fill`:return t.type===`fill`?{answers:Ti(t.blanks),elementKey:e.elementKey,type:`fill`}:null;case`inlineFill`:return t.type===`inlineFill`?{answers:Ei(e,t.blanks),elementKey:e.elementKey,type:`inlineFill`}:null;case`judgement`:return{elementKey:e.elementKey,selectedValues:[],type:`judgement`}}}function Ti(e){return e.reduce((e,t)=>({...e,[t]:``}),{})}function Ei(e,t){return t.reduce((t,n)=>({...t,[n]:e.config.candidateMode===`none`?{kind:`text`,value:``}:{kind:`option`,optionIds:[]}}),{})}function Di(e,t,n){return e.items.find(e=>e.elementKey===t&&e.type===n)}function Oi(e,t,n){return n===`single`?e.includes(t)?[]:[t]:e.includes(t)?e.filter(e=>e!==t):[...e,t]}var ki={"en-US":{addBlank:`Add blank`,addElement:`Add element`,addOption:`Add option`,addSubquestion:`Add subquestion`,addTableColumn:`Add column`,answer:`Answer`,answerGroup:`Answer group`,answerSettings:`Answer settings`,blankAnswer:`Single answer`,blankLabel:`Blank`,cancel:`Cancel`,allowReuse:`Allow reuse`,candidateMode:`Candidate mode`,candidateOptions:`Candidates`,choiceRenderer:`Renderer`,choiceSelectionType:`Selection`,confirm:`Confirm`,createAnswerGroup:`Create group`,detachBlank:`Detach`,dragElement:`Drag`,dragSort:`Drag to reorder`,elementName:`Element name`,elementPalette:`Question type elements`,explanation:`Explanation`,falseLabel:`False`,inspector:`Inspector`,judgementMode:`Judgement mode`,multipleChoice:`Multiple choice`,noCandidates:`None`,option:`Option`,optionGroups:`Option groups`,optionLabelStyle:`Labels`,questionArrangement:`Type arrangement`,questionContent:`Question content`,questionElement:`Question element`,questionText:`Question text`,questionType:`Question type`,questionTypeName:`Question type name`,removeElement:`Remove`,removeTableColumn:`Remove column`,singleChoice:`Single choice`,selectBlank:`Select blank`,sharedAnswerPool:`Shared answer pool`,standardAnswer:`Standard answer`,standardRenderer:`Standard`,subquestion:`Subquestion`,subquestionContent:`Subquestion content`,subquestionStructure:`Subquestion structure`,tableColumn:`Column`,tableRenderer:`Table`,trueLabel:`True`,userAnswer:`Your answer`,wholeQuestion:`Whole question`,moveDown:`Move down`,moveUp:`Move up`,missingSubquestionTemplate:`Missing subquestion structure.`,previewEmpty:`No question content.`},"zh-CN":{addBlank:`添加空`,addElement:`添加元素`,addOption:`添加选项`,addSubquestion:`添加子题`,addTableColumn:`添加列`,answer:`答案`,answerGroup:`答案组`,answerSettings:`答案设置`,blankAnswer:`单独答案`,blankLabel:`空`,cancel:`取消`,allowReuse:`允许复用`,candidateMode:`候选方式`,candidateOptions:`候选项`,choiceRenderer:`呈现方式`,choiceSelectionType:`选择模式`,confirm:`确认`,createAnswerGroup:`新建答案组`,detachBlank:`拆出`,dragElement:`拖动`,dragSort:`拖动排序`,elementName:`元素名称`,elementPalette:`题型元素`,explanation:`解析`,falseLabel:`错误`,inspector:`结构设置`,judgementMode:`判断模式`,multipleChoice:`多选`,noCandidates:`不使用`,option:`选项`,optionGroups:`选项组`,optionLabelStyle:`选项标号`,questionArrangement:`题型编排`,questionContent:`题目内容`,questionElement:`题目元素`,questionText:`题干`,questionType:`题型`,questionTypeName:`题型名称`,removeElement:`删除`,removeTableColumn:`删除列`,singleChoice:`单选`,selectBlank:`选择空位`,sharedAnswerPool:`共享答案池`,standardAnswer:`标准答案`,standardRenderer:`标准`,subquestion:`子题`,subquestionContent:`子题内容`,subquestionStructure:`子题结构`,tableColumn:`列`,tableRenderer:`表格`,trueLabel:`正确`,userAnswer:`你的答案`,wholeQuestion:`整题`,moveDown:`下移`,moveUp:`上移`,missingSubquestionTemplate:`缺少子题结构。`,previewEmpty:`暂无题目内容。`}};function Ai(e=`zh-CN`){switch(e){case`en-US`:return ki[`en-US`];case`zh-CN`:return ki[`zh-CN`]}}function H(...e){return e.filter(Boolean).join(` `)}function ji(e,t,n){return e.map(e=>t.indexOf(e)+1).filter(e=>e>0).map(e=>`${n}${e}`).join(` `)}function Mi(e){return`answerPools`in e}function Ni(e){return`answerOptionId`in e}function Pi(e){return`answerOptionIds`in e}function Fi(e,t){var n,r;return(n=e==null||(r=e.find(e=>e.optionId===t))==null?void 0:r.content)==null?null:n}function Ii(e,t,n){var r,i;return(r=e==null||(i=e.find(e=>e.blankId===t))==null||(i=i.options.find(e=>e.optionId===n))==null?void 0:i.content)==null?null:r}function Li(e){return e.answer.reduce((t,n)=>{if(Mi(n))return Ri(t,{blankIds:n.blankIds,contents:n.answerPools});if(Ni(n)){let r=Ii(e.blankOptionGroups,n.blankId,n.answerOptionId);return Ri(t,{blankIds:[n.blankId],contents:r?[r]:[]})}if(Pi(n)){let r=n.answerOptionIds.map(t=>Fi(e.candidateOptions,t)).filter(e=>!!e);return Ri(t,{blankIds:n.blankIds,contents:r})}return t},[])}function Ri(e,t){let n=t.contents.filter(e=>e.contentText.trim()!==``);return n.length>0?[...e,{blankIds:t.blankIds,contents:n}]:e}var U={root:`_root_16zbu_1`,"element-list":`_element-list_16zbu_20`,children:`_children_16zbu_21`,"control-list":`_control-list_16zbu_22`,"fill-text":`_fill-text_16zbu_23`,element:`_element_16zbu_20`,child:`_child_16zbu_21`,"child-title":`_child-title_16zbu_42`,"field-label":`_field-label_16zbu_43`,"section-title":`_section-title_16zbu_44`,empty:`_empty_16zbu_54`,input:`_input_16zbu_66`,field:`_field_16zbu_43`};function zi({messages:e,numberPath:n=[],onChildResponseChange:r,renderChild:i,response:a,subquestionTemplates:o,value:s}){return s.children.length===0?(0,t.jsx)(`div`,{className:U.empty,children:e.previewEmpty}):(0,t.jsx)(`div`,{className:U.children,children:s.children.map((s,c)=>{var l;let u=[...n,c],d=o.find(e=>e.questionTypeKey===s.questionTypeKey),f=a.children.slice(c,c+1)[0];return(0,t.jsxs)(`section`,{className:U.child,children:[(0,t.jsxs)(`div`,{className:U[`child-title`],children:[e.subquestion,` `,Hr(u)]}),d&&f?i(s,f,d.structure,e=>r(c,e),u):(0,t.jsx)(`div`,{className:U.empty,children:e.missingSubquestionTemplate})]},(l=s.id)==null?c:l)})})}var W={"rich-content":`_rich-content_1c7q7_1`,element:`_element_1c7q7_57`,"option-list":`_option-list_1c7q7_61`,"candidate-list":`_candidate-list_1c7q7_62`,"judgement-list":`_judgement-list_1c7q7_63`,"option-item":`_option-item_1c7q7_71`,"candidate-item":`_candidate-item_1c7q7_72`,"judgement-item":`_judgement-item_1c7q7_73`,marker:`_marker_1c7q7_85`,"candidate-section":`_candidate-section_1c7q7_100`,"answer-panel":`_answer-panel_1c7q7_107`,"answer-title":`_answer-title_1c7q7_118`,"answer-list":`_answer-list_1c7q7_136`,"answer-row":`_answer-row_1c7q7_144`,"answer-marker":`_answer-marker_1c7q7_152`,"answer-content-list":`_answer-content-list_1c7q7_164`,"answer-value":`_answer-value_1c7q7_173`,"section-title":`_section-title_1c7q7_195`};function G({className:n,content:r}){let i=(0,e.serializeRichTextEditorHtml)(Ut(r),{plugins:[Mt]});return(0,t.jsx)(`div`,{className:n?`${W[`rich-content`]} ${n}`:W[`rich-content`],dangerouslySetInnerHTML:{__html:i}})}function K({groups:e,title:n}){let r=e.filter(e=>e.contents.length>0);return r.length===0?null:(0,t.jsxs)(`section`,{"aria-label":n,className:W[`answer-panel`],children:[(0,t.jsx)(`span`,{className:W[`answer-title`],children:n}),(0,t.jsx)(`ol`,{className:W[`answer-list`],children:r.map((e,n)=>(0,t.jsxs)(`li`,{className:W[`answer-row`],children:[e.marker?(0,t.jsx)(`span`,{className:W[`answer-marker`],children:e.marker}):null,(0,t.jsx)(`div`,{className:W[`answer-content-list`],children:e.contents.map((e,n)=>(0,t.jsx)(`div`,{className:W[`answer-value`],children:e},`answer-${n}`))})]},`group-${n}`))})]})}function Bi({disabled:e,item:n,messages:r,onChange:i,response:a,showAnswer:o}){let s=gi(a,n.elementKey,n.blanks),c=P(n.answer,n.blanks).map((e,i)=>({contents:e.answerPools.map((e,n)=>(0,t.jsx)(G,{content:e},`group-${i}-answer-${n}`)),marker:ji(e.blankIds,n.blanks,r.blankLabel)}));function l(e,t){i({...s,answers:{...s.answers,[e]:t}})}return(0,t.jsxs)(`div`,{className:U[`control-list`],children:[n.blanks.map((n,i)=>(0,t.jsxs)(`label`,{className:U.field,children:[(0,t.jsxs)(`span`,{className:U[`field-label`],children:[r.blankLabel,` `,i+1]}),(0,t.jsx)(`input`,{className:U.input,disabled:e,onChange:e=>l(n,e.target.value),value:Vi(s.answers,n)})]},n)),o?(0,t.jsx)(K,{groups:c,title:r.standardAnswer}):null]})}function Vi(e,t){var n,r;return(n=(r=Object.entries(e).find(([e])=>e===t))==null?void 0:r[1])==null?``:n}var q={"inline-input":`_inline-input_1as6q_1`,"inline-select":`_inline-select_1as6q_19`,"inline-blank-underline":`_inline-blank-underline_1as6q_43`,"inline-blank-content":`_inline-blank-content_1as6q_56`,"shared-candidate-section":`_shared-candidate-section_1as6q_66`,"shared-candidate-title":`_shared-candidate-title_1as6q_73`,"shared-candidate-list":`_shared-candidate-list_1as6q_80`,"shared-candidate-item":`_shared-candidate-item_1as6q_89`,"shared-candidate-content":`_shared-candidate-content_1as6q_104`,"per-blank-candidate-options":`_per-blank-candidate-options_1as6q_113`,"per-blank-candidate-group":`_per-blank-candidate-group_1as6q_120`,"per-blank-candidate-title":`_per-blank-candidate-title_1as6q_127`,"per-blank-candidate-list":`_per-blank-candidate-list_1as6q_146`,selected:`_selected_1as6q_167`};function Hi({answers:e,disabled:n,item:r,messages:i,onAnswerChange:a,structure:o}){return(0,t.jsx)(`div`,{className:W[`rich-content`],children:r.content.contentJson.map((t,s)=>Ui(t,{answers:e,blankLabel:i.blankLabel,disabled:n,item:r,key:`node-${s}`,onAnswerChange:a,structure:o}))})}function Ui(e,r){if(typeof e.text==`string`)return(0,t.jsx)(n.Fragment,{children:e.text},r.key);if(e.type===`blank`)return Wi(e,r);let i=qi(e.children,r);switch(e.type){case`heading`:return Ji(e,i,r.key);case`table`:return(0,t.jsx)(`table`,{children:i},r.key);case`table-row`:return(0,t.jsx)(`tr`,{children:i},r.key);case`table-cell`:return(0,t.jsx)(`td`,{children:i},r.key);default:return(0,t.jsx)(`p`,{children:i},r.key)}}function Wi(e,n){let r=Xi(e.blankId),i=n.item.blanks.indexOf(r),a=$i(Xi(e.label),n.blankLabel,i);if(n.structure.config.candidateMode===`none`){let e=Ki(n.answers,r);return(0,t.jsx)(`input`,{"aria-label":a,className:q[`inline-input`],disabled:n.disabled,onChange:e=>n.onAnswerChange(r,{kind:`text`,value:e.target.value}),value:(e==null?void 0:e.kind)===`text`?e.value:``},n.key)}if(n.structure.config.candidateMode===`sharedPool`)return Gi(r,a,n);let o=Ki(n.answers,r),s=Zi(n.item,r,n.structure.config.candidateMode,o);return(0,t.jsx)(`span`,{"aria-label":a,className:q[`inline-blank-underline`],children:s?(0,t.jsx)(G,{className:q[`inline-blank-content`],content:s.content}):a},n.key)}function Gi(e,n,r){var i,a;let o=Ki(r.answers,e),s=(i=((o==null?void 0:o.kind)===`option`?o.optionIds:[]).slice(0,1)[0])==null?``:i,c=Qi(r.answers,e);return(0,t.jsxs)(`select`,{"aria-label":n,className:q[`inline-select`],disabled:r.disabled,onChange:t=>r.onAnswerChange(e,{kind:`option`,optionIds:t.target.value?[t.target.value]:[]}),value:s,children:[(0,t.jsx)(`option`,{value:``,children:n}),((a=r.item.candidateOptions)==null?[]:a).map(e=>(0,t.jsx)(`option`,{disabled:!r.structure.config.allowCandidateReuse&&c.has(e.optionId),value:e.optionId,children:e.content.contentText},e.optionId))]},r.key)}function Ki(e,t){var n;return(n=Object.entries(e).find(([e])=>e===t))==null?void 0:n[1]}function qi(e,t){return(e==null?[]:e).map((e,n)=>Ui(e,{...t,key:`${t.key}-${n}`}))}function Ji(e,n,r){switch(e.level){case 1:return(0,t.jsx)(`h1`,{children:n},r);case 2:return(0,t.jsx)(`h2`,{children:n},r);case 3:return(0,t.jsx)(`h3`,{children:n},r);default:return(0,t.jsx)(`p`,{children:n},r)}}function Yi(e,t,n){var r,i;if(n===`sharedPool`){var a;return(a=e.candidateOptions)==null?[]:a}return(r=(i=e.blankOptionGroups)==null||(i=i.find(e=>e.blankId===t))==null?void 0:i.options)==null?[]:r}function Xi(e){return typeof e==`string`?e:``}function Zi(e,t,n,r){let i=(r==null?void 0:r.kind)===`option`?r.optionIds[0]:void 0;if(i)return Yi(e,t,n).find(e=>e.optionId===i)}function Qi(e,t){let n=new Set,r=Object.entries(e);for(let[e,i]of r)if(e!==t&&i.kind===`option`)for(let e of i.optionIds)n.add(e);return n}function $i(e,t,n){return e||`${t} ${n+1}`}function ea({disabled:e,element:n,item:r,messages:i,onChange:a,response:o,showAnswer:s}){let c=N(r,n,!0),l=Li(c),u=_i(o,n,c.blanks),d=l.map((e,n)=>({contents:e.contents.map((e,r)=>(0,t.jsx)(G,{content:e},`group-${n}-answer-${r}`)),marker:ji(e.blankIds,c.blanks,i.blankLabel)}));function f(e,t){a({...u,answers:{...u.answers,[e]:t}})}return(0,t.jsxs)(`div`,{className:U[`fill-text`],children:[(0,t.jsx)(Hi,{answers:u.answers,disabled:e,item:c,messages:i,onAnswerChange:f,structure:n}),ta(c,n.config.candidateMode,i.candidateOptions),na({disabled:e,item:c,onAnswerChange:f,responseItem:u}),s?(0,t.jsx)(K,{groups:d,title:i.standardAnswer}):null]})}function ta(e,n,r){var i;let a=(i=e.candidateOptions)==null?[]:i;return n!==`sharedPool`||a.length===0?null:(0,t.jsxs)(`div`,{className:q[`shared-candidate-section`],children:[(0,t.jsx)(`span`,{className:q[`shared-candidate-title`],children:r}),(0,t.jsx)(`ol`,{className:q[`shared-candidate-list`],children:a.map(e=>(0,t.jsx)(`li`,{className:q[`shared-candidate-item`],children:(0,t.jsx)(G,{className:q[`shared-candidate-content`],content:e.content})},e.optionId))})]})}function na({disabled:e,item:n,onAnswerChange:r,responseItem:i}){let a=n.blanks.reduce((e,t,r)=>{var i;let a=(i=n.blankOptionGroups)==null?void 0:i.find(e=>e.blankId===t);return a&&a.options.length>0?[...e,{group:a,marker:String(r+1)}]:e},[]);return a.length===0?null:(0,t.jsx)(`div`,{className:q[`per-blank-candidate-options`],children:a.map(({group:t,marker:n})=>ra({disabled:e,group:t,marker:n,onAnswerChange:r,responseItem:i}))})}function ra({disabled:e,group:n,marker:r,onAnswerChange:i,responseItem:a}){let o=a.answers[n.blankId];return(0,t.jsxs)(`section`,{"aria-label":r,className:q[`per-blank-candidate-group`],children:[(0,t.jsx)(`span`,{className:q[`per-blank-candidate-title`],children:r}),(0,t.jsx)(`div`,{className:q[`per-blank-candidate-list`],children:n.options.map(t=>ia({activeAnswer:o,blankId:n.blankId,disabled:e,onAnswerChange:i,option:t}))})]},n.blankId)}function ia({activeAnswer:e,blankId:n,disabled:r,onAnswerChange:i,option:a}){let o=(e==null?void 0:e.kind)===`option`&&e.optionIds.includes(a.optionId);return(0,t.jsx)(`button`,{"aria-pressed":o,className:o?q.selected:void 0,"data-selected":o?`true`:void 0,disabled:r,onClick:()=>i(n,Si(e,a.optionId,`single`)),type:`button`,children:(0,t.jsx)(G,{content:a.content})},a.optionId)}var J={"choice-button":`_choice-button_15oqy_1`,"table-row-button":`_table-row-button_15oqy_2`,"judgement-button":`_judgement-button_15oqy_26`,"choice-option":`_choice-option_15oqy_41`,"table-choice-row":`_table-choice-row_15oqy_46`,"judgement-list":`_judgement-list_15oqy_50`,"judgement-option":`_judgement-option_15oqy_54`,selected:`_selected_15oqy_58`,"option-marker":`_option-marker_15oqy_63`,"table-option-marker":`_table-option-marker_15oqy_64`};function aa({disabled:e,element:n,item:r,messages:i,onChange:a,response:o,showAnswer:s}){let c=vi(o,n.elementKey),l=Gt(n.config.judgeAnswerMode),u=[{contents:r.answer.filter(e=>e.trim()!==``),marker:``}];function d(e){a({...c,selectedValues:c.selectedValues.includes(e)?[]:[e]})}return(0,t.jsxs)(`div`,{className:W.element,children:[(0,t.jsx)(`ol`,{className:H(W[`judgement-list`],J[`judgement-list`]),children:l.map(n=>{let r=c.selectedValues.includes(n);return(0,t.jsx)(`li`,{className:H(W[`judgement-item`],J[`judgement-option`],r&&J.selected),"data-selected":r?`true`:void 0,children:(0,t.jsx)(`button`,{"aria-pressed":r,className:J[`judgement-button`],disabled:e,onClick:()=>d(n),type:`button`,children:n})},n)})}),s?(0,t.jsx)(K,{groups:u,title:i.standardAnswer}):null]})}var Y={"table-wrap":`_table-wrap_n67ah_1`,table:`_table_n67ah_1`,"table-option-column":`_table-option-column_n67ah_17`,"table-option-marker":`_table-option-marker_n67ah_45`};function oa({disabled:e,element:n,item:r,messages:i,onChange:a,response:o,showAnswer:s}){var c;let l=hi(o,n.elementKey);function u(e){a({...l,selectedIndexes:xi(l.selectedIndexes,e,n.config.selectionType)})}if(n.config.renderer===`table`){let a=Tn(r),o=r.answer.map(e=>{var r;return{contents:((r=a.data.slice(e,e+1)[0])==null?[]:r).map((n,r)=>(0,t.jsx)(G,{content:n},`row-${e}-cell-${r}`)),marker:M(n.config.optionLabelStyle,e)}});return(0,t.jsxs)(`div`,{className:W.element,children:[(0,t.jsx)(`div`,{className:Y[`table-wrap`],children:(0,t.jsxs)(`table`,{className:Y.table,children:[(0,t.jsxs)(`colgroup`,{children:[(0,t.jsx)(`col`,{className:Y[`table-option-column`]}),a.headers.map((e,n)=>(0,t.jsx)(`col`,{},`column-${n}`))]}),(0,t.jsx)(`thead`,{children:(0,t.jsxs)(`tr`,{children:[(0,t.jsx)(`th`,{children:i.option}),a.headers.map((e,n)=>(0,t.jsx)(`th`,{children:(0,t.jsx)(G,{content:e})},`header-${n}`))]})}),(0,t.jsx)(`tbody`,{children:a.data.map((r,i)=>{let a=M(n.config.optionLabelStyle,i),o=l.selectedIndexes.includes(i);return(0,t.jsxs)(`tr`,{className:J[`table-choice-row`],"data-selected":o?`true`:void 0,children:[(0,t.jsx)(`td`,{children:(0,t.jsx)(`button`,{className:J[`table-row-button`],disabled:e,"aria-pressed":o,onClick:()=>u(i),type:`button`,children:(0,t.jsx)(`span`,{className:H(W.marker,J[`table-option-marker`]),"data-selected":o?`true`:void 0,children:a})})}),r.map((n,r)=>(0,t.jsx)(`td`,{children:(0,t.jsx)(`button`,{className:J[`table-row-button`],disabled:e,"aria-pressed":o,onClick:()=>u(i),type:`button`,children:(0,t.jsx)(G,{content:n})})},`cell-${i}-${r}`))]},`row-${i}`)})})]})}),s?(0,t.jsx)(K,{groups:o,title:i.standardAnswer}):null]})}let d=(c=r.options)==null?[]:c,f=r.answer.map(e=>{let r=d.slice(e,e+1)[0];return{contents:r?[(0,t.jsx)(G,{content:r},`answer-${e}`)]:[],marker:M(n.config.optionLabelStyle,e)}});return(0,t.jsxs)(`div`,{className:W.element,children:[(0,t.jsx)(`ol`,{className:W[`option-list`],children:d.map((r,i)=>{let a=M(n.config.optionLabelStyle,i),o=l.selectedIndexes.includes(i);return(0,t.jsx)(`li`,{className:H(W[`option-item`],J[`choice-option`],o&&J.selected),"data-selected":o?`true`:void 0,children:(0,t.jsxs)(`button`,{className:J[`choice-button`],disabled:e,"aria-pressed":o,onClick:()=>u(i),type:`button`,children:[(0,t.jsx)(`span`,{className:H(W.marker,J[`option-marker`]),"data-selected":o?`true`:void 0,children:a}),(0,t.jsx)(G,{content:r})]})},`option-${i}`)})}),s?(0,t.jsx)(K,{groups:f,title:i.standardAnswer}):null]})}function sa({disabled:e,element:n,item:r,messages:i,onResponseItemChange:a,response:o,showAnswer:s}){if(n.type!==r.type)return null;switch(n.type){case`richText`:return(0,t.jsx)(G,{content:r.content});case`choice`:return(0,t.jsx)(oa,{disabled:e,element:n,item:r,messages:i,onChange:a,response:o,showAnswer:s});case`fill`:return(0,t.jsx)(Bi,{disabled:e,item:r,messages:i,onChange:a,response:o,showAnswer:s});case`inlineFill`:return(0,t.jsx)(ea,{disabled:e,element:n,item:r,messages:i,onChange:a,response:o,showAnswer:s});case`judgement`:return(0,t.jsx)(aa,{disabled:e,element:n,item:r,messages:i,onChange:a,response:o,showAnswer:s})}}function ca({locale:e=`zh-CN`,...n}){return(0,t.jsx)(la,{...n,messages:Ai(e),numberPath:[]})}function la({className:e,disabled:n=!1,messages:r,numberPath:i,onResponseChange:a,response:o,showAnswer:s=!1,showExtraAttributes:c=!1,structure:l,subquestionTemplates:u=[],value:d}){let f=ua({disabled:n,messages:r,numberPath:i,onResponseChange:a,response:o,showAnswer:s,showExtraAttributes:c,structure:l,subquestionTemplates:u,value:d});return(0,t.jsx)(`div`,{className:H(U.root,e),children:pa(l,d)?(0,t.jsx)(`div`,{className:U.empty,children:r.previewEmpty}):f})}function ua(e){return(0,t.jsxs)(t.Fragment,{children:[da(e),fa(e)]})}function da({disabled:e,messages:n,onResponseChange:r,response:i,showAnswer:a,showExtraAttributes:o,structure:s,value:c}){return k(s)?null:(0,t.jsxs)(`div`,{className:U[`element-list`],children:[s.elements.map(o=>{let l=j(c,o,s.hasAnswer);return(0,t.jsx)(`section`,{className:U.element,children:(0,t.jsx)(sa,{disabled:e,element:o,item:l,messages:n,onResponseItemChange:e=>r(yi(i,e)),response:i,showAnswer:a&&s.hasAnswer})},o.elementKey)}),o?s.extra.map(r=>{let a=Wt(c,r);return(0,t.jsxs)(`section`,{className:U.element,children:[(0,t.jsx)(`h3`,{className:U[`section-title`],children:r.name}),(0,t.jsx)(sa,{disabled:e,element:ma(r),item:ha(a),messages:n,onResponseItemChange:()=>void 0,response:i,showAnswer:!1})]},r.extraKey)}):null]})}function fa({disabled:e,messages:n,numberPath:r,onResponseChange:i,response:a,showAnswer:o,showExtraAttributes:s,subquestionTemplates:c=[],value:l}){return l.children.length===0?null:(0,t.jsx)(zi,{disabled:e,messages:n,numberPath:r,onChildResponseChange:(e,t)=>i(bi(a,e,t)),response:a,renderChild:(r,i,a,l,u)=>(0,t.jsx)(la,{disabled:e,messages:n,numberPath:u,onResponseChange:l,response:i,showAnswer:o,showExtraAttributes:s,structure:a,subquestionTemplates:c,value:r}),subquestionTemplates:c,value:l})}function pa(e,t){return k(e)&&t.children.length===0}function ma(e){return{config:{},elementKey:e.extraKey,name:e.name,type:`richText`}}function ha(e){return{content:e.content,elementKey:e.extraKey,type:`richText`}}var ga={"blank-list":`_blank-list_12ccp_1`,"blank-item":`_blank-item_12ccp_11`,"blank-field":`_blank-field_12ccp_17`};function _a({item:e,messages:n,showAnswer:r}){let i=P(e.answer,e.blanks).map((r,i)=>({contents:r.answerPools.map((e,n)=>(0,t.jsx)(G,{content:e},`group-${i}-answer-${n}`)),marker:ji(r.blankIds,e.blanks,n.blankLabel)}));return(0,t.jsxs)(`div`,{className:W.element,children:[(0,t.jsx)(`ol`,{className:ga[`blank-list`],children:e.blanks.map((e,r)=>(0,t.jsx)(`li`,{className:ga[`blank-item`],children:(0,t.jsxs)(`span`,{className:ga[`blank-field`],children:[n.blankLabel,` `,r+1]})},e))}),r?(0,t.jsx)(K,{groups:i,title:n.standardAnswer}):null]})}function va({element:e,item:n,messages:r,showAnswer:i}){let a=N(n,e,!0),o=Li(a).map((e,n)=>({contents:e.contents.map((e,r)=>(0,t.jsx)(G,{content:e},`group-${n}-answer-${r}`)),marker:ji(e.blankIds,a.blanks,r.blankLabel)}));return(0,t.jsxs)(`div`,{className:W.element,children:[(0,t.jsx)(G,{content:a.content}),ya(a,r.candidateOptions),i?(0,t.jsx)(K,{groups:o,title:r.standardAnswer}):null]})}function ya(e,n){var r,i;let a=(r=e.candidateOptions)==null?[]:r,o=(i=e.blankOptionGroups)==null?[]:i;return!a.length&&!o.length?null:(0,t.jsxs)(`div`,{className:W[`candidate-section`],children:[(0,t.jsx)(`span`,{className:W[`section-title`],children:n}),(0,t.jsxs)(`ol`,{className:W[`candidate-list`],children:[a.map(e=>(0,t.jsx)(`li`,{className:W[`candidate-item`],children:(0,t.jsx)(G,{content:e.content})},e.optionId)),o.reduce((e,n)=>[...e,...n.options.map(e=>(0,t.jsx)(`li`,{className:W[`candidate-item`],children:(0,t.jsx)(G,{content:e.content})},`${n.blankId}-${e.optionId}`))],[])]})]})}function ba({element:e,item:n,messages:r,showAnswer:i}){let a=Gt(e.config.judgeAnswerMode),o=[{contents:n.answer.filter(e=>e.trim()!==``),marker:``}];return(0,t.jsxs)(`div`,{className:W.element,children:[(0,t.jsx)(`ol`,{className:W[`judgement-list`],children:a.map(e=>(0,t.jsx)(`li`,{className:W[`judgement-item`],children:e},e))}),i?(0,t.jsx)(K,{groups:o,title:r.standardAnswer}):null]})}function xa({element:e,item:n,messages:r,showAnswer:i}){var a;if(e.config.renderer===`table`){let a=Tn(n),o=n.answer.map(n=>{var r;return{contents:((r=a.data.slice(n,n+1)[0])==null?[]:r).map((e,r)=>(0,t.jsx)(G,{content:e},`row-${n}-cell-${r}`)),marker:M(e.config.optionLabelStyle,n)}});return(0,t.jsxs)(`div`,{className:W.element,children:[(0,t.jsx)(`div`,{className:Y[`table-wrap`],children:(0,t.jsxs)(`table`,{className:Y.table,children:[(0,t.jsxs)(`colgroup`,{children:[(0,t.jsx)(`col`,{className:Y[`table-option-column`]}),a.headers.map((e,n)=>(0,t.jsx)(`col`,{},`column-${n}`))]}),(0,t.jsx)(`thead`,{children:(0,t.jsxs)(`tr`,{children:[(0,t.jsx)(`th`,{children:r.option}),a.headers.map((e,n)=>(0,t.jsx)(`th`,{children:(0,t.jsx)(G,{content:e})},`header-${n}`))]})}),(0,t.jsx)(`tbody`,{children:a.data.map((n,r)=>{let i=M(e.config.optionLabelStyle,r);return(0,t.jsxs)(`tr`,{children:[(0,t.jsx)(`td`,{children:(0,t.jsx)(`span`,{className:Y[`table-option-marker`],children:i})}),n.map((e,n)=>(0,t.jsx)(`td`,{children:(0,t.jsx)(G,{content:e})},`cell-${r}-${n}`))]},`row-${r}`)})})]})}),i?(0,t.jsx)(K,{groups:o,title:r.standardAnswer}):null]})}let o=(a=n.options)==null?[]:a,s=n.answer.map(n=>{let r=o.slice(n,n+1)[0];return{contents:r?[(0,t.jsx)(G,{content:r},`answer-${n}`)]:[],marker:M(e.config.optionLabelStyle,n)}});return(0,t.jsxs)(`div`,{className:W.element,children:[(0,t.jsx)(`ol`,{className:W[`option-list`],children:o.map((n,r)=>{let i=M(e.config.optionLabelStyle,r);return(0,t.jsxs)(`li`,{className:W[`option-item`],children:[(0,t.jsx)(`span`,{className:W.marker,children:i}),(0,t.jsx)(G,{content:n})]},`option-${r}`)})}),i?(0,t.jsx)(K,{groups:s,title:r.standardAnswer}):null]})}function Sa({element:e,item:n,messages:r,showAnswer:i}){if(e.type!==n.type)return null;switch(e.type){case`richText`:return(0,t.jsx)(G,{content:n.content});case`choice`:return(0,t.jsx)(xa,{element:e,item:n,messages:r,showAnswer:i});case`fill`:return(0,t.jsx)(_a,{item:n,messages:r,showAnswer:i});case`inlineFill`:return(0,t.jsx)(va,{element:e,item:n,messages:r,showAnswer:i});case`judgement`:return(0,t.jsx)(ba,{element:e,item:n,messages:r,showAnswer:i})}}var X={root:`_root_oqlnl_1`,empty:`_empty_oqlnl_19`,"element-list":`_element-list_oqlnl_31`,children:`_children_oqlnl_32`,element:`_element_oqlnl_31`,child:`_child_oqlnl_32`,"child-title":`_child-title_oqlnl_51`,"section-title":`_section-title_oqlnl_58`};function Ca({messages:e,numberPath:n=[],renderChild:r,subquestionTemplates:i,value:a}){return a.children.length===0?(0,t.jsx)(`div`,{className:X.empty,children:e.previewEmpty}):(0,t.jsx)(`div`,{className:X.children,children:a.children.map((a,o)=>{var s;let c=[...n,o],l=i.find(e=>e.questionTypeKey===a.questionTypeKey);return(0,t.jsxs)(`section`,{className:X.child,children:[(0,t.jsxs)(`div`,{className:X[`child-title`],children:[e.subquestion,` `,Hr(c)]}),l?r(a,l.structure,c):(0,t.jsx)(`div`,{className:X.empty,children:e.missingSubquestionTemplate})]},(s=a.id)==null?o:s)})})}function wa({locale:e=`zh-CN`,...n}){return(0,t.jsx)(Ta,{...n,messages:Ai(e),numberPath:[]})}function Ta({className:e,messages:n,numberPath:r,showAnswer:i=!1,showExtraAttributes:a=!1,structure:o,subquestionTemplates:s=[],value:c}){let l=(0,t.jsxs)(t.Fragment,{children:[k(o)?null:(0,t.jsxs)(`div`,{className:X[`element-list`],children:[o.elements.map(e=>{let r=j(c,e,o.hasAnswer);return(0,t.jsx)(`section`,{className:X.element,children:(0,t.jsx)(Sa,{element:e,item:r,messages:n,showAnswer:i&&o.hasAnswer})},e.elementKey)}),a?o.extra.map(e=>{let r=Wt(c,e);return(0,t.jsxs)(`section`,{className:X.element,children:[(0,t.jsx)(`h3`,{className:X[`section-title`],children:e.name}),(0,t.jsx)(Sa,{element:Da(e),item:Oa(r),messages:n,showAnswer:!1})]},e.extraKey)}):null]}),c.children.length===0?null:(0,t.jsx)(Ca,{messages:n,numberPath:r,renderChild:(e,r,o)=>(0,t.jsx)(Ta,{numberPath:o,messages:n,showAnswer:i,showExtraAttributes:a,structure:r,subquestionTemplates:s,value:e}),subquestionTemplates:s,value:c})]});return(0,t.jsx)(`div`,{className:H(X.root,e),children:Ea(o,c)?(0,t.jsx)(`div`,{className:X.empty,children:n.previewEmpty}):l})}function Ea(e,t){return k(e)&&t.children.length===0}function Da(e){return{config:{},elementKey:e.extraKey,name:e.name,type:`richText`}}function Oa(e){return{content:e.content,elementKey:e.extraKey,type:`richText`}}var ka={root:`_root_17bqr_1`,toolbar:`_toolbar_17bqr_26`,"toolbar-title":`_toolbar-title_17bqr_36`,content:`_content_17bqr_41`,children:`_children_17bqr_42`,"child-question":`_child-question_17bqr_48`,element:`_element_17bqr_49`,"element-title":`_element-title_17bqr_58`,muted:`_muted_17bqr_65`,"rich-text":`_rich-text_17bqr_69`,"option-list":`_option-list_17bqr_74`,"answer-list":`_answer-list_17bqr_74`,"blank-list":`_blank-list_17bqr_74`,"inline-fill":`_inline-fill_17bqr_74`,"option-list-actions":`_option-list-actions_17bqr_81`,"option-row":`_option-row_17bqr_86`,"option-editor-row":`_option-editor-row_17bqr_87`,"blank-editor-row":`_blank-editor-row_17bqr_88`,"blank-answer-row":`_blank-answer-row_17bqr_89`,"option-label-badge":`_option-label-badge_17bqr_106`,"blank-label":`_blank-label_17bqr_127`,input:`_input_17bqr_132`,textarea:`_textarea_17bqr_133`,button:`_button_17bqr_159`,"danger-button":`_danger-button_17bqr_182`,"answer-pill":`_answer-pill_17bqr_191`},Z={"element-list":`_element-list_1nw5r_1`,"element-card":`_element-card_1nw5r_8`,active:`_active_1nw5r_27`,"extra-title":`_extra-title_1nw5r_33`,"element-main":`_element-main_1nw5r_43`,"element-index":`_element-index_1nw5r_50`,"element-copy":`_element-copy_1nw5r_64`,"element-name":`_element-name_1nw5r_70`,"element-type":`_element-type_1nw5r_77`,"element-actions":`_element-actions_1nw5r_83`,button:`_button_1nw5r_90`,danger:`_danger_1nw5r_111`,empty:`_empty_1nw5r_120`},Q={shell:`_shell_vhj2r_1`,grid:`_grid_vhj2r_7`,panel:`_panel_vhj2r_18`,"panel-title-row":`_panel-title-row_vhj2r_27`,"panel-title":`_panel-title_vhj2r_27`,"panel-meta":`_panel-meta_vhj2r_44`,palette:`_palette_vhj2r_50`,"palette-section":`_palette-section_vhj2r_56`,"palette-section-title":`_palette-section-title_vhj2r_62`,"palette-button":`_palette-button_vhj2r_70`},Aa={"en-US":{addElement:`Add element`,addExtra:`Add extra attribute`,allowCandidateReuse:`Allow candidate reuse`,blankGroupDescription:`Answer blanks outside the stem.`,blankGroupLabel:`Blank group`,canPrint:`Printable`,candidateMode:`Candidate mode`,canvas:`Structure arrangement`,confirmDelete:`Confirm`,deleteElement:`Delete`,elementCount:e=>`${e} elements`,elementName:`Element name`,elementEnName:`English name`,elementSettings:`Element settings`,extraDescriptions:new Map([[`commonMistake`,`Common traps and likely score loss points.`],[`extensionExplanation`,`Knowledge extension, background, or method summary.`],[`keyInformation`,`Key conditions, answer points, and core conclusions.`],[`sampleAnswer`,`Sample response, reference answer, or excellent example.`],[`scoringRule`,`Rubric, mark scheme, scoring points, or deduction rules.`],[`solvingHint`,`Layered hints or guiding questions.`],[`solvingProcess`,`Steps, derivation, proof, or experiment process.`],[`solvingStrategy`,`Ideas, methods, entry points, and exam strategy.`]]),extraLabels:new Map([[`commonMistake`,`Common mistake reminder`],[`extensionExplanation`,`Extension explanation`],[`keyInformation`,`Key information`],[`sampleAnswer`,`Sample answer`],[`scoringRule`,`Scoring rule`],[`solvingHint`,`Solving hint`],[`solvingProcess`,`Solving process`],[`solvingStrategy`,`Solving strategy`]]),extraSettings:`Extra attribute settings`,extraTitle:`Extra attributes`,fillTextDescription:`Inline blanks inside rich text.`,fillTextLabel:`Inline fill`,globalSettings:`Structure settings`,hasAnswer:`Has answer`,judgementGroupDescription:`True/false style answer group.`,judgementGroupLabel:`Judgement`,judgeAnswerMode:`Judgement mode`,moveDown:`Move down`,moveUp:`Move up`,noElement:`Select an element to edit settings.`,optionGroupDescription:`Single or multiple choice answers.`,optionGroupLabel:`Choice`,optionLabelStyle:`Option labels`,optionValueLabels:new Map([[`checkCross`,`Check / cross`],[`correctWrong`,`Correct / wrong`],[`lowerAlpha`,`a/b/c/d`],[`multiple`,`Multiple choice`],[`none`,`None`],[`number`,`1/2/3/4`],[`perBlankOptions`,`Candidate groups`],[`rightWrong`,`Right / wrong`],[`sharedPool`,`Candidates`],[`single`,`Single choice`],[`standard`,`Standard`],[`table`,`Table`],[`tf`,`T/F`],[`upperAlpha`,`A/B/C/D`],[`validInvalid`,`Valid / invalid`],[`yesNo`,`Yes / no`]]),palette:`Structure elements`,description:`Remark`,renderer:`Renderer`,richTextDescription:`Stem, material, or explanation text.`,richTextLabel:`Text`,selectionType:`Selection`,structureEnName:`Structure English name`,structureName:`Structure name`},"zh-CN":{addElement:`添加元素`,addExtra:`添加附加属性`,allowCandidateReuse:`允许候选项复用`,blankGroupDescription:`题干外的作答空位。`,blankGroupLabel:`填空`,canPrint:`可打印`,candidateMode:`候选方式`,canvas:`结构编排`,confirmDelete:`确认`,deleteElement:`删除`,elementCount:e=>`${e} 个元素`,elementName:`元素名称`,elementEnName:`英文名称`,elementSettings:`元素设置`,extraDescriptions:new Map([[`commonMistake`,`易错点、陷阱、常见失分点`],[`extensionExplanation`,`知识延伸、背景补充、方法总结`],[`keyInformation`,`关键条件、答题要点、核心结论`],[`sampleAnswer`,`范文、参考作答、优秀样例`],[`scoringRule`,`Rubric、Mark Scheme、采分点、扣分规则`],[`solvingHint`,`分层提示、引导问题`],[`solvingProcess`,`步骤、推导、证明、实验过程都归这里`],[`solvingStrategy`,`思路、方法、切入点、应试策略`]]),extraLabels:new Map([[`commonMistake`,`易错提醒`],[`extensionExplanation`,`拓展讲解`],[`keyInformation`,`关键信息`],[`sampleAnswer`,`示例作答`],[`scoringRule`,`评分规则`],[`solvingHint`,`解题提示`],[`solvingProcess`,`解题过程`],[`solvingStrategy`,`解题策略`]]),extraSettings:`附加属性设置`,extraTitle:`附加属性`,fillTextDescription:`题干文本中的内嵌空位。`,fillTextLabel:`题干内填空`,globalSettings:`结构设置`,hasAnswer:`包含答案`,judgementGroupDescription:`正误、是否等判断作答。`,judgementGroupLabel:`判断`,judgeAnswerMode:`判断模式`,moveDown:`下移`,moveUp:`上移`,noElement:`请选择一个元素编辑设置。`,optionGroupDescription:`单选或多选作答选项。`,optionGroupLabel:`选择`,optionLabelStyle:`选项标号`,optionValueLabels:new Map([[`checkCross`,`勾叉`],[`correctWrong`,`正误`],[`lowerAlpha`,`a/b/c/d`],[`multiple`,`多选`],[`none`,`不使用`],[`number`,`1/2/3/4`],[`perBlankOptions`,`候选组`],[`rightWrong`,`对错`],[`sharedPool`,`候选项`],[`single`,`单选`],[`standard`,`标准选项`],[`table`,`表格选项`],[`tf`,`T/F`],[`upperAlpha`,`A/B/C/D`],[`validInvalid`,`成立/不成立`],[`yesNo`,`是否`]]),palette:`结构元素`,description:`备注`,renderer:`呈现方式`,richTextDescription:`题干、材料或解析文本。`,richTextLabel:`文本`,selectionType:`选择模式`,structureEnName:`结构英文名称`,structureName:`结构名称`}};function ja(e,t){var n;return(n=e.extraDescriptions.get(t))==null?t:n}function Ma(e,t){var n;return(n=e.extraLabels.get(t))==null?t:n}function Na(e){switch(e){case`en-US`:return Aa[`en-US`];case`zh-CN`:return Aa[`zh-CN`]}}function Pa(e,t){switch(t){case`fill`:return e.blankGroupDescription;case`inlineFill`:return e.fillTextDescription;case`judgement`:return e.judgementGroupDescription;case`choice`:return e.optionGroupDescription;case`richText`:return e.richTextDescription}}function Fa(e,t){switch(t){case`fill`:return e.blankGroupLabel;case`inlineFill`:return e.fillTextLabel;case`judgement`:return e.judgementGroupLabel;case`choice`:return e.optionGroupLabel;case`richText`:return e.richTextLabel}}function Ia(e,t){var n;return(n=e.optionValueLabels.get(t))==null?t:n}function La({elements:e,extra:r,labels:i,onDeleteElement:a,onDeleteExtra:o,onMoveElement:s,onSelectElement:c,selectedElementClientId:l}){let[u,d]=(0,n.useState)(null);return(0,t.jsxs)(`section`,{className:Q.panel,children:[(0,t.jsxs)(`div`,{className:Q[`panel-title-row`],children:[(0,t.jsx)(`h2`,{className:Q[`panel-title`],children:i.canvas}),(0,t.jsx)(`span`,{className:Q[`panel-meta`],children:i.elementCount(e.length+r.length)})]}),e.length===0&&r.length===0?(0,t.jsx)(`div`,{className:Z.empty,children:i.noElement}):(0,t.jsxs)(`div`,{className:Z[`element-list`],children:[e.map((n,r)=>{let o=n.clientId===l,f=Fa(i,n.type);return(0,t.jsxs)(`div`,{className:`${Z[`element-card`]} ${o?Z.active:``}`,onClick:()=>c(n.clientId),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&c(n.clientId)},role:`button`,tabIndex:0,children:[(0,t.jsxs)(`span`,{className:Z[`element-main`],children:[(0,t.jsx)(`span`,{className:Z[`element-index`],children:r+1}),(0,t.jsxs)(`span`,{className:Z[`element-copy`],children:[(0,t.jsx)(`span`,{className:Z[`element-name`],children:n.name||f}),(0,t.jsx)(`span`,{className:Z[`element-type`],children:f})]})]}),(0,t.jsxs)(`span`,{className:Z[`element-actions`],onClick:e=>e.stopPropagation(),children:[(0,t.jsx)(`button`,{className:Z.button,disabled:r===0,onClick:()=>s(n.clientId,-1),type:`button`,children:i.moveUp}),(0,t.jsx)(`button`,{className:Z.button,disabled:r===e.length-1,onClick:()=>s(n.clientId,1),type:`button`,children:i.moveDown}),u===n.clientId?(0,t.jsx)(`button`,{className:`${Z.button} ${Z.danger}`,onClick:()=>{a(n.clientId),d(null)},type:`button`,children:i.confirmDelete}):(0,t.jsx)(`button`,{className:`${Z.button} ${Z.danger}`,onClick:()=>d(n.clientId),type:`button`,children:i.deleteElement})]})]},n.clientId)}),r.length?(0,t.jsx)(`div`,{className:Z[`extra-title`],children:i.extraTitle}):null,r.map((n,r)=>{let a=n.clientId===l,s=Ma(i,n.type);return(0,t.jsxs)(`div`,{className:`${Z[`element-card`]} ${a?Z.active:``}`,onClick:()=>c(n.clientId),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&c(n.clientId)},role:`button`,tabIndex:0,children:[(0,t.jsxs)(`span`,{className:Z[`element-main`],children:[(0,t.jsx)(`span`,{className:Z[`element-index`],children:e.length+r+1}),(0,t.jsxs)(`span`,{className:Z[`element-copy`],children:[(0,t.jsx)(`span`,{className:Z[`element-name`],children:n.name||s}),(0,t.jsx)(`span`,{className:Z[`element-type`],children:s})]})]}),(0,t.jsx)(`span`,{className:Z[`element-actions`],onClick:e=>e.stopPropagation(),children:u===n.clientId?(0,t.jsx)(`button`,{className:`${Z.button} ${Z.danger}`,onClick:()=>{o(n.clientId),d(null)},type:`button`,children:i.confirmDelete}):(0,t.jsx)(`button`,{className:`${Z.button} ${Z.danger}`,onClick:()=>d(n.clientId),type:`button`,children:i.deleteElement})})]},n.clientId)})]})]})}function Ra({addedExtraTypes:e,labels:n,onAddElement:r,onAddExtra:i}){let a=new Set(e);return(0,t.jsxs)(`aside`,{className:Q.panel,children:[(0,t.jsx)(`div`,{className:Q[`panel-title-row`],children:(0,t.jsx)(`h2`,{className:Q[`panel-title`],children:n.palette})}),(0,t.jsx)(`div`,{className:Q.palette,children:ut.map(e=>(0,t.jsxs)(`button`,{"aria-label":`${n.addElement}: ${Fa(n,e)}`,className:Q[`palette-button`],onClick:()=>r(e),type:`button`,children:[(0,t.jsx)(`strong`,{children:Fa(n,e)}),(0,t.jsx)(`small`,{children:Pa(n,e)})]},e))}),(0,t.jsxs)(`div`,{className:Q[`palette-section`],children:[(0,t.jsx)(`div`,{className:Q[`palette-section-title`],children:n.extraTitle}),(0,t.jsx)(`div`,{className:Q.palette,children:dt.map(e=>{let r=a.has(e);return(0,t.jsxs)(`button`,{"aria-label":`${n.addExtra}: ${Ma(n,e)}`,className:Q[`palette-button`],disabled:r,onClick:()=>i(e),type:`button`,children:[(0,t.jsx)(`strong`,{children:Ma(n,e)}),(0,t.jsx)(`small`,{children:ja(n,e)})]},e)})})]})]})}var $={"settings-stack":`_settings-stack_tgswd_1`,"form-stack":`_form-stack_tgswd_8`,"form-row":`_form-row_tgswd_15`,checkbox:`_checkbox_tgswd_22`,input:`_input_tgswd_26`,select:`_select_tgswd_27`,textarea:`_textarea_tgswd_28`,empty:`_empty_tgswd_61`},za=[`none`,`sharedPool`,`perBlankOptions`],Ba=[`upperAlpha`,`lowerAlpha`,`number`],Va=[`standard`,`table`],Ha=[`single`,`multiple`],Ua=[`correctWrong`,`yesNo`,`validInvalid`,`tf`,`rightWrong`,`checkCross`];function Wa({globalConfig:e,labels:n,onElementChange:r,onExtraChange:i,onGlobalConfigChange:a,selectedExtra:o,selectedElement:s}){var c;let l=Ga({labels:n,onElementChange:r,onExtraChange:i,selectedElement:s,selectedExtra:o});return(0,t.jsxs)(`aside`,{className:$[`settings-stack`],children:[(0,t.jsxs)(`section`,{className:Q.panel,children:[(0,t.jsx)(`div`,{className:Q[`panel-title-row`],children:(0,t.jsx)(`h2`,{className:Q[`panel-title`],children:n.globalSettings})}),(0,t.jsxs)(`div`,{className:$[`form-stack`],children:[(0,t.jsxs)(`label`,{className:$[`form-row`],children:[(0,t.jsx)(`span`,{children:n.structureName}),(0,t.jsx)(`input`,{className:$.input,onChange:e=>a({name:e.target.value}),value:e.name})]}),(0,t.jsxs)(`label`,{className:$[`form-row`],children:[(0,t.jsx)(`span`,{children:n.structureEnName}),(0,t.jsx)(`input`,{className:$.input,onChange:e=>a({enName:e.target.value}),value:e.enName})]}),(0,t.jsxs)(`label`,{className:$.checkbox,children:[(0,t.jsx)(`input`,{checked:e.canPrint,onChange:e=>a({canPrint:e.target.checked}),type:`checkbox`}),(0,t.jsx)(`span`,{children:n.canPrint})]}),(0,t.jsxs)(`label`,{className:$.checkbox,children:[(0,t.jsx)(`input`,{checked:e.hasAnswer,onChange:e=>a({hasAnswer:e.target.checked}),type:`checkbox`}),(0,t.jsx)(`span`,{children:n.hasAnswer})]}),(0,t.jsxs)(`label`,{className:$[`form-row`],children:[(0,t.jsx)(`span`,{children:n.description}),(0,t.jsx)(`textarea`,{className:$.textarea,onChange:e=>a({description:e.target.value}),value:(c=e.description)==null?``:c})]})]})]}),(0,t.jsxs)(`section`,{className:Q.panel,children:[(0,t.jsx)(`div`,{className:Q[`panel-title-row`],children:(0,t.jsx)(`h2`,{className:Q[`panel-title`],children:o?n.extraSettings:n.elementSettings})}),l]})]})}function Ga({labels:e,onElementChange:n,onExtraChange:r,selectedElement:i,selectedExtra:a}){return i?(0,t.jsxs)(`div`,{className:$[`form-stack`],children:[(0,t.jsxs)(`label`,{className:$[`form-row`],children:[(0,t.jsx)(`span`,{children:e.elementName}),(0,t.jsx)(`input`,{className:$.input,onChange:e=>n({...i,name:e.target.value}),value:i.name})]}),(0,t.jsxs)(`label`,{className:$[`form-row`],children:[(0,t.jsx)(`span`,{children:e.elementEnName}),(0,t.jsx)(`input`,{className:$.input,onChange:e=>n({...i,enName:e.target.value}),value:i.enName})]}),Ka(i,e,n)]}):a?(0,t.jsxs)(`div`,{className:$[`form-stack`],children:[(0,t.jsxs)(`label`,{className:$[`form-row`],children:[(0,t.jsx)(`span`,{children:e.elementName}),(0,t.jsx)(`input`,{className:$.input,onChange:e=>r({...a,name:e.target.value}),value:a.name})]}),(0,t.jsxs)(`label`,{className:$[`form-row`],children:[(0,t.jsx)(`span`,{children:e.elementEnName}),(0,t.jsx)(`input`,{className:$.input,onChange:e=>r({...a,enName:e.target.value}),value:a.enName})]})]}):(0,t.jsx)(`div`,{className:$.empty,children:e.noElement})}function Ka(e,n,r){switch(e.type){case`fill`:return null;case`inlineFill`:return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(`label`,{className:$[`form-row`],children:[(0,t.jsx)(`span`,{children:n.candidateMode}),(0,t.jsx)(`select`,{className:$.select,onChange:t=>r({...e,config:{...e.config,candidateMode:t.target.value}}),value:e.config.candidateMode,children:za.map(e=>(0,t.jsx)(`option`,{value:e,children:Ia(n,e)},e))})]}),(0,t.jsxs)(`label`,{className:$.checkbox,children:[(0,t.jsx)(`input`,{checked:e.config.allowCandidateReuse,onChange:t=>r({...e,config:{...e.config,allowCandidateReuse:t.target.checked}}),type:`checkbox`}),(0,t.jsx)(`span`,{children:n.allowCandidateReuse})]})]});case`judgement`:return(0,t.jsxs)(`label`,{className:$[`form-row`],children:[(0,t.jsx)(`span`,{children:n.judgeAnswerMode}),(0,t.jsx)(`select`,{className:$.select,onChange:t=>r({...e,config:{judgeAnswerMode:t.target.value}}),value:e.config.judgeAnswerMode,children:Ua.map(e=>(0,t.jsx)(`option`,{value:e,children:Ia(n,e)},e))})]});case`choice`:return qa(e,n,r);case`richText`:return null}}function qa(e,n,r){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(`label`,{className:$[`form-row`],children:[(0,t.jsx)(`span`,{children:n.selectionType}),(0,t.jsx)(`select`,{className:$.select,onChange:t=>r({...e,config:{...e.config,selectionType:t.target.value}}),value:e.config.selectionType,children:Ha.map(e=>(0,t.jsx)(`option`,{value:e,children:Ia(n,e)},e))})]}),(0,t.jsxs)(`label`,{className:$[`form-row`],children:[(0,t.jsx)(`span`,{children:n.optionLabelStyle}),(0,t.jsx)(`select`,{className:$.select,onChange:t=>r({...e,config:{...e.config,optionLabelStyle:t.target.value}}),value:e.config.optionLabelStyle,children:Ba.map(e=>(0,t.jsx)(`option`,{value:e,children:Ia(n,e)},e))})]}),(0,t.jsxs)(`label`,{className:$[`form-row`],children:[(0,t.jsx)(`span`,{children:n.renderer}),(0,t.jsx)(`select`,{className:$.select,onChange:t=>r({...e,config:{...e.config,renderer:t.target.value}}),value:e.config.renderer,children:Va.map(e=>(0,t.jsx)(`option`,{value:e,children:Ia(n,e)},e))})]})]})}function Ja({locale:e=`zh-CN`,onChange:r,value:i}){var a,o,s,c;let l=Na(e),[u,d]=(0,n.useState)((a=(o=i.elements[0])==null?void 0:o.clientId)==null?null:a),{selectedElement:f,selectedExtra:p}=Ya(i,u);function m(e){let t=vt(e,i.elements);r({...i,elements:[...i.elements,t]}),d(t.clientId)}function h(e){if(i.extra.some(t=>t.type===e))return;let t=_t(e,i.extra);r({...i,extra:[...i.extra,t]}),d(t.clientId)}function g(e){let t=bt(i,e);r(t),d(Xa(t))}function _(e){let t=yt(i,e);r(t),d(Xa(t))}function v(e){r(Ct(i,e.clientId,e))}function y(e){r(St(i,e.clientId,e))}function b(e){r(wt(i,e))}return(0,t.jsx)(`section`,{className:ka.root,children:(0,t.jsx)(`div`,{className:Q.shell,children:(0,t.jsxs)(`div`,{className:Q.grid,children:[(0,t.jsx)(Ra,{addedExtraTypes:i.extra.map(e=>e.type),labels:l,onAddElement:m,onAddExtra:h}),(0,t.jsx)(La,{elements:i.elements,extra:i.extra,labels:l,onDeleteElement:g,onDeleteExtra:_,onMoveElement:(e,t)=>r(xt(i,e,t)),onSelectElement:d,selectedElementClientId:(s=(c=f==null?void 0:f.clientId)==null?p==null?void 0:p.clientId:c)==null?null:s}),(0,t.jsx)(Wa,{globalConfig:i.globalConfig,labels:l,onElementChange:v,onExtraChange:y,onGlobalConfigChange:b,selectedExtra:p,selectedElement:f})]})})})}function Ya(e,t){var n,r,i,a;let o=(n=e.elements.find(e=>e.clientId===t))==null?null:n,s=(r=e.extra.find(e=>e.clientId===t))==null?null:r;return o||s?{selectedElement:o,selectedExtra:s}:{selectedElement:(i=e.elements[0])==null?null:i,selectedExtra:e.elements[0]||(a=e.extra[0])==null?null:a}}function Xa(e){var t,n,r,i;return(t=(n=(r=e.elements[0])==null?void 0:r.clientId)==null?(i=e.extra[0])==null?void 0:i.clientId:n)==null?null:t}function Za(...e){return e.reduce((e,t)=>[...e,...Qa(t)],[]).join(` `)}function Qa(e){return e?$a(e)?e.reduce((e,t)=>[...e,...Qa(t)],[]):[e]:[]}function $a(e){return Array.isArray(e)}exports.QuestionContentEditor=$r,exports.QuestionPlayer=ca,exports.QuestionPreview=wa,exports.QuestionStructureEditor=Ja,exports.addBlankToGroup=cn,exports.assignBlankToAnswerGroup=dn,exports.cn=Za,exports.createBlankAnswerGroupWithBlank=fn,exports.createEmptyQuestionContentDraft=Vt,exports.createEmptyQuestionData=Re,exports.createEmptyQuestionPlayerResponse=mi,exports.createEmptyQuestionResponse=Be,exports.createEmptyQuestionStructureDraft=gt,exports.createQuestionContentDraftFromSerialized=Jt,exports.createQuestionContentStructureFromDraft=ni,exports.createQuestionPreviewDraft=ri,exports.createQuestionStructureElement=vt,exports.createQuestionStructureExtra=_t,exports.createRichContentValue=A,exports.createRichContentValueFromDocument=Ht,exports.createRichTextContent=o,exports.deleteBlankFromGroup=ln,exports.deleteQuestionStructureElement=bt,exports.deleteQuestionStructureExtra=yt,exports.detachBlankFromAnswerGroup=pn,exports.getQuestionContentExtraItem=Wt,exports.getQuestionContentItem=j,exports.getQuestionContentJudgementOptions=Gt,exports.getQuestionContentOptionMarker=M,exports.getQuestionStructureDraftChangeKind=ai,exports.getQuestionStructureElementDefaultEnName=D,exports.getQuestionStructureElementDefaultName=E,exports.getQuestionStructureExtraDefaultEnName=Et,exports.getQuestionStructureExtraDefaultName=Tt,exports.getRichContentDocument=Ut,exports.getSharedBlankAnswerGroups=un,exports.isCompositeQuestionContentStructure=k,exports.isCompositeQuestionType=He,exports.isQuestionContentDraftEmpty=Kt,exports.moveQuestionStructureElement=xt,exports.normalizeFillTextCandidateState=N,exports.normalizeQuestionData=ze,exports.normalizeQuestionResponse=Ve,exports.normalizeRichTextContent=s,exports.questionStructureElementTypes=ut,exports.questionStructureExtraKeys=dt,exports.serializeQuestionContentDraft=qt,exports.serializeQuestionStructureDraft=ii,exports.updateQuestionContentExtraItem=Xt,exports.updateQuestionContentItem=Yt,exports.updateQuestionStructureElement=Ct,exports.updateQuestionStructureExtra=St,exports.updateQuestionStructureGlobalConfig=wt,exports.validateQuestionDataElementAlignment=Ge;
|