@pie-element/passage 6.0.0-next.42 → 6.1.0-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/module/element.js CHANGED
@@ -1 +1 @@
1
- import{_dll_pie_lib__math_rendering as e}from"../../../@pie-lib/math-rendering-module@^4.0.5/module/index.js";import{_dll_react_dom as t,_dll_prop_types as r,_dll_mui__material as n,_dll_mui__material_styles as o,_dll_pie_lib__render_ui as s}from"../../../@pie-lib/shared-module@^3.0.5/module/index.js";var a={};Object.defineProperty(a,"__esModule",{value:!0});class i extends CustomEvent{constructor(e,t,r){super(i.TYPE,{bubbles:!0,composed:!0,detail:{complete:t,component:e,hasModel:r}}),this.component=e,this.complete=t}}i.TYPE="model-set";var u=a.ModelSetEvent=i;class l extends CustomEvent{constructor(e,t){super(l.TYPE,{bubbles:!0,composed:!0,detail:{complete:t,component:e}}),this.component=e,this.complete=t}}l.TYPE="session-changed",a.SessionChangedEvent=l;var c={exports:{}},d={},p=Symbol.for("react.element"),f=Symbol.for("react.portal"),h=Symbol.for("react.fragment"),m=Symbol.for("react.strict_mode"),b=Symbol.for("react.profiler"),y=Symbol.for("react.provider"),_=Symbol.for("react.context"),g=Symbol.for("react.forward_ref"),v=Symbol.for("react.suspense"),E=Symbol.for("react.memo"),S=Symbol.for("react.lazy"),x=Symbol.iterator;var C={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k=Object.assign,T={};function w(e,t,r){this.props=e,this.context=t,this.refs=T,this.updater=r||C}function R(){}function $(e,t,r){this.props=e,this.context=t,this.refs=T,this.updater=r||C}w.prototype.isReactComponent={},w.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},w.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},R.prototype=w.prototype;var I=$.prototype=new R;I.constructor=$,k(I,w.prototype),I.isPureReactComponent=!0;var A=Array.isArray,P=Object.prototype.hasOwnProperty,j={current:null},M={key:!0,ref:!0,__self:!0,__source:!0};function L(e,t,r){var n,o={},s=null,a=null;if(null!=t)for(n in void 0!==t.ref&&(a=t.ref),void 0!==t.key&&(s=""+t.key),t)P.call(t,n)&&!M.hasOwnProperty(n)&&(o[n]=t[n]);var i=arguments.length-2;if(1===i)o.children=r;else if(1<i){for(var u=Array(i),l=0;l<i;l++)u[l]=arguments[l+2];o.children=u}if(e&&e.defaultProps)for(n in i=e.defaultProps)void 0===o[n]&&(o[n]=i[n]);return{$$typeof:p,type:e,key:s,ref:a,props:o,_owner:j.current}}function O(e){return"object"==typeof e&&null!==e&&e.$$typeof===p}var q=/\/+/g;function H(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(e){return t[e]})}(""+e.key):t.toString(36)}function N(e,t,r,n,o){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var a=!1;if(null===e)a=!0;else switch(s){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case p:case f:a=!0}}if(a)return o=o(a=e),e=""===n?"."+H(a,0):n,A(o)?(r="",null!=e&&(r=e.replace(q,"$&/")+"/"),N(o,t,r,"",function(e){return e})):null!=o&&(O(o)&&(o=function(e,t){return{$$typeof:p,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(o,r+(!o.key||a&&a.key===o.key?"":(""+o.key).replace(q,"$&/")+"/")+e)),t.push(o)),1;if(a=0,n=""===n?".":n+":",A(e))for(var i=0;i<e.length;i++){var u=n+H(s=e[i],i);a+=N(s,t,r,u,o)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=x&&e[x]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),i=0;!(s=e.next()).done;)a+=N(s=s.value,t,r,u=n+H(s,i++),o);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return a}function D(e,t,r){if(null==e)return e;var n=[],o=0;return N(e,n,"","",function(e){return t.call(r,e,o++)}),n}function F(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var U={current:null},V={transition:null},z={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:j};function Y(){throw Error("act(...) is not supported in production builds of React.")}d.Children={map:D,forEach:function(e,t,r){D(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return D(e,function(){t++}),t},toArray:function(e){return D(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},d.Component=w,d.Fragment=h,d.Profiler=b,d.PureComponent=$,d.StrictMode=m,d.Suspense=v,d.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=z,d.act=Y,d.cloneElement=function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var n=k({},e.props),o=e.key,s=e.ref,a=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,a=j.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var i=e.type.defaultProps;for(u in t)P.call(t,u)&&!M.hasOwnProperty(u)&&(n[u]=void 0===t[u]&&void 0!==i?i[u]:t[u])}var u=arguments.length-2;if(1===u)n.children=r;else if(1<u){i=Array(u);for(var l=0;l<u;l++)i[l]=arguments[l+2];n.children=i}return{$$typeof:p,type:e.type,key:o,ref:s,props:n,_owner:a}},d.createContext=function(e){return(e={$$typeof:_,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:y,_context:e},e.Consumer=e},d.createElement=L,d.createFactory=function(e){var t=L.bind(null,e);return t.type=e,t},d.createRef=function(){return{current:null}},d.forwardRef=function(e){return{$$typeof:g,render:e}},d.isValidElement=O,d.lazy=function(e){return{$$typeof:S,_payload:{_status:-1,_result:e},_init:F}},d.memo=function(e,t){return{$$typeof:E,type:e,compare:void 0===t?null:t}},d.startTransition=function(e){var t=V.transition;V.transition={};try{e()}finally{V.transition=t}},d.unstable_act=Y,d.useCallback=function(e,t){return U.current.useCallback(e,t)},d.useContext=function(e){return U.current.useContext(e)},d.useDebugValue=function(){},d.useDeferredValue=function(e){return U.current.useDeferredValue(e)},d.useEffect=function(e,t){return U.current.useEffect(e,t)},d.useId=function(){return U.current.useId()},d.useImperativeHandle=function(e,t,r){return U.current.useImperativeHandle(e,t,r)},d.useInsertionEffect=function(e,t){return U.current.useInsertionEffect(e,t)},d.useLayoutEffect=function(e,t){return U.current.useLayoutEffect(e,t)},d.useMemo=function(e,t){return U.current.useMemo(e,t)},d.useReducer=function(e,t,r){return U.current.useReducer(e,t,r)},d.useRef=function(e){return U.current.useRef(e)},d.useState=function(e){return U.current.useState(e)},d.useSyncExternalStore=function(e,t,r){return U.current.useSyncExternalStore(e,t,r)},d.useTransition=function(){return U.current.useTransition()},d.version="18.3.1",c.exports=d;var B=c.exports;var J,K=t;J=K.createRoot,K.hydrateRoot;const G=r,{Tabs:W}=n,{Tab:Q}=n,{styled:X}=o,{Collapsible:Z}=s,{color:ee}=s,{PreviewPrompt:te}=s,{Purpose:re}=s,{UiLayout:ne}=s;const oe=X("div")({flexGrow:1,backgroundColor:ee.background(),color:ee.text(),"&:not(.MathJax) table":{borderCollapse:"collapse"},"&:not(.MathJax) table td, &:not(.MathJax) table th":{padding:".6em 1em",textAlign:"left"}}),se=X("div")(({theme:e})=>({backgroundColor:ee.background(),color:ee.text(),padding:e.spacing(2)})),ae=X("div")({fontSize:"1.75rem"}),ie=X("div")({fontSize:"1.5rem"}),ue=X("div")({fontSize:"1.25rem"}),le=X(Q)(({theme:e})=>({background:e.palette.common.white,fontSize:"inherit",color:e.palette.common.black}));class ce extends B.Component{constructor(...e){super(...e),ce.prototype.__init.call(this),ce.prototype.__init2.call(this),ce.prototype.__init3.call(this),ce.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:r}=e,{tabs:n}=this.props;let o=-1;const s=n.findIndex(e=>e.id===t);switch(r){case"ArrowRight":o=(s+1)%n.length;break;case"ArrowLeft":o=(s-1+n.length)%n.length;break;case"Home":o=0;break;case"End":o=n.length-1;break;case"Enter":case" ":o=s}-1!==o&&(e.preventDefault(),this.handleChange(e,n[o].id),document.getElementById(`button-${n[o].id}`).focus())}}__init4(){this.parsedText=(e="")=>{const t=document.createElement("div");t.innerHTML=e.replace(/(<br\/>\n)/g,"<br/>");const r=t.querySelector("audio");if(r){const e=document.createElement("source");e.setAttribute("type","audio/mp3"),e.setAttribute("src",r.getAttribute("src")),r.removeAttribute("src"),r.appendChild(e)}return t.innerHTML}}renderInstructions(e,t=!1){if(!e)return;const r=B.createElement(te,{tagName:"div",className:"prompt",defaultClassName:"teacher-instructions",prompt:e});return t?r:B.createElement(Z,{labels:{hidden:"Show Teacher Instructions",visible:"Hide Teacher Instructions"}},r)}renderTab(e,t){return B.createElement(se,{key:e.id,id:`tabpanel-${e.id}`,role:"tabpanel","aria-labelledby":`button-${e.id}`},this.renderInstructions(e.teacherInstructions,t),(e.title||e.subtitle)&&B.createElement("h2",null,e.title&&B.createElement(re,{purpose:"passage-title"},B.createElement(ae,{dangerouslySetInnerHTML:{__html:this.parsedText(e.title)}})),e.subtitle&&B.createElement(re,{purpose:"passage-subtitle"},B.createElement(ie,{dangerouslySetInnerHTML:{__html:this.parsedText(e.subtitle)}}))),e.author&&B.createElement(re,{purpose:"passage-author"},B.createElement(ue,{className:"author",dangerouslySetInnerHTML:{__html:this.parsedText(e.author)}})),e.text&&B.createElement(re,{purpose:"passage-text"},B.createElement("div",{key:e.id,className:"text",dangerouslySetInnerHTML:{__html:this.parsedText(e.text)}})))}render(){const{model:e,tabs:t,disabledTabs:r}=this.props,{activeTab:n}=this.state;if(!function(e){let t,r=e[0],n=1;for(;n<e.length;){const o=e[n],s=e[n+1];if(n+=2,("optionalAccess"===o||"optionalCall"===o)&&null==r)return;"access"===o||"optionalAccess"===o?(t=r,r=s(r)):"call"!==o&&"optionalCall"!==o||(r=s((...e)=>r.call(t,...e)),t=void 0)}return r}([t,"optionalAccess",e=>e.length]))return;const{extraCSSRules:o}=e||{},s=(t||[]).find(e=>e.id===n);return B.createElement(ne,{extraCSSRules:o},B.createElement(oe,{className:"passages"},r||1===t.length?t.map(e=>this.renderTab(e,r)):B.createElement(B.Fragment,null,B.createElement(W,{sx:{position:"sticky",top:0,background:ee.background(),color:ee.text()},value:n,onChange:this.handleChange},t.map(e=>B.createElement(le,{key:e.id,id:`button-${e.id}`,label:B.createElement(re,{purpose:"passage-label"},B.createElement("span",{dangerouslySetInnerHTML:{__html:this.parsedText(e.label)}})),value:e.id,tabIndex:n===e.id?0:-1,"aria-controls":`tabpanel-${e.id}`,"aria-selected":n===e.id,onFocus:()=>this.handleChange(null,e.id),onKeyDown:t=>this.handleKeyDown(t,e.id)}))),s?this.renderTab(s,r):null)))}}ce.propTypes={tabs:G.arrayOf(G.shape({id:G.number.isRequired,label:G.string.isRequired,title:G.string.isRequired,subtitle:G.string,author:G.string,text:G.string.isRequired,teacherInstructions:G.string}).isRequired).isRequired,disabledTabs:G.bool,model:G.object};const{renderMath:de}=e;class pe extends HTMLElement{constructor(){super(),this._model={passages:[]},this._session=null,this._root=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 u(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})),r=B.createElement(ce,{tabs:t});this._root||(this._root=J(this)),this._root.render(r),queueMicrotask(()=>{de(this)})}}disconnectedCallback(){this._root&&this._root.unmount()}}export{pe as default};
1
+ import{_dll_pie_lib__math_rendering as e}from"../../../@pie-lib/math-rendering-module@^4.0.7/module/index.js";import{_dll_react_dom as t,_dll_react as s,_dll_prop_types as a,_dll_mui__material as n,_dll_mui__material_styles as o,_dll_pie_lib__render_ui as i}from"../../../@pie-lib/shared-module@^4.0.1/module/index.js";var r={};Object.defineProperty(r,"__esModule",{value:!0});class l extends CustomEvent{constructor(e,t,s){super(l.TYPE,{bubbles:!0,composed:!0,detail:{complete:t,component:e,hasModel:s}}),this.component=e,this.complete=t}}l.TYPE="model-set";var c=r.ModelSetEvent=l;class d extends CustomEvent{constructor(e,t){super(d.TYPE,{bubbles:!0,composed:!0,detail:{complete:t,component:e}}),this.component=e,this.complete=t}}d.TYPE="session-changed",r.SessionChangedEvent=d;var u,h=t;u=h.createRoot,h.hydrateRoot;const p=s,m=a,{Tabs:b}=n,{Tab:g}=n,{styled:_}=o,{Collapsible:E}=i,{color:T}=i,{PreviewPrompt:x}=i,{Purpose:y}=i,{UiLayout:f}=i;const v=_("div")({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"}}),C=_("div")(({theme:e})=>({backgroundColor:T.background(),color:T.text(),padding:e.spacing(2)})),k=_("div")({fontSize:"1.75rem"}),M=_("div")({fontSize:"1.5rem"}),S=_("div")({fontSize:"1.25rem"}),w=_(g)(({theme:e})=>({background:e.palette.common.white,fontSize:"inherit",fontFamily:"Roboto, sans-serif",opacity:.7,color:e.palette.common.black,"&.Mui-selected":{opacity:1,color:e.palette.common.black}}));class A extends p.Component{constructor(...e){super(...e),A.prototype.__init.call(this),A.prototype.__init2.call(this),A.prototype.__init3.call(this),A.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 o=a.findIndex(e=>e.id===t);switch(s){case"ArrowRight":n=(o+1)%a.length;break;case"ArrowLeft":n=(o-1+a.length)%a.length;break;case"Home":n=0;break;case"End":n=a.length-1;break;case"Enter":case" ":n=o}-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(x,{tagName:"div",className:"prompt",defaultClassName:"teacher-instructions",prompt:e});return t?s:p.createElement(E,{labels:{hidden:"Show Teacher Instructions",visible:"Hide Teacher Instructions"}},s)}renderTab(e,t){return p.createElement(C,{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(y,{purpose:"passage-title"},p.createElement(k,{dangerouslySetInnerHTML:{__html:this.parsedText(e.title)}})),e.subtitle&&p.createElement(y,{purpose:"passage-subtitle"},p.createElement(M,{dangerouslySetInnerHTML:{__html:this.parsedText(e.subtitle)}}))),e.author&&p.createElement(y,{purpose:"passage-author"},p.createElement(S,{className:"author",dangerouslySetInnerHTML:{__html:this.parsedText(e.author)}})),e.text&&p.createElement(y,{purpose:"passage-text"},p.createElement("div",{key:e.id,className:"text",dangerouslySetInnerHTML:{__html:this.parsedText(e.text)}})))}render(){const{model:e,tabs:t,disabledTabs:s}=this.props,{activeTab:a}=this.state;if(!function(e){let t,s=e[0],a=1;for(;a<e.length;){const n=e[a],o=e[a+1];if(a+=2,("optionalAccess"===n||"optionalCall"===n)&&null==s)return;"access"===n||"optionalAccess"===n?(t=s,s=o(s)):"call"!==n&&"optionalCall"!==n||(s=o((...e)=>s.call(t,...e)),t=void 0)}return s}([t,"optionalAccess",e=>e.length]))return;const{extraCSSRules:n}=e||{},o=(t||[]).find(e=>e.id===a);return p.createElement(f,{extraCSSRules:n},p.createElement(v,{className:"passages"},s||1===t.length?t.map(e=>this.renderTab(e,s)):p.createElement(p.Fragment,null,p.createElement(b,{sx:{position:"sticky",top:0,background:T.background(),color:T.text(),fontFamily:"Roboto, sans-serif","& .MuiTabs-indicator":{backgroundColor:"#f50057"}},value:a,onChange:this.handleChange},t.map(e=>p.createElement(w,{key:e.id,id:`button-${e.id}`,label:p.createElement(y,{purpose:"passage-label"},p.createElement("span",{dangerouslySetInnerHTML:{__html:this.parsedText(e.label)}})),value:e.id,tabIndex:a===e.id?0:-1,"aria-controls":`tabpanel-${e.id}`,"aria-selected":a===e.id,onFocus:()=>this.handleChange(null,e.id),onKeyDown:t=>this.handleKeyDown(t,e.id)}))),o?this.renderTab(o,s):null)))}}A.propTypes={tabs:m.arrayOf(m.shape({id:m.number.isRequired,label:m.string.isRequired,title:m.string.isRequired,subtitle:m.string,author:m.string,text:m.string.isRequired,teacherInstructions:m.string}).isRequired).isRequired,disabledTabs:m.bool,model:m.object};const{renderMath:I}=e,L=s;class R extends HTMLElement{constructor(){super(),this._model={passages:[]},this._session=null,this._root=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 c(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=L.createElement(A,{tabs:t});this._root||(this._root=u(this)),this._root.render(s),queueMicrotask(()=>{I(this)})}}disconnectedCallback(){this._root&&this._root.unmount()}}export{R 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@6.0.0-beta.1</title>
5
+ <title>@pie-element/passage@6.1.0-next.0</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,14 +1,10 @@
1
1
  {
2
2
  "name": "@pie-element/passage",
3
- "version": "6.0.0-beta.1",
3
+ "version": "6.1.0-next.0",
4
4
  "modules": [
5
- {
6
- "name": "@pie-lib/math-rendering-module",
7
- "version": "^4.0.5"
8
- },
9
5
  {
10
6
  "name": "@pie-lib/shared-module",
11
- "version": "^3.0.5"
7
+ "version": "^4.0.1"
12
8
  }
13
9
  ]
14
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@6.0.0-beta.1</title>
5
+ <title>@pie-element/passage@6.1.0-next.0</title>
6
6
  <link
7
7
  href="https://fonts.googleapis.com/css?family=Roboto&display=swap"
8
8
  rel="stylesheet"
@@ -0,0 +1 @@
1
+ import{_dll_react_dom as e,_dll_react as t,_dll_prop_types as n,_dll_mui__material as r,_dll_mui__material_styles as a,_dll_pie_lib__render_ui as i,_dll_debug as o}from"../../../@pie-lib/shared-module@^4.0.1/module/index.js";var s,l=e;s=l.createRoot,l.hydrateRoot;var c="object"==typeof global&&global&&global.Object===Object&&global,u="object"==typeof self&&self&&self.Object===Object&&self,d=c||u||Function("return this")(),h=d.Symbol,p=Object.prototype,b=p.hasOwnProperty,m=p.toString,f=h?h.toStringTag:void 0;var g=Object.prototype.toString;var v=h?h.toStringTag:void 0;function y(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":v&&v in Object(e)?function(e){var t=b.call(e,f),n=e[f];try{e[f]=void 0;var r=!0}catch(e){}var a=m.call(e);return r&&(t?e[f]=n:delete e[f]),a}(e):function(e){return g.call(e)}(e)}var _=/\s/;var E=/^\s+/;function T(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&_.test(e.charAt(t)););return t}(e)+1).replace(E,""):e}function x(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var k=/^[-+]0x[0-9a-f]+$/i,S=/^0b[01]+$/i,C=/^0o[0-7]+$/i,I=parseInt;function w(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return null!=e&&"object"==typeof e}(e)&&"[object Symbol]"==y(e)}(e))return NaN;if(x(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=x(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=T(e);var n=S.test(e);return n||C.test(e)?I(e.slice(2),n?2:8):k.test(e)?NaN:+e}var j=function(){return d.Date.now()},M=Math.max,R=Math.min;function A(e,t,n){var r,a,i,o,s,l,c=0,u=!1,d=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var n=r,i=a;return r=a=void 0,c=t,o=e.apply(i,n)}function b(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-c>=i}function m(){var e=j();if(b(e))return f(e);s=setTimeout(m,function(e){var n=t-(e-l);return d?R(n,i-(e-c)):n}(e))}function f(e){return s=void 0,h&&r?p(e):(r=a=void 0,o)}function g(){var e=j(),n=b(e);if(r=arguments,a=this,l=e,n){if(void 0===s)return function(e){return c=e,s=setTimeout(m,t),u?p(e):o}(l);if(d)return clearTimeout(s),s=setTimeout(m,t),p(l)}return void 0===s&&(s=setTimeout(m,t)),o}return t=w(t)||0,x(n)&&(u=!!n.leading,i=(d="maxWait"in n)?M(w(n.maxWait)||0,t):i,h="trailing"in n?!!n.trailing:h),g.cancel=function(){void 0!==s&&clearTimeout(s),c=0,r=l=a=s=void 0},g.flush=function(){return void 0===s?o:f(j())},g}const N=t,O=n,{Tabs:H}=r,{Tab:L}=r,{styled:$}=a,{Collapsible:q}=i,{color:D}=i,{PreviewPrompt:F}=i,{Purpose:P}=i,{UiLayout:z}=i;const J=$("div")({flexGrow:1,backgroundColor:D.background(),color:D.text(),"&:not(.MathJax) table":{borderCollapse:"collapse"},"&:not(.MathJax) table td, &:not(.MathJax) table th":{padding:".6em 1em",textAlign:"left"}}),K=$("div")(({theme:e})=>({backgroundColor:D.background(),color:D.text(),padding:e.spacing(2)})),U=$("div")({fontSize:"1.75rem"}),W=$("div")({fontSize:"1.5rem"}),B=$("div")({fontSize:"1.25rem"}),G=$(L)(({theme:e})=>({background:e.palette.common.white,fontSize:"inherit",fontFamily:"Roboto, sans-serif",opacity:.7,color:e.palette.common.black,"&.Mui-selected":{opacity:1,color:e.palette.common.black}}));class Q extends N.Component{constructor(...e){super(...e),Q.prototype.__init.call(this),Q.prototype.__init2.call(this),Q.prototype.__init3.call(this),Q.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:n}=e,{tabs:r}=this.props;let a=-1;const i=r.findIndex(e=>e.id===t);switch(n){case"ArrowRight":a=(i+1)%r.length;break;case"ArrowLeft":a=(i-1+r.length)%r.length;break;case"Home":a=0;break;case"End":a=r.length-1;break;case"Enter":case" ":a=i}-1!==a&&(e.preventDefault(),this.handleChange(e,r[a].id),document.getElementById(`button-${r[a].id}`).focus())}}__init4(){this.parsedText=(e="")=>{const t=document.createElement("div");t.innerHTML=e.replace(/(<br\/>\n)/g,"<br/>");const n=t.querySelector("audio");if(n){const e=document.createElement("source");e.setAttribute("type","audio/mp3"),e.setAttribute("src",n.getAttribute("src")),n.removeAttribute("src"),n.appendChild(e)}return t.innerHTML}}renderInstructions(e,t=!1){if(!e)return;const n=N.createElement(F,{tagName:"div",className:"prompt",defaultClassName:"teacher-instructions",prompt:e});return t?n:N.createElement(q,{labels:{hidden:"Show Teacher Instructions",visible:"Hide Teacher Instructions"}},n)}renderTab(e,t){return N.createElement(K,{key:e.id,id:`tabpanel-${e.id}`,role:"tabpanel","aria-labelledby":`button-${e.id}`},this.renderInstructions(e.teacherInstructions,t),(e.title||e.subtitle)&&N.createElement("h2",null,e.title&&N.createElement(P,{purpose:"passage-title"},N.createElement(U,{dangerouslySetInnerHTML:{__html:this.parsedText(e.title)}})),e.subtitle&&N.createElement(P,{purpose:"passage-subtitle"},N.createElement(W,{dangerouslySetInnerHTML:{__html:this.parsedText(e.subtitle)}}))),e.author&&N.createElement(P,{purpose:"passage-author"},N.createElement(B,{className:"author",dangerouslySetInnerHTML:{__html:this.parsedText(e.author)}})),e.text&&N.createElement(P,{purpose:"passage-text"},N.createElement("div",{key:e.id,className:"text",dangerouslySetInnerHTML:{__html:this.parsedText(e.text)}})))}render(){const{model:e,tabs:t,disabledTabs:n}=this.props,{activeTab:r}=this.state;if(!function(e){let t,n=e[0],r=1;for(;r<e.length;){const a=e[r],i=e[r+1];if(r+=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}([t,"optionalAccess",e=>e.length]))return;const{extraCSSRules:a}=e||{},i=(t||[]).find(e=>e.id===r);return N.createElement(z,{extraCSSRules:a},N.createElement(J,{className:"passages"},n||1===t.length?t.map(e=>this.renderTab(e,n)):N.createElement(N.Fragment,null,N.createElement(H,{sx:{position:"sticky",top:0,background:D.background(),color:D.text(),fontFamily:"Roboto, sans-serif","& .MuiTabs-indicator":{backgroundColor:"#f50057"}},value:r,onChange:this.handleChange},t.map(e=>N.createElement(G,{key:e.id,id:`button-${e.id}`,label:N.createElement(P,{purpose:"passage-label"},N.createElement("span",{dangerouslySetInnerHTML:{__html:this.parsedText(e.label)}})),value:e.id,tabIndex:r===e.id?0:-1,"aria-controls":`tabpanel-${e.id}`,"aria-selected":r===e.id,onFocus:()=>this.handleChange(null,e.id),onKeyDown:t=>this.handleKeyDown(t,e.id)}))),i?this.renderTab(i,n):null)))}}Q.propTypes={tabs:O.arrayOf(O.shape({id:O.number.isRequired,label:O.string.isRequired,title:O.string.isRequired,subtitle:O.string,author:O.string,text:O.string.isRequired,teacherInstructions:O.string}).isRequired).isRequired,disabledTabs:O.bool,model:O.object};const V=t,X=o("pie-element:passage:print"),Y=(e,t)=>(e=>null!=e)(e)?e:t;class Z extends HTMLElement{constructor(){super(),this._model=null,this._options=null,this._session=[],this._root=null,this._rerender=A(()=>{if(this._model&&this._session){if(this._model.passages&&this._model.passages.length>0){const e=((e,t)=>{const n="instructor"===t.role,r=Y(e.teacherInstructionsEnabled,!0),a=Y(e.titleEnabled,!0),i=Y(e.authorEnabled,!1),o=Y(e.subtitleEnabled,!0),s=Y(e.textEnabled,!0);return e.passages.map((e,t)=>({id:t,teacherInstructions:Y(e.teacherInstructionsEnabled,r)&&n&&e.teacherInstructions||"",label:e.title||`Passage ${t+1}`,title:Y(e.titleEnabled,a)&&e.title||"",author:Y(e.authorEnabled,i)&&e.author||"",subtitle:Y(e.subtitleEnabled,o)&&e.subtitle||"",text:Y(e.textEnabled,s)&&e.text||""}))})(this._model,this._options),t=V.createElement(Q,{disabledTabs:!0,tabs:e});this._root||(this._root=s(this)),this._root.render(t)}}else X("skip")},50,{leading:!1,trailing:!0})}set model(e){this._model=e,this._rerender()}set options(e){this._options=e}connectedCallback(){}disconnectedCallback(){this._root&&this._root.unmount()}}export{Z as default};
package/package.json CHANGED
@@ -1,10 +1,13 @@
1
1
  {
2
2
  "name": "@pie-element/passage",
3
- "version": "6.0.0-next.42+bb1f3eb4e",
3
+ "repository": {
4
+ "type": "git",
5
+ "url": "https://github.com/pie-framework/pie-elements"
6
+ },
7
+ "version": "6.1.0-next.0+20d879b",
4
8
  "publishConfig": {
5
9
  "access": "public"
6
10
  },
7
- "repository": "pie-framework/pie-elements",
8
11
  "description": "",
9
12
  "author": "pie framework developers",
10
13
  "license": "ISC",
@@ -14,16 +17,20 @@
14
17
  "@mui/icons-material": "^7.3.4",
15
18
  "@mui/material": "^7.3.4",
16
19
  "@pie-framework/pie-player-events": "^0.1.0",
17
- "@pie-lib/math-rendering": "4.1.1-next.0",
18
- "@pie-lib/render-ui": "5.1.1-next.0",
20
+ "@pie-lib/math-rendering": "4.1.1-next.1",
21
+ "@pie-lib/render-ui": "5.1.1-next.1",
19
22
  "prop-types": "^15.8.1",
20
- "react": "18.2.0",
21
- "react-dom": "18.2.0"
23
+ "react": "18.3.1",
24
+ "react-dom": "18.3.1"
22
25
  },
23
- "gitHead": "bb1f3eb4e3b5b1cb15024d459ffd6e94bf419712",
26
+ "gitHead": "20d879b8b8fa74decf5028d860d54cd09cbdf051",
24
27
  "scripts": {
25
28
  "postpublish": "../../scripts/postpublish"
26
29
  },
27
30
  "main": "lib/index.js",
28
- "module": "src/index.js"
31
+ "module": "src/index.js",
32
+ "exports": {
33
+ ".": "./src/index.js",
34
+ "./print": "./src/print.js"
35
+ }
29
36
  }