UNPKG

@ozen-ui/kit

Version:

React component library

27 lines (26 loc) 2.16 kB
import { __assign, __rest } from "tslib"; import './Chip.css'; import React, { forwardRef, useMemo } from 'react'; import { useDeprecatedComponent } from '../../hooks/useDeprecated'; import { useThemeProps } from '../../hooks/useThemeProps'; import { cn } from '../../utils/classname'; import { getIconSizeToFormElement } from '../../utils/getIconSizeToFormElement'; import { CHIP_DEFAULT_SIZE, CHIP_DEFAULT_VARIANT, CHIP_DEFAULT_DISABLED, } from './constants'; export var cnChip = cn('Chip'); export var chipSizeVariant = ['xs', 's', 'm', 'l']; export var chipColorVariant = ['primary', 'secondary']; /** * @deprecated Компонент устарел. Для замены используйте компонент ChipNext */ export var Chip = forwardRef(function (inProps, ref) { var _a = useThemeProps({ name: 'Chip', props: inProps }), _b = _a.size, size = _b === void 0 ? CHIP_DEFAULT_SIZE : _b, _c = _a.color, color = _c === void 0 ? CHIP_DEFAULT_VARIANT : _c, _d = _a.disabled, disabled = _d === void 0 ? CHIP_DEFAULT_DISABLED : _d, IconLeft = _a.iconLeft, IconRight = _a.iconRight, labelProps = _a.labelProps, inputRef = _a.inputRef, className = _a.className, children = _a.children, dataTestId = _a["data-testid"], other = __rest(_a, ["size", "color", "disabled", "iconLeft", "iconRight", "labelProps", "inputRef", "className", "children", 'data-testid']); var iconSize = useMemo(function () { return getIconSizeToFormElement(size); }, [size]); useDeprecatedComponent('Chip'); return (React.createElement("label", __assign({ ref: ref, className: cnChip('', { size: size, disabled: disabled, color: color }, [className]), "data-testid": dataTestId }, labelProps), React.createElement("input", __assign({ ref: inputRef, className: cnChip('Input'), disabled: disabled, type: "checkbox" }, other)), React.createElement("span", { className: cnChip('Content') }, IconLeft && React.createElement(IconLeft, { size: iconSize, className: cnChip('Icon') }), children, IconRight && React.createElement(IconRight, { size: iconSize, className: cnChip('Icon') })))); }); Chip.displayName = 'Chip';