From 63bc28c9b9ae82588a33568ee9611a557530adda Mon Sep 17 00:00:00 2001 From: Jamey Huffnagle Date: Thu, 3 Oct 2024 16:56:21 -0400 Subject: [PATCH] feedback and cleanup --- app/src/molecules/OddModal/OddModalHeader.tsx | 3 +- .../ErrorRecoveryFlows/RecoverySplash.tsx | 4 +-- components/src/atoms/buttons/LargeButton.tsx | 33 ++++++++++--------- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/app/src/molecules/OddModal/OddModalHeader.tsx b/app/src/molecules/OddModal/OddModalHeader.tsx index 145af27afbe..5f2a403a8af 100644 --- a/app/src/molecules/OddModal/OddModalHeader.tsx +++ b/app/src/molecules/OddModal/OddModalHeader.tsx @@ -34,7 +34,7 @@ export function OddModalHeader(props: OddModalHeaderBaseProps): JSX.Element { borderRadius={`${BORDERS.borderRadius12} ${BORDERS.borderRadius12} 0px 0px`} {...styleProps} > - + {iconName != null && iconColor != null ? ( ) : null} diff --git a/components/src/atoms/buttons/LargeButton.tsx b/components/src/atoms/buttons/LargeButton.tsx index f9f9983504a..28f3f555373 100644 --- a/components/src/atoms/buttons/LargeButton.tsx +++ b/components/src/atoms/buttons/LargeButton.tsx @@ -48,6 +48,8 @@ export function LargeButton(props: LargeButtonProps): JSX.Element { ...buttonProps } = props + const computedDisabled = disabled || ariaDisabled + const LARGE_BUTTON_PROPS_BY_TYPE: Record< LargeButtonTypes, { @@ -157,9 +159,9 @@ export function LargeButton(props: LargeButtonProps): JSX.Element { // In order to keep button sizes consistent and expected, all large button types need an outline. // The outline color is always the same as the background color unless the background color is uniquely different // from the outline. - const computedOutlineStyle = (): string => { - const outlineColor = (): string => { - if (disabled) { + const computedBorderStyle = (): string => { + const borderColor = (): string => { + if (computedDisabled) { return LARGE_BUTTON_PROPS_BY_TYPE[buttonType].disabledColor } else if (buttonType === 'alertStroke') { return LARGE_BUTTON_PROPS_BY_TYPE[buttonType].defaultColor @@ -171,7 +173,7 @@ export function LargeButton(props: LargeButtonProps): JSX.Element { const calculatedBorderRadius = buttonType === 'stroke' ? BORDERS.borderRadius2 : BORDERS.borderRadius4 - return `${calculatedBorderRadius} solid ${outlineColor()}` + return `${calculatedBorderRadius} solid ${borderColor()}` } const LARGE_BUTTON_STYLE = css` @@ -184,7 +186,7 @@ export function LargeButton(props: LargeButtonProps): JSX.Element { text-align: ${TYPOGRAPHY.textAlignLeft}; border-radius: ${BORDERS.borderRadiusFull}; align-items: ${ALIGN_CENTER}; - border: ${computedOutlineStyle()}; + border: ${computedBorderStyle()}; &:active { background-color: ${ @@ -203,7 +205,9 @@ export function LargeButton(props: LargeButtonProps): JSX.Element { }; border: ${ - buttonType === 'stroke' ? `2px solid ${COLORS.blue55}` : 'none' + buttonType === 'stroke' + ? `2px solid ${COLORS.blue55}` + : `${computedBorderStyle()}` }; } @@ -237,14 +241,14 @@ export function LargeButton(props: LargeButtonProps): JSX.Element { &:active { background-color: ${ - disabled + computedDisabled ? LARGE_BUTTON_PROPS_BY_TYPE[buttonType].disabledBackgroundColor : LARGE_BUTTON_PROPS_BY_TYPE[buttonType].activeBackgroundColor }; - ${!disabled && activeColorFor(buttonType)}; + ${!computedDisabled && activeColorFor(buttonType)}; outline: ${BORDERS.borderRadius4} solid ${ - disabled + computedDisabled ? LARGE_BUTTON_PROPS_BY_TYPE[buttonType].disabledBackgroundColor : LARGE_BUTTON_PROPS_BY_TYPE[buttonType].activeBackgroundColor }; @@ -255,15 +259,15 @@ export function LargeButton(props: LargeButtonProps): JSX.Element { &:focus-visible { background-color: ${ - disabled + computedDisabled ? LARGE_BUTTON_PROPS_BY_TYPE[buttonType].disabledBackgroundColor : LARGE_BUTTON_PROPS_BY_TYPE[buttonType].focusVisibleBackgroundColor }; - ${!disabled && activeColorFor(buttonType)}; + ${!computedDisabled && activeColorFor(buttonType)}; padding: calc(${SPACING.spacing24} + ${SPACING.spacing2}); - border: ${SPACING.spacing2} solid ${COLORS.transparent}; + border: ${computedBorderStyle()}; outline: ${ - disabled + computedDisabled ? 'none' : `3px solid ${LARGE_BUTTON_PROPS_BY_TYPE[buttonType].focusVisibleOutlineColor}` @@ -280,7 +284,7 @@ export function LargeButton(props: LargeButtonProps): JSX.Element { } ` - const appliedIconColor = disabled + const appliedIconColor = computedDisabled ? LARGE_BUTTON_PROPS_BY_TYPE[buttonType].disabledIconColor : LARGE_BUTTON_PROPS_BY_TYPE[buttonType].iconColor @@ -309,7 +313,6 @@ export function LargeButton(props: LargeButtonProps): JSX.Element { aria-label={`${iconName} icon`} color={appliedIconColor} css={ICON_STYLE} - id="btn-icon" /> ) : null}