{"version":3,"sources":["webpack:///./src/components/Seo.js","webpack:///./src/components/Newspage/Card.js","webpack:///./src/components/blocks/SimpleHero.js","webpack:///./node_modules/gatsby-plugin-smoothscroll/index.js","webpack:///./src/components/Newspage/Category.js","webpack:///./src/components/blocks/BoardAndManagement/Person.js","webpack:///./src/components/blocks/BoardAndManagement/StaffList.js","webpack:///./src/components/blocks/BoardAndManagement/index.js","webpack:///./src/components/blocks/Contact/Link.js","webpack:///./src/components/blocks/Contact/Links.js","webpack:///./src/components/blocks/Contact/Subtitle.js","webpack:///./src/components/blocks/Contact/Title.js","webpack:///./src/components/blocks/Contact/List.js","webpack:///./src/components/blocks/Contact/Map.js","webpack:///./src/components/blocks/Contact/index.js","webpack:///./src/components/blocks/Documents/List.js","webpack:///./src/components/blocks/Documents/index.js","webpack:///./src/components/blocks/DocumentsTwoColumn/Sections.js","webpack:///./src/components/blocks/DocumentsTwoColumn/index.js","webpack:///./node_modules/react-accessible-accordion/dist/es/index.js","webpack:///./src/components/blocks/Faq/Answer.js","webpack:///./src/components/Plus/Line.js","webpack:///./src/components/Plus/Plus.js","webpack:///./src/components/blocks/Faq/Question.js","webpack:///./src/components/blocks/Faq/index.js","webpack:///./src/components/blocks/Feature/CtaLink.js","webpack:///./src/components/blocks/Feature/ListItem.js","webpack:///./src/components/blocks/Feature/ListTitle.js","webpack:///./src/components/blocks/Feature/Subtitle.js","webpack:///./src/components/blocks/Feature/List.js","webpack:///./src/components/blocks/Feature/index.js","webpack:///./src/components/blocks/Form/Illustration.js","webpack:///./src/components/blocks/Form/List.js","webpack:///./src/components/blocks/Form/GenericForm.js","webpack:///./src/components/blocks/Form/SpeechBubble.js","webpack:///./src/components/TrustBox.js","webpack:///./src/components/blocks/Form/Trustpilot.js","webpack:///./src/components/blocks/Form/LoanForm.js","webpack:///./src/components/blocks/Form/index.js","webpack:///./src/components/blocks/HeroBlock.js","webpack:///./src/components/blocks/HowItWorks/Description.js","webpack:///./src/components/blocks/HowItWorks/ImageWithTitle.js","webpack:///./src/components/blocks/HowItWorks/List.js","webpack:///./src/components/blocks/HowItWorks/index.js","webpack:///./src/components/blocks/Testimonials/Link.js","webpack:///./src/components/blocks/Testimonials/List.js","webpack:///./src/components/blocks/Testimonials/Subtitle.js","webpack:///./src/components/blocks/Testimonials/Title.js","webpack:///./src/components/blocks/Testimonials/index.js","webpack:///./src/components/blocks/Listing/BlockMapper.js","webpack:///./src/components/blocks/Listing/index.js","webpack:///./src/components/blocks/Media/Link.js","webpack:///./src/components/blocks/Media/List.js","webpack:///./src/components/blocks/Media/index.js","webpack:///./src/components/blocks/News/Link.js","webpack:///./src/components/blocks/News/Posts.js","webpack:///./src/components/blocks/News/index.js","webpack:///./src/components/blocks/TestimonialsWithBorder.js","webpack:///./src/components/blocks/TextTemplate/index.js","webpack:///./src/components/blocks/Trustpilot.js","webpack:///./src/components/blocks/Welcome.js","webpack:///./src/components/blocks/DepositTerms/Loading/Loading.js","webpack:///./src/components/blocks/DepositTerms/index.js","webpack:///./src/components/blocks/DepositTerms/helper.js","webpack:///./src/components/ContentBlockMapper.js","webpack:///./src/components/Page.js","webpack:///./src/templates/PageTemplate.js"],"names":["Card","children","sx","backgroundColor","borderRadius","height","padding","SimpleHero","title","as","d","alignItems","flexDirection","pt","px","variant","h1","mb","textAlign","wordBreak","alt","src","typeName","exports","__esModule","_default","selector","blockPosition","element","document","querySelector","scrollIntoView","behavior","block","Category","categories","Array","isArray","length","category","color","display","fontFamily","fontSize","fontWeight","defaultProps","Person","data","name","birthYear","hired","role","image","info","locale","useLocaleContext","marginBottom","maxHeight","width","minHeight","overflow","minWidth","Image","file","fluid","lineHeight","marginRight","imageEnhancement","undefined","StaffList","list","map","person","BoardAndManagement","staff","intro","id","toLowerCase","Variant","maxWidth","variants","h2","paddingBottom","json","documentToReactComponents","item","key","managementStaff","board","Border","style","textDecoration","Link","href","slug","to","rel","target","Links","links","gap","mt","link","Subtitle","Children","count","h4","Title","h3","List","subtitle","RichText","text","pv","Map","pl","pr","position","content","backgroundImage","backgroundPosition","backgroundRepeat","backgroundSize","top","right","dangerouslySetInnerHTML","__html","iframe","Contact","columns","documents","ul","borderBottom","borderBottomColor","justifyContent","py","borderTop","borderTopColor","url","Documents","heading2","replace","alignSelf","pb","Sections","sections","section","li","DocumentsTwoColumn","documentSections","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","i","descriptor","enumerable","configurable","writable","Object","defineProperty","_createClass","protoProps","staticProps","prototype","_defineProperty","obj","value","_extends","assign","arguments","source","hasOwnProperty","call","apply","this","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","_inherits","subClass","superClass","create","constructor","_setPrototypeOf","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","p","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_assertThisInitialized","self","ReferenceError","_possibleConstructorReturn","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","toString","e","_isNativeReflectConstruct","result","Super","NewTarget","_toConsumableArray","arr","_arrayLikeToArray","_arrayWithoutHoles","iter","Symbol","iterator","from","_iterableToArray","minLen","n","slice","test","_unsupportedIterableToArray","_nonIterableSpread","len","arr2","AccordionStore","_ref","_this","_ref$expanded","expanded","_expanded","_ref$allowMultipleExp","allowMultipleExpanded","_ref$allowZeroExpande","allowZeroExpanded","uuid","isItemDisabled","isItemExpanded","augment","expandedUuid","concat","isExpanded","isOnlyOneExpanded","Boolean","dangerouslySetExpanded","getButtonId","getPanelId","hidden","disabled","tabIndex","args","forEach","getOwnPropertyDescriptors","defineProperties","_objectSpread2","Context","_React$PureComponent","Provider","_super","_len","_key","preExpanded","setState","state","toggleExpanded","onChange","getPanelAttributes","getHeadingAttributes","getButtonAttributes","_this$state","DisplayName","_React$PureComponent2","Consumer","_super2","_this2","_len3","_key3","container","renderChildren","_ref$className","className","rest","DisplayName$1","counter","nextUuid","current","idRegex","assertValidHtmlId","htmlId","console","error","Context$1","Provider$1","_React$Component","accordionContext","_this$props","panelAttributes","headingAttributes","buttonAttributes","Consumer$1","_len2","_key2","AccordionItem","itemContext","activeClassName","cx","_this$props2","_this$props2$uuid","instanceUuid","getSiblingButtons","parentAccordion","getClosestAccordion","el","matches","parentElement","querySelectorAll","keycodes","onClick","onKeyDown","evt","first","keyCode","which","preventDefault","HTMLElement","focus","siblings","last","focusLastSiblingOf","currentIndex","previous","focusPreviousSiblingOf","next","focusNextSiblingOf","AccordionItemHeading","ref","VALIDATE","setRef","Error","childElementCount","firstElementChild","getAttribute","displayName","_ref2","Answer","glossary","opacity","transition","animation","Line","rotated","hide","bg","transform","left","Plus","active","size","aria-hidden","Question","flex","SHOW_ENUMS","Faq","initiallyVisible","maximumVisible","questions","showAllTitle","showAllLink","showLessTitle","showMoreTitle","showButton","useState","showEnum","setShowEnum","visibleQuestions","useMemo","borderColor","question","answer","cursor","outline","scrollTo","styles","justifySelf","marginTop","CtaLink","ListItem","icon","columnGap","justifyItems","rowGap","img","gridRow","altText","ListTitle","listTitle","alignContent","center","listItem","Features","layout","media","imgLeft","order","Media","Illustration","loan","listStyle","mr","GenericForm","messageHandler","backgroundcolor","formWidget","formlist","gridColumn","BroccForm","bgc","widget","SpeechBubble","speechBubble","TrustBox","businessunitId","templateId","targetUrl","tags","reviewLanguages","useRef","useEffect","window","Trustpilot","loadFromElement","data-businessunit-id","data-locale","data-review-languages","data-style-height","data-style-width","data-tags","data-template-id","useStaticQuery","configuration","trustpilotblocks","nodes","find","node_locale","carouselTemplateId","LoanForm","showTrustpilot","gridTemplateColumns","uid","location","process","handleDepositFormCompletion","Form","HeroBlock","body","ctaLinks","heading","simpleList","roundedImage","Hero","items","Description","ImageWithTitle","m","illustrations","HowItWorks","isInternal","my","align","extraMargin","Testimonials","textStyle","imageLeft","BlockMapper","blocks","warn","getComponentByTypeName","__typename","propTypes","PropTypes","array","Listing","date","newspage","Posts","posts","post","postTitle","excerpt","News","TestimonialsWithBorder","TextTemplate","preamble","centeredHeading","jumpLinkId","mx","span","whiteSpace","objectFit","description","Welcome","imageTitle","Loading","viewBox","class","stroke","cy","r","fill","strokeLinecap","stroke-width","DepositTerms","depositTermsUrl","termsData","setTermsData","isLoading","setIsLoading","currentDate","getFullYear","String","getMonth","padStart","getDate","currentTerms","termName","term_period","type","options","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","currency","roundingMode","format","formatNumber","interest_rate","fetch","then","response","sortedData","sort","a","b","catch","margin","table","borderCollapse","thead","td","tr","ContentBlockMapper","Feature","SimpleContact","Page","contentBlocks","page","PageTemplate","contentfulPage"],"mappings":"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","file":"component---src-templates-page-template-js-a7e9563f3a5d6441bc09.js","sourcesContent":["/** @jsx jsx */\nimport { useLocation } from \"@reach/router\"\nimport { graphql, useStaticQuery } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { Helmet } from \"react-helmet\"\nimport { jsx } from \"theme-ui\"\n\nimport useLocaleContext from \"@hooks/useLocaleContext\"\n\nexport const fragment = graphql`\n fragment Seo on SeoTag {\n content\n name\n property\n tag\n }\n`\n\nconst query = graphql`\n query DefaultSeoQuery {\n allSettings: allContentfulSiteSettings {\n nodes {\n createdAt\n node_locale\n siteDescription {\n siteDescription\n }\n siteImage {\n file {\n details {\n image {\n height\n width\n }\n }\n url\n }\n }\n siteTitle\n twitterUsername\n updatedAt\n }\n }\n site {\n siteMetadata {\n siteUrl\n }\n }\n }\n`\n\nexport default function Seo({ seo }) {\n const { pathname } = useLocation()\n const locale = useLocaleContext()\n const { allSettings, site } = useStaticQuery(query)\n\n if (!Array.isArray(seo) || !seo.length) {\n const settings = allSettings.nodes.find(node => node.node_locale === locale)\n seo = [\n {\n content: settings?.siteTitle,\n tag: \"title\",\n },\n {\n content: settings?.siteTitle,\n property: \"og:title\",\n tag: \"meta\",\n },\n {\n content: settings?.siteTitle,\n name: \"twitter:title\",\n tag: \"meta\",\n },\n {\n content: settings?.siteDescription?.siteDescription,\n name: \"description\",\n tag: \"meta\",\n },\n {\n content: settings?.siteDescription?.siteDescription,\n property: \"og:description\",\n tag: \"meta\",\n },\n {\n content: settings?.siteDescription?.siteDescription,\n name: \"twitter:description\",\n tag: \"meta\",\n },\n {\n content: settings?.siteImage?.file?.url,\n property: \"og:image\",\n tag: \"meta\",\n },\n {\n content: settings?.siteImage?.file?.details?.image?.width,\n property: \"og:image:width\",\n tag: \"meta\",\n },\n {\n content: settings?.siteImage?.file?.details?.image?.height,\n property: \"og:image:height\",\n tag: \"meta\",\n },\n {\n content: settings?.siteImage?.file?.url,\n name: \"twitter:image\",\n tag: \"meta\",\n },\n {\n content: settings.node_locale,\n property: \"og:locale\",\n tag: \"meta\",\n },\n {\n content: \"Web\",\n property: \"og:type\",\n tag: \"meta\",\n },\n {\n content: settings.siteTitle,\n property: \"og:site_name\",\n tag: \"meta\",\n },\n {\n content: settings.createdAt,\n property: \"article:published_time\",\n tag: \"meta\",\n },\n {\n content: settings.updatedAt,\n property: \"article:modified_time\",\n tag: \"meta\",\n },\n {\n content: \"Brocc\",\n property: \"article:author\",\n tag: \"meta\",\n },\n {\n content: \"summary_large_image\",\n name: \"twitter:card\",\n tag: \"meta\",\n },\n {\n content: settings?.twitterUsername,\n name: \"twitter:creator\",\n tag: \"meta\",\n },\n ]\n }\n\n return (\n \n \n {Array.isArray(seo)\n ? seo.map(({ content, name, property, tag: Tag }) =>\n Tag === \"title\" ? (\n \n {content}\n \n ) : (\n \n )\n )\n : null}\n \n )\n}\n\nSeo.defaultProps = {\n seo: null,\n}\n\nSeo.propTypes = {\n seo: PropTypes.array,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nexport default function Card({ children }) {\n return (\n \n {children}\n \n )\n}\n\nCard.propTypes = {\n children: PropTypes.node.isRequired,\n}\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { jsx, Styled } from \"theme-ui\"\n\nimport Variant from \"@components/Variant\"\n\nexport const fragment = graphql`\n fragment ContentfulSimpleHeroBlock on ContentfulSimpleHeroBlock {\n id\n title\n }\n`\n\nexport default function SimpleHero({ title }) {\n return (\n \n \n {title}\n \n \"Underline\"\n \n )\n}\n\nSimpleHero.typeName = \"ContentfulSimpleHeroBlock\"\n\nSimpleHero.propTypes = {\n title: PropTypes.string.isRequired,\n}\n","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\n/**\n * Smooth scrolling onClick event handler\n * @param {string} selector argument will be passed to `querySelector`, usually an HTML id\n * @param {string} [blockPosition='start'] argument will be used to determine position where will be scrolled to (start, center, end, nearest)\n * @returns {boolean} false if `document.querySelector` doesn't find a match, otherwise true\n */\nvar scrollTo = function scrollTo(selector, blockPosition) {\n if (blockPosition === void 0) {\n blockPosition = 'start';\n }\n\n var element = document.querySelector(selector);\n\n if (element) {\n element.scrollIntoView({\n behavior: 'smooth',\n block: blockPosition\n });\n return true;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"gatsby-plugin-smoothscroll:\\n The selector: '%s' wasn't found in the document.\\n Make sure you pass in a valid CSS selector string.\", selector);\n }\n\n return false;\n};\n\nvar _default = scrollTo;\nexports[\"default\"] = _default;","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nexport default function Category({ categories }) {\n if (Array.isArray(categories) && categories.length) {\n const category = categories[0]\n return (\n \n {category}\n \n )\n }\n\n return null\n}\n\nCategory.defaultProps = {\n categories: null,\n}\n\nCategory.propTypes = {\n categories: PropTypes.array,\n}\n","/** @jsx jsx */\nimport locations from \"@constants/locations\"\nimport PropTypes from \"prop-types\"\nimport { useMemo } from \"react\"\nimport { Flex, jsx } from \"theme-ui\"\nimport useLocaleContext from \"@hooks/useLocaleContext\"\n\nimport Image from \"@components/Image\"\n\nconst styles = {\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"contain\",\n content: '\"\"',\n display: \"inline-block\",\n position: \"absolute\",\n}\n\nconst Person = ({ data }) => {\n const { name, birthYear, hired, role, image } = data\n const info = data?.info?.info\n const locale = useLocaleContext()\n\n const mapBirthYearTranslation = {\n \"fi\": \"Syntynyt\",\n \"fi-FI\": \"Född\",\n \"sv-SE\": \"Född\",\n \"sv-EN\": \"Birth year\",\n }\n const mapEmployedTranslation = {\n \"fi\": \"Broccilla vuodesta\",\n \"fi-FI\": \"Anställd\",\n \"sv-SE\": \"Anställd\",\n \"sv-EN\": \"Employed\",\n }\n\n return (\n \n \n \n \n
\n \n {name}, {role}\n

\n

\n {`${mapBirthYearTranslation[locale]}: ${birthYear}`}\n {hired ? ` ${mapEmployedTranslation[locale]}: ${hired}` : null}\n

\n

\n {info}\n

\n
\n \n )\n}\nexport default Person\n\nPerson.defaultProps = {\n imageEnhancement: undefined,\n length: 0,\n}\n\nPerson.propTypes = {\n hasImageEnhancements: PropTypes.bool.isRequired,\n imageEnhancement: PropTypes.string,\n image: PropTypes.object.isRequired,\n isManagement: PropTypes.bool.isRequired,\n length: PropTypes.number,\n name: PropTypes.string.isRequired,\n nthOfType: PropTypes.string.isRequired,\n role: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport React from \"react\"\nimport Person from \"./Person\"\nimport { Flex, jsx } from \"theme-ui\"\nconst StaffList = ({ list }) => {\n return (\n \n {list.map(person => {\n return \n })}\n \n )\n}\n\nexport default StaffList\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { Fragment } from \"react\"\nimport { jsx, Styled } from \"theme-ui\"\n\nimport Border from \"@components/Border\"\nimport Variant from \"@components/Variant\"\n\nimport StaffList from \"./StaffList\"\nimport { documentToReactComponents } from \"@contentful/rich-text-react-renderer\"\n\nexport const fragment = graphql`\n fragment ContentfulBoardManagementBlock on ContentfulBoardManagementBlock {\n id\n title\n intro {\n json\n }\n staff {\n __typename\n ... on ContentfulBoardBlock {\n id\n title\n board {\n id\n name\n birthYear\n hired\n info {\n info\n }\n role\n image {\n ...FluidImageFields\n ...ImageFields\n }\n imageEnhancement\n }\n }\n ... on ContentfulManagementBlock {\n id\n title\n managementStaff {\n id\n name\n birthYear\n hired\n info {\n info\n }\n role\n image {\n ...FluidImageFields\n ...ImageFields\n }\n imageEnhancement\n }\n }\n }\n }\n`\n\nexport default function BoardAndManagement({ staff, title, intro }) {\n return (\n \n
\n \n {title}\n\n \n {intro?.json && documentToReactComponents(intro.json)}\n

\n {Array.isArray(staff)\n ? staff.map(item => (\n \n ))\n : null}\n \n \n
\n )\n}\n\nBoardAndManagement.typeName = \"ContentfulBoardManagementBlock\"\n\nBoardAndManagement.propTypes = {\n staff: PropTypes.array.isRequired,\n title: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport { Link as GatsbyLink } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nconst style = {\n variant: \"link\",\n color: \"primary\",\n fontSize: [1, 4],\n fontWeight: \"bold\",\n textDecoration: \"underline\",\n}\n\nexport default function Link({ children, href, slug }) {\n if (slug) {\n return (\n \n {children}\n \n )\n }\n\n if (href) {\n return (\n \n {children}\n \n )\n }\n\n return null\n}\n\nLink.defaultProps = {\n href: undefined,\n slug: undefined,\n}\n\nLink.propTypes = {\n children: PropTypes.node.isRequired,\n href: PropTypes.string,\n slug: PropTypes.string,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { Grid, jsx } from \"theme-ui\"\n\nimport Link from \"./Link\"\n\nexport default function Links({ links }) {\n if (Array.isArray(links) && links.length) {\n return (\n \n {links.map(link => (\n \n {link.title}\n \n ))}\n \n )\n }\n\n return null\n}\n\nLinks.defaultProps = {\n links: null,\n}\n\nLinks.propTypes = {\n links: PropTypes.array,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { Children } from \"react\"\nimport { jsx, Styled } from \"theme-ui\"\n\nexport default function Subtitle({ children }) {\n if (Children.count(children)) {\n return {children}\n }\n\n return null\n}\n\nSubtitle.defaultProps = {\n children: null,\n}\n\nSubtitle.propTypes = {\n children: PropTypes.node,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { jsx, Styled } from \"theme-ui\"\n\nexport default function Title({ children }) {\n return {children}\n}\n\nTitle.propTypes = {\n children: PropTypes.node.isRequired,\n}\n","/** @jsx jsx */\nimport { jsx } from \"theme-ui\"\n\nimport RichText from \"@components/RichText\"\n\nimport Links from \"./Links\"\nimport Subtitle from \"./Subtitle\"\nimport Title from \"./Title\"\n\nexport default function List({ list }) {\n if (Array.isArray(list) && list.length) {\n return list.map(item => (\n
\n {item.title}\n {item.subtitle}\n \n \n
\n ))\n }\n\n return null\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nexport default function Map({ map }) {\n return (\n \n \n \n )\n}\n\nMap.propTypes = {\n map: PropTypes.shape({\n map: PropTypes.string.isRequired,\n }).isRequired,\n}\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { Grid, jsx } from \"theme-ui\"\n\nimport Variant from \"@components/Variant\"\n\nimport List from \"./List\"\nimport Map from \"./Map\"\n\nexport const fragment = graphql`\n fragment ContentfulContactBlock on ContentfulContactBlock {\n content {\n id\n links {\n href\n id\n slug\n title\n }\n subtitle\n text {\n json\n }\n title\n }\n id\n map {\n map\n }\n }\n`\n\nexport default function Contact({ content, map }) {\n return (\n \n \n \n \n \n \n )\n}\n\nContact.typeName = \"ContentfulContactBlock\"\n\nContact.propTypes = {\n content: PropTypes.array.isRequired,\n map: PropTypes.shape({\n map: PropTypes.string.isRequired,\n }).isRequired,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { Flex, jsx, Styled } from \"theme-ui\"\n\nexport default function List({ documents }) {\n if (Array.isArray(documents) && documents.length) {\n return (\n \n {documents.map(document => (\n \n {/* eslint-disable */}\n \n {document.title}\n \n \n {/* eslint-enable */}\n \n \n \n ))}\n \n )\n }\n\n return null\n}\n\nList.defaultProps = {\n documents: null,\n}\n\nList.propTypes = {\n documents: PropTypes.array,\n}\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { Fragment } from \"react\"\nimport { jsx } from \"theme-ui\"\n\nimport Border from \"@components/Border\"\nimport Variant from \"@components/Variant\"\n\nimport List from \"./List\"\n\nexport const fragment = graphql`\n fragment ContentfulDocumentBlock on ContentfulDocumentBlock {\n id\n\n documents {\n id\n title\n document {\n file {\n url\n }\n }\n }\n heading2\n text {\n text\n }\n }\n`\n\nexport default function Documents({ documents, text, heading2 }) {\n return (\n \n \n \n {heading2 && (\n \n {heading2}\n \n )}\n {text?.text ? (\n

