@papernote/ui
Version:
A modern React component library with a paper notebook aesthetic - minimal, professional, and expressive
36 lines • 1.08 kB
TypeScript
import React from 'react';
export interface MultiSelectOption {
value: string;
label: string;
disabled?: boolean;
icon?: React.ReactNode;
}
export interface MultiSelectProps {
options: MultiSelectOption[];
value?: string[];
onChange?: (value: string[]) => void;
placeholder?: string;
searchable?: boolean;
disabled?: boolean;
label?: string;
helperText?: string;
error?: string;
maxHeight?: number;
/** Maximum number of selections allowed */
maxSelections?: number;
/** Show loading spinner (for async options loading) */
loading?: boolean;
'aria-label'?: string;
}
/** Handle for imperative methods */
export interface MultiSelectHandle {
/** Focus the select trigger button */
focus: () => void;
/** Open the dropdown */
open: () => void;
/** Close the dropdown */
close: () => void;
}
declare const MultiSelect: React.ForwardRefExoticComponent<MultiSelectProps & React.RefAttributes<MultiSelectHandle>>;
export default MultiSelect;
//# sourceMappingURL=MultiSelect.d.ts.map