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) • 1.91 kB
JavaScript
import*as e from"react";import{ObjectUtils as r,classNames as a}from"primereact/utils";function l(){return l=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var a=arguments[r];for(var l in a)Object.prototype.hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e},l.apply(this,arguments)}var t=e.memo(e.forwardRef((function(s,n){var o,i,u,p=e.useRef(null);if(e.useImperativeHandle(n,(function(){return{props:s,getElement:function(){return p.current}}})),"determinate"===s.mode)return o=r.findDiffKeys(s,t.defaultProps),i=a("p-progressbar p-component p-progressbar-determinate",s.className),u=s.showValue&&null!=s.value?s.displayValueTemplate?s.displayValueTemplate(s.value):s.value+s.unit:null,e.createElement("div",l({role:"progressbar",id:s.id,ref:p,className:i,style:s.style,"aria-valuemin":"0","aria-valuenow":s.value,"aria-valuemax":"100"},o),e.createElement("div",{className:"p-progressbar-value p-progressbar-value-animate",style:{width:s.value+"%",display:"flex",backgroundColor:s.color}},null!=s.value&&0!==s.value&&s.showValue&&e.createElement("div",{className:"p-progressbar-label"},u)));if("indeterminate"===s.mode)return function(){var n=r.findDiffKeys(s,t.defaultProps),o=a("p-progressbar p-component p-progressbar-indeterminate",s.className);return e.createElement("div",l({role:"progressbar",id:s.id,ref:p,className:o,style:s.style},n),e.createElement("div",{className:"p-progressbar-indeterminate-container"},e.createElement("div",{className:"p-progressbar-value p-progressbar-value-animate",style:{backgroundColor:s.color}})))}();throw new Error(s.mode+" is not a valid mode for the ProgressBar. Valid values are 'determinate' and 'indeterminate'")})));t.displayName="ProgressBar",t.defaultProps={__TYPE:"ProgressBar",id:null,value:null,showValue:!0,unit:"%",style:null,className:null,mode:"determinate",displayValueTemplate:null,color:null};export{t as ProgressBar};