summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOliver <oliver@mohlin.dev>2025-04-03 09:51:36 +0200
committerMarkus Pettersson <markus.pettersson@mullvad.net>2025-04-04 13:09:32 +0200
commite112b09b0dd74eae7ab40b1b6a7b773ed1bb3912 (patch)
treeb739b5f9de749baef57183fb90f31fb9e6a58d9a
parente477bb1a420678c3359e1f64fd1dde2edba89327 (diff)
downloadmullvadvpn-e112b09b0dd74eae7ab40b1b6a7b773ed1bb3912.tar.xz
mullvadvpn-e112b09b0dd74eae7ab40b1b6a7b773ed1bb3912.zip
Add LinkIcon
-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';