diff options
| author | Tobias Järvelöv <tobias.jarvelov@mullvad.net> | 2025-10-08 10:02:27 +0200 |
|---|---|---|
| committer | Tobias Järvelöv <tobias.jarvelov@mullvad.net> | 2025-10-08 10:02:27 +0200 |
| commit | 2e30453af7d3ffe37d9064ae77e89a950fa51ffe (patch) | |
| tree | c13da25a4dcb235a5efa8d05c87ecf6b2c4ae48e | |
| parent | b300d4afe0a6682123098a28cfcf567fed7d24cd (diff) | |
| parent | dd723009478e077dcb3a45d32d261c7d82d3f5ce (diff) | |
| download | mullvadvpn-2e30453af7d3ffe37d9064ae77e89a950fa51ffe.tar.xz mullvadvpn-2e30453af7d3ffe37d9064ae77e89a950fa51ffe.zip | |
Merge branch 'button-transient-props'
| -rw-r--r-- | desktop/packages/mullvad-vpn/src/renderer/lib/components/button/Button.tsx | 15 |
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> |
