{"version":3,"sources":["webpack:///./src/components/atoms/IndicatorScroll/IndicatorScroll.style.ts","webpack:///./src/components/atoms/IndicatorScroll/IndicatorScroll.tsx","webpack:///./node_modules/ityped/src/index.js","webpack:///./src/styles/pages/home.style.ts","webpack:///./src/components/atoms/HomeTeamsImage/HomeTeamsImage.style.ts","webpack:///./src/components/atoms/HomeTeamsImage/HomeTeamsImage.tsx","webpack:///./src/components/atoms/TeamsList/TeamsList.style.ts","webpack:///./src/components/atoms/TeamsList/TeamsList.data.ts","webpack:///./src/components/atoms/TeamsList/TeamsList.tsx","webpack:///./src/components/molecules/HomeClients/HomeClients.style.ts","webpack:///./src/components/molecules/HomeClients/HomeClients.data.ts","webpack:///./src/components/molecules/HomeClients/HomeClients.tsx","webpack:///./src/components/molecules/HomeOffers/HomeOffers.style.ts","webpack:///./src/components/molecules/HomeOffers/HomeOffers.data.ts","webpack:///./src/components/molecules/HomeOffers/HomeOffers.tsx","webpack:///./src/pages/index.tsx","webpack:///./src/hooks/fetch-home-img.ts","webpack:///./src/components/atoms/PortfolioLogos/PortfolioLogos.style.ts","webpack:///./src/components/atoms/PortfolioLogos/PortfolioLogos.data.ts","webpack:///./src/components/atoms/PortfolioLogos/PortfolioLogos.tsx","webpack:///./src/assets/images/home/offers/homeCloud.png"],"names":["IndicatorScrollContainer","styled","div","theme","Fonts","redHat","black","isUp","breakpoints","sm","IndicatorScroll","text","direction","onClick","window","scrollTo","top","left","behavior","i18n","_","Icons","name","IconsName","ARROW_DOWN","ARROW_UP","init","element","properties","l","STRINGS_TO_ITERATE","props","strings","i","typewrite","loop","setTimeout","typeString","startDelay","str","index","strLen","length","intervalID","setInterval","placeholder","textContent","onStringTyped","typeSpeed","id","clearInterval","disableBackTyping","onFinished","eraseString","backDelay","substr","onStringErased","backSpeed","_ref","_ref$strings","_ref$typeSpeed","_ref$backSpeed","_ref$backDelay","_ref$startDelay","_ref$cursorChar","cursorChar","_ref$placeholder","_ref$showCursor","showCursor","_ref$disableBackTypin","_ref$onFinished","_ref$loop","setProps","document","querySelector","cursorSpan","createElement","classList","add","insertAdjacentElement","setCursor","HomeHeroContainer","section","HomeHeroTitle","PrimaryTitle","xl","lg","HomeHeroImage","motion","xs","HomeHeroCloud","lastImage","HomePortfolio","Row","HomePortfolioImage","md","HomeTeams","HomeRecruitment","TextRed","HomeRecruitmentImage","HomeContact","HomeContactImage","ImageContainer","ImageExtra","ImageExtra1","ImageExtra2","ImageExtra3","HomeTeamsImage","sources","className","data-rellax-speed","Image","fluid","teamsAvatar","alt","extra1","extra2","extra3","TeamsListContainer","ul","TeamsListItem","li","SecondaryTitle","dataTeams","icon","BUSINESS","langID","STRATEGY","EDIT","TERMINAL","CHART","TeamsList","map","item","key","as","HomeClientsSection","HomeClientsContainer","Container","HomeClientsButtons","ButtonRed","HomeClientsTitle","HomeClientsList","HomeClientsItem","HomeClientsCloud","HomeClientsClouds","homeClientsData","title","HomeClients","images","Link","to","href","target","fixed","cloud1","cloud2","cloud3","cloud4","HomeOffersContainer","HomeOffersList","HomeOffersItem","HomeOffersClouds","homeOffersData","HomeOffers","offersItem","useRef","clouds","useState","bottom","activeItem","setActiveItem","updateCloudsPos","current","cloudsElement","elementWidth","offsetWidth","cloudsWidth","offsetLeft","handleHover","e","innerWidth","currentTarget","useEffect","loadEvent","addEventListener","removeEventListener","onMouseEnter","ref","animate","transition","duration","ease","src","HomeCloud","IndexPage","isDark","setDarkMode","headerRef","homeBlack","typingRef","locale","useLocalization","useStaticQuery","home","clientsCloud1","clientsCloud2","clientsCloud3","clientsCloud4","hero","teams","getFluidImage","clients","getFixedImage","fetchHomeImg","handleHeaderColor","headerHeight","clientHeight","homeBlackHeight","homeBlackTop","offsetTop","pageYOffset","Layout","description","Header","darkMode","homeHeroCloud1","homeHero","homeHeroCloud2","isReverse","PortfolioLogos","isHome","avatar","ListSocials","homeContact","dangerouslySetInnerHTML","__html","sanitize","handAvatar","Footer","PortfolioLogosItem","PortfolioLogosList","homeLogo","source","portfolioLogo","dataLogos","module","exports"],"mappings":"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","file":"component---src-pages-index-tsx-6a8ded0cb6c5dadb81c9.js","sourcesContent":["import styled from 'styled-components'\n\nexport const IndicatorScrollContainer = styled.div<{ isUp: boolean }>`\n font-size: 14px;\n font-family: ${({ theme }) => theme.Fonts.redHat.black};\n position: absolute;\n left: 0;\n bottom: ${({ isUp }) => (isUp ? 'unset' : '55px')};\n top: ${({ isUp }) => (isUp ? '0' : 'unset')};\n cursor: ${({ isUp }) => (isUp ? 'pointer' : 'default')};\n text-align: left;\n display: flex;\n flex-direction: ${({ isUp }) => (isUp ? 'column-reverse' : 'column')};\n p {\n transform: ${({ isUp }) =>\n isUp\n ? 'rotate(-90deg) translate(-65px, -2px)'\n : 'rotate(-90deg) translateY(-2px)'};\n transform-origin: left top;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n display: none;\n }\n`\n","import React, { FunctionComponent } from 'react'\nimport { I18n } from '@lingui/react'\nimport { IndicatorScrollContainer } from './IndicatorScroll.style'\nimport { IconsName } from 'assets/svg/Icons.enum'\n\nimport Icons from 'components/atoms/Icons/Icons'\n\ninterface Props {\n text: string\n direction?: 'bottom' | 'up'\n}\n\nconst IndicatorScroll: FunctionComponent = ({\n text,\n direction = 'bottom',\n}) => {\n const goToTop = () => {\n if (direction === 'up') {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth',\n })\n }\n }\n\n return (\n \n

\n {direction === 'up' ? (\n {({ i18n }) => i18n._('indicator.top')}\n ) : (\n text\n )}\n

\n \n
\n )\n}\n\nexport default IndicatorScroll\n","/**\n * @name setProps\n * @description Set the ityped properties configuration\n * @param {Object} config The configuration properties\n * @return {Promise}\n */\nvar setProps = function setProps(_ref) {\n var _ref$strings = _ref.strings,\n strings = _ref$strings === void 0 ? ['Put your strings here...', 'and Enjoy!'] : _ref$strings,\n _ref$typeSpeed = _ref.typeSpeed,\n typeSpeed = _ref$typeSpeed === void 0 ? 100 : _ref$typeSpeed,\n _ref$backSpeed = _ref.backSpeed,\n backSpeed = _ref$backSpeed === void 0 ? 50 : _ref$backSpeed,\n _ref$backDelay = _ref.backDelay,\n backDelay = _ref$backDelay === void 0 ? 500 : _ref$backDelay,\n _ref$startDelay = _ref.startDelay,\n startDelay = _ref$startDelay === void 0 ? 500 : _ref$startDelay,\n _ref$cursorChar = _ref.cursorChar,\n cursorChar = _ref$cursorChar === void 0 ? '|' : _ref$cursorChar,\n _ref$placeholder = _ref.placeholder,\n placeholder = _ref$placeholder === void 0 ? false : _ref$placeholder,\n _ref$showCursor = _ref.showCursor,\n showCursor = _ref$showCursor === void 0 ? true : _ref$showCursor,\n _ref$disableBackTypin = _ref.disableBackTyping,\n disableBackTyping = _ref$disableBackTypin === void 0 ? false : _ref$disableBackTypin,\n _ref$onFinished = _ref.onFinished,\n onFinished = _ref$onFinished === void 0 ? function () {} : _ref$onFinished,\n _ref$loop = _ref.loop,\n loop = _ref$loop === void 0 ? true : _ref$loop;\n return {\n strings: strings,\n typeSpeed: typeSpeed,\n backSpeed: backSpeed,\n cursorChar: cursorChar,\n backDelay: backDelay,\n placeholder: placeholder,\n startDelay: startDelay,\n showCursor: showCursor,\n loop: loop,\n disableBackTyping: disableBackTyping,\n onFinished: onFinished\n };\n};\n\nexport var init = function init(element, properties) {\n var i = 0,\n l,\n STRINGS_TO_ITERATE;\n\n var typewrite = function typewrite(strings, props) {\n if (i === l) if (props.loop) i = 0;\n setTimeout(function () {\n typeString(strings[i], props);\n }, props.startDelay);\n };\n\n var typeString = function typeString(str, props) {\n var index = 0,\n strLen = str.length;\n var intervalID = setInterval(function () {\n props.placeholder ? element.placeholder += str[index] : element.textContent += str[index];\n if (++index === strLen) return onStringTyped(intervalID, props);\n }, props.typeSpeed);\n };\n\n var onStringTyped = function onStringTyped(id, props) {\n clearInterval(id);\n\n if (props.disableBackTyping && i === l - 1) {\n return props.onFinished();\n }\n\n if (!props.loop && i === l - 1) {\n return props.onFinished();\n }\n\n setTimeout(function () {\n return eraseString(props);\n }, props.backDelay);\n };\n\n var eraseString = function eraseString(props) {\n var str = props.placeholder ? element.placeholder : element.textContent,\n strLen = str.length;\n var intervalID = setInterval(function () {\n props.placeholder ? element.placeholder = element.placeholder.substr(0, --strLen) : element.textContent = str.substr(0, --strLen);\n if (strLen === 0) return onStringErased(intervalID, props);\n }, props.backSpeed);\n };\n\n var onStringErased = function onStringErased(id, props) {\n clearInterval(id);\n ++i;\n typewrite(STRINGS_TO_ITERATE, props);\n };\n\n var setCursor = function setCursor(element, props) {\n var cursorSpan = document.createElement('span');\n cursorSpan.classList.add('ityped-cursor');\n cursorSpan.textContent = '|';\n cursorSpan.textContent = props.cursorChar;\n element.insertAdjacentElement('afterend', cursorSpan);\n };\n\n var startTyping = function startTyping(prop) {\n var props = setProps(prop || {});\n var strings = props.strings;\n STRINGS_TO_ITERATE = strings;\n l = strings.length;\n if (typeof element === \"string\") element = document.querySelector(element);\n if (props.showCursor) setCursor(element, props);\n typewrite(strings, props);\n };\n\n return startTyping(properties);\n};","import styled from 'styled-components'\nimport { motion } from 'framer-motion'\nimport { PrimaryTitle, Row, TextRed } from 'styles/Global'\n\nexport const HomeHeroContainer = styled.section`\n position: relative;\n min-height: calc(100vh - 95px);\n display: flex;\n align-items: center;\n margin-top: 95px;\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n flex-direction: column;\n align-items: flex-start;\n }\n`\n\nexport const HomeHeroTitle = styled(PrimaryTitle)`\n margin-bottom: 6rem;\n max-width: 592px;\n @media (min-width: ${({ theme }) => theme.breakpoints.xl}px) {\n max-width: 50%;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.lg}px) {\n max-width: 50%;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n padding-top: 6rem;\n max-width: 80%;\n margin-bottom: 0;\n }\n`\n\nexport const HomeHeroImage = styled(motion.div)`\n max-width: 40%;\n display: block;\n margin: 0 auto;\n width: 100%;\n position: relative;\n @media (min-width: ${({ theme }) => theme.breakpoints.xl}px) {\n max-width: 30%;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.lg}px) {\n max-width: 50%;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n max-width: 80%;\n margin-top: 2rem;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.xs}px) {\n max-width: 100%;\n }\n`\n\nexport const HomeHeroCloud = styled.div<{ lastImage?: boolean }>`\n position: absolute;\n width: 90px;\n height: 90px;\n top: ${({ lastImage }) => (lastImage ? 'unset' : 0)};\n left: ${({ lastImage }) => (lastImage ? 'unset' : '30px')};\n bottom: ${({ lastImage }) => (lastImage ? '-50px' : 'unset')};\n right: ${({ lastImage }) => (lastImage ? '-20px' : 'unset')};\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n width: 70px;\n height: 70px;\n top: ${({ lastImage }) => (lastImage ? 'unset' : 0)};\n left: ${({ lastImage }) => (lastImage ? 'unset' : '50px')};\n bottom: ${({ lastImage }) => (lastImage ? '-50px' : 'unset')};\n right: ${({ lastImage }) => (lastImage ? 0 : 'unset')};\n }\n`\n\nexport const HomePortfolio = styled(Row)``\n\nexport const HomePortfolioImage = styled.div`\n max-width: 80%;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n margin: 0 auto;\n max-width: 50%;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.xs}px) {\n max-width: 100%;\n }\n`\n\nexport const HomeTeams = styled(Row)``\n\nexport const HomeRecruitment = styled(Row)`\n margin-left: 7rem;\n padding: 4rem 0 4.5rem;\n position: relative;\n ${PrimaryTitle} {\n margin-bottom: 1rem;\n margin-right: 7rem;\n }\n ${TextRed} {\n p {\n display: inline-block;\n }\n margin-bottom: 2.5rem;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n margin-left: 5rem;\n padding-top: 5rem;\n ${PrimaryTitle} {\n margin-right: 5rem;\n }\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n margin-left: 3rem;\n padding-bottom: 2.5rem;\n ${PrimaryTitle} {\n margin-right: 3rem;\n }\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.xs}px) {\n margin-left: 1.5rem;\n ${PrimaryTitle} {\n margin-right: 1.5rem;\n }\n }\n`\n\nexport const HomeRecruitmentImage = styled(motion.div)`\n transform: scaleX(-1);\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n margin-top: 2.5rem;\n }\n`\n\nexport const HomeContact = styled(Row)`\n padding: 0 0 7.75rem;\n ul {\n justify-content: flex-end;\n margin-top: 2rem;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n padding-top: 6rem;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.xs}px) {\n padding-bottom: 1rem;\n }\n`\n\nexport const HomeContactImage = styled.div``\n","import styled from 'styled-components'\n\nexport const ImageContainer = styled.div`\n width: 60%;\n margin: 0 200px 0 auto;\n position: relative;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n max-width: 50%;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n margin-right: 100px;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.xs}px) {\n max-width: 100%;\n }\n`\n\nexport const ImageExtra = styled.div`\n position: absolute;\n right: -150px;\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n right: -80px;\n }\n`\n\nexport const ImageExtra1 = styled(ImageExtra)`\n top: 0;\n width: 100px;\n height: 50px;\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n width: 50px;\n }\n`\n\nexport const ImageExtra2 = styled(ImageExtra)`\n top: 200px;\n width: 50px;\n height: 50px;\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n top: 100px;\n width: 30px;\n height: 30px;\n }\n`\n\nexport const ImageExtra3 = styled(ImageExtra)`\n top: 100px;\n right: -100px;\n width: 50px;\n height: 50px;\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n right: -50px;\n top: 50px;\n width: 30px;\n height: 30px;\n }\n`\n","import React, { FunctionComponent } from 'react'\nimport Image from 'components/Image'\nimport {\n ImageContainer,\n ImageExtra1,\n ImageExtra2,\n ImageExtra3,\n} from './HomeTeamsImage.style'\nimport { ImageQueryModel } from 'models/imageQuery.model'\n\ninterface Props {\n sources: ImageQueryModel\n}\n\nconst HomeTeamsImage: FunctionComponent = ({ sources }) => {\n return (\n \n
\n \n
\n \n {sources.extra1.alt}\n \n \n {sources.extra1.alt}\n \n \n {sources.extra1.alt}\n \n
\n )\n}\n\nexport default HomeTeamsImage\n","import styled from 'styled-components'\nimport { SecondaryTitle } from 'styles/Global'\n\nexport const TeamsListContainer = styled.ul`\n margin-top: 3.5rem;\n`\n\nexport const TeamsListItem = styled.li`\n display: flex;\n align-items: center;\n &:not(:last-child) {\n margin-bottom: 1.5rem;\n }\n ${SecondaryTitle} {\n margin-left: 1.5rem;\n }\n`\n","import { IconsName } from 'assets/svg/Icons.enum'\nimport { t } from '@lingui/macro'\n\nexport const dataTeams = [\n {\n text: 'Business Product',\n icon: IconsName.BUSINESS,\n langID: t`home.teams.item.1`,\n },\n {\n text: 'Stratégie et Finance',\n icon: IconsName.STRATEGY,\n langID: t`home.teams.item.2`,\n },\n {\n text: 'Design UX',\n icon: IconsName.EDIT,\n langID: t`home.teams.item.3`,\n },\n {\n text: 'Tech et IOT',\n icon: IconsName.TERMINAL,\n langID: t`home.teams.item.4`,\n },\n {\n text: 'Marketing et Sales',\n icon: IconsName.CHART,\n langID: t`home.teams.item.5`,\n },\n]\n","import React, { FunctionComponent } from 'react'\nimport { Trans } from '@lingui/macro'\nimport { TeamsListContainer, TeamsListItem } from './TeamsList.style'\nimport { SecondaryTitle } from 'styles/Global'\nimport { dataTeams } from './TeamsList.data'\nimport Icons from 'components/atoms/Icons/Icons'\n\ninterface Props {}\n\nconst TeamsList: FunctionComponent = () => {\n return (\n \n {dataTeams.map((item, i) => (\n \n \n \n \n \n \n ))}\n \n )\n}\n\nexport default TeamsList\n","import styled from 'styled-components'\nimport { motion } from 'framer-motion'\nimport { ButtonRed, Container, PrimaryTitle, SecondaryTitle } from \"styles/Global\"\n\nexport const HomeClientsSection = styled.section`\n text-align: center;\n padding: 11rem 0 66px;\n position: relative;\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n padding: 6rem 0;\n }\n`\n\nexport const HomeClientsContainer = styled(Container)`\n position: relative;\n`\n\nexport const HomeClientsButtons = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n z-index: 1;\n ${ButtonRed}:first-child {\n margin-right: 1.5rem;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.lg}px) {\n ${ButtonRed} {\n font-size: 1rem;\n }\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n flex-direction: column;\n ${ButtonRed}:first-child {\n margin-bottom: 1.5rem;\n margin-right: 0;\n }\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n ${ButtonRed} {\n font-size: 14px;\n }\n }\n`;\n\nexport const HomeClientsTitle = styled(PrimaryTitle)`\n max-width: 592px;\n margin: 0 auto 2.5rem;\n position: relative;\n z-index: 1;\n`\n\nexport const HomeClientsList = styled.ul`\n display: flex;\n align-items: flex-start;\n justify-content: center;\n margin-top: 4rem;\n position: relative;\n z-index: 1;\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n margin-top: 3rem;\n flex-direction: column;\n align-items: center;\n }\n`\n\nexport const HomeClientsItem = styled.li`\n max-width: 280px;\n &:not(:last-child) {\n margin-right: 6rem;\n }\n ${SecondaryTitle} {\n margin-bottom: 10px;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n max-width: 33%;\n &:not(:last-child) {\n margin-right: 2rem;\n }\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n max-width: 100%;\n &:not(:last-child) {\n margin: 0 0 2.5rem;\n }\n }\n`\n\nexport const HomeClientsCloud = styled(motion.li)<{ ref?: any }>`\n position: absolute;\n`\n\nexport const HomeClientsClouds = styled.ul`\n ${HomeClientsCloud} {\n &:first-child {\n top: 35px;\n left: 80px;\n }\n &:nth-child(2) {\n top: 160px;\n right: 90px;\n }\n &:nth-child(3) {\n top: 80px;\n right: 220px;\n }\n &:last-child {\n top: -100px;\n left: 250px;\n }\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.lg}px) {\n ${HomeClientsCloud} {\n &:first-child {\n top: 80px;\n left: 0;\n }\n &:nth-child(2) {\n right: -50px;\n }\n &:nth-child(3) {\n right: 80px;\n }\n }\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n display: none;\n }\n`\n","import { HomeClientsModel } from 'models/home/homeClients.model'\nimport { t } from '@lingui/macro'\n\nexport const homeClientsData: HomeClientsModel[] = [\n {\n title: 'Out-start',\n text:\n 'Nous transformons et digitalisons vos problémaqtiques d’entreprise en vous accompagnant dans la création de startups à succès.',\n langID: t`home.clients.text.1`,\n },\n {\n title: 'Co-start',\n text: `Nous associons notre savoir-faire à des entreprises et entrepreneurs pour co-créer et co-développer des startups de rupture sur leur marché.`,\n langID: t`home.clients.text.2`,\n },\n {\n title: 'In-start',\n text:\n 'Notre équipe à l’esprit entrepreneurial analyse en permanence les marchés pour vous proposer et créer les startups de demain.',\n langID: t`home.clients.text.3`,\n },\n]\n","import React, { FunctionComponent } from 'react'\nimport { Trans } from '@lingui/macro'\n// @ts-ignore\nimport { LocalizedLink as Link } from 'gatsby-theme-i18n'\nimport { ImageQueryModel } from 'models/imageQuery.model'\nimport { ButtonRed, MainText, SecondaryTitle } from 'styles/Global'\nimport {\n HomeClientsButtons,\n HomeClientsCloud,\n HomeClientsClouds,\n HomeClientsContainer,\n HomeClientsItem,\n HomeClientsList,\n HomeClientsSection,\n HomeClientsTitle,\n} from './HomeClients.style'\nimport { homeClientsData } from './HomeClients.data'\nimport Image from 'components/Image'\n\ninterface Props {\n images: ImageQueryModel\n}\n\nconst HomeClients: FunctionComponent = ({ images }) => {\n return (\n \n \n \n \n Vous êtes entrepreneur, grand compte ou investisseur ?\n \n \n \n \n \n Co-créons la startup de demain\n \n \n \n \n Consultez notre conseil sur les produits\n \n \n \n \n {homeClientsData.map((item, i) => (\n \n {item.title}\n \n \n \n \n ))}\n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n \n \n \n
\n
\n
\n )\n}\n\nexport default HomeClients\n","import styled from 'styled-components'\nimport { motion } from 'framer-motion'\n\nexport const HomeOffersContainer = styled.section`\n padding: 6rem 0;\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n text-align: center;\n }\n`\n\nexport const HomeOffersList = styled.ul`\n margin-top: 4rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n position: relative;\n @media (max-width: ${({ theme }) => theme.breakpoints.lg}px) {\n flex-wrap: wrap;\n align-items: flex-start;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n flex-direction: column;\n }\n`\n\nexport const HomeOffersItem = styled.li`\n max-width: calc(25% - 2rem);\n text-align: center;\n z-index: 1;\n width: 100%;\n position: relative;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n max-width: calc(50% - 2rem);\n &:nth-child(-n + 2) {\n margin-bottom: 3rem;\n }\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n max-width: 100%;\n margin-bottom: 2.5rem;\n &:nth-child(-n + 2) {\n margin-bottom: 2.5rem;\n }\n }\n`\n\nexport const HomeOffersClouds = styled(motion.div)`\n position: absolute;\n bottom: -20px;\n left: 2.5rem;\n display: flex;\n align-items: flex-start;\n img {\n display: inline-block;\n &:first-child {\n width: auto;\n height: 20px;\n }\n &:last-child {\n width: auto;\n height: 90px;\n }\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.lg}px) {\n left: 20px;\n bottom: 0;\n img:last-child {\n width: 60%;\n height: auto;\n }\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n top: -20px;\n right: 0;\n img:last-child {\n max-width: 100px;\n }\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n top: -10px;\n right: 50px;\n img {\n &:first-child {\n height: 15px;\n margin-right: 1rem;\n }\n &:last-child {\n width: 60px;\n }\n }\n }\n`\n","import { HomeOffersModel } from 'models/home/homeOffers.model'\nimport { t } from '@lingui/macro'\n\nexport const homeOffersData: HomeOffersModel[] = [\n {\n id: 0,\n text: 'Lancez votre startup rapidement.',\n langID: t`home.offers.text.1`,\n },\n {\n id: 1,\n text: 'Couplez intelligemment tech et business.',\n langID: t`home.offers.text.2`,\n },\n {\n id: 2,\n text: 'Maîtrisez le risque d’échec.',\n langID: t`home.offers.text.3`,\n },\n {\n id: 3,\n text: 'Profitez d’une expertise produit.',\n langID: t`home.offers.text.4`,\n },\n]\n","import React, {\n FunctionComponent,\n MouseEvent,\n Ref,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport { Trans } from '@lingui/macro'\nimport {\n HomeOffersClouds,\n HomeOffersContainer,\n HomeOffersItem,\n HomeOffersList,\n} from './HomeOffers.style'\nimport { homeOffersData } from './HomeOffers.data'\nimport { MainText, SecondaryTitle } from 'styles/Global'\nimport HomeCloud from 'assets/images/home/offers/homeCloud.png'\n\ninterface Props {}\n\nconst HomeOffers: FunctionComponent = () => {\n const offersItem: Ref = useRef(null)\n const clouds: Ref = useRef(null)\n const [windowWidth, setWindowWidth] = useState(0)\n const [activeItem, setActiveItem] = useState<{\n left?: number | string\n bottom?: number | string\n }>({\n left: 0,\n bottom: -20,\n })\n\n const updateCloudsPos = (target?: HTMLElement) => {\n const element = target ? target : offersItem.current\n const cloudsElement = clouds && clouds.current ? clouds.current : null\n\n if (element && cloudsElement) {\n const elementWidth = element.offsetWidth ?? 0\n const cloudsWidth = cloudsElement.offsetWidth ?? 150\n\n setActiveItem({\n left: elementWidth / 2 - cloudsWidth / 2 + element.offsetLeft,\n bottom: -20,\n })\n }\n }\n\n const handleHover = (e: MouseEvent) => {\n window.innerWidth >= 1024 && updateCloudsPos(e.currentTarget)\n }\n\n useEffect(() => {\n const loadEvent = () => {\n // setWindowWidth(window.innerWidth)\n window.innerWidth >= 1024 && updateCloudsPos()\n }\n\n window.addEventListener('load', loadEvent)\n return () => window.removeEventListener('load', loadEvent)\n }, [])\n\n return (\n \n \n Pourquoi travailler avec nous ?\n \n \n {homeOffersData.map((item, i) => (\n \n \n \n \n \n ))}\n \n \"Cloud\n \"Cloud\n \n \n \n )\n}\n\nexport default HomeOffers\n","import React, {\n FunctionComponent,\n Ref,\n useEffect,\n useRef,\n useState,\n} from 'react'\n// @ts-ignore\nimport { LocalizedLink as Link } from 'gatsby-theme-i18n'\nimport { init } from 'ityped'\nimport { I18n } from '@lingui/react'\nimport { t, Trans } from '@lingui/macro'\nimport sanitize from 'sanitize-html'\n// @ts-ignore\nimport { useLocalization } from 'gatsby-theme-i18n'\nimport {\n HomeContact,\n HomeContactImage,\n HomeHeroContainer,\n HomeHeroTitle,\n HomeHeroImage,\n HomePortfolio,\n HomePortfolioImage,\n HomeRecruitment,\n HomeRecruitmentImage,\n HomeTeams,\n HomeHeroCloud,\n} from 'styles/pages/home.style'\nimport {\n BackgroundBlack,\n ButtonBlack,\n ButtonRed,\n Col2,\n Container,\n PrimaryTitle,\n TextRed,\n} from 'styles/Global'\nimport { fetchHomeImg } from 'hooks/fetch-home-img'\n\nimport Layout from 'components/Layout'\nimport SEO from 'components/Seo'\nimport Image from 'components/Image'\nimport IndicatorScroll from 'components/atoms/IndicatorScroll/IndicatorScroll'\nimport HomeTeamsImage from 'components/atoms/HomeTeamsImage/HomeTeamsImage'\nimport PortfolioLogos from 'components/atoms/PortfolioLogos/PortfolioLogos'\nimport ListSocials from 'components/atoms/ListSocials/ListSocials'\nimport TeamsList from 'components/atoms/TeamsList/TeamsList'\nimport Footer from 'components/molecules/Footer/Footer'\nimport HomeClients from 'components/molecules/HomeClients/HomeClients'\nimport HomeOffers from 'components/molecules/HomeOffers/HomeOffers'\nimport Header from 'components/organisms/Header/Header'\n\ninterface Props {}\n\nconst IndexPage: FunctionComponent = () => {\n const [isDark, setDarkMode] = useState(true)\n const headerRef: Ref = useRef(null)\n const homeBlack: Ref = useRef(null)\n const typingRef: Ref = useRef(null)\n const { locale } = useLocalization()\n const { hero, home, clients, teams } = fetchHomeImg()\n\n const handleHeaderColor = () => {\n const headerHeight = headerRef.current?.clientHeight ?? 0\n const homeBlackHeight = homeBlack.current?.clientHeight ?? 0\n const homeBlackTop = homeBlack.current?.offsetTop ?? 0\n\n if (window.pageYOffset + headerHeight >= homeBlackHeight + homeBlackTop) {\n setDarkMode(false)\n } else {\n setDarkMode(true)\n }\n }\n\n const typingEffect = () => {\n const element = typingRef.current || ''\n const text =\n locale === 'fr'\n ? 'Votre job de rêves est peut-être ici...'\n : 'Your dream job may be here...'\n\n init(element, {\n showCursor: true,\n strings: [text],\n typeSpeed: 100,\n startDelay: 1000,\n backDelay: 6000,\n })\n }\n\n useEffect(() => {\n window.addEventListener('scroll', handleHeaderColor)\n typingEffect()\n\n return () => window.removeEventListener('scroll', handleHeaderColor)\n }, [])\n\n return (\n \n \n {({ i18n }) => (\n \n )}\n \n
\n \n \n \n \n \n Transformez vos problématiques d’entreprise\n en startups à succès.\n \n \n \n \n
\n \n
\n
\n
\n {hero.homeHero.alt}\n
\n \n
\n \n
\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n Redfabriq crée des startups innovantes et sophistiquées.\n \n \n \n Découvrez nos succès\n \n \n \n \n \n {home.avatar.alt}\n \n \n \n \n
\n \n \n \n \n \n Nous couvrons toute la chaîne de création d’une startup\n \n \n {/*Rencontrez nos talents*/}\n \n \n \n \n \n \n \n \n \n \n Vous souhaitez nous parler de votre projet ?\n \n \n \n Prenons un café\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {({ i18n }) => (\n \n )}\n \n \n

\n \n \n Rejoignez-nous\n \n \n \n \n {home.handAvatar.alt}\n \n \n \n