{"version":3,"file":"TextArea.mjs","sourceRoot":"","sources":["../../../src/components/TextArea/TextArea.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,QAAO,EAAE,UAAU,EAAE,cAAc;;AAE1C,OAAO,EAAE,OAAO,EAAE,iCAA6B;AAE/C,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,iCAA6B;AAGhF,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAChC,CACE,EACE,KAAK,EACL,WAAW,EACX,SAAS,GAAG,KAAK,EACjB,UAAU,GAAG,KAAK,EAClB,UAAU,GAAG,KAAK,EAClB,OAAO,GAAG,KAAK,EACf,MAAM,EACN,QAAQ,EACR,OAAO,EACP,MAAM,GAAG,cAAc,CAAC,IAAI,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,iBAAiB,GAAG,OAAO,CAC/B,4GAA4G,EAC5G,+HAA+H,EAC/H,8BAA8B,EAC9B,wBAAwB,CAAC,MAAM,CAAC,EAChC,cAAc,EACd,UAAU,IAAI,4CAA4C,EAC1D,CAAC,UAAU,IAAI,OAAO,IAAI,sBAAsB,EAChD,CAAC,UAAU;QACT,CAAC,OAAO;QACR,mDAAmD,EACrD,SAAS,CACV,CAAC;IAEF,OAAO,CACL,qCACM,KAAK,EACT,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,SAAS,kBACN,OAAO,IAAI,SAAS,EAClC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACd,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC","sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { twMerge } from '../../utils/tw-merge';\n\nimport { CLASSMAP_TEXTAREA_RESIZE, TextAreaResize } from './TextArea.constants';\nimport type { TextAreaProps } from './TextArea.types';\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n  (\n    {\n      value,\n      placeholder,\n      autoFocus = false,\n      isDisabled = false,\n      isReadOnly = false,\n      isError = false,\n      onBlur,\n      onChange,\n      onFocus,\n      resize = TextAreaResize.None,\n      className,\n      ...props\n    },\n    ref,\n  ) => {\n    const textAreaClassName = twMerge(\n      'm-0 block min-h-24 w-full rounded-lg border bg-muted px-4 py-3 text-default outline-none transition-colors',\n      'text-s-body-md font-regular leading-s-body-md tracking-s-body-md md:text-l-body-md md:leading-l-body-md md:tracking-l-body-md',\n      'placeholder:text-alternative',\n      CLASSMAP_TEXTAREA_RESIZE[resize],\n      'border-muted',\n      isDisabled && 'cursor-not-allowed border-muted opacity-50',\n      !isDisabled && isError && 'border-error-default',\n      !isDisabled &&\n        !isError &&\n        'focus:border-default read-only:focus:border-muted',\n      className,\n    );\n\n    return (\n      <textarea\n        {...props}\n        ref={ref}\n        value={value}\n        placeholder={placeholder}\n        className={textAreaClassName}\n        disabled={isDisabled}\n        readOnly={isReadOnly}\n        autoFocus={autoFocus}\n        aria-invalid={isError || undefined}\n        onChange={onChange}\n        onFocus={onFocus}\n        onBlur={onBlur}\n      />\n    );\n  },\n);\n\nTextArea.displayName = 'TextArea';\n"]}