1 line
14 KiB
JavaScript
1 line
14 KiB
JavaScript
import{$ as e,At as t,B as n,D as r,Dt as i,E as a,M as o,U as s,Z as c,a as l,c as u,d,g as f,h as p,k as m,kt as h,l as g,m as _,r as v,s as y,t as b,u as x,w as S}from"./_plugin-vue_export-helper-QrIvvHC8.js";import{a as C,f as w,l as T,m as E,p as D}from"./http-BjLkjdQu.js";import{D as O,N as k,R as A,w as j,y as M}from"./index-BzcByePp.js";import{t as N}from"./AdminPageSkeleton-oWhHYjl4.js";var P=[`id`],F=[`aria-label`,`aria-expanded`,`disabled`],I={class:`admin-multi-select__value`},L={class:`admin-multi-select__chevron`,"aria-hidden":`true`},R={key:0,class:`admin-multi-select__chips`},z={class:`admin-multi-select__chip-label`},B=[`onClick`],V=[`aria-label`],ee={key:0,class:`admin-multi-select__search`,role:`presentation`},te=[`placeholder`],H={key:1,class:`admin-multi-select__empty`,role:`presentation`},U=[`aria-selected`,`onClick`],W={class:`admin-multi-select__option-label`},G=b(f({__name:`AdminMultiSelect`,props:{modelValue:{},options:{},placeholder:{default:`انتخاب کنید`},ariaLabel:{default:`انتخاب چندگانه`},block:{type:Boolean,default:!1},searchable:{type:Boolean,default:!0},searchPlaceholder:{default:`جستجو…`},disabled:{type:Boolean,default:!1},id:{default:void 0}},emits:[`update:modelValue`],setup(a,{emit:c}){let f=a,_=c,b=e(!1),C=e(``),T=e(null),O=e(null),j=e(null),M=e({});k(T,()=>{b.value=!1,C.value=``},{ignore:[O]});let N=y(()=>new Set(f.modelValue)),G=y(()=>f.options.filter(e=>N.value.has(e.value))),K=y(()=>{let e=f.modelValue.length;return e?e===1?G.value[0]?.label??f.placeholder:`${e} مورد انتخاب شده`:f.placeholder}),q=y(()=>{let e=C.value.trim().toLowerCase();return e?f.options.filter(t=>t.label.toLowerCase().includes(e)):f.options});function J(){let e=T.value;if(!e)return;let t=e.getBoundingClientRect(),n=Math.min(320,window.innerHeight*.5),r=window.innerHeight-t.bottom-6,i=t.top-6,a=r<Math.min(160,n)&&i>r,o=Math.max(120,Math.min(n,a?i:r));M.value={position:`fixed`,left:`${Math.max(8,Math.min(t.left,window.innerWidth-Math.max(t.width,220)-8))}px`,width:`${Math.max(t.width,220)}px`,zIndex:`1100`,maxHeight:`${o}px`,...a?{top:`auto`,bottom:`${window.innerHeight-t.top+6}px`}:{top:`${t.bottom+6}px`,bottom:`auto`}}}function Y(e){e?(window.addEventListener(`resize`,J),window.addEventListener(`scroll`,J,!0)):(window.removeEventListener(`resize`,J),window.removeEventListener(`scroll`,J,!0))}async function X(){f.disabled||(b.value=!b.value,b.value&&(await S(),J(),f.searchable&&(C.value=``,await S(),j.value?.focus())))}function Z(e){let t=new Set(f.modelValue);t.has(e)?t.delete(e):t.add(e),_(`update:modelValue`,[...t])}function Q(e){_(`update:modelValue`,f.modelValue.filter(t=>t!==e))}return n(b,e=>{Y(e),e&&S(()=>J())}),r(()=>{Y(!1)}),(e,n)=>(m(),d(`div`,{id:a.id,ref_key:`rootRef`,ref:T,class:i([`admin-multi-select`,{"admin-multi-select--open":b.value,"admin-multi-select--block":a.block,"admin-multi-select--disabled":a.disabled}])},[u(`button`,{type:`button`,class:`admin-multi-select__trigger`,"aria-label":a.ariaLabel,"aria-expanded":b.value,"aria-haspopup":`listbox`,disabled:a.disabled,onClick:X},[u(`span`,I,t(K.value),1),u(`span`,L,[p(A,{name:`chevron-down`,size:16})])],8,F),G.value.length&&!a.disabled?(m(),d(`ul`,R,[(m(!0),d(v,null,o(G.value,e=>(m(),d(`li`,{key:e.value,class:`admin-multi-select__chip`},[u(`span`,z,t(e.label),1),u(`button`,{type:`button`,class:`admin-multi-select__chip-remove`,"aria-label":`حذف`,onClick:t=>Q(e.value)},` × `,8,B)]))),128))])):x(``,!0),(m(),g(l,{to:`body`},[b.value?(m(),d(`ul`,{key:0,ref_key:`menuRef`,ref:O,class:`admin-multi-select__menu`,role:`listbox`,"aria-label":a.ariaLabel,style:h(M.value),"aria-multiselectable":`true`},[a.searchable?(m(),d(`li`,ee,[s(u(`input`,{ref_key:`searchInputRef`,ref:j,"onUpdate:modelValue":n[0]||=e=>C.value=e,type:`search`,class:`admin-multi-select__search-input`,placeholder:a.searchPlaceholder,onClick:n[1]||=E(()=>{},[`stop`]),onKeydown:n[2]||=D(E(e=>b.value=!1,[`stop`]),[`esc`])},null,40,te),[[w,C.value]])])):x(``,!0),q.value.length?x(``,!0):(m(),d(`li`,H,` موردی یافت نشد `)),(m(!0),d(
|