@aokiapp/rjsf-mantine-theme
Version:
Mantine theme, fields and widgets for react-jsonschema-form
69 lines (64 loc) • 1.8 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var jsxRuntime = require('react/jsx-runtime');
var core = require('@mantine/core');
var utils = require('@rjsf/utils');
var react = require('react');
var createErrors = require('../utils/createErrors.cjs');
var FieldTemplate = require('../templates/FieldTemplate.cjs');
function RangeWidget(props) {
const {
id,
label,
hideLabel,
value,
required,
readonly,
disabled,
onChange,
onChangeOverride,
onBlur,
autofocus,
options,
schema,
type,
rawErrors,
hideError
} = props;
if (!id) {
console.log("No id for", props);
throw new Error(`no id for props ${JSON.stringify(props)}`);
}
const inputProps = utils.getInputProps(schema, type, options);
const _onChange = react.useCallback(
(value2) => onChange(value2 === 0 ? options.emptyValue : value2),
[onChange, options]
);
const _onBlur = react.useCallback((value2) => onBlur(id, value2), [onBlur, id]);
const { description } = FieldTemplate.useFieldContext();
return /* @__PURE__ */ jsxRuntime.jsx(
core.Input.Wrapper,
{
label: utils.labelValue(label, hideLabel),
description,
id,
error: createErrors.createErrors(rawErrors, hideError),
required,
className: "armt-widget-range",
children: /* @__PURE__ */ jsxRuntime.jsx(
core.Slider,
{
disabled: disabled || readonly,
autoFocus: autofocus,
value,
onChange: onChangeOverride || _onChange,
onChangeEnd: _onBlur,
...inputProps,
step: inputProps.step === "any" ? void 0 : inputProps.step
}
)
}
);
}
exports.default = RangeWidget;
//# sourceMappingURL=RangeWidget.cjs.map