@strapi/upload 5.37.0 → 5.38.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.
- package/dist/admin/ai/components/AIAssetCard.js.map +1 -1
- package/dist/admin/ai/components/AIAssetCard.mjs +1 -1
- package/dist/admin/ai/components/AIAssetCard.mjs.map +1 -1
- package/dist/admin/ai/components/AIUploadModal.js.map +1 -1
- package/dist/admin/ai/components/AIUploadModal.mjs +1 -1
- package/dist/admin/ai/components/AIUploadModal.mjs.map +1 -1
- package/dist/admin/components/AssetCard/AssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/AssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetCard/AssetCardBase.js.map +1 -1
- package/dist/admin/components/AssetCard/AssetCardBase.mjs.map +1 -1
- package/dist/admin/components/AssetCard/AudioAssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/AudioAssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetCard/AudioPreview.js.map +1 -1
- package/dist/admin/components/AssetCard/AudioPreview.mjs.map +1 -1
- package/dist/admin/components/AssetCard/DocAssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/DocAssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetCard/ImageAssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/ImageAssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetCard/UploadingAssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/UploadingAssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetCard/VideoAssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/VideoAssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetCard/VideoPreview.js.map +1 -1
- package/dist/admin/components/AssetCard/VideoPreview.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/AssetDialog.js.map +1 -1
- package/dist/admin/components/AssetDialog/AssetDialog.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.js.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/PageSize.js.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/PageSize.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.js.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/DialogFooter.js.map +1 -1
- package/dist/admin/components/AssetDialog/DialogFooter.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js.map +1 -1
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs.map +1 -1
- package/dist/admin/components/AssetGridList/AssetGridList.js.map +1 -1
- package/dist/admin/components/AssetGridList/AssetGridList.mjs.map +1 -1
- package/dist/admin/components/AssetGridList/Draggable.js.map +1 -1
- package/dist/admin/components/AssetGridList/Draggable.mjs.map +1 -1
- package/dist/admin/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/admin/components/Breadcrumbs/Breadcrumbs.mjs.map +1 -1
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.js.map +1 -1
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs.map +1 -1
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js.map +1 -1
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs.map +1 -1
- package/dist/admin/components/ContextInfo/ContextInfo.js.map +1 -1
- package/dist/admin/components/ContextInfo/ContextInfo.mjs.map +1 -1
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.js.map +1 -1
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/DialogHeader.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/DialogHeader.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/EditAssetContent.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js +1 -4
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +1 -4
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs.map +1 -1
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.js.map +1 -1
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.mjs.map +1 -1
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js.map +1 -1
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs.map +1 -1
- package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.js.map +1 -1
- package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.mjs.map +1 -1
- package/dist/admin/components/EmptyAssets/EmptyAssetGrid.js.map +1 -1
- package/dist/admin/components/EmptyAssets/EmptyAssetGrid.mjs.map +1 -1
- package/dist/admin/components/EmptyAssets/EmptyAssets.js.map +1 -1
- package/dist/admin/components/EmptyAssets/EmptyAssets.mjs.map +1 -1
- package/dist/admin/components/FilterList/FilterList.js.map +1 -1
- package/dist/admin/components/FilterList/FilterList.mjs.map +1 -1
- package/dist/admin/components/FilterList/FilterTag.js.map +1 -1
- package/dist/admin/components/FilterList/FilterTag.mjs.map +1 -1
- package/dist/admin/components/FilterPopover/FilterPopover.js.map +1 -1
- package/dist/admin/components/FilterPopover/FilterPopover.mjs.map +1 -1
- package/dist/admin/components/FilterPopover/FilterValueInput.js.map +1 -1
- package/dist/admin/components/FilterPopover/FilterValueInput.mjs.map +1 -1
- package/dist/admin/components/FilterPopover/utils/getFilterList.js.map +1 -1
- package/dist/admin/components/FilterPopover/utils/getFilterList.mjs.map +1 -1
- package/dist/admin/components/FolderCard/FolderCard/FolderCard.js.map +1 -1
- package/dist/admin/components/FolderCard/FolderCard/FolderCard.mjs.map +1 -1
- package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.js.map +1 -1
- package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.mjs.map +1 -1
- package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js.map +1 -1
- package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs.map +1 -1
- package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js.map +1 -1
- package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs.map +1 -1
- package/dist/admin/components/FolderCard/contexts/FolderCard.js.map +1 -1
- package/dist/admin/components/FolderCard/contexts/FolderCard.mjs.map +1 -1
- package/dist/admin/components/FolderGridList/FolderGridList.js.map +1 -1
- package/dist/admin/components/FolderGridList/FolderGridList.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.js.map +1 -1
- package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs.map +1 -1
- package/dist/admin/components/SelectTree/Option.js.map +1 -1
- package/dist/admin/components/SelectTree/Option.mjs.map +1 -1
- package/dist/admin/components/SelectTree/SelectTree.js.map +1 -1
- package/dist/admin/components/SelectTree/SelectTree.mjs +1 -1
- package/dist/admin/components/SelectTree/SelectTree.mjs.map +1 -1
- package/dist/admin/components/SelectTree/utils/flattenTree.js.map +1 -1
- package/dist/admin/components/SelectTree/utils/flattenTree.mjs.map +1 -1
- package/dist/admin/components/SelectTree/utils/getOpenValues.js.map +1 -1
- package/dist/admin/components/SelectTree/utils/getOpenValues.mjs.map +1 -1
- package/dist/admin/components/SelectTree/utils/getValuesToClose.js.map +1 -1
- package/dist/admin/components/SelectTree/utils/getValuesToClose.mjs.map +1 -1
- package/dist/admin/components/SortPicker/SortPicker.js.map +1 -1
- package/dist/admin/components/SortPicker/SortPicker.mjs.map +1 -1
- package/dist/admin/components/TableList/CellContent.js.map +1 -1
- package/dist/admin/components/TableList/CellContent.mjs.map +1 -1
- package/dist/admin/components/TableList/PreviewCell.js.map +1 -1
- package/dist/admin/components/TableList/PreviewCell.mjs +1 -1
- package/dist/admin/components/TableList/PreviewCell.mjs.map +1 -1
- package/dist/admin/components/TableList/TableList.js.map +1 -1
- package/dist/admin/components/TableList/TableList.mjs +1 -1
- package/dist/admin/components/TableList/TableList.mjs.map +1 -1
- package/dist/admin/components/TableList/TableRows.js.map +1 -1
- package/dist/admin/components/TableList/TableRows.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js.map +1 -1
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.js.map +1 -1
- package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.mjs.map +1 -1
- package/dist/admin/components/UploadProgress/UploadProgress.js.map +1 -1
- package/dist/admin/components/UploadProgress/UploadProgress.mjs.map +1 -1
- package/dist/admin/constants.js.map +1 -1
- package/dist/admin/constants.mjs.map +1 -1
- package/dist/admin/future/App.js.map +1 -1
- package/dist/admin/future/App.mjs.map +1 -1
- package/dist/admin/future/components/Drawer.js +189 -0
- package/dist/admin/future/components/Drawer.js.map +1 -0
- package/dist/admin/future/components/Drawer.mjs +166 -0
- package/dist/admin/future/components/Drawer.mjs.map +1 -0
- package/dist/admin/future/components/UploadProgressDialog.js +60 -101
- package/dist/admin/future/components/UploadProgressDialog.js.map +1 -1
- package/dist/admin/future/components/UploadProgressDialog.mjs +62 -84
- package/dist/admin/future/components/UploadProgressDialog.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/AssetsPage.js +155 -100
- package/dist/admin/future/pages/Assets/AssetsPage.js.map +1 -1
- package/dist/admin/future/pages/Assets/AssetsPage.mjs +160 -105
- package/dist/admin/future/pages/Assets/AssetsPage.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js +406 -0
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js.map +1 -0
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs +384 -0
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js +215 -0
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js.map +1 -0
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs +194 -0
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/components/AssetsGrid.js +37 -8
- package/dist/admin/future/pages/Assets/components/AssetsGrid.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs +38 -9
- package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetsTable.js +35 -5
- package/dist/admin/future/pages/Assets/components/AssetsTable.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetsTable.mjs +37 -7
- package/dist/admin/future/pages/Assets/components/AssetsTable.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/CreateFolderDialog.js +143 -0
- package/dist/admin/future/pages/Assets/components/CreateFolderDialog.js.map +1 -0
- package/dist/admin/future/pages/Assets/components/CreateFolderDialog.mjs +141 -0
- package/dist/admin/future/pages/Assets/components/CreateFolderDialog.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/ImportFromUrlDialog.js +127 -0
- package/dist/admin/future/pages/Assets/components/ImportFromUrlDialog.js.map +1 -0
- package/dist/admin/future/pages/Assets/components/ImportFromUrlDialog.mjs +106 -0
- package/dist/admin/future/pages/Assets/components/ImportFromUrlDialog.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/constants.js.map +1 -1
- package/dist/admin/future/pages/Assets/constants.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useFolderInfo.js.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useFolderInfo.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.js.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.js.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.mjs.map +1 -1
- package/dist/admin/future/services/api.js +181 -97
- package/dist/admin/future/services/api.js.map +1 -1
- package/dist/admin/future/services/api.mjs +181 -98
- package/dist/admin/future/services/api.mjs.map +1 -1
- package/dist/admin/future/services/assets.js +14 -1
- package/dist/admin/future/services/assets.js.map +1 -1
- package/dist/admin/future/services/assets.mjs +14 -2
- package/dist/admin/future/services/assets.mjs.map +1 -1
- package/dist/admin/future/services/folders.js +16 -1
- package/dist/admin/future/services/folders.js.map +1 -1
- package/dist/admin/future/services/folders.mjs +16 -2
- package/dist/admin/future/services/folders.mjs.map +1 -1
- package/dist/admin/future/store/hooks.js.map +1 -1
- package/dist/admin/future/store/hooks.mjs.map +1 -1
- package/dist/admin/future/store/uploadProgress.js +7 -4
- package/dist/admin/future/store/uploadProgress.js.map +1 -1
- package/dist/admin/future/store/uploadProgress.mjs +7 -4
- package/dist/admin/future/store/uploadProgress.mjs.map +1 -1
- package/dist/admin/future/utils/files.js +105 -3
- package/dist/admin/future/utils/files.js.map +1 -1
- package/dist/admin/future/utils/files.mjs +104 -4
- package/dist/admin/future/utils/files.mjs.map +1 -1
- package/dist/admin/future/utils/getAssetIcon.js +3 -3
- package/dist/admin/future/utils/getAssetIcon.js.map +1 -1
- package/dist/admin/future/utils/getAssetIcon.mjs +4 -4
- package/dist/admin/future/utils/getAssetIcon.mjs.map +1 -1
- package/dist/admin/future/utils/translations.js.map +1 -1
- package/dist/admin/future/utils/translations.mjs.map +1 -1
- package/dist/admin/hooks/useAIMetadataJob.js.map +1 -1
- package/dist/admin/hooks/useAIMetadataJob.mjs.map +1 -1
- package/dist/admin/hooks/useAiAvailability.js.map +1 -1
- package/dist/admin/hooks/useAiAvailability.mjs.map +1 -1
- package/dist/admin/hooks/useAssets.js.map +1 -1
- package/dist/admin/hooks/useAssets.mjs.map +1 -1
- package/dist/admin/hooks/useBulkEdit.js.map +1 -1
- package/dist/admin/hooks/useBulkEdit.mjs.map +1 -1
- package/dist/admin/hooks/useBulkMove.js.map +1 -1
- package/dist/admin/hooks/useBulkMove.mjs.map +1 -1
- package/dist/admin/hooks/useBulkRemove.js.map +1 -1
- package/dist/admin/hooks/useBulkRemove.mjs.map +1 -1
- package/dist/admin/hooks/useConfig.js.map +1 -1
- package/dist/admin/hooks/useConfig.mjs.map +1 -1
- package/dist/admin/hooks/useCropImg.js.map +1 -1
- package/dist/admin/hooks/useCropImg.mjs.map +1 -1
- package/dist/admin/hooks/useEditAsset.js.map +1 -1
- package/dist/admin/hooks/useEditAsset.mjs.map +1 -1
- package/dist/admin/hooks/useEditFolder.js.map +1 -1
- package/dist/admin/hooks/useEditFolder.mjs.map +1 -1
- package/dist/admin/hooks/useFolder.js.map +1 -1
- package/dist/admin/hooks/useFolder.mjs.map +1 -1
- package/dist/admin/hooks/useFolderStructure.js.map +1 -1
- package/dist/admin/hooks/useFolderStructure.mjs.map +1 -1
- package/dist/admin/hooks/useFolders.js.map +1 -1
- package/dist/admin/hooks/useFolders.mjs.map +1 -1
- package/dist/admin/hooks/useMediaLibraryPermissions.js.map +1 -1
- package/dist/admin/hooks/useMediaLibraryPermissions.mjs.map +1 -1
- package/dist/admin/hooks/useModalQueryParams.js.map +1 -1
- package/dist/admin/hooks/useModalQueryParams.mjs.map +1 -1
- package/dist/admin/hooks/usePersistentState.js.map +1 -1
- package/dist/admin/hooks/usePersistentState.mjs.map +1 -1
- package/dist/admin/hooks/useRemoveAsset.js.map +1 -1
- package/dist/admin/hooks/useRemoveAsset.mjs.map +1 -1
- package/dist/admin/hooks/useSelectionState.js.map +1 -1
- package/dist/admin/hooks/useSelectionState.mjs.map +1 -1
- package/dist/admin/hooks/useSettings.js.map +1 -1
- package/dist/admin/hooks/useSettings.mjs.map +1 -1
- package/dist/admin/hooks/useTracking.js.map +1 -1
- package/dist/admin/hooks/useTracking.mjs.map +1 -1
- package/dist/admin/hooks/useUpload.js.map +1 -1
- package/dist/admin/hooks/useUpload.mjs.map +1 -1
- package/dist/admin/hooks/utils/renameKeys.js.map +1 -1
- package/dist/admin/hooks/utils/renameKeys.mjs.map +1 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/package.json.js +1 -152
- package/dist/admin/package.json.js.map +1 -1
- package/dist/admin/package.json.mjs +2 -141
- package/dist/admin/package.json.mjs.map +1 -1
- package/dist/admin/pages/App/App.js.map +1 -1
- package/dist/admin/pages/App/App.mjs.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs +3 -3
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.js.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.js.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.mjs.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/state/actions.js.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/state/actions.mjs.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/state/init.js.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/state/init.mjs.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/state/reducer.js.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/state/reducer.mjs +1 -1
- package/dist/admin/pages/App/ConfigureTheView/state/reducer.mjs.map +1 -1
- package/dist/admin/pages/App/MediaLibrary.js +1 -1
- package/dist/admin/pages/App/MediaLibrary.js.map +1 -1
- package/dist/admin/pages/App/MediaLibrary.mjs +2 -2
- package/dist/admin/pages/App/MediaLibrary.mjs.map +1 -1
- package/dist/admin/pages/App/components/BulkActions.js.map +1 -1
- package/dist/admin/pages/App/components/BulkActions.mjs.map +1 -1
- package/dist/admin/pages/App/components/BulkDeleteButton.js.map +1 -1
- package/dist/admin/pages/App/components/BulkDeleteButton.mjs.map +1 -1
- package/dist/admin/pages/App/components/BulkMoveButton.js.map +1 -1
- package/dist/admin/pages/App/components/BulkMoveButton.mjs.map +1 -1
- package/dist/admin/pages/App/components/EmptyOrNoPermissions.js.map +1 -1
- package/dist/admin/pages/App/components/EmptyOrNoPermissions.mjs.map +1 -1
- package/dist/admin/pages/App/components/Filters.js.map +1 -1
- package/dist/admin/pages/App/components/Filters.mjs.map +1 -1
- package/dist/admin/pages/App/components/Header.js.map +1 -1
- package/dist/admin/pages/App/components/Header.mjs +2 -2
- package/dist/admin/pages/App/components/Header.mjs.map +1 -1
- package/dist/admin/pages/SettingsPage/SettingsPage.js.map +1 -1
- package/dist/admin/pages/SettingsPage/SettingsPage.mjs.map +1 -1
- package/dist/admin/pages/SettingsPage/reducer.js.map +1 -1
- package/dist/admin/pages/SettingsPage/reducer.mjs.map +1 -1
- package/dist/admin/pluginId.js.map +1 -1
- package/dist/admin/pluginId.mjs.map +1 -1
- package/dist/admin/src/future/components/Drawer.d.ts +32 -0
- package/dist/admin/src/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.d.ts +8 -0
- package/dist/admin/src/future/pages/Assets/components/AssetDetails/AssetPreview.d.ts +6 -0
- package/dist/admin/src/future/pages/Assets/components/AssetsGrid.d.ts +2 -1
- package/dist/admin/src/future/pages/Assets/components/AssetsTable.d.ts +2 -1
- package/dist/admin/src/future/pages/Assets/components/CreateFolderDialog.d.ts +8 -0
- package/dist/admin/src/future/pages/Assets/components/ImportFromUrlDialog.d.ts +7 -0
- package/dist/admin/src/future/services/api.d.ts +10 -1
- package/dist/admin/src/future/services/assets.d.ts +2 -2
- package/dist/admin/src/future/services/folders.d.ts +1 -1
- package/dist/admin/src/future/store/uploadProgress.d.ts +1 -1
- package/dist/admin/src/future/utils/files.d.ts +70 -0
- package/dist/admin/translations/en.json.js +35 -3
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +35 -3
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/es.json.js +1 -1
- package/dist/admin/translations/es.json.mjs +1 -1
- package/dist/admin/utils/appendSearchParamsToUrl.js.map +1 -1
- package/dist/admin/utils/appendSearchParamsToUrl.mjs.map +1 -1
- package/dist/admin/utils/containsAssetFilter.js.map +1 -1
- package/dist/admin/utils/containsAssetFilter.mjs.map +1 -1
- package/dist/admin/utils/createAssetUrl.js.map +1 -1
- package/dist/admin/utils/createAssetUrl.mjs.map +1 -1
- package/dist/admin/utils/displayedFilters.js.map +1 -1
- package/dist/admin/utils/displayedFilters.mjs.map +1 -1
- package/dist/admin/utils/downloadFile.js.map +1 -1
- package/dist/admin/utils/downloadFile.mjs.map +1 -1
- package/dist/admin/utils/findRecursiveFolderByValue.js.map +1 -1
- package/dist/admin/utils/findRecursiveFolderByValue.mjs.map +1 -1
- package/dist/admin/utils/formatBytes.js.map +1 -1
- package/dist/admin/utils/formatBytes.mjs.map +1 -1
- package/dist/admin/utils/formatDuration.js.map +1 -1
- package/dist/admin/utils/formatDuration.mjs.map +1 -1
- package/dist/admin/utils/getAPIInnerErrors.js.map +1 -1
- package/dist/admin/utils/getAPIInnerErrors.mjs.map +1 -1
- package/dist/admin/utils/getAllowedFiles.js.map +1 -1
- package/dist/admin/utils/getAllowedFiles.mjs.map +1 -1
- package/dist/admin/utils/getBreadcrumbDataCM.js.map +1 -1
- package/dist/admin/utils/getBreadcrumbDataCM.mjs.map +1 -1
- package/dist/admin/utils/getBreadcrumbDataML.js.map +1 -1
- package/dist/admin/utils/getBreadcrumbDataML.mjs.map +1 -1
- package/dist/admin/utils/getFileExtension.js.map +1 -1
- package/dist/admin/utils/getFileExtension.mjs.map +1 -1
- package/dist/admin/utils/getFolderParents.js.map +1 -1
- package/dist/admin/utils/getFolderParents.mjs.map +1 -1
- package/dist/admin/utils/getFolderURL.js.map +1 -1
- package/dist/admin/utils/getFolderURL.mjs.map +1 -1
- package/dist/admin/utils/getTrad.js.map +1 -1
- package/dist/admin/utils/getTrad.mjs.map +1 -1
- package/dist/admin/utils/icons.js.map +1 -1
- package/dist/admin/utils/icons.mjs +1 -1
- package/dist/admin/utils/icons.mjs.map +1 -1
- package/dist/admin/utils/moveElement.js.map +1 -1
- package/dist/admin/utils/moveElement.mjs.map +1 -1
- package/dist/admin/utils/normalizeAPIError.js.map +1 -1
- package/dist/admin/utils/normalizeAPIError.mjs.map +1 -1
- package/dist/admin/utils/prefixFileUrlWithBackendUrl.js.map +1 -1
- package/dist/admin/utils/prefixFileUrlWithBackendUrl.mjs.map +1 -1
- package/dist/admin/utils/prefixPluginTranslations.js.map +1 -1
- package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -1
- package/dist/admin/utils/rawFileToAsset.js.map +1 -1
- package/dist/admin/utils/rawFileToAsset.mjs.map +1 -1
- package/dist/admin/utils/toSingularTypes.js.map +1 -1
- package/dist/admin/utils/toSingularTypes.mjs.map +1 -1
- package/dist/admin/utils/typeFromMime.js.map +1 -1
- package/dist/admin/utils/typeFromMime.mjs.map +1 -1
- package/dist/admin/utils/urlYupSchema.js.map +1 -1
- package/dist/admin/utils/urlYupSchema.mjs.map +1 -1
- package/dist/admin/utils/urlsToAssets.js.map +1 -1
- package/dist/admin/utils/urlsToAssets.mjs.map +1 -1
- package/dist/server/bootstrap.js.map +1 -1
- package/dist/server/bootstrap.mjs.map +1 -1
- package/dist/server/config.js.map +1 -1
- package/dist/server/config.mjs.map +1 -1
- package/dist/server/constants.js.map +1 -1
- package/dist/server/constants.mjs.map +1 -1
- package/dist/server/content-types/file.js.map +1 -1
- package/dist/server/content-types/file.mjs.map +1 -1
- package/dist/server/content-types/folder.js.map +1 -1
- package/dist/server/content-types/folder.mjs +1 -1
- package/dist/server/content-types/folder.mjs.map +1 -1
- package/dist/server/content-types/index.js.map +1 -1
- package/dist/server/content-types/index.mjs.map +1 -1
- package/dist/server/controllers/admin-file.js.map +1 -1
- package/dist/server/controllers/admin-file.mjs +1 -1
- package/dist/server/controllers/admin-file.mjs.map +1 -1
- package/dist/server/controllers/admin-folder-file.js.map +1 -1
- package/dist/server/controllers/admin-folder-file.mjs +2 -2
- package/dist/server/controllers/admin-folder-file.mjs.map +1 -1
- package/dist/server/controllers/admin-folder.js.map +1 -1
- package/dist/server/controllers/admin-folder.mjs +1 -1
- package/dist/server/controllers/admin-folder.mjs.map +1 -1
- package/dist/server/controllers/admin-settings.js.map +1 -1
- package/dist/server/controllers/admin-settings.mjs.map +1 -1
- package/dist/server/controllers/admin-upload.js +144 -0
- package/dist/server/controllers/admin-upload.js.map +1 -1
- package/dist/server/controllers/admin-upload.mjs +147 -3
- package/dist/server/controllers/admin-upload.mjs.map +1 -1
- package/dist/server/controllers/content-api.js.map +1 -1
- package/dist/server/controllers/content-api.mjs.map +1 -1
- package/dist/server/controllers/index.js.map +1 -1
- package/dist/server/controllers/index.mjs.map +1 -1
- package/dist/server/controllers/utils/find-entity-and-check-permissions.js.map +1 -1
- package/dist/server/controllers/utils/find-entity-and-check-permissions.mjs.map +1 -1
- package/dist/server/controllers/utils/folders.js.map +1 -1
- package/dist/server/controllers/utils/folders.mjs.map +1 -1
- package/dist/server/controllers/validation/admin/configureView.js.map +1 -1
- package/dist/server/controllers/validation/admin/configureView.mjs.map +1 -1
- package/dist/server/controllers/validation/admin/folder-file.js.map +1 -1
- package/dist/server/controllers/validation/admin/folder-file.mjs.map +1 -1
- package/dist/server/controllers/validation/admin/folder.js.map +1 -1
- package/dist/server/controllers/validation/admin/folder.mjs.map +1 -1
- package/dist/server/controllers/validation/admin/settings.js.map +1 -1
- package/dist/server/controllers/validation/admin/settings.mjs.map +1 -1
- package/dist/server/controllers/validation/admin/upload.js.map +1 -1
- package/dist/server/controllers/validation/admin/upload.mjs.map +1 -1
- package/dist/server/controllers/validation/admin/utils.js.map +1 -1
- package/dist/server/controllers/validation/admin/utils.mjs.map +1 -1
- package/dist/server/controllers/validation/content-api/upload.js.map +1 -1
- package/dist/server/controllers/validation/content-api/upload.mjs.map +1 -1
- package/dist/server/controllers/view-configuration.js.map +1 -1
- package/dist/server/controllers/view-configuration.mjs.map +1 -1
- package/dist/server/graphql.js.map +1 -1
- package/dist/server/graphql.mjs.map +1 -1
- package/dist/server/index.js +8 -8
- package/dist/server/middlewares/upload.js.map +1 -1
- package/dist/server/middlewares/upload.mjs.map +1 -1
- package/dist/server/models/ai-metadata-job.js.map +1 -1
- package/dist/server/models/ai-metadata-job.mjs.map +1 -1
- package/dist/server/register.js.map +1 -1
- package/dist/server/register.mjs.map +1 -1
- package/dist/server/routes/admin.js +10 -0
- package/dist/server/routes/admin.js.map +1 -1
- package/dist/server/routes/admin.mjs +10 -0
- package/dist/server/routes/admin.mjs.map +1 -1
- package/dist/server/routes/content-api.js.map +1 -1
- package/dist/server/routes/content-api.mjs.map +1 -1
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/index.mjs +4 -4
- package/dist/server/routes/index.mjs.map +1 -1
- package/dist/server/routes/validation/upload.js.map +1 -1
- package/dist/server/routes/validation/upload.mjs.map +1 -1
- package/dist/server/routes/view-configuration.js.map +1 -1
- package/dist/server/routes/view-configuration.mjs.map +1 -1
- package/dist/server/services/ai-metadata-jobs.js.map +1 -1
- package/dist/server/services/ai-metadata-jobs.mjs.map +1 -1
- package/dist/server/services/ai-metadata.js.map +1 -1
- package/dist/server/services/ai-metadata.mjs.map +1 -1
- package/dist/server/services/api-upload-folder.js.map +1 -1
- package/dist/server/services/api-upload-folder.mjs.map +1 -1
- package/dist/server/services/extensions/index.js.map +1 -1
- package/dist/server/services/extensions/index.mjs.map +1 -1
- package/dist/server/services/extensions/utils.js.map +1 -1
- package/dist/server/services/extensions/utils.mjs.map +1 -1
- package/dist/server/services/file.js +120 -1
- package/dist/server/services/file.js.map +1 -1
- package/dist/server/services/file.mjs +122 -3
- package/dist/server/services/file.mjs.map +1 -1
- package/dist/server/services/folder.js.map +1 -1
- package/dist/server/services/folder.mjs +1 -1
- package/dist/server/services/folder.mjs.map +1 -1
- package/dist/server/services/image-manipulation.js.map +1 -1
- package/dist/server/services/image-manipulation.mjs +1 -1
- package/dist/server/services/image-manipulation.mjs.map +1 -1
- package/dist/server/services/index.js.map +1 -1
- package/dist/server/services/index.mjs.map +1 -1
- package/dist/server/services/metrics.js.map +1 -1
- package/dist/server/services/metrics.mjs.map +1 -1
- package/dist/server/services/provider.js.map +1 -1
- package/dist/server/services/provider.mjs.map +1 -1
- package/dist/server/services/upload.js.map +1 -1
- package/dist/server/services/upload.mjs +1 -1
- package/dist/server/services/upload.mjs.map +1 -1
- package/dist/server/services/weekly-metrics.js.map +1 -1
- package/dist/server/services/weekly-metrics.mjs.map +1 -1
- package/dist/server/src/controllers/admin-upload.d.ts +13 -0
- package/dist/server/src/controllers/admin-upload.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +1 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +2 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/admin.d.ts.map +1 -1
- package/dist/server/src/services/file.d.ts +15 -0
- package/dist/server/src/services/file.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +1 -0
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/utils/cron.js.map +1 -1
- package/dist/server/utils/cron.mjs.map +1 -1
- package/dist/server/utils/images.js.map +1 -1
- package/dist/server/utils/images.mjs.map +1 -1
- package/dist/server/utils/index.js.map +1 -1
- package/dist/server/utils/index.mjs.map +1 -1
- package/dist/server/utils/mime-validation.js.map +1 -1
- package/dist/server/utils/mime-validation.mjs.map +1 -1
- package/dist/shared/contracts/files.d.ts +11 -0
- package/dist/shared/contracts/files.d.ts.map +1 -1
- package/package.json +8 -8
|
@@ -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 m={4}\n s={6}\n xs={12}\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\n justifyContent=\"space-between\"\n paddingTop={4}\n position=\"relative\"\n zIndex={1}\n overflow=\"hidden\"\n >\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","m","s","xs","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","overflow","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 m={4}\n s={6}\n xs={12}\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, one {# folder} other {# folders}}, {filesCount, plural, 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\n justifyContent=\"space-between\"\n paddingTop={4}\n position=\"relative\"\n zIndex={1}\n overflow=\"hidden\"\n >\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","m","s","xs","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","overflow","PageSize","pageSize","PaginationFooter","activePage"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filters.js","sources":["../../../../../admin/src/components/AssetDialog/BrowseStep/Filters.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Popover } from '@strapi/design-system';\nimport { Filter } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { displayedFilters } from '../../../utils';\nimport { FilterList } from '../../FilterList/FilterList';\nimport { FilterPopover } from '../../FilterPopover/FilterPopover';\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\ninterface FiltersProps {\n appliedFilters: FilterStructure[];\n onChangeFilters: (filters: Filter[]) => void;\n}\n\nexport const Filters = ({ appliedFilters, onChangeFilters }: FiltersProps) => {\n const [open, setOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.Trigger>\n <Button variant=\"tertiary\" startIcon={<Filter />} size=\"S\">\n {formatMessage({ id: 'app.utils.filters', defaultMessage: 'Filters' })}\n </Button>\n </Popover.Trigger>\n <FilterPopover\n onToggle={() => setOpen((prev) => !prev)}\n displayedFilters={displayedFilters}\n filters={appliedFilters}\n onSubmit={onChangeFilters}\n />\n\n {appliedFilters && (\n <FilterList\n appliedFilters={appliedFilters}\n filtersSchema={displayedFilters}\n onRemoveFilter={onChangeFilters}\n />\n )}\n </Popover.Root>\n );\n};\n"],"names":["Filters","appliedFilters","onChangeFilters","open","setOpen","React","useState","formatMessage","useIntl","_jsxs","Popover","Root","onOpenChange","_jsx","Trigger","Button","variant","startIcon","Filter","size","id","defaultMessage","FilterPopover","onToggle","prev","displayedFilters","filters","onSubmit","FilterList","filtersSchema","onRemoveFilter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4CaA,
|
|
1
|
+
{"version":3,"file":"Filters.js","sources":["../../../../../admin/src/components/AssetDialog/BrowseStep/Filters.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Popover } from '@strapi/design-system';\nimport { Filter } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { displayedFilters } from '../../../utils';\nimport { FilterList } from '../../FilterList/FilterList';\nimport { FilterPopover } from '../../FilterPopover/FilterPopover';\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\ninterface FiltersProps {\n appliedFilters: FilterStructure[];\n onChangeFilters: (filters: Filter[]) => void;\n}\n\nexport const Filters = ({ appliedFilters, onChangeFilters }: FiltersProps) => {\n const [open, setOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.Trigger>\n <Button variant=\"tertiary\" startIcon={<Filter />} size=\"S\">\n {formatMessage({ id: 'app.utils.filters', defaultMessage: 'Filters' })}\n </Button>\n </Popover.Trigger>\n <FilterPopover\n onToggle={() => setOpen((prev) => !prev)}\n displayedFilters={displayedFilters}\n filters={appliedFilters}\n onSubmit={onChangeFilters}\n />\n\n {appliedFilters && (\n <FilterList\n appliedFilters={appliedFilters}\n filtersSchema={displayedFilters}\n onRemoveFilter={onChangeFilters}\n />\n )}\n </Popover.Root>\n );\n};\n"],"names":["Filters","appliedFilters","onChangeFilters","open","setOpen","React","useState","formatMessage","useIntl","_jsxs","Popover","Root","onOpenChange","_jsx","Trigger","Button","variant","startIcon","Filter","size","id","defaultMessage","FilterPopover","onToggle","prev","displayedFilters","filters","onSubmit","FilterList","filtersSchema","onRemoveFilter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4CaA,OAAAA,GAAU,CAAC,EAAEC,cAAc,EAAEC,eAAe,EAAgB,GAAA;AACvE,IAAA,MAAM,CAACC,IAAAA,EAAMC,OAAAA,CAAQ,GAAGC,gBAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IACvC,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,qBACEC,eAAA,CAACC,qBAAQC,IAAI,EAAA;QAACR,IAAAA,EAAMA,IAAAA;QAAMS,YAAAA,EAAcR,OAAAA;;AACtC,0BAAAS,cAAA,CAACH,qBAAQI,OAAO,EAAA;AACd,gBAAA,QAAA,gBAAAD,cAAA,CAACE,mBAAAA,EAAAA;oBAAOC,OAAAA,EAAQ,UAAA;AAAWC,oBAAAA,SAAAA,gBAAWJ,cAAA,CAACK,YAAAA,EAAAA,EAAAA,CAAAA;oBAAWC,IAAAA,EAAK,GAAA;8BACpDZ,aAAAA,CAAc;wBAAEa,EAAAA,EAAI,mBAAA;wBAAqBC,cAAAA,EAAgB;AAAU,qBAAA;;;0BAGxER,cAAA,CAACS,2BAAAA,EAAAA;AACCC,gBAAAA,QAAAA,EAAU,IAAMnB,OAAAA,CAAQ,CAACoB,IAAAA,GAAS,CAACA,IAAAA,CAAAA;gBACnCC,gBAAAA,EAAkBA,iCAAAA;gBAClBC,OAAAA,EAASzB,cAAAA;gBACT0B,QAAAA,EAAUzB;;AAGXD,YAAAA,cAAAA,kBACCY,cAAA,CAACe,qBAAAA,EAAAA;gBACC3B,cAAAA,EAAgBA,cAAAA;gBAChB4B,aAAAA,EAAeJ,iCAAAA;gBACfK,cAAAA,EAAgB5B;;;;AAK1B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filters.mjs","sources":["../../../../../admin/src/components/AssetDialog/BrowseStep/Filters.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Popover } from '@strapi/design-system';\nimport { Filter } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { displayedFilters } from '../../../utils';\nimport { FilterList } from '../../FilterList/FilterList';\nimport { FilterPopover } from '../../FilterPopover/FilterPopover';\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\ninterface FiltersProps {\n appliedFilters: FilterStructure[];\n onChangeFilters: (filters: Filter[]) => void;\n}\n\nexport const Filters = ({ appliedFilters, onChangeFilters }: FiltersProps) => {\n const [open, setOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.Trigger>\n <Button variant=\"tertiary\" startIcon={<Filter />} size=\"S\">\n {formatMessage({ id: 'app.utils.filters', defaultMessage: 'Filters' })}\n </Button>\n </Popover.Trigger>\n <FilterPopover\n onToggle={() => setOpen((prev) => !prev)}\n displayedFilters={displayedFilters}\n filters={appliedFilters}\n onSubmit={onChangeFilters}\n />\n\n {appliedFilters && (\n <FilterList\n appliedFilters={appliedFilters}\n filtersSchema={displayedFilters}\n onRemoveFilter={onChangeFilters}\n />\n )}\n </Popover.Root>\n );\n};\n"],"names":["Filters","appliedFilters","onChangeFilters","open","setOpen","React","useState","formatMessage","useIntl","_jsxs","Popover","Root","onOpenChange","_jsx","Trigger","Button","variant","startIcon","Filter","size","id","defaultMessage","FilterPopover","onToggle","prev","displayedFilters","filters","onSubmit","FilterList","filtersSchema","onRemoveFilter"],"mappings":";;;;;;;;;;;;;;MA4CaA,
|
|
1
|
+
{"version":3,"file":"Filters.mjs","sources":["../../../../../admin/src/components/AssetDialog/BrowseStep/Filters.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Popover } from '@strapi/design-system';\nimport { Filter } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { displayedFilters } from '../../../utils';\nimport { FilterList } from '../../FilterList/FilterList';\nimport { FilterPopover } from '../../FilterPopover/FilterPopover';\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\ninterface FiltersProps {\n appliedFilters: FilterStructure[];\n onChangeFilters: (filters: Filter[]) => void;\n}\n\nexport const Filters = ({ appliedFilters, onChangeFilters }: FiltersProps) => {\n const [open, setOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.Trigger>\n <Button variant=\"tertiary\" startIcon={<Filter />} size=\"S\">\n {formatMessage({ id: 'app.utils.filters', defaultMessage: 'Filters' })}\n </Button>\n </Popover.Trigger>\n <FilterPopover\n onToggle={() => setOpen((prev) => !prev)}\n displayedFilters={displayedFilters}\n filters={appliedFilters}\n onSubmit={onChangeFilters}\n />\n\n {appliedFilters && (\n <FilterList\n appliedFilters={appliedFilters}\n filtersSchema={displayedFilters}\n onRemoveFilter={onChangeFilters}\n />\n )}\n </Popover.Root>\n );\n};\n"],"names":["Filters","appliedFilters","onChangeFilters","open","setOpen","React","useState","formatMessage","useIntl","_jsxs","Popover","Root","onOpenChange","_jsx","Trigger","Button","variant","startIcon","Filter","size","id","defaultMessage","FilterPopover","onToggle","prev","displayedFilters","filters","onSubmit","FilterList","filtersSchema","onRemoveFilter"],"mappings":";;;;;;;;;;;;;;MA4CaA,OAAAA,GAAU,CAAC,EAAEC,cAAc,EAAEC,eAAe,EAAgB,GAAA;AACvE,IAAA,MAAM,CAACC,IAAAA,EAAMC,OAAAA,CAAQ,GAAGC,KAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IACvC,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAE1B,qBACEC,IAAA,CAACC,QAAQC,IAAI,EAAA;QAACR,IAAAA,EAAMA,IAAAA;QAAMS,YAAAA,EAAcR,OAAAA;;AACtC,0BAAAS,GAAA,CAACH,QAAQI,OAAO,EAAA;AACd,gBAAA,QAAA,gBAAAD,GAAA,CAACE,MAAAA,EAAAA;oBAAOC,OAAAA,EAAQ,UAAA;AAAWC,oBAAAA,SAAAA,gBAAWJ,GAAA,CAACK,MAAAA,EAAAA,EAAAA,CAAAA;oBAAWC,IAAAA,EAAK,GAAA;8BACpDZ,aAAAA,CAAc;wBAAEa,EAAAA,EAAI,mBAAA;wBAAqBC,cAAAA,EAAgB;AAAU,qBAAA;;;0BAGxER,GAAA,CAACS,aAAAA,EAAAA;AACCC,gBAAAA,QAAAA,EAAU,IAAMnB,OAAAA,CAAQ,CAACoB,IAAAA,GAAS,CAACA,IAAAA,CAAAA;gBACnCC,gBAAAA,EAAkBA,gBAAAA;gBAClBC,OAAAA,EAASzB,cAAAA;gBACT0B,QAAAA,EAAUzB;;AAGXD,YAAAA,cAAAA,kBACCY,GAAA,CAACe,UAAAA,EAAAA;gBACC3B,cAAAA,EAAgBA,cAAAA;gBAChB4B,aAAAA,EAAeJ,gBAAAA;gBACfK,cAAAA,EAAgB5B;;;;AAK1B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageSize.js","sources":["../../../../../admin/src/components/AssetDialog/BrowseStep/PageSize.tsx"],"sourcesContent":["import { Box, Flex, SingleSelectOption, SingleSelect, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\ninterface PageSizeProps {\n onChangePageSize: (value: number) => void;\n pageSize: number;\n}\n\nexport const PageSize = ({ onChangePageSize, pageSize }: PageSizeProps) => {\n const { formatMessage } = useIntl();\n\n const handleChange = (value: string | number) => {\n onChangePageSize(Number(value));\n };\n\n return (\n <Flex>\n <SingleSelect\n size=\"S\"\n aria-label={formatMessage({\n id: 'components.PageFooter.select',\n defaultMessage: 'Entries per page',\n })}\n onChange={handleChange}\n value={pageSize.toString()}\n >\n <SingleSelectOption value=\"10\">10</SingleSelectOption>\n <SingleSelectOption value=\"20\">20</SingleSelectOption>\n <SingleSelectOption value=\"50\">50</SingleSelectOption>\n <SingleSelectOption value=\"100\">100</SingleSelectOption>\n </SingleSelect>\n <Box paddingLeft={2}>\n <Typography textColor=\"neutral600\" tag=\"label\" htmlFor=\"page-size\">\n {formatMessage({\n id: 'components.PageFooter.select',\n defaultMessage: 'Entries per page',\n })}\n </Typography>\n </Box>\n </Flex>\n );\n};\n"],"names":["PageSize","onChangePageSize","pageSize","formatMessage","useIntl","handleChange","value","Number","_jsxs","Flex","SingleSelect","size","aria-label","id","defaultMessage","onChange","toString","_jsx","SingleSelectOption","Box","paddingLeft","Typography","textColor","tag","htmlFor"],"mappings":";;;;;;MAQaA,
|
|
1
|
+
{"version":3,"file":"PageSize.js","sources":["../../../../../admin/src/components/AssetDialog/BrowseStep/PageSize.tsx"],"sourcesContent":["import { Box, Flex, SingleSelectOption, SingleSelect, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\ninterface PageSizeProps {\n onChangePageSize: (value: number) => void;\n pageSize: number;\n}\n\nexport const PageSize = ({ onChangePageSize, pageSize }: PageSizeProps) => {\n const { formatMessage } = useIntl();\n\n const handleChange = (value: string | number) => {\n onChangePageSize(Number(value));\n };\n\n return (\n <Flex>\n <SingleSelect\n size=\"S\"\n aria-label={formatMessage({\n id: 'components.PageFooter.select',\n defaultMessage: 'Entries per page',\n })}\n onChange={handleChange}\n value={pageSize.toString()}\n >\n <SingleSelectOption value=\"10\">10</SingleSelectOption>\n <SingleSelectOption value=\"20\">20</SingleSelectOption>\n <SingleSelectOption value=\"50\">50</SingleSelectOption>\n <SingleSelectOption value=\"100\">100</SingleSelectOption>\n </SingleSelect>\n <Box paddingLeft={2}>\n <Typography textColor=\"neutral600\" tag=\"label\" htmlFor=\"page-size\">\n {formatMessage({\n id: 'components.PageFooter.select',\n defaultMessage: 'Entries per page',\n })}\n </Typography>\n </Box>\n </Flex>\n );\n};\n"],"names":["PageSize","onChangePageSize","pageSize","formatMessage","useIntl","handleChange","value","Number","_jsxs","Flex","SingleSelect","size","aria-label","id","defaultMessage","onChange","toString","_jsx","SingleSelectOption","Box","paddingLeft","Typography","textColor","tag","htmlFor"],"mappings":";;;;;;MAQaA,QAAAA,GAAW,CAAC,EAAEC,gBAAgB,EAAEC,QAAQ,EAAiB,GAAA;IACpE,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,MAAMC,eAAe,CAACC,KAAAA,GAAAA;AACpBL,QAAAA,gBAAAA,CAAiBM,MAAAA,CAAOD,KAAAA,CAAAA,CAAAA;AAC1B,IAAA,CAAA;AAEA,IAAA,qBACEE,eAAA,CAACC,iBAAAA,EAAAA;;0BACCD,eAAA,CAACE,yBAAAA,EAAAA;gBACCC,IAAAA,EAAK,GAAA;AACLC,gBAAAA,YAAAA,EAAYT,aAAAA,CAAc;oBACxBU,EAAAA,EAAI,8BAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA,CAAA;gBACAC,QAAAA,EAAUV,YAAAA;AACVC,gBAAAA,KAAAA,EAAOJ,SAASc,QAAQ,EAAA;;kCAExBC,cAAA,CAACC,+BAAAA,EAAAA;wBAAmBZ,KAAAA,EAAM,IAAA;AAAK,wBAAA,QAAA,EAAA;;kCAC/BW,cAAA,CAACC,+BAAAA,EAAAA;wBAAmBZ,KAAAA,EAAM,IAAA;AAAK,wBAAA,QAAA,EAAA;;kCAC/BW,cAAA,CAACC,+BAAAA,EAAAA;wBAAmBZ,KAAAA,EAAM,IAAA;AAAK,wBAAA,QAAA,EAAA;;kCAC/BW,cAAA,CAACC,+BAAAA,EAAAA;wBAAmBZ,KAAAA,EAAM,KAAA;AAAM,wBAAA,QAAA,EAAA;;;;0BAElCW,cAAA,CAACE,gBAAAA,EAAAA;gBAAIC,WAAAA,EAAa,CAAA;AAChB,gBAAA,QAAA,gBAAAH,cAAA,CAACI,uBAAAA,EAAAA;oBAAWC,SAAAA,EAAU,YAAA;oBAAaC,GAAAA,EAAI,OAAA;oBAAQC,OAAAA,EAAQ,WAAA;8BACpDrB,aAAAA,CAAc;wBACbU,EAAAA,EAAI,8BAAA;wBACJC,cAAAA,EAAgB;AAClB,qBAAA;;;;;AAKV;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageSize.mjs","sources":["../../../../../admin/src/components/AssetDialog/BrowseStep/PageSize.tsx"],"sourcesContent":["import { Box, Flex, SingleSelectOption, SingleSelect, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\ninterface PageSizeProps {\n onChangePageSize: (value: number) => void;\n pageSize: number;\n}\n\nexport const PageSize = ({ onChangePageSize, pageSize }: PageSizeProps) => {\n const { formatMessage } = useIntl();\n\n const handleChange = (value: string | number) => {\n onChangePageSize(Number(value));\n };\n\n return (\n <Flex>\n <SingleSelect\n size=\"S\"\n aria-label={formatMessage({\n id: 'components.PageFooter.select',\n defaultMessage: 'Entries per page',\n })}\n onChange={handleChange}\n value={pageSize.toString()}\n >\n <SingleSelectOption value=\"10\">10</SingleSelectOption>\n <SingleSelectOption value=\"20\">20</SingleSelectOption>\n <SingleSelectOption value=\"50\">50</SingleSelectOption>\n <SingleSelectOption value=\"100\">100</SingleSelectOption>\n </SingleSelect>\n <Box paddingLeft={2}>\n <Typography textColor=\"neutral600\" tag=\"label\" htmlFor=\"page-size\">\n {formatMessage({\n id: 'components.PageFooter.select',\n defaultMessage: 'Entries per page',\n })}\n </Typography>\n </Box>\n </Flex>\n );\n};\n"],"names":["PageSize","onChangePageSize","pageSize","formatMessage","useIntl","handleChange","value","Number","_jsxs","Flex","SingleSelect","size","aria-label","id","defaultMessage","onChange","toString","_jsx","SingleSelectOption","Box","paddingLeft","Typography","textColor","tag","htmlFor"],"mappings":";;;;MAQaA,
|
|
1
|
+
{"version":3,"file":"PageSize.mjs","sources":["../../../../../admin/src/components/AssetDialog/BrowseStep/PageSize.tsx"],"sourcesContent":["import { Box, Flex, SingleSelectOption, SingleSelect, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\ninterface PageSizeProps {\n onChangePageSize: (value: number) => void;\n pageSize: number;\n}\n\nexport const PageSize = ({ onChangePageSize, pageSize }: PageSizeProps) => {\n const { formatMessage } = useIntl();\n\n const handleChange = (value: string | number) => {\n onChangePageSize(Number(value));\n };\n\n return (\n <Flex>\n <SingleSelect\n size=\"S\"\n aria-label={formatMessage({\n id: 'components.PageFooter.select',\n defaultMessage: 'Entries per page',\n })}\n onChange={handleChange}\n value={pageSize.toString()}\n >\n <SingleSelectOption value=\"10\">10</SingleSelectOption>\n <SingleSelectOption value=\"20\">20</SingleSelectOption>\n <SingleSelectOption value=\"50\">50</SingleSelectOption>\n <SingleSelectOption value=\"100\">100</SingleSelectOption>\n </SingleSelect>\n <Box paddingLeft={2}>\n <Typography textColor=\"neutral600\" tag=\"label\" htmlFor=\"page-size\">\n {formatMessage({\n id: 'components.PageFooter.select',\n defaultMessage: 'Entries per page',\n })}\n </Typography>\n </Box>\n </Flex>\n );\n};\n"],"names":["PageSize","onChangePageSize","pageSize","formatMessage","useIntl","handleChange","value","Number","_jsxs","Flex","SingleSelect","size","aria-label","id","defaultMessage","onChange","toString","_jsx","SingleSelectOption","Box","paddingLeft","Typography","textColor","tag","htmlFor"],"mappings":";;;;MAQaA,QAAAA,GAAW,CAAC,EAAEC,gBAAgB,EAAEC,QAAQ,EAAiB,GAAA;IACpE,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,MAAMC,eAAe,CAACC,KAAAA,GAAAA;AACpBL,QAAAA,gBAAAA,CAAiBM,MAAAA,CAAOD,KAAAA,CAAAA,CAAAA;AAC1B,IAAA,CAAA;AAEA,IAAA,qBACEE,IAAA,CAACC,IAAAA,EAAAA;;0BACCD,IAAA,CAACE,YAAAA,EAAAA;gBACCC,IAAAA,EAAK,GAAA;AACLC,gBAAAA,YAAAA,EAAYT,aAAAA,CAAc;oBACxBU,EAAAA,EAAI,8BAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA,CAAA;gBACAC,QAAAA,EAAUV,YAAAA;AACVC,gBAAAA,KAAAA,EAAOJ,SAASc,QAAQ,EAAA;;kCAExBC,GAAA,CAACC,kBAAAA,EAAAA;wBAAmBZ,KAAAA,EAAM,IAAA;AAAK,wBAAA,QAAA,EAAA;;kCAC/BW,GAAA,CAACC,kBAAAA,EAAAA;wBAAmBZ,KAAAA,EAAM,IAAA;AAAK,wBAAA,QAAA,EAAA;;kCAC/BW,GAAA,CAACC,kBAAAA,EAAAA;wBAAmBZ,KAAAA,EAAM,IAAA;AAAK,wBAAA,QAAA,EAAA;;kCAC/BW,GAAA,CAACC,kBAAAA,EAAAA;wBAAmBZ,KAAAA,EAAM,KAAA;AAAM,wBAAA,QAAA,EAAA;;;;0BAElCW,GAAA,CAACE,GAAAA,EAAAA;gBAAIC,WAAAA,EAAa,CAAA;AAChB,gBAAA,QAAA,gBAAAH,GAAA,CAACI,UAAAA,EAAAA;oBAAWC,SAAAA,EAAU,YAAA;oBAAaC,GAAAA,EAAI,OAAA;oBAAQC,OAAAA,EAAQ,WAAA;8BACpDrB,aAAAA,CAAc;wBACbU,EAAAA,EAAI,8BAAA;wBACJC,cAAAA,EAAgB;AAClB,qBAAA;;;;;AAKV;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","sources":["../../../../../../admin/src/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex } from '@strapi/design-system';\n\nconst PaginationContext = React.createContext({ activePage: 1, pageCount: 1 });\nexport const usePagination = () => React.useContext(PaginationContext);\n\ninterface PaginationProps {\n activePage: number;\n children: React.ReactNode;\n label?: string;\n pageCount: number;\n}\n\nexport const Pagination = ({\n children,\n activePage,\n pageCount,\n label = 'pagination',\n}: PaginationProps) => {\n const paginationValue = React.useMemo(() => ({ activePage, pageCount }), [activePage, pageCount]);\n\n return (\n <PaginationContext.Provider value={paginationValue}>\n <Box tag=\"nav\" aria-label={label}>\n <Flex tag=\"ul\" gap={1}>\n {children}\n </Flex>\n </Box>\n </PaginationContext.Provider>\n );\n};\n"],"names":["PaginationContext","React","createContext","activePage","pageCount","usePagination","useContext","Pagination","children","label","paginationValue","useMemo","_jsx","Provider","value","Box","tag","aria-label","Flex","gap"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAMA,iBAAAA,iBAAoBC,
|
|
1
|
+
{"version":3,"file":"Pagination.js","sources":["../../../../../../admin/src/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex } from '@strapi/design-system';\n\nconst PaginationContext = React.createContext({ activePage: 1, pageCount: 1 });\nexport const usePagination = () => React.useContext(PaginationContext);\n\ninterface PaginationProps {\n activePage: number;\n children: React.ReactNode;\n label?: string;\n pageCount: number;\n}\n\nexport const Pagination = ({\n children,\n activePage,\n pageCount,\n label = 'pagination',\n}: PaginationProps) => {\n const paginationValue = React.useMemo(() => ({ activePage, pageCount }), [activePage, pageCount]);\n\n return (\n <PaginationContext.Provider value={paginationValue}>\n <Box tag=\"nav\" aria-label={label}>\n <Flex tag=\"ul\" gap={1}>\n {children}\n </Flex>\n </Box>\n </PaginationContext.Provider>\n );\n};\n"],"names":["PaginationContext","React","createContext","activePage","pageCount","usePagination","useContext","Pagination","children","label","paginationValue","useMemo","_jsx","Provider","value","Box","tag","aria-label","Flex","gap"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAMA,iBAAAA,iBAAoBC,gBAAAA,CAAMC,aAAa,CAAC;IAAEC,UAAAA,EAAY,CAAA;IAAGC,SAAAA,EAAW;AAAE,CAAA,CAAA;MAC/DC,aAAAA,GAAgB,IAAMJ,gBAAAA,CAAMK,UAAU,CAACN,iBAAAA;AAS7C,MAAMO,UAAAA,GAAa,CAAC,EACzBC,QAAQ,EACRL,UAAU,EACVC,SAAS,EACTK,KAAAA,GAAQ,YAAY,EACJ,GAAA;AAChB,IAAA,MAAMC,eAAAA,GAAkBT,gBAAAA,CAAMU,OAAO,CAAC,KAAO;AAAER,YAAAA,UAAAA;AAAYC,YAAAA;AAAU,SAAA,CAAA,EAAI;AAACD,QAAAA,UAAAA;AAAYC,QAAAA;AAAU,KAAA,CAAA;IAEhG,qBACEQ,cAAA,CAACZ,kBAAkBa,QAAQ,EAAA;QAACC,KAAAA,EAAOJ,eAAAA;AACjC,QAAA,QAAA,gBAAAE,cAAA,CAACG,gBAAAA,EAAAA;YAAIC,GAAAA,EAAI,KAAA;YAAMC,YAAAA,EAAYR,KAAAA;AACzB,YAAA,QAAA,gBAAAG,cAAA,CAACM,iBAAAA,EAAAA;gBAAKF,GAAAA,EAAI,IAAA;gBAAKG,GAAAA,EAAK,CAAA;AACjBX,gBAAAA,QAAAA,EAAAA;;;;AAKX;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.mjs","sources":["../../../../../../admin/src/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex } from '@strapi/design-system';\n\nconst PaginationContext = React.createContext({ activePage: 1, pageCount: 1 });\nexport const usePagination = () => React.useContext(PaginationContext);\n\ninterface PaginationProps {\n activePage: number;\n children: React.ReactNode;\n label?: string;\n pageCount: number;\n}\n\nexport const Pagination = ({\n children,\n activePage,\n pageCount,\n label = 'pagination',\n}: PaginationProps) => {\n const paginationValue = React.useMemo(() => ({ activePage, pageCount }), [activePage, pageCount]);\n\n return (\n <PaginationContext.Provider value={paginationValue}>\n <Box tag=\"nav\" aria-label={label}>\n <Flex tag=\"ul\" gap={1}>\n {children}\n </Flex>\n </Box>\n </PaginationContext.Provider>\n );\n};\n"],"names":["PaginationContext","React","createContext","activePage","pageCount","usePagination","useContext","Pagination","children","label","paginationValue","useMemo","_jsx","Provider","value","Box","tag","aria-label","Flex","gap"],"mappings":";;;;AAIA,MAAMA,iBAAAA,iBAAoBC,
|
|
1
|
+
{"version":3,"file":"Pagination.mjs","sources":["../../../../../../admin/src/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex } from '@strapi/design-system';\n\nconst PaginationContext = React.createContext({ activePage: 1, pageCount: 1 });\nexport const usePagination = () => React.useContext(PaginationContext);\n\ninterface PaginationProps {\n activePage: number;\n children: React.ReactNode;\n label?: string;\n pageCount: number;\n}\n\nexport const Pagination = ({\n children,\n activePage,\n pageCount,\n label = 'pagination',\n}: PaginationProps) => {\n const paginationValue = React.useMemo(() => ({ activePage, pageCount }), [activePage, pageCount]);\n\n return (\n <PaginationContext.Provider value={paginationValue}>\n <Box tag=\"nav\" aria-label={label}>\n <Flex tag=\"ul\" gap={1}>\n {children}\n </Flex>\n </Box>\n </PaginationContext.Provider>\n );\n};\n"],"names":["PaginationContext","React","createContext","activePage","pageCount","usePagination","useContext","Pagination","children","label","paginationValue","useMemo","_jsx","Provider","value","Box","tag","aria-label","Flex","gap"],"mappings":";;;;AAIA,MAAMA,iBAAAA,iBAAoBC,KAAAA,CAAMC,aAAa,CAAC;IAAEC,UAAAA,EAAY,CAAA;IAAGC,SAAAA,EAAW;AAAE,CAAA,CAAA;MAC/DC,aAAAA,GAAgB,IAAMJ,KAAAA,CAAMK,UAAU,CAACN,iBAAAA;AAS7C,MAAMO,UAAAA,GAAa,CAAC,EACzBC,QAAQ,EACRL,UAAU,EACVC,SAAS,EACTK,KAAAA,GAAQ,YAAY,EACJ,GAAA;AAChB,IAAA,MAAMC,eAAAA,GAAkBT,KAAAA,CAAMU,OAAO,CAAC,KAAO;AAAER,YAAAA,UAAAA;AAAYC,YAAAA;AAAU,SAAA,CAAA,EAAI;AAACD,QAAAA,UAAAA;AAAYC,QAAAA;AAAU,KAAA,CAAA;IAEhG,qBACEQ,GAAA,CAACZ,kBAAkBa,QAAQ,EAAA;QAACC,KAAAA,EAAOJ,eAAAA;AACjC,QAAA,QAAA,gBAAAE,GAAA,CAACG,GAAAA,EAAAA;YAAIC,GAAAA,EAAI,KAAA;YAAMC,YAAAA,EAAYR,KAAAA;AACzB,YAAA,QAAA,gBAAAG,GAAA,CAACM,IAAAA,EAAAA;gBAAKF,GAAAA,EAAI,IAAA;gBAAKG,GAAAA,EAAK,CAAA;AACjBX,gBAAAA,QAAAA,EAAAA;;;;AAKX;;;;"}
|
package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationFooter.js","sources":["../../../../../../admin/src/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\n/**\n * The component works as follows: this is a duplicate of the helper-plugin one but without the router\n * `1` , 2, 3, ... 10\n * 1, `2`, 3, ... 10\n * 1, 2, `3`, 4, ... 10\n * 1, 2, 3, `4`, 5, ... 10\n * 1, ..,4, `5`, 6, ... 10\n *\n * 1, ...., 8, 9, `10`\n * 1, ...., 8, `9`, 10\n * 1, ...., 7, `8`, 9, 10\n * 1, ... 6, `7`, 8, 9, 10\n */\nimport { Typography, VisuallyHidden } from '@strapi/design-system';\nimport { ChevronLeft, ChevronRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled, css } from 'styled-components';\n\nimport { Pagination, usePagination } from './Pagination';\n\nconst PaginationText = styled(Typography)`\n line-height: revert;\n`;\n\nconst linkWrapperStyles = css<{ $active?: boolean }>`\n padding: ${({ theme }) => theme.spaces[3]};\n border-radius: ${({ theme }) => theme.borderRadius};\n box-shadow: ${({ $active, theme }) => ($active ? theme.shadows.filterShadow : undefined)};\n text-decoration: none;\n display: flex;\n position: relative;\n outline: none;\n\n &:after {\n transition-property: all;\n transition-duration: 0.2s;\n border-radius: 8px;\n content: '';\n position: absolute;\n top: -4px;\n bottom: -4px;\n left: -4px;\n right: -4px;\n border: 2px solid transparent;\n }\n\n &:focus-visible {\n outline: none;\n\n &:after {\n border-radius: 8px;\n content: '';\n position: absolute;\n top: -5px;\n bottom: -5px;\n left: -5px;\n right: -5px;\n border: 2px solid ${(props) => props.theme.colors.primary600};\n }\n }\n`;\n\nconst LinkWrapperButton = styled.button<{ $active?: boolean }>`\n ${linkWrapperStyles}\n`;\n\nconst LinkWrapperDiv = styled.div<{ $active?: boolean }>`\n ${linkWrapperStyles}\n`;\n\nLinkWrapperButton.defaultProps = { type: 'button' };\n\nconst PageLinkWrapper = styled(LinkWrapperButton)`\n color: ${({ theme, $active }) => ($active ? theme.colors.primary700 : theme.colors.neutral800)};\n background: ${({ theme, $active }) => ($active ? theme.colors.neutral0 : undefined)};\n\n &:hover {\n box-shadow: ${({ theme }) => theme.shadows.filterShadow};\n }\n`;\n\nconst ActionLinkWrapper = styled(LinkWrapperButton)`\n font-size: 1.1rem;\n svg path {\n fill: ${(p) => (p['aria-disabled'] ? p.theme.colors.neutral300 : p.theme.colors.neutral600)};\n }\n\n &:focus,\n &:hover {\n svg path {\n fill: ${(p) => (p['aria-disabled'] ? p.theme.colors.neutral300 : p.theme.colors.neutral700)};\n }\n }\n\n ${(p) =>\n p['aria-disabled']\n ? `\n pointer-events: none;\n `\n : undefined}\n`;\n\nconst DotsWrapper = styled(LinkWrapperDiv)`\n color: ${({ theme }) => theme.colors.neutral800};\n`;\n\ninterface PaginationLinkProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: React.ReactNode;\n}\n\ninterface PageLinkProps extends PaginationLinkProps {\n number: number;\n}\n\nconst PreviousLink = ({ children, ...props }: PaginationLinkProps) => {\n const { activePage } = usePagination();\n\n const disabled = activePage === 1;\n\n return (\n <li>\n <ActionLinkWrapper aria-disabled={disabled} tabIndex={disabled ? -1 : undefined} {...props}>\n <VisuallyHidden>{children}</VisuallyHidden>\n <ChevronLeft aria-hidden />\n </ActionLinkWrapper>\n </li>\n );\n};\n\nconst NextLink = ({ children, ...props }: PaginationLinkProps) => {\n const { activePage, pageCount } = usePagination();\n\n const disabled = activePage === pageCount;\n\n return (\n <li>\n <ActionLinkWrapper aria-disabled={disabled} tabIndex={disabled ? -1 : undefined} {...props}>\n <VisuallyHidden>{children}</VisuallyHidden>\n <ChevronRight aria-hidden />\n </ActionLinkWrapper>\n </li>\n );\n};\n\nconst PageLink = ({ number, children, ...props }: PageLinkProps) => {\n const { activePage } = usePagination();\n\n const isActive = activePage === number;\n\n return (\n <li>\n <PageLinkWrapper {...props} $active={isActive}>\n <VisuallyHidden>{children}</VisuallyHidden>\n <PaginationText aria-hidden variant=\"pi\" fontWeight={isActive ? 'bold' : ''}>\n {number}\n </PaginationText>\n </PageLinkWrapper>\n </li>\n );\n};\n\ninterface DotsProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n\nconst Dots = ({ children, ...props }: DotsProps) => (\n <li>\n <DotsWrapper {...props} as=\"div\">\n <VisuallyHidden>{children}</VisuallyHidden>\n <PaginationText aria-hidden small>\n …\n </PaginationText>\n </DotsWrapper>\n </li>\n);\n\ninterface PaginationFooterProps {\n activePage: number;\n onChangePage: (page: number) => void;\n pagination: {\n pageCount: number;\n };\n}\n\nexport const PaginationFooter = ({\n activePage,\n onChangePage,\n pagination: { pageCount },\n}: PaginationFooterProps) => {\n const { formatMessage } = useIntl();\n\n const previousActivePage = activePage - 1;\n const nextActivePage = activePage + 1;\n\n const firstLinks = [\n <PageLink\n key={1}\n number={1}\n onClick={() => {\n onChangePage(1);\n }}\n >\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: 1 }\n )}\n </PageLink>,\n ];\n\n if (pageCount <= 4) {\n const links = Array.from({ length: pageCount })\n .map((_, i) => i + 1)\n .map((number) => {\n return (\n <PageLink key={number} number={number} onClick={() => onChangePage(number)}>\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: number }\n )}\n </PageLink>\n );\n });\n\n return (\n <Pagination activePage={activePage} pageCount={pageCount}>\n <PreviousLink onClick={() => onChangePage(previousActivePage)}>\n {formatMessage({\n id: 'components.pagination.go-to-previous',\n defaultMessage: 'Go to previous page',\n })}\n </PreviousLink>\n {links}\n <NextLink onClick={() => onChangePage(nextActivePage)}>\n {formatMessage({\n id: 'components.pagination.go-to-next',\n defaultMessage: 'Go to next page',\n })}\n </NextLink>\n </Pagination>\n );\n }\n\n let firstLinksToCreate: number[] = [];\n const lastLinks: JSX.Element[] = [];\n let lastLinksToCreate: number[] = [];\n const middleLinks: JSX.Element[] = [];\n\n if (pageCount > 1) {\n lastLinks.push(\n <PageLink key={pageCount} number={pageCount} onClick={() => onChangePage(pageCount)}>\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: pageCount }\n )}\n </PageLink>\n );\n }\n\n if (activePage === 1 && pageCount >= 3) {\n firstLinksToCreate = [2];\n }\n\n if (activePage === 2 && pageCount >= 3) {\n if (pageCount === 5) {\n firstLinksToCreate = [2, 3, 4];\n } else if (pageCount === 3) {\n firstLinksToCreate = [2];\n } else {\n firstLinksToCreate = [2, 3];\n }\n }\n\n if (activePage === 4 && pageCount >= 3) {\n firstLinksToCreate = [2];\n }\n\n if (activePage === pageCount && pageCount >= 3) {\n lastLinksToCreate = [pageCount - 1];\n }\n\n if (activePage === pageCount - 2 && pageCount > 3) {\n lastLinksToCreate = [activePage + 1, activePage, activePage - 1];\n }\n\n if (activePage === pageCount - 3 && pageCount > 3 && activePage > 5) {\n lastLinksToCreate = [activePage + 2, activePage + 1, activePage, activePage - 1];\n }\n\n if (activePage === pageCount - 1 && pageCount > 3) {\n lastLinksToCreate = [activePage, activePage - 1];\n }\n\n lastLinksToCreate.forEach((number) => {\n lastLinks.unshift(\n <PageLink key={number} number={number} onClick={() => onChangePage(number)}>\n Go to page {number}\n </PageLink>\n );\n });\n\n firstLinksToCreate.forEach((number) => {\n firstLinks.push(\n <PageLink key={number} number={number} onClick={() => onChangePage(number)}>\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: number }\n )}\n </PageLink>\n );\n });\n\n if (\n ![1, 2].includes(activePage) &&\n activePage <= pageCount - 3 &&\n firstLinks.length + lastLinks.length < 6\n ) {\n const middleLinksToCreate = [activePage - 1, activePage, activePage + 1];\n\n middleLinksToCreate.forEach((number) => {\n middleLinks.push(\n <PageLink key={number} number={number} onClick={() => onChangePage(number)}>\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: number }\n )}\n </PageLink>\n );\n });\n }\n\n const shouldShowDotsAfterFirstLink =\n pageCount > 5 || (pageCount === 5 && (activePage === 1 || activePage === 5));\n const shouldShowMiddleDots = middleLinks.length > 2 && activePage > 4 && pageCount > 5;\n\n const beforeDotsLinksLength = shouldShowMiddleDots\n ? pageCount - activePage - 1\n : pageCount - firstLinks.length - lastLinks.length;\n const afterDotsLength = shouldShowMiddleDots\n ? pageCount - firstLinks.length - lastLinks.length\n : pageCount - activePage - 1;\n\n return (\n <Pagination activePage={activePage} pageCount={pageCount}>\n <PreviousLink onClick={() => onChangePage(previousActivePage)}>\n {formatMessage({\n id: 'components.pagination.go-to-previous',\n defaultMessage: 'Go to previous page',\n })}\n </PreviousLink>\n {firstLinks}\n {shouldShowMiddleDots && (\n <Dots>\n {formatMessage(\n {\n id: 'components.pagination.remaining-links',\n defaultMessage: 'And {number} other links',\n },\n { number: beforeDotsLinksLength }\n )}\n </Dots>\n )}\n {middleLinks}\n {shouldShowDotsAfterFirstLink && (\n <Dots>\n {formatMessage(\n {\n id: 'components.pagination.remaining-links',\n defaultMessage: 'And {number} other links',\n },\n { number: afterDotsLength }\n )}\n </Dots>\n )}\n {lastLinks}\n <NextLink onClick={() => onChangePage(nextActivePage)}>\n {formatMessage({\n id: 'components.pagination.go-to-next',\n defaultMessage: 'Go to next page',\n })}\n </NextLink>\n </Pagination>\n );\n};\n"],"names":["PaginationText","styled","Typography","linkWrapperStyles","css","theme","spaces","borderRadius","$active","shadows","filterShadow","undefined","props","colors","primary600","LinkWrapperButton","button","LinkWrapperDiv","div","defaultProps","type","PageLinkWrapper","primary700","neutral800","neutral0","ActionLinkWrapper","p","neutral300","neutral600","neutral700","DotsWrapper","PreviousLink","children","activePage","usePagination","disabled","_jsx","li","_jsxs","aria-disabled","tabIndex","VisuallyHidden","ChevronLeft","aria-hidden","NextLink","pageCount","ChevronRight","PageLink","number","isActive","variant","fontWeight","Dots","as","small","PaginationFooter","onChangePage","pagination","formatMessage","useIntl","previousActivePage","nextActivePage","firstLinks","onClick","id","defaultMessage","page","links","Array","from","length","map","_","i","Pagination","firstLinksToCreate","lastLinks","lastLinksToCreate","middleLinks","push","forEach","unshift","includes","middleLinksToCreate","shouldShowDotsAfterFirstLink","shouldShowMiddleDots","beforeDotsLinksLength","afterDotsLength"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PaginationFooter.js","sources":["../../../../../../admin/src/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\n/**\n * The component works as follows: this is a duplicate of the helper-plugin one but without the router\n * `1` , 2, 3, ... 10\n * 1, `2`, 3, ... 10\n * 1, 2, `3`, 4, ... 10\n * 1, 2, 3, `4`, 5, ... 10\n * 1, ..,4, `5`, 6, ... 10\n *\n * 1, ...., 8, 9, `10`\n * 1, ...., 8, `9`, 10\n * 1, ...., 7, `8`, 9, 10\n * 1, ... 6, `7`, 8, 9, 10\n */\nimport { Typography, VisuallyHidden } from '@strapi/design-system';\nimport { ChevronLeft, ChevronRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled, css } from 'styled-components';\n\nimport { Pagination, usePagination } from './Pagination';\n\nconst PaginationText = styled(Typography)`\n line-height: revert;\n`;\n\nconst linkWrapperStyles = css<{ $active?: boolean }>`\n padding: ${({ theme }) => theme.spaces[3]};\n border-radius: ${({ theme }) => theme.borderRadius};\n box-shadow: ${({ $active, theme }) => ($active ? theme.shadows.filterShadow : undefined)};\n text-decoration: none;\n display: flex;\n position: relative;\n outline: none;\n\n &:after {\n transition-property: all;\n transition-duration: 0.2s;\n border-radius: 8px;\n content: '';\n position: absolute;\n top: -4px;\n bottom: -4px;\n left: -4px;\n right: -4px;\n border: 2px solid transparent;\n }\n\n &:focus-visible {\n outline: none;\n\n &:after {\n border-radius: 8px;\n content: '';\n position: absolute;\n top: -5px;\n bottom: -5px;\n left: -5px;\n right: -5px;\n border: 2px solid ${(props) => props.theme.colors.primary600};\n }\n }\n`;\n\nconst LinkWrapperButton = styled.button<{ $active?: boolean }>`\n ${linkWrapperStyles}\n`;\n\nconst LinkWrapperDiv = styled.div<{ $active?: boolean }>`\n ${linkWrapperStyles}\n`;\n\nLinkWrapperButton.defaultProps = { type: 'button' };\n\nconst PageLinkWrapper = styled(LinkWrapperButton)`\n color: ${({ theme, $active }) => ($active ? theme.colors.primary700 : theme.colors.neutral800)};\n background: ${({ theme, $active }) => ($active ? theme.colors.neutral0 : undefined)};\n\n &:hover {\n box-shadow: ${({ theme }) => theme.shadows.filterShadow};\n }\n`;\n\nconst ActionLinkWrapper = styled(LinkWrapperButton)`\n font-size: 1.1rem;\n svg path {\n fill: ${(p) => (p['aria-disabled'] ? p.theme.colors.neutral300 : p.theme.colors.neutral600)};\n }\n\n &:focus,\n &:hover {\n svg path {\n fill: ${(p) => (p['aria-disabled'] ? p.theme.colors.neutral300 : p.theme.colors.neutral700)};\n }\n }\n\n ${(p) =>\n p['aria-disabled']\n ? `\n pointer-events: none;\n `\n : undefined}\n`;\n\nconst DotsWrapper = styled(LinkWrapperDiv)`\n color: ${({ theme }) => theme.colors.neutral800};\n`;\n\ninterface PaginationLinkProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: React.ReactNode;\n}\n\ninterface PageLinkProps extends PaginationLinkProps {\n number: number;\n}\n\nconst PreviousLink = ({ children, ...props }: PaginationLinkProps) => {\n const { activePage } = usePagination();\n\n const disabled = activePage === 1;\n\n return (\n <li>\n <ActionLinkWrapper aria-disabled={disabled} tabIndex={disabled ? -1 : undefined} {...props}>\n <VisuallyHidden>{children}</VisuallyHidden>\n <ChevronLeft aria-hidden />\n </ActionLinkWrapper>\n </li>\n );\n};\n\nconst NextLink = ({ children, ...props }: PaginationLinkProps) => {\n const { activePage, pageCount } = usePagination();\n\n const disabled = activePage === pageCount;\n\n return (\n <li>\n <ActionLinkWrapper aria-disabled={disabled} tabIndex={disabled ? -1 : undefined} {...props}>\n <VisuallyHidden>{children}</VisuallyHidden>\n <ChevronRight aria-hidden />\n </ActionLinkWrapper>\n </li>\n );\n};\n\nconst PageLink = ({ number, children, ...props }: PageLinkProps) => {\n const { activePage } = usePagination();\n\n const isActive = activePage === number;\n\n return (\n <li>\n <PageLinkWrapper {...props} $active={isActive}>\n <VisuallyHidden>{children}</VisuallyHidden>\n <PaginationText aria-hidden variant=\"pi\" fontWeight={isActive ? 'bold' : ''}>\n {number}\n </PaginationText>\n </PageLinkWrapper>\n </li>\n );\n};\n\ninterface DotsProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n\nconst Dots = ({ children, ...props }: DotsProps) => (\n <li>\n <DotsWrapper {...props} as=\"div\">\n <VisuallyHidden>{children}</VisuallyHidden>\n <PaginationText aria-hidden small>\n …\n </PaginationText>\n </DotsWrapper>\n </li>\n);\n\ninterface PaginationFooterProps {\n activePage: number;\n onChangePage: (page: number) => void;\n pagination: {\n pageCount: number;\n };\n}\n\nexport const PaginationFooter = ({\n activePage,\n onChangePage,\n pagination: { pageCount },\n}: PaginationFooterProps) => {\n const { formatMessage } = useIntl();\n\n const previousActivePage = activePage - 1;\n const nextActivePage = activePage + 1;\n\n const firstLinks = [\n <PageLink\n key={1}\n number={1}\n onClick={() => {\n onChangePage(1);\n }}\n >\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: 1 }\n )}\n </PageLink>,\n ];\n\n if (pageCount <= 4) {\n const links = Array.from({ length: pageCount })\n .map((_, i) => i + 1)\n .map((number) => {\n return (\n <PageLink key={number} number={number} onClick={() => onChangePage(number)}>\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: number }\n )}\n </PageLink>\n );\n });\n\n return (\n <Pagination activePage={activePage} pageCount={pageCount}>\n <PreviousLink onClick={() => onChangePage(previousActivePage)}>\n {formatMessage({\n id: 'components.pagination.go-to-previous',\n defaultMessage: 'Go to previous page',\n })}\n </PreviousLink>\n {links}\n <NextLink onClick={() => onChangePage(nextActivePage)}>\n {formatMessage({\n id: 'components.pagination.go-to-next',\n defaultMessage: 'Go to next page',\n })}\n </NextLink>\n </Pagination>\n );\n }\n\n let firstLinksToCreate: number[] = [];\n const lastLinks: JSX.Element[] = [];\n let lastLinksToCreate: number[] = [];\n const middleLinks: JSX.Element[] = [];\n\n if (pageCount > 1) {\n lastLinks.push(\n <PageLink key={pageCount} number={pageCount} onClick={() => onChangePage(pageCount)}>\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: pageCount }\n )}\n </PageLink>\n );\n }\n\n if (activePage === 1 && pageCount >= 3) {\n firstLinksToCreate = [2];\n }\n\n if (activePage === 2 && pageCount >= 3) {\n if (pageCount === 5) {\n firstLinksToCreate = [2, 3, 4];\n } else if (pageCount === 3) {\n firstLinksToCreate = [2];\n } else {\n firstLinksToCreate = [2, 3];\n }\n }\n\n if (activePage === 4 && pageCount >= 3) {\n firstLinksToCreate = [2];\n }\n\n if (activePage === pageCount && pageCount >= 3) {\n lastLinksToCreate = [pageCount - 1];\n }\n\n if (activePage === pageCount - 2 && pageCount > 3) {\n lastLinksToCreate = [activePage + 1, activePage, activePage - 1];\n }\n\n if (activePage === pageCount - 3 && pageCount > 3 && activePage > 5) {\n lastLinksToCreate = [activePage + 2, activePage + 1, activePage, activePage - 1];\n }\n\n if (activePage === pageCount - 1 && pageCount > 3) {\n lastLinksToCreate = [activePage, activePage - 1];\n }\n\n lastLinksToCreate.forEach((number) => {\n lastLinks.unshift(\n <PageLink key={number} number={number} onClick={() => onChangePage(number)}>\n Go to page {number}\n </PageLink>\n );\n });\n\n firstLinksToCreate.forEach((number) => {\n firstLinks.push(\n <PageLink key={number} number={number} onClick={() => onChangePage(number)}>\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: number }\n )}\n </PageLink>\n );\n });\n\n if (\n ![1, 2].includes(activePage) &&\n activePage <= pageCount - 3 &&\n firstLinks.length + lastLinks.length < 6\n ) {\n const middleLinksToCreate = [activePage - 1, activePage, activePage + 1];\n\n middleLinksToCreate.forEach((number) => {\n middleLinks.push(\n <PageLink key={number} number={number} onClick={() => onChangePage(number)}>\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: number }\n )}\n </PageLink>\n );\n });\n }\n\n const shouldShowDotsAfterFirstLink =\n pageCount > 5 || (pageCount === 5 && (activePage === 1 || activePage === 5));\n const shouldShowMiddleDots = middleLinks.length > 2 && activePage > 4 && pageCount > 5;\n\n const beforeDotsLinksLength = shouldShowMiddleDots\n ? pageCount - activePage - 1\n : pageCount - firstLinks.length - lastLinks.length;\n const afterDotsLength = shouldShowMiddleDots\n ? pageCount - firstLinks.length - lastLinks.length\n : pageCount - activePage - 1;\n\n return (\n <Pagination activePage={activePage} pageCount={pageCount}>\n <PreviousLink onClick={() => onChangePage(previousActivePage)}>\n {formatMessage({\n id: 'components.pagination.go-to-previous',\n defaultMessage: 'Go to previous page',\n })}\n </PreviousLink>\n {firstLinks}\n {shouldShowMiddleDots && (\n <Dots>\n {formatMessage(\n {\n id: 'components.pagination.remaining-links',\n defaultMessage: 'And {number} other links',\n },\n { number: beforeDotsLinksLength }\n )}\n </Dots>\n )}\n {middleLinks}\n {shouldShowDotsAfterFirstLink && (\n <Dots>\n {formatMessage(\n {\n id: 'components.pagination.remaining-links',\n defaultMessage: 'And {number} other links',\n },\n { number: afterDotsLength }\n )}\n </Dots>\n )}\n {lastLinks}\n <NextLink onClick={() => onChangePage(nextActivePage)}>\n {formatMessage({\n id: 'components.pagination.go-to-next',\n defaultMessage: 'Go to next page',\n })}\n </NextLink>\n </Pagination>\n );\n};\n"],"names":["PaginationText","styled","Typography","linkWrapperStyles","css","theme","spaces","borderRadius","$active","shadows","filterShadow","undefined","props","colors","primary600","LinkWrapperButton","button","LinkWrapperDiv","div","defaultProps","type","PageLinkWrapper","primary700","neutral800","neutral0","ActionLinkWrapper","p","neutral300","neutral600","neutral700","DotsWrapper","PreviousLink","children","activePage","usePagination","disabled","_jsx","li","_jsxs","aria-disabled","tabIndex","VisuallyHidden","ChevronLeft","aria-hidden","NextLink","pageCount","ChevronRight","PageLink","number","isActive","variant","fontWeight","Dots","as","small","PaginationFooter","onChangePage","pagination","formatMessage","useIntl","previousActivePage","nextActivePage","firstLinks","onClick","id","defaultMessage","page","links","Array","from","length","map","_","i","Pagination","firstLinksToCreate","lastLinks","lastLinksToCreate","middleLinks","push","forEach","unshift","includes","middleLinksToCreate","shouldShowDotsAfterFirstLink","shouldShowMiddleDots","beforeDotsLinksLength","afterDotsLength"],"mappings":"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"}
|
package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationFooter.mjs","sources":["../../../../../../admin/src/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\n/**\n * The component works as follows: this is a duplicate of the helper-plugin one but without the router\n * `1` , 2, 3, ... 10\n * 1, `2`, 3, ... 10\n * 1, 2, `3`, 4, ... 10\n * 1, 2, 3, `4`, 5, ... 10\n * 1, ..,4, `5`, 6, ... 10\n *\n * 1, ...., 8, 9, `10`\n * 1, ...., 8, `9`, 10\n * 1, ...., 7, `8`, 9, 10\n * 1, ... 6, `7`, 8, 9, 10\n */\nimport { Typography, VisuallyHidden } from '@strapi/design-system';\nimport { ChevronLeft, ChevronRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled, css } from 'styled-components';\n\nimport { Pagination, usePagination } from './Pagination';\n\nconst PaginationText = styled(Typography)`\n line-height: revert;\n`;\n\nconst linkWrapperStyles = css<{ $active?: boolean }>`\n padding: ${({ theme }) => theme.spaces[3]};\n border-radius: ${({ theme }) => theme.borderRadius};\n box-shadow: ${({ $active, theme }) => ($active ? theme.shadows.filterShadow : undefined)};\n text-decoration: none;\n display: flex;\n position: relative;\n outline: none;\n\n &:after {\n transition-property: all;\n transition-duration: 0.2s;\n border-radius: 8px;\n content: '';\n position: absolute;\n top: -4px;\n bottom: -4px;\n left: -4px;\n right: -4px;\n border: 2px solid transparent;\n }\n\n &:focus-visible {\n outline: none;\n\n &:after {\n border-radius: 8px;\n content: '';\n position: absolute;\n top: -5px;\n bottom: -5px;\n left: -5px;\n right: -5px;\n border: 2px solid ${(props) => props.theme.colors.primary600};\n }\n }\n`;\n\nconst LinkWrapperButton = styled.button<{ $active?: boolean }>`\n ${linkWrapperStyles}\n`;\n\nconst LinkWrapperDiv = styled.div<{ $active?: boolean }>`\n ${linkWrapperStyles}\n`;\n\nLinkWrapperButton.defaultProps = { type: 'button' };\n\nconst PageLinkWrapper = styled(LinkWrapperButton)`\n color: ${({ theme, $active }) => ($active ? theme.colors.primary700 : theme.colors.neutral800)};\n background: ${({ theme, $active }) => ($active ? theme.colors.neutral0 : undefined)};\n\n &:hover {\n box-shadow: ${({ theme }) => theme.shadows.filterShadow};\n }\n`;\n\nconst ActionLinkWrapper = styled(LinkWrapperButton)`\n font-size: 1.1rem;\n svg path {\n fill: ${(p) => (p['aria-disabled'] ? p.theme.colors.neutral300 : p.theme.colors.neutral600)};\n }\n\n &:focus,\n &:hover {\n svg path {\n fill: ${(p) => (p['aria-disabled'] ? p.theme.colors.neutral300 : p.theme.colors.neutral700)};\n }\n }\n\n ${(p) =>\n p['aria-disabled']\n ? `\n pointer-events: none;\n `\n : undefined}\n`;\n\nconst DotsWrapper = styled(LinkWrapperDiv)`\n color: ${({ theme }) => theme.colors.neutral800};\n`;\n\ninterface PaginationLinkProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: React.ReactNode;\n}\n\ninterface PageLinkProps extends PaginationLinkProps {\n number: number;\n}\n\nconst PreviousLink = ({ children, ...props }: PaginationLinkProps) => {\n const { activePage } = usePagination();\n\n const disabled = activePage === 1;\n\n return (\n <li>\n <ActionLinkWrapper aria-disabled={disabled} tabIndex={disabled ? -1 : undefined} {...props}>\n <VisuallyHidden>{children}</VisuallyHidden>\n <ChevronLeft aria-hidden />\n </ActionLinkWrapper>\n </li>\n );\n};\n\nconst NextLink = ({ children, ...props }: PaginationLinkProps) => {\n const { activePage, pageCount } = usePagination();\n\n const disabled = activePage === pageCount;\n\n return (\n <li>\n <ActionLinkWrapper aria-disabled={disabled} tabIndex={disabled ? -1 : undefined} {...props}>\n <VisuallyHidden>{children}</VisuallyHidden>\n <ChevronRight aria-hidden />\n </ActionLinkWrapper>\n </li>\n );\n};\n\nconst PageLink = ({ number, children, ...props }: PageLinkProps) => {\n const { activePage } = usePagination();\n\n const isActive = activePage === number;\n\n return (\n <li>\n <PageLinkWrapper {...props} $active={isActive}>\n <VisuallyHidden>{children}</VisuallyHidden>\n <PaginationText aria-hidden variant=\"pi\" fontWeight={isActive ? 'bold' : ''}>\n {number}\n </PaginationText>\n </PageLinkWrapper>\n </li>\n );\n};\n\ninterface DotsProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n\nconst Dots = ({ children, ...props }: DotsProps) => (\n <li>\n <DotsWrapper {...props} as=\"div\">\n <VisuallyHidden>{children}</VisuallyHidden>\n <PaginationText aria-hidden small>\n …\n </PaginationText>\n </DotsWrapper>\n </li>\n);\n\ninterface PaginationFooterProps {\n activePage: number;\n onChangePage: (page: number) => void;\n pagination: {\n pageCount: number;\n };\n}\n\nexport const PaginationFooter = ({\n activePage,\n onChangePage,\n pagination: { pageCount },\n}: PaginationFooterProps) => {\n const { formatMessage } = useIntl();\n\n const previousActivePage = activePage - 1;\n const nextActivePage = activePage + 1;\n\n const firstLinks = [\n <PageLink\n key={1}\n number={1}\n onClick={() => {\n onChangePage(1);\n }}\n >\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: 1 }\n )}\n </PageLink>,\n ];\n\n if (pageCount <= 4) {\n const links = Array.from({ length: pageCount })\n .map((_, i) => i + 1)\n .map((number) => {\n return (\n <PageLink key={number} number={number} onClick={() => onChangePage(number)}>\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: number }\n )}\n </PageLink>\n );\n });\n\n return (\n <Pagination activePage={activePage} pageCount={pageCount}>\n <PreviousLink onClick={() => onChangePage(previousActivePage)}>\n {formatMessage({\n id: 'components.pagination.go-to-previous',\n defaultMessage: 'Go to previous page',\n })}\n </PreviousLink>\n {links}\n <NextLink onClick={() => onChangePage(nextActivePage)}>\n {formatMessage({\n id: 'components.pagination.go-to-next',\n defaultMessage: 'Go to next page',\n })}\n </NextLink>\n </Pagination>\n );\n }\n\n let firstLinksToCreate: number[] = [];\n const lastLinks: JSX.Element[] = [];\n let lastLinksToCreate: number[] = [];\n const middleLinks: JSX.Element[] = [];\n\n if (pageCount > 1) {\n lastLinks.push(\n <PageLink key={pageCount} number={pageCount} onClick={() => onChangePage(pageCount)}>\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: pageCount }\n )}\n </PageLink>\n );\n }\n\n if (activePage === 1 && pageCount >= 3) {\n firstLinksToCreate = [2];\n }\n\n if (activePage === 2 && pageCount >= 3) {\n if (pageCount === 5) {\n firstLinksToCreate = [2, 3, 4];\n } else if (pageCount === 3) {\n firstLinksToCreate = [2];\n } else {\n firstLinksToCreate = [2, 3];\n }\n }\n\n if (activePage === 4 && pageCount >= 3) {\n firstLinksToCreate = [2];\n }\n\n if (activePage === pageCount && pageCount >= 3) {\n lastLinksToCreate = [pageCount - 1];\n }\n\n if (activePage === pageCount - 2 && pageCount > 3) {\n lastLinksToCreate = [activePage + 1, activePage, activePage - 1];\n }\n\n if (activePage === pageCount - 3 && pageCount > 3 && activePage > 5) {\n lastLinksToCreate = [activePage + 2, activePage + 1, activePage, activePage - 1];\n }\n\n if (activePage === pageCount - 1 && pageCount > 3) {\n lastLinksToCreate = [activePage, activePage - 1];\n }\n\n lastLinksToCreate.forEach((number) => {\n lastLinks.unshift(\n <PageLink key={number} number={number} onClick={() => onChangePage(number)}>\n Go to page {number}\n </PageLink>\n );\n });\n\n firstLinksToCreate.forEach((number) => {\n firstLinks.push(\n <PageLink key={number} number={number} onClick={() => onChangePage(number)}>\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: number }\n )}\n </PageLink>\n );\n });\n\n if (\n ![1, 2].includes(activePage) &&\n activePage <= pageCount - 3 &&\n firstLinks.length + lastLinks.length < 6\n ) {\n const middleLinksToCreate = [activePage - 1, activePage, activePage + 1];\n\n middleLinksToCreate.forEach((number) => {\n middleLinks.push(\n <PageLink key={number} number={number} onClick={() => onChangePage(number)}>\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: number }\n )}\n </PageLink>\n );\n });\n }\n\n const shouldShowDotsAfterFirstLink =\n pageCount > 5 || (pageCount === 5 && (activePage === 1 || activePage === 5));\n const shouldShowMiddleDots = middleLinks.length > 2 && activePage > 4 && pageCount > 5;\n\n const beforeDotsLinksLength = shouldShowMiddleDots\n ? pageCount - activePage - 1\n : pageCount - firstLinks.length - lastLinks.length;\n const afterDotsLength = shouldShowMiddleDots\n ? pageCount - firstLinks.length - lastLinks.length\n : pageCount - activePage - 1;\n\n return (\n <Pagination activePage={activePage} pageCount={pageCount}>\n <PreviousLink onClick={() => onChangePage(previousActivePage)}>\n {formatMessage({\n id: 'components.pagination.go-to-previous',\n defaultMessage: 'Go to previous page',\n })}\n </PreviousLink>\n {firstLinks}\n {shouldShowMiddleDots && (\n <Dots>\n {formatMessage(\n {\n id: 'components.pagination.remaining-links',\n defaultMessage: 'And {number} other links',\n },\n { number: beforeDotsLinksLength }\n )}\n </Dots>\n )}\n {middleLinks}\n {shouldShowDotsAfterFirstLink && (\n <Dots>\n {formatMessage(\n {\n id: 'components.pagination.remaining-links',\n defaultMessage: 'And {number} other links',\n },\n { number: afterDotsLength }\n )}\n </Dots>\n )}\n {lastLinks}\n <NextLink onClick={() => onChangePage(nextActivePage)}>\n {formatMessage({\n id: 'components.pagination.go-to-next',\n defaultMessage: 'Go to next page',\n })}\n </NextLink>\n </Pagination>\n );\n};\n"],"names":["PaginationText","styled","Typography","linkWrapperStyles","css","theme","spaces","borderRadius","$active","shadows","filterShadow","undefined","props","colors","primary600","LinkWrapperButton","button","LinkWrapperDiv","div","defaultProps","type","PageLinkWrapper","primary700","neutral800","neutral0","ActionLinkWrapper","p","neutral300","neutral600","neutral700","DotsWrapper","PreviousLink","children","activePage","usePagination","disabled","_jsx","li","_jsxs","aria-disabled","tabIndex","VisuallyHidden","ChevronLeft","aria-hidden","NextLink","pageCount","ChevronRight","PageLink","number","isActive","variant","fontWeight","Dots","as","small","PaginationFooter","onChangePage","pagination","formatMessage","useIntl","previousActivePage","nextActivePage","firstLinks","onClick","id","defaultMessage","page","links","Array","from","length","map","_","i","Pagination","firstLinksToCreate","lastLinks","lastLinksToCreate","middleLinks","push","forEach","unshift","includes","middleLinksToCreate","shouldShowDotsAfterFirstLink","shouldShowMiddleDots","beforeDotsLinksLength","afterDotsLength"],"mappings":";;;;;;;AAAA;AAqBA,MAAMA,cAAAA,GAAiBC,MAAOC,CAAAA,UAAAA,CAAW;;AAEzC,CAAC;AAED,MAAMC,iBAAAA,GAAoBC,GAA0B;WACzC,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAMC,CAAAA,MAAM,CAAC,CAAA,CAAE,CAAC;AAC3B,iBAAA,EAAE,CAAC,EAAED,KAAK,EAAE,GAAKA,KAAAA,CAAME,YAAY,CAAC;AACvC,cAAA,EAAE,CAAC,EAAEC,OAAO,EAAEH,KAAK,EAAE,GAAMG,OAAAA,GAAUH,KAAMI,CAAAA,OAAO,CAACC,YAAY,GAAGC,SAAW,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA8BnE,EAAE,CAACC,QAAUA,KAAMP,CAAAA,KAAK,CAACQ,MAAM,CAACC,UAAU,CAAC;;;AAGnE,CAAC;AAED,MAAMC,iBAAoBd,GAAAA,MAAAA,CAAOe,MAA6B;AAC5D,EAAA,EAAEb,iBAAkB;AACtB,CAAC;AAED,MAAMc,cAAiBhB,GAAAA,MAAAA,CAAOiB,GAA0B;AACtD,EAAA,EAAEf,iBAAkB;AACtB,CAAC;AAEDY,iBAAAA,CAAkBI,YAAY,GAAG;IAAEC,IAAM,EAAA;AAAS,CAAA;AAElD,MAAMC,eAAAA,GAAkBpB,MAAOc,CAAAA,iBAAAA,CAAkB;AACxC,SAAA,EAAE,CAAC,EAAEV,KAAK,EAAEG,OAAO,EAAE,GAAMA,OAAAA,GAAUH,KAAMQ,CAAAA,MAAM,CAACS,UAAU,GAAGjB,MAAMQ,MAAM,CAACU,UAAU,CAAE;AACnF,cAAA,EAAE,CAAC,EAAElB,KAAK,EAAEG,OAAO,EAAE,GAAMA,OAAAA,GAAUH,KAAMQ,CAAAA,MAAM,CAACW,QAAQ,GAAGb,SAAW,CAAA;;;gBAGtE,EAAE,CAAC,EAAEN,KAAK,EAAE,GAAKA,KAAMI,CAAAA,OAAO,CAACC,YAAY,CAAC;;AAE5D,CAAC;AAED,MAAMe,iBAAAA,GAAoBxB,MAAOc,CAAAA,iBAAAA,CAAkB;;;AAGzC,UAAA,EAAE,CAACW,CAAOA,GAAAA,CAAC,CAAC,eAAgB,CAAA,GAAGA,EAAErB,KAAK,CAACQ,MAAM,CAACc,UAAU,GAAGD,CAAErB,CAAAA,KAAK,CAACQ,MAAM,CAACe,UAAU,CAAE;;;;;;AAMpF,YAAA,EAAE,CAACF,CAAOA,GAAAA,CAAC,CAAC,eAAgB,CAAA,GAAGA,EAAErB,KAAK,CAACQ,MAAM,CAACc,UAAU,GAAGD,CAAErB,CAAAA,KAAK,CAACQ,MAAM,CAACgB,UAAU,CAAE;;;;AAIhG,EAAA,EAAE,CAACH,CACDA,GAAAA,CAAC,CAAC,eAAA,CAAgB,GACd;;AAEJ,IAAA,CAAC,GACGf,SAAU;AAClB,CAAC;AAED,MAAMmB,WAAAA,GAAc7B,MAAOgB,CAAAA,cAAAA,CAAe;SACjC,EAAE,CAAC,EAAEZ,KAAK,EAAE,GAAKA,KAAMQ,CAAAA,MAAM,CAACU,UAAU,CAAC;AAClD,CAAC;AAUD,MAAMQ,eAAe,CAAC,EAAEC,QAAQ,EAAE,GAAGpB,KAA4B,EAAA,GAAA;IAC/D,MAAM,EAAEqB,UAAU,EAAE,GAAGC,aAAAA,EAAAA;AAEvB,IAAA,MAAMC,WAAWF,UAAe,KAAA,CAAA;AAEhC,IAAA,qBACEG,GAACC,CAAAA,IAAAA,EAAAA;AACC,QAAA,QAAA,gBAAAC,IAACb,CAAAA,iBAAAA,EAAAA;YAAkBc,eAAeJ,EAAAA,QAAAA;YAAUK,QAAUL,EAAAA,QAAAA,GAAW,CAAC,CAAIxB,GAAAA,SAAAA;AAAY,YAAA,GAAGC,KAAK;;8BACxFwB,GAACK,CAAAA,cAAAA,EAAAA;AAAgBT,oBAAAA,QAAAA,EAAAA;;8BACjBI,GAACM,CAAAA,WAAAA,EAAAA;oBAAYC,aAAW,EAAA;;;;;AAIhC,CAAA;AAEA,MAAMC,WAAW,CAAC,EAAEZ,QAAQ,EAAE,GAAGpB,KAA4B,EAAA,GAAA;AAC3D,IAAA,MAAM,EAAEqB,UAAU,EAAEY,SAAS,EAAE,GAAGX,aAAAA,EAAAA;AAElC,IAAA,MAAMC,WAAWF,UAAeY,KAAAA,SAAAA;AAEhC,IAAA,qBACET,GAACC,CAAAA,IAAAA,EAAAA;AACC,QAAA,QAAA,gBAAAC,IAACb,CAAAA,iBAAAA,EAAAA;YAAkBc,eAAeJ,EAAAA,QAAAA;YAAUK,QAAUL,EAAAA,QAAAA,GAAW,CAAC,CAAIxB,GAAAA,SAAAA;AAAY,YAAA,GAAGC,KAAK;;8BACxFwB,GAACK,CAAAA,cAAAA,EAAAA;AAAgBT,oBAAAA,QAAAA,EAAAA;;8BACjBI,GAACU,CAAAA,YAAAA,EAAAA;oBAAaH,aAAW,EAAA;;;;;AAIjC,CAAA;AAEA,MAAMI,QAAAA,GAAW,CAAC,EAAEC,MAAM,EAAEhB,QAAQ,EAAE,GAAGpB,KAAsB,EAAA,GAAA;IAC7D,MAAM,EAAEqB,UAAU,EAAE,GAAGC,aAAAA,EAAAA;AAEvB,IAAA,MAAMe,WAAWhB,UAAee,KAAAA,MAAAA;AAEhC,IAAA,qBACEZ,GAACC,CAAAA,IAAAA,EAAAA;AACC,QAAA,QAAA,gBAAAC,IAACjB,CAAAA,eAAAA,EAAAA;AAAiB,YAAA,GAAGT,KAAK;YAAEJ,OAASyC,EAAAA,QAAAA;;8BACnCb,GAACK,CAAAA,cAAAA,EAAAA;AAAgBT,oBAAAA,QAAAA,EAAAA;;8BACjBI,GAACpC,CAAAA,cAAAA,EAAAA;oBAAe2C,aAAW,EAAA,IAAA;oBAACO,OAAQ,EAAA,IAAA;AAAKC,oBAAAA,UAAAA,EAAYF,WAAW,MAAS,GAAA,EAAA;AACtED,oBAAAA,QAAAA,EAAAA;;;;;AAKX,CAAA;AAMA,MAAMI,IAAAA,GAAO,CAAC,EAAEpB,QAAQ,EAAE,GAAGpB,KAAAA,EAAkB,iBAC7CwB,GAACC,CAAAA,IAAAA,EAAAA;AACC,QAAA,QAAA,gBAAAC,IAACR,CAAAA,WAAAA,EAAAA;AAAa,YAAA,GAAGlB,KAAK;YAAEyC,EAAG,EAAA,KAAA;;8BACzBjB,GAACK,CAAAA,cAAAA,EAAAA;AAAgBT,oBAAAA,QAAAA,EAAAA;;8BACjBI,GAACpC,CAAAA,cAAAA,EAAAA;oBAAe2C,aAAW,EAAA,IAAA;oBAACW,KAAK,EAAA,IAAA;AAAC,oBAAA,QAAA,EAAA;;;;;AAe3BC,MAAAA,gBAAAA,GAAmB,CAAC,EAC/BtB,UAAU,EACVuB,YAAY,EACZC,UAAY,EAAA,EAAEZ,SAAS,EAAE,EACH,GAAA;IACtB,MAAM,EAAEa,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,MAAMC,qBAAqB3B,UAAa,GAAA,CAAA;AACxC,IAAA,MAAM4B,iBAAiB5B,UAAa,GAAA,CAAA;AAEpC,IAAA,MAAM6B,UAAa,GAAA;sBACjB1B,GAACW,CAAAA,QAAAA,EAAAA;YAECC,MAAQ,EAAA,CAAA;YACRe,OAAS,EAAA,IAAA;gBACPP,YAAa,CAAA,CAAA,CAAA;AACf,aAAA;sBAECE,aACC,CAAA;gBAAEM,EAAI,EAAA,6BAAA;gBAA+BC,cAAgB,EAAA;aACrD,EAAA;gBAAEC,IAAM,EAAA;AAAE,aAAA;AARP,SAAA,EAAA,CAAA;AAWR,KAAA;AAED,IAAA,IAAIrB,aAAa,CAAG,EAAA;QAClB,MAAMsB,KAAAA,GAAQC,KAAMC,CAAAA,IAAI,CAAC;YAAEC,MAAQzB,EAAAA;SAChC0B,CAAAA,CAAAA,GAAG,CAAC,CAACC,CAAAA,EAAGC,IAAMA,CAAI,GAAA,CAAA,CAAA,CAClBF,GAAG,CAAC,CAACvB,MAAAA,GAAAA;AACJ,YAAA,qBACEZ,GAACW,CAAAA,QAAAA,EAAAA;gBAAsBC,MAAQA,EAAAA,MAAAA;AAAQe,gBAAAA,OAAAA,EAAS,IAAMP,YAAaR,CAAAA,MAAAA,CAAAA;0BAChEU,aACC,CAAA;oBAAEM,EAAI,EAAA,6BAAA;oBAA+BC,cAAgB,EAAA;iBACrD,EAAA;oBAAEC,IAAMlB,EAAAA;AAAO,iBAAA;AAHJA,aAAAA,EAAAA,MAAAA,CAAAA;AAOnB,SAAA,CAAA;AAEF,QAAA,qBACEV,IAACoC,CAAAA,UAAAA,EAAAA;YAAWzC,UAAYA,EAAAA,UAAAA;YAAYY,SAAWA,EAAAA,SAAAA;;8BAC7CT,GAACL,CAAAA,YAAAA,EAAAA;AAAagC,oBAAAA,OAAAA,EAAS,IAAMP,YAAaI,CAAAA,kBAAAA,CAAAA;8BACvCF,aAAc,CAAA;wBACbM,EAAI,EAAA,sCAAA;wBACJC,cAAgB,EAAA;AAClB,qBAAA;;AAEDE,gBAAAA,KAAAA;8BACD/B,GAACQ,CAAAA,QAAAA,EAAAA;AAASmB,oBAAAA,OAAAA,EAAS,IAAMP,YAAaK,CAAAA,cAAAA,CAAAA;8BACnCH,aAAc,CAAA;wBACbM,EAAI,EAAA,kCAAA;wBACJC,cAAgB,EAAA;AAClB,qBAAA;;;;AAIR;AAEA,IAAA,IAAIU,qBAA+B,EAAE;AACrC,IAAA,MAAMC,YAA2B,EAAE;AACnC,IAAA,IAAIC,oBAA8B,EAAE;AACpC,IAAA,MAAMC,cAA6B,EAAE;AAErC,IAAA,IAAIjC,YAAY,CAAG,EAAA;QACjB+B,SAAUG,CAAAA,IAAI,eACZ3C,GAACW,CAAAA,QAAAA,EAAAA;YAAyBC,MAAQH,EAAAA,SAAAA;AAAWkB,YAAAA,OAAAA,EAAS,IAAMP,YAAaX,CAAAA,SAAAA,CAAAA;sBACtEa,aACC,CAAA;gBAAEM,EAAI,EAAA,6BAAA;gBAA+BC,cAAgB,EAAA;aACrD,EAAA;gBAAEC,IAAMrB,EAAAA;AAAU,aAAA;AAHPA,SAAAA,EAAAA,SAAAA,CAAAA,CAAAA;AAOnB;IAEA,IAAIZ,UAAAA,KAAe,CAAKY,IAAAA,SAAAA,IAAa,CAAG,EAAA;QACtC8B,kBAAqB,GAAA;AAAC,YAAA;AAAE,SAAA;AAC1B;IAEA,IAAI1C,UAAAA,KAAe,CAAKY,IAAAA,SAAAA,IAAa,CAAG,EAAA;AACtC,QAAA,IAAIA,cAAc,CAAG,EAAA;YACnB8B,kBAAqB,GAAA;AAAC,gBAAA,CAAA;AAAG,gBAAA,CAAA;AAAG,gBAAA;AAAE,aAAA;SACzB,MAAA,IAAI9B,cAAc,CAAG,EAAA;YAC1B8B,kBAAqB,GAAA;AAAC,gBAAA;AAAE,aAAA;SACnB,MAAA;YACLA,kBAAqB,GAAA;AAAC,gBAAA,CAAA;AAAG,gBAAA;AAAE,aAAA;AAC7B;AACF;IAEA,IAAI1C,UAAAA,KAAe,CAAKY,IAAAA,SAAAA,IAAa,CAAG,EAAA;QACtC8B,kBAAqB,GAAA;AAAC,YAAA;AAAE,SAAA;AAC1B;IAEA,IAAI1C,UAAAA,KAAeY,SAAaA,IAAAA,SAAAA,IAAa,CAAG,EAAA;QAC9CgC,iBAAoB,GAAA;YAAChC,SAAY,GAAA;AAAE,SAAA;AACrC;AAEA,IAAA,IAAIZ,UAAeY,KAAAA,SAAAA,GAAY,CAAKA,IAAAA,SAAAA,GAAY,CAAG,EAAA;QACjDgC,iBAAoB,GAAA;YAAC5C,UAAa,GAAA,CAAA;AAAGA,YAAAA,UAAAA;YAAYA,UAAa,GAAA;AAAE,SAAA;AAClE;AAEA,IAAA,IAAIA,eAAeY,SAAY,GAAA,CAAA,IAAKA,SAAY,GAAA,CAAA,IAAKZ,aAAa,CAAG,EAAA;QACnE4C,iBAAoB,GAAA;YAAC5C,UAAa,GAAA,CAAA;YAAGA,UAAa,GAAA,CAAA;AAAGA,YAAAA,UAAAA;YAAYA,UAAa,GAAA;AAAE,SAAA;AAClF;AAEA,IAAA,IAAIA,UAAeY,KAAAA,SAAAA,GAAY,CAAKA,IAAAA,SAAAA,GAAY,CAAG,EAAA;QACjDgC,iBAAoB,GAAA;AAAC5C,YAAAA,UAAAA;YAAYA,UAAa,GAAA;AAAE,SAAA;AAClD;IAEA4C,iBAAkBG,CAAAA,OAAO,CAAC,CAAChC,MAAAA,GAAAA;QACzB4B,SAAUK,CAAAA,OAAO,eACf3C,IAACS,CAAAA,QAAAA,EAAAA;YAAsBC,MAAQA,EAAAA,MAAAA;AAAQe,YAAAA,OAAAA,EAAS,IAAMP,YAAaR,CAAAA,MAAAA,CAAAA;;AAAS,gBAAA,aAAA;AAC9DA,gBAAAA;;AADCA,SAAAA,EAAAA,MAAAA,CAAAA,CAAAA;AAInB,KAAA,CAAA;IAEA2B,kBAAmBK,CAAAA,OAAO,CAAC,CAAChC,MAAAA,GAAAA;QAC1Bc,UAAWiB,CAAAA,IAAI,eACb3C,GAACW,CAAAA,QAAAA,EAAAA;YAAsBC,MAAQA,EAAAA,MAAAA;AAAQe,YAAAA,OAAAA,EAAS,IAAMP,YAAaR,CAAAA,MAAAA,CAAAA;sBAChEU,aACC,CAAA;gBAAEM,EAAI,EAAA,6BAAA;gBAA+BC,cAAgB,EAAA;aACrD,EAAA;gBAAEC,IAAMlB,EAAAA;AAAO,aAAA;AAHJA,SAAAA,EAAAA,MAAAA,CAAAA,CAAAA;AAOnB,KAAA,CAAA;AAEA,IAAA,IACE,CAAC;AAAC,QAAA,CAAA;AAAG,QAAA;AAAE,KAAA,CAACkC,QAAQ,CAACjD,UACjBA,CAAAA,IAAAA,UAAAA,IAAcY,SAAY,GAAA,CAAA,IAC1BiB,UAAWQ,CAAAA,MAAM,GAAGM,SAAAA,CAAUN,MAAM,GAAG,CACvC,EAAA;AACA,QAAA,MAAMa,mBAAsB,GAAA;YAAClD,UAAa,GAAA,CAAA;AAAGA,YAAAA,UAAAA;YAAYA,UAAa,GAAA;AAAE,SAAA;QAExEkD,mBAAoBH,CAAAA,OAAO,CAAC,CAAChC,MAAAA,GAAAA;YAC3B8B,WAAYC,CAAAA,IAAI,eACd3C,GAACW,CAAAA,QAAAA,EAAAA;gBAAsBC,MAAQA,EAAAA,MAAAA;AAAQe,gBAAAA,OAAAA,EAAS,IAAMP,YAAaR,CAAAA,MAAAA,CAAAA;0BAChEU,aACC,CAAA;oBAAEM,EAAI,EAAA,6BAAA;oBAA+BC,cAAgB,EAAA;iBACrD,EAAA;oBAAEC,IAAMlB,EAAAA;AAAO,iBAAA;AAHJA,aAAAA,EAAAA,MAAAA,CAAAA,CAAAA;AAOnB,SAAA,CAAA;AACF;IAEA,MAAMoC,4BAAAA,GACJvC,YAAY,CAAMA,IAAAA,SAAAA,KAAc,MAAMZ,UAAAA,KAAe,CAAKA,IAAAA,UAAAA,KAAe,CAAA,CAAA;AAC3E,IAAA,MAAMoD,uBAAuBP,WAAYR,CAAAA,MAAM,GAAG,CAAKrC,IAAAA,UAAAA,GAAa,KAAKY,SAAY,GAAA,CAAA;IAErF,MAAMyC,qBAAAA,GAAwBD,oBAC1BxC,GAAAA,SAAAA,GAAYZ,UAAa,GAAA,CAAA,GACzBY,YAAYiB,UAAWQ,CAAAA,MAAM,GAAGM,SAAAA,CAAUN,MAAM;IACpD,MAAMiB,eAAAA,GAAkBF,oBACpBxC,GAAAA,SAAAA,GAAYiB,UAAWQ,CAAAA,MAAM,GAAGM,SAAUN,CAAAA,MAAM,GAChDzB,SAAAA,GAAYZ,UAAa,GAAA,CAAA;AAE7B,IAAA,qBACEK,IAACoC,CAAAA,UAAAA,EAAAA;QAAWzC,UAAYA,EAAAA,UAAAA;QAAYY,SAAWA,EAAAA,SAAAA;;0BAC7CT,GAACL,CAAAA,YAAAA,EAAAA;AAAagC,gBAAAA,OAAAA,EAAS,IAAMP,YAAaI,CAAAA,kBAAAA,CAAAA;0BACvCF,aAAc,CAAA;oBACbM,EAAI,EAAA,sCAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA;;AAEDH,YAAAA,UAAAA;AACAuB,YAAAA,oBAAAA,kBACCjD,GAACgB,CAAAA,IAAAA,EAAAA;0BACEM,aACC,CAAA;oBACEM,EAAI,EAAA,uCAAA;oBACJC,cAAgB,EAAA;iBAElB,EAAA;oBAAEjB,MAAQsC,EAAAA;AAAsB,iBAAA;;AAIrCR,YAAAA,WAAAA;AACAM,YAAAA,4BAAAA,kBACChD,GAACgB,CAAAA,IAAAA,EAAAA;0BACEM,aACC,CAAA;oBACEM,EAAI,EAAA,uCAAA;oBACJC,cAAgB,EAAA;iBAElB,EAAA;oBAAEjB,MAAQuC,EAAAA;AAAgB,iBAAA;;AAI/BX,YAAAA,SAAAA;0BACDxC,GAACQ,CAAAA,QAAAA,EAAAA;AAASmB,gBAAAA,OAAAA,EAAS,IAAMP,YAAaK,CAAAA,cAAAA,CAAAA;0BACnCH,aAAc,CAAA;oBACbM,EAAI,EAAA,kCAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA;;;;AAIR;;;;"}
|
|
1
|
+
{"version":3,"file":"PaginationFooter.mjs","sources":["../../../../../../admin/src/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\n/**\n * The component works as follows: this is a duplicate of the helper-plugin one but without the router\n * `1` , 2, 3, ... 10\n * 1, `2`, 3, ... 10\n * 1, 2, `3`, 4, ... 10\n * 1, 2, 3, `4`, 5, ... 10\n * 1, ..,4, `5`, 6, ... 10\n *\n * 1, ...., 8, 9, `10`\n * 1, ...., 8, `9`, 10\n * 1, ...., 7, `8`, 9, 10\n * 1, ... 6, `7`, 8, 9, 10\n */\nimport { Typography, VisuallyHidden } from '@strapi/design-system';\nimport { ChevronLeft, ChevronRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled, css } from 'styled-components';\n\nimport { Pagination, usePagination } from './Pagination';\n\nconst PaginationText = styled(Typography)`\n line-height: revert;\n`;\n\nconst linkWrapperStyles = css<{ $active?: boolean }>`\n padding: ${({ theme }) => theme.spaces[3]};\n border-radius: ${({ theme }) => theme.borderRadius};\n box-shadow: ${({ $active, theme }) => ($active ? theme.shadows.filterShadow : undefined)};\n text-decoration: none;\n display: flex;\n position: relative;\n outline: none;\n\n &:after {\n transition-property: all;\n transition-duration: 0.2s;\n border-radius: 8px;\n content: '';\n position: absolute;\n top: -4px;\n bottom: -4px;\n left: -4px;\n right: -4px;\n border: 2px solid transparent;\n }\n\n &:focus-visible {\n outline: none;\n\n &:after {\n border-radius: 8px;\n content: '';\n position: absolute;\n top: -5px;\n bottom: -5px;\n left: -5px;\n right: -5px;\n border: 2px solid ${(props) => props.theme.colors.primary600};\n }\n }\n`;\n\nconst LinkWrapperButton = styled.button<{ $active?: boolean }>`\n ${linkWrapperStyles}\n`;\n\nconst LinkWrapperDiv = styled.div<{ $active?: boolean }>`\n ${linkWrapperStyles}\n`;\n\nLinkWrapperButton.defaultProps = { type: 'button' };\n\nconst PageLinkWrapper = styled(LinkWrapperButton)`\n color: ${({ theme, $active }) => ($active ? theme.colors.primary700 : theme.colors.neutral800)};\n background: ${({ theme, $active }) => ($active ? theme.colors.neutral0 : undefined)};\n\n &:hover {\n box-shadow: ${({ theme }) => theme.shadows.filterShadow};\n }\n`;\n\nconst ActionLinkWrapper = styled(LinkWrapperButton)`\n font-size: 1.1rem;\n svg path {\n fill: ${(p) => (p['aria-disabled'] ? p.theme.colors.neutral300 : p.theme.colors.neutral600)};\n }\n\n &:focus,\n &:hover {\n svg path {\n fill: ${(p) => (p['aria-disabled'] ? p.theme.colors.neutral300 : p.theme.colors.neutral700)};\n }\n }\n\n ${(p) =>\n p['aria-disabled']\n ? `\n pointer-events: none;\n `\n : undefined}\n`;\n\nconst DotsWrapper = styled(LinkWrapperDiv)`\n color: ${({ theme }) => theme.colors.neutral800};\n`;\n\ninterface PaginationLinkProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: React.ReactNode;\n}\n\ninterface PageLinkProps extends PaginationLinkProps {\n number: number;\n}\n\nconst PreviousLink = ({ children, ...props }: PaginationLinkProps) => {\n const { activePage } = usePagination();\n\n const disabled = activePage === 1;\n\n return (\n <li>\n <ActionLinkWrapper aria-disabled={disabled} tabIndex={disabled ? -1 : undefined} {...props}>\n <VisuallyHidden>{children}</VisuallyHidden>\n <ChevronLeft aria-hidden />\n </ActionLinkWrapper>\n </li>\n );\n};\n\nconst NextLink = ({ children, ...props }: PaginationLinkProps) => {\n const { activePage, pageCount } = usePagination();\n\n const disabled = activePage === pageCount;\n\n return (\n <li>\n <ActionLinkWrapper aria-disabled={disabled} tabIndex={disabled ? -1 : undefined} {...props}>\n <VisuallyHidden>{children}</VisuallyHidden>\n <ChevronRight aria-hidden />\n </ActionLinkWrapper>\n </li>\n );\n};\n\nconst PageLink = ({ number, children, ...props }: PageLinkProps) => {\n const { activePage } = usePagination();\n\n const isActive = activePage === number;\n\n return (\n <li>\n <PageLinkWrapper {...props} $active={isActive}>\n <VisuallyHidden>{children}</VisuallyHidden>\n <PaginationText aria-hidden variant=\"pi\" fontWeight={isActive ? 'bold' : ''}>\n {number}\n </PaginationText>\n </PageLinkWrapper>\n </li>\n );\n};\n\ninterface DotsProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n\nconst Dots = ({ children, ...props }: DotsProps) => (\n <li>\n <DotsWrapper {...props} as=\"div\">\n <VisuallyHidden>{children}</VisuallyHidden>\n <PaginationText aria-hidden small>\n …\n </PaginationText>\n </DotsWrapper>\n </li>\n);\n\ninterface PaginationFooterProps {\n activePage: number;\n onChangePage: (page: number) => void;\n pagination: {\n pageCount: number;\n };\n}\n\nexport const PaginationFooter = ({\n activePage,\n onChangePage,\n pagination: { pageCount },\n}: PaginationFooterProps) => {\n const { formatMessage } = useIntl();\n\n const previousActivePage = activePage - 1;\n const nextActivePage = activePage + 1;\n\n const firstLinks = [\n <PageLink\n key={1}\n number={1}\n onClick={() => {\n onChangePage(1);\n }}\n >\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: 1 }\n )}\n </PageLink>,\n ];\n\n if (pageCount <= 4) {\n const links = Array.from({ length: pageCount })\n .map((_, i) => i + 1)\n .map((number) => {\n return (\n <PageLink key={number} number={number} onClick={() => onChangePage(number)}>\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: number }\n )}\n </PageLink>\n );\n });\n\n return (\n <Pagination activePage={activePage} pageCount={pageCount}>\n <PreviousLink onClick={() => onChangePage(previousActivePage)}>\n {formatMessage({\n id: 'components.pagination.go-to-previous',\n defaultMessage: 'Go to previous page',\n })}\n </PreviousLink>\n {links}\n <NextLink onClick={() => onChangePage(nextActivePage)}>\n {formatMessage({\n id: 'components.pagination.go-to-next',\n defaultMessage: 'Go to next page',\n })}\n </NextLink>\n </Pagination>\n );\n }\n\n let firstLinksToCreate: number[] = [];\n const lastLinks: JSX.Element[] = [];\n let lastLinksToCreate: number[] = [];\n const middleLinks: JSX.Element[] = [];\n\n if (pageCount > 1) {\n lastLinks.push(\n <PageLink key={pageCount} number={pageCount} onClick={() => onChangePage(pageCount)}>\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: pageCount }\n )}\n </PageLink>\n );\n }\n\n if (activePage === 1 && pageCount >= 3) {\n firstLinksToCreate = [2];\n }\n\n if (activePage === 2 && pageCount >= 3) {\n if (pageCount === 5) {\n firstLinksToCreate = [2, 3, 4];\n } else if (pageCount === 3) {\n firstLinksToCreate = [2];\n } else {\n firstLinksToCreate = [2, 3];\n }\n }\n\n if (activePage === 4 && pageCount >= 3) {\n firstLinksToCreate = [2];\n }\n\n if (activePage === pageCount && pageCount >= 3) {\n lastLinksToCreate = [pageCount - 1];\n }\n\n if (activePage === pageCount - 2 && pageCount > 3) {\n lastLinksToCreate = [activePage + 1, activePage, activePage - 1];\n }\n\n if (activePage === pageCount - 3 && pageCount > 3 && activePage > 5) {\n lastLinksToCreate = [activePage + 2, activePage + 1, activePage, activePage - 1];\n }\n\n if (activePage === pageCount - 1 && pageCount > 3) {\n lastLinksToCreate = [activePage, activePage - 1];\n }\n\n lastLinksToCreate.forEach((number) => {\n lastLinks.unshift(\n <PageLink key={number} number={number} onClick={() => onChangePage(number)}>\n Go to page {number}\n </PageLink>\n );\n });\n\n firstLinksToCreate.forEach((number) => {\n firstLinks.push(\n <PageLink key={number} number={number} onClick={() => onChangePage(number)}>\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: number }\n )}\n </PageLink>\n );\n });\n\n if (\n ![1, 2].includes(activePage) &&\n activePage <= pageCount - 3 &&\n firstLinks.length + lastLinks.length < 6\n ) {\n const middleLinksToCreate = [activePage - 1, activePage, activePage + 1];\n\n middleLinksToCreate.forEach((number) => {\n middleLinks.push(\n <PageLink key={number} number={number} onClick={() => onChangePage(number)}>\n {formatMessage(\n { id: 'components.pagination.go-to', defaultMessage: 'Go to page {page}' },\n { page: number }\n )}\n </PageLink>\n );\n });\n }\n\n const shouldShowDotsAfterFirstLink =\n pageCount > 5 || (pageCount === 5 && (activePage === 1 || activePage === 5));\n const shouldShowMiddleDots = middleLinks.length > 2 && activePage > 4 && pageCount > 5;\n\n const beforeDotsLinksLength = shouldShowMiddleDots\n ? pageCount - activePage - 1\n : pageCount - firstLinks.length - lastLinks.length;\n const afterDotsLength = shouldShowMiddleDots\n ? pageCount - firstLinks.length - lastLinks.length\n : pageCount - activePage - 1;\n\n return (\n <Pagination activePage={activePage} pageCount={pageCount}>\n <PreviousLink onClick={() => onChangePage(previousActivePage)}>\n {formatMessage({\n id: 'components.pagination.go-to-previous',\n defaultMessage: 'Go to previous page',\n })}\n </PreviousLink>\n {firstLinks}\n {shouldShowMiddleDots && (\n <Dots>\n {formatMessage(\n {\n id: 'components.pagination.remaining-links',\n defaultMessage: 'And {number} other links',\n },\n { number: beforeDotsLinksLength }\n )}\n </Dots>\n )}\n {middleLinks}\n {shouldShowDotsAfterFirstLink && (\n <Dots>\n {formatMessage(\n {\n id: 'components.pagination.remaining-links',\n defaultMessage: 'And {number} other links',\n },\n { number: afterDotsLength }\n )}\n </Dots>\n )}\n {lastLinks}\n <NextLink onClick={() => onChangePage(nextActivePage)}>\n {formatMessage({\n id: 'components.pagination.go-to-next',\n defaultMessage: 'Go to next page',\n })}\n </NextLink>\n </Pagination>\n );\n};\n"],"names":["PaginationText","styled","Typography","linkWrapperStyles","css","theme","spaces","borderRadius","$active","shadows","filterShadow","undefined","props","colors","primary600","LinkWrapperButton","button","LinkWrapperDiv","div","defaultProps","type","PageLinkWrapper","primary700","neutral800","neutral0","ActionLinkWrapper","p","neutral300","neutral600","neutral700","DotsWrapper","PreviousLink","children","activePage","usePagination","disabled","_jsx","li","_jsxs","aria-disabled","tabIndex","VisuallyHidden","ChevronLeft","aria-hidden","NextLink","pageCount","ChevronRight","PageLink","number","isActive","variant","fontWeight","Dots","as","small","PaginationFooter","onChangePage","pagination","formatMessage","useIntl","previousActivePage","nextActivePage","firstLinks","onClick","id","defaultMessage","page","links","Array","from","length","map","_","i","Pagination","firstLinksToCreate","lastLinks","lastLinksToCreate","middleLinks","push","forEach","unshift","includes","middleLinksToCreate","shouldShowDotsAfterFirstLink","shouldShowMiddleDots","beforeDotsLinksLength","afterDotsLength"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchAsset.js","sources":["../../../../../../admin/src/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport { IconButton, Searchbar, SearchForm } from '@strapi/design-system';\nimport { Search } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useTracking } from '../../../../hooks/useTracking';\nimport { getTrad } from '../../../../utils';\n\nimport type { Query } from '../../../../../../shared/contracts/files';\n\ninterface SearchAssetProps {\n onChangeSearch: (_q: Query['_q'] | null) => void;\n queryValue?: Query['_q'] | null;\n}\n\nexport const SearchAsset = ({ onChangeSearch, queryValue = null }: SearchAssetProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [isOpen, setIsOpen] = React.useState(!!queryValue);\n const [value, setValue] = React.useState(queryValue || '');\n const wrapperRef = React.useRef<HTMLDivElement>(null);\n\n React.useLayoutEffect(() => {\n if (isOpen) {\n setTimeout(() => {\n wrapperRef.current?.querySelector('input')?.focus();\n }, 0);\n }\n }, [isOpen]);\n\n const handleToggle = () => {\n setIsOpen((prev) => !prev);\n };\n\n const handleClear = () => {\n handleToggle();\n onChangeSearch(null);\n };\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n trackUsage('didSearchMediaLibraryElements', { location: 'content-manager' });\n onChangeSearch(value);\n };\n\n if (isOpen) {\n return (\n <div ref={wrapperRef}>\n <SearchForm onSubmit={handleSubmit}>\n <Searchbar\n name=\"search\"\n onClear={handleClear}\n onChange={(e) => setValue(e.target.value)}\n clearLabel={formatMessage({\n id: getTrad('search.clear.label'),\n defaultMessage: 'Clear the search',\n })}\n aria-label=\"search\"\n size=\"S\"\n value={value}\n placeholder={formatMessage({\n id: getTrad('search.placeholder'),\n defaultMessage: 'e.g: the first dog on the moon',\n })}\n >\n {formatMessage({ id: getTrad('search.label'), defaultMessage: 'Search for an asset' })}\n </Searchbar>\n </SearchForm>\n </div>\n );\n }\n\n return (\n <IconButton label=\"Search\" onClick={handleToggle}>\n <Search />\n </IconButton>\n );\n};\n"],"names":["SearchAsset","onChangeSearch","queryValue","formatMessage","useIntl","trackUsage","useTracking","isOpen","setIsOpen","React","useState","value","setValue","wrapperRef","useRef","useLayoutEffect","setTimeout","current","querySelector","focus","handleToggle","prev","handleClear","handleSubmit","e","preventDefault","stopPropagation","location","_jsx","div","ref","SearchForm","onSubmit","Searchbar","name","onClear","onChange","target","clearLabel","id","getTrad","defaultMessage","aria-label","size","placeholder","IconButton","label","onClick","Search"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAiBO,MAAMA,cAAc,CAAC,EAAEC,cAAc,EAAEC,UAAAA,GAAa,IAAI,EAAoB,GAAA;IACjF,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,UAAU,EAAE,GAAGC,uBAAAA,EAAAA;IACvB,MAAM,CAACC,QAAQC,
|
|
1
|
+
{"version":3,"file":"SearchAsset.js","sources":["../../../../../../admin/src/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport { IconButton, Searchbar, SearchForm } from '@strapi/design-system';\nimport { Search } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useTracking } from '../../../../hooks/useTracking';\nimport { getTrad } from '../../../../utils';\n\nimport type { Query } from '../../../../../../shared/contracts/files';\n\ninterface SearchAssetProps {\n onChangeSearch: (_q: Query['_q'] | null) => void;\n queryValue?: Query['_q'] | null;\n}\n\nexport const SearchAsset = ({ onChangeSearch, queryValue = null }: SearchAssetProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [isOpen, setIsOpen] = React.useState(!!queryValue);\n const [value, setValue] = React.useState(queryValue || '');\n const wrapperRef = React.useRef<HTMLDivElement>(null);\n\n React.useLayoutEffect(() => {\n if (isOpen) {\n setTimeout(() => {\n wrapperRef.current?.querySelector('input')?.focus();\n }, 0);\n }\n }, [isOpen]);\n\n const handleToggle = () => {\n setIsOpen((prev) => !prev);\n };\n\n const handleClear = () => {\n handleToggle();\n onChangeSearch(null);\n };\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n trackUsage('didSearchMediaLibraryElements', { location: 'content-manager' });\n onChangeSearch(value);\n };\n\n if (isOpen) {\n return (\n <div ref={wrapperRef}>\n <SearchForm onSubmit={handleSubmit}>\n <Searchbar\n name=\"search\"\n onClear={handleClear}\n onChange={(e) => setValue(e.target.value)}\n clearLabel={formatMessage({\n id: getTrad('search.clear.label'),\n defaultMessage: 'Clear the search',\n })}\n aria-label=\"search\"\n size=\"S\"\n value={value}\n placeholder={formatMessage({\n id: getTrad('search.placeholder'),\n defaultMessage: 'e.g: the first dog on the moon',\n })}\n >\n {formatMessage({ id: getTrad('search.label'), defaultMessage: 'Search for an asset' })}\n </Searchbar>\n </SearchForm>\n </div>\n );\n }\n\n return (\n <IconButton label=\"Search\" onClick={handleToggle}>\n <Search />\n </IconButton>\n );\n};\n"],"names":["SearchAsset","onChangeSearch","queryValue","formatMessage","useIntl","trackUsage","useTracking","isOpen","setIsOpen","React","useState","value","setValue","wrapperRef","useRef","useLayoutEffect","setTimeout","current","querySelector","focus","handleToggle","prev","handleClear","handleSubmit","e","preventDefault","stopPropagation","location","_jsx","div","ref","SearchForm","onSubmit","Searchbar","name","onClear","onChange","target","clearLabel","id","getTrad","defaultMessage","aria-label","size","placeholder","IconButton","label","onClick","Search"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchAsset.mjs","sources":["../../../../../../admin/src/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport { IconButton, Searchbar, SearchForm } from '@strapi/design-system';\nimport { Search } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useTracking } from '../../../../hooks/useTracking';\nimport { getTrad } from '../../../../utils';\n\nimport type { Query } from '../../../../../../shared/contracts/files';\n\ninterface SearchAssetProps {\n onChangeSearch: (_q: Query['_q'] | null) => void;\n queryValue?: Query['_q'] | null;\n}\n\nexport const SearchAsset = ({ onChangeSearch, queryValue = null }: SearchAssetProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [isOpen, setIsOpen] = React.useState(!!queryValue);\n const [value, setValue] = React.useState(queryValue || '');\n const wrapperRef = React.useRef<HTMLDivElement>(null);\n\n React.useLayoutEffect(() => {\n if (isOpen) {\n setTimeout(() => {\n wrapperRef.current?.querySelector('input')?.focus();\n }, 0);\n }\n }, [isOpen]);\n\n const handleToggle = () => {\n setIsOpen((prev) => !prev);\n };\n\n const handleClear = () => {\n handleToggle();\n onChangeSearch(null);\n };\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n trackUsage('didSearchMediaLibraryElements', { location: 'content-manager' });\n onChangeSearch(value);\n };\n\n if (isOpen) {\n return (\n <div ref={wrapperRef}>\n <SearchForm onSubmit={handleSubmit}>\n <Searchbar\n name=\"search\"\n onClear={handleClear}\n onChange={(e) => setValue(e.target.value)}\n clearLabel={formatMessage({\n id: getTrad('search.clear.label'),\n defaultMessage: 'Clear the search',\n })}\n aria-label=\"search\"\n size=\"S\"\n value={value}\n placeholder={formatMessage({\n id: getTrad('search.placeholder'),\n defaultMessage: 'e.g: the first dog on the moon',\n })}\n >\n {formatMessage({ id: getTrad('search.label'), defaultMessage: 'Search for an asset' })}\n </Searchbar>\n </SearchForm>\n </div>\n );\n }\n\n return (\n <IconButton label=\"Search\" onClick={handleToggle}>\n <Search />\n </IconButton>\n );\n};\n"],"names":["SearchAsset","onChangeSearch","queryValue","formatMessage","useIntl","trackUsage","useTracking","isOpen","setIsOpen","React","useState","value","setValue","wrapperRef","useRef","useLayoutEffect","setTimeout","current","querySelector","focus","handleToggle","prev","handleClear","handleSubmit","e","preventDefault","stopPropagation","location","_jsx","div","ref","SearchForm","onSubmit","Searchbar","name","onClear","onChange","target","clearLabel","id","getTrad","defaultMessage","aria-label","size","placeholder","IconButton","label","onClick","Search"],"mappings":";;;;;;;;;;;;;AAAA;AAiBO,MAAMA,cAAc,CAAC,EAAEC,cAAc,EAAEC,UAAAA,GAAa,IAAI,EAAoB,GAAA;IACjF,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEC,UAAU,EAAE,GAAGC,WAAAA,EAAAA;IACvB,MAAM,CAACC,QAAQC,
|
|
1
|
+
{"version":3,"file":"SearchAsset.mjs","sources":["../../../../../../admin/src/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport { IconButton, Searchbar, SearchForm } from '@strapi/design-system';\nimport { Search } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useTracking } from '../../../../hooks/useTracking';\nimport { getTrad } from '../../../../utils';\n\nimport type { Query } from '../../../../../../shared/contracts/files';\n\ninterface SearchAssetProps {\n onChangeSearch: (_q: Query['_q'] | null) => void;\n queryValue?: Query['_q'] | null;\n}\n\nexport const SearchAsset = ({ onChangeSearch, queryValue = null }: SearchAssetProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [isOpen, setIsOpen] = React.useState(!!queryValue);\n const [value, setValue] = React.useState(queryValue || '');\n const wrapperRef = React.useRef<HTMLDivElement>(null);\n\n React.useLayoutEffect(() => {\n if (isOpen) {\n setTimeout(() => {\n wrapperRef.current?.querySelector('input')?.focus();\n }, 0);\n }\n }, [isOpen]);\n\n const handleToggle = () => {\n setIsOpen((prev) => !prev);\n };\n\n const handleClear = () => {\n handleToggle();\n onChangeSearch(null);\n };\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n trackUsage('didSearchMediaLibraryElements', { location: 'content-manager' });\n onChangeSearch(value);\n };\n\n if (isOpen) {\n return (\n <div ref={wrapperRef}>\n <SearchForm onSubmit={handleSubmit}>\n <Searchbar\n name=\"search\"\n onClear={handleClear}\n onChange={(e) => setValue(e.target.value)}\n clearLabel={formatMessage({\n id: getTrad('search.clear.label'),\n defaultMessage: 'Clear the search',\n })}\n aria-label=\"search\"\n size=\"S\"\n value={value}\n placeholder={formatMessage({\n id: getTrad('search.placeholder'),\n defaultMessage: 'e.g: the first dog on the moon',\n })}\n >\n {formatMessage({ id: getTrad('search.label'), defaultMessage: 'Search for an asset' })}\n </Searchbar>\n </SearchForm>\n </div>\n );\n }\n\n return (\n <IconButton label=\"Search\" onClick={handleToggle}>\n <Search />\n </IconButton>\n );\n};\n"],"names":["SearchAsset","onChangeSearch","queryValue","formatMessage","useIntl","trackUsage","useTracking","isOpen","setIsOpen","React","useState","value","setValue","wrapperRef","useRef","useLayoutEffect","setTimeout","current","querySelector","focus","handleToggle","prev","handleClear","handleSubmit","e","preventDefault","stopPropagation","location","_jsx","div","ref","SearchForm","onSubmit","Searchbar","name","onClear","onChange","target","clearLabel","id","getTrad","defaultMessage","aria-label","size","placeholder","IconButton","label","onClick","Search"],"mappings":";;;;;;;;;;;;;AAAA;AAiBO,MAAMA,cAAc,CAAC,EAAEC,cAAc,EAAEC,UAAAA,GAAa,IAAI,EAAoB,GAAA;IACjF,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEC,UAAU,EAAE,GAAGC,WAAAA,EAAAA;IACvB,MAAM,CAACC,QAAQC,SAAAA,CAAU,GAAGC,MAAMC,QAAQ,CAAC,CAAC,CAACR,UAAAA,CAAAA;AAC7C,IAAA,MAAM,CAACS,KAAAA,EAAOC,QAAAA,CAAS,GAAGH,KAAAA,CAAMC,QAAQ,CAACR,UAAAA,IAAc,EAAA,CAAA;IACvD,MAAMW,UAAAA,GAAaJ,KAAAA,CAAMK,MAAM,CAAiB,IAAA,CAAA;AAEhDL,IAAAA,KAAAA,CAAMM,eAAe,CAAC,IAAA;AACpB,QAAA,IAAIR,MAAAA,EAAQ;YACVS,UAAAA,CAAW,IAAA;gBACTH,UAAAA,CAAWI,OAAO,EAAEC,aAAAA,CAAc,OAAA,CAAA,EAAUC,KAAAA,EAAAA;YAC9C,CAAA,EAAG,CAAA,CAAA;AACL,QAAA;IACF,CAAA,EAAG;AAACZ,QAAAA;AAAO,KAAA,CAAA;AAEX,IAAA,MAAMa,YAAAA,GAAe,IAAA;QACnBZ,SAAAA,CAAU,CAACa,OAAS,CAACA,IAAAA,CAAAA;AACvB,IAAA,CAAA;AAEA,IAAA,MAAMC,WAAAA,GAAc,IAAA;AAClBF,QAAAA,YAAAA,EAAAA;QACAnB,cAAAA,CAAe,IAAA,CAAA;AACjB,IAAA,CAAA;AAEA,IAAA,MAAMsB,eAAe,CAACC,CAAAA,GAAAA;AACpBA,QAAAA,CAAAA,CAAEC,cAAc,EAAA;AAChBD,QAAAA,CAAAA,CAAEE,eAAe,EAAA;AAEjBrB,QAAAA,UAAAA,CAAW,+BAAA,EAAiC;YAAEsB,QAAAA,EAAU;AAAkB,SAAA,CAAA;QAC1E1B,cAAAA,CAAeU,KAAAA,CAAAA;AACjB,IAAA,CAAA;AAEA,IAAA,IAAIJ,MAAAA,EAAQ;AACV,QAAA,qBACEqB,GAAA,CAACC,KAAAA,EAAAA;YAAIC,GAAAA,EAAKjB,UAAAA;AACR,YAAA,QAAA,gBAAAe,GAAA,CAACG,UAAAA,EAAAA;gBAAWC,QAAAA,EAAUT,YAAAA;AACpB,gBAAA,QAAA,gBAAAK,GAAA,CAACK,SAAAA,EAAAA;oBACCC,IAAAA,EAAK,QAAA;oBACLC,OAAAA,EAASb,WAAAA;AACTc,oBAAAA,QAAAA,EAAU,CAACZ,CAAAA,GAAMZ,QAAAA,CAASY,CAAAA,CAAEa,MAAM,CAAC1B,KAAK,CAAA;AACxC2B,oBAAAA,UAAAA,EAAYnC,aAAAA,CAAc;AACxBoC,wBAAAA,EAAAA,EAAIC,OAAAA,CAAQ,oBAAA,CAAA;wBACZC,cAAAA,EAAgB;AAClB,qBAAA,CAAA;oBACAC,YAAAA,EAAW,QAAA;oBACXC,IAAAA,EAAK,GAAA;oBACLhC,KAAAA,EAAOA,KAAAA;AACPiC,oBAAAA,WAAAA,EAAazC,aAAAA,CAAc;AACzBoC,wBAAAA,EAAAA,EAAIC,OAAAA,CAAQ,oBAAA,CAAA;wBACZC,cAAAA,EAAgB;AAClB,qBAAA,CAAA;8BAECtC,aAAAA,CAAc;AAAEoC,wBAAAA,EAAAA,EAAIC,OAAAA,CAAQ,cAAA,CAAA;wBAAiBC,cAAAA,EAAgB;AAAsB,qBAAA;;;;AAK9F,IAAA;AAEA,IAAA,qBACEb,GAAA,CAACiB,UAAAA,EAAAA;QAAWC,KAAAA,EAAM,QAAA;QAASC,OAAAA,EAAS3B,YAAAA;AAClC,QAAA,QAAA,gBAAAQ,GAAA,CAACoB,MAAAA,EAAAA,EAAAA;;AAGP;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isSelectable.js","sources":["../../../../../../admin/src/components/AssetDialog/BrowseStep/utils/isSelectable.ts"],"sourcesContent":["export const isSelectable = (allowedTypes: string[], mime = '') => {\n if (!mime) return false;\n\n const fileType = mime.split('/')[0];\n\n return (\n allowedTypes.includes(fileType) ||\n (allowedTypes.includes('file') && !['video', 'image', 'audio'].includes(fileType))\n );\n};\n"],"names":["isSelectable","allowedTypes","mime","fileType","split","includes"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"isSelectable.js","sources":["../../../../../../admin/src/components/AssetDialog/BrowseStep/utils/isSelectable.ts"],"sourcesContent":["export const isSelectable = (allowedTypes: string[], mime = '') => {\n if (!mime) return false;\n\n const fileType = mime.split('/')[0];\n\n return (\n allowedTypes.includes(fileType) ||\n (allowedTypes.includes('file') && !['video', 'image', 'audio'].includes(fileType))\n );\n};\n"],"names":["isSelectable","allowedTypes","mime","fileType","split","includes"],"mappings":";;AAAO,MAAMA,YAAAA,GAAe,CAACC,YAAAA,EAAwBC,OAAO,EAAE,GAAA;IAC5D,IAAI,CAACA,MAAM,OAAO,KAAA;AAElB,IAAA,MAAMC,WAAWD,IAAAA,CAAKE,KAAK,CAAC,GAAA,CAAI,CAAC,CAAA,CAAE;IAEnC,OACEH,YAAAA,CAAaI,QAAQ,CAACF,QAAAA,CAAAA,IACrBF,aAAaI,QAAQ,CAAC,WAAW,CAAC;AAAC,QAAA,OAAA;AAAS,QAAA,OAAA;AAAS,QAAA;AAAQ,KAAA,CAACA,QAAQ,CAACF,QAAAA,CAAAA;AAE5E;;;;"}
|