drizzle-cube
Version:
Drizzle ORM-first semantic layer with Cube.js compatibility. Type-safe analytics and dashboards with SQL injection protection.
28 lines (27 loc) • 1.18 kB
TypeScript
import { default as React } from 'react';
import { AxisDropZoneConfig } from '../charts/chartConfigs';
interface FieldStyling {
IconComponent: React.ComponentType<{
className?: string;
}>;
baseClasses: string;
hoverClasses: string;
}
interface AxisDropZoneProps {
config: AxisDropZoneConfig;
fields: string[];
onDrop: (e: React.DragEvent<HTMLDivElement>, toKey: string) => void;
onRemove: (field: string, fromKey: string) => void;
onDragStart: (e: React.DragEvent<HTMLDivElement>, field: string, fromKey: string, fromIndex?: number) => void;
onDragEnd?: (e: React.DragEvent<HTMLDivElement>) => void;
onDragOver: (e: React.DragEvent<HTMLDivElement>) => void;
getFieldStyling: (field: string) => FieldStyling;
onReorder?: (fromIndex: number, toIndex: number, axisKey: string) => void;
draggedItem?: {
field: string;
fromAxis: string;
fromIndex?: number;
} | null;
}
export default function AxisDropZone({ config, fields, onDrop, onRemove, onDragStart, onDragEnd, onDragOver, getFieldStyling, onReorder, draggedItem }: AxisDropZoneProps): import("react/jsx-runtime").JSX.Element;
export {};