UNPKG

primereact

Version:

PrimeReact is an open source UI library for React featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with Prime

2 lines (1 loc) 3.45 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),n=require("primereact/tooltip"),t=require("primereact/utils");function r(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var o=r(e);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},a.apply(this,arguments)}function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function c(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?l(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var u=o.memo(o.forwardRef((function(e,r){var i=o.useRef(null),l=!e.disabled&&!e.readOnly,p=l?0:null,s=function(n,t){l&&e.onChange&&e.onChange({originalEvent:n,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:e.name,id:e.id,value:t}}),n.preventDefault()},f=function(n){l&&e.onChange&&e.onChange({originalEvent:n,value:null,stopPropagation:function(){},preventDefault:function(){},target:{name:e.name,id:e.id,value:null}}),n.preventDefault()},g=function(e,n){"Enter"===e.key&&s(e,n)},d=function(e){"Enter"===e.key&&f(e)};o.useImperativeHandle(r,(function(){return{props:e,getElement:function(){return i.current}}}));var b=t.ObjectUtils.isNotEmpty(e.tooltip),m=t.ObjectUtils.findDiffKeys(e,u.defaultProps),y=t.classNames("p-rating",{"p-disabled":e.disabled,"p-readonly":e.readOnly},e.className),O=function(){if(e.cancel){var n=t.IconUtils.getJSXIcon(e.cancelIcon,c({className:"p-rating-icon p-rating-cancel"},e.cancelIconProps),{props:e});return o.createElement("div",{className:"p-rating-item p-rating-cancel-item",onClick:f,tabIndex:p,onKeyDown:d},n)}return null}(),v=Array.from({length:e.stars},(function(e,n){return n+1})).map((function(n){var r=n<=e.value,a=t.classNames("p-rating-item",{"p-rating-item-active":r}),i=r?{type:e.onIcon,props:e.onIconProps}:{type:e.offIcon,props:e.offIconProps},l=t.IconUtils.getJSXIcon(i.type,c({className:"p-rating-icon"},i.props),{props:e});return o.createElement("div",{key:n,className:a,tabIndex:p,onClick:function(e){return s(e,n)},onKeyDown:function(e){return g(e,n)}},l)}));return o.createElement(o.Fragment,null,o.createElement("div",a({ref:i,id:e.id,className:y,style:e.style},m),O,v),b&&o.createElement(n.Tooltip,a({target:i,content:e.tooltip},e.tooltipOptions)))})));u.displayName="Rating",u.defaultProps={__TYPE:"Rating",id:null,value:null,disabled:!1,readOnly:!1,stars:5,cancel:!0,style:null,className:null,tooltip:null,tooltipOptions:null,onChange:null,onIcon:"pi pi-star-fill",offIcon:"pi pi-star",cancelIcon:"pi pi-ban",cancelIconProps:null,onIconProps:null,offIconProps:null},exports.Rating=u;