@gamelearn/arcade-components 3.17.0 → 3.17.1
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.
|
@@ -269,7 +269,7 @@ For more info see: https://github.com/konvajs/react-konva/issues/194
|
|
|
269
269
|
*/var _win,_doc,_docElement,_pluginInitted,_tempDiv,_recentSetterPlugin,_reverting,_windowExists=function l(){return typeof window<"u"},_transformProps={},_RAD2DEG=180/Math.PI,_DEG2RAD=Math.PI/180,_atan2=Math.atan2,_bigNum=1e8,_capsExp=/([A-Z])/g,_horizontalExp=/(left|right|width|margin|padding|x)/i,_complexExp=/[\s,\(]\S/,_propertyAliases={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},_renderCSSProp=function l(e,n){return n.set(n.t,n.p,Math.round((n.s+n.c*e)*1e4)/1e4+n.u,n)},_renderPropWithEnd=function l(e,n){return n.set(n.t,n.p,e===1?n.e:Math.round((n.s+n.c*e)*1e4)/1e4+n.u,n)},_renderCSSPropWithBeginning=function l(e,n){return n.set(n.t,n.p,e?Math.round((n.s+n.c*e)*1e4)/1e4+n.u:n.b,n)},_renderRoundedCSSProp=function l(e,n){var t=n.s+n.c*e;n.set(n.t,n.p,~~(t+(t<0?-.5:.5))+n.u,n)},_renderNonTweeningValue=function l(e,n){return n.set(n.t,n.p,e?n.e:n.b,n)},_renderNonTweeningValueOnlyAtEnd=function l(e,n){return n.set(n.t,n.p,e!==1?n.b:n.e,n)},_setterCSSStyle=function l(e,n,t){return e.style[n]=t},_setterCSSProp=function l(e,n,t){return e.style.setProperty(n,t)},_setterTransform=function l(e,n,t){return e._gsap[n]=t},_setterScale=function l(e,n,t){return e._gsap.scaleX=e._gsap.scaleY=t},_setterScaleWithRender=function l(e,n,t,a,o){var d=e._gsap;d.scaleX=d.scaleY=t,d.renderTransform(o,d)},_setterTransformWithRender=function l(e,n,t,a,o){var d=e._gsap;d[n]=t,d.renderTransform(o,d)},_transformProp="transform",_transformOriginProp=_transformProp+"Origin",_saveStyle=function l(e,n){var t=this,a=this.target,o=a.style,d=a._gsap;if(e in _transformProps&&o){if(this.tfm=this.tfm||{},e!=="transform")e=_propertyAliases[e]||e,~e.indexOf(",")?e.split(",").forEach(function(f){return t.tfm[f]=_get(a,f)}):this.tfm[e]=d.x?d[e]:_get(a,e),e===_transformOriginProp&&(this.tfm.zOrigin=d.zOrigin);else return _propertyAliases.transform.split(",").forEach(function(f){return l.call(t,f,n)});if(this.props.indexOf(_transformProp)>=0)return;d.svg&&(this.svgo=a.getAttribute("data-svg-origin"),this.props.push(_transformOriginProp,n,"")),e=_transformProp}(o||n)&&this.props.push(e,n,o[e])},_removeIndependentTransforms=function l(e){e.translate&&(e.removeProperty("translate"),e.removeProperty("scale"),e.removeProperty("rotate"))},_revertStyle=function l(){var e=this.props,n=this.target,t=n.style,a=n._gsap,o,d;for(o=0;o<e.length;o+=3)e[o+1]?n[e[o]]=e[o+2]:e[o+2]?t[e[o]]=e[o+2]:t.removeProperty(e[o].substr(0,2)==="--"?e[o]:e[o].replace(_capsExp,"-$1").toLowerCase());if(this.tfm){for(d in this.tfm)a[d]=this.tfm[d];a.svg&&(a.renderTransform(),n.setAttribute("data-svg-origin",this.svgo||"")),o=_reverting(),(!o||!o.isStart)&&!t[_transformProp]&&(_removeIndependentTransforms(t),a.zOrigin&&t[_transformOriginProp]&&(t[_transformOriginProp]+=" "+a.zOrigin+"px",a.zOrigin=0,a.renderTransform()),a.uncache=1)}},_getStyleSaver=function l(e,n){var t={target:e,props:[],revert:_revertStyle,save:_saveStyle};return e._gsap||gsap.core.getCache(e),n&&n.split(",").forEach(function(a){return t.save(a)}),t},_supports3D,_createElement=function l(e,n){var t=_doc.createElementNS?_doc.createElementNS((n||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),e):_doc.createElement(e);return t&&t.style?t:_doc.createElement(e)},_getComputedProperty=function l(e,n,t){var a=getComputedStyle(e);return a[n]||a.getPropertyValue(n.replace(_capsExp,"-$1").toLowerCase())||a.getPropertyValue(n)||!t&&l(e,_checkPropPrefix(n)||n,1)||""},_prefixes="O,Moz,ms,Ms,Webkit".split(","),_checkPropPrefix=function l(e,n,t){var a=n||_tempDiv,o=a.style,d=5;if(e in o&&!t)return e;for(e=e.charAt(0).toUpperCase()+e.substr(1);d--&&!(_prefixes[d]+e in o););return d<0?null:(d===3?"ms":d>=0?_prefixes[d]:"")+e},_initCore=function l(){_windowExists()&&window.document&&(_win=window,_doc=_win.document,_docElement=_doc.documentElement,_tempDiv=_createElement("div")||{style:{}},_createElement("div"),_transformProp=_checkPropPrefix(_transformProp),_transformOriginProp=_transformProp+"Origin",_tempDiv.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",_supports3D=!!_checkPropPrefix("perspective"),_reverting=gsap.core.reverting,_pluginInitted=1)},_getBBoxHack=function l(e){var n=_createElement("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),t=this.parentNode,a=this.nextSibling,o=this.style.cssText,d;if(_docElement.appendChild(n),n.appendChild(this),this.style.display="block",e)try{d=this.getBBox(),this._gsapBBox=this.getBBox,this.getBBox=l}catch{}else this._gsapBBox&&(d=this._gsapBBox());return t&&(a?t.insertBefore(this,a):t.appendChild(this)),_docElement.removeChild(n),this.style.cssText=o,d},_getAttributeFallbacks=function l(e,n){for(var t=n.length;t--;)if(e.hasAttribute(n[t]))return e.getAttribute(n[t])},_getBBox=function l(e){var n;try{n=e.getBBox()}catch{n=_getBBoxHack.call(e,!0)}return n&&(n.width||n.height)||e.getBBox===_getBBoxHack||(n=_getBBoxHack.call(e,!0)),n&&!n.width&&!n.x&&!n.y?{x:+_getAttributeFallbacks(e,["x","cx","x1"])||0,y:+_getAttributeFallbacks(e,["y","cy","y1"])||0,width:0,height:0}:n},_isSVG=function l(e){return!!(e.getCTM&&(!e.parentNode||e.ownerSVGElement)&&_getBBox(e))},_removeProperty=function l(e,n){if(n){var t=e.style,a;n in _transformProps&&n!==_transformOriginProp&&(n=_transformProp),t.removeProperty?(a=n.substr(0,2),(a==="ms"||n.substr(0,6)==="webkit")&&(n="-"+n),t.removeProperty(a==="--"?n:n.replace(_capsExp,"-$1").toLowerCase())):t.removeAttribute(n)}},_addNonTweeningPT=function l(e,n,t,a,o,d){var f=new PropTween(e._pt,n,t,0,1,d?_renderNonTweeningValueOnlyAtEnd:_renderNonTweeningValue);return e._pt=f,f.b=a,f.e=o,e._props.push(t),f},_nonConvertibleUnits={deg:1,rad:1,turn:1},_nonStandardLayouts={grid:1,flex:1},_convertToUnit=function l(e,n,t,a){var o=parseFloat(t)||0,d=(t+"").trim().substr((o+"").length)||"px",f=_tempDiv.style,h=_horizontalExp.test(n),u=e.tagName.toLowerCase()==="svg",p=(u?"client":"offset")+(h?"Width":"Height"),_=100,b=a==="px",S=a==="%",E,g,v,T;if(a===d||!o||_nonConvertibleUnits[a]||_nonConvertibleUnits[d])return o;if(d!=="px"&&!b&&(o=l(e,n,t,"px")),T=e.getCTM&&_isSVG(e),(S||d==="%")&&(_transformProps[n]||~n.indexOf("adius")))return E=T?e.getBBox()[h?"width":"height"]:e[p],_round(S?o/E*_:o/100*E);if(f[h?"width":"height"]=_+(b?d:a),g=~n.indexOf("adius")||a==="em"&&e.appendChild&&!u?e:e.parentNode,T&&(g=(e.ownerSVGElement||{}).parentNode),(!g||g===_doc||!g.appendChild)&&(g=_doc.body),v=g._gsap,v&&S&&v.width&&h&&v.time===_ticker.time&&!v.uncache)return _round(o/v.width*_);if(S&&(n==="height"||n==="width")){var R=e.style[n];e.style[n]=_+a,E=e[p],R?e.style[n]=R:_removeProperty(e,n)}else(S||d==="%")&&!_nonStandardLayouts[_getComputedProperty(g,"display")]&&(f.position=_getComputedProperty(e,"position")),g===e&&(f.position="static"),g.appendChild(_tempDiv),E=_tempDiv[p],g.removeChild(_tempDiv),f.position="absolute";return h&&S&&(v=_getCache(g),v.time=_ticker.time,v.width=g[p]),_round(b?E*o/_:E&&o?_/E*o:0)},_get=function l(e,n,t,a){var o;return _pluginInitted||_initCore(),n in _propertyAliases&&n!=="transform"&&(n=_propertyAliases[n],~n.indexOf(",")&&(n=n.split(",")[0])),_transformProps[n]&&n!=="transform"?(o=_parseTransform(e,a),o=n!=="transformOrigin"?o[n]:o.svg?o.origin:_firstTwoOnly(_getComputedProperty(e,_transformOriginProp))+" "+o.zOrigin+"px"):(o=e.style[n],(!o||o==="auto"||a||~(o+"").indexOf("calc("))&&(o=_specialProps[n]&&_specialProps[n](e,n,t)||_getComputedProperty(e,n)||_getProperty(e,n)||(n==="opacity"?1:0))),t&&!~(o+"").trim().indexOf(" ")?_convertToUnit(e,n,o,t)+t:o},_tweenComplexCSSString=function l(e,n,t,a){if(!t||t==="none"){var o=_checkPropPrefix(n,e,1),d=o&&_getComputedProperty(e,o,1);d&&d!==t?(n=o,t=d):n==="borderColor"&&(t=_getComputedProperty(e,"borderTopColor"))}var f=new PropTween(this._pt,e.style,n,0,1,_renderComplexString),h=0,u=0,p,_,b,S,E,g,v,T,R,x,C,w;if(f.b=t,f.e=a,t+="",a+="",a==="auto"&&(g=e.style[n],e.style[n]=a,a=_getComputedProperty(e,n)||a,g?e.style[n]=g:_removeProperty(e,n)),p=[t,a],_colorStringFilter(p),t=p[0],a=p[1],b=t.match(_numWithUnitExp)||[],w=a.match(_numWithUnitExp)||[],w.length){for(;_=_numWithUnitExp.exec(a);)v=_[0],R=a.substring(h,_.index),E?E=(E+1)%5:(R.substr(-5)==="rgba("||R.substr(-5)==="hsla(")&&(E=1),v!==(g=b[u++]||"")&&(S=parseFloat(g)||0,C=g.substr((S+"").length),v.charAt(1)==="="&&(v=_parseRelative(S,v)+C),T=parseFloat(v),x=v.substr((T+"").length),h=_numWithUnitExp.lastIndex-x.length,x||(x=x||_config.units[n]||C,h===a.length&&(a+=x,f.e+=x)),C!==x&&(S=_convertToUnit(e,n,g,x)||0),f._pt={_next:f._pt,p:R||u===1?R:",",s:S,c:T-S,m:E&&E<4||n==="zIndex"?Math.round:0});f.c=h<a.length?a.substring(h,a.length):""}else f.r=n==="display"&&a==="none"?_renderNonTweeningValueOnlyAtEnd:_renderNonTweeningValue;return _relExp.test(a)&&(f.e=0),this._pt=f,f},_keywordToPercent={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},_convertKeywordsToPercentages=function l(e){var n=e.split(" "),t=n[0],a=n[1]||"50%";return(t==="top"||t==="bottom"||a==="left"||a==="right")&&(e=t,t=a,a=e),n[0]=_keywordToPercent[t]||t,n[1]=_keywordToPercent[a]||a,n.join(" ")},_renderClearProps=function l(e,n){if(n.tween&&n.tween._time===n.tween._dur){var t=n.t,a=t.style,o=n.u,d=t._gsap,f,h,u;if(o==="all"||o===!0)a.cssText="",h=1;else for(o=o.split(","),u=o.length;--u>-1;)f=o[u],_transformProps[f]&&(h=1,f=f==="transformOrigin"?_transformOriginProp:_transformProp),_removeProperty(t,f);h&&(_removeProperty(t,_transformProp),d&&(d.svg&&t.removeAttribute("transform"),_parseTransform(t,1),d.uncache=1,_removeIndependentTransforms(a)))}},_specialProps={clearProps:function l(e,n,t,a,o){if(o.data!=="isFromStart"){var d=e._pt=new PropTween(e._pt,n,t,0,0,_renderClearProps);return d.u=a,d.pr=-10,d.tween=o,e._props.push(t),1}}},_identity2DMatrix=[1,0,0,1,0,0],_rotationalProperties={},_isNullTransform=function l(e){return e==="matrix(1, 0, 0, 1, 0, 0)"||e==="none"||!e},_getComputedTransformMatrixAsArray=function l(e){var n=_getComputedProperty(e,_transformProp);return _isNullTransform(n)?_identity2DMatrix:n.substr(7).match(_numExp).map(_round)},_getMatrix=function l(e,n){var t=e._gsap||_getCache(e),a=e.style,o=_getComputedTransformMatrixAsArray(e),d,f,h,u;return t.svg&&e.getAttribute("transform")?(h=e.transform.baseVal.consolidate().matrix,o=[h.a,h.b,h.c,h.d,h.e,h.f],o.join(",")==="1,0,0,1,0,0"?_identity2DMatrix:o):(o===_identity2DMatrix&&!e.offsetParent&&e!==_docElement&&!t.svg&&(h=a.display,a.display="block",d=e.parentNode,(!d||!e.offsetParent)&&(u=1,f=e.nextElementSibling,_docElement.appendChild(e)),o=_getComputedTransformMatrixAsArray(e),h?a.display=h:_removeProperty(e,"display"),u&&(f?d.insertBefore(e,f):d?d.appendChild(e):_docElement.removeChild(e))),n&&o.length>6?[o[0],o[1],o[4],o[5],o[12],o[13]]:o)},_applySVGOrigin=function l(e,n,t,a,o,d){var f=e._gsap,h=o||_getMatrix(e,!0),u=f.xOrigin||0,p=f.yOrigin||0,_=f.xOffset||0,b=f.yOffset||0,S=h[0],E=h[1],g=h[2],v=h[3],T=h[4],R=h[5],x=n.split(" "),C=parseFloat(x[0])||0,w=parseFloat(x[1])||0,P,D,N,k;t?h!==_identity2DMatrix&&(D=S*v-E*g)&&(N=C*(v/D)+w*(-g/D)+(g*R-v*T)/D,k=C*(-E/D)+w*(S/D)-(S*R-E*T)/D,C=N,w=k):(P=_getBBox(e),C=P.x+(~x[0].indexOf("%")?C/100*P.width:C),w=P.y+(~(x[1]||x[0]).indexOf("%")?w/100*P.height:w)),a||a!==!1&&f.smooth?(T=C-u,R=w-p,f.xOffset=_+(T*S+R*g)-T,f.yOffset=b+(T*E+R*v)-R):f.xOffset=f.yOffset=0,f.xOrigin=C,f.yOrigin=w,f.smooth=!!a,f.origin=n,f.originIsAbsolute=!!t,e.style[_transformOriginProp]="0px 0px",d&&(_addNonTweeningPT(d,f,"xOrigin",u,C),_addNonTweeningPT(d,f,"yOrigin",p,w),_addNonTweeningPT(d,f,"xOffset",_,f.xOffset),_addNonTweeningPT(d,f,"yOffset",b,f.yOffset)),e.setAttribute("data-svg-origin",C+" "+w)},_parseTransform=function l(e,n){var t=e._gsap||new GSCache(e);if("x"in t&&!n&&!t.uncache)return t;var a=e.style,o=t.scaleX<0,d="px",f="deg",h=getComputedStyle(e),u=_getComputedProperty(e,_transformOriginProp)||"0",p,_,b,S,E,g,v,T,R,x,C,w,P,D,N,k,F,M,U,$,B,J,ne,ie,Y,q,re,ce,fe,te,H,W;return p=_=b=g=v=T=R=x=C=0,S=E=1,t.svg=!!(e.getCTM&&_isSVG(e)),h.translate&&((h.translate!=="none"||h.scale!=="none"||h.rotate!=="none")&&(a[_transformProp]=(h.translate!=="none"?"translate3d("+(h.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+(h.rotate!=="none"?"rotate("+h.rotate+") ":"")+(h.scale!=="none"?"scale("+h.scale.split(" ").join(",")+") ":"")+(h[_transformProp]!=="none"?h[_transformProp]:"")),a.scale=a.rotate=a.translate="none"),D=_getMatrix(e,t.svg),t.svg&&(t.uncache?(Y=e.getBBox(),u=t.xOrigin-Y.x+"px "+(t.yOrigin-Y.y)+"px",ie=""):ie=!n&&e.getAttribute("data-svg-origin"),_applySVGOrigin(e,ie||u,!!ie||t.originIsAbsolute,t.smooth!==!1,D)),w=t.xOrigin||0,P=t.yOrigin||0,D!==_identity2DMatrix&&(M=D[0],U=D[1],$=D[2],B=D[3],p=J=D[4],_=ne=D[5],D.length===6?(S=Math.sqrt(M*M+U*U),E=Math.sqrt(B*B+$*$),g=M||U?_atan2(U,M)*_RAD2DEG:0,R=$||B?_atan2($,B)*_RAD2DEG+g:0,R&&(E*=Math.abs(Math.cos(R*_DEG2RAD))),t.svg&&(p-=w-(w*M+P*$),_-=P-(w*U+P*B))):(W=D[6],te=D[7],re=D[8],ce=D[9],fe=D[10],H=D[11],p=D[12],_=D[13],b=D[14],N=_atan2(W,fe),v=N*_RAD2DEG,N&&(k=Math.cos(-N),F=Math.sin(-N),ie=J*k+re*F,Y=ne*k+ce*F,q=W*k+fe*F,re=J*-F+re*k,ce=ne*-F+ce*k,fe=W*-F+fe*k,H=te*-F+H*k,J=ie,ne=Y,W=q),N=_atan2(-$,fe),T=N*_RAD2DEG,N&&(k=Math.cos(-N),F=Math.sin(-N),ie=M*k-re*F,Y=U*k-ce*F,q=$*k-fe*F,H=B*F+H*k,M=ie,U=Y,$=q),N=_atan2(U,M),g=N*_RAD2DEG,N&&(k=Math.cos(N),F=Math.sin(N),ie=M*k+U*F,Y=J*k+ne*F,U=U*k-M*F,ne=ne*k-J*F,M=ie,J=Y),v&&Math.abs(v)+Math.abs(g)>359.9&&(v=g=0,T=180-T),S=_round(Math.sqrt(M*M+U*U+$*$)),E=_round(Math.sqrt(ne*ne+W*W)),N=_atan2(J,ne),R=Math.abs(N)>2e-4?N*_RAD2DEG:0,C=H?1/(H<0?-H:H):0),t.svg&&(ie=e.getAttribute("transform"),t.forceCSS=e.setAttribute("transform","")||!_isNullTransform(_getComputedProperty(e,_transformProp)),ie&&e.setAttribute("transform",ie))),Math.abs(R)>90&&Math.abs(R)<270&&(o?(S*=-1,R+=g<=0?180:-180,g+=g<=0?180:-180):(E*=-1,R+=R<=0?180:-180)),n=n||t.uncache,t.x=p-((t.xPercent=p&&(!n&&t.xPercent||(Math.round(e.offsetWidth/2)===Math.round(-p)?-50:0)))?e.offsetWidth*t.xPercent/100:0)+d,t.y=_-((t.yPercent=_&&(!n&&t.yPercent||(Math.round(e.offsetHeight/2)===Math.round(-_)?-50:0)))?e.offsetHeight*t.yPercent/100:0)+d,t.z=b+d,t.scaleX=_round(S),t.scaleY=_round(E),t.rotation=_round(g)+f,t.rotationX=_round(v)+f,t.rotationY=_round(T)+f,t.skewX=R+f,t.skewY=x+f,t.transformPerspective=C+d,(t.zOrigin=parseFloat(u.split(" ")[2])||!n&&t.zOrigin||0)&&(a[_transformOriginProp]=_firstTwoOnly(u)),t.xOffset=t.yOffset=0,t.force3D=_config.force3D,t.renderTransform=t.svg?_renderSVGTransforms:_supports3D?_renderCSSTransforms:_renderNon3DTransforms,t.uncache=0,t},_firstTwoOnly=function l(e){return(e=e.split(" "))[0]+" "+e[1]},_addPxTranslate=function l(e,n,t){var a=getUnit(n);return _round(parseFloat(n)+parseFloat(_convertToUnit(e,"x",t+"px",a)))+a},_renderNon3DTransforms=function l(e,n){n.z="0px",n.rotationY=n.rotationX="0deg",n.force3D=0,_renderCSSTransforms(e,n)},_zeroDeg="0deg",_zeroPx="0px",_endParenthesis=") ",_renderCSSTransforms=function l(e,n){var t=n||this,a=t.xPercent,o=t.yPercent,d=t.x,f=t.y,h=t.z,u=t.rotation,p=t.rotationY,_=t.rotationX,b=t.skewX,S=t.skewY,E=t.scaleX,g=t.scaleY,v=t.transformPerspective,T=t.force3D,R=t.target,x=t.zOrigin,C="",w=T==="auto"&&e&&e!==1||T===!0;if(x&&(_!==_zeroDeg||p!==_zeroDeg)){var P=parseFloat(p)*_DEG2RAD,D=Math.sin(P),N=Math.cos(P),k;P=parseFloat(_)*_DEG2RAD,k=Math.cos(P),d=_addPxTranslate(R,d,D*k*-x),f=_addPxTranslate(R,f,-Math.sin(P)*-x),h=_addPxTranslate(R,h,N*k*-x+x)}v!==_zeroPx&&(C+="perspective("+v+_endParenthesis),(a||o)&&(C+="translate("+a+"%, "+o+"%) "),(w||d!==_zeroPx||f!==_zeroPx||h!==_zeroPx)&&(C+=h!==_zeroPx||w?"translate3d("+d+", "+f+", "+h+") ":"translate("+d+", "+f+_endParenthesis),u!==_zeroDeg&&(C+="rotate("+u+_endParenthesis),p!==_zeroDeg&&(C+="rotateY("+p+_endParenthesis),_!==_zeroDeg&&(C+="rotateX("+_+_endParenthesis),(b!==_zeroDeg||S!==_zeroDeg)&&(C+="skew("+b+", "+S+_endParenthesis),(E!==1||g!==1)&&(C+="scale("+E+", "+g+_endParenthesis),R.style[_transformProp]=C||"translate(0, 0)"},_renderSVGTransforms=function l(e,n){var t=n||this,a=t.xPercent,o=t.yPercent,d=t.x,f=t.y,h=t.rotation,u=t.skewX,p=t.skewY,_=t.scaleX,b=t.scaleY,S=t.target,E=t.xOrigin,g=t.yOrigin,v=t.xOffset,T=t.yOffset,R=t.forceCSS,x=parseFloat(d),C=parseFloat(f),w,P,D,N,k;h=parseFloat(h),u=parseFloat(u),p=parseFloat(p),p&&(p=parseFloat(p),u+=p,h+=p),h||u?(h*=_DEG2RAD,u*=_DEG2RAD,w=Math.cos(h)*_,P=Math.sin(h)*_,D=Math.sin(h-u)*-b,N=Math.cos(h-u)*b,u&&(p*=_DEG2RAD,k=Math.tan(u-p),k=Math.sqrt(1+k*k),D*=k,N*=k,p&&(k=Math.tan(p),k=Math.sqrt(1+k*k),w*=k,P*=k)),w=_round(w),P=_round(P),D=_round(D),N=_round(N)):(w=_,N=b,P=D=0),(x&&!~(d+"").indexOf("px")||C&&!~(f+"").indexOf("px"))&&(x=_convertToUnit(S,"x",d,"px"),C=_convertToUnit(S,"y",f,"px")),(E||g||v||T)&&(x=_round(x+E-(E*w+g*D)+v),C=_round(C+g-(E*P+g*N)+T)),(a||o)&&(k=S.getBBox(),x=_round(x+a/100*k.width),C=_round(C+o/100*k.height)),k="matrix("+w+","+P+","+D+","+N+","+x+","+C+")",S.setAttribute("transform",k),R&&(S.style[_transformProp]=k)},_addRotationalPropTween=function l(e,n,t,a,o){var d=360,f=_isString(o),h=parseFloat(o)*(f&&~o.indexOf("rad")?_RAD2DEG:1),u=h-a,p=a+u+"deg",_,b;return f&&(_=o.split("_")[1],_==="short"&&(u%=d,u!==u%(d/2)&&(u+=u<0?d:-d)),_==="cw"&&u<0?u=(u+d*_bigNum)%d-~~(u/d)*d:_==="ccw"&&u>0&&(u=(u-d*_bigNum)%d-~~(u/d)*d)),e._pt=b=new PropTween(e._pt,n,t,a,u,_renderPropWithEnd),b.e=p,b.u="deg",e._props.push(t),b},_assign=function l(e,n){for(var t in n)e[t]=n[t];return e},_addRawTransformPTs=function l(e,n,t){var a=_assign({},t._gsap),o="perspective,force3D,transformOrigin,svgOrigin",d=t.style,f,h,u,p,_,b,S,E;a.svg?(u=t.getAttribute("transform"),t.setAttribute("transform",""),d[_transformProp]=n,f=_parseTransform(t,1),_removeProperty(t,_transformProp),t.setAttribute("transform",u)):(u=getComputedStyle(t)[_transformProp],d[_transformProp]=n,f=_parseTransform(t,1),d[_transformProp]=u);for(h in _transformProps)u=a[h],p=f[h],u!==p&&o.indexOf(h)<0&&(S=getUnit(u),E=getUnit(p),_=S!==E?_convertToUnit(t,h,u,E):parseFloat(u),b=parseFloat(p),e._pt=new PropTween(e._pt,f,h,_,b-_,_renderCSSProp),e._pt.u=E||0,e._props.push(h));_assign(f,a)};_forEachName("padding,margin,Width,Radius",function(l,e){var n="Top",t="Right",a="Bottom",o="Left",d=(e<3?[n,t,a,o]:[n+o,n+t,a+t,a+o]).map(function(f){return e<2?l+f:"border"+f+l});_specialProps[e>1?"border"+l:l]=function(f,h,u,p,_){var b,S;if(arguments.length<4)return b=d.map(function(E){return _get(f,E,u)}),S=b.join(" "),S.split(b[0]).length===5?b[0]:S;b=(p+"").split(" "),S={},d.forEach(function(E,g){return S[E]=b[g]=b[g]||b[(g-1)/2|0]}),f.init(h,S,_)}});var CSSPlugin={name:"css",register:_initCore,targetTest:function l(e){return e.style&&e.nodeType},init:function l(e,n,t,a,o){var d=this._props,f=e.style,h=t.vars.startAt,u,p,_,b,S,E,g,v,T,R,x,C,w,P,D,N;_pluginInitted||_initCore(),this.styles=this.styles||_getStyleSaver(e),N=this.styles.props,this.tween=t;for(g in n)if(g!=="autoRound"&&(p=n[g],!(_plugins[g]&&_checkPlugin(g,n,t,a,e,o)))){if(S=typeof p,E=_specialProps[g],S==="function"&&(p=p.call(t,a,e,o),S=typeof p),S==="string"&&~p.indexOf("random(")&&(p=_replaceRandom(p)),E)E(this,e,g,p,t)&&(D=1);else if(g.substr(0,2)==="--")u=(getComputedStyle(e).getPropertyValue(g)+"").trim(),p+="",_colorExp.lastIndex=0,_colorExp.test(u)||(v=getUnit(u),T=getUnit(p)),T?v!==T&&(u=_convertToUnit(e,g,u,T)+T):v&&(p+=v),this.add(f,"setProperty",u,p,a,o,0,0,g),d.push(g),N.push(g,0,f[g]);else if(S!=="undefined"){if(h&&g in h?(u=typeof h[g]=="function"?h[g].call(t,a,e,o):h[g],_isString(u)&&~u.indexOf("random(")&&(u=_replaceRandom(u)),getUnit(u+"")||u==="auto"||(u+=_config.units[g]||getUnit(_get(e,g))||""),(u+"").charAt(1)==="="&&(u=_get(e,g))):u=_get(e,g),b=parseFloat(u),R=S==="string"&&p.charAt(1)==="="&&p.substr(0,2),R&&(p=p.substr(2)),_=parseFloat(p),g in _propertyAliases&&(g==="autoAlpha"&&(b===1&&_get(e,"visibility")==="hidden"&&_&&(b=0),N.push("visibility",0,f.visibility),_addNonTweeningPT(this,f,"visibility",b?"inherit":"hidden",_?"inherit":"hidden",!_)),g!=="scale"&&g!=="transform"&&(g=_propertyAliases[g],~g.indexOf(",")&&(g=g.split(",")[0]))),x=g in _transformProps,x){if(this.styles.save(g),C||(w=e._gsap,w.renderTransform&&!n.parseTransform||_parseTransform(e,n.parseTransform),P=n.smoothOrigin!==!1&&w.smooth,C=this._pt=new PropTween(this._pt,f,_transformProp,0,1,w.renderTransform,w,0,-1),C.dep=1),g==="scale")this._pt=new PropTween(this._pt,w,"scaleY",w.scaleY,(R?_parseRelative(w.scaleY,R+_):_)-w.scaleY||0,_renderCSSProp),this._pt.u=0,d.push("scaleY",g),g+="X";else if(g==="transformOrigin"){N.push(_transformOriginProp,0,f[_transformOriginProp]),p=_convertKeywordsToPercentages(p),w.svg?_applySVGOrigin(e,p,0,P,0,this):(T=parseFloat(p.split(" ")[2])||0,T!==w.zOrigin&&_addNonTweeningPT(this,w,"zOrigin",w.zOrigin,T),_addNonTweeningPT(this,f,g,_firstTwoOnly(u),_firstTwoOnly(p)));continue}else if(g==="svgOrigin"){_applySVGOrigin(e,p,1,P,0,this);continue}else if(g in _rotationalProperties){_addRotationalPropTween(this,w,g,b,R?_parseRelative(b,R+p):p);continue}else if(g==="smoothOrigin"){_addNonTweeningPT(this,w,"smooth",w.smooth,p);continue}else if(g==="force3D"){w[g]=p;continue}else if(g==="transform"){_addRawTransformPTs(this,p,e);continue}}else g in f||(g=_checkPropPrefix(g)||g);if(x||(_||_===0)&&(b||b===0)&&!_complexExp.test(p)&&g in f)v=(u+"").substr((b+"").length),_||(_=0),T=getUnit(p)||(g in _config.units?_config.units[g]:v),v!==T&&(b=_convertToUnit(e,g,u,T)),this._pt=new PropTween(this._pt,x?w:f,g,b,(R?_parseRelative(b,R+_):_)-b,!x&&(T==="px"||g==="zIndex")&&n.autoRound!==!1?_renderRoundedCSSProp:_renderCSSProp),this._pt.u=T||0,v!==T&&T!=="%"&&(this._pt.b=u,this._pt.r=_renderCSSPropWithBeginning);else if(g in f)_tweenComplexCSSString.call(this,e,g,u,R?R+p:p);else if(g in e)this.add(e,g,u||e[g],R?R+p:p,a,o);else if(g!=="parseTransform"){_missingPlugin(g,p);continue}x||(g in f?N.push(g,0,f[g]):N.push(g,1,u||e[g])),d.push(g)}}D&&_sortPropTweensByPriority(this)},render:function l(e,n){if(n.tween._time||!_reverting())for(var t=n._pt;t;)t.r(e,t.d),t=t._next;else n.styles.revert()},get:_get,aliases:_propertyAliases,getSetter:function l(e,n,t){var a=_propertyAliases[n];return a&&a.indexOf(",")<0&&(n=a),n in _transformProps&&n!==_transformOriginProp&&(e._gsap.x||_get(e,"x"))?t&&_recentSetterPlugin===t?n==="scale"?_setterScale:_setterTransform:(_recentSetterPlugin=t||{})&&(n==="scale"?_setterScaleWithRender:_setterTransformWithRender):e.style&&!_isUndefined(e.style[n])?_setterCSSStyle:~n.indexOf("-")?_setterCSSProp:_getSetter(e,n)},core:{_removeProperty,_getMatrix}};gsap.utils.checkPrefix=_checkPropPrefix;gsap.core.getStyleSaver=_getStyleSaver;(function(l,e,n,t){var a=_forEachName(l+","+e+","+n,function(o){_transformProps[o]=1});_forEachName(e,function(o){_config.units[o]="deg",_rotationalProperties[o]=1}),_propertyAliases[a[13]]=l+","+e,_forEachName(t,function(o){var d=o.split(":");_propertyAliases[d[1]]=a[d[0]]})})("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY","transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective","0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY");_forEachName("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(l){_config.units[l]="px"});gsap.registerPlugin(CSSPlugin);var gsapWithCSS=gsap.registerPlugin(CSSPlugin)||gsap;gsapWithCSS.core.Tween;function SpeechBubbleComponent({message:l,translate:e},n){const[t,a]=React$2.useState(!1),o=()=>{const d=l.avatar,f=d.lastIndexOf("/");return d.includes("/object/")?d.slice(0,f).concat("/mini-thumbnail.png"):d.includes("/character/")?d.slice(0,f).concat("/mini-face.png"):d};return React$2.useLayoutEffect(()=>{t||a(!0)},[t]),jsxRuntimeExports.jsxs("div",{dir:"auto",ref:n,className:`
|
|
270
270
|
speech-bubble
|
|
271
271
|
${l.thinkful?"speech-bubble--italic":""}
|
|
272
|
-
`,children:[jsxRuntimeExports.jsxs("div",{className:`speech-bubble__header ${l.thinkful?"speech-bubble__header--thinking":""}`,children:[l.thinkful?jsxRuntimeExports.jsx("div",{className:"thinking-icon-wrap",children:jsxRuntimeExports.jsx("div",{className:"icon-bubble-thinkful-black"})}):null,l.avatar?jsxRuntimeExports.jsx("div",{className:"speech-bubble__avatar",children:jsxRuntimeExports.jsx("img",{src:o(),alt:l.name})}):null,l.voiceOver?jsxRuntimeExports.jsx("div",{className:"speech-bubble__avatar",children:jsxRuntimeExports.jsx("div",{className:"icon-narrator"})}):null,jsxRuntimeExports.jsxs("div",{className:"speech-bubble__name",children:[jsxRuntimeExports.jsx("span",{children:l.name}),l.thinkful?jsxRuntimeExports.jsxs("span",{children:["[ ",e("emotion.thinking")," ]"]}):null]})]}),l.text?jsxRuntimeExports.jsx("div",{className:"speech-bubble__text",children:HTMLReactParser$1(l.text)}):null]})}const SpeechBubbleComponent$1=React$2.forwardRef(SpeechBubbleComponent);function BubbleWrapper({currentMessage:l,translate:e}){const n=document.querySelector(".screens--container");return jsxRuntimeExports.jsx("group",{children:jsxRuntimeExports.jsx(arcadeThreeCore.HtmlPro,{wrapperClass:"htmlpro-wrap-100-h",onOcclude:()=>null,zIndexRange:[5,5],portal:n?{current:n}:void 0,style:{width:"100vw",height:"100%",position:"static"},calculatePosition:()=>[0,0],children:jsxRuntimeExports.jsx(SpeechBubbleComponent$1,{translate:e,message:l})})})}const cleanStyle={width:"100vw",height:"100%",position:"static"};function DialogDecision(l){const e=document.querySelector(".screens--container");return React$2.useEffect(()=>(l.onMount&&l.onMount(),()=>{l.onUnMount&&l.onUnMount()}),[]),jsxRuntimeExports.jsx(arcadeThreeCore.HtmlPro,{wrapperClass:"htmlpro-wrap-100-h",zIndexRange:[6,6],style:cleanStyle,portal:e?{current:e}:void 0,onOcclude:()=>{},calculatePosition:()=>[0,0],children:jsxRuntimeExports.jsx(DecisionComponent,{inScene:!0,...l})})}const cache={},loader=new GLTFLoader;function useStateMachine(l){const e=fiber.useThree(u=>u.scene),n=React$2.useMemo(()=>{var p;const u={};for(const _ of l)if(_.slots)for(const b of _.slots){if(!b.uid)continue;const S=(p=b.character)==null?void 0:p.resource.animations;S&&(u[b.uid]||(u[b.uid]=Object.keys(S).reduce((E,g)=>(E[g]=S[g].url,E),{})))}return u},[l]),t=React$2.useMemo(()=>{const u=new Set;for(const p of l)if(p.slots)for(const _ of p.slots)_.uid&&u.add(_.uid);return Array.from(u)},[l]),a=async u=>{const p=n[u];if(!cache[p.talking]){const{animations:b}=await loader.loadAsync(p.talking);b[0].name="talking",cache[p.talking]=b[0]}},o=()=>{t.forEach(u=>{h(u,"idle")})},d=()=>{t.forEach(u=>{const p=e.getObjectByProperty("uid",u);p&&(delete p.userData._active,h(u,"idle"))})},f=async(u,p,_)=>{const b=getCurrentVisible(u,e);if(cache[u]||(cache[u]={}),!b)return new Promise(E=>E(!1));const S=b.userData.animator;if(p){const E=n[u];let g=cache[E.talking],v=p,T=cache[p];if(!T){const{animations:R}=await loader.loadAsync(p);T=cache[p]=R[0]}if(_&&E.talking!==p&&(g?(T=mixWithTalkingClip(g,T),v+="_talking"):a(u).then(()=>{g=cache[E.talking],T=mixWithTalkingClip(g,T),v+="_talking"})),!b.userData._active||b.userData._active!==v){b.userData._active=v;const R=S.register(v,T);return new Promise(x=>{S.mix(v).then(C=>x(C?R:!1))})}}return new Promise(E=>E(!1))},h=async(u,p)=>{const _=getCurrentVisible(u,e);if(cache[u]||(cache[u]={}),!_)return new Promise(S=>S(!1));const b=_.userData.animator;if(p==="idle")return b.mix("idle"),b.getAction("idle");{const S=n[u],E=p.split("_")[0],g=S[E],v=cache[S.talking];let T=cache[g];if(!T){const{animations:R}=await loader.loadAsync(S[E]);T=cache[S[E]]=R[0]}if(p.includes("talking")&&p!=="talking"&&(T=mixWithTalkingClip(v,T)),!_.userData._active||_.userData._active!==p){_.userData._active=p;const R=b.register(p,T);return new Promise(x=>{b.mix(p).then(C=>x(C?R:!1))})}}return new Promise(S=>S(!1))};return{startAnimation:h,startAnimationUrl:f,preloadTalking:a,resetActives:o,unmountActives:d}}const characterMs=75,minMs=1400,headSize=2,raycast=new three.Raycaster,animationTarget=new three.Object3D,maxCharacterToSwitch=70;raycast.firstHitOnly=!0;function DialogComponent({keyboardControl:l,emitEvent:e,lines:n,actors:t,edges:a,soundActions:o,zoomInActor:d,autoPlay:f,autoEnd:h,pause:u,progress:p}){var Pt;const _=n.length-1<=(p==null?void 0:p.line)?n.length-1:(p==null?void 0:p.line)||0,[b,S]=React$2.useState(_),[E,g]=React$2.useState(!!f),[v,T]=React$2.useState(!1),[R,x]=React$2.useState(!1),C=fiber.useThree(Ne=>Ne.scene),w=fiber.useThree(Ne=>Ne.camera),{start:P,stop:D}=useTimeout(),N=React$2.useRef([]),k=React$2.useMemo(()=>w.clone(),[]),F=React$2.useRef({pos:[0,0,0],child:null}),M=n[b],U=n[b-1],$=React$2.useRef(!1),B=!!a,{voiceOver:J,decision:ne}=M||{},ie=React$2.useRef({}),Y=(Pt=M==null?void 0:M.slots)==null?void 0:Pt.find(Ne=>Ne.talking),q=React$2.useRef(!1),{startAnimation:re,startAnimationUrl:ce,resetActives:fe,preloadTalking:te,unmountActives:H}=useStateMachine(n),W=React$2.useRef(),V=Object.keys((M==null?void 0:M.audio)||{}).length,z=Object.keys((M==null?void 0:M.voice)||{}).length,Q=J||(M==null?void 0:M.type)==="conversationalNarration",ee=ne||(M==null?void 0:M.type)==="conversationalDecision",le=(M==null?void 0:M.type)==="conversationalCamera",ue=E&&!ee&&!le,[he,ve]=React$2.useState({text:"",name:"",inScene:!1,thinkful:!1,voiceOver:!1,avatar:"",show:!1}),be=React$2.useMemo(()=>n.reduce((Ne,Je)=>(Je.slots&&Je.slots.filter(wt=>wt.uid).forEach(wt=>{Ne.includes(wt.uid)||Ne.push(wt.uid)}),Ne),[]),[n]),Re=React$2.useCallback(Ne=>e({type:"translate",payload:Ne}),[e]),[Le,Oe]=React$2.useState([]),Ke=React$2.useMemo(()=>Le[Le.length-1],[Le]),St=React$2.useCallback(()=>{const Ne=a.find(ot=>ot.fromId===Ke)||a.find(ot=>ot.toId===Ke),Je=n.find(ot=>ot.id===(Ne==null?void 0:Ne.fromId));return!Ke&&(p==null?void 0:p.line)>=0?{decision:!0}:Je},[a,n,Ke]),it=React$2.useCallback(()=>{if(B){const Je=St();return Je==null?void 0:Je.decision}const Ne=n[b-1]?n[b-1]:{};return b>0&&(Ne==null?void 0:Ne.decision)},[M,B,n,Ke,a]),gt=React$2.useCallback(()=>{if(B){const Je=St();return(Je==null?void 0:Je.type)==="conversationalCamera"}const Ne=n[b-1]?n[b-1]:{};return b>0&&(Ne==null?void 0:Ne.type)==="conversationalCamera"},[M,B,n,Ke,a]),Ge=React$2.useCallback(Ne=>{var ot,wt;const Je=t.find($e=>($e==null?void 0:$e.uid)===(Ne==null?void 0:Ne.uid)?$e:"");return((wt=(ot=Ne==null?void 0:Ne.character)==null?void 0:ot.resource)==null?void 0:wt.url)||(Je==null?void 0:Je.completeUrl)||""},[t]),Me=(Ne=()=>{})=>{if(q.current)q.current&&(q.current=!1);else{w.updateProjectionMatrix(),w.updateMatrixWorld(!0);const Je=F.current.child?F.current.pos:k.position.toArray();if(animationTarget.position.fromArray(Je),F.current.parent){animationTarget.quaternion.equals(w.quaternion)||animationTarget.applyQuaternion(w.quaternion);const ot=F.current.isLeft?-1:1,wt=headSize*ot;animationTarget.translateX(-10*ot+wt),animationTarget.translateY(-2),animationTarget.translateZ(30)}gsapWithCSS.to(w.position,{duration:.9,ease:"power3.easeInOut",onStart:()=>{q.current=!0},onUpdate:()=>{N.current.length&&N.current.forEach(ot=>{const{object:wt}=ot;wt.material.visible=!0})},onComplete:()=>{Ne(),raycast.set(w.getWorldPosition(new three.Vector3(0,0,0)),w.getWorldDirection(new three.Vector3));const ot=raycast.intersectObjects(C.children,!0);N.current=ot.filter(wt=>wt.distance<10),N.current.length&&N.current.forEach(wt=>{const{object:$e}=wt;$e.material.side=0}),q.current=!1,$.current&&e({type:"success"}),F.current.child||w.copy(k)},...animationTarget.position})}},De=React$2.useCallback(()=>{F.current.child=null,F.current.parent=null,d&&Me()},[d]),Ve=(Ne,Je,ot,wt=!1)=>{const $e=Je.includes("seated");ot?ce(Ne,ot.url,Je.includes("talking")).then(Ft=>{Ft&&BASIC_ACTIONS_TYPES_WHITELIST.includes(ot.animationId)&&($.current?re(Ne,"idle"):re(Ne,W.current===Ne?"neutral_talking":"neutral"))}):re(Ne,wt&&!$e?`${Je}-seated`:Je)},ct=()=>{if(!(Y!=null&&Y.emotion)||$.current)return;const{emotion:Ne,uid:Je,animation:ot}=Y,wt=getCurrentVisible(Je,C);if(wt){const{isSeated:$e}=wt;te(Je).then(()=>{Ve(Je,$e&&!Ne.includes("seated")?`${Ne}-seated_talking`:`${Ne}_talking`,ot,$e),ot&&BASIC_ACTIONS_TYPES_WHITELIST.includes(ot.animationId)&&(W.current=Je)})}},dt=()=>{if(!(Y!=null&&Y.uid)||$.current)return;const{emotion:Ne,uid:Je,animation:ot}=Y,wt=getCurrentVisible(Je,C);if(wt){const{isSeated:$e}=wt;W.current===Je?(Ve(Je,"neutral",null,$e),W.current=null):Ve(Je,Ne,ot,$e)}},rt=React$2.useCallback(()=>{$.current=!0,ve({show:!1}),De(),fe(),d||e({type:"success"})},[w,e,De,d]);React$2.useEffect(()=>()=>{ie.current={},H()},[]);const xt=Ne=>{ve({show:!1}),S(Ne),e({type:"notifyProgress",payload:{line:Ne}})},Et=React$2.useCallback((Ne=!0)=>{const Je=Ne?["fromId","toId"]:["toId","fromId"],ot=a.filter(Ft=>Ft[Je[0]]===M.id),wt=ot.length===1?ot[0]:ot.find(Ft=>Ft[Je[1]]===Ke);if(!(wt!=null&&wt[Je[0]])){rt();return}Ne||Oe(Le.slice(0,Le.length-1));const $e=n.findIndex(Ft=>Ft.id===wt[Je[1]]);$e>=0?xt($e):rt()},[M==null?void 0:M.id,e,a,rt,n]),Qe=React$2.useCallback((Ne,Je)=>{const ot=[3,2,1][Ne.id],$e=a.filter(At=>At.fromId===(M==null?void 0:M.id)).find(At=>parseInt(At.fromPointIndex)===ot),Ft=n.findIndex(At=>At.id===($e==null?void 0:$e.toId));Ft>=0?($e==null?void 0:$e.fromId)===($e==null?void 0:$e.toId)?Je():xt(Ft):rt()},[M==null?void 0:M.id,a,rt,n]),Be=React$2.useCallback(()=>{if(ie.current={...Y},x(!1),dt(),B)Et(!1);else if(!it()){const Ne=b-1;ve({show:!1}),S(Ne),e({type:"notifyProgress",payload:{line:Ne}})}},[Et,e,B,U,b,Y]),Xe=React$2.useCallback(Ne=>{if(B){if(Ne){const Je=[3,2,1][Ne.id],wt=a.filter($e=>$e.fromId===M.id).find($e=>parseInt($e.fromPointIndex)===Je);if(wt){const $e=n.findIndex(Ft=>Ft.id===wt.toId);$e>=0&&e({type:"notifyProgress",payload:{line:$e}})}else e({type:"saveNode"})}}else if(b<n.length-1){const Je=b+1;e({type:"notifyProgress",payload:{line:Je}})}else e({type:"saveNode"})},[a,b,n,e,M==null?void 0:M.id,B]),Ye=React$2.useCallback((Ne,Je)=>{if(ie.current={...Y},Oe([...Le,M.id]),x(!1),dt(),B)Ne?Qe(Ne,Je):Et();else if(b<n.length-1){const ot=b+1;xt(ot)}else(h||ee||le)&&rt()},[e,M==null?void 0:M.id,B,ee,le,b,n.length,Qe,Et,rt,Y]),Pe=()=>{g(!1),Be()},Ae=()=>B?M&&M.type!=="conversationalDecision"&&!a.find(Ne=>Ne.fromId===M.id):b===n.length-1,_e=()=>{Ae()?rt():(g(!1),Ye())};React$2.useEffect(()=>{if(B&&!v){const Ne=p==null?void 0:p.line;if(Ne>=0){T(!0),S(Ne);return}const Je=n.filter(ot=>!a.find(wt=>wt.toId===ot.id));if(Je.length){const ot=Je[0],wt=n.indexOf(ot);wt>=0&&(T(!0),S(wt))}}},[a,B,n,v]);const Ie=Ne=>{if(ie.current.uid===Ne.uid||F.current.parent===Ne)return;const Je=new three.Object3D,ot=Ne.getObjectByName("Head_M");ot.updateMatrixWorld(!0),Je.applyMatrix4(ot.matrixWorld),Je.applyQuaternion(w.quaternion);const wt=d?2.5:2,$e=d?1.2:1.5;Je.translateY(wt),Je.translateX($e);const Ft=new three.Vector3;Ft.setFromMatrixPosition(ot.matrixWorld);const xe=Ft.project(w).x<0;F.current={pos:Je.position.toArray(),child:ot,parent:Ne,isLeft:xe}},tt=Ne=>{e({type:"resetZIndexUIContainer",payload:Ne})};React$2.useEffect(()=>{var Ne;if(Q)De(),ve({text:M==null?void 0:M.text,name:(M==null?void 0:M.alias)||(M==null?void 0:M.name)||`[ ${Re("storylines.misc.voiceOver")} ]`,inScene:!1,voiceOver:!0,thinkful:!1,top:!1,avatar:Ge(Y),show:!0});else if(!$.current&&!ee&&!le){const Je=M==null?void 0:M.slots.filter($e=>$e.uid&&!$e.talking),ot=[...Je.map($e=>$e.uid)||[],Y==null?void 0:Y.uid];if(be.filter($e=>!ot.includes($e)).forEach($e=>{re($e,"idle")}),Je.forEach($e=>{const Ft=getCurrentVisible($e.uid,C);if(Ft){const{isSeated:At}=Ft;Ve($e.uid,$e.emotion,$e.animation,At)}}),Y){const $e=getCurrentVisible(Y.uid,C),Ft=t.find(At=>At.uid===Y.uid);$e&&!$.current?setTimeout(()=>{var At,xe;if(Y.uid===$e.uid){Ie($e);const{isSeated:ae,userData:me}=$e,{emotion:Ee,animation:we}=Y;!((At=me._active)!=null&&At.includes("talking"))&&!((xe=me._active)!=null&&xe.includes(Ee))&&Ve(Y.uid,Ee,we,ae);const de=()=>{var Se;ve({text:Y.text,name:Y.alias||((Se=Y.character)==null?void 0:Se.name),inScene:!0,thinkful:Y.emotion.includes("think"),avatar:Ge(Y),show:!0})};d?(q.current=!1,Me(de)):de()}},150):(De(),ve({text:Y.text,name:Y.alias||((Ne=Y.character)==null?void 0:Ne.name)||(Ft==null?void 0:Ft.name),left:!1,top:Y.text.length>maxCharacterToSwitch,inScene:!1,thinkful:Y.emotion.includes("think"),avatar:Ge(Y),show:!0}))}else De(),ve({show:!0})}},[t,M,d,C,Re,Ge,De,ee,Q,be]);const Gt=useEkho({audioType:M==null?void 0:M.audioType,volume:M==null?void 0:M.audioVolume,voice:M==null?void 0:M.voice,started:he.show,text:cleanTextOfHtmlTags(he==null?void 0:he.text),audio:M==null?void 0:M.audio,slide:b,soundActions:o,emitEvent:e,pauseTTS:u,onStart:()=>{var Ne;(Ne=Y==null?void 0:Y.emotion)!=null&&Ne.includes("think")||ct()},onError:()=>{dt(),x(!0)},onFinish:()=>{dt(),ue&&!u&&Ye()}});React$2.useEffect(()=>(Gt(),()=>{Gt()}),[b,Gt]),React$2.useEffect(()=>{var Ne;if(((M==null?void 0:M.audioType)==="none"||R)&&(he!=null&&he.show)&&!(Y!=null&&Y.emotion.includes("think"))){ct();const Je=characterMs*(((Ne=he==null?void 0:he.text)==null?void 0:Ne.length)||0);setTimeout(()=>{dt()},Je<minMs?minMs:Je)}},[R,M==null?void 0:M.audioType,Y==null?void 0:Y.emotion,he]),React$2.useEffect(()=>{var Ne;if(ue&&he.show&&((M==null?void 0:M.audioType)==="none"||R)&&!u){const Je=characterMs*(((Ne=he==null?void 0:he.text)==null?void 0:Ne.length)||0);(!Ae()||Ae()&&h)&&P(Ye,Je<minMs?minMs:Je)}return()=>{D()}},[he,Ye,P,h,D,M==null?void 0:M.audioType,ue,V,z,R]);const Dt=React$2.useMemo(()=>b===0||it()||gt(),[b,it,gt]),ke=l({disabled:ee||!he.show,repeat:!1,forward:_e,rewind:Dt?null:Pe});React$2.useEffect(()=>ke(),[ke]);const mt=document.querySelector(".screens--container");if(le)return jsxRuntimeExports.jsx(ChangeCamera,{...M,emitEvent:e,success:!1,onFinish:Ye},`change-camera-${b}`);if(ee){const Ne=M.id?n.filter(ot=>ot.decision).findIndex(ot=>ot.id===M.id)+1:n.filter(ot=>ot.decision).findIndex(ot=>ot===M)+1,Je={...M.payload,decisionNumber:Ne,inheritProps:{slots:[],disableBackground:!0},required:!B,branched:B,onAddPoints:Xe,onFinish:Ye,emitEvent:e,pause:u,soundActions:o,keyboardControl:l,onMount:()=>{De(),tt(!0)},onUnMount:()=>{q.current=!1,tt(!1)}};return jsxRuntimeExports.jsx(DialogDecision,{...Je})}return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[he.text?jsxRuntimeExports.jsx(BubbleWrapper,{translate:Re,currentMessage:he}):null,jsxRuntimeExports.jsx(arcadeThreeCore.HtmlPro,{wrapperClass:"htmlpro-wrap-100-h",style:{width:"100vw",height:"100%",position:"static"},portal:mt?{current:mt}:void 0,zIndexRange:[6,6],onOcclude:()=>{},calculatePosition:()=>[0,0],children:jsxRuntimeExports.jsxs("div",{dir:LangIsRtl()?"rtl":"ltr",className:"dialog-component-controls",children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:Pe,disabled:Dt||!he.show,className:`gat--btn__round ${Dt||!he.show?"disabled":""}`,"aria-label":LangIsRtl()?Re("storylines.misc.forward"):Re("storylines.misc.rewind"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back"})}),jsxRuntimeExports.jsx("button",{type:"button",onClick:_e,disabled:!he.show,className:`gat--btn__round
|
|
272
|
+
`,children:[jsxRuntimeExports.jsxs("div",{className:`speech-bubble__header ${l.thinkful?"speech-bubble__header--thinking":""}`,children:[l.thinkful?jsxRuntimeExports.jsx("div",{className:"thinking-icon-wrap",children:jsxRuntimeExports.jsx("div",{className:"icon-bubble-thinkful-black"})}):null,l.avatar?jsxRuntimeExports.jsx("div",{className:"speech-bubble__avatar",children:jsxRuntimeExports.jsx("img",{src:o(),alt:l.name})}):null,l.voiceOver?jsxRuntimeExports.jsx("div",{className:"speech-bubble__avatar",children:jsxRuntimeExports.jsx("div",{className:"icon-narrator"})}):null,jsxRuntimeExports.jsxs("div",{className:"speech-bubble__name",children:[jsxRuntimeExports.jsx("span",{children:l.name}),l.thinkful?jsxRuntimeExports.jsxs("span",{children:["[ ",e("emotion.thinking")," ]"]}):null]})]}),l.text?jsxRuntimeExports.jsx("div",{className:"speech-bubble__text",children:HTMLReactParser$1(l.text)}):null]})}const SpeechBubbleComponent$1=React$2.forwardRef(SpeechBubbleComponent);function BubbleWrapper({currentMessage:l,translate:e}){const n=document.querySelector(".screens--container");return jsxRuntimeExports.jsx("group",{children:jsxRuntimeExports.jsx(arcadeThreeCore.HtmlPro,{wrapperClass:"htmlpro-wrap-100-h",onOcclude:()=>null,zIndexRange:[5,5],portal:n?{current:n}:void 0,style:{width:"100vw",height:"100%",position:"static"},calculatePosition:()=>[0,0],children:jsxRuntimeExports.jsx(SpeechBubbleComponent$1,{translate:e,message:l})})})}const cleanStyle={width:"100vw",height:"100%",position:"static"};function DialogDecision(l){const e=document.querySelector(".screens--container");return React$2.useEffect(()=>(l.onMount&&l.onMount(),()=>{l.onUnMount&&l.onUnMount()}),[]),jsxRuntimeExports.jsx(arcadeThreeCore.HtmlPro,{wrapperClass:"htmlpro-wrap-100-h",zIndexRange:[6,6],style:cleanStyle,portal:e?{current:e}:void 0,onOcclude:()=>{},calculatePosition:()=>[0,0],children:jsxRuntimeExports.jsx(DecisionComponent,{inScene:!0,...l})})}const cache={},loader=new GLTFLoader;function useStateMachine(l){const e=fiber.useThree(u=>u.scene),n=React$2.useMemo(()=>{var p;const u={};for(const _ of l)if(_.slots)for(const b of _.slots){if(!b.uid)continue;const S=(p=b.character)==null?void 0:p.resource.animations;S&&(u[b.uid]||(u[b.uid]=Object.keys(S).reduce((E,g)=>(E[g]=S[g].url,E),{})))}return u},[l]),t=React$2.useMemo(()=>{const u=new Set;for(const p of l)if(p.slots)for(const _ of p.slots)_.uid&&u.add(_.uid);return Array.from(u)},[l]),a=async u=>{const p=n[u];if(!cache[p.talking]){const{animations:b}=await loader.loadAsync(p.talking);b[0].name="talking",cache[p.talking]=b[0]}},o=()=>{t.forEach(u=>{h(u,"idle")})},d=()=>{t.forEach(u=>{const p=e.getObjectByProperty("uid",u);p&&(delete p.userData._active,h(u,"idle"))})},f=async(u,p,_)=>{const b=getCurrentVisible(u,e);if(cache[u]||(cache[u]={}),!b)return new Promise(E=>E(!1));const S=b.userData.animator;if(p){const E=n[u];let g=cache[E.talking],v=p,T=cache[p];if(!T){const{animations:R}=await loader.loadAsync(p);T=cache[p]=R[0]}if(_&&E.talking!==p&&(g?(T=mixWithTalkingClip(g,T),v+="_talking"):a(u).then(()=>{g=cache[E.talking],T=mixWithTalkingClip(g,T),v+="_talking"})),!b.userData._active||b.userData._active!==v){b.userData._active=v;const R=S.register(v,T);return new Promise(x=>{S.mix(v).then(C=>x(C?R:!1))})}}return new Promise(E=>E(!1))},h=async(u,p)=>{const _=getCurrentVisible(u,e);if(cache[u]||(cache[u]={}),!_)return new Promise(S=>S(!1));const b=_.userData.animator;if(p==="idle")return b.mix("idle"),b.getAction("idle");{const S=n[u],E=p.split("_")[0],g=S[E],v=cache[S.talking];if(g){let T=cache[g];if(!T){const{animations:R}=await loader.loadAsync(g);T=cache[g]=R[0]}if(p.includes("talking")&&p!=="talking"&&(T=mixWithTalkingClip(v,T)),!_.userData._active||_.userData._active!==p){_.userData._active=p;const R=b.register(p,T);return new Promise(x=>{b.mix(p).then(C=>x(C?R:!1))})}}}return new Promise(S=>S(!1))};return{startAnimation:h,startAnimationUrl:f,preloadTalking:a,resetActives:o,unmountActives:d}}const characterMs=75,minMs=1400,headSize=2,raycast=new three.Raycaster,animationTarget=new three.Object3D,maxCharacterToSwitch=70;raycast.firstHitOnly=!0;function DialogComponent({keyboardControl:l,emitEvent:e,lines:n,actors:t,edges:a,soundActions:o,zoomInActor:d,autoPlay:f,autoEnd:h,pause:u,progress:p}){var Pt;const _=n.length-1<=(p==null?void 0:p.line)?n.length-1:(p==null?void 0:p.line)||0,[b,S]=React$2.useState(_),[E,g]=React$2.useState(!!f),[v,T]=React$2.useState(!1),[R,x]=React$2.useState(!1),C=fiber.useThree(Ne=>Ne.scene),w=fiber.useThree(Ne=>Ne.camera),{start:P,stop:D}=useTimeout(),N=React$2.useRef([]),k=React$2.useMemo(()=>w.clone(),[]),F=React$2.useRef({pos:[0,0,0],child:null}),M=n[b],U=n[b-1],$=React$2.useRef(!1),B=!!a,{voiceOver:J,decision:ne}=M||{},ie=React$2.useRef({}),Y=(Pt=M==null?void 0:M.slots)==null?void 0:Pt.find(Ne=>Ne.talking),q=React$2.useRef(!1),{startAnimation:re,startAnimationUrl:ce,resetActives:fe,preloadTalking:te,unmountActives:H}=useStateMachine(n),W=React$2.useRef(),V=Object.keys((M==null?void 0:M.audio)||{}).length,z=Object.keys((M==null?void 0:M.voice)||{}).length,Q=J||(M==null?void 0:M.type)==="conversationalNarration",ee=ne||(M==null?void 0:M.type)==="conversationalDecision",le=(M==null?void 0:M.type)==="conversationalCamera",ue=E&&!ee&&!le,[he,ve]=React$2.useState({text:"",name:"",inScene:!1,thinkful:!1,voiceOver:!1,avatar:"",show:!1}),be=React$2.useMemo(()=>n.reduce((Ne,Je)=>(Je.slots&&Je.slots.filter(wt=>wt.uid).forEach(wt=>{Ne.includes(wt.uid)||Ne.push(wt.uid)}),Ne),[]),[n]),Re=React$2.useCallback(Ne=>e({type:"translate",payload:Ne}),[e]),[Le,Oe]=React$2.useState([]),Ke=React$2.useMemo(()=>Le[Le.length-1],[Le]),St=React$2.useCallback(()=>{const Ne=a.find(ot=>ot.fromId===Ke)||a.find(ot=>ot.toId===Ke),Je=n.find(ot=>ot.id===(Ne==null?void 0:Ne.fromId));return!Ke&&(p==null?void 0:p.line)>=0?{decision:!0}:Je},[a,n,Ke]),it=React$2.useCallback(()=>{if(B){const Je=St();return Je==null?void 0:Je.decision}const Ne=n[b-1]?n[b-1]:{};return b>0&&(Ne==null?void 0:Ne.decision)},[M,B,n,Ke,a]),gt=React$2.useCallback(()=>{if(B){const Je=St();return(Je==null?void 0:Je.type)==="conversationalCamera"}const Ne=n[b-1]?n[b-1]:{};return b>0&&(Ne==null?void 0:Ne.type)==="conversationalCamera"},[M,B,n,Ke,a]),Ge=React$2.useCallback(Ne=>{var ot,wt;const Je=t.find($e=>($e==null?void 0:$e.uid)===(Ne==null?void 0:Ne.uid)?$e:"");return((wt=(ot=Ne==null?void 0:Ne.character)==null?void 0:ot.resource)==null?void 0:wt.url)||(Je==null?void 0:Je.completeUrl)||""},[t]),Me=(Ne=()=>{})=>{if(q.current)q.current&&(q.current=!1);else{w.updateProjectionMatrix(),w.updateMatrixWorld(!0);const Je=F.current.child?F.current.pos:k.position.toArray();if(animationTarget.position.fromArray(Je),F.current.parent){animationTarget.quaternion.equals(w.quaternion)||animationTarget.applyQuaternion(w.quaternion);const ot=F.current.isLeft?-1:1,wt=headSize*ot;animationTarget.translateX(-10*ot+wt),animationTarget.translateY(-2),animationTarget.translateZ(30)}gsapWithCSS.to(w.position,{duration:.9,ease:"power3.easeInOut",onStart:()=>{q.current=!0},onUpdate:()=>{N.current.length&&N.current.forEach(ot=>{const{object:wt}=ot;wt.material.visible=!0})},onComplete:()=>{Ne(),raycast.set(w.getWorldPosition(new three.Vector3(0,0,0)),w.getWorldDirection(new three.Vector3));const ot=raycast.intersectObjects(C.children,!0);N.current=ot.filter(wt=>wt.distance<10),N.current.length&&N.current.forEach(wt=>{const{object:$e}=wt;$e.material.side=0}),q.current=!1,$.current&&e({type:"success"}),F.current.child||w.copy(k)},...animationTarget.position})}},De=React$2.useCallback(()=>{F.current.child=null,F.current.parent=null,d&&Me()},[d]),Ve=(Ne,Je,ot,wt=!1)=>{const $e=Je.includes("seated");ot?ce(Ne,ot.url,Je.includes("talking")).then(Ft=>{Ft&&BASIC_ACTIONS_TYPES_WHITELIST.includes(ot.animationId)&&($.current?re(Ne,"idle"):re(Ne,W.current===Ne?"neutral_talking":"neutral"))}):re(Ne,wt&&!$e?`${Je}-seated`:Je)},ct=()=>{if(!(Y!=null&&Y.emotion)||$.current)return;const{emotion:Ne,uid:Je,animation:ot}=Y,wt=getCurrentVisible(Je,C);if(wt){const{isSeated:$e}=wt;te(Je).then(()=>{Ve(Je,$e&&!Ne.includes("seated")?`${Ne}-seated_talking`:`${Ne}_talking`,ot,$e),ot&&BASIC_ACTIONS_TYPES_WHITELIST.includes(ot.animationId)&&(W.current=Je)})}},dt=()=>{if(!(Y!=null&&Y.uid)||$.current)return;const{emotion:Ne,uid:Je,animation:ot}=Y,wt=getCurrentVisible(Je,C);if(wt){const{isSeated:$e}=wt;W.current===Je?(Ve(Je,"neutral",null,$e),W.current=null):Ve(Je,Ne,ot,$e)}},rt=React$2.useCallback(()=>{$.current=!0,ve({show:!1}),De(),fe(),d||e({type:"success"})},[w,e,De,d]);React$2.useEffect(()=>()=>{ie.current={},H()},[]);const xt=Ne=>{ve({show:!1}),S(Ne),e({type:"notifyProgress",payload:{line:Ne}})},Et=React$2.useCallback((Ne=!0)=>{const Je=Ne?["fromId","toId"]:["toId","fromId"],ot=a.filter(Ft=>Ft[Je[0]]===M.id),wt=ot.length===1?ot[0]:ot.find(Ft=>Ft[Je[1]]===Ke);if(!(wt!=null&&wt[Je[0]])){rt();return}Ne||Oe(Le.slice(0,Le.length-1));const $e=n.findIndex(Ft=>Ft.id===wt[Je[1]]);$e>=0?xt($e):rt()},[M==null?void 0:M.id,e,a,rt,n]),Qe=React$2.useCallback((Ne,Je)=>{const ot=[3,2,1][Ne.id],$e=a.filter(At=>At.fromId===(M==null?void 0:M.id)).find(At=>parseInt(At.fromPointIndex)===ot),Ft=n.findIndex(At=>At.id===($e==null?void 0:$e.toId));Ft>=0?($e==null?void 0:$e.fromId)===($e==null?void 0:$e.toId)?Je():xt(Ft):rt()},[M==null?void 0:M.id,a,rt,n]),Be=React$2.useCallback(()=>{if(ie.current={...Y},x(!1),dt(),B)Et(!1);else if(!it()){const Ne=b-1;ve({show:!1}),S(Ne),e({type:"notifyProgress",payload:{line:Ne}})}},[Et,e,B,U,b,Y]),Xe=React$2.useCallback(Ne=>{if(B){if(Ne){const Je=[3,2,1][Ne.id],wt=a.filter($e=>$e.fromId===M.id).find($e=>parseInt($e.fromPointIndex)===Je);if(wt){const $e=n.findIndex(Ft=>Ft.id===wt.toId);$e>=0&&e({type:"notifyProgress",payload:{line:$e}})}else e({type:"saveNode"})}}else if(b<n.length-1){const Je=b+1;e({type:"notifyProgress",payload:{line:Je}})}else e({type:"saveNode"})},[a,b,n,e,M==null?void 0:M.id,B]),Ye=React$2.useCallback((Ne,Je)=>{if(ie.current={...Y},Oe([...Le,M.id]),x(!1),dt(),B)Ne?Qe(Ne,Je):Et();else if(b<n.length-1){const ot=b+1;xt(ot)}else(h||ee||le)&&rt()},[e,M==null?void 0:M.id,B,ee,le,b,n.length,Qe,Et,rt,Y]),Pe=()=>{g(!1),Be()},Ae=()=>B?M&&M.type!=="conversationalDecision"&&!a.find(Ne=>Ne.fromId===M.id):b===n.length-1,_e=()=>{Ae()?rt():(g(!1),Ye())};React$2.useEffect(()=>{if(B&&!v){const Ne=p==null?void 0:p.line;if(Ne>=0){T(!0),S(Ne);return}const Je=n.filter(ot=>!a.find(wt=>wt.toId===ot.id));if(Je.length){const ot=Je[0],wt=n.indexOf(ot);wt>=0&&(T(!0),S(wt))}}},[a,B,n,v]);const Ie=Ne=>{if(ie.current.uid===Ne.uid||F.current.parent===Ne)return;const Je=new three.Object3D,ot=Ne.getObjectByName("Head_M");ot.updateMatrixWorld(!0),Je.applyMatrix4(ot.matrixWorld),Je.applyQuaternion(w.quaternion);const wt=d?2.5:2,$e=d?1.2:1.5;Je.translateY(wt),Je.translateX($e);const Ft=new three.Vector3;Ft.setFromMatrixPosition(ot.matrixWorld);const xe=Ft.project(w).x<0;F.current={pos:Je.position.toArray(),child:ot,parent:Ne,isLeft:xe}},tt=Ne=>{e({type:"resetZIndexUIContainer",payload:Ne})};React$2.useEffect(()=>{var Ne;if(Q)De(),ve({text:M==null?void 0:M.text,name:(M==null?void 0:M.alias)||(M==null?void 0:M.name)||`[ ${Re("storylines.misc.voiceOver")} ]`,inScene:!1,voiceOver:!0,thinkful:!1,top:!1,avatar:Ge(Y),show:!0});else if(!$.current&&!ee&&!le){const Je=M==null?void 0:M.slots.filter($e=>$e.uid&&!$e.talking),ot=[...Je.map($e=>$e.uid)||[],Y==null?void 0:Y.uid];if(be.filter($e=>!ot.includes($e)).forEach($e=>{re($e,"idle")}),Je.forEach($e=>{const Ft=getCurrentVisible($e.uid,C);if(Ft){const{isSeated:At}=Ft;Ve($e.uid,$e.emotion,$e.animation,At)}}),Y){const $e=getCurrentVisible(Y.uid,C),Ft=t.find(At=>At.uid===Y.uid);$e&&!$.current?setTimeout(()=>{var At,xe;if(Y.uid===$e.uid){Ie($e);const{isSeated:ae,userData:me}=$e,{emotion:Ee,animation:we}=Y;!((At=me._active)!=null&&At.includes("talking"))&&!((xe=me._active)!=null&&xe.includes(Ee))&&Ve(Y.uid,Ee,we,ae);const de=()=>{var Se;ve({text:Y.text,name:Y.alias||((Se=Y.character)==null?void 0:Se.name),inScene:!0,thinkful:Y.emotion.includes("think"),avatar:Ge(Y),show:!0})};d?(q.current=!1,Me(de)):de()}},150):(De(),ve({text:Y.text,name:Y.alias||((Ne=Y.character)==null?void 0:Ne.name)||(Ft==null?void 0:Ft.name),left:!1,top:Y.text.length>maxCharacterToSwitch,inScene:!1,thinkful:Y.emotion.includes("think"),avatar:Ge(Y),show:!0}))}else De(),ve({show:!0})}},[t,M,d,C,Re,Ge,De,ee,Q,be]);const Gt=useEkho({audioType:M==null?void 0:M.audioType,volume:M==null?void 0:M.audioVolume,voice:M==null?void 0:M.voice,started:he.show,text:cleanTextOfHtmlTags(he==null?void 0:he.text),audio:M==null?void 0:M.audio,slide:b,soundActions:o,emitEvent:e,pauseTTS:u,onStart:()=>{var Ne;(Ne=Y==null?void 0:Y.emotion)!=null&&Ne.includes("think")||ct()},onError:()=>{dt(),x(!0)},onFinish:()=>{dt(),ue&&!u&&Ye()}});React$2.useEffect(()=>(Gt(),()=>{Gt()}),[b,Gt]),React$2.useEffect(()=>{var Ne;if(((M==null?void 0:M.audioType)==="none"||R)&&(he!=null&&he.show)&&!(Y!=null&&Y.emotion.includes("think"))){ct();const Je=characterMs*(((Ne=he==null?void 0:he.text)==null?void 0:Ne.length)||0);setTimeout(()=>{dt()},Je<minMs?minMs:Je)}},[R,M==null?void 0:M.audioType,Y==null?void 0:Y.emotion,he]),React$2.useEffect(()=>{var Ne;if(ue&&he.show&&((M==null?void 0:M.audioType)==="none"||R)&&!u){const Je=characterMs*(((Ne=he==null?void 0:he.text)==null?void 0:Ne.length)||0);(!Ae()||Ae()&&h)&&P(Ye,Je<minMs?minMs:Je)}return()=>{D()}},[he,Ye,P,h,D,M==null?void 0:M.audioType,ue,V,z,R]);const Dt=React$2.useMemo(()=>b===0||it()||gt(),[b,it,gt]),ke=l({disabled:ee||!he.show,repeat:!1,forward:_e,rewind:Dt?null:Pe});React$2.useEffect(()=>ke(),[ke]);const mt=document.querySelector(".screens--container");if(le)return jsxRuntimeExports.jsx(ChangeCamera,{...M,emitEvent:e,success:!1,onFinish:Ye},`change-camera-${b}`);if(ee){const Ne=M.id?n.filter(ot=>ot.decision).findIndex(ot=>ot.id===M.id)+1:n.filter(ot=>ot.decision).findIndex(ot=>ot===M)+1,Je={...M.payload,decisionNumber:Ne,inheritProps:{slots:[],disableBackground:!0},required:!B,branched:B,onAddPoints:Xe,onFinish:Ye,emitEvent:e,pause:u,soundActions:o,keyboardControl:l,onMount:()=>{De(),tt(!0)},onUnMount:()=>{q.current=!1,tt(!1)}};return jsxRuntimeExports.jsx(DialogDecision,{...Je})}return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[he.text?jsxRuntimeExports.jsx(BubbleWrapper,{translate:Re,currentMessage:he}):null,jsxRuntimeExports.jsx(arcadeThreeCore.HtmlPro,{wrapperClass:"htmlpro-wrap-100-h",style:{width:"100vw",height:"100%",position:"static"},portal:mt?{current:mt}:void 0,zIndexRange:[6,6],onOcclude:()=>{},calculatePosition:()=>[0,0],children:jsxRuntimeExports.jsxs("div",{dir:LangIsRtl()?"rtl":"ltr",className:"dialog-component-controls",children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:Pe,disabled:Dt||!he.show,className:`gat--btn__round ${Dt||!he.show?"disabled":""}`,"aria-label":LangIsRtl()?Re("storylines.misc.forward"):Re("storylines.misc.rewind"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back"})}),jsxRuntimeExports.jsx("button",{type:"button",onClick:_e,disabled:!he.show,className:`gat--btn__round
|
|
273
273
|
${he.show?"":"disabled"}
|
|
274
274
|
${E&&Ae()?"glowing-animation":""}`,"aria-label":LangIsRtl()?Re("storylines.misc.rewind"):Re("storylines.misc.forward"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})})]})})]})}const activeCache=arcadeThreeCore.ProgressManager.request("AssetLoader").cache,assetLoader=new arcadeThreeCore.AssetLoader(void 0,activeCache);function Animation({animation:l,loopTimes:e,onAnimationFinish:n,onAnimationSave:t,resource:a,makeDefault:o,emitEvent:d}){const f=fiber.useThree(p=>p.scene),h=React$2.useRef(1),u=React$2.useRef();return React$2.useEffect(()=>{if(!u.current){const p=f.getObjectByProperty("uid",a.uid);if(p&&l&&p.skeletonId===l.skeletonId)if(o)t({uid:a.uid,animation:l.id,index:p.index}),n(l);else{const _=p.userData.animator,b=()=>{_.getAction(l.url).setLoop(three.LoopRepeat,1/0),h.current=1;function E(){h.current>=e&&(_.mix("idle"),n(l),_.removeEventListener("loop",E)),h.current+=1}_.mix(l.url).then(g=>{g&&_.addEventListener("loop",E)})};_.getAction(l.url)?b():assetLoader.load(l.url,S=>{_.register(l.url,S.animations[0]),b()})}else n(l);u.current=l.id}},[f,l.url,e,d,a.uid,o,l,a,n,t]),null}function MultipleAnimation({animations:l=[],enableInteraction:e,emitEvent:n}){const[t,a]=React$2.useState(!1),o=l.length,d=React$2.useRef(0),f=()=>{d.current+=1,d.current>=o&&a(!0)},h=u=>{n({type:"saveAnimation",payload:u})};return React$2.useEffect(()=>{t&&n({type:"success"})},[n,t]),React$2.useEffect(()=>{e&&a(!0)},[e]),l.map(({animation:u,resource:p,..._})=>jsxRuntimeExports.jsx(Animation,{animation:u,resource:p,..._,onAnimationSave:h,onAnimationFinish:f},`${u.id}_${p.uid}`))}function EmailPill({text:l,error:e,handleClick:n}){return jsxRuntimeExports.jsxs("div",{"data-testid":`${e?" pill--error":"pill--ok"}`,className:`email-pill ${e?" email-pill--error":""}`,children:[jsxRuntimeExports.jsx("div",{children:l}),jsxRuntimeExports.jsx("div",{className:"email-pill__delete",children:jsxRuntimeExports.jsx("button",{type:"button",onClick:n,className:"icon-close unset-button","aria-label":"icon click"})})]})}function StepOne({handleContinue:l,handleCancel:e,translate:n,text:t}){const[a,o]=React$2.useState([]),[d,f]=React$2.useState(0),[h,u]=React$2.useState(0),p=React$2.useRef(null),_=(g,v,T)=>{g.stopPropagation(),o(a.filter(R=>R!==a[T])),v.error&&f(d-1),v.isRepeat&&u(h-1)},b=()=>{p.current&&p.current.focus()},S=()=>{[" ",",",";","."].includes(p.current.value)&&(p.current.value="")},E=g=>{const v=p.current.value,T=["Space","Comma","Period","Enter"],R=["Space","Comma","Enter","Tab"];v===""&&(T.includes(g.code)||g.keyCode==="186"||g.key==="Enter"||g.key===" ")?g.preventDefault():p.current.value.length>1&&(R.includes(g.code)||g.type==="blur")&&(g.preventDefault(),/[A-Za-z0-9._%+-]{3,}@[A-Za-z0-9_+-]{2,}([.]{1}[a-zA-Z]{2,}|[.]{1}[a-zA-Z]{2,}[.]{1}[a-zA-Z]{2,})/.test(v)?a.find(C=>C.text===v)?(u(h+1),o([...a,{text:v,error:!0,isRepeat:!0}])):o([...a,{text:v}]):(o([...a,{text:v,error:!0}]),f(d+1)),p.current.value="")};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"referrals-piece__body",children:[jsxRuntimeExports.jsx("div",{className:"referrals-piece__title",children:n("puzzles.referrals.inviter.titleStep1")}),jsxRuntimeExports.jsx("div",{className:"referrals-piece__subtitle",children:t}),jsxRuntimeExports.jsxs("div",{className:"referrals-piece__form",children:[jsxRuntimeExports.jsxs("div",{className:"referrals-piece__instructions",children:[jsxRuntimeExports.jsx("div",{dir:"auto",children:n("puzzles.referrals.inviter.instructions")}),jsxRuntimeExports.jsx("div",{dir:"auto",children:n("puzzles.referrals.inviter.limit")})]}),jsxRuntimeExports.jsx("div",{className:"referrals-piece__faketextarea",onKeyUp:()=>{},role:"button",tabIndex:"-1",onClick:b,"aria-labelledby":"list of emails",children:jsxRuntimeExports.jsxs("div",{className:"referrals-piece__scrollarea",id:"list of emails",children:[a&&a.map((g,v)=>jsxRuntimeExports.jsx(EmailPill,{text:g.text,error:g.error,handleClick:T=>_(T,g,v),emailPillIndex:v},`${a.indexOf(g)}`)),a.length<=9?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("input",{id:"email",ref:p,className:"referrals-piece__inputemail",onChange:S,onKeyDown:E,onBlur:E,type:"email",autoComplete:"off"}),jsxRuntimeExports.jsx("label",{className:"referrals-piece__emaillabel",htmlFor:"email",children:jsxRuntimeExports.jsx("span",{children:n("puzzles.referrals.inviter.skipButton")})})]}):null]})}),jsxRuntimeExports.jsxs("div",{dir:LangIsRtl()?"rtl":"auto",className:"referrals-piece__footervalidation",children:[jsxRuntimeExports.jsxs("div",{className:"referrals-piece__errormessage",children:[jsxRuntimeExports.jsx("div",{children:h>0?n("puzzles.referrals.inviter.errorEmailRepeat"):null}),jsxRuntimeExports.jsx("div",{children:d>0?n("puzzles.referrals.inviter.errorMessage"):null})]}),jsxRuntimeExports.jsxs("div",{className:"referrals-piece__counter","data-testid":"pillcounter",children:[a.length,"/10"]})]})]})]}),jsxRuntimeExports.jsxs("div",{className:"referrals-piece__buttons",children:[jsxRuntimeExports.jsx("button",{"data-testid":"cancelButton",className:"gat--btn gat--btn__secondary",type:"button",onClick:e,children:n("puzzles.referrals.inviter.skipButton")}),jsxRuntimeExports.jsx("button",{className:`gat--btn gat--btn__primary ${h>0||d>0||a.length===0?" disabled":""}`,type:"button",disabled:d>0||a.length===0,onClick:()=>l(a),children:n("puzzles.referrals.inviter.inviteButton")})]})]})}function StepTwo({handleFinish:l,translate:e,valid:n,invalid:t}){const[a,o]=React$2.useState(!1),d=()=>{o(!a)},f=n===1?"invitationSend":"invitationsSend",h=t===1?"invitationNotSend":"invitationsNotSend";return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"referrals-piece__body",dir:"auto",children:[jsxRuntimeExports.jsx("div",{className:"referrals-piece__title",children:e("puzzles.referrals.inviter.titleStep2")}),jsxRuntimeExports.jsxs("ul",{className:"referrals-piece__feedback",children:[!!n.current&&jsxRuntimeExports.jsxs("li",{children:[jsxRuntimeExports.jsx("div",{className:"referrals-piece__feedbackicon icon-check-circle-black color--success"}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("strong",{children:n.current})," ",e(`puzzles.referrals.inviter.${f}`)]})]}),!!t.current&&jsxRuntimeExports.jsxs("li",{children:[jsxRuntimeExports.jsx("div",{className:"referrals-piece__feedbackicon icon-error-circle-black color--error"}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("strong",{children:t.current})," ",e(`puzzles.referrals.inviter.${h}`)]}),jsxRuntimeExports.jsx("button",{className:"un-button",type:"button",onClick:d,children:e("puzzles.referrals.inviter.whyFail")})]})]}),a?jsxRuntimeExports.jsxs("ul",{className:"referrals-piece__failsreasons",children:[jsxRuntimeExports.jsx("li",{children:e("puzzles.referrals.inviter.failReasons1")}),jsxRuntimeExports.jsx("li",{children:e("puzzles.referrals.inviter.failReasons2")}),jsxRuntimeExports.jsx("li",{children:e("puzzles.referrals.inviter.failReasons3")})]}):null]}),jsxRuntimeExports.jsx("div",{className:"referrals-piece__buttons",children:jsxRuntimeExports.jsx("button",{className:"gat--btn gat--btn__primary",type:"button",onClick:l,children:e("puzzles.referrals.inviter.continueButton")})})]})}function ReferralComponent({emitEvent:l,text:e,rewards:n,referrals:t}){const a=b=>l({type:"translate",payload:b}),[o,d]=React$2.useState("step1"),f=React$2.useRef(0),h=React$2.useRef(0),u=async b=>{const S=b.map(g=>g.text),E=await l({type:"sendReferrals",payload:S});f.current=E&&E.data?E.data.valid.length:0,h.current=S.length-f.current,d("step2")};if(!t)return l({type:"success"}),null;const p=()=>{l({type:"success"})},_=()=>{if(f.current){const b=n.map(S=>(S.points*=f.current,S));l({type:"addPoints",complex:!0,finish:!0,payload:b})}else l({type:"success"})};return jsxRuntimeExports.jsx("div",{className:"referrals-piece",children:jsxRuntimeExports.jsxs("div",{className:"referrals-piece__center",children:[o==="step1"&&jsxRuntimeExports.jsx(StepOne,{translate:a,handleContinue:u,handleCancel:p,text:e}),o==="step2"&&jsxRuntimeExports.jsx(StepTwo,{translate:a,handleFinish:_,valid:f,invalid:h})]})})}exports.AnimationComponent=MultipleAnimation;exports.AutoEvaluationComponent=AutoEvaluation;exports.CardsSelectorPuzzleComponent=CardsSelectorPuzzleComponent;exports.CartelComponent=CartelComponent;exports.ChainedImageClickPuzzleComponent=ChainedImageClickPuzzleComponent;exports.ChangeCamera=ChangeCamera;exports.ComicComponent=ComicComponent;exports.ConversationalComponent=ConversationalComponent;exports.ConversationalProComponent=ConversationalProComponent;exports.CrackerPuzzleComponent=CrackerPuzzleComponent;exports.DecisionComponent=DecisionComponent;exports.DialogComponent=DialogComponent;exports.DragItemPuzzleComponent=DragItemPuzzleComponent;exports.FrameImageClickComponent=FrameImageClickComponent;exports.HackerPuzzleComponent=HackerPuzzleComponent;exports.HangedPuzzleComponent=HangedPuzzleComponent;exports.ImageClickPuzzleComponent=ImageClickPuzzleComponent;exports.ImageComponent=ImageComponent;exports.InventoryItem=InventoryItem;exports.KeyboardPuzzleComponent=KeyboardPuzzleComponent;exports.LecturesComponent=LecturesComponent;exports.LoginPuzzleComponent=LoginPuzzleComponent;exports.NoticeComponent=NoticeComponent;exports.PatternComponent=PatternComponent;exports.PdfComponent=PdfComponent;exports.PdfVisor=PdfVisor;exports.ReferralComponent=ReferralComponent;exports.SurveyComponent=SurveyComponent;exports.TerminalPuzzleComponent=TerminalPuzzleComponent;exports.TestComponent=TestComponent;exports.TextClickPuzzleComponent=TextClickPuzzleComponent;exports.UrlComponent=UrlComponent;exports.VideoComponent=VideoComponent;exports.VideoVisor=VideoVisor;exports.WebBuilderPuzzleComponent=WebBuilderPuzzleComponent;exports.WriterPuzzleComponent=WriterPuzzleComponent;
|
|
275
275
|
//# sourceMappingURL=arcade-components.cjs.map
|