1var R=Object.freeze,de=Object.defineProperty;var n=(e,t)=>R(de(e,"raw",{value:R(t||e.slice())}));import{i as d,E as c,x as l,n as b,r as u,J as ue}from"./funnel-tracker.CkzWyQni.js";import{t as h}from"./google-cookies._NJ-L9_Q.js";import{o as C}from"./main.Bg0ews67.js";import{a as w}from"./class-map.BaNb8brA.js";import{E as f,u as he}from"./progress-bar.BTpgzRwF.js";import{Modal as ne}from"./bootstrap.esm.D-nSkdPC.js";import{e as ae}from"./query.6GE6ClqT.js";import{U as pe}from"./auth-cookies.Cq4KilpJ.js";import{t as me}from"./clicks-tracker.qzx36gi7.js";import"./_commonjsHelpers.CqkleIqs.js";import"./analytics.Yss8y0c9.js";import"./preload-helper.CXnpAtHY.js";import"./v4.CtRu48qb.js";import"./persisted-redux-controller.CClxSLXV.js";import"./auth-controller.PeK-ejBR.js";import"./analytics.Bbc7X71t.js";import"./subscription-controller.DXXnk62P.js";import"./analytics.CJrgfIra.js";import"./showJotForm.lpeHpsQu.js";var be=Object.getOwnPropertyDescriptor,fe=(e,t,s,r)=>{for(var i=r>1?void 0:r?be(t,s):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},q,L;let _=class extends d{constructor(){super(...arguments),this.controller=new f(this),this.initialized=!1}createRenderRoot(){return this}updated(e){super.updated(e),this.controller.dataLoaded&&!this.initialized&&(this.initialized=!0,this.classList.remove("skeleton"))}getButtonTitle(){return this.controller.introductionViewed?this.controller.isLimitReached&&this.controller.isShowingCompletedScreen?"Próxima Questão":this.controller.isAnswerValidated?this.controller.isLastQuestion||this.controller.isReviewingQuestion?"Concluir":"Próxima Questão":"Verificar":"Iniciar ExercÃcio"}handleClick(){if(this.controller.isLimitReached&&this.controller.isShowingCompletedScreen){window.dispatchEvent(new CustomEvent("tm-exercises-paywall-modal-open"));return}return this.controller.introductionViewed?this.controller.isAnswerValidated?(this.controller.isReviewingQuestion||window.scrollTo({top:0,behavior:"smooth"}),this.controller.next()):this.controller.validate():this.controller.setIntroductionViewed()}shouldDisable(){return this.controller.isLimitReached||!this.controller.introductionViewed?!1:!this.controller.selectedOption}render(){return this.controller.isShowingCompletedScreen&&this.controller.completed&&!this.controller.nextExercise?c:this.controller.isShowingCompletedScreen&&this.controller.completed&&this.controller.nextExercise?l(q||(q=n(['\n <a href="','" class="navigation-button">\n <span class="content-title">','</span>\n <span class="icon"></span>\n </a>\n '])),this.controller.nextExercise.url,this.controller.nextExercise.title):l(L||(L=n(['\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())}};_=fe([h("tm-exercises-continue-button")],_);var ve=Object.defineProperty,ge=Object.getOwnPropertyDescriptor,k=(e,t,s,r)=>{for(var i=r>1?void 0:r?ge(t,s):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=(r?a(t,s,i):a(i))||i);return r&&i&&ve(t,s,i),i},P;let y=class extends d{constructor(){super(...arguments),this.controller=new f(this),this.initialized=!1,this.label="Recomeçar",this.alwaysVisible=!1}createRenderRoot(){return this}updated(t){super.updated(t),this.controller.dataLoaded&&!this.initialized&&(this.initialized=!0,this.classList.remove("skeleton")),this.toggleAttribute("hidden",this.shouldHide())}shouldHide(){return this.alwaysVisible?!1:!!(!this.controller.introductionViewed||this.controller.isFirstQuestion&&!this.controller.isAnswerValidated||this.controller.isShowingStreakMessage)}showRestartModal(){const t=document.getElementById("exercises-restart-modal");t&&ne.getOrCreateInstance(t).show()}render(){return this.shouldHide()?c:l(P||(P=n(['\n <button \n class="reset-button"\n @click=','\n >\n <span class="icon"></span>\n <span class="label">',"</span>\n </button>\n "])),()=>this.showRestartModal(),this.label)}};k([b({type:String})],y.prototype,"label",2);k([b({type:Boolean})],y.prototype,"alwaysVisible",2);y=k([h("tm-exercises-reset-button")],y);var xe=Object.defineProperty,we=Object.getOwnPropertyDescriptor,v=(e,t,s,r)=>{for(var i=r>1?void 0:r?we(t,s):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=(r?a(t,s,i):a(i))||i);return r&&i&&xe(t,s,i),i},D,A,M,T,V,Q,B,z,H,j,I;let p=class extends d{constructor(){super(...arguments),this.controller=new f(this),this.feedbackSelector="#exercises-feedback",this.maxSuggestions=15,this.excellentHitsRatio=.6,this.relatedContents=[],this.suggestedContents=[]}get hitsRatioPercentage(){return"".concat(Math.round(this.controller.hitsRatio*100),"%")}get isExcellentHitsRatio(){return this.controller.hitsRatio>=this.excellentHitsRatio}get title(){return this.controller.isLimitReached?"Você está indo muito bem!":this.isExcellentHitsRatio?"Parabéns, você completou a lição!":"Você completou a lição!"}createRenderRoot(){return this}disconnectedCallback(){var e;super.disconnectedCallback(),(e=document.querySelector(this.feedbackSelector))==null||e.setAttribute("hidden","")}firstUpdated(e){var t;super.firstUpdated(e),(t=document.querySelector(this.feedbackSelector))==null||t.removeAttribute("hidden")}handleReviewQuestionClick(e){this.controller.reviewQuestion(e)}render(){return l(T||(T=n(['\n <h2 class="completed-title">','</h2>\n <div class="info-wrapper">\n <div class="info-hits">\n <div class="hits-wrapper">
1\n <span class="hits">Acertos</span>\n <span class="hits-value"\n >',"/","</span\n >\n </div>\n ","\n </div>\n ",'\n <div class="divider"></div>\n <div class="info-questions">\n <p class="questions-title">\n Clique para voltar à questão e checar o gabarito:\n </p>\n <ul class="questions-list">\n ',"\n </ul>\n </div>\n ","\n </div>\n "])),this.title,this.controller.hits,this.controller.totalQuestions,this.isExcellentHitsRatio&&!this.controller.isLimitReached?l(D||(D=n(['\n <span class="illustration">\n <img\n class="mobile"\n src="/img/special/exercises/conclusion-mobile.png"\n alt="Lição concluÃda"\n />\n <img\n class="desktop"\n src="/img/special/exercises/conclusion-desktop.png"\n alt="Lição concluÃda"\n />\n </span>\n ']))):c,this.controller.isPremium?l(A||(A=n(['\n <div class="info-hits-details">\n <strong class="hits-details"\n >Taxa de Acertos: ','</strong\n >\n <span class="hits-details"\n >(<strong>',"</strong> respostas corretas\n em um total de\n <strong>","</strong>)</span\n >\n </div>\n "])),this.hitsRatioPercentage,this.controller.hits,this.controller.totalQuestions):c,this.controller.allQuestionsHistory.map((e,t)=>l(M||(M=n(['\n <li>\n <button\n class="question-item ','"\n @click=','\n title="','"\n ?disabled=','\n >\n <span class="question-number">',"</span>\n </button>\n </li>\n "])),e.locked?"locked":e.correct?"correct":"wrong",()=>this.handleQuestionClick(e.questionId,t),this.getQuestionTitle(t,e.correct),e.locked,t+1)),this.renderContinueSection())}getQuestionTitle(e,t){return this.controller.canAccessQuestion(e)?"Questão ".concat(e+1," - ").concat(t?"Correta":"Errada"):"Exclusivo para assinantes do Toda Matéria+"}handleQuestionClick(e,t){this.controller.canAccessQuestion(t)&&this.controller.reviewQuestion(e)}get continueSectionTitle(){return this.controller.isLimitReached?"Desbloqueie acesso ilimitado aos exercÃcios":this.isExcellentHitsRatio?"Continue sua jornada de aprendizado":"Ou, siga em frente na sua jornada de Aprendizado"}renderContinueSection(){return this.controller.isLimitReached?this.renderPaywall():!this.controller.nextExercise&&this.isExcellentHitsRatio?c:l(B||(B=n(['\n <div class="continue-section">\n ',"\n ","\n </div>\n "])),this.isExcellentHitsRatio?c:this.renderTryAgainSection(),this.controller.nextExercise?l(Q||(Q=n(['<div class="continue-section-content">\n <h2 class="continue-section-title">',"</h2>\n ","\n ","\n </div>"])),this.continueSectionTitle,this.isExcellentHitsRatio&&this.controller.nextExercise?l(V||(V=n(['\n <p class="continue-section-description">\n Agora que dominou a lição de\n <strong\n >',"</strong\n >, que tal seguir em frente e praticar ainda mais?\n </p>\n "])),this.controller.currentExerciseState.exercise.title):c,this.renderNextExerciseSection()):c)}renderTryAgainSection(){return l(z||(z=n(['\n <div class="try-again-section">\n <h2 class="try-again-section-title">\n Não se preocupe! Aprender é um processo.\n </h2>\n <p class="try-again-section-description">\n Que tal tentar novamente e reforçar o que você aprendeu?\n </p>\n <tm-exercises-reset-button\n label="Recomeçar a Lição"\n ></tm-exercises-reset-button>\n </div>\n '])))}renderNextExerciseSection(){return this.controller.nextExercise?l(j||(j=n(['\n <div class="next-exercise-section">\n <p class="next-exercise-section-title">\n Avance para a próxima lição em <strong>','</strong>:\n </p>\n <div class="next-exercise-card">\n <div class="next-exercise-card-content">
1\n <span class="next-exercise-card-content-title"\n >',"</span\n >\n ",'\n </div>\n <div class="next-exercise-card-footer">\n <a\n class="next-exercise-card-footer-button"\n href="','"\n >Começar <span class="icon"></span\n ></a>\n </div>\n </div>\n </div>\n '])),this.controller.nextExercise.chapter.name,this.controller.nextExercise.title,this.controller.nextExercise.description?l(H||(H=n(['\n <span class="next-exercise-card-content-description">\n ',"\n </span>\n "])),this.controller.nextExercise.description):c,this.controller.nextExercise.url):c}renderPaywall(){return l(I||(I=n(['\n <div class="paywall-section">\n <h2 class="paywall-section-title">\n Você alcançou o limite de questões gratuitas!\n </h2>\n <p class="paywall-section-description">\n <strong>Desbloqueie todos os exercÃcios</strong> com o\n <strong>Toda Matéria+</strong> e pratique sem limites em qualquer\n matéria!\n </p>\n <a href="/tmplus/" data-google-interstitial="false" class="paywall-unlock-button" data-funnel-click-location="exercises" data-funnel-click-element="exercises_completed" data-funnel-click-type="limit">Desbloquear exercÃcios</a>\n </div>\n <tm-exercises-paywall-modal></tm-exercises-paywall-modal>\n '])))}};v([b({type:String})],p.prototype,"feedbackSelector",2);v([b({type:Number})],p.prototype,"maxSuggestions",2);v([b({type:Number})],p.prototype,"excellentHitsRatio",2);v([u()],p.prototype,"relatedContents",2);v([u()],p.prototype,"suggestedContents",2);p=v([h("tm-exercises-completed-screen")],p);var ye=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,le=(e,t,s,r)=>{for(var i=r>1?void 0:r?$e(t,s):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=(r?a(t,s,i):a(i))||i);return r&&i&&ye(t,s,i),i},N;let E=class extends d{constructor(){super(...arguments),this.isDialogOpen=!1}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),window.addEventListener("tm-exercises-paywall-modal-open",this.handleOpen.bind(this))}disconnectedCallback(){var e;window.removeEventListener("tm-exercises-paywall-modal-open",this.handleOpen.bind(this)),(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),document.body.classList.toggle("modal-open",this.isDialogOpen)}handleOpen(){var e;this.isDialogOpen=!0,(e=this.dialog)==null||e.showModal()}handleClose(){var e;this.isDialogOpen=!1,(e=this.dialog)==null||e.close()}handleDialogClick(e){var s;const t=(s=this.dialog)==null?void 0:s.getBoundingClientRect();t&&(e.clientX<t.left||e.clientX>t.right||e.clientY<t.top||e.clientY>t.bottom)&&this.handleClose()}render(){return l(N||(N=n(['\n <dialog class="paywall-dialog-wrapper" @close=','>\n <div class="dialog-header">\n <h2 class="dialog-title">Não pare aqui! Avance sem restrições!</h2>\n <button class="close-icon" @click=','></button>\n </div>\n <div class="dialog-content">\n <p class="dialog-description">\n Com o <strong>Toda Matéria+</strong>, você <strong>desbloqueia todos os exercÃcios</strong> e acelera seus estudos.\n Domine cada matéria com prática ilimitada e <strong>benefÃcios exclusivos</strong>:\n </p>\n <ul class="benefits-list">\n <li class="benefit-item">\n <span class="benefit-icon benefit-icon--doc-write"></span>\n Corrija sem limites suas redações para o ENEM\n </li>\n <li class="benefit-item">\n <span class="benefit-icon benefit-icon--book"></span>\n Conteúdos Exclusivos\n </li>\n <li class="benefit-item">
1\n <span class="benefit-icon benefit-icon--megaphone"></span>\n Estude sem publicidade\n </li>\n </ul>\n <a href="/tmplus/" data-google-interstitial="false" class="paywall-unlock-button" data-funnel-click-location="exercises" data-funnel-click-element="exercises_limit_modal" data-funnel-click-type="limit">\n Desbloquear exercÃcios\n </a>\n </div>\n </dialog>\n '])),this.handleClose,this.handleClose)}};le([ae("dialog.paywall-dialog-wrapper")],E.prototype,"dialog",2);E=le([h("tm-exercises-paywall-modal")],E);var U;const Se=ue(U||(U=n(["\n dialog#exercises-sidebar-container {\n border: none;\n padding: 0;\n margin: 0;\n width: 100%;\n max-width: 100vw;\n max-height: calc(100vh - 150px);\n height: auto;\n top: unset;\n bottom: 0;\n border-top-left-radius: 12px;\n border-top-right-radius: 12px;\n animation: slide-out 0.3s ease-in;\n }\n\n dialog#exercises-sidebar-container[open] {\n animation: slide-in 0.3s ease-out;\n }\n\n dialog#exercises-sidebar-container::backdrop {\n background-color: rgba(0, 0, 0, 0.5);\n }\n\n @keyframes slide-in {\n from {\n transform: translateY(100%);\n display: none;\n }\n to {\n transform: translateY(0);\n display: block;\n }\n }\n\n @keyframes slide-out {\n from {\n transform: translateY(0);\n display: block;\n }\n to {\n transform: translateY(100%);\n display: none;\n }\n }\n"])));var Ce=Object.defineProperty,Ee=Object.getOwnPropertyDescriptor,ce=(e,t,s,r)=>{for(var i=r>1?void 0:r?Ee(t,s):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=(r?a(t,s,i):a(i))||i);return r&&i&&Ce(t,s,i),i},Y,G;let $=class extends d{constructor(){super(...arguments),this.controller=new f(this),this.initialized=!1,this.isSidebarVisible=!1,this.handleResize=()=>{this.isUpdatePending||this.requestUpdate()}}get isDesktop(){return he().isDesktop}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.handleResize.bind(this)),window.addEventListener("tm-exercises-sidebar-open",this.showSidebar.bind(this)),window.addEventListener("tm-exercises-sidebar-close",this.hideSidebar.bind(this))}disconnectedCallback(){window.removeEventListener("resize",this.handleResize.bind(this)),window.removeEventListener("tm-exercises-sidebar-open",this.showSidebar.bind(this)),window.removeEventListener("tm-exercises-sidebar-close",this.hideSidebar.bind(this)),this.removeButtons(),super.disconnectedCallback()}firstUpdated(e){super.firstUpdated(e),this.setupButtons()}updated(e){var t;super.updated(e),!(!this.controller.initialized||!this.controller.dataLoaded)&&(this.controller.isShowingCompletedScreen&&!this.isSidebarVisible&&this.isDesktop&&(console.log("show sidebar"),this.showSidebar()),!this.controller.isShowingCompletedScreen&&this.isSidebarVisible&&(console.log("hide sidebar"),this.hideSidebar()),(t=document.querySelector(".exercises-wrapper"))==null||t.classList.toggle("showing-completed-screen",this.controller.isShowingCompletedScreen))}render(){return this.isDesktop?l(Y||(Y=n(['\n <aside id="exercises-sidebar-container">\n <slot></slot>\n </aside>\n ']))):l(G||(G=n(['\n <dialog id="exercises-sidebar-container">\n <slot></slot>\n </dialog>\n '])))}showSidebar(){var e,t;this.isSidebarVisible=!0,this.isDesktop?this.sidebarContainer.toggleAttribute("open"):(t=(e=this.sidebarContainer).showModal)==null||t.call(e)}hideSidebar(){var e,t;this.isDesktop?this.sidebarContainer.removeAttribute("open"):(t=(e=this.sidebarContainer).close)==null||t.call(e),this.isSidebarVisible=!1}setupButtons(){document.querySelectorAll("[data-exercises-sidebar-open-button]").forEach(s=>s.addEventListener("click",this.showSidebar.bind(this))),document.querySelectorAll("[data-exercises-sidebar-close-button]").forEach(s=>s.addEventListener("click",this.hideSidebar.bind(this)))}removeButtons(){document.querySelectorAll("[data-exercises-sidebar-open-button]").forEach(s=>s.removeEventListener("click",this.showSidebar.bind(this))),document.querySelectorAll("[data-exercises-sidebar-close-button]").forEach(s=>s.removeEventListener("click",this.hideSidebar.bind(this)))}};$.styles=[Se];ce([ae("#exercises-sidebar-container")],$.prototype,"sidebarContainer",2);$=ce([h("tm-exercises-sidebar")],$);var ke=Object.getOwnPropertyDescriptor,Re=(e,t,s,r)=>{for(var i=r>1?void 0:r?ke(t,s):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},W;let O=class extends d{constructor(){super(...arguments),this.controller=new f(this)}createRenderRoot(){return this}dismissModal(){const e=document.getElementById("exercises-restart-modal");e&&ne.getOrCreateInstance(e).hide()}render(){return l(W||(W=n(['\n <div\n class="exercises-modal modal fade"\n id="exercises-restart-modal"\n tabindex="-1"\n aria-hidden="true"\n >\n <div class="modal-dialog">\n <div class="modal-content">\n <div class="modal-header">\n <div class="modal-title">Tem certeza que deseja recomeçar?</div>\n <button\n type="button"\n class="close"\n data-bs-dismiss="modal"\n aria-label="Close"\n >
1\n <span aria-hidden="true">×</span>\n </button>\n </div>\n <div class="modal-body">\n <div class="modal-body-text">\n Se recomeçar o exercÃcio o seu progresso atual será perdido.\n </div>\n <div class="modal-body-actions">\n <button\n type="button"\n class="modal-body-action modal-body-action__continue"\n data-bs-dismiss="modal"\n >\n Não, continuar\n </button>\n <button\n @click=','\n type="button"\n class="modal-body-action modal-body-action__abandon"\n >\n Sim, recomeçar\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n '])),()=>{this.controller.reset(),this.dismissModal()})}};O=Re([h("tm-exercises-reset-modal")],O);var _e=Object.defineProperty,Oe=Object.getOwnPropertyDescriptor,g=(e,t,s,r)=>{for(var i=r>1?void 0:r?Oe(t,s):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=(r?a(t,s,i):a(i))||i);return r&&i&&_e(t,s,i),i},X,F;let m=class extends d{constructor(){super(...arguments),this.controller=new f(this),this.questionId="",this.reportMessage="",this.loading=!1,this.reportSent=!1,this.showTextarea=!1}createRenderRoot(){return this}updated(e){super.updated(e),e.has("questionId")&&this.reset()}async sendErrorReport(){this.loading=!0;try{await this.controller.sendQuestionErrorReport(this.reportMessage),this.loading=!1,this.reportSent=!0}catch(e){this.reportSent=!0,this.loading=!1}}reset(){this.reportMessage="",this.reportSent=!1,this.loading=!1,this.showTextarea=!1}render(){return this.reportSent?l(X||(X=n(['<div class="question-report">\n <div class="question-report-thanks">Obrigado pelo seu feedback</div>\n </div>']))):l(F||(F=n(['\n <div\n class="','"\n >\n <input\n type="checkbox"\n id="question-report"\n class="question-report-checkbox"\n .checked=',"\n @change=",'\n />\n <label for="question-report" class="question-report-label"> Reportar Erro </label>\n <div class="question-report-content">\n <div class="question-report-content-title">Descrição do problema:</div>\n <textarea\n .disabled=','\n class="question-report-content-textarea"\n placeholder="Escreva aqui para que possamos melhorar"\n @input=','\n maxlength="500"\n ></textarea>\n <button\n class="question-report-content-submit"\n @click=',"\n .disabled=","\n >\n Enviar\n </button>\n </div>\n </div>\n "])),w({"question-report":!0,"question-report--active":this.showTextarea}),this.showTextarea,e=>this.showTextarea=e.target.checked,this.loading,e=>this.reportMessage=e.target.value.substring(0,500),()=>this.sendErrorReport(),this.loading||this.reportMessage.length<5)}};g([b({type:String})],m.prototype,"questionId",2);g([u()],m.prototype,"reportMessage",2);g([u()],m.prototype,"loading",2);g([u()],m.prototype,"reportSent",2);g([u()],m.prototype,"showTextarea",2);m=g([h("tm-exercises-question-report-error")],m);var qe=Object.defineProperty,Le=Object.getOwnPropertyDescriptor,S=(e,t,s,r)=>{for(var i=r>1?void 0:r?Le(t,s):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=(r?a(t,s,i):a(i))||i);return r&&i&&qe(t,s,i),i},J,K,Z,ee,te,se,ie,re,oe;let x=class extends d{constructor(){super(...arguments),this.controller=new f(this),this.lastRendered
1QuestionId="",this.setupOnComplete=!1,this.loaded=!1,this.initialized=!1}createRenderRoot(){return this}connectedCallback(){if(super.connectedCallback(),window.addEventListener("scroll",this.scrollHandler.bind(this)),window.addEventListener(pe.LOGOUT,e=>window.location.reload()),!this.data)throw new Error("Exercise data is required on tm-exercises component")}disconnectedCallback(){window.removeEventListener("scroll",this.scrollHandler.bind(this)),super.disconnectedCallback()}firstUpdated(e){super.firstUpdated(e),this.initialSetup()}updated(e){if(super.updated(e),this.controller.isShowingError){this.classList.toggle("skeleton",!1),this.toggleBottomNavigationVisibility(!1);return}!this.controller.isShowingError&&!this.loaded&&this.classList.toggle("skeleton",!0),this.controller.initialized&&(this.controller.dataLoaded&&!this.loaded&&(this.loaded=!0,document.querySelectorAll("[data-tm-exercises-enable-loaded]").forEach(t=>{t.removeAttribute("data-tm-exercises-enable-loaded")}),this.classList.remove("skeleton")),this.loaded&&(this.controller.introductionViewed&&!this.initialized&&(this.initialized=!0,document.querySelectorAll("[data-tm-exercises-enable-initialized]").forEach(t=>{t.removeAttribute("data-tm-exercises-enable-initialized")})),this.setupTables(),this.controller.isShowingCompletedScreen&&!this.setupOnComplete&&(this.setupOnComplete=!0,this.onComplete())))}initialSetup(){this.controller.setup({exerciseData:this.data})}renderStreakMessage(){const{streak:e}=this.controller,{type:t,message:s}=e;return l(K||(K=n(['\n <div class="streak-message-wrapper streak-message-wrapper--','">\n <span class="streak-message-title">',"</span>\n ","\n </div>\n "])),t,s==null?void 0:s.title,s!=null&&s.subtitle?l(J||(J=n(['<span class="streak-message-subtitle">',"</span>"])),s.subtitle):c)}renderQuestion(e){const t=e.answers.find(s=>s.isCorrect);return l(se||(se=n(['\n <div class="exercise-wrapper">\n <div class="multiple-choice-wrapper">\n ','\n <div\n id="sim-question-','"\n class="multiple-choice"\n data-mc-answered="','"\n >\n ',"\n </div>\n ","\n </div>\n <tm-exercises-question-report-error\n .questionId=","\n ></tm-exercises-question-report-error>\n </div>\n "])),C(e.content),e.id,this.controller.isAnswerValidated?"true":"false",e.answers.map(s=>l(Z||(Z=n(['\n <div\n data-mc-option="radio-item-',"-",'"\n ?selected=',"\n @click=","\n class=","\n >\n ","\n </div>\n "])),e.id,s.id,this.controller.selectedOption===s.id,()=>!this.controller.isAnswerValidated&&this.controller.selectOption(s.id),w({"radio-label--correct":this.controller.isAnswerValidated&&s.id===(t==null?void 0:t.id),"radio-label--wrong":this.controller.isAnswerValidated&&s.id!==(t==null?void 0:t.id)&&this.controller.selectedOption===s.id}),C(s.content))),this.controller.isAnswerValidated&&e.explanation?l(te||(te=n(['\n <div\n class="','"\n >\n <div\n class="','"\n >\n <div class="mb-1"><b>Gabarito explicado</b></div>\n ',"\n </div>\n ","\n </div>\n "])),w({"answer-info":1,"answer-info--locked":e.explanation_limit_reached}),w({"answer-info--locked-blur":e.explanation_limit_reached}),C(e.explanation),e.explanation_limit_reached?l(ee||(ee=n([' <div class="answer-info--locked-banner">\n <div class="answer-info--locked-banner-title">\n Os gabaritos completos são exclusivos para assinantes ð\n </div>\n <div class="answer-info--locked-banner-description">\n Turbine seu estudo. Assine o <b>Toda Matéria+</b> e tenha acesso à s <b>explicações detalhadas</b> dos exercÃcios.\n </div>\n <a @click=',' href="/tmplus/" data-google-interstitial="false" class="paywall-unlock-button" data-funnel-click-location="exercises" data-funnel-click-element="exercises_gabarito_lock" data-funnel-click-type="limit">
1Assinar Toda Matéria+</a>\n </div>'])),this.trackGabaritoClick):null):c,e.id)}trackGabaritoClick(e){me("cta-tmplus--gabarito")}renderIntroduction(){return l(ie||(ie=n(['\n <div class="introduction-wrapper">\n <h2>Vamos começar sua lição!</h2>\n <p><strong>Resolva questões</strong> sobre ',". <!--e <strong>consulte o gabarito</strong> com explicações para entender melhor os conceitos.</p>-->\n <tm-exercises-continue-button></tm-exercises-continue-button>\n </div>\n "])),this.data.title)}renderError(){return l(re||(re=n(['\n <div class="error-wrapper">\n <h2>Não foi possÃvel carregar a lição!</h2>\n <p>No momento não foi possÃvel carregar a lição de ','. Por favor, tente novamente mais tarde. Se o problema persistir, entre em contato com nosso suporte.</p>\n <button class="try-again-button" @click=',">Tentar novamente</button>\n </div>\n "])),this.data.title,()=>this.initialSetup())}render(){if(this.controller.isShowingError)return this.renderError();if(!this.loaded)return c;if(this.controller.isShowingCompletedScreen)return this.onComplete(),this.lastRenderedQuestionId="",l(oe||(oe=n(["\n <tm-exercises-completed-screen></tm-exercises-completed-screen>\n "])));if(!this.controller.introductionViewed)return this.renderIntroduction();if(this.controller.isShowingStreakMessage)return this.renderStreakMessage();const e=this.controller.currentQuestion;return e?this.renderQuestion(e):c}setupTables(){const e=this.getElementsByTagName("table");for(let s=0;s<e.length;s++){const r=e[s];if(r.offsetWidth>this.offsetWidth&&r.parentElement&&!r.parentElement.classList.contains("table-wrapper")){var t='<div class="table-responsive"><div class="table-shadow"></div><div class="table-wrapper">'.concat(r.outerHTML,"</div></div>");r.insertAdjacentHTML("afterend",t),r.parentElement.removeChild(r)}else r.classList.add("table-normal")}}scrollHandler(){const t=window.scrollY+window.innerHeight>=document.body.scrollHeight-10;this.toggleBottomNavigationVisibility(!t)}toggleBottomNavigationVisibility(e){const t=document.querySelector(".bottom-navigation");t&&t.classList.toggle("hide",!e)}onComplete(){const e=document.querySelector('.exercises-sidebar .exercise-item[data-active="true"]');if(!e)return;const t=e.querySelector(".exercise-item-progress");if(!t)return;const s=Math.round(this.controller.hitsRatio*100);t.textContent="".concat(s,"%")}};S([b({type:Object})],x.prototype,"data",2);S([u()],x.prototype,"loaded",2);S([u()],x.prototype,"initialized",2);x=S([h("tm-exercises")],x);export{x as TMExercises}; 2//# sourceMappingURL=index.B0kInhWe.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.