{"version":3,"sources":["../../../components/form/hook-textarea.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 { FormTextarea } from './textarea';\nimport type { FormTextareaProps } from './textarea';\n\nexport function HookFormTextarea<T extends FieldValues>({\n  id,\n  name,\n  rules,\n  label,\n  error,\n  classNames,\n  disabled,\n  ...rest\n}: Omit<FormTextareaProps, 'name' | 'inputProps'> & {\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-textarea', classNames?.wrapper)}>\n      <FormTextarea\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        inputProps={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,iBAAwC,IAarD;AAbqD,eACtD;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAhBF,IASwD,IAQnD,iBARmD,IAQnD;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,uBAAuB,yCAAY,OAAO,KAC3D;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,YAAY,SAAS,MAAM,KAAK;AAAA;AAAA,EAClC,GACC,aAAa,oCAAC,aAAU,OAAO,MAAM,WAAU,QAAO,SAAS,cAAc,CAChF;AAEJ;","names":[]}