UNPKG

vue-devui

Version:

DevUI components based on Vite and Vue3

6 lines (5 loc) 3.78 kB
(function(a,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue"),require("clipboard")):typeof define=="function"&&define.amd?define(["exports","vue","clipboard"],e):(a=typeof globalThis!="undefined"?globalThis:a||self,e(a.index={},a.Vue))})(this,function(a,e){"use strict";const V=Symbol("dCollapse"),y={modelValue:{type:[String,Number,Array],default:"",required:!0},accordion:{type:Boolean,default:!1}},b={name:{type:[String,Number],default:"",required:!0},title:{type:String,default:""},disabled:{type:Boolean,default:!1}};function p(n,i,s){let c=n;return i&&(c+=`__${i}`),s&&(c+=`--${s}`),c}function h(n,i=!1){const s=i?`.devui-${n}`:`devui-${n}`;return{b:()=>p(s),e:t=>t?p(s,t):"",m:t=>t?p(s,"",t):"",em:(t,u)=>t&&u?p(s,t,u):""}}var w="",g=e.defineComponent({name:"DCollapse",props:y,emits:["change","update:modelValue"],setup(n,i){const s=h("collapse"),c=h("scrollbar"),f=o=>!o&&o!==0?[]:Array.isArray(o)?o:[o],l=o=>{const t=[...f(n.modelValue)],u=t.indexOf(o);if(n.accordion){let m=o;(t[0]||t[0]===0)&&t[0]===o&&(m=""),i.emit("update:modelValue",m),i.emit("change",m)}else u>-1?t.splice(u,1):t.push(o),i.emit("update:modelValue",t),i.emit("change",t)};return e.provide(V,e.reactive({...e.toRefs(n),collapseItemClick:l})),()=>{var o,t;return e.createVNode("div",{class:[s.b(),c.b()]},[(t=(o=i.slots).default)==null?void 0:t.call(o)])}}});function N(){return e.createVNode("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},[e.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("path",{d:`M3.64644661,5.64644661 C3.82001296,5.47288026 4.08943736,5.45359511 4.2843055,5.58859116 L4.35355339,5.64644661 L8,9.293 L11.6464466,5.64644661 C11.820013,5.47288026 12.0894374,5.45359511 12.2843055,5.58859116 L12.3535534,5.64644661 C12.5271197,5.82001296 12.5464049,6.08943736 12.4114088,6.2843055 L12.3535534,6.35355339 L8.35355339,10.3535534 C8.17998704,10.5271197 7.91056264,10.5464049 7.7156945,10.4114088 L7.64644661,10.3535534 L3.64644661,6.35355339 C3.45118446,6.15829124 3.45118446,5.84170876 3.64644661,5.64644661 Z`},null)])])}var C=e.defineComponent({name:"DCollapseItem",props:b,setup(n,i){const s=h("collapse"),c=h("collapse-transition"),f=e.shallowRef(),l=e.inject(V,null),o=e.computed(()=>n.disabled?!1:Array.isArray(l==null?void 0:l.modelValue)?Boolean(l==null?void 0:l.modelValue.length)&&(l==null?void 0:l.modelValue.includes(n.name)):Boolean(l==null?void 0:l.modelValue)&&(l==null?void 0:l.modelValue)===n.name),t=r=>{r.preventDefault(),n.disabled||l==null||l.collapseItemClick(n.name)};e.onMounted(()=>{if(f.value){const r=f.value;o.value&&(r.style.height=`${r.offsetHeight}px`)}});const u=r=>{const d=r;d.style.height="";const L=d.offsetHeight;d.style.height="0px",d.offsetHeight,d.style.height=`${L}px`},m=r=>{const d=r;d.style.height="0px"};return()=>e.createVNode("div",{class:s.e("item")},[e.createVNode("div",{class:[s.e("item-title"),s.m("overflow-ellipsis"),o.value&&s.m("open"),n.disabled&&s.em("item","disabled")],onClick:t},[i.slots.title?i.slots.title():n.title,e.createVNode("span",{class:s.e("open-icon")},[e.createVNode(N,null,null)])]),e.createVNode(e.Transition,{name:c.b(),onEnter:u,onLeave:m},{default:()=>{var r,d;return[o.value&&e.createVNode("div",{ref:f,class:s.e("item-content")},[(d=(r=i.slots).default)==null?void 0:d.call(r)])]}})])}}),v={title:"Collapse \u6298\u53E0\u9762\u677F",category:"\u6570\u636E\u5C55\u793A",status:"100%",install(n){n.component(g.name,g),n.component(C.name,C)}};a.Collapse=g,a.CollapseItem=C,a.collapseItemProps=b,a.collapseProps=y,a.default=v,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});