{"version":3,"file":"BooleanDefaultValueSelect.mjs","sources":["../../../admin/src/components/BooleanDefaultValueSelect.tsx"],"sourcesContent":["import { Field, SingleSelect, SingleSelectOption } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport type { FormChangeHandler, IntlLabel } from '../types';\n\ninterface Metadata {\n  intlLabel: IntlLabel;\n  disabled?: boolean;\n  hidden?: boolean;\n}\n\ninterface Option {\n  metadatas: Metadata;\n  key: string | number;\n  value: string | number;\n}\n\ninterface BooleanDefaultValueSelectProps {\n  intlLabel: IntlLabel;\n  name: string;\n  onChange: FormChangeHandler<boolean | string, 'select-default-boolean'>;\n  options: Option[];\n  value?: boolean | string | null;\n}\n\nexport const BooleanDefaultValueSelect = ({\n  intlLabel,\n  name,\n  options,\n  onChange,\n  value = null,\n}: BooleanDefaultValueSelectProps) => {\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 handleChange = (value: string | number) => {\n    const stringValue = value.toString();\n    let nextValue: boolean | string = '';\n\n    if (stringValue === 'true') {\n      nextValue = true;\n    }\n\n    if (stringValue === 'false') {\n      nextValue = false;\n    }\n\n    onChange({ target: { name, value: nextValue, type: 'select-default-boolean' } });\n  };\n\n  return (\n    <Field.Root name={name}>\n      <Field.Label>{label}</Field.Label>\n      <SingleSelect onChange={handleChange} value={(value === null ? '' : value).toString()}>\n        {options.map(({ metadatas: { intlLabel, disabled, hidden }, key, value }) => {\n          return (\n            <SingleSelectOption key={key} value={value} disabled={disabled} hidden={hidden}>\n              {/* No need to translate the options */}\n              {intlLabel.defaultMessage}\n            </SingleSelectOption>\n          );\n        })}\n      </SingleSelect>\n    </Field.Root>\n  );\n};\n"],"names":["BooleanDefaultValueSelect","intlLabel","name","options","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","handleChange","stringValue","toString","nextValue","target","type","_jsxs","Field","Root","_jsx","Label","SingleSelect","map","metadatas","disabled","hidden","key","SingleSelectOption"],"mappings":";;;;AAyBO,MAAMA,yBAAAA,GAA4B,CAAC,EACxCC,SAAS,EACTC,IAAI,EACJC,OAAO,EACPC,QAAQ,EACRC,KAAAA,GAAQ,IAAI,EACmB,GAAA;IAC/B,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,GAExBT,IAAAA;AAEJ,IAAA,MAAMU,eAAe,CAACP,KAAAA,GAAAA;QACpB,MAAMQ,WAAAA,GAAcR,MAAMS,QAAQ,EAAA;AAClC,QAAA,IAAIC,SAAAA,GAA8B,EAAA;AAElC,QAAA,IAAIF,gBAAgB,MAAA,EAAQ;YAC1BE,SAAAA,GAAY,IAAA;AACd,QAAA;AAEA,QAAA,IAAIF,gBAAgB,OAAA,EAAS;YAC3BE,SAAAA,GAAY,KAAA;AACd,QAAA;QAEAX,QAAAA,CAAS;YAAEY,MAAAA,EAAQ;AAAEd,gBAAAA,IAAAA;gBAAMG,KAAAA,EAAOU,SAAAA;gBAAWE,IAAAA,EAAM;AAAyB;AAAE,SAAA,CAAA;AAChF,IAAA,CAAA;IAEA,qBACEC,IAAA,CAACC,MAAMC,IAAI,EAAA;QAAClB,IAAAA,EAAMA,IAAAA;;AAChB,0BAAAmB,GAAA,CAACF,MAAMG,KAAK,EAAA;AAAEd,gBAAAA,QAAAA,EAAAA;;0BACda,GAAA,CAACE,YAAAA,EAAAA;gBAAanB,QAAAA,EAAUQ,YAAAA;AAAcP,gBAAAA,KAAAA,EAAO,CAACA,KAAAA,KAAU,OAAO,EAAA,GAAKA,KAAI,EAAGS,QAAQ,EAAA;AAChFX,gBAAAA,QAAAA,EAAAA,OAAAA,CAAQqB,GAAG,CAAC,CAAC,EAAEC,SAAAA,EAAW,EAAExB,SAAS,EAAEyB,QAAQ,EAAEC,MAAM,EAAE,EAAEC,GAAG,EAAEvB,KAAK,EAAE,GAAA;AACtE,oBAAA,qBACEgB,GAAA,CAACQ,kBAAAA,EAAAA;wBAA6BxB,KAAAA,EAAOA,KAAAA;wBAAOqB,QAAAA,EAAUA,QAAAA;wBAAUC,MAAAA,EAAQA,MAAAA;AAErE1B,wBAAAA,QAAAA,EAAAA,SAAAA,CAAUS;AAFYkB,qBAAAA,EAAAA,GAAAA,CAAAA;AAK7B,gBAAA,CAAA;;;;AAIR;;;;"}