fomantic-ui-react
Version:
Fomantic-UI React -- A React Component Library.
74 lines (58 loc) • 2.83 kB
JavaScript
/**
* fomantic-ui-react v0.0.1-alpha.10
* (c) 2022 FireLoong <fireloong@foxmail.com>
* @license MIT
*/
import { _ as _defineProperty, a as _objectWithoutProperties } from '../_chunks/dep-9f1126c1.js';
import React, { Fragment } from 'react';
import BreadcrumbItem from './BreadcrumbItem.js';
import BreadcrumbDivider from './BreadcrumbDivider.js';
import { toArray } from 'lodash';
import { cloneElement } from '../_util/reactNode.js';
var _excluded = ["as", "divider", "className", "children"];
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
var Breadcrumb = function Breadcrumb(_ref) {
var _ref$as = _ref.as,
as = _ref$as === void 0 ? "div" : _ref$as,
_ref$divider = _ref.divider,
divider = _ref$divider === void 0 ? " / " : _ref$divider,
className = _ref.className,
children = _ref.children,
props = _objectWithoutProperties(_ref, _excluded);
var classNames = ["ui", "breadcrumb"];
if (className) {
classNames.push(className);
}
var crumbs;
if (children && divider) {
crumbs = toArray(children).map(function (element, index) {
if (!element) {
return element;
}
var separator;
if (toArray(children).length - 1 !== index) {
if (typeof divider === "string") {
separator = /* @__PURE__ */React.createElement(BreadcrumbDivider, null, divider);
} else {
separator = /* @__PURE__ */React.createElement(BreadcrumbDivider, _objectSpread({
as: divider.type
}, divider.props));
}
}
return /* @__PURE__ */React.createElement(Fragment, {
key: index
}, cloneElement(element), separator);
});
} else {
crumbs = children;
}
return /*#__PURE__*/React.createElement(as, _objectSpread({
className: classNames.join(" ")
}, props), crumbs);
};
Breadcrumb.displayName = "Breadcrumb";
Breadcrumb.Item = BreadcrumbItem;
Breadcrumb.Divider = BreadcrumbDivider;
export { Breadcrumb as default };
//# sourceMappingURL=Breadcrumb.js.map