Blame view

天文台pc/tianwentai-ui/node_modules/@radix-ui/react-focus-guards/dist/index.mjs 1.1 KB
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
  "use client";
  
  // packages/react/focus-guards/src/FocusGuards.tsx
  import * as React from "react";
  var count = 0;
  function FocusGuards(props) {
    useFocusGuards();
    return props.children;
  }
  function useFocusGuards() {
    React.useEffect(() => {
      const edgeGuards = document.querySelectorAll("[data-radix-focus-guard]");
      document.body.insertAdjacentElement("afterbegin", edgeGuards[0] ?? createFocusGuard());
      document.body.insertAdjacentElement("beforeend", edgeGuards[1] ?? createFocusGuard());
      count++;
      return () => {
        if (count === 1) {
          document.querySelectorAll("[data-radix-focus-guard]").forEach((node) => node.remove());
        }
        count--;
      };
    }, []);
  }
  function createFocusGuard() {
    const element = document.createElement("span");
    element.setAttribute("data-radix-focus-guard", "");
    element.tabIndex = 0;
    element.style.outline = "none";
    element.style.opacity = "0";
    element.style.position = "fixed";
    element.style.pointerEvents = "none";
    return element;
  }
  var Root = FocusGuards;
  export {
    FocusGuards,
    Root,
    useFocusGuards
  };
  //# sourceMappingURL=index.mjs.map