UNPKG

@praetorian-chariot/ui

Version:

The UI component library for Chariot, built with Tailwind CSS and React.

51 lines 1.51 kB
import React from 'react'; import { DropdownOption } from './Dropdown'; export type Operator = '=' | 'CONTAINS' | '<' | '>' | '<=' | '>=' | 'LIKE' | 'IN' | 'NOT IN' | 'IS NULL' | 'IS NOT NULL' | 'STARTS WITH'; export interface Filter { field: string; operator: Operator | 'AND' | 'OR'; value: string | number | boolean | Array<string | number> | Filter[]; logical?: 'AND' | 'OR'; not?: boolean; } export interface Relationship { label: string[]; target?: { labels: string[]; filters?: Filter[]; relationships?: Relationship[]; }; source?: { labels: string[]; filters?: Filter[]; }; length?: number; optional?: boolean; } export interface NodeDetails { labels: string[]; filters?: Filter[]; relationships?: Relationship[]; sorted?: boolean; unique_paths?: boolean; } export interface GraphQuery { node: NodeDetails; page?: number; limit?: number; orderBy?: string; descending?: boolean; } export interface QueryBuilderProps { query: GraphQuery; onChange: (query: GraphQuery) => void; className?: string; labelOptions?: DropdownOption[]; fieldOptions?: Record<string, DropdownOption[]>; operatorOptions?: DropdownOption[]; valueOptions?: Record<string, DropdownOption[]>; relationshipOptions?: DropdownOption[]; } export declare const QueryBuilder: React.FC<QueryBuilderProps>; export default QueryBuilder; //# sourceMappingURL=QueryBuilder.d.ts.map