summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/lib/components/link/Link.tsx9
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/lib/components/link/components/LinkIcon.tsx14
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/lib/components/link/components/index.ts1
3 files changed, 23 insertions, 1 deletions
diff --git a/desktop/packages/mullvad-vpn/src/renderer/lib/components/link/Link.tsx b/desktop/packages/mullvad-vpn/src/renderer/lib/components/link/Link.tsx
index a3166b40b8..180d23975c 100644
--- a/desktop/packages/mullvad-vpn/src/renderer/lib/components/link/Link.tsx
+++ b/desktop/packages/mullvad-vpn/src/renderer/lib/components/link/Link.tsx
@@ -3,6 +3,7 @@ import styled from 'styled-components';
import { Colors, Radius } from '../../foundations';
import { Text, TextProps } from '../typography';
+import { LinkIcon } from './components';
export type LinkProps<T extends React.ElementType = 'a'> = TextProps<T> & {
onClick?: (e: React.MouseEvent<HTMLAnchorElement>) => void;
@@ -38,7 +39,7 @@ const getHoverColor = (color: Colors | undefined) => {
}
};
-export const Link = <T extends React.ElementType = 'a'>({
+const Link = <T extends React.ElementType = 'a'>({
as: forwardedAs,
color,
...props
@@ -55,3 +56,9 @@ export const Link = <T extends React.ElementType = 'a'>({
/>
);
};
+
+const LinkNamespace = Object.assign(Link, {
+ Icon: LinkIcon,
+});
+
+export { LinkNamespace as Link };
diff --git a/desktop/packages/mullvad-vpn/src/renderer/lib/components/link/components/LinkIcon.tsx b/desktop/packages/mullvad-vpn/src/renderer/lib/components/link/components/LinkIcon.tsx
new file mode 100644
index 0000000000..7af4b28045
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/src/renderer/lib/components/link/components/LinkIcon.tsx
@@ -0,0 +1,14 @@
+import styled from 'styled-components';
+
+import { Icon, IconProps } from '../../icon';
+
+type LinkIconProps = IconProps;
+
+export const StyledIcon = styled(Icon)`
+ vertical-align: middle;
+ display: inline-flex;
+`;
+
+export function LinkIcon({ ...props }: LinkIconProps) {
+ return <StyledIcon size="small" {...props} />;
+}
diff --git a/desktop/packages/mullvad-vpn/src/renderer/lib/components/link/components/index.ts b/desktop/packages/mullvad-vpn/src/renderer/lib/components/link/components/index.ts
new file mode 100644
index 0000000000..1718f57d55
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/src/renderer/lib/components/link/components/index.ts
@@ -0,0 +1 @@
+export * from './LinkIcon';