Socket
Socket
Sign inDemoInstall

@woocommerce/block-templates

Package Overview
Dependencies
6
Maintainers
20
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @woocommerce/block-templates

Utilities for working with block templates in WooCommerce admin.


Version published
Weekly downloads
14
decreased by-33.33%
Maintainers
20
Created
Weekly downloads
 

Readme

Source

@woocommerce/block-templates

A collection of utility functions for use with WooCommerce admin block templates.

API

registerWooBlockType

Registers a WooCommerce block type.

Usage
import { registerWooBlockType } from '@woocommerce/block-templates';

import metadata from './block.json';
import { Edit } from './edit';

registerWooBlockType( {
	name: metadata.name,
	metadata: metadata,
	settings: {
		edit: Edit,
	},
} );
Parameters
  • blockMetadata Object: Block metadata.
Returns
  • WPBlockType | undefined: The block type if it was registered successfully, otherwise undefined.

useLayoutTemplate

This hook is used to retrieve a layout template from the server.

Usage
import { useLayoutTemplate } from '@woocommerce/block-templates';

export function Example() {
	const { layoutTemplate, isResolving } =
		useLayoutTemplate( 'my-layout-template' );

	return (
		<div>
			{ isResolving && <p>Loading layout template...</p> }
			{ layoutTemplate && (
				<p>{ JSON.stringify( layoutTemplate, null, 4 ) }</p>
			) }
			{ ! layoutTemplate && ! isResolving && (
				<p>'Layout template does not exist!'</p>
			) }
		</div>
	);
}
Parameters
  • layoutTemplateId string: The id of the layout template to retrieve.
Returns
  • Object
    • layoutTemplate Object | undefined: The layout template if it was found, otherwise null.
    • isResolving boolean: Whether or not the layout template is resolving.

useWooBlockProps

This hook is used to lightly mark an element as a WooCommerce block template block. The block's attributes must be passed to this hook and the return result passed to the outermost element of the block in order for the block to properly function in WooCommerce block template contexts.

If you define a ref for the element, it is important to pass the ref to this hook, which the hook in turn will pass to the component through the props it returns. Optionally, you can also pass any other props through this hook, and they will be merged and returned.

Usage
import { useWooBlockProps } from '@woocommerce/block-templates';

export function Edit( { attributes } ) {
	const { blockProps } = useWooBlockProps( attributes, {
		className: 'my-block',
	} );

	return <div { ...blockProps }>Block content</div>;
}
Parameters
  • attributes Object: Block attributes.
  • props Object: Optional. Props to pass to the element.
Returns
  • Object: Props to pass to the element to mark as a WooCommerce block.

Keywords

FAQs

Last updated on 12 Apr 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc