{"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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"}