@kiwicom/orbit-components
Version:
Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com's products.
47 lines (46 loc) • 1.84 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireDefault(require("react"));
var _clsx = _interopRequireDefault(require("clsx"));
const AccordionSectionHeader = ({
children,
actions,
expanded,
expandOnTileClick,
onExpand,
expandable,
dataTest,
ariaControls
}) => {
const isInteractive = expandOnTileClick && !expanded && expandable;
const handleClick = _react.default.useCallback(e => {
e.stopPropagation();
onExpand?.();
}, [onExpand]);
const handleKeyDown = _react.default.useCallback(e => {
if (e.key === "Enter" || e.key === " ") {
e.preventDefault();
onExpand?.();
}
}, [onExpand]);
const content = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
className: "flex grow items-center"
}, children), !expanded && expandable && actions && /*#__PURE__*/_react.default.createElement("div", {
className: "ms-600 flex"
}, actions));
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
className: (0, _clsx.default)("p-600 bg-white-normal flex w-full items-center rounded-[inherit]", expanded ? "min-h-[19px]" : "min-h-form-box-normal", isInteractive && "hover:bg-cloud-light cursor-pointer border-0 bg-transparent text-left"),
"data-test": dataTest && `${dataTest}Header`
}, isInteractive && {
role: "button",
onClick: handleClick,
onKeyDown: handleKeyDown,
tabIndex: 0,
"aria-controls": ariaControls,
"aria-expanded": expanded || undefined
}), content);
};
var _default = exports.default = AccordionSectionHeader;