PageSourceSearch

https://www.vejle.dk/_nuxt/HR3CDB9G.js

js vejle.dk collected 2026-09-24 17:40:42 UTC 11,303 bytes, 1 lines download raw bytes

1import{C as e,D as l,E as a,Et as t,Gt as u,J as r,Lt as i,M as n,N as o,Nt as s,St as d,T as c,Tt as v,_ as p,_t as m,fn as f,hn as b,it as h,q as g,st as y,ut as x,vt as w,w as _}from"./B8XHxhss.js";import{Jt as $,S,Ut as A,Xt as V,Zt as C,k as E}from"#entry";import{t as q}from"./DXNx4Ry-.js";import{t as L}from"./tKPW4sCS.js";import{s as k,t as T}from"./h5tmDfca.js";import{t as j}from"./Sm3dRsQI.js";import{n as O}from"./DbTBWtYY.js";var z={class:"relative flex flex-grow flex-shrink rounded-inputField text-body-sm-regular text-min-16 bg-canvas hover:bg-canvasHover active:bg-canvasActive focus:bg-canvasActive aria-expanded:bg-canvasActive"},B=["id"],I=["aria-label","onClick"],M=["id","required","aria-controls","aria-activedescendant","data-focus","onKeydown"],H=["name","value","required","data-input-selector"],F=["aria-label"],N=["innerHTML"],D=["innerHTML"],G=Object.assign({inheritAttrs:!1},{__name:"BaseSearchableDropdown",props:g({id:{type:[String,Number]},items:{type:Array,default:()=>[]},showListOnEmpty:{type:Boolean,default:!1},color:{type:String,default:void 0,validate:e=>["surface","surfaceVariant"].includes(e)},placeholder:{type:String,default:void 0},name:{type:String,default:void 0},value:{type:String,default:""},multiple:{type:Boolean,default:!1},allowCustomValue:{type:Boolean,default:!1},showAllOnEmpty:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},{modelValue:{type:String,default:""},modelModifiers:{}}),emits:g(["change"],["update:modelValue"]),setup(g,{emit:j}){const O=j,G=g,R=i(null),U=i(null),X=w(g,"modelValue"),J=(G.items||[]).reduce((e,l)=>(l.value&&l.label&&e.set(l.value,l),e),new Map),K=e(()=>G.multiple?X.value.split(",").filter(e=>e):[X.value]),Z=i([]),P=e(()=>{if(!G.multiple){const e=Z.value?.[0]?.label;if(e)return e}return G.placeholder});d(K,e=>{const l=[];e.forEach(e=>{const a=G.items.find(l=>l.value===e)||J.get(e);a?(l.push(a),J.set(e,a)):l.push({value:e,label:e})}),Z.value=l?.filter?.(e=>e.label||e.value)},{immediate:!0}),d(X,e=>{if(e!==W.value)if(G.multiple)W.value="",Y.value=!1;else{let l="";const a=le.value.find(l=>l.value===e);a?.label&&(l=a.label),W.value=l}});const Q=i(null),W=i(G.multiple?"":G.items?.find?.(e=>e.value===G.modelValue)?.label||(G.allowCustomValue?X.value:"")),Y=i(!1),ee=i(null),le=e(()=>{if(G.showAllOnEmpty||W.value){const e=function(e,...l){const a=[...e||[]];return l?.forEach(e=>{e.forEach(e=>{const l=a.findIndex(l=>l.value===e.value&&l.label===e.label);l>=0?a[l]=e:a.push(e)})}),a}(Z.value,G.items).filter(e=>e.label||e.value).filter(e=>!(G.multiple&&(!e.value||K.value.includes(e.value)))&&e.label.toLowerCase().includes(W.value.toLowerCase()));return e.sort((e,l)=>e.label.toLowerCase().indexOf(W.value.toLowerCase())-l.label.toLowerCase().indexOf(W.value.toLowerCase())),e}return G.showListOnEmpty?G.items.filter(e=>!G.multiple||!K.value.includes(e.value)):[]}),ae=e(()=>(!G.allowCustomValue||1!==le.value.length||le.value[0].label!==W.value)&&(Y.value&&le.value.length>0)),te=e(()=>!(G.multiple||!Z.value?.length)||W.value&&W.value.length>0),ue=m(),re=e(()=>G.id&&"string"==typeof G.id?G.id:"number"==typeof G.id?`dropdown-${G.id}`:`dropdown-${ue}`);function ie(){oe("")}function ne(e){if(!W.value)return e;let l=e.charAt(0).toUpperCase()+e.slice(1);const a=new RegExp(`(${W.value})`,"gi");return l.replace(a,"<b>$1</b>")}function oe(e){let l;e&&"object"==typeof e&&(l=e.label,({value:e}=e));const a=[...K.value];if(G.multiple){const l=new Set(K.value);l.add(e),X.value=Array.from(l).join(","),W.value=""}else X.value=e,W.value=l??(G.allowCustomValue?X.value:G.items.find(l=>l.value===e)?.label??""),Y.value=!1;U.value?.focus(),a.includes(e)||O("change",X.value)}function se(e){const l=K.value.filter(l=>l!==e);X.value=l.join(","),U.value?.focus(),O("change",X.value)}function de(e){e.target&&R.value?.contains(e.target)&&(e.relatedTarget&&R.value?.contains(e.relatedTarget)||(Y.value=!0))}function ce(e){e.relatedTarget&&R.value?.contains(e.relatedTarget)||(Y.value=!1)}function ve(e){if(0===le.value.length)return;const l=le.value?.findIndex?.(e=>ee.value===be(e));l<0?ee.value=`${re.value}__item-${he(le.value.at(-1).value)}`:l>0&&(ee.value=`${re.value}__item-${he(le.value[l-1].value)}`),ee.value&&R.value.querySelector(`#${ee.value}`).scrollIntoView({block:"nearest",inline:"nearest"})}function pe(e){if(0===le.value.length)return;const l=le.value?.findIndex?.(e=>ee.value===be(e));l<0?ee.value=`${re.value}__item-${he(le.value[0].value)}`:l<le.value.length-1&&(ee.value=`${re.value}__item-${he(le.value[l+1].value)}`),ee.value&&R.value.querySelector(`#${ee.value}`).scrollIntoView({block:"nearest",inline:"nearest"})}function me(e){if(ee.value){const e=le.value.find(e=>ee.value===be(e));e&&oe(e.value)}else if(G.multiple&&W.value){const e=le.value.find(e=>e.label?.toLowerCase?.()===W.value?.toLowerCase?.());e?oe(e.value):G.allowCustomValue&&oe(W.value)}}function fe(e){if(G.multiple&&!W.value&&Z.value.length>0){se(Z.value[Z.value.length-1].value),e.preventDefault()}}function be(e){const l=he(e.value),a=he(e.label);return`${re.value}__item-${l}-${a}`}function he(e){return String(e).replace(/[^a-zA-Z0-9]/g,"-")}function ge(e,l){return G.multiple?K.value.includes(l):e===l}return d(W,e=>{G.allowCustomValue&&X.value!==e&&(X.value=e,O("change",X.value))}),(e,i)=>{const d=q,m=k,w=T,j=x("responsive-placeholder");return h(),l("div",r({ref_key:"$el",ref:R,class:["c-base-searchable-dropdown",[g.color&&`c-base-searchable-dropdown--color--${g.color}`,e.$attrs.class]]},("useAttrsSome"in e?e.useAttrsSome:u(L))(["style","data-n-ids"],e.$attrs),{onFocusout:ce}),[_("div",z,[_("div",{id:`${u(re)}__focus-wrapper`,class:f(["c-base-searchable-dropdown__focus-wrapper flex-grow flex flex-wrap items-baseline gap-5xs rounded-inputField border-1 border-solid border-extraStrong",{"px-[calc(var(--theme-spacing-3xs)+var(--theme-spacing-4xs))] py-2xs":g.multiple&&u(Z).length}])},[g.multiple?(h(!0),l(p,{key:0},y(u(Z),a=>(h(),l("div",{key:a.value,class:"inline-flex flex items-center gap-6xs bg-secondary text-interactive p-6xs mr-6 rounded-xs"},[n(b(a.label)+" ",1),_("button",{type:"button","aria-label":("localize"in e?e.localize:u(E))("REMOVE_X",{capitalize:!0,populate:[a.label]}),class:"w-0.86em h-0.86em inline-flex items-center justify-center",onClick:e=>se(a.value)},[o(d,{name:"close",class:"w-full h-full"})],8,I)]))),128)):a("",!0),t(_("input",r({id:u(re),ref_key:"input",ref:U,"onUpdate:modelValue":i[0]||(i[0]=e=>s(W)?W.value=e:null),role:"combobox",type:"text",required:g.required&&!X.value,"aria-controls":`${u(re)}__dropdown-list`,"aria-haspopup":"listbox","aria-autocomplete":"list","aria-expanded":"true","aria-activedescendant":u(ee)},("useAttrsExcept"in e?e.useAttrsExcept:u(S))(["class","style","aria-label","data-n-ids"],e.$attrs),{class:["flex-grow bg-transparent text-placeholder border-none",{"px-[calc(var(--theme-spacing-3xs)+var(--theme-spacing-4xs))] py-2xs":!(g.multiple&&u(Z).length),"!text-strong":u(W)&&u(W).length}],"data-focus":`#${u(re)}__focus-wrapper`,onFocusin:de,onClick:i[1]||(i[1]=e=>{Y.value=!0,ee.value=null}),onInput:i[2]||(i[2]=e=>{Y.value=!0,ee.value=null}),onKeydown:[V(C(ve,["prevent"]),["up"]),V(C(pe,["prevent"]),["down"]),V(C(me,["prevent"]),["enter"]),V(fe,["backspace"])]}
1),null,16,M),[[$,u(W)],[j,u(P)?[u(P)].filter(Boolean):[]]]),_("input",{type:"hidden",name:g.name,value:X.value,required:g.required,"data-input-selector":`#${u(re)}`},null,8,H),o(A,{name:"t-input-text"},{default:v(()=>[u(te)?(h(),l("button",{key:0,type:"button",class:"absolute top-0 right-3xs min-w-24 min-h-24 h-full flex items-center justify-center !text-interactive hover:text-interactiveHover active:text-interactiveActive","aria-label":("localize"in e?e.localize:u(E))("CLEAR_TEXT",{capitalize:!0}),onClick:ie},[o(d,{name:"close"})],8,F)):a("",!0)]),_:1})],10,B)]),u(ae)?(h(),c(w,{key:0,id:`${u(re)}__dropdown-list`,ref_key:"dropdownOptionList",ref:Q,color:g.color,"aria-label":("localize"in e?e.localize:u(E))("SEARCH_SUGGESTIONS",{capitalize:!0}),class:"c-base-searchable-dropdown__dropdown-list c-base-searchable-dropdown__dropdown-list--top absolute w-full overflow-auto z-100 max-h-392"},{default:v(()=>[(h(!0),l(p,null,y(u(le),e=>(h(),c(m,{id:be(e),key:`item-${e.value}-${e.label}`,class:"c-base-searchable-dropdown__dropdown-list-item flex flex-col","data-value":e.value,"data-active":u(ee)===be(e)?"true":null,"aria-selected":ge(X.value,e.value)?"true":null,"aria-disabled":e.disabled?"true":null,onClick:l=>oe(e)},{default:v(()=>[_("span",{innerHTML:ne(e.label)},null,8,N),e.subLabel?(h(),l("span",{key:0,class:"text-body-sm-regular text-placeholder",innerHTML:e.subLabel},null,8,D)):a("",!0)]),_:2},1032,["id","data-value","data-active","aria-selected","aria-disabled","onClick"]))),128))]),_:1},8,["id","color","aria-label"])):a("",!0)],16)}}}),R=Object.assign({inheritAttrs:!1},{__name:"InputSearchableDropdown",props:{id:{type:[String,Number]},items:{type:Array,default:()=>[]},itemsEndpoint:{type:Object,default:void 0},color:{type:String,default:void 0,validate:e=>["surface","surfaceVariant"].includes(e)},placeholder:{type:String,default:void 0},name:{type:String,default:void 0},required:{type:Boolean,default:!1},requiredLabelAppendage:{type:String,default:""},multiple:{type:Boolean,default:!1},label:{type:String,default:void 0},helpText:{type:String,default:null},modelValue:{type:String,default:void 0},errors:{type:Array,default:()=>[]}},emits:["change","update:modelValue"],setup(l,{emit:a}){const t=a,n=l,s=i(""),p=e(()=>n.modelValue&&!n.multiple?n.items.find(e=>e.value===n.modelValue)?.label:n.placeholder?n.placeholder:n.items.length>0&&n.items[0].value==n.modelValue&&!n.multiple?n.items[0].label:""),f=m(),b=e(()=>n.id&&"string"==typeof n.id?n.id:"number"==typeof n.id?`dropdown-${n.id}`:`dropdown-${f}`),g=i([...n.items||[]]),y=i(n.itemsEndpoint?O(n.itemsEndpoint):null),x=e(()=>y.value?g.value:n.items);function w(e){const l=n.modelValue;t("update:modelValue",e),l!==e&&t("change",e)}function _(e){s.value=e.target.value,s.value&&(cancelAnimationFrame($),y.value&&($=requestAnimationFrame(async()=>{s.value&&await y.value.fetch({method:y.value.method||"GET"}).then(e=>{Array.isArray(e)?g.value=e:g.value=[]}).catch(()=>{g.value=[]})})))}d(s,e=>{y.value&&e!==y.value.fieldValues.text&&(y.value.fieldValues.text=e)},{immediate:!0}),d(()=>n.modelValue,e=>{e!==s.value&&(s.value=e)});let $=null;return(e,a)=>{const t=G,i=j;return h(),c(i,r({"base-id":u(b),class:"c-input-searchable-dropdown"},("useAttrsSome"in e?e.useAttrsSome:u(L))(["class","style","aria-label","data-n-ids"],e.$attrs),{label:l.label,"label-is-label":!1,"help-text":l.helpText,required:l.required,"required-label-appendage":l.requiredLabelAppendage,errors:l.errors}),{default:v(()=>[o(t,r({id:u(b),items:u(x)||void 0,color:l.color,placeholder:u(p),name:l.name,required:l.required,"aria-invalid":l.errors?.length?"true":null,"aria-labelledby":l.label?`${u(b)}__label`:void 0,"model-value":l.modelValue,multiple:l.multiple},("useAttrsExcept"in e?e.useAttrsExcept:u(S))(["class","style","data-n-ids"],e.$attrs),{onInput:_,onChange:w}),null,16,["id","items","color","placeholder","name","required","aria-invalid","aria-labelledby","model-value","multiple"])]),_:1},16,["base-id","label","help-text","required","required-label-appendage","errors"])}}});export{R as t};

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.