@primer/react
Version:
An implementation of GitHub's Primer Design System using React
81 lines (80 loc) • 2.63 kB
JavaScript
import { useMergedRefs } from "../hooks/useMergedRefs.js";
import { invariant } from "../utils/invariant.js";
import _VisuallyHidden_module_css_default from "../_VisuallyHidden.module.css.js";
import { ActionListContainerContext } from "./ActionListContainerContext.js";
import Heading$1 from "../Heading/Heading.js";
import { ListContext } from "./shared.js";
import Heading_module_css_default from "./Heading.module.css.js";
import { c } from "react-compiler-runtime";
import { clsx } from "clsx";
import { jsx } from "react/jsx-runtime";
import React, { forwardRef } from "react";
//#region src/ActionList/Heading.tsx
const Heading = /*#__PURE__*/ forwardRef((t0, forwardedRef) => {
var _props$id;
const $ = c(19);
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 === void 0 ? false : t1;
const mergedRef = useMergedRefs(forwardedRef, React.useRef(null));
const { headingId, variant: listVariant } = React.useContext(ListContext);
const { container } = React.useContext(ActionListContainerContext);
!(container !== "ActionMenu") && invariant(false, "ActionList.Heading shouldn't be used within an ActionMenu container. Menus are labelled by the menu button's name.");
const t2 = (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : headingId;
let t3;
if ($[7] !== className || $[8] !== visuallyHidden) {
t3 = clsx(className, Heading_module_css_default.ActionListHeader, { [_VisuallyHidden_module_css_default.InternalVisuallyHidden]: visuallyHidden });
$[7] = className;
$[8] = visuallyHidden;
$[9] = t3;
} else t3 = $[9];
let t4;
if ($[10] !== as || $[11] !== children || $[12] !== listVariant || $[13] !== mergedRef || $[14] !== props || $[15] !== size || $[16] !== t2 || $[17] !== t3) {
t4 = /*#__PURE__*/ jsx(Heading$1, {
as,
variant: size,
ref: mergedRef,
id: t2,
className: t3,
"data-component": "ActionList.Heading",
"data-list-variant": listVariant,
...props,
children
});
$[10] = as;
$[11] = children;
$[12] = listVariant;
$[13] = mergedRef;
$[14] = props;
$[15] = size;
$[16] = t2;
$[17] = t3;
$[18] = t4;
} else t4 = $[18];
return t4;
});
Heading.displayName = "ActionList.Heading";
Heading.__SLOT__ = Symbol("ActionList.Heading");
//#endregion
export { Heading };