PageSourceSearch

https://www.velux.co.uk/dist/velux-marketing/client/assets/ProductCards-17aaa95a.js

js velux.co.uk collected 2026-10-02 04:28:14 UTC 5,938 bytes, 1 lines download raw bytes

1import{f as t,D as a,E as d,S as B,U as A,P as o,O as v,K as O,J as m,u as N,G as C,a3 as T,F as S,I as n,r as V,a as E,R as H,a7 as U,ad as Y}from"./vendor-a0789617.js";import{j as z,K as G,L as J,av as $,ax as j,ay as R,a8 as W,P as q}from"./index-a0a0e1a1.js";import{g as s}from"./lodash-86ed0c75.js";import{u as Q}from"./index-418555d9.js";import"./axios-bb6ee5b8.js";import"./vee-validate-daa3561c.js";import"./swiper-ade697ba.js";/*! @license Third-party license notices: /dist/velux-marketing/client/THIRD_PARTY_NOTICES.txt */const X={class:"p-0 mt-5 text-14"},Z={class:"text-right"},tt={__name:"ProductCardSpecs",props:{product:{type:Object,default:()=>{}}},setup(u){const x=u,l=t(()=>s(x.product,"cardAttributes",""));return(_,c)=>(a(),d("ul",X,[(a(!0),d(B,null,A(l.value,(h,r)=>(a(),d("li",{key:r,class:"flex justify-between p-0 m-0 py-4 border-b border-old_velux-grey-300"},[o("span",null,v(r),1),o("span",Z,v(h),1)]))),128))]))}},et={class:"p-8"},at={class:"flex justify-between items-baseline"},st={key:0,class:"old_sm:hidden","data-test-id":"price-text-details"},ot={key:0,class:"text-16 old_sm:text-18","data-test-id":"product-details"},ct={"data-as-attribute":"content"},dt=["checked"],lt={class:"vlx-read-more__content vlx-read-more__content--white overflow-y-hidden"},rt={class:"text-16 old_sm:text-18"},it={"data-as-attribute":"content"},nt={class:"mt-auto p-8 pt-0"},ut={__name:"ProductCard",props:{product:{type:Object,default:()=>{}},productLabels:{type:Object,default:()=>{}},activeProductSetName:{type:String,default:""},translations:{type:Object,default:()=>({})},testId:{type:String,default:""}},emits:["productSelected"],setup(u,{emit:x}){const{isMobile:l}=z(),_=Q(),c=u,h=x,r=V(!1),e=t(()=>s(c,"product",{})),b=t(()=>s(c,"product.productSetImage",{})),g=t(()=>({value:{src:b.value.imageSrc,alt:b.value.altText}})),y=t(()=>e.value.productSetName===c.activeProductSetName),P=t(()=>e.value.productSetName!==c.activeProductSetName),i=t(()=>s(e,"value.buildYourOwn",!1)),F=t(()=>s(e,"value.productSetName","")),p=t(()=>s(e,"value.productSetPriceAvailability",!1)),f=t(()=>p.value?s(e,"value.productSetPrice",""):s(e,"value.productSetPriceText","")),L=t(()=>s(e,"value.productSetHeadline")),I=t(()=>s(c,"translations.fromPriceText","")),w=t(()=>s(e,"value.additionalPriceTextForFlashing","")),k=t(()=>s(e,"value.additionalPriceTextForBlinds","")),D=t(()=>s(e,"value.ctaButtonText","")),K=()=>{l.value&&_.showSidePanel(),c.activeProductSetName!==e.value.productSetName&&h("productSelected",e.value)};return(mt,M)=>(a(),d(B,null,[o("div",{class:O(["overflow-hidden aspect-w-16",{"active-card old_sm:aspect-h-9":y.value,"inactive-card aspect-h-[4.5]":N(l)||!y.value}]),"data-test-id":"product-card-wrapper"},[o("div",{class:O(["transition transform",{"active-card-offset old_sm:-translate-y-1/2 delay-150 duration-300":P.value}]),"data-test-id":"product-card-container"},[m(G,{"desktop-ratio":"16/9","mobile-ratio":"16/9",width:387,media:g.value,"data-test-id":"image-item"},null,8,["media"])],2)],2),o("div",et,[o("div",at,[m(J,{class:"mb-4","heading-type":"2","heading-style":"3"},{title:C(()=>[T(v(F.value),1)]),_:1}),i.value?n("",!0):(a(),d("span",st,[f.value?(a(),S($,{key:0,class:"old_sm:mt-8 old_mobile:justify-end",price:f.value},null,8,["price"])):n("",!0),m(j,{class:"items-end pb-6 pt-1","text-flashing":w.value,"text-blinds":k.value,"data-test-id":"price-details-text"},null,8,["text-flashing","text-blinds"])]))]),i.value?(a(),d("div",ot,[o("p",ct,v(L.value),1),f.value?(a(),S($,{key:0,class:"mt-8",price:f.value,"data-test-id":"price-item"},{default:C(()=>[T(v(I.value),1)]),_:1},8,["price"])):n("",!0),m(j,{class:"pt-1 old_sm:pt-2","text-flashing":w.value,"text-blinds":k.value,"data-test-id":"price-details-text"},null,8,["text-flashing","text-blinds"])])):n("",!0),i.value?n("",!0):(a(),d("div",{key:1,class:"vlx-read-more w-full","data-test-id":"read-more-wrapper",onClick:M[0]||(M[0]=vt=>r.value=!r.value)},[o("input",{type:"checkbox",class:"peer",checked:r.value},null,8,dt),o("div",lt,[o("div",rt,[o("p",it,v(L.value),1),f.value?(a(),S($,{key:0,class:"mt-8 old_sm:mt-10 old_mobile:hidden",price:f.value,"data-test-id":"price-item-read-more"},null,8,["price"])):n("",!0),N(l)?n("",!0):(a(),S(j,{key:1,class:"pt-2","text-flashing":w.value,"text-blinds":k.value,"data-test-id":"price-details-text-read-more"},null,8,["text-flashing","text-blinds"]))])]),m(tt,{class:"peer-checked:block old_mobile:hidden",product:u.product},null,8,["product"]),N(l)?(a(),S(R,{key:0})):n("",!0)]))]),o("div",nt,[m(W,{secondary:"","full-width":"",small:"","desktop-large":"","data-test-id":"product-item-button",onClick:K},{default:C(()=>[T(v(D.value),1)]),_:1})])],64))}}
1,pt={class:"old_vlx-container old_vlx-grid gap-y-6 old_sm:flex old_sm:justify-center old_sm:items-stretch old_sm:gap-x-10 old_sm:pt-30 old_sm:pb-26"},gt={__name:"ProductCards",props:{productSets:{type:Array,default:()=>[]},activeProduct:{type:Object,default:()=>null},productLabels:{type:Object,default:()=>{}}},emits:["productSelected","deselectCards","componentMounted"],setup(u,{emit:x}){const l=u,_=x;E(()=>{_("componentMounted")});const c=q(),h=t(()=>c.activeProductSetName),{readMoreText:r,readLessText:e,fromPriceText:b}=l.productLabels,g={readMoreText:r,readLessText:e,fromPriceText:b},y=i=>({"old_sm:w-[28.125%] old_sm:-my-[50px]":i.productSetName===c.activeProductSetName}),P=i=>{_("productSelected",i)};return H(()=>{_("deselectCards")}),(i,F)=>(a(),d("div",pt,[(a(!0),d(B,null,A(u.productSets,p=>U((a(),d("div",{key:p.title,class:O(["col-span-12 mx-2 old_sm:mx-0 old_sm:w-1/4 bg-old_velux-white flex flex-col transition-[width,margin] ease-in-out duration-300",y(p)]),"data-test-id":"product-card-item"},[m(ut,{"test-id":p.productSetKey,product:p,"active-product-set-name":h.value,translations:g,onProductSelected:P},null,8,["test-id","product","active-product-set-name"])],2)),[[Y,p.productSetKey]])),128))]))}};export{gt 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.