1var C=Object.freeze,se=Object.defineProperty;var o=(e,t)=>C(se(e,"raw",{value:C(t||e.slice())}));import{v as ae,w as oe,A as ce,y as le,z as de,G as ue,I as he,i as x,x as c,E as g,r as m,n as d}from"./funnel-tracker.2rTqlksa.js";import{t as y}from"./google-cookies.BF4V9H18.js";import{o as ee}from"./main.dTTzjtX5.js";import{o as te}from"./if-defined.CFuazli4.js";import{i as re,P as ge}from"./persisted-redux-controller.CClxSLXV.js";import{s as pe,a as fe,b as me,c as ve}from"./analytics.CJrgfIra.js";import{a as we}from"./class-map.OMzoAZ_H.js";import{e as xe}from"./query.6GE6ClqT.js";import"./_commonjsHelpers.CqkleIqs.js";import"./auth-cookies.Cq4KilpJ.js";import"./analytics.Yss8y0c9.js";import"./preload-helper.CXnpAtHY.js";import"./clicks-tracker.BNwCWQuc.js";import"./v4.CtRu48qb.js";function ye(e,t){e.currentLearningId=t.payload.currentLearningId,e.learnings[e.currentLearningId]||(e.learnings[e.currentLearningId]={}),e.learnings[e.currentLearningId].manager=t.payload.manager,e.learnings[e.currentLearningId].currentExercise=t.payload.currentExercise,e.learnings[e.currentLearningId].limit=t.payload.limit,e.learnings[e.currentLearningId].currentIndex=0,e.learnings[e.currentLearningId].history=[],e.learnings[e.currentLearningId].answer={correctOption:"",selectedOption:"",validated:!1},e.learnings[e.currentLearningId].streak={value:0,type:null,message:void 0},e.learnings[e.currentLearningId].isReviewingExercise=!1}function Le(e,t){e.currentLearningId=t.payload.currentLearningId,e.learnings[e.currentLearningId]&&(e.learnings[e.currentLearningId]={...e.learnings[e.currentLearningId],manager:t.payload.manager,limit:t.payload.limit})}function be(e,t){e.learnings[e.currentLearningId]&&(e.learnings[e.currentLearningId]={...e.learnings[e.currentLearningId],currentIndex:0,history:[],currentExercise:t.payload.initialExercise,answer:{correctOption:"",selectedOption:"",validated:!1},streak:{value:0,type:null,message:void 0},isReviewingExercise:!1})}function Ie(e,t){!e.learnings[e.currentLearningId]||!e.learnings[e.currentLearningId].answer.validated||e.learnings[e.currentLearningId].currentIndex!==e.learnings[e.currentLearningId].limit-1||(e.learnings[e.currentLearningId]={...e.learnings[e.currentLearningId],currentIndex:e.learnings[e.currentLearningId].limit,currentExercise:void 0,answer:{correctOption:"",selectedOption:"",validated:!1},streak:{...e.learnings[e.currentLearningId].streak,message:void 0}})}function Ee(e,t){!e.learnings[e.currentLearningId]||!e.learnings[e.currentLearningId].answer.validated||(e.learnings[e.currentLearningId]={...e.learnings[e.currentLearningId],currentExercise:t.payload.exercise,currentIndex:e.learnings[e.currentLearningId].currentIndex+1,answer:{correctOption:"",selectedOption:"",validated:!1},streak:{...e.learnings[e.currentLearningId].streak,message:void 0}})}function ke(e,t){e.learnings[e.currentLearningId]&&(e.learnings[e.currentLearningId]={...e.learnings[e.currentLearningId],answer:{...e.learnings[e.currentLearningId].answer,correctOption:t.payload.correctOption}})}function Se(e,t){e.learnings[e.currentLearningId]&&(e.learnings[e.currentLearningId]={...e.learnings[e.currentLearningId],answer:{...e.learnings[e.currentLearningId].answer,selectedOption:t.payload.option}})}function Ce(e,t){var i;if(!e.learnings[e.currentLearningId]||!e.learnings[e.currentLearningId].currentExercise)return;const r=t.payload.correct?"correct":"incorrect";e.learnings[e.currentLearningId]={...e.learnings[e.currentLearningId],answer:{...e.learnings[e.currentLearningId].answer,validated:!0},history:[...e.learnings[e.currentLearningId].history,{exerciseId:e.learnings[e.currentLearningId].currentExercise.id,correct:t.payload.correct,answer:e.learnings[e.currentLearningId].answer.selectedOption,correctOption:e.learnings[e.currentLearningId].answer.correctOption}],streak:{value:r===((i=e.learnings[e.currentLearningId].streak)==null?void 0:i.type)?e.learnings[e.currentLearningId].streak.value+1:1,type:r}}}function Oe(e,t){e.learnings[e.currentLearningId]&&(e.learnings[e.currentLearningId]={...e.learnings[e.currentLearningId],currentExercise:t.payload.exercise,answer:{...e.learnings[e.currentLearningId].answer,correctOption:t.payload.correctOption,selectedOption:t.payload.selectedOption,validated:!0},isReviewingExercise:!0})}function Re(e,t){e.learnings[e.currentLearningId]&&(e.learnings[e.currentLearningId]={...e.learnings[e.currentLearningId],isReviewingExercise:!1,currentExercise:void 0,answer:{correctOption:"",selectedOption:"",validated:!1}})}function $e(e,t){e.learnings[e.currentLearningId]&&(e.learnings[e.currentLearningId]={...e.learnings[e.currentLearningId],streak:{...e.learnings[e.currentLearningId].streak,message:t.payload.message}})}function Ae(e,t){e.learnings[e.currentLearningId]&&(e.learnings[e.currentLearningId]={...e.learnings[e.currentLearningId],introductionViewed:!0})}const De={title:"",url:"",introductionViewed:!1,currentIndex:0,history:[],limit:0,answer:{correctOption:"",selectedOption:"",validated:!1},streak:{value:0,type:null},isReviewingExercise:!1},Me={currentLearningId:"",learnings:{}},I=ae({name:"interactive-learning",initialState:Me,reducers:{reset:be,
1setInitialData:ye,recoverState:Le,nextExercise:Ee,complete:Ie,setCorrectOption:ke,selectExerciseOption:Se,validateExercise:Ce,reviewExercise:Oe,completeExerciseReview:Re,setStreakMessage:$e,setIntroductionViewed:Ae}}),h=I.actions;var Te={};const Ve={key:"interactive-learning",storage:he,blacklist:["currentLearningId"]},Pe=le({[I.name]:ue(Ve,I.reducer)}),ie=oe({reducer:Pe,devTools:Te.mode!=="production",middleware:[de]}),_e=ce(ie);class Ue{constructor(t){this.hash=t.hash,this.approach=t.approach}}class k extends Ue{constructor(t){super({approach:"random",hash:t.hash}),this.selectedHistory=[],this.data=t.data,this.maxExercises=t.maxExercises,this.bucket=this.generateBucket(t.data),this.limit=this.getLimit(this.maxExercises)}generateBucket(t){const r={easy:[],hard:[]};return t.forEach(i=>{r[i.difficulty].push(i)}),r}getRandom(t,r=[]){const i=this.bucket[t];let n=[...i].filter(a=>!r.includes(a.id));n.length===0&&(n=[...i]);const s=Math.floor(Math.random()*n.length);return n[s]}getInitial(t="easy"){const r=this.getRandom(t);return this.selectedHistory.push(r),r}getNext(t,r){let i=t.difficulty;r==="correct"&&t.difficulty==="easy"&&(i="hard"),r==="wrong"&&t.difficulty==="hard"&&(i="easy");const n=this.selectedHistory.map(a=>a.id),s=this.getRandom(i,n);return this.selectedHistory.push(s),s}getLimit(t){if(this.limit)return this.limit;const r=Math.min(this.bucket.easy.length,this.bucket.hard.length);return t&&t<r?t:r}restart({difficulty:t=void 0,shouldReset:r=!1}){this.selectedHistory.splice(1);let i=this.selectedHistory[0];return(r||!i||t&&(i==null?void 0:i.difficulty)!==t)&&(i=this.getInitial(t)),i}getExerciseById(t){return[...this.bucket.easy,...this.bucket.hard].find(r=>r.id===t)}getAllExercises(){return[...this.data]}static copyFrom(t){const r=new k({data:t.data,hash:t.hash,maxExercises:t.maxExercises});return r.selectedHistory=[...t.selectedHistory],r}}class v{static create(t,r,i){switch(t){case"random":return new k({data:r.exercisesData,hash:i!=null?i:v.generateDataHash(r),maxExercises:r.maxExercises});default:throw new Error("Invalid approach")}}static validate(t,r){const i=v.generateDataHash(r);if(!re(t.hash,i))return{manager:v.create(t.approach,r,i),changed:!0};switch(t.approach){case"random":return{manager:k.copyFrom(t),changed:!1};default:throw new Error("Invalid approach")}}static generateDataHash(t){const r=JSON.stringify(t);return Buffer.from(r,"base64").toString("hex")}}class L extends ge{constructor(t){super(t,ie,_e),this.correctAnswerStreakMultipliers=[.4,.8],this.incorrectAnswerStreakMultipliers=[.4,.8],this.correctAnswerStreakMessages=[{title:"Continue assim!",subtitle:"Acertou {{value}} seguidas.\nMandou bem!"},{title:"Muito bem!",subtitle:"{{value}} seguidas?\nMantenha esse ritmo!"},{title:"Excelente!",subtitle:"Acertou {{value}} seguidas.\nMantenha esse ritmo!"},{title:"Está arrasando!",subtitle:"{{value}} seguidas?\nMandou bem!"}],this.incorrectAnswerStreakMessages=[{title:"Não desista!",subtitle:"Continue praticando\nque você vai conseguir."},{title:"Você consegue!",subtitle:"A prática\nleva à perfeição."},{title:"Não se preocupe!",subtitle:"Cada erro é uma chance\nde melhorar seu conhecimento."},{title:"Não se desanime!",subtitle:"Você está\nno caminho certo."}]}stateChanged(t,r){(r||!re(t[I.name],this.interactiveLearningSliceState))&&(this.updateState(t),this.host.requestUpdate())}get interactiveLearningSliceState(){return this.state[I.name]}get currentLearningId(){return this.interactiveLearningSliceState.currentLearningId}get currentLearningState(){return this.interactiveLearningSliceState.learnings[this.currentLearningId]||De}get title(){return this.currentLearningState.title}get url(){return this.currentLearningState.url}get manager(){const t=this.currentLearningState.manager;if(!t)throw new Error("Call setInitialData before using manager");return t}get introductionViewed(){return this.currentLearningState.introductionViewed}get currentExercise(){return this.currentLearningState.currentExercise}get currentExerciseRelatedContents(){var t;return((t=this.currentExercise)==null?void 0:t.relatedContents)||[]}get currentIndex(){return this.currentLearningState.currentIndex}get limit(){return this.currentLearningState.limit}get completeRatio(){return this.currentIndex/this.limit}get isFirstExercise(){return this.currentIndex===0}get isLastExercise(){return this.currentIndex===this.limit-1}get completed(){return this.currentIndex===this.limit&&this.limit>0}get selectedOption(){return this.currentLearningState.answer.selectedOption}get correctOption(){return this.currentLearningState.answer.correctOption}get isAnswerCorrect(){return this.selectedOption===this.correctOption}get isAnswerValidated(){return this.currentLearningState.answer.validated}get history(){return this.currentLearningState.history}get streak(){return this.currentLearningState.streak}get hits(){return this.history.filter(t=>t.correct).length}get hitsRatio(){return this.hits/this.limit}get isReviewingExercise(){return!!this.currentLearningState.isReviewingExercise}
1get isShowingStreakMessage(){var t;return!!((t=this.streak)!=null&&t.message)}get allRelatedContents(){const r=this.manager.getAllExercises().map(n=>n.relatedContents).flat(),i=[];for(const n of r)i.find(s=>s.url===n.url)||i.push(n);return i}get historyContentSuggestions(){const t=this.manager.getAllExercises().filter(n=>this.history.find(s=>s.exerciseId===n.id&&!s.correct)),r=this.history.filter(n=>!n.correct),i=[];for(const n of r){const s=t.find(p=>p.id===n.exerciseId),a=this.history.findIndex(p=>p.exerciseId===n.exerciseId);s==null||s.relatedContents.forEach(p=>{const S={...p};p.title.toLowerCase().startsWith("resolução explicada")&&(S.title+=" ".concat(a+1)),i.find(ne=>ne.url===p.url)||i.push(S)})}return i}setInitialData(t){const r=t.manager.getInitial(t.difficulty||"easy"),i=t.manager.getLimit();this.dispatch(h.setInitialData({currentLearningId:t.currentLearningId,title:t.data.title,url:t.data.url,manager:t.manager,currentExercise:r,limit:i}))}setup(t){var i;if((i=this.interactiveLearningSliceState.learnings[t.currentLearningId])!=null&&i.manager)return this.tryRecoverState(t.currentLearningId,t.data,t.difficulty);const r=v.create(t.data.approach,t.data);return this.setInitialData({currentLearningId:t.currentLearningId,manager:r,data:t.data,difficulty:t.difficulty})}tryRecoverState(t,r,i){const n=this.interactiveLearningSliceState.learnings[t].manager;if(!n)return;const{manager:s,changed:a}=v.validate(n,r);if(a)return this.setInitialData({currentLearningId:t,manager:s,data:r,difficulty:i});this.dispatch(h.recoverState({manager:s,currentLearningId:t,limit:s.getLimit()}))}reset(t){if(this.isFirstExercise&&!this.isAnswerValidated)return;pe({isCompleted:this.completed,completedExercisesCount:this.currentIndex,location:this.completed&&!this.isReviewingExercise?"conclusion":"exercise"});const r=this.manager.restart({difficulty:t==null?void 0:t.difficulty,shouldReset:t==null?void 0:t.resetFirstExercise});this.dispatch(h.reset({initialExercise:r})),window.dispatchEvent(new CustomEvent("interactiveLearningReset"))}setIntroductionViewed(){this.introductionViewed||this.dispatch(h.setIntroductionViewed())}validate(){var t,r;this.dispatch(h.validateExercise({correct:this.isAnswerCorrect})),window.dispatchEvent(new CustomEvent("answerValidated")),fe({exerciseIndex:this.currentIndex,exerciseId:(r=(t=this.currentExercise)==null?void 0:t.id)!=null?r:"",isAnswerCorrect:this.isAnswerCorrect})}next(){if(this.isReviewingExercise)return this.dispatch(h.completeExerciseReview());if(this.completed||!this.currentExercise)return;if(this.isLastExercise)return me(),this.dispatch(h.complete());if(!this.isShowingStreakMessage){let r=this.tryGetStreakMessage();if(r)return this.dispatch(h.setStreakMessage({message:r}))}const t=this.manager.getNext(this.currentExercise,this.isAnswerCorrect?"correct":"wrong");this.dispatch(h.nextExercise({exercise:t}))}setCorrectOption(t){this.dispatch(h.setCorrectOption({correctOption:t}))}selectOption(t){this.dispatch(h.selectExerciseOption({option:t}))}reviewExercise(t){const r=this.history.find(n=>n.exerciseId===t);if(!r)return;const i=this.manager.getExerciseById(t);i&&this.dispatch(h.reviewExercise({exercise:i,selectedOption:r.answer,correctOption:r.correctOption}))}getAnswerTypeStreakMultipliers(t){return t==="correct"?this.correctAnswerStreakMultipliers:t==="incorrect"?this.incorrectAnswerStreakMultipliers:[]}getAnswerTypeStreakPoints(t){const r=this.getAnswerTypeStreakMultipliers(t),i=this.limit,n=[];for(let s of r){const a=Math.round(i*s);a<=1||n.includes(a)||n.push(a)}return n}getAnswerTypeStreakMessages(t){return t==="correct"?this.correctAnswerStreakMessages:t==="incorrect"?this.incorrectAnswerStreakMessages:[]}getAnswerTypeRandomStreakMessage(t){const r=this.getAnswerTypeStreakMessages(t);return r.length===0?null:Object.assign({},r[Math.floor(Math.random()*r.length)])}tryGetStreakMessage(){if(!this.streak)return null;const{value:t,type:r}=this.streak;if(!r||t<=1||!this.getAnswerTypeStreakPoints(r).includes(t))return null;const n=this.getAnswerTypeRandomStreakMessage(r);return n?(n.subtitle&&(n.subtitle=n.subtitle.replace("{{value}}",t.toString())),n):null}}var He=Object.getOwnPropertyDescriptor,qe=(e,t,r,i)=>{for(var n=i>1?void 0:i?He(t,r):t,s=e.length-1,a;s>=0;s--)(a=e[s])&&(n=a(n)||n);return n},A;let O=class extends x{constructor(){super(...arguments),this.controller=new L(this)}createRenderRoot(){return this}firstUpdated(e){super.firstUpdated(e),this.classList.remove("skeleton")}getProgress(){return this.controller.introductionViewed?Math.min(100,this.controller.completeRatio*100):0}
1render(){return c(A||(A=o(['\n <div id="progress-bar" class="interactive-learning-progress-bar" style="width:','%;"></div>\n '])),this.getProgress())}};O=qe([y("il-progress-bar")],O);var Be=Object.getOwnPropertyDescriptor,je=(e,t,r,i)=>{for(var n=i>1?void 0:i?Be(t,r):t,s=e.length-1,a;s>=0;s--)(a=e[s])&&(n=a(n)||n);return n},D;let R=class extends x{constructor(){super(...arguments),this.controller=new L(this)}createRenderRoot(){return this}firstUpdated(e){super.firstUpdated(e),this.classList.remove("skeleton")}updated(e){super.updated(e),this.toggleAttribute("hidden",this.controller.completed&&!this.controller.isReviewingExercise)}getButtonTitle(){return this.controller.introductionViewed?this.controller.isAnswerValidated?"Continuar":"Validar":"Iniciar ExercÃcio"}handleClick(){return this.controller.introductionViewed?this.controller.isAnswerValidated?this.controller.next():this.controller.validate():this.controller.setIntroductionViewed()}shouldDisable(){return this.controller.introductionViewed?!this.controller.selectedOption:!1}render(){return c(D||(D=o(['\n <button\n class="navigation-button"\n ?disabled=',"\n @click=",'\n >\n <span class="content-title">','</span>\n <span class="icon"></span>\n </button>\n '])),this.shouldDisable(),this.handleClick.bind(this),this.getButtonTitle())}};R=je([y("il-continue-button")],R);var ze=Object.getOwnPropertyDescriptor,Ne=(e,t,r,i)=>{for(var n=i>1?void 0:i?ze(t,r):t,s=e.length-1,a;s>=0;s--)(a=e[s])&&(n=a(n)||n);return n},M;let $=class extends x{constructor(){super(...arguments),this.controller=new L(this)}createRenderRoot(){return this}firstUpdated(e){super.firstUpdated(e),this.classList.remove("skeleton")}updated(e){super.updated(e),this.toggleAttribute("hidden",this.shouldHide())}shouldHide(){return!!(!this.controller.introductionViewed||this.controller.isFirstExercise&&!this.controller.isAnswerValidated||this.controller.isShowingStreakMessage)}render(){return this.shouldHide()?g:c(M||(M=o(["\n <button \n class=","\n @click=",'\n >\n <span class="icon"></span>\n <span class="label">Recomeçar</span>\n </button>\n '])),we({"reset-button":!0,highlight:this.controller.completed&&!this.controller.isReviewingExercise}),()=>this.controller.reset())}};$=Ne([y("il-reset-button")],$);var We=Object.defineProperty,Fe=Object.getOwnPropertyDescriptor,u=(e,t,r,i)=>{for(var n=i>1?void 0:i?Fe(t,r):t,s=e.length-1,a;s>=0;s--)(a=e[s])&&(n=(i?a(t,r,n):a(n))||n);return i&&n&&We(t,r,n),n},T,V,P,_,U,H,q,B;let l=class extends x{constructor(){super(...arguments),this.controller=new L(this),this.contentTitle="",this.contentUrl="",this.contentType="article",this.contentThumbUrl="",this.location="exercise",this.newPage=!1,this.isDialogOpen=!1,this.shouldRenderContent=!1,this.loading=!1,this.error="",this.content=""}createRenderRoot(){return this}disconnectedCallback(){var e;(e=this.dialog)==null||e.removeEventListener("click",this.handleDialogClick.bind(this)),super.disconnectedCallback()}firstUpdated(e){var t;super.firstUpdated(e),(t=this.dialog)==null||t.addEventListener("click",this.handleDialogClick.bind(this))}updated(e){super.updated(e),this.contentType==="article"&&e.has("content")&&window.dispatchEvent(new CustomEvent("articlePageLoaded",{detail:{context:this}})),document.body.classList.toggle("modal-open",this.isDialogOpen)}toggleDialog(){this.isDialogOpen=!this.isDialogOpen,this.isDialogOpen&&(this.setupDialogContent(),this.dialog.showModal()),this.isDialogOpen||this.dialog.close()}handleDialogClose(){this.isDialogOpen=!1}handleDialogClick(e){var r;const t=(r=this.dialog)==null?void 0:r.getBoundingClientRect();t&&(e.clientX<t.left||e.clientX>t.right||e.clientY<t.top||e.clientY>t.bottom)&&this.dialog.close()}handleButtonClick(){this.newPage||this.toggleDialog(),ve({location:this.location,title:this.contentTitle,type:this.contentType,url:this.contentUrl})}handleMouseOverButton(){this.setupDialogContent()}setupDialogContent(){this.shouldRenderContent=!0,!this.content&&this.contentType==="article"&&this.getArticleContent()}renderContent(){if(!this.shouldRenderContent)return g;switch(this.contentType){case"article":return this.renderArticleContent();case"video":return this.renderVideoContent();default:return g}}
1renderArticleContent(){return this.loading?c(T||(T=o(['\n <div class="content-scroll-wrapper content-skeleton">\n <div class="skeleton skeleton-title"></div>\n <div class="skeleton-row">\n <div class="skeleton skeleton-info"></div>\n <div class="skeleton skeleton-info skeleton-info--sm"></div>\n </div>\n <div class="skeleton skeleton-paragraph skeleton-paragraph--md"></div>\n <div class="skeleton skeleton-paragraph skeleton-paragraph--sm"></div>\n <div class="skeleton skeleton-paragraph skeleton-paragraph--lg"></div>\n <div class="skeleton skeleton-paragraph skeleton-paragraph--sm"></div>\n </div>\n ']))):this.error||!this.content?c(V||(V=o(['\n <div class="content-error">\n <h2 class="error-title">Algo deu errado!</h2>\n <p class="error-description">\n Não foi possÃvel carregar este conteúdo. Por favor, tente novamente mais tarde.\n Se o problema persistir, você pode tentar <a href="/','/" target="_blank">clicar aqui</a> para acessar o conteúdo.\n </p>\n </div>\n '])),this.contentUrl):c(P||(P=o(['\n <div class="content-scroll-wrapper">\n ',"\n </div>\n "])),ee(this.content))}renderVideoContent(){return c(_||(_=o(['\n <iframe \n width="100%" \n height="100%" \n src="','" \n title="Video player" \n frameborder="0" \n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" \n allowfullscreen\n ></iframe>\n '])),this.contentUrl)}renderThumb(){return this.contentThumbUrl?c(U||(U=o(['\n <div class="content-thumb-wrapper">\n <img class="content-thumb" width="126" height="71" src="','" alt="Pré-visualização do vÃdeo ','">\n </div>\n '])),this.contentThumbUrl,this.contentTitle):g}renderContentButton(){const e=this.renderThumb();return c(H||(H=o(['\n <button class="content-link" @click='," @mouseover=",'>\n <div class="content-link-wrapper">\n <span class="content-link-icon content-link-icon--','"></span>\n <span class="content-link-title">',"</span>\n </div>\n ","\n </button>\n "])),this.handleButtonClick,this.handleMouseOverButton,this.contentType,this.contentTitle,e)}render(){return this.newPage?c(q||(q=o(['\n <a class="content-link" @click=',' href="/','/" target="_blank">\n ',"\n </a>\n "])),this.handleButtonClick,this.contentUrl,this.contentTitle):c(B||(B=o(["\n ",'\n <dialog class="content-dialog-wrapper type--','" @close=','>\n <div class="dialog-header">\n <span class="dialog-title">','</span>\n <button class="close-icon" @click=','></button>\n </div>\n <div class="dialog-content">\n ',"\n </div>\n </dialog>\n "])),this.renderContentButton(),this.contentType,this.handleDialogClose,this.controller.title,this.toggleDialog,this.renderContent())}async getArticleContent(){if(!(this.loading||this.content)){this.loading=!0;try{const e=await fetch("/api/learning/related-content/".concat(this.contentUrl,"/"),{method:"GET",headers:{"Content-Type":"application/json"},credentials:"same-origin"}),t=await e.json();if(!e.ok)throw new Error(t.data);this.content=t.data,this.error=""}catch(e){this.error=e.message}finally{this.loading=!1}}}};u([d({type:String})],l.prototype,"contentTitle",2);u([d({type:String})],l.prototype,"contentUrl",2);u([d({type:String})],l.prototype,"contentType",2);u([d({type:String})],l.prototype,"contentThumbUrl",2);u([d({type:String})],l.prototype,"location",2);u([d({type:Boolean})],l.prototype,"newPage",2);u([m()],l.prototype,"isDialogOpen",2);u([m()],l.prototype,"shouldRenderContent",2);u([m()],l.prototype,"loading",2);u([m()],l.prototype,"error",2);u([m()],l.prototype,"content",2);u([xe("dialog.content-dialog-wrapper")],l.prototype,"dialog",2);l=u([y("il-related-content")],l);var Ge=Object.defineProperty,Je=Object.getOwnPropertyDescriptor,b=(e,t,r,i)=>{for(var n=i>1?void 0:i?Je(t,r):t,s=e.length-1,a;s>=0;s--)(a=e[s])&&(n=(i?a(t,r,n):a(n))||n);return i&&n&&Ge(t,r,n),n},j,z,N,W;let f=class extends x{constructor(){super(...arguments),this.controller=new L(this),this.feedbackSelector="#learning-feedback",this.maxSuggestions=15,this.test="A",this.relatedContents=[],this.suggestedContents=[]}createRenderRoot(){return this}get shouldHideSuggestions(){return this.test==="A"}disconnectedCallback(){var e;super.disconnectedCallback(),(e=document.querySelector(this.feedbackSelector))==null||e.setAttribute("hidden","")}firstUpdated(e){var t;super.firstUpdated(e),this.relatedContents=this.controller.allRelatedContents,this.suggestedContents=this.controller.historyContentSuggestions,(t=document.querySelector(this.feedbackSelector))==null||t.removeAttribute("hidden")}handleReviewExerciseClick(e){this.controller.reviewExercise(e)}renderSuggestedContent(){if(this.shouldHideSuggestions)return g;const e=this.suggestedContents.filter((t,r)=>r<this.maxSuggestions);return e.length?c(z||(z=o(['\n <div class="related-contents-wrapper">
1\n <span class="title">Sugestão de conteúdo</span>\n <ul class="related-contents-list">\n ',"\n </ul>\n </div>\n "])),e.map(t=>c(j||(j=o(['\n <li class="related-contents-list-item">\n <il-related-content\n contentTitle="','"\n contentUrl="','"\n contentType="','"\n contentThumbUrl="','"\n location="conclusion"\n ></il-related-content>\n </li>\n '])),t.title,t.url,t.type,te(t.thumb)))):g}render(){return c(W||(W=o(['\n <h2 class="completed-title">Aprendizado concluÃdo!</h2>\n <div class="info-wrapper">\n <div class="info-hits">\n <div class="hits-wrapper">\n <span class="hits">Acertos</span>\n <span class="hits-value">',"/",'</span>\n </div>\n <span class="illustration">\n <img class="mobile" src="/img/special/interactive-learning/conclusion-mobile.png" alt="Aprendizado concluÃdo">\n <img class="desktop" src="/img/special/interactive-learning/conclusion-desktop.png" alt="Aprendizado concluÃdo">\n </span>\n </div>\n <div class="info-hits-details">\n <span class="check-icon"></span>\n <p class="hits-details">Acertou <strong>',"</strong> em um total de <strong>","</strong> = <strong>",'%</strong> (porcentagem de respostas certas)</p>\n </div>\n <div class="info-questions">\n <p class="questions-title">Questões:</p>\n <ul class="questions-list">\n ','\n </ul>\n <span class="questions-description">\n Clique para voltar à questão e checar o gabarito.\n </span>\n </div>\n </div>\n ',"\n "])),this.controller.hits,this.controller.limit,this.controller.hits,this.controller.limit,Math.round(this.controller.hitsRatio*100)/100*100,this.controller.history.map((e,t)=>c(N||(N=o(['\n <li>\n <button\n class="question-item ','"\n @click=','\n title="Questão '," - ",'"\n >\n <span class="question-number">',"</span>\n </button>\n </li>\n "])),e.correct?"correct":"wrong",()=>this.controller.reviewExercise(e.exerciseId),t+1,e.correct?"Correta":"Errada",t+1)),this.renderSuggestedContent())}};b([d({type:String})],f.prototype,"feedbackSelector",2);b([d({type:Number})],f.prototype,"maxSuggestions",2);b([d({type:String})],f.prototype,"test",2);b([m()],f.prototype,"relatedContents",2);b([m()],f.prototype,"suggestedContents",2);f=b([y("il-completed-screen")],f);var Qe=Object.defineProperty,Xe=Object.getOwnPropertyDescriptor,E=(e,t,r,i)=>{for(var n=i>1?void 0:i?Xe(t,r):t,s=e.length-1,a;s>=0;s--)(a=e[s])&&(n=(i?a(t,r,n):a(n))||n);return i&&n&&Qe(t,r,n),n},F,G,J,Q,X,Y,K,Z;let w=class extends x{constructor(){super(...arguments),this.controller=new L(this),this.initialized=!1,this.lastRenderedExerciseId="",this.learningId="",this.data={},this.initialDifficulty="easy",this.test="A"}get multipleChoiceWrapper(){return this.querySelector(".multiple-choice-wrapper")}get multipleChoice(){var e;return(e=this.multipleChoiceWrapper)==null?void 0:e.querySelector("[data-mc-answer]")}get multipleChoiceOptions(){var e;return(e=this.multipleChoiceWrapper)==null?void 0:e.querySelectorAll("[data-mc-option]")}get multipleChoiceExplanation(){var e;return(e=this.multipleChoiceWrapper)==null?void 0:e.querySelector(".answer-info")}get shouldHideExerciseRelated(){return this.test==="B"}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),window.addEventListener("answerValidated",this.showAnswerValidation.bind(this)),window.addEventListener("interactiveLearningReset",this.resetHandler.bind(this))}disconnectedCallback(){window.removeEventListener("answerValidated",this.showAnswerValidation.bind(this)),window.removeEventListener("interactiveLearningReset",this.resetHandler.bind(this)),super.disconnectedCallback()}updated(e){var t;super.updated(e),this.controller.initialized&&(this.initialized||(this.initialized=!0,this.initialSetup(),this.classList.remove("skeleton")),this.lastRenderedExerciseId!=((t=this.controller.currentExercise)==null?void 0:t.id)&&(window.scrollTo({top:0,behavior:"smooth"}),this.setupExercise(),this.controller.isAnswerValidated&&this.showAnswerValidation()),this.setupStreakMessage())}initialSetup(){this.controller.setup({currentLearningId:"".concat(this.data.approach,"|").concat(this.learningId),data:this.data,difficulty:this.initialDifficulty}),this.removeAttribute("data")}renderRelatedContents(){var t;if(this.shouldHideExerciseRelated||this.controller.isAnswerCorrect)return g;const e=(t=this.controller.currentExercise)==null?void 0:t.relatedContents;return!e||!e.length?g:c(G||(G=o(['\n <div class="related-contents-wrapper">
1\n <span class="title">Conteúdo relacionado</span>\n <ul class="related-contents-list">\n ',"\n </ul>\n </div>\n "])),e.map(r=>c(F||(F=o(['\n <li class="related-contents-list-item">\n <il-related-content\n contentTitle="','"\n contentUrl="','"\n contentType="','"\n contentThumbUrl="','"\n location="exercise"\n ></il-related-content>\n </li>\n '])),r.title,r.url,r.type,te(r.thumb))))}renderStreakMessage(){const{streak:e}=this.controller,{type:t,message:r}=e;return c(Q||(Q=o(['\n <div class="streak-message-wrapper streak-message-wrapper--','">\n <span class="streak-message-title">',"</span>\n ","\n </div>\n "])),t,r==null?void 0:r.title,r!=null&&r.subtitle?c(J||(J=o(['<span class="streak-message-subtitle">',"</span>"])),r.subtitle):g)}renderExercise(e){return c(X||(X=o(['\n <div class="exercise-wrapper">\n ',"\n </div>\n "])),ee(e.content))}renderIntroduction(){return c(Y||(Y=o(['\n <div class="introduction-wrapper">\n <h2>Estamos testando uma nova forma de você fazer exercÃcios no Toda Matéria!</h2>\n <p>Por enquanto, pode testar a nova funcionalidade com exercÃcios de probabilidade, uso de crase, feudalismo e escalas termométricas. Mas em breve teremos muito mais temas para você seguir praticando e aprendendo, de forma divertida e interativa! Experimente e deixe o seu feedback!</p>\n </div>\n '])))}render(){if(!this.initialized)return g;if(this.controller.completed&&!this.controller.isReviewingExercise)return this.lastRenderedExerciseId="",c(K||(K=o(['\n <il-completed-screen\n test="','"\n ></il-completed-screen>\n '])),this.test);if(!this.controller.introductionViewed)return this.renderIntroduction();if(this.controller.isShowingStreakMessage)return this.renderStreakMessage();const e=this.controller.currentExercise;return e?c(Z||(Z=o(["\n ","\n ","\n "])),this.renderExercise(e),this.controller.isAnswerValidated?this.renderRelatedContents():g):g}setupExercise(){var i;if(!this.multipleChoiceWrapper)return;const t=this.multipleChoice,r=this.multipleChoiceOptions;r==null||r.forEach(n=>{n.addEventListener("click",()=>{var s;if(this.controller.isAnswerValidated)return!1;(s=n.parentElement)==null||s.querySelectorAll("[data-mc-option][selected]").forEach(a=>{a.removeAttribute("selected")}),n.toggleAttribute("selected",!0),this.controller.selectOption(n.getAttribute("data-mc-option")||"")}),!this.controller.isAnswerValidated&&this.controller.selectedOption===n.getAttribute("data-mc-option")&&n.toggleAttribute("selected",!0)}),this.controller.setCorrectOption((t==null?void 0:t.getAttribute("data-mc-answer"))||""),this.lastRenderedExerciseId=((i=this.controller.currentExercise)==null?void 0:i.id)||"",this.setupTables()}showAnswerValidation(){var n;const e=this.multipleChoiceWrapper;if(!e)return;(n=this.multipleChoice)==null||n.setAttribute("data-mc-answered","true");const t=e.querySelector('[data-mc-option="'.concat(this.controller.correctOption,'"]')),r=e.querySelector('[data-mc-option="'.concat(this.controller.selectedOption,'"]')),i=this.multipleChoiceExplanation;this.controller.isAnswerCorrect||r==null||r.classList.add("radio-label--wrong"),t==null||t.classList.add("radio-label--correct"),i==null||i.classList.remove("d-none"),this.setupTables()}setupTables(){const e=this.getElementsByTagName("table");for(let r=0;r<e.length;r++){const i=e[r];if(i.offsetWidth>this.offsetWidth&&i.parentElement&&!i.parentElement.classList.contains("table-wrapper")){var t='<div class="table-responsive"><div class="table-shadow"></div><div class="table-wrapper">'.concat(i.outerHTML,"</div></div>");i.insertAdjacentHTML("afterend",t),i.parentElement.removeChild(i)}else i.classList.add("table-normal")}}resetHandler(){if(this.lastRenderedExerciseId="",!this.multipleChoiceWrapper)return;const t=this.multipleChoice,r=this.multipleChoiceOptions,i=this.multipleChoiceExplanation;t==null||t.removeAttribute("data-mc-answered"),r==null||r.forEach(n=>
1{n.classList.remove("radio-label--correct"),n.classList.remove("radio-label--wrong"),n.removeAttribute("selected")}),i==null||i.classList.add("d-none")}setupStreakMessage(){const e=document.querySelector(".interactive-learning-wrapper");e==null||e.classList.toggle("streak-message",this.controller.isShowingStreakMessage),e==null||e.classList.toggle("streak-message--correct",this.controller.isShowingStreakMessage&&this.controller.streak.type==="correct"),e==null||e.classList.toggle("streak-message--incorrect",this.controller.isShowingStreakMessage&&this.controller.streak.type==="incorrect")}};E([d({type:String})],w.prototype,"learningId",2);E([d({type:Object,converter:(e,t)=>{if(!e)return{};try{const r=JSON.parse(e);return r.exercisesData=r.exercisesData.map(i=>({...i,relatedContents:i.related_contents,related_contents:void 0})),r}catch(r){return console.error("Data is not a valid JSON.",e),{}}}})],w.prototype,"data",2);E([d({type:String})],w.prototype,"initialDifficulty",2);E([d({type:String})],w.prototype,"test",2);w=E([y("interactive-learning")],w);export{w as InteractiveLearning}; 2//# sourceMappingURL=index.CGMokp0J.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.