@primer/react
Version:
An implementation of GitHub's Primer Design System using React
72 lines (71 loc) • 1.74 kB
JavaScript
import { useOverflow } from "../hooks/useOverflow.js";
import ScrollableRegion_module_css_default from "./ScrollableRegion.module.css.js";
import { c } from "react-compiler-runtime";
import { clsx } from "clsx";
import { jsx } from "react/jsx-runtime";
import React from "react";
//#region src/ScrollableRegion/ScrollableRegion.tsx
function ScrollableRegion(t0) {
const $ = c(17);
let children;
let className;
let label;
let labelledby;
let rest;
if ($[0] !== t0) {
({"aria-label": label, "aria-labelledby": labelledby, children, className, ...rest} = t0);
$[0] = t0;
$[1] = children;
$[2] = className;
$[3] = label;
$[4] = labelledby;
$[5] = rest;
} else {
children = $[1];
className = $[2];
label = $[3];
labelledby = $[4];
rest = $[5];
}
const ref = React.useRef(null);
const hasOverflow = useOverflow(ref);
let t1;
if ($[6] !== hasOverflow || $[7] !== label || $[8] !== labelledby) {
t1 = hasOverflow ? {
"aria-label": label,
"aria-labelledby": labelledby,
role: "region",
tabIndex: 0
} : {};
$[6] = hasOverflow;
$[7] = label;
$[8] = labelledby;
$[9] = t1;
} else t1 = $[9];
const regionProps = t1;
let t2;
if ($[10] !== className) {
t2 = clsx(ScrollableRegion_module_css_default.ScrollableRegion, className);
$[10] = className;
$[11] = t2;
} else t2 = $[11];
let t3;
if ($[12] !== children || $[13] !== regionProps || $[14] !== rest || $[15] !== t2) {
t3 = /*#__PURE__*/ jsx("div", {
...rest,
...regionProps,
ref,
className: t2,
"data-component": "ScrollableRegion",
children
});
$[12] = children;
$[13] = regionProps;
$[14] = rest;
$[15] = t2;
$[16] = t3;
} else t3 = $[16];
return t3;
}
//#endregion
export { ScrollableRegion };