{"version":3,"sources":["webpack:///./src/components/parallax.tsx","webpack:///./src/portfolio/components/portfolio-card.tsx","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/react-feather/dist/icons/mail.js","webpack:///./node_modules/react-feather/dist/icons/phone.js","webpack:///./node_modules/react-feather/dist/icons/map-pin.js","webpack:///./node_modules/react-feather/dist/icons/send.js","webpack:///./config.ts","webpack:///./src/components/sociallinks.tsx","webpack:///./src/components/contact.tsx","webpack:///./src/components/bk/projects.tsx","webpack:///./src/components/bk/team.tsx","webpack:///./src/pages/index.tsx"],"names":["Parallax","_React$Component","props","_this","call","getWindowHeight","w","window","d","document","e","documentElement","g","getElementsByTagName","innerHeight","clientHeight","getWindowWidth","innerWidth","clientWidth","isScrolledIntoView","element","offset","useDOM","elementTop","getBoundingClientRect","top","elementBottom","bottom","onScroll","stamp","Date","now","timestamp","node","current","canUseDom","changePercentage","percentage","getRelativePosition","getPercentage","startpos","endpos","currentpos","_element$getBoundingC","height","parentHeight","getNodeHeight","maxHeight","y","Math","round","React","createRef","createElement","state","_inheritsLoose","_proto","prototype","this","componentDidMount","addEventListener","componentWillUnmount","removeEventListener","render","data-testid","ref","children","Component","PortfolioCard","_ref","text","limit","data","even","_useState","useState","animated","changeState","updateState","p","_objectSpread","transform","useRef","useEffect","min","max","className","cns","Img","fluid","frontmatter","image","childImageSharp","alt","title","description","length","substring","Button","to","fields","slug","modal","iconRight","ArrowRight","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_extends","Object","assign","target","i","source","hasOwnProperty","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","Mail","_ref$color","color","_ref$size","size","rest","xmlns","width","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","points","displayName","Phone","MapPin","cx","cy","r","Send","x1","y1","x2","y2","siteMetadata","siteName","siteUrl","capitalizeTitleOnHome","logo","icon","titleImage","ogImage","twoColumnWall","introTag","aboutText","offerText","author","portfolioItemsPerPage","darkmode","switchTheme","cookiePolicy","sourcePages","navLinks","name","url","id","footerLinks","social","contact","api_url","mail","phone","navUrl","address","contactFormSubmit","API","graphql","graphqlOperation","from","email","content","message","isSuccess","_x","defaults","disqus","forEach","item","ListItem","Link","href","src","socialLinks","list","staticQueryData","site","map","Form","_feedback$","_feedback$2","_feedback$3","_feedback$4","_feedback$5","changeData","_useState2","feedback","setFeedback","_useState3","transactionState","setTransactionState","updateData","v","onSubmit","event","preventDefault","validate","errors","trim","push","code","match","result","beforeContactFormSubmit","errs","4","type","TextInput","label","onChange","footer","FormMessage","show","disabled","IconRight","spin","Description","_ref2","SocialLinks","_ref3","_ref3$spin","style","display","verticalAlign","animationDuration","Loader","_ref4","projectListItems","Projects","projectList","index","EmployeeImage","description2","Team","items","edges","localFile","IndexPage","siteData","portfolioList","portfolio","ItemPortfolio","Fragment","Helmet","Wall","wallImage","About","Section","Offer","Contact","wall","loaded","supportsBlend","CSS","supports","classList","add","innerComponents","Logo","ScrollIntoView","selector","background","_ref3$id","_ref3$children","Heading","_ref4$id","_ref4$children","_ref5","_ref5$id","_ref5$children","_ref6","hasContactForm","api","ContactDescription","query"],"mappings":"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","file":"component---src-pages-index-tsx-8a2194473e43cc7d9f24.js","sourcesContent":["import React from 'react';\n\nexport function canUseDOM() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}\n\nexport type ParallaxProps = {\n changePercentage: ({ percentage: number }) => void;\n};\n\nclass Parallax extends React.Component {\n node: React.RefObject;\n timestamp: number;\n canUseDom: boolean;\n\n constructor(props) {\n super(props);\n\n this.node = React.createRef();\n this.timestamp = 0;\n this.canUseDom = canUseDOM();\n this.state = {\n percentage: 0,\n };\n }\n\n getWindowHeight = () => {\n const w = window;\n const d = document;\n const e = d.documentElement;\n // eslint-disable-next-line prefer-destructuring\n const g = d.getElementsByTagName('body')[0];\n\n return w.innerHeight || e.clientHeight || g.clientHeight;\n };\n\n getWindowWidth = () => {\n const w = window;\n const d = document;\n const e = d.documentElement;\n // eslint-disable-next-line prefer-destructuring\n const g = d.getElementsByTagName('body')[0];\n\n return w.innerWidth || e.clientWidth || g.clientWidth;\n };\n\n isScrolledIntoView = (element, offset = 0, useDOM: boolean) => {\n if (!useDOM) {\n return false;\n }\n const elementTop = element.getBoundingClientRect().top - offset;\n const elementBottom = element.getBoundingClientRect().bottom + offset;\n return elementTop <= this.getWindowHeight() && elementBottom >= 0;\n };\n\n onScroll = () => {\n const stamp = Date.now();\n if (\n stamp - this.timestamp >= 20 &&\n this.isScrolledIntoView(this.node.current, 100, this.canUseDom)\n ) {\n this.props.changePercentage({\n percentage: 1 - this.getRelativePosition(this.node.current, this.canUseDom),\n });\n this.timestamp = stamp;\n }\n };\n\n getPercentage = (startpos: number, endpos: number, currentpos: number) => {\n const distance = endpos - startpos;\n const displacement = currentpos - startpos;\n return displacement / distance || 0;\n };\n\n getRelativePosition = (node: HTMLElement, useDOM: boolean) => {\n if (!useDOM) {\n return 0;\n }\n const element = node;\n const { top, height } = element.getBoundingClientRect();\n const parentHeight = this.getNodeHeight(element, this.canUseDom);\n const maxHeight = height > parentHeight ? height : parentHeight;\n const y = Math.round(top > maxHeight ? maxHeight : top);\n return this.getPercentage(-height, maxHeight, y);\n };\n\n getNodeHeight(node: HTMLElement | Document, useDOM: boolean) {\n if (!useDOM) {\n return 0;\n }\n if (!node || !('clientHeight' in node)) {\n return this.getWindowHeight();\n }\n return node.clientHeight;\n }\n\n componentDidMount() {\n if (this.getWindowWidth() > 1024) {\n window.addEventListener('scroll', this.onScroll);\n }\n }\n\n componentWillUnmount() {\n window.removeEventListener('scroll', this.onScroll);\n }\n\n render() {\n return (\n
\n {this.props.children}\n
\n );\n }\n}\n\nexport default Parallax;\n","import React, { useEffect, useRef, useState } from 'react';\n\nimport { ArrowRight } from 'react-feather';\nimport { Button } from '../../components/ui';\nimport Img from 'gatsby-image';\nimport Parallax from '../../components/parallax';\nimport { PortfolioListQuery_allMdx_edges_node } from '../__generated__/PortfolioListQuery';\nimport cns from 'classnames';\n\ntype ItemPortfolioProps = { data: Partial; even: boolean };\n\nconst truncateText = (text: string, limit = 120) =>\n text.length > limit ? `${text.substring(0, limit)}...` : text;\n\nexport const PortfolioCard: React.FC = ({ data, even }) => {\n const [state, changeState] = useState({\n animated: false,\n percentage: 0,\n });\n\n const getWindowHeight = () => {\n const w = window;\n const d = document;\n const e = d.documentElement;\n // eslint-disable-next-line prefer-destructuring\n const g = d.getElementsByTagName('body')[0];\n return w.innerHeight || e.clientHeight || g.clientHeight;\n };\n\n const getWindowWidth = () => {\n const w = window;\n const d = document;\n const e = d.documentElement;\n // eslint-disable-next-line prefer-destructuring\n const g = d.getElementsByTagName('body')[0];\n return w.innerWidth || e.clientWidth || g.clientWidth;\n };\n\n const updateState = p => changeState({ ...state, ...p });\n\n const percentageThreshold = 0.3;\n\n const transform = useRef(0);\n\n useEffect(() => {\n transform.current =\n Math.min(getWindowHeight() / 2, 300) * Math.max(0, state.percentage - percentageThreshold);\n\n if (getWindowWidth() < 1024) {\n updateState({\n animated: true,\n });\n }\n }, [state.percentage]);\n\n if (state.percentage > percentageThreshold && !state.animated) updateState({ animated: true });\n\n return (\n \n
\n \n
\n
\n \n
\n
\n
\n
\n

\n {data.frontmatter.title}\n

\n

{truncateText(data.frontmatter.description)}

\n }\n />\n
\n
\n
\n \n
\n );\n};\n\nexport default PortfolioCard;\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\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 return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\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 return target;\n}\nimport React, { forwardRef } from 'react';\nvar Mail = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n points: \"22,6 12,13 2,6\"\n }));\n});\nMail.displayName = 'Mail';\nexport default Mail;","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\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 return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\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 return target;\n}\nimport React, { forwardRef } from 'react';\nvar Phone = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"\n }));\n});\nPhone.displayName = 'Phone';\nexport default Phone;","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\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 return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\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 return target;\n}\nimport React, { forwardRef } from 'react';\nvar MapPin = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"12\",\n cy: \"10\",\n r: \"3\"\n }));\n});\nMapPin.displayName = 'MapPin';\nexport default MapPin;","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\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 return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\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 return target;\n}\nimport React, { forwardRef } from 'react';\nvar Send = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"22\",\n y1: \"2\",\n x2: \"11\",\n y2: \"13\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"22 2 15 22 11 13 2 9 22 2\"\n }));\n});\nSend.displayName = 'Send';\nexport default Send;","import API, { graphqlOperation } from '@aws-amplify/api';\n\nexport const sendEmail = /* GraphQL */ `\n mutation sendEmail($from: String!, $content: String!, $name: String) {\n sendEmail(from: $from, content: $content, name: $name) {\n id\n result\n }\n }\n`;\n\nconst siteMetadata = {\n title: `be37`,\n siteName: 'Be37 Pracownia Projektowa',\n siteUrl: 'https://www.be37.pl',\n capitalizeTitleOnHome: false,\n logo: `/images/logo.png`,\n icon: `/images/icon.png`,\n titleImage: `/images/wall.jpg`,\n ogImage: `/images/wall.jpg`,\n twoColumnWall: true,\n introTag: `BIURO KONSTRUKCYJNE`,\n description: `Be37 to pracownia projektowa specjalizująca się w projektowaniu konstrukcji budowlanych i inżynierskich`,\n aboutText: `Be37 to pracownia projektowa oferująca swoje usługi Architektom i Inwestorom w zakresie projektowania\n konstrukcji budowlanych i inżynierskich.\n Pracujący tu inżynierowie zapewniają profesjonalną współpracę przy realizacji procesu budowlanego we\n wszystkich jego fazach, od koncepcji poprzez projekt, do realizacji włącznie.\n Posiadamy wieloletnie doświadczenie w projektowaniu konstrukcji budowlanych różnego typu: konstrukcje\n żelbetowe, stalowe, drewniane, murowane.`,\n offerText: `Zapewniamy profesjonalną współpracę przy realizacji procesu budowlanego we wszystkich jego fazach, od koncepcji poprzez projekt, do realizacji włącznie.`,\n author: `BIT Bartosz Szpinda`,\n portfolioItemsPerPage: 20,\n darkmode: false,\n switchTheme: false,\n // cookiePolicy: 'Serwis wykorzystuje pliki Cookies do celów statystycznych. Jeśli nie blokujesz tych plików, to zgadzasz się na ich użycie oraz zapisanie w pamięci urządzenia. Pamiętaj, że możesz samodzielnie zarządzać cookies, zmieniając ustawienia przeglądarki.',\n cookiePolicy: '',\n sourcePages: {},\n navLinks: [\n {\n name: 'Kontakt',\n url: '/contact',\n id: '#contact',\n },\n {\n name: 'Oferta',\n url: '/offer',\n id: '#offer',\n },\n {\n name: 'Zespół',\n url: '/team',\n id: '#team',\n },\n {\n name: 'Realizacje',\n url: '/portfolio',\n id: '#portfolio',\n },\n ],\n footerLinks: [],\n social: [\n {\n name: 'Facebook',\n icon: '/images/Facebook.svg',\n url: 'https://www.facebook.com/be37konstrukcja',\n },\n {\n name: 'Google Maps',\n icon: '/images/GoogleMaps.svg',\n url:\n 'https://www.google.com/maps/search/?api=1&query=50.0270367,19.9017593&query_place_id=ChIJH3v1f6NcFkcRII9B8MORPfE',\n },\n ],\n contact: {\n api_url: 'https://dihi737yujcapgxqltt3feavhu.appsync-api.eu-central-1.amazonaws.com/graphql',\n description: ``,\n mail: ['biuro@be37.pl', 'dorota.szpinda@be37.pl'],\n phone: ['12 346 18 25', '664 492 728', '608 691 246'],\n navUrl:\n 'https://www.google.com/maps/search/?api=1&query=50.0270367,19.9017593&query_place_id=ChIJH3v1f6NcFkcRII9B8MORPfE',\n address: 'ul. Na Grządkach 5/7 \\n30-421 Kraków',\n },\n};\n\ntype FormData = {\n name: string;\n email: string;\n message: string;\n};\n\nconst beforeContactFormSubmit = (data: FormData) => {\n // Code 0 - success\n // Code 1 - Name\n // Code 2 - Email\n // Code 3 - Message\n // Code 4 - Other\n const errors = [];\n\n if (data.name.trim().length < 2) {\n errors.push({\n code: 1,\n message: 'Wprowadź imię i nazwisko',\n });\n }\n\n if (!data.email.match(/[^@ \\t\\r\\n]+@[^@ \\t\\r\\n]+\\.[^@ \\t\\r\\n]+/)) {\n errors.push({\n code: 2,\n message: 'Wprowadź poprawny adres email',\n });\n }\n\n if (data.message.trim().length < 15) {\n errors.push({\n code: 3,\n message: 'Wiadomość powinna zawierać minimum 15 znaków',\n });\n }\n\n if (errors.length > 0)\n return {\n result: false,\n errors: errors,\n };\n\n return {\n data: {\n name: data.name,\n email: data.email,\n message: data.message,\n },\n result: true,\n };\n};\n\nconst contactFormSubmit = async (data: FormData) => {\n try {\n await API.graphql(\n graphqlOperation(sendEmail, {\n from: data.email,\n content: data.message,\n name: data.name,\n }),\n );\n return {\n isSuccess: true,\n };\n } catch (err) {\n return {\n isSuccess: false,\n };\n }\n};\n\nconst defaults = {\n disqus: null,\n twoColumnWall: true,\n darkmode: false,\n switchTheme: true,\n capitalizeTitleOnHome: true,\n};\n\nObject.keys(defaults).forEach(item => {\n if (siteMetadata[item] === undefined) {\n siteMetadata[item] = defaults[item];\n }\n});\n\nexport { siteMetadata, beforeContactFormSubmit, contactFormSubmit };\n","import { graphql, useStaticQuery } from 'gatsby';\n\nimport { Link } from '../components/utils';\nimport React from 'react';\n\nconst ListItem = ({ data }) => {\n return (\n
  • \n \n {data.name}\n \n
  • \n );\n};\n\nexport default function socialLinks() {\n const data = useStaticQuery(graphql`\n query SocialQuery {\n site {\n siteMetadata {\n social {\n name\n url\n icon\n }\n }\n }\n }\n `);\n\n const items = data.site.siteMetadata.social;\n const list = items.map((e, i) => );\n return
      {list}
    ;\n}\n","import { Button, TextInput } from './ui';\r\nimport { Loader, Mail, MapPin, Phone, Send } from 'react-feather';\r\nimport React, { useState } from 'react';\r\nimport { beforeContactFormSubmit, contactFormSubmit } from '../../config';\r\n\r\nimport { IndexPageQuery_site_siteMetadata_contact } from '../pages/__generated__/IndexPageQuery';\r\nimport { Link } from './utils';\r\nimport SocialLinks from './sociallinks';\r\n\r\ntype FeedbackState = { [id: number]: { message?: string; type?: string } };\r\n\r\nconst Form: React.FC<{ api: string }> = () => {\r\n const [data, changeData] = useState({\r\n name: '',\r\n email: '',\r\n message: '',\r\n });\r\n\r\n const [feedback, setFeedback] = useState({});\r\n const [transactionState, setTransactionState] = useState(false);\r\n\r\n const updateData = v => changeData({ ...data, ...v });\r\n\r\n return (\r\n {\r\n event.preventDefault();\r\n setTransactionState(true);\r\n\r\n const validate = beforeContactFormSubmit(data);\r\n\r\n if (!validate.result) {\r\n const errs = {};\r\n validate.errors.forEach(err => {\r\n errs[err.code] = { message: err.message };\r\n });\r\n setFeedback(errs);\r\n setTransactionState(false);\r\n return;\r\n }\r\n\r\n setFeedback({});\r\n setTransactionState(false);\r\n\r\n const { isSuccess } = await contactFormSubmit(validate.data);\r\n if (isSuccess) {\r\n setFeedback({\r\n 4: {\r\n type: 'success',\r\n message: 'Twoja wiadomość została wysłana.',\r\n },\r\n });\r\n return;\r\n }\r\n setFeedback({\r\n 4: {\r\n message: 'Ups, wystąpił problem. Spróbuj ponownie później.',\r\n },\r\n });\r\n }}\r\n >\r\n \r\n updateData({\r\n name: e.target.value,\r\n })\r\n }\r\n footer={\r\n \r\n }\r\n />\r\n \r\n updateData({\r\n email: e.target.value,\r\n })\r\n }\r\n footer={\r\n \r\n }\r\n />\r\n \r\n updateData({\r\n message: e.target.value,\r\n })\r\n }\r\n footer={\r\n \r\n }\r\n />\r\n
    \r\n \r\n\r\n }\r\n />\r\n
    \r\n \r\n );\r\n};\r\n\r\nconst Description: React.FC<{ data: IndexPageQuery_site_siteMetadata_contact }> = ({ data }) => {\r\n return (\r\n
    \r\n {data.description &&

    {data.description}

    }\r\n
      \r\n {data.mail.map((mail, i) => (\r\n
    • \r\n \r\n \r\n \r\n \r\n {mail}\r\n \r\n
    • \r\n ))}\r\n
      \r\n {data.phone.map((phone, i) => (\r\n
    • \r\n \r\n \r\n \r\n \r\n {phone}\r\n \r\n
    • \r\n ))}\r\n {data.address && (\r\n
    • \r\n \r\n \r\n \r\n \r\n

      {data.address}

      \r\n \r\n
    • \r\n )}\r\n
    • \r\n \r\n
    • \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst IconRight = ({ spin = false }) => {\r\n if (spin) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n return ;\r\n};\r\n\r\ntype FormMessageProps = { show: boolean; type: string; message: string };\r\nconst FormMessage: React.FC = ({ show, type, message }) => {\r\n if (!show) return null;\r\n return

    {message}

    ;\r\n};\r\n\r\nexport { Form, Description };\r\n","import React from 'react';\n\nconst projectListItems = [\n 'Projekty koncepcyjne',\n 'Projekty budowlane',\n 'Projekty przetargowe',\n 'Projekty wykonawcze',\n 'Projekty rozbiórki',\n 'Projekty autorskie',\n];\n\nexport const Projects = () => {\n const projectList = projectListItems.map((text, index) => (\n \n
    \n
    {text}
    \n \n ));\n\n return
    {projectList}
    ;\n};\n","import { graphql, useStaticQuery } from 'gatsby';\n\nimport { EmployeeQuery } from './__generated__/EmployeeQuery';\nimport React from 'react';\nimport Img from 'gatsby-image';\n\nconst EmployeeImage = ({ image, title, name, email, description, description2 }) => {\n return (\n
    \n {name\n
    \n

    {title}

    \n
    {name}
    \n \n {email}\n \n {description &&

    {description}

    }\n {description2 &&

    {description2}

    }\n
    \n
    \n );\n};\n\nexport const Team = () => {\n const data: EmployeeQuery = useStaticQuery(graphql`\n query EmployeeQuery {\n items: allEmployeeJson {\n edges {\n node {\n id\n name\n title\n email\n description\n description2\n baseImagePath\n localFile {\n childImageSharp {\n id\n fluid(maxWidth: 720) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n }\n }\n }\n }\n `);\n\n return (\n
    \n
    \n {data.items.edges.map(({ node }) => (\n \n ))}\n
    \n
    \n );\n};\n","import { Button, Heading } from '../components/ui';\nimport { Description as ContactDescription, Form } from '../components/contact';\nimport { IndexPageQuery, IndexPageQuery_site_siteMetadata } from './__generated__/IndexPageQuery';\nimport { PageProps, graphql } from 'gatsby';\nimport { Projects, Team } from '../components/bk';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport Helmet from 'react-helmet';\nimport Img from 'gatsby-image';\nimport ItemPortfolio from '../portfolio/components/portfolio-card';\nimport { Logo } from '../components/utils';\nimport ScrollIntoView from 'react-scroll-into-view';\n\nexport default function IndexPage({ data }: PageProps) {\n const siteData = data.site.siteMetadata;\n const portfolioList = data.portfolio.edges.map((item, index) => (\n \n ));\n return (\n <>\n \n \n\n \n\n
    \n \n
    \n\n \n
    \n \n
    \n
    \n\n
    \n
    {portfolioList}
    \n
    \n\n
    \n \n
    \n \n );\n}\n\nconst Wall: React.FC<{ data: IndexPageQuery_site_siteMetadata; image: any }> = ({\n data,\n image,\n}) => {\n const wall = useRef(null);\n\n const { twoColumnWall } = data;\n\n const [state, changeState] = useState({\n loaded: false,\n supportsBlend: false,\n });\n\n useEffect(() => {\n if (window.CSS && !state.loaded) {\n if (CSS.supports('mix-blend-mode', 'screen')) {\n wall.current.classList.add('supports-blend');\n changeState({\n loaded: true,\n supportsBlend: true,\n });\n }\n }\n }, [state.loaded]);\n\n const spanAttrs: Partial<{ style: unknown }> = {};\n\n if (!twoColumnWall && data.titleImage) {\n spanAttrs.style = {\n backgroundImage: `url('${data.titleImage}')`,\n };\n }\n\n const innerComponents = (\n \n
    \n \n {/* \n \n {data.title}\n */}\n
    \n

    \n {data.introTag}\n

    \n

    \n {data.description}\n

    \n
    \n \n
    \n
    \n \n
    \n
    \n );\n\n if (twoColumnWall) {\n return (\n \n
    \n
    \n \n \n
    \n {innerComponents}\n
    \n \n );\n }\n\n return (\n
    \n {innerComponents}\n
    \n );\n};\n\nconst About = ({ title, text, id = undefined, children = null }) => {\n return (\n <>\n
    \n
    \n \n

    {text}

    \n\n
      \n
      \n Trzon zespołu naszej pracowni tworzą projektanci:\n
      \n
    • \n mgr inż. Dorota Szpinda (uprawnienia budowlane do projektowania bez ograniczeń w\n specjalności konstrukcyjno-budowlanej od 2007 roku)\n
    • \n
    • \n mgr inż. Jan Mrozowski (uprawnienia budowlane do projektowania i kierowania robotami\n budowlanymi bez ograniczeń w specjalności konstrukcyjno-budowlanej od 2018 roku)\n
    • \n
    • \n mgr inż. Agnieszka Zimoch-Smuga (uprawnienia budowlane do projektowania bez ograniczeń\n w specjalności konstrukcyjno-budowlanej od 2018 roku)\n
    • \n
    • \n mgr inż. Kacper Śmiech (uprawnienia budowlane do projektowania bez ograniczeń w\n specjalności konstrukcyjno-budowlanej od 2019 roku)\n
    • \n
    • mgr inż. Sebastian Szewczyk
    • \n\n
      ...oraz siedmioro asystentów.
      \n
    \n
    \n
    \n {children}\n \n );\n};\n\nconst Offer = ({ title, text, id = undefined, children = null }) => {\n return (\n <>\n
    \n
    \n \n

    {text}

    \n
    \n
    \n {children}\n \n );\n};\n\nconst Section = ({ id = undefined, title, children = null }) => {\n return (\n
    \n
    \n \n
    \n {children}\n
    \n );\n};\n\nconst Contact = ({ data }) => {\n const hasContactForm = data.api_url;\n return (\n
    \n {hasContactForm && (\n
    \n
    \n
    \n )}\n
    \n \n
    \n
    \n );\n};\n\nexport const query = graphql`\n query IndexPageQuery {\n wallImage: file(base: { eq: \"landing.jpg\" }) {\n childImageSharp {\n fluid(maxWidth: 1000) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n site: site {\n siteMetadata {\n title\n description\n capitalizeTitleOnHome\n titleImage\n ogImage\n twoColumnWall\n introTag\n description\n aboutText\n offerText\n contact {\n api_url\n description\n mail\n phone\n address\n navUrl\n }\n social {\n name\n url\n icon\n }\n }\n }\n portfolio: allMdx(\n filter: { fields: { sourceName: { eq: \"portfolio\" } } }\n limit: 8\n sort: { fields: [frontmatter___order], order: ASC }\n ) {\n edges {\n node {\n id\n frontmatter {\n title\n description\n image: banner {\n id\n publicURL\n childImageSharp {\n id\n fluid(maxWidth: 1000) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n }\n fields {\n slug\n }\n }\n }\n }\n }\n`;\n"],"sourceRoot":""}