/** * External dependencies */ import { __ } from '@wordpress/i18n'; import classnames from 'classnames'; import { Label } from '@woocommerce/blocks-components'; import { useInnerBlockLayoutContext, useProductDataContext, } from '@woocommerce/shared-context'; import { useStyleProps } from '@woocommerce/base-hooks'; import { withProductDataContext } from '@woocommerce/shared-hocs'; import type { HTMLAttributes } from 'react'; /** * Internal dependencies */ import './style.scss'; import type { BlockAttributes } from './types'; type Props = BlockAttributes & HTMLAttributes< HTMLDivElement >; export const Block = ( props: Props ): JSX.Element | null => { const { className, align } = props; const styleProps = useStyleProps( props ); const { parentClassName } = useInnerBlockLayoutContext(); const { product } = useProductDataContext(); if ( ( ! product.id || ! product.on_sale ) && ! props.isDescendentOfSingleProductTemplate ) { return null; } const alignClass = typeof align === 'string' ? `wc-block-components-product-sale-badge--align-${ align }` : ''; return (