woocommerce/packages/js/block-templates
RJ 7d465c406a
dev: edited package.json lint scripts to output to console (#41498)
* edited package.jsons to output to console

* Add changefile(s) from automation for the following project(s): @woocommerce/tracks, @woocommerce/product-editor, @woocommerce/onboarding, @woocommerce/number, @woocommerce/navigation, @woocommerce/integrate-plugin, @woocommerce/expression-evaluation, @woocommerce/explat, @woocommerce/experimental, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/date, @woocommerce/data, @woocommerce/customer-effort-score, @woocommerce/currency, @woocommerce/csv-export, @woocommerce/components, @woocommerce/block-templates, @woocommerce/api, @woocommerce/ai, @woocommerce/admin-layout, @woocommerce/admin-e2e-tests

* empty commit to trigger CI

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-11-21 11:16:08 +08:00
..
changelog dev: edited package.json lint scripts to output to console (#41498) 2023-11-21 11:16:08 +08:00
src Fix typo in ts-ignore comment (#41517) 2023-11-17 14:57:31 -03:00
.eslintrc.js Template API: Expose template block id and order to client (#40263) 2023-09-27 13:38:56 -07:00
.npmrc Template API: Expose template block id and order to client (#40263) 2023-09-27 13:38:56 -07:00
README.md Template API: Expose template block id and order to client (#40263) 2023-09-27 13:38:56 -07:00
babel.config.js Template API: Expose template block id and order to client (#40263) 2023-09-27 13:38:56 -07:00
changelog.md Template API: Expose template block id and order to client (#40263) 2023-09-27 13:38:56 -07:00
composer.json Template API: Expose template block id and order to client (#40263) 2023-09-27 13:38:56 -07:00
composer.lock Template API: Expose template block id and order to client (#40263) 2023-09-27 13:38:56 -07:00
jest.config.json Template API: Expose template block id and order to client (#40263) 2023-09-27 13:38:56 -07:00
package.json dev: edited package.json lint scripts to output to console (#41498) 2023-11-21 11:16:08 +08:00
tsconfig-cjs.json Template API: Expose template block id and order to client (#40263) 2023-09-27 13:38:56 -07:00
tsconfig.json Template API: Expose template block id and order to client (#40263) 2023-09-27 13:38:56 -07:00
webpack.config.js Template API: Expose template block id and order to client (#40263) 2023-09-27 13:38:56 -07:00

README.md

@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.

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.