1import e from"./BLamSXqr.js";import{_ as i,c as a,B as t,d as l,b as r,r as o,aJ as s,o as n,D as d,i as u,h as p,am as c,s as m,v as f,an as v,A as g,x as b,g as S,aB as _,F as y,E as N,a0 as h,m as k,j as w,aK as x}from"./CU7mbr9U.js";import{a as j}from"./BBCb-HZ2.js";import{u as I}from"./DKju34L4.js";import{u as B}from"./CJH33fv8.js";import"./1Zd6nadK.js";const q={class:"relative"},O=["for"],M={key:0},V=["name","label","id","aria-required","aria-invalid","aria-errormessage"],C={value:"---",selected:"",disabled:"","aria-selected":"undefined","aria-disabled":"true"},F=["value","aria-selected"],L=["id"],T={key:1,class:"border border-light-400 bg-light-300 p-4 my-4 text-base flex flex-col lg:flex-row gap-4"},E={key:0,class:"w-1/2 lg:w-1/3 lg:min-w-[30%] lg:basis-[30%]"},P={class:"title text-lg text-primary"},H=["innerHTML"],A=i({__name:"prodotto",props:{field:{type:Object,default:()=>({})},formSettings:{type:Object,default:()=>({})},preselection:{type:String,default:null},settings:{type:Object,default:()=>({})},onOptionMeta:{type:Function,default:null}},setup(i){const A=i,D=()=>{if(!A.onOptionMeta)return;const e=X.value.find((e=>e.NS_itemId===$.value));A.onOptionMeta({alias:A.field.alias,value:$.value,label:(null==e?void 0:e.NS_displayname)||null})},{layout:J}=j(A.settings,!0),{randomId:K}=I(),{getContentByParams:Q,buildQueryParams:U}=B(),{public:Y}=a(),z=t((()=>A.field.alias+"-"+K())),{locale:G,t:R}=l(),W=r(),X=o([]),Z=e=>e.NS_displayname||"",{value:$,errors:ee,errorMessage:ie,validate:ae}=s((()=>A.field.alias),(()=>{const e=X.value.map((e=>e.NS_itemId)),i=Object.fromEntries(X.value.map((e=>[e.NS_itemId,e.NS_displayname]))),a=R("form.errors.select",{caption:A.field.caption,values:Object.values(i).join(", ")});return A.field.required?x().test("is-valid-option",(()=>a),(i=>e.includes(i))).required():x().test("is-valid-option",(()=>a),(i=>"---"===i||e.includes(i)))}),{label:A.field.caption,initialValue:A.preselection&&(A.field.preValues||[]).some((e=>e.NS_itemId===A.preselection))?A.preselection:"---"}),te=t((()=>[...X.value].sort(((e,i)=>Z(e).localeCompare(Z(i),"it",{sensitivity:"base"}))))),le=t((()=>X.value.find((e=>e.NS_itemId===$.value))));n((async()=>{try{const e={filter:"website:"+Y.websiteFilter,take:1e3,sort:"name:asc",fields:"properties[internalSku,title,description,image,website]"};let i=U(e);i+="&filter=contentType:prodotto";const a=await Q(i),t=(null==a?void 0:a.items)||[];X.value=[...A.field.preValues||[],...t.filter((e=>{var i,a;return(null==(i=e.properties)?void 0:i.internalSku)&&""!==(null==(a=e.properties)?void 0:a.internalSku)}))].map((e=>{var i,a,t,l,r,o,s;return{...e,NS_itemId:String(null==(i=e.properties)?void 0:i.internalSku),NS_displayname:(null==(a=e.properties)?void 0:a.title)||e.name,NS_fullname:(null==(t=e.properties)?void 0:t.title)||e.name,NS_description:(null==(r=null==(l=e.properties)?void 0:l.description)?void 0:r.markup)||"",NS_image:(null==(s=null==(o=e.properties)?void 0:o.image)?void 0:s[0])||null}}));const l=W.query.product;if(l){const e=X.value.find((e=>e.NS_itemId===l));e&&($.value=e.NS_itemId,D())}else if(A.preselection){X.value.some((e=>e.NS_itemId===A.preselection))&&($.value=A.preselection)}}catch(e){console.error("â Errore fetch prodotti:",e),X.value=A.field.preValues||[]}}));return d((()=>$.value),(()=>D())),(a,t)=>{var l;const r=e;return p(),u("div",q,[c(m("label",{for:S(z),class:"hidden"},[g(b(i.field.caption)+" ",1),i.field.required?(p(),u("span",M,b(i.formSettings.indicator),1)):f("",!0)],8,O),[[v,"True"===(null==(l=i.field.settings)?void 0:l.showLabel)]]),c(m("select",{name:i.field.alias,label:i.field.caption,id:S(z),"onUpdate:modelValue":t[0]||(t[0]=e=>k($)?$.value=e:null),onBlur:t[1]||(t[1]=e=>(async()=>{await ae()})()),class:h(["appearance-none text-inherit leading-tight placeholder:text-white/0 border bg-none focus:outline-none focus:ring-0 w-full px-6 py-4 cursor-pointer",[S(ee).length?S(J).errorBorder:S(J).inputBorder,S(J).inputFocus,S(J).inputBackground,S(J).inputColor,"---"!==S($)?"px-3":"px-0 font-bold"]]),"aria-required":i.field.required,"aria-invalid":S(ee).length>0,"aria-errormessage":"error_"+S(z)},[m("option",C,[g(b(S(R)("blocks.selectProduct")||"---")+" ",1),i.field.required?(p(),u(y,{key:0},[g(b(i.formSettings.indicator),1)],64)):f("",!0)]),(p(!0),u(y,null,N(S(te),(e=>(p(),u("option",{value:e.NS_itemId,"aria-selected":S($)===e.NS_itemId,key:e.NS_itemId},b(e.NS_displayname),9,F)))),128))],42,V),[[_,S($)]]),t[2]||(t[2]=m("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.2",stroke:"currentColor",class:"h-5 w-5 ml-1 absolute top-4 right-4 pointer-events-none"},[m("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M8.25 15 12 18.75 15.75 15m-7.5-6L12 5.25 15.75 9"})],-1)),S(ee).length>0?(p(),u("span",{key:0,id:"error_"+S(z),class:h(["border border-t-0 py-2 px-4 text-sm font-bold block",[S(J).errorBackgroun
1d,S(J).errorColor,S(J).errorBorder]])},b(S(ie)),11,L)):f("",!0),S(le)?(p(),u("div",T,[S(le).NS_image?(p(),u("div",E,[w(r,{image:S(le).NS_image,class:"border border-light-400"},null,8,["image"])])):f("",!0),m("div",null,[m("div",P,b(S(le).NS_displayname),1),m("div",{class:"content mt-2 line-clamp-3",innerHTML:S(le).NS_description},null,8,H)])])):f("",!0)])}}},[["__scopeId","data-v-04d9940c"]]);export{A 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.