UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

83 lines (80 loc) 1.77 kB
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 };