97a3c84625
Reescribe todos los componentes UI para usar Mantine v9 en lugar de shadcn/Tailwind. Elimina cn(), CVA, components.json, theme_provider custom y globals.css con Tailwind. Añade 25+ componentes nuevos (AppShell, AuthForm, DatePickerInput, Dropzone, etc.) y MantineProvider como wrapper estándar del sistema de temas. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
46 lines
959 B
TypeScript
46 lines
959 B
TypeScript
import * as React from 'react'
|
|
import { Timeline, Text } from '@mantine/core'
|
|
|
|
interface TimelineItem {
|
|
title: string
|
|
description?: string
|
|
icon?: React.ReactNode
|
|
color?: string
|
|
time?: string
|
|
}
|
|
|
|
interface FnTimelineProps {
|
|
items: TimelineItem[]
|
|
active?: number
|
|
bulletSize?: number
|
|
}
|
|
|
|
function FnTimeline({
|
|
items,
|
|
active = -1,
|
|
bulletSize = 20,
|
|
}: FnTimelineProps) {
|
|
return (
|
|
<Timeline active={active} bulletSize={bulletSize}>
|
|
{items.map((item, i) => (
|
|
<Timeline.Item
|
|
key={i}
|
|
title={item.title}
|
|
bullet={item.icon}
|
|
color={item.color}
|
|
>
|
|
{item.time && (
|
|
<Text size="xs" c="dimmed" mt={2}>{item.time}</Text>
|
|
)}
|
|
{item.description && (
|
|
<Text size="sm" mt={4}>{item.description}</Text>
|
|
)}
|
|
</Timeline.Item>
|
|
))}
|
|
</Timeline>
|
|
)
|
|
}
|
|
|
|
export { FnTimeline }
|
|
export type { FnTimelineProps, TimelineItem }
|