UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

110 lines (107 loc) 2.92 kB
import { c } from 'react-compiler-runtime'; import React, { forwardRef } from 'react'; import { ListContext } from './shared.js'; import VisuallyHidden from '../_VisuallyHidden.js'; import { ActionListContainerContext } from './ActionListContainerContext.js'; import { invariant } from '../utils/invariant.js'; import { clsx } from 'clsx'; import classes from './Heading.module.css.js'; import { jsx } from 'react/jsx-runtime'; import { useMergedRefs } from '../hooks/useMergedRefs.js'; import Heading$1 from '../Heading/Heading.js'; const Heading = /*#__PURE__*/forwardRef((t0, forwardedRef) => { var _props$id; const $ = c(21); let as; let children; let className; let props; let size; let t1; if ($[0] !== t0) { ({ as, size, children, visuallyHidden: t1, className, ...props } = t0); $[0] = t0; $[1] = as; $[2] = children; $[3] = className; $[4] = props; $[5] = size; $[6] = t1; } else { as = $[1]; children = $[2]; className = $[3]; props = $[4]; size = $[5]; t1 = $[6]; } const visuallyHidden = t1 === undefined ? false : t1; const innerRef = React.useRef(null); const mergedRef = useMergedRefs(forwardedRef, innerRef); const { headingId, variant: listVariant } = React.useContext(ListContext); const { container } = React.useContext(ActionListContainerContext); !(container !== "ActionMenu") ? process.env.NODE_ENV !== "production" ? invariant(false, "ActionList.Heading shouldn't be used within an ActionMenu container. Menus are labelled by the menu button's name.") : invariant(false) : void 0; const t2 = !visuallyHidden; const t3 = (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : headingId; let t4; if ($[7] !== className) { t4 = clsx(className, classes.ActionListHeader); $[7] = className; $[8] = t4; } else { t4 = $[8]; } let t5; if ($[9] !== as || $[10] !== children || $[11] !== listVariant || $[12] !== mergedRef || $[13] !== props || $[14] !== size || $[15] !== t3 || $[16] !== t4) { t5 = /*#__PURE__*/jsx(Heading$1, { as: as, variant: size, ref: mergedRef, id: t3, className: t4, "data-component": "ActionList.Heading", "data-list-variant": listVariant, ...props, children: children }); $[9] = as; $[10] = children; $[11] = listVariant; $[12] = mergedRef; $[13] = props; $[14] = size; $[15] = t3; $[16] = t4; $[17] = t5; } else { t5 = $[17]; } let t6; if ($[18] !== t2 || $[19] !== t5) { t6 = /*#__PURE__*/jsx(VisuallyHidden, { isVisible: t2, children: t5 }); $[18] = t2; $[19] = t5; $[20] = t6; } else { t6 = $[20]; } return t6; }); Heading.displayName = 'ActionList.Heading'; Heading.__SLOT__ = Symbol('ActionList.Heading'); export { Heading };