@clayui/modal
Version:
ClayModal component
44 lines (43 loc) • 1.17 kB
JavaScript
import classNames from "classnames";
import React, { useEffect, useRef } from "react";
function Body({
children,
className,
iFrameProps = {},
scrollable,
url,
...otherProps
}) {
const elementRef = useRef(null);
useEffect(() => {
const onKeyDown = (event) => {
if (elementRef.current && (event.key === "ArrowUp" || event.key === "ArrowDown") && !elementRef.current.contains(document.activeElement)) {
if (event.defaultPrevented) {
return;
}
elementRef.current.focus();
}
};
document.addEventListener("keydown", onKeyDown);
return () => {
document.removeEventListener("keydown", onKeyDown);
};
}, [elementRef]);
return /* @__PURE__ */ React.createElement(
"div",
{
className: classNames("modal-body", className, {
"inline-scroller": scrollable,
"modal-body-iframe": url
}),
ref: elementRef,
tabIndex: scrollable ? -1 : void 0,
...otherProps
},
url ? /* @__PURE__ */ React.createElement("iframe", { ...iFrameProps, src: url, title: url }) : children
);
}
var Body_default = Body;
export {
Body_default as default
};