{"version":3,"sources":["../components/form/text-input.tsx"],"sourcesContent":["\"use client\";\nimport React, { InputHTMLAttributes } from 'react';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport { cn } from '../../utils/ui';\nimport { Label } from '../ui/label';\nimport { Input } from '../ui/input';\n\ninterface InputProps extends InputHTMLAttributes<HTMLInputElement> {}\n\nconst inputClass = '';\n\nexport interface FormTextInputProps extends InputProps {\n  id?: string;\n  name: string;\n  label?: string;\n  inputProps?: InputProps;\n  classNames?: {\n    wrapper?: string;\n    label?: string;\n    input?: string;\n  };\n}\n\nexport function FormTextInput({\n  id,\n  name,\n  label,\n  type = 'text',\n  classNames,\n  required,\n  disabled,\n  inputProps = {},\n  ...rest\n}: FormTextInputProps) {\n  if (!id) id = _kebabCase(name);\n\n  return (\n    <div className={cn('$form-text-input space-y-1', classNames?.wrapper)}>\n      {label && (\n        <Label htmlFor={id} className={classNames?.label} required={required}>\n          {label}\n        </Label>\n      )}\n\n      <Input\n        type={type}\n        id={id}\n        name={name}\n        required={required}\n        disabled={disabled}\n        autoComplete=\"off\"\n        {...inputProps}\n        {...rest}\n        className={cn(inputClass, classNames?.input)}\n      />\n    </div>\n  );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AACA,OAAO,WAAoC;AAC3C,OAAO,gBAAgB;AAOvB,IAAM,aAAa;AAcZ,SAAS,cAAc,IAUP;AAVO,eAC5B;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,CAAC;AAAA,EA/BhB,IAuB8B,IASzB,iBATyB,IASzB;AAAA,IARH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,MAAI,CAAC,GAAI,MAAK,WAAW,IAAI;AAE7B,SACE,oCAAC,SAAI,WAAW,GAAG,8BAA8B,yCAAY,OAAO,KACjE,SACC,oCAAC,SAAM,SAAS,IAAI,WAAW,yCAAY,OAAO,YAC/C,KACH,GAGF;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAa;AAAA,OACT,aACA,OARL;AAAA,MASC,WAAW,GAAG,YAAY,yCAAY,KAAK;AAAA;AAAA,EAC7C,CACF;AAEJ;","names":[]}