{"version":3,"file":"SingularName.mjs","sources":["../../../admin/src/components/SingularName.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { Field, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { nameToSlug } from '../utils/nameToSlug';\n\nimport type { IntlLabel } from '../types';\n\ninterface SingularNameProps {\n  description?: IntlLabel | null;\n  error?: string | null;\n  intlLabel: IntlLabel;\n  modifiedData: Record<string, any>;\n  name: string;\n  onChange: (value: { target: { name: string; value: string } }) => void;\n  value?: string | null;\n}\n\nexport const SingularName = ({\n  description = null,\n  error = null,\n  intlLabel,\n  modifiedData,\n  name,\n  onChange,\n  value = null,\n}: SingularNameProps) => {\n  const { formatMessage } = useIntl();\n  const onChangeRef = useRef(onChange);\n  const displayName = modifiedData?.displayName || '';\n\n  useEffect(() => {\n    if (displayName) {\n      onChangeRef.current({ target: { name, value: nameToSlug(displayName) } });\n    } else {\n      onChangeRef.current({ target: { name, value: '' } });\n    }\n  }, [displayName, name]);\n\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\n  return (\n    <Field.Root error={errorMessage} hint={hint} name={name}>\n      <Field.Label>{label}</Field.Label>\n      <TextInput onChange={onChange} value={value || ''} />\n      <Field.Error />\n      <Field.Hint />\n    </Field.Root>\n  );\n};\n"],"names":["SingularName","description","error","intlLabel","modifiedData","name","onChange","value","formatMessage","useIntl","onChangeRef","useRef","displayName","useEffect","current","target","nameToSlug","errorMessage","id","defaultMessage","hint","values","label","_jsxs","Field","Root","_jsx","Label","TextInput","Error","Hint"],"mappings":";;;;;;AAmBO,MAAMA,eAAe,CAAC,EAC3BC,cAAc,IAAI,EAClBC,QAAQ,IAAI,EACZC,SAAS,EACTC,YAAY,EACZC,IAAI,EACJC,QAAQ,EACRC,KAAAA,GAAQ,IAAI,EACM,GAAA;IAClB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,cAAcC,MAAOL,CAAAA,QAAAA,CAAAA;IAC3B,MAAMM,WAAAA,GAAcR,cAAcQ,WAAe,IAAA,EAAA;IAEjDC,SAAU,CAAA,IAAA;AACR,QAAA,IAAID,WAAa,EAAA;AACfF,YAAAA,WAAAA,CAAYI,OAAO,CAAC;gBAAEC,MAAQ,EAAA;AAAEV,oBAAAA,IAAAA;AAAME,oBAAAA,KAAAA,EAAOS,UAAWJ,CAAAA,WAAAA;AAAa;AAAE,aAAA,CAAA;SAClE,MAAA;AACLF,YAAAA,WAAAA,CAAYI,OAAO,CAAC;gBAAEC,MAAQ,EAAA;AAAEV,oBAAAA,IAAAA;oBAAME,KAAO,EAAA;AAAG;AAAE,aAAA,CAAA;AACpD;KACC,EAAA;AAACK,QAAAA,WAAAA;AAAaP,QAAAA;AAAK,KAAA,CAAA;IAEtB,MAAMY,YAAAA,GAAef,QAAQM,aAAc,CAAA;QAAEU,EAAIhB,EAAAA,KAAAA;QAAOiB,cAAgBjB,EAAAA;KAAW,CAAA,GAAA,EAAA;IACnF,MAAMkB,IAAAA,GAAOnB,cACTO,aACE,CAAA;AAAEU,QAAAA,EAAAA,EAAIjB,YAAYiB,EAAE;AAAEC,QAAAA,cAAAA,EAAgBlB,YAAYkB;KAClD,EAAA;AAAE,QAAA,GAAGlB,YAAYoB;KAEnB,CAAA,GAAA,EAAA;AACJ,IAAA,MAAMC,QAAQd,aAAcL,CAAAA,SAAAA,CAAAA;IAE5B,qBACEoB,IAAA,CAACC,MAAMC,IAAI,EAAA;QAACvB,KAAOe,EAAAA,YAAAA;QAAcG,IAAMA,EAAAA,IAAAA;QAAMf,IAAMA,EAAAA,IAAAA;;AACjD,0BAAAqB,GAAA,CAACF,MAAMG,KAAK,EAAA;AAAEL,gBAAAA,QAAAA,EAAAA;;0BACdI,GAACE,CAAAA,SAAAA,EAAAA;gBAAUtB,QAAUA,EAAAA,QAAAA;AAAUC,gBAAAA,KAAAA,EAAOA,KAAS,IAAA;;AAC/C,0BAAAmB,GAAA,CAACF,MAAMK,KAAK,EAAA,EAAA,CAAA;AACZ,0BAAAH,GAAA,CAACF,MAAMM,IAAI,EAAA,EAAA;;;AAGjB;;;;"}