UNPKG

@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
"use strict"; "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;