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) • 2.41 kB
JavaScript
import*as e from"react";import{ObjectUtils as t,classNames as l,IconUtils as n}from"primereact/utils";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n])}return e},r.apply(this,arguments)}var a=e.memo(e.forwardRef((function(i,m){var u=e.useRef(null),s=function(e,t){t.disabled?e.preventDefault():(t.url||e.preventDefault(),t.command&&t.command({originalEvent:e,item:t}))},c=function(){return e.createElement("li",{className:"p-breadcrumb-chevron pi pi-chevron-right"})},o=function(n){if(!1===n.visible)return null;var r=l(n.className,{"p-disabled":n.disabled}),a=e.createElement("a",{href:n.url||"#",className:"p-menuitem-link",target:n.target,onClick:function(e){return s(e,n)},"aria-disabled":n.disabled},n.label&&e.createElement("span",{className:"p-menuitem-text"},n.label));n.template&&(a=t.getJSXElement(n.template,n,{onClick:function(e){return s(e,n)},className:"p-menuitem-link",labelClassName:"p-menuitem-text",element:a,props:i}));return e.createElement("li",{className:r,style:n.style},a)};e.useImperativeHandle(m,(function(){return{props:i,getElement:function(){return u.current}}}));var p=t.findDiffKeys(i,a.defaultProps),d=l("p-breadcrumb p-component",i.className),f=function(){var r=i.home;if(r){if(!1===r.visible)return null;var a=r.icon,m=r.target,u=r.url,c=r.disabled,o=r.style,p=r.template,d=l("p-breadcrumb-home",{"p-disabled":c},r.className),f=n.getJSXIcon(a,{className:"p-menuitem-icon"},{props:i}),b=e.createElement("a",{href:u||"#",className:"p-menuitem-link","aria-disabled":c,target:m,onClick:function(e){return s(e,r)}},f);if(p)b=t.getJSXElement(p,r,{onClick:function(e){return s(e,r)},className:"p-menuitem-link",labelClassName:"p-menuitem-text",element:b,props:i});return e.createElement("li",{className:d,style:o},b)}return null}(),b=function(){if(i.model){var t=i.model.map((function(t,l){if(!1===t.visible)return null;var n=o(t),r=l===i.model.length-1?null:c();return e.createElement(e.Fragment,{key:t.label+"_"+l},n,r)}));return t}return null}(),v=c();return e.createElement("nav",r({id:i.id,ref:u,className:d,style:i.style,"aria-label":"Breadcrumb"},p),e.createElement("ul",null,f,v,b))})));a.displayName="BreadCrumb",a.defaultProps={__TYPE:"BreadCrumb",id:null,model:null,home:null,style:null,className:null};export{a as BreadCrumb};