UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

46 lines (45 loc) 1.74 kB
"use strict"; "use client"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _withComponentMarkers = _interopRequireDefault(require("../../shared/helpers/withComponentMarkers.js")); var _react = require("react"); var _clsx = require("clsx"); var _Element = _interopRequireDefault(require("../Element.js")); var _HeadingHelpers = require("../../components/heading/HeadingHelpers.js"); var _index = require("../../shared/index.js"); var _Context = _interopRequireDefault(require("../../shared/Context.js")); var _Typography = require("./Typography.js"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const H = props => { const { element = 'h1', is, level, size, className, ...rest } = (0, _Typography.useTypography)(props); const resolvedElement = element !== null && element !== void 0 ? element : is; const numSiz = parseFloat(String(resolvedElement).substring(1)); if (level === 'use') { (0, _HeadingHelpers.setNextLevel)(numSiz); } const theme = (0, _index.useTheme)(); const targetSize = size === 'auto' && (0, _HeadingHelpers.getHeadingSize)(theme?.name)[numSiz] || size || 'xx-large'; const context = (0, _react.useContext)(_Context.default); return (0, _jsxRuntime.jsx)(_Element.default, { as: resolvedElement, internalClass: (0, _clsx.clsx)(targetSize && `dnb-h--${targetSize}`, context?.theme?.surface === 'dark' && 'dnb-t--surface-dark', className), ...rest }); }; (0, _withComponentMarkers.default)(H, { _isHeadingElement: true, _supportsSpacingProps: true }); var _default = exports.default = H; //# sourceMappingURL=H.js.map