vue-rate-it
Version:
A highly customisable rating component for Vue 2.x.
2 lines • 19.6 kB
JavaScript
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("vue")):"function"==typeof define&&define.amd?define("VueRateIt",["vue"],e):"object"==typeof exports?exports.VueRateIt=e(require("vue")):t.VueRateIt=e(t.vue)}(this,function(t){return function(t){function e(n){if(i[n])return i[n].exports;var r=i[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var i={};return e.m=t,e.c=i,e.d=function(t,i,n){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/dist/",e(e.s=10)}([function(t,e){t.exports=function(t,e,i,n){var r,o=t=t||{},a=typeof t.default;"object"!==a&&"function"!==a||(r=t,o=t.default);var s="function"==typeof o?o.options:o;if(e&&(s.render=e.render,s.staticRenderFns=e.staticRenderFns),i&&(s._scopeId=i),n){var u=Object.create(s.computed||null);Object.keys(n).forEach(function(t){var e=n[t];u[t]=function(){return e}}),s.computed=u}return{esModule:r,exports:o,options:s}}},function(t,e,i){i(13);var n=i(0)(i(16),i(17),"data-v-217e3916",null);t.exports=n.exports},function(e,i){e.exports=t},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={props:{fill:{type:Number,default:0},size:{type:Number,default:50},index:{type:Number,required:!0},activeColor:{type:String,required:!0},inactiveColor:{type:String,required:!0},borderColor:{type:String,default:"#999"},borderWidth:{type:Number,default:0},spacing:{type:Number,default:0},customProps:{type:Object,default:function(){return{}}},rtl:{type:Boolean,default:!1}},created:function(){this.fillId=Math.random().toString(36).substring(7)},computed:{pointsToString:function(){return this.points.join(",")},getFillId:function(){return"url(#"+this.fillId+")"},getWidth:function(){return parseInt(this.size)+parseInt(this.borderWidth*this.borders)},getHeight:function(){return this.originalHeight/this.originalWidth*this.getWidth},getFill:function(){return this.rtl?100-this.fill+"%":this.fill+"%"},getSpacing:function(){return this.spacing+this.borderWidth/2+"px"}},methods:{mouseMoving:function(t){this.$emit("mouse-move",{event:t,position:this.getPosition(t),id:this.index})},getPosition:function(t){var e=.92*(this.size+this.borderWidth),i=this.rtl?Math.min(t.offsetX,45):Math.max(t.offsetX,1),n=Math.round(100/e*i);return Math.min(n,100)},selected:function(t){this.$emit("selected",{id:this.index,position:this.getPosition(t)})}},data:function(){return{fillId:"",originalWidth:50,orignalHeight:50,borders:1}}}},function(t,e){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],e=0;e<this.length;e++){var i=this[e];i[2]?t.push("@media "+i[2]+"{"+i[1]+"}"):t.push(i[1])}return t.join("")},t.i=function(e,i){"string"==typeof e&&(e=[[null,e,""]]);for(var n={},r=0;r<this.length;r++){var o=this[r][0];"number"==typeof o&&(n[o]=!0)}for(r=0;r<e.length;r++){var a=e[r];"number"==typeof a[0]&&n[a[0]]||(i&&!a[2]?a[2]=i:i&&(a[2]="("+a[2]+") and ("+i+")"),t.push(a))}},t}},function(t,e,i){function n(t){for(var e=0;e<t.length;e++){var i=t[e],n=d[i.id];if(n){n.refs++;for(var r=0;r<n.parts.length;r++)n.parts[r](i.parts[r]);for(;r<i.parts.length;r++)n.parts.push(o(i.parts[r]));n.parts.length>i.parts.length&&(n.parts.length=i.parts.length)}else{for(var a=[],r=0;r<i.parts.length;r++)a.push(o(i.parts[r]));d[i.id]={id:i.id,refs:1,parts:a}}}}function r(){var t=document.createElement("style");return t.type="text/css",c.appendChild(t),t}function o(t){var e,i,n=document.querySelector('style[data-vue-ssr-id~="'+t.id+'"]');if(n){if(h)return g;n.parentNode.removeChild(n)}if(v){var o=p++;n=f||(f=r()),e=a.bind(null,n,o,!1),i=a.bind(null,n,o,!0)}else n=r(),e=s.bind(null,n),i=function(){n.parentNode.removeChild(n)};return e(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;e(t=n)}else i()}}function a(t,e,i,n){var r=i?"":n.css;if(t.styleSheet)t.styleSheet.cssText=m(e,r);else{var o=document.createTextNode(r),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(o,a[e]):t.appendChild(o)}}function s(t,e){var i=e.css,n=e.media,r=e.sourceMap;if(n&&t.setAttribute("media",n),r&&(i+="\n/*# sourceURL="+r.sources[0]+" */",i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */"),t.styleSheet)t.styleSheet.cssText=i;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(i))}}var u="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!u)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var l=i(15),d={},c=u&&(document.head||document.getElementsByTagName("head")[0]),f=null,p=0,h=!1,g=function(){},v="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());t.exports=function(t,e,i){h=i;var r=l(t,e);return n(r),function(e){for(var i=[],o=0;o<r.length;o++){var a=r[o],s=d[a.id];s.refs--,i.push(s)}e?(r=l(t,e),n(r)):r=[];for(var o=0;o<i.length;o++){var s=i[o];if(0===s.refs){for(var u=0;u<s.parts.length;u++)s.parts[u]();delete d[s.id]}}}};var m=function(){var t=[];return function(e,i){return t[e]=i,t.filter(Boolean).join("\n")}}()},function(t,e,i){var n=i(0)(i(28),i(29),null,null);t.exports=n.exports},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={props:{increment:{type:Number,default:1},rating:{type:Number,default:0},activeColor:{type:String,default:"#ffd055"},inactiveColor:{type:String,default:"#d8d8d8"},maxRating:{type:Number,default:5},itemSize:{type:Number,default:50},showRating:{type:Boolean,default:!0},readOnly:{type:Boolean,default:!1},textClass:{type:String,default:""},inline:{type:Boolean,default:!1},borderColor:{type:String,default:"#999"},borderWidth:{type:Number,default:2},spacing:{type:Number,default:0},fixedPoints:{type:Number,default:null},rtl:{type:Boolean,default:!1}},model:{prop:"rating",event:"rating-selected"},created:function(){this.step=100*this.increment,this.currentRating=this.rating,this.selectedRating=this.rating,this.createRating()},methods:{setRating:function(t,e){if(!this.readOnly){var i=this.rtl?(100-t.position)/100:t.position/100;this.currentRating=(t.id+i-1).toFixed(2),this.currentRating=this.currentRating>this.maxRating?this.maxRating:this.currentRating,this.createRating(),e?(this.selectedRating=this.currentRating,this.$emit("rating-selected",this.selectedRating)):this.$emit("current-rating",this.currentRating)}},resetRating:function(){this.readOnly||(this.currentRating=this.selectedRating,this.createRating())},createRating:function(){this.round();for(var t=0;t<this.maxRating;t++){var e=0;t<this.currentRating&&(e=this.currentRating-t>1?100:100*(this.currentRating-t)),this.$set(this.fillLevel,t,Math.round(e))}},round:function(){var t=1/this.increment;this.currentRating=Math.min(this.maxRating,Math.ceil(this.currentRating*t)/t)}},computed:{formattedRating:function(){return null===this.fixedPoints?this.currentRating:this.currentRating.toFixed(this.fixedPoints)}},watch:{rating:function(t){this.currentRating=t,this.selectedRating=t,this.createRating()}},data:function(){return{step:0,fillLevel:[],currentRating:0,selectedRating:0,customProps:{}}}}},function(t,e,i){var n=i(0)(i(20),i(21),null,null);t.exports=n.exports},function(t,e,i){i(34);var n=i(0)(i(36),null,null,null);t.exports=n.exports},function(t,e,i){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.Polygon=e.Path=e.RateIt=e.FaBaseGlyph=e.BaseRating=e.ImageRating=e.FaRating=e.HeartRating=e.StarRating=e.mixins=void 0;var r=i(11),o=n(r),a=i(22),s=n(a),u=i(30),l=n(u),d=i(37),c=n(d),f=i(1),p=n(f),h=i(42),g=n(h),v=i(44),m=n(v),y=i(9),x=n(y),b=i(6),_=n(b),R=i(8),M=n(R),C={StarRating:o.default,HeartRating:s.default,FaRating:l.default,ImageRating:c.default};e.default=C,e.mixins=m.default,e.StarRating=o.default,e.HeartRating=s.default,e.FaRating=l.default,e.ImageRating=c.default,e.BaseRating=p.default,e.FaBaseGlyph=x.default,e.RateIt=g.default,e.Path=_.default,e.Polygon=M.default},function(t,e,i){var n=i(0)(i(12),null,null,null);t.exports=n.exports},function(t,e,i){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=i(1),o=n(r),a=i(18),s=n(a);e.default=o.default.extend({name:"Star-Rating",components:{Star:s.default},data:function(){return{type:"star"}}})},function(t,e,i){var n=i(14);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);i(5)("77372b13",n,!0)},function(t,e,i){e=t.exports=i(4)(),e.push([t.i,".vue-rate-it-rating-item[data-v-217e3916]{display:inline-block}.vue-rate-it-pointer[data-v-217e3916]{cursor:pointer}.vue-rate-it-rating[data-v-217e3916]{display:flex;align-items:center}.vue-rate-it-inline[data-v-217e3916]{display:inline-flex}.vue-rate-it-rating-text[data-v-217e3916]{margin-top:7px;margin-left:7px}.vue-rate-it-rtl[data-v-217e3916]{direction:rtl}.vue-rate-it-rtl .vue-rate-it-rating-text[data-v-217e3916]{margin-right:10px;direction:rtl}",""])},function(t,e){t.exports=function(t,e){for(var i=[],n={},r=0;r<e.length;r++){var o=e[r],a=o[0],s=o[1],u=o[2],l=o[3],d={id:t+":"+r,css:s,media:u,sourceMap:l};n[a]?n[a].parts.push(d):i.push(n[a]={id:a,parts:[d]})}return i}},function(t,e,i){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=i(2),o=n(r),a=i(7),s=n(a);e.default=o.default.extend({mixins:[s.default],data:function(){return{type:""}}})},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{class:["vue-rate-it-rating",{"vue-rate-it-rtl":t.rtl},{"vue-rate-it-inline":t.inline},"vue-rate-it-rating-container"]},[i("div",{staticClass:"vue-rate-it-rating",on:{mouseleave:t.resetRating}},[t._l(t.maxRating,function(e){return i("div",{class:[{"vue-rate-it-pointer":!t.readOnly},"vue-rate-it-rating-item"]},[i(t.type,{tag:"component",attrs:{fill:t.fillLevel[e-1],size:t.itemSize,index:e,step:t.step,"active-color":t.activeColor,"inactive-color":t.inactiveColor,"border-color":t.borderColor,"border-width":t.borderWidth,spacing:t.spacing,"custom-props":t.customProps,rtl:t.rtl},on:{selected:function(e){t.setRating(e,!0)},"mouse-move":t.setRating}})],1)}),t._v(" "),t.showRating?i("span",{class:["vue-rate-it-rating-text",t.textClass]},[t._v(" "+t._s(t.formattedRating))]):t._e()],2)])},staticRenderFns:[]}},function(t,e,i){var n=i(0)(i(19),null,null,null);t.exports=n.exports},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(8),r=function(t){return t&&t.__esModule?t:{default:t}}(n);e.default=r.default.extend({data:function(){return{points:[19.8,2.2,6.6,43.56,39.6,17.16,0,17.16,33,43.56],originalWidth:43,originalHeight:43,borders:3}}})},function(t,e,i){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=i(2),o=n(r),a=i(3),s=n(a);e.default=o.default.extend({mixins:[s.default],created:function(){this.calculatePoints()},methods:{calculatePoints:function(){var t=this;this.points=this.points.map(function(e){return t.size/t.originalWidth*e+t.borderWidth*(t.borders/2)})}},data:function(){return{points:[]}}})},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("svg",{staticStyle:{overflow:"visible"},attrs:{width:t.getWidth,height:t.getHeight},on:{mousemove:t.mouseMoving,click:t.selected}},[i("linearGradient",{attrs:{id:t.fillId,x1:"0",x2:"100%",y1:"0",y2:"0"}},[i("stop",{attrs:{offset:t.getFill,"stop-color":t.rtl?t.inactiveColor:t.activeColor}}),t._v(" "),i("stop",{attrs:{offset:t.getFill,"stop-color":t.rtl?t.activeColor:t.inactiveColor}})],1),t._v(" "),i("polygon",{attrs:{points:t.pointsToString,fill:t.getFillId,stroke:t.borderColor,"stroke-width":t.borderWidth}}),t._v(" "),i("polygon",{attrs:{points:t.pointsToString,fill:t.getFillId}})],1)},staticRenderFns:[]}},function(t,e,i){i(23);var n=i(0)(i(25),null,null,null);t.exports=n.exports},function(t,e,i){var n=i(24);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);i(5)("2494179e",n,!0)},function(t,e,i){e=t.exports=i(4)(),e.push([t.i,".rating-container.inline{display:inline-flex;margin-left:5px;margin-right:1px}",""])},function(t,e,i){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=i(1),o=n(r),a=i(26),s=n(a);e.default=o.default.extend({name:"Heart-Rating",components:{Heart:s.default},props:{borderWidth:{type:Number,default:3},activeColor:{type:String,default:"#d80000"},inactiveColor:{type:String,default:"#ffc4c4"},borderColor:{type:String,default:"#8b0000"}},data:function(){return{type:"heart"}}})},function(t,e,i){var n=i(0)(i(27),null,null,null);t.exports=n.exports},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(6),r=function(t){return t&&t.__esModule?t:{default:t}}(n);e.default=r.default.extend({data:function(){return{points:["M 297.29747 550.86823 C 283.52243 535.43191 249.1268 505.33855 220.86277 483.99412 C 137.11867 420.75228 125.72108 411.5999 91.719238 380.29088 C 29.03471 322.57071 2.413622 264.58086 2.5048478 185.95124 C 2.5493594 147.56739 5.1656152 132.77929 15.914734 110.15398 C 34.151433 71.768267 61.014996 43.244667 95.360052 25.799457 C 119.68545 13.443675 131.6827 7.9542046 172.30448 7.7296236 C 214.79777 7.4947896 223.74311 12.449347 248.73919 26.181459 C 279.1637 42.895777 310.47909 78.617167 316.95242 103.99205 L 320.95052 119.66445 L 330.81015 98.079942 C 386.52632 -23.892986 564.40851 -22.06811 626.31244 101.11153 C 645.95011 140.18758 648.10608 223.6247 630.69256 270.6244 C 607.97729 331.93377 565.31255 378.67493 466.68622 450.30098 C 402.0054 497.27462 328.80148 568.34684 323.70555 578.32901 C 317.79007 589.91654 323.42339 580.14491 297.29747 550.86823 z"],originalWidth:700,originalHeight:565}}})},function(t,e,i){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=i(2),o=n(r),a=i(3),s=n(a);e.default=o.default.extend({mixins:[s.default],computed:{getViewbox:function(){return"0 0 "+this.originalWidth+" "+this.originalHeight},getFill:function(){var t=this.fill/100*Math.abs(this.x1Val),e=this.x1Val>0?this.fill-t:this.fill+t;return this.rtl?100-e+"%":e+"%"},x1Val:function(){return parseInt(this.coords.x1.replace("%"))}},data:function(){return{points:[],pathAttrs:{},coords:{x1:"0%",x2:"100%",y1:"0%",y2:"0%"}}}})},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{style:{display:"inline-block","margin-right":t.getSpacing}},[i("svg",{staticStyle:{overflow:"visible"},attrs:{width:t.getWidth,height:t.getHeight,viewBox:t.getViewbox},on:{mousemove:t.mouseMoving,click:t.selected}},[i("linearGradient",t._b({attrs:{id:t.fillId}},"linearGradient",t.coords,!1),[i("stop",{attrs:{offset:t.getFill,"stop-color":t.rtl?t.inactiveColor:t.activeColor}}),t._v(" "),i("stop",{attrs:{offset:t.getFill,"stop-color":t.rtl?t.activeColor:t.inactiveColor}})],1),t._v(" "),i("path",t._b({attrs:{d:t.pointsToString,fill:t.getFillId,stroke:t.borderColor,"stroke-width":t.borderWidth,"vector-effect":"non-scaling-stroke"}},"path",t.pathAttrs,!1)),t._v(" "),i("path",t._b({attrs:{d:t.pointsToString,fill:t.getFillId}},"path",t.pathAttrs,!1))],1)])},staticRenderFns:[]}},function(t,e,i){var n=i(0)(i(31),null,null,null);t.exports=n.exports},function(t,e,i){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=i(1),o=n(r),a=i(32),s=n(a);e.default=o.default.extend({name:"Fa-Rating",components:{FaGlyph:s.default},props:{glyph:{type:String,required:!0},activeColor:{type:String,default:"#000"}},created:function(){this.customProps.glyph=this.glyph},data:function(){return{type:"fa-glyph"}}})},function(t,e,i){var n=i(0)(i(33),null,null,null);t.exports=n.exports},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(9),r=function(t){return t&&t.__esModule?t:{default:t}}(n);e.default=r.default.extend({created:function(){this.updateGlyph()},methods:{updateGlyph:function(){this.points=[this.customProps.glyph]}}})},function(t,e,i){var n=i(35);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);i(5)("62348d90",n,!0)},function(t,e,i){e=t.exports=i(4)(),e.push([t.i,".rating-container.inline{display:inline-flex;margin-left:5px;margin-right:1px}",""])},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(6),r=function(t){return t&&t.__esModule?t:{default:t}}(n);e.default=r.default.extend({props:{customProps:{required:!0,type:Object}},created:function(){this.coords.x1="-2%"},data:function(){return{points:[],originalWidth:179,originalHeight:179,pathAttrs:{transform:"scale(0.1)"}}}})},function(t,e,i){var n=i(0)(i(38),null,null,null);t.exports=n.exports},function(t,e,i){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=i(1),o=n(r),a=i(39),s=n(a);e.default=o.default.extend({name:"Image-Rating",props:{backgroundOpacity:{default:.2,type:Number},src:{type:String,required:!0}},created:function(){this.customProps.opacity=this.backgroundOpacity,this.customProps.src=this.src},components:{CImage:s.default},data:function(){return{type:"c-image"}}})},function(t,e,i){var n=i(0)(i(40),i(41),null,null);t.exports=n.exports},function(t,e,i){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=i(2),o=n(r),a=i(3),s=n(a);e.default=o.default.extend({mixins:[s.default],created:function(){var t=this;this.opacity=this.customProps.opacity,this.src=this.customProps.src;var e=new Image;e.onload=function(){t.originalHeight=e.height,t.originalWidth=e.width},e.src=this.src},computed:{getOpacity:function(){return"opacity:"+this.opacity},getFill:function(){return this.fill+"%"},getX:function(){return this.rtl?100-this.fill+"%":0}},data:function(){return{points:[],originalWidth:400,originalHeight:300,borders:0,opacity:.1}}})},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{style:{display:"inline-block","margin-right":t.getSpacing}},[i("svg",{attrs:{width:t.getWidth,height:t.getHeight},on:{mousemove:t.mouseMoving,click:t.selected}},[i("mask",{attrs:{x:"0",y:"0",id:t.fillId}},[i("rect",{attrs:{fill:"#fff",width:t.getFill,height:"100%",x:t.getX}})]),t._v(" "),i("image",{attrs:{"xlink:href":t.src,mask:t.getFillId,height:t.getHeight,width:t.getWidth}}),t._v(" "),i("image",{style:t.getOpacity,attrs:{"xlink:href":t.src,height:t.getHeight,width:t.getWidth}})])])},staticRenderFns:[]}},function(t,e,i){var n=i(0)(i(43),null,null,null);t.exports=n.exports},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=function(t){return t&&t.__esModule?t:{default:t}}(n);e.default=r.default.extend({name:"rate-it",props:{with:{type:Function,required:!0}},created:function(){void 0!==this.with&&(this.type=this.with)},watch:{with:function(t){this.type=t}}})},function(t,e,i){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=i(7),o=n(r),a=i(3),s=n(a);e.default={Rating:o.default,RatingItem:s.default}}])});
//# sourceMappingURL=vue-rate-it.min.js.map