/* Copyright 2026 Marimo. All rights reserved. */ import { LoaderCircle, XIcon } from "lucide-react"; import type { CSSProperties } from "react"; import { TreeChevron } from "@/components/editor/file-tree/tree-actions"; import type { DataType } from "@/core/kernel/messages"; import { cn } from "@/utils/cn"; import { DATA_TYPE_ICON, getDataTypeColor } from "../datasets/icons"; export const RotatingChevron: React.FC<{ isExpanded: boolean }> = ({ isExpanded, }) => ; export const DatasourceLabel: React.FC<{ children: React.ReactNode; className?: string; }> = ({ children, className }) => { return (
{children}
); }; export const EmptyState: React.FC<{ content: string; className?: string }> = ({ content, className, }) => { return (
{content}
); }; export const ErrorState: React.FC<{ error: Error; style?: CSSProperties; className?: string; showIcon?: boolean; }> = ({ error, style, className, showIcon = true }) => { return (
{showIcon && } {error.message}
); }; export const LoadingState: React.FC<{ message: string; className?: string; }> = ({ message, className }) => { return (
{message}
); }; export const ColumnPreviewContainer: React.FC<{ children: React.ReactNode; className?: string; }> = ({ children, className }) => { return (
{children}
); }; export const ColumnName = ({ columnName, dataType, }: { columnName: React.ReactNode; dataType: DataType; }) => { const Icon = DATA_TYPE_ICON[dataType]; const color = getDataTypeColor(dataType); return (
{columnName}
); };