@ozen-ui/kit
Version:
React component library
25 lines (24 loc) • 1.76 kB
JavaScript
import { __assign, __rest } from "tslib";
import './Toggle.css';
import React, { forwardRef } from 'react';
import { useDeprecatedComponent } from '../../hooks/useDeprecated';
import { useThemeProps } from '../../hooks/useThemeProps';
import { cn } from '../../utils/classname';
import { FormControlLabel } from '../FormControlLabel';
export var cnToggle = cn('Toggle');
/**
* @deprecated Компонент устарел. Для замены используйте компонент ToggleNext
*/
export var Toggle = forwardRef(function (inProps, ref) {
useDeprecatedComponent('Toggle');
var props = useThemeProps({
props: inProps,
name: 'Toggle',
});
var _a = props.align, align = _a === void 0 ? 'center' : _a, _b = props.labelPlacement, labelPlacement = _b === void 0 ? 'right' : _b, _c = props.size, size = _c === void 0 ? 'm' : _c, className = props.className, label = props.label, labelProps = props.labelProps, disabled = props.disabled, checked = props.checked, inputRef = props.inputRef, other = __rest(props, ["align", "labelPlacement", "size", "className", "label", "labelProps", "disabled", "checked", "inputRef"]);
return (React.createElement(FormControlLabel, __assign({ label: label, size: size, labelPlacement: labelPlacement, disabled: disabled, align: align, className: className, ref: ref }, labelProps),
React.createElement("span", { className: cnToggle({ size: size, disabled: disabled, checked: checked }) },
React.createElement("input", __assign({ type: "checkbox", className: cnToggle('Input'), disabled: disabled, checked: checked }, other, { ref: inputRef })),
React.createElement("span", { className: cnToggle('Switch') }))));
});
Toggle.displayName = 'Toggle';