MCPcopy Create free account
hub / github.com/adobe/react-spectrum / ToggleButton

Function ToggleButton

starters/hooks/src/ToggleButton.tsx:19–42  ·  view source on GitHub ↗
({variant = 'primary', ...props}: ToggleButtonProps)

Source from the content-addressed store, hash-verified

17}
18
19export function ToggleButton({variant = 'primary', ...props}: ToggleButtonProps) {
20 let ref = useRef<HTMLButtonElement>(null);
21 let state = useToggleState(props);
22 /*- begin highlight -*/
23 let {buttonProps, isPressed} = useToggleButton(props, state, ref);
24 /*- end highlight -*/
25 let {hoverProps, isHovered} = useHover(props);
26 let {focusProps, isFocusVisible} = useFocusRing();
27
28 return (
29 <button
30 {...mergeProps(buttonProps, hoverProps, focusProps)}
31 ref={ref}
32 className="react-aria-ToggleButton button-base"
33 data-variant={variant}
34 data-selected={state.isSelected || undefined}
35 data-pressed={isPressed || undefined}
36 data-hovered={isHovered || undefined}
37 data-focus-visible={isFocusVisible || undefined}
38 data-disabled={props.isDisabled || undefined}>
39 <span>{props.children}</span>
40 </button>
41 );
42}

Callers

nothing calls this directly

Calls 5

useToggleStateFunction · 0.90
useToggleButtonFunction · 0.90
useHoverFunction · 0.90
useFocusRingFunction · 0.90
mergePropsFunction · 0.90

Tested by

no test coverage detected