vue-star-plus
Version:
Plus version of vue-star component
2 lines (1 loc) • 1.64 kB
JavaScript
(function(t,l){typeof exports=="object"&&typeof module!="undefined"?module.exports=l(require("vue")):typeof define=="function"&&define.amd?define(["vue"],l):(t=typeof globalThis!="undefined"?globalThis:t||self,t.VueStarPlus=l(t.Vue))})(this,function(t){"use strict";var l="",r=(e,o)=>{const n=e.__vccOpts||e;for(const[s,a]of o)n[s]=a;return n};const i=/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/,d=/^[rR][gG][Bb][Aa]?[(]([\s]*(2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?),){2}[\s]*(2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?),?[\s]*(0\.\d{1,2}|1|0)?[)]{1}$/g;function u(e){return i.test(e)||d.test(e)}const c=t.defineComponent({name:"VueStarPlus",props:{modelValue:Boolean,animate:String,color:{type:String,validator:u},type:{type:String,default:"fill",validator:e=>["fill","center"].includes(e)}},emits:["update:modelValue"],setup(e,{emit:o}){const n=t.computed(()=>e.modelValue?e.animate:""),s=t.computed(()=>({color:e.modelValue?e.color:""}));return{iconClass:n,iconStyle:s,handleToggle:()=>{o("update:modelValue",!e.modelValue)}}}}),m={class:"vue-star-plus"},f={class:"vue-star-plus__ground"};function p(e,o,n,s,a,V){return t.openBlock(),t.createElementBlock("div",m,[t.createElementVNode("div",f,[t.createElementVNode("div",{class:t.normalizeClass(["vue-star-plus__icon",[e.iconClass]]),style:t.normalizeStyle(e.iconStyle),onClick:o[0]||(o[0]=(..._)=>e.handleToggle&&e.handleToggle(..._))},[t.renderSlot(e.$slots,"icon")],6),t.createElementVNode("div",{class:t.normalizeClass(["vue-star-plus__decoration",[`vue-star-plus__decoration--${e.type}`,{"vue-star-plus__decoration--active":e.modelValue}]])},null,2)])])}var g=r(c,[["render",p]]);return g});