Files
stack/apps/web/src/components/ui/card.tsx
Jason Woltje ac1f2c176f
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
fix: Resolve all ESLint errors and warnings in web package
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 <noreply@anthropic.com>
2026-01-31 00:10:03 -06:00

29 lines
1.1 KiB
TypeScript

export { Card, CardHeader, CardContent, CardFooter } from "@mosaic/ui";
export type { CardProps, CardHeaderProps, CardContentProps, CardFooterProps } from "@mosaic/ui";
// Additional Card sub-components for shadcn/ui compatibility
import * as React from "react";
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
export interface CardTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {}
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
export interface CardDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {}
export const CardTitle = React.forwardRef<HTMLHeadingElement, CardTitleProps>(
({ className = "", ...props }, ref) => (
<h3
ref={ref}
className={`text-2xl font-semibold leading-none tracking-tight ${className}`}
{...props}
/>
)
);
CardTitle.displayName = "CardTitle";
export const CardDescription = React.forwardRef<HTMLParagraphElement, CardDescriptionProps>(
({ className = "", ...props }, ref) => (
<p ref={ref} className={`text-sm text-gray-600 ${className}`} {...props} />
)
);
CardDescription.displayName = "CardDescription";