UNPKG

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