/**
* External dependencies
*/
import { __ } from '@wordpress/i18n';
import { cart, filledCart, removeCart } from '@woocommerce/icons';
import { Icon } from '@wordpress/icons';
import { registerBlockType } from '@wordpress/blocks';
import type { BlockConfiguration } from '@wordpress/blocks';
import { isFeaturePluginBuild } from '@woocommerce/block-settings';
/**
* Internal dependencies
*/
import edit, { Save as save } from './edit';
import { blockName } from './attributes';
import './inner-blocks';
const settings: BlockConfiguration = {
apiVersion: 2,
title: __( 'Mini Cart Contents', 'woo-gutenberg-products-block' ),
icon: {
src: (
),
},
category: 'woocommerce',
keywords: [ __( 'WooCommerce', 'woo-gutenberg-products-block' ) ],
description: __(
'Display a mini cart widget.',
'woo-gutenberg-products-block'
),
supports: {
align: false,
html: false,
multiple: false,
reusable: false,
inserter: false,
color: {
link: true,
},
lock: false,
...( isFeaturePluginBuild() && {
__experimentalBorder: {
color: true,
width: true,
},
} ),
},
attributes: {
isPreview: {
type: 'boolean',
default: false,
},
lock: {
type: 'object',
default: {
remove: true,
move: true,
},
},
currentView: {
type: 'string',
default: 'woocommerce/filled-mini-cart-contents-block',
source: 'readonly', // custom source to prevent saving to post content
},
editorViews: {
type: 'object',
default: [
{
view: 'woocommerce/filled-mini-cart-contents-block',
label: __(
'Filled Mini Cart',
'woo-gutenberg-products-block'
),
icon: ,
},
{
view: 'woocommerce/empty-mini-cart-contents-block',
label: __(
'Empty Mini Cart',
'woo-gutenberg-products-block'
),
icon: ,
},
],
},
},
example: {
attributes: {
isPreview: true,
},
},
edit,
save,
};
registerBlockType( blockName, settings );