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