UNPKG

@aotearoan/neon

Version:

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

3 lines (2 loc) 2.53 kB
"use strict";const d=require("./NeonToggle.cjs.js"),e=require("vue"),s=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),r=["aria-checked","aria-disabled","tabindex","onKeydown"],i=["checked","disabled","name","value","onClick"],c={key:0,class:"neon-toggle__radio-button"},g={key:0,class:"neon-toggle__radio-button-indicator"},u={key:1},m={key:0,class:"neon-toggle__additional-content"};function k(l,y,_,h,p,B){const a=e.resolveComponent("neon-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([[`neon-toggle--${l.toggleStyle}`,`neon-toggle--${l.disabled?"low-contrast":l.color}`,`neon-toggle--${l.orientation}`,`neon-toggle--${l.size}`,{"neon-toggle--disabled":l.disabled}],"neon-toggle"]),role:"radiogroup"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.model,(o,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:o.key},[e.createElementVNode("label",{"aria-checked":o.key===l.modelValue,"aria-disabled":l.disabled||o.disabled,class:e.normalizeClass([{"neon-toggle__label--disabled":l.disabled||o.disabled,"neon-toggle__label--checked":o.key===l.modelValue,"neon-toggle__label--with-icon":o.icon,"neon-toggle__label--with-slot-override":l.slots.option},"neon-toggle__label no-style"]),tabindex:!l.disabled&&!o.disabled?0:void 0,role:"radio",onKeydown:[e.withKeys(t=>l.selectOption(o),["enter"]),e.withKeys(e.withModifiers(t=>l.selectOption(o),["prevent"]),["space"])]},[e.createElementVNode("input",e.mergeProps({checked:o.key===l.modelValue,disabled:l.disabled||o.disabled,name:l.name,tabindex:-1,value:o.key,class:"neon-toggle__input",type:"radio"},{ref_for:!0},l.sanitizedAttributes,{onClick:t=>l.onInput(o)}),null,16,i),l.toggleStyle!==l.NeonToggleStyle.Toggle?(e.openBlock(),e.createElementBlock("div",c,[o.key===l.modelValue?(e.openBlock(),e.createElementBlock("div",g)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"option",{index:n,option:o},()=>[o.icon?(e.openBlock(),e.createBlock(a,{key:0,disabled:l.disabled||o.disabled,name:o.icon},null,8,["disabled","name"])):e.createCommentVNode("",!0),o.label?(e.openBlock(),e.createElementBlock("span",u,e.toDisplayString(o.label),1)):e.createCommentVNode("",!0)])],42,r),l.slots.additionalContent?(e.openBlock(),e.createElementBlock("div",m,[e.renderSlot(l.$slots,"additionalContent",e.mergeProps({ref_for:!0},{option:o,index:n}))])):e.createCommentVNode("",!0)],64))),128))],2)}const b=s(d,[["render",k]]);module.exports=b; //# sourceMappingURL=NeonToggle.vue.cjs.js.map