mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-20 14:12:59 +03:00
39 lines
996 B
TypeScript
39 lines
996 B
TypeScript
"use client";
|
|
|
|
import React from "react";
|
|
import { cn } from "@/shared/utils/cn";
|
|
import { DOCS_TOKENS } from "./tokens";
|
|
|
|
type CalloutType = "info" | "warning" | "danger";
|
|
|
|
interface CalloutProps {
|
|
type: CalloutType;
|
|
title: string;
|
|
children: React.ReactNode;
|
|
className?: string;
|
|
}
|
|
|
|
export default function Callout({ type, title, children, className }: CalloutProps) {
|
|
const theme = DOCS_TOKENS.colors[type];
|
|
|
|
return (
|
|
<div
|
|
role="note"
|
|
aria-labelledby="callout-title"
|
|
className={cn(
|
|
"relative overflow-hidden rounded-lg border-l-4 p-4 my-4 transition-colors",
|
|
"bg-bg-subtle border-border",
|
|
className
|
|
)}
|
|
style={{ borderLeftColor: theme.border }}
|
|
>
|
|
<div className="flex items-start gap-3">
|
|
<div id="callout-title" className="font-semibold text-sm text-text-main">
|
|
{title}
|
|
</div>
|
|
<div className="text-sm leading-relaxed text-text-muted">{children}</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|