@atlaskit/table-tree
Version:
A table tree is an expandable table for showing nested hierarchies of information.
49 lines (47 loc) • 2.34 kB
JavaScript
"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;