Skip to content

Commit 042d29c

Browse files
Implement more brand & social media icon components
This includes the official logo of Arctic Ice Studio, more UI icons as well as several social media & community sites and services: - Discord (1) - GitHub (2) - Keybase (3) - Reddit (4) - Slack (5) - Spectrum (6) - Twitter (7) References: (1) https://discordapp.com (2) https://github.com (3) https://keybase.io (4) https://reddit.com (5) https://slack.com (6) https://spectrum.chat (7) https://twitter.com https://akveo.github.io/eva-icons https://simpleicons.org Associated epic: GH-74 GH-106
1 parent b9e326f commit 042d29c

24 files changed

+388
-10
lines changed
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

src/assets/images/icons/spectrum.svg

+3
Loading
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
* Copyright (C) 2018-present Arctic Ice Studio <[email protected]>
3+
* Copyright (C) 2018-present Sven Greb <[email protected]>
4+
*
5+
* Project: Nord Docs
6+
* Repository: https://github.com/arcticicestudio/nord-docs
7+
* License: MIT
8+
*/
9+
10+
import React from "react";
11+
import styled from "styled-components";
12+
13+
import { ReactComponent as DiscordSVG } from "assets/images/icons/simple-icons/discord.svg";
14+
15+
import { iconDefaultProps, iconPropTypes, themeModeFillColorStyles } from "../shared";
16+
17+
const DiscordIcon = styled(DiscordSVG)`
18+
${themeModeFillColorStyles};
19+
`;
20+
21+
/**
22+
* The "Discord" logo icon from the "Simple Icons" project as styled SVG vector graphic component.
23+
* By default, it uses the fill color and transition based on the current active global theme mode.
24+
*
25+
* @author Arctic Ice Studio <[email protected]>
26+
* @author Sven Greb <[email protected]>
27+
* @see https://simpleicons.org
28+
* @since 0.5.0
29+
*/
30+
const Discord = ({ className, svgRef }) => <DiscordIcon className={className} svgRef={svgRef} />;
31+
32+
Discord.propTypes = iconPropTypes;
33+
34+
Discord.defaultProps = iconDefaultProps;
35+
36+
export default Discord;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
* Copyright (C) 2018-present Arctic Ice Studio <[email protected]>
3+
* Copyright (C) 2018-present Sven Greb <[email protected]>
4+
*
5+
* Project: Nord Docs
6+
* Repository: https://github.com/arcticicestudio/nord-docs
7+
* License: MIT
8+
*/
9+
10+
import React from "react";
11+
import styled from "styled-components";
12+
13+
import { ReactComponent as GitHubSVG } from "assets/images/icons/simple-icons/github.svg";
14+
15+
import { iconDefaultProps, iconPropTypes, themeModeFillColorStyles } from "../shared";
16+
17+
const GitHubIcon = styled(GitHubSVG)`
18+
${themeModeFillColorStyles};
19+
`;
20+
21+
/**
22+
* The "GitHub" logo icon from the "Simple Icons" project as styled SVG vector graphic component.
23+
* By default, it uses the fill color and transition based on the current active global theme mode.
24+
*
25+
* @author Arctic Ice Studio <[email protected]>
26+
* @author Sven Greb <[email protected]>
27+
* @see https://simpleicons.org
28+
* @since 0.5.0
29+
*/
30+
const GitHub = ({ className, svgRef }) => <GitHubIcon className={className} svgRef={svgRef} />;
31+
32+
GitHub.propTypes = iconPropTypes;
33+
34+
GitHub.defaultProps = iconDefaultProps;
35+
36+
export default GitHub;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
/*
2+
* Copyright (C) 2018-present Arctic Ice Studio <[email protected]>
3+
* Copyright (C) 2018-present Sven Greb <[email protected]>
4+
*
5+
* Project: Nord Docs
6+
* Repository: https://github.com/arcticicestudio/nord-docs
7+
* License: MIT
8+
*/
9+
10+
import React from "react";
11+
import styled from "styled-components";
12+
13+
import { ReactComponent as HeartSVGFill } from "assets/images/icons/eva-icons/heart-fill.svg";
14+
import { ReactComponent as HeartSVGOutline } from "assets/images/icons/eva-icons/heart-outline.svg";
15+
16+
import { iconDefaultProps, iconPropTypes, themeModeFillColorStyles } from "../shared";
17+
18+
const HeartIconFill = styled(HeartSVGFill)`
19+
${themeModeFillColorStyles};
20+
`;
21+
22+
const HeartIconOutline = styled(HeartSVGOutline)`
23+
${themeModeFillColorStyles};
24+
`;
25+
26+
/**
27+
* The "heart" icon from "Eva Icons" as styled SVG vector graphic component.
28+
* The "outline" variant can be used by passing the `outlined` boolean prop.
29+
* By default, it uses the fill color and transition based on the current active global theme mode.
30+
*
31+
* @author Arctic Ice Studio <[email protected]>
32+
* @author Sven Greb <[email protected]>
33+
* @see https://akveo.github.io/eva-icons
34+
* @since 0.5.0
35+
*/
36+
const Heart = ({ className, outlined, svgRef }) =>
37+
outlined ? (
38+
<HeartIconOutline className={className} svgRef={svgRef} />
39+
) : (
40+
<HeartIconFill className={className} svgRef={svgRef} />
41+
);
42+
43+
Heart.propTypes = iconPropTypes;
44+
45+
Heart.defaultProps = iconDefaultProps;
46+
47+
export default Heart;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
* Copyright (C) 2018-present Arctic Ice Studio <[email protected]>
3+
* Copyright (C) 2018-present Sven Greb <[email protected]>
4+
*
5+
* Project: Nord Docs
6+
* Repository: https://github.com/arcticicestudio/nord-docs
7+
* License: MIT
8+
*/
9+
10+
import React from "react";
11+
import styled from "styled-components";
12+
13+
import { ReactComponent as KeybaseSVG } from "assets/images/icons/simple-icons/keybase.svg";
14+
15+
import { iconDefaultProps, iconPropTypes, themeModeFillColorStyles } from "../shared";
16+
17+
const KeybaseIcon = styled(KeybaseSVG)`
18+
${themeModeFillColorStyles};
19+
`;
20+
21+
/**
22+
* The "Keybase" logo icon from the "Simple Icons" project as styled SVG vector graphic component.
23+
* By default, it uses the fill color and transition based on the current active global theme mode.
24+
*
25+
* @author Arctic Ice Studio <[email protected]>
26+
* @author Sven Greb <[email protected]>
27+
* @see https://simpleicons.org
28+
* @since 0.5.0
29+
*/
30+
const Keybase = ({ className, svgRef }) => <KeybaseIcon className={className} svgRef={svgRef} />;
31+
32+
Keybase.propTypes = iconPropTypes;
33+
34+
Keybase.defaultProps = iconDefaultProps;
35+
36+
export default Keybase;

