import { type ElementType } from 'react'; import { type ChildrenProps, type ClickEvent, type SpiritButtonElementProps, type SpiritDialogElementProps, type SpiritElementProps, type SpiritLItemElementProps, type SpiritPolymorphicElementPropsWithRef, type SpiritSpanElementProps, type SpiritUListElementProps, type StyleProps, type TransferProps } from './shared'; export type HeaderActionsColorType = 'primary' | 'secondary'; export type HeaderColorType = 'primary' | 'transparent'; export type HeaderDialogHandlingProps = { isOpen: boolean; onClose: (event: ClickEvent) => void; }; export type HeaderMobileActionsHandlingProps = { isOpen: boolean; onOpen: (event: ClickEvent) => void; }; export interface HeaderProps extends SpiritElementProps, ChildrenProps { color?: HeaderColorType; isSimple?: boolean; } export interface HeaderButtonProps extends SpiritButtonElementProps, ChildrenProps { } export interface HeaderDesktopActionsProps extends SpiritElementProps, ChildrenProps { isAtEnd?: boolean; } export interface HeaderDialogProps extends SpiritDialogElementProps, HeaderDialogHandlingProps, ChildrenProps { id: string; } export interface HeaderDialogActionsProps extends SpiritElementProps, ChildrenProps { color?: HeaderActionsColorType; } export interface HeaderDialogButtonProps extends SpiritButtonElementProps, ChildrenProps { } export interface HeaderDialogCloseButtonProps extends Omit { label?: string; } export interface BaseHeaderDialogLinkProps extends ChildrenProps, StyleProps, TransferProps { isCurrent?: boolean; } export type HeaderDialogLinkProps = { elementType?: E; } & BaseHeaderDialogLinkProps; export type SpiritDialogHeaderLinkProps = HeaderDialogLinkProps & SpiritPolymorphicElementPropsWithRef>; export interface HeaderDialogNavProps extends SpiritUListElementProps, ChildrenProps { } export interface HeaderDialogNavItemProps extends SpiritLItemElementProps, ChildrenProps { } export interface HeaderDialogTextProps extends SpiritSpanElementProps, ChildrenProps { } export interface HeaderLinkBaseProps extends ChildrenProps, StyleProps, TransferProps { isCurrent?: boolean; } export type HeaderLinkProps = { elementType?: E; } & HeaderLinkBaseProps; export type SpiritHeaderLinkProps = HeaderLinkProps & SpiritPolymorphicElementPropsWithRef>; export interface HeaderMobileActionsProps extends SpiritElementProps, HeaderMobileActionsHandlingProps, ChildrenProps { dialogId: string; menuToggleLabel?: string; } export interface HeaderNavProps extends SpiritUListElementProps, ChildrenProps { } export interface HeaderNavItemProps extends SpiritLItemElementProps, ChildrenProps { }