@kiwicom/orbit-components
Version:
Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.
58 lines (57 loc) • 2.34 kB
JavaScript
"use strict";
"use client";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
exports.__esModule = true;
exports.default = exports.BreadcrumbsItem = void 0;
var React = _interopRequireWildcard(require("react"));
var _clsx = _interopRequireDefault(require("clsx"));
var _ChevronBackward = _interopRequireDefault(require("../icons/ChevronBackward"));
var _Hide = _interopRequireDefault(require("../Hide"));
var _TextLink = _interopRequireDefault(require("../TextLink"));
var _spaceAfter = _interopRequireDefault(require("../common/tailwind/spaceAfter"));
var _BreadcrumbsItem = _interopRequireDefault(require("./BreadcrumbsItem"));
exports.BreadcrumbsItem = _BreadcrumbsItem.default;
const Breadcrumbs = ({
children,
dataTest,
onGoBack,
goBackTitle = "Back",
spaceAfter,
backHref,
id
}) => {
const childEls = React.Children.toArray(children);
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Hide.default, {
on: ["smallMobile", "mediumMobile"]
}, /*#__PURE__*/React.createElement("nav", {
className: (0, _clsx.default)("font-base text-small", spaceAfter && _spaceAfter.default[spaceAfter]),
"aria-label": "Breadcrumb",
id: id,
"data-test": dataTest
}, /*#__PURE__*/React.createElement("ol", {
className: "m-0 flex list-none flex-wrap p-0",
itemScope: true,
itemType: "http://schema.org/BreadcrumbList"
}, React.Children.map(childEls, (item, key) => {
if (! /*#__PURE__*/React.isValidElement(item)) return null;
return /*#__PURE__*/React.cloneElement(item, {
active: key === React.Children.count(children) - 1,
contentKey: key + 1
});
})))), /*#__PURE__*/React.createElement(_Hide.default, {
on: ["largeMobile", "tablet", "desktop", "largeDesktop"]
}, onGoBack || Boolean(backHref) ? /*#__PURE__*/React.createElement(_TextLink.default, {
standAlone: true,
type: "secondary",
id: id,
iconLeft: /*#__PURE__*/React.createElement(_ChevronBackward.default, {
reverseOnRtl: true
}),
dataTest: "BreadcrumbsBack",
onClick: onGoBack,
href: backHref
}, goBackTitle) : null));
};
var _default = Breadcrumbs;
exports.default = _default;