/** * External dependencies */ import { PanelBody } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; import GridLayoutControl from '@woocommerce/editor-components/grid-layout-control'; import { getSetting } from '@woocommerce/settings'; import GridContentControl from '@woocommerce/editor-components/grid-content-control'; import ProductAttributeTermControl from '@woocommerce/editor-components/product-attribute-term-control'; import ProductOrderbyControl from '@woocommerce/editor-components/product-orderby-control'; import ProductStockControl from '@woocommerce/editor-components/product-stock-control'; import { InspectorControls } from '@wordpress/block-editor'; /** * Internal dependencies */ import { Props } from './types'; export const ProductsByAttributeInspectorControls = ( props: Props ): JSX.Element => { const { setAttributes } = props; const { attributes, attrOperator, columns, contentVisibility, orderby, rows, alignButtons, stockStatus, } = props.attributes; return ( setAttributes( { contentVisibility: value } ) } /> { const result = value.map( ( { id, attr_slug: attributeSlug } ) => ( { id, attr_slug: attributeSlug, } ) ); setAttributes( { attributes: result } ); } } operator={ attrOperator } onOperatorChange={ ( value = 'any' ) => setAttributes( { attrOperator: value } ) } isCompact={ true } /> ); };