UNPKG

@vrabbi/backstage-plugin-devpod

Version:

Automatically launch Devpod workspaces for your Backstage services

48 lines (45 loc) 1.27 kB
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