@ozen-ui/kit
Version:
React component library
27 lines (26 loc) • 2.16 kB
JavaScript
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';