UNPKG

@aokiapp/rjsf-mantine-theme

Version:

Mantine theme, fields and widgets for react-jsonschema-form

69 lines (64 loc) 1.8 kB
'use strict'; 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