import React, { FC, HTMLAttributes } from 'react';
import classNames from 'classnames';
import { HeaderContext, CENTER, NAVBAR } from './HeaderContext';
export interface HeaderProps extends HTMLAttributes {
/** Classi aggiuntive da usare per il componente Header */
className?: string;
/** Tipo di componente Header: può essere solamente uno di questi tre tipi */
type: 'slim' | 'center' | 'navbar';
/** Riduce la grandezza del componente Header. Funziona solamente con Header "center". */
small?: boolean;
/** Imposta il tema per il componente Header. Per gli Header di tipo "slim" o "center"
* il valore di default è "dark". Per l'Header di tipo "nav" il tema di default è "light"
* in mobile, mentre "dark" in versione desktop.
*/
theme?: 'light' | 'dark' | '';
testId?: string;
}
export const Header: FC = ({ className, small = false, theme = '', type, testId, ...attributes }) => {
// use context here as theme
const classes = classNames(className, {
[`it-header-${type}-wrapper`]: type,
'it-small-header': type === CENTER && small,
[`theme-${theme}`]: type !== NAVBAR && theme,
'theme-dark-mobile': type === NAVBAR && theme === 'dark',
'theme-light-desk': type === NAVBAR && theme === 'light'
});
return (
);
};