@payloadcms/ui 3.39.0-internal.32c7661 → 3.39.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/elements/BulkUpload/ActionsBar/index.js +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +9 -0
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +3 -3
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/index.scss +144 -83
- package/dist/elements/Button/types.d.ts +2 -1
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.d.ts +17 -0
- package/dist/elements/CheckboxPopup/index.d.ts.map +1 -0
- package/dist/elements/CheckboxPopup/index.js +42 -0
- package/dist/elements/CheckboxPopup/index.js.map +1 -0
- package/dist/elements/CheckboxPopup/index.scss +19 -0
- package/dist/elements/CloseModalButton/index.d.ts +6 -0
- package/dist/elements/CloseModalButton/index.d.ts.map +1 -0
- package/dist/elements/CloseModalButton/index.js +27 -0
- package/dist/elements/CloseModalButton/index.js.map +1 -0
- package/dist/elements/CloseModalButton/index.scss +25 -0
- package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
- package/dist/elements/ColumnSelector/index.js +3 -2
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts +50 -2
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +230 -82
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts +2 -2
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +25 -26
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.scss +13 -3
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +1 -3
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.d.ts +12 -0
- package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -0
- package/dist/elements/DrawerActionHeader/index.js +77 -0
- package/dist/elements/DrawerActionHeader/index.js.map +1 -0
- package/dist/elements/DrawerActionHeader/index.scss +24 -0
- package/dist/elements/DrawerContentContainer/index.d.ts +9 -0
- package/dist/elements/DrawerContentContainer/index.d.ts.map +1 -0
- package/dist/elements/DrawerContentContainer/index.js +14 -0
- package/dist/elements/DrawerContentContainer/index.js.map +1 -0
- package/dist/elements/DrawerContentContainer/index.scss +6 -0
- package/dist/elements/EditMany/DrawerContent.d.ts +25 -2
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +37 -13
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts +5 -0
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +68 -34
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditMany/index.scss +0 -16
- package/dist/elements/FolderView/Breadcrumbs/index.d.ts +19 -0
- package/dist/elements/FolderView/Breadcrumbs/index.d.ts.map +1 -0
- package/dist/elements/FolderView/Breadcrumbs/index.js +96 -0
- package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -0
- package/dist/elements/FolderView/Breadcrumbs/index.scss +56 -0
- package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts +6 -0
- package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +1 -0
- package/dist/elements/FolderView/BrowseByFolderButton/index.js +40 -0
- package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -0
- package/dist/elements/FolderView/BrowseByFolderButton/index.scss +30 -0
- package/dist/elements/FolderView/Cell/index.client.d.ts +11 -0
- package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -0
- package/dist/elements/FolderView/Cell/index.client.js +84 -0
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -0
- package/dist/elements/FolderView/Cell/index.server.d.ts +4 -0
- package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -0
- package/dist/elements/FolderView/Cell/index.server.js +13 -0
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -0
- package/dist/elements/FolderView/CollectionTypePill/index.d.ts +4 -0
- package/dist/elements/FolderView/CollectionTypePill/index.d.ts.map +1 -0
- package/dist/elements/FolderView/CollectionTypePill/index.js +97 -0
- package/dist/elements/FolderView/CollectionTypePill/index.js.map +1 -0
- package/dist/elements/FolderView/CollectionTypePill/index.scss +16 -0
- package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts +3 -0
- package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts.map +1 -0
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -0
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -0
- package/dist/elements/FolderView/ColoredFolderIcon/index.scss +5 -0
- package/dist/elements/FolderView/CurrentFolderActions/index.d.ts +7 -0
- package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -0
- package/dist/elements/FolderView/CurrentFolderActions/index.js +146 -0
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -0
- package/dist/elements/FolderView/DragOverlaySelection/index.d.ts +12 -0
- package/dist/elements/FolderView/DragOverlaySelection/index.d.ts.map +1 -0
- package/dist/elements/FolderView/DragOverlaySelection/index.js +67 -0
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -0
- package/dist/elements/FolderView/DragOverlaySelection/index.scss +35 -0
- package/dist/elements/FolderView/DraggableTableRow/index.d.ts +18 -0
- package/dist/elements/FolderView/DraggableTableRow/index.d.ts.map +1 -0
- package/dist/elements/FolderView/DraggableTableRow/index.js +64 -0
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -0
- package/dist/elements/FolderView/DraggableTableRow/index.scss +135 -0
- package/dist/elements/FolderView/DraggableWithClick/index.d.ts +15 -0
- package/dist/elements/FolderView/DraggableWithClick/index.d.ts.map +1 -0
- package/dist/elements/FolderView/DraggableWithClick/index.js +81 -0
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -0
- package/dist/elements/FolderView/DraggableWithClick/index.scss +5 -0
- package/dist/elements/FolderView/Drawers/DrawerHeader/index.d.ts +10 -0
- package/dist/elements/FolderView/Drawers/DrawerHeader/index.d.ts.map +1 -0
- package/dist/elements/FolderView/Drawers/DrawerHeader/index.js +55 -0
- package/dist/elements/FolderView/Drawers/DrawerHeader/index.js.map +1 -0
- package/dist/elements/FolderView/Drawers/DrawerHeader/index.scss +30 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +32 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +493 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +26 -0
- package/dist/elements/FolderView/Drawers/NewFolder/index.d.ts +9 -0
- package/dist/elements/FolderView/Drawers/NewFolder/index.d.ts.map +1 -0
- package/dist/elements/FolderView/Drawers/NewFolder/index.js +157 -0
- package/dist/elements/FolderView/Drawers/NewFolder/index.js.map +1 -0
- package/dist/elements/FolderView/Drawers/RenameFolder/index.d.ts +13 -0
- package/dist/elements/FolderView/Drawers/RenameFolder/index.d.ts.map +1 -0
- package/dist/elements/FolderView/Drawers/RenameFolder/index.js +140 -0
- package/dist/elements/FolderView/Drawers/RenameFolder/index.js.map +1 -0
- package/dist/elements/FolderView/Field/index.scss +12 -0
- package/dist/elements/FolderView/Field/index.server.d.ts +4 -0
- package/dist/elements/FolderView/Field/index.server.d.ts.map +1 -0
- package/dist/elements/FolderView/Field/index.server.js +11 -0
- package/dist/elements/FolderView/Field/index.server.js.map +1 -0
- package/dist/elements/FolderView/FolderFileCard/index.d.ts +21 -0
- package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +1 -0
- package/dist/elements/FolderView/FolderFileCard/index.js +94 -0
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -0
- package/dist/elements/FolderView/FolderFileCard/index.scss +213 -0
- package/dist/elements/FolderView/FolderFileTable/index.d.ts +29 -0
- package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +1 -0
- package/dist/elements/FolderView/FolderFileTable/index.js +189 -0
- package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -0
- package/dist/elements/FolderView/FolderFileTable/index.scss +11 -0
- package/dist/elements/FolderView/ItemCardGrid/index.d.ts +22 -0
- package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +1 -0
- package/dist/elements/FolderView/ItemCardGrid/index.js +100 -0
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -0
- package/dist/elements/FolderView/ItemCardGrid/index.scss +16 -0
- package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +34 -0
- package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +1 -0
- package/dist/elements/FolderView/MoveDocToFolder/index.js +287 -0
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -0
- package/dist/elements/FolderView/MoveDocToFolder/index.scss +12 -0
- package/dist/elements/FolderView/SimpleTable/index.d.ts +19 -0
- package/dist/elements/FolderView/SimpleTable/index.d.ts.map +1 -0
- package/dist/elements/FolderView/SimpleTable/index.js +95 -0
- package/dist/elements/FolderView/SimpleTable/index.js.map +1 -0
- package/dist/elements/FolderView/SimpleTable/index.scss +59 -0
- package/dist/elements/FolderView/SortByPill/index.d.ts +4 -0
- package/dist/elements/FolderView/SortByPill/index.d.ts.map +1 -0
- package/dist/elements/FolderView/SortByPill/index.js +108 -0
- package/dist/elements/FolderView/SortByPill/index.js.map +1 -0
- package/dist/elements/FolderView/SortByPill/index.scss +16 -0
- package/dist/elements/FolderView/ToggleViewButtons/index.d.ts +8 -0
- package/dist/elements/FolderView/ToggleViewButtons/index.d.ts.map +1 -0
- package/dist/elements/FolderView/ToggleViewButtons/index.js +31 -0
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -0
- package/dist/elements/FolderView/ToggleViewButtons/index.scss +17 -0
- package/dist/elements/Gutter/index.d.ts.map +1 -1
- package/dist/elements/Gutter/index.js +1 -1
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts.map +1 -1
- package/dist/elements/ListControls/ActiveQueryPreset/index.js +93 -67
- package/dist/elements/ListControls/ActiveQueryPreset/index.js.map +1 -1
- package/dist/elements/ListControls/ActiveQueryPreset/index.scss +17 -5
- package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +2 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js +5 -2
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +13 -15
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/index.scss +1 -1
- package/dist/elements/ListControls/types.d.ts +1 -0
- package/dist/elements/ListControls/types.d.ts.map +1 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListControls/useQueryPresets.d.ts.map +1 -1
- package/dist/elements/ListControls/useQueryPresets.js +19 -27
- package/dist/elements/ListControls/useQueryPresets.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +34 -22
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListFolderPills/index.d.ts +9 -0
- package/dist/elements/ListFolderPills/index.d.ts.map +1 -0
- package/dist/elements/ListFolderPills/index.js +93 -0
- package/dist/elements/ListFolderPills/index.js.map +1 -0
- package/dist/elements/ListFolderPills/index.scss +7 -0
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts +2 -0
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -0
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +98 -0
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.d.ts +6 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.d.ts.map +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +39 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +2 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.js +2 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -0
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +15 -0
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -0
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +85 -0
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.d.ts +8 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.d.ts.map +1 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +48 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +12 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +168 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -0
- package/dist/elements/ListHeader/TitleActions/index.d.ts +4 -0
- package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -0
- package/dist/elements/ListHeader/TitleActions/index.js +4 -0
- package/dist/elements/ListHeader/TitleActions/index.js.map +1 -0
- package/dist/elements/ListHeader/index.d.ts +13 -0
- package/dist/elements/ListHeader/index.d.ts.map +1 -0
- package/dist/elements/ListHeader/index.js +29 -0
- package/dist/elements/ListHeader/index.js.map +1 -0
- package/dist/elements/ListHeader/index.scss +48 -0
- package/dist/elements/ListSelection/index.d.ts +22 -7
- package/dist/elements/ListSelection/index.d.ts.map +1 -1
- package/dist/elements/ListSelection/index.js +58 -60
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/ListSelection/index.scss +10 -1
- package/dist/elements/NoListResults/index.d.ts +9 -0
- package/dist/elements/NoListResults/index.d.ts.map +1 -0
- package/dist/elements/NoListResults/index.js +19 -0
- package/dist/elements/NoListResults/index.js.map +1 -0
- package/dist/elements/NoListResults/index.scss +20 -0
- package/dist/elements/Pagination/index.js +2 -2
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/Pill/index.scss +25 -9
- package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.scss +12 -1
- package/dist/elements/Popup/PopupDivider/index.scss +1 -0
- package/dist/elements/Popup/PopupGroupLabel/index.scss +4 -1
- package/dist/elements/Popup/PopupTrigger/index.js +92 -26
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/index.d.ts +1 -0
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +18 -7
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/Popup/index.scss +1 -0
- package/dist/elements/PublishMany/DrawerContent.d.ts +10 -0
- package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -0
- package/dist/elements/PublishMany/DrawerContent.js +143 -0
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -0
- package/dist/elements/PublishMany/index.d.ts +7 -1
- package/dist/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/elements/PublishMany/index.js +75 -110
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/SearchBar/index.d.ts +12 -0
- package/dist/elements/SearchBar/index.d.ts.map +1 -0
- package/dist/elements/SearchBar/index.js +26 -0
- package/dist/elements/SearchBar/index.js.map +1 -0
- package/dist/elements/SearchBar/index.scss +26 -0
- package/dist/elements/SearchFilter/index.d.ts +23 -0
- package/dist/elements/SearchFilter/index.d.ts.map +1 -1
- package/dist/elements/SearchFilter/index.js +9 -7
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SortColumn/index.scss +1 -1
- package/dist/elements/StepNav/types.d.ts +2 -1
- package/dist/elements/StepNav/types.d.ts.map +1 -1
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/Table/index.scss +33 -7
- package/dist/elements/UnpublishMany/DrawerContent.d.ts +10 -0
- package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -0
- package/dist/elements/UnpublishMany/DrawerContent.js +134 -0
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -0
- package/dist/elements/UnpublishMany/index.d.ts +5 -1
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js +79 -112
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +29 -16
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/index.scss +0 -15
- package/dist/exports/client/index.d.ts +16 -2
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +22 -23
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +2 -0
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +2 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/exports/shared/index.d.ts +1 -1
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +2 -2
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +4 -4
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +3 -1
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Upload/index.scss +0 -4
- package/dist/forms/fieldSchemasToFormState/renderField.js +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/hooks/useClickOutside.d.ts +2 -0
- package/dist/hooks/useClickOutside.d.ts.map +1 -0
- package/dist/hooks/useClickOutside.js +20 -0
- package/dist/hooks/useClickOutside.js.map +1 -0
- package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
- package/dist/hooks/useUseAsTitle.js +25 -5
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/icons/Document/index.d.ts +4 -0
- package/dist/icons/Document/index.d.ts.map +1 -0
- package/dist/icons/Document/index.js +20 -0
- package/dist/icons/Document/index.js.map +1 -0
- package/dist/icons/Document/index.scss +6 -0
- package/dist/icons/Dots/index.scss +3 -3
- package/dist/icons/Folder/index.d.ts +6 -0
- package/dist/icons/Folder/index.d.ts.map +1 -0
- package/dist/icons/Folder/index.js +20 -0
- package/dist/icons/Folder/index.js.map +1 -0
- package/dist/icons/Folder/index.scss +6 -0
- package/dist/icons/GridView/index.d.ts +4 -0
- package/dist/icons/GridView/index.d.ts.map +1 -0
- package/dist/icons/GridView/index.js +35 -0
- package/dist/icons/GridView/index.js.map +1 -0
- package/dist/icons/GridView/index.scss +3 -0
- package/dist/icons/ListView/index.d.ts +4 -0
- package/dist/icons/ListView/index.d.ts.map +1 -0
- package/dist/icons/ListView/index.js +20 -0
- package/dist/icons/ListView/index.js.map +1 -0
- package/dist/icons/ListView/index.scss +3 -0
- package/dist/icons/MoveFolder/index.d.ts +4 -0
- package/dist/icons/MoveFolder/index.d.ts.map +1 -0
- package/dist/icons/MoveFolder/index.js +39 -0
- package/dist/icons/MoveFolder/index.js.map +1 -0
- package/dist/icons/MoveFolder/index.scss +6 -0
- package/dist/icons/People/index.d.ts.map +1 -1
- package/dist/icons/People/index.js +7 -5
- package/dist/icons/People/index.js.map +1 -1
- package/dist/icons/ThreeDots/index.d.ts +6 -0
- package/dist/icons/ThreeDots/index.d.ts.map +1 -0
- package/dist/icons/ThreeDots/index.js +12 -0
- package/dist/icons/ThreeDots/index.js.map +1 -0
- package/dist/icons/ThreeDots/index.scss +17 -0
- package/dist/providers/ClickOutside/index.d.ts +14 -0
- package/dist/providers/ClickOutside/index.d.ts.map +1 -0
- package/dist/providers/ClickOutside/index.js +39 -0
- package/dist/providers/ClickOutside/index.js.map +1 -0
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +10 -4
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/Folders/index.d.ts +119 -0
- package/dist/providers/Folders/index.d.ts.map +1 -0
- package/dist/providers/Folders/index.js +856 -0
- package/dist/providers/Folders/index.js.map +1 -0
- package/dist/providers/Folders/selection.d.ts +11 -0
- package/dist/providers/Folders/selection.d.ts.map +1 -0
- package/dist/providers/Folders/selection.js +38 -0
- package/dist/providers/Folders/selection.js.map +1 -0
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +31 -25
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/types.d.ts.map +1 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/Preferences/index.d.ts +3 -2
- package/dist/providers/Preferences/index.d.ts.map +1 -1
- package/dist/providers/Preferences/index.js +1 -0
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +99 -67
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.d.ts +2 -0
- package/dist/providers/RouteCache/index.d.ts.map +1 -1
- package/dist/providers/RouteCache/index.js +38 -29
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts +1 -0
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +15 -5
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts +12 -0
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +13 -0
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/index.d.ts +31 -0
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/index.js +143 -0
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/isColumnActive.d.ts +8 -0
- package/dist/providers/TableColumns/buildColumnState/isColumnActive.d.ts.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +16 -0
- package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +18 -0
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +110 -0
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/sortFieldMap.d.ts +3 -0
- package/dist/providers/TableColumns/buildColumnState/sortFieldMap.d.ts.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +20 -0
- package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -0
- package/dist/scss/app.scss +6 -2
- package/dist/scss/resets.scss +2 -0
- package/dist/styles.css +1 -1
- package/dist/utilities/formatDocTitle/formatDateTitle.d.ts +3 -3
- package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
- package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
- package/dist/utilities/renderTable.d.ts +2 -3
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +52 -33
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/BrowseByFolder/index.d.ts +8 -0
- package/dist/views/BrowseByFolder/index.d.ts.map +1 -0
- package/dist/views/BrowseByFolder/index.js +312 -0
- package/dist/views/BrowseByFolder/index.js.map +1 -0
- package/dist/views/BrowseByFolder/index.scss +174 -0
- package/dist/views/CollectionFolder/ListSelection/index.d.ts +7 -0
- package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -0
- package/dist/views/CollectionFolder/ListSelection/index.js +201 -0
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -0
- package/dist/views/CollectionFolder/index.d.ts +5 -0
- package/dist/views/CollectionFolder/index.d.ts.map +1 -0
- package/dist/views/CollectionFolder/index.js +306 -0
- package/dist/views/CollectionFolder/index.js.map +1 -0
- package/dist/views/CollectionFolder/index.scss +162 -0
- package/dist/views/Edit/index.js +1 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts +13 -2
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +52 -113
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.scss +10 -77
- package/dist/views/List/ListSelection/index.d.ts +10 -0
- package/dist/views/List/ListSelection/index.d.ts.map +1 -0
- package/dist/views/List/ListSelection/index.js +87 -0
- package/dist/views/List/ListSelection/index.js.map +1 -0
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +7 -11
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/index.scss +0 -7
- package/package.json +5 -4
- package/dist/elements/DeleteMany/index.scss +0 -27
- package/dist/elements/PublishMany/index.scss +0 -21
- package/dist/elements/UnpublishMany/index.scss +0 -21
- package/dist/providers/TableColumns/buildColumnState.d.ts +0 -21
- package/dist/providers/TableColumns/buildColumnState.d.ts.map +0 -1
- package/dist/providers/TableColumns/buildColumnState.js +0 -201
- package/dist/providers/TableColumns/buildColumnState.js.map +0 -1
- package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts +0 -20
- package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts.map +0 -1
- package/dist/providers/TableColumns/buildPolymorphicColumnState.js +0 -200
- package/dist/providers/TableColumns/buildPolymorphicColumnState.js.map +0 -1
- package/dist/providers/TableColumns/filterFields.d.ts.map +0 -1
- package/dist/providers/TableColumns/filterFields.js.map +0 -1
- /package/dist/providers/TableColumns/{filterFields.d.ts → buildColumnState/filterFields.d.ts} +0 -0
- /package/dist/providers/TableColumns/{filterFields.js → buildColumnState/filterFields.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","baseClass","PopupTrigger","props","active","button","buttonType","className","disabled","noBackground","setActive","size","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","baseClass","PopupTrigger","props","$","active","button","buttonType","className","disabled","noBackground","setActive","size","t0","t1","t2","t3","t4","filter","Boolean","classes","join","t5","handleClick","t6","e","key","t7","_jsx","onClick","onKeyDown","role","tabIndex","children","e_0","type"],"sources":["../../../../src/elements/Popup/PopupTrigger/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'popup-button'\n\nexport type PopupTriggerProps = {\n active: boolean\n button: React.ReactNode\n buttonType: 'custom' | 'default' | 'none'\n className?: string\n disabled?: boolean\n noBackground?: boolean\n setActive: (active: boolean) => void\n size?: 'large' | 'medium' | 'small'\n}\n\nexport const PopupTrigger: React.FC<PopupTriggerProps> = (props) => {\n const { active, button, buttonType, className, disabled, noBackground, setActive, size } = props\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--${buttonType}`,\n !noBackground && `${baseClass}--background`,\n size && `${baseClass}--size-${size}`,\n disabled && `${baseClass}--disabled`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const handleClick = React.useCallback(() => {\n setActive(!active)\n }, [active, setActive])\n\n if (buttonType === 'none') {\n return null\n }\n\n if (buttonType === 'custom') {\n return (\n <div\n className={classes}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n handleClick()\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n {button}\n </div>\n )\n }\n\n return (\n <button\n className={classes}\n disabled={disabled}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n handleClick()\n }\n }}\n tabIndex={0}\n type=\"button\"\n >\n {button}\n </button>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Popup/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAGvD,OAAO,KAAmD,MAAM,OAAO,CAAA;AAIvE,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,UAAU,GAAG;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACzC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,eAAe,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAA,KAAK,KAAK,CAAC,SAAS,CAAA;IACjC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACnD,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Popup/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAGvD,OAAO,KAAmD,MAAM,OAAO,CAAA;AAIvE,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,UAAU,GAAG;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACzC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,eAAe,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAA,KAAK,KAAK,CAAC,SAAS,CAAA;IACjC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACnD,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAuMtC,CAAA"}
|
|
@@ -24,6 +24,7 @@ export const Popup = props => {
|
|
|
24
24
|
horizontalAlign: horizontalAlignFromProps = 'left',
|
|
25
25
|
initActive = false,
|
|
26
26
|
noBackground,
|
|
27
|
+
onToggleClose,
|
|
27
28
|
onToggleOpen,
|
|
28
29
|
render,
|
|
29
30
|
showOnHover = false,
|
|
@@ -41,9 +42,19 @@ export const Popup = props => {
|
|
|
41
42
|
threshold: 1
|
|
42
43
|
});
|
|
43
44
|
const contentRef = useRef(null);
|
|
44
|
-
const
|
|
45
|
+
const triggerRef = useRef(null);
|
|
46
|
+
const [active, setActive_Internal] = useState(initActive);
|
|
45
47
|
const [verticalAlign, setVerticalAlign] = useState(verticalAlignFromProps);
|
|
46
48
|
const [horizontalAlign, setHorizontalAlign] = useState(horizontalAlignFromProps);
|
|
49
|
+
const setActive = React.useCallback(active_0 => {
|
|
50
|
+
if (active_0 && typeof onToggleOpen === 'function') {
|
|
51
|
+
onToggleOpen(true);
|
|
52
|
+
}
|
|
53
|
+
if (!active_0 && typeof onToggleClose === 'function') {
|
|
54
|
+
onToggleClose();
|
|
55
|
+
}
|
|
56
|
+
setActive_Internal(active_0);
|
|
57
|
+
}, [onToggleClose, onToggleOpen]);
|
|
47
58
|
const setPosition = useCallback(({
|
|
48
59
|
horizontal = false,
|
|
49
60
|
vertical = false
|
|
@@ -86,11 +97,11 @@ export const Popup = props => {
|
|
|
86
97
|
}
|
|
87
98
|
}, [boundingRef]);
|
|
88
99
|
const handleClickOutside = useCallback(e => {
|
|
89
|
-
if (contentRef.current.contains(e.target)) {
|
|
100
|
+
if (contentRef.current.contains(e.target) || triggerRef.current.contains(e.target)) {
|
|
90
101
|
return;
|
|
91
102
|
}
|
|
92
103
|
setActive(false);
|
|
93
|
-
}, [contentRef]);
|
|
104
|
+
}, [contentRef, setActive]);
|
|
94
105
|
useEffect(() => {
|
|
95
106
|
setPosition({
|
|
96
107
|
horizontal: true
|
|
@@ -102,9 +113,6 @@ export const Popup = props => {
|
|
|
102
113
|
});
|
|
103
114
|
}, [intersectionEntry, setPosition, windowHeight]);
|
|
104
115
|
useEffect(() => {
|
|
105
|
-
if (typeof onToggleOpen === 'function') {
|
|
106
|
-
onToggleOpen(active);
|
|
107
|
-
}
|
|
108
116
|
if (active) {
|
|
109
117
|
document.addEventListener('mousedown', handleClickOutside);
|
|
110
118
|
} else {
|
|
@@ -116,17 +124,20 @@ export const Popup = props => {
|
|
|
116
124
|
}, [active, handleClickOutside, onToggleOpen]);
|
|
117
125
|
useEffect(() => {
|
|
118
126
|
setActive(forceOpen);
|
|
119
|
-
}, [forceOpen]);
|
|
127
|
+
}, [forceOpen, setActive]);
|
|
120
128
|
const classes = [baseClass, className, `${baseClass}--size-${size}`, buttonSize && `${baseClass}--button-size-${buttonSize}`, `${baseClass}--v-align-${verticalAlign}`, `${baseClass}--h-align-${horizontalAlign}`, active && `${baseClass}--active`, showScrollbar && `${baseClass}--show-scrollbar`].filter(Boolean).join(' ');
|
|
121
129
|
return /*#__PURE__*/_jsxs("div", {
|
|
122
130
|
className: classes,
|
|
123
131
|
id: id,
|
|
124
132
|
children: [/*#__PURE__*/_jsx("div", {
|
|
125
133
|
className: `${baseClass}__trigger-wrap`,
|
|
134
|
+
ref: triggerRef,
|
|
126
135
|
children: showOnHover ? /*#__PURE__*/_jsx("div", {
|
|
127
136
|
className: `${baseClass}__on-hover-watch`,
|
|
128
137
|
onMouseEnter: () => setActive(true),
|
|
129
138
|
onMouseLeave: () => setActive(false),
|
|
139
|
+
role: "button",
|
|
140
|
+
tabIndex: 0,
|
|
130
141
|
children: /*#__PURE__*/_jsx(PopupTrigger, {
|
|
131
142
|
active,
|
|
132
143
|
button,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["PopupList","useWindowInfo","React","useCallback","useEffect","useRef","useState","useIntersect","PopupTrigger","baseClass","Popup","props","id","boundingRef","button","buttonClassName","buttonSize","buttonType","caret","children","className","disabled","forceOpen","horizontalAlign","horizontalAlignFromProps","initActive","noBackground","onToggleOpen","render","showOnHover","showScrollbar","size","verticalAlign","verticalAlignFromProps","height","windowHeight","width","windowWidth","intersectionRef","intersectionEntry","root","current","rootMargin","threshold","contentRef","active","setActive","setVerticalAlign","setHorizontalAlign","setPosition","horizontal","vertical","bounds","getBoundingClientRect","bottom","contentBottomPos","left","contentLeftPos","right","contentRightPos","top","contentTopPos","boundingTopPos","boundingRightPos","document","documentElement","clientWidth","boundingBottomPos","clientHeight","boundingLeftPos","handleClickOutside","e","contains","target","addEventListener","removeEventListener","classes","filter","Boolean","join","_jsxs","_jsx","onMouseEnter","onMouseLeave","ref","close"],"sources":["../../../src/elements/Popup/index.tsx"],"sourcesContent":["'use client'\nimport type { CSSProperties } from 'react'\n\nexport * as PopupList from './PopupButtonList/index.js'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport { PopupTrigger } from './PopupTrigger/index.js'\nimport './index.scss'\n\nconst baseClass = 'popup'\n\nexport type PopupProps = {\n backgroundColor?: CSSProperties['backgroundColor']\n boundingRef?: React.RefObject<HTMLElement>\n button?: React.ReactNode\n buttonClassName?: string\n buttonSize?: 'large' | 'medium' | 'small'\n buttonType?: 'custom' | 'default' | 'none'\n caret?: boolean\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n forceOpen?: boolean\n horizontalAlign?: 'center' | 'left' | 'right'\n id?: string\n initActive?: boolean\n noBackground?: boolean\n onToggleOpen?: (active: boolean) => void\n render?: (any) => React.ReactNode\n showOnHover?: boolean\n showScrollbar?: boolean\n size?: 'fit-content' | 'large' | 'medium' | 'small'\n verticalAlign?: 'bottom' | 'top'\n}\n\nexport const Popup: React.FC<PopupProps> = (props) => {\n const {\n id,\n boundingRef,\n button,\n buttonClassName,\n buttonSize,\n buttonType = 'default',\n caret = true,\n children,\n className,\n disabled,\n forceOpen,\n horizontalAlign: horizontalAlignFromProps = 'left',\n initActive = false,\n noBackground,\n onToggleOpen,\n render,\n showOnHover = false,\n showScrollbar = false,\n size = 'medium',\n verticalAlign: verticalAlignFromProps = 'top',\n } = props\n const { height: windowHeight, width: windowWidth } = useWindowInfo()\n\n const [intersectionRef, intersectionEntry] = useIntersect({\n root: boundingRef?.current || null,\n rootMargin: '-100px 0px 0px 0px',\n threshold: 1,\n })\n\n const contentRef = useRef(null)\n const [active, setActive] = useState(initActive)\n const [verticalAlign, setVerticalAlign] = useState(verticalAlignFromProps)\n const [horizontalAlign, setHorizontalAlign] = useState(horizontalAlignFromProps)\n\n const setPosition = useCallback(\n ({ horizontal = false, vertical = false }) => {\n if (contentRef.current) {\n const bounds = contentRef.current.getBoundingClientRect()\n\n const {\n bottom: contentBottomPos,\n left: contentLeftPos,\n right: contentRightPos,\n top: contentTopPos,\n } = bounds\n\n let boundingTopPos = 100\n let boundingRightPos = document.documentElement.clientWidth\n let boundingBottomPos = document.documentElement.clientHeight\n let boundingLeftPos = 0\n\n if (boundingRef?.current) {\n ;({\n bottom: boundingBottomPos,\n left: boundingLeftPos,\n right: boundingRightPos,\n top: boundingTopPos,\n } = boundingRef.current.getBoundingClientRect())\n }\n\n if (horizontal) {\n if (contentRightPos > boundingRightPos && contentLeftPos > boundingLeftPos) {\n setHorizontalAlign('right')\n } else if (contentLeftPos < boundingLeftPos && contentRightPos < boundingRightPos) {\n setHorizontalAlign('left')\n }\n }\n\n if (vertical) {\n if (contentTopPos < boundingTopPos && contentBottomPos < boundingBottomPos) {\n setVerticalAlign('bottom')\n } else if (contentBottomPos > boundingBottomPos && contentTopPos > boundingTopPos) {\n setVerticalAlign('top')\n }\n }\n }\n },\n [boundingRef],\n )\n\n const handleClickOutside = useCallback(\n (e) => {\n if (contentRef.current.contains(e.target)) {\n return\n }\n\n setActive(false)\n },\n [contentRef],\n )\n\n useEffect(() => {\n setPosition({ horizontal: true })\n }, [intersectionEntry, setPosition, windowWidth])\n\n useEffect(() => {\n setPosition({ vertical: true })\n }, [intersectionEntry, setPosition, windowHeight])\n\n useEffect(() => {\n if (typeof onToggleOpen === 'function') {\n onToggleOpen(active)\n }\n\n if (active) {\n document.addEventListener('mousedown', handleClickOutside)\n } else {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [active, handleClickOutside, onToggleOpen])\n\n useEffect(() => {\n setActive(forceOpen)\n }, [forceOpen])\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--size-${size}`,\n buttonSize && `${baseClass}--button-size-${buttonSize}`,\n `${baseClass}--v-align-${verticalAlign}`,\n `${baseClass}--h-align-${horizontalAlign}`,\n active && `${baseClass}--active`,\n showScrollbar && `${baseClass}--show-scrollbar`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={classes} id={id}>\n <div className={`${baseClass}__trigger-wrap`}>\n {showOnHover ? (\n <div\n className={`${baseClass}__on-hover-watch`}\n onMouseEnter={() => setActive(true)}\n onMouseLeave={() => setActive(false)}\n >\n <PopupTrigger\n {...{\n active,\n button,\n buttonType,\n className: buttonClassName,\n disabled,\n noBackground,\n setActive,\n size: buttonSize,\n }}\n />\n </div>\n ) : (\n <PopupTrigger\n {...{\n active,\n button,\n buttonType,\n className: buttonClassName,\n disabled,\n noBackground,\n setActive,\n size: buttonSize,\n }}\n />\n )}\n </div>\n\n <div className={`${baseClass}__content`} ref={contentRef}>\n <div className={`${baseClass}__hide-scrollbar`} ref={intersectionRef}>\n <div className={`${baseClass}__scroll-container`}>\n <div className={`${baseClass}__scroll-content`}>\n {render && render({ close: () => setActive(false) })}\n {children}\n </div>\n </div>\n </div>\n\n {caret && <div className={`${baseClass}__caret`} />}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["PopupList","useWindowInfo","React","useCallback","useEffect","useRef","useState","useIntersect","PopupTrigger","baseClass","Popup","props","id","boundingRef","button","buttonClassName","buttonSize","buttonType","caret","children","className","disabled","forceOpen","horizontalAlign","horizontalAlignFromProps","initActive","noBackground","onToggleClose","onToggleOpen","render","showOnHover","showScrollbar","size","verticalAlign","verticalAlignFromProps","height","windowHeight","width","windowWidth","intersectionRef","intersectionEntry","root","current","rootMargin","threshold","contentRef","triggerRef","active","setActive_Internal","setVerticalAlign","setHorizontalAlign","setActive","setPosition","horizontal","vertical","bounds","getBoundingClientRect","bottom","contentBottomPos","left","contentLeftPos","right","contentRightPos","top","contentTopPos","boundingTopPos","boundingRightPos","document","documentElement","clientWidth","boundingBottomPos","clientHeight","boundingLeftPos","handleClickOutside","e","contains","target","addEventListener","removeEventListener","classes","filter","Boolean","join","_jsxs","_jsx","ref","onMouseEnter","onMouseLeave","role","tabIndex","close"],"sources":["../../../src/elements/Popup/index.tsx"],"sourcesContent":["'use client'\nimport type { CSSProperties } from 'react'\n\nexport * as PopupList from './PopupButtonList/index.js'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport { PopupTrigger } from './PopupTrigger/index.js'\nimport './index.scss'\n\nconst baseClass = 'popup'\n\nexport type PopupProps = {\n backgroundColor?: CSSProperties['backgroundColor']\n boundingRef?: React.RefObject<HTMLElement>\n button?: React.ReactNode\n buttonClassName?: string\n buttonSize?: 'large' | 'medium' | 'small'\n buttonType?: 'custom' | 'default' | 'none'\n caret?: boolean\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n forceOpen?: boolean\n horizontalAlign?: 'center' | 'left' | 'right'\n id?: string\n initActive?: boolean\n noBackground?: boolean\n onToggleClose?: () => void\n onToggleOpen?: (active: boolean) => void\n render?: (any) => React.ReactNode\n showOnHover?: boolean\n showScrollbar?: boolean\n size?: 'fit-content' | 'large' | 'medium' | 'small'\n verticalAlign?: 'bottom' | 'top'\n}\n\nexport const Popup: React.FC<PopupProps> = (props) => {\n const {\n id,\n boundingRef,\n button,\n buttonClassName,\n buttonSize,\n buttonType = 'default',\n caret = true,\n children,\n className,\n disabled,\n forceOpen,\n horizontalAlign: horizontalAlignFromProps = 'left',\n initActive = false,\n noBackground,\n onToggleClose,\n onToggleOpen,\n render,\n showOnHover = false,\n showScrollbar = false,\n size = 'medium',\n verticalAlign: verticalAlignFromProps = 'top',\n } = props\n const { height: windowHeight, width: windowWidth } = useWindowInfo()\n\n const [intersectionRef, intersectionEntry] = useIntersect({\n root: boundingRef?.current || null,\n rootMargin: '-100px 0px 0px 0px',\n threshold: 1,\n })\n\n const contentRef = useRef(null)\n const triggerRef = useRef(null)\n const [active, setActive_Internal] = useState(initActive)\n const [verticalAlign, setVerticalAlign] = useState(verticalAlignFromProps)\n const [horizontalAlign, setHorizontalAlign] = useState(horizontalAlignFromProps)\n\n const setActive = React.useCallback(\n (active: boolean) => {\n if (active && typeof onToggleOpen === 'function') {\n onToggleOpen(true)\n }\n if (!active && typeof onToggleClose === 'function') {\n onToggleClose()\n }\n setActive_Internal(active)\n },\n [onToggleClose, onToggleOpen],\n )\n\n const setPosition = useCallback(\n ({ horizontal = false, vertical = false }) => {\n if (contentRef.current) {\n const bounds = contentRef.current.getBoundingClientRect()\n\n const {\n bottom: contentBottomPos,\n left: contentLeftPos,\n right: contentRightPos,\n top: contentTopPos,\n } = bounds\n\n let boundingTopPos = 100\n let boundingRightPos = document.documentElement.clientWidth\n let boundingBottomPos = document.documentElement.clientHeight\n let boundingLeftPos = 0\n\n if (boundingRef?.current) {\n ;({\n bottom: boundingBottomPos,\n left: boundingLeftPos,\n right: boundingRightPos,\n top: boundingTopPos,\n } = boundingRef.current.getBoundingClientRect())\n }\n\n if (horizontal) {\n if (contentRightPos > boundingRightPos && contentLeftPos > boundingLeftPos) {\n setHorizontalAlign('right')\n } else if (contentLeftPos < boundingLeftPos && contentRightPos < boundingRightPos) {\n setHorizontalAlign('left')\n }\n }\n\n if (vertical) {\n if (contentTopPos < boundingTopPos && contentBottomPos < boundingBottomPos) {\n setVerticalAlign('bottom')\n } else if (contentBottomPos > boundingBottomPos && contentTopPos > boundingTopPos) {\n setVerticalAlign('top')\n }\n }\n }\n },\n [boundingRef],\n )\n\n const handleClickOutside = useCallback(\n (e) => {\n if (contentRef.current.contains(e.target) || triggerRef.current.contains(e.target)) {\n return\n }\n\n setActive(false)\n },\n [contentRef, setActive],\n )\n\n useEffect(() => {\n setPosition({ horizontal: true })\n }, [intersectionEntry, setPosition, windowWidth])\n\n useEffect(() => {\n setPosition({ vertical: true })\n }, [intersectionEntry, setPosition, windowHeight])\n\n useEffect(() => {\n if (active) {\n document.addEventListener('mousedown', handleClickOutside)\n } else {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [active, handleClickOutside, onToggleOpen])\n\n useEffect(() => {\n setActive(forceOpen)\n }, [forceOpen, setActive])\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--size-${size}`,\n buttonSize && `${baseClass}--button-size-${buttonSize}`,\n `${baseClass}--v-align-${verticalAlign}`,\n `${baseClass}--h-align-${horizontalAlign}`,\n active && `${baseClass}--active`,\n showScrollbar && `${baseClass}--show-scrollbar`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={classes} id={id}>\n <div className={`${baseClass}__trigger-wrap`} ref={triggerRef}>\n {showOnHover ? (\n <div\n className={`${baseClass}__on-hover-watch`}\n onMouseEnter={() => setActive(true)}\n onMouseLeave={() => setActive(false)}\n role=\"button\"\n tabIndex={0}\n >\n <PopupTrigger\n {...{\n active,\n button,\n buttonType,\n className: buttonClassName,\n disabled,\n noBackground,\n setActive,\n size: buttonSize,\n }}\n />\n </div>\n ) : (\n <PopupTrigger\n {...{\n active,\n button,\n buttonType,\n className: buttonClassName,\n disabled,\n noBackground,\n setActive,\n size: buttonSize,\n }}\n />\n )}\n </div>\n\n <div className={`${baseClass}__content`} ref={contentRef}>\n <div className={`${baseClass}__hide-scrollbar`} ref={intersectionRef}>\n <div className={`${baseClass}__scroll-container`}>\n <div className={`${baseClass}__scroll-content`}>\n {render && render({ close: () => setActive(false) })}\n {children}\n </div>\n </div>\n </div>\n\n {caret && <div className={`${baseClass}__caret`} />}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PublishManyProps } from './index.js';
|
|
3
|
+
type PublishManyDrawerContentProps = {
|
|
4
|
+
drawerSlug: string;
|
|
5
|
+
ids: (number | string)[];
|
|
6
|
+
selectAll: boolean;
|
|
7
|
+
} & PublishManyProps;
|
|
8
|
+
export declare function PublishManyDrawerContent(props: PublishManyDrawerContentProps): React.JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=DrawerContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/DrawerContent.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAUlD,KAAK,6BAA6B,GAAG;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;CACnB,GAAG,gBAAgB,CAAA;AACpB,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,qBA0J5E"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { getTranslation } from '@payloadcms/translations';
|
|
3
|
+
import { useRouter, useSearchParams } from 'next/navigation.js';
|
|
4
|
+
import { combineWhereConstraints, mergeListSearchAndWhere } from 'payload/shared';
|
|
5
|
+
import * as qs from 'qs-esm';
|
|
6
|
+
import React, { useCallback } from 'react';
|
|
7
|
+
import { toast } from 'sonner';
|
|
8
|
+
import { useConfig } from '../../providers/Config/index.js';
|
|
9
|
+
import { useLocale } from '../../providers/Locale/index.js';
|
|
10
|
+
import { useRouteCache } from '../../providers/RouteCache/index.js';
|
|
11
|
+
import { useTranslation } from '../../providers/Translation/index.js';
|
|
12
|
+
import { requests } from '../../utilities/api.js';
|
|
13
|
+
import { parseSearchParams } from '../../utilities/parseSearchParams.js';
|
|
14
|
+
import { ConfirmationModal } from '../ConfirmationModal/index.js';
|
|
15
|
+
export function PublishManyDrawerContent(props) {
|
|
16
|
+
const {
|
|
17
|
+
collection,
|
|
18
|
+
collection: {
|
|
19
|
+
slug,
|
|
20
|
+
labels: {
|
|
21
|
+
plural,
|
|
22
|
+
singular
|
|
23
|
+
}
|
|
24
|
+
} = {},
|
|
25
|
+
drawerSlug,
|
|
26
|
+
ids,
|
|
27
|
+
selectAll
|
|
28
|
+
} = props;
|
|
29
|
+
const {
|
|
30
|
+
clearRouteCache
|
|
31
|
+
} = useRouteCache();
|
|
32
|
+
const {
|
|
33
|
+
config: {
|
|
34
|
+
routes: {
|
|
35
|
+
api
|
|
36
|
+
},
|
|
37
|
+
serverURL
|
|
38
|
+
}
|
|
39
|
+
} = useConfig();
|
|
40
|
+
const {
|
|
41
|
+
code: locale
|
|
42
|
+
} = useLocale();
|
|
43
|
+
const router = useRouter();
|
|
44
|
+
const searchParams = useSearchParams();
|
|
45
|
+
const {
|
|
46
|
+
i18n,
|
|
47
|
+
t
|
|
48
|
+
} = useTranslation();
|
|
49
|
+
const addDefaultError = useCallback(() => {
|
|
50
|
+
toast.error(t('error:unknown'));
|
|
51
|
+
}, [t]);
|
|
52
|
+
const queryString = React.useMemo(() => {
|
|
53
|
+
const whereConstraints = [{
|
|
54
|
+
_status: {
|
|
55
|
+
not_equals: 'published'
|
|
56
|
+
}
|
|
57
|
+
}];
|
|
58
|
+
const queryWithSearch = mergeListSearchAndWhere({
|
|
59
|
+
collectionConfig: collection,
|
|
60
|
+
search: searchParams.get('search')
|
|
61
|
+
});
|
|
62
|
+
if (queryWithSearch) {
|
|
63
|
+
whereConstraints.push(queryWithSearch);
|
|
64
|
+
}
|
|
65
|
+
if (selectAll) {
|
|
66
|
+
// Match the current filter/search, or default to all docs
|
|
67
|
+
whereConstraints.push(parseSearchParams(searchParams)?.where || {
|
|
68
|
+
id: {
|
|
69
|
+
exists: true
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
} else {
|
|
73
|
+
// If we're not selecting all, we need to select specific docs
|
|
74
|
+
whereConstraints.push({
|
|
75
|
+
id: {
|
|
76
|
+
in: ids || []
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return qs.stringify({
|
|
81
|
+
locale,
|
|
82
|
+
where: combineWhereConstraints(whereConstraints)
|
|
83
|
+
}, {
|
|
84
|
+
addQueryPrefix: true
|
|
85
|
+
});
|
|
86
|
+
}, [collection, searchParams, selectAll, ids, locale]);
|
|
87
|
+
const handlePublish = useCallback(async () => {
|
|
88
|
+
await requests.patch(`${serverURL}${api}/${slug}${queryString}&draft=true`, {
|
|
89
|
+
body: JSON.stringify({
|
|
90
|
+
_status: 'published'
|
|
91
|
+
}),
|
|
92
|
+
headers: {
|
|
93
|
+
'Accept-Language': i18n.language,
|
|
94
|
+
'Content-Type': 'application/json'
|
|
95
|
+
}
|
|
96
|
+
}).then(async res => {
|
|
97
|
+
try {
|
|
98
|
+
const json = await res.json();
|
|
99
|
+
const deletedDocs = json?.docs.length || 0;
|
|
100
|
+
const successLabel = deletedDocs > 1 ? plural : singular;
|
|
101
|
+
if (res.status < 400 || deletedDocs > 0) {
|
|
102
|
+
toast.success(t('general:updatedCountSuccessfully', {
|
|
103
|
+
count: deletedDocs,
|
|
104
|
+
label: getTranslation(successLabel, i18n)
|
|
105
|
+
}));
|
|
106
|
+
if (json?.errors.length > 0) {
|
|
107
|
+
toast.error(json.message, {
|
|
108
|
+
description: json.errors.map(error => error.message).join('\n')
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
router.replace(qs.stringify({
|
|
112
|
+
...parseSearchParams(searchParams),
|
|
113
|
+
page: selectAll ? '1' : undefined
|
|
114
|
+
}, {
|
|
115
|
+
addQueryPrefix: true
|
|
116
|
+
}));
|
|
117
|
+
clearRouteCache();
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
if (json.errors) {
|
|
121
|
+
json.errors.forEach(error => toast.error(error.message));
|
|
122
|
+
} else {
|
|
123
|
+
addDefaultError();
|
|
124
|
+
}
|
|
125
|
+
return false;
|
|
126
|
+
} catch (_err) {
|
|
127
|
+
return addDefaultError();
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}, [serverURL, api, slug, queryString, i18n, plural, singular, t, router, searchParams, selectAll, clearRouteCache, addDefaultError]);
|
|
131
|
+
return /*#__PURE__*/_jsx(ConfirmationModal, {
|
|
132
|
+
body: t('version:aboutToPublishSelection', {
|
|
133
|
+
label: getTranslation(plural, i18n)
|
|
134
|
+
}),
|
|
135
|
+
cancelLabel: t('general:cancel'),
|
|
136
|
+
confirmingLabel: t('version:publishing'),
|
|
137
|
+
confirmLabel: t('general:confirm'),
|
|
138
|
+
heading: t('version:confirmPublish'),
|
|
139
|
+
modalSlug: drawerSlug,
|
|
140
|
+
onConfirm: handlePublish
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=DrawerContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawerContent.js","names":["getTranslation","useRouter","useSearchParams","combineWhereConstraints","mergeListSearchAndWhere","qs","React","useCallback","toast","useConfig","useLocale","useRouteCache","useTranslation","requests","parseSearchParams","ConfirmationModal","PublishManyDrawerContent","props","collection","slug","labels","plural","singular","drawerSlug","ids","selectAll","clearRouteCache","config","routes","api","serverURL","code","locale","router","searchParams","i18n","t","addDefaultError","error","queryString","useMemo","whereConstraints","_status","not_equals","queryWithSearch","collectionConfig","search","get","push","where","id","exists","in","stringify","addQueryPrefix","handlePublish","patch","body","JSON","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","page","undefined","forEach","_err","_jsx","cancelLabel","confirmingLabel","confirmLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/PublishMany/DrawerContent.tsx"],"sourcesContent":["import type { Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { combineWhereConstraints, mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport type { PublishManyProps } from './index.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\n\ntype PublishManyDrawerContentProps = {\n drawerSlug: string\n ids: (number | string)[]\n selectAll: boolean\n} & PublishManyProps\nexport function PublishManyDrawerContent(props: PublishManyDrawerContentProps) {\n const {\n collection,\n collection: { slug, labels: { plural, singular } } = {},\n drawerSlug,\n ids,\n selectAll,\n } = props\n\n const { clearRouteCache } = useRouteCache()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { code: locale } = useLocale()\n\n const router = useRouter()\n const searchParams = useSearchParams()\n const { i18n, t } = useTranslation()\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const queryString = React.useMemo((): string => {\n const whereConstraints: Where[] = [\n {\n _status: {\n not_equals: 'published',\n },\n },\n ]\n\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n if (queryWithSearch) {\n whereConstraints.push(queryWithSearch)\n }\n\n if (selectAll) {\n // Match the current filter/search, or default to all docs\n whereConstraints.push(\n (parseSearchParams(searchParams)?.where as Where) || {\n id: {\n exists: true,\n },\n },\n )\n } else {\n // If we're not selecting all, we need to select specific docs\n whereConstraints.push({\n id: {\n in: ids || [],\n },\n })\n }\n\n return qs.stringify(\n {\n locale,\n where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [collection, searchParams, selectAll, ids, locale])\n\n const handlePublish = useCallback(async () => {\n await requests\n .patch(`${serverURL}${api}/${slug}${queryString}&draft=true`, {\n body: JSON.stringify({\n _status: 'published',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n\n const deletedDocs = json?.docs.length || 0\n const successLabel = deletedDocs > 1 ? plural : singular\n\n if (res.status < 400 || deletedDocs > 0) {\n toast.success(\n t('general:updatedCountSuccessfully', {\n count: deletedDocs,\n label: getTranslation(successLabel, i18n),\n }),\n )\n\n if (json?.errors.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((error) => error.message).join('\\n'),\n })\n }\n\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n\n clearRouteCache()\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (_err) {\n return addDefaultError()\n }\n })\n }, [\n serverURL,\n api,\n slug,\n queryString,\n i18n,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\n ])\n\n return (\n <ConfirmationModal\n body={t('version:aboutToPublishSelection', { label: getTranslation(plural, i18n) })}\n cancelLabel={t('general:cancel')}\n confirmingLabel={t('version:publishing')}\n confirmLabel={t('general:confirm')}\n heading={t('version:confirmPublish')}\n modalSlug={drawerSlug}\n onConfirm={handlePublish}\n />\n )\n}\n"],"mappings":";AAEA,SAASA,cAAc,QAAQ;AAC/B,SAASC,SAAS,EAAEC,eAAe,QAAQ;AAC3C,SAASC,uBAAuB,EAAEC,uBAAuB,QAAQ;AACjE,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,WAAW,QAAQ;AACnC,SAASC,KAAK,QAAQ;AAItB,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,iBAAiB,QAAQ;AAOlC,OAAO,SAASC,yBAAyBC,KAAoC;EAC3E,MAAM;IACJC,UAAU;IACVA,UAAA,EAAY;MAAEC,IAAI;MAAEC,MAAA,EAAQ;QAAEC,MAAM;QAAEC;MAAQ;IAAE,CAAE,GAAG,CAAC,CAAC;IACvDC,UAAU;IACVC,GAAG;IACHC;EAAS,CACV,GAAGR,KAAA;EAEJ,MAAM;IAAES;EAAe,CAAE,GAAGf,aAAA;EAC5B,MAAM;IACJgB,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC;MAAG,CAAE;MACfC;IAAS;EACV,CACF,GAAGrB,SAAA;EACJ,MAAM;IAAEsB,IAAA,EAAMC;EAAM,CAAE,GAAGtB,SAAA;EAEzB,MAAMuB,MAAA,GAAShC,SAAA;EACf,MAAMiC,YAAA,GAAehC,eAAA;EACrB,MAAM;IAAEiC,IAAI;IAAEC;EAAC,CAAE,GAAGxB,cAAA;EAEpB,MAAMyB,eAAA,GAAkB9B,WAAA,CAAY;IAClCC,KAAA,CAAM8B,KAAK,CAACF,CAAA,CAAE;EAChB,GAAG,CAACA,CAAA,CAAE;EAEN,MAAMG,WAAA,GAAcjC,KAAA,CAAMkC,OAAO,CAAC;IAChC,MAAMC,gBAAA,GAA4B,CAChC;MACEC,OAAA,EAAS;QACPC,UAAA,EAAY;MACd;IACF,EACD;IAED,MAAMC,eAAA,GAAkBxC,uBAAA,CAAwB;MAC9CyC,gBAAA,EAAkB3B,UAAA;MAClB4B,MAAA,EAAQZ,YAAA,CAAaa,GAAG,CAAC;IAC3B;IAEA,IAAIH,eAAA,EAAiB;MACnBH,gBAAA,CAAiBO,IAAI,CAACJ,eAAA;IACxB;IAEA,IAAInB,SAAA,EAAW;MACb;MACAgB,gBAAA,CAAiBO,IAAI,CACnBlC,iBAAC,CAAkBoB,YAAA,GAAee,KAAA,IAAmB;QACnDC,EAAA,EAAI;UACFC,MAAA,EAAQ;QACV;MACF;IAEJ,OAAO;MACL;MACAV,gBAAA,CAAiBO,IAAI,CAAC;QACpBE,EAAA,EAAI;UACFE,EAAA,EAAI5B,GAAA,IAAO;QACb;MACF;IACF;IAEA,OAAOnB,EAAA,CAAGgD,SAAS,CACjB;MACErB,MAAA;MACAiB,KAAA,EAAO9C,uBAAA,CAAwBsC,gBAAA;IACjC,GACA;MAAEa,cAAA,EAAgB;IAAK;EAE3B,GAAG,CAACpC,UAAA,EAAYgB,YAAA,EAAcT,SAAA,EAAWD,GAAA,EAAKQ,MAAA,CAAO;EAErD,MAAMuB,aAAA,GAAgBhD,WAAA,CAAY;IAChC,MAAMM,QAAA,CACH2C,KAAK,CAAC,GAAG1B,SAAA,GAAYD,GAAA,IAAOV,IAAA,GAAOoB,WAAA,aAAwB,EAAE;MAC5DkB,IAAA,EAAMC,IAAA,CAAKL,SAAS,CAAC;QACnBX,OAAA,EAAS;MACX;MACAiB,OAAA,EAAS;QACP,mBAAmBxB,IAAA,CAAKyB,QAAQ;QAChC,gBAAgB;MAClB;IACF,GACCC,IAAI,CAAC,MAAOC,GAAA;MACX,IAAI;QACF,MAAMC,IAAA,GAAO,MAAMD,GAAA,CAAIC,IAAI;QAE3B,MAAMC,WAAA,GAAcD,IAAA,EAAME,IAAA,CAAKC,MAAA,IAAU;QACzC,MAAMC,YAAA,GAAeH,WAAA,GAAc,IAAI3C,MAAA,GAASC,QAAA;QAEhD,IAAIwC,GAAA,CAAIM,MAAM,GAAG,OAAOJ,WAAA,GAAc,GAAG;UACvCxD,KAAA,CAAM6D,OAAO,CACXjC,CAAA,CAAE,oCAAoC;YACpCkC,KAAA,EAAON,WAAA;YACPO,KAAA,EAAOvE,cAAA,CAAemE,YAAA,EAAchC,IAAA;UACtC;UAGF,IAAI4B,IAAA,EAAMS,MAAA,CAAON,MAAA,GAAS,GAAG;YAC3B1D,KAAA,CAAM8B,KAAK,CAACyB,IAAA,CAAKU,OAAO,EAAE;cACxBC,WAAA,EAAaX,IAAA,CAAKS,MAAM,CAACG,GAAG,CAAErC,KAAA,IAAUA,KAAA,CAAMmC,OAAO,EAAEG,IAAI,CAAC;YAC9D;UACF;UAEA3C,MAAA,CAAO4C,OAAO,CACZxE,EAAA,CAAGgD,SAAS,CACV;YACE,GAAGvC,iBAAA,CAAkBoB,YAAA,CAAa;YAClC4C,IAAA,EAAMrD,SAAA,GAAY,MAAMsD;UAC1B,GACA;YAAEzB,cAAA,EAAgB;UAAK;UAI3B5B,eAAA;UACA,OAAO;QACT;QAEA,IAAIqC,IAAA,CAAKS,MAAM,EAAE;UACfT,IAAA,CAAKS,MAAM,CAACQ,OAAO,CAAE1C,KAAA,IAAU9B,KAAA,CAAM8B,KAAK,CAACA,KAAA,CAAMmC,OAAO;QAC1D,OAAO;UACLpC,eAAA;QACF;QACA,OAAO;MACT,EAAE,OAAO4C,IAAA,EAAM;QACb,OAAO5C,eAAA;MACT;IACF;EACJ,GAAG,CACDP,SAAA,EACAD,GAAA,EACAV,IAAA,EACAoB,WAAA,EACAJ,IAAA,EACAd,MAAA,EACAC,QAAA,EACAc,CAAA,EACAH,MAAA,EACAC,YAAA,EACAT,SAAA,EACAC,eAAA,EACAW,eAAA,CACD;EAED,oBACE6C,IAAA,CAACnE,iBAAA;IACC0C,IAAA,EAAMrB,CAAA,CAAE,mCAAmC;MAAEmC,KAAA,EAAOvE,cAAA,CAAeqB,MAAA,EAAQc,IAAA;IAAM;IACjFgD,WAAA,EAAa/C,CAAA,CAAE;IACfgD,eAAA,EAAiBhD,CAAA,CAAE;IACnBiD,YAAA,EAAcjD,CAAA,CAAE;IAChBkD,OAAA,EAASlD,CAAA,CAAE;IACXmD,SAAA,EAAWhE,UAAA;IACXiE,SAAA,EAAWjC;;AAGjB","ignoreList":[]}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import type { ClientCollectionConfig } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import './index.scss';
|
|
4
3
|
export type PublishManyProps = {
|
|
5
4
|
collection: ClientCollectionConfig;
|
|
6
5
|
};
|
|
7
6
|
export declare const PublishMany: React.FC<PublishManyProps>;
|
|
7
|
+
type PublishMany_v4Props = {
|
|
8
|
+
count: number;
|
|
9
|
+
ids: (number | string)[];
|
|
10
|
+
selectAll: boolean;
|
|
11
|
+
} & PublishManyProps;
|
|
12
|
+
export declare const PublishMany_v4: React.FC<PublishMany_v4Props>;
|
|
13
|
+
export {};
|
|
8
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAGrD,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAWlD,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;CACnB,GAAG,gBAAgB,CAAA;AACpB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAmCxD,CAAA"}
|
|
@@ -1,137 +1,102 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
3
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
5
|
import { useModal } from '@faceless-ui/modal';
|
|
5
|
-
import
|
|
6
|
-
import { useRouter, useSearchParams } from 'next/navigation.js';
|
|
7
|
-
import * as qs from 'qs-esm';
|
|
8
|
-
import React, { useCallback } from 'react';
|
|
9
|
-
import { toast } from 'sonner';
|
|
6
|
+
import React from 'react';
|
|
10
7
|
import { useAuth } from '../../providers/Auth/index.js';
|
|
11
|
-
import { useConfig } from '../../providers/Config/index.js';
|
|
12
|
-
import { useRouteCache } from '../../providers/RouteCache/index.js';
|
|
13
8
|
import { SelectAllStatus, useSelection } from '../../providers/Selection/index.js';
|
|
14
9
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import { ConfirmationModal } from '../ConfirmationModal/index.js';
|
|
18
|
-
import './index.scss';
|
|
19
|
-
const baseClass = 'publish-many';
|
|
10
|
+
import { ListSelectionButton } from '../ListSelection/index.js';
|
|
11
|
+
import { PublishManyDrawerContent } from './DrawerContent.js';
|
|
20
12
|
export const PublishMany = props => {
|
|
13
|
+
const $ = _c(5);
|
|
21
14
|
const {
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
count,
|
|
16
|
+
selectAll,
|
|
17
|
+
selected
|
|
18
|
+
} = useSelection();
|
|
19
|
+
let t0;
|
|
20
|
+
if ($[0] !== count || $[1] !== props || $[2] !== selectAll || $[3] !== selected) {
|
|
21
|
+
t0 = _jsx(PublishMany_v4, {
|
|
22
|
+
...props,
|
|
23
|
+
count,
|
|
24
|
+
ids: Array.from(selected.keys()),
|
|
25
|
+
selectAll: selectAll === SelectAllStatus.AllAvailable
|
|
26
|
+
});
|
|
27
|
+
$[0] = count;
|
|
28
|
+
$[1] = props;
|
|
29
|
+
$[2] = selectAll;
|
|
30
|
+
$[3] = selected;
|
|
31
|
+
$[4] = t0;
|
|
32
|
+
} else {
|
|
33
|
+
t0 = $[4];
|
|
34
|
+
}
|
|
35
|
+
return t0;
|
|
36
|
+
};
|
|
37
|
+
export const PublishMany_v4 = props => {
|
|
38
|
+
const $ = _c(10);
|
|
24
39
|
const {
|
|
25
|
-
collection
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
},
|
|
31
|
-
versions
|
|
32
|
-
} = {}
|
|
40
|
+
collection,
|
|
41
|
+
collection: t0,
|
|
42
|
+
count,
|
|
43
|
+
ids,
|
|
44
|
+
selectAll
|
|
33
45
|
} = props;
|
|
34
46
|
const {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
},
|
|
39
|
-
serverURL
|
|
40
|
-
}
|
|
41
|
-
} = useConfig();
|
|
47
|
+
slug,
|
|
48
|
+
versions
|
|
49
|
+
} = t0 === undefined ? {} : t0;
|
|
42
50
|
const {
|
|
43
51
|
permissions
|
|
44
52
|
} = useAuth();
|
|
45
53
|
const {
|
|
46
|
-
i18n,
|
|
47
54
|
t
|
|
48
55
|
} = useTranslation();
|
|
49
|
-
const {
|
|
50
|
-
getQueryParams,
|
|
51
|
-
selectAll
|
|
52
|
-
} = useSelection();
|
|
53
|
-
const router = useRouter();
|
|
54
|
-
const searchParams = useSearchParams();
|
|
55
56
|
const {
|
|
56
57
|
openModal
|
|
57
58
|
} = useModal();
|
|
58
59
|
const collectionPermissions = permissions?.collections?.[slug];
|
|
59
60
|
const hasPermission = collectionPermissions?.update;
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
toast.error(t('error:unknown'));
|
|
63
|
-
}, [t]);
|
|
64
|
-
const handlePublish = useCallback(async () => {
|
|
65
|
-
await requests.patch(`${serverURL}${api}/${slug}${getQueryParams({
|
|
66
|
-
_status: {
|
|
67
|
-
not_equals: 'published'
|
|
68
|
-
}
|
|
69
|
-
})}&draft=true`, {
|
|
70
|
-
body: JSON.stringify({
|
|
71
|
-
_status: 'published'
|
|
72
|
-
}),
|
|
73
|
-
headers: {
|
|
74
|
-
'Accept-Language': i18n.language,
|
|
75
|
-
'Content-Type': 'application/json'
|
|
76
|
-
}
|
|
77
|
-
}).then(async res => {
|
|
78
|
-
try {
|
|
79
|
-
const json = await res.json();
|
|
80
|
-
const deletedDocs = json?.docs.length || 0;
|
|
81
|
-
const successLabel = deletedDocs > 1 ? plural : singular;
|
|
82
|
-
if (res.status < 400 || deletedDocs > 0) {
|
|
83
|
-
toast.success(t('general:updatedCountSuccessfully', {
|
|
84
|
-
count: deletedDocs,
|
|
85
|
-
label: getTranslation(successLabel, i18n)
|
|
86
|
-
}));
|
|
87
|
-
if (json?.errors.length > 0) {
|
|
88
|
-
toast.error(json.message, {
|
|
89
|
-
description: json.errors.map(error => error.message).join('\n')
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
router.replace(qs.stringify({
|
|
93
|
-
...parseSearchParams(searchParams),
|
|
94
|
-
page: selectAll ? '1' : undefined
|
|
95
|
-
}, {
|
|
96
|
-
addQueryPrefix: true
|
|
97
|
-
}));
|
|
98
|
-
clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this
|
|
99
|
-
;
|
|
100
|
-
return null;
|
|
101
|
-
}
|
|
102
|
-
if (json.errors) {
|
|
103
|
-
json.errors.forEach(error_0 => toast.error(error_0.message));
|
|
104
|
-
} else {
|
|
105
|
-
addDefaultError();
|
|
106
|
-
}
|
|
107
|
-
return false;
|
|
108
|
-
} catch (_err) {
|
|
109
|
-
return addDefaultError();
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
}, [serverURL, api, slug, getQueryParams, i18n, plural, singular, t, router, searchParams, selectAll, clearRouteCache, addDefaultError]);
|
|
113
|
-
if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {
|
|
61
|
+
const drawerSlug = `publish-${slug}`;
|
|
62
|
+
if (!versions?.drafts || count === 0 || !hasPermission) {
|
|
114
63
|
return null;
|
|
115
64
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
65
|
+
let t1;
|
|
66
|
+
if ($[0] !== collection || $[1] !== drawerSlug || $[2] !== ids || $[3] !== openModal || $[4] !== selectAll || $[5] !== t) {
|
|
67
|
+
let t2;
|
|
68
|
+
if ($[7] !== drawerSlug || $[8] !== openModal) {
|
|
69
|
+
t2 = () => {
|
|
70
|
+
openModal(drawerSlug);
|
|
71
|
+
};
|
|
72
|
+
$[7] = drawerSlug;
|
|
73
|
+
$[8] = openModal;
|
|
74
|
+
$[9] = t2;
|
|
75
|
+
} else {
|
|
76
|
+
t2 = $[9];
|
|
77
|
+
}
|
|
78
|
+
t1 = _jsxs(React.Fragment, {
|
|
79
|
+
children: [_jsx(ListSelectionButton, {
|
|
80
|
+
"aria-label": t("version:publish"),
|
|
81
|
+
onClick: t2,
|
|
82
|
+
children: t("version:publish")
|
|
83
|
+
}), _jsx(PublishManyDrawerContent, {
|
|
84
|
+
collection,
|
|
85
|
+
drawerSlug,
|
|
86
|
+
ids,
|
|
87
|
+
selectAll
|
|
88
|
+
})]
|
|
89
|
+
});
|
|
90
|
+
$[0] = collection;
|
|
91
|
+
$[1] = drawerSlug;
|
|
92
|
+
$[2] = ids;
|
|
93
|
+
$[3] = openModal;
|
|
94
|
+
$[4] = selectAll;
|
|
95
|
+
$[5] = t;
|
|
96
|
+
$[6] = t1;
|
|
97
|
+
} else {
|
|
98
|
+
t1 = $[6];
|
|
99
|
+
}
|
|
100
|
+
return t1;
|
|
136
101
|
};
|
|
137
102
|
//# sourceMappingURL=index.js.map
|