Blame view

天文台pc/tianwentai-ui/node_modules/@radix-ui/react-toggle/dist/index.mjs 1.15 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/toggle/src/toggle.tsx
  import * as React from "react";
  import { composeEventHandlers } from "@radix-ui/primitive";
  import { useControllableState } from "@radix-ui/react-use-controllable-state";
  import { Primitive } from "@radix-ui/react-primitive";
  import { jsx } from "react/jsx-runtime";
  var NAME = "Toggle";
  var Toggle = React.forwardRef((props, forwardedRef) => {
    const { pressed: pressedProp, defaultPressed = false, onPressedChange, ...buttonProps } = props;
    const [pressed = false, setPressed] = useControllableState({
      prop: pressedProp,
      onChange: onPressedChange,
      defaultProp: defaultPressed
    });
    return /* @__PURE__ */ jsx(
      Primitive.button,
      {
        type: "button",
        "aria-pressed": pressed,
        "data-state": pressed ? "on" : "off",
        "data-disabled": props.disabled ? "" : void 0,
        ...buttonProps,
        ref: forwardedRef,
        onClick: composeEventHandlers(props.onClick, () => {
          if (!props.disabled) {
            setPressed(!pressed);
          }
        })
      }
    );
  });
  Toggle.displayName = NAME;
  var Root = Toggle;
  export {
    Root,
    Toggle
  };
  //# sourceMappingURL=index.mjs.map