@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["branchesCollectionSlug","formatAdminURL","MAIN_BRANCH","React","Fragment","useMemo","BranchIcon","ChevronIcon","NewTabIcon","PlusIcon","useBranch","useShowBranchSelector","useConfig","useTranslation","Button","Combobox","Link","useMergeBranch","useModal","NewBranchModal","newBranchModalSlug","baseClass","BranchSelector","className","activeBranch","branches","setBranch","showSelector","t","openModal","openMerge","config","routes","admin","adminRoute","manageBranchesURL","path","activeOption","name","slug","find","entries","slugByEntry","options","filter","Map","map","option","hasDistinctName","entry","Component","_jsx","_jsxs","isScheduled","isMerged","set","activeLabel","Boolean","join","footer","close","href","onClick","type","size","header","id","undefined","rel","target","buttonStyle","branchID","branchName","branchSlug","reviewURL","horizontalAlign","minEntriesForSearch","length","onSelect","get","portalClassName","renderButton","active","onKeyDown","ariaProps","extraButtonProps","icon","iconPosition","selected","direction","searchPlaceholder","showEmptyMessage"],"sources":["../../../src/elements/BranchSelector/index.tsx"],"sourcesContent":["'use client'\n\nimport { branchesCollectionSlug, formatAdminURL, MAIN_BRANCH } from 'payload/shared'\nimport React, { Fragment, useMemo } from 'react'\n\nimport type { BranchOption } from '../../providers/Branch/index.js'\nimport type { ComboboxEntry } from '../Combobox/index.js'\n\nimport { BranchIcon } from '../../icons/Branch/index.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { NewTabIcon } from '../../icons/NewTab/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useBranch, useShowBranchSelector } from '../../providers/Branch/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Combobox } from '../Combobox/index.js'\nimport { Link } from '../Link/index.js'\nimport { useMergeBranch } from '../MergeBranch/context.js'\nimport { useModal } from '../Modal/index.js'\nimport { NewBranchModal, newBranchModalSlug } from './NewBranchModal/index.js'\nimport './index.css'\n\nconst baseClass = 'branch-selector'\n\n/**\n * Switcher for the active content branch, sitting to the left of the breadcrumb\n * trail — everything after it is scoped to the branch it names.\n *\n * Renders nothing when branching is off, and nothing while `main` is the only\n * branch there is — until a branch exists there is nothing to switch to.\n */\nexport const BranchSelector: React.FC<{ className?: string }> = ({ className }) => {\n const { activeBranch, branches, setBranch } = useBranch()\n const showSelector = useShowBranchSelector()\n const { t } = useTranslation()\n const { openModal } = useModal()\n const { openMerge } = useMergeBranch()\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const manageBranchesURL = formatAdminURL({\n adminRoute,\n path: `/collections/${branchesCollectionSlug}`,\n })\n\n // A branch that was merged, closed or made unreadable while it was still\n // selected is no longer in the list. It is still what the request resolved to,\n // so the switcher names it — and pinning it at the top is also the way out.\n const activeOption: BranchOption =\n activeBranch === MAIN_BRANCH\n ? { name: MAIN_BRANCH, slug: MAIN_BRANCH }\n : (branches.find(({ slug }) => slug === activeBranch) ?? {\n name: activeBranch,\n slug: activeBranch,\n })\n\n const { entries, slugByEntry } = useMemo(() => {\n // Everything except where you already are: the active branch is pinned above\n // the search, so listing it again would offer switching to it.\n const options: BranchOption[] = [{ name: MAIN_BRANCH, slug: MAIN_BRANCH }, ...branches].filter(\n ({ slug }) => slug !== activeBranch,\n )\n\n const slugByEntry = new Map<ComboboxEntry, string>()\n\n const entries = options.map((option) => {\n const hasDistinctName = option.name !== option.slug\n\n const entry: ComboboxEntry = {\n Component: (\n <span className={`${baseClass}__option`}>\n <span className={`${baseClass}__option-labels`}>\n <span className={`${baseClass}__option-name`}>{option.name}</span>\n {/* A merged branch is still switchable, so it stays in the list — but\n \"nothing pending\" is worth saying, or it looks identical to a\n branch with work on it. */}\n {option.isScheduled ? (\n <span className={`${baseClass}__option-scheduled`}>\n {t('branching:scheduledToMerge')}\n </span>\n ) : (\n option.isMerged && (\n <span className={`${baseClass}__option-merged`}>\n {t('branching:status_merged')}\n </span>\n )\n )}\n </span>\n </span>\n ),\n // The slug is not rendered — editors name branches, the slug is derived —\n // but it stays searchable, since it is what URLs and the API expose.\n name: hasDistinctName ? `${option.name} ${option.slug}` : option.name,\n }\n\n slugByEntry.set(entry, option.slug)\n\n return entry\n })\n\n return { entries, slugByEntry }\n }, [activeBranch, branches, t])\n\n if (!showSelector) {\n return null\n }\n\n const activeLabel =\n branches.find(({ slug }) => slug === activeBranch)?.name ?? activeBranch ?? MAIN_BRANCH\n\n return (\n <Fragment>\n <Combobox\n aria-label={t('branching:branches')}\n className={[baseClass, className].filter(Boolean).join(' ')}\n entries={entries}\n // Pinned rather than listed, so both stay reachable no matter what the\n // search has filtered the list down to.\n footer={({ close }) => (\n <Fragment>\n <Link\n className={`${baseClass}__option ${baseClass}__action ${baseClass}__manage`}\n href={manageBranchesURL}\n onClick={close}\n >\n <span className={`${baseClass}__option-labels`}>{t('branching:manageBranches')}</span>\n </Link>\n <div className={`${baseClass}__footer-divider`} />\n <button\n className={`${baseClass}__option ${baseClass}__action ${baseClass}__create`}\n onClick={() => {\n close()\n openModal(newBranchModalSlug)\n }}\n type=\"button\"\n >\n <span className={`${baseClass}__option-labels`}>\n <PlusIcon size={16} />\n {t('branching:createNewBranch')}\n </span>\n </button>\n </Fragment>\n )}\n // Where you are, before what you could switch to. On a branch the name\n // itself is the way to manage it, so the row carries only the name and the\n // one action that is not reachable from anywhere else.\n header={({ close }) => (\n <div className={`${baseClass}__current`}>\n {activeOption.id === undefined ? (\n <span className={`${baseClass}__current-name`}>{activeOption.name}</span>\n ) : (\n // Opens in a new tab, which is what the icon promises. Reviewing a\n // branch is a detour from whatever you were editing when you opened\n // the switcher, so it should not cost you that place.\n <Link\n className={`${baseClass}__current-name ${baseClass}__current-link`}\n href={formatAdminURL({\n adminRoute,\n path: `/collections/${branchesCollectionSlug}/${activeOption.id}`,\n })}\n onClick={close}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n <span className={`${baseClass}__current-text`}>{activeOption.name}</span>\n <NewTabIcon className={`${baseClass}__current-icon`} size={16} />\n </Link>\n )}\n {activeOption.id !== undefined && (\n <Button\n buttonStyle=\"primary\"\n onClick={() => {\n close()\n // No selection to pass: from the switcher, merging means the whole\n // branch — so it hands over the way to narrow that instead, and\n // lets the modal count what is pending.\n openMerge({\n branchID: activeOption.id,\n branchName: activeOption.name,\n branchSlug: activeOption.slug,\n reviewURL: formatAdminURL({\n adminRoute,\n path: `/collections/${branchesCollectionSlug}/${activeOption.id}`,\n }),\n })\n }}\n size=\"medium\"\n >\n {t('branching:merge')}\n </Button>\n )}\n </div>\n )}\n horizontalAlign=\"left\"\n // Searchable as soon as there is anything to search. With nothing to switch\n // to, a search box and a \"no matches\" message describe a search nobody ran —\n // the popup is then only its two actions.\n minEntriesForSearch={entries.length ? 0 : 1}\n onSelect={(entry) => {\n const slug = slugByEntry.get(entry)\n\n if (slug) {\n setBranch(slug)\n }\n }}\n portalClassName={`${baseClass}__popup`}\n renderButton={({ active, onClick, onKeyDown, ...ariaProps }) => (\n <Button\n aria-label={t('branching:selectBranch')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__trigger`}\n extraButtonProps={{ onKeyDown }}\n icon={<BranchIcon />}\n iconPosition=\"left\"\n onClick={onClick}\n selected={active}\n size=\"medium\"\n {...ariaProps}\n >\n <span className={`${baseClass}__trigger-label`}>\n <span className={`${baseClass}__trigger-name`}>{activeLabel}</span>\n <ChevronIcon direction={active ? 'up' : 'down'} size={16} />\n </span>\n </Button>\n )}\n searchPlaceholder={t('branching:searchBranches')}\n // Suppressed only when there is nothing to match against in the first place;\n // a search that filters everything out still says so.\n showEmptyMessage={entries.length > 0}\n size=\"fit-content\"\n />\n <NewBranchModal />\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
@layer payload-default {
|
|
2
|
-
.change-summary {
|
|
3
|
-
display: flex;
|
|
4
|
-
flex-direction: column;
|
|
5
|
-
align-items: flex-start;
|
|
6
|
-
gap: var(--spacer-1);
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.change-summary__operations {
|
|
10
|
-
font-family: var(--text-body-small-font-family);
|
|
11
|
-
font-size: var(--text-body-small-font-size);
|
|
12
|
-
color: var(--color-text-secondary);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.change-summary__view {
|
|
16
|
-
color: var(--color-text-brand);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type React from 'react';
|
|
2
|
-
import './index.css';
|
|
3
|
-
/** The least a change has to say about itself to be counted here. */
|
|
4
|
-
export type SummarizableChange = {
|
|
5
|
-
/** Absent for a global. */
|
|
6
|
-
collectionSlug?: string;
|
|
7
|
-
globalSlug?: string;
|
|
8
|
-
operation?: 'create' | 'delete' | 'update';
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* What a set of branch changes amounts to, in one sentence.
|
|
12
|
-
*
|
|
13
|
-
* "Changes to 3 Pages, 2 Media, and 1 Post" answers the question a bare count cannot
|
|
14
|
-
* — whether this merge touches the things the reader cares about — without making them
|
|
15
|
-
* open a list to find out. It is deliberately a summary and not a table: the table
|
|
16
|
-
* already exists on the branch view, and callers that can reach it link there themselves.
|
|
17
|
-
*
|
|
18
|
-
* Shared rather than written per caller, because the merge modal, a scheduled merge and
|
|
19
|
-
* the manage modal are all answering the same question about the same kind of set, and
|
|
20
|
-
* three hand-rolled sentences would drift apart.
|
|
21
|
-
*/
|
|
22
|
-
export declare const ChangeSummary: React.FC<{
|
|
23
|
-
changes: SummarizableChange[];
|
|
24
|
-
className?: string;
|
|
25
|
-
/** Shown as a second, muted line. Off where the operations are already on screen. */
|
|
26
|
-
showOperations?: boolean;
|
|
27
|
-
}>;
|
|
28
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ChangeSummary/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,OAAO,aAAa,CAAA;AAIpB,qEAAqE;AACrE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,2BAA2B;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;CAC3C,CAAA;AAKD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,OAAO,EAAE,kBAAkB,EAAE,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qFAAqF;IACrF,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAgEA,CAAA"}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
-
import { getTranslation } from '@payloadcms/translations';
|
|
6
|
-
import { useConfig } from '../../providers/Config/index.js';
|
|
7
|
-
import { useTranslation } from '../../providers/Translation/index.js';
|
|
8
|
-
import './index.css';
|
|
9
|
-
const baseClass = 'change-summary';
|
|
10
|
-
/** Beyond this the sentence stops being readable, and the rest is rolled into a count. */
|
|
11
|
-
const MAX_NAMED_COLLECTIONS = 3;
|
|
12
|
-
/**
|
|
13
|
-
* What a set of branch changes amounts to, in one sentence.
|
|
14
|
-
*
|
|
15
|
-
* "Changes to 3 Pages, 2 Media, and 1 Post" answers the question a bare count cannot
|
|
16
|
-
* — whether this merge touches the things the reader cares about — without making them
|
|
17
|
-
* open a list to find out. It is deliberately a summary and not a table: the table
|
|
18
|
-
* already exists on the branch view, and callers that can reach it link there themselves.
|
|
19
|
-
*
|
|
20
|
-
* Shared rather than written per caller, because the merge modal, a scheduled merge and
|
|
21
|
-
* the manage modal are all answering the same question about the same kind of set, and
|
|
22
|
-
* three hand-rolled sentences would drift apart.
|
|
23
|
-
*/
|
|
24
|
-
export const ChangeSummary = t0 => {
|
|
25
|
-
const $ = _c(12);
|
|
26
|
-
const {
|
|
27
|
-
changes,
|
|
28
|
-
className,
|
|
29
|
-
showOperations: t1
|
|
30
|
-
} = t0;
|
|
31
|
-
const showOperations = t1 === undefined ? false : t1;
|
|
32
|
-
const {
|
|
33
|
-
getEntityConfig
|
|
34
|
-
} = useConfig();
|
|
35
|
-
const {
|
|
36
|
-
i18n,
|
|
37
|
-
t
|
|
38
|
-
} = useTranslation();
|
|
39
|
-
if (!changes.length) {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
let t2;
|
|
43
|
-
if ($[0] !== changes || $[1] !== className || $[2] !== getEntityConfig || $[3] !== i18n || $[4] !== showOperations || $[5] !== t) {
|
|
44
|
-
const counts = new Map();
|
|
45
|
-
for (const change of changes) {
|
|
46
|
-
const key = change.globalSlug ? `global:${change.globalSlug}` : `collection:${change.collectionSlug}`;
|
|
47
|
-
counts.set(key, (counts.get(key) ?? 0) + 1);
|
|
48
|
-
}
|
|
49
|
-
const groups = [...counts.entries()].sort(_temp);
|
|
50
|
-
let t3;
|
|
51
|
-
if ($[7] !== getEntityConfig || $[8] !== i18n) {
|
|
52
|
-
t3 = t4 => {
|
|
53
|
-
const [key_0, count] = t4;
|
|
54
|
-
const [kind, slug] = key_0.split(":");
|
|
55
|
-
if (kind === "global") {
|
|
56
|
-
const label = getEntityConfig({
|
|
57
|
-
globalSlug: slug
|
|
58
|
-
})?.label;
|
|
59
|
-
return `${count} ${getTranslation(label ?? slug, i18n)}`;
|
|
60
|
-
}
|
|
61
|
-
const labels = getEntityConfig({
|
|
62
|
-
collectionSlug: slug
|
|
63
|
-
})?.labels;
|
|
64
|
-
const label_0 = count === 1 ? labels?.singular : labels?.plural;
|
|
65
|
-
return `${count} ${getTranslation(label_0 ?? slug, i18n)}`;
|
|
66
|
-
};
|
|
67
|
-
$[7] = getEntityConfig;
|
|
68
|
-
$[8] = i18n;
|
|
69
|
-
$[9] = t3;
|
|
70
|
-
} else {
|
|
71
|
-
t3 = $[9];
|
|
72
|
-
}
|
|
73
|
-
const named = groups.slice(0, MAX_NAMED_COLLECTIONS).map(t3);
|
|
74
|
-
const remainder = groups.slice(MAX_NAMED_COLLECTIONS).reduce(_temp2, 0);
|
|
75
|
-
if (remainder) {
|
|
76
|
-
named.push(t("branching:andMoreChanges", {
|
|
77
|
-
count: remainder
|
|
78
|
-
}));
|
|
79
|
-
}
|
|
80
|
-
const summary = new Intl.ListFormat(i18n.language, {
|
|
81
|
-
type: "conjunction",
|
|
82
|
-
style: "long"
|
|
83
|
-
}).format(named);
|
|
84
|
-
const operations = showOperations ? summarizeOperations({
|
|
85
|
-
changes,
|
|
86
|
-
t
|
|
87
|
-
}) : null;
|
|
88
|
-
let t4;
|
|
89
|
-
if ($[10] !== className) {
|
|
90
|
-
t4 = [baseClass, className].filter(Boolean);
|
|
91
|
-
$[10] = className;
|
|
92
|
-
$[11] = t4;
|
|
93
|
-
} else {
|
|
94
|
-
t4 = $[11];
|
|
95
|
-
}
|
|
96
|
-
t2 = _jsxs("div", {
|
|
97
|
-
className: t4.join(" "),
|
|
98
|
-
children: [_jsx("span", {
|
|
99
|
-
className: `${baseClass}__sentence`,
|
|
100
|
-
children: t("branching:changesTo", {
|
|
101
|
-
summary
|
|
102
|
-
})
|
|
103
|
-
}), operations && _jsx("span", {
|
|
104
|
-
className: `${baseClass}__operations`,
|
|
105
|
-
children: operations
|
|
106
|
-
})]
|
|
107
|
-
});
|
|
108
|
-
$[0] = changes;
|
|
109
|
-
$[1] = className;
|
|
110
|
-
$[2] = getEntityConfig;
|
|
111
|
-
$[3] = i18n;
|
|
112
|
-
$[4] = showOperations;
|
|
113
|
-
$[5] = t;
|
|
114
|
-
$[6] = t2;
|
|
115
|
-
} else {
|
|
116
|
-
t2 = $[6];
|
|
117
|
-
}
|
|
118
|
-
return t2;
|
|
119
|
-
};
|
|
120
|
-
/**
|
|
121
|
-
* "2 Created · 3 Updated", in the order the operations happen to a document rather than
|
|
122
|
-
* by count — this line is about what kind of merge it is, and a delete matters at any size.
|
|
123
|
-
*/
|
|
124
|
-
const summarizeOperations = ({
|
|
125
|
-
changes,
|
|
126
|
-
t
|
|
127
|
-
}) => {
|
|
128
|
-
const order = ['create', 'update', 'delete'];
|
|
129
|
-
const parts = order.reduce((acc, operation) => {
|
|
130
|
-
const count = changes.filter(change => change.operation === operation).length;
|
|
131
|
-
if (count) {
|
|
132
|
-
acc.push(`${count} ${t(`branching:operation_${operation}`)}`);
|
|
133
|
-
}
|
|
134
|
-
return acc;
|
|
135
|
-
}, []);
|
|
136
|
-
return parts.length ? parts.join(' · ') : null;
|
|
137
|
-
};
|
|
138
|
-
function _temp(t0, t1) {
|
|
139
|
-
const [slugA, countA] = t0;
|
|
140
|
-
const [slugB, countB] = t1;
|
|
141
|
-
return countB - countA || slugA.localeCompare(slugB);
|
|
142
|
-
}
|
|
143
|
-
function _temp2(total, t0) {
|
|
144
|
-
const [, count_0] = t0;
|
|
145
|
-
return total + count_0;
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","useConfig","useTranslation","baseClass","MAX_NAMED_COLLECTIONS","ChangeSummary","t0","$","changes","className","showOperations","t1","undefined","getEntityConfig","i18n","t","length","t2","counts","Map","change","key","globalSlug","collectionSlug","set","get","groups","entries","sort","_temp","t3","t4","key_0","count","kind","slug","split","label","labels","label_0","singular","plural","named","slice","map","remainder","reduce","_temp2","push","summary","Intl","ListFormat","language","type","style","format","operations","summarizeOperations","filter","Boolean","_jsxs","join","children","_jsx","order","parts","acc","operation","slugA","countA","slugB","countB","localeCompare","total","count_0"],"sources":["../../../src/elements/ChangeSummary/index.tsx"],"sourcesContent":["'use client'\n\nimport type React from 'react'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.css'\n\nconst baseClass = 'change-summary'\n\n/** The least a change has to say about itself to be counted here. */\nexport type SummarizableChange = {\n /** Absent for a global. */\n collectionSlug?: string\n globalSlug?: string\n operation?: 'create' | 'delete' | 'update'\n}\n\n/** Beyond this the sentence stops being readable, and the rest is rolled into a count. */\nconst MAX_NAMED_COLLECTIONS = 3\n\n/**\n * What a set of branch changes amounts to, in one sentence.\n *\n * \"Changes to 3 Pages, 2 Media, and 1 Post\" answers the question a bare count cannot\n * — whether this merge touches the things the reader cares about — without making them\n * open a list to find out. It is deliberately a summary and not a table: the table\n * already exists on the branch view, and callers that can reach it link there themselves.\n *\n * Shared rather than written per caller, because the merge modal, a scheduled merge and\n * the manage modal are all answering the same question about the same kind of set, and\n * three hand-rolled sentences would drift apart.\n */\nexport const ChangeSummary: React.FC<{\n changes: SummarizableChange[]\n className?: string\n /** Shown as a second, muted line. Off where the operations are already on screen. */\n showOperations?: boolean\n}> = ({ changes, className, showOperations = false }) => {\n const { getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n\n if (!changes.length) {\n return null\n }\n\n // Keyed by kind as well as slug: a global and a collection could share a slug, and they\n // are labelled from different places.\n const counts = new Map<string, number>()\n\n for (const change of changes) {\n const key = change.globalSlug\n ? `global:${change.globalSlug}`\n : `collection:${change.collectionSlug}`\n\n counts.set(key, (counts.get(key) ?? 0) + 1)\n }\n\n // Biggest group first: it is the one that describes the merge. Ties fall back to the\n // slug so the sentence is stable between renders rather than following Map order.\n const groups = [...counts.entries()].sort(\n ([slugA, countA], [slugB, countB]) => countB - countA || slugA.localeCompare(slugB),\n )\n\n const named = groups.slice(0, MAX_NAMED_COLLECTIONS).map(([key, count]) => {\n const [kind, slug] = key.split(':') as ['collection' | 'global', string]\n\n // A branch holds at most one change per global, so there is no plural form to pick.\n if (kind === 'global') {\n const label = getEntityConfig({ globalSlug: slug })?.label\n\n return `${count} ${getTranslation(label ?? slug, i18n)}`\n }\n\n const labels = getEntityConfig({ collectionSlug: slug })?.labels\n const label = count === 1 ? labels?.singular : labels?.plural\n\n return `${count} ${getTranslation(label ?? slug, i18n)}`\n })\n\n const remainder = groups\n .slice(MAX_NAMED_COLLECTIONS)\n .reduce((total, [, count]) => total + count, 0)\n\n if (remainder) {\n named.push(t('branching:andMoreChanges', { count: remainder }))\n }\n\n // `Intl.ListFormat` rather than joining on \", \" and \"and\": the separator and the\n // conjunction are both language-specific, and this is a translated sentence.\n const summary = new Intl.ListFormat(i18n.language, { type: 'conjunction', style: 'long' }).format(\n named,\n )\n\n const operations = showOperations ? summarizeOperations({ changes, t }) : null\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <span className={`${baseClass}__sentence`}>{t('branching:changesTo', { summary })}</span>\n {operations && <span className={`${baseClass}__operations`}>{operations}</span>}\n </div>\n )\n}\n\n/**\n * \"2 Created · 3 Updated\", in the order the operations happen to a document rather than\n * by count — this line is about what kind of merge it is, and a delete matters at any size.\n */\nconst summarizeOperations = ({\n changes,\n t,\n}: {\n changes: SummarizableChange[]\n t: (key: string) => string\n}): null | string => {\n const order = ['create', 'update', 'delete'] as const\n\n const parts = order.reduce<string[]>((acc, operation) => {\n const count = changes.filter((change) => change.operation === operation).length\n\n if (count) {\n acc.push(`${count} ${t(`branching:operation_${operation}`)}`)\n }\n\n return acc\n }, [])\n\n return parts.length ? parts.join(' · ') : null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
@layer payload-default {
|
|
2
|
-
/* Matches the version-count pill so the two document tabs read as one family. */
|
|
3
|
-
.pill-branch-changes {
|
|
4
|
-
line-height: var(--spacer-2-5);
|
|
5
|
-
min-width: var(--spacer-2-5);
|
|
6
|
-
text-align: center;
|
|
7
|
-
background-color: var(--color-bg-secondary);
|
|
8
|
-
border-radius: var(--radius-small);
|
|
9
|
-
padding: 2px var(--spacer-1);
|
|
10
|
-
color: var(--color-text-secondary);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import './index.css';
|
|
3
|
-
/**
|
|
4
|
-
* How many documents a branch has changed.
|
|
5
|
-
*
|
|
6
|
-
* Counted on the client rather than threaded through `DocumentInfo`, the way the
|
|
7
|
-
* version count is: the changed-document list is the branch view's whole subject,
|
|
8
|
-
* so it will want live state of its own soon. When that arrives this should read
|
|
9
|
-
* from it instead of issuing its own request.
|
|
10
|
-
*/
|
|
11
|
-
export declare const BranchChangesPill: React.FC;
|
|
12
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAKlD,OAAO,aAAa,CAAA;AAIpB;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EA6DrC,CAAA"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
-
import { branchChangesCollectionSlug, formatAdminURL } from 'payload/shared';
|
|
5
|
-
import * as qs from 'qs-esm';
|
|
6
|
-
import React, { useEffect, useState } from 'react';
|
|
7
|
-
import { useConfig } from '../../../../../providers/Config/index.js';
|
|
8
|
-
import { useDocumentInfo } from '../../../../../providers/DocumentInfo/index.js';
|
|
9
|
-
import { requests } from '../../../../../utilities/api.js';
|
|
10
|
-
import './index.css';
|
|
11
|
-
const baseClass = 'pill-branch-changes';
|
|
12
|
-
/**
|
|
13
|
-
* How many documents a branch has changed.
|
|
14
|
-
*
|
|
15
|
-
* Counted on the client rather than threaded through `DocumentInfo`, the way the
|
|
16
|
-
* version count is: the changed-document list is the branch view's whole subject,
|
|
17
|
-
* so it will want live state of its own soon. When that arrives this should read
|
|
18
|
-
* from it instead of issuing its own request.
|
|
19
|
-
*/
|
|
20
|
-
export const BranchChangesPill = () => {
|
|
21
|
-
const {
|
|
22
|
-
savedDocumentData
|
|
23
|
-
} = useDocumentInfo();
|
|
24
|
-
const {
|
|
25
|
-
config: {
|
|
26
|
-
routes: {
|
|
27
|
-
api
|
|
28
|
-
},
|
|
29
|
-
serverURL
|
|
30
|
-
}
|
|
31
|
-
} = useConfig();
|
|
32
|
-
const [count, setCount] = useState(null);
|
|
33
|
-
const slug = savedDocumentData?.slug;
|
|
34
|
-
useEffect(() => {
|
|
35
|
-
if (!slug) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
let active = true;
|
|
39
|
-
const query = qs.stringify({
|
|
40
|
-
depth: 0,
|
|
41
|
-
limit: 0,
|
|
42
|
-
where: {
|
|
43
|
-
branch: {
|
|
44
|
-
equals: slug
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}, {
|
|
48
|
-
addQueryPrefix: true
|
|
49
|
-
});
|
|
50
|
-
void (async () => {
|
|
51
|
-
try {
|
|
52
|
-
const response = await requests.get(formatAdminURL({
|
|
53
|
-
apiRoute: api,
|
|
54
|
-
path: `/${branchChangesCollectionSlug}${query}`,
|
|
55
|
-
serverURL
|
|
56
|
-
}));
|
|
57
|
-
if (!response.ok) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
const {
|
|
61
|
-
totalDocs
|
|
62
|
-
} = await response.json();
|
|
63
|
-
if (active && typeof totalDocs === 'number') {
|
|
64
|
-
setCount(totalDocs);
|
|
65
|
-
}
|
|
66
|
-
} catch (_err) {
|
|
67
|
-
// A count that fails to load simply doesn't render — it is decoration on a
|
|
68
|
-
// tab, not something worth surfacing an error for.
|
|
69
|
-
}
|
|
70
|
-
})();
|
|
71
|
-
return () => {
|
|
72
|
-
active = false;
|
|
73
|
-
};
|
|
74
|
-
}, [api, serverURL, slug]);
|
|
75
|
-
if (count === null) {
|
|
76
|
-
return null;
|
|
77
|
-
}
|
|
78
|
-
return /*#__PURE__*/_jsx("span", {
|
|
79
|
-
className: baseClass,
|
|
80
|
-
children: count
|
|
81
|
-
});
|
|
82
|
-
};
|
|
83
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["branchChangesCollectionSlug","formatAdminURL","qs","React","useEffect","useState","useConfig","useDocumentInfo","requests","baseClass","BranchChangesPill","savedDocumentData","config","routes","api","serverURL","count","setCount","slug","active","query","stringify","depth","limit","where","branch","equals","addQueryPrefix","response","get","apiRoute","path","ok","totalDocs","json","_err","_jsx","className"],"sources":["../../../../../../src/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.tsx"],"sourcesContent":["'use client'\n\nimport { branchChangesCollectionSlug, formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useEffect, useState } from 'react'\n\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../../../providers/DocumentInfo/index.js'\nimport { requests } from '../../../../../utilities/api.js'\nimport './index.css'\n\nconst baseClass = 'pill-branch-changes'\n\n/**\n * How many documents a branch has changed.\n *\n * Counted on the client rather than threaded through `DocumentInfo`, the way the\n * version count is: the changed-document list is the branch view's whole subject,\n * so it will want live state of its own soon. When that arrives this should read\n * from it instead of issuing its own request.\n */\nexport const BranchChangesPill: React.FC = () => {\n const { savedDocumentData } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const [count, setCount] = useState<null | number>(null)\n\n const slug = (savedDocumentData as { slug?: string } | undefined)?.slug\n\n useEffect(() => {\n if (!slug) {\n return\n }\n\n let active = true\n\n const query = qs.stringify(\n { depth: 0, limit: 0, where: { branch: { equals: slug } } },\n { addQueryPrefix: true },\n )\n\n void (async () => {\n try {\n const response = await requests.get(\n formatAdminURL({\n apiRoute: api,\n path: `/${branchChangesCollectionSlug}${query}`,\n serverURL,\n }),\n )\n\n if (!response.ok) {\n return\n }\n\n const { totalDocs } = (await response.json()) as { totalDocs?: number }\n\n if (active && typeof totalDocs === 'number') {\n setCount(totalDocs)\n }\n } catch (_err) {\n // A count that fails to load simply doesn't render — it is decoration on a\n // tab, not something worth surfacing an error for.\n }\n })()\n\n return () => {\n active = false\n }\n }, [api, serverURL, slug])\n\n if (count === null) {\n return null\n }\n\n return <span className={baseClass}>{count}</span>\n}\n"],"mappings":"AAAA;;;AAEA,SAASA,2BAA2B,EAAEC,cAAc,QAAQ;AAC5D,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,SAAS,EAAEC,QAAQ,QAAQ;AAE3C,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB;;;;;;;;AAQA,OAAO,MAAMC,iBAAA,GAA8BA,CAAA;EACzC,MAAM;IAAEC;EAAiB,CAAE,GAAGJ,eAAA;EAE9B,MAAM;IACJK,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC;MAAG,CAAE;MACfC;IAAS;EACV,CACF,GAAGT,SAAA;EAEJ,MAAM,CAACU,KAAA,EAAOC,QAAA,CAAS,GAAGZ,QAAA,CAAwB;EAElD,MAAMa,IAAA,GAAQP,iBAAA,EAAqDO,IAAA;EAEnEd,SAAA,CAAU;IACR,IAAI,CAACc,IAAA,EAAM;MACT;IACF;IAEA,IAAIC,MAAA,GAAS;IAEb,MAAMC,KAAA,GAAQlB,EAAA,CAAGmB,SAAS,CACxB;MAAEC,KAAA,EAAO;MAAGC,KAAA,EAAO;MAAGC,KAAA,EAAO;QAAEC,MAAA,EAAQ;UAAEC,MAAA,EAAQR;QAAK;MAAE;IAAE,GAC1D;MAAES,cAAA,EAAgB;IAAK;IAGzB,KAAK,CAAC;MACJ,IAAI;QACF,MAAMC,QAAA,GAAW,MAAMpB,QAAA,CAASqB,GAAG,CACjC5B,cAAA,CAAe;UACb6B,QAAA,EAAUhB,GAAA;UACViB,IAAA,EAAM,IAAI/B,2BAAA,GAA8BoB,KAAA,EAAO;UAC/CL;QACF;QAGF,IAAI,CAACa,QAAA,CAASI,EAAE,EAAE;UAChB;QACF;QAEA,MAAM;UAAEC;QAAS,CAAE,GAAI,MAAML,QAAA,CAASM,IAAI;QAE1C,IAAIf,MAAA,IAAU,OAAOc,SAAA,KAAc,UAAU;UAC3ChB,QAAA,CAASgB,SAAA;QACX;MACF,EAAE,OAAOE,IAAA,EAAM;QACb;QACA;MAAA;IAEJ;IAEA,OAAO;MACLhB,MAAA,GAAS;IACX;EACF,GAAG,CAACL,GAAA,EAAKC,SAAA,EAAWG,IAAA,CAAK;EAEzB,IAAIF,KAAA,KAAU,MAAM;IAClB,OAAO;EACT;EAEA,oBAAOoB,IAAA,CAAC;IAAKC,SAAA,EAAW5B,SAAA;cAAYO;;AACtC","ignoreList":[]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { DocumentTabServerProps } from 'payload';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
/**
|
|
4
|
-
* The branch's own fields — name, description, status — behind an icon.
|
|
5
|
-
*
|
|
6
|
-
* An icon rather than a labelled tab because it is not a peer of the changed
|
|
7
|
-
* documents: those are why the branch exists, this is its metadata. Rendered as a
|
|
8
|
-
* `Component` tab because a tab's `label` is a string, and this needs to be a
|
|
9
|
-
* glyph. `isActive` is left to the link, which derives it from the pathname.
|
|
10
|
-
*/
|
|
11
|
-
export declare const BranchSettingsTab: React.FC<{
|
|
12
|
-
path?: string;
|
|
13
|
-
} & DocumentTabServerProps>;
|
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,sBAAsB,CAclF,CAAA"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import React from 'react';
|
|
3
|
-
// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary
|
|
4
|
-
import { DocumentTabLink } from '../../../../../exports/client/index.js';
|
|
5
|
-
import { GearIcon } from '../../../../../icons/Gear/index.js';
|
|
6
|
-
const baseClass = 'doc-tab';
|
|
7
|
-
/**
|
|
8
|
-
* The branch's own fields — name, description, status — behind an icon.
|
|
9
|
-
*
|
|
10
|
-
* An icon rather than a labelled tab because it is not a peer of the changed
|
|
11
|
-
* documents: those are why the branch exists, this is its metadata. Rendered as a
|
|
12
|
-
* `Component` tab because a tab's `label` is a string, and this needs to be a
|
|
13
|
-
* glyph. `isActive` is left to the link, which derives it from the pathname.
|
|
14
|
-
*/
|
|
15
|
-
export const BranchSettingsTab = ({
|
|
16
|
-
path,
|
|
17
|
-
req
|
|
18
|
-
}) => /*#__PURE__*/_jsx(DocumentTabLink, {
|
|
19
|
-
adminRoute: req.payload.config.routes.admin,
|
|
20
|
-
ariaLabel: req.i18n.t('branching:branchSettings'),
|
|
21
|
-
baseClass: baseClass,
|
|
22
|
-
href: path ?? '/manage',
|
|
23
|
-
children: /*#__PURE__*/_jsx("span", {
|
|
24
|
-
className: `${baseClass}__label`,
|
|
25
|
-
children: /*#__PURE__*/_jsx(GearIcon, {})
|
|
26
|
-
})
|
|
27
|
-
});
|
|
28
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","DocumentTabLink","GearIcon","baseClass","BranchSettingsTab","path","req","_jsx","adminRoute","payload","config","routes","admin","ariaLabel","i18n","t","href","className"],"sources":["../../../../../../src/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.tsx"],"sourcesContent":["import type { DocumentTabServerProps } from 'payload'\n\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { DocumentTabLink } from '../../../../../exports/client/index.js'\nimport { GearIcon } from '../../../../../icons/Gear/index.js'\n\nconst baseClass = 'doc-tab'\n\n/**\n * The branch's own fields — name, description, status — behind an icon.\n *\n * An icon rather than a labelled tab because it is not a peer of the changed\n * documents: those are why the branch exists, this is its metadata. Rendered as a\n * `Component` tab because a tab's `label` is a string, and this needs to be a\n * glyph. `isActive` is left to the link, which derives it from the pathname.\n */\nexport const BranchSettingsTab: React.FC<{ path?: string } & DocumentTabServerProps> = ({\n path,\n req,\n}) => (\n <DocumentTabLink\n adminRoute={req.payload.config.routes.admin}\n ariaLabel={req.i18n.t('branching:branchSettings')}\n baseClass={baseClass}\n href={path ?? '/manage'}\n >\n <span className={`${baseClass}__label`}>\n <GearIcon />\n </span>\n </DocumentTabLink>\n)\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAElB;AACA,SAASC,eAAe,QAAQ;AAChC,SAASC,QAAQ,QAAQ;AAEzB,MAAMC,SAAA,GAAY;AAElB;;;;;;;;AAQA,OAAO,MAAMC,iBAAA,GAA0EA,CAAC;EACtFC,IAAI;EACJC;AAAG,CACJ,kBACCC,IAAA,CAACN,eAAA;EACCO,UAAA,EAAYF,GAAA,CAAIG,OAAO,CAACC,MAAM,CAACC,MAAM,CAACC,KAAK;EAC3CC,SAAA,EAAWP,GAAA,CAAIQ,IAAI,CAACC,CAAC,CAAC;EACtBZ,SAAA,EAAWA,SAAA;EACXa,IAAA,EAAMX,IAAA,IAAQ;YAEd,aAAAE,IAAA,CAAC;IAAKU,SAAA,EAAW,GAAGd,SAAA,SAAkB;cACpC,aAAAI,IAAA,CAACL,QAAA","ignoreList":[]}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { SummarizableChange } from '../ChangeSummary/index.js';
|
|
3
|
-
export type MergeTarget = {
|
|
4
|
-
/** `payload-branches` document ID, for the merge endpoint's path. */
|
|
5
|
-
branchID: number | string;
|
|
6
|
-
branchName: string;
|
|
7
|
-
branchSlug: string;
|
|
8
|
-
/**
|
|
9
|
-
* What will be applied, for the modal's summary — the selection where there is one.
|
|
10
|
-
*
|
|
11
|
-
* Passed by openers that have already read the changes, so the modal can say what the
|
|
12
|
-
* merge touches without a second request. The switcher has not, and leaves it out.
|
|
13
|
-
*/
|
|
14
|
-
changes?: SummarizableChange[];
|
|
15
|
-
/**
|
|
16
|
-
* Where to go to choose which changes to merge, when the action was raised from
|
|
17
|
-
* somewhere that cannot offer that choice.
|
|
18
|
-
*
|
|
19
|
-
* Set by the branch switcher, which can be opened from any screen; omitted by
|
|
20
|
-
* the changed-documents view, which *is* that page — linking to it from there
|
|
21
|
-
* would send the reader in a circle.
|
|
22
|
-
*/
|
|
23
|
-
reviewURL?: string;
|
|
24
|
-
/**
|
|
25
|
-
* Change IDs to apply, or undefined to apply everything pending.
|
|
26
|
-
*
|
|
27
|
-
* The changed-documents view owns the selection, and the merge can also be raised
|
|
28
|
-
* from the branch switcher, where there is no selection to make.
|
|
29
|
-
*/
|
|
30
|
-
selectedChangeIDs?: (number | string)[];
|
|
31
|
-
/**
|
|
32
|
-
* Changes pending on the branch, when the opener already knows it.
|
|
33
|
-
*
|
|
34
|
-
* The changed-documents view has counted them to render them. The switcher has
|
|
35
|
-
* not, so it leaves this undefined and the modal counts them itself.
|
|
36
|
-
*/
|
|
37
|
-
totalChanges?: number;
|
|
38
|
-
};
|
|
39
|
-
type MergeBranchContext = {
|
|
40
|
-
/** Dismisses the modal and forgets what it was pointed at. */
|
|
41
|
-
closeMerge: () => void;
|
|
42
|
-
/**
|
|
43
|
-
* Raises the merge modal against a specific target.
|
|
44
|
-
*
|
|
45
|
-
* The target belongs to the *action*, not to the screen: "merge this selection"
|
|
46
|
-
* and "merge the whole branch" are the same modal pointed at different things, and
|
|
47
|
-
* both can be triggered from the same page — the switcher sits in the app header,
|
|
48
|
-
* above every view.
|
|
49
|
-
*/
|
|
50
|
-
openMerge: (target: MergeTarget) => void;
|
|
51
|
-
/** Null until something raises the modal. */
|
|
52
|
-
target: MergeTarget | null;
|
|
53
|
-
};
|
|
54
|
-
/**
|
|
55
|
-
* Holds what the merge modal is currently pointed at.
|
|
56
|
-
*
|
|
57
|
-
* One store, mounted above both the app header and the page, because the modal is
|
|
58
|
-
* mounted exactly once. Rendering it per entry point — the switcher *and* the
|
|
59
|
-
* changed-documents view — stacked two dialogs on the same slug, so opening the
|
|
60
|
-
* merge opened both and only the topmost one showed progress.
|
|
61
|
-
*/
|
|
62
|
-
export declare const MergeBranchStoreProvider: React.FC<{
|
|
63
|
-
children: React.ReactNode;
|
|
64
|
-
}>;
|
|
65
|
-
export declare const useMergeBranch: () => MergeBranchContext;
|
|
66
|
-
export {};
|
|
67
|
-
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/elements/MergeBranch/context.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6D,MAAM,OAAO,CAAA;AAEjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAKnE,MAAM,MAAM,WAAW,GAAG;IACxB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC9B;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACvC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,kBAAkB,GAAG;IACxB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB;;;;;;;OAOG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IACxC,6CAA6C;IAC7C,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;CAC3B,CAAA;AAQD;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAuB5E,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,kBAAkC,CAAA"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
-
import React, { createContext, use, useCallback, useMemo, useState } from 'react';
|
|
5
|
-
import { useModal } from '../Modal/index.js';
|
|
6
|
-
import { mergeBranchModalSlug } from './slug.js';
|
|
7
|
-
const Context = /*#__PURE__*/createContext({
|
|
8
|
-
closeMerge: () => {},
|
|
9
|
-
openMerge: () => {},
|
|
10
|
-
target: null
|
|
11
|
-
});
|
|
12
|
-
/**
|
|
13
|
-
* Holds what the merge modal is currently pointed at.
|
|
14
|
-
*
|
|
15
|
-
* One store, mounted above both the app header and the page, because the modal is
|
|
16
|
-
* mounted exactly once. Rendering it per entry point — the switcher *and* the
|
|
17
|
-
* changed-documents view — stacked two dialogs on the same slug, so opening the
|
|
18
|
-
* merge opened both and only the topmost one showed progress.
|
|
19
|
-
*/
|
|
20
|
-
export const MergeBranchStoreProvider = ({
|
|
21
|
-
children
|
|
22
|
-
}) => {
|
|
23
|
-
const {
|
|
24
|
-
closeModal,
|
|
25
|
-
openModal
|
|
26
|
-
} = useModal();
|
|
27
|
-
const [target, setTarget] = useState(null);
|
|
28
|
-
const openMerge = useCallback(next => {
|
|
29
|
-
setTarget(next);
|
|
30
|
-
openModal(mergeBranchModalSlug);
|
|
31
|
-
}, [openModal]);
|
|
32
|
-
const closeMerge = useCallback(() => {
|
|
33
|
-
closeModal(mergeBranchModalSlug);
|
|
34
|
-
setTarget(null);
|
|
35
|
-
}, [closeModal]);
|
|
36
|
-
const value = useMemo(() => ({
|
|
37
|
-
closeMerge,
|
|
38
|
-
openMerge,
|
|
39
|
-
target
|
|
40
|
-
}), [closeMerge, openMerge, target]);
|
|
41
|
-
return /*#__PURE__*/_jsx(Context, {
|
|
42
|
-
value: value,
|
|
43
|
-
children: children
|
|
44
|
-
});
|
|
45
|
-
};
|
|
46
|
-
export const useMergeBranch = () => use(Context);
|
|
47
|
-
//# sourceMappingURL=context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":["React","createContext","use","useCallback","useMemo","useState","useModal","mergeBranchModalSlug","Context","closeMerge","openMerge","target","MergeBranchStoreProvider","children","closeModal","openModal","setTarget","next","value","_jsx","useMergeBranch"],"sources":["../../../src/elements/MergeBranch/context.tsx"],"sourcesContent":["'use client'\n\nimport React, { createContext, use, useCallback, useMemo, useState } from 'react'\n\nimport type { SummarizableChange } from '../ChangeSummary/index.js'\n\nimport { useModal } from '../Modal/index.js'\nimport { mergeBranchModalSlug } from './slug.js'\n\nexport type MergeTarget = {\n /** `payload-branches` document ID, for the merge endpoint's path. */\n branchID: number | string\n branchName: string\n branchSlug: string\n /**\n * What will be applied, for the modal's summary — the selection where there is one.\n *\n * Passed by openers that have already read the changes, so the modal can say what the\n * merge touches without a second request. The switcher has not, and leaves it out.\n */\n changes?: SummarizableChange[]\n /**\n * Where to go to choose which changes to merge, when the action was raised from\n * somewhere that cannot offer that choice.\n *\n * Set by the branch switcher, which can be opened from any screen; omitted by\n * the changed-documents view, which *is* that page — linking to it from there\n * would send the reader in a circle.\n */\n reviewURL?: string\n /**\n * Change IDs to apply, or undefined to apply everything pending.\n *\n * The changed-documents view owns the selection, and the merge can also be raised\n * from the branch switcher, where there is no selection to make.\n */\n selectedChangeIDs?: (number | string)[]\n /**\n * Changes pending on the branch, when the opener already knows it.\n *\n * The changed-documents view has counted them to render them. The switcher has\n * not, so it leaves this undefined and the modal counts them itself.\n */\n totalChanges?: number\n}\n\ntype MergeBranchContext = {\n /** Dismisses the modal and forgets what it was pointed at. */\n closeMerge: () => void\n /**\n * Raises the merge modal against a specific target.\n *\n * The target belongs to the *action*, not to the screen: \"merge this selection\"\n * and \"merge the whole branch\" are the same modal pointed at different things, and\n * both can be triggered from the same page — the switcher sits in the app header,\n * above every view.\n */\n openMerge: (target: MergeTarget) => void\n /** Null until something raises the modal. */\n target: MergeTarget | null\n}\n\nconst Context = createContext<MergeBranchContext>({\n closeMerge: () => {},\n openMerge: () => {},\n target: null,\n})\n\n/**\n * Holds what the merge modal is currently pointed at.\n *\n * One store, mounted above both the app header and the page, because the modal is\n * mounted exactly once. Rendering it per entry point — the switcher *and* the\n * changed-documents view — stacked two dialogs on the same slug, so opening the\n * merge opened both and only the topmost one showed progress.\n */\nexport const MergeBranchStoreProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const { closeModal, openModal } = useModal()\n const [target, setTarget] = useState<MergeTarget | null>(null)\n\n const openMerge = useCallback(\n (next: MergeTarget) => {\n setTarget(next)\n openModal(mergeBranchModalSlug)\n },\n [openModal],\n )\n\n const closeMerge = useCallback(() => {\n closeModal(mergeBranchModalSlug)\n setTarget(null)\n }, [closeModal])\n\n const value = useMemo<MergeBranchContext>(\n () => ({ closeMerge, openMerge, target }),\n [closeMerge, openMerge, target],\n )\n\n return <Context value={value}>{children}</Context>\n}\n\nexport const useMergeBranch = (): MergeBranchContext => use(Context)\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AAI1E,SAASC,QAAQ,QAAQ;AACzB,SAASC,oBAAoB,QAAQ;AAuDrC,MAAMC,OAAA,gBAAUP,aAAA,CAAkC;EAChDQ,UAAA,EAAYA,CAAA,MAAO;EACnBC,SAAA,EAAWA,CAAA,MAAO;EAClBC,MAAA,EAAQ;AACV;AAEA;;;;;;;;AAQA,OAAO,MAAMC,wBAAA,GAAoEA,CAAC;EAAEC;AAAQ,CAAE;EAC5F,MAAM;IAAEC,UAAU;IAAEC;EAAS,CAAE,GAAGT,QAAA;EAClC,MAAM,CAACK,MAAA,EAAQK,SAAA,CAAU,GAAGX,QAAA,CAA6B;EAEzD,MAAMK,SAAA,GAAYP,WAAA,CACfc,IAAA;IACCD,SAAA,CAAUC,IAAA;IACVF,SAAA,CAAUR,oBAAA;EACZ,GACA,CAACQ,SAAA,CAAU;EAGb,MAAMN,UAAA,GAAaN,WAAA,CAAY;IAC7BW,UAAA,CAAWP,oBAAA;IACXS,SAAA,CAAU;EACZ,GAAG,CAACF,UAAA,CAAW;EAEf,MAAMI,KAAA,GAAQd,OAAA,CACZ,OAAO;IAAEK,UAAA;IAAYC,SAAA;IAAWC;EAAO,IACvC,CAACF,UAAA,EAAYC,SAAA,EAAWC,MAAA,CAAO;EAGjC,oBAAOQ,IAAA,CAACX,OAAA;IAAQU,KAAA,EAAOA,KAAA;cAAQL;;AACjC;AAEA,OAAO,MAAMO,cAAA,GAAiBA,CAAA,KAA0BlB,GAAA,CAAIM,OAAA","ignoreList":[]}
|