{"version":3,"sources":["webpack://gatsby-starter-default/./src/components/modalButtonAdmission.js","webpack://gatsby-starter-default/./src/templates/career-page.js"],"names":["career","onClose","buttonLink","iconButton","code","type","button","label","url","inscriptionLink","customButton","shape","size","variant","buttonLinkDistance","inscriptionLinkDistance","handleKeyDown","event","key","preventDefault","useEffect","handleWheel","document","body","style","overflow","addEventListener","passive","removeEventListener","className","icon","classContainer","onClick","props","pageContext","data","page","strapiUccCareer","components","useState","modalButton","setModalButton","useLayoutEffect","getElementsByTagName","setAttribute","removeAttribute","SEO","pageMetadata","description","keywords","pageTitle","title","organizational_unit","scriptSelect","scripts","header","visible","carousel","keyName","strapiId","ucc_career_places","sort","a","b","localeCompare","map","places","faLaptop","faLocationDot","color","colorHex","marginRight"],"mappings":"+QAiHA,EA5G6B,SAAC,GAAyB,IAAvBA,EAAsB,EAAtBA,OAAQC,EAAc,EAAdA,QAEhCC,EAAa,CACjBC,WAAY,CACVC,KAAM,YACNC,KAAM,OAERC,OAAQ,CACNC,MAAO,aACPC,IAAKR,EAAOS,iBAEdC,aAAc,CACZC,MAAO,YACPC,KAAM,MACNC,QAAS,YAIPC,EAAqB,CACzBX,WAAY,CACVC,KAAM,YACNC,KAAM,OAERC,OAAQ,CACNC,MAAO,cACPC,IAAKR,EAAOe,yBAEdL,aAAc,CACZC,MAAO,YACPC,KAAM,MACNC,QAAS,YAKPG,EAAgB,SAACC,GAGH,YAAdA,EAAMC,KAAmC,cAAdD,EAAMC,KAAqC,QAAdD,EAAMC,KAA+B,MAAdD,EAAMC,KACvFD,EAAME,iBAGU,WAAdF,EAAMC,KACRjB,KA6BJ,OAxBAmB,gBAAU,WACR,IAAMC,EAAc,SAACJ,GACnBA,EAAME,kBAaR,OATAG,SAASC,KAAKC,MAAMC,SAAW,SAG/BH,SAASC,KAAKG,iBAAiB,QAASL,EAAa,CAAEM,SAAS,IAGhEL,SAASI,iBAAiB,UAAWV,GAG9B,WACLM,SAASC,KAAKC,MAAMC,SAAW,OAC/BH,SAASC,KAAKK,oBAAoB,QAASP,GAC3CC,SAASM,oBAAoB,UAAWZ,MAIzC,IAGD,uBAAKa,UAAU,iBACb,uBAAKA,UAAU,UACb,uBAAKA,UAAU,eACb,gBAAC,IAAD,CAAiBA,UAAU,aAAaC,KAAM,CAAC,MAAO,wBAGxD,sBAAID,UAAU,gCAAd,sBAEA,2BACE,gBAAC,IAAD,CACEC,KAAM5B,EAAWC,WACjBG,OAAQJ,EAAWI,OACnBI,aAAcR,EAAWQ,aACzBqB,eAAgB,uDAChBb,IAAG,mBAIP,2BACE,gBAAC,IAAD,CACEY,KAAMhB,EAAmBX,WACzBG,OAAQQ,EAAmBR,OAC3BI,aAAcI,EAAmBJ,aACjCqB,eAAgB,kDAChBb,IAAG,2BAIP,0BAAQW,UAAU,eAAeG,QAAS/B,GAA1C,Q,WCoDR,EAhJmB,SAACgC,GAAW,IAAD,IACpBC,EAAsBD,EAAtBC,YAAaC,EAASF,EAATE,KACPC,EAASF,EAAfC,KACiBnC,EAAWmC,EAA5BE,gBACAC,EAAetC,EAAfsC,WAJoB,GAOUC,eAAS,GAAxCC,EAPqB,KAORC,EAPQ,MAmB5BC,sBAAgB,WACd,IAAMnB,EAAOD,SAASqB,qBAAqB,QAG3C,OAFApB,EAAK,GAAGqB,aAAa,QAAS,oCAEvB,WACLrB,EAAK,GAAGsB,gBAAgB,QAAS,wCAIrC,IAAIC,EAAM,GAEV,GAA4B,OAAxB9C,EAAO+C,aAAuB,CAAC,IAAD,EACa/C,EAAO+C,aAA5CC,EADwB,EACxBA,YAAaC,EADW,EACXA,SAAUC,EADC,EACDA,UAE/BJ,EACE,gBAAC,IAAD,CACEK,MAAK,GAAKD,EACVF,YAAW,GAAKA,EAChBC,SAAQ,GAAKA,IAMnB,IAAM/C,EAAa,CACjBC,WAAY,CACVC,KAAM,oBACNC,KAAM,OAERC,OAAQ,CACNC,MAAO,mBACPC,IAAKR,EAAOS,iBAEdC,aAAc,CACZC,MAAO,YACPC,KAAM,MACNC,QAAS,YAIPC,EAAqB,CACzBX,WAAY,CACVC,KAAM,oBACNC,KAAM,OAERC,OAAQ,CACNC,MAAO,mBACPC,IAAKR,EAAOe,yBAEdL,aAAc,CACZC,MAAO,YACPC,KAAM,MACNC,QAAS,YAIb,OACE,gBAAC,IAAD,CAAQuB,KAAMA,EAAKgB,oBAAqBC,aAAcrD,aAAF,EAAEA,EAAQsD,SAC3DR,EACD,gCACG,UAAA9C,EAAOuD,cAAP,eAAeC,UACd,uBAAK3B,UAAU,wDACb,gBAAC,IAAD,CAAU4B,SAAUzD,EAAOuD,OAAQG,QAAO,cAAgB1D,EAAO2D,WAEjE,uBAAK9B,UAAU,6BACZ7B,EAAO4D,oBAAP,UACC5D,EAAO4D,yBADR,aACC,EACIC,MAAK,SAACC,EAAGC,GAAJ,OAAUD,EAAEX,MAAMa,cAAcD,EAAEZ,UACxCc,KAAI,SAACC,GACJ,OACE,uBAAKrC,UAAU,mDACb,gBAAC,IAAD,CACEC,KAAuB,gBAAjBoC,EAAOf,MAA0BgB,MAAWC,MAClDvC,UAAU,OACVwC,MAAOH,EAAOI,WAEhB,sBAAIzC,UAAU,kBAAkBL,MAAO,CAAC6C,MAAOH,EAAOI,WAAYJ,EAAOf,cASxFnD,EAAOS,iBAAmBT,EAAOe,wBAChC,uBAAKc,UAAU,sCACb,0BACEA,UAAU,2CACVG,QAAS,WAjGnBS,GAAe,KAmGL,gBAAC,IAAD,CAAMjB,MAAO,CAAE+C,YAAa,QAAenE,KAAM,oBAAqBC,KAAM,QAJ9E,qBASDL,EAAOS,gBACN,gBAAC,IAAD,CACEqB,KAAM5B,EAAWC,WACjBG,OAAQJ,EAAWI,OACnBI,aAAcR,EAAWQ,aACzBQ,IAAG,YAAclB,EAAO2D,WAG1B3D,EAAOe,wBACL,gBAAC,IAAD,CACEe,KAAMhB,EAAmBX,WACzBG,OAAQQ,EAAmBR,OAC3BI,aAAcI,EAAmBJ,aACjCQ,IAAG,YAAclB,EAAO2D,WAG1B,KAGLnB,GAAiB,gBAAC,EAAD,CAAsBxC,OAAQA,EAAQC,QAvH3C,WACjBwC,GAAe,MAwHX,2BACE,gBAAC,IAAD,CAAaH,WAAYA","file":"component---src-templates-career-page-js-fc03f0a1e965977c8e54.js","sourcesContent":["import React, { useEffect } from 'react'\nimport '../css/_modalButtonAdmission.scss'\nimport { Button } from '../components/button'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\n\nconst ModalButtonAdmission = ({ career, onClose }) => {\n\n const buttonLink = {\n iconButton: {\n code: \"fa-person\",\n type: \"fas\"\n },\n button: {\n label: \"PRESENCIAL\",\n url: career.inscriptionLink\n },\n customButton: {\n shape: \"rectangle\",\n size: \"big\",\n variant: \"primary\"\n }\n }\n\n const buttonLinkDistance = {\n iconButton: {\n code: \"fa-laptop\",\n type: \"fas\"\n },\n button: {\n label: \"A DISTANCIA\",\n url: career.inscriptionLinkDistance\n },\n customButton: {\n shape: \"rectangle\",\n size: \"big\",\n variant: \"primary\"\n }\n }\n\n // Funcion para navegar entre las imagenes apretando las teclas flecha izquierda y flecha derecha\n const handleKeyDown = (event) => {\n\n // Eliminar el scroll vertical en la pagina al presionar las siguientes teclas \n if (event.key === 'ArrowUp' || event.key === 'ArrowDown' || event.key === 'Tab' || event.key === ' ') {\n event.preventDefault();\n }\n\n if (event.key === \"Escape\") {\n onClose()\n }\n };\n\n // Event para verificar que tecla se esta pulsando y bloqueo del scroll\n useEffect(() => {\n const handleWheel = (event) => {\n event.preventDefault();\n };\n\n // Agregar event listener para ocultar la barra de desplazamiento de la pagina al abrir el modal\n document.body.style.overflow = 'hidden';\n\n // Agregar event listener para deshabilitar el scroll del mouse en la pagina al abrir el modal\n document.body.addEventListener('wheel', handleWheel, { passive: false });\n \n // Agregar el event listener al presionar teclas\n document.addEventListener('keydown', handleKeyDown); \n \n // Eliminar el event listener al desmontar el modal\n return () => {\n document.body.style.overflow = 'auto'; // Restaurar la barra de desplazamiento\n document.body.removeEventListener('wheel', handleWheel);\n document.removeEventListener('keydown', handleKeyDown); \n };\n // Desactivando el warning que mostraba por el handleKeyDown\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []); // [] asegura que se agregue y elimine el event listener solo una vez al montar y desmontar el componente\n\n return (\n
\n
\n
\n \n
\n\n

ElegĂ­ tu modalidad

\n \n
\n \n
\n\n
\n \n
\n\n \n
\n\n
\n )\n}\n\nexport default ModalButtonAdmission","import React, { useState, useLayoutEffect } from 'react'\nimport { graphql } from 'gatsby'\nimport PropTypes from 'prop-types'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faLaptop, faLocationDot } from '@fortawesome/free-solid-svg-icons'\nimport DynamicZone from '../helpers/dynamicZone'\nimport Layout from '../components/layout'\nimport Seo from '../components/seo'\nimport Carousel from '../components/carousel'\nimport { Button } from '../components/button'\nimport ModalButtonAdmission from '../components/modalButtonAdmission'\nimport Icon from '../components/icon'\nimport '../css/_uccCareer.scss'\n\nconst CareerPage = (props) => {\n const { pageContext, data } = props\n const { data: page } = pageContext\n const { strapiUccCareer: career } = data\n const { components } = career\n\n // Variable para controlar la apertura o cierre del modal\n const [modalButton, setModalButton] = useState(false);\n\n // Validacion para recorrer as imagenes en el modal abierto\n const openModal = () => {\n setModalButton(true);\n };\n \n // Cierre del modal\n const closeModal = () => {\n setModalButton(false);\n };\n\n useLayoutEffect(() => {\n const body = document.getElementsByTagName('body')\n body[0].setAttribute('class', 'fix-internalpages-without-header')\n\n return () => {\n body[0].removeAttribute('class', 'fix-internalpages-without-header')\n }\n })\n \n let SEO = ''\n\n if (career.pageMetadata !== null) {\n const { description, keywords, pageTitle } = career.pageMetadata\n\n SEO = (\n \n )\n }\n\n // Configuramos el boton segun las opciones del componente Button\n const buttonLink = {\n iconButton: {\n code: \"fa-graduation-cap\",\n type: \"fas\"\n },\n button: {\n label: \"INSCRIBITE AHORA\",\n url: career.inscriptionLink\n },\n customButton: {\n shape: \"rectangle\",\n size: \"big\",\n variant: \"primary\"\n }\n }\n\n const buttonLinkDistance = {\n iconButton: {\n code: \"fa-graduation-cap\",\n type: \"fas\"\n },\n button: {\n label: \"INSCRIBITE AHORA\",\n url: career.inscriptionLinkDistance\n },\n customButton: {\n shape: \"rectangle\",\n size: \"big\",\n variant: \"primary\"\n }\n }\n\n return (\n \n {SEO}\n
\n {career.header?.visible && (\n
\n \n \n
\n {career.ucc_career_places && \n career.ucc_career_places\n ?.sort((a, b) => a.title.localeCompare(b.title))\n .map((places) => {\n return (\n
\n \n
{places.title}
\n
\n )\n })\n }\n
\n
\n )}\n\n {career.inscriptionLink && career.inscriptionLinkDistance ? (\n
\n openModal()}\n >\n \n INSCRIBITE AHORA\n \n
\n ) : (\n (career.inscriptionLink ?\n \n :\n career.inscriptionLinkDistance ?\n \n : \n null\n )\n )}\n {modalButton && ( )}\n\n
\n \n
\n
\n
\n )\n}\n\nexport default CareerPage\n\nCareerPage.propTypes = {\n pageContext: PropTypes.object.isRequired,\n data: PropTypes.object.isRequired\n}\n\nexport const careerPageQuery = graphql`\n query($careerId: Int) {\n strapiUccCareer(strapiId: { eq: $careerId }) {\n pageMetadata {\n description: pageDescription\n keywords: pageKeywords\n pageTitle\n }\n strapiId\n slug\n siuccCode\n inscriptionLink\n inscriptionLinkDistance\n name\n scripts {\n source\n id\n enable\n name\n }\n career_category {\n id\n name\n career_level\n }\n organizational_unit {\n name\n id\n slug\n }\n pages {\n id\n name\n slug\n }\n ucc_career_places {\n id\n title\n colorHex\n }\n header {\n visible\n slide {\n content\n imageDescription\n textButton\n name\n url\n visible\n\n backgroundImage {\n url\n }\n backgroundVideo {\n url\n }\n novelty {\n slug\n }\n organizational_unit {\n slug\n }\n page {\n slug\n }\n diary {\n slug\n }\n ucc_career {\n slug\n }\n }\n }\n components {\n title\n visible\n strapi_component\n id\n rightText\n leftText\n formTitle\n text\n carouselCard {\n color\n description\n labelBlack\n }\n icons {\n alt\n content\n icon {\n code\n type\n name\n }\n }\n accordion {\n title\n summary\n id\n }\n iconTexts {\n id\n alt\n content\n icon {\n code\n type\n }\n }\n textContent {\n id\n title\n visible\n variant\n backgroundImage{\n url\n }\n content\n }\n videoBack {\n id\n description\n videoUrl\n buttonVideo {\n url\n content\n page {\n slug\n }\n }\n backgroundImage {\n url\n }\n video {\n url\n }\n }\n tabs {\n id\n title\n content\n itemsAccordion {\n id\n title\n content\n }\n }\n singleImage {\n id\n title\n url\n visible\n image {\n name\n url\n }\n }\n video {\n id\n visible\n title\n description\n videoId\n mediaVideo {\n url\n }\n }\n map {\n id\n title\n visible\n code\n }\n MapContent {\n id\n code\n title\n visible\n mapContentText {\n id\n address\n contact\n openingHours\n image {\n url\n }\n }\n }\n pdf {\n id\n title\n visible\n code\n }\n audioList {\n id\n code\n title\n visible\n }\n calendar {\n id\n calendarUrl\n code {\n code\n title\n visible\n }\n }\n brick {\n id\n activateVideo\n content\n visible\n videoId\n imageName\n image {\n url\n }\n }\n eventualitiesList {\n id\n destacado\n description\n title\n visible\n url\n name\n image {\n url\n }\n eventuality {\n name\n slug\n url\n visible\n title\n }\n }\n transitionContent {\n text\n imagePosition\n image {\n url\n }\n color\n }\n heroContent {\n id\n title\n summary\n image {\n url\n }\n imageDark {\n url\n }\n dynamicButton {\n icon {\n code\n type\n }\n customButton {\n shape\n size\n variant\n }\n button {\n url\n label\n career_level {\n name\n }\n diary {\n slug\n }\n novelty {\n slug\n }\n organizational_unit {\n slug\n }\n page {\n slug\n }\n ucc_career {\n slug\n }\n }\n }\n }\n diagonalContent {\n id\n title\n variant\n image {\n url\n }\n imageDark {\n url\n }\n dynamicButton {\n icon {\n code\n type\n }\n customButton {\n shape\n size\n variant\n }\n button {\n url\n label\n career_level {\n name\n }\n diary {\n slug\n }\n label\n novelty {\n slug\n }\n organizational_unit {\n slug\n }\n page {\n slug\n }\n ucc_career {\n slug\n }\n }\n }\n }\n BannerListContent {\n id\n title\n Card {\n id\n title\n description\n url\n icon {\n url\n }\n page {\n name\n slug\n }\n organizational_unit {\n name\n slug\n }\n }\n }\n quoteContent {\n title\n description\n id\n variant\n videoUrl\n image {\n name\n url\n }\n dynamicButton {\n icon {\n code\n type\n }\n customButton {\n shape\n size\n variant\n }\n button {\n url\n label\n career_level {\n name\n }\n diary {\n slug\n }\n label\n novelty {\n slug\n }\n organizational_unit {\n slug\n }\n page {\n slug\n }\n ucc_career {\n slug\n }\n }\n }\n professional {\n name\n profilePicture {\n url\n }\n }\n }\n logoSection {\n title\n summary\n media {\n name\n img {\n url\n }\n imageDark {\n url\n }\n }\n }\n cards {\n cardName\n content\n destacado\n id\n type\n url\n visible\n color\n labelBlack\n backgroundImageName\n backgroundImage {\n url\n name\n }\n page {\n slug\n }\n career_level {\n name\n }\n organizational_unit {\n slug\n }\n }\n slide {\n id\n name\n content\n imageDescription\n textButton\n url\n visible\n imageFilter\n backgroundImage {\n name\n url\n }\n backgroundVideo {\n url\n }\n diary {\n slug\n }\n novelty {\n slug\n }\n organizational_unit {\n slug\n }\n page {\n slug\n }\n ucc_career {\n slug\n }\n }\n socialNetworks {\n title\n visible\n facebook {\n code\n visible\n }\n instagram {\n code\n visible\n }\n twitter {\n code\n visible\n }\n }\n form {\n id\n }\n interest_receiver {\n option\n receiver\n }\n interest_type {\n option\n type\n }\n icon {\n code\n type\n }\n button {\n career_level {\n name\n }\n diary {\n slug\n }\n label\n novelty {\n slug\n }\n organizational_unit {\n slug\n }\n page {\n slug\n }\n ucc_career {\n slug\n }\n url\n }\n customButton {\n shape\n size\n variant\n }\n profesionals {\n id\n rol\n visible\n professional {\n id\n name\n description\n profilePictureName\n profilePicture {\n url\n name\n }\n }\n }\n careers {\n id\n ucc_careers {\n name\n slug\n }\n }\n buildingsLocationList {\n title\n visible\n buildingsLocation {\n buildingName\n url\n information\n }\n } \n }\n }\n }\n`\n"],"sourceRoot":""}