react-star-rating-controlled-component
Version:
React component for star (or any other icon based) ratings
1 lines • 5.91 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define("ReactStarRatingComponent",["react"],t):"object"==typeof exports?exports.ReactStarRatingComponent=t(require("react")):e.ReactStarRatingComponent=t(e.React)}(window,(function(e){return n={},t.m=r=[function(e,t,r){e.exports=r(4)()},function(t,r){t.exports=e},function(e,t,r){var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var a=typeof n;if("string"==a||"number"==a)e.push(n);else if(Array.isArray(n)&&n.length){var i=o.apply(null,n);i&&e.push(i)}else if("object"==a)for(var u in n)r.call(n,u)&&n[u]&&e.push(u)}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},function(e,t,r){"use strict";r.r(t);var n=r(1),o=r.n(n),a=r(0),i=r.n(a),u=r(2),c=r.n(u);function f(e){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var d=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){return!t||"object"!==f(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}(this,s(e).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}(e,n.Component),function(e,t,r){t&&l(e.prototype,t)}(e,[{key:"onStarClick",value:function(e,t,r){r.stopPropagation();var n=this.props,o=n.onStarClick;n.editing&&o&&o(e,t,r)}},{key:"onStarHover",value:function(e,t,r){r.stopPropagation();var n=this.props,o=n.onStarHover;n.editing&&o&&o(e,t,r)}},{key:"onStarHoverOut",value:function(e,t,r){r.stopPropagation();var n=this.props,o=n.onStarHoverOut;n.editing&&o&&o(e,t,r)}},{key:"renderStars",value:function(){for(var e=this,t=this.props,r=t.name,n=t.starCount,a=t.starColor,i=t.emptyStarColor,u=t.editing,c=t.value,f=[],l=function(t){var n="".concat(r,"_").concat(t),l=o.a.createElement("label",{key:"label_".concat(n),style:function(e,t){return{float:"right",cursor:u?"pointer":"default",color:e<=t?a:i}}(t,c),className:"dv-star-rating-star "+(t<=c?"dv-star-rating-full-star":"dv-star-rating-empty-star"),htmlFor:n,onClick:function(n){return e.onStarClick(t,r,n)},onMouseOver:function(n){return e.onStarHover(t,r,n)},onMouseLeave:function(n){return e.onStarHoverOut(t,r,n)}},e.renderIcon(t,c,r,n));f.push(l)},s=n;0<s;s--)l(s);return f.length?f:null}},{key:"renderIcon",value:function(e,t,r,n){var a=this.props,i=a.renderStarIcon,u=a.renderStarIconHalf;return"function"==typeof u&&Math.ceil(t)===e&&t%1!=0?u(e,t,r,n):"function"==typeof i?i(e,t,r,n):o.a.createElement("i",{key:"icon_".concat(n),style:{fontStyle:"normal"}},"★")}},{key:"render",value:function(){var e=this.props,t=e.editing,r=e.className,n=c()("dv-star-rating",{"dv-star-rating-non-editable":!t},r);return o.a.createElement("div",{style:{display:"inline-block",position:"relative"},className:n},this.renderStars())}}]),e}();y(d,"propTypes",{name:i.a.string.isRequired,value:i.a.number.isRequired,editing:i.a.bool,starCount:i.a.number,starColor:i.a.string,onChange:i.a.func,onStarClick:i.a.func,onStarHover:i.a.func,onStarHoverOut:i.a.func,renderStarIcon:i.a.func,renderStarIconHalf:i.a.func}),y(d,"defaultProps",{starCount:5,editing:!0,starColor:"#ffb400",emptyStarColor:"#333"}),t.default=d},function(e,t,r){"use strict";var n=r(5);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,a,i){if(i!==n){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}var r={array:e.isRequired=e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return r.PropTypes=r}},function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}],t.c=n,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)t.d(n,o,function(t){return e[t]}.bind(null,o));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=3);function t(e){if(n[e])return n[e].exports;var o=n[e]={i:e,l:!1,exports:{}};return r[e].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var r,n}));