@volverjs/ui-vue
Version:
@volverjs/ui-vue is a lightweight Vue 3 component library to accompany @volverjs/style.
2 lines (1 loc) • 1.5 kB
JavaScript
import{computed as t,defineComponent as e,toRefs as o,createElementBlock as r,openBlock as s,normalizeClass as a,unref as n,createCommentVNode as l,renderSlot as i,createTextVNode as u,toDisplayString as f}from"vue";var c=/* @__PURE__ */(t=>(t.local="local",t.session="session",t))(c||{}),v=/* @__PURE__ */(t=>(t.left="left",t.right="right",t.top="top",t.bottom="bottom",t))(v||{}),d=/* @__PURE__ */(t=>(t.before="before",t.after="after",t))(d||{}),b=/* @__PURE__ */(t=>(t.button="button",t.submit="submit",t.reset="reset",t))(b||{}),m=/* @__PURE__ */(t=>(t.nuxtLink="nuxt-link",t.routerLink="router-link",t.a="a",t.button="button",t))(m||{});const p={modifiers:{type:[String,Array],default:void 0}};d.before,v.bottom,b.button,m.button,c.local;const $={...p,title:String};const y={key:0,class:"vv-card__header"},h={key:1,class:"vv-card__content"},k={key:2,class:"vv-card__footer"},_=/* @__PURE__ */e({name:"VvCard",props:$,setup(e){const c=e,{modifiers:v}=o(c),d=function(e,o){return t(()=>{const t={[e]:!0},r="string"==typeof o?.value?o.value.split(" "):o?.value;return r&&Array.isArray(r)&&r.forEach(o=>{o&&(t[`${e}--${o}`]=!0)}),t})}("vv-card",v);return(t,e)=>(s(),r("article",{class:a(n(d))},[t.$slots.header||t.title?(s(),r("header",y,[i(t.$slots,"header",{},()=>[u(f(t.title),1)])])):l("v-if",!0),i(t.$slots,"default"),t.$slots.content?(s(),r("div",h,[i(t.$slots,"content")])):l("v-if",!0),t.$slots.footer?(s(),r("footer",k,[i(t.$slots,"footer")])):l("v-if",!0)],2))}});export{_ as default};