@primer/react
Version:
An implementation of GitHub's Primer Design System using React
72 lines (71 loc) • 1.89 kB
JavaScript
import { useMergedRefs } from "../hooks/useMergedRefs.js";
import { useDevOnlyEffect } from "../internal/hooks/useDevOnlyEffect.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/Heading/Heading.tsx
const Heading = /*#__PURE__*/ forwardRef((t0, forwardedRef) => {
const $ = c(15);
let className;
let props;
let t1;
let variant;
if ($[0] !== t0) {
({as: t1, className, variant, ...props} = t0);
$[0] = t0;
$[1] = className;
$[2] = props;
$[3] = t1;
$[4] = variant;
} else {
className = $[1];
props = $[2];
t1 = $[3];
variant = $[4];
}
const Component = t1 === void 0 ? "h2" : t1;
const innerRef = React.useRef(null);
const mergedRef = useMergedRefs(forwardedRef, innerRef);
let t2;
let t3;
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
t2 = () => {
if (innerRef.current && !(innerRef.current instanceof HTMLHeadingElement)) console.warn("This Heading component should be an instanceof of h1-h6");
};
t3 = [innerRef];
$[5] = t2;
$[6] = t3;
} else {
t2 = $[5];
t3 = $[6];
}
useDevOnlyEffect(t2, t3);
let t4;
if ($[7] !== className) {
t4 = clsx(className, Heading_module_css_default.Heading);
$[7] = className;
$[8] = t4;
} else t4 = $[8];
let t5;
if ($[9] !== Component || $[10] !== mergedRef || $[11] !== props || $[12] !== t4 || $[13] !== variant) {
t5 = /*#__PURE__*/ jsx(Component, {
className: t4,
"data-variant": variant,
"data-component": "Heading",
...props,
ref: mergedRef
});
$[9] = Component;
$[10] = mergedRef;
$[11] = props;
$[12] = t4;
$[13] = variant;
$[14] = t5;
} else t5 = $[14];
return t5;
});
Heading.displayName = "Heading";
//#endregion
export { Heading as default };