UNPKG

@aokiapp/rjsf-mantine-theme

Version:

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

79 lines (74 loc) 2.1 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 UpDownWidget(props) { const { id, placeholder, label, hideLabel, value, required, readonly, disabled, onChange, onChangeOverride, onBlur, onFocus, autofocus, options, schema, rawErrors, className, hideError } = props; if (!id) { console.log("No id for", props); throw new Error(`no id for props ${JSON.stringify(props)}`); } const overrideProps = typeof options["props"] === "object" ? options["props"] : {}; const _onChange = react.useCallback( (e) => { const callTarget = onChangeOverride || onChange; callTarget(e); }, [onChangeOverride, onChange] ); const _onBlur = react.useCallback(({ target: { value: value2 } }) => onBlur(id, value2), [onBlur, id]); const _onFocus = react.useCallback( ({ target: { value: value2 } }) => onFocus(id, value2), [onFocus, id] ); const { description } = FieldTemplate.useFieldContext(); const inputValue = value || value === 0 ? value : ""; return /* @__PURE__ */ jsxRuntime.jsx( core.NumberInput, { id, placeholder, description, max: schema.maximum, min: schema.minimum, label: utils.labelValue(label, hideLabel, void 0), required, autoFocus: autofocus, disabled: disabled || readonly, value: inputValue, error: createErrors.createErrors(rawErrors, hideError), onChange: _onChange, onBlur: _onBlur, onFocus: _onFocus, "aria-describedby": utils.ariaDescribedByIds(id, !!schema.examples), className: `armt-widget-updown ${className || ""}`, ...overrideProps }, id ); } exports.default = UpDownWidget; //# sourceMappingURL=UpDownWidget.cjs.map