src/components/atoms/core/vectors/icons/Menu.jsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@ const MenuIconOutline = styled(MenuSVGOutline)`
1919
`;
2020

2121
/**
22-
* The "menu" icon from "Eva Icons" as SVG vector graphic component.
22+
* The "menu" icon from "Eva Icons" as styled SVG vector graphic component.
2323
* By default, it uses the fill color and transition based on the current active global theme mode.
2424
*
2525
* @author Arctic Ice Studio <[email protected]>
2626
* @author Sven Greb <[email protected]>
2727
* @see https://akveo.github.io/eva-icons
2828
* @since 0.3.0
2929
*/
30-
const Menu = ({ svgRef }) => <MenuIconOutline svgRef={svgRef} />;
30+
const Menu = ({ className, svgRef }) => <MenuIconOutline className={className} svgRef={svgRef} />;
3131

3232
Menu.propTypes = iconPropTypes;
3333

src/components/atoms/core/vectors/icons/Moon.jsx

+7-3
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ const MoonIconOutline = styled(MoonSVGOutline)`
2424
`;
2525

2626
/**
27-
* The "moon" icon from "Eva Icons" as SVG vector graphic component.
27+
* The "moon" icon from "Eva Icons" as styled SVG vector graphic component.
2828
* The "outline" variant can be used by passing the `outlined` boolean prop.
2929
* By default, it uses the fill color and transition based on the current active global theme mode.
3030
*
@@ -33,8 +33,12 @@ const MoonIconOutline = styled(MoonSVGOutline)`
3333
* @see https://akveo.github.io/eva-icons
3434
* @since 0.3.0
3535
*/
36-
const Moon = ({ outlined, svgRef }) =>
37-
outlined ? <MoonIconOutline svgRef={svgRef} /> : <MoonIconFill svgRef={svgRef} />;
36+
const Moon = ({ className, outlined, svgRef }) =>
37+
outlined ? (
38+
<MoonIconOutline className={className} svgRef={svgRef} />
39+
) : (
40+
<MoonIconFill className={className} svgRef={svgRef} />
41+
);
3842

