baseui
Version:
A React Component library implementing the Base design language
67 lines (65 loc) • 3.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _themeProvider = require("../styles/theme-provider");
var _styledComponents = require("./styled-components");
var _chevronRight = _interopRequireDefault(require("../icon/chevron-right"));
var _chevronDown = _interopRequireDefault(require("../icon/chevron-down"));
var _chevronLeft = _interopRequireDefault(require("../icon/chevron-left"));
var _blank = _interopRequireDefault(require("../icon/blank"));
var _overrides = require("../helpers/overrides");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /*
Copyright (c) Uber Technologies, Inc.
This source code is licensed under the MIT license found in the
LICENSE file in the root directory of this source tree.
*/
const TreeLabel = ({
hasChildren,
isExpanded,
label,
overrides = {},
node,
isSelected,
isFocusVisible,
...props
}) => {
const sharedProps = {
$isExpanded: !!isExpanded,
$isSelected: !!isSelected,
$isFocusVisible: !!isFocusVisible,
$hasChildren: !!hasChildren
};
const {
IconContainer: IconContainerOverride,
ExpandIcon: ExpandIconOverride,
CollapseIcon: CollapseIconOverride,
LeafIconContainer: LeafIconContainerOverride,
LeafIcon: LeafIconOverride,
TreeItemContent: TreeItemContentOverride
} = overrides;
const IconContainer = (0, _overrides.getOverride)(IconContainerOverride) || _styledComponents.StyledIconContainer;
const [Left, LeftProps] = (0, _overrides.getOverrides)(ExpandIconOverride, _chevronLeft.default);
const [Right, RightProps] = (0, _overrides.getOverrides)(ExpandIconOverride, _chevronRight.default);
const CollapseIcon = (0, _overrides.getOverride)(CollapseIconOverride) || _chevronDown.default;
const LeafIconContainer = (0, _overrides.getOverride)(LeafIconContainerOverride) || _styledComponents.StyledIconContainer;
const LeafIcon = (0, _overrides.getOverride)(LeafIconOverride) || _blank.default;
const TreeItemContent = (0, _overrides.getOverride)(TreeItemContentOverride) || _styledComponents.StyledItemContent;
return (
/*#__PURE__*/
// $FlowExpectedError[cannot-spread-inexact]
_react.default.createElement(TreeItemContent, _extends({}, sharedProps, props), hasChildren && /*#__PURE__*/_react.default.createElement(IconContainer, _extends({}, sharedProps, (0, _overrides.getOverrideProps)(IconContainerOverride)), !isExpanded ? /*#__PURE__*/_react.default.createElement(_themeProvider.ThemeContext.Consumer, null, theme => theme.direction === 'rtl' ? /*#__PURE__*/_react.default.createElement(Left, _extends({
size: 16
}, sharedProps, LeftProps)) : /*#__PURE__*/_react.default.createElement(Right, _extends({
size: 16
}, sharedProps, RightProps))) : /*#__PURE__*/_react.default.createElement(CollapseIcon, _extends({
size: 16
}, sharedProps, (0, _overrides.getOverrideProps)(CollapseIconOverride)))), !hasChildren && LeafIcon && /*#__PURE__*/_react.default.createElement(LeafIconContainer, _extends({}, sharedProps, (0, _overrides.getOverrideProps)(LeafIconContainerOverride)), /*#__PURE__*/_react.default.createElement(LeafIcon, _extends({
size: 16
}, sharedProps, (0, _overrides.getOverrideProps)(LeafIconOverride)))), typeof label === 'function' ? label(node) : label)
);
};
var _default = exports.default = TreeLabel;