\n {text?.text}\n

\n ) : null}\n \n \n \n
\n )\n}\n\nDocuments.typeName = \"ContentfulDocumentBlock\"\n\nDocuments.defaultProps = {\n documents: null,\n text: null,\n}\n\nDocuments.propTypes = {\n documents: PropTypes.array,\n heading: PropTypes.string,\n text: PropTypes.shape({\n text: PropTypes.string,\n }),\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { jsx, Styled } from \"theme-ui\"\n\nexport default function Sections({ sections }) {\n if (Array.isArray(sections) && sections.length) {\n return sections.map(section => (\n
\n {section.text?.text}\n \n {section.documents.map(({ document, id, title }) => {\n const url = document?.file?.url\n return (\n \n \n {title}\n \n \n )\n })}\n \n
\n ))\n }\n\n return null\n}\n\nSections.defaultProps = {\n sections: null,\n}\n\nSections.propTypes = {\n sections: PropTypes.array,\n}\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nimport Variant from \"@components/Variant\"\n\nimport Sections from \"./Sections\"\n\nexport const fragment = graphql`\n fragment ContentfulDocument2ColumnBlock on ContentfulDocument2ColumnBlock {\n documentSections {\n documents {\n document {\n file {\n url\n }\n title\n }\n id\n title\n }\n id\n text {\n text\n }\n }\n id\n }\n`\n\nexport default function DocumentsTwoColumn({ documentSections }) {\n return (\n \n \n \n )\n}\n\nDocumentsTwoColumn.typeName = \"ContentfulDocument2ColumnBlock\"\n\nDocumentsTwoColumn.propTypes = {\n documentSections: PropTypes.array.isRequired,\n}\n","import { createElement, PureComponent, createContext, Component, Fragment } from 'react';\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar AccordionStore = function AccordionStore(_ref) {\n var _this = this;\n\n var _ref$expanded = _ref.expanded,\n _expanded = _ref$expanded === void 0 ? [] : _ref$expanded,\n _ref$allowMultipleExp = _ref.allowMultipleExpanded,\n allowMultipleExpanded = _ref$allowMultipleExp === void 0 ? false : _ref$allowMultipleExp,\n _ref$allowZeroExpande = _ref.allowZeroExpanded,\n allowZeroExpanded = _ref$allowZeroExpande === void 0 ? false : _ref$allowZeroExpande;\n\n _classCallCheck(this, AccordionStore);\n\n _defineProperty(this, \"expanded\", void 0);\n\n _defineProperty(this, \"allowMultipleExpanded\", void 0);\n\n _defineProperty(this, \"allowZeroExpanded\", void 0);\n\n _defineProperty(this, \"toggleExpanded\", function (uuid) {\n if (_this.isItemDisabled(uuid)) {\n return _this;\n }\n\n var isExpanded = _this.isItemExpanded(uuid);\n\n if (!isExpanded) {\n return _this.augment({\n expanded: _this.allowMultipleExpanded ? [].concat(_toConsumableArray(_this.expanded), [uuid]) : [uuid]\n });\n } else {\n return _this.augment({\n expanded: _this.expanded.filter(function (expandedUuid) {\n return expandedUuid !== uuid;\n })\n });\n }\n });\n\n _defineProperty(this, \"isItemDisabled\", function (uuid) {\n var isExpanded = _this.isItemExpanded(uuid);\n\n var isOnlyOneExpanded = _this.expanded.length === 1;\n return Boolean(isExpanded && !_this.allowZeroExpanded && isOnlyOneExpanded);\n });\n\n _defineProperty(this, \"isItemExpanded\", function (uuid) {\n return _this.expanded.indexOf(uuid) !== -1;\n });\n\n _defineProperty(this, \"getPanelAttributes\", function (uuid, dangerouslySetExpanded) {\n var expanded = dangerouslySetExpanded !== null && dangerouslySetExpanded !== void 0 ? dangerouslySetExpanded : _this.isItemExpanded(uuid);\n return {\n role: _this.allowMultipleExpanded ? undefined : 'region',\n 'aria-hidden': _this.allowMultipleExpanded ? !expanded : undefined,\n 'aria-labelledby': _this.getButtonId(uuid),\n id: _this.getPanelId(uuid),\n hidden: expanded ? undefined : true\n };\n });\n\n _defineProperty(this, \"getHeadingAttributes\", function () {\n return {\n role: 'heading'\n };\n });\n\n _defineProperty(this, \"getButtonAttributes\", function (uuid, dangerouslySetExpanded) {\n var expanded = dangerouslySetExpanded !== null && dangerouslySetExpanded !== void 0 ? dangerouslySetExpanded : _this.isItemExpanded(uuid);\n\n var disabled = _this.isItemDisabled(uuid);\n\n return {\n id: _this.getButtonId(uuid),\n 'aria-disabled': disabled,\n 'aria-expanded': expanded,\n 'aria-controls': _this.getPanelId(uuid),\n role: 'button',\n tabIndex: 0\n };\n });\n\n _defineProperty(this, \"getPanelId\", function (uuid) {\n return \"accordion__panel-\".concat(uuid);\n });\n\n _defineProperty(this, \"getButtonId\", function (uuid) {\n return \"accordion__heading-\".concat(uuid);\n });\n\n _defineProperty(this, \"augment\", function (args) {\n return new AccordionStore(_objectSpread2({\n expanded: _this.expanded,\n allowMultipleExpanded: _this.allowMultipleExpanded,\n allowZeroExpanded: _this.allowZeroExpanded\n }, args));\n });\n\n this.expanded = _expanded;\n this.allowMultipleExpanded = allowMultipleExpanded;\n this.allowZeroExpanded = allowZeroExpanded;\n};\n\nvar Context = /*#__PURE__*/createContext(null);\n\nvar Provider = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Provider, _React$PureComponent);\n\n var _super = _createSuper(Provider);\n\n function Provider() {\n var _this;\n\n _classCallCheck(this, Provider);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", new AccordionStore({\n expanded: _this.props.preExpanded,\n allowMultipleExpanded: _this.props.allowMultipleExpanded,\n allowZeroExpanded: _this.props.allowZeroExpanded\n }));\n\n _defineProperty(_assertThisInitialized(_this), \"toggleExpanded\", function (key) {\n _this.setState(function (state) {\n return state.toggleExpanded(key);\n }, function () {\n if (_this.props.onChange) {\n _this.props.onChange(_this.state.expanded);\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"isItemDisabled\", function (key) {\n return _this.state.isItemDisabled(key);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"isItemExpanded\", function (key) {\n return _this.state.isItemExpanded(key);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPanelAttributes\", function (key, dangerouslySetExpanded) {\n return _this.state.getPanelAttributes(key, dangerouslySetExpanded);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getHeadingAttributes\", function () {\n // uuid: UUID\n return _this.state.getHeadingAttributes();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getButtonAttributes\", function (key, dangerouslySetExpanded) {\n return _this.state.getButtonAttributes(key, dangerouslySetExpanded);\n });\n\n return _this;\n }\n\n _createClass(Provider, [{\n key: \"render\",\n value: function render() {\n var _this$state = this.state,\n allowZeroExpanded = _this$state.allowZeroExpanded,\n allowMultipleExpanded = _this$state.allowMultipleExpanded;\n return /*#__PURE__*/createElement(Context.Provider, {\n value: {\n allowMultipleExpanded: allowMultipleExpanded,\n allowZeroExpanded: allowZeroExpanded,\n toggleExpanded: this.toggleExpanded,\n isItemDisabled: this.isItemDisabled,\n isItemExpanded: this.isItemExpanded,\n getPanelAttributes: this.getPanelAttributes,\n getHeadingAttributes: this.getHeadingAttributes,\n getButtonAttributes: this.getButtonAttributes\n }\n }, this.props.children || null);\n }\n }]);\n\n return Provider;\n}(PureComponent);\n\n_defineProperty(Provider, \"defaultProps\", {\n allowMultipleExpanded: false,\n allowZeroExpanded: false\n});\n\nvar Consumer = /*#__PURE__*/function (_React$PureComponent2) {\n _inherits(Consumer, _React$PureComponent2);\n\n var _super2 = _createSuper(Consumer);\n\n function Consumer() {\n var _this2;\n\n _classCallCheck(this, Consumer);\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n _this2 = _super2.call.apply(_super2, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this2), \"renderChildren\", function (container) {\n return container ? _this2.props.children(container) : null;\n });\n\n return _this2;\n }\n\n _createClass(Consumer, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/createElement(Context.Consumer, null, this.renderChildren);\n }\n }]);\n\n return Consumer;\n}(PureComponent);\n\nvar Accordion = function Accordion(_ref) {\n var _ref$className = _ref.className,\n className = _ref$className === void 0 ? 'accordion' : _ref$className,\n allowMultipleExpanded = _ref.allowMultipleExpanded,\n allowZeroExpanded = _ref.allowZeroExpanded,\n onChange = _ref.onChange,\n preExpanded = _ref.preExpanded,\n rest = _objectWithoutProperties(_ref, [\"className\", \"allowMultipleExpanded\", \"allowZeroExpanded\", \"onChange\", \"preExpanded\"]);\n\n return /*#__PURE__*/createElement(Provider, {\n preExpanded: preExpanded,\n allowMultipleExpanded: allowMultipleExpanded,\n allowZeroExpanded: allowZeroExpanded,\n onChange: onChange\n }, /*#__PURE__*/createElement(\"div\", _extends({\n \"data-accordion-component\": \"Accordion\",\n className: className\n }, rest)));\n};\n\nvar DisplayName;\n\n(function (DisplayName) {\n DisplayName[\"Accordion\"] = \"Accordion\";\n DisplayName[\"AccordionItem\"] = \"AccordionItem\";\n DisplayName[\"AccordionItemButton\"] = \"AccordionItemButton\";\n DisplayName[\"AccordionItemHeading\"] = \"AccordionItemHeading\";\n DisplayName[\"AccordionItemPanel\"] = \"AccordionItemPanel\";\n})(DisplayName || (DisplayName = {}));\n\nvar DisplayName$1 = DisplayName;\nvar DEFAULT = 0;\nvar counter = DEFAULT;\n\nfunction nextUuid() {\n var current = counter;\n counter = counter + 1;\n return \"raa-\".concat(current);\n}\n\nfunction resetNextUuid() {\n counter = DEFAULT;\n} // HTML5 ids allow all unicode characters, except for ASCII whitespaces\n// https://infra.spec.whatwg.org/#ascii-whitespace\n// eslint-disable-next-line no-control-regex\n\n\nvar idRegex = /[\\u0009\\u000a\\u000c\\u000d\\u0020]/g;\n\nfunction assertValidHtmlId(htmlId) {\n if (htmlId === '' || idRegex.test(htmlId)) {\n console.error(\"uuid must be a valid HTML5 id but was given \\\"\".concat(htmlId, \"\\\", ASCII whitespaces are forbidden\"));\n return false;\n }\n\n return true;\n}\n\nvar Context$1 = /*#__PURE__*/createContext(null);\n\nvar Provider$1 = /*#__PURE__*/function (_React$Component) {\n _inherits(Provider, _React$Component);\n\n var _super = _createSuper(Provider);\n\n function Provider() {\n var _this;\n\n _classCallCheck(this, Provider);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"toggleExpanded\", function () {\n _this.props.accordionContext.toggleExpanded(_this.props.uuid);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderChildren\", function (accordionContext) {\n var _this$props = _this.props,\n uuid = _this$props.uuid,\n dangerouslySetExpanded = _this$props.dangerouslySetExpanded;\n var expanded = dangerouslySetExpanded !== null && dangerouslySetExpanded !== void 0 ? dangerouslySetExpanded : accordionContext.isItemExpanded(uuid);\n var disabled = accordionContext.isItemDisabled(uuid);\n var panelAttributes = accordionContext.getPanelAttributes(uuid, dangerouslySetExpanded);\n var headingAttributes = accordionContext.getHeadingAttributes(uuid);\n var buttonAttributes = accordionContext.getButtonAttributes(uuid, dangerouslySetExpanded);\n return /*#__PURE__*/createElement(Context$1.Provider, {\n value: {\n uuid: uuid,\n expanded: expanded,\n disabled: disabled,\n toggleExpanded: _this.toggleExpanded,\n panelAttributes: panelAttributes,\n headingAttributes: headingAttributes,\n buttonAttributes: buttonAttributes\n }\n }, _this.props.children);\n });\n\n return _this;\n }\n\n _createClass(Provider, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/createElement(Consumer, null, this.renderChildren);\n }\n }]);\n\n return Provider;\n}(Component);\n\nvar ProviderWrapper = function ProviderWrapper(props) {\n return /*#__PURE__*/createElement(Consumer, null, function (accordionContext) {\n return /*#__PURE__*/createElement(Provider$1, _extends({}, props, {\n accordionContext: accordionContext\n }));\n });\n};\n\nvar Consumer$1 = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Consumer, _React$PureComponent);\n\n var _super2 = _createSuper(Consumer);\n\n function Consumer() {\n var _this2;\n\n _classCallCheck(this, Consumer);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this2 = _super2.call.apply(_super2, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this2), \"renderChildren\", function (container) {\n return container ? _this2.props.children(container) : null;\n });\n\n return _this2;\n }\n\n _createClass(Consumer, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/createElement(Context$1.Consumer, null, this.renderChildren);\n }\n }]);\n\n return Consumer;\n}(PureComponent);\n\nvar defaultProps = {\n className: 'accordion__item'\n};\n\nvar AccordionItem = /*#__PURE__*/function (_React$Component) {\n _inherits(AccordionItem, _React$Component);\n\n var _super = _createSuper(AccordionItem);\n\n function AccordionItem() {\n var _this;\n\n _classCallCheck(this, AccordionItem);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"instanceUuid\", nextUuid());\n\n _defineProperty(_assertThisInitialized(_this), \"renderChildren\", function (itemContext) {\n var _this$props = _this.props,\n uuid = _this$props.uuid,\n className = _this$props.className,\n activeClassName = _this$props.activeClassName,\n dangerouslySetExpanded = _this$props.dangerouslySetExpanded,\n rest = _objectWithoutProperties(_this$props, [\"uuid\", \"className\", \"activeClassName\", \"dangerouslySetExpanded\"]);\n\n var expanded = itemContext.expanded;\n var cx = expanded && activeClassName ? activeClassName : className;\n return /*#__PURE__*/createElement(\"div\", _extends({\n \"data-accordion-component\": \"AccordionItem\",\n className: cx\n }, rest));\n });\n\n return _this;\n }\n\n _createClass(AccordionItem, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _this$props2$uuid = _this$props2.uuid,\n uuid = _this$props2$uuid === void 0 ? this.instanceUuid : _this$props2$uuid,\n dangerouslySetExpanded = _this$props2.dangerouslySetExpanded,\n rest = _objectWithoutProperties(_this$props2, [\"uuid\", \"dangerouslySetExpanded\"]);\n\n assertValidHtmlId(uuid);\n\n if (rest.id) {\n assertValidHtmlId(rest.id);\n }\n\n return /*#__PURE__*/createElement(ProviderWrapper, {\n uuid: uuid,\n dangerouslySetExpanded: dangerouslySetExpanded\n }, /*#__PURE__*/createElement(Consumer$1, null, this.renderChildren));\n }\n }]);\n\n return AccordionItem;\n}(Component);\n\n_defineProperty(AccordionItem, \"defaultProps\", defaultProps);\n\n_defineProperty(AccordionItem, \"displayName\", DisplayName$1.AccordionItem);\n\nfunction getClosestAccordion(el) {\n return el && (el.matches('[data-accordion-component=\"Accordion\"]') ? el : getClosestAccordion(el.parentElement));\n}\n\nfunction getSiblingButtons(item) {\n var parentAccordion = getClosestAccordion(item);\n return parentAccordion && Array.from(parentAccordion.querySelectorAll('[data-accordion-component=\"AccordionItemButton\"]'));\n}\n\nfunction focusFirstSiblingOf(item) {\n var siblings = getSiblingButtons(item) || [];\n var first = siblings[0];\n\n if (first) {\n first.focus();\n }\n}\n\nfunction focusLastSiblingOf(item) {\n var siblings = getSiblingButtons(item) || [];\n var last = siblings[siblings.length - 1];\n\n if (last) {\n last.focus();\n }\n}\n\nfunction focusNextSiblingOf(item) {\n var siblings = getSiblingButtons(item) || [];\n var currentIndex = siblings.indexOf(item);\n\n if (currentIndex !== -1) {\n var next = siblings[currentIndex + 1];\n\n if (next) {\n next.focus();\n }\n }\n}\n\nfunction focusPreviousSiblingOf(item) {\n var siblings = getSiblingButtons(item) || [];\n var currentIndex = siblings.indexOf(item);\n\n if (currentIndex !== -1) {\n var previous = siblings[currentIndex - 1];\n\n if (previous) {\n previous.focus();\n }\n }\n}\n\nvar keycodes = {\n DOWN: '40',\n END: '35',\n ENTER: '13',\n HOME: '36',\n LEFT: '37',\n RIGHT: '39',\n SPACE: '32',\n UP: '38'\n};\n\nvar AccordionItemButton = function AccordionItemButton(_ref) {\n var toggleExpanded = _ref.toggleExpanded,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? 'accordion__button' : _ref$className,\n rest = _objectWithoutProperties(_ref, [\"toggleExpanded\", \"className\"]);\n\n var handleKeyPress = function handleKeyPress(evt) {\n var keyCode = evt.which.toString();\n\n if (keyCode === keycodes.ENTER || keyCode === keycodes.SPACE) {\n evt.preventDefault();\n toggleExpanded();\n }\n /* The following block is ignored from test coverage because at time\n * time of writing Jest/react-testing-library can not assert 'focus'\n * functionality.\n */\n // istanbul ignore next\n\n\n if (evt.target instanceof HTMLElement) {\n switch (keyCode) {\n case keycodes.HOME:\n {\n evt.preventDefault();\n focusFirstSiblingOf(evt.target);\n break;\n }\n\n case keycodes.END:\n {\n evt.preventDefault();\n focusLastSiblingOf(evt.target);\n break;\n }\n\n case keycodes.LEFT:\n case keycodes.UP:\n {\n evt.preventDefault();\n focusPreviousSiblingOf(evt.target);\n break;\n }\n\n case keycodes.RIGHT:\n case keycodes.DOWN:\n {\n evt.preventDefault();\n focusNextSiblingOf(evt.target);\n break;\n }\n }\n }\n };\n\n if (rest.id) {\n assertValidHtmlId(rest.id);\n }\n\n return /*#__PURE__*/createElement(\"div\", _extends({\n className: className\n }, rest, {\n role: \"button\",\n tabIndex: 0,\n onClick: toggleExpanded,\n onKeyDown: handleKeyPress,\n \"data-accordion-component\": \"AccordionItemButton\"\n }));\n};\n\nvar AccordionItemButtonWrapper = function AccordionItemButtonWrapper(props) {\n return /*#__PURE__*/createElement(Consumer$1, null, function (itemContext) {\n var toggleExpanded = itemContext.toggleExpanded,\n buttonAttributes = itemContext.buttonAttributes;\n return /*#__PURE__*/createElement(AccordionItemButton, _extends({\n toggleExpanded: toggleExpanded\n }, props, buttonAttributes));\n });\n};\n\nvar defaultProps$1 = {\n className: 'accordion__heading',\n 'aria-level': 3\n};\nvar SPEC_ERROR = \"AccordionItemButton may contain only one child element, which must be an instance of AccordionItemButton.\\n\\nFrom the WAI-ARIA spec (https://www.w3.org/TR/wai-aria-practices-1.1/#accordion):\\n\\n\\u201CThe button element is the only element inside the heading element. That is, if there are other visually persistent elements, they are not included inside the heading element.\\u201D\\n\\n\";\n\nvar AccordionItemHeading = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(AccordionItemHeading, _React$PureComponent);\n\n var _super = _createSuper(AccordionItemHeading);\n\n function AccordionItemHeading() {\n var _this;\n\n _classCallCheck(this, AccordionItemHeading);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"ref\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"setRef\", function (ref) {\n _this.ref = ref;\n });\n\n return _this;\n }\n\n _createClass(AccordionItemHeading, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n AccordionItemHeading.VALIDATE(this.ref);\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n AccordionItemHeading.VALIDATE(this.ref);\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/createElement(\"div\", _extends({\n \"data-accordion-component\": \"AccordionItemHeading\"\n }, this.props, {\n ref: this.setRef\n }));\n }\n }], [{\n key: \"VALIDATE\",\n value: function VALIDATE(ref) {\n if (ref === undefined) {\n throw new Error('ref is undefined');\n }\n\n if (!(ref.childElementCount === 1 && ref.firstElementChild && ref.firstElementChild.getAttribute('data-accordion-component') === 'AccordionItemButton')) {\n throw new Error(SPEC_ERROR);\n }\n }\n }]);\n\n return AccordionItemHeading;\n}(PureComponent);\n\n_defineProperty(AccordionItemHeading, \"defaultProps\", defaultProps$1);\n\nvar AccordionItemHeadingWrapper = function AccordionItemHeadingWrapper(props) {\n return /*#__PURE__*/createElement(Consumer$1, null, function (itemContext) {\n var headingAttributes = itemContext.headingAttributes;\n\n if (props.id) {\n assertValidHtmlId(props.id);\n }\n\n return /*#__PURE__*/createElement(AccordionItemHeading, _extends({}, props, headingAttributes));\n });\n};\n\nAccordionItemHeadingWrapper.displayName = DisplayName$1.AccordionItemHeading;\n\nvar AccordionItemPanel = function AccordionItemPanel(_ref) {\n var _ref$className = _ref.className,\n className = _ref$className === void 0 ? 'accordion__panel' : _ref$className,\n id = _ref.id,\n rest = _objectWithoutProperties(_ref, [\"className\", \"id\"]);\n\n var renderChildren = function renderChildren(_ref2) {\n var panelAttributes = _ref2.panelAttributes;\n\n if (id) {\n assertValidHtmlId(id);\n }\n\n return /*#__PURE__*/createElement(\"div\", _extends({\n \"data-accordion-component\": \"AccordionItemPanel\",\n className: className\n }, rest, panelAttributes));\n };\n\n return /*#__PURE__*/createElement(Consumer$1, null, renderChildren);\n};\n\nvar AccordionItemState = function AccordionItemState(_ref) {\n var children = _ref.children;\n\n var renderChildren = function renderChildren(itemContext) {\n var expanded = itemContext.expanded,\n disabled = itemContext.disabled;\n return /*#__PURE__*/createElement(Fragment, null, children({\n expanded: expanded,\n disabled: disabled\n }));\n };\n\n return /*#__PURE__*/createElement(Consumer$1, null, renderChildren);\n};\n\nexport { Accordion, AccordionItem, AccordionItemButtonWrapper as AccordionItemButton, AccordionItemHeadingWrapper as AccordionItemHeading, AccordionItemPanel, AccordionItemState, resetNextUuid };","/** @jsx jsx */\nimport RichText from \"@src/components/RichText\"\nimport PropTypes from \"prop-types\"\nimport { jsx, Styled } from \"theme-ui\"\n\nfunction Answer({ children, glossary }) {\n return (\n \n {!glossary ? children : }\n \n )\n}\n\nAnswer.propTypes = {\n children: PropTypes.node.isRequired,\n}\n\nexport default Answer\n","/** @jsx jsx */\n\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nconst Line = ({ rotated, hide }) => (\n \n)\n\nLine.defaultProps = {\n hide: false,\n rotated: false,\n}\n\nLine.propTypes = {\n hide: PropTypes.bool,\n rotated: PropTypes.bool,\n}\n\nexport default Line\n","/** @jsx jsx */\n\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nimport Line from \"./Line\"\n\nfunction Plus({ active, size }) {\n return (\n \n \n \n \n )\n}\n\nPlus.defaultProps = {\n active: false,\n size: [\"24px\", \"28px\"],\n}\n\nPlus.propTypes = {\n active: PropTypes.bool,\n size: PropTypes.arrayOf(PropTypes.string),\n}\n\nexport default Plus\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { Flex, jsx } from \"theme-ui\"\n\nimport Plus from \"@components/Plus\"\n\nfunction Question({ children, active }) {\n return (\n \n {children}\n \n \n )\n}\n\nQuestion.propTypes = {\n active: PropTypes.bool.isRequired,\n children: PropTypes.node.isRequired,\n}\n\nexport default Question\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport scrollTo from \"gatsby-plugin-smoothscroll\"\nimport PropTypes from \"prop-types\"\nimport { Fragment, useMemo, useState } from \"react\"\nimport {\n Accordion,\n AccordionItem,\n AccordionItemButton,\n AccordionItemHeading,\n AccordionItemPanel,\n AccordionItemState,\n} from \"react-accessible-accordion\"\nimport { Flex, jsx, Styled } from \"theme-ui\"\n\nimport Border from \"@components/Border\"\nimport Variant from \"@components/Variant\"\n\nimport Answer from \"./Answer\"\nimport Question from \"./Question\"\n\nconst SHOW_ENUMS = {\n INITIAL: \"initial\",\n MAXIMUM: \"maximum\",\n}\n\nexport const fragment = graphql`\n fragment ContentfulFaqBlock on ContentfulFaqBlock {\n id\n initiallyVisible\n maximumVisible\n questions {\n id\n question\n glossary {\n id\n json\n }\n answer {\n id\n answer\n }\n }\n showAllTitle\n showAllLink\n showLessTitle\n showMoreTitle\n title\n }\n`\n\nfunction Faq({\n initiallyVisible,\n maximumVisible,\n questions,\n showAllTitle,\n showAllLink,\n showLessTitle,\n showMoreTitle,\n title,\n glossary,\n}) {\n const showButton = questions.length > initiallyVisible\n const [showEnum, setShowEnum] = useState(SHOW_ENUMS.INITIAL)\n const visibleQuestions = useMemo(\n () =>\n questions.slice(\n 0,\n showEnum === SHOW_ENUMS.INITIAL ? initiallyVisible : maximumVisible\n ),\n [initiallyVisible, questions, showEnum, maximumVisible]\n )\n\n const showMax = () => setShowEnum(SHOW_ENUMS.MAXIMUM)\n const showInitial = () => {\n scrollTo(`#${title.toLowerCase().replace(/ /g, \"-\")}`)\n setShowEnum(SHOW_ENUMS.INITIAL)\n }\n\n return (\n \n
\n \n {title}\n\n {visibleQuestions && visibleQuestions.length ? (\n \n {visibleQuestions.map(\n ({ question, answer: { answer, id }, glossary }) => (\n \n \n \n \n {({ expanded }) => (\n {question}\n )}\n \n \n \n \n \n {({ expanded }) => (\n \n {answer}\n \n )}\n \n \n \n )\n )}\n \n ) : null}\n {showButton && showEnum === SHOW_ENUMS.INITIAL ? (\n \n \n \n ) : null}\n {showButton &&\n showLessTitle &&\n showEnum === SHOW_ENUMS.MAXIMUM ? (\n \n \n \n ) : null}\n {showButton &&\n !showLessTitle &&\n showEnum === SHOW_ENUMS.MAXIMUM ? (\n \n \n {showAllTitle}\n \n \n ) : null}\n \n \n
\n )\n}\n\nFaq.typeName = \"ContentfulFaqBlock\"\n\nFaq.propTypes = {\n initiallyVisible: PropTypes.number.isRequired,\n maximumVisible: PropTypes.number.isRequired,\n questions: PropTypes.arrayOf(\n PropTypes.shape(\n {\n title: PropTypes.string.isRequired,\n answer: PropTypes.shape({\n answer: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n }).isRequired,\n }.isRequired\n )\n ).isRequired,\n showAllLink: PropTypes.string,\n showAllTitle: PropTypes.string,\n showLessTitle: PropTypes.string,\n showMoreTitle: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n}\n\nexport default Faq\n","/** @jsx jsx */\nimport { Link } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nconst styles = {\n variant: \"button.primary\",\n justifySelf: \"center\",\n marginTop: [8, 11],\n textDecoration: \"none\",\n}\n\nexport default function CtaLink({ children, href, to }) {\n if (href) {\n return (\n \n {children}\n \n )\n }\n\n if (to) {\n return (\n \n {children}\n \n )\n }\n\n return null\n}\n\nCtaLink.defaultProps = {\n href: undefined,\n to: undefined,\n}\n\nCtaLink.propTypes = {\n children: PropTypes.node.isRequired,\n href: PropTypes.string,\n to: PropTypes.string,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { Grid, jsx, Styled } from \"theme-ui\"\n\nexport default function ListItem({ icon, text, title }) {\n return (\n \n \n

