import React from 'react' import { PanelsTopLeft, UserIcon } from 'lucide-react' import Block from '../Primitives/Block/Block' import PrimitiveButton from '../Primitives/PrimitiveButton/PrimitiveButton' import { SingleSelect } from '../SingleSelect' import { SelectMenuVariant } from '../Select/types' import { SelectMenuSize } from '../SingleSelect' import { FOUNDATION_THEME } from '../../tokens' import type { SidebarMerchantInfo } from './types' import { useResponsiveTokens } from '../../hooks/useResponsiveTokens' import type { SidebarTokenType } from './sidebar.tokens' import { Tooltip } from '../Tooltip' type SidebarHeaderProps = { sidebarTopSlot?: React.ReactNode merchantInfo?: SidebarMerchantInfo isExpanded: boolean isScrolled: boolean sidebarCollapseKey: string onToggle: () => void sidebarNavId?: string hideToggleButton?: boolean iconOnlyMode?: boolean } const SidebarHeader: React.FC = ({ sidebarTopSlot, merchantInfo, isExpanded, isScrolled, sidebarCollapseKey, onToggle, sidebarNavId, hideToggleButton = false, iconOnlyMode = false, }) => { const tokens = useResponsiveTokens('SIDEBAR') const defaultMerchantInfo: SidebarMerchantInfo = { items: [ { label: 'juspay', value: 'juspay', icon: ( ), }, ], selected: 'juspay', onSelect: () => {}, } const merchantData = merchantInfo || defaultMerchantInfo const headerSlot = sidebarTopSlot ? ( iconOnlyMode ? null : ( sidebarTopSlot ) ) : ( ({ items: [ { label: item.label, value: item.value, slot1: item.icon, }, ], }))} selected={merchantData.selected} onSelect={merchantData.onSelect} /> ) return ( {isScrolled && ( )} {headerSlot} {!hideToggleButton && ( )} ) } export default SidebarHeader