@strapi/upload 5.13.1 → 5.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -293,6 +293,8 @@ const BrowseStep = ({ allowedTypes = [], assets: rawAssets, canCreate, canRead,
293
293
  pagination.pageCount > 0 && /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
294
294
  justifyContent: "space-between",
295
295
  paddingTop: 4,
296
+ position: "relative",
297
+ zIndex: 1,
296
298
  children: [
297
299
  /*#__PURE__*/ jsxRuntime.jsx(PageSize.PageSize, {
298
300
  pageSize: queryObject.pageSize,
@@ -1 +1 @@
1
- {"version":3,"file":"BrowseStep.js","sources":["../../../../../admin/src/components/AssetDialog/BrowseStep/BrowseStep.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport {\n Checkbox,\n Box,\n Button,\n Divider,\n Flex,\n IconButton,\n Typography,\n VisuallyHidden,\n Grid,\n} from '@strapi/design-system';\nimport { GridFour as GridIcon, List, Pencil, Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { localStorageKeys, viewOptions } from '../../../constants';\nimport { useFolder } from '../../../hooks/useFolder';\nimport { usePersistentState } from '../../../hooks/usePersistentState';\nimport {\n getBreadcrumbDataCM,\n toSingularTypes,\n getTrad,\n getAllowedFiles,\n BreadcrumbDataFolder,\n AllowedFiles,\n} from '../../../utils';\nimport { AssetGridList } from '../../AssetGridList/AssetGridList';\nimport { Breadcrumbs } from '../../Breadcrumbs/Breadcrumbs';\nimport { EmptyAssets } from '../../EmptyAssets/EmptyAssets';\nimport { FolderCard } from '../../FolderCard/FolderCard/FolderCard';\nimport { FolderCardBody } from '../../FolderCard/FolderCardBody/FolderCardBody';\nimport { FolderCardBodyAction } from '../../FolderCard/FolderCardBodyAction/FolderCardBodyAction';\nimport { FolderGridList } from '../../FolderGridList/FolderGridList';\nimport { SortPicker } from '../../SortPicker/SortPicker';\nimport { TableList, FolderRow, FileRow } from '../../TableList/TableList';\n\nimport { Filters, FilterStructure as ImportedFilterStructure } from './Filters';\nimport { PageSize } from './PageSize';\nimport { PaginationFooter } from './PaginationFooter/PaginationFooter';\nimport { SearchAsset } from './SearchAsset/SearchAsset';\nimport { isSelectable } from './utils/isSelectable';\n\nimport type { File, Query, FilterCondition } from '../../../../../shared/contracts/files';\nimport type { Folder } from '../../../../../shared/contracts/folders';\nimport type { AllowedTypes } from '../../AssetCard/AssetCard';\n\nconst TypographyMaxWidth = styled(Typography)`\n max-width: 100%;\n`;\n\nconst ActionContainer = styled(Box)`\n svg {\n path {\n fill: ${({ theme }) => theme.colors.neutral500};\n }\n }\n`;\n\ntype NumberKeyedObject = Record<number, string>;\n\ntype StringFilter = {\n [key: string]: string;\n};\n\ntype MimeFilter = {\n [key: string]:\n | string\n | NumberKeyedObject\n | Record<string, string | NumberKeyedObject>\n | undefined;\n};\n\nexport type FilterStructure = {\n [key: string]: MimeFilter | StringFilter | undefined;\n};\n\nexport type Filter = {\n [key in 'mime' | 'createdAt' | 'updatedAt']?:\n | {\n [key in '$contains' | '$notContains' | '$eq' | '$not']?:\n | string[]\n | string\n | { $contains: string[] };\n }\n | undefined;\n};\n\nexport interface FolderWithType extends Omit<Folder, 'children' | 'files'> {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n children?: Folder['children'] & {\n count: number;\n };\n files?: Folder['files'] & {\n count: number;\n };\n}\n\nexport interface FileWithType extends File {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n}\n\nexport interface BrowseStepProps {\n allowedTypes?: AllowedTypes[];\n assets: File[];\n canCreate: boolean;\n canRead: boolean;\n folders?: FolderWithType[];\n multiple?: boolean;\n onAddAsset: () => void;\n onChangeFilters: (filters: FilterCondition<string>[] | Filter[]) => void;\n onChangeFolder: (id: number, path?: string) => void;\n onChangePage: (page: number) => void;\n onChangePageSize: (value: number) => void;\n onChangeSort: (value: Query['sort'] | string) => void;\n onChangeSearch: (_q?: Query['_q'] | null) => void;\n onEditAsset: ((asset: FileWithType) => void) | null;\n onEditFolder: ((folder: FolderRow) => void) | null;\n onSelectAsset: (element: FileRow | FolderRow) => void;\n onSelectAllAsset?: (checked: boolean | string, rows?: FolderRow[] | FileRow[]) => void;\n queryObject: Query;\n pagination: { pageCount: number };\n selectedAssets: FileWithType[] | FolderWithType[];\n}\n\nexport const BrowseStep = ({\n allowedTypes = [],\n assets: rawAssets,\n canCreate,\n canRead,\n folders = [],\n multiple = false,\n onAddAsset,\n onChangeFilters,\n onChangePage,\n onChangePageSize,\n onChangeSearch,\n onChangeSort,\n onChangeFolder,\n onEditAsset,\n onEditFolder,\n onSelectAllAsset,\n onSelectAsset,\n pagination,\n queryObject,\n selectedAssets,\n}: BrowseStepProps) => {\n const { formatMessage } = useIntl();\n const [view, setView] = usePersistentState(localStorageKeys.modalView, viewOptions.GRID);\n const isGridView = view === viewOptions.GRID;\n\n const { data: currentFolder, isLoading: isCurrentFolderLoading } = useFolder(\n queryObject?.folder as number | null | undefined,\n {\n enabled: canRead && !!queryObject?.folder,\n }\n );\n\n const singularTypes = toSingularTypes(allowedTypes);\n const assets = rawAssets.map((asset) => ({\n ...asset,\n isSelectable: isSelectable(singularTypes, asset?.mime),\n type: 'asset',\n }));\n\n const breadcrumbs = !isCurrentFolderLoading\n ? getBreadcrumbDataCM(currentFolder as BreadcrumbDataFolder)\n : undefined;\n\n const allAllowedAsset = getAllowedFiles(allowedTypes, assets as AllowedFiles[]);\n const areAllAssetSelected =\n allAllowedAsset.length > 0 &&\n selectedAssets.length > 0 &&\n allAllowedAsset.every(\n (asset) => selectedAssets.findIndex((currAsset) => currAsset.id === asset.id) !== -1\n );\n const hasSomeAssetSelected = allAllowedAsset.some(\n (asset) => selectedAssets.findIndex((currAsset) => currAsset.id === asset.id) !== -1\n );\n const isSearching = !!queryObject?._q;\n const isFiltering = !!queryObject?.filters?.$and?.length && queryObject.filters.$and.length > 0;\n const isSearchingOrFiltering = isSearching || isFiltering;\n const assetCount = assets.length;\n const folderCount = folders.length;\n const handleClickFolderCard = (...args: Parameters<typeof onChangeFolder>) => {\n // Search query will always fetch the same results\n // we remove it here to allow navigating in a folder and see the result of this navigation\n onChangeSearch('');\n onChangeFolder(...args);\n };\n\n return (\n <Box>\n {onSelectAllAsset && (\n <Box paddingBottom={4}>\n <Flex justifyContent=\"space-between\" alignItems=\"flex-start\">\n {(assetCount > 0 || folderCount > 0 || isFiltering) && (\n <Flex gap={2} wrap=\"wrap\">\n {multiple && isGridView && (\n <Flex\n paddingLeft={2}\n paddingRight={2}\n background=\"neutral0\"\n hasRadius\n borderColor=\"neutral200\"\n height=\"3.2rem\"\n >\n <Checkbox\n aria-label={formatMessage({\n id: getTrad('bulk.select.label'),\n defaultMessage: 'Select all assets',\n })}\n checked={\n !areAllAssetSelected && hasSomeAssetSelected\n ? 'indeterminate'\n : areAllAssetSelected\n }\n onCheckedChange={onSelectAllAsset}\n />\n </Flex>\n )}\n {isGridView && <SortPicker onChangeSort={onChangeSort} value={queryObject?.sort} />}\n <Filters\n appliedFilters={queryObject?.filters?.$and as ImportedFilterStructure[]}\n onChangeFilters={onChangeFilters}\n />\n </Flex>\n )}\n\n {(assetCount > 0 || folderCount > 0 || isSearching) && (\n <Flex marginLeft=\"auto\" shrink={0} gap={2}>\n <ActionContainer paddingTop={1} paddingBottom={1}>\n <IconButton\n label={\n isGridView\n ? formatMessage({\n id: 'view-switch.list',\n defaultMessage: 'List View',\n })\n : formatMessage({\n id: 'view-switch.grid',\n defaultMessage: 'Grid View',\n })\n }\n onClick={() => setView(isGridView ? viewOptions.LIST : viewOptions.GRID)}\n >\n {isGridView ? <List /> : <GridIcon />}\n </IconButton>\n </ActionContainer>\n <SearchAsset onChangeSearch={onChangeSearch} queryValue={queryObject._q || ''} />\n </Flex>\n )}\n </Flex>\n </Box>\n )}\n\n {canRead && breadcrumbs?.length && breadcrumbs.length > 0 && currentFolder && (\n <Box paddingTop={3}>\n <Breadcrumbs\n onChangeFolder={onChangeFolder}\n label={formatMessage({\n id: getTrad('header.breadcrumbs.nav.label'),\n defaultMessage: 'Folders navigation',\n })}\n breadcrumbs={breadcrumbs as BreadcrumbDataFolder[]}\n currentFolderId={queryObject?.folder as number | undefined}\n />\n </Box>\n )}\n\n {assetCount === 0 && folderCount === 0 && (\n <Box paddingBottom={6}>\n <EmptyAssets\n size=\"S\"\n count={6}\n action={\n canCreate &&\n !isFiltering &&\n !isSearching && (\n <Button variant=\"secondary\" startIcon={<Plus />} onClick={onAddAsset}>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Button>\n )\n }\n content={\n // eslint-disable-next-line no-nested-ternary\n isSearchingOrFiltering\n ? formatMessage({\n id: getTrad('list.assets-empty.title-withSearch'),\n defaultMessage: 'There are no assets with the applied filters',\n })\n : canCreate && !isSearching\n ? formatMessage({\n id: getTrad('list.assets.empty'),\n defaultMessage: 'Upload your first assets...',\n })\n : formatMessage({\n id: getTrad('list.assets.empty.no-permissions'),\n defaultMessage: 'The asset list is empty',\n })\n }\n />\n </Box>\n )}\n\n {!isGridView && (folderCount > 0 || assetCount > 0) && (\n <TableList\n allowedTypes={allowedTypes}\n assetCount={assetCount}\n folderCount={folderCount}\n indeterminate={!areAllAssetSelected && hasSomeAssetSelected}\n isFolderSelectionAllowed={false}\n onChangeSort={onChangeSort}\n onChangeFolder={handleClickFolderCard}\n onEditAsset={onEditAsset}\n onEditFolder={onEditFolder}\n onSelectOne={onSelectAsset}\n onSelectAll={onSelectAllAsset!}\n rows={\n [...folders.map((folder) => ({ ...folder, type: 'folder' })), ...assets] as\n | FolderRow[]\n | FileRow[]\n }\n selected={selectedAssets}\n shouldDisableBulkSelect={!multiple}\n sortQuery={queryObject?.sort ?? ''}\n />\n )}\n\n {isGridView && (\n <>\n {folderCount > 0 && (\n <FolderGridList\n title={\n (((isSearchingOrFiltering && assetCount > 0) || !isSearchingOrFiltering) &&\n formatMessage(\n {\n id: getTrad('list.folders.title'),\n defaultMessage: 'Folders ({count})',\n },\n { count: folderCount }\n )) ||\n ''\n }\n >\n {folders.map((folder) => {\n return (\n <Grid.Item\n col={3}\n key={`folder-${folder.id}`}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <FolderCard\n ariaLabel={folder.name}\n id={`folder-${folder.id}`}\n onClick={() => handleClickFolderCard(folder.id, folder.path)}\n cardActions={\n onEditFolder && (\n <IconButton\n withTooltip={false}\n label={formatMessage({\n id: getTrad('list.folder.edit'),\n defaultMessage: 'Edit folder',\n })}\n onClick={() => onEditFolder(folder)}\n >\n <Pencil />\n </IconButton>\n )\n }\n >\n <FolderCardBody>\n <FolderCardBodyAction\n onClick={() => handleClickFolderCard(folder.id, folder.path)}\n >\n <Flex tag=\"h2\" direction=\"column\" alignItems=\"start\" maxWidth=\"100%\">\n <TypographyMaxWidth\n fontWeight=\"semiBold\"\n ellipsis\n textColor=\"neutral800\"\n >\n {folder.name}\n {/* VisuallyHidden dash here allows to separate folder title and count informations\n for voice reading structure purpose */}\n <VisuallyHidden>-</VisuallyHidden>\n </TypographyMaxWidth>\n <TypographyMaxWidth\n tag=\"span\"\n textColor=\"neutral600\"\n variant=\"pi\"\n ellipsis\n >\n {formatMessage(\n {\n id: getTrad('list.folder.subtitle'),\n defaultMessage:\n '{folderCount, plural, =0 {# folder} one {# folder} other {# folders}}, {filesCount, plural, =0 {# asset} one {# asset} other {# assets}}',\n },\n {\n folderCount: folder.children?.count,\n filesCount: folder.files?.count,\n }\n )}\n </TypographyMaxWidth>\n </Flex>\n </FolderCardBodyAction>\n </FolderCardBody>\n </FolderCard>\n </Grid.Item>\n );\n })}\n </FolderGridList>\n )}\n\n {assetCount > 0 && folderCount > 0 && (\n <Box paddingTop={6}>\n <Divider />\n </Box>\n )}\n\n {assetCount > 0 && (\n <Box paddingTop={6}>\n <AssetGridList\n allowedTypes={allowedTypes}\n size=\"S\"\n assets={assets}\n onSelectAsset={onSelectAsset}\n selectedAssets={selectedAssets as FileWithType[]}\n onEditAsset={onEditAsset!}\n title={\n ((!isSearchingOrFiltering || (isSearchingOrFiltering && folderCount > 0)) &&\n queryObject.page === 1 &&\n formatMessage(\n {\n id: getTrad('list.assets.title'),\n defaultMessage: 'Assets ({count})',\n },\n { count: assetCount }\n )) ||\n ''\n }\n />\n </Box>\n )}\n </>\n )}\n\n {pagination.pageCount > 0 && (\n <Flex justifyContent=\"space-between\" paddingTop={4}>\n <PageSize\n pageSize={queryObject.pageSize! as number}\n onChangePageSize={onChangePageSize}\n />\n <PaginationFooter\n activePage={queryObject.page as number}\n onChangePage={onChangePage}\n pagination={pagination}\n />\n </Flex>\n )}\n </Box>\n );\n};\n"],"names":["TypographyMaxWidth","styled","Typography","ActionContainer","Box","theme","colors","neutral500","BrowseStep","allowedTypes","assets","rawAssets","canCreate","canRead","folders","multiple","onAddAsset","onChangeFilters","onChangePage","onChangePageSize","onChangeSearch","onChangeSort","onChangeFolder","onEditAsset","onEditFolder","onSelectAllAsset","onSelectAsset","pagination","queryObject","selectedAssets","formatMessage","useIntl","view","setView","usePersistentState","localStorageKeys","modalView","viewOptions","GRID","isGridView","data","currentFolder","isLoading","isCurrentFolderLoading","useFolder","folder","enabled","singularTypes","toSingularTypes","map","asset","isSelectable","mime","type","breadcrumbs","getBreadcrumbDataCM","undefined","allAllowedAsset","getAllowedFiles","areAllAssetSelected","length","every","findIndex","currAsset","id","hasSomeAssetSelected","some","isSearching","_q","isFiltering","filters","$and","isSearchingOrFiltering","assetCount","folderCount","handleClickFolderCard","args","_jsxs","_jsx","paddingBottom","Flex","justifyContent","alignItems","gap","wrap","paddingLeft","paddingRight","background","hasRadius","borderColor","height","Checkbox","aria-label","getTrad","defaultMessage","checked","onCheckedChange","SortPicker","value","sort","Filters","appliedFilters","marginLeft","shrink","paddingTop","IconButton","label","onClick","LIST","List","GridIcon","SearchAsset","queryValue","Breadcrumbs","currentFolderId","EmptyAssets","size","count","action","Button","variant","startIcon","Plus","content","TableList","indeterminate","isFolderSelectionAllowed","onSelectOne","onSelectAll","rows","selected","shouldDisableBulkSelect","sortQuery","_Fragment","FolderGridList","title","Grid","Item","col","direction","FolderCard","ariaLabel","name","path","cardActions","withTooltip","Pencil","FolderCardBody","FolderCardBodyAction","tag","maxWidth","fontWeight","ellipsis","textColor","VisuallyHidden","children","filesCount","files","Divider","AssetGridList","page","pageCount","PageSize","pageSize","PaginationFooter","activePage"],"mappings":"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"}
1
+ {"version":3,"file":"BrowseStep.js","sources":["../../../../../admin/src/components/AssetDialog/BrowseStep/BrowseStep.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport {\n Checkbox,\n Box,\n Button,\n Divider,\n Flex,\n IconButton,\n Typography,\n VisuallyHidden,\n Grid,\n} from '@strapi/design-system';\nimport { GridFour as GridIcon, List, Pencil, Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { localStorageKeys, viewOptions } from '../../../constants';\nimport { useFolder } from '../../../hooks/useFolder';\nimport { usePersistentState } from '../../../hooks/usePersistentState';\nimport {\n getBreadcrumbDataCM,\n toSingularTypes,\n getTrad,\n getAllowedFiles,\n BreadcrumbDataFolder,\n AllowedFiles,\n} from '../../../utils';\nimport { AssetGridList } from '../../AssetGridList/AssetGridList';\nimport { Breadcrumbs } from '../../Breadcrumbs/Breadcrumbs';\nimport { EmptyAssets } from '../../EmptyAssets/EmptyAssets';\nimport { FolderCard } from '../../FolderCard/FolderCard/FolderCard';\nimport { FolderCardBody } from '../../FolderCard/FolderCardBody/FolderCardBody';\nimport { FolderCardBodyAction } from '../../FolderCard/FolderCardBodyAction/FolderCardBodyAction';\nimport { FolderGridList } from '../../FolderGridList/FolderGridList';\nimport { SortPicker } from '../../SortPicker/SortPicker';\nimport { TableList, FolderRow, FileRow } from '../../TableList/TableList';\n\nimport { Filters, FilterStructure as ImportedFilterStructure } from './Filters';\nimport { PageSize } from './PageSize';\nimport { PaginationFooter } from './PaginationFooter/PaginationFooter';\nimport { SearchAsset } from './SearchAsset/SearchAsset';\nimport { isSelectable } from './utils/isSelectable';\n\nimport type { File, Query, FilterCondition } from '../../../../../shared/contracts/files';\nimport type { Folder } from '../../../../../shared/contracts/folders';\nimport type { AllowedTypes } from '../../AssetCard/AssetCard';\n\nconst TypographyMaxWidth = styled(Typography)`\n max-width: 100%;\n`;\n\nconst ActionContainer = styled(Box)`\n svg {\n path {\n fill: ${({ theme }) => theme.colors.neutral500};\n }\n }\n`;\n\ntype NumberKeyedObject = Record<number, string>;\n\ntype StringFilter = {\n [key: string]: string;\n};\n\ntype MimeFilter = {\n [key: string]:\n | string\n | NumberKeyedObject\n | Record<string, string | NumberKeyedObject>\n | undefined;\n};\n\nexport type FilterStructure = {\n [key: string]: MimeFilter | StringFilter | undefined;\n};\n\nexport type Filter = {\n [key in 'mime' | 'createdAt' | 'updatedAt']?:\n | {\n [key in '$contains' | '$notContains' | '$eq' | '$not']?:\n | string[]\n | string\n | { $contains: string[] };\n }\n | undefined;\n};\n\nexport interface FolderWithType extends Omit<Folder, 'children' | 'files'> {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n children?: Folder['children'] & {\n count: number;\n };\n files?: Folder['files'] & {\n count: number;\n };\n}\n\nexport interface FileWithType extends File {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n}\n\nexport interface BrowseStepProps {\n allowedTypes?: AllowedTypes[];\n assets: File[];\n canCreate: boolean;\n canRead: boolean;\n folders?: FolderWithType[];\n multiple?: boolean;\n onAddAsset: () => void;\n onChangeFilters: (filters: FilterCondition<string>[] | Filter[]) => void;\n onChangeFolder: (id: number, path?: string) => void;\n onChangePage: (page: number) => void;\n onChangePageSize: (value: number) => void;\n onChangeSort: (value: Query['sort'] | string) => void;\n onChangeSearch: (_q?: Query['_q'] | null) => void;\n onEditAsset: ((asset: FileWithType) => void) | null;\n onEditFolder: ((folder: FolderRow) => void) | null;\n onSelectAsset: (element: FileRow | FolderRow) => void;\n onSelectAllAsset?: (checked: boolean | string, rows?: FolderRow[] | FileRow[]) => void;\n queryObject: Query;\n pagination: { pageCount: number };\n selectedAssets: FileWithType[] | FolderWithType[];\n}\n\nexport const BrowseStep = ({\n allowedTypes = [],\n assets: rawAssets,\n canCreate,\n canRead,\n folders = [],\n multiple = false,\n onAddAsset,\n onChangeFilters,\n onChangePage,\n onChangePageSize,\n onChangeSearch,\n onChangeSort,\n onChangeFolder,\n onEditAsset,\n onEditFolder,\n onSelectAllAsset,\n onSelectAsset,\n pagination,\n queryObject,\n selectedAssets,\n}: BrowseStepProps) => {\n const { formatMessage } = useIntl();\n const [view, setView] = usePersistentState(localStorageKeys.modalView, viewOptions.GRID);\n const isGridView = view === viewOptions.GRID;\n\n const { data: currentFolder, isLoading: isCurrentFolderLoading } = useFolder(\n queryObject?.folder as number | null | undefined,\n {\n enabled: canRead && !!queryObject?.folder,\n }\n );\n\n const singularTypes = toSingularTypes(allowedTypes);\n const assets = rawAssets.map((asset) => ({\n ...asset,\n isSelectable: isSelectable(singularTypes, asset?.mime),\n type: 'asset',\n }));\n\n const breadcrumbs = !isCurrentFolderLoading\n ? getBreadcrumbDataCM(currentFolder as BreadcrumbDataFolder)\n : undefined;\n\n const allAllowedAsset = getAllowedFiles(allowedTypes, assets as AllowedFiles[]);\n const areAllAssetSelected =\n allAllowedAsset.length > 0 &&\n selectedAssets.length > 0 &&\n allAllowedAsset.every(\n (asset) => selectedAssets.findIndex((currAsset) => currAsset.id === asset.id) !== -1\n );\n const hasSomeAssetSelected = allAllowedAsset.some(\n (asset) => selectedAssets.findIndex((currAsset) => currAsset.id === asset.id) !== -1\n );\n const isSearching = !!queryObject?._q;\n const isFiltering = !!queryObject?.filters?.$and?.length && queryObject.filters.$and.length > 0;\n const isSearchingOrFiltering = isSearching || isFiltering;\n const assetCount = assets.length;\n const folderCount = folders.length;\n const handleClickFolderCard = (...args: Parameters<typeof onChangeFolder>) => {\n // Search query will always fetch the same results\n // we remove it here to allow navigating in a folder and see the result of this navigation\n onChangeSearch('');\n onChangeFolder(...args);\n };\n\n return (\n <Box>\n {onSelectAllAsset && (\n <Box paddingBottom={4}>\n <Flex justifyContent=\"space-between\" alignItems=\"flex-start\">\n {(assetCount > 0 || folderCount > 0 || isFiltering) && (\n <Flex gap={2} wrap=\"wrap\">\n {multiple && isGridView && (\n <Flex\n paddingLeft={2}\n paddingRight={2}\n background=\"neutral0\"\n hasRadius\n borderColor=\"neutral200\"\n height=\"3.2rem\"\n >\n <Checkbox\n aria-label={formatMessage({\n id: getTrad('bulk.select.label'),\n defaultMessage: 'Select all assets',\n })}\n checked={\n !areAllAssetSelected && hasSomeAssetSelected\n ? 'indeterminate'\n : areAllAssetSelected\n }\n onCheckedChange={onSelectAllAsset}\n />\n </Flex>\n )}\n {isGridView && <SortPicker onChangeSort={onChangeSort} value={queryObject?.sort} />}\n <Filters\n appliedFilters={queryObject?.filters?.$and as ImportedFilterStructure[]}\n onChangeFilters={onChangeFilters}\n />\n </Flex>\n )}\n\n {(assetCount > 0 || folderCount > 0 || isSearching) && (\n <Flex marginLeft=\"auto\" shrink={0} gap={2}>\n <ActionContainer paddingTop={1} paddingBottom={1}>\n <IconButton\n label={\n isGridView\n ? formatMessage({\n id: 'view-switch.list',\n defaultMessage: 'List View',\n })\n : formatMessage({\n id: 'view-switch.grid',\n defaultMessage: 'Grid View',\n })\n }\n onClick={() => setView(isGridView ? viewOptions.LIST : viewOptions.GRID)}\n >\n {isGridView ? <List /> : <GridIcon />}\n </IconButton>\n </ActionContainer>\n <SearchAsset onChangeSearch={onChangeSearch} queryValue={queryObject._q || ''} />\n </Flex>\n )}\n </Flex>\n </Box>\n )}\n\n {canRead && breadcrumbs?.length && breadcrumbs.length > 0 && currentFolder && (\n <Box paddingTop={3}>\n <Breadcrumbs\n onChangeFolder={onChangeFolder}\n label={formatMessage({\n id: getTrad('header.breadcrumbs.nav.label'),\n defaultMessage: 'Folders navigation',\n })}\n breadcrumbs={breadcrumbs as BreadcrumbDataFolder[]}\n currentFolderId={queryObject?.folder as number | undefined}\n />\n </Box>\n )}\n\n {assetCount === 0 && folderCount === 0 && (\n <Box paddingBottom={6}>\n <EmptyAssets\n size=\"S\"\n count={6}\n action={\n canCreate &&\n !isFiltering &&\n !isSearching && (\n <Button variant=\"secondary\" startIcon={<Plus />} onClick={onAddAsset}>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Button>\n )\n }\n content={\n // eslint-disable-next-line no-nested-ternary\n isSearchingOrFiltering\n ? formatMessage({\n id: getTrad('list.assets-empty.title-withSearch'),\n defaultMessage: 'There are no assets with the applied filters',\n })\n : canCreate && !isSearching\n ? formatMessage({\n id: getTrad('list.assets.empty'),\n defaultMessage: 'Upload your first assets...',\n })\n : formatMessage({\n id: getTrad('list.assets.empty.no-permissions'),\n defaultMessage: 'The asset list is empty',\n })\n }\n />\n </Box>\n )}\n\n {!isGridView && (folderCount > 0 || assetCount > 0) && (\n <TableList\n allowedTypes={allowedTypes}\n assetCount={assetCount}\n folderCount={folderCount}\n indeterminate={!areAllAssetSelected && hasSomeAssetSelected}\n isFolderSelectionAllowed={false}\n onChangeSort={onChangeSort}\n onChangeFolder={handleClickFolderCard}\n onEditAsset={onEditAsset}\n onEditFolder={onEditFolder}\n onSelectOne={onSelectAsset}\n onSelectAll={onSelectAllAsset!}\n rows={\n [...folders.map((folder) => ({ ...folder, type: 'folder' })), ...assets] as\n | FolderRow[]\n | FileRow[]\n }\n selected={selectedAssets}\n shouldDisableBulkSelect={!multiple}\n sortQuery={queryObject?.sort ?? ''}\n />\n )}\n\n {isGridView && (\n <>\n {folderCount > 0 && (\n <FolderGridList\n title={\n (((isSearchingOrFiltering && assetCount > 0) || !isSearchingOrFiltering) &&\n formatMessage(\n {\n id: getTrad('list.folders.title'),\n defaultMessage: 'Folders ({count})',\n },\n { count: folderCount }\n )) ||\n ''\n }\n >\n {folders.map((folder) => {\n return (\n <Grid.Item\n col={3}\n key={`folder-${folder.id}`}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <FolderCard\n ariaLabel={folder.name}\n id={`folder-${folder.id}`}\n onClick={() => handleClickFolderCard(folder.id, folder.path)}\n cardActions={\n onEditFolder && (\n <IconButton\n withTooltip={false}\n label={formatMessage({\n id: getTrad('list.folder.edit'),\n defaultMessage: 'Edit folder',\n })}\n onClick={() => onEditFolder(folder)}\n >\n <Pencil />\n </IconButton>\n )\n }\n >\n <FolderCardBody>\n <FolderCardBodyAction\n onClick={() => handleClickFolderCard(folder.id, folder.path)}\n >\n <Flex tag=\"h2\" direction=\"column\" alignItems=\"start\" maxWidth=\"100%\">\n <TypographyMaxWidth\n fontWeight=\"semiBold\"\n ellipsis\n textColor=\"neutral800\"\n >\n {folder.name}\n {/* VisuallyHidden dash here allows to separate folder title and count informations\n for voice reading structure purpose */}\n <VisuallyHidden>-</VisuallyHidden>\n </TypographyMaxWidth>\n <TypographyMaxWidth\n tag=\"span\"\n textColor=\"neutral600\"\n variant=\"pi\"\n ellipsis\n >\n {formatMessage(\n {\n id: getTrad('list.folder.subtitle'),\n defaultMessage:\n '{folderCount, plural, =0 {# folder} one {# folder} other {# folders}}, {filesCount, plural, =0 {# asset} one {# asset} other {# assets}}',\n },\n {\n folderCount: folder.children?.count,\n filesCount: folder.files?.count,\n }\n )}\n </TypographyMaxWidth>\n </Flex>\n </FolderCardBodyAction>\n </FolderCardBody>\n </FolderCard>\n </Grid.Item>\n );\n })}\n </FolderGridList>\n )}\n\n {assetCount > 0 && folderCount > 0 && (\n <Box paddingTop={6}>\n <Divider />\n </Box>\n )}\n\n {assetCount > 0 && (\n <Box paddingTop={6}>\n <AssetGridList\n allowedTypes={allowedTypes}\n size=\"S\"\n assets={assets}\n onSelectAsset={onSelectAsset}\n selectedAssets={selectedAssets as FileWithType[]}\n onEditAsset={onEditAsset!}\n title={\n ((!isSearchingOrFiltering || (isSearchingOrFiltering && folderCount > 0)) &&\n queryObject.page === 1 &&\n formatMessage(\n {\n id: getTrad('list.assets.title'),\n defaultMessage: 'Assets ({count})',\n },\n { count: assetCount }\n )) ||\n ''\n }\n />\n </Box>\n )}\n </>\n )}\n\n {pagination.pageCount > 0 && (\n <Flex justifyContent=\"space-between\" paddingTop={4} position=\"relative\" zIndex={1}>\n <PageSize\n pageSize={queryObject.pageSize! as number}\n onChangePageSize={onChangePageSize}\n />\n <PaginationFooter\n activePage={queryObject.page as number}\n onChangePage={onChangePage}\n pagination={pagination}\n />\n </Flex>\n )}\n </Box>\n );\n};\n"],"names":["TypographyMaxWidth","styled","Typography","ActionContainer","Box","theme","colors","neutral500","BrowseStep","allowedTypes","assets","rawAssets","canCreate","canRead","folders","multiple","onAddAsset","onChangeFilters","onChangePage","onChangePageSize","onChangeSearch","onChangeSort","onChangeFolder","onEditAsset","onEditFolder","onSelectAllAsset","onSelectAsset","pagination","queryObject","selectedAssets","formatMessage","useIntl","view","setView","usePersistentState","localStorageKeys","modalView","viewOptions","GRID","isGridView","data","currentFolder","isLoading","isCurrentFolderLoading","useFolder","folder","enabled","singularTypes","toSingularTypes","map","asset","isSelectable","mime","type","breadcrumbs","getBreadcrumbDataCM","undefined","allAllowedAsset","getAllowedFiles","areAllAssetSelected","length","every","findIndex","currAsset","id","hasSomeAssetSelected","some","isSearching","_q","isFiltering","filters","$and","isSearchingOrFiltering","assetCount","folderCount","handleClickFolderCard","args","_jsxs","_jsx","paddingBottom","Flex","justifyContent","alignItems","gap","wrap","paddingLeft","paddingRight","background","hasRadius","borderColor","height","Checkbox","aria-label","getTrad","defaultMessage","checked","onCheckedChange","SortPicker","value","sort","Filters","appliedFilters","marginLeft","shrink","paddingTop","IconButton","label","onClick","LIST","List","GridIcon","SearchAsset","queryValue","Breadcrumbs","currentFolderId","EmptyAssets","size","count","action","Button","variant","startIcon","Plus","content","TableList","indeterminate","isFolderSelectionAllowed","onSelectOne","onSelectAll","rows","selected","shouldDisableBulkSelect","sortQuery","_Fragment","FolderGridList","title","Grid","Item","col","direction","FolderCard","ariaLabel","name","path","cardActions","withTooltip","Pencil","FolderCardBody","FolderCardBodyAction","tag","maxWidth","fontWeight","ellipsis","textColor","VisuallyHidden","children","filesCount","files","Divider","AssetGridList","page","pageCount","position","zIndex","PageSize","pageSize","PaginationFooter","activePage"],"mappings":"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"}
@@ -291,6 +291,8 @@ const BrowseStep = ({ allowedTypes = [], assets: rawAssets, canCreate, canRead,
291
291
  pagination.pageCount > 0 && /*#__PURE__*/ jsxs(Flex, {
292
292
  justifyContent: "space-between",
293
293
  paddingTop: 4,
294
+ position: "relative",
295
+ zIndex: 1,
294
296
  children: [
295
297
  /*#__PURE__*/ jsx(PageSize, {
296
298
  pageSize: queryObject.pageSize,
@@ -1 +1 @@
1
- {"version":3,"file":"BrowseStep.mjs","sources":["../../../../../admin/src/components/AssetDialog/BrowseStep/BrowseStep.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport {\n Checkbox,\n Box,\n Button,\n Divider,\n Flex,\n IconButton,\n Typography,\n VisuallyHidden,\n Grid,\n} from '@strapi/design-system';\nimport { GridFour as GridIcon, List, Pencil, Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { localStorageKeys, viewOptions } from '../../../constants';\nimport { useFolder } from '../../../hooks/useFolder';\nimport { usePersistentState } from '../../../hooks/usePersistentState';\nimport {\n getBreadcrumbDataCM,\n toSingularTypes,\n getTrad,\n getAllowedFiles,\n BreadcrumbDataFolder,\n AllowedFiles,\n} from '../../../utils';\nimport { AssetGridList } from '../../AssetGridList/AssetGridList';\nimport { Breadcrumbs } from '../../Breadcrumbs/Breadcrumbs';\nimport { EmptyAssets } from '../../EmptyAssets/EmptyAssets';\nimport { FolderCard } from '../../FolderCard/FolderCard/FolderCard';\nimport { FolderCardBody } from '../../FolderCard/FolderCardBody/FolderCardBody';\nimport { FolderCardBodyAction } from '../../FolderCard/FolderCardBodyAction/FolderCardBodyAction';\nimport { FolderGridList } from '../../FolderGridList/FolderGridList';\nimport { SortPicker } from '../../SortPicker/SortPicker';\nimport { TableList, FolderRow, FileRow } from '../../TableList/TableList';\n\nimport { Filters, FilterStructure as ImportedFilterStructure } from './Filters';\nimport { PageSize } from './PageSize';\nimport { PaginationFooter } from './PaginationFooter/PaginationFooter';\nimport { SearchAsset } from './SearchAsset/SearchAsset';\nimport { isSelectable } from './utils/isSelectable';\n\nimport type { File, Query, FilterCondition } from '../../../../../shared/contracts/files';\nimport type { Folder } from '../../../../../shared/contracts/folders';\nimport type { AllowedTypes } from '../../AssetCard/AssetCard';\n\nconst TypographyMaxWidth = styled(Typography)`\n max-width: 100%;\n`;\n\nconst ActionContainer = styled(Box)`\n svg {\n path {\n fill: ${({ theme }) => theme.colors.neutral500};\n }\n }\n`;\n\ntype NumberKeyedObject = Record<number, string>;\n\ntype StringFilter = {\n [key: string]: string;\n};\n\ntype MimeFilter = {\n [key: string]:\n | string\n | NumberKeyedObject\n | Record<string, string | NumberKeyedObject>\n | undefined;\n};\n\nexport type FilterStructure = {\n [key: string]: MimeFilter | StringFilter | undefined;\n};\n\nexport type Filter = {\n [key in 'mime' | 'createdAt' | 'updatedAt']?:\n | {\n [key in '$contains' | '$notContains' | '$eq' | '$not']?:\n | string[]\n | string\n | { $contains: string[] };\n }\n | undefined;\n};\n\nexport interface FolderWithType extends Omit<Folder, 'children' | 'files'> {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n children?: Folder['children'] & {\n count: number;\n };\n files?: Folder['files'] & {\n count: number;\n };\n}\n\nexport interface FileWithType extends File {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n}\n\nexport interface BrowseStepProps {\n allowedTypes?: AllowedTypes[];\n assets: File[];\n canCreate: boolean;\n canRead: boolean;\n folders?: FolderWithType[];\n multiple?: boolean;\n onAddAsset: () => void;\n onChangeFilters: (filters: FilterCondition<string>[] | Filter[]) => void;\n onChangeFolder: (id: number, path?: string) => void;\n onChangePage: (page: number) => void;\n onChangePageSize: (value: number) => void;\n onChangeSort: (value: Query['sort'] | string) => void;\n onChangeSearch: (_q?: Query['_q'] | null) => void;\n onEditAsset: ((asset: FileWithType) => void) | null;\n onEditFolder: ((folder: FolderRow) => void) | null;\n onSelectAsset: (element: FileRow | FolderRow) => void;\n onSelectAllAsset?: (checked: boolean | string, rows?: FolderRow[] | FileRow[]) => void;\n queryObject: Query;\n pagination: { pageCount: number };\n selectedAssets: FileWithType[] | FolderWithType[];\n}\n\nexport const BrowseStep = ({\n allowedTypes = [],\n assets: rawAssets,\n canCreate,\n canRead,\n folders = [],\n multiple = false,\n onAddAsset,\n onChangeFilters,\n onChangePage,\n onChangePageSize,\n onChangeSearch,\n onChangeSort,\n onChangeFolder,\n onEditAsset,\n onEditFolder,\n onSelectAllAsset,\n onSelectAsset,\n pagination,\n queryObject,\n selectedAssets,\n}: BrowseStepProps) => {\n const { formatMessage } = useIntl();\n const [view, setView] = usePersistentState(localStorageKeys.modalView, viewOptions.GRID);\n const isGridView = view === viewOptions.GRID;\n\n const { data: currentFolder, isLoading: isCurrentFolderLoading } = useFolder(\n queryObject?.folder as number | null | undefined,\n {\n enabled: canRead && !!queryObject?.folder,\n }\n );\n\n const singularTypes = toSingularTypes(allowedTypes);\n const assets = rawAssets.map((asset) => ({\n ...asset,\n isSelectable: isSelectable(singularTypes, asset?.mime),\n type: 'asset',\n }));\n\n const breadcrumbs = !isCurrentFolderLoading\n ? getBreadcrumbDataCM(currentFolder as BreadcrumbDataFolder)\n : undefined;\n\n const allAllowedAsset = getAllowedFiles(allowedTypes, assets as AllowedFiles[]);\n const areAllAssetSelected =\n allAllowedAsset.length > 0 &&\n selectedAssets.length > 0 &&\n allAllowedAsset.every(\n (asset) => selectedAssets.findIndex((currAsset) => currAsset.id === asset.id) !== -1\n );\n const hasSomeAssetSelected = allAllowedAsset.some(\n (asset) => selectedAssets.findIndex((currAsset) => currAsset.id === asset.id) !== -1\n );\n const isSearching = !!queryObject?._q;\n const isFiltering = !!queryObject?.filters?.$and?.length && queryObject.filters.$and.length > 0;\n const isSearchingOrFiltering = isSearching || isFiltering;\n const assetCount = assets.length;\n const folderCount = folders.length;\n const handleClickFolderCard = (...args: Parameters<typeof onChangeFolder>) => {\n // Search query will always fetch the same results\n // we remove it here to allow navigating in a folder and see the result of this navigation\n onChangeSearch('');\n onChangeFolder(...args);\n };\n\n return (\n <Box>\n {onSelectAllAsset && (\n <Box paddingBottom={4}>\n <Flex justifyContent=\"space-between\" alignItems=\"flex-start\">\n {(assetCount > 0 || folderCount > 0 || isFiltering) && (\n <Flex gap={2} wrap=\"wrap\">\n {multiple && isGridView && (\n <Flex\n paddingLeft={2}\n paddingRight={2}\n background=\"neutral0\"\n hasRadius\n borderColor=\"neutral200\"\n height=\"3.2rem\"\n >\n <Checkbox\n aria-label={formatMessage({\n id: getTrad('bulk.select.label'),\n defaultMessage: 'Select all assets',\n })}\n checked={\n !areAllAssetSelected && hasSomeAssetSelected\n ? 'indeterminate'\n : areAllAssetSelected\n }\n onCheckedChange={onSelectAllAsset}\n />\n </Flex>\n )}\n {isGridView && <SortPicker onChangeSort={onChangeSort} value={queryObject?.sort} />}\n <Filters\n appliedFilters={queryObject?.filters?.$and as ImportedFilterStructure[]}\n onChangeFilters={onChangeFilters}\n />\n </Flex>\n )}\n\n {(assetCount > 0 || folderCount > 0 || isSearching) && (\n <Flex marginLeft=\"auto\" shrink={0} gap={2}>\n <ActionContainer paddingTop={1} paddingBottom={1}>\n <IconButton\n label={\n isGridView\n ? formatMessage({\n id: 'view-switch.list',\n defaultMessage: 'List View',\n })\n : formatMessage({\n id: 'view-switch.grid',\n defaultMessage: 'Grid View',\n })\n }\n onClick={() => setView(isGridView ? viewOptions.LIST : viewOptions.GRID)}\n >\n {isGridView ? <List /> : <GridIcon />}\n </IconButton>\n </ActionContainer>\n <SearchAsset onChangeSearch={onChangeSearch} queryValue={queryObject._q || ''} />\n </Flex>\n )}\n </Flex>\n </Box>\n )}\n\n {canRead && breadcrumbs?.length && breadcrumbs.length > 0 && currentFolder && (\n <Box paddingTop={3}>\n <Breadcrumbs\n onChangeFolder={onChangeFolder}\n label={formatMessage({\n id: getTrad('header.breadcrumbs.nav.label'),\n defaultMessage: 'Folders navigation',\n })}\n breadcrumbs={breadcrumbs as BreadcrumbDataFolder[]}\n currentFolderId={queryObject?.folder as number | undefined}\n />\n </Box>\n )}\n\n {assetCount === 0 && folderCount === 0 && (\n <Box paddingBottom={6}>\n <EmptyAssets\n size=\"S\"\n count={6}\n action={\n canCreate &&\n !isFiltering &&\n !isSearching && (\n <Button variant=\"secondary\" startIcon={<Plus />} onClick={onAddAsset}>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Button>\n )\n }\n content={\n // eslint-disable-next-line no-nested-ternary\n isSearchingOrFiltering\n ? formatMessage({\n id: getTrad('list.assets-empty.title-withSearch'),\n defaultMessage: 'There are no assets with the applied filters',\n })\n : canCreate && !isSearching\n ? formatMessage({\n id: getTrad('list.assets.empty'),\n defaultMessage: 'Upload your first assets...',\n })\n : formatMessage({\n id: getTrad('list.assets.empty.no-permissions'),\n defaultMessage: 'The asset list is empty',\n })\n }\n />\n </Box>\n )}\n\n {!isGridView && (folderCount > 0 || assetCount > 0) && (\n <TableList\n allowedTypes={allowedTypes}\n assetCount={assetCount}\n folderCount={folderCount}\n indeterminate={!areAllAssetSelected && hasSomeAssetSelected}\n isFolderSelectionAllowed={false}\n onChangeSort={onChangeSort}\n onChangeFolder={handleClickFolderCard}\n onEditAsset={onEditAsset}\n onEditFolder={onEditFolder}\n onSelectOne={onSelectAsset}\n onSelectAll={onSelectAllAsset!}\n rows={\n [...folders.map((folder) => ({ ...folder, type: 'folder' })), ...assets] as\n | FolderRow[]\n | FileRow[]\n }\n selected={selectedAssets}\n shouldDisableBulkSelect={!multiple}\n sortQuery={queryObject?.sort ?? ''}\n />\n )}\n\n {isGridView && (\n <>\n {folderCount > 0 && (\n <FolderGridList\n title={\n (((isSearchingOrFiltering && assetCount > 0) || !isSearchingOrFiltering) &&\n formatMessage(\n {\n id: getTrad('list.folders.title'),\n defaultMessage: 'Folders ({count})',\n },\n { count: folderCount }\n )) ||\n ''\n }\n >\n {folders.map((folder) => {\n return (\n <Grid.Item\n col={3}\n key={`folder-${folder.id}`}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <FolderCard\n ariaLabel={folder.name}\n id={`folder-${folder.id}`}\n onClick={() => handleClickFolderCard(folder.id, folder.path)}\n cardActions={\n onEditFolder && (\n <IconButton\n withTooltip={false}\n label={formatMessage({\n id: getTrad('list.folder.edit'),\n defaultMessage: 'Edit folder',\n })}\n onClick={() => onEditFolder(folder)}\n >\n <Pencil />\n </IconButton>\n )\n }\n >\n <FolderCardBody>\n <FolderCardBodyAction\n onClick={() => handleClickFolderCard(folder.id, folder.path)}\n >\n <Flex tag=\"h2\" direction=\"column\" alignItems=\"start\" maxWidth=\"100%\">\n <TypographyMaxWidth\n fontWeight=\"semiBold\"\n ellipsis\n textColor=\"neutral800\"\n >\n {folder.name}\n {/* VisuallyHidden dash here allows to separate folder title and count informations\n for voice reading structure purpose */}\n <VisuallyHidden>-</VisuallyHidden>\n </TypographyMaxWidth>\n <TypographyMaxWidth\n tag=\"span\"\n textColor=\"neutral600\"\n variant=\"pi\"\n ellipsis\n >\n {formatMessage(\n {\n id: getTrad('list.folder.subtitle'),\n defaultMessage:\n '{folderCount, plural, =0 {# folder} one {# folder} other {# folders}}, {filesCount, plural, =0 {# asset} one {# asset} other {# assets}}',\n },\n {\n folderCount: folder.children?.count,\n filesCount: folder.files?.count,\n }\n )}\n </TypographyMaxWidth>\n </Flex>\n </FolderCardBodyAction>\n </FolderCardBody>\n </FolderCard>\n </Grid.Item>\n );\n })}\n </FolderGridList>\n )}\n\n {assetCount > 0 && folderCount > 0 && (\n <Box paddingTop={6}>\n <Divider />\n </Box>\n )}\n\n {assetCount > 0 && (\n <Box paddingTop={6}>\n <AssetGridList\n allowedTypes={allowedTypes}\n size=\"S\"\n assets={assets}\n onSelectAsset={onSelectAsset}\n selectedAssets={selectedAssets as FileWithType[]}\n onEditAsset={onEditAsset!}\n title={\n ((!isSearchingOrFiltering || (isSearchingOrFiltering && folderCount > 0)) &&\n queryObject.page === 1 &&\n formatMessage(\n {\n id: getTrad('list.assets.title'),\n defaultMessage: 'Assets ({count})',\n },\n { count: assetCount }\n )) ||\n ''\n }\n />\n </Box>\n )}\n </>\n )}\n\n {pagination.pageCount > 0 && (\n <Flex justifyContent=\"space-between\" paddingTop={4}>\n <PageSize\n pageSize={queryObject.pageSize! as number}\n onChangePageSize={onChangePageSize}\n />\n <PaginationFooter\n activePage={queryObject.page as number}\n onChangePage={onChangePage}\n pagination={pagination}\n />\n </Flex>\n )}\n </Box>\n );\n};\n"],"names":["TypographyMaxWidth","styled","Typography","ActionContainer","Box","theme","colors","neutral500","BrowseStep","allowedTypes","assets","rawAssets","canCreate","canRead","folders","multiple","onAddAsset","onChangeFilters","onChangePage","onChangePageSize","onChangeSearch","onChangeSort","onChangeFolder","onEditAsset","onEditFolder","onSelectAllAsset","onSelectAsset","pagination","queryObject","selectedAssets","formatMessage","useIntl","view","setView","usePersistentState","localStorageKeys","modalView","viewOptions","GRID","isGridView","data","currentFolder","isLoading","isCurrentFolderLoading","useFolder","folder","enabled","singularTypes","toSingularTypes","map","asset","isSelectable","mime","type","breadcrumbs","getBreadcrumbDataCM","undefined","allAllowedAsset","getAllowedFiles","areAllAssetSelected","length","every","findIndex","currAsset","id","hasSomeAssetSelected","some","isSearching","_q","isFiltering","filters","$and","isSearchingOrFiltering","assetCount","folderCount","handleClickFolderCard","args","_jsxs","_jsx","paddingBottom","Flex","justifyContent","alignItems","gap","wrap","paddingLeft","paddingRight","background","hasRadius","borderColor","height","Checkbox","aria-label","getTrad","defaultMessage","checked","onCheckedChange","SortPicker","value","sort","Filters","appliedFilters","marginLeft","shrink","paddingTop","IconButton","label","onClick","LIST","List","GridIcon","SearchAsset","queryValue","Breadcrumbs","currentFolderId","EmptyAssets","size","count","action","Button","variant","startIcon","Plus","content","TableList","indeterminate","isFolderSelectionAllowed","onSelectOne","onSelectAll","rows","selected","shouldDisableBulkSelect","sortQuery","_Fragment","FolderGridList","title","Grid","Item","col","direction","FolderCard","ariaLabel","name","path","cardActions","withTooltip","Pencil","FolderCardBody","FolderCardBodyAction","tag","maxWidth","fontWeight","ellipsis","textColor","VisuallyHidden","children","filesCount","files","Divider","AssetGridList","page","pageCount","PageSize","pageSize","PaginationFooter","activePage"],"mappings":"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"}
1
+ {"version":3,"file":"BrowseStep.mjs","sources":["../../../../../admin/src/components/AssetDialog/BrowseStep/BrowseStep.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport {\n Checkbox,\n Box,\n Button,\n Divider,\n Flex,\n IconButton,\n Typography,\n VisuallyHidden,\n Grid,\n} from '@strapi/design-system';\nimport { GridFour as GridIcon, List, Pencil, Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { localStorageKeys, viewOptions } from '../../../constants';\nimport { useFolder } from '../../../hooks/useFolder';\nimport { usePersistentState } from '../../../hooks/usePersistentState';\nimport {\n getBreadcrumbDataCM,\n toSingularTypes,\n getTrad,\n getAllowedFiles,\n BreadcrumbDataFolder,\n AllowedFiles,\n} from '../../../utils';\nimport { AssetGridList } from '../../AssetGridList/AssetGridList';\nimport { Breadcrumbs } from '../../Breadcrumbs/Breadcrumbs';\nimport { EmptyAssets } from '../../EmptyAssets/EmptyAssets';\nimport { FolderCard } from '../../FolderCard/FolderCard/FolderCard';\nimport { FolderCardBody } from '../../FolderCard/FolderCardBody/FolderCardBody';\nimport { FolderCardBodyAction } from '../../FolderCard/FolderCardBodyAction/FolderCardBodyAction';\nimport { FolderGridList } from '../../FolderGridList/FolderGridList';\nimport { SortPicker } from '../../SortPicker/SortPicker';\nimport { TableList, FolderRow, FileRow } from '../../TableList/TableList';\n\nimport { Filters, FilterStructure as ImportedFilterStructure } from './Filters';\nimport { PageSize } from './PageSize';\nimport { PaginationFooter } from './PaginationFooter/PaginationFooter';\nimport { SearchAsset } from './SearchAsset/SearchAsset';\nimport { isSelectable } from './utils/isSelectable';\n\nimport type { File, Query, FilterCondition } from '../../../../../shared/contracts/files';\nimport type { Folder } from '../../../../../shared/contracts/folders';\nimport type { AllowedTypes } from '../../AssetCard/AssetCard';\n\nconst TypographyMaxWidth = styled(Typography)`\n max-width: 100%;\n`;\n\nconst ActionContainer = styled(Box)`\n svg {\n path {\n fill: ${({ theme }) => theme.colors.neutral500};\n }\n }\n`;\n\ntype NumberKeyedObject = Record<number, string>;\n\ntype StringFilter = {\n [key: string]: string;\n};\n\ntype MimeFilter = {\n [key: string]:\n | string\n | NumberKeyedObject\n | Record<string, string | NumberKeyedObject>\n | undefined;\n};\n\nexport type FilterStructure = {\n [key: string]: MimeFilter | StringFilter | undefined;\n};\n\nexport type Filter = {\n [key in 'mime' | 'createdAt' | 'updatedAt']?:\n | {\n [key in '$contains' | '$notContains' | '$eq' | '$not']?:\n | string[]\n | string\n | { $contains: string[] };\n }\n | undefined;\n};\n\nexport interface FolderWithType extends Omit<Folder, 'children' | 'files'> {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n children?: Folder['children'] & {\n count: number;\n };\n files?: Folder['files'] & {\n count: number;\n };\n}\n\nexport interface FileWithType extends File {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n}\n\nexport interface BrowseStepProps {\n allowedTypes?: AllowedTypes[];\n assets: File[];\n canCreate: boolean;\n canRead: boolean;\n folders?: FolderWithType[];\n multiple?: boolean;\n onAddAsset: () => void;\n onChangeFilters: (filters: FilterCondition<string>[] | Filter[]) => void;\n onChangeFolder: (id: number, path?: string) => void;\n onChangePage: (page: number) => void;\n onChangePageSize: (value: number) => void;\n onChangeSort: (value: Query['sort'] | string) => void;\n onChangeSearch: (_q?: Query['_q'] | null) => void;\n onEditAsset: ((asset: FileWithType) => void) | null;\n onEditFolder: ((folder: FolderRow) => void) | null;\n onSelectAsset: (element: FileRow | FolderRow) => void;\n onSelectAllAsset?: (checked: boolean | string, rows?: FolderRow[] | FileRow[]) => void;\n queryObject: Query;\n pagination: { pageCount: number };\n selectedAssets: FileWithType[] | FolderWithType[];\n}\n\nexport const BrowseStep = ({\n allowedTypes = [],\n assets: rawAssets,\n canCreate,\n canRead,\n folders = [],\n multiple = false,\n onAddAsset,\n onChangeFilters,\n onChangePage,\n onChangePageSize,\n onChangeSearch,\n onChangeSort,\n onChangeFolder,\n onEditAsset,\n onEditFolder,\n onSelectAllAsset,\n onSelectAsset,\n pagination,\n queryObject,\n selectedAssets,\n}: BrowseStepProps) => {\n const { formatMessage } = useIntl();\n const [view, setView] = usePersistentState(localStorageKeys.modalView, viewOptions.GRID);\n const isGridView = view === viewOptions.GRID;\n\n const { data: currentFolder, isLoading: isCurrentFolderLoading } = useFolder(\n queryObject?.folder as number | null | undefined,\n {\n enabled: canRead && !!queryObject?.folder,\n }\n );\n\n const singularTypes = toSingularTypes(allowedTypes);\n const assets = rawAssets.map((asset) => ({\n ...asset,\n isSelectable: isSelectable(singularTypes, asset?.mime),\n type: 'asset',\n }));\n\n const breadcrumbs = !isCurrentFolderLoading\n ? getBreadcrumbDataCM(currentFolder as BreadcrumbDataFolder)\n : undefined;\n\n const allAllowedAsset = getAllowedFiles(allowedTypes, assets as AllowedFiles[]);\n const areAllAssetSelected =\n allAllowedAsset.length > 0 &&\n selectedAssets.length > 0 &&\n allAllowedAsset.every(\n (asset) => selectedAssets.findIndex((currAsset) => currAsset.id === asset.id) !== -1\n );\n const hasSomeAssetSelected = allAllowedAsset.some(\n (asset) => selectedAssets.findIndex((currAsset) => currAsset.id === asset.id) !== -1\n );\n const isSearching = !!queryObject?._q;\n const isFiltering = !!queryObject?.filters?.$and?.length && queryObject.filters.$and.length > 0;\n const isSearchingOrFiltering = isSearching || isFiltering;\n const assetCount = assets.length;\n const folderCount = folders.length;\n const handleClickFolderCard = (...args: Parameters<typeof onChangeFolder>) => {\n // Search query will always fetch the same results\n // we remove it here to allow navigating in a folder and see the result of this navigation\n onChangeSearch('');\n onChangeFolder(...args);\n };\n\n return (\n <Box>\n {onSelectAllAsset && (\n <Box paddingBottom={4}>\n <Flex justifyContent=\"space-between\" alignItems=\"flex-start\">\n {(assetCount > 0 || folderCount > 0 || isFiltering) && (\n <Flex gap={2} wrap=\"wrap\">\n {multiple && isGridView && (\n <Flex\n paddingLeft={2}\n paddingRight={2}\n background=\"neutral0\"\n hasRadius\n borderColor=\"neutral200\"\n height=\"3.2rem\"\n >\n <Checkbox\n aria-label={formatMessage({\n id: getTrad('bulk.select.label'),\n defaultMessage: 'Select all assets',\n })}\n checked={\n !areAllAssetSelected && hasSomeAssetSelected\n ? 'indeterminate'\n : areAllAssetSelected\n }\n onCheckedChange={onSelectAllAsset}\n />\n </Flex>\n )}\n {isGridView && <SortPicker onChangeSort={onChangeSort} value={queryObject?.sort} />}\n <Filters\n appliedFilters={queryObject?.filters?.$and as ImportedFilterStructure[]}\n onChangeFilters={onChangeFilters}\n />\n </Flex>\n )}\n\n {(assetCount > 0 || folderCount > 0 || isSearching) && (\n <Flex marginLeft=\"auto\" shrink={0} gap={2}>\n <ActionContainer paddingTop={1} paddingBottom={1}>\n <IconButton\n label={\n isGridView\n ? formatMessage({\n id: 'view-switch.list',\n defaultMessage: 'List View',\n })\n : formatMessage({\n id: 'view-switch.grid',\n defaultMessage: 'Grid View',\n })\n }\n onClick={() => setView(isGridView ? viewOptions.LIST : viewOptions.GRID)}\n >\n {isGridView ? <List /> : <GridIcon />}\n </IconButton>\n </ActionContainer>\n <SearchAsset onChangeSearch={onChangeSearch} queryValue={queryObject._q || ''} />\n </Flex>\n )}\n </Flex>\n </Box>\n )}\n\n {canRead && breadcrumbs?.length && breadcrumbs.length > 0 && currentFolder && (\n <Box paddingTop={3}>\n <Breadcrumbs\n onChangeFolder={onChangeFolder}\n label={formatMessage({\n id: getTrad('header.breadcrumbs.nav.label'),\n defaultMessage: 'Folders navigation',\n })}\n breadcrumbs={breadcrumbs as BreadcrumbDataFolder[]}\n currentFolderId={queryObject?.folder as number | undefined}\n />\n </Box>\n )}\n\n {assetCount === 0 && folderCount === 0 && (\n <Box paddingBottom={6}>\n <EmptyAssets\n size=\"S\"\n count={6}\n action={\n canCreate &&\n !isFiltering &&\n !isSearching && (\n <Button variant=\"secondary\" startIcon={<Plus />} onClick={onAddAsset}>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Button>\n )\n }\n content={\n // eslint-disable-next-line no-nested-ternary\n isSearchingOrFiltering\n ? formatMessage({\n id: getTrad('list.assets-empty.title-withSearch'),\n defaultMessage: 'There are no assets with the applied filters',\n })\n : canCreate && !isSearching\n ? formatMessage({\n id: getTrad('list.assets.empty'),\n defaultMessage: 'Upload your first assets...',\n })\n : formatMessage({\n id: getTrad('list.assets.empty.no-permissions'),\n defaultMessage: 'The asset list is empty',\n })\n }\n />\n </Box>\n )}\n\n {!isGridView && (folderCount > 0 || assetCount > 0) && (\n <TableList\n allowedTypes={allowedTypes}\n assetCount={assetCount}\n folderCount={folderCount}\n indeterminate={!areAllAssetSelected && hasSomeAssetSelected}\n isFolderSelectionAllowed={false}\n onChangeSort={onChangeSort}\n onChangeFolder={handleClickFolderCard}\n onEditAsset={onEditAsset}\n onEditFolder={onEditFolder}\n onSelectOne={onSelectAsset}\n onSelectAll={onSelectAllAsset!}\n rows={\n [...folders.map((folder) => ({ ...folder, type: 'folder' })), ...assets] as\n | FolderRow[]\n | FileRow[]\n }\n selected={selectedAssets}\n shouldDisableBulkSelect={!multiple}\n sortQuery={queryObject?.sort ?? ''}\n />\n )}\n\n {isGridView && (\n <>\n {folderCount > 0 && (\n <FolderGridList\n title={\n (((isSearchingOrFiltering && assetCount > 0) || !isSearchingOrFiltering) &&\n formatMessage(\n {\n id: getTrad('list.folders.title'),\n defaultMessage: 'Folders ({count})',\n },\n { count: folderCount }\n )) ||\n ''\n }\n >\n {folders.map((folder) => {\n return (\n <Grid.Item\n col={3}\n key={`folder-${folder.id}`}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <FolderCard\n ariaLabel={folder.name}\n id={`folder-${folder.id}`}\n onClick={() => handleClickFolderCard(folder.id, folder.path)}\n cardActions={\n onEditFolder && (\n <IconButton\n withTooltip={false}\n label={formatMessage({\n id: getTrad('list.folder.edit'),\n defaultMessage: 'Edit folder',\n })}\n onClick={() => onEditFolder(folder)}\n >\n <Pencil />\n </IconButton>\n )\n }\n >\n <FolderCardBody>\n <FolderCardBodyAction\n onClick={() => handleClickFolderCard(folder.id, folder.path)}\n >\n <Flex tag=\"h2\" direction=\"column\" alignItems=\"start\" maxWidth=\"100%\">\n <TypographyMaxWidth\n fontWeight=\"semiBold\"\n ellipsis\n textColor=\"neutral800\"\n >\n {folder.name}\n {/* VisuallyHidden dash here allows to separate folder title and count informations\n for voice reading structure purpose */}\n <VisuallyHidden>-</VisuallyHidden>\n </TypographyMaxWidth>\n <TypographyMaxWidth\n tag=\"span\"\n textColor=\"neutral600\"\n variant=\"pi\"\n ellipsis\n >\n {formatMessage(\n {\n id: getTrad('list.folder.subtitle'),\n defaultMessage:\n '{folderCount, plural, =0 {# folder} one {# folder} other {# folders}}, {filesCount, plural, =0 {# asset} one {# asset} other {# assets}}',\n },\n {\n folderCount: folder.children?.count,\n filesCount: folder.files?.count,\n }\n )}\n </TypographyMaxWidth>\n </Flex>\n </FolderCardBodyAction>\n </FolderCardBody>\n </FolderCard>\n </Grid.Item>\n );\n })}\n </FolderGridList>\n )}\n\n {assetCount > 0 && folderCount > 0 && (\n <Box paddingTop={6}>\n <Divider />\n </Box>\n )}\n\n {assetCount > 0 && (\n <Box paddingTop={6}>\n <AssetGridList\n allowedTypes={allowedTypes}\n size=\"S\"\n assets={assets}\n onSelectAsset={onSelectAsset}\n selectedAssets={selectedAssets as FileWithType[]}\n onEditAsset={onEditAsset!}\n title={\n ((!isSearchingOrFiltering || (isSearchingOrFiltering && folderCount > 0)) &&\n queryObject.page === 1 &&\n formatMessage(\n {\n id: getTrad('list.assets.title'),\n defaultMessage: 'Assets ({count})',\n },\n { count: assetCount }\n )) ||\n ''\n }\n />\n </Box>\n )}\n </>\n )}\n\n {pagination.pageCount > 0 && (\n <Flex justifyContent=\"space-between\" paddingTop={4} position=\"relative\" zIndex={1}>\n <PageSize\n pageSize={queryObject.pageSize! as number}\n onChangePageSize={onChangePageSize}\n />\n <PaginationFooter\n activePage={queryObject.page as number}\n onChangePage={onChangePage}\n pagination={pagination}\n />\n </Flex>\n )}\n </Box>\n );\n};\n"],"names":["TypographyMaxWidth","styled","Typography","ActionContainer","Box","theme","colors","neutral500","BrowseStep","allowedTypes","assets","rawAssets","canCreate","canRead","folders","multiple","onAddAsset","onChangeFilters","onChangePage","onChangePageSize","onChangeSearch","onChangeSort","onChangeFolder","onEditAsset","onEditFolder","onSelectAllAsset","onSelectAsset","pagination","queryObject","selectedAssets","formatMessage","useIntl","view","setView","usePersistentState","localStorageKeys","modalView","viewOptions","GRID","isGridView","data","currentFolder","isLoading","isCurrentFolderLoading","useFolder","folder","enabled","singularTypes","toSingularTypes","map","asset","isSelectable","mime","type","breadcrumbs","getBreadcrumbDataCM","undefined","allAllowedAsset","getAllowedFiles","areAllAssetSelected","length","every","findIndex","currAsset","id","hasSomeAssetSelected","some","isSearching","_q","isFiltering","filters","$and","isSearchingOrFiltering","assetCount","folderCount","handleClickFolderCard","args","_jsxs","_jsx","paddingBottom","Flex","justifyContent","alignItems","gap","wrap","paddingLeft","paddingRight","background","hasRadius","borderColor","height","Checkbox","aria-label","getTrad","defaultMessage","checked","onCheckedChange","SortPicker","value","sort","Filters","appliedFilters","marginLeft","shrink","paddingTop","IconButton","label","onClick","LIST","List","GridIcon","SearchAsset","queryValue","Breadcrumbs","currentFolderId","EmptyAssets","size","count","action","Button","variant","startIcon","Plus","content","TableList","indeterminate","isFolderSelectionAllowed","onSelectOne","onSelectAll","rows","selected","shouldDisableBulkSelect","sortQuery","_Fragment","FolderGridList","title","Grid","Item","col","direction","FolderCard","ariaLabel","name","path","cardActions","withTooltip","Pencil","FolderCardBody","FolderCardBodyAction","tag","maxWidth","fontWeight","ellipsis","textColor","VisuallyHidden","children","filesCount","files","Divider","AssetGridList","page","pageCount","position","zIndex","PageSize","pageSize","PaginationFooter","activePage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AA+CA,MAAMA,kBAAAA,GAAqBC,MAAOC,CAAAA,UAAAA,CAAW;;AAE7C,CAAC;AAED,MAAMC,eAAAA,GAAkBF,MAAOG,CAAAA,GAAAA,CAAI;;;YAGvB,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAMC,CAAAA,MAAM,CAACC,UAAU,CAAC;;;AAGrD,CAAC;AAwEM,MAAMC,aAAa,CAAC,EACzBC,eAAe,EAAE,EACjBC,QAAQC,SAAS,EACjBC,SAAS,EACTC,OAAO,EACPC,OAAU,GAAA,EAAE,EACZC,QAAW,GAAA,KAAK,EAChBC,UAAU,EACVC,eAAe,EACfC,YAAY,EACZC,gBAAgB,EAChBC,cAAc,EACdC,YAAY,EACZC,cAAc,EACdC,WAAW,EACXC,YAAY,EACZC,gBAAgB,EAChBC,aAAa,EACbC,UAAU,EACVC,WAAW,EACXC,cAAc,EACE,GAAA;IAChB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,CAACC,MAAMC,OAAQ,CAAA,GAAGC,mBAAmBC,gBAAiBC,CAAAA,SAAS,EAAEC,WAAAA,CAAYC,IAAI,CAAA;IACvF,MAAMC,UAAAA,GAAaP,IAASK,KAAAA,WAAAA,CAAYC,IAAI;IAE5C,MAAM,EAAEE,IAAMC,EAAAA,aAAa,EAAEC,SAAAA,EAAWC,sBAAsB,EAAE,GAAGC,SACjEhB,CAAAA,WAAAA,EAAaiB,MACb,EAAA;QACEC,OAASjC,EAAAA,OAAAA,IAAW,CAAC,CAACe,WAAaiB,EAAAA;AACrC,KAAA,CAAA;AAGF,IAAA,MAAME,gBAAgBC,eAAgBvC,CAAAA,YAAAA,CAAAA;AACtC,IAAA,MAAMC,SAASC,SAAUsC,CAAAA,GAAG,CAAC,CAACC,SAAW;AACvC,YAAA,GAAGA,KAAK;YACRC,YAAcA,EAAAA,YAAAA,CAAaJ,eAAeG,KAAOE,EAAAA,IAAAA,CAAAA;YACjDC,IAAM,EAAA;SACR,CAAA,CAAA;AAEA,IAAA,MAAMC,WAAc,GAAA,CAACX,sBACjBY,GAAAA,mBAAAA,CAAoBd,aACpBe,CAAAA,GAAAA,SAAAA;IAEJ,MAAMC,eAAAA,GAAkBC,gBAAgBjD,YAAcC,EAAAA,MAAAA,CAAAA;IACtD,MAAMiD,mBAAAA,GACJF,eAAgBG,CAAAA,MAAM,GAAG,CAAA,IACzB/B,eAAe+B,MAAM,GAAG,CACxBH,IAAAA,eAAAA,CAAgBI,KAAK,CACnB,CAACX,KAAUrB,GAAAA,cAAAA,CAAeiC,SAAS,CAAC,CAACC,SAAAA,GAAcA,SAAUC,CAAAA,EAAE,KAAKd,KAAAA,CAAMc,EAAE,CAAA,KAAM,CAAC,CAAA,CAAA;AAEvF,IAAA,MAAMC,uBAAuBR,eAAgBS,CAAAA,IAAI,CAC/C,CAAChB,QAAUrB,cAAeiC,CAAAA,SAAS,CAAC,CAACC,YAAcA,SAAUC,CAAAA,EAAE,KAAKd,KAAMc,CAAAA,EAAE,MAAM,CAAC,CAAA,CAAA;IAErF,MAAMG,WAAAA,GAAc,CAAC,CAACvC,WAAawC,EAAAA,EAAAA;AACnC,IAAA,MAAMC,WAAc,GAAA,CAAC,CAACzC,WAAAA,EAAa0C,OAASC,EAAAA,IAAAA,EAAMX,MAAUhC,IAAAA,WAAAA,CAAY0C,OAAO,CAACC,IAAI,CAACX,MAAM,GAAG,CAAA;AAC9F,IAAA,MAAMY,yBAAyBL,WAAeE,IAAAA,WAAAA;IAC9C,MAAMI,UAAAA,GAAa/D,OAAOkD,MAAM;IAChC,MAAMc,WAAAA,GAAc5D,QAAQ8C,MAAM;IAClC,MAAMe,qBAAAA,GAAwB,CAAC,GAAGC,IAAAA,GAAAA;;;QAGhCxD,cAAe,CAAA,EAAA,CAAA;QACfE,cAAkBsD,CAAAA,GAAAA,IAAAA,CAAAA;AACpB,KAAA;AAEA,IAAA,qBACEC,IAACzE,CAAAA,GAAAA,EAAAA;;AACEqB,YAAAA,gBAAAA,kBACCqD,GAAC1E,CAAAA,GAAAA,EAAAA;gBAAI2E,aAAe,EAAA,CAAA;AAClB,gBAAA,QAAA,gBAAAF,IAACG,CAAAA,IAAAA,EAAAA;oBAAKC,cAAe,EAAA,eAAA;oBAAgBC,UAAW,EAAA,YAAA;;AAC5CT,wBAAAA,CAAAA,aAAa,CAAKC,IAAAA,WAAAA,GAAc,CAAKL,IAAAA,WAAU,mBAC/CQ,IAACG,CAAAA,IAAAA,EAAAA;4BAAKG,GAAK,EAAA,CAAA;4BAAGC,IAAK,EAAA,MAAA;;AAChBrE,gCAAAA,QAAAA,IAAYwB,4BACXuC,GAACE,CAAAA,IAAAA,EAAAA;oCACCK,WAAa,EAAA,CAAA;oCACbC,YAAc,EAAA,CAAA;oCACdC,UAAW,EAAA,UAAA;oCACXC,SAAS,EAAA,IAAA;oCACTC,WAAY,EAAA,YAAA;oCACZC,MAAO,EAAA,QAAA;AAEP,oCAAA,QAAA,gBAAAZ,GAACa,CAAAA,QAAAA,EAAAA;AACCC,wCAAAA,YAAAA,EAAY9D,aAAc,CAAA;AACxBkC,4CAAAA,EAAAA,EAAI6B,OAAQ,CAAA,mBAAA,CAAA;4CACZC,cAAgB,EAAA;AAClB,yCAAA,CAAA;wCACAC,OACE,EAAA,CAACpC,mBAAuBM,IAAAA,oBAAAA,GACpB,eACAN,GAAAA,mBAAAA;wCAENqC,eAAiBvE,EAAAA;;;AAItBc,gCAAAA,UAAAA,kBAAcuC,GAACmB,CAAAA,UAAAA,EAAAA;oCAAW5E,YAAcA,EAAAA,YAAAA;AAAc6E,oCAAAA,KAAAA,EAAOtE,WAAauE,EAAAA;;8CAC3ErB,GAACsB,CAAAA,OAAAA,EAAAA;AACCC,oCAAAA,cAAAA,EAAgBzE,aAAa0C,OAASC,EAAAA,IAAAA;oCACtCtD,eAAiBA,EAAAA;;;;AAKrBwD,wBAAAA,CAAAA,aAAa,CAAKC,IAAAA,WAAAA,GAAc,CAAKP,IAAAA,WAAU,mBAC/CU,IAACG,CAAAA,IAAAA,EAAAA;4BAAKsB,UAAW,EAAA,MAAA;4BAAOC,MAAQ,EAAA,CAAA;4BAAGpB,GAAK,EAAA,CAAA;;8CACtCL,GAAC3E,CAAAA,eAAAA,EAAAA;oCAAgBqG,UAAY,EAAA,CAAA;oCAAGzB,aAAe,EAAA,CAAA;AAC7C,oCAAA,QAAA,gBAAAD,GAAC2B,CAAAA,UAAAA,EAAAA;AACCC,wCAAAA,KAAAA,EACEnE,aACIT,aAAc,CAAA;4CACZkC,EAAI,EAAA,kBAAA;4CACJ8B,cAAgB,EAAA;AAClB,yCAAA,CAAA,GACAhE,aAAc,CAAA;4CACZkC,EAAI,EAAA,kBAAA;4CACJ8B,cAAgB,EAAA;AAClB,yCAAA,CAAA;AAENa,wCAAAA,OAAAA,EAAS,IAAM1E,OAAQM,CAAAA,UAAAA,GAAaF,YAAYuE,IAAI,GAAGvE,YAAYC,IAAI,CAAA;kDAEtEC,UAAa,iBAAAuC,GAAA,CAAC+B,0BAAU/B,GAACgC,CAAAA,QAAAA,EAAAA,EAAAA;;;8CAG9BhC,GAACiC,CAAAA,WAAAA,EAAAA;oCAAY3F,cAAgBA,EAAAA,cAAAA;oCAAgB4F,UAAYpF,EAAAA,WAAAA,CAAYwC,EAAE,IAAI;;;;;;;AAOpFvD,YAAAA,OAAAA,IAAWyC,aAAaM,MAAUN,IAAAA,WAAAA,CAAYM,MAAM,GAAG,CAAA,IAAKnB,+BAC3DqC,GAAC1E,CAAAA,GAAAA,EAAAA;gBAAIoG,UAAY,EAAA,CAAA;AACf,gBAAA,QAAA,gBAAA1B,GAACmC,CAAAA,WAAAA,EAAAA;oBACC3F,cAAgBA,EAAAA,cAAAA;AAChBoF,oBAAAA,KAAAA,EAAO5E,aAAc,CAAA;AACnBkC,wBAAAA,EAAAA,EAAI6B,OAAQ,CAAA,8BAAA,CAAA;wBACZC,cAAgB,EAAA;AAClB,qBAAA,CAAA;oBACAxC,WAAaA,EAAAA,WAAAA;AACb4D,oBAAAA,eAAAA,EAAiBtF,WAAaiB,EAAAA;;;YAKnC4B,UAAe,KAAA,CAAA,IAAKC,WAAgB,KAAA,CAAA,kBACnCI,GAAC1E,CAAAA,GAAAA,EAAAA;gBAAI2E,aAAe,EAAA,CAAA;AAClB,gBAAA,QAAA,gBAAAD,GAACqC,CAAAA,WAAAA,EAAAA;oBACCC,IAAK,EAAA,GAAA;oBACLC,KAAO,EAAA,CAAA;AACPC,oBAAAA,MAAAA,EACE1G,SACA,IAAA,CAACyD,WACD,IAAA,CAACF,6BACCW,GAACyC,CAAAA,MAAAA,EAAAA;wBAAOC,OAAQ,EAAA,WAAA;AAAYC,wBAAAA,SAAAA,gBAAW3C,GAAC4C,CAAAA,IAAAA,EAAAA,EAAAA,CAAAA;wBAASf,OAAS3F,EAAAA,UAAAA;kCACvDc,aAAc,CAAA;AACbkC,4BAAAA,EAAAA,EAAI6B,OAAQ,CAAA,2BAAA,CAAA;4BACZC,cAAgB,EAAA;AAClB,yBAAA;;AAIN6B,oBAAAA,OAAAA;AAEEnD,oBAAAA,sBAAAA,GACI1C,aAAc,CAAA;AACZkC,wBAAAA,EAAAA,EAAI6B,OAAQ,CAAA,oCAAA,CAAA;wBACZC,cAAgB,EAAA;qBAElBlF,CAAAA,GAAAA,SAAAA,IAAa,CAACuD,WAAAA,GACZrC,aAAc,CAAA;AACZkC,wBAAAA,EAAAA,EAAI6B,OAAQ,CAAA,mBAAA,CAAA;wBACZC,cAAgB,EAAA;AAClB,qBAAA,CAAA,GACAhE,aAAc,CAAA;AACZkC,wBAAAA,EAAAA,EAAI6B,OAAQ,CAAA,kCAAA,CAAA;wBACZC,cAAgB,EAAA;AAClB,qBAAA;;;AAMb,YAAA,CAACvD,eAAemC,WAAAA,GAAc,KAAKD,UAAa,GAAA,CAAA,mBAC/CK,GAAC8C,CAAAA,SAAAA,EAAAA;gBACCnH,YAAcA,EAAAA,YAAAA;gBACdgE,UAAYA,EAAAA,UAAAA;gBACZC,WAAaA,EAAAA,WAAAA;AACbmD,gBAAAA,aAAAA,EAAe,CAAClE,mBAAuBM,IAAAA,oBAAAA;gBACvC6D,wBAA0B,EAAA,KAAA;gBAC1BzG,YAAcA,EAAAA,YAAAA;gBACdC,cAAgBqD,EAAAA,qBAAAA;gBAChBpD,WAAaA,EAAAA,WAAAA;gBACbC,YAAcA,EAAAA,YAAAA;gBACduG,WAAarG,EAAAA,aAAAA;gBACbsG,WAAavG,EAAAA,gBAAAA;gBACbwG,IACE,EAAA;AAAInH,oBAAAA,GAAAA,OAAAA,CAAQmC,GAAG,CAAC,CAACJ,MAAAA,IAAY;AAAE,4BAAA,GAAGA,MAAM;4BAAEQ,IAAM,EAAA;yBAAS,CAAA,CAAA;AAAQ3C,oBAAAA,GAAAA;AAAO,iBAAA;gBAI1EwH,QAAUrG,EAAAA,cAAAA;AACVsG,gBAAAA,uBAAAA,EAAyB,CAACpH,QAAAA;AAC1BqH,gBAAAA,SAAAA,EAAWxG,aAAauE,IAAQ,IAAA;;YAInC5D,UACC,kBAAAsC,IAAA,CAAAwD,QAAA,EAAA;;AACG3D,oBAAAA,WAAAA,GAAc,mBACbI,GAACwD,CAAAA,cAAAA,EAAAA;wBACCC,KACE,EAAE,CAAA,sBAAC/D,IAA0BC,aAAa,CAAM,IAAA,CAACD,sBAAqB,KACpE1C,aACE,CAAA;AACEkC,4BAAAA,EAAAA,EAAI6B,OAAQ,CAAA,oBAAA,CAAA;4BACZC,cAAgB,EAAA;yBAElB,EAAA;4BAAEuB,KAAO3C,EAAAA;yBAEb,CAAA,IAAA,EAAA;kCAGD5D,OAAQmC,CAAAA,GAAG,CAAC,CAACJ,MAAAA,GAAAA;4BACZ,qBACEiC,GAAA,CAAC0D,KAAKC,IAAI,EAAA;gCACRC,GAAK,EAAA,CAAA;gCAELC,SAAU,EAAA,QAAA;gCACVzD,UAAW,EAAA,SAAA;AAEX,gCAAA,QAAA,gBAAAJ,GAAC8D,CAAAA,UAAAA,EAAAA;AACCC,oCAAAA,SAAAA,EAAWhG,OAAOiG,IAAI;AACtB9E,oCAAAA,EAAAA,EAAI,CAAC,OAAO,EAAEnB,MAAOmB,CAAAA,EAAE,CAAC,CAAC;AACzB2C,oCAAAA,OAAAA,EAAS,IAAMhC,qBAAsB9B,CAAAA,MAAAA,CAAOmB,EAAE,EAAEnB,OAAOkG,IAAI,CAAA;AAC3DC,oCAAAA,WAAAA,EACExH,8BACEsD,GAAC2B,CAAAA,UAAAA,EAAAA;wCACCwC,WAAa,EAAA,KAAA;AACbvC,wCAAAA,KAAAA,EAAO5E,aAAc,CAAA;AACnBkC,4CAAAA,EAAAA,EAAI6B,OAAQ,CAAA,kBAAA,CAAA;4CACZC,cAAgB,EAAA;AAClB,yCAAA,CAAA;AACAa,wCAAAA,OAAAA,EAAS,IAAMnF,YAAaqB,CAAAA,MAAAA,CAAAA;AAE5B,wCAAA,QAAA,gBAAAiC,GAACoE,CAAAA,MAAAA,EAAAA,EAAAA;;AAKP,oCAAA,QAAA,gBAAApE,GAACqE,CAAAA,cAAAA,EAAAA;AACC,wCAAA,QAAA,gBAAArE,GAACsE,CAAAA,oBAAAA,EAAAA;AACCzC,4CAAAA,OAAAA,EAAS,IAAMhC,qBAAsB9B,CAAAA,MAAAA,CAAOmB,EAAE,EAAEnB,OAAOkG,IAAI,CAAA;AAE3D,4CAAA,QAAA,gBAAAlE,IAACG,CAAAA,IAAAA,EAAAA;gDAAKqE,GAAI,EAAA,IAAA;gDAAKV,SAAU,EAAA,QAAA;gDAASzD,UAAW,EAAA,OAAA;gDAAQoE,QAAS,EAAA,MAAA;;kEAC5DzE,IAAC7E,CAAAA,kBAAAA,EAAAA;wDACCuJ,UAAW,EAAA,UAAA;wDACXC,QAAQ,EAAA,IAAA;wDACRC,SAAU,EAAA,YAAA;;AAET5G,4DAAAA,MAAAA,CAAOiG,IAAI;0EAGZhE,GAAC4E,CAAAA,cAAAA,EAAAA;AAAe,gEAAA,QAAA,EAAA;;;;kEAElB5E,GAAC9E,CAAAA,kBAAAA,EAAAA;wDACCqJ,GAAI,EAAA,MAAA;wDACJI,SAAU,EAAA,YAAA;wDACVjC,OAAQ,EAAA,IAAA;wDACRgC,QAAQ,EAAA,IAAA;kEAEP1H,aACC,CAAA;AACEkC,4DAAAA,EAAAA,EAAI6B,OAAQ,CAAA,sBAAA,CAAA;4DACZC,cACE,EAAA;yDAEJ,EAAA;4DACEpB,WAAa7B,EAAAA,MAAAA,CAAO8G,QAAQ,EAAEtC,KAAAA;4DAC9BuC,UAAY/G,EAAAA,MAAAA,CAAOgH,KAAK,EAAExC;AAC5B,yDAAA;;;;;;;AArDP,6BAAA,EAAA,CAAC,OAAO,EAAExE,MAAOmB,CAAAA,EAAE,CAAC,CAAC,CAAA;AA8DhC,yBAAA;;oBAIHS,UAAa,GAAA,CAAA,IAAKC,WAAc,GAAA,CAAA,kBAC/BI,GAAC1E,CAAAA,GAAAA,EAAAA;wBAAIoG,UAAY,EAAA,CAAA;AACf,wBAAA,QAAA,gBAAA1B,GAACgF,CAAAA,OAAAA,EAAAA,EAAAA;;AAIJrF,oBAAAA,UAAAA,GAAa,mBACZK,GAAC1E,CAAAA,GAAAA,EAAAA;wBAAIoG,UAAY,EAAA,CAAA;AACf,wBAAA,QAAA,gBAAA1B,GAACiF,CAAAA,aAAAA,EAAAA;4BACCtJ,YAAcA,EAAAA,YAAAA;4BACd2G,IAAK,EAAA,GAAA;4BACL1G,MAAQA,EAAAA,MAAAA;4BACRgB,aAAeA,EAAAA,aAAAA;4BACfG,cAAgBA,EAAAA,cAAAA;4BAChBN,WAAaA,EAAAA,WAAAA;AACbgH,4BAAAA,KAAAA,EACE,CAAE,CAAC/D,sBAAAA,IAA2BA,sBAA0BE,IAAAA,WAAAA,GAAc,CAAC,KACrE9C,WAAYoI,CAAAA,IAAI,KAAK,CAAA,IACrBlI,aACE,CAAA;AACEkC,gCAAAA,EAAAA,EAAI6B,OAAQ,CAAA,mBAAA,CAAA;gCACZC,cAAgB,EAAA;6BAElB,EAAA;gCAAEuB,KAAO5C,EAAAA;6BAEb,CAAA,IAAA;;;;;YAQX9C,UAAWsI,CAAAA,SAAS,GAAG,CAAA,kBACtBpF,IAACG,CAAAA,IAAAA,EAAAA;gBAAKC,cAAe,EAAA,eAAA;gBAAgBuB,UAAY,EAAA,CAAA;gBAAG0D,QAAS,EAAA,UAAA;gBAAWC,MAAQ,EAAA,CAAA;;kCAC9ErF,GAACsF,CAAAA,QAAAA,EAAAA;AACCC,wBAAAA,QAAAA,EAAUzI,YAAYyI,QAAQ;wBAC9BlJ,gBAAkBA,EAAAA;;kCAEpB2D,GAACwF,CAAAA,gBAAAA,EAAAA;AACCC,wBAAAA,UAAAA,EAAY3I,YAAYoI,IAAI;wBAC5B9I,YAAcA,EAAAA,YAAAA;wBACdS,UAAYA,EAAAA;;;;;;AAMxB;;;;"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var name = "@strapi/upload";
6
- var version = "5.13.0";
6
+ var version = "5.13.1";
7
7
  var description = "Makes it easy to upload images and files to your Strapi Application.";
8
8
  var license = "SEE LICENSE IN LICENSE";
9
9
  var author = {
@@ -64,10 +64,10 @@ var scripts = {
64
64
  };
65
65
  var dependencies = {
66
66
  "@mux/mux-player-react": "3.1.0",
67
- "@strapi/design-system": "2.0.0-rc.23",
68
- "@strapi/icons": "2.0.0-rc.23",
69
- "@strapi/provider-upload-local": "5.13.0",
70
- "@strapi/utils": "5.13.0",
67
+ "@strapi/design-system": "2.0.0-rc.24",
68
+ "@strapi/icons": "2.0.0-rc.24",
69
+ "@strapi/provider-upload-local": "5.13.1",
70
+ "@strapi/utils": "5.13.1",
71
71
  "byte-size": "8.1.1",
72
72
  cropperjs: "1.6.1",
73
73
  "date-fns": "2.30.0",
@@ -89,8 +89,8 @@ var dependencies = {
89
89
  yup: "0.32.9"
90
90
  };
91
91
  var devDependencies = {
92
- "@strapi/admin": "5.13.0",
93
- "@strapi/types": "5.13.0",
92
+ "@strapi/admin": "5.13.1",
93
+ "@strapi/types": "5.13.1",
94
94
  "@testing-library/dom": "10.1.0",
95
95
  "@testing-library/react": "15.0.7",
96
96
  "@testing-library/user-event": "14.5.2",
@@ -1,5 +1,5 @@
1
1
  var name = "@strapi/upload";
2
- var version = "5.13.0";
2
+ var version = "5.13.1";
3
3
  var description = "Makes it easy to upload images and files to your Strapi Application.";
4
4
  var license = "SEE LICENSE IN LICENSE";
5
5
  var author = {
@@ -60,10 +60,10 @@ var scripts = {
60
60
  };
61
61
  var dependencies = {
62
62
  "@mux/mux-player-react": "3.1.0",
63
- "@strapi/design-system": "2.0.0-rc.23",
64
- "@strapi/icons": "2.0.0-rc.23",
65
- "@strapi/provider-upload-local": "5.13.0",
66
- "@strapi/utils": "5.13.0",
63
+ "@strapi/design-system": "2.0.0-rc.24",
64
+ "@strapi/icons": "2.0.0-rc.24",
65
+ "@strapi/provider-upload-local": "5.13.1",
66
+ "@strapi/utils": "5.13.1",
67
67
  "byte-size": "8.1.1",
68
68
  cropperjs: "1.6.1",
69
69
  "date-fns": "2.30.0",
@@ -85,8 +85,8 @@ var dependencies = {
85
85
  yup: "0.32.9"
86
86
  };
87
87
  var devDependencies = {
88
- "@strapi/admin": "5.13.0",
89
- "@strapi/types": "5.13.0",
88
+ "@strapi/admin": "5.13.1",
89
+ "@strapi/types": "5.13.1",
90
90
  "@testing-library/dom": "10.1.0",
91
91
  "@testing-library/react": "15.0.7",
92
92
  "@testing-library/user-event": "14.5.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/upload",
3
- "version": "5.13.1",
3
+ "version": "5.14.0",
4
4
  "description": "Makes it easy to upload images and files to your Strapi Application.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": {
@@ -61,10 +61,10 @@
61
61
  },
62
62
  "dependencies": {
63
63
  "@mux/mux-player-react": "3.1.0",
64
- "@strapi/design-system": "2.0.0-rc.23",
65
- "@strapi/icons": "2.0.0-rc.23",
66
- "@strapi/provider-upload-local": "5.13.1",
67
- "@strapi/utils": "5.13.1",
64
+ "@strapi/design-system": "2.0.0-rc.24",
65
+ "@strapi/icons": "2.0.0-rc.24",
66
+ "@strapi/provider-upload-local": "5.14.0",
67
+ "@strapi/utils": "5.14.0",
68
68
  "byte-size": "8.1.1",
69
69
  "cropperjs": "1.6.1",
70
70
  "date-fns": "2.30.0",
@@ -86,8 +86,8 @@
86
86
  "yup": "0.32.9"
87
87
  },
88
88
  "devDependencies": {
89
- "@strapi/admin": "5.13.1",
90
- "@strapi/types": "5.13.1",
89
+ "@strapi/admin": "5.14.0",
90
+ "@strapi/types": "5.14.0",
91
91
  "@testing-library/dom": "10.1.0",
92
92
  "@testing-library/react": "15.0.7",
93
93
  "@testing-library/user-event": "14.5.2",