{"version":3,"file":"ComponentPicker.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.tsx"],"sourcesContent":["import { useIsMobile } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, Accordion, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslation } from '../../../../../utils/translations';\n\nimport { ComponentCategory, ComponentCategoryProps } from './ComponentCategory';\n\ninterface ComponentPickerProps {\n  dynamicComponentsByCategory?: Record<string, NonNullable<ComponentCategoryProps['components']>>;\n  isOpen?: boolean;\n  onClickAddComponent: (componentUid: string) => void;\n}\n\nconst ComponentPicker = ({\n  dynamicComponentsByCategory = {},\n  isOpen,\n  onClickAddComponent,\n}: ComponentPickerProps) => {\n  const { formatMessage } = useIntl();\n  const isMobile = useIsMobile();\n\n  const handleAddComponentToDz = (componentUid: string) => () => {\n    onClickAddComponent(componentUid);\n  };\n\n  if (!isOpen) {\n    return null;\n  }\n\n  return (\n    <Flex\n      paddingTop={{ initial: 0, medium: 6 }}\n      paddingBottom={{ initial: 0, medium: 6 }}\n      paddingLeft={{ initial: 0, medium: 5 }}\n      paddingRight={{ initial: 0, medium: 5 }}\n      background={isMobile ? 'transparent' : 'neutral0'}\n      shadow={isMobile ? 'none' : 'tableShadow'}\n      borderColor={isMobile ? 'transparent' : 'neutral150'}\n      hasRadius={!isMobile}\n      gap={{ initial: 4, medium: 2 }}\n      direction=\"column\"\n      alignItems=\"stretch\"\n    >\n      <Flex justifyContent=\"center\">\n        <Typography fontWeight=\"bold\" textColor=\"neutral600\" fontSize={1}>\n          {formatMessage({\n            id: getTranslation('components.DynamicZone.ComponentPicker-label'),\n            defaultMessage: 'Pick one component',\n          })}\n        </Typography>\n      </Flex>\n      <Box>\n        <Accordion.Root defaultValue={Object.keys(dynamicComponentsByCategory)[0]}>\n          {Object.entries(dynamicComponentsByCategory).map(([category, components], index) => (\n            <ComponentCategory\n              key={category}\n              category={category}\n              components={components}\n              onAddComponent={handleAddComponentToDz}\n              variant={index % 2 === 1 ? 'primary' : 'secondary'}\n            />\n          ))}\n        </Accordion.Root>\n      </Box>\n    </Flex>\n  );\n};\n\nexport { ComponentPicker };\nexport type { ComponentPickerProps };\n"],"names":["ComponentPicker","dynamicComponentsByCategory","isOpen","onClickAddComponent","formatMessage","useIntl","isMobile","useIsMobile","handleAddComponentToDz","componentUid","_jsxs","Flex","paddingTop","initial","medium","paddingBottom","paddingLeft","paddingRight","background","shadow","borderColor","hasRadius","gap","direction","alignItems","_jsx","justifyContent","Typography","fontWeight","textColor","fontSize","id","getTranslation","defaultMessage","Box","Accordion","Root","defaultValue","Object","keys","entries","map","category","components","index","ComponentCategory","onAddComponent","variant"],"mappings":";;;;;;;AAcA,MAAMA,eAAAA,GAAkB,CAAC,EACvBC,2BAAAA,GAA8B,EAAE,EAChCC,MAAM,EACNC,mBAAmB,EACE,GAAA;IACrB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAAA,GAAWC,WAAAA,EAAAA;IAEjB,MAAMC,sBAAAA,GAAyB,CAACC,YAAAA,GAAyB,IAAA;YACvDN,mBAAAA,CAAoBM,YAAAA,CAAAA;AACtB,QAAA,CAAA;AAEA,IAAA,IAAI,CAACP,MAAAA,EAAQ;QACX,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,qBACEQ,IAAA,CAACC,IAAAA,EAAAA;QACCC,UAAAA,EAAY;YAAEC,OAAAA,EAAS,CAAA;YAAGC,MAAAA,EAAQ;AAAE,SAAA;QACpCC,aAAAA,EAAe;YAAEF,OAAAA,EAAS,CAAA;YAAGC,MAAAA,EAAQ;AAAE,SAAA;QACvCE,WAAAA,EAAa;YAAEH,OAAAA,EAAS,CAAA;YAAGC,MAAAA,EAAQ;AAAE,SAAA;QACrCG,YAAAA,EAAc;YAAEJ,OAAAA,EAAS,CAAA;YAAGC,MAAAA,EAAQ;AAAE,SAAA;AACtCI,QAAAA,UAAAA,EAAYZ,WAAW,aAAA,GAAgB,UAAA;AACvCa,QAAAA,MAAAA,EAAQb,WAAW,MAAA,GAAS,aAAA;AAC5Bc,QAAAA,WAAAA,EAAad,WAAW,aAAA,GAAgB,YAAA;AACxCe,QAAAA,SAAAA,EAAW,CAACf,QAAAA;QACZgB,GAAAA,EAAK;YAAET,OAAAA,EAAS,CAAA;YAAGC,MAAAA,EAAQ;AAAE,SAAA;QAC7BS,SAAAA,EAAU,QAAA;QACVC,UAAAA,EAAW,SAAA;;0BAEXC,GAAA,CAACd,IAAAA,EAAAA;gBAAKe,cAAAA,EAAe,QAAA;AACnB,gBAAA,QAAA,gBAAAD,GAAA,CAACE,UAAAA,EAAAA;oBAAWC,UAAAA,EAAW,MAAA;oBAAOC,SAAAA,EAAU,YAAA;oBAAaC,QAAAA,EAAU,CAAA;8BAC5D1B,aAAAA,CAAc;AACb2B,wBAAAA,EAAAA,EAAIC,cAAAA,CAAe,8CAAA,CAAA;wBACnBC,cAAAA,EAAgB;AAClB,qBAAA;;;0BAGJR,GAAA,CAACS,GAAAA,EAAAA;wCACCT,GAAA,CAACU,UAAUC,IAAI,EAAA;AAACC,oBAAAA,YAAAA,EAAcC,MAAAA,CAAOC,IAAI,CAACtC,2BAAAA,CAA4B,CAAC,CAAA,CAAE;8BACtEqC,MAAAA,CAAOE,OAAO,CAACvC,2BAAAA,CAAAA,CAA6BwC,GAAG,CAAC,CAAC,CAACC,QAAAA,EAAUC,UAAAA,CAAW,EAAEC,KAAAA,iBACxEnB,GAAA,CAACoB,iBAAAA,EAAAA;4BAECH,QAAAA,EAAUA,QAAAA;4BACVC,UAAAA,EAAYA,UAAAA;4BACZG,cAAAA,EAAgBtC,sBAAAA;4BAChBuC,OAAAA,EAASH,KAAAA,GAAQ,CAAA,KAAM,CAAA,GAAI,SAAA,GAAY;AAJlCF,yBAAAA,EAAAA,QAAAA,CAAAA;;;;;AAWnB;;;;"}