diff --git a/ui/components/app/snaps/snap-ui-footer-button/index.scss b/ui/components/app/snaps/snap-ui-footer-button/index.scss
index 7207ac496c76..498c243602ff 100644
--- a/ui/components/app/snaps/snap-ui-footer-button/index.scss
+++ b/ui/components/app/snaps/snap-ui-footer-button/index.scss
@@ -2,8 +2,6 @@
&:not(.hide-snap-branding) {
&.mm-button-primary {
box-shadow: none;
- color: var(--color-text-alternative);
- background-color: var(--color-icon-default);
&:hover:not(&--disabled) {
opacity: 80%;
@@ -13,11 +11,15 @@
&:active:not(&--disabled) {
opacity: 60%;
}
+
+ &:not(.mm-button-primary--type-danger) {
+ color: var(--color-text-alternative);
+ background-color: var(--color-icon-default);
+ }
}
&.mm-button-secondary {
border-color: var(--color-icon-default);
- color: var(--color-icon-default);
& span {
color: var(--color-icon-default);
@@ -42,6 +44,10 @@
color: var(--color-icon-default);
}
}
+
+ &:not(.mm-button-primary--type-danger) {
+ color: var(--color-icon-default);
+ }
}
}
diff --git a/ui/components/app/snaps/snap-ui-footer-button/snap-ui-footer-button.tsx b/ui/components/app/snaps/snap-ui-footer-button/snap-ui-footer-button.tsx
index 6b4dc63e9a3d..43bb3bbcecb7 100644
--- a/ui/components/app/snaps/snap-ui-footer-button/snap-ui-footer-button.tsx
+++ b/ui/components/app/snaps/snap-ui-footer-button/snap-ui-footer-button.tsx
@@ -23,9 +23,11 @@ import { useSnapInterfaceContext } from '../../../../contexts/snaps';
import { SnapIcon } from '../snap-icon';
import { getHideSnapBranding } from '../../../../selectors';
+type SnapButtonVariant = ButtonVariant & 'destructive';
+
type SnapUIFooterButtonProps = {
name?: string;
- variant?: ButtonVariant;
+ variant?: SnapButtonVariant;
isSnapAction?: boolean;
onCancel?: () => void;
};
@@ -40,7 +42,7 @@ export const SnapUIFooterButton: FunctionComponent<
loading = false,
isSnapAction = false,
type,
- variant = ButtonVariant.Primary,
+ variant = ButtonVariant.Primary as SnapButtonVariant,
form,
...props
}) => {
@@ -88,6 +90,7 @@ export const SnapUIFooterButton: FunctionComponent<
flexDirection: FlexDirection.Row,
}}
data-theme={null}
+ danger={variant === 'destructive'}
>
{isSnapAction && !hideSnapBranding && !loading && (
diff --git a/ui/components/app/snaps/snap-ui-renderer/components/footer.ts b/ui/components/app/snaps/snap-ui-renderer/components/footer.ts
index d08284bcf572..ce41e0ff3566 100644
--- a/ui/components/app/snaps/snap-ui-renderer/components/footer.ts
+++ b/ui/components/app/snaps/snap-ui-renderer/components/footer.ts
@@ -77,9 +77,10 @@ export const footer: UIComponentFactory = ({
props: {
...buttonMapped.props,
variant:
- providedChildren.length === 2 && index === 0
+ buttonMapped.props?.variant ??
+ (providedChildren.length === 2 && index === 0
? ButtonVariant.Secondary
- : ButtonVariant.Primary,
+ : ButtonVariant.Primary),
isSnapAction: true,
},
children: buttonMapped.children,