/**
* WordPress dependencies
*/
import { __, sprintf } from '@wordpress/i18n';
import { createInterpolateElement } from '@wordpress/element';
import { Stack } from '@wordpress/ui';
/**
* Internal dependencies
*/
import type { NormalizedField } from '../../../types';
interface ActivityGroupProps< Item > {
groupName: string;
groupData: Item[];
groupField: NormalizedField< Item >;
showLabel?: boolean;
children: React.ReactNode;
}
export default function ActivityGroup< Item >( {
groupName,
groupData,
groupField,
showLabel = true,
children,
}: ActivityGroupProps< Item > ) {
// Render group header content - either with or without field label
const groupHeader = showLabel ? (
createInterpolateElement(
// translators: %s: The label of the field e.g. "Status".
sprintf( __( '%s: ' ), groupField.label ).trim(),
{
groupName: (
),
}
)
) : (
);
return (
{ groupHeader }
{ children }
);
}