@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.
55 lines (54 loc) • 2.49 kB
JavaScript
;
"use client";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
exports.__esModule = true;
exports.default = void 0;
var React = _interopRequireWildcard(require("react"));
var _clsx = _interopRequireDefault(require("clsx"));
var _Heading = _interopRequireDefault(require("../Heading"));
var _Checkbox = require("../Checkbox");
var _Text = _interopRequireDefault(require("../Text"));
var _handleKeyDown = _interopRequireDefault(require("../utils/handleKeyDown"));
const ListChoice = ({
dataTest,
id,
icon,
action,
title,
description,
selectable,
role,
onClick,
tabIndex = 0,
selected = false,
disabled,
ref
}) => {
return /*#__PURE__*/React.createElement("div", {
className: (0, _clsx.default)("orbit-list-choice", "py-300 px-400 box-border flex w-full items-center", "border-b-cloud-normal bg-white-normal border-b border-solid", "duration-fast transition-[background-color] ease-in-out", disabled ? "cursor-not-allowed" : "hover:bg-cloud-light cursor-pointer", "hover:outline-none [&_button]:hover:bg-transparent", "[&_.orbit-checkbox-label]:w-auto"),
onClick: !disabled ? onClick : undefined,
"data-test": dataTest,
id: id,
ref: ref,
onKeyDown: !disabled ? (0, _handleKeyDown.default)(onClick) : undefined,
tabIndex: tabIndex || disabled ? -1 : 0,
"data-title": title,
"aria-disabled": disabled,
"aria-checked": selectable ? selected : undefined,
role: role || selectable && "checkbox" || !action && "button" || undefined
}, icon && /*#__PURE__*/React.createElement("div", {
className: (0, _clsx.default)("me-200 h-icon-medium flex flex-none items-center self-start", "[&_svg]:size-icon-medium [&_svg]:text-icon-primary-foreground [&_svg]:self-center", "[&_svg]:duration-fast [&_svg]:transition-[color] [&_svg]:ease-in-out")
}, icon), /*#__PURE__*/React.createElement("div", {
className: "pe-300 flex w-full flex-col justify-center"
}, /*#__PURE__*/React.createElement(_Heading.default, {
type: "title4"
}, title), description && /*#__PURE__*/React.createElement(_Text.default, {
type: "secondary",
size: "small"
}, description)), selectable && /*#__PURE__*/React.createElement(_Checkbox.FakeCheckbox, {
checked: selected,
disabled: disabled
}), !selectable && action);
};
var _default = exports.default = ListChoice;