import React, { HTMLAttributes, forwardRef } from "react";
import { Theme } from "../theme/Theme";
import { cl } from "../utils/helpers";
import InternalHeaderButton, {
InternalHeaderButtonProps,
} from "./InternalHeaderButton";
import InternalHeaderTitle, {
InternalHeaderTitleProps,
} from "./InternalHeaderTitle";
import InternalHeaderUser, {
InternalHeaderUserProps,
} from "./InternalHeaderUser";
import InternalHeaderUserButton, {
InternalHeaderUserButtonProps,
} from "./InternalHeaderUserButton";
interface InternalHeaderProps extends HTMLAttributes {
children: React.ReactNode;
}
interface InternalHeaderComponent extends React.ForwardRefExoticComponent<
InternalHeaderProps & React.RefAttributes
> {
/**
* @see 🏷️ {@link InternalHeaderTitleProps}
* @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
*/
Title: typeof InternalHeaderTitle;
/**
* @see 🏷️ {@link InternalHeaderUserProps}
*/
User: typeof InternalHeaderUser;
/**
* @see 🏷️ {@link InternalHeaderButtonProps}
* @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
*/
Button: typeof InternalHeaderButton;
/**
* @see 🏷️ {@link InternalHeaderUserButtonProps}
* @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
*/
UserButton: typeof InternalHeaderUserButton;
}
/**
* Simple Header for internal pages and systems.
*
* @see [📝 Documentation](https://aksel.nav.no/komponenter/core/i-header)
* @see 🏷️ {@link InternalHeaderProps}
*
* @example
* ```jsx
*
* Sykepenger
*
*
*
* ```
* @example
* ```jsx
*
* Tittel med lenke
*
*
*
*
*
*
*
*
* ```
*/
export const InternalHeader = forwardRef(({ className, ...rest }, ref) => {
/*
* Component is always in "dark" mode, so we manually override global theme.
*/
return (
);
}) as InternalHeaderComponent;
InternalHeader.Title = InternalHeaderTitle;
InternalHeader.User = InternalHeaderUser;
InternalHeader.Button = InternalHeaderButton;
InternalHeader.UserButton = InternalHeaderUserButton;
export default InternalHeader;
export {
InternalHeaderTitle,
InternalHeaderUser,
InternalHeaderButton,
InternalHeaderUserButton,
};
export type {
InternalHeaderProps,
InternalHeaderTitleProps,
InternalHeaderUserProps,
InternalHeaderButtonProps,
InternalHeaderUserButtonProps,
};