@raona/components
Version:
React components used at Raona to work with SPFx
32 lines (31 loc) • 1.88 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var react_1 = require("react");
var dynamicHeader_1 = require("../dynamicHeader");
var Style_1 = require("@raona/sp/dist/functions/Style");
exports.Breadcrumb = function (props) {
var items = props.items, containerTagName = props.containerTagName, separatorTagName = props.separatorTagName, separator = props.separator, containerClassName = props.containerClassName, separatorClassName = props.separatorClassName, itemClassName = props.itemClassName, activeItemClassName = props.activeItemClassName;
var breadcrumbLength = items.length - 1;
// let hasChainLimit = typeof chainLimit !== "undefined";
// // First and last items should be always visible.
// if(hasChainLimit && chainLimit! < 2) {
// chainLimit = 2;
// }
return (React.createElement(dynamicHeader_1.DynamicHeader, { tag: containerTagName || 'div', className: containerClassName }, items.map(function (bi, index) {
var _a, _b;
var isLastItem = index === breadcrumbLength;
var link = isLastItem
? React.createElement("a", { className: Style_1.Style.classNames((_a = {},
_a[itemClassName] = true,
_a[activeItemClassName] = isLastItem,
_a)) }, bi.name)
: React.createElement("a", { className: Style_1.Style.classNames((_b = {},
_b[itemClassName] = true,
_b[activeItemClassName] = isLastItem,
_b)), href: bi.href }, bi.name);
return (React.createElement(react_1.Fragment, null,
link,
!isLastItem && React.createElement(dynamicHeader_1.DynamicHeader, { tag: separatorTagName || 'span', className: separatorClassName }, separator || '/')));
})));
};
;