air-command-ui-library
Version:
A React component library for Air Command System with Storybook
105 lines (104 loc) • 2.88 kB
TypeScript
import React from 'react';
import { BaseComponentProps, Theme } from '../../types';
type DropdownWidth = 'sm' | 'md' | 'lg' | 'auto';
interface GeometryItem {
id: string;
name: string;
properties: string;
isVisible?: boolean;
isActive?: boolean;
}
interface FilterPanelProps extends BaseComponentProps {
isOpen: boolean;
onClose: () => void;
filters: {
categories: string;
classes: string;
};
onFilterChange: (filters: {
categories: string;
classes: string;
}) => void;
onResetFilters: () => void;
onDeleteAll?: () => void;
onShowAll?: () => void;
theme?: Theme;
categoryWidth?: DropdownWidth;
classWidth?: DropdownWidth;
aircraft?: Array<{
id: string;
callSign: string;
type: string;
classification: string;
position?: {
latitude: number;
longitude: number;
altitude: number;
};
}>;
filteredAircraft?: Array<{
id: string;
callSign: string;
type: string;
classification: string;
position?: {
latitude: number;
longitude: number;
altitude: number;
};
}>;
onStartCircleDrawing?: () => void;
onStartRectangleDrawing?: () => void;
onStartPolygonDrawing?: () => void;
geometryItems?: GeometryItem[];
onDeleteFilter?: (filterId: string) => void;
onToggleFilterVisibility?: (filterId: string) => void;
onToggleFilterActive?: (filterId: string) => void;
filterLogic?: 'AND' | 'OR';
onFilterLogicChange?: (logic: 'AND' | 'OR') => void;
translations?: {
title?: string;
attributesFilters?: string;
geometryFilters?: string;
categories?: {
all?: string;
commercial?: string;
unknown?: string;
drone?: string;
military?: string;
};
classes?: {
all?: string;
friendly?: string;
hostile?: string;
neutral?: string;
unknown?: string;
};
resetAttributesFilter?: string;
filterLogic?: string;
addNew?: string;
deleteAllGeometryFilters?: string;
showAll?: string;
table?: {
name?: string;
properties?: string;
actions?: string;
};
emptyState?: {
title?: string;
description?: string;
};
buttons?: {
addCircularFilter?: string;
addRectangleFilter?: string;
addFreeformFilter?: string;
delete?: string;
hide?: string;
show?: string;
deactivate?: string;
activate?: string;
};
};
}
export declare const FilterPanel: React.FC<FilterPanelProps>;
export {};