rebase on oct-10-2023
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace Automattic\WooCommerce\Admin\BlockTemplates;
|
||||
|
||||
/**
|
||||
* Interface for block containers.
|
||||
*/
|
||||
interface BlockContainerInterface extends BlockInterface, ContainerInterface {}
|
||||
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
namespace Automattic\WooCommerce\Admin\BlockTemplates;
|
||||
|
||||
/**
|
||||
* Interface for block configuration used to specify blocks in BlockTemplate.
|
||||
*/
|
||||
interface BlockInterface {
|
||||
/**
|
||||
* Key for the block name in the block configuration.
|
||||
*/
|
||||
public const NAME_KEY = 'blockName';
|
||||
|
||||
/**
|
||||
* Key for the block ID in the block configuration.
|
||||
*/
|
||||
public const ID_KEY = 'id';
|
||||
|
||||
/**
|
||||
* Key for the internal order in the block configuration.
|
||||
*/
|
||||
public const ORDER_KEY = 'order';
|
||||
|
||||
/**
|
||||
* Key for the block attributes in the block configuration.
|
||||
*/
|
||||
public const ATTRIBUTES_KEY = 'attributes';
|
||||
|
||||
/**
|
||||
* Get the block name.
|
||||
*/
|
||||
public function get_name(): string;
|
||||
|
||||
/**
|
||||
* Get the block ID.
|
||||
*/
|
||||
public function get_id(): string;
|
||||
|
||||
/**
|
||||
* Get the block order.
|
||||
*/
|
||||
public function get_order(): int;
|
||||
|
||||
/**
|
||||
* Set the block order.
|
||||
*
|
||||
* @param int $order The block order.
|
||||
*/
|
||||
public function set_order( int $order );
|
||||
|
||||
/**
|
||||
* Get the block attributes.
|
||||
*/
|
||||
public function get_attributes(): array;
|
||||
|
||||
/**
|
||||
* Set the block attributes.
|
||||
*
|
||||
* @param array $attributes The block attributes.
|
||||
*/
|
||||
public function set_attributes( array $attributes );
|
||||
|
||||
/**
|
||||
* Get the parent container that the block belongs to.
|
||||
*/
|
||||
public function &get_parent(): ?ContainerInterface;
|
||||
|
||||
/**
|
||||
* Get the root template that the block belongs to.
|
||||
*/
|
||||
public function &get_root_template(): BlockTemplateInterface;
|
||||
|
||||
/**
|
||||
* Get the block configuration as a formatted template.
|
||||
*
|
||||
* @return array The block configuration as a formatted template.
|
||||
*/
|
||||
public function get_formatted_template(): array;
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
namespace Automattic\WooCommerce\Admin\BlockTemplates;
|
||||
|
||||
/**
|
||||
* Interface for block-based template.
|
||||
*/
|
||||
interface BlockTemplateInterface extends ContainerInterface {
|
||||
/**
|
||||
* Get the template ID.
|
||||
*/
|
||||
public function get_id(): string;
|
||||
|
||||
/**
|
||||
* Get the template title.
|
||||
*/
|
||||
public function get_title(): string;
|
||||
|
||||
/**
|
||||
* Get the template description.
|
||||
*/
|
||||
public function get_description(): string;
|
||||
|
||||
/**
|
||||
* Get the template area.
|
||||
*/
|
||||
public function get_area(): string;
|
||||
|
||||
/**
|
||||
* Get a block by ID.
|
||||
*
|
||||
* @param string $block_id The block ID.
|
||||
*/
|
||||
public function get_block( string $block_id ): ?BlockInterface;
|
||||
|
||||
/**
|
||||
* Generate a block ID based on a base.
|
||||
*
|
||||
* @param string $id_base The base to use when generating an ID.
|
||||
* @return string
|
||||
*/
|
||||
public function generate_block_id( string $id_base ): string;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Automattic\WooCommerce\Admin\BlockTemplates;
|
||||
|
||||
/**
|
||||
* Interface for block containers.
|
||||
*/
|
||||
interface ContainerInterface {
|
||||
/**
|
||||
* Get the root template that the block belongs to.
|
||||
*/
|
||||
public function &get_root_template(): BlockTemplateInterface;
|
||||
|
||||
/**
|
||||
* Get the block configuration as a formatted template.
|
||||
*/
|
||||
public function get_formatted_template(): array;
|
||||
}
|
||||
Reference in New Issue
Block a user