primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 2.09 kB
JavaScript
import{openBlock as e,createBlock as t,createVNode as n,mergeProps as i,withKeys as s,withModifiers as l}from"vue";var c={name:"InputSwitch",inheritAttrs:!1,emits:["click","update:modelValue","change","input"],props:{modelValue:{type:null,default:!1},class:null,style:null,trueValue:{type:null,default:!0},falseValue:{type:null,default:!1}},data:()=>({focused:!1}),methods:{onClick(e){if(!this.$attrs.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(){this.focused=!0},onBlur(){this.focused=!1}},computed:{containerClass(){return["p-inputswitch p-component",this.class,{"p-inputswitch-checked":this.checked,"p-disabled":this.$attrs.disabled,"p-focus":this.focused}]},checked(){return this.modelValue===this.trueValue}}};const o={class:"p-hidden-accessible"},u=n("span",{class:"p-inputswitch-slider"},null,-1);!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===n&&i.firstChild?i.insertBefore(s,i.firstChild):i.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.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}\n.p-inputswitch-slider:before {\n position: absolute;\n content: "";\n top: 50%;\n}\n'),c.render=function(c,d,a,r,p,h){return e(),t("div",{class:h.containerClass,onClick:d[4]||(d[4]=e=>h.onClick(e)),style:a.style},[n("div",o,[n("input",i({ref:"input",type:"checkbox",checked:h.checked},c.$attrs,{onFocus:d[1]||(d[1]=e=>h.onFocus(e)),onBlur:d[2]||(d[2]=e=>h.onBlur(e)),onKeydown:d[3]||(d[3]=s(l((e=>h.onClick(e)),["prevent"]),["enter"])),role:"switch","aria-checked":h.checked}),null,16,["checked","aria-checked"])]),u],6)};export default c;