{title}

\n \n {text.text}\n \n \n )\n}\n\nListItem.propTypes = {\n icon: PropTypes.shape({\n altText: PropTypes.string,\n file: PropTypes.shape({\n url: PropTypes.string.isRequired,\n }).isRequired,\n }).isRequired,\n text: PropTypes.shape({\n text: PropTypes.string.isRequired,\n }).isRequired,\n title: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nexport default function ListTitle({ children }) {\n return

{children}

\n}\n\nListTitle.propTypes = {\n children: PropTypes.node.isRequired,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { jsx, Styled } from \"theme-ui\"\n\nexport default function Subtitle({ children }) {\n return (\n \n {children}\n \n )\n}\n\nSubtitle.propTypes = {\n children: PropTypes.node.isRequired,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { Grid, jsx } from \"theme-ui\"\n\nimport RichText from \"@components/RichText\"\n\nimport CtaLink from \"./CtaLink\"\nimport ListItem from \"./ListItem\"\nimport ListTitle from \"./ListTitle\"\nimport Subtitle from \"./Subtitle\"\n\nexport default function List({ link, list, listTitle, subtitle, text, title }) {\n return (\n \n {subtitle && title ? (\n

{title}

\n ) : (\n {title}\n )}\n {subtitle ? {subtitle} : null}\n {text?.json ? (\n
\n \n
\n ) : null}\n {listTitle ? {listTitle} : null}\n \n {list.map(listItem => (\n \n ))}\n \n {link ? (\n \n {link.title}\n \n ) : null}\n \n )\n}\n\nList.defaultProps = {\n link: null,\n listTitle: undefined,\n subtitle: undefined,\n text: null,\n}\n\nList.propTypes = {\n link: PropTypes.shape({\n href: PropTypes.string,\n slug: PropTypes.string,\n title: PropTypes.string.isRequired,\n }),\n list: PropTypes.arrayOf(PropTypes.shape(ListItem.propTypes)).isRequired,\n listTitle: PropTypes.string,\n subtitle: PropTypes.string,\n text: PropTypes.shape({\n json: PropTypes.object.isRequired,\n }),\n title: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { Fragment } from \"react\"\nimport { jsx } from \"theme-ui\"\n\nimport Border from \"@components/Border\"\nimport Media from \"@components/Media\"\nimport Variant from \"@components/Variant\"\n\nimport List from \"./List\"\n\nexport const fragment = graphql`\n fragment ContentfulFeatureBlock on ContentfulFeatureBlock {\n id\n layout\n link {\n href\n slug\n title\n }\n list {\n icon {\n altText: title\n file {\n url\n }\n }\n id\n text {\n text\n }\n title\n }\n listTitle\n media {\n ...Media\n }\n subtitle\n text {\n json\n }\n title\n }\n`\n\nexport default function Features({\n layout,\n link,\n list,\n listTitle,\n media,\n subtitle,\n title,\n text,\n}) {\n const imgLeft = layout === \"Image left\"\n return (\n \n .image-container\": {\n justifySelf: [\"center\", null, imgLeft ? \"flex-start\" : \"flex-end\"],\n order: [null, null, imgLeft ? \"0\" : \"1\"],\n },\n }}\n variants={[\"container\", \"containerSpacing\"]}\n >\n \n \n \n \n \n \n \n )\n}\n\nFeatures.typeName = \"ContentfulFeatureBlock\"\n\nFeatures.defaultProps = {\n link: null,\n listTitle: undefined,\n subtitle: undefined,\n text: null,\n}\n\nFeatures.propTypes = {\n layout: PropTypes.string.isRequired,\n link: PropTypes.shape({\n href: PropTypes.string,\n slug: PropTypes.string,\n title: PropTypes.string.isRequired,\n }),\n list: PropTypes.array.isRequired,\n listTitle: PropTypes.string,\n media: PropTypes.object.isRequired,\n subtitle: PropTypes.string,\n text: PropTypes.shape({\n json: PropTypes.object.isRequired,\n }),\n title: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nimport Image from \"@components/Image\"\n\nexport default function Illustration({ image, loan }) {\n if (image) {\n return (\n \n {image ? : null}\n \n )\n }\n\n return null\n}\n\nIllustration.defaultProps = {\n image: null,\n loan: false,\n}\n\nIllustration.propTypes = {\n image: PropTypes.object,\n loan: PropTypes.bool,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { Flex, Grid, jsx } from \"theme-ui\"\n\nexport default function List({ list, loan }) {\n if (Array.isArray(list) && list.length) {\n return (\n \n {list.map(item => (\n \n \n \n {item.text}\n \n \n ))}\n \n )\n }\n\n return null\n}\n\nList.defaultProps = {\n list: null,\n loan: false,\n}\n\nList.propTypes = {\n list: PropTypes.array,\n loan: PropTypes.bool,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { Fragment } from \"react\"\nimport { Flex, jsx, Styled } from \"theme-ui\"\n\nimport Border from \"@components/Border\"\nimport Variant from \"@components/Variant\"\n\nimport BroccForm from \"./BroccForm\"\nimport Illustration from \"./Illustration\"\nimport List from \"./List\"\n\nexport default function GenericForm({\n messageHandler,\n backgroundcolor,\n formWidget,\n formlist,\n image,\n subtitle,\n title,\n id,\n}) {\n return (\n \n
\n \n \n {title}\n \n \n {subtitle}\n \n \n \n \n \n
\n \n
\n )\n}\n\nGenericForm.defaultProps = {\n formlist: null,\n image: null,\n}\n\nGenericForm.propTypes = {\n messageHandler: PropTypes.func,\n backgroundcolor: PropTypes.string.isRequired,\n formWidget: PropTypes.string.isRequired,\n formlist: PropTypes.array,\n image: PropTypes.object,\n subtitle: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport RichText from \"@src/components/RichText\"\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nexport default function SpeechBubble({ speechBubble }) {\n if (speechBubble?.json) {\n return (\n p\": {\n color: \"white\",\n \"> strong, > b\": {\n color: \"white\",\n },\n },\n }}\n >\n \n \n )\n }\n\n return null\n}\n\nSpeechBubble.defaultProps = {\n speechBubble: null,\n}\n\nSpeechBubble.propTypes = {\n speechBubble: PropTypes.object,\n}\n","/**@jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { useEffect, useRef } from \"react\"\nimport { jsx } from \"theme-ui\"\n\nfunction TrustBox({\n businessunitId,\n templateId,\n targetUrl,\n locale,\n tags,\n height,\n reviewLanguages,\n}) {\n const ref = useRef(null)\n\n useEffect(() => {\n if (window.Trustpilot) {\n window.Trustpilot.loadFromElement(ref.current, true)\n }\n }, [])\n\n return (\n \n \n Brocc on Trustpilot\n \n \n )\n}\n\nTrustBox.defaultProps = {\n height: null,\n}\n\nTrustBox.propTypes = {\n businessunitId: PropTypes.string.isRequired,\n height: PropTypes.string,\n locale: PropTypes.string.isRequired,\n reviewLanguages: PropTypes.string.isRequired,\n tags: PropTypes.string.isRequired,\n targetUrl: PropTypes.string.isRequired,\n templateId: PropTypes.string.isRequired,\n}\n\nexport default TrustBox\n","/** @jsx jsx */\nimport { graphql, useStaticQuery } from \"gatsby\"\nimport { useMemo } from \"react\"\nimport { jsx } from \"theme-ui\"\n\nimport TrustBox from \"@components/TrustBox\"\nimport useLocaleContext from \"@hooks/useLocaleContext\"\n\nexport default function Trustpilot() {\n const locale = useLocaleContext()\n\n const data = useStaticQuery(\n graphql`\n {\n trustpilotblocks: allContentfulTrustpilotBlock {\n nodes {\n configuration {\n businessunitId\n carouselTemplateId\n reviewLanguages\n tags\n targetUrl\n }\n node_locale\n }\n }\n }\n `\n )\n\n const { configuration } = useMemo(\n () =>\n data.trustpilotblocks.nodes.find(block => block.node_locale === locale),\n [data, locale]\n )\n\n return (\n
\n \n
\n )\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { Fragment } from \"react\"\nimport { Flex, jsx, Styled } from \"theme-ui\"\n\nimport Border from \"@components/Border\"\nimport Variant from \"@components/Variant\"\n\nimport BroccForm from \"./BroccForm\"\nimport Illustration from \"./Illustration\"\nimport List from \"./List\"\nimport SpeechBubble from \"./SpeechBubble\"\nimport Trustpilot from \"./Trustpilot\"\nimport RichText from \"@src/components/RichText\"\n\nexport default function LoanForm({\n backgroundcolor,\n formWidget,\n formlist,\n image,\n showTrustpilot,\n speechBubble,\n title,\n text,\n}) {\n function handleFormComplete(data) {\n if (data?.uid && typeof window !== \"undefined\") {\n window.location.replace(\n `${process.env.GATSBY_BROCC_APP_URL}/onboarding/${data.uid}`\n )\n }\n }\n\n return (\n \n \n \n \n {title}\n \n \n {text && }\n \n \n \n \n {showTrustpilot ? : null}\n \n \n \n )\n}\n\nLoanForm.defaultProps = {\n formlist: null,\n image: null,\n speechBubble: null,\n}\n\nLoanForm.propTypes = {\n backgroundcolor: PropTypes.string.isRequired,\n formWidget: PropTypes.string.isRequired,\n formlist: PropTypes.array,\n image: PropTypes.object,\n showTrustpilot: PropTypes.bool.isRequired,\n speechBubble: PropTypes.object,\n title: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nimport GenericForm from \"./GenericForm\"\nimport LoanForm from \"./LoanForm\"\n\nexport const fragment = graphql`\n fragment ContentfulFormBlock on ContentfulFormBlock {\n backgroundcolor\n formWidget\n text {\n json\n }\n formlist: list {\n id\n text\n }\n id\n image {\n fluid(maxWidth: 250, quality: 80) {\n ...GatsbyContentfulFluid\n }\n ...ImageFields\n }\n showTrustpilot\n speechBubble {\n json\n }\n subtitle\n title\n }\n`\n\nfunction handleDepositFormCompletion(data) {\n if (data?.uid && typeof window !== \"undefined\") {\n window.location.replace(\n `${process.env.GATSBY_BROCC_APP_URL}/login?redirect=/savings/onboarding/${data.uid}`\n )\n }\n}\n\nexport default function Form(props) {\n switch (props.formWidget) {\n case \"loan-application\":\n return \n case \"investment-application\":\n return \n case \"fixed-deposit-application\":\n return (\n \n )\n case \"flex-deposit-application\":\n return (\n \n )\n default:\n return null\n }\n}\n\nForm.typeName = \"ContentfulFormBlock\"\n\nForm.propTypes = {\n formWidget: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { Fragment } from \"react\"\nimport { jsx } from \"theme-ui\"\n\nimport Border from \"@components/Border\"\nimport Hero from \"@components/Hero\"\nimport Variant from \"@components/Variant\"\n\nexport const fragment = graphql`\n fragment ContentfulHeroBlock on ContentfulHeroBlock {\n body {\n body\n }\n roundedImage\n ctaLinks {\n href\n id\n slug\n title\n }\n heading {\n heading\n }\n id\n media {\n ...Media\n }\n simpleList: list {\n id\n items {\n id\n text\n }\n }\n }\n`\n\nexport default function HeroBlock({\n body,\n ctaLinks,\n heading,\n media,\n simpleList,\n roundedImage,\n}) {\n return (\n \n \n \n \n \n \n )\n}\n\nHeroBlock.typeName = \"ContentfulHeroBlock\"\n\nHeroBlock.defaultProps = {\n body: null,\n ctaLinks: null,\n simpleList: null,\n}\n\nHeroBlock.propTypes = {\n body: PropTypes.shape({\n body: PropTypes.string.isRequired,\n }),\n ctaLinks: PropTypes.arrayOf(\n PropTypes.shape({\n href: PropTypes.string,\n slug: PropTypes.string,\n title: PropTypes.string.isRequired,\n })\n ),\n heading: PropTypes.shape({\n heading: PropTypes.string.isRequired,\n }).isRequired,\n media: PropTypes.object.isRequired,\n node_locale: PropTypes.string.isRequired,\n simpleList: PropTypes.shape({\n title: PropTypes.string,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n }).isRequired\n ).isRequired,\n }),\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { Fragment } from \"react\"\nimport { jsx, Styled } from \"theme-ui\"\n\nexport default function Description({ text, title }) {\n return (\n \n

