diff --git a/packages/create-block/lib/init-block.js b/packages/create-block/lib/init-block.js index 2a83035f9dc6f2..d26ef4a909ab7b 100644 --- a/packages/create-block/lib/init-block.js +++ b/packages/create-block/lib/init-block.js @@ -30,6 +30,7 @@ async function initBlockJSON( { editorStyle, style, render, + viewScript, customBlockJSON, } ) { info( '' ); @@ -59,6 +60,7 @@ async function initBlockJSON( { editorStyle, style, render, + viewScript, ...customBlockJSON, } ).filter( ( [ , value ] ) => !! value ) ), diff --git a/packages/create-block/lib/scaffold.js b/packages/create-block/lib/scaffold.js index cdeaf85a97bb4a..a8d9c3859e20d3 100644 --- a/packages/create-block/lib/scaffold.js +++ b/packages/create-block/lib/scaffold.js @@ -44,6 +44,7 @@ module.exports = async ( editorStyle, style, render, + viewScript, variantVars, customPackageJSON, customBlockJSON, @@ -103,6 +104,7 @@ module.exports = async ( editorStyle, style, render, + viewScript, customPackageJSON, customBlockJSON, ...variantVars, diff --git a/packages/create-block/lib/templates.js b/packages/create-block/lib/templates.js index 018385c9fde82c..d27c7dd7b700a6 100644 --- a/packages/create-block/lib/templates.js +++ b/packages/create-block/lib/templates.js @@ -61,6 +61,16 @@ const predefinedPluginTemplates = { title: 'Example Dynamic', render: 'file:./render.php', }, + interactive: { + slug: 'example-interactive', + title: 'Example Interactive', + npmDependencies: [ '@wordpress/interactivity' ], + supports: { + interactivity: true, + }, + render: 'file:./render.php', + viewScript: 'file:./view.js', + }, }, }, }; diff --git a/packages/create-block/lib/templates/block/render.php.mustache b/packages/create-block/lib/templates/block/render.php.mustache index 43ba65e0790561..01309cc3a764bb 100644 --- a/packages/create-block/lib/templates/block/render.php.mustache +++ b/packages/create-block/lib/templates/block/render.php.mustache @@ -8,3 +8,37 @@
{{/isDynamicVariant}} + +{{#isInteractiveVariant}} + + ++ +
+