/** * External dependencies */ import classnames from 'classnames'; import { withFilteredAttributes } from '@woocommerce/shared-hocs'; import { FormStep } from '@woocommerce/base-components/cart-checkout'; import { useCheckoutAddress } from '@woocommerce/base-context/hooks'; import { useSelect } from '@wordpress/data'; import { CHECKOUT_STORE_KEY } from '@woocommerce/block-data'; /** * Internal dependencies */ import Block from './block'; import attributes from './attributes'; const FrontendBlock = ( { title, description, showStepNumber, children, className, }: { title: string; description: string; requireCompanyField: boolean; requirePhoneField: boolean; showApartmentField: boolean; showCompanyField: boolean; showPhoneField: boolean; showStepNumber: boolean; children: JSX.Element; className?: string; } ) => { const { checkoutIsProcessing, prefersCollection } = useSelect( ( select ) => { const checkoutStore = select( CHECKOUT_STORE_KEY ); return { checkoutIsProcessing: checkoutStore.isProcessing(), prefersCollection: checkoutStore.prefersCollection(), }; } ); const { needsShipping } = useCheckoutAddress(); if ( ! needsShipping || prefersCollection ) { return null; } return ( { children } ); }; export default withFilteredAttributes( attributes )( FrontendBlock );