1 line
2.5 KiB
JavaScript
1 line
2.5 KiB
JavaScript
import{B as e,F as t,H as n,I as r,K as i,L as a,P as o,Q as s,T as c,U as l,V as u,Y as d,at as f,ct as p,et as m,ft as h,j as g,q as _,ut as v,x as y,z as b}from"./index-dG7O4aC2.js";var x=[`id`],S=[`aria-label`,`aria-expanded`],C={class:`admin-select__value`},w={class:`admin-select__chevron`,"aria-hidden":`true`},T=[`aria-label`],E={key:0,class:`admin-select__search`,role:`presentation`},D=[`placeholder`],O={key:1,class:`admin-select__empty`,role:`presentation`},k=[`aria-selected`,`onClick`],A=g(_({__name:`AdminSelect`,props:{modelValue:{},options:{},placeholder:{default:`انتخاب کنید`},ariaLabel:{default:`انتخاب`},block:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},searchPlaceholder:{default:`جستجو…`},id:{default:void 0}},emits:[`update:modelValue`],setup(g,{emit:_}){let A=g,j=_,M=p(!1),N=p(``),P=p(null),F=p(null);y(P,()=>{M.value=!1,N.value=``});let I=b(()=>A.options.find(e=>e.value===A.modelValue)?.label??A.placeholder),L=b(()=>{let e=N.value.trim().toLowerCase();return e?A.options.filter(t=>t.label.toLowerCase().includes(e)):A.options});async function R(){M.value=!M.value,M.value&&A.searchable&&(N.value=``,await d(),F.value?.focus())}function z(e){j(`update:modelValue`,e),M.value=!1,N.value=``}return(d,p)=>(s(),l(`div`,{id:g.id,ref_key:`rootRef`,ref:P,class:v([`admin-select`,{"admin-select--open":M.value,"admin-select--block":g.block}])},[e(`button`,{type:`button`,class:`admin-select__trigger`,"aria-label":g.ariaLabel,"aria-expanded":M.value,"aria-haspopup":`listbox`,onClick:R},[e(`span`,C,h(I.value),1),e(`span`,w,[i(c,{name:`chevron-down`,size:16})])],8,S),M.value?(s(),l(`ul`,{key:0,class:`admin-select__menu`,role:`listbox`,"aria-label":g.ariaLabel},[g.searchable?(s(),l(`li`,E,[f(e(`input`,{ref_key:`searchInputRef`,ref:F,"onUpdate:modelValue":p[0]||=e=>N.value=e,type:`search`,class:`admin-select__search-input`,placeholder:g.searchPlaceholder,onClick:p[1]||=r(()=>{},[`stop`]),onKeydown:p[2]||=t(r(e=>M.value=!1,[`stop`]),[`esc`])},null,40,D),[[o,N.value]])])):n(``,!0),L.value.length?n(``,!0):(s(),l(`li`,O,` موردی یافت نشد `)),(s(!0),l(a,null,m(L.value,t=>(s(),l(`li`,{key:t.value,role:`presentation`},[e(`button`,{type:`button`,class:v([`admin-select__option`,{"admin-select__option--active":t.value===g.modelValue}]),role:`option`,"aria-selected":t.value===g.modelValue,onClick:e=>z(t.value)},[e(`span`,null,h(t.label),1),t.value===g.modelValue?(s(),u(c,{key:0,name:`check`,size:16,class:`admin-select__check`})):n(``,!0)],10,k)]))),128))],8,T)):n(``,!0)],10,x))}}),[[`__scopeId`,`data-v-f752c229`]]);export{A as t}; |