/*! * Star Rating * @version: 3.4.0 * @author: Paul Ryley (http://geminilabs.io) * @url: https://github.com/pryley/star-rating.js * @license: MIT */ !function(s,e){"use strict";function t(t,i){var s={}.toString.call(t);this.selects="[object String]"===s?e.querySelectorAll(t):"[object NodeList]"===s?t:[t],this.destroy=function(){this.widgets.forEach(function(t){t.t()})},this.rebuild=function(){this.widgets.forEach(function(t){t.i()})},this.widgets=[];for(var n=0;nthis.s.maxStars||this.i()};r.prototype={h:{classname:"gl-star-rating",clearable:!0,initialText:"Select a Rating",maxStars:10,showText:!0},o:function(){this.r(),this.current=this.selected=this.a(),this.u(),this.c(),this.f(),this.v(this.current),this.l("add"),this.el[o]=!0},d:function(){this.s.showText&&(this.textEl=this._(this.widgetEl,{class:this.s.classname+"-text"},!0))},c:function(){var t=this.m(),i=this._(this.el,{class:this.s.classname+"-stars"},!0);for(var s in t){var n=this.g({"data-value":s,"data-text":t[s]});i.innerHTML+=n.outerHTML}this.widgetEl=i,this.d()},p:function(t){(t<0||isNaN(t))&&(t=0),t>this.stars&&(t=this.stars),this.widgetEl.classList.remove("s"+10*this.current),this.widgetEl.classList.add("s"+10*t),this.s.showText&&(this.textEl.textContent=t<1?this.s.initialText:this.widgetEl.childNodes[t-1].dataset.text),this.current=t},g:function(t){var i=e.createElement("span");for(var s in t=t||{})i.setAttribute(s,t[s]);return i},t:function(){this.l("remove");var t=this.el.parentNode;t.parentNode.replaceChild(this.el,t),delete this.el[o]},w:function(i,s,t,n){n=n||!1,t.forEach(function(t){this.events&&i[s+"EventListener"](t,this.events[t],n)}.bind(this))},n:function(){var t=[].slice.call(arguments),s=t[0],n=t.slice(1);return Object.keys(n).forEach(function(t){for(var i in n[t])n[t].hasOwnProperty(i)&&(s[i]=n[t][i])}),s},b:function(){var t=!1;try{var i=Object.defineProperty({},"passive",{get:function(){t={passive:!1}}});s.addEventListener("test",null,i)}catch(t){}return t},S:function(t){var i={},s=t.pageX||t.changedTouches[0].pageX,n=this.widgetEl.offsetWidth;return i.ltr=Math.max(s-this.offsetLeft,1),i.rtl=n-i.ltr,Math.min(Math.ceil(i[this.direction]/Math.round(n/this.stars)),this.stars)},m:function(){for(var t=this.el,i={},s={},n=0;n