From 3dba396791b37c4ae4dbdaf8e553ed636bc2ecc8 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Fri, 1 Apr 2022 11:49:59 +0200 Subject: chore: add a magnifying glass icon component --- .../atoms/icons/magnifying-glass.module.scss | 30 ++++++++++++++++++ .../atoms/icons/magnifying-glass.stories.tsx | 13 ++++++++ .../atoms/icons/magnifying-glass.test.tsx | 9 ++++++ src/components/atoms/icons/magnifying-glass.tsx | 36 ++++++++++++++++++++++ 4 files changed, 88 insertions(+) create mode 100644 src/components/atoms/icons/magnifying-glass.module.scss create mode 100644 src/components/atoms/icons/magnifying-glass.stories.tsx create mode 100644 src/components/atoms/icons/magnifying-glass.test.tsx create mode 100644 src/components/atoms/icons/magnifying-glass.tsx (limited to 'src') diff --git a/src/components/atoms/icons/magnifying-glass.module.scss b/src/components/atoms/icons/magnifying-glass.module.scss new file mode 100644 index 0000000..dca76fb --- /dev/null +++ b/src/components/atoms/icons/magnifying-glass.module.scss @@ -0,0 +1,30 @@ +@use "@styles/abstracts/functions" as fun; + +.icon { + display: block; + width: var(--icon-size, #{fun.convert-px(40)}); +} + +.big-handle { + fill: var(--color-primary-lighter); + stroke: var(--color-primary-darker); + stroke-width: 3; +} + +.glass { + fill: var(--color-bg-opacity); + stroke: var(--color-primary-darker); + stroke-width: 2; +} + +.upright { + fill: var(--color-primary-lighter); + stroke: var(--color-primary-darker); + stroke-width: 3; +} + +.small-handle { + fill: var(--color-primary); + stroke: var(--color-primary-darker); + stroke-width: 2; +} diff --git a/src/components/atoms/icons/magnifying-glass.stories.tsx b/src/components/atoms/icons/magnifying-glass.stories.tsx new file mode 100644 index 0000000..69c5b50 --- /dev/null +++ b/src/components/atoms/icons/magnifying-glass.stories.tsx @@ -0,0 +1,13 @@ +import { ComponentMeta, ComponentStory } from '@storybook/react'; +import MagnifyingGlassIcon from './magnifying-glass'; + +export default { + title: 'Atoms/Icons', + component: MagnifyingGlassIcon, +} as ComponentMeta; + +const Template: ComponentStory = (args) => ( + +); + +export const MagnifyingGlass = Template.bind({}); diff --git a/src/components/atoms/icons/magnifying-glass.test.tsx b/src/components/atoms/icons/magnifying-glass.test.tsx new file mode 100644 index 0000000..8e788f7 --- /dev/null +++ b/src/components/atoms/icons/magnifying-glass.test.tsx @@ -0,0 +1,9 @@ +import { render } from '@test-utils'; +import MagnifyingGlass from './magnifying-glass'; + +describe('MagnifyingGlass', () => { + it('renders a magnifying glass icon', () => { + const { container } = render(); + expect(container).toBeDefined(); + }); +}); diff --git a/src/components/atoms/icons/magnifying-glass.tsx b/src/components/atoms/icons/magnifying-glass.tsx new file mode 100644 index 0000000..547dd00 --- /dev/null +++ b/src/components/atoms/icons/magnifying-glass.tsx @@ -0,0 +1,36 @@ +import { FC } from 'react'; +import styles from './magnifying-glass.module.scss'; + +/** + * MagnifyingGlass component + * + * Render a magnifying glass svg icon. + */ +const MagnifyingGlass: FC = () => { + return ( + + + + + + + ); +}; + +export default MagnifyingGlass; -- cgit v1.2.3