{title}

\n {text}\n
\n )\n}\n\nDescription.propTypes = {\n text: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { Fragment } from \"react\"\nimport { jsx } from \"theme-ui\"\n\nimport Image from \"@components/Image\"\nimport Variant from \"@components/Variant\"\n\nexport default function ImageWithTitle({ image, title }) {\n return (\n \n \n \n \n \n {title}\n \n \n )\n}\n\nImageWithTitle.propTypes = {\n image: PropTypes.object.isRequired,\n title: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\n\nimport PropTypes from \"prop-types\"\nimport { Grid, jsx } from \"theme-ui\"\n\nimport ImageWithTitle from \"./ImageWithTitle\"\n\nexport default function List({ illustrations }) {\n if (Array.isArray(illustrations) && illustrations.length) {\n return (\n \n {illustrations.map(({ id, image, title }) => (\n \n ))}\n \n )\n }\n return null\n}\n\nList.propTypes = {\n illustrations: PropTypes.array.isRequired,\n}\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { Fragment } from \"react\"\nimport { jsx } from \"theme-ui\"\n\nimport Border from \"@components/Border\"\nimport Variant from \"@components/Variant\"\n\nimport Description from \"./Description\"\nimport List from \"./List\"\n\nexport const fragment = graphql`\n fragment ContentfulHowItWorksBlock on ContentfulHowItWorksBlock {\n id\n illustrations {\n id\n image {\n fluid(maxWidth: 120) {\n ...GatsbyContentfulFluid\n }\n ...ImageFields\n }\n title\n }\n\n text {\n text\n }\n title\n }\n`\n\nexport default function HowItWorks({ illustrations, text: { text }, title }) {\n return (\n \n \n \n \n \n \n \n )\n}\n\nHowItWorks.typeName = \"ContentfulHowItWorksBlock\"\n\nHowItWorks.propTypes = {\n illustrations: PropTypes.array.isRequired,\n text: PropTypes.shape({ text: PropTypes.string }).isRequired,\n title: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport { Link as GatsbyLink } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nconst style = {\n variant: \"link\",\n color: \"primary\",\n fontSize: 3,\n fontWeight: \"bold\",\n}\n\nexport default function Link({ children, href, isInternal, slug }) {\n if (isInternal) {\n return (\n \n {children}\n \n )\n }\n\n return (\n \n {children}\n \n )\n}\n\nLink.defaultProps = {\n href: undefined,\n slug: undefined,\n}\n\nLink.propTypes = {\n children: PropTypes.node.isRequired,\n href: PropTypes.string,\n isInternal: PropTypes.bool.isRequired,\n slug: PropTypes.string,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { jsx, Styled } from \"theme-ui\"\n\nimport Link from \"./Link\"\n\nexport default function List({ links }) {\n if (Array.isArray(links) && links.length) {\n return (\n \n {links.map(link => (\n
  • \n {link.title}\n
  • \n ))}\n
    \n )\n }\n\n return null\n}\n\nList.defaultProps = {\n links: null,\n}\n\nList.propTypes = {\n links: PropTypes.array,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { Children } from \"react\"\nimport { jsx, Styled } from \"theme-ui\"\n\nexport default function Subtitle({ children, textAlign }) {\n const align = textAlign ? textAlign : \"center\"\n const extraMargin = textAlign === \"left\" ? \"20px\" : \"0px\"\n\n if (Children.count(children)) {\n return (\n \n {children}\n \n )\n }\n return null\n}\n\nSubtitle.defaultProps = {\n children: null,\n}\n\nSubtitle.propTypes = {\n children: PropTypes.node,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { Children } from \"react\"\nimport { jsx, Styled } from \"theme-ui\"\n\nexport default function Title({ children }) {\n if (Children.count(children)) {\n return (\n \n {children}\n \n )\n }\n return null\n}\n\nTitle.defaultProps = {\n children: null,\n}\n\nTitle.propTypes = {\n children: PropTypes.node,\n}\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { Grid, jsx } from \"theme-ui\"\n\nimport Media from \"@components/Media\"\nimport RichText from \"@components/RichText\"\nimport Variant from \"@components/Variant\"\n\nimport List from \"./List\"\nimport Subtitle from \"./Subtitle\"\nimport Title from \"./Title\"\n\nexport const fragment = graphql`\n fragment ContentfulTestimonialBlock on ContentfulTestimonialBlock {\n backgroundcolor\n id\n layout\n links {\n href\n id\n isInternal\n slug\n title\n }\n media {\n ...Media\n }\n subtitle\n text {\n json\n }\n textStyle\n title\n }\n`\n\nexport default function Testimonials({\n as,\n layout,\n links,\n media,\n subtitle,\n text,\n title,\n textStyle,\n}) {\n const imageLeft = layout === \"Image left\"\n\n return (\n \n \n \n \n \n {title && subtitle ? (\n {title}\n ) : (\n \n {title}\n \n )}\n {subtitle}\n \n {text?.json ? (\n \n ) : null}\n \n \n )\n}\n\nTestimonials.typeName = \"ContentfulTestimonialBlock\"\n\nTestimonials.defaultProps = {\n links: null,\n subtitle: undefined,\n text: null,\n title: undefined,\n}\n\nTestimonials.propTypes = {\n as: PropTypes.string.isRequired,\n layout: PropTypes.string.isRequired,\n links: PropTypes.array,\n media: PropTypes.object.isRequired,\n subtitle: PropTypes.string,\n text: PropTypes.shape({\n json: PropTypes.object,\n }),\n title: PropTypes.string,\n}\n","import Testimonials from \"@components/blocks/Testimonials\"\nimport PropTypes from \"prop-types\"\nimport React from \"react\"\n\nfunction getComponentByTypeName(typeName, props) {\n switch (typeName) {\n case Testimonials.typeName:\n return \n default:\n console.warn(`No matching component found for type ${typeName}`)\n break\n }\n}\n\nfunction BlockMapper({ blocks }) {\n return blocks\n ? blocks.map(({ __typename, ...rest }) =>\n getComponentByTypeName(__typename, rest)\n )\n : null\n}\n\nBlockMapper.propTypes = {\n blocks: PropTypes.array,\n}\n\nexport default BlockMapper\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { Fragment } from \"react\"\nimport { jsx } from \"theme-ui\"\n\nimport Border from \"@components/Border\"\n\nimport BlockMapper from \"./BlockMapper\"\n\nexport const fragment = graphql`\n fragment ContentfulListingBlock on ContentfulListingBlock {\n id\n blocks {\n __typename\n ...ContentfulTestimonialBlock\n }\n }\n`\n\nexport default function Listing({ blocks }) {\n if (Array.isArray(blocks) && blocks.length) {\n return (\n \n \n \n \n )\n }\n\n return null\n}\n\nListing.typeName = \"ContentfulListingBlock\"\n\nListing.propTypes = {\n blocks: PropTypes.array.isRequired,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { Flex, Grid, jsx, Styled } from \"theme-ui\"\n\nimport Image from \"@components/Image\"\nimport Variant from \"@components/Variant\"\n\nexport default function Link({ date, image, link, newspage, title }) {\n return (\n img\": {\n transform: \"translateX(4px)\",\n },\n },\n }}\n target=\"_blank\"\n >\n
    \n \n
    \n \n \n {newspage} {date}\n \n \n {title}\n \n \n \n \n )\n}\n\nLink.propTypes = {\n date: PropTypes.string.isRequired,\n image: PropTypes.object.isRequired,\n link: PropTypes.string.isRequired,\n newspage: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { jsx, Styled } from \"theme-ui\"\n\nimport Link from \"./Link\"\n\nexport default function List({ links }) {\n if (Array.isArray(links) && links.length) {\n return (\n \n {links.map(link => (\n \n \n \n ))}\n \n )\n }\n\n return null\n}\n\nList.defaultProps = {\n links: null,\n}\n\nList.propTypes = {\n links: PropTypes.array,\n}\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { jsx, Styled } from \"theme-ui\"\n\nimport Variant from \"@components/Variant\"\n\nimport List from \"./List\"\n\nexport const fragment = graphql`\n fragment ContentfulMediaBlock on ContentfulMediaBlock {\n id\n title\n links {\n id\n date\n image {\n ...FluidImageFields\n ...ImageFields\n }\n link\n newspage\n title\n }\n }\n`\n\nexport default function Media({ links, title }) {\n return (\n \n
    \n {title}\n \n \n )\n}\n\nMedia.typeName = \"ContentfulMediaBlock\"\n\nMedia.defaultProps = {\n links: null,\n}\n\nMedia.propTypes = {\n links: PropTypes.array,\n title: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport { Link as GatsbyLink } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nexport default function Link({ children, href, slug }) {\n if (slug) {\n return (\n \n {children}\n \n )\n }\n\n if (href) {\n return (\n \n {children}\n \n )\n }\n\n return null\n}\n\nLink.defaultProps = {\n children: null,\n href: undefined,\n slug: undefined,\n}\n\nLink.propTypes = {\n children: PropTypes.node,\n href: PropTypes.string,\n slug: PropTypes.string,\n}\n","/** @jsx jsx */\nimport { Link } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { Grid, jsx, Styled } from \"theme-ui\"\n\nimport Card from \"@components/Newspage/Card\"\nimport Category from \"@components/Newspage/Category\"\n\nexport default function Posts({ posts }) {\n if (Array.isArray(posts) && posts.length) {\n return (\n \n {posts.map(post => (\n \n \n \n {post.postTitle}\n

    \n {post.excerpt}\n

    \n
    \n \n ))}\n
    \n )\n }\n\n return null\n}\n\nPosts.defaultProps = {\n posts: null,\n}\n\nPosts.propTypes = {\n posts: PropTypes.array,\n}\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { jsx, Styled } from \"theme-ui\"\n\nimport Variant from \"@components/Variant\"\n\nimport Link from \"./Link\"\nimport Posts from \"./Posts\"\n\nexport const fragment = graphql`\n fragment ContentfulNewsBlock on ContentfulNewsBlock {\n id\n link {\n href\n slug\n title\n }\n posts {\n categories\n excerpt\n id\n postTitle\n slug\n }\n title\n }\n`\n\nexport default function News({ link, posts, title }) {\n return (\n \n {title}\n \n \n {link.title}\n \n \n )\n}\n\nNews.typeName = \"ContentfulNewsBlock\"\n\nNews.defaultProps = {\n posts: null,\n}\n\nNews.propTypes = {\n link: PropTypes.object.isRequired,\n posts: PropTypes.array,\n title: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { Fragment } from \"react\"\nimport { jsx } from \"theme-ui\"\n\nimport Border from \"@components/Border\"\n\nimport Testimonials from \"./Testimonials\"\n\nexport default function TestimonialsWithBorder(props) {\n return (\n \n
    \n \n
    \n \n
    \n )\n}\n\nTestimonialsWithBorder.typeName = \"ContentfulTestimonialBlock\"\n\nTestimonialsWithBorder.propTypes = {\n backgroundcolor: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport RichText from \"@src/components/RichText\"\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { Fragment } from \"react\"\nimport { jsx, Styled } from \"theme-ui\"\n\nimport Border from \"@components/Border\"\nimport Variant from \"@components/Variant\"\nimport Title from \"@src/components/Hero/Title\"\n\nexport const fragment = graphql`\n fragment ContentfulTextTemplateBlock on ContentfulTextTemplateBlock {\n image {\n file {\n url\n }\n }\n jumpLinkId\n preamble {\n json\n }\n centeredHeading\n text {\n json\n }\n id\n }\n`\n\nexport default function TextTemplate({\n preamble,\n text,\n centeredHeading,\n image,\n jumpLinkId,\n}) {\n return (\n \n {jumpLinkId && (\n \n )}\n \n {centeredHeading && (\n \n {centeredHeading}\n \n )}\n {image?.file?.url && (\n \n )}\n {preamble && (\n
    \n \n
    \n )}\n \n \n \n \n \n
    \n )\n}\n\nTextTemplate.typeName = \"ContentfulTextTemplateBlock\"\n\nTextTemplate.defaultProps = {\n preamble: undefined,\n}\n\nTextTemplate.propTypes = {\n preamble: PropTypes.shape({ json: PropTypes.object.isRequired }),\n text: PropTypes.shape({ json: PropTypes.object.isRequired }).isRequired,\n}\n","/** @jsx jsx */\n\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { Fragment } from \"react\"\nimport { jsx, Styled } from \"theme-ui\"\n\nimport Border from \"@components/Border\"\nimport TrustBox from \"@components/TrustBox\"\nimport Variant from \"@components/Variant\"\n\nexport const fragment = graphql`\n fragment ContentfulTrustpilotBlock on ContentfulTrustpilotBlock {\n id\n title\n node_locale\n configuration {\n businessunitId\n tags\n reviewLanguages\n carouselTemplateId\n targetUrl\n }\n description {\n description\n }\n }\n`\n\nfunction Trustpilot({\n title,\n node_locale,\n configuration: {\n businessunitId,\n carouselTemplateId,\n targetUrl,\n reviewLanguages,\n tags,\n },\n description: { description },\n}) {\n return (\n \n \n {title}\n
    \n \n\n \n {description}\n

    \n
    \n \n \n
    \n )\n}\n\nTrustpilot.typeName = \"ContentfulTrustpilotBlock\"\n\nTrustpilot.propTypes = {\n configuration: PropTypes.shape({\n businessunitId: PropTypes.string.isRequired,\n reviewLanguages: PropTypes.string.isRequired,\n tags: PropTypes.string.isRequired,\n targetUrl: PropTypes.string.isRequired,\n carouselTemplateId: PropTypes.string.isRequired,\n }).isRequired,\n node_locale: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n desription: PropTypes.shape({\n description: PropTypes.string.isRequired,\n }),\n}\n\nexport default Trustpilot\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { Fragment } from \"react\"\nimport { jsx, Styled } from \"theme-ui\"\n\nimport Border from \"@components/Border\"\nimport Image from \"@components/Image\"\nimport Variant from \"@components/Variant\"\n\nexport const fragment = graphql`\n fragment ContentfulWelcomeBlock on ContentfulWelcomeBlock {\n id\n image {\n ...FluidImageFields\n ...ImageFields\n }\n text {\n text\n }\n title\n }\n`\n\nexport default function Welcome({\n image: { file, fluid, title: imageTitle },\n text: { text },\n title,\n}) {\n return (\n \n \n

    {title}

    \n \n {text}\n \n
    \n \n
    \n \n \n
    \n )\n}\n\nWelcome.typeName = \"ContentfulWelcomeBlock\"\n\nWelcome.propTypes = {\n image: PropTypes.shape({\n file: PropTypes.shape({\n url: PropTypes.string.isRequired,\n details: PropTypes.shape({\n image: PropTypes.shape({\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n }).isRequired,\n }).isRequired,\n }).isRequired,\n fluid: PropTypes.object,\n title: PropTypes.string.isRequired,\n }).isRequired,\n text: PropTypes.shape({\n text: PropTypes.string.isRequired,\n }).isRequired,\n title: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport { jsx } from \"theme-ui\"\nimport \"./Loading.css\"\n\nconst Loading = () => (\n \n \n \n)\n\nexport default Loading\n","/** @jsx jsx */\nimport { Fragment, useEffect, useState } from \"react\"\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { jsx, Styled } from \"theme-ui\"\n\nimport Variant from \"@components/Variant\"\nimport Border from \"@src/components/Border\"\nimport useLocaleContext from \"@src/hooks/useLocaleContext\"\n\nimport Loading from \"./Loading/Loading\"\nimport { formatDate, formatNumber } from \"./helper\"\n\nexport const fragment = graphql`\n fragment ContentfulDepositTermsBlock on ContentfulDepositTermsBlock {\n id\n title\n depositTermsUrl\n }\n`\n\nexport default function DepositTerms({ title, depositTermsUrl }) {\n const locale = useLocaleContext()\n\n const [termsData, setTermsData] = useState([])\n const [isLoading, setIsLoading] = useState(true)\n\n const currentDate = formatDate(new Date())\n\n const currentTerms =\n termsData.length > 0 ? (\n \n \n \n \n \n \n \n \n {termsData?.map(item => {\n const termName =\n item.term_period < 12\n ? `${item.term_period} mån`\n : `${item.term_period / 12} år`\n return (\n \n \n \n \n )\n })}\n \n
    BindningstidAktuell ränta
    {item.type === \"flex\" ? \"Rörlig\" : termName}\n {formatNumber(locale, item.interest_rate, {\n style: \"percent\",\n })}\n
    \n ) : (\n

    \n Just nu verkar våra aktuella räntor och bindningstider inte kunna visas,\n ladda om sidan eller försök igen senare.\n

    \n )\n\n useEffect(() => {\n setIsLoading(true)\n fetch(depositTermsUrl)\n .then(response => response.json())\n .then(({ data }) => {\n const sortedData = data.sort((a, b) => {\n if (a.term_period === null) return -1\n if (b.term_period === null) return 1\n return a.term_period - b.term_period\n })\n setTermsData(sortedData)\n setIsLoading(false)\n })\n .catch(() => setIsLoading(false))\n }, [])\n\n return (\n \n \n \n {title}\n \n {isLoading ? (\n \n \n \n ) : (\n \n {currentTerms}\n {termsData.length > 0 && (\n \n Aktuella räntor {currentDate}\n \n )}\n \n )}\n \n \n \n )\n}\n\nDepositTerms.typeName = \"ContentfulDepositTermsBlock\"\n\nDepositTerms.defaultProps = {\n title: \"\",\n depositTermsUrl: \"\",\n}\n\nDepositTerms.propTypes = {\n title: PropTypes.string.isRequired,\n depositTermsUrl: PropTypes.string.isRequired,\n}\n","export const formatNumber = (locale, value, options) => {\n const numberFormat = new Intl.NumberFormat(locale, {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n currency: \"SEK\",\n roundingMode: \"floor\",\n ...options,\n })\n return numberFormat.format(value)\n}\n\nexport const formatDate = date => {\n let year = date.getFullYear()\n let month = String(date.getMonth() + 1).padStart(2, \"0\")\n let day = String(date.getDate()).padStart(2, \"0\")\n let formattedDate = `${year}-${month}-${day}`\n\n return formattedDate\n}\n","/** Components */\nimport BoardAndManagement from \"@components/blocks/BoardAndManagement\"\nimport Contact from \"@components/blocks/Contact\"\nimport Documents from \"@components/blocks/Documents\"\nimport DocumentsTwoColumn from \"@components/blocks/DocumentsTwoColumn\"\nimport Faq from \"@components/blocks/Faq\"\nimport Feature from \"@components/blocks/Feature\"\nimport Form from \"@components/blocks/Form\"\nimport HeroBlock from \"@components/blocks/HeroBlock\"\nimport HowItWorks from \"@components/blocks/HowItWorks\"\nimport Listing from \"@components/blocks/Listing\"\nimport Media from \"@components/blocks/Media\"\nimport News from \"@components/blocks/News\"\nimport SimpleContact from \"@components/blocks/SimpleContact\"\nimport SimpleHero from \"@components/blocks/SimpleHero\"\nimport TestimonialsWithBorder from \"@components/blocks/TestimonialsWithBorder\"\nimport TextTemplate from \"@components/blocks/TextTemplate\"\nimport Trustpilot from \"@components/blocks/Trustpilot\"\nimport Welcome from \"@components/blocks/Welcome\"\nimport DepositTerms from \"@components/blocks/DepositTerms\"\nimport PropTypes from \"prop-types\"\nimport React from \"react\"\n\nfunction getComponentByTypeName(typeName, props) {\n switch (typeName) {\n case BoardAndManagement.typeName:\n return \n case Contact.typeName:\n return \n case Documents.typeName:\n return \n case DocumentsTwoColumn.typeName:\n return \n case Faq.typeName:\n return \n case Feature.typeName:\n return \n case Form.typeName:\n return
    \n case HeroBlock.typeName:\n return \n case Listing.typeName:\n return \n case Media.typeName:\n return \n case News.typeName:\n return \n case SimpleContact.typeName:\n return \n case SimpleHero.typeName:\n return \n case TestimonialsWithBorder.typeName:\n return \n case TextTemplate.typeName:\n return \n case Trustpilot.typeName:\n return \n case Welcome.typeName:\n return \n case HowItWorks.typeName:\n return \n case DepositTerms.typeName:\n return \n default:\n console.warn(`No matching component found for type ${typeName}`)\n break\n }\n}\n\nfunction ContentBlockMapper({ blocks }) {\n return blocks\n ? blocks.map(({ __typename, ...rest }) =>\n getComponentByTypeName(__typename, rest)\n )\n : null\n}\n\nContentBlockMapper.propTypes = {\n blocks: PropTypes.array,\n}\n\nexport default ContentBlockMapper\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nimport ContentBlockMapper from \"@components/ContentBlockMapper\"\n\nfunction Page({ page }) {\n const { contentBlocks } = page\n return \n}\n\nPage.propTypes = {\n page: PropTypes.shape().isRequired,\n}\n\nexport const fragment = graphql`\n fragment Page on ContentfulPage {\n contentBlocks {\n __typename\n ...ContentfulBoardManagementBlock\n ...ContentfulContactBlock\n ...ContentfulDocumentBlock\n ...ContentfulDocument2ColumnBlock\n ...ContentfulFaqBlock\n ...ContentfulFeatureBlock\n ...ContentfulFormBlock\n ...ContentfulHeroBlock\n ...ContentfulHowItWorksBlock\n ...ContentfulListingBlock\n ...ContentfulMediaBlock\n ...ContentfulNewsBlock\n ...ContentfulSimpleContactBlock\n ...ContentfulSimpleHeroBlock\n ...ContentfulTestimonialBlock\n ...ContentfulTextTemplateBlock\n ...ContentfulTrustpilotBlock\n ...ContentfulWelcomeBlock\n ...ContentfulDepositTermsBlock\n }\n contentful_id\n id\n slug\n title\n }\n`\n\nexport default Page\n","import { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport React, { Fragment } from \"react\"\n\nimport Page from \"@components/Page\"\nimport Seo from \"@components/Seo\"\n\nexport default function PageTemplate({ data }) {\n return (\n \n {/* */}\n \n \n )\n}\n\nexport const query = graphql`\n query ContentfulPageQuery($node_id: String!) {\n contentfulPage(id: { eq: $node_id }) {\n ...Page\n }\n }\n`\n\nPageTemplate.propTypes = {\n data: PropTypes.shape().isRequired,\n}\n"],"sourceRoot":""}