1import{d as k,D as L,$,O as o,k as a,h as u,i as g,j as r,a4 as y,o as m,H as x,F as v,X as B,n as f,aj as C,ad as j,ai as P,a7 as t,aa as q,_ as N}from"./_44wexPu.js";import{B as O,I as E}from"./CYgG7jX5.js";import{I as F}from"./DyYPa5FB.js";import{_ as V}from"./C8OIGmsO.js";import{_ as D}from"./CDvarAxQ.js";import{a as H}from"./BJQuZpmz.js";import{_ as U}from"./DPVZYicY.js";import{u as A}from"./DTbtbfjX.js";import"./D30J_HvQ.js";import"./CY-9Yu3B.js";import"./SL7eBkkO.js";import"./YAnJzRgH.js";import"./DwYVjFjn.js";import"./fzKBeGQ4.js";import"./CN3ijttu.js";const z={components:{DatoImage:L},props:{title:{type:String,required:!0},body:{type:String,required:!0},bodyLong:{type:String,default:null},image:{type:Object,default:null,validator(s){return s&&typeof s.url=="string"}},slug:{type:String,required:!0},secondary:{type:Boolean,default:!1},isFlipped:{type:Boolean,default:!1}},computed:{rootClass(){return{"service-excerpt":!0,"service-excerpt--primary":!this.secondary,"service-excerpt--secondary":this.secondary,"service-excerpt--is-flipped":this.isFlipped}}}},G={class:"service-excerpt__image"},J={class:"service-excerpt__content"},M={key:0,class:"service-excerpt__title h3"},W={class:"service-excerpt__actions"};function X(s,l,e,h,n,p){const c=$("dato-image"),i=V,d=D;return o(),a("article",{class:x(p.rootClass)},[u("div",G,[e.image?(o(),g(c,{key:0,src:e.image.url,alt:"",width:e.image.width,height:e.image.height,loading:"eager"},null,8,["src","width","height"])):r("",!0)]),u("div",J,[e.title?(o(),a("h3",M,y(e.title),1)):r("",!0),e.secondary?r("",!0):(o(),g(i,{key:1,class:"service-excerpt__body body",text:e.bodyLong||e.body},null,8,["text"])),e.secondary?(o(),g(i,{key:2,class:"service-excerpt__body body",text:e.body},null,8,["text"])):r("",!0),u("p",W,[m(d,{secondary:e.secondary,"aria-label":s.$t("learn_more_about__title_",{title:e.title}),label:s.$t("learn_more"),to:s.$localeUrl({name:"services-slug",params:{slug:e.slug}})},null,8,["secondary","aria-label","label","to"])])])],2)}const Y=Object.assign(k(z,[["render",X]]),{__name:"ServiceExcerpt"}),K={props:{services:{type:Array,required:!0,validator(s){return s.every(l=>typeof l=="object")}}}},Q={class:"services-shortlinks"},Z={class:"body"};function ee(s,l,e,h,n,p){const c=H;return o(),a("div",Q,[u("p",Z,y(s.$t("go_directly_to")),1),u("ul",null,[(o(!0),a(v,null,B(e.services,(i,d)=>(o(),a("li",{key:i.slug,class:"body"},[d!==0?(o(),a(v,{key:0},[f(" , ")],64)):r("",!0),m(c,{to:s.$localeUrl({name:"services-slug",params:{slug:i.slug}}),class:"body"},{default:C(()=>[f(y(i.title),1)]),_:2},1032,["to"])]))),128))])])}const ne=Object.assign(k(K,[["render",ee]]),{__name:"ServicesShortlinks"}),te=`query Services($locale: SiteLocale) { 2 page: serviceOverview(locale: $locale) { 3 ...servicespage 4 } 5 items: allServices(locale: $locale, first: 100) { 6 slug 7 } 8} 9 10fragment servicespage on ServiceOverviewRecord { 11 title 12 subtitle 13 social { 14 title 15 description 16 image { 17 url 18 } 19 } 20 services { 21 excerptTitle 22 slug 23 cardBody 24 cardBodyLong 25 cardImage { 26 url 27 alt 28 width 29 height 30 } 31 serviceSeries { 32 childServices { 33 slug 34 title 35 } 36 } 37 } 38 headerIllustration { 39 url 40 alt 41 width 42 height 43 } 44 introTitle 45 introBody { 46 value 47 links { 48 ...glossaryTermLink 49 } 50 blocks { 51 __typename 52 ... on StructuredTextBlueTextRecord { 53 id 54 body { 55 value 56 links { 57 ...glossaryTermLink 58 } 59 } 60 } 61 ... on StructuredTextButtonsListRecord { 62 id 63 buttons { 64 __typename 65 ... on InternalLinkRecord { 66 id 67 title 68 link { 69 ... on PageRecord { 70 slug 71 } 72 } 73 } 74 ... on ExternalLinkRecord { 75 id 76 title 77 url 78 } 79 } 80 } 81 } 82 } 83 introImage { 84 url 85 alt 86 width 87 height 88 } 89 contactBody 90 servicesTitle 91 contactPerson { 92 name 93 lastName 94 jobTitle 95 image { 96 url 97 alt 98 width 99 height 100 } 101 } 102 pivots { 103 title 104 body(markdown: true) 105 links { 106 ...link 107 } 108 mailchimpValue 109 mailchimpName 110 mailchimpId 111 formType 112 contactPerson { 113 name 114 lastName 115 jobTitle 116 image { 117 url 118 alt 119 width 120 height 121 } 122 } 123 } 124} 125 126fragment glossaryTermLink on RecordInterface { 127 __typename 128 ... on GlossaryTermRecord { 129 id 130 term
131 slug 132 question 133 definition 134 definitionHtml: definition(markdown: true) 135 } 136} 137 138fragment link on RecordInterface { 139 __typename 140 ... on InternalLinkRecord { 141 id 142 title 143 link { 144 __typename 145 ... on PageRecord { 146 slug 147 } 148 ... on BlogPostRecord { 149 slug 150 } 151 ... on CaseItemRecord { 152 slug 153 } 154 ... on EventItemRecord { 155 slug 156 } 157 ... on JobRecord { 158 slug 159 } 160 ... on ServiceRecord { 161 slug 162 } 163 ... on PersonRecord { 164 slug 165 } 166 ... on MeetRecord { 167 parents: _allReferencingPeople { 168 __typename 169 slug 170 } 171 } 172 } 173 } 174 ... on ExternalLinkRecord { 175 id 176 title 177 url 178 } 179} 180`,oe={class:"page-services grid"},se={class:"page-services__services-list"},ae={key:0,class:"h2"},ke={__name:"index",async setup(s){let l,e;const{params:h}=j(),{data:n}=([l,e]=P(()=>q({query:te,variables:{locale:h.language}})),l=await l,e(),l);A(n.value.page);function p(c){const{serviceSeries:i}=n.value.page.services.find(d=>d.slug===c);return i[0].childServices}return(c,i)=>{const d=N,R=E,S=F,T=Y,I=ne,w=U;return o(),a("main",oe,[m(d,{heading:"headline",byline:t(n).page.title,headline:t(n).page.subtitle},null,8,["byline","headline"]),t(n).page.introTitle&&t(n).page.introBody&&t(n).page.introImage?(o(),g(R,{key:0,title:t(n).page.introTitle,body:t(n).page.introBody,image:t(n).page.introImage,inverse:!0,class:"page-services__intro","background-color":t(O).PastelYellow},null,8,["title","body","image","background-color"])):r("",!0),t(n).page.contactBody?(o(),g(S,{key:1,cta:t(n).page.contactBody,buttons:[{label:c.$t("get_in_touch"),to:c.$localeUrl({name:"contact"})}]},null,8,["cta","buttons"])):r("",!0),u("div",se,[t(n).page.servicesTitle?(o(),a("h2",ae,y(t(n).page.servicesTitle),1)):r("",!0),u("ul",null,[(o(!0),a(v,null,B(t(n).page.services,(_,b)=>(o(),a("li",{key:_.ctaLink},[m(T,{title:_.excerptTitle,slug:_.slug,image:_.cardImage,body:_.cardBody,"body-long":_.cardBodyLong,"is-flipped":b%2!==0},null,8,["title","slug","image","body","body-long","is-flipped"]),m(I,{class:x(["page-services__shortlinks",{"page-services__shortlinks--indented":b%2==0}]),services:p(_.slug)},null,8,["class","services"])]))),128))])]),t(n).page.pivots?.length?(o(),g(w,{key:2,class:"page-services__pivots",pivots:t(n).page.pivots,"can-have-border-top":!1},null,8,["pivots"])):r("",!0)])}}};export{ke as default};
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.