import { ChevronRight, type LucideIcon } from "lucide-react"; import type { ReactNode } from "react"; import { cn } from "@/lib/utils"; import { MAP_COMPACT_RADIUS_CLASS_NAME, MAP_ICON_CELL_RADIUS_CLASS_NAME, MAP_MAJOR_PANEL_RADIUS_CLASS_NAME, MAP_READABLE_RADIUS_CLASS_NAME, MAP_READABLE_SURFACE_CLASS_NAME, MAP_READABLE_SURFACE_STRONG_CLASS_NAME, MAP_TOOL_PANEL_SURFACE_CLASS_NAME } from "./map-control-styles"; export type MapControlPanelProps = { title: string; description?: string; icon: LucideIcon; widthClassName?: string; visible?: boolean; children: ReactNode; }; export function MapControlPanel({ title, description, icon: Icon, widthClassName = "w-[292px]", visible = true, children }: MapControlPanelProps) { return (

{title}

{description ?

{description}

: null}
{children}
); } export function MapPanelSection({ title, children }: { title: string; children: ReactNode }) { return (
{title}
{children}
); } export type MapModeButtonProps = { icon: LucideIcon; label: string; active?: boolean; disabled?: boolean; onClick?: () => void; }; export function MapModeButton({ icon: Icon, label, active = false, disabled = false, onClick }: MapModeButtonProps) { return ( ); } export function MapActionChip({ icon: Icon, label, disabled = false, onClick }: { icon: LucideIcon; label: string; disabled?: boolean; onClick?: () => void; }) { return ( ); } export type MapActionRowProps = { icon: LucideIcon; label: string; description: string; status?: string; strong?: boolean; variant?: "default" | "primary"; selected?: boolean; muted?: boolean; disabled?: boolean; tone?: "default" | "danger"; onClick?: () => void; }; export function MapActionRow({ icon: Icon, label, description, status, strong = false, variant = "default", selected = false, muted = false, disabled = false, tone = "default", onClick }: MapActionRowProps) { const isDanger = tone === "danger"; const isPrimary = variant === "primary"; return ( ); } export function MapMetricTile({ label, value }: { label: string; value: string }) { return (
{label}
{value}
); }