@payloadcms/ui 4.0.0-internal.fa183d3 → 4.0.0-internal.fec2230
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/css/app.css +121 -0
- package/dist/css/forms.css +0 -6
- package/dist/css/spacing.css +11 -3
- package/dist/css/z-index.css +1 -0
- package/dist/elements/AddNewRelation/index.css +0 -1
- package/dist/elements/AppHeader/index.css +1 -3
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +6 -2
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.d.ts +3 -0
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +83 -29
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +2 -3
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
- package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.css +4 -0
- package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
- package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/createFormData.js +4 -15
- package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +3 -4
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/Button/index.css +2 -2
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +2 -0
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
- package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +120 -0
- package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +1 -0
- package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/index.js +17 -1
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +144 -0
- package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +1 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
- package/dist/elements/ClipboardAction/types.d.ts +3 -0
- package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/types.js.map +1 -1
- package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
- package/dist/elements/CodeEditor/index.css +0 -5
- package/dist/elements/CommandPalette/index.css +0 -7
- package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +8 -9
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.d.ts +1 -0
- package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +10 -8
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
- package/dist/elements/CreateDocumentButton/index.js +4 -1
- package/dist/elements/CreateDocumentButton/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +1 -0
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.css +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +16 -1
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +2 -3
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/Drawer/index.css +10 -4
- package/dist/elements/Dropzone/index.css +10 -4
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +2 -3
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +4 -5
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
- package/dist/elements/FileManager/FilePreview/index.css +3 -3
- package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
- package/dist/elements/FileManager/FileToolbar/index.js +3 -0
- package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
- package/dist/elements/FileManager/index.css +35 -52
- package/dist/elements/FileManager/index.d.ts +1 -1
- package/dist/elements/FileManager/index.d.ts.map +1 -1
- package/dist/elements/FileManager/index.js +385 -282
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +0 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +2 -3
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js +2 -3
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.css +0 -1
- package/dist/elements/IDLabel/index.css +6 -0
- package/dist/elements/IDLabel/index.d.ts +1 -1
- package/dist/elements/IDLabel/index.d.ts.map +1 -1
- package/dist/elements/IDLabel/index.js +16 -21
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/InputStepper/index.css +0 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +2 -3
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +1 -1
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +1 -1
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.css +0 -8
- package/dist/elements/Locked/index.d.ts.map +1 -1
- package/dist/elements/Locked/index.js +70 -64
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/MiniCarousel/index.css +39 -37
- package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
- package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.css +0 -5
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
- package/dist/elements/NavGroup/index.css +0 -1
- package/dist/elements/Popup/PopupButtonList/index.css +1 -1
- package/dist/elements/Popup/index.js +1 -1
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.d.ts +1 -2
- package/dist/elements/PreviewButton/index.d.ts.map +1 -1
- package/dist/elements/PreviewButton/index.js +11 -5
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.css +8 -9
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +5 -6
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +2 -3
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
- package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
- package/dist/elements/ReactSelect/index.css +0 -3
- package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
- package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +27 -77
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/index.css +0 -2
- package/dist/elements/RelationshipTable/index.d.ts +1 -0
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +41 -5
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.css +4 -0
- package/dist/elements/RenderTitle/index.d.ts.map +1 -1
- package/dist/elements/RenderTitle/index.js +18 -13
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.d.ts.map +1 -1
- package/dist/elements/RestoreMany/index.js +2 -3
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +2 -3
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SelectRow/index.d.ts +4 -3
- package/dist/elements/SelectRow/index.d.ts.map +1 -1
- package/dist/elements/SelectRow/index.js +10 -7
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/SidebarToggle/index.css +0 -17
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +42 -38
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortHeader/index.d.ts.map +1 -1
- package/dist/elements/SortHeader/index.js +29 -26
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +2 -3
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StepNav/index.css +64 -14
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +143 -69
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +3 -11
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.d.ts +3 -1
- package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
- package/dist/elements/Table/OrderableRow.js +17 -1
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +20 -4
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +2 -3
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/index.css +1 -0
- package/dist/elements/TableSection/index.css +0 -1
- package/dist/elements/Thumbnail/index.d.ts +1 -1
- package/dist/elements/Thumbnail/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
- package/dist/elements/TimezonePicker/index.js +5 -1
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Tooltip/index.css +15 -34
- package/dist/elements/Tooltip/index.d.ts +11 -3
- package/dist/elements/Tooltip/index.d.ts.map +1 -1
- package/dist/elements/Tooltip/index.js +151 -85
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
- package/dist/elements/UnpublishButton/index.js +3 -4
- package/dist/elements/UnpublishButton/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +2 -3
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
- package/dist/elements/Upload/index.css +39 -37
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +37 -99
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
- package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
- package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
- package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
- package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
- package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
- package/dist/elements/Upload/useUploadFromUrl.js +201 -0
- package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
- package/dist/elements/UploadDropzoneContent/index.css +31 -0
- package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
- package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
- package/dist/elements/UploadDropzoneContent/index.js +62 -0
- package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
- package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
- package/dist/elements/WhereBuilder/conditionValue.js +32 -0
- package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
- package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
- package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +15 -4
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +5 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +1 -1
- package/dist/exports/client/index.js.map +3 -3
- package/dist/fields/Array/ArrayRow.d.ts +1 -0
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +99 -160
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +40 -13
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -0
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +136 -195
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +3 -0
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +26 -20
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +40 -13
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +2 -0
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +32 -26
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.css +37 -73
- package/dist/fields/FieldError/index.css +0 -9
- package/dist/fields/FieldError/index.d.ts.map +1 -1
- package/dist/fields/FieldError/index.js +19 -9
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.d.ts.map +1 -1
- package/dist/fields/FieldLabel/index.js +4 -5
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Join/index.css +9 -0
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +13 -9
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.css +0 -7
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +34 -17
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
- package/dist/fields/Slug/index.css +0 -1
- package/dist/fields/Slug/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.js +74 -111
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +46 -19
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/Input.spec.js +242 -0
- package/dist/fields/Upload/Input.spec.js.map +1 -0
- package/dist/fields/Upload/index.css +19 -4
- package/dist/fields/shared/index.d.ts +1 -1
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +3 -1
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +14 -18
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/types.d.ts +1 -1
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.d.ts.map +1 -1
- package/dist/forms/NullifyField/index.js +2 -3
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/index.css +16 -2
- package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +2 -2
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +2 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js +2 -3
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/icons/Edit/index.d.ts +0 -1
- package/dist/icons/Edit/index.d.ts.map +1 -1
- package/dist/icons/Edit/index.js +4 -4
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/layouts/Root/index.d.ts +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +8 -2
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/providers/Actions/index.d.ts +1 -0
- package/dist/providers/Actions/index.d.ts.map +1 -1
- package/dist/providers/Actions/index.js +43 -11
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
- package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
- package/dist/providers/Auth/authSessionRequests.js +119 -0
- package/dist/providers/Auth/authSessionRequests.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
- package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
- package/dist/providers/Auth/index.d.ts +2 -56
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +283 -135
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Auth/sessionActivity.d.ts +23 -0
- package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
- package/dist/providers/Auth/sessionActivity.js +49 -0
- package/dist/providers/Auth/sessionActivity.js.map +1 -0
- package/dist/providers/Auth/sessionActivity.spec.js +44 -0
- package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
- package/dist/providers/Auth/sessionTiming.d.ts +11 -0
- package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
- package/dist/providers/Auth/sessionTiming.js +18 -0
- package/dist/providers/Auth/sessionTiming.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.js +263 -0
- package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.js +6 -0
- package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
- package/dist/providers/Auth/types.d.ts +65 -0
- package/dist/providers/Auth/types.d.ts.map +1 -0
- package/dist/providers/Auth/types.js +2 -0
- package/dist/providers/Auth/types.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
- package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +2 -3
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentTitle/index.d.ts +1 -0
- package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
- package/dist/providers/DocumentTitle/index.js +2 -0
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/Embed/index.d.ts +24 -0
- package/dist/providers/Embed/index.d.ts.map +1 -0
- package/dist/providers/Embed/index.js +105 -0
- package/dist/providers/Embed/index.js.map +1 -0
- package/dist/providers/FormErrorHandler/index.d.ts +24 -0
- package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
- package/dist/providers/FormErrorHandler/index.js +6 -0
- package/dist/providers/FormErrorHandler/index.js.map +1 -0
- package/dist/providers/Locale/index.d.ts +1 -5
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +64 -137
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts +1 -0
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +37 -31
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
- package/dist/providers/RouteTransition/index.d.ts +2 -0
- package/dist/providers/RouteTransition/index.d.ts.map +1 -1
- package/dist/providers/RouteTransition/index.js +42 -14
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +2 -3
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +5 -1
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +15 -0
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/SidebarTabs/index.d.ts +3 -2
- package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
- package/dist/providers/SidebarTabs/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +1 -2
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
- package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
- package/dist/providers/Theme/index.d.ts +3 -0
- package/dist/providers/Theme/index.d.ts.map +1 -1
- package/dist/providers/Theme/index.js +107 -95
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.d.ts +2 -7
- package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
- package/dist/providers/UploadHandlers/index.js +102 -42
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/styles.css +13 -10
- package/dist/templates/Default/index.d.ts +1 -0
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +2 -0
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
- package/dist/utilities/combineFieldLabel.js +5 -1
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/formatMetadata.d.ts.map +1 -1
- package/dist/utilities/formatMetadata.js +0 -5
- package/dist/utilities/formatMetadata.js.map +1 -1
- package/dist/utilities/generateFieldID.d.ts +1 -1
- package/dist/utilities/generateFieldID.d.ts.map +1 -1
- package/dist/utilities/generateFieldID.js +2 -2
- package/dist/utilities/generateFieldID.js.map +1 -1
- package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
- package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
- package/dist/utilities/getFilesFromClipboard.js +49 -0
- package/dist/utilities/getFilesFromClipboard.js.map +1 -0
- package/dist/utilities/getHasScheduledPublish.d.ts +2 -3
- package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
- package/dist/utilities/getHasScheduledPublish.js +2 -5
- package/dist/utilities/getHasScheduledPublish.js.map +1 -1
- package/dist/utilities/getRequestEmbed.d.ts +14 -0
- package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
- package/dist/utilities/getRequestEmbed.js +10 -0
- package/dist/utilities/getRequestEmbed.js.map +1 -0
- package/dist/utilities/handleServerFunctions.d.ts +32 -8
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +17 -37
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +18 -2
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.d.ts +8 -1
- package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +68 -4
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts +12 -7
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +27 -8
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/slugify.js +52 -6
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +2 -3
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +29 -144
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +1 -2
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.css +61 -53
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +3 -2
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/HierarchyList/index.css +1 -1
- package/dist/views/List/ListHeader/index.d.ts +1 -10
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +1 -3
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +0 -14
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +6 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +4 -0
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/Logout/index.d.ts.map +1 -1
- package/dist/views/Logout/index.js +11 -0
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
- package/dist/views/Root/getCustomViewByKey.js.map +1 -1
- package/dist/views/Root/index.d.ts +12 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +11 -3
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +10 -13
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +12 -13
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +1 -0
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +56 -50
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +41 -27
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.spec.js +258 -0
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.spec.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +10 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +33 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +56 -2
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +8 -2
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +17 -19
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +3 -13
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
- package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js +2 -3
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
- package/package.json +6 -10
- package/dist/elements/RelationshipTable/Pagination.css +0 -39
- package/dist/scss/app.scss +0 -183
- package/dist/scss/colors.scss +0 -191
- package/dist/scss/custom.css +0 -1
- package/dist/scss/queries.scss +0 -27
- package/dist/scss/styles.scss +0 -9
- package/dist/scss/svg.scss +0 -10
- package/dist/scss/toastify.scss +0 -61
- package/dist/scss/vars.scss +0 -192
- package/dist/scss/z-index.scss +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/elements/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAMvC,OAAO,aAAa,CAAA;AAIpB,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/elements/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAMvC,OAAO,aAAa,CAAA;AAIpB,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA4H/B,CAAA;eAGc,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","names":["c","_c","React","ReactDatePickerDefaultImport","registerLocale","setDefaultLocale","ReactDatePicker","default","CalendarIcon","ChevronIcon","useTranslation","getFormattedLocale","baseClass","DatePicker","props","$","id","displayFormat","customDisplayFormat","maxDate","maxTime","minDate","minTime","monthsToShow","t0","onChange","onChangeFromProps","overrides","pickerAppearance","t1","placeholder","placeholderText","readOnly","timeFormat","t2","timeIntervals","t3","value","undefined","i18n","dateFormat","incomingDate","newDate","Date","includes","tzOffset","getTimezoneOffset","setHours","setMilliseconds","dateTimePickerProps","customInputRef","disabled","monthsShown","Math","min","nextMonthButtonLabel","_jsx","direction","popperPlacement","previousMonthButtonLabel","selected","shouldCloseOnSelect","showMonthYearPicker","showPopperArrow","showTimeSelect","showTimeSelectOnly","t4","t5","filter","Boolean","classes","join","t6","t7","dateFNS","language","datepickerLocale","t8","console","warn","useEffect","className","children","_jsxs","dropdownMode","showMonthDropdown","showYearDropdown"],"sources":["../../../src/elements/DatePicker/DatePicker.tsx"],"sourcesContent":["'use client'\nimport type { DatePickerProps } from 'react-datepicker'\n\nimport React from 'react'\nimport ReactDatePickerDefaultImport, { registerLocale, setDefaultLocale } from 'react-datepicker'\nconst ReactDatePicker =\n 'default' in ReactDatePickerDefaultImport\n ? ReactDatePickerDefaultImport.default\n : ReactDatePickerDefaultImport\n\nimport type { Props } from './types.js'\n\nimport { CalendarIcon } from '../../icons/Calendar/index.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { getFormattedLocale } from './getFormattedLocale.js'\nimport './index.css'\n\nconst baseClass = 'date-time-picker'\n\nconst DatePicker: React.FC<Props> = (props) => {\n const {\n id,\n displayFormat: customDisplayFormat,\n maxDate,\n maxTime,\n minDate,\n minTime,\n monthsToShow = 1,\n onChange: onChangeFromProps,\n overrides,\n pickerAppearance = 'default',\n placeholder: placeholderText,\n readOnly,\n timeFormat = 'h:mm aa',\n timeIntervals = 30,\n value,\n } = props\n\n // Use the user's AdminUI language preference for the locale\n const { i18n } = useTranslation()\n\n let dateFormat = customDisplayFormat\n\n if (!customDisplayFormat) {\n // when no displayFormat is provided, determine format based on the picker appearance\n if (pickerAppearance === 'default') {\n dateFormat = 'MM/dd/yyyy'\n } else if (pickerAppearance === 'dayAndTime') {\n dateFormat = 'MMM d, yyy h:mm a'\n } else if (pickerAppearance === 'timeOnly') {\n dateFormat = 'h:mm a'\n } else if (pickerAppearance === 'dayOnly') {\n dateFormat = 'MMM dd'\n } else if (pickerAppearance === 'monthOnly') {\n dateFormat = 'MMMM'\n }\n }\n\n const onChange: Extract<\n DatePickerProps,\n { selectsMultiple?: never; selectsRange?: never }\n >['onChange'] = (incomingDate) => {\n const newDate = incomingDate\n if (newDate instanceof Date && ['dayOnly', 'default', 'monthOnly'].includes(pickerAppearance)) {\n const tzOffset = incomingDate.getTimezoneOffset() / 60\n newDate.setHours(12 - tzOffset, 0)\n }\n\n if (newDate instanceof Date && !dateFormat.includes('SSS')) {\n // Unless the dateFormat includes milliseconds, set milliseconds to 0\n // This is to ensure that the timestamp is consistent with the displayFormat\n newDate.setMilliseconds(0)\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newDate)\n }\n }\n\n const dateTimePickerProps: Extract<\n DatePickerProps,\n { selectsMultiple?: never; selectsRange?: never }\n > = {\n customInputRef: 'ref',\n dateFormat,\n disabled: readOnly,\n maxDate,\n maxTime,\n minDate,\n minTime,\n monthsShown: Math.min(2, monthsToShow),\n nextMonthButtonLabel: <ChevronIcon direction=\"right\" />,\n nextYearButtonLabel: '›',\n onChange,\n placeholderText,\n popperPlacement: 'bottom-start',\n previousMonthButtonLabel: <ChevronIcon direction=\"left\" />,\n previousYearButtonLabel: '‹',\n selected: value && new Date(value),\n shouldCloseOnSelect: false,\n showMonthYearPicker: pickerAppearance === 'monthOnly',\n showPopperArrow: false,\n showTimeSelect: pickerAppearance === 'dayAndTime' || pickerAppearance === 'timeOnly',\n showTimeSelectOnly: pickerAppearance === 'timeOnly',\n timeFormat,\n timeIntervals,\n ...(overrides as Extract<\n DatePickerProps,\n { selectsMultiple?: never; selectsRange?: never } // to satisfy TypeScript. Overrides can enable selectsMultiple or selectsRange but then it's up to the user to ensure they pass in the correct onChange\n >),\n }\n\n const classes = [baseClass, `${baseClass}__appearance--${pickerAppearance}`]\n .filter(Boolean)\n .join(' ')\n\n React.useEffect(() => {\n if (i18n.dateFNS) {\n try {\n const datepickerLocale = getFormattedLocale(i18n.language)\n registerLocale(datepickerLocale, i18n.dateFNS)\n setDefaultLocale(datepickerLocale)\n } catch (_error) {\n // eslint-disable-next-line no-console\n console.warn(`Could not find DatePicker locale for ${i18n.language}`)\n }\n }\n }, [i18n.language, i18n.dateFNS])\n\n return (\n <div className={classes} id={id}>\n <div className={`${baseClass}__input-wrapper`}>\n <ReactDatePicker\n {...dateTimePickerProps}\n dropdownMode=\"select\"\n showMonthDropdown={pickerAppearance !== 'monthOnly'}\n showYearDropdown={pickerAppearance !== 'monthOnly'}\n />\n <CalendarIcon />\n </div>\n </div>\n )\n}\n\n// eslint-disable-next-line no-restricted-exports\nexport default DatePicker\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAClB,OAAOC,4BAAA,IAAgCC,cAAc,EAAEC,gBAAgB,QAAQ;AAC/E,MAAMC,eAAA,GACJ,aAAaH,4BAAA,GACTA,4BAAA,CAA6BI,OAAO,GACpCJ,4BAAA;AAIN,SAASK,YAAY,QAAQ;AAC7B,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,SAASC,kBAAkB,QAAQ;AACnC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,MAAMC,UAAA,GAA8BC,KAAA;EAAA,MAAAC,CAAA,GAAAd,EAAA;EAClC;IAAAe,EAAA;IAAAC,aAAA,EAAAC,mBAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,YAAA,EAAAC,EAAA;IAAAC,QAAA,EAAAC,iBAAA;IAAAC,SAAA;IAAAC,gBAAA,EAAAC,EAAA;IAAAC,WAAA,EAAAC,eAAA;IAAAC,QAAA;IAAAC,UAAA,EAAAC,EAAA;IAAAC,aAAA,EAAAC,EAAA;IAAAC;EAAA,IAgBIvB,KAAA;EATF,MAAAS,YAAA,GAAAC,EAAgB,KAAAc,SAAA,OAAhBd,EAAgB;EAGhB,MAAAI,gBAAA,GAAAC,EAA4B,KAAAS,SAAA,GAAT,SAAS,GAA5BT,EAA4B;EAG5B,MAAAI,UAAA,GAAAC,EAAsB,KAAAI,SAAA,GAAT,SAAS,GAAtBJ,EAAsB;EACtB,MAAAC,aAAA,GAAAC,EAAkB,KAAAE,SAAA,QAAlBF,EAAkB;EAKpB;IAAAG;EAAA,IAAiB7B,cAAA;EAEjB,IAAA8B,UAAA,GAAiBtB,mBAAA;EAAA,KAEZA,mBAAA;IAAA,IAECU,gBAAA,KAAqB;MACvBY,UAAA,CAAAA,CAAA,CAAaA,YAAA;IAAb;MAAA,IACSZ,gBAAA,KAAqB;QAC9BY,UAAA,CAAAA,CAAA,CAAaA,mBAAA;MAAb;QAAA,IACSZ,gBAAA,KAAqB;UAC9BY,UAAA,CAAAA,CAAA,CAAaA,QAAA;QAAb;UAAA,IACSZ,gBAAA,KAAqB;YAC9BY,UAAA,CAAAA,CAAA,CAAaA,QAAA;UAAb;YAAA,IACSZ,gBAAA,KAAqB;cAC9BY,UAAA,CAAAA,CAAA,CAAaA,MAAA;YAAb;UAAA;QAAA;MAAA;IAAA;EAAA;EAIJ,MAAAf,QAAA,GAAAgB,YAAA;IAIE,MAAAC,OAAA,GAAgBD,YAAA;IAAA,IACZC,OAAA,YAAAC,IAAmB,IAAQ,CAAC,WAAW,WAAW,aAAAC,QAAA,CAAsBhB,gBAAA;MAC1E,MAAAiB,QAAA,GAAiBJ,YAAA,CAAAK,iBAAA,CAA8B,MAAK;MACpDJ,OAAA,CAAAK,QAAA,CAAiB,KAAKF,QAAA,GAAU;IAAA;IAAA,IAG9BH,OAAA,YAAAC,IAAmB,KAASH,UAAA,CAAAI,QAAA,CAAoB;MAGlDF,OAAA,CAAAM,eAAA,EAAwB;IAAA;IAAA,IAGtB,OAAOtB,iBAAA,KAAsB;MAC/BA,iBAAA,CAAkBgB,OAAA;IAAA;EAAA;EAItB,MAAAO,mBAAA;IAAAC,cAAA,EAIkB;IAAAV,UAAA;IAAAW,QAAA,EAENnB,QAAA;IAAAb,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAA8B,WAAA,EAKGC,IAAA,CAAAC,GAAA,IAAY/B,YAAA;IAAAgC,oBAAA,EACHC,IAAA,CAAA/C,WAAA;MAAAgD,SAAA,EAAuB;IAAA,C;yBACxB;IAAAhC,QAAA;IAAAM,eAAA;IAAA2B,eAAA,EAGJ;IAAAC,wBAAA,
|
|
1
|
+
{"version":3,"file":"DatePicker.js","names":["c","_c","React","ReactDatePickerDefaultImport","registerLocale","setDefaultLocale","ReactDatePicker","default","CalendarIcon","ChevronIcon","useTranslation","getFormattedLocale","baseClass","DatePicker","props","$","id","displayFormat","customDisplayFormat","maxDate","maxTime","minDate","minTime","monthsToShow","t0","onChange","onChangeFromProps","overrides","pickerAppearance","t1","placeholder","placeholderText","readOnly","timeFormat","t2","timeIntervals","t3","value","undefined","i18n","dateFormat","incomingDate","newDate","Date","includes","tzOffset","getTimezoneOffset","setHours","setMilliseconds","dateTimePickerProps","customInputRef","disabled","monthsShown","Math","min","nextMonthButtonLabel","_jsx","direction","popperPlacement","portalId","previousMonthButtonLabel","selected","shouldCloseOnSelect","showMonthYearPicker","showPopperArrow","showTimeSelect","showTimeSelectOnly","t4","t5","filter","Boolean","classes","join","t6","t7","dateFNS","language","datepickerLocale","t8","console","warn","useEffect","className","children","_jsxs","dropdownMode","showMonthDropdown","showYearDropdown"],"sources":["../../../src/elements/DatePicker/DatePicker.tsx"],"sourcesContent":["'use client'\nimport type { DatePickerProps } from 'react-datepicker'\n\nimport React from 'react'\nimport ReactDatePickerDefaultImport, { registerLocale, setDefaultLocale } from 'react-datepicker'\nconst ReactDatePicker =\n 'default' in ReactDatePickerDefaultImport\n ? ReactDatePickerDefaultImport.default\n : ReactDatePickerDefaultImport\n\nimport type { Props } from './types.js'\n\nimport { CalendarIcon } from '../../icons/Calendar/index.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { getFormattedLocale } from './getFormattedLocale.js'\nimport './index.css'\n\nconst baseClass = 'date-time-picker'\n\nconst DatePicker: React.FC<Props> = (props) => {\n const {\n id,\n displayFormat: customDisplayFormat,\n maxDate,\n maxTime,\n minDate,\n minTime,\n monthsToShow = 1,\n onChange: onChangeFromProps,\n overrides,\n pickerAppearance = 'default',\n placeholder: placeholderText,\n readOnly,\n timeFormat = 'h:mm aa',\n timeIntervals = 30,\n value,\n } = props\n\n // Use the user's AdminUI language preference for the locale\n const { i18n } = useTranslation()\n\n let dateFormat = customDisplayFormat\n\n if (!customDisplayFormat) {\n // when no displayFormat is provided, determine format based on the picker appearance\n if (pickerAppearance === 'default') {\n dateFormat = 'MM/dd/yyyy'\n } else if (pickerAppearance === 'dayAndTime') {\n dateFormat = 'MMM d, yyy h:mm a'\n } else if (pickerAppearance === 'timeOnly') {\n dateFormat = 'h:mm a'\n } else if (pickerAppearance === 'dayOnly') {\n dateFormat = 'MMM dd'\n } else if (pickerAppearance === 'monthOnly') {\n dateFormat = 'MMMM'\n }\n }\n\n const onChange: Extract<\n DatePickerProps,\n { selectsMultiple?: never; selectsRange?: never }\n >['onChange'] = (incomingDate) => {\n const newDate = incomingDate\n if (newDate instanceof Date && ['dayOnly', 'default', 'monthOnly'].includes(pickerAppearance)) {\n const tzOffset = incomingDate.getTimezoneOffset() / 60\n newDate.setHours(12 - tzOffset, 0)\n }\n\n if (newDate instanceof Date && !dateFormat.includes('SSS')) {\n // Unless the dateFormat includes milliseconds, set milliseconds to 0\n // This is to ensure that the timestamp is consistent with the displayFormat\n newDate.setMilliseconds(0)\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newDate)\n }\n }\n\n const dateTimePickerProps: Extract<\n DatePickerProps,\n { selectsMultiple?: never; selectsRange?: never }\n > = {\n customInputRef: 'ref',\n dateFormat,\n disabled: readOnly,\n maxDate,\n maxTime,\n minDate,\n minTime,\n monthsShown: Math.min(2, monthsToShow),\n nextMonthButtonLabel: <ChevronIcon direction=\"right\" />,\n nextYearButtonLabel: '›',\n onChange,\n placeholderText,\n popperPlacement: 'bottom-start',\n portalId: 'date-time-picker-portal',\n previousMonthButtonLabel: <ChevronIcon direction=\"left\" />,\n previousYearButtonLabel: '‹',\n selected: value && new Date(value),\n shouldCloseOnSelect: false,\n showMonthYearPicker: pickerAppearance === 'monthOnly',\n showPopperArrow: false,\n showTimeSelect: pickerAppearance === 'dayAndTime' || pickerAppearance === 'timeOnly',\n showTimeSelectOnly: pickerAppearance === 'timeOnly',\n timeFormat,\n timeIntervals,\n ...(overrides as Extract<\n DatePickerProps,\n { selectsMultiple?: never; selectsRange?: never } // to satisfy TypeScript. Overrides can enable selectsMultiple or selectsRange but then it's up to the user to ensure they pass in the correct onChange\n >),\n }\n\n const classes = [baseClass, `${baseClass}__appearance--${pickerAppearance}`]\n .filter(Boolean)\n .join(' ')\n\n React.useEffect(() => {\n if (i18n.dateFNS) {\n try {\n const datepickerLocale = getFormattedLocale(i18n.language)\n registerLocale(datepickerLocale, i18n.dateFNS)\n setDefaultLocale(datepickerLocale)\n } catch (_error) {\n // eslint-disable-next-line no-console\n console.warn(`Could not find DatePicker locale for ${i18n.language}`)\n }\n }\n }, [i18n.language, i18n.dateFNS])\n\n return (\n <div className={classes} id={id}>\n <div className={`${baseClass}__input-wrapper`}>\n <ReactDatePicker\n {...dateTimePickerProps}\n dropdownMode=\"select\"\n showMonthDropdown={pickerAppearance !== 'monthOnly'}\n showYearDropdown={pickerAppearance !== 'monthOnly'}\n />\n <CalendarIcon />\n </div>\n </div>\n )\n}\n\n// eslint-disable-next-line no-restricted-exports\nexport default DatePicker\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DeleteDocument/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAKxD,OAAO,KAA0C,MAAM,OAAO,CAAA;AAG9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DeleteDocument/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAKxD,OAAO,KAA0C,MAAM,OAAO,CAAA;AAG9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAmB9E,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CACtE,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA4L1C,CAAA"}
|
|
@@ -9,6 +9,7 @@ import { toast } from 'sonner';
|
|
|
9
9
|
import { CheckboxInput } from '../../fields/Checkbox/Input.js';
|
|
10
10
|
import { useForm } from '../../forms/Form/context.js';
|
|
11
11
|
import { useConfig } from '../../providers/Config/index.js';
|
|
12
|
+
import { useDocumentEvents } from '../../providers/DocumentEvents/index.js';
|
|
12
13
|
import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
|
|
13
14
|
import { useDocumentTitle } from '../../providers/DocumentTitle/index.js';
|
|
14
15
|
import { useRouter } from '../../providers/RouterAdapter/index.js';
|
|
@@ -63,6 +64,9 @@ export const DeleteDocument = props => {
|
|
|
63
64
|
const {
|
|
64
65
|
openModal
|
|
65
66
|
} = useModal();
|
|
67
|
+
const {
|
|
68
|
+
reportUpdate
|
|
69
|
+
} = useDocumentEvents();
|
|
66
70
|
const modalSlug = `delete-${id}`;
|
|
67
71
|
const [deletePermanently, setDeletePermanently] = useState(false);
|
|
68
72
|
const addDefaultError = useCallback(() => {
|
|
@@ -102,7 +106,17 @@ export const DeleteDocument = props => {
|
|
|
102
106
|
label: getTranslation(singularLabel, i18n),
|
|
103
107
|
title
|
|
104
108
|
}) || json.message);
|
|
109
|
+
// A trashed document also disappears from default queries, so both permanent
|
|
110
|
+
// deletes and trashing report as a `delete` event.
|
|
111
|
+
const deleteEvent = {
|
|
112
|
+
id,
|
|
113
|
+
entitySlug: collectionSlug,
|
|
114
|
+
operation: 'delete',
|
|
115
|
+
updatedAt: new Date().toISOString()
|
|
116
|
+
};
|
|
105
117
|
if (redirectAfterDelete) {
|
|
118
|
+
// Navigating away tears this surface down, so just notify other surfaces.
|
|
119
|
+
reportUpdate(deleteEvent);
|
|
106
120
|
return startRouteTransition(() => router.push(formatAdminURL({
|
|
107
121
|
adminRoute,
|
|
108
122
|
path: `/collections/${collectionSlug}`
|
|
@@ -114,6 +128,7 @@ export const DeleteDocument = props => {
|
|
|
114
128
|
collectionConfig
|
|
115
129
|
});
|
|
116
130
|
}
|
|
131
|
+
reportUpdate(deleteEvent);
|
|
117
132
|
return;
|
|
118
133
|
}
|
|
119
134
|
if (json.errors) {
|
|
@@ -125,7 +140,7 @@ export const DeleteDocument = props => {
|
|
|
125
140
|
} catch (_err) {
|
|
126
141
|
return addDefaultError();
|
|
127
142
|
}
|
|
128
|
-
}, [deletePermanently, setModified, hasDeletePermission, hasTrashPermission, api, collectionSlug, id, t, singularLabel, addDefaultError, i18n, title, router, adminRoute, redirectAfterDelete, onDelete, collectionConfig, startRouteTransition]);
|
|
143
|
+
}, [deletePermanently, setModified, hasDeletePermission, hasTrashPermission, api, collectionSlug, id, t, singularLabel, addDefaultError, i18n, title, router, adminRoute, redirectAfterDelete, onDelete, collectionConfig, startRouteTransition, reportUpdate]);
|
|
129
144
|
if (id) {
|
|
130
145
|
return /*#__PURE__*/_jsxs(Fragment, {
|
|
131
146
|
children: [/*#__PURE__*/_jsx(PopupList.Button, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","React","Fragment","useCallback","useState","toast","CheckboxInput","useForm","useConfig","useDocumentInfo","useDocumentTitle","useRouter","useRouteTransition","useTranslation","requests","shouldPermanentlyDelete","ConfirmationModal","PopupList","Translation","baseClass","DeleteDocument","props","id","buttonId","collectionSlug","onDelete","redirectAfterDelete","singularLabel","title","titleFromProps","config","routes","admin","adminRoute","api","getEntityConfig","collectionConfig","hasDeletePermission","hasTrashPermission","setModified","router","i18n","t","startRouteTransition","openModal","modalSlug","deletePermanently","setDeletePermanently","addDefaultError","error","handleDelete","permanentlyDelete","url","apiRoute","path","res","delete","headers","language","patch","body","JSON","stringify","deletedAt","Date","toISOString","json","status","success","label","message","push","errors","forEach","_err","_jsxs","_jsx","Button","onClick","elements","1","children","i18nKey","trash","variables","checked","name","onToggle","e","target","className","confirmingLabel","heading","onConfirm"],"sources":["../../../src/elements/DeleteDocument/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { CheckboxInput } from '../../fields/Checkbox/Input.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../providers/DocumentTitle/index.js'\nimport { useRouter } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { shouldPermanentlyDelete } from '../../utilities/shouldPermanentlyDelete.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { Translation } from '../Translation/index.js'\n\nconst baseClass = 'delete-document'\n\nexport type Props = {\n readonly buttonId?: string\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly id?: string\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly redirectAfterDelete?: boolean\n readonly singularLabel: SanitizedCollectionConfig['labels']['singular']\n readonly title?: string\n readonly useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const DeleteDocument: React.FC<Props> = (props) => {\n const {\n id,\n buttonId,\n collectionSlug,\n onDelete,\n redirectAfterDelete = true,\n singularLabel,\n title: titleFromProps,\n } = props\n\n const {\n config: {\n routes: { admin: adminRoute, api },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { hasDeletePermission, hasTrashPermission } = useDocumentInfo()\n const { setModified } = useForm()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { title } = useDocumentTitle()\n const { startRouteTransition } = useRouteTransition()\n const { openModal } = useModal()\n\n const modalSlug = `delete-${id}`\n\n const [deletePermanently, setDeletePermanently] = useState(false)\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:deletingTitle', { title }))\n }, [t, title])\n\n const handleDelete = useCallback(async () => {\n setModified(false)\n\n const permanentlyDelete = shouldPermanentlyDelete({\n deletePermanently,\n hasDeletePermission,\n hasTrashPermission,\n })\n\n try {\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}/${id}`,\n })\n const res = permanentlyDelete\n ? await requests.delete(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n : await requests.patch(url, {\n body: JSON.stringify({\n deletedAt: new Date().toISOString(),\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n const json = await res.json()\n\n if (res.status < 400) {\n toast.success(\n t(permanentlyDelete ? 'general:titleDeleted' : 'general:titleTrashed', {\n label: getTranslation(singularLabel, i18n),\n title,\n }) || json.message,\n )\n\n if (redirectAfterDelete) {\n return startRouteTransition(() =>\n router.push(formatAdminURL({ adminRoute, path: `/collections/${collectionSlug}` })),\n )\n }\n\n if (typeof onDelete === 'function') {\n await onDelete({ id, collectionConfig })\n }\n\n return\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n\n return\n } catch (_err) {\n return addDefaultError()\n }\n }, [\n deletePermanently,\n setModified,\n hasDeletePermission,\n hasTrashPermission,\n api,\n collectionSlug,\n id,\n t,\n singularLabel,\n addDefaultError,\n i18n,\n title,\n router,\n adminRoute,\n redirectAfterDelete,\n onDelete,\n collectionConfig,\n startRouteTransition,\n ])\n\n if (id) {\n return (\n <Fragment>\n <PopupList.Button\n id={buttonId}\n onClick={() => {\n openModal(modalSlug)\n }}\n >\n {t('general:delete')}\n </PopupList.Button>\n <ConfirmationModal\n body={\n <Fragment>\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey={\n collectionConfig.trash && hasTrashPermission\n ? 'general:aboutToTrash'\n : 'general:aboutToDelete'\n }\n t={t}\n variables={{\n label: getTranslation(singularLabel, i18n),\n title: titleFromProps || title || id,\n }}\n />\n {collectionConfig.trash && hasTrashPermission && hasDeletePermission && (\n <CheckboxInput\n checked={deletePermanently}\n id=\"delete-forever\"\n label={t('general:deletePermanently')}\n name=\"delete-forever\"\n onToggle={(e) => setDeletePermanently(e.target.checked)}\n />\n )}\n </Fragment>\n }\n className={baseClass}\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={modalSlug}\n onConfirm={handleDelete}\n />\n </Fragment>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","React","Fragment","useCallback","useState","toast","CheckboxInput","useForm","useConfig","useDocumentEvents","useDocumentInfo","useDocumentTitle","useRouter","useRouteTransition","useTranslation","requests","shouldPermanentlyDelete","ConfirmationModal","PopupList","Translation","baseClass","DeleteDocument","props","id","buttonId","collectionSlug","onDelete","redirectAfterDelete","singularLabel","title","titleFromProps","config","routes","admin","adminRoute","api","getEntityConfig","collectionConfig","hasDeletePermission","hasTrashPermission","setModified","router","i18n","t","startRouteTransition","openModal","reportUpdate","modalSlug","deletePermanently","setDeletePermanently","addDefaultError","error","handleDelete","permanentlyDelete","url","apiRoute","path","res","delete","headers","language","patch","body","JSON","stringify","deletedAt","Date","toISOString","json","status","success","label","message","deleteEvent","entitySlug","operation","updatedAt","push","errors","forEach","_err","_jsxs","_jsx","Button","onClick","elements","1","children","i18nKey","trash","variables","checked","name","onToggle","e","target","className","confirmingLabel","heading","onConfirm"],"sources":["../../../src/elements/DeleteDocument/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { CheckboxInput } from '../../fields/Checkbox/Input.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../providers/DocumentTitle/index.js'\nimport { useRouter } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { shouldPermanentlyDelete } from '../../utilities/shouldPermanentlyDelete.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { Translation } from '../Translation/index.js'\n\nconst baseClass = 'delete-document'\n\nexport type Props = {\n readonly buttonId?: string\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly id?: string\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly redirectAfterDelete?: boolean\n readonly singularLabel: SanitizedCollectionConfig['labels']['singular']\n readonly title?: string\n readonly useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const DeleteDocument: React.FC<Props> = (props) => {\n const {\n id,\n buttonId,\n collectionSlug,\n onDelete,\n redirectAfterDelete = true,\n singularLabel,\n title: titleFromProps,\n } = props\n\n const {\n config: {\n routes: { admin: adminRoute, api },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { hasDeletePermission, hasTrashPermission } = useDocumentInfo()\n const { setModified } = useForm()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { title } = useDocumentTitle()\n const { startRouteTransition } = useRouteTransition()\n const { openModal } = useModal()\n const { reportUpdate } = useDocumentEvents()\n\n const modalSlug = `delete-${id}`\n\n const [deletePermanently, setDeletePermanently] = useState(false)\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:deletingTitle', { title }))\n }, [t, title])\n\n const handleDelete = useCallback(async () => {\n setModified(false)\n\n const permanentlyDelete = shouldPermanentlyDelete({\n deletePermanently,\n hasDeletePermission,\n hasTrashPermission,\n })\n\n try {\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}/${id}`,\n })\n const res = permanentlyDelete\n ? await requests.delete(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n : await requests.patch(url, {\n body: JSON.stringify({\n deletedAt: new Date().toISOString(),\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n const json = await res.json()\n\n if (res.status < 400) {\n toast.success(\n t(permanentlyDelete ? 'general:titleDeleted' : 'general:titleTrashed', {\n label: getTranslation(singularLabel, i18n),\n title,\n }) || json.message,\n )\n\n // A trashed document also disappears from default queries, so both permanent\n // deletes and trashing report as a `delete` event.\n const deleteEvent = {\n id,\n entitySlug: collectionSlug,\n operation: 'delete' as const,\n updatedAt: new Date().toISOString(),\n }\n\n if (redirectAfterDelete) {\n // Navigating away tears this surface down, so just notify other surfaces.\n reportUpdate(deleteEvent)\n\n return startRouteTransition(() =>\n router.push(formatAdminURL({ adminRoute, path: `/collections/${collectionSlug}` })),\n )\n }\n\n if (typeof onDelete === 'function') {\n await onDelete({ id, collectionConfig })\n }\n\n reportUpdate(deleteEvent)\n\n return\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n\n return\n } catch (_err) {\n return addDefaultError()\n }\n }, [\n deletePermanently,\n setModified,\n hasDeletePermission,\n hasTrashPermission,\n api,\n collectionSlug,\n id,\n t,\n singularLabel,\n addDefaultError,\n i18n,\n title,\n router,\n adminRoute,\n redirectAfterDelete,\n onDelete,\n collectionConfig,\n startRouteTransition,\n reportUpdate,\n ])\n\n if (id) {\n return (\n <Fragment>\n <PopupList.Button\n id={buttonId}\n onClick={() => {\n openModal(modalSlug)\n }}\n >\n {t('general:delete')}\n </PopupList.Button>\n <ConfirmationModal\n body={\n <Fragment>\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey={\n collectionConfig.trash && hasTrashPermission\n ? 'general:aboutToTrash'\n : 'general:aboutToDelete'\n }\n t={t}\n variables={{\n label: getTranslation(singularLabel, i18n),\n title: titleFromProps || title || id,\n }}\n />\n {collectionConfig.trash && hasTrashPermission && hasDeletePermission && (\n <CheckboxInput\n checked={deletePermanently}\n id=\"delete-forever\"\n label={t('general:deletePermanently')}\n name=\"delete-forever\"\n onToggle={(e) => setDeletePermanently(e.target.checked)}\n />\n )}\n </Fragment>\n }\n className={baseClass}\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={modalSlug}\n onConfirm={handleDelete}\n />\n </Fragment>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DeleteMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAM/C,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,KAAK,iBAAiB,GAAG;IACvB,CAAC,UAAU,EAAE,MAAM,GAAG;QACpB,YAAY,EAAE,MAAM,CAAA;QACpB,MAAM,EAAE,OAAO,EAAE,CAAA;QACjB,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;QACxB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF,CAAA;AACD,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACjD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;OAKG;IACH,UAAU,EAAE;QACV,CAAC,UAAU,EAAE,MAAM,GAAG;YACpB,GAAG,CAAC,EAAE,OAAO,CAAA;YACb,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;YACzB,UAAU,CAAC,EAAE,MAAM,CAAA;SACpB,CAAA;KACF,CAAA;IACD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,mBAA2B,EAC3B,kBAA0B,EAC1B,WAAW,EACX,MAAM,EACN,UAAU,EACV,KAAK,EACL,QAAQ,EACR,KAAK,GACN,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DeleteMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAM/C,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,KAAK,iBAAiB,GAAG;IACvB,CAAC,UAAU,EAAE,MAAM,GAAG;QACpB,YAAY,EAAE,MAAM,CAAA;QACpB,MAAM,EAAE,OAAO,EAAE,CAAA;QACjB,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;QACxB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF,CAAA;AACD,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACjD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;OAKG;IACH,UAAU,EAAE;QACV,CAAC,UAAU,EAAE,MAAM,GAAG;YACpB,GAAG,CAAC,EAAE,OAAO,CAAA;YACb,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;YACzB,UAAU,CAAC,EAAE,MAAM,CAAA;SACpB,CAAA;KACF,CAAA;IACD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,mBAA2B,EAC3B,kBAA0B,EAC1B,WAAW,EACX,MAAM,EACN,UAAU,EACV,KAAK,EACL,QAAQ,EACR,KAAK,GACN,EAAE,eAAe,qBA6QjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","mergeListSearchAndWhere","qs","React","toast","CheckboxInput","useConfig","useLocale","useTranslation","requests","shouldPermanentlyDelete","ConfirmationModal","ListSelectionButton","Translation","DeleteMany","afterDelete","hasDeletePermission","hasTrashPermission","modalPrefix","search","selections","trash","viewType","where","t","config","collections","routes","api","code","locale","i18n","openModal","deletePermanently","setDeletePermanently","useState","confirmManyDeleteDrawerSlug","handleDelete","useCallback","deletingOneCollection","Object","keys","length","result","relationTo","all","ids","entries","collectionConfig","find","slug","whereConstraint","and","Array","isArray","deletedAt","exists","id","not_equals","in","url","apiRoute","path","stringify","limit","select","addQueryPrefix","permanentlyDelete","Boolean","isTrashView","deleteManyResponse","delete","headers","language","patch","body","JSON","Date","toISOString","plural","singular","labels","json","deletedDocs","docs","successLabel","status","successKey","success","count","label","errors","error","message","description","map","join","deletedCount","doc","totalCount","totalDocs","_err","labelString","labelCount","reduce","acc","key","value","index","array","undefined","collectionLabel","newLabel","_jsxs","Fragment","_jsx","className","onClick","elements","0","children","1","i18nKey","variables","checked","name","onToggle","e","target","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/DeleteMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ViewTypes, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxInput } from '../../fields/Checkbox/Input.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { shouldPermanentlyDelete } from '../../utilities/shouldPermanentlyDelete.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { ListSelectionButton } from '../ListSelection/index.js'\nimport { Translation } from '../Translation/index.js'\n\ntype AfterDeleteResult = {\n [relationTo: string]: {\n deletedCount: number\n errors: unknown[]\n ids: (number | string)[]\n totalCount: number\n }\n}\nexport type DeleteManyProps = {\n /**\n * A callback function to be called after the delete request is completed.\n */\n afterDelete?: (result: AfterDeleteResult) => void\n /**\n * Whether the user has permission to permanently delete documents.\n * When false, the \"delete permanently\" checkbox will be hidden.\n */\n hasDeletePermission?: boolean\n /**\n * Whether the user has permission to trash (soft delete) documents.\n * When false and hasDeletePermission is true, only permanent delete is available.\n */\n hasTrashPermission?: boolean\n /**\n * When multiple DeleteMany components are rendered on the page, this will differentiate them.\n */\n modalPrefix?: string\n /**\n * Optionally pass a search string to filter the documents to be deleted.\n *\n * This is intentionally passed as a prop so modals could pass in their own\n * search string that may not be stored in the URL.\n */\n search?: string\n /**\n * An object containing the relationTo as the key and an object with the following properties:\n * - all: boolean\n * - totalCount: number\n * - ids: (string | number)[]\n */\n selections: {\n [relationTo: string]: {\n all?: boolean\n ids?: (number | string)[]\n totalCount?: number\n }\n }\n trash?: boolean\n viewType?: ViewTypes\n /**\n * Optionally pass a where clause to filter the documents to be deleted.\n * This will be ignored if multiple relations are selected.\n *\n * This is intentionally passed as a prop so modals could pass in their own\n * where clause that may not be stored in the URL.\n */\n where?: Where\n}\n\n/**\n * Handles polymorphic document delete operations.\n *\n * If you are deleting monomorphic documents, shape your `selections` to match the polymorphic structure.\n */\nexport function DeleteMany({\n afterDelete,\n hasDeletePermission = false,\n hasTrashPermission = false,\n modalPrefix,\n search,\n selections,\n trash,\n viewType,\n where,\n}: DeleteManyProps) {\n const { t } = useTranslation()\n\n const {\n config: {\n collections,\n routes: { api },\n },\n } = useConfig()\n\n const { code: locale } = useLocale()\n const { i18n } = useTranslation()\n const { openModal } = useModal()\n\n const [deletePermanently, setDeletePermanently] = React.useState(false)\n const confirmManyDeleteDrawerSlug = `${modalPrefix ? `${modalPrefix}-` : ''}confirm-delete-many-docs`\n\n const handleDelete = React.useCallback(async () => {\n const deletingOneCollection = Object.keys(selections).length === 1\n const result: AfterDeleteResult = {}\n\n for (const [relationTo, { all, ids = [] }] of Object.entries(selections)) {\n const collectionConfig = collections.find(({ slug }) => slug === relationTo)\n\n if (collectionConfig) {\n let whereConstraint: Where\n\n if (all) {\n // selecting all documents with optional where filter\n if (deletingOneCollection && where) {\n whereConstraint =\n viewType === 'trash'\n ? {\n and: [\n ...(Array.isArray(where.and) ? where.and : [where]),\n { deletedAt: { exists: true } },\n ],\n }\n : where\n } else {\n whereConstraint =\n viewType === 'trash'\n ? {\n and: [{ id: { not_equals: '' } }, { deletedAt: { exists: true } }],\n }\n : {\n id: { not_equals: '' },\n }\n }\n } else {\n // selecting specific documents\n whereConstraint = {\n and: [\n { id: { in: ids } },\n ...(viewType === 'trash' ? [{ deletedAt: { exists: true } }] : []),\n ],\n }\n }\n\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${relationTo}${qs.stringify(\n {\n limit: 0,\n locale,\n select: {},\n where: mergeListSearchAndWhere({\n collectionConfig,\n search,\n where: whereConstraint,\n }),\n ...(viewType === 'trash' ? { trash: true } : {}),\n },\n { addQueryPrefix: true },\n )}`,\n })\n\n const permanentlyDelete = shouldPermanentlyDelete({\n deletePermanently,\n hasDeletePermission,\n hasTrashPermission: Boolean(collectionConfig.trash) && hasTrashPermission,\n isTrashView: viewType === 'trash',\n })\n\n const deleteManyResponse = permanentlyDelete\n ? await requests.delete(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n : await requests.patch(url, {\n body: JSON.stringify({\n deletedAt: new Date().toISOString(),\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n try {\n const { plural, singular } = collectionConfig.labels\n const json = await deleteManyResponse.json()\n\n const deletedDocs = json?.docs.length || 0\n const successLabel = deletedDocs > 1 ? plural : singular\n\n if (deleteManyResponse.status < 400 || deletedDocs > 0) {\n let successKey:\n | 'general:deletedCountSuccessfully'\n | 'general:permanentlyDeletedCountSuccessfully'\n | 'general:trashedCountSuccessfully'\n\n if (!permanentlyDelete) {\n successKey = 'general:trashedCountSuccessfully'\n } else if (viewType === 'trash' || (hasDeletePermission && deletePermanently)) {\n successKey = 'general:permanentlyDeletedCountSuccessfully'\n } else {\n successKey = 'general:deletedCountSuccessfully'\n }\n\n toast.success(\n t(successKey, {\n count: deletedDocs,\n label: getTranslation(successLabel, i18n),\n }),\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 result[relationTo] = {\n deletedCount: deletedDocs,\n errors: json?.errors || null,\n ids: json?.docs.map((doc) => doc.id) || [],\n totalCount: json.totalDocs,\n }\n\n if (deleteManyResponse.status > 400 && json?.errors.length === 0) {\n toast.error(t('error:unknown'))\n result[relationTo].errors = [t('error:unknown')]\n }\n\n continue\n } catch (_err) {\n toast.error(t('error:unknown'))\n result[relationTo] = {\n deletedCount: 0,\n errors: [_err],\n ids: [],\n totalCount: 0,\n }\n continue\n }\n }\n }\n\n if (typeof afterDelete === 'function') {\n afterDelete(result)\n }\n }, [\n selections,\n afterDelete,\n collections,\n deletePermanently,\n hasDeletePermission,\n hasTrashPermission,\n locale,\n search,\n api,\n i18n,\n viewType,\n where,\n t,\n ])\n\n const { label: labelString, labelCount } = Object.entries(selections).reduce(\n (acc, [key, value], index, array) => {\n const collectionConfig = collections.find(({ slug }) => slug === key)\n if (collectionConfig) {\n const labelCount = acc.labelCount === undefined ? value.totalCount : acc.labelCount\n const collectionLabel = `${acc.labelCount !== undefined ? `${value.totalCount} ` : ''}${getTranslation(\n value.totalCount > 1 ? collectionConfig.labels.plural : collectionConfig.labels.singular,\n i18n,\n )}`\n\n let newLabel\n\n if (index === array.length - 1 && index !== 0) {\n newLabel = `${acc.label} and ${collectionLabel}`\n } else if (index > 0) {\n newLabel = `${acc.label}, ${collectionLabel}`\n } else {\n newLabel = collectionLabel\n }\n\n return {\n label: newLabel,\n labelCount,\n }\n }\n return acc\n },\n {\n label: '',\n labelCount: undefined,\n },\n )\n\n return (\n <React.Fragment>\n <ListSelectionButton\n aria-label={t('general:delete')}\n className=\"delete-documents__toggle\"\n onClick={() => {\n openModal(confirmManyDeleteDrawerSlug)\n }}\n >\n {t('general:delete')}\n </ListSelectionButton>\n <ConfirmationModal\n body={\n <React.Fragment>\n <p>\n {trash && hasTrashPermission ? (\n viewType === 'trash' ? (\n <Translation\n elements={{\n '0': ({ children }) => <strong>{children}</strong>,\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToPermanentlyDeleteTrash\"\n t={t}\n variables={{\n count: labelCount ?? 0,\n label: labelString,\n }}\n />\n ) : (\n t('general:aboutToTrashCount', { count: labelCount, label: labelString })\n )\n ) : (\n t('general:aboutToDeleteCount', { count: labelCount, label: labelString })\n )}\n </p>\n {trash && hasTrashPermission && hasDeletePermission && viewType !== 'trash' && (\n <CheckboxInput\n checked={deletePermanently}\n id=\"delete-forever\"\n label={t('general:deletePermanently')}\n name=\"delete-forever\"\n onToggle={(e) => setDeletePermanently(e.target.checked)}\n />\n )}\n </React.Fragment>\n }\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={confirmManyDeleteDrawerSlug}\n onConfirm={handleDelete}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,EAAEC,uBAAuB,QAAQ;AACxD,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,MAAW;AAClB,SAASC,KAAK,QAAQ;AAEtB,SAASC,aAAa,QAAQ;AAC9B,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,uBAAuB,QAAQ;AACxC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,WAAW,QAAQ;AA6D5B;;;;;AAKA,OAAO,SAASC,WAAW;EACzBC,WAAW;EACXC,mBAAA,GAAsB,KAAK;EAC3BC,kBAAA,GAAqB,KAAK;EAC1BC,WAAW;EACXC,MAAM;EACNC,UAAU;EACVC,KAAK;EACLC,QAAQ;EACRC;AAAK,CACW;EAChB,MAAM;IAAEC;EAAC,CAAE,GAAGhB,cAAA;EAEd,MAAM;IACJiB,MAAA,EAAQ;MACNC,WAAW;MACXC,MAAA,EAAQ;QAAEC;MAAG;IAAE;EAChB,CACF,GAAGtB,SAAA;EAEJ,MAAM;IAAEuB,IAAA,EAAMC;EAAM,CAAE,GAAGvB,SAAA;EACzB,MAAM;IAAEwB;EAAI,CAAE,GAAGvB,cAAA;EACjB,MAAM;IAAEwB;EAAS,CAAE,GAAGlC,QAAA;EAEtB,MAAM,CAACmC,iBAAA,EAAmBC,oBAAA,CAAqB,GAAG/B,KAAA,CAAMgC,QAAQ,CAAC;EACjE,MAAMC,2BAAA,GAA8B,GAAGlB,WAAA,GAAc,GAAGA,WAAA,GAAc,GAAG,4BAA4B;EAErG,MAAMmB,YAAA,GAAelC,KAAA,CAAMmC,WAAW,CAAC;IACrC,MAAMC,qBAAA,GAAwBC,MAAA,CAAOC,IAAI,CAACrB,UAAA,EAAYsB,MAAM,KAAK;IACjE,MAAMC,MAAA,GAA4B,CAAC;IAEnC,KAAK,MAAM,CAACC,UAAA,EAAY;MAAEC,GAAG;MAAEC,GAAA,GAAM;IAAE,CAAE,CAAC,IAAIN,MAAA,CAAOO,OAAO,CAAC3B,UAAA,GAAa;MACxE,MAAM4B,gBAAA,GAAmBtB,WAAA,CAAYuB,IAAI,CAAC,CAAC;QAAEC;MAAI,CAAE,KAAKA,IAAA,KAASN,UAAA;MAEjE,IAAII,gBAAA,EAAkB;QACpB,IAAIG,eAAA;QAEJ,IAAIN,GAAA,EAAK;UACP;UACA,IAAIN,qBAAA,IAAyBhB,KAAA,EAAO;YAClC4B,eAAA,GACE7B,QAAA,KAAa,UACT;cACE8B,GAAA,EAAK,C,IACCC,KAAA,CAAMC,OAAO,CAAC/B,KAAA,CAAM6B,GAAG,IAAI7B,KAAA,CAAM6B,GAAG,GAAG,CAAC7B,KAAA,CAAM,GAClD;gBAAEgC,SAAA,EAAW;kBAAEC,MAAA,EAAQ;gBAAK;cAAE;YAElC,IACAjC,KAAA;UACR,OAAO;YACL4B,eAAA,GACE7B,QAAA,KAAa,UACT;cACE8B,GAAA,EAAK,CAAC;gBAAEK,EAAA,EAAI;kBAAEC,UAAA,EAAY;gBAAG;cAAE,GAAG;gBAAEH,SAAA,EAAW;kBAAEC,MAAA,EAAQ;gBAAK;cAAE;YAClE,IACA;cACEC,EAAA,EAAI;gBAAEC,UAAA,EAAY;cAAG;YACvB;UACR;QACF,OAAO;UACL;UACAP,eAAA,GAAkB;YAChBC,GAAA,EAAK,CACH;cAAEK,EAAA,EAAI;gBAAEE,EAAA,EAAIb;cAAI;YAAE,G,IACdxB,QAAA,KAAa,UAAU,CAAC;cAAEiC,SAAA,EAAW;gBAAEC,MAAA,EAAQ;cAAK;YAAE,EAAE,GAAG,EAAE;UAErE;QACF;QAEA,MAAMI,GAAA,GAAM5D,cAAA,CAAe;UACzB6D,QAAA,EAAUjC,GAAA;UACVkC,IAAA,EAAM,IAAIlB,UAAA,GAAa1C,EAAA,CAAG6D,SAAS,CACjC;YACEC,KAAA,EAAO;YACPlC,MAAA;YACAmC,MAAA,EAAQ,CAAC;YACT1C,KAAA,EAAOtB,uBAAA,CAAwB;cAC7B+C,gBAAA;cACA7B,MAAA;cACAI,KAAA,EAAO4B;YACT;YACA,IAAI7B,QAAA,KAAa,UAAU;cAAED,KAAA,EAAO;YAAK,IAAI,CAAC,CAAC;UACjD,GACA;YAAE6C,cAAA,EAAgB;UAAK;QAE3B;QAEA,MAAMC,iBAAA,GAAoBzD,uBAAA,CAAwB;UAChDuB,iBAAA;UACAjB,mBAAA;UACAC,kBAAA,EAAoBmD,OAAA,CAAQpB,gBAAA,CAAiB3B,KAAK,KAAKJ,kBAAA;UACvDoD,WAAA,EAAa/C,QAAA,KAAa;QAC5B;QAEA,MAAMgD,kBAAA,GAAqBH,iBAAA,GACvB,MAAM1D,QAAA,CAAS8D,MAAM,CAACX,GAAA,EAAK;UACzBY,OAAA,EAAS;YACP,mBAAmBzC,IAAA,CAAK0C,QAAQ;YAChC,gBAAgB;UAClB;QACF,KACA,MAAMhE,QAAA,CAASiE,KAAK,CAACd,GAAA,EAAK;UACxBe,IAAA,EAAMC,IAAA,CAAKb,SAAS,CAAC;YACnBR,SAAA,EAAW,IAAIsB,IAAA,GAAOC,WAAW;UACnC;UACAN,OAAA,EAAS;YACP,mBAAmBzC,IAAA,CAAK0C,QAAQ;YAChC,gBAAgB;UAClB;QACF;QAEJ,IAAI;UACF,MAAM;YAAEM,MAAM;YAAEC;UAAQ,CAAE,GAAGhC,gBAAA,CAAiBiC,MAAM;UACpD,MAAMC,IAAA,GAAO,MAAMZ,kBAAA,CAAmBY,IAAI;UAE1C,MAAMC,WAAA,GAAcD,IAAA,EAAME,IAAA,CAAK1C,MAAA,IAAU;UACzC,MAAM2C,YAAA,GAAeF,WAAA,GAAc,IAAIJ,MAAA,GAASC,QAAA;UAEhD,IAAIV,kBAAA,CAAmBgB,MAAM,GAAG,OAAOH,WAAA,GAAc,GAAG;YACtD,IAAII,UAAA;YAKJ,IAAI,CAACpB,iBAAA,EAAmB;cACtBoB,UAAA,GAAa;YACf,OAAO,IAAIjE,QAAA,KAAa,WAAYN,mBAAA,IAAuBiB,iBAAA,EAAoB;cAC7EsD,UAAA,GAAa;YACf,OAAO;cACLA,UAAA,GAAa;YACf;YAEAnF,KAAA,CAAMoF,OAAO,CACXhE,CAAA,CAAE+D,UAAA,EAAY;cACZE,KAAA,EAAON,WAAA;cACPO,KAAA,EAAO3F,cAAA,CAAesF,YAAA,EAActD,IAAA;YACtC;UAEJ;UAEA,IAAImD,IAAA,EAAMS,MAAA,CAAOjD,MAAA,GAAS,GAAG;YAC3BtC,KAAA,CAAMwF,KAAK,CAACV,IAAA,CAAKW,OAAO,EAAE;cACxBC,WAAA,EAAaZ,IAAA,CAAKS,MAAM,CAACI,GAAG,CAAEH,KAAA,IAAUA,KAAA,CAAMC,OAAO,EAAEG,IAAI,CAAC;YAC9D;UACF;UAEArD,MAAM,CAACC,UAAA,CAAW,GAAG;YACnBqD,YAAA,EAAcd,WAAA;YACdQ,MAAA,EAAQT,IAAA,EAAMS,MAAA,IAAU;YACxB7C,GAAA,EAAKoC,IAAA,EAAME,IAAA,CAAKW,GAAA,CAAKG,GAAA,IAAQA,GAAA,CAAIzC,EAAE,KAAK,EAAE;YAC1C0C,UAAA,EAAYjB,IAAA,CAAKkB;UACnB;UAEA,IAAI9B,kBAAA,CAAmBgB,MAAM,GAAG,OAAOJ,IAAA,EAAMS,MAAA,CAAOjD,MAAA,KAAW,GAAG;YAChEtC,KAAA,CAAMwF,KAAK,CAACpE,CAAA,CAAE;YACdmB,MAAM,CAACC,UAAA,CAAW,CAAC+C,MAAM,GAAG,CAACnE,CAAA,CAAE,iBAAiB;UAClD;UAEA;QACF,EAAE,OAAO6E,IAAA,EAAM;UACbjG,KAAA,CAAMwF,KAAK,CAACpE,CAAA,CAAE;UACdmB,MAAM,CAACC,UAAA,CAAW,GAAG;YACnBqD,YAAA,EAAc;YACdN,MAAA,EAAQ,CAACU,IAAA,CAAK;YACdvD,GAAA,EAAK,EAAE;YACPqD,UAAA,EAAY;UACd;UACA;QACF;MACF;IACF;IAEA,IAAI,OAAOpF,WAAA,KAAgB,YAAY;MACrCA,WAAA,CAAY4B,MAAA;IACd;EACF,GAAG,CACDvB,UAAA,EACAL,WAAA,EACAW,WAAA,EACAO,iBAAA,EACAjB,mBAAA,EACAC,kBAAA,EACAa,MAAA,EACAX,MAAA,EACAS,GAAA,EACAG,IAAA,EACAT,QAAA,EACAC,KAAA,EACAC,CAAA,CACD;EAED,MAAM;IAAEkE,KAAA,EAAOY,WAAW;IAAEC,UAAU,EAAVA;EAAU,CAAE,GAAG/D,MAAA,CAAOO,OAAO,CAAC3B,UAAA,EAAYoF,MAAM,CAC1E,CAACC,GAAA,EAAK,CAACC,GAAA,EAAKC,KAAA,CAAM,EAAEC,KAAA,EAAOC,KAAA;IACzB,MAAM7D,kBAAA,GAAmBtB,WAAA,CAAYuB,IAAI,CAAC,CAAC;MAAEC,IAAI,EAAJA;IAAI,CAAE,KAAKA,MAAA,KAASwD,GAAA;IACjE,IAAI1D,kBAAA,EAAkB;MACpB,MAAMuD,UAAA,GAAaE,GAAA,CAAIF,UAAU,KAAKO,SAAA,GAAYH,KAAA,CAAMR,UAAU,GAAGM,GAAA,CAAIF,UAAU;MACnF,MAAMQ,eAAA,GAAkB,GAAGN,GAAA,CAAIF,UAAU,KAAKO,SAAA,GAAY,GAAGH,KAAA,CAAMR,UAAU,GAAG,GAAG,KAAKpG,cAAA,CACtF4G,KAAA,CAAMR,UAAU,GAAG,IAAInD,kBAAA,CAAiBiC,MAAM,CAACF,MAAM,GAAG/B,kBAAA,CAAiBiC,MAAM,CAACD,QAAQ,EACxFjD,IAAA,GACC;MAEH,IAAIiF,QAAA;MAEJ,IAAIJ,KAAA,KAAUC,KAAA,CAAMnE,MAAM,GAAG,KAAKkE,KAAA,KAAU,GAAG;QAC7CI,QAAA,GAAW,GAAGP,GAAA,CAAIf,KAAK,QAAQqB,eAAA,EAAiB;MAClD,OAAO,IAAIH,KAAA,GAAQ,GAAG;QACpBI,QAAA,GAAW,GAAGP,GAAA,CAAIf,KAAK,KAAKqB,eAAA,EAAiB;MAC/C,OAAO;QACLC,QAAA,GAAWD,eAAA;MACb;MAEA,OAAO;QACLrB,KAAA,EAAOsB,QAAA;QACPT;MACF;IACF;IACA,OAAOE,GAAA;EACT,GACA;IACEf,KAAA,EAAO;IACPa,UAAA,EAAYO;EACd;EAGF,oBACEG,KAAA,CAAC9G,KAAA,CAAM+G,QAAQ;4BACbC,IAAA,CAACvG,mBAAA;MACC,cAAYY,CAAA,CAAE;MACd4F,SAAA,EAAU;MACVC,OAAA,EAASA,CAAA;QACPrF,SAAA,CAAUI,2BAAA;MACZ;gBAECZ,CAAA,CAAE;qBAEL2F,IAAA,CAACxG,iBAAA;MACCgE,IAAA,eACEsC,KAAA,CAAC9G,KAAA,CAAM+G,QAAQ;gCACbC,IAAA,CAAC;oBACE9F,KAAA,IAASJ,kBAAA,GACRK,QAAA,KAAa,uBACX6F,IAAA,CAACtG,WAAA;YACCyG,QAAA,EAAU;cACR,KAAKC,CAAC;gBAAEC;cAAQ,CAAE,kBAAKL,IAAA,CAAC;0BAAQK;;cAChC,KAAKC,CAAC;gBAAED,QAAQ,EAARA;cAAQ,CAAE,kBAAKL,IAAA,CAAC;0BAAQK;;YAClC;YACAE,OAAA,EAAQ;YACRlG,CAAA,EAAGA,CAAA;YACHmG,SAAA,EAAW;cACTlC,KAAA,EAAOc,YAAA,IAAc;cACrBb,KAAA,EAAOY;YACT;eAGF9E,CAAA,CAAE,6BAA6B;YAAEiE,KAAA,EAAOc,YAAA;YAAYb,KAAA,EAAOY;UAAY,KAGzE9E,CAAA,CAAE,8BAA8B;YAAEiE,KAAA,EAAOc,YAAA;YAAYb,KAAA,EAAOY;UAAY;YAG3EjF,KAAA,IAASJ,kBAAA,IAAsBD,mBAAA,IAAuBM,QAAA,KAAa,wBAClE6F,IAAA,CAAC9G,aAAA;UACCuH,OAAA,EAAS3F,iBAAA;UACTwB,EAAA,EAAG;UACHiC,KAAA,EAAOlE,CAAA,CAAE;UACTqG,IAAA,EAAK;UACLC,QAAA,EAAWC,CAAA,IAAM7F,oBAAA,CAAqB6F,CAAA,CAAEC,MAAM,CAACJ,OAAO;;;MAK9DK,eAAA,EAAiBzG,CAAA,CAAE;MACnB0G,OAAA,EAAS1G,CAAA,CAAE;MACX2G,SAAA,EAAW/F,2BAAA;MACXgG,SAAA,EAAW/F;;;AAInB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","mergeListSearchAndWhere","qs","React","toast","CheckboxInput","useConfig","useLocale","useTranslation","requests","shouldPermanentlyDelete","ConfirmationModal","ListSelectionButton","Translation","DeleteMany","afterDelete","hasDeletePermission","hasTrashPermission","modalPrefix","search","selections","trash","viewType","where","t","config","collections","routes","api","currentLocale","locale","code","i18n","openModal","deletePermanently","setDeletePermanently","useState","confirmManyDeleteDrawerSlug","handleDelete","useCallback","deletingOneCollection","Object","keys","length","result","relationTo","all","ids","entries","collectionConfig","find","slug","whereConstraint","and","Array","isArray","deletedAt","exists","id","not_equals","in","url","apiRoute","path","stringify","limit","select","addQueryPrefix","permanentlyDelete","Boolean","isTrashView","deleteManyResponse","delete","headers","language","patch","body","JSON","Date","toISOString","plural","singular","labels","json","deletedDocs","docs","successLabel","status","successKey","success","count","label","errors","error","message","description","map","join","deletedCount","doc","totalCount","totalDocs","_err","labelString","labelCount","reduce","acc","key","value","index","array","undefined","collectionLabel","newLabel","_jsxs","Fragment","_jsx","className","onClick","elements","0","children","1","i18nKey","variables","checked","name","onToggle","e","target","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/DeleteMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ViewTypes, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxInput } from '../../fields/Checkbox/Input.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { shouldPermanentlyDelete } from '../../utilities/shouldPermanentlyDelete.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { ListSelectionButton } from '../ListSelection/index.js'\nimport { Translation } from '../Translation/index.js'\n\ntype AfterDeleteResult = {\n [relationTo: string]: {\n deletedCount: number\n errors: unknown[]\n ids: (number | string)[]\n totalCount: number\n }\n}\nexport type DeleteManyProps = {\n /**\n * A callback function to be called after the delete request is completed.\n */\n afterDelete?: (result: AfterDeleteResult) => void\n /**\n * Whether the user has permission to permanently delete documents.\n * When false, the \"delete permanently\" checkbox will be hidden.\n */\n hasDeletePermission?: boolean\n /**\n * Whether the user has permission to trash (soft delete) documents.\n * When false and hasDeletePermission is true, only permanent delete is available.\n */\n hasTrashPermission?: boolean\n /**\n * When multiple DeleteMany components are rendered on the page, this will differentiate them.\n */\n modalPrefix?: string\n /**\n * Optionally pass a search string to filter the documents to be deleted.\n *\n * This is intentionally passed as a prop so modals could pass in their own\n * search string that may not be stored in the URL.\n */\n search?: string\n /**\n * An object containing the relationTo as the key and an object with the following properties:\n * - all: boolean\n * - totalCount: number\n * - ids: (string | number)[]\n */\n selections: {\n [relationTo: string]: {\n all?: boolean\n ids?: (number | string)[]\n totalCount?: number\n }\n }\n trash?: boolean\n viewType?: ViewTypes\n /**\n * Optionally pass a where clause to filter the documents to be deleted.\n * This will be ignored if multiple relations are selected.\n *\n * This is intentionally passed as a prop so modals could pass in their own\n * where clause that may not be stored in the URL.\n */\n where?: Where\n}\n\n/**\n * Handles polymorphic document delete operations.\n *\n * If you are deleting monomorphic documents, shape your `selections` to match the polymorphic structure.\n */\nexport function DeleteMany({\n afterDelete,\n hasDeletePermission = false,\n hasTrashPermission = false,\n modalPrefix,\n search,\n selections,\n trash,\n viewType,\n where,\n}: DeleteManyProps) {\n const { t } = useTranslation()\n\n const {\n config: {\n collections,\n routes: { api },\n },\n } = useConfig()\n\n const currentLocale = useLocale()\n const locale = currentLocale?.code\n const { i18n } = useTranslation()\n const { openModal } = useModal()\n\n const [deletePermanently, setDeletePermanently] = React.useState(false)\n const confirmManyDeleteDrawerSlug = `${modalPrefix ? `${modalPrefix}-` : ''}confirm-delete-many-docs`\n\n const handleDelete = React.useCallback(async () => {\n const deletingOneCollection = Object.keys(selections).length === 1\n const result: AfterDeleteResult = {}\n\n for (const [relationTo, { all, ids = [] }] of Object.entries(selections)) {\n const collectionConfig = collections.find(({ slug }) => slug === relationTo)\n\n if (collectionConfig) {\n let whereConstraint: Where\n\n if (all) {\n // selecting all documents with optional where filter\n if (deletingOneCollection && where) {\n whereConstraint =\n viewType === 'trash'\n ? {\n and: [\n ...(Array.isArray(where.and) ? where.and : [where]),\n { deletedAt: { exists: true } },\n ],\n }\n : where\n } else {\n whereConstraint =\n viewType === 'trash'\n ? {\n and: [{ id: { not_equals: '' } }, { deletedAt: { exists: true } }],\n }\n : {\n id: { not_equals: '' },\n }\n }\n } else {\n // selecting specific documents\n whereConstraint = {\n and: [\n { id: { in: ids } },\n ...(viewType === 'trash' ? [{ deletedAt: { exists: true } }] : []),\n ],\n }\n }\n\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${relationTo}${qs.stringify(\n {\n limit: 0,\n locale,\n select: {},\n where: mergeListSearchAndWhere({\n collectionConfig,\n search,\n where: whereConstraint,\n }),\n ...(viewType === 'trash' ? { trash: true } : {}),\n },\n { addQueryPrefix: true },\n )}`,\n })\n\n const permanentlyDelete = shouldPermanentlyDelete({\n deletePermanently,\n hasDeletePermission,\n hasTrashPermission: Boolean(collectionConfig.trash) && hasTrashPermission,\n isTrashView: viewType === 'trash',\n })\n\n const deleteManyResponse = permanentlyDelete\n ? await requests.delete(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n : await requests.patch(url, {\n body: JSON.stringify({\n deletedAt: new Date().toISOString(),\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n try {\n const { plural, singular } = collectionConfig.labels\n const json = await deleteManyResponse.json()\n\n const deletedDocs = json?.docs.length || 0\n const successLabel = deletedDocs > 1 ? plural : singular\n\n if (deleteManyResponse.status < 400 || deletedDocs > 0) {\n let successKey:\n | 'general:deletedCountSuccessfully'\n | 'general:permanentlyDeletedCountSuccessfully'\n | 'general:trashedCountSuccessfully'\n\n if (!permanentlyDelete) {\n successKey = 'general:trashedCountSuccessfully'\n } else if (viewType === 'trash' || (hasDeletePermission && deletePermanently)) {\n successKey = 'general:permanentlyDeletedCountSuccessfully'\n } else {\n successKey = 'general:deletedCountSuccessfully'\n }\n\n toast.success(\n t(successKey, {\n count: deletedDocs,\n label: getTranslation(successLabel, i18n),\n }),\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 result[relationTo] = {\n deletedCount: deletedDocs,\n errors: json?.errors || null,\n ids: json?.docs.map((doc) => doc.id) || [],\n totalCount: json.totalDocs,\n }\n\n if (deleteManyResponse.status > 400 && json?.errors.length === 0) {\n toast.error(t('error:unknown'))\n result[relationTo].errors = [t('error:unknown')]\n }\n\n continue\n } catch (_err) {\n toast.error(t('error:unknown'))\n result[relationTo] = {\n deletedCount: 0,\n errors: [_err],\n ids: [],\n totalCount: 0,\n }\n continue\n }\n }\n }\n\n if (typeof afterDelete === 'function') {\n afterDelete(result)\n }\n }, [\n selections,\n afterDelete,\n collections,\n deletePermanently,\n hasDeletePermission,\n hasTrashPermission,\n locale,\n search,\n api,\n i18n,\n viewType,\n where,\n t,\n ])\n\n const { label: labelString, labelCount } = Object.entries(selections).reduce(\n (acc, [key, value], index, array) => {\n const collectionConfig = collections.find(({ slug }) => slug === key)\n if (collectionConfig) {\n const labelCount = acc.labelCount === undefined ? value.totalCount : acc.labelCount\n const collectionLabel = `${acc.labelCount !== undefined ? `${value.totalCount} ` : ''}${getTranslation(\n value.totalCount > 1 ? collectionConfig.labels.plural : collectionConfig.labels.singular,\n i18n,\n )}`\n\n let newLabel\n\n if (index === array.length - 1 && index !== 0) {\n newLabel = `${acc.label} and ${collectionLabel}`\n } else if (index > 0) {\n newLabel = `${acc.label}, ${collectionLabel}`\n } else {\n newLabel = collectionLabel\n }\n\n return {\n label: newLabel,\n labelCount,\n }\n }\n return acc\n },\n {\n label: '',\n labelCount: undefined,\n },\n )\n\n return (\n <React.Fragment>\n <ListSelectionButton\n aria-label={t('general:delete')}\n className=\"delete-documents__toggle\"\n onClick={() => {\n openModal(confirmManyDeleteDrawerSlug)\n }}\n >\n {t('general:delete')}\n </ListSelectionButton>\n <ConfirmationModal\n body={\n <React.Fragment>\n <p>\n {trash && hasTrashPermission ? (\n viewType === 'trash' ? (\n <Translation\n elements={{\n '0': ({ children }) => <strong>{children}</strong>,\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToPermanentlyDeleteTrash\"\n t={t}\n variables={{\n count: labelCount ?? 0,\n label: labelString,\n }}\n />\n ) : (\n t('general:aboutToTrashCount', { count: labelCount, label: labelString })\n )\n ) : (\n t('general:aboutToDeleteCount', { count: labelCount, label: labelString })\n )}\n </p>\n {trash && hasTrashPermission && hasDeletePermission && viewType !== 'trash' && (\n <CheckboxInput\n checked={deletePermanently}\n id=\"delete-forever\"\n label={t('general:deletePermanently')}\n name=\"delete-forever\"\n onToggle={(e) => setDeletePermanently(e.target.checked)}\n />\n )}\n </React.Fragment>\n }\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={confirmManyDeleteDrawerSlug}\n onConfirm={handleDelete}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
position: fixed;
|
|
7
7
|
inset: 0;
|
|
8
8
|
|
|
9
|
-
--gutter-h: var(--spacer-
|
|
9
|
+
--gutter-h: var(--spacer-3);
|
|
10
10
|
--gutter-v: var(--spacer-4);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
@media (
|
|
13
|
+
@media (min-width: 768px) {
|
|
14
14
|
.drawer {
|
|
15
|
-
--gutter-h: var(--spacer-
|
|
15
|
+
--gutter-h: var(--spacer-4);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
position: relative;
|
|
34
34
|
z-index: 2;
|
|
35
35
|
width: clamp(600px, 40vw, 1080px);
|
|
36
|
-
max-width: 100vw;
|
|
36
|
+
max-width: calc(100vw - var(--spacer-3));
|
|
37
37
|
background-color: var(--color-bg);
|
|
38
38
|
box-shadow: var(--elevation-400-menu-panel);
|
|
39
39
|
container: drawer / inline-size;
|
|
@@ -41,6 +41,12 @@
|
|
|
41
41
|
transition: transform 100ms ease-out;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
@media (min-width: 768px) {
|
|
45
|
+
.drawer__content {
|
|
46
|
+
max-width: 100vw;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
44
50
|
.drawer__content-children {
|
|
45
51
|
position: relative;
|
|
46
52
|
z-index: 1;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
@layer payload-default {
|
|
2
2
|
.dropzone {
|
|
3
3
|
position: relative;
|
|
4
|
-
display:
|
|
4
|
+
display: block;
|
|
5
|
+
text-align: center;
|
|
5
6
|
align-items: flex-start;
|
|
6
7
|
background-color: var(--color-bg-secondary);
|
|
7
8
|
border: var(--stroke-width-small) dashed var(--special-border-translucent);
|
|
@@ -17,6 +18,11 @@
|
|
|
17
18
|
background: var(--color-bg-hover);
|
|
18
19
|
}
|
|
19
20
|
|
|
21
|
+
&:focus {
|
|
22
|
+
outline: var(--accessibility-outline);
|
|
23
|
+
outline-offset: calc(-2 * var(--accessibility-outline-offset));
|
|
24
|
+
}
|
|
25
|
+
|
|
20
26
|
&.dragging {
|
|
21
27
|
background: var(--color-bg-brand-tertiary);
|
|
22
28
|
|
|
@@ -25,9 +31,9 @@
|
|
|
25
31
|
}
|
|
26
32
|
}
|
|
27
33
|
|
|
28
|
-
@media (
|
|
29
|
-
display:
|
|
30
|
-
text-align:
|
|
34
|
+
@media (min-width: 768px) {
|
|
35
|
+
display: flex;
|
|
36
|
+
text-align: start;
|
|
31
37
|
}
|
|
32
38
|
|
|
33
39
|
&.dropzone--style-default {
|
|
@@ -31,6 +31,7 @@ export const SelectLocalesDrawer = ({
|
|
|
31
31
|
t
|
|
32
32
|
} = useTranslation();
|
|
33
33
|
const {
|
|
34
|
+
closeModal,
|
|
34
35
|
toggleModal
|
|
35
36
|
} = useModal();
|
|
36
37
|
const [selectedLocales, setSelectedLocales] = useState([]);
|
|
@@ -50,8 +51,8 @@ export const SelectLocalesDrawer = ({
|
|
|
50
51
|
await onConfirm({
|
|
51
52
|
selectedLocales
|
|
52
53
|
});
|
|
53
|
-
|
|
54
|
-
}, [onConfirm, selectedLocales, slug
|
|
54
|
+
closeModal(slug);
|
|
55
|
+
}, [closeModal, onConfirm, selectedLocales, slug]);
|
|
55
56
|
return /*#__PURE__*/_jsxs(Drawer, {
|
|
56
57
|
className: baseClass,
|
|
57
58
|
Header: /*#__PURE__*/_jsx(DrawerHeader, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useModal","getTranslation","setsAreEqual","React","useCallback","useMemo","useState","CheckboxInput","useTranslation","Button","Drawer","DrawerHeader","getLocaleOptions","i18n","localization","locales","map","locale","label","value","code","baseClass","SelectLocalesDrawer","slug","onConfirm","t","toggleModal","selectedLocales","setSelectedLocales","localeOptions","allLocales","allLocalesSelected","Set","handleSelectAll","handleToggleLocale","localeValue","prev","includes","filter","l","handleConfirm","_jsxs","className","Header","_jsx","onClose","title","buttonStyle","disabled","length","iconPosition","id","onClick","size","checked","count","onToggle"],"sources":["../../../../src/elements/DuplicateDocument/SelectLocalesDrawer/index.tsx"],"sourcesContent":["'use client'\n\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { ClientConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { setsAreEqual } from 'payload/shared'\nimport React, { useCallback, useMemo, useState } from 'react'\n\nimport { CheckboxInput } from '../../../fields/Checkbox/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { DrawerHeader } from '../../DrawerHeader/index.js'\nimport './index.css'\n\nexport type LocaleOption = {\n label: string\n value: string\n}\n\nexport type SelectLocalesDrawerProps = {\n readonly localization: Exclude<ClientConfig['localization'], false>\n readonly onConfirm: (args: { selectedLocales: string[] }) => Promise<void> | void\n readonly slug: string\n}\n\nconst getLocaleOptions = ({\n i18n,\n localization,\n}: {\n i18n: I18nClient\n localization: SelectLocalesDrawerProps['localization']\n}): LocaleOption[] => {\n return localization.locales.map((locale) => ({\n label: getTranslation(locale.label, i18n),\n value: locale.code,\n }))\n}\n\nconst baseClass = 'select-locales-drawer'\n\nexport const SelectLocalesDrawer: React.FC<SelectLocalesDrawerProps> = ({\n slug,\n localization,\n onConfirm,\n}) => {\n const { i18n, t } = useTranslation()\n const { toggleModal } = useModal()\n const [selectedLocales, setSelectedLocales] = useState<string[]>([])\n\n const localeOptions = useMemo(\n () => getLocaleOptions({ i18n, localization }),\n [localization, i18n],\n )\n const allLocales = useMemo(() => localeOptions.map((locale) => locale.value), [localeOptions])\n const allLocalesSelected = useMemo(\n () => setsAreEqual(new Set(selectedLocales), new Set(allLocales)),\n [selectedLocales, allLocales],\n )\n\n const handleSelectAll = useCallback(() => {\n setSelectedLocales(allLocalesSelected ? [] : [...allLocales])\n }, [allLocalesSelected, allLocales])\n\n const handleToggleLocale = useCallback((localeValue: string) => {\n setSelectedLocales((prev) =>\n prev.includes(localeValue) ? prev.filter((l) => l !== localeValue) : [...prev, localeValue],\n )\n }, [])\n\n const handleConfirm = useCallback(async () => {\n await onConfirm({ selectedLocales })\n
|
|
1
|
+
{"version":3,"file":"index.js","names":["useModal","getTranslation","setsAreEqual","React","useCallback","useMemo","useState","CheckboxInput","useTranslation","Button","Drawer","DrawerHeader","getLocaleOptions","i18n","localization","locales","map","locale","label","value","code","baseClass","SelectLocalesDrawer","slug","onConfirm","t","closeModal","toggleModal","selectedLocales","setSelectedLocales","localeOptions","allLocales","allLocalesSelected","Set","handleSelectAll","handleToggleLocale","localeValue","prev","includes","filter","l","handleConfirm","_jsxs","className","Header","_jsx","onClose","title","buttonStyle","disabled","length","iconPosition","id","onClick","size","checked","count","onToggle"],"sources":["../../../../src/elements/DuplicateDocument/SelectLocalesDrawer/index.tsx"],"sourcesContent":["'use client'\n\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { ClientConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { setsAreEqual } from 'payload/shared'\nimport React, { useCallback, useMemo, useState } from 'react'\n\nimport { CheckboxInput } from '../../../fields/Checkbox/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { DrawerHeader } from '../../DrawerHeader/index.js'\nimport './index.css'\n\nexport type LocaleOption = {\n label: string\n value: string\n}\n\nexport type SelectLocalesDrawerProps = {\n readonly localization: Exclude<ClientConfig['localization'], false>\n readonly onConfirm: (args: { selectedLocales: string[] }) => Promise<void> | void\n readonly slug: string\n}\n\nconst getLocaleOptions = ({\n i18n,\n localization,\n}: {\n i18n: I18nClient\n localization: SelectLocalesDrawerProps['localization']\n}): LocaleOption[] => {\n return localization.locales.map((locale) => ({\n label: getTranslation(locale.label, i18n),\n value: locale.code,\n }))\n}\n\nconst baseClass = 'select-locales-drawer'\n\nexport const SelectLocalesDrawer: React.FC<SelectLocalesDrawerProps> = ({\n slug,\n localization,\n onConfirm,\n}) => {\n const { i18n, t } = useTranslation()\n const { closeModal, toggleModal } = useModal()\n const [selectedLocales, setSelectedLocales] = useState<string[]>([])\n\n const localeOptions = useMemo(\n () => getLocaleOptions({ i18n, localization }),\n [localization, i18n],\n )\n const allLocales = useMemo(() => localeOptions.map((locale) => locale.value), [localeOptions])\n const allLocalesSelected = useMemo(\n () => setsAreEqual(new Set(selectedLocales), new Set(allLocales)),\n [selectedLocales, allLocales],\n )\n\n const handleSelectAll = useCallback(() => {\n setSelectedLocales(allLocalesSelected ? [] : [...allLocales])\n }, [allLocalesSelected, allLocales])\n\n const handleToggleLocale = useCallback((localeValue: string) => {\n setSelectedLocales((prev) =>\n prev.includes(localeValue) ? prev.filter((l) => l !== localeValue) : [...prev, localeValue],\n )\n }, [])\n\n const handleConfirm = useCallback(async () => {\n await onConfirm({ selectedLocales })\n closeModal(slug)\n }, [closeModal, onConfirm, selectedLocales, slug])\n\n return (\n <Drawer\n className={baseClass}\n Header={\n <DrawerHeader\n onClose={() => {\n toggleModal(slug)\n }}\n title={`${t('general:duplicate')} ${t('localization:selectedLocales')}`}\n />\n }\n slug={slug}\n >\n <div className={`${baseClass}__sub-header`}>\n <span>{t('localization:selectLocaleToDuplicate')}</span>\n <Button\n buttonStyle=\"primary\"\n disabled={selectedLocales.length === 0}\n iconPosition=\"left\"\n id=\"#action-duplicate-confirm\"\n onClick={handleConfirm}\n size=\"medium\"\n >\n {t('general:duplicate')}\n </Button>\n </div>\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__item`}>\n <CheckboxInput\n checked={allLocalesSelected}\n id=\"select-locale-all\"\n label={t('general:selectAll', {\n count: allLocales.length,\n label: t('general:locales'),\n })}\n onToggle={handleSelectAll}\n />\n </div>\n {localeOptions.map((locale) => (\n <div className={`${baseClass}__item`} key={locale.value}>\n <CheckboxInput\n checked={selectedLocales.includes(locale.value)}\n id={`select-locale-${locale.value}`}\n label={locale.label}\n onToggle={() => handleToggleLocale(locale.value)}\n />\n </div>\n ))}\n </div>\n </Drawer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DuplicateDocument/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxD,OAAO,KAA+B,MAAM,OAAO,CAAA;AAGnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAc9E,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DuplicateDocument/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxD,OAAO,KAA+B,MAAM,OAAO,CAAA;AAGnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAc9E,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA4K7C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","hasDraftsEnabled","qs","React","useCallback","useMemo","toast","useForm","useFormModified","useConfig","useLocale","useRouter","useRouteTransition","useTranslation","requests","traverseForLocalizedFields","ConfirmationModal","PopupList","SelectLocalesDrawer","DuplicateDocument","id","slug","onDuplicate","redirectAfterDuplicate","selectLocales","singularLabel","router","modified","openModal","code","localeCode","setModified","startRouteTransition","config","localization","routes","admin","adminRoute","api","apiRoute","getEntityConfig","collectionConfig","collectionSlug","i18n","t","modalSlug","drawerSlug","isDuplicateByLocaleEnabled","fields","handleDuplicate","args","selectedLocales","hasSelectedLocales","length","queryParams","locale","headers","language","credentials","res","post","path","stringify","addQueryPrefix","body","JSON","_status","doc","errors","message","json","status","success","label","push","error","_error","handleConfirmWithoutSaving","buttonLabel","_jsxs","Fragment","_jsx","Button","onClick","confirmLabel","heading","onConfirm"],"sources":["../../../src/elements/DuplicateDocument/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, hasDraftsEnabled } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouter } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { SelectLocalesDrawer } from './SelectLocalesDrawer/index.js'\n\nexport type Props = {\n readonly id: number | string\n readonly onDuplicate?: DocumentDrawerContextType['onDuplicate']\n readonly redirectAfterDuplicate?: boolean\n readonly selectLocales?: boolean\n readonly singularLabel: SanitizedCollectionConfig['labels']['singular']\n readonly slug: string\n}\n\nexport const DuplicateDocument: React.FC<Props> = ({\n id,\n slug,\n onDuplicate,\n redirectAfterDuplicate = true,\n selectLocales,\n singularLabel,\n}) => {\n const router = useRouter()\n const modified = useFormModified()\n const { openModal } = useModal()\n const { code: localeCode } = useLocale()\n const { setModified } = useForm()\n const { startRouteTransition } = useRouteTransition()\n\n const {\n config: {\n localization,\n routes: { admin: adminRoute, api: apiRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: slug })\n\n const { i18n, t } = useTranslation()\n\n const modalSlug = `duplicate-${id}`\n const drawerSlug = `duplicate-locales-${id}`\n\n const isDuplicateByLocaleEnabled = useMemo(() => {\n if (selectLocales && collectionConfig) {\n return traverseForLocalizedFields(collectionConfig.fields)\n }\n return false\n }, [collectionConfig, selectLocales])\n\n const handleDuplicate = useCallback(\n async (args?: { selectedLocales?: string[] }) => {\n const { selectedLocales } = args || {}\n const hasSelectedLocales = selectedLocales && selectedLocales.length > 0\n\n const queryParams: Record<string, string | string[]> = {}\n if (localeCode) {\n queryParams.locale = localeCode\n }\n if (hasSelectedLocales) {\n queryParams.selectedLocales = selectedLocales\n }\n\n const headers = {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n credentials: 'include',\n }\n\n try {\n const res = await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${slug}/${id}/duplicate${qs.stringify(queryParams, {\n addQueryPrefix: true,\n })}`,\n }),\n {\n body: JSON.stringify(hasDraftsEnabled(collectionConfig) ? { _status: 'draft' } : {}),\n headers,\n },\n )\n\n const { doc, errors, message } = await res.json()\n\n if (res.status < 400) {\n toast.success(\n message ||\n t('general:successfullyDuplicated', { label: getTranslation(singularLabel, i18n) }),\n )\n\n setModified(false)\n\n if (redirectAfterDuplicate) {\n return startRouteTransition(() =>\n router.push(\n formatAdminURL({\n adminRoute,\n path: `/collections/${slug}/${doc.id}${localeCode ? `?locale=${localeCode}` : ''}`,\n }),\n ),\n )\n }\n\n if (typeof onDuplicate === 'function') {\n void onDuplicate({ collectionConfig, doc })\n }\n } else {\n toast.error(\n errors?.[0].message ||\n message ||\n t('error:unspecific', { label: getTranslation(singularLabel, i18n) }),\n )\n }\n } catch (_error) {\n toast.error(t('error:unspecific', { label: getTranslation(singularLabel, i18n) }))\n }\n },\n [\n adminRoute,\n apiRoute,\n collectionConfig,\n i18n,\n id,\n localeCode,\n onDuplicate,\n redirectAfterDuplicate,\n router,\n setModified,\n singularLabel,\n slug,\n startRouteTransition,\n t,\n ],\n )\n\n const handleConfirmWithoutSaving = useCallback(async () => {\n if (selectLocales) {\n openModal(drawerSlug)\n } else {\n await handleDuplicate()\n }\n }, [handleDuplicate, drawerSlug, selectLocales, openModal])\n\n const buttonLabel = selectLocales\n ? `${t('general:duplicate')} ${t('localization:selectedLocales')}`\n : t('general:duplicate')\n\n if (!selectLocales || isDuplicateByLocaleEnabled) {\n return (\n <React.Fragment>\n <PopupList.Button\n id={`action-duplicate${isDuplicateByLocaleEnabled ? `-locales` : ''}`}\n onClick={() => {\n if (modified) {\n openModal(modalSlug)\n } else if (selectLocales) {\n openModal(drawerSlug)\n } else {\n void handleDuplicate()\n }\n }}\n >\n {buttonLabel}\n </PopupList.Button>\n <ConfirmationModal\n body={t('general:unsavedChangesDuplicate')}\n confirmLabel={t('general:duplicateWithoutSaving')}\n heading={t('general:unsavedChanges')}\n modalSlug={modalSlug}\n onConfirm={handleConfirmWithoutSaving}\n />\n {selectLocales && localization && (\n <SelectLocalesDrawer\n localization={localization}\n onConfirm={handleDuplicate}\n slug={drawerSlug}\n />\n )}\n </React.Fragment>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","hasDraftsEnabled","qs","React","useCallback","useMemo","toast","useForm","useFormModified","useConfig","useLocale","useRouter","useRouteTransition","useTranslation","requests","traverseForLocalizedFields","ConfirmationModal","PopupList","SelectLocalesDrawer","DuplicateDocument","id","slug","onDuplicate","redirectAfterDuplicate","selectLocales","singularLabel","router","modified","openModal","locale","localeCode","code","setModified","startRouteTransition","config","localization","routes","admin","adminRoute","api","apiRoute","getEntityConfig","collectionConfig","collectionSlug","i18n","t","modalSlug","drawerSlug","isDuplicateByLocaleEnabled","fields","handleDuplicate","args","selectedLocales","hasSelectedLocales","length","queryParams","headers","language","credentials","res","post","path","stringify","addQueryPrefix","body","JSON","_status","doc","errors","message","json","status","success","label","push","error","_error","handleConfirmWithoutSaving","buttonLabel","_jsxs","Fragment","_jsx","Button","onClick","confirmLabel","heading","onConfirm"],"sources":["../../../src/elements/DuplicateDocument/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, hasDraftsEnabled } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouter } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { SelectLocalesDrawer } from './SelectLocalesDrawer/index.js'\n\nexport type Props = {\n readonly id: number | string\n readonly onDuplicate?: DocumentDrawerContextType['onDuplicate']\n readonly redirectAfterDuplicate?: boolean\n readonly selectLocales?: boolean\n readonly singularLabel: SanitizedCollectionConfig['labels']['singular']\n readonly slug: string\n}\n\nexport const DuplicateDocument: React.FC<Props> = ({\n id,\n slug,\n onDuplicate,\n redirectAfterDuplicate = true,\n selectLocales,\n singularLabel,\n}) => {\n const router = useRouter()\n const modified = useFormModified()\n const { openModal } = useModal()\n const locale = useLocale()\n const localeCode = locale?.code\n const { setModified } = useForm()\n const { startRouteTransition } = useRouteTransition()\n\n const {\n config: {\n localization,\n routes: { admin: adminRoute, api: apiRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: slug })\n\n const { i18n, t } = useTranslation()\n\n const modalSlug = `duplicate-${id}`\n const drawerSlug = `duplicate-locales-${id}`\n\n const isDuplicateByLocaleEnabled = useMemo(() => {\n if (selectLocales && collectionConfig) {\n return traverseForLocalizedFields(collectionConfig.fields)\n }\n return false\n }, [collectionConfig, selectLocales])\n\n const handleDuplicate = useCallback(\n async (args?: { selectedLocales?: string[] }) => {\n const { selectedLocales } = args || {}\n const hasSelectedLocales = selectedLocales && selectedLocales.length > 0\n\n const queryParams: Record<string, string | string[]> = {}\n if (localeCode) {\n queryParams.locale = localeCode\n }\n if (hasSelectedLocales) {\n queryParams.selectedLocales = selectedLocales\n }\n\n const headers = {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n credentials: 'include',\n }\n\n try {\n const res = await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${slug}/${id}/duplicate${qs.stringify(queryParams, {\n addQueryPrefix: true,\n })}`,\n }),\n {\n body: JSON.stringify(hasDraftsEnabled(collectionConfig) ? { _status: 'draft' } : {}),\n headers,\n },\n )\n\n const { doc, errors, message } = await res.json()\n\n if (res.status < 400) {\n toast.success(\n message ||\n t('general:successfullyDuplicated', { label: getTranslation(singularLabel, i18n) }),\n )\n\n setModified(false)\n\n if (redirectAfterDuplicate) {\n return startRouteTransition(() =>\n router.push(\n formatAdminURL({\n adminRoute,\n path: `/collections/${slug}/${doc.id}${localeCode ? `?locale=${localeCode}` : ''}`,\n }),\n ),\n )\n }\n\n if (typeof onDuplicate === 'function') {\n void onDuplicate({ collectionConfig, doc })\n }\n } else {\n toast.error(\n errors?.[0].message ||\n message ||\n t('error:unspecific', { label: getTranslation(singularLabel, i18n) }),\n )\n }\n } catch (_error) {\n toast.error(t('error:unspecific', { label: getTranslation(singularLabel, i18n) }))\n }\n },\n [\n adminRoute,\n apiRoute,\n collectionConfig,\n i18n,\n id,\n localeCode,\n onDuplicate,\n redirectAfterDuplicate,\n router,\n setModified,\n singularLabel,\n slug,\n startRouteTransition,\n t,\n ],\n )\n\n const handleConfirmWithoutSaving = useCallback(async () => {\n if (selectLocales) {\n openModal(drawerSlug)\n } else {\n await handleDuplicate()\n }\n }, [handleDuplicate, drawerSlug, selectLocales, openModal])\n\n const buttonLabel = selectLocales\n ? `${t('general:duplicate')} ${t('localization:selectedLocales')}`\n : t('general:duplicate')\n\n if (!selectLocales || isDuplicateByLocaleEnabled) {\n return (\n <React.Fragment>\n <PopupList.Button\n id={`action-duplicate${isDuplicateByLocaleEnabled ? `-locales` : ''}`}\n onClick={() => {\n if (modified) {\n openModal(modalSlug)\n } else if (selectLocales) {\n openModal(drawerSlug)\n } else {\n void handleDuplicate()\n }\n }}\n >\n {buttonLabel}\n </PopupList.Button>\n <ConfirmationModal\n body={t('general:unsavedChangesDuplicate')}\n confirmLabel={t('general:duplicateWithoutSaving')}\n heading={t('general:unsavedChanges')}\n modalSlug={modalSlug}\n onConfirm={handleConfirmWithoutSaving}\n />\n {selectLocales && localization && (\n <SelectLocalesDrawer\n localization={localization}\n onConfirm={handleDuplicate}\n slug={drawerSlug}\n />\n )}\n </React.Fragment>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,KAAK,EAAE,MAAM,SAAS,CAAA;AAWhD,OAAO,KAAoD,MAAM,OAAO,CAAA;AAIxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAoB/C,OAAO,aAAa,CAAA;AACpB,OAAO,oCAAoC,CAAA;AAqF3C,KAAK,0BAA0B,GAAG;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,cAAc,EAAE,WAAW,EAAE,CAAA;IAC7B;;OAEG;IACH,iBAAiB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAClD,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,aAAa,CAAA;AAEjB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,
|
|
1
|
+
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,KAAK,EAAE,MAAM,SAAS,CAAA;AAWhD,OAAO,KAAoD,MAAM,OAAO,CAAA;AAIxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAoB/C,OAAO,aAAa,CAAA;AACpB,OAAO,oCAAoC,CAAA;AAqF3C,KAAK,0BAA0B,GAAG;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,cAAc,EAAE,WAAW,EAAE,CAAA;IAC7B;;OAEG;IACH,iBAAiB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAClD,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,aAAa,CAAA;AAEjB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAgRtE,CAAA"}
|
|
@@ -195,9 +195,8 @@ export const EditManyDrawerContent = props => {
|
|
|
195
195
|
permissions,
|
|
196
196
|
user
|
|
197
197
|
} = useAuth();
|
|
198
|
-
const
|
|
199
|
-
|
|
200
|
-
} = useLocale();
|
|
198
|
+
const currentLocale = useLocale();
|
|
199
|
+
const locale = currentLocale?.code;
|
|
201
200
|
const {
|
|
202
201
|
closeModal
|
|
203
202
|
} = useModal();
|
|
@@ -324,8 +323,8 @@ export const EditManyDrawerContent = props => {
|
|
|
324
323
|
skipValidation: true
|
|
325
324
|
});
|
|
326
325
|
dispatchFields({
|
|
327
|
-
type: '
|
|
328
|
-
|
|
326
|
+
type: 'MERGE_SERVER_STATE',
|
|
327
|
+
serverState: state_0
|
|
329
328
|
});
|
|
330
329
|
setIsInitializing(false);
|
|
331
330
|
}, [getFormState, collection.slug, collectionPermissions, setSelectedFields]);
|