{"version":3,"sources":["shared-components/variables/ColorVariables.js","shared-components/variables/ShapeVariables.js","shared-components/variables/SpaceVariables.js","modules/questions/companyStore.js","shared-components/grid/Sidebar/Sidebar.js","shared-components/elements/Icon/Icon.js","shared-components/elements/Timeline/TimelineStatus.js","shared-components/elements/Timeline/TimelineOption.js","shared-components/elements/Timeline/Timeline.js","modules/questions/questionnaireHelper.js","shared-components/elements/Txt/Txt.js","shared-components/elements/Btn/setup/setupBtn.js","shared-components/elements/Btn/BtnLink.js","modules/questions/CompanyContactInfo.js","modules/questions/QuestionnaireSidebar.js","shared-components/grid/TopBar/TopBar.js","shared-components/grid/MainContent/MainContent.js","shared-components/elements/Btn/Btn.js","modules/questions/QuestionnaireWelcome.js","shared-components/elements/Txt/Question.js","shared-components/form/form-control/setup-form-control/setup-form-control.js","shared-components/form/form-control/Radio.js","shared-components/form/form-control/Checkbox.js","shared-components/form/FormGroup.js","modules/questions/QuestionnaireContent.js","shared-components/elements/Card/Card.js","shared-components/Charts/ProgressBar.js","shared-components/Charts/RoadMap.js","modules/questions/QuestionnaireResult.js","shared-components/form/form-control/Input.js","shared-components/form/form-control/Textarea.js","modules/questions/QuestionnaireContactDetails.js","shared-components/grid/Footer/Footer.js","modules/questions/QuestionnaireFooter.js","modules/questions/Questionnaire.js","modules/questions/useQuestionsHelper.js","modules/questions/QuestionnairePage.js","modules/questions/questionsStore.js","modules/tenants/tenantsStore.js","DefaultQuestionnaireRedirect.js","App.js","assets/OpenSans/OpenSans-Bold.ttf","assets/OpenSans/OpenSans-SemiBold.ttf","assets/OpenSans/OpenSans-Regular.ttf","shared-components/font/FontStyles.js","index.js"],"names":["ColorVariables","ShapeVariables","SpaceVariables","useCompany","token","useState","loading","questionAnswers","company","res","setRes","useEffect","axios","get","params","then","response","data","loadCompany","convertPrefill","questionsAnswers","_","map","qa","swQuestionId","answers","a","swAnswerId","SidebarWrapper","styled","div","SidebarBottom","Sidebar","logo","children","src","alt","style","maxWidth","maxHeight","Bottom","Icon","span","type","iconSetup","TimeLineStatusWrapper","status","TimeLineStatus","TimelineOptionWrapper","conditionalStyle","navigate","TimeLineTxt","TimelineOption","onClick","TimelineWrapper","Timeline","Option","QuestionsHelper","allQuestions","givenAnswers","currentQuestion","this","first","activeQuestions","tagsForAnswers","flatMap","answerIds","questionId","question","find","filter","includes","currentTags","activeQuestionsForTags","tagIds","mandatoryTags","tags","condition","forbiddenTags","every","t","active","indexOf","length","currentIx","newCurrentQuestion","setQuestion","setNavigatables","x","forEach","q","canNavigateTo","order","canNext","questionIsAnswered","keys","parseInt","Title","h1","SubTitle","Description","Alert","mainButtonSetup","lineHeight","fontSize","padding","borderRadius","display","margin","defaulButtonColor","color","buttonType","round","ghost","link","reverse","BtnLink","CompanyContactWrapper","ContactInfo","CompanyInfoTitle","CompanyContactInfo","tenant","parse","isNull","contactDetails","contactEmail","href","QuestionnaireSidebar","questions","questionnaireState","goToResults","questionStatus","editing","complete","showContactDetailsOption","showResultsOption","idx","title","TopbarWrapper","TopbarTitle","Topbar","MainContentWrapper","MainContent","Btn","button","bold","QuestionnaireWelcome","onStart","dangerouslySetInnerHTML","__html","welcomePageText","name","Question","formControlCheckSelect","formCheckSelection","RadioWrapper","Radio","id","value","checked","onChange","htmlFor","CheckboxWrapper","Checkbox","FormGroupWrapper","FormGroup","label","QuestionnaireContent","currentQuestionNumber","setAnswers","multipleChoice","change","ev","target","union","without","description","answer","text","CardWrapper","CardTitle","Card","ProgressBarContainer","ProgressBar","max","Css","css","RoadMapChart","html","ResultPageText","resultPageText","QuestionnaireResult","companyToken","results","setResults","resultsSaved","setResultsSaved","post","catch","alert","Wrapper","roadmapHtml","roadmapCss","matchingSubsidies","subsidy","InfoContainer","SubsidyWrapper","matchPercentage","InfoDescription","informationUrl","rel","swSubsidyId","InputContainer","InputErrorTxt","InputWrapper","validationError","Input","placeholder","as","useField","meta","touched","undefined","error","TextareaContainer","TextareaErrorTxt","TextareaWrapper","Textarea","rows","showResults","validationSchema","Yup","shape","firstName","required","lastName","emailAddress","email","phoneNumber","companyName","onSubmit","values","initialValues","swTenantId","additionalQuestions","isSubmitting","FormWrapper","disabled","ExternalLinkWrapper","ExternalLink","FooterWrapper","Footer","QuestionnaireFooter","canBack","back","next","showContactDetails","Questionnaire","prefilledAnswers","wrappedHelper","helper","setAnswer","currentAnswers","done","UseQuestionsHelper","questionsHelper","setQuestionsHelper","state","setState","ContactContainer","QuestionnairePage","accessGuid","useParams","useSearchParams","setQuestions","useQuestions","setTenant","useTenant","DefaultQuestionnaireRedirect","defaultTenant","useDefaultTenant","to","SassVars","App","className","exact","path","element","FontStyles","createGlobalStyle","OpenSansBold","OpenSansSemiBold","OpenSansRegular","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.25b76f9a.chunk.js","sourcesContent":[" const ColorVariables = () => `\n --primary: #000;\n --caution: #EBBF55;\n --warning: #D3E736;\n --blank: #FFF;\n --border-gray: #EFEFEF;\n --card-border-gray: #C4C4C4;\n --form-broder: #D1D1D1;\n --txt-gray: #939AAA;\n --danger: #EB5555;\n\n --txt-chart: #8793B1;\n --alpha: #007bff;\n --delta: #28a745;\n`;\n\n\nexport default ColorVariables;","const ShapeVariables = () => `\n\n // -- TXT --\n // ---------\n --txt-xsm: 12px;\n --txt-sm: 14px;\n --txt-rl: 16px;\n --txt-md: 18px;\n --txt-lg: 20px;\n --txt-xl: 24px;\n --txt-xxl: 28px;\n\n // -- Grid --\n // ----------\n --sidebar-width: 300px;\n --footer-height: 120px;\n --sidebar-padding: var(--space-xxl) var(--space-lg);\n\n @media only screen and (max-width: 1040px) {\n --main-content-left-padding: calc(var(--sidebar-width) + var(--space-xl));\n --main-content-right-padding: var(--space-xl);\n }\n \n --main-content-left-padding: calc(var(--sidebar-width) + var(--space-xxxl));\n --main-content-right-padding: var(--space-xxxl);\n\n --main-content-padding: var(--space-xxl) var(--main-content-right-padding) var(--space-sm) var(--main-content-left-padding);\n --topbar-padding: var(--space-rl) var(--main-content-right-padding) var(--space-rl) var(--main-content-left-padding);\n --footer-padding: var(--space-md) var(--main-content-right-padding) var(--space-md) var(--main-content-left-padding);\n\n\n // -- TimeLine --\n //---------------\n --timeline-option-margin: var(--space-md);\n @media only screen and (min-width: 700px) {\n --timeline-option-margin: var(--space-xxl);\n }\n\n \n --timeline-status-size: 20px;\n @media only screen and (min-width: 700px) {\n --timeline-status-size: 24px;\n }\n\n\n\n // -- Form Control --\n // ------------------\n --checkbox-size: 16px;\n @media only screen and (min-width: 700px) {\n --checkbox-size: 20px;\n }\n`;\n\n\nexport default ShapeVariables;","const SpaceVariables = () => `\n --space-xsm: 4px;\n --space-sm: 8px;\n --space-rl: 12px;\n --space-md: 20px;\n --space-lg: 28px;\n --space-xl: 36px;\n --space-xxl: 44px;\n --space-xxxl: 120px;\n`;\n\nexport default SpaceVariables;","import {useState, useEffect} from 'react';\nimport _ from 'lodash';\nimport axios from 'axios';\n\nfunction loadCompany(token) {\n return axios.get(`/api/subsidiewijzer/companies`, {\n params: { token }})\n .then(response => response.data);\n}\n\nexport function useCompany(token) {\n var [ res, setRes ] = useState({\n loading: true,\n questionAnswers: null,\n company: null,\n });\n\n useEffect(() => {\n loadCompany(token).then(res => {\n setRes({\n loading: false,\n questionAnswers: convertPrefill(res.questionsAnswers),\n company: res.company,\n });\n });\n }, [token]);\n\n if(!token) return {\n loading: false,\n questionAnswers: null\n };\n\n return res;\n} \n\n// translate the server response for the prefilled questions, into the format we use in the frontend\nexport function convertPrefill(questionAnswers) {\n if(questionAnswers == null) return {};\n\n var res = {};\n _.map(questionAnswers, qa => {\n res[qa.swQuestionId] = _.map(qa.answers, a => a.swAnswerId);\n });\n return res;\n}\n","import styled from \"styled-components\";\nimport _ from 'lodash';\n\nconst SidebarWrapper = styled.div`\n box-sizing: border-box;\n background: var(--primary);\n color: var(--blank);\n padding: var(--sidebar-padding);\n overflow: auto;\n img{\n margin-bottom: 28px;\n }\n @media only screen and (min-width: 700px) {\n height: 100vh;\n position: fixed;\n top: 0;\n left: 0;\n width: var(--sidebar-width);\n padding-bottom: 340px;\n }\n @media only screen and (max-width: 700px) {\n position: sticky;\n top: 0;\n z-index: 100;\n }\n`;\n\nconst SidebarBottom = styled.div`\n background: var(--primary);\n @media only screen and (min-width: 700px) {\n padding: var(--sidebar-padding);\n position: fixed;\n width: var(--sidebar-width);\n left: 0;\n bottom: 0;\n margin-top: 12px;\n }\n margin-top: 40px;\n\n @media only screen and (max-width: 700px) {\n display: none;\n }\n`;\n\nconst Sidebar = ({logo, children}) =>(\n \n \"Bedrijfslogo\"\n {children}\n \n);\n\nexport default Sidebar;\nexport {SidebarWrapper, SidebarBottom};\nSidebar.Bottom = SidebarBottom;","import styled from 'styled-components';\nconst iconSetup = (type) => {\n if (!type) return 'width: 16px; ';\n\n return `\n width: var(--icon-size-${type}); \n `;\n};\n\nconst Icon = styled.span`\n --icon-size-sm: 12px;\n --icon-size-md: 20px;\n --icon-size-lg: 32px;\n --icon-size-xl: 44px;\n svg {\n ${({type}) => iconSetup(type)};\n }\n`;\n\nexport default Icon;\n","import styled from \"styled-components\";\nimport Icon from \"../Icon/Icon\";\n\nconst TimeLineStatusWrapper = styled.div`\n width: var(--timeline-status-size);\n height: var(--timeline-status-size);\n border-radius: 50%;\n position: relative;\n margin-right: var(--space-sm);\n flex-shrink: 0;\n ${Icon}{\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n svg{\n padding-bottom: 4px;\n }\n }\n \n @media only screen and (max-width: 700px) {\n margin-right: calc(var(--timeline-option-margin) - 2px);\n ${Icon} svg{\n width: 12px;\n padding-bottom: 2px;\n }\n }\n ${({status}) => {\n if (status === 'edit') {\n return `\n background: none;\n border: 1px solid var(--blank);\n `;\n } else if (status === 'complete') {\n return `\n background: var(--warning);\n border: 1px solid var(--warning);\n color: var(--primary);\n `;\n } else if (status === 'edit-complete') {\n return `\n background: var(--warning);\n border: 1px solid var(--warning);\n color: var(--primary);\n `;\n } else {\n return `\n background: none;\n border: 1px solid var(--blank);\n opacity: 0.6;\n `;\n }\n }}\n`;\nconst TimeLineStatus = ({children, status}) =>( \n \n \n {children}\n \n \n);\n\nexport default TimeLineStatus;\nexport {TimeLineStatusWrapper};\n\n","import styled from \"styled-components\";\nimport {Check, Edit} from '@styled-icons/material';\nimport TimeLineStatus from \"./TimelineStatus\";\n\n\nconst TimelineOptionWrapper = styled.div`\n display: flex;\n align-items: center;\n position: relative;\n font-weight: 100;\n &:not(:last-of-type){\n margin-bottom: var(--timeline-option-margin);\n @media only screen and (max-width: 700px) {\n margin-bottom: 0;\n }\n }\n &:not(:last-of-type){\n &::before{\n content: '';\n display: block;\n background: none;\n border: 1px dashed white;\n position: absolute;\n @media only screen and (max-width: 700px) {\n left: var(--timeline-status-size);\n height: 0px;\n width: calc(var(--timeline-option-margin) - 2px);\n }\n @media only screen and (min-width: 700px) {\n left: calc((var(--timeline-status-size) / 2));\n bottom: calc(0px - var(--timeline-option-margin));\n width: 0px;\n height: calc(var(--timeline-option-margin) - 2px);\n }\n }\n }\n \n font-size: var(--txt-sm);\n \n ${({status, navigate}) => {\n var conditionalStyle = ``;\n\n if (status === 'edit') {\n conditionalStyle += `\n color: var(--blank);\n `;\n } else if (status === 'complete') {\n conditionalStyle += `\n color: var(--warning);\\\n &::before{\n border: 1px solid var(--warning)!important;\n }\n `;\n } else if (status === 'edit-complete') {\n conditionalStyle += `\n color: var(--warning);\\\n &::before{\n border: 1px solid var(--warning)!important;\n }\n `;\n } else {\n conditionalStyle += `\n opacity: 0.6;\n `;\n }\n\n if (navigate)\n conditionalStyle += `\n cursor: pointer;\n transition: 0.6s;\n &:hover{\n opacity: 0.6;\n }\n `;\n\n return conditionalStyle;\n }}\n`;\n\nconst TimeLineTxt = styled.div`\n @media only screen and (max-width: 700px) {\n display: none;\n }\n`;\n\nconst TimelineOption = ({children, status, navigate, onClick}) => (\n \n \n {status==='complete' && }\n {status==='edit' && }\n {status==='edit-complete' && }\n \n {children}\n \n);\n\n\nexport default TimelineOption;\nexport {TimelineOptionWrapper};\n\n","import styled from \"styled-components\";\nimport TimelineOption from \"./TimelineOption\";\n\nconst TimelineWrapper = styled.div`\n margin-bottom: var(--space-rl);\n @media only screen and (max-width: 700px) {\n display: flex;\n align-items: baseline;\n margin-bottom: 0;\n }\n`;\n\n\nconst Timeline = ({children}) => (\n \n {children}\n \n);\n\n\nexport default Timeline;\nexport {TimelineWrapper};\nTimeline.Option = TimelineOption;\n\n\n\n","import _ from 'lodash';\n\nclass QuestionsHelper {\n constructor(allQuestions, givenAnswers, currentQuestion) {\n this.allQuestions = allQuestions;\n this.givenAnswers = givenAnswers || {};\n\n this.currentQuestion = currentQuestion || _.first(this.activeQuestions);\n }\n\n get currentTags() {\n return this.tagsForAnswers(this.givenAnswers);\n }\n\n tagsForAnswers(answers) {\n return _.flatMap(answers, (answerIds, questionId) => {\n const question = _.find(this.allQuestions, {swQuestionId: +questionId});\n if(!question) return [];\n\n const answers = _.filter(question.answers, a => _.includes(answerIds, a.swAnswerId));\n\n return _.flatMap(answers, 'tags');\n });\n }\n\n get activeQuestions() {\n var currentTags = _.map(this.currentTags, 'swTagId'); \n return this.activeQuestionsForTags(currentTags);\n }\n\n activeQuestionsForTags(tagIds) {\n return _.filter(this.allQuestions, question => {\n const mandatoryTags = _.map(\n _.filter(question.tags, {condition: 0}),\n 'swTagId'\n );\n\n const forbiddenTags = _.map(\n _.filter(question.tags, {condition: 1}),\n 'swTagId'\n );\n\n return _.every(mandatoryTags, t => _.includes(tagIds, t))\n && _.every(forbiddenTags, t => !_.includes(tagIds, t)); \n });\n }\n\n // returs whether you can click the next button, given the currently selected answers\n get canNext() {\n const active = this.activeQuestions;\n const currentIx = _.indexOf(active, this.currentQuestion);\n \n return currentIx < active.length - 1;\n }\n\n get currentQuestionNumber() {\n const currentIx = _.indexOf(this.activeQuestions, this.currentQuestion);\n return currentIx + 1;\n }\n\n next() {\n const active = this.activeQuestions;\n const currentIx = _.indexOf(active, this.currentQuestion);\n \n if(currentIx === active.length - 1) return this;\n\n var newCurrentQuestion = active[currentIx + 1];\n\n this.setQuestion(newCurrentQuestion.swQuestionId);\n this.setNavigatables();\n }\n\n get canBack() {\n const currentIx = _.indexOf(this.activeQuestions, this.currentQuestion);\n\n return currentIx !== 0;\n }\n\n back() {\n const active = this.activeQuestions;\n const currentIx = _.indexOf(active, this.currentQuestion);\n\n if(currentIx === 0) return this;\n\n var newCurrentQuestion = active[currentIx - 1];\n\n this.setQuestion(newCurrentQuestion.swQuestionId);\n }\n\n setQuestion(swQuestionId) {\n if (!swQuestionId){\n this.currentQuestion = null;\n return;\n }\n\n var question = _.find(this.activeQuestions, x => x.swQuestionId === swQuestionId);\n if (!question)\n return;\n\n this.currentQuestion = question;\n }\n\n setAnswer(answers) {\n this.givenAnswers[this.currentQuestion.swQuestionId] = answers;\n this.setNavigatables();\n }\n\n setNavigatables() {\n _.forEach(this.allQuestions, q => {\n q.canNavigateTo = this.activeQuestions.includes(q) && q.order <= this.currentQuestion.order\n });\n }\n\n get currentAnswers() {\n return _.get(this.givenAnswers, this.currentQuestion?.swQuestionId, []);\n }\n\n get done() {\n return !this.canNext && _.every(this.activeQuestions, q => questionIsAnswered(q, this.givenAnswers))\n }\n}\n\nexport default QuestionsHelper;\n\nexport function questionIsAnswered(question, givenAnswers) {\n var answeredQuestionIds = _.map(_.keys(givenAnswers), x => parseInt(x));\n return answeredQuestionIds.includes(question.swQuestionId) && _.get(givenAnswers, question.swQuestionId, []).length >= 1;\n}\n","import styled from \"styled-components\";\nconst Title = styled.h1`\n margin: 0;\n color: var(--primary);\n font-weight: 900;\n @media only screen and (min-width: 700px) {\n font-size: var(--txt-xxl);\n margin-bottom: var(--space-md);\n }\n font-size: var(--txt-rl);\n margin-bottom: -8px;\n`;\nconst SubTitle = styled.h1`\n margin: 0;\n margin-bottom: var(--space-md);\n color: var(--primary);\n font-weight: 900;\n @media only screen and (min-width: 700px) {\n font-size: var(--txt-lg);\n }\n font-size: var(--txt-rl);\n`;\nconst Description = styled.div`\n margin: 0;\n margin-bottom: var(--space-rl);\n color: var(--txt-gray);\n font-weight: 100;\n @media only screen and (min-width: 700px) {\n font-size: var(--txt-rl);\n }\n font-size: var(--txt-sm);\n`;\nconst Alert = styled.div`\n padding: 10px;\n color: var(--warning);\n border: 1px solid var(--warning);\n @media only screen and (min-width: 700px) {\n margin-bottom: var(--space-rl);\n }\n font-size: var(--txt-sm);\n`;\n\nexport {Title, SubTitle, Description, Alert};\n","const mainButtonSetup = ({lineHeight, fontSize, padding, borderRadius, display, margin}) => `\n line-height: ${lineHeight || '1.6'};\n font-size: ${fontSize || '14px'};\n padding: ${padding || '4px 12px'};\n border-radius: ${borderRadius || '2px'};\n display: ${display || 'inline-block'};\n margin: ${margin || '0px'};\n font-weight: 100;\n text-decoration: none;\n cursor: pointer;\n &:hover{\n transition: .6s;\n }\n &:disabled,\n &[disabled]{\n opacity: 0.7;\n cursor: not-allowed!important;\n }\n`;\nconst defaultBtnSetup = () => `\n &:hover{\n opacity: 0.7;\n }\n &:focus{\n opacity: 0.5;\n }\n\n &:disabled,\n &[disabled]{\n opacity: 0.2;\n }\n`;\n\nconst defaulButtonColor = ({color}) => `\n background: ${color || 'gray'};;\n border: 1px solid ${color || 'gray'};\n color: white;\n`;\n\nconst buttonType = (color, round, ghost, link, reverse) => {\n // ---- Ghost buttons ----\n if (ghost)\n return `\n \n `; \n \n else if (color === 'warning') return `\n ${defaulButtonColor({color: `var(--${color})`})};\n color: var(--primary);\n font-weight: 600;\n ${defaultBtnSetup()};\n \n `;\n else\n return`\n ${defaulButtonColor({color: `var(--${color})`})};\n ${defaultBtnSetup()}; \n `;\n \n};\nexport {mainButtonSetup, defaulButtonColor, buttonType};","import styled from 'styled-components';\n\nimport {mainButtonSetup, buttonType} from './setup/setupBtn';\n\nexport const BtnLink = styled.a`\n ${mainButtonSetup};\n ${({color}) => buttonType(color)};\n `;","import styled from \"styled-components\";\nimport {SubTitle} from '../../shared-components/elements/Txt/Txt';\nimport {BtnLink} from '../../shared-components/elements/Btn/BtnLink';\nimport parse from 'html-react-parser';\nimport _ from 'lodash';\n\nconst CompanyContactWrapper = styled.div`\n ${BtnLink} {\n @media only screen and (min-width: 700px) {\n padding: 12px 20px;\n font-size: 16px;\n color: var(--primary);\n font-weight: 600;\n }\n }\n`;\n\nconst ContactInfo = styled.div`\n@media only screen and (min-width: 700px) {\n font-size: 15px;\n margin-bottom: var(--space-md);\n}\n font-size: 14px;\n margin-bottom: var(--space-sm);\n color: var(--warning);\n`;\n\nconst CompanyInfoTitle = styled(SubTitle)`\n color: white;\n margin-bottom: 6px;\n`;\n\nexport const CompanyContactInfo = ({tenant}) => (\n \n \n
{parse(_.isNull(tenant.contactDetails) ? '' : tenant.contactDetails)}
\n
\n {tenant.contactEmail && <>\n Meer informatie?\n Stuur een email\n }\n
\n);","import React from 'react';\nimport Sidebar from '../../shared-components/grid/Sidebar/Sidebar';\nimport Timeline from '../../shared-components/elements/Timeline/Timeline';\nimport _ from 'lodash';\nimport {questionIsAnswered} from './questionnaireHelper.js';\nimport { CompanyContactInfo } from './CompanyContactInfo';\n\nexport default function QuestionnaireSidebar({questions, givenAnswers, currentQuestion, setQuestion, tenant, questionnaireState, goToResults}) {\n const questionStatus = (question) => {\n var editing = _.get(question, 'order') === _.get(currentQuestion, 'order');\n var complete = questionIsAnswered(question, givenAnswers);\n if (editing && complete)\n return 'edit-complete';\n if (editing)\n return 'edit';\n if (complete)\n return 'complete';\n return '';\n };\n\n const showContactDetailsOption = ['contact-details', 'done'].includes(questionnaireState);\n\n const showResultsOption = questionnaireState === 'done';\n\n return (\n \n \n {questions.map((question, idx) => (\n {\n if (question.canNavigateTo)\n setQuestion(question.swQuestionId)\n }}\n >\n {idx+1}. {question.title}\n \n ))}\n\n {showContactDetailsOption &&\n \n Contactgegevens\n \n }\n\n {showResultsOption &&\n \n Resultaten\n \n }\n \n \n \n \n \n );\n}\n\n","import styled from \"styled-components\";\n\nconst TopbarWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n border: none;\n background: var(--blank);\n @media only screen and (min-width: 700px) {\n border-bottom: 1px solid #DDE2ED;\n padding: var(--topbar-padding);\n }\n padding: 12px var(--space-lg) 0;\n`;\n\nconst TopbarTitle = styled.div `\n display: flex;\n align-items: center;\n h1{\n @media only screen and (min-width: 700px) {\n font-size: var(--txt-xl);\n }\n @media only screen and (max-width: 700px) {\n font-weight: 900;\n font-size: var(--txt-rl);\n }\n }\n`;\n\nconst Topbar = () => (\n \n \n

Subsidiewijzer

\n
\n
\n)\n\nexport default Topbar;\nexport {TopbarWrapper};","import styled from \"styled-components\";\nimport Topbar from '../TopBar/TopBar';\n\nconst MainContentWrapper = styled.div`\n background: #F3F4F8;\n box-sizing: border-box;\n \n @media only screen and (min-width: 700px) {\n padding: var(--main-content-padding);\n }\n padding: var(--space-sm) var(--space-lg) var(--space-lg);\n`;\n\nconst MainContent = ({children}) =>(\n <>\n \n \n {children}\n \n \n);\n\nexport default MainContent;\nexport {MainContentWrapper};\n\n","import styled from 'styled-components';\n\nimport {mainButtonSetup, buttonType} from './setup/setupBtn';\n\nconst Btn = styled.button`\n ${mainButtonSetup};\n ${({color}) => buttonType(color)};\n\n ${({bold}) => {\n\n if (!bold) return ``;\n else return `\n font-weight: 600;\n `;\n }}\n `;\nexport default Btn;\n","import React from 'react';\nimport MainContent from '../../shared-components/grid/MainContent/MainContent';\nimport {Title, Description, Alert} from '../../shared-components/elements/Txt/Txt';\nimport Btn from '../../shared-components/elements/Btn/Btn';\n\nexport default function QuestionnaireWelcome({tenant, company, onStart}) {\n return (\n \n Welkom in de subsidiewijzer!\n
\n\n {company && Deze vragenlijst is vooraf ingevuld voor {company.name}}\n \n Beginnen\n
\n );\n}\n","import styled from \"styled-components\";\n\nconst Question = styled.h1`\n margin: 0;\n margin-bottom: var(--space-rl);\n color: var(--primary);\n font-weight: 400;\n @media only screen and (min-width: 700px) {\n font-size: var(--txt-xl);\n margin-top: 0;\n }\n font-size: var(--txt-rl);\n margin-top: 8px;\n`;\nconst Subsidy = styled.h1`\n margin: 0;\n margin-bottom: var(--space-rl);\n color: var(--primary);\n font-weight: 400;\n @media only screen and (min-width: 700px) {\n font-size: var(--txt-xl);\n }\n font-size: var(--txt-rl);\n`;\n\nexport {Question, Subsidy};","import Icon from \"../../../elements/Icon/Icon\";\nconst formControlCheckSelect = ({borderRadius}) => `\n display: flex;\n align-items:center;\n margin-bottom: var(--space-sm);\n input{\n display: none;\n }\n label{\n position: relative;\n vertical-align: middle;\n padding-top: 2px;\n cursor: pointer;\n color: var(--txt-gray);\n font-weight: 100;\n font-size: 14px;\n &:hover{\n color: var(--primary);\n }\n \n &::before{\n content: '';\n display: inline-block;\n width: var(--checkbox-size);\n height: var(--checkbox-size);\n vertical-align: middle; \n margin-right: var(--space-sm);\n border: 1px solid var(--primary);\n background: none; \n border-radius: ${borderRadius || '2px'};\n margin-top: -2px;\n }\n ${Icon}{\n display: none;\n position: absolute;\n color: white;\n top: 0;\n left:0;\n }\n }\n\n\n @media only screen and (min-width: 700px) {\n label{\n font-size: 16px;\n ${Icon}{\n left:2px;\n }\n }\n }\n \n\n`;\n\nconst formCheckSelection = () => `\n input[type=\"checkbox\"]:checked+label,\n input[type=\"radio\"]:checked+label{\n &::before{\n border: 1px solid var(--primary);\n background: var(--primary); \n }\n ${Icon}{\n display: block;\n }\n color: var(--primary);\n &:hover{\n opacity: 0.8;\n }\n }\n`;\n\nexport {formControlCheckSelect, formCheckSelection};","import styled from \"styled-components\";\nimport {formControlCheckSelect, formCheckSelection} from \"./setup-form-control/setup-form-control.js\";\nimport Icon from \"../../elements/Icon/Icon.js\";\nimport { Check } from \"@styled-icons/material\";\n\nconst RadioWrapper = styled.div`\n ${formControlCheckSelect({\n borderRadius: '50%',\n })};\n ${formCheckSelection};\n`;\n\nconst Radio = ({children, id, value, name, checked, onChange}) => (\n \n \n \n \n);\n\nexport default Radio;\nexport {RadioWrapper};\n\n","import styled from \"styled-components\";\nimport {formControlCheckSelect, formCheckSelection} from \"./setup-form-control/setup-form-control.js\";\nimport Icon from \"../../elements/Icon/Icon.js\";\nimport { Check } from \"@styled-icons/material\";\n\nconst CheckboxWrapper = styled.div`\n ${formControlCheckSelect({})};\n ${formCheckSelection};\n`;\n\nconst Checkbox = ({children, id, value, name, checked, onChange}) => (\n \n \n \n \n);\n\nexport default Checkbox;\nexport {CheckboxWrapper};\n\n","import styled from \"styled-components\";\n\nconst FormGroupWrapper = styled.div`\n margin-bottom: var(--space-xl);\n >label{\n margin-bottom: var(--space-sm);\n display: inline-block;\n color: var(--txt-gray);\n font-weight: 700;\n }\n`;\n\nconst FormGroup = ({children, label}) => (\n \n {label && }\n {children}\n \n);\n\nexport default FormGroup;\nexport {FormGroupWrapper};","import React from 'react';\nimport MainContent from '../../shared-components/grid/MainContent/MainContent';\nimport { Title, Description} from '../../shared-components/elements/Txt/Txt';\nimport { Question } from '../../shared-components/elements/Txt/Question';\nimport Radio from '../../shared-components/form/form-control/Radio';\nimport Checkbox from '../../shared-components/form/form-control/Checkbox';\nimport FormGroup from '../../shared-components/form/FormGroup';\nimport parse from 'html-react-parser';\nimport _ from 'lodash';\n\nexport default function QuestionnaireContent({currentQuestion, currentQuestionNumber, answers, setAnswers}) {\n const multipleChoice = currentQuestion.multipleChoice;\n\n const change = (ev) => {\n if(multipleChoice) {\n if(ev.target.checked) setAnswers(_.union(answers, [+ev.target.value]));\n if(!ev.target.checked) setAnswers(_.without(answers, +ev.target.value));\n } else {\n setAnswers([+ev.target.value]);\n }\n }\n\n return (\n \n {currentQuestionNumber}. {currentQuestion.title}\n {currentQuestion.question}\n {parse(_.isNull(currentQuestion.description) ? '' : currentQuestion.description)}\n\n {multipleChoice ? (\n \n {currentQuestion.answers.map(answer => (\n \n {answer.text}\n \n ))}\n \n ) : (\n \n {currentQuestion.answers.map(answer => (\n \n {answer.text}\n \n ))}\n \n )}\n \n );\n}\n\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { SubTitle } from \"../Txt/Txt\";\n\nconst CardWrapper = styled.div`\n border: 1px solid #DDE2ED;\n background: white;\n border-radius: 4px;\n @media only screen and (min-width: 700px) {\n padding: 28px 28px 36px;\n margin: 20px 0;\n }\n padding: 16px;\n margin: 10px 0;\n`;\n\nconst CardTitle = styled(SubTitle)``;\n\nconst Card = ({children}) => (\n \n {children}\n \n);\n\nexport default Card;\nexport {CardWrapper, CardTitle};\nCard.Title = CardTitle;","import React from \"react\";\nimport styled from \"styled-components\";\n\nconst ProgressBarContainer = styled.div`\n --progress-border: var(--primary);\n --progress-bg: none;\n --progress-bar: var(--primary);\n\n progress{\n margin-top: 4px;\n }\n progress[value] {\n /* Reset the default appearance */\n -webkit-appearance: none;\n appearance: none;\n width: 250px;\n height: 20px;\n -webkit-box-shadow: inset 0 0 0px 9999px var(--progress-bg);\n border-radius: 4px;\n border: 2px solid var(--progress-border);\n padding : 2px;\n width: 100%;\n height: 24px;\n }\n progress[value]::-webkit-progress-bar {\n background-color: var(--progress-bg);\n border-radius: 4px;\n }\n progress[value]::-moz-progress-bar {\n background-color: var(--progress-bar);\n border-radius: 4px;\n }\n \n progress[value]::-webkit-progress-value {\n background-color: var(--progress-bar);\n border-radius: 4px;\n background-size: 35px 20px, 100% 100%, 100% 100%; \n }\n`;\n\nconst ProgressBar = ({value}) => (\n \n \n \n);\n\nexport default ProgressBar;\nexport {ProgressBarContainer};","import React from \"react\";\nimport styled from 'styled-components';\nimport { SubTitle } from \"../elements/Txt/Txt\";\n\nconst Css = styled.div`${({css}) => css}`;\n\nconst RoadMapChart = ({html, css}) => \n \n Gepersonaliseerde Subsidie Roadmap\n
\n

