@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
37 lines (36 loc) • 1.15 kB
JavaScript
"use client";
import React, { createContext, useContext } from 'react';
import clsx from 'clsx';
import Typography, { TypographyContext } from "./Typography.js";
import withComponentMarkers from "../../shared/helpers/withComponentMarkers.js";
import { jsx as _jsx } from "react/jsx-runtime";
function P(props) {
const {
element = 'p',
className,
proseMaxWidth: proseMaxWidthProp,
...rest
} = props;
const paragraphContext = useContext(ParagraphContext);
const {
proseMaxWidth: proseMaxWidthContext
} = useContext(TypographyContext);
const proseMaxWidth = proseMaxWidthProp !== null && proseMaxWidthProp !== void 0 ? proseMaxWidthProp : proseMaxWidthContext;
return _jsx(ParagraphContext, {
value: {
isNested: true
},
children: _jsx(Typography, {
element: element === 'p' && paragraphContext?.isNested ? 'span' : element,
className: clsx('dnb-p', className),
proseMaxWidth: proseMaxWidth,
...rest
})
});
}
withComponentMarkers(P, {
_supportsSpacingProps: true
});
export default P;
export const ParagraphContext = createContext(undefined);
//# sourceMappingURL=P.js.map