antd
Version:
An enterprise-class UI design language and React components implementation
37 lines (36 loc) • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useTypographySemantic = void 0;
var _react = require("react");
var _useMergeSemantic = require("../../_util/hooks/useMergeSemantic");
var _context = require("../../config-provider/context");
const useTypographySemantic = (customizePrefixCls, classNames, styles, typographyDirection, props) => {
const {
getPrefixCls,
direction: contextDirection,
className: contextClassName,
style: contextStyle,
classNames: contextClassNames,
styles: contextStyles
} = (0, _context.useComponentConfig)('typography');
const direction = typographyDirection ?? contextDirection;
const prefixCls = getPrefixCls('typography', customizePrefixCls);
const mergedProps = {
...props,
prefixCls,
direction
};
const contextClassNamesObject = (0, _react.useMemo)(() => ({
root: contextClassName
}), [contextClassName]);
const contextStylesObject = (0, _react.useMemo)(() => ({
root: contextStyle
}), [contextStyle]);
const [mergedClassNames, mergedStyles] = (0, _useMergeSemantic.useMergeSemantic)([contextClassNamesObject, contextClassNames, classNames], [contextStylesObject, contextStyles, styles], {
props: mergedProps
});
return [mergedClassNames, mergedStyles, prefixCls, direction];
};
exports.useTypographySemantic = useTypographySemantic;