"use client"; // 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, onPressedChange, ...buttonProps } = props; const [pressed, setPressed] = useControllableState({ prop: pressedProp, onChange: onPressedChange, defaultProp: defaultPressed ?? false, caller: NAME }); 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