{"version":3,"sources":["webpack:///./src/templates/Home.js","webpack:///./src/types/index.js"],"names":["query","IndexPage","pageContext","media","wordpress_id","data","posts","nodes","page","blocks","yoast","featured_media","useConstant","cleanProps","images","JSON","parse","news","map","post","index","category","categories","length","name","id","copy","ctalink","path","ctatext","heading","title","image","featured_image_url","landscape_image","acf","slider_image","splice","type","slides","currentPage","shape","string","isRequired","content","number","arrayOf","attrs","oneOfType","object","department","url","entries","prev","bool","next"],"mappings":"sPAsEO,IAAMA,EAAK,aAaHC,UAtEf,YAMI,IAAD,IALFC,YAAeC,EAKb,EALaA,MAAOC,EAKpB,EALoBA,aAKpB,IAJFC,KACiBC,EAGf,EAHDA,MAASC,MAGR,IAFDC,KAAQC,EAEP,EAFOA,OAAQC,EAEf,EAFeA,MAAOC,EAEtB,EAFsBA,eAGlBN,EAAOO,aAAY,kBAAMC,YAAWJ,EAAQN,MAC5CW,EAASF,aAAY,kBAAMG,KAAKC,MAAMb,MACtCc,EAAOL,aAAY,kBACxBN,EAAMY,KAAI,SAACC,EAAMC,GAChB,IAAMC,EACLF,EAAKG,YAAcH,EAAKG,WAAWC,OAChCJ,EAAKG,WAAW,GAAGE,KACnB,OAEJ,MAAO,CACNC,GAAIL,EACJM,KAAM,GACNC,QAASR,EAAKS,KACdC,QAAS,YACTC,QAASX,EAAKY,MACdA,MAAOV,EACPW,MACClB,EACCK,EAAKc,oBAAsBd,EAAKc,mBAAmB7B,cAErD8B,gBACCpB,EACCK,EAAKgB,IAAIC,cAAgBjB,EAAKgB,IAAIC,aAAahC,qBAapD,OANAC,EAAKgC,OAAQhC,EAAKkB,OAAS,EAAG,EAAG,CAChCe,KAAM,2BACNb,GAAI,QACJc,OAAQtB,IAIR,oCACC,kBAAC,IAAD,iBAASP,EAAT,CAAgBsB,MAAOrB,KACvB,kBAAC,IAAD,CAAQN,KAAMA,EAAMF,MAAOA,EAAOqC,YAAapC,O,kCC1DlD,gBAcaI,GAJciC,gBAAM,CAChCtC,MAAOuC,SAAOC,aAGKF,gBAAM,CACzBV,MAAOW,SAAOC,WACdC,QAASF,SACTjB,GAAIiB,SAAOC,WACXvC,aAAcyC,SAAOF,WACrBlC,OAAQqC,kBACPL,gBAAM,CACLM,MAAON,gBAAM,CACZjB,KAAMkB,SACNtC,aAAc4C,oBAAU,CAACN,SAAQG,WACjCxC,KAAM4C,iBAMUR,gBAAM,CACzBV,MAAOW,SAAOC,WACdC,QAASF,SACTjB,GAAIiB,SAAOC,WACXV,mBAAoBQ,gBAAM,CACzBrC,aAAcyC,SAAOF,aAEtBlC,OAAQqC,kBACPL,gBAAM,CACLM,MAAON,gBAAM,CACZjB,KAAMkB,SACNtC,aAAc4C,oBAAU,CAACN,SAAQG,WACjCxC,KAAM4C,gBAMiBR,gBAAM,CAChClC,MAAOuC,kBAAQtC,KAGKiC,gBAAM,CAC1BlC,MAAOuC,kBAAQtC,KAGMiC,gBAAM,CAC3BlC,MAAOuC,kBACNL,gBAAM,CACLG,QAASF,SAAOC,WAChBZ,MAAOW,SAAOC,WACdvC,aAAcyC,SAAOF,gBAKFF,gBAAM,CAC3BlC,MAAOuC,kBACNL,gBAAM,CACLV,MAAOW,SAAOC,WACdO,WAAYJ,kBAAQD,UACpBlC,eAAgBsC,SAChB7C,aAAcyC,SAAOF,WACrBlB,GAAIiB,SAAOC,gBAKaF,gBAAM,CAChClC,MAAOuC,kBACNL,gBAAM,CACLjB,KAAMkB,SAAOC,WACbvC,aAAcyC,SAAOF,WACrBlB,GAAIiB,SAAOC,gBAKMF,gBAAM,CACzBtC,MAAOuC,SAAOC,WACdrB,WAAYwB,kBACXL,gBAAM,CACLV,MAAOW,SAAOC,WACdQ,IAAKT,SAAOC,cAGdS,QAASN,kBACRL,gBAAM,CACLV,MAAOW,SAAOC,WACdtB,SAAUqB,SACVd,KAAMc,SAAOC,WACblB,GAAIiB,SAAOC,WACXV,mBAAoBQ,gBAAM,CACzBrC,aAAcyC,SAAOF,gBAIxBU,KAAML,oBAAU,CAACN,SAAQY,SACzBC,KAAMP,oBAAU,CAACN,SAAQY","file":"component---src-templates-home-js-e5b079a2a8f4ecc2cb42.js","sourcesContent":["/* eslint-disable react/prop-types */\nimport React from 'react'\nimport { shape } from 'prop-types'\nimport { graphql } from 'gatsby'\nimport SEO from '@/components/Seo'\nimport { cleanProps } from '@/utils'\nimport Blocks from '@/utils/Blocks'\nimport useConstant from '@/hooks/useConstant'\n/* eslint-disable no-unused-vars */\nimport { pageQuery, postThumbQuery } from '@/queries'\n/* eslint-enable no-unused-vars */\nimport * as T from '@/types'\n\nfunction IndexPage({\n\tpageContext: { media, wordpress_id },\n\tdata: {\n\t\tposts: { nodes: posts },\n\t\tpage: { blocks, yoast, featured_media }\n\t}\n}) {\n\tconst data = useConstant(() => cleanProps(blocks, media))\n\tconst images = useConstant(() => JSON.parse(media))\n\tconst news = useConstant(() =>\n\t\tposts.map((post, index) => {\n\t\t\tconst category =\n\t\t\t\tpost.categories && post.categories.length\n\t\t\t\t\t? post.categories[0].name\n\t\t\t\t\t: 'News'\n\n\t\t\treturn {\n\t\t\t\tid: index,\n\t\t\t\tcopy: '',\n\t\t\t\tctalink: post.path,\n\t\t\t\tctatext: 'Read more',\n\t\t\t\theading: post.title,\n\t\t\t\ttitle: category,\n\t\t\t\timage:\n\t\t\t\t\timages[\n\t\t\t\t\t\tpost.featured_image_url && post.featured_image_url.wordpress_id\n\t\t\t\t\t],\n\t\t\t\tlandscape_image: \n\t\t\t\t\timages[\n\t\t\t\t\t\tpost.acf.slider_image && post.acf.slider_image.wordpress_id\n\t\t\t\t\t]\n\t\t\t}\n\t\t})\n\t)\n\t\n\t// Add in news 2 items before the end\n\tdata.splice( data.length - 2, 0, {\n\t\ttype: 'acf/use-case-card-slider',\n\t\tid: 2389124,\n\t\tslides: news\n\t});\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\n\t\t>\n\t)\n}\n\nIndexPage.propTypes = {\n\tpageContext: T.pageContext.isRequired,\n\tdata: shape({\n\t\tpage: T.page.isRequired\n\t})\n}\n\nexport const query = graphql`\n\tquery IndexQuery($path: String!) {\n\t\tpage: wordpressPage(path: { eq: $path }) {\n\t\t\t...pageQuery\n\t\t}\n\t\tposts: allWordpressPost(limit: 6, sort: { fields: date, order: DESC }) {\n\t\t\tnodes {\n\t\t\t\t...postThumbQuery\n\t\t\t}\n\t\t}\n\t}\n`\n\nexport default IndexPage\n","import {\n\tshape,\n\tbool,\n\tstring,\n\tnumber,\n\tobject,\n\tarrayOf,\n\toneOfType\n} from 'prop-types'\n\nexport const pageContext = shape({\n\tmedia: string.isRequired\n})\n\nexport const page = shape({\n\ttitle: string.isRequired,\n\tcontent: string,\n\tid: string.isRequired,\n\twordpress_id: number.isRequired,\n\tblocks: arrayOf(\n\t\tshape({\n\t\t\tattrs: shape({\n\t\t\t\tname: string,\n\t\t\t\twordpress_id: oneOfType([string, number]),\n\t\t\t\tdata: object\n\t\t\t})\n\t\t})\n\t)\n})\n\nexport const post = shape({\n\ttitle: string.isRequired,\n\tcontent: string,\n\tid: string.isRequired,\n\tfeatured_image_url: shape({\n\t\twordpress_id: number.isRequired\n\t}),\n\tblocks: arrayOf(\n\t\tshape({\n\t\t\tattrs: shape({\n\t\t\t\tname: string,\n\t\t\t\twordpress_id: oneOfType([string, number]),\n\t\t\t\tdata: object\n\t\t\t})\n\t\t})\n\t)\n})\n\nexport const caseStudies = shape({\n\tnodes: arrayOf(page)\n})\n\nexport const posts = shape({\n\tnodes: arrayOf(page)\n})\n\nexport const quotes = shape({\n\tnodes: arrayOf(\n\t\tshape({\n\t\t\tcontent: string.isRequired,\n\t\t\ttitle: string.isRequired,\n\t\t\twordpress_id: number.isRequired\n\t\t})\n\t)\n})\n\nexport const people = shape({\n\tnodes: arrayOf(\n\t\tshape({\n\t\t\ttitle: string.isRequired,\n\t\t\tdepartment: arrayOf(number),\n\t\t\tfeatured_media: object,\n\t\t\twordpress_id: number.isRequired,\n\t\t\tid: string.isRequired\n\t\t})\n\t)\n})\n\nexport const departments = shape({\n\tnodes: arrayOf(\n\t\tshape({\n\t\t\tname: string.isRequired,\n\t\t\twordpress_id: number.isRequired,\n\t\t\tid: string.isRequired\n\t\t})\n\t)\n})\n\nexport const news = shape({\n\tmedia: string.isRequired,\n\tcategories: arrayOf(\n\t\tshape({\n\t\t\ttitle: string.isRequired,\n\t\t\turl: string.isRequired\n\t\t})\n\t),\n\tentries: arrayOf(\n\t\tshape({\n\t\t\ttitle: string.isRequired,\n\t\t\tcategory: string,\n\t\t\tpath: string.isRequired,\n\t\t\tid: string.isRequired,\n\t\t\tfeatured_image_url: shape({\n\t\t\t\twordpress_id: number.isRequired\n\t\t\t})\n\t\t})\n\t),\n\tprev: oneOfType([string, bool]),\n\tnext: oneOfType([string, bool])\n})\n"],"sourceRoot":""}