"use client"; /* * Documentation: * Breadcrumbs — https://app.subframe.com/f023064a5ca0/library?component=Breadcrumbs_8898334b-a66f-4ee8-8bd1-afcfa8e37cc0 * Header Navigation — https://app.subframe.com/f023064a5ca0/library?component=Header+Navigation_9abee202-1896-4bb8-b899-63d76af2825e * Icon Button — https://app.subframe.com/f023064a5ca0/library?component=Icon+Button_af9405b1-8c54-4e01-9786-5aad308224f6 * Search Input — https://app.subframe.com/f023064a5ca0/library?component=Search+Input_75a35ed3-52c0-4435-8586-e390eb77d723 */ import React from "react"; import { FeatherBell } from "@subframe/core"; import * as SubframeCore from "@subframe/core"; import * as SubframeUtils from "../../utils"; import { Breadcrumbs } from "../Breadcrumbs"; import { IconButton } from "../IconButton"; import { SearchInput } from "../SearchInput"; export interface NavItemProps extends React.HTMLAttributes { selected?: boolean; children?: React.ReactNode; icon?: React.ReactNode; className?: string; } const NavItem = React.forwardRef(function NavItem( { selected = false, children, icon = null, className, ...otherProps }: NavItemProps, ref ) { return (
{icon ? ( {icon} ) : null} {children ? ( {children} ) : null}
); }); export interface HeaderNavigationRootProps extends React.HTMLAttributes { leftSlot?: React.ReactNode; breadcrumbs?: React.ReactNode[]; className?: string; } const HeaderNavigationRoot = React.forwardRef< HTMLDivElement, HeaderNavigationRootProps >(function HeaderNavigationRoot( { leftSlot, breadcrumbs = ["Übersicht"], className, ...otherProps }: HeaderNavigationRootProps, ref ) { return (
{breadcrumbs.map((breadcrumb, index) => ( {index > 0 ? : null} {breadcrumb} ))}
{leftSlot ? (
{leftSlot}
) : null}
} />
); }); export const HeaderNavigation = Object.assign(HeaderNavigationRoot, { NavItem, });