{"version":3,"file":"CheckboxWithNumberField.mjs","sources":["../../../admin/src/components/CheckboxWithNumberField.tsx"],"sourcesContent":["import { Box, Checkbox, Field, Flex, NumberInput, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { parseNumberInputValue } from '../utils/parseNumberInputValue';\n\nimport type { FormChangeHandler, IntlLabel } from '../types';\n\ninterface CheckboxWithNumberFieldProps {\n  error?: string;\n  intlLabel: IntlLabel;\n  modifiedData: { type?: string };\n  name: string;\n  onChange: FormChangeHandler<string | number | null>;\n  value?: string | number | null;\n}\n\nexport const CheckboxWithNumberField = ({\n  error,\n  intlLabel,\n  modifiedData,\n  name,\n  onChange,\n  value = null,\n}: CheckboxWithNumberFieldProps) => {\n  const { formatMessage } = useIntl();\n  const label = intlLabel.id\n    ? formatMessage(\n        { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n        { ...intlLabel.values }\n      )\n    : name;\n\n  const type = modifiedData.type === 'biginteger' ? 'text' : 'number';\n\n  const disabled = !modifiedData.type;\n  const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n\n  return (\n    <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n      <Checkbox\n        id={name}\n        name={name}\n        onCheckedChange={(value) => {\n          const initValue = type === 'text' ? '0' : 0;\n          const nextValue = value ? initValue : null;\n\n          onChange({ target: { name, value: nextValue } });\n        }}\n        checked={value !== null}\n      >\n        {label}\n      </Checkbox>\n      {value !== null && (\n        <Box paddingLeft={6} style={{ maxWidth: '200px' }}>\n          {type === 'text' ? (\n            <Field.Root error={errorMessage} name={name}>\n              <TextInput\n                aria-label={label}\n                disabled={disabled}\n                onChange={onChange}\n                value={value === null ? '' : value}\n                type=\"text\"\n              />\n              <Field.Error />\n            </Field.Root>\n          ) : (\n            <Field.Root error={errorMessage} name={name}>\n              <NumberInput\n                aria-label={label}\n                disabled={disabled}\n                onValueChange={(value: string | number | undefined) => {\n                  onChange({\n                    target: { name, value: parseNumberInputValue(value), type },\n                  });\n                }}\n                value={parseNumberInputValue(value)}\n              />\n              <Field.Error />\n            </Field.Root>\n          )}\n        </Box>\n      )}\n    </Flex>\n  );\n};\n"],"names":["CheckboxWithNumberField","error","intlLabel","modifiedData","name","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","type","disabled","errorMessage","_jsxs","Flex","direction","alignItems","gap","_jsx","Checkbox","onCheckedChange","initValue","nextValue","target","checked","Box","paddingLeft","style","maxWidth","Field","Root","TextInput","aria-label","Error","NumberInput","onValueChange","parseNumberInputValue"],"mappings":";;;;;MAgBaA,uBAAAA,GAA0B,CAAC,EACtCC,KAAK,EACLC,SAAS,EACTC,YAAY,EACZC,IAAI,EACJC,QAAQ,EACRC,KAAAA,GAAQ,IAAI,EACiB,GAAA;IAC7B,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,KAAAA,GAAQP,SAAAA,CAAUQ,EAAE,GACtBH,aAAAA,CACE;AAAEG,QAAAA,EAAAA,EAAIR,UAAUQ,EAAE;AAAEC,QAAAA,cAAAA,EAAgBT,UAAUS;KAAe,EAC7D;AAAE,QAAA,GAAGT,UAAUU;KAAO,CAAA,GAExBR,IAAAA;AAEJ,IAAA,MAAMS,IAAAA,GAAOV,YAAAA,CAAaU,IAAI,KAAK,eAAe,MAAA,GAAS,QAAA;IAE3D,MAAMC,QAAAA,GAAW,CAACX,YAAAA,CAAaU,IAAI;IACnC,MAAME,YAAAA,GAAed,QAAQM,aAAAA,CAAc;QAAEG,EAAAA,EAAIT,KAAAA;QAAOU,cAAAA,EAAgBV;KAAM,CAAA,GAAK,EAAA;AAEnF,IAAA,qBACEe,IAAA,CAACC,IAAAA,EAAAA;QAAKC,SAAAA,EAAU,QAAA;QAASC,UAAAA,EAAW,SAAA;QAAUC,GAAAA,EAAK,CAAA;;0BACjDC,GAAA,CAACC,QAAAA,EAAAA;gBACCZ,EAAAA,EAAIN,IAAAA;gBACJA,IAAAA,EAAMA,IAAAA;AACNmB,gBAAAA,eAAAA,EAAiB,CAACjB,KAAAA,GAAAA;oBAChB,MAAMkB,SAAAA,GAAYX,IAAAA,KAAS,MAAA,GAAS,GAAA,GAAM,CAAA;oBAC1C,MAAMY,SAAAA,GAAYnB,QAAQkB,SAAAA,GAAY,IAAA;oBAEtCnB,QAAAA,CAAS;wBAAEqB,MAAAA,EAAQ;AAAEtB,4BAAAA,IAAAA;4BAAME,KAAAA,EAAOmB;AAAU;AAAE,qBAAA,CAAA;AAChD,gBAAA,CAAA;AACAE,gBAAAA,OAAAA,EAASrB,KAAAA,KAAU,IAAA;AAElBG,gBAAAA,QAAAA,EAAAA;;AAEFH,YAAAA,KAAAA,KAAU,sBACTe,GAAA,CAACO,GAAAA,EAAAA;gBAAIC,WAAAA,EAAa,CAAA;gBAAGC,KAAAA,EAAO;oBAAEC,QAAAA,EAAU;AAAQ,iBAAA;0BAC7ClB,IAAAA,KAAS,MAAA,iBACRG,IAAA,CAACgB,KAAAA,CAAMC,IAAI,EAAA;oBAAChC,KAAAA,EAAOc,YAAAA;oBAAcX,IAAAA,EAAMA,IAAAA;;sCACrCiB,GAAA,CAACa,SAAAA,EAAAA;4BACCC,YAAAA,EAAY1B,KAAAA;4BACZK,QAAAA,EAAUA,QAAAA;4BACVT,QAAAA,EAAUA,QAAAA;4BACVC,KAAAA,EAAOA,KAAAA,KAAU,OAAO,EAAA,GAAKA,KAAAA;4BAC7BO,IAAAA,EAAK;;AAEP,sCAAAQ,GAAA,CAACW,MAAMI,KAAK,EAAA,EAAA;;AAGd,iBAAA,CAAA,iBAAApB,IAAA,CAACgB,MAAMC,IAAI,EAAA;oBAAChC,KAAAA,EAAOc,YAAAA;oBAAcX,IAAAA,EAAMA,IAAAA;;sCACrCiB,GAAA,CAACgB,WAAAA,EAAAA;4BACCF,YAAAA,EAAY1B,KAAAA;4BACZK,QAAAA,EAAUA,QAAAA;AACVwB,4BAAAA,aAAAA,EAAe,CAAChC,KAAAA,GAAAA;gCACdD,QAAAA,CAAS;oCACPqB,MAAAA,EAAQ;AAAEtB,wCAAAA,IAAAA;AAAME,wCAAAA,KAAAA,EAAOiC,qBAAAA,CAAsBjC,KAAAA,CAAAA;AAAQO,wCAAAA;AAAK;AAC5D,iCAAA,CAAA;AACF,4BAAA,CAAA;AACAP,4BAAAA,KAAAA,EAAOiC,qBAAAA,CAAsBjC,KAAAA;;AAE/B,sCAAAe,GAAA,CAACW,MAAMI,KAAK,EAAA,EAAA;;;;;;AAO1B;;;;"}