UNPKG

@gravity-ui/uikit

Version:

Gravity UI base styling and components

28 lines (27 loc) 1.81 kB
'use client'; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Checkbox = void 0; const tslib_1 = require("tslib"); const jsx_runtime_1 = require("react/jsx-runtime"); const React = tslib_1.__importStar(require("react")); const private_1 = require("../../hooks/private/index.js"); const ControlLabel_1 = require("../ControlLabel/index.js"); const cn_1 = require("../utils/cn.js"); const CheckboxDashIcon_1 = require("./CheckboxDashIcon.js"); const CheckboxTickIcon_1 = require("./CheckboxTickIcon.js"); require("./Checkbox.css"); const b = (0, cn_1.block)('checkbox'); exports.Checkbox = React.forwardRef(function Checkbox(props, ref) { const { size = 'm', indeterminate, disabled = false, content, children, title, style, className, qa, } = props; const { checked, inputProps } = (0, private_1.useCheckbox)(props); const text = content || children; const control = ((0, jsx_runtime_1.jsxs)("span", { className: b('indicator'), children: [(0, jsx_runtime_1.jsx)("span", { className: b('icon'), "aria-hidden": true, children: indeterminate ? ((0, jsx_runtime_1.jsx)(CheckboxDashIcon_1.CheckboxDashIcon, { className: b('icon-svg', { type: 'dash' }) })) : ((0, jsx_runtime_1.jsx)(CheckboxTickIcon_1.CheckboxTickIcon, { className: b('icon-svg', { type: 'tick' }) })) }), (0, jsx_runtime_1.jsx)("input", { ...inputProps, className: b('control') }), (0, jsx_runtime_1.jsx)("span", { className: b('outline') })] })); return ((0, jsx_runtime_1.jsx)(ControlLabel_1.ControlLabel, { ref: ref, title: title, style: style, size: size, disabled: disabled, className: b({ size, disabled, indeterminate, checked, }, className), qa: qa, control: control, children: text })); }); //# sourceMappingURL=Checkbox.js.map