{"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 { IntlLabel } from '../types';\n\ninterface CheckboxWithNumberFieldProps {\n  error?: string;\n  intlLabel: IntlLabel;\n  modifiedData: Record<string, any>;\n  name: string;\n  onChange: (value: any) => void;\n  value?: any;\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              />\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: any) => {\n                  onChange({ target: { name, value: value ?? 0, type } });\n                }}\n                value={value || 0}\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"],"mappings":";;;;MAcaA,uBAA0B,GAAA,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,KAAQP,GAAAA,SAAAA,CAAUQ,EAAE,GACtBH,aACE,CAAA;AAAEG,QAAAA,EAAAA,EAAIR,UAAUQ,EAAE;AAAEC,QAAAA,cAAAA,EAAgBT,UAAUS;KAC9C,EAAA;AAAE,QAAA,GAAGT,UAAUU;KAEjBR,CAAAA,GAAAA,IAAAA;AAEJ,IAAA,MAAMS,IAAOV,GAAAA,YAAAA,CAAaU,IAAI,KAAK,eAAe,MAAS,GAAA,QAAA;IAE3D,MAAMC,QAAAA,GAAW,CAACX,YAAAA,CAAaU,IAAI;IACnC,MAAME,YAAAA,GAAed,QAAQM,aAAc,CAAA;QAAEG,EAAIT,EAAAA,KAAAA;QAAOU,cAAgBV,EAAAA;KAAW,CAAA,GAAA,EAAA;AAEnF,IAAA,qBACEe,IAACC,CAAAA,IAAAA,EAAAA;QAAKC,SAAU,EAAA,QAAA;QAASC,UAAW,EAAA,SAAA;QAAUC,GAAK,EAAA,CAAA;;0BACjDC,GAACC,CAAAA,QAAAA,EAAAA;gBACCZ,EAAIN,EAAAA,IAAAA;gBACJA,IAAMA,EAAAA,IAAAA;AACNmB,gBAAAA,eAAAA,EAAiB,CAACjB,KAAAA,GAAAA;oBAChB,MAAMkB,SAAAA,GAAYX,IAAS,KAAA,MAAA,GAAS,GAAM,GAAA,CAAA;oBAC1C,MAAMY,SAAAA,GAAYnB,QAAQkB,SAAY,GAAA,IAAA;oBAEtCnB,QAAS,CAAA;wBAAEqB,MAAQ,EAAA;AAAEtB,4BAAAA,IAAAA;4BAAME,KAAOmB,EAAAA;AAAU;AAAE,qBAAA,CAAA;AAChD,iBAAA;AACAE,gBAAAA,OAAAA,EAASrB,KAAU,KAAA,IAAA;AAElBG,gBAAAA,QAAAA,EAAAA;;AAEFH,YAAAA,KAAAA,KAAU,sBACTe,GAACO,CAAAA,GAAAA,EAAAA;gBAAIC,WAAa,EAAA,CAAA;gBAAGC,KAAO,EAAA;oBAAEC,QAAU,EAAA;AAAQ,iBAAA;0BAC7ClB,IAAS,KAAA,MAAA,iBACRG,IAACgB,CAAAA,KAAAA,CAAMC,IAAI,EAAA;oBAAChC,KAAOc,EAAAA,YAAAA;oBAAcX,IAAMA,EAAAA,IAAAA;;sCACrCiB,GAACa,CAAAA,SAAAA,EAAAA;4BACCC,YAAY1B,EAAAA,KAAAA;4BACZK,QAAUA,EAAAA,QAAAA;4BACVT,QAAUA,EAAAA,QAAAA;4BACVC,KAAOA,EAAAA,KAAAA,KAAU,OAAO,EAAKA,GAAAA;;AAE/B,sCAAAe,GAAA,CAACW,MAAMI,KAAK,EAAA,EAAA;;AAGd,iBAAA,CAAA,iBAAApB,IAAA,CAACgB,MAAMC,IAAI,EAAA;oBAAChC,KAAOc,EAAAA,YAAAA;oBAAcX,IAAMA,EAAAA,IAAAA;;sCACrCiB,GAACgB,CAAAA,WAAAA,EAAAA;4BACCF,YAAY1B,EAAAA,KAAAA;4BACZK,QAAUA,EAAAA,QAAAA;AACVwB,4BAAAA,aAAAA,EAAe,CAAChC,KAAAA,GAAAA;gCACdD,QAAS,CAAA;oCAAEqB,MAAQ,EAAA;AAAEtB,wCAAAA,IAAAA;AAAME,wCAAAA,KAAAA,EAAOA,KAAS,IAAA,CAAA;AAAGO,wCAAAA;AAAK;AAAE,iCAAA,CAAA;AACvD,6BAAA;AACAP,4BAAAA,KAAAA,EAAOA,KAAS,IAAA;;AAElB,sCAAAe,GAAA,CAACW,MAAMI,KAAK,EAAA,EAAA;;;;;;AAO1B;;;;"}