1import{a as xe}from"./chunk-R27A3CBQ.js";import{a as be}from"./chunk-6OB27EWR.js";import{b as k}from"./chunk-4CBWKLQX.js";import{a as he}from"./chunk-BS4UPNDA.js";import{a as me}from"./chunk-UNPNG2CQ.js";import"./chunk-6KH7OCEM.js";import{c as fe}from"./chunk-2GS6WRAH.js";import{a as ge}from"./chunk-K36KKFE5.js";import"./chunk-MV3SMTQZ.js";import{a as Z,b as pe}from"./chunk-R3MDAHXH.js";import"./chunk-QDIGEUIK.js";import"./chunk-DPOFZU3Y.js";import"./chunk-HVUS77Z2.js";import{c as te,e as m,f as ne,h as oe,i as f,j as ie,s as ae,v as re,w as le}from"./chunk-5I4RS6EG.js";import{a as E}from"./chunk-N7HVZOJC.js";import{a as ue}from"./chunk-AQS244BO.js";import"./chunk-LDAQ74PA.js";import{n as de}from"./chunk-JOMMSI64.js";import{b as se,e as ce}from"./chunk-MUB5NOV7.js";import{a as X,b as K,c as H,d as ee}from"./chunk-GRQW76XQ.js";import"./chunk-UN57DATJ.js";import"./chunk-Z66WPXOS.js";import{f as $,h as Q}from"./chunk-L53BAQY2.js";import{Ab as o,Bb as i,Cb as u,Gb as w,Lc as B,Mc as J,Nb as M,Ob as h,Ub as j,Va as l,Vb as V,Wb as q,Xc as Y,Yb as a,Zb as O,_a as S,_b as U,ac as F,bc as G,cc as W,db as L,dc as R,ha as b,ia as x,ib as _,pb as d,rb as y,vb as I,yb as N,zb as D}from"./chunk-YP33JU3R.js";import{a as A,b as z}from"./chunk-EL7B54VI.js";var _e=["fileInput"],ve=(s,g)=>g.value;function Ce(s,g){if(s&1){let t=w();o(0,"label",17)(1,"input",51),M("change",function(e){let r=b(t).$implicit,p=h();return x(p.onLanguageChange(r.value,e))}),i(),o(2,"span"),a(3),i()()}if(s&2){let t=g.$implicit,n=h();l(),d("checked",n.isLanguageSelected(t.value))("disabled",!n.isLanguageSelected(t.value)&&n.selectedLanguages.length>=3)("value",t.value),l(2),O(t.label)}}function Me(s,g){s&1&&(o(0,"span",29),a(1,"Dispon\xEDvel no plano Author"),i())}function Pe(s,g){if(s&1&&(o(0,"span",61),a(1),i()),s&2){let t=h().$implicit,n=h(2);l(),O(n.formatFileSize(t.size))}}
1function Se(s,g){s&1&&(o(0,"span",62),a(1,"Fazendo upload..."),i())}function Ee(s,g){if(s&1){let t=w();o(0,"div",54),u(1,"jed-icon",55),o(2,"div",56)(3,"span",57),a(4),i(),_(5,Pe,2,1,"span",58)(6,Se,2,0,"span",59),i(),o(7,"button",60),M("click",function(){let e=b(t).index,r=h(2);return x(r.removeFile(e))}),u(8,"jed-icon",35),i()()}if(s&2){let t=g.$implicit,n=h(2);y("uploading",t.uploading),l(),d("name",n.getFileIcon(t.name))("size",n.IconSize.size24),l(3),O(t.name),l(),d("ngIf",!t.uploading),l(),d("ngIf",t.uploading),l(),d("disabled",t.uploading),l(),d("name",n.IconName.close)("size",n.IconSize.size20)}}function Oe(s,g){if(s&1&&(o(0,"div",52),_(1,Ee,9,10,"div",53),i()),s&2){let t=h();l(),d("ngForOf",t.form.controls.uploadedFiles.value)}}function ye(s,g){if(s&1){let t=w();o(0,"div",65)(1,"span",66),a(2),i(),o(3,"button",67),M("click",function(){let e=b(t).index,r=h(2);return x(r.removeExcludedTopic(e))}),a(4," \xD7 "),i()()}if(s&2){let t=g.$implicit;l(2),O(t)}}function we(s,g){if(s&1&&(o(0,"div",63),_(1,ye,5,1,"div",64),i()),s&2){let t=h();l(),d("ngForOf",t.form.controls.excludedTopics.value)}}function Ie(s,g){s&1&&(o(0,"div",68)(1,"div",69)(2,"h5"),a(3,"Formato de ementa inv\xE1lido"),i(),o(4,"p"),a(5,"A ementa deve seguir o seguinte formato:"),i(),o(6,"div",70)(7,"strong"),a(8,"M\xF3dulo 1:"),i(),a(9," Nome do m\xF3dulo"),u(10,"br"),o(11,"strong"),a(12,"Aula 1:"),i(),a(13," Nome da aula"),u(14,"br"),o(15,"strong"),a(16,"Aula 2:"),i(),a(17," Nome da aula"),u(18,"br")(19,"br"),o(20,"strong"),a(21,"M\xF3dulo 2:"),i(),a(22," Nome do segundo m\xF3dulo"),u(23,"br"),o(24,"strong"),a(25,"Aula 1:"),i(),a(26," Nome da aula"),u(27,"br"),a(28," ... "),i()()())}function Fe(s,g){if(s&1&&u(0,"jed-pending-generation-card-alert",48),s&2){let t=h();d("generationStepInProgressName",t.generationStepInProgressName)}}var tt=(()=>{class s{constructor(t,n,e,r,p,c){this.chatService=t,this.saberService=n,this.notificationService=e,this.authenticationService=r,this.router=p,this.route=c,this.stateProgress=null,this.InputType=Z,this.IconName=E,this.IconSize=H,this.currentTopicInput="",this.ementaValidationError=!1,this.isUploading=!1,this.isSubmitting=!1,this.generationStepInProgress=!1,this.generationStepInProgressName="",this.selectedLanguages=[],this.canGenerateWithLaboratory=!1,this.languageOptions=[{label:"Formal",value:"formal"},{label:"Neutro",value:"neutro"},{label:"Coloquial profissional",value:"coloquial_profissional"},{label:"Objetiva",value:"objetiva"},{label:"Did\xE1tica",value:"didatica"},{label:"Direta",value:"direta"},{label:"Emp\xE1tica",value:"empatica"},{label:"Motivadora",value:"motivadora"},{label:"Sem jarg\xF5es",value:"sem_jargoes"},{label:"Com termos t\xE9cnicos",value:"com_termos_tecnicos"},{label:"Com analogias",value:"com_analogias"},{label:"Cient\xEDfica",value:"cientifica"}],this.seniorityLevelOptions=[{label:"Iniciante / J\xFAnior",value:"junior"},{label:"Intermedi\xE1rio / Pleno",value:"pleno"},{label:"Avan\xE7ado / S\xEAnior",value:"senior"}],this.contextOptions=[{label:"Empresa / in-company",value:"empresa"},{label:"Ensino B\xE1sico",value:"ensino basico"},{label:"Ensino Superior",value:"faculdade"},{label:"Curso aberto on-line",value:"curso online"},{label:"Comunidade interna",value:"comunidade interna"},{label:"Evento / Workshop",value:"evento"}],this.form=new oe({name:new f("",[m.required,m.minLength(10),m.maxLength(100)]),description:new f("",[m.required,m.maxLength(1200)]),context:new f("empresa",[m.required]),modules:new f(3,[m.required,m.min(1),m.pattern("^[0-9]+$"),m.max(10)]),generateWithLaboratory:new f(!1),supportMaterialText:new f("",[m.maxLength(4e3)]),language:new f(["formal"],[m.required,m.minLength(1),m.maxLength(3)]),seniority:new f("junior",[m.required]),ementa:new f(""),uploadedFiles:new f([]),excludedTopics:new f([])}),this.IconAppearance=K,this.Color=X,this.IconPosition=se,this.progressUuid=null}ngOnInit(){this.progressUuid=this.route.snapshot.paramMap.get("id"),this.selectedLanguages=this.form.get("language")?.value||[],this.loadLaboratoryPlanPermission(),this.progressUuid&&this.loadInitialData(this.progressUuid)}loadLaboratoryPlanPermission(){this.authenticationService.me().subscribe(t=>
1{if(t){let e=t.company.currentPlan;this.canGenerateWithLaboratory=e.name==="author"&&e.active}let n=this.form.controls.generateWithLaboratory;this.canGenerateWithLaboratory?n.enable():(n.setValue(!1),n.disable())})}get descriptionCharCount(){return this.form.get("description")?.value?.length||0}get descriptionMinLength(){return 10}get descriptionMaxLength(){return 1200}get supportCharCount(){return this.form.get("supportMaterialText")?.value?.length||0}get supportMaterialTextMaxLength(){return 4e3}fetchStateProgress(){this.progressUuid&&this.saberService.retrieveStateProgress(this.progressUuid).subscribe({next:t=>{this.stateProgress=t,t.status===k.PENDING||t.status===k.IN_PROGRESS?(this.generationStepInProgress=!0,this.generationStepInProgressName=be.get(t.step)||""):(this.generationStepInProgress=!1,this.generationStepInProgressName="")}})}loadInitialData(t){this.saberService.getInitialSetupData(t).subscribe({next:n=>{this.fetchStateProgress();let e=n.language?Array.isArray(n.language)?n.language:[n.language]:[];if(this.form.patchValue({name:n.name,description:n.description,seniority:n.seniority,language:e,context:n.context,supp
1ortMaterialText:n.supportMaterialText,modules:n.modules,ementa:n.ementa}),this.selectedLanguages=e,n.shuldNotDiscussed){let r=n.shuldNotDiscussed.split(",").map(p=>p.trim()).filter(Boolean);this.form.controls.excludedTopics.setValue(r)}if(n.supportMaterial&&Array.isArray(n.supportMaterial)){let r=n.supportMaterial.map(p=>{let c="arquivo-importado";try{c=new URL(p).pathname.split("/").pop()||c}catch{c=p.split("/").pop()||c}return{name:decodeURIComponent(c),size:0,url:p,uploading:!1}});this.form.controls.uploadedFiles.setValue(r)}},error:()=>{this.notificationService.show("Erro ao carregar dados. Redirecionando...",4e3),this.router.navigate(["/"])}})}isLanguageSelected(t){return this.selectedLanguages.includes(t)}onLanguageChange(t,n){if(n.target.checked)this.selectedLanguages.length<3&&this.selectedLanguages.push(t);else{let r=this.selectedLanguages.indexOf(t);r>-1&&this.selectedLanguages.splice(r,1)}this.form.patchValue({language:this.selectedLanguages})}parseFormControl(t){return this.form.get(t)}addExcludedTopic(t){let n=t.target,e=this.currentTopicInput.trim(),r=this.form.controls.excludedTopics.value||[];if(e&&!r.includes(e)){let p=[...r,e];this.form.controls.excludedTopics.setValue(p),this.currentTopicInput="",n.value=""}}removeExcludedTopic(t){let n=this.form.controls.excludedTopics.value||[];n.splice(t,1),this.form.controls.excludedTopics.setValue(n)}openFileSelector(){this.fileInput.nativeElement.click()}onFilesSelected(t){let n=t.target;if(n.files&&n.files.length>0){let e=Array.from(n.files),r=["pdf","doc","txt"],p=e.filter(C=>{let P=C.name.split(".").pop()?.toLowerCase();return P&&r.includes(P)});p.length!==e.length&&this.notificationService.show("Alguns arquivos foram ignorados. Apenas PDF, DOC e TXT s\xE3o permitidos.",4e3);let c=this.form.controls.uploadedFiles.value||[],v=p.filter(C=>!c.some(T=>T.name===C.name&&T.size===C.size));v.length>0&&this.uploadFiles(v),n.value=""}}uploadFiles(t){this.isUploading=!0;let n=this.form.controls.uploadedFiles.value||[],e=t.map(r=>({name:r.name,size:r.size,url:"",uploading:!0}));this.form.controls.uploadedFiles.setValue([...n,...e]),e.forEach(r=>{let p=t.find(c=>c.name===r.name);this.uploadSingleFile(p).subscribe({next:c=>{let C=(this.form.controls.uploadedFiles.value||[]).map(P=>P.name===r.name?z(A({},P),{url:c.url,uploading:!1}):P);this.form.controls.uploadedFiles.setValue(C),this.checkAllUploadsComplete()},error:()=>{this.notificationService.show(`Erro ao fazer upload de ${p.name}`,3e3);let v=(this.form.controls.uploadedFiles.value||[]).filter(C=>C.name!==r.name);this.form.controls.uploadedFiles.setValue(v),this.checkAllUploadsComplete()}})})}uploadSingleFile(t){return this.chatService.uploadMedia(t)}checkAllUploadsComplete(){(this.form.controls.uploadedFiles.value||[]).every(e=>!e.uploading)&&(this.isUploading=!1)}removeFile(t){let e=(this.form.controls.uploadedFiles.value||[]).filter((r,p)=>p!==t);this.form.controls.uploadedFiles.setValue(e),this.notificationService.show("Arquivo removido com sucesso!",2e3)}getFileIcon(t){switch(t.split(".").pop()?.toLowerCase()){case"pdf":return E.file;case"doc":case"docx":return E.description;case"ppt":case"pptx":return E.image;case"txt":return E.file;default:return E.file}}formatFileSize(t){if(t===0)return"0 Bytes";let n=1024,e=["Bytes","KB","MB","GB"],r=Math.floor(Math.log(t)/Math.log(n));return Math.round(t/Math.pow(n,r)*100)/100+" "+e[r]}onSubmit(){if(this.form.invalid){this.form.markAllAsTouched();return}if(this.isUploading){this.notificationService.show("Aguarde o upload dos arquivos ser conclu\xEDdo.",3e3);return}if(this.isSubmitting)return;this.isSubmitting=!0;let t=this.form.getRawValue(),n=(t.uploadedFiles||[]).filter(c=>c.url&&!c.uploading).map(c=>c.url),e={name:t.name,description:t.description,supportMaterial:n,supportMaterialText:t.supportMaterialText,language:t.language,seniority:t.seniority,context:t.context,modules:Number(t.modules),generateWithLaboratory:this.canGenerateWithLaboratory&&!!t.generateWithLaboratory,hasEmenta:!!t.ementa,ementa:t.ementa},r=(t.excludedTopics||[]).join(", ");r&&(e.shuldNotDiscussed=r);let p=e.generateWithLaboratory?"laboratory-ementa":"detailed-ementa";this.progressUuid?this.saberService.proceedInitialSetupRestart(this.progressUuid,e).subscribe({next:()=>{this.notificationService.show("Processo reiniciado com sucesso! Aguarde nesta tela at\xE9 que gera\xE7\xE3o da etapa seja finalizada ou sinta-se livre para explorar.",5e3),this.router.navigate([p],{relativeTo:this.route.parent}),this.isSubmitting=!1},error:()=>{this.isSubmitting=!1,this.notificationService.show("Erro ao reiniciar. Tente novamente.",5e3)}}):this.saberService.startGenerationBuilder(e).subscribe({next:c=>{let v=c.progressUuid;this.router.navigate([v,p],{relativeTo:this.route.parent}),this.notificationService.show("Gera\xE7\xE3o iniciada com sucesso! Aguarde nesta tela at\xE9 que gera\xE7\xE3o da etapa seja finalizada ou sinta-se livre para explorar.",5e3),this.isSubmitting=!1},error:()=>{this.isSubmitting=!1,this.notificationService.show("Erro ao iniciar. Tente novamente.",5e3)}})}static{this.\u0275fac=function(n){return new(n||s)(S(me),S(fe),S(de),S(ue),S(Q),S($))}}static{this.\u0275cmp=L({type:s,selectors:[["jed-saber-initial-setup"]],viewQuery:function(n,e){if(n&1&&j(_e,5),n&2){let r;V(r=q())&&(e.fileInput=r.first)}},decls:105,vars:55,consts:[["fileInput",""],[1,"header"],[1,"title"],[1,"subtitle"],[1,"form-card"],[1,"form-card__title"],[1,"mb-3"],[1,"form-label-with-help"],["title","Informe o nome completo do curs
1o que ser\xE1 gerado. Seja espec\xEDfico e descritivo para que o JEDAI possa criar um conte\xFAdo adequado.",1,"help-icon"],["appearance","primary","inputName","name","placeholder","Nome do curso (obrigat\xF3rio). Use entre 10 e 100 caracteres. Tente ser o mais espec\xEDfico poss\xEDvel.",3,"control"],["title","Descreva o objetivo geral do curso, p\xFAblico-alvo e principais compet\xEAncias que ser\xE3o desenvolvidas. Esta descri\xE7\xE3o ajuda o JEDAI a entender o contexto e criar conte\xFAdo mais relevante.",1,"help-icon"],["maxlength","1200","appearance","primary","inputName","description","placeholder","Descri\xE7\xE3o curta do curso (at\xE9 1200 caracteres)",3,"control","label","rows","type"],[1,"char-counter"],[1,"row","mb-3"],[1,"col-12"],["title","Selecione de 1 a 3 op\xE7\xF5es que definam o tom e estilo da linguagem do curso.",1,"help-icon"],[1,"language-options"],[1,"language-checkbox"],[1,"col-md-6"],["title","N\xEDvel de experi\xEAncia t\xE9cnica esperado dos alunos que far\xE3o o curso. J\xFAnior: pouca experi\xEAncia. Pleno: experi\xEAncia intermedi\xE1ria. S\xEAnior: alta experi\xEAncia.",1,"help-icon"],["appearance","primary","inputName","seniority","placeholder","Selecione...",3,"control","label","options"],["title","Selecione o contexto onde o curso ser\xE1 aplicado. Isso ajuda o JEDAI a adaptar exemplos e linguagem. Empresa/Incompany: treinamento corporativo. Faculdade: ensino acad\xEAmico. Outros: contextos diversos.",1,"help-icon"],["appearance","primary","inputName","context","placeholder","Selecione...",3,"control","label","options"],["title","Informe o n\xFAmero de m\xF3dulos (m\xEDnimo 1 e m\xE1ximo 10) que voc\xEA quer gerar. Este valor ajuda o JEDAI a dimensionar o conte\xFAdo.",1,"help-icon"],["appearance","primary","inputName","modules","placeholder","Ex: 2, 5, 10",3,"control","label","type"],[1,"col-12","d-flex","align-items-center","flex-wrap","gap-2","mb-3"],["inputName","generateWithLaboratory",3,"control","label"],[1,"form-label-with-help","mb-0","mx-2"],["title","Ao selecionar esta op\xE7\xE3o ser\xE1 gerado um laborat\xF3rio completo com base nas informa\xE7\xF5es fornecidas. Cada aula ter\xE1 um mini laborat\xF3rio para o aluno realizar e, ao fim do curso, o usu\xE1rio ter\xE1 conclu\xEDdo o laborat\xF3rio completo de forma gradativa e incremental.",1,"help-icon"],[1,"text-regular-14","text-muted"],["title","Fa\xE7a upload de materiais de refer\xEAncia (PDF, PPT, DOC) ou cole links e descri\xE7\xF5es de recursos que o JEDAI pode usar como base para gerar o conte\xFAdo do curso.",1,"help-icon"],[1,"form-label"],[1,"file-upload-area"],["accept",".pdf,.doc,.txt","hidden","","multiple","","type","file",3,"change"],["type","button",1,"file-upload-button",3,"click","disabled"],[3,"name","size"],[1,"file-upload-hint"],["class","uploaded-files-list",4,"ngIf"],["appearance","primary","inputName","supportMaterialText","label","","placeholder","Cole links ou descri\xE7\xF5es de materiais de refer\xEAncia que o JEDAI pode usar como base...",3,"control","rows","type"],["title","Liste temas, assuntos ou tecnologias espec\xEDficas que N\xC3O devem ser inclu\xEDdos na gera\xE7\xE3o do curso. Digite cada tema e pressione Enter para adicionar. Exemplo: frameworks espec\xEDficos, bibliotecas descontinuadas, etc.",1,"help-icon"],[1,"excluded-topics-container"],["maxlength","100","placeholder","Digite um tema e pressione Enter para adicionar","type","text",1,"excluded-topics-input",3,"keyup.enter","ngModelChange","ngModel"],["class","excluded-topics-list",4,"ngIf"],[1,"excluded-topics-hint"],["id","ementa-field",1,"form-card"],["title","Cole a estrutura de um curso existente para que o JEDAI possa analis\xE1-la e gerar uma ementa detalhada baseada nela. Formato esperado: 'M\xF3dulo X: Nome' seguido de 'Aula Y: Nome'.",1,"help-icon"],["appearance","primary","inputName","ementa","label","Estrutura do Curso","placeholder",`Cole sua estrutura de curso no formato: 2 3M\xF3dulo 1: Nome do m\xF3dulo 4Aula 1: Nome da aula 5Aula 2: Nome da aula 6 7M\xF3dulo 2: Nome do segundo m\xF3dulo 8Aula 1: Nome da aula 9...`,3,"control","rows","type"],["class","ementa-error-message",4,"ngIf"],[3,"generationStepInProgressName"],[1,"action-section"],["appearance","primary",3,"click","disabled","large","icon","iconSize","iconColor","iconPosition"],["type","checkbox",3,"change","checked","disabled","value"],[1,"uploaded-files-list"],["class","uploaded-file-item",3,"uploading",4,"ngFor","ngForOf"],[1,"uploaded-file-item"],[1,"file-icon",3,"name","size"],[1,"file-info"],[1,"file-name"],["class","file-size",4,"ngIf"],["class","file-status",4,"ngIf"],["title","Remover arquivo","type","button",1,"file-remove-button",3,"click","disabled"],[1,"file-size"],[1,"file-status"],[1,"excluded-topics-list"],["class","topic-chip",4,"ngFor","ngForOf"],[1,"topic-chip"],[1,"topic-chip__text"],["type","button",1,"topic-chip__remove",3,"click"],[1,"ementa-error-message"],[1,"error-content"],[1,"error-example"]],template:function(n,e){if(n&1){let r=w();o(0,"div",1)(1,"h3",2),a(2,"Etapa 1: Informa\xE7\xF5es B\xE1sicas do Curso"),i(),o(3,"p",3),a(4," Colete as informa\xE7\xF5es fundamentais para gera\xE7\xE3o da ementa inicial ou an\xE1lise da ementa existente. "),i()(),o(5,"div",4)(6,"h4",5),a(7,"Informa\xE7\xF5es do Curso"),i(),o(8,"div",6)(9,"label",7),a(10," Vamos come\xE7ar pelo b\xE1sico. D\xEA um nome para seu curso. * "),o(11,"span",8),a(12,"i"),i()(),u(13,"jed-input",9),i(),o(14,"div",6)(15,"label",7),a(16," Agora descreva brevemente o que o curso ir\xE1 ensinar. * "),o(17,"span",10),a(18,"i"),i()(),u(19,"jed-input",11),o(20,"span",12),a(21),i()()(),o(22,"div",4)(23,"div",13)(24,"div",14)(25,"label",7),a(26," Como deseja definir a linguagem e o tom de voz do curso? * "),o(27,"span",15),a(28,"i"),i()(),o(29,"div",16),N(30,Ce,4,4,"label",17,ve),i()()(),o(32,"div",13)(33,"div",18)(34,"label",7),a(35," Informe que n\xEDvel de experi\xEAncia voc\xEA espera dos alunos? * "),o(36,"span",19),a(37,"i"),i()(),u(38,"jed-select",20),i(),o(39,"div",18)(40,"label",7),a(41," Em quais contextos este curso ser\xE1 aplicad
9o? * "),o(42,"span",21),a(43,"i"),i()(),u(44,"jed-select",22),i()(),o(45,"div",13)(46,"div",18)(47,"label",7),a(48," Qual o n\xFAmero de M\xF3dulos que voc\xEA quer gerar? * "),o(49,"span",23),a(50,"i"),i()(),u(51,"jed-input",24),i()(),o(52,"div",13)(53,"div",25),u(54,"jed-checkbox",26),o(55,"label",27)(56,"span",28),a(57,"i"),i()(),_(58,Me,2,0,"span",29),i()()(),o(59,"div",4)(60,"h4",5),a(61," Material de Refer\xEAncia "),o(62,"span",30),a(63,"i"),i()(),o(64,"div",6)(65,"label",31),a(66,"Anexar Arquivos"),i(),o(67,"div",32)(68,"input",33,0),M("change",function(c){return b(r),x(e.onFilesSelected(c))}),i(),o(70,"button",34),M("click",function(){return b(r),x(e.openFileSelector())}),u(71,"jed-icon",35),o(72,"span"),a(73),i()(),o(74,"p",36),a(75," Formatos aceitos: PDF, DOC, TXT "),i(),_(76,Oe,2,1,"div",37),i()(),o(77,"div",6)(78,"label",31),a(79,"Material em texto"),i(),u(80,"jed-input",38),o(81,"span",12),a(82),i()()(),o(83,"div",4)(84,"h4",5),a(85," O que n\xE3o deve ser abordado (opcional) "),o(86,"span",39),a(87,"i"),i()(),o(88,"div",40)(89,"input",41),M("keyup.enter",function(c){return b(r),x(e.addExcludedTopic(c))}),R("ngModelChange",function(c){return b(r),W(e.currentTopicInput,c)||(e.currentTopicInput=c),x(c)}),i(),_(90,we,2,1,"div",42),o(91,"p",43),a(92,' Digite temas que devem ser evitados na gera\xE7\xE3o do curso (ex: "Frameworks espec\xEDficos", "Conte\xFAdo avan\xE7ado de seguran\xE7a") '),i()()(),o(93,"div",44)(94,"h4",5),a(95," Ementa Existente (opcional) "),o(96,"span",45),a(97,"i"),i()(),o(98,"div"),u(99,"jed-input",46),i(),_(100,Ie,29,0,"div",47),i(),_(101,Fe,1,1,"jed-pending-generation-card-alert",48),o(102,"div",49)(103,"jed-button",50),M("click",function(){return b(r),x(e.onSubmit())}),a(104),i()()}n&2&&(l(13),d("control",e.parseFormControl("name")),l(6),d("control",e.parseFormControl("description"))("label","")("rows",5)("type",e.InputType.textarea),l(),y("char-counter--error",e.descriptionCharCount>e.descriptionMaxLength)("char-counter--warning",e.descriptionCharCount<e.descriptionMinLength),l(),F(" (",e.descriptionCharCount,"/",e.descriptionMaxLength," - m\xEDnimo ",e.descriptionMinLength,") "),l(9),D(e.languageOptions),l(8),d("control",e.parseFormControl("seniority"))("label","")("options",e.seniorityLevelOptions),l(6),d("control",e.parseFormControl("context"))("label","")("options",e.contextOptions),l(7),d("control",e.parseFormControl("modules"))("label","")("type",e.InputType.number),l(3),d("control",e.parseFormControl("generateWithLaboratory"))("label","Gerar curso com laboratorios *"),l(4),I(e.canGenerateWithLaboratory?-1:58),l(12),d("disabled",e.isUploading),l(),d("name",e.IconName.attachFile)("size",e.IconSize.size24),l(2),O(e.isUploading?"Fazendo upload...":"Selecionar Arquivos"),l(3),d("ngIf",e.form.controls.uploadedFiles.value&&e.form.controls.uploadedFiles.value.length>0),l(4),d("control",e.parseFormControl("supportMaterialText"))("rows",4)("type",e.InputType.textarea),l(),y("char-counter--error",e.supp
9ortCharCount>e.supportMaterialTextMaxLength)("char-counter--warning",e.supportCharCount<e.descriptionMinLength),l(),F(" (",e.supportCharCount,"/",e.supportMaterialTextMaxLength," - m\xEDnimo ",e.descriptionMinLength,") "),l(7),G("ngModel",e.currentTopicInput),l(),d("ngIf",e.form.controls.excludedTopics.value&&e.form.controls.excludedTopics.value.length>0),l(8),y("ementa-error",e.ementaValidationError),l(),d("control",e.parseFormControl("ementa"))("rows",8)("type",e.InputType.textarea),l(),d("ngIf",e.ementaValidationError),l(),I(e.generationStepInProgress?101:-1),l(2),d("disabled",e.isSubmitting||e.generationStepInProgress||e.form.invalid)("large",!0)("icon",e.IconName.arrowRight)("iconSize",e.IconSize.size24)("iconColor",e.Color.primary)("iconPosition",e.IconPosition.right),l(),U(" ",e.isSubmitting?"Avan\xE7ando...":"Gerar Ementa Detalhada"," "))},dependencies:[Y,B,J,le,te,ne,ae,re,ie,pe,ge,ce,he,ee,xe],styles:[".header[_ngcontent-%COMP%]{background:linear-gradient(135deg,#ff69b40d,#ff69b405);padding:32px;border-radius:12px;margin-bottom:32px;border-left:5px solid var(--pink-saber, #ff69b4);box-shadow:0 2px 8px #0000000a}.header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:700;margin-bottom:12px;font-size:1.75rem;color:var(--cosmic-black, #171819);display:flex;align-items:center;gap:12px}.header[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{text-align:left;color:#666;margin-bottom:0;font-size:1rem;line-height:1.6}.form-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 12px #0000000f;border:1px solid #f0f0f0}.form-card[_ngcontent-%COMP%] jed-select select{width:500px;font-weight:500}.form-card__title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-size:1.125rem;font-weight:600;color:var(--cosmic-black, #171819);margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.form-card__title[_ngcontent-%COMP%] .help-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--pink-saber, #ff69b4);color:#fff;border-radius:50%;font-size:.8125rem;font-weight:700;cursor:help;flex-shrink:0;transition:all .2s ease}.form-card__title[_ngcontent-%COMP%] .help-icon[_ngcontent-%COMP%]:hover{background:#ff4da0;transform:scale(1.1)}.file-upload-area[_ngcontent-%COMP%] .file-upload-button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;background:var(--pink-saber, #ff69b4);color:#fff;border:none;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #ff69b433}.file-upload-area[_ngcontent-%COMP%] .file-upload-button[_ngcontent-%COMP%]:hover:not(:disabled){background:#ff4da0;box-shadow:0 4px 12px #ff69b44d;transform:translateY(-1px)}.file-upload-area[_ngcontent-%COMP%] .file-upload-button[_ngcontent-%COMP%]:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #ff69b433}.file-upload-area[_ngcontent-%COMP%] .file-upload-button[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed;background:#d3d3d3;box-shadow:none}.file-upload-area[_ngcontent-%COMP%] .file-upload-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{line-height:1}.file-upload-area[_ngcontent-%COMP%] .file-upload-hint[_ngcontent-%COMP%]{margin:12px 0 0;font-size:.8125rem;color:#666;line-height:1.5}.file-upload-area[_ngcontent-%COMP%] .uploaded-files-list[_ngcontent-%COMP%]{margin-top:20px;display:flex;flex-direction:column;gap:10px;padding:16px;background:#f8f9fa;border-radius:8px;max-height:300px;overflow-y:auto}.file-upload-area[_ngcontent-%COMP%] .uploaded-file-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;transition:all .2s ease;animation:_ngcontent-%COMP%_fileIn .2s ease-out}.file-upload-area[_ngcontent-%COMP%] .uploaded-file-item[_ngcontent-%COMP%]:hover{border-color:var(--pink-saber, #ff69b4);box-shadow:0 2px 8px #ff69b41a}.file-upload-area[_ngcontent-%COMP%] .uploaded-file-item.uploading[_ngcontent-%COMP%]{opacity:.7;background:#f8f9fa;border-color:#ccc}.file-upload-area[_ngcontent-%COMP%] .uploaded-file-item.uploading[_ngcontent-%COMP%] .file-icon[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_pulse 1.5s ease-in-out infinite}.file-upload-area[_ngcontent-%COMP%] .uploaded-file-item.uploading[_ngcontent-%COMP%]:hover{border-color:#ccc;box-shadow:none}.file-upload-area[_ngcontent-%COMP%] .uploaded-file-item[_ngcontent-%COMP%] .file-icon[_ngcontent-%COMP%]{color:var(--pink-saber, #ff69b4);flex-shrink:0}.file-upload-area[_ngcontent-%COMP%] .uploaded-file-item[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.file-upload-area[_ngcontent-%COMP%] .uploaded-file-item[_ngcontent-%COMP%] .file-name[_ng
9content-%COMP%]{font-size:.9375rem;font-weight:500;color:var(--cosmic-black, #171819);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-upload-area[_ngcontent-%COMP%] .uploaded-file-item[_ngcontent-%COMP%] .file-size[_ngcontent-%COMP%]{font-size:.8125rem;color:#666}.file-upload-area[_ngcontent-%COMP%] .uploaded-file-item[_ngcontent-%COMP%] .file-status[_ngcontent-%COMP%]{font-size:.8125rem;color:var(--pink-saber, #ff69b4);font-style:italic}.file-upload-area[_ngcontent-%COMP%] .uploaded-file-item[_ngcontent-%COMP%] .file-remove-button[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:50%;color:#999;cursor:pointer;transition:all .2s ease;flex-shrink:0}.file-upload-area[_ngcontent-%COMP%] .uploaded-file-item[_ngcontent-%COMP%] .file-remove-button[_ngcontent-%COMP%]:hover:not(:disabled){background:#ffe5f0;color:var(--pink-saber, #ff69b4);transform:scale(1.1)}.file-upload-area[_ngcontent-%COMP%] .uploaded-file-item[_ngcontent-%COMP%] .file-remove-button[_ngcontent-%COMP%]:active:not(:disabled){transform:scale(.95)}.file-upload-area[_ngcontent-%COMP%] .uploaded-file-item[_ngcontent-%COMP%] .file-remove-button[_ngcontent-%COMP%]:disabled{opacity:.4;cursor:not-allowed}@keyframes _ngcontent-%COMP%_fileIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes _ngcontent-%COMP%_pulse{0%,to{opacity:1}50%{opacity:.5}}.excluded-topics-container[_ngcontent-%COMP%] .excluded-topics-input[_ngcontent-%COMP%]{width:100%;padding:12px 16px;border:2px solid #d0d0d0;border-radius:8px;font-size:.9375rem;font-family:inherit;transition:all .2s ease}.excluded-topics-container[_ngcontent-%COMP%] .excluded-topics-input[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--pink-saber, #ff69b4);box-shadow:0 0 0 3px #ff69b41a}.excluded-topics-container[_ngcontent-%COMP%] .excluded-topics-input[_ngcontent-%COMP%]::placeholder{color:#999}.excluded-topics-container[_ngcontent-%COMP%] .excluded-topics-list[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding:16px;background:#f8f9fa;border-radius:8px;min-height:60px}.excluded-topics-container[_ngcontent-%COMP%] .topic-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--pink-saber, #ff69b4);color:#fff;border-radius:20px;font-size:.875rem;font-weight:500;animation:_ngcontent-%COMP%_chipIn .2s ease-out}.excluded-topics-container[_ngcontent-%COMP%] .topic-chip__text[_ngcontent-%COMP%]{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.excluded-topics-container[_ngcontent-%COMP%] .topic-chip__remove[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:#fff3;border:none;border-radius:50%;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;transition:all .2s ease}.excluded-topics-container[_ngcontent-%COMP%] .topic-chip__remove[_ngcontent-%COMP%]:hover{background:#ffffff4d;transform:scale(1.1)}.excluded-topics-container[_ngcontent-%COMP%] .topic-chip__remove[_ngcontent-%COMP%]:active{transform:scale(.95)}.excluded-topics-container[_ngcontent-%COMP%] .excluded-topics-hint[_ngcontent-%COMP%]{margin:12px 0 0;font-size:.8125rem;color:#666;line-height:1.5}@keyframes _ngcontent-%COMP%_chipIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.ementa-error[_ngcontent-%COMP%] textarea{border-color:#dc3545!important}.ementa-error-message[_ngcontent-%COMP%]{display:flex;gap:16px;margin-top:16px;padding:20px;background:#fff5f5;border:2px solid #dc3545;border-radius:8px;animation:_ngcontent-%COMP%_slideDown .3s ease-out}.ementa-error-message[_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{font-size:2rem;line-height:1;flex-shrink:0}.ementa-error-message[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%]{flex:1}.ementa-error-message[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{margin:0 0 8px;color:#dc3545;font-size:1rem;font-weight:700}.ementa-error-message[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 12px;color:#721c24;font-size:.9375rem}.ementa-error-message[_ngcontent-%COMP%] .error-example[_ngcontent-%COMP%]{background:#fff;padding:12px 16px;border-radius:6px;border-left:4px solid #dc3545;font-family:Courier New,monospace;font-size:.875rem;color:#333;line-height:1.6}.ementa-error-message[_ngcontent-%COMP%] .error-example[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#dc3545}@keyframes _ngcontent-%COMP%_slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.action-section[_ngcontent-%COMP%]{display:flex;justify-content:center;padding-top:32px;
9border-top:2px solid #f0f0f0}.action-section[_ngcontent-%COMP%] jed-button[_ngcontent-%COMP%]{min-width:240px}.form-label-with-help[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--cosmic-black, #171819);font-size:.9375rem;margin-bottom:8px}.form-label-with-help[_ngcontent-%COMP%] .help-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--pink-saber, #ff69b4);color:#fff;border-radius:50%;font-size:.75rem;font-weight:700;flex-shrink:0;transition:all .2s ease}.form-label-with-help[_ngcontent-%COMP%] .help-icon[_ngcontent-%COMP%]:hover{background:#ff4da0;transform:scale(1.1)} .form-label{font-weight:600;color:var(--cosmic-black, #171819);font-size:.9375rem;margin-bottom:8px}@media (max-width: 768px){.header[_ngcontent-%COMP%]{padding:24px 20px}.header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.375rem}.header[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:.9375rem}.form-card[_ngcontent-%COMP%]{padding:20px 16px}.action-section[_ngcontent-%COMP%] jed-button[_ngcontent-%COMP%]{width:100%}}.language-options[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.language-checkbox[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:2px solid #e0e0e0;border-radius:20px;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff}.language-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{cursor:pointer;accent-color:var(--pink-saber, #ff69b4)}.language-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]:disabled{cursor:not-allowed}.language-checkbox[_ngcontent-%COMP%]:has(input:checked){background-color:var(--pink-saber, #ff69b4);border-color:var(--pink-saber, #ff69b4);color:#fff}.language-checkbox[_ngcontent-%COMP%]:has(input:checked) span[_ngcontent-%COMP%]{font-weight:600;color:#fff}.language-checkbox[_ngcontent-%COMP%]:has(input:checked) input[type=checkbox][_ngcontent-%COMP%]{accent-color:white}.language-checkbox[_ngcontent-%COMP%]:has(input:disabled){opacity:.5;cursor:not-allowed;background:#f0f0f0;border-color:#e0e0e0}.language-checkbox[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--cosmic-black, #171819)}.language-feedback[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.language-feedback[_ngcontent-%COMP%] .text-danger[_ngcontent-%COMP%]{color:#dc3545;font-size:.8125rem;font-weight:500}.language-feedback[_ngcontent-%COMP%] .text-muted[_ngcontent-%COMP%]{color:#666;font-size:.8125rem;font-weight:500}.char-counter[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;font-size:.75rem;font-weight:400;color:var(--text-muted, #6c757d)}.char-counter--warning[_ngcontent-%COMP%]{color:var(--pink-saber)}.char-counter--error[_ngcontent-%COMP%]{color:var(--color-danger, #dc3545)}"]})}}return s})();export{tt as SaberInitialSetupComponent}; 10/**i18n:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855*/
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.