@pie-element/math-inline 11.0.0-beta.1 → 11.0.0-next.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configure/package.json +7 -7
- package/controller/package.json +3 -3
- package/module/configure.js +1 -0
- package/module/controller.js +3857 -0
- package/module/demo.js +66 -0
- package/module/element.js +1 -0
- package/module/index.html +21 -0
- package/module/manifest.json +18 -0
- package/module/print-demo.js +104 -0
- package/module/print.html +18 -0
- package/module/print.js +1 -0
- package/package.json +15 -11
package/configure/package.json
CHANGED
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
"@mui/material": "^7.3.4",
|
|
14
14
|
"@pie-framework/mathquill": "^1.1.3",
|
|
15
15
|
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
16
|
-
"@pie-lib/config-ui": "12.1.
|
|
17
|
-
"@pie-lib/editable-html-tip-tap": "1.1.
|
|
18
|
-
"@pie-lib/math-rendering": "4.1.
|
|
19
|
-
"@pie-lib/math-toolbar": "2.1.
|
|
20
|
-
"@pie-lib/render-ui": "5.1.
|
|
21
|
-
"@pie-lib/test-utils": "1.1.
|
|
16
|
+
"@pie-lib/config-ui": "12.1.1-next.0",
|
|
17
|
+
"@pie-lib/editable-html-tip-tap": "1.1.1-next.0",
|
|
18
|
+
"@pie-lib/math-rendering": "4.1.1-next.0",
|
|
19
|
+
"@pie-lib/math-toolbar": "2.1.1-next.0",
|
|
20
|
+
"@pie-lib/render-ui": "5.1.1-next.0",
|
|
21
|
+
"@pie-lib/test-utils": "1.1.1-next.0",
|
|
22
22
|
"classnames": "^2.2.5",
|
|
23
|
-
"debug": "^
|
|
23
|
+
"debug": "^4.1.1",
|
|
24
24
|
"prop-types": "^15.6.2",
|
|
25
25
|
"react": "18.2.0",
|
|
26
26
|
"react-dom": "18.2.0"
|
package/controller/package.json
CHANGED
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@pie-framework/math-validation": "^1.4.2",
|
|
13
|
-
"@pie-lib/feedback": "1.1.
|
|
14
|
-
"@pie-lib/translator": "3.1.
|
|
15
|
-
"debug": "^
|
|
13
|
+
"@pie-lib/feedback": "1.1.1-next.0",
|
|
14
|
+
"@pie-lib/translator": "3.1.1-next.0",
|
|
15
|
+
"debug": "^4.1.1",
|
|
16
16
|
"lodash": "^4.17.15"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_dll_react_dom as e,_dll_react as t,_dll_prop_types as n,_dll_mui__material as o,_dll_mui__material_styles as a,_dll_pie_lib__render_ui as i,_dll_classnames as s,_dll_lodash as l,_dll_mui__icons_material as r,_dll_debug as p}from"../../../@pie-lib/shared-module@^3.0.5/module/index.js";import{_dll_pie_lib__config_ui as d}from"../../../@pie-lib/config-module@^3.0.0/module/index.js";import{_dll_pie_lib__editable_html_tip_tap as c}from"../../../@pie-lib/editable-html-module@^6.0.5/module/index.js";import{_dll_pie_lib__math_toolbar as u,_dll_pie_framework__mathquill as h}from"../../../@pie-lib/math-edit-module@^3.0.5/module/index.js";var g,m=e;g=m.createRoot,m.hydrateRoot;const b=t,_=n,{Card:y}=o,{CardContent:f}=o,{Button:C}=o,{FormControlLabel:E}=o,{Typography:x}=o,{InputLabel:v}=o,{Checkbox:w}=o,{Select:S}=o,{MenuItem:I}=o,{styled:A}=a,{color:k}=i,{InputContainer:T}=d,{MathToolbar:R}=u,D=A(y)(({theme:e})=>({marginBottom:e.spacing(2.5),width:"100%",minWidth:"548px",border:`1px solid ${e.palette.grey[700]}`,display:"flex",flexDirection:"column",justifyContent:"space-between"})),M=A(f)(({theme:e})=>({paddingBottom:`${e.spacing(2)}px !important`})),O=A(x)({fontWeight:700,fontSize:"1.2rem",flex:3}),K=A(T)(({theme:e})=>({flex:2,"& > *:not(label)":{marginTop:e.spacing(1)}})),j=A("div")(({theme:e})=>({marginBottom:e.spacing(2)})),P=A("div")({display:"flex",alignItems:"center",justifyContent:"space-between"}),q=A("div")({display:"flex"}),F=A("div")({display:"flex",alignItems:"center",justifyContent:"space-between"}),L=A("div")(({theme:e})=>({fontSize:e.typography.fontSize-2,color:e.palette.error.main,paddingTop:e.spacing(1)})),N=A(w)({color:`${k.tertiary()} !important`}),B=A(C)(({theme:e})=>({border:`1px solid ${e.palette.grey.A400}`,color:k.text()})),$=A(C)(({theme:e})=>({marginLeft:e.spacing(2),border:`1px solid ${e.palette.grey.A400}`,color:"gray",fontSize:"0.8rem"}));if("undefined"!=typeof document){const e="math-inline-response-styles";if(!document.getElementById(e)){const t=document.createElement("style");t.id=e,t.textContent="\n .response-editor {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 500px;\n max-width: 900px;\n height: auto;\n min-height: 40px;\n }\n .math-toolbar {\n width: 100%;\n }\n ",document.head.appendChild(t)}}class z extends b.Component{static __initStatic(){this.propTypes={defaultResponse:_.bool,error:_.object,mode:_.oneOfType([_.string,_.number]),index:_.number,onResponseChange:_.func.isRequired,response:_.object.isRequired,cIgnoreOrder:_.object.isRequired,cAllowTrailingZeros:_.object.isRequired}}static __initStatic2(){this.defaultProps={defaultResponse:!1,mode:"miscellaneous"}}constructor(e){super(e),z.prototype.__init.call(this),z.prototype.__init2.call(this),z.prototype.__init3.call(this),z.prototype.__init4.call(this),z.prototype.__init5.call(this),z.prototype.__init6.call(this),z.prototype.__init7.call(this),z.prototype.__init8.call(this),z.prototype.__init9.call(this),z.prototype.__init10.call(this),z.prototype.__init11.call(this);const{response:{alternates:t}={}}=e||{},n=Object.keys(t||{}).length;this.state={alternateIdCounter:n+1,showKeypad:{openCount:0,main:!1}}}__init(){this.onChange=e=>t=>{const{response:n,onResponseChange:o,index:a}=this.props,i={...n};i[e]=t.target.value,o(i,a)}}__init2(){this.onConfigChanged=e=>t=>{const{response:n,onResponseChange:o,index:a}=this.props,i={...n};i[e]=t.target.checked,o(i,a)}}__init3(){this.onLiteralOptionsChange=e=>()=>{const{response:t,onResponseChange:n,index:o}=this.props,a={...t};a[e]=!t[e],n(a,o)}}__init4(){this.onAnswerChange=e=>{const{response:t,onResponseChange:n,index:o}=this.props,a={...t};a.answer=e,n(a,o)}}__init5(){this.onAlternateAnswerChange=e=>t=>{const{response:n,onResponseChange:o,index:a}=this.props,i={...n};i.alternates[e]=t,o(i,a)}}__init6(){this.onAddAlternate=()=>{const{response:e,onResponseChange:t,index:n}=this.props,{alternateIdCounter:o}=this.state,a={...e};a.alternates||(a.alternates={}),a.alternates[o]="",t(a,n),this.setState({alternateIdCounter:o+1})}}__init7(){this.onRemoveAlternate=e=>()=>{const{response:t,onResponseChange:n,index:o}=this.props,a={...t};delete a.alternates[e],n(a,o),this.setState(t=>({showKeypad:{...t.showKeypad,openCount:t.showKeypad[e]?t.showKeypad.openCount-1:t.showKeypad.openCount}}))}}__init8(){this.onDone=()=>{this.setState(e=>({showKeypad:{...e.showKeypad,openCount:e.showKeypad.openCount-1,main:!1}}))}}__init9(){this.onFocus=()=>{this.setState(e=>({showKeypad:{...e.showKeypad,openCount:e.showKeypad.main?e.showKeypad.openCount:e.showKeypad.openCount+1,main:!0}}))}}__init10(){this.onAlternateFocus=e=>()=>{this.setState(t=>({showKeypad:{...t.showKeypad,openCount:t.showKeypad[e]?t.showKeypad.openCount:t.showKeypad.openCount+1,[e]:!0}}))}}__init11(){this.onAlternateDone=e=>()=>{this.setState(t=>({showKeypad:{...t.showKeypad,openCount:t.showKeypad.openCount-1,[e]:!1}}))}}render(){const{mode:e,defaultResponse:t,index:n,response:o,cAllowTrailingZeros:a,cIgnoreOrder:i,error:s}=this.props,{showKeypad:l}=this.state,{validation:r,answer:p,alternates:d,ignoreOrder:c,allowTrailingZeros:u}=o,h=Object.keys(d||{}).length>0,g={editor:"response-editor",mathToolbar:"math-toolbar"},m={minHeight:(l.openCount>0?430:230)+"px"};return b.createElement(D,{style:m},b.createElement(M,null,b.createElement(P,null,b.createElement(O,{component:"div"},"Response ",""),b.createElement(K,{label:"Validation"},b.createElement(S,{onChange:this.onChange("validation"),value:r||"literal",MenuProps:{transitionDuration:{enter:225,exit:195}}},b.createElement(I,{value:"literal"},"Literal Validation"),b.createElement(I,{value:"symbolic"},"Symbolic Validation")))),"literal"===r&&b.createElement(q,null,a.enabled&&b.createElement(E,{label:a.label,control:b.createElement(N,{checked:u,onChange:this.onLiteralOptionsChange("allowTrailingZeros")})}),i.enabled&&b.createElement(E,{label:i.label,control:b.createElement(N,{checked:c,onChange:this.onLiteralOptionsChange("ignoreOrder")})})),b.createElement(j,null,b.createElement(v,null,"Correct Answer"),b.createElement(R,{keypadMode:e,classNames:g,controlledKeypad:!0,showKeypad:l.main,latex:p||"",onChange:this.onAnswerChange,onFocus:this.onFocus,onDone:this.onDone,error:s&&s.answer}),s&&s.answer?b.createElement(L,null,s.answer):null),h&&Object.keys(d).map((t,n)=>b.createElement(j,{key:t},b.createElement(F,null,b.createElement(v,null,"Alternate",Object.keys(d).length>1?` ${n+1}`:""),b.createElement($,{type:"secondary",onClick:this.onRemoveAlternate(t)},"Remove")),b.createElement(R,{classNames:g,controlledKeypad:!0,keypadMode:e,showKeypad:l[t]||!1,latex:d[t]||"",onChange:this.onAlternateAnswerChange(t),onFocus:this.onAlternateFocus(t),onDone:this.onAlternateDone(t),error:s&&s[t]}),s&&s[t]?b.createElement(L,null,s[t]):null)),b.createElement(B,{type:"primary",onClick:this.onAddAlternate},"ADD ALTERNATE")))}}z.__initStatic(),z.__initStatic2();const Z="Advanced Multi",H="Simple",G=(e={},t={})=>({...t,...e}),Y=t,W=n,U=s,{styled:V}=a,{InputLabel:J}=o,{Select:Q}=o,{MenuItem:X}=o,{Tooltip:ee}=o,{isEqual:te}=l,{Info:ne}=r,oe=c,{InputContainer:ae}=d,{MathToolbar:ie}=u,se=h;function le(e){let t,n=e[0],o=1;for(;o<e.length;){const a=e[o],i=e[o+1];if(o+=2,("optionalAccess"===a||"optionalCall"===a)&&null==n)return;"access"===a||"optionalAccess"===a?(t=n,n=i(n)):"call"!==a&&"optionalCall"!==a||(n=i((...e)=>n.call(t,...e)),t=void 0)}return n}let re=!1;const pe=V("div")({display:"flex",flexDirection:"column"}),de=V(J)({fontSize:"0.85rem"}),ce=V("div")({fontSize:"1.1rem"}),ue=V("div")({display:"flex",alignItems:"center",justifyContent:"space-between"}),he=V(ae)(({theme:e})=>({flex:"initial",width:"40%",marginTop:e.spacing(2),marginBottom:e.spacing(2),"& > *:not(label)":{marginTop:e.spacing(1)}})),ge=V("div")({display:"flex",flexDirection:"column"}),me=V(ee)(({theme:e})=>({"& .MuiTooltip-tooltip":{fontSize:e.typography.fontSize-2,whiteSpace:"pre-wrap"}})),be=V("div")(({theme:e})=>({fontSize:e.typography.fontSize-2,color:e.palette.error.main,paddingTop:e.spacing(1)})),_e=V(ae)(({theme:e})=>({width:"100%",paddingTop:e.spacing(2),marginBottom:e.spacing(2)})),ye=V("div")(({theme:e})=>({marginBottom:e.spacing(2.5)}));if("undefined"!=typeof document){const e="math-inline-block-styles";if(!document.getElementById(e)){const t=document.createElement("style");t.id=e,t.textContent="\n .block-container {\n margin: 8px;\n display: inline-flex;\n border: 2px solid grey;\n }\n .block-container-generic {\n margin: 4px;\n }\n .block-response {\n flex: 2;\n color: grey;\n background: #f5f5f5;\n font-size: 0.8rem;\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 2px solid grey;\n }\n .block-response-generic {\n border-right: 0;\n }\n .response-editor {\n display: flex;\n justify-content: center;\n width: 100%;\n max-width: inherit;\n height: auto;\n min-height: 130px;\n text-align: left;\n padding: 8px;\n }\n ",document.head.appendChild(t)}}const fe=/{{response}}/gm,Ce=/\\%response\\%/gm,Ee=/\\embed\{answerBlock\}\[r\d*\]/g,xe=/\\embed\{newLine\}\[\]/g,ve=/\\newline/g;function we(e){if(e){let t=1;return e.replace(fe,()=>`\\embed{answerBlock}[r${t++}]`).replace(ve,"\\embed{newLine}[]")}}class Se extends Y.Component{static __initStatic(){this.propTypes={model:W.object.isRequired,imageSupport:W.object,uploadSoundSupport:W.object,configuration:W.object,onChange:W.func.isRequired,promptEnabled:W.bool,rationaleEnabled:W.bool,toolbarOpts:W.object}}constructor(e){super(e),Se.prototype.__init.call(this),Se.prototype.__init2.call(this),Se.prototype.__init3.call(this),Se.prototype.__init4.call(this),Se.prototype.__init5.call(this),Se.prototype.__init6.call(this),Se.prototype.__init7.call(this);const t={};if(e.model&&e.model.expression){let n=1;e.model.expression.replace(fe,()=>{t["r"+n++]={value:""}})}this.state={showKeypad:!1,responseAreas:t,responseIdCounter:Object.keys(t).length}}__init(){this.onChange=e=>t=>{const{model:n,onChange:o}=this.props,a={...n};a[e]="object"==typeof t?t.target.value:t,"expression"===e&&(a[e]=function(e){if(e)return e.replace(Ee,()=>"{{response}}").replace(Ce,()=>"{{response}}").replace(xe,()=>"\\newline")}(t)),o(a)}}__init2(){this.onDone=()=>{this.setState({showKeypad:!1})}}__init3(){this.onFocus=()=>{this.setState({showKeypad:!0})}}__init4(){this.onPromptFocus=()=>{this.setState({showKeypad:!1})}}UNSAFE_componentWillMount(){if("undefined"!=typeof window){let e=se.getInterface(2);re||(e.registerEmbed("answerBlock",e=>{const t="block-response",n="block-response-generic";return{htmlString:`<div class="${U("block-container","block-container-generic")}">\n <div class="${U(t,n)}" id="${e}Index">Response</div>\n </div>`,text:()=>"text",latex:()=>`\\embed{answerBlock}[${e}]`}}),re=!0)}}componentDidMount(){this.handleAnswerBlockDomUpdate()}componentDidUpdate(){this.handleAnswerBlockDomUpdate()}__init5(){this.handleAnswerBlockDomUpdate=()=>{const{model:e}=this.props,t={};if(e&&e.expression){let n=1;e.expression.replace(fe,()=>{t["r"+n++]={value:""}})}te(t,this.state.responseAreas)||this.setState({responseAreas:t},()=>{this.root&&Object.keys(t).length&&Object.keys(t).forEach((e,t)=>{const n=this.root.querySelector(`#${e}`),o=this.root.querySelector(`#${e}Index`);n&&(se.getInterface(2).StaticMath(n),o.textContent=`R${t+1}`)})})}}__init6(){this.onAddResponse=()=>{const{model:e,onChange:t}=this.props,{responseIdCounter:n}=this.state,o={...e};let a=n;for(;e.responses.find(e=>e.id===a);)a++;const i={id:a,validation:"literal",answer:"",alternates:{}};o.responses=o.responses.concat(i),t(o),this.setState({responseIdCounter:i.id})}}__init7(){this.onResponseChange=(e,t)=>{const{model:n,onChange:o}=this.props,a={...n};a.responses[t]=e,o(a)}}render(){const{model:e,imageSupport:t,uploadSoundSupport:n,configuration:o,promptEnabled:a,rationaleEnabled:i,toolbarOpts:s}=this.props,{showKeypad:l}=this.state,{prompt:r,expression:p,equationEditor:d,promptEquationEditor:c="8",responses:u,responseType:h,rationale:g,spellCheckEnabled:m,errors:b={}}=e,{baseInputConfiguration:_={},rationale:y={},prompt:f={},ignoreOrder:C={},allowTrailingZeros:E={},maxResponseAreas:x,maxImageWidth:v={},maxImageHeight:w={},mathMlOptions:S={}}=o||{},I=((e={},t={})=>{const{maxResponseAreas:n}=t,{responseType:o}=e;let a="";return"Advanced Multi"===o&&(a="\nThere should be at least 1 "+(n?`and at most ${n} `:"")+"response area"+(n?"s":"")+" defined."),"Validation requirements:\nAll correct answers (the primary and any alternates) should not be empty and should be unique."+a})(o,e),{prompt:A,rationale:k,responsesErrors:T,responseAreasError:R}=b,D=v&&v.prompt,M=w&&w.prompt,O=h===Z?u:u.slice(0,1),K=Y.createElement(me,{disableFocusListener:!0,disableTouchListener:!0,placement:"right",title:I},Y.createElement(ne,{fontSize:"small",color:"primary",style:{marginLeft:"5px"}}));return Y.createElement(pe,{ref:e=>this.root=e||this.root},a&&Y.createElement(_e,{label:f.label},Y.createElement(oe,{onFocus:this.onPromptFocus,markup:r||"",onChange:this.onChange("prompt"),imageSupport:t,nonEmpty:!1,error:A,toolbarOpts:s,pluginProps:G(le([f,"optionalAccess",e=>e.inputConfiguration]),_),spellCheck:m,maxImageWidth:D,maxImageHeight:M,uploadSoundSupport:n,languageCharactersProps:[{language:"spanish"},{language:"special"}],mathMlOptions:S}),A&&Y.createElement(be,null,A)),h===Z&&Y.createElement(ye,null,Y.createElement(ue,{style:{justifyContent:"flex-start"}},Y.createElement(ce,null,"Define Response"),K),Y.createElement(he,{key:"templateEditorType",label:"Response Template Equation Editor"},Y.createElement(Q,{onChange:this.onChange("promptEquationEditor"),value:c,MenuProps:{transitionDuration:{enter:225,exit:195}}},Y.createElement(X,{value:"non-negative-integers"},"Numeric - Non-Negative Integers"),Y.createElement(X,{value:"integers"},"Numeric - Integers"),Y.createElement(X,{value:"decimals"},"Numeric - Decimals"),Y.createElement(X,{value:"fractions"},"Numeric - Fractions"),Y.createElement(X,{value:1},"Grade 1 - 2"),Y.createElement(X,{value:3},"Grade 3 - 5"),Y.createElement(X,{value:6},"Grade 6 - 7"),Y.createElement(X,{value:8},"Grade 8 - HS"),Y.createElement(X,{value:"geometry"},"Geometry"),Y.createElement(X,{value:"advanced-algebra"},"Advanced Algebra"),Y.createElement(X,{value:"statistics"},"Statistics"),Y.createElement(X,{value:"item-authoring"},"Item Authoring"))),Y.createElement(ge,{key:"templateHolder"},Y.createElement(de,null,"RESPONSE TEMPLATE"),Y.createElement(ie,{classNames:{editor:"response-editor"},allowAnswerBlock:!0,keypadMode:c,controlledKeypad:!0,showKeypad:l,latex:we(p)||"",onChange:this.onChange("expression"),onFocus:this.onFocus,onDone:this.onDone,maxResponseAreas:x,error:R})),R&&Y.createElement(be,null,R)),Y.createElement(ue,{style:{justifyContent:"flex-start"}},Y.createElement(ce,null,"Define Correct Response"),h===H?K:null),Y.createElement(he,{label:"Equation Editor"},Y.createElement(Q,{onChange:this.onChange("equationEditor"),value:d,MenuProps:{transitionDuration:{enter:225,exit:195}}},Y.createElement(X,{value:"non-negative-integers"},"Numeric - Non-Negative Integers"),Y.createElement(X,{value:"integers"},"Numeric - Integers"),Y.createElement(X,{value:"decimals"},"Numeric - Decimals"),Y.createElement(X,{value:"fractions"},"Numeric - Fractions"),Y.createElement(X,{value:1},"Grade 1 - 2"),Y.createElement(X,{value:3},"Grade 3 - 5"),Y.createElement(X,{value:6},"Grade 6 - 7"),Y.createElement(X,{value:8},"Grade 8 - HS"),Y.createElement(X,{value:"geometry"},"Geometry"),Y.createElement(X,{value:"advanced-algebra"},"Advanced Algebra"),Y.createElement(X,{value:"statistics"},"Statistics"),Y.createElement(X,{value:"item-authoring"},"Item Authoring"))),O.map((e,t)=>Y.createElement(z,{key:e.id,mode:d,response:e,defaultResponse:h===H,onResponseChange:this.onResponseChange,index:t,cIgnoreOrder:C,cAllowTrailingZeros:E,error:T&&T[t]})),i&&Y.createElement(_e,{label:y.label},Y.createElement(oe,{markup:g||"",onChange:this.onChange("rationale"),imageSupport:t,nonEmpty:!1,error:k,toolbarOpts:s,pluginProps:G(le([y,"optionalAccess",e=>e.inputConfiguration]),{..._,math:{controlledKeypadMode:!1}}),spellCheck:m,maxImageWidth:v&&v.rationale||D,maxImageHeight:w&&w.rationale||M,uploadSoundSupport:n,languageCharactersProps:[{language:"spanish"},{language:"special"}],mathMlOptions:S}),k&&Y.createElement(be,null,k)))}}Se.__initStatic();const Ie=t,{styled:Ae}=a,ke=n,Te=p,{FeedbackConfig:Re}=d,{settings:De}=d,{layout:Me}=d,{InputContainer:Oe}=d,Ke=c;function je(e){let t,n=e[0],o=1;for(;o<e.length;){const a=e[o],i=e[o+1];if(o+=2,("optionalAccess"===a||"optionalCall"===a)&&null==n)return;"access"===a||"optionalAccess"===a?(t=n,n=i(n)):"call"!==a&&"optionalCall"!==a||(n=i((...e)=>n.call(t,...e)),t=void 0)}return n}const Pe=Te("@pie-element:math-inline:configure"),{Panel:qe,toggle:Fe,radio:Le,dropdown:Ne}=De,Be=Ae(Oe)(({theme:e})=>({width:"100%",paddingTop:e.spacing(2),marginBottom:e.spacing(2)})),$e=Ae("div")(({theme:e})=>({fontSize:e.typography.fontSize-2,color:e.palette.error.main,paddingTop:e.spacing(1)}));class ze extends Ie.Component{constructor(...e){super(...e),ze.prototype.__init.call(this),ze.prototype.__init2.call(this),ze.prototype.__init3.call(this)}static __initStatic(){this.propTypes={onModelChanged:ke.func,onConfigurationChanged:ke.func,model:ke.object.isRequired,configuration:ke.object.isRequired,imageSupport:ke.object,uploadSoundSupport:ke.object}}__init(){this.onChange=e=>{this.props.onModelChanged(e)}}__init2(){this.changeTeacherInstructions=e=>{this.props.onModelChanged({...this.props.model,teacherInstructions:e})}}__init3(){this.onFeedbackChange=e=>{const{model:t,onModelChanged:n}=this.props;t.feedback=e,n(t)}}render(){const{model:e,imageSupport:t,onModelChanged:n,configuration:o,onConfigurationChanged:a,uploadSoundSupport:i}=this.props,{allowTrailingZeros:s={},baseInputConfiguration:l={},contentDimensions:r={},feedback:p={},ignoreOrder:d={},maxImageWidth:c={},maxImageHeight:u={},prompt:h={},rationale:g={},responseType:m={},scoringType:b={},settingsPanelDisabled:_,spellCheck:y={},studentInstructions:f={},teacherInstructions:C={},withRubric:E={},mathMlOptions:x={},language:v={},languageChoices:w={}}=o||{},{errors:S={},extraCSSRules:I,feedbackEnabled:A,promptEnabled:k,rationaleEnabled:T,spellCheckEnabled:R,teacherInstructionsEnabled:D,toolbarEditorPosition:M}=e||{},{teacherInstructions:O}=S;Pe("[render] model",e);const K={position:"top"===M?"top":"bottom"},j=c&&c.prompt,P=u&&u.prompt,q={responseType:m.settings&&Le(m.label,[H,Z]),feedbackEnabled:p.settings&&Fe(p.label),promptEnabled:h.settings&&Fe(h.label),"language.enabled":v.settings&&Fe(v.label,!0),language:v.settings&&v.enabled&&Ne(w.label,w.options)},F={teacherInstructionsEnabled:C.settings&&Fe(C.label),studentInstructionsEnabled:f.settings&&Fe(f.label),rationaleEnabled:g.settings&&Fe(g.label),spellCheckEnabled:y.settings&&Fe(y.label),scoringType:b.settings&&Le(b.label,["auto","rubric"]),"ignoreOrder.enabled":d.settings&&Fe(d.label),"allowTrailingZeros.enabled":s.settings&&Fe(s.label),rubricEnabled:je([E,"optionalAccess",e=>e.settings])&&Fe(je([E,"optionalAccess",e=>e.label]))};return Ie.createElement(Me.ConfigLayout,{extraCSSRules:I,dimensions:r,hideSettings:_,settings:Ie.createElement(qe,{model:e,configuration:o,onChangeModel:e=>n(e),onChangeConfiguration:e=>a(e),groups:{Settings:q,Properties:F}})},D&&Ie.createElement(Be,{label:C.label},Ie.createElement(Ke,{markup:e.teacherInstructions||"",onChange:this.changeTeacherInstructions,imageSupport:t,nonEmpty:!1,error:O,toolbarOpts:K,pluginProps:G(je([C,"optionalAccess",e=>e.inputConfiguration]),l),spellCheck:R,maxImageWidth:c&&c.teacherInstructions||j,maxImageHeight:u&&u.teacherInstructions||P,uploadSoundSupport:i,languageCharactersProps:[{language:"spanish"},{language:"special"}],mathMlOptions:x}),O&&Ie.createElement($e,null,O)),Ie.createElement(Se,{imageSupport:t,uploadSoundSupport:i,model:e,configuration:o,onChange:this.onChange,rationaleEnabled:T,promptEnabled:k,toolbarOpts:K,spellCheck:R}),A&&Ie.createElement(Re,{feedback:e.feedback,onChange:this.onFeedbackChange,toolbarOpts:K}))}}ze.__initStatic();var Ze={};Object.defineProperty(Ze,"__esModule",{value:!0});class He extends CustomEvent{constructor(e,t=!1){super(He.TYPE,{bubbles:!0,detail:{update:e,reset:t}}),this.update=e,this.reset=t}}He.TYPE="model.updated";var Ge=Ze.ModelUpdatedEvent=He;class Ye extends CustomEvent{constructor(e,t){super(Ye.TYPE,{bubbles:!0,detail:{src:e,done:t}}),this.src=e,this.done=t}}Ye.TYPE="delete.image";var We=Ze.DeleteImageEvent=Ye;class Ue extends CustomEvent{constructor(e){super(Ue.TYPE,{bubbles:!0,detail:e}),this.handler=e}}Ue.TYPE="insert.image";var Ve=Ze.InsertImageEvent=Ue;class Je extends CustomEvent{constructor(e,t){super(Je.TYPE,{bubbles:!0,detail:{src:e,done:t}}),this.src=e,this.done=t}}Je.TYPE="delete.sound";var Qe=Ze.DeleteSoundEvent=Je;class Xe extends CustomEvent{constructor(e){super(Xe.TYPE,{bubbles:!0,detail:e}),this.handler=e}}Xe.TYPE="insert.sound";var et=Ze.InsertSoundEvent=Xe,tt={allowTrailingZerosDefault:!1,customKeys:[],equationEditor:"8",expression:"",feedback:{correct:{default:"Correct",type:"none"},incorrect:{default:"Incorrect",type:"none"},partial:{default:"Nearly",type:"none"}},feedbackEnabled:!1,ignoreOrderDefault:!1,partialScoring:!0,prompt:"",promptEnabled:!0,rationale:"",rationaleEnabled:!0,responseType:Z,responses:[],scoringType:"auto",studentInstructionsEnabled:!0,teacherInstructions:"",teacherInstructionsEnabled:!0,toolbarEditorPosition:"bottom",validationDefault:"literal"},nt={baseInputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1},textAlign:{disabled:!0},showParagraphs:{disabled:!1},separateParagraphs:{disabled:!0}},prompt:{settings:!0,label:"Prompt",inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}},required:!1},feedback:{settings:!0,label:"Feedback"},responseType:{settings:!0,label:"Response type"},rationale:{settings:!0,label:"Rationale",inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}},required:!1},settingsPanelDisabled:!1,spellCheck:{label:"Spellcheck",settings:!1,enabled:!0},scoringType:{settings:!1,label:"Scoring Type"},studentInstructions:{settings:!1,label:"Student Instructions"},teacherInstructions:{settings:!0,label:"Teacher Instructions",inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}},required:!1},partialScoring:{settings:!1,label:"Allow Partial Scoring"},ignoreOrder:{settings:!1,label:"Ignore Order",enabled:!0},allowTrailingZeros:{settings:!1,label:"Allow Trailing Zeros",enabled:!0},maxImageWidth:{teacherInstructions:300,prompt:300,rationale:300},maxImageHeight:{teacherInstructions:300,prompt:300,rationale:300},withRubric:{settings:!1,label:"Add Rubric"},mathMlOptions:{mmlOutput:!1,mmlEditing:!1},language:{settings:!1,label:"Specify Language",enabled:!1},languageChoices:{label:"Language Choices",options:[]}};const ot=t,{isEmpty:at}=l;function it(e){let t,n=e[0],o=1;for(;o<e.length;){const a=e[o],i=e[o+1];if(o+=2,("optionalAccess"===a||"optionalCall"===a)&&null==n)return;"access"===a||"optionalAccess"===a?(t=n,n=i(n)):"call"!==a&&"optionalCall"!==a||(n=i((...e)=>n.call(t,...e)),t=void 0)}return n}const st=p("pie-elements:math-inline:configure");class lt extends HTMLElement{static __initStatic(){this.createDefaultModel=(e={})=>(at(e.responses)||(e.responses=e.responses.map(e=>({...e,validation:e.validation||tt.validationDefault,allowTrailingZeros:e.allowTrailingZeros||tt.allowTrailingZerosDefault,ignoreOrder:e.ignoreOrder||tt.ignoreOrderDefault||!1}))),{...tt,...e})}constructor(){super(),this._root=null,this._model=lt.createDefaultModel(),this._configuration=nt}set model(e){this._model=lt.createDefaultModel(e),this._render()}set configuration(e){const t={...nt,...e};this._configuration=t,it([t,"optionalAccess",e=>e.language,"optionalAccess",e=>e.enabled])?it([t,"optionalAccess",e=>e.languageChoices,"optionalAccess",e=>e.options,"optionalAccess",e=>e.length])&&(this._model.language=it([t,"optionalAccess",e=>e.languageChoices,"access",e=>e.options,"access",e=>e[0],"access",e=>e.value])):t.language.settings&&this._model.language?(this._configuration.language.enabled=!0,this._configuration.languageChoices.options&&this._configuration.languageChoices.options.length||(this._configuration.languageChoices.options=[]),this._configuration.languageChoices.options.find(e=>e.value===this._model.language)||this._configuration.languageChoices.options.push({value:this._model.language,label:this._model.language})):delete this._model.language,this._render()}onModelChanged(e){this._model=e,st("[onModelChanged]: ",this._model),this._render(),this.dispatchEvent(new Ge(this._model))}onConfigurationChanged(e){this._configuration=e,this._model&&this.onModelChanged(this._model),this._render()}insertImage(e){this.dispatchEvent(new Ve(e))}onDeleteImage(e,t){this.dispatchEvent(new We(e,t))}insertSound(e){this.dispatchEvent(new et(e))}onDeleteSound(e,t){this.dispatchEvent(new Qe(e,t))}_render(){if(this._model){const e=ot.createElement(ze,{onModelChanged:this.onModelChanged.bind(this),onConfigurationChanged:this.onConfigurationChanged.bind(this),model:this._model,configuration:this._configuration,imageSupport:{add:this.insertImage.bind(this),delete:this.onDeleteImage.bind(this)},uploadSoundSupport:{add:this.insertSound.bind(this),delete:this.onDeleteSound.bind(this)}});this._root||(this._root=g(this)),this._root.render(e)}}disconnectedCallback(){this._root&&this._root.unmount()}}lt.__initStatic();export{lt as default};
|