import { jsx } from 'react/jsx-runtime';
import { forwardRef } from 'react';
import { useField, useFormikContext, getIn } from 'formik';
import { dissoc } from 'ramda';
import { T as TreeSelect } from '../TreeSelect-BwF2rY6f.js';
import '../utils-BJnb9o5c.js';
import '../primitives/Popover.js';
import '../index-DNzunGHb.js';
import '../index-BtkPdosV.js';
import '../index-CiyxEyB0.js';
import '../index-BNPynZWM.js';
import '../index-DhnfW8wQ.js';
import 'react-dom';
import '../index-CSUSJzOJ.js';
import '../index-Jr4soqx3.js';
import '../index-zW4GjM5L.js';
import '../index-DOzu5J1s.js';
import '../index-C3hByjk3.js';
import '../floating-ui.react-dom-D8_f_WWh.js';
import '../index-BYZaLNq1.js';
import '../index-fV_U4ZJM.js';
import '../index-yFgkK_AM.js';
import '../index-Cor698lu.js';
import '../SelectFieldWrapper-CiBARDsn.js';
import '../primitives/Field.js';
import '../HelpIcon-Cm3ZgoCx.js';
import '../primitives/Tooltip.js';
import '../tooltip-ChQ9xD1j.js';
import '../index-CSggBaQF.js';
import '../renderIcon-C6twJSqH.js';
import '../createLucideIcon-C8ycilSN.js';
import '../Popover-C1FNlRtU.js';
import '../index-Bo3AAQJp.js';
import '../primitives/HoverCard.js';
import '../Typography-CmILccNh.js';
import '../index-CfriMyrd.js';
import '../Button-DV9xCqlc.js';
import 'react-router-dom';
import '../primitives/Button.js';
import '../button-CrEMzWKw.js';
import '../primitives/Spinner.js';
import 'react-i18next';
import '../loader-circle-DycHUAWN.js';
import '../label-YEsizr2c.js';
import '../separator-ByRsc-y-.js';
import '../Tree-BlzjThRi.js';
import '../chevron-down-BNi0ntys.js';
import '../chevron-right-DQnrO-ek.js';
import '../primitives/Checkbox.js';
import '../check-Cpkv29p1.js';
import '../index-30QpKM0j.js';
import '../index-DZXbzIgC.js';
import '../index-CSMSzzKM.js';
import '../redux-BKH6DnBB.js';
import '../x-_o2T3n6D.js';

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

export { FormikTreeSelect };
//# sourceMappingURL=TreeSelect.js.map