3943
Moon.propTypes = iconPropTypes;
4044

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
* Copyright (C) 2018-present Arctic Ice Studio <[email protected]>
3+
* Copyright (C) 2018-present Sven Greb <[email protected]>
4+
*
5+
* Project: Nord Docs
6+
* Repository: https://github.com/arcticicestudio/nord-docs
7+
* License: MIT
8+
*/
9+
10+
import React from "react";
11+
import styled from "styled-components";
12+
13+
import { ReactComponent as RedditSVG } from "assets/images/icons/simple-icons/reddit.svg";
14+
15+
import { iconDefaultProps, iconPropTypes, themeModeFillColorStyles } from "../shared";
16+
17+
const RedditIcon = styled(RedditSVG)`
18+
${themeModeFillColorStyles};
19+
`;
20+
21+
/**
22+
* The "Reddit" logo icon from the "Simple Icons" project as styled SVG vector graphic component.
23+
* By default, it uses the fill color and transition based on the current active global theme mode.
24+
*
25+
* @author Arctic Ice Studio <[email protected]>
26+
* @author Sven Greb <[email protected]>
27+
* @see https://simpleicons.org
28+
* @since 0.5.0
29+
*/
30+
const Reddit = ({ className, svgRef }) => <RedditIcon className={className} svgRef={svgRef} />;
31+
32+
Reddit.propTypes = iconPropTypes;
33+
34+
Reddit.defaultProps = iconDefaultProps;
35+
36+
export default Reddit;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
* Copyright (C) 2018-present Arctic Ice Studio <[email protected]>
3+
* Copyright (C) 2018-present Sven Greb <[email protected]>
4+
*
5+
* Project: Nord Docs
6+
* Repository: https://github.com/arcticicestudio/nord-docs
7+
* License: MIT
8+
*/
9+
10+
import React from "react";
11+
import styled from "styled-components";
12+
13+
import { ReactComponent as SlackSVG } from "assets/images/icons/simple-icons/slack.svg";
14+
15+
import { iconDefaultProps, iconPropTypes, themeModeFillColorStyles } from "../shared";
16+
17+
const SlackIcon = styled(SlackSVG)`
18+
${themeModeFillColorStyles};
19+
`;
20+
21+
/**
22+
* The "Slack" logo icon from the "Simple Icons" project as styled SVG vector graphic component.
23+
* By default, it uses the fill color and transition based on the current active global theme mode.
24+
*
25+
* @author Arctic Ice Studio <[email protected]>
26+
* @author Sven Greb <[email protected]>
27+
* @see https://simpleicons.org
28+
* @since 0.5.0
29+
*/
30+
const Slack = ({ className, svgRef }) => <SlackIcon className={className} svgRef={svgRef} />;
31+
32+
Slack.propTypes = iconPropTypes;
33+
34+
Slack.defaultProps = iconDefaultProps;
35+
36+
export default Slack;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
* Copyright (C) 2018-present Arctic Ice Studio <[email protected]>
3+
* Copyright (C) 2018-present Sven Greb <[email protected]>
4+
*
5+
* Project: Nord Docs
6+
* Repository: https://github.com/arcticicestudio/nord-docs
7+
* License: MIT
8+
*/
9+
10+
import React from "react";
11+
import styled from "styled-components";
12+
13+
import { ReactComponent as SpectrumSVG } from "assets/images/icons/spectrum.svg";
14+
15+
import { iconDefaultProps, iconPropTypes, themeModeFillColorStyles } from "../shared";
16+
17+
const SpectrumIcon = styled(SpectrumSVG)`
18+
${themeModeFillColorStyles};
19+
`;
20+
21+
/**
22+
* The "Spectrum" logo icon as styled SVG vector graphic component.
23+
* By default, it uses the fill color and transition based on the current active global theme mode.
24+
*
25+
* @author Arctic Ice Studio <[email protected]>
26+
* @author Sven Greb <[email protected]>
27+
* @see https://github.com/withspectrum/spectrum/blob/alpha/public/img/mark.svg
28+
* @since 0.5.0
29+
*/
30+
const Spectrum = ({ className, svgRef }) => <SpectrumIcon className={className} svgRef={svgRef} />;
31+
32+
Spectrum.propTypes = iconPropTypes;
33+
34+
Spectrum.defaultProps = iconDefaultProps;
35+
36+
export default Spectrum;

0 commit comments

Comments
 (0)