\n \n\nexport default RoadMapChart;\n","import React, {useState, useEffect} from 'react';\nimport styled from 'styled-components';\nimport MainContent from '../../shared-components/grid/MainContent/MainContent';\nimport {Title, Description} from '../../shared-components/elements/Txt/Txt';\nimport Btn from '../../shared-components/elements/Btn/Btn';\nimport { Question} from '../../shared-components/elements/Txt/Question';\n\nimport Card, {CardWrapper} from '../../shared-components/elements/Card/Card';\nimport axios from 'axios';\nimport parse from 'html-react-parser';\n\nimport ProgressBar from '../../shared-components/Charts/ProgressBar';\nimport Roadmap from '../../shared-components/Charts/RoadMap';\nimport { BtnLink } from '../../shared-components/elements/Btn/BtnLink';\n\nfunction ResultPageText({tenant}) {\n if(tenant.resultPageText) {\n return
\n } else {\n return Hieronder staan de resultaten van de ingevulde Subsidiewijzer. De resultaten geven een indicatie van de relevante subsidies en de tijdslijn waarop deze zich bevinden. Uiteraard is het herkennen van subsidies belangrijk, maar het verzilveren ervan daar gaat het om. Leap helpt hier graag bij!;\n }\n}\n\nexport default function QuestionnaireResult({givenAnswers, tenant, company, companyToken}) {\n const [results, setResults] = useState(null);\n const [resultsSaved, setResultsSaved] = useState(false);\n\n function reload() {\n axios.post(`/api/subsidiewijzer/sw-results/results`, { questionAnswers: givenAnswers })\n .then(response => setResults(response.data))\n .catch(() => alert('Er ging iets mis'));\n }\n\n useEffect(reload, [setResults, givenAnswers]);\n\n const saveResults = () => {\n axios.post(`/api/subsidiewijzer/companies/save`, { questionAnswers: givenAnswers }, { params: {token: companyToken} })\n .then(response => setResultsSaved(true))\n .catch(() => alert('Er ging iets mis'));\n };\n\n\n return (\n \n Resultaten\n \n\n {results ? (\n \n \n \n \n\n \n {results.matchingSubsidies.map(subsidy => (\n \n \n {subsidy.name}:\n {subsidy.matchPercentage}% \n \n \n {parse(subsidy.description)}\n {subsidy.informationUrl && Voor meer informatie klik hier}\n \n ))}\n \n\n {companyToken && saveResults()}>Resultaten opslaan voor {company.name}}\n \n ) : (\n laden...\n )}\n\n { companyToken && resultsSaved && De gegevens zijn opgeslagen }\n \n );\n\n}\n\nconst InfoContainer = styled.div`\n margin-bottom: 48px;\n &:last-of-type {\n margin-bottom: 0!important;\n }\n`;\nconst InfoDescription = styled (Description)`\n p {\n margin-top: 6px;\n }\n`;\nconst Wrapper = styled.div`\n ${CardWrapper} {\n margin-bottom: 60px;\n .subsidy-legend{\n display: flex;\n }\n .legend-title{\n align-items: top;\n }\n }\n`;\nconst SubsidyWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n ${Question}{\n margin: 0;\n }\n h1{\n margin-bottom: 2px;\n }\n`;\n\nexport {SubsidyWrapper};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport {Field, ErrorMessage, useField} from 'formik';\nimport FormGroup, {FormGroupWrapper} from \"../FormGroup\";\n\nconst InputContainer = styled.div`\n width: 100%;\n border: 1px solid var(--form-broder);\n border-radius: 4px;\n input{ \n background: none;\n border: none;\n height: 100%;\n width: 100%;\n \n @media only screen and (min-width: 700px) {\n padding: 8px 8px;\n font-size: 18px;\n }\n padding: 6px 12px;\n font-size: 14px;\n font-family: 'OpenSans';\n &::placeholder{\n color: var(--txt-gray);\n font-size: 16px;\n font-weight: 100;\n font-family: 'OpenSans';\n }\n &:focus{\n outline: none;\n &::placeholder{\n color: var(--primary);\n }\n }\n }\n`;\nconst InputErrorTxt = styled.div`\n color: var(--danger);\n font-size: 14px;\n`;\nconst InputWrapper = styled.div`\n ${FormGroupWrapper}{\n margin-bottom: 14px!important;\n }\n ${({validationError}) => {\n if (!validationError) return ``;\n else return `\n ${InputContainer} {\n border-color: var(--danger);\n background: #fff2f2;\n input { \n &::placeholder {\n color: var(--danger);\n }\n }\n }\n `;\n }}\n`;\n\nconst Input = ({name, placeholder, as}) => {\n const [,meta,] = useField(name);\n\n return \n \n \n \n \n \n \n \n \n \n};\n\nexport default Input;\nexport {InputContainer, InputErrorTxt, InputWrapper};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport {Field, ErrorMessage} from 'formik';\nimport FormGroup, {FormGroupWrapper} from \"../FormGroup\";\n\nconst TextareaContainer = styled.div`\n width: 100%;\n border: 1px solid var(--form-broder);\n border-radius: 4px;\n Textarea{ \n background: none;\n border: none;\n width: 100%;\n @media only screen and (min-width: 700px) {\n padding: 8px 8px;\n font-size: 18px;\n }\n padding: 6px 12px;\n font-size: 14px;\n resize: none;\n font-family: 'OpenSans';\n font-weight: 300;\n &::placeholder{\n color: var(--txt-gray);\n font-size: 16px;\n font-weight: 100;\n font-family: 'OpenSans';\n }\n &:focus{\n outline: none;\n &::placeholder{\n color: var(--primary);\n }\n }\n }\n`;\nconst TextareaErrorTxt = styled.div`\n color: var(--danger);\n`;\nconst TextareaWrapper = styled.div`\n ${FormGroupWrapper}{\n margin-bottom: 14px!important;\n }\n`;\n\nconst Textarea = ({name, rows, placeholder}) =>(\n \n \n \n \n \n \n \n \n \n \n);\n\nexport default Textarea;\nexport {TextareaContainer, TextareaErrorTxt, TextareaWrapper};\n","import React, {useEffect} from 'react';\nimport styled from 'styled-components';\nimport {OpenInNew} from \"@styled-icons/material\";\nimport axios from 'axios';\nimport {Formik, Form} from 'formik';\nimport * as Yup from 'yup';\n\nimport MainContent from '../../shared-components/grid/MainContent/MainContent';\n\nimport Btn from '../../shared-components/elements/Btn/Btn';\nimport {BtnLink} from '../../shared-components/elements/Btn/BtnLink';\nimport Card from '../../shared-components/elements/Card/Card';\nimport Icon from \"../../shared-components/elements/Icon/Icon\";\nimport {Description, Title} from '../../shared-components/elements/Txt/Txt';\nimport {Question} from '../../shared-components/elements/Txt/Question';\n\nimport Input, {InputWrapper} from '../../shared-components/form/form-control/Input';\nimport Textarea, {TextareaWrapper} from '../../shared-components/form/form-control/Textarea';\n\nexport default function QuestionnaireResult({givenAnswers, tenant, showResults}) {\n const validationSchema = Yup.object().shape({\n firstName: Yup.string().required('Verplicht veld'),\n lastName: Yup.string().required('Verplicht veld'),\n emailAddress: Yup.string().email('Ongeldig email').required('Verplicht veld'),\n phoneNumber: Yup.string().required('Verplicht veld'),\n companyName: Yup.string().required('Verplicht veld'),\n });\n\n function reload() {\n axios.post(`/api/subsidiewijzer/sw-results/results`, { questionAnswers: givenAnswers })\n .catch(() => alert('Er ging iets mis'));\n }\n\n useEffect(reload, [givenAnswers]);\n\n const sendResults = (values) => {\n axios.post(`/api/subsidiewijzer/sw-results/send-by-email`, { questionAnswers: givenAnswers, ...values })\n .then(() => showResults())\n .catch(() => alert('Er ging iets mis'));\n };\n\n return (\n \n Bijna klaar!\n \n U bent nog één stap verwijderd van een op maat gemaakte Subsidie Roadmap. Zodra u uw contactgegevens in onderstaand formulier heeft ingevuld kunt u de resultaten van de subsidiewijzer inzien. We gebruiken het e-mailadres om de resultaten rechtstreeks naar uw mailbox te sturen, daarmee gaat u ook akkoord met ons privacybeleid.\n \n \n {({isSubmitting}) => (\n <>\n \n
\n Contactgegevens\n \n \n \n \n \n \n