import { jsx } from 'react/jsx-runtime';
import { forwardRef } from 'react';
import { useField, useFormikContext, getIn } from 'formik';
import { dissoc } from 'ramda';
import { S as Slider } from '../Slider-DNcH5X7b.js';
import '../primitives/Slider.js';
import '../utils-BJnb9o5c.js';
import '../index-BfAAoDv6.js';
import '../index-DNzunGHb.js';
import '../index-BtkPdosV.js';
import '../index-CiyxEyB0.js';
import '../index-Cor698lu.js';
import '../index-DOzu5J1s.js';
import '../index-d0BBQf5t.js';
import '../index-30QpKM0j.js';
import '../index-BYZaLNq1.js';
import '../index-DhnfW8wQ.js';
import 'react-dom';
import '../index-Dd1i1d2M.js';
import '../primitives/Field.js';
import '../index-Bo3AAQJp.js';
import '../label-BgLSVt4u.js';
import '../separator-ByRsc-y-.js';

const FormikSlider = forwardRef(
  ({
    name,
    onValueChange: onValueChangeProp,
    onChange: onChangeProp,
    ...otherProps
  }, ref) => {
    const [field, meta, { setValue, setTouched }] = useField(name);
    const { status = {}, setStatus } = useFormikContext();
    const fieldStatus = getIn(status, name);
    return /* @__PURE__ */ jsx(
      Slider,
      {
        ref,
        error: meta.error || fieldStatus || "",
        name: field.name,
        value: field.value,
        onBlur: () => setTouched(true),
        onValueChange: (value) => {
          setStatus(dissoc(name, status));
          setValue(value);
          onValueChangeProp?.(value);
          onChangeProp?.(value);
        },
        ...otherProps
      }
    );
  }
);
FormikSlider.displayName = "FormikSlider";

export { FormikSlider };
//# sourceMappingURL=Slider.js.map
