UNPKG

@wordpress/components

Version:
38 lines (37 loc) 925 B
// packages/components/src/heading/hook.ts import { useContextSystem } from "../context"; import { useText } from "../text"; import { getHeadingFontSize } from "../utils/font-size"; import { CONFIG, COLORS } from "../utils"; function useHeading(props) { const { as: asProp, level = 2, color = COLORS.theme.foreground, isBlock = true, weight = CONFIG.fontWeightHeading, ...otherProps } = useContextSystem(props, "Heading"); const as = asProp || `h${level}`; const a11yProps = {}; if (typeof as === "string" && as[0] !== "h") { a11yProps.role = "heading"; a11yProps["aria-level"] = typeof level === "string" ? parseInt(level) : level; } const textProps = useText({ color, isBlock, weight, size: getHeadingFontSize(level), ...otherProps }); return { ...textProps, ...a11yProps, as }; } export { useHeading }; //# sourceMappingURL=hook.js.map