UNPKG

@aotearoan/neon

Version:

Neon is a lightweight design library of Vue 3 components with minimal dependencies.

3 lines (2 loc) 2.87 kB
"use strict";const t=require("./NeonDropdown.cjs.js"),e=require("vue"),a=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),s={ref:"dropdownButton"},p={key:0,class:"neon-dropdown__button-wrapper"},u=["id","tabindex"],b=e.createElementVNode("div",{class:"neon-dropdown__click-blocker"},null,-1);function w(o,n,g,c,v,k){const l=e.resolveComponent("neon-button"),r=e.resolveComponent("neon-badge"),i=e.resolveComponent("neon-expansion-indicator");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([[{"neon-dropdown--with-indicator":o.indicator,"neon-dropdown--open":o.modelValue,"neon-dropdown--open-on-hover":o.openOnHover,"neon-dropdown--icon-only":o.icon&&!o.label,"neon-dropdown--disabled":o.disabled},`neon-dropdown--${o.size}`,`neon-dropdown--${o.color}`],"neon-dropdown"])},[e.createElementVNode("div",s,[e.renderSlot(o.$slots,"dropdown-button",{},()=>[o.dropdownStyle==="text-button"||o.dropdownStyle==="solid-button"?(e.openBlock(),e.createElementBlock("div",p,[e.createVNode(l,{id:o.id,"alternate-color":o.alternateColor,"aria-expanded":o.modelValue,"button-style":o.dropdownStyle==="text-button"?"text":"solid",color:o.color,disabled:o.disabled,icon:o.icon,indicator:o.indicator,"indicator-expanded":o.modelValue,label:o.label,size:o.size,"aria-haspopup":"true",class:"neon-dropdown__button",onBlur:n[0]||(n[0]=d=>o.onBlur()),onClick:n[1]||(n[1]=d=>o.toggleOpen()),onFocus:n[2]||(n[2]=d=>o.onFocus())},null,8,["id","alternate-color","aria-expanded","button-style","color","disabled","icon","indicator","indicator-expanded","label","size"])])):(e.openBlock(),e.createElementBlock("div",{key:1,id:o.id,ref:"dropdownButton",tabindex:o.disabled?void 0:0,class:"neon-dropdown__badge",role:"button",onClick:n[3]||(n[3]=(...d)=>o.toggleOpen&&o.toggleOpen(...d)),onKeydown:[n[4]||(n[4]=e.withKeys((...d)=>o.toggleOpen&&o.toggleOpen(...d),["enter"])),n[5]||(n[5]=e.withKeys(e.withModifiers((...d)=>o.toggleOpen&&o.toggleOpen(...d),["stop","prevent"]),["space"]))]},[e.createVNode(r,{"alternate-color":o.alternateColor,circular:o.dropdownStyle==="circular-badge",color:o.color,disabled:o.disabled,icon:o.icon,image:o.image,imageAlt:o.imageAlt,label:o.label,size:o.size},null,8,["alternate-color","circular","color","disabled","icon","image","imageAlt","label","size"]),o.indicator?(e.openBlock(),e.createBlock(i,{key:0,color:o.color,disabled:o.disabled,expanded:o.modelValue,class:"neon-button__indicator"},null,8,["color","disabled","expanded"])):e.createCommentVNode("",!0)],40,u))])],512),b,e.withDirectives(e.createElementVNode("div",{ref:"dropdownContent",class:e.normalizeClass([`neon-dropdown__content--${o.dropdownPlacement}`,"neon-dropdown__content"])},[e.renderSlot(o.$slots,"default")],2),[[e.vShow,o.openOnHover||o.modelValue]])],2)}const m=a(t,[["render",w]]);module.exports=m; //# sourceMappingURL=NeonDropdown.vue.cjs.js.map