{"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 previousValue = useRef(value);\n  const previousDisplayName = useRef(modifiedData?.displayName || '');\n  const displayName = modifiedData?.displayName || '';\n\n  useEffect(() => {\n    if (displayName && displayName !== previousDisplayName.current) {\n      const newValue = nameToSlug(displayName);\n      onChangeRef.current({ target: { name, value: newValue } });\n      previousValue.current = newValue;\n      previousDisplayName.current = displayName;\n    } else if (!displayName) {\n      onChangeRef.current({ target: { name, value: '' } });\n      previousValue.current = '';\n      previousDisplayName.current = '';\n    }\n  }, [displayName, name, value]);\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","previousValue","previousDisplayName","displayName","useEffect","current","newValue","nameToSlug","target","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;AAC3B,IAAA,MAAMM,gBAAgBD,MAAOJ,CAAAA,KAAAA,CAAAA;IAC7B,MAAMM,mBAAAA,GAAsBF,MAAOP,CAAAA,YAAAA,EAAcU,WAAe,IAAA,EAAA,CAAA;IAChE,MAAMA,WAAAA,GAAcV,cAAcU,WAAe,IAAA,EAAA;IAEjDC,SAAU,CAAA,IAAA;AACR,QAAA,IAAID,WAAeA,IAAAA,WAAAA,KAAgBD,mBAAoBG,CAAAA,OAAO,EAAE;AAC9D,YAAA,MAAMC,WAAWC,UAAWJ,CAAAA,WAAAA,CAAAA;AAC5BJ,YAAAA,WAAAA,CAAYM,OAAO,CAAC;gBAAEG,MAAQ,EAAA;AAAEd,oBAAAA,IAAAA;oBAAME,KAAOU,EAAAA;AAAS;AAAE,aAAA,CAAA;AACxDL,YAAAA,aAAAA,CAAcI,OAAO,GAAGC,QAAAA;AACxBJ,YAAAA,mBAAAA,CAAoBG,OAAO,GAAGF,WAAAA;SACzB,MAAA,IAAI,CAACA,WAAa,EAAA;AACvBJ,YAAAA,WAAAA,CAAYM,OAAO,CAAC;gBAAEG,MAAQ,EAAA;AAAEd,oBAAAA,IAAAA;oBAAME,KAAO,EAAA;AAAG;AAAE,aAAA,CAAA;AAClDK,YAAAA,aAAAA,CAAcI,OAAO,GAAG,EAAA;AACxBH,YAAAA,mBAAAA,CAAoBG,OAAO,GAAG,EAAA;AAChC;KACC,EAAA;AAACF,QAAAA,WAAAA;AAAaT,QAAAA,IAAAA;AAAME,QAAAA;AAAM,KAAA,CAAA;IAE7B,MAAMa,YAAAA,GAAelB,QAAQM,aAAc,CAAA;QAAEa,EAAInB,EAAAA,KAAAA;QAAOoB,cAAgBpB,EAAAA;KAAW,CAAA,GAAA,EAAA;IACnF,MAAMqB,IAAAA,GAAOtB,cACTO,aACE,CAAA;AAAEa,QAAAA,EAAAA,EAAIpB,YAAYoB,EAAE;AAAEC,QAAAA,cAAAA,EAAgBrB,YAAYqB;KAClD,EAAA;AAAE,QAAA,GAAGrB,YAAYuB;KAEnB,CAAA,GAAA,EAAA;AACJ,IAAA,MAAMC,QAAQjB,aAAcL,CAAAA,SAAAA,CAAAA;IAE5B,qBACEuB,IAAA,CAACC,MAAMC,IAAI,EAAA;QAAC1B,KAAOkB,EAAAA,YAAAA;QAAcG,IAAMA,EAAAA,IAAAA;QAAMlB,IAAMA,EAAAA,IAAAA;;AACjD,0BAAAwB,GAAA,CAACF,MAAMG,KAAK,EAAA;AAAEL,gBAAAA,QAAAA,EAAAA;;0BACdI,GAACE,CAAAA,SAAAA,EAAAA;gBAAUzB,QAAUA,EAAAA,QAAAA;AAAUC,gBAAAA,KAAAA,EAAOA,KAAS,IAAA;;AAC/C,0BAAAsB,GAAA,CAACF,MAAMK,KAAK,EAAA,EAAA,CAAA;AACZ,0BAAAH,GAAA,CAACF,MAAMM,IAAI,EAAA,EAAA;;;AAGjB;;;;"}