{"version":3,"file":"AssetGridList.mjs","sources":["../../../../admin/src/components/AssetGridList/AssetGridList.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport { Box, Grid, KeyboardNavigable, Typography } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nimport { AssetCard } from '../AssetCard/AssetCard';\n\nimport { Draggable } from './Draggable';\n\nimport type { File } from '../../../../shared/contracts/files';\nimport type { AllowedTypes } from '../AssetCard/AssetCard';\n\nconst DraggableAssetCard = styled(AssetCard)`\n  && {\n    cursor: inherit;\n  }\n`;\n\nexport interface AssetGridListProps {\n  allowedTypes?: AllowedTypes[];\n  assets: File[];\n  onEditAsset?: (asset: File) => void;\n  onSelectAsset: (asset: File) => void;\n  selectedAssets: File[];\n  size?: 'S' | 'M';\n  onReorderAsset?: (fromIndex: number, toIndex: number) => void;\n  title?: string | null;\n}\n\nexport const AssetGridList = ({\n  allowedTypes = ['files', 'images', 'videos', 'audios'],\n  assets,\n  onEditAsset,\n  onSelectAsset,\n  selectedAssets,\n  size = 'M',\n  onReorderAsset,\n  title = null,\n}: AssetGridListProps) => {\n  return (\n    <KeyboardNavigable tagName=\"article\">\n      {title && (\n        <Box paddingTop={2} paddingBottom={2}>\n          <Typography tag=\"h2\" variant=\"delta\" fontWeight=\"semiBold\">\n            {title}\n          </Typography>\n        </Box>\n      )}\n\n      <Grid.Root gap={4}>\n        {assets.map((asset, index) => {\n          const isSelected = !!selectedAssets.find((currentAsset) => currentAsset.id === asset.id);\n\n          if (onReorderAsset) {\n            return (\n              <Grid.Item key={asset.id} col={3} height=\"100%\">\n                <Draggable index={index} moveItem={onReorderAsset} id={asset.id}>\n                  <DraggableAssetCard\n                    allowedTypes={allowedTypes}\n                    asset={asset}\n                    isSelected={isSelected}\n                    onEdit={onEditAsset ? () => onEditAsset(asset) : undefined}\n                    onSelect={() => onSelectAsset(asset)}\n                    size={size}\n                  />\n                </Draggable>\n              </Grid.Item>\n            );\n          }\n\n          return (\n            <Grid.Item col={3} key={asset.id} height=\"100%\" direction=\"column\" alignItems=\"stretch\">\n              <AssetCard\n                key={asset.id}\n                allowedTypes={allowedTypes}\n                asset={asset}\n                isSelected={isSelected}\n                onEdit={onEditAsset ? () => onEditAsset(asset) : undefined}\n                onSelect={() => onSelectAsset(asset)}\n                size={size}\n              />\n            </Grid.Item>\n          );\n        })}\n      </Grid.Root>\n    </KeyboardNavigable>\n  );\n};\n"],"names":["DraggableAssetCard","styled","AssetCard","AssetGridList","allowedTypes","assets","onEditAsset","onSelectAsset","selectedAssets","size","onReorderAsset","title","_jsxs","KeyboardNavigable","tagName","_jsx","Box","paddingTop","paddingBottom","Typography","tag","variant","fontWeight","Grid","Root","gap","map","asset","index","isSelected","find","currentAsset","id","Item","col","height","Draggable","moveItem","onEdit","undefined","onSelect","direction","alignItems"],"mappings":";;;;;;AAAA;AAWA,MAAMA,kBAAAA,GAAqBC,MAAOC,CAAAA,SAAAA,CAAU;;;;AAI5C,CAAC;AAaYC,MAAAA,aAAAA,GAAgB,CAAC,EAC5BC,YAAe,GAAA;AAAC,IAAA,OAAA;AAAS,IAAA,QAAA;AAAU,IAAA,QAAA;AAAU,IAAA;AAAS,CAAA,EACtDC,MAAM,EACNC,WAAW,EACXC,aAAa,EACbC,cAAc,EACdC,IAAAA,GAAO,GAAG,EACVC,cAAc,EACdC,KAAAA,GAAQ,IAAI,EACO,GAAA;AACnB,IAAA,qBACEC,IAACC,CAAAA,iBAAAA,EAAAA;QAAkBC,OAAQ,EAAA,SAAA;;AACxBH,YAAAA,KAAAA,kBACCI,GAACC,CAAAA,GAAAA,EAAAA;gBAAIC,UAAY,EAAA,CAAA;gBAAGC,aAAe,EAAA,CAAA;AACjC,gBAAA,QAAA,gBAAAH,GAACI,CAAAA,UAAAA,EAAAA;oBAAWC,GAAI,EAAA,IAAA;oBAAKC,OAAQ,EAAA,OAAA;oBAAQC,UAAW,EAAA,UAAA;AAC7CX,oBAAAA,QAAAA,EAAAA;;;AAKP,0BAAAI,GAAA,CAACQ,KAAKC,IAAI,EAAA;gBAACC,GAAK,EAAA,CAAA;0BACbpB,MAAOqB,CAAAA,GAAG,CAAC,CAACC,KAAOC,EAAAA,KAAAA,GAAAA;AAClB,oBAAA,MAAMC,UAAa,GAAA,CAAC,CAACrB,cAAAA,CAAesB,IAAI,CAAC,CAACC,YAAAA,GAAiBA,YAAaC,CAAAA,EAAE,KAAKL,KAAAA,CAAMK,EAAE,CAAA;AAEvF,oBAAA,IAAItB,cAAgB,EAAA;wBAClB,qBACEK,GAAA,CAACQ,KAAKU,IAAI,EAAA;4BAAgBC,GAAK,EAAA,CAAA;4BAAGC,MAAO,EAAA,MAAA;AACvC,4BAAA,QAAA,gBAAApB,GAACqB,CAAAA,SAAAA,EAAAA;gCAAUR,KAAOA,EAAAA,KAAAA;gCAAOS,QAAU3B,EAAAA,cAAAA;AAAgBsB,gCAAAA,EAAAA,EAAIL,MAAMK,EAAE;AAC7D,gCAAA,QAAA,gBAAAjB,GAACf,CAAAA,kBAAAA,EAAAA;oCACCI,YAAcA,EAAAA,YAAAA;oCACduB,KAAOA,EAAAA,KAAAA;oCACPE,UAAYA,EAAAA,UAAAA;oCACZS,MAAQhC,EAAAA,WAAAA,GAAc,IAAMA,WAAAA,CAAYqB,KAASY,CAAAA,GAAAA,SAAAA;AACjDC,oCAAAA,QAAAA,EAAU,IAAMjC,aAAcoB,CAAAA,KAAAA,CAAAA;oCAC9BlB,IAAMA,EAAAA;;;AARIkB,yBAAAA,EAAAA,KAAAA,CAAMK,EAAE,CAAA;AAa5B;oBAEA,qBACEjB,GAAA,CAACQ,KAAKU,IAAI,EAAA;wBAACC,GAAK,EAAA,CAAA;wBAAkBC,MAAO,EAAA,MAAA;wBAAOM,SAAU,EAAA,QAAA;wBAASC,UAAW,EAAA,SAAA;AAC5E,wBAAA,QAAA,gBAAA3B,GAACb,CAAAA,SAAAA,EAAAA;4BAECE,YAAcA,EAAAA,YAAAA;4BACduB,KAAOA,EAAAA,KAAAA;4BACPE,UAAYA,EAAAA,UAAAA;4BACZS,MAAQhC,EAAAA,WAAAA,GAAc,IAAMA,WAAAA,CAAYqB,KAASY,CAAAA,GAAAA,SAAAA;AACjDC,4BAAAA,QAAAA,EAAU,IAAMjC,aAAcoB,CAAAA,KAAAA,CAAAA;4BAC9BlB,IAAMA,EAAAA;AANDkB,yBAAAA,EAAAA,KAAAA,CAAMK,EAAE;AAFOL,qBAAAA,EAAAA,KAAAA,CAAMK,EAAE,CAAA;AAYpC,iBAAA;;;;AAIR;;;;"}