From f861e6a269ba9f62700776d3cd13b644a9e836d4 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Wed, 20 Sep 2023 16:38:54 +0200 Subject: refactor: use named export for everything except pages Next expect a default export for pages so only those components should use default exports. Everything else should use named exports to reduce the number of import statements. --- .../organisms/widgets/image-widget.stories.tsx | 2 +- .../organisms/widgets/image-widget.test.tsx | 2 +- src/components/organisms/widgets/image-widget.tsx | 16 ++++++++-------- src/components/organisms/widgets/index.ts | 5 +++++ .../organisms/widgets/links-list-widget.stories.tsx | 2 +- .../organisms/widgets/links-list-widget.test.tsx | 2 +- .../organisms/widgets/links-list-widget.tsx | 19 ++++++++----------- src/components/organisms/widgets/sharing.stories.tsx | 2 +- src/components/organisms/widgets/sharing.test.tsx | 2 +- src/components/organisms/widgets/sharing.tsx | 12 ++++-------- .../organisms/widgets/social-media.stories.tsx | 2 +- .../organisms/widgets/social-media.test.tsx | 2 +- src/components/organisms/widgets/social-media.tsx | 10 +++------- .../organisms/widgets/table-of-contents.stories.tsx | 2 +- .../organisms/widgets/table-of-contents.test.tsx | 2 +- .../organisms/widgets/table-of-contents.tsx | 16 ++++++---------- 16 files changed, 44 insertions(+), 54 deletions(-) create mode 100644 src/components/organisms/widgets/index.ts (limited to 'src/components/organisms/widgets') diff --git a/src/components/organisms/widgets/image-widget.stories.tsx b/src/components/organisms/widgets/image-widget.stories.tsx index 2271c03..9460060 100644 --- a/src/components/organisms/widgets/image-widget.stories.tsx +++ b/src/components/organisms/widgets/image-widget.stories.tsx @@ -1,5 +1,5 @@ import { ComponentMeta, ComponentStory } from '@storybook/react'; -import ImageWidget from './image-widget'; +import { ImageWidget } from './image-widget'; /** * ImageWidget - Storybook Meta diff --git a/src/components/organisms/widgets/image-widget.test.tsx b/src/components/organisms/widgets/image-widget.test.tsx index b41e6a8..4a0f29f 100644 --- a/src/components/organisms/widgets/image-widget.test.tsx +++ b/src/components/organisms/widgets/image-widget.test.tsx @@ -1,5 +1,5 @@ import { render, screen } from '../../../../tests/utils'; -import ImageWidget from './image-widget'; +import { ImageWidget } from './image-widget'; const description = 'Ut vitae sit'; diff --git a/src/components/organisms/widgets/image-widget.tsx b/src/components/organisms/widgets/image-widget.tsx index 7ca5d90..f3dc92f 100644 --- a/src/components/organisms/widgets/image-widget.tsx +++ b/src/components/organisms/widgets/image-widget.tsx @@ -1,8 +1,10 @@ import { FC } from 'react'; -import ResponsiveImage, { +import { + ResponsiveImage, type ResponsiveImageProps, -} from '../../molecules/images/responsive-image'; -import Widget, { type WidgetProps } from '../../molecules/layout/widget'; + Widget, + type WidgetProps, +} from '../../molecules'; import styles from './image-widget.module.scss'; export type Alignment = 'left' | 'center' | 'right'; @@ -43,7 +45,7 @@ export type ImageWidgetProps = Pick< * * Renders a widget that print an image and an optional text. */ -const ImageWidget: FC = ({ +export const ImageWidget: FC = ({ alignment = 'left', className = '', description, @@ -57,13 +59,11 @@ const ImageWidget: FC = ({ return ( ); }; - -export default ImageWidget; diff --git a/src/components/organisms/widgets/index.ts b/src/components/organisms/widgets/index.ts new file mode 100644 index 0000000..222ade0 --- /dev/null +++ b/src/components/organisms/widgets/index.ts @@ -0,0 +1,5 @@ +export * from './image-widget'; +export * from './links-list-widget'; +export * from './sharing'; +export * from './social-media'; +export * from './table-of-contents'; diff --git a/src/components/organisms/widgets/links-list-widget.stories.tsx b/src/components/organisms/widgets/links-list-widget.stories.tsx index cdfa96a..3f62502 100644 --- a/src/components/organisms/widgets/links-list-widget.stories.tsx +++ b/src/components/organisms/widgets/links-list-widget.stories.tsx @@ -1,5 +1,5 @@ import { ComponentMeta, ComponentStory } from '@storybook/react'; -import LinksListWidget from './links-list-widget'; +import { LinksListWidget } from './links-list-widget'; /** * LinksListWidget - Storybook Meta diff --git a/src/components/organisms/widgets/links-list-widget.test.tsx b/src/components/organisms/widgets/links-list-widget.test.tsx index 8578040..9d3f975 100644 --- a/src/components/organisms/widgets/links-list-widget.test.tsx +++ b/src/components/organisms/widgets/links-list-widget.test.tsx @@ -1,5 +1,5 @@ import { render, screen } from '../../../../tests/utils'; -import LinksListWidget from './links-list-widget'; +import { LinksListWidget } from './links-list-widget'; const title = 'Voluptatem minus autem'; diff --git a/src/components/organisms/widgets/links-list-widget.tsx b/src/components/organisms/widgets/links-list-widget.tsx index 23392b9..df8430d 100644 --- a/src/components/organisms/widgets/links-list-widget.tsx +++ b/src/components/organisms/widgets/links-list-widget.tsx @@ -1,8 +1,7 @@ import { FC } from 'react'; -import { slugify } from '../../../utils/helpers/strings'; -import Link from '../../atoms/links/link'; -import List, { type ListProps, type ListItem } from '../../atoms/lists/list'; -import Widget, { type WidgetProps } from '../../molecules/layout/widget'; +import { slugify } from '../../../utils/helpers'; +import { Link, List, type ListItem, type ListProps } from '../../atoms'; +import { Widget, type WidgetProps } from '../../molecules'; import styles from './links-list-widget.module.scss'; export type LinksListItems = { @@ -33,7 +32,7 @@ export type LinksListWidgetProps = Pick & * * Render a list of links inside a widget. */ -const LinksListWidget: FC = ({ +export const LinksListWidget: FC = ({ className = '', items, kind = 'unordered', @@ -63,20 +62,18 @@ const LinksListWidget: FC = ({ return ( ); }; - -export default LinksListWidget; diff --git a/src/components/organisms/widgets/sharing.stories.tsx b/src/components/organisms/widgets/sharing.stories.tsx index 59b86d3..3f4a79e 100644 --- a/src/components/organisms/widgets/sharing.stories.tsx +++ b/src/components/organisms/widgets/sharing.stories.tsx @@ -1,5 +1,5 @@ import { ComponentMeta, ComponentStory } from '@storybook/react'; -import SharingWidget from './sharing'; +import { Sharing as SharingWidget } from './sharing'; /** * Sharing - Storybook Meta diff --git a/src/components/organisms/widgets/sharing.test.tsx b/src/components/organisms/widgets/sharing.test.tsx index f05a73b..50f92e3 100644 --- a/src/components/organisms/widgets/sharing.test.tsx +++ b/src/components/organisms/widgets/sharing.test.tsx @@ -1,5 +1,5 @@ import { render, screen } from '../../../../tests/utils'; -import Sharing, { type SharingData } from './sharing'; +import { Sharing, type SharingData } from './sharing'; const postData: SharingData = { excerpt: 'A post excerpt', diff --git a/src/components/organisms/widgets/sharing.tsx b/src/components/organisms/widgets/sharing.tsx index 57578cb..61d54d8 100644 --- a/src/components/organisms/widgets/sharing.tsx +++ b/src/components/organisms/widgets/sharing.tsx @@ -1,9 +1,7 @@ import { FC } from 'react'; import { useIntl } from 'react-intl'; -import SharingLink, { - type SharingMedium, -} from '../../atoms/links/sharing-link'; -import Widget, { type WidgetProps } from '../../molecules/layout/widget'; +import { SharingLink, type SharingMedium } from '../../atoms'; +import { Widget, type WidgetProps } from '../../molecules'; import styles from './sharing.module.scss'; export type SharingData = { @@ -49,7 +47,7 @@ export type SharingProps = { * * Render a list of sharing links inside a widget. */ -const Sharing: FC = ({ +export const Sharing: FC = ({ className = '', data, media, @@ -205,10 +203,8 @@ const Sharing: FC = ({ }; return ( - +
    {getItems()}
); }; - -export default Sharing; diff --git a/src/components/organisms/widgets/social-media.stories.tsx b/src/components/organisms/widgets/social-media.stories.tsx index 6c9de4d..f012554 100644 --- a/src/components/organisms/widgets/social-media.stories.tsx +++ b/src/components/organisms/widgets/social-media.stories.tsx @@ -1,5 +1,5 @@ import { ComponentMeta, ComponentStory } from '@storybook/react'; -import SocialMediaWidget, { Media } from './social-media'; +import { SocialMedia as SocialMediaWidget, Media } from './social-media'; /** * SocialMedia - Storybook Meta diff --git a/src/components/organisms/widgets/social-media.test.tsx b/src/components/organisms/widgets/social-media.test.tsx index a9056af..7bb1a07 100644 --- a/src/components/organisms/widgets/social-media.test.tsx +++ b/src/components/organisms/widgets/social-media.test.tsx @@ -1,5 +1,5 @@ import { render, screen } from '../../../../tests/utils'; -import SocialMedia, { Media } from './social-media'; +import { SocialMedia, Media } from './social-media'; const media: Media[] = [ { name: 'Github', url: '#' }, diff --git a/src/components/organisms/widgets/social-media.tsx b/src/components/organisms/widgets/social-media.tsx index 1a261a9..40513f8 100644 --- a/src/components/organisms/widgets/social-media.tsx +++ b/src/components/organisms/widgets/social-media.tsx @@ -1,8 +1,6 @@ import { FC } from 'react'; -import SocialLink, { - type SocialLinkProps, -} from '../../atoms/links/social-link'; -import Widget, { type WidgetProps } from '../../molecules/layout/widget'; +import { SocialLink, type SocialLinkProps } from '../../atoms'; +import { Widget, type WidgetProps } from '../../molecules'; import styles from './social-media.module.scss'; export type Media = SocialLinkProps; @@ -16,7 +14,7 @@ export type SocialMediaProps = Pick & { * * Render a social media list with links. */ -const SocialMedia: FC = ({ media, ...props }) => { +export const SocialMedia: FC = ({ media, ...props }) => { /** * Retrieve the social media items. * @@ -37,5 +35,3 @@ const SocialMedia: FC = ({ media, ...props }) => {
); }; - -export default SocialMedia; diff --git a/src/components/organisms/widgets/table-of-contents.stories.tsx b/src/components/organisms/widgets/table-of-contents.stories.tsx index 27a9a15..3078e35 100644 --- a/src/components/organisms/widgets/table-of-contents.stories.tsx +++ b/src/components/organisms/widgets/table-of-contents.stories.tsx @@ -1,5 +1,5 @@ import { ComponentMeta, ComponentStory } from '@storybook/react'; -import ToCWidget from './table-of-contents'; +import { TableOfContents as ToCWidget } from './table-of-contents'; /** * TableOfContents - Storybook Meta diff --git a/src/components/organisms/widgets/table-of-contents.test.tsx b/src/components/organisms/widgets/table-of-contents.test.tsx index dd0338a..32ff4ad 100644 --- a/src/components/organisms/widgets/table-of-contents.test.tsx +++ b/src/components/organisms/widgets/table-of-contents.test.tsx @@ -1,5 +1,5 @@ import { render, screen } from '../../../../tests/utils'; -import TableOfContents from './table-of-contents'; +import { TableOfContents } from './table-of-contents'; describe('TableOfContents', () => { it('renders the ToC title', () => { diff --git a/src/components/organisms/widgets/table-of-contents.tsx b/src/components/organisms/widgets/table-of-contents.tsx index 0c18f03..0e8789a 100644 --- a/src/components/organisms/widgets/table-of-contents.tsx +++ b/src/components/organisms/widgets/table-of-contents.tsx @@ -1,9 +1,7 @@ import { FC } from 'react'; import { useIntl } from 'react-intl'; -import useHeadingsTree, { - type Heading, -} from '../../../utils/hooks/use-headings-tree'; -import LinksListWidget, { type LinksListItems } from './links-list-widget'; +import { useHeadingsTree, type Heading } from '../../../utils/hooks'; +import { type LinksListItems, LinksListWidget } from './links-list-widget'; import styles from './table-of-contents.module.scss'; type TableOfContentsProps = { @@ -18,7 +16,7 @@ type TableOfContentsProps = { * * Render a table of contents. */ -const TableOfContents: FC = ({ wrapper }) => { +export const TableOfContents: FC = ({ wrapper }) => { const intl = useIntl(); const headingsTree = useHeadingsTree(wrapper); const title = intl.formatMessage({ @@ -45,13 +43,11 @@ const TableOfContents: FC = ({ wrapper }) => { return ( ); }; - -export default TableOfContents; -- cgit v1.2.3