UNPKG

2.49 kBJavaScriptView Raw
1import _extends from "@babel/runtime/helpers/esm/extends";
2
3var __rest = this && this.__rest || function (s, e) {
4 var t = {};
5
6 for (var p in s) {
7 if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
8 }
9
10 if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
11 if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
12 }
13 return t;
14};
15
16import * as React from 'react';
17import DownOutlined from "@ant-design/icons/es/icons/DownOutlined";
18import DropDown from '../dropdown/dropdown';
19import { ConfigContext } from '../config-provider';
20
21var BreadcrumbItem = function BreadcrumbItem(_a) {
22 var customizePrefixCls = _a.prefixCls,
23 _a$separator = _a.separator,
24 separator = _a$separator === void 0 ? '/' : _a$separator,
25 children = _a.children,
26 overlay = _a.overlay,
27 dropdownProps = _a.dropdownProps,
28 restProps = __rest(_a, ["prefixCls", "separator", "children", "overlay", "dropdownProps"]);
29
30 var _React$useContext = React.useContext(ConfigContext),
31 getPrefixCls = _React$useContext.getPrefixCls;
32
33 var prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);
34 /** If overlay is have Wrap a DropDown */
35
36 var renderBreadcrumbNode = function renderBreadcrumbNode(breadcrumbItem) {
37 if (overlay) {
38 return /*#__PURE__*/React.createElement(DropDown, _extends({
39 overlay: overlay,
40 placement: "bottomCenter"
41 }, dropdownProps), /*#__PURE__*/React.createElement("span", {
42 className: "".concat(prefixCls, "-overlay-link")
43 }, breadcrumbItem, /*#__PURE__*/React.createElement(DownOutlined, null)));
44 }
45
46 return breadcrumbItem;
47 };
48
49 var link;
50
51 if ('href' in restProps) {
52 link = /*#__PURE__*/React.createElement("a", _extends({
53 className: "".concat(prefixCls, "-link")
54 }, restProps), children);
55 } else {
56 link = /*#__PURE__*/React.createElement("span", _extends({
57 className: "".concat(prefixCls, "-link")
58 }, restProps), children);
59 } // wrap to dropDown
60
61
62 link = renderBreadcrumbNode(link);
63
64 if (children) {
65 return /*#__PURE__*/React.createElement("span", null, link, separator && /*#__PURE__*/React.createElement("span", {
66 className: "".concat(prefixCls, "-separator")
67 }, separator));
68 }
69
70 return null;
71};
72
73BreadcrumbItem.__ANT_BREADCRUMB_ITEM = true;
74export default BreadcrumbItem;
\No newline at end of file