import type { ReactNode } from "react"; export type BlockSettingOption = { value: T; Icon: (props: { selected: boolean }) => ReactNode; }; // The row of illustrated option cards used by block settings popovers // (post size, posts-list layout, page link style). `children` renders inside // the row so a caller can position an extra control against its corner. export function BlockSettingOptions(props: { options: BlockSettingOption[]; value: T; onSelect: (value: T) => void; children?: ReactNode; }) { return (
{props.options.map((option) => { let selected = props.value === option.value; return ( ); })} {props.children}
); }