1
|
"use strict";const l=require("vue"),s=require("./buttonHelpers.js"),m=require("./Icon.js"),g=require("./CdxToggleButton.cjs"),p=require("./_plugin-vue_export-helper.js");require("./useComputedDirection.cjs");require("./useComputedLanguage.cjs");require("./constants.js");require("./useIconOnlyButton.js");require("./useSlotContents.js");require("./useWarnOnce.cjs");const f=l.defineComponent({name:"CdxToggleButtonGroup",components:{CdxIcon:m.CdxIcon,CdxToggleButton:g},props:{buttons:{type:Array,required:!0,validator:e=>Array.isArray(e)&&e.length>=1},modelValue:{type:[String,Number,null,Array],required:!0},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{emit:a}){function d(r){return Array.isArray(e.modelValue)?e.modelValue.indexOf(r.value)!==-1:e.modelValue!==null?e.modelValue===r.value:!1}function i(r,t){if(Array.isArray(e.modelValue)){const n=e.modelValue.indexOf(r.value)!==-1;t&&!n?a("update:modelValue",e.modelValue.concat(r.value)):!t&&n&&a("update:modelValue",e.modelValue.filter(u=>u!==r.value))}else t&&e.modelValue!==r.value&&a("update:modelValue",r.value)}return{getButtonLabel:s.getButtonLabel,isSelected:d,onUpdate:i}}});const _={class:"cdx-toggle-button-group"};function V(e,a,d,i,r,t){const n=l.resolveComponent("cdx-icon"),u=l.resolveComponent("cdx-toggle-button");return l.openBlock(),l.createElementBlock("div",_,[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(e.buttons,o=>(l.openBlock(),l.createBlock(u,{key:o.value,"model-value":e.isSelected(o),disabled:o.disabled||e.disabled,"aria-label":o.ariaLabel,"onUpdate:modelValue":c=>e.onUpdate(o,c)},{default:l.withCtx(()=>[l.renderSlot(e.$slots,"default",{button:o,selected:e.isSelected(o)},()=>[o.icon?(l.openBlock(),l.createBlock(n,{key:0,icon:o.icon},null,8,["icon"])):l.createCommentVNode("",!0),l.createTextVNode(" "+l.toDisplayString(e.getButtonLabel(o)),1)])]),_:2},1032,["model-value","disabled","aria-label","onUpdate:modelValue"]))),128))])}const v=p._export_sfc(f,[["render",V]]);module.exports=v;
|