@navikt/ds-react
Version:
React components from the Norwegian Labour and Welfare Administration.
65 lines • 2.67 kB
JavaScript
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
import React, { forwardRef } from "react";
import { Theme, useRenameCSS, useThemeInternal } from "../theme/Theme.js";
import InternalHeaderButton from "./InternalHeaderButton.js";
import InternalHeaderTitle from "./InternalHeaderTitle.js";
import InternalHeaderUser from "./InternalHeaderUser.js";
import InternalHeaderUserButton from "./InternalHeaderUserButton.js";
/**
* Simple Header for internal pages and systems.
*
* @see [📝 Documentation](https://aksel.nav.no/komponenter/core/i-header)
* @see 🏷️ {@link InternalHeaderProps}
*
* @example
* ```jsx
* <InternalHeader>
* <InternalHeader.Title as="h1">Sykepenger</InternalHeader.Title>
* <Spacer />
* <InternalHeader.User name="Ola Normann" />
* </InternalHeader>
* ```
* @example
* ```jsx
* <InternalHeader >
* <InternalHeader.Title href="/#home">Tittel med lenke</InternalHeader.Title>
* <Dropdown>
* <InternalHeader.Button
* as={Dropdown.Toggle}
* >
* <MenuGridIcon title="MenuGridIconer og oppslagsverk" />
* </InternalHeader.Button>
* <Dropdown.Menu />
* </Dropdown>
* </InternalHeader>
* ```
*/
export const InternalHeader = forwardRef((_a, ref) => {
var { className } = _a, rest = __rest(_a, ["className"]);
const themeContext = useThemeInternal(false);
const { cn } = useRenameCSS();
/*
* Component is always in "dark" mode, so we manually override global theme.
*/
if (themeContext === null || themeContext === void 0 ? void 0 : themeContext.isDarkside) {
return (React.createElement(Theme, { theme: "dark", asChild: true, hasBackground: false },
React.createElement("header", Object.assign({}, rest, { ref: ref, className: cn("navds-internalheader", className) }))));
}
return (React.createElement("header", Object.assign({ "data-theme": "dark" }, rest, { ref: ref, className: cn("navds-internalheader", className) })));
});
InternalHeader.Title = InternalHeaderTitle;
InternalHeader.User = InternalHeaderUser;
InternalHeader.Button = InternalHeaderButton;
InternalHeader.UserButton = InternalHeaderUserButton;
export default InternalHeader;
//# sourceMappingURL=InternalHeader.js.map