1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[991],{90226:function(n,e,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/the-plant-library/[slug]",function(){return t(7258)}])},21597:function(n,e,t){"use strict";t.d(e,{Z:function(){return d}});var r=t(85893),i=t(6803),o=t.n(i),s=t(34364);const u=o()({projectId:s.Sx,dataset:s.gx});var c=t(9008),a=t.n(c);function l(){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("meta",{name:"viewport",content:"width=device-width,initial-scale=1.0,shrink-to-fit=no"}),(0,r.jsx)("link",{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"}),(0,r.jsx)("link",{rel:"icon",type:"image/x-icon",href:"/favicon/favicon.ico"}),(0,r.jsx)("link",{rel:"icon",type:"image/png",sizes:"32x32",href:"/favicon/favicon-32x32.png"}),(0,r.jsx)("link",{rel:"icon",type:"image/png",sizes:"16x16",href:"/favicon/favicon-16x16.png"}),(0,r.jsx)("link",{rel:"manifest",href:"/favicon/site.webmanifest"}),(0,r.jsx)("link",{rel:"shortcut icon",href:"/favicon/favicon.ico"}),(0,r.jsx)("link",{rel:"preconnect",href:"https://cdn.sanity.io/"}),(0,r.jsx)("link",{rel:"dns-prefetch",href:"https://cdn.sanity.io/"}),(0,r.jsx)("meta",{name:"msapplication-TileColor",content:"#000000"}),(0,r.jsx)("meta",{name:"msapplication-config",content:"/favicon/browserconfig.xml"}),(0,r.jsx)("meta",{name:"theme-color",content:"#000"}),(0,r.jsx)("meta",{name:"theme-color",media:"(prefers-color-scheme: light)",content:"white"}),(0,r.jsx)("meta",{name:"theme-color",media:"(prefers-color-scheme: dark)",content:"black"})]})}function d(n){let{settings:e,data:t,noIndex:i=!1}=n;var o;const s="The Serge Hill Project",c="The Serge Hill Project is an award-winning architectural practice founded in 2000, based in our studios in London and Sussex.",d=null,f=t.seoTitle||e.title||s,p=t.seoDescription||e.description||c,g=t.seoImage||e.image||d;let m="".concat(f," | ").concat(e.title);return f!==e.title&&"Homepage"!==f&&"Home"!==f&&"Index"!==f||(m=e.title),(0,r.jsxs)(a(),{children:[(0,r.jsx)("title",{children:m}),(0,r.jsx)(l,{}),(0,r.jsx)("meta",{name:"description",content:p},"description"),(null===(o=g)||void 0===o?void 0:o.asset)&&(0,r.jsx)("meta",{property:"og:image",content:(_=g,u.image(_).auto("format").fit("max")).width(1200).height(627).fit("crop").url()}),i&&(0,r.jsx)("meta",{name:"robots",content:"noindex"})]});var _}},93134:function(n,e,t){"use strict";t.d(e,{GL:function(){return F},_R:function(){return C},cg:function(){return Z},ci:function(){return N},j8:function(){return E},of:function(){return M},sT:function(){return P}});var r=t(82729),i=t(37288);function o(){const n=(0,r._)(['\n alt,\n body,\n asset,\n "id": asset._ref,\n "preview": asset->metadata.lqip,\n "aspectRatio": asset->metadata.dimensions.aspectRatio,\n hotspot { x, y },\n "textColor": asset->metadata.palette.dominant.title,\n whiteText,\n crop {\n bottom,\n left,\n right,\n top,\n }\n']);return o=function(){return n},n}function s(){const n=(0,r._)(["image {","}"]);return s=function(){return n},n}function u(){const n=(0,r._)(["images[] {","}"]);return u=function(){return n},n}function c(){const n=(0,r._)(['\n_type == "emailFormReference" => {\n title,\n "slug": "?modal=email&email=" + @.emailForm->slug.current\n},\n_type == "modalDonate" => {\n title,\n "slug": "?modal=donate",\n},\n_type == "modalFriend" => {\n title,\n "slug": "?modal=friend",\n},\n_type == "modalNewsletter" => {\n title,\n "slug": "?modal=newsletter",\n},\n_type in ["linkDonationForm", "donationFormLink"] => {\n title,\n url,\n newWindow\n}\n']);return c=function(){return n},n}function a(){const n=(0,r._)(['\n_id,\n_type,\n_updatedAt,\n"_key": _id,\ntitle,\ndescription,\n',',\n"slug": slug.current,\nbody,\n"categories": [\n ...categories[]->{\n _id,\n _type,\n title,\n "slug": slug.current,\n }\n],\ndefined(recordingLink) => {\n "categories": [\n ...categories[]->{\n _id,\n _type,\n title,\n "slug": slug.current,\n },\n {\n "_id": \'recordings\',\n "_type": \'eventCategory\',\n "title": \'Recordings\',\n "slug": \'re
1cordings\',\n }\n ],\n},\ndate,\ndateTimeString,\nlink,\nlinkTextOverride\n']);return a=function(){return n},n}function l(){const n=(0,r._)(['\n_key,\n_type,\nleadMedia[] {\n _key,\n _type,\n _type == "image" => {\n ','\n },\n _type == "video" => {\n asset -> {\n ...\n }\n }\n},\ntextItems[] {\n _key,\n _type,\n _type == "textItem" => {\n title,\n text,\n },\n _type == "internalLink" => {\n title,\n "reference": @.reference->{\n _type,\n "slug": slug.current,\n },\n },\n _type == "externalLink" => {\n title,\n url,\n newWindow,\n },\n ',',\n _type == "inlineImage" => {\n ','\n },\n _type == "peopleList" => {\n people[] {\n _key,\n _type,\n name,\n body,\n ',',\n externalLinks,\n }\n },\n},\n_type == "eventReference" => {\n ...@->{\n ',"\n }\n} \n"]);return l=function(){return n},n}function d(){const n=(0,r._)(['\n*[_type == $type && slug.current == $slug][0] {\n _type,\n "slug": slug.current\n}\n']);return d=function(){return n},n}function f(){const n=(0,r._)(['\n*[_type == "page"] | order(title asc) {\n _id,\n _type,\n _updatedAt,\n title,\n "slug": slug.current,\n description,\n image,\n "priority": seo.priority, \n}\n']);return f=function(){return n},n}function p(){const n=(0,r._)(['\n*[_type == "page" && defined(slug.current)][].slug.current\n']);return p=function(){return n},n}function g(){const n=(0,r._)(['\n*[_type == "page" && slug.current == $slug][0] {\n _id,\n title,\n "slug": slug.current,\n description,\n image,\n pageBuilderBlocks[] {\n ','\n },\n slug.current == "homepage" => {\n ',",\n pageBuilderBlocksHomepage[] {\n ",'\n },\n },\n slug.current == "whats-on" => {\n featuredEvents[]->{\n ','\n },\n "activeEventCategories": [\n ...activeEventCategories[]->{\n _id,\n _type,\n title,\n "slug": slug.current,\n },\n {\n "_id": \'recordings\',\n "_type": \'eventCategory\',\n "title": \'Recordings\',\n "slug": \'recordings\',\n }\n ],\n },\n "seoTitle": title,\n "seoDescription": seo.description,\n "seoImage": seo.image,\n}\n']);return g=function(){return n},n}function m(){const n=(0,r._)(['\n*[_type == "event"] | order(date asc) {\n ',"\n}\n"]);return m=function(){return n},n}function _(){const n=(0,r._)(['\n*[_type == "event" && defined(slug.current)][].slug.current\n']);return _=function(){return n},n}function y(){const n=(0,r._)(['\n*[_type == "event" && slug.current == $slug][0] {\n _id,\n _type,\n title,\n ',",\n bookingLink,\n recordingLink,\n location,\n pageBuilderBlocks[] {\n ",'\n },\n "seoTitle": title,\n "seoDescription": pt::text(body),\n "seoImage": image,\n}\n']);return y=function(){return n},n}function h(){const n=(0,r._)(['\n*[_type in ["newsItem", "pressItem"]] | order(date desc) {\n ',"\n}\n"]);return h=function(){return n},n}function v(){const n=(0,r._)(['\n*[_type == "newsItem" && defined(slug.current)][].slug.current\n']);return v=function(){return n},n}function x(){const n=(0,r._)(['\n*[_type == "newsItem" && slug.current == $slug][0] {\n _id,\n _type,\n title,\n ',",\n bookingLink,\n location,\n pageBuilderBlocks[] {\n ",'\n },\n "seoTitle": title,\n "seoDescription": pt::text(body),\n "seoImage": image,\n}\n']);return x=function(){return n},n}function w(){const n=(0,r._)(['\n*[_type == "plantLibraryBed"] | order(title asc) {\n _id,\n _type,\n _updatedAt,\n title,\n "slug": slug.current,\n file,\n}\n']);return w=function(){return n},n}function b(){const n=(0,r._)(['\n*[_type == "plantLibraryBed" && slug.current == $slug][0] {\n _id,\n _type,\n title,\n "slug": slug.current,\n file {\n ...,\n asset-> {\n ...,\n },\n },\n}\n']);return b=function(){return n},n}function k(){const n=(0,r._)(['\n*[_type == "plantLibraryBed" && defined(slug.current)][].slug.current\n']);return k=function(){return n},n}function j(){const n=(0,r._)(['*[_type == "settings"][0] {\n "title": seo.title,\n "description": seo.description,\n "image": seo.image,\n header {\n navigation[]->{\n _id,\n _type,\n title,\n "slug": slug.current,\n }\n },\n footer {\n addressInformation,\n navigation[] {\n title,\n _type,\n "_id": _key,\n ',',\n _type == "linkExternal" => {\n ...\n },\n defined(_ref) => @-> {\n _id,\n _type,\n title,\n "slug": slug.current,\n }\n }\n },\n "emailForms": *[_type in ["emailForm"]][] {\n _type,\n _id,\n title,\n "slug": slug.current,\n emailTo,\n formIntro,\n emailSubjects,\n sections[]\n },\n "thePlantLibrary": *[_type == \'thePlantLibrary\'][0] {\n ...,\n plantLibrarySheet {\n ...,\n asset-> {\n ...,\n },\n },\n downloads[] {\n ...,\n file {\n ...,\n asset-> {\n ...,\n },\n },\n }\n }\n}']);return j=function(){return n},n}const S=(0,i.Z)(o()),L=(0,i.Z)(s(),S),T=((0,i.Z)(u(),S),(0,i.Z)(c())),B=(0,i.Z)(a(),L),I=(0,i.Z)(l(),S,T,S,L,B),M=((0,i.Z)(d()),(0,i.Z)(f()),(0,i.Z)(p()),(0,i.Z)(g(),I,L,I,B)),Z=(0,i.Z)(m(),B),C=((0,i.Z)(_()),(0,i.Z)(y(),B,I)),E=(0,i.Z)(h(),B),P=((0,i.Z)(v()),(0,i.Z)(x(),B,I)),N=((0,i.Z)(w()),(0,i.Z)(b())),F=((0,i.Z)(k()),(0,i.Z)(j(),T))},7258:function(n,e,t){"use strict";t.r(e),t.d(e,{__N_SSG:function(){return f},default:function(){return p}});var r=t(85893),i=t(21597),o=t(39332),s=t(51326),u=t.n(s);function c(n){var e;const{preview:t,loading:s,plantLibraryBed:c,settings:a}=n;return(null===(e=c)||void 0===e?void 0:e.slug)||t||(0,o.notFound)(),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.Z,{data:c,settings:a}),t&&!c?(0,r.jsx)("div",{children:"Loading\u2026"}):(0,r.jsx)("div",{className:u().downloadWrapper,children:c&&c.file&&c.file.asset&&c.file.asset.url&&(0,r.jsxs)("a",{href:c.file.asset.url+"?dl"+(c.file.asset.originalFilename.split(".").pop()||""),className:u().link,download:!0,children:["Download \u2018",c.file.asset.originalFilename,"\u2019 (",function(n){if(0===n)return"0 Byte";const e=parseInt(Math.floor(Math.log(n)/Math.log(1024)),10);return Math.round(n/Math.pow(1024,e),2)+" "+["Bytes","KB","MB","GB","TB"][e]}(c.file.asset.size),")"]})})]})}var a=t(93134),l=t(74356);function d(n){const[e,t]=(0,l.yR)(n.plantLibraryBed,a.ci,{slug:n.plantLibraryBed.slug}),[i,o]=(0,l.yR)(n.settings,a.GL);return(0,r.jsx)(c,{preview:!0,loading:t||o,plantLibraryBed:e||{},settings:i||{}})}var f=!0;function p(n){const{settings:e,plantLibraryBed:t,draftMode:i}=n;return i?(0,r.jsx)(d,{plantLibraryBed:t,settings:e}):(0,r.jsx)(c,{plantLibraryBed:t,settings:e})}},51326:function(n){n.exports={downloadWrapper:"PlantLibraryBedPage_downloadWrapper__v18f5",link:"PlantLibraryBedPage_link__syILU"}},34329:function(n,e,t){"use strict";t.d(e,{Kq:function(){return u},Ts:function(){return d},iS:function(){return l},nW:function(){return i},pm:function(){return s},tT:function(){return o}});var r=t(67294);function i(n,e){return"".concat(n,"-").concat(JSON.stringify(e))}function o(n){const[e,t]=(0,r.useReducer)((n=>n+1),0),i=(0,r.useRef)(!0),o=(0,r.useCallback)((()=>{i.current&&(0,r.startTransition)((()=>t()))}),[]);(0,r.useEffect)((()=>(i.current=!0,o(),()=>{i.current=!1})),[o]);return[(0,r.useMemo)((()=>e?[...n]:[]),[n,e]),o]}const s=3e3,u="sanity.preview-kit",c=new Map,a=new Map,l=(0,r.createContext)((function(n,e,t){const r=i(e,t);c.set(r,n),a.has(r)||a.set(r,0);return{subscribe:()=>(a.set(r,a.get(r)+1),()=>{a.set(r,a.get(r)-1),0===a.get(r)&&c.delete(r)}),getSnapshot:()=>c.has(r)?c.get(r):n}})),d=(0,r.createContext)(null)},74356:function(n,e,t){"use strict";t.d(e,{Ji:function(){return p},yR:function(){return c}});var r=t(67294),i=t(69590),o=t(31103),s=t(34329),u=t(85893);function c(n,e,t,u){const{isEqual:c=i}=u||{},d=(0,r.useContext)(s.iS),f=l(t),p=(0,r.useMemo)((()=>d(n,e,f)),[d,n,f,e]),[g]=(0,r.useState)((()=>
1{if(void 0===n)throw new Error("initialSnapshot can't be undefined, if you don't want an initial value use null instead");try{return JSON.parse(JSON.stringify(n))}catch(e){return console.warn("Failed to deep clone initialSnapshot, this is likely an error and an indication that the snapshot isn't JSON serializable",{initialSnapshot:n,error:e}),n}})),m=(0,r.useCallback)((()=>g),[g]),_=(0,r.useCallback)((n=>n),[]);return[(0,o.useSyncExternalStoreWithSelector)(p.subscribe,p.getSnapshot,m,_,c),a(e,f)]}function a(n,e){const t=(0,r.useContext)(s.Ts),i=(0,r.useMemo)((()=>(0,s.nW)(n,e)),[e,n]);return(0,r.useMemo)((()=>!!Array.isArray(t)&&!t.includes(i)),[i,t])}function l(n){const e=(0,r.useMemo)((()=>JSON.stringify(n||{})),[n]);return(0,r.useMemo)((()=>JSON.parse(e)),[e])}const d=(0,r.lazy)((()=>Promise.all([t.e(702),t.e(699),t.e(986)]).then(t.bind(t,61986)))),f=(0,r.lazy)((()=>t.e(260).then(t.bind(t,14260)))),p=(0,r.memo)((function(n){const{children:e,refreshInterval:t=1e4}=n;if(!n.client)throw new Error("Missing a `client` prop with a configured Sanity client instance");const[i]=(0,r.useState)((()=>n.client.withConfig({requestTagPrefix:n.client.config().requestTagPrefix||s.Kq}))),[o]=(0,r.useState)((()=>n.cache)),[c]=(0,r.useState)((()=>n.logger)),a=(0,r.useMemo)((()=>{var e;return null!=(e=n.turboSourceMap)?e:i.config().resultSourceMap}),[i,n.turboSourceMap]);return a?(0,u.jsx)(r.Suspense,{fallback:e,children:(0,u.jsx)(f,{client:i,logger:c,refreshInterval:t,turboSourceMap:a,children:e})}):(0,u.jsx)(g,{client:i,cache:o,logger:c,refreshInterval:t,children:e})})),g=(0,r.memo)((function(n){var e;const{children:t,refreshInterval:i,client:o,cache:c,logger:a}=n,l=null!=(e=null==c?void 0:c.maxDocuments)?e:s.pm,[d,p]=(0,r.useState)(null),[g,_]=(0,r.useState)(null),[y]=(0,r.useState)((()=>{var n;return null!=(n=null==c?void 0:c.includeTypes)?n:[]}));if(g)throw g;if((0,r.useEffect)((()=>{if(null!==d)return;null==a||a.log("[@sanity/preview-kit]: fetch documents count");const n=new AbortController;return o.fetch(y.length>0?"count(*[_type in $includeTypes])":"count(*)",{includeTypes:y},{filterResponse:!0,signal:n.signal}).then((n=>{null==a||a.log("[@sanity/preview-kit]: documents count",n),p(n)})).catch((n=>{"AbortError"!==n.name&&_(n)})),()=>{n.abort()}}),[o,d,y,a]),null===d)return t;if(i&&d>=l)return(0,u.jsx)(r.Suspense,{fallback:t,children:(0,u.jsx)(f,{client:o,refreshInterval:i,turboSourceMap:!1,logger:a,children:t})});if(d>=l)throw new Error("[@sanity/preview-kit]: You have ".concat(d," documents in your dataset, which is more than the maximum of ").concat(l," documents. Please reduce the number of documents in your dataset or increase the limit."));return(0,u.jsx)(r.Suspense,{fallback:t,children:(0,u.jsx)(m,{...n,children:t})})})),m=(0,r.memo)((function(n){var e;const{children:t,client:i,cache:o,logger:s}=n,{projectId:c,dataset:a,token:l,perspective:f="previewDrafts",requestTagPrefix:p}=(0,r.useMemo)((()=>i.config()),[i]);return(0,u.jsx)(d,{projectId:c,dataset:a,token:l,logger:s,listen:null==(e=null==o?void 0:o.listen)||e,documentLimit:null==o?void 0:o.maxDocuments,overlayDrafts:"previewDrafts"===f,includeTypes:null==o?void 0:o.includeTypes,requestTagPrefix:p,children:t})}))},82729:function(n,e,t){"use strict";function r(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}t.d(e,{_:function(){return r}})}},function(n){n.O(0,[864,774,888,179],(function(){return e=90226,n(n.s=e);var e}));var e=n.O();_N_E=e}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.