import React, { Dispatch, SetStateAction } from 'react'; import { useHelpSliderContext } from '../context/HelpSliderContext'; import classNames from 'classnames'; import QuestionMarkCircleIcon from '@heroicons/react/solid/QuestionMarkCircleIcon'; import { Switch } from '@headlessui/react'; export type HeaderTitleProperties = { children?: React.ReactNode; title: string; titleHelper: string; helpComponent?: React.ComponentType; helpTitle?: string; settingsState: { [key: string]: boolean }; setSettingsState: Dispatch>; handleCheckboxChange: ( checked: boolean, name: keyof T, setState: Dispatch>, ) => void; togglePropertyName: string; }; export const HeaderTitleWithToggle: React.FC = props => { const { children, title, titleHelper, helpComponent, helpTitle, settingsState, handleCheckboxChange, setSettingsState, togglePropertyName, } = props; const { setOpenHelpSlider, setTitleHelpSlider, setComponent } = useHelpSliderContext(); const handleClick = () => { if (helpComponent && helpTitle) { setTitleHelpSlider(helpTitle); setComponent(helpComponent); setOpenHelpSlider(true); } }; return (

{title}

{helpComponent && ( )}

{titleHelper}

{children}
handleCheckboxChange(checked, togglePropertyName, setSettingsState) } className={classNames( settingsState[togglePropertyName] ? 'bg-brand-primary' : 'bg-slate-500', 'relative inline-flex flex-shrink-0 h-6 w-11 border-2 border-transparent rounded-full cursor-pointer transition-colors ease-in-out duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500', )} > GA4 Debug View
); };