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.26 kB
JavaScript
import*as e from"react";import{ObjectUtils as t,classNames as n,IconUtils as l}from"primereact/utils";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},r.apply(this,arguments)}var a={defaultProps:{__TYPE:"Steps",id:null,model:null,activeIndex:0,readOnly:!0,style:null,className:null,onSelect:null,children:void 0},getProps:function(e){return t.getMergedProps(e,a.defaultProps)},getOtherProps:function(e){return t.getDiffProps(e,a.defaultProps)}},s=e.memo(e.forwardRef((function(s,i){var o=a.getProps(s),p=e.useRef(null),c=function(e,t,n){o.readOnly||t.disabled?e.preventDefault():(o.onSelect&&o.onSelect({originalEvent:e,item:t,index:n}),t.url||e.preventDefault(),t.command&&t.command({originalEvent:e,item:t,index:n}))},m=function(r,a){if(!1===r.visible)return null;var s=r.label+"_"+a,i=a===o.activeIndex,p=r.disabled||a!==o.activeIndex&&o.readOnly,m=p?-1:"",u=n("p-steps-item",r.className,{"p-highlight p-steps-current":i,"p-disabled":p}),d=n("p-menuitem-icon",r.icon),f=l.getJSXIcon(r.icon,{className:"p-menuitem-icon"},{props:o}),b=r.label&&e.createElement("span",{className:"p-steps-title"},r.label),v=e.createElement("a",{href:r.url||"#",className:"p-menuitem-link",role:"presentation",target:r.target,onClick:function(e){return c(e,r,a)},tabIndex:m},e.createElement("span",{className:"p-steps-number"},a+1),f,b);r.template&&(v=t.getJSXElement(r.template,r,{onClick:function(e){return c(e,r,a)},className:"p-menuitem-link",labelClassName:"p-steps-title",numberClassName:"p-steps-number",iconClassName:d,element:v,props:o,tabIndex:m,active:i,disabled:p}));return e.createElement("li",{key:s,id:r.id,className:u,style:r.style,role:"tab","aria-selected":i,"aria-expanded":i},v)};e.useImperativeHandle(i,(function(){return{props:o,getElement:function(){return p.current}}}));var u=a.getOtherProps(o),d=n("p-steps p-component",{"p-readonly":o.readOnly},o.className),f=function(){if(o.model){var t=o.model.map(m);return e.createElement("ul",{role:"tablist"},t)}return null}();return e.createElement("div",r({id:o.id,ref:p,className:d,style:o.style},u),f)})));s.displayName="Steps";export{s as Steps};