PageSourceSearch

https://www.valmonttelecom.com/build/assets/ProjectIndex-B0nqblSD.js

js valmonttelecom.com collected 2026-10-09 18:18:43 UTC 9,824 bytes, 1 lines download raw bytes

1import{d as P,s as v,c as $,x as T,a as h,w as g,b as d,u,e,t as r,l as b,f as B,o as a,i as m,g as o,F as C,r as z,T as D}from"./app-zG3lrPqs.js";import{_ as F,a as H}from"./SeoHead.vue_vue_type_script_setup_true_lang-eG9TNgo_.js";import{_ as O}from"./HeroHeader.vue_vue_type_script_setup_true_lang-DbcD22up.js";import{_ as U}from"./NewsletterSignup.vue_vue_type_script_setup_true_lang-CPKRL2RO.js";import{_ as Z}from"./ProjectFilter.vue_vue_type_script_setup_true_lang-CIN9SthT.js";import{i as j,p as q}from"./assets-Dv3UsPUm.js";import{C as G}from"./chevron-right-ClFTbf42.js";import{X as K}from"./DialogTitle.vue_vue_type_script_setup_true_lang-8GSA5O5P.js";import{c as R}from"./createLucideIcon-B3uXFQ71.js";import"./cartHelper-DddgKylt.js";import"./index-DcoKqQ6R.js";import"./DialogClose.vue_vue_type_script_setup_true_lang-B6fTSy9h.js";import"./DialogDescription.vue_vue_type_script_setup_true_lang-BFnNzbmf.js";import"./utils-C4_GyrAb.js";import"./DialogDescription-Af9RZrxQ.js";import"./index-BQOCZ2Mg.js";import"./index-CSEUMRIG.js";import"./SheetTitle.vue_vue_type_script_setup_true_lang-CWi9staX.js";import"./index-BW9C3t-9.js";import"./index-62AMMZnU.js";import"./RangeSlider-CM3Mw09i.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const X=R("InfoIcon",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),A={class:"isolate relative overflow-hidden bg-white py-24 pb-12 sm:py-32 sm:pb-16"},J={class:"mx-auto max-w-2xl px-6 lg:max-w-7xl lg:px-8"},Q={class:"relative"},W={class:"max-w-4xl"},Y={class:"mt-6 text-balance text-xl/8 text-gray-700"},ee={class:"absolute right-0 top-0"},te={class:"relative bg-white px-6 py-8 sm:py-16 lg:px-8"},se={class:"mx-auto max-w-7xl"},ie={key:1,class:"grid grid-cols-2 gap-4 sm:grid-cols-3 sm:gap-6 lg:grid-cols-4"},ae={class:"relative"},le=["src","alt","onError"],oe={key:1,class:"flex aspect-square w-full items-center justify-center bg-gray-100 text-xs text-gray-400 outline outline-1 outline-gray-300"},re={key:2,class:"absolute inset-0 flex items-end p-4 opacity-0 transition-opacity group-hover:opacity-100","aria-hidden":"true"},ne={key:3,class:"absolute right-2 top-2 bg-black/60 px-1.5 py-0.5 text-xs font-medium text-white"},ce={key:0,class:"absolute inset-0 z-20 flex origin-top-left flex-col bg-black/30 backdrop-blur-sm"},de={class:"min-h-0 flex-1 divide-y divide-white/10 overflow-y-auto px-3"},ue={class:"text-[11px] uppercase tracking-wide text-white/60"},me={class:"text-xs font-semibold text-white"},ge=["aria-expanded","aria-label","onClick"],pe={class:"mt-3"},he={class:"text-base font-semibold text-gray-900"},fe={class:"mt-0.5 text-sm text-gray-600"},xe={key:0,class:"mt-1 text-xs uppercase tracking-wide text-valmont-blue"},ye={class:"sr-only"},ve={key:2,class:"py-12 text-center"},be={class:"mt-2 text-sm font-medium text-gray-900"},we={class:"mt-1 text-sm text-gray-500"},qe=P({__name:"ProjectIndex",props:{gallery:{},projects:{}},setup(c){const f=c,x=v([...f.projects]),M=$(()=>`${f.gallery.name} Project Gallery`),S=$(()=>`Browse ${f.gallery.name} concealment projects by product type, family and specification.`),V=i=>[i.city,i.state].filter(Boolean).join(", "),w=i=>{const t=i.thumbnail??(i.images??[])[0];return t?q(t):null},y=v(new Set),E=i=>{y.value=new Set([...y.value,i.id])},k=i=>{const t=i.info??{},s=[],l=(L,p,N="")=>{p!=null&&p!==""&&s.push({label:L,value:`${p}${N}`})};return l("Structure Height",t.structure_height,"'"),l("Carriers",t.carriers),l("No. of Legs",t.legs),l("Diameter",t.diameter),l("Finish",t.finish),l("Branch Design",t.branch_design),l("Branch Density",t.branch_density),l("Branch Start Height",t.branch_start_height,"'"),s},n=v(null),I=i=>{n.value=n.value===i.id?null:i.id},_=i=>{i.key==="Escape"&&(n.value=null)};return T(n,i=>{i!==null?document.addEventListener("keydown",_):document.removeEventListener("keydown",_)}),(i,t)=>(a(),h(H,null,{default:g(()=>[d(F,{title:M.value,description:S.value,keywords:"concealment projects, project gallery, tower photos, monopole concealment",image:"https://vmt-general.s3.amazonaws.com/websites/vmt-telecom/img/untitled%20folder/vmt-gallery.jpg"},null,8,["title","description"]),d(O,{"image-url":u(j)("hero-resources.jpg"),"category-label":c.gallery.category_label??"",title:c.gallery.name}
1,null,8,["image-url","category-label","title"]),e("div",A,[t[3]||(t[3]=e("div",{class:"absolute inset-0 -z-10 overflow-hidden"},[e("svg",{class:"absolute left-[max(75%,40rem)] top-0 h-[64rem] w-[128rem] -translate-x-1/2 stroke-gray-200 [mask-image:radial-gradient(64rem_64rem_at_top,white,transparent)]","aria-hidden":"true"},[e("defs",null,[e("pattern",{id:"project-index-pattern",width:"200",height:"200",x:"75%",y:"-1",patternUnits:"userSpaceOnUse"},[e("path",{d:"M100 200V.5M.5 .5H200",fill:"none"})])]),e("svg",{x:"75%",y:"-1",class:"overflow-visible fill-gray-50"},[e("path",{d:"M-100.5 0h201v201h-201Z M699.5 0h201v201h-201Z M499.5 400h201v201h-201Z M-300.5 600h201v201h-201Z","stroke-width":"0"})]),e("rect",{width:"100%",height:"100%","stroke-width":"0",fill:"url(#project-index-pattern)"})])],-1)),t[4]||(t[4]=e("div",{class:"absolute inset-x-0 -top-40 -z-10 transform-gpu overflow-hidden blur-3xl sm:-top-80","aria-hidden":"true"},[e("div",{class:"relative left-[calc(75%-11rem)] aspect-[1155/678] w-[36.125rem] -translate-x-1/2 rotate-[30deg] bg-gradient-to-tr from-[#38B6C6] to-[#005F83] opacity-15 sm:left-[calc(75%-15rem)] sm:w-[72.1875rem]",style:{"clip-path":"polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)"}})],-1)),e("div",J,[e("div",Q,[e("div",W,[t[1]||(t[1]=e("h1",{class:"text-pretty text-4xl font-semibold tracking-tight text-gray-900 sm:text-5xl"}," Explore Our Projects ",-1)),e("p",Y,r(c.gallery.description),1)]),e("div",ee,[d(u(b),{href:"/resources/gallery",class:"inline-flex items-center gap-2 border-2 border-gray-300 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-50"},{default:g(()=>[...t[2]||(t[2]=[e("svg",{class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-9-9 9-9"})],-1),B(" Back ",-1)])]),_:1})])])])]),t[10]||(t[10]=e("div",{class:"border-t border-gray-200"},null,-1)),e("section",te,[e("div",se,[c.projects.length>0?(a(),h(Z,{key:0,projects:c.projects,"onUpdate:filtered":t[0]||(t[0]=s=>x.value=s)},null,8,["projects"])):m("",!0),x.value.length>0?(a(),o("div",ie,[(a(!0),o(C,null,z(x.value,s=>(a(),o("article",{key:s.id,class:"group relative"},[e("div",ae,[w(s)&&!y.value.has(s.id)?(a(),o("img",{key:0,src:w(s)??"",alt:s.title,class:"aspect-square w-full bg-gray-100 object-cover outline outline-1 outline-gray-300",onError:l=>E(s)},null,40,le)):(a(),o("div",oe," Image coming soon ")),t[8]||(t[8]=e("div",{class:"absolute inset-0 bg-black/0 transition-colors group-hover:bg-black/20"},null,-1)),n.value!==s.id?(a(),o("div",re,[...t[5]||(t[5]=[e("div",{class:"w-full bg-white/80 px-4 py-2 text-center text-sm font-medium text-gray-900 backdrop-blur"}," View Project ",-1)])])):m("",!0),(s.images??[]).length>1?(a(),o("span",ne,r((s.images??[]).length),1)):m("",!0),d(D,{"enter-active-class":"transition duration-200 ease-out","enter-from-class":"scale-90 opacity-0","leave-active-class":"transition duration-150 ease-in","leave-to-class":"scale-90 opacity-0"},{default:g(()=>[n.value===s.id?(a(),o("div",ce,[t[7]||(t[7]=e("p",{class:"flex h-11 flex-shrink-0 items-center pl-11 pr-3 text-[10px] font-semibold uppercase tracking-widest text-white/70"}," Specifications ",-1)),e("dl",de,[(a(!0),o(C,null,z(k(s),l=>(a(),o("div",{key:l.label,class:"flex items-baseline justify-between gap-2 py-1.5"},[e("dt",ue,r(l.label),1),e("dd",me,r(l.value),1)]))),128))]),d(u(b),{href:`/resources/project-gallery/${s.slug}`,class:"flex flex-shrink-0 items-center gap-1 border-t border-white/15 px-3 py-2.5 text-[11px] font-medium uppercase tracking-wide text-white transition-colors hover:bg-white/10"},{default:g(()=>[t[6]||(t[6]=B(" View all images ",-1)),d(u(G),{class:"size-3.5"})]),_:1},8,["href"])])):m("",!0)]),_:2},1024),k(s).length>0?(a(),o("button",{key:4,type:"button",class:"absolute left-2 top-2 z-30 flex size-7 items-center justify-center rounded-full bg-black/60 text-white backdrop-blur transition-colors hover:bg-black/85 focus:outline-none focus-visible:ring-2 focus-visible:ring-white","aria-expanded":n.value===s.id,"aria-label":`${n.value===s.id?"Hide":"Show"} specifications for ${s.product_type??s.title}`,onClick:l=>I(s)},[n.value===s.id?(a(),h(u(K),{key:0,class:"size-4"})):(a(),h(u(X),{key:1,class:"size-4"}))],8,ge)):m("",!0)]),e("div",pe,[e("h3",he,r(s.product_type??s.title),1),e("p",fe,r(V(s)),1),s.product_family?(a(),o("p",xe,r(s.product_family),1)):m("",!0)]),d(u(b),{href:`/resources/project-gallery/${s.slug}`,class:"absolute inset-0 z-10 cursor-pointer"},{default:g(()=>[e("span",ye,r(s.product_type??s.title),1)]),_:2},1032,["href"])]))),128))])):(a(),o("div",ve,[t[9]||(t[9]=e("svg",{class:"mx-auto h-12 w-12 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","aria-hidden":"true"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})],-1)),e("h3",be,r(c.projects.length===0?"Projects coming soon":"No projects match these filters"),1),e("p",we,r(c.projects.length===0?"Check back later for project photos.":"Try widening or clearing your selection."),1)]))])]),d(U)]),_:1}))}});
1export{qe 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.