import "./ToolIcon.scss"; import React from "react"; type ToolIconSize = "s" | "m"; type ToolButtonBaseProps = { icon: React.ReactNode; "aria-label": string; "aria-keyshortcuts"?: string; title?: string; name?: string; id?: string; size?: ToolIconSize; }; type ToolButtonProps = | (ToolButtonBaseProps & { type: "button"; onClick?(): void }) | (ToolButtonBaseProps & { type: "radio"; checked: boolean; onChange?(): void; }); const DEFAULT_SIZE: ToolIconSize = "m"; export const ToolButton = React.forwardRef(function( props: ToolButtonProps, ref, ) { const innerRef = React.useRef(null); React.useImperativeHandle(ref, () => innerRef.current); const sizeCn = `ToolIcon_size_${props.size || DEFAULT_SIZE}`; if (props.type === "button") return ( ); return ( ); });