@praetorian-chariot/ui
Version:
The UI component library for Chariot, built with Tailwind CSS and React.
92 lines • 2.79 kB
TypeScript
import React from "react";
import { ButtonProps } from "./Button";
export type Severity = "critical" | "high" | "medium" | "low" | "info" | "exposure";
export interface DropdownOption {
id?: string | number;
severity?: Severity;
label: string;
count?: number | string;
value?: string | number;
icon?: React.ReactNode;
onClick?: () => void;
isDivider?: boolean;
disabled?: boolean;
checked?: boolean;
isGroup?: boolean;
items?: DropdownOption[];
isExpanded?: boolean;
groupId?: string;
groupItems?: DropdownOption[];
tooltip?: string;
}
export declare const sizeClasses: {
readonly xs: "py-1 px-2 text-xs";
readonly sm: "py-1.5 px-3 text-sm";
readonly md: "py-2 px-4 text-sm";
readonly lg: "py-2.5 px-5 text-base";
readonly xl: "py-3 px-6 text-base";
};
export declare const iconSizes: {
readonly xs: "size-3";
readonly sm: "size-3.5";
readonly md: "size-4";
readonly lg: "size-4";
readonly xl: "size-5";
};
interface DropdownTriggerProps {
selected?: DropdownOption[];
onClick?: () => void;
className?: string;
size?: keyof typeof sizeClasses;
isOpen?: boolean;
placeholder?: string;
styleType?: ButtonProps["styleType"];
icon?: React.ReactNode;
multiSelect?: boolean;
}
export declare const DropdownTrigger: React.FC<DropdownTriggerProps>;
interface DropdownListProps {
border?: boolean;
options: DropdownOption[];
onSelect?: (option: DropdownOption) => void;
onToggleCheckbox?: (option: DropdownOption) => void;
className?: string;
style?: React.CSSProperties;
virtualized?: boolean;
title?: string;
searchValue?: string;
onSearchChange?: (value: string) => void;
searchPlaceholder?: string;
multiSelect?: boolean;
onApply?: () => void;
isPraetorianUser?: boolean;
fitWidth?: boolean;
}
export declare const DropdownList: React.FC<DropdownListProps>;
interface DropdownProps {
options: DropdownOption[];
selected?: DropdownOption[];
onSelect?: (option: DropdownOption) => void;
className?: string;
size?: keyof typeof sizeClasses;
triggerClassName?: string;
listClassName?: string;
placeholder?: string;
styleType?: ButtonProps["styleType"];
virtualized?: boolean;
title?: string;
searchValue?: string;
onSearchChange?: (value: string) => void;
searchPlaceholder?: string;
icon?: React.ReactNode;
border?: boolean;
multiSelect?: boolean;
onApply?: (selectedOptions: DropdownOption[]) => void;
position?: "left" | "right";
isPraetorianUser?: boolean;
disablePortal?: boolean;
fitWidth?: boolean;
}
export declare const Dropdown: React.FC<DropdownProps>;
export {};
//# sourceMappingURL=Dropdown.d.ts.map