@aokiapp/rjsf-mantine-theme
Version:
Mantine theme, fields and widgets for react-jsonschema-form
64 lines (59 loc) • 1.65 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var jsxRuntime = require('react/jsx-runtime');
var utils = require('@rjsf/utils');
var react = require('react');
var core = require('@mantine/core');
var createErrors = require('../utils/createErrors.cjs');
var FieldTemplate = require('../templates/FieldTemplate.cjs');
function CheckboxWidget(props) {
const {
id,
value,
disabled,
readonly,
label = "",
hideLabel,
autofocus,
onChange,
onBlur,
onFocus,
schema,
rawErrors,
hideError
} = props;
const required = utils.schemaRequiresTrueValue(schema);
const handleChange = react.useCallback(
(event) => onChange(event.target.checked),
[onChange]
);
const handleBlur = react.useCallback(
(event) => onBlur(id, event.target.checked),
[onBlur, id]
);
const handleFocus = react.useCallback(
(event) => onFocus(id, event.target.checked),
[onFocus, id]
);
const { description } = FieldTemplate.useFieldContext();
return /* @__PURE__ */ jsxRuntime.jsx(
core.Checkbox,
{
description,
id,
label: utils.labelValue(label, hideLabel),
required,
disabled: disabled || readonly,
autoFocus: autofocus,
onChange: handleChange,
onBlur: handleBlur,
onFocus: handleFocus,
error: createErrors.createErrors(rawErrors, hideError),
"aria-describedby": utils.ariaDescribedByIds(id),
checked: typeof value === "undefined" ? false : value,
className: "armt-widget-checkbox"
}
);
}
exports.default = CheckboxWidget;
//# sourceMappingURL=CheckboxWidget.cjs.map