woocommerce-paypal-payments/modules/ppcp-settings/resources/js/Components/ReusableComponents/SettingsBlock.js

48 lines
999 B
JavaScript
Raw Normal View History

2025-01-10 18:20:00 +01:00
import classNames from 'classnames';
import { Description, Header, Title, TitleExtra, Content } from './Elements';
2025-01-10 18:20:00 +01:00
const SettingsBlock = ( {
className,
children,
title,
titleSuffix,
description,
horizontalLayout = false,
separatorAndGap = true,
} ) => {
const blockClassName = classNames( 'ppcp-r-settings-block', className, {
2025-01-22 15:08:14 +01:00
'ppcp--no-gap': ! separatorAndGap,
'ppcp--horizontal': horizontalLayout,
} );
return (
<div className={ blockClassName }>
<BlockTitle
blockTitle={ title }
blockSuffix={ titleSuffix }
blockDescription={ description }
/>
<Content asCard={ false }>{ children }</Content>
</div>
);
};
export default SettingsBlock;
2025-01-27 20:35:54 +01:00
const BlockTitle = ( { blockTitle, blockSuffix, blockDescription } ) => {
if ( ! blockTitle && ! blockDescription ) {
return null;
}
return (
<Header>
<Title>
{ blockTitle }
<TitleExtra>{ blockSuffix }</TitleExtra>
</Title>
<Description>{ blockDescription }</Description>
</Header>
);
};