Files
monisuo/monisuo-admin/dist/assets/Collection-CEQN_ElG.js
2026-03-22 23:32:23 +08:00

1 line
1.3 KiB
JavaScript

import{$ as e,B as t,D as n,Q as r,g as i,k as a,mt as o,ut as s,w as c}from"./vue.runtime.esm-bundler-DQjudA8G.js";import{n as l}from"./Primitive-jhoGcsVx.js";import{t as u}from"./usePrimitiveElement-BKQPgqfD.js";var d=`data-reka-collection-item`;function f(f={}){let{key:p=``,isProvider:m=!1}=f,h=`${p}CollectionProvider`,g;if(m){let e=o(new Map);g={collectionRef:o(),itemMap:e},t(h,g)}else g=a(h);let _=(e=!1)=>{let t=g.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${d}]`)),r=Array.from(g.itemMap.value.values()).sort((e,t)=>n.indexOf(e.ref)-n.indexOf(t.ref));return e?r:r.filter(e=>e.ref.dataset.disabled!==``)},v=c({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:t,attrs:i}){let{primitiveElement:a,currentElement:o}=u();return r(o,()=>{g.collectionRef.value=o.value}),()=>n(l,{ref:a,...i},t)}}),y=c({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(t,{slots:r,attrs:i}){let{primitiveElement:a,currentElement:o}=u();return e(e=>{if(o.value){let n=s(o.value);g.itemMap.value.set(n,{ref:o.value,value:t.value}),e(()=>g.itemMap.value.delete(n))}}),()=>n(l,{...i,[d]:``,ref:a},r)}});return{getItems:_,reactiveItems:i(()=>Array.from(g.itemMap.value.values())),itemMapSize:i(()=>g.itemMap.value.size),CollectionSlot:v,CollectionItem:y}}export{f as t};