@ozen-ui/kit
Version:
React component library
30 lines (29 loc) • 2.57 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Toggle = exports.cnToggle = void 0;
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importStar(require("react"));
var useThemeProps_1 = require("../../hooks/useThemeProps");
var classname_1 = require("../../utils/classname");
var FormControlCarcass_1 = require("../FormControlCarcass");
var constants_1 = require("./constants");
require("./Toggle.css");
exports.cnToggle = (0, classname_1.cn)('ToggleNext');
exports.Toggle = (0, react_1.forwardRef)(function (inProps, ref) {
var props = (0, useThemeProps_1.useThemeProps)({
props: inProps,
name: 'ToggleNext',
});
var _a = props.align, align = _a === void 0 ? constants_1.TOGGLE_DEFAULT_ALIGN : _a, _b = props.mirrored, mirrored = _b === void 0 ? constants_1.TOGGLE_DEFAULT_MIRRORED : _b, _c = props.size, size = _c === void 0 ? constants_1.TOGGLE_DEFAULT_SIZE : _c, _d = props.variant, variant = _d === void 0 ? constants_1.TOGGLE_DEFAULT_VARIANT : _d, className = props.className, label = props.label, carcassProps = props.carcassProps, hintProps = props.hintProps, renderAfter = props.renderAfter, renderAfterProps = props.renderAfterProps, _e = props.disabled, disabled = _e === void 0 ? constants_1.TOGGLE_DEFAULT_DISABLED : _e, hint = props.hint, checked = props.checked, inputRef = props.inputRef, dataTestid = props.dataTestid, other = tslib_1.__rest(props, ["align", "mirrored", "size", "variant", "className", "label", "carcassProps", "hintProps", "renderAfter", "renderAfterProps", "disabled", "hint", "checked", "inputRef", "dataTestid"]);
return (react_1.default.createElement(FormControlCarcass_1.FormControlCarcass, tslib_1.__assign({}, carcassProps, { ref: ref, size: size, align: align, mirrored: !mirrored, hint: hint, label: label, hintProps: hintProps, disabled: disabled, className: (0, exports.cnToggle)({
disabled: disabled,
mirrored: mirrored,
variant: variant,
size: size,
}, [className]), variant: variant, controlProps: {
className: (0, exports.cnToggle)('Box'),
}, renderAfter: renderAfter, renderAfterProps: renderAfterProps, "data-testid": dataTestid }),
react_1.default.createElement("input", tslib_1.__assign({ type: "checkbox", className: (0, exports.cnToggle)('Input'), disabled: disabled, checked: checked }, other, { ref: inputRef })),
react_1.default.createElement("span", { className: (0, exports.cnToggle)('Switch') })));
});
exports.Toggle.displayName = 'Toggle';