UNPKG

@atlaskit/table-tree

Version:

A table tree is an expandable table for showing nested hierarchies of information.

49 lines (47 loc) • 2.34 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _react = _interopRequireDefault(require("react")); var _button = _interopRequireDefault(require("@atlaskit/button/icon/button")); var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop")); var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/core/chevron-down")); var _chevronRight = _interopRequireDefault(require("@atlaskit/icon/core/chevron-right")); var _chevronContainer = require("./chevron-container"); /* eslint-disable @repo/internal/react/consistent-props-definitions */ /** * Internal chevron component. */ var Chevron = function Chevron(_ref) { var isExpanded = _ref.isExpanded, ariaControls = _ref.ariaControls, _ref$collapseLabel = _ref.collapseLabel, collapseLabel = _ref$collapseLabel === void 0 ? 'Collapse' : _ref$collapseLabel, _ref$expandLabel = _ref.expandLabel, expandLabel = _ref$expandLabel === void 0 ? 'Expand' : _ref$expandLabel, rowId = _ref.rowId, extendedLabel = _ref.extendedLabel, _ref$onExpandToggle = _ref.onExpandToggle, onExpandToggle = _ref$onExpandToggle === void 0 ? _noop.default : _ref$onExpandToggle; var getLabel = function getLabel(defaultLabel) { return extendedLabel ? "".concat(defaultLabel, " ").concat(extendedLabel, " row") : "".concat(defaultLabel, " row ").concat(rowId); }; return /*#__PURE__*/_react.default.createElement(_chevronContainer.ChevronContainer, null, /*#__PURE__*/_react.default.createElement(_button.default, { appearance: "subtle", onClick: onExpandToggle, spacing: "compact", icon: function icon(iconProps) { return isExpanded ? /*#__PURE__*/_react.default.createElement(_chevronDown.default, (0, _extends2.default)({}, iconProps, { size: "small" })) : /*#__PURE__*/_react.default.createElement(_chevronRight.default, (0, _extends2.default)({}, iconProps, { size: "small" })); }, "aria-controls": isExpanded ? ariaControls : undefined, label: isExpanded ? getLabel(collapseLabel) : getLabel(expandLabel) })); }; var _default = exports.default = Chevron;