Resolve missing commit

This commit is contained in:
adilallo
2026-02-02 10:13:01 -07:00
parent 293bbfc474
commit 9149883ae0
7 changed files with 55 additions and 31 deletions
-8
View File
@@ -26,7 +26,6 @@ const AlertContainer = memo<AlertProps>(
titleColor: "text-[var(--color-content-invert-primary)]", titleColor: "text-[var(--color-content-invert-primary)]",
descriptionColor: "text-[var(--color-content-invert-secondary)]", descriptionColor: "text-[var(--color-content-invert-secondary)]",
iconColor: "var(--color-kiwi-kiwi500)", iconColor: "var(--color-kiwi-kiwi500)",
closeButtonColor: "text-[var(--color-content-invert-primary)]",
closeButtonIconColor: "var(--color-content-invert-primary)", closeButtonIconColor: "var(--color-content-invert-primary)",
}; };
case "warning": case "warning":
@@ -39,7 +38,6 @@ const AlertContainer = memo<AlertProps>(
titleColor: "text-[var(--color-content-invert-primary)]", titleColor: "text-[var(--color-content-invert-primary)]",
descriptionColor: "text-[var(--color-content-invert-secondary)]", descriptionColor: "text-[var(--color-content-invert-secondary)]",
iconColor: "var(--color-yellow-yellow500)", iconColor: "var(--color-yellow-yellow500)",
closeButtonColor: "text-[var(--color-content-invert-primary)]",
closeButtonIconColor: "var(--color-content-invert-primary)", closeButtonIconColor: "var(--color-content-invert-primary)",
}; };
case "danger": case "danger":
@@ -53,8 +51,6 @@ const AlertContainer = memo<AlertProps>(
descriptionColor: descriptionColor:
"text-[var(--color-content-invert-negative-primary)]", "text-[var(--color-content-invert-negative-primary)]",
iconColor: "var(--color-red-red500)", iconColor: "var(--color-red-red500)",
closeButtonColor:
"text-[var(--color-content-invert-negative-primary)]",
closeButtonIconColor: "var(--color-content-invert-primary)", closeButtonIconColor: "var(--color-content-invert-primary)",
}; };
default: default:
@@ -67,7 +63,6 @@ const AlertContainer = memo<AlertProps>(
titleColor: "text-[var(--color-content-default-primary)]", titleColor: "text-[var(--color-content-default-primary)]",
descriptionColor: "text-[var(--color-content-default-primary)]", descriptionColor: "text-[var(--color-content-default-primary)]",
iconColor: "var(--color-content-default-brand-primary)", iconColor: "var(--color-content-default-brand-primary)",
closeButtonColor: "text-[var(--color-content-default-primary)]",
closeButtonIconColor: "var(--color-content-default-brand-primary)", closeButtonIconColor: "var(--color-content-default-brand-primary)",
}; };
} }
@@ -99,8 +94,6 @@ const AlertContainer = memo<AlertProps>(
? `font-inter text-[16px] leading-[24px] font-normal tracking-[0%] ${statusStyles.descriptionColor} relative shrink-0 w-full mt-[var(--spacing-scale-004)]` ? `font-inter text-[16px] leading-[24px] font-normal tracking-[0%] ${statusStyles.descriptionColor} relative shrink-0 w-full mt-[var(--spacing-scale-004)]`
: `font-inter text-[18px] leading-[23.4px] font-normal tracking-[0%] ${statusStyles.descriptionColor} relative shrink-0 w-full mt-[var(--spacing-scale-004)]`; : `font-inter text-[18px] leading-[23.4px] font-normal tracking-[0%] ${statusStyles.descriptionColor} relative shrink-0 w-full mt-[var(--spacing-scale-004)]`;
const closeButtonClasses = `flex gap-[var(--spacing-scale-006)] items-center justify-center overflow-clip p-[var(--spacing-scale-012)] rounded-[var(--radius-full)] shrink-0 hover:bg-[var(--color-surface-default-secondary)] transition-colors ${statusStyles.closeButtonColor}`;
return ( return (
<AlertView <AlertView
title={title} title={title}
@@ -113,7 +106,6 @@ const AlertContainer = memo<AlertProps>(
titleClasses={titleClasses} titleClasses={titleClasses}
descriptionClasses={descriptionClasses} descriptionClasses={descriptionClasses}
iconColor={statusStyles.iconColor} iconColor={statusStyles.iconColor}
closeButtonClasses={closeButtonClasses}
closeButtonIconColor={statusStyles.closeButtonIconColor} closeButtonIconColor={statusStyles.closeButtonIconColor}
onClose={onClose} onClose={onClose}
/> />
-1
View File
@@ -18,7 +18,6 @@ export interface AlertViewProps {
titleClasses: string; titleClasses: string;
descriptionClasses: string; descriptionClasses: string;
iconColor: string; iconColor: string;
closeButtonClasses: string;
closeButtonIconColor: string; closeButtonIconColor: string;
onClose?: () => void; onClose?: () => void;
} }
+7 -6
View File
@@ -1,4 +1,5 @@
import type { AlertViewProps } from "./Alert.types"; import type { AlertViewProps } from "./Alert.types";
import Button from "../Button";
export function AlertView({ export function AlertView({
title, title,
@@ -11,7 +12,6 @@ export function AlertView({
titleClasses, titleClasses,
descriptionClasses, descriptionClasses,
iconColor, iconColor,
closeButtonClasses,
closeButtonIconColor, closeButtonIconColor,
onClose, onClose,
}: AlertViewProps) { }: AlertViewProps) {
@@ -48,11 +48,12 @@ export function AlertView({
<p className={titleClasses}>{title}</p> <p className={titleClasses}>{title}</p>
{description && <p className={descriptionClasses}>{description}</p>} {description && <p className={descriptionClasses}>{description}</p>}
</div> </div>
<button <Button
type="button" variant="ghost"
size="xsmall"
onClick={onClose} onClick={onClose}
className={closeButtonClasses} ariaLabel="Close alert"
aria-label="Close alert" className="shrink-0"
> >
<svg <svg
width="20" width="20"
@@ -79,7 +80,7 @@ export function AlertView({
/> />
</g> </g>
</svg> </svg>
</button> </Button>
</div> </div>
); );
} }
+7 -3
View File
@@ -8,7 +8,8 @@ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
| "primary" | "primary"
| "outlined" | "outlined"
| "dark" | "dark"
| "inverse"; | "inverse"
| "ghost";
size?: "xsmall" | "small" | "medium" | "large" | "xlarge"; size?: "xsmall" | "small" | "medium" | "large" | "xlarge";
className?: string; className?: string;
disabled?: boolean; disabled?: boolean;
@@ -69,6 +70,8 @@ const Button = memo<ButtonProps>(
dark: "bg-transparent text-[var(--color-content-inverse-primary)] border border-[var(--border-color-default-primary)] hover:bg-transparent hover:text-[var(--color-content-inverse-brand-primary)] hover:border hover:border-[var(--border-color-inverse-brandprimary)] hover:scale-[1.02] focus:bg-transparent focus:text-[var(--color-content-inverse-primary)] focus:outline-none focus:border focus:border-[var(--border-color-default-primary)] focus:shadow-[0_0_10px_1px_var(--color-surface-default-brand-primary)] focus:blur-[0px] focus:scale-[1.02] active:bg-[var(--color-surface-default-brand-primary)] active:text-[var(--color-content-inverse-primary)] active:border-transparent active:shadow-none active:scale-[0.98] disabled:bg-[var(--color-surface-inverse-secondary)] disabled:text-[var(--color-content-default-primary)] disabled:border-transparent disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:scale-100 disabled:active:scale-100", dark: "bg-transparent text-[var(--color-content-inverse-primary)] border border-[var(--border-color-default-primary)] hover:bg-transparent hover:text-[var(--color-content-inverse-brand-primary)] hover:border hover:border-[var(--border-color-inverse-brandprimary)] hover:scale-[1.02] focus:bg-transparent focus:text-[var(--color-content-inverse-primary)] focus:outline-none focus:border focus:border-[var(--border-color-default-primary)] focus:shadow-[0_0_10px_1px_var(--color-surface-default-brand-primary)] focus:blur-[0px] focus:scale-[1.02] active:bg-[var(--color-surface-default-brand-primary)] active:text-[var(--color-content-inverse-primary)] active:border-transparent active:shadow-none active:scale-[0.98] disabled:bg-[var(--color-surface-inverse-secondary)] disabled:text-[var(--color-content-default-primary)] disabled:border-transparent disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:scale-100 disabled:active:scale-100",
inverse: inverse:
"bg-transparent text-[var(--color-content-inverse-primary)] hover:text-[var(--color-content-inverse-brand-primary)] hover:scale-[1.02] hover:bg-transparent hover:outline-none focus:outline-1 focus:outline-inset focus:outline-[var(--border-color-default-tertiary)] focus:shadow-[0_0_10px_1px_var(--color-surface-default-tertiary)] focus:blur-[0px] active:bg-[var(--color-surface-default-brand-primary)] active:text-[var(--color-content-inverse-primary)] active:shadow-none active:scale-[0.98] disabled:bg-[var(--color-surface-inverse-secondary)] disabled:text-[var(--color-content-default-primary)] disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:scale-100 disabled:active:scale-100", "bg-transparent text-[var(--color-content-inverse-primary)] hover:text-[var(--color-content-inverse-brand-primary)] hover:scale-[1.02] hover:bg-transparent hover:outline-none focus:outline-1 focus:outline-inset focus:outline-[var(--border-color-default-tertiary)] focus:shadow-[0_0_10px_1px_var(--color-surface-default-tertiary)] focus:blur-[0px] active:bg-[var(--color-surface-default-brand-primary)] active:text-[var(--color-content-inverse-primary)] active:shadow-none active:scale-[0.98] disabled:bg-[var(--color-surface-inverse-secondary)] disabled:text-[var(--color-content-default-primary)] disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:scale-100 disabled:active:scale-100",
ghost:
"bg-transparent text-[var(--color-content-default-brand-primary)] hover:bg-[var(--color-surface-default-secondary)] hover:text-[var(--color-content-default-brand-primary)] hover:scale-[1.02] focus:bg-transparent focus:text-[var(--color-content-default-brand-primary)] focus:outline-none focus:ring-1 focus:ring-[var(--color-content-default-brand-primary)] focus:ring-offset-1 focus:shadow-[0_0_10px_1px_var(--color-surface-default-brand-primary)] focus:scale-[1.02] active:bg-[var(--color-surface-default-secondary)] active:text-[var(--color-content-default-brand-primary)] active:shadow-none active:scale-[0.98] disabled:bg-transparent disabled:text-[var(--color-content-default-tertiary)] disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:scale-100 disabled:active:scale-100",
}; };
const hoverOutlineStyles: Record<string, string> = { const hoverOutlineStyles: Record<string, string> = {
@@ -79,12 +82,13 @@ const Button = memo<ButtonProps>(
xlarge: "hover:outline-[2.5px]", xlarge: "hover:outline-[2.5px]",
}; };
// Only apply outline styles to default and secondary variants, not primary, outlined, dark, or inverse // Only apply outline styles to default and secondary variants, not primary, outlined, dark, inverse, or ghost
const outlineStyles = const outlineStyles =
variant === "primary" || variant === "primary" ||
variant === "outlined" || variant === "outlined" ||
variant === "dark" || variant === "dark" ||
variant === "inverse" variant === "inverse" ||
variant === "ghost"
? "" ? ""
: hoverOutlineStyles[size]; : hoverOutlineStyles[size];
+1 -1
View File
@@ -20,7 +20,7 @@ export function TooltipView({
aria-live="polite" aria-live="polite"
id={`tooltip-${text.replace(/\s+/g, "-").toLowerCase()}`} id={`tooltip-${text.replace(/\s+/g, "-").toLowerCase()}`}
> >
<p className="font-inter text-[var(--sizing-350,14px)] leading-[16px] font-medium tracking-[0%] text-[var(--color-content-inverse-primary)] relative shrink-0"> <p className="font-inter text-[var(--sizing-350,14px)] leading-[16px] font-medium tracking-[0%] text-[var(--color-content-default-primary)] relative shrink-0">
{text} {text}
</p> </p>
<div <div
+12 -12
View File
@@ -32,36 +32,36 @@ const Template = (args) => {
); );
}; };
export const Default = Template.bind({}); export const ToastDefault = Template.bind({});
Default.args = { ToastDefault.args = {
title: "Short alert banner message goes here", title: "Short alert toast message goes here",
description: description:
"Nascetur ipsum a nisi tempor cras nam neque volutpat. Aliquam id est faucibus nunc quis. Eleifend suspendisse.", "Nascetur ipsum a nisi tempor cras nam neque volutpat. Aliquam id est faucibus nunc quis. Eleifend suspendisse.",
status: "default", status: "default",
type: "toast", type: "toast",
}; };
export const Positive = Template.bind({}); export const ToastPositive = Template.bind({});
Positive.args = { ToastPositive.args = {
title: "Short alert banner message goes here", title: "Short alert toast message goes here",
description: description:
"Nascetur ipsum a nisi tempor cras nam neque volutpat. Aliquam id est faucibus nunc quis. Eleifend suspendisse.", "Nascetur ipsum a nisi tempor cras nam neque volutpat. Aliquam id est faucibus nunc quis. Eleifend suspendisse.",
status: "positive", status: "positive",
type: "toast", type: "toast",
}; };
export const Warning = Template.bind({}); export const ToastWarning = Template.bind({});
Warning.args = { ToastWarning.args = {
title: "Short alert banner message goes here", title: "Short alert toast message goes here",
description: description:
"Nascetur ipsum a nisi tempor cras nam neque volutpat. Aliquam id est faucibus nunc quis. Eleifend suspendisse.", "Nascetur ipsum a nisi tempor cras nam neque volutpat. Aliquam id est faucibus nunc quis. Eleifend suspendisse.",
status: "warning", status: "warning",
type: "toast", type: "toast",
}; };
export const Danger = Template.bind({}); export const ToastDanger = Template.bind({});
Danger.args = { ToastDanger.args = {
title: "Short alert banner message goes here", title: "Short alert toast message goes here",
description: description:
"Nascetur ipsum a nisi tempor cras nam neque volutpat. Aliquam id est faucibus nunc quis. Eleifend suspendisse.", "Nascetur ipsum a nisi tempor cras nam neque volutpat. Aliquam id est faucibus nunc quis. Eleifend suspendisse.",
status: "danger", status: "danger",
+28
View File
@@ -22,6 +22,7 @@ export default {
"outlined", "outlined",
"dark", "dark",
"inverse", "inverse",
"ghost",
], ],
description: "The visual style variant of the button", description: "The visual style variant of the button",
}, },
@@ -75,6 +76,9 @@ export const Variants = {
<Button {..._args} variant="inverse"> <Button {..._args} variant="inverse">
Inverse Inverse
</Button> </Button>
<Button {..._args} variant="ghost">
Ghost
</Button>
</div> </div>
</div> </div>
), ),
@@ -267,6 +271,27 @@ export const AllVariants = {
</div> </div>
</div> </div>
<div>
<h3 className="text-white font-semibold mb-3">Ghost Variant</h3>
<div className="space-x-4">
<Button variant="ghost" size="xsmall">
XSmall
</Button>
<Button variant="ghost" size="small">
Small
</Button>
<Button variant="ghost" size="medium">
Medium
</Button>
<Button variant="ghost" size="large">
Large
</Button>
<Button variant="ghost" size="xlarge">
XLarge
</Button>
</div>
</div>
<div> <div>
<h3 className="text-white font-semibold mb-3">Disabled States</h3> <h3 className="text-white font-semibold mb-3">Disabled States</h3>
<div className="space-x-4"> <div className="space-x-4">
@@ -288,6 +313,9 @@ export const AllVariants = {
<Button variant="inverse" size="large" disabled> <Button variant="inverse" size="large" disabled>
Inverse Disabled Inverse Disabled
</Button> </Button>
<Button variant="ghost" size="large" disabled>
Ghost Disabled
</Button>
</div> </div>
</div> </div>
</div> </div>