@vrabbi/backstage-plugin-devpod
Version:
Automatically launch Devpod workspaces for your Backstage services
48 lines (45 loc) • 1.27 kB
JavaScript
import React, { useState, useEffect } from 'react';
const visuallyHiddenStyles = {
display: "inline-block",
position: "absolute",
overflow: "hidden",
clip: "rect(0 0 0 0)",
height: 1,
width: 1,
margin: -1,
padding: 0,
border: 0
};
const VisuallyHidden = ({
children,
...delegatedProps
}) => {
const [forceShow, setForceShow] = useState(false);
useEffect(() => {
if (process.env.NODE_ENV === "production") {
return void 0;
}
const handleKeyDown = (event) => {
if (event.shiftKey && event.key === "Alt") {
setForceShow(true);
}
};
const handleKeyUp = (event) => {
if (event.key === "Alt") {
setForceShow(false);
}
};
window.addEventListener("keydown", handleKeyDown);
window.addEventListener("keyup", handleKeyUp);
return () => {
window.removeEventListener("keydown", handleKeyDown);
window.removeEventListener("keyup", handleKeyUp);
};
}, []);
if (forceShow) {
return /* @__PURE__ */ React.createElement(React.Fragment, null, children);
}
return /* @__PURE__ */ React.createElement("span", { style: visuallyHiddenStyles, ...delegatedProps }, children);
};
export { VisuallyHidden };
//# sourceMappingURL=VisuallyHidden.esm.js.map