@primer/react
Version:
An implementation of GitHub's Primer Design System using React
83 lines (80 loc) • 1.77 kB
JavaScript
import { c } from 'react-compiler-runtime';
import React from 'react';
import { clsx } from 'clsx';
import { useOverflow } from '../hooks/useOverflow.js';
import classes from './ScrollableRegion.module.css.js';
import { jsx } from 'react/jsx-runtime';
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(classes.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: ref,
className: t2,
children: children
});
$[12] = children;
$[13] = regionProps;
$[14] = rest;
$[15] = t2;
$[16] = t3;
} else {
t3 = $[16];
}
return t3;
}
export { ScrollableRegion };