UNPKG

@geist-ui/react

Version:

Modern and minimalist React UI library.

49 lines (44 loc) 1.69 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties"; var _excluded = ["href", "nextLink", "onClick", "children", "className"]; import Link from '../link'; import React, { useMemo } from 'react'; import { pickChild } from '../utils/collections'; import BreadcrumbsSeparator from './breadcrumbs-separator'; var defaultProps = { nextLink: false, className: '' }; var BreadcrumbsItem = /*#__PURE__*/React.forwardRef(function (_ref, ref) { var href = _ref.href, nextLink = _ref.nextLink, onClick = _ref.onClick, children = _ref.children, className = _ref.className, props = _objectWithoutProperties(_ref, _excluded); var isLink = useMemo(function () { return href !== undefined || nextLink; }, [href, nextLink]); var _pickChild = pickChild(children, BreadcrumbsSeparator), _pickChild2 = _slicedToArray(_pickChild, 1), withoutSepChildren = _pickChild2[0]; var clickHandler = function clickHandler(event) { onClick && onClick(event); }; if (!isLink) { return /*#__PURE__*/React.createElement("span", { className: "breadcrums-item ".concat(className), onClick: clickHandler }, withoutSepChildren); } return /*#__PURE__*/React.createElement(Link, _extends({ className: "breadcrums-item ".concat(className), href: href, onClick: clickHandler, ref: ref }, props), withoutSepChildren); }); BreadcrumbsItem.defaultProps = defaultProps; BreadcrumbsItem.displayName = 'GeistBreadcrumbsItem'; export default BreadcrumbsItem;