UNPKG

@ozen-ui/kit

Version:

React component library

65 lines (64 loc) 4.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Checkbox = exports.cnCheckbox = void 0; var tslib_1 = require("tslib"); require("./Checkbox.css"); var react_1 = tslib_1.__importStar(require("react")); var useThemeProps_1 = require("../../hooks/useThemeProps"); var classname_1 = require("../../utils/classname"); var CheckboxGroupNext_1 = require("../CheckboxGroupNext"); var FormControlCarcass_1 = require("../FormControlCarcass"); var components_1 = require("./components"); var constants_1 = require("./constants"); exports.cnCheckbox = (0, classname_1.cn)('CheckboxNext'); exports.Checkbox = (0, react_1.forwardRef)(function (inProps, ref) { var props = (0, useThemeProps_1.useThemeProps)({ props: inProps, name: 'CheckboxNext', }); var _a = props.align, alignProp = _a === void 0 ? constants_1.CHECKBOX_DEFAULT_ALIGN : _a, _b = props.size, sizeProp = _b === void 0 ? constants_1.CHECKBOX_DEFAULT_SIZE : _b, _c = props.variant, variantProp = _c === void 0 ? constants_1.CHECKBOX_DEFAULT_VARIANT : _c, _d = props.mirrored, mirroredProp = _d === void 0 ? constants_1.CHECKBOX_DEFAULT_MIRRORED : _d, className = props.className, label = props.label, carcassProps = props.carcassProps, _e = props.disabled, disabled = _e === void 0 ? constants_1.CHECKBOX_DEFAULT_DISABLED : _e, checkedProp = props.checked, inputRef = props.inputRef, indeterminate = props.indeterminate, nameProp = props.name, onChangeProp = props.onChange, hintProps = props.hintProps, hint = props.hint, renderAfter = props.renderAfter, renderAfterProps = props.renderAfterProps, dataTestid = props.dataTestid, other = tslib_1.__rest(props, ["align", "size", "variant", "mirrored", "className", "label", "carcassProps", "disabled", "checked", "inputRef", "indeterminate", "name", "onChange", "hintProps", "hint", "renderAfter", "renderAfterProps", "dataTestid"]); var checked = checkedProp; var name = nameProp; var size = sizeProp; var variant = variantProp; var align = alignProp; var mirrored = mirroredProp; var checkboxGroupContext = (0, CheckboxGroupNext_1.useCheckboxGroupContext)(); if (checkboxGroupContext) { if (checked === undefined && checkboxGroupContext.value) { checked = checkboxGroupContext === null || checkboxGroupContext === void 0 ? void 0 : checkboxGroupContext.value.includes(other === null || other === void 0 ? void 0 : other.value); } if (name === undefined && checkboxGroupContext.name) { name = checkboxGroupContext.name; } if (inProps.size === undefined && checkboxGroupContext.size) { size = checkboxGroupContext.size; } if (inProps.variant === undefined && checkboxGroupContext.variant) { variant = checkboxGroupContext.variant; } if (inProps.align === undefined && checkboxGroupContext.align) { align = checkboxGroupContext.align; } if (inProps.mirrored === undefined && checkboxGroupContext.mirrored) { mirrored = checkboxGroupContext.mirrored; } } var onChange = function (event) { onChangeProp === null || onChangeProp === void 0 ? void 0 : onChangeProp(event); checkboxGroupContext === null || checkboxGroupContext === void 0 ? void 0 : checkboxGroupContext.onChange(event); }; return (react_1.default.createElement(FormControlCarcass_1.FormControlCarcass, tslib_1.__assign({}, carcassProps, { ref: ref, size: size, variant: variant, align: align, mirrored: mirrored, hint: hint, label: label, hintProps: hintProps, disabled: disabled, className: (0, exports.cnCheckbox)({ indeterminate: indeterminate, disabled: disabled, variant: variant, mirrored: mirrored, size: size, }, [className]), controlProps: { className: (0, exports.cnCheckbox)('Box'), }, renderAfter: renderAfter, renderAfterProps: renderAfterProps, "data-testid": dataTestid }), react_1.default.createElement("input", tslib_1.__assign({ type: "checkbox", className: (0, exports.cnCheckbox)('Input'), disabled: disabled, checked: checked, onChange: onChange, name: name }, other, { ref: inputRef })), react_1.default.createElement("span", { className: (0, exports.cnCheckbox)('IconWrapper') }, react_1.default.createElement(components_1.CheckboxCheckIcon, { indeterminate: indeterminate, className: (0, exports.cnCheckbox)('Icon') })))); }); exports.Checkbox.displayName = 'Checkbox';