import { type ReactNode } from 'react' import { PanelsTopLeft } from 'lucide-react' import Block from '../Primitives/Block/Block' import PrimitiveButton from '../Primitives/PrimitiveButton/PrimitiveButton' import { SingleSelectV2 } from '../SingleSelectV2' import { SingleSelectV2Size, SingleSelectV2Variant } from '../SingleSelectV2' import { TooltipV2 } from '../TooltipV2/TooltipV2' import { TooltipV2Side } from '../TooltipV2/tooltipV2.types' import { VisuallyHidden } from '../../utils/accessibility' import type { SidebarV2TokensType } from './sidebarV2.tokens' import { parseUnitValue } from '../SidebarV2/SidebarV2MobileNavigation/utils' export type SidebarV2HeaderProps = { sidebarTopSlot?: ReactNode merchantInfo?: { items: Array<{ label: string value: string icon?: ReactNode }> selected: string onSelect: (value: string) => void } isExpanded: boolean isScrolled: boolean sidebarCollapseKey: string onToggle: () => void sidebarNavId?: string hideToggleButton?: boolean iconOnlyMode?: boolean tokens: SidebarV2TokensType } const SidebarV2Header = ({ sidebarTopSlot, merchantInfo, isExpanded, isScrolled, sidebarCollapseKey, onToggle, sidebarNavId, hideToggleButton = false, iconOnlyMode = false, tokens, }: SidebarV2HeaderProps) => { const headerSlot = sidebarTopSlot ? ( sidebarTopSlot ) : merchantInfo ? ( item.value === merchantInfo.selected )?.label ?? 'Select Merchant' }`} variant={SingleSelectV2Variant.NO_CONTAINER} size={SingleSelectV2Size.SM} items={[ { items: merchantInfo.items.map((item) => ({ label: item.label, value: item.value, slot1: item.icon, })), }, ]} selected={merchantInfo.selected} onSelect={merchantInfo.onSelect} /> ) : null return ( {isScrolled && ( )} {headerSlot} {!hideToggleButton && ( )} ) } export default SidebarV2Header