{"version":3,"file":"TableList.mjs","sources":["../../../../admin/src/components/TableList/TableList.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport {\n Checkbox,\n IconButton,\n Table,\n Th,\n Thead,\n Tooltip,\n Tr,\n Typography,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { CaretDown, CaretUp } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { tableHeaders } from '../../constants';\nimport { getTrad } from '../../utils';\n\nimport { TableRows } from './TableRows';\n\nimport type { File } from '../../../../shared/contracts/files';\nimport type { Folder } from '../../../../shared/contracts/folders';\nimport type { AllowedTypes } from '../AssetCard/AssetCard';\n\nexport interface FileRow extends File {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n}\n\nexport interface FolderRow extends Folder {\n folderURL?: string;\n isSelectable?: boolean;\n type?: string;\n}\n\nexport interface TableListProps {\n isFolderSelectionAllowed?: boolean;\n allowedTypes?: AllowedTypes[];\n assetCount?: number;\n folderCount?: number;\n indeterminate?: boolean;\n onChangeSort?: ((sortQuery: string) => void) | null;\n onChangeFolder?: ((folderId: number, folderPath?: string) => void) | null;\n onEditAsset?: ((asset: FileRow) => void) | null;\n onEditFolder?: ((folder: FolderRow) => void) | null;\n onSelectAll: (checked: boolean | string, rows?: FolderRow[] | FileRow[]) => void;\n onSelectOne: (element: FileRow | FolderRow) => void;\n rows?: FileRow[] | FolderRow[];\n selected?: FileRow[] | FolderRow[];\n shouldDisableBulkSelect?: boolean;\n sortQuery?: string;\n}\n\nexport const TableList = ({\n assetCount = 0,\n folderCount = 0,\n indeterminate = false,\n onChangeSort = null,\n onChangeFolder = null,\n onEditAsset = null,\n onEditFolder = null,\n onSelectAll,\n onSelectOne,\n rows = [],\n selected = [],\n shouldDisableBulkSelect = false,\n sortQuery = '',\n}: TableListProps) => {\n const { formatMessage } = useIntl();\n const [sortBy, sortOrder] = sortQuery.split(':');\n\n const handleClickSort = (isSorted: boolean, name: string) => {\n const nextSortOrder = isSorted && sortOrder === 'ASC' ? 'DESC' : 'ASC';\n const nextSort = `${name}:${nextSortOrder}`;\n\n onChangeSort && onChangeSort(nextSort);\n };\n\n return (\n \n \n \n \n {tableHeaders.map(({ metadatas: { label, isSortable }, name, key }) => {\n const isSorted = sortBy === name;\n const isUp = sortOrder === 'ASC';\n const tableHeaderLabel = formatMessage(label);\n const sortLabel = formatMessage(\n { id: 'list.table.header.sort', defaultMessage: 'Sort on {label}' },\n { label: tableHeaderLabel }\n );\n\n return (\n handleClickSort(isSorted, name)}\n variant=\"ghost\"\n >\n {isUp ? : }\n \n )\n }\n key={key}\n >\n \n {isSortable ? (\n handleClickSort(isSorted, name)}\n tag={isSorted ? 'span' : 'button'}\n textColor=\"neutral600\"\n variant=\"sigma\"\n >\n {tableHeaderLabel}\n \n ) : (\n \n {tableHeaderLabel}\n \n )}\n \n \n );\n })}\n \n \n \n \n
\n onSelectAll(checked, rows)}\n checked={\n indeterminate && !shouldDisableBulkSelect\n ? 'indeterminate'\n : (assetCount > 0 || folderCount > 0) &&\n selected.length === assetCount + folderCount\n }\n />\n \n \n {formatMessage({\n id: getTrad('list.table.header.actions'),\n defaultMessage: 'actions',\n })}\n \n
\n );\n};\n"],"names":["TableList","assetCount","folderCount","indeterminate","onChangeSort","onChangeFolder","onEditAsset","onEditFolder","onSelectAll","onSelectOne","rows","selected","shouldDisableBulkSelect","sortQuery","formatMessage","useIntl","sortBy","sortOrder","split","handleClickSort","isSorted","name","nextSortOrder","nextSort","_jsxs","Table","colCount","tableHeaders","length","rowCount","_jsx","Thead","Tr","Th","Checkbox","aria-label","id","getTrad","defaultMessage","disabled","onCheckedChange","checked","map","metadatas","label","isSortable","key","isUp","tableHeaderLabel","sortLabel","action","IconButton","onClick","variant","CaretUp","CaretDown","Tooltip","Typography","tag","textColor","VisuallyHidden","TableRows"],"mappings":"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"}