* Write Storybook tests for front/src/modules/ui/field/meta-types/display components Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: FellipeMTX <fellipefacdir@gmail.com> * Write Storybook tests for front/src/modules/ui/field/meta-types/display components Co-authored-by: FellipeMTX <fellipefacdir@gmail.com> Co-authored-by: v1b3m <vibenjamin6@gmail.com> * Write Storybook tests for front/src/modules/ui/field/meta-types/display components Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: FellipeMTX <fellipefacdir@gmail.com> * add EllipsisDisplay component * add EllipsisDisplay component * modified ComponentDecorator to pass a minWidth parameter to test ellipsis * add ellipsis test to all components * add ellipsis to links * removed minWidth and set it to 'unset' if the width is not defined --------- Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: FellipeMTX <fellipefacdir@gmail.com> Co-authored-by: bosiraphael <raphael.bosi@gmail.com>
30 lines
703 B
TypeScript
30 lines
703 B
TypeScript
import React from 'react';
|
|
import { Link as ReactLink } from 'react-router-dom';
|
|
import styled from '@emotion/styled';
|
|
|
|
type PrimaryLinkProps = {
|
|
children: React.ReactNode;
|
|
href: string;
|
|
onClick?: () => void;
|
|
fullWidth?: boolean;
|
|
};
|
|
|
|
const StyledClickable = styled.div`
|
|
display: flex;
|
|
a {
|
|
color: ${({ theme }) => theme.font.color.tertiary};
|
|
font-size: ${({ theme }) => theme.font.size.sm};
|
|
overflow: hidden;
|
|
text-decoration: underline;
|
|
text-overflow: ellipsis;
|
|
}
|
|
`;
|
|
|
|
export const PrimaryLink = ({ href, children, onClick }: PrimaryLinkProps) => (
|
|
<StyledClickable>
|
|
<ReactLink onClick={onClick} to={href}>
|
|
{children}
|
|
</ReactLink>
|
|
</StyledClickable>
|
|
);
|