import { ReactNode, useRef } from 'react'; import { clsx } from 'clsx/lite'; import ExperimentalBadge from './ExperimentalBadge'; import Badge from './Badge'; import ResponsiveText from './primitives/ResponsiveText'; import { parameterize } from '@/utility/string'; import ScoreCard from './ScoreCard'; import useVisibility from '@/utility/useVisibility'; export default function ChecklistGroup({ title, titleShort, icon, optional, experimental, updateHashOnVisible, children, }: { title: string titleShort?: string icon?: ReactNode optional?: boolean experimental?: boolean updateHashOnVisible?: boolean children: ReactNode }) { const ref = useRef(null); const slug = parameterize(title); useVisibility({ ref, onVisible: () => { if (updateHashOnVisible) { window.history.replaceState(null, '', `#${slug}`); } } }); return ( {icon} {title} {optional && Optional } {experimental && } }> {children} ); }