aboutsummaryrefslogtreecommitdiffstats
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/atoms/icons/envelop.module.scss28
-rw-r--r--src/components/atoms/icons/envelop.stories.tsx13
-rw-r--r--src/components/atoms/icons/envelop.test.tsx9
-rw-r--r--src/components/atoms/icons/envelop.tsx60
4 files changed, 110 insertions, 0 deletions
diff --git a/src/components/atoms/icons/envelop.module.scss b/src/components/atoms/icons/envelop.module.scss
new file mode 100644
index 0000000..202900b
--- /dev/null
+++ b/src/components/atoms/icons/envelop.module.scss
@@ -0,0 +1,28 @@
+@use "@styles/abstracts/functions" as fun;
+
+.icon {
+ display: block;
+ width: var(--icon-size, #{fun.convert-px(40)});
+}
+
+.envelop {
+ fill: var(--color-primary-lighter);
+ stroke: var(--color-primary-darker);
+ stroke-width: 4;
+}
+
+.lines {
+ fill: var(--color-fg);
+}
+
+.background {
+ fill: var(--color-shadow-dark);
+ stroke: var(--color-primary-darker);
+ stroke-width: 4;
+}
+
+.paper {
+ fill: var(--color-bg);
+ stroke: var(--color-primary-darker);
+ stroke-width: 4;
+}
diff --git a/src/components/atoms/icons/envelop.stories.tsx b/src/components/atoms/icons/envelop.stories.tsx
new file mode 100644
index 0000000..9577431
--- /dev/null
+++ b/src/components/atoms/icons/envelop.stories.tsx
@@ -0,0 +1,13 @@
+import { ComponentMeta, ComponentStory } from '@storybook/react';
+import EnvelopIcon from './envelop';
+
+export default {
+ title: 'Atoms/Icons',
+ component: EnvelopIcon,
+} as ComponentMeta<typeof EnvelopIcon>;
+
+const Template: ComponentStory<typeof EnvelopIcon> = (args) => (
+ <EnvelopIcon {...args} />
+);
+
+export const Envelop = Template.bind({});
diff --git a/src/components/atoms/icons/envelop.test.tsx b/src/components/atoms/icons/envelop.test.tsx
new file mode 100644
index 0000000..072dc85
--- /dev/null
+++ b/src/components/atoms/icons/envelop.test.tsx
@@ -0,0 +1,9 @@
+import { render } from '@test-utils';
+import Envelop from './envelop';
+
+describe('Envelop', () => {
+ it('renders an envelop icon', () => {
+ const { container } = render(<Envelop />);
+ expect(container).toBeDefined();
+ });
+});
diff --git a/src/components/atoms/icons/envelop.tsx b/src/components/atoms/icons/envelop.tsx
new file mode 100644
index 0000000..a846a45
--- /dev/null
+++ b/src/components/atoms/icons/envelop.tsx
@@ -0,0 +1,60 @@
+import { FC } from 'react';
+import styles from './envelop.module.scss';
+
+/**
+ * Envelop Component
+ *
+ * Render an envelop svg icon.
+ */
+const Envelop: FC = () => {
+ return (
+ <svg
+ viewBox="0 0 100 100"
+ xmlns="http://www.w3.org/2000/svg"
+ className={styles.icon}
+ >
+ <path
+ className={styles.background}
+ d="M 1.5262527,42.535416 H 98.473747 V 98.371662 H 1.5262527 Z"
+ />
+ <path
+ className={styles.envelop}
+ d="m 49.999985,1.6283075 c 2.855148,0 48.473753,40.8563885 48.473753,40.8563885 H 1.5262359 c 0,0 45.6186001,-40.8563885 48.4737491,-40.8563885 z"
+ />
+ <path
+ className={styles.paper}
+ d="M 8.3434839,28.463842 H 91.656465 V 97.348661 H 8.3434839 Z"
+ />
+ <path
+ className={styles.envelop}
+ d="M 49.999985,63.571925 98.473738,98.371692 H 1.5262359 Z"
+ />
+ <path
+ className={styles.lines}
+ d="m 24.562439,37.640923 h 50.875053 v 1.5 H 24.562439 Z"
+ />
+ <path
+ className={styles.lines}
+ d="m 24.562439,45.140923 h 50.875053 v 1.5 H 24.562439 Z"
+ />
+ <path
+ className={styles.lines}
+ d="m 24.562443,52.640923 h 50.875053 v 1.5 H 24.562443 Z"
+ />
+ <path
+ className={styles.lines}
+ d="M 24.562447,60.140923 H 75.4375 v 1.5 H 24.562447 Z"
+ />
+ <path
+ className={styles.envelop}
+ d="M 39.93749,70.965004 1.5262559,43.55838 v 54.813242 z"
+ />
+ <path
+ className={styles.envelop}
+ d="M 60.0625,70.965004 98.473738,43.55838 v 54.813242 z"
+ />
+ </svg>
+ );
+};
+
+export default Envelop;