UNPKG

@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.

51 lines (50 loc) 1.75 kB
"use client"; import * as React from "react"; import cx from "clsx"; import ChevronBackward from "../icons/ChevronBackward"; import Hide from "../Hide"; import TextLink from "../TextLink"; import spaceAfterClasses from "../common/tailwind/spaceAfter"; 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, { on: ["smallMobile", "mediumMobile"] }, /*#__PURE__*/React.createElement("nav", { className: cx("font-base text-small", spaceAfter && spaceAfterClasses[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, { on: ["largeMobile", "tablet", "desktop", "largeDesktop"] }, onGoBack || Boolean(backHref) ? /*#__PURE__*/React.createElement(TextLink, { standAlone: true, type: "secondary", id: id, iconLeft: /*#__PURE__*/React.createElement(ChevronBackward, { reverseOnRtl: true }), dataTest: "BreadcrumbsBack", onClick: onGoBack, href: backHref }, goBackTitle) : null)); }; export { default as BreadcrumbsItem } from "./BreadcrumbsItem"; export default Breadcrumbs;