{"version":3,"file":"index.mjs","names":["clsx","ComponentProps","ReactNode","RefObject","ThemeColor","TextareaProps","Omit","variant","color","action","prefix","suffix","prefixClassName","suffixClassName","ref","HTMLTextAreaElement","Textarea","t0","$","_c","className","readOnly","rest","t1","t2","t3","disabled","undefined","t4","Symbol","for","t5","t6","t7","e","target","select","t8","t9","t10","t11","t12","useField","FieldName","Field","FieldProps","Textarea","TextareaProps","Props","Omit","Pick","name","textareaClassName","TextareaField","t0","$","_c","forcedId","prefix","prefixClassName","rest","suffix","suffixClassName","id","field","t1","defaultValue","t2","errors"],"sources":["../../../../src/components/fields/textarea/Textarea.tsx","../../../../src/components/fields/textarea/TextareaField.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { ComponentProps, ReactNode, RefObject } from \"react\";\nimport type { ThemeColor } from \"../../../types\";\n\nexport interface TextareaProps extends Omit<ComponentProps<\"textarea\">, \"prefix\"> {\n  variant?: \"normal\" | \"ghost\";\n  color?: ThemeColor;\n  action?: ReactNode;\n  prefix?: ReactNode;\n  suffix?: ReactNode;\n  prefixClassName?: string;\n  suffixClassName?: string;\n  ref?: RefObject<HTMLTextAreaElement>;\n}\n\nexport function Textarea({\n  variant = \"normal\",\n  color = \"yellow\",\n  disabled = false,\n  className,\n  readOnly,\n  action,\n  prefix,\n  suffix,\n  prefixClassName,\n  suffixClassName,\n  ref,\n  ...rest\n}: TextareaProps) {\n  return (\n    <div\n      data-color={color}\n      data-variant={variant}\n      aria-disabled={disabled}\n      aria-readonly={readOnly}\n      className={clsx(\"p8n-textarea relative flex rounded-2xl h-min min-h-8\")}\n    >\n      {prefix && (\n        <div\n          className={clsx([\n            \"relative\",\n            typeof prefix === \"string\" &&\n              \"text-gray-6 px-2 pt-2 select-none border-r border-r-custom-2\",\n            prefixClassName,\n          ])}\n        >\n          {prefix}\n        </div>\n      )}\n      <textarea\n        ref={ref}\n        className={clsx(\n          \"w-full min-w-0 flex-1 appearance-none bg-transparent p-2 outline-hidden filter-none\",\n          className,\n        )}\n        readOnly={readOnly}\n        onFocus={(e) => {\n          if (readOnly) {\n            e.target.select();\n          }\n        }}\n        {...(disabled ? { disabled } : {})}\n        {...rest}\n      />\n      {suffix && (\n        <div\n          className={clsx([\n            \"relative\",\n            typeof suffix === \"string\" &&\n              \"text-gray-6 mx-2 mt-2 select-none border-l border-l-custom-2 pl-1\",\n            suffixClassName,\n          ])}\n        >\n          {suffix}\n        </div>\n      )}\n      {action && <div className=\"absolute top-1 right-1\">{action}</div>}\n    </div>\n  );\n}\n","import { useField, type FieldName } from \"@conform-to/react/future\";\nimport { Field, type FieldProps } from \"../field/Field\";\nimport { Textarea, type TextareaProps } from \"./Textarea\";\n\ntype Props = Omit<FieldProps, \"errors\" | \"children\" | \"group\"> &\n  Pick<TextareaProps, \"prefix\" | \"suffix\" | \"prefixClassName\" | \"suffixClassName\"> & {\n    name: FieldName<string | null | undefined>;\n    textareaClassName?: string;\n  };\n\nexport function TextareaField({\n  name,\n  textareaClassName,\n  prefix,\n  suffix,\n  prefixClassName,\n  suffixClassName,\n  id: forcedId,\n  ...rest\n}: Props) {\n  const field = useField(name);\n  const id = forcedId ?? field.id;\n\n  return (\n    <Field id={id} errors={field.errors} data-testid={field.name} {...rest}>\n      <Textarea\n        name={field.name}\n        defaultValue={field.defaultValue}\n        className={textareaClassName}\n        prefix={prefix}\n        suffix={suffix}\n        prefixClassName={prefixClassName}\n        suffixClassName={suffixClassName}\n      />\n    </Field>\n  );\n}\n"],"mappings":"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"}