@payloadcms/ui 4.0.0-internal.567a487 → 4.0.0-internal.5a4aa81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/AppHeader/index.css +0 -4
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +1 -4
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +2 -6
- 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/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +4 -9
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- 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/mergeFormStateFromClipboard.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +10 -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/ColumnSelection/Popup.d.ts.map +1 -1
- package/dist/elements/ColumnSelection/Popup.js +3 -3
- package/dist/elements/ColumnSelection/Popup.js.map +1 -1
- package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +10 -0
- package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +1 -0
- package/dist/elements/ColumnSelection/matchesColumnSearch.js +21 -0
- package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +1 -0
- package/dist/{utilities/matchesSearchQuery.spec.js → elements/ColumnSelection/matchesColumnSearch.spec.js} +29 -29
- package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +1 -0
- package/dist/elements/Combobox/index.css +23 -84
- package/dist/elements/Combobox/index.d.ts +0 -21
- package/dist/elements/Combobox/index.d.ts.map +1 -1
- package/dist/elements/Combobox/index.js +21 -66
- package/dist/elements/Combobox/index.js.map +1 -1
- 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/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +2 -9
- 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 +3 -7
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.css +3 -5
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +1 -32
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/Dropzone/index.css +10 -4
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +3 -9
- 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 +3 -7
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/FileManager/index.css +0 -30
- package/dist/elements/FileManager/index.d.ts.map +1 -1
- package/dist/elements/FileManager/index.js +379 -287
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.js +1 -4
- package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -4
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +1 -2
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +0 -2
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.js +0 -3
- package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +3 -7
- 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 -6
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js +1 -4
- package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +4 -9
- 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/Nav/context.js +2 -2
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/Nav/getNavPrefs.d.ts +0 -6
- package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -1
- package/dist/elements/Nav/getNavPrefs.js +46 -14
- package/dist/elements/Nav/getNavPrefs.js.map +1 -1
- package/dist/elements/NavGroup/index.js +1 -1
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.js +1 -4
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +8 -30
- 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 +7 -12
- 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 +3 -7
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/RestoreButton/index.d.ts.map +1 -1
- package/dist/elements/RestoreButton/index.js +1 -4
- package/dist/elements/RestoreButton/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.d.ts.map +1 -1
- package/dist/elements/RestoreMany/index.js +2 -6
- 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 +4 -18
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
- package/dist/elements/SchedulePublishButton/index.js +1 -7
- package/dist/elements/SchedulePublishButton/index.js.map +1 -1
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +5 -19
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StepNav/index.css +0 -7
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +24 -16
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +3 -6
- 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 +25 -32
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
- package/dist/elements/UnpublishButton/index.js +4 -8
- 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 +3 -7
- 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 -32
- 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.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +1 -4
- 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 +0 -17
- 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/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +2 -3
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +2 -3
- package/dist/fields/Blocks/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/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +3 -8
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Slug/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.js +2 -3
- 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 +47 -23
- 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/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/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +2 -3
- package/dist/forms/Form/index.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/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js +42 -47
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +3 -8
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +1 -2
- package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.js +1 -3
- package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
- package/dist/providers/Hierarchy/index.d.ts.map +1 -1
- package/dist/providers/Hierarchy/index.js +1 -4
- package/dist/providers/Hierarchy/index.js.map +1 -1
- 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 +61 -139
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Preferences/index.d.ts +1 -3
- package/dist/providers/Preferences/index.d.ts.map +1 -1
- package/dist/providers/Preferences/index.js +3 -9
- package/dist/providers/Preferences/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/styles.css +1 -1
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +37 -43
- package/dist/templates/Default/index.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/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/getVersions.d.ts +1 -6
- package/dist/utilities/getVersions.d.ts.map +1 -1
- package/dist/utilities/getVersions.js +0 -5
- package/dist/utilities/getVersions.js.map +1 -1
- package/dist/utilities/initReq.d.ts.map +1 -1
- package/dist/utilities/initReq.js +0 -8
- package/dist/utilities/initReq.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 -14
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +2 -7
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/slugify.js +3 -0
- 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 +4 -13
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/Document/getDocumentView.d.ts.map +1 -1
- package/dist/views/Document/getDocumentView.js +2 -21
- package/dist/views/Document/getDocumentView.js.map +1 -1
- package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
- package/dist/views/Document/getMetaBySegment.js +0 -9
- package/dist/views/Document/getMetaBySegment.js.map +1 -1
- package/dist/views/Document/index.d.ts +1 -3
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +2 -10
- 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.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/HierarchyTable/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js +2 -6
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
- package/dist/views/Root/getRouteData.d.ts.map +1 -1
- package/dist/views/Root/getRouteData.js +4 -12
- package/dist/views/Root/getRouteData.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.css +2 -26
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +18 -31
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/types.d.ts +0 -9
- package/dist/views/Version/Default/types.d.ts.map +1 -1
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +0 -8
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +3 -6
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
- package/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js +0 -4
- package/dist/views/Version/index.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/buildColumns.d.ts +1 -2
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/buildColumns.js +1 -21
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
- package/dist/views/Versions/index.client.d.ts +1 -0
- package/dist/views/Versions/index.client.d.ts.map +1 -1
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +14 -2
- package/dist/views/Versions/index.js.map +1 -1
- package/package.json +6 -5
- package/dist/elements/BranchSelector/NewBranchModal/index.css +0 -46
- package/dist/elements/BranchSelector/NewBranchModal/index.d.ts +0 -12
- package/dist/elements/BranchSelector/NewBranchModal/index.d.ts.map +0 -1
- package/dist/elements/BranchSelector/NewBranchModal/index.js +0 -174
- package/dist/elements/BranchSelector/NewBranchModal/index.js.map +0 -1
- package/dist/elements/BranchSelector/index.css +0 -172
- package/dist/elements/BranchSelector/index.d.ts +0 -13
- package/dist/elements/BranchSelector/index.d.ts.map +0 -1
- package/dist/elements/BranchSelector/index.js +0 -255
- package/dist/elements/BranchSelector/index.js.map +0 -1
- package/dist/elements/ChangeSummary/index.css +0 -18
- package/dist/elements/ChangeSummary/index.d.ts +0 -28
- package/dist/elements/ChangeSummary/index.d.ts.map +0 -1
- package/dist/elements/ChangeSummary/index.js +0 -147
- package/dist/elements/ChangeSummary/index.js.map +0 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.css +0 -12
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.d.ts +0 -12
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.d.ts.map +0 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.js +0 -83
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.js.map +0 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.d.ts +0 -14
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.d.ts.map +0 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.js +0 -28
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.js.map +0 -1
- package/dist/elements/MergeBranch/context.d.ts +0 -67
- package/dist/elements/MergeBranch/context.d.ts.map +0 -1
- package/dist/elements/MergeBranch/context.js +0 -47
- package/dist/elements/MergeBranch/context.js.map +0 -1
- package/dist/elements/MergeBranch/index.css +0 -136
- package/dist/elements/MergeBranch/index.d.ts +0 -15
- package/dist/elements/MergeBranch/index.d.ts.map +0 -1
- package/dist/elements/MergeBranch/index.js +0 -545
- package/dist/elements/MergeBranch/index.js.map +0 -1
- package/dist/elements/MergeBranch/provider.d.ts +0 -12
- package/dist/elements/MergeBranch/provider.d.ts.map +0 -1
- package/dist/elements/MergeBranch/provider.js +0 -19
- package/dist/elements/MergeBranch/provider.js.map +0 -1
- package/dist/elements/MergeBranch/slug.d.ts +0 -9
- package/dist/elements/MergeBranch/slug.d.ts.map +0 -1
- package/dist/elements/MergeBranch/slug.js +0 -8
- package/dist/elements/MergeBranch/slug.js.map +0 -1
- package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.css +0 -34
- package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.d.ts +0 -13
- package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.d.ts.map +0 -1
- package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.js +0 -51
- package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.js.map +0 -1
- package/dist/icons/Branch/index.css +0 -5
- package/dist/icons/Branch/index.d.ts +0 -7
- package/dist/icons/Branch/index.d.ts.map +0 -1
- package/dist/icons/Branch/index.js +0 -25
- package/dist/icons/Branch/index.js.map +0 -1
- package/dist/providers/Branch/index.d.ts +0 -68
- package/dist/providers/Branch/index.d.ts.map +0 -1
- package/dist/providers/Branch/index.js +0 -193
- package/dist/providers/Branch/index.js.map +0 -1
- package/dist/providers/Branch/index.server.d.ts +0 -14
- package/dist/providers/Branch/index.server.d.ts.map +0 -1
- package/dist/providers/Branch/index.server.js +0 -125
- package/dist/providers/Branch/index.server.js.map +0 -1
- package/dist/utilities/getAdminPreferences.d.ts +0 -14
- package/dist/utilities/getAdminPreferences.d.ts.map +0 -1
- package/dist/utilities/getAdminPreferences.js +0 -22
- package/dist/utilities/getAdminPreferences.js.map +0 -1
- package/dist/utilities/getRequestBranch.d.ts +0 -20
- package/dist/utilities/getRequestBranch.d.ts.map +0 -1
- package/dist/utilities/getRequestBranch.js +0 -35
- package/dist/utilities/getRequestBranch.js.map +0 -1
- package/dist/utilities/matchesSearchQuery.d.ts +0 -12
- package/dist/utilities/matchesSearchQuery.d.ts.map +0 -1
- package/dist/utilities/matchesSearchQuery.js +0 -23
- package/dist/utilities/matchesSearchQuery.js.map +0 -1
- package/dist/utilities/matchesSearchQuery.spec.js.map +0 -1
- package/dist/utilities/scheduleMergeHandler.d.ts +0 -33
- package/dist/utilities/scheduleMergeHandler.d.ts.map +0 -1
- package/dist/utilities/scheduleMergeHandler.js +0 -119
- package/dist/utilities/scheduleMergeHandler.js.map +0 -1
- package/dist/views/Branch/BranchChanges/index.d.ts +0 -23
- package/dist/views/Branch/BranchChanges/index.d.ts.map +0 -1
- package/dist/views/Branch/BranchChanges/index.js +0 -150
- package/dist/views/Branch/BranchChanges/index.js.map +0 -1
- package/dist/views/Branch/ChangedDocuments/index.css +0 -118
- package/dist/views/Branch/ChangedDocuments/index.d.ts +0 -34
- package/dist/views/Branch/ChangedDocuments/index.d.ts.map +0 -1
- package/dist/views/Branch/ChangedDocuments/index.js +0 -233
- package/dist/views/Branch/ChangedDocuments/index.js.map +0 -1
- package/dist/views/Branch/DiscardChangesButton/index.d.ts +0 -16
- package/dist/views/Branch/DiscardChangesButton/index.d.ts.map +0 -1
- package/dist/views/Branch/DiscardChangesButton/index.js +0 -106
- package/dist/views/Branch/DiscardChangesButton/index.js.map +0 -1
- package/dist/views/Branch/Manage/index.d.ts +0 -11
- package/dist/views/Branch/Manage/index.d.ts.map +0 -1
- package/dist/views/Branch/Manage/index.js +0 -71
- package/dist/views/Branch/Manage/index.js.map +0 -1
- package/dist/views/Branch/MergeChangesButton/index.d.ts +0 -14
- package/dist/views/Branch/MergeChangesButton/index.d.ts.map +0 -1
- package/dist/views/Branch/MergeChangesButton/index.js +0 -55
- package/dist/views/Branch/MergeChangesButton/index.js.map +0 -1
- package/dist/views/Branch/MergeLedger/index.css +0 -137
- package/dist/views/Branch/MergeLedger/index.d.ts +0 -31
- package/dist/views/Branch/MergeLedger/index.d.ts.map +0 -1
- package/dist/views/Branch/MergeLedger/index.js +0 -211
- package/dist/views/Branch/MergeLedger/index.js.map +0 -1
- package/dist/views/Branch/ScheduledMerges/index.css +0 -83
- package/dist/views/Branch/ScheduledMerges/index.d.ts +0 -32
- package/dist/views/Branch/ScheduledMerges/index.d.ts.map +0 -1
- package/dist/views/Branch/ScheduledMerges/index.js +0 -183
- package/dist/views/Branch/ScheduledMerges/index.js.map +0 -1
- package/dist/views/Branch/index.css +0 -77
- package/dist/views/Branch/index.d.ts +0 -17
- package/dist/views/Branch/index.d.ts.map +0 -1
- package/dist/views/Branch/index.js +0 -188
- package/dist/views/Branch/index.js.map +0 -1
- package/dist/views/Branch/renderBranchDiff.d.ts +0 -29
- package/dist/views/Branch/renderBranchDiff.d.ts.map +0 -1
- package/dist/views/Branch/renderBranchDiff.js +0 -151
- package/dist/views/Branch/renderBranchDiff.js.map +0 -1
- package/dist/views/Branch/renderMergeDiff.d.ts +0 -24
- package/dist/views/Branch/renderMergeDiff.d.ts.map +0 -1
- package/dist/views/Branch/renderMergeDiff.js +0 -94
- package/dist/views/Branch/renderMergeDiff.js.map +0 -1
- package/dist/views/Branches/index.d.ts +0 -16
- package/dist/views/Branches/index.d.ts.map +0 -1
- package/dist/views/Branches/index.js +0 -54
- package/dist/views/Branches/index.js.map +0 -1
- package/dist/views/Versions/cells/Branch/index.d.ts +0 -12
- package/dist/views/Versions/cells/Branch/index.d.ts.map +0 -1
- package/dist/views/Versions/cells/Branch/index.js +0 -27
- package/dist/views/Versions/cells/Branch/index.js.map +0 -1
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
-
import { getTranslation } from '@payloadcms/translations';
|
|
5
|
-
import { formatAdminURL } from 'payload/shared';
|
|
6
|
-
import React, { useCallback, useRef, useState } from 'react';
|
|
7
|
-
import { Link } from '../../../elements/Link/index.js';
|
|
8
|
-
import { Pill } from '../../../elements/Pill/index.js';
|
|
9
|
-
import { ShimmerEffect } from '../../../elements/ShimmerEffect/index.js';
|
|
10
|
-
import { ChevronIcon } from '../../../icons/Chevron/index.js';
|
|
11
|
-
import { useConfig } from '../../../providers/Config/index.js';
|
|
12
|
-
import { useServerFunctions } from '../../../providers/ServerFunctions/index.js';
|
|
13
|
-
import { useTranslation } from '../../../providers/Translation/index.js';
|
|
14
|
-
import './index.css';
|
|
15
|
-
const baseClass = 'merge-ledger';
|
|
16
|
-
const operationPillStyle = {
|
|
17
|
-
create: 'success',
|
|
18
|
-
delete: 'error',
|
|
19
|
-
update: 'warning'
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* A branch's history: one section per merge event, newest first.
|
|
23
|
-
*
|
|
24
|
-
* Reconstructed from the ledger rather than from the branch's current state, which
|
|
25
|
-
* by then holds nothing — a merge consumes the change rows it applies and drops the
|
|
26
|
-
* shadow rows behind them. Titles are the ones the documents had when they merged.
|
|
27
|
-
*
|
|
28
|
-
* Rows expand to the diff of what that merge did, rendered from the snapshots taken
|
|
29
|
-
* either side of the write. Fetched per row, because a history can hold hundreds of
|
|
30
|
-
* documents and each diff is a full field-tree render.
|
|
31
|
-
*/
|
|
32
|
-
export const MergeLedger = ({
|
|
33
|
-
events
|
|
34
|
-
}) => {
|
|
35
|
-
const {
|
|
36
|
-
config,
|
|
37
|
-
getEntityConfig
|
|
38
|
-
} = useConfig();
|
|
39
|
-
const {
|
|
40
|
-
i18n,
|
|
41
|
-
t
|
|
42
|
-
} = useTranslation();
|
|
43
|
-
const {
|
|
44
|
-
serverFunction
|
|
45
|
-
} = useServerFunctions();
|
|
46
|
-
const [expanded, setExpanded] = useState(() => new Set());
|
|
47
|
-
const [loaded, setLoaded] = useState({});
|
|
48
|
-
const loadedRef = useRef(loaded);
|
|
49
|
-
loadedRef.current = loaded;
|
|
50
|
-
const load = useCallback(async ({
|
|
51
|
-
changeIndex,
|
|
52
|
-
key,
|
|
53
|
-
mergeID
|
|
54
|
-
}) => {
|
|
55
|
-
if (loadedRef.current[key]) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
setLoaded(prev => ({
|
|
59
|
-
...prev,
|
|
60
|
-
[key]: {
|
|
61
|
-
status: 'loading'
|
|
62
|
-
}
|
|
63
|
-
}));
|
|
64
|
-
try {
|
|
65
|
-
const result = await serverFunction({
|
|
66
|
-
name: 'render-merge-diff',
|
|
67
|
-
args: {
|
|
68
|
-
changeIndex,
|
|
69
|
-
mergeID
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
setLoaded(prev_1 => ({
|
|
73
|
-
...prev_1,
|
|
74
|
-
[key]: {
|
|
75
|
-
result,
|
|
76
|
-
status: 'ready'
|
|
77
|
-
}
|
|
78
|
-
}));
|
|
79
|
-
} catch (_err) {
|
|
80
|
-
setLoaded(prev_0 => ({
|
|
81
|
-
...prev_0,
|
|
82
|
-
[key]: {
|
|
83
|
-
status: 'error'
|
|
84
|
-
}
|
|
85
|
-
}));
|
|
86
|
-
}
|
|
87
|
-
}, [serverFunction]);
|
|
88
|
-
const toggle = useCallback(({
|
|
89
|
-
changeIndex: changeIndex_0,
|
|
90
|
-
key: key_0,
|
|
91
|
-
mergeID: mergeID_0
|
|
92
|
-
}) => {
|
|
93
|
-
// The fetch is kicked off outside the updater. A state updater must be pure —
|
|
94
|
-
// React may run it during another component's render, and the `setLoaded` inside
|
|
95
|
-
// `load` then lands mid-render.
|
|
96
|
-
const willExpand = !expanded.has(key_0);
|
|
97
|
-
setExpanded(prev_2 => {
|
|
98
|
-
const next = new Set(prev_2);
|
|
99
|
-
if (next.has(key_0)) {
|
|
100
|
-
next.delete(key_0);
|
|
101
|
-
} else {
|
|
102
|
-
next.add(key_0);
|
|
103
|
-
}
|
|
104
|
-
return next;
|
|
105
|
-
});
|
|
106
|
-
if (willExpand) {
|
|
107
|
-
void load({
|
|
108
|
-
changeIndex: changeIndex_0,
|
|
109
|
-
key: key_0,
|
|
110
|
-
mergeID: mergeID_0
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
}, [expanded, load]);
|
|
114
|
-
if (!events.length) {
|
|
115
|
-
return null;
|
|
116
|
-
}
|
|
117
|
-
return /*#__PURE__*/_jsx("div", {
|
|
118
|
-
className: baseClass,
|
|
119
|
-
children: events.map(event => /*#__PURE__*/_jsxs("section", {
|
|
120
|
-
className: `${baseClass}__event`,
|
|
121
|
-
children: [/*#__PURE__*/_jsxs("header", {
|
|
122
|
-
className: `${baseClass}__header`,
|
|
123
|
-
children: [/*#__PURE__*/_jsx("h3", {
|
|
124
|
-
className: `${baseClass}__when`,
|
|
125
|
-
children: t('branching:mergedOn', {
|
|
126
|
-
date: new Date(event.mergedAt).toLocaleString(undefined, {
|
|
127
|
-
dateStyle: 'medium',
|
|
128
|
-
timeStyle: 'short'
|
|
129
|
-
})
|
|
130
|
-
})
|
|
131
|
-
}), /*#__PURE__*/_jsx("span", {
|
|
132
|
-
className: `${baseClass}__meta`,
|
|
133
|
-
children: event.mergedByLabel ? t('branching:mergedByCount', {
|
|
134
|
-
count: event.changes.length,
|
|
135
|
-
user: event.mergedByLabel
|
|
136
|
-
}) : t('branching:mergedCount', {
|
|
137
|
-
count: event.changes.length
|
|
138
|
-
})
|
|
139
|
-
})]
|
|
140
|
-
}), /*#__PURE__*/_jsx("ul", {
|
|
141
|
-
className: `${baseClass}__list`,
|
|
142
|
-
children: event.changes.map((change, changeIndex_1) => {
|
|
143
|
-
const collectionConfig = change.globalSlug ? undefined : getEntityConfig({
|
|
144
|
-
collectionSlug: change.collectionSlug
|
|
145
|
-
});
|
|
146
|
-
const globalConfig = change.globalSlug ? getEntityConfig({
|
|
147
|
-
globalSlug: change.globalSlug
|
|
148
|
-
}) : undefined;
|
|
149
|
-
const key_1 = `${event.id}-${changeIndex_1}`;
|
|
150
|
-
const isExpanded = expanded.has(key_1);
|
|
151
|
-
const state = loaded[key_1];
|
|
152
|
-
return /*#__PURE__*/_jsxs("li", {
|
|
153
|
-
className: `${baseClass}__row`,
|
|
154
|
-
children: [/*#__PURE__*/_jsxs("div", {
|
|
155
|
-
className: `${baseClass}__row-header`,
|
|
156
|
-
children: [/*#__PURE__*/_jsx("button", {
|
|
157
|
-
"aria-expanded": isExpanded,
|
|
158
|
-
className: `${baseClass}__toggle`,
|
|
159
|
-
onClick: () => toggle({
|
|
160
|
-
changeIndex: changeIndex_1,
|
|
161
|
-
key: key_1,
|
|
162
|
-
mergeID: event.id
|
|
163
|
-
}),
|
|
164
|
-
type: "button",
|
|
165
|
-
children: /*#__PURE__*/_jsx("span", {
|
|
166
|
-
children: change.docTitle
|
|
167
|
-
})
|
|
168
|
-
}), /*#__PURE__*/_jsxs("div", {
|
|
169
|
-
className: `${baseClass}__row-content`,
|
|
170
|
-
children: [/*#__PURE__*/_jsx(Pill, {
|
|
171
|
-
className: `${baseClass}__operation`,
|
|
172
|
-
pillStyle: operationPillStyle[change.operation],
|
|
173
|
-
size: "small",
|
|
174
|
-
children: t(`branching:operation_${change.operation}`)
|
|
175
|
-
}), /*#__PURE__*/_jsx(Pill, {
|
|
176
|
-
className: `${baseClass}__entity`,
|
|
177
|
-
pillStyle: "light-gray",
|
|
178
|
-
size: "small",
|
|
179
|
-
children: getTranslation(globalConfig ? globalConfig.label ?? change.globalSlug : collectionConfig?.labels?.singular ?? change.collectionSlug, i18n)
|
|
180
|
-
}), change.operation === 'delete' ? /*#__PURE__*/_jsx("span", {
|
|
181
|
-
className: `${baseClass}__title`,
|
|
182
|
-
children: change.docTitle
|
|
183
|
-
}) : /*#__PURE__*/_jsx(Link, {
|
|
184
|
-
className: `${baseClass}__title ${baseClass}__title--link`,
|
|
185
|
-
href: formatAdminURL({
|
|
186
|
-
adminRoute: config.routes.admin,
|
|
187
|
-
path: change.globalSlug ? `/globals/${change.globalSlug}` : `/collections/${change.collectionSlug}/${change.docID}`
|
|
188
|
-
}),
|
|
189
|
-
children: change.docTitle
|
|
190
|
-
}), /*#__PURE__*/_jsx(ChevronIcon, {
|
|
191
|
-
className: `${baseClass}__indicator`,
|
|
192
|
-
direction: isExpanded ? 'up' : 'down',
|
|
193
|
-
size: 16
|
|
194
|
-
})]
|
|
195
|
-
})]
|
|
196
|
-
}), isExpanded && /*#__PURE__*/_jsxs("div", {
|
|
197
|
-
className: `${baseClass}__diff`,
|
|
198
|
-
children: [state?.status === 'ready' ? state.result?.diff : null, state?.status === 'loading' || !state ? /*#__PURE__*/_jsx(ShimmerEffect, {
|
|
199
|
-
height: "3rem"
|
|
200
|
-
}) : null, state?.status === 'error' ? /*#__PURE__*/_jsx("p", {
|
|
201
|
-
className: `${baseClass}__error`,
|
|
202
|
-
children: t('error:unknown')
|
|
203
|
-
}) : null]
|
|
204
|
-
})]
|
|
205
|
-
}, key_1);
|
|
206
|
-
})
|
|
207
|
-
})]
|
|
208
|
-
}, event.id))
|
|
209
|
-
});
|
|
210
|
-
};
|
|
211
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","React","useCallback","useRef","useState","Link","Pill","ShimmerEffect","ChevronIcon","useConfig","useServerFunctions","useTranslation","baseClass","operationPillStyle","create","delete","update","MergeLedger","events","config","getEntityConfig","i18n","t","serverFunction","expanded","setExpanded","Set","loaded","setLoaded","loadedRef","current","load","changeIndex","key","mergeID","prev","status","result","name","args","_err","toggle","willExpand","has","next","add","length","_jsx","className","map","event","_jsxs","date","Date","mergedAt","toLocaleString","undefined","dateStyle","timeStyle","mergedByLabel","count","changes","user","change","collectionConfig","globalSlug","collectionSlug","globalConfig","id","isExpanded","state","onClick","type","docTitle","pillStyle","operation","size","label","labels","singular","href","adminRoute","routes","admin","path","docID","direction","diff","height"],"sources":["../../../../src/views/Branch/MergeLedger/index.tsx"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useRef, useState } from 'react'\n\nimport type { RenderMergeDiffResult } from '../renderMergeDiff.js'\n\nimport { Link } from '../../../elements/Link/index.js'\nimport { Pill } from '../../../elements/Pill/index.js'\nimport { ShimmerEffect } from '../../../elements/ShimmerEffect/index.js'\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.css'\n\nconst baseClass = 'merge-ledger'\n\nexport type MergeEventChange = {\n collectionSlug: string\n docID: string\n docTitle: string\n /** Set instead of `collectionSlug`/`docID` when the merged change was a global. */\n globalSlug?: string\n operation: 'create' | 'delete' | 'update'\n}\n\nexport type MergeEvent = {\n changes: MergeEventChange[]\n id: string\n mergedAt: string\n mergedByLabel?: string\n}\n\ntype LoadState = {\n result?: RenderMergeDiffResult\n status: 'error' | 'loading' | 'ready'\n}\n\nconst operationPillStyle = {\n create: 'success',\n delete: 'error',\n update: 'warning',\n} as const\n\n/**\n * A branch's history: one section per merge event, newest first.\n *\n * Reconstructed from the ledger rather than from the branch's current state, which\n * by then holds nothing — a merge consumes the change rows it applies and drops the\n * shadow rows behind them. Titles are the ones the documents had when they merged.\n *\n * Rows expand to the diff of what that merge did, rendered from the snapshots taken\n * either side of the write. Fetched per row, because a history can hold hundreds of\n * documents and each diff is a full field-tree render.\n */\nexport const MergeLedger: React.FC<{ events: MergeEvent[] }> = ({ events }) => {\n const { config, getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n const { serverFunction } = useServerFunctions()\n\n const [expanded, setExpanded] = useState<Set<string>>(() => new Set())\n const [loaded, setLoaded] = useState<Record<string, LoadState>>({})\n\n const loadedRef = useRef(loaded)\n loadedRef.current = loaded\n\n const load = useCallback(\n async ({\n changeIndex,\n key,\n mergeID,\n }: {\n changeIndex: number\n key: string\n mergeID: string\n }) => {\n if (loadedRef.current[key]) {\n return\n }\n\n setLoaded((prev) => ({ ...prev, [key]: { status: 'loading' } }))\n\n try {\n const result = (await serverFunction({\n name: 'render-merge-diff',\n args: { changeIndex, mergeID },\n })) as RenderMergeDiffResult\n\n setLoaded((prev) => ({ ...prev, [key]: { result, status: 'ready' } }))\n } catch (_err) {\n setLoaded((prev) => ({ ...prev, [key]: { status: 'error' } }))\n }\n },\n [serverFunction],\n )\n\n const toggle = useCallback(\n ({ changeIndex, key, mergeID }: { changeIndex: number; key: string; mergeID: string }) => {\n // The fetch is kicked off outside the updater. A state updater must be pure —\n // React may run it during another component's render, and the `setLoaded` inside\n // `load` then lands mid-render.\n const willExpand = !expanded.has(key)\n\n setExpanded((prev) => {\n const next = new Set(prev)\n\n if (next.has(key)) {\n next.delete(key)\n } else {\n next.add(key)\n }\n\n return next\n })\n\n if (willExpand) {\n void load({ changeIndex, key, mergeID })\n }\n },\n [expanded, load],\n )\n\n if (!events.length) {\n return null\n }\n\n return (\n <div className={baseClass}>\n {events.map((event) => (\n <section className={`${baseClass}__event`} key={event.id}>\n <header className={`${baseClass}__header`}>\n <h3 className={`${baseClass}__when`}>\n {t('branching:mergedOn', {\n date: new Date(event.mergedAt).toLocaleString(undefined, {\n dateStyle: 'medium',\n timeStyle: 'short',\n }),\n })}\n </h3>\n <span className={`${baseClass}__meta`}>\n {event.mergedByLabel\n ? t('branching:mergedByCount', {\n count: event.changes.length,\n user: event.mergedByLabel,\n })\n : t('branching:mergedCount', { count: event.changes.length })}\n </span>\n </header>\n\n <ul className={`${baseClass}__list`}>\n {event.changes.map((change, changeIndex) => {\n const collectionConfig = change.globalSlug\n ? undefined\n : getEntityConfig({ collectionSlug: change.collectionSlug })\n const globalConfig = change.globalSlug\n ? getEntityConfig({ globalSlug: change.globalSlug })\n : undefined\n const key = `${event.id}-${changeIndex}`\n const isExpanded = expanded.has(key)\n const state = loaded[key]\n\n return (\n <li className={`${baseClass}__row`} key={key}>\n {/* Following `Collapsible` and the review list: an overlay button\n takes the clicks so the whole header opens the row, and the\n content sits above it with pointer events off. */}\n <div className={`${baseClass}__row-header`}>\n <button\n aria-expanded={isExpanded}\n className={`${baseClass}__toggle`}\n onClick={() => toggle({ changeIndex, key, mergeID: event.id })}\n type=\"button\"\n >\n <span>{change.docTitle}</span>\n </button>\n <div className={`${baseClass}__row-content`}>\n <Pill\n className={`${baseClass}__operation`}\n pillStyle={operationPillStyle[change.operation]}\n size=\"small\"\n >\n {t(`branching:operation_${change.operation}` as Parameters<typeof t>[0])}\n </Pill>\n <Pill className={`${baseClass}__entity`} pillStyle=\"light-gray\" size=\"small\">\n {getTranslation(\n globalConfig\n ? (globalConfig.label ?? change.globalSlug)\n : (collectionConfig?.labels?.singular ?? change.collectionSlug),\n i18n,\n )}\n </Pill>\n {/* A merged delete has no document left to open. A global has\n somewhere to go instead: its own edit view. */}\n {change.operation === 'delete' ? (\n <span className={`${baseClass}__title`}>{change.docTitle}</span>\n ) : (\n <Link\n className={`${baseClass}__title ${baseClass}__title--link`}\n href={formatAdminURL({\n adminRoute: config.routes.admin,\n path: change.globalSlug\n ? `/globals/${change.globalSlug}`\n : `/collections/${change.collectionSlug}/${change.docID}`,\n })}\n >\n {change.docTitle}\n </Link>\n )}\n <ChevronIcon\n className={`${baseClass}__indicator`}\n direction={isExpanded ? 'up' : 'down'}\n size={16}\n />\n </div>\n </div>\n\n {isExpanded && (\n <div className={`${baseClass}__diff`}>\n {state?.status === 'ready' ? state.result?.diff : null}\n {state?.status === 'loading' || !state ? (\n <ShimmerEffect height=\"3rem\" />\n ) : null}\n {state?.status === 'error' ? (\n <p className={`${baseClass}__error`}>{t('error:unknown')}</p>\n ) : null}\n </div>\n )}\n </li>\n )\n })}\n </ul>\n </section>\n ))}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
@layer payload-default {
|
|
2
|
-
/* One line, stated plainly, above everything it qualifies. */
|
|
3
|
-
.scheduled-merges__banner {
|
|
4
|
-
display: flex;
|
|
5
|
-
align-items: center;
|
|
6
|
-
justify-content: space-between;
|
|
7
|
-
gap: var(--spacer-3);
|
|
8
|
-
margin-block-end: var(--spacer-3);
|
|
9
|
-
padding: var(--spacer-2) var(--spacer-3);
|
|
10
|
-
border: var(--stroke-width-small) solid var(--color-border-success);
|
|
11
|
-
border-radius: var(--radius-medium);
|
|
12
|
-
background: var(--color-bg-success-tertiary);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.scheduled-merges__banner-text {
|
|
16
|
-
min-width: 0;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.scheduled-merges__banner-actions {
|
|
20
|
-
display: flex;
|
|
21
|
-
align-items: center;
|
|
22
|
-
gap: var(--spacer-2);
|
|
23
|
-
flex-shrink: 0;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.scheduled-merges__list {
|
|
27
|
-
display: flex;
|
|
28
|
-
flex-direction: column;
|
|
29
|
-
gap: var(--spacer-4);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.scheduled-merges__schedule-header {
|
|
33
|
-
display: flex;
|
|
34
|
-
align-items: baseline;
|
|
35
|
-
justify-content: space-between;
|
|
36
|
-
gap: var(--spacer-3);
|
|
37
|
-
margin-block-end: var(--spacer-2);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.scheduled-merges__when,
|
|
41
|
-
.scheduled-merges__manage-when {
|
|
42
|
-
margin: 0;
|
|
43
|
-
font-family: var(--text-body-medium-strong-font-family);
|
|
44
|
-
font-size: var(--text-body-medium-font-size);
|
|
45
|
-
font-weight: var(--text-body-medium-strong-font-weight);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.scheduled-merges__meta,
|
|
49
|
-
.scheduled-merges__empty {
|
|
50
|
-
color: var(--color-text-secondary);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.scheduled-merges__manage-list {
|
|
54
|
-
display: flex;
|
|
55
|
-
flex-direction: column;
|
|
56
|
-
gap: var(--spacer-2);
|
|
57
|
-
margin: 0;
|
|
58
|
-
padding: 0;
|
|
59
|
-
list-style: none;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.scheduled-merges__manage-row {
|
|
63
|
-
display: flex;
|
|
64
|
-
align-items: flex-start;
|
|
65
|
-
justify-content: space-between;
|
|
66
|
-
gap: var(--spacer-3);
|
|
67
|
-
padding-block-end: var(--spacer-3);
|
|
68
|
-
border-block-end: var(--stroke-width-small) solid var(--color-border);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/* Stacked, so the date leads and the ledger reads underneath it. */
|
|
72
|
-
.scheduled-merges__manage-details {
|
|
73
|
-
display: flex;
|
|
74
|
-
flex-direction: column;
|
|
75
|
-
gap: var(--spacer-1);
|
|
76
|
-
min-width: 0;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
.scheduled-merges__manage-row:last-child {
|
|
80
|
-
padding-block-end: 0;
|
|
81
|
-
border-block-end: none;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { BranchChange } from '../ChangedDocuments/index.js';
|
|
3
|
-
import './index.css';
|
|
4
|
-
export type ScheduledMerge = {
|
|
5
|
-
/** The documents this schedule will apply, resolved against what is pending now. */
|
|
6
|
-
changes: BranchChange[];
|
|
7
|
-
closeBranch: boolean;
|
|
8
|
-
/** `payload-jobs` row ID, which is also the handle for cancelling it. */
|
|
9
|
-
id: string;
|
|
10
|
-
/** True when the schedule named no selection, so it takes whatever is pending. */
|
|
11
|
-
isEverything: boolean;
|
|
12
|
-
waitUntil: string;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* What a branch is about to merge, and when.
|
|
16
|
-
*
|
|
17
|
-
* A banner says it in one line, because it changes what everything below it means: the
|
|
18
|
-
* pending changes are no longer only a proposal, they are a proposal with a date on it.
|
|
19
|
-
* Below that each schedule lists the documents it will apply, expandable to the same
|
|
20
|
-
* diff the review list shows — the diff is against main either way, so it is the same
|
|
21
|
-
* question asked about a future moment.
|
|
22
|
-
*
|
|
23
|
-
* Several schedules can coexist: schedule a merge, keep working, schedule another. The
|
|
24
|
-
* banner names the soonest and the modal holds the rest, which is why actions live
|
|
25
|
-
* there rather than being repeated per row.
|
|
26
|
-
*/
|
|
27
|
-
export declare const ScheduledMerges: React.FC<{
|
|
28
|
-
branchID: number | string;
|
|
29
|
-
branchSlug: string;
|
|
30
|
-
schedules: ScheduledMerge[];
|
|
31
|
-
}>;
|
|
32
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Branch/ScheduledMerges/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAGpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAiBhE,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,cAAc,GAAG;IAC3B,oFAAoF;IACpF,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,WAAW,EAAE,OAAO,CAAA;IACpB,yEAAyE;IACzE,EAAE,EAAE,MAAM,CAAA;IACV,kFAAkF;IAClF,YAAY,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAKD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,cAAc,EAAE,CAAA;CAC5B,CA2HA,CAAA"}
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
-
import React, { useCallback, useState } from 'react';
|
|
5
|
-
import { toast } from 'sonner';
|
|
6
|
-
import { Button } from '../../../elements/Button/index.js';
|
|
7
|
-
import { ChangeSummary } from '../../../elements/ChangeSummary/index.js';
|
|
8
|
-
import { DialogBody, DialogFooter, DialogHeader, DialogModal } from '../../../elements/Dialog/index.js';
|
|
9
|
-
import { useModal } from '../../../elements/Modal/index.js';
|
|
10
|
-
import { Pill } from '../../../elements/Pill/index.js';
|
|
11
|
-
import { useRouter } from '../../../providers/RouterAdapter/index.js';
|
|
12
|
-
import { useRouteTransition } from '../../../providers/RouteTransition/index.js';
|
|
13
|
-
import { useServerFunctions } from '../../../providers/ServerFunctions/index.js';
|
|
14
|
-
import { useTranslation } from '../../../providers/Translation/index.js';
|
|
15
|
-
import { ChangedDocuments } from '../ChangedDocuments/index.js';
|
|
16
|
-
import './index.css';
|
|
17
|
-
const baseClass = 'scheduled-merges';
|
|
18
|
-
const formatWhen = value => new Date(value).toLocaleString(undefined, {
|
|
19
|
-
dateStyle: 'long',
|
|
20
|
-
timeStyle: 'short'
|
|
21
|
-
});
|
|
22
|
-
/**
|
|
23
|
-
* What a branch is about to merge, and when.
|
|
24
|
-
*
|
|
25
|
-
* A banner says it in one line, because it changes what everything below it means: the
|
|
26
|
-
* pending changes are no longer only a proposal, they are a proposal with a date on it.
|
|
27
|
-
* Below that each schedule lists the documents it will apply, expandable to the same
|
|
28
|
-
* diff the review list shows — the diff is against main either way, so it is the same
|
|
29
|
-
* question asked about a future moment.
|
|
30
|
-
*
|
|
31
|
-
* Several schedules can coexist: schedule a merge, keep working, schedule another. The
|
|
32
|
-
* banner names the soonest and the modal holds the rest, which is why actions live
|
|
33
|
-
* there rather than being repeated per row.
|
|
34
|
-
*/
|
|
35
|
-
export const ScheduledMerges = ({
|
|
36
|
-
branchID,
|
|
37
|
-
branchSlug,
|
|
38
|
-
schedules
|
|
39
|
-
}) => {
|
|
40
|
-
const {
|
|
41
|
-
t
|
|
42
|
-
} = useTranslation();
|
|
43
|
-
const {
|
|
44
|
-
closeModal,
|
|
45
|
-
openModal
|
|
46
|
-
} = useModal();
|
|
47
|
-
const {
|
|
48
|
-
serverFunction
|
|
49
|
-
} = useServerFunctions();
|
|
50
|
-
const router = useRouter();
|
|
51
|
-
const {
|
|
52
|
-
startRouteTransition
|
|
53
|
-
} = useRouteTransition();
|
|
54
|
-
const [isWorking, setIsWorking] = useState(false);
|
|
55
|
-
const modalSlug = `scheduled-merges-${branchID}`;
|
|
56
|
-
const soonest = schedules[0];
|
|
57
|
-
const handleCancel = useCallback(async deleteID => {
|
|
58
|
-
setIsWorking(true);
|
|
59
|
-
try {
|
|
60
|
-
await serverFunction({
|
|
61
|
-
name: 'schedule-merge',
|
|
62
|
-
args: {
|
|
63
|
-
deleteID
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
toast.success(t('branching:scheduleCancelled'));
|
|
67
|
-
closeModal(modalSlug);
|
|
68
|
-
startRouteTransition(() => router.refresh());
|
|
69
|
-
} catch (_err) {
|
|
70
|
-
toast.error(t('error:unknown'));
|
|
71
|
-
} finally {
|
|
72
|
-
setIsWorking(false);
|
|
73
|
-
}
|
|
74
|
-
}, [closeModal, modalSlug, router, serverFunction, startRouteTransition, t]);
|
|
75
|
-
if (!soonest) {
|
|
76
|
-
return null;
|
|
77
|
-
}
|
|
78
|
-
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
79
|
-
children: [/*#__PURE__*/_jsxs("div", {
|
|
80
|
-
className: `${baseClass}__banner`,
|
|
81
|
-
children: [/*#__PURE__*/_jsx("span", {
|
|
82
|
-
className: `${baseClass}__banner-text`,
|
|
83
|
-
children: t('branching:scheduledToMergeOn', {
|
|
84
|
-
date: formatWhen(soonest.waitUntil)
|
|
85
|
-
})
|
|
86
|
-
}), /*#__PURE__*/_jsxs("span", {
|
|
87
|
-
className: `${baseClass}__banner-actions`,
|
|
88
|
-
children: [schedules.length > 1 && /*#__PURE__*/_jsx(Pill, {
|
|
89
|
-
pillStyle: "light-gray",
|
|
90
|
-
size: "small",
|
|
91
|
-
children: t('branching:scheduleCount', {
|
|
92
|
-
count: schedules.length
|
|
93
|
-
})
|
|
94
|
-
}), /*#__PURE__*/_jsx(Button, {
|
|
95
|
-
buttonStyle: "secondary",
|
|
96
|
-
onClick: () => openModal(modalSlug),
|
|
97
|
-
size: "medium",
|
|
98
|
-
children: t('branching:manage')
|
|
99
|
-
})]
|
|
100
|
-
})]
|
|
101
|
-
}), /*#__PURE__*/_jsx("div", {
|
|
102
|
-
className: `${baseClass}__list`,
|
|
103
|
-
children: schedules.map(schedule => /*#__PURE__*/_jsxs("section", {
|
|
104
|
-
className: `${baseClass}__schedule`,
|
|
105
|
-
children: [/*#__PURE__*/_jsxs("header", {
|
|
106
|
-
className: `${baseClass}__schedule-header`,
|
|
107
|
-
children: [/*#__PURE__*/_jsx("h4", {
|
|
108
|
-
className: `${baseClass}__when`,
|
|
109
|
-
children: formatWhen(schedule.waitUntil)
|
|
110
|
-
}), /*#__PURE__*/_jsxs("span", {
|
|
111
|
-
className: `${baseClass}__meta`,
|
|
112
|
-
children: [schedule.isEverything ? t('branching:scheduleWillApplyAll', {
|
|
113
|
-
count: schedule.changes.length
|
|
114
|
-
}) : t('branching:scheduleWillApplySelected', {
|
|
115
|
-
count: schedule.changes.length
|
|
116
|
-
}), schedule.closeBranch ? ` · ${t('branching:closeBranchAfterMerge')}` : '']
|
|
117
|
-
})]
|
|
118
|
-
}), schedule.changes.length > 0 ?
|
|
119
|
-
// Read-only: what merges is decided, and the checkboxes on the review
|
|
120
|
-
// list below are for a different, immediate decision.
|
|
121
|
-
/*#__PURE__*/
|
|
122
|
-
_jsx(ChangedDocuments, {
|
|
123
|
-
branch: branchSlug,
|
|
124
|
-
changes: schedule.changes,
|
|
125
|
-
selectable: false
|
|
126
|
-
}) :
|
|
127
|
-
// A selection whose changes were all discarded since. The job will still
|
|
128
|
-
// fire and find nothing, which is harmless but worth saying.
|
|
129
|
-
/*#__PURE__*/
|
|
130
|
-
_jsx("p", {
|
|
131
|
-
className: `${baseClass}__empty`,
|
|
132
|
-
children: t('branching:scheduleHasNothingLeft')
|
|
133
|
-
})]
|
|
134
|
-
}, schedule.id))
|
|
135
|
-
}), /*#__PURE__*/_jsxs(DialogModal, {
|
|
136
|
-
className: baseClass,
|
|
137
|
-
closeOnBlur: true,
|
|
138
|
-
slug: modalSlug,
|
|
139
|
-
children: [/*#__PURE__*/_jsx(DialogHeader, {
|
|
140
|
-
showClose: true,
|
|
141
|
-
title: t('branching:scheduledMerges')
|
|
142
|
-
}), /*#__PURE__*/_jsx(DialogBody, {
|
|
143
|
-
children: /*#__PURE__*/_jsx("ul", {
|
|
144
|
-
className: `${baseClass}__manage-list`,
|
|
145
|
-
children: schedules.map(schedule_0 => /*#__PURE__*/_jsxs("li", {
|
|
146
|
-
className: `${baseClass}__manage-row`,
|
|
147
|
-
children: [/*#__PURE__*/_jsxs("div", {
|
|
148
|
-
className: `${baseClass}__manage-details`,
|
|
149
|
-
children: [/*#__PURE__*/_jsx("span", {
|
|
150
|
-
className: `${baseClass}__manage-when`,
|
|
151
|
-
children: formatWhen(schedule_0.waitUntil)
|
|
152
|
-
}), /*#__PURE__*/_jsxs("span", {
|
|
153
|
-
className: `${baseClass}__meta`,
|
|
154
|
-
children: [schedule_0.isEverything ? t('branching:scheduleWillApplyAll', {
|
|
155
|
-
count: schedule_0.changes.length
|
|
156
|
-
}) : t('branching:scheduleWillApplySelected', {
|
|
157
|
-
count: schedule_0.changes.length
|
|
158
|
-
}), schedule_0.closeBranch ? ` · ${t('branching:closeBranchAfterMerge')}` : '']
|
|
159
|
-
}), /*#__PURE__*/_jsx(ChangeSummary, {
|
|
160
|
-
changes: schedule_0.changes,
|
|
161
|
-
showOperations: true
|
|
162
|
-
})]
|
|
163
|
-
}), /*#__PURE__*/_jsx(Button, {
|
|
164
|
-
buttonStyle: "destructive",
|
|
165
|
-
disabled: isWorking,
|
|
166
|
-
onClick: () => void handleCancel(schedule_0.id),
|
|
167
|
-
size: "medium",
|
|
168
|
-
children: t('branching:cancelSchedule')
|
|
169
|
-
})]
|
|
170
|
-
}, schedule_0.id))
|
|
171
|
-
})
|
|
172
|
-
}), /*#__PURE__*/_jsx(DialogFooter, {
|
|
173
|
-
children: /*#__PURE__*/_jsx(Button, {
|
|
174
|
-
buttonStyle: "secondary",
|
|
175
|
-
onClick: () => closeModal(modalSlug),
|
|
176
|
-
size: "medium",
|
|
177
|
-
children: t('general:close')
|
|
178
|
-
})
|
|
179
|
-
})]
|
|
180
|
-
})]
|
|
181
|
-
});
|
|
182
|
-
};
|
|
183
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useCallback","useState","toast","Button","ChangeSummary","DialogBody","DialogFooter","DialogHeader","DialogModal","useModal","Pill","useRouter","useRouteTransition","useServerFunctions","useTranslation","ChangedDocuments","baseClass","formatWhen","value","Date","toLocaleString","undefined","dateStyle","timeStyle","ScheduledMerges","branchID","branchSlug","schedules","t","closeModal","openModal","serverFunction","router","startRouteTransition","isWorking","setIsWorking","modalSlug","soonest","handleCancel","deleteID","name","args","success","refresh","_err","error","_jsxs","Fragment","className","_jsx","date","waitUntil","length","pillStyle","size","count","buttonStyle","onClick","map","schedule","isEverything","changes","closeBranch","branch","selectable","id","closeOnBlur","slug","showClose","title","showOperations","disabled"],"sources":["../../../../src/views/Branch/ScheduledMerges/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { BranchChange } from '../ChangedDocuments/index.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { ChangeSummary } from '../../../elements/ChangeSummary/index.js'\nimport {\n DialogBody,\n DialogFooter,\n DialogHeader,\n DialogModal,\n} from '../../../elements/Dialog/index.js'\nimport { useModal } from '../../../elements/Modal/index.js'\nimport { Pill } from '../../../elements/Pill/index.js'\nimport { useRouter } from '../../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { ChangedDocuments } from '../ChangedDocuments/index.js'\nimport './index.css'\n\nconst baseClass = 'scheduled-merges'\n\nexport type ScheduledMerge = {\n /** The documents this schedule will apply, resolved against what is pending now. */\n changes: BranchChange[]\n closeBranch: boolean\n /** `payload-jobs` row ID, which is also the handle for cancelling it. */\n id: string\n /** True when the schedule named no selection, so it takes whatever is pending. */\n isEverything: boolean\n waitUntil: string\n}\n\nconst formatWhen = (value: string) =>\n new Date(value).toLocaleString(undefined, { dateStyle: 'long', timeStyle: 'short' })\n\n/**\n * What a branch is about to merge, and when.\n *\n * A banner says it in one line, because it changes what everything below it means: the\n * pending changes are no longer only a proposal, they are a proposal with a date on it.\n * Below that each schedule lists the documents it will apply, expandable to the same\n * diff the review list shows — the diff is against main either way, so it is the same\n * question asked about a future moment.\n *\n * Several schedules can coexist: schedule a merge, keep working, schedule another. The\n * banner names the soonest and the modal holds the rest, which is why actions live\n * there rather than being repeated per row.\n */\nexport const ScheduledMerges: React.FC<{\n branchID: number | string\n branchSlug: string\n schedules: ScheduledMerge[]\n}> = ({ branchID, branchSlug, schedules }) => {\n const { t } = useTranslation()\n const { closeModal, openModal } = useModal()\n const { serverFunction } = useServerFunctions()\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n\n const [isWorking, setIsWorking] = useState(false)\n\n const modalSlug = `scheduled-merges-${branchID}`\n const soonest = schedules[0]\n\n const handleCancel = useCallback(\n async (deleteID: string) => {\n setIsWorking(true)\n\n try {\n await serverFunction({ name: 'schedule-merge', args: { deleteID } })\n toast.success(t('branching:scheduleCancelled'))\n closeModal(modalSlug)\n startRouteTransition(() => router.refresh())\n } catch (_err) {\n toast.error(t('error:unknown'))\n } finally {\n setIsWorking(false)\n }\n },\n [closeModal, modalSlug, router, serverFunction, startRouteTransition, t],\n )\n\n if (!soonest) {\n return null\n }\n\n return (\n <React.Fragment>\n <div className={`${baseClass}__banner`}>\n <span className={`${baseClass}__banner-text`}>\n {t('branching:scheduledToMergeOn', { date: formatWhen(soonest.waitUntil) })}\n </span>\n <span className={`${baseClass}__banner-actions`}>\n {schedules.length > 1 && (\n <Pill pillStyle=\"light-gray\" size=\"small\">\n {t('branching:scheduleCount', { count: schedules.length })}\n </Pill>\n )}\n <Button buttonStyle=\"secondary\" onClick={() => openModal(modalSlug)} size=\"medium\">\n {t('branching:manage')}\n </Button>\n </span>\n </div>\n\n <div className={`${baseClass}__list`}>\n {schedules.map((schedule) => (\n <section className={`${baseClass}__schedule`} key={schedule.id}>\n <header className={`${baseClass}__schedule-header`}>\n <h4 className={`${baseClass}__when`}>{formatWhen(schedule.waitUntil)}</h4>\n <span className={`${baseClass}__meta`}>\n {schedule.isEverything\n ? t('branching:scheduleWillApplyAll', { count: schedule.changes.length })\n : t('branching:scheduleWillApplySelected', { count: schedule.changes.length })}\n {schedule.closeBranch ? ` · ${t('branching:closeBranchAfterMerge')}` : ''}\n </span>\n </header>\n\n {schedule.changes.length > 0 ? (\n // Read-only: what merges is decided, and the checkboxes on the review\n // list below are for a different, immediate decision.\n <ChangedDocuments branch={branchSlug} changes={schedule.changes} selectable={false} />\n ) : (\n // A selection whose changes were all discarded since. The job will still\n // fire and find nothing, which is harmless but worth saying.\n <p className={`${baseClass}__empty`}>{t('branching:scheduleHasNothingLeft')}</p>\n )}\n </section>\n ))}\n </div>\n\n {/* Cancelling is the only reason to open this, so it is the action on every row\n rather than a footer CTA — and it is destructive, so it says so. Scheduling\n another belongs to the merge modal, which is one click away on the banner. */}\n <DialogModal className={baseClass} closeOnBlur slug={modalSlug}>\n <DialogHeader showClose title={t('branching:scheduledMerges')} />\n <DialogBody>\n <ul className={`${baseClass}__manage-list`}>\n {schedules.map((schedule) => (\n <li className={`${baseClass}__manage-row`} key={schedule.id}>\n <div className={`${baseClass}__manage-details`}>\n <span className={`${baseClass}__manage-when`}>\n {formatWhen(schedule.waitUntil)}\n </span>\n <span className={`${baseClass}__meta`}>\n {schedule.isEverything\n ? t('branching:scheduleWillApplyAll', { count: schedule.changes.length })\n : t('branching:scheduleWillApplySelected', {\n count: schedule.changes.length,\n })}\n {schedule.closeBranch ? ` · ${t('branching:closeBranchAfterMerge')}` : ''}\n </span>\n {/* What is actually merging, which is the thing a date alone does not\n say — and the reason someone opened this to cancel. */}\n <ChangeSummary changes={schedule.changes} showOperations />\n </div>\n <Button\n buttonStyle=\"destructive\"\n disabled={isWorking}\n onClick={() => void handleCancel(schedule.id)}\n size=\"medium\"\n >\n {t('branching:cancelSchedule')}\n </Button>\n </li>\n ))}\n </ul>\n </DialogBody>\n <DialogFooter>\n <Button buttonStyle=\"secondary\" onClick={() => closeModal(modalSlug)} size=\"medium\">\n {t('general:close')}\n </Button>\n </DialogFooter>\n </DialogModal>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
@layer payload-default {
|
|
2
|
-
/* The header band supplies the separation the list used to get from a margin
|
|
3
|
-
on the heading it replaced. */
|
|
4
|
-
.branch-changes {
|
|
5
|
-
padding-block-start: var(--spacer-3);
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
/* Matches `doc-controls`, the bar directly above it, so the two read as one
|
|
9
|
-
stack of header bands rather than a band and a heading. */
|
|
10
|
-
.branch-changes__controls {
|
|
11
|
-
display: flex;
|
|
12
|
-
align-items: center;
|
|
13
|
-
justify-content: space-between;
|
|
14
|
-
gap: var(--spacer-2);
|
|
15
|
-
width: 100%;
|
|
16
|
-
padding: var(--spacer-2-5) var(--gutter-h);
|
|
17
|
-
border-bottom: var(--stroke-width-small) solid var(--color-border);
|
|
18
|
-
background-color: var(--color-bg);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.branch-changes__title {
|
|
22
|
-
margin: 0;
|
|
23
|
-
font-family: var(--text-heading-medium-font-family);
|
|
24
|
-
font-size: var(--text-heading-medium-font-size);
|
|
25
|
-
font-weight: var(--text-heading-medium-font-weight);
|
|
26
|
-
line-height: var(--text-heading-medium-line-height);
|
|
27
|
-
letter-spacing: var(--text-heading-medium-letter-spacing);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.branch-changes__actions {
|
|
31
|
-
display: flex;
|
|
32
|
-
align-items: center;
|
|
33
|
-
gap: var(--spacer-2);
|
|
34
|
-
flex-shrink: 0;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/* Separated by space rather than a rule: the section headings already divide them,
|
|
38
|
-
and a border here would compete with the bordered rows inside each. */
|
|
39
|
-
.branch-changes__section + .branch-changes__section {
|
|
40
|
-
margin-block-start: var(--spacer-6);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
.branch-changes__section-title {
|
|
44
|
-
margin-block: 0 var(--spacer-2);
|
|
45
|
-
font-family: var(--text-body-large-strong-font-family);
|
|
46
|
-
font-size: var(--text-body-large-font-size);
|
|
47
|
-
font-weight: var(--text-body-large-strong-font-weight);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.branch-changes__history-pages {
|
|
51
|
-
display: flex;
|
|
52
|
-
align-items: center;
|
|
53
|
-
justify-content: center;
|
|
54
|
-
gap: var(--spacer-3);
|
|
55
|
-
margin-block-start: var(--spacer-4);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.branch-changes__history-page[aria-disabled='true'] {
|
|
59
|
-
pointer-events: none;
|
|
60
|
-
color: var(--color-text-disabled);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.branch-changes__history-position,
|
|
64
|
-
.branch-changes__since,
|
|
65
|
-
.branch-changes__empty,
|
|
66
|
-
.branch-changes__closed {
|
|
67
|
-
color: var(--color-text-secondary);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.branch-changes__since {
|
|
71
|
-
margin-block: 0 var(--spacer-2);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.branch-changes__closed {
|
|
75
|
-
margin-block: 0 var(--spacer-3);
|
|
76
|
-
}
|
|
77
|
-
}
|