{"version":3,"sources":["assets/images/focamos-nas-pessoas.svg","assets/images/somos-inconformados.svg","assets/images/prezamos.svg","assets/images/acreditamos.svg","assets/images/formamos.svg","assets/images/pensamos.svg","assets/images/acreditamos-gif.svg","assets/images/about-background.jpg","assets/images/contact-background.jpg","assets/images/logotipo.svg","assets/images/logo-7star.svg","assets/images/cloudmed-icon.svg","assets/images/cloudmed-icon-dark.svg","assets/images/fundo-teste-escuro.jpg","assets/images/cloudmed-logo.png","assets/images/fundoCamisa.jpg","assets/images/qrCode.jpg","assets/images/team.svg","assets/images/fundo-tecnologias.jpg","assets/images/tudo-em.svg","assets/images/ferramentas-de-ponta.svg","assets/images/design-e-tudo.svg","Containers/About/styles.ts","components/Card/styles.ts","components/Card/index.tsx","components/PageDescription/styles.ts","components/PageDescription/index.tsx","components/Title/styles.ts","components/Title/index.tsx","Containers/About/utils/texts.ts","Containers/About/index.tsx","Containers/Contact/utils/fieldsValidation.ts","Containers/Contact/styles.ts","Containers/Contact/index.tsx","components/Drawer/styles.ts","components/Drawer/index.tsx","components/Footer/styles.ts","components/Footer/index.tsx","components/Header/styles.ts","components/Header/index.tsx","Containers/Home/styles.ts","Containers/Home/index.tsx","Containers/TheCode/styles.ts","Containers/TheCode/utils/texts.ts","Containers/TheCode/index.tsx","Containers/Tecnologies/styles.ts","Containers/Tecnologies/index.tsx","styles/GlobalStyles.ts","App.tsx","index.tsx"],"names":["module","exports","Container","styled","div","background","Content","Wrapper","CardContent","Details","props","show","TextContainer","ImageContainer","AboutSpan","span","CloseButton","button","cardId","objectId","Text","Image","img","Button","Card","text","onPress","alt","src","type","onClick","color","size","PageDescription","string","h1","Title","AboutTexts","id","title","image","Focamos","Somos","Prezamos","Acreditamos","Formamos","Pensamos","About","forwardRef","defaultObject","useState","object","setObject","ref","length","style","backgroundImage","fontSize","ValidationName","name","ValidationEmail","value","test","ValidationMessage","FormCard","InputContainer","Input","input","error","TextArea","textarea","SubmitButton","ErrorMessage","LocalizationContainer","InfoCard","InfoLogotipo","attrs","logo","InfoTable","table","TdIcon","td","TdInfo","MapCard","ProgressContainer","MapPin","Contact","setName","email","setEmail","message","setMessage","loading","setLoading","LinearProgress","height","borderRadius","onSubmit","event","preventDefault","e","placeholder","onChange","target","autoComplete","disabled","marginLeft","bootstrapURLKeys","key","defaultZoom","defaultCenter","lat","lng","BackDrop","DrawerHeader","DrawerLinksContainer","Drawer","goToHome","goToAbout","goToTecnologies","goToTheCode","goToContact","FooterSpan","IconButton","a","hoverColor","LinksContainer","LogoStar","SpanInvestidor","Footer","Date","getFullYear","Logo7Star","href","isScrolled","CloudIcon","Links","ul","MenuButton","Header","setScrolled","useEffect","handleScroll","window","scrollY","innerHeight","addEventListener","removeEventListener","icondark","icon","className","Logo","Description","arrowBouncing","keyframes","ArrowIcon","Home","scrollTo","top","behavior","Thecode","QrCode","TheCode","Team","active","Tecnologies","idSelected","setIdSelected","handleSelectId","idNumber","activeId","TudoImg","FerramentasImg","DesignImg","GlobalStyles","createGlobalStyle","Main","main","App","showDrawer","handleDrawer","refHome","useRef","refAbout","refTecnologies","refTheCode","refContact","goTo","offsetTop","current","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.36a04fb9.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/focamos-nas-pessoas.308b56c7.svg\";","module.exports = __webpack_public_path__ + \"static/media/somos-inconformados.fe6a0c1f.svg\";","module.exports = __webpack_public_path__ + \"static/media/prezamos.3d904370.svg\";","module.exports = __webpack_public_path__ + \"static/media/acreditamos.e88246f4.svg\";","module.exports = __webpack_public_path__ + \"static/media/formamos.02e329d8.svg\";","module.exports = __webpack_public_path__ + \"static/media/pensamos.449fe299.svg\";","module.exports = __webpack_public_path__ + \"static/media/acreditamos-gif.83de38e8.svg\";","module.exports = __webpack_public_path__ + \"static/media/about-background.2b5236e8.jpg\";","module.exports = __webpack_public_path__ + \"static/media/contact-background.a1f2da72.jpg\";","module.exports = __webpack_public_path__ + \"static/media/logotipo.693c2b73.svg\";","module.exports = __webpack_public_path__ + \"static/media/logo-7star.de1b0bad.svg\";","module.exports = __webpack_public_path__ + \"static/media/cloudmed-icon.98c235b6.svg\";","module.exports = __webpack_public_path__ + \"static/media/cloudmed-icon-dark.dc10fa76.svg\";","module.exports = __webpack_public_path__ + \"static/media/fundo-teste-escuro.406d29a9.jpg\";","module.exports = __webpack_public_path__ + \"static/media/cloudmed-logo.2f1f75f7.png\";","module.exports = __webpack_public_path__ + \"static/media/fundoCamisa.86c8b155.jpg\";","module.exports = __webpack_public_path__ + \"static/media/qrCode.187ea7db.jpg\";","module.exports = __webpack_public_path__ + \"static/media/team.ddd45b6b.svg\";","module.exports = __webpack_public_path__ + \"static/media/fundo-tecnologias.6c1edd76.jpg\";","module.exports = __webpack_public_path__ + \"static/media/tudo-em.f3cc1b6a.svg\";","module.exports = __webpack_public_path__ + \"static/media/ferramentas-de-ponta.2cefe269.svg\";","module.exports = __webpack_public_path__ + \"static/media/design-e-tudo.b8451e7c.svg\";","import styled from 'styled-components';\r\nimport background from '../../assets/images/about-background.jpg';\r\n\r\ninterface DetailsProps {\r\n show: boolean;\r\n}\r\n\r\nexport const Container = styled.div`\r\n background-image:url(${background});\r\n background-position: top;\r\n background-size: cover;\r\n max-width: 100vw;\r\n min-height: 100vh;\r\n padding-top: 150px;\r\n padding-bottom: 20px;\r\n scroll-snap-align: start;\r\n position: relative;\r\n`;\r\n\r\nexport const Content = styled.div`\r\ndisplay: flex;\r\nflex-direction: column;\r\nalign-items: center;\r\njustify-content: center;\r\n\r\n`;\r\n\r\nexport const Wrapper = styled.div`\r\ndisplay: flex;\r\n flex-direction: row;\r\n width:100%;\r\n`;\r\n\r\nexport const CardContent = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n flex-wrap: wrap;\r\n margin-top: 25px;\r\n width: 95%;\r\n justify-content: center;\r\n overflow-x: scroll;\r\n max-width: 1190px;\r\n\r\n& div + div {\r\n margin-left: 10px;\r\n}\r\n\r\n&::-webkit-scrollbar {\r\n height: 10px;\r\n\r\n @media(min-width: 1251px) {\r\n display: none;\r\n }\r\n }\r\n\r\n &::-webkit-scrollbar-track {\r\n background: rgba(255,255,255,0.2);\r\n border-radius: 4px;\r\n }\r\n\r\n &::-webkit-scrollbar-thumb {\r\n background: #e0e0e0;\r\n border-radius: 4px;\r\n }\r\n\r\n &::-webkit-scrollbar-thumb:hover {\r\n background: #F9B43A;\r\n }\r\n`;\r\n\r\nexport const Details = styled.div`\r\n width: 100%;\r\n padding: ${props => props.show ? '20px' : '0px'};\r\n position: absolute;\r\n bottom: 0;\r\n right: 0;\r\n left: 0;\r\n background-color: #fff;\r\n transition: 180ms ease-in-out;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n user-select: none;\r\n height: ${props => props.show ? 'auto' : '0px'};\r\n transition: 180ms ease-in-out;\r\n overflow: hidden;\r\n z-index: 1;\r\n box-shadow: 0px 0px 4px rgba(0,0,0,0.4);\r\n > div {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: flex-start;\r\n width: 90%;\r\n max-width: 1024px;\r\n\r\n @media(max-width: 768px){\r\n flex-direction: column;\r\n align-items: center;\r\n }\r\n h1 {\r\n font-size: 22px;\r\n color: #F9B434;\r\n margin-bottom: 10px;\r\n }\r\n }\r\n\r\n @media(max-width: 768px) {\r\n width: 98%;\r\n bottom: 5px;\r\n left: 50%;\r\n transform: translate(-50%, 0);\r\n border-radius: 4px;\r\n height: ${props => props.show ? 'calc(98% - 125px)' : '0px'};\r\n }\r\n`;\r\n\r\nexport const TextContainer = styled.div`\r\n margin-left: 20px;\r\n`;\r\n\r\nexport const ImageContainer = styled.div`\r\n min-width: 300px;\r\n max-width: 320px;\r\n height: 235px;\r\n background-color: #fff;\r\n border-radius: 8px;\r\n padding: 5px;\r\n\r\n > div {\r\n width: 100%;\r\n height: 100%;\r\n background-size: contain;\r\n background-repeat: no-repeat;\r\n border: none;\r\n outline: none;\r\n }\r\n`;\r\n\r\nexport const AboutSpan = styled.span`\r\n color:#212121;\r\n font-size: 17px;\r\n margin-left: 20px;\r\n`;\r\n\r\nexport const CloseButton = styled.button`\r\n border: none;\r\n background: #fff;\r\n outline: none;\r\n position: absolute;\r\n right: 20px;\r\n top: 20px;\r\n cursor: pointer;\r\n`;\r\n","import styled from 'styled-components';\r\n\r\ninterface ContainerProps {\r\n cardId: number;\r\n objectId: number;\r\n}\r\n\r\nexport const Container = styled.div`\r\nmin-width: 190px;\r\nmax-width: 190px;\r\nheight:300px;\r\ndisplay: flex;\r\nflex-direction: column;\r\njustify-content: space-between;\r\nbackground-image: linear-gradient(#ccc, #fff, #fff );\r\nborder-radius: 8px;\r\ntext-align: center;\r\nalign-items: center;\r\nmargin: 10px 0px;\r\nuser-select: none;\r\nfilter: ${props => props.cardId === props.objectId ? 'brightness(30%)' : 'brightness(100%)'};\r\ntransition: 280ms ease-in-out;\r\n`;\r\n\r\nexport const Text = styled.span`\r\nfont-size: 21px;\r\ncolor:#302F42;\r\n`;\r\n\r\nexport const Image = styled.img`\r\nwidth:90%;\r\nmargin-top: 5px;\r\n`;\r\n\r\nexport const Button = styled.button`\r\ncursor: pointer;\r\nbackground: transparent;\r\nborder: none;\r\nmargin-bottom: 5px;\r\ntransition: 180ms linear;\r\noutline: none;\r\n\r\n&:hover {\r\n transform: scale(1.2);\r\n}\r\n`;\r\n\r\n","import React from 'react';\r\nimport {FaAngleDown} from 'react-icons/fa';\r\n\r\nimport { Image, Container, Text, Button } from './styles';\r\n\r\ninterface Props {\r\n text:string;\r\n img: string | undefined;\r\n onPress: () => void;\r\n cardId: number;\r\n objectId: number;\r\n}\r\n\r\nconst Card: React.FC = ({text, img = '', onPress, cardId, objectId}) => {\r\n return (\r\n \r\n \"\"\r\n {text}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Card;\r\n","import styled from 'styled-components';\r\n\r\nexport const Text = styled.span`\r\n font-size: 18px;\r\n color:#EDF2F7;\r\n margin-top: 10px;\r\n width:90%;\r\n max-width: 500px;\r\n text-align:center;\r\n`;\r\n\r\n","import React from 'react';\r\n\r\nimport { Text } from './styles';\r\n\r\ninterface Props {\r\n text: string;\r\n}\r\n\r\nconst PageDescription: React.FC = ({text: string}) => {\r\n return (\r\n \r\n {string}\r\n \r\n );\r\n};\r\n\r\nexport default PageDescription;\r\n","import styled from 'styled-components';\r\n\r\nexport const Text = styled.h1`\r\n color: #F9B43A;\r\n font-weight: 500;\r\n text-align: center;\r\n text-shadow: 0px 0px 4px rgba(0,0,0,1);\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Text } from './styles';\r\n\r\ninterface Props {\r\n text: string;\r\n}\r\n\r\nconst Title: React.FC = ({text}) => {\r\n return (\r\n {text}\r\n );\r\n};\r\n\r\nexport default Title;\r\n","import Focamos from '../../../assets/images/focamos-nas-pessoas.svg';\r\nimport Somos from '../../../assets/images/somos-inconformados.svg';\r\nimport Prezamos from '../../../assets/images/prezamos.svg';\r\nimport Acreditamos from '../../../assets/images/acreditamos.svg';\r\nimport Formamos from '../../../assets/images/formamos.svg';\r\nimport Pensamos from '../../../assets/images/pensamos.svg';\r\n\r\nexport const AboutTexts = [\r\n {\r\n id: 1,\r\n title: 'Focamos nas pessoas',\r\n text: 'Para nós, não há nada mais importante do que pessoas. Segundo nossa filosofia, elas são o real sentido de tudo. Focamos nas pessoas que constroem nossas ferramentas, nas que usufruem de seus resultados, e até mesmo nos pacientes que são por elas beneficiados de forma direta ou indireta. Enfim, acreditamos que tudo é sobre pessoas, e nelas colocamos o foco de nossas atenções.',\r\n image: `url(${Focamos})`\r\n },\r\n {\r\n id: 2,\r\n title: 'Somos inconformados',\r\n text: 'Acreditamos que as coisas podem ser feitas de formas diferentes e inovadoras, por isso estamos sempre inconformados com as mesmices impostas por regras que impedem o setor de crescer e se reinventar. Somos inconformados com processos que geram desperdícios e atrasam o avanço de nossa geração, bem como com o desrespeito às pessoas.',\r\n image: `url(${Somos})`\r\n },\r\n {\r\n id: 3,\r\n title: 'Prezamos pela transparência',\r\n text: 'Estamos atentos às mudanças e avanços no setor, buscando sempre compreender quais são os papéis de cada um dos atores no mercado, primando pela transparência nas diversas transações por intermédio de nossas plataformas e serviços. Acreditamos que transações e processos transparentes dão solidez e confiança para as relações de negócios.',\r\n image: `url(${Prezamos})`\r\n },\r\n {\r\n id: 4,\r\n title: 'Acreditamos no novo',\r\n text: 'Nós nos cansamos das velhas soluções para os problemas antigos e acreditamos que a inovação deve ser constante. Pensar de forma inovadora para resolver os problemas é nossa motivação constante, pois, para nós, não há problema velho que não caiba uma solução nova. Um bom design e a tecnologia bem aplicada podem resolver qualquer imbróglio.',\r\n image: `url(${Acreditamos})`\r\n },\r\n {\r\n id: 5,\r\n title: 'Formamos um time',\r\n text: 'Nosso time é formado por pessoas muito talentosas que estão sempre preparadas e dispostas a contribuir para o sucesso de nossa empresa e de nossos clientes. São pessoas incríveis, que acreditam na força do coletivo para o bem comum, e trabalham juntas para superar cada um dos desafios que aparecem ao longo de nossas jornadas.',\r\n image: `url(${Formamos})`\r\n },\r\n {\r\n id: 6,\r\n title: 'Pensamos simples',\r\n text: 'Por mais complexa que possa parecer uma tarefa, adotamos a mentalidade do pensar simples, tentar encontrar uma solução com os recursos que temos, fugindo de técnicas mirabolantes, complicadas e burocráticas. Buscamos atender as necessidades de nossos clientes com primazia e simplicidade sem perder a sofisticação dos resultados a serem apresentados.',\r\n image: `url(${Pensamos})`\r\n },\r\n];\r\n","import React, { useState } from 'react';\r\nimport {FaTimesCircle} from 'react-icons/fa';\r\n\r\nimport {\r\n AboutSpan,\r\n CardContent,\r\n CloseButton,\r\n Container,\r\n Content,\r\n Details,\r\n ImageContainer,\r\n TextContainer,\r\n Wrapper\r\n} from './styles';\r\nimport Card from '../../components/Card';\r\nimport PageDescription from '../../components/PageDescription';\r\nimport Title from '../../components/Title';\r\nimport Focamos from '../../assets/images/focamos-nas-pessoas.svg';\r\nimport Somos from '../../assets/images/somos-inconformados.svg';\r\nimport Prezamos from '../../assets/images/prezamos.svg';\r\nimport Acreditamos from '../../assets/images/acreditamos.svg';\r\nimport Formamos from '../../assets/images/formamos.svg';\r\nimport Pensamos from '../../assets/images/pensamos.svg';\r\nimport {ObjectModel } from './models/ObjectModel';\r\nimport { AboutTexts } from './utils/texts';\r\nimport ContainerProps from '../../models/container';\r\n\r\nconst About: React.FC = ({forwardRef}) => {\r\n const defaultObject = {id: 0, title: '', text: '', image: ''};\r\n const [object, setObject] = useState(defaultObject)\r\n\r\n return (\r\n \r\n \r\n \r\n <PageDescription text=\"Oferecemos soluções para o setor da saúde, focando na melhoria de\r\n processos e beneficiando diretamente a vida das pessoas.\"/>\r\n <Details show={object.text.length > 0}>\r\n <div>\r\n <ImageContainer>\r\n <div style={{backgroundImage: object.image}}/>\r\n </ImageContainer>\r\n <TextContainer>\r\n\r\n <h1>{object.title}</h1>\r\n <AboutSpan>\r\n {object.text}\r\n </AboutSpan>\r\n </TextContainer>\r\n </div>\r\n <CloseButton onClick={() => setObject(defaultObject)}>\r\n <FaTimesCircle color=\"#f9B43A\" fontSize=\"28\"/>\r\n </CloseButton>\r\n </Details>\r\n <CardContent>\r\n <Wrapper>\r\n <Card\r\n text=\"Focamos nas pessoas\"\r\n img={Focamos}\r\n onPress={() => setObject(AboutTexts[0])}\r\n cardId={1}\r\n objectId={object.id}\r\n />\r\n <Card\r\n text=\"Somos inconformados\"\r\n img={Somos}\r\n onPress={() => setObject(AboutTexts[1])}\r\n cardId={2}\r\n objectId={object.id}\r\n />\r\n <Card\r\n text=\"Prezamos pela transparência\"\r\n img={Prezamos}\r\n onPress={() => setObject(AboutTexts[2])}\r\n cardId={3}\r\n objectId={object.id}\r\n />\r\n <Card\r\n text=\"Acreditamos no novo\"\r\n img={Acreditamos}\r\n onPress={() => setObject(AboutTexts[3])}\r\n cardId={4}\r\n objectId={object.id}\r\n />\r\n <Card\r\n text=\"Formamos um time\"\r\n img={Formamos}\r\n onPress={() => setObject(AboutTexts[4])}\r\n cardId={5}\r\n objectId={object.id}\r\n />\r\n <Card\r\n text=\"Pensamos simples\"\r\n img={Pensamos}\r\n onPress={() => setObject(AboutTexts[5])}\r\n cardId={6}\r\n objectId={object.id}\r\n />\r\n </Wrapper>\r\n </CardContent>\r\n </Content>\r\n\r\n </Container>\r\n );\r\n};\r\n\r\nexport default About;\r\n"," const ValidationName = (name:string) => {\r\n if (name.length) {\r\n if (name.length > 4) {\r\n return false\r\n } else {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n\r\n const ValidationEmail = (value: string): boolean => {\r\n const validation = /^([a-zA-Z0-9_\\-.]+)@([a-zA-Z0-9_\\-.]+)\\.([a-zA-Z]{2,5})$/;\r\n if (value) {\r\n return validation.test(value);\r\n }\r\n return true;\r\n }\r\n\r\n const ValidationMessage = (value:string): boolean => {\r\n if (value.length) {\r\n if (value.length > 4) {\r\n return false;\r\n } return true;\r\n }\r\n return false;\r\n }\r\n\r\n\r\n export {ValidationName, ValidationEmail, ValidationMessage};\r\n","import styled from 'styled-components';\r\nimport background from '../../assets/images/contact-background.jpg';\r\nimport logo from '../../assets/images/logotipo.svg';\r\n\r\ninterface InputProps {\r\n error?: boolean;\r\n}\r\n\r\ninterface PinProps {\r\n lat: number;\r\n lng: number;\r\n}\r\n\r\nexport const Container = styled.div`\r\n background-image:url(${background});\r\n background-position: top;\r\n background-size: cover;\r\n max-width: 100vw;\r\n min-height: 100vh;\r\n scroll-snap-align: start;\r\n position: relative;\r\n justify-content: center;\r\n align-items: center;\r\n display: flex;\r\n flex-direction: column;\r\n padding: 140px 0px 40px 0px;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: flex-start;\r\n max-width: 960px;\r\n width:100%;\r\n /* justify-content: space-between; */\r\n margin-top: 20px;\r\n justify-content: center;\r\n\r\n @media(max-width: 768px) {\r\n flex-direction: column;\r\n padding: 0px 15px;\r\n }\r\n`;\r\n\r\nexport const FormCard = styled.div`\r\n background: #fff;\r\n border-radius: 8px;\r\n padding: 25px 20px 20px 20px;\r\n display: flex;\r\n flex-direction: column;\r\n max-width: 680px;\r\n width: 60%;\r\n min-width: 280px;\r\n margin-right: 15px;\r\n position: relative;\r\n\r\n @media(max-width: 768px){\r\n width: 100%;\r\n margin: 0px;\r\n max-width: 100%;\r\n margin-bottom: 10px;\r\n }\r\n\r\n > form {\r\n width: 100%;\r\n\r\n input, textarea {\r\n border-radius: 5px;\r\n background-color: #fff !important;\r\n padding: 16px;\r\n font-weight: 700;\r\n font-size: 12px;\r\n line-height: 14px;\r\n color: #585858;\r\n transition: 280ms ease-in-out;\r\n resize: none;\r\n }\r\n }\r\n`;\r\n\r\nexport const InputContainer = styled.div`\r\n width: 100%;\r\n position: relative;\r\n margin-bottom: 30px;\r\n`;\r\n\r\nexport const Input = styled.input<InputProps>`\r\n width: 100%;\r\n height:48px;\r\n border: ${props => `1px solid ${props.error ? '#D7182A' : '#e0e0e0' } `};\r\n\r\n &:focus {\r\n outline: none;\r\n border: ${props => `2px solid ${props.error ? '#D7182A' : '#3F3D56'}`};\r\n }\r\n\r\n &::-internal-autofill-selected {\r\n background-color: #fff;\r\n }\r\n`;\r\n\r\nexport const TextArea = styled.textarea<InputProps>`\r\n width:100%;\r\n padding: 8px;\r\n min-height: 160px;\r\n border: 1px solid ${props => props.error ? '#D7182A' : '#e0e0e0'};\r\n\r\n &:focus {\r\n outline: none;\r\n border: ${props => `2px solid ${props.error ? '#D7182A' : '#3F3D56'}`};\r\n }\r\n`;\r\n\r\nexport const SubmitButton = styled.button`\r\n padding: 16px 24px;\r\n border-radius: 5px;\r\n border: none;\r\n outline: none;\r\n background: #3f3d56;\r\n color: #fff;\r\n box-shadow: 0px 0px 7px rgba(0,0,0,0.3);\r\n transition: 180ms ease-in;\r\n\r\n :hover {\r\n filter: brightness(120%);\r\n cursor: pointer;\r\n }\r\n :active {\r\n filter: brightness(150%);\r\n }\r\n :disabled {\r\n cursor: not-allowed;\r\n }\r\n`;\r\n\r\nexport const ErrorMessage = styled.span`\r\n position: absolute;\r\n color:#D7182A;\r\n font-weight: 400;\r\n font-size: 12px;\r\n line-height: 12px;\r\n bottom: -16px;\r\n left:0px;\r\n`;\r\n\r\nexport const LocalizationContainer = styled.div`\r\n width: 35%;\r\n /* max-width: 230px; */\r\n min-width: 280px;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n @media(max-width: 768px) {\r\n width: 100%;\r\n max-width:100%;\r\n }\r\n`;\r\n\r\nexport const InfoCard = styled.div`\r\n width:100%;\r\n border-radius:8px;\r\n background: #fff;\r\n padding: 8px;\r\n margin-bottom: 15px;\r\n`;\r\n\r\nexport const InfoLogotipo = styled.img.attrs({\r\n src: `${logo}`,\r\n alt: \"\",\r\n})`\r\n height: 65px;\r\n margin-bottom: 10px;\r\n`;\r\n\r\nexport const InfoTable = styled.table`\r\n width: 100%;\r\n\r\nsvg {\r\n font-size: 24px;\r\n color: #F9B43A;\r\n margin-right: 16px;\r\n}\r\n\r\n tr {\r\n height: 48px;\r\n display: flex;\r\n flex-direction: row;\r\n width: 100%;\r\n align-items: center;\r\n }\r\n`;\r\n\r\nexport const TdIcon = styled.td`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 48px;\r\n`;\r\n\r\nexport const TdInfo = styled.td`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n font-size: 17px;\r\n`;\r\n\r\nexport const MapCard = styled.div`\r\n width: 100%;\r\n height: 320px;\r\n border-radius: 8px;\r\n background: #FFF;\r\n\r\n > div {\r\n width: 100%;\r\n height: 100%;\r\n\r\n div {\r\n border-radius: 8px !important;\r\n }\r\n }\r\n`;\r\n\r\nexport const ProgressContainer = styled.div`\r\n width: 100%;\r\n top: 0px;\r\n right: 0;\r\n left: 0;\r\n position: absolute;\r\n`;\r\n\r\nexport const MapPin = styled.div<PinProps>`\r\n background: none;\r\n padding: 15px 10px;\r\n display: inline-flex;\r\n text-align: center;\r\n align-items: center;\r\n justify-content: center;\r\n border-radius: 100%;\r\n transform: translate(-50%, -50%);\r\n svg {\r\n font-size: 36px;\r\n color: #D7182A;\r\n }\r\n`;\r\n","import React, { useState } from 'react';\r\nimport GoogleMapReact from 'google-map-react';\r\nimport { FaEnvelope, FaMapMarkerAlt, FaPhoneAlt, FaRegMap } from 'react-icons/fa';\r\n\r\nimport Title from '../../components/Title';\r\n\r\nimport { ValidationEmail, ValidationMessage, ValidationName } from './utils/fieldsValidation';\r\n\r\nimport {\r\n Container,\r\n Content,\r\n ErrorMessage,\r\n FormCard,\r\n InfoCard,\r\n InfoLogotipo,\r\n InfoTable,\r\n Input,\r\n InputContainer,\r\n LocalizationContainer,\r\n MapCard,\r\n MapPin,\r\n ProgressContainer,\r\n SubmitButton,\r\n TdIcon,\r\n TdInfo,\r\n TextArea\r\n} from './styles';\r\nimport { LinearProgress } from '@material-ui/core';\r\nimport ContainerProps from '../../models/container';\r\n\r\nconst Contact: React.FC<ContainerProps> = ({forwardRef}) => {\r\n const [name, setName] = useState(\"\");\r\n const [email, setEmail] = useState(\"\");\r\n const [message, setMessage] = useState(\"\");\r\n const [loading, setLoading] = useState(false);\r\n\r\n const handleSubmit = (event: React.FormEvent<HTMLFormElement>) : void=> {\r\n setLoading(true);\r\n event.preventDefault();\r\n try {\r\n const data = {\r\n name,\r\n email,\r\n message\r\n };\r\n } catch (e) {\r\n } finally {\r\n setLoading(false);\r\n }\r\n }\r\n\r\n const handleDisabled = ():boolean => {\r\n if ( !name.length || ValidationName(name) ||\r\n !email.length || !ValidationEmail(email) ||\r\n !message.length || ValidationMessage(message)) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n return (\r\n <Container ref={forwardRef}>\r\n <Title text=\"ENTRE EM CONTATO\" />\r\n <Content>\r\n <FormCard>\r\n { loading &&\r\n <ProgressContainer>\r\n <LinearProgress color=\"primary\"\r\n style={{\r\n height: 6,\r\n borderRadius: '8px 8px 0px 0px'\r\n }}\r\n />\r\n </ProgressContainer>\r\n }\r\n <form onSubmit={handleSubmit}>\r\n <InputContainer>\r\n <Input\r\n type=\"text\"\r\n name=\"name\"\r\n placeholder=\"Digite seu nome\"\r\n value={name}\r\n onChange={e => setName(e.target.value)}\r\n error={ValidationName(name)}\r\n autoComplete=\"off\"\r\n disabled={loading}\r\n />\r\n {ValidationName(name) &&\r\n <ErrorMessage>Preencha com seu nome completo</ErrorMessage>\r\n }\r\n </InputContainer>\r\n <InputContainer>\r\n <Input\r\n type=\"e-mail\"\r\n name=\"email\"\r\n placeholder=\"Digite seu e-mail\"\r\n value={email}\r\n onChange={e => setEmail(e.target.value)}\r\n error={!ValidationEmail(email)}\r\n autoComplete=\"off\"\r\n disabled={loading}\r\n />\r\n {!ValidationEmail(email) &&\r\n <ErrorMessage>Preencha com um e-mail válido</ErrorMessage>\r\n }\r\n </InputContainer>\r\n <InputContainer>\r\n <TextArea\r\n name=\"mensagem\"\r\n placeholder=\"Digite sua mensagem\"\r\n value={message}\r\n onChange={e => setMessage(e.target.value)}\r\n autoComplete=\"off\"\r\n disabled={loading}\r\n error={ValidationMessage(message)}\r\n />\r\n </InputContainer>\r\n <SubmitButton type=\"submit\" disabled={handleDisabled()}>\r\n {loading ? 'CARREGANDO' : 'ENVIAR MENSAGEM'}\r\n </SubmitButton>\r\n </form>\r\n </FormCard>\r\n <LocalizationContainer>\r\n <InfoCard>\r\n <InfoLogotipo />\r\n <InfoTable>\r\n <tbody>\r\n <tr>\r\n <TdIcon><FaMapMarkerAlt style={{marginLeft: 3}}/></TdIcon>\r\n <TdInfo>Avenida Ver. Jose Granzotte, nº 2339 - Jardim Piratininga</TdInfo>\r\n </tr>\r\n <tr>\r\n <TdIcon><FaRegMap/></TdIcon>\r\n <TdInfo>Franca - SP, 14403-597</TdInfo>\r\n </tr>\r\n <tr>\r\n <TdIcon><FaEnvelope/></TdIcon>\r\n <TdInfo>contato@cloudmed.io</TdInfo>\r\n </tr>\r\n <tr>\r\n <TdIcon><FaPhoneAlt/></TdIcon>\r\n <TdInfo>16 3704-3165</TdInfo>\r\n </tr>\r\n </tbody>\r\n <tbody></tbody>\r\n </InfoTable>\r\n </InfoCard>\r\n <MapCard>\r\n <div>\r\n <GoogleMapReact\r\n bootstrapURLKeys={{ key: 'AIzaSyCumZC-ZK1zatfalEEvCvwO6Rrvazt3K_k' }}\r\n defaultZoom={15}\r\n defaultCenter={{lat: -20.5382427, lng: -47.3753856 }}\r\n >\r\n <MapPin\r\n lat={-20.5382427}\r\n lng={-47.3753856}\r\n >\r\n <FaMapMarkerAlt/>\r\n </MapPin>\r\n </GoogleMapReact>\r\n </div>\r\n </MapCard>\r\n </LocalizationContainer>\r\n </Content>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default Contact;\r\n","import styled from 'styled-components';\r\n\r\ninterface Props {\r\n show: boolean;\r\n}\r\n\r\nexport const Container = styled.div<Props>`\r\n width: 260px;\r\n height: 100vh;\r\n position: fixed;\r\n z-index: 11;\r\n right: 0;\r\n top: 0;\r\n background-color: #fafafa;\r\n transition: 180ms ease-in-out;\r\n box-shadow: 2px 0px 20px 5px rgba(0,0,0,0.4);\r\n transform: ${props => props.show ? 'translatX(0px)' : 'translateX(260px)'};\r\n padding: 10px 20px;\r\n\r\n @media(min-width: 769px) {\r\n display: none;\r\n }\r\n`;\r\n\r\nexport const BackDrop = styled.div<Props>`\r\n position: fixed;\r\n width: 100%;\r\n height: 100%;\r\n top: 0px;\r\n right: 0px;\r\n background-color: rgba(0,0,0,0.4);\r\n display: ${props => props.show ? 'block' : 'none'};\r\n z-index: 3;\r\n`;\r\n\r\nexport const DrawerHeader = styled.div`\r\nwidth: 100%;\r\nheight: 60px;\r\nmargin-bottom: 10px;\r\ndisplay: flex;\r\nalign-items: center;\r\njustify-content: flex-end;\r\n\r\n> button {\r\n background: transparent;\r\n outline: none;\r\n border: none;\r\n}\r\n`;\r\n\r\nexport const DrawerLinksContainer = styled.div`\r\nul {\r\n list-style: none;\r\nli {\r\n border-bottom: 1px solid #bdbdbd;\r\n width:100%;\r\n height: 52px;\r\n display: flex;\r\n align-items: center;\r\n button {\r\n text-decoration: none;\r\n color: #212121;\r\n font-size: 20px;\r\n background: none;\r\n outline: none;\r\n border: none;\r\n }\r\n}\r\n}\r\n`;\r\n","import React from 'react';\r\nimport {FaArrowRight} from 'react-icons/fa';\r\n\r\nimport { BackDrop, Container, DrawerHeader, DrawerLinksContainer } from './styles';\r\n\r\ninterface Props {\r\n show: boolean;\r\n onClick: () => void;\r\n goToHome: (ref: any) => void;\r\n goToAbout: (ref: any) => void;\r\n goToTecnologies: (ref: any) => void;\r\n goToTheCode: (ref: any) => void;\r\n goToContact: (ref: any) => void;\r\n}\r\n\r\nconst Drawer: React.FC<Props> = ({show, onClick, goToHome, goToAbout, goToTecnologies, goToTheCode, goToContact }) => {\r\n // const {goToHome, goToAbout, goToTecnologies, goToContact} = rest;\r\n return (\r\n <>\r\n <Container show={show}>\r\n <DrawerHeader>\r\n <button onClick={onClick}>\r\n <FaArrowRight color=\"#F9B43A\" fontSize=\"32px\" />\r\n </button>\r\n </DrawerHeader>\r\n <DrawerLinksContainer>\r\n <ul>\r\n <li>\r\n <button onClick={goToHome}>Início</button>\r\n </li>\r\n <li>\r\n <button onClick={goToAbout}>Sobre</button>\r\n </li>\r\n <li>\r\n <button onClick={goToTecnologies}>Tecnologias</button>\r\n </li>\r\n <li>\r\n <button onClick={goToTheCode}>The Code</button>\r\n </li>\r\n <li>\r\n <button onClick={goToContact}>Contato</button>\r\n </li>\r\n </ul>\r\n </DrawerLinksContainer>\r\n </Container>\r\n <BackDrop show={show} onClick={onClick}/>\r\n </>\r\n );\r\n};\r\n\r\nexport default Drawer;\r\n","import styled from 'styled-components';\r\n\r\ninterface LinkProps {\r\n hoverColor: string;\r\n}\r\n\r\nexport const Container = styled.div`\r\n background: #3F3D56;\r\n padding: 30px 20px;\r\n scroll-snap-align: start;\r\n display: flex;\r\n justify-content: center;\r\n position: relative;\r\n\r\n @media(max-width: 425px) {\r\n padding: 30px 8px;\r\n }\r\n`;\r\n\r\nexport const Content = styled.div`\r\n width: 100%;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n max-width: 1280px;\r\n justify-content: space-between;\r\n flex-wrap: wrap;\r\n\r\n @media(max-width: 768px) {\r\n justify-content: center;\r\n }\r\n`;\r\n\r\nexport const FooterSpan = styled.span`\r\n color: rgba(255, 255, 255, 0.3);\r\n font-size: 16px;\r\n`;\r\n\r\nexport const IconButton = styled.a.attrs({\r\n target: \"_blank\",\r\n})<LinkProps>`\r\n width: 56px;\r\n height: 56px;\r\n border-radius: 50%;\r\n background: rgba(255, 255, 255, 0.05);\r\n cursor: pointer;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n > svg {\r\n font-size: 26px;\r\n color: #fafafa;\r\n transition: 180ms ease-in;\r\n }\r\n\r\n :hover{\r\n > svg {\r\n color: ${props => props.hoverColor}\r\n }\r\n }\r\n\r\n @media(max-width: 480px){\r\n width: 42px;\r\n height: 42px;\r\n\r\n > svg {\r\n font-size: 20px;\r\n }\r\n }\r\n`;\r\n\r\nexport const LinksContainer = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n flex-wrap: wrap;\r\n margin: 10px 0px;\r\n\r\n > a + a {\r\n margin-left: 10px;\r\n }\r\n`;\r\n\r\nexport const LogoStar = styled.img`\r\n width: 170px;\r\n margin: 10px;\r\n`;\r\n\r\nexport const SpanInvestidor = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n margin: 10px 0px;\r\n\r\n`\r\n","import React from 'react';\r\nimport { FaFacebookF, FaInstagram, FaLinkedinIn, FaWhatsapp, FaYoutube } from 'react-icons/fa';\r\n\r\nimport { Container, Content, FooterSpan, IconButton, LinksContainer, LogoStar, SpanInvestidor } from './styles';\r\nimport Logo7Star from '../../assets/images/logo-7star.svg'\r\nimport { getTypeParameterOwner } from 'typescript';\r\n\r\nconst Footer: React.FC = () => {\r\n\r\n return (\r\n <Container>\r\n <Content>\r\n <FooterSpan>© {new Date().getFullYear()}. Cloudmed Tecnologia</FooterSpan>\r\n <SpanInvestidor>\r\n <FooterSpan>Uma empresa investida por:</FooterSpan>\r\n <LogoStar src={Logo7Star}/>\r\n </SpanInvestidor>\r\n <LinksContainer>\r\n <IconButton href=\"https://www.linkedin.com/company/cloudmed\" hoverColor=\"#45abff\">\r\n <FaLinkedinIn/>\r\n </IconButton>\r\n <IconButton href=\"https://www.instagram.com/cloudmedbr\" hoverColor=\"#8f6ec7\">\r\n <FaInstagram/>\r\n </IconButton>\r\n <IconButton href=\"https://www.facebook.com/cloudmedtecnologia\" hoverColor=\"#4f62cf\">\r\n <FaFacebookF/>\r\n </IconButton>\r\n <IconButton href=\"https://www.youtube.com/user/canalcloudmed\" hoverColor=\"#ff6055\">\r\n <FaYoutube/>\r\n </IconButton>\r\n <IconButton href=\"https://wa.me/5516999883165\" hoverColor=\"#5aca5e\">\r\n <FaWhatsapp/>\r\n </IconButton>\r\n </LinksContainer>\r\n </Content>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default Footer;\r\n","import styled from 'styled-components';\r\n\r\ninterface Props {\r\n isScrolled: boolean;\r\n}\r\n\r\nexport const Container = styled.div<Props>`\r\n max-width:100vw;\r\n height:${props => props.isScrolled ? '70px' : '120px'};\r\n display: flex;\r\n flex-direction: row;\r\n align-self: center;\r\n position: ${props => props.isScrolled ? 'fixed' : 'absolute'};\r\n justify-content: center;\r\n top: 0px;\r\n right:0;\r\n left:0;\r\n z-index: 10;\r\n background: ${props => props.isScrolled ? '#fafafa' : 'transparent'};\r\n color: ${props => props.isScrolled ? '#212121' : '#EDF2F7;'};\r\n transition: 280ms ease-in;\r\n\r\n@media(max-width: 768px){\r\n padding: 0px 30px;\r\n justify-content: space-between;\r\n align-items: center;\r\n height: 70px;\r\n}\r\n`;\r\n\r\nexport const CloudIcon = styled.img<Props>`\r\nwidth:48px;\r\nleft: 90px;\r\nposition: absolute;\r\ntop: ${props => props.isScrolled ? '6px' : '30px'};\r\ntransition: 280ms ease-in;\r\n\r\n@media(max-width: 768px){\r\n position: relative;\r\n top: 0px;\r\n left: 0px;\r\n}\r\n`;\r\n\r\nexport const Links = styled.ul`\r\nlist-style: none;\r\ndisplay: flex;\r\nflex-direction: row;\r\nalign-items: center;\r\n\r\n> .disabled {\r\n color: #e0e0e0;\r\n font-weight: bold;\r\n cursor: not-allowed;\r\n}\r\n\r\nli {\r\n font-size: 18px;\r\n user-select: none;\r\n cursor: pointer;\r\n\r\n & + li {\r\n margin-left: 40px;\r\n }\r\n\r\n &:hover {\r\n transform: scale(1.1);\r\n transition: 280ms linear;\r\n font-weight: bold;\r\n }\r\n}\r\n\r\n@media(max-width: 768px) {\r\n display: none;\r\n}\r\n`;\r\n\r\nexport const MenuButton = styled.div`\r\n\r\n @media(min-width:769px){\r\n display: none;\r\n }\r\n`;\r\n\r\n","import React, { useEffect, useState } from 'react';\r\n\r\nimport { CloudIcon, Container, Links, MenuButton } from './styles';\r\n\r\nimport icon from '../../assets/images/cloudmed-icon.svg';\r\nimport icondark from '../../assets/images/cloudmed-icon-dark.svg';\r\nimport {FaBars} from 'react-icons/fa';\r\nimport MenuProps from '../../models/menu';\r\n\r\nconst Header: React.FC<MenuProps> = ({onClick, goToHome, goToAbout, goToContact, goToTheCode, goToTecnologies}) => {\r\n const [isScrolled, setScrolled] = useState(false);\r\n\r\n useEffect(() => {\r\n const handleScroll = () => {\r\n if (window.scrollY > window.innerHeight - 70) {\r\n setScrolled(true);\r\n } else {\r\n setScrolled(false);\r\n }\r\n };\r\n window.addEventListener(\"scroll\", handleScroll);\r\n return () => {\r\n window.removeEventListener(\"scroll\", handleScroll);\r\n };\r\n }, []);\r\n\r\n return (\r\n <Container isScrolled={isScrolled}>\r\n <CloudIcon isScrolled={isScrolled} alt=\"\" src={isScrolled ? icondark : icon}/>\r\n <Links>\r\n <li onClick={goToHome} className={!isScrolled ? 'disabled' : ''} >Início</li>\r\n <li onClick={goToAbout}>Sobre</li>\r\n <li onClick={goToTecnologies}>Tecnologias</li>\r\n <li onClick={goToTheCode}>The Code</li>\r\n <li onClick={goToContact}>Contato</li>\r\n </Links>\r\n <MenuButton onClick={onClick}>\r\n <FaBars fontSize={24} color={ isScrolled ? \"#080B24\" : \"#fafafa\"}/>\r\n </MenuButton>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default Header;\r\n","import styled, { keyframes } from 'styled-components';\r\nimport background from '../../assets/images/fundo-teste-escuro.jpg';\r\n\r\nexport const Container = styled.div`\r\n background-image:url(${background});\r\n background-position: top;\r\n background-size: cover;\r\n max-width: 100vw;\r\n height: 100vh;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n scroll-snap-align: start;\r\n scroll-behavior: smooth;\r\n`;\r\n\r\nexport const Logo = styled.img`\r\n width: 90%;\r\n max-width:480px;\r\n`;\r\n\r\nexport const Description = styled.span`\r\n font-size: 28px;\r\n font-weight: 400;\r\n text-align: center;\r\n color: #edf2f7;\r\n margin-top: 25px;\r\n text-shadow: 0px 0px 4px rgba(0,0,0,0.8);\r\n`;\r\n\r\nconst arrowBouncing = keyframes`\r\n 0% {transform: translatey(0)};\r\n 50% {transform: translatey(0)}\r\n 60% {transform: translatey(20px);}\r\n 75% {transform: translatey(0px);}\r\n 86% {transform: translatey(5px);}\r\n 100% {transform: translatey(0px)}\r\n`\r\n\r\nexport const ArrowIcon = styled.button`\r\n width:48px;\r\n height:48px;\r\n animation: ${arrowBouncing} 2.5s linear infinite;\r\n animation-delay: 1.5s;\r\n position: absolute;\r\n bottom: 20px;\r\n opacity: 1;\r\n background: none;\r\n border:none;\r\n outline:none;\r\n cursor: pointer;\r\n`;\r\n","import React, {useRef, useState} from 'react';\r\nimport {FaAngleDown} from 'react-icons/fa';\r\n\r\nimport { ArrowIcon, Container, Description, Logo } from './styles';\r\nimport logo from '../../assets/images/cloudmed-logo.png';\r\nimport ContainerProps from '../../models/container';\r\n\r\nconst Home: React.FC<ContainerProps> = ({forwardRef}) => {\r\n\r\n function scrollDown(){\r\n window.scrollTo({\r\n top: 640,\r\n behavior: 'smooth'\r\n })\r\n }\r\n\r\n return (\r\n <Container ref={forwardRef}>\r\n <Logo alt=\"\" src={logo}/>\r\n <Description>\r\n Mais que soluções tecnologicas <br/>\r\n na área da saúde\r\n </Description>\r\n <ArrowIcon>\r\n <FaAngleDown color=\"#fff\" size=\"3em\" onClick={() => scrollDown()}/>\r\n </ArrowIcon>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default Home;\r\n","import styled from 'styled-components';\r\nimport background from '../../assets/images/fundoCamisa.jpg';\r\ninterface DetailsProps {\r\n show: boolean;\r\n}\r\n\r\nexport const Container = styled.div`\r\n background-image:url(${background});\r\n background-position: top;\r\n background-size: cover;\r\n max-width: 100vw;\r\n min-height: 100vh;\r\n padding-top: 150px;\r\n padding-bottom: 20px;\r\n scroll-snap-align: start;\r\n position: relative;\r\n`;\r\n\r\nexport const Content = styled.div`\r\ndisplay: flex;\r\nflex-direction: column;\r\nalign-items: center;\r\njustify-content: center;\r\n`;\r\n\r\nexport const Wrapper = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n width:100%;\r\n justify-content:center;\r\n align-items:center;\r\n`;\r\n\r\nexport const CardContent = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n flex-wrap: wrap;\r\n margin-top: 25px;\r\n width: 95%;\r\n justify-content: center;\r\n overflow-x: scroll;\r\n max-width: 1190px;\r\n word-wrap:break-word;\r\n\r\n& div + div {\r\n margin-left: 10px;\r\n}\r\n\r\n&::-webkit-scrollbar {\r\n height: 10px;\r\n\r\n @media(min-width: 1251px) {\r\n display: none;\r\n }\r\n }\r\n\r\n &::-webkit-scrollbar-track {\r\n background: rgba(255,255,255,0.2);\r\n border-radius: 4px;\r\n }\r\n\r\n &::-webkit-scrollbar-thumb {\r\n background: #e0e0e0;\r\n border-radius: 4px;\r\n }\r\n\r\n &::-webkit-scrollbar-thumb:hover {\r\n background: #F9B43A;\r\n }\r\n`;\r\n\r\nexport const Details = styled.div<DetailsProps>`\r\n width: 100%;\r\n padding: ${props => props.show ? '20px' : '0px'};\r\n position: absolute;\r\n bottom: 0;\r\n right: 0;\r\n left: 0;\r\n background-color: #fff;\r\n transition: 180ms ease-in-out;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n user-select: none;\r\n height: ${props => props.show ? 'auto' : '0px'};\r\n transition: 180ms ease-in-out;\r\n overflow: hidden;\r\n z-index: 1;\r\n box-shadow: 0px 0px 4px rgba(0,0,0,0.4);\r\n > div {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: flex-start;\r\n width: 90%;\r\n max-width: 1024px;\r\n\r\n @media(max-width: 768px){\r\n flex-direction: column;\r\n align-items: center;\r\n }\r\n h1 {\r\n font-size: 22px;\r\n color: #F9B434;\r\n margin-bottom: 10px;\r\n }\r\n }\r\n\r\n @media(max-width: 768px) {\r\n width: 98%;\r\n bottom: 5px;\r\n left: 50%;\r\n transform: translate(-50%, 0);\r\n border-radius: 4px;\r\n height: ${props => props.show ? 'calc(98% - 125px)' : '0px'};\r\n }\r\n`;\r\n\r\nexport const TextContainer = styled.div`\r\n margin-left: 20px;\r\n`;\r\n\r\nexport const ImageContainer = styled.div`\r\n min-width: 300px;\r\n max-width: 320px;\r\n height: 235px;\r\n background-color: #fff;\r\n border-radius: 8px;\r\n padding: 5px;\r\n\r\n > div {\r\n width: 100%;\r\n height: 100%;\r\n background-size: contain;\r\n background-repeat: no-repeat;\r\n border: none;\r\n outline: none;\r\n }\r\n`;\r\n\r\nexport const AboutSpan = styled.span`\r\n color:#212121;\r\n font-size: 17px;\r\n margin-left: 20px;\r\n`;\r\n\r\nexport const CloseButton = styled.button`\r\n border: none;\r\n background: #fff;\r\n outline: none;\r\n position: absolute;\r\n right: 20px;\r\n top: 20px;\r\n cursor: pointer;\r\n`;\r\n","import QrCode from '../../../assets/images/qrCode.jpg';\r\nimport Acreditamos from '../../../assets/images/acreditamos-gif.svg';\r\n\r\nexport const Thecode = [\r\n {\r\n id: 1,\r\n title: '<the code/>',\r\n text: 'Contribuímos com o crescimento das pessoas. Somos fãs de atitudes positivas. Cordialidade, Simpatia e Empatia, sempre. Talentos atraem talentos. Pensamos simples: menos é mais. Descartamos o uniforme mas amamos vestir a camisa do time. O sucesso de nosso cliente é nosso sucesso. Acreditamos no que construímos. Prezamos pelas famílias. Exaltamos o voluntariado, a doação de si em causa de outro.',\r\n image: `url(${QrCode})`\r\n },\r\n {\r\n id: 2,\r\n title: 'No que acreditamos',\r\n text: 'Acreditamos que as coisas podem ser feitas de formas diferentes e inovadoras, por isso estamos sempre inconformados com as mesmices impostas por regras que impedem o setor de crescer e se reinventar. Somos inconformados com processos que geram desperdícios e atrasam o avanço de nossa geração, bem como com o desrespeito às pessoas.',\r\n image: `url(${Acreditamos})`\r\n },\r\n];\r\n","import React, { useState } from 'react';\r\nimport {FaTimesCircle} from 'react-icons/fa';\r\n\r\nimport {\r\n AboutSpan,\r\n CardContent,\r\n CloseButton,\r\n Container,\r\n Content,\r\n Details,\r\n ImageContainer,\r\n TextContainer,\r\n Wrapper\r\n} from './styles';\r\nimport Card from '../../components/Card';\r\nimport PageDescription from '../../components/PageDescription';\r\nimport Title from '../../components/Title';\r\nimport {ObjectModel } from './utils/models/ObjectModel';\r\nimport { Thecode } from './utils/texts';\r\nimport ContainerProps from '../../models/container';\r\nimport Acreditamos from '../../assets/images/acreditamos-gif.svg'\r\nimport Team from '../../assets/images/team.svg'\r\nimport { textSpanIntersection } from 'typescript';\r\n\r\nconst TheCode: React.FC<ContainerProps> = ({forwardRef}) => {\r\n const defaultObject = {id: 0, title: '', text: '', image: ''};\r\n const [object, setObject] = useState<ObjectModel>(defaultObject)\r\n\r\n\r\n return (\r\n <Container ref={forwardRef}>\r\n <Content>\r\n <Title text=\"<THE CODE/>\"/>\r\n <PageDescription text=\"Aqui valorizamos o seu crescimento profissional e pessoal.\r\n Temos um código que traduz claramente nossa cultura.\"/>\r\n <Details show={object.text.length > 0}>\r\n <div>\r\n <ImageContainer>\r\n <div style={{backgroundImage: object.image}}/>\r\n </ImageContainer>\r\n <TextContainer>\r\n <h1>{object.title}</h1>\r\n <AboutSpan>\r\n {object.text}\r\n </AboutSpan>\r\n </TextContainer>\r\n </div>\r\n <CloseButton onClick={() => setObject(defaultObject)}>\r\n <FaTimesCircle color=\"#f9B43A\" fontSize=\"28\"/>\r\n </CloseButton>\r\n </Details>\r\n <CardContent>\r\n <Wrapper>\r\n <Card\r\n text=\"The Code\"\r\n img={Team}\r\n onPress={() => setObject(Thecode[0])}\r\n cardId={1}\r\n objectId={object.id}\r\n />\r\n <Card\r\n text=\"No que acreditamos\"\r\n img={Acreditamos}\r\n onPress={() => setObject(Thecode[1])}\r\n cardId={2}\r\n objectId={object.id}\r\n />\r\n </Wrapper>\r\n </CardContent>\r\n </Content>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default TheCode;\r\n","import styled from 'styled-components';\r\nimport background from '../../assets/images/fundo-tecnologias.jpg';\r\n\r\ninterface CardProps {\r\n active: boolean;\r\n idNumber: number;\r\n activeId: number;\r\n}\r\n\r\nexport const Container = styled.div`\r\n background-image:url(${background});\r\n background-position: top;\r\n background-size: cover;\r\n max-width: 100vw;\r\n min-height: 100vh;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: flex-start;\r\n padding-top: 150px;\r\n padding-bottom: 20px;\r\n text-align: center;\r\n scroll-snap-align: start;\r\n position: relative;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: flex-start;\r\n justify-content: center;\r\n width:95%;\r\n max-width: 1024px;\r\n margin: 25px 0px;\r\n\r\n @media(min-width: 769px){\r\n > div + div {\r\n margin-left: 20px;\r\n }\r\n }\r\n\r\n @media(max-width: 768px){\r\n flex-direction: column;\r\n align-items: center;\r\n }\r\n`;\r\n\r\nexport const Card = styled.div<CardProps>`\r\n user-select: none;\r\n border-radius: 20px;\r\n transition: 180ms ease-in;\r\n width: 240px;\r\n min-width: 200px;\r\n padding: 8px;\r\n background-image: linear-gradient(#ccc, #fff, #fff );\r\n max-height: ${props => props.active ? '460px' : '350px'};\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n color: #3F3D56;\r\n\r\n @media(max-width: 768px){\r\n width: 100%;\r\n margin-bottom: 20px;\r\n }\r\n\r\n > img {\r\n width: 100%;\r\n height: 150px;\r\n margin: 12px 0px;\r\n\r\n @media(max-width: 768px){\r\n height: 120px;\r\n }\r\n }\r\n\r\n > h2 {\r\n font-size: 20px;\r\n font-weight: normal;\r\n }\r\n\r\n > span {\r\n display: ${props => props.active ? 'block' : 'none'};\r\n font-size: 14px;\r\n font-weight: 400;\r\n margin-top: 16px;\r\n text-align: center;\r\n }\r\n\r\n > button {\r\n background: none;\r\n border: none;\r\n outline: none;\r\n margin-top: 16px;\r\n cursor: pointer;\r\n transition: 180ms ease-in;\r\n\r\n :hover {\r\n transform: scale(1.2);\r\n }\r\n }\r\n\r\n svg {\r\n transition: 280ms ease-in;\r\n color: #3F3D56;\r\n transform: ${props => props.active ? 'rotate(180deg)' : 'rotate(0deg)'};\r\n }\r\n`;\r\n","import React, { useState } from 'react';\r\nimport Title from '../../components/Title';\r\n\r\nimport { Card, Container, Content } from './styles';\r\n\r\nimport TudoImg from '../../assets/images/tudo-em.svg';\r\nimport FerramentasImg from '../../assets/images/ferramentas-de-ponta.svg';\r\nimport DesignImg from '../../assets/images/design-e-tudo.svg';\r\nimport PageDescription from '../../components/PageDescription';\r\nimport { FaAngleDown } from 'react-icons/fa';\r\nimport ContainerProps from '../../models/container';\r\n\r\nconst Tecnologies: React.FC<ContainerProps> = ({forwardRef}) => {\r\n const [idSelected, setIdSelected] = useState(0);\r\n\r\n const handleSelectId = (id: number) => {\r\n if (idSelected === id) {\r\n setIdSelected(0);\r\n } else {\r\n setIdSelected(id);\r\n }\r\n }\r\n return (\r\n <Container ref={forwardRef}>\r\n <Title text=\"NOSSAS TECNOLOGIAS\"/>\r\n <PageDescription text=\"Somos uma Health Tech há mais de 10 anos desenvolvendo\r\n soluções para o mercado de saúde no Brasil, com foco na melhoria de processos,\r\n beneficiando diretamente a vida das pessoas.\"\r\n />\r\n <Content>\r\n <Card idNumber={1}\r\n activeId={idSelected}\r\n active={idSelected === 1}\r\n >\r\n <img alt=\"\" src={TudoImg}/>\r\n <h2>Tudo em um só lugar</h2>\r\n <span>Primamos pela inovação e pensamentos simples, de modo\r\n que nossas ferramentas e\r\n plataformas são construídas para operar sobre estruturas em nuvem, com o aproveitamento dos\r\n melhores recursos, disponíveis\r\n pelas maiores empresas desses serviços no mundo.\r\n </span>\r\n <button type=\"button\" onClick={() => handleSelectId(1)}>\r\n <FaAngleDown size=\"2.5em\"/>\r\n </button>\r\n </Card>\r\n <Card idNumber={2}\r\n active={idSelected === 2}\r\n activeId={idSelected}\r\n >\r\n <img alt=\"\" src={FerramentasImg}/>\r\n <h2>Ferramentas de ponta</h2>\r\n <span>Nosso time de criação e desenvolvimento usam as mais modernas\r\n ferramentas e metodologias de desenvolvimento existentes, além disso,\r\n estão sempre antenados sobre as novidades que aparecem.\r\n </span>\r\n <button type=\"button\" onClick={() => handleSelectId(2)}>\r\n <FaAngleDown size=\"2.5em\" />\r\n </button>\r\n </Card>\r\n <Card idNumber={3}\r\n active={idSelected === 3}\r\n activeId={idSelected}\r\n >\r\n <img alt=\"\" src={DesignImg}/>\r\n <h2>Design é tudo</h2>\r\n <span>Apostamos nossas fichas que o segredo de uma solução bem\r\n elaborada começa pelo design e a encantadora experiência do usuário.\r\n Por aqui nos preocupamos com simplicidade da usabilidade sem perder\r\n a essência da qualidade do resultado.\r\n </span>\r\n <button type=\"button\" onClick={() => handleSelectId(3)}>\r\n <FaAngleDown size=\"2.5em\"/>\r\n </button>\r\n </Card>\r\n </Content>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default Tecnologies;\r\n","import styled, {createGlobalStyle} from 'styled-components';\r\n\r\nexport const GlobalStyles = createGlobalStyle`\r\n* {\r\n margin:0;\r\n padding:0;\r\n box-sizing: border-box;\r\n}\r\n*, input, button {\r\n font-family: 'Maven Pro', sans-serif;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n`;\r\n\r\nexport const Main = styled.main`\r\n height: 100vh;\r\n position: relative;\r\n\r\n &::-webkit-scrollbar {\r\n width: 8px;\r\n background: transparent;\r\n }\r\n\r\n &::-webkit-scrollbar-track {\r\n background: transparent;\r\n }\r\n\r\n &::-webkit-scrollbar-thumb {\r\n background: #424242;\r\n }\r\n\r\n &::-webkit-scrollbar-thumb:hover {\r\n background: #F9B43A;\r\n }\r\n`;\r\n","import React, { useRef, useState } from 'react';\r\n\r\nimport About from './Containers/About';\r\nimport Contact from './Containers/Contact';\r\nimport Drawer from './components/Drawer';\r\nimport Footer from './components/Footer';\r\nimport Header from './components/Header';\r\nimport Home from './Containers/Home';\r\nimport TheCode from './Containers/TheCode'\r\nimport Tecnologies from './Containers/Tecnologies';\r\nimport { GlobalStyles, Main } from './styles/GlobalStyles';\r\n\r\nfunction App() {\r\n const [showDrawer, handleDrawer] = useState(false);\r\n\r\n const refHome = useRef();\r\n const refAbout = useRef();\r\n const refTecnologies = useRef();\r\n const refTheCode = useRef();\r\n const refContact = useRef();\r\n\r\n const goTo = (ref: any) => {\r\n window.scrollTo({ top: ref.offsetTop, behavior: \"smooth\" });\r\n handleDrawer(false);\r\n }\r\n\r\n return (\r\n <Main>\r\n <GlobalStyles/>\r\n <Header\r\n onClick={() => handleDrawer(!showDrawer)}\r\n goToHome={() => {goTo(refHome.current)}}\r\n goToAbout={() => {goTo(refAbout.current)}}\r\n goToTecnologies={() => {goTo(refTecnologies.current)}}\r\n goToTheCode={() => {goTo(refTheCode.current)}}\r\n goToContact={() => {goTo(refContact.current)}}\r\n />\r\n <Drawer\r\n show={showDrawer}\r\n onClick={() => handleDrawer(!showDrawer)}\r\n goToHome={() => goTo(refHome.current)}\r\n goToAbout={() => goTo(refAbout.current)}\r\n goToTecnologies={() => goTo(refTecnologies.current)}\r\n goToTheCode={() => goTo(refTheCode.current)}\r\n goToContact={() => goTo(refContact.current)}\r\n />\r\n <Home forwardRef={refHome}/>\r\n <About forwardRef={refAbout}/>\r\n <Tecnologies forwardRef={refTecnologies}/>\r\n <TheCode forwardRef={refTheCode}/>\r\n <Contact forwardRef={refContact}/>\r\n <Footer />\r\n </Main>\r\n );\r\n}\r\n\r\nexport default App;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './App';\r\n\r\nReactDOM.render(\r\n <React.StrictMode>\r\n <App />\r\n </React.StrictMode>,\r\n document.getElementById('root') \r\n \r\n);\r\n"],"sourceRoot":""}