Move BlockCanvas to private APIs
[MAILPOET-6319]
This commit is contained in:
committed by
Oluwaseun Olorunsola
parent
c72b0b6f79
commit
fbdfc61eaa
@@ -9,8 +9,6 @@ import {
|
|||||||
// @ts-expect-error No types for this exist yet.
|
// @ts-expect-error No types for this exist yet.
|
||||||
RecursionProvider,
|
RecursionProvider,
|
||||||
// @ts-expect-error No types for this exist yet.
|
// @ts-expect-error No types for this exist yet.
|
||||||
privateApis as blockEditorPrivateApis,
|
|
||||||
// @ts-expect-error No types for this exist yet.
|
|
||||||
__experimentalUseResizeCanvas as useResizeCanvas, // eslint-disable-line
|
__experimentalUseResizeCanvas as useResizeCanvas, // eslint-disable-line
|
||||||
} from '@wordpress/block-editor';
|
} from '@wordpress/block-editor';
|
||||||
import { useRef } from '@wordpress/element';
|
import { useRef } from '@wordpress/element';
|
||||||
@@ -18,22 +16,22 @@ import { useSelect } from '@wordpress/data';
|
|||||||
import { useMergeRefs } from '@wordpress/compose';
|
import { useMergeRefs } from '@wordpress/compose';
|
||||||
import { store as editorStore } from '@wordpress/editor';
|
import { store as editorStore } from '@wordpress/editor';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* WordPress private dependencies
|
||||||
|
*/
|
||||||
|
import { BlockCanvas } from '../../../private-apis';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Internal dependencies
|
* Internal dependencies
|
||||||
*/
|
*/
|
||||||
import EditTemplateBlocksNotification from './edit-template-blocks-notification';
|
import EditTemplateBlocksNotification from './edit-template-blocks-notification';
|
||||||
import useSelectNearestEditableBlock from './use-select-nearest-editable-block';
|
import useSelectNearestEditableBlock from './use-select-nearest-editable-block';
|
||||||
import { unlock } from '../../../lock-unlock';
|
|
||||||
|
|
||||||
export const TEMPLATE_POST_TYPE = 'wp_template';
|
export const TEMPLATE_POST_TYPE = 'wp_template';
|
||||||
export const TEMPLATE_PART_POST_TYPE = 'wp_template_part';
|
export const TEMPLATE_PART_POST_TYPE = 'wp_template_part';
|
||||||
export const PATTERN_POST_TYPE = 'wp_block';
|
export const PATTERN_POST_TYPE = 'wp_block';
|
||||||
export const NAVIGATION_POST_TYPE = 'wp_navigation';
|
export const NAVIGATION_POST_TYPE = 'wp_navigation';
|
||||||
|
|
||||||
const { ExperimentalBlockCanvas: BlockCanvas } = unlock(
|
|
||||||
blockEditorPrivateApis
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* These post types have a special editor where they don't allow you to fill the title
|
* These post types have a special editor where they don't allow you to fill the title
|
||||||
* and they don't apply the layout styles.
|
* and they don't apply the layout styles.
|
||||||
|
16
packages/js/email-editor/src/private-apis/index.ts
Normal file
16
packages/js/email-editor/src/private-apis/index.ts
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
import { unlock } from './lock-unlock';
|
||||||
|
import {
|
||||||
|
// @ts-expect-error No types for this exist yet.
|
||||||
|
privateApis as blockEditorPrivateApis,
|
||||||
|
} from '@wordpress/block-editor';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* We use the experimental block canvas to render the block editor's canvas.
|
||||||
|
* Currently this is needed because we use contentRef property which is not available in the stable BlockCanvas
|
||||||
|
* The property is used for handling clicks for selecting block to edit and to display modal for switching between email and template.
|
||||||
|
*/
|
||||||
|
const { ExperimentalBlockCanvas: BlockCanvas } = unlock(
|
||||||
|
blockEditorPrivateApis
|
||||||
|
);
|
||||||
|
|
||||||
|
export { BlockCanvas };
|
10
packages/js/email-editor/src/private-apis/lock-unlock.js
Normal file
10
packages/js/email-editor/src/private-apis/lock-unlock.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
/**
|
||||||
|
* WordPress dependencies
|
||||||
|
*/
|
||||||
|
import { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';
|
||||||
|
|
||||||
|
export const { lock, unlock } =
|
||||||
|
__dangerousOptInToUnstableAPIsOnlyForCoreModules(
|
||||||
|
'I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.',
|
||||||
|
'@wordpress/edit-post' // The module name must be in the list of allowed, so for now I used the package name of the post editor
|
||||||
|
);
|
Reference in New Issue
Block a user