summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTobias Järvelöv <tobias.jarvelov@mullvad.net>2025-10-08 10:02:27 +0200
committerTobias Järvelöv <tobias.jarvelov@mullvad.net>2025-10-08 10:02:27 +0200
commit2e30453af7d3ffe37d9064ae77e89a950fa51ffe (patch)
treec13da25a4dcb235a5efa8d05c87ecf6b2c4ae48e
parentb300d4afe0a6682123098a28cfcf567fed7d24cd (diff)
parentdd723009478e077dcb3a45d32d261c7d82d3f5ce (diff)
downloadmullvadvpn-2e30453af7d3ffe37d9064ae77e89a950fa51ffe.tar.xz
mullvadvpn-2e30453af7d3ffe37d9064ae77e89a950fa51ffe.zip
Merge branch 'button-transient-props'
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/lib/components/button/Button.tsx15
1 files changed, 8 insertions, 7 deletions
diff --git a/desktop/packages/mullvad-vpn/src/renderer/lib/components/button/Button.tsx b/desktop/packages/mullvad-vpn/src/renderer/lib/components/button/Button.tsx
index 0b5e05afa4..52a7192ee7 100644
--- a/desktop/packages/mullvad-vpn/src/renderer/lib/components/button/Button.tsx
+++ b/desktop/packages/mullvad-vpn/src/renderer/lib/components/button/Button.tsx
@@ -2,6 +2,7 @@ import React from 'react';
import styled, { css } from 'styled-components';
import { colors, Radius, spacings } from '../../foundations';
+import { TransientProps } from '../../types';
import { ButtonProvider } from './ButtonContext';
import { ButtonIcon, ButtonText, StyledButtonIcon, StyledButtonText } from './components';
@@ -42,11 +43,11 @@ const styles = {
},
};
-export const StyledButton = styled.button<ButtonProps>`
- ${({ width: sizeProp = 'fill', variant: variantProp = 'primary' }) => {
- const variant = styles.variants[variantProp];
- const size = styles.flex[sizeProp];
- const width = styles.widths[sizeProp];
+export const StyledButton = styled.button<TransientProps<Pick<ButtonProps, 'variant' | 'width'>>>`
+ ${({ $width = 'fill', $variant = 'primary' }) => {
+ const variant = styles.variants[$variant];
+ const size = styles.flex[$width];
+ const width = styles.widths[$width];
return css`
--background: ${variant.background};
@@ -123,10 +124,10 @@ export const StyledButton = styled.button<ButtonProps>`
}}
`;
-function Button({ children, disabled = false, ...props }: ButtonProps) {
+function Button({ children, variant, width, disabled = false, ...props }: ButtonProps) {
return (
<ButtonProvider disabled={disabled}>
- <StyledButton disabled={disabled} {...props}>
+ <StyledButton disabled={disabled} $variant={variant} $width={width} {...props}>
{children}
</StyledButton>
</ButtonProvider>