primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 2.77 kB
JavaScript
;var e=require("primevue/basecomponent"),t=require("vue");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n={name:"InputSwitch",extends:l(e).default,emits:["click","update:modelValue","change","input","focus","blur"],props:{modelValue:{type:null,default:!1},trueValue:{type:null,default:!0},falseValue:{type:null,default:!1},disabled:{type:Boolean,default:!1},inputId:{type:String,default:null},inputClass:{type:[String,Object],default:null},inputStyle:{type:Object,default:null},inputProps:{type:null,default:null},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},data:()=>({focused:!1}),methods:{onClick(e){if(!this.disabled){const t=this.checked?this.falseValue:this.trueValue;this.$emit("click",e),this.$emit("update:modelValue",t),this.$emit("change",e),this.$emit("input",t),this.$refs.input.focus()}e.preventDefault()},onFocus(e){this.focused=!0,this.$emit("focus",e)},onBlur(e){this.focused=!1,this.$emit("blur",e)}},computed:{containerClass(){return["p-inputswitch p-component",{"p-inputswitch-checked":this.checked,"p-disabled":this.disabled,"p-focus":this.focused}]},checked(){return this.modelValue===this.trueValue}}};const i=["id","checked","disabled","aria-checked","aria-labelledby","aria-label"];!function(e,t){void 0===t&&(t={});var l=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===l&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-inputswitch {\n position: relative;\n display: inline-block;\n}\n.p-inputswitch-slider {\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 1px solid transparent;\n}\n.p-inputswitch-slider:before {\n position: absolute;\n content: '';\n top: 50%;\n}\n"),n.render=function(e,l,n,s,a,u){return t.openBlock(),t.createElementBlock("div",t.mergeProps({class:u.containerClass,onClick:l[2]||(l[2]=e=>u.onClick(e))},e.ptm("root")),[t.createElementVNode("div",t.mergeProps({class:"p-hidden-accessible"},e.ptm("hiddenInputWrapper")),[t.createElementVNode("input",t.mergeProps({ref:"input",id:n.inputId,type:"checkbox",role:"switch",class:n.inputClass,style:n.inputStyle,checked:u.checked,disabled:n.disabled,"aria-checked":u.checked,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,onFocus:l[0]||(l[0]=e=>u.onFocus(e)),onBlur:l[1]||(l[1]=e=>u.onBlur(e))},e.ptm("hiddenInput")),null,16,i)],16),t.createElementVNode("span",t.mergeProps({class:"p-inputswitch-slider"},{...n.inputProps,...e.ptm("slider")}),null,16)],16)},module.exports=n;