UNPKG

@terasky/backstage-plugin-devpod

Version:

Automatically launch Devpod workspaces for your Backstage services

49 lines (46 loc) 1.27 kB
import { jsx, Fragment } from 'react/jsx-runtime'; import { 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__ */ jsx(Fragment, { children }); } return /* @__PURE__ */ jsx("span", { style: visuallyHiddenStyles, ...delegatedProps, children }); }; export { VisuallyHidden }; //# sourceMappingURL=VisuallyHidden.esm.js.map