@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
40 lines • 1.64 kB
JavaScript
import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
import React from 'react';
import classnames from 'classnames';
import { findElementInChildren } from "../../../shared/component-helper.js";
import Section from "../../section/Section.js";
import ModalContext from "../ModalContext.js";
import H1 from "../../../elements/H1.js";
export default class ModalHeader extends React.PureComponent {
render() {
const {
title = null,
className = null,
children = null,
title_class = null,
size = null,
ref,
...sectionProps
} = this.props;
const customHeader = findElementInChildren(children, cur => {
return cur.type === 'h1' || cur.type === H1;
});
const usedTitle = title || this.context.title;
const showTitle = !customHeader && usedTitle;
const fontSize = size || 'large';
return React.createElement(Section, _extends({
style_type: "white",
className: classnames(className),
id: showTitle ? 'dnb-modal-' + this.context.id + '-title' : undefined
}, sectionProps), showTitle ? React.createElement("h1", {
className: classnames(`dnb-modal__title dnb-space__top--zero dnb-space__bottom--small dnb-h--${fontSize}`, title_class)
}, usedTitle) : React.createElement("div", {
"aria-hidden": true,
tabIndex: -1,
className: "dnb-modal__focus-helper dnb-sr-only"
}, usedTitle), React.createElement("div", null, children));
}
}
_defineProperty(ModalHeader, "contextType", ModalContext);
//# sourceMappingURL=ModalHeader.js.map