From d17d894f398650209c0ddd29502308de8c07bd93 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Wed, 27 Sep 2023 18:43:25 +0200 Subject: feat(components): add Article, Aside, Footer, Header, Main & Nav Some components have been renamed to be able to create Footer, Header and Nav. --- src/components/organisms/layout/footer.module.scss | 40 ------ src/components/organisms/layout/footer.stories.tsx | 90 ------------ src/components/organisms/layout/footer.test.tsx | 34 ----- src/components/organisms/layout/footer.tsx | 75 ---------- src/components/organisms/layout/header.module.scss | 50 ------- src/components/organisms/layout/header.stories.tsx | 153 --------------------- src/components/organisms/layout/header.test.tsx | 47 ------- src/components/organisms/layout/header.tsx | 44 ------ src/components/organisms/layout/index.ts | 4 +- .../organisms/layout/site-footer.module.scss | 40 ++++++ .../organisms/layout/site-footer.stories.tsx | 90 ++++++++++++ .../organisms/layout/site-footer.test.tsx | 36 +++++ src/components/organisms/layout/site-footer.tsx | 75 ++++++++++ .../organisms/layout/site-header.module.scss | 50 +++++++ .../organisms/layout/site-header.stories.tsx | 153 +++++++++++++++++++++ .../organisms/layout/site-header.test.tsx | 47 +++++++ src/components/organisms/layout/site-header.tsx | 47 +++++++ 17 files changed, 540 insertions(+), 535 deletions(-) delete mode 100644 src/components/organisms/layout/footer.module.scss delete mode 100644 src/components/organisms/layout/footer.stories.tsx delete mode 100644 src/components/organisms/layout/footer.test.tsx delete mode 100644 src/components/organisms/layout/footer.tsx delete mode 100644 src/components/organisms/layout/header.module.scss delete mode 100644 src/components/organisms/layout/header.stories.tsx delete mode 100644 src/components/organisms/layout/header.test.tsx delete mode 100644 src/components/organisms/layout/header.tsx create mode 100644 src/components/organisms/layout/site-footer.module.scss create mode 100644 src/components/organisms/layout/site-footer.stories.tsx create mode 100644 src/components/organisms/layout/site-footer.test.tsx create mode 100644 src/components/organisms/layout/site-footer.tsx create mode 100644 src/components/organisms/layout/site-header.module.scss create mode 100644 src/components/organisms/layout/site-header.stories.tsx create mode 100644 src/components/organisms/layout/site-header.test.tsx create mode 100644 src/components/organisms/layout/site-header.tsx (limited to 'src/components/organisms/layout') diff --git a/src/components/organisms/layout/footer.module.scss b/src/components/organisms/layout/footer.module.scss deleted file mode 100644 index a8bcd61..0000000 --- a/src/components/organisms/layout/footer.module.scss +++ /dev/null @@ -1,40 +0,0 @@ -@use "../../../styles/abstracts/mixins" as mix; - -.wrapper { - display: flex; - flex-flow: column wrap; - gap: var(--spacing-xs); - place-items: center; - place-content: center; - padding: var(--spacing-md) 0 calc(var(--toolbar-size) + var(--spacing-md)); - - @include mix.media("screen") { - @include mix.dimensions("sm") { - --toolbar-size: 0px; - - flex-flow: row wrap; - font-size: var(--font-size-sm); - } - } -} - -.nav { - display: flex; - flex-flow: row wrap; - - @include mix.media("screen") { - @include mix.dimensions("sm") { - &::before { - content: "\2022"; - margin-right: var(--spacing-2xs); - } - } - } -} - -.back-to-top { - position: fixed; - bottom: calc(var(--toolbar-size, 0px) + var(--spacing-md)); - right: var(--spacing-md); - transition: all 0.4s ease-in 0s; -} diff --git a/src/components/organisms/layout/footer.stories.tsx b/src/components/organisms/layout/footer.stories.tsx deleted file mode 100644 index b5097dd..0000000 --- a/src/components/organisms/layout/footer.stories.tsx +++ /dev/null @@ -1,90 +0,0 @@ -import { ComponentMeta, ComponentStory } from '@storybook/react'; -import { Footer as FooterComponent } from './footer'; - -/** - * Footer - Storybook Meta - */ -export default { - title: 'Organisms/Layout', - component: FooterComponent, - argTypes: { - backToTopClassName: { - control: { - type: 'text', - }, - description: 'Set additional classnames to the back to top button.', - table: { - category: 'Styles', - }, - type: { - name: 'string', - required: false, - }, - }, - className: { - control: { - type: 'text', - }, - description: 'Set additional classnames to the footer element.', - table: { - category: 'Styles', - }, - type: { - name: 'string', - required: false, - }, - }, - copyright: { - description: 'The copyright information.', - type: { - name: 'object', - required: true, - value: {}, - }, - }, - navItems: { - description: 'The footer nav items.', - table: { - category: 'Options', - }, - type: { - name: 'object', - required: false, - value: {}, - }, - }, - topId: { - control: { - type: 'text', - }, - description: - 'An element id (without hashtag) used as target by back to top button.', - type: { - name: 'string', - required: true, - }, - }, - }, -} as ComponentMeta; - -const Template: ComponentStory = (args) => ( - -); - -const copyright = { - dates: { start: '2017', end: '2022' }, - owner: 'Lorem ipsum', - icon: 'CC', -}; - -const navItems = [{ id: 'legal-notice', href: '#', label: 'Legal notice' }]; - -/** - * Layout Stories - Footer - */ -export const Footer = Template.bind({}); -Footer.args = { - copyright, - navItems, - topId: 'top', -}; diff --git a/src/components/organisms/layout/footer.test.tsx b/src/components/organisms/layout/footer.test.tsx deleted file mode 100644 index 51f21fb..0000000 --- a/src/components/organisms/layout/footer.test.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { describe, expect, it } from '@jest/globals'; -import { render, screen } from '../../../../tests/utils'; -import { Footer, type FooterProps } from './footer'; - -const copyright: FooterProps['copyright'] = { - dates: { start: '2017', end: '2022' }, - owner: 'Lorem ipsum', - icon: 'CC', -}; - -const navItems: FooterProps['navItems'] = [ - { id: 'legal-notice', href: '#', label: 'Legal notice' }, -]; - -describe('Footer', () => { - it('renders the website copyright', () => { - render(