@pie-element/passage 6.2.0-next.5 → 6.2.0-next.7

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,18 @@
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
+ # [6.2.0-next.7](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@6.2.0-next.6...@pie-element/passage@6.2.0-next.7) (2026-04-16)
7
+
8
+ ### Bug Fixes
9
+
10
+ - bump libs PIE-46, PIE-25, PIE-54, PIE-44, PIE-29, PIE-13, PIE-129 ([5c17838](https://github.com/pie-framework/pie-elements/commit/5c17838a53483437e42dc679a4361e16b7ef5e31))
11
+
12
+ # [6.2.0-next.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@6.2.0-next.5...@pie-element/passage@6.2.0-next.6) (2026-04-13)
13
+
14
+ ### Bug Fixes
15
+
16
+ - bump libs PIE-34 ([9f8b35a](https://github.com/pie-framework/pie-elements/commit/9f8b35a856ca1eba67d5630a358b96226cfca984))
17
+
6
18
  # [6.2.0-next.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@6.2.0-next.4...@pie-element/passage@6.2.0-next.5) (2026-04-10)
7
19
 
8
20
  ### Features
@@ -3,6 +3,18 @@
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
+ # [4.2.0-next.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage-configure@4.2.0-next.5...@pie-element/passage-configure@4.2.0-next.6) (2026-04-16)
7
+
8
+ ### Bug Fixes
9
+
10
+ - bump libs PIE-46, PIE-25, PIE-54, PIE-44, PIE-29, PIE-13, PIE-129 ([5c17838](https://github.com/pie-framework/pie-elements/commit/5c17838a53483437e42dc679a4361e16b7ef5e31))
11
+
12
+ # [4.2.0-next.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage-configure@4.2.0-next.4...@pie-element/passage-configure@4.2.0-next.5) (2026-04-13)
13
+
14
+ ### Bug Fixes
15
+
16
+ - bump libs PIE-34 ([9f8b35a](https://github.com/pie-framework/pie-elements/commit/9f8b35a856ca1eba67d5630a358b96226cfca984))
17
+
6
18
  # [4.2.0-next.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage-configure@4.2.0-next.3...@pie-element/passage-configure@4.2.0-next.4) (2026-04-10)
7
19
 
8
20
  ### Features
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/passage-configure",
3
3
  "private": true,
4
- "version": "4.2.0-next.4",
4
+ "version": "4.2.0-next.6",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -13,8 +13,8 @@
13
13
  "@mui/icons-material": "^7.3.4",
14
14
  "@mui/material": "^7.3.4",
15
15
  "@pie-framework/pie-configure-events": "^1.3.0",
16
- "@pie-lib/config-ui": "12.2.0-next.28",
17
- "@pie-lib/editable-html-tip-tap": "1.2.0-next.27",
16
+ "@pie-lib/config-ui": "12.2.0-next.35",
17
+ "@pie-lib/editable-html-tip-tap": "1.2.0-next.34",
18
18
  "lodash-es": "^4.17.23",
19
19
  "prop-types": "^15.8.1",
20
20
  "react": "18.3.1",
@@ -0,0 +1 @@
1
+ import{_dll_react_dom as e,_dll_prop_types as t,_dll_mui__material_styles as a,_dll_react as n,_dll_mui__material as i,_dll_mui__icons_material as s}from"../../../@pie-lib/shared-module@^4.1.0/module/index.js";import{_dll_pie_lib__config_ui as l}from"../../../@pie-lib/config-module@^3.1.0/module/index.js";import{_dll_pie_lib__editable_html_tip_tap as o}from"../../../@pie-lib/editable-html-module@^6.2.0/module/index.js";var r,d=e;r=d.createRoot,d.hydrateRoot;var u={};Object.defineProperty(u,"__esModule",{value:!0});class c extends CustomEvent{constructor(e,t=!1){super(c.TYPE,{bubbles:!0,detail:{update:e,reset:t}}),this.update=e,this.reset=t}}c.TYPE="model.updated";var g=u.ModelUpdatedEvent=c;class p extends CustomEvent{constructor(e,t){super(p.TYPE,{bubbles:!0,detail:{src:e,done:t}}),this.src=e,this.done=t}}p.TYPE="delete.image";var h=u.DeleteImageEvent=p;class m extends CustomEvent{constructor(e){super(m.TYPE,{bubbles:!0,detail:e}),this.handler=e}}m.TYPE="insert.image";var b=u.InsertImageEvent=m;class _ extends CustomEvent{constructor(e,t){super(_.TYPE,{bubbles:!0,detail:{src:e,done:t}}),this.src=e,this.done=t}}_.TYPE="delete.sound";var C=u.DeleteSoundEvent=_;class E extends CustomEvent{constructor(e){super(E.TYPE,{bubbles:!0,detail:e}),this.handler=e}}E.TYPE="insert.sound";var f=u.InsertSoundEvent=E;const x=n,S=t,{styled:I}=a,{Button:v}=i,{Dialog:P}=i,{DialogTitle:y}=i,{DialogContent:T}=i,{DialogContentText:R}=i,{DialogActions:q}=i,{RemoveCircle:D}=s,{AddCircle:k}=s,A=I(({label:e,type:t="add",onClick:a})=>{const n="add"===t?k:D;return x.createElement(v,{color:"primary",size:"small",onClick:a},x.createElement(n,{fontSize:"small",color:"primary",style:{marginRight:4}}),e)})({textDecoration:"underline","&:hover":{textDecoration:"underline",backgroundColor:"transparent"},display:"flex",alignItems:"center"}),M=({content:e,cancel:t,title:a,ok:n,open:i,onOk:s,onCancel:l})=>x.createElement(P,{open:i},x.createElement(y,null,a),x.createElement(T,null,x.createElement(R,null,e)),x.createElement(q,null,s&&x.createElement(v,{onClick:s,color:"primary"},n),l&&x.createElement(v,{onClick:l,color:"primary"},t)));M.propTypes={content:S.string.isRequired,title:S.string.isRequired,cancel:S.string.isRequired,ok:S.string.isRequired,open:S.bool.isRequired,onCancel:S.func.isRequired,onOk:S.func.isRequired};const w=n,j=t,{styled:O}=a,{InputContainer:Y}=l,L=o,{ALL_PLUGINS:H}=o;function W(e){let t,a=e[0],n=1;for(;n<e.length;){const i=e[n],s=e[n+1];if(n+=2,("optionalAccess"===i||"optionalCall"===i)&&null==a)return;"access"===i||"optionalAccess"===i?(t=a,a=s(a)):"call"!==i&&"optionalCall"!==i||(a=s((...e)=>a.call(t,...e)),t=void 0)}return a}const z=O(Y)(({theme:e})=>({paddingTop:e.spacing(2),marginBottom:e.spacing(2),width:"100%"})),B=O("div")(({theme:e})=>({fontSize:e.typography.fontSize-2,color:e.palette.error.main,paddingTop:e.spacing(1)}));class $ extends w.Component{static __initStatic(){this.propTypes={onModelChanged:j.func.isRequired,model:j.object.isRequired,configuration:j.object.isRequired,imageSupport:j.object.isRequired,passageIndex:j.number.isRequired,uploadSoundSupport:j.object.isRequired}}static __initStatic2(){this.defaultProps={passageIndex:0}}constructor(e){super(e),$.prototype.__init.call(this)}__init(){this.handleChange=(e,t)=>{const{model:a,onModelChanged:n,passageIndex:i}=this.props;if(!a.passages||i<0||i>=a.passages.length)return;const s=[...a.passages];s[i]={...s[i],[e]:t},n({...a,passages:s})}}render(){const{model:e,configuration:t,imageSupport:a,passageIndex:n,uploadSoundSupport:i}=this.props,{maxImageWidth:s={},maxImageHeight:l={},mathMlOptions:o={},baseInputConfiguration:r={},teacherInstructions:d={},title:u={},subtitle:c={},text:g={},author:p={}}=t||{},{errors:h={},passages:m=[],teacherInstructionsEnabled:b,titleEnabled:_,subtitleEnabled:C,authorEnabled:E,textEnabled:f}=e||{},{passages:x}=h||{},{teacherInstructions:S,title:I,subtitle:v,author:P,text:y}=x&&x[n]||{},T=s&&s.prompt,R=l&&l.prompt,q=e=>({...r,...e}),D=(H||[]).filter(e=>!["math","table","bulleted-list","numbered-list"].includes(e));return w.createElement(w.Fragment,null,b&&w.createElement(z,{label:d.label},w.createElement(L,{activePlugins:H,markup:m[n].teacherInstructions||"",onChange:e=>this.handleChange("teacherInstructions",e),nonEmpty:!1,error:S,maxImageWidth:s&&s.teacherInstructions||T,maxImageHeight:l&&l.teacherInstructions||R,mathMlOptions:o,languageCharactersProps:[{language:"spanish"},{language:"special"}],pluginProps:q(W([d,"optionalAccess",e=>e.inputConfiguration]))}),S&&w.createElement(B,null,S)),_&&w.createElement(z,{label:u.label},w.createElement(L,{activePlugins:D,markup:m[n].title||"",onChange:e=>this.handleChange("title",e),nonEmpty:!1,error:I,mathMlOptions:o,languageCharactersProps:[{language:"spanish"},{language:"special"}],pluginProps:q(W([u,"optionalAccess",e=>e.inputConfiguration]))}),I&&w.createElement(B,null,I)),C&&w.createElement(z,{label:c.label},w.createElement(L,{activePlugins:D,markup:m[n].subtitle||"",onChange:e=>this.handleChange("subtitle",e),nonEmpty:!1,error:v,mathMlOptions:o,languageCharactersProps:[{language:"spanish"},{language:"special"}],pluginProps:q(W([c,"optionalAccess",e=>e.inputConfiguration]))}),v&&w.createElement(B,null,v)),E&&w.createElement(z,{label:p.label},w.createElement(L,{activePlugins:D,markup:m[n].author||"",onChange:e=>this.handleChange("author",e),nonEmpty:!1,error:P,mathMlOptions:o,languageCharactersProps:[{language:"spanish"},{language:"special"}],pluginProps:q(W([p,"optionalAccess",e=>e.inputConfiguration]))}),P&&w.createElement(B,null,P)),f&&w.createElement(z,{label:g.label},w.createElement(L,{activePlugins:H,markup:m[n].text||"",onChange:e=>this.handleChange("text",e),imageSupport:a,uploadSoundSupport:i,nonEmpty:!1,error:y,maxImageWidth:s&&s.text||T,maxImageHeight:l&&l.text||R,mathMlOptions:o,languageCharactersProps:[{language:"spanish"},{language:"special"}],pluginProps:q(W([g,"optionalAccess",e=>e.inputConfiguration]))}),y&&w.createElement(B,null,y)))}}$.__initStatic(),$.__initStatic2();const F=n,U=t,{styled:G}=a,{Typography:N}=i,{settings:J}=l,{layout:K}=l,{Panel:Q,toggle:V,dropdown:X}=J,Z=G(N)(({theme:e})=>({paddingTop:e.spacing(2),marginBottom:e.spacing(2)}));class ee extends F.Component{static __initStatic(){this.propTypes={onModelChanged:U.func.isRequired,onConfigurationChanged:U.func,model:U.object.isRequired,configuration:U.object.isRequired,imageSupport:U.object.isRequired,uploadSoundSupport:U.object.isRequired,classes:U.object.isRequired}}constructor(e){super(e),ee.prototype.__init.call(this),ee.prototype.__init2.call(this),ee.prototype.__init3.call(this),ee.prototype.__init4.call(this),this.state={showConfirmationDialog:!1,indexToRemove:-1}}__init(){this.getInnerText=e=>(e||"").replaceAll(/<[^>]*>/g,"")}__init2(){this.onDelete=(e,t,a)=>{let n=e.passages;n.splice(t,1),a({...e,passages:n}),this.setState({showConfirmationDialog:!1,indexToRemove:-1})}}__init3(){this.removeAdditionalPassage=e=>{const{model:t={},onModelChanged:a}=this.props,{passages:n=[]}=t,{teacherInstructions:i="",title:s="",subtitle:l="",author:o="",text:r=""}=n[e];this.getInnerText(i).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{model:e,configuration:t,imageSupport:a,onConfigurationChanged:n,onModelChanged:i,uploadSoundSupport:s}=this.props,{settingsPanelDisabled:l,language:o={},languageChoices:r={},teacherInstructions:d={},title:u={},subtitle:c={},text:g={},author:p={},additionalPassage:h={}}=t||{},{extraCSSRules:m,passages:b}=e||{},_={titleEnabled:u&&u.settings&&V(u.label),subtitleEnabled:c&&c.settings&&V(c.label),authorEnabled:p&&p.settings&&V(p.label),textEnabled:g&&g.settings&&V(g.label),"additionalPassage.enabled":h&&h.settings&&V(h.label,!0)},C={teacherInstructionsEnabled:d&&d.settings&&V(d.label),"language.enabled":o&&o.settings&&V(o.label,!0),language:o&&o.settings&&o.enabled&&X(r.label,r.options)},E=`${h.label} will be deleted`,{indexToRemove:f,showConfirmationDialog:x}=this.state;return F.createElement(K.ConfigLayout,{extraCSSRules:m,hideSettings:l,settings:F.createElement(Q,{model:e,configuration:t,onChangeModel:e=>i(e),onChangeConfiguration:e=>n(e),groups:{Settings:_,Properties:C}})},b.map((n,l)=>F.createElement(F.Fragment,{key:l},l>0&&F.createElement(Z,{variant:"h5"},h.label),F.createElement($,{imageSupport:a,uploadSoundSupport:s,model:e,configuration:t,passageIndex:l,onModelChanged:i}),l>0&&h.enabled&&F.createElement(A,{type:"remove",label:`Remove ${h.label}`,onClick:()=>this.removeAdditionalPassage(l)}),0===l&&h.enabled&&b.length<2&&F.createElement(A,{label:`Add ${h.label}`,onClick:this.addAdditionalPassage}))),F.createElement(M,{open:x,title:"Warning",content:E,cancel:"Cancel",ok:"Ok",onCancel:()=>this.setState({showConfirmationDialog:!1}),onOk:()=>this.onDelete(e,f,i)}))}}ee.__initStatic();var te={authorEnabled:!0,passages:[{teacherInstructions:"",title:"",subtitle:"",author:"",text:""}],subtitleEnabled:!0,teacherInstructionsEnabled:!0,textEnabled:!0,titleEnabled:!0},ae={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 ne=n;class ie extends HTMLElement{static __initStatic(){this.createDefaultModel=(e={})=>({...te,...e})}constructor(){super(),this._root=null,this._model=ie.createDefaultModel(),this._configuration=ae}set model(e){this._model=ie.createDefaultModel(e),this.render()}set configuration(e){this._configuration=e,this.render()}connectedCallback(){this.render()}modelChanged(e){this._model=e,this.dispatchEvent(new g(this._model),!0),this.render()}onConfigurationChanged(e){this._configuration=e,this.render()}insertImage(e){this.dispatchEvent(new b(e))}onDeleteImage(e,t){this.dispatchEvent(new h(e,t))}insertSound(e){this.dispatchEvent(new f(e))}onDeleteSound(e,t){this.dispatchEvent(new C(e,t))}render(){if(this._model){const e=ne.createElement(ee,{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)}});this._root||(this._root=r(this)),this._root.render(e)}}disconnectedCallback(){this._root&&this._root.unmount()}}ie.__initStatic();export{ie as default};