({variant = 'primary', ...props}: ToggleButtonProps)
| 17 | } |
| 18 | |
| 19 | export 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 | } |
nothing calls this directly
no test coverage detected