import * as React from "react";
import { Box } from "@chakra-ui/react";

/**
 * Metadata is a UI component for showing metadata about something, as labels
 * and their values.
 */
function Metadata({ children, ...props }) {
	return (
		<Box
			as="dl"
			display="grid"
			gridTemplateColumns="max-content auto"
			gridRowGap="1"
			gridColumnGap="2"
			{...props}
		>
			{children}
		</Box>
	);
}

function MetadataLabel({ children, ...props }) {
	return (
		<Box as="dt" gridColumn="1" fontWeight="bold" {...props}>
			{children}
		</Box>
	);
}

function MetadataValue({ children, ...props }) {
	return (
		<Box as="dd" gridColumn="2" {...props}>
			{children}
		</Box>
	);
}

export default Metadata;
export { MetadataLabel, MetadataValue };