diff --git a/packages/edit-post/README.md b/packages/edit-post/README.md
index de3c7d904ac607..4b0585337ebd3b 100644
--- a/packages/edit-post/README.md
+++ b/packages/edit-post/README.md
@@ -106,43 +106,9 @@ _Returns_
### PluginPostPublishPanel
-Renders provided content to the post-publish panel in the publish flow (side panel that opens after a user publishes the post).
-
-_Usage_
-
-```js
-// Using ES5 syntax
-var __ = wp.i18n.__;
-var PluginPostPublishPanel = wp.editPost.PluginPostPublishPanel;
-
-function MyPluginPostPublishPanel() {
- return React.createElement(
- PluginPostPublishPanel,
- {
- className: 'my-plugin-post-publish-panel',
- title: __( 'My panel title' ),
- initialOpen: true,
- },
- __( 'My panel content' )
- );
-}
-```
+> **Deprecated** since 6.6, use `wp.editor.PluginPostPublishPanel` instead.
-```jsx
-// Using ESNext syntax
-import { __ } from '@wordpress/i18n';
-import { PluginPostPublishPanel } from '@wordpress/edit-post';
-
-const MyPluginPostPublishPanel = () => (
-
- { __( 'My panel content' ) }
-
-);
-```
+Renders provided content to the post-publish panel in the publish flow (side panel that opens after a user publishes the post).
_Parameters_
@@ -203,43 +169,9 @@ _Returns_
### PluginPrePublishPanel
-Renders provided content to the pre-publish side panel in the publish flow (side panel that opens when a user first pushes "Publish" from the main editor).
-
-_Usage_
-
-```js
-// Using ES5 syntax
-var __ = wp.i18n.__;
-var PluginPrePublishPanel = wp.editPost.PluginPrePublishPanel;
-
-function MyPluginPrePublishPanel() {
- return React.createElement(
- PluginPrePublishPanel,
- {
- className: 'my-plugin-pre-publish-panel',
- title: __( 'My panel title' ),
- initialOpen: true,
- },
- __( 'My panel content' )
- );
-}
-```
+> **Deprecated** since 6.6, use `wp.editor.PluginPrePublishPanel` instead.
-```jsx
-// Using ESNext syntax
-import { __ } from '@wordpress/i18n';
-import { PluginPrePublishPanel } from '@wordpress/edit-post';
-
-const MyPluginPrePublishPanel = () => (
-
- { __( 'My panel content' ) }
-
-);
-```
+Renders provided content to the pre-publish side panel in the publish flow (side panel that opens when a user first pushes "Publish" from the main editor).
_Parameters_
diff --git a/packages/edit-post/src/components/layout/actions-panel.js b/packages/edit-post/src/components/layout/actions-panel.js
index df9f3cc28c57e9..6914cf6ff3c068 100644
--- a/packages/edit-post/src/components/layout/actions-panel.js
+++ b/packages/edit-post/src/components/layout/actions-panel.js
@@ -4,6 +4,8 @@
import {
EntitiesSavedStates,
PostPublishPanel,
+ PluginPrePublishPanel,
+ PluginPostPublishPanel,
store as editorStore,
} from '@wordpress/editor';
import { useSelect, useDispatch } from '@wordpress/data';
@@ -14,8 +16,6 @@ import { useCallback } from '@wordpress/element';
/**
* Internal dependencies
*/
-import PluginPostPublishPanel from '../sidebar/plugin-post-publish-panel';
-import PluginPrePublishPanel from '../sidebar/plugin-pre-publish-panel';
import { store as editPostStore } from '../../store';
const { Fill, Slot } = createSlotFill( 'ActionsPanel' );
diff --git a/packages/edit-post/src/components/sidebar/plugin-post-publish-panel/index.js b/packages/edit-post/src/components/sidebar/plugin-post-publish-panel/index.js
index 71de03b35b56ab..4d4838214b2829 100644
--- a/packages/edit-post/src/components/sidebar/plugin-post-publish-panel/index.js
+++ b/packages/edit-post/src/components/sidebar/plugin-post-publish-panel/index.js
@@ -1,83 +1,28 @@
/**
* WordPress dependencies
*/
-import { usePluginContext } from '@wordpress/plugins';
-import { createSlotFill, PanelBody } from '@wordpress/components';
-
-const { Fill, Slot } = createSlotFill( 'PluginPostPublishPanel' );
+import deprecated from '@wordpress/deprecated';
+import { PluginPostPublishPanel } from '@wordpress/editor';
/**
* Renders provided content to the post-publish panel in the publish flow
* (side panel that opens after a user publishes the post).
*
+ * @deprecated since 6.6, use `wp.editor.PluginPostPublishPanel` instead.
+ *
* @param {Object} props Component properties.
* @param {string} [props.className] An optional class name added to the panel.
* @param {string} [props.title] Title displayed at the top of the panel.
* @param {boolean} [props.initialOpen=false] Whether to have the panel initially opened. When no title is provided it is always opened.
* @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.
* @param {Element} props.children Children to be rendered
- *
- * @example
- * ```js
- * // Using ES5 syntax
- * var __ = wp.i18n.__;
- * var PluginPostPublishPanel = wp.editPost.PluginPostPublishPanel;
- *
- * function MyPluginPostPublishPanel() {
- * return React.createElement(
- * PluginPostPublishPanel,
- * {
- * className: 'my-plugin-post-publish-panel',
- * title: __( 'My panel title' ),
- * initialOpen: true,
- * },
- * __( 'My panel content' )
- * );
- * }
- * ```
- *
- * @example
- * ```jsx
- * // Using ESNext syntax
- * import { __ } from '@wordpress/i18n';
- * import { PluginPostPublishPanel } from '@wordpress/edit-post';
- *
- * const MyPluginPostPublishPanel = () => (
- *
- * { __( 'My panel content' ) }
- *
- * );
- * ```
- *
* @return {Component} The component to be rendered.
*/
-const PluginPostPublishPanel = ( {
- children,
- className,
- title,
- initialOpen = false,
- icon,
-} ) => {
- const { icon: pluginIcon } = usePluginContext();
-
- return (
-
-
- { children }
-
-
- );
-};
-
-PluginPostPublishPanel.Slot = Slot;
-
-export default PluginPostPublishPanel;
+export default function EditPostPluginPostPublishPanel( props ) {
+ deprecated( 'wp.editPost.PluginPostPublishPanel', {
+ since: '6.6',
+ version: '6.8',
+ alternative: 'wp.editor.PluginPostPublishPanel',
+ } );
+ return ;
+}
diff --git a/packages/edit-post/src/components/sidebar/plugin-pre-publish-panel/index.js b/packages/edit-post/src/components/sidebar/plugin-pre-publish-panel/index.js
index 014a7b31176a29..4353c1f6fd2ae9 100644
--- a/packages/edit-post/src/components/sidebar/plugin-pre-publish-panel/index.js
+++ b/packages/edit-post/src/components/sidebar/plugin-pre-publish-panel/index.js
@@ -1,15 +1,15 @@
/**
* WordPress dependencies
*/
-import { createSlotFill, PanelBody } from '@wordpress/components';
-import { usePluginContext } from '@wordpress/plugins';
-
-const { Fill, Slot } = createSlotFill( 'PluginPrePublishPanel' );
+import deprecated from '@wordpress/deprecated';
+import { PluginPrePublishPanel } from '@wordpress/editor';
/**
* Renders provided content to the pre-publish side panel in the publish flow
* (side panel that opens when a user first pushes "Publish" from the main editor).
*
+ * @deprecated since 6.6, use `wp.editor.PluginPrePublishPanel` instead.
+ *
* @param {Object} props Component props.
* @param {string} [props.className] An optional class name added to the panel.
* @param {string} [props.title] Title displayed at the top of the panel.
@@ -20,67 +20,13 @@ const { Fill, Slot } = createSlotFill( 'PluginPrePublishPanel' );
* the sidebar is pinned to toolbar.
* @param {Element} props.children Children to be rendered
*
- * @example
- * ```js
- * // Using ES5 syntax
- * var __ = wp.i18n.__;
- * var PluginPrePublishPanel = wp.editPost.PluginPrePublishPanel;
- *
- * function MyPluginPrePublishPanel() {
- * return React.createElement(
- * PluginPrePublishPanel,
- * {
- * className: 'my-plugin-pre-publish-panel',
- * title: __( 'My panel title' ),
- * initialOpen: true,
- * },
- * __( 'My panel content' )
- * );
- * }
- * ```
- *
- * @example
- * ```jsx
- * // Using ESNext syntax
- * import { __ } from '@wordpress/i18n';
- * import { PluginPrePublishPanel } from '@wordpress/edit-post';
- *
- * const MyPluginPrePublishPanel = () => (
- *
- * { __( 'My panel content' ) }
- *
- * );
- * ```
- *
* @return {Component} The component to be rendered.
*/
-const PluginPrePublishPanel = ( {
- children,
- className,
- title,
- initialOpen = false,
- icon,
-} ) => {
- const { icon: pluginIcon } = usePluginContext();
-
- return (
-
-
- { children }
-
-
- );
-};
-
-PluginPrePublishPanel.Slot = Slot;
-
-export default PluginPrePublishPanel;
+export default function EditPostPluginPrePublishPanel( props ) {
+ deprecated( 'wp.editPost.PluginPrePublishPanel', {
+ since: '6.6',
+ version: '6.8',
+ alternative: 'wp.editor.PluginPrePublishPanel',
+ } );
+ return ;
+}
diff --git a/packages/editor/src/components/index.js b/packages/editor/src/components/index.js
index 773a8936af092c..030db31a4023b9 100644
--- a/packages/editor/src/components/index.js
+++ b/packages/editor/src/components/index.js
@@ -28,6 +28,8 @@ export { default as PageAttributesParent } from './page-attributes/parent';
export { default as PageTemplate } from './post-template/classic-theme';
export { default as PluginDocumentSettingPanel } from './plugin-document-setting-panel';
export { default as PluginBlockSettingsMenuItem } from './block-settings-menu/plugin-block-settings-menu-item';
+export { default as PluginPostPublishPanel } from './plugin-post-publish-panel';
+export { default as PluginPrePublishPanel } from './plugin-pre-publish-panel';
export { default as PostTemplatePanel } from './post-template/panel';
export { default as PostAuthor } from './post-author';
export { default as PostAuthorCheck } from './post-author/check';
diff --git a/packages/editor/src/components/plugin-post-publish-panel/index.js b/packages/editor/src/components/plugin-post-publish-panel/index.js
new file mode 100644
index 00000000000000..d9edf93e2d4be3
--- /dev/null
+++ b/packages/editor/src/components/plugin-post-publish-panel/index.js
@@ -0,0 +1,64 @@
+/**
+ * WordPress dependencies
+ */
+import { usePluginContext } from '@wordpress/plugins';
+import { createSlotFill, PanelBody } from '@wordpress/components';
+
+const { Fill, Slot } = createSlotFill( 'PluginPostPublishPanel' );
+
+/**
+ * Renders provided content to the post-publish panel in the publish flow
+ * (side panel that opens after a user publishes the post).
+ *
+ * @param {Object} props Component properties.
+ * @param {string} [props.className] An optional class name added to the panel.
+ * @param {string} [props.title] Title displayed at the top of the panel.
+ * @param {boolean} [props.initialOpen=false] Whether to have the panel initially opened. When no title is provided it is always opened.
+ * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.
+ * @param {Element} props.children Children to be rendered
+ *
+ * @example
+ * ```jsx
+ * // Using ESNext syntax
+ * import { __ } from '@wordpress/i18n';
+ * import { PluginPostPublishPanel } from '@wordpress/edit-post';
+ *
+ * const MyPluginPostPublishPanel = () => (
+ *
+ * { __( 'My panel content' ) }
+ *
+ * );
+ * ```
+ *
+ * @return {Component} The component to be rendered.
+ */
+const PluginPostPublishPanel = ( {
+ children,
+ className,
+ title,
+ initialOpen = false,
+ icon,
+} ) => {
+ const { icon: pluginIcon } = usePluginContext();
+
+ return (
+
+
+ { children }
+
+
+ );
+};
+
+PluginPostPublishPanel.Slot = Slot;
+
+export default PluginPostPublishPanel;
diff --git a/packages/editor/src/components/plugin-pre-publish-panel/index.js b/packages/editor/src/components/plugin-pre-publish-panel/index.js
new file mode 100644
index 00000000000000..1bd7b4754baae3
--- /dev/null
+++ b/packages/editor/src/components/plugin-pre-publish-panel/index.js
@@ -0,0 +1,67 @@
+/**
+ * WordPress dependencies
+ */
+import { createSlotFill, PanelBody } from '@wordpress/components';
+import { usePluginContext } from '@wordpress/plugins';
+
+const { Fill, Slot } = createSlotFill( 'PluginPrePublishPanel' );
+
+/**
+ * Renders provided content to the pre-publish side panel in the publish flow
+ * (side panel that opens when a user first pushes "Publish" from the main editor).
+ *
+ * @param {Object} props Component props.
+ * @param {string} [props.className] An optional class name added to the panel.
+ * @param {string} [props.title] Title displayed at the top of the panel.
+ * @param {boolean} [props.initialOpen=false] Whether to have the panel initially opened.
+ * When no title is provided it is always opened.
+ * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/)
+ * icon slug string, or an SVG WP element, to be rendered when
+ * the sidebar is pinned to toolbar.
+ * @param {Element} props.children Children to be rendered
+ *
+ * @example
+ * ```jsx
+ * // Using ESNext syntax
+ * import { __ } from '@wordpress/i18n';
+ * import { PluginPrePublishPanel } from '@wordpress/edit-post';
+ *
+ * const MyPluginPrePublishPanel = () => (
+ *
+ * { __( 'My panel content' ) }
+ *
+ * );
+ * ```
+ *
+ * @return {Component} The component to be rendered.
+ */
+const PluginPrePublishPanel = ( {
+ children,
+ className,
+ title,
+ initialOpen = false,
+ icon,
+} ) => {
+ const { icon: pluginIcon } = usePluginContext();
+
+ return (
+
+
+ { children }
+
+
+ );
+};
+
+PluginPrePublishPanel.Slot = Slot;
+
+export default PluginPrePublishPanel;