{"version":3,"file":"TextareaEnum.mjs","sources":["../../../admin/src/components/TextareaEnum.tsx"],"sourcesContent":["import { ReactNode, ChangeEvent } from 'react';\n\nimport { Field, Textarea } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport type { IntlLabel } from '../types';\n\ninterface TextareaEnumProps {\n  description?: IntlLabel | null;\n  disabled?: boolean;\n  error?: string;\n  intlLabel: IntlLabel;\n  labelAction?: ReactNode;\n  name: string;\n  onChange: (value: { target: { name: string; value: string | string[] } }) => void;\n  placeholder?: IntlLabel | null;\n  value: string | string[] | undefined;\n}\n\nexport const TextareaEnum = ({\n  description = null,\n  disabled = false,\n  error = '',\n  intlLabel,\n  labelAction,\n  name,\n  onChange,\n  placeholder = null,\n  value = '',\n}: TextareaEnumProps) => {\n  const { formatMessage } = useIntl();\n  const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n  const hint = description\n    ? formatMessage(\n        { id: description.id, defaultMessage: description.defaultMessage },\n        { ...description.values }\n      )\n    : '';\n  const label = formatMessage(intlLabel);\n  const formattedPlaceholder = placeholder\n    ? formatMessage(\n        { id: placeholder.id, defaultMessage: placeholder.defaultMessage },\n        { ...placeholder.values }\n      )\n    : '';\n\n  const inputValue = Array.isArray(value) ? value.join('\\n') : '';\n\n  const handleChange = (e: ChangeEvent<HTMLTextAreaElement>) => {\n    const arrayValue = e.target.value.split('\\n');\n\n    onChange({ target: { name, value: arrayValue } });\n  };\n\n  return (\n    <Field.Root error={errorMessage} hint={hint} name={name}>\n      <Field.Label action={labelAction}>{label}</Field.Label>\n      <Textarea\n        disabled={disabled}\n        onChange={handleChange}\n        placeholder={formattedPlaceholder}\n        value={inputValue}\n      />\n      <Field.Error />\n      <Field.Hint />\n    </Field.Root>\n  );\n};\n"],"names":["TextareaEnum","description","disabled","error","intlLabel","labelAction","name","onChange","placeholder","value","formatMessage","useIntl","errorMessage","id","defaultMessage","hint","values","label","formattedPlaceholder","inputValue","Array","isArray","join","handleChange","e","arrayValue","target","split","_jsxs","Field","Root","_jsx","Label","action","Textarea","Error","Hint"],"mappings":";;;;AAmBO,MAAMA,YAAAA,GAAe,CAAC,EAC3BC,WAAAA,GAAc,IAAI,EAClBC,QAAAA,GAAW,KAAK,EAChBC,KAAAA,GAAQ,EAAE,EACVC,SAAS,EACTC,WAAW,EACXC,IAAI,EACJC,QAAQ,EACRC,WAAAA,GAAc,IAAI,EAClBC,KAAAA,GAAQ,EAAE,EACQ,GAAA;IAClB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAMC,YAAAA,GAAeT,QAAQO,aAAAA,CAAc;QAAEG,EAAAA,EAAIV,KAAAA;QAAOW,cAAAA,EAAgBX;KAAM,CAAA,GAAK,EAAA;IACnF,MAAMY,IAAAA,GAAOd,cACTS,aAAAA,CACE;AAAEG,QAAAA,EAAAA,EAAIZ,YAAYY,EAAE;AAAEC,QAAAA,cAAAA,EAAgBb,YAAYa;KAAe,EACjE;AAAE,QAAA,GAAGb,YAAYe;KAAO,CAAA,GAE1B,EAAA;AACJ,IAAA,MAAMC,QAAQP,aAAAA,CAAcN,SAAAA,CAAAA;IAC5B,MAAMc,oBAAAA,GAAuBV,cACzBE,aAAAA,CACE;AAAEG,QAAAA,EAAAA,EAAIL,YAAYK,EAAE;AAAEC,QAAAA,cAAAA,EAAgBN,YAAYM;KAAe,EACjE;AAAE,QAAA,GAAGN,YAAYQ;KAAO,CAAA,GAE1B,EAAA;IAEJ,MAAMG,UAAAA,GAAaC,MAAMC,OAAO,CAACZ,SAASA,KAAAA,CAAMa,IAAI,CAAC,IAAA,CAAA,GAAQ,EAAA;AAE7D,IAAA,MAAMC,eAAe,CAACC,CAAAA,GAAAA;AACpB,QAAA,MAAMC,aAAaD,CAAAA,CAAEE,MAAM,CAACjB,KAAK,CAACkB,KAAK,CAAC,IAAA,CAAA;QAExCpB,QAAAA,CAAS;YAAEmB,MAAAA,EAAQ;AAAEpB,gBAAAA,IAAAA;gBAAMG,KAAAA,EAAOgB;AAAW;AAAE,SAAA,CAAA;AACjD,IAAA,CAAA;IAEA,qBACEG,IAAA,CAACC,MAAMC,IAAI,EAAA;QAAC3B,KAAAA,EAAOS,YAAAA;QAAcG,IAAAA,EAAMA,IAAAA;QAAMT,IAAAA,EAAMA,IAAAA;;AACjD,0BAAAyB,GAAA,CAACF,MAAMG,KAAK,EAAA;gBAACC,MAAAA,EAAQ5B,WAAAA;AAAcY,gBAAAA,QAAAA,EAAAA;;0BACnCc,GAAA,CAACG,QAAAA,EAAAA;gBACChC,QAAAA,EAAUA,QAAAA;gBACVK,QAAAA,EAAUgB,YAAAA;gBACVf,WAAAA,EAAaU,oBAAAA;gBACbT,KAAAA,EAAOU;;AAET,0BAAAY,GAAA,CAACF,MAAMM,KAAK,EAAA,EAAA,CAAA;AACZ,0BAAAJ,GAAA,CAACF,MAAMO,IAAI,EAAA,EAAA;;;AAGjB;;;;"}