Fixes all 542 ESLint problems in the web package to achieve 0 errors and 0 warnings. Changes: - Fixed 144 issues: nullish coalescing, return types, unused variables - Fixed 118 issues: unnecessary conditions, type safety, template literals - Fixed 79 issues: non-null assertions, unsafe assignments, empty functions - Fixed 67 issues: explicit return types, promise handling, enum comparisons - Fixed 45 final warnings: missing return types, optional chains - Fixed 25 typecheck-related issues: async/await, type assertions, formatting - Fixed JSX.Element namespace errors across 90+ files All Quality Rails violations resolved. Lint and typecheck both pass with 0 problems. Files modified: 118 components, tests, hooks, and utilities Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
23 lines
847 B
TypeScript
23 lines
847 B
TypeScript
import { Badge as BaseBadge } from "@mosaic/ui";
|
|
import type { BadgeProps as BaseBadgeProps, BadgeVariant as BaseBadgeVariant } from "@mosaic/ui";
|
|
|
|
// Extend BadgeVariant to include shadcn/ui variants
|
|
export type BadgeVariant = BaseBadgeVariant | "secondary" | "outline" | "default" | "destructive";
|
|
|
|
export interface BadgeProps extends Omit<BaseBadgeProps, "variant"> {
|
|
variant?: BadgeVariant;
|
|
}
|
|
|
|
// Map extended variants to base variants
|
|
const variantMap: Record<string, BaseBadgeVariant> = {
|
|
secondary: "status-neutral",
|
|
outline: "status-info",
|
|
default: "status-neutral",
|
|
destructive: "status-error",
|
|
};
|
|
|
|
export function Badge({ variant = "default", ...props }: BadgeProps): React.JSX.Element {
|
|
const mappedVariant = (variantMap[variant] ?? variant) as BaseBadgeVariant;
|
|
return <BaseBadge variant={mappedVariant} {...props} />;
|
|
}
|