UNPKG

@aotearoan/neon

Version:

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

3 lines (2 loc) 1.94 kB
"use strict";const i=require("./NeonTabs.cjs.js"),e=require("vue"),c=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),u=["id","tabindex","onKeydown"],m={key:1,class:"neon-tabs__menu-label"};function d(n,_,p,y,C,b){const s=e.resolveComponent("neon-icon"),r=e.resolveComponent("neon-link"),a=e.resolveComponent("neon-swiper");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([[`neon-tabs--${n.size}`,`neon-tabs--${n.color}`],"neon-tabs"]),role:"tablist"},[e.createVNode(a,{class:e.normalizeClass([{"neon-tabs__menu-items--underlined":n.underline,"neon-tabs__menu-items--full-width-mobile":n.fullWidthMobile},"neon-tabs__menu-items"])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.tabs,(o,t)=>(e.openBlock(),e.createBlock(r,{id:`${o.key}Button`,key:o.key,ref_for:!0,ref:"menuItem","aria-controls":o.key,"aria-selected":o.key===n.modelValue,class:e.normalizeClass([{"neon-tabs__menu-item--selected":o.key===n.modelValue},"neon-tabs__menu-item"]),href:o.href,"no-style":"",role:"tab",tabindex:"-1",onClick:l=>o.key!==n.modelValue&&n.onClick(o.key)},{default:e.withCtx(()=>[e.createElementVNode("div",{id:`${o.key}ButtonContainer`,tabindex:o.key===n.modelValue?0:-1,class:"neon-tabs__menu-item-container",onKeydown:[e.withKeys(l=>n.onClick(n.tabs[t+1===n.tabs.length?0:t+1].key,!0),["right"]),e.withKeys(l=>n.onClick(n.tabs[t===0?n.tabs.length-1:t-1].key,!0),["left"])]},[o.icon?(e.openBlock(),e.createBlock(s,{key:0,name:o.icon,class:"neon-tabs__menu-icon"},null,8,["name"])):e.createCommentVNode("",!0),o.label?(e.openBlock(),e.createElementBlock("span",m,e.toDisplayString(o.label),1)):e.createCommentVNode("",!0)],40,u)]),_:2},1032,["id","aria-controls","aria-selected","class","href","onClick"]))),128))]),_:1},8,["class"]),e.renderSlot(n.$slots,"default")],2)}const k=c(i,[["render",d]]);module.exports=k; //# sourceMappingURL=NeonTabs.vue.cjs.js.map