UNPKG

@resulbeser1/air-command-ui-components

Version:
176 lines (155 loc) 4.87 kB
import * as React$1 from 'react'; import React__default, { ReactNode } from 'react'; type ButtonVariant = "default" | "outline" | "subtle" | "showHistory" | "danger" | "dangerIcon" | "icon" | "iconOutline" | "dangerOutline"; type ButtonSize = "default" | "sm"; interface ButtonProps { children?: React.ReactNode; onClick?: () => void; variant?: ButtonVariant; size?: ButtonSize; style?: React.CSSProperties; icon?: React.ReactNode; forceWhite?: boolean; theme?: "light" | "dark"; } declare const Button: React__default.FC<ButtonProps>; interface DialogProps { isOpen: boolean; onClose: () => void; title?: string; children: React.ReactNode; theme?: "light" | "dark"; showCloseButton?: boolean; blurBackground?: boolean; maxWidth?: string; } declare const Dialog: React$1.FC<DialogProps>; interface DeleteConfirmationDialogProps { isOpen: boolean; onClose: () => void; onConfirm: () => void; aircraftCallsign: string; theme?: "light" | "dark"; labels?: { deleteTitle?: string; confirmQuestion?: string; warningText?: string; cancel?: string; delete?: string; }; } declare const DeleteConfirmationDialog: React__default.FC<DeleteConfirmationDialogProps>; interface Aircraft { id: string; callsign?: string; callSign?: string; type?: string; classification?: string; [key: string]: any; } interface UpdateAircraftDialogProps { isOpen: boolean; onClose: () => void; onUpdate: (updates: { type?: string; classification?: string; }) => Promise<void>; aircraft: Aircraft | null; theme?: "light" | "dark"; labels?: { updateTitle?: string; cancel?: string; update?: string; updating?: string; close?: string; type?: string; classification?: string; }; } type AircraftType = "COMMERTIAL" | "MILITARY" | "DRONE" | "UNKNOWN"; type ClassificationType = "FRIENDLY" | "HOSTILE" | "NEUTRAL" | "UNKNOWN"; declare const UpdateAircraftDialog: React__default.FC<UpdateAircraftDialogProps>; interface UserInfo { name: string; role: "Commander" | "Observer"; } interface NavbarProps { logo?: ReactNode; user: UserInfo; onLogout: () => void; onThemeToggle: () => void; onLanguageToggle: () => void; } declare const Navbar: React__default.FC<NavbarProps>; interface TableRowData { id: string; callsign: string; type: string; classification: string; latitude: string | number; longitude: string | number; } interface TableColumn { key: string; label: string; sortable?: boolean; } interface SortConfig { column: string; direction: "asc" | "desc"; priority: number; } interface TableProps { columns: TableColumn[]; data: TableRowData[]; selectedRowId?: string; selectedRowIds?: string[]; onRowClick?: (id: string, event?: React__default.MouseEvent) => void; theme?: "light" | "dark"; sortConfigs?: SortConfig[]; onSortChange?: (column: string, isCtrlPressed: boolean) => void; } declare const Table: React__default.FC<TableProps>; interface Option { label: string; value: string; } interface SelectProps { label?: string; options: Option[]; value?: string | string[]; onChange: (value: string | string[]) => void; multiSelect?: boolean; disabled?: boolean; required?: boolean; error?: string; theme?: "light" | "dark"; placeholder?: string; style?: React.CSSProperties; dropdownBackgroundColor?: string; inputBackgroundColor?: string; } declare const Select: React__default.FC<SelectProps>; interface TextInputProps { label?: string; placeholder?: string; value: string; onChange: (e: React.ChangeEvent<HTMLInputElement>) => void; type?: "text" | "password" | "email"; disabled?: boolean; required?: boolean; error?: string; theme?: "light" | "dark"; } declare const TextInput: React__default.FC<TextInputProps>; type IconName = "arrow_down" | "arrow_up" | "circle" | "close" | "commertial" | "dark" | "drone" | "edit" | "error" | "fighter_jet" | "invisible" | "light" | "polygon" | "rectangle" | "success" | "trash" | "trash_1" | "unknown_aircraft" | "visible"; interface IconProps { name: IconName; alt?: string; className?: string; theme?: "light" | "dark"; } declare const Icon: React__default.FC<IconProps>; declare const placeholder = "init"; export { Button, DeleteConfirmationDialog, Dialog, Icon, Navbar, Select, Table, TextInput, UpdateAircraftDialog, placeholder }; export type { AircraftType, ButtonProps, ButtonSize, ButtonVariant, ClassificationType, DeleteConfirmationDialogProps, IconName, IconProps, NavbarProps, SortConfig, TableRowData, UpdateAircraftDialogProps, UserInfo };