{"version":3,"file":"SelectNumber.mjs","sources":["../../../admin/src/components/SelectNumber.tsx"],"sourcesContent":["import { SingleSelectOption, SingleSelect, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\ntype SelectNumberProps = {\n  intlLabel: {\n    id: string;\n    defaultMessage: string;\n    values?: object;\n  };\n  error?: string;\n  modifiedData: {\n    default: number;\n    max: number;\n    min: number;\n  };\n  name: string;\n  onChange: (value: {\n    target: {\n      name: string;\n      value: string | number | null;\n      type?: string;\n    };\n  }) => void;\n  options: Array<{\n    metadatas: {\n      intlLabel: {\n        id: string;\n        defaultMessage: string;\n      };\n      disabled?: boolean;\n      hidden?: boolean;\n    };\n    key: string | number;\n    value: string | number;\n  }>;\n  value?: string;\n};\n\nexport const SelectNumber = ({\n  intlLabel,\n  error = undefined,\n  modifiedData,\n  name,\n  onChange,\n  options,\n  value = '',\n}: SelectNumberProps) => {\n  const { formatMessage } = useIntl();\n  const label = formatMessage(intlLabel);\n  const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n\n  const handleChange = (nextValue: string | number) => {\n    onChange({ target: { name, value: nextValue, type: 'select' } });\n\n    if (!value) {\n      return;\n    }\n\n    if (nextValue === 'biginteger' && value !== 'biginteger') {\n      if (modifiedData.default !== undefined && modifiedData.default !== null) {\n        onChange({ target: { name: 'default', value: null } });\n      }\n\n      if (modifiedData.max !== undefined && modifiedData.max !== null) {\n        onChange({ target: { name: 'max', value: null } });\n      }\n\n      if (modifiedData.min !== undefined && modifiedData.min !== null) {\n        onChange({ target: { name: 'min', value: null } });\n      }\n    }\n\n    if (\n      typeof nextValue === 'string' &&\n      ['decimal', 'float', 'integer'].includes(nextValue) &&\n      value === 'biginteger'\n    ) {\n      if (modifiedData.default !== undefined && modifiedData.default !== null) {\n        onChange({ target: { name: 'default', value: null } });\n      }\n\n      if (modifiedData.max !== undefined && modifiedData.max !== null) {\n        onChange({ target: { name: 'max', value: null } });\n      }\n\n      if (modifiedData.min !== undefined && modifiedData.min !== null) {\n        onChange({ target: { name: 'min', value: null } });\n      }\n    }\n  };\n\n  return (\n    <Field.Root error={errorMessage} name={name}>\n      <Field.Label>{label}</Field.Label>\n      <SingleSelect onChange={handleChange} value={value || ''}>\n        {options.map(({ metadatas: { intlLabel, disabled, hidden }, key, value }) => {\n          return (\n            <SingleSelectOption key={key} value={value} disabled={disabled} hidden={hidden}>\n              {formatMessage(intlLabel)}\n            </SingleSelectOption>\n          );\n        })}\n      </SingleSelect>\n      <Field.Error />\n    </Field.Root>\n  );\n};\n"],"names":["SelectNumber","intlLabel","error","undefined","modifiedData","name","onChange","options","value","formatMessage","useIntl","label","errorMessage","id","defaultMessage","handleChange","nextValue","target","type","default","max","min","includes","_jsxs","Field","Root","_jsx","Label","SingleSelect","map","metadatas","disabled","hidden","key","SingleSelectOption","Error"],"mappings":"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"}