UNPKG

@gits-id/dropdown

Version:

GITS Dropdown Component

2 lines (1 loc) 3.89 kB
var Dropdown=function(o,t,a,r){"use strict";const f=(e=>e&&typeof e=="object"&&"default"in e?e:{default:e})(r),w="",m={key:0,class:"dropdown-divider"},i=t.defineComponent({__name:"DropdownItem",props:{text:null,to:null,href:null,icon:null,iconSize:{default:"sm"},iconClass:{default:""},newTab:{type:Boolean},divider:{type:Boolean},nuxt:{type:Boolean}},setup(e){const n=e,s=t.computed(()=>n.nuxt?t.resolveComponent("NuxtLink"):n.href?"a":n.to?t.resolveComponent("RouterLink"):"button"),l=t.computed(()=>({to:n.to??void 0,href:n.href??void 0,target:n.href&&n.newTab?"_blank":void 0,rel:n.href&&n.newTab?"noopener":void 0,...t.useAttrs()}));return(d,b)=>(t.openBlock(),t.createBlock(t.unref(a.MenuItem),null,{default:t.withCtx(({active:C})=>[e.divider?(t.openBlock(),t.createElementBlock("div",m)):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(s)),t.mergeProps({key:1,class:["group dropdown-item",{"dropdown-item--active":C}]},t.unref(l)),{default:t.withCtx(()=>[t.renderSlot(d.$slots,"icon",{},()=>[typeof e.icon=="string"?(t.openBlock(),t.createBlock(t.unref(f.default),{key:0,name:e.icon,size:e.iconSize,class:t.normalizeClass([e.iconClass,"dropdown-item-icon"])},null,8,["name","size","class"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.icon),{key:1,class:t.normalizeClass([e.iconClass,"dropdown-item-icon"])},null,8,["class"]))]),t.renderSlot(d.$slots,"default",{},()=>[t.createTextVNode(t.toDisplayString(e.text),1)])]),_:2},1040,["class"]))]),_:3}))}}),B="",c=t.defineComponent({__name:"Dropdown",props:{modelValue:{type:Boolean,default:!1},btnProps:{default:()=>({variant:"secondary"})},label:{default:"Options"},right:{type:Boolean,default:!1},items:{default:()=>[]},top:{type:Boolean,default:!1},topClass:{default:"bottom-10"},bottomClass:{default:"top-6"},panelClass:{default:""},buttonWrapperClass:{default:""},rightClass:{default:"right-0"},leftClass:{default:"left-0"},transition:{default:"fade-scale"},icon:{default:"ri:arrow-down-s-line"},iconSize:{default:"sm"},iconClass:{default:""},prefixIcon:{default:""},prefixIconSize:{default:"sm"},prefixIconClass:null},setup(e){return(n,s)=>(t.openBlock(),t.createBlock(t.unref(a.Menu),{as:"div",class:"dropdown"},{default:t.withCtx(()=>[t.createElementVNode("div",{class:t.normalizeClass(["dropdown-button-wrapper",e.buttonWrapperClass])},[t.renderSlot(n.$slots,"activator",{btnProps:e.btnProps,label:e.label},()=>[t.createVNode(t.unref(a.MenuButton),t.mergeProps({as:"button",class:"dropdown-button-activator"},e.btnProps),{default:t.withCtx(()=>[t.createVNode(t.unref(r.Icon),{name:e.prefixIcon,size:e.prefixIconSize,class:t.normalizeClass([e.prefixIconClass,"dropdown-button-icon"]),"aria-hidden":"true"},null,8,["name","size","class"]),t.createTextVNode(" "+t.toDisplayString(e.label)+" ",1),t.createVNode(t.unref(r.Icon),{name:e.icon,size:e.iconSize,class:t.normalizeClass([e.iconClass,"dropdown-button-icon"]),"aria-hidden":"true"},null,8,["name","size","class"])]),_:1},16)])],2),t.createVNode(t.Transition,{name:e.transition},{default:t.withCtx(()=>[t.createVNode(t.unref(a.MenuItems),{class:t.normalizeClass(["dropdown-panel",[e.right?e.rightClass:e.leftClass,e.top?e.topClass:e.bottomClass,e.panelClass]])},{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.items,l=>(t.openBlock(),t.createBlock(i,t.mergeProps({key:l.text},l),null,16))),128))])]),_:3},8,["class"])]),_:3},8,["name"])]),_:3}))}}),u=t.defineComponent({__name:"DropdownButton",setup(e){return(n,s)=>(t.openBlock(),t.createBlock(t.unref(a.MenuButton),null,{default:t.withCtx(l=>[t.renderSlot(n.$slots,"default",t.normalizeProps(t.guardReactiveProps(l)))]),_:3}))}});return o.Dropdown=c,o.DropdownButton=u,o.DropdownItem=i,o.default=c,Object.defineProperties(o,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),o}({},Vue,vue$1,VIcon);