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