{"version":3,"sources":["../../../components/form/hook-native-select.tsx"],"sourcesContent":["\"use client\";\nimport React from 'react';\nimport _get from 'lodash-es/get';\nimport { FieldValues, RegisterOptions, Path, useFormContext } from 'react-hook-form';\nimport { cn } from '../../utils/ui';\nimport { FormError } from './error';\nimport { FormNativeSelect } from './native-select';\nimport type { FormNativeSelectProps } from './native-select';\n\nexport function HookFormNativeSelect<T extends FieldValues>({\n  id,\n  name,\n  rules,\n  label,\n  error,\n  classNames,\n  disabled,\n  ...rest\n}: Omit<FormNativeSelectProps, 'name' | 'selectProps'> & {\n  name: Path<T>;\n  rules?: RegisterOptions<T, Path<T>> | undefined;\n  error?: string;\n}) {\n  const methods = useFormContext<T>();\n  if (!methods) return null;\n\n  const {\n    register,\n    formState: { errors },\n  } = methods;\n\n  const fieldError = _get(errors, name);\n  const errorMessage = error ?? (fieldError && String(fieldError?.message));\n  const showError = !!fieldError && !disabled;\n\n  return (\n    <div className={cn('$hook-form-native-select', classNames?.wrapper)}>\n      <FormNativeSelect\n        id={id}\n        name={name}\n        label={label}\n        disabled={disabled}\n        {...rest}\n        classNames={{\n          label: cn(classNames?.label, {\n            'text-danger': showError,\n          }),\n          input: cn(classNames?.input, {\n            'ring-danger text-danger': showError,\n          }),\n        }}\n        selectProps={register(name, rules)}\n      />\n      {showError && <FormError field={name} className=\"mt-1\" message={errorMessage} />}\n    </div>\n  );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AACA,OAAO,WAAW;AAClB,OAAO,UAAU;AACjB,SAA6C,sBAAsB;AAM5D,SAAS,qBAA4C,IAazD;AAbyD,eAC1D;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAhBF,IAS4D,IAQvD,iBARuD,IAQvD;AAAA,IAPH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAOA,QAAM,UAAU,eAAkB;AAClC,MAAI,CAAC,QAAS,QAAO;AAErB,QAAM;AAAA,IACJ;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,EACtB,IAAI;AAEJ,QAAM,aAAa,KAAK,QAAQ,IAAI;AACpC,QAAM,eAAe,wBAAU,cAAc,OAAO,yCAAY,OAAO;AACvE,QAAM,YAAY,CAAC,CAAC,cAAc,CAAC;AAEnC,SACE,oCAAC,SAAI,WAAW,GAAG,4BAA4B,yCAAY,OAAO,KAChE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACI,OALL;AAAA,MAMC,YAAY;AAAA,QACV,OAAO,GAAG,yCAAY,OAAO;AAAA,UAC3B,eAAe;AAAA,QACjB,CAAC;AAAA,QACD,OAAO,GAAG,yCAAY,OAAO;AAAA,UAC3B,2BAA2B;AAAA,QAC7B,CAAC;AAAA,MACH;AAAA,MACA,aAAa,SAAS,MAAM,KAAK;AAAA;AAAA,EACnC,GACC,aAAa,oCAAC,aAAU,OAAO,MAAM,WAAU,QAAO,SAAS,cAAc,CAChF;AAEJ;","names":[]}