index.55c30fee.js 2.3 KB

1
  1. import{t as E,v as k,d as T,x as V,W as L,c as b,G as z,D as O,N as B,z as D,R as C,C as $,y as R,aY as A,Z as I,aO as H,_ as Y,aD as j,ak as _,E as G,ac as K,aP as M}from"./index.13ca4bcb.js";import{c as S,C as W}from"./index.121d7090.js";const[w,Z]=E("collapse"),N=Symbol(w),q={border:k,accordion:Boolean,modelValue:{type:[String,Number,Array],default:""}};var F=T({name:w,props:q,emits:["change","update:modelValue"],setup(n,{emit:c,slots:l}){const{linkChildren:v,children:p}=V(N),r=e=>{c("change",e),c("update:modelValue",e)},m=(e,s)=>{const{accordion:o,modelValue:u}=n;r(o?e===u?"":e:s?u.concat(e):u.filter(h=>h!==e))},t=(e={})=>{if(n.accordion)return;typeof e=="boolean"&&(e={expanded:e});const{expanded:s,skipDisabled:o}=e,h=p.filter(d=>d.disabled&&o?d.expanded.value:s!=null?s:!d.expanded.value).map(d=>d.itemName.value);r(h)},i=e=>{const{accordion:s,modelValue:o}=n;return s?o===e:o.includes(e)};return L({toggleAll:t}),v({toggle:m,isExpanded:i}),()=>{var e;return b("div",{class:[Z(),{[z]:n.border}]},[(e=l.default)==null?void 0:e.call(l)])}}});const ne=O(F),[J,x]=E("collapse-item"),Q=["icon","title","value","label","right-icon"],U=B({},S,{name:D,isLink:k,disabled:Boolean,readonly:Boolean,lazyRender:k});var X=T({name:J,props:U,setup(n,{slots:c}){const l=C(),v=C(),{parent:p,index:r}=$(N);if(!p)return;const m=R(()=>{var a;return(a=n.name)!=null?a:r.value}),t=R(()=>p.isExpanded(m.value)),i=C(t.value),e=A(()=>i.value||!n.lazyRender),s=()=>{t.value?l.value&&(l.value.style.height=""):i.value=!1};I(t,(a,g)=>{if(g===null)return;a&&(i.value=!0),(a?Y:j)(()=>{if(!v.value||!l.value)return;const{offsetHeight:f}=v.value;if(f){const P=`${f}px`;l.value.style.height=a?"0":P,H(()=>{l.value&&(l.value.style.height=a?P:"0")})}else s()})});const o=(a=!t.value)=>{p.toggle(m.value,a)},u=()=>{!n.disabled&&!n.readonly&&o()},h=()=>{const{border:a,disabled:g,readonly:y}=n,f=_(n,Object.keys(S));return y&&(f.isLink=!1),(g||y)&&(f.clickable=!1),b(W,G({role:"button",class:x("title",{disabled:g,expanded:t.value,borderless:!a}),"aria-expanded":String(t.value),onClick:u},f),_(c,Q))},d=e(()=>{var a;return K(b("div",{ref:l,class:x("wrapper"),onTransitionend:s},[b("div",{ref:v,class:x("content")},[(a=c.default)==null?void 0:a.call(c)])]),[[M,i.value]])});return L({toggle:o,expanded:t,itemName:m}),()=>b("div",{class:[x({border:r.value&&n.border})]},[h(),d()])}});const le=O(X);export{ne as C,le as a};