diff options
| author | Oliver <oliver@mohlin.dev> | 2025-04-03 09:51:36 +0200 |
|---|---|---|
| committer | Markus Pettersson <markus.pettersson@mullvad.net> | 2025-04-04 13:09:32 +0200 |
| commit | e112b09b0dd74eae7ab40b1b6a7b773ed1bb3912 (patch) | |
| tree | b739b5f9de749baef57183fb90f31fb9e6a58d9a | |
| parent | e477bb1a420678c3359e1f64fd1dde2edba89327 (diff) | |
| download | mullvadvpn-e112b09b0dd74eae7ab40b1b6a7b773ed1bb3912.tar.xz mullvadvpn-e112b09b0dd74eae7ab40b1b6a7b773ed1bb3912.zip | |
Add LinkIcon
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'; |
