diff --git a/assets/js/src/core/modules/app/component-registry/component-config.tsx b/assets/js/src/core/modules/app/component-registry/component-config.tsx
index 3298692c57..d92e5858b2 100644
--- a/assets/js/src/core/modules/app/component-registry/component-config.tsx
+++ b/assets/js/src/core/modules/app/component-registry/component-config.tsx
@@ -130,6 +130,14 @@ const defaultComponentConfig = {
}
}
},
+ editTab: {
+ // above the form, beside the draft alert; empty unless a bundle registers
+ topBar: {
+ type: ComponentType.SLOT,
+ name: 'dataObject.editor.editTab.topBar',
+ defaultEntries: []
+ }
+ },
tab: {
listing: { type: ComponentType.SINGLE, name: 'dataObject.editor.tab.listing' },
edit: { type: ComponentType.SINGLE, name: 'dataObject.editor.tab.edit' },
diff --git a/assets/js/src/core/modules/data-object/editor/types/object/tab-manager/tabs/edit/components/root-component.tsx b/assets/js/src/core/modules/data-object/editor/types/object/tab-manager/tabs/edit/components/root-component.tsx
index a267261555..b448dddf47 100644
--- a/assets/js/src/core/modules/data-object/editor/types/object/tab-manager/tabs/edit/components/root-component.tsx
+++ b/assets/js/src/core/modules/data-object/editor/types/object/tab-manager/tabs/edit/components/root-component.tsx
@@ -20,6 +20,7 @@ import {
import {
DraftAlert
} from '@Pimcore/modules/data-object/editor/types/object/tab-manager/tabs/edit/components/root-component/draft-alert'
+import { SlotRenderer } from '@Pimcore/modules/app/component-registry/slot-renderer'
import { FieldWidthProvider } from '../../../../../../../../element/dynamic-types/definitions/objects/data-related/providers/field-width/field-width-provider'
import { ContentLayout } from '@Pimcore/components/content-layout/content-layout'
import { buildFieldTypeMap } from '@Pimcore/modules/data-object/editor/types/object/tab-manager/tabs/edit/providers/edit-form-provider/utils/build-field-type-map'
@@ -66,7 +67,12 @@ export const RootComponent = ({ layout, data, className }: RootComponentProps):
preserve
>
}
+ renderTopBar={ (
+ <>
+
+
+ >
+ ) }
>
diff --git a/assets/js/src/sdk/modules/data-object/index.ts b/assets/js/src/sdk/modules/data-object/index.ts
index e9ac9d363c..3519da86d5 100644
--- a/assets/js/src/sdk/modules/data-object/index.ts
+++ b/assets/js/src/sdk/modules/data-object/index.ts
@@ -55,3 +55,7 @@ export * from '@Pimcore/modules/data-object/utils/provider/class-defintions/use-
export * from '@Pimcore/modules/data-object/listing/decorator/column-configuration/view-layer/components/grid/hooks/use-grid-options/tabs/grid-config/forms/advanced-column-form/advanced-column-form'
export * from '@Pimcore/modules/data-object/listing/decorator/column-configuration/view-layer/components/grid/hooks/use-grid-options/tabs/grid-config/forms/advanced-column-form/pipeline-layout-provider'
+
+// the toolbar renders inside these; a bundle replacing the save buttons needs the same state
+export * from '@Pimcore/modules/data-object/editor/types/object/tab-manager/tabs/edit/providers/edit-form-provider/edit-form-provider'
+export * from '@Pimcore/modules/data-object/editor/types/object/tab-manager/tabs/edit/providers/save-provider/use-save-context'
diff --git a/assets/js/src/sdk/modules/element/index.ts b/assets/js/src/sdk/modules/element/index.ts
index 6ebe0b206f..91b6b54f2e 100644
--- a/assets/js/src/sdk/modules/element/index.ts
+++ b/assets/js/src/sdk/modules/element/index.ts
@@ -332,3 +332,5 @@ export * from '@Pimcore/modules/element/dynamic-types/definitions/objects/layout
export * from '@Pimcore/modules/element/dynamic-types/definitions/objects/layout-related/dynamic-type-object-layout-registry'
export type { AvailableColumn } from '@Pimcore/modules/element/listing/decorators/utils/column-configuration/context-layer/provider/available-columns/available-columns-provider'
+
+export * from '@Pimcore/modules/element/editor/shared-tab-manager/tabs/schedule/hooks/use-save-schedules'
diff --git a/build-dist/build-67dd16e2f969.zip b/build-dist/build-14348fa2f21e.zip
similarity index 82%
rename from build-dist/build-67dd16e2f969.zip
rename to build-dist/build-14348fa2f21e.zip
index 3e07441b5e..4f9a5f7ade 100644
Binary files a/build-dist/build-67dd16e2f969.zip and b/build-dist/build-14348fa2f21e.zip differ