Migrate to a monorepo structure (#2909)

This commit is contained in:
Charles Bochet
2023-12-10 18:10:54 +01:00
committed by GitHub
parent a70a9281eb
commit 5bdca9de6c
2304 changed files with 37152 additions and 25869 deletions

View File

@ -0,0 +1,42 @@
import { Fragment } from 'react';
import { Link } from 'react-router-dom';
import styled from '@emotion/styled';
type BreadcrumbProps = {
className?: string;
links: { children: string; href?: string }[];
};
const StyledWrapper = styled.nav`
align-items: center;
color: ${({ theme }) => theme.font.color.extraLight};
display: flex;
font-size: ${({ theme }) => theme.font.size.lg};
font-weight: ${({ theme }) => theme.font.weight.semiBold};
gap: ${({ theme }) => theme.spacing(2)};
line-height: ${({ theme }) => theme.text.lineHeight.md};
`;
const StyledLink = styled(Link)`
color: inherit;
text-decoration: none;
`;
const StyledText = styled.span`
color: ${({ theme }) => theme.font.color.tertiary};
`;
export const Breadcrumb = ({ className, links }: BreadcrumbProps) => (
<StyledWrapper className={className}>
{links.map((link, index) => (
<Fragment key={index}>
{link.href ? (
<StyledLink to={link.href}>{link.children}</StyledLink>
) : (
<StyledText>{link.children}</StyledText>
)}
{index < links.length - 1 && '/'}
</Fragment>
))}
</StyledWrapper>
);

View File

@ -0,0 +1,24 @@
import { Meta, StoryObj } from '@storybook/react';
import { ComponentDecorator } from '~/testing/decorators/ComponentDecorator';
import { ComponentWithRouterDecorator } from '~/testing/decorators/ComponentWithRouterDecorator';
import { Breadcrumb } from '../Breadcrumb';
const meta: Meta<typeof Breadcrumb> = {
title: 'UI/Navigation/Breadcrumb/Breadcrumb',
component: Breadcrumb,
decorators: [ComponentDecorator, ComponentWithRouterDecorator],
args: {
links: [
{ children: 'Objects', href: '/link-1' },
{ children: 'Companies', href: '/link-2' },
{ children: 'New' },
],
},
};
export default meta;
type Story = StoryObj<typeof Breadcrumb>;
export const Default: Story = {};