drizzle-cube
Version:
Drizzle ORM-first semantic layer with Cube.js compatibility. Type-safe analytics and dashboards with SQL injection protection.
27 lines (26 loc) • 980 B
TypeScript
import { default as React } from 'react';
import { CubeMeta, FunnelStepState } from '../../types';
export interface FunnelStepListProps {
/** Array of funnel steps */
steps: FunnelStepState[];
/** Index of currently active step */
activeStepIndex: number;
/** Cube metadata for cube/field selection */
schema: CubeMeta | null;
/** Add a new step */
onAddStep: () => void;
/** Remove a step by index */
onRemoveStep: (index: number) => void;
/** Update a step */
onUpdateStep: (index: number, updates: Partial<FunnelStepState>) => void;
/** Select a step */
onSelectStep: (index: number) => void;
/** Reorder steps (drag and drop) */
onReorderSteps: (fromIndex: number, toIndex: number) => void;
}
/**
* FunnelStepList displays a vertical list of funnel steps
* with drag-and-drop reordering support.
*/
declare const FunnelStepList: React.NamedExoticComponent<FunnelStepListProps>;
export default FunnelStepList;