import{b as v,V as _,c as p,a as k,u as y,i as x,o as C}from"./vue.runtime.esm-B7-PK3p1.chunk.mjs";import{n as r,N as w,r as S,a as V,b as T,G as h,d as A}from"./NcLoadingIcon-CBTC2zMe.chunk.mjs";function Se(e,t,i,n,o,a,ke,xe){var d=typeof e=="function"?e.options:e;return t&&(d.render=t,d.staticRenderFns=i,d._compiled=!0),a&&(d._scopeId="data-v-"+a),{exports:e,options:d}}function I(e,t,i=!1){const n=v().proxy;return i&&n.$props[e]===void 0&&n.$props.modelValue===void 0&&_.util.warn(`Missing required prop: "modelValue" or old "${e}"`),p({get(){return n.$props[e]!==void 0?n.$props[e]:n.$props.modelValue},set(o){n.$emit("update:modelValue",o),n.$emit("update:model-value",o),n.$emit(t,o)}})}const B=` `,$=k({__name:"NcIconToggleSwitch",props:{checked:{type:Boolean},size:{default:34},inline:{type:Boolean,default:!1}},setup(e){const t=e;y((o,a)=>({"2d1b8583":a.color,"78386a55":a.cx}));const i=p(()=>t.checked?"var(--color-primary-element)":"var(--color-text-maxcontrast)"),n=p(()=>t.checked?"calc(17 / 24 * 100%)":"calc(7 / 24 * 100%)");return{__sfc:!0,svg:B,props:t,color:i,cx:n,NcIconSvgWrapper:w}}}),z="_iconToggleSwitch_ixmnx_20",M={"material-design-icon":"_material-design-icon_ixmnx_12",iconToggleSwitch:z};var N=function(){var e=this,t=e._self._c,i=e._self._setupProxy;return t(i.NcIconSvgWrapper,{class:e.$style.iconToggleSwitch,attrs:{svg:i.svg,size:e.size,inline:e.inline}})},H=[];const m={$style:M};function E(e){for(var t in m)this[t]=m[t]}var L=r($,N,H,!1,E,null);const O=L.exports,R=Symbol.for("insideRadioGroup");function W(){return x(R,void 0)}const j={name:"CheckboxBlankOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var q=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon checkbox-blank-outline-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},Z=[],G=r(j,q,Z,!1,null,null);const D=G.exports,P={name:"CheckboxMarkedIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var F=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon checkbox-marked-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},U=[],J=r(P,F,U,!1,null,null);const K=J.exports,Q={name:"MinusBoxIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var X=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon minus-box-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},Y=[],ee=r(Q,X,Y,!1,null,null);const te=ee.exports,ie={name:"RadioboxBlankIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var ne=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon radiobox-blank-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},ae=[],le=r(ie,ne,ae,!1,null,null);const re=le.exports,oe={name:"RadioboxMarkedIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var se=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon radiobox-marked-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},ce=[],de=r(oe,se,ce,!1,null,null);const ue=de.exports,c="checkbox",s="radio",l="switch",u="button",pe={name:"NcCheckboxContent",components:{NcLoadingIcon:A,NcIconToggleSwitch:O},props:{iconClass:{type:[String,Object],default:null},textClass:{type:[String,Object],default:null},type:{type:String,default:"checkbox",validator:e=>[c,s,l,u].includes(e)},buttonVariant:{type:Boolean,default:!1},isChecked:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},iconSize:{type:Number,default:24},labelId:{type:String,required:!0},descriptionId:{type:String,required:!0}},computed:{isButtonType(){return this.type===u},isSwitchType(){return this.type===l},checkboxRadioIconElement(){return this.type===s?this.isChecked?ue:re:this.indeterminate?te:this.isChecked?K:D}}};var he=function(){var e=this,t=e._self._c;return t("span",{staticClass:"checkbox-content",class:{["checkbox-content-"+e.type]:!0,"checkbox-content--button-variant":e.buttonVariant,"checkbox-content--has-text":!!e.$slots.default}},[t("span",{staticClass:"checkbox-content__icon",class:{"checkbox-content__icon--checked":e.isChecked,[e.iconClass]:!0},attrs:{"aria-hidden":!0,inert:""}},[e._t("icon",function(){return[e.loading?t("NcLoadingIcon"):e.isSwitchType?t("NcIconToggleSwitch",{attrs:{checked:e.isChecked,size:e.iconSize,inline:""}}):e.buttonVariant?e._e():t(e.checkboxRadioIconElement,{tag:"component",attrs:{size:e.iconSize}})]},{checked:e.isChecked,loading:e.loading})],2),e.$slots.default||e.$slots.description?t("span",{staticClass:"checkbox-content__wrapper"},[e.$slots.default?t("span",{staticClass:"checkbox-content__text",class:e.textClass,attrs:{id:e.labelId}},[e._t("default")],2):e._e(),!e.isButtonType&&e.$slots.description?t("span",{staticClass:"checkbox-content__description",attrs:{id:e.descriptionId}},[e._t("description")],2):e._e()]):e._e()])},be=[],me=r(pe,he,be,!1,null,"3fb1ae25");const ge=me.exports;S();const b={name:"NcCheckboxRadioSwitch",components:{NcCheckboxContent:ge},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:{id:{type:String,default:()=>"checkbox-radio-switch-"+h(),validator:e=>e.trim()!==""},wrapperId:{type:String,default:null},name:{type:String,default:null},ariaLabel:{type:String,default:""},type:{type:String,default:"checkbox",validator:e=>[c,s,l,u].includes(e)},buttonVariant:{type:Boolean,default:!1},buttonVariantGrouped:{type:String,default:"no",validator:e=>["no","vertical","horizontal"].includes(e)},checked:{type:[Boolean,Array,String],default:void 0},modelValue:{type:[Boolean,Array,String],default:!1},value:{type:String,default:null},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},required:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},wrapperElement:{type:String,default:null},description:{type:String,default:null}},emits:["update:checked","update:modelValue","update:model-value"],setup(e){const t=W(),i=p(()=>t?.value?s:e.type);C(()=>t?.value.register(!1));const n=I("checked","update:checked"),o=p({get(){return t?.value?t.value.modelValue:n.value},set(a){t?.value?t.value.onUpdate(a):n.value=a}});return{internalType:i,internalModelValue:o,labelId:h(),descriptionId:h()}},computed:{dataAttrs(){return Object.fromEntries(Object.entries(this.$attrs).filter(([e])=>e.startsWith("data-")))},nonDataAttrs(){return Object.fromEntries(Object.entries(this.$attrs).filter(([e])=>!e.startsWith("data-")))},isButtonType(){return this.internalType===u},computedWrapperElement(){return this.isButtonType?"button":this.wrapperElement!==null?this.wrapperElement:"span"},listeners(){return this.isButtonType?{click:this.onToggle}:{change:this.onToggle}},iconSize(){return this.internalType===l?36:24},cssIconSize(){return this.iconSize+"px"},cssIconHeight(){return this.internalType===l?"16px":this.cssIconSize},inputType(){return[c,s,u].includes(this.internalType)?this.internalType:c},isChecked(){return this.value!==null?Array.isArray(this.internalModelValue)?[...this.internalModelValue].indexOf(this.value)>-1:this.internalModelValue===this.value:this.internalModelValue===!0},hasIndeterminate(){return[c,s].includes(this.inputType)}},mounted(){if(this.name&&this.internalType===c&&!Array.isArray(this.internalModelValue))throw new Error("When using groups of checkboxes, the updated value will be an array.");if(this.name&&this.internalType===l)throw new Error("Switches are not made to be used for data sets. Please use checkboxes instead.");if(typeof this.internalModelValue!="boolean"&&this.internalType===l)throw new Error("Switches can only be used with boolean as modelValue prop.")},methods:{t:T,n:V,onToggle(e){if(this.disabled||e.target.tagName.toLowerCase()==="a")return;if(this.internalType===s){this.internalModelValue=this.value;return}if(this.internalType===l){this.internalModelValue=!this.isChecked;return}if(typeof this.internalModelValue=="boolean"){this.internalModelValue=!this.internalModelValue;return}const t=this.getInputsSet().filter(i=>i.checked).map(i=>i.value);t.includes(this.value)?this.internalModelValue=t.filter(i=>i!==this.value):this.internalModelValue=[...t,this.value]},getInputsSet(){return[...document.getElementsByName(this.name)]}}},g=()=>{y((e,t)=>({"1f97b3de":e.cssIconSize,be84d992:e.cssIconHeight}))},f=b.setup;b.setup=f?(e,t)=>(g(),f(e,t)):g;const fe=b;var ye=function(){var e=this,t=e._self._c;return t(e.computedWrapperElement,e._g(e._b({tag:"component",staticClass:"checkbox-radio-switch",class:{["checkbox-radio-switch-"+e.internalType]:e.internalType,"checkbox-radio-switch--checked":e.isChecked,"checkbox-radio-switch--disabled":e.disabled,"checkbox-radio-switch--indeterminate":e.hasIndeterminate?e.indeterminate:!1,"checkbox-radio-switch--button-variant":e.buttonVariant,"checkbox-radio-switch--button-variant-v-grouped":e.buttonVariant&&e.buttonVariantGrouped==="vertical","checkbox-radio-switch--button-variant-h-grouped":e.buttonVariant&&e.buttonVariantGrouped==="horizontal","button-vue":e.isButtonType},attrs:{id:e.wrapperId,"aria-label":e.isButtonType&&e.ariaLabel?e.ariaLabel:void 0,type:e.isButtonType?"button":null}},"component",e.isButtonType?e.$attrs:e.dataAttrs,!1),e.isButtonType?e.listeners:null),[e.isButtonType?e._e():t("input",e._g(e._b({staticClass:"checkbox-radio-switch__input",attrs:{id:e.id,"aria-labelledby":!e.isButtonType&&!e.ariaLabel?e.labelId:null,"aria-describedby":!e.isButtonType&&(e.description||e.$slots.description)?e.descriptionId:e.nonDataAttrs["aria-describedby"],"aria-label":e.ariaLabel||void 0,disabled:e.disabled,type:e.inputType,required:e.required,name:e.name},domProps:{value:e.value,checked:e.isChecked,indeterminate:e.hasIndeterminate?e.indeterminate:null}},"input",e.nonDataAttrs,!1),e.listeners)),t("NcCheckboxContent",{staticClass:"checkbox-radio-switch__content",attrs:{id:e.isButtonType?void 0:`${e.id}-label`,"icon-class":"checkbox-radio-switch__icon","text-class":"checkbox-radio-switch__text",type:e.internalType,indeterminate:e.hasIndeterminate?e.indeterminate:!1,"button-variant":e.buttonVariant,"is-checked":e.isChecked,loading:e.loading,"label-id":e.labelId,"description-id":e.descriptionId,"icon-size":e.iconSize},nativeOn:{click:function(i){return e.onToggle.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[e._t("icon")]},proxy:!0},e.$slots.description||e.description?{key:"description",fn:function(){return[e._t("description",function(){return[e._v(" "+e._s(e.description)+" ")]})]},proxy:!0}:null],null,!0)},[e._t("default")],2)],1)},ve=[],_e=r(fe,ye,ve,!1,null,"24ed12a5");const Ve=_e.exports;export{Ve as N,Se as n,I as u}; //# sourceMappingURL=NcCheckboxRadioSwitch-CgbTELjq-BFpDVXaF.chunk.mjs.map