primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 1.96 kB
JavaScript
this.primevue=this.primevue||{},this.primevue.rating=function(e){"use strict";var n={name:"Rating",emits:["update:modelValue","change"],props:{modelValue:{type:Number,default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},stars:{type:Number,default:5},cancel:{type:Boolean,default:!0}},methods:{onStarClick(e,n){this.readonly||this.disabled||this.updateModel(e,n)},onCancelClick(){this.readonly||this.disabled||this.updateModel(event,null)},updateModel(e,n){this.$emit("update:modelValue",n),this.$emit("change",{originalEvent:e,value:n})}},computed:{containerClass(){return["p-rating",{"p-readonly":this.readonly,"p-disabled":this.disabled}]},focusIndex(){return this.disabled||this.readonly?null:"0"}}};return function(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===t&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-rating-icon {\n cursor: pointer;\n}\n.p-rating.p-rating-readonly .p-rating-icon {\n cursor: default;\n}\n"),n.render=function(n,t,a,i,l,o){return e.openBlock(),e.createBlock("div",{class:o.containerClass},[a.cancel?(e.openBlock(),e.createBlock("span",{key:0,class:"p-rating-icon p-rating-cancel pi pi-ban",tabindex:o.focusIndex,onClick:t[1]||(t[1]=(...e)=>o.onCancelClick&&o.onCancelClick(...e))},null,8,["tabindex"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createBlock(e.Fragment,null,e.renderList(a.stars,(n=>(e.openBlock(),e.createBlock("span",{key:n,onClick:e=>o.onStarClick(e,n),tabindex:o.focusIndex,onKeydown:e.withKeys(e.withModifiers((e=>o.onStarClick(e,n)),["prevent"]),["enter"]),class:["p-rating-icon",{"pi pi-star-o":n>a.modelValue,"pi pi-star":n<=a.modelValue}]},null,42,["onClick","tabindex","onKeydown"])))),128))],2)},n}(Vue);