UNPKG

baseui

Version:

A React Component library implementing the Base design language

67 lines (65 loc) 3.8 kB
"use strict"; 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;