全栈小学生 e89199db6a 1
2023-06-01 19:37:55 +08:00

2 lines
3.8 KiB
JavaScript

import{b as x,d as V,a as q,u as $,_ as D,n as L,E as U,w as W,q as j}from"./base-962c0c23.js";import{m as z}from"./index-93f2c618.js";import{U as S,C as T,w as G,d as J,v as Q}from"./event-ff03ec12.js";import{c as K}from"./index-61c777fa.js";import{r as b,w as R,E as X,c,d as C,b as A,e as B,g as y,n as p,u as e,D as Y,f,v as Z,x as ee,q as k,p as N,L as se}from"./runtime-core.esm-bundler-dc7a07d7.js";import{_ as ae}from"./index-6ef4c1c3.js";const H=()=>Math.floor(Math.random()*1e4),M=Symbol("collapseContextKey"),g=s=>typeof q(s),te=x({accordion:Boolean,modelValue:{type:V([Array,String,Number]),default:()=>z([])}}),le={[S]:g,[T]:g},oe=(s,o)=>{const a=b(K(s.modelValue)),n=l=>{a.value=l;const i=s.accordion?a.value[0]:a.value;o(S,i),o(T,i)},t=l=>{if(s.accordion)n([a.value[0]===l?"":l]);else{const i=[...a.value],r=i.indexOf(l);r>-1?i.splice(r,1):i.push(l),n(i)}};return R(()=>s.modelValue,()=>a.value=K(s.modelValue),{deep:!0}),X(M,{activeNames:a,handleItemClick:t}),{activeNames:a,setActiveNames:n}},ne=()=>{const s=$("collapse");return{rootKls:c(()=>s.b())}},ie=C({name:"ElCollapse"}),re=C({...ie,props:te,emits:le,setup(s,{expose:o,emit:a}){const n=s,{activeNames:t,setActiveNames:l}=oe(n,a),{rootKls:i}=ne();return o({activeNames:t,setActiveNames:l}),(r,u)=>(A(),B("div",{class:p(e(i)),role:"tablist","aria-multiselectable":"true"},[y(r.$slots,"default")],2))}});var ce=D(re,[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse/src/collapse.vue"]]);const de=x({title:{type:String,default:""},name:{type:V([String,Number]),default:()=>H()},disabled:Boolean}),ue=s=>{const o=Y(M),a=b(!1),n=b(!1),t=b(H()),l=c(()=>o==null?void 0:o.activeNames.value.includes(s.name));return{focusing:a,id:t,isActive:l,handleFocus:()=>{setTimeout(()=>{n.value?n.value=!1:a.value=!0},50)},handleHeaderClick:()=>{s.disabled||(o==null||o.handleItemClick(s.name),a.value=!1,n.value=!0)},handleEnterClick:()=>{o==null||o.handleItemClick(s.name)}}},me=(s,{focusing:o,isActive:a,id:n})=>{const t=$("collapse"),l=c(()=>[t.b("item"),t.is("active",e(a)),t.is("disabled",s.disabled)]),i=c(()=>[t.be("item","header"),t.is("active",e(a)),{focusing:e(o)&&!s.disabled}]),r=c(()=>[t.be("item","arrow"),t.is("active",e(a))]),u=c(()=>t.be("item","wrap")),h=c(()=>t.be("item","content")),_=c(()=>t.b(`content-${e(n)}`)),E=c(()=>t.b(`head-${e(n)}`));return{arrowKls:r,headKls:i,rootKls:l,itemWrapperKls:u,itemContentKls:h,scopedContentId:_,scopedHeadId:E}},pe=["aria-expanded","aria-controls","aria-describedby"],ve=["id","tabindex"],fe=["id","aria-hidden","aria-labelledby"],be=C({name:"ElCollapseItem"}),Ce=C({...be,props:de,setup(s,{expose:o}){const a=s,{focusing:n,id:t,isActive:l,handleFocus:i,handleHeaderClick:r,handleEnterClick:u}=ue(a),{arrowKls:h,headKls:_,rootKls:E,itemWrapperKls:P,itemContentKls:O,scopedContentId:w,scopedHeadId:I}=me(a,{focusing:n,isActive:l,id:t});return o({isActive:l}),(v,d)=>(A(),B("div",{class:p(e(E))},[f("div",{role:"tab","aria-expanded":e(l),"aria-controls":e(w),"aria-describedby":e(w)},[f("div",{id:e(I),class:p(e(_)),role:"button",tabindex:v.disabled?-1:0,onClick:d[0]||(d[0]=(...m)=>e(r)&&e(r)(...m)),onKeypress:d[1]||(d[1]=G(J((...m)=>e(u)&&e(u)(...m),["stop","prevent"]),["space","enter"])),onFocus:d[2]||(d[2]=(...m)=>e(i)&&e(i)(...m)),onBlur:d[3]||(d[3]=m=>n.value=!1)},[y(v.$slots,"title",{},()=>[Z(ee(v.title),1)]),k(e(U),{class:p(e(h))},{default:N(()=>[k(e(L))]),_:1},8,["class"])],42,ve)],8,pe),k(e(ae),null,{default:N(()=>[se(f("div",{id:e(w),class:p(e(P)),role:"tabpanel","aria-hidden":!e(l),"aria-labelledby":e(I)},[f("div",{class:p(e(O))},[y(v.$slots,"default")],2)],10,fe),[[Q,e(l)]])]),_:3})],2))}});var F=D(Ce,[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse/src/collapse-item.vue"]]);const Ie=W(ce,{CollapseItem:F}),Ke=j(F);export{Ie as E,Ke as a,H as g};