@pie-element/passage 5.3.3-next.9 → 5.3.4-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [5.3.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@5.3.2...@pie-element/passage@5.3.3) (2025-11-27)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * bump libs PD-5274, PD-5211, PD-5248 ([7610b25](https://github.com/pie-framework/pie-elements/commit/7610b25423956b6492f33322513b3430051fca77))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [5.3.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@5.3.1...@pie-element/passage@5.3.2) (2025-10-22)
7
18
 
8
19
 
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.3.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage-configure@3.3.2...@pie-element/passage-configure@3.3.3) (2025-11-27)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * bump libs PD-5274, PD-5211, PD-5248 ([7610b25](https://github.com/pie-framework/pie-elements/commit/7610b25423956b6492f33322513b3430051fca77))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [3.3.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage-configure@3.3.1...@pie-element/passage-configure@3.3.2) (2025-10-22)
7
18
 
8
19
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/passage-configure",
3
3
  "private": true,
4
- "version": "3.3.2",
4
+ "version": "3.3.3",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -10,8 +10,8 @@
10
10
  "dependencies": {
11
11
  "@material-ui/core": "^3.9.2",
12
12
  "@pie-framework/pie-configure-events": "^1.3.0",
13
- "@pie-lib/config-ui": "^11.30.1",
14
- "@pie-lib/editable-html": "^11.21.1",
13
+ "@pie-lib/config-ui": "11.30.2",
14
+ "@pie-lib/editable-html": "11.21.2",
15
15
  "lodash": "^4.17.15",
16
16
  "prop-types": "^15.6.2",
17
17
  "react": "^16.8.1",
@@ -1 +1 @@
1
- import{_dll_prop_types as e,_dll_material_ui__core_styles as t,_dll_react as a,_dll_material_ui__core as i,_dll_material_ui__icons as n,_dll_react_dom as s}from"../../../@pie-lib/shared-module@^1.17.4/module/index.js";import{_dll_pie_lib__config_ui as l}from"../../../@pie-lib/config-module@^2.23.2/module/index.js";import{_dll_pie_lib__editable_html as o}from"../../../@pie-lib/editable-html-module@^5.9.4/module/index.js";var r={};Object.defineProperty(r,"__esModule",{value:!0});class d extends CustomEvent{constructor(e,t=!1){super(d.TYPE,{bubbles:!0,detail:{update:e,reset:t}}),this.update=e,this.reset=t}}d.TYPE="model.updated";var u=r.ModelUpdatedEvent=d;class c extends CustomEvent{constructor(e,t){super(c.TYPE,{bubbles:!0,detail:{src:e,done:t}}),this.src=e,this.done=t}}c.TYPE="delete.image";var g=r.DeleteImageEvent=c;class p extends CustomEvent{constructor(e){super(p.TYPE,{bubbles:!0,detail:e}),this.handler=e}}p.TYPE="insert.image";var h=r.InsertImageEvent=p;class m extends CustomEvent{constructor(e,t){super(m.TYPE,{bubbles:!0,detail:{src:e,done:t}}),this.src=e,this.done=t}}m.TYPE="delete.sound";var b=r.DeleteSoundEvent=m;class C extends CustomEvent{constructor(e){super(C.TYPE,{bubbles:!0,detail:e}),this.handler=e}}C.TYPE="insert.sound";var _=r.InsertSoundEvent=C;const E=a,x=e,{withStyles:f}=t,{Button:S}=i,{Dialog:v}=i,{DialogTitle:I}=i,{DialogContent:P}=i,{DialogContentText:T}=i,{DialogActions:y}=i,{RemoveCircle:R}=n,{AddCircle:q}=n,D=f((e=>({root:{textDecoration:"underline","&:hover":{textDecoration:"underline",backgroundColor:"transparent"}},label:{display:"flex",alignItems:"center"},icon:{marginRight:e.spacing.unit/2}})))((({classes:e,label:t,type:a="add",onClick:i})=>{const n="add"===a?q:R;return E.createElement(S,{color:"primary",size:"small",className:e.root,onClick:i},E.createElement(n,{fontSize:"small",color:"primary",className:e.icon}),t)})),k=({content:e,cancel:t,title:a,ok:i,open:n,onOk:s,onCancel:l})=>E.createElement(v,{open:n},E.createElement(I,null,a),E.createElement(P,null,E.createElement(T,null,e)),E.createElement(y,null,s&&E.createElement(S,{onClick:s,color:"primary"},i),l&&E.createElement(S,{onClick:l,color:"primary"},t)));k.propTypes={content:x.string.isRequired,title:x.string.isRequired,cancel:x.string.isRequired,ok:x.string.isRequired,open:x.bool.isRequired,onCancel:x.func.isRequired,onOk:x.func.isRequired};const A=a,M=e,{withStyles:w}=t,{InputContainer:j}=l,N=o,{ALL_PLUGINS:O}=o;function Y(e){let t,a=e[0],i=1;for(;i<e.length;){const n=e[i],s=e[i+1];if(i+=2,("optionalAccess"===n||"optionalCall"===n)&&null==a)return;"access"===n||"optionalAccess"===n?(t=a,a=s(a)):"call"!==n&&"optionalCall"!==n||(a=s(((...e)=>a.call(t,...e))),t=void 0)}return a}class H extends A.Component{static __initStatic(){this.propTypes={classes:M.object,onModelChanged:M.func.isRequired,model:M.object.isRequired,configuration:M.object.isRequired,imageSupport:M.object.isRequired,passageIndex:M.number.isRequired,uploadSoundSupport:M.object.isRequired}}static __initStatic2(){this.defaultProps={passageIndex:0}}constructor(e){super(e),H.prototype.__init.call(this)}__init(){this.handleChange=(e,t)=>{const{model:a,onModelChanged:i,passageIndex:n}=this.props;if(!a.passages||n<0||n>=a.passages.length)return;const s=[...a.passages];s[n]={...s[n],[e]:t},i({...a,passages:s})}}render(){const{model:e,classes:t,configuration:a,imageSupport:i,passageIndex:n,uploadSoundSupport:s}=this.props,{maxImageWidth:l={},maxImageHeight:o={},mathMlOptions:r={},baseInputConfiguration:d={},teacherInstructions:u={},title:c={},subtitle:g={},text:p={},author:h={}}=a||{},{errors:m={},passages:b=[],teacherInstructionsEnabled:C,titleEnabled:_,subtitleEnabled:E,authorEnabled:x,textEnabled:f}=e||{},{passages:S}=m||{},{teacherInstructions:v,title:I,subtitle:P,author:T,text:y}=S&&S[n]||{},R=l&&l.prompt,q=o&&o.prompt,D=e=>({...d,...e});return A.createElement(A.Fragment,null,C&&A.createElement(j,{label:u.label,className:t.inputContainer},A.createElement(N,{activePlugins:O,markup:b[n].teacherInstructions||"",onChange:e=>this.handleChange("teacherInstructions",e),nonEmpty:!1,error:v,maxImageWidth:l&&l.teacherInstructions||R,maxImageHeight:o&&o.teacherInstructions||q,mathMlOptions:r,languageCharactersProps:[{language:"spanish"},{language:"special"}],pluginProps:D(Y([u,"optionalAccess",e=>e.inputConfiguration]))}),v&&A.createElement("div",{className:t.errorText},v)),_&&A.createElement(j,{label:c.label,className:t.inputContainer},A.createElement(N,{activePlugins:O,markup:b[n].title||"",onChange:e=>this.handleChange("title",e),nonEmpty:!1,error:I,mathMlOptions:r,languageCharactersProps:[{language:"spanish"},{language:"special"}],pluginProps:D(Y([c,"optionalAccess",e=>e.inputConfiguration]))}),I&&A.createElement("div",{className:t.errorText},I)),E&&A.createElement(j,{label:g.label,className:t.inputContainer},A.createElement(N,{activePlugins:O,markup:b[n].subtitle||"",onChange:e=>this.handleChange("subtitle",e),nonEmpty:!1,error:P,mathMlOptions:r,languageCharactersProps:[{language:"spanish"},{language:"special"}],pluginProps:D(Y([g,"optionalAccess",e=>e.inputConfiguration]))}),P&&A.createElement("div",{className:t.errorText},P)),x&&A.createElement(j,{label:h.label,className:t.inputContainer},A.createElement(N,{activePlugins:O,markup:b[n].author||"",onChange:e=>this.handleChange("author",e),nonEmpty:!1,error:T,mathMlOptions:r,languageCharactersProps:[{language:"spanish"},{language:"special"}],pluginProps:D(Y([h,"optionalAccess",e=>e.inputConfiguration]))}),T&&A.createElement("div",{className:t.errorText},T)),f&&A.createElement(j,{label:p.label,className:t.inputContainer},A.createElement(N,{activePlugins:O,markup:b[n].text||"",onChange:e=>this.handleChange("text",e),imageSupport:i,uploadSoundSupport:s,nonEmpty:!1,error:y,maxImageWidth:l&&l.text||R,maxImageHeight:o&&o.text||q,mathMlOptions:r,languageCharactersProps:[{language:"spanish"},{language:"special"}],pluginProps:D(Y([p,"optionalAccess",e=>e.inputConfiguration]))}),y&&A.createElement("div",{className:t.errorText},y)))}}H.__initStatic(),H.__initStatic2();var L=w((e=>({inputContainer:{paddingTop:2*e.spacing.unit,marginBottom:2*e.spacing.unit,width:"100%"},errorText:{fontSize:e.typography.fontSize-2,color:e.palette.error.main,paddingTop:e.spacing.unit}})))(H);const W=a,z=e,{withStyles:B}=t,{Typography:$}=i,{settings:F}=l,{layout:U}=l,{Panel:G,toggle:J,dropdown:K}=F;class Q extends W.Component{static __initStatic(){this.propTypes={onModelChanged:z.func.isRequired,onConfigurationChanged:z.func,model:z.object.isRequired,configuration:z.object.isRequired,imageSupport:z.object.isRequired,uploadSoundSupport:z.object.isRequired,classes:z.object.isRequired}}constructor(e){super(e),Q.prototype.__init.call(this),Q.prototype.__init2.call(this),Q.prototype.__init3.call(this),Q.prototype.__init4.call(this),this.state={showConfirmationDialog:!1,indexToRemove:-1}}__init(){this.getInnerText=e=>(e||"").replaceAll(/<[^>]*>/g,"")}__init2(){this.onDelete=(e,t,a)=>{let i=e.passages;i.splice(t,1),a({...e,passages:i}),this.setState({showConfirmationDialog:!1,indexToRemove:-1})}}__init3(){this.removeAdditionalPassage=e=>{const{model:t={},onModelChanged:a}=this.props,{passages:i=[]}=t,{teacherInstructions:n="",title:s="",subtitle:l="",author:o="",text:r=""}=i[e];this.getInnerText(n).trim()||this.getInnerText(s).trim()||this.getInnerText(l).trim()||this.getInnerText(o).trim()||this.getInnerText(r).trim()?this.setState({showConfirmationDialog:!0,indexToRemove:e}):this.onDelete(t,e,a)}}__init4(){this.addAdditionalPassage=()=>{const{model:e,onModelChanged:t}=this.props,a=[...e.passages,{teacherInstructions:"",title:"",subtitle:"",author:"",text:""}];t({...e,passages:a})}}render(){const{classes:e,model:t,configuration:a,imageSupport:i,onConfigurationChanged:n,onModelChanged:s,uploadSoundSupport:l}=this.props,{settingsPanelDisabled:o,language:r={},languageChoices:d={},teacherInstructions:u={},title:c={},subtitle:g={},text:p={},author:h={},additionalPassage:m={}}=a||{},{extraCSSRules:b,passages:C}=t||{},_={titleEnabled:c&&c.settings&&J(c.label),subtitleEnabled:g&&g.settings&&J(g.label),authorEnabled:h&&h.settings&&J(h.label),textEnabled:p&&p.settings&&J(p.label),"additionalPassage.enabled":m&&m.settings&&J(m.label,!0)},E={teacherInstructionsEnabled:u&&u.settings&&J(u.label),"language.enabled":r&&r.settings&&J(r.label,!0),language:r&&r.settings&&r.enabled&&K(d.label,d.options)},x=`${m.label} will be deleted`,{indexToRemove:f,showConfirmationDialog:S}=this.state;return W.createElement(U.ConfigLayout,{extraCSSRules:b,hideSettings:o,settings:W.createElement(G,{model:t,configuration:a,onChangeModel:e=>s(e),onChangeConfiguration:e=>n(e),groups:{Settings:_,Properties:E}})},C.map(((n,o)=>W.createElement(W.Fragment,{key:o},o>0&&W.createElement($,{variant:"h5",className:e.additionalPassageHeading},m.label),W.createElement(L,{imageSupport:i,uploadSoundSupport:l,model:t,configuration:a,passageIndex:o,onModelChanged:s}),o>0&&m.enabled&&W.createElement(D,{type:"remove",label:`Remove ${m.label}`,onClick:()=>this.removeAdditionalPassage(o)}),0===o&&m.enabled&&C.length<2&&W.createElement(D,{label:`Add ${m.label}`,onClick:this.addAdditionalPassage})))),W.createElement(k,{open:S,title:"Warning",content:x,cancel:"Cancel",ok:"Ok",onCancel:()=>this.setState({showConfirmationDialog:!1}),onOk:()=>this.onDelete(t,f,s)}))}}Q.__initStatic();var V=B((e=>({additionalPassageHeading:{paddingTop:2*e.spacing.unit,marginBottom:2*e.spacing.unit}})))(Q),X={authorEnabled:!0,passages:[{teacherInstructions:"",title:"",subtitle:"",author:"",text:""}],subtitleEnabled:!0,teacherInstructionsEnabled:!0,textEnabled:!0,titleEnabled:!0},Z={baseInputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1},h3:{disabled:!0},blockquote:{disabled:!0},textAlign:{disabled:!0},showParagraphs:{disabled:!1},separateParagraphs:{disabled:!0}},settingsPanelDisabled:!1,title:{settings:!0,label:"Title",inputConfiguration:{audio:{disabled:!0},video:{disabled:!0},image:{disabled:!0},textAlign:{disabled:!1}},required:!0},subtitle:{settings:!0,label:"Subtitle",inputConfiguration:{audio:{disabled:!0},video:{disabled:!0},image:{disabled:!0},textAlign:{disabled:!1}},required:!1},author:{settings:!0,label:"Author",inputConfiguration:{audio:{disabled:!0},video:{disabled:!0},image:{disabled:!0}},required:!1},text:{settings:!0,label:"Text",inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1},h3:{disabled:!1},blockquote:{disabled:!1},textAlign:{disabled:!1}},required:!0},teacherInstructions:{settings:!0,label:"Teacher Instructions",inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}},required:!1},maxImageWidth:{teacherInstructions:300,text:300},maxImageHeight:{teacherInstructions:300,text:300},mathMlOptions:{mmlOutput:!1,mmlEditing:!1},language:{settings:!1,label:"Specify Language",enabled:!1},languageChoices:{label:"Language Choices",options:[]},additionalPassage:{settings:!0,label:"Additional Passage",enabled:!1}};const ee=a,te=s;class ae extends HTMLElement{static __initStatic(){this.createDefaultModel=(e={})=>({...X,...e})}constructor(){super(),this._model=ae.createDefaultModel(),this._configuration=Z}set model(e){this._model=ae.createDefaultModel(e),this.render()}set configuration(e){this._configuration=e,this.render()}connectedCallback(){this.render()}modelChanged(e){this._model=e,this.dispatchEvent(new u(this._model),!0),this.render()}onConfigurationChanged(e){this._configuration=e,this.render()}insertImage(e){this.dispatchEvent(new h(e))}onDeleteImage(e,t){this.dispatchEvent(new g(e,t))}insertSound(e){this.dispatchEvent(new _(e))}onDeleteSound(e,t){this.dispatchEvent(new b(e,t))}render(){if(this._model){const e=ee.createElement(V,{model:this._model,configuration:this._configuration,onModelChanged:this.modelChanged.bind(this),onConfigurationChanged:this.onConfigurationChanged.bind(this),imageSupport:{add:this.insertImage.bind(this),delete:this.onDeleteImage.bind(this)},uploadSoundSupport:{add:this.insertSound.bind(this),delete:this.onDeleteSound.bind(this)}});te.render(e,this)}}}ae.__initStatic();export{ae as default};
1
+ import{_dll_prop_types as e,_dll_material_ui__core_styles as t,_dll_react as a,_dll_material_ui__core as i,_dll_material_ui__icons as n,_dll_react_dom as s}from"../../../@pie-lib/shared-module@^1.17.5/module/index.js";import{_dll_pie_lib__config_ui as l}from"../../../@pie-lib/config-module@^2.23.3/module/index.js";import{_dll_pie_lib__editable_html as o}from"../../../@pie-lib/editable-html-module@^5.9.5/module/index.js";var r={};Object.defineProperty(r,"__esModule",{value:!0});class d extends CustomEvent{constructor(e,t=!1){super(d.TYPE,{bubbles:!0,detail:{update:e,reset:t}}),this.update=e,this.reset=t}}d.TYPE="model.updated";var u=r.ModelUpdatedEvent=d;class c extends CustomEvent{constructor(e,t){super(c.TYPE,{bubbles:!0,detail:{src:e,done:t}}),this.src=e,this.done=t}}c.TYPE="delete.image";var g=r.DeleteImageEvent=c;class p extends CustomEvent{constructor(e){super(p.TYPE,{bubbles:!0,detail:e}),this.handler=e}}p.TYPE="insert.image";var h=r.InsertImageEvent=p;class m extends CustomEvent{constructor(e,t){super(m.TYPE,{bubbles:!0,detail:{src:e,done:t}}),this.src=e,this.done=t}}m.TYPE="delete.sound";var b=r.DeleteSoundEvent=m;class C extends CustomEvent{constructor(e){super(C.TYPE,{bubbles:!0,detail:e}),this.handler=e}}C.TYPE="insert.sound";var _=r.InsertSoundEvent=C;const E=a,x=e,{withStyles:f}=t,{Button:S}=i,{Dialog:v}=i,{DialogTitle:I}=i,{DialogContent:P}=i,{DialogContentText:T}=i,{DialogActions:y}=i,{RemoveCircle:R}=n,{AddCircle:q}=n,D=f((e=>({root:{textDecoration:"underline","&:hover":{textDecoration:"underline",backgroundColor:"transparent"}},label:{display:"flex",alignItems:"center"},icon:{marginRight:e.spacing.unit/2}})))((({classes:e,label:t,type:a="add",onClick:i})=>{const n="add"===a?q:R;return E.createElement(S,{color:"primary",size:"small",className:e.root,onClick:i},E.createElement(n,{fontSize:"small",color:"primary",className:e.icon}),t)})),k=({content:e,cancel:t,title:a,ok:i,open:n,onOk:s,onCancel:l})=>E.createElement(v,{open:n},E.createElement(I,null,a),E.createElement(P,null,E.createElement(T,null,e)),E.createElement(y,null,s&&E.createElement(S,{onClick:s,color:"primary"},i),l&&E.createElement(S,{onClick:l,color:"primary"},t)));k.propTypes={content:x.string.isRequired,title:x.string.isRequired,cancel:x.string.isRequired,ok:x.string.isRequired,open:x.bool.isRequired,onCancel:x.func.isRequired,onOk:x.func.isRequired};const A=a,M=e,{withStyles:w}=t,{InputContainer:j}=l,N=o,{ALL_PLUGINS:O}=o;function Y(e){let t,a=e[0],i=1;for(;i<e.length;){const n=e[i],s=e[i+1];if(i+=2,("optionalAccess"===n||"optionalCall"===n)&&null==a)return;"access"===n||"optionalAccess"===n?(t=a,a=s(a)):"call"!==n&&"optionalCall"!==n||(a=s(((...e)=>a.call(t,...e))),t=void 0)}return a}class H extends A.Component{static __initStatic(){this.propTypes={classes:M.object,onModelChanged:M.func.isRequired,model:M.object.isRequired,configuration:M.object.isRequired,imageSupport:M.object.isRequired,passageIndex:M.number.isRequired,uploadSoundSupport:M.object.isRequired}}static __initStatic2(){this.defaultProps={passageIndex:0}}constructor(e){super(e),H.prototype.__init.call(this)}__init(){this.handleChange=(e,t)=>{const{model:a,onModelChanged:i,passageIndex:n}=this.props;if(!a.passages||n<0||n>=a.passages.length)return;const s=[...a.passages];s[n]={...s[n],[e]:t},i({...a,passages:s})}}render(){const{model:e,classes:t,configuration:a,imageSupport:i,passageIndex:n,uploadSoundSupport:s}=this.props,{maxImageWidth:l={},maxImageHeight:o={},mathMlOptions:r={},baseInputConfiguration:d={},teacherInstructions:u={},title:c={},subtitle:g={},text:p={},author:h={}}=a||{},{errors:m={},passages:b=[],teacherInstructionsEnabled:C,titleEnabled:_,subtitleEnabled:E,authorEnabled:x,textEnabled:f}=e||{},{passages:S}=m||{},{teacherInstructions:v,title:I,subtitle:P,author:T,text:y}=S&&S[n]||{},R=l&&l.prompt,q=o&&o.prompt,D=e=>({...d,...e});return A.createElement(A.Fragment,null,C&&A.createElement(j,{label:u.label,className:t.inputContainer},A.createElement(N,{activePlugins:O,markup:b[n].teacherInstructions||"",onChange:e=>this.handleChange("teacherInstructions",e),nonEmpty:!1,error:v,maxImageWidth:l&&l.teacherInstructions||R,maxImageHeight:o&&o.teacherInstructions||q,mathMlOptions:r,languageCharactersProps:[{language:"spanish"},{language:"special"}],pluginProps:D(Y([u,"optionalAccess",e=>e.inputConfiguration]))}),v&&A.createElement("div",{className:t.errorText},v)),_&&A.createElement(j,{label:c.label,className:t.inputContainer},A.createElement(N,{activePlugins:O,markup:b[n].title||"",onChange:e=>this.handleChange("title",e),nonEmpty:!1,error:I,mathMlOptions:r,languageCharactersProps:[{language:"spanish"},{language:"special"}],pluginProps:D(Y([c,"optionalAccess",e=>e.inputConfiguration]))}),I&&A.createElement("div",{className:t.errorText},I)),E&&A.createElement(j,{label:g.label,className:t.inputContainer},A.createElement(N,{activePlugins:O,markup:b[n].subtitle||"",onChange:e=>this.handleChange("subtitle",e),nonEmpty:!1,error:P,mathMlOptions:r,languageCharactersProps:[{language:"spanish"},{language:"special"}],pluginProps:D(Y([g,"optionalAccess",e=>e.inputConfiguration]))}),P&&A.createElement("div",{className:t.errorText},P)),x&&A.createElement(j,{label:h.label,className:t.inputContainer},A.createElement(N,{activePlugins:O,markup:b[n].author||"",onChange:e=>this.handleChange("author",e),nonEmpty:!1,error:T,mathMlOptions:r,languageCharactersProps:[{language:"spanish"},{language:"special"}],pluginProps:D(Y([h,"optionalAccess",e=>e.inputConfiguration]))}),T&&A.createElement("div",{className:t.errorText},T)),f&&A.createElement(j,{label:p.label,className:t.inputContainer},A.createElement(N,{activePlugins:O,markup:b[n].text||"",onChange:e=>this.handleChange("text",e),imageSupport:i,uploadSoundSupport:s,nonEmpty:!1,error:y,maxImageWidth:l&&l.text||R,maxImageHeight:o&&o.text||q,mathMlOptions:r,languageCharactersProps:[{language:"spanish"},{language:"special"}],pluginProps:D(Y([p,"optionalAccess",e=>e.inputConfiguration]))}),y&&A.createElement("div",{className:t.errorText},y)))}}H.__initStatic(),H.__initStatic2();var L=w((e=>({inputContainer:{paddingTop:2*e.spacing.unit,marginBottom:2*e.spacing.unit,width:"100%"},errorText:{fontSize:e.typography.fontSize-2,color:e.palette.error.main,paddingTop:e.spacing.unit}})))(H);const W=a,z=e,{withStyles:B}=t,{Typography:$}=i,{settings:F}=l,{layout:U}=l,{Panel:G,toggle:J,dropdown:K}=F;class Q extends W.Component{static __initStatic(){this.propTypes={onModelChanged:z.func.isRequired,onConfigurationChanged:z.func,model:z.object.isRequired,configuration:z.object.isRequired,imageSupport:z.object.isRequired,uploadSoundSupport:z.object.isRequired,classes:z.object.isRequired}}constructor(e){super(e),Q.prototype.__init.call(this),Q.prototype.__init2.call(this),Q.prototype.__init3.call(this),Q.prototype.__init4.call(this),this.state={showConfirmationDialog:!1,indexToRemove:-1}}__init(){this.getInnerText=e=>(e||"").replaceAll(/<[^>]*>/g,"")}__init2(){this.onDelete=(e,t,a)=>{let i=e.passages;i.splice(t,1),a({...e,passages:i}),this.setState({showConfirmationDialog:!1,indexToRemove:-1})}}__init3(){this.removeAdditionalPassage=e=>{const{model:t={},onModelChanged:a}=this.props,{passages:i=[]}=t,{teacherInstructions:n="",title:s="",subtitle:l="",author:o="",text:r=""}=i[e];this.getInnerText(n).trim()||this.getInnerText(s).trim()||this.getInnerText(l).trim()||this.getInnerText(o).trim()||this.getInnerText(r).trim()?this.setState({showConfirmationDialog:!0,indexToRemove:e}):this.onDelete(t,e,a)}}__init4(){this.addAdditionalPassage=()=>{const{model:e,onModelChanged:t}=this.props,a=[...e.passages,{teacherInstructions:"",title:"",subtitle:"",author:"",text:""}];t({...e,passages:a})}}render(){const{classes:e,model:t,configuration:a,imageSupport:i,onConfigurationChanged:n,onModelChanged:s,uploadSoundSupport:l}=this.props,{settingsPanelDisabled:o,language:r={},languageChoices:d={},teacherInstructions:u={},title:c={},subtitle:g={},text:p={},author:h={},additionalPassage:m={}}=a||{},{extraCSSRules:b,passages:C}=t||{},_={titleEnabled:c&&c.settings&&J(c.label),subtitleEnabled:g&&g.settings&&J(g.label),authorEnabled:h&&h.settings&&J(h.label),textEnabled:p&&p.settings&&J(p.label),"additionalPassage.enabled":m&&m.settings&&J(m.label,!0)},E={teacherInstructionsEnabled:u&&u.settings&&J(u.label),"language.enabled":r&&r.settings&&J(r.label,!0),language:r&&r.settings&&r.enabled&&K(d.label,d.options)},x=`${m.label} will be deleted`,{indexToRemove:f,showConfirmationDialog:S}=this.state;return W.createElement(U.ConfigLayout,{extraCSSRules:b,hideSettings:o,settings:W.createElement(G,{model:t,configuration:a,onChangeModel:e=>s(e),onChangeConfiguration:e=>n(e),groups:{Settings:_,Properties:E}})},C.map(((n,o)=>W.createElement(W.Fragment,{key:o},o>0&&W.createElement($,{variant:"h5",className:e.additionalPassageHeading},m.label),W.createElement(L,{imageSupport:i,uploadSoundSupport:l,model:t,configuration:a,passageIndex:o,onModelChanged:s}),o>0&&m.enabled&&W.createElement(D,{type:"remove",label:`Remove ${m.label}`,onClick:()=>this.removeAdditionalPassage(o)}),0===o&&m.enabled&&C.length<2&&W.createElement(D,{label:`Add ${m.label}`,onClick:this.addAdditionalPassage})))),W.createElement(k,{open:S,title:"Warning",content:x,cancel:"Cancel",ok:"Ok",onCancel:()=>this.setState({showConfirmationDialog:!1}),onOk:()=>this.onDelete(t,f,s)}))}}Q.__initStatic();var V=B((e=>({additionalPassageHeading:{paddingTop:2*e.spacing.unit,marginBottom:2*e.spacing.unit}})))(Q),X={authorEnabled:!0,passages:[{teacherInstructions:"",title:"",subtitle:"",author:"",text:""}],subtitleEnabled:!0,teacherInstructionsEnabled:!0,textEnabled:!0,titleEnabled:!0},Z={baseInputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1},h3:{disabled:!0},blockquote:{disabled:!0},textAlign:{disabled:!0},showParagraphs:{disabled:!1},separateParagraphs:{disabled:!0}},settingsPanelDisabled:!1,title:{settings:!0,label:"Title",inputConfiguration:{audio:{disabled:!0},video:{disabled:!0},image:{disabled:!0},textAlign:{disabled:!1}},required:!0},subtitle:{settings:!0,label:"Subtitle",inputConfiguration:{audio:{disabled:!0},video:{disabled:!0},image:{disabled:!0},textAlign:{disabled:!1}},required:!1},author:{settings:!0,label:"Author",inputConfiguration:{audio:{disabled:!0},video:{disabled:!0},image:{disabled:!0}},required:!1},text:{settings:!0,label:"Text",inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1},h3:{disabled:!1},blockquote:{disabled:!1},textAlign:{disabled:!1}},required:!0},teacherInstructions:{settings:!0,label:"Teacher Instructions",inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}},required:!1},maxImageWidth:{teacherInstructions:300,text:300},maxImageHeight:{teacherInstructions:300,text:300},mathMlOptions:{mmlOutput:!1,mmlEditing:!1},language:{settings:!1,label:"Specify Language",enabled:!1},languageChoices:{label:"Language Choices",options:[]},additionalPassage:{settings:!0,label:"Additional Passage",enabled:!1}};const ee=a,te=s;class ae extends HTMLElement{static __initStatic(){this.createDefaultModel=(e={})=>({...X,...e})}constructor(){super(),this._model=ae.createDefaultModel(),this._configuration=Z}set model(e){this._model=ae.createDefaultModel(e),this.render()}set configuration(e){this._configuration=e,this.render()}connectedCallback(){this.render()}modelChanged(e){this._model=e,this.dispatchEvent(new u(this._model),!0),this.render()}onConfigurationChanged(e){this._configuration=e,this.render()}insertImage(e){this.dispatchEvent(new h(e))}onDeleteImage(e,t){this.dispatchEvent(new g(e,t))}insertSound(e){this.dispatchEvent(new _(e))}onDeleteSound(e,t){this.dispatchEvent(new b(e,t))}render(){if(this._model){const e=ee.createElement(V,{model:this._model,configuration:this._configuration,onModelChanged:this.modelChanged.bind(this),onConfigurationChanged:this.onConfigurationChanged.bind(this),imageSupport:{add:this.insertImage.bind(this),delete:this.onDeleteImage.bind(this)},uploadSoundSupport:{add:this.insertSound.bind(this),delete:this.onDeleteSound.bind(this)}});te.render(e,this)}}}ae.__initStatic();export{ae as default};
package/module/element.js CHANGED
@@ -1 +1 @@
1
- import{_dll_pie_lib__math_rendering as e}from"../../../@pie-lib/math-rendering-module@^3.1.4/module/index.js";import{_dll_react as t,_dll_prop_types as s,_dll_material_ui__core as a,_dll_material_ui__core_styles as n,_dll_pie_lib__render_ui as i,_dll_classnames as r,_dll_react_dom as o}from"../../../@pie-lib/shared-module@^1.17.4/module/index.js";var l={};Object.defineProperty(l,"__esModule",{value:!0});class c extends CustomEvent{constructor(e,t,s){super(c.TYPE,{bubbles:!0,composed:!0,detail:{complete:t,component:e,hasModel:s}}),this.component=e,this.complete=t}}c.TYPE="model-set";var d=l.ModelSetEvent=c;class u extends CustomEvent{constructor(e,t){super(u.TYPE,{bubbles:!0,composed:!0,detail:{complete:t,component:e}}),this.component=e,this.complete=t}}u.TYPE="session-changed",l.SessionChangedEvent=u;const p=t,h=s,{Tabs:m}=a,{Tab:b}=a,{withStyles:g}=n,{Collapsible:_}=i,{color:T}=i,{PreviewPrompt:E}=i,{Purpose:x}=i,{UiLayout:v}=i,y=r;class f extends p.Component{constructor(...e){super(...e),f.prototype.__init.call(this),f.prototype.__init2.call(this),f.prototype.__init3.call(this),f.prototype.__init4.call(this)}__init(){this.state={activeTab:0}}__init2(){this.handleChange=(e,t)=>{this.setState((()=>({activeTab:t}))),setTimeout((()=>{const e=new CustomEvent("pie-ui-passage-tabChanged",{detail:{tab:t}});window.dispatchEvent(e)}))}}__init3(){this.handleKeyDown=(e,t)=>{const{key:s}=e,{tabs:a}=this.props;let n=-1;const i=a.findIndex((e=>e.id===t));switch(s){case"ArrowRight":n=(i+1)%a.length;break;case"ArrowLeft":n=(i-1+a.length)%a.length;break;case"Home":n=0;break;case"End":n=a.length-1;break;case"Enter":case" ":n=i}-1!==n&&(e.preventDefault(),this.handleChange(e,a[n].id),document.getElementById(`button-${a[n].id}`).focus())}}__init4(){this.parsedText=(e="")=>{const t=document.createElement("div");t.innerHTML=e.replace(/(<br\/>\n)/g,"<br/>");const s=t.querySelector("audio");if(s){const e=document.createElement("source");e.setAttribute("type","audio/mp3"),e.setAttribute("src",s.getAttribute("src")),s.removeAttribute("src"),s.appendChild(e)}return t.innerHTML}}renderInstructions(e,t=!1){if(!e)return;const s=p.createElement(E,{tagName:"div",className:"prompt",defaultClassName:"teacher-instructions",prompt:e});return t?s:p.createElement(_,{labels:{hidden:"Show Teacher Instructions",visible:"Hide Teacher Instructions"}},s)}renderTab(e,t){const{classes:s}=this.props;return p.createElement("div",{className:y(s.passage,"passage"),key:e.id,id:`tabpanel-${e.id}`,role:"tabpanel","aria-labelledby":`button-${e.id}`},this.renderInstructions(e.teacherInstructions,t),(e.title||e.subtitle)&&p.createElement("h2",null,e.title&&p.createElement(x,{purpose:"passage-title"},p.createElement("div",{className:y(s.passageTitle,"title"),dangerouslySetInnerHTML:{__html:this.parsedText(e.title)}})),e.subtitle&&p.createElement(x,{purpose:"passage-subtitle"},p.createElement("div",{className:y(s.passageSubtitle,"subtitle"),dangerouslySetInnerHTML:{__html:this.parsedText(e.subtitle)}}))),e.author&&p.createElement(x,{purpose:"passage-author"},p.createElement("div",{className:y(s.passageAuthor,"author"),dangerouslySetInnerHTML:{__html:this.parsedText(e.author)}})),e.text&&p.createElement(x,{purpose:"passage-text"},p.createElement("div",{key:e.id,className:y(s.passageText,"text"),dangerouslySetInnerHTML:{__html:this.parsedText(e.text)}})))}render(){const{classes:e,model:t,tabs:s,disabledTabs:a}=this.props,{activeTab:n}=this.state;if(!function(e){let t,s=e[0],a=1;for(;a<e.length;){const n=e[a],i=e[a+1];if(a+=2,("optionalAccess"===n||"optionalCall"===n)&&null==s)return;"access"===n||"optionalAccess"===n?(t=s,s=i(s)):"call"!==n&&"optionalCall"!==n||(s=i(((...e)=>s.call(t,...e))),t=void 0)}return s}([s,"optionalAccess",e=>e.length]))return;const{extraCSSRules:i}=t||{},r=(s||[]).find((e=>e.id===n));return p.createElement(v,{extraCSSRules:i,className:y(e.passages,"passages")},a||1===s.length?s.map((e=>this.renderTab(e,a))):p.createElement(p.Fragment,null,p.createElement(m,{classes:{root:e.stickyTabs,flexContainer:e.tabButton},value:n,onChange:this.handleChange},s.map((t=>p.createElement(b,{className:e.tab,key:t.id,id:`button-${t.id}`,label:p.createElement(x,{purpose:"passage-label"},p.createElement("span",{dangerouslySetInnerHTML:{__html:this.parsedText(t.label)}})),value:t.id,tabIndex:n===t.id?0:-1,"aria-controls":`tabpanel-${t.id}`,"aria-selected":n===t.id,onFocus:()=>this.handleChange(null,t.id),onKeyDown:e=>this.handleKeyDown(e,t.id)})))),r?this.renderTab(r,a):null))}}f.propTypes={classes:h.object.isRequired,tabs:h.arrayOf(h.shape({id:h.number.isRequired,label:h.string.isRequired,title:h.string.isRequired,subtitle:h.string,author:h.string,text:h.string.isRequired,teacherInstructions:h.string}).isRequired).isRequired,disabledTabs:h.bool};var C=g((e=>({passages:{flexGrow:1,backgroundColor:T.background(),color:T.text(),"&:not(.MathJax) table":{borderCollapse:"collapse"},"&:not(.MathJax) table td, &:not(.MathJax) table th":{padding:".6em 1em",textAlign:"left"}},passage:{backgroundColor:T.background(),color:T.text(),padding:2*e.spacing.unit},passageTitle:{fontSize:"1.75rem"},passageSubtitle:{fontSize:"1.5rem"},passageAuthor:{fontSize:"1.25rem"},passageText:{},stickyTabs:{background:T.background(),position:"sticky",top:0},tab:{background:e.palette.common.white,fontSize:"inherit",color:e.palette.common.black},tabButton:{background:e.palette.common.white},teacherInstructions:{marginBottom:2*e.spacing.unit}})))(f);const{renderMath:k}=e,S=t,w=o;class A extends HTMLElement{constructor(){super(),this._model={passages:[]},this._session=null}setLangAttribute(){const e=this._model&&(this._model.language,1)?this._model.language:"",t=e?e.slice(0,2):"en";this.setAttribute("lang",t)}set model(e){this._model=e,this.dispatchEvent(new d(this.tagName.toLowerCase(),this._session,!!this._model)),this.setLangAttribute(),this._render()}set session(e){this._session=e}connectedCallback(){this.setAttribute("aria-label","Passage"),this.setAttribute("role","region"),this._render()}_render(){const{passages:e=[]}=this._model;if(this._model.passages.length>0){const t=e.map(((e,t)=>({id:t,...e}))),s=S.createElement(C,{tabs:t});w.render(s,this,(()=>k(this)))}}}export{A as default};
1
+ import{_dll_pie_lib__math_rendering as e}from"../../../@pie-lib/math-rendering-module@^3.1.5/module/index.js";import{_dll_react as t,_dll_prop_types as s,_dll_material_ui__core as a,_dll_material_ui__core_styles as n,_dll_pie_lib__render_ui as i,_dll_classnames as r,_dll_react_dom as o}from"../../../@pie-lib/shared-module@^1.17.5/module/index.js";var l={};Object.defineProperty(l,"__esModule",{value:!0});class c extends CustomEvent{constructor(e,t,s){super(c.TYPE,{bubbles:!0,composed:!0,detail:{complete:t,component:e,hasModel:s}}),this.component=e,this.complete=t}}c.TYPE="model-set";var d=l.ModelSetEvent=c;class u extends CustomEvent{constructor(e,t){super(u.TYPE,{bubbles:!0,composed:!0,detail:{complete:t,component:e}}),this.component=e,this.complete=t}}u.TYPE="session-changed",l.SessionChangedEvent=u;const p=t,h=s,{Tabs:m}=a,{Tab:b}=a,{withStyles:g}=n,{Collapsible:_}=i,{color:T}=i,{PreviewPrompt:E}=i,{Purpose:x}=i,{UiLayout:v}=i,y=r;class f extends p.Component{constructor(...e){super(...e),f.prototype.__init.call(this),f.prototype.__init2.call(this),f.prototype.__init3.call(this),f.prototype.__init4.call(this)}__init(){this.state={activeTab:0}}__init2(){this.handleChange=(e,t)=>{this.setState((()=>({activeTab:t}))),setTimeout((()=>{const e=new CustomEvent("pie-ui-passage-tabChanged",{detail:{tab:t}});window.dispatchEvent(e)}))}}__init3(){this.handleKeyDown=(e,t)=>{const{key:s}=e,{tabs:a}=this.props;let n=-1;const i=a.findIndex((e=>e.id===t));switch(s){case"ArrowRight":n=(i+1)%a.length;break;case"ArrowLeft":n=(i-1+a.length)%a.length;break;case"Home":n=0;break;case"End":n=a.length-1;break;case"Enter":case" ":n=i}-1!==n&&(e.preventDefault(),this.handleChange(e,a[n].id),document.getElementById(`button-${a[n].id}`).focus())}}__init4(){this.parsedText=(e="")=>{const t=document.createElement("div");t.innerHTML=e.replace(/(<br\/>\n)/g,"<br/>");const s=t.querySelector("audio");if(s){const e=document.createElement("source");e.setAttribute("type","audio/mp3"),e.setAttribute("src",s.getAttribute("src")),s.removeAttribute("src"),s.appendChild(e)}return t.innerHTML}}renderInstructions(e,t=!1){if(!e)return;const s=p.createElement(E,{tagName:"div",className:"prompt",defaultClassName:"teacher-instructions",prompt:e});return t?s:p.createElement(_,{labels:{hidden:"Show Teacher Instructions",visible:"Hide Teacher Instructions"}},s)}renderTab(e,t){const{classes:s}=this.props;return p.createElement("div",{className:y(s.passage,"passage"),key:e.id,id:`tabpanel-${e.id}`,role:"tabpanel","aria-labelledby":`button-${e.id}`},this.renderInstructions(e.teacherInstructions,t),(e.title||e.subtitle)&&p.createElement("h2",null,e.title&&p.createElement(x,{purpose:"passage-title"},p.createElement("div",{className:y(s.passageTitle,"title"),dangerouslySetInnerHTML:{__html:this.parsedText(e.title)}})),e.subtitle&&p.createElement(x,{purpose:"passage-subtitle"},p.createElement("div",{className:y(s.passageSubtitle,"subtitle"),dangerouslySetInnerHTML:{__html:this.parsedText(e.subtitle)}}))),e.author&&p.createElement(x,{purpose:"passage-author"},p.createElement("div",{className:y(s.passageAuthor,"author"),dangerouslySetInnerHTML:{__html:this.parsedText(e.author)}})),e.text&&p.createElement(x,{purpose:"passage-text"},p.createElement("div",{key:e.id,className:y(s.passageText,"text"),dangerouslySetInnerHTML:{__html:this.parsedText(e.text)}})))}render(){const{classes:e,model:t,tabs:s,disabledTabs:a}=this.props,{activeTab:n}=this.state;if(!function(e){let t,s=e[0],a=1;for(;a<e.length;){const n=e[a],i=e[a+1];if(a+=2,("optionalAccess"===n||"optionalCall"===n)&&null==s)return;"access"===n||"optionalAccess"===n?(t=s,s=i(s)):"call"!==n&&"optionalCall"!==n||(s=i(((...e)=>s.call(t,...e))),t=void 0)}return s}([s,"optionalAccess",e=>e.length]))return;const{extraCSSRules:i}=t||{},r=(s||[]).find((e=>e.id===n));return p.createElement(v,{extraCSSRules:i,className:y(e.passages,"passages")},a||1===s.length?s.map((e=>this.renderTab(e,a))):p.createElement(p.Fragment,null,p.createElement(m,{classes:{root:e.stickyTabs,flexContainer:e.tabButton},value:n,onChange:this.handleChange},s.map((t=>p.createElement(b,{className:e.tab,key:t.id,id:`button-${t.id}`,label:p.createElement(x,{purpose:"passage-label"},p.createElement("span",{dangerouslySetInnerHTML:{__html:this.parsedText(t.label)}})),value:t.id,tabIndex:n===t.id?0:-1,"aria-controls":`tabpanel-${t.id}`,"aria-selected":n===t.id,onFocus:()=>this.handleChange(null,t.id),onKeyDown:e=>this.handleKeyDown(e,t.id)})))),r?this.renderTab(r,a):null))}}f.propTypes={classes:h.object.isRequired,tabs:h.arrayOf(h.shape({id:h.number.isRequired,label:h.string.isRequired,title:h.string.isRequired,subtitle:h.string,author:h.string,text:h.string.isRequired,teacherInstructions:h.string}).isRequired).isRequired,disabledTabs:h.bool};var C=g((e=>({passages:{flexGrow:1,backgroundColor:T.background(),color:T.text(),"&:not(.MathJax) table":{borderCollapse:"collapse"},"&:not(.MathJax) table td, &:not(.MathJax) table th":{padding:".6em 1em",textAlign:"left"}},passage:{backgroundColor:T.background(),color:T.text(),padding:2*e.spacing.unit},passageTitle:{fontSize:"1.75rem"},passageSubtitle:{fontSize:"1.5rem"},passageAuthor:{fontSize:"1.25rem"},passageText:{},stickyTabs:{background:T.background(),position:"sticky",top:0},tab:{background:e.palette.common.white,fontSize:"inherit",color:e.palette.common.black},tabButton:{background:e.palette.common.white},teacherInstructions:{marginBottom:2*e.spacing.unit}})))(f);const{renderMath:k}=e,S=t,w=o;class A extends HTMLElement{constructor(){super(),this._model={passages:[]},this._session=null}setLangAttribute(){const e=this._model&&(this._model.language,1)?this._model.language:"",t=e?e.slice(0,2):"en";this.setAttribute("lang",t)}set model(e){this._model=e,this.dispatchEvent(new d(this.tagName.toLowerCase(),this._session,!!this._model)),this.setLangAttribute(),this._render()}set session(e){this._session=e}connectedCallback(){this.setAttribute("aria-label","Passage"),this.setAttribute("role","region"),this._render()}_render(){const{passages:e=[]}=this._model;if(this._model.passages.length>0){const t=e.map(((e,t)=>({id:t,...e}))),s=S.createElement(C,{tabs:t});w.render(s,this,(()=>k(this)))}}}export{A as default};
package/module/index.html CHANGED
@@ -2,7 +2,7 @@
2
2
  <!doctype html>
3
3
  <html>
4
4
  <head>
5
- <title>@pie-element/passage@5.3.2</title>
5
+ <title>@pie-element/passage@5.3.3</title>
6
6
  <script
7
7
  type="module"
8
8
  src="https://cdn.jsdelivr.net/npm/@pslb/demo-el@^1.0.0/dist/demo-el/demo-el.esm.js"></script>
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@pie-element/passage",
3
- "version": "5.3.2",
3
+ "version": "5.3.3",
4
4
  "modules": [
5
5
  {
6
6
  "name": "@pie-lib/shared-module",
7
- "version": "^1.17.4"
7
+ "version": "^1.17.5"
8
8
  }
9
9
  ]
10
10
  }
package/module/print.html CHANGED
@@ -2,7 +2,7 @@
2
2
  <!doctype html>
3
3
  <html>
4
4
  <head>
5
- <title>@pie-element/passage@5.3.2</title>
5
+ <title>@pie-element/passage@5.3.3</title>
6
6
  <link
7
7
  href="https://fonts.googleapis.com/css?family=Roboto&display=swap"
8
8
  rel="stylesheet"
package/module/print.js CHANGED
@@ -1 +1 @@
1
- import{_dll_react as e,_dll_prop_types as t,_dll_material_ui__core as s,_dll_material_ui__core_styles as a,_dll_pie_lib__render_ui as n,_dll_classnames as i,_dll_react_dom as r,_dll_lodash as l,_dll_debug as o}from"../../../@pie-lib/shared-module@^1.17.4/module/index.js";const c=e,d=t,{Tabs:u}=s,{Tab:p}=s,{withStyles:h}=a,{Collapsible:b}=n,{color:m}=n,{PreviewPrompt:g}=n,{Purpose:_}=n,{UiLayout:E}=n,T=i;class x extends c.Component{constructor(...e){super(...e),x.prototype.__init.call(this),x.prototype.__init2.call(this),x.prototype.__init3.call(this),x.prototype.__init4.call(this)}__init(){this.state={activeTab:0}}__init2(){this.handleChange=(e,t)=>{this.setState((()=>({activeTab:t}))),setTimeout((()=>{const e=new CustomEvent("pie-ui-passage-tabChanged",{detail:{tab:t}});window.dispatchEvent(e)}))}}__init3(){this.handleKeyDown=(e,t)=>{const{key:s}=e,{tabs:a}=this.props;let n=-1;const i=a.findIndex((e=>e.id===t));switch(s){case"ArrowRight":n=(i+1)%a.length;break;case"ArrowLeft":n=(i-1+a.length)%a.length;break;case"Home":n=0;break;case"End":n=a.length-1;break;case"Enter":case" ":n=i}-1!==n&&(e.preventDefault(),this.handleChange(e,a[n].id),document.getElementById(`button-${a[n].id}`).focus())}}__init4(){this.parsedText=(e="")=>{const t=document.createElement("div");t.innerHTML=e.replace(/(<br\/>\n)/g,"<br/>");const s=t.querySelector("audio");if(s){const e=document.createElement("source");e.setAttribute("type","audio/mp3"),e.setAttribute("src",s.getAttribute("src")),s.removeAttribute("src"),s.appendChild(e)}return t.innerHTML}}renderInstructions(e,t=!1){if(!e)return;const s=c.createElement(g,{tagName:"div",className:"prompt",defaultClassName:"teacher-instructions",prompt:e});return t?s:c.createElement(b,{labels:{hidden:"Show Teacher Instructions",visible:"Hide Teacher Instructions"}},s)}renderTab(e,t){const{classes:s}=this.props;return c.createElement("div",{className:T(s.passage,"passage"),key:e.id,id:`tabpanel-${e.id}`,role:"tabpanel","aria-labelledby":`button-${e.id}`},this.renderInstructions(e.teacherInstructions,t),(e.title||e.subtitle)&&c.createElement("h2",null,e.title&&c.createElement(_,{purpose:"passage-title"},c.createElement("div",{className:T(s.passageTitle,"title"),dangerouslySetInnerHTML:{__html:this.parsedText(e.title)}})),e.subtitle&&c.createElement(_,{purpose:"passage-subtitle"},c.createElement("div",{className:T(s.passageSubtitle,"subtitle"),dangerouslySetInnerHTML:{__html:this.parsedText(e.subtitle)}}))),e.author&&c.createElement(_,{purpose:"passage-author"},c.createElement("div",{className:T(s.passageAuthor,"author"),dangerouslySetInnerHTML:{__html:this.parsedText(e.author)}})),e.text&&c.createElement(_,{purpose:"passage-text"},c.createElement("div",{key:e.id,className:T(s.passageText,"text"),dangerouslySetInnerHTML:{__html:this.parsedText(e.text)}})))}render(){const{classes:e,model:t,tabs:s,disabledTabs:a}=this.props,{activeTab:n}=this.state;if(!function(e){let t,s=e[0],a=1;for(;a<e.length;){const n=e[a],i=e[a+1];if(a+=2,("optionalAccess"===n||"optionalCall"===n)&&null==s)return;"access"===n||"optionalAccess"===n?(t=s,s=i(s)):"call"!==n&&"optionalCall"!==n||(s=i(((...e)=>s.call(t,...e))),t=void 0)}return s}([s,"optionalAccess",e=>e.length]))return;const{extraCSSRules:i}=t||{},r=(s||[]).find((e=>e.id===n));return c.createElement(E,{extraCSSRules:i,className:T(e.passages,"passages")},a||1===s.length?s.map((e=>this.renderTab(e,a))):c.createElement(c.Fragment,null,c.createElement(u,{classes:{root:e.stickyTabs,flexContainer:e.tabButton},value:n,onChange:this.handleChange},s.map((t=>c.createElement(p,{className:e.tab,key:t.id,id:`button-${t.id}`,label:c.createElement(_,{purpose:"passage-label"},c.createElement("span",{dangerouslySetInnerHTML:{__html:this.parsedText(t.label)}})),value:t.id,tabIndex:n===t.id?0:-1,"aria-controls":`tabpanel-${t.id}`,"aria-selected":n===t.id,onFocus:()=>this.handleChange(null,t.id),onKeyDown:e=>this.handleKeyDown(e,t.id)})))),r?this.renderTab(r,a):null))}}x.propTypes={classes:d.object.isRequired,tabs:d.arrayOf(d.shape({id:d.number.isRequired,label:d.string.isRequired,title:d.string.isRequired,subtitle:d.string,author:d.string,text:d.string.isRequired,teacherInstructions:d.string}).isRequired).isRequired,disabledTabs:d.bool};var y=h((e=>({passages:{flexGrow:1,backgroundColor:m.background(),color:m.text(),"&:not(.MathJax) table":{borderCollapse:"collapse"},"&:not(.MathJax) table td, &:not(.MathJax) table th":{padding:".6em 1em",textAlign:"left"}},passage:{backgroundColor:m.background(),color:m.text(),padding:2*e.spacing.unit},passageTitle:{fontSize:"1.75rem"},passageSubtitle:{fontSize:"1.5rem"},passageAuthor:{fontSize:"1.25rem"},passageText:{},stickyTabs:{background:m.background(),position:"sticky",top:0},tab:{background:e.palette.common.white,fontSize:"inherit",color:e.palette.common.black},tabButton:{background:e.palette.common.white},teacherInstructions:{marginBottom:2*e.spacing.unit}})))(x);const f=e,k=r,{debounce:v}=l,C=o("pie-element:passage:print"),I=(e,t)=>(e=>null!=e)(e)?e:t;class S extends HTMLElement{constructor(){super(),this._model=null,this._options=null,this._session=[],this._rerender=v((()=>{if(this._model&&this._session){if(this._model.passages&&this._model.passages.length>0){const e=((e,t)=>{const s="instructor"===t.role,a=I(e.teacherInstructionsEnabled,!0),n=I(e.titleEnabled,!0),i=I(e.authorEnabled,!1),r=I(e.subtitleEnabled,!0),l=I(e.textEnabled,!0);return e.passages.map(((e,t)=>({id:t,teacherInstructions:I(e.teacherInstructionsEnabled,a)&&s&&e.teacherInstructions||"",label:e.title||`Passage ${t+1}`,title:I(e.titleEnabled,n)&&e.title||"",author:I(e.authorEnabled,i)&&e.author||"",subtitle:I(e.subtitleEnabled,r)&&e.subtitle||"",text:I(e.textEnabled,l)&&e.text||""})))})(this._model,this._options),t=f.createElement(y,{disabledTabs:!0,tabs:e});k.render(t,this)}}else C("skip")}),50,{leading:!1,trailing:!0})}set model(e){this._model=e,this._rerender()}set options(e){this._options=e}connectedCallback(){}}export{S as default};
1
+ import{_dll_react as e,_dll_prop_types as t,_dll_material_ui__core as s,_dll_material_ui__core_styles as a,_dll_pie_lib__render_ui as n,_dll_classnames as i,_dll_react_dom as r,_dll_lodash as l,_dll_debug as o}from"../../../@pie-lib/shared-module@^1.17.5/module/index.js";const c=e,d=t,{Tabs:u}=s,{Tab:p}=s,{withStyles:h}=a,{Collapsible:b}=n,{color:m}=n,{PreviewPrompt:g}=n,{Purpose:_}=n,{UiLayout:E}=n,T=i;class x extends c.Component{constructor(...e){super(...e),x.prototype.__init.call(this),x.prototype.__init2.call(this),x.prototype.__init3.call(this),x.prototype.__init4.call(this)}__init(){this.state={activeTab:0}}__init2(){this.handleChange=(e,t)=>{this.setState((()=>({activeTab:t}))),setTimeout((()=>{const e=new CustomEvent("pie-ui-passage-tabChanged",{detail:{tab:t}});window.dispatchEvent(e)}))}}__init3(){this.handleKeyDown=(e,t)=>{const{key:s}=e,{tabs:a}=this.props;let n=-1;const i=a.findIndex((e=>e.id===t));switch(s){case"ArrowRight":n=(i+1)%a.length;break;case"ArrowLeft":n=(i-1+a.length)%a.length;break;case"Home":n=0;break;case"End":n=a.length-1;break;case"Enter":case" ":n=i}-1!==n&&(e.preventDefault(),this.handleChange(e,a[n].id),document.getElementById(`button-${a[n].id}`).focus())}}__init4(){this.parsedText=(e="")=>{const t=document.createElement("div");t.innerHTML=e.replace(/(<br\/>\n)/g,"<br/>");const s=t.querySelector("audio");if(s){const e=document.createElement("source");e.setAttribute("type","audio/mp3"),e.setAttribute("src",s.getAttribute("src")),s.removeAttribute("src"),s.appendChild(e)}return t.innerHTML}}renderInstructions(e,t=!1){if(!e)return;const s=c.createElement(g,{tagName:"div",className:"prompt",defaultClassName:"teacher-instructions",prompt:e});return t?s:c.createElement(b,{labels:{hidden:"Show Teacher Instructions",visible:"Hide Teacher Instructions"}},s)}renderTab(e,t){const{classes:s}=this.props;return c.createElement("div",{className:T(s.passage,"passage"),key:e.id,id:`tabpanel-${e.id}`,role:"tabpanel","aria-labelledby":`button-${e.id}`},this.renderInstructions(e.teacherInstructions,t),(e.title||e.subtitle)&&c.createElement("h2",null,e.title&&c.createElement(_,{purpose:"passage-title"},c.createElement("div",{className:T(s.passageTitle,"title"),dangerouslySetInnerHTML:{__html:this.parsedText(e.title)}})),e.subtitle&&c.createElement(_,{purpose:"passage-subtitle"},c.createElement("div",{className:T(s.passageSubtitle,"subtitle"),dangerouslySetInnerHTML:{__html:this.parsedText(e.subtitle)}}))),e.author&&c.createElement(_,{purpose:"passage-author"},c.createElement("div",{className:T(s.passageAuthor,"author"),dangerouslySetInnerHTML:{__html:this.parsedText(e.author)}})),e.text&&c.createElement(_,{purpose:"passage-text"},c.createElement("div",{key:e.id,className:T(s.passageText,"text"),dangerouslySetInnerHTML:{__html:this.parsedText(e.text)}})))}render(){const{classes:e,model:t,tabs:s,disabledTabs:a}=this.props,{activeTab:n}=this.state;if(!function(e){let t,s=e[0],a=1;for(;a<e.length;){const n=e[a],i=e[a+1];if(a+=2,("optionalAccess"===n||"optionalCall"===n)&&null==s)return;"access"===n||"optionalAccess"===n?(t=s,s=i(s)):"call"!==n&&"optionalCall"!==n||(s=i(((...e)=>s.call(t,...e))),t=void 0)}return s}([s,"optionalAccess",e=>e.length]))return;const{extraCSSRules:i}=t||{},r=(s||[]).find((e=>e.id===n));return c.createElement(E,{extraCSSRules:i,className:T(e.passages,"passages")},a||1===s.length?s.map((e=>this.renderTab(e,a))):c.createElement(c.Fragment,null,c.createElement(u,{classes:{root:e.stickyTabs,flexContainer:e.tabButton},value:n,onChange:this.handleChange},s.map((t=>c.createElement(p,{className:e.tab,key:t.id,id:`button-${t.id}`,label:c.createElement(_,{purpose:"passage-label"},c.createElement("span",{dangerouslySetInnerHTML:{__html:this.parsedText(t.label)}})),value:t.id,tabIndex:n===t.id?0:-1,"aria-controls":`tabpanel-${t.id}`,"aria-selected":n===t.id,onFocus:()=>this.handleChange(null,t.id),onKeyDown:e=>this.handleKeyDown(e,t.id)})))),r?this.renderTab(r,a):null))}}x.propTypes={classes:d.object.isRequired,tabs:d.arrayOf(d.shape({id:d.number.isRequired,label:d.string.isRequired,title:d.string.isRequired,subtitle:d.string,author:d.string,text:d.string.isRequired,teacherInstructions:d.string}).isRequired).isRequired,disabledTabs:d.bool};var y=h((e=>({passages:{flexGrow:1,backgroundColor:m.background(),color:m.text(),"&:not(.MathJax) table":{borderCollapse:"collapse"},"&:not(.MathJax) table td, &:not(.MathJax) table th":{padding:".6em 1em",textAlign:"left"}},passage:{backgroundColor:m.background(),color:m.text(),padding:2*e.spacing.unit},passageTitle:{fontSize:"1.75rem"},passageSubtitle:{fontSize:"1.5rem"},passageAuthor:{fontSize:"1.25rem"},passageText:{},stickyTabs:{background:m.background(),position:"sticky",top:0},tab:{background:e.palette.common.white,fontSize:"inherit",color:e.palette.common.black},tabButton:{background:e.palette.common.white},teacherInstructions:{marginBottom:2*e.spacing.unit}})))(x);const f=e,k=r,{debounce:v}=l,C=o("pie-element:passage:print"),I=(e,t)=>(e=>null!=e)(e)?e:t;class S extends HTMLElement{constructor(){super(),this._model=null,this._options=null,this._session=[],this._rerender=v((()=>{if(this._model&&this._session){if(this._model.passages&&this._model.passages.length>0){const e=((e,t)=>{const s="instructor"===t.role,a=I(e.teacherInstructionsEnabled,!0),n=I(e.titleEnabled,!0),i=I(e.authorEnabled,!1),r=I(e.subtitleEnabled,!0),l=I(e.textEnabled,!0);return e.passages.map(((e,t)=>({id:t,teacherInstructions:I(e.teacherInstructionsEnabled,a)&&s&&e.teacherInstructions||"",label:e.title||`Passage ${t+1}`,title:I(e.titleEnabled,n)&&e.title||"",author:I(e.authorEnabled,i)&&e.author||"",subtitle:I(e.subtitleEnabled,r)&&e.subtitle||"",text:I(e.textEnabled,l)&&e.text||""})))})(this._model,this._options),t=f.createElement(y,{disabledTabs:!0,tabs:e});k.render(t,this)}}else C("skip")}),50,{leading:!1,trailing:!0})}set model(e){this._model=e,this._rerender()}set options(e){this._options=e}connectedCallback(){}}export{S as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-element/passage",
3
- "version": "5.3.3-next.9+5ca99df27",
3
+ "version": "5.3.4-next.0+bb17c7e0a",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -11,14 +11,14 @@
11
11
  "dependencies": {
12
12
  "@material-ui/core": "^3.9.2",
13
13
  "@pie-framework/pie-player-events": "^0.1.0",
14
- "@pie-lib/math-rendering": "^3.22.1",
15
- "@pie-lib/render-ui": "^4.35.1",
14
+ "@pie-lib/math-rendering": "3.22.1",
15
+ "@pie-lib/render-ui": "4.35.2",
16
16
  "classnames": "^2.2.5",
17
17
  "prop-types": "^15.6.1",
18
18
  "react": "^16.8.1",
19
19
  "react-dom": "^16.8.1"
20
20
  },
21
- "gitHead": "5ca99df274b354fdf54ac9b03fb4ca4eadd18433",
21
+ "gitHead": "bb17c7e0a54b6b5ff139075cccf1e341cc6f859f",
22
22
  "scripts": {
23
23
  "postpublish": "../../scripts/postpublish"
24
24
  },