import { styled } from '@linaria/react';
import {
type ButtonAccent,
type ButtonSize,
type ButtonVariant,
} from '@ui/input';
import { themeCssVariables } from '@ui/theme';
import { getOsShortcutSeparator } from '@ui/utilities';
const StyledSeparator = styled.div<{
buttonSize: ButtonSize;
accent: ButtonAccent;
}>`
background: ${({ accent }) => {
switch (accent) {
case 'blue':
return themeCssVariables.buttons.secondaryTextColor;
case 'danger':
return themeCssVariables.border.color.danger;
default:
return themeCssVariables.font.color.light;
}
}};
height: ${({ buttonSize }) =>
buttonSize === 'small'
? themeCssVariables.spacing[2]
: themeCssVariables.spacing[4]};
margin: 0;
width: 1px;
`;
const StyledShortcutLabel = styled.div<{
variant: ButtonVariant;
accent: ButtonAccent;
}>`
color: ${({ variant, accent }) => {
switch (accent) {
case 'blue':
return themeCssVariables.buttons.secondaryTextColor;
case 'danger':
return variant === 'primary'
? themeCssVariables.border.color.danger
: themeCssVariables.color.red8;
default:
return themeCssVariables.font.color.light;
}
}};
font-weight: ${themeCssVariables.font.weight.medium};
`;
export const ButtonHotkeys = ({
size,
accent,
variant,
hotkeys,
}: {
size: ButtonSize;
accent: ButtonAccent;
variant: ButtonVariant;
hotkeys: string[];
}) => {
return (
<>
{hotkeys.join(getOsShortcutSeparator())}
>
);
};