diff --git a/packages/block-library/src/separator/test/__snapshots__/transforms.native.js.snap b/packages/block-library/src/separator/test/__snapshots__/transforms.native.js.snap index 8aa4a99b7a0381..6ffb73467852d9 100644 --- a/packages/block-library/src/separator/test/__snapshots__/transforms.native.js.snap +++ b/packages/block-library/src/separator/test/__snapshots__/transforms.native.js.snap @@ -17,3 +17,9 @@ exports[`Separator block transforms to Group block 1`] = ` " `; + +exports[`Separator block transforms to Spacer block 1`] = ` +" + +" +`; diff --git a/packages/block-library/src/separator/test/transforms.native.js b/packages/block-library/src/separator/test/transforms.native.js index f0873c7cd59e42..a5250025398d0e 100644 --- a/packages/block-library/src/separator/test/transforms.native.js +++ b/packages/block-library/src/separator/test/transforms.native.js @@ -16,7 +16,7 @@ const initialHtml = ` `; const transformsWithInnerBlocks = [ 'Columns', 'Group' ]; -const blockTransforms = [ ...transformsWithInnerBlocks ]; +const blockTransforms = [ 'Spacer', ...transformsWithInnerBlocks ]; setupCoreBlocks(); diff --git a/packages/block-library/src/separator/transforms.js b/packages/block-library/src/separator/transforms.js index 06d9d667caf63d..1f40cb5dba8b5e 100644 --- a/packages/block-library/src/separator/transforms.js +++ b/packages/block-library/src/separator/transforms.js @@ -18,6 +18,17 @@ const transforms = { }, }, ], + to: [ + { + type: 'block', + blocks: [ 'core/spacer' ], // Transform to Spacer. + transform: ( { anchor } ) => { + return createBlock( 'core/spacer', { + anchor: anchor || '', + } ); + }, + }, + ], }; export default transforms; diff --git a/packages/block-library/src/spacer/index.js b/packages/block-library/src/spacer/index.js index d77c51bc96cea2..d2a60e0cdc1602 100644 --- a/packages/block-library/src/spacer/index.js +++ b/packages/block-library/src/spacer/index.js @@ -10,6 +10,7 @@ import initBlock from '../utils/init-block'; import deprecated from './deprecated'; import edit from './edit'; import metadata from './block.json'; +import transforms from './transforms'; import save from './save'; const { name } = metadata; @@ -18,6 +19,7 @@ export { metadata, name }; export const settings = { icon, + transforms, edit, save, deprecated, diff --git a/packages/block-library/src/spacer/test/__snapshots__/transforms.native.js.snap b/packages/block-library/src/spacer/test/__snapshots__/transforms.native.js.snap index ce53012ff17e71..2427b0fb0f8559 100644 --- a/packages/block-library/src/spacer/test/__snapshots__/transforms.native.js.snap +++ b/packages/block-library/src/spacer/test/__snapshots__/transforms.native.js.snap @@ -17,3 +17,9 @@ exports[`Spacer block transforms to Group block 1`] = ` " `; + +exports[`Spacer block transforms to Separator block 1`] = ` +" +
+" +`; diff --git a/packages/block-library/src/spacer/test/transforms.native.js b/packages/block-library/src/spacer/test/transforms.native.js index fc84004166775c..df8ff3bf237245 100644 --- a/packages/block-library/src/spacer/test/transforms.native.js +++ b/packages/block-library/src/spacer/test/transforms.native.js @@ -16,7 +16,7 @@ const initialHtml = ` `; const transformsWithInnerBlocks = [ 'Columns', 'Group' ]; -const blockTransforms = [ ...transformsWithInnerBlocks ]; +const blockTransforms = [ 'Separator', ...transformsWithInnerBlocks ]; setupCoreBlocks(); diff --git a/packages/block-library/src/spacer/transforms.js b/packages/block-library/src/spacer/transforms.js new file mode 100644 index 00000000000000..ddd8afb2ef98d9 --- /dev/null +++ b/packages/block-library/src/spacer/transforms.js @@ -0,0 +1,20 @@ +/** + * WordPress dependencies + */ +import { createBlock } from '@wordpress/blocks'; + +const transforms = { + to: [ + { + type: 'block', + blocks: [ 'core/separator' ], // Transform to Separator. + transform: ( { anchor } ) => { + return createBlock( 'core/separator', { + anchor: anchor || '', + } ); + }, + }, + ], +}; + +export